CN201380075097.6
2013.03.25
CN105190766A
2015.12.23
实审
审中
专利申请权的转移IPC(主分类):G11C 29/42登记生效日:20170122变更事项:申请人变更前权利人:惠普发展公司,有限责任合伙企业变更后权利人:慧与发展有限责任合伙企业变更事项:地址变更前权利人:美国德克萨斯州变更后权利人:美国德克萨斯州|||实质审查的生效IPC(主分类):G11C 29/42申请日:20130325|||公开
G11C29/42
惠普发展公司,有限责任合伙企业
G.B.莱萨特尔
美国德克萨斯州
中国专利代理(香港)有限公司 72001
张凌苗;陈岚
从在存储器设备中的存储器单元读数据。所读数据通过链路被传送到在存储器设备外部的存储器控制器。当所读数据的传送正在进行时,使用纠错码在存储器设备内部执行所读数据的错误检测。
1. 一种存储器设备,包括:通信接口,用以通过链路与在存储器设备外部的存储器控制器通信;数据访问逻辑,用以从存储器单元读数据,其中通信接口将通过链路经由通信接口输出所读数据;以及错误纠正逻辑,用以使用与所读数据相关联的纠错码执行所读数据的错误检测,其中错误纠正逻辑将与所读数据的部分通过链路传送同时地执行错误检测。2. 如权利要求1所述的存储器设备,其中链路是串行链路,并且其中通信接口包括并-串转换器以在在存储器设备中内部使用的并行格式的数据和在串行链路上使用的串行格式的数据之间转换。3. 如权利要求2所述的存储器设备,进一步包括在存储器设备中的并行链路,其中错误纠正逻辑将通过并行链路从存储器单元接收所读数据。4. 如权利要求1所述的存储器设备,其中错误纠正逻辑响应于错误纠正逻辑检测在所读数据中的错误而向存储器控制器输出失败的指示。5. 如权利要求4所述的存储器设备,其中失败指示包括被断言成具体状态的信号。6. 如权利要求4所述的存储器设备,其中通过使与通过链路传送所读数据相关联的校验码中毒来提供失败指示。7. 如权利要求4所述的存储器设备,其中存储器设备将从存储器控制器接收读重试,其中读重试响应于失败指示。8. 如权利要求4所述的存储器设备,其中错误纠正逻辑将响应于检测错误来将纠错码输出到存储器控制器,并且如果未在所读数据中检测到错误则将拒绝输出纠错码。9. 如权利要求8所述的存储器设备,其中纠错码到存储器控制器的供应允许存储器控制器使用纠错码纠正所读数据。10. 一种方法,包括:在存储器设备中从在存储器设备中的存储器单元读数据;通过链路将所读数据传送到在存储器设备外部的存储器控制器;以及当正在进行所读数据的传送时,在存储器设备内部使用纠错码执行所读数据的错误检测。11. 如权利要求10所述的方法,其中所读数据通过链路到存储器控制器的传送在在存储器设备内部的所读数据的错误检测的完成之前发生。12. 如权利要求10所述的方法,进一步包括:由存储器设备确定在所读数据中是否存在错误;响应于确定在所读数据中不存在错误,拒绝将纠错码发送到存储器控制器。13. 如权利要求12所述的方法,进一步包括:响应于确定在所读数据中存在错误,将失败指示发送到存储器控制器。14. 如权利要求13所述的方法,其中失败指示是显式失败指示或隐式失败指示。15. 一种系统,包括:存储器控制器;存储器设备;以及使存储器控制器和存储器设备互连的链路,其中存储器设备包括: 通信接口,用以通过链路与在存储器设备外部的存储器控制器通信; 数据访问逻辑,用以从存储器单元读数据;以及 错误纠正逻辑,用以使用与所读数据相关联的纠错码执行所读数据的错误检测,其中通信接口将在所读数据的错误检测完成之前通过链路经由通信接口输出所读数据的部分。
具有错误纠正逻辑的存储器设备 背景技术 可以在计算系统中使用存储器设备以存储数据。在某些情况下,可以将存储器设备提供在处理器和永久存储子系统之间,所述存储器设备经常以诸如(一个或多个)基于盘的存储设备之类的(一个或多个)较低速存储设备实现。处理器能够比在永久存储子系统处更快地在存储器设备处执行数据访问。 为了解决可能发生在存储器设备中的数据错误,可以采用错误检测和纠正技术来保护存储在存储器设备中的数据。可以将纠错码和数据存储在存储器设备中,并且可以使用纠错码来检测和纠正从存储器设备读的数据中的错误。错误检测和纠正可以引起存储器访问等待时间的增加,其可以降低可以访问存储器设备的数据的速度。 附图说明 关于下图描述某些实施例: 图1是根据某些实现的包括存储器控制器和存储设备的示例系统的框图; 图2是根据某些实现的联机(inline)错误检测和纠正过程的流程图;以及 图3是根据进一步实现的示例系统的框图。 具体实施方式 随着存储器设备的尺寸继续收缩,存储器设备可能更易于遭受数据错误,其已导致在存储器设备中增加的数据错误率。存在可以被用在计算系统(例如台式计算机、笔记本计算机、平板计算机、智能电话、服务器计算机、存储系统、通信节点等等)中的各种不同类型的存储器设备。 存储器设备的示例包括动态随机访问存储器(DRAM)设备、闪速存储器设备、相变存储器设备、忆阻器存储器设备等等。忆阻器存储器设备可以使用忆阻器来存储数据,所述忆阻器基于每个单元的电阻水平存储数据。当足够大的电流以第一方向流经忆阻器时,忆阻器的电阻增加。当足够大的电流以相反的方向流经忆阻器时,忆阻器的电阻减小。当电流停止时,忆阻器保持其具有的最后的电阻,这提供由忆阻器存储的数据比特的表示。 相变存储器设备的存储器单元实际上还是可变电阻器。在某些情况下,可变电阻器可以由硫属化合物玻璃形成。为了向相变存储器单元写,加热单元,这熔化了材料,其然后被冷却。冷却的速率控制得到的固体材料的晶体大小,这控制存储器单元的电阻。不同的电阻水平可以表示不同的数据状态。 在某些情况下,数据错误率可以受如何执行写以将数据写到存储器设备的影响。例如,利用忆阻器存储器设备,电流流被用于将数据状态写到特定忆阻器。相对低的电流水平可以被用于写忆阻器以延长忆阻器的寿命。然而,使用相对低的电流水平来写到忆阻器可以导致较高的数据误码率。 存储器设备的其他类型也与可以导致增加的数据错误率的相应的因素相关联。 在某些系统中,可以在被用于管理存储器设备(或多个存储器设备)的访问的存储器控制器中执行错误检测和纠正。然而,在存储器控制器处执行错误检测和纠正可以增加存储器访问等待时间。当在存储器控制器处应用错误检测和纠正时,存储器控制器必须首先从存储器设备接收所读数据。在接收所有的所读数据(连同相应的纠错码)后,存储器控制器然后可以应用存储器错误检测和纠正,这涉及可以加到在从存储器设备向数据的请求者提供数据中涉及的总时间的计算。请求者可以是处理器或在计算系统中的其他设备。 根据某些实现,当通过在存储器设备和存储器控制器之间的数据链路递送从存储器设备读的数据时,提供联机错误检测和纠正技术或机制以执行在存储器设备内的数据的联机错误检测和纠正。在存储器设备内部的数据路径可以是并行路径,其中数据比特(连同对应于纠错码的比特)的集合(例如行)可以被并行读出。一旦并行地读,在通过在存储器设备和存储器控制器之间的链路传送所读数据的部分时,存储器设备就可以继续将错误检测和纠正应用在所读数据上。在存储器设备处的错误检测和纠正计算完成之前,可以将所读数据的部分从存储器设备提供到存储器控制器。因此,在未检测到错误的正常情况下,错误检测和纠正不增加数据访问等待时间。 图1示出了包括存储器设备102和存储器控制器104的示例布置。存储器设备102和存储器控制器104通过数据链路106连接。在某些示例中,数据链路106是诸如串行器(Serializer)/解串器(Deserializer)(SerDes)链路之类的串行链路。在其他示例中,数据链路106可以是不同类型的数据链路。 存储器设备102包括允许存储器设备102通过串行链路106通信的通信接口108。在某些实现中,通信接口108可以包括并行到串行转换器和串行到并行转换器以在(用在串行链路106上的)串行格式和(用在存储器设备102内的并行链路110上的)并行格式之间转换。并行链路110具有通过其可以并行传送数据比特的多个数据路径。相对地,串行链路106具有通过其串行传送数据比特的一个数据路径。 并行链路110被提供在存储阵列112和通信接口108之间。存储阵列112包括存储器单元的阵列,所述存储器单元可以是DRAM单元、闪速存储器单元、忆阻器单元、相变存储器单元等等,这取决于存储器设备102的类型。更一般地,存储器单元指用于存储数据比特(或多个数据比特)的电路。 并行链路110允许在相同时间从存储阵列112取回数据比特的集合(例如数据比特的行或数据比特的某些其他段)。例如,数据比特的集合可以包括所读数据以及纠错码(ECC)比特。一旦从存储阵列112并行地读,所读数据和ECC就在并行链路110上可用于错误检测和纠正逻辑114(在本文中被称作“ECC逻辑114”)。 而且,在并行链路110上的所读数据可以被提供到通信接口108,其中所读数据被转换成适合于通过链路106传送的格式。例如,如上文记录的那样,通信接口108可以应用并行到串行转换。 根据某些实现,在将所读数据从并行链路110通过通信接口108提供到串行链路106的时间期间,ECC逻辑114可以执行与所读数据上的错误检测和纠正相关的计算。可以被应用的错误检测和纠正技术的示例包括诸如Reed-SolomonECC技术的基于符号的ECC技术,或者诸如BCH技术的基于比特的ECC技术。尽管对示例ECC技术进行了引用,但是应注意在其他实现中,ECC逻辑114可以应用其他类型错误检测和纠正技术。 由ECC逻辑114执行的错误检测和纠正技术被视为联机错误检测和纠正技术,因为可以在通信接口108正在将从存储阵列112读的数据的部分通过串行链路106传送到存储器控制器104时执行错误检测和纠正。换言之,通信接口108能够在由在存储器设备102内的ECC逻辑114完成所读数据的错误检测和纠正之前将所读数据从存储器设备102的存储阵列112通过串行链路106传送到存储器控制器104。 通过使用ECC逻辑114执行联机错误检测和纠正,针对错误保护了从存储阵列112读的数据而不增加存储器访问时间。例如,如果存储器设备102在将所读数据从存储器设备102传送到存储器控制器104之前等待直到由ECC逻辑114完成错误检测和纠正,那么存储器访问等待时间将增加。 存储器设备102还包括数据访问逻辑116,其响应于经由通信接口108从存储器控制器104接收的命令以向存储阵列112发出相应的命令。从存储器控制器104接收的请求可以是读请求或写请求。 如果ECC逻辑114确定在从存储器设备102传送到存储器控制器104的所读数据中不存在错误,那么ECC逻辑114不需要采取任何进一步行动,因为所读数据已经被传送到存储器控制器104而没有错误。 然而,如果ECC逻辑114确定在被传送或已经被传送到存储器控制器104的所读数据中存在错误,那么ECC逻辑114可以将关于在传送的数据中的错误的存在的指示提供到存储器控制器104。该指示可以是读事务已经失败的指示。事务已经失败的指示可以是显式失败指示(例如被断言成指定状态的信号)。替代地,该指示可以通过使被用于保护通过串行链路106的通信的校验码“中毒”被隐含地传送到存储器控制器104。校验码的示例是循环冗余校验(CRC)码。为了保护通过串行链路106传送的数据,通信接口108可以产生CRC码,所述CRC码基于将通过串行链路106传送的数据的内容计算。然后可以通过串行链路106为CRC码提供实际数据。在存储器控制器104处,存储器控制器基于接收的数据重新生成CRC码,并且将重新生成的CRC码与接收的CRC码进行比较。如果CRC码匹配,那么这意味着通过串行链路106传送的数据是成功的。然而,如果CRC码不匹配,那么这是已经在串行链路106上发生数据通信错误的指示。使CRC码中毒指故意使CRC码错误或无效,使得响应于接收的数据在存储器控制器104处执行的CRC码比较将导致数据通信错误的确定。 一旦ECC逻辑114在数据中检测到错误,在某些实现中,假设数据错误是使用相关联的纠错码可纠正的类型,ECC逻辑114就可以纠正错误。例如,与数据比特的具体集合相关联的纠错码可以纠正多达n比特错误,其中n≥1。 在某些实现中,当存储器控制器104接收失败的事务的指示(如上文讨论的那样,或者显式指示或者隐式指示)时,存储器控制器104可以重试错误数据的读。响应于重试的读,通信接口108可以将(由ECC逻辑114纠正的)纠正的数据提供到存储器控制器104。 在替代的实现中,如果ECC逻辑114在数据中检测到可以被纠正的错误,则代替存储器控制器104响应于失败的读事务指示执行读重试,存储器设备102可以将ECC发送到存储器控制器104。在这样的实现中,ECC逻辑114不执行错误纠正—反而,由存储器控制器104执行错误纠正。 存储器控制器104可以使数据到请求者(例如处理器或其他请求者)的返回停止直到存储器控制器104已经完成数据的错误纠正。更进一步地,在这样的实现中,存储器控制器104可以通过将纠正的数据写回到存储器设备102来继续纠正存储在存储器设备102中的数据。 图2是根据某些实现的联机错误检测和纠正过程的流程图。例如,图2的过程可以由存储器设备102执行。在存储器设备102中,过程从在存储器设备102中的存储阵列112的存储器单元读(在202处)数据。所读数据通过串行链路106被传送(在204处)到存储器控制器104。当正在进行所读数据的传送时,在存储器设备102内部由ECC逻辑114执行(在206处)从存储器单元读的数据的错误检测。换言之,执行所读数据的错误检测与通过串行链路106传送所读数据同时发生。 图3是根据替代实现的示例系统300的框图。除存储器设备102和存储器控制器104之外,请求者301也存在于系统300中。请求者301能够发出数据请求(读请求或写请求),用于访问在存储器设备102中的数据。响应于来自请求者301的数据请求,存储器控制器104向存储器设备102发出相应的数据请求。 如在图3中进一步描绘的那样,在存储器设备102中的通信接口108包括缓冲器302和并-串转换器304。缓冲器302被用于临时存储将通过串行链路106被递送到存储器控制器104的、从存储阵列112读的数据。并-串转换器304在并行链路110上的并行格式和在串行链路106上的串行格式之间转换数据。 存储器控制器104包括错误处理逻辑306,其响应于来自存储器设备的失败的读事务指示308以执行错误处理过程。错误处理过程可以包括将读重试310发送到存储器设备102以执行数据读的重试。错误处理过程还可以替代地等待将从存储器设备102接收的纠错码以供在纠正接收的数据中使用。而且,错误处理过程可以包括执行将纠正的数据写回到存储器设备102。 通过使用根据某些实现的技术或机制,可以校验数据正确性而不增加访问时间等待时间,除了在其中错误发生的情况下,在所述情况下将增加额外的时间以执行数据处理过程以纠正数据错误。在某些实现中,当不存在数据错误时,不必将纠错码从存储器设备102提供到存储器控制器104。这可以减小通过串行链路106的数据带宽的消耗,因为在无错误情况下不必提供纠错码。 在前面的描述中,记载了许多细节以提供对本文公开的主题的理解。然而,可以在没有这些细节中的某些或全部的情况下实行实现。其他实现可以包括根据上文讨论的细节的修改和变型。意图所附权利要求书覆盖这样的修改和变型。
《具有错误纠正逻辑的存储器设备.pdf》由会员分享,可在线阅读,更多相关《具有错误纠正逻辑的存储器设备.pdf(10页珍藏版)》请在专利查询网上搜索。
从在存储器设备中的存储器单元读数据。所读数据通过链路被传送到在存储器设备外部的存储器控制器。当所读数据的传送正在进行时,使用纠错码在存储器设备内部执行所读数据的错误检测。 。
copyright@ 2017-2020 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1