Managing power loss recovery using an oldest section write policy for an address mapping table in a memory sub-system

A logical-to-physical (L2P) address mapping table is maintained, wherein a plurality of sections of the L2P address mapping table is cached in a volatile memory device. A journal entry count is maintained reflecting a number of L2P journal entries associated with an L2P journal. It is determined that the journal entry count satisfies a first threshold criterion. In response to determining that the journal entry count satisfies the first threshold criterion, a writing of the L2P journal to a non-volatile memory device is triggered. A written journal count reflecting a number of L2P journals written to the non-volatile memory device is maintained. In response to determining that the written journal count satisfies a second threshold criterion, a first section of the plurality of sections of the L2P address mapping table is identified. The first section of the L2P address mapping table is written to the non-volatile memory device.

TECHNICAL FIELD

Embodiments of the disclosure relate generally to memory sub-systems, and more specifically, relate to managing power loss recovery using an oldest section write policy for an address mapping table in a memory sub-system.

BACKGROUND

DETAILED DESCRIPTION

Data operations can be performed by the memory sub-system. The data operations can be host-initiated operations. For example, the host system can initiate a data operation (e.g., write, read, erase, etc.) on a memory sub-system. The host system can send access requests (e.g., write commands, read commands) to the memory sub-system, such as to store data on a memory device at the memory sub-system and to read data from the memory device on the memory sub-system. The data to be read or written, as specified by a host request, is hereinafter referred to as “host data.” A host request can include a logical address (e.g., a logical block address (LBA) and namespace) for the host data, which is the location that the host system associates with the host data. The logical address information (e.g., LBA, namespace) can be part of metadata for the host data. Metadata can also include error handling data (e.g., ECC codeword, parity code), data version (e.g., used to distinguish age of data written), valid bitmap (specifying which LBAs contain valid data), etc.

In order to isolate from the host system various aspects of physical implementations of memory devices employed by memory sub-systems, the memory sub-system controller can maintain a data structure that maps each LBA to a corresponding physical address (PA). For example, for flash memory, the physical address can include a channel identifier, die identifier, page identifier, plane identifier and/or frame identifier. The mapping data structure is referred to herein as a logical-to-physical (L2P) table. The L2P table can be segmented into multiple sections. Each section can have a number of regions, and each region can include a number of mapping entries. The L2P table is maintained by the firmware of the memory sub-system controller and is stored on one or more non-volatile memory devices of the memory sub-system. In order to improve the overall efficiency of the data transfer between a host system and a memory sub-system, the L2P table can be at least partially cached by one or more volatile memory devices of the memory sub-system, such that the cached portions of the L2P table can be accessed with lower latency.

The memory sub-system controller can save (e.g., write) updated (i.e., dirty) section(s) of the cached L2P table to a non-volatile memory device in the memory sub-system. Saving the dirty sections of the L2P table to the non-volatile memory device provides persistence to changes that would be lost in the event of a power loss. Further, saving the dirty sections of the L2P table to the non-volatile memory device can allow for reconstructing the L2P table after a power loss event. However, saving the dirty section(s) of the L2P table to the non-volatile memory device after each write operation and associated update to the cached portions of the L2P table can be expensive in terms of time and resources. Thus, in certain memory sub-systems, the memory sub-system controller can use a round robin policy where snapshots of the sections of the L2P table are periodically saved to a non-volatile memory device, such as upon writing a certain number of pages. However, in the round robin policy, sections of the L2P table are saved to the non-volatile memory device without regard to whether the sections are dirty (i.e., have been updated). Furthermore, the round robin policy can also become expensive as drive capacities and table sizes continue to increase, thereby also increasing the amount of data that needs to be written to non-volatile memory.

In certain memory sub-systems, a power loss event may occur before the L2P table has been fully stored to the non-volatile memory device, possibly leaving the L2P table in a state which is inconsistent with the state of the memory devices. For example, after a power loss event, the memory sub-system controller can use the latest saved snapshot before the power loss event for reconstructing the L2P table. However, such a snapshot may not reflect the L2P table updates that might have occurred between the last L2P table drop time (i.e., the time of saving the last snapshot) and the time of the power loss event. Accordingly, in certain memory sub-systems, the memory sub-system controller can further maintain a journal of L2P updates. The memory sub-system controller can record every update to the L2P table in a journal entry of the journal. The journal can be stored on the non-volatile memory device during a power loss event.

