IP Library Granted Patent US 12693789
Granted Patent B2
US 12693789 · App. 18/086,777 · Granted Jul 28, 2026

Storage device and operating method for journal data replay

Inventor: Tae-Hwan Kim (Suwon-si, KR)
Assignee: Samsung Electronics Co., Ltd.
G06F3/0619G06F3/0653G06F3/0679
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 12693789
App. No.
18/086,777
Granted
Jul 28, 2026
Kind
B2
Abstract

Disclosed is a storage device which includes a nonvolatile memory device, and a storage controller that controls the nonvolatile memory device and updates metadata based on an operation of the nonvolatile memory device, and the storage controller includes a journal data generator that generates a plurality of journal data associated with the update of the metadata, and a journal data replayer that replays the plurality of journal data in parallel to restore the metadata.

Claims (56)

1 . A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device and to update metadata based on the control for the nonvolatile memory device,

wherein the storage controller includes:

a journal data generator configured to generate a plurality of journal data associated with the update of the metadata; and

a journal data replayer configured to replay the plurality of journal data in parallel to restore the metadata, wherein the journal data replayer includes:

a journal data splitting unit configured to determine a dependency of each of the plurality of journal data based on an opcode field of each of the plurality of journal data, and split the plurality of journal data into a plurality of groups based on the dependency of each of the plurality of journal data, and

a plurality of replaying units respectively corresponding to the plurality of groups,

wherein each of the plurality of replaying units is configured to replay journal data included in the corresponding one of the plurality of groups,

wherein the journal data generator is further configured to set an identifier field of each of the plurality of journal data based on the dependency of each of the plurality of journal data, and

wherein the identifier field of each of the plurality of journal data includes information indicating a corresponding replaying unit of the plurality of replaying units.

2 . The storage device of claim 1 , wherein the journal data replayer is configured to replay the plurality of journal data in a second order different from a first order in which the plurality of journal data are generated by the journal data generator.

3 . The storage device of claim 1 , wherein the plurality of replaying units are configured to replay different journal data at the same time.

4 . The storage device of claim 1 , wherein the storage controller further includes: a journal memory configured to store the plurality of journal data.

5 . The storage device of claim 4 , wherein the journal memory is divided into a plurality of journal memory units, and

wherein the journal data splitting unit is further configured to store the plurality of journal data split into the plurality of groups in the plurality of journal memory units respectively, based on the plurality of groups.

6 . The storage device of claim 5 , wherein each of the plurality of replaying units is configured to replay journal data stored in a corresponding one of the plurality of journal memory units.

7 . The storage device of claim 1 , wherein the journal data splitting unit is configured to split the plurality of journal data into the plurality of groups based on the identifier field of each of the plurality of journal data.

8 . The storage device of claim 1 , wherein the storage controller further includes a journal memory configured to store the plurality of journal data,

wherein the journal memory is divided into a plurality of journal memory units, and

wherein the journal data generator is configured to store the plurality of journal data in the plurality of journal memory units respectively based on the dependency of each of the plurality of journal data.

9 . The storage device of claim 8 ,

wherein each of the plurality of replaying units is configured to replay journal data stored in a corresponding one of the plurality of journal memory units.

10 . The storage device of claim 1 , further comprising:

a buffer memory configured to store the metadata.

11 . An operating method of a storage device,

wherein the storage device includes a nonvolatile memory device and a storage controller configured to control the nonvolatile memory device, and wherein the method comprises:

reading a plurality of journal data from the nonvolatile memory device;

determining dependency of the plurality of journal data based on an opcode field of each of the plurality of journal data;

splitting the plurality of journal data into a plurality of groups based on an identifier field of each of the plurality of journal data; and

replaying journal data respectively included in the plurality of groups in parallel to restore metadata,

wherein the identifier field of each of the plurality of journal data is set based on a dependency of the plurality of journal data, and

wherein the identifier field of each of the plurality of journal data includes information indicating a corresponding one of a plurality of replaying units in the storage controller.

12 . The method of claim 11 , further comprising:

before reading the plurality of journal data from the nonvolatile memory device,

updating the metadata based on an operation of the nonvolatile memory device and generating the plurality of journal data based on the update of the metadata; and

when a sudden power-off is sensed, flushing the plurality of journal data to the nonvolatile memory device.

13 . The method of claim 11 , wherein, when a first address field of first journal data of the plurality of journal data is included in a first address range, the first journal data are classified as a first group of the plurality of groups, and

wherein, when the first address field of the first journal data of the plurality of journal data is included in a second address range different from the first address range, the first journal data are classified as a second group of the plurality of groups.

14 . The method of claim 13 , wherein, when the first journal data are classified as the first group, the first journal data are replayed by a first replaying unit of the plurality of replaying units included in the storage controller, and

wherein, when the first journal data are classified as the second group, the first journal data are replayed by a second replaying unit different from the first replaying unit from among the plurality of replaying units.

15 . A storage device comprising:

a nonvolatile memory device; and

a storage controller configured to control the nonvolatile memory device,

wherein the storage controller includes:

a journal data generator configured to generate first to fourth journal data associated with an update of metadata and set an identifier field of each of the first to fourth journal data based on a dependency of the first to fourth journal data, the dependency of the first to fourth journal data being determined based on an opcode field of each of the first to fourth journal data;

a first replaying unit; and

a second replaying unit,

wherein, when the metadata are lost, the first and second replaying units are configured to replay the first to fourth journal data to restore the metadata,

wherein the first replaying unit is configured to replay the first and second journal data, and, while the first replaying unit replays the first and second journal data, the second replaying unit is configured to replay the third and fourth journal data,

wherein the journal data generator is further configured to set the identifier fields of the first and second journal data as information indicating the first replaying unit and the identifier fields of the third and fourth journal data as information indicating the second replaying unit, and

wherein an opcode of each of the first and second journal data is independent from an opcode of each of the third and fourth journal data.

16 . The storage device of claim 15 , further comprising:

a buffer memory configured to store the metadata.

17 . The storage device of claim 16 , wherein the first and second journal data are associated with an update of data included in a first address range of the buffer memory among the metadata, and

wherein the third and fourth journal data are associated with an update of data included in a second address range different from the first address range of the buffer memory among the metadata.