Method for managing flash memory
First Claim
1. A method for managing a flash memory, the method comprising:
- 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.
1 Assignment
0 Petitions
Accused Products
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.
182 Citations
22 Claims
-
1. A method for managing a flash memory, the method comprising:
-
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. - View Dependent Claims (2, 3, 4)
-
-
5. A method for writing data in a flash memory which comprises a data area, in which changed data of a data block recorded in an alternative area are recorded, an alternative area, in which the changed data of the data block recorded in the data area are recorded, and a mapping area containing mapping information of the data block included in the alternative area, the method comprising:
-
receiving a data block write request in the flash memory;
searching mapping information on the data block to be requested to write in the mapping area;
if there is no mapping information on the data block to be requested to write, writing the data block to be requested to write in the alternative area and recording the mapping information on the data block in the mapping area; and
if there is mapping information on the data block to be requested to write, writing the data block to be requested to write in the data area and deleting the mapping information on the data block to be requested to write from the mapping area.
-
-
6. A method for reading data from a flash memory which comprises a data area, in which changed data of a data block recorded in an alternative area are recorded, an alternative area, in which the changed data of the data block recorded in the data area are recorded, and a mapping area containing mapping information of the data block included in the alternative area, the method comprising:
-
receiving a data block read request in the flash memory;
searching mapping information on the data block to be requested to read in the mapping area;
if there is no mapping information on the data block to be requested to read, reading the data block to be requested to read from the data area; and
if there is mapping information on the data block to be requested to read, reading the data block to be requested to read from the alternative area.
-
-
7. A flash memory comprising:
-
a data area in which changed data of a data block are recorded when changing of data of a data block recorded in an alternative area is requested;
the alternative area in which the changed data of the data block are recorded when changing of data of the data block recorded in the data area is requested; and
a mapping area in which a mapping table containing mapping information of the data block recorded in the alternative area is recorded and from which the mapping information of the data block is removed when the changed data of the data block are recorded in the data area. - View Dependent Claims (8, 9, 10)
-
-
11. 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. - View Dependent Claims (12, 13)
-
-
14. 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. - View Dependent Claims (15, 16, 17)
-
-
18. 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.
-
-
19. 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 Cold included in the file is requested, recording updated data in a new cluster Cnew; and
modifying the information on the next cluster so that the new cluster Cnew is connected to the entry of the FAT area instead of the cluster Cold. - View Dependent Claims (20, 21)
-
-
22. 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.
-
Specification