IP Library › Granted Patent US 12,591,392
Granted Patent B2
US 12,591,392 · App. 18/497,603 · Granted Mar 31, 2026

Storage device updating attribute of data and operating method of the storage device

Inventor: Jin Woo Kim (Icheon-si, KR)
Assignee: SK hynix Inc.
G06F3/0659G06F3/0604G06F3/0619G06F3/0673
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 12,591,392
App. No.
18/497,603
Granted
Mar 31, 2026
Kind
B2
Abstract

A storage device may write data to a memory as requested by an external device. Subsequently, the storage device may update an attribute of the data based on an increment of an average program-erase cycle of the memory and whether the data has been overwritten. The attribute of the data may be one of a plurality of candidate attributes and the plurality of candidate attributes may include hot, cold, and warm.

Claims (73)

1 . A storage device comprising:

a memory including a plurality of blocks; and

a controller configured to:

write data to the memory in response to a request from an external device, and

update an attribute of the data based on an increment of an average program-erase cycle of the memory and whether the data has been overwritten,

wherein a first time point corresponds to a time of the write of the data to the memory;

wherein a second time point corresponds to a time of a determination of whether to perform the update of the attribute of the data;

wherein the controller is configured to determine average program-erase cycles of the memory for time periods according to an average of the number of times each of the plurality of blocks has been programmed after being erased during the time periods, respectively; and

wherein the controller is configured to determine the increment of the average program-erase cycle of the memory according to a first average program-erase cycle of the memory for a first time period corresponding to the first time point and a second average program-erase cycle of the memory for a second time period corresponding to the second time point.

2 . The storage device according to claim 1 ,

wherein the attribute of the data is configured to include a value corresponding to any one of a plurality of candidate attributes,

wherein the plurality of candidate attributes include hot, cold, and warm,

wherein the attribute of the data including hot indicates a data update frequency that is higher than or equal to a first threshold update frequency,

wherein the attribute of the data including cold indicates that the data update frequency is lower than or equal to a second threshold update frequency, and

wherein the attribute of the data including warm indicates that the data update frequency is between the first threshold update frequency and the second threshold update frequency.

3 . The storage device according to claim 1 , wherein the controller is configured to perform the determination of whether to update the attribute of the data when the data is overwritten, or when the data is a target of garbage collection.

4 . The storage device according to claim 1 ,

wherein the controller is configured to:

set the attribute of the data based on attribute information received from the external device.

5 . The storage device according to claim 2 ,

wherein the controller is configured to:

update the attribute of the data to be warm when it is determined that the data is not overwritten, the attribute of the data is hot, and the increment of the average program-erase cycle of the memory is equal to or greater than a first threshold value.

6 . The storage device according to claim 5 ,

wherein the controller is configured to:

update the attribute of the data to be cold when it is determined that the data is not overwritten, the attribute of the data is hot or warm, and the increment of the average program-erase cycle of the memory is equal to or greater than a second threshold value,

wherein the second threshold value is greater than the first threshold value.

7 . The storage device according to claim 2 ,

wherein the controller is configured to:

update the attribute of the data to be warm when it is determined that the data is overwritten, the attribute of the data is cold, and the increment of the average program-erase cycle of the memory is equal to or less than a third threshold value.

8 . The storage device according to claim 7 , wherein the controller is configured to:

update the attribute of the data to be hot when it is determined that the data is overwritten, the attribute of the data is cold or warm, and the increment of the average program-erase cycle of the memory is equal to or less than a fourth threshold value,

wherein the fourth threshold value is less than the third threshold value.

9 . An operating method of a storage device, the operating method comprising:

writing data requested by an external device to a memory including a plurality of blocks;

calculating an increment of an average program-erase cycle of the memory;

determining whether the data has been overwritten; and

updating an attribute of the data based on the increment of the average program-erase cycle and whether the data has been overwritten,

wherein a first time point corresponds to a time of the write of the data to the memory;

wherein a second time point corresponds to a time of a determination of whether to perform the update of the attribute of the data;

wherein the average program-erase cycle of the memory for time periods is determined according to an average of the number of times each of the plurality of blocks has been programmed after being erased during the time periods, respectively; and

