IP Library Granted Patent US 11,567,863
Granted Patent B2
US 11,567,863 · App. 17/194,727 · Granted Jan 31, 2023

Storage device and operating method thereof

Inventors: Sung Jin Park (Gyeonggi-do, KR); Jee Yul Kim (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F12/0246G06F3/064G06F3/0614G06F3/0631G06F3/0652G06F3/0679G06F12/0253G06F12/0891G06F2212/7201
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,567,863
App. No.
17/194,727
Granted
Jan 31, 2023
Kind
B2
Abstract

The present disclosure relates to a storage device and an operating method thereof. The storage device includes a memory device including write-completed blocks storing data and free blocks each containing no data and a memory controller controlling the memory device to perform a garbage collection operation to store valid data stored in a victim block, among the write-completed blocks, in one of the free blocks based on the number of map segments including mapping information between logical addresses and physical addresses of the valid data, and erase counts of the free blocks.

Claims (34)

1. A storage device, comprising:

a memory device including write-completed blocks storing data and free blocks each containing no data; and

a memory controller controlling the memory device to perform a garbage collection operation to store valid data stored in a victim block, among the write-completed blocks, in one of the free blocks based on the number of map segments including mapping information between logical addresses and physical addresses of the valid data, and erase counts of the free blocks,

wherein the memory controller determines an attribute of the valid data stored in the victim block according to a result of comparing the number of map segments corresponding to valid data stored in the write-completed blocks with a threshold value.

2. The storage device of claim 1 , wherein the memory controller comprises:

a map table including mapping information between logical addresses and physical addresses of data stored in the write-completed blocks;

block information including information about the number of map segments corresponding to valid data stored in the write-completed blocks and erase count information indicating the erase counts of the free blocks;

a block allocation controller allocating a target block to store the valid data stored in the victim block based on the attribute of the valid data and the erase count information; and

an operation controller controlling the memory device to read the valid data stored in the victim block and store the read data in the target block.

3. The storage device of claim 2 , wherein the block allocation controller determines that the attribute of the valid data stored in the victim block is that the valid data is random data when the number of map segments corresponding to the valid data stored in the write-completed blocks exceeds the threshold value.

4. The storage device of claim 3 , wherein the block allocation controller allocates a free block having a smallest erase count, among the free blocks, as the target block when the attribute of the valid data stored in the victim block is determined to be random.

5. The storage device of claim 3 , wherein the block allocation controller allocates a free block having a smallest erase count, among free blocks having erase counts less than a threshold count, as the target block when the attribute of the valid data stored in the victim block is determined to be random.

6. The storage device of claim 2 , wherein the block allocation controller determines that the attribute of the valid data stored in the victim block is that the valid data is sequential data when the number of map segments corresponding to the valid data stored in the write-completed blocks is less than or equal to the threshold value.

7. The storage device of claim 6 , wherein the block allocation controller allocates a free block having a largest erase count, among the free blocks, as the target block when the attribute of the valid data stored in the victim block is determined to be sequential.

8. The storage device of claim 6 , wherein the block allocation controller allocates a free block having a largest erase count, among free blocks having erase counts less than a threshold count, as the target block when the attribute of the valid data stored in the victim block is determined to be sequential.

9. The storage device of claim 6 , wherein the block allocation controller calculates an average erase count of the free blocks and allocates one of free blocks having an erase count exceeding the average erase count as the target block when the attribute of the valid data stored in the victim block is determined to be sequential.

10. The storage device of claim 1 , wherein the victim block is determined based on a size of the valid data stored in the write-completed blocks.

11. The storage device of claim 1 , wherein the victim block is a memory block storing a least amount of valid data among the write-completed blocks.

12. A storage device, comprising:

a memory device including a plurality of memory blocks; and

a memory controller controlling the memory device to allocate a free block to store write data corresponding to a write request from a host, among free blocks each containing no data of the plurality of memory blocks, according to a size of data stored in the plurality of memory blocks and the number of map segments including mapping information between logical addresses and physical addresses of the data, and to store the write data in the free block in response to the write request,

wherein the memory controller predicts workload of the host based on a ratio of the number of write-completed blocks to the number of map segments corresponding to valid data stored in the plurality of memory blocks.

13. The storage device of claim 12 , wherein the memory controller comprises:

a map table including the mapping information between the logical addresses and the physical addresses of the data stored in the plurality of memory blocks;

block information including information about the number of write-completed blocks storing data, among the plurality of memory blocks, and information about the number of map segments corresponding to valid data stored in the plurality of memory blocks;

a block allocation controller allocating the free block to store the write data according to the workload; and

an operation controller controlling the memory device to store the write data in the free block.

14. The storage device of claim 13 , wherein the block allocation controller determines the workload to be a random workload when the number of map segments corresponding to the valid data stored in the plurality of memory blocks divided by the number of write-completed blocks exceeds a threshold ratio.

15. The storage device of claim 14 , wherein the block allocation controller allocates a free block having a smallest erase count, among the free blocks, as a memory block to store the write data in response to the random workload.

16. The storage device of claim 14 , wherein the block allocation controller allocates a free block having a smallest erase count, among free blocks having an erase count less than a threshold count, as a memory block to store the write data in response to the random workload.

17. The storage device of claim 13 , wherein the block allocation controller determines the workload to be a sequential workload when the number of map segments corresponding to the valid data stored in the plurality of memory blocks divided by the number of write-completed blocks is less than or equal to a threshold ratio.

18. The storage device of claim 17 , wherein the block allocation controller allocates a free block having a largest erase count, among the free blocks, as a memory block to store the write data in response to the sequential workload.

19. The storage device of claim 17 , wherein the block allocation controller allocates a free block having a largest erase count, among free blocks having an erase count less than a threshold count, as a memory block to store the write data in response to the sequential workload.

20. The storage device of claim 17 , wherein the block allocation controller calculates an average erase count of the free blocks and allocates one of free blocks having erase counts exceeding the average erase count as a memory block to store the write data in response to the sequential workload.

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 Mar 8, 2021
From: PARK, SUNG JIN; KIM, JEE YUL
To: SK HYNIX INC.
Reel/Frame 055521/0067 →
Priority Claims (1)
KR 10-2020-0111848 · Sep 2, 2020 · national
Continuity (1)
Related Publication 20220066925A1 · Mar 3, 2022