IP Library Granted Patent US 9,142,301
Granted Patent B2
US 9,142,301 · App. 14/149,484 · Granted Sep 22, 2015

Data writing method and system

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 9,142,301
App. No.
14/149,484
Granted
Sep 22, 2015
Kind
B2
Abstract

A data writing method for writing data to a flash memory includes writing an initial value to the data storage area, determining whether or not the writing of the initial value is performed normally based on a write flag, writing data to the data storage area when the writing is performed normally, and erasing a block including the data storage area when the writing is not performed normally. An initial value is written to the data storage area before writing data, so that whether or not an error correction code storage area contains the initial value may be confirmed. An erase operation of the block is performed only when the error correction code storage area does not contain the initial value, so that the number of times of erasure of the block may be reduced and the life of the product may be increased.

Claims (40)

1. A data writing method for writing data to a flash memory comprising a data storage area and an error correction code storage area, the method comprising:

writing an initial value to the data storage area;

setting a write flag based on the writing of the initial value;

determining, based on the write flag, whether or not the writing of the initial value is performed normally;

writing data to the data storage area when the writing is performed normally; and

erasing a block comprising the data storage area when the writing is not performed normally.

2. The data writing method according to claim 1 , wherein N-hit wide data is written to the flash memory, N being a positive integer, and one address is given to the data storage area being 2N-bit width.

3. The data writing method according to claim 2 , wherein based on data stored in the data storage area being 2N-bit wide, an error correction code to be stored in the error correction code storage area corresponding to the data storage area is calculated.

4. The data writing method according to claim 1 , wherein the N-bit wide data is written to the flash memory, N being a positive integer, and the initial value has N bits.

5. The data writing method according to claim 4 , wherein the N is 16 and the initial value is hexadecimal FFFF.

6. A system, comprising;

a CPU:

a flash memory comprising a data storage area and an error correction code storage area; and

a flash memory control circuit controlling the flash memory based on an instruction from the CPU, wherein the flash memory control circuit:

performs writing of an initial value to the data storage area;

setting a write flag based on the writing of the initial value;

determines, based on the write flag, whether or not the writing of the initial value is performed normally;

writes data to the data storage area when the writing is performed normally; and

erases a block comprising the data storage area when the writing is not performed normally.

7. The system according to claim 6 , further comprising a data bus being N-bit wide coupled between the flash memory and the flash memory control circuit, N being a positive integer, wherein the flash memory control circuit writes data to the data storage area corresponding to one address via the data bus more than once.

8. The system according to claim 7 , wherein the flash memory control circuit, based on data stored in the data storage area being 2N-bit wide, calculates an error correction code to be stored in the error correction code storage area corresponding to the data storage area.

9. The system according to claim 6 , further comprising a data bus being N-bit wide, coupled between the flash memory and the flash memory control circuit, N being a positive integer, wherein the initial value having N bits is written to the data storage area.

10. The system according to claim 9 , wherein the N is 16 and the initial value is hexadecimal FFFF.

11. A memory system comprising:

a memory comprising a data storage area and an error correction code storage area; and

a memory controller configured to:

control the memory based on an instruction input to the memory system;

write an initial value to the data storage area;

set a write flag based on the writing of the initial value;

determine, based on the write flag, whether or not the writing of the initial value is performed normally;

write data to the data storage area when the writing is performed normally; and

erase a block comprising the data storage area when the writing is not performed normally.

12. The memory system of claim 11 , further comprising:

a data bus being N-bit wide coupled between the memory and the memory controller, N being a positive integer, wherein the memory controller writes data to the data storage area corresponding to one address via the data bus more than once.

13. The memory system of claim 12 , wherein the memory controller, based on data stored in the data storage area being 2N-bit wide, calculates an error correction code to be stored in the error correction code storage area corresponding to the data storage area.

14. The memory system of claim 11 further comprising:

a data bus being N-bit wide, coupled between the memory and the memory controller, N being a positive integer, wherein the initial value having N bits is written to the data storage area.

15. The memory system according to claim 14 , wherein the N is 16 and the initial value is hexadecimal FFFF.

16. The memory system of claim 11 , wherein the memory is a flash memory.

17. The memory system of claim 11 , wherein the instruction input to the memory system is from a CPU.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: CYPRESS SEMICONDUCTOR CORPORATION
To: INFINEON TECHNOLOGIES LLC
Reel/Frame 059721/0467 →
RELEASE OF SECURITY INTEREST Recorded Mar 16, 2022
From: MUFG UNION BANK, N.A.
To: CYPRESS SEMICONDUCTOR CORPORATION; SPANSION LLC
Reel/Frame 059410/0438 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST Recorded Dec 5, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MUFG UNION BANK, N.A.
Reel/Frame 051209/0721 →
CORRECTIVE ASSIGNMENT TO CORRECT THE FOLLOWING NUMBERS 6272046,7277824,7282374,7286384,7299106,7337032,7460920,7519447 PREVIOUSLY RECORDED ON REEL 039676 FRAME 0237. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 16, 2018
From: CYPRESS SEMICONDUCTOR CORPORATION
To: MORGAN STANLEY SENIOR FUNDING
Reel/Frame 047797/0854 →