CONTROL CIRCUIT CAPABLE OF IDENTIFYING ERROR DATA IN FLASH MEMORY AND STORAGE SYSTEM AND METHOD THEREOF
First Claim
1. A flash memory control circuit, comprising:
- a microprocessor unit;
a first interface unit, coupled to the microprocessor unit, and used to connect a flash memory, wherein the flash memory has a plurality of physical blocks, and each of the physical blocks has a plurality of pages;
a second interface unit, coupled to the microprocessor unit, and used to connect a computer host;
an error correcting unit, coupled to the microprocessor unit;
a memory management unit, coupled to the microprocessor unit, and used to divide each of the pages into at least one data bit area, and at least one redundancy bit area and at least one error correcting bit area corresponding to the data bit area, wherein the data bit area has a plurality of sectors to store a plurality of sector data; and
a marking unit, coupled to the microprocessor unit, wherein when the computer host writes a plurality of sector data into one of the data bit areas, the error correcting unit generates an error correcting code according to the sector data, the memory management unit writes the sector data into one of the data bit areas and the error correcting code into the corresponding error correcting bit area, and the marking unit records the data accuracy marks as a normal status in the corresponding redundancy bit area, wherein each of the data accuracy marks is corresponding to one of the sector data.
1 Assignment
0 Petitions
Accused Products
Abstract
A flash memory control circuit including a microprocessor unit, a first interface unit for connecting a flash memory, a second interface unit for connecting a computer host, an error correcting unit, a memory management unit, and a marking unit is provided. The memory management unit divides each page in the flash memory into a plurality of data bit areas, and a plurality of redundancy bit areas and a plurality of error correcting bit areas corresponding to the data bit areas, wherein each of the data bit areas has a plurality of sectors for respectively storing a sector data. The marking unit stores a data accuracy mark corresponding to each sector data in the corresponding redundancy bit area to record the status of the sector data. Thereby, the flash memory controller can effectively identify error data in the flash memory by using the error correcting codes and the data accuracy marks.
-
Citations
18 Claims
-
1. A flash memory control circuit, comprising:
-
a microprocessor unit; a first interface unit, coupled to the microprocessor unit, and used to connect a flash memory, wherein the flash memory has a plurality of physical blocks, and each of the physical blocks has a plurality of pages; a second interface unit, coupled to the microprocessor unit, and used to connect a computer host; an error correcting unit, coupled to the microprocessor unit; a memory management unit, coupled to the microprocessor unit, and used to divide each of the pages into at least one data bit area, and at least one redundancy bit area and at least one error correcting bit area corresponding to the data bit area, wherein the data bit area has a plurality of sectors to store a plurality of sector data; and a marking unit, coupled to the microprocessor unit, wherein when the computer host writes a plurality of sector data into one of the data bit areas, the error correcting unit generates an error correcting code according to the sector data, the memory management unit writes the sector data into one of the data bit areas and the error correcting code into the corresponding error correcting bit area, and the marking unit records the data accuracy marks as a normal status in the corresponding redundancy bit area, wherein each of the data accuracy marks is corresponding to one of the sector data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A flash memory storage system, comprising:
-
a connector, used to connect a computer host; a flash memory, having a plurality of physical blocks, wherein each of the physical blocks has a plurality of pages; and a flash memory controller, coupled to the connector and the flash memory, and used to divide each of the pages into at least one data bit area, and at least one redundancy bit area and at least one error correcting bit area corresponding to the data bit area, wherein the data bit area has a plurality of sectors for storing a plurality of sector data, wherein when the computer host writes a plurality of sector data into one of the data bit areas, the flash memory controller generates an error correcting code according to the sector data, writes the sector data into one of the data bit areas, writes the error correcting code into the corresponding error correcting bit area, and records the data accuracy marks in the corresponding redundancy bit area as a normal status, wherein each of the data accuracy marks is corresponding to one of the sector data. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method for identifying error data in a flash memory, comprising:
-
providing a flash memory, wherein the flash memory has a plurality of physical blocks, and each of the physical blocks has a plurality of pages; dividing each of the pages into at least one data bit area, and at least one redundancy bit area and at least one error correcting bit area corresponding to the data bit area, wherein the data bit area has a plurality of sectors; configuring a plurality of data accuracy marks in each of the redundancy bit areas by using a marking unit; when a computer host writes a plurality of sector data into one of the data bit areas, writing an error correcting code corresponding to the sector data in the corresponding error correcting bit area, and recording the data accuracy marks in the corresponding redundancy bit area as a normal status by using the marking unit, wherein each of the data accuracy marks is corresponding to one of the sector datas; when the sector data stored in one of the data bit areas is copied to another one of the data bit areas, determining whether the sector data contains an error bit that cannot be corrected according to the error correcting code in the corresponding error correcting bit area; and recording the data accuracy marks in the corresponding redundancy bit area as an error status by using the marking unit when the sector data contains the error bit that cannot be corrected. - View Dependent Claims (12, 13, 14)
-
-
15. A method for identifying error data in a flash memory, comprising:
-
providing a flash memory, wherein the flash memory has a plurality of physical blocks, and each of the physical blocks has a plurality of pages; dividing each of the pages into at least one data bit area, and at least one redundancy bit area and at least one error correcting bit area corresponding to the data bit area, wherein the data bit area has a sector; configuring a data accuracy mark in each of the redundancy bit areas by using a marking unit; when a computer host writes a sector data into one of the data bit areas, writing an error correcting code corresponding to the sector data into the corresponding error correcting bit area, and recording the data accuracy mark in the corresponding redundancy bit area as a normal status by using the marking unit; when the sector data stored in one of the data bit areas is copied to another one of the data bit areas, determining whether the sector data contains an error bit that cannot be corrected according to the error correcting code in the corresponding error correcting bit area; and recording the data accuracy mark in the corresponding redundancy bit area as an error status by using the marking unit when the sector data contains the error bit that cannot be corrected. - View Dependent Claims (16, 17, 18)
-
Specification