CN103999055B - 访问命令/地址寄存器装置中存储的数据 - Google Patents

访问命令/地址寄存器装置中存储的数据 Download PDF

Info

Publication number
CN103999055B
CN103999055B CN201180075692.0A CN201180075692A CN103999055B CN 103999055 B CN103999055 B CN 103999055B CN 201180075692 A CN201180075692 A CN 201180075692A CN 103999055 B CN103999055 B CN 103999055B
Authority
CN
China
Prior art keywords
register setting
address bus
mpr
data
memory
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.)
Active
Application number
CN201180075692.0A
Other languages
English (en)
Other versions
CN103999055A (zh
Inventor
K.S.拜恩斯
K.J.拉夫
G.弗吉斯
S.萨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Priority to CN201410831992.2A priority Critical patent/CN104636271B/zh
Publication of CN103999055A publication Critical patent/CN103999055A/zh
Application granted granted Critical
Publication of CN103999055B publication Critical patent/CN103999055B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

通过跨地址总线将数据传递给与数据总线连接的装置,由连接到数据总线的装置从中读取数据,来读取没有连接到数据总线的寄存器。寄存器驻留在经由地址总线连接到存储器装置(其连接到地址总线和数据总线)的寄存器装置中。主处理器触发寄存器装置通过地址总线向存储器装置上的寄存器传递信息。主处理器然后从存储器装置的寄存器中读取该信息。

Description

访问命令/地址寄存器装置中存储的数据
技术领域
一般来说,本发明的实施例涉及存储器装置,以及更具体来说,涉及在存储器地址或命令总线上访问寄存器装置中存储的数据。
背景技术
本专利文档的公开的部分可包含受到著作权保护的资料。著作权所有者不反对任何人复制本专利文档或专利公开,这是因为它出现在专利和商标局专利文件或记载中,但无论如何在其它方面仍保留所有著作权。著作权声明适用于如下及其附图中所述的所有数据以及以下所述的任何软件:著作权©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能够配置成在某些事件发生时访问BIOS 140中存储的调试码或纠错码。因此,能够使主处理器110运行调试状态或纠错状态,其将访问寄存器130的内容,并且确定响应所读取的内容要采取什么动作。
图2是具有存储器子***的***的一个实施例的框图,所述存储器子***在存储控制器与DRAM装置之间具有寄存器。***200表示计算装置或移动装置,并且能够是图1的***100的一个示例,在所述计算装置或移动装置中寄存器位于存储控制器220与DRAM 240之间。主处理器210运行存储器子***202中存储的指令。主处理器210能够访问DRAM 240中存储的数据或代码以便运行指令。在一个实施例中,除了DRAM 240之外,存储器子***202还包括其它存储器资源(未示出)。
主处理器210通过生成它通过主总线212发送给存储控制器220的命令或请求,来访问DRAM 240。主总线212表示主处理器210能够经过其提供与存储器访问相关的命令或请求的任何连接。在一个实施例中,存储控制器220经过寄存器230、来代替直接向DRAM 240发送所有访问请求。在另一个实施例中(参见例如以下图3),存储控制器能够直接访问DRAM240,以及寄存器230位于存储控制器和DRAM与其连接的地址总线上。
在一个实施例中,地址总线222和地址总线224均表示存储器子***202的地址总线,其中地址总线222是在存储控制器220与寄存器230之间的地址总线,以及地址总线224是在寄存器230与DRAM 240之间的地址总线。寄存器230能够位于存储控制器220与DRAM240之间的地址总线上,以对由存储控制器220发送给DRAM 240的访问命令执行操作。在一个实施例中,存储控制器220经过寄存器230向DRAM 240发送所有命令。例如,在一个实施例中,寄存器230提供奇偶错误校验。在检测到奇偶错误的情况下,寄存器230不转发出错命令。因此,使寄存器230在存储控制器220与DRAM 240之间能够防止DRAM对不良命令(其原本促使装置200变为不响应的(即,挂起))进行操作。
在其中寄存器230提供奇偶错误校验的一种实现中,寄存器230在检测到奇偶错误时记录(log)与其有关的信息。在检测到奇偶错误时,除了阻止命令到达DRAM 240之外,寄存器230还触发由存储控制器220和/或DRAM 240检测奇偶错误。但是,在***200中指示奇偶错误,主处理器210检测奇偶错误,并且能够尝试读取寄存器230的内容,以得到奇偶错误记录(log)信息。然后,该寄存器能够响应读取命令而将其内容传递给DRAM 240,以便实现主处理器210对错误记录的访问,用于确定如何继续进行。主处理器210能够通过数据总线242来访问寄存器230的所传递内容以及DRAM 240上存储的其它信息。DRAM 240连接到数据总线242,而寄存器230没有连接到数据总线242。
图3是具有存储器子***的***的一个实施例的框图,所述存储器子***具有经由地址总线而非数据总线可访问的寄存器以及经由地址总线和数据总线均可访问的存储器装置。***300表示计算装置,其中主处理器310间接从寄存器320中访问数据。***300能够是图1的***100的一个示例。
虽然图2的寄存器230连接在存储控制器与存储器装置之间,但是寄存器320没有连接在存储控制器340与DRAM 330之间。相反,寄存器320通过地址总线302与DRAM 330并行地连接到存储控制器340。寄存器320没有连接到数据总线304。DRAM 330连接到数据总线304。存储控制器340可以连接到数据总线304,或者可以不连接到数据总线304。在一个实施例中,存储控制器340经由命令总线306耦合到主处理器310,命令总线306可以是数据总线304的一部分或者可以不是数据总线304的一部分。
寄存器320记录诸如存储器配置值或调试值之类的信息。当主处理器310运行指示读取寄存器320中记录的(一个或多个)值的指令时,主处理器310通过命令总线306向存储控制器340发出命令,存储控制器340然后在地址总线302上提供命令。主处理器310没有直接连接到地址总线302。寄存器320通过如下方式来响应该命令:通过地址总线302将数据传递给DRAM 330。
在一个实施例中,对寄存器320的命令使寄存器320向DRAM 330中的特定位置进行传递。该寄存器指定具有选择代码或选择信息的位置。因此,读取触发命令能够指示DRAM330的、应当对其写入记录信息的寄存器。在一个实施例中,DRAM 330包括多个存储器装置332-0、332-1、…、332-N,其中N是大于或等于零的整数。在一个实施例中,各装置包括一个或多个多用途寄存器(MPR),其在装置332-0中示为MPR[3:0]。每个DRAM装置中能够存在多于四个寄存器或少于四个寄存器。
在一个实施例中,存储控制器340通过对于DRAM 330中的预期位置选择位置选择和/或写启用,来选择寄存器320向其写入其内容的位置。使寄存器320将其内容传递给DRAM330的读取触发能够包括指示特定MPR的选择代码。在一个实施例中,读取触发的格式指示作为传递源的寄存器320,其要写入作为目的地的所指定MPR。因此,读取触发能够是在结构上与***300中的其它标准命令相似的命令。
一般来说,读取触发使寄存器320将记录信息传递给DRAM 330上的寄存器,该记录信息然后能够由主处理器310来读取。主处理器310发出最终使读取触发被发送给寄存器320的命令。在一个实施例中,来自主处理器310的该命令被认为是读取触发,并且由存储控制器340转发。在另一个实施例中,主处理器310发出使存储控制器生成读取触发的命令,存储控制器然后将读取触发发送给寄存器320。
图4是具有存储器子***的***的一个实施例的框图,所述存储器子***在存储控制器与DRAM装置之间具有寄存器装置,其中寄存器装置执行奇偶校验。如以上针对图1和图2的示例所述,在一个实施例中,设置在存储控制器与存储器装置之间的寄存器装置能够执行奇偶校验。在***400中,寄存器装置420位于存储控制器410与DRAM 430之间。
寄存器装置420包括寄存器422,其中它记录奇偶校验信息。寄存器422是本领域已知的、按照任何实施例的寄存器。简言之,寄存器包括一组电路元件中保持的一组易失性数字位。在一个实施例中,寄存器装置420还包括奇偶校验逻辑424,其表示运行于处理资源上以执行奇偶校验功能的硬件和/或软件。奇偶校验一般是检查所计算奇偶性是否匹配预计奇偶性的相当简单的逻辑运算,并且能够易于通过简单数字电路来实现。
寄存器装置420经由地址总线444连接到DRAM 430。DRAM 430经由数据总线442连接到主处理器。DRAM 430包括存储器资源432,其存储DRAM中的数据。DRAM 430还包括一个或多个MPR 434,其能够基本上用作DRAM装置的小暂存器(scratch pad)。在一个实施例中,DRAM 430包括奇偶校验逻辑436,奇偶校验逻辑436能够按照与寄存器装置420的奇偶校验逻辑424相似的方式来实现。在一个实施例中,有选择地启用奇偶校验逻辑424和奇偶校验逻辑436的任一个或两者。因此,奇偶校验能够在寄存器装置420和DRAM 430两者处启用或禁用。在一个实施例中,当奇偶校验在寄存器装置420处启用时,它在DRAM 430处禁用。
对于以下描述假定启用奇偶校验逻辑424。如果奇偶校验逻辑424检测到奇偶错误,则它将奇偶错误信息记录在能够是C/A寄存器的寄存器422中。寄存器装置420向DRAM430传递错误记录信息和错误状态信息。寄存器装置420用来向DRAM 430传递错误记录信息和错误状态信息的相同机制能够用来从寄存器装置420传递控制字。
在一个实施例中,寄存器装置420处于DIMM(双列直插存储器模块)上。***400通过从存储控制器410发出地址命令来设置寄存器422的位。基于该地址,寄存器装置420设置寄存器422中的位。如本文所述,标准地址命令则能够用来使寄存器装置420将数据传递给MRP 434,以便通过数据总线442来读取。由于寄存器装置420与数据总线442隔离,所以它不能将数据直接放置于数据总线上以便由主处理器访问。
在一个实施例中,设定寄存器装置420,以对在芯片选择信号(CS#)之后一个时钟生成的奇偶(PAR)信号进行校验。在一个备选实施例中,奇偶信号能够在与CS#相同的时钟周期、来代替在时钟周期+1中生成。寄存器装置420在将命令转发到DRAM 430之前检验奇偶性没有错误。无论在DRAM 430中是否启用奇偶校验逻辑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帧来代替将它转发到DRAM 430,来防止错误指令被运行。
在一个实施例中,寄存器装置420对存储控制器410断言信号,以指示奇偶错误。该信号可能是在tPAR_ALERT_ON_reg的延迟之后在tPAR_ALERT_PW_reg的时长对存储控制器所断言的ALERT_n信号。寄存器装置420在检测到奇偶错误时禁用奇偶校验,并且将在存储控制器410将奇偶错误状态位重置为‘0’之后才重新开始奇偶校验。
在一个实施例中,MPR 434包括多个MPR寄存器,其具有不同的列。在一个实施例中,MPR页0是可读且可写寄存器,而MPR页1、2、3是只读的。因此,存储控制器410能够通过设置MR3位A2=1和A1:A0=00(页0),来启用DRAM 430中列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能够通过将MR3 A2=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位错误记录寄存器。在一个实施例中,在发生奇偶错误时,寄存器装置在错误记录寄存器中记录下列取样命令和地址位,其能够由存储控制器传递给DRAM MPR的页0,在那里它能够由主***(经由处理器)来读取。
表6—RCC0..RCFF:错误记录寄存器
[1] 寄存器装置在发生CA奇偶错误时设置这个位。将这个位写成‘0’重新开始奇偶校验。虽然设置这个位并且装置处于两种循环N+1奇偶模式的任一个,但是装置将不会断言其QxCSy_n输出的任一个。
在一个实施例中,如本文所述的对寄存器装置的间接读取应用于DDR4,其能够采用如上所述的寄存器装置中的奇偶校验来实现。在针对DDR4 MPR模式的更具体细节中,DDR4 DRAM的一个实施例包含MPR寄存器的四页,并且每页具有四个MPR位置。页0具有用于DQ位模式存储的四个8位可编程MPR位置。通过在MR3中设置模式寄存器A2=1以首先使DRAM进入‘自/至MPR的数据流’模式,来写入这些MPR寄存器。该MPR页还使用MR3中的位A1:A0来设置。
在这种模式中,MRS(模式寄存器设置)命令用来对MPR进行编程。对于MRS命令,地址总线用于该数据。一旦经过编程,寄存器就能够采用‘MPR操作’模式中的读取命令来访问,以将MPR位驱动到至存储控制器或主机的DQ总线上。
DDR4 MPR模式启用和页选择通过如下所示的模式寄存器命令来实现。
表7—MR3
如上所述,在DDR4 SDRAM中提供四个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的逻辑和处理。OS 636和指令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)等)、嵌入式控制器、硬连线电路等。
除了本文所描述的内容之外,能够对本发明的所公开实施例和实现进行各种修改,而没有背离其范围。因此,本文中的说明和示例应当被认为是说明性而不是限制性意义。本发明的范围大小应当仅参照以下权利要求书。

