CN114846552B - 有风险存储器位置标识和管理 - Google Patents
有风险存储器位置标识和管理 Download PDFInfo
- Publication number
- CN114846552B CN114846552B CN202080086928.XA CN202080086928A CN114846552B CN 114846552 B CN114846552 B CN 114846552B CN 202080086928 A CN202080086928 A CN 202080086928A CN 114846552 B CN114846552 B CN 114846552B
- Authority
- CN
- China
- Prior art keywords
- volatile memory
- volatile
- memory
- memory device
- risky
- 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
Links
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/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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
-
- 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/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/30—Accessing single arrays
- G11C29/32—Serial access; Scan testing
-
- 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
-
- 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/787—Masking faults in memories by using spares or by reconfiguring using programmable devices with redundancy programming schemes using a fuse hierarchy
-
- 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
-
- 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
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- 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
- 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/1206—Location of test circuitry on chip or wafer
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一种易失性存储器设备被配置为通过在嵌入其自身的非易失性标识中标识其自己的不良或有风险的可排除的存储器位置来进行自我文档化,而无需使用附加的电路板空间。不良或有风险存储器的标识由该设备外部的固件可读取。该设备包括具有相应故障易感性值的易失性存储器单元,其中的一些相应故障易感性值指示不良或有风险存储器单元。存储器设备还包括读取逻辑和写入逻辑,并且可以包括刷新逻辑。例如,可以通过在自我修复活动的适配中熔断熔丝或通过将标识数据写入串存在检测逻辑中来将标识嵌入设备中。所配置的存储器设备可以高效、持久和可靠地提供关于其自身的详细存储器测试结果,从而允许客户接受并且安全地使用否则将已经被丢弃以防止软件崩溃的存储器。
Description
背景技术
计算机、智能电话、数据中心服务器、路由器、机器人、车辆、医疗设备、相机、工业控制系统和很多其他计算系统使用易失性存储器并且还使用非易失性存储器。非易失性存储器在电源关闭后仍保留其内容,即使连接到它的每个电池都已耗尽。相反,存储在易失性存储器中的数据将被破坏或丢失,除非足够经常地向该易失性存储器提供适当电源。
易失性存储器设备是通过在晶片上一起生产大批量管芯来制造的。然后,将晶片切开,并且将管芯(有时称为“芯片”)放入封装(也可以称为“芯片”)中。这些封装可以作为单独的项而被出售,也可以安装在板上。例如,存储器封装通常安装在DIMM(双列直插式模块)上。
但是易失性存储器的制造工艺并不完美。管芯可以包含不工作的一些存储器单元。这些单元直到管芯被封装之后才能被找到。有时,可以通过执行PPR(封装后修复,“postpackage repair”)或RAP(封装之后修复,“repair after packaging”)程序来修复或解决有缺陷的单元。PPR和RAP可能最常由存储器制造方和其他存储器供应方完成。然而,它们也可能由技术成熟的存储器购买方完成,尤其是在数据中心。
PPR和RAP只能修复有限数目的存储器单元,因此即使管芯上的高百分比的单元没有失效,管芯有时也会被丢弃。管芯被丢弃以防止由于不良存储器而导致软件崩溃。在PPR或RAP完成之后,附加的存储器单元可能会出现故障,这也可能导致软件崩溃。随着存储器单元尺寸的减小和管芯上存储器单元数目的增加,管芯具有未修复不良单元的风险也会上升。但是丢弃管芯会降低制造良率并且增加存储器成本。因此,为了防止软件崩溃,提供丢弃管芯的需求减少的技术将是有帮助的。
发明内容
本文档中描述的一些实施例提高了存储器制造良率,降低了存储器成本,并且有助于避免由于不良存储器而导致的软件崩溃。特别地,一些实施例将关于存储器封装或者其他存储器设备的有风险存储器位置的信息嵌入到设备本身的非易失性标识中,该非易失性标识与存储器设备一起传播并且可以从存储器设备中读取以管理存储器设备的利用。
一些实施例提供了易失性存储器设备,该易失性存储器设备被配置为通过非易失性标识来标识不良或有风险存储器位置。存储器设备包括位于例如封装中的易失性存储器单元。易失性存储器单元具有相应故障易感性(“susceptibility”)值。单元包括至少一个不良或有风险存储器位置,并且包括多个其他无风险存储器位置,不良或有风险存储器位置比无风险存储器位置具有更大的故障易感性值。易失性存储器设备还包括与易失性存储器单元可操作地通信的读取逻辑,并且包括与易失性存储器单元可操作地通信的写入逻辑。设备中的非易失性标识标识不良或有风险存储器位置,并且从设备外部可读取。
一些实施例将易失性存储器设备配置为通过非易失性标识来标识不良或有风险存储器位置。存储器设备具有易失性存储器单元,包括至少一个不良或有风险存储器位置和多个其他无风险存储器位置。不良或有风险存储器位置比无风险存储器位置具有更大的故障易感性值。存储器设备可以通过以下方式来配置:获取存储器设备、确定针对易失性存储器单元的相应故障易感性值、以及将不良或有风险存储器位置的非易失性标识输入到存储器设备中,从而将存储器设备配置为在与存储器设备一起传播的非易失性标识中标识存储器设备外部的不良或有风险存储器位置。
一些实施例获取存储器设备,该存储器设备被配置为标识不良或有风险存储器位置,从存储器设备中读取标识,并且利用该标识来执行以下至少一项:检查标识是否与存储器测试结果相匹配,该存储器测试结果通过测试存储器设备的易失性存储器单元而被生成,将有风险存储器位置放置在观察列表中,该观察列表标识要被监测存储器错误的一个或多个易失性存储器单元,修复位于不良或有风险存储器位置的易失性存储器单元,排除位于不良或有风险存储器位置的易失性存储器单元保存计算系统内的数据,或者排除存储器设备保存计算系统内的数据。
与本文中的教导有关的其他技术活动和特征对于本领域技术人员来说也将变得很清楚。给出的示例仅仅是说明性的。本“发明内容”并非旨在标识所要求保护的主题的关键特征或基本特征,也不旨在用于限制所要求保护的主题的范围。相反,提供本“发明内容”是为了以简化的形式介绍一些技术概念,这些技术概念将在下面的“具体实施方式”中进一步描述。创新是通过正确理解的权利要求来定义的,并且在本“发明内容”与权利要求相冲突的情况下,应当以权利要求为准。
附图说明
将参考附图给出更具体的描述。这些附图仅说明了所选择的方面,因此并未完全确定覆盖范围或范围。
图1是一般性地说明计算机系统并且还一般性地说明配置的存储介质的框图;
图2是说明易失性存储器设备的框图;
图3是说明一些易失性存储器设备的方面的框图;
图4是说明在一些方法中用于通过在设备中输入设备的有风险存储器单元的非易失性标识来配置易失性存储器设备的步骤的流程图;以及
图5是说明在一些方法中用于利用易失性存储器设备的步骤的流程图,该易失性存储器设备已经被配置为保存设备的有风险存储器单元的非易失性标识。
具体实施方式
概述
创新可以超越其起源,但了解创新的起源可以帮助人们更充分地理解创新。在当前情况下,本文中描述的一些教导是受微软创新者所面临的技术挑战的启发,这些创新者正在努力改进不可校正的存储器错误将使虚拟机崩溃的风险。特别地,技术挑战是,如何避免由于存储器单元在安装到数据中心服务器中之后变坏而导致的崩溃。
不可校正的存储器错误可能是数据中心中系统停机的最大原因中的一个原因。当系统管理方关闭节点或虚拟机以修复存储器错误或从存储器错误中恢复时,客户使用数据中心的体验会受到损害。这种不必要的停机时间可能会发生在由存储器错误引起的特别严重的崩溃之后,诸如所谓的“蓝屏死机”或类似的系统故障。
很多系统内核能够使用例如存储器映射使已知的不良存储器页离线。但是系统的不良页列表可能包含系统循环电源或重新启动时丢失的信息。此外,由于虚拟化,指导一次执行的不良页列表在另一执行期间可能不完整或不相关;每次重新启动虚拟机时,虚拟机通常使用不同的物理存储器。
本文中描述的一些实施例提供了用于存储和传送那些已知的不良位置的持久解决方案。该解决方案可以轻松扩展以管理整个系统中使用的所有存储器。通过以非易失性方式标识存储器设备本身内部的存储器设备的不良单元或有风险单元位置,该解决方案避免了在重启或电源循环时丢失相关存储器能力信息。例如,通过适配PPR程序(诸如,熔断熔丝)或者通过适配SPD逻辑使用,可以将不良或有风险单元位置输入到设备中。实施例的这些和其他方面在下文和附图中详细描述。
操作环境
参考图1,针对实施例的操作环境100包括至少一个计算机系统102。计算机系统102可以是或不是多处理器计算机系统。操作环境可以包括给定计算机系统中的一个或多个机器,该机器可以是集群的、客户端服务器联网的和/或云内的对等联网的。个体机器是计算机系统,协作的机器组也是计算机系统。给定计算机系统102可以被配置用于最终用户,例如,具有应用、用于管理方、作为服务器、作为分布式处理节点和/或以其他方式。
人类用户104可以通过使用显示器、键盘和其他外围设备106经由键入的文本、触摸、语音、移动、计算机视觉、手势和/或其他形式的I/O来与计算机系统102交互。屏幕126可以是可移动的外围设备106,或者可以是系统102的组成部分。
系统管理方、网络管理方、云管理方、安全分析师和其他安全方、操作方、开发方、测试方、工程师、审计员和最终用户各自都是特定类型的用户104。代表一个或多个人行事的自动化代理、脚本、回放软件、设备等也可以是用户104,例如,以促进对系统102的测试。存储设备和/或网络设备在一些实施例中可以被认为是外围设备,并且在其他实施例中可以被认为是系统102的部分,具体取决于它们与处理器110的可拆卸性。例如,图1中未示出的其他计算机系统可以以技术方式与计算机系统102交互或使用经由网络接口设备到网络108的一个或多个连接而与另一系统实施例交互。
每个计算机系统102包括至少一个处理器110。与其他合适的系统一样,计算机系统102也包括一个或多个计算机可读存储介质112。存储介质112可以是不同的物理类型。存储介质112可以是易失性存储器、非易失性存储器、原位固定介质、可移动介质、磁性介质、光学介质、固态介质、和/或其他类型的物理耐用存储介质(与仅传播信号或仅能量相反)。特别地,诸如便携式(即,外部)硬盘驱动器、CD、DVD、记忆棒或其他可移动非易失性存储介质等配置的存储介质114在插入或以其他方式安装时可以在功能上成为计算机系统的技术部分,使得其内容可访问以用于与处理器110的交互并且用于由处理器110使用。可移动的配置的存储介质114是计算机可读存储介质112的示例。计算机可读存储介质112的一些其他示例包括内置RAM、ROM、硬盘、和不易被用户移除的其他存储器存储设备104。为了符合当前的美国专利要求,计算机可读介质、计算机可读存储介质和计算机可读存储器在美国任何未决或授权的权利要求下都不是信号本身或仅仅是能量。
存储介质114配置有由处理器110可执行的二进制指令116;例如,“可执行文件”在本文中在广义上使用以包括机器代码、可解释代码、字节码、和/或在虚拟机上运行的代码。存储介质114还配置有数据118,该数据118通过指令116的执行而被创建、修改、引用和/或以其他方式用于技术效果。指令116和数据118配置它们驻留在其中的存储器或其他存储介质114;当该存储器或其他计算机可读存储介质是给定计算机系统的功能部分时,指令116和数据118也配置该计算机系统。
尽管实施例可以被描述为被实现为由计算设备(例如,通用计算机、服务器或集群)中的一个或多个处理器执行的软件指令,但是这样的描述并不表示穷举所有可能的实施例。本领域技术人员将理解,相同或相似的功能通常也可以全部或部分地直接在硬件逻辑中实现,以提供相同或相似的技术效果。备选地或附加于软件实现,本文中描述的技术功能可以至少部分由一个或多个硬件逻辑组件来执行。例如,并且不排除其他实现,实施例可以包括硬件逻辑组件110、128,诸如现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统组件(SOC)、复杂可编程逻辑器件(CPLD)和类似组件。例如,实施例的组件可以基于它们的输入、输出和/或它们的技术效果被分组为交互功能模块。
除了处理器110(例如,CPU、ALU、FPU、TPU和/或GPU)、存储器/存储介质112和显示器126,操作环境还可以包括其他硬件128,诸如电池、总线、电源、有线和无线网络接口卡。名词“屏幕”和“显示器”在本文中可互换使用。显示器126可以包括一个或多个触摸屏、响应于来自笔或平板计算机的输入的屏幕、或仅用于输出的屏幕。在一些实施例中,诸如人类用户I/O设备(屏幕、键盘、鼠标、平板计算机、麦克风、扬声器、运动传感器等)等外围设备106将与一个或多个处理器110和存储器可操作地通信。
在一些实施例中,该系统包括通过有线和/或无线网络108连接的多个计算机。网络接口设备128可以使用诸如分组交换网络接口卡、无线收发器或电话网络接口的网络组件来提供对网络108的访问,例如,该网络组件可以存在于给定计算机系统中。网络接口设备和其他网络组件(诸如,交换机或路由器或防火墙)的虚拟化也可以存在于例如软件定义网络或沙盒或其他安全云计算环境中。在一些实施例中,一个或多个计算机由于与另一联网设备或远程云断开连接或仅间歇性连接而部分或完全“气隙(“air gap”)”。特别地,不良或有风险存储器单元标识和管理功能可以安装在气隙系统上,然后周期性地或有时使用可移动媒体进行更新。给定实施例还可以通过直接存储器访问、可移动非易失性存储介质、或其他信息存储取回和/或传输方法来传送技术数据和/或技术指令。
本领域技术人员将理解,前述方面和本文中在“操作环境”下呈现的其他方面可以形成给定实施例的部分。本文档的标题并非旨在将特征严格分类为实施例和非实施例特征集。
一个或多个项在图中以轮廓形式示出,或在括号内列出,以强调它们不必然是所示操作环境或所有实施例的部分,但可以与如本文中描述的操作环境或一些实施例中的项互操作。在任何附图或任何实施例中,并非必须要求非轮廓或括号形式的项。特别地,图1是为了方便而提供的;图1中包括项并不表示该项目或该项的描述用途在当前创新之前是已知的。
关于设备的更多信息
图2示出了具有易失性存储器204的存储器设备202。易失性存储器204包括存储器单元206、以及用于从存储器单元中读取数据值和向存储器单元中写入数据值的读取逻辑208和写入逻辑210。取决于存在的存储器单元206的种类,存储器设备也可以包含刷新逻辑212。例如,DRAM设备202将具有刷新逻辑,而SRAM设备202没有。
在很多情况下,存储器设备将包括围绕这些逻辑的塑料、陶瓷、玻璃或其他封装218,并且存储器设备将具有用于逻辑208、210与诸如总线等外部电子器件之间的电子通信的引脚216。引脚216和封装218的外表面形成设备的逻辑和其他电子器件与周围环境100之间的物理边界220。环境100可以包括例如数据中心服务器、消费者或商用车辆、机器人、或包含包括存储器设备202的电子器件的另一计算系统102。然而,本文中描述的实施例还包括未安装在计算系统102中的存储器设备202。
在很多情况下,其中安装有存储器设备的计算系统102将具有软件内核120,并且内核将包含或管理存储器映射222或者由存储器映射222引导。存储器映射指定物理或虚拟存储器地址空间的哪些部分将在计算系统102中的内核120和其他软件122、124的执行期间用于特定目的。因此,存储器映射222(隐式或显式)限定不适合使用的存储器页或易失性存储器的其他块。
图2还示出了假定的有风险单元数据库224。该数据库包含不良单元342或有风险单元206的标识以及对应管芯或设备ID。例如,数据库224中的条目可以指定位置B1、B7处的位、以及管芯编号D6的位置R12处的行在测试时未能保持值。在该示例中,标识符B1、B7、R12、D6是占位符;在实践中,所使用的标识符可能要长得多,并且可能具有内部结构来指定数据,诸如批号、工厂编号和制造日期。将这样的标识数据放置在数据库224中将促进试图在存储器缺陷数据中找到模式的机器学习或统计分析或数据挖掘操作的使用。
然而,考虑到在现代数据中心中使用的大量存储器设备202、以及存储每个管芯或每个设备的缺陷数据可能需要的字节数,本领域技术人员将清楚,这样的数据库224可能非常大。即使是相对较小的数据中心也有一万台服务器(很多数据中心实际上有五万或更多个服务器),并且每台服务器可能至少有16GB的存储器(很多服务器有更多)。每千个只跟踪一个不良或有风险存储器字节意味着每台服务器跟踪超过一万六千个位置。将其乘以一万台服务器意味着在数据库224中跟踪超过1.6亿个位置。每个数据库位置条目可能包括至少十个字节以指定缺陷的特定位置,例如,在来自特定设施的特定晶片的特定管芯的特定行和列中。因此,即使是近似的保守估计也表明数据库224的大小将是几千兆字节。当计算系统102重新启动时使用数据库224来初始化或更新存储器映射222会很慢,并且维护数据库和将相关数据库224内容获取到计算系统的后勤工作将需要附加的昂贵的存储、计算和网络资源。
然而,本文中描述的一些实施例将不良或有风险存储器位置的非易失性标识214放置在具有那些特定的不良或有风险存储器位置的同一存储器设备202内。代替下载数据库224内容,内核120因此可以从存储器设备202本身读取不良或有风险存储器位置的相关标识214。无需基于某个存储器设备202序列号或某个其他设备或管芯ID来搜索远程数据库224。
在一些实施例中,存储器设备202是自我文档化的,因为它包含它自己的对它自己的不良或有风险存储器位置的标识214。与设备202的易失性存储器204不同,标识214是非易失性的。与传统PPR程序的结果不同,适用于本文中的教导的PPR的结果被导出;不良或有风险存储器位置的标识214可以从存储器设备202中读取。
图3说明了一些存储器设备202的各个方面300。这些方面在本文中的各个地方讨论,并且关于它们的附加细节在本公开文档稍后的附图标记列表的讨论中提供。
一些实施例使用或提供易失性存储器设备202,易失性存储器设备202被配置为通过非易失性标识214来标识不良或有风险存储器位置304。如本文中使用的,“不良”存储器位置指示可靠性测试失败的易失性存储器单元206;如果修复(例如,通过PPR或RAP),,则一些不良单元342可能可用,但它们目前不能用作数据存储。如本文中使用的,“有风险”存储器302位置指示目前可用作数据存储但具有相对较高的未来故障风险的易失性存储器单元206;故障风险评估可以基于针对所讨论的管芯的测试结果、相关管芯的测试结果或其他客观信息。
在一些实施例中,易失性存储器设备202包括位于封装218中的易失性存储器单元206。在一些实施例中,易失性存储器单元206位于封装外部,例如,在裸晶片或管芯上。一些实施例包括直接附接到衬底或载体的倒装芯片,例如,其中具有由导电凸块制成的电连接。不管它们在封装内部或外部的位置如何,感兴趣的易失性存储器单元具有相应故障易感性值326。易失性存储器单元包括至少一个不良存储器342或有风险存储器302位置304,并且包括多个其他无风险存储器306位置304,其中不良或有风险存储器位置比无风险存储器位置具有更大的故障易感性值(更准确地,不良或有风险存储器位置处的单元206比无风险存储器位置处的单元206具有更大的故障易感性值)。
在所示实施例中,易失性存储器设备202还包括在封装218中的、与易失性存储器单元可操作地通信的读取逻辑208、以及在封装218中的、与易失性存储器单元可操作地通信的写入逻辑210。这些实施例还包括不良或有风险存储器位置304的、在封装218中的非易失性标识214。标识214从设备外部(例如,封装外部)可读取。
在一些实施例中,存储器设备202包括在封装218中的、与易失性存储器单元206可操作地通信的刷新逻辑212。例如,设备202可以包括DRAM存储器204单元或准非易失性RAM存储器204单元,其中具有对应刷新逻辑212。取决于设备202中存在的存储器204的种类,针对设备的存储器的刷新周期可以从几毫秒到几分钟甚至更长。刷新周期也可以是无限的,这意味着不需要刷新以维持存储在存储器204中的数据值。例如,在一些实施例中,易失性存储器单元206包括静态随机存取存储器单元。
在一些实施例中,存储器设备202包括在封装218中的熔丝阵列338,并且标识214至少部分通过熔丝阵列中的熔断熔丝334的配置来实现。熔丝336可以使用PPR工具和技术来熔断414,这些工具和技术适于创建从封装中可导出的数据118,这与典型的PPR相反,典型的PPR用于实现本身不能作为特定数据118可导出的修复或定时调节。实际上,典型PPR和RAP对设备的环境100是透明的。
在一些实施例中,存储器设备202包括在封装218中的串存在检测逻辑308,并且标识214至少部分由串存在检测(SPD)数据118来实现,该串存在检测数据配置串存在检测逻辑。这不同于为计算系统102的固件(例如,BIOS、UEFI)提供例如存储器设备的大小、数据宽度、速度和电压的SPD逻辑的典型使用。
在一些实施例中,可以使用多种粒度310中的一个或多个粒度来标识不良单元或有风险单元。可用粒度310可以比OS页粒度或固定NAND不良块粒度精细。最小OS页粒度通常为4KB。一些小块NAND闪存设备的块大小为32页,其中一个页有512个正常字节加上16个备用字节。相比之下,在一些实施例中,标识214具有以下粒度中的至少一种粒度:位312、部分行314、部分列318、全行316或全列320。存储器组204可以包含例如4096行乘以512列乘以16位。给定实施例可以实现的其他粒度310包括阵列和块。
关于其有风险存储器302的各种标识214值和其他数据118可以存储在存储器设备202中。在一些实施例中,除了(多个)位置304,标识214还包括有风险存储器位置的故障易感性值326。在一些情况下,标识214包括测试结果410,测试结果410可以指示该标识的存储器位置将失败的风险的严重性。在一些实施例中,标识214包括指示测试406的故障代码324,由位于不良或有风险存储器位置的(多个)存储器单元206造成的失败测试406。内核120中的风险评估然后可以考虑该标识的存储器位置在哪个特定测试406失败。
本文中还描述了其他设备或系统实施例,其直接或可导出为所描述的过程或配置介质的设备或系统版本,通过本文中对计算硬件的讨论获知。
例如,一些实施例包括计算系统102,该计算系统102具有安装的存储器设备202,该存储器设备202被增强用于如本文中教导的自动故障风险评估。增强型系统包括存储器112,其中存储器设备202包含相应非易失性有风险易失性存储器302标识214、以及与存储器112可操作地通信的处理器110。增强型系统具有内核120,内核120可以包括固件。处理器110和存储器112被配置为执行方法400、方法500、或具有本文中描述的其他步骤的方法。特别地,内核120可以在开机自检(POST)或另一系统初始化期间读取标识214,并且然后配置存储器映射222以排除520或522有风险单元206,即使它们尚未已知是不良单元。
尽管在附图中示出了具体的架构示例,但是实施例可以偏离那些示例。例如,不同图中所示的项可以一起被包括在实施例中,图中所示的项可以被省略,不同项中所示的功能可以组合成更少的项或单个项,项可以被重命名,或者项可以以不同的方式彼此连接。
在本公开中提供示例以帮助说明技术的方面,但是在本文档中给出的示例并未描述所有可能的实施例。例如,给定实施例可以包括附加的或不同的技术特征、机制、序列、逻辑、物理结构、数据结构或功能,并且可以以其他方式偏离本文中提供的示例。
过程(又称为方法)
图4和图5各自说明了可以由增强型系统或设备执行或辅助的方法400和方法500的相应族,诸如存储器设备202或包含或电子连接到存储器设备202的计算系统102、或本文中教导的另一有风险存储器标识或管理功能增强型系统。在该词的法律意义上,方法也可以称为“过程”。
除非另有说明,否则附图中所示或以其他方式公开的技术过程将例如由存储器测试设备102或由服务器102在POST期间自动执行。过程也可以部分自动地和部分手动地执行到涉及人类管理方或其他人的动作的程度,例如,在一些实施例中,人类管理方可以指定风险存储器必须通过哪些测试以防止排除有风险存储器被使用。本文中设想的创新过程没有完全是手动的。
在给定实施例中,可以重复过程的零个或多个图示步骤,可能使用不同的参数或数据来操作。实施例中的步骤也可以按照与图4和图5中从上到下的顺序不同的顺序进行。步骤可以按顺序、以部分重叠的方式或完全并行执行。特别地,遍历流程图400或流程图500单独编号的动作项以指示在过程期间执行的步骤的顺序可以从过程的一个执行到该过程的另一执行而变化。流程图遍历顺序也可以从一个过程实施例到另一过程实施例而变化。步骤也可以被省略、组合、重命名、重新分组、在一个或多个机器上执行、或以其他方式偏离所示流程,只要所执行的过程是可操作的并且符合至少一个权利要求。
一些实施例使用或提供了用于通过非易失性标识来标识有风险存储器位置的设备利用方法500,方法500包括以下步骤:获取502被配置为标识214有风险存储器位置的存储器设备202,其中存储器设备包括具有相应故障易感性值326的易失性存储器单元206。易失性存储器单元包括至少一个不良或有风险存储器位置304并且包括多个其他无风险的存储器306位置,其中不良或有风险存储器位置比无风险存储器位置具有更大的故障易感性值。
存储器设备202还包括不良或有风险存储器位置的非易失性标识214。该方法还包括从存储器设备读取504标识,并且利用506该标识。
利用506可以包括例如检查508标识是否与存储器测试结果相匹配,该存储器测试结果通过测试存储器设备的易失性存储器单元而被生成,将有风险存储器位置放置510在观察列表中,该观察列表标识要监测存储器错误的一个或多个易失性存储器单元,修复516位于有风险存储器位置的易失性存储器单元,在允许使用设备的其他单元206的同时排除520位于不良或有风险存储器位置的易失性存储器单元保存计算系统内的数据,或者排除522整个存储器设备保存计算系统内的数据。如果系统看到514观察列表512上的存储器正在减弱,例如,开始有可校正错误,或者看到514相关位置(诸如,一个共享电路系统)已经开始出现故障,则系统可以在那个时候采取行动以排除522被监测存储器使其不再被使用。
在一些实施例中,该方法包括通过在内核120中映射222存储器112来排除520易失性存储器单元或排除522整个存储器设备的使用。
在一些实施例中,该方法还包括将标识数据214输入412到存储器设备202中。将标识输入412到存储器设备可以通过初始写入或通过在初始写入之后对其进行编辑来完成。例如,输入412标识数据214可以通过例如熔断414存储器设备的熔丝阵列338中的一个或多个熔丝、或者通过将数据写入418存储器设备的SPD 308来完成。如本文中使用的,“熔丝”包括熔丝或反熔丝或这两者,并且包括可以通过短路或开路来配置的存储器设备的任何可编程元件。
信息214也可以被写入闪存,该闪存被添加到存储器组件112中,但是这具有在组件上需要附加空间的缺点。也就是说,技术人员将承认,通过熔断414熔丝或在SPD中写入418标识数据214来输入标识214的一个好处是不需要附加空间。如本文中教导的,在一些实施例中,现有逻辑可以改为重新利用。
一些实施例的另一优点是,它们默认向后兼容。如果存储器设备202包含有风险存储器标识214,但计算系统内核120没有读取504该标识214,则配置的存储器设备202仍将在计算系统中起作用,就好像它是传统的未配置的存储器112一样。
一些实施例采用PPR技术来嵌入412信息214,以代替或补充使用PPR技术进行内部芯片时序调节以补偿每个管芯的工艺可变性,或启用备用单元,或在不良单元342周围路由信号。在一些实施例中,输入412包括采用经适配416的封装后修复程序518或经适配416的封装之后修复程序518以将标识输入到存储器设备中。适配416可以包括熔断熔丝,其配置然后可以被读取504并且被解释为位置304或其他标识214数据。在一些实施例中,读取504包括采用存储器设备的DQ引脚216来读取标识;在一些实施例中,一个或多个其他引脚被重新利用以允许读取标识214。标识读取引脚也可以被添加到设备202,以专门用于支持读取标识214。
在一些实施例中,存储器设备202用作420存储器设备202的有风险存储器302单元的标识的最权威来源。因此,有风险单元位置标识214数据的外部数据库224没有被采用,甚至可能不存在。特别地,在一些实施例中,存储器设备202被安装在计算设备102中,并且该方法避免依赖任何数据库224,该数据库224包含未被安装在计算设备102中的存储器设备202的有风险存储器位置304的标识214。
一些实施例使用或提供设备配置方法400以通过非易失性标识来标识有风险存储器位置,包括获取402存储器设备112。存储器设备112包括易失性存储器204单元206但还不必然具有其中的任何标识214数据。方法400还包括确定404针对易失性存储器单元的相应故障易感性值,易失性存储器单元由此包括至少一个有风险存储器位置并且包括多个其他无风险存储器位置,其中有风险存储器位置比无风险存储器位置具有更大的故障易感性值。方法400还包括将有风险存储器位置的非易失性标识214输入412到存储器设备中,从而将存储器设备202配置412为标识有风险存储器位置。
在一些实施例中,输入412包括熔断414存储器设备的熔丝阵列中的熔丝。例如,这可以由存储器制造方或其他存储器供应方、或由技术成熟的存储器购买方来完成。在一些实施例中,输入412包括采用经适配的416的PPR或RAP程序518来将标识输入到存储器设备中。
供应方或其他人可以执行质量保证以确保熔丝正确熔断,或确保将正确的风险信息写入SPD。因此,一些方法400实施例包括从存储器设备202中读取504标识214、以及检查508读取的标识是否与通过测试406存储器设备的易失性存储器单元而生成的存储器测试结果相匹配。
存储器供应方或其他人可以输入412具有不同粒度310的标识214,例如,以指示在位置X处存在风险位312并且在位置Y处也存在风险行316。具体地,在一些实施例中,该方法包括将不同粒度310的多个非易失性风险存储器位置标识214输入412到存储器设备202中。
配置的存储介质
一些实施例包括配置的计算机可读存储介质112。存储介质112可以包括磁盘(磁、光或其他)、RAM、EEPROM或其他ROM、和/或其他可配置存储器,尤其包括计算机可读存储介质(不仅仅是传播信号)。所配置的存储介质具体地可以是可移动存储介质114,诸如,CD、DVD或闪存。通用存储器(其可以是可移动的或不可移动的,并且可以是易失的或非易失的)可以使用项而被配置为实施例,诸如内核固件或从配置400的存储器设备202中读取504有风险存储器标识214的其他软件、或软件122,该软件122控制适配的PPR技术或SPD写入器以便以数据118和指令116的形式将标识数据214输入412到存储器设备112中,从可移动存储介质114和/或诸如网络连接等另一源中读取,以形成配置的存储介质。如本文中公开的,配置的存储介质112能够使计算机系统102执行用于风险存储器位置304标识214和管理506的技术处理步骤。因此,这些图有助于说明配置的存储介质实施例和过程(也称为方法)实施例、以及设备、系统和过程实施例。特别地,图4或图5中说明的或本文中以其他方式教导的任何过程步骤可以用于帮助配置存储介质以形成配置的存储介质实施例。
一些实施例使用或提供了配置有数据118和指令116的计算机可读存储介质112、114,数据118和指令116在由至少一个处理器110执行时使计算系统执行方法400、方法500或本文中教导的另一种方法。
附加的示例和观察
一些实施例使用或提供了存储器可靠性增强方法,该方法包括标识404存储器组件202的数字存储器112的有风险区域302,该有风险区域具有至少一个地址304;以及将地址304、214编程414到存储器组件202的熔丝阵列338中。
一些实施例使用或提供了存储器可靠性增强方法,该方法包括从编程的熔丝阵列338中获取504至少一个地址304、214,至少一个地址304、214标识存储器组件202的数字存储器112的有风险区域302;以及配置520或522计算系统102的内核120数据结构222以避免在计算系统的后续操作期间使用有风险区域。
一些实施例利用位于每个个体DRAM组件112上的反熔丝336来为内核120应当离线520或522以减少不可校正错误的存储器112的区域(有风险302或不良342或这两者)保存行316和列320信息214。这些熔丝336是持久的并且可以在初始化时被读取。
更广泛地,技术人员将承认,已知存储器中的一些缺陷322随着时间的推移具有更高的机会导致不可校正的错误类型的存储器故障。借助本文中提供的教导,存储器供应方可以将信息214熔固414到熔丝阵列中,使得熔丝阵列保存哪些行和列是修复失败的边界(也称为“书挡”)的信息。内核120可以使用该信息214来提高现场存储器112的长期质量。这种方法是灵活的,因为它允许每个存储器供应方要求内核120映射出特定于其产品和进程节点的附加元素。特别地,信息214不必然限于位置304;它还可以保存详细的存储器测试数据118,诸如哪些测试失败、给出了哪些测试得分、测试发生的时间、谁执行了测试等等。
一些实施例允许客户接受不完美的存储器组件,例如那些表现出位宽恕(“forgiveness”)的存储器组件。数据中心、服务器供应方或其他存储器客户可以购买具有一些已知不良位置342、304的产品112,并且利用内核来映射那些不良区域342。接受具有已知缺陷的存储器并且承担一些避免这些缺陷区域的责任可以让客户以折扣价购买这样的存储器。这对客户双方都有利。这也将使存储器供应方受益,他们可以出售这种存储器而不是丢弃它。即使丢弃的存储器的部分可以被回收,存储器供应方可能会通过出售有缺陷但配置412的存储器202来实现比回收它更多的收入。
本领域技术人员将承认,诸如服务器供应方和数据中心等复杂存储器客户具有运行分析和使用现有PPR路径修复不良存储器位置或使它们离线的方法。本文中描述的一些实施例采用PPR电路系统和控制的使用,以使得客户策略规定应当由OS或其他内核离线的特定DRAM模块和组件的存储器的部分的地址位置304永久地进行熔断414。RAP工具可以类似地适配416。实施例可以将那些熔丝从DQ线中读出的能力添加到初始化序列中。如前所述,熔丝指示每个DRAM指定使O/S离线的元素的位置。这允许每个个体DRAM和模块将有关自身的信息传送给存储器控制器和OS。由于每个个体DRAM都可以保存哪些元素要离线的指令,因此供应方可以使用该功能,客户也可以使用该功能。特别地,在本文中应用教导可以减少由于与存储器相关的不可校正错误而导致的停机时间。
很多实施例的一个方面是有风险存储器位置标识214与有风险存储器302本身之间的紧密物理结合。类似地,不良存储器342的标识214物理地绑定到不良存储器本身。这可以例如通过使标识214和被标识的存储器两者都在同一封装中、或者在同一芯片上、或者在同一印刷电路板上、或者在同一DIMM上来实现。
本领域技术人员将认识到,并非本公开的每个部分或其中的任何特定细节都必须满足法律标准,诸如启用、书面描述或最佳模式。此外,实施例不限于特定的易失性存储器204技术、工具、标识符、字段、数据结构、功能或其他实现选择。与任何其他专利公开的任何明显冲突(即使与本发明的所有者)在解释本专利公开中提出的权利要求时也没有任何作用。
代码、数据结构、逻辑、组件、通信和/或其功能等效物的这些任何组合也可以与上述系统及其变型的任何组合。过程可以包括本文中描述的任何可操作的子集或组合或序列中的任何步骤。每个变型可以单独出现,或与其他变型中的任何一个或多个组合出现。每个变型可以与任何过程一起发生,并且每个过程可以与其他过程中的任何一个或多个过程组合。每个过程或过程组合(包括变型)可以与上述任何配置的存储介质组合和变型组合。
根据与本公开的所有部分有关的这种理解,以下提供了一些附加的示例和观察。为方便起见,这些附加的支持材料出现在不同的标题下。尽管如此,所有这些都旨在被理解为本公开对预期实施例的讨论的整合和组成部分。
技术特性
本文中描述的实施例的技术特征对于本领域普通技术人员来说将是很清楚的,并且对于范围广泛的细心的读者也将以多种方式很清楚。一些实施例解决技术活动,诸如通过PPR或SPD适配来配置存储器设备,以及排除将有风险存储器202用于计算系统102,这些都是深深植根于计算技术的活动。所讨论的一些技术机制包括例如熔断414熔丝334、写入418SPD逻辑308、有风险存储器观察列表512和存储器测试406。所讨论的一些技术效果包括例如为存储器设备112提供其有风险单元位置304的嵌入式非易失性标识214形式的自我文档化,避免使用外部风险单元数据库224,并且通过为存储器供应方提供高效和有用的通信路径以向技术成熟的存储器购买者通知未修复的当前工作的但有风险的存储器位置来提高良率和降低存储器成本。因此,纯粹的心理过程显然被排除在外。根据所提供的描述,基于教导的技术特征的其他优点对于技术人员来说也将是很清楚的。
本文中描述的一些实施例可以由一些人在更广泛的上下文中看待。例如,诸如故障、位置、修复、风险和存储等概念可以被认为与特定实施例相关。然而,从广泛的背景来看,并不能得出在本文中寻求抽象概念的专有权;它们不是。相反,本公开集中于提供适当的具体实施例,其技术效果完全或部分解决特定技术问题,诸如如何自动传送详细的存储器测试结果,而不是丢弃包含比熟悉的PPR或熟悉的RAP可以修复的更多的不良或有风险单元的管芯。其他涉及故障、定位、修复、风险或存储的配置存储介质、系统和过程不在本范围内。因此,在正确理解本公开的情况下,也避免了模糊、纯粹抽象、缺乏技术特征以及伴随的证明问题。
首字母缩略词、缩写、名称和符号
一些首字母缩略词、缩写、名称和符号定义如下。其他的在本文中其他地方定义,或不需要在本文中定义以便被技术人员理解。
ALU:算术和逻辑单元
BIOS:基本输入/输出系统
CD:光盘
CPU:中央处理单元
DIMM:双列直插式安装模块
DQ引脚:数据I/O引脚;引脚也可以称为“线”
DRAM:动态RAM
DVD:数字多功能盘或数字视频盘
FPGA:现场可编程门阵列
FPU:浮点处理单元
GPU:图形处理单元
ID:标识或身份
I/O:输入输出
LAN:局域网
OS:操作系统
PPR:封装后修复
POST:开机自检
RAM:随机存取存储器
RAP:封装之后修复
ROM:只读存储器
SPD:串存在检测
SRAM:静态RAM
TPU:张量处理单元
UEFI:统一可扩展固件接口
WAN:广域网
一些附加术语
在本文中参考了示例性实施例,诸如在附图中示出的那些,并且在本文中使用特定语言对其进行描述。但是,对于(多个)相关领域的技术人员和拥有本公开内容的技术人员来说,在本文中说明的特征的改变和进一步修改、以及由本文中的特定实施例说明的抽象原理的附加技术应用应当被认为在权利要求的范围内。
在本公开中阐明了术语的含义,因此应当仔细注意这些说明来阅读权利要求。给出了具体示例,但(多个)相关领域的技术人员将理解,其他示例也可能落入所使用的术语的含义内,并且落入一个或多个权利要求的范围内。术语在本文中处的含义不必然与它们在一般用法(特别是在非技术用法)、特定行业的用法或特定词典或词典集中的含义相同。附图标记可以与各种措辞一起使用,以帮助示出术语的广度。从给定文本中省略附图标记并不必然表示文本没有讨论图的内容。发明人主张并且行使对特定和选定词典的权利。引用的术语是明确定义的,但也可以不使用引号隐含地定义术语。术语可以在详细描述中和/或在申请文件的其他地方明确或隐含地定义。
如本文中使用的,“计算机系统”(又称为“计算系统”)可以包括例如一个或多个服务器、主板、处理节点、膝上型计算机、平板计算机、个人计算机(便携式或非便携式)、个人数字助理、智能电话、智能手表、智能手环、蜂窝电话或移动电话、至少具有处理器和存储器的其他移动设备、视频游戏系统、增强现实系统、全息投影系统、电视、可穿戴计算系统、和/或提供至少部分由指令控制的一个或多个处理器的(多个)其他设备。指令可以是存储器和/或专用电路系统中的固件或其他软件的形式。
“处理器”是处理单元,例如同时多线程实现、CPU、GPU或TPU中的核。处理器包括硬件。给定芯片可以容纳一个或多个处理器。处理器可以是通用的,也可以针对特定用途进行定制,例如矢量处理、图形处理、信号处理、浮点算术处理、加密、I/O处理、机器学习等。
“内核”包括操作系统、管理程序、虚拟机、BIOS或UEFI代码以及类似的硬件接口软件。
如本文中使用的,除非另有说明,否则“包括”允许附加元素(即,包括表示包含)。
“优化”是指改进,不一定是完善。例如,可以对已经优化的程序或算法进行进一步改进。
“过程”在本文中有时用作计算科学艺术的术语,并且在该技术意义上涵盖计算资源用户,例如,其还可以包括或被称为协程、线程、任务、中断处理程序、应用进程、内核进程、过程或对象方法。实际上,“过程”是由系统实用程序(例如,任务管理器、ps、或其他操作系统环境中的类似实用程序(分别为微软公司和Linus Torvalds的商标))标识的计算实体。“过程”在本文中也用作专利法术语,例如,用于描述与系统权利要求或制品(配置的存储介质)权利要求相对的过程权利要求。类似地,“方法”在本文中有时用作计算科学领域的技术术语(一种“例程”),也用作专利法领域的术语(“过程”)。专利法意义上的“过程”和“方法”在本文中可互换使用。技术人员将理解在特定实例中意指的含义,并且还将理解给定要求保护的过程或方法(在专利法意义上)有时可以使用一个或多个过程或方法(在计算科学意义上)来实现。
“自动地”是指通过使用自动化(例如,由软件配置的用于本文中讨论的特定操作和技术效果的通用计算硬件),而不是没有自动化。特别地,“自动”执行的步骤不是在纸上或在人的脑海中手动执行的,尽管它们可能由人启动或由人以交互方式引导。使用机器执行自动步骤以获取一个或多个技术效果,如果没有如此提供的技术交互,这些技术效果将无法实现。假定自动执行的步骤包括主动执行的至少一个操作。计算结果更快、更广泛、更深入、更准确、更一致、更全面、和/或以其他方式提供超出人类表现范围的技术效果。“计算地”和“自动地”在本文中可互换使用。“自动地”和“计算上”都不必然表示“立即”。
技术人员理解技术效果是技术实施例的假定目的。例如,计算涉及一个实施例,并且某些计算也可以在没有技术组件的情况下执行(例如,通过纸和铅笔,甚至作为心理步骤)这一事实并不能消除技术效果的存在或改变实施例的具体和技术性质。诸如输入412标识、在SPD中写入418数据、从使用中排除520、522存储器204、以及本文中讨论的很多其他操作等有风险存储器管理操作被理解为本质上是数字的。人脑不能直接与CPU或其他处理器或RAM或其他数字存储接口连接,以读取和写入必要的数据以执行本文中教导的存储器管理步骤。鉴于本公开内容,本领域技术人员都将很好地理解这一切。
“主动”是指没有来自用户的直接请求。实际上,用户甚至可能没有意识到实施例的主动步骤是可能的,直到该步骤的结果已经呈现给用户。除非另有说明,本文中描述的任何计算和/或自动步骤也可以主动完成。
贯穿本文件,使用可选的复数“(多个)”表示存在一个或多个所指示的特征。例如,“(多个)处理器”是指“一个或多个处理器”或等效地是“至少一个处理器”。
出于美国法律和实践的目的,本文、权利要求或其他地方使用的“步骤”一词并非旨在援引手段加功能、步骤加功能或35美国法典第112节第六段/第112(f)节要求解释。特此明确驳斥任何与此有关的推定。
出于美国法律和实践的目的,权利要求不旨在援引手段加功能解释,除非它们使用短语“用于……的手段”。旨在解释为手段加功能语言的权利要求语言(如果有)将通过使用短语“用于……的手段”来明确表达该意图。当手段加功能解释适用时,无论是通过使用“用于……的手段”和/或通过法院对权利要求语言的法律解释,说明书中对给定名词或给定动词所引用的手段应当理解为与权利要求语言并且通过以下任何项在本文中联系在一起:在附图的框图中出现在同一框中,用相同或相似的名称表示,用相同的附图标记表示,任何图中描述的功能关系,在本公开的文本中注明的函数关系。例如,如果权利要求限制引用了“zac小部件”,并且该权利要求限制成为手段加功能解释的对象,则至少在说明书中的任何附图块、段落或示例中提及“zac小部件”的任何位置标识的、或通过分配给zac小部件的任何附图标记联系在一起的、或被公开作为与zac小部件的结构或操作具有功能关系的所有结构将被视为针对zac小部件申请中确定的结构的部分,并且将有助于限定zac小部件结构的等效项集。
本领域技术人员将认识到本发明公开讨论了各种数据值和数据结构,并且认识到这些项驻留在存储器(RAM、磁盘等)中,从而配置存储器。本领域技术方还将认识到,本发明公开讨论了在给定实现中将体现在可执行代码中的各种算法步骤,并且这种代码也驻留在存储器中,并且它有效地配置了执行它的任何通用处理器,从而将其从通用处理器转换为作为功能专用硬件的专用处理器。
因此,技术人员不会犯将(a)权利要求中记载的存储器和(b)权利要求中记载的数据结构或数据值或代码视为非重叠项的错误。数据结构和数据值和代码被理解为驻留在存储器中,即使权利要求没有明确说明所提到的每个数据结构或数据值或代码段的驻留。因此,不需要明确说明这种驻留。但是,它们也不被禁止,并且可能会出现一两个选定的部分以强调,而不会因此将所有其他数据值和数据结构和代码排除在驻留之外。同样,权利要求中记载的代码功能被理解为配置处理器,而不管该配置量是否在权利要求中明确记载。
在整个文档中,除非另有明确说明,否则对过程中步骤的任何引用都假定该步骤可以由相关方直接执行和/或由该方通过介入机制和/或介入实体间接执行,并且仍然在步骤的范围内。也就是说,除非直接执行是明确规定的要求,否则不需要利益方直接执行该步骤。例如,涉及利益方行动的步骤(诸如,关于目的地或其他主题的适配、确定、熔断、检查、输入、排除、列出、监测、获取、放置、放入、读取、刷新、修复、取回、测试、利用、写入(和适配、被适配、确定、被确定等)可以涉及某个其他方的诸如前述或转发、复制、上传、下载、编码、解码、压缩、解压缩、加密、解密、认证、调用等干预动作,包括本文档中列举的任何动作,但仍被理解为由相关方直接执行。
每当提及数据或指令时,应当理解,这些项目配置计算机可读存储器和/或计算机可读存储介质,从而将其转换为特定制品,而不是简单地存在于纸上,例如,在一个人的思想中,或者仅仅是在电线上传播的信号。出于美国专利保护的目的,存储器或其他计算机可读存储介质不是传播信号或载波或仅仅是美国专利商标局(USPTO)解释下的可专利主题范围之外的能量In re Nuijten案。没有权利要求涵盖美国的信号本身或仅仅能量,并且鉴于本公开而做出其他主张的任何权利要求解释表面上都是不合理的。除非在美国境外授予的权利要求中另有明确说明,否则权利要求不涵盖信号本身或仅仅能量。
此外,尽管在本文中其他地方有任何明显相反的内容,但应当理解(a)计算机可读存储介质和计算机可读存储器与(b)传输介质(也称为信号介质)之间的明显区分。传输介质是传播信号或载波计算机可读介质。相比之下,计算机可读存储介质和计算机可读存储器不是传播信号或载波计算机可读介质。除非权利要求中另有明确说明,否则“计算机可读介质”是指计算机可读存储介质,而不是传播信号本身,也不仅仅是能量。
本文中的“实施例”是示例。术语“实施例”与“发明”不可互换。实施例可以自由地共享或借用方面来创建其他实施例(假定结果是可操作的),即使所得到的方面的组合在本文本身没有明确描述。对于本领域的技术人员来说,要求明确并且单独地描述每个允许的组合是不必要的,并且将与认识到专利说明书是为本领域技术人员编写的政策相违背。关于由甚至少量可组合特征产生的可能组合的数目的正式组合计算和非正式共同直觉也将表明对于本文中描述的方面存在大量方面组合。因此,要求对每种组合进行明确的陈述将与要求专利说明书简洁和读者了解相关技术领域的政策相违背。
附图标记列表
提供以下列表是为了方便和支持附图并且作为说明书文本的部分,其通过参考多个项来描述创新。此处未列出的项目仍然可以是给定实施例的部分。为了使文本更清晰易读,在文中引用项的一些(但不是全部)引用附近引用了给定参考编号。相同的附图标记可以用于参考给定项的不同示例或不同实例。附图标记列表是:
100:操作环境,也称为计算环境
102:计算机系统,也称为计算的系统或计算系统
104:用户
106:外围设备
108:网络,通常包括例如LAN、WAN、软件定义网络、云和其他有线或无线网络
110:处理器
112:计算机可读存储介质,例如RAM、硬盘
114:可移动的配置的计算机可读存储介质
116:由处理器可执行的指令;可以位于可移动存储介质或其他存储器(易失性或非易失性或这两者)上
118:数据
120:(多个)内核,例如(多个)操作系统、BIOS、UEFI、设备驱动程序
122:工具,例如防病毒软件、防火墙、数据包嗅探器软件、入侵检测系统、入侵预防系统、其他网络安全工具、调试器、分析器、编译器、解释器、反编译器、汇编器、反汇编器、源代码编辑器、自动完成软件、模拟器、模糊器、存储库访问工具、版本控制工具、优化器、协作工具、其他软件开发工具和工具套件(包括例如,集成开发环境)、硬件开发工具和工具套件、诊断、PPR工具、SPD阅读器、SPD写入器等。
124:应用,例如文字处理器、web浏览器、电子表格、游戏、电子邮件工具、命令
126:显示屏,也称为“显示器”
128:计算硬件,不以其他方式与附图标记106、108、110、112、114相关联
202:存储器设备,配置有非易失性标识214;因此,设备202是一种特定存储器设备112;设备202具有物理连接在一起的一个或多个封装218,例如,DIMM是具有安装在同一板上的多个封装的设备202
204:易失性存储器
206:存储器单元
208:存储器设备112中的读取逻辑;一般来说,逻辑也可以称为“电路系统”或“信号路径”或“组件”或“电子器件”
210:存储器设备112中的写入逻辑
212:存储器设备112中的刷新逻辑
214:包含标识的同一设备的不良或有风险存储器位置的非易失性标识;标识214还可以包括其他数据118,例如错误代码324、测试ID、测试者ID、测试时间戳、失败范围等
216:引脚;也可以称为“线”
218:封装,包含具有存储器单元的一个或多个管芯
220:存储器设备的边界
222:由内核使用的存储器映射;数字222也是指存储器映射的活动
224:有风险存储器信息的数据库;该数据库位于存储器设备外部,其有风险存储器信息存储在数据库中
300:存储器设备的方面
302:有风险存储器
304:一个或多个存储器单元的位置;位置具有显式或隐式粒度310
306:存储器,其从测试中不知道是有风险的并且也不知道是不良的
308:串存在检测逻辑;也可以称为“SPD逻辑”或“SPD”
310:(多个)存储器单元位置粒度,例如,一个位置相对于存储器设备中的其他存储器单元标识的存储器单元的数目或布置
312:位粒度;也是指位;位可以使用一个或多个存储器单元206来实现
314:部分行粒度;也是指部分单元行
316:全行粒度;也是指整行单元
318:部分列粒度;也是指部分单元列
320:全列粒度;也是指整列单元
322:存储器故障;数字322也是指存储器缺陷
324:错误代码,提供有关存储器故障的一些详细信息
326:存储器故障易感性值,例如,存储器单元将在指定时间段或指定温度范围或指定读/写次数内失效的风险的数值度量;可以实现为存储器测试结果得分
328:DRAM单元,即,需要以每秒至少一次的刷新速率刷新的单元206
330:准非易失性存储器单元,即,需要刷新但刷新速率大于每秒一次的单元206;一些准非易失性存储器刷新速率以秒甚至更大的单位来测量
332:SRAM单元
334:熔断熔丝
336:熔丝阵列中的熔丝;也是反熔丝(又称为“反熔丝”)
338:熔丝阵列
340:DRAM或准非易失性存储器的刷新速率
342:不良存储器单元,即,已知不可靠的存储器单元
400:流程图;400还指代由图4流程图所示或与图4流程图一致的存储器设备配置方法
402:例如通过购买、从库存中提取或从计算系统中提取来获取存储器设备112
404:确定针对所获取的设备的(多个)单元的故障易感性值
406:存储器设备的(多个)测试单元;这可以包括由存储器供应方执行的熟悉测试,或存储器设备可靠性或预期可靠性的其他测试;数字406将测试称为动词和名词
408:例如从测试设备或从包含测试结果的文件或其他数字工件中取回测试结果410
410:测试406的结果
412:将关于存储器设备的标识214数据输入到该存储器设备中;也可以称为“嵌入”或“写入”标识数据或为设备“配置”标识数据
414:例如通过使栅极和晶体管短路、施加高电压、施加高密度电流或施加激光以熔断或切割材料来熔断熔丝;也可以称为设备或电路的“编程”的示例,或称为存储器设备的“一次性编程”的示例;数字414也是指编程反熔丝
416:在以下方面中的至少一个方面来适配PPR技术:(a)在存储器设备中进行封装后物理改变以将信息214嵌入412存储器设备中,而不是进行物理改变以改变存储器设备内的时序或使备用单元206投入服务或从服务中移除不良单元,或(b)在存储器设备中进行封装后物理改变,这对内核在功能上不透明,而是使信息214可用于由内核读取504存储器设备
418:将信息214写入SPD;例如,写入418也可以称为将信息214“放入”SPD中或称为为SPD“配置”信息214
420:用于目的,例如,用作数据源
500:流程图;500还指代由图5流程图所示或与图5流程图一致的存储器设备利用方法
502:例如通过购买、从库存中提取或从计算系统中提取来获取已经配置412有信息214的存储器设备202
504:例如通过PPR读出或SPD读出从配置的存储器设备202中读取信息214
506:利用信息214来改进计算系统102的功能或作为用于管理存储器设备112的改进工具
508:通过将信息214与存储器测试结果410进行比较来检查信息214
510:将存储器位置304放置在观察列表上
512:存储器位置观察列表,例如,列表、表格、数组、记录、文件或其他数字人工制品,其内容标识一个或多个存储器位置304
514:监测存储器,例如,通过将额外的存储器测试交织到存储器的使用中,或者通过在存储器发生故障的情况下运行较低优先级的执行
516:修复(多个)存储器单元,例如,使用熟悉的PPR技术将信号路由到不良单元周围并且使用先前的备用单元代替它们;这可以称为带有冗余元素的“切换”存储器
518:封装后修复(PPR)或封装之后修复(RAP);除非提到“适配的”PPR或标识214,否则PPR是指在没有受益于本文中提供的教导的情况下实践的PPR技术(工具、技术);同样,除非提及“适配的”RAP或标识214,否则RAP是指在没有受益于本文中提供的教导的情况下实践的RAP技术(工具、技术);熟悉的PPR或RAP也可以称为“自我修复”
520:排除使用存储器设备202的一个或多个单元以支持软件执行,同时仍然允许使用该存储器设备的其他单元306;排除也可以称为“离线”
522:将存储器设备202的所有单元排除在使用之外以支持软件执行
结论
简而言之,本文中的教导提供了多种存储器管理增强功能。在一些实施例中,易失性存储器设备112被配置412为通过标识214其自己的不良存储器342或有风险存储器302位置304来自我文档化。这种嵌入412提供了配置的存储器设备202,存储器设备202具有嵌入其本身的非易失性标识214。这可以在不使用附加电路板空间的情况下通过重新利用416PPR或SPD 308技术或这两者来实现。不良或有风险存储器的标识214由设备202外部的固件120可读取504。设备202包括具有相应故障易感性值326的易失性存储器单元206,其中的一些故障易感性值326指示不良342或有风险302存储器单元。存储器设备202还包括读取逻辑208和写入逻辑210,并且可以包括刷新逻辑212。例如,可以通过在封装后修复活动518的适配416或封装之后修复活动518的适配416中熔断414熔丝336或者通过将标识214数据118写入418串存在检测逻辑308中来将标识214嵌入412设备202中。配置的存储器设备202可以高效、持久和可靠地提供关于其自身的详细存储器测试结果410,从而允许客户接受并且安全地使用否则将被丢弃以防止软件崩溃的存储器112。
尽管在一些激励示例中使用微软技术,但本文中的教导不限于在由微软提供或管理的技术中使用。例如,在适当的许可下,本教导可以体现在由其他云服务提供方提供的软件或服务中。
尽管特定实施例在本文中被明确地图示和描述为过程、配置的存储介质、设备或系统,但是应当理解,对一种类型的实施例的讨论通常也扩展到其他实施例类型。例如,结合图4和图5对过程的描述也有助于描述配置的存储介质,并且有助于描述与其他附图结合讨论的类似的设备、系统和制造方的技术效果和操作。这并不表示来自一个实施例的限制必然会被解读到另一实施例中。特别地,过程不必然限于在讨论设备、系统或制造方(诸如,配置的存储器)时呈现的数据结构和布置。
技术人员将理解,实现细节可能与特定示例有关,例如特定存储器技术、良率、刷新速率、粒度或非易失性信息嵌入技术,因此不必出现在每个实施例中。尽管如此,尽管它们不必然需要出现在此处,但这样的细节可以通过提供上下文来帮助一些读者和/或可以说明本文中讨论的技术的很多可能实现中的一些实现。
在适当注意本文中提供的项的情况下,包括技术过程、技术效果、技术机制和技术细节,它们是说明性的,但不是对所有要求保护的或可要求保护的实施例的全面性,本领域技术人员将理解,本文中描述的本公开和实施例不涉及技术领域之外的主题,也不涉及任何关于其自身的想法,例如主要或原始原因或动机,或纯粹的结果本身,或心理过程或心理步骤,或业务方法或普遍的经济实践,或仅仅组织人类活动的方法,或自然法则本身,或自然发生的事物或过程,或生物或生物的部分,或数学公式本身,或孤立的软件本身,或仅适用于常规计算机,或任何完全难以察觉的事物或任何本身的抽象概念,或无关紧要的解决方案后活动,或完全在未指定的装置上实现的任何方法,或用于无法产生有用和具体结果的任何方法,或抢占所有使用领域,或根据寻求或正在许可或执行这样的保护的司法管辖区的法律不符合专利保护资格的任何其他标的物。
在本文中对具有一些特征X的实施例的引用和在本文其他地方对具有一些特征Y的实施例的引用并不从本公开中排除同时具有特征X和特征Y的实施例,除非这种排除在本文中明确说明。所有可能的否定权利要求限制都在本公开的范围内,在某种意义上,任何被声明为实施例的部分的特征也可以被明确地从包含在另一实施例中移除,即使本文中在任何示例中都没有给出特定的排除。术语“实施例”在本文中仅用作“过程、系统、设备、制品、配置的计算机可读存储介质、和/或以符合适用法律的方式应用的本文中教导的其他示例的更方便的形式”。因此,给定“实施例”可以包括本文中公开的特征的任何组合,只要该实施例与至少一个权利要求一致。
并非图中所示的每个项都需要出现在每个实施例中。相反,实施例可以包含图中未明确示出的(多个)项。尽管这里通过特定示例在文本和附图中说明了一些可能性,但是实施例可以偏离这些示例。例如,示例的特定技术效果或技术特征可以被省略、重命名、以不同方式分组、重复、以不同方式在硬件和/或软件中实例化,或者是出现在两个或更多个示例中的效果或特征的混合。在一些实施例中,在一个位置显示的功能也可以在不同的位置提供;技术人员认识到,功能模块可以在给定实现中以各种方式定义,而不必从作为一个整体查看的交互模块的集合中省略所需要的技术效果。由于空间限制或为了方便,不同的步骤可以在图中的单个框中一起显示,但仍然是可单独执行的,例如,在方法的给定执行中可以在没有另一步骤的情况下执行一个步骤。
自始至终通过附图标记对附图进行了参考。在与给定附图标记相关的措辞中、在附图中或在文本中的任何明显不一致都应当被理解为只是扩大了该附图标记所指内容的范围。给定附图标记的不同实例可以指代不同的实施例,即使使用相同的附图标记。类似地,给定附图标记可以用来指代动词、名词和/或每个的对应实例,例如,处理器110可以通过执行它们来处理110指令。
如本文中使用的,诸如“一个”、“一种”和“该”等术语包括所指示的项目或步骤中的一个或多个。特别地,在权利要求中,对项的引用通常表示存在至少一个这样的项,并且对步骤的引用表示执行该步骤的至少一个实例。类似地,在上下文允许的情况下,“is”和其他单数动词形式应当理解为包含“are”和其他复数形式的可能性,以避免语法错误或误解。
标题仅为方便起见;有关给定主题的信息可以在标题指示该主题的部分之外找到。
如提交的所有权利要求和摘要都是说明书的部分。
在本文中使用的任何术语暗示或以其他方式指代行业标准的范围内,并且在适用法律要求标识诸如标准的特定版本的范围内,本公开应当理解为指的是根据适用专利法截至本公开的最早优先权日的至少以草稿形式(最终形式优先,如果较新)发布的该标准的最新版本。
尽管示例性实施例已经在附图中示出并且在上面进行了描述,但是对于本领域普通技术人员来说很清楚的是,在不背离权利要求中阐述的原理和概念的情况下可以做出很多修改,并且这样的修改不必包含整个抽象概念。尽管以特定于结构特征和/或程序动作的语言描述了主题,但应当理解,在所附权利要求中限定的主题不必然限于权利要求书上面描述的特定技术特征或动作。没有必要在给定定义或示例中标识的每个手段或方面或技术效果在每个实施例中都存在或被利用。相反,所描述的特定特征和作用以及效果作为示例被公开以供在实现权利要求时考虑。
未涵盖整个抽象概念但落入权利要求的等效含义和范围内的所有变化将在法律允许的最大范围内包含在它们的范围内。
Claims (20)
1.一种易失性存储器设备,被配置为在其本身内标识其自己的不良或有风险易失性存储器位置中的至少一个,所述易失性存储器设备包括:
易失性存储器单元,所述易失性存储器单元具有相应故障易感性值,所述易失性存储器单元包括至少一个不良或有风险存储器位置,并且包括多个其他无风险存储器位置,所述不良或有风险存储器位置比所述无风险存储器位置具有更大的故障易感性值;
读取逻辑,与所述易失性存储器单元可操作地通信;
写入逻辑,与所述易失性存储器单元可操作地通信;以及
所述不良或有风险易失性存储器位置的可导出非易失性标识,所述可导出非易失性标识从所述易失性存储器设备外部可读取,由此所述易失性存储器设备被配置为通过在所述可导出非易失性标识中标识其自己的不良或有风险易失性存储器位置来自我文档化。
2.根据权利要求1所述的存储器设备,其中所述存储器设备是双列直插式存储器模块。
3.根据权利要求1所述的存储器设备,其中所述存储器设备包括引脚和具有外表面的封装,并且所述引脚和所述外表面形成所述存储器设备与周围环境之间的物理边界。
4.根据权利要求1所述的存储器设备,其中所述存储器设备包括熔丝阵列,并且其中所述可导出非易失性标识至少部分由所述熔丝阵列中的熔断熔丝的配置来实现。
5.根据权利要求1所述的存储器设备,其中所述存储器设备包括串存在检测逻辑,并且其中所述可导出非易失性标识至少部分由串存在检测数据来实现,所述串存在检测数据配置所述串存在检测逻辑。
6.根据权利要求1所述的存储器设备,其中所述可导出非易失性标识具有以下不良或有风险易失性存储器位置粒度中的至少一种粒度:位、部分行、部分列、全行或者全列。
7.根据权利要求1所述的存储器设备,其中所述可导出非易失性标识还包括以下至少一项:
有风险存储器位置的所述故障易感性值;或者
故障代码,指示由位于所述不良或有风险存储器位置处的所述存储器单元造成失败的测试。
8.一种用于标识有风险易失性存储器位置的方法,所述方法包括:
获取被配置为标识其自己的有风险易失性存储器位置中的至少一个有风险易失性存储器位置的易失性存储器设备,所述易失性存储器设备包括具有相应故障易感性值的易失性存储器单元,所述易失性存储器单元包括至少一个不良或有风险易失性存储器位置,并且包括多个其他无风险易失性存储器位置,所述不良或有风险易失性存储器位置比所述无风险易失性存储器位置具有更大的故障易感性值,所述易失性存储器设备还在其本身内包括所述不良或有风险易失性存储器位置的非易失性标识;
从所述易失性存储器设备中读取所述非易失性标识;以及
利用所述非易失性标识来执行以下至少一项:
检查所述非易失性标识是否与存储器测试结果相匹配,所述存储器测试结果通过测试所述易失性存储器设备的所述易失性存储器单元而被生成,
将有风险易失性存储器位置放置在观察列表中,所述观察列表标识要被监测存储器错误的一个或多个易失性存储器单元,
修复位于有风险易失性存储器位置处的易失性存储器单元,
排除位于不良或有风险易失性存储器位置处的易失性存储器单元保存计算系统内的数据,或者
排除所述易失性存储器设备保存计算系统内的数据。
9.根据权利要求8所述的方法,其中所述方法包括:通过在内核中映射存储器来排除所标识的所述易失性存储器单元的使用。
10.根据权利要求8所述的方法,还包括:将非易失性标识数据输入到所述易失性存储器设备中。
11.根据权利要求10所述的方法,其中输入非易失性标识数据包括:熔断所述易失性存储器设备的熔丝阵列中的熔丝。
12.根据权利要求10所述的方法,其中输入非易失性标识数据包括:采用适配的封装后修复程序或适配的封装之后修复程序或两者,以将所述非易失性标识数据输入到所述易失性存储器设备中。
13.根据权利要求8所述的方法,其中读取包括:采用所述存储器设备的DQ引脚来读取所述非易失性标识。
14.根据权利要求8所述的方法,其中所述易失性存储器设备用作所述易失性存储器设备的有风险易失性存储器单元的所述非易失性标识的权威来源。
15.根据权利要求8所述的方法,其中所述易失性存储器设备被安装在计算设备中,并且所述方法避免依赖任何数据库,所述数据库包含未被安装在所述计算设备中的易失性存储器设备的有风险易失性存储器位置的任何标识。
16.一种标识有风险易失性存储器位置的方法,所述方法包括:
获取易失性存储器设备,所述易失性存储器设备包括易失性存储器单元;
确定针对所述易失性存储器单元的相应故障易感性值,所述易失性存储器单元由此包括至少一个有风险易失性存储器位置,并且包括多个其他无风险易失性存储器位置,所述有风险易失性存储器位置比所述无风险易失性存储器位置具有更大的故障易感性值;以及
将所述有风险易失性存储器位置的非易失性标识输入到所述易失性存储器设备中,从而将所述易失性存储器设备配置为在其本身内标识所述有风险易失性存储器位置,所述非易失性标识从所述易失性存储器设备外部可读取。
17.根据权利要求16所述的方法,其中输入包括熔断所述易失性存储器设备的熔丝阵列中的熔丝。
18.根据权利要求16所述的方法,其中输入包括采用经适配的封装后修复程序将所述非易失性标识输入到所述易失性存储器设备中。
19.根据权利要求16所述的方法,还包括:从所述易失性存储器设备中读取所述非易失性标识,以及检查所述非易失性标识读取是否与存储器测试结果相匹配,所述存储器测试结果通过测试所述易失性存储器设备的所述易失性存储器单元而被生成。
20.根据权利要求16所述的方法,其中所述方法包括:将不同粒度的多个非易失性有风险存储器位置标识输入到所述易失性存储器设备中。
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/715,468 | 2019-12-16 | ||
| US16/715,468 US11107549B2 (en) | 2019-12-16 | 2019-12-16 | At-risk memory location identification and management |
| PCT/US2020/058994 WO2021126387A1 (en) | 2019-12-16 | 2020-11-05 | At-risk memory location identification and management |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN114846552A CN114846552A (zh) | 2022-08-02 |
| CN114846552B true CN114846552B (zh) | 2024-09-27 |
Family
ID=73598217
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202080086928.XA Active CN114846552B (zh) | 2019-12-16 | 2020-11-05 | 有风险存储器位置标识和管理 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11107549B2 (zh) |
| EP (1) | EP4078593A1 (zh) |
| CN (1) | CN114846552B (zh) |
| WO (1) | WO2021126387A1 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US12299183B1 (en) * | 2020-12-31 | 2025-05-13 | Meta Platforms Technologies, Llc | Tamper detection and prevention in computer systems having one-time programmable memory |
| US20230060943A1 (en) * | 2021-09-01 | 2023-03-02 | Micron Technology, Inc. | Memory device defect management |
| US20220012187A1 (en) * | 2021-09-24 | 2022-01-13 | Intel Corporation | Method and apparatus to authenticate a memory module |
| US20240385754A1 (en) * | 2021-12-14 | 2024-11-21 | Intel Corporation | Devices and Methods for Preventing Memory Failure in Electronic Devices |
| US20250315175A1 (en) * | 2024-04-03 | 2025-10-09 | Dell Products L.P. | Memory diagnostics in a heterogeneous computing platform |
| CN118626061A (zh) * | 2024-06-03 | 2024-09-10 | 上海奇钲声奕网络科技有限公司 | 一种基于单元化的数据与逻辑管理及运用系统及方法 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
Family Cites Families (34)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4458349A (en) | 1982-06-16 | 1984-07-03 | International Business Machines Corporation | Method for storing data words in fault tolerant memory to recover uncorrectable errors |
| US5781483A (en) | 1996-12-31 | 1998-07-14 | Micron Technology, Inc. | Device and method for repairing a memory array by storing each bit in multiple memory cells in the array |
| US6199177B1 (en) | 1998-08-28 | 2001-03-06 | Micron Technology, Inc. | Device and method for repairing a semiconductor memory |
| KR100504433B1 (ko) | 1999-01-09 | 2005-07-29 | 주식회사 하이닉스반도체 | 앤티퓨즈를 이용한 메모리소자의 리페어 회로 |
| US20020133769A1 (en) | 2001-03-15 | 2002-09-19 | Cowles Timothy B. | Circuit and method for test and repair |
| US6628561B2 (en) | 2001-08-30 | 2003-09-30 | Micron Technology, Inc. | Small anti-fuse circuit to facilitate parallel fuse blowing |
| US6991970B2 (en) | 2001-08-30 | 2006-01-31 | Micron Technology, Inc. | Method and apparatus for circuit completion through the use of ball bonds or other connections during the formation of semiconductor device |
| US6525982B1 (en) | 2001-09-11 | 2003-02-25 | Micron Technology, Inc. | Methods of programming and circuitry for a programmable element |
| US6657905B1 (en) | 2002-05-17 | 2003-12-02 | Micron Technology, Inc. | Clamping circuit for the Vpop voltage used to program antifuses |
| US6967348B2 (en) | 2002-06-20 | 2005-11-22 | Micron Technology, Inc. | Signal sharing circuit with microelectric die isolation features |
| US7026646B2 (en) | 2002-06-20 | 2006-04-11 | Micron Technology, Inc. | Isolation circuit |
| US7509543B2 (en) | 2003-06-17 | 2009-03-24 | Micron Technology, Inc. | Circuit and method for error test, recordation, and repair |
| US7006393B2 (en) | 2004-06-07 | 2006-02-28 | Micron Technology, Inc. | Method and apparatus for semiconductor device repair with reduced number of programmable elements |
| US6980478B1 (en) | 2004-09-01 | 2005-12-27 | Micron Technology, Inc. | Zero-enabled fuse-set |
| US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
| US9406404B2 (en) | 2007-08-22 | 2016-08-02 | Micron Technology, Inc. | Column redundancy system for a memory array |
| US7609579B2 (en) * | 2007-11-21 | 2009-10-27 | Etron Technology Inc. | Memory module with failed memory cell repair function and method thereof |
| US7835207B2 (en) | 2008-10-07 | 2010-11-16 | Micron Technology, Inc. | Stacked device remapping and repair |
| US9390049B2 (en) | 2011-06-03 | 2016-07-12 | Micron Technology, Inc. | Logical unit address assignment |
| US9165679B2 (en) | 2012-09-18 | 2015-10-20 | Samsung Electronics Co., Ltd. | Post package repairing method, method of preventing multiple activation of spare word lines, and semiconductor memory device including fuse programming circuit |
| US20140101368A1 (en) * | 2012-10-04 | 2014-04-10 | Qualcomm Incorporated | Binding microprocessor to memory chips to prevent re-use of microprocessor |
| KR20140100139A (ko) | 2013-02-05 | 2014-08-14 | 삼성전자주식회사 | 보호 영역을 갖는 오티피 셀 어레이, 이를 포함하는 반도체 메모리 장치, 및 오티피 셀 어레이의 프로그램 방법 |
| US9202595B2 (en) * | 2013-11-12 | 2015-12-01 | Micron Technology, Inc. | Post package repair of memory devices |
| US9583219B2 (en) * | 2014-09-27 | 2017-02-28 | Qualcomm Incorporated | Method and apparatus for in-system repair of memory in burst refresh |
| US9043638B1 (en) | 2014-11-14 | 2015-05-26 | Quanta Computer Inc. | Method for enhancing memory fault tolerance |
| US9812222B2 (en) | 2015-04-20 | 2017-11-07 | Qualcomm Incorporated | Method and apparatus for in-system management and repair of semi-conductor memory failure |
| US9606889B1 (en) | 2015-09-04 | 2017-03-28 | Dell Products L.P. | Systems and methods for detecting memory faults in real-time via SMI tests |
| KR102412610B1 (ko) | 2015-12-24 | 2022-06-23 | 삼성전자주식회사 | 포스트 패키지 리페어 동작을 수행하는 메모리 장치 |
| US20170308447A1 (en) | 2016-04-26 | 2017-10-26 | Quanta Computer Inc. | Methods and systems for analyzing record and usage in post package repair |
| KR20180070779A (ko) | 2016-12-16 | 2018-06-27 | 삼성전자주식회사 | 리페어 온 시스템에서의 포스트 패키지 리페어를 위한 데이터 백업 방법 |
| US10554227B2 (en) * | 2017-03-10 | 2020-02-04 | Western Digital Technologies, Inc. | Decoding optimization for channel mismatch |
| US10355712B2 (en) * | 2017-03-31 | 2019-07-16 | Sandisk Technologies Llc | Use of multiple codebooks for programming data in different memory areas of a storage device |
| US20200117594A1 (en) * | 2018-10-10 | 2020-04-16 | ScaleFlux, Inc. | Implementing low cost and large capacity dram-based memory modules |
| KR102125350B1 (ko) * | 2019-01-30 | 2020-06-22 | 연세대학교 산학협력단 | 오류 정정 코드를 이용한 적층형 메모리 장치 및 그 수리 방법 |
-
2019
- 2019-12-16 US US16/715,468 patent/US11107549B2/en not_active Expired - Fee Related
-
2020
- 2020-11-05 EP EP20812500.5A patent/EP4078593A1/en not_active Withdrawn
- 2020-11-05 CN CN202080086928.XA patent/CN114846552B/zh active Active
- 2020-11-05 WO PCT/US2020/058994 patent/WO2021126387A1/en not_active Ceased
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20210183463A1 (en) | 2021-06-17 |
| EP4078593A1 (en) | 2022-10-26 |
| WO2021126387A1 (en) | 2021-06-24 |
| US11107549B2 (en) | 2021-08-31 |
| CN114846552A (zh) | 2022-08-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN114846552B (zh) | 有风险存储器位置标识和管理 | |
| US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
| Dekker et al. | A realistic fault model and test algorithms for static random access memories | |
| US20060212677A1 (en) | Multicore processor having active and inactive execution cores | |
| US7765439B2 (en) | Traceability management apparatus, storage medium storing program, and tracing method | |
| US10346615B2 (en) | Rule driven patch prioritization | |
| US20090273597A1 (en) | User interface screen layout analysis using hierarchical geometric features | |
| US9891683B2 (en) | Methods and systems for memory initialization of an integrated circuit | |
| CN103164316B (zh) | 硬件监视器 | |
| CN113377586A (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
| US11940494B2 (en) | System on chip for performing scan test and method of designing the same | |
| US8387012B2 (en) | Determining deltas in a spatial locality of a function call graph in a source controlled system | |
| US9390222B2 (en) | Determining a set of timing paths for creating a circuit abstraction | |
| US20240220403A1 (en) | Identifying root causes of test failures | |
| US10768226B2 (en) | Testing mechanism for a proximity fail probability of defects across integrated chips | |
| US20230059620A1 (en) | eFUSE ONE-TIME PROGRAMMABLE MEMORY WITH INTER INTEGRATED CIRCUIT (I2C) COMMUNICATION AND OPERATION METHOD THEREOF | |
| US11763913B2 (en) | Automated testing of functionality of multiple NVRAM cards | |
| KR102216281B1 (ko) | 딥 러닝 칩을 검출하는 방법, 장치, 전자 기기 및 컴퓨터 저장 매체 | |
| CN107832106A (zh) | 一种在低Kernel版本OS下在线更新硬盘FW的方法及系统 | |
| US9575878B2 (en) | Data-driven testing without data configuration | |
| US10922023B2 (en) | Method for accessing code SRAM and electronic device | |
| US10540461B1 (en) | Method and system for functional safety verification | |
| US20170083636A1 (en) | Systems and methods for screening and matching battery cells and electronics | |
| US20070244934A1 (en) | Labeling system and method | |
| US11907409B2 (en) | Dynamic immutable security personalization for enterprise products |
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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |