在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统的制作方法

文档序号:6578644阅读:162来源:国知局
专利名称:在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统的制作方法
技术领域
本发明的实施例一般涉及集成电路领域,尤其涉及在具有共享错误位 码的共同帧中传送数据和数据屏蔽位的系统、方法和装置。
背景技术
存储系统可以使用半写命令来表明所传送的数据中的至少一些将要被 屏蔽。实现半写的常规方法包括专用数据屏蔽引脚的使用。例如,系统可
以包括针对数据的每一个字节通道的专用数据屏蔽引脚。因此,xl6宽的设 备典型地包含两个专用数据屏蔽引脚。该数据屏蔽引脚典型地被固定在与 数据信号相同的频率。在许多情况下,x4设备不支持数据屏蔽,因为它们 主要应用于具有错误校正码(ECC)并且执行"读-修改-写"操作的服务器中。 此外,存储系统中信息的传送速率持续增加。这些更快的传送速率要 求使用改进的错误覆盖机制。改进错误覆盖的常规方法包括向通道添加弓I 脚。在现代的存储系统中,动态随机存取存储器(DRAM)通道是有引脚 约束的。因而,用于改进错误覆盖的常规方》去对于现代的存储系统是不适 用的。


在附图的图中以示例而非限制的方式说明了本发明的实施例,图中相 似的参考标记指代相似的元件。
图1是说明根据本发明的实施例所实现的计算系统的选定方面的高级 框图。
图2说明了根据本发明的实施例的具有数据屏蔽位和循环冗余码位的 x8写帧的选定方面。
图3说明了根据本发明的实施例的更详细的x8帧的位映射。
图4说明了根据本发明的实施例的具有循环冗余码位的x4帧的选定方面。
图5是说明根据本发明的实施例实现的对于主机的写数据路径的选定 方面的框图。
图6是说明根据本发明的实施例实现的对于存储设备的读数据路径的 选定方面的框图。
图7是说明根据本发明的实施例,用于在具有共享错误位校验和的共 同帧中传送数据和数据屏蔽位的方法的选定方面的流程图。
具体实施例方式
本发明的实施例一般针对在具有共享错误位码的共同帧中传送数据和 数据屏蔽位的系统、方法和装置。存储系统使用数据帧在主机和存储设备 间传送数据。在一些情况下,系统也可以在数据帧中(而不是通过单独的位 通道)传送一个或多个数据屏蔽位。在一些实施例中,系统生成错误位校验 和(例如循环冗余码或CRC)以覆盖数据位和数据屏蔽位。正如下面进一步 描述的,在一些实施例中,数据位、数据屏蔽位和校验和位在共同帧中被 传送。
本发明的实施例描述如下,其中CRC用于为传输错误提供错误覆盖。 然而,可以意识到,在可选的实施例中可以使用不同的错误位机制。例如, 在可选的实施例中,可以使用奇偶位、错误校正码等为传输错误提供覆盖。 术语"错误位"(例如CRC位)指为一个或多个数据位提供错误覆盖的位。
图1是说明了根据本发明的实施例所实现的计算系统的选定方面的高 级框图。在所说明的实施例中,系统100包括主机110(例如存储器控制器) 和存储设备120(例如DRAM)。在可选的实施例中,系统100可以包括更多 的元件、更少的元件、和/或不同的元件。
互连101连接主机110与存储设备120。在一些实施例中,互连IOI(至 少部分地)是点到点互连。在其它的实施例中,互连101(至少部分地)是多分 支总线。在一些实施例中,互连101至少部分地遵守定义双数据率总线(例 如DDR1、 DDR2、 DDR3、 DDR4等)的一个或多个标准和/或规范。在所说 明的实施例中,互连101包括命令/地址通道102和数据(或DQ)通道104。 在其它的实施例中,互连101可以包括更多的^;件、更少的元件、和/或不同的元件。
命令/地址(C/A)通道102提供用于向存储设备120发送命令和地址的多 个通道。DQ通道104提供双向读/写数据总线。在可选的实施例中,DQ通 道104可以是单向的。为便于说明,本发明的实施例针对x8存储设备予以 描述。然而,可以意识到,本发明的实施例可以包括其它的设备数据宽度, 例如x4, x16, x32等等。
主机110控制去往和来自存储设备120的数据传送。在一些实施例中, 主机IIO被集成在与一个或多个处理器相同的管芯上。在其它的实施例中, 主机110是计算系统的芯片组的一部分。主机110可以使用多种命令来控 制数据的传送。例如,编码用于全写的命令可以定义为"W"。在一些实施 例中,主机110支持半写(例如Wm)命令。半写指一种写操作,其中使用一 个或多个数据屏蔽位来屏蔽写数据中的至少一些。在一些实施例中,在与 相应的数据位相同的帧中传送数据屏蔽位。
主机110特别包括CRC逻辑112、组帧逻辑114和启用/禁止逻辑116。 CRC逻辑112使得主机110能够支持带内CRC机制。例如,CRC逻辑112 使得主机110能够生成在一个或多个数据帧中(例如在DQ通道104上)传送 的CRC校验和。在一些实施例中,可以为半写帧来生成CRC校验和。CRC 校验和可以覆盖写帧中的(至少一些)数据位和(至少一些)数据屏蔽位。在一 些实施例中,数据位、数据屏蔽位和相应的校验和在共同帧(例如在DQ通 道104上)中被传送。
在一些实施例中,可以选择性地启用或者禁止使用CRC来覆盖数据帧。 例如,在所说明的实施例中,主机110包括启用襟止逻辑116以选择性地 启用或者禁止CRC的使用。在一些实施例中,启用/禁止逻辑116可以包括 一个或多个寄存器位(例如模式寄存器设置或MRS位)。
主机110还可以包括组帧逻辑114。组帧逻辑114包括用于组合传送至 存储设备120的帧的逻辑。同样地,逻辑114还可以包括用于分解从存储 设备120接收到的帧的逻辑。在一些实施例中,组帧逻辑114能够组合不 止一种类型的数据帧(例如数据帧106A、 106B和106C)。表1示出了根据 本发明的一些实施例的三种示例帧类型。可以意识到,在可选的实施例中, 可以使用其它的帧类型。表1
帧类型说明使用示例
172位上的CRC8x8: 64个数据位+8个屏 蔽位
264位上的CRC8x8: 64个数据位
332位上的CRC8x4: 32个数据位
存储设备120为系统100(至少部分地)提供主系统存储器。在一些实施 例中,存储设备120是DRAM设备(例如DDR1、 DDR2、 DDR3、 DDR4 等)。存储设备120包括CRC逻辑122、组帧逻辑124和启用禁止逻辑126。 在一些实施例中,CRC逻辑122使得存储设备120能够支持带内CRC机制 (例如在DQ通道104上)。术语"带内CRC机制"指在不添加额外引脚的 情况下支持CRC(或其它错误位方案)。CRC逻辑122可以包括CRC生成逻 辑以根据接收到的数据帧生成本地校验和。可以将本地校验和与在帧中传 送的校验和进行比较来确定是否存在任何传输错误。当发生传输错误时, 存储设备120可以发信号通知主机110。
组帧逻辑124包括用于组合从主机110传送的帧的逻辑。逻辑124还可 以包括用于分解从主机110接收到的帧的逻辑。在一些实施例中,组帧逻 辑124能够组合不止一种类型的数据帧(例如数据帧106)。
在一些实施例中,可以选择性地启用或者禁止用于覆盖数据帧的CRC 使用。例如,在所说明的实施例中,存储设备120包括启用/禁止逻辑126 以选择性地启用或者禁止CRC的使用。在一些实施例中,启用/禁止逻辑 126可以包括一个或多个寄存器位(例如模式寄存器设置或MRS位)。
图2说明了根据本发明的实施例的具有数据屏蔽位和循环冗余码位的 x8写帧的选定方面。写数据帧200说明了正被写至存储器的一帧数据。在 所说明的实施例中,启用CRC并且帧200是半写帧(例如,它包括数据屏蔽 位)。开始的八个UI传送写数据(例如,UI0至UT7)。单位间隔8传送CRC 位(例如,在所示实施例中的CRC字节)。在一些实施例中,CRC字节覆盖 数据字节(UIO至UI7)和数据屏蔽字节(例如UI9)。单位间隔9传送确定哪个 数据字节被屏蔽的数据屏蔽位。在一些实施例中,每一个数据屏蔽位确定具有相应编号的数据字节是否被屏蔽(例如,DM0指示字节0是否被屏蔽, DM1指示字节1是否被屏蔽等)。表1列出了根据本发明的一些实施例的数 据屏蔽位和写数据字节之间的联系。在可选的实施例中,数据屏蔽位和写 数据字节(或者位、半字节等)之间的联系可以是不同的。
表2
数据屏蔽位由数据屏蔽位覆盖的字节
DM0字节O
DM1字节l
DM2字节2
DM3字节3
DM4字节4
DM5字节5
DM6字节6
DM7字节7
图3说明了根据本发明的实施例的更详细的x8帧的位映射。类似帧 200,帧300在开始的八个UI(UIO至UI7)中传送数据位。它也在UI8中传 送CRC位并且在UI9中传送数据屏蔽位。帧300中的数据位采用蜿蜓模式 映射于帧300的列以增加由CRC位提供的覆盖的有效性。例如,在UI7中 列的底端(在通道DQ7中)的位是q7。在序列中的下一位q8位于UI6定义 的列的底端。在同一列的顶端的位是q15。在序列中的下一位ql6位于UI5 定义的列的顶端。这种模式重复于帧300的列中。
在一些实施例中,对于8位CRC的生成多项式是 xA8+xA5+xA3+xA2+x+l。在二进制中,该多项式可以表示为ObO 10010111。 在一些实施例中,主机(例如图1所示的主机IIO)可以生成CRC校验和并且 可以利用与下列算法(例如,包括数据屏蔽位的帧)等价的适当函数来形成写
数据帧
1) 设置Q[71:0]={DM[7:0].q[63:0]}
2) 设置CRC[7:0]=当Q[71:0]除以0b0 10010111时的余数。 在算法的第一阶段,将数据屏蔽位放入写数据帧的最高有效位(MSB)。这些位可以被清零。数据可以被放入没有被清零的剩余的位区域(例如最低 有效位)。在可选的实施例中,可以使用不同的算法。
DRAM接收由主机生成的码字(例如Q[71:0])。在一些实施例中,DRAM
使用与下列算法等价的适当函数检测接收到的码字中的错误
3) 设置11[7:0]=当Q[71:0]除以0b0 10010111时的余数。
4) 如果R[7:0]不等于CRC[7:0],则接收到的码字包含一个或多个错误。
5) 使用来自DRAM的错误(ERROR)信号报告错误。 第一阶段(步骤約)根据接收到的码字生成"本地校验和"。将本地校验
和与接收到的校验和(例如在步骤#2生成的校验和)作比较。如果检测到错 误,则DRAM可以向主机提供错误信号(例如步骤W)。在可选的实施例中, 可以使用不同的算法。
在一些实施例中,根据生成多项式xA8+xA5+xA3+xA2+x+l的CRCXOR 等式如下0x97 p(x) = (x+l)(xA7+xA6+xA5+xA2+l)。在以D(71)和CRC(7) 作为最高有效位的VHDL等式格式中,XOR等式可以被表示为如下
CRC (0) := D(70) xor D(69) xor D(67) xor D(64) xor D(63) xor D(61) xor D(59) xor D(58) xor D(54) xor D(53) xor D(51) xor D(50;) xor D(49) xor D(46) xor D(45) xor D(44) xor D(42) xor D(3 8) xor D(37) xor D(36) xor D(35) xor D(33) xor D(32) xor D(31) xor D(30) xor D(27) xor D(25) xor D(24) xor D(23) xor D(22) xor D(21) xor D(15) xor D(12) xor D(l 1) xor D(IO) xor D(9) xor D(8) xor D(7) xor D(5) xor D(3) xor D(O);
GRG (1) := DC71) xor D(69) xor D(68) xor D(67) xor D(65) xor DC6" xor D(62) xor D(61) xor D(60) xor D(58) xor D(55) xor D(53) xor D(52) xor D(49) xor D(47) xor D(44) xor D(43) xor D(42) xor D(39) xor D(") xor D(34) xor D(30) xor D(28) xor D(27) xor xor Dpi) xor D(16) xor D(l" xor D(l" xor D(7) xor D(6) xor D(5) xor D(4) xor D(3) xor D(l) xor D(0);
CRG (2) := D(68) xor D(67) xor D(66) xor D(62) xor D(58) xor D(56) xorD(51) xor D(49) xor D(48) xor D(46) xor D(43) xor D(42) xor D(40) xor D(38) xor D(37) xor D(33) xor D(32) xor D(30) xor D(29) xor D(28) xor D(25) xor D(24) xor D(23) xor D(21) xor D(17) xor D(16) xor D(l" xor D(M) xor D(l" xor D(ll) xor D(l 0) xor D(9) xor D(6) xor D(4) xor D(3) xor D(2) xor D(l)xor D(0);
CRC (3) := D(70) xor D(68) xor D(64) xor D(61) xor D(58) xor D(57) xor D(54) xor D(53) xor D(52) xor D(51) xor D(47) xor D(46) xor D(45) xor D(43) xor D(42) xor D(41) xor D(39) xor D(37) xor D(36) xor D(35) xor D(34) xor D(32) xor D(29) xor D(27) xor D(26) xor D(23) xor D(21) xor D(l 8) xor D(l7) xor D(l6) xor D(13) xor D(9) xor D(8) xor D(4) xor D(2) xor D(l) xor D(0);
CRG (4) := D(71) xor D(69) xor D(65) xor D(62) xor D(59) xor D(58) xor D(55) xor D(54) xor D(53) xor D(52) xor D(48) xor D(47) xor D(46) xor D(44) xor D(43) xor D(42) xor D(40) xor D(38) xor D(37) xor D(36) xor D(35) xor D(33) xor D(30) xor D(28) xor D(27) xor D(24) xor D(22) xor D(19) xor D(18) xor D(17) xor D(14) xor D(10) xor D(9) xor D(5) xor D(3) xor D(2) xor D(l);
CRC (5) := D(69) xor D(67) xor D(66) xor D(64) xor D(61) xor D(60) xor D(58) xor D(56) xor D(55) xor D(51) xor D(50) xor D(48) xor D(47) xor D(46) xor D(43) xor D(42) xor D(41) xor D(39) xor D(35) xor D(34) xor D(33) xor D(32) xor D(30) xor D(29) xor D(28) xor D(27) xor D(24) xor D(22) xor D(21) xor D(20) xor D(19) xor D(18) xor D(12) xor D(9) xor D(8) xor D(7) xor D(6) xor D(5) xor D(4) xor D(2) xor D(0);CRC (6) := D(70) xor D(68) xor D(67) xor D(65) xor D(62) xor D(61) xor D(59) xor D(57) xor D(56) xor D(52) xor D(51) xor D(49) xor D(48) xor D(47) xor D(44) xor D(43) xor D(42) xor D(40) xor D(36) xor D(35) xor D(34) xor D(33) xor D(31) xor D(30) xor D(29) xor D(28) xor D(2" xor D(23) xor D(22) xor D(21) xor D(20) xor D(19) xor D(13) xor D(IO) xor D(9) xor D(8) xor D(7) xor D(6) xor D(5) xor D(3) xor D(l);
CRC (7) := D(71) xor D(69) xor D(68) xor D(66) xor D(63) xor D(62) xor D(60) xor D(58) xor D(57) xor D(53) xor D(52) xor D(50) xor D(49) xor D(48) xor D(45) xor D(44) xor D(43) xor D(41) xor D(37) xor D(36) xor D(35) xor D(34) xor D(32) xor D(31) xor D(30) xor D(29) xor D(26) xor D(24) xor D(23) xor D(22) xor D(21) xor D(20) xor D(14) xor D(l 1) xor D(IO) xor D(9) xor D(8) xor D(7) xor D(6) xor D(4) xor D(2); 图4说明了根据本发明的实施例的具有循环冗余码位的x4帧的选定方 面。帧400在开始的8个UI(UIO至UI7)中传送数据位。它也在UI8和UI9 中传送CRC位。在所说明的实施例中,帧400不包括数据屏蔽位,因为在 许多情况下,由于x4设备主要被用在具有错误校正码(ECC)并且执行"读-修改-写"操作的服务器中,所以它们不支持数据屏蔽。帧400中的数据位 采用蜿蜒模式映射于帧400的列以增加由CRC位提供的覆盖的有效性。
图5是说明根据本发明的实施例实现的对于主机的写数据路径的选定 方面的框图。主机500特别包括核心逻辑502、 CRC生成器504和发送(TX) 组帧单元506。在可选的实施例中,主机500包括更多的元件、更少的元件、 和域不同的元件。例如,核心逻辑502包括用于调度对主存储器的读和写 的调度逻辑以及当发生传输错误时用于重试操作的重试逻辑。此外,核心 逻辑502包括用于生成数据屏蔽位508的逻辑,以屏蔽相应的写数据位510 中的至少一些。
在操作中,例如,核心逻辑502调度半写操作,并且向TX组帧单元506和CRC生成器504提供写数据(510)和相应的数据屏蔽位(508)。在一些 实施例中,CRC生成器504根据写数据和数据屏蔽位来生成CRC校验和。 可以采用广泛的CRC算法,例如包括使用六层的XOR树来计算CRC校验 和的算法。在可选的实施例中,可以使用不同数目的XOR树或者不同算法 来生成CRC校验和。在一些实施例中,写数据路径和读数据路径使用相同 的XOR树来生成CRC校验和。
TX组帧单元506将写数据(510)、数据屏蔽位(508)和相应的CRC校验 和编入一个或多个写数据帧(例如写数据帧512)。在一些实施例中,根据诸 如是否启用CRC和DRAM的宽度之类的因素,TX组帧单元506能够生成 不同的帧类型。例如,TX组帧单元506能够生成第一帧类型,其包括CRC8、 64个数据位和8个数据屏蔽位(例如,对于x8设备)。TX组帧单元506还 能够生成具有CRC8和64个数据位(例如,对于x8设备)的第二帧类型。如 果主机500与x4设备相耦合,则可以支持具有在32位上的CRC8的第三 帧类型。在可选的实施例中,可以支持更多的帧类型、更少的帧类型、和/ 或不同的帧类型。经由DQ总线,写数据帧(512)被传送至一个或多个存储 设备(例如DRAM)。
图6是说明根据本发明的实施例实现的对于存储设备的读数据路径的 选定方面的框图。存储设备600特别包括存储阵列602、发送(TX)组帧单元 604、 CRC生成器606和CRC禁止逻辑608。在可选的实施例中,存储设 备600可以包括更多的元件、更少的元件、和/或不同的元件。在一些实施 例中,存储设备600是动态随机存取存储设备(DRAM)。
在操作中,存储设备600在C/A总线(例如C/A总线102)上从主机(例 如主机110)接收读命令。从存储阵列602读取数据并将其提供给TX组帧单 元604。该读数据还被提供给用于计算CRC校验和的CRC生成器606。在 一些实施例中,使用六层XOR树来计算CRC校验和。在可选的实施例中, 可以使用不同数目的XOR树或者不同算法来生成CRC校验和。在一些实 施例中,读数据路径和写数据路径使用相同的XOR树来生成CRC校验和。
TX组帧单元604接收读数据位和校验和位并将它们编入写数据帧中。 在一些实施例中,例如,例如根据是否启用CRC, W组帧单元604能够使 用不同的帧类型。例如,TX组帧单元604在启用CRC时使用第一帧类型二帧类型。第一帧类型可以包括读数据位和相应 的CRC校验和。第二帧类型可以包括没有CRC校验和的读数据位。存储 设备600可以经由DQ总线610将(具有或没有CRC校验和的)读数据帧传 送至主机。
存储设备600包括CRC禁止逻辑608。在一些实施例中,CRC禁止逻 辑608禁止存储设备600使用CRC。因此,在一些实施例中,存储设备600 可以被配置为与读数据一起使用CRC校验和,或者被配置为不与读数据(和 /或写数据)一起使用CRC校验和。在一些实施例中,CRC禁止逻辑包括模 式寄存器设置(MRS)的一部分。
图7是根据本发明的实施例,说明用于在具有共享错误位校验和的共 同帧中传送数据和数据屏蔽位的方法的选定方面的流程图。参考处理框 702,主机(例如存储器控制器)生成错误位校验和(例如CRC校验和)来为多 个数据位覆盖传输错误以及覆盖(例如为半写操作)一个或多个数据屏蔽位。 在一些实施例中,主机包括CRC生成器以生成CRC校验和。主机可以为 读数据路径和写数据路径使用相同的CRC树。
参照处理框704,主机(使用例如图5所示的发送组帧单元506)将多个 数据位编入一个或多个数据帧中。在一些实施例中,根据是否启用CRC和 /或是执行半写还是全写,主机可以生成不同的帧类型。在706处,经由数 据总线将一个或多个数据帧传送至存储设备(例如DRAM)。
在一些实施例中,DRAM使用包含在由主机提供的帧中的CRC校验和 来确定是否发生了传输错误。例如,DRAM可以(基于接收到的数据)生成 "本地"CRC校验和并且将该本地校验和与接收到的校验和作比较。如果 发生了传输错误,则DRAM可以向主机发送错误信号。参照决定框708, 如果主机接收到错误信号,那么它可以重新发送数据(710处)。可选地,如 果主机没有接收到错误信号,那么数据可以是有效的(712处)。
也可以将本发明实施例的元件提供为用于存储机器可执行指令的机器 可读介质。机器可读介质可以包括但不限于闪存、光盘、只读光盘 (CD-ROM)、数字多用衛视频光盘(DVD) ROM、随机存取存储器(RAM)、 可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器 (EEPROM)、磁卡或光卡、适于存储电子指令的传播媒介或其他类型的机器可读介质。例如,本发明的实施例可以作为计算机程序被下载,可以经由 通信链路(例如调制解调器或者网络连接)以包含于载波或其它传输介质中 的数据信号的方式,从远程计算机(例如服务器)将该计算机程序传送到请求 计算机(例如客户端)。
在上面的描述中,特定的术语被用来描述本发明的多个实施例。例如, 术语"逻辑"代表用于执行一种或多种功能的硬件、固件、软件(或者它们 的任意组合)。例如,"硬件"的实例包括,但不限于集成电路、有限状态 机、或者甚至是组合逻辑。集成电路可以采用处理器的形式,例如微处理 器、专用集成电路、数字信号处理器、微控制器等。
可以意识到,本说明书中提及的"一个实施例"或者"实施例"意味 着结合该实施例描述的特定的特征、结构或者特性包含在本发明的至少一 个实施例中。因此,需要强调并且应当意识到,在本说明书的不同部分中 对于"实施例"、"一个实施例"或者"可选的实施例"的两次或更多次提 及不是必然都指相同的实施例。此外,特定的特征、结构或者特性可以适 当地组合在本发明的一个或多个实施例中。
同样地,可以意识到,在本发明实施例的上述描述中,为了增强对于 不同的创造性方面中的一个或多个方面的理解,出于简化公开的目的,有 时候将不同的特征一起组合在单个实施例、附图或者说明书中。然而,这 种公开方法不应解释为反映一种意图,即要求保护的主题需要比在每一个 权利要求中清楚表述的特征更多的特征。相反地,正如下列权利要求书所 表现的,创造性方面在于比单个前述公开的实施例中所有特征更少的特征。 因此,将详细说明后面的权利要求书明确地并入该详细说明中。
权利要求
1、一种集成电路,包括指示逻辑,用于指示对于将要从所述集成电路传送到存储设备的帧是否启用错误位覆盖;错误位生成逻辑,用于当启用错误位覆盖时生成错误位校验和以覆盖所述帧;以及组帧逻辑,用于生成所述帧,其中,所述组帧逻辑能够基于包括第一帧类型在内的多种不同的帧类型来生成所述帧,所述第一帧类型具有多个数据位、多个数据屏蔽位和相应的错误位校验和。
2、 根据权利要求1所述的集成电路,其中,所述帧是基于所述第一帧 类型的。
3、 根据权利要求2所述的集成电路,其中,所述数据屏蔽位DM位于 所述帧(Q)的最高有效位区域。
4、 根据权利要求3所述的集成电路,其中,所述错误位逻辑至少部分 地基于用Q除以循环冗余码(CRC)生成多项式来生成校验和C。
5、 根据权利要求4所述的集成电路,其中,C包括当Q除以所述CRC 生成多项式时的余数。
6.根据权利要求5所述的集成电路,其中,所述CRC生成多项式由 表达式0b0 10010111以二进制形式表示。
7、 根据权利要求6所述的集成电路,其中,所述帧将要被传送至x8 动态随机存取存储器(DRAM)设备,并且Q至少部分地基于下列表达式Q[71:0] = (DM[7:0]. q[63:0]}。
8、 根据权利要求7所述的集成电路,其中,C是当Q[71:0]除以ObO 10010111时的余数。
9、 根据权利要求l所述的集成电路,其中,所述组帧逻辑能够基于第 二帧类型生成所述帧,所述第二帧类型包括多个数据位和相应的错误位校 验和。
10、 根据权利要求9所述的集成电路,其中,所述帧是基于所述第二 帧类型的,并且所述存储设备是x4动态随机存取存储器(DRAM)设备。
11、 根据权利要求10所述的集成电路,其中,所述帧Q的位[71:32] 被设置为0。
12、 根据权利要求11所述的集成电路,其中,所述校验和C是当Q[71:0] 除以0b0 10010111时的余数。
13、 根据权利要求l所述的集成电路,还包括帧长度控制逻辑,用于确定在所述集成电路和所述存储设备之间传送 的帧的长度。
14、 根据权利要求13所述的集成电路,其中,对于读处理,如果启用 错误位覆盖,则所述帧长度控制逻辑指定N个单位间隔(UI)的帧长度,以 及如果未启用错误位覆盖,则所述帧长度控制逻辑指定M个UI的帧长度。
15、 根据权利要求13所述的集成电路,其中,对于写处理,如果启用 错误位覆盖,则所述帧长度控制逻辑指定N个单位间隔(UI)的帧长度。
16、 根据权利要求15所述的集成电路,其中,对于写处理,如果未启 用错误位覆盖,则所述帧长度控制逻辑对于全写帧指定N个UI的帧长度, 以及对于半写帧指定M个UI的帧长度。
17、 根据权利要求13所述的集成电路,其中,N为10并且M为8。
18、 根据权利要求1所述的集成电路,其中,所述集成电路包括存储 器控制器。
19、 一种方法,包括至少部分地基于多个数据位和相应的多个数据屏蔽位来生成错误位校 验和;以及生成写帧,所述写帧包括所述多个数据位、所述相应的多个数据屏蔽 位和所述错误位校验和。
20、 根据权利要求19所述的方法,其中,所述写帧将要被传送至x8 动态随机存取存储器(DRAM)设备,并且Q至少部分地基于下列表达式<formula>formula see original document page 4</formula>
21、 根据权利要求20所述的方法,其中,所述错误位校验和C是当 Q[71:0]除以0b0 10010111时的余数。
22、 一种系统,包括 主机,所述主机包括指示逻辑,用于指示对于将要从所述主机传送到动态随机存取存 储器(DRAM)设备的帧是否启用循环冗余码(CRC)覆盖;CRC生成逻辑,用于当启用CRC覆盖时生成CRC校验和以覆盖 所述帧;以及组帧逻辑,用于生成所述帧,其中,所述组帧逻辑能够基于包括 第一帧类型在内的多种不同的帧类型来生成所述帧,所述第一帧类型 具有多个数据位、多个数据屏蔽位和相应的CRC校验和;以及 所述DRAM设备,其与所述主机相耦合。
23、 根据权利要求22所述的系统,其中,所述DRAM设备包括 CRC生成逻辑,用于至少部分地基于用所述帧除以CRC生成多项式来生成本地CRC校验和;比较逻辑,用于将所述本地CRC校验和与所述CRC校验和进行比较;以及错误报告逻辑,用于当所述本地CRC校验和与所述CRC校验和不匹 配时提供错误指示。
24、 根据权利要求23所述的系统,其中,所述帧是基于所述第一帧类 型的。
25、 根据权利要求24所述的系统,其中,所述数据屏蔽位DM位于所 述帧(Q)的最高有效位区域。
26、 根据权利要求25所述的系统,其中,所述错误位逻辑至少部分地 基于用Q除以循环冗余码(CRC)生成多项式来生成校验和C。
27、 根据权利要求26所述的系统,其中,C包括当Q除以所述CRC 生成多项式时的余数。
28、 根据权利要求27所述的系统,其中,所述CRC生成多项式由表 达式0b0 10010111以二进制形式表示。
29、 根据权利要求28所述的系统,其中,所述帧将要被传送至x8动 态随机存取存储器(DRAM)设备,并且Q至少部分地基于下列表达式Q[71:0] = (DM[7:0]. q[63:0]}。
全文摘要
本发明的实施例一般针对在具有共享错误位码的共同帧中传送数据和数据屏蔽位的系统、方法和装置。存储系统使用数据帧在主机和存储设备之间传送数据。在一些情况下,系统还可以在数据帧中(而不是通过单独的位通道)传送一个或多个数据屏蔽位。系统可以生成错误位校验和(例如循环冗余码或CRC)以覆盖数据位和数据屏蔽位。在一些实施例中,在共同帧中传送数据位、数据屏蔽位和校验和位。
文档编号G06F11/10GK101609418SQ20091014630
公开日2009年12月23日 申请日期2009年6月17日 优先权日2008年6月18日
发明者D·W·布热津斯基, K·S·贝恩斯 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1