CN103645965A - 基于ecc纠错码的nand-flash坏块恢复方法 - Google Patents
基于ecc纠错码的nand-flash坏块恢复方法 Download PDFInfo
- Publication number
- CN103645965A CN103645965A CN201310632106.9A CN201310632106A CN103645965A CN 103645965 A CN103645965 A CN 103645965A CN 201310632106 A CN201310632106 A CN 201310632106A CN 103645965 A CN103645965 A CN 103645965A
- Authority
- CN
- China
- Prior art keywords
- flash
- data
- nand
- piece
- block
- 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
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明属于航空电子技术领域,特别是涉及到基于ECC纠错码的NAND-FLASH坏块恢复方法,针对由m片NAND-FLASH且每片FLASH有n个Block块构成的大容量数据存储设备,首先将数据编码写入前m-k片NAND-FLASH的Block块中,然后在后k片NAND-FLASH的Block块中放入该行数据编码后的效验码,此后的编码以此类推。本发明应用于由多片NAND-FLASH组成的大容量数据存储设备中,如果在擦写NAND-FLASH过程中遇到坏块,不需要像传统方法那样拷贝数据到完好的NAND-FLASH数据块中,降低了NAND-FLASH坏块管理的难度。
Description
技术领域
本发明属于航空电子技术领域,涉及到大容量数据存储速度及可靠性技术,特别是涉及到基于ECC纠错码的NAND-FLASH坏块恢复方法。
背景技术
NAND-FLASH因其体积小、非易失性、多次可擦除性、更快的写入和擦除速度以及更低廉的每比特价格等特点在电子产品应用市场中得到了迅猛的发展。
NAND-FLASH在产品出厂时会做一次坏块标定。在使用过程中,由于程序设计者在编程过程中对NAND-FLASH的反复擦除与写入会导致NAND-FLASH一定程度上的磨损,从而出现坏块,导致存储数据的不可靠或丢失。目前传统的针对NAND-FLASH使用过程中产生的坏块处理主要有两种方法:第一种方法是首先标记出当前出现的坏块,然后将已写入的数据全部拷贝至新的数据块中,接着依次写入后续数据。第二种方法是直接标记出NAND-FLASH的坏块,同时丢掉该坏块中已写入的数据,跳转到新的数据块中进行数据写入。
然而,采用方法一进行坏块处理时,会导致数据写入速度不稳定,并且当坏块已写入数据无法正常读取时会造成数据的丢失。而采用方法二进行坏块处理时,会直接导致已写入当前坏块中的数据丢失。
发明内容
发明目的:本发明的目的是提出一种基于ECC纠错码的NAND-FLASH坏块恢复方法,解决在NAND-FLASH使用过程中,尤其是大容量数据存储过程中出现的坏块恢复处理问题。相对于传统的两种处理方法,该技术即不影响数据流的写入速度,也不会导致当前坏块的数据丢失。
技术方案:基于ECC纠错码的NAND-FLASH坏块恢复方法,针对由m片NAND-FLASH且每片FLASH有n个Block块构成的大容量数据存储设备,其特征在于,首先将数据编码写入前m-k片NAND-FLASH的Block块中,然后在后k片NAND-FLASH的Block块中放入该行数据编码后的效验码,此后的编码以此类推,每一行的前m-k片NAND-FLASH的Block块FLASH1-FLASHm-k中存储编码数据,而后k片NAND-FLASH的Block块FLASHm-k+1-FLASHm中存放该行数据编码后的效验码;当某一行出现坏块要对存储数据进行恢复还原时,首先对坏块区设定一个初值,然后利用该行的后k片NAND-FLASH的Block块中的效验码进行解码,对坏块中的数据进行纠错,从而完成对坏块中数据的恢复。
2、根据权利要求1所述的基于ECC纠错码的NAND-FLASH坏块恢复方法,其特征在于,该效验码可由BCH编码或者RS编码方法产生。
3、根据权利要求1或2所述的基于ECC纠错码的NAND-FLASH坏块恢复方法,其特征在于,具体包括以下步骤:
步骤1:将所要记录和存储的数据依次写入FLASH1-FLASHk芯片中Block1的第一行,即Byte1-Byte4依次存入FLASH1-FLASHK,每片FLASH都为8bit数据;
步骤2:通过ECC编码计算所写入数据的效验码;
步骤3:写完第一行数据后,进行第二行数据及其校验码录入,之后依次类推;
步骤4:读取数据时,对于出错的FLASH数据块,则对应的Byte数据无法读取,只能读取未出错FLASH数据块对应的Byte数据及其对应的校验码;
步骤5:对出错FLASH数据块对应的Byte数据赋以固定初值,然后通过BCH解码完成该Byte数据的纠正。
有益效果:
(1)本发明应用于由多片NAND-FLASH组成的大容量数据存储设备中,如果在擦写NAND-FLASH过程中遇到坏块,不需要像传统方法那样拷贝数据到完好的NAND-FLASH数据块中,可以完全不考虑坏块的情况,简单易行,降低了NAND-FLASH坏块管理的难度,同时不会因为坏块丢失数据。
(2)应用本发明可以避免因为外力或者使用寿命造成个别FLASH损坏而造成的数据丢失。
(3)应用本发明可以避免传统方法中坏块造成的数据写入速度不稳定情况。
(4)应用本发明可以在不丢失或备份数据的情况对大容量数据存储设备中个别寿命到期的NAND-FLASH进行更换和数据恢复。
附图说明
图1为本发明实施例中存储设备中数据存储区示意图;
图2数据存储内容示例。
具体实施方式
下面结合附图及实施例对本发明做进一步详细描述,请参阅图1至图2。
基于ECC纠错码的NAND-FLASH坏块恢复方法,针对由m片NAND-FLASH且每片FLASH有n个Block块构成的大容量数据存储设备,首先将Byte数据写入前m-k片NAND-FLASH的Block块中,然后在后k片NAND-FLASH的Block块中放入该行Byte数据编码后的校验码,此后的编码以此类推,每一行的前m-k片NAND-FLASH(FLASH1-FLASHm-k)的Block块中存储Byte数据,而后k片NAND-FLASH(FLASHm-k+1-FLASHm)的Block块中存放该行Byte数据编码后的效验码;当某一行出现坏块要对存储Byte数据进行恢复还原时,首先对坏块区对应的Byte数据设定一个初值,然后利用该行的后k片NAND-FLASH的Block块中的校验码进行解码,对坏块中的Byte数据的初值进行纠错,从而完成对坏块中数据的恢复。
该校验码可由BCH编码或者RS编码方法产生。存储校验码的NAND-FLASH片数K,可根据纠正的错误位数按照所选择编码的理论进行选择。
实施例:假设该设备由8片NAND FLASH芯片,分别对应FLASH1~FLASH8,每片FLASH有n个块,分别对应Block1~Blockn,具体包括以下步骤:
步骤1:将所要记录和存储的数据依次写入FLASH1-FLASH4芯片中Block1的第一行,即Byte1-Byte4依次存入FLASH1-FLASH4,每片FLASH都为8bit数据;
步骤2:通过ECC编码计算所写入数据的效验码,并将其写入FLASH5~FLASH8中;
步骤3:写完第一行数据后,进行第二行数据及其校验码,之后依次类推;
步骤4:读取数据时,对于出错的FLASH数据块,则对应的Byte数据无法读取,只能读取未出错FLASH数据块对应的Byte数据及其对应的校验码;
步骤5:对出错FLASH数据块对应的Byte数据赋以固定初值,然后通过BCH解码完成该Byte数据的纠正。
Claims (3)
1.基于ECC纠错码的NAND-FLASH坏块恢复方法,针对由m片NAND-FLASH且每片FLASH有n个Block块构成的大容量数据存储设备,其特征在于,首先将数据编码写入前m-k片NAND-FLASH的Block块中,然后在后k片NAND-FLASH的Block块中放入该行数据编码后的效验码,此后的编码以此类推,每一行的前m-k片NAND-FLASH的Block块FLASH1-FLASHm-k中存储编码数据,而后k片NAND-FLASH的Block块FLASHm-k+1-FLASHm中存放该行数据编码后的效验码;当某一行出现坏块要对存储数据进行恢复还原时,首先对坏块区设定一个初值,然后利用该行的后k片NAND-FLASH的Block块中的效验码进行解码,对坏块中的数据进行纠错,从而完成对坏块中数据的恢复。
2.根据权利要求1所述的基于ECC纠错码的NAND-FLASH坏块恢复方法,其特征在于,该效验码可由BCH编码或者RS编码方法产生。
3.根据权利要求1或2所述的基于ECC纠错码的NAND-FLASH坏块恢复方法,其特征在于,具体包括以下步骤:
步骤1:将所要记录和存储的数据依次写入FLASH1-FLASHk芯片中Block1的第一行,即Byte1-Byte4依次存入FLASH1-FLASHK,每片FLASH都为8bit数据;
步骤2:通过ECC编码计算所写入数据的效验码;
步骤3:写完第一行数据后,进行第二行数据及其校验码录入,之后依次类推;
步骤4:读取数据时,对于出错的FLASH数据块,则对应的Byte数据无法读取,只能读取未出错FLASH数据块对应的Byte数据及其对应的校验码;
步骤5:对出错FLASH数据块对应的Byte数据赋以固定初值,然后通过BCH解码完成该Byte数据的纠正。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632106.9A CN103645965A (zh) | 2013-11-28 | 2013-11-28 | 基于ecc纠错码的nand-flash坏块恢复方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310632106.9A CN103645965A (zh) | 2013-11-28 | 2013-11-28 | 基于ecc纠错码的nand-flash坏块恢复方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103645965A true CN103645965A (zh) | 2014-03-19 |
Family
ID=50251186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310632106.9A Pending CN103645965A (zh) | 2013-11-28 | 2013-11-28 | 基于ecc纠错码的nand-flash坏块恢复方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103645965A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527997A (zh) * | 2016-11-25 | 2017-03-22 | 西安电子科技大学 | 基于扩序列的nand闪存坏块重复利用方法及装置 |
CN108345514A (zh) * | 2017-01-23 | 2018-07-31 | 爱思开海力士有限公司 | 存储器件、存储系统及其操作方法 |
CN111459708A (zh) * | 2020-03-11 | 2020-07-28 | 深圳佰维存储科技股份有限公司 | 坏块处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769088B1 (en) * | 1999-06-30 | 2004-07-27 | Maxtor Corporation | Sector-coding technique for reduced read-after-write operations |
CN101183565A (zh) * | 2007-12-12 | 2008-05-21 | 深圳市硅格半导体有限公司 | 存储介质中数据校验方法 |
CN101620555A (zh) * | 2009-08-10 | 2010-01-06 | 中国电子科技集团公司第五十二研究所 | 一种基于flash芯片的固态盘数据存储与恢复方法 |
CN102394114A (zh) * | 2011-11-14 | 2012-03-28 | 清华大学 | 具有自适应纠错能力的bch码纠错方法 |
-
2013
- 2013-11-28 CN CN201310632106.9A patent/CN103645965A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6769088B1 (en) * | 1999-06-30 | 2004-07-27 | Maxtor Corporation | Sector-coding technique for reduced read-after-write operations |
CN101183565A (zh) * | 2007-12-12 | 2008-05-21 | 深圳市硅格半导体有限公司 | 存储介质中数据校验方法 |
CN101620555A (zh) * | 2009-08-10 | 2010-01-06 | 中国电子科技集团公司第五十二研究所 | 一种基于flash芯片的固态盘数据存储与恢复方法 |
CN102394114A (zh) * | 2011-11-14 | 2012-03-28 | 清华大学 | 具有自适应纠错能力的bch码纠错方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527997A (zh) * | 2016-11-25 | 2017-03-22 | 西安电子科技大学 | 基于扩序列的nand闪存坏块重复利用方法及装置 |
CN108345514A (zh) * | 2017-01-23 | 2018-07-31 | 爱思开海力士有限公司 | 存储器件、存储系统及其操作方法 |
CN108345514B (zh) * | 2017-01-23 | 2021-05-11 | 爱思开海力士有限公司 | 存储器件、存储系统及其操作方法 |
CN111459708A (zh) * | 2020-03-11 | 2020-07-28 | 深圳佰维存储科技股份有限公司 | 坏块处理方法及装置 |
CN111459708B (zh) * | 2020-03-11 | 2023-08-29 | 深圳佰维存储科技股份有限公司 | 坏块处理方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10540289B2 (en) | Data storage device and flash memory control method | |
US10180875B2 (en) | Pool-level solid state drive error correction | |
TWI594254B (zh) | 讀取快閃記憶體中區塊之資料的方法及相關的記憶裝置 | |
TWI407446B (zh) | 記憶體裝置內錯誤更正的動態資料儲存系統及方法 | |
US20070168837A1 (en) | Method for implementing error-correction codes in flash memory | |
US20160342467A1 (en) | Generalized product codes for flash storage | |
TW201346923A (zh) | 使用單一錯誤偵測奇偶校驗的抹除修正 | |
CN102394114B (zh) | 具有自适应纠错能力的bch码纠错方法 | |
TWI527040B (zh) | 資料寫入方法、記憶體儲存裝置與記憶體控制器 | |
CN103365739B (zh) | 一种nand闪存存储设备及其数据恢复方法 | |
TW201331946A (zh) | 使用錯誤校正碼編碼以驗證錯誤校正碼解碼操作 | |
CN105989890A (zh) | 用于快闪存储器的增量llr 产生 | |
CN107767910A (zh) | 数据存储装置的操作方法 | |
CN104932951A (zh) | 一种nand闪存出现ecc无法纠错时的数据恢复方法 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
CN101882472A (zh) | 具可变动错误校正码机制的快闪储存装置及其控制方法 | |
CN101308706B (zh) | 适用于闪存的数据写入方法及错误修正编解码方法 | |
CN104733051A (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN103645965A (zh) | 基于ecc纠错码的nand-flash坏块恢复方法 | |
CN103530242B (zh) | NandFlash存储器写操作过程掉电防护方法 | |
CN100557715C (zh) | 利用一组ecc电路并行处理多组数据的方法 | |
CN103279402A (zh) | 基于多层单元固态硬盘的数据恢复方法及固态硬盘 | |
CN104681095B (zh) | 储存装置及其操作方法 | |
CN102063342A (zh) | 一种闪存存储设备数据的管理方法及系统 | |
CN105575439A (zh) | 一种存储单元失效纠错的方法及存储器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140319 |