Claims (20)

1.一种在存储器子***中用于访问记录信息的方法,所述方法包括:
将与存储器命令有关的信息记录在通过所述存储器子***的地址总线耦合到动态随机存取存储器DRAM装置的寄存器装置中,所述寄存器装置没有耦合到所述存储器子***的数据总线;
检测用于所述寄存器装置中记录信息的读取触发;以及
响应检测到所述读取触发,将所述记录信息写到所述DRAM装置的多用途寄存器MPR,所述MPR使所述记录信息是主处理器通过所述数据总线可访问的。
2.如权利要求1所述的方法,其中,所述寄存器装置执行存储器命令奇偶错误校验,其中,记录所述与存储器命令有关的信息包括:将奇偶错误信息记录到所述寄存器装置中,并且其中,检测所述读取触发还包括:在所述寄存器装置停止所述存储器命令并且不向所述DRAM装置发送所述命令。
3.如权利要求1所述的方法,其中,记录所述与存储器命令有关的信息包括:在所述寄存器装置中记录调试信息。
4.如权利要求1所述的方法,其中,所述寄存器装置包括模式寄存器,并且其中,记录所述与存储器命令有关的信息包括:在所述寄存器装置中写入模式寄存器配置,以便响应读取触发而通过所述数据总线被读出。
5.如权利要求1所述的方法,其中,检测所述读取触发包括:检测来自存储控制器的命令,所述命令包括地址和命令信息以触发从作为源的所述寄存器装置写到作为目的地的所述MPR。
6.如权利要求1所述的方法,其中,将所述记录信息写到所述MPR还包括:将MPR选择代码包含在读取触发命令中。
7.如权利要求1所述的方法,其中,所述地址总线包括地址或命令总线。
8.一种其中主处理器访问记录信息的存储器子***,所述存储器子***包括:
动态随机存取存储器DRAM装置的多用途寄存器MPR,所述MPR是经由所述存储器子***的地址总线可写的并且是经由所述存储器子***的数据总线可读的;以及
寄存器装置,在所述地址总线上耦合到所述MPR但没有耦合到所述存储器子***的所述数据总线,用于记录与存储器命令有关的信息,并且响应在所述寄存器装置接收到的读取触发而将所述记录信息写到所述MPR,以使所述记录信息在所述MPR是可访问的,
其中耦合到所述存储器子***的主处理器要通过所述数据总线从所述MPR中读取所述记录信息。
9.如权利要求8所述的存储器子***,其中,所述寄存器装置还要执行存储器命令奇偶错误校验并且记录奇偶错误信息,以及还要在所述寄存器装置停止所述存储器命令,来代替向所述DRAM装置发送所述命令。
10.如权利要求8所述的存储器子***,其中,所述寄存器装置要记录调试信息。
11.如权利要求8所述的存储器子***,其中,所述寄存器装置包括模式寄存器,并且其中,所述模式寄存器要记录模式寄存器配置,以便响应读取触发而通过所述数据总线被读出。
12.如权利要求8所述的存储器子***,其中,所述读取触发包括来自存储控制器的命令,所述命令包括地址和命令信息,以触发从作为源的所述寄存器装置写到作为目的地的所述MPR。
13.如权利要求8所述的存储器子***,其中,所述寄存器装置要按照读取触发命令中的MPR选择代码将所述记录信息写到所述MPR。
14.如权利要求8所述的存储器子***,其中,所述寄存器装置在所述地址总线上耦合在存储控制器与所述DRAM装置之间,其中在所述地址总线上从所述存储控制器发送给所述DRAM的所有通信经过所述寄存器装置。
15.一种用于访问记录信息的设备,所述设备包括:
用于将与存储器命令有关的信息记录在通过存储器子***的地址总线来耦合到动态随机存取存储器DRAM装置的寄存器装置中的部件,所述寄存器装置没有耦合到所述存储器子***的数据总线;
用于检测用于所述寄存器装置中记录信息的读取触发的部件;以及
用于响应检测到所述读取触发而将所述记录信息写到所述DRAM装置的多用途寄存器MPR的部件,所述MPR使所述记录信息是主处理器通过所述数据总线可访问的。
16.如权利要求15所述的设备,其中,所述寄存器装置执行存储器命令奇偶错误校验,并且其中,用于执行记录所述与存储器命令有关的信息的所述部件包括用于执行将奇偶错误信息记录到所述寄存器装置中的部件,并且其中,用于执行检测所述读取触发的所述部件还包括用于执行在所述寄存器装置停止所述存储器命令并且不向所述DRAM装置发送所述命令的部件。
17.如权利要求15所述的设备,其中,用于执行记录所述与存储器命令有关的信息的所述部件包括用于执行在所述寄存器装置中记录调试信息的部件。
18.如权利要求15所述的设备,其中,所述寄存器装置包括模式寄存器,并且其中用于执行记录所述与存储器命令有关的信息的所述部件包括用于执行如下操作的部件:在所述寄存器装置中写入模式寄存器配置以便响应读取触发而通过所述数据总线被读出。
19.如权利要求15所述的设备,其中,用于执行检测所述读取触发的所述部件包括用于执行检测来自存储控制器的命令的部件,所述命令包括地址和命令信息以触发从作为源的所述寄存器装置写到作为目的地的所述MPR。
20.如权利要求15所述的设备,其中,用于执行将所述记录信息写到所述MPR的所述部件还包括用于执行在读取触发命令中提供MPR选择代码的部件。
CN201180075692.0A 2011-12-22 2011-12-22 访问命令/地址寄存器装置中存储的数据 Active CN103999055B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410831992.2A CN104636271B (zh) 2011-12-22 2011-12-22 访问命令/地址寄存器装置中存储的数据

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/066891 WO2013095518A1 (en) 2011-12-22 2011-12-22 Accessing data stored in a command/address register device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201410831992.2A Division CN104636271B (zh) 2011-12-22 2011-12-22 访问命令/地址寄存器装置中存储的数据

