Method for making a write-once memory device read compatible with a write-many file system
First Claim
1. A method for re-writing to a logical address of a write-once memory device, the method comprising:
- (a) providing a write-once memory device, wherein the write-once memory device stores first data in a memory location identified by a first physical address and further stores data that associates the first physical address with a first logical address;
(b) creating a physical-to-logical address map from data stored in the write-once memory device that associates physical addresses with logical addresses; and
(c) in response to a command to write second data to the first logical address;
(c1) storing the second data in a memory location identified by a second physical address;
(c2) invalidating the data stored in the write-once memory device that associates the first physical address with the first logical address; and
(c3) storing data in the write-once memory device associating the second physical address with the first logical address.
10 Assignments
0 Petitions
Accused Products
Abstract
The preferred embodiments described herein provide a method for making a write-once memory device read compatible with a write-many file system. In one preferred embodiment, a method for re-writing to a logical address of a write-once memory device is provided. A physical-to-logical address map is built from data stored in the memory device that associates individual physical addresses with individual logical addresses. When a logical address is re-written, data associating that logical address with a new physical address is stored, and data associating that logical address with an old physical address is invalidated. When the logical address is read, the physical-to-logical address map is used to read the new physical address instead of the old physical address. Other preferred embodiments are provided, and each of the preferred embodiments described herein can be used alone or in combination with one another.
-
Citations
49 Claims
-
1. A method for re-writing to a logical address of a write-once memory device, the method comprising:
-
(a) providing a write-once memory device, wherein the write-once memory device stores first data in a memory location identified by a first physical address and further stores data that associates the first physical address with a first logical address;
(b) creating a physical-to-logical address map from data stored in the write-once memory device that associates physical addresses with logical addresses; and
(c) in response to a command to write second data to the first logical address;
(c1) storing the second data in a memory location identified by a second physical address;
(c2) invalidating the data stored in the write-once memory device that associates the first physical address with the first logical address; and
(c3) storing data in the write-once memory device associating the second physical address with the first logical address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for storing a file system structure in a write-once memory device, the method comprising:
-
(a) providing a write-once memory device comprising a plurality of blocks, each block comprising a data storing area, a first redundant field, and a second redundant field;
wherein a block identified by a first physical address stores a file system structure in its data storing area and a first logical address in its first redundant field;
(b) creating a physical-to-logical address map from data stored in the first and second redundant fields;
(c) from the physical-to-logical address map, determining that the first physical address is associated with the first logical address;
(d) writing an invalid flag in a second redundant field of the block identified by the first physical address;
(e) writing an updated file system structure in a data storing area of a block identified by a second physical address; and
(f) writing the first logical address in a first redundant field of the block identified by the second physical address. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A method for re-writing to a logical address of a write-once memory device, the method comprising:
-
(a) providing a write-once memory device, wherein the write-once memory device stores first data in a memory location identified by said logical address and further stores map data that associates a first physical address with a first logical address; and
(b) in response to a command to write second data to the first logical address;
(b1) storing the second data in a memory location identified by a second physical address; and
(b2) storing second map data in the write-once memory device associating the second physical address with the first logical address. - View Dependent Claims (38, 39, 40, 41, 42, 43, 44)
-
-
45. A method for re-writing to a logical address of a write-once memory device, the method comprising:
-
(a) providing a write-once memory device, wherein the write-once memory device stores first data in a memory location identified by said logical address and further stores map data that associates a first physical address with a first logical address, and further stores a used indicator flag associated with that first physical address; and
(b) in response to a command to write second data to the first logical address;
(b1) storing the second data in a memory location identified by a second physical address; and
(b2) storing second map data in the write-once memory device associating the second physical address with the first logical address. - View Dependent Claims (46, 47, 48)
-
-
49. A method for re-writing to a logical address of a write-once memory device, the method comprising:
-
(a) providing a write-once memory device, wherein the write-once memory device stores first data in a memory location identified by said logical address and further stores map data that associates a first physical address with a first logical address; and
(b) in response to a command to write second data to the first logical address;
(b1) performing a write at the logical address;
(b2) reading the data at the logical address to confirm the write succeeded or failed;
(b3) storing the second data in a memory location identified by a second physical address only if the reading indicated a fail; and
(b4) storing second map data in the write-once memory device associating the second physical address with the first logical address only if the reading indicated a fail.
-
Specification