CN116368470A - 用于系统内封装存储架构的错误检测、预测和处理技术 - Google Patents
用于系统内封装存储架构的错误检测、预测和处理技术 Download PDFInfo
- Publication number
- CN116368470A CN116368470A CN202080106885.7A CN202080106885A CN116368470A CN 116368470 A CN116368470 A CN 116368470A CN 202080106885 A CN202080106885 A CN 202080106885A CN 116368470 A CN116368470 A CN 116368470A
- Authority
- CN
- China
- Prior art keywords
- memory
- error
- mmu
- information
- ras
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 title claims description 35
- 238000012545 processing Methods 0.000 title claims description 19
- 230000015654 memory Effects 0.000 claims abstract description 339
- 230000036541 health Effects 0.000 claims abstract description 16
- 238000013507 mapping Methods 0.000 claims description 15
- 238000012937 correction Methods 0.000 claims description 13
- 229910052710 silicon Inorganic materials 0.000 claims description 4
- 239000010703 silicon Substances 0.000 claims description 4
- 230000009897 systematic effect Effects 0.000 claims description 4
- 230000003862 health status Effects 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims 1
- 238000010168 coupling process Methods 0.000 claims 1
- 238000005859 coupling reaction Methods 0.000 claims 1
- LKDRXBCSQODPBY-OEXCPVAWSA-N D-tagatose Chemical compound OCC1(O)OC[C@@H](O)[C@H](O)[C@@H]1O LKDRXBCSQODPBY-OEXCPVAWSA-N 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
- G11C29/765—Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/785—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes
- G11C29/789—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using non-volatile cells or latches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/816—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
- G11C29/883—Masking faults in memories by using spares or by reconfiguring with partially good memories using a single defective memory device with reduced capacity, e.g. half capacity
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Abstract
包括逻辑管芯和一个或多个内存管芯的系统级封装可以包括用于内存错误检测、内存错误预测和内存错误处理的可靠性可用性可服务性(RAS)内存管理单元(MMU)。所述RAS MMU可以接收一个或多个内存管芯的内存健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息。所述RAS MMU可以基于内存健康状态信息、芯上内存错误类型、系统错误类型和读取地址来管理一个或多个内存管芯的各个内存块。所述RAS MMU还可以基于接收到的芯上内存温度信息和/或系统温度信息来进一步管理各个内存块。
Description
技术领域
本公开实施例涉及处理器技术领域,尤其涉及一种用于系统内封装存储架构的错误检测、预测和处理技术。
背景技术
为了进一步改变集成电路(IC)的规模、出现了减少内存访问和/或提升处理速度、以及在二维或三维架构中组合内存和逻辑电路的多种技术。现在将参考图1A-1E图示说明一些示例性的二维和三维架构。图1A示出了二维(2D)近存处理PNM IC封装。2D PNM 105可以包括在单个封装中耦接在一起的内存管芯110和逻辑管芯115。图1B示出了2D存内处理(PIM)封装。2D PIM 120可以在同一管芯125上包括运算逻辑和内存两者。图1C示出了2.5DPNM封装。2.5D PNM 130包括通过中介层145耦接在一起的内存管芯110和逻辑管芯115。图1D示出了3D混合PNM封装150。3D混合PNM 150可以包括耦接到逻辑管芯160的内存管芯155。图1E示出了3D硅通孔(TSV)PNM封装。3D TSV PNM 165可以包括通过多个硅通孔190耦接到逻辑管芯185的多个内存管芯170-180。
二维和三维架构的内存的可靠性会受到各种因素的影响,各种因素包括但不限于封装中的工作温度、逻辑管芯与一个或多个内存管芯的键合、以及一个或多个内存管芯的规模变化。因此,需要在二维PNM和三维PNM、PIM等架构中进行错误检测、错误预测和/或错误处理的技术。
发明内容
通过参考以下描述和附图可以最好地理解本公开,这些描述和附图用于的针对具有内存错误检测、错误预测和错误处理机制的近存处理(PNM)架构说明本公开的各个实施例。
在一个实施例中,系统级封装(SiP)可以包括一个或多个内存管芯和逻辑管芯。一个或多个内存管芯可以包括以多个内存块排列的相应内存阵列、电熔丝(eFuse)模块和D标志寄存器。电熔丝可以被配置为存储一个或多个内存管芯的内存健康状态信息。D标志寄存器可以被配置为存储一个或多个内存管芯的芯上内存错误信息。逻辑管芯可以包括运算逻辑、内存控制器和可靠性可用性可维护性(RAS)内存管理单元(MMU)。内存控制器可以包括被配置为存储系统内存错误信息的S标志寄存器、和被配置为存储内存读取地址的读取地址缓冲器。RAS MMU可以被配置为基于电熔丝模块、内存纠错码(ECC)标志寄存器、系统纠错码(ECC)标志寄存器和读取地址缓冲器来管理内存错误检测、内存错误预测和内存错误处理。
在另一个实施例中,内存错误检测、内存错误预测和内存错误处理的管理方法可以包括通过系统级封装(SIP)中的逻辑管芯的内存管理单元(MMU),接收SIP中一个或多个内存管芯的健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息。所述方法可以进一步包括通过MMU,基于内存健康状态信息、芯上内存错误类型、系统错误类型和读取地址来管理一个或多个内存管芯的各个内存块。
提供发明内容是为了以简化形式介绍所选择的概念,这些概念将在下面的详细描述中进一步描述。发明内容不是旨在权利要求界定保护的主题的关键特征或基本特征,也不旨在用于限制要求保护的主题的范围。
附图说明
本公开的实施例通过示例的方式而不是通过限制的方式在附图中示出,并且其中相似的附图标记指代相似的元件,并且其中:
图1A-图1E示出了示例性的二维PNM和三维PNM和PIM架构。
图2示出了根据本公开的各个方案的系统级封装(SiP)。
图3示出了根据本公开的各个方案的可靠性可用性可维护性(RAS)内存管理单元(MMU)。
图4示出了根据本公开的各个方案的错误检测、预测和处理的方法。
图5示出了根据本公开的各个方案的管理SiP中的一个或多个内存管芯的各个内存块的方法。
图6示出了根据本公开的各个方案处理被列入黑名单内存块的方法。
具体实施方式
现在将详细参考本公开的实施例,其示例在附图中示出。虽然本公开将结合这些实施例进行描述,但应理解它们并不旨在将技术限制于这些实施例。相反,本发明旨在涵盖可包括在由所附权利要求限定的本发明的范围内的备选方案、修改和等同物。此外,在本公开的以下详细描述中,阐述了许多具体细节以提供对本公开的透彻理解。然而,应当理解,可以在没有这些具体细节的情况下实践本公开。在其他情况下,没有详细描述众所周知的方法、过程、组件和电路,以免不必要地模糊本公开的方面。
下面的本公开的一些实施例是根据例程、模块、逻辑块和对一个或多个电子设备内的数据进行操作的其他符号表示来呈现的。描述和表示是本领域技术人员用来最有效地将他们工作的实质传达给本领域其他技术人员的手段。例程、模块、逻辑块和/或类似物在本文中并且通常被认为是导致期望结果的过程或指令的自洽序列。这些过程包括物理量的物理操作。通常,但不一定,这些物理操作采用能够在电子设备中存储、传输、比较和以其他方式操作的电或磁信号的形式。为方便起见,并参考常用用法,参考本公开的实施例,这些信号被称为数据、比特、值、元素、符号、字符、术语、数字、字符串等。
然而,应当牢记,这些术语将被解释为参考物理操作和数量并且仅仅是方便的标签并且将根据本领域中常用的术语进一步解释。除非从以下讨论中清楚地另有说明,否则应理解,通过本公开的讨论,使用诸如“接收”和/或类似术语的讨论是指电子设备的动作和过程,例如一种处理和转换数据的电子计算设备。数据被表示为电子设备的逻辑电路、寄存器、内存等内的物理(例如,电子)量,并且被转换成类似地表示为电子设备内的物理量的其他数据。
在本公开中,析取词的使用意在包括连词。使用定冠词或不定冠词并非意在表示基数。特别地,对“该”对象或“一个”对象的引用也旨在表示可能的多个这样的对象中的一个。术语“包含”、“包括”、“包含”、“包括”等的使用指定了所述元素的存在,但不排除存在或添加一个或多个其他元素和/或它们的组。还应理解,尽管术语第一、第二等可在本文中用于描述各种元件,但此类元件不应受这些术语限制。这些术语在本文中用于将一个元素与另一个元素区分开来。例如,在不脱离实施例的范围的情况下,第一元素可以被称为第二元素,并且类似地第二元素可以被称为第一元素。还应理解,当一个元件被称为“耦接”到另一个元件时,它可以直接或间接连接到另一个元件,或者可以存在中间元件。相反,当一个元素被称为“直接连接”到另一个元素时,不存在中间元素。还应理解,术语“和或”包括一个或多个关联元素的任何和所有组合。还应理解,本文使用的措辞和术语是为了描述的目的,不应被视为限制。
参考图2,示出了根据本公开的各个方案的系统级封装(SiP)。PNM SiP 200可以包括通过一个或多个接口耦接到逻辑管芯204的一个或多个内存管芯202。一个或多个内存管芯202和逻辑管芯204可以排列在近存处理(PNM)、2D PNM、2.5D PNM、存内处理(PIM)、2DPIM、3D混合(HB)中PNM、3D硅通孔(TSV)PNM等架构。在一种实施方式中,一个或多个内存管芯202可以是易失性存储器(VM)内存,易失性存储器内存示例性地但不限于动态随机存取内存(DRAM)。在一种实施方式中,逻辑管芯可以包括但不限于一个或多个处理器、一个或多个控制器、一个或多个组合逻辑电路、一个或多个可编程门阵列、一个或多个引擎等,以及它们的任意组合。
一个或多个内存管芯202可以包括但不限于VM单元阵列206、输入/输出(I/O)门控电路208、VM写控制逻辑210、VM读控制逻辑212、内存阵列温度传感器214和电熔丝(eFuse)216。VM单元阵列206可以包括通过字(word)线和比特(bit)线耦接成列和行的多个VM单元,用于将数据存储在VM单元中。阵列206的VM单元可以以多个内存块排列。I/O门控电路208可以被配置为驱动字线和比特线,并感测其上的电流或电压,从内存单元阵列206的选定内存块中的VM单元读取数据或者将数据写入到VM单元中。VM写控制逻辑210可以被配置为控制I/O门控电路208写入数据到内存单元阵列206的选定内存块中的VM单元。类似地,VM读取控制逻辑212可经由配置控制I/O门控电路208从内存单元阵列206的选定内存块中的VM单元读取数据。
VM写控制逻辑210可以包括芯上内存纠错码(OD-ECC)编码器218,编码器218被配置为针对被写入具有选定内存块的VM单元的数据生成错误检测和纠正码,错误检测和纠正码可以是用于检测在写入数据的过程中由于一个或多个有故障的VM单元、和/或在读取数据的过程中出现的错误,并且纠正至少一些检测到的错误。VM读取控制逻辑212可以包括OD-ECC解码器220和数据标志(D标志)寄存器222。OD-ECC解码器220可以被配置为检测错误并且利用通过OD-ECC编码器218生成的ECC码纠正至少一些检测到的错误。在一种实施方式中,OD-ECC解码器218可以检测到可纠正和不可纠正的内存管芯上的比特错误,并且可以纠正可纠正的内存管芯上的比特错误。例如,给定ECC代码可以被配置为最多检测字中的两比特错误,并纠正字中的单个比特错误。OD-ECC解码器234可以被配置为将D标志寄存器222设置成指示针对给定读取地址的读取操作是否导致检测到可纠正或不可纠正的内存管芯上的比特错误。例如,D标志寄存器的第一状态可以指示可纠正的错误,并且第二状态可以指示不可纠正的错误。
内存阵列温度传感器214可以设置在内存单元阵列206中并且被配置为感测内存单元阵列206的操作温度。一般而言,随着内存单元阵列206的操作温度增大,内存单元阵列206中的数据错误率也增大。电熔丝216可以被配置为存储相应的一个或多个内存管芯202的健康状态信息。
逻辑管芯204可以包括运算逻辑224、内存控制器226、可靠性可用性可服务性(RAS)内存管理单元(MMU)228和非易失性存储器(NVM)接口230。运算逻辑224可以包括但不限于处理器控制器、组合逻辑电路、可编程门阵列、引擎等。内存控制器226可以包括系统ECC编码器232、系统ECC解码器234、读取地址缓冲器236、系统标志(S标志)寄存器238和温度寄存器240。系统ECC编码器232可以被配置为针对要发送到一个或多个内存管芯202的数据生成错误检测和纠正代码。系统ECC解码器234可以被配置为检测错误并且利用通过OD-ECC编码器218生成的ECC码纠正至少一些检测到的错误。在一种实施方式中,系统ECC解码器234可以检测可纠正和不可纠正的系统比特错误,并且可以纠正可纠正的系统比特错误。例如,给定ECC代码可以被配置为最多检测字中的两比特错误,并纠正字中的单个比特错误。系统ECC解码器234可以被配置为将S标志寄存器238设成指示针对给定读取地址的读取操作是否导致检测到可纠正或不可纠正的系统比特错误。例如,S标志寄存器的第一状态可以指示可纠正的错误,并且第二状态可以指示不可纠正的错误。
读取地址缓冲器236可以被配置为保存发送到一个或多个内存管芯202的读取命令的读取地址。温度寄存器240可以被设置在逻辑管芯204的内存控制器226部中,并且被配置存储由内存单元阵列206的温度传感器214感测到的操作温度。RAS MMU 228可以被配置为将内存控制器通信地耦接到主机242。RAS MMU 228可以被配置为基于电熔丝216、D标志、S标志、读取地址缓冲器236和由内存阵列温度传感器214感测并存储在温度寄存器240中或可选地直接来自内存阵列温度传感器214的温度来管理内存错误检测、内存错误预测和/或内存错误处理。NVM接口可以被配置为将RAS MMU 228通信地耦接到可靠性可用性可服务性(RAS)非易失性存储器(NVM)244。RAS NVM 244可以被配置为存储从RAS MMU 228接收到的内存管理信息。在一种实施方式中,RAS NVM 244可以是闪存。RASNVM 244也可以通信地耦接到主机242。存储在RAS NVM 244中的内存管理信息也可以由主机242读取。
在一种实施方式中,RAS MMU 228可以通过相应的接口耦接到一个或多个内存管芯中的相应一个内存管芯的电熔丝216。RAS MMU 228可以被配置为从相应的电熔丝216读取相应的内存管芯的健康状态信息。在一种实现中,RAS MMU 228还可以通过相应的接口耦接到D标志寄存器222。RAS MMU 228可以被配置为从VM读取控制逻辑212的D标志寄存器222读取芯上ECC信息。在一种实施方式中,RAS MMU 228也可以通过相应的接口耦接到S标志寄存器238。RAS MMU 228可以被配置为从S标志寄存器238读取系统ECC信息。在一种实施方式中,RAS MMU 228还可以通过相应的接口耦接到读取地址缓冲器236。RAS MMU 228可以被配置为从读地址缓冲器236读取挂起读操作的地址。RAS MMU 228也可以通过相应的接口耦接到温度寄存器240或可选地耦接到内存阵列温度传感器214。RAS MMU 228可以配置从温度寄存器240或可选地直接从内存阵列温度传感器214读取温度信息。在一种实施方式中,RASMMU 228可以基于来自电熔丝寄存器216、D标志寄存器222、S标志寄存器238和读取地址缓冲器236的信息检测来检测和管理内存错误。RAS MMU 228还可以基于来自温度寄存器240或可选地直接来自内存阵列温度传感器214的温度信息来预测内存错误。
RAS MMU 228可以向主机242报告不可纠正的系统内存错误。在一种实施方式中,如果与导致不可纠正的系统内存错误的读取请求相关联的主机应用程序是容错的,则主机242可以配置为确认不可纠正的系统内存错误,并继续执行主机应用程序而无需任何其他操作。如果主机应用程序不是容错的,则主机应用程序可以从主机242接收不可纠正的系统内存错误事件通知,以便主机应用程序从容退出。主机242还可以被配置为向RAS MMU 228发回针对不可纠正系统内存错误报告的确认。如果RAS MMU 228没有从主机242接收针对不可纠正系统错误的确认回复,则MMU 228可以配置为在运行时操作期间将关联的内存块列入黑名单。如果从主机242接收到针对不可纠正系统内存错误的报告的确认,则RAS MMU228可以在下一次重置或电源循环事件时将关联的内存块列入黑名单。如果关联内存块的黑名单不是由不可纠正系统内存错误引起的,则RAS MMU 228可以在下一次重置或电源循环事件时将关联内存块列入黑名单。
现在参考图3,其示出了根据本公开的各个方案的RAS MMU 228。RAS MMU 228可以包括可靠性可用性可维护性(RAS)模块305、容量寄存器310、可选的块尺寸寄存器315、有效块映射模块320和页表325。RAS模块305可以包括错误处理模块330和错误预测模块335。错误处理模块330可以被配置为基于来自电熔丝寄存器216、D标志寄存器222、S标志寄存器238和读取地址缓冲器236的信息来检测和管理内存错误。错误预测模块335可以被配置为基于来自温度寄存器240或可选地来自内存阵列温度传感器214的温度信息来预测内存错误。
在一种实施方式中,容量寄存器310可以被配置为存储一个或多个内存管芯202的可用内存块的总数。可以从RAS NVM 244读入一个或多个内存管芯202的可用内存块的总数。如果电熔丝寄存器216中的值处于指示整个VM块故障的给定状态,则容量寄存器可以设置为零值(0)。在一种实施方式中,块尺寸寄存器315可以被配置为存储VM的最小错误处理粒度。例如,块尺寸寄存器315可以指示64比特内存访问中的硬错误可能禁止访问整个千字节(KB)的DRAM。VM的最小处理粒度可以从RAS NVM244中读入。内存管芯的总可用VM容量(CapacityTotal)可以按照CapacityTotal=Valuecapacity_reg*Valueblock_size来计算。
在一种实施方式中,有效块映射模块320可以被配置为存储当前可用VM块地址的映射。在第一示例中,有效块映射模块320可以存储内存管芯202的所有VM块的比特图。在第二示例中,有效映射模块320可以存储故障块地址的列表。可以从RAS NVM 244中读入有效块映射信息。在一种实现中,容量寄存器的各个值和有效块映射信息可以在运行期间更改,并且应该在下电之前或在运行时定期地写回到RAS NVM 244。块尺寸寄存器是只读的,并且在运行期间不改变。
将在文中参考图2进一步解释SiP 200的操作,图4示出了根据本公开的各个方案的错误检测、预测和处理的方法。所述方法可以包括:在步骤410,接收内存健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息。用于SiP的一个或多个逻辑管芯204的内存健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息可以由逻辑管芯204的RAS MMU 228接收。在一种实施方式中,RAS MMU 228可以从相应的电熔丝216读取相应内存管芯的健康状态信息。RAS MMU 228还可以从VM读取控制逻辑212的D标志寄存器222读取芯上ECC信息。RAS MMU 228还可以从S标志寄存器238读取系统ECC信息。RAS MMU 228还可以从读地址缓冲器236读取读取未决读取操作的地址。
在步骤420,可以基于内存健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息来管理一个或多个内存管芯的各个内存块。在一种实施方式中,RAS MMU 228可以利用接收到的内存健康状态信息、芯上内存错误信息、系统错误信息和读取地址信息来管理内存的各个内存块。
在步骤430处,可以可选地接收芯上内存温度信息。在一种实施方式中,RAS MMU228可以可选地接收一个或多个内存管芯的芯上内存温度信息。在步骤440,可以基于芯上内存温度信息进一步管理一个或多个内存管芯的各个内存块。在一种实施方式中,RAS MMU228可以基于使用一个或多个内存管芯的芯上内存温度信息的错误预测来管理内存的内存块。在步骤450,可以在管理一个或多个内存管芯的各个内存块时可选地存储内存管理信息用于后续使用。在一种实施方式中,RAS MMU 228可以存储内存管理信息,包括但不限于:一个或多个内存管芯和/或逻辑管芯的内存健康状态信息、内存管芯上的内存错误信息、系统错误信息和读取地址信息、芯上内存温度信息。在一种实施方式中,RAS MMU 228可以将内存管理信息以可选RAS非易失性存储器的方式存储在SiP外部或内部。此外,RAS MMU 228可以向主机442提供内存管理信息。此外,可以针对多个内存访问迭代地执行步骤410-步骤450的处理。
现在参考图5,其示出了根据本公开的各个方案的管理SiP中一个或多个内存管芯的各个内存块的方法。所述方法可以包括:在步骤510,针对一个或多个内存管芯的相应内存块来初始化风险指示符。在一种实施方式中,RAS MMU 228可以通过将风险指示符设置为零来初始化映射到RAS表中的相应内存块标签的风险指示符值。
在步骤520,可以读取芯上内存错误信息和系统错误信息。此外,还可以读取芯上内存温度。在一种实施方式中,RAS MMU 228可以读取D标志寄存器222中的OD-ECC信息、S标志寄存器238中的系统ECC信息以及可选地读取温度寄存器240或内存阵列温度传感器214。在步骤530,可以基于芯上内存错误信息和系统错误信息指示的错误类型和错误位置来确定给定风险指示符。还可以基于可选的内存阵列温度进一步确定给定风险指示符。在一种实施方式中,风险指示值可以针对给定位置和给定错误类型与每个检测到的内存错误相关联。例如,第一错误值a可以与如D标志寄存器222所指示的内存管芯上检测到的可纠正错误类型相关联,第二错误值b可以与如D标志寄存器222指示的内存管芯上检测到的不可纠正错误类型相关联,第三个错误值c可以与如S标志寄存器238指示的系统上检测到的可纠正错误类型相关联,第四个错误值d可以与如S标志寄存器238所指示的系统上检测到的可纠正错误类型相关联。在一种实施方式中,第四错误值d可以被设置为大于或等于预定阈值。在一个示例中,第一误差值a可以小于第二误差值b,第二误差值b可以小于第三误差值c,并且第三误差值c可以小于第四误差值d。可选地,各个误差值可以乘以基于可选内存温度和/或系统温度的温度补偿标量(T),以解耦由温度引起的内存错误。表1示出了示例性错误位置、错误类型和风险指示符。
Flags | Error Location | Error Type | Risk Indicator |
D标志-CE | 内存管芯 | 可纠正 | RI=+a·T |
D标志-CE | 内存管芯 | 不可纠正 | RI=+b·T |
S标志-CE | 系统 | 可纠正 | RI=+c·T |
S标志-CE | 系统 | 不可纠正 | RI>阈值 |
在步骤540,可以将累积的风险指示符映射到对应的内存块。在一种实现中,RASMMU 228可以将累积的风险指示符值映射到RAS表中的对应的虚拟内存块标签。在步骤550,可以针对多个内存访问迭代地执行步骤520-步骤540的处理。
在步骤560,可以将具有大于或等于阈值的风险指示符的各个内存块确定且标识为不可访问。在一种实施方式中,RAS MMU 228可以确定RAS表中具有一组(1)最高有效位(MSB)的内存块,并且可以在RAS表中为给定内存块设置黑名单指示符。步骤560的处理可以针对多个内存访问中的每一个内存访问迭代地执行,在步骤570,以指定的时间间隔重复等。
参考图6,示出了根据本公开的各个方案的被列入黑名单的各个内存块的处理方法。所述方法600可以包括在步骤610接收被列入黑名单的内存块的指示。在一种实施方式中,RAS MMU 228可以从将风险指示符值映射到对应的虚拟内存块标签的RAS表中确定被列入黑名单的内存块。在步骤620,在给定内存块由于不可纠正的系统错误而被列入黑名单时,可以选择地将不可纠正的系统错误报告给主机设备。在一种实施方式中,RAS MMU 228可以报告不可纠正的系统错误到主机442。在步骤630,可以基于被列入黑名单的内存块来更新容量寄存器。在一种实施方式中,RAS MMU 228可以响应于接收到给定的被列入黑名单的内存块的指示来更新容量寄存器310。在步骤640,可以基于被列入黑名单的内存块来更新有效块的映射。在一种实施方式中,RAS MMU 228的有效块映射模块320可以响应于接收到给定的被列入黑名单的内存块的指示来更新有效内存块的映射。在步骤650,可以基于被列入黑名单的内存块更新页表。在一种实施方式中,RAS MMU 228可以响应于接收到给定的被列入黑名单的内存块的指示针对对应的内存块设置页表条目有效指示来更新页表325。
根据本公开的各个方案,内存错误检测、错误预测和错误处理机制可以有利地用于存内处理(PIM)、近存处理(PNM)和其他类似架构。内存错误检测、预测和处理机制有利地适用于容错应用程序。易失性存储器中的误码率可能成为系统级封装的各种管芯键合技术中的重要问题,本公开的错误检测、错误预测和错误处理机制的各个方案可以有利地为PIM、PNM或类似的SiP架构中的易失性存储器提供成本和/或产量改进(VM)。
已经出于说明和描述的目的呈现了本公开的特定实施例的前述描述。它们并非旨在详尽无遗或将本公开限制为所公开的精确形式,并且显然根据上述教导可以进行许多修改和变化。选择和描述实施例是为了最好地解释本公开的原理及其实际应用,从而使本领域的其他技术人员能够最好地利用本公开和具有适合于预期的特定用途的各种变型的各种实施例.本发明的范围旨在由所附权利要求及其等同物限定。
Claims (20)
1.一种系统级封装(SiP),包括:
一个或多个内存管芯,包括;
内存阵列,被排列成多个内存块;
电熔丝(eFuse)模块,被配置为存储所述一个或多个内存管芯的存储健康状态信息;和
内存纠错码(ECC)标志寄存器,被配置为存储所述一个或多个内存管芯的芯上内存错误信息;以及
逻辑芯片,包括;
运算逻辑;
内存控制器,被配置为将所述运算逻辑通信地耦接到一个或多个内存管芯,其中,所述内存控制器包括被配置为存储系统内存错误信息的系统纠错码(ECC)标志寄存器、和被配置为存储内存读取地址的读取地址缓冲器;和
可靠性可用性可服务性(RAS)内存管理单元(MMU),被配置为将所述内存控制器通信地耦接到所述主机,其中,所述RAS MMU被配置为基于电熔丝模块、所述内存纠错码(ECC)标志寄存器、系统纠错码(ECC)标志寄存器和读地址缓冲器来管理内存错误检测、内存错误预测和内存错误处理。
2.根据权利要求1所述的SiP,其中,所述逻辑管芯还包括:
非易失性存储器接口,被配置为将RAS非易失性存储器通信地耦接到所述RAS MMU,所述RAS非易失性存储器被配置为存储内存管理信息。
3.根据权利要求1所述的SiP,其中:
所述一个或多个存储管芯包括温度传感器;
所述内存控制器还包括温度寄存器;并且
所述RAS MMU还被配置为基于来自所述一个或多个内存管芯的温度传感器或内存控制器的温度寄存器的温度信息来管理内存错误检测、内存错误预测和内存错误处理。
4.根据权利要求1所述的SiP,其中,所述内存纠错码(ECC)标志寄存器的第一状态指示可纠正错误,并且第二状态指示不可纠正错误。
5.根据权利要求1所述的SiP,其中,所述系统纠错码(ECC)标志寄存器的第一状态指示可纠正错误,并且第二状态指示不可纠正错误。
6.根据权利要求1所述的SiP,其中所述RAS MMU被配置为管理内存错误检测、内存错误预测和内存错误处理,包括:
在相应的风险指示符达到预定水平时,将一个或多个内存管芯中的内存块列入黑名单。
7.根据权利要求1所述的SiP,其中所述RAS MMU包括:
错误处理模块,被配置为基于来自所述电熔丝模块、所述内存纠错码(ECC)标志寄存器、所述系统纠错码(ECC)标志寄存器和所述读取地址缓冲器的信息来检测和管理内存错误;
错误预测模块,被配置为基于来自所述内存控制器的温度寄存器或所述一个或多个内存管芯的温度传感器的温度信息来预测内存错误;
容量寄存器,被配置为存储所述一个或多个内存管芯的可用内存块的总数;
块尺寸寄存器,被配置为存储最小的错误处理粒度;以及
有效块映射模块,被配置为存储风险指示符到所述内存阵列的多个内存块中的相应内存块的映射。
8.根据权利要求1所述的SiP,其中,所述逻辑管芯和所述一个或多个内存管芯排列在近存处理(PNM)、二维(2D)PNM、2.5D PNM、存内处理中(PIM)、2D PIM、三维(3D)混合(HB)PNM、3D硅通孔(TSV)PNM架构中。
9.一种用于管理内存错误检测、内存错误预测和内存错误处理的方法,包括:
通过系统级封装(SIP)中的逻辑管芯的内存管理单元(MMU),接收所述SIP中的一个或多个内存管芯的内存健康状态信息、芯上内存错误信息、系统错误信息以及读取地址信息;以及
通过所述MMU,基于所述内存健康状态信息、所述芯上内存错误类型、所述系统错误类型和所述读取地址来管理所述一个或多个内存管芯的各个内存块。
10.根据权利要求9所述的方法,进一步包括:
通过所述MMU,接收一个或多个芯上内存温度信息;以及
通过所述MMU,基于所述一个或多个芯上内存温度信息来管理所述一个或多个内存管芯的各个内存块。
11.根据权利要求9所述的方法,进一步包括:通过所述MMU,存储内存管理信息。
12.根据权利要求9所述的方法,进一步包括:
通过所述MMU,读取给定内存块访问的芯上内存错误信息、系统错误信息、内存温度;
通过所述MMU,基于所述给定内存块访问的芯上内存错误信息、系统错误信息、内存温度所指示的错误类型和错误位置来确定风险指示符;以及
通过所述MMU,将累积的风险指示符映射到相应的内存块。
13.根据权利要求12所述的方法,进一步包括:
通过所述MMU,确定风险指示符高于预定值并将黑名单指示符设置为给定状态的各个内存块。
14.根据权利要求13所述的方法,进一步包括:
通过所述MMU,接收被列入黑名单内存块的指示;
通过所述MMU,基于被列入黑名单内存块来更新容量寄存器;
通过所述MMU,基于被列入黑名单内存块来更新有效块映射;以及
通过所述MMU,基于被列入黑名单内存块来更新页表。
15.根据权利要求14所述的方法,进一步包括:
在内存块由于不可纠正系统内存错误而被列入黑名单时,通过所述MMU向主机报告所述不可纠正系统内存错误。
16.一种系统,包括:
主机;
可靠性可用性可服务性(RAS)非易失性存储器(NVM);以及
系统级封装(SIP),包括;
一个或多个内存管芯,包括;
内存阵列,被排列成多个内存块;
电熔丝(eFuse)模块,被配置为存储所述一个或多个内存管芯的存储健康状态信息;和
D标志寄存器,被配置为存储所述一个或多个内存管芯的芯上内存错误信息;和
逻辑芯片包括;
运算逻辑;
内存控制器,被配置为将所述运算逻辑通信地耦接到所述一个或多个内存管芯,其中,所述内存控制器包括被配置为存储系统内存错误信息的S标志寄存器、和被配置为存储内存读取地址的读取地址缓冲器;
RAS内存管理单元(MMU),被配置为将所述内存控制器通信地耦接到主机,其中,所述RAS MMU被配置为基于所述内存健康状态信息、所述芯上内存错误信息、所述系统内存错误信息和所述内存读取地址来管理内存错误检测、内存错误预测和内存错误处理;和
非易失性存储器接口,将所述RAS MMU通信地耦接到所述RAS非易失性存储器。
17.根据权利要求16所述的系统,其中,所述RAS NVM被配置为存储内存管理信息。
18.根据权利要求16所述的系统,其中:
所述一个或多个存储管芯包括温度传感器;
所述内存控制器还包括温度寄存器;以及
所述RAS MMU还被配置为基于来自所述内存控制器的温度寄存器或所述一个或多个内存管芯的温度传感器的温度信息来管理内存错误检测、内存错误预测和内存错误处理。
19.根据权利要求16所述的系统,其中,所述RAS MMU被配置为管理所述内存错误检测、内存错误预测和内存错误处理,包括:
在相应的风险指示符达到预定水平时,将一个或多个内存管芯中的内存块列入黑名单。
20.根据权利要求16所述的系统,其中所述RAS MMU包括:
错误处理模块,被配置为基于来自内存健康状态信息、芯上内存错误信息、系统内存错误信息和内存读取地址的信息来检测和管理内存错误;
错误预测模块,被配置为基于来自所述内存控制器的温度寄存器或所述一个或多个内存管芯的温度传感器的温度信息来预测内存错误;
容量寄存器,被配置为存储所述一个或多个内存管芯的可用内存块的总数;
块尺寸寄存器,被配置为存储最小的错误处理粒度;以及
有效块映射模块,被配置为存储风险指示符到内存阵列的多个内存块中的相应内存块的映射。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/126346 WO2022094776A1 (en) | 2020-11-04 | 2020-11-04 | Error detection, prediction and handling techniques for system-in-package memory architectures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116368470A true CN116368470A (zh) | 2023-06-30 |
Family
ID=81458433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080106885.7A Pending CN116368470A (zh) | 2020-11-04 | 2020-11-04 | 用于系统内封装存储架构的错误检测、预测和处理技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240020194A1 (zh) |
CN (1) | CN116368470A (zh) |
WO (1) | WO2022094776A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8063650B2 (en) * | 2002-11-27 | 2011-11-22 | Rambus Inc. | Testing fuse configurations in semiconductor devices |
US10359949B2 (en) * | 2011-10-31 | 2019-07-23 | Apple Inc. | Systems and methods for obtaining and using nonvolatile memory health information |
US9069719B2 (en) * | 2012-02-11 | 2015-06-30 | Samsung Electronics Co., Ltd. | Method and system for providing a smart memory architecture |
US9378081B2 (en) * | 2014-01-02 | 2016-06-28 | Qualcomm Incorporated | Bit remapping system |
KR102553780B1 (ko) * | 2018-05-10 | 2023-07-10 | 에스케이하이닉스 주식회사 | 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법 |
-
2020
- 2020-11-04 WO PCT/CN2020/126346 patent/WO2022094776A1/en active Application Filing
- 2020-11-04 CN CN202080106885.7A patent/CN116368470A/zh active Pending
- 2020-11-04 US US18/035,498 patent/US20240020194A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240020194A1 (en) | 2024-01-18 |
WO2022094776A1 (en) | 2022-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824499B2 (en) | Memory system architectures using a separate system control path or channel for processing error information | |
CN105589762B (zh) | 存储器装置、存储器模块和用于纠错的方法 | |
US10169126B2 (en) | Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation | |
US8812931B2 (en) | Memory system with ECC-unit and further processing arrangement | |
US9904591B2 (en) | Device, system and method to restrict access to data error information | |
US9880901B2 (en) | Serial bus DRAM error correction event notification | |
US10198314B2 (en) | Memory device with in-system repair capability | |
US9529667B2 (en) | DRAM error correction event notification | |
KR102378466B1 (ko) | 메모리 장치 및 모듈 | |
US20130346695A1 (en) | Integrated circuit with high reliability cache controller and method therefor | |
US10248497B2 (en) | Error detection and correction utilizing locally stored parity information | |
US20120151300A1 (en) | Error Correcting | |
CN109785893B (zh) | 用于验证存储器适当操作的错误纠正码校验位的冗余存储 | |
KR101141487B1 (ko) | 집적 메모리 제어기의 결함 메모리 디바이스들과의 투과성 동작 인에이블링 | |
US11714704B2 (en) | Modified checksum using a poison data pattern | |
TWI514400B (zh) | 記憶體裝置修護技術 | |
US20180052615A1 (en) | Soft error detection in a memory system | |
US11048597B2 (en) | Memory die remapping | |
WO2021034788A1 (en) | Predictive memory management | |
TWI511158B (zh) | 記憶體模組上之記憶體備用技術 | |
CN106067326B (zh) | 错误校正电路及包括其的半导体存储器件 | |
CN109493911B (zh) | 存储器控制器的操作方法、以及存储器件及其操作方法 | |
US20210133061A1 (en) | Memory module with dedicated repair devices | |
CN116368470A (zh) | 用于系统内封装存储架构的错误检测、预测和处理技术 | |
JP2013238926A (ja) | 信号処理回路およびそれを用いた試験装置 |
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 |