存储器及其读取错误检测方法

文档序号:6775355阅读:170来源:国知局
专利名称:存储器及其读取错误检测方法
技术领域
本发明涉及一种存储器及其读取错误检测方法,特别是涉及一种具有高 正确度及节省存储器空间的存储器及其读取错误检测方法。
背景技术
非易失性存储器的技术使用于现今的多种应用中,而闪存为其中之一。 闪存可用以读取及写入数据,而且储存于其中的数据不需要依靠电源来维 持,因此适用于各种数据储存的用途。然而,确保储存于存储器中的数据的
完整性是存储器设计上很重要的一环,传统上通常使用错误修正码(Error Correction Code, ECC)来实现此项要求。错误修正码为一种能够检测并修正 1位错误(l bit error)的数据完整性检测方法。
请参照图1,其示出了传统存储器读取错误检测方法的流程图。首先, 于步骤100中,接收至少一笔数据片段(datafragment)。接着,于步骤110中, 依据此至少 一笔数据片段产生一错误修正码(error correction code),此错误修 正码是由错误修正检测算法(ECC Algorithm)所产生。错误修正码的大小相对 应于至少一笔数据片段的大小,例如,当至少一笔数据片段的大小为256字 节(byte)时,由于需计算错误修正同位位(ECC parity bit)及其补码,故错误修 正码的大小则为22位(bit)。
然后,于步骤120中,将至少一笔数据片段及错误修正码写入于存储器 的中。之后,于步骤130中,从存储器读取至少一笔数据片段为至少一笔读 取数据片段。接着,于步骤140中,依据至少一笔读取数据片段产生一新错 误修正码,此新错误修正码亦由错误修正检测算法所产生。然后,于步骤150 中,依据错误修正码及新错误修正码判断至少一笔读取数据片段是否相同于 至少一笔数据片段。步骤150实质上是依据错误修正检测算法,将错误修正 码及新错误修正码进行一异或(exdusiveor)的搡作,若结杲为0,则至少一笔 读取数据片段相同于至少 一笔数据片段。
若至少一笔读取数据片段相同于至少一笔数据片段,则于步骤160中, 存储器判断读取操作为正确,存储器输出此至少一笔读取数据片段。若至少
一笔读取数据片段相异于至少一笔数据片段,则于步骤170中,若存储器判 断读取搡作具有l位错误,则利用新错误修正码将至少一笔读取数据片段修
正为至少一笔数据片段,并输出至少一笔读取数据片段。
上述的传统存储器读取错误检测方法中,错误修正检测算法(ECC Algorithm)能够检测并修正1位错误,但对于较多位的位错误,例如为2、 3 或4位错误等,错误修正检测算法虽然亦能够检测到,但并不能修正这些错 误,仅能回报存储器有多位错误产生。

发明内容
有鉴于此,本发明的目的就是在提供一种存储器及其读取错误检测方 法,利用一计数指标,且配合错误修正码,使得存储器能够检测并修正多位 错误,提升存储器读取操作的正确度,并且节省存储器空间。
根据本发明的目的,提出一种存储器读取错误检测方法,包括,首先, 接收至少一笔数据片段,至少一笔数据片段是由l及0组成。接着,依据至 少一笔数据片段产生一错误修正码及一计数指标,计数指标是相对应于至少 一笔数据片段所具有的1的个数。然后,将至少一笔数据片段、错误修正码 及计数指针写入于一存储器。之后,从存储器读取至少一笔数据片段为至少 一笔读取数据片段,至少一笔读取数据片段是由l及O组成。接着,依据至 少一笔读取数据片段产生一新错误修正码及一新计数指标,新计数指标是相 对应于至少一笔读取数据片段所具有的1的个数。然后,判断计数指标及新 计数指标是否相等。接着,若计数指标相等于新计数指标,则依据错误修正 码及新错误修正码判断至少 一笔读取数据片段是否相同于至少 一笔数据片 段。之后,若至少一笔读取数据片段相同于至少一笔数据片段,则判断读取 操作正确,,并输出至少 一笔读取数据片段。
根据本发明的目的,再提出一种存储器,包括存储单元数组、错误修正 电路以及n位计数器,n为正整数。存储单元数组用以接收并储存至少一笔 数据片段,存储器从存储单元数组读取至少一笔数据片段为至少一笔读取数 据片段,至少一笔数据片段及至少一笔读取数据片段是由l及O所组成。错 误修正电路依据至少 一笔数据片段产生一错误修正码,且依据至少 一笔读取 数据片段产生一新错误修正码。n位计数器用以产生一计数指标及一新计数
指标,计数指标及新计数指标是分别相对应于至少一笔数据片段及至少 一笔 读取数据片段所具有的1的个数。其中,存储器利用计数指针、新计数指标、 错误修正码及新错误修正码判断至少一笔读取数据片段是否相同于至少一 笔数据片段。其中,当至少一笔读取数据片段相较于至少一笔数据片段是具
有y位错误,存储器将至少一笔读取数据片段修正为至少一笔数据片段,并 输出至少一笔读取数据片段,y为小于或等于n的正整数。
为让本发明的上述目的、特征、和优点能更明显易懂,下文特举一较佳 实施例,并配合所附图式,作详细说明如下


