CN114442918A - 存储器模块及其操作方法 - Google Patents

存储器模块及其操作方法 Download PDF

Info

Publication number
CN114442918A
CN114442918A CN202111260222.3A CN202111260222A CN114442918A CN 114442918 A CN114442918 A CN 114442918A CN 202111260222 A CN202111260222 A CN 202111260222A CN 114442918 A CN114442918 A CN 114442918A
Authority
CN
China
Prior art keywords
error
information
memory module
memory
active
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
Application number
CN202111260222.3A
Other languages
English (en)
Inventor
李美珍
金东润
金玟赫
金成峻
文盛业
李钟荣
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN114442918A publication Critical patent/CN114442918A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • 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
    • G06F13/1668Details of memory controller
    • 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/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • 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/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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

公开了存储器模块及其操作方法。所述存储器模块包括:多个动态随机存取存储器(DRAM);控制器,被配置为控制DRAM的操作;以及有源装置,被配置为:响应于检测到在所述多个DRAM中的至少一个中发生的错误,生成中断并存储与错误对应的错误信息。

Description

存储器模块及其操作方法
技术领域
发明构思总体涉及存储器模块及其操作方法。更具体地,发明构思涉及包括非易失性存储器的存储器模块及其操作方法。
背景技术
不同的半导体存储器装置使用不同的半导体组成元件来存储数据。半导体存储器装置大体上可被分类为非易失性存储器装置或易失性存储器装置。非易失性存储器装置即使在没有供电的情况下也保持存储的数据。示例性非易失性存储器装置包括只读存储器(ROM)、可编程ROM(PROM)、电可擦除可编程ROM(EEPROM)、闪存、相变随机存取RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)和铁电RAM(FRAM)。相比之下,当供电中断时,存储在易失性存储器中的数据丧失完整性。示例性易失性存储器装置包括静态RAM(SRAM)、动态RAM(DRAM)和同步DRAM(SDRAM)。
易失性存储器装置尤其适合于支持高速、随机的数据存取应用(诸如,通常与计算系统(例如,个人计算机、服务器或工作站)中的主存储器相关联的数据存取应用)。然而,非易失性存储器装置尤其适合于支持大量(或者,容量)的数据存储应用(诸如,计算系统中的辅助存储装置)。
发明内容
发明构思的实施例提供能够存储与电子系统中发生的关于易失性存储器装置的操作的错误相关联的错误信息的存储器模块。
发明构思的实施例提供操作存储器模块的方法,所述存储器模块能够存储与电子系统中发生的关于易失性存储器装置的操作的错误相关联的错误信息。
在一个方面,发明构思的实施例提供一种存储器模块,所述存储器模块包括:多个动态随机存取存储器(DRAM);控制器,被配置为控制DRAM的操作;以及有源装置,被配置为:响应于检测到在所述多个DRAM中的至少一个中发生的错误,生成中断并存储与错误对应的错误信息。
在另一方面,发明构思的实施例提供一种电子装置,所述电子装置包括:存储器模块,包括易失性存储器和有源装置;以及中央处理器(CPU),通过系统总线连接到存储器模块。有源装置被配置为:响应于检测到在易失性存储器中发生的错误,生成中断并存储与错误对应的错误信息。
在另一方面,发明构思的实施例提供一种存储器模块的操作方法,所述存储器模块包括多个易失性存储器、控制器和有源装置。所述操作方法包括:使用有源装置周期性地读取存储在寄存器中的错误日志;当检测到关于存储器模块的操作的错误时,将中断传送到寄存器;响应于中断从寄存器接收错误日志,并且将错误日志中的至少一部分存储为错误信息;以及将错误信息存储在非易失性存储器中。
然而,发明构思的方面不限于在此阐述的方面。通过参考下面给出的发明构思的具体实施方式,对于发明构思所属领域的普通技术人员来说,发明构思的以上和其他方面将变得更清楚。
附图说明
当结合附图考虑下面的具体实施方式时,发明构思的以上和其他方面以及特征将变得更清楚,在附图中:
图1是示出根据发明构思的实施例的电子装置的框图;
图2是进一步示出图1的存储器模块100的框图;
图3和图4是在各种实施例中示出图2的有源装置50的相应框图;
图5和图6是在各种实施例中示出图3和图4的有源存储器的相应框图;
图7是示出可在发明构思的一些实施例中使用的示例性错误信息的列表;
图8和图9是在各种实施例中示出操作图2的有源装置的方法的流程图;以及
图10是在一个示例中示出操作图1的电子装置的方法的流程图。
具体实施方式
在下文中,将参照附图描述发明构思的特定实施例。
附图(图)1是示出根据发明构思的实施例的电子装置的框图。图2是示出作为图1的主存储器装置(或者,存储器)100的一个示例的存储器模块100的框图。
参照图1,电子装置1可被不同地实现为例如个人计算机(PC)、膝上型计算机、超移动PC(UMPC)、工作站、服务器、上网本、个人数字助理(PDA)、便携式计算机、网络平板计算机、无线电话、移动电话、智能电话、数码相机、数字录音机、数字音频播放器、数字录像机、数字图像播放器、数字视频录像机、数字视频播放器、家庭网络或能够在硬连线环境和/或无线环境中“传送”(例如,发送和/或接收)信息的另一装置或系统。
在一些实施例中,电子装置1可包括主存储器装置100、中央处理器(CPU)200和系统总线300。在电子装置1内部(或者在可附接/可拆卸组件或者与外部组件通信的情况下在电子装置1外部),诸如输入装置400、显示装置500、网络装置600和存储装置700的各种组件可经由系统总线300连接到CPU 200和/或主存储器装置100。
主存储器装置100可用于存储由CPU 200处理或传送的数据。在一些实施例中,主存储器装置100可用作CPU 200的工作存储器。本领域技术人员将理解,主存储器装置100可被不同地配置。例如,主存储器装置100可包括DRAM、双倍数据速率同步DRAM(或者,DDRSDRAM)、低功率DDR SDRAM(或者,LPDDR SDRAM)、图形DDR(或者,GDDR)、Rambus DRAM(或者,RDRAM)、和需要刷新操作的任何其他类型的易失性存储器装置中的一个或多个。
这里,主存储器装置100可被全部地或部分地制造为半导体存储器装置。主存储器装置100的处理速度可比存储装置700的处理速度快得多,存储装置700可包括一个或多个非易失性存储器装置。
CPU 200可包括各种任意的处理器,并且可包括能够对与电子装置1相关联的指令进行编码和/或解码的装置、能够执行算术运算和/或逻辑运算的装置、以及能够不同地处理由电子装置1传送的数据的装置。例如,在一些实施例中,CPU 200可包括编程计数器、算术逻辑单元(ALU)210、控制单元220、各种寄存器230、指令解码器、时序电路以及总线接口240等。
这里,ALU 210可响应于与电子装置1相关联的指令而执行各种算术运算和/或逻辑运算。
在一些实施例中,寄存器230可存储用于跟踪电子装置1的操作状态的日志。也就是说,控制单元220可在电子装置1的操作期间实时地将记录电子装置1的操作状态的数据写入寄存器230中。例如,寄存器230可记录各种时间信息(诸如,特定操作被执行的时间)。因此,寄存器230可用作用于基本输入/输出系统(BIOS)的轮询寄存器(pollingregister)、记录与基板管理控制器(BMC)相关的系统事件的寄存器等。
CPU 200可包括单处理核或多处理核。例如,CPU 200可包括多个双核(two cores或dual-core)、四核(four cores或quad-core)或六核(six cores或hexa-core)。CPU 200还可包括一个或多个缓存存储器(例如,外部缓存存储器和/或内部缓存存储器)。
输入装置400包括能够将输入数据、地址和/或命令提供到电子装置1的一个或多个装置。例如,输入装置400可包括键盘、小键盘、按键、触控面板、触摸屏、触摸板、触摸球、相机、麦克风、陀螺仪传感器、振动传感器、压电元件、温度传感器、生物特征传感器等。
显示装置500包括能够将输出数据提供到一个或多个电路的一个或多个装置。例如,显示装置500可包括液晶显示器(LCD)、有机发光二极管(OLED)显示器、有源矩阵OLED(AMOLED)显示器、LED、扬声器、发动机等。
网络装置600可包括能够与电子装置1外部的装置传送信息的通信装置。在这方面,网络装置600可以是硬连线通信装置和/或无线通信装置。
存储装置700可设置在CPU 200和主存储器100外部。在一些实施例中,存储装置700可用作与主存储器装置100的有限的存储容量有关的补充存储器。存储装置700可以是当电子装置1关闭时保障特定数据的非易失性存储器。如上所示,存储装置700的数据处理速度会比主存储装置100的处理速度慢很多,然而大量的数据可以以半永久状态被存储装置700存储。
存储装置700可被不同地实现(例如,实现为硬盘驱动器(HDD))。然而,在一些实施例中,存储装置700可以是半导体存储器装置(诸如,固态驱动器(SSD))。
总线300可包括各种通信协议和/或通信链路,或者与各种通信协议和/或通信链路兼容。因此,在一些实施例中,总线300可以是系统管理总线(SMBus)、内部集成电路(I2C)总线、智能平台管理接口(IPMI)兼容总线、Modbus等。
主存储器装置100可被实现为如图2中示出的存储器模块。当被实现为存储器模块时,主存储器装置100可容易地附接到电子装置1/从电子装置1拆卸(或者,安装在电子装置1内部/从电子装置1拆卸)。就此而言,安装在电子装置1内部的一个或多个存储器模块可被配置为主存储器装置100。
图2中示出的存储器模块(或者,主存储器装置、存储器)100包括多个易失性存储器(例如,DRAM 11、12、13、14、15、16、17、18,下文统称为,“DRAM 11至18”)、控制器20、存储器输入/输出(I/O)引脚30和有源装置(active device)50。存储器模块100可用于在CPU200的控制器下写入数据、存储数据、获取(或者,读取)数据和/或擦除数据。例如,在图2的示出的示例的情况下,CPU 200可使用一个或多个通信协议或者由JEDEC(参见www.jedec.com)建立的技术标准(诸如,用于DDR SDRAM的JESD79F以及用于LPDDR的JESD209等)来控制与存储器模块100的数据交换。就此而言,CPU 200可在各种数据访问操作(例如,读取操作和写入操作)期间将命令、地址、控制信号和/或数据适当地传送到存储器模块100。
关于图2假设的(以及在下文的书面描述中的)DRAM 11至18可以是DRAM、SRAM和/或SDRAM中的一个或多个。DRAM 11至18中的每个可在控制器20的控制下经由第一通道CH1传送数据(DQ)。在一些实施例中,存储器模块100还可包括在数据(DQ)和/或各种其他信号的传送期间通常使用的各种缓冲器(未示出)。这里,数据(DQ)可与数据选通信号(DQS)同步地传送。
在一些实施例中,控制器20可使用通常与例如双列直插式存储器模块(DIMM)、带寄存器的DIMM(RDIMM)、低负载DIMM(LRDIMM)、不带寄存器的DIMM(UDIMM)等相关联的至少一种通信协议或技术标准与DRAM 11至18通信。因此,存储器模块100的控制器20可在主存储器装置100的数据访问操作期间经由第一通道CH1不同地接收命令、地址、控制信号(包括一个或多个时钟信号)以及数据,并且可将这些信号中的一个或多个不同地提供(或者,分发)到DRAM 11至18。
有源装置50可监测DRAM 11至18中的每个的操作状态,并且还可存储与检测到的发生在DRAM 11至18中的至少一个中的错误相关联的错误信息。这里,检测到的“错误”可以是被写入DRAM 11至18中的至少一个或从DRAM 11至18中的至少一个读取的数据的数据内容错误、被传送到DRAM 11至18中的至少一个/从DRAM 11至18中的至少一个传送的数据的数据传送错误等。在一些实施例中,有源装置50可实时监测DRAM 11至18的操作状态。在其他实施例中,有源装置50可周期性地或者在接收到外部命令时监测DRAM 11至18的操作状态。在检测到错误的发生(不管怎样监控)时,有源装置50可通过将相应的时间(或者,时间段)记录在保存于(例如)寄存器230中的“错误日志”中来记录错误的发生。因此,有源装置50可通过读取存储在寄存器230中的错误日志而报告错误的发生。在这样的一些实施例中,寄存器230中的错误日志可包括与DRAM 11至18中的每个单独关联的多个日志。
在一些实施例中,在检测到错误的发生(例如,通过读取错误日志)时,有源装置50可将相应的控制信号(例如,下文的“中断”)发送到CPU 200。响应于错误中断,如果错误未被记录,则CPU 200可使错误被记录在错误日志中(例如,更新寄存器230中的错误日志)。此后,有源装置50可从CPU 200接收更新的错误日志的副本作为“错误信息”。
就此而言,应注意有源装置50可检测存储器模块100的异常操作并通过第二通道CH2传送中断,以从CPU 200接收错误信息。
在一些实施例中,第二通道CH2可以是与第一通道CH1分开的通道。例如,第一通道CH1可将系统总线300连接到控制器20,第二通道CH2可将系统总线300连接到有源装置50。因此,如果由于错误的发生电子装置1(或CPU 200)应当关闭并且第一通道CH1变得不可用,则有源装置50仍然可使用第二通道CH2执行与发生错误相关的操作。
图3和图4是在不同的示例中进一步示出图2的有源装置50的相应框图,图5和图6是在不同的示例中进一步示出图3的有源存储器(active memory)52的相应框图。
参照图3,有源装置50可包括有源控制器51(active controller)和有源存储器52。这里,有源控制器51可周期性地监测DRAM 11至18的操作状态,并且当在DRAM 11至18中的至少一个中发生错误时将中断输出到CPU 200。在一些实施例中,有源控制器51可周期性地读取存储在寄存器230中的错误日志,以便监测DRAM 11至18的操作状态。可选地,有源控制器51可周期性地检查(或者,轮询)DRAM 11至18中的每个,以便确定DRAM 11至18的操作状态,和/或从控制器20接收操作状态信息。
作为监测的结果,当检测到错误发生时,有源控制器51可将中断输出到CPU 200。在一些实施例中,中断可改变CPU 200中的BIOS,以便根据检测的错误是可纠正的错误(CE)还是不可纠正的错误(UE)而记录系统分析数据。
就此而言,有源控制器51可从CPU 200接收与中断相关联的错误日志条目,并且将错误日志条目存储在有源存储器52中。例如,在可纠正的错误(CE)的情况下,有源控制器51可从机器检测模型特定寄存器(MSR)(例如,错误报告存储体寄存器,error-reportingbank register)、纠错计数寄存器、和/或retry_rd_err_log寄存器接收相应的错误信息。在不可纠正的错误(UE)的情况下,有源控制器51可接收系统事件日志作为相应的错误信息。因此,有源存储器52可存储一种或多种类型的错误信息。可选地或附加地,有源存储器52可存储与存储器模块100相关联的初始信息、装置信息、模块配置(和/或,类型)信息、数据存储容量信息、执行环境信息、操作日志等。就此而言,有源存储器52可以是非易失性存储器。
在一些实施例中,有源存储器52可根据错误类型区分并存储各种错误信息。例如,如图5中所示,有源存储器52可区分并单独地存储与可纠正的第一错误61和不可纠正的第二错误62相关联的错误信息。在可纠正的第一错误61的情况下(即,在发生第一错误61时),存储器模块100和电子装置1的操作可在能够进行第一错误61的纠错的情况下继续。因此,可纠正的(或者,第一类型的)错误信息(例如,CE LOG 1至CE LOG N)可累积地存储在有源存储器52中。然而,在不可纠正的第二错误62的情况下(即,在发生第二错误62时),一旦相应的第二错误信息(UE LOG)被存储在有源存储器52中,CPU 200和/或电子装置1被立即关闭。
在一些实施例中,有源存储器52可以以错误信息从CPU 200被接收的次序(例如,接收的顺序)或者以错误被检测到的次序(例如,发生的顺序)存储错误信息。例如,如图6中所示,有源存储器52可以以时间次序存储错误信息。也就是说,由于可纠正的第一错误(例如,CE LOG 1至CE LOG N)71至79被持续用于执行与DRAM 11至18相关的纠错,可纠正的第一错误可以以时间次序被记录。然而,不可纠正的第二错误(例如,UE LOG)80可在系统关闭之前被立即存储为错误信息。
在一些实施例中,有源装置50可包括通信互联网协议(IP)53。通信IP53允许外部装置(未示出)使用存储器模块100的功能访问存储在DRAM 11至18中的一个或多个中的数据。例如,通信IP可将互联网协议地址分配到DRAM 11至18中的每个,随后有源装置50可允许外部装置使用这些分配的地址直接访问DRAM 11至18。通信IP 53可被实现为与图3的有源控制器51和有源存储器52分离的芯片。可选地,通信IP 53可使用通过图4的有源控制器51和有源存储器52提供的功能来实现。这里,通信IP 53可通过输入/输出(I/O)总线连接到外部装置,I/O总线可用于将存储在有源存储器52中的错误信息传送到外部装置。
根据发明构思的实施例的包括有源装置50的存储器模块(或者,主存储器装置)100能够实时检查错误并使用存储在有源存储器52中的错误信息来分析错误的类型和/或错误的原因,从而提高电子装置1的整体的可靠性、可用性、可服务性(RAS)。
图7是列出关于发明构思的实施例的可被使用的示例性错误信息的表。
这里,如前面那样,可纠正的第一错误(CE)是可使用与存储器模块100相关联的纠错能力而纠正的错误。就此而言,可纠正的第一错误(CE)可被CPU 200检测到。在一些实施例中,可纠正的第一错误(CE)可以是在DRAM11至18中的一个中发生的错误。
相比之下,不可纠正的第二错误(UE)是使用与存储器模块100相关联的纠错能力不能被纠正的错误。这里再次地,不可纠正的第二错误(UE)可被CPU 200检测到。例如,不可纠正的第二错误(UE)可包括例如在两个或更多个DQ中发生的错误、以及使得系统停止或系统重置的类似的严重错误。在一些实施例中,不可纠正的第二错误(UE)可包括超过最大CE阈值的错误、或者当RAS特征未覆盖系统时导致的错误。
参照示出的图7的示例,在可纠正的第一错误(CE)的情况下,DRAM11至18中的至少一个中的与可纠正的第一错误(CE)相关联的地址信息(例如,故障地址)、与错误相关联的时间信息以及与DRAM 11至18相关联的错误日志(例如,操作日志或系统日志)可从寄存器230被读取并被存储为第一错误信息。这里,在一些实施例中,每当发生可纠正的第一错误(CE)时,有源装置50可使用通过BIOS路由的系统管理中断(SMI)服务来存储第一错误信息。可选地,有源装置50可访问寄存器230以(全部地或部分地)读取错误日志(例如,一个或多个系统事件日志),然后将错误日志存储在有源存储器52中。
在不可纠正的第二错误(UE)的情况下,相应的错误信息可包括头信息、循环冗余校验(CRC)信息、与不可纠正的第二错误(UE)相关联的地址信息(例如,DRAM地址)、系统信息、系统类型和/或配置、时间信息(例如,与UE相关联的时间戳)等中的至少一个。
图8和图9是在一个示例中示出操作图2的有源装置50的方法的相应流程图。
参照图1、图2和图8,存储器模块(或者,主存储器装置)100响应于通过CPU 200提供的命令、地址、控制信号和/或数据,执行存储器操作(S10)。在检测到错误(S20=是)时,有源装置可确定检测到的错误是否是可纠正的(S30)。如果确定错误是可纠正的(S30=是),则可执行纠错,并且可根据可纠正的错误(CE)模式来存储错误信息(S40)。否则,如果确定检测到的错误不是可纠正的(S30=否),则可根据不可纠正的错误(UE)模式来存储错误信息(S50)。
参照图1、图2和图9,在发明构思的一些实施例中,有源装置50可通过周期性地读取存储在寄存器230中的错误日志来监测DRAM 11至18的操作状态(S100)。如果在该监测步骤期间检测到错误(S110=是),则可将中断传送到寄存器230(S120)。这里,中断的类型可根据错误被确定为是可纠正的还是不可纠正的而变化。例如,在一些实施例中,可仅在错误被认为是不可纠正的错误时发送中断。
响应于中断,寄存器230可将错误信息传送到有源装置50。例如,在存储在寄存器230中的错误日志存储多个系统(或者,组件)日志时,只有与中断相关的系统日志可被传送到有源装置50。在(全部地或部分地)接收到错误日志时(S130),有源装置50可将错误日志存储为错误信息(S140)。如果错误是不可纠正的第二错误(UE),则与存储器模块100相关联的CPU 200或电子装置1将关闭(S150)。然而,如果错误是可纠正的第一错误(CE),则可执行纠错或者对存储在DRAM 11至18中的一个或多个中的数据执行读取重试。
图10是在一个示例中示出图1的电子装置1的操作的方法的流程图。
参照图1和图10,CPU 200响应于从电子装置1内部的组件或外部源接收的命令、地址、控制信号和/或数据而进行操作(S300)。响应于CPU 200的操作,存储器模块100可执行存储器操作(S400)。就此而言,CPU 200可实时记录(或者,更新)存储器模块100的操作状态(S310),就此而言,进一步地,有源装置50可访问CPU 200以便监测是否发生错误(S500)。
如果在存储器操作期间发生可纠正的错误(S320和S410),则CPU 200指示控制器20执行纠错操作、读取重试操作等,并且控制器20如此执行(S420)。
有源装置50可将中断传送到CPU 200,并且CPU 200可接收中断(S330),并响应于中断传送错误日志(S340)。在一些实施例中,传送的错误日志可以是最近更新的系统日志集。有源装置50接收错误日志(S520),并且将错误日志的内容(全部地或部分地)存储为错误信息(S530)。可选地,有源装置可不将中断输出到CPU 200,而是可将周期性读取的日志中的与错误发生对应的错误日志存储为错误信息(S530)。
如果在存储器操作期间发生不可纠正的错误(S320和S410),则系统将关闭(S350)。然而在系统关闭之前,有源装置50立即传送中断(S510),并且在从有源装置接收到中断时,CPU 200传送与错误发生对应的错误日志(S340)。有源装置50接收错误日志(S520),并且将错误日志的内容(全部地或部分地)存储为错误信息(S530)。
就此而言,进一步地,当有源装置从外部装置接收到对有源存储器52的访问请求时(S600),有源装置可将存储的错误信息发送到外部装置(S540)。
已经关于发明构思的特定实施例描述了发明构思的形成和使用。然而,发明构思的范围不仅限于示出的实施例。本领域技术人员将理解,在实质上不脱离由所附权利要求限定的发明构思的范围的情况下,可对示出和描述的实施例进行许多变化和修改。

