访问命令/地址寄存器装置中存储的数据的制作方法

文档序号:12007386阅读:396来源:国知局
访问命令/地址寄存器装置中存储的数据的制作方法
一般来说,本发明的实施例涉及存储器装置,以及更具体来说,涉及在存储器地址或命令总线上访问寄存器装置中存储的数据。

背景技术:
本专利文档的公开的部分可包含受到著作权保护的资料。著作权所有者不反对任何人复制本专利文档或专利公开,这是因为它出现在专利和商标局专利文件或记载中,但无论如何在其它方面仍保留所有著作权。著作权声明适用于如下及其附图中所述的所有数据以及以下所述的任何软件:著作权©2011,因特尔公司,著作权所有,不得翻印。某些存储器子系统包括寄存器装置,所述寄存器装置连接到存储器子系统的地址或命令总线,以存储与存储器子系统中的命令或配置相关的值。按传统方式,不存在访问这种数据的良好方式。因此,为了配置目的而存储在寄存器中的数据(例如,模式寄存器中存储的数据)或者为了调试或检错目的而存储的数据(例如C/A寄存器装置中存储的数据)或者另一个这种寄存器中的其它数据不是可易于访问的。访问所述数据的一个选项是包括到存储器子系统的数据总线的连接。这种选项在硬件(额外引脚)和迹线的布线方面是非常昂贵的。另一个选项是使装置处于特殊状态(例如管理模式),以暂时允许现有总线或其它连接的重定目标。这种选项引起缓慢连接,不允许装置的持续操作,并且仍然可要求附加硬件。另一个选项是提供寄存器装置上的带外串行接口,这也增加硬件和布线成本。因此,当前不存在允许以最小硬件要求、采用标准命令来访问存储器子系统的寄存器中存储的数据的传统机制。支持DDR(双倍数据速率)存储器的较新标准的存储器子系统增加提供用于在寄存器装置处来代替在存储器装置处执行奇偶错误校验的寄存器和逻辑的附加情况。例如,DDR4(到本申请提交时仍然在制订中的标准)将允许DRAM(动态随机存取存储器)装置外的命令/地址(C/A)奇偶错误校验。但是,在没有读取奇偶错误的机构的情况下,命令仍然将发送给DRAM以便执行,这会引起挂起计算装置(例如“蓝屏”状况)。

