IP Library › Granted Patent US 11,139,020
Granted Patent B2
US 11,139,020 · App. 16/521,165 · Granted Oct 5, 2021

Memory controller and method of operating the same

Inventors: Eu Joon Byun (Gyeonggi-do, KR); Jea Young Zhang (Gyeonggi-do, KR)
Assignee: SK hynix Inc.
G11C11/409G06F11/1016G06F13/1668G06F2212/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,139,020
App. No.
16/521,165
Granted
Oct 5, 2021
Kind
B2
Abstract

A memory controller includes a mapping data controller configured to generate extended mapping data including mapping information and an additional field in response to an extended mapping data request received from a host and to generate data generation information indicating that the extended mapping data has been generated, wherein the mapping information indicates a mapping relationship between a logical block address and a physical block address and a bitmap information generator configured to receive the data generation information and generate bitmap information. The bitmap information may include information for changing a bit value corresponding to a mapping data group including the extended mapping data, among bit values included in a bitmap, to indicate the extended mapping data, and the mapping data group may include a plurality of pieces of mapping data.

Claims (47)

1. A memory controller for controlling a memory device, comprising:

a mapping data controller configured to generate extended mapping data including mapping information and an additional field in response to an extended mapping data request received from a host and to generate data generation information indicating that the extended mapping data has been generated, wherein the mapping information indicates a mapping relationship between a logical block address and a physical block address; and

a bitmap information generator configured to receive the data generation information and generate bitmap information,

wherein the bitmap information includes information for changing a bit value corresponding to a mapping data group including the extended mapping data, among bit values in a bitmap stored in the memory device, to indicate the extended mapping data, and

wherein the mapping data group comprises a plurality of pieces of mapping data.

2. The memory controller according to claim 1 ,

wherein the extended mapping data includes a logical block address of a hot data, and

wherein the hot data is determined based on a frequency with which the host outputs a specific logical block address to the memory controller.

3. The memory controller according to claim 1 , wherein the mapping data controller is configured to generate normal mapping data including the mapping information indicating the mapping relationship between the logical block address and the physical block address in response to the extended mapping data request, and then generate the extended mapping data.

4. The memory controller according to claim 3 , wherein the additional field stores a number of updates of the extended mapping data.

5. The memory controller according to claim 3 , wherein the additional field stores data for error correction.

6. The memory controller according to claim 4 , wherein the mapping data controller is configured to:

accumulate, as the mapping data is updated in response to a request received from the host, the number of updates for each logical block address in the mapping data, and

generate, when the extended mapping data is generated, data indicative of the accumulated number of updates.

7. The memory controller according to claim 6 , wherein the mapping data controller is configured to:

receive first mapping data and a bit value corresponding to a mapping data group including the first mapping data from the memory device in response to a mapping data request received from the host, and

generate, when the mapping data request is a request for the extended mapping data, second mapping data based on the first mapping data and the bit value.

8. The memory controller according to claim 7 , wherein, when the first mapping data is the normal mapping data and the mapping data request is a request for the extended mapping data, the second mapping data is the extended mapping data.

9. The memory controller according to claim 4 , wherein the mapping data controller is configured to:

receive a mapping data request and third mapping data stored in the host from the host, and receive fourth mapping data corresponding to the mapping data request from the memory device, each of the third and fourth mapping data being the extended mapping data, and

output one of the third mapping data and the fourth mapping data to the memory device to read data corresponding to the outputted mapping data based on the number of updates stored in an additional field of each of the third mapping data and the fourth mapping data.

10. The memory controller according to claim 9 , wherein the mapping data controller is configured to:

output the third mapping data when the number of updates stored in the additional field of the third mapping data is greater than the number of updates stored in the additional field of the fourth mapping data, and

output the fourth mapping data when the number of updates stored in the additional field of the third mapping data is less than the number of updates stored in the additional field of the fourth mapping data.

11. A method of operating a memory controller for controlling a memory device, the method comprising:

receiving an extended mapping data request from a host;

generating normal mapping data including mapping information in response to the extended mapping data request, wherein the mapping information indicates a mapping relationship between a logical block address and a physical block address;

generating extended mapping data including the mapping information and an additional field;

generating data generation information indicating that the extended mapping data has been generated; and

receiving the data generation information and then generating bitmap information,

wherein the bitmap information includes information for changing a bit value corresponding to a mapping data group including the extended mapping data, among bit values in a bitmap stored in the memory device, to indicate the extended mapping data, and

wherein the mapping data group comprises a plurality of pieces of mapping data.

12. The method according to claim 11 , wherein the additional field stores a number of updates of the extended mapping data.

13. The method according to claim 11 , wherein the additional field stores data for error correction.

14. The method according to claim 12 , further comprising accumulating, when mapping data is updated in response to a request received from the host, the number of updates for each logical block address included in the mapping data.

15. The method according to claim 14 , wherein generating the extended mapping data includes generating the extended mapping data in which the accumulated number of updates is stored in the additional field.

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

receiving from the memory device first mapping data and a bit value corresponding to a mapping data group including the first mapping data in response to a mapping data request received from the host; and

generating, when the mapping data request is a request for the extended mapping data, second mapping data based on the first mapping data and the bit value.

17. The method according to claim 16 , wherein the second mapping data is the extended mapping data when the first mapping data is the normal mapping data and the mapping data request is a request for the extended mapping data.

18. The method according to claim 12 , further comprising:

receiving a mapping data request and third mapping data stored from the host, the third mapping data being extended mapping data;

receiving fourth mapping data corresponding to the mapping data request from the memory device, the fourth mapping data being extended mapping data; and

outputting one of the third mapping data and the fourth mapping data to the memory device to read data corresponding to the outputted mapping data based on the number of updates stored in an additional field of each of the third mapping data and the fourth mapping data.

19. The method according to claim 18 , wherein outputting one of the third mapping data and the fourth mapping data includes:

outputting the third mapping data when the number of updates stored in the additional field of the third mapping data is greater than the number of updates stored in the additional field of the fourth mapping data, and

outputting the fourth mapping data when the number of updates stored in the additional field of the third mapping data is less than the number of updates stored in the additional field of the fourth mapping data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 24, 2019
From: BYUN, EU JOON; ZHANG, JEA YOUNG
To: SK HYNIX INC.
Reel/Frame 049851/0290 →
Priority Claims (1)
KR 10-2018-0165688 · Dec 19, 2018 · national
Continuity (1)
Related Publication 20200202919A1 · Jun 25, 2020