CN108073473A - 一种闪存坏列表压缩方法 - Google Patents

一种闪存坏列表压缩方法 Download PDF

Info

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
Application number
CN201810030361.9A
Other languages
English (en)
Inventor
许豪江
李庭育
齐元辅
蔡定国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Huacun Electronic Technology Co Ltd
Original Assignee
Jiangsu Huacun Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Huacun Electronic Technology Co Ltd filed Critical Jiangsu Huacun Electronic Technology Co Ltd
Priority to CN201810030361.9A priority Critical patent/CN108073473A/zh
Publication of CN108073473A publication Critical patent/CN108073473A/zh
Priority to PCT/CN2018/099747 priority patent/WO2019136970A1/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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/106Correcting 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

一种闪存坏列表压缩方法
技术领域
本发明涉及闪存技术领域,具体为一种闪存坏列表压缩方法。
背景技术
闪存是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位,区块大小一般为256KB到20MB。闪存是电子可擦除只读存储器(EEPROM)的变种,闪存与EEPROM不同的是,EEPROM能在字节水平上进行删除和重写而不是整个芯片擦写,而闪存的大部分芯片需要块擦除。由于其断电时仍能保存数据,闪存通常被用来保存设置信息,如在电脑的BIOS(基本程序)、PDA(个人数字助理)、数码相机中保存资料等;闪存正朝大容量、低功耗、低成本的方向发展。与传统硬盘相比,闪存的读写速度高、功耗较低,市场上已经出现了闪存硬盘,也就是SSD硬盘,该硬盘的性价比进一步提升。随着制造工艺的提高、成本的降低,闪存将更多地出现在日常生活之中。
闪存为非消失性的存储器装置,由块组成,每个块又分成多个页,每个页会有多个列组合而成。随者制造工艺提升,越先进的工艺闪存执行动作时会产生高温,因此闪存数据的错误比特会上升,导致数据错误。当反复读取数据后,发现数据再固定的列上都会发生错误,我们称之为坏列。对于闪存,最常利用错误检查和纠正技术(例如:二元线性循环码或低密度奇偶校验码)来作为错误修正的方法。错误检查和纠正技术可以在一定的区域内保护N个比特错误,如果不使用坏列表,ECC就会为了修正坏列,使其他数据的保护能力下降。因此产生坏列表来记录列的错误数据,读取时跳过坏列的区块使数据正确。减少错误检查和纠正的负担。
发明内容
本发明的目的在于提供一种闪存坏列表压缩方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种闪存坏列表压缩方法,包括一个数据缓冲区,一个错误检查和纠正的硬件装置,一个坏列表和闪存,所述数据缓冲区通过总线连接错误检查和纠正的硬件装置,所述坏列表设置在错误检查和纠正的硬件装置内,所述错误检查和纠正的硬件装置通过总线连接闪存。
优选的,所述闪存有1024个块,每个块有256个页,每个页有32个扇形组合而成。
优选的,压缩方法包括以下步骤:
A、当写入时从数据缓冲区通过总线传输数据传递到闪存;
B、途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存;
C、反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区;错误检查和纠正技术在一定的区域内保护了错误比特率。
与现有技术相比,本发明的有益效果是:本发明提供得一种闪存坏列表压缩方法,当写入时从数据缓冲区透过总线传输数据传递到闪存,途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存。反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区。错误检查和纠正技术在一定的区域内保护了错误比特率,本发明能够大幅缩小坏列表的大小,保护数据的正确性。
附图说明
图1为本发明结构示意图;
图2为本发明实施例压缩示意图;
图3为本发明实施例压缩后示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-3,本发明提供一种技术方案:一种闪存坏列表压缩方法,包括一个数据缓冲区1,一个错误检查和纠正的硬件装置2,一个坏列表3和闪存4,所述数据缓冲区1通过总线连接错误检查和纠正的硬件装置2,所述坏列表3设置在错误检查和纠正的硬件装置2内,所述错误检查和纠正的硬件装置2通过总线连接闪存4;闪存4有1024个块,每个块有256个页,每个页有32个扇形组合而成。
本发明中,压缩方法包括以下步骤:
A、当写入时从数据缓冲区通过总线传输数据传递到闪存;
B、途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存;
C、反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区;错误检查和纠正技术在一定的区域内保护了错误比特率。
坏列表为代表坏列在一个页中的位置,传统的坏列表用两个字节代表一个坏列,当闪存越大时需要的坏列表就越大,才能保护数据的正确性。
实施例:本发明提供了一个压缩坏列表的方法,每一组坏列,由两个部分组成,坏列的位置和坏列的长度。如图2所示,假设一个页中坏列在,列5、列6、列7、列8、列9、列10和列22、列23、列24产生错误,传统的方法一个坏列需要两个字节纪录,所以需要18个字节记录,如图3所示,本发明只需要8个字节就可以记录完成。分别为坏列起始位置5和坏列长度6,坏列位置22,坏列长度3。由此例子指节省55%内存使用量,利用本发明大幅缩小坏列表的大小。
本发明提供得一种闪存坏列表压缩方法,当写入时从数据缓冲区透过总线传输数据传递到闪存,途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存。反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区。错误检查和纠正技术在一定的区域内保护了错误比特率,本发明能够大幅缩小坏列表的大小,保护数据的正确性。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (3)

