CN117170575A - 用于数据保护及恢复的存储器地址转译 - Google Patents
用于数据保护及恢复的存储器地址转译 Download PDFInfo
- Publication number
- CN117170575A CN117170575A CN202310611784.0A CN202310611784A CN117170575A CN 117170575 A CN117170575 A CN 117170575A CN 202310611784 A CN202310611784 A CN 202310611784A CN 117170575 A CN117170575 A CN 117170575A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- channel
- memory device
- memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 37
- 238000011084 recovery Methods 0.000 title claims abstract description 20
- 238000000034 method Methods 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 10
- 230000014616 translation Effects 0.000 description 29
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 3
- 239000000470 constituent Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001360 synchronised effect Effects 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/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/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
- G06F11/1028—Adjacent errors, e.g. error in n-bit (n>1) wide storage units, i.e. package error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本公开涉及用于数据保护及恢复的存储器地址转译。提供芯片删除能力的用于存取存储在存储器装置中的主机数据的主机命令的地址转译不仅涉及定位存储所述主机数据的位置,而且还涉及定位存储与所述主机数据一起条带化的奇偶校验数据的位置。在定位存储所述奇偶校验数据的位置时,可用逻辑(例如,算术)运算来执行所述地址转译。
Description
技术领域
本公开大体上涉及半导体存储器及方法,且更特定来说,涉及用于数据保护及恢复的存储器地址转译的设备、系统及方法。
背景技术
存储器装置通常被提供作为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在不被供电时保持所存储的数据来提供持久性数据且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令及/或指令,以在计算机或电子系统操作时由主机使用。例如,在计算或其它电子系统的操作期间,数据、命令及/或指令可在主机与存储器装置之间传送。控制器可用于管理主机与存储器装置之间的数据、命令及/或指令的传送。
发明内容
一方面,本公开提供一种用于数据保护及恢复的存储器地址转译的方法,其包括:接收主机命令,所述主机命令包含:第一地址位,其指示指派给经配置用于第一数据的第一存储器装置的行段的第一数值;及第二地址位,其指示指派给数个通道中的第一通道并对应于所述第一存储器装置的第二数值;及至少部分地基于比较所述第一数值及第二数值来识别数个通道中且对应于经配置用于与所述第一数据一起条带化的第二数据的第二存储器装置的第二通道。
另一方面,本公开进一步提供一种用于数据保护及恢复的存储器地址转译的设备,其包括:数个存储器装置,其分别对应于数个通道;及控制器,其经由所述数个通道耦合到所述数个存储器装置,所述控制器经配置成:接收主机命令的第一地址位,所述第一地址位指示指派给经配置用于第一数据的第一存储器装置的行段的第一数值;接收所述主机命令的第二地址位,所述第二地址位指示指派给所述数个通道中的第一通道的第二数值;响应于接收到所述主机命令,比较所述第一数值及所述第二数值,以识别对应于经配置用于与所述第一数据一起条带化的第二数据的第二存储器装置的第二通道;及存取至少部分地基于所述第一地址位及所述第二地址位所识别的所述第一存储器装置;及存取至少部分地基于所述比较的结果所识别的所述第二存储器装置。
另一方面,本公开进一步提供一种用于数据保护及恢复的存储器地址转译的方法,其包括:接收主机命令,所述主机命令包含:第一地址位,其指示指派给经配置用于第一数据的行段的第一数值;及第二地址位,其指示指派给与经配置用于所述第一数据的第一存储器装置相关联的基础通道的第二数值;及比较所述第一数值及所述第二数值以确定所述第二数值是否小于特定量与所述第一数值之间的差;至少部分地基于所述第一地址位及所述第二地址位来识别经配置用于所述第一数据的第一存储器装置及所述第一存储器装置的第一位置;及至少部分地基于所述比较来识别经配置用于与所述第一数据一起条带化的奇偶校验数据的第二存储器装置及所述第二存储器装置的第二位置。
另一方面,本公开进一步提供一种用于数据保护及恢复的存储器地址转译的设备,其包括:数个存储器装置,其分别对应于数个通道,其中所述数个存储器装置包括数个行段,每一行段包括所述数个存储器装置中的每一存储器装置的存储器单元的一组相应行;及控制器,其经由所述数个通道耦合到所述数个存储器装置,所述控制器经配置成:接收主机命令,所述主机命令包含:第一地址位,其指示指派给经配置用于主机数据的所述数个行段中的行段的第一数值;及第二地址位,其指示指派给与经配置用于所述主机数据的第一存储器装置相关联的基础通道的第二数值;及存取所述主机数据及与所述主机数据一起条带化的奇偶校验数据:比较所述第一数值及所述第二数值以确定所述第二数值是否小于特定量与所述第一数值之间的差;至少部分地基于所述第一地址位及所述第二地址位来识别经配置用于所述主机数据的所述第一存储器装置的存储器单元的行;及至少部分地基于所述比较来识别经配置用于所述奇偶校验数据的第二存储器装置及存储器单元的行。
附图说明
图1是根据本公开的数个实施例的包含存储器控制器的计算系统的功能框图。
图2是说明根据本公开的数个实施例的存储器装置上的实例数据放置及主机命令的主机地址位的逻辑到物理地址转译的图。
图3是说明根据本公开的数个实施例的存储器装置上的另一实例数据放置及主机命令的主机地址位的逻辑到物理地址转译的图。
图4是根据本公开的数个实施例的用于数据保护及恢复的存储器地址转译的方法的流程图。
图5是根据本公开的数个实施例的用于数据保护及恢复的存储器地址转译的方法的流程图。
具体实施方式
与用于数据保护及恢复的存储器地址转译相关的系统、设备及方法。数据保护及恢复方案通常是与存储器系统相关联的RAS(可靠性、可用性及可维护性)的重要方面。此类方案可提供“芯片删除(chip kill)”,其中即使例如存储器裸片的组成芯片被损坏,存储器系统也可正常工作;从而避免其中一个芯片是存储器系统的单点故障(SPOF)的情况。通常,芯片删除能力是通过各种错误校正码(ECC)方案提供的,包含“独立磁盘冗余阵列”(RAID)方案等,其允许通过读取RAID条带的所有组成芯片而允许受损芯片的数据恢复。
芯片删除可涉及专门为受损芯片的数据恢复而设计的ECC数据(例如,RAID奇偶校验)。ECC数据及共享相同ECC数据的用户数据可被称为一起条带化。或者说,条带可包含用户数据及由用户数据共享的ECC数据。
当接收到用于存取存储器装置中的数据的主机命令时,存储器系统可负责将由主机命令提供的逻辑地址映射到数据所定位或存储的物理存储器装置的物理地址。在存储器装置以芯片删除能力操作的实例中,用于指定为特定用户数据配置的位置的主机命令的地址转译还涉及指定为与用户数据一起条带化的ECC数据配置的位置,这通常涉及复杂形式的运算,例如对由主机命令的地址位指示的值的除法运算。此类运算(例如,除法运算)可能是耗时的,并且大体上耗尽存储器系统的一定量的资源,这可能导致在操作存储器系统时的大量延时。
相反,本文描述的实施例涉及不需要复杂形式的运算的存储器地址转译。例如,与已在先前方法的地址转译中使用的除法运算不同,本文描述的实施例的地址转译可仅涉及不太复杂的算术运算,例如加法及/或减法运算。因此,本文描述的实施例可减少与转译主机命令的地址位相关联的延时,并且消除对用于执行与地址转译相关联的复杂形式的运算的电路系统的需要。
在一些实施例中,存储器系统可为计算高速链路(CXL)兼容的存储器系统。主机接口可用CXL协议管理,并经由针对外围组件快速互连(PCIe)协议配置的接口耦合到主机。CXL是高速中央处理单元(CPU)到装置及CPU到存储器互连,其经设计以加速下一代数据中心性能。CXL技术维持CPU存储器空间与附接装置上的存储器之间的存储器一致性,这允许资源共享以实现更高的性能、减小软件堆叠复杂性及降低整体系统成本。CXL经设计为高速通信的行业开放标准接口,因为加速器越来越多地用于补充CPU,以支持例如人工智能及机器学习的新兴应用。CXL技术建立在PCIe基础结构上,利用PCIe物理及电气接口以在若干领域中提供高级协议,例如输入/输出(I/O)协议、存储器协议(例如,最初允许主机与加速器共享存储器)及一致性接口。
如本文使用,单数形式“一(a/an)”及“所述”包含单数及复数指涉物,除非上下文另外明确指示。此外,词语“可”贯穿本申请以准许意义(即,有可能、能够)而非以强制意义(即,必须)使用。术语“包含”及其衍生词派生意味着“包含(但不限于)”。术语“耦合”意味着直接或间接连接。应当理解,数据可通过电子信号(例如,电流、电压等)来传输、接收或交换,并且短语“指示[数据]的信号”表示在物理媒体中传输、接收或交换的数据本身。
本文中的图式遵循编号惯例,其中第一个或前几个数字对应于图式图号,并且其余数字识别图式中的元件或组件。可通过使用类似数字来识别不同图之间的类似元件或组件。举例来说,114可指图1中的元件“14”,且类似元件在图2中可被引用为214。图内的类似元件可用连字符及额外数字或字母引用。例如,参见图1中的元件102-1、102-2、102-M。此类类似元件可在没有连字符及额外数字或字母的情况下大体上引用。例如,元件102-1、102-2、102-M可统称为102。如本文中使用,指示符“M”和“N”,特别是相对于附图中的元件符号,指示可包含如此指定的数个特定特征。如应了解,本文各种实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。另外,如应了解,图中提供的元件的比例及相对尺度希望说明本发明的某些实施例,且不应以限制意义来理解。
图1是根据本公开的数个实施例的包含存储器控制器100的计算系统101的功能框图。存储器控制器100可包含前端部分104、中央控制器部分110及后端部分112。计算系统101可包含主机103及耦合到存储器控制器100的存储器装置116-1、…、116-N。
前端部分104包含通过输入/输出(I/O)通路102-1、102-2、…、102-M将存储器控制器100耦合到主机103的接口及接口管理电路系统及管理I/O通路102的电路系统。可存在任意数量的I/O通路102,例如八个、十六个或另一数量的I/O通路102。在一些实施例中,I/O通路102可经配置为单个端口。在至少一个实施例中,存储器控制器100与主机103之间的接口可为根据CXL协议操作的PCIe物理及电气接口。
中央控制器部分110可包含及/或被称为数据管理电路系统。中央控制器部分110可响应于接收到来自主机103的请求而控制存储器操作的执行。存储器操作的实例包含从存储器装置116读取数据的读取操作或将数据写入到存储器装置116的写入操作。
中央控制器部分110可包含ECC组件113。ECC组件110可基于从主机103接收的数据来产生错误检测信息及/或错误校正信息。ECC组件110可对从主机103或从存储器装置116接收的数据执行错误检测操作及/或错误校正操作。
可在ECC组件113处执行的错误校正操作的实例是RAID操作。RAID操作可使用存储在存储器装置116中的奇偶校验数据来提供芯片删除保护及/或基于新的主机数据(例如,从主机103接收的数据)更新奇偶校验数据。如本文使用,术语“用户数据”或“主机数据”在本文中可互换使用且可具有相同含义,视上下文而定。
针对任何单个存储器装置116(芯片)故障及/或来自单个存储器芯片的任何部分的多位错误的芯片删除保护可跨存储器装置116的子集(例如,可对存储器装置116-1、116-2的第一子集且单独对存储器装置116-(N-1)、116-N的第二子集提供芯片删除保护)或者跨所有存储器装置116共同实施。
ECC组件113可进一步更新奇偶校验数据。例如,ECC组件113可接收新的主机数据作为主机写入命令的部分,基于接收的主机数据更新奇偶校验数据,并将更新的奇偶校验数据写回到存储器装置116。
可在ECC组件113处执行的错误检测操作的实例是循环冗余校验(CRC)操作。CRC可被称为代数错误检测。CRC可包含使用由使用要保护的数据的代数计算产生的校验值。CRC可通过将与数据相关联地存储的校验值与基于数据计算的校验值进行比较来检测数据的意外变化。ECC组件113可产生校验值,所述校验值由对从后端部分112接收的数据的代数计算以及所述校验值与从存储器装置116接收的校验值的比较以确定数据是否包含错误(例如,如果两个校验值不相等)而产生。
中央控制器部分110可包含转译组件115。转译组件115可负责逻辑地址(例如,行识别符(ID)、通道号等)与同存储器装置116相关联的物理地址之间的地址转译。如本文所使用,“地址转译”是指确定存储器装置(例如,存储器装置116)的存储器的物理地址,所述物理地址对应于由主机命令(例如,从主机103接收以存取一或多个存储器装置116的命令)的地址位所指示的逻辑地址。尽管图1中未展示,但转译组件115可包含促进与存取存储器装置116相关联的地址转译的电路系统。在一些实施例中,转译组件115可包含ASIC、FPGA、状态机及/或其它逻辑电路系统形式的专用电路系统。如本文所使用的,主机命令的地址位可替代地称为“主机地址位”。
当被转译时,主机地址位可指示经配置用于(例如,存储)将由主机命令存取的主机数据的存储器装置116的物理位置。此外,可通过使用一些主机地址位执行逻辑运算(例如比较运算及/或简单的算术运算(例如,加法及/或减法运算))来指示经配置用于与主机数据一起条带化的奇偶校验数据的存储器装置116的物理位置。
后端部分112可包含媒体控制器及将存储器控制器100耦合到存储器装置116的物理(PHY)层。如本文所使用的,术语“PHY层”通常指计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层,并且可用于在物理数据传输媒体上传送数据。在一些实施例中,物理数据传输媒体可包含通道114-1、…、114-N。通道114可包含各种类型的数据总线,例如十六个引脚数据总线及两个引脚数据掩码反转(DMI)总线,以及其它可能的总线。
存储器装置116的实例是根据例如低功率双倍数据速率(LPDDRx)的协议操作的动态随机存取存储器(DRAM),其在本文可被称为LPDDRx DRAM装置、LPDDRx存储器等。LPDDRx中的“x”指协议的数代中的任一者(例如,LPDDR5)。在一些实施例中,尽管存储器装置116是LPDDRx存储器装置,但是存储器装置116不包含经配置成为存储器装置116提供低功率功能性的电路系统,例如动态电压频率缩放核心(DVFSC)、亚阈值电流降低电路(SCRC)或其它低功率功能性提供电路系统。提供没有此电路系统的LPDDRx存储器装置116可有利地降低LPDDRx存储器装置116的成本、尺寸及/或复杂性。举例来说,具有减少的低功率功能性提供电路系统的LPDDRx存储器装置116可用于除了移动应用之外的应用(例如,如果存储器不希望在移动应用中使用,那么可牺牲一些或所有低功率功能性以降低生产存储器的成本)。
主机/奇偶校验数据可以特定模式存储在存储器装置116中。在一些实施例中,奇偶校验数据可存储在与存储主机数据的那些行段不同的行段中。如本文所使用的,术语“行段”是指跨不同存储器装置(例如,存储器装置116)分布的存储器单元的行的群组。此外,在一些实施例中,对于每一条带,每一存储器装置的存储器单元可配置不超过单个行。
在一些实施例中,存储器控制器100可包含用于初始化、配置及/或监测存储器控制器100的特性的管理单元118。管理单元118可包含用于管理带外数据及/或命令的I/O总线、用于执行与初始化、配置及/或监测存储器控制器的特性相关联的指令的管理单元控制器,及用于存储与初始化、配置及/或监测存储器控制器100的特性相关联的数据的管理单元存储器。如本文所使用的,术语“带外”通常指不同于网络的主传输媒体的传输媒体。例如,带外数据及/或命令可为使用与在网络内用于传送数据的传输媒体不同的传输媒体而传送到网络的数据及/或命令。
图2是说明根据本公开的数个实施例的存储器装置(例如,图1中说明的存储器装置116)上的实例数据放置及主机地址位的逻辑到物理地址转译的图。如图2所说明,存在八个通道214,编号为0到7(在表222的第一行中展示的“0”到“7”)及存在八个行段,其具有行ID为0到7(在表222的第一列中展示的“0”到“7”)。每一行段包含多个存储器装置(例如,存储器装置116)的存储器单元(图2中未说明)的行。为了说明的目的,存储在行段及通道的每一相交点中的数据也被编号。例如,数据1存储在具有行ID 0的行段中并且定位于通道1上。实施例不限于特定数目的通道、行、行段及/或某一数目的存储器装置。
如图2中进一步说明,分别具有行ID 0到6的前7个行段可为可存储主机数据的数据区域,并且具有行ID 7的最后一个行段可为可存储奇偶校验数据的奇偶校验区域。例如,在通道0到7上并形成第一行段(具有行ID 0)的存储器单元的行的群组可分别经配置用于数据0到7;在通道0到7上并形成第二行段(具有行ID 1)的存储器单元的行的群组可分别经配置用于数据8到15;在通道0到7上并形成第三行段(具有行ID 2)的存储器单元的行的群组可分别经配置用于数据16到23;在通道0到7上并形成第四行段(具有行ID 3)的存储器单元的行的群组可分别经配置用于数据24到31;在通道0到7上并形成第五行段(具有行ID 4)的存储器单元的行的群组可分别经配置用于数据32到39;在通道0到7上并形成第六行段(具有行ID 5)的存储器单元的行的群组可分别经配置用于数据40到47;且在通道0到7上并形成第七行段(具有行ID 6)的存储器单元的行的群组可分别经配置用于数据48到55。
被条带化在一起的数据(例如,主机数据)可跨通道0到7顺序地分布。例如,主机数据0到6跨通道0到6(例如,0、1、2、3、4、5、6)顺序地分布,主机数据7到13跨通道7到5(例如,7、0、1、2、3、4、5)顺序地分布,主机数据14到20跨通道6到4(例如,6、7、0、1、2、3、4)顺序地分布,主机数据21到27跨通道5到3(例如,5、6、7、0、1、2、3)顺序地分布,主机数据28到34跨通道4到2(例如,4、5、6、7、0、1、2)顺序地分布,主机数据35到41跨通道3到1(例如,3、4、5、6、7、0、1)顺序地分布,主机数据42到48跨通道2到0(例如,2、3、4、5、6、7、0)顺序地分布,且主机数据49到55跨通道1到7(例如,1、2、3、4、5、6、7)顺序地分布。
此外,在通道0到7上并形成第八行段(具有行ID 7)的存储器单元的行的群组可经配置用于奇偶校验数据。例如,通道0上的奇偶校验数据与主机数据49到55一起条带化;通道1上的奇偶校验数据与主机数据42到48一起条带化;通道2上的奇偶校验数据与主机数据35到41一起条带化;通道3上的奇偶校验数据与主机数据28到34一起条带化;通道4上的奇偶校验数据与主机数据21到27一起条带化;通道5上的奇偶校验数据与主机数据14到20一起条带化;通道6上的奇偶校验数据与主机数据7到13一起条带化;且通道7上的奇偶校验数据与主机数据0到6一起条带化。
图2所展示的表224说明用于定位主机/奇偶校验数据存储位置的实例地址转译。如224中所展示,主机地址位“MA[30:28]”的一部分可指示行ID,所述行ID指示经配置用于由主机命令存取的数据的特定群组段。尽管实施例不限于此,但是可指派3个最高有效位(MSB)来指示行ID。如图2中进一步展示,主机地址位“MA[30:15]”的一部分可被转译以指示经配置用于由主机命令存取的数据的存储器单元的行(例如,在由主机地址位“MA[30:28]”指示的行段内)。
经配置用于对应奇偶校验数据的存储器单元的行可使用主机地址位“MA[27:15]”及基础行(“BaseRow”)来定位。可基于已知的行总数量以及已知的数据区域数量与已知的区域(例如,包含数据及奇偶校验区域)总数量的比率来确定指派给基础行的数值(例如,逻辑地址的数值)。在图2所说明的实例中,假设数据区域的数量为7并且区域的总数量为8,那么比率为7/8;因此,指派给基础行的数值计算为57344(例如,65536*7/8=57344)。因此,基础行是具有指派数值(例如,逻辑地址的数值)57344的行。主机地址位“MA[27:15]”指示存储器单元的行(经配置用于奇偶校验数据)相对于基础行的相对位置。因此,可基于基础行及“MA[27:15]”的组合来定位经配置用于奇偶校验数据的行的逻辑地址。
如表224中进一步展示,主机地址位的一部分(MA[2:0])可被转译以指示数据通道。如本文所使用的,术语“数据通道”是指耦合到(或者称为“对应于”)经配置用于由主机命令存取的特定主机数据的存储器装置的特定通道。此外,术语“奇偶校验通道”是指耦合到(或者称为“对应于”)经配置用于与将由主机命令存取的主机数据一起条带化的特定奇偶校验数据的存储器装置的特定通道。
如表224中所展示,可使用“MA[2:0]”、“MA[30:28]”及通道总数量(“NrOfCh”)来定位奇偶校验通道。用于定位奇偶校验通道的实例伪代码如下说明:
如实例伪代码中说明,如果由“MA[2:0]”指示的数值小于“NrOfCh-RowID-1”,那么可基于“NrOfCh-RowID-1”来定位奇偶校验通道。相反,如果由“MA[2:0]”指示的数值不小于“NrOfCh-RowID-1”,那么可基于“NrOfCh-RowID-2”来指定奇偶校验通道。
在图2的实例中,其中主机命令要存取数据5,“MA[2:0]”指示(数值)5,“MA[30:28]”指示(数值)0,并且通道总数量为8。在此实例中,由于“MA[2:0]”(例如,5)小于“NrOfCh-RowID-1”(例如,8-0-1=7),因此基于“NrOfCh-RowID-1”(例如,8-0-1=7)计算对应于奇偶校验通道的结果数值。这指示具有指派数值7的通道是奇偶校验通道(例如,耦合到经配置用于与数据5一起条带化的奇偶校验数据的存储器装置的通道)。
在另一实例中,其中主机命令要存取数据51,“MA[2:0]”指示(数值)3,“MA[30:28]”指示(数值)6,并且通道总数量为8。在此实例中,由于“MA[2:0]”(例如,3)不小于“NrOfCh-RowID-1”(例如,8-6-1=1),因此基于“NrOfCh-RowID-2”(例如,8-6-2=0)计算对应于奇偶校验通道的结果数值。这指示具有指派数值0的通道经配置用于与数据51一起条带化的奇偶校验数据。
在非限制性实例中,设备(例如,图1所说明的计算系统101)可包含分别对应于数个通道(例如,图1所说明的通道114)的数个存储器装置(例如,图1所说明的存储器装置116)。所述设备可进一步包含经由所述数个通道对应于所述数个存储器装置的控制器(例如,图1中所说明的存储器控制器100)。在此实例中,控制器可经配置成接收主机命令的第一地址位。第一地址位(图2及3所说明的“MA[30:28]”)可指示指派给经配置用于第一数据的第一存储器装置的行段的第一数值。控制器可进一步经配置成接收主机命令的第二地址位。第二地址位(图2及3中说明的“MA[2:0]”)可指示指派给所述数个通道中的第一通道(例如,图1中说明的通道114)的第二数值。控制器可进一步经配置为响应于接收到所述主机命令而比较第一数值及第二数值,以识别经配置用于与第一数据一起条带化的第二数据的对应于第二存储器装置(例如,图1中所说明的存储器装置116)的第二通道。如本文使用,术语“定位”或“识别”在本文中可互换使用且可具有相同含义,视上下文而定。控制器可进一步经配置成通过至少部分地基于第一及第二地址位存取第一存储器装置以及至少部分地基于比较的结果存取第二存储器装置来执行主机命令。
在一些实施例中,所述数个存储器装置可包含数个行段(例如,图2中所说明的分别具有行ID 0到7的行段),每一行段包括所述数个存储器装置中的每一者的存储器单元的一组相应行(例如,图3中所展示的行0到7、8192到8199及/或57344到57351)。继续这个实例,所述数个存储器装置可以第一或第二模式配置用于第一数据及第二数据。此外,主机命令可进一步包含第三地址位(图3中所说明的“MA[17:15]”),所述第三地址位指示与第一模式中的第一数据或第二数据相比,第二模式中的第一数据或第二数据由于分布已从第一通道跨所述数个通道移位了多远。控制器可经配置为至少部分地基于第二地址位及第三地址位来识别对应于第一存储器装置的通道(例如,图1中所说明的通道114)。在一些实施例中,所述数个行段中的特定行段可经配置用于奇偶校验数据。
图3是说明根据本公开的数个实施例的存储器装置(例如,图1中说明的存储器装置116)上的另一实例数据放置及主机地址位的逻辑到物理地址转译的图。表332展示主机地址位的每一部分对应的逻辑地址的类型。例如,如表332中所展示,三个主机地址位(图3中所展示的“30:28”)指示(或者称为“指派给”)行ID(图3中所展示的“行ID”),十个主机地址位(图3中所展示的“27:18”)指示其它信息(图3中所展示的“其它”),例如经配置用于奇偶校验数据的存储器单元的行相对于基础行(例如,图3中所展示的行57344)的相对位置,三个主机地址位(图3中所展示的“17:15”)指示一个模式(例如,其中存储数据的模式,且如334中所展示)中的主机/奇偶校验数据相较于另一模式(例如,其中存储数据的模式,且如338中所展示)中的主机/奇偶校验数据已移位了多远(图3中展示的“Scr”),且16个主机地址位(图3中所展示的“30:15”)指示经配置用于由主机命令存取的数据的存储器单元行(图3中所展示的“行”)。实施例不限于特定数量的通道、行、行段及/或主机命令可包含的某一数目的主机位。
如图3的334、336及338所说明,存在八个通道,编号为0到7(在每一表334、336及338的第一行中展示的“0”到“7”),且存在八个行段,行ID为0到7(在每一表334、336及338的第一列中展示的“0”到“7”)。尽管在图3的334、336及338中没有充分说明,但是分别具有行ID 0到6的前7个行段可为存储主机数据的数据区域。包含每一存储器装置的行57344到57351的群组的最后一个行段可为其中存储奇偶校验数据的奇偶校验区域。
每一行段包含多个存储器装置(例如,存储器装置116)的存储器单元的行。例如,第一行段(例如,具有行ID 0的行段)包含每一存储器装置的行0到7的群组,第二行段(例如,具有行ID 1的行段)包含每一存储器装置的行8192到8199的群组,并且第三行段(例如,奇偶校验区域的行段)包含每一存储器装置的行57344到57341的群组。为了说明的目的,存储在行及通道的每一相交点中的数据也被编号。在334所说明的实例中,数据1存储在定位于通道1上的行0中。在338所说明的实例中,数据15存储在定位于通道6上的行1中。
334中所展示的数据放置类似于图2中所展示的数据放置。例如,通道0到7上的第一行(例如,行0)可分别经配置用于数据0到7;通道0到7上的第二行(例如,行1)可分别经配置用于数据8到15;通道0到7上的第三行(例如,行2)可分别经配置用于数据16到23;通道0到7上的第四行(例如,行3)可分别经配置用于数据24到31;通道0到7上的第五行(例如,行4)可分别经配置用于数据32到39;通道0到7上的第六行(例如,行5)可分别经配置用于数据40到47;通道0到7上的第七行(例如,行6)可分别经配置用于数据48到55;且通道0到7上的第八行(例如,行7)可分别经配置用于数据56到63。
336中所展示的数据放置对应于334中所展示的数据放置,并且说明哪些数据/奇偶校验位置被一起条带化。作为实例,具有条带ID 0的主机数据0到6及奇偶校验数据0被一起条带化,并且具有条带ID 8192的主机数据7及65536到65541以及奇偶校验数据8192被一起条带化。
存储器装置经配置用于338中展示的数据放置中的主机/奇偶校验数据的模式不同于存储器装置经配置用于334中展示的数据放置中的主机/奇偶校验数据的模式。存储器装置以如338中所展示的“加扰”方式经配置用于主机/奇偶校验数据。
在一些实施例中,主机/奇偶校验数据可跨存储器装置(例如,跨通道)以递增模式跨通道0到7移位。在一个实例中,放置在334中的通道7上(例如,存储在耦合到所述通道7的存储器装置中)的数据15被移位1以放置在通道6上,放置在334中的通道7上的数据23被移位2(例如,从1递增1)以放置在通道5上,放置在334中的通道7上的数据31被移位3(例如,从2递增1)以放置在通道4上(例如,从2递增1),放置在334中的通道7上的数据39被移位4(例如,从3递增1)以放置在通道3上,放置在334中的通道7上的数据47被移位5(例如,从4递增1)以放置在通道2上,放置在334中的通道7上的数据55被移位6(例如,从5递增1)以放置在通道1上,并且放置在334中的通道7上的数据63被移位7(例如,从6递增1)以放置在通道0上。
在另一实例中,放置在334中的通道6上的数据65550被移位1以放置在通道5上,放置在334中的通道6上的数据65558被移位2(例如,从1递增1)以放置在通道4上,放置在334中的通道3上的数据65566被移位3(例如,从2递增1)以放置在通道3上,放置在334中的通道6上的数据65574被移位4(例如,从3递增1)以放置在通道2上,放置在334中的通道6上的数据65582被移位5(例如,从4递增1)以放置在通道1上,放置在334中的通道6上的数据65590被移位6(例如,从5递增1)以放置在通道0上,且放置在334中的通道6上的数据65598被移位7(例如,从6递增1)以放置回通道7中。
图3中展示的表340说明当存储器装置根据338中展示的模式被配置为用于主机/奇偶校验数据时用于定位存储主机/奇偶校验数据的位置的实例地址转译。例如,主机地址位“MA[30:28]”的一部分可被转译以指示行ID,所述行ID指示经配置用于由主机命令存取的数据的特定群组段。尽管实施例不限于此,但是可指派3个最高有效位(MSB)来指示行ID。此外,主机地址位“MA[30:15]”的一部分可被转译以指示经配置用于由主机命令存取的数据的存储器单元的行(例如,在由“MA[30:28]”指示的行段内)。
类似地,可使用“MA[27:15]”及基础行(“BaseRow”)来定位经配置用于对应奇偶校验数据的存储器单元的行。可基于已知的行总数量以及已知的数据区域数量与已知的区域(例如,包含数据及奇偶校验区域)总数量的比率来确定指派给基础行的数值(例如,逻辑地址的数值)。在图2所说明的实例中,假设数据区域的数量为7并且区域的总数量为8,那么比率为7/8;因此,指派给基础行的数值经计算为57344(例如,65536*7/8=57344)。因此,基础行是具有指派数值57344的行。主机地址位“MA[27:15]”指示存储器单元的行(经配置用于奇偶校验数据)相对于基础行的相对位置。因此,可基于基础行及“MA[27:15]”的组合来定位经配置用于奇偶校验数据的行的逻辑地址。
用于确定基础奇偶校验通道的实例伪代码如下说明:
与224中所说明的实例(其中使用“MA[2:0]”来定位奇偶校验通道)相反,在340中所说明的实例中,使用“MA[2:0]”及“MA[17:15]”的组合来定位奇偶校验通道。在此实例中,“MA[2:0]”可用于定位基础奇偶校验通道,且“MA[17:15]”可被转译以指示其已从基础奇偶校验通道移位了多远。基础奇偶校验通道可以结合224描述的类似方式定位。在一个实例中,如果由“MA[2:0]”指示的数值小于“NrOfCh-RowID-1”,那么可基于“NrOfCh-RowID-1”来定位基础奇偶校验通道。在另一实例中,如果由“MA[2:0]”指示的数值不小于“NrOfCh-RowID-1”,那么可基于“NrOfCh-RowID-2”来指定基础通道。
例如,如338所展示,经配置用于放置在334中的通道7上的数据15的行被放置在338中的通道6上。在此实例中,地址位“MA[2:0]”被转译以指示通道7作为基础数据通道,并且地址位“MA[17:15]”被转译以指示跨通道的移位量,例如“1”。因此,“MA[2:0]”及“MA[17:15]”的组合指示(数据15已从通道7跨存储器装置及/或通道移位1,并且)数据15被放置在通道6上。
可基于奇偶校验通道(图3所展示的“DParityCh”)从基础奇偶校验通道移位了多远来指示所述奇偶校验通道。基于地址位“MA[2:0]”以结合224描述的类似方式计算基础奇偶校验通道。例如,由“MA[2:0]”指示的数值(例如7)不小于“NrOfCh-RowID-1”(例如,8-0-1=7);因此,基础奇偶校验通道是具有等于“NrOfCh-RowID-2”(例如,8-0-2=6)的指派数值的通道,其指示通道6是基础奇偶校验通道。这进一步指示奇偶校验通道是已从基础奇偶校验通道(例如,通道6)移位1(如由“MA[17:15]”指示)的通道,这指示通道5是奇偶校验通道。这与338中所说明的状况相匹配,因为与数据15一起条带化的奇偶校验数据8193在通道5上,如图3所展示。
在非限制性实例中,设备(例如,图1所说明的计算系统101)可包含分别对应于数个通道(例如,图1所说明的通道114)的数个存储器装置(例如,图1所说明的存储器装置116)。所述数个存储器装置可包含数个行段(例如,图2中所展示的分别具有行ID 0到7的行段),每一行段包含所述数个存储器装置中的每一存储器装置的存储器单元的一组相应行(例如,图3中所展示的行0到7、8192到8199及/或57344到57351)。所述设备进一步包含经由所述数个通道耦合到所述数个存储器装置的控制器(例如,图1中所说明的存储器控制器100)。控制器可经配置为接收主机命令。主机命令可包含第一地址位(图2及3所说明的“MA[30:28]”),其指示指派给经配置用于主机数据的数个行段中的行段的第一数值。主机命令可进一步包含第二地址位(图2及3所说明的“MA[2:0]”),其指示指派给与经配置用于主机数据的第一存储器装置相关联的基础通道的第二数值。为存取主机数据及与主机数据一起条带化的奇偶校验数据,所述控制器可进一步经配置以比较第一数值及第二数值以确定所述第二数值是否小于特定量与第一数值之间的差。为存取主机数据及与主机数据一起条带化的奇偶校验数据,另一控制器可经配置以至少部分地基于第一及第二地址位来识别经配置用于主机数据的第一存储器装置的存储器单元的行,并且至少部分地基于所述比较来识别经配置用于奇偶校验数据的第二存储器装置及存储器单元的行。
在一些实施例中,所述数个存储器装置可经配置用于第一或第二模式中的条带的主机数据及相应奇偶校验数据。此外,主机命令可进一步包含第三地址位,其指示与第一模式中的主机数据或奇偶校验数据相比,第二模式中的主机数据或奇偶校验数据已从基础通道跨所述数个通道移位了多远。在一个实例中,当所述数个装置以第一模式配置时,第三存储器装置经配置用于对应于一组相应条带的奇偶校验数据。在另一实例中,当所述数个存储器装置经配置用于第二模式中对应于所述一组相应条带的奇偶校验数据时,对应于所述一组相应条带的奇偶校验数据跨所述数个存储器装置分布。在一些实施例中,控制器经配置成至少部分地基于第二地址位及第三地址位来识别对应于第一存储器装置或第二存储器装置的通道。
在一些实施例中,特定量可比所述数个通道的数量(例如,结合图2及3所说明的“NrOfCh”)小一(“1”)。在此实例中,控制器可经配置成响应于第二数值被确定为小于差,确定具有等于差的通道号的通道是基础奇偶校验通道。继续此实例,控制器可进一步经配置成响应于第二数值被确定为不小于差,确定具有比差小1的通道号的通道是基础奇偶校验通道。控制器可经配置为基于基础奇偶校验通道的通道号及第三地址位来识别对应于第二存储器装置的通道。
在一些实施例中,控制器可经配置成至少部分地基于第三地址位及特定行段的存储器单元的基础行的地址来识别经配置用于奇偶校验数据的存储器单元的行。至少部分地基于经配置用于奇偶校验数据的行段的数量与跨所述数个存储器装置的行段的总数量的比率以及跨所述数个存储器装置的存储器单元的行的总数目来定位存储器单元的基础行。
图4是根据本公开的数个实施例的用于数据保护及恢复的存储器地址转译的方法的流程图450。方法450可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法450由图1说明的存储器控制器100执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明的实施例应仅被理解为实例,并且所说明的过程可以不同顺序执行,且一些过程可并行执行。此外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在452,(在存储器控制器100处,从图1中所说明的主机103)接收包含第一地址位(图2及3中所说明的“MA[30:28]”)及第二地址位(图2及3中所说明的“MA[2:0]”)的主机命令。第一地址位指示指派给经配置用于第一数据的第一存储器装置(例如,图1中所说明的存储器装置116)的行段的第一数值(例如,与图2及3中所说明的“行ID”相关联的数值)。第二地址位指示指派给对应于第一存储器装置的第一通道(例如,图1所说明的通道114)的第二数值。
在454,可至少部分地基于比较第一及第二数值来识别第二通道。第二通道对应于经配置用于与第一数据一起条带化的第二数据的第二存储器装置(例如,图1中所说明的存储器装置116)。在一些实施例中,可在不对由主机命令的任何地址位指示的数值执行除法运算的情况下转译主机命令的地址位。
在一些实施例中,可通过确定第二数值是否小于第三数值来比较第一数值及第二数值。第三数值(例如,与图2中所说明的“DataCh”或图3中所说明的“MA[2:0]”相关联的数值)比所述数个通道的数量(例如,图2及3中所说明的“NrOfCh”)小第一数值与一(“1”)的和。在此实例中,如果第二数值被确定为小于第三数值,那么可至少部分地基于指派给第二通道的第三数值来定位第二通道。如果第二数值被确定为不小于第三数值,那么可至少部分地基于指派给第二通道并且比第三数值小1的第四数值(例如,与结合图2及3中的“NrOfCh-RowID-1”说明的“DParityCh”的“ParityCh”相关联的数值)来定位第二通道。
图5是根据本公开的数个实施例的用于数据保护及恢复的存储器地址转译的方法的流程图560。方法560可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法560由图1说明的存储器控制器100执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明的实施例应仅被理解为实例,并且所说明的过程可以不同顺序执行,且一些过程可并行执行。此外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在562,可(在存储器控制器100处,从图1所说明的主机103)接收主机命令。主机命令可包含第一地址位(图2及3中说明的“MA[30:28]”)及第二地址位(图2及3中说明的“MA[2:0]”),所述第一地址位指示指派给经配置用于第一数据的行段的第一数值(例如,与图2及3中所说明的“行ID”相关联的数值),所述第二地址位指示指派给与经配置用于第一数据的第一存储器装置(例如,图1中所说明的存储器装置116)相关联的基础通道(例如,图1中所说明的通道114)的第二数值。
在564,可比较第一及第二数值以确定第二数值是否小于特定量(例如,对应于图2及图3中所说明的“NrOfCh”-“1”的数值)与第一数值之间的差。在566,可至少部分地基于第一及第二地址位来识别经配置用于第一数据的第一存储器装置(例如,图1中所说明的存储器装置116)及第一存储器装置的第一位置。在568,可至少部分地基于所述比较来识别经配置用于与第一数据一起条带化的奇偶校验数据的第二存储器装置(例如,图1所说明的存储器装置116)及第二存储器装置的第二位置。
在一些实施例中,如果第二数值被确定为小于差,那么可至少部分地基于指派给对应于第二存储器装置的通道的第三数值来识别第二位置。在此实例中,第三数值(例如,对应于图2及3中的“NrOfCh-RowID-1”的数值)等于所述差。
在一些实施例中,如果第二数值被确定为不小于所述差,那么可至少部分地基于指派给对应于第二存储器装置的通道的第三数值来识别第二位置。在此实例中,第三数值(例如,对应于图2及3中的“NrOfCh-RowID-2”的数值)比所述差小1。
在一些实施例中,第一存储器装置或第二存储器装置可为分别对应于数个通道的数个存储器装置中的一者。主机命令可进一步包含第三地址位(图3所说明的“MA[17:15]”),其指示第三数值,所述第三数值指示第一数据或第二数据已从基础通道跨所述数个通道移位了多远。在此实例中,方法560可包含通过至少部分基于比较及第三地址位识别对应于第二存储器装置的通道来识别第二存储器装置。在一些实施例中,可通过至少部分基于第二及第三地址位识别对应于第一存储器装置的通道来识别第一存储器装置。
尽管本文中已说明及描述特定实施例,但所属领域的技术人员应了解,经计算以实现相同结果的布置可替代所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应理解,以说明性方式且非限制性方式进行上文描述。所属领域的技术人员在检阅上文描述之后应明白上文实施例的组合及本文未明确描述的其它实施例。本公开的一或多个实施例的范围包含其中使用上文结构及过程的其它应用。因此,应参考所附权利要求书以及此类权利要求有权获得的等效物完整范围确定本公开的一或多个实施例的范围。
在前述具体实施方式中,出于简化本公开的目的,一些特征被一起分组在单个实施例中。本公开的此方法不应解释为反映本公开的所公开实施例必须使用多于在每一权利要求中明确叙述的特征的意图。而是,如所附权利要求书反映,发明主题存在于少于单个所公开实施例的全部特征。因此,所附权利要求书特此并入到具体实施方式中,其中每一权利要求独立地作为单独实施例。
Claims (20)
1.一种用于数据保护及恢复的存储器地址转译的方法,其包括:
接收主机命令,所述主机命令包含:
第一地址位,其指示指派给经配置用于第一数据的第一存储器装置(116-1、…、116-N)的行段的第一数值;及
第二地址位,其指示指派给数个通道(114-1、…、114-N)中的第一通道并对应于所述第一存储器装置的第二数值;及
至少部分地基于比较所述第一数值及第二数值来识别数个通道(114-1、…、114-N)中且对应于经配置用于与所述第一数据一起条带化的第二数据的第二存储器装置(116-1、…、116-N)的第二通道。
2.根据权利要求1所述的方法,其中比较所述第一数值及所述第二数值进一步包括确定所述第二数值是否小于第三数值,其中所述第三数值比所述数个通道的数量小所述第一数值与1的和。
3.根据权利要求2所述的方法,其进一步包括响应于所述第二数值被确定为小于所述第三数值,至少部分地基于指派给所述第二通道的所述第三数值来定位所述第二通道。
4.根据权利要求2所述的方法,其进一步包括响应于所述第二数值被确定为不小于所述第三数值,至少部分地基于指派给所述第二通道且比所述第三数值小1的第四数值来定位所述第二通道。
5.一种用于数据保护及恢复的存储器地址转译的设备,其包括:
数个存储器装置(116-1、…、116-N),其分别对应于数个通道(114-1、…、114-N);及
控制器(100),其经由所述数个通道耦合到所述数个存储器装置,所述控制器经配置成:
接收主机命令的第一地址位,所述第一地址位指示指派给经配置用于第一数据的第一存储器装置(116-1、…、116-N)的行段的第一数值;
接收所述主机命令的第二地址位,所述第二地址位指示指派给所述数个通道中的第一通道(114-1、…、114-N)的第二数值;
响应于接收到所述主机命令,比较所述第一数值及所述第二数值,以识别对应于经配置用于与所述第一数据一起条带化的第二数据的第二存储器装置(116-1、…、116-N)的第二通道(114-1、…、114-N);及
存取至少部分地基于所述第一地址位及所述第二地址位所识别的所述第一存储器装置;及
存取至少部分地基于所述比较的结果所识别的所述第二存储器装置。
6.根据权利要求5所述的设备,其中:
所述数个存储器装置以第一或第二模式配置用于所述第一数据及所述第二数据;
所述主机命令进一步包括第三地址位,其指示与所述第一模式中的所述第一数据或所述第二数据相比,所述第二模式中的所述第一数据或所述第二数据由于分布已从所述第一通道跨所述数个通道移位了多远;及
所述控制器经配置以至少部分地基于所述第二地址位及所述第三地址位来识别耦合到所述第一存储器装置的通道。
7.一种用于数据保护及恢复的存储器地址转译的方法,其包括:
接收主机命令,所述主机命令包含:
第一地址位,其指示指派给经配置用于第一数据的行段的第一数值;及
第二地址位,其指示指派给与经配置用于所述第一数据的第一存储器装置相关联的基础通道的第二数值;及
比较所述第一数值及所述第二数值以确定所述第二数值是否小于特定量与所述第一数值之间的差;
至少部分地基于所述第一地址位及所述第二地址位来识别经配置用于所述第一数据的第一存储器装置(116-1、…、116-N)及所述第一存储器装置的第一位置;及
至少部分地基于所述比较来识别经配置用于与所述第一数据一起条带化的奇偶校验数据的第二存储器装置(116-1、…、116-N)及所述第二存储器装置的第二位置。
8.根据权利要求7所述的方法,其进一步包括如果所述第二数值被确定为小于所述差,那么至少部分地基于指派给耦合到所述第二存储器装置的通道的第三数值来识别所述第二位置,其中所述第三数值等于所述差。
9.根据权利要求7所述的方法,其进一步包括如果所述第二数值被确定为不小于所述差,那么至少部分地基于指派给耦合到所述第二存储器装置的通道的第三数值来识别所述第二位置,其中所述第三数值比所述差小1。
10.根据权利要求7到9中任一权利要求所述的方法,其中:
所述第一存储器装置或所述第二存储器装置是分别耦合到数个通道(114-1、…、114-N)的数个存储器装置(116-1、…、116-N)中的一者;且
所述主机命令进一步包含第三地址位,其指示第三数值,所述第三数值指示所述第一数据或所述第二数据已从所述基础通道跨所述数个通道移位了多远;
其中所述方法进一步包括通过至少部分地基于所述比较及第三地址位识别耦合到所述第二存储器装置的通道来识别所述第二存储器装置。
11.一种用于数据保护及恢复的存储器地址转译的设备,其包括:
数个存储器装置(116-1、…、116-N),其分别对应于数个通道(114-1、…、114-N),其中所述数个存储器装置包括数个行段,每一行段包括所述数个存储器装置中的每一存储器装置的存储器单元的一组相应行;及
控制器(100),其经由所述数个通道耦合到所述数个存储器装置,所述控制器经配置成:
接收主机命令,所述主机命令包含:
第一地址位,其指示指派给经配置用于主机数据的所述数个行段中的行段的第一数值;及
第二地址位,其指示指派给与经配置用于所述主机数据的第一存储器装置(116-1、…、116-N)相关联的基础通道的第二数值;及
存取所述主机数据及与所述主机数据一起条带化的奇偶校验数据:
比较所述第一数值及所述第二数值以确定所述第二数值是否小于特定量与所述第一数值之间的差;
至少部分地基于所述第一地址位及所述第二地址位来识别经配置用于所述主机数据的所述第一存储器装置的存储器单元的行;及
至少部分地基于所述比较来识别经配置用于所述奇偶校验数据的第二存储器装置(116-1、…、116-N)及存储器单元的行。
12.根据权利要求11所述的设备,其中:
所述数个存储器装置以第一或第二模式配置用于条带的主机数据及相应奇偶校验数据;及
所述主机命令进一步包含第三地址位,其指示与所述第一模式中的所述主机数据或所述奇偶校验数据相比,所述第二模式中的所述主机数据或所述奇偶校验数据已从所述基础通道跨所述数个通道移位了多远。
13.根据权利要求12所述的设备,其中当所述数个装置以所述第一模式配置时,第三存储器装置(116-1、…、116-N)经配置用于对应于一组相应条带的所述奇偶校验数据。
14.根据权利要求13所述的设备,其中当所述数个存储器装置经配置用于所述第二模式中对应于所述一组相应条带的所述奇偶校验数据时,对应于所述一组相应条带的所述奇偶校验数据跨所述数个存储器装置分布。
15.根据权利要求12所述的设备,其中所述控制器经配置成至少部分地基于所述第二地址位及所述第三地址位来识别耦合到所述第一存储器装置或所述第二存储器装置的通道(114-1、…、114-N)。
16.根据权利要求12所述的设备,其中所述特定量比所述数个通道的数量小1。
17.根据权利要求16所述的设备,其中所述控制器经配置以:
响应于所述第二数值被确定为小于所述差,确定具有等于对应于所述差的数值的通道号的通道是基础奇偶校验通道;及
响应于所述第二数值被确定为不小于所述差,确定具有比所述差小1的通道号的通道是基础奇偶校验通道。
18.根据权利要求17所述的设备,其中所述控制器经配置成基于所述基础奇偶校验通道的所述通道号及所述第三地址位来识别耦合到所述第二存储器装置的通道(116-1、…、116-N)。
19.根据权利要求12所述的设备,其中所述控制器经配置成至少部分地基于所述第三地址位及所述特定行段的存储器单元的基础行的地址来识别经配置用于所述奇偶校验数据的存储器单元的行。
20.根据权利要求19所述的设备,其中存储器单元的所述基础行至少部分地基于以下来定位:
经配置用于奇偶校验数据的行段的数量与跨所述数个存储器装置的行段的总数量的比率;及
跨所述数个存储器装置的存储器单元的行的总数目。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263348258P | 2022-06-02 | 2022-06-02 | |
US63/348,258 | 2022-06-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117170575A true CN117170575A (zh) | 2023-12-05 |
Family
ID=88934282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310611784.0A Pending CN117170575A (zh) | 2022-06-02 | 2023-05-29 | 用于数据保护及恢复的存储器地址转译 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230393939A1 (zh) |
CN (1) | CN117170575A (zh) |
-
2023
- 2023-05-29 CN CN202310611784.0A patent/CN117170575A/zh active Pending
- 2023-06-01 US US18/204,821 patent/US20230393939A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230393939A1 (en) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10372570B2 (en) | Storage device, test system for testing the same, and method thereof | |
CN101369240B (zh) | 用于在信息处理系统中管理存储错误的系统和方法 | |
US11409601B1 (en) | Memory device protection | |
US11687273B2 (en) | Memory controller for managing data and error information | |
US11714704B2 (en) | Modified checksum using a poison data pattern | |
US20240004760A1 (en) | Apparatus for redundant array of independent disks | |
US20230280940A1 (en) | Memory controller for managing raid information | |
US9009548B2 (en) | Memory testing of three dimensional (3D) stacked memory | |
US20240004791A1 (en) | Controller cache architeture | |
US20240004759A1 (en) | Cache line data protection | |
US12032443B2 (en) | Shadow DRAM with CRC+RAID architecture, system and method for high RAS feature in a CXL drive | |
US20230289270A1 (en) | Host controlled electronic device testing | |
US20230214323A1 (en) | Selectable cache writing policies for cache management | |
TWI697908B (zh) | 使用階層式解碼器之誤差校正 | |
CN116486891A (zh) | 用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 | |
US20230393939A1 (en) | Memory address translation for data protection and recovery | |
US20240086090A1 (en) | Memory channel disablement | |
US11934270B2 (en) | Write command execution for data protection and recovery schemes | |
US12079509B2 (en) | Controllers and methods for accessing memory devices via multiple modes | |
US20240028249A1 (en) | Controllers and methods for accessing memory devices via multiple modes | |
US20240004799A1 (en) | Memory controller architecture | |
US20240087664A1 (en) | Built-in self-test burst patterns based on architecture of memory | |
US20240192892A1 (en) | Read replacement via data reconstruction based on access patterns | |
US20240087663A1 (en) | Built-in self-test circuitry | |
EP4428671A1 (en) | Storage class memory, data processing method and processor system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |