IP Library › Granted Patent US 12,596,683
Granted Patent B2
US 12,596,683 · App. 18/819,789 · Granted Apr 7, 2026

Log-structured file system for a zoned block memory device

Inventor: Olivier Duval (Pacifica, CA)
Assignee: Micron Technology, Inc.
G06F16/1734G06F11/1407G06F11/1435G06F12/0246G06F16/164G06F16/1873
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,596,683
App. No.
18/819,789
Granted
Apr 7, 2026
Kind
B2
Abstract

A processing device writes file system data to a first area of a memory zone of a zoned block memory device based on a current position of a write pointer within the memory zone. The file system data comprises data files contained within a file system and file structure metadata describing a file structure of the file system. The processing device detects a write event based on the write pointer advancing past a predetermined memory address within the memory zone that corresponds to a checkpoint. The checkpoint is a second area within the memory zone that is designated for storing write event data. Based on detecting the write event, the processing device writes write event data to the checkpoint, the first write event data indicating a most recent memory address of a root node of the file structure within the memory zone.

Claims (73)

1 . A system comprising:

a zoned block memory device comprising a memory zone; and

a processing device, operatively coupled with the zoned block memory device, to perform operations comprising:

determining a current position of a write pointer within the memory zone of the zoned block memory device;

identifying a checkpoint within the memory zone before the current position of the write pointer, the checkpoint comprising first area within the memory zone that is designated for storing write event data of a target file system;

reading data stored at the checkpoint;

determining whether the data stored at the checkpoint corresponds to the write event data of the target file system;

determining a first memory address of a root node of a previous version of a file structure of the target file system based on the write event data;

identifying a sub-checkpoint within the memory zone before the current position of the write pointer, the sub-checkpoint comprising a second area designated for storing write event data of the target file system;

reading data stored at the sub-checkpoint;

determining whether the data stored at the sub-checkpoint corresponds to updated write event data of the target file system;

determining a second memory address corresponding to a root node of a current version of the target file structure based on the updated write event data; and

loading the target file system on a volatile memory device based on the second memory address corresponding to the root node of the current version of the target file structure.

2 . The system of claim 1 , wherein:

the write event data comprises:

the first memory address; and

a header comprising a result of a mathematical function applied to a second memory address and a constant number, the second memory address corresponding to the checkpoint.

3 . The system of claim 2 , wherein determining whether the data stored at the checkpoint corresponds to the write event data of the target file system comprises applying the mathematical function to the header.

4 . The system of claim 3 , wherein applying the mathematical function to the header comprises applying a hash function to the header.

5 . The system of claim 1 , wherein the identifying the checkpoint comprises identifying a predefined memory address within the memory zone that corresponds to the checkpoint.

6 . The system of claim 5 , wherein the operations further comprise setting a read pointer to the predefined memory address, wherein reading data stored at the checkpoint comprises reading data stored at a current position of the read pointer.

7 . The system of claim 5 , wherein the operations comprise:

setting a read pointer to the predefined memory address;

determining that data stored at the predefined memory address does not comprises the write event data of the target file system;

based on determining that data stored at the predefined memory address does not comprise the write event data of the target file system, incrementing the read pointer; and

determining whether the write event data of the target file structure is stored at a current position of the read pointer.

8 . A method comprising:

determining a current position of a write pointer within a memory zone of a zoned block memory device;

identifying a checkpoint within the memory zone before the current position of the write pointer, the checkpoint comprising a first area within the memory zone that is designated for storing write event data of a target file system;

reading data stored at the checkpoint;

determining whether the data stored at the checkpoint corresponds to the write event data of the target file system;

determining a first memory address of a root node of a previous version of a file structure of the target file system based on the write event data;

identifying a sub-checkpoint within the memory zone before the current position of the write pointer, the sub-checkpoint comprising a second area designated for storing write event data of the target file system;

reading data stored at the sub-checkpoint;

determining whether the data stored at the sub-checkpoint corresponds to updated write event data of the target file system;

determining a second memory address corresponding to a root node of a current version of the target file structure based on the updated write event data; and

loading the target file system on a volatile memory device based on the second memory address corresponding to the root node of the current version of the target file structure.

9 . The method of claim 8 , wherein:

the write event data comprises:

the first memory address; and

a header comprising a result of a mathematical function applied to a second memory address and a constant number, the second memory address corresponding to the checkpoint.

10 . The method of claim 9 , wherein determining whether the data stored at the checkpoint corresponds to the write event data of the target file system comprises applying the mathematical function to the header.

