Method for storing data in a write-once memory array using a write-many file system
First Claim
Patent Images
1. A method for writing data to a write-once memory array, the method comprising:
- (a) providing a write-once memory array comprising a file allocation table and a main memory, wherein a line is a minimum amount of data that can be written to the write-once memory array, and a line of clusters comprises an amount of clusters in the main memory represented by one line of entries written in the file allocation table;
(b) for a first set of X lines of clusters, wherein X≧
2;
(b1) writing entries in the file allocation table for all but the last line of clusters in the first set of X lines of clusters; and
(b2) writing data in the first set of X lines of clusters in the main memory; and
(c) if no error occurs in writing data in the first set of X lines of clusters;
(c1) writing entries in the file allocation table for all but the last line of clusters in a second set of X lines of clusters;
(c2) writing data in the second set of X lines of clusters in the main memory; and
(c3) if no error occurs in writing data in the second set of X lines of clusters, writing an entry in the file allocation table for the last line of clusters in the first set of X lines of clusters.
6 Assignments
0 Petitions
Accused Products
Abstract
The preferred embodiments described herein provide various data allocation and error recovery methods that allow data to be written to a write-once memory array using a write-many file system. Other preferred embodiments described herein relate to methods for generating a set of valid file system structures. The various preferred embodiments can be used alone or in combination with one another.
-
Citations
37 Claims
-
1. A method for writing data to a write-once memory array, the method comprising:
-
(a) providing a write-once memory array comprising a file allocation table and a main memory, wherein a line is a minimum amount of data that can be written to the write-once memory array, and a line of clusters comprises an amount of clusters in the main memory represented by one line of entries written in the file allocation table; (b) for a first set of X lines of clusters, wherein X≧
2;(b1) writing entries in the file allocation table for all but the last line of clusters in the first set of X lines of clusters; and (b2) writing data in the first set of X lines of clusters in the main memory; and (c) if no error occurs in writing data in the first set of X lines of clusters; (c1) writing entries in the file allocation table for all but the last line of clusters in a second set of X lines of clusters; (c2) writing data in the second set of X lines of clusters in the main memory; and (c3) if no error occurs in writing data in the second set of X lines of clusters, writing an entry in the file allocation table for the last line of clusters in the first set of X lines of clusters. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method for writing data to a write-once memory array, the method comprising:
-
(a) providing a write-once memory array comprising a file allocation table and a main memory, wherein a line is a minimum amount of data that can be written to the write-once memory array, and a line of clusters comprises an amount of clusters in the main memory represented by one line of entries written in the file allocation table; (b) writing data in a line of clusters in the main memory; and (c) if no error occurs in writing data in the line of clusters, writing a line of entries in the file allocation table for the line of clusters. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method for writing data to a write-once memory array, the method comprising:
-
(a) providing a write-once memory array comprising a file allocation table and a main memory, wherein a line is a minimum amount of data that can be written to the write-once memory array, and a line of clusters comprises an amount of clusters in the main memory represented by one line of entries written in the file allocation table; (b) writing a line of entries in the file allocation table; and (c) writing data in a line of clusters represented by the line of entries. - View Dependent Claims (24, 25, 26, 27)
-
-
28. A method for generating a set of valid file system structures, the method comprising:
-
(a) providing a write-once memory array storing a set of file system structures; (b) invalidating at least some of the set of file system structures; and (c) re-writing the set of file system structures in a different part of the write-once memory array; wherein the at least some of the set of file system structures invalidated in (b) are not re-written in (c). - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37)
-
Specification