Free
Message: Eight dollar trade of 100 shares of EDIG


We could argue back and forth like all these lawyers do, but IMVHO this shows the facts per formatind/initialization.
end-thread

e.Digital Patent 5787445

Abstract

''A method of memory management for a primary memory created from a non-volatile, long-term storage medium, in particular flash memory,''

OBJECTS AND SUMMARY OF THE INVENTION

''It is another object of this invention to provide a file system which has particular application to the storage medium of flash memory.''

The Volume Header information pertains principally to the <strong>logical mapping memory structure</strong> shown in FIG. 5. The Volume Header is easily analogized to the format information of a typical hard disk or floppy disk medium. Until formatted, a hard disk is useless to an operating system's file system. Formatting provides the logical structure overlay which a file system uses to determine the logical and corresponding physical location of data stored therein. Therefore, an element of the Volume Header is the expected DOS volume name. Typically, the present invention also requires only a single Volume Header 90 for the selected memory medium.


The Device, Volume, Directory, File and Data Headers form the basis for the file system. In might be thought that these are sufficient to organize data within any file system. However, to stop here ignores the perils of flash memory. Therefore, the file system, to be adaptable to any storage medium, must contain sufficient structure to adapt to flash memory even if not used by other storage media.


The first API executed is Initialize. This API is activated when power is first applied to a device utilizing the flash file system of the present invention. It might be easier to conceptually visualize the API as two different commands in DOS. They are the format command and the fdisk command. In other words, when a power switch is toggled on, the Initialize API prepares the file system for operation. Preparation includes bulk erasure of the flash memory if the memory has been previously marked for bulk erasure. This is the format aspect.

Initialization also includes the process known as the fdisk command. In DOS, fdisk partitions the medium and divides the medium into sectors so that the FAT can map files to specific predefined sector addresses. Fdisk also creates the initial root directory to which all directories, subdirectories and files within them can trace their origin.

The process of initialization also includes the process of placing in cache memory a "message pointer" which can be analogized to a cursor in memory. Just as a cursor indicates where insertion or deletion of data is to occur, the message pointer is a cursor in primary memory which indicates where reading or modification of data will occur if executed. Upon initialization, the message pointer is located at the root directory.

The concept of a message pointer is crucial to the present invention because of the sequentially and logically linked data segments of the present invention. Initialization of the file system thus includes the step of determining a current position of the message pointer in primary memory. Initialization also includes the step of first creating a Directory Header if a bulk erase function call was executed. A Directory Header to a root directory can be considered to be the lowest minimum setup of the file system if no files or subdirectories yet exist.

After initialization of the file system, it will be assumed for this example that no data presently exists in flash memory. At this point, the user has the options of creating a directory within the root directory (essentially every directory created by the user is a subdirectory of the root directory), create a file within the root directory, or carry out some utility function call other than one which acts upon data which presently exists, because no file has yet been created. Creating a directory is the nfsMkDir (Norris File System Make Directory) command which creates a subdirectory in the current directory. Creating a file is the nfsCreate command which involves the steps of creating a new file, opening a file in the current file system, writing a file header and preparing for the writing of data.''

emit...

Share
New Message
Please login to post a reply