Flash translation layer block indication map revision system and method
First Claim
Patent Images
1. A flash memory system, comprising:
- a flash memory having a plurality of sectors, said flash memory storing status information indicating the status of said sectors;
storage, residing within said flash memory, for storing a set of file information, said file information including mapping information, in the form of a file indication map residing in a file system used by an operating system controlling said storing of the file information, for mapping a file to one or more of said sectors, wherein a copy of the file indication map residing in the file system used by the operating system is made in a flash translation layer separately from said file indication map residing in the file system, thereby providing a status record of a former file indication map for comparison against subsequent modifications of the file indication map residing in the file system used by the operating system; and
an agent for receiving a set of updated file information from said file system, said agent determining whether there is a difference between said updated file information and said file information, and if so, altering the status information for selected sectors of said flash memory to reflect said difference.
3 Assignments
0 Petitions
Accused Products
Abstract
A system and method of avoiding preservation of files deleted in a flash memory by indicating deletion in a File Indication Map without modifying an associated block allocation map controls transfer of files from a full flash memory erase unit to a transfer flash memory erase unit. Modified File Indication Maps are compared with prior File Indication Maps to establish file deletion and to control modification of an associated block allocation map. The prior File Indication Map in flash memory is updated after comparison is completed.
246 Citations
22 Claims
-
1. A flash memory system, comprising:
-
a flash memory having a plurality of sectors, said flash memory storing status information indicating the status of said sectors; storage, residing within said flash memory, for storing a set of file information, said file information including mapping information, in the form of a file indication map residing in a file system used by an operating system controlling said storing of the file information, for mapping a file to one or more of said sectors, wherein a copy of the file indication map residing in the file system used by the operating system is made in a flash translation layer separately from said file indication map residing in the file system, thereby providing a status record of a former file indication map for comparison against subsequent modifications of the file indication map residing in the file system used by the operating system; and an agent for receiving a set of updated file information from said file system, said agent determining whether there is a difference between said updated file information and said file information, and if so, altering the status information for selected sectors of said flash memory to reflect said difference. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. Method of storing data in a flash memory system, the method comprising:
-
providing a flash memory having a plurality of sectors; storing status information in the flash memory indicating the status of said plurality of sectors; storing a set of file information on said flash memory in a storage location residing within said flash memory, including mapping information, in the form of a file indication map residing in a file system used by an operating system controlling said storing of the file information, for mapping a file to one or more of said sectors; and receiving a set of updated file information from said file system, and determining whether there is a difference between said updated file information and said file information, and if so, altering the status information for selected sectors of said flash memory to reflect said difference, wherein a copy of the file indication map residing in the file system used by the operating system is made in a flash translation layer separately from said file indication map residing in the file system, thereby providing a status record of a former file indicator map for comparison against subsequent modifications of the file indication map residing in the file system used by the operating system. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. Method of storing data in a flash memory system, the method comprising:
-
providing a flash memory having a plurality of sectors; storing status information, including a block allocation map, in the flash memory indicating the status of said plurality of sectors; storing a set of file information on said flash memory in a storage location residing within said flash memory, including mapping information, in the form of a file indication map residing in a file system used by an operating system controlling said storing of the file information, for mapping a file to one or more of said sectors; and receiving a set of updated file information from said file system, and determining whether there is a difference between said updated file information and said file information, and if so, altering the status information for selected sectors of said flash memory to reflect said difference, wherein if a discrepancy is noted between the mapping information residing within the flash memory and said file indication map, updating the block allocation map to delete the association between a physical location at which the identified deleted file was stored and a virtual address formerly connected with the particular physical location, said particular physical location associated with physical sectors of the flash medium with a related virtual address, after a file is deleted, the sector of flash memory referred to in the block allocation map is indicated as other than valid, preventing preservation by transfer out to a transfer unit prior to erase, thereby resulting in complete erasure of said sector during the erase operation, said determination made by comparing the mapping information residing within the flash memory and said file indication map, and replacement is made after said comparison, and a copy of the file indication map residing in the file system used by the operating system is made in a flash translation layer separately from said file indication map residing in the file syst m,thereby providing a status record of a former file indication map for comparison against subsequent modifications of the file indication map residing in the file system used by the operating system.
-
-
22. A flash memory system, comprising:
-
a flash memory having a plurality of sectors, said flash memory storing status information indicating the status of said sectors, said status information including a block allocation map; storage, residing within said flash memory, for storing a set of file information, said file information including mapping information, in the form of a file indication map residing in a file system used by an operating system controlling said storing of the file information, for mapping a file to one or more of said sectors; and an agent for receiving a set of updated file information from said file system, said agent determining whether there is a difference between said updated file information and said file information by comparing the mapping information residing within the flash memory and said file indication map, and if so, altering the status information for selected sectors of said flash memory to reflect said difference, wherein if a discrepancy is noted between the mapping information residing within the flash memory and said file indication map, the block allocation map is updated to delete the association between a physical location at which the identified deleted file was stored and a virtual address formerly connected with the particular physical location, said particular physical location associated with physical sectors of the flash medium with a related virtual address, after a file is deleted, the sector of flash memory referred to in the block allocation map is indicated as other than valid, preventing preservation by transfer out to a transfer unit prior to erase, thereby resulting in complete erasure of said sector during the erase operation, replacement is made after said comparison, and a copy of the file indication map residing in the file system used by the operating system is made in a flash translation layer separately from said file indication map residing in the file system, thereby providing a status record of a former file indication map for comparison against subsequent modifications of the file indication map residing in the file system used by the operating system.
-
Specification