CPC G06F 3/0635 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] | 10 Claims |
1. A data storage device, comprising:
a memory device; and
a controller coupled to the memory device, the controller configured to:
store data mappings in an uLayer, wherein the uLayer includes a plurality of mSet updates, and wherein the uLayer is organized into a sorted section and an unsorted section;
sort one or more of the plurality of mSet updates of the uLayer, wherein the uLayer is a linked list of data mapping updates, and wherein an mSet includes a plurality of logical block address (LBA) to physical block address (PBA) mappings; and
provide, to a ho st device, data stored in the memory device corresponding to a most recent update of a data mapping by ignoring non-recent updates for a read command associated with an mSet group of the sorted section, wherein the controller is further configured to:
receive a first update for a first mSet;
store the first update for the first mSet in the unsorted section;
receive a second update for a second mSet;
store the second update for the second mSet in the unsorted section, wherein the second update is stored adjacent to the first update;
receive a third update for the first mSet; and
store the third update for the first mSet in the unsorted section, wherein the third update is adjacent to the second update, wherein the controller is further configured to:
determine that the first mSet is associated with a first mSet group of the sorted section; and
determine that the second mSet is associated with a second mSet group of the sorted section, wherein the controller is further configured to:
copy the first update and the third update from the unsorted section to the first mSet group while maintaining chronological order for the first mSet group; and
copy the second update from the unsorted section to the second mSet group while maintaining chronological order for the second mSet group.
|