wherein the increment of the average program-erase cycle of the memory is determined according to a first average program-erase cycle of the memory for a first time period corresponding to the first time point and a second average program-erase cycle of the memory for a second time period corresponding to the second time point.

10 . The operating method of claim 9 ,

wherein the attribute of data is configured to include a value corresponding to any one of a plurality of candidate attributes,

wherein the plurality of candidate attributes include hot, cold, and warm,

wherein the attribute of the data including hot indicates a data update frequency that is higher than or equal to a first threshold update frequency,

wherein the attribute of the data including cold indicates that the data update frequency is lower than or equal to a second threshold update frequency, and

wherein the attribute of the data including warm indicates that the data update frequency is between the first threshold update frequency and the second threshold update frequency.

11 . The operating method of claim 9 , wherein updating the attribute of the data comprises:

determining whether to update the attribute of the data when the data is overwritten, or when the data is target of garbage collection.

12 . The operating method of claim 10 ,

wherein updating the attribute of the data comprises:

updating the attribute of the data to be warm when it is determined that the data is not overwritten, the attribute of the data is hot, and the increment of the average program-erase cycle of the memory is equal to or greater than a first threshold value.

13 . The operating method of claim 12 , wherein the updating the attribute of the data further comprises:

updating the attribute of the data to be cold when it is determined that the data is not overwritten, the attribute of the data is hot or warm, and the increment of the average program-erase cycle of the memory is equal to or greater than a second threshold value,

wherein the second threshold value is greater than the first threshold value.

14 . The operating method of claim 10 ,

wherein the updating the attribute of the data comprises:

updating the attribute of the data to be warm when it is determined that the data is overwritten, the attribute of the data is cold, and the increment of the average program-erase cycle of the memory is equal to or less than a third threshold value.

15 . The operating method of claim 14 , wherein the updating the attribute of the data further comprises:

updating the attribute of the data to be hot when it is determined that the data is overwritten, the attribute of the data is cold or warm, and the increment of the average program-erase cycle of the memory is equal to or less than a fourth threshold value,

wherein the fourth threshold value is less than the third threshold value.

16 . A storage device comprising:

a memory including a plurality of memory blocks; and

a controller configured to:

determine average program-erase cycle of the memory for time periods according to an average of the number of times each of the plurality of memory blocks has been programmed after being erased during the time periods, respectively;

determine an increment of an average program-erase cycle of the plurality of memory blocks according to a first average program-erase cycle of the memory for a first time period corresponding to a first time point and a second average program-erase cycle of the memory for a second time period corresponding to a second time point, the first time point corresponding to a time when data requested by an external device is written to a target memory block among the plurality of memory blocks, and the second time point corresponding to a reference time point,

determine whether the data has been overwritten at the reference time point, and

update an attribute of the data based on the increment of the average program-erase cycle and whether the data has been overwritten;

wherein the attribute of the data is hot, cold, or warm,

wherein the reference time point is time point when the target memory block is determined as a victim memory block for garbage collection or when the data is overwritten,

wherein the attribute of the data including hot indicates a data update frequency that is higher than or equal to a first threshold update frequency,

wherein the attribute of the data including cold indicates that the data update frequency is lower than or equal to a second threshold update frequency, and

wherein the attribute of the data including warm indicates that the data update frequency is between the first threshold update frequency and the second threshold update frequency.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2023
From: KIM, JIN WOO
To: SK HYNIX INC.
Reel/Frame 065404/0802 →
Priority Claims (1)
KR 10-2023-0075926 · Jun 14, 2023 · national
Continuity (1)
Related Publication 20240419357A1 · Dec 19, 2024
References Cited (8)
US 11249652B1 · Kuzmin · 2022 [cited by examiner]
US 20110238892A1 · Tsai · 2011 [cited by examiner]
US 20190377494A1 · Rao · 2019 [cited by examiner]
US 20200097399A1 · Lee · 2020 [cited by examiner]
US 20220300184A1 · Yang · 2022 [cited by examiner]
US 20220405000A1 · Hong · 2022 [cited by examiner]
US 20240069782A1 · Bae · 2024 [cited by examiner]
KR 1020220169812A · 2022 [cited by applicant]