CN101996688B - 应用可变动错误更正码容量的快闪存储器控制方法 - Google Patents
应用可变动错误更正码容量的快闪存储器控制方法 Download PDFInfo
- Publication number
- CN101996688B CN101996688B CN 200910169423 CN200910169423A CN101996688B CN 101996688 B CN101996688 B CN 101996688B CN 200910169423 CN200910169423 CN 200910169423 CN 200910169423 A CN200910169423 A CN 200910169423A CN 101996688 B CN101996688 B CN 101996688B
- Authority
- CN
- China
- Prior art keywords
- length
- flash memory
- error correcting
- correcting code
- data
- 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
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明为一种应用可变动错误更正码容量的快闪存储器控制方法,在快闪存储器中的第一通道中,根据数据页面容量及第一管理数据的长度,设定具有第一长度的错误更正码;在快闪存储器中的第二通道中,根据数据页面容量及第二管理数据的长度,设定具有第二长度的错误更正码;设定该第一长度的错误更正码及第二长度的错误更正码分别具有不同的识别码,其中,第一长度小于第二长度。
Description
技术领域
本发明关于一种快闪存储器控制技术,尤指一种应用可变动错误更正码容量的快闪存储器控制方法。
背景技术
快闪存储器为类似EEPROM的结构,因为半导体设计的原因,有一定的错误机率,所以使用错误更正码(Error Correction Code,ECC)来纠正发生错误的数据。
错误更正的能力及快闪存储器内用以管理数据的空间大小取决于ECC的容量,习知技术乃以一个最大允许容量的ECC来实现错误更正的功能,所以所有数据的错误更正能力皆为相同。
请参考图4所示,为4K的数据页面(page)在不同通道下管理数据(MD,Management Data)的长度和ECC长度的关系,若采用BCH(Bose,Ray-Chaudhuri,Hocquenghem)理论所推算出来的ECC容量,允许在数据区域(data area)内产生8个比特(bit)的错误,在此8个bit的错误更正能力下,需要用到13个比特组的容量。
一般而言,采用上述固定式ECC设计的快闪存储器控制器,无法充分使用大数据页面(data page)型的快闪存储器(例如8K page)容量。
发明内容
本发明的目的在于,解决现有快闪存储器当中的错误更正码(ECC)及管理数据(MD,Management Data)设计均采固定长度,无法有效提高错误更正能力及有效使用大型数据页面的技术问题。
为达成前述目的,本发明应用可变动错误更正码容量的快闪存储器控制方法,包含有以下步骤:
首先,根据数据页面的容量及第一管理数据的长度,于快闪存储器的第一通道中,预设定具有第一长度的错误更正码,且根据该数据页面的容量及第二管理数据的长度,于快闪存储器的第二通道中,预设定具有第二长度的错误更正码;
接着,检查目前所欲存取的通道是否为第一通道,若是,则将第一通道的错误更正码长度设定为第一长度;若否,则将第二通道的错误更正码长度设定为第二长度。
本发明的有益效果在于,藉由上述方法,通道1以后的错误更正码长度可被提高,本发明采用不同容量的错误更正码(ECC),即对不同通道设定具有不同长度的错误更正码(ECC),可使整体快闪存储器的错误更正能力得以有效提升。
附图说明
图1为依据本发明技术,2K数据页面于不同通道下,管理数据长度和ECC码长度的关系示意图。
图2为依据本发明技术,4K数据页面于不同通道下,管理数据长度和ECC码长度的关系示意图。
图3为依据本发明对多通道的快闪存储器设定其更正比特数的步骤流程图。
图4为习知4K数据页面于不同通道下,管理数据长度和ECC码长度的关系示意图。
具体实施方式
NAND快闪存储器的架构是由多个数据页面(page)组成,每一个数据页面包含数据(data)及空余(spare)两区域,故每个数据页面的大小为(512+16)×N,其中N代表一个数据页面中所对应的磁区数目,例如2K数据页面的快闪存储器,其N为4,4K数据页面的N=8,目前NAND快闪存储器的数据页面大致上可分成512、2K、4K、8K bytes等数种规格,然后由64个或128个数据页面组成一个区块(block)。
在快闪存储器不同应用的区块(block)及不同的通道中,所需要的管理容量也不同。一般而言,2K数据页面的快闪存储器中,其空余(spare)区域大小为16×4=64个比特组。若配合以BCH理论所推算出来的8个比特更正能力,错误更正码(ECC)所占用的大小为13×4=52个比特组,所以只允许管理数据长度为64-52=12个比特组。
本发明的控制方法为在快闪存储器中的第一通道中,根据数据页面容量及第一管理数据的长度,设定具有第一长度的错误更正码;
在快闪存储器中的第二通道中,根据数据页面容量及第二管理数据的长度,设定具有第二长度的错误更正码;
设定该第一长度的错误更正码及第二长度的错误更正码分别具有不同的识别码,其中,第一长度小于第二长度,以下配合图式加以详细说明。
请参考图1所示,以2K容量的数据页面为范例说明,依据本发明的技术,快闪存储器控制器于管理快闪存储器时,在通道0上会放置完整的管理数据,以便在读取时能一次读出所需的管理数据,因此将通道0的错误更正码(ECC)定义为52bytes、管理数据长度定义为12bytes;但自通道1以后,所需要的管理数据量缩减到约4bytes,换言之可供存放错误更正码(ECC)的空间为便可提高为64-4=60bytes。
本发明即是对通道0与其它通道分别指定不同长度的错误更正码及管理数据,使各通道能获得更多比特组的错误更正码,藉此提升数据更正的能力。请参考图2所示,当本发明应用于4K数据页面的快闪存储器时,通道0具有3×8bytes的管理数据,而错误更正码的长度为13×8bytes,通道1以后的管理数据缩减成2×8bytes,故有更多空间存放错误更正码,错误更正码的长度提高为14×8bytes。本发明可以在不同的通道上采用不同容量的错误更正码(ECC),藉此提高错误更正效能。发生错误的通道是随机的,所以平均来说整体效能会较固定式的要高。
为了辨识不同长度的错误更正码(ECC)以利于读取,所以本发明于错误更正码当中加入一识别码,该识别码存放在一固定位置以快速被读出。较佳位置为错误更正码的最前一个比特组或最后一个比特组。
为加速决定错误更正码更正能力的设定,可以设定一套规则来决定不同通道不同区块上的更正能力,举例来说,该规则可为:将系统的区块(Block)分为数据区块(Data block)、临时区块(Temp block)、信息区块(Info block)等不同种类,每种区块各给予一个ID。于数据区决(Data block)中又可分为“通道0”及“非通道0的其余通道”两种,对应到的错误更正码(ECC)可分成两种形式,分别是ECC0及ECC1,其中:
ECC0:指定用于临时区块(Temp block)、通道0的数据区块(data block)和信息区块(Info block)。
ECC1:指定用于通道1以后的数据区块(data block)。故读取识别码后就可决定为ECC0或ECC1其中一种。
请参考图3所示,为依据本发明的实施例,当要存取(例如写入或读出)多通道的快闪存储器之前,可经由以下步骤对快闪存储器控制器设定其更正比特数:
首先,根据数据页面的容量及管理数据的长度决定ECC0及ECC1的长度(步骤300),例如,在4K数据页面的快闪存储器内,ECC0的长度为13×8bytes,ECC1的长度为14×8bytes;
接着,对快闪存储器进行存取,本实施例中以读/写为存取动作进行说明(步骤301);
然后,判断是否为数据区块(Data block)(步骤302),若是则执行下一步骤(步骤303),若否则执行步骤304;
接着,检查目前所欲读写的通道是否为通道0(步骤303),若是则设定为ECC0(步骤304),若否则设定为ECC1;
最后,判断是否为写入动作(步骤305),若为写入,则配合ECC0或ECC1填入管理数据至空余(Spare)区域并结束写入动作;若否,则自空余(Spare)区域读取管理数据,配合ECC0或ECC1分析管理数据并结束读取动作。
本发明的技术在较小的数据页面上具有相当明显的效果,当应用于大数据页面的快闪存储器时,此技术更能发挥大数据页面快闪存储器的优势。相对于传统固定长度错误更正码的作法,本发明针对不同通道、不同数据页面长度的快闪存储器搭配不同的ECC更正设定的方法,在数据储存的安全性上远高于固定式的,亦不受最小数据页面的快闪存储器而有限制错误更正码ECC能力的问题。
以上对本发明的描述是说明性的,而非限制性的,本专业技术人员理解,在权利要求限定的精神与范围之内可对其进行许多修改、变化或等效,但是它们都将落入本发明的保护范围内。
Claims (8)
1.一种应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,包含:
根据一快闪存储器内,一数据页面的容量及一第一管理数据的长度,在该快闪存储器的一第一通道中,预设定具有一第一长度的错误更正码;
根据该数据页面的容量及一第二管理数据的长度,在该快闪存储器的一第二通道中,预设定具有一第二长度的错误更正码;
检查目前所欲存取的通道是否为该第一通道;
若是,则将该第一通道的错误更正码长度设定为该第一长度;以及
若否,则将该第二通道的错误更正码长度设定为该第二长度。
2.如权利要求1所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,更包括下列步骤:
根据所储存数据的种类,在该快闪存储器中,设定一第一种类区块及一第二种类区块;
其中,该第一种类区块的错误更正码长度等于该第一长度。
3.如权利要求2所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,位于该第一通道的该第二种类区块的错误更正码长度等于该第一长度。
4.如权利要求3所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,位于该第二通道的该第二种类区块的错误更正码长度等于该第二长度。
5.如权利要求1所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,更包括下列步骤:
在该第一长度的错误更正码中,建立一第一识别码;以及
在该第二长度的错误更正码中,建立一第二识别码。
6.如权利要求5所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,该第一及该第二识别码分别位于该第一长度及该第二长度的错误更正码的最前一个比特组或最后一个比特组。
7.如权利要求1所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,更包括下列步骤:
在通道的错误更正码长度设定完成之后,根据该快闪存储器的存取动作,若为该第一通道,则在该第一通道中,存取该第一管理数据;以及
在通道的错误更正码长度设定完成之后,根据该快闪存储器的存取动作,若为该第二通道,则在该第二通道中,存取该第二管理数据。
8.如权利要求1所述的应用可变动错误更正码容量的快闪存储器控制方法,其特征在于,该第二长度大于该第一长度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910169423 CN101996688B (zh) | 2009-08-31 | 2009-08-31 | 应用可变动错误更正码容量的快闪存储器控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910169423 CN101996688B (zh) | 2009-08-31 | 2009-08-31 | 应用可变动错误更正码容量的快闪存储器控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101996688A CN101996688A (zh) | 2011-03-30 |
CN101996688B true CN101996688B (zh) | 2013-03-06 |
Family
ID=43786702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910169423 Active CN101996688B (zh) | 2009-08-31 | 2009-08-31 | 应用可变动错误更正码容量的快闪存储器控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996688B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI467364B (zh) | 2011-07-12 | 2015-01-01 | Phison Electronics Corp | 記憶體儲存裝置、記憶體控制器與資料寫入方法 |
CN106970852A (zh) * | 2016-01-14 | 2017-07-21 | 钰创科技股份有限公司 | 闪存错误控制电路及其方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000569A (zh) * | 2006-12-29 | 2007-07-18 | 福昭科技(深圳)有限公司 | 一种对多重扇区进行错误修正编码的方法 |
-
2009
- 2009-08-31 CN CN 200910169423 patent/CN101996688B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000569A (zh) * | 2006-12-29 | 2007-07-18 | 福昭科技(深圳)有限公司 | 一种对多重扇区进行错误修正编码的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101996688A (zh) | 2011-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101685381B (zh) | 固态大容量存储装置的数据串流 | |
US20190252035A1 (en) | Decoding method, memory storage device and memory control circuit unit | |
CN101889267B (zh) | 存储器阵列中的差错校正 | |
US20150339073A1 (en) | Selection of redundant storage configuration based on available memory space | |
US9741451B2 (en) | Data storage device and data maintenance method thereof | |
US10445002B2 (en) | Data accessing method, memory controlling circuit unit and memory storage device | |
US10062418B2 (en) | Data programming method and memory storage device | |
CN102394114B (zh) | 具有自适应纠错能力的bch码纠错方法 | |
US11210005B2 (en) | Unbalanced plane management method, associated data storage device and controller thereof | |
US10318379B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
US9230684B2 (en) | Memory controller, storage device, and memory control method | |
CN103531246B (zh) | 快速以读代写的存储器纠错方法 | |
US11488671B2 (en) | Method, associated memory device and controller thereof for performing programming management | |
CN101794623B (zh) | 存储设备的纠错装置及方法 | |
CN105280239A (zh) | 一种动态实现固态硬盘ecc校验码的方法和装置 | |
CN108062260A (zh) | 一种利用假数据的闪存数据保护方法 | |
EP2889751A1 (en) | Method and apparatus for determining redundant array of independent disks | |
CN101996688B (zh) | 应用可变动错误更正码容量的快闪存储器控制方法 | |
US20200185032A1 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
US11101822B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
US20190026227A1 (en) | Data writing method, memory control circuit unit and memory storage device | |
CN103353855A (zh) | 一种nand闪存存储设备及其带外数据读取方法 | |
CN110058955B (zh) | 具有错误纠正功能的内存和相关内存系统 | |
CN112948166B (zh) | 数据处理方法及相关产品 | |
US9436547B2 (en) | Data storing method, memory control circuit unit and memory storage device |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210430 Address after: 1 / F, 7 / F, No. 83, Section 2, gongdaowu Road, East District, Hsinchu, Taiwan, China Patentee after: Asolid Technology Co.,Ltd. Address before: Hsinchu City, Taiwan, China Patentee before: INNOSTOR TECHNOLOGY Corp. |