平码五不中公式规律
  • / 23
  • 下载费用:30 金币  

在存储器与主机系统之间交换ECC元数据.pdf

关 键 ?#21097;?/dt>
存储器 主机 系统 之间 交换 ECC 数据
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
摘要
申请专利号:

CN201580045603.6

申请日:

2015.09.08

公开号:

CN106663045A

公开日:

2017.05.10

当前法律状态:

实审

有效性:

审中

法?#19978;?#24773;: 实质审查的生效IPC(主分类):G06F 11/10申请日:20150908|||公开
IPC分类号: G06F11/10 主分类号: G06F11/10
申请人: 英特尔公司
发明人: N.博宁; K.拜恩斯; J.哈尔伯特
地址: 美国加利福尼亚州
优?#28909;ǎ?/td> 2014.09.26 US 14/498657
专利代理机构: 中国专利代理(香港)有限公司 72001 代理人: 李雪娜;杜荔南
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201580045603.6

授权公告号:

|||

法律状态公告日:

2017.06.06|||2017.05.10

法律状态类型:

实质审查的生效|||公开

摘要

暴露来自存储器设备的内部错误校正位以作为元数据位供外部存储器控制器使用。在第一模式?#26657;?#23384;储器设备应用内部错误校正位以用于存储器设备处的内部错误校正。在第二模式?#26657;?#23384;储器设备向存储器控制器暴露内部错误校正位以允许存储器控制器使用该数据。

权利要求书

1.一种用于对接存储器设备和存储器控制器的方法,包括:
确定存储器设备处于第一模?#20132;?#26159;第二模式;以及
在第一模式?#26657;?#20165;在存储器设备处在内部应用内部错误校正位;以及
在第二模式?#26657;?#21521;外部存储器控制器暴露内部错误校正位作为元数据位以供外部存储
器控制器使用。
2.根据权利要求1所述的方法,其中向外部存储器控制器暴露内部错误校正位作为元
数据位包括为存储器控制器暴露内部错误校正位以与存储器设备交换非错误校正信息。
3.根据权利要求1至2中任一项所述的方法,其中向外部存储器控制器暴露内部错误校
正位作为元数据位包括为存储器控制器暴露内部错误校正位以校正错误而不是存储器设
备在内部校正错误。
4.根据权利要求3所述的方法,其中为存储器控制器暴露内部错误校正位以校正错误
进一步包括,在第二模式?#26657;?br />
响应于读取请求,在存储器设备处在内部生成内部错误校正位;以及
向存储器控制器发送内部错误校正位以供存储器控制器基于内部错误校正位而向数
据位应用错误校正。
5.根据权利要求3所述的方法,其中为存储器控制器暴露内部错误校正位以校正错误
进一步包括,在第二模式?#26657;?br />
结合写入请求而接收由存储器控制器计算的错误校正位;以及
在存储器设备处在内部存储错误校正位。
6.根据权利要求1至5中任一项所述的方法,其中为存储器控制器暴露内部错误校正位
包括在信号线上与存储器控制器交换内部错误校正位,所述信号线否则对于读取和写入是
?#25442;?#21160;的。
7.根据权利要求1至6中任一项所述的方法,其中为存储器控制器暴露内部错误校正位
进一步包括:
作为多个不同存储器设备之一,向存储器控制器暴露内部错误校正位,以增加可用于
存储器控制器的元数据位的数目。
8.一种与存储器子系统中的存储器控制器对接的存储器设备,包括:
存储数据的多个存储器单元;
内部错误校正硬件,其包括与存储器单元分离的存储内部错误校正位的储存器;以及
确定存储器设备处于第一模?#20132;?#26159;第二模式的逻辑,其中在第一模式?#26657;?#25152;述逻辑仅
用内部错误校正硬件在内部应用错误校正位,并且其中在第二模式?#26657;?#25152;述逻辑通过作为
元数据位向存储器控制器暴露内部错误校正位以供存储器控制器使用。
9.根据权利要求8所述的存储器设备,其中所述逻辑向存储器控制器暴露内部错误校
正位作为元数据位以供存储器控制器与存储器设备交换非错误校正信息。
10.根据权利要求8至9中任一项所述的存储器设备,其中所述逻辑向外部存储器控制
器暴露内部错误校正位作为元数据位以供存储器控制器校正错误而不是存储器设备在内
部校正错误。
11.根据权利要求10所述的存储器设备,其中所述逻辑为存储器控制器暴露内部错误
校正位以校正错误包括,错误校正逻辑响应于读取请求而生成内部错误校正位,并且所述
逻辑发送内部错误校正位以使存储器控制器基于内部错误校正位而向数据位应用错误校
正。
12.根据权利要求10所述的存储器设备,其中所述逻辑为存储器控制器暴露内部错误
校正位以校正错误包括,所述逻辑结合写入请求而接收由存储器控制器计算的错误校正
位,并且在与存储器单元分离的储存器中在内部存储错误校正位。
13.根据权利要求8至12中任一项所述的存储器设备,其中所述逻辑在信号线上与存储
器控制器交换内部错误校正位,所述信号线否则对于读取和写入是?#25442;?#21160;的。
14.一种具有存储器子系统的电子设备,包括:
存储器控制器;
与存储器控制器对接的存储器设备,存储器设备包括
存储数据的多个存储器单元;
内部错误校正硬件,其包括与存储器单元分离以存储内部错误校正位的储存器;以及
确定存储器设备处于第一模?#20132;?#26159;第二模式的逻辑,其中在第一模式?#26657;?#25152;述逻辑仅
用内部错误校正硬件在内部应用错误校正位,并且其中在第二模式?#26657;?#25152;述逻辑通过作为
元数据位向存储器控制器暴露内部错误校正位以供存储器控制器使用;以及
触摸?#26009;允?#22120;,其耦合成基于从存储器设备访问的数据而生?#19978;允尽?br />
15.根据权利要求14所述的电子设备,其中所述逻辑向存储器控制器暴露内部错误校
正位作为元数据位以供存储器控制器与存储器设备交换非错误校正信息。
16.根据权利要求14至15中任一项所述的电子设备,其中所述逻辑向外部存储器控制
器暴露内部错误校正位作为元数据位以供存储器控制器校正错误而不是存储器设备在内
部校正错误。
17.根据权利要求16所述的电子设备,其中所述逻辑为存储器控制器暴露内部错误校
正位以校正错误包括,错误校正逻辑响应于读取请求而生成内部错误校正位,并且所述逻
辑发送内部错误校正位以使存储器控制器基于内部错误校正位而向数据位应用错误校正。
18.根据权利要求16所述的电子设备,其中所述逻辑为存储器控制器暴露内部错误校
正位以校正错误包括,所述逻辑结合写入请求而接收由存储器控制器计算的错误校正位,
并且在与存储器单元分离的储存器中在内部存储错误校正位。
19.根据权利要求14至18中任一项所述的电子设备,其中所述逻辑在信号线上与存储
器控制器交换内部错误校正位,所述信号线否则对于读取和写入是?#25442;?#21160;的。
20.根据权利要求14至19中任一项所述的电子设备,其中存储器设备是与存储器控制
器对接的多个存储器设备之一,并且进一步包括,存储器控制器包括交换来自多个不同存
储器设备的内部错误校正位以增加可用于存储器控制器的元数据位的数目的逻辑。
21.一种制造品,包括具有存储在其?#31995;?#20869;容的计算机可读存储介?#21097;?#25152;述内容在被运
行时执行依照权利要求1至7中任一项的用于在存储器子系统中对接的方法。
22.一种用于在存储器子系统中对接的装置,包括用于执行运行依照权利要求1至7中
任一项的方法的操作的部件。

说明书

在存储器与主机系统之间交换ECC元数据

技术领域

