Citations
Referenced by
ClaimsWhat is claimed is: 1. A method of memory management for a primary memory created from a non-volatile, long-term storage medium, said method enabling direct manipulation of contiguous and non-contiguous discrete data segments stored therein by a file system, and comprising the steps of:
2. The method of claim 1 wherein the method comprises the additional step of reading at least one data segment from primary memory by following the steps of:
3. The method as defined in claim 2 wherein the method comprises the additional step of creating a current file pointer, said current file pointer being a physical address stored in a memory corresponding to a location of a file in the primary memory, and wherein the file system accesses files stored in the primary memory by retrieving data beginning at the physical address stored in the current file pointer. 4. The method as defined in claim 3 wherein the step of moving forwards to other serially and logically linked data segments from a current data segment comprises the additional steps of:
5. The method as defined in claim 4 wherein the step of moving backwards to other serially and logically linked data segments from a current data segment comprises the additional steps of creating a history of movement by the current file pointer along the linked data segments:
6. The method as defined in claim 5 wherein the step of moving backwards to other serially and logically linked data segments from a current data segment comprises the additional steps of:
7. The method as defined in claim 2 wherein the file system includes application program instructions which execute functions of the file system which are compatible with DOS compliant computer devices. 8. The method as defined in claim 7 wherein the file system includes BIOS function calls which are specific to memory type such that application program instructions are implemented in context of the memory technology. 9. The method as defined in claim 2 wherein the method of memory management includes the step of creating logical blocks which overlay a physical memory structure of primary memory, said logical blocks comprising at least one erase block. 10. The method as defined in claim 9 wherein the step of creating logical blocks which overlay the physical memory structure further includes the step of creating logical memory block maps within each logical block, said memory block map indicating whether the at least one erase block is nonfunctional. 11. The method as defined in claim 10 wherein the step of creating logical memory blocks maps includes the step of creating a logical block control map, said map including a physical address of the physical memory over which the logical block corresponds, an address of a next available memory equal size block in which data may be stored, and a nonfunctional block map. 12. The method as defined in claim 1 wherein the step of creating the primary memory from a non-volatile, long-term storage medium comprises the more specific step of selecting flash memory as the primary memory. 13. The method as defined in claim 12 wherein the step of creating the primary memory from flash memory comprises the more specific step of selecting NAND technology flash memory as primary memory. 14. The method as defined in claim 1 wherein the step of coupling the cache memory to the primary memory comprises the more specific step of coupling a random access memory to the primary memory. 15. The method as defined in claim 1, wherein the step of creating a logical link between the previous logical data segment and the new data segment comprises the steps of:
16. The method as defined in claim 15 wherein the step of appending a header to the new data segments comprises the more specific step of selecting a header from the group consisting of a device, volume, directory, file, data, and tree header. 17. The method as defined in claim 11 wherein the step of appending a header to the new data segments comprises the more specific step of selecting a header-like data structure from the group consisting of a tree node, a segment index entry, and a secondary segment index entry. 18. The method as defined in claim 15 wherein the step of appending a header to the new data segments so as to create the logical link to the other data segments comprises the more specific steps of including within the header an identification field wherein unique identification data is stored such that no headers in the primary memory have the same identification data. 19. The method as described in claim 15 wherein the method of memory management for a primary memory comprises the additional step of reserving a fixed amount of primary memory for an edit history which provides a record of all modifications to at least one file stored in primary memory. 20. The method as described in claim 19 wherein the method of memory management which reserves the fixed amount of primary memory for an edit history comprises the more specific step of creating a playback tree structure, said playback tree structure providing temporary storage space in the work memory for a copy of sequentially related data segments comprising the at least one file stored in primary memory. 21. The method as defined in claim 20 wherein the step of creating a playback structure in temporary storage space comprises the steps of:
22. The method as defined in claim 20 wherein the step of creating a playback structure in temporary storage space which provides seamless playback of data stored in a file of primary memory includes the ability to logically insert new data in an existing data segment by the steps of:
23. The method as defined in claim 20 wherein the step of creating a playback structure in temporary storage space which provides seamless playback of data stored in a file stored in primary memory includes the ability to logically delete a portion of data from an existing data segment without physically deleting said portion, and comprising the steps of:
24. The method as defined in claim 23 wherein the method comprises the additional step of creating a new data header which records location information about the portion of data being logically deleted from the existing data segment. 25. The method as defined in claim 20 wherein the method of memory management comprises the more specific steps of separating the work memory from a user memory in primary memory, said work memory being dedicated to storing the playback tree structures. |