IP Library Granted Patent US 8,769,377
Granted Patent B2
US 8,769,377 · App. 13/886,507 · Granted Jul 1, 2014

Error correction scheme for non-volatile memory

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,769,377
App. No.
13/886,507
Granted
Jul 1, 2014
Kind
B2
Abstract

Error correcting systems, methods, and devices for non-volatile memory are disclosed. In one embodiment, a non-volatile memory device comprises a data area for storing data, an error correcting code generation section for generating an error correcting code in response to receipt of a code generation command, and an error correcting code area for storing the error correcting code. The non-volatile memory device further comprises a detector circuit for detecting the generating of the error correcting code, and a read section for correcting the data stored in the data area based on the error correcting code upon the detecting of the generation of the error correcting code by the detector circuit, where the code generation command is forwarded by a memory controller when the data are is filled with the data beyond a threshold level

Claims (33)

1. A method for generating an error correcting code in a non-volatile memory device, the method comprising:

receiving a code generation command in a non-volatile memory device;

generating an error correcting code in response to receiving the code generation command;

storing the error correcting code in an error correcting code (ECC) area;

detecting a generated error correcting code; and

correcting data stored in a data area based on the error correcting code and in response to the detecting of the generated error correcting code.

2. The method of claim 1 , further comprising forwarding the code generation command by a memory controller of the non-volatile memory device when data in the data area reaches a threshold level.

3. The method of claim 1 , further comprising storing additional data in the data area.

4. The method of claim 3 , further comprising forwarding the code generation command by a memory controller of the non-volatile memory device when a size of the additional data and a size of data already stored in the data area approximates a total size of the data area.

5. The method according to claim 1 , wherein the generated error correcting code comprises a flag information in conjunction with the generating of the error correcting code.

6. The method according to claim 5 , wherein the flag information is stored in the ECC area.

7. The method according to claim 5 , wherein the detecting the generated error correcting code comprises detecting, in a detector circuit a generation of an error correcting code in response to the flag information.

8. The method according to claim 7 , wherein the detecting the generated error correcting code comprises receiving the flag information in the detector circuit from the ECC area.

9. The method according to claim 7 , further comprising:

outputting, from the detector circuit, a detection result representing that the error correcting code has not been generated when every bit of the error correcting code is the same; and

outputting a detection result representing that the error correcting code has been generated when at least one bit of the error correcting code is different from remaining bits of the error correcting code.

10. The method according to claim 1 , wherein the generated error correcting code comprises data stored in the data area that is output to a write buffer.

11. The method according to claim 1 , wherein the receiving the code generation command comprises receiving a code generation command designating a sector of the data area.

12. The method according to claim 11 , wherein the receiving the code generation command comprises decoding the code generation command to determine the sector of the data area designated by the code generation command.

13. The method according to claim 11 , wherein the detecting the generated error correcting code comprises restricting writing of data into the sector designated by the code generation command.

14. The method according to claim 11 , wherein the non-volatile memory device comprises a syndrome calculation circuit, a correction circuit, and a selector circuit.

15. The method according to claim 14 , wherein the correcting data stored in the data area comprises:

bringing the syndrome calculation circuit and the correction circuit into an active state;

selecting, by the selector circuit, the correction circuit as an input source;

reading data from the sector designated by the code generation command into the syndrome calculation circuit, the correction circuit, and the selector circuit;

calculating, in the syndrome calculation circuit, a syndrome from the data from the sector designated by the code generation command, and the error correcting code;

converting the data from the sector designated by the code generation command in the correcting circuit into corrected data based on the syndrome; and

outputting the corrected data.

16. The method according to claim 15 , wherein outputting the corrected data comprises outputting the corrected data from the selector circuit.

17. The method according to claim 1 , wherein the ECC area comprises a non-volatile memory.

18. The method according to claim 1 , wherein storing the error correcting code into the ECC area prohibits additional data from being stored in the data area.

19. The method according to claim 1 , wherein the generated error correcting code comprises an error correcting code generated in an error correcting code generation section.

20. The method according to claim 19 , wherein the error correcting code generation section is set to an inactive state before the code generation command is received.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2016
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MONTEREY RESEARCH, LLC
Reel/Frame 040911/0238 →
PARTIAL RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 11, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 039708/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2015
From: KASA, YASUSHI
To: SPANSION LLC
Reel/Frame 034721/0278 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Dec 30, 2014
From: BARCLAYS BANK PLC
To: SPANSION LLC; SPANSION INC.; SPANSION TECHNOLOGY INC.; SPANSION TECHNOLOGY LLC
Reel/Frame 034715/0305 →