After the power loss event, the power loss recovery can involve reconstructing the L2P table by restoring the latest L2P table snapshot followed by replaying the journal entries storing the L2P updates that might have occurred between the last L2P table drop time and the power loss event. However, in order to identify which journal entries need to be replayed (i.e., which journal entries store the L2P updates that have occurred between the last L2P table drop time and the power loss event), the memory sub-system controller needs to read each journal, look at the time stamp of each journal entry of the journal, and compare whether the journal entry has a time stamp that is newer than the oldest section of the L2P table. If the time stamp is newer, then that journal entry will need to be replayed. If the time stamp is older, than that journal entry can be skipped (i.e., does not need to be replayed). In certain memory sub-systems utilizing a round robin policy as described herein above, the memory sub-system controller reconstructs the L2P table by restoring the latest L2P table snapshot followed by reading each journal and identifying the journal entries that need to be replayed from the oldest section of the L2P table to the time of the power loss event. However, reading each journal and going through the time stamp of each individual entry in each journal to identify the entries that need to be replayed can take time and thus can be expensive. Further, once the memory sub-system controller identifies the journal entries that need to be replayed, the memory sub-system controller must replay the identified journal entries (i.e., apply the L2P updates recorded by the identified journal entries to the L2P table). Replaying the L2P table involves reading the journal entry and updating (i.e., writing) the L2P table, which takes more time and thus can also be more expensive. Accordingly, effective L2P section drop policies can be desired in order to reconstruct the L2P table to a consistent state while reducing the amount of journals that have to be read and journal entries that have to be evaluated to determine whether they need to be replayed.

Aspects of the present disclosure address the above and other deficiencies by providing a memory sub-system that manages power loss recovery using an oldest section write policy for an address mapping table. A memory sub-system controller can maintain a set of sections of an L2P table cached in a volatile memory device in the memory sub-system. The memory sub-system controller can keep a count of the number of journals that have been written to non-volatile memory. The written journal count can reflect the number of L2P journals that must be read in reconstructing the L2P table. The memory sub-system controller can determine whether the written journal count satisfies a threshold criterion (e.g., the written journal count is greater than or equal to a threshold value). For example, the threshold value can represent a maximum number of journals written to a non-volatile memory device. If the memory sub-system controller determines that the written journal count satisfies the threshold criterion, the memory sub-system controller can identify a section of the L2P table that is an oldest section of the set of sections of the L2P table based on a flag associated with the section. The memory sub-system controller can write the dirty entries of the identified section to the non-volatile memory device. In response to writing the dirty entries of the identified section to the non-volatile memory device, the memory sub-system controller can set the flag associated with the identified section to indicate that the identified section is an oldest section of the set of sections. If the memory sub-system controller determines that the identified section does not comprise dirty entries, the memory sub-system controller can set a flag associated with another section (e.g., a logically consecutive section) to indicate that the other section is the oldest section of the set of sections of the L2P table. Following a power loss event, the memory sub-system controller can reconstruct the L2P table by restoring the L2P table based on the sections of the L2P table that are stored on the non-volatile memory device and by identifying the oldest section of the L2P table as indicated by the respective flag associated with each section. The memory sub-system controller can further identify, starting at the identified oldest section of the L2P table, journal entries with time stamps that are newer than the identified oldest section of the L2P table. The memory sub-system controller can then update the L2P table by replaying the identified journal entries.

Advantages of the present disclosure include, but are not limited to, reducing the amount of journals that are read and reducing the amount of journal entries that are identified as having to be replayed during a reconstruction of an L2P table following a power loss event. In certain memory sub-systems using a round robin policy, the memory sub-system controller reconstructs the L2P table by restoring the sections of the L2P table as stored in a non-volatile memory device and evaluating each journal and each journal entry of each journal starting at the oldest section of the L2P table, since there may be dirty entries in the oldest section that have not yet been written to the non-volatile memory device. In contrast, by writing the dirty entries of the oldest section of the L2P table to the non-volatile memory device once a written journal count satisfies a threshold criterion (i.e., there are at least a threshold number of written journals stored in the non-volatile memory device), the memory sub-system controller can write the dirty entries to the non-volatile memory device at a higher frequency than writing the dirty entries under the round robin policy. Further, since the memory sub-system controller determines whether the oldest section of the L2P table includes dirty entries, the memory sub-system controller can move the oldest section forward to the next logical section and indicate that the next section is the oldest section by setting a flag associated with the next section. The memory sub-system can thus ensure that the journals and each journal entry of each journal do not need to be read and evaluated beginning at the initial oldest section of the L2P table. Instead, another section of the L2P journal that is newer can be set as the oldest section of the L2P table. Therefore, the memory sub-system controller can read the journals and evaluate journal entries starting at the section that is indicated to be the oldest section of the L2P table based on the flag associated with the section, thereby reducing the amount of journals and journal entries that are read and evaluated. There can thus be an improvement in the amount of time it takes to recover following a power loss event. A faster recovery time during power-on can further result in an overall improvement in the performance of the memory sub-system.

