Using a loop to build and update widgets

I am not sure I followed your code correctly, but you could try to set all data into one array:

name="unique_widget_name[<?php echo $this->get_field_name($i); ?>]['name']"

Very similar question, but not identical: How to store widget fields data as an array?