IP Library Granted Patent US 11,301,174
Granted Patent B2
US 11,301,174 · App. 16/904,178 · Granted Apr 12, 2022

Memory system, memory controller and method for operating memory system

Inventors: Hyun Tae Kim (Seoul, KR); Hye Mi Kang (Gyeonggi-do, KR); Eu Joon Byun (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G06F3/0659G06F3/0611G06F3/0616G06F3/0652G06F3/0673G06F2212/7211
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,301,174
App. No.
16/904,178
Granted
Apr 12, 2022
Kind
B2
Abstract

A memory system, a memory controller and a method for operating the memory system. The memory system manages a hot data pool and a cold data pool, each of which includes at least one among a plurality of memory blocks, writes read only data to the cold data pool, and controls the hot data pool and the cold data pool in garbage collection and wear leveling, thereby classifying data, less frequently updated, into cold data and improving the performance of garbage collection and wear leveling.

Claims (30)

1. A memory system comprising:

a memory device including a plurality of memory blocks; and

a memory controller configured to:

control the memory device,

manage a hot data pool including at least one of the plurality of memory blocks in which hot data is stored and a cold data pool including at least one of the plurality of memory blocks in which cold data is stored, each of which includes at least one among the plurality of memory blocks, and

write, when receiving from a host a read only write command which instructs a write operation on read only data, the read only data to the cold data pool to manage the read only data as cold data,

wherein the memory controller is further configured to determine whether a maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than a maximum value among erase-write cycle counts for the memory blocks in the cold data pool, and

exchange, in response to a determination that the maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than the maximum value among erase-write cycle counts for the memory blocks in the cold data pool, at least one among memory blocks in the cold data pool and at least one among memory blocks in the hot data pool with each other, in a wear leveling operation.

2. The memory system according to claim 1 , wherein the read only data is data for one among a multimedia file, an OS file and a library file.

3. The memory system according to claim 1 , wherein the read only data is data which is determined, by the host, as being updated equal to or less than a set threshold count during a set time period.

4. The memory system according to claim 1 , wherein the memory controller is further configured to exclude a memory block in the cold data pool from a target block of a garbage collection operation.

5. The memory system according to claim 1 , wherein the memory controller exchanges a memory block having a minimum erase-write cycle count among the memory blocks in the cold data pool and a memory block having the maximum erase-write cycle count among the memory blocks in the hot data pool, with each other in the wear leveling operation.

6. A memory controller comprising:

a memory interface configured to communicate with a memory device including a plurality of memory blocks; and

a control circuit configured to:

control the memory device,

manage a hot data pool including at least one of the plurality of memory blocks in which hot data is stored and a cold data pool including at least one of the plurality of memory blocks in which cold data is stored, each of which includes at least one among the plurality of memory blocks, and

write, when receiving from a host a read only write command which instructs a write operation on read only data, the read only data to the cold data pool to manage the read only data as cold data,

wherein the control circuit is further configured to determine whether a maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than a maximum value among erase-write cycle counts for the memory blocks in the cold data pool, and

exchange, in response to a determination that the maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than the maximum value among erase-write cycle counts for the memory blocks in the cold data pool, at least one among memory blocks in the cold data pool and at least one among memory blocks in the hot data pool with each other, in a wear leveling operation.

7. The memory controller according to claim 6 , wherein the control circuit is further configured to exclude a memory block in the cold data pool from a target block of a garbage collection operation.

8. The memory controller according to claim 6 , wherein the control circuit exchanges a memory block having a minimum erase-write cycle count among the memory blocks in the cold data pool and a memory block having the maximum erase-write cycle count among the memory blocks in the hot data pool, with each other in the wear leveling operation.

9. A method for operating a memory system, comprising:

generating a hot data pool including at least one of the plurality of memory blocks in which hot data is stored and a cold data pool including at least one of the plurality of memory blocks in which cold data is stored, each of which includes at least one among a plurality of memory blocks included in a memory device;

receiving, from a host, a read only write command which instructs a write operation on read only data;

writing the read only data to the cold data pool to manage the read only data as cold data;

determining whether a maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than a maximum value among erase-write cycle counts for the memory blocks in the cold data pool; and

exchanging, in response to a determination that the maximum value among erase-write cycle counts for the memory blocks in the hot data pool is greater than the maximum value among erase-write cycle counts for the memory blocks in the cold data pool, at least one among memory blocks in the cold data pool and at least one among memory blocks in the hot data pool with each other, in a wear leveling operation.

10. The method according to claim 9 , further comprising: excluding a memory block in the cold data pool from a target block of a garbage collection operation.

11. The method according to claim 9 , wherein a memory block having a minimum erase-write cycle count among the memory blocks in the cold data pool and a memory block having the maximum erase-write cycle count among the memory blocks in the hot data pool are exchanged with each other in the wear leveling operation.

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 Jun 17, 2020
From: KIM, HYUN TAE; KANG, HYE MI; BYUN, EU JOON
To: SK HYNIX INC.
Reel/Frame 052970/0766 →