11 . The method of claim 10 , wherein applying the mathematical function to the header comprises applying a hash function to the header.

12 . The method of claim 8 , wherein the identifying the checkpoint comprises identifying a predefined memory address within the memory zone that corresponds to the checkpoint.

13 . The method of claim 12 , further comprising setting a read pointer to the predefined memory address, wherein reading data stored at the checkpoint comprises reading data stored at a current position of the read pointer.

14 . The method of claim 12 , comprising:

setting a read pointer to the predefined memory address;

determining that data stored at the predefined memory address does not comprise the write event data of the target file system;

based on determining that data stored at the predefined memory address does not comprise the write event data of the target file system, incrementing the read pointer; and

determining whether the write event data of the target file structure is stored at a current position of the read pointer.

15 . A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, configure the processing device to perform operations comprising:

determining a current position of a write pointer within a memory zone of a zoned block memory device;

identifying a checkpoint within the memory zone before the current position of the write pointer, the checkpoint comprising first area within the memory zone that is designated for storing write event data of a target file system;

reading data stored at the checkpoint;

determining whether the data stored at the checkpoint corresponds to the write event data of the target file system;

determining a first memory address of a root node of a previous version of a file structure of the target file system based on the write event data;

identifying a sub-checkpoint within the memory zone before the current position of the write pointer, the sub-checkpoint comprising a second area designated for storing write event data of the target file system;

reading data stored at the sub-checkpoint;

determining whether the data stored at the sub-checkpoint corresponds to updated write event data of the target file system;

determining a second memory address corresponding to a root node of a current version of the target file structure based on the updated write event data; and

loading the target file system on a volatile memory device based on the second memory address corresponding to the root node of the current version of the target file structure.

16 . The non-transitory computer-readable storage medium of claim 15 , wherein:

the write event data comprises:

the first memory address; and

a header comprising a result of a mathematical function applied to a second memory address and a constant number, the second memory address corresponding to the checkpoint.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein determining whether the data stored at the checkpoint corresponds to the write event data of the target file system comprises applying the mathematical function to the header.

18 . The non-transitory computer-readable storage medium of claim 17 , wherein applying the mathematical function to the header comprises applying a hash function to the header.

19 . The non-transitory computer-readable storage medium of claim 15 , wherein the identifying the checkpoint comprises identifying a predefined memory address within the memory zone that corresponds to the checkpoint.

20 . The non-transitory computer-readable storage medium of claim 19 , wherein the operations comprise:

setting a read pointer to the predefined memory address;

determining that data stored at the predefined memory address does not comprise the write event data of the target file system;

based on determining that data stored at the predefined memory address does not comprise the write event data of the target file system, incrementing the read pointer; and

determining whether the write event data of the target file structure is stored at a current position of the read pointer.

Continuity (2)
Division 17005671 · Aug 28, 2020
Related Publication 20240419636A1 · Dec 19, 2024
References Cited (19)
US 5187780A · Clark et al. · 1993 [cited by applicant]
US 9153290B1 · Bandic et al. · 2015 [cited by applicant]
US 10417190B1 · Donlan · 2019 [cited by examiner]
US 20020181376A1 · Acker · 2002 [cited by applicant]
US 20110252099A1 · Pattekar et al. · 2011 [cited by applicant]
US 20130103644A1 · Shoens · 2013 [cited by applicant]
US 20170277484A1 · Takagi · 2017 [cited by applicant]
US 20220066992A1 · Duval · 2022 [cited by examiner]
U.S. Appl. No. 17/005,671, Restriction Requirement mailed Jul. 15, 2022, 6 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Response filed Sep. 13, 2022 to Restriction Requirement mailed Jul. 15, 2022, 9 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Non Final Office Action mailed Nov. 18, 2022, 10 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Response filed Feb. 15, 2023 to Non Final Office Action mailed Nov. 18, 2022, 10 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Non Final Office Action mailed Jun. 6, 2023, 12 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Response filed Sep. 6, 2023 to Non Final Office Action mailed Jun. 6, 2023, 11 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Final Office Action mailed Dec. 7, 2023, 10 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Response filed Jan. 31, 2024 to Final Office Action mailed Dec. 7, 2023, 11 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Advisory Action mailed Feb. 14, 2024, 3 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Response filed Mar. 6, 2024 to Advisory Action mailed Feb. 14, 2024 and Final Office Action mailed Dec. 7, 2023, 12 pgs. [cited by applicant]
U.S. Appl. No. 17/005,671, Notice of Allowance mailed May 30, 2024, 5 pgs. [cited by applicant]