Claims (20)

1.一种存储器模块,包括:
多个动态随机存取存储器DRAM;
控制器,被配置为控制DRAM的操作;以及
有源装置,被配置为:响应于检测到在所述多个DRAM中的至少一个中发生的错误,生成中断并存储与错误对应的错误信息。
2.根据权利要求1所述的存储器模块,其中,有源装置包括:
有源控制器,被配置为将中断传送到包括寄存器的中央处理器;以及
非易失性存储器,被配置为接收存储在寄存器中的错误日志,并将错误日志存储为错误信息。
3.根据权利要求2所述的存储器模块,其中,有源装置还被配置为:周期性地监测是否发生关于DRAM的操作的错误。
4.根据权利要求2所述的存储器模块,其中,有源装置还被配置为:根据可纠正的第一错误和不可纠正的第二错误,区分并存储错误信息。
5.根据权利要求2所述的存储器模块,其中,存储器模块还包括:
第一通道,被配置为将控制器连接到系统总线;以及
第二通道,被配置为将有源装置连接到系统总线。
6.根据权利要求2所述的存储器模块,其中,有源装置包括:通信互联网协议,被配置为传送所述多个DRAM中的至少一个的分配的地址。
7.根据权利要求6所述的存储器模块,其中,通信互联网协议相对于有源控制器被单独配置。
8.根据权利要求2至7中的任一项所述的存储器模块,其中,非易失性存储器还被配置为:顺序地存储与多个可纠正的错误相关联的错误信息。
9.根据权利要求2至7中的任一项所述的存储器模块,其中,响应于中断,当错误是不可纠正的错误时,非易失性存储器存储错误信息,并且中央处理器的操作被关闭。
10.一种电子装置,包括:
存储器模块,包括易失性存储器和有源装置;以及
中央处理器,通过系统总线连接到存储器模块,
其中,有源装置被配置为:响应于检测到在易失性存储器中发生的错误,生成中断并存储与错误对应的错误信息。
11.根据权利要求10所述的电子装置,其中,中央处理器包括:
处理器,被配置为访问存储在易失性存储器中的数据;以及
寄存器,被配置为存储存储器模块的错误日志。
12.根据权利要求11所述的电子装置,其中,有源装置包括:
有源控制器,被配置为将中断传送到中央处理器;以及
非易失性存储器,被配置为接收错误日志,并将错误日志存储为错误信息。
13.根据权利要求12所述的电子装置,其中,如果错误是可纠正的错误,则有源控制器接收与错误相关联的易失性存储器中的地址信息,并将地址信息存储在非易失性存储器中作为错误信息。
14.根据权利要求13所述的电子装置,其中,如果错误是不可纠正的错误,则有源控制器将中断传送到中央处理器,响应于中断读取存储在寄存器中的错误日志,并且电子装置关闭。
15.根据权利要求14所述的电子装置,其中,错误日志包括头信息、循环冗余校验信息、与错误相关联的易失性存储器装置中的地址信息、系统信息、系统类型信息、系统配置信息和时间信息中的至少一个。
16.根据权利要求15所述的电子装置,其中,存储器模块还包括:
第一通道,被配置为将易失性存储器的控制器连接到系统总线;以及
第二通道,被配置为将有源装置连接到系统总线,并且中断通过第二通道从有源装置传送到中央处理器。
17.一种存储器模块的操作方法,所述存储器模块包括多个易失性存储器、控制器和有源装置,所述操作方法包括:
使用有源装置周期性地读取存储在寄存器中的错误日志;
当检测到关于存储器模块的操作的错误时,将中断传送到寄存器;
从寄存器接收与中断相关联的错误日志;以及
将错误日志中的至少一部分作为错误信息存储在非易失性存储器中。
18.根据权利要求17所述的操作方法,还包括:
确定错误是否是可纠正的错误;
当确定错误是可纠正的错误时,接收所述多个易失性存储器之中的与错误相关联的易失性存储器的地址信息、所述易失性存储器的操作日志以及与错误相关联的时间信息;以及
使用地址信息、操作日志和时间信息对错误执行纠错操作。
19.根据权利要求18所述的操作方法,其中,有源装置被配置为:累积地和顺序地存储与分别被确定为可纠正的错误的多个错误相关联的错误信息。
20.根据权利要求17所述的操作方法,还包括:
确定错误是否是可纠正的错误;以及
当确定错误是不可纠正的错误时,在存储错误信息之后关闭包括存储器模块的系统。
CN202111260222.3A 2020-11-03 2021-10-28 存储器模块及其操作方法 Pending CN114442918A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2020-0145259 2020-11-03
KR1020200145259A KR20220059729A (ko) 2020-11-03 2020-11-03 메모리 모듈 및 메모리 모듈의 동작방법