The memory sub-system110includes an L2P table drop management component113that can manage power loss recovery using an oldest section write policy for an address mapping table. In some embodiments, the memory sub-system controller115includes at least a portion of the L2P table drop management component113. In some embodiments, the L2P table drop management component113is part of the host system110, an application, or an operating system. In other embodiments, local media controller135includes at least a portion of L2P table drop management component113and is configured to perform the functionality described herein.

The L2P table drop management component113can maintain a set of sections of an L2P table cached in a volatile memory device in memory sub-system110, such as memory device140. In addition, the L2P table drop management component113can keep track of a written journal count. The written journal count can reflect a number of L2P journals written to non-volatile memory. The L2P journal can be stored in a non-volatile memory device in memory sub-system110, such as memory device130. The L2P table drop management component113can determine whether the written journal count satisfies a threshold criterion (e.g., whether the written journal count is greater than or equal to a threshold value). For example, the threshold value can represent a maximum number of journals written to a non-volatile memory device, such as memory device130. If the L2P table drop management component113determines that the written journal count satisfies the threshold criterion, the L2P table drop management component113can identify a section of the set of sections of the L2P table cached in the non-volatile memory device. The section can be identified as an oldest section of the set of sections of the L2P table based on a flag associated with the section. The L2P table drop management component113can write the dirty entries of the identified section to the non-volatile memory device130. In response to writing the dirty entries of the identified section to the non-volatile memory device130, the L2P table drop management component113can set the flag associated with the identified section to indicate that the identified section is an oldest section of the set of sections. If the L2P table drop management component113determines that the identified section does not include dirty entries, the L2P table drop management component113can set a flag associated with another section (e.g., a logically consecutive section) to indicate that the other section is the oldest section of the set of sections of the L2P table. Following a power loss event, the L2P table drop management component113can reconstruct the L2P table by restoring the L2P table based on the sections of the L2P table that are stored on the non-volatile memory device130and by identifying the oldest section of the L2P table as indicated by the respective flag associated with each section. The L2P table drop management component113can further identify, starting at the identified oldest section of the L2P table, journal entries with time stamps that are newer than the identified oldest section of the L2P table. The L2P table drop management component113can then update the L2P table by replaying the identified journal entries. Further details with regards to the operations of the L2P table drop management component113are described below.

FIG.2Ais a block diagram illustrating a set of sections of an L2P table200, in accordance with some embodiments of the present disclosure. An L2P table can have multiple sections. Each section of the L2P table can include 4K units (i.e., regions). Each region can include a number of entries, e.g., 1024 entries. Each entry can include a number of bits, e.g., 32 bits. For example, as illustrated inFIG.2A, an L2P table200can have a set of sections including Section201, Section202, Section203, Section204, and Section205. Each section can include a number of entries. For example, Section201can include Entry201a— Entry201e; Section202can include Entry202a— Entry202e; Section203can include Entry203a— Entry203e; Section204can include Entry204a— Entry204e; Section205can include Entry205a— Entry205e. An entry in a section that is dirty (i.e., has been updated) is illustrated using dashed lines. For example,FIG.2Aillustrates that Entry202a, Entry203a, Entry203b, Entry203c, Entry203d, Entry204e, Entry205b, Entry205c, and Entry205eare dirty entries. In a memory sub-system solely utilizing a round robin policy, reconstructing the L2P table200following a power loss event can include reading journals and evaluating journal entries within each journal starting at the oldest section of the L2P table200. For example, as illustrated inFIG.2A, the arrow labeled first journal read290can indicate the starting point for reading journals associated with the L2P table200during reconstruction of the L2P table200. Here, the first journal read290arrow indicates that journals will be read starting at section201of the L2P table200. In some embodiments of the present disclosure, an L2P table drop management component (i.e., the L2P table drop management component113ofFIG.1) can identify the oldest section of the L2P table based on a flag associated with each section. The flag associated with each section can be one or more bits. When the one or more bits are set to a particular value, the one or more bits can indicate the presence of a certain condition (e.g., the one or more bits associated with each section can be set to a particular value to indicate that the section is the oldest section of the L2P table). In response to identifying the oldest section of the L2P table, the L2P table drop management component113can determine whether there are any dirty entries in the identified section. For example, inFIG.2A, the L2P table drop management component113can identify that the oldest section of the L2P table is Section201. The L2P table drop management component113can determine whether there are any dirty entries in Section201.FIG.2Adepicts no dirty entries in Section201. In response to determining that Section201has no dirty entries, the L2P table drop management component113can move to the next logical section (i.e., Section202) and set a flag associated with Section202as being the oldest section. The L2P table drop management component113can determine whether there are any dirty entries in Section202. Upon determining that Section202has a dirty entry (i.e., Entry202a), the L2P table drop management component113can write the dirty entry of Section202to a non-volatile memory device. Further details with regard to the L2P table drop management component113and the L2P table are described herein below.

