Method for rewriting data in a memory
First Claim
1. A method of writing rewrite data over existing data in a memory, the memory having a sector partitioned into a plurality of areas, the existing data being written at a same position in the respective areas, the method comprising:
- taking an exclusive-OR of the rewrite data and existing data at a target position in a first area;
taking an exclusive-OR of the exclusive-OR data, which is obtained by the previous exclusive-OR process, and existing data at the target position in a second area; and
performing a similar exclusive-OR process up to a final area, wherein in the course of repeating these exclusive OR processes, when the data at the target position in the area concerned are an initial value, then the most recent exclusive-OR data are written to the target position in the area concerned.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved method of rewriting data in a memory is provided. A flash memory has a sector partitioned into a plurality of areas. In the flash memory, data are written to a same position in the respective areas. When writing rewrite data, an exclusive-OR of the rewrite data and data at a target position in a first area is taken, and an exclusive-OR of the exclusive-OR data and data at the same position in a second area is taken. Similar steps are repeated in sequence for the rest of the areas. In the course of repeating these steps, when data at the target position of the area concerned are an initial value, then the most recent exclusive-OR data are written to the position in that area.
-
Citations
12 Claims
-
1. A method of writing rewrite data over existing data in a memory, the memory having a sector partitioned into a plurality of areas, the existing data being written at a same position in the respective areas, the method comprising:
-
taking an exclusive-OR of the rewrite data and existing data at a target position in a first area;
taking an exclusive-OR of the exclusive-OR data, which is obtained by the previous exclusive-OR process, and existing data at the target position in a second area; and
performing a similar exclusive-OR process up to a final area, wherein in the course of repeating these exclusive OR processes, when the data at the target position in the area concerned are an initial value, then the most recent exclusive-OR data are written to the target position in the area concerned. - View Dependent Claims (2)
-
-
3. A method of writing rewrite data over existing data in a memory, the memory having a sector partitioned into a plurality of areas to which the existing data have been written, the method comprising:
-
taking an exclusive-OR of the rewrite data and existing data in a first area of the sector;
taking an exclusive-OR of the exclusive-OR data, which is obtained by the previous exclusive-OR process, and existing data in a second area; and
performing a similar exclusive-OR processes up to a final area, wherein in the course of repeating these exclusive-OR processes, when the data in the area concerned are an initial value, the most recent exclusive-OR data is written to the area concerned. - View Dependent Claims (4)
-
-
5. A method of writing rewrite data over existing data in a memory, the memory having a sector and a pointer sector, the sector being partitioned into a plurality of areas, the existing data being written to the plurality of areas, a plurality of pointer data being written to the pointer sector such that the pointer data designate area numbers of the areas of the sector respectively, the method comprising:
-
taking an exclusive-OR of first pointer data and second pointer data in the pointer sector;
taking an exclusive-OR of the exclusive-OR pointer data, which is obtained by the previous exclusive-OR process, and third pointer data; and
performing a similar exclusive-OR processes up to final pointer data to read an ultimate area number, wherein the existing data are read from the area of the sector based on the ultimate area number, an exclusive-OR of this existing data and the rewrite data is taken to prepare new rewrite data, and then, when the area number is smaller than a number of the areas of the sector, the area number is incremented by 1 and the new rewrite data is written to the area of the incremented area number, and when the area number is equal to the number of the areas, all data within the sector are erased, the new rewrite data is written to the first area of the sector and the area number is set to 1. - View Dependent Claims (6)
-
-
7. A method of rewriting data in a memory, the memory having two sectors and a selector sector, each of the two sectors partitioned into a plurality of areas such that the data are written at identical positions in the respective areas, a plurality of selector data for selecting one of the two sectors being written to the selector sector, the method comprising:
-
taking an exclusive-OR of first selector data and second selector data in the selector sector;
taking an exclusive-OR of the exclusive-OR selector data, which is obtained by the previous exclusive-OR process, and third selector data;
performing a similar exclusive-OR process up to final selector data to read sector selection data, wherein an exclusive-OR of data at a target position in a first area of one of the two sectors designated by the sector selection data and rewrite data is taken, an exclusive-OR of the resulting exclusive-OR data and data at the target position in a second area of the same sector is taken, a similar exclusive-OR process is performed up to a final area, and in the course of performing these exclusive-OR processes, when data at the target position in an area is an initial value, then the most recent exclusive-OR data is written to the target position of that area. - View Dependent Claims (8, 9)
-
-
10. A method of rewriting data in two memories, each of the two memories having a sector, the sector having a plurality of areas to which data are written and a control area to which memory selection data and area designation data are written, the method comprising:
-
A) selecting one of the two memories based on memory selection data in the control areas of the two memories;
B) writing rewrite data to an area determined by the area designation data in the control area of the selected memory;
C) erasing data in the areas of the other memory in a piecemeal manner;
D) repeating the steps B and C until the rewrite data are written to all the areas of the selected memory, such that erasing of the data within all the areas of the other memory is completed when the rewrite data are written to all the areas of the selected memory; and
E) switching the roles of the two memories and repeating the steps B, C and D so that the rewrite data are written to the two memories in alternation. - View Dependent Claims (11)
-
-
12. A method of writing rewrite data over existing data in a memory, the memory having a sector and a pointer sector, the sector being partitioned into a plurality of areas, the existing data being written to the plurality of areas, a plurality of pointer data being written to the pointer sector such that the pointer data designate area numbers of the areas of the sector respectively, the method comprising:
-
taking an exclusive-OR of first pointer data and second pointer data in the pointer sector;
taking an exclusive-OR of the exclusive-OR pointer data, which is obtained by the previous exclusive-OR process, and third pointer data; and
performing a similar exclusive-OR processes up to final pointer data to read an ultimate area number, wherein when the ultimate area number is smaller than a number of the areas of the sector, the ultimate area number is incremented by 1 and the rewrite data is written to the area of the incremented area number, and when the ultimate area number is equal to the number of the areas, all data within the sector are erased, the rewrite data is written to the first area of the sector and the ultimate area number is set to 1.
-
Specification