在存储器设备处的控制数据的错误校正的系统和方法技术方案

技术编号:7868253 阅读:158 留言:0更新日期:2012-10-15 02:29
耦接到存储器阵列的控制器包括错误校正编码(ECC)引擎和耦接到该ECC引擎的ECC增强压缩模块。该ECC增强压缩模块被配置为接收并压缩要提供给ECC引擎以被编码的控制数据。在ECC引擎处产生的压缩的被编码控制数据作为码字被存储在存储器阵列处。

【技术实现步骤摘要】
【国外来华专利技术】
本公开一般涉及在存储器设备处的控制数据的错误校正。
技术介绍
在向存储器中写入数据的过程期间,通常用额外的位来编码数据以形成码字。在存在噪声时,表示该码字的位中的ー些位可能改变,用错误来破坏原始码字。当从存储器读取该码字时,可以使用解码器使用错误校正编码(ECC)来标识和校正这些错误。例如,在其中位错误趋向于不相关的应用中一般使用Bose-Chaudhuri-Hocquenghem (BCH)、低密度奇偶校验(LDPC)、里德所罗门(Reed Solomon)和Turbo编码方案。 ECC算法的硬件和软件实现方式通常被定义为能够对给定长度的数据校正给定量的错误。如果存储介质返回具有比ECC引擎被设计为能够校正的更多的错误的数据,则解码的数据将不匹配原始存储的数据。因此,改进存储器设备的ECC引擎的错误校正能力可以改进存储器设备的可靠性。
技术实现思路
公开了错误校正编码(ECC)增强压缩模块,其可以改进存储器设备的ECC引擎的错误校正能力。该ECC增强压缩模块通过在编码控制数据之前压缩该控制数据来增强该控制数据的错误校正,由此减少需要由ECC引擎编码和解码的控制数据位的数量。減少表示控制数据的位的数量使得ECC引擎能够将其校正能力集中在更少的位上,因此可比控制数据未压缩的情况校正更多错误。因此,增强了 ECC引擎的有效错误校正能力。附图说明图I是包括具有错误校正编码(ECC)增强压缩模块的存储器设备的系统的具体例示实施例的框图;图2是包括具有ECC增强压缩模块的存储器设备的系统的第二例示实施例的框图;图3是控制数据以及包括压缩和编码的控制数据的格式化的数据字的例示实施例的框图;图4是包括压缩和编码的控制数据的格式化的数据字的第二例示实施例的框图;图5是增强在存储器设备处的控制数据的错误校正的方法的例示实施例的流程图;图6是增强在存储器设备处的控制数据的错误校正的方法的第二例示实施例的流程图。具体实施例方式參考图1,绘出了包括ECC增强压缩模块110的系统的具体实施例并且一般将其指定为100。系统100包括耦接到存储器设备104的主机设备102。存储器设备104包括耦接到存储器阵列108的控制器106。控制器106包括耦接到ECC引擎112的ECC增强压缩模块110。ECC增强压缩模块110被配置为压缩控制数据144并将压缩的控制数据140提供给ECC引擎112用于编码为要存储在存储器阵列108处的码字160。通过在编码之前压缩控制数据144,与控制数据144的非压缩编码相比,增强了由于在ECC引擎112处的编码引起的压缩的控制数据140的有效错误校正率。ECC增强压缩模块110可以被配置为接收并压缩要被提供给ECC引擎112用于编码的控制数据144。例如,ECC增强压缩模块110可以包括执行压缩软件、诸如执行“zlib”压缩算法或者一个或多个其他算法以进行控制数据144的压缩的处理器。可以通过专用硬件压缩电路来加速该压缩模块110。ECC增强压缩模块110可以被配置为将压缩的控制数据140提供给ECC引擎112。另外。ECC增强压缩模块110可以被配置为从主机设备102接收用户数据145。ECC增强压缩模块110可以被配置为进行用户数据145的压缩并将压缩的用户数据141提供给ECC引擎112以被编码来存储在存储器阵列108处。ECC引擎112可以包括接收用户数据(例如压缩的控制数据140)并产生表示输入数据的编码的ー个或多个码字(例如码字160)的电路。例如,ECC引擎112可以被配置为利用里德-所罗门(Reed-Solomon)编码、BCH码、低密度奇偶校验(LDPC)码、ー个或多个错误检测和校正码或其任意組合。尽管ECC引擎112被描述为由专用硬件电路来进行,但是在其他实施例中,ECC引擎112可以包括执行可执行的指令来进行编码或解码功能的至少一部分的一个或多个处理器。响应于来自控制器106的指令,存储器阵列108可以响应于控制器106而存储并取回数据。例如,存储器阵列108可以响应于控制器106而在存储器阵列108处进行数据写入操作。例如,从ECC引擎112接收的码字160可以被提供给存储器阵列108作为来自控制器106的数据写入操作。码字160可以存储在存储器阵列108处用于稍后由控制器106取回。存储器阵列108可以是诸如闪存的非易失性存储器。主机设备102可以是在存储器设备104外部的设备。例如,主机设备102可以是诸如移动手持机的便携式电子设备,并且存储器设备104可以是耦接到主机设备102或者安装在主机设备102内的闪存卡。在操作期间,主机设备102可以将用户数据145提供给存储器设备104用于存储在存储器阵列108处。用户数据145可以在控制器106处被接收并且可以被提供给ECC增强压缩模块110。另外,控制器106还可以产生对存储器设备104的操作有用的控制数据(例如控制数据144)。例如,控制器106可以使用控制数据144来进行逻辑到物理地址映射、计算擦除计数、确定与存储器设备104对应的状态信息或者其任意組合。例如,控制数据144可以包括将逻辑地址映射到存储器阵列108内的物理地址的逻辑块地址表和物理块地址表。控制数据144还可以包括对于存储器阵列108处的数据结构的索引、指针和偏移 量、对于存储器设备104的损耗均衡数据、其他控制数据或其任意組合。控制数据144可以对应于或者可以不对应于用户数据145,并且可以与或者可以不与用户数据145在时间上同步(即控制数据144可以在与用户数据145的接收的时间基本不同的时间产生)。控制数据144可以与用户数据145分离。或者,控制数据144可以与用户数据145交织或者附于用户数据145上,以在ECC增强压缩模块110处被压縮。在ECC增强压缩模块110处压缩的数据(例如控制数据144和用户数据145)可以被提供给ECC引擎112用于编码,并且从ECC引擎112输出的编码的数据(例如码字160)可以被存储在存储器阵列108处。ECC引擎112可以操作以对压缩的控制数据140编码。通过操作ECC引擎112来对由于编码前压缩而具有减小的数据大小的数据进行完全编码操作,可以实现ECC编码的有效错误校正能力。例如,ECC增强压缩模块110可以根据压缩比(CR)压缩控制数据144。(CR)可以定义为本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.12.23 US 12/645,700;2010.11.29 US 12/955,1741.一种方法,包括 在存储器设备的控制器处 压缩控制数据; 对压缩的控制数据编码以产生表示压缩的控制数据的码字,其中该码字可由存储器设备处的错误校正编码(ECC)引擎解码;以及 将该码字存储在耦接到该控制器的存储器阵列处。2.如权利要求I的方法,其中在该控制器处产生该控制数据。3.如权利要求I的方法,其中该控制数据包括从由以下构成的组中选择的一种类型的数据对于该存储器设备处的存储器阵列的逻辑和物理块地址表;对于该存储器阵列处的数据结构的索引、指针以及偏移量;以及对于该存储器设备的损耗均衡数据。4.如权利要求I的方法,还包括从耦接到该存储器设备的外部设备接收用户数据,其中该外部设备是主机设备,并且其中在该存储器设备处的主机随机存取存储器(HRAM)处接收该用户数据。5.如权利要求I的方法,其中该压缩的控制数据被存储在缓冲随机存取存储器(BRAM)处。6.如权利要求I的方法,其中在该ECC引擎处的该压缩的控制数据的有效错误校正率超过该控制数据的有效错误校正率。7.如权利要求I的方法,其中存储码字包括存储格式化的数据字,该格式化的数据字包括 头部数据部分; 有效负荷部分;以及 奇偶校验部分。8.如权利要求7的方法,其中该格式化的数据字还包括头部奇偶校验部分,还包括将该压缩的控制数据的大小存储在该头部数据部分处,并将附加的数据添加到该压缩的控制数据以将该格式化的数据字的存储大小增加到预定大小。9.如权利要求8的方法,其中在该压缩的控制数据被编码之后,向该压缩的控制数据添加该附加的数据。10.如权利要求I的方法,还包括将该压缩的控制数据的大小存储在该存储器阵列处。11.如权利要求I的方法,还包括将该压缩的控制数据的大小存储在该控制器处。12.如权利要求I的方法,其中,所述编码包括产生与该压缩的控制数据对应的ECC位。13.如权利要求I的方法,其中,所述编码是基于Reed-Solomon码、BoseRay-Chaudhuri Hocquenghem (BCH)码和低密度奇偶校验(LDPC)码之一。14.一种方法,包括 在存储器设备的控制器处 从存储器阵列读取码字; 在错误校正编码(ECC)引擎处解码该码字以产生压缩的控制数据;以及 对该压缩的控制数据解压缩。15.如权利要求14的方法,其中该压缩的控制数据包括附加的数据,并且还包括基于该压缩的控制数据的大小从该压缩的控制数据中丢弃该附加的数据,其中该压缩的控制数据的大小指示没有该附加的数据的压缩的控制数据的大小。16.如权利要求15的方法,还包括从存储器阵列取回该压缩的控制数据的大小。17.如权利要求15的方法,还包括从该控制器取回该压缩的控制数据的大小。18.—种系统,包括 存储器阵列;以及 控制器,耦接到该存储器阵列,其中该控制器包括 错误校正编码(ECC)引擎;以及 ECC增强压缩模块,耦接到该ECC引擎,其中该ECC增强压缩模块被配置为接收并压缩要被提供到ECC引擎以被编码的控制数据,其中在该ECC引擎处产生的该压缩的被编码控制数据作为码字被存储在存储器阵列处。19.如权利要求18的系统,其中该ECC增强压缩模块还被配置为从该存储器阵列取回该压缩的被编码控制数据;以及 对该压缩的被编码控制数据解码以产生压缩的控制数据。20.如权利要求18的系统,其中该ECC引擎还包括 错误检测编码电路,被配置为对该压缩的控制数据编码;以及 错误校正编码电路,被配置为对该编码的被压缩控制数据解码。21.—种方法,包括 在包括错误校正编码(ECC)引擎和多个存储元件的存储器设备中进行如下步骤,其中所述多个存储元件包括一组存储元件,其中该存储器设备被配置为根据页格式将信息存储到存储元件,该页格式包括数据部分和奇偶校验部分 开始压...

【专利技术属性】
技术研发人员:DP尤尔佐拉R纳加比拉瓦A卡普尔I德罗尔ACS张P黄J陈
申请(专利权)人:桑迪士克科技股份有限公司
类型:发明
国别省市:

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

1