US 12,468,458 B1
Flushing directly ingested user data
Alexander Shknevsky, Fair Lawn, NJ (US); Vamsi K. Vankamamidi, Hopkinton, MA (US); Oran Baruch, Tel Aviv (IL); Maor Rahamim, Ramla (IL); and Kurt W. Everson, Richmond, TX (US)
Assigned to Dell Products L.P., Round Rock, TX (US)
Filed by Dell Products L.P., Round Rock, TX (US)
Filed on Aug. 5, 2024, as Appl. No. 18/794,078.
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0631 (2013.01) [G06F 3/0619 (2013.01); G06F 3/0688 (2013.01)] 19 Claims
OG exemplary drawing
 
1. A method comprising:
receiving a first flush request indicating a first block of user data to be flushed;
in response to detecting that the first block of user data was, when it was received, directly stored into a physical block of non-volatile data storage, detecting whether the first flush request is an initial flush request indicating user data directly stored into the physical block of non-volatile data storage;
in response to detecting that the first flush request is the initial flush request indicating user data directly stored into the physical block of non-volatile data storage, allocating a virtual layer block for the physical block of non-volatile data storage;
storing, in the virtual layer block, a first set of virtual block pointers, wherein the first set of virtual block pointers indicate locations of respective pages of the first block of user data within the physical block of the non-volatile data storage; and
storing, in at least one leaf layer node of a first logical address mapping tree, pointers to the virtual block pointers in the first set of virtual block pointers stored in the virtual layer block.