提高闪存资料存取可靠性的方法技术

技术编号:2825744 阅读:199 留言:0更新日期:2012-04-11 18:40
一种提高闪存资料存取可靠性的方法,其特征在于,包括:    (a)开始;    (b)于闪存存储内规划数个存储单元,将一闪存内规划数个存储单位,该存储单位规划设有一资料区及保留区;    (c)于内存内规划数个计数器;    (d)每个存储单元对应一个计数器,每一个计数器分别对应步骤(b)的各存储单位,供作为计数各存储单元的新、旧错误更正码比对不一致的次数;    (e)判断资料为写入或读出,如为写入则进行步骤(f),如为读出则进行步骤(g);    (f)进行数据编码写入处理,将所要写入的数据进行随机编码,将数个写入数据进行随机编码运算,以产生数个额外数据,通过数个写入资料与数个额外资料等资料进行错误码更正运算,产生一错误更正码,该数个写入资料与数个额外资料写入步骤(b)的存储单位的资料区,该错误更正码写入步骤(b)的存储单位的保留区,使数个写入资料与数个额外数据供作以后资料读出译码还原的因子,该错误更正码作为资料读出的新版错误更正码的比较依据,进行步骤(h);    (g)进行选取资料译码读出处理,自步骤(b)的闪存存储单位资料区及保留区读出资料,在资料区的数个写入资料与额外资料还原读出后,进行新的错误更正码的产生,通过此新的错误更码与步骤(f)的旧的错误更正码的每一个位内容逐一进行比对,并将两者每一位比对不一致次数记录于步骤(d)的计数器,通过计数器内容值供作闪存中的每个存储单位的资料存取可靠性的显示与参考,并自该资料区随机选取一较为可靠的资料群,自步骤(f)的数个写入资料与数个额外数据中任意选出数个数据为译码因子,并依据如步骤(e)的随机编码运算的逆向运算进行译码还原出资料区内所写入储存的数个写入资料;    (h)结束。

【技术实现步骤摘要】

本专利技术涉及一种提高闪存资料存取可靠性的方法,尤其涉及一种应用于闪存的资料读、写以及可通过写入编码、读出译码与新、旧错误更正码比对而提升资料存取可靠性的方法。
技术介绍
目前,闪存广泛使用于计算机主机或消费性电子产品中,比如:现有的随身碟、MP3播放器中的闪存,即为最常见的闪存应用场合。然而,现有的闪存资料读写控制模式,就现有技术而言,一个闪存区块抹除约一百万次,存放其上的资料即有可能无法正确被读出。当一个闪存区块因为抹除次数过多,而造成无法正确读出资料时,即称此区块被写穿。由于闪存有此种寿命限制,因此如何确保在闪存区块被写穿的情况下,仍能正确读出资料,便成为一个重要的研究课题。目前现有的解决方法有两种:一种是通过硬件技术的改进来改善闪存的可靠性;另一种则是通过错误更正码(Error Correction Code,ECC)来修正错误。但是,错误更正码的能力受到闪存页面(page)的保留区(spare area)大小的限制,以512字节的页面来说,要能够侦测出两个位的错误,并能更正一个位的错误,需要24个位的错误更正码,换言之,能够容忍资料错误的位数相当低,使其错误更正能力与资料存取可靠性、效率均受到限制。如图1所示,现有的闪存资料读写架构,欲写入的资料A1在写入资料区A2的同时,也产生一错误更正码A3存入该资料区A2后方的保留区A4中,此种如图1所示的现有的闪存资料读写架构如应用在更不可靠的多级单元(Multi-Level Cell,MLC)闪存上时,该闪存一个单元(cell)可以储存两个或以上的位,但是也因此造成位值可能误判的情形发生,虽然增大保留区以提供错误更正码更多的储存空间可以稍加改善问题,但是此种作法势必将现有的系统及硬件做大幅度的更新与扩大才行,使闪存于应用上不具有经济效益。另外,由于闪存有寿命限制,当资料存取于闪存内面临可靠性非常重要的状态下,现有闪存的作法是去监视每个闪存区块被抹除的次数,当抹除次-->数接近一百万次时,即避免将资料写到该区块,这种作法除了必须付出额外大量的内存容量与系统资源去进行监视之外,也有可能造成闪存容量的浪费,因为并不是所有闪存区块抹除了一百万次就一定会不可靠,相对地,也不能保证闪存区块在抹除一百万次之前一定可靠,换言之,该现有监测方法并没有办法直接与真实反映闪存内各区块内的实际资料存取正确或错误状态,所以这种现有闪存资料存取可靠性的监测作法,仍存有可靠性不佳的问题与缺点。此外,相关在前专利文献,如中国台湾专利公报第575806号“一种增强闪存的错误更正能力及同时对资料加密的方法”的专利技术专利案,则揭示关于增强闪存的错误更正能力的技术,但对于两个位的低容忍错误能力及各存储区块的资料存取正确或错误状态无法真实反映等问题及缺点,并无任何妥善的改进对策,有可能造成各存储区块资料存取可靠性误判情形发生。
技术实现思路
本专利技术的主要目的在于克服现有产品存在的上述缺点,而提供一种提高闪存资料存取可靠性的方法,使闪存资料存取具有较多位的错误容忍可靠度。本专利技术的又一目的在于提供一种提高闪存资料存取可靠性的方法,可以真实反映闪存中的各存储区块的资料存取错误状态,以精确评估各存储区块的可靠状态,进而提高闪存资料存取的可靠度。本专利技术的目的是由以下技术方案实现的。本专利技术提高闪存资料存取可靠性的方法,其特征在于,包括:(a)开始;(b)于闪存存储内规划数个存储单元,将一闪存内规划数个存储单位,该存储单位规划设有一资料区及保留区;(c)于内存内规划数个计数器;(d)每个存储单元对应一个计数器,每一个计数器分别对应步骤(b)的各存储单位,供作为计数各存储单元的新、旧错误更正码比对不一致的次数;(e)判断资料为写入或读出,如为写入则进行步骤(f),如为读出则进行步骤(g);(f)进行数据编码写入处理,将所要写入的数据进行随机编码,将数个写入数据进行随机编码运算,以产生数个额外数据,通过数个写入资料与数个额外资料等资料进行错误码更正运算,产生一错误更正码,该数个写入资料-->与数个额外资料写入步骤(b)的存储单位的资料区,该错误更正码写入步骤(b)的存储单位的保留区,使数个写入资料与数个额外数据供作以后资料读出译码还原的因子,该错误更正码作为资料读出的新版错误更正码的比较依据,进行步骤(h);(g)进行选取资料译码读出处理,自步骤(b)的闪存存储单位资料区及保留区读出资料,在资料区的数个写入资料与额外资料还原读出后,进行新的错误更正码的产生,通过此新的错误更码与步骤(f)的旧的错误更正码的每一个位内容逐一进行比对,并将两者每一位比对不一致次数记录于步骤(d)的计数器,通过计数器内容值供作闪存中的每个存储单位的资料存取可靠性的显示与参考,并自该资料区随机选取一较为可靠的资料群,自步骤(f)的数个写入资料与数个额外数据中任意选出数个数据为译码因子,并依据如步骤(e)的随机编码运算的逆向运算进行译码还原出资料区内所写入储存的数个写入资料;(h)结束。前述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(b)的存储单位容量为512×8位。前述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(c)的计数器为一连续地址的计数器数组。前述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(f)的随机编码运算方式为随机互斥或逻辑运算方式。前述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(f)的资料编码写入处理步骤包括:(f1)开始;(f2)对要写入的数据进行编码,即将数个写入数据进行随机编码运算,以产生数个额外数据;(f3)对编码过后的资料进行错误更正码ECC计算,将通过随机编码运算后所产生的数个写入资料与数个额外资料等资料进行错误码更正运算,以产生错误更正码;(f4)将编码过后的资料写入闪存的一个存储单位的资料区,计算产生的错误更正码写入相对应的保留区中,将该步骤(f2)的数个写入数据与数个额外数据等编码后的资料写入闪存的一存储单位的资料区,该步骤(f3)产-->生的错误更正码写入该存储单位所对应的保留区中;(f5)结束。前述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(g)的选取资料译码读出处理步骤包括:(g1)开始;(g2)从闪存的存储单元读取资料区及保留区的数据,即将所欲读出资料的闪存的存储单位资料区中的数个写入资料与数个额外数据等经随机编码资料及保留区中的旧版错误更正码资料读出;(g3)从资料区选取一组数据群来进行译码,即将步骤(g2)资料区读出的数个写入数据与数个额外数据等经随机编码数据,任选其中数个资料所组成的资料群供作为资料还原译码的因子;(g4)对数据进行译码,即将步骤(g3)选取的数据群进行还原译码,以解出数个写入数据与数个额外资料等原始资料;(g5)检查译码出来的数据是否正确,如果不是则进行步骤(g6),如果是则进行步骤(g7),利用步骤(g)所述的新、旧错误更正码比对来检验该解出数个写入资料与数个额外资料等原始资料是否正确;(g6)重复次数是否超过门槛值,如果超过则进行步骤(g61),如果未超过则进行步骤(g62),即给予资料读出不正确次数的门槛值限制;(g61)警示读取动作失败,即判定闪存的存储单元资料读取失败,并进行步骤(g8);(g62)另外重选本文档来自技高网
...

【技术保护点】
一种提高闪存资料存取可靠性的方法,其特征在于,包括:(a)开始;(b)于闪存存储内规划数个存储单元,将一闪存内规划数个存储单位,该存储单位规划设有一资料区及保留区;(c)于内存内规划数个计数器;(d)每个存储单元对应一个计数器,每一个计数器分别对应步骤(b)的各存储单位,供作为计数各存储单元的新、旧错误更正码比对不一致的次数;(e)判断资料为写入或读出,如为写入则进行步骤(f),如为读出则进行步骤(g);(f)进行数据编码写入处理,将所要写入的数据进行随机编码,将数个写入数据进行随机编码运算,以产生数个额外数据,通过数个写入资料与数个额外资料等资料进行错误码更正运算,产生一错误更正码,该数个写入资料与数个额外资料写入步骤(b)的存储单位的资料区,该错误更正码写入步骤(b)的存储单位的保留区,使数个写入资料与数个额外数据供作以后资料读出译码还原的因子,该错误更正码作为资料读出的新版错误更正码的比较依据,进行步骤(h);(g)进行选取资料译码读出处理,自步骤(b)的闪存存储单位资料区及保留区读出资料,在资料区的数个写入资料与额外资料还原读出后,进行新的错误更正码的产生,通过此新的错误更码与步骤(f)的旧的错误更正码的每一个位内容逐一进行比对,并将两者每一位比对不一致次数记录于步骤(d)的计数器,通过计数器内容值供作闪存中的每个存储单位的资料存取可靠性的显示与参考,并自该资料区随机选取一较为可靠的资料群,自步骤(f)的数个写入资料与数个额外数据中任意选出数个数据为译码因子,并依据如步骤(e)的随机编码运算的逆向运算进行译码还原出资料区内所写入储存的数个写入资料;(h)结束。...

【技术特征摘要】
1. 一种提高闪存资料存取可靠性的方法,其特征在于,包括:(a)开始;(b)于闪存存储内规划数个存储单元,将一闪存内规划数个存储单位,该存储单位规划设有一资料区及保留区;(c)于内存内规划数个计数器;(d)每个存储单元对应一个计数器,每一个计数器分别对应步骤(b)的各存储单位,供作为计数各存储单元的新、旧错误更正码比对不一致的次数;(e)判断资料为写入或读出,如为写入则进行步骤(f),如为读出则进行步骤(g);(f)进行数据编码写入处理,将所要写入的数据进行随机编码,将数个写入数据进行随机编码运算,以产生数个额外数据,通过数个写入资料与数个额外资料等资料进行错误码更正运算,产生一错误更正码,该数个写入资料与数个额外资料写入步骤(b)的存储单位的资料区,该错误更正码写入步骤(b)的存储单位的保留区,使数个写入资料与数个额外数据供作以后资料读出译码还原的因子,该错误更正码作为资料读出的新版错误更正码的比较依据,进行步骤(h);(g)进行选取资料译码读出处理,自步骤(b)的闪存存储单位资料区及保留区读出资料,在资料区的数个写入资料与额外资料还原读出后,进行新的错误更正码的产生,通过此新的错误更码与步骤(f)的旧的错误更正码的每一个位内容逐一进行比对,并将两者每一位比对不一致次数记录于步骤(d)的计数器,通过计数器内容值供作闪存中的每个存储单位的资料存取可靠性的显示与参考,并自该资料区随机选取一较为可靠的资料群,自步骤(f)的数个写入资料与数个额外数据中任意选出数个数据为译码因子,并依据如步骤(e)的随机编码运算的逆向运算进行译码还原出资料区内所写入储存的数个写入资料;(h)结束。2. 根据权利要求1所述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(b)的存储单位容量为512×8位。3. 根据权利要求1所述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(c)的计数器为一连续地址的计数器数组。4. 根据权利要求1所述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(f)的随机编码运算方式为随机互斥或逻辑运算方式。5. 根据权利要求1所述的提高闪存资料存取可靠性的方法,其特征在于,所述步骤(f)的资料编码写入处理步骤包括:(f1)开始;(f2)对要写入的数据进行编码,即将数个写入数据进行随机编码运算,以产生数个额外数据;(f3)对编码过后的资料进行错误更正码ECC计算,将通过随机编码运算后所产生的数个写入资料与数个额外资料等资料进行错误码更正运算,以产生错误更正码;(f4)将编码过后的资料写入闪存的一个存储单位的资料区,计算产生的错误更正码写入相对应的保留区中,将该步骤(f2)的数个写入数据与数个额外数据等编码后的资料写入闪存的一存储单位的资料区...

【专利技术属性】
技术研发人员:谢仁伟郭大维谢享奇
申请(专利权)人:创惟科技股份有限公司
类型:发明
国别省市:71

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1