图1示出了传统存储器读取错误检测方法的流程图。
图2示出了依照本发明较佳实施例的存储器读取错误检测方法的流程图。
图3示出了依照本发明较佳实施例存储器读取错误检测方法的计数指标 的示意图。
图4示出了依照本发明较佳实施例的存储器的存储单元临界电压分布图。
图5示出了依照本发明较佳实施例的存储器的方块图。
图6示出了依照本发明较佳实施例的3位计数器的一例的电路图。
附图符号说明 500:存储器 510:存储单元数组 520:错误修正电路 530: n位计数器 600: 3位计数器
具体实施例方式
本发明提供一种存储器及其读取错误检测方法,利用新增的计数器产生 的计数指标,并配合错误修正检测算法(ECC Algorithm)产生的错误修正码, 使得存储器能够检测并修正多位错误,提升存储器读取操作的正确度,并且
节省存储器空间。
请参照图2,其示出了乃依照本发明较佳实施例的存储器读取错误检测 方法的流程图。此存储器读取错误检测方法应用于一存储器,此存储器为一 非易失性存储器,例如为一单层存储单元(Single Level Cell, SLC)闪存或一 多层存储单元(Multi Level Cell, MLC)闪存。首先,于步骤200中,接收至 少一笔数据片段(datafragment),此至少一笔数据片段是由l及O组成。
然后,于步骤210中,依据此至少一笔数据片段产生一错误修正码及一 计数指标。此错误修正码是由错误修正检测算法所产生,其大小相对应于至 少一笔数据片段的大小,由于本发明仅需计算错误修正同位位或其补码的 一,故当至少一笔数据片段的大小例如为256字节(byte)时,错误修正码的 大小则为11位(bit)。计数指针则相对应于至少一笔数据片段所具有的1的个 数,其大小为n位,n为正整数。如此一来,本实施例所披露的存储器读取 错误检测方法最多可以判断出n位错误。
举至少一笔数据片段的大小为256字节,计数指针的大小为3位为例作 说明,然并不限制于此。请参照图3,其示出了乃依照本发明较佳实施例存 储器读取错误检测方法的计数指标的示意图。若至少一笔数据片段具有68 个1及1980个0,则计数指标由H(000)开始,经由A->H的顺序依序计算至 少一笔数据片段所具有的1的个数,最后会停在D(100)的位置。
然后,于步骤220中,将至少一笔数据片段、错误修正码及计数指针写 入存储器的中。接着,于步骤230中,从存储器读取至少一笔数据片段为至 少一笔读取数据片段,此至少一笔读取数据片段亦由l及0组成。之后,于 步骤240中,依据此至少一笔读取数据片段产生一新错误修正码及一新计数 指标,此新错误修正码是由错误修正检测算法所产生,此新计数指标则相对 应于此至少一笔读取数据片段所具有的1的个数,其大小亦为n位。
然后,于步骤250中,判断计数指标及新计数指标是否相等,亦即判断 至少一数据片段所具有的1的个数是否相等于至少一读取数据片段所具有的 1的个数。若计数指标相同于新计数指标,即新计数指标亦停在D(100)的位 置,则于步骤260中,依据错误修正码及新错误修正码判断至少一笔读取数 据片段是否相同于至少一笔数据片段。步骤260实质上是依据错误修正检测 算法,将错误修正码及新错误修正码进行一异或(exclusiveor)的操作,若结 果为0,则至少一笔读取数据片段是相同于至少一笔数据片段。
若至少 一笔读取数据片段相同于至少 一笔数据片段,则于步骤270中, 存储器判断读取搡作正确,并输出至少一笔读取数据片段。此外,当计数指 标不相等于新计数指标时,于步骤280中,若计数指标与新计数指标相差1, 亦即若计数指标位于D(100)的位置,新计数指针则位于C(011)的位置或 E(101)的位置,则利用新错误修正码,将至少一笔读取数据片段修正为至少 一笔数据片段,并输出至少一笔读取数据片段。当计数指标与新计数指标相 差1,至少一笔读取数据片段相较于至少一笔数据片段具有1位错误(l bit error)。
当计数指标不相同于新计数指标时,于步骤290中,若计数指标与新计 数指标相差大于l且小于或等于n,亦即若计数指标位于D(100)的位置,新 计数指针则位于A(001)的位置、B(010)的位置、F(110)的位置或G(111)的位 置,则改变存储器应用于读取操作的一参考电流。然后重新回到步骤230, 从存储器读取至少 一笔数据片段为至少 一笔读取数据片段。当计数指标与新 计数指标相差m,至少一笔读取数据片段相较于至少一笔数据片段具有m位 错误(m bit error), m为大于1且小于或等于n的正整数。于本实施例,n为 3,则m为2或3。
请参照图4,其示出了依照本发明较佳实施例的存储器的存储单元临界 电压分布图。图4中的存储器是以多层存储单元闪存为例说明,然并不限制 于此。存储器中,当存储单元的漏极电流大于参考单元所输出的参考电流时, 则存储单元的临界电压被判断为小于参考临界电压VTref,亦即存储单元所 储存的数据片段为1。当存储单元的漏极电流小于参考单元所输出的参考电 流时,则存储单元的临界电压被判断为大于参考临界电压VTref,亦即存储 单元所储存的数据片段为0。
故于步骤209中,当计数指标比新计数指标大m,亦即若计数指标位于 D(100)的位置,新计数指针则位于A(001)的位置或B(010)的位置,代表少读 了 2或3个1,于是于存储体操作区间内,往右移动参考临界电压Vtref,亦 即减少参考电流,然后回到步骤230重新进行读取操作。当计数指标比新计 数指标小m,亦即若计数指标位于D(100)的位置,新计数指针则位于F(llO) 的位置或G(111)的位置,代表多读了 2或3个1,于是于存储体操作区间内, 往左移动参考临界电压Vtref,亦即增加参考电流,然后回到步骤230重新 进行读取操作。
请参照图5,其示出了依照本发明较佳实施例的存储器的方块图。存储 器500为一非易失性存储器,例如为一单层存储单元闪存或一多层存储单元 闪存,包括存储单元数组510、错误修正电路520及n位计数器530。存储 单元数组510用以接收并储存至少一笔数据片段Data,存储器500从存储单 元数组510读取至少 一笔数据片段Data为至少 一笔读取数据片段DataR,至 少一笔数据片段Data及至少一笔读取数据片段DataR是由1及0所组成。
错误修正电路520依据至少一笔数据片段Data产生一错误修正码,且 依据至少一笔读取数据片段DataR产生一新错误修正码。n位计数器530用 以产生一计数指标及一新计数指标,计数指标及新计数指标分别相对应于至 少一笔数据片段Data及至少一笔读取数据片段DataR所具有的1的个数,n 为正整数。
其中,存储器500利用计数指针、新计数指标、错误修正码及新错误修 正码判断至少 一笔读取数据片段DataR是否相同于至少 一笔数据片段Data。 当至少 一笔读取数据片段DataR相较于至少 一笔数据片段Data是具有y位 错误,存储器500将至少一笔读取数据片段DataR修正为至少一笔数据片段 Data,并输出至少一笔读取数据片段DataR, y为小于或等于n的正整数。
存储器500中,凡各种可用以计数的计数器电路均可应用于n位计数器 电路,例如可以应用n个触发器(T-FF)于电路实现上,然并不限制于此。请 参照图6,其示出了依照本发明较佳实施例的3位计数器的一例的电路图。3 位计数器600是利用3个触发器,并依据存储器本身的频率讯号CLK及至 少一笔数据片段Data来进行计数的操作。此外,存储器500所应用的读取 错误检测方法,已详述于本发明上述实施例所披露的存储器读取错误检测方 法,故于此不再重述。
本发明上述实施例所披露的存储器及其读取错误检测方法,利用新增的 计数器产生的计数指标,并结合错误修正检测算法(ECCAlgorithm)产生的错 误修正码,使得存储器能够检测并修正多位错误,提升存储器读取操作的正 确度。此外,本发明仅需计数错误修正同位位或其补码之一,故当至少一笔 数据片段的大小例如为256字节(byte)时,错误修正码的大小则为11位(bit)。 而若应用3位计数器,则错误修正码及计数指针共需要14位,相较于传统 的作法节省了不少存储器空间。
综上所述,虽然本发明已以一较佳实施例披露如上,然其并非用以限定本发明。本技术领域的普通技术人员在不脱离本发明的精神和范围的前提下 可作各种的更动与润饰。因此,本发明的保护范围以本发明的权利要求为准。
权利要求
1.一种存储器读取错误检测方法,包括接收至少一笔数据片段,该至少一笔数据片段是由1及0组成;依据该至少一笔数据片段产生一错误修正码及一计数指标,该计数指标是相对应于该至少一笔数据片段所具有的1的个数;将该至少一笔数据片段、该错误修正码及该计数指针写入于一存储器;从该存储器读取该至少一笔数据片段为至少一笔读取数据片段,该至少一笔读取数据片段是由1及0组成;依据该至少一笔读取数据片段产生一新错误修正码及一新计数指标,该新计数指标是相对应于该至少一笔读取数据片段所具有的1的个数;判断该计数指标及该新计数指标是否相等;若该计数指标是相等于该新计数指标,则依据该错误修正码及该新错误修正码判断该至少一笔读取数据片段是否相同于该至少一笔数据片段;以及若该至少一笔读取数据片段是相同于该至少一笔数据片段,则判断该读取操作正确,并输出该至少一笔读取数据片段。
2. 如权利要求1所述的存储器读取错误检测方法,其中,该存储器为一 非易失性存储器。
3. 如权利要求2所述的存储器读取错误检测方法,其中,该存储器为一 单层存储单元闪存。
4. 如权利要求2所述的存储器读取错误检测方法,其中,该存储器为一 多层存储单元闪存。
5. 如权利要求1所述的存储器读取错误检测方法,其中,该计数指针是 由一n位计数器所得到,n为正整数。
6. 如权利要求5所述的存储器读取错误检测方法,该存储器读取错误检 测方法最多可以判断出该至少 一笔读取数据片段相较于该至少 一笔数据片 段具有n位错误。
7. 如权利要求5所述的存储器读取错误检测方法,还包括 若该计数指标不相等于该新计数指标,且该计数指标与该新计数指标相差l,则利用该新错误修正码,将该至少一笔读取数据片段修正为该至少一 笔数椐片段,并输出该至少一笔读取数据片段。
8. 如权利要求7所述的存储器读取错误检测方法,若该计数指标与该新计数指标相差1,则该至少一笔读取数据片段相较于该至少一笔数据片段是 具有1位错误。
9. 如权利要求5所述的存储器读取错误检测方法,还包括 若该计数指标不相等于该新计数指标,且该计数指标与该新计数指标相差m,则改变该存储器应用于读取操作的一参考电流;以及重新从该存储器读取该至少 一笔数据片段为该至少 一笔读取数据片段; 其中,m为大于1且小于或等于n的正整数。
10. 如权利要求9所述的存储器读取错误检测方法,其中,若该计数指 标比该新计数指标大m,则减少该参考电流,若该计数指标比该新计数指标 小m,则增加该参考电流。
11. 如权利要求9所述的存储器读取错误检测方法,若该计数指标与该 新计数指标相差m,则该至少一笔读取数据片段相较于该至少一笔数据片段 具有m位错误。
12. —种存储器,包括一存储单元数组,用以接收并储存至少一笔数据片段,该存储器从该存 储单元数组读取该至少 一笔数据片段为至少 一笔读取数据片段,该至少 一笔 数据片段及该至少一笔读取数据片段是由1及0所组成;一错误修正电路,依据该至少一笔数据片段产生一错误修正码,且依据 该至少一笔读取数据片段产生一新错误修正码;以及一n位计数器,用以产生一计数指标及一新计数指标,该计数指标及该 新计数指标是分别相对应于该至少 一笔数据片段及该至少 一笔读取数据片 段所具有的1的个数,n为正整数;其中,该存储器利用该计数指针、该新计数指标、该错误修正码及该新 错误修正码判断该至少 一笔读取数据片段是否相同于该至少 一笔数据片段;其中,当该至少一笔读取数据片段相较于该至少一笔数据片段是具有y 位错误,该存储器将该至少一笔读取数据片段修正为该至少 一笔数据片段, 并输出该至少一笔读取数据片段,y为小于或等于n的正整数。
13. 如权利要求12所述的存储器,该存储器为一非易失性存储器。
14. 如权利要求13所述的存储器,该存储器为一单层存储单元闪存。
15. 如权利要求13所述的存储器,该存储器为一多层存储单元闪存。
16. 如权利要求12所述的存储器,其中,若该计数指标与该新计数指标相差l,则该存储器利用该新错误修正码,将该至少一笔读取数据片段修正 为该至少 一 笔数据片段,并输出该至少 一 笔读取数据片段。
17. 如权利要求16所述的存储器,若该计数指标与该新计数指标相差1, 则该至少一笔读取数据片段相较于该至少一笔数据片段具有1位错误。
18. 如权利要求12所述的存储器,其中,若该计数指标与该新计数指标 相差m,则该存储器改变应用于读取操作的一参考电流以重新从该存储单元 数组读取该至少一笔数据片段为该至少一笔读取数据片段,其中,m为大于 l且小于或等于n的正整数。
19. 如权利要求18所述的存储器,其中,若该计数指标比该新计数指标 大m,则该存储器减少该参考电流,若该计数指标比该新计数指标小m,则 该存储器增加该参考电流。
20. 如权利要求18所述的存储器,若该计数指标与该新计数指标相差 m,则该至少一笔读取数据片段相较于该至少一笔数据片段具有m位错误。
全文摘要
一种存储器读取错误检测方法,包括,首先,接收至少一笔数据片段,并据以产生一错误修正码及一计数指标。然后,将至少一笔数据片段、错误修正码及计数指针写入于一存储器。之后,从存储器读取至少一笔数据片段为至少一笔读取数据片段,并据以产生一新错误修正码及一新计数指标。然后,判断计数指标及新计数指标是否相等。接着,若计数指标相等于新计数指标,则依据错误修正码及新错误修正码判断至少一笔读取数据片段是否相同于至少一笔数据片段。之后,若至少一笔读取数据片段是相同于至少一笔数据片段,则判断读取操作正确,并输出至少一笔读取数据片段。
文档编号G11C29/04GK101178943SQ20061014459
公开日2008年5月14日 申请日期2006年11月7日 优先权日2006年11月7日
发明者何文乔, 张坤龙, 张钦鸿, 洪俊雄 申请人:旺宏电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1