技术实现要素:
按照本申请的一个实施例,提供一种在存储器子系统中用于访问记录信息的方法,所述方法包括:将与存储器命令有关的信息记录在通过所述存储器子系统的地址总线耦合到动态随机存取存储器(DRAM)装置的寄存器装置中,所述寄存器装置没有耦合到所述存储器子系统的数据总线;检测用于所述寄存器装置中记录信息的读取触发;以及响应检测到所述读取触发,将所述记录信息写到所述DRAM装置的多用途寄存器(MPR),所述MPR使所述记录信息是主处理器通过所述数据总线可访问的。按照本申请的另一实施例,提供一种其中主处理器访问记录信息的存储器子系统,所述存储器子系统包括:动态随机存取存储器(DRAM)装置的多用途寄存器(MPR),所述MPR是经由所述存储器子系统的地址总线可写的并且是经由所述存储器子系统的数据总线可读的;以及寄存器装置,在所述地址总线上耦合到所述MPR但没有耦合到所述存储器子系统的所述数据总线,用于记录与存储器命令有关的信息,并且响应在所述寄存器装置接收到的读取触发而将所述记录信息写到所述MPR,以使所述记录信息在所述MPR是可访问的,其中耦合到所述存储器子系统的主处理器要通过所述数据总线从所述MPR中读取所述记录信息。按照本申请的又一实施例,提供一种用于访问记录信息的设备,所述设备包括:用于将与存储器命令有关的信息记录在通过所述存储器子系统的地址总线来耦合到动态随机存取存储器(DRAM)装置的寄存器装置中的部件,所述寄存器装置没有耦合到所述存储器子系统的数据总线;用于检测用于所述寄存器装置中记录信息的读取触发的部件;以及用于响应检测到所述读取触发而将所述记录信息写到所述DRAM装置的多用途寄存器(MPR)的部件,所述MPR使所述记录信息是主处理器通过所述数据总线可访问的。附图说明以下描述包括对具有作为本发明的实施例的实现示例所提供的说明的附图的论述。附图应当理解为作为举例而不是进行限制。本文所使用的对一个或多个“实施例”的提法要被理解为描述本发明的至少一种实现中包含的具体特征、结构或特性。因此,本文中出现的例如“在一个实施例中”或“在一个备选实施例中”等词语描述本发明的各个实施例和实现,但不一定都指同一个实施例。但是,它们也不一定相互排斥。图1是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统具有经由地址或命令总线而非数据总线可访问的寄存器。图2是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统在存储控制器与DRAM装置之间具有寄存器。图3是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统具有经由地址或命令总线而非数据总线可访问的寄存器以及经由地址或命令总线和数据总线均可访问的存储器装置。图4是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统在存储控制器与DRAM装置之间具有寄存器装置,其中该寄存器装置执行奇偶校验。图5是用于从经由地址或命令总线而非数据总线可访问的寄存器中访问数据的过程的一个实施例的流程图。图6是计算系统的一个实施例的框图,其中所述存储器子系统的寄存器由主处理器间接地访问。图7是移动装置的一个实施例的框图,其中所述存储器子系统的寄存器由主处理器间接地访问。下面是对某些细节和实现的描述,其中包括对附图的描述,附图可示出以下所述的实施例的部分或全部,以及论述本文所提供的发明概念的其它可能的实施例或实现。下面提供对本发明实施例的概述,之后是参照附图进行的更详细描述。具体实施方式如本文所述,存储器子系统中的寄存器连接到地址总线。将会理解,提到地址总线可表示仅携带地址的总线或者携带地址和命令的总线。许多地址总线是地址或命令总线,这是因为地址、命令或者地址和命令的组合均通过这些总线来发送。本文中提到“地址总线”将被理解为表示地址或命令总线。因此,寄存器是经由地址或命令总线而非数据总线可访问的。能够通过如下方式来读取数据:跨地址总线将数据从寄存器传递给与数据总线连接的装置,通过数据总线从所述装置中读取所述数据(即使寄存器没有连接到数据总线)。寄存器驻留在经由地址总线连接到存储器装置(所述存储器装置不仅连接到地址总线而且连接到数据总线)的寄存器装置中。主处理器触发寄存器装置通过地址总线向存储器装置上的寄存器传递信息。主处理器然后从存储器装置的寄存器中读取信息。通过这种读取机制,寄存器的“间接”读取是可能的。该读取机制与耦合到地址总线的任何寄存器装置(例如模式寄存器或者奇偶错误校验寄存器装置)配合工作。因此,特定存储器配置在主操作系统的正常运转时间运行期间是可访问的。另外,有可能访问与引起奇偶错误的特定命令或地址有关的数据,这能够防止对主系统的访问和主系统的故障。因此,有可能在存储器命令中出现错误时通过所述读取机制来执行系统的错误恢复。对寄存器的间接读取适用于所提出的DDR4系统。DDR4指定能够执行C/A奇偶错误检验并且存储出错命令的寄存器装置。因此,在DDR4中,该命令能够在运行之前停止,以及访问出错命令的机构帮助精确指出出错命令,这又帮助错误恢复。图1是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统具有经由地址总线而非数据总线可访问的寄存器。系统100表示计算装置或移动装置,其中隔离寄存器130与主处理器110隔离。主处理器110运行存储器子系统120中存储的指令。主处理器110一般性地发出访问数据的命令。该命令能够包括物理地址或虚拟地址,所述物理地址或虚拟地址指向存储器子系统120的存储器装置中的特定存储位置。隔离寄存器130不是由主处理器110直接来访问。因此,即使寄存器130连接到存储器子系统120的元件、例如地址总线(其还连接到存储控制器和存储器装置(参见以下图2和图3以获得更详细示例)),寄存器130与由主处理器110进行的直接访问仍“隔离”。系统100包括如本领域已知的控制机构,以将数据和代码或指令加载到存储器子系统120中以便由处理器110运行。在一个实施例中,主处理器110发出使数据存储在寄存器130中的命令,其中寄存器130则不能由主处理器110直接访问。示例包括模式寄存器值、某些调试值、奇偶错误信息或其它信息。在这种实施例中,主处理器110发出命令,所述被转发给寄存器130,以使该寄存器将其内容复制或传递到存储器子系统120的存储器装置上的寄存器。该存储器装置连接到数据总线,并且因而能够通过将数据加载到可由主处理器110读取的数据总线上来响应来自主处理器110的命令。在一个实施例中,BIOS(基本输入/输出系统)140包括能够由主处理器110来运行的代码以触发对寄存器130的读取,并且处理其中存储的内容。例如,主处理器110能够配置成在某些事件发生时访问BIOS140中存储的调试码或纠错码。因此,能够使主处理器110运行调试状态或纠错状态,其将访问寄存器130的内容,并且确定响应所读取的内容要采取什么动作。图2是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统在存储控制器与DRAM装置之间具有寄存器。系统200表示计算装置或移动装置,并且能够是图1的系统100的一个示例,在所述计算装置或移动装置中寄存器位于存储控制器220与DRAM240之间。主处理器210运行存储器子系统202中存储的指令。主处理器210能够访问DRAM240中存储的数据或代码以便运行指令。在一个实施例中,除了DRAM240之外,存储器子系统202还包括其它存储器资源(未示出)。主处理器210通过生成它通过主总线212发送给存储控制器220的命令或请求,来访问DRAM240。主总线212表示主处理器210能够经过其提供与存储器访问相关的命令或请求的任何连接。在一个实施例中,存储控制器220经过寄存器230、来代替直接向DRAM240发送所有访问请求。在另一个实施例中(参见例如以下图3),存储控制器能够直接访问DRAM240,以及寄存器230位于存储控制器和DRAM与其连接的地址总线上。在一个实施例中,地址总线222和地址总线224均表示存储器子系统202的地址总线,其中地址总线222是在存储控制器220与寄存器230之间的地址总线,以及地址总线224是在寄存器230与DRAM240之间的地址总线。寄存器230能够位于存储控制器220与DRAM240之间的地址总线上,以对由存储控制器220发送给DRAM240的访问命令执行操作。在一个实施例中,存储控制器220经过寄存器230向DRAM240发送所有命令。例如,在一个实施例中,寄存器230提供奇偶错误校验。在检测到奇偶错误的情况下,寄存器230不转发出错命令。因此,使寄存器230在存储控制器220与DRAM240之间能够防止DRAM对不良命令(其原本促使装置200变为不响应的(即,挂起))进行操作。在其中寄存器230提供奇偶错误校验的一种实现中,寄存器230在检测到奇偶错误时记录(log)与其有关的信息。在检测到奇偶错误时,除了阻止命令到达DRAM240之外,寄存器230还触发由存储控制器220和/或DRAM240检测奇偶错误。但是,在系统200中指示奇偶错误,主处理器210检测奇偶错误,并且能够尝试读取寄存器230的内容,以得到奇偶错误记录(log)信息。然后,该寄存器能够响应读取命令而将其内容传递给DRAM240,以便实现主处理器210对错误记录的访问,用于确定如何继续进行。主处理器210能够通过数据总线242来访问寄存器230的所传递内容以及DRAM240上存储的其它信息。DRAM240连接到数据总线242,而寄存器230没有连接到数据总线242。图3是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统具有经由地址总线而非数据总线可访问的寄存器以及经由地址总线和数据总线均可访问的存储器装置。系统300表示计算装置,其中主处理器310间接从寄存器320中访问数据。系统300能够是图1的系统100的一个示例。虽然图2的寄存器230连接在存储控制器与存储器装置之间,但是寄存器320没有连接在存储控制器340与DRAM330之间。相反,寄存器320通过地址总线302与DRAM330并行地连接到存储控制器340。寄存器320没有连接到数据总线304。DRAM330连接到数据总线304。存储控制器340可以连接到数据总线304,或者可以不连接到数据总线304。在一个实施例中,存储控制器340经由命令总线306耦合到主处理器310,命令总线306可以是数据总线304的一部分或者可以不是数据总线304的一部分。寄存器320记录诸如存储器配置值或调试值之类的信息。当主处理器310运行指示读取寄存器320中记录的(一个或多个)值的指令时,主处理器310通过命令总线306向存储控制器340发出命令,存储控制器340然后在地址总线302上提供命令。主处理器310没有直接连接到地址总线302。寄存器320通过如下方式来响应该命令:通过地址总线302将数据传递给DRAM330。在一个实施例中,对寄存器320的命令使寄存器320向DRAM330中的特定位置进行传递。该寄存器指定具有选择代码或选择信息的位置。因此,读取触发命令能够指示DRAM330的、应当对其写入记录信息的寄存器。在一个实施例中,DRAM330包括多个存储器装置332-0、332-1、…、332-N,其中N是大于或等于零的整数。在一个实施例中,各装置包括一个或多个多用途寄存器(MPR),其在装置332-0中示为MPR[3:0]。每个DRAM装置中能够存在多于四个寄存器或少于四个寄存器。在一个实施例中,存储控制器340通过对于DRAM330中的预期位置选择位置选择和/或写启用,来选择寄存器320向其写入其内容的位置。使寄存器320将其内容传递给DRAM330的读取触发能够包括指示特定MPR的选择代码。在一个实施例中,读取触发的格式指示作为传递源的寄存器320,其要写入作为目的地的所指定MPR。因此,读取触发能够是在结构上与系统300中的其它标准命令相似的命令。一般来说,读取触发使寄存器320将记录信息传递给DRAM330上的寄存器,该记录信息然后能够由主处理器310来读取。主处理器310发出最终使读取触发被发送给寄存器320的命令。在一个实施例中,来自主处理器310的该命令被认为是读取触发,并且由存储控制器340转发。在另一个实施例中,主处理器310发出使存储控制器生成读取触发的命令,存储控制器然后将读取触发发送给寄存器320。图4是具有存储器子系统的系统的一个实施例的框图,所述存储器子系统在存储控制器与DRAM装置之间具有寄存器装置,其中寄存器装置执行奇偶校验。如以上针对图1和图2的示例所述,在一个实施例中,设置在存储控制器与存储器装置之间的寄存器装置能够执行奇偶校验。在系统400中,寄存器装置420位于存储控制器410与DRAM430之间。寄存器装置420包括寄存器422,其中它记录奇偶校验信息。寄存器422是本领域已知的、按照任何实施例的寄存器。简言之,寄存器包括一组电路元件中保持的一组易失性数字位。在一个实施例中,寄存器装置420还包括奇偶校验逻辑424,其表示运行于处理资源上以执行奇偶校验功能的硬件和/或软件。奇偶校验一般是检查所计算奇偶性是否匹配预计奇偶性的相当简单的逻辑运算,并且能够易于通过简单数字电路来实现。寄存器装置420经由地址总线444连接到DRAM430。DRAM430经由数据总线442连接到主处理器。DRAM430包括存储器资源432,其存储DRAM中的数据。DRAM430还包括一个或多个MPR434,其能够基本上用作DRAM装置的小暂存器(scratchpad)。在一个实施例中,DRAM430包括奇偶校验逻辑436,奇偶校验逻辑436能够按照与寄存器装置420的奇偶校验逻辑424相似的方式来实现。在一个实施例中,有选择地启用奇偶校验逻辑424和奇偶校验逻辑436的任一个或两者。因此,奇偶校验能够在寄存器装置420和DRAM430两者处启用或禁用。在一个实施例中,当奇偶校验在寄存器装置420处启用时,它在DRAM430处禁用。对于以下描述假定启用奇偶校验逻辑424。如果奇偶校验逻辑424检测到奇偶错误,则它将奇偶错误信息记录在能够是C/A寄存器的寄存器422中。寄存器装置420向DRAM430传递错误记录信息和错误状态信息。寄存器装置420用来向DRAM430传递错误记录信息和错误状态信息的相同机制能够用来从寄存器装置420传递控制字。在一个实施例中,寄存器装置420处于DIMM(双列直插存储器模块)上。系统400通过从存储控制器410发出地址命令来设置寄存器422的位。基于该地址,寄存器装置420设置寄存器422中的位。如本文所述,标准地址命令则能够用来使寄存器装置420将数据传递给MRP434,以便通过数据总线442来读取。由于寄存器装置420与数据总线442隔离,所以它不能将数据直接放置于数据总线上以便由主处理器访问。在一个实施例中,设定寄存器装置420,以对在芯片选择信号(CS#)之后一个时钟生成的奇偶(PAR)信号进行校验。在一个备选实施例中,奇偶信号能够在与CS#相同的时钟周期、来代替在时钟周期+1中生成。寄存器装置420在将命令转发到DRAM430之前检验奇偶性没有错误。无论在DRAM430中是否启用奇偶校验逻辑436(即,无论DRAM是否校验奇偶错误),从寄存器装置420对错误记录的传递以相同的方式工作。在一个实施例中,用于记录记录信息并且从寄存器装置420读出记录信息的过程如下所述。该过程允许从奇偶错误中恢复,而通过传统方式,奇偶错误会引起系统故障。寄存器装置420检测命令或地址中的奇偶错误。寄存器422记录错误的C/A(列/地址)帧(RCW(寄存器控制字)位置C0..FF)。在一个实施例中,记录的位是C2-C0、ACT_n、BG1-BG0、BA1-BA0、PAR、A17、A16/RAS_n、A15/CSA_n、A14/WE_n和A13:0,总共26位。寄存器装置420将奇偶错误状态位设置为‘1’,以指示系统400中的奇偶错误。与先前奇偶错误校验技术的一个显著对比在于,寄存器装置420能够通过保持错误的C/A帧来代替将它转发到DRAM430,来防止错误指令被运行。在一个实施例中,寄存器装置420对存储控制器410断言信号,以指示奇偶错误。该信号可能是在tPAR_ALERT_ON_reg的延迟之后在tPAR_ALERT_PW_reg的时长对存储控制器所断言的ALERT_n信号。寄存器装置420在检测到奇偶错误时禁用奇偶校验,并且将在存储控制器410将奇偶错误状态位重置为‘0’之后才重新开始奇偶校验。在一个实施例中,MPR434包括多个MPR寄存器,其具有不同的列。在一个实施例中,MPR页0是可读且可写寄存器,而MPR页1、2、3是只读的。因此,存储控制器410能够通过设置MR3位A2=1和A1:A0=00(页0),来启用DRAM430中列0中的‘MPR页0’模式。读取和写入因而能够定向到页0。在一个实施例中,存储控制器410选择RCW选拔控制字中的错误记录寄存器,并且发起将寄存器422的内容写到MPR页0的一个或多个命令。在一个实施例中,存储控制器410通过向命令空间控制字(地址3F)写入四次,来发出四个‘向MPR发送8位RCW’命令。这种序列能够向MPR0、MPR1、MPR2和MPR3的页0传递错误记录寄存器的32位(其可以是寄存器422的整个大小)。将DIMM上的列0用于MPR写入在所有DIMM具有列0时是便利的。其它列可用来代替列0。在一个实施例中,为了方便起见,将位映射到页0能够沿用与页1中的位映射相同的模式。页1由DRAM用于错误记录,但可以是仅可读的。如果页1是只读的,则信息能够写到具有相同映射的可写页(例如页0),使得相同命令和处理能够用来了解错误信息。在一个示例实施例中,对页0(MPR1)的写入是具有BA1:BA0=00和如下映射的地址A7:A0的写事务:在错误记录和错误状态已从寄存器422传递给DRAM页0之后,存储控制器410能够使用读取命令以读取页0。因此,主处理器能够生成读取命令,以使存储控制器使用读取命令来访问所述数据。存储控制器410能够通过将MR3A2=0编程到DRAM来禁用MPR操作,其发起正常数据流。存储控制器还能够通过如上所述重置奇偶错误信号,在寄存器装置420中再次启用奇偶校验。在一个实施例中,下列寄存器规范细节能够适用:表1-RC3F:命令空间表2-RC8x:8位RCW的RCW选择控制字定义[1]‘向MPRx发送8位RCW’命令使地址字段自动递增1以及使RCW选择控制字中的MPR位字段自动递增1。表3-RC4x:4位RCW的RCW选择控制字定义[1]‘向MPRx发送两个4位RCW’命令使地址字段自动递增1以及使RCW选择控制字中的MPR位字段自动递增1。将会理解,寄存器控制字(RCW)是寄存器装置的一部分。DRAM装置包括模式寄存器(MR),以及寄存器装置包括RCW。RCW和MR对于其两个不同关联装置具有相似功能。存储控制器首先选择要读取的RCW,并且然后写入作为源的预期地址(要读取的地址)。然后,存储控制器能够生成目的地控制字,以指定目的地(对其写入的地址)。命令空间控制字中的每一个所选位用来定义命令。可存在被保留或者以其他方式未使用的位。为了实现寄存器内容的写入,在一个实施例中,存储控制器设置源,设置目的地,并且然后设置命令空间控制字,其生成并且发出控制字。该系统能够配置成使得只设置源和目的地本身不进行任何操作。在‘向MPRx发送8位RCW’或‘向MPRx发送两个4位RCW’之前写入RCW选择控制字。在一个实施例中,寄存器装置在QxA[7:0]输出上发送下列位:表4—向DRAM发送4位RCW的RCW位指配表5—向DRAM发送8位RCW的位指配在一个实施例中,控制字位置C0..FF用作32位错误记录寄存器。在一个实施例中,在发生奇偶错误时,寄存器装置在错误记录寄存器中记录下列取样命令和地址位,其能够由存储控制器传递给DRAMMPR的页0,在那里它能够由主系统(经由处理器)来读取。表6—RCC0..RCFF:错误记录寄存器[1]寄存器装置在发生CA奇偶错误时设置这个位。将这个位写成‘0’重新开始奇偶校验。虽然设置这个位并且装置处于两种循环N+1奇偶模式的任一个,但是装置将不会断言其QxCSy_n输出的任一个。在一个实施例中,如本文所述的对寄存器装置的间接读取应用于DDR4,其能够采用如上所述的寄存器装置中的奇偶校验来实现。在针对DDR4MPR模式的更具体细节中,DDR4DRAM的一个实施例包含MPR寄存器的四页,并且每页具有四个MPR位置。页0具有用于DQ位模式存储的四个8位可编程MPR位置。通过在MR3中设置模式寄存器A2=1以首先使DRAM进入‘自/至MPR的数据流’模式,来写入这些MPR寄存器。该MPR页还使用MR3中的位A1:A0来设置。在这种模式中,MRS(模式寄存器设置)命令用来对MPR进行编程。对于MRS命令,地址总线用于该数据。一旦经过编程,寄存器就能够采用‘MPR操作’模式中的读取命令来访问,以将MPR位驱动到至存储控制器或主机的DQ总线上。DDR4MPR模式启用和页选择通过如下所示的模式寄存器命令来实现。表7—MR3如上所述,在DDR4SDRAM中提供四个MPR页。页0用于读和写,以及页1、2和3是只读的。页0中的任何MPR位置(MPR0-3)能够是经过三种读出模式(串行、并行或交错)的任一种可读,但是页1、2和3仅支持串行读出模式。在加电之后,MPR页0的内容应当具有如对DRAM装置预先定义的缺省值。当MPR写入命令由存储控制器发出时,MPR页0能够是仅可写的。除非发出MPR写入命令,否则DRAM必须永久地保持缺省值,而不应当为了任何目的而自行改变内容。表8—MPR缺省值将会理解,参考、甚至以上针对DDR4和DDR4奇偶错误校验所述的详细参考只是非限制性示例。如本文所述,对寄存器的间接读取机制能够对与数据总线隔离但是耦合到与数据总线耦合的装置的所有寄存器起作用。图5是用于从经由地址总线而非数据总线可访问的寄存器中访问数据的过程的一个实施例的流程图。在一个实施例中,存储控制器向寄存器装置发送命令,其触发寄存器装置将信息存储或记录在寄存器中502。该信息能够是能够在与系统数据总线隔离的寄存器中存储的奇偶错误信息、调试信息、配置信息或者其它信息。在一个实施例中,要存储在寄存器中的信息是配置信息,以及触发是来自存储控制器用于写入配置信息的命令。在一个实施例中,要存储的信息是奇偶错误信息,以及触发是由寄存器装置进行的关于奇偶错误已经发生的检测。在一个实施例中,要存储的信息是调试信息,以及触发是来自存储控制器、响应调试软件而将数据写到寄存器的命令。响应触发,寄存器装置将信息记录在寄存器中504。存储控制器检测读取触发,以读取寄存器中存储的信息506。存储控制器一般从由主处理器所运行的过程中接收这种触发。该过程能够是运行于主机上的程序,或者它能够是装置BIOS中存储的代码。在一个实施例中,存储控制器通过响应读取触发而识别源和目的地508,来准备读取寄存器。在一个实施例中,读取触发是某种形式的命令,其将特定寄存器位置识别为源并且将存储器装置的特定MPR位置识别为目的地。存储控制器能够对寄存器装置和DRAM准备命令,以基于将要由主机所读取的信息的标识来识别特定位置。响应来自存储控制器的命令,寄存器装置将其内容(源)写到所指定的MPR位置(目的地)510。然后,主机能够通过系统数据总线、采用标准读取命令从存储器装置中的目的地读取信息512。请求信息的主机基于所读取信息来确定一个或多个动作514。这些动作能够涉及设置或更新配置、将数据存储在存储装置中或者通过网络发送数据、识别具有奇偶错误的命令并且发出纠正过的命令或者任何其它动作。在一个实施例中,BIOS控制送往寄存器装置的至少某个命令。例如,响应奇偶错误,BIOS能够看到错误发生,并且然后回到主机以发现特定错误。通过如上所述读取寄存器装置,特定错误是可见的。在一个实施例中,响应错误,BIOS能够尝试读取系统中的每一个装置寄存器,以断定错误起源的位置以及错误具体是什么。该软件控制对寄存器和命令的写入和读取。BIOS然后基于特定错误来确定要采取什么动作。图6是计算系统的一个实施例的框图,其中存储器子系统的寄存器由主处理器间接地访问。系统600表示按照本文所述的任何实施例的计算装置,并且能够是膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描仪、复印机、打印机或者其它电子装置。系统600包括处理器620,其提供用于系统600的处理、操作管理和指令运行。处理器620能够包括任何类型的微处理器、中央处理器(CPU)、处理核心或者其它处理硬件,以便为系统600提供处理。处理器620控制系统600的整体操作,并且能够是或者包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑装置(PLD)等或者这类装置的组合。存储器子系统630表示系统600的主存储器,并且对于将要由处理器620所运行的代码或者将要在运行例程时使用的数据值提供暂时存储。存储器子系统630包括存储器632,其表示如下一个或多个存储器装置,所述一个或多个存储器装置能够包括只读存储器(ROM)、闪速存储器、一个或多个种类的随机存取存储器(RAM)或其它存储器装置或者这类装置的组合。在一个实施例中,存储器632包括至少一个DRAM装置。存储器子系统630包括寄存器634,其表示不是由处理器620直接可读取的寄存器。这种寄存器能够称作隔离寄存器,并且能够如本文所述来间接地读取。除了其它的之外,存储器子系统630还存储和托管操作系统(OS)636等,以提供软件平台用于系统600中的指令运行。另外,其它指令638被存储并且从存储器子系统630来运行,以提供系统600的逻辑和处理。OS636和指令638由处理器620来运行。处理器620和存储器子系统630耦合到总线/总线系统610。总线610是一种抽象术语,其表示通过适当桥接器、适配器和/或控制器所连接的任一个或多个单独物理总线、通信线路/接口和/或点对点连接。因此,总线610能够包括例如系统总线、外围组件互连(PCI)总线、超传输或工业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或者电气和电子工程师协会(IEEE)标准1394总线(通常称作“火线”)中的一个或多个。总线610的总线还能够对应于网络接口650中的接口。在一个实施例中,总线610包括数据总线,所述数据总线是存储器子系统630中包含的数据总线,处理器630通过所述数据总线能够从存储器632中读取值。将处理器620链接到存储器子系统630的所示附加线路表示命令总线,处理器620通过所述命令总线提供命令和地址以访问存储器632。寄存器634连接到存储器子系统630的数据总线,但是没有连接到总线610的数据总线。系统600还包括一个或多个输入/输出(I/O)接口640、网络接口650、一个或多个内部大容量存储装置660以及耦合到总线610的外围接口670。I/O接口640能够包括一个或多个接口组件,用户经过所述一个或多个接口组件与系统600进行接口(例如视频、音频和/或字母数字接口)。网络接口650为系统600提供通过一个或多个网络与远程装置(例如服务器、其它计算装置)进行通信的能力。网络接口650能够包括以太网适配器、无线互连组件、USB(通用串行总线)或者其它基于有线或无线标准的接口或者专有接口。存储装置660能够是或者包括用于按照非易失性的方式来存储大量数据的任何常规介质,例如一个或多个基于磁、固态或光的盘或者组合。存储装置660按照永久状态(即,尽管系统600电力中断,也保持该值)来保存代码或指令和数据662。存储装置660能够一般被认为是“存储器”,不过存储器630是运行或操作的存储器,以向处理器620提供指令。虽然存储装置660是非易失性的,但是存储器632也能够包括易失性存储器(即,如果对系统600中断电力,则数据的值或状态是不确定的)。外围接口670能够包括以上没有具体提到的任何硬件接口。外设一般表示相关地连接到系统600的装置。相关连接是一种连接,其中系统600提供软件和/或硬件平台,操作运行于所述软件和/或硬件平台上,并且用户与所述软件和/或硬件平台进行交互。图7是移动装置的一个实施例的框图,其中存储器子系统的寄存器由主处理器间接地访问。装置700表示移动计算装置,例如计算平板、移动电话或智能电话、启用无线的电子阅读器或其它移动装置。将会理解,一般性地示出这些组件中的某些组件,但是在装置700中并非示出这种装置的所有组件。装置700包括处理器710,处理器710执行装置700的主要处理操作。处理器710能够包括一个或多个物理装置,例如微处理器、应用处理器、微控制器、可编程逻辑装置或者其它处理部件。由处理器710所执行的处理操作包括操作平台或操作系统(在其上运行应用和/或装置功能)的运行。处理操作包括与人类用户或者与其它装置的I/O(输入/输出)相关的操作、与电源管理相关的操作和/或与将装置700连接到另一个装置相关的操作。处理操作还能够包括与音频I/O和/或显示I/O相关的操作。在一个实施例中,装置700包括音频子系统720,音频子系统720表示与向计算装置提供音频功能关联的硬件(例如音频硬件和音频电路)以及软件(例如驱动程序、编解码器)组件。音频功能能够包括喇叭和/或耳机输出以及话筒输入。用于这类功能的装置能够集成到装置700中或者连接到装置700。在一个实施例中,用户通过提供音频命令(其由处理器710来接收和处理)来与装置700进行交互。显示子系统730表示提供视觉显示和/或触觉显示的硬件(例如显示装置)和软件(例如驱动程序)组件,用于用户与计算装置进行交互。显示子系统730包括显示接口732,显示接口732包括用来向用户提供显示的具体屏幕或硬件装置。在一个实施例中,显示接口732包括与处理器710分离、用于至少执行与显示相关的某一处理的逻辑。在一个实施例中,显示子系统730包括触摸屏装置,所述触摸屏装置向用户提供输出和输入。I/O控制器740表示与和用户的交互所相关的硬件装置和软件组件。I/O控制器740能够进行操作以管理作为音频子系统720和/或显示子系统730的一部分的硬件。另外,I/O控制器740示出连接到装置700的附加装置的连接点,用户通过所述连接点可与系统进行交互。例如,能够附连到装置700的装置可包括话筒装置、喇叭或立体声系统、视频系统或其它显示装置、键盘或小键盘装置或者其它I/O装置,以便与诸如读卡器或其它装置之类的特定应用配合使用。如上所述,I/O控制器740能够与音频子系统720和/或显示子系统730进行交互。例如,经过话筒或其它音频装置的输入能够为装置700的一个或多个应用或功能提供输入或命令。另外,能够提供音频输出,作为对显示输出的替代或补充。在另一个示例中,如果显示子系统包括触摸屏,则显示装置还充当输入装置,其能够至少部分由I/O控制器740来管理。装置700上还能够存在附加按钮或开关,以提供由I/O控制器740所管理的I/O功能。在一个实施例中,I/O控制器740管理装置,例如加速计、摄像机、光传感器或其它环境传感器、陀螺仪、全球定位系统(GPS)或者能够包含在装置700中的其它硬件。该输入能够是直接用户交互的一部分,以及向系统提供环境输入以影响其操作(例如对噪声的滤波、调整对亮度检测的显示、对摄像机应用闪光或者其它特征)。在一个实施例中,装置700包括电源管理部750,其管理电池电力使用、电池的充电以及与省电操作相关的特征。存储器子系统760包括用于存储装置700中的信息的存储器装置。存储器能够包括非易失性存储器装置(状态在中断送往存储器装置的电力时没有改变)和/或易失性存储器装置(状态在中断送往存储器装置的电力时是不确定的)。存储器子系统760的存储器资源能够存储应用数据、用户数据、音乐、照片、文档或其它数据以及与系统700的应用和功能的运行相关的系统数据(无论是长期还是暂时的)。在一个实施例中,至少一个存储器装置762包括由处理器710直接可访问的寄存器。存储器子系统760的寄存器装置764是外部存储器装置762,并且不是由处理器710直接可访问的,而是在通信上经由地址总线耦合到存储器装置762,如上所述。寄存器装置764中存储的数据能够传递给存储器装置762的寄存器,以便由处理器710来读取。连通部770包括硬件装置(例如无线和/或有线连接器和通信硬件)和软件组件(例如驱动程序、协议栈),以便使装置700能够与外部装置进行通信。装置可能是诸如其它计算装置、无线接入点或基站之类的单独装置以及诸如耳机、打印机或其它装置之类的外设。连通部770能够包括多个不同类型的连通部。一般来说,装置700示为具有蜂窝连通部772和无线连通部774。蜂窝连通部772一般表示由无线运营商所提供、例如经由GSM(全球移动通信系统)所提供的蜂窝网络连通部或者变化或衍生、CDMA(码分多址)或者变化或衍生、TDM(时分复用)或者变化或衍生或者其它蜂窝服务标准。无线连通部774表示不是蜂窝的无线连通部,并且能够包括个人区域网络(例如蓝牙)、局域网(例如WiFi)和/或广域网(例如WiMax)或者其它无线通信。无线通信表示通过使用经过非固态介质的已调制电磁辐射来传递数据。有线通信经过固态通信介质进行。外围连接780包括硬件接口和连接器以及软件组件(例如驱动程序、协议栈),以进行外围连接。将会理解,装置700可能是其它计算装置的外围装置(“至”782)以及具有与其连接的外围装置(“自”784)。装置700通常具有“对接”连接器,以便连接到其它计算装置,用于诸如管理(例如下载和/或上传、变更、同步)装置700上的内容之类的目的。另外,对接连接器能够允许装置700连接到某些外设,其允许装置700控制例如向视听系统或其它系统的内容输出。除了专有对接连接器或其它专有连接硬件之外,装置700还能够经由普通连接器或者基于标准的连接器来进行外围连接780。普通类型能够包括通用串行总线(USB)连接器(其能够包括数个不同硬件接口中的任一个)、包括迷你显示端口(MDP)的显示端口、高清晰度多媒体接口(HDMI)、火线或其它类型。本文所示的流程图提供各种过程动作的序列的示例。虽然以特定序列或顺序示出,但是除非另加说明,否则动作的顺序可经过修改。因此,所示实施例应当仅被理解为一个示例,过程能够按照不同顺序来执行,并且部分动作能够并行执行。另外,在各个实施例中,能够省略一个或多个动作;因此,并非在每一个实施例中都要求全部动作。其它过程流程是可能的。就本文描述的各种操作或功能来说,它们能够描述或定义为软件代码、指令、配置和/或数据。内容能够是直接可执行(“对象”或者“可执行”形式)、源代码或者差代码(“增量”或“补丁”代码)。本文所述实施例的软件内容能够利用其上存储了内容的制造产品或者利用操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储介质能够使机器执行所述的功能或操作,并且包括存储采取机器(例如计算装置、电子系统等)可访问形式的信息的任何机构,例如可录制/不可录制介质(例如只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储器装置等)。通信接口包括与硬连线、无线、光等介质中的任一个进行接口以便与另一个装置进行通信的任何机构,例如存储器总线接口、处理器总线接口、因特网连接、盘控制器等。能够通过如下方式来配置通信接口:提供配置参数和/或发送信号以准备通信接口,从而提供描述软件内容的数据信号。通信接口能够利用发送给通信接口的一个或多个命令或信号来访问。本文所述的各种组件能够是用于执行所述操作或功能的部件。本文所述的各组件包括软件、硬件或者它们的组合。这些组件能够实现为软件模块、硬件模块、专用硬件(例如应用特定硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。除了本文所描述的内容之外,能够对本发明的所公开实施例和实现进行各种修改,而没有背离其范围。因此,本文中的说明和示例应当被认为是说明性而不是限制性意义。本发明的范围大小应当仅参照以下权利要求书。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1