CN116466875A - 用于系统中的离线修复及后续重新集成的方法和系统 - Google Patents
用于系统中的离线修复及后续重新集成的方法和系统 Download PDFInfo
- Publication number
- CN116466875A CN116466875A CN202310051094.4A CN202310051094A CN116466875A CN 116466875 A CN116466875 A CN 116466875A CN 202310051094 A CN202310051094 A CN 202310051094A CN 116466875 A CN116466875 A CN 116466875A
- Authority
- CN
- China
- Prior art keywords
- memory
- controller
- error
- memory location
- data
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000008439 repair process Effects 0.000 title abstract description 8
- 230000000116 mitigating effect Effects 0.000 claims abstract description 12
- 238000011084 recovery Methods 0.000 claims abstract description 8
- 238000012937 correction Methods 0.000 claims description 8
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000006386 memory function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- JJWKPURADFRFRB-UHFFFAOYSA-N carbonyl sulfide Chemical compound O=C=S JJWKPURADFRFRB-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000006833 reintegration Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1435—Saving, restoring, recovering or retrying at system level using file system or storage system metadata
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Library & Information Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请涉及用于存储器系统中的离线修复及重新集成的方法和系统。提供用于校正来自存储器的错误的方法和系统。举例来说,提供一种用于减轻存储器中的错误的系统。所述系统可包含以通信方式耦合到主机的存储器控制器。所述存储器控制器可经配置以接收与存储器位置相关联的信息。所述信息可指示所述存储器位置处的所述错误。所述控制器可经配置以在接收到所述信息后即刻执行特定操作。所述操作可包含复制所述存储器位置周围的数据,将所述所复制数据放置在预留区域中。并且所述操作可进一步包含将与所述预留区域相关联的一组物理地址输出到中央控制器,其中所述中央控制器经配置以修改所述一组物理地址以离线进行数据恢复。
Description
相关申请的交叉引用
本申请主张2022年1月19日申请的标题为“系统中的离线修复及后续重新集成(Off-line repairing and subsequent reintegration in the system)”的第63/301,027号美国临时申请的优先权,所述美国临时申请特此以全文引用的方式明确地并入本文中。
技术领域
本公开大体上涉及用于存储器的一或多个系统和方法,尤其涉及存储器装置中的改进的可靠性、可存取性和可服务性(RAS)。
背景技术
存储器完整性为现代计算的标志。存储器系统通常配备有硬件和/或软件/固件协议,其经配置以检查一或多个存储器区段的完整性,且确定位于其中的数据是否可由较高层子系统存取或数据是否无错误。这些方法属于存储器的RAS特征,且其对于维护存储器中的数据持久性以及数据完整性来说是必不可少的。
存储器系统的典型RAS基础架构可经配置以检测并修复系统中的错误。举例来说,RAS特征可包含用于错误校正码的协议。此类协议为硬件特征,其可在存储器错误被RAS基础架构标记后自动校正所述存储器错误。这些错误可能是由于噪声、宇宙射线、由于电源线突然变化引起的硬件瞬变、存储数据的媒体中的物理错误。
在诸如随机存取存储器(RAM)之类的易失性存储器中使用的一个长期存在的RAS特征被称为巡检擦除。使用硬件引擎来实现此协议,所述硬件引擎可作为邻近模块与存储器系统处于相同位置或在存储器自身内。在运行时间期间,巡检擦除以预定频率存取存储器地址,且其产生不干扰存储器的实际功能和服务质量的请求。此类请求为对所存取的存储器地址的读取请求,且其给予硬件从存储器地址读取数据且对所述数据运行错误校正码的机会。如果数据不可校正,那么擦除器可将存储器位置报告到软件,以指示所述位置处的数据不可校正。擦除器可经配置以在单存储器地址上工作,或其可在预定地址范围上工作。此外,给定足够时间,擦除器可存取存储器中的每一存储器位置。
Compute Express LinkTM(CXLTM)为一种新技术,其维护CPU存储器空间与外围装置的存储器之间的存储器相干性以允许资源共享并降低软件堆栈复杂性,从而提高装置速度并降低总体系统成本。在CXLTM介导的装置中,失效(例如,存储器位置处的损坏数据)被巡检擦除器拦截,且系统必须立即对此失效作出反应以确保维护高级RAS特征。这可能会减慢装置并降低CXLTM速度。因而,需要识别并修复类似于CXL的新兴的架构中的错误的新方法。
发明内容
本文中特征化的实施例帮助解决或减轻上文所提到的问题以及所属领域中已知的其它问题。具体地说,提供一种用于在存储器系统的巡检擦除器识别出失效离线后管理所述失效离线的系统和方法。实施例可以两种新颖方式中的任一者管理此失效离线。第一方法包含提供“小组件(jolly)”,其为存储器系统中的备用组件或组件(例如,组、区段或行)的备用零件。所述小组件可用于以通常不受存储器系统影响的方式临时替换失效区域。在此实施例中,可将有效数据复制到小组件区域中。
在有效区域安全之后,将与失效区域相关联的存储器地址重定向到小组件区域。当失效不再对较高层系统可见时,例如,其已经通过典型的快速循环进行修复以促进失效的存储器位置处的保持和数据完整性,接着可进行恢复程序。恢复程序可包含将小组件的内容重新映射到失效区域。在此示例性情境中,也可将失效区域周围的有效区域复制到小组件区域,以便维护正常系统操作。
在另一实施例中,可在没有小组件的情况下减轻失效。在此方法中,实施失效减轻的控制器可强制主机弃用失效区域。这可通过从有效地址池中移除失效区域的地址直到失效区域已被清理来完成。这通过向主机通知弃用区域的状态的自定义协议来实现。
此外,在一个其它实例实施例中,提供一种用于减轻存储器中的错误的系统。所述系统可包含以通信方式耦合到主机的存储器控制器。存储器控制器可经配置以接收与存储器位置相关联的信息。所述信息可指示存储器位置处的错误。控制器可经配置以在接收到所述信息后即刻执行特定操作。所述操作可包含复制存储器位置周围的数据,将所复制数据放置在预留区域中。并且所述操作可进一步包含将与预留区域相关联的一组物理地址输出到中央控制器,其中所述中央控制器经配置以修改所述一组物理地址以离线执行恢复。
在另一实例实施例中,提供一种用于减轻存储器中的错误的方法。所述方法可包含通过以通信方式耦合到主机的存储器控制器接收与存储器位置相关联的信息,所述信息指示存储器位置处的错误。所述方法可进一步包含复制存储器位置周围的数据,且将所复制数据放置在预留区域中。所述方法可进一步包含将与预留区域相关联的一组物理地址输出到中央控制器,且修改所述一组物理地址以离线进行数据恢复。
提供一种用于减轻存储器中的错误的方法。所述方法可包含通过以通信方式耦合到存储器的控制器接收与存储器位置相关联的信息。所述信息可指示存储器位置处的错误。所述方法可包含通过控制器复制存储器位置周围的数据,且通过控制器将所复制数据放置在预留区域中。所述方法可进一步包含通过控制器将一组地址返回到存储器的主机控制器。所述一组地址可与预留区域相关联,且所述一组地址可替换对应一组经标记为具有错误的存储器位置的地址。
下文参考附图描述各种实施例的额外特征、操作模式、优点和其它方面。应注意,本公开不限于本文中所描述的具体实施例。仅出于说明性目的而呈现这些实施例。基于所提供的教示内容,所公开实施例的额外实施例或修改对于相关领域的技术人员来说将是显而易见的。
附图说明
说明性实施例可采取各种组件和组件布置的形式。说明性实施例展示于附图中,贯穿附图相同的参考标号可指示各图中的对应或类似零件。附图仅用于说明实施例的目的并且不应被解释为限制本公开。鉴于附图的以下启发性描述,本公开的新颖方面对于相关领域的一般技术人员来说应变得显而易见。
图1A说明根据实施例的系统。
图1B说明根据实施例的系统。
图2说明根据实施例的方法。
图3说明根据实施例的另一方法。
图4说明根据实施例的控制器。
具体实施方式
虽然本文中针对特定应用描述说明性实施例,但应理解,本公开不限于此。可获得本文中所提供的教示内容的所属领域的技术人员将认识到其范围内的额外应用、修改和实施例及其中本公开可能明显实用的额外领域。
图1A描述根据实施例的系统100。系统100可包含媒体(例如,存储器102),其包含多个区(例如,103、109和105)。换句话说,存储器102可为包含表示存储器102内部的组的子块(即,区)的单个组件。然而,通常,单个区可为整个组,或区段(其为具有特定失效模式的组),或者仅仅是作为存储器102的区段的一部分的单个行。存储器102可经由总线101以通信方式耦合到控制器104,且控制器104可经由总线121以通信方式耦合到主机106。控制器104还可经由总线109以通信方式耦合到小子阵108。小子阵108可包含多个小区段(例如,110、114和116)。
在操作期间,可由主机106执行巡检擦除器例程或协议。巡检擦除器可扫描存储器102的位置以便确定是否包含错误。在图1中所说明的实例情境中,巡检擦除器可检测到存储器区105具有位置107处的错误,且进一步检测到存储器区109具有位置111处的错误。所属领域的技术人员将容易理解,位置107和111可为单个存储器寄存器,或其可为多个存储器区段。此外,这些存储器位置可为或可不为其相应存储器区段的连续元件。
图1B说明根据实施例的系统123。系统123表示其中主机106根据CXLTM协议与中央控制器124通信的示例性架构。主机106与中央控制器124之间的通信可通过中间CXLTM链路125和实施CXLTM协议的前端块127来实现。中央控制器124可使用包含类似于控制器104的存储器控制器的中间后端块131以通信方式耦合到存储器元件129。存储器控制器可包含用于经由LP5链路133与存储器元件129通信的PHY接口。举例来说,而非限制,存储器元件129可包含4个等级和8个通道。
此外,存储器元件129可为多个存储器组件,其中存储器元件129中的单元可为类似于存储器102的存储器组件。举例来说,而非限制,存储器元件129的存储器组件可由16个组构成,且每一组可由数个区段构成。每一区段可由数个行构成。
此外,例如但不限于,对于主机106,所有管理都是透明的。主机106未观察到CXLTM装置的行为的任何改变,因为中央控制器124恰当地重新映射与物理位置(物理地址)的不同部分的逻辑地址(主机)相关联的区域。举例来说,可在中央控制器124中存在块,所述块具有逻辑地址(由主机106发送)作为输入且具有中央控制器124可相应地修改以执行离线恢复的物理地址作为输出。
在一个实施例中,参看图1A,控制器104可经配置以执行保持对存储器区段105和109的有效数据的存储器存取和功能同时依赖于主机来修复已由巡检擦除器检测到的错误的方法。通常,在传统系统中,在通过巡检擦除器发现给定区段中的错误后,主机将停用所述区段以便对其进行清理,因此保持对所述区段中的其它有效数据的存取。因此,此方法减缓执行速度且增加等待时间。
相比之下,在本文中呈现的实施例中,在不损害对标记的存储器区段中的数据的存取的情况下离线地减轻错误。实际上,将这些数据复制到一或多个小区段,所述小区段经提供以充当用于错误减轻的占位符位置。一旦来自标记的区段的有效数据在其相应的小区段中,如果需要原始存储器位置中的数据,那么主机106可通过存取小位置来继续程序执行。
同时,使用典型的计数器度量(错误校正码、快速循环等)离线地处理原始存储器区段中的错误。一旦显示错误的存储器区段已被清理,其地址便可用,且小组件被清除,这是由于主机不再存取那里的数据,而是存取原始存储器位置中的那些数据。图2和图3说明可用于管理错误的示例性方法。一个实施例包含基于小组件的方法,而另一实施例包含用于离线错误减轻的无小组件的方法。
图2描述根据实施例的方法200。方法200可由控制器104执行以执行与存储器错误的离线管理相关联的一或多个任务。方法200具有以下优点:在线保持存储器功能,而由巡检擦除器标记的错误被离线修复,由此允许存储器功能不受阻碍地继续,从而保持装置速度和吞吐量。
方法200可在块202处开始。在块204处,控制器104可从经配置以擦除存储器102的巡检擦除器接收特定存储器区段包含一或多个错误的信息。所属领域的一般技术人员将认识到,此类错误可能不在整个区段上延伸,且因此,尽管存在一或多个错误,所识别的存储器区段仍可包含有效数据。
在块206处,控制器104可发布使存储器区段中的有效数据被复制的指令。在复制后,控制器104可接着发布要写入到小组件中的所复制数据的命令(块208)。写入的数据可包含所有有效数据以及指示损坏的数据在原始存储器位置中的位置的标记。一旦数据写入到小组件中,控制器104便可提取小组件的地址且将小组件的地址返回到主机106(块210)。
这可通过向主机发布特定指令来完成,以将原始存储器位置的地址替换为小组件的地址。在此方案中,程序执行,即主机任务可不受阻碍地继续,且现在可使用小组件的地址来处理原始存储器位置中的数据,因为小组件现在包含经标记的原始存储器区段的所有有效数据(块212)。因而,存储器功能保持在线,且程序执行不受阻碍地继续。
同时,擦除器使用例如但不限于错误校正码来调度原始位置以进行修复(块214)。替代地,如果错误是不可恢复的,那么控制器104可将存储器区段标记为不可用的。因此,一般来说,错误被修复或减轻。方法200包含在错误尚未被修复或减轻的情况下在块214处等待(决策块216)。
当错误被修复或减轻时,方法200可包含另一决策块218以确定经标记的错误是否为可恢复的,即可校正的。如果错误为可校正的,那么小组件可被清除(块220),且方法200可在块220处结束。如果错误为不可校正的,那么控制器104或主机106可发布确证其中发生一或多个错误的存储器的特定地址不可用的旗标,因为这些存储器位置包含损坏的数据或其被损坏(块219)。方法200接着可在块221处结束。
图3说明根据实施例的方法300。方法300开始于块302处,且其包含控制器104从巡检擦除器接收信息。所述信息与存储器102的一或多个存储器位置相关联,且其指示所述一或多个存储器位置包含错误。在此实施方案中,不使用小组件。实际上,在块306处,控制器向主机106强制已经识别为具有错误的存储器区段被弃用。换句话说,对应于已经由擦除器标记的存储器区段的地址变得不可用。
在决策块308处,控制器104检查主机106是否已减轻或修复错误。如果尚未减轻或修复错误,那么控制器104等待(块310)。当错误被减轻或修复时,控制器104检查错误是可恢复的还是不可恢复的(决策块312)。如果是不可恢复的,那么控制器104向主机106通知这些存储器位置必须永久地弃用(块314),且方法300在块316处结束。如果错误是可恢复的且经校正,那么控制器104将旗标发送到主机106,告知所述主机从弃用中移除存储器位置(块313)。方法300接着在块315处结束。
图4说明可为上文所描述的控制器104的专用硬件、软件和固件实施方案的控制器400。控制器400可包含经配置以执行如上文所描述的方法200、方法300的块或系统100的功能中的一或多者或全部的处理器414。处理器414可具有特定结构。可通过存储于存储器402中的指令和/或通过可由处理器414从存储媒体420提取的指令418将特定结构赋予处理器414。存储媒体420可与控制器400处于相同位置,如所展示,或其可在远端并且以通信方式耦合到控制器400。此类通信可经加密。
控制器400可为单独可编程系统,或包含于较大系统中的可编程模块。举例来说,控制器400可包含于用于连接到控制器400的存储器102的RAS硬件例程中。控制器400可包含一或多个硬件和/或软件组件,所述一或多个硬件和/或软件组件经配置以提取、解码、执行、存储、分析、分布、评估信息和/或对信息进行分类。
处理器414可包含一或多个处理装置或核心(未展示)。在一些实施例中,处理器414可为各自具有一或多个核心的多个处理器。处理器414可执行从存储器402提取的指令,即,从存储器模块404、306、408或410中的一者提取的指令。替代地,可经由通信接口416从存储媒体420或从连接到控制器400的远程装置提取指令。此外,通信接口416还可与需要RAS特征的存储器102以及主机106介接。I/O模块412可经配置以用于到远程系统或来自远程系统的额外通信。
在不损失一般性的情况下,存储媒体420和/或存储器402可包含易失性或非易失性、磁性、半导体、磁带、光学、可移除、不可移除、只读、随机存取,或任何类型的非暂时性计算机可读计算机媒体。存储媒体420和/或存储器402可包含可由处理器414使用的程序和/或其它信息。此外,存储媒体420可经配置以记录在控制器400的操作期间处理、记录或收集的数据。
数据可以符合数据存储实践的多种方式带上时间戳、带上位置戳、编目、编索引、经加密和/或进行组织。举例来说,存储器模块406到410可形成先前所描述的脚本自动产生模块。体现于这些存储器模块中的指令可使处理器414执行符合上文所描述的功能的特定操作,即,在存储器102的一或多个位置内标记的错误的离线减轻。
举例来说,但不受限制,可由处理器414执行的操作可包含通过处理器接收与存储器102内的存储器位置相关联的信息。所述信息可指示存储器位置处的错误。所述操作接着可包含通过处理器复制存储器位置周围的数据,且通过处理器将所复制数据放置在预留区域中(即,可与存储器102处于相同位置的小组件区域中)。所述操作可进一步包含通过处理器将一组地址返回到主机106。所述一组地址与预留区域相关联,且所述一组地址替换对应一组经标记为具有错误的存储器位置的地址。
已经描述了符合本文中呈现的教示内容的若干方法和专用实施例,现在描述实例通用实施例。举例来说,在一个实施例中,提供一种用于减轻存储器中的错误的系统。所述系统可包含经配置以接收与存储器位置相关联的信息的控制器。所述信息可指示存储器位置处的错误。
控制器可经配置以在接收到所述信息后即刻执行特定操作。所述操作可包含复制存储器位置周围的数据,将所复制数据放置在预留区域中,且将一组地址返回到存储器的主机控制器。所述一组地址可与预留区域相关联。此外,所述一组地址可替换对应一组存储器位置的地址。
所述系统可进一步经配置以在离线模式中使用错误校正码来修复存储器位置处的错误。并且所述系统可进一步经配置以通过使用一组物理地址从预留区域检索数据而不受阻碍地操作,其中所述数据对应于存储器位置处的未损坏数据。控制器可经配置以从可与存储器系统以及其它存储器系统相关联的巡检擦除器接收信息。
存储器位置可跨越地址范围,且一或多个地址为特定于存储器位置中发生一或多个错误的地址。所述系统可进一步经配置以基于所接收的信息对错误进行分类。控制器可经配置以将错误分类为可恢复的或不可恢复的。所述错误可被分类为不可恢复的,且控制器可经配置以向存储器控制器的主机通知存储器位置具有不可恢复的错误。所述系统可进一步经配置以从可用于主机的有效地址池中移除对应于不可恢复的错误的一或多个地址。
在另一实施例中,提供一种用于减轻存储器中的错误的方法。所述方法可包含通过以通信方式耦合到存储器的控制器接收与存储器位置相关联的信息。所述信息可指示存储器位置处的错误。所述方法可包含通过控制器复制存储器位置周围的数据,且通过控制器将所复制数据放置在预留区域中。所述方法可进一步包含通过控制器将一组地址返回到存储器的主机控制器。所述一组地址可与预留区域相关联,且所述一组地址可替换对应一组存储器位置的地址。
所述方法可进一步包含通过系统在离线模式中使用错误校正码来修复存储器位置处的错误。此外,所述系统可通过使用一组地址从预留区域检索数据而保持不受阻碍地操作,所述数据对应于存储器位置处的未损坏数据。所述方法可进一步包含通过控制器接收来自巡检擦除器的信息。存储器位置可跨越地址范围,且所述地址范围可包含错误所在的一或多个指定地址。
所述方法可进一步包含通过控制器基于所接收的信息对错误进行分类。所述方法可进一步包含将错误分类为可恢复的或不可恢复的。当错误被分类为不可恢复的时,所述操作包含向存储器控制器的主机通知存储器位置具有不可恢复的错误。所述方法可进一步包含从可用于主机的有效地址池中移除对应于不可恢复的错误的一或多个地址。
相关领域的技术人员将了解,可在不脱离本公开的范围和精神的情况下配置上述实施例的各种调适和修改。因此,应理解,在所附权利要求书的范围内,可以除本文中所具体描述以外的方式实践本公开。
Claims (20)
1.一种用于减轻存储器中的错误的系统,所述系统包括:
存储器控制器,其以通信方式耦合到主机,所述存储器控制器经配置以接收与存储器位置相关联的信息,所述信息指示所述存储器位置处的所述错误,其中所述控制器经配置以在接收到所述信息后即刻执行包含以下的操作:
复制所述存储器位置周围的数据;
将所述所复制数据放置在预留区域中;以及
将与所述预留区域相关联的一组物理地址输出到中央控制器,其中所述中央控制器经配置以修改所述一组物理地址以离线进行数据恢复。
2.根据权利要求1所述的系统,其进一步包含所述中央控制器,且其中所述中央控制器经配置以从所述主机接收输入逻辑地址,且其中进一步经配置以在离线模式中的所述恢复期间使用错误校正码来修复所述存储器位置处的所述错误。
3.根据权利要求2所述的系统,其中所述系统进一步经配置以通过使用所述一组物理地址从所述预留区域检索数据而不受阻碍地操作,所述数据对应于所述存储器位置处的未损坏数据。
4.根据权利要求1所述的系统,其中所述存储器控制器经配置以从巡检擦除器接收所述信息。
5.根据权利要求1所述的系统,其中所述存储器位置跨越地址范围。
6.根据权利要求5所述的系统,其中所述地址范围包含所述错误所在的一或多个指定地址。
7.根据权利要求1所述的系统,其中所述存储器控制器进一步经配置以基于所述所接收信息对所述错误进行分类。
8.根据权利要求7所述的系统,其中所述控制器经配置以将所述错误分类为可恢复的或不可恢复的。
9.根据权利要求8所述的系统,其中当所述错误被分类为不可恢复的时,所述控制器进一步经配置以向所述存储器控制器的主机通知所述存储器位置具有不可恢复的错误。
10.根据权利要求9所述的系统,其中系统进一步经配置以从能够用于所述主机的有效地址池中移除对应于所述不可恢复的错误的一或多个地址。
11.一种用于减轻存储器中的错误的方法,所述方法包括:
通过以通信方式耦合到主机的存储器控制器接收与存储器位置相关联的信息,所述信息指示所述存储器位置处的所述错误;
复制所述存储器位置周围的数据;
将所述所复制数据放置在预留区域中;以及
将与所述预留区域相关联的一组物理地址输出到中央控制器;以及
修改所述一组物理地址以离线进行数据恢复。
12.根据权利要求11所述的方法,其进一步包括通过所述系统在离线模式中使用错误校正码来修复所述存储器位置处的所述错误。
13.根据权利要求12所述的方法,其进一步包含所述系统通过使用所述一组地址从所述预留区域检索数据而不受阻碍地操作,所述数据对应于所述存储器位置处的未损坏数据。
14.根据权利要求11所述的方法,其进一步包含通过所述控制器接收从巡检擦除器接收所述信息。
15.根据权利要求11所述的方法,其中所述存储器位置跨越地址范围。
16.根据权利要求15所述的方法,其中所述地址范围包含所述错误所在的一或多个指定地址。
17.根据权利要求11所述的方法,其进一步包含通过所述控制器基于所述所接收信息对所述错误进行分类。
18.根据权利要求17所述的方法,其中所述分类包含将所述错误标记为可恢复的或不可恢复的。
19.根据权利要求18所述的方法,其中当所述错误被分类为不可恢复的时,所述操作包含向所述存储器控制器的主机通知所述存储器位置具有不可恢复的错误。
20.根据权利要求19所述的方法,其进一步包含从能够用于所述主机的有效地址池中移除对应于所述不可恢复的错误的一或多个地址。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263301027P | 2022-01-19 | 2022-01-19 | |
US63/301,027 | 2022-01-19 | ||
US17/897,037 | 2022-08-26 | ||
US17/897,037 US20230229560A1 (en) | 2022-01-19 | 2022-08-26 | Method and system for off-line repairing and subsequent reintegration in a system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116466875A true CN116466875A (zh) | 2023-07-21 |
Family
ID=87161949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310051094.4A Pending CN116466875A (zh) | 2022-01-19 | 2023-01-19 | 用于系统中的离线修复及后续重新集成的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230229560A1 (zh) |
CN (1) | CN116466875A (zh) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145088A (en) * | 1996-06-18 | 2000-11-07 | Ontrack Data International, Inc. | Apparatus and method for remote data recovery |
US6661591B1 (en) * | 2001-01-31 | 2003-12-09 | Western Digital Technologies, Inc. | Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors |
US6545830B1 (en) * | 2001-04-30 | 2003-04-08 | Western Digital Technologies, Inc. | Disk drive storing test pattern in calibration sectors that are longer than user data sectors for zone parameter calibration |
US7178072B2 (en) * | 2001-06-08 | 2007-02-13 | Renesas Technology America, Inc. | Methods and apparatus for storing memory test information |
US7721140B2 (en) * | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US8914696B2 (en) * | 2012-08-29 | 2014-12-16 | Seagate Technology Llc | Flash memory read scrub and channel tracking |
US9087614B2 (en) * | 2012-11-27 | 2015-07-21 | Samsung Electronics Co., Ltd. | Memory modules and memory systems |
US9502139B1 (en) * | 2012-12-18 | 2016-11-22 | Intel Corporation | Fine grained online remapping to handle memory errors |
US9442801B2 (en) * | 2014-09-26 | 2016-09-13 | Hewlett Packard Enterprise Development Lp | Platform error correction |
US9946595B2 (en) * | 2015-09-30 | 2018-04-17 | International Business Machines Corporation | Reducing uncorrectable errors based on a history of correctable errors |
US10691532B2 (en) * | 2018-06-29 | 2020-06-23 | Alibaba Group Holding Limited | Storage drive error-correcting code-assisted scrubbing for dynamic random-access memory retention time handling |
US11182094B2 (en) * | 2018-09-06 | 2021-11-23 | International Business Machines Corporation | Performing a recovery copy command using a recovery copy data structure for a backup volume lookup |
US10896088B2 (en) * | 2018-11-15 | 2021-01-19 | Seagate Technology Llc | Metadata recovery mechanism for page storage |
US10832726B1 (en) * | 2019-08-23 | 2020-11-10 | Seagate Technology Llc | Remapping tracks for management of adjacent track interference |
US20210385509A1 (en) * | 2020-06-03 | 2021-12-09 | Western Digital Technologies, Inc. | Storage System and Method for High-Correlation Data Analysis with Unified Time Mapping |
US11899633B2 (en) * | 2020-07-14 | 2024-02-13 | EMC IP Holding Company LLC | Managing storage device scrubbing |
KR20220090794A (ko) * | 2020-12-23 | 2022-06-30 | 삼성전자주식회사 | 메모리 장치, 그것을 제어하는 제어기, 그것을 갖는 메모리 시스템 및 그것의 동작 방법 |
US11429481B1 (en) * | 2021-02-17 | 2022-08-30 | Xilinx, Inc. | Restoring memory data integrity |
US11762736B2 (en) * | 2021-05-18 | 2023-09-19 | Samsung Electronics Co., Ltd. | Semiconductor memory devices |
-
2022
- 2022-08-26 US US17/897,037 patent/US20230229560A1/en active Pending
-
2023
- 2023-01-19 CN CN202310051094.4A patent/CN116466875A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230229560A1 (en) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11003536B2 (en) | Method, device and computer readable storage medium for writing to disk array | |
US8032816B2 (en) | Apparatus and method for distinguishing temporary and permanent errors in memory modules | |
US7971124B2 (en) | Apparatus and method for distinguishing single bit errors in memory modules | |
CN102023815B (zh) | 在固态存储器中实现raid | |
EP1659494B1 (en) | Method and apparatus for classifying memory errors | |
US8601310B2 (en) | Partial memory mirroring and error containment | |
US20140089725A1 (en) | Physical memory fault mitigation in a computing environment | |
CN108228396B (zh) | 用于处理驱动器的错误的方法和设备 | |
CN112632643B (zh) | 防止闪存数据丢失的方法、固态硬盘控制器、固态硬盘 | |
CN104572517A (zh) | 提供被请求数据的方法、控制器以及计算机系统 | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
JP2015225608A (ja) | アドレス変換テーブルを書き込む装置及び方法 | |
US20230384947A1 (en) | Dynamic repartition of memory physical address mapping | |
EP3029570B1 (en) | Bad track repairing method and apparatus | |
US9086990B2 (en) | Bitline deletion | |
CN113220221B (zh) | 存储器控制器与数据处理方法 | |
KR101512927B1 (ko) | 비휘발성 메모리의 페이지 관리 방법 및 장치 | |
JP2018136735A (ja) | メモリ制御装置及びメモリ制御方法 | |
CN116466875A (zh) | 用于系统中的离线修复及后续重新集成的方法和系统 | |
US20100169572A1 (en) | Data storage method, apparatus and system for interrupted write recovery | |
US11443826B2 (en) | Storage area retirement in a storage device | |
JP6193112B2 (ja) | メモリアクセス制御装置、メモリアクセス制御システム、メモリアクセス制御方法、及び、メモリアクセス制御プログラム | |
CN112835517B (zh) | 提升mlc nand性能的方法、装置及介质 | |
JP2007011839A (ja) | メモリ管理方法及びメモリ管理システム | |
US7895493B2 (en) | Bus failure management method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |