CN108073473A - A kind of flash memory bad list compression method - Google Patents
A kind of flash memory bad list compression method Download PDFInfo
- Publication number
- CN108073473A CN108073473A CN201810030361.9A CN201810030361A CN108073473A CN 108073473 A CN108073473 A CN 108073473A CN 201810030361 A CN201810030361 A CN 201810030361A CN 108073473 A CN108073473 A CN 108073473A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- bad
- error checking
- data
- error
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1044—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 with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/1048—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 using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
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)
Abstract
Description
技术领域technical field
本发明涉及闪存技术领域,具体为一种闪存坏列表压缩方法。The invention relates to the technical field of flash memory, in particular to a flash memory bad list compression method.
背景技术Background technique
闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等;闪存正朝大容量、低功耗、低成本的方向发展。与传统硬盘相比,闪存的读写速度高、功耗较低,市场上已经出现了闪存硬盘,也就是SSD硬盘,该硬盘的性价比进一步提升。随着制造工艺的提高、成本的降低,闪存将更多地出现在日常生活之中。Flash memory is a long-life non-volatile memory (it can still maintain the stored data information in the case of power failure), and the data deletion is not in the unit of a single byte but in the unit of a fixed block. Block sizes are typically 256KB to 20MB. Flash memory is a variant of Electronically Erasable Read-Only Memory (EEPROM). The difference between flash memory and EEPROM is that EEPROM can be deleted and rewritten at the byte level rather than the entire chip. Most chips of flash memory need block erase remove. Because it can still save data when it is powered off, flash memory is usually used to save setting information, such as saving data in the BIOS (basic program) of a computer, PDA (personal digital assistant), digital camera, etc.; The direction of power consumption and low cost is developed. Compared with traditional hard disks, flash memory has high read/write speed and low power consumption. Flash memory hard disks, namely SSD hard disks, have appeared on the market, and the cost performance of these hard disks has been further improved. With the improvement of manufacturing process and the reduction of cost, flash memory will appear more and more in daily life.
闪存为非消失性的存储器装置,由块组成,每个块又分成多个页,每个页会有多个列组合而成。随者制造工艺提升,越先进的工艺闪存执行动作时会产生高温,因此闪存数据的错误比特会上升,导致数据错误。当反复读取数据后,发现数据再固定的列上都会发生错误,我们称之为坏列。对于闪存,最常利用错误检查和纠正技术(例如:二元线性循环码或低密度奇偶校验码)来作为错误修正的方法。错误检查和纠正技术可以在一定的区域内保护N个比特错误,如果不使用坏列表,ECC就会为了修正坏列,使其他数据的保护能力下降。因此产生坏列表来记录列的错误数据,读取时跳过坏列的区块使数据正确。减少错误检查和纠正的负担。Flash memory is a non-volatile memory device consisting of blocks, each block is divided into multiple pages, and each page is composed of multiple columns. With the improvement of the manufacturing process, the more advanced process flash memory will generate high temperature when performing operations, so the error bits of the flash memory data will increase, resulting in data errors. After reading the data repeatedly, it is found that errors will occur on the fixed columns of the data, which we call bad columns. For flash memory, error checking and correction techniques (eg, binary linear cyclic codes or low density parity check codes) are most commonly used as error correction methods. Error checking and correction technology can protect N bit errors in a certain area. If the bad list is not used, ECC will reduce the protection ability of other data in order to correct the bad column. Therefore, a bad list is generated to record the wrong data of the column, and the block of the bad column is skipped when reading to make the data correct. Reduce the burden of error checking and correction.
发明内容Contents of the invention
本发明的目的在于提供一种闪存坏列表压缩方法,以解决上述背景技术中提出的问题。The purpose of the present invention is to provide a flash memory bad list compression method to solve the problems raised in the above background technology.
为实现上述目的,本发明提供如下技术方案:一种闪存坏列表压缩方法,包括一个数据缓冲区,一个错误检查和纠正的硬件装置,一个坏列表和闪存,所述数据缓冲区通过总线连接错误检查和纠正的硬件装置,所述坏列表设置在错误检查和纠正的硬件装置内,所述错误检查和纠正的硬件装置通过总线连接闪存。To achieve the above object, the present invention provides the following technical solutions: a flash memory bad list compression method, including a data buffer, a hardware device for error checking and correction, a bad list and flash memory, the data buffer is connected to the error through the bus A hardware device for checking and correcting, the bad list is set in the hardware device for error checking and correcting, and the hardware device for error checking and correcting is connected to the flash memory through a bus.
优选的,所述闪存有1024个块,每个块有256个页,每个页有32个扇形组合而成。Preferably, the flash memory has 1024 blocks, each block has 256 pages, and each page is composed of 32 sectors.
优选的,压缩方法包括以下步骤:Preferably, the compression method comprises the following steps:
A、当写入时从数据缓冲区通过总线传输数据传递到闪存;A. When writing, transfer data from the data buffer to the flash memory through the bus;
B、途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存;B. Skip the position specified by the bad column block first, and then write the error correction code into the flash memory after the error checking and correction device generates it;
C、反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区;错误检查和纠正技术在一定的区域内保护了错误比特率。C. Vice versa, when reading, the bad list first skips the specified position, and then passes the error correction code generated by the error checking and correction device to the data buffer area; the error checking and correction technology protects the data in a certain area. Error bit rate.
与现有技术相比,本发明的有益效果是:本发明提供得一种闪存坏列表压缩方法,当写入时从数据缓冲区透过总线传输数据传递到闪存,途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存。反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区。错误检查和纠正技术在一定的区域内保护了错误比特率,本发明能够大幅缩小坏列表的大小,保护数据的正确性。Compared with the prior art, the beneficial effects of the present invention are: the present invention provides a flash memory bad list compression method, when writing, the data is transferred from the data buffer to the flash memory through the bus, and the bad column block is skipped on the way The specified location is written into the flash memory after the error correction code is generated by the error checking and correcting device. Vice versa, when reading, the designated position is first skipped by the bad list, and then the error correction code is generated by the error checking and correcting device and then passed to the data buffer area. The error checking and correcting technology protects the error bit rate in a certain area, and the invention can greatly reduce the size of the bad list and protect the correctness of data.
附图说明Description of drawings
图1为本发明结构示意图;Fig. 1 is a structural representation of the present invention;
图2为本发明实施例压缩示意图;Fig. 2 is a schematic diagram of compression according to an embodiment of the present invention;
图3为本发明实施例压缩后示意图。Fig. 3 is a schematic diagram of an embodiment of the present invention after compression.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present invention.
请参阅图1-3,本发明提供一种技术方案:一种闪存坏列表压缩方法,包括一个数据缓冲区1,一个错误检查和纠正的硬件装置2,一个坏列表3和闪存4,所述数据缓冲区1通过总线连接错误检查和纠正的硬件装置2,所述坏列表3设置在错误检查和纠正的硬件装置2内,所述错误检查和纠正的硬件装置2通过总线连接闪存4;闪存4有1024个块,每个块有256个页,每个页有32个扇形组合而成。Please refer to Fig. 1-3, the present invention provides a kind of technical scheme: a kind of flash memory bad list compression method, comprise a data buffer 1, a hardware device 2 of error checking and correction, a bad list 3 and flash memory 4, described The data buffer 1 is connected to the hardware device 2 for error checking and correction through a bus, and the bad list 3 is set in the hardware device 2 for error checking and correction, and the hardware device 2 for error checking and correction is connected to the flash memory 4 through the bus; 4 There are 1024 blocks, each block has 256 pages, and each page is composed of 32 sectors.
本发明中,压缩方法包括以下步骤:In the present invention, compression method comprises the following steps:
A、当写入时从数据缓冲区通过总线传输数据传递到闪存;A. When writing, transfer data from the data buffer to the flash memory through the bus;
B、途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存;B. Skip the position specified by the bad column block first, and then write the error correction code into the flash memory after the error checking and correction device generates it;
C、反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区;错误检查和纠正技术在一定的区域内保护了错误比特率。C. Vice versa, when reading, the bad list first skips the specified position, and then passes the error correction code generated by the error checking and correction device to the data buffer area; the error checking and correction technology protects the data in a certain area. Error bit rate.
坏列表为代表坏列在一个页中的位置,传统的坏列表用两个字节代表一个坏列,当闪存越大时需要的坏列表就越大,才能保护数据的正确性。The bad list represents the position of the bad column in a page. The traditional bad list uses two bytes to represent a bad column. The larger the flash memory, the larger the bad list is needed to protect the correctness of the data.
实施例:本发明提供了一个压缩坏列表的方法,每一组坏列,由两个部分组成,坏列的位置和坏列的长度。如图2所示,假设一个页中坏列在,列5、列6、列7、列8、列9、列10和列22、列23、列24产生错误,传统的方法一个坏列需要两个字节纪录,所以需要18个字节记录,如图3所示,本发明只需要8个字节就可以记录完成。分别为坏列起始位置5和坏列长度6,坏列位置22,坏列长度3。由此例子指节省55%内存使用量,利用本发明大幅缩小坏列表的大小。Embodiment: The present invention provides a method for compressing bad lists, each set of bad columns consists of two parts, the location of the bad columns and the length of the bad columns. As shown in Figure 2, assuming a bad column in a page, column 5, column 6, column 7, column 8, column 9, column 10 and column 22, column 23, column 24 produce errors, the traditional method requires a bad column Two byte record, so need 18 byte records, as shown in Figure 3, the present invention only needs 8 bytes and just can record and finish. The start position of the bad column is 5 and the length of the bad column is 6, the position of the bad column is 22, and the length of the bad column is 3. This example refers to saving 55% memory usage, utilizing the present invention to greatly reduce the size of the bad list.
本发明提供得一种闪存坏列表压缩方法,当写入时从数据缓冲区透过总线传输数据传递到闪存,途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存。反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区。错误检查和纠正技术在一定的区域内保护了错误比特率,本发明能够大幅缩小坏列表的大小,保护数据的正确性。The present invention provides a flash memory bad list compression method. When writing, the data is transferred from the data buffer to the flash memory through the bus, and the position designated by the bad column block is skipped on the way, and then the error checking and correcting device generates a correction. Write to flash memory after error code. Vice versa, when reading, the designated position is first skipped by the bad list, and then the error correction code is generated by the error checking and correcting device and then passed to the data buffer area. The error checking and correcting technology protects the error bit rate in a certain area, and the invention can greatly reduce the size of the bad list and protect the correctness of data.
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。Although the embodiments of the present invention have been shown and described, those skilled in the art can understand that various changes, modifications and substitutions can be made to these embodiments without departing from the principle and spirit of the present invention. and modifications, the scope of the invention is defined by the appended claims and their equivalents.
Claims (3)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810030361.9A CN108073473A (en) | 2018-01-12 | 2018-01-12 | A kind of flash memory bad list compression method |
| PCT/CN2018/099747 WO2019136970A1 (en) | 2018-01-12 | 2018-08-09 | Bad list compression method for flash memory |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810030361.9A CN108073473A (en) | 2018-01-12 | 2018-01-12 | A kind of flash memory bad list compression method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN108073473A true CN108073473A (en) | 2018-05-25 |
Family
ID=62156733
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810030361.9A Pending CN108073473A (en) | 2018-01-12 | 2018-01-12 | A kind of flash memory bad list compression method |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108073473A (en) |
| WO (1) | WO2019136970A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019136970A1 (en) * | 2018-01-12 | 2019-07-18 | 江苏华存电子科技有限公司 | Bad list compression method for flash memory |
| CN113885777A (en) * | 2020-07-03 | 2022-01-04 | 慧荣科技股份有限公司 | Data writing method and data storage device |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI763608B (en) * | 2021-11-02 | 2022-05-01 | 慧榮科技股份有限公司 | Data storage device and selecting bad column method thereof |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103092717A (en) * | 2013-01-18 | 2013-05-08 | 深圳市硅格半导体有限公司 | Flash memory data processing method and device |
| CN103279424A (en) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | Damaged queue management device and method of Nand Flash |
| CN106155572A (en) * | 2015-03-25 | 2016-11-23 | 慧荣科技股份有限公司 | Data storage device and data access method |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100458718C (en) * | 2006-12-29 | 2009-02-04 | 福昭科技(深圳)有限公司 | Method of correcting error code for multiple sector |
| US9146807B2 (en) * | 2012-12-04 | 2015-09-29 | Sandisk Technologies Inc. | Bad column handling in flash memory |
| CN203311409U (en) * | 2013-05-15 | 2013-11-27 | 建荣集成电路科技(珠海)有限公司 | Bad queue management device for Nand Flash |
| CN108073473A (en) * | 2018-01-12 | 2018-05-25 | 江苏华存电子科技有限公司 | A kind of flash memory bad list compression method |
-
2018
- 2018-01-12 CN CN201810030361.9A patent/CN108073473A/en active Pending
- 2018-08-09 WO PCT/CN2018/099747 patent/WO2019136970A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103092717A (en) * | 2013-01-18 | 2013-05-08 | 深圳市硅格半导体有限公司 | Flash memory data processing method and device |
| CN103279424A (en) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | Damaged queue management device and method of Nand Flash |
| CN106155572A (en) * | 2015-03-25 | 2016-11-23 | 慧荣科技股份有限公司 | Data storage device and data access method |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2019136970A1 (en) * | 2018-01-12 | 2019-07-18 | 江苏华存电子科技有限公司 | Bad list compression method for flash memory |
| CN113885777A (en) * | 2020-07-03 | 2022-01-04 | 慧荣科技股份有限公司 | Data writing method and data storage device |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2019136970A1 (en) | 2019-07-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101763903B (en) | Flash memory controller, its error correction code controller, method and system thereof | |
| TWI516927B (en) | Data writing method, memory controller and memory storage apparatus | |
| US8560926B2 (en) | Data writing method, memory controller and memory storage apparatus | |
| US8726140B2 (en) | Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same | |
| KR101576102B1 (en) | Method for reading data from block of flash memory and associated memory device | |
| US8732553B2 (en) | Memory system and control method thereof | |
| TWI446350B (en) | Method for reducing uncorrectable errors, and associated memory device and controller thereof | |
| TWI633428B (en) | Data storage device and methods for processing data in the data storage device | |
| CN105808371A (en) | Data backup and recovery method, control chip and storage device | |
| WO2008083557A1 (en) | Method of coding error correction for multiple sector | |
| US8433981B1 (en) | Coding across data blocks to reduce write amplification in NAND flash | |
| TWI802324B (en) | Method of sudden power off recovery, memory controlling circuit unit and memory storage device | |
| CN101324862A (en) | Flash storage management method | |
| TWI529530B (en) | Memory management method, memory storage device and memory controlling circuit unit | |
| TW201913382A (en) | Decoding method, memory storage device and memory control circuit unit | |
| CN105204958B (en) | A kind of coding method of extension NAND Flash data reliable memory times | |
| WO2019136968A1 (en) | Method for protecting data array and restoring flash memory internal data | |
| TWI545432B (en) | Data management method, memory control circuit unit and memry storage apparatus | |
| CN108073473A (en) | A kind of flash memory bad list compression method | |
| WO2019136971A1 (en) | Flash data protection method using false data | |
| CN104467871A (en) | Data storage method capable of improving storage reliability of NAND Flash | |
| JP7177338B2 (en) | MEMORY CONTROLLER DEVICE, MEMORY DEVICE HAVING MEMORY CONTROLLER DEVICE, AND MEMORY CONTROL METHOD | |
| CN105653391B (en) | Data access method, memory control circuit unit and memory storage device | |
| CN101308702A (en) | Data structure suitable for flash memory and data writing method and data reading method thereof | |
| US11055231B2 (en) | Data storage devices and data processing methods of skipping editing of fields in H2F table when consecutive addresses are present in F2H table |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180525 |
|
| RJ01 | Rejection of invention patent application after publication |