IP Library Granted Patent US 8,738,987
Granted Patent B2
US 8,738,987 · App. 13/142,605 · Granted May 27, 2014

Memory controller and memory management method

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 8,738,987
App. No.
13/142,605
Granted
May 27, 2014
Kind
B2
Abstract

Provided is a memory controller that generates Error Correction Code (ECC) information for data based on a required reliability level predetermined based on a type of the data, that computes an ECC code for the data based on the ECC information, and that records the ECC code in a memory based on the ECC information.

Claims (41)

1. A memory controller for managing a nonvolatile memory device comprising pages that are organized into memory blocks, comprising:

an Error Correction Code (ECC) generation unit to generate ECC information for data based on a required reliability level, the required reliability level being predetermined based on a type of the data;

an ECC operation unit to compute an ECC code for the data based on the ECC information; and

an ECC record unit to record the ECC code in a page of the nonvolatile memory device based on the ECC information,

wherein the page is configured to store the data and the ECC code independent of the required reliability level of the data.

2. The memory controller of claim 1 , wherein the required reliability level is predetermined based on the type of the data, and then is recorded in an address mapping table, and

wherein the ECC generation unit determines the required reliability level based on the address mapping table, and generates the ECC information.

3. The memory controller of claim 1 , further comprising:

an ECC read unit to read the ECC code from the memory based on the ECC information, when the data is read from the memory;

a second ECC operation unit to compute a second ECC code for the read data based on the ECC information; and

an error detection unit to compare the read ECC code with the second ECC code, based on the ECC information, to detect whether an error occurs in the read data, and to correct the error when the error is detected.

4. The memory controller of claim 1 , wherein, when a required reliability level of the data is a first required reliability level, the ECC operation unit computes a first ECC code for the data based on an entirety of the page where the data is to be recorded,

wherein, when the required reliability level of the data is a second required reliability level, the ECC operation unit computes a second ECC code for the data for each sector of the page where the data is to be recorded, and

wherein the first required reliability level exceeds the second required reliability level.

5. The memory controller of claim 4 , wherein the ECC record unit records the first ECC code on a predetermined sector of the page, and records the second ECC code on a spare portion of the memory.

6. The memory controller of claim 1 , wherein, when the data is metadata, a required reliability level of the metadata is predetermined as a first required reliability level,

wherein, when the data is user data, a required reliability level of the user data is predetermined as a second required reliability level, and

wherein the first required reliability level exceeds the second required reliability level.

7. The memory controller of claim 1 , wherein, when the data is metadata, the ECC operation unit computes a first ECC code for the metadata based on an entirety of the page where the metadata is to be recorded, and

wherein, when the data is user data, the ECC operation unit computes a second ECC code for the user data for each sector of the page where the user data is to be recorded.

8. The memory controller of claim 7 , wherein the ECC record unit records the first ECC code on a predetermined sector of the page, and records the second ECC code on a spare portion of the memory.

9. A memory management method for managing a nonvolatile memory device comprising pages that are organized into memory blocks, comprising:

generating Error Correction Code (ECC) information for data based on a required reliability level, the required reliability level being predetermined based on a type of the data;

computing an ECC code for the data based on the ECC information; and

recording the ECC code in a page of the nonvolatile memory device based on the ECC information,

wherein the page of the nonvolatile memory device where the ECC code is recorded is independent of the required reliability level of the data.

10. The memory management method of claim 9 , wherein the required reliability level is predetermined based on the type of the data, and then is recorded in an address mapping table, and

wherein the generating of the ECC information comprises determining the required reliability level based on the address mapping table, and generating the ECC information.

11. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 10 .

12. The memory management method of claim 9 , further comprising:

reading the ECC code from the memory based on the ECC information, when the data is read from the memory; and

computing a second ECC code for the read data based on the ECC information; and

comparing the ECC code with the second ECC code based on the ECC information, detecting whether an error occurs in the read data, and correcting the error when the error is detected.

13. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 12 .

14. The memory management method of claim 9 , wherein the computing of the ECC code comprises:

when the data is metadata, computing a first ECC code for the metadata based on an entirety of the page where the metadata is to be recorded; and

when the data is user data, computing a second ECC code for the user data for each sector of the page where the user data is to be recorded.

15. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 14 .

16. The memory management method of claim 14 , wherein the recoding of the ECC code comprises recording the first ECC code on a predetermined sector of the page, and recording the second ECC code on a spare portion of the memory.

17. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 16 .

18. A non-transitory computer readable recording medium storing a program to cause a computer to implement the method of claim 9 .

Assignments (15)
MERGER Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: K.K. PANGEA
Reel/Frame 055659/0471 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: K.K. PANGEA
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 055669/0401 →
CHANGE OF NAME AND ADDRESS Recorded Jan 22, 2021
From: TOSHIBA MEMORY CORPORATION
To: KIOXIA CORPORATION
Reel/Frame 055669/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2017
From: TOSHIBA CORPORATION
To: TOSHIBA MEMORY CORPORATION
Reel/Frame 043620/0430 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: OCZ STORAGE SOLUTIONS, INC.
To: TOSHIBA CORPORATION
Reel/Frame 038434/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2016
From: INDILINX CO. LTD.
To: TOSHIBA CORPORATION
Reel/Frame 038285/0490 →
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 031611/0168) Recorded Apr 8, 2014
From: COLLATERAL AGENTS, LLC
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0455 →
RELEASE OF SECURITY INTEREST BY BANKRUPTCY COURT ORDER (RELEASES REEL/FRAME 030092/0739) Recorded Apr 8, 2014
From: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 032640/0284 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE AND ATTACH A CORRECTED ASSIGNMENT DOCUMENT PREVIOUSLY RECORDED ON REEL 032365 FRAME 0920. ASSIGNOR(S) HEREBY CONFIRMS THE THE CORRECT EXECUTION DATE IS JANUARY 21, 2014. Recorded Mar 18, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032461/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 27, 2014
From: OCZ TECHNOLOGY GROUP, INC.
To: TAEC ACQUISITION CORP.
Reel/Frame 032365/0920 →
CHANGE OF NAME Recorded Feb 27, 2014
From: TAEC ACQUISITION CORP.
To: OCZ STORAGE SOLUTIONS, INC.
Reel/Frame 032365/0945 →
SECURITY AGREEMENT Recorded Nov 11, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: COLLATERAL AGENTS, LLC
Reel/Frame 031611/0168 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2013
From: INDILINX CO., LTD.
To: OCZ TECHNOLOGY GROUP, INC.
Reel/Frame 030798/0799 →
SECURITY AGREEMENT Recorded Mar 27, 2013
From: OCZ TECHNOLOGY GROUP, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC.
Reel/Frame 030092/0739 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2011
From: AHN, BYOUNG-YOUNG; CHUNG, HYUN-MO
To: INDILINX CO., LTD.
Reel/Frame 026798/0031 →