本发明的实施例一般涉及存储器设备,并且更特别地涉及将内部错误校正位暴露
为元数据位的存储器。

版权通知/许可

本专利文档的公开内容的部分可能包含受到版权保护的某些材料。版权所有人对任何
人对如其在专利与商标局文件或记录中出现的专利文档或专利公开内容的再?#32622;?#26377;异议,
但是以其他方式在任何情况保留所有版权权利。版权通知适用于如以?#28388;?#25551;述的和在随附
于此的附图中的所有数据,以及以下描述的任何软件:Copyright ? 2014,Intel
Corporation,版权所有。

背景技术

计算设备使用存储器设备来存储数据和代码以供处理器运行其操作。随着存储器
设备在大小方面的减小和在密度方面的增加,它们在处理期间经历更多错误,称为良率问
题。因此,存储器设备经历越来越多的位?#25910;希?#29978;至在现代处理技术的情况下。为了减轻位
?#25910;希?#29616;代存储器提供内部错误校正机制,诸如ECC(错误校正码)。存储器设备在内部生成
ECC数据,并且在存储器设备处内部使用ECC数据。存储器设备内的内部错误校正可以附加
于使用在存储器设备与存储器控制器之间的数据交换中的无论什么系统范围的错误校正
或错误减轻。将理解到,存储器设备内的ECC的应用要求附加的逻辑以计算ECC和将其应用
于校正数据位。还将理解到,在存储器设备内部的ECC的应用要求在与存储器控制器或存储
器设备外部的其它组件交换数据时实时地计算和应用ECC。这样的实?#24065;?#27714;可以将延迟引
入数据交换中。

附图说明

以下描述包括具有通过本发明的实施例的实现的示例的方式给出的图示的附图
的讨论。附图应当通过示例的方式而非通过限制的方式来理解。如本文所使用的,对一个或
多个“实施例”的引用要被理解为描述包括在本发明的至少一个实现中的特定特征、结构
和/或特性。因此,在本文中出现的诸如“在一个实施例中”或“在可替换的实施例中”之类的
短语描述本发明的各种实施例和实现,并?#20063;?#19968;定全部是指相同的实施例。然而,它们也不
一定相互排斥。

图1是具有存储器设备的系统的实施例的框图,所述存储器设备可以暴露内部错
误校正位以供外部存储器控制器使用。

图2是具有存储器设备的系统的实施例的框图,所述存储器设备可以暴露内部错
误校正位以供外部存储器控制器使用。

图3是其中存储器控制器使来自多个存储器设备的内部错误校正位成群的系统的
实施例的框图。

图4是其中存储器控制器与存储器设备对接以用于元数据交换的系统和引脚分配
(pinout)表的实施例的框图。

图5是用于在存储器控制器与存储器设备之间对接以交换元数据的过程的实施例
的流程图。

图6是其中可以实现被暴露为元数据位的内部位的计算系统的实施例的框图。

图7是其中可以实现被暴露为元数据位的内部位的移动设备的实施例的框图。

以下是某些?#38468;?#21644;实现的描述,包括附图的描述,其可以描绘以下描述的实施例
中的一些或全部,以及讨论本文所提出的发明概念的其它潜在实施例或实现。

具体实施方式

如本文所描述的,存储器设备暴露内部错误校正位以供外部存储器控制器用作元
数据位。现代存储器设备设计(诸如DRAM(动态随机存取存储器)设计)使用内部错误校正以
补偿良率问题。在一个实施例?#26657;?#23384;储器设备可以暴露内部错误校正位以允许存储器控制
器执行错误校正。在一个实施例?#26657;?#23384;储器设备可以暴露内部错误校正位以允许存储器控
制器出于除了数据信号的错误校正之外的目的而将所述位用作元数据。在其中存储器控制
器利用内部错误校正位来执行错误校正的一个实施例?#26657;?#23384;储器设备可以每事务读取/写
入128位并且交换8位以用于错误校正。因此,存储器子系统可以使用136/128汉明码(每128
个数据位8个专用位)来提供单个错误校正(SEC)。在一个实施例?#26657;?#23384;储器子系统可以提供
附加的元数据位以用于错误校正,其可以提供执行SECDED(单个错误校正,双错误检测)所
需要的9位。

在一个实施例?#26657;?#23384;储器设备被配置成是双模态的。在第一模式?#26657;?#23384;储器设备在
存储器设备处应用内部错误校正位以用于内部错误校正。这样的模式将与存储器设备传统
上如何进行操作一致。在第二模式?#26657;?#23384;储器设备向存储器控制器暴露内部错误校正位以
允许存储器控制器使用该数据。因此,将理解到,在第二模式?#26657;?#23384;储器控制器是由内部错
误校正位表示的元数据的消费者。存储器设备和存储器控制器可以经由数个不同技术中的
任何一个来交换元数据。在一个实施例?#26657;?#23384;储器设备和存储器控制器经由数据交换?#31995;?br />额外的突发来交换元数据。这样的方?#38468;档?#31995;统带宽并且可能不是针?#36816;?#26377;实现的最佳
方案。在一个实施例?#26657;?#23384;储器设备和存储器控制器经由添加到存储器封装的额外引脚或
连接器来交换元数据。将理解到,这样的方案增加封装和其它制造成本,以及增加系统板上
的布线要求。在一个实施例?#26657;?#23384;储器设备和存储器控制器在重新目的化的现有引脚或连
接器上交换元数据。例如,系统可以在读取或写入操作期间未使用的信号线上发送数据。作
为另一示例,系统可以被配置?#19978;?#38500;特定功能以有利于使用元数据,并且因而重新目的化
可能在读取或写入操作期间使用的引脚。

在一个实施例?#26657;?#23384;储器子系统利用来自存储器设备的内部位在存储器控制器处
执行错误校正。这样的实现提供相对于在存储器设备内部的错误校正位的传统使用的某些
优点。例如,存储器控制器处的错误校正可以消除在存储器设备或DRAM自身内具有ECC逻辑
的需要。这样的实?#21482;?#20801;许存储器控制器执行错误校正计算,而不是存储器设备。存储器控
制器可以在使数据排成队以供写入之前以较缓慢的速度执行错误校正位计算,这?#26723;?#22312;写
入时的针对存储器设备的定?#24065;?#27714;。同样地,在读取时,存储器设备可以简单地访问和发送
错误校正位,存储器控制器可以使用比在存储器设备?#31995;?#22411;发现的更快的晶体管来计算该
错误校正位并且执行关于数据的错误校正,所述存储器设备否则将需要在发送数据之前执
行所述操作。

在本文中参照不同接口的存储器设备。将理解到,接口类型是指可以由存储器设
备驱动的数据信号线的数目。x16存储器设备是指具有16位宽数据I/O(输入/输出)接口的
设备。类似地,存储器设备可以具有x32接口或x64接口(分别是指具有32?#25442;?4位宽数据I/
O接口的设备)。其它常见存储器设备配置包括x8和x4设备。

