CN102681868A - 引导信息处理系统的方法和执行该方法的信息处理系统 - Google Patents
引导信息处理系统的方法和执行该方法的信息处理系统 Download PDFInfo
- Publication number
- CN102681868A CN102681868A CN2011104563384A CN201110456338A CN102681868A CN 102681868 A CN102681868 A CN 102681868A CN 2011104563384 A CN2011104563384 A CN 2011104563384A CN 201110456338 A CN201110456338 A CN 201110456338A CN 102681868 A CN102681868 A CN 102681868A
- Authority
- CN
- China
- Prior art keywords
- memory device
- processor
- volatile memory
- test
- system configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2284—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2289—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by configuration test
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种对包括在引导操作期间被选择性地测试的易失性存储器器件的信息处理系统进行引导的方法,该方法包含:从信息处理系统读取当前系统配置信息的步骤;把当前系统配置信息与非易失存储器器件中相应的预先存储的系统配置信息进行比较的步骤;以及根据比较结果选择性地执行对易失性存储器器件的测试的步骤。一种信息处理系统包含:电路板;安装在电路板上的处理器;安装在电路板上并耦合到处理器的易失性存储器器件;以及被配置成存储电路板、处理器和易失性存储器器件的序列号的非易失性存储器器件,其中,处理器被配置成用于监视测试易失性存储器器件的触发条件,并被配置成选择性地执行用于检查易失性存储器器件中的存储器单元的测试和用于优化连接在易失性存储器器件和处理器之间的信道的信号完整性的训练。
Description
相关申请的交叉引用
本申请要求2011年1月25日在韩国知识产权局(KIPO)递交的第2011-0007119号韩国专利申请的优先权,其全部内容通过引用被包含完全包含于此。
技术领域
本发明概念涉及引导信息处理系统的方法和执行该方法的信息处理系统。更具体地,本发明概念涉及通过选择性地测试信息处理系统中的易失性存储器系统来减少引导时间。
背景技术
信息处理系统复杂性的增加已导致信息处理系统引导时间的相应的增加。相反,信息处理系统的客户已要求与系统复杂性程度无关地能够尽可能快地激活和使用的信息处理系统。因此,需要减少引导时间
发明内容
在本发明概念的实施例中,一种对包括在引导操作期间被选择性地测试的非易失存储器器件的信息处理系统进行引导的方法,该方法包含:从信息处理系统读取当前系统配置信息的步骤;把当前系统配置信息与非易失存储器器件中相应的预先存储的系统配置信息比较的步骤;以及根据比较结果选择性地执行对易失性存储器器件的测试的步骤。
在进一步的实施例中,信息处理系统包括处理器、电路板和易失性存储器器件作为系统配置。易失性存储器器件是多个动态随机存取存储器(DRAM)的存储器模块。或者,易失性存储器器件是一个或多个移动动态随机存取存储器(DRAM)。存储器模块包括串行存在检测(SPD)存储器的非易失性存储器器件。或者,非易失性存储器器件是基本输入输出系统(BIOS)存储器器件。
在进一步的实施例中,读取当前系统配置信息的步骤包含从处理器提取处理器的当前序列号的步骤,从BIOS存储器器件提取电路板的当前序列号的步骤;以及从串行存在检测(SPD)存储器器件提取存储器模块的当前序列号的步骤。
在进一步的实施例中,选择性地执行测试的步骤包含步骤:如果当前系统配置信息不和预先存储的系统配置信息匹配,则执行用于检查易失性存储器器件的存储器单元的测试;把执行用于检查存储器单元的测试的步骤的测试结果存储在非易失性存储器器件中;以及把当前系统配置信息存储在非易失性存储器器件中。执行检查存储器单元的测试的步骤由内置自测逻辑执行。选择性地执行测试的步骤还包含用于优化连接到易失性存储器器件的信道的信号完整性的训练步骤。选择性地执行测试的步骤还包含以下步骤:如果当前系统配置信息和相应的存储的系统配置信息匹配,则把预先存储在非易失性存储器器件中的测试结果应用于信息处理系统而不执行用于检查存储器单元的测试和用于优化信道的信号完整性的训练。
在本发明概念的另一实施例中,一种对包括易失性存储器器件的信息处理系统进行引导的方法包含监视用于测试易失性存储器器件的触发条件的步骤。所述方法还包含以下步骤:如果检测到触发条件,则执行用于检查易失性存储器器件中的失效存储器单元的测试和用于优化连接到易失性存储器器件的信道的信号完整性的训练。所述方法还包含以下步骤:如果未检测到触发条件,则跳过用于检查失效的存储器单元的测试和用于优化信道的信号完整性的训练。
在进一步的实施例中,触发条件是系统配置变化、工作温度变化的预定量、先前操作的异常终止、和在不测试易失性存储器设备的情况下连续引导操作的预定数量中的一个或多个。系统配置变化是当前引导操作中的处理器、电路板和易失性存储器器件的序列号与存储在非易失性存储器器件中的处理器、电路板和易失性存储器设备的序列号的任何变化。工作温度的变化是存储在非易失性存储器器件的工作温度和当前引导操作的工作温度之间的预定量的差。异常终止是通过检查指示信息处理系统在先前操作中如何终止的终止标志来检测的。
在进一步的实施例中,所述方法还包含把引导计数和连续引导操作的预定数量进行比较的步骤;以及每次在信息处理系统被引导而在先前引导操作期间未测试易失性存储器器件时把引导计数增加1的步骤。
在本发明概念的另一实施例中,一种信息处理系统包含:电路板;安装在电路板上的处理器;安装在电路板上并耦合到处理器的易失性存储器器件;以及被配置成存储电路板、处理器和易失性存储器器件的序列号的非易失性存储器器件,其中,处理器被配置成用于监视测试易失性存储器器件的触发条件,并被配置成选择性地执行用于检查易失性存储器器件中的存储器单元的测试和用于优化连接在易失性存储器器件和处理器之间的信道的信号完整性的训练。
在进一步的实施例中,触发条件是系统配置变化、工作温度变化的预定量、先前操作的异常终止、和在不测试易失性存储器设备的情况下连续引导操作的预定数量中的一个或多个。系统配置变化是当前引导操作中的处理器、电路板和易失性存储器设备的序列号与存储在非易失性存储器设备中的处理器、电路板和易失性存储器设备的序列号的任何变化。
附图说明
根据结合附图的以下详细描述,将更清晰地理解说明性、非限制性的示例实施例。在附图中:
图1是示出根据本发明概念的实施例的、引导信息处理系统的方法的流程图;
图2是示出根据本发明概念的实施例的、信息处理系统的例子的框图;
图3是示出根据本发明概念的实施例的、引导信息处理系统的方法的流程图;
图4是示出执行图3的引导方法的信息处理系统的例子的框图;
图5是示出执行图3的引导方法的信息处理系统的另一例子的框图;
图6是示出根据本发明概念的实施例的、引导信息处理系统的方法流程图;
图7是示出执行图6的引导方法的信息处理系统的例子的框图;
图8是示出执行图6的引导方法的信息处理系统的另一例子的框图;
图9是示出根据本发明概念的实施例的、引导信息处理系统的方法的流程图;
图10是示出执行图9的引导方法的信息处理系统的例子的框图;
图11是示出执行图9的引导方法的信息处理系统的另一例子的框图;
图12是示出根据本发明概念的实施例的、引导信息处理系统的方法的流程图;
图13是示出执行图12的引导方法的信息处理系统的例子的框图;
图14是示出执行图12的引导方法的信息处理系统的另一例子的框图;
图15A到图15F是示出根据本发明概念的实施例的存储器模块的例子的图;
图16A到图16D是示出根据本发明概念的实施例的存储器接口的例子的图;
图17是示出根据本发明概念的实施例的移动系统的框图;以及
图18是示出根据本发明概念的实施例的服务器系统的框图。
具体实施方式
此后将参考附图更全面地描述各种示例实施例,在附图中示出了某些示例实施例。但是,本发明概念可以用很多不同的形式具体实施,并且不应被解释为受限于这里所阐述的示例实施例。在附图中,为了清晰可能对层和区域的大小和相对大小进行放大。
将会理解,当元素或者层被称为在另一元素或者层“上”、“连接到”或者“耦合到”另一元素或者层时,该元素或者层可能直接在该另一元素或者层上、连接或者耦合到该另一元素或者层,或者,可能存在中间元素或者层。相反,当元素被称为“直接在...上”、“直接连接到”或者“直接耦合到”另一元素或者层时,则不存在中间元素或者层。相同的数字通篇指示相同的元素。如这里所使用的,术语“和/或”包括所列举的相关项目中的一个或多个的任意组合和全部组合。
将会理解,尽管本文可能使用术语第一、第二、第三等来描述各种元素、部件、区域、层和/或部分,但是这些元素、部件、区域、层和/或部分不应受这些术语限制。这些术语仅用来将一个元素、部件、区域、层或部分与另一元素、部件、区域、层或部分区别。因此,下面讨论的第一元素、第一部件、第一区域、第一层或第一部分可以被称为第二元素、第二部件、第二区域、第二层或第二部分而不偏离本发明概念的教导。
为了便于描述如图所示的一个元素或者特征与其他元素或者特征的关系,本文可能使用空间上相对的术语,例如“在...之下”、“在...下面”、“下方”、“在...上面”、“上方”等。将会理解,除了图中描绘的定向之外,空间上相对的术语旨在包含设备在使用或者操作中的不同定向。例如,如果图中的设备被反转,则被描述为“在其他元素或者特征下面”、“在其他元素或者特征之下”的元素将被定向为“在其他元素或者特征上面”。因此,示范性术语“在...下面”能够包含上面和下面的定向。设备可被不同地定向(旋转90度或者处于其他定向),并且相应地解释这里所使用的空间上相对的描述语。
这里使用的术语仅仅是出于描述具体示例实施例的目的,并非旨在限制本发明概念。如这里中所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确规定。还将会理解,当在本说明书中使用时,术语“包含”表示存在所描述的特征、整体、步骤、操作、元素、和/或部件,但是不排除存在或者添加一个或更多个其他特征、整体、步骤、操作、元素、部件、和/或其组合。
这里参考剖视图描述了示范性实施例,这些剖视图是理想化示例实施例(和中间结构)的示意性图示。这样,例如制造技术和/或容差所导致的图示形状的偏差是预期的。因此,示例实施例不应该被解释为对这里示出的区域的特定形状的限制,而是包括例如由制造而导致的形状的偏差。例如,被示出为矩形的注入区域通常将具有圆形或者弯曲特征和/或在其边缘具有注入浓度的梯度,而非从注入区域到非注入区域的突变。同样地,通过注入形成的掩埋区可能导致掩埋区和注入通过其发生的表面之间的区域中的某种注入。因此,在图中示出的区域在本质上是示意性的,并且其形状并非旨在示出器件区域的实际形状,并且也并非旨在限制本发明概念的范围。
除非另外限定,否则这里使用的所有术语(包括技术和科学术语)具有与本发明概念所属技术领域技术人员通常理解的相同的含义。还将会理解,例如在常用词典中定义的那些术语应该被解释为具有与其在相关领域中的含义一致的含义,并且除非本文明确限定,否则不应以理想化或者过于正规的方式对其进行解释。
图1是示出根据本发明概念的实施例的、引导信息处理系统的方法的流程图。
参考图1,当信息处理系统被引导时,当前系统配置与存储的系统配置进行比较(S110)。例如,在信息处理系统上电的情况下、在信息处理系统被复位的情况下、或者在信息处理系统的功率状态转换的情况下,当前系统配置可以与存储的系统配置进行比较。
这里,存储的系统配置是信息处理系统先前被引导时已被存储在信息处理系统中所包括的非易失性存储器器件中的配置。此外,当前系统配置是信息处理系统当前被引导时的配置。例如,信息处理系统可以包括处理器、电路板、至少一个设备和非易失性存储器器件,并且该处理器、电路板和至少一个设备的当前系统配置可以与存储的处理器、电路板和至少一个设备的系统配置进行比较。在这种情况下,为了把当前系统配置与存储的系统配置进行比较,读取存储的处理器、电路板和至少一个设备的标识信息作为存储的系统配置,获取处理器、电路板和至少一个设备的当前标识信息作为当前系统配置,并且当前标识信息可以与存储的标识信息进行比较。在某些实施例中,每一设备的标识信息可以包括设备的类型、设备的校正、设备的序列号等。
即使功率未被供应给非易失存储器器件,非易失存储器器件也可以保留处理器、电路板和至少一个设备的已存储的标识信息。非易失存储器器件可以是信息处理系统中所包括的任何非易失存储器器件。在某些实施例中,非易失存储器器件可以包括在至少一个设备中。在其他实施例中,非易失存储器器件可以是存储信息处理系统的引导代码的基本输入输出系统(BIOS)存储器器件。例如,非易失存储器器件可以包括电可擦除可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、快闪存储器、相变随机存取存储器(phase change random access memory,PRAM)、电阻随机存取存储器(resistance random access memory,RRAM)、纳米浮栅存储器(nano floating gate memory,NFGM)、聚合物随机存取存储器(polymerrandom access memory,PoRAM)、磁随机存取存储器(magnetic random accessmemory,MRAM)、铁电随机存取存储器(ferroelectric random access memory,FRAM)等。
根据当前系统配置和存储的系统配置的比较结果选择性地测试至少一个设备(S130)。例如,如果当前系统配置和存储的系统配置不同,则可以测试该至少一个设备,并且,如果当前系统配置和存储的系统配置相同,则可以不测试该至少一个设备。
这里,对至少一个设备的测试可以包括至少一个设备的内置自测(built-inself-test,BIST)、和/或对至少一个设备的训练。此外,至少一个设备可以包括在引导信息处理系统期间典型地对其执行测试的任何设备。在某些实施例中,至少一个设备可以是易失性存储器器件,例如动态随机存取存储器(DRAM)。更具体地,DRAM包括用于例如笔记本和智能电话的移动信息处理系统的移动DRAM。或者,至少一个设备是多个DRAM的存储器模块、图形卡或者处理器。例如,如果当前系统配置和存储的系统配置相同,或者如果和先前引导操作期间的系统配置相比,当前引导操作期间的系统配置尚未变化,则存储器器件、存储器模块、图形卡或者处理器的BIST和/或训练可不被执行。
如果当前系统配置和存储的系统配置不同,则可以执行对至少一个设备的测试。例如,在信息处理系统被首次引导的情况下,或者在处理器、电路板或者至少一个设备被更换的情况下,可以执行测试。在测试之后,测试结果可以被存储在非易失性存储器器件中,并且,当前系统配置可以被存储在非易失性存储器器件中,作为存储的系统配置。在随后的引导操作期间,存储在非易失性存储器器件中的当前系统配置可以用作存储的系统配置。
如果当前系统配置和存储的系统配置相同,则可以不执行测试,可以从非易失性存储器器件读取在先前的引导操作期间所存储的测试结果,并且读取的测试结果可以应用于至少一个设备或者信息处理系统。
如上所述,在根据示例实施例的引导信息处理系统的方法中,可以根据系统配置是否被改变选择性地执行对至少一个设备的测试,例如BIST、训练等,藉此减小引导时间和功耗。
图2是示出根据本发明概念的实施例的信息处理系统的例子的框图。
参考图2,信息处理系统200包括处理器210、输入/输出集线器220、输入/输出控制器集线器230、至少一个存储器模块240、图形卡250和BIOS存储器器件260。在某些实施例中,信息处理系统200可以是任何信息处理系统,例如个人计算机(PC)、服务器计算机、工作站、平板计算机、膝上型计算机、移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、数字电视、机顶盒、音乐播放器、便携式游戏机、导航设备等。
处理器210可以安装在例如母板、主板等的电路板(未示出)上。处理器210可以执行特定计算或者任务。例如,处理器210可以是微处理器、中央处理单元(CPU)、数字信号处理器等。处理器210可以包括任何数量的处理器核心。例如,处理器210可以是单核处理器或者多核处理器,例如双核处理器、四核处理器、六核处理器等。在替换的实施例中,信息处理系统200可以包括多个处理器。处理器210可以耦合到处理器210内部或者外部的高速缓冲存储器。
处理器210可以包括对存储器模块240的工作进行控制的存储器控制器215。处理器210中所包括的存储器控制器215可以被称为集成存储器控制器(integrated memory controller,IMC)。在替换的实施例中,存储器控制器215可以被包括在输入/输出集线器220中。包括存储器控制器的输入/输出集线器220可以称为存储器控制器集线器(memory controller hub,MCH)。
输入/输出集线器220可以安装在电路板上,并且可以管理处理器210与例如图形卡250的设备之间的数据转移。输入/输出集线器220可以通过各种接口之一耦合到处理器210,这些接口包括前端总线(front side bus,FSB)、系统总线、超传输、闪电数据传输(lightning data transport,LDT)、快速通道互联(QuickPath interconnect,QPI)和公共系统接口(common systeminterface,CSI)。在替换的实施例中,信息处理系统200可以包括多个输入/输出集线器。
输入/输出集线器220可以给设备提供各种接口,包括加速图形端口(accelerated graphics port,AGP)接口、外围部件接口-快速(peripheralcomponent interface-express,PCIe)和通信流架构(communications streamingarchitecture,CSA)接口。
图形卡250可以通过AGP或者PCIe耦合到输入/输出集线器220。图形卡250可以控制显示图像的显示设备。图形卡250可以包括内部处理器和内部存储器以处理图像。在某些实施例中,当信息处理系统200被引导时,图形卡250的BIST或者内部处理器与内部存储器之间的训练可以被选择性地执行。在替换的实施例中,可以把内部图形设备集成到输入/输出集线器220中。内部图形设备可以称为集成图形卡,并且包括存储器控制器和内部图形设备的输入/输出集线器可以称为图形和存储器控制器集线器(graphics andmemory controller hub,GMCH)。
输入/输出控制器集线器230可以安装在电路板上,并且可以执行数据缓冲和接口仲裁以有效地操作各种系统接口。输入/输出控制器集线器230可以通过各种接口耦合到输入/输出集线器220,这些接口包括直接媒体接口(directmedia interface,DMI)、集线器接口、企业级南桥接口(enterprise Southbridgeinterface,ESI)和PCIe。
输入/输出控制器集线器230可以给外部设备提供各种接口。例如,输入/输出控制器集线器230可以提供通用串行总线(USB)端口、串行先进技术附件(serial advanced technology attachment,SATA)端口、通用输入/输出(general purpose input/output,GPIO)、低引脚数(low pin count,LPC)总线、PCI和PCIe。此外,输入/输出控制器集线器230可以控制连接BIOS存储器器件260的接口。例如,接口可以包括串行外围接口(serial peripheral interface,SPI),以及连接存储器模块240的接口,例如I2C串行总线或者系统管理总线(system management bus,SMBUS)。
BIOS存储器器件260可以存储用于引导信息处理系统200的BIOS代码。BIOS代码可以包括上电自测(power on self test,POST)代码,该POST代码检测例如键盘、存储器模块240和磁盘驱动器的硬件,并检查这些硬件是否正常工作。BIOS代码还可以包括作为POST代码的一部分的、用于初始化存储器模块240的存储器参考代码(memory reference code,MRC)。MRC可以包括用于配置存储器控制器215以便与存储器模块240正常地互操作的各种算法。例如,通过由处理器210执行的MRC,可以通过SMBUS从存储器模块240中所包括的串行存在检测(serial presence detect,SPD)存储器器件读取SPD数据,并且可以基于SPD数据来设置存储器控制器215的参数,例如频率、操作定时等。此外,存储器模块240的BIST和/或训练可以由MRC执行。
存储器模块240可以通过存储器接口耦合到存储器控制器215,并且可以通过SMBUS耦合到输入/输出控制器集线器230。例如,数据、地址和命令可以通过存储器接口在存储器模块240和存储器控制器215之间转移,并且SPD数据可以通过SMBUS在存储器模块240和输入/输出控制器集线器230之间转移。SPD数据可以包括关于存储器240的类型和/或定时的信息。例如,SPD数据可以包括存储器模块240中所包括的存储器器件的类型、存储器模块240的类型、操作定时信息、制造信息、校正代码、序列号等。
存储器模块240和存储器控制器215之间的存储器接口可以由至少一个包括多条信号线的信道实施。每一信道可以耦合到至少一个存储器模块240。通过执行MRC代码,对存储器模块240的训练可以优化存储器模块240和存储器控制器215之间的芯片到芯片连接的信号完整性。
在某些实施例中,处理器210、输入/输出集线器220和输入/输出控制器集线器230可以被实施为单独的芯片组或者单独的集成电路。在其他的实施例中,处理器210、输入/输出集线器220和输入/输出控制器集线器230中的至少两个可以被集成为一个芯片组。包括输入/输出集线器220和输入/输出控制器集线器230的芯片组可以称为控制器芯片组,并且包括处理器210、输入/输出集线器220和输入/输出控制器集线器230的芯片组可以称为处理器芯片组。
此后,下面将参考图2描述引导信息处理系统200的示范性方法。
在信息处理系统200被上电的情况下,在信息处理系统200被复位的情况下,或者在信息处理系统200的功率状态转换的情况下,信息处理系统200可以被引导。在引导操作期间,可以通过SPI读取存储在BIOS存储器器件260中的BIOS代码,并且读取的BIOS代码可以被处理器210执行。
BIOS代码可以包括从信息处理系统200中所包括的非易失性存储器器件读取存储的系统配置的第一指令。存储系统配置的非易失性存储器器件可以是存储器模块240中所包括的SPD存储器器件。在替换的实施例中,存储系统配置的非易失性存储器器件可以是BIOS存储器器件260。
在操作中,当处理器210执行BIOS代码的第一指令时,处理器210获得存储在非易失性存储器器件中的先前引导过程的系统配置。存储在先前引导过程中的系统配置包括在先前引导过程中使用的处理器210、电路板和至少一个设备的标识信息。在某些实施例中,至少一个设备可以包括处理器210、图形卡250、存储器模块240或者其他存储器器件。例如,处理器210、电路板和至少一个设备的标识信息可以包括处理器210、电路板和至少一个设备的序列号。
BIOS代码还可以包括从信息处理系统200获取当前系统配置的第二指令。在某些实施例中,通过执行BIOS代码的第二指令,可以获取处理器210、电路板和至少一个设备的当前标识信息作为当前系统配置。在某些实施例中,MRC可以包括用于获取当前标识信息的第二指令。
在操作中,当处理器210执行第二指令时,处理器210从处理器210、电路板和至少一个设备获得当前标识信息作为当前系统配置。例如,处理器210提取处理器210的当前序列号作为处理器210的当前标识信息。此外,处理器210可以通过SPI从BIOS存储器器件260提取存储的电路板的序列号作为电路板的当前序列号(即电路板的当前标识信息)。此外,在至少一个设备是存储器模块240的情况下,处理器210可以通过SMBUS从存储器模块240中所包括的SPD存储器器件提取存储器模块240的当前序列号作为至少一个设备的当前标识信息。
如果当前标识信息和存储的标识信息不同,则处理器210可以初始化该至少一个设备。初始化至少一个设备包括训练该至少一个设备的步骤以及执行对该至少一个设备的测试(例如BIST或者训练)的步骤。训练至少一个设备的步骤可以包括对该至少一个设备和处理器210之间的信道上的信号完整性的优化。执行对至少一个设备的测试的步骤可以包括功能测试。例如,当至少一个设备包括存储器器件时,功能测试检查存储器单元是否如规范中规定地工作。具体来说,如果在当前引导操作期间提取的处理器210、电路板和至少一个设备的当前序列号和存储在非易失性存储器器件中的处理器210、电路板和至少一个设备的存储的序列号不同,则可以执行对至少一个设备的BIST和/或训练。
当处理器210完成初始化至少一个设备时,BIST的结果和/或训练的结果可以被存储在非易失性存储器器件中,并且当前标识信息(例如,在当前引导操作期间提取的处理器、电路板和至少一个设备的当前序列号)可以被存储在非易失性存储器器件中。在随后的引导操作期间,存储在非易失性存储器器件中的当前标识信息可以用作存储的标识信息。
如果当前标识信息和存储的标识信息相同,则处理器210可以不初始化至少一个设备,并把在先前引导过程中存储在非易失性存储器器件中的训练结果应用于至少一个设备或者信息处理系统200。例如,如果当前序列号和存储的序列号相同,则可以不执行对至少一个设备的BIST和/或训练,并且存储在非易失性存储器器件中的BIST的结果和/或训练的结果可以被应用。例如,对存储器模块240的BIST和训练可以不被执行,并且可以使用存储在非易失性存储器器件中的BIST的结果和/或训练的结果(即,在先前的引导操作期间执行的BIST和训练的结果)设置存储器控制器215和/或存储器模块240的操作参数。
如上所述,当根据示例实施例的信息处理系统200被引导时,可以根据系统配置是否改变选择性地执行对至少一个设备的测试,籍此减少引导时间和功耗。
图3是示出根据示例实施例的引导信息处理系统的方法的流程图,图4是示出执行图3的引导方法的信息处理系统的例子的框图,并且图5是示出执行图3的引导方法的信息处理系统的另一例子的框图。
参考图3、图4和图5,当信息处理系统200a或者200b被引导时,处理器210、电路板(未示出)和存储器模块240a或240b的存储的标识信息282a或262b被读取(S310)。在图4中,可以通过系统管理总线SMBUS从存储器模块240a中所包括的SPD存储器器件280a读取存储的标识信息282a。在图5中,可以通过串行外围接口SPI从BIOS存储器器件260b读取存储的标识信息262b。例如,存储的标识信息282a或者262b可以包括处理器210、电路板和存储器模块240a或240b的存储的序列号。在替换的实施例中,存储的标识信息282a或者262b可以被存储在除了SPD存储器器件280a或者280b以及BIOS存储器器件260a或者260b以外的非易失性存储器器件中。
在信息处理系统200a或者200b的引导操作期间,获取处理器210、电路板和存储器模块240a或240b的当前标识信息(S320)。存储在BIOS存储器器件260a或者260b中的BIOS代码261b可以包括读取当前标识信息的指令,并且处理器210可以通过执行BIOS代码261b获取当前标识信息。例如,处理器210可以通过执行特定指令提取处理器210的当前序列号,可以通过控制器芯片组270和串行外围接口SPI访问BIOS存储器器件260a或者260b提取电路板的当前序列号,并且可以通过控制器芯片组270和系统管理总线SMBUS访问SPD存储器器件280a或280b提取存储器模块240a或240b的当前序列号。
如果当前引导操作期间的当前系统配置和当前引导操作之前存储的系统配置不同,或者,如果当前标识信息和存储的标识信息282a或者262b不同(S330:否),则存储器控制器215可以设置存储器模块240a或240b的操作模式(S340),并且存储器控制器215可以对存储器模块240a或240b执行存储器训练和存储器测试(S350和S360)。例如,在信息处理系统200a或者200b最初被引导的情况下,或者在处理器210、电路板和存储器模块240a或240b中的至少一个被更换的情况下,可以执行存储器训练和存储器测试。
例如,存储器控制器215可以设置存储器模块240a或240b的操作模式,例如突发长度、突发类型、列地址选通(column address strobe,CAS)延时、测试模式、延迟锁定环(delay locked loop,DLL)复位等(S340)。操作模式的设置可以称为模式寄存器设置。此外,存储器控制器215可以执行存储器训练来校准与存储器模块240a或240b的接口(S350)。例如,存储器控制器215可以执行写/读均匀化(write/read leveling)、地址训练、时钟训练、写/读重定位(re-center)训练等。此外,存储器控制器215可以控制存储器模块240a或240b执行BIST作为存储器测试(S360)。例如,存储器模块240a或240b可以被控制执行存储器全单元测试以验证整个存储器单元是否正常工作。
在存储器训练和存储器测试之后,处理器210可以把存储器训练和存储器测试的测试结果283a或263b存储在信息处理系统200a或200b中所包括的非易失性存储器器件中,并且可以把当前标识信息存储在非易失性存储器器件中作为存储的标识信息282a或262b(S370)。在某些实施例中,处理器210可以通过系统管理总线SMBUS把测试结果283a和标识信息282a存储在SPD存储器器件280a中。在其他的实施例中,处理器210可以通过串行外围接口SPI把测试结果263b和标识信息262b存储在BIOS存储器器件260b中。尽管图4示出了测试结果283a和标识信息282a被存储在SPD存储器器件280a中的例子,并且图5示出了测试结果263b和标识信息262b被存储在BIOS存储器器件260b中的例子,但是在某些实施例中,测试结果283a或263b和标识信息282a或262b可以被分别存储在SPD存储器器件280a或者280b中和BIOS存储器器件260a或260b中。在其他实施例中,测试结果283a或263b和标识信息282a或262b可以被存储在除了SPD存储器器件280a或者280b和BIOS存储器器件260a或260b以外的非易失性存储器器件中。
如果当前引导操作期间的当前系统配置和当前引导操作之前存储的系统配置相同,或者,如果当前标识信息和存储的标识信息282a或262b相同(S330:是),则存储器训练和存储器测试可以不被执行。在这种情况下,处理器210可以把存储在非易失性存储器器件中的测试结果283a或263b应用于存储器控制器215和存储器模块240a或240b(S380)。在某些实施例中,处理器210可以从SPD存储器器件280a读取测试结果283a,并且可以把测试结果283a应用于存储器控制器215和存储器模块240a。在其他的实施例中,处理器210可以从BIOS存储器器件260a读取测试结果262b,并且可以把测试结果262b应用于存储器控制器215和存储器模块240b。此外,存储器控制器215可以设置存储器模块240a或240b的操作模式(S390)。
如上所述,在根据示例实施例的引导信息处理系统200a或200b的方法中,可以根据系统配置是否被改变选择性地执行存储器训练和存储器测试,籍此减少引导时间和功耗。
图6是示出根据示例实施例的引导信息处理系统的方法的流程图,图7是示出执行图6的引导方法的信息处理系统的例子的框图,并且图8是示出执行图6的引导方法的信息处理系统的另一例子的框图。
参考图6、图7和图8,当信息处理系统200c或者200d被引导时,处理器210、电路板(未示出)和存储器模块240c或240d的存储的标识信息282c或262d被读取(S410)。在图7中,可以通过系统管理总线SMBUS从存储器模块240c中所包括的SPD存储器器件280c读取存储的标识信息282c和存储的工作温度284c。在图8中,可以通过串行外围接口SPI从BIOS存储器器件260d读取存储的标识信息282d和存储的工作温度284d。例如,存储的标识信息282c或者262d和存储的工作温度284c或264d可以被存储并从相同的非易失性存储器器件(例如,SPD存储器器件280c或者BIOS存储器器件260d)、从不同的非易失性存储器器件、或者从除了SPD存储器器件280c或者280d以及BIOS存储器器件260c或者260d以外的非易失性存储器器件读取。
在信息处理系统200c或者200d的引导操作期间,获取处理器210、电路板和存储器模块240c或240d的当前标识信息以及当前工作温度(S420)。处理器210可以通过执行存储在BIOS存储器器件260c或者260d中的BIOS代码261d获取当前标识信息。此外,处理器210可以控制处理器210内部或者外部的温度传感器(未示出)来获取当前工作温度。
如果当前工作温度在预定范围以外(S430:否),或者,如果尽管当前工作温度在预定范围以内,但是当前标识信息和存储的标识信息282c或者262d不同(S430:是并且S435:否),则存储器控制器215可以设置存储器模块240c或240d的操作模式(S440),并且可以对存储器模块240c或240d执行存储器训练和存储器测试(S450和S460)。预定范围可以基于存储的工作温度确定。例如,预定范围可以是从存储的工作温度减去大约10摄氏度到存储的工作温度加上大约10摄氏度的范围。
在存储器训练和存储器测试之后,处理器210可以把存储器训练和存储器测试的测试结果283c或263d存储在信息处理系统200c或200d中所包括的非易失性存储器器件中,可以把当前标识信息存储在非易失性存储器器件中作为存储的标识信息282c或262d,并且可以存储当前工作温度作为存储的工作温度284c或者264d(S470)。因此,如果执行了存储器训练和存储器测试,则当前引导操作期间的当前工作温度可以用作随后引导操作期间存储发生的时间点的工作温度284c或264d。测试结果283c或263d、标识信息282c或262d以及工作温度284c或264d可以被存储在相同的非易失性存储器器件(例如SPD存储器器件280c或者BIOS存储器器件260d)或者不同的非易失性存储器器件中。
如果当前工作温度在预定范围内并且当前标识信息和存储的标识信息282c或262d相同(S430:是并且S435:是),则可以不执行存储器训练和存储器测试,并且处理器210可以把存储在SPD存储器器件280c或者BIOS存储器器件260d中的测试结果283c或者263d应用于存储器控制器215和存储器模块240c或240d(S480)。此外,存储器控制器215可以设置存储器模块240c或240d的操作模式(S490)。
如上所述,在根据示例实施例的引导信息处理系统200c或200d的方法中,可以根据系统配置是否被改变以及工作温度是否改变选择性地执行存储器训练和存储器测试,籍此减少引导时间和功耗。
图9是示出根据示例实施例的引导信息处理系统的方法的流程图,图10是示出执行图9的引导方法的信息处理系统的例子的框图,并且图11是示出执行图9的引导方法的信息处理系统的另一例子的框图。
参考图9、图10和图11,当信息处理系统200e或者200f被引导时,处理器210、电路板(未示出)和存储器模块240e或240f的存储的标识信息282e或262f以及终止标志284e或264f被读取(S510)。在某些实施例中,可以通过系统管理总线SMBUS从存储器模块240e中所包括的SPD存储器器件280e读取存储的标识信息282e和终止标志284e。在其他实施例中,可以通过串行外围接口SPI从BIOS存储器器件260f读取存储的标识信息282f和终止标志284f。例如,存储的标识信息282e或者262f和终止标志284e或264f可以被存储并从相同的非易失性存储器器件(例如,SPD存储器器件280e或者BIOS存储器器件260f)、从不同的非易失性存储器器件、或者从除了SPD存储器器件280e或者280f以及BIOS存储器器件260e或者260f以外的非易失性存储器器件读取。
当信息处理系统200e或200f被终止时,终止标志284e或264f可以被写入,并且,终止标志284e或264f可以指示信息处理系统200e或200f是否被正常终止。即,终止标志284e或264f可以指示先前的终止是否是正常终止。例如,当信息处理系统200e或200f被正常终止时,处理器210可以把“1”写入终止标志284e或264f中。因此,当信息处理系统200e或200f以后被引导时,处理器210可以基于为“1”的终止标志284e或264f识别到先前的终止是正常终止。此外,在信息处理系统200e或200f被正常引导之后,处理器210可以把“0”写到终止标志284e或264f中。如果信息处理系统200e或200f被异常地终止,则处理器210不能更新终止标志284e或264f。在这种情况下,处理器210可以基于为“0”的终止标志284e或264f识别到先前的终止是异常终止。
在信息处理系统200e或者200f的引导操作期间,获取处理器210、电路板和存储器模块240e或240f的当前标识信息(S520)。处理器210可以通过执行存储在BIOS存储器器件260e或者260f中的BIOS代码261f获取当前标识信息。
如果先前的终止是异常终止(S530:否),或者,如果尽管先前的终止是正常终止,但是当前标识信息和存储的标识信息282e或者262f不同(S530:是并且S535:否),则存储器控制器215可以设置存储器模块240e或240f的操作模式(S540),并且可以对存储器模块240e或240f执行存储器训练和存储器测试(S550和S560)。例如,如果终止标志284e或264f是“1”,则处理器210可以确定先前的终止是正常终止。
在存储器训练和存储器测试之后,处理器210可以把存储器训练和存储器测试的测试结果283e或263f存储在信息处理系统200e或200f中所包括的非易失性存储器器件中,并且可以把当前标识信息存储在非易失性存储器器件中作为存储的标识信息282e或262f(S570)。测试结果283e或263f和标识信息282e或262f可以被存储在相同的非易失性存储器器件(例如SPD存储器器件280e或者BIOS存储器器件260f)或者不同的非易失性存储器器件中。
如果先前的终止是正常终止并且当前标识信息和存储的标识信息282e或262f相同(S530:是并且S535:是),则可以不执行存储器训练和存储器测试,并且处理器210可以把存储在SPD存储器器件280e或者BIOS存储器器件260f中的测试结果283e或者263f应用于存储器控制器215和存储器模块240e或240f(S580)。此外,存储器控制器215可以设置存储器模块240e或240f的操作模式(S590)。
如上所述,在根据示例实施例的引导信息处理系统200e或200f的方法中,可以根据系统配置是否被改变以及先前的终止是否是正常终止选择性地执行存储器训练和存储器测试,籍此减少引导时间和功耗。
图12是示出根据示范性实施例的引导信息处理系统的方法的流程图,图13是示出执行图12的引导方法的信息处理系统的例子的框图,并且图14是示出了图12的引导方法的信息处理系统的另一例子的框图。
参考图12、图13和图14,当信息处理系统200g或者200h被引导时,处理器210、电路板(未示出)和存储器模块240g或240h的存储的标识信息282g或262h以及引导计数284g或264h被读取(S610)。在某些实施例中,可以通过系统管理总线SMBUS从存储器模块240g中所包括的SPD存储器器件280g读取存储的标识信息282g和引导计数284g。在其他实施例中,可以通过串行外围接口SPI从BIOS存储器器件260h读取存储的标识信息282h和引导计数284h。例如,存储的标识信息282g或者262h和引导计数284g或264h可以被存储并从相同的非易失性存储器器件(例如SPD存储器器件280g或者BIOS存储器器件260h)、从不同的非易失性存储器器件、或者从除了SPD存储器器件280g或者280h以及BIOS存储器器件260g或者260h以外的非易失性存储器器件读取。
引导计数284g或264h可以指示在没有存储器训练和存储器测试的情况下连续执行的引导操作的数量。例如,如果执行了存储器训练和存储器测试,则引导计数284g或264h可以被初始化为0,并且,如果信息处理系统200g或200h被引导而未执行存储器训练和存储器测试,则引导计数284g或264h可以增加1。
在信息处理系统200g或者200h的引导操作期间,处理器210、电路板和存储器模块240g或240h的当前标识信息被获取(S620)。处理器210可以通过执行存储在BIOS存储器器件260g或者260h中的BIOS代码261h获取当前标识信息。
如果引导计数284g或264h大于预定值(S630:否),或者,如果尽管引导计数284g或264h等于或者小于预定值,但是当前标识信息和存储的标识信息282g或者262h不同(S630:是并且S635:否),则存储器控制器215可以设置存储器模块240g或240h的操作模式(S640),并且可以对存储器模块240g或240h执行存储器训练和存储器测试(S650和S660)。例如,预定值可以是10,并且,如果信息处理系统200g或者200h被连续引导10次而未执行存储器训练和存储器测试,则在下一次引导操作期间可以执行存储器训练和存储器测试。
在存储器训练和存储器测试之后,处理器210可以把存储器训练和存储器测试的测试结果283g或263h存储在信息处理系统200g或200h中所包括的非易失性存储器器件中,并且可以把当前标识信息存储在非易失性存储器器件中作为存储的标识信息282g或262h(S670)。测试结果283g或263h和标识信息282g或262h可以被存储在相同的非易失性存储器器件(例如SPD存储器器件280g或者BIOS存储器器件260h)或者不同的非易失性存储器器件中。此外,一旦执行了存储器训练和存储器测试,则处理器210可以把引导计数284g或264h初始化为0(S675)。
如果引导计数284g或264h等于或者小于预定值并且当前标识信息和存储的标识信息282g或262h相同(S630:是并且S635:是),则可以不执行存储器训练和存储器测试,并且处理器210可以把存储在SPD存储器器件280g或者BIOS存储器器件260h中的测试结果283g或者263h应用于存储器控制器215和存储器模块240g或240h(S680)。存储器控制器215可以设置存储器模块240g或240h的操作模式(S690)。此外,如果不执行存储器训练和存储器测试,则处理器210可以把引导计数284g或264h增加1(S695)。
如上所述,在根据示例实施例的引导信息处理系统200g或200h的方法中,可以根据系统配置是否被改变以及在没有测试的情况下执行引导操作的数量选择性地执行存储器训练和存储器测试,籍此减少引导时间和功耗。
图15A到图15F是示出根据本发明的概念实施例的存储器模块的例子的图。
参考图15A,存储器模块700a可被实施为无缓冲双列直插存储器模块(unbuffered dual in-line memory module,UDIMM)。存储器模块700a可以包括多个存储器器件DRAM和存储SPD数据的SPD存储器器件710a。存储器器件DRAM可以耦合到数据传输线DQ,并且可以给数据传输线DQ提供片内终结器(on-die termination,ODT)。存储器器件DRAM还可以以树状拓扑耦合到命令/地址传输线CA。SPD存储器器件710a可以通过系统管理总线耦合到外部芯片组。在某些实施例中,可以采用使用参考数据电压和参考命令/地址电压的伪差分信令以转移数据和命令/地址。
参考图15B,存储器模块700b可以被实施为UDIMM。存储器模块700b可以包括多个存储器器件DRAM、模块终结电阻器单元710b和存储SPD数据的SPD存储器器件720b。模块终结电阻器单元710b可以耦合到命令/地址传输线CA的一端。命令/地址传输线CA可以以飞越菊花链拓扑(fly-bydaisy-chain topology)耦合到存储器器件DRAM。SPD存储器器件720b可以通过系统管理总线耦合到外部芯片组。存储器模块700b可以执行读/写均匀化。
参考图15C,存储器模块700c可以被实施为寄存双通道存储器模块(registered dual in-line memory module,RDIMM)。存储器模块700c可以包括多个存储器器件DRAM、命令/地址寄存器710c、模块电阻器单元720c和725c、以及存储SPD数据的SPD存储器器件730c。命令/地址寄存器710c可以通过命令/地址传输线CA向存储器器件DRAM提供命令/地址信号,并且模块电阻器单元720c和725c可以耦合到命令/地址传输线CA的两端。命令/地址寄存器710c可以以菊花链拓扑耦合到存储器器件DRAM。SPD存储器器件730c可以通过系统管理总线耦合到外部芯片组。
参考图15D,存储器模块700d可以被实施为RDIMM。存储器模块700d可以包括多个存储器器件DRAM、命令/地址寄存器710d、模块电阻器单元720d和存储SPD数据的SPD存储器器件730d。命令/地址寄存器710d可以通过命令/地址传输线CA向存储器器件DRAM提供命令/地址信号,并且模块电阻器单元720d可以耦合到命令/地址传输线CA的一端。命令/地址寄存器710d可以以飞越菊花链拓扑耦合到存储器器件DRAM。SPD存储器器件730d可以通过系统管理总线耦合到外部芯片组。存储器模块700d可以执行读/写均匀化。
参考图15E,存储器模块700e可以被实施为全缓冲双通道存储器模块(fully buffered dual in-line memory module,FBDIMM)。存储器模块700d可以包括多个存储器器件DRAM、集线器(hub)710e和存储SPD数据的SPD存储器器件720e。集线器710e可以通过对从存储器控制器接收的高速分组进行转换来提供命令/地址信号和数据。例如,集线器710e可以是先进存储器缓冲器AMB。SPD存储器器件720e可以通过系统管理总线耦合到外部芯片组。
参考图15F,存储器模块700f可以被实施为降负载双通道存储器模块(1oad reduced dual in-line memory module,LRDIMM)。存储器模块700f可以包括多个存储器器件DRAM、缓冲器710f和存储SPD数据的SPD存储器器件720f。缓冲器710f可以通过对通过多个传输线来自存储器控制器的命令/地址信号和数据进行缓冲来提供命令/地址信号和数据。SPD存储器器件720f可以通过系统管理总线耦合到外部芯片组。
缓冲器710f和存储器器件DRAM之间的数据传输线可以以点对点拓扑耦合。缓冲器710f和存储器器件DRAM之间的命令/地址传输线可以以多分支拓扑、菊花链拓扑、飞越菊花链拓扑等耦合。由于缓冲器710f既缓冲命令/地址信号也缓冲数据,因此存储器控制器可以通过只驱动缓冲器710f的负载与存储器模块700f连接。因此,存储器模块700f可以包括更多的存储器设备DRAM和更多的存储器组,并且存储器系统可以包括更多的存储器模块。
图16A到图16D是示出根据本发明概念实施例的存储器接口的例子的图。
图16A示出了存储器控制器210和存储器模块240之间的接口。参考图16A,存储器控制器210可以分别通过控制信号线和地址信号线把控制信号C/S和地址信号ADDR传送到存储器模块240。例如,控制信号C/S可以包括CLE信号、ALE信号、/CE信号、/RE信号、/WE信号、/WP信号、R/B信号等。数据DQ可以沿两个方向转移:从存储器控制器210到存储器模块240,以及从存储器模块240到存储器控制器210。
参考图16B,存储器控制器210可以把分组化的控制信号和地址信号C/A分组传送到存储器模块240。数据DQ可以沿两个方向转移。
参考图16C,存储器控制器210可以把分组化的控制信号、地址信号和写信号C/A/WD分组传送到存储器模块240。输出数据Q可以沿从存储器模块240到存储器控制器210的一个方向转移。
参考图16D,存储器控制器210可以把控制信号C/S传送到存储器模块240。命令、地址和数据C/A/DQ可以沿两个方向都转移。
图17是示出根据本发明概念的实施例的移动系统的框图。
参考图17,移动系统800包括调制解调器810(例如基带芯片组)、应用程序处理器820、非易失性存储器器件830、易失性存储器器件840、用户接口850和电源860。例如,移动系统800可以是移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(PMP)、数码相机、便携式游戏机、音乐播放器、摄像机、视频播放器等。
调制解调器810可以解调通过天线(未示出)接收的无线数据以便把解调的数据提供给应用程序处理器820,并且可以调制从应用程序处理器820接收的数据以便把调制的数据通过天线提供给远程设备(未示出)。例如,调制解调器810可以是提供有线或者无线通信的调制解调器处理器,该有线或者无线通信包括GSM、GPRS、WCDMA、HSxPA和LTE。应用程序处理器820可以执行提供互联网浏览器、三维地图、游戏、视频等的应用程序。非易失性存储器器件830可以存储用于引导移动系统800的引导代码和易失性存储器器件840的序列号。例如,非易失性存储器器件830可以由EEPROM、快闪存储器、PRAM、RRAM、NFGM、PoRAM、MRAM、FRAM等实施。易失性存储器器件840可以存储被调制解调器810转移的数据和被应用程序处理器820处理的数据,或者可以作为工作存储器运行。例如,易失性存储器器件840可以由动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、移动DRAM等实施。用户接口850可以包括至少一个输入设备,例如键盘、触摸屏等,以及至少一个输出设备,例如显示设备、扬声器等。电源860可以给移动系统800提供功率。在某些实施例中,移动系统800还可以包括相机图像处理器(camera image processor,CIS)。
应用程序处理器820可以使用存储在非易失性存储器器件830中的标识信息选择性地执行对至少一个设备(例如易失性存储器器件840)的训练和测试。因此,移动系统800的引导时间可以被减少,并且功耗可以被减少。
在某些实施例中,移动系统800和/或移动系统800的部件可以以各种形式封装,例如堆叠封装(package on Package,POP)、球栅阵列(Ball GridArrays,BGA)、芯片级封装(Chip Scale Package,CSP)、塑料有引线芯片载体(PlasticLeaded Chip Carrier,PLCC)、塑料双列直插封装(Plastic Dual In-line Package,PDIP)、华夫盘中管芯(Die in Waffle Pack)、晶圆形式中的管芯(Die in WaferForm)、板上芯片(chip on board,COB)、陶瓷双列直插封装(Ceramic DualIn-line Package,CERDIP)、塑料公制四方扁平封装(Plastic Metric Quad FlatPack,MQFP)、薄扁平封装(Thin Quad Flat Pack,TQFP)、小外形集成电路(Small Outline Integrated Circuit,SOIC)、收缩型小外形封装(Shrink SmallOutline Package,SSOP)、薄小外形封装(Thin Small Outline Package,TSOP)、封装系统(System In Package,SIP)、多芯片封装(Multi Chip Package,MCP)、晶圆级制造封装(Wafer-level Fabricated Package,WFP)或者晶圆级处理堆叠封装(Wafer-level Processed Stack Package,WSP)。
图18是示出根据本发明概念的实施例的服务器系统的框图。
图18示出了服务器系统900包括800个机架910、每一机架910包括25个服务器计算机911的例子。总的来说,服务器系统900可以包括20,000个服务器计算机911。
服务器系统900可以采用功率分布单元(power distribution unit,PDU)来稳定地供应功率。当服务器系统900被引导时,PDU可以允许服务器计算机911以机架为基础被引导。如果服务器计算机911的系统配置未被改变,则每一服务器计算机911可以被引导而不执行存储器训练和存储器测试。因此,由于存储器训练和存储器测试花费大约10秒,每一服务器计算机911的引导时间可以被减少大约10秒。此外,当服务器系统900被引导时,由于服务器计算机911以机架为基础被引导,服务器系统900的引导时间可以被减少大约8000秒。此外,在服务器系统900中,由于不执行存储器训练和存储器测试,功耗可以被减小。
本发明概念可以被应用于任何信息处理系统,例如个人计算机(PC)、服务器计算机、工作站、平板计算机、膝上型计算机、移动电话、智能电话、个人数字助理(PDA)、便携式多媒体播放器(portable multimedia player,PMP)、数码相机、数字电视、机顶盒、音乐播放器、便携式游戏机、导航设备,等等。
前面示出了示例实施例,并且不应理解为对其进行限制。尽管已经描述了一些实施例,但是本领域技术人员将容易理解,在实质上不偏离本发明概念的新颖教导和益处的情况下,可以对示例实施例进行很多修改。因此,所有这些修改旨在包含在如权利要求书所限定的本发明概念的范围内。因此,应当理解,前面示出了各种示例实施例,并且不应解释为对所公开的具体示范性实施例进行限制,并且对所公开的示例实施例以及其他示范性实施例的修改旨在包含在所附权利要求书的范围内。
Claims (17)
1.一种对包括在引导操作期间被选择性地测试的易失性存储器器件的信息处理系统进行引导的方法,所述方法包含以下步骤:
从所述信息处理系统读取当前系统配置信息;
把当前系统配置信息与非易失存储器器件中相应的预先存储的系统配置信息进行比较;以及
根据比较结果选择性地执行对易失性存储器器件的测试,其中,选择性地测试的步骤包含以下步骤:
如果当前系统配置信息不和预先存储的系统配置信息匹配,则执行用于检查易失性存储器器件的存储器单元的测试,
把执行用于检查存储器单元的测试的步骤的测试结果存储在非易失性存储器器件中,以及
把当前系统配置信息存储在非易失性存储器器件中。
2.如权利要求1所述的方法,其中,所述信息处理系统包括处理器、电路板和易失性存储器器件作为系统配置。
3.如权利要求1所述的方法,其中,所述易失性存储器器件是多个动态随机存取存储器(DRAM)的存储器模块。
4.如权利要求1所述的方法,其中,所述易失性存储器器件是一个或多个移动动态随机存取存储器(DRAM)。
5.如权利要求3所述的方法,其中,所述存储器模块包括串行存在检测(SPD)存储器的非易失性存储器器件。
6.如权利要求1所述的方法,其中,所述非易失性存储器器件是基本输入输出系统(BIOS)存储器器件。
7.如权利要求5所述的方法,其中,读取当前系统配置信息的步骤包含以下步骤:
从处理器提取处理器的当前序列号;
从BIOS存储器器件提取所述电路板的当前序列号;以及
从所述串行存在检测(SPD)存储器器件提取所述存储器模块的当前序列号。
8.如权利要求1所述的方法,其中,执行用于检查存储器单元的测试的步骤由内置自测逻辑执行。
9.如权利要求1所述的方法,其中,选择性地执行测试的步骤还包含用于优化连接到所述易失性存储器器件的信道的信号完整性的训练步骤。
10.如权利要求9所述的方法,其中,选择性地执行测试的步骤还包含以下步骤:如果当前系统配置信息和相应的存储的系统配置信息匹配,则把预先存储在所述非易失性存储器器件中的测试结果应用于所述信息处理系统而不执行检查存储器单元的测试和用于优化信道的信号完整性的训练。
11.一种对包括易失性存储器器件的信息处理系统进行引导的方法,所述方法包含以下步骤:
监视用于测试易失性存储器器件的触发条件;
如果检测到所述触发条件,则执行用于检查所述易失性存储器器件中的失效存储器单元的测试和用于优化连接到所述易失性存储器器件的信道的信号完整性的训练;以及
如果未检测到所述触发条件,则跳过用于检查失效的存储器单元的测试和用于优化信道的信号完整性的训练,
其中,所述触发条件是系统配置变化、工作温度变化的预定量、先前操作的异常终止、以及在不测试所述易失性存储器设备的情况下连续引导操作的预定数量中的一个或多个。
12.如权利要求11所述的方法,其中,所述系统配置变化是当前引导操作中的处理器、电路板和易失性存储器器件的序列号与存储在所述非易失性存储器器件中的处理器、电路板和易失性存储器设备的序列号的任何变化。
13.如权利要求11所述的方法,其中,工作温度的变化是存储在非易失性存储器器件的工作温度和当前引导操作的工作温度之间的预先确定量的差。
14.如权利要求11所述的方法,其中,异常终止是通过检查指示所述信息处理系统在先前操作中如何终止的终止标志来检测的。
15.如权利要求11所述的方法,还包含以下步骤:
把引导计数和预先确定的连续引导操作的数量进行比较;以及
每次在信息处理系统被引导而在先前引导操作期间未测试易失性存储器器件时,把所述引导计数增加1。
16.一种信息处理系统,包含:
电路板;
处理器,安装在所述电路板上;
易失性存储器设备,安装在所述电路板上并耦合到所述处理器;以及
非易失性存储器设备,被配置成存储所述电路板、处理器和易失性存储器器件的序列号,
其中,所述处理器被配置成监视用于测试所述易失性存储器器件的触发条件,并被配置成选择性地执行用于检查所述易失性存储器器件中的存储器单元的测试和用于优化连接在所述易失性存储器器件和所述处理器之间的信道的信号完整性的训练以及
所述触发条件是系统配置变化、工作温度变化的预定量、先前操作的异常终止、和在不测试易失性存储器设备的情况下连续引导操作的预定数量中的一个或多个。
17.如权利要求16所述的信息处理系统,其中,所述系统配置变化是当前引导操作中的处理器、电路板和易失性存储器器件的序列号与存储在所述非易失性存储器器件中的处理器、电路板和易失性存储器设备的序列号的任何变化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2011-0007119 | 2011-01-25 | ||
KR1020110007119A KR20120085968A (ko) | 2011-01-25 | 2011-01-25 | 컴퓨팅 시스템의 부팅 방법 및 이를 수행하는 컴퓨팅 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102681868A true CN102681868A (zh) | 2012-09-19 |
Family
ID=46510905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104563384A Pending CN102681868A (zh) | 2011-01-25 | 2011-12-30 | 引导信息处理系统的方法和执行该方法的信息处理系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20120191964A1 (zh) |
KR (1) | KR20120085968A (zh) |
CN (1) | CN102681868A (zh) |
DE (1) | DE102011089889A1 (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455397A (zh) * | 2013-09-06 | 2013-12-18 | 杭州华为数字技术有限公司 | 一种系统自检的方法、设备及系统 |
CN107077406A (zh) * | 2014-12-09 | 2017-08-18 | 英特尔公司 | Sata接收器均衡裕度确定/设置的方法和装置 |
CN107209766A (zh) * | 2014-12-15 | 2017-09-26 | 卢米尼克斯股份有限公司 | 详细试验协议规范 |
CN107646102A (zh) * | 2015-05-26 | 2018-01-30 | 三星电子株式会社 | 引导设备及其操作方法 |
CN104541258B (zh) * | 2012-09-26 | 2018-03-13 | 英特尔公司 | 用于尽管有非运转的操作系统但仍显示视频的方法和装置 |
CN109690496A (zh) * | 2016-09-29 | 2019-04-26 | 英特尔公司 | 存储器监视器 |
CN110083502A (zh) * | 2018-01-26 | 2019-08-02 | 三星电子株式会社 | 用于实时地监测存储器模块的信息的方法和系统 |
CN110520874A (zh) * | 2017-03-31 | 2019-11-29 | H2O人工智能公司 | 基于时间的全体机器学习模型 |
CN111208951A (zh) * | 2013-11-07 | 2020-05-29 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
CN111400209A (zh) * | 2019-01-02 | 2020-07-10 | 慧荣科技股份有限公司 | 用来进行配置管理的方法以及数据存储装置及其控制器 |
CN111435337A (zh) * | 2019-01-15 | 2020-07-21 | 爱思开海力士有限公司 | 存储器系统和数据处理系统 |
US11579810B2 (en) | 2020-04-08 | 2023-02-14 | Changxin Memory Technologies, Inc. | Semiconductor memory training method and related device |
US11636014B2 (en) | 2017-10-31 | 2023-04-25 | SK Hynix Inc. | Memory system and data processing system including the same |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130086372A1 (en) * | 2011-09-30 | 2013-04-04 | Akihiro Kojo | Information processing apparatus and boot control method |
US20140075091A1 (en) * | 2012-09-10 | 2014-03-13 | Texas Instruments Incorporated | Processing Device With Restricted Power Domain Wakeup Restore From Nonvolatile Logic Array |
US20140317334A1 (en) * | 2013-04-22 | 2014-10-23 | Lsi Corporation | Storage of gate training parameters for devices utilizing random access memory |
JP6223145B2 (ja) * | 2013-11-21 | 2017-11-01 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにプログラム |
US9886285B2 (en) * | 2015-03-31 | 2018-02-06 | Western Digital Technologies, Inc. | Communication interface initialization |
US10585672B2 (en) * | 2016-04-14 | 2020-03-10 | International Business Machines Corporation | Memory device command-address-control calibration |
US10216550B2 (en) * | 2016-10-01 | 2019-02-26 | Intel Corporation | Technologies for fast boot with adaptive memory pre-training |
US10503523B2 (en) * | 2017-06-30 | 2019-12-10 | Intel Corporation | Technologies to improve system boot performance and reliability |
JP6841185B2 (ja) * | 2017-08-18 | 2021-03-10 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置、及び画像形成装置 |
KR102340446B1 (ko) * | 2017-09-08 | 2021-12-21 | 삼성전자주식회사 | 스토리지 장치 및 그것의 데이터 트레이닝 방법 |
WO2019061227A1 (en) * | 2017-09-29 | 2019-04-04 | Intel Corporation | FIRST PRIMING WITH A MEMORY CHANNEL |
KR102455880B1 (ko) | 2018-01-12 | 2022-10-19 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR102501695B1 (ko) * | 2018-01-15 | 2023-02-21 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11074151B2 (en) | 2018-03-30 | 2021-07-27 | Intel Corporation | Processor having embedded non-volatile random access memory to support processor monitoring software |
US10691466B2 (en) * | 2018-04-02 | 2020-06-23 | Intel Corporation | Booting a computing system using embedded non-volatile memory |
US10838896B2 (en) * | 2018-10-15 | 2020-11-17 | Texas Instruments Incorporated | Split direct memory access (DMA) |
CN109491826B (zh) * | 2018-11-27 | 2021-02-12 | 英业达科技有限公司 | 远程硬件诊断系统与诊断方法 |
US10777296B2 (en) * | 2019-02-08 | 2020-09-15 | Dell Products L.P. | Information handling system and method to dynamically detect and recover from thermally induced memory failures |
CN110297726B (zh) * | 2019-07-03 | 2023-08-25 | 上海兆芯集成电路股份有限公司 | 具有串行存在检测数据的计算机系统及内存模块控制方法 |
US11069420B2 (en) * | 2019-07-25 | 2021-07-20 | Micron Technology, Inc. | In-system test of a memory device |
US11249678B2 (en) * | 2019-07-26 | 2022-02-15 | Qualcomm Incorporated | Serial memory device single-bit or plurality-bit serial I/O mode selection |
KR20210026956A (ko) | 2019-09-02 | 2021-03-10 | 삼성전자주식회사 | 파워-업 시퀀스 중에 메모리 셀들을 테스트하고 리페어 하는 방법 및 메모리 장치 |
KR20210136480A (ko) * | 2020-05-07 | 2021-11-17 | 삼성전자주식회사 | 프로세싱 장치가 실장된 메모리 모듈을 포함하는 컴퓨팅 시스템의 부팅 방법 |
US11500637B2 (en) | 2020-06-15 | 2022-11-15 | Micron Technology, Inc. | Software instruction set update of memory die using page buffers |
US11487621B1 (en) * | 2021-04-29 | 2022-11-01 | Dell Products L.P. | Linking embedded controller with memory reference code and system bios shadowing |
US20230025601A1 (en) * | 2021-07-23 | 2023-01-26 | Micron Technology, Inc. | Initializing memory systems |
US20230063890A1 (en) * | 2021-08-27 | 2023-03-02 | Micron Technology, Inc. | Measuring change in a channel characteristic to detect memory device attack |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020042883A1 (en) * | 2000-10-04 | 2002-04-11 | Soundvoice Limited | Method and system for controlling access by clients to servers over an internet protocol network |
US6754817B2 (en) * | 2001-01-25 | 2004-06-22 | Dell Products L.P. | Apparatus and method for detecting a change in system hardware configuration to reduce the amount of time to execute a post routine |
KR100389206B1 (ko) * | 2001-04-25 | 2003-06-27 | 주식회사 성진씨앤씨 | 컴퓨터 운영 시스템 보호 방법 및 장치 |
US7000159B2 (en) * | 2003-03-10 | 2006-02-14 | Dell Products L.P. | System and method for testing memory |
US8704630B2 (en) * | 2010-08-25 | 2014-04-22 | Itron, Inc. | Apparatus and methods for temperature-based control of communication device operations |
-
2011
- 2011-01-25 KR KR1020110007119A patent/KR20120085968A/ko not_active Application Discontinuation
- 2011-12-08 US US13/314,666 patent/US20120191964A1/en not_active Abandoned
- 2011-12-23 DE DE102011089889A patent/DE102011089889A1/de not_active Withdrawn
- 2011-12-30 CN CN2011104563384A patent/CN102681868A/zh active Pending
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104541258B (zh) * | 2012-09-26 | 2018-03-13 | 英特尔公司 | 用于尽管有非运转的操作系统但仍显示视频的方法和装置 |
CN103455397A (zh) * | 2013-09-06 | 2013-12-18 | 杭州华为数字技术有限公司 | 一种系统自检的方法、设备及系统 |
CN111208951A (zh) * | 2013-11-07 | 2020-05-29 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
CN111208951B (zh) * | 2013-11-07 | 2024-05-03 | 奈特力斯股份有限公司 | 混合内存模块以及操作混合内存模块的系统和方法 |
CN107077406A (zh) * | 2014-12-09 | 2017-08-18 | 英特尔公司 | Sata接收器均衡裕度确定/设置的方法和装置 |
CN107209766A (zh) * | 2014-12-15 | 2017-09-26 | 卢米尼克斯股份有限公司 | 详细试验协议规范 |
CN107646102A (zh) * | 2015-05-26 | 2018-01-30 | 三星电子株式会社 | 引导设备及其操作方法 |
CN109690496A (zh) * | 2016-09-29 | 2019-04-26 | 英特尔公司 | 存储器监视器 |
CN109690496B (zh) * | 2016-09-29 | 2023-09-22 | 英特尔公司 | 存储器监视器 |
CN110520874A (zh) * | 2017-03-31 | 2019-11-29 | H2O人工智能公司 | 基于时间的全体机器学习模型 |
CN110520874B (zh) * | 2017-03-31 | 2023-11-21 | H2O人工智能公司 | 基于时间的全体机器学习模型 |
US11636014B2 (en) | 2017-10-31 | 2023-04-25 | SK Hynix Inc. | Memory system and data processing system including the same |
CN110083502A (zh) * | 2018-01-26 | 2019-08-02 | 三星电子株式会社 | 用于实时地监测存储器模块的信息的方法和系统 |
CN111400209A (zh) * | 2019-01-02 | 2020-07-10 | 慧荣科技股份有限公司 | 用来进行配置管理的方法以及数据存储装置及其控制器 |
CN111400209B (zh) * | 2019-01-02 | 2021-11-09 | 慧荣科技股份有限公司 | 用来进行配置管理的方法以及数据存储装置及其控制器 |
US10976944B2 (en) | 2019-01-02 | 2021-04-13 | Silicon Motion, Inc. | Data storage device using general purpose input/output (GPIO) and electronic fuse (eFUSE) circuit for configuration of read only memory (ROM) code |
CN111435337A (zh) * | 2019-01-15 | 2020-07-21 | 爱思开海力士有限公司 | 存储器系统和数据处理系统 |
US11579810B2 (en) | 2020-04-08 | 2023-02-14 | Changxin Memory Technologies, Inc. | Semiconductor memory training method and related device |
Also Published As
Publication number | Publication date |
---|---|
KR20120085968A (ko) | 2012-08-02 |
US20120191964A1 (en) | 2012-07-26 |
DE102011089889A1 (de) | 2012-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102681868A (zh) | 引导信息处理系统的方法和执行该方法的信息处理系统 | |
US9037812B2 (en) | Method, apparatus and system for memory validation | |
US9817652B2 (en) | Data storage device and method for reducing firmware update time and data processing system including the device | |
US9619175B2 (en) | Embedded multimedia card (eMMC), host for controlling the eMMC, and methods of operating the eMMC and the host | |
US9081606B2 (en) | Asynchronous persistent stores for transactions | |
US20140184619A1 (en) | System-on-chip performing dynamic voltage and frequency scaling | |
US20170168747A1 (en) | Intelligent memory support for platform reset operation | |
US9395919B1 (en) | Memory configuration operations for a computing device | |
US10769013B1 (en) | Caching error checking data for memory having inline storage configurations | |
CN103677665A (zh) | 嵌入式多媒体卡、控制其的主机及操作其系统的方法 | |
US10474473B2 (en) | Technology to facilitate rapid booting with high-speed and low-speed nonvolatile memory | |
CN101681310A (zh) | 错误检测控制系统 | |
KR20180074138A (ko) | 메모리 시스템 및 메모리 시스템의 동작 방법 | |
US9606811B2 (en) | Operating method of data storage device | |
CN106663471B (zh) | 用于反向存储器备份的方法和装置 | |
CN113495799A (zh) | 一种内存故障处理方法及相关设备 | |
US11199975B2 (en) | Interface circuit for processing commands, memory device including the same, storage device, and method of operating the memory device | |
KR102048217B1 (ko) | 메모리 장치 및 이를 갖는 메모리 시스템 | |
US9342257B2 (en) | Computer system having main memory and control method thereof | |
US20180196602A1 (en) | Data storage device and data processing system including the same | |
US11188239B2 (en) | Host-trusted module in data storage device | |
CN102623066A (zh) | 固化代码参数表的保存及获取方法 | |
KR20170132483A (ko) | 메모리 장치의 구동 방법 | |
CN107943632A (zh) | 一种实现多nvme盘配置服务器中各盘性能均衡的方法及系统 | |
US9652371B2 (en) | Lookahead scheme for prioritized reads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120919 |