FIG.2Bis a block diagram illustrating journal entries of a journal associated with an L2P address mapping table (e.g., the L2P table200inFIG.2A), in accordance with some embodiments of the present disclosure. As illustrated inFIG.2B, an L2P address mapping table (e.g., the L2P table200) can be associated with one or more journals, such as a journal260. The journal260can be used for storing each update to an L2P address mapping table in a journal entry of the journal. The journal can be stored on a non-volatile memory device before a power loss event. The journal260can include a set of journal entries, including journal entry261, journal entry262, journal entry263, and journal entry264. Each journal entry can store data including a physical address, a logical address, and a timestamp for when the data was written to the journal entry. For example, the journal entry261can store data including a physical address261a, a logical address261b, and a timestamp261c. The journal entry262can store data including a physical address262a, a logical address262b, and a timestamp262c. The journal entry263can store data including a physical address263a, a logical address263b, and a timestamp263c. The journal entry264can include a physical address264a, a logical address264b, and a timestamp264c. As an example, the journal entry261can store data for the update that occurred at entry202aof Section202of the L2P table200inFIG.2A. Further details with regard to journal entries are described herein below.

At operation310, the processing logic maintains a logical-to-physical (L2P) table, such as L2P table200illustrated inFIG.2A. The L2P table can be a data structure that includes a set of sections. The set of sections can be cached in a volatile memory device, such as memory device140. In some embodiments, each section of the L2P table can have 4K units (i.e., regions). Each region of the L2P table can include a set of entries. In some embodiments, each region can include 1024 entries. Each entry can include a logical address mapped to a corresponding physical address.

At operation315, the processing logic maintains a journal entry count. The journal entry count can reflect a number of journal entries associated with a journal. The journal can be used to store updates to the L2P table. The journal can be stored in a non-volatile memory device, such as memory device130. In some embodiments, the processing logic can maintain the journal entry count using a data structure, such as a table. In some embodiments, the processing logic can maintain a counter for the journal. The processing logic can set the counter to an initial value (e.g., 0). In some embodiments, the processing logic can increment the counter by an integer value (e.g., 1) for every update to an entry of a section of the L2P table. An entry of a section of the L2P table can be updated in response to any change to the physical address associated with an LBA. In some embodiments, the processing logic can increment the counter by an integer value (e.g., 1) for every write to a journal entry of the journal.

At operation320, the processing logic determines that the journal entry count satisfies a threshold criterion. In some embodiments, determining that the journal entry count satisfies the threshold criterion can include comparing the journal entry count to a threshold value. If the journal entry count is greater than or equal to the threshold value, the threshold criterion is satisfied. If the journal entry count is less than the threshold value, the threshold criterion is not satisfied. In some embodiments, the threshold value can be a maximum number of journal entries to be written to a non-volatile memory device, such as memory device130, as described in more details herein above. The maximum number of journal entries to be written to the non-volatile memory device can be set based on the characteristics of the drive. In some embodiments, the maximum number of journal entries to be written to the non-volatile memory device can be 4000 journal entries (e.g., a maximum number of journal entries in a journal).

At operation325, the processing logic triggers a writing of the journal to the non-volatile memory device. In some embodiments, exceeding the threshold maximum number of journal entries to be written to the non-volatile memory device can trigger the writing of the journal to the non-volatile memory.

