US 11,989,431 B2
Write updates sorting during BKOPS idle
Eran Moshe, Kfar Saba, IL (US); Nava Eisenstein, Petach tikwa (IL); and Tomer Baron, San Jose, CA (US)
Assigned to Western Digital Technologies, Inc., San Jose, CA (US)
Filed by Western Digital Technologies, Inc., San Jose, CA (US)
Filed on Mar. 7, 2022, as Appl. No. 17/688,384.
Prior Publication US 2023/0280919 A1, Sep. 7, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0635 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] 10 Claims
OG exemplary drawing
 
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.