1.一种闪存坏列表压缩方法,其特征在于:包括一个数据缓冲区(1),一个错误检查和纠正的硬件装置(2),一个坏列表(3)和闪存(4),所述数据缓冲区(1)通过总线连接错误检查和纠正的硬件装置(2),所述坏列表(3)设置在错误检查和纠正的硬件装置(2)内,所述错误检查和纠正的硬件装置(2)通过总线连接闪存(4)。
2.根据权利要求1所述的一种闪存坏列表压缩方法,其特征在于:所述闪存(4)有1024个块,每个块有256个页,每个页有32个扇形组合而成。
3.根据权利要求1所述的一种闪存坏列表压缩方法,其特征在于:压缩方法包括以下步骤:
A、当写入时从数据缓冲区通过总线传输数据传递到闪存;
B、途中先跳过坏列块所指定的位置,再由错误检查和纠正装置产生纠错码后写入闪存;
C、反之亦然,读取时先由坏列表跳过所指定的位置,再经由错误检查和纠正装置产生纠错码后传递到数据缓存区;错误检查和纠正技术在一定的区域内保护了错误比特率。
CN201810030361.9A 2018-01-12 2018-01-12 一种闪存坏列表压缩方法 Pending CN108073473A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810030361.9A CN108073473A (zh) 2018-01-12 2018-01-12 一种闪存坏列表压缩方法
PCT/CN2018/099747 WO2019136970A1 (zh) 2018-01-12 2018-08-09 一种闪存坏列表压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810030361.9A CN108073473A (zh) 2018-01-12 2018-01-12 一种闪存坏列表压缩方法

Publications (1)

Publication Number Publication Date
CN108073473A true CN108073473A (zh) 2018-05-25

Family

ID=62156733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810030361.9A Pending CN108073473A (zh) 2018-01-12 2018-01-12 一种闪存坏列表压缩方法

Country Status (2)

Country Link
CN (1) CN108073473A (zh)
WO (1) WO2019136970A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019136970A1 (zh) * 2018-01-12 2019-07-18 江苏华存电子科技有限公司 一种闪存坏列表压缩方法
CN113885777A (zh) * 2020-07-03 2022-01-04 慧荣科技股份有限公司 数据的写入方法及其数据存储装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI763608B (zh) * 2021-11-02 2022-05-01 慧榮科技股份有限公司 資料儲存裝置及其損壞資料行的篩選方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092717A (zh) * 2013-01-18 2013-05-08 深圳市硅格半导体有限公司 闪存的数据处理方法及装置
CN103279424A (zh) * 2013-05-15 2013-09-04 建荣集成电路科技(珠海)有限公司 一种Nand Flash的坏列管理装置和方法
CN106155572A (zh) * 2015-03-25 2016-11-23 慧荣科技股份有限公司 数据储存装置以及数据存取方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458718C (zh) * 2006-12-29 2009-02-04 福昭科技(深圳)有限公司 一种闪存存储装置及其数据读取和写入方法
US9146807B2 (en) * 2012-12-04 2015-09-29 Sandisk Technologies Inc. Bad column handling in flash memory
CN203311409U (zh) * 2013-05-15 2013-11-27 建荣集成电路科技(珠海)有限公司 一种Nand Flash的坏列管理装置
CN108073473A (zh) * 2018-01-12 2018-05-25 江苏华存电子科技有限公司 一种闪存坏列表压缩方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092717A (zh) * 2013-01-18 2013-05-08 深圳市硅格半导体有限公司 闪存的数据处理方法及装置
CN103279424A (zh) * 2013-05-15 2013-09-04 建荣集成电路科技(珠海)有限公司 一种Nand Flash的坏列管理装置和方法
CN106155572A (zh) * 2015-03-25 2016-11-23 慧荣科技股份有限公司 数据储存装置以及数据存取方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019136970A1 (zh) * 2018-01-12 2019-07-18 江苏华存电子科技有限公司 一种闪存坏列表压缩方法
CN113885777A (zh) * 2020-07-03 2022-01-04 慧荣科技股份有限公司 数据的写入方法及其数据存储装置

Also Published As

Publication number Publication date
WO2019136970A1 (zh) 2019-07-18

Similar Documents

Publication Publication Date Title
CN101763903B (zh) 快闪存储器控制器、其纠错码控制器及其方法和系统
TWI516927B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
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 (ko) 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치
US8732553B2 (en) Memory system and control method thereof
TWI446350B (zh) 用來減少無法更正的錯誤之方法以及記憶裝置及其控制器
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
CN105808371A (zh) 数据备份与恢复方法、控制芯片及存储装置
WO2008083557A1 (fr) Procédé de correction d'erreur de codage pour secteurs multiples
US8433981B1 (en) Coding across data blocks to reduce write amplification in NAND flash
TWI802324B (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
CN101324862A (zh) 闪存存储管理方法
TWI529530B (zh) 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
TW201913382A (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
CN105204958B (zh) 一种延长NAND Flash数据可靠存储时间的编码方法
WO2019136968A1 (zh) 一种数据数组保护和修复闪存内数据方法
TWI545432B (zh) 資料管理方法、記憶體控制電路單元以及記憶體儲存裝置
CN108073473A (zh) 一种闪存坏列表压缩方法
WO2019136971A1 (zh) 一种利用假数据的闪存数据保护方法
CN104467871A (zh) 提高NAND Flash存储可靠性的数据存储方法
JP7177338B2 (ja) メモリコントローラ装置、メモリコントローラ装置を有するメモリ装置及びメモリコントロール方法
CN105653391B (zh) 数据存取方法、存储器控制电路单元及存储器储存装置
CN101308702A (zh) 适用于闪存的数据结构及其数据写入方法和数据读取方法
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