# US 2013/0159815 A1 · Adaptive copy-back method and storage device using same

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

- Number: US 2013/0159815 A1
- Document ID: US20130159815A1
- Status: Published application
- Kind: A1
- Application number: 13/716,360
- Filed: 2012-12-17
- Published: 2013-06-20
- Earliest claimed: 2011-12-18
- Assignees: Samsung Electronics Co., Ltd.
- Inventors: HYUN-UK JUNG; DONG-GIL LEE; JIN-YEONG KIM
- Web page: https://patentgrep.com/patent/US20130159815A1

## CPC

- G06F 11/10: Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F 11/1008: {in individual solid state devices (G06F11/1004 takes precedence)}
- G06F 12/00: Accessing, addressing or allocating within memory systems or architectures (digital input from, or digital output to record carriers, e.g. to disk storage units, G06F3/06)
- G06F 12/0246: {in block erasable memory, e.g. flash memory}
- G06F 2212/7205: Cleaning, compaction, garbage collection, erase control
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

During a garbage collection process for a non-volatile memory device of a storage device, an adaptive copy-back method selectively performs either an external or an internal copy-back operation in view of certain performance conditions for a storage device. The external copy-back operation is performed when a number of error-corrected bits per unit size of read data exceeds a given threshold value, and the internal copy-back operation is performed when the number of error-corrected bits does not exceed the threshold value.

## Claims

### Claim 1

An adaptive copy-back method comprising:
reading data from a source page of a non-volatile memory device and storing the data in a page buffer with the non-volatile memory device;
performing error correction on the data stored in the page buffer according to a given unit size using error correction code (ECC) to determine a number of error-corrected bits and to generate error-corrected data;
storing the error-corrected data in a buffer memory external to the non-volatile memory device; and
selectively performing either an external copy-back operation using the error-corrected stored in the buffer memory, or an internal copy-back operation using the data stored in the page buffer in accordance with the number of error-corrected bits.

### Claim 2 (depends on 1)

The adaptive copy-back method of claim 1, wherein the external copy-back operation is selected if the number of error-corrected bits exceeds a threshold value, and the internal copy-back operation is selected if the number of error-corrected bits does not exceed the threshold value.

### Claim 3 (depends on 1)

The adaptive copy-back method of claim 1, wherein during the internal copy-back operation, the data stored in the page buffer is programmed in a target page of the non-volatile memory device without accessing the error-corrected data stored in the buffer memory.

### Claim 4 (depends on 1)

The adaptive copy-back method of claim 1, wherein during the external copy-back operation, the error-corrected data is read from the buffer memory, ECC is calculated and added to the error-corrected data, and the error-corrected data together with the added ECC are programmed in a target page of the non-volatile memory device.

### Claim 5 (depends on 1)

The adaptive copy-back method of claim 1, wherein the unit size is defined as a sector size.

### Claim 6 (depends on 1)

The adaptive copy-back method of claim 1, wherein the non-volatile memory device includes a flash memory chip.

### Claim 7 (depends on 6)

The adaptive copy-back method of claim 6, wherein the non-volatile memory device is a solid state drive (SDD) including a plurality of flash memory chips arranged in relation to a plurality of channels.

### Claim 8

An adaptive copy-back method comprising:
determining whether a performance reduction condition occurs due to a bottleneck phenomenon related to input/output (1/0) accesses to a buffer memory of a storage device;
selecting a first copy-back operation if the performance reduction condition occurs and selecting a second copy-back operation if the performance reduction condition does not occur, wherein upon selecting the first copy-back operation, data stored in a page buffer of a memory device is programmed in a target page of the memory device without accessing data stored in the buffer memory when a number of error-corrected bits per unit size of the data read from a source page to the page buffer is less than a threshold value, and
upon selecting the second copy-back operation, reading error-corrected data stored in the buffer memory and programming the error-corrected data in the target page of the memory device.

### Claim 9 (depends on 8)

The adaptive copy-back method of claim 8, wherein the performance reduction condition is determined based on a number of operations allocated to channels and ways of the storage device.

### Claim 10 (depends on 9)

