# US 7,610,442 B2 · Dual journaling store method and storage medium thereof

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,610,442 B2
- Document ID: US7610442B2
- Status: Granted
- Kind: B2
- Application number: 10/539,751
- Filed: 2003-12-19
- Published: 2006-04-20
- Granted: 2009-10-27
- Earliest claimed: 2002-12-24
- Assignees: LG Electronics Inc.
- Inventors: Jeong-Ki Kim; Dong-Suk Bae; Yang-Gi Kim; Seung-Min Park; Chae-Kyu Kim
- Web page: https://patentgrep.com/patent/US7610442B2

## CPC

- G06F 3/0644: {Management of space entities, e.g. partitions, extents, pools}
- G06F 3/0608: {Saving storage space on storage systems}
- G06F 3/0616: {in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]}
- G06F 3/0643: {Management of files}
- G06F 3/0679: {Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]}
- G06F 3/0688: {Non-volatile semiconductor memory arrays}
- G06F 16/1815: {Journaling file systems}
- G06F 16/1847: {specifically adapted to static storage, e.g. adapted to flash memory or SSD}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/0253: {Garbage collection, i.e. reclamation of unreferenced memory}
- Y10S 707/99953: Recoverability
- Y10S 707/99957: Garbage collection
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y10S: TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS

## Abstract

A dual journaling storing method and a storage medium thereof are provided, in which data are stored toward a central portion of a storage space of the storage medium from start and end locations when a flash memory or the like is used as a storage medium for storing/managing/processing data. One data is stored from a start location of the storage medium based on the journaling method, and another data is stored from an end location of the storage medium toward the start location.

## Claims

### Claim 1

A dual journaling storing method for storing data in a storage medium, characterized in that data are stored from start and end locations of the storage medium toward a central location, wherein when two types of the data whose kind and characteristics are different are stored in the storage medium, the two types of data are separately stored as a front journaling and a rear journaling, respectively, wherein when a head of the front journaling and a head of the rear journaling meet each other at a first location, a central location is set at the first location and the head of the front journaling is returned to the start location and the head of the rear journaling is returned to the end location, wherein the central location moves toward the other party's journaling if the head of the front journaling or the head of the rear journaling arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 2 (depends on 1)

The dual journaling storing method according to claim 1, wherein when the front journaling and the rear journaling meet each other at the central location, data is again stored from the start location and the end location, respectively.

### Claim 3 (depends on 1)

The dual journaling storing method according to claim 1, wherein a garbage collection is performed at the front journaling and the rear journaling independently.

### Claim 4

A method for storing data in a storage medium, comprising:
dividing the data into a first data and a second data; and
storing one of the first data and the second data from a start location of the storage medium, and storing the other from an end location of the storage medium toward the start location, wherein when a head of the first data and a head of the second data are stored and meet each other at a first location, a central location is set at the first location, and the first and the second data are stored from the start location and the end location, respectively, and wherein the central location is variably formed based on at least one of a respective amount of data to be stored or a size of a respective storage space in which the data is to be stored.

### Claim 5 (depends on 4)

The method according to claim 4, further comprising:
wherein the central location moves toward the other party's data if a head of the first data or a head of the second data arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 6 (depends on 4)

The method according to claim 4, wherein the first data is meta data and the second data is file data.

### Claim 7 (depends on 5)

The method according to claim 5, wherein a number of erasures of the storage medium is reduced by said moving the central location for each subsequent time.

### Claim 8

A flash memory device, comprising:
a processor that generates a read/write command for reading/writing data from/to a specific address;
a flash memory that provides a data storage space; and
a memory controller that controls the data to be stored in the flash memory from start and end locations of the data storage space toward a central location, wherein when data whose characteristics are different are stored in the flash memory, the data are separately stored as a front journaling and a rear journaling, wherein when a head of the front journaling and a head of the rear journaling meet each other at a first location, a central location is set at the first location and the head of the front journaling is returned to the start location and the head of the rear journaling is returned to the end location, wherein the central location moves towards the other party's journaling if the head of the front journaling or the head of the rear journaling arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 9 (depends on 8)

The flash memory device according to claim 8, wherein a garbage collection is performed at the front journaling and the rear journaling independently.

### Claim 10

A multiple-partitioned flash memory device, comprising:
a memory;
a plurality of partitions provided by a multiple partition of the memory, in which data being stored are independently read, written, or erased;
a charge pump that provides a plurality of voltage levels necessary to read, write, and erase the data;
a plurality of first sense amplifiers configured for a read operation, the read operation being simultaneously executable for the respective partitions; and
a plurality of second sense amplifiers including at least one sense amplifier configured for erase and write operations, the erase and write operations being simultaneously executable for the respective partitions, wherein the data are stored in the respective partitions from start and end locations of storage spaces of the respective partitions toward respective central locations, wherein the central locations are variably formed based on at least one of a respective amount of the data to be stored or a size of a respective storage space in which the data is to be stored in the respective partitions, wherein when data whose characteristics are different are stored in each partition of the memory, the data are separately stored as a front journaling and a rear journaling, wherein when a head of the front journaling and a head of the rear journaling meet each other at a first location, a central location is set at the first location and the head of the front journaling is returned to the start location and the head of the rear journaling is returned to the end location, wherein the central location moves toward the other party's journaling if the head of the front journaling or the head of the rear journaling arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 11 (depends on 10)

The multiple-partitioned flash memory device according to claim 10, wherein in a case that the front journaling and the rear journaling meet each other at the central location, the data is again stored from the start location.

### Claim 12 (depends on 10)

The multiple-partitioned flash memory device according to claim 10, wherein the data being stored in the respective partitions are divided into a meta data and a file data, the file data being stored from the start locations of the respective partitions, the meta data being stored from the end locations of the respective partitions toward the start locations.

### Claim 13

A dual journaling storing method for storing data in a memory sectioned into multiple partitions, data being independently read, written, or erased according to the respective partitions, characterized in that the data is stored from start and end locations of storage spaces of the respective partitions toward a central location, wherein a garbage collection is performed at the front journaling and the rear journaling independently when a free space insufficient.

### Claim 14 (depends on 13)

The dual journaling storing method according to claim 13, wherein in a case that the front journaling and the rear journaling meet each other at the central location, the data is again stored from the start location and the end location, respectively.

### Claim 15 (depends on 13)

The dual journaling storing method according to claim 13, wherein when a head of the front journaling and a head of the rear journaling meet each other at a first location, a central location is set at the first location and the head of the front journaling is returned to the start location and the head of the rear journaling is returned to the end location, wherein the central location moves toward the other party's journaling if the head of the front journaling or the head of the rear journaling arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 16 (depends on 13)

The dual journaling storing method according to claim 13, wherein in a case that data having different characteristics is stored in the memory, the data are separately stored as a front journaling and a rear journaling.

### Claim 17 (depends on 16)

The dual journaling storing method according to claim 16, wherein the data being stored in the respective partitions are divided into a meta data and a file data, the file data being stored from the start locations of the respective partitions, the meta data being stored from the end locations of the respective partitions toward the start locations.

### Claim 18

A dual journaling storing method for storing data in a memory sectioned into multiple partitions in a case that the data are inserted into the respective partitions of a flash memory, wherein the data are independently read, written, or erased according to the respective partitions, the dual journaling storing method comprising:
when the insertion of the data into the respective partitions is requested, a storage medium performing a garbage collection if a storage space is insufficient, thereby moving the data and carrying out an erase operation; and
checking whether there is a sufficient space in the storage medium after the data storage is completed, thereby securing a storage space for a next inserted data, wherein when the erase operation is carried out, the free storage space is secured and a valid data of the data moves to a head location of the respective partitions, wherein when data whose characteristics are different are stored in each partition of the memory, the data are separately stored as a front journaling and a rear journaling, wherein when a head of the front journaling and a head of the rear journaling meet each other at a fast location, a central location is set at the first location and the head of the front journaling is returned to the start location and the head of the rear journaling is returned to the end location, wherein the central location moves toward the other party's journaling if the head of the front journaling or the head of the rear journaling arrives again at the central location and the other head is not located at the central location, and wherein the head is indicative of a location for storing data.

### Claim 19 (depends on 18)

The method according to claim 18, wherein when the erase operation is carried out, the free storage space is secured and a tail corresponding to an end location of at least one of a front journaling data or a rear journaling data of the respective partitions moves to a central location of the storage space of the storage medium, wherein the tail is indicative of a location for starting to erase data.

### Claim 20 (depends on 18)

The method according to claim 18, wherein when the erase operation is carried out, the free storage space is secured and a valid data of the data moves to a head location of at least one of a front journaling data or a rear journaling data of the respective partitions.

### Claim 21 (depends on 20)

The method according to claim 20, wherein the central location is variably formed based on at least one of a respective amount of data to be stored or a size of a respective storage space in which the data is to be stored from the start and end locations of the storage medium.

### Claim 22 (depends on 3)

The dual journaling storing method according to claim 3, wherein the garbage collection is performed when a free space is insufficient.

### Claim 23 (depends on 9)

The flash memory device method according to claim 9, wherein the garbage collection is performed when a free space is insufficient.