At operation330, the processing logic maintains a written journal count reflecting a number of journals written to the non-volatile memory device. In some embodiments, the processing logic can set the written journal count to an initial value (e.g., 0). In some embodiments, the written journal count can be incremented by an integer value (e.g., 1) in response to the writing of the journal to the non-volatile memory.

At operation335, the processing logic identifies a section of the set of sections of the L2P table. In some embodiments, the processing logic can identify the section in response to determining that the written journal count satisfies a threshold criterion. In some embodiments, the threshold criterion can be a threshold value of journals written to the non-volatile memory device. Determining that the written journal count satisfies the threshold criterion can include determining that the written journal count is greater than or equal to the threshold value of journals written to the non-volatile memory device. In some embodiments, the processing logic identifies the section based on a flag associated with the section. The flag associated with each section can be one or more bits. The one or more bits can be set to a particular value to indicate the presence of a certain condition. In some embodiments, the flag can be set to indicate that the section is an oldest section of the set of sections. In some embodiments, the oldest section of the set of sections is the section of the set of sections that was least recently programmed (i.e., written to).

At operation340, the processing logic writes the section identified at operation325to the non-volatile memory device. In some embodiments, writing the section to the non-volatile memory device can include determining that the identified section includes one or more dirty entries. Determining that the identified section includes one or more dirty entries of the section can include identifying whether entries of the section have been updated (i.e., written to). In response to determining that the identified section includes one or more dirty entries, the processing logic can write the one or more dirty entries of the identified section to the non-volatile memory device. In some embodiments, the processing logic can set a flag associated with the identified section to indicate that the identified section is the oldest section of the set of sections. In some embodiments, the processing logic can set the flag in response to writing the one or more dirty entries of the identified section to the non-volatile memory device. In some embodiments, the processing logic can determine that the identified section does not include a dirty entry (i.e., no entry of the section has been updated). In response to determining that the identified section does not include a dirty entry, the processing logic can identify another section of the set of sections of the L2P table. In some embodiments, the other section can be a logically consecutive section. For example, as illustrated inFIG.2A, the processing logic can identify a Section202as logically consecutive to a Section201. The processing logic can set a flag associated with the other section (e.g., Section202) to indicate that the other section is the oldest section of the set of sections. In some embodiments, the one or more dirty entries written to the non-volatile memory device can be used to reconstruct the L2P table following a power loss event. In some embodiments, reconstructing the L2P table can include restoring the L2P table using the sections of the L2P table stored on the non-volatile memory device. The processing logic can identify the oldest section of the L2P table by comparing the flag associated with each section of the set of sections and identifying the section with a flag set to indicate that the section is the oldest section of the set of sections. In some embodiments, the processing logic can read each journal associated with the L2P table. The processing logic can read each journal starting with the journal associated with the section of the set of sections of the L2P table identified as the oldest section. The processing logic can identify one or more journal entries of each journal. The processing logic can identify the one or more journal entries by comparing a timestamp stored at each journal entry with a timestamp associated with each entry of each section of the L2P table. If the timestamp stored at the journal entry is newer than the timestamp associated with the entry of the section of the L2P table, the processing logic can update the L2P table by replaying the journal entry. If the timestamp stored at the journal entry is older than the timestamp associated with the entry of the section of the L2P table, the processing logic can skip the journal entry (e.g., the journal entry is not replayed). In some embodiments, replaying the journal entry can include reading data stored on the journal entry. The data can reflect an update to an entry of a section of the L2P table. The processing logic can apply the update to the L2P table.

At operation410, the processing logic maintains a logical-to-physical (L2P) table, such as L2P table200illustrated inFIG.2A. The L2P table can be a data structure that includes a set of sections. The set of sections can be cached in a volatile memory device, such as memory device140. In some embodiments, each section of the L2P table can have 4K units (i.e., regions). Each region of the L2P table can include a set of entries. In some embodiments, each region can include 1024 entries. Each entry can include a logical address mapped to a corresponding physical address.

At operation415, the processing logic maintains a journal entry count. The journal entry count can reflect a number of journal entries associated with a journal. The journal can be used to store updates to the L2P table. The journal can be stored in a non-volatile memory device, such as memory device130. In some embodiments, the processing logic can maintain the journal entry count using a data structure, such as a table.

At operation420, the processing logic can maintain a counter for the journal. The processing logic can set the counter to an initial value (e.g., 0). In some embodiments, the processing logic can increment the counter by an integer value (e.g., 1) for every update to an entry of a section of the L2P table. An entry of a section of the L2P table can be updated in response to a host write or garbage collection write. In some embodiments, the processing logic can increment the counter by an integer value (e.g., 1) for every write to a journal entry of the journal.