The adaptive copy-back method of claim 9, wherein the performance reduction condition is determined within a range of the number of operations allocated to channels and ways when a variation in a value of (1/0) operations per second (IOPS) according to a variation in the number of operations allocated to the channels and ways exceeds a reference value.

### Claim 11 (depends on 8)

The adaptive copy-back method of claim 8, wherein the first copy-back operation comprises:
reading data from the source page of the memory device and storing the data in the page buffer of the memory device;
performing error correction on the data stored in the page buffer to determine a number of error-corrected bits per unit size and to generate the error-corrected data;
storing the error-corrected data in the buffer memory;
upon determining that the number of error-corrected bits per unit size exceeds a threshold value, reading the error-corrected data from the buffer memory, adding error correction code (ECC), and programming the error-corrected data together with the ECC in the target page of the memory device; and
upon determining that the number of error-corrected bits per unit size does not exceed the threshold value, programming the data stored in the page buffer in the target page of the memory device without accessing the buffer memory.

### Claim 12 (depends on 8)

The adaptive copy-back method of claim 8, wherein the second copy-back operation comprises:
reading data from the source page of the memory device;
performing error correction on the read data using ECC to generate the error-corrected data;
storing the error-corrected data in the buffer memory; and thereafter, programming the error-corrected data together with corresponding ECC in the target page of the memory device.

### Claim 13 (depends on 8)

The adaptive copy-back method of claim 8, wherein each one of the first copy-back operation and the second copy-back operation is performed during a garbage collection process.

### Claim 14

A storage device comprising:
a non-volatile memory device comprising a page buffer that temporarily stores data read from at least one source page;
a buffer memory external to the non-volatile memory device; and
a memory controller that performs error correction on the data provided from the page buffer to generate error-corrected data and determine a number of error-correct bits per unit size of the data, stores the error-corrected data in the buffer memory, and then selectively performs, in view of the number of error-corrected bits per unit size of the data, one of an external copy-back operation using the error-corrected data stored in the buffer memory, and an internal copy-back operation using the data stored in the page buffer.

### Claim 15 (depends on 14)

The storage device of claim 14, wherein upon determining that the number of error-corrected bits per unit size exceeds a threshold value, the memory controller selects the external copy-back operation that reads the error-corrected data from the buffer memory, calculates and adds ECC to the error-corrected data, and then programs the error-corrected data together with the added ECC in a target page of the memory device.

### Claim 16 (depends on 15)

The storage device of claim 15, wherein upon determining that the number of error-corrected bits per unit size does not exceeds the threshold value, the memory controller selects the internal copy-back operation that programs the data stored in the page buffer in the target page of the memory device without accessing data stored in the buffer memory.

### Claim 17

A method of operating a storage device including a non-volatile memory device having multiple non-volatile memory chips arranged in operation according to multiple channels and a volatile buffer memory, the method comprising:
during a garbage collection process for the non-volatile memory device, determining whether a performance reduction condition exists by determining a number of the multiple channels accessing the buffer memory; and
upon determining that the performance reduction condition exists, performing at least one copy-back operation,
wherein the at least one copy-back operation is an external copy-back operation that transfers data stored in the buffer memory to the non-volatile memory when a number of error-corrected bits per unit size for data stored in a page buffer of the non-volatile memory device exceeds a threshold value, or
the at least one copy-back operation is an internal copy-back operation that does not transfer data stored in the buffer memory to the non-volatile memory when the number of error-corrected bits per unit size for the data stored in the page buffer does not exceed the threshold value.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
reading data from a source page of the non-volatile memory device and storing the data in the page buffer;
performing error correction on the data stored in the page buffer according to a given unit size using error correction code (ECC) to determine the number of error-corrected bits and generate the error-corrected data; and
storing the error-corrected data in the buffer memory.

### Claim 19 (depends on 18)

The method of claim 18, wherein during the internal copy-back operation, the data stored in the page buffer is programmed in a target page of the non-volatile memory device without accessing the error-corrected data stored in the buffer memory.

### Claim 20 (depends on 19)

The method of claim 19, wherein during the external copy-back operation, the error-corrected data is read from the buffer memory, ECC is calculated and added to the error-corrected data, and the error-corrected data together with the added ECC are programmed in the target page of the non-volatile memory device.