Publications (2)

Publication Number Publication Date
CN103999055A CN103999055A (zh) 2014-08-20
CN103999055B true CN103999055B (zh) 2017-03-01

Family

ID=48669159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180075692.0A Active CN103999055B (zh) 2011-12-22 2011-12-22 访问命令/地址寄存器装置中存储的数据

Country Status (5)

Country Link
US (3) US9442871B2 (zh)
KR (3) KR101736225B1 (zh)
CN (1) CN103999055B (zh)
DE (1) DE112011106021B4 (zh)
WO (1) WO2013095518A1 (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012151001A1 (en) * 2011-04-30 2012-11-08 Rambus Inc. Configurable, error-tolerant memory control
US9442871B2 (en) 2011-12-22 2016-09-13 Intel Corporation Accessing data stored in a command/address register device
US9934831B2 (en) * 2014-04-07 2018-04-03 Micron Technology, Inc. Apparatuses and methods for storing and writing multiple parameter codes for memory operating parameters
US9846612B2 (en) 2015-08-11 2017-12-19 Qualcomm Incorporated Systems and methods of memory bit flip identification for debugging and power management
US9940046B2 (en) 2015-11-27 2018-04-10 Samsung Electronics Co., Ltd. Semiconductor memory device with operation environment information storing circuit and command storing function
US10437483B2 (en) * 2015-12-17 2019-10-08 Samsung Electronics Co., Ltd. Computing system with communication mechanism and method of operation thereof
CN106126449A (zh) * 2016-06-17 2016-11-16 山东超越数控电子有限公司 一种用串口读ec寄存器的方法
US10268541B2 (en) 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
US10127074B2 (en) 2017-01-27 2018-11-13 Futurewei Technologies, Inc. Transaction identification synchronization
US10303543B1 (en) * 2017-02-09 2019-05-28 Cadence Design Systems, Inc. System and method for memory control having address integrity protection for error-protected data words of memory transactions
US10275306B1 (en) * 2017-02-09 2019-04-30 Cadence Design Systems, Inc. System and method for memory control having adaptively split addressing of error-protected data words in memory transactions for inline storage configurations
US10559351B2 (en) * 2017-02-20 2020-02-11 Texas Instruments Incorporated Methods and apparatus for reduced area control register circuit
US10997096B2 (en) 2017-05-22 2021-05-04 Intel Corporation Enumerated per device addressability for memory subsystems
US10380043B2 (en) * 2017-09-28 2019-08-13 Intel Corporation Memory bus MR register programming process
US10395722B2 (en) * 2017-09-29 2019-08-27 Intel Corporation Reading from a mode register having different read and write timing
US10664181B2 (en) * 2017-11-14 2020-05-26 International Business Machines Corporation Protecting in-memory configuration state registers
CN110968350B (zh) * 2018-09-30 2023-07-07 成都鼎桥通信技术有限公司 功放控制方法和装置
US10691592B2 (en) * 2018-10-30 2020-06-23 Micron Technology, Inc. Error-checking in namespaces on storage devices using a namespace table and metadata
KR102317788B1 (ko) * 2021-05-14 2021-10-26 삼성전자주식회사 스토리지 장치 및 스토리지 컨트롤러의 동작 방법
KR20230025969A (ko) 2021-08-17 2023-02-24 삼성전자주식회사 메모리 저장 장치, 메모리 저장 장치의 동작 방법, 테스트 방법 및 전자 장치
CN114138588B (zh) * 2021-11-03 2024-01-09 苏州浪潮智能科技有限公司 一种控制器的调试信息导出方法、***、设备以及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153347A (zh) * 1994-12-22 1997-07-02 三星电子株式会社 总线分析器及其测试内总线的方法
EP1021794B1 (en) * 1997-07-15 2006-09-13 Silverbrook Research Pty. Limited A camera with internal printing system
EP2275930A1 (en) * 1999-01-28 2011-01-19 ATI Technologies ULC Executing programs for a first computer architecture on a computer of a second architecture

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02284229A (ja) 1989-04-25 1990-11-21 Nec Corp マイクロプロセッサの状態記憶装置
US6763448B1 (en) 1999-02-16 2004-07-13 Renesas Technology Corp. Microcomputer and microcomputer system
US6064600A (en) * 1999-03-01 2000-05-16 Micron Technology, Inc. Methods and apparatus for reading memory device register data
US20030126413A1 (en) 2000-01-06 2003-07-03 Tony S. El-Kik Processor system including internal address generator for implementing single and burst data transfers
GB2383437B (en) * 2001-12-20 2004-02-04 Sun Microsystems Inc System trace unit
US6983274B2 (en) 2002-09-23 2006-01-03 Aaron Thomas Patzer Multiple alignment genome sequence matching processor
US20040139305A1 (en) * 2003-01-09 2004-07-15 International Business Machines Corporation Hardware-enabled instruction tracing
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
DE10350388A1 (de) 2003-10-28 2005-06-02 Micronas Gmbh Bussystem mit wenigen Steuerleitungen
US7418551B2 (en) 2004-07-06 2008-08-26 Intel Corporation Multi-purpose register cache
US7610455B2 (en) 2005-05-11 2009-10-27 Infineon Technologies Ag Technique to read special mode register
US20060271739A1 (en) * 2005-05-24 2006-11-30 Shu-Fang Tsai Management of transfer of commands
EP1940888B1 (en) 2005-10-21 2010-06-02 Basell Polyolefine GmbH Polypropylene random copolymers having high melt flow rates for injection molding and melt brown applications
US7742349B2 (en) * 2007-06-29 2010-06-22 Hynix Semiconductor, Inc. Semiconductor memory device
US8898368B2 (en) * 2007-11-07 2014-11-25 Inphi Corporation Redriven/retimed registered dual inline memory module
WO2009136402A2 (en) 2008-05-07 2009-11-12 Cosmologic Ltd. Register file system and method thereof for enabling a substantially direct memory access
US8139430B2 (en) * 2008-07-01 2012-03-20 International Business Machines Corporation Power-on initialization and test for a cascade interconnect memory system
US8286044B2 (en) * 2009-09-15 2012-10-09 International Business Machines Corporation Dynamic random access memory having internal built-in self-test with initialization
US8595428B2 (en) * 2009-12-22 2013-11-26 Intel Corporation Memory controller functionalities to support data swizzling
US9442871B2 (en) 2011-12-22 2016-09-13 Intel Corporation Accessing data stored in a command/address register device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1153347A (zh) * 1994-12-22 1997-07-02 三星电子株式会社 总线分析器及其测试内总线的方法
EP1021794B1 (en) * 1997-07-15 2006-09-13 Silverbrook Research Pty. Limited A camera with internal printing system
EP2275930A1 (en) * 1999-01-28 2011-01-19 ATI Technologies ULC Executing programs for a first computer architecture on a computer of a second architecture

Also Published As

Publication number Publication date
KR101685435B1 (ko) 2016-12-13
DE112011106021B4 (de) 2018-05-03
US9442871B2 (en) 2016-09-13
US9436632B2 (en) 2016-09-06
WO2013095518A1 (en) 2013-06-27
DE112011106021T5 (de) 2014-12-04
KR101736225B1 (ko) 2017-05-16
US20160379690A1 (en) 2016-12-29
US20150089111A1 (en) 2015-03-26
KR20140091610A (ko) 2014-07-21
KR101735555B1 (ko) 2017-05-15
CN103999055A (zh) 2014-08-20
KR20150010798A (ko) 2015-01-28
US20140372816A1 (en) 2014-12-18
KR20160106218A (ko) 2016-09-09

Similar Documents

Publication Publication Date Title
CN103999055B (zh) 访问命令/地址寄存器装置中存储的数据
CN106463179B (zh) 利用存储器控制器处理数据错误事件的方法、装置和***
CN106575517B (zh) 用于提供比较访问功能的存储器设备
CN103930878B (zh) 用于存储器验证的方法、装置及***
CN107430538A (zh) 基于错误类型的ecc的动态应用
KR102426619B1 (ko) 영구 메모리 시스템 등을 위한 데이터 무결성
CN107430537A (zh) 从片上dram ecc中提取选择性信息
US9009531B2 (en) Memory subsystem data bus stress testing
US9904591B2 (en) Device, system and method to restrict access to data error information
CN107567645A (zh) 采用错误计数器和内部地址生成的管芯上ecc
CN107924705A (zh) 存储器装置错误校验和清除模式以及错误透明度
US20180129553A1 (en) Memory devices and modules
US10606696B2 (en) Internally-generated data storage in spare memory locations
CN107408099A (zh) 基于检测传感器数据的阻抗补偿
JP2011054263A (ja) メモリエラーと冗長
US20140095946A1 (en) Transaction-level testing of memory i/o and memory device
US20150067437A1 (en) Apparatus, method and system for reporting dynamic random access memory error information
CN104636271B (zh) 访问命令/地址寄存器装置中存储的数据
TW200746155A (en) Semiconductor memory and method for testing the same
US20130326263A1 (en) Dynamically allocatable memory error mitigation
US20140089761A1 (en) Method, apparatus and system for providing error correction information
JP6713740B2 (ja) メモリモジュール
US10901845B2 (en) Erasure coding for a single-image memory
CN115934395A (zh) 固态硬盘的故障注入方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant