IP Library Granted Patent US 11,294,587
Granted Patent B2
US 11,294,587 · App. 16/659,292 · Granted Apr 5, 2022

Data storage device capable of maintaining continuity of logical addresses mapped to consecutive physical addresses, electronic device including the same, and method of operating the data storage device

Inventor: Hye Mi Kang (Seongnam, KR)
Assignee: SK hynix Inc.
G06F3/064G06F3/0604G06F3/0659G06F3/0665G06F3/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 11,294,587
App. No.
16/659,292
Granted
Apr 5, 2022
Kind
B2
Abstract

A data storage device includes a memory device and a controller. The memory device includes a rare open block that stores data corresponding to a re-allocated invalid logical address and a normal open block that stores data corresponding to a newly allocated free logical address. The controller determines whether to store write data in the rare open block or the normal open block based on information included in a write command received from a host, and controls the memory device to store the write data in the rare open block or the normal open block according to a result of the determination.

Claims (41)

1. A data storage device, comprising:

a memory device including a first open block and a second open block; and

a controller configured to receive a write command, write data, and a write logical address from a host, wherein the write command includes information for distinguishing an address type to which a write operation is allocated,

wherein the information indicates whether the address type is an unallocated logical address type or an invalid logical address type, the unallocated logical address type indicates an address that has not yet been assigned to any data, and the invalid logical address type indicates an address generated by invalidating an old logical address assigned to old data before the old data is updated with new data,

wherein the controller determines whether to store the write data in the first open block or the second open block based on the information included in the write command, and controls the memory device to store the write data in the first open block or the second open block according to a result of the determination.

2. The data storage device according to claim 1 , wherein the information corresponds to a value of a specific bit of the write command that is in a set state or a reset state.

3. The data storage device according to claim 2 , wherein, when the specific bit of the write command is in the set state, the controller determines that the write logical address has the invalid logical address type.

4. The data storage device according to claim 3 , wherein the controller determines whether a first closed block corresponding to a logical address for the latest data that is previously stored in the first open block is different from a second closed block corresponding to the write logical address for the write data that is currently stored in the first open block.

5. The data storage device according to claim 4 , wherein, when the first closed block is different from the second closed block, the controller merges first data, which corresponds to one or more first logical addresses associated with the first closed block, among data stored in the first open block, and second data, which corresponds to the remaining logical addresses except for the first logical addresses among all logical addresses associated with the first closed block, among data stored in the first closed block, and controls the memory device to store the merged data in a free memory block of the memory device.

6. The data storage device according to claim 5 , wherein the controller merges the first data of the first open block and the second data of the first closed block such that the first logical addresses and the remaining logical addresses are consecutively aligned.

7. The data storage device according to claim 6 , wherein the controller performs a map update operation for mapping the first logical addresses and the remaining logical addresses that are consecutively aligned to physical addresses of the free memory block.

8. The data storage device according to claim 2 , wherein, when the specific bit of the write command is in the reset state, the controller determines that the write logical address is the unallocated logical address.

9. An electronic device, comprising:

a host configured to transmit a write command, a write logical address, and write data to a data storage device, wherein the write command includes information for distinguishing an address type to which a write operation is allocated, wherein the information indicates whether the address type is an unallocated free logical address type or an invalid logical address type, the unallocated free logical address type indicates an address that has not yet been assigned to any data, and the invalid logical address type indicates an address generated by invalidating an old logical address assigned to old data before the old data is updated with new data; and

the data storage device configured to allocate a first open block to store the write data when the write logical address has the invalid logical address type, and allocate a second open block to store the write data when the write logical address has the unallocated free logical address type, among a plurality of memory blocks of the memory device, according to the information included in the write command received from the host.

10. The electronic device according to claim 9 , wherein the information corresponds to a value of a specific bit of the write command that is in a set state or a reset state, and

when the invalid logical address type is used as the write logical address, the host sets the specific bit of the write command to the set state and transmits the write command to the data storage device.

11. The electronic device according to claim 10 , wherein the data storage device determines whether a first closed block corresponding to a logical address for the latest data that is previously stored in the first open block is different from a second closed block corresponding to the invalid logical address, and

when the first closed block is different from the second closed block, the data storage device merges first data, which corresponds to one or more first logical addresses associated with the first closed block among data stored in the first open block, and second data, which corresponds to the remaining logical addresses except for the one or more first logical addresses among all logical addresses associated with the first closed block, among data stored in the first closed block, and stores the merged data in a free memory block among the plurality of memory blocks of the memory device.

12. The electronic device according to claim 11 , wherein the data storage device merges the first data of the first open block and the second data of the first closed block such that the first logical addresses and the remaining logical addresses are consecutively aligned, and

the data storage device performs a map update operation for mapping the first logical addresses and the remaining logical addresses that are consecutively aligned to physical addresses of the free memory block.

13. The electronic device according to claim 9 , wherein the host manages a logical address structure composed of a plurality of sections, each of which includes a plurality of logical addresses, selects a first section including one or more invalid logical addresses from the plurality of sections, selects a second section including unallocated free logical addresses from the plurality of sections, moves valid logical address included in the first section to the second section, and transmits an unmap command for the valid and invalid logical addresses included in the first section to the data storage device.

14. A method of operating a data storage device, the method comprising:

receiving a write command, write data, and a write logical address from a host;

allocating a first open block and a second open block;

determining whether to store the write data in the first open block or the second open block based on information included in the write command, wherein the information is for distinguishing an address type to which a write operation is allocated; and

controlling the memory device to store the write data in the first open block or the second open block according to a result of the determination,

wherein the information indicates whether the address type is an unallocated logical address type or an invalid logical address type,

the unallocated logical address type indicates an address that has not yet been assigned to any data, and

the invalid logical address type indicates an address generated by invalidating an old logical address assigned to old data before the old data is updated with new data.

15. The method according to claim 14 , wherein the information corresponds to a value of a specific bit of the write command that is in a set state or a reset state, and

wherein determining whether to store the write data in the first open block or the second open block comprises:

determining whether the specific bit is in the set state or the reset state; and

determining that the write data is to be stored in the first open block when the specific bit is in the set state and that the write data is to be stored in the second open block when the specific bit is in the reset state.

16. The method according to claim 15 , further comprising:

determining whether a first closed block corresponding to a logical address for the latest data that is previously stored in the first open block is different from a second closed block corresponding to a write logical address received together with the write command from the host when the specific bit is in the set state; and

merging first data, which corresponds to one or more first logical addresses associated with the first closed block, among data stored in the first open block, and second data, which corresponds to the remaining logical addresses except for the one or more first logical addresses among all logical addresses associated with the first closed block, among data stored in the first closed block when the first closed block is different from the second closed block, and storing the merged data in a free memory block of the memory device.

17. The method according to claim 16 , wherein merging the first data and the second data comprises:

merging the first data of the first open block and the second data of the first closed block such that the one or more first logical addresses and the remaining logical addresses are consecutively aligned.

18. The method according to claim 17 , further comprising, after merging the first data and the second data and storing the merged data in the free memory block of the memory device:

performing a map update operation for mapping the first logical addresses and the remaining logical addresses that are consecutively aligned to physical addresses of the free memory block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2024
From: SK HYNIX INC.
To: MIMIRIP LLC
Reel/Frame 067335/0246 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2019
From: KANG, HYE MI
To: SK HYNIX INC.
Reel/Frame 050789/0739 →
Priority Claims (1)
KR 10-2019-0049185 · Apr 26, 2019 · national
Continuity (1)
Related Publication 20200341636A1 · Oct 29, 2020