一种实现存储器缺陷映射表的系统和方法

文档序号:6466409阅读:104来源:国知局
专利名称:一种实现存储器缺陷映射表的系统和方法
技术领域
本发明总体上涉及计算系统和信息处理系统,更具体的,涉及一种用来 创建存储器映射表的系统和方法,该存储器映射表用计算系统或信息处理系 统管理它的使用。
背景技术
随着信息的价值和使用不断的增长,个人和商务都在探寻更多的处理和 存储信息的方法。对这些用户来讲,信息处理系统是一条可选的途径。信息 处理系统一般为商务、个人或其他目的对信息或数据进行处理、编译、存储、 和/或传送,从而允许用户利用信息的价值。由于不同的用户或不同的应用对 技术和信息的处理需求与要求各不相同,信息处理系统可能会根据处理信息 的类型、信息处理方法不同而有所区别,也可能根据信息处理、存储、传送 的方法不同,处理、存储、传送的信息量不同以及信息处理、存储、传送的 速度和效率不同而有所区别。信息处理系统变化多种多样,使得信息处理系 统可以是一般的信息存储系统,也可以是为特殊用户或特殊用途而设计的信 息处理系统,所述独特定用途比如金融业务处理、航班预约、企业数据存 储或者全球通信。另外,信息处理系统还可能包括大量被设置用来处理、存 储、传送信息的硬件和软件设备,也可能包括一个或多个计算机系统、数据 存储系统和网络系统。
信息处理系统通常包括几种临时信息存储介质,例如随机存取存储器。
信息处理系统中所包含的存储器容量可以达到千兆字节(Gigabyte)的量级。 随着存储器存储量的增加,存储器中部分加工上就存在缺陷或长时间使用产 生缺陷的可能性也会不断增加。如果放任不管的话,无论缺陷存储单元的大
小是多少,缺陷存储单元的存在都可能导致信息处理系统故障。所述故障可 以引起信息处理系统当前操作的突然中止,造成关键数据的丢失。存储器故 障还可以导致信息处理系统无法一起启动。
随着信息处理系统的持续发展以及计算机技术的不断进步,中央处理器 (CPU)与存储器之间的操作关系变得越来越重要和复杂。现代系统的许多 属性(特别是多核处理器和虚拟化的引入)对一般的信息处理系统中存储器 容量一直增大的发展趋势作出了贡献。因此,不仅系统存储器在信息处理方 案的总成本中的比例越来越大,存储器中错误行为的影响也对信息处理系统 相关的更新换代成本产生了越来越不利的影响。

发明内容
根据本发明,在此公开一种用于管理信息处理系统中存储器缺陷的系统
和方法。在信息处理系统中,第一容量存储器,例如随机存取存储器(RAM), 可能会包含有缺陷存储元件。第二容量存储器,例如电可擦除只读存储器
(EEPROM),与第一容量存储器在物理上相连,并用来存储存储器缺陷映 射表,该存储器缺陷映射表包含关于第一容量存储器中缺陷存储部分的位置 的信息。存储器缺陷映射表会被BIOS或操作系统所引用,从而避免使用包 含缺陷存储部分的存储器区域。
由于此处所公开的系统和方法提供了一种用于减小缺陷存储部分的功 能和经济上的影响的机制,这在技术上是有非常有优势的。特别的,本发明 提供了一种方法,该方法用于使信息处理系统即使在存在一个或者多个缺陷 存储部分的情况下仍能够对系统性能只造成最小的影响而正常运行。通过有 效地把缺陷存储块从操作系统中隐藏,更好的避免了信息处理系统的碰撞
(crash)。另外,通过对缺陷存储部分的隔离,本发明延长了存储器的使用 寿命。因为即使发现多个存储部分存在缺陷也不必更换存储器,信息处理系
统的整个系统成本也相应的减少了。在对下面的说明书、权利要求和附图进 行了解之后,本发明的其他技术优势对本领域的技术人员来讲将是显而易见 的。


通过参照结合附图的下面描述会对本发明的实施方式以及优势有更全 面的理解,其中相似的附图标记代表相似的特征,其中 图1是一般的信息处理系统的结构图2A显示了用于一般的信息处理系统的可寻址的存储空间;
图2B显示了包含于排除了缺陷部分的可用存储器映射表中的存储空
间;
图3A和图3B示出了在可用存储器映射表中减少碎片后的结果; 图4是两个双列直插式(dual-inline)存储器模块的框图; 图5显示了从系统初始化到创建可用存储器映射表的流程图。
具体实施例方式
为了本发明的目的,信息处理系统可以包括手段或手段的集合,所述手 段和手段的集合可操作用以计算、分类、处理、发射、接收、检索、创建、 切换、存储、显示、表明、检测、记录、复制、操作或利用任何形式的用于 商务、科学、控制或其他目的的信息、智能或数据。例如,信息处理系统可 以是个人电脑、网络存储设备或任何其他适当的设备,并且可以在尺寸、形 状、性能、功能和价格上有所差别。信息处理系统可以包括随机存取存储器 (RAM), 一个或者多个处理设备,例如中央处理器(CPU)或者硬件或软 件控制逻辑,所述信息处理系统还可以包括ROM、和/或其它类型非易失性 存储器。信息处理系统的其他元件还可以包括一个或多个磁盘驱动器、 一个
或多个用于与外部设备通信用的网络端口、以及各种输入输出(I/O)设备, 所述i/o设备例如键盘、鼠标和视频显示器。信息处理系统也可以包括一条
或多条总线,所述总线可操作用来在不同的硬件元件之间传送通信。
图1所示是一般的信息处理系统的框图。 一般的信息处理系统10的处 理器或CPU 12与存储器控制中心或北桥30进行通信连接。存储器控制中心 30与RAM 20和图像处理单元40相连接。存储器控制中心30还与一个I/O 控制中心或南桥60相连接。1/O中心60与计算机系统的存储元件相连,其 中包括存储元件50,所述存储元件50中可以包括含有计算机系统的BIOS 的快闪ROM。 1/O中心60还与计算机系统的硬盘驱动器70相连。1/0中心 60还可以与超级I/O芯片80相连,所述超级I/O芯片80自身和计算机系统 的一些I/0端口连接在一起,所述1/0端口其中包括键盘90、鼠标100和一 个或多个并行端口。
这里描述的系统和方法包括对信息处理系统存储器资源的管理。该系统 和方法包括利用存储设备中包含的存储器来当不为系统可用的存储设备的 物理存储器时确定所述不为系统可用的存储设备的物理存储器。如果物理存 储器被系统确定为不可用的,物理存储器被逻辑映射到可用计算机系统的最 终存储器映射表,结果便可以得到不包括存储设备的缺陷物理存储器的可 用存储器映射表。
初始化时,信息处理系统会创建系统的存储器或RAM的映射表。图2A 是在信息处理系统内通过存储器映射表调用(call)(如E820调用)来检査 (review)的存储器空间的框图。信息处理系统10可以包括大量能够被作为 存储器编址的元件,包括双列直插式(dual-inline)存储模块(DIMMs) 120 和PCI设备130,例如离散图形卡。包含有可寻址存储器的设备在BIOS初 始化时被检测到,这些设备中的存储器在存储器映射表调用时被映射并被确 定为系统可存取存储器。存储器映射表调用导致对可能的存储器位置的反复
询问(interrogation),该询问从系统110中有最低可能地址的存储器开始。 存储器映射表调用检查包括存储块124、 125及126在内的所有可寻址存储 器位置,即使存储块125含有存储器缺陷。随着包括DIMM120的系统可存 取存储器被定位,可用无缺陷存储器的映射表便创建完毕。
随着可用存储器映射表的创建,被确定为不可进入或不可用的物理存储 器部分就被从映射表中排除,从而创建了只含有可用无缺陷存储器位置的逻 辑映射表。图2B是可用存储器映射表的框图,其中计算机系统存储器中的 不可用位置被从系统中逻辑映射表排除。例如存储块124和126被包括在可 用存储器映射表中,但存储块125因为包含有缺陷存储部分而被排除在外。
通过操作系统的一组反复存储器映射表调用,或者通过存储器映射表函 数,操作系统获得可用存储器映射表,在所述存储器映射表函数中BIOS把 完整的映射表传送给操作系统。因为映射表把确定为不可用的或缺陷的物理 存储器位置从它的范围内排除,操作系统只可能连接到被映射为可用的存储 器。那些被映射为不可用的物理存储器就不能被操作系统所利用,以及从而 可以被描述为操作系统不可视的存储器。
在创建可用存储器映射表的过程中,关于可用存储器区域位置的信息被 发送到操作系统。该信息具有起始地址、待定存储块的大小、该位置存储器 的类型的形式。由于有缺陷的存储器块从存储器映射表中被分割或者映射 出,存储器映射表就被分成更多块以及需要用来描述系统可用(或不可用) 存储器的分离项的数目增加,这需要更多的存储量并导致了存储碎片。有许 多方法可以用来减少这种由于确定太大量的缺陷项和可用项而带来的管理 负担。
一种用于减少由于确定太大量的缺陷项和可用项而带来的管理负担的 方法包括把临近的缺陷存储器位置集合成通用的缺陷项。图3A和图3B图 解说明了被分割成存储块310的DIMM 300。存储块是存储设备中的定义的
连续存储段。DIMM 300中包括缺陷块320和340。缺陷块指的是至少包含 存储器内的几个缺陷存储器的存储块。缺陷块可以既包含缺陷存储器和无缺 陷或可用存储器。如果缺陷块320和340被单独地从可用存储器映射出,那 么它们每块分别用起始地址和结束地址来标识。通过检测缺陷存储块之间的 小的可用存储块的存在,和将小的可用存储块和临近的缺陷存储块一起合成 一组,以及指明整个所述组不可用,这样的碎片可以被优化处理,。这样信 息处理系统不能使用某些额外可用的存储器,但它减少了必须作为可用存储 器映射表的一部分而被储存的地址的数量。
如图3B中所示,缺陷块320和340可以被集合成一个更大的缺陷块, 该缺陷块包括无缺陷存储块330。由于只有一个缺陷块被操作系统确定,只 用一个可用存储器映射表项就足以映射出这两个存储器缺陷。为了实现碎片 的减少,需要在存储器缺陷映射表中搜索那些相互之间具有特定数量存储块 的缺陷块。如果发现两个缺陷块,它们之间的任何块也都被标记为有缺陷。 该信息随后被存储到存储器缺陷映射表中。当接下来信息处理系统被初始化 之后,可用存储器映射表将只包括一项用来将连续块标识为有缺陷,包括介 于其中的无缺陷存储块。
图4显示了 DIMM 400中的存储部分的框图。DIMM可以既包括RAM 410又包括一些电可擦除只读存储器(EEPROM) 420,所述EEPROM420 含有包括在DIMM 400中的非易失性存储器。EEPROM 420能够存储串行存 在检查(SPD)信息及其他和RAM410有关的信息,所述SPD信息是描述 大小、速度和电需求的数据。虽然电子设备工程联合委员会固态技术协会 (JEDEC)的标准指定EEPROM中较低的128个字节430为SPD信息所保 留,然而DIMM通常包括非易失性存储器440的另外的情况,在所述另外的 情况中非易失性存储器440不专用于SPD信息而在此被用作存储器缺陷存 储区域440。
EEPROM 420的存储器缺陷存储区域440用来存储描述RAM 410中缺 陷存储器位置的信息。当存储位置被确定为有缺陷的或者它是通过其他方式 被确定为系统不保证可读取它的,那么包括该待定存储位置的存储块被确 认,并且该存储器位置也被存储在存储器缺陷存储区域440中。在DIMM中 放置存储器缺陷存储区域是有好处的,这样能使DIMM中的存储器位置在 信息处理系统中被更多的利用,并所述存储位置可以用来存储该信息。另外, 在DIMM自身内放置存储器缺陷映射表具有优越性,因为存储器缺陷信息 被保留在DIMM里,使得在DIMM从一台计算机转移到另一台计算机的情 况下DIMM的缺陷信息能够随DIMM —起传递。虽然存储器缺陷存储区域 440为缺陷存储器位置的确定提供了专用位置,但缺陷映射表仍不必存储在 EEPROM 420中的非易失性位置中。相反的,计算机系统可以接入的任何形 式的非易失性存储区域都能用来储存缺陷存储器位置的记录。
存储器缺陷存储位置的内容是存储器缺陷映射表,其中映射表上的每一 项对应于相关的DIMM 400上的物理地址区域。映射表中的每一个指定区域 的大小是由DIMM分布在映射表中允许的项数上的存储容量所定义的。从 而被指定为有缺陷的存储器块的大小就DIMM容量除以缺陷映射表中的比 特数。存储器缺陷映射表的可用空间越大,可被指定为有缺陷的存储器块的 大小就越小。
在一个实施方式中,存储器缺陷存储区域中存储器缺陷映射表的每一个 比特对应于DIMM中的一个存储块。存储器缺陷映射表的大小可以视情况 调整,既可以使存储器映射表的大小为最小也可以使存储器映射表的解析度 (resolution)最大,这样可以有更多的可用存储器。如果用于存储器映射表 的存储空间非常宝贵,可以通过使存储器映射表中的每个比特对应DIMM中 RAM的大的存储块来减小映射表的大小。如果可用存储器的数量最大化被 认为是更重要的,可以增加存储器映射表的解析度和大小,使得区分缺陷存
储器单元时更加细化,这样可以使更少的可用单元同周围的缺陷存储器单元 合在一起而被指定为不可用。被指定为不可用的存储器单元聚合成组被称为 缺陷块,所述组包括缺陷存储器单元和与与缺陷存储器单元聚合的可用单
元。例如在包括4GB的RAM的系统中,缺陷存储器映射表的大小被限制为 80字节(640比特),每当检测到缺陷存储器单元,6.4MB (4GB/80字节) 的存储空间就被阻止而视为不可用空间,即使只有一个单元被认为是有缺陷 的也是如此。这样,增加缺陷存储器映射表的大小可以使更少的可用存储器 单元同周围的有缺陷存储器单元合在一起而被指定为不可用。
另一个实施方式中,缺陷映射表中可以每一项使用一个字节。这会使映 射表的大小变大很多,但每一个缺陷单元所浪费的存储空间会小很多。缺陷 映射表最初表示为映射表中的每一项对应于DIMM中的一存储区域。缺陷 映射表中每一项长8比特。每个8比特项的1比特标志着区域是否是具有缺 陷比特的区域。每项的其余7比特用来作为指定存储器区域中的至少一个子 块的地址。这样,与缺陷映射表中的每个8比特项相对应的每个存储区域就 被分为27 (128)个子块,每个项中的7个比特被用作指向含有缺陷存储单 元大区域中的特定子块的地址。这种映射表在精度(granularity)与映射表 大小之间具有相同的平衡,但它提供了一种以更高的精度管理缺陷映射表的 有效方法。
如果缺陷区域的数目有一个明确的上限,另一个DIMM中缺陷映射表 的实施方式适用于要求高精度和小映射表的情况。在这种缺陷映射表中,存 储器缺陷映射表的每项的大小都基于映射表可用空间和所选缺陷区域的数 目而被最大化。例如如果SPD有64字节(512比特)可用于缺陷映射表, 并且选择上限为40个缺陷区域,每项的大小是512比特除以40可用项,即 每项16比特。与其他例子不同,没有一个比特是用来标志区域是否可用或 者有缺陷。相反的,所有的比特都被用作DIMM上从最低的存储地址起始
的偏移指针。随着存储器缺陷的不断发现,项的数量不断增加,每一增加的 项表示从该指针开始的区域含有缺陷存储单元。这种类型的映射表有更高的 精度(每个缺陷浪费的存储空间更少)并占用更小的存储空间,但存储器不 能支持多于给定数目的缺陷区域。任何额外的缺陷都不会被加入到映射表 中,要么置之不理要么只能选择其他一些方法处理。
信息处理系统可以包括多个DIMM。在信息处理系统进行操作期间,每 个DIMM的存储器存储单元中的存储器缺陷映射表可以在信息处理系统的 存储器中被合并到一起,构成整体存储器缺陷映射表,该整体存储器缺陷映 射表能够确定整个信息处理系统的缺陷存储器。这样,在信息处理系统进行 操作期间,缺陷存储器位置是已知的并能在进行计算操作时不加以使用。如 果在信息处理系统进行操作时又发现了另外的缺陷存储器位置,这些位置会 被实时地添加到整体存储缺陷映射表上。如果在信息处理系统进行操作时发 现了缺陷存储器位置,指向所述缺陷存储块的缺陷存储器指针在系统存储器 中地存储器地址上建立,所述存储器地址高于或者大于信息处理系统的 DIMM的存储空间。根据信息处理系统中DIMM的数目,项的前一、前二 或前三比特作为DIMM索引来指示包含缺陷存储器块的DIMM。缺陷存储 器指针的其余地比特作为块索引来指示被影响的DIMM中的缺陷存储块的 位置。通过用DIMM上缺陷存储单元的物理地址除以为信息处理系统中 DIMM建立的缺陷块的给定块大小而创建块索引。在这种方式中,创建的索 引中含有包括存储器中的项,所述存储器中的项包括(a)包括缺陷的DIMM 的索引(b) DIMM中存储块的索引。在该指针创建之后,该指针被添加到 整体存储器缺陷映射表中,使得缺陷存储块在信息处理系统的操作过程中不 被使用。
图5是可用存储器映射表的创建流程图。在步骤500信息处理系统初始 化之后,在步骤510通电自检程序(POST)相位开始。在POST期间,存 储设备被确定,并且通过对每一个器件的分别检索可以得到存储器的缺陷映
射表(步骤520)。在步骤530,缺陷映射表是缺陷存储器位置的映射表。在 步骤540,创建已排除存储器缺陷映射表中所确定的存储器位置的可用存储 器映射表。这样,即使存储器器件包含有缺陷存储器,缺陷存储器位置也已 经被从操作系统创建的可用存储器映射表中映射排除。
虽然关于信息操作系统中的DIMM的操作描述了本发明,但应该认识 到,这里所描述的系统和方法同样适用于任何其它可能会出现缺陷的物理存 储设备。例如与本发明一致,磁存储设备可以与其他包括磁存储设备缺陷映 射表的非易失性存储设备相结合。
虽然本发明己经进行了详细的描述,但是应该理解到,在不偏离附加的 权利要求所述的本发明的精神和范围的情况下,各种改变、替换、变化都是 能够可以的。
权利要求
1.一种用于管理存储器缺陷的系统,该系统包括第一容量存储器;第二容量存储器;存储器缺陷映射表,其中所述存储器缺陷映射表包含关于所述第一容量存储器的信息并被存储在所述第二容量存储器中。
2、 根据权利要求1所述的系统,其中所述第二容量存储器是非易失性的。
3、 根据权利要求1所述的系统,其中所述第一容量存储器和第二容量 存储器物理上相连。
4、 根据权利要求1所述的系统,其中所述第一容量存储器是随机存取 存储器。
5、 根据权利要求1所述的系统,其中所述第二容量存储器是只读存储器。
6、 根据权利要求1所述的系统,其中只读存储器的一部分被保留给串 行存在检査信息。
7、 根据权利要求1所述的系统,其中所述第一容量存储器和第二容量 存储器被包含于双列直插式存储模块中。
8、 一种用于管理存储器缺陷的方法,该方法包括 检测第一容量存储器的缺陷部分; 创建存储器缺陷映射表; 存储所述存储器缺陷映射表;以及根据存储在所述存储器缺陷映射表中的信息来限制信息处理系统访问 所述第一容量存储器。
9、 根据权利要求8所述的系统,其中所述存储器缺陷映射表被存储在 第二容量存储器中。
10、 根据权利要求8所述的系统,其中所述存储器缺陷映射表和所述第 一容量存储器物理上相连。
11、 根据权利要求8所述的系统,其中所述存储器缺陷映射表被用来防 止运行于所述信息处理系统上的操作系统访问缺陷存储器。
12、 一种用来创建存储器缺陷映射表的方法,该方法包括 确定用于存储器缺陷映射表的可用存储容量; 确定将被所述存储器缺陷映射表所映射的存储器容量;以及 对应于用于所述存储器缺陷映射表的存储容量把将被映射的所述存储器容量分成若干区域;在对应于将被映射的存储区域的存储器缺陷映射表的项中存储关于各 个存储区域中缺陷存储器的存在的信息。
13、 根据权利要求12所述的方法,其中每项包含一个比特。
14、 根据权利要求12所述的方法,其中每项包含一个字节。
15、 根据权利要求12所述的方法,其中每项的单独一个比特指示相应 存储区域中缺陷存储器的存在。
16、 根据权利要求12所述的方法,还包括以下步骤 在所述存储器缺陷映射表的每项的可用比特中存储更加具体地指明相关存储区域内的缺陷存储器的位置的地址信息。
17、 一种用来创建存储器缺陷映射表的方法,该方法包括以下步骤确定将被存储器缺陷映射表寻址的存储器容量; 确定将被存储器缺陷映射表寻址的最大数量的缺陷存储区域;以及 存储每个缺陷存储区域的位置的参考地址,直到达到了最大数量的缺陷 存储区域。
18、 根据权利要求n所述的方法,还包括以下步骤 确定用于存储器缺陷映射表的可用存储容量;根据用于存储器缺陷映射表的可用存储容量以及将被寻址的缺陷存储 区域的最大数量来确定每个参考地址的最大可用存储空间;根据每个参考地址的存储容量以及将被寻址的存储器容量来给可能的 最小存储区域定址。
19、 一种用来减少存储器缺陷映射表的碎片的方法,该方法包括以下步骤在存储器缺陷映射表中搜索那些相互之间具有特定数量的存储块的缺 陷块;以及修改所述存储器缺陷映射表来将所介入的存储块指定为缺陷存储块。
20、权利要求19所述的方法,还包括以下步骤 根据被修改的存储器缺陷映射表来创建可用存储器映射表。
全文摘要
本发明在此公开一种用于管理信息处理系统中存储器缺陷的系统和方法。在信息处理系统中,第一容量存储器例如随机存取存储器,可以包含有缺陷的存储器部分。第二容量存储器与所述第一容量存储器在物理上连接,并用来存储存储器缺陷映射表,该映射表包含关于第一容量存储器中的缺陷部分的位置的信息。所述存储器缺陷映射表会被BIOS或操作系统所参考,从而避免使用包含有缺陷存储器部分的存储区域。
文档编号G06F12/02GK101369245SQ20081014571
公开日2009年2月18日 申请日期2008年8月11日 优先权日2007年8月14日
发明者B·S·特拉维斯, F·E·诺罗德, J·D·派克, M·P·哈尔特里 申请人:戴尔产品有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1