At operation425, the processing logic determines that the journal entry count satisfies a threshold criterion. In some embodiments, determining that the journal entry count satisfies the threshold criterion can include comparing the journal entry count to a threshold value. If the journal entry count is greater than or equal to the threshold value, the threshold criterion is satisfied. If the journal entry count is less than the threshold value, the threshold criterion is not satisfied. In some embodiments, the threshold value can be a maximum number of journal entries to be written to a non-volatile memory device, such as memory device130, as described in more details herein above. The maximum number of journal entries to be written to the non-volatile memory device can be set based on the characteristics of the drive. In some embodiments, the maximum number of journal entries to be written to the non-volatile memory device can be 4000 journal entries (e.g., a maximum number of journal entries in a journal).

At operation430, the processing logic writes the journal to the non-volatile memory device. In some embodiments, the journal entry count exceeding the threshold maximum number of journal entries to be written to the non-volatile memory device can trigger the writing of the journal to the non-volatile memory.

At operation435, the processing logic updates a written journal count. In some embodiments, the processing logic maintains a written journal count reflecting a number of journals written to the non-volatile memory device. In some embodiments, the processing logic can set the written journal count to an initial value (e.g., 0). In some embodiments, the written journal count can be incremented by an integer value (e.g., 1) in response to the writing of the journal to the non-volatile memory.

At operation440, the processing logic identifies a section of the set of sections of the L2P table. In some embodiments, the processing logic can identify the section in response to determining that the written journal count satisfies a threshold criterion. In some embodiments, the threshold criterion can be a threshold value of journals written to the non-volatile memory device. Determining that the written journal count satisfies the threshold criterion can include determining that the written journal count is greater than or equal to the threshold value of journals written to the non-volatile memory device. In some embodiments, the processing logic identifies the section based on a flag associated with the section. The flag associated with each section can be one or more bits. The one or more bits can be set to a particular value to indicate the presence of a certain condition. In some embodiments, the flag can be set to indicate that the section is an oldest section of the set of sections. In some embodiments, the oldest section of the set of sections is the section of the set of sections that was least recently programmed (i.e., written to).

At operation445, the processing logic determines that the identified section includes one or more dirty entries. Determining that the identified section includes one or more dirty entries of the section can include identifying whether entries of the section have been updated (i.e., written to).

At operation450, in response to determining that the identified section includes one or more dirty entries, the processing logic can write the one or more dirty entries of the identified section to the non-volatile memory device.

At operation455, in response to writing the one or more dirty entries of the identified section to the non-volatile memory device, the processing logic can set a flag associated with the identified section to indicate that the identified section is the oldest section of the set of sections. In some embodiments, the one or more dirty entries written to the non-volatile memory device can be used to reconstruct the L2P table following a power loss event. In some embodiments, reconstructing the L2P table can include restoring the L2P table using the sections of the L2P table stored on the non-volatile memory device. The processing logic can identify the oldest section of the L2P table by comparing the flag associated with each section of the set of sections and identifying the section with a flag set to indicate that the section is the oldest section of the set of sections. In some embodiments, the processing logic can read each journal associated with the L2P table. The processing logic can read each journal starting with the journal associated with the section of the set of sections of the L2P table identified as the oldest section. The processing logic can identify one or more journal entries of each journal. The processing logic can identify the one or more journal entries by comparing a timestamp stored at each journal entry with a timestamp associated with each entry of each section of the L2P table. If the timestamp stored at the journal entry is newer than the timestamp associated with the entry of the section of the L2P table, the processing logic can update the L2P table by replaying the journal entry. If the timestamp stored at the journal entry is older than the timestamp associated with the entry of the section of the L2P table, the processing logic can skip the journal entry (e.g., the journal entry is not replayed). In some embodiments, replaying the journal entry can include reading data stored on the journal entry. The data can reflect an update to an entry of a section of the L2P table. The processing logic can apply the update to the L2P table.

At operation460, in response to determining that the identified section does not include a dirty entry (i.e., no entry of the section has been updated), the processing logic can identify another section of the set of sections of the L2P table. In some embodiments, the other section can be a logically consecutive section. For example, as illustrated inFIG.2A, the processing logic can identify a Section202as logically consecutive to a Section201. The processing logic can set a flag associated with the other section (e.g., Section202) to indicate that the other section is the oldest section of the set of sections.