Method for Managing Flash Memory
Abstract
A method for managing a flash memory, a method for leveling the wear of blocks in a flash memory, and a method for managing a file system for a flash memory are provided. The method for managing a flash memory includes: if changing of data of a data block recorded in a data area is requested, recording the data block having changed data in an alternative area and recording mapping information of the data block recorded in the alternative area in a mapping area; and if changing of data of the data block recorded in the alternative area is requested, recording a data block having changed data in the data area and deleting the mapping information recorded in the alternative area from the mapping area.
Claims
exact text as granted — not AI-modified1 . A method for leveling wear of blocks in a flash memory, the method comprising:
a first step of recording information on a number of electrical erasures of a data block on which electrical erasure is executed after a file system starts; and if the number of electrical erasures of the data block exceeds a predetermined threshold value, a second step of exchanging the data block with a data block having a smaller number of electrical erasures.
2 . The method of claim 1 , wherein the second step comprises:
determining whether an unused physical block exists; if the unused physical block exists, exchanging a location of the data block with a location of the unused physical block; and if the unused physical block does not exist, exchanging the location of the data block with a physical block having the number of electrical erasures smaller than the number of electrical erasures of the data block.
3 . The method of claim 1 , wherein information on the number of electrical erasures is recorded in a random access memory (RAM).
4 . A system for leveling wear of blocks in a flash memory, the system comprising:
the flash memory in which a data block is recorded; and a wear leveling list in which information on a number of electrical erasures of the data block on which electrical erasure is executed after a file system starts is recorded.
5 . The system of claim 4 , wherein the wear leveling list is recorded in a random access memory (RAM).
6 . The system of claim 4 , wherein information on a number of electrical erasures recently executed on data blocks after a file system starts is recorded in the wear leveling list.
7 . The system of claim 4 , wherein a data block of which the number of electrical erasures exceeds a predetermined threshold value is exchanged with a data block having a smallest number of electrical erasures.
8 . A method for managing a file system for a flash memory including a file area and a file allocation table (FAT) area, the method comprising:
recording information on a cluster of a file recorded in the file area in the FAT area; if changing of the file is requested, recording the changed file in a new cluster; and reflecting information on the new cluster on the information on the cluster recorded in the FAT area.
9 . A method for updating files in a flash memory, the method comprising:
recording information on a next cluster of a file recorded in a data area in an entry of a file allocation table (FAT) area having an entry corresponding to each cluster in the data area; if data updating of a cluster C old included in the file is requested, recording updated data in a new cluster C new ; and modifying the information on the next cluster so that the new cluster C new is connected to the entry of the FAT area instead of the cluster C old .
10 . The method of claim 9 , further comprising recording information on a first cluster of the file in a root directory area.
11 . The method of claim 9 , wherein recording of information on the cluster in the entry of the FAT area is performed by atomic write, and recording of file data in the cluster of the data area is performed by non-atomic write.
12 . A flash memory file system comprising:
a data area in which a file comprised of one or more clusters is recorded; a root directory area containing information on a first cluster of the file recorded in the data area; and a file allocation table (FAT) area which contains an entry corresponding to each cluster and in the entry of which information on a next cluster of the file recorded in the data area is recorded; wherein if changing of data of a predetermined cluster forming the file is requested, the changed data is recorded in a new cluster, and information on the new cluster is connected to the information on the cluster of the file recorded in the FAT area.Join the waitlist — get patent alerts
Track US2009031076A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.