Publications (1)

Publication Number Publication Date
CN114442918A true CN114442918A (zh) 2022-05-06

Family

ID=81184651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111260222.3A Pending CN114442918A (zh) 2020-11-03 2021-10-28 存储器模块及其操作方法

Country Status (4)

Country Link
US (1) US11656929B2 (zh)
KR (1) KR20220059729A (zh)
CN (1) CN114442918A (zh)
DE (1) DE102021119293A1 (zh)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5410545A (en) * 1992-07-28 1995-04-25 Digital Equipment Corporation Long-term storage of controller performance
US6463550B1 (en) * 1998-06-04 2002-10-08 Compaq Information Technologies Group, L.P. Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US6976197B2 (en) * 2001-10-25 2005-12-13 International Business Machines Corporation Apparatus and method for error logging on a memory module
US7143236B2 (en) * 2003-07-30 2006-11-28 Hewlett-Packard Development Company, Lp. Persistent volatile memory fault tracking using entries in the non-volatile memory of a fault storage unit
US7404118B1 (en) 2004-09-02 2008-07-22 Sun Microsystems, Inc. Memory error analysis for determining potentially faulty memory components
US7487428B2 (en) * 2006-07-24 2009-02-03 Kingston Technology Corp. Fully-buffered memory-module with error-correction code (ECC) controller in serializing advanced-memory buffer (AMB) that is transparent to motherboard memory controller
US9430324B2 (en) 2013-05-24 2016-08-30 Rambus Inc. Memory repair method and apparatus based on error code tracking
US9454422B2 (en) * 2014-01-30 2016-09-27 International Business Machines Corporation Error feedback and logging with memory on-chip error checking and correcting (ECC)
US9785570B2 (en) 2015-03-09 2017-10-10 Samsung Electronics Co., Ltd. Memory devices and modules
KR102529171B1 (ko) 2016-02-26 2023-05-04 삼성전자주식회사 메모리 장치 진단 시스템
US10592114B2 (en) * 2016-03-03 2020-03-17 Samsung Electronics Co., Ltd. Coordinated in-module RAS features for synchronous DDR compatible memory
US10025649B2 (en) * 2016-08-25 2018-07-17 Microsoft Technology Licensing, Llc Data error detection in computing systems
US10318455B2 (en) 2017-07-19 2019-06-11 Dell Products, Lp System and method to correlate corrected machine check error storm events to specific machine check banks
US10896087B2 (en) 2018-11-08 2021-01-19 Microsoft Technology Licensing, Llc System for configurable error handling
TWI709039B (zh) * 2019-04-25 2020-11-01 神雲科技股份有限公司 伺服器及錯誤事件紀錄登載功能的控制方法

