CN101243417B - Nonvolatile storage device, memory controller, and defective region detection method - Google Patents
Nonvolatile storage device, memory controller, and defective region detection method Download PDFInfo
- Publication number
- CN101243417B CN101243417B CN200680029679.0A CN200680029679A CN101243417B CN 101243417 B CN101243417 B CN 101243417B CN 200680029679 A CN200680029679 A CN 200680029679A CN 101243417 B CN101243417 B CN 101243417B
- Authority
- CN
- China
- Prior art keywords
- error
- data
- mentioned
- physical
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
Description
技术领域technical field
本发明涉及在使用了用于提高在非易失性存储器中记录的数据的可靠性的纠错功能的非易失性存储装置中,用于降低由于非易失性存储器的不良而引起的非偶发性读出错误的非易失性存储装置、存储控制器以及不良区域检测方法。The present invention relates to methods for reducing error caused by defects in the nonvolatile memory in a nonvolatile memory device using an error correction function for improving the reliability of data recorded in the nonvolatile memory. A non-volatile storage device, a storage controller, and a method for detecting bad areas for sporadic read errors.
背景技术Background technique
近年来,搭载了非易失性存储器的存储卡作为数字照相机或者便携电话机的存储卡正在扩大市场。然而,非易失性存储器在每次改写数据时存储单元逐渐恶化,最终发生写入或者读出的错误。当然,如果可靠性充分高,几乎可以忽视由改写引起的存储单元的恶化,则即使使用十年也不会产生什么问题。然而实际上有时并非如此,通过在控制非易失性存储器的系统中搭载ECC(错误检查和纠正)电路等纠错电路,实现实质上可靠性高的存储卡。In recent years, memory cards equipped with nonvolatile memory are expanding their market as memory cards for digital cameras and mobile phones. However, each time data is rewritten in a non-volatile memory, the memory cell gradually deteriorates, and finally a writing or reading error occurs. Of course, if the reliability is sufficiently high that the deterioration of the memory cell due to rewriting is almost negligible, there will be no problem even if it is used for ten years. However, this may not be the case in practice, and a substantially reliable memory card is realized by incorporating an error correction circuit such as an ECC (Error Checking and Correction) circuit in a system that controls the nonvolatile memory.
然而,由于工艺的微细化减小存储单元的尺寸,或者由于实现大容量的多值化难以确保存储单元单体的可靠性。另外,由于在发展大容量的同时增加存储器的图形,还增加产品检查的时间,因此难以充分高精度地检查器件。However, it is difficult to ensure the reliability of a single memory cell due to the downsizing of the memory cell due to the miniaturization of the process, or due to the multi-valued realization of the large capacity. In addition, it is difficult to inspect devices with sufficient high precision because the pattern of memory is increased along with the development of large capacity, and the time for product inspection is also increased.
作为管理闪速存储器的写入或者读出的错误的方法,在专利文献1中提出了对读出、写入中的错误发生信息进行计数,使得不使用恶化了的区域的方法。另外,在专利文献2中提出对于读出错误连续的区域进行替代处理的方法。As a method of managing errors in writing or reading of a flash memory,
专利文献1:特开平11-53266号公报Patent Document 1: JP-A-11-53266
专利文献2:WO01/022232Patent Document 2: WO01/022232
包含闪速存储器的大部分非易失性存储器具有在存储单元上不施加偏压等能量而持续保持数据的性能。这表现出保持数据的状态是稳定的。与作为易失性存储器的SRAM通过施加能量保持数据完全不同。从而,为了改写非易失性存储器的数据,需要在处于稳定状态的存储单元中施加能量,此时,虽然很微小但仍将产生存储单元的恶化。Most nonvolatile memories including flash memory have the ability to continuously hold data without applying energy such as a bias voltage to memory cells. This shows that the state of holding the data is stable. It is completely different from SRAM, which is a volatile memory, which retains data by applying energy. Therefore, in order to rewrite the data of the nonvolatile memory, it is necessary to apply energy to the memory cell in a stable state, and at this time, deterioration of the memory cell occurs although slight.
以在闪速存储器等非易失性存储器中发生的存储单元恶化为原因的错误更多地起因于数据的改写,数据读出引起的影响小。考虑到这一点,能够适当地进行错误发生时的处理,然而,在专利文献1或者专利文献2中记载的非易失性存储装置中,并没有充分考虑数据改写和数据读出引起的非易失性存储器的恶化。另外,虽然与数据改写时相比较,数据读出引起的对错误发生的影响极小,但是在反复多次对同一个数据读出时,由于发现的不是存储单元的恶化,而是逐渐进行的数据自身的恶化,因此数据读出的影响也不能忽视。但是,在专利文献1或者专利文献2记载的非易失性存储装置并没有充分考虑这种进行性的数据的恶化。Errors caused by memory cell deterioration in nonvolatile memories such as flash memories are mostly caused by rewriting of data, and are less affected by data reading. Considering this point, it is possible to appropriately perform processing when an error occurs. However, in the nonvolatile memory device described in
例如,作为一般的非易失性存储器的代表的NAND型闪速存储器以根据ECC电路的纠错为前提产品化。这是因为偶发性的比特错误在非易失性存储器中不可避免。从而,使用NAND型闪速存储器的存储卡的存储控制器在其内部具有生成ECC码的功能或者检测并纠正错误的功能。存储控制器使用ECC电路纠正偶发性的比特错误,再次利用发生了错误的物理块。由此提高存储卡的实质性的可靠性。For example, a NAND-type flash memory, which is a representative general nonvolatile memory, is commercialized on the premise of error correction by an ECC circuit. This is because sporadic bit errors are unavoidable in nonvolatile memory. Therefore, a memory controller of a memory card using a NAND type flash memory has a function of generating an ECC code or a function of detecting and correcting an error inside it. The storage controller uses ECC circuits to correct sporadic bit errors and reuse the physical blocks where errors occurred. This increases the substantial reliability of the memory card.
然而,虽然与偶发性的比特错误相比较频率低,但是由于存储单元的恶化等的原因在物理块中固有存在的不良,有时在读出时发生比特错误。在使用可靠性充分高,比特错误的发生频率低的NAND型闪速存储器的情况下,如现有的存储控制器那样,并不判断所发生的比特错误是偶发性还是固有不良,限制使用物理块,在闪速存储器的使用中也不会发生问题。但是,由于闪速存储器的工艺的微细化或者多值化,比特错误的发生频率比以往升高。根据这一点,需要以进行纠错为前提,容许存在比特错误,需要即使发生比特错误,纠正其错误,继续使用闪速存储器。然而,在比特错误的主要原因是存储单元的固有不良时,存在固有不良的物理块频繁发生存储卡的读出错误。However, although the frequency of sporadic bit errors is lower than that of sporadic bit errors, bit errors may occur during reading due to defects inherent in physical blocks due to deterioration of memory cells or the like. In the case of using a NAND-type flash memory with sufficiently high reliability and a low frequency of bit errors, like the existing memory controller, it does not judge whether the bit errors that occur are accidental or inherently defective, and the use of physical memory is limited. block, no problem occurs in the use of flash memory. However, the frequency of occurrence of bit errors has increased more than ever due to miniaturization or multi-valued processes of flash memory. From this point, it is necessary to allow bit errors on the premise of performing error correction, and it is necessary to continue using the flash memory by correcting the errors even if bit errors occur. However, when the main cause of the bit error is inherent defect of the memory cell, reading errors of the memory card frequently occur in physical blocks having the inherent defect.
例如,有时由于存储卡的物理块中存在的固有不良引起数据错误,不能观看用数字照相机拍摄的静止图像。这种情况下,如果在数字照相机的系统上删除静止图像的数据,则对以后拍摄的静止图像再次利用同一个块,再次发生数据错误。这样频繁发生不能观看静止图像的情况。For example, sometimes a still image taken with a digital camera cannot be viewed due to a data error caused by an inherent defect in the physical block of the memory card. In this case, if the data of the still image is deleted on the digital camera system, the same block will be reused for the still image captured later, and a data error will occur again. It frequently happens that still images cannot be viewed.
另外,如果不是固有不良,而是对于相同的数据反复进行次数非常多的读出,则比特错误虽然是逐渐地但在不断增加,有时会使数据恶化下去。这种情况下,在使用可靠性充分高、比特错误的发生频率低的NAND型闪速存储器的情况下,也可以像现有的存储控制器那样,根据比特错误的发生,限制使用物理块。然而,在以进行纠错为前提的情况下,即必须允许比特错误存在的情况下,需要即使发生比特错误,也在纠正错误后继续使用闪速存储器。从而,导致由数据的恶化引起的比特错误的比特数超过纠错能力,发生不能纠正的读出错误的结果。鉴于这些情况,开发降低读出错误的存储卡成为一个课题。In addition, if there is no inherent defect, but if the reading of the same data is repeated a very large number of times, bit errors will gradually increase, which may degrade the data. In this case, when using a NAND flash memory with sufficiently high reliability and low frequency of bit errors, the use of physical blocks may be limited according to the occurrence of bit errors, as in conventional memory controllers. However, when error correction is a prerequisite, that is, when bit errors must be tolerated, it is necessary to continue using the flash memory after correcting errors even if bit errors occur. Therefore, the number of bits causing bit errors due to data deterioration exceeds the error correction capability, and uncorrectable read errors occur as a result. In view of these circumstances, development of a memory card with reduced reading errors has become a subject.
发明内容Contents of the invention
本发明在闪速存储器内准确地检测出推测为存在固有不良、或者累积由读出引起的比特不良并推测为超过纠错能力的物理块。进而,其目的在于通过限制或者避免对该物理块的写入或者读出,提供可靠性高的非易失性存储装置。The present invention accurately detects, in a flash memory, a physical block presumed to have an inherent defect, or a physical block presumed to have exceeded error correction capability by accumulating bit defects caused by reading. Furthermore, an object thereof is to provide a highly reliable nonvolatile memory device by limiting or avoiding writing or reading to the physical block.
为了解决该课题,本发明的非易失性存储装置是一种具备非易失性存储器和存储控制器的非易失性存储装置,上述非易失性存储器具备多个作为清除单位的物理块,上述物理块具有多个作为写入单位的物理页,上述存储控制器具备:进行上述存储控制器内部中的整体控制的运算处理单元;具有对于从上述非易失性存储器读出的数据检测错误的功能和在能够纠正错误时进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储器中的数据所需要的表的地址表,上述存储控制器的地址表具备:具有多个错误记录的错误表,所述错误记录是关于由上述纠错电路检测出了读出错误的物理块的、与上述读出错误有关的信息;具有对于上述非易失性存储器的各个物理块、数据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指定的逻辑块地址与上述非易失性存储器的物理块地址的变换信息的逻辑物理变换表,上述运算处理单元根据来自上述纠错电路的错误检测,登录并更新上述错误表的错误记录,决定是否使用检测出了上述读出错误的物理块。In order to solve this problem, the nonvolatile memory device of the present invention is a nonvolatile memory device including a nonvolatile memory and a memory controller. The nonvolatile memory has a plurality of physical blocks as units of clearing. , the above-mentioned physical block has a plurality of physical pages as a writing unit, and the above-mentioned storage controller has: an arithmetic processing unit for performing overall control inside the above-mentioned storage controller; an error correction circuit for a function of error and a function of correcting an error when it can be corrected; an address table holding a table necessary for managing data stored in the above-mentioned nonvolatile memory, the address table of the above-mentioned memory controller having: an error table having a plurality of error records, the error records are information related to the above-mentioned read error about the physical block in which the read error has been detected by the above-mentioned error correction circuit; The physical block and the item table of the information whether the data is written or cleared; the logical-physical conversion table representing the conversion information between the logical block address specified by the master device from the outside and the physical block address of the above-mentioned non-volatile memory, the above-mentioned operation The processing unit registers and updates an error record in the error table based on the error detection from the error correction circuit, and determines whether to use the physical block in which the read error was detected.
这里,也可以是,上述存储控制器的地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备:当上述纠错电路检测出了从上述非易失性存储器读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;记录表示发生了上述错误的信息的错误信息;记录表示在发生了上述错误以后、清除上述物理块的数据、写入了新的数据的信息的错误块清除信息;表示在上述错误块清除信息中记录了信息以后、在同一个物理块中再次检测出读出错误的错误再发生信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在至少记录了上述错误块信息和上述错误再发生信息的上述错误记录时,在上述不良块表中记录与写入上述数据的物理块的地址有关的信息。Here, it is also possible that the address table of the above-mentioned storage controller is further provided with a defective block table that records information related to the address of the physical block that prohibits data writing and reading, and the error record of the above-mentioned error table has: when the above-mentioned error correction When the circuit has detected an error in the data read from the above-mentioned non-volatile memory, record the error block information indicating the address information of the physical block where the error occurred; record the error information indicating that the above-mentioned error has occurred; record the error information indicating After the above-mentioned error occurs, the data of the above-mentioned physical block is cleared, and the error block clear information of the information of new data is written; it indicates that after the information is recorded in the above-mentioned error block clear information, it is detected again in the same physical block When the error recurrence information of the error is read, the above-mentioned operation processing unit refers to the above-mentioned error table when writing data in the above-mentioned non-volatile memory, and when there is at least the above-mentioned error block information and the above-mentioned In the error recording of the error reoccurrence information, information on the address of the physical block in which the data is written is recorded in the defective block table.
这里,也可以是,上述错误表的错误记录还具备写入了由上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。Here, the error record in the error table may further include error page information in which an address of the physical page in which a read error has been detected by the error correction circuit is written.
这里,也可以是,上述运算处理单元只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新信息。Here, the arithmetic processing unit may record and update information in the error record of the error table only when the read error detected by the error correction circuit cannot be corrected by the error correction circuit.
这里,也可以是,上述运算处理单元只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新信息。Here, the arithmetic processing unit may record and update information in the error record of the error table only when the read error detected by the error correction circuit cannot be corrected by the error correction circuit.
这里,也可以是,上述存储控制器的地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备:在上述纠错电路检测出了从上述非易失性存储器读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;作为表示读出错误发生的次数的信息的错误计数信息;表示对发生上述读出错误的物理块进行了物理清除的次数的错误块清除计数信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在记录了上述错误块信息的上述错误记录时,对上述错误计数信息与上述错误块清除信息进行比较,上述错误块清除信息表示预定的次数,而且上述错误计数信息的值比上述错误块清除信息大时,在上述不良块表中记录与写入上述数据的物理块的地址有关的信息。Here, it is also possible that the address table of the above-mentioned memory controller further includes a bad block table that records information related to the address of the physical block that is prohibited from writing and reading data, and the error record of the above-mentioned error table includes: When the circuit has detected an error in the data read from the above-mentioned non-volatile memory, record the error block information indicating the address information of the physical block where the error occurred; the error count information as the information indicating the number of times that the error occurred in the readout ; Represent the error block clearing count information of the number of times that the physical block of the above-mentioned read error has been physically cleared, when the above-mentioned arithmetic processing unit writes data in the above-mentioned non-volatile memory, refer to the above-mentioned error table, When the physical block of data has the above-mentioned error record in which the above-mentioned error block information is recorded, the above-mentioned error count information is compared with the above-mentioned error block clear information, the above-mentioned error block clear information indicates a predetermined number of times, and the value of the above error count information is higher than When the error block clear information is large, information on the address of the physical block in which the data is written is recorded in the defective block table.
这里,也可以是,上述错误表的错误记录还具备写入了由上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。Here, the error record in the error table may further include error page information in which an address of the physical page in which a read error has been detected by the error correction circuit is written.
这里,也可以是,上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新上述错误表的错误记录。Here, in the arithmetic processing unit, if the error correction circuit detects a read error, the error record in the error table may be registered and updated irrespective of whether the error correction circuit can correct it or not.
这里,也可以是,上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新上述错误表的错误记录。Here, in the arithmetic processing unit, if the error correction circuit detects a read error, the error record in the error table may be registered and updated irrespective of whether the error correction circuit can correct it or not.
这里,也可以是,上述错误表的错误记录具备:写入了上述纠错电路检测出了读出错误的物理块的地址的错误块信息;写入了上述纠错电路检测出了上述读出错误的物理页的地址的错误页信息;记录表示上述读出错误的比特数的信息的错误比特计数,上述运算处理单元使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the error record in the error table may include: error block information written in the address of the physical block whose read error is detected by the error correction circuit; error page information of an address of an erroneous physical page; an error bit count of information indicating the number of bits read out error, the above-mentioned operation processing unit using a value having an error bit number less than or equal to the number of error bits that can be corrected by the error correction circuit, and Predetermined correction threshold, read the data of the physical block corresponding to the error record of the above-mentioned error table whose error bit count information is greater than or equal to the above-mentioned correction threshold, so that the above-mentioned error correction circuit corrects the error of the read data, and converts the Corrected data is written to other physical blocks.
这里,也可以是,上述运算处理单元在没有进行来自外部的对上述非易失性存储器的数据读出处理时,使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the arithmetic processing unit may use a value equal to or less than the number of error bits that can be corrected by the error correction circuit when the data read process from the outside to the nonvolatile memory is not performed, and the error correction circuit may be used in advance. Determine the correction threshold, read the data of the physical block corresponding to the error record of the above-mentioned error table whose information of the above-mentioned error bit count is greater than or equal to the above-mentioned correction threshold, so that the above-mentioned error correction circuit corrects the error of the read data, and the correction The completed data is written to other physical blocks.
这里,也可以是,上述错误表的错误记录具备:记录表示上述纠错电路检测出了读出错误的物理块的地址的信息的错误块信息;记录表示上述纠错电路检测出了读出错误的上述物理页的地址的信息的错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正的错误比特数的值而且大于等于预先确定的纠正阈值的读出错误的信息的错误发生信息,上述运算处理单元读出与记录了上述错误发生信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the error record in the error table may include: error block information for recording information indicating the address of the physical block in which the error correction circuit detected a read error; Error page information of information on the address of the above-mentioned physical page; recording an error occurrence of information indicating that a read error has occurred with a value less than or equal to the number of error bits that can be corrected by the above-mentioned error correction circuit and greater than or equal to a predetermined correction threshold value information, the above-mentioned operation processing unit reads the data of the physical block corresponding to the error record of the above-mentioned error table that records the above-mentioned error occurrence information, causes the above-mentioned error correction circuit to correct the error of the read data, and writes the corrected data into other physical blocks.
这里,也可以是,上述运算处理单元在没有进行读出上述非易失性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the arithmetic processing unit may read the data of the physical block corresponding to the error record of the error table in which the error occurrence information is recorded, when the processing of reading the data of the nonvolatile memory is not performed. , causing the error correction circuit to correct the error of the read data, and writing the corrected data into another physical block.
为了解决该课题,本发明的存储控制器是一种对于具备多个作为清除单位的物理块、上述物理块具有多个作为写入单位的物理页而构成的非易失性存储器,控制数据的读出以及写入的存储控制器,具备:进行上述存储控制器内部中整体控制的运算处理单元;具有对于从上述非易失性存储器读出的数据检测错误的功能和在能够纠正错误时进行纠正的功能的纠错电路;保持用于管理保存在上述非易失性存储器中的数据所需要的表的地址表,上述地址表具备:具有多个错误记录的错误表,所述错误记录是关于由上述纠错电路检测出了读出错误的物理块的、与上述读出错误有关的信息;具有对于上述非易失性存储器的各个物理块、数据是写入完毕还是清除完毕的信息的项目表;表示由主设备从外部指定的逻辑块地址与上述非易失性存储器的物理块地址的变换信息的逻辑物理变换表,上述运算处理单元根据来自上述纠错电路的错误检测,登录并更新上述错误表的错误记录,决定是否使用检测出了上述读出错误的物理块。In order to solve this problem, the memory controller of the present invention is a nonvolatile memory having a plurality of physical blocks as a unit of erasing, and the physical block has a plurality of physical pages as a unit of writing. The storage controller for reading and writing is provided with: an arithmetic processing unit for performing overall control inside the above-mentioned storage controller; a function of detecting errors in data read from the above-mentioned non-volatile memory and performing error correction when the errors can be corrected; an error correction circuit of a correcting function; an address table for maintaining a table required for managing data stored in the above-mentioned nonvolatile memory, the above-mentioned address table having: an error table having a plurality of error records, the error records being Information about the physical block in which a read error has been detected by the error correction circuit, and information related to the read error; information indicating whether data has been written or erased for each physical block of the nonvolatile memory Item table: a logical-physical conversion table representing conversion information between a logical block address specified by the master device and a physical block address of the nonvolatile memory from the outside, and the above-mentioned arithmetic processing unit registers and The error record of the error table is updated to determine whether to use the physical block in which the read error has been detected.
这里,也可以是,上述地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备:当上述纠错电路检测出了从上述非易失性存储器读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;记录表示发生了上述错误的信息的错误信息;记录表示在发生了上述错误以后、清除上述物理块的数据、写入了新的数据的信息的错误块清除信息;表示在上述错误块清除信息中记录了信息以后、在同一个物理块中再次检测出读出错误的错误再发生信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在至少记录了上述错误块信息和上述错误再发生信息的上述错误记录时,在上述不良块表中记录与写入上述数据的物理块的地址有关的信息。Here, it is also possible that the above-mentioned address table further includes a bad block table that records information related to the address of the physical block that prohibits data writing and reading, and the error record of the above-mentioned error table includes: when the above-mentioned error correction circuit detects During the error of the data read from above-mentioned non-volatile memory, record represents the error block information of the address information of the physical block that error occurred; Record represents the error information of the information that above-mentioned error occurred; After an error, the data of the above-mentioned physical block is cleared, and the information of new data is written; it indicates that after the information is recorded in the above-mentioned error block clear information, a read error is detected again in the same physical block Error recurrence information. When the above-mentioned operation processing unit writes data in the above-mentioned non-volatile memory, it refers to the above-mentioned error table. When the above-mentioned error recording is performed, the information related to the address of the physical block in which the above-mentioned data is written is recorded in the above-mentioned bad block table.
这里,也可以是,上述错误表的错误记录还具备写入了上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。Here, the error record in the error table may further include error page information in which an address of the physical page in which a read error has been detected by the error correction circuit is written.
这里,也可以是,上述运算处理单元中,只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新信息。Here, the arithmetic processing unit may record and update information in the error record of the error table only when the read error detected by the error correction circuit cannot be corrected by the error correction circuit.
这里,也可以是,上述运算处理单元中,只有在不能由上述纠错电路纠正上述纠错电路所检测出的读出错误时,在上述错误表的错误记录中记录以及更新信息。Here, the arithmetic processing unit may record and update information in the error record of the error table only when the read error detected by the error correction circuit cannot be corrected by the error correction circuit.
这里,也可以是,上述地址表还具备记录与禁止数据的写入以及读出的物理块的地址有关的信息的不良块表,上述错误表的错误记录具备:在上述纠错电路检测出了从上述非易失性存储器读出的数据的错误时,记录表示发生了错误的物理块的地址的信息的错误块信息;作为表示读出错误发生的次数的信息的错误计数信息;表示对发生上述读出错误的物理块进行了物理清除的次数的错误块清除计数信息,上述运算处理单元在上述非易失性存储器中写入数据时,参照上述错误表,当关于写入数据的物理块、存在记录了上述错误块信息的上述错误记录时,对上述错误计数信息与上述错误块清除信息进行比较,上述错误块清除信息表示预定的次数,而且上述错误计数信息的值比上述错误块清除信息大时,在上述不良块表中记录与写入上述数据的物理块的地址有关的信息。Here, the address table may further include a bad block table that records information on addresses of physical blocks that are prohibited from writing and reading data, and the error record in the error table includes: During the error of the data read from above-mentioned non-volatile memory, the error block information of the information of the address of the physical block that record expression has occurred error; As the error counting information of the information of the number of times that read error occurrence; The error block clearing count information of the number of times that the wrong physical block has been physically cleared is read. When the arithmetic processing unit writes data in the non-volatile memory, it refers to the above error table. , when there is the above-mentioned error record in which the above-mentioned error block information is recorded, the above-mentioned error count information is compared with the above-mentioned error block clear information, the above-mentioned error block clear information indicates a predetermined number of times, and the value of the above-mentioned error count information is higher than the value of the above-mentioned error block clear When the information is large, information on the address of the physical block in which the data is written is recorded in the defective block table.
这里,也可以是,上述错误表的错误记录还具备写入了上述纠错电路检测出了读出错误的上述物理页的地址的错误页信息。Here, the error record in the error table may further include error page information in which an address of the physical page in which a read error has been detected by the error correction circuit is written.
这里,也可以是,上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新上述错误表的错误记录。Here, in the arithmetic processing unit, if the error correction circuit detects a read error, the error record in the error table may be registered and updated irrespective of whether the error correction circuit can correct it or not.
这里,也可以是,上述运算处理单元中,如果上述纠错电路检测出读出错误,则与能否由上述纠错电路进行纠正无关,登录以及更新上述错误表的错误记录。Here, in the arithmetic processing unit, if the error correction circuit detects a read error, the error record in the error table may be registered and updated irrespective of whether the error correction circuit can correct it or not.
这里,也可以是,上述错误表的错误记录具备:写入了上述纠错电路检测出了读出错误的物理块的地址的错误块信息;写入了上述纠错电路检测出了上述读出错误的物理页的地址的错误页信息;记录表示上述读出错误的比特数的信息的错误比特计数,上述运算处理单元使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the error record in the error table may include: error block information written in the address of the physical block whose read error is detected by the error correction circuit; error page information of an address of an erroneous physical page; an error bit count of information indicating the number of bits read out error, the above-mentioned operation processing unit using a value having an error bit number less than or equal to the number of error bits that can be corrected by the error correction circuit, and Predetermined correction threshold, read the data of the physical block corresponding to the error record of the above-mentioned error table whose error bit count information is greater than or equal to the above-mentioned correction threshold, so that the above-mentioned error correction circuit corrects the error of the read data, and converts the Corrected data is written to other physical blocks.
这里,也可以是,上述运算处理单元在没有进行来自外部的对上述非易失性存储器的数据读出处理时,使用具有小于等于能够由上述纠错电路纠正的错误比特数的值、而且预先确定的纠正阈值,读出与上述错误比特计数的信息大于等于上述纠正阈值的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the arithmetic processing unit may use a value equal to or less than the number of error bits that can be corrected by the error correction circuit when the data read process from the outside to the nonvolatile memory is not performed, and the error correction circuit may be used in advance. Determine the correction threshold, read the data of the physical block corresponding to the error record of the above-mentioned error table whose information of the above-mentioned error bit count is greater than or equal to the above-mentioned correction threshold, so that the above-mentioned error correction circuit corrects the error of the read data, and the correction The completed data is written to other physical blocks.
这里,也可以是,上述错误表的错误记录具备:记录表示上述纠错电路检测出了读出错误的物理块的地址的信息的错误块信息;记录表示上述纠错电路检测出了读出错误的上述物理页的地址的信息的错误页信息;记录表示发生了具有小于等于能够由上述纠错电路纠正的错误比特数的值而且大于等于预先确定的纠正阈值的读出错误的信息的错误发生信息,上述运算处理单元读出与记录了上述错误发生信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the error record in the error table may include: error block information for recording information indicating the address of the physical block in which the error correction circuit detected a read error; Error page information of information on the address of the above-mentioned physical page; recording an error occurrence of information indicating that a read error has occurred with a value less than or equal to the number of error bits that can be corrected by the above-mentioned error correction circuit and greater than or equal to a predetermined correction threshold value information, the above-mentioned operation processing unit reads the data of the physical block corresponding to the error record of the above-mentioned error table that records the above-mentioned error occurrence information, causes the above-mentioned error correction circuit to correct the error of the read data, and writes the corrected data into other physical blocks.
这里,也可以是,上述运算处理单元在没有进行读出上述非易失性存储器的数据的处理时,读出与记录了上述错误发生信息的上述错误表的错误记录相对应的物理块的数据,使上述纠错电路纠正读出的数据的错误,把该纠正了的数据写入到其它的物理块中。Here, the arithmetic processing unit may read the data of the physical block corresponding to the error record of the error table in which the error occurrence information is recorded, when the processing of reading the data of the nonvolatile memory is not performed. , causing the error correction circuit to correct the error of the read data, and writing the corrected data into another physical block.
为了解决该课题,本发明的不良区域检测方法是一种非易失性存储装置的不良区域检测方法,该非易失性存储装置具备:具有多个作为清除单位的物理块,上述物理块具有多个作为写入单位的物理页而构成的非易失性存储器;存储控制器,包括具备对来自上述非易失性存储器的读出数据检测错误的功能以及在能够纠正错误时进行纠正的功能的纠错电路、保持多个错误记录的错误表,该错误记录是关于检测出了读出错误的物理块的、与上述读出错误有关的信息,在该不良区域检测方法中,在读出数据时根据从外部指定的逻辑地址决定物理地址,从与上述物理地址相对应的物理块读出数据,在该读出数据中有能够纠正的错误时,纠正上述错误并输出到外部,把上述物理地址登录在上述错误表中。In order to solve this problem, a method for detecting a defective area of the present invention is a method for detecting a defective area of a nonvolatile memory device including a plurality of physical blocks as units of erasing, and the physical blocks have A nonvolatile memory composed of a plurality of physical pages as a writing unit; a memory controller including a function of detecting errors in read data from the above nonvolatile memory and correcting errors when they can be corrected an error correction circuit, an error table holding a plurality of error records, the error records are information related to the above-mentioned read error about the physical block in which a read error has been detected, and in the defective area detection method, in the read When data is used, the physical address is determined according to the logical address specified from the outside, and the data is read from the physical block corresponding to the above physical address. When there is a correctable error in the read data, the above error is corrected and output to the outside, and the above The physical address is registered in the error table above.
这里,也可以是,当改写了在上述错误表中登录了物理地址的物理块的数据时,把表示改写了上述数据的信息登录到上述错误表中,在从改写了上述数据的物理块读出的数据中有能够纠正的错误时,纠正该错误并输出到外部,同时,把表示在改写了上述数据以后发生了错误的错误再发生信息登录到上述错误表中,对于在上述错误表中登录了上述错误再发生信息的物理块,禁止数据的写入以及读出。Here, it is also possible that when the data of the physical block whose physical address is registered in the above-mentioned error table is rewritten, the information indicating that the above-mentioned data is rewritten is registered in the above-mentioned error table, and when the data is read from the physical block in which the above-mentioned data is rewritten, When there is an error that can be corrected in the output data, correct the error and output it to the outside. At the same time, register the error recurrence information indicating that an error occurred after rewriting the above data into the above error table. Writing and reading of data are prohibited for the physical block in which the above-mentioned error recurrence information is registered.
这里,也可以是,当改写了在上述错误表中登录了物理地址的物理块的数据时,把表示改写了上述数据的次数的错误块清除计数登录到上述错误表中,在从改写了上述数据的物理块读出的数据中有能够纠正的错误时,纠正该错误输出到外部,同时,把表示在改写了上述数据以后发生错误的次数的错误计数登录到上述错误表中,在上述错误计数表示出大于等于预定的值时,禁止数据向登录了上述错误计数的物理块的写入以及读出。Here, it is also possible that when the data of the physical block whose physical address is registered in the above-mentioned error table is rewritten, an error block clear count indicating the number of times the above-mentioned data has been rewritten is registered in the above-mentioned error table. When there is a correctable error in the data read from the physical block of the data, the error is corrected and output to the outside, and at the same time, the error count indicating the number of times the error occurred after the above data is rewritten is registered in the above error table, and the above error When the count indicates a predetermined value or more, writing and reading of data to and from the physical block in which the error count is registered is prohibited.
为了解决该课题,本发明的不良区域检测方法是一种非易失性存储装置的不良区域检测方法,该非易失性存储装置具备:具有多个作为清除单位的物理块,上述物理块具有多个作为写入单位的物理页而构成的非易失性存储器;存储控制器,包括具备对来自上述非易失性存储器的读出数据检测错误的功能以及在能够纠正错误时进行纠正的功能的纠错电路、保持多个错误记录的错误表,该错误记录是关于检测出了读出错误的物理块的、与上述读出错误有关的信息,该不良区域检测方法具有:根据从外部指定的逻辑地址决定物理地址,确定读出数据的物理块的确定步骤;从上述物理块读出数据的数据读出步骤;在该读出的数据中有能够纠正的错误时,纠正上述错误并输出到外部的数据输出步骤;把发生了上述能够纠正的错误的物理块的物理地址和与错误数有关的信息登录到上述错误表中的错误数登录步骤。In order to solve this problem, a method for detecting a defective area of the present invention is a method for detecting a defective area of a nonvolatile memory device including a plurality of physical blocks as units of erasing, and the physical blocks have A nonvolatile memory composed of a plurality of physical pages as a writing unit; a memory controller including a function of detecting errors in read data from the above nonvolatile memory and correcting errors when they can be corrected an error correction circuit, an error table holding a plurality of error records, the error records are information related to the above-mentioned read error with respect to the physical block in which a read error has been detected, and the defective area detection method has: The logical address determines the physical address, and determines the step of determining the physical block of the read data; the data read step of reading the data from the above physical block; when there is a correctable error in the read data, correct the above error and output A data output step to the outside; a step of registering the number of errors in the above-mentioned error table with the physical address of the physical block where the above-mentioned correctable error has occurred and information related to the number of errors.
这里,具有复制步骤,当与登录在上述错误表中的错误数有关的信息表示出大于等于预定的值时,把写入到上述物理块中的数据复制到其它物理块中。Here, there is a copying step of copying the data written in the physical block to another physical block when the information on the number of errors registered in the error table shows a predetermined value or more.
这里,也可以是,在上述数据读出步骤与上述数据输出步骤之间进行上述复制步骤。Here, the copying step may be performed between the data reading step and the data outputting step.
这里,也可以是,在没有对上述非易失性存储装置执行来自外部的数据写入以及读出时,进行上述复制步骤。Here, the copying step may be performed when data writing and reading from the outside are not executed to the nonvolatile memory device.
这里,也可以是,在对上述非易失性存储装置接通电源之后紧接着进行上述复制步骤。Here, the copying step may be performed immediately after the nonvolatile memory device is powered on.
依据本发明,通过适当地推定设想为错误发生概率高的物理块,能够限制或避免数据对该物理块的写入或读出,能够提供可靠性高的非易失性存储装置。According to the present invention, by appropriately estimating a physical block assumed to have a high probability of error occurrence, it is possible to limit or avoid writing or reading data to or from the physical block, thereby providing a highly reliable nonvolatile memory device.
附图说明Description of drawings
图1是表示了第1实施例的非易失性存储装置的结构的框图。FIG. 1 is a block diagram showing the configuration of a nonvolatile memory device according to a first embodiment.
图2是表示了闪速存储器的内部结构的框图。FIG. 2 is a block diagram showing the internal structure of the flash memory.
图3是表示了物理块201的内部结构的框图。FIG. 3 is a block diagram showing the internal structure of the physical block 201 .
图4表示了BB表112的结构。FIG. 4 shows the structure of the BB table 112.
图5表示了ECC错误表111的结构。FIG. 5 shows the structure of the ECC error table 111. As shown in FIG.
图6表示了第1实施例的ECC错误记录和保存在ECC错误记录中的信息的变化。Fig. 6 shows the ECC error record and changes of information stored in the ECC error record in the first embodiment.
图7是第1实施例的读出的流程图。Fig. 7 is a flow chart of reading in the first embodiment.
图8是第1实施例的ECC错误表登录的流程图。Fig. 8 is a flow chart of ECC error table registration in the first embodiment.
图9是第1实施例的物理清除时的ECC错误表更新的流程图。Fig. 9 is a flow chart of updating the ECC error table at the time of physical erasure in the first embodiment.
图10表示了第2实施例的ECC错误记录。Fig. 10 shows the ECC error log of the second embodiment.
图11是表示了第2实施例的ECC错误表登录的流程图。Fig. 11 is a flowchart showing the registration of the ECC error table in the second embodiment.
图12表示了第3实施例的ECC错误记录和保存在ECC错误记录中的信息的变化。Fig. 12 shows the ECC error record and changes of information stored in the ECC error record in the third embodiment.
图13是第3实施例的ECC错误表登录的流程图。Fig. 13 is a flowchart of ECC error table registration in the third embodiment.
图14是第3实施例的物理清除时的ECC错误表更新的流程图。Fig. 14 is a flow chart of updating the ECC error table at the time of physical erasure in the third embodiment.
图15是第4实施例的读出的流程图。Fig. 15 is a flowchart of readout in the fourth embodiment.
图16表示进行性错误的发生状况。Fig. 16 shows the occurrence status of progressive errors.
图17是表示第5实施例的非易失性存储装置的结构的框图。FIG. 17 is a block diagram showing the configuration of a nonvolatile memory device according to a fifth embodiment.
图18是表示了闪速存储器的内部结构的框图。Fig. 18 is a block diagram showing the internal structure of the flash memory.
图19是表示了物理块201的内部结构的框图。FIG. 19 is a block diagram showing the internal structure of the physical block 201 .
图20表示了ECC错误表111的结构。FIG. 20 shows the structure of the ECC error table 111.
图21表示了第5实施例的ECC错误记录。Fig. 21 shows the ECC error log of the fifth embodiment.
图22是第5实施例的读出的流程图。Fig. 22 is a flow chart of reading in the fifth embodiment.
图23是第5实施例的ECC错误表登录的流程图。Fig. 23 is a flowchart of ECC error table registration in the fifth embodiment.
图24是第5实施例的数据纠正复制处理的流程图。Fig. 24 is a flowchart of data correction copy processing in the fifth embodiment.
图25是第6实施例的读出的流程图。Fig. 25 is a flow chart of reading in the sixth embodiment.
图26是第6实施例的数据纠正复制处理的流程图。Fig. 26 is a flowchart of data correction copy processing in the sixth embodiment.
(附图标记说明)(Description of Reference Signs)
101:存储卡101: memory card
102:存储控制器102: storage controller
103:闪速存储器103: Flash memory
104:主接口104: main interface
105:MPU105: MPU
106:地址表106: address table
107:闪速接口107: Flash interface
108:缓冲存储器108: buffer memory
109:ECC电路109: ECC circuit
110:逻辑物理变换表110: Logical physical conversion table
111:ECC错误表111: ECC error table
112:BB表112: BB table
113:项目表113: Item table
501:ECC错误记录501: ECC error record
601:错误块601: Bad Block
602:错误发生信息602: error message
603:错误块清除信息603: Error block clear message
604:错误再发生信息604: Error recurrence message
701:存储卡701: memory card
702:存储控制器702: storage controller
703:闪速存储器703: Flash memory
704:主接口704: Main interface
705:MPU705: MPU
706:地址表706: address table
707:闪速接口707: Flash interface
708:缓冲存储器708: buffer memory
709:ECC电路709: ECC circuit
710:逻辑物理变换表710: Logical-physical conversion table
711:ECC错误表711: ECC error table
712:项目表712: Project table
801:ECC错误记录801: ECC error record
1001:错误页1001: Error page
1201:错误块1201: Bad block
1202:错误计数1202: Error count
1203:错误块清除计数1203: Error Block Clear Count
1601:错误比特计数1601: Error Bit Count
具体实施方式Detailed ways
(实施例1)(Example 1)
图1是表示第1实施例的非易失性存储装置的结构的框图。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。FIG. 1 is a block diagram showing the configuration of a nonvolatile memory device according to a first embodiment. The
图2是表示闪速存储器103的内部结构的框图。这里,说明具有1G比特容量的闪速存储器。闪速存储器103的内部由PB0~PB1023共1024个物理块构成。物理块在闪速存储器103中是数据清除的最小单位。1个物理块容量是128kB+4kB,具有不是2的幂值而是比2的幂稍大的容量。这里,没有表现为132kB而是表现为128kB+4kB是为了表示在1个物理块中能够写入的数据的容量是128kB,在此基础上,进而在4kB的区域中写ECC码或者该物理块逻辑地址值等管理数据。FIG. 2 is a block diagram showing the internal structure of the
图3是表示物理块的内部结构的框图。闪速存储器103内的各物理块具备64个物理页PP0~PP63。物理页在闪速存储器103中是数据写入的最小单位。1个物理页的容量是2kB+64B。该表现与上述的物理块的情况相同,表示在1个物理页中能够写入的数据的容量是2kB,其余的64B中写入包括ECC的管理数据。Fig. 3 is a block diagram showing the internal structure of a physical block. Each physical block in the
存储控制器102具有主接口104、地址表106、闪速接口107、缓冲存储器108、ECC电路109、MPU(小型运算单元)105。主接口104控制与连接在存储卡101外部的主设备的接口。The
地址表106是具有保存在闪速存储器103中的数据的管理信息的表,具有逻辑物理变换表110,ECC错误表111、项目表113、BB(不良块)表112。这些表保持在易失性存储器中。The address table 106 is a table having management information of data stored in the
逻辑物理变换表110是表示作为从存储卡101的外部指定的逻辑地址的逻辑块的地址与作为闪速存储器103的内部物理地址的物理块的地址的对应关系的表。逻辑物理变换表110用于从逻辑地址得到与该逻辑块相对应的物理地址。The logical-physical conversion table 110 is a table showing a correspondence relationship between addresses of logical blocks, which are logical addresses specified from the outside of the
ECC错误表111具有发生了读出错误的物理块的物理地址、数据的物理清除的历史、或物理清除后的读出错误的发生历史等信息,在固有不良的物理块的检测中使用。The ECC error table 111 has information such as the physical address of a physical block where a read error has occurred, the history of physical erasure of data, or the history of occurrence of a read error after physical erasure, and is used to detect inherently defective physical blocks.
项目表113是具有分别用1比特表示对于闪速存储器103的各个物理块、数据是写入完毕还是清除完毕的信息的表。例如,数据写入完毕的物理块用比特“0”表示,清除完毕的物理块用比特“1”表示。The entry table 113 is a table having information indicating whether data has been written or erased for each physical block of the
图4表示BB表112的结构。BB表112具备与闪速存储器103的物理块相同数量的BB记录i(i=0~1023)。BB记录i分别与物理块一对一对应,具有相对应的物理块的地址。进而,关于相对应的物理块是否是不良块,具有用1比特表示的信息。在BB记录i中,不良块的物理块表示为比特“0”,非不良的物理块表示为比特“1”。这里,BB表112也可以不对于所有的物理块具有BB记录i。也可以仅对于不良块具有BB记录i。FIG. 4 shows the structure of the BB table 112. The BB table 112 includes the same number of BB records i (i=0 to 1023) as there are physical blocks in the
闪速接口107通过后述的MPU105的控制,在闪速存储器103中写入缓冲存储器108的数据,或者把闪速存储器103的数据写入到缓冲存储器108中,或者清除闪速存储器103的数据。缓冲存储器108是在外部的主设备与闪速存储器103之间的数据写入和读出时,用于暂时保持数据的易失性存储器。The
ECC电路109生成添加到从缓冲存储器108向闪速存储器103传送的写入数据中的ECC的代码。另外,ECC电路109是对于从闪速存储器103读出到缓冲存储器108的数据,进行ECC运算,检测错误,在其错误是可纠正的错误的情况下,纠正缓冲存储器108的数据的纠错电路。The
MPU105是进行存储控制器102整体控制的微机。在与主设备之间进行数据的写入和读出时直接控制主接口104、ECC电路109、闪速接口107、地址表106。特别是在读出数据中有错误的情况下,MPU105参照地址表106内的ECC错误表111的信息,根据需要,进行ECC错误表111的更新。其结果,如果有应该禁止使用的物理块,则MPU105在BB表112的BB记录i中记录该物理块的信息,更新BB表112。进而MPU105根据更新后的BB表的内容,还进行项目表的更新。The
图5表示ECC错误表111的结构。ECC错误表111由用16进制数表示的#0~#F的16个ECC错误记录#i构成。图6表示ECC错误记录#i的信息组和保存在ECC错误记录#i中的信息的变化。各ECC错误记录#i具备错误块601、错误发生信息602、错误块清除信息603、错误再发生信息604。错误块601保存发生了读出错误的物理块201的物理地址。错误发生信息602是表示发生了最初的读出错误的信息。错误块清除信息603是表示在发生了最初的读出错误以后,对该物理块201进行了物理清除的信息。错误再发生信息604是表示在发生了最初的读出错误以后,尽管进行了物理清除,但再次在同一个物理块中发生了读出错误的信息。FIG. 5 shows the structure of the ECC error table 111. As shown in FIG. The ECC error table 111 is composed of 16 ECC error records #i of #0 to #F expressed in hexadecimal notation. FIG. 6 shows information groups of ECC error record #i and changes in information stored in ECC error record #i. Each ECC error record #i includes
图7是本实施例的非易失性存储装置中的数据读出的流程图。在外部主设备从存储卡101读出数据时,外部主设备向存储卡101传送读出指令和开始地址。接收到该指令和开始地址后,主接口104对MPU105通知其接收。图7的流程图表示接收了该通知以后的处理。FIG. 7 is a flowchart of data reading in the nonvolatile memory device of this embodiment. When the external host device reads data from the
MPU105使用开始地址,把与128kB单位相对应的上位地址部分作为逻辑块地址,从逻辑物理变换表110得到物理块地址。设与128kB以下相对应的下位的地址部分作为逻辑页地址,按原样与逻辑页相同。接着,MPU105向闪速存储器接口107指示进行读出的物理块的地址和物理页的地址,从闪速存储器103读出数据(S701)。The
接着,ECC电路109对在S701中读出的数据判定是否发生了读出错误(S702)。在没有检测出读出错误的情况下,MPU105对主接口104指示数据向外部主设备的输出(S705)。然后,只要继续进行读出(S706),则就以读出的单位增加地址,同时,循环至S701,继续进行数据的读出处理。Next, the
在S702中检测出了读出错误的情况下,ECC电路109判断其读出错误能否纠正(S703)。在能纠正的情况下,纠正读出错误(S704)。在读出错误的纠正后,转移到S705,输出读出数据。在不能纠正读出错误的情况下,进行ECC错误表的登录(S707),登录以后结束读出处理。When a read error is detected in S702, the
这里,使用图8的流程图说明ECC错误表的登录处理(S707)。如果不能纠正读出错误,则MPU105检索ECC错误表111的登录状态(S801)。具体地讲,检查发生了读出错误的物理块的物理地址是否与ECC错误记录#i的某一个错误块601的值一致。Here, the process of registering the ECC error table (S707) will be described using the flowchart of FIG. 8 . If the read error cannot be corrected, the
其次,在S801的检索中没有一致的ECC错误记录#i时,判断为没有登录(S802)。接着,MPU105新登录错误块601和错误发生信息602(S803)。图6(b)表示新登录后的状态。在错误块601中,作为有效值写入发生了读出错误的物理块的地址。在错误发生信息602中写入表示发生了读出错误的信息“1”,在错误块清除信息603和错误再发生信息604中写入“0”。Next, when there is no matching ECC error record #i in the search in S801, it is determined that there is no registration (S802). Next,
在S802中有登录的情况下,MPU105判断是否是在物理清除以后发生的读出错误(S804)。如果在错误块601中有登录的ECC错误记录#i的错误块清除信息603是“0”,则由于不是物理清除以后发生的读出错误,因此不进行ECC错误记录#i的更新和ECC错误表111的登录,结束登录处理。即使发生读出错误、在错误发生信息602中登录了“1”以后计数读出错误的发生次数,只要读出相同块的相同数据,就不能判断所发生的错误是偶发性的还是因固有不良引起的。由此,不进行ECC错误记录#i的更新,结束登录处理。If there is a registration in S802,
在S804中,如果错误记录#i是图6(c)表示的状态,则错误块清除信息603是“1”,可知是在物理清除后发生的读出错误。这时,如图6(d)所示,在把错误再发生信息604改写为“1”以后结束登录处理(S805)。即,作为应该更新ECC错误记录#i的内容的读出错误,是指对于一旦发生了读出错误的物理块进行了物理清除以后,即使在新写入的数据中又发生的读出错误。In S804, if the error record #i is in the state shown in FIG. 6(c), the error block
图9是在数据的写入之前进行的物理清除时的ECC错误表更新和不良块登录的流程图。外部主设备在存储卡101中写入数据时,外部主设备对存储卡101传送写入指令和写入开始地址。接收到该指令和开始地址后,MPU105检索ECC错误表111的登录状态(S901)。具体地讲,检查写入对象的物理块的地址是否与ECC错误记录的错误块601的值一致。9 is a flowchart of ECC error table update and bad block registration at the time of physical erasing performed before data writing. When the external master device writes data in the
在S901的检索中,在没有与写入对象的物理块一致的ECC错误记录#i时,判断为没有登录(S902),不进行ECC错误表111的登录,结束登录处理。反之,在有一致的ECC错误记录#i时,判断为有登录(S902)。而且,当只有错误发生信息602是“1”,错误块清除信息603和错误再发生信息604是“0”时,仅在错误发生信息602中有记录。判断为是发生了读出错误以后的最初的物理清除(S903)。这种情况下,在错误块清除信息603中登录“1”,结束ECC错误表111的更新(S907)。In the search at S901, if there is no ECC error record #i that matches the physical block to be written, it is determined that there is no registration (S902), no registration is performed in the ECC error table 111, and the registration process ends. Conversely, when there is a matching ECC error record #i, it is judged that there is registration (S902). Also, when only the
其次,当错误发生信息602和错误块清除信息603是“1”,错误再发生信息604是“0”时,成为直到错误块清除信息603为止有记录(S904)。由此可知虽然以前发生了错误但是在进行了物理清除以后的写入中没有发生错误。即,判断为最初发生的错误是偶发性的错误。这时,撤消该ECC错误记录#i的登录,结束ECC错误表111的更新(S906)。通过使图6(a)的ECC错误记录#i的错误块601的值成为无效值进行登录的撤消。Next, when the
另外,如图6(d)那样,在不仅是错误发生信息602和错误块清除信息603,直至错误再发生信息604为止全部是“1”时,可知以前发生了读出错误,在对该物理块进行了物理清除以后写入的数据中也还发生了读出错误。这种情况下,判断为是起因于固有不良的错误,作为不良块登录发生了错误的物理块(S905)。接着,撤消该物理块的ECC错误记录#i的登录,结束ECC错误表111的更新(S906)。In addition, as shown in FIG. 6( d), when not only the
如前面说明过的那样,S905的不良块登录是指在BB表112中,在与该物理块的地址相对应的BB记录i中登录比特“0”。虽然通过BB记录i的登录完成不良块的登录,但仅此并不能限制不良块的使用。因此,对于在BB记录i中作为比特0登录了的物理块,在项目表113上登录比特“0”。如果在项目表113中登录比特“0”,则由于不良块被处理为写入完毕块,因此能够限制使用不良块。总之,通过对作为不良块登录在BB记录i中的物理块、在项目表中登录比特“0”,能够防止使用不良块。As described above, the bad block registration in S905 refers to registering bit "0" in the BB record i corresponding to the address of the physical block in the BB table 112 . Although the registration of bad blocks is completed through the registration of BB record i, this alone cannot limit the use of bad blocks. Therefore, bit “0” is registered in the entry table 113 for the physical block registered as
本实施例的特征是只有在发生的读出错误不能纠正时进行ECC错误表的登录和更新,以物理块地址单位把ECC错误表内的ECC错误记录进行分录,在同一个物理块中,在物理清除前后连续发生了两次错误时进行不良块登录。在本实施例中,ECC错误表具有用于判断所发生的错误是偶发性的还是由固有不良引起的信息。即,如果在最初的读出错误发生以后物理清除该物理块的数据,在新写入的数据中不发生读出错误,则能判断为最初的错误是偶发性的错误。如果在最初的读出错误发生以后,即使物理清除该物理块的数据,在新写入的数据中仍然发生读出错误,则能判断为是由固有不良引起的错误。这样,本实施例能准确地判定是偶发性的错误还是由固有不良引起的错误。另外,根据其判断,通过不使用固有不良的物理块,产生降低读出错误这样的效果。The feature of this embodiment is that only when the reading error that takes place can not be corrected, the registration and updating of the ECC error table is carried out, and the ECC error record in the ECC error table is recorded with the physical block address unit, and in the same physical block, Bad block registration is performed when two consecutive errors occur before and after physical clearing. In this embodiment, the ECC error table has information for judging whether an error that has occurred is accidental or caused by an inherent defect. That is, if the data of the physical block is physically erased after the first read error occurs, and no read error occurs in the newly written data, it can be determined that the first error is a sporadic error. If a read error still occurs in newly written data even if the data of the physical block is physically erased after the first read error occurs, it can be determined that the error is caused by an inherent defect. Thus, in this embodiment, it is possible to accurately determine whether an error is a sporadic error or an error caused by an inherent defect. In addition, based on this determination, there is an effect of reducing read errors by not using inherently defective physical blocks.
(实施例2)(Example 2)
图1表示本实施例中的非易失性存储装置的结构。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。包含在存储控制器102中的各结构要素与在第1实施例中说明过的相同。FIG. 1 shows the structure of the nonvolatile memory device in this embodiment. The
图2是表示闪速存储器103的内部结构的框图,闪速存储器103的内部由PB0~PB1023共1024个物理块构成。图3是表示物理块的内部结构的框图,各个物理块具备64个物理页PP0~PP63。这些与在第1实施例中说明过的相同。FIG. 2 is a block diagram showing the internal structure of the
图5表示的ECC错误表111具备多个ECC错误记录#i,与在第1实施例中说明过的相同。The ECC error table 111 shown in FIG. 5 includes a plurality of ECC error records #i, as described in the first embodiment.
图10表示本实施例的ECC错误记录#i的结构。图10中,除去在第1实施例的图6中表示的错误块601、错误发生信息602、错误块清除信息603、错误再发生信息604以外,还具备错误页1001。该错误页1001由于作为信息具有检测出了读出错误的物理页的地址,因此ECC错误记录#i能够以物理页为单位构成。Fig. 10 shows the structure of the ECC error record #i of this embodiment. In FIG. 10, an
本实施例的非易失性存储装置中的数据读出根据图7表示的流程图进行,除去S707以外的各步骤中的处理与第1实施例相同。这里使用图11,说明在S703中不能纠正错误时进行的S707的ECC错误表登录。首先,MPU105检索ECC错误表111的登录状态,搜索在错误块601中具有发生了读出错误的物理块的地址,而且,在错误页1001中具有发生了该错误的物理页的地址的ECC错误记录#i(S1101)。Data reading in the nonvolatile memory device of this embodiment is performed according to the flowchart shown in FIG. 7, and the processing in each step except S707 is the same as that of the first embodiment. Here, using FIG. 11, the ECC error table registration in S707 performed when the error cannot be corrected in S703 will be described. First, the
在S1101的检索中没有相应的ECC错误记录#i的情况下,MPU105判断为没有ECC错误记录#i的登录(S1102),把错误发生的信息新登录到ECC错误记录#i中(S1103)。该登录通过在错误块601中写入存在发生了错误的页的物理块的地址,在错误发生信息602中写入表示发生读出错误的“1”,在错误页1001中写入发生了错误的页的物理页地址来完成。在本次登录中不需要的错误块清除信息603、错误再发生信息604中登录表示初始值的“0”。If there is no corresponding ECC error record #i in the search in S1101,
在S1102中判断为有登录的情况下,MPU105判断是否是物理清除后的读出错误(S1104)。即,如果有登录的ECC错误记录#i的错误块清除信息603是“0”,则MPU105判断为尚未进行物理清除,不是物理清除后的读出错误,不进行ECC错误记录#i的更新而结束。该判断以只要读出相同物理页的相同数据,则无论读出错误发生多少次也不能判断是偶发性错误还是由固有不良引起的错误为依据。When it is determined in S1102 that there is a registration,
图9是表示物理清除时的ECC错误表更新和不良块登录的流程图,由于与第1实施例相比S901的处理不同因此进行说明。如果根据作为物理清除单位的物理块地址进行S901的检索,则有时检测出若干个物理块地址相同、物理页地址不同的ECC错误记录#i。即,检索出多个错误块601的值相同、错误页1001的值不同的ECC错误记录#i(S901)。由于按照在S901中检测出的顺序,检测出的多个ECC错误记录#i成为下一个步骤中的处理对象,因此S902以后的处理与第1实施例相同。FIG. 9 is a flowchart showing updating of the ECC error table and registration of defective blocks during physical erasure, and will be described because the processing of S901 is different from that of the first embodiment. If the search in S901 is performed based on the physical block address which is the unit of physical clearing, several ECC error records #i having the same physical block address but different physical page addresses may be detected. That is, a plurality of ECC error records #i having the same value of the
另外,不良块登录的方法和通过向项目表的登录防止使用不良块的方法与第1实施例相同。In addition, the method of registering a bad block and the method of preventing the use of a bad block by registering in the item table are the same as those of the first embodiment.
本实施例的特征是在ECC错误记录#i的结构中具备错误页1001,对每一个物理页的地址新登录ECC错误记录#i。这样,即使在同一个物理块内连续发生了错误的情况下也能区分是在不同物理页中发生的错误,还是在同一物理页中发生的错误,能够高精度地判断是偶发性的错误还是由固有不良引起的错误。The present embodiment is characterized in that an
另外,在本实施例中,把进行读出的页单位作为写入的最小单位即物理页,而即使使用所构成的系统的读出单位或者添加ECC码的单位,也能够进行比物理块单位的错误管理精度更高的错误管理。也可以与能否纠正读出错误无关进行ECC错误表的登录和更新。In addition, in this embodiment, the page unit for reading is taken as the minimum unit of writing, that is, the physical page, and even if the reading unit of the configured system or the unit of ECC code is used, it is possible to compare the physical block unit. Error management with higher precision error management. It is also possible to register and update the ECC error table irrespective of whether or not the read error can be corrected.
(实施例3)(Example 3)
图1表示本实施例中的非易失性存储装置的结构。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。包含在存储控制器102中的各结构要素与在第1实施例中说明过的相同。FIG. 1 shows the structure of the nonvolatile memory device in this embodiment. The
图2是表示闪速存储器103的内部结构的框图,闪速存储器103的内部由PB0~PB1023共1024个物理块构成。图3是表示物理块的内部结构的框图,各个物理块具备64个物理页PP0~PP63。这些与在第1实施例中说明过的相同。FIG. 2 is a block diagram showing the internal structure of the
图5表示的ECC错误表111具备多个ECC错误记录#i,与在第1实施例中说明过的相同。The ECC error table 111 shown in FIG. 5 includes a plurality of ECC error records #i, as described in the first embodiment.
图12表示本实施例的ECC错误记录#i的结构。图12表示ECC错误记录#i的信息组和保存在ECC错误记录#i中的信息的变化。错误块1201保存发生了错误的物理块的物理地址。错误计数1202保存发生了读出错误的次数。如果在经过该物理块的物理清除而新写入的数据中又发生了读出错误,则把错误计数1202的错误次数加1。错误块清除计数1203表示对发生读出错误的物理块进行了物理清除的次数。Fig. 12 shows the structure of the ECC error record #i of this embodiment. Fig. 12 shows the information group of the ECC error record #i and the change of the information stored in the ECC error record #i. The
根据图7表示的流程图进行本实施例的非易失性存储装置中的数据的读出,除去S707以外的各步骤中的处理与第1实施例相同。这里,说明在S703中不能纠正错误时进行的S707的ECC错误表登录。Data reading in the nonvolatile memory device of this embodiment is performed according to the flowchart shown in FIG. 7, and the processing in each step except S707 is the same as that of the first embodiment. Here, the ECC error table registration in S707 performed when the error cannot be corrected in S703 will be described.
图13表示ECC错误表的登录处理。首先,MPU105检索ECC错误表111的登录状态(S1301)。具体地讲,是用于搜索在错误块601中具有发生了读出错误的物理块地址的ECC错误记录#i的检索。Fig. 13 shows registration processing of the ECC error table. First, the
在S1301的检索中,在没有物理地址一致的ECC错误记录#i的情况下,MPU105判断为没有登录(S1302),新登录ECC错误记录#i(S1303)。图12(b)表示新登录后的状态。在错误块1201中,作为有效值写入发生了读出错误的物理块的地址。在错误计数1202中,写入表示发生了1次读出错误的“1”。在错误块清除计数1203中,写入表示错误发生后的物理清除次数是0次的“0”。In the search in S1301, when there is no ECC error record #i whose physical address matches,
在S1302中判断为有登录时,MPU105参照登录的ECC错误记录#i,判断是否是物理清除后发生的最初的错误(S1304)。具体地讲,把在S1301中检测出的ECC错误记录#i的错误计数1202与错误块清除计数1203进行比较。错误计数1202如果是比错误块清除计数1203大的值,则判断为ECC错误记录#i的紧接之前的更新是由发生读出错误引起的错误计数1202的增加。由于在发生了读出错误以后没有进行物理清除,因此不更新ECC错误记录#i,结束ECC错误表111的登录。一旦登录或者更新了错误计数1202以后,只要没有进行该物理块201的物理清除,则无论发生多少次读出错误也不能判断是偶发性的错误还是由固有不良引起的错误。由此,如果错误计数1202是比错误块清除计数1203大的值,则不会使错误计数1202进一步增加。When it is judged in S1302 that there is a registration, the
其次,如果错误计数1202与错误块清除计数1203的值相同,则判断为ECC错误记录#i的紧接之前的更新是由物理清除引起的错误块清除计数1203的增加。由于发生了错误以后进行了物理清除,因此MPU105判断为在物理清除后发生了读出错误,转移到S1305。而且在图12中,如从(c)向(d),从(e)向(f)变化那样,把错误计数1202的信息增加1进行改写后,结束表的更新。作为应该更新ECC错误记录#i的内容的读出错误是指对一旦发生了读出错误的物理块进行了物理清除以后,即使在新写入的数据中又发生的读出错误。Next, if the value of the
图14是在数据写入之前的物理清除时的ECC错误表更新的流程图。首先,MPU105检索ECC错误表111的登录状态(S1401)。具体地讲,是用于搜索在错误块1201中具有作为物理清除对象的闪速存储器103的物理块地址的ECC错误记录的检索。FIG. 14 is a flowchart of updating the ECC error table at the time of physical erasure before data writing. First, the
在S1401的检索中,在没有物理地址一致的ECC错误记录#i的情况下,MPU105判定为没有登录(S1402),不更新ECC错误表111而结束。在S1401的检索中有相应的ECC错误记录#i的情况下,判定为有登录(S1402)。In the search at S1401, when there is no ECC error record #i whose physical address matches, the
接着,MPU105参照ECC错误记录#i,判定是否是发生了物理清除后的错误(S1403)。具体地讲,把错误计数1202与错误块清除计数1203进行比较,如果两者是相同的值,则ECC错误记录#i的紧接之前的更新是由物理清除引起的物理块清除计数1203的增加,判断为在清除以后没有发生错误。由此,判断为在物理清除前发生的读出错误是偶发性的错误。该判断以后,MPU105消除ECC错误记录#i的登录(S1404),结束ECC错误表111的更新。如图12(a)那样,通过使错误块1201的值成为无效值,能够消除登录。Next, the
另外,把ECC错误记录#i的错误计数1202与错误块清除计数1203进行比较,如果错误计数1202是比错误块清除计数1203大的值,则能判断为ECC错误记录#i的紧接之前的更新是由发生错误引起的错误计数1202的增加,在S1403中发生了清除后的错误。MPU105参照错误计数1202(S1405),判断是否在预先确定的规定次数以内。如果在规定次数以内,则由于不需要进行不良块登录,因此使ECC错误表111的错误块清除计数1203的值加1(S1406),结束ECC错误表111的更新。在S1405中错误超过了规定次数的情况下,视为是具有固有不良的物理块,进行不良块登录。所谓不良块登录是指登录在与该物理块的地址相对应的BB记录i中(S1407)。不良块的登录以后,消除该物理块的ECC错误记录#i的登录(S1404)。In addition, the
不良块登录的方法和通过向项目表的登录防止使用不良块的方法与第1实施例相同。The method of registering bad blocks and the method of preventing the use of bad blocks by registering in the item table are the same as those of the first embodiment.
在使用了如多值闪速存储器那样偶发性比特错误的发生频率高的闪速存储器的存储装置的情况下,有时在同一个物理块或者页中,在物理清除前后,连续发生偶发性的比特错误。这种情况下,会作为不良块登录没有固有不良的该物理块,限制使用该物理块并不适宜。因此本实施例能够把直到进行不良块登录为止的错误发生次数任意地设定为大于等于3次的次数。通过把直到进行不良块登录为止的错误发生次数的规定值取为大的值,能够准确地检测固有不良。In the case of a storage device using a flash memory with a high occurrence frequency of sporadic bit errors such as a multi-valued flash memory, sporadic bit errors may occur consecutively before and after physical erasure in the same physical block or page. mistake. In this case, the physical block that is not inherently defective is registered as a bad block, and it is not appropriate to restrict the use of this physical block. Therefore, the present embodiment can arbitrarily set the number of times of occurrence of errors until a bad block is registered to be three or more. By setting the predetermined value of the number of times of error occurrence until a defective block is registered to a large value, it is possible to accurately detect an inherent defect.
另外,也可以在本实施例的ECC错误记录#i中添加记录物理块页的错误页信息,以物理页单位登录错误表。另外,也可以与能否纠正读出错误无关进行ECC错误表的登录和更新。In addition, the error page information of the physical block page may be recorded in the ECC error record #i of this embodiment, and the error table may be registered in units of physical pages. In addition, the registration and update of the ECC error table may be performed regardless of whether the read error can be corrected or not.
(实施例4)(Example 4)
图1表示本实施例中的非易失性存储装置的结构。存储卡101具备存储控制器102和作为非易失性存储器的闪速存储器103。包含在存储控制器102中的各结构要素与在第1实施例中说明过的相同。FIG. 1 shows the structure of the nonvolatile memory device in this embodiment. The
图2是表示闪速存储器103的内部结构的框图,闪速存储器103的内部由PB0~PB1023共1024个物理块构成。图3是表示物理块的内部结构的框图,各个物理块具备64个物理页PP0~PP63。这些与在第1实施例中说明过的相同。FIG. 2 is a block diagram showing the internal structure of the
图5表示的ECC错误表111具备多个ECC错误记录#i,与在第1实施例中说明过的相同。The ECC error table 111 shown in FIG. 5 includes a plurality of ECC error records #i, as described in the first embodiment.
图15是本实施例的非易失性存储装置中的数据读出的流程图。S1501中的处理是与第1实施例中的S701相同的处理。FIG. 15 is a flowchart of data reading in the nonvolatile memory device of this embodiment. The processing in S1501 is the same processing as in S701 in the first embodiment.
在S1501以后,ECC电路109对读出的数据判定是否发生了读出错误(S1502)。在没有发生读出错误的情况下,MPU105对主接口104指示数据向外部主设备的输出(S1506)。然后只要继续进行读出(S1507),则以读出的单位增加地址,同时,循环到S1501,继续进行数据的读出处理。After S1501, the
判定是否发生了读出错误(S1502),在发生了读出错误的情况下,对ECC错误表111进行ECC错误记录#i的登录(S1503)。如果结束向ECC错误表111的登录,则ECC电路109判断能否对其读出错误进行纠正(S1504),在能纠正的情况下纠正读出错误(S1505)。在读出错误的纠正以后,输出读出数据,判定是否继续数据的读出(S1507)。另外,在不能纠正读出错误的情况下(S1504),立即结束读出。It is determined whether a read error has occurred (S1502), and if a read error has occurred, the ECC error record #i is registered in the ECC error table 111 (S1503). When registration to the ECC error table 111 is completed, the
在本实施例中,只要检测出读出错误,则就与能否纠正错误无关,进行ECC错误表111的登录。ECC错误表111的登录方法与第1实施例相同,如图8所示。In the present embodiment, as long as a read error is detected, registration in the ECC error table 111 is performed regardless of whether the error can be corrected or not. The method of registering the ECC error table 111 is the same as that of the first embodiment, as shown in FIG. 8 .
数据写入之前进行的物理清除时的ECC错误表更新和不良块登录与第1实施例相同,如图9所示。The updating of the ECC error table and registration of bad blocks at the time of physical erasing before data writing are the same as those in the first embodiment, as shown in FIG. 9 .
不良块登录的方法和通过向项目表的登录防止使用不良块的方法与第1实施例相同。The method of registering bad blocks and the method of preventing the use of bad blocks by registering in the item table are the same as those of the first embodiment.
在用如二值闪速存储器那样偶发性比特错误的发生频率低的闪速存储器103构成存储卡的情况下,不能纠正的错误在物理清除前后连续发生2次的频率非常低,几乎所有的错误都能纠正。即使是起因于固有不良的错误,由于大多能纠正,因此只有在不能纠正错误的情况下进行ECC错误表的登录时,不能准确地检测出存在固有不良的物理块。与此不同,在本实施例如果检测出比特错误,则与能否纠正错误无关,在ECC错误表中登录ECC错误记录#i,因此即使是偶发性比特错误的发生频率低的闪速存储器,也能适宜地限制使用存在固有不良的物理块。In the case where the memory card is constituted by a
另外,也可以在本实施例的ECC错误记录#i上添加记录物理块页的错误页信息,以物理页单位登录错误表。另外,也可以与能否纠正读出错误无关进行ECC错误表的登录和更新。In addition, it is also possible to add and record error page information of a physical block page to the ECC error record #i of this embodiment, and register the error table in units of physical pages. In addition, the registration and update of the ECC error table may be performed regardless of whether the read error can be corrected or not.
(实施例5)(Example 5)
图16表示如果反复读出写入在某一个物理块中的数据,则与读出的次数相应,增加比特错误的状况。图中,网格图案表示发生的错误的比特数,随着读出次数增加,向表示ECC电路的纠错能力的可进行ECC纠正的比特数的虚线增加。以为了进行数据读出而施加到存储单元上的电压等为原因,写入到存储单元中的比特发生变化,发生这样的错误。在本实施例中,把这样的错误称为进行性错误。FIG. 16 shows how bit errors increase in accordance with the number of reads when data written in a certain physical block is repeatedly read. In the figure, the grid pattern indicates the number of erroneous bits that have occurred, and as the number of times of reading increases, the dotted line increases toward the number of bits that can be corrected by ECC, which indicates the error correction capability of the ECC circuit. Such an error occurs because a bit written in a memory cell changes due to a voltage applied to the memory cell for data reading or the like. In this embodiment, such an error is called a progressive error.
在用图16的E/W表示的位置表示数据的清除和写入,表示在清除了物理块的数据以后,在该相同的物理块中写入新的数据。虽然紧接在E/W的后面暂时没有进行性错误,然而如果增加数据的读出次数,则由于进行性错误的比特数逐渐增加,因此在ECC电路的纠错能力方面没有余量。在保持这样的状态下反复进行数据的读出,则发生超过ECC电路的纠正能力的比特数的错误,并不优选。为此,将纠正阈值设定为小于等于ECC电路的能够纠正的比特数,如果在从某个物理块读出的数据中检测出大于等于纠正阈值的比特数的错误,则纠正检测出的错误,把纠正了的该数据写入到其它的物理块中。通过这样做,暂时消除进行性错误,确保数据的安全性,同时,使ECC电路的纠错能力恢复余量。另外,在本实施例中,ECC电路的能够纠错的比特数和纠正阈值都取为4比特。在本实施例中,以下说明用于应对上述事态的方法。The position indicated by E/W in FIG. 16 indicates erasing and writing of data, which means that after erasing the data of the physical block, new data is written in the same physical block. There is no progressive error immediately after E/W, but if the number of data readouts is increased, the number of progressive error bits gradually increases, so there is no margin in the error correction capability of the ECC circuit. If data reading is repeated in this state, an error of the number of bits exceeding the correction capability of the ECC circuit will occur, which is not preferable. To this end, the correction threshold is set to be less than or equal to the number of bits that can be corrected by the ECC circuit, and if an error greater than or equal to the number of bits of the correction threshold is detected in the data read from a certain physical block, the detected error is corrected , and write the corrected data into other physical blocks. By doing so, progressive errors are temporarily eliminated, data security is ensured, and at the same time, a margin is restored to the error correction capability of the ECC circuit. In addition, in this embodiment, both the number of bits capable of error correction and the correction threshold of the ECC circuit are set to 4 bits. In this embodiment, a method for coping with the above situation will be described below.
以下,说明本实施例。图17是表示本实施例的非易失性存储装置的结构的框图。存储卡701具备存储控制器702和作为非易失性存储器的闪速存储器703。Hereinafter, this embodiment will be described. FIG. 17 is a block diagram showing the configuration of the nonvolatile memory device of this embodiment. The
图18是表示闪速存储器703的内部结构的框图。这里,说明具有1G比特容量的闪速存储器。闪速存储器703的内部由PB0~PB1023共1024个物理块构成。物理块在闪速存储器703中是数据清除的最小单位。一个物理块容量用128kB+4kB表示。这表示一个物理块的数据容量是128kB,进而在4kB的区域中写入ECC码或者该物理块的逻辑地址值等的管理数据。FIG. 18 is a block diagram showing the internal structure of the
图19是表示物理块的内部结构的框图。闪速存储器703内的各个物理块具备64个物理页PP0~PP63。物理页在闪速存储器703中是数据写入的最小单位。1个物理页的容量是2kB+64B。这表示能够写入到1个物理页中的数据的容量是2kB,在其余的64B中写入包括ECC的管理数据。Fig. 19 is a block diagram showing the internal structure of a physical block. Each physical block in the
存储控制器702具有主接口704、地址表706、闪速接口707、缓冲存储器708、ECC电路709、MPU(小型运算单元)705。主接口704控制与连接在存储卡701的外部的主设备的接口。The
地址表706是具有保存在闪速存储器703中的数据的管理信息的表,具有逻辑物理变换表710、ECC错误表711、项目表712。这些表保持在易失性存储器中。The address table 706 is a table having management information of data stored in the
逻辑物理变换表710是表示作为从存储卡701的外部指定的逻辑地址的逻辑块地址与作为闪速存储器703内部的物理地址的物理块地址的对应关系的表。逻辑物理变换表710用于从逻辑地址得到与该逻辑块相对应的物理地址。The logical-physical conversion table 710 is a table showing correspondence between logical block addresses that are logical addresses specified from outside the
ECC错误表711具有发生了读出错误的物理块的物理地址、数据的物理清除的历史、或物理清除后的读出错误的发生历史等信息,在固有不良的物理块的检测中使用。The ECC error table 711 has information such as the physical address of a physical block where a read error has occurred, the history of physical erasure of data, or the history of occurrence of a read error after physical erasure, and is used to detect inherently defective physical blocks.
项目表712是具有分别用1比特表示对闪速存储器703的各个物理块、数据是写入完毕还是清除完毕的信息的表。例如,数据写入完毕的物理块用比特“0”表示,清除完毕的物理块用比特“1”表示。The entry table 712 is a table having information indicating whether data has been written or erased to each physical block of the
闪速接口707通过后述的MPU705的控制,在闪速存储器703中写入缓冲存储器708的数据,或者把闪速存储器703的数据写入到缓冲存储器708中,或者清除闪速存储器703的数据。缓冲存储器708是在外部的主设备与闪速存储器703之间的数据写入和读出时用于暂时保持数据的易失性存储器。The flash interface 707 writes the data of the
ECC电路709生成添加到从缓冲存储器708传送到闪速存储器703的写入数据上的ECC的代码。另外,ECC电路709是对于从闪速存储器703读出到缓冲存储器708的数据,进行ECC运算并检测错误,在其错误是可纠正的错误的情况下,纠正缓冲存储器708的数据的纠错电路。The
MPU705是进行存储控制器702的整体控制的微机。在与主设备之间进行数据的写入和读出时,直接控制主接口704、ECC电路709、闪速接口707、地址表706。特别是在读出数据中有错误时,MPU705参照地址表706内的ECC错误表711的信息,根据需要进行ECC错误表711的更新。进而MPU705根据更新后的BB表的内容还进行项目表的更新。The
图20表示ECC错误表711的结构。ECC错误表711由用16进制数表示的#0~#F的16个ECC错误记录#i构成。FIG. 20 shows the structure of the ECC error table 711. The ECC error table 711 is composed of 16 ECC error records #i of #0 to #F expressed in hexadecimal notation.
图21表示本实施例的ECC错误记录#i的结构。本实施例的ECC错误记录#i除去保存发生了错误的物理块的地址的错误块601、保存发生了错误的物理页的地址的错误页1001以外,还具备保存发生的错误的比特数的错误比特计数1601。该错误比特计数1601作为信息具有发生的读出错误的比特数,用ECC错误记录#i表示所发生的比特错误的程度。Fig. 21 shows the structure of the ECC error record #i of this embodiment. The ECC error record #i of this embodiment includes an
图22是本实施例的非易失性存储装置中的数据读出的流程图。MPU705向闪速存储器接口707指示进行读出的物理块的地址和物理页的地址,从闪速存储器703读出数据(S1701)。在S1707以后,ECC电路709对读出的数据判定是否发生了读出错误(S1702)。在没有发生读出错误的情况下,MPU705对主接口704指示数据向外部主设备的输出(S1707)。然后只要继续进行读出(S1708),则就以读出的单位增加地址,同时,循环到S1701,继续进行数据读出的处理。FIG. 22 is a flowchart of data reading in the nonvolatile memory device of this embodiment. The
在S1702的判定中发生了读出错误的情况下,进行向ECC错误表711的登录(S1703)。如果向ECC错误表711的登录结束,则ECC电路709对于该读出错误判断是否小于等于可纠正的4比特(S1704)。在不能纠正读出错误的情况下(S1704),立即结束数据的读出。When a read error has occurred in the determination in S1702, registration to the ECC error table 711 is performed (S1703). When registration to the ECC error table 711 is completed, the
在能纠正的情况下,纠正读出错误(S1705)。在读出错误纠正以后,进行数据纠正复制处理(S1706),输出读出数据(S1707)。然后,判定是否继续进行读出(S1708)。If correctable, the read error is corrected (S1705). After the reading error is corrected, data correction copy processing is performed (S1706), and the read data is output (S1707). Then, it is determined whether to continue reading (S1708).
在本实施例中,如果检测出了读出错误,则与能否纠正无关,进行ECC错误表的登录。这里,使用图23的流程图说明ECC错误表的登录(S1703)的处理。In this embodiment, if a read error is detected, it is registered in the ECC error table irrespective of whether it can be corrected or not. Here, the process of registering the ECC error table (S1703) will be described using the flowchart of FIG. 23 .
在检测出了读出错误的情况下,MPU705检索ECC错误表711的登录状态(S1801)。具体地讲,检查发生了读出错误的物理块以及物理页的物理地址是否与ECC错误表711的某一个ECC错误记录#i的错误块601以及错误页1001的值一致。When a read error is detected, the
其次,在S1801的检索中没有相应的ECC错误记录#i时,判断为没有登录(S1802)。接着,把错误块601、错误页1002和错误比特计数1603的各个值新登录到空的ECC错误记录#i中(S1803)。这时,如果发生了超过ECC电路709的纠正能力的大于等于5比特的错误,则由于不能决定登录在ECC错误记录#i中的错误比特计数,因此在这种情况下,登录可知不能纠正的值。例如,如果ECC电路709的最大纠正能力是4比特,则可以登录作为超过4比特的值的5。Next, when there is no corresponding ECC error record #i in the search in S1801, it is determined that there is no registration (S1802). Next, each value of the
在S1802中检测出了ECC错误记录#i的登录的情况下,MPU705判断本次发生的错误的比特计数是否比ECC错误记录#i的错误比特计数多(S1804)。把有登录的ECC错误记录#i的错误比特计数1601与本次读出中的错误比特计数进行比较,如果比特计数没有增加,则不进行ECC错误记录的更新而结束。在增加的情况下,把错误比特计数1601改写为增加后的值,结束ECC错误表的登录(S1805)。When registration of ECC error record #i is detected in S1802,
其次,使用图24的流程图说明数据纠正复制处理(S1706)。在可纠正的错误的纠正(S1705)以后,MPU705进行今后是否可以继续读出本次读出的物理页的数据的判定。即,是为了判定在今后也继续进行数据的读出时,发生不可纠正的比特错误的可能性是否高,并进行适当的处理。Next, the data correction copy process (S1706) will be described using the flowchart of FIG. 24 . After the correction of the correctable error (S1705), the
首先,从ECC错误记录#i取得错误比特计数1601的值(S1901)。接着,判定所取得的错误比特计数是否大于等于纠正阈值4比特(S1902)。如果错误比特计数小于纠正阈值4比特,则判断为今后即使错误比特增加,也不会立即达到不可纠正的读出错误,结束数据纠正复制处理。First, the value of the
在错误比特计数是4比特时,由于是与纠正阈值相等的值,因此进行纠正后数据的写入(S1903)。具体地讲,MPU705例如把缓冲存储器708中存在的纠正后的数据写入到闪速存储器703的任意的物理块中。这时,写入数据的物理块是读出了该数据的物理块以外的物理块。最后,消除关于发生了错误的物理块的ECC错误记录#i的登录(S1904)。When the error bit count is 4 bits, since it is equal to the correction threshold value, writing of corrected data is performed (S1903). Specifically, the
如以上那样,将发生大于等于纠正阈值的错误比特计数的物理页的数据判断为存在今后发展到不可纠正的读出错误的可能性,在可纠正的期间进行纠正,把纠正完毕的数据写入到其它物理块的物理页中。As above, it is judged that the data of the physical page whose error bit count is greater than or equal to the correction threshold has the possibility of developing into an uncorrectable read error in the future, corrects it during the correctable period, and writes the corrected data to physical pages of other physical blocks.
本实施例在所发生的比特错误的数是5比特或者6比特等,超过ECC电路的纠正能力,不能纠正错误时不进行数据纠正复制处理(S1706)。当能纠正错误时,当该错误的比特数在ECC电路709可纠正的范围内而且是大于等于纠正阈值的4比特时,把纠错后的数据写入到闪速存储器103的其它物理块中。In this embodiment, when the number of bit errors that occur is 5 bits or 6 bits, etc., exceeding the correction capability of the ECC circuit, and the error cannot be corrected, the data correction copying process is not performed (S1706). When the error can be corrected, when the number of bits of the error is within the correctable range of the
另外,这里在ECC错误表711的ECC错误记录#i中设置错误比特计数1601,但并不限于此,只要是表示错误的程度即可。例如,即使不是具体的比特数,使用作为表示是否大于等于纠正阈值的错误发生信息的标志,也可以实现本发明的效果,这一点能够很容易想到。进而,也可以仅在发生大于等于纠正阈值而且可纠错的错误时进行ECC错误表的登录。In addition, here, the
另外,在本实施例中,由于以能进行比特纠正的ECC电路为前提,因此使用了错误比特计数1601。然而,在不是比特纠正而是以里德所罗门(Reed-Solomon)码等能进行符号纠正的纠错电路为前提的情况下,需要作为错误符号计数应用发生了错误的符号数的信息来代替错误比特计数。In addition, in this embodiment, since an ECC circuit capable of bit correction is assumed, the
(实施例6)(Example 6)
图17表示本实施例中的非易失性存储装置的结构。存储卡701具备存储控制器702和作为非易失性存储器的闪速存储器703。包含在存储控制器702中的各结构要素与在第5实施例中说明过的相同。FIG. 17 shows the structure of the nonvolatile memory device in this embodiment. The
图18是表示闪速存储器103的内部结构的框图,闪速存储器703的内部由PB0~PB1023共1024个物理块构成。图19是表示物理块的内部结构的框图,闪速存储器703内的各物理块具备64个物理页PP0~PP63。这些与在第5实施例中说明过的相同。如图20所示,ECC错误表711具备多个ECC错误记录#i。另外,本实施例的ECC错误记录#i的结构如图21所示。ECC错误记录#i除去保存发生了错误的物理块的地址的错误块601、保存发生了错误的物理页的地址的错误页1001以外,还具备保存所发生的错误的比特数的错误比特计数1601。这些与第5实施例相同。FIG. 18 is a block diagram showing the internal structure of the
图25是本实施例的非易失性存储装置中的数据读出的流程图。首先,向闪速存储器接口707指示进行读出的物理块的地址和物理页的地址,从闪速存储器703读出数据(S2001)。S2001以后,ECC电路709对读出的数据判定是否发生了读出错误(S2002)。在没有发生读出错误时,MPU705对主接口704指示数据向外部主设备的输出(S2006)。然后只要继续进行读出(S2007),则就以读出的单位增加地址,同时,循环到S2001,继续进行数据读出的处理。FIG. 25 is a flowchart of data reading in the nonvolatile memory device of this embodiment. First, the address of the physical block and the address of the physical page to be read are instructed to the flash memory interface 707, and data is read from the flash memory 703 (S2001). After S2001, the
在判定为有读出错误时(S2002)时,判定该错误能否纠正(S2003)。在判定为不能纠正时,立即结束读出处理。When it is determined that there is a read error (S2002), it is determined whether the error can be corrected (S2003). When it is determined that correction is impossible, the readout process is immediately terminated.
在判断为能纠正时,进行ECC错误表的登录(S2004)。这里的ECC错误表与在第5实施例的图23中说明过的处理相同地进行登录。在ECC错误表的登录后,在缓冲存储器708内纠正错误(S2005),MPU705对主接口704指示数据向外部主设备的输出(S2006)。然后只要继续进行读出(S2007),就以读出的单位增加地址,同时,循环到S2001,进行读出处理。When it is judged that it can be corrected, the registration of the ECC error table is performed (S2004). Here, the ECC error table is registered in the same manner as the processing described in FIG. 23 of the fifth embodiment. After registering the ECC error table, errors are corrected in the buffer memory 708 (S2005), and the
在本实施例中,没有把在第5实施例中进行的数据纠正复制处理包含在数据读出的流程图中。这是因为在本实施例中,在数据的读出处理过程中没有进行数据向闪速存储器703的写入。一般与读出时间相比,闪速存储器的写入时间长,因此如果在数据的读出过程中进行这样花费时间的写入处理则导致处理性能的降低。从而,在数据的读出过程中没有进行向闪速存储器703的写入。In this embodiment, the data correction copy processing performed in the fifth embodiment is not included in the flow chart of data readout. This is because, in this embodiment, data is not written into the
从而,在本实施例中,在没有进行其它处理的空闲的时间中进行数据纠正复制处理。所谓空闲的时间是指没有进行来自存储卡701外部的数据的写入和读出处理的期间、或者在存储卡701中投入了电源以后直到进行来自存储卡701外部的数据的写入和读出处理为止的期间。Therefore, in this embodiment, the data correction copy processing is performed in idle time when no other processing is performed. The so-called idle time refers to the period during which data writing and reading from the outside of the
使用图26的流程图说明在空闲时间中进行的数据纠正复制处理。MPU705在空闲时间中检索ECC错误表711的错误计数,选择错误比特计数1601成为大于等于纠正阈值的4比特的ECC错误记录#i(S2101)。这时如果没有相应的错误记录(S2102),则结束数据纠正复制处理。The data correction copy process performed during idle time will be described using the flowchart of FIG. 26 . The
在有相应的错误记录#i时,从错误记录#i的错误块601和错误页1001取得物理块和物理页的地址(S2103)。而且,把属于所取得的地址的数据读出到缓冲存储器708(S2104)。接着由ECC电路109纠正错误(S2105),把纠正后的数据写入到闪速存储器703的任意的物理块中(S2106)。这时写入数据的物理块是登录在该错误记录#i中的物理块以外的物理块。最后消除相应的错误记录#i的登录,结束处理(S2107)。When there is a corresponding error record #i, the addresses of the physical block and the physical page are obtained from the
如以上那样,发生了大于等于纠正阈值的错误比特计数的物理页的数据由于被判断为今后有发展到不可纠正的读出错误的可能性,因此如上所述利用空闲时间进行错误的纠正,把纠正完毕的数据写入其它物理块的物理页中。这样,如果对1次写入的数据反复进行读出,虽然不良比特增加,然而通过纠正该数据、改写到其它的物理块中,能够避免不可纠正的读出错误。As described above, since the data of the physical page with the error bit count greater than or equal to the correction threshold is judged to have the possibility of developing into an uncorrectable read error in the future, the error correction is performed using the idle time as described above, and the The corrected data is written into physical pages of other physical blocks. In this way, if data written once is repeatedly read, defective bits increase, but uncorrectable read errors can be avoided by correcting the data and rewriting it to another physical block.
在本实施例中,当所发生的比特错误是不可纠正时,由于不进行ECC错误表的登录,因此也不进行数据纠正复制处理。也可以只有当在读出了某个物理页的数据时发生错误,该错误的错误比特数在能够由ECC电路709纠错的范围内而且超过了纠正阈值时,在闪速存储器703的其它物理块中写入纠错后的数据,在读出中使用,使得今后可以不进行来自该物理页的数据的读出。In this embodiment, when the generated bit error is uncorrectable, since the registration of the ECC error table is not performed, the data correction copy process is not performed either. It is also possible that only when an error occurs when the data of a certain physical page is read, and the number of error bits of the error is within the range that can be corrected by the
另外,这里在ECC错误表711的ECC错误记录#i中设置错误比特计数1601,但不限于此,只要是表示错误的程度即可。例如,即使不是具体的比特数,使用作为表示是否超过了纠正阈值的错误发生信息的标志,也能够实现本发明的效果,这一点能够很容易想到。进而,也可以只有在发生了大于等于纠正阈值而且可纠错的错误时进行ECC错误表的登录。In addition, here, the
另外,在本实施例中由于以能够进行比特纠正的ECC电路为前提,因此使用了错误比特计数1601。而在以不是比特纠正而是能够进行里德所罗门码等符号纠正的纠错电路为前提的情况下,需要作为错误符号计数应用发生了错误的符号数的信息来代替错误比特计数。In addition, in this embodiment, the
产业上的可利用性Industrial availability
本发明的非易失性存储装置由于通过检测非易失性存储器的固有不良、限制在以后使用该块,能够谋求降低读出错误,因此能够在使用了需要基于ECC的纠错的非易失性存储器的存储卡系统,例如,数字照相机的静止图像保存用的存储装置等中使用。The nonvolatile memory device of the present invention can reduce read errors by detecting inherent defects of the nonvolatile memory and restricting the use of the block in the future. It is used in a memory card system of permanent memory, for example, a storage device for storing still images of a digital camera.
Claims (26)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP207198/2005 | 2005-07-15 | ||
JP2005207198 | 2005-07-15 | ||
PCT/JP2006/313978 WO2007010829A1 (en) | 2005-07-15 | 2006-07-13 | Nonvolatile storage device, memory controller, and defective region detection method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101243417A CN101243417A (en) | 2008-08-13 |
CN101243417B true CN101243417B (en) | 2011-05-04 |
Family
ID=37668709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200680029679.0A Active CN101243417B (en) | 2005-07-15 | 2006-07-13 | Nonvolatile storage device, memory controller, and defective region detection method |
Country Status (4)
Country | Link |
---|---|
US (1) | US9092361B2 (en) |
JP (1) | JP4950886B2 (en) |
CN (1) | CN101243417B (en) |
WO (1) | WO2007010829A1 (en) |
Families Citing this family (85)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8020072B2 (en) * | 2006-10-25 | 2011-09-13 | International Business Machines Corporation | Method and apparatus for correcting data errors |
WO2008057557A2 (en) * | 2006-11-06 | 2008-05-15 | Rambus Inc. | Memory system supporting nonvolatile physical memory |
JP5057796B2 (en) * | 2007-02-14 | 2012-10-24 | 株式会社東芝 | Semiconductor memory information storage device and its defective part coping method |
JP5087970B2 (en) * | 2007-03-30 | 2012-12-05 | 横河電機株式会社 | Information processing apparatus and information processing method |
JP5105351B2 (en) * | 2007-04-10 | 2012-12-26 | 株式会社メガチップス | Nonvolatile semiconductor memory device |
JP2008287404A (en) * | 2007-05-16 | 2008-11-27 | Hitachi Ltd | Apparatus and method for detecting and recovering data corruption of non-access memory cell due to reading |
JP5265883B2 (en) * | 2007-05-24 | 2013-08-14 | 株式会社メガチップス | Memory access system |
US7765426B2 (en) * | 2007-06-07 | 2010-07-27 | Micron Technology, Inc. | Emerging bad block detection |
US7770079B2 (en) * | 2007-08-22 | 2010-08-03 | Micron Technology Inc. | Error scanning in flash memory |
US8473923B2 (en) * | 2007-09-12 | 2013-06-25 | Sandisk Technologies Inc. | Pointers for write abort handling |
JP2009087509A (en) * | 2007-10-03 | 2009-04-23 | Toshiba Corp | Semiconductor storage device |
JP2009129070A (en) | 2007-11-21 | 2009-06-11 | Hitachi Ltd | Control method of flash memory storage device, flash memory storage device and storage system using the method |
WO2009078145A1 (en) * | 2007-12-14 | 2009-06-25 | Kabushiki Kaisha Toshiba | Control device |
US7941692B2 (en) * | 2007-12-31 | 2011-05-10 | Intel Corporation | NAND power fail recovery |
JP4617405B2 (en) * | 2008-02-05 | 2011-01-26 | 富士通株式会社 | Electronic device for detecting defective memory, defective memory detecting method, and program therefor |
TWI381390B (en) * | 2008-04-10 | 2013-01-01 | Phison Electronics Corp | Bad block determining method for flash memory, storage system and controller thereof |
US8122308B2 (en) * | 2008-06-25 | 2012-02-21 | Intel Corporation | Securely clearing an error indicator |
TWI381391B (en) * | 2008-08-05 | 2013-01-01 | Transcend Information Inc | Storage device with self-condition inspection and inspecting method thereof |
CN101859604B (en) * | 2009-04-10 | 2012-10-24 | 国民技术股份有限公司 | Utilization method of flash memory bad block |
CN102460383A (en) * | 2009-06-30 | 2012-05-16 | 松下电器产业株式会社 | Data processing method and semiconductor integrated circuit |
US8140763B2 (en) * | 2009-07-16 | 2012-03-20 | International Business Machines Corporation | Techniques for managing data in a write cache of a storage controller |
CN101615145B (en) * | 2009-07-24 | 2011-12-07 | 中兴通讯股份有限公司 | Method and device for improving reliability of data caching of memorizer |
US8266481B2 (en) * | 2009-07-29 | 2012-09-11 | Stec, Inc. | System and method of wear-leveling in flash storage |
US8453021B2 (en) | 2009-07-29 | 2013-05-28 | Stec, Inc. | Wear leveling in solid-state device |
CN102004701B (en) | 2009-08-28 | 2013-01-09 | 炬才微电子(深圳)有限公司 | Method and device for distributing secondary memory |
US8312349B2 (en) | 2009-10-27 | 2012-11-13 | Micron Technology, Inc. | Error detection/correction based memory management |
JP2011107851A (en) * | 2009-11-13 | 2011-06-02 | Toshiba Corp | Memory system |
KR101648531B1 (en) * | 2010-02-12 | 2016-08-17 | 삼성전자주식회사 | Nonvolatile memory system and operation method using the same |
CN102208212B (en) * | 2010-03-30 | 2014-10-22 | 群联电子股份有限公司 | Error correction method, memory controller and memory storage system |
WO2012039983A1 (en) | 2010-09-24 | 2012-03-29 | Rambus Inc. | Memory device with ecc history table |
TWI447731B (en) * | 2010-12-01 | 2014-08-01 | Phison Electronics Corp | Data reading method, memory storage apparatus and controller thereof |
JP5451682B2 (en) | 2011-05-20 | 2014-03-26 | 株式会社東海理化電機製作所 | Flash memory device |
TWI479495B (en) * | 2011-06-02 | 2015-04-01 | Phison Electronics Corp | Reading method, memory controller, and memory storage device |
KR101583165B1 (en) * | 2011-08-24 | 2016-01-06 | 미쓰비시덴키 가부시키가이샤 | Error-correcting decoder |
JP2013054409A (en) * | 2011-08-31 | 2013-03-21 | Toshiba Corp | Information storage device and information storage method |
KR20130049332A (en) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | Memory system and operating method thereof |
US8996936B2 (en) * | 2011-12-08 | 2015-03-31 | Sandisk Technologies Inc. | Enhanced error correction in memory devices |
EP2608211A1 (en) * | 2011-12-22 | 2013-06-26 | Fluiditech IP Limited | Method of testing a flash memory |
JP2013171343A (en) | 2012-02-17 | 2013-09-02 | Toshiba Corp | Storage device |
US9418700B2 (en) | 2012-06-29 | 2016-08-16 | Intel Corporation | Bad block management mechanism |
JP5835160B2 (en) * | 2012-08-29 | 2015-12-24 | 株式会社デンソー | Electronic control unit |
CA2901757A1 (en) * | 2013-03-07 | 2014-09-12 | Charles I. Peddle | High speed flash controllers |
KR101467309B1 (en) * | 2013-03-11 | 2014-12-02 | 전자부품연구원 | Method for Storage Management by Error Detection Table Creation and System using the same |
US9244852B2 (en) * | 2013-05-06 | 2016-01-26 | Globalfoundries Inc. | Recovering from uncorrected memory errors |
US9299457B2 (en) | 2014-02-23 | 2016-03-29 | Qualcomm Incorporated | Kernel masking of DRAM defects |
TWI527037B (en) * | 2014-04-10 | 2016-03-21 | 群聯電子股份有限公司 | Data storing method, memory control circuit unit and memory storage apparatus |
CN105022695A (en) * | 2014-04-21 | 2015-11-04 | 群联电子股份有限公司 | Data storage method, memory control circuit unit and memory storage device |
US9478315B2 (en) * | 2014-06-03 | 2016-10-25 | Sandisk Technologies Llc | Bit error rate mapping in a memory system |
US9477548B2 (en) * | 2014-08-01 | 2016-10-25 | Freescale Semiconductor, Inc. | Error repair location cache |
JP6332134B2 (en) * | 2014-09-16 | 2018-05-30 | 株式会社デンソー | Memory diagnostic circuit |
TWI537966B (en) * | 2014-10-03 | 2016-06-11 | 群聯電子股份有限公司 | Error processing method, memory storage device and memory controlling circuit unit |
CN105575440B (en) * | 2014-10-15 | 2018-11-23 | 群联电子股份有限公司 | error processing method, memory storage device and memory control circuit unit |
US9703629B2 (en) * | 2014-10-29 | 2017-07-11 | Sandisk Technologies Llc | Approach to correct ECC errors using duplicate copies of data |
US9934872B2 (en) * | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
US9043638B1 (en) * | 2014-11-14 | 2015-05-26 | Quanta Computer Inc. | Method for enhancing memory fault tolerance |
KR20160146332A (en) * | 2015-06-12 | 2016-12-21 | 에스케이하이닉스 주식회사 | Memory system including plurality of storage areas and method of operating the same |
US10665305B2 (en) * | 2015-09-09 | 2020-05-26 | Toshiba Memory Corporation | Host device connectable to memory device performing patrol read and memory device performing patrol read |
US10338999B2 (en) * | 2016-09-02 | 2019-07-02 | International Business Machines Corporation | Confirming memory marks indicating an error in computer memory |
US10353669B2 (en) | 2016-09-02 | 2019-07-16 | International Business Machines Corporation | Managing entries in a mark table of computer memory errors |
US10304560B2 (en) | 2016-09-02 | 2019-05-28 | International Business Machines Corporation | Performing error correction in computer memory |
US10297335B2 (en) | 2016-09-02 | 2019-05-21 | International Business Machines Corporation | Tracking address ranges for computer memory errors |
CN106445716A (en) * | 2016-09-19 | 2017-02-22 | 北京新能源汽车股份有限公司 | Fault function testing method and device |
KR20180090422A (en) * | 2017-02-02 | 2018-08-13 | 에스케이하이닉스 주식회사 | Memory system and operating method of memory system |
CN107402725B (en) * | 2017-03-20 | 2020-08-25 | 威盛电子股份有限公司 | Nonvolatile memory device and data deduplication method thereof |
JP6797727B2 (en) | 2017-03-21 | 2020-12-09 | キオクシア株式会社 | Semiconductor storage device |
CN108958961B (en) * | 2017-05-22 | 2021-11-30 | 上海宝存信息科技有限公司 | Data storage device and data error management method |
US10452480B2 (en) | 2017-05-25 | 2019-10-22 | Micron Technology, Inc. | Memory device with dynamic processing level calibration |
US10402272B2 (en) * | 2017-05-25 | 2019-09-03 | Micron Technology, Inc. | Memory device with dynamic programming calibration |
US10140040B1 (en) | 2017-05-25 | 2018-11-27 | Micron Technology, Inc. | Memory device with dynamic program-verify voltage calibration |
CN110265083B (en) * | 2018-03-12 | 2021-07-27 | 旺宏电子股份有限公司 | Data detection method of memory device |
TWI650763B (en) | 2018-05-14 | 2019-02-11 | 慧榮科技股份有限公司 | Method, memory device and electronic device and page availability management system for performing page availability management of memory device |
US10664194B2 (en) | 2018-05-16 | 2020-05-26 | Micron Technology, Inc. | Memory system with dynamic calibration using a variable adjustment mechanism |
US10566063B2 (en) | 2018-05-16 | 2020-02-18 | Micron Technology, Inc. | Memory system with dynamic calibration using a trim management mechanism |
US10990466B2 (en) | 2018-06-20 | 2021-04-27 | Micron Technology, Inc. | Memory sub-system with dynamic calibration using component-based function(s) |
US11188416B2 (en) | 2018-07-12 | 2021-11-30 | Micron Technology, Inc. | Enhanced block management for a memory sub-system |
US11113129B2 (en) | 2018-07-13 | 2021-09-07 | Micron Technology, Inc. | Real time block failure analysis for a memory sub-system |
KR102554418B1 (en) * | 2018-10-01 | 2023-07-11 | 삼성전자주식회사 | Memory controller and storage device including the same |
US10936246B2 (en) | 2018-10-10 | 2021-03-02 | Micron Technology, Inc. | Dynamic background scan optimization in a memory sub-system |
CN111324283B (en) * | 2018-12-14 | 2024-02-20 | 兆易创新科技集团股份有限公司 | a memory |
CN112395127A (en) * | 2019-08-15 | 2021-02-23 | 上海忆芯实业有限公司 | Reliability test method of storage equipment and storage equipment thereof |
US11567670B2 (en) * | 2019-10-25 | 2023-01-31 | Samsung Electronics Co., Ltd. | Firmware-based SSD block failure prediction and avoidance scheme |
US11507443B2 (en) | 2020-04-10 | 2022-11-22 | Micron Technology, Inc. | Memory fault map for an accelerated neural network |
CN114035745A (en) * | 2021-10-19 | 2022-02-11 | 许昌许继软件技术有限公司 | A kind of FLASH data storage control method and device |
CN114356645B (en) * | 2021-12-27 | 2025-06-20 | 海光信息技术股份有限公司 | Method, device, electronic device and storage medium for data error correction |
US20250209011A1 (en) * | 2023-12-22 | 2025-06-26 | SK Hynix NAND Produst Solutions Corp. (dba Solidigm) | Introduction of poison table in dynamic random access memory in a memory system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3565687B2 (en) | 1997-08-06 | 2004-09-15 | 沖電気工業株式会社 | Semiconductor memory device and control method thereof |
WO2001022232A1 (en) | 1999-09-17 | 2001-03-29 | Hitachi, Ltd. | Storage where the number of error corrections is recorded |
JP4601119B2 (en) * | 2000-05-02 | 2010-12-22 | 株式会社アドバンテスト | Memory test method and memory test equipment |
JP3692313B2 (en) | 2001-06-28 | 2005-09-07 | 松下電器産業株式会社 | Nonvolatile memory control method |
JP4059472B2 (en) * | 2001-08-09 | 2008-03-12 | 株式会社ルネサステクノロジ | Memory card and memory controller |
JP4004811B2 (en) * | 2002-02-06 | 2007-11-07 | 株式会社東芝 | Nonvolatile semiconductor memory device |
JP3906825B2 (en) * | 2003-06-17 | 2007-04-18 | 日本電気株式会社 | Computer system, computer system activation method and program |
-
2006
- 2006-07-13 CN CN200680029679.0A patent/CN101243417B/en active Active
- 2006-07-13 WO PCT/JP2006/313978 patent/WO2007010829A1/en active Application Filing
- 2006-07-13 US US11/995,600 patent/US9092361B2/en not_active Expired - Fee Related
- 2006-07-13 JP JP2007525978A patent/JP4950886B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9092361B2 (en) | 2015-07-28 |
JP4950886B2 (en) | 2012-06-13 |
US20090055680A1 (en) | 2009-02-26 |
JPWO2007010829A1 (en) | 2009-01-29 |
WO2007010829A1 (en) | 2007-01-25 |
CN101243417A (en) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101243417B (en) | Nonvolatile storage device, memory controller, and defective region detection method | |
JP4323707B2 (en) | Flash memory defect management method | |
JP4073799B2 (en) | Memory system | |
US7757153B2 (en) | Multi-bit memory device and memory system | |
CN101183563B (en) | Memory system including flash memory and method of operating the same | |
CN105788648B (en) | NVM bad block identification processing and error correction method and system based on heterogeneous hybrid memory | |
US8713381B2 (en) | Systems and methods of using dynamic data for wear leveling in solid-state devices | |
US9229644B2 (en) | Targeted copy of data relocation | |
US10067824B2 (en) | Error processing method, memory storage device and memory controlling circuit unit | |
US8397127B2 (en) | Semiconductor recording device and semiconductor recording device control method | |
CN100545817C (en) | Data Management Techniques for Improving Data Reliability | |
KR101466270B1 (en) | Nonvolatile memory system and its data processing method | |
US20090034328A1 (en) | Memory system protected from errors due to read disturbance and reading method thereof | |
US10635527B2 (en) | Method for processing data stored in a memory device and a data storage device utilizing the same | |
JP4866107B2 (en) | Nonvolatile memory device and write determination method thereof | |
CN107992268B (en) | Bad block marking method and related device | |
US7613982B2 (en) | Data processing apparatus and method for flash memory | |
JP2010079486A (en) | Semiconductor recording device | |
CN118426681A (en) | Flash memory and wear leveling method thereof | |
KR20050064887A (en) | Flash memory having enhanced error detection capability and method for detecting multi-bit errors | |
US20100042900A1 (en) | Write Failure Handling of MLC NAND | |
JP2010128697A (en) | Memory system | |
JP4866114B2 (en) | MEMORY CONTROLLER, NONVOLATILE MEMORY DEVICE, NONVOLATILE MEMORY SYSTEM, AND MEMORY CONTROL METHOD | |
JP7679526B1 (en) | NOR type flash memory and its operating method | |
JP2010140261A (en) | Information processor, error correction method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |