IP Library Granted Patent US 10,776,027
Granted Patent B2
US 10,776,027 · App. 16/119,477 · Granted Sep 15, 2020

Storage device and method of operating the same

Inventor: Ji Hoon Lee (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/064G06F3/0604G06F3/0644G06F3/0653G06F3/0659G06F3/0673G06F11/1048G06F11/1068G06F12/10G11C29/24G11C29/52G06F2212/1044G11C11/5621G11C11/5671G11C2211/5641
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 10,776,027
App. No.
16/119,477
Granted
Sep 15, 2020
Kind
B2
Abstract

Provided herein may be a storage device and a method of operating the same. The storage device for additionally securing an over-provisioning area may include at least one memory device, each including first memory blocks and second memory blocks, and a memory controller configured to store system data, stored in the first memory blocks of the at least one memory device, in the second memory blocks when a size of a residual space in a memory area of the at least one memory device is less than a threshold.

Claims (44)

1. A storage device, comprising:

at least one memory device, each including first memory blocks and second memory blocks; and

a memory controller configured to perform data migration to store system data, stored in the first memory blocks of the at least one memory device, in the second memory blocks when a size of a residual space in a memory area of the at least one memory device is less than a threshold and configured to allocate an over-provisioning area of the memory area based on a size of an extra area obtained by the data migration in a system area of the memory area.

2. The storage device according to claim 1 , wherein:

the memory area is divided into a main data area in which data is stored and a system data area,

the main data area is subdivided into a used space in which data is stored and the residual space, and

the system data area is subdivided into the system area in which the system data is stored and the over-provisioning area that is a reserved space required to maintain performance of the storage space.

3. The storage device according to claim 2 , wherein the memory controller comprises:

a storage space monitor configured to compare the size of the residual space with the threshold; and

a system area setting unit configured to store the system data, stored in the first memory blocks, in the second memory blocks and then secure the extra area in the system area when the size of the residual space is less than the threshold, and to allocate the over-provisioning area based on a size of the secured extra area.

4. The storage device according to claim 3 , wherein the system area setting unit is configured to separate the system data, stored in the first memory blocks, into system chunks to be distributed to and stored in the second memory blocks, and to generate parity system data that is used to recover the system data using the system chunks.

5. The storage device according to claim 4 , wherein the system area setting unit is configured to respectively store the system chunks and the parity system data in the second memory blocks included in the at least one memory device.

6. The storage device according to claim 4 , wherein the parity system data is generated by performing an exclusive OR (XOR) operation on the system chunks.

7. The storage device according to claim 1 , wherein:

the first memory blocks include memory cells to store N data bits, wherein N is a natural number, and

the second memory blocks include memory cells to store M data bits, wherein M is greater than N.

8. The storage device according to claim 1 , wherein the system data is any one of map data related to mapping information between logical addresses provided from an external host and physical addresses of the at least one memory device, boot information related to information required for a boot operation of the storage device, and setting information used for an operation of firmware of the memory controller.

9. A memory controller for controlling a plurality of memory devices, each including first memory blocks and second memory blocks, the memory controller comprising:

a storage space monitor configured to compare a size of a residual space in a memory area of each of the plurality of memory devices with a threshold; and

a system area setting unit configured to perform data migration to store system data, stored in the first memory blocks, in the second memory blocks when the size of the residual space is less than the threshold and configured to allocate an over-provisioning area of the memory area based on a size of an extra area obtained by the data migration in a system area of the memory area.

10. The memory controller according to claim 9 , wherein:

the memory area is divided into a main data area in which data is stored and a system data area,

the main data area is subdivided into a used space in which data is stored and the residual space, and

the system data area is subdivided into the system area in which the system data is stored and the over-provisioning area that is a reserved space required to maintain performance of the storage space.

11. The memory controller according to claim 10 , wherein the system area setting unit is configured to separate the system data, stored in the first memory blocks, into system chunks to be distributed to and stored in the second memory blocks, and to generate parity system data that is used to recover the system data using the system chunks.

12. The memory controller according to claim 11 , wherein the system area setting unit is configured to respectively store the system chunks and the parity system data in the second memory blocks included in the plurality of memory devices.

13. The memory controller according to claim 11 , wherein the parity system data is generated by performing an exclusive OR (XOR) operation on the system chunks.

14. The memory controller according to claim 9 , wherein:

the first memory blocks include memory cells to store N data bits, wherein N is a natural number, and

the second memory blocks include memory cells to store M data bits, wherein M is greater than N.

15. The memory controller according to claim 9 , wherein the system data is any one of map data related to mapping information between logical addresses provided from an external host and physical addresses of the plurality of memory devices, boot information related to information required for a boot operation of the storage device, and setting information used for an operation of firmware of the memory controller.

16. A method of operating a memory controller, the memory controller controlling a plurality of memory devices, each including first memory blocks and second memory blocks, the method comprising:

determining whether a size of a residual space in a memory area of each of the plurality of memory devices is less than a threshold;

storing system data, stored in the first memory blocks, in the second memory blocks when the size of the residual space is less than the threshold; and

allocating an over-provisioning area of the memory area based on a size of an extra area, obtained by storing the system data, in a system area of the memory area.

17. The method according to claim 16 , wherein storing the system data in the second memory blocks comprises:

separating the system data, stored in the first memory blocks, into system chunks to be distributed to and stored in the second memory blocks;

generating parity system data that is used to recover the system data using the system chunks; and

respectively storing the system chunks and the parity system data in the second memory blocks included in the plurality of memory devices.

18. The method according to claim 16 , where determining whether the size of the residual space is less than the threshold is periodically performed whenever a preset time has elapsed, is performed at a preset point in time, or is performed whenever a write operation of writing data to the plurality of memory devices or an erase operation of erasing data, stored in the plurality of memory devices, is completed.

19. The method according to claim 16 , wherein:

the first memory blocks include memory cells to store N data bits, wherein N is a natural number, and

the second memory blocks include memory cells to store M data bits, wherein M is greater than N.

20. The method according to claim 16 , wherein the system data is any one of map data related to mapping information between logical addresses provided from an external host and physical addresses of the plurality of memory devices, boot information related to information required for a boot operation of the storage device, and setting information used for an operation of firmware of the memory controller.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2018
From: LEE, JI HOON
To: SK HYNIX INC.
Reel/Frame 046999/0175 →
Priority Claims (1)
KR 10-2017-0174480 · Dec 18, 2017 · national
Continuity (1)
Related Publication 20190187902A1 · Jun 20, 2019
Cited By (1)
US 12,688,121