Inventor(s)
Assignee
Norris Communications Corporation
Application
No. 612772 filed on 1996-03-07
Current US Class
707/205 , File allocation 707/102 , Generating database or data structure (e.g., via user interface) 711/2 , Addressing extended or expanded memory 711/200 , ADDRESS FORMATION 711/209 , Including plural logical address spaces, pages, segments, blocks 711/5 For multiple memory modules (e.g., banks, interleaved memory)
Field of Search
707/102 , Generating database or data structure (e.g., via user interface) 707/205 File allocation
Examiners
Primary: Thomas G Black Assistant: Jean M Corrielus
Attorney, Agent or Firm
Thorpe, North & Western, LLP
US Patent References
4685057 Memory mapping system Issued on: August 4, 1987 Inventor: Lemone, et al. 5263160 Augmented doubly-linked list search and management method for a system having data stored in a list of data elements in memory Issued on: November 16, 1993 Inventor: Porter, Jr., et al. 5337275 Method for releasing space in flash EEPROM memory array to allow the storage of compressed data Issued on: August 9, 1994 Inventor: Garner 5341330 Method for writing to a flash memory array during erase suspend intervals Issued on: August 23, 1994 Inventor: Wells, et al. 5357475 Method for detaching sectors in a flash EEPROM memory array Issued on: October 18, 1994 Inventor: Hasbun, et al. 5404485 Flash file system Issued on: April 4, 1995 Inventor: Ban 5437020 Method and circuitry for detecting lost sectors of data in a solid state memory disk Issued on: July 25, 1995 Inventor: Wells, et al. 5448577 Method for reliably storing non-data fields in a flash EEPROM memory array Issued on: September 5, 1995 Inventor: Wells, et al. 5454103 Method and apparatus for file storage allocation for secondary storage using large and small file blocks Issued on: September 26, 1995 Inventor: Coverston, et al. 5551020 System for the compacting and logical linking of data blocks in files to optimize available physical storage Issued on: August 27, 1996 Inventor: Flax, et al. 5581736 Method and system for dynamically sharing RAM between virtual memory and disk cache Issued on: December 3, 1996 Inventor: Smith 5586291 Disk controller with volatile and non-volatile cache memories Issued on: December 17, 1996 Inventor: Lasker, et al. 5602987 Flash EEprom system Issued on: February 11, 1997 Inventor: Harari, et al.
|
|
|
|
|
Abstract
A method of memory management for a primary memory created from a non-volatile, long-term storage medium, in particular flash memory, which enables direct manipulation of data segments stored therein. The data segments of a single file are typically not stored contiguously in relation to the order in which they are stored and subsequently recalled, yet the method enables recall in the logical order in which the data segments were created. This method is particularly useful for flash memory which has the characteristic of not being able to overwrite data in memory without first erasing previously recorded data. The method comprises the minimum steps of dividing the primary memory into equal size blocks, each block being the smallest amount of data which can be read from or written to memory in a single read or write operation. A cache memory the size of at least one of the read/write blocks is then coupled to the primary memory and provides temporary storage space for data being written to and read from primary memory.
Other References
- William Pugh, "Skip List: A Probabilistic alternative to balance trees", communication of the ACM vol. 33, No. 6, pp. 668-676, Jun. 1990.
- Robert Sedgewick "Algorithms", Addison -Wesley publishing Co. pp. 15-33, 1988.
- Jeffrey et al. "Data structures", Prentice-Hall, Inc, pp. 54-65, 184-191, 1989.
- Alfred et al. "Data structure and algorithms" Addison-Wesley Publishing Co., pp. 53-69, 1983).
|
|
|
|