对存储器设备的参照可以适用于不同存储器类型。存储器设备一般是指?#36164;?#24615;存
储器技术。?#36164;?#24615;存储器是如果去往设备的功率中断则其状态(以及因而存储在其?#31995;?#25968;
据)是不确定的存储器。非?#36164;?#24615;存储器或储存器保?#21046;?#29366;态,即便功率中断(经受长时间
段内的降级)。动态?#36164;?#24615;存储器要求刷新存储在设备中的数据以维持状态。动态?#36164;?#24615;存
储器的一个示例包括DRAM(动态随机存取存储器),或者?#25345;?#21464;型,诸如同步DRAM(SDRAM)。
如本文所描述的存储器子系统可以与数个存储器技术兼容,诸如DDR3(双数据速率版本3,
由JEDEC(联?#31995;?#23376;设备工程会议)在2007年6月27日原始发布,当前处于发行本21)、DDR4
(DDR版本4,在2012年9月由JEDEC公布的最初规范)、LPDDR3(低功率DDR版本3,JEDEC的
JESD209-3B,2013年8月)、LPDDR4(低功率双数据速?#21097;↙PDDR)版本4,JESD209-4,由JEDEC在
2014年8月原始公布)、WIO2(宽I/O 2(WideIO2)、JESD229-2,由JEDEC在2014年8月原始公
布)、HBM DRAM(高带宽存储器,JESD235,由JEDEC在2013年10月原始公布)和/或其它,以及
基于这样的规范的派生物或扩展的技术。

图1是具有存储器设备的系统的实施例的框图,所述存储器设备可以暴露内部错
误校正位以供外部存储器控制器使用。系统100包括计算设备中的存储器子系统的元件。主
机110表示运行操作系统(OS)和应用的主机计算平台。OS和应用运?#26800;?#33268;存储器访问的操
作。主机110包括处理器或处理单元,其可以是单核或多核处理器。系统100可以实现为SOC
或者利用独立组件实现。

存储器控制器112表示响应于由(一个或多个)处理器运行操作而生成存储器访问
命令的控制逻辑。在一个实施例?#26657;?#31995;统100包括多个存储器控制器。在一个实施例?#26657;?#31995;统
100包括?#23458;?#36947;一个或多个存储器控制器,其中一个通道耦合以访问数个存储器设备。每一
个通道是去往存储器的独立访问路径,因此,多个不同的存储器访问可以在不同通道上并
行发生。在一个实施例?#26657;?#23384;储器控制器112是主机110的部分,诸如实现在与主机处理器相
同的管芯或封装空间?#31995;?#36923;辑。

存储器设备120表示用于系统100的存储器资源。存储器设备120均包括多个存储
器阵列122。存储器阵列122表示其中存储器设备120存储数据位的逻辑。存储器设备120均
包括模式逻辑126。模式逻辑126可以是指存储器设备内存储配置设置的模式寄存器或其它
机制。在一个实施例?#26657;?#22312;模式逻辑126内设置用于特定存储器设备的实现。基于模式逻辑
126中的设置,存储器设备120可以被配置成关于错误校正在两个不同模式之一中操作。在
第一模式?#26657;?#23384;储器设备120基于?#38236;?#23384;储的错误校正位在内部应用错误校正。在内部应用
错误校正可以使得存储器设备120能够解决缩放问题,诸如刷?#38706;?#26102;、VRT(变量保留时间)
或其它缩放问题。在第二模式?#26657;?#23384;储器设备120向存储器控制器112暴露错误校正位。暴露
错误校正位可以是指允许存储器控制器122写入内部错误校正位和向存储器控制器112发
送内部错误校正位。

在一个实施例?#26657;?#23384;储器设备120包括ECC 124,其表示实现错误校正的逻辑和存
储器。因此,ECC 124表示存储器设备120生成和使用内部错误校正位的能力。如本文所描述
的,存储器设备120向存储器控制器112暴露ECC 124,诸如经由并联到在存储器控制器112
与存储器设备120之间共享的数据接口的接口。将理解到,ECC 124可以针对通过存储器控
制器112的存储器访问引入读取和写入等待时间。当存储器设备120仅经由ECC 124在内部
应用错误校正时,错误校正逻辑可以通过在飞行中计算和校正和/或通过推测性地使用错
误校正数据而引入读取等待时间。

在一个实施例?#26657;珽CC 124的错误校正逻辑可以在其中存储器控制器112计算和使
用错误校正位的模式期间是空闲的。在一个实施例?#26657;?#36825;样的模式是可用于存储器设备120
的仅有模式,并且存储器设备可以被设计和制造而没有内部错误校正逻辑,其否则将用于
计算ECC和/或执行错误校正。因此,在一个实施例?#26657;珽CC 124可以仅表示用于内部错误校
正位的储存器,以及与存储器控制器112交换这样的位所必要的逻辑,但是没有否则在内部
使用所述位的逻辑。

在一个实施例?#26657;?#23384;储器设备120包括双模态操作,其包括仅在内部使用ECC 124
的第一模式,和向存储器控制器112暴露ECC 124的第二模式。在第一模式?#26657;?#22312;写入期间,
存储器设备120可以接收或累积数据(例如128位),经由ECC 124在接收的位上生成ECC码,
并且写入数据和额外的位(例如8位)二者。在第二模式?#26657;?#22312;写入期间,存储器控制器112在
内部生成元数据并且将其连同数据一起发送至存储器设备120。如果元数据是ECC数据,则
控制器可以在将数据标记为对调度准备就绪之前离线计算ECC。写入数据不是等待时间敏
感的,并且因此这样的操作不招致性能损失。在第一模式?#26657;?#22312;读取期间,存储器设备120预
取数据(例如128位),并且生成针?#36816;?#39044;取的数据的ECC,比较所生成的ECC与所存储的ECC,
并且在向存储器控制器112发送数据之前利用ECC 124校正单个错误。在第二模式?#26657;?#22312;读
取期间,存储器设备120经由ECC 124访问ECC数据,并且将其作为元数据发送至存储器控制
器112。存储器控制器112在内部使用该元数据。如果元数据是ECC数据,则控制器在内部计
算ECC,将其与所接收到的ECC比较,并且相应地校正数据。如果元数据是非错误校正数据,
则存储器控制器112将该数据用于其他目的。

在一个实施例?#26657;?#26469;自存储器设备120的ECC 124的内部错误校正位可以提供在读
取-修改-写入(RMW)或部?#20013;?#20837;操作中的用途。在一个实施例?#26657;?#23384;储器设备120不需要在
内部执行RMW计算操作,但是RMW计算操作可以在向存储器设备102传送数据之前发生在存
储器控制器112内。在第一模式?#26657;?#23384;储器设备120将预取数据并且将其与部?#20013;?#20837;数据合
并。存储器设备120然后将经由ECC 124计算ECC并且将数据和ECC写入到(一个或多个)存储
器阵列122。在第二模式?#26657;?#23384;储器控制器112可以合并数据并且计算针?#36816;?#30340;ECC。可替换
地,存储器控制器112可以使ECC过时并且将其写有“非有效”值。

将理解到,多个存储器设备120可以连接到相同的存储器控制器112。系统100可以
包括连接到主机110的多个存储器控制器112(未具体示出)。在一个实施例?#26657;?#22312;存储器控
制器112与存储器设备120之间交换的元数据用于ECC。在这样的实?#31181;校?#23384;储器控制器112
可以包括ECC逻辑,并且?#23458;?#36947;操作逻辑一次以用于存储器访?#21097;?#32780;不是在每一个存储器设
备120中具有ECC逻辑的多个实例。

图2是具有存储器设备的系统的实施例的框图,所述存储器设备暴露内部错误校
正位以供外部存储器控制器用于错误校正。系统200可以是图1的系统100的一个示例。具体
地,系统200被配置成使存储器控制器210执行错误校正操作而不是使存储器设备220执行
所述操作。存储器控制器210表示控制对存储器设备220的存储器访问的逻辑。在一个实施
例?#26657;?#23384;储器控制器210包括ECC读取逻辑212和ECC写入逻辑214。

存储器设备220包括数据储存器222,其表示存储器设备220中的存储空间,其中存
储器设备写入从存储器控制器210接收到的数据并且访问所存储的数据以发送至存储器控
制器210。在一个实施例?#26657;?#23384;储器设备210包括ECC储存器224,其表示其中存储器设备220
存储ECC或其它错误校正数据的存储空间。ECC储存器224可以据说表示其中存储器设备220
存储内部错误校正位的位置。在一个实施例?#26657;珽CC储存器224是数据储存器222的部分,诸
如特殊指定的地址范围。在其中ECC储存器224是数据储存器222的部分的一个实施例?#26657;?#31995;
统可以增加页面大小以存储ECC数据。例如,系统可以将页面大小从1024?#32440;?#22686;加至1088字
节。在一个实施例?#26657;?#23384;储器设备220包括用于ECC储存器224的寄存器或一些其它的分离的
存储位置。

在一个实施例?#26657;?#23384;储器设备220包括ECC逻辑226。ECC逻辑226表示存储器设备用
于计算错误校正的逻辑。ECC逻辑226可以表示存储器设备内的逻辑,其控制从在存储器设
备220内在内部到在存储器控制器210处在外部应用错误校正。在一个实施例?#26657;?#23384;储器设
备220不包括ECC逻辑226,至少就执行ECC计算或其它操作的逻辑而言。存储器设备220包括
用于交换错误校正元数据的与存储器控制器210的接口,其可以包括连接器和控制接口的
逻辑。

对于读取存储器访问操作,ECC读取逻辑212使得存储器控制器210能够从ECC储存
器224接收内部错误校正位并且计算错误校正和校正从数据储存器222取回的数据中的错
误。因此,存储器控制器210可以利用存储在存储器设备220处的错误校正数据(内部错误校
正位)校正错误而不是使存储器设备执行错误校正。这样的操作可以改进读取等待时间。

对于写入存储器访问操作,ECC写入逻辑214使得存储器控制器210能够在存储器
控制器处计算错误校正数据并且向存储器设备220发送错误校正数据以供与该数据一起存
储。这样的操作可以改进写入等待时间。将理解到,“内部错误校正位”可以是指由存储器控
制器210计算的错误校正数据,因为其将与传统上用于内部错误校正的错误校正机制一起
存储在存储器设备220中。对于由ECC写入逻辑214计算的错误校正元数据,存储器设备220
将错误校正数据存储在ECC储存器224?#26657;?#24182;且取回它以用于对与写入操作相关联的相同存
储器位置的读取访问。对于部?#20013;?#20837;或RMW,ECC写入逻辑214使得存储器控制器210能够从
数据储存器222读取数据、修改数据、计算错误校正和写回具有适当的错误校正的数据。

图3是其中存储器控制器使来自多个存储器设备的内部错误校正位成群的系统的
实施例的框图。系统300可以是依照图1的系统100或图2的系统200的系统的一个示例。系统
300包括存储器控制器310,其控制针对存储器设备320的存储器访问操作。在一个实施例
?#26657;?#23384;储器设备320表示存储器队?#26657;╮ank)。将理解到,存储器队列是指并联成群在一起的
多个设备,其在存储器访问操作上被一起选择和访问。

每一个存储器设备320包括内部错误校正位322。依照本文所描述的任何实施例,
每一个存储器设备320可以向存储器控制器310暴露内部位322。在一个实施例?#26657;?#31995;统300
使多个存储器设备320的所有内部位322成群在一起。因此,系统300允许更多的数据位作为
元数据来交换。在使用用于ECC的元数据的情况下,使用来自多个存储器设备320的内部位
322可以提供更强的错误校正。存储器控制器310包括组合来自多个存储器设备320的内部
位322的元数据逻辑312。元数据逻辑312表示存储器控制器310中的逻辑(硬件和/或软件),
其使得存储器控制器310能够与存储器设备320发送和接收作为元数据的内部位322。在一
个实施例?#26657;?#20803;数据逻辑312组合来自多个存储器设备320的内部位以增加可用的元数据的
位数。

在其中存储器设备320执行内部错误校正的传统实?#31181;校?#23558;理解到,存储器设备
320将需要以高时钟速度预取数据并且执行错误校正操作。高时钟速度需要足以允许存储
器设备及时执行操作以在读取时向存储器控制器310发送数据或者在写入时存储数据。在
一个实施例?#26657;?#23384;储器设备320可以在向存储器控制器310暴露内部位322时以较缓慢的时
钟预取数据。此外,存储器控制器310的元数据逻辑312可以以较缓慢的时钟在元数据上操
作。

假定在一个示例中存储器设备320执行128位的数据的内部预取,而同时读取/写
入数据是64位。通过组合来自两个存储器设备320(两个不同高速缓存?#26657;?#30340;数据,存储器控
制器310可以交换128位的数据的完整带宽。在一个实施例?#26657;?#20803;数据逻辑312基于内部位
322而计算ECC,并且可以计算针对两个高速缓存行一起的ECC。对于x8设备,存储器控制器
310可以向两个存储器设备320中的每一个交换4位的元数据。

在一个实施例?#26657;?#20803;数据逻辑312在用于ECC的额外数据突发中传送元数据。在这
样的实?#31181;校?#23384;储器设备320可以在第一突发上传送读取元数据,并且元数据逻辑312可以
在最后突发上传送写入元数据。通过在第一突发上发送读取元数据并且在最后突发上发送
写入元数据,元数据逻辑312可以放松写入期间针对ECC的计算,并且在读取期间执行早期
检测。

图4是其中存储器控制器与存储器设备对接以用于元数据交换的系统和引脚分配
表的实施例的框图。系统400可以是依照图1的系统100、图2的系统200和/或图3的系统300
的系统的一个示例。存储器控制器410是依照本文所描述的任何实施例的存储器控制器。存
储器设备430是依照本文所描述的任何实施例的存储器设备。

存储器设备430包括内部位432,其表示存储和管理存储器设备430内的内部错误
校正机制的使用的储存器和/或逻辑。在一个实施例?#26657;?#23384;储器设备430向存储器控制器410
暴露内部位432,以使得存储器控制器能够将内部位用作元数据。存储器控制器410包括元
数据逻辑412,其表示使得存储器控制器410能够与存储器设备430交换内部位432的硬件
和/或软件。

存储器控制器410包括一个或多个硬件I/O接口组件,在存储器设备430处具有对
应I/O接口。例如,存储器控制器包括C/A(标记为CA)接口422,在存储器设备430处具有对应
C/A接口442。接口元件422和442表示命令/地址总线,存储器控制器410通过所述命令/地址
总线向存储器设备430发送命令,所述命令包括存储器访问命令。存储器控制器410包括DQ
接口424,在存储器设备430处具有对应DQ接口444。DQ接口424和444表示数据总线,存储器
控制器和存储器设备通过所述数据总线交换数据。在一个实施例?#26657;?#23384;储器控制器410包括
DM接口,在存储器设备430处具有对应DM接口446。DM接口426和446表示直接存储器接口。接
口(422至442、424至444和426至446)中的每一个可以被视为分离的I/O接口,或者可以被视
为设备之间的单个接口的部分。

在一个实施例?#26657;?#23384;储器控制器410和存储器设备430如下传送数据。存储器控制
器410通过CA接口422、442向存储器设备430发送存储器访问命令。存储器设备430接收和解
码命令。对于写入,存储器控制器410还发送要通过DQ接口424、444写入的数据。在一个实施
例?#26657;?#23384;储器控制器410还经由元数据逻辑412计算并且通过DM接口426、446与写入数据一
起发送元数据。存储器设备430接收写入数据和写入元数据,并且存储两个数据集合,(一个
或多个)存储器阵列中的DQ数据和作为内部位432的写入元数据。在一个实施例?#26657;?#20869;部位
432可以被存储为DQ数据旁边的(一个或多个)主存储器阵列的部分。在一个实施例?#26657;?#20869;部
位432可以实现为(一个或多个)单独的位。对于读取,存储器设备430接收和解码命令和地
址。存储器设备从(一个或多个)存储器阵列预取数据并且通过DQ接口444、424发送数据。存
储器设备430还访问内部位432并且通过DM接口446、426发送所述位作为读取元数据。

将理解到,其它引脚可以用于传送元数据。例如,DQ接口424、444可以包括用于传
送元数据的一个或多个附加引脚和信号线。在另一实施例?#26657;?#22312;存储器控制器410与存储器
设备430之间的接口中可以存在一个或多个其它引脚,其可以针对存储器设备430用于暴露
内部位432并且针对存储器控制器410用于访问内部位432。被选择传送元数据的接口可以
是否则对于读取或写入操作?#25442;?#21160;的引脚或信号线。引脚或信号线可以可替换地在读取或
写入期间服务不同目的并?#20918;?#37325;新目的化。

在一个实施例?#26657;?#23384;储器控制器410和存储器设备430可以此外或可替换地使用
DBI接口(未示出)以交换元数据。将理解到,数据交换发生在传送时段的突发内,所述传送
时段是特定读取/写入事务或操作的所有部分。元数据可以同样在具有数个不同选项中的
任何一个的突发中来发送。表格450说明针对存储器设备430的不同配置的传送选项。将理
解到,表格450是说明性而非限制性的。表格450具体地说明用于传送128位的数据和8位的
元数据的若干配置。例如,具有x16接口宽度与BL8的突发长度的配置、具有x32接口宽度与
BL4的突发长度的配置和具有x64接口宽度与BL2的突发长度的配置。

在一个实施例?#26657;?#23545;于x16配置,系统400可以通过单个引脚或连接器DM[x]传送元
数据位0至7。在这样的配置?#26657;?#19981;使用其它引脚DM[y, z, w]。在x16配置?#26657;?#31995;统400还可以
通过总共八个DM引脚的任何二进制组合传送元数据位。例如,系统400可以通过DM[x]传送
元数据位0至3和通过DM[y]传送元数据位4至7。在这样的示例?#26657;?#23558;理解到,引脚将不通过
最后四个突发来传送元数据,即便系统将通过那些突发传送数据。作为另一示例,系统400
可以通过DM[x]传送元数据位0和1,通过DM[y]传送2和3,通过DM[z]传送4和5,并且通过DM
[w]传送6和7。在八个DM引脚的情况下,将理解到,八个引脚中的每一个可以用于在单个突
发期间发送单个位。在这样的示例?#26657;?#21333;个突发可以是第?#25442;?#26368;后突发。

在x32配置?#26657;?#31995;统400可以依照类似的选项传送8个元数据位。在一个示例?#26657;?#31995;
统400可以通过DM[x]传送元数据位0至3并且通过DM[y]传送元数据位4至7。在这样的示例
?#26657;?#23558;理解到,引脚将不通过最后两个突发传送元数据。作为另一示例,系统400可以通过DM
[x]传送元数据位0和1,通过DM[y]传送2和3,通过DM[z]传送4和5,并且通过DM[w]传送6和
7,其中每一个引脚对于最后两个突发是空闲的。在x32配置?#26657;?#31995;统400还可以利用8个传送
信号线或引脚在单个突发中传送所有元数据位。类似地,在x64配置?#26657;?#31995;统400可以通过DM
[x]传送元数据位0和1,通过DM[y]传送2和3,通过DM[z]传送4和5,并且通过DM[w]传送6和
7。在x642配置?#26657;?#31995;统400还可以利用8个传送信号线或引脚在单个突发中传送所有元数据
位。

图5是用于在存储器控制器与存储器设备之间对接以针对不同带宽的总线来交换
数据的过程的实施例的流程图。过程500表示存储器设备通过其向存储器控制器暴露内部
错误校正位和/或存储器控制器访问存储器设备的内部错误校正位的过程中的操作。在一
个实施例?#26657;?#23384;储器设备可以是双模态的,并且系统确定存储器设备处于第?#25442;?#26159;第二模
式?#26657;?02。在一个实施例?#26657;?#23384;储器设备被设计或配置成具有总是暴露内部错误校正位的
单个模式。

如果存储器设备处于第一模式,504第一分支,则存储器设备生成内部错误校正
位,506,并且在内部使用内部错误校正位,508。因此,存储器设备并不向外部存储器控制器
暴露内部错误校正位。如果存储器设备处于第二模式,504第二分支,则存储器设备暴露内
部错误校正位以供存储器控制器使用,510。

存储器控制器生成和发送与通过主机的操作有关的存储器访问命令,512。存储器
设备接收和解码存储器访问命令,514。如果所述命令是读取,516读取分支,则存储器设备
读取内部错误校正位并且提取由命令指示的数据,518。存储器设备将作为元数据的内部错
误校正位与数据一起发送到存储器控制器,520。如以上所讨论的,存在存储器设备可以以
其向存储器控制器传送元数据位的多个不同方式。与存储器设备将所述位用于内部错误校
正相比,存储器控制器在更低的时间约束下使用元数据,522。

如果所述命令是写入,516写入分支,则存储器控制器生成元数据位并且将元数据
与数据一起发送到存储器设备,524。同样,存在存储器控制器可以以其向存储器设备传送
元数据的许多不同方式。存储器设备写入数据并且存储和/或解码从存储器控制器接收到
的元数据,526。在读取或写入的任一情况下,元数据可以用于在存储器控制器而不是存储
器设备处的错误校正的目的和/或可以用于非错误校正目的。

参照存储器控制器和存储器设备来描述过程500。如以上所讨论的,在一个实施例
?#26657;?#23384;储器设备可以是耦?#31995;?#23384;储器控制器的多个存储器设备之一。多个存储器设备可以
并联耦?#31995;?#23384;储器控制器,并且存储器控制器组合来自多个不同设备的元数据。在组?#31995;?br />情?#25345;校?#23384;储器控制器可以将来自一个存储器设备的元数据视为所计算的总的元数据位的
一部分。例如,存储器控制器可以生成作为错误校正或其它元数据的多于八位的元数据,并
且存储和?#30828;?#32852;耦?#31995;?#22810;个存储器设备(诸如在存储器队列?#26657;?#21462;回元数据。在这样的实现
?#26657;?#36807;程500中的通过存储器控制器的操作将包括与更多设备交换的元数据。在过程500中
的通过存储器设备的操作可以由多个存储器设备执行。

图6是其中可以实现对接到不同带宽的数据总线的公?#34917;?#33455;的计算系统的实施例
的框图。系统600表示依照本文所描述的任何实施例的计算设备,并且可以是膝上型计算
机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、?#20174;?#26426;、打印机、路由或交换设备或
其它电子设备。系统600包括处理器620,其提供针对系统600的处理、操作管理和对指令的
运行。处理器620可以包括任何类型的微处理器、中央处理单元(CPU)、处理核或其它处理硬
件以提供针对系统600的处理。处理器620控制系统600的总体操作,并且可以是或包括,一
个或多个可编程通用或专用微处理器、数?#20013;?#21495;处理器(DSP)、可编程控制器、专用集成电
路(ASIC)、可编程逻辑器件(PLD)等,或者这样的设备的组合。

存储器子系统630表示系统600的主存储器,并且提供针对要由处理器620执行的
代码或要在运行例程中使用的数据值的临时存储。存储器子系统630可以包括一个或多个
存储器设备,诸如只读存储器(ROM)、?#20102;?#23384;储器、一个或多个种类的随机存取存储器(RAM)
或其它存储器设备或这样的设备的组合。除其它之外,存储器子系统630尤其存储和主控操
作系统(OS)636以提供用于在系统600中运行指令的软件平台。此外,存储并?#20197;?#34892;来自存
储器子系统630的其它指令638以提供系统600的逻辑和处理。OS 636和指令638由处理器
620运行。存储器子系统730包括存储器设备632,其中它存储数据、指令、程序或其它项目。
在一个实施例?#26657;?#23384;储器子系统包括存储器控制器634,其是生成命令和向存储器设备632
发布命令的存储器控制器。将理解到,存储器控制器634可以是处理器620的物理部分。

处理器620和存储器子系统630耦?#31995;?#24635;线/总线系统610。总线610是表示通过适
当的桥接器、适配器和/或控制器连接的任何一个或多个分离的物理总线、通信线路/接口
和/或点对点连接的抽象。因此,总线610可以包括例如以下中的一个或多个:系统总线、外
围组件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总
线、通用串行总线(USB)或电气和电子工程师(IEEE)协会标准1394总线(通常称为“火线?#20445;?br />总线610的总线还可以对应于网络接口650中的接口。

系统600还包括耦?#31995;?#24635;线610的一个或多个输入/输出(I/O)接口640、网络接口
650、一个或多个内部大容量存储设备660和外围接口670。I/O接口640可以包括一个或多个
接口组件,用户通过所述一个或多个接口组件与系统600交互(例如视频、音频和/或字母数
字对接)。在一个实施例?#26657;琁/O接口640可以包括向用户提供输出的高清晰度(HD)?#20801;?#22120;。
高清晰度可以是指具有近似100PPI(像素每英寸)或更大的像素密度的?#20801;荊?#24182;且可以包括
诸如全HD(例如1080P)、视网膜?#20801;尽?K(超高清晰度或UHD)或其它之类的格式。高清晰度还
可以是指具有与像素?#20801;?#22120;相当的视觉质量的?#38431;?#30340;?#20801;荊?#20363;如头部安装的?#20801;?#22120;)。网络
接口650为系统600提供通过一个或多个网络与远程设备(例如服务器、其它计算设备)通信
的能力。网络接口650可以包括以太网适配器、无线互连组件、USB(通用串行总线)或其它基
于有线或无线标准的或专有的接口。

储存器660可以是或包括用于以非?#36164;?#24615;方式存储大量数据的任何常规的介?#21097;?br />诸如一个或多个磁性、固态或基于光学的盘或组合。储存器660以持久性状态保存代码或指
令和数据662(即尽管到系统600的功率中断也保留值)。储存器660可以一般地被视为“存储
器?#20445;?#23613;管存储器630是向处理器620提供指令的运行或操作存储器。存储器630可以包括易
失性存储器(即如果到系统600的功率中断则数据的值或状态是不确定的),而储存器660是
非?#36164;?#24615;的。

外围接口670可以包括以上未具体提到的任何硬件接口。外设一般是指独立连接
到系统600的设备。从属连接是这样的连接,在该连接中系统600提供其上运行操作并且用
户与其进行交互的软件和/或硬件平台。

在一个实施例?#26657;?#31995;统600包括元数据逻辑680,其使得存储器设备632和存储器控
制器634能够在读取或写入事务期间交换元数据。存储器设备632向存储器控制器634暴露
内部错误校正位。在一个实施例?#26657;?#23384;储器控制器634生成和消费元数据,所述元数据存储
在存储器设备632中。内部错误校正位可以由存储器控制器用于在?#26723;?#30340;定时约束下在存
储器控制器处的错误校正。存储器控制器还可以或可替换地将元数据用于除错误校正之外
的某事。存储器子系统630可以包括多个存储器设备632,其可以并联耦?#31995;?#23384;储器控制器
634以允许对更多的元数据位的存储器控制器访问。

图7是其中可以实现对接到不同带宽的数据总线的公?#34917;?#33455;的移动设备的实施例
的框图。设备700表示移动计算设备,诸如计算平板电脑、移动电话或智能电话、启用无线使
的电子阅读器、可穿戴计算设备或其它移动设备。将理解到,一般地示出某些组件,并且在
设备700中未示出这样的设备的所有组件。

设备700可以包括处理器710,其执行设备700的主要处理操作。处理器710可以包
括一个或多个物理设备,诸如微处理器、应用处理器、微控制器、可编程逻辑器件或其它处
理部件。由处理器710执行的处理操作包括其上运行应用和/或设备功能的操作平台或操作
系统的运行。处理操作包括涉及与人类用户或与其它设备的I/O(输入/输出)的操作、涉及
功?#20351;?#29702;的操作和/或涉及将设备700连接到另一设备的操作。处理操作还可以包括涉及音
频I/O和/或?#20801;綢/O的操作。

在一个实施例?#26657;?#35774;备700包括音频子系统720,其表示与向计算设备提供音频功
能相关联的硬件(例如音频硬件和音频电路)和软件(例如驱动器、编解码器)组件。音频功
能可以包括扬声器和/或耳机输出,以及麦克风输入。用于这样的功能的设备可以集成到设
备700?#26657;?#25110;者连接到设备700。在一个实施例?#26657;?#29992;户通过提供由处理器710接收和处理的
音频命令来与设备700交互。

?#20801;?#23376;系统730表示针对用户提供与计算设备交互的视觉和/或触觉?#20801;?#30340;硬件
(例如?#20801;?#35774;备)和软件(例如驱动器)组件。?#20801;?#23376;系统730包括?#20801;?#25509;口732,其包括用于
向用户提供?#20801;?#30340;特定屏?#25442;?#30828;件设备。在一个实施例?#26657;允?#25509;口732包括与处理器710
分离以执行涉及?#20801;?#30340;至少一些处理的逻辑。在一个实施例?#26657;允?#23376;系统730包括向用户
提供输出和输入二者的触摸屏设备。在一个实施例?#26657;允?#23376;系统730包括向用户提供输出
的高清晰度(HD)?#20801;?#22120;。高清晰度可以是指具有近似100 PPI(像素每英寸)或更大的像素
密度的?#20801;荊?#24182;且可以包括诸如全HD(例如1080P)、视网膜?#20801;尽?K(超高清晰度或UHD)或其
它之类的格式。

I/O控制器740表示涉及与用户的交互的硬件设备和软件组件。I/O控制器740可以
操作成管理作为音频子系统720和/或?#20801;?#23376;系统730的部分的硬件。此外,I/O控制器740说
明用于连接到设备700的附加设备的连接点,用户通过其可以与系统交互。例如,可以附连
到设备700的设备可以包括麦克风设备、扬声器或立体声系统、视频系统或其它?#20801;?#35774;备、
键盘或小键盘设备或供特定应用使用的其它I/O设备,诸如读卡器或其它设备。

如以上所提到的,I/O控制器740可以与音频子系统720和/或?#20801;?#23376;系统730交互。
例如,通过麦克风或其它音频设备的输入可以提供用于设备700的一个或多个应用或功能
的输入或命令。此外,可以取代于或附加于?#20801;?#36755;出而提供音频输出。在另一示例?#26657;?#22914;果
?#20801;?#23376;系统包括触摸屏,则?#20801;?#35774;备还充当输入设备,其可以至少部分地由I/O控制器740
来管理。还可以存在设备700?#31995;?#38468;加?#30913;?#25110;开关以提供由I/O控制器740管理的I/O功能。

在一个实施例?#26657;琁/O控制器740管理诸如加速度计、摄像机、光传感器或其它环境
传感器、陀螺仪、全球定位系统(GPS)或可以包括在设备700中的其它硬件之类的设备。输入
可以是直接用户交互的部分,以及向系统提供环境输入以影响其操作(诸如对噪声过滤、调
节?#20801;?#22120;以用于亮度检测、应用摄像机的闪光灯或其它特征)。在一个实施例?#26657;?#35774;备700包
括功?#20351;?#29702;750,其管理电池功率使用、电池的充电和涉及功?#24335;?#32422;操作的特征。

存储器子系统760包括用于在设备700中存储信息的(一个或多个)存储器设备
762。存储器子系统760可以包括非?#36164;?#24615;(如果到存储器设备的功率中断,状态不改变)和/
或?#36164;?#24615;(如果到存储器设备的供电中断,状态不确定)存储器设备。存储器760可以存储应
用数据、用户数据、音乐、照片、文档或其它数据,以及涉及系统700的应用和功能的运行的
系统数据(无论长期还是临时)。在一个实施例?#26657;?#23384;储器子系统760包括存储器控制器764
(其还可以被视为系统700的控制的部分,并且可以潜在地被视为处理器710的部分)。存储
器控制器764包括生成命令和向存储器设备762发布命令的调度器。

连?#26377;?70包括使得设备700能够与外部设备通信的硬件设备(例如无线和/或有
线连接器和通信硬件)和软件组件(例如驱动器、协议栈)。设备可以是分离的设备,诸如其
它计算设备、无线接入点或基站以及诸如耳机、打印机或其它设备之类的外设。

连?#26377;?70可以包括多个不同类型的连?#26377;浴?#20026;了一般化,设备700被图示有蜂窝
连?#26377;?72和无线连?#26377;?74。蜂窝连?#26377;?72一般是指由无线运营商提供的蜂窝网络连接
性,诸如经由GSM(全球移动通信系统)或变型或派生物、CDMA(码分多址)或变型或派生物、
TDM(时分复用)或变型或派生物、LTE(长期演进——还称为“4G?#20445;?#25110;其它蜂窝服务标准来提
供。无线连?#26377;?74是指不是蜂窝的无线连?#26377;裕?#24182;且可以包括个域网(诸如蓝牙)、局域网
(诸如WiFi)和/或广域网(诸如WiMax)或其它无线通信。无线通信是指通过使用借由非固体
介质的经调制电磁辐射来传送数据。有线通信通过固体通信介质发生。

外围连接780包括硬件接口和连接器,以及做出外围连接的软件组件(例如驱动
器、协议栈)。将理解到,设备700可以既是到其它计算设备的外围设备(“去往”782)又是具
有连接到它的外围设备(“来自”784)。设备700通常具有“坞接”连接器以连接到其它计算设
备以用于诸如管理(例如下载和/或上传、改变、同步)设备700?#31995;?#20869;容之类的目的。此外,
坞接连接器可以允许设备700连接到某些外设,其允许设备700控制例如到影音或其它系统
的内容输出。

除了专有坞接连接器或其它专有连接硬件之外,设备700还可以经由常见或基于
标准的连接器做出外围连接780。常见类型可以包括通用串行总线(USB)连接器(其可以包
括数个不同的硬件接口中的任何一个)、包括MiniDisplayPort(MDP)的DisplayPort、高清
晰度多媒体接口(HDMI)、火线或其它类型。

在一个实施例?#26657;?#31995;统700包括元数据逻辑766,其使得存储器设备762和存储器控
制器764能够在读取或写入事务期间交换元数据。存储器设备762向存储器控制器764暴露
内部错误校正位。在一个实施例?#26657;?#23384;储器控制器764生成和消费元数据,所述元数据存储
在存储器设备762中。内部错误校正位可以由存储器控制器用于在?#26723;?#30340;定时约束下在存
储器控制器处的错误校正。存储器控制器还可以或可替换地将元数据用于除错误校正之外
的某事。存储器子系统760可以包括多个存储器设备762,其可以并联耦?#31995;?#23384;储器控制器
764以允许对更多的元数据位的存储器控制器访问。

在一个方面?#26657;?#19968;种用于对接存储器设备和存储器控制器的方法包括:确定存储
器设备处于第一模?#20132;?#26159;第二模式;以及在第一模式?#26657;?#20165;在存储器设备处在内部应用内
部错误校正位;以及在第二模式?#26657;?#21521;外部存储器控制器暴露内部错误校正位作为元数据
位以供外部存储器控制器使用。

在一个实施例?#26657;?#21521;外部存储器控制器暴露内部错误校正位作为元数据位包括为
存储器控制器暴露内部错误校正位以与存储器设备交换非错误校正信息。在一个实施例
?#26657;?#21521;外部存储器控制器暴露内部错误校正位作为元数据位包括为存储器控制器暴露内部
错误校正位以校正错误而不是存储器设备在内部校正错误。在一个实施例?#26657;?#20026;存储器控
制器暴露内部错误校正位以校正错误进一步包括,在第二模式?#26657;?#21709;应于读取请求,在存储
器设备处在内部生成内部错误校正位;以及向存储器控制器发送内部错误校正位以供存储
器控制器基于内部错误校正位向数据位应用错误校正。在一个实施例?#26657;?#20026;存储器控制器
暴露内部错误校正位以校正错误进一步包括,在第二模式?#26657;?#32467;合写入请求而接收由存储
器控制器计算的错误校正位;以及在存储器设备处在内部存储错误校正位。在一个实施例
?#26657;?#20026;存储器控制器暴露内部错误校正位包括在信号线上与存储器控制器交换内部错误校
正位,所述信号线否则对于读取和写入是?#25442;?#21160;的。在一个实施例?#26657;?#20026;存储器控制器暴露
内部错误校正位进一步包括:作为多个不同存储器设备之一,向存储器控制器暴露内部错
误校正位,以增加可用于存储器控制器的元数据位的数目。

在一个方面?#26657;?#19968;种与存储器子系统中的存储器控制器对接的存储器设备包括:
存储数据的多个存储器单元;内部错误校正硬件,包括与存储器单元分离的存储内部错误
校正位的储存器;以及确定存储器设备处于第一模?#20132;?#26159;第二模式的逻辑,其中在第一模
式?#26657;?#36923;辑仅用内部错误校正硬件在内部应用错误校正位,并且其中在第二模式?#26657;?#36923;辑通
过作为元数据位向存储器控制器暴露内部错误校正位以供存储器控制器使用。

在一个实施例?#26657;?#25152;述逻辑向存储器控制器暴露内部错误校正位作为元数据位以
供存储器控制器与存储器设备交换非错误校正信息。在一个实施例?#26657;?#25152;述逻辑向外部存
储器控制器暴露内部错误校正位作为元数据位以供存储器控制器校正错误而不是存储器
设备在内部校正错误。在一个实施例?#26657;?#25152;述逻辑暴露内部错误校正位以供存储器控制器
校正错误包括,错误校正逻辑响应于读取请求而生成内部错误校正位,并且所述逻辑发送
内部错误校正位以使存储器控制器基于内部错误校正位而向数据位应用错误校正。在一个
实施例?#26657;?#25152;述逻辑暴露内部错误校正位以供存储器控制器校正错误包括,所述逻辑结合
写入请求而接收由存储器控制器计算的错误校正位,并且在与存储器单元分离的储存器中
在内部存储错误校正位。在一个实施例?#26657;?#25152;述逻辑在信号线上与存储器控制器交换内部
错误校正位,所述信号线否则对于读取和写入是?#25442;?#21160;的。

在一个方面?#26657;?#19968;种具有存储器子系统的电子设备包括:存储器控制器;与存储器
控制器对接的存储器设备,存储器设备包括存储数据的多个存储器单元;内部错误校正硬
件,包括与存储器单元分离以存储内部错误校正位的储存器;以及确定存储器设备处于第
一模?#20132;?#26159;第二模式的逻辑,其中在第一模式?#26657;?#25152;述逻辑仅用内部错误校正硬件在内部
应用错误校正位,并且其中在第二模式?#26657;?#25152;述逻辑通过作为元数据位而向存储器控制器
暴露内部错误校正位以供存储器控制器使用;以及触摸?#26009;允?#22120;,其耦合成基于从存储器
设备访问的数据而生?#19978;允尽?br />

在一个实施例?#26657;?#25152;述逻辑向存储器控制器暴露内部错误校正位作为元数据位以
供存储器控制器与存储器设备交换非错误校正信息。在一个实施例?#26657;?#25152;述逻辑向外部存
储器控制器暴露内部错误校正位作为元数据位以供存储器控制器校正错误而不是存储器
设备在内部校正错误。在一个实施例?#26657;?#25152;述逻辑暴露内部错误校正位以供存储器控制器
校正错误包括,错误校正逻辑响应于读取请求而生成内部错误校正位,并且所述逻辑发送
内部错误校正位以使存储器控制器基于内部错误校正位而向数据位应用错误校正。在一个
实施例?#26657;?#25152;述逻辑暴露内部错误校正位以供存储器控制器校正错误包括,所述逻辑结合
写入请求而接收由存储器控制器计算的错误校正位,并且在与存储器单元分离的储存器中
在内部存储错误校正位。在一个实施例?#26657;?#25152;述逻辑在信号线上与存储器控制器交换内部
错误校正位,所述信号线否则对于读取和写入是?#25442;?#21160;的。在一个实施例?#26657;?#23384;储器设备是
与存储器控制器对接的多个存储器设备之一,并且进一步包括,存储器控制器包括交换来
自多个不同存储器设备的内部错误校正位以增加可用于存储器控制器的元数据位的数目
的逻辑。

在一个方面?#26657;?#19968;种包括具有存储在其?#31995;?#20869;容的计算机可读存储介质的制造
品,所述内容在被运行时执行用于在存储器子系统中对接的操作,包括:确定存储器设备处
于第一模?#20132;?#26159;第二模式;以及在第一模式?#26657;?#20165;在存储器设备处在内部应用内部错误校
正位;以及在第二模式?#26657;?#21521;外部存储器控制器暴露内部错误校正位作为元数据位以供外
部存储器控制器使用。

在一个实施例?#26657;?#29992;于向外部存储器控制器暴露内部错误校正位作为元数据位的
内容包括用于为存储器控制器暴露内部错误校正位以与存储器设备交换非错误校正信息
的内容。在一个实施例?#26657;?#29992;于向外部存储器控制器暴露内部错误校正位作为元数据位的
内容包括用于为存储器控制器暴露内部错误校正位以校正错误而不是存储器设备在内部
校正错误的内容。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位以校正错误
的内容进一步包括,在第二模式?#26657;?#29992;于以下的内容:响应于读取请求而在存储器设备处在
内部生成内部错误校正位;并且向存储器控制器发送内部错误校正位以供存储器控制器基
于内部错误校正位向数据位应用错误校正。在一个实施例?#26657;?#29992;于为存储器控制器暴露内
部错误校正位以校正错误的内容进一步包括,在第二模式?#26657;?#29992;于以下的内容:结合写入请
求而接收由存储器控制器计算的错误校正位;并且在存储器设备处在内部存储错误校正
位。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位的内容包括用于在信号线
上与存储器控制器交换内部错误校正位的内容,所述信号线否则对于读取和写入是?#25442;?#21160;
的。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位的内容进一步包括用于作
为多个不同存储器设备之一向存储器控制器暴露内部错误校正位以增加可用于存储器控
制器的元数据位的数目的内容。

在一个方面?#26657;?#19968;种与存储器子系统中的存储器控制器对接的装置包括:用于确
定存储器设备处于第一模?#20132;?#26159;第二模式的部件;以及用于在第一模式中仅在存储器设备
处在内部应用内部错误校正位的部件;以及用于在第二模式中向外部存储器控制器暴露内
部错误校正位作为元数据位以供外部存储器控制器使用的部件。

在一个实施例?#26657;?#29992;于向外部存储器控制器暴露内部错误校正位作为元数据位的
部件包括用于为存储器控制器暴露内部错误校正位以与存储器设备交换非错误校正信息
的部件。在一个实施例?#26657;?#29992;于向外部存储器控制器暴露内部错误校正位作为元数据位的
部件包括用于为存储器控制器暴露内部错误校正位以校正错误而不是存储器设备在内部
校正错误的部件。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位以校正错误
的部件进一步包括,在第二模式?#26657;?#29992;于以下的部件:响应于读取请求而在存储器设备处在
内部生成内部错误校正位;并且向存储器控制器发送内部错误校正位以供存储器控制器基
于内部错误校正位而向数据位应用错误校正。在一个实施例?#26657;?#29992;于为存储器控制器暴露
内部错误校正位以校正错误的部件进一步包括,在第二模式?#26657;?#29992;于以下的部件:结合写入
请求而接收由存储器控制器计算的错误校正位;并且在存储器设备处在内部存储错误校正
位。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位的部件包括用于在信号线
上与存储器控制器交换内部错误校正位的部件,所述信号线否则对于读取和写入是?#25442;?#21160;
的。在一个实施例?#26657;?#29992;于为存储器控制器暴露内部错误校正位的部件进一步包括用于作
为多个不同存储器设备之一向存储器控制器暴露内部错误校正位以增加可用于存储器控
制器的元数据位的数目的部件。

如本文所图示的流程图提供各种过程动作的序列的示例。流程图可以指示要由软
件或固件例程运行的操作,以及物理操作。在一个实施例?#26657;?#27969;程图可以图示有限状态机
(FSM)的状态,所述有限状态机可以以硬件和/或软件来实现。尽管以特定顺序或次序示出,
但是除非另行指定,否则可以修改动作的次序。因此,所图示的实施例应当仅被理解为示
例,并且过程可以以不同的次序执?#26657;?#24182;且一些动作可以并行执行。此外,可以在各种实施
例中省略一个或多个动作;因此,并非所有动作在每一个实施例中都是所必需的。其它过程
流是可能的。

在本文描述各种操作或功能的程度上,它们可以被描述或定义为软件代码、指令、
配置和/或数据。内容可以是可直接执行的(“对象”或“可执行”形式)、源代码或差异代码
(“增量(delta)”或“补丁”代码)。本文所描述的实施例的软件内容可以经由具有存储在其
?#31995;?#20869;容的制造品来提供,或者经由操作通信接口以经由通信接口发送数据的方法来提
供。机器可读存储介质可以使机器执行所描述的功能或操作,并且包括以可由机器(例如计
算设备、电子系统等)访问的形式存储信息的任何机构,诸如可记录/非可记录介?#21097;?#20363;如只
读存储器(ROM)、随机存取存储器(RAM)、?#25490;?#23384;储介质、光学存储介质、?#20102;?#23384;储器设备
等)。通信接口包括对接到任何硬连线、无线、光学等介质以向另一设备进行通信的任何机
构,诸如存储器总线接口、处理器总线接口、因特网连接、盘控制器?#21462;?#36890;信接口可以通过提
供配置参数和/或发送信号来进?#20449;?#32622;以使通信接口准备好提供描述软件内容的数据信
号。通信接口可以经由发送至通信接口的一个或多个命令或信号来访问。

本文所描述的各种组件可以是用于执行所描述的操作或功能的部件。本文所描述
的每一个组件包括软件、硬件或这些的组合。组件可以实现为软件模块、硬件模块、特殊目
的硬件(例如专用硬件、专用集成电路(ASIC)、数?#20013;?#21495;处理器(DSP)等)、?#24230;?#24335;控制器、硬
连线电路?#21462;?br />

除了本文所描述的之外,可以在不脱离其范围的情况?#38706;?#26412;发明的所公开的实施
例和实现做出各?#20013;?#25913;。因此,本文中的说明和示例应当以说明性而非限制性含义来解释。
本发明的范围应当仅通过参考随附权利要求来衡量。

关于本文
本文标题:在存储器与主机系统之间交换ECC元数据.pdf
链接地址:http://www.pqiex.tw/p-6091844.html
关于我们 - 网站声明 - 网?#38236;?#22270; - 资源地图 - 友情链接 - 网站客服 - 联系我们

[email protected] 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
平码五不中公式规律 江西快三走势图一定牜 扶贫软件下载 广西快三官网开奖 港彩资料6码爆庄 3d捕鱼达人直播 经网新时时杀号 玻璃水 赚钱吗 和值大小的计算公式 日赚50农场游戏 黑龙江时时550