Also Published As

Publication number Publication date
KR20220059729A (ko) 2022-05-10
US11656929B2 (en) 2023-05-23
DE102021119293A1 (de) 2022-05-05
US20220138049A1 (en) 2022-05-05

Similar Documents

Publication Publication Date Title
US10824499B2 (en) Memory system architectures using a separate system control path or channel for processing error information
US10002043B2 (en) Memory devices and modules
TWI724254B (zh) 半導體設備、記憶體模組及其操作方法
US8892942B2 (en) Rank sparing system and method
US8020053B2 (en) On-line memory testing
KR102378466B1 (ko) 메모리 장치 및 모듈
US9904591B2 (en) Device, system and method to restrict access to data error information
US20160055058A1 (en) Memory system architecture
US7783918B2 (en) Data protection method of storage device
JP2008262325A (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
US20220050603A1 (en) Page offlining based on fault-aware prediction of imminent memory error
US20240013851A1 (en) Data line (dq) sparing with adaptive error correction coding (ecc) mode switching
US10521113B2 (en) Memory system architecture
US11656929B2 (en) Memory module and operating method
US11593209B2 (en) Targeted repair of hardware components in a computing device
KR20190052490A (ko) 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법
WO2023108319A1 (en) In-system mitigation of uncorrectable errors based on confidence factors, based on fault-aware analysis
US20220350715A1 (en) Runtime sparing for uncorrectable errors based on fault-aware analysis
US10255986B2 (en) Assessing in-field reliability of computer memories
KR20240003823A (ko) 정정된 에러를 관리하는 전자 장치 및 전자 장치의 동작 방법
CN116483600A (zh) 内存故障处理方法及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination