存储器模块上的存储器备用_2

文档序号:9916677阅读:来源:国知局
模块300上的全部缺省存储器起作用时,数据缓冲器320可以选择存储于缺省存储器302的数据半字节以及存储于缺省存储器304的数据半字节,并且数据缓冲器322可以选择存储于缺省存储器306的数据半字节以及存储于缺省存储器308的数据半字节。在缺省存储器或缺省存储器的一部分确定为缺陷时,数据缓冲器320和322可以从起作用的缺省存储器和从备用存储器310选择数据半字节,并且可以不从缺陷的或者具有缺陷部分的缺省存储器选择数据半字节。例如,如果缺省存储器302为缺陷,则数据缓冲器320可以从缺省存储器304选择数据半字节以及从缺省存储器306选择数据半字节,并且数据缓冲器322可以从缺省存储器308选择数据半字节以及从备用存储器310选择数据半字节。
[0014]数据缓冲器320可以提供8比特输出,例如字节O。类似地,数据缓冲器322可以提供8比特输出,例如字节I。存储器模块300的输出可以包括数据缓冲器的按照指定顺序的输出。例如,存储器模块300可以具有16比特输出;该输出的首八比特可以为由数据缓冲器320输出的两个数据半字节(例如,字节O),并且该输出的后八比特可以为由数据缓冲器322输出的两个数据半字节(例如,字节I)。由数据缓冲器输出的每个比特可以与存储器模块300上的针脚相关联。数据缓冲器的输出可以包括由数据缓冲器从存储器模块300上的存储器选择的数据半字节。存储器模块300的输出可以为由字节O和字节I组成的缓存线,每个字节由各自数据缓冲器选择的数据半字节组成。
[0015]在存储器模块300上的全部缺省存储器起作用时,从缺省存储器302选择的数据半字节可以为字节O的首四比特,从缺省存储器304选择的数据半字节可以为字节O的后四比特,从缺省存储器306选择的数据半字节可以为字节I的首四比特,并且从缺省存储器308选择的数据半字节可以为字节I的后四比特。在存储器模块300上的缺省存储器为缺陷时,数据半字节可以从备用存储器310选择,并且数据半字节可以不从缺陷缺省存储器选择。从备用存储器310选择的数据半字节可以为字节I的后四比特(例如,存储器模块300的输出的后四比特),并且从起作用的缺省存储器选择的数据半字节可以在存储器模块300的输出中相对于在全部数据半字节从缺省存储器选择时(即,在全部缺省存储器起作用时)产生的存储器模块300的输出移位。
[0016]例如,在图3中示出的全部缺省存储器起作用时,从缺省存储器306和308选择的数据半字节可以分别为字节I的首四比特和字节I的后四比特,但是在缺省存储器304为缺陷时,从缺省存储器306和308选择的数据半字节可以分别为字节O的第二个四比特以及字节I的首四比特,因为数据半字节可以不从缺省存储器304选择(在两种情况下,从缺省存储器302选择的数据半字节可以为字节O的首四比特)。如由该示例说明的,在存储器模块中的缺省存储器为缺陷时,从缺陷缺省存储器与备用存储器之间的缺省存储器选择的数据比特可以在存储器模块的输出中相对于在全部缺省存储器起作用时存储器模块的输出移位四比特。在两种情况下,从缺陷缺省存储器的另一侧的缺省存储器选择的数据半字节可以出现在存储器模块的输出中的相同位置。
[0017]在一些实施方式中,缺省存储器的第一部分可以是缺陷的,并且同一缺省存储器的第二部分可以起作用。在这样的实施方式中,在要从缺省存储器读取的数据半字节的地址指的是缺陷部分中的位置时,数据缓冲器320和322可以读取和选择存储于备用存储器(例如备用存储器310)的数据半字节,并且可以不从缺省存储器选择数据半字节。在要从缺省存储器读取的数据半字节的地址指的是起作用的部分中的位置时,数据缓冲器320和322可以读取和选择存储于缺省存储器的数据半字节,并且可以不从备用存储器选择数据半字
-K-
T O
[0018]存储器模块300上的机器可读指令(例如软件)可以确定应当从哪些存储器选择数据半字节,并且可以相应地指定选择控制信号。可以通知存储器模块300上的系统控制器330选择控制信号。例如,机器可读指令可以将选择控制信号写入系统控制器330内的内部寄存器中。系统控制器330可以将选择控制信号传输到数据缓冲器320和322。选择控制信号可以用于配置数据缓冲器中的数据选择器。
[0019]系统控制器330可以经由数据总线可通信地偶接到数据缓冲器320和322,所述数据总线可以携带选择控制信号以及用于定向定时和/或片内终结器(ODT)的控制信号。系统控制器330可以控制存储器模块300上的数据的路由。在一些实施方式中,系统控制器330可以缓冲来自在存储器模块300外部的存储器控制器的控制信号。该外部存储器控制器可以接收由存储器模块300上的数据缓冲器输出的数据(例如,字节0、字节I)。
[0020]从存储器模块300接收数据输出的存储器控制器可以检测输出中的错误和/或检测存储器模块300上的缺省存储器中的缺陷。存储器控制器可以确定错误的严重性以及是否应当继续使用缺陷缺省存储器。存储器控制器可以确定存储器控制器输出的哪个字节或数据半字节具有错误,并且标识从其读取了错误数据的存储器。存储器控制器和/或存储器模块300上的机器可读指令(例如,软件和/或固件)可以确定展现出错误的存储器地址的范围。
[0021]在一些实施方式中,可以不向可通信地偶接到存储器模块300的外部存储器控制器通知存储器模块300上的备用存储器的存在。当在存储器模块输出中检测到错误时,存储器控制器上的机器可读指令(例如,软件)可以校正该错误(例如,使用ECC逻辑)并且将校正后的数据的拷贝存储在临时位置(例如,缓冲器、虚拟存储器)中。机器可读指令也可以确定用于存储器模块300上的数据缓冲器的选择控制信号,使得数据半字节不从缺陷缺省存储器选择并且数据半字节从备用存储器选择。根据选择控制信号,校正后的数据可以随后从临时位置拷贝至数据半字节将从其选择的存储器。这样的拷贝可能导致缺陷缺省存储器与备用存储器之间的缺省存储器存储与在全部缺省存储器起作用时存储的数据不同的数据。
[0022]例如,如果存储器模块300中的缺省存储器306为缺陷,选择控制信号可以配置数据缓冲器320以从缺省存储器302和304选择数据半字节,并且数据缓冲器322从缺省存储器308和备用存储器310选择数据半字节。在校正后的数据拷贝至合适存储器中之后,缺省存储器308可以存储先前存储在缺省存储器306中的数据半字节,并且备用存储器310可以存储先前存储于缺省存储器308的数据半字节(缺省存储器302和304可以存储与之前相同的各自数据半字节)。因此,数据半字节在存储器模块300的输出中的顺序在备用存储器310使用时与在全部缺省存储器起作用(并且备用存储器310未使用)时可以相同。
[0023]在一些实施方式中,可通信地耦接于存储器模块300的外部存储器控制器可以例如由存储器模块300上的机器可读指令(例如软件和/或固件)通知:存储器模块300上的备用存储器的存在。在这样的实施方式中,备用存储器可以存储存储于缺陷缺省存储器的数据的拷贝,并且存储器模块300上的数据缓冲器可以配置为使得数据半字节从备用存储器而不是缺陷缺省存储器选择。例如,如果缺省存储器304为缺陷,备用存储器310可以存储存储于缺省存储器304的数据的拷贝。数据缓冲器320可以选择存储于缺省存储器302的数据半字节以及存储于缺省存储器306的数据半字节,并且数据缓冲器322可以选择存储于缺省存储器308和备用存储器310的数据半字节。因此,在使用备用存储器时,存储器模块输出中的数据可能“扰乱(scrambled)”;在全部缺省存储器起作用时,从缺省存储器304选择的数据半字节组成字节O的后四比特,但在缺省存储器304为缺陷时,该数据半字节中的信息在字节I的后四比特中,并且处于之间的比特相对于如果全部缺省存储器起作用时它们将所处的位置移位。即,在图3中示出的全部缺省存储器起作用时,从缺省存储器306和308选择的数据半字节分别为字节I的首四比特和后四比特,但在缺省存储器304为缺陷时,从缺省存储器306和308选择的数据半字节分别为字节O的后四比特和字节I的首四比特。
[0024]已经被通知备用存储器的存在的存储器控制器可以被通知(例如,在缺省存储器被确定为缺陷时):从
当前第2页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1