# US 10,503,638 B2 · Method of accessing storage device including nonvolatile memory device and controller

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

- Number: US 10,503,638 B2
- Document ID: US10503638B2
- Status: Granted
- Kind: B2
- Application number: 15/454,542
- Filed: 2017-03-09
- Published: 2017-10-26
- Granted: 2019-12-10
- Earliest claimed: 2016-04-21
- Assignees: Samsung Electronics Co., Ltd.
- Applicants: JooYoung Hwang
- Inventors: JooYoung Hwang
- Web page: https://patentgrep.com/patent/US10503638B2

## CPC

- G06F 12/0692: {Multiconfiguration, e.g. local and global addressing}
- G06F 3/0604: {Improving or facilitating administration, e.g. storage management}
- G06F 3/061: {Improving I/O performance}
- G06F 3/064: {Management of blocks}
- 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 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 2201/80: Database-specific techniques
- G06F 2201/805: Real-time
- G06F 2201/82: Solving problems relating to consistency
- G06F 2212/1032: Reliability improvement, data loss prevention, degraded operation etc
- G06F 2212/202: Non-volatile memory
- G06F 2212/65: Details of virtual memory and virtual address translation
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Aspects of the inventive concept relates to a method of accessing a storage device including a nonvolatile memory device and a controller. The method includes writing user data, a first logical address and a second logical address associated with the user data in a storage space corresponding to the first logical address of the nonvolatile memory device. The user data is update data that updates previous data written in the nonvolatile memory device. The second logical address is a logical address of a storage space of the nonvolatile memory device in which the previous data is written.

## Claims

### Claim 1

A method of accessing a storage device including a nonvolatile memory device and a controller comprising:
writing, in the nonvolatile memory device, (i) user data, (ii) a first logical address pointing to the user data, and (iii) a second logical address pointing to the user data, in a storage space pointed to by the first logical address of the nonvolatile memory device
wherein the user data is update data that updates previous data written in the nonvolatile memory device, and
wherein the second logical address is a logical address of the storage space of the nonvolatile memory device in which the previous data is written,
wherein the writing user data includes,
writing the user data into the storage space corresponding to the first logical address, and
writing the first logical address and the second logical address into a second storage space of the nonvolatile memory device corresponding to a third logical address.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
detecting that sudden power off occurred in the storage device; and
in response to the detection, restoring a file system that manages the storage device based on the first logical address and the second logical address that are written in the nonvolatile memory device.

### Claim 3 (depends on 2)

The method of claim 2 further comprising:
writing meta data associated with second user data written in the nonvolatile memory device before the writing user data, the first logical address, and the second logical address associated with the user data.

### Claim 4 (depends on 3)

The method of claim 3, wherein the restoring the file system includes
rolling back the file system based on the meta data written in the nonvolatile memory device, and
after the rolling back the file system, rolling forward the file system based on the first logical address and the second logical address that are written in the nonvolatile memory device.

### Claim 5 (depends on 4)

The method of claim 4, wherein the rolling forward the file system includes:
after the rolling back the file system, invalidating information associated with the second logical address in the file system, and
adding information associated with the first logical address in the file system.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
writing first meta data into the nonvolatile memory device, the first meta data being updated according to the writing user data.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
detecting that sudden power off occurred in the storage device; and
in response to the detection, restoring a file system that manages the storage device based on the meta data.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
writing information into a storage space associated with the user data in the nonvolatile memory device, the information indicating that the updated meta data was written into the nonvolatile memory device.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
allocating a continuous storage space corresponding to continuous logical addresses in the nonvolatile memory device; and
selecting a logical address of a first free storage space as the first logical address in an order from a lowest logical address in the continuous storage space to a highest logical address in the continuous storage space.

### Claim 10 (depends on 9)

The method of claim 9, wherein the continuous storage space is the same as a size of a second storage space obtained through a garbage collection in the nonvolatile memory device.

### Claim 11 (depends on 10)

The method of claim 10, wherein the controller performs a block mapping that associates the continuous logical addresses of the continuous storage space with continuous physical addresses of the second storage space respectively.

### Claim 12 (depends on 9)

The method of claim 9, wherein the writing user data, a first logical address and a second logical address associated with the user data includes
writing the first logical address in the continuous storage space once, and
writing the second logical address in the continuous storage space several times.

### Claim 13 (depends on 9)

The method of claim 9, further comprising requesting the controller to perform a garbage collection in the nonvolatile memory device when a free storage space in logical addresses of the nonvolatile memory device is not continuous as much as a size of the continuous storage space.

### Claim 14

A method of accessing a storage device comprising:
allocating, by a host device, a continuous storage space corresponding to continuous logical addresses in the storage device;
sequentially writing, by the host device, (i) user data in the continuous storage space in an order of the continuous logical addresses together with (ii) a first logical address pointing to the continuous storage space and (iii) second logical addresses pointing to physical addresses in which the user data is previously written; and
in response to a sudden power off of the storage device being detected, restoring, by the host device, a file system using meta data backed up in the storage device, and the first and second logical addresses,
wherein sequentially writing, by the host device, (i) user data in the continuous storage space in an order of the continuous logical addresses together with (ii) a first logical address pointing to the continuous storage space and (iii) second logical addresses pointing to physical addresses in which the user data is previously written includes,
writing the user data into the continuous storage space corresponding to the first logical address, and
writing the first logical address and the second logical address into a second storage space of the storage device corresponding to a third logical address.

### Claim 15

A method of accessing a storage device including a nonvolatile memory device and a controller comprising:
detecting a sudden power-off event of the storage device; and
rolling forward a file system based on a first logical address and a second logical address,
wherein the first logical address is a logical address pointing to a physical address containing (i) user data in a storage space pointed to by the first logical address of the nonvolatile memory device, (ii) the first logical address, and (iii) the second logical address, and wherein
the second logical address is a logical address of the storage space of the nonvolatile memory device in which a previous data is written.

### Claim 16 (depends on 15)

The method of claim 15, wherein the detecting the sudden power-off event includes
writing, in a designated location, an information indicating that the sudden power off event is occurring, using internal standby power.

### Claim 17 (depends on 15)

The method of claim 15, wherein the detecting the sudden power-off event includes
writing, in a designated location, information indicating that a normal power off event has occurred only when a normal power off occurs, and
detecting, by a host device, that the information is not present.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
rolling back the file system based on a meta data written in the nonvolatile memory device.
