CN117331489A - 用于提供可靠性、可用性及可维护性的存储器设备 - Google Patents
用于提供可靠性、可用性及可维护性的存储器设备 Download PDFInfo
- Publication number
- CN117331489A CN117331489A CN202310611812.9A CN202310611812A CN117331489A CN 117331489 A CN117331489 A CN 117331489A CN 202310611812 A CN202310611812 A CN 202310611812A CN 117331489 A CN117331489 A CN 117331489A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- udb
- udbs
- memory cells
- 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
- 230000015654 memory Effects 0.000 claims abstract description 435
- 238000012546 transfer Methods 0.000 claims abstract description 41
- 238000001514 detection method Methods 0.000 claims description 83
- 238000012937 correction Methods 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 29
- 230000004044 response Effects 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000005457 optimization Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 11
- 235000019580 granularity Nutrition 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 239000000470 constituent Substances 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 239000003989 dielectric material Substances 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 231100000572 poisoning Toxicity 0.000 description 2
- 230000000607 poisoning effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 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
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000008439 repair process 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
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- 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/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
-
- 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/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0629—Configuration or reconfiguration 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及用于提供可靠性、可用性及可维护性的存储器设备。通道宽度可取决于形成通道的存储器单元(例如存储器裸片)的数量以及所述存储器单元的大小。存储器系统可用经配置以依可为通道宽度提供更多各种选项的较小粒度速率交换(例如,来回传送)数据的存储器单元操作,这可进一步允许在使数据来回传送于所述存储器单元时结合其带宽及延时来微调优化所述存储器系统。实施有此类存储器单元的所述存储器系统仍可提供由例如可信执行引擎安全协议TSP的标准化要求及/或协议所需的一定程度的数据完整性及/或数据真实性。
Description
技术领域
本公开大体上涉及半导体存储器及方法,且更特定来说,涉及与用于提供可靠性、可用性及可维护性的存储器设备相关的设备、系统及方法。
背景技术
存储器装置通常被提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,其包含易失性及非易失性存储器。易失性存储器需要电力来维持其数据(例如主机数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)及晶闸管随机存取存储器(TRAM)等。非易失性存储器可通过在不供电时保持所存储的数据来提供持久数据且可包含NAND快闪存储器、NOR快闪存储器、铁电随机存取存储器(FeRAM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻随机存取存储器(RRAM)及磁阻随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STT RAM)等。
存储器装置可耦合到主机(例如主机计算装置)以存储数据、命令及/或指令以在计算机或电子系统操作时由主机使用。举例来说,数据、命令及/或指令可在计算或其它电子系统的操作期间在主机与存储器装置之间传送。控制器可用于管理主机与存储器装置之间的数据、命令及/或指令传送。
发明内容
本公开的一方面提供一种用于提供可靠性、可用性及可维护性的设备,其中所述设备包括:第一数目个存储器单元,其经配置以存储用户数据块(UDB),所述第一数目个存储器单元中的每一存储器单元包括:相应第一部分,其包括具有第一类型的数个数据引脚且经配置以存储所述UDB的相应部分;及相应第二部分,其包括具有第二类型的数个数据引脚且经配置以存储辅助数据,其中所述辅助数据对应于所述UDB且包括至少认证数据以保护所述UDB的数据完整性及真实性;及第二数目个存储器单元,其经配置以存储对应于所述UDB的奇偶校验数据。
本公开的另一方面提供一种用于提供可靠性、可用性及可维护性的设备,其中所述设备包括:第一数目个存储器单元,其经配置以存储多个用户数据块(UDB),所述第一数目个存储器单元中的每一存储器单元进一步包括:相应第一部分,其包括数个数据引脚且经配置以存储所述UDB的相应部分;及相应第二部分,其可与所述相应第一部分同时存取,所述相应第二部分包括数个数据掩码反转(DMI)引脚且经配置以存储辅助数据,其中所述辅助数据对应于所述UDB且包括至少认证数据以保护所述UDB的数据完整性及真实性;及第二数目个存储器单元,其经配置以存储对应于所述UDB的奇偶校验数据。
本公开的另一方面提供一种提供可靠性、可用性及可维护性的方法,其中所述方法包括:经由一或多个数据引脚且以每节拍四个位的速率从第一数目个存储器单元的相应第一部分传送数个用户数据块(UDB);在从所述第一数目个存储器单元传送所述数个UDB的同时,经由一或多个数据掩码反转(DMI)引脚以每节拍四个位的速率从所述第一数目个存储器单元的相应第二部分传送对应于所述数个UDB的辅助数据;及在从所述第一数目个存储器单元传送所述数个UDB的同时,以每节拍四个位的速率从第二数目个存储器单元传送奇偶校验数据块(PDB)。
附图说明
图1是根据本公开的数个实施例的包含存储器控制器的计算系统的功能框图。
图2A是根据本公开的数个实施例的具有低功耗芯片猎杀(LPCK)编码器/解码器的存储器控制器的功能框图。
图2B是根据本公开的数个实施例的具有LPCK编码器/解码器的存储器控制器的另一功能框图。
图3A是根据本公开的数个实施例的具有低功耗芯片猎杀(LPCK)编码器/解码器的存储器控制器的功能框图。
图3B是根据本公开的数个实施例的具有独立磁盘冗余阵列(RAID)编码器/解码器的存储器控制器的功能框图。
图4A是根据本公开的数个实施例的对应于一或多个数据保护(LPCK)通道的存储器裸片的框图。
图4B是根据本公开的数个实施例的对应于一或多个数据保护(LPCK)通道的存储器裸片的另一框图。
图4C到4D示意性说明根据本公开的数个实施例的用户数据块(UDB)、LPCK奇偶校验数据及/或辅助数据可如何散布于存储器裸片之间的各种实例。
图5A是根据本公开的数个实施例的对应于一或多个数据保护(RAID)通道的存储器裸片的框图。
图5B示意性说明根据本公开的数个实施例的用户数据块(UDB)、RAID奇偶校验数据及/或辅助数据可如何散布于存储器裸片之间的各种实例。
图6是根据本公开的数个实施例的用于存储器系统操作的存储器单元的方法的流程图。
具体实施方式
描述与为存储器系统提供可靠性、可用性及可维护性相关的系统、设备及方法。本公开的各种实施例包含具有存储器单元(例如存储器裸片)的存储器系统,存储器单元操作以符合协议的各种要求,例如计算快速链接(CXL)(例如基于外围组件互连快速(PCIe)6.0构建的CXL 3.0)。存储器架构的一个方面利用各自经配置以每节拍提供四个位(称为“x4模式”)的存储器裸片。存储器架构的另一方面利用不同类型的引脚来交换(来回传送)非用户数据(替代地称为“辅助数据”)。经组合的存储器架构的这些方面可允许存储器系统操作以满足CXL的各种要求及/或目标,这需要存储器系统以高可靠性(通过提供芯片猎杀方案)、高带宽、低延时、管理辅助数据(例如元数据)的能力及/或支持高级安全特征(例如涉及消息认证码(MAC)及/或高级加密标准(AES)的安全特征)的能力进行操作。如本文中使用,芯片猎杀方案保护存储器系统,即使构成芯片受损;借此避免芯片中的一者成为存储器系统的单点失效(SPOF)的情形。
与具有更大粒度的其它模式(例如x8或x16模式)相比,通过在x4模式下使用存储器裸片,存储器系统的操作可微调,这提供x8或x16模式无法提供的操作的更好优化。举例来说,RAS(可靠性、可用性及可维护性)保护(例如芯片猎杀方案)可通过存取构成各自在特定模式下操作的可配置数目个存储器裸片的通道来提供。在一些实施例中,可用两个20位宽通道(其中每一通道包含x4模式下的五个存储器裸片)提供RAS保护,这可在存储器裸片在x8或x16模式下能够提供的16位或24位宽通道上提供存储器系统的更好优化(在系统带宽及/或延时方面)。
如本文中使用,单数形式“一”及“所述”包含单数及复数个指涉物,除非内容另外明确指示。此外,单词“可”贯穿本申请案用于意指准许(即,有可能、能够)而非强制(即,必须)。术语“包含”及其派生词意味着“包含(但不限于)”。术语“耦合”意味着直接或间接连接。应理解,数据可通过电子信号(例如电流、电压等)传输、接收或交换,且短语“指示[数据]的信号”表示在物理媒体中传输、接收或交换的数据本身。
本文中的图遵循编号惯例,其中首位或前几位数字对应于图号且剩余数字识别图式中的元件或组件。不同图之间的类似元件或组件可通过使用类似数字来识别。举例来说,110可指代图1中的元件“10”,且类似元件在图2中可称为210。图内的类似元件可用连字符及额外数字或字母指代。见例如图1中的元件102-1、102-2、102-M。此类类似元件可被统称,没有连字符及额外数字或字母。举例来说,元件102-1、102-2、102-M可统称为元件102。如本文中使用,尤其关于图中的参考数字的标示符“M”及“N”指示可包含如此标示的特定特征的数目。应了解,本文中各个实施例中展示的元件可经添加、交换及/或消除以便提供本公开的数个额外实施例。另外,应了解,图中提供的元件的比例及相对尺度旨在说明本发明的某些实施例且不应被视为意在限制。
图1是根据本公开的数个实施例的包含存储器控制器100的计算系统101的功能框图。存储器控制器100可包含前端部分104、中央控制器部分110及后端部分119。计算系统101可包含耦合到存储器控制器100的主机103及存储器装置126-1、…、126-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可为符合计算快速链接(CXL)的存储器控制器。主机接口(例如前端部分104)可用CXL协议管理且经由经配置用于外围组件互连快速(PCIe)协议的接口耦合到主机103。CXL是经设计以加速下一代数据中心性能的高速中央处理单元(CPU)到装置及CPU到存储器互连件。CXL技术维持附接装置上的CPU存储器空间与存储器之间的存储器一致性,这允许资源共享以提高性能、降低软件栈复杂性及降低整体系统成本。CXL经设计为行业开放标准接口以进行高速通信,因为加速器越来越多用于补充CPU以支持新兴应用,例如人工智能及机器学习。CXL技术构建于PCIe基础设施上,从而利用PCIe物理及电接口在区域中提供高级协议,例如输入/输出(I/O)协议、存储器协议(例如,最初允许主机与加速器共享存储器)及一致性接口。作为实例,前端104的接口可为耦合到I/O通路102的PCIe 5.0或6.0接口。在一些实施例中,存储器控制器100可根据CXL协议经由PCIe 5.0或6.0接口206接收涉及存储器装置126的存取请求。
中央控制器部分110可包含及/或称为数据管理电路系统。中央控制器部分110可响应于从主机103接收请求而控制存储器操作的执行。存储器操作的实例包含从存储器装置126读取数据的读取操作或将数据写入到存储器装置126的写入操作。
中央控制器部分110可基于从主机103接收的数据产生错误检测信息及/或错误校正信息。中央控制器部分110可对从主机103或从存储器装置126接收的数据执行错误检测操作及/或错误校正操作。错误检测操作的实例是循环冗余校验(CRC)操作。CRC可称为代数错误检测。CRC可包含使用由使用要保护的数据进行代数计算导致的校验值。CRC可通过比较与数据相关联存储的校验值与基于数据计算的校验值来检测数据的意外变化。
可执行错误校正操作以在各种粒度下提供错误校正能力。在一个实例中,错误校正操作在执行(例如,在图2及3中分别说明的ECC解码器216-2及/或316-2处)时可提供校正特定数量的(例如,位)错误的错误校正能力,同时进一步提供检测超过特定数量的错误(且不校正错误)的错误检测能力。虽然此错误校正能力无法保护存储器装置226免于完全失效,但另一错误校正操作(例如芯片猎杀操作)可提供错误校正能力以恢复存储器装置126,尽管其完全失效。
芯片猎杀操作保护存储器系统,即使构成芯片(例如存储器装置126)受损;借此避免芯片中的一者成为存储器系统的单点失效(SPOF)的情形。通常,芯片猎杀能力通过包含“独立磁盘冗余阵列(RAID)”方案、低功耗芯片猎杀(LPCK)方案等的各种错误校正码(ECC)方案提供,这允许通过读取存储器系统的所有构成芯片来进行受损芯片的数据恢复。
芯片猎杀可涉及针对受损芯片的数据恢复特别设计的奇偶校验数据(例如RAID奇偶校验或LPCK奇偶校验)。共享相同奇偶校验数据的用户数据可称为被分组在一起。
后端部分119可包含媒体控制器及物理(PHY)层,PHY层将存储器控制器100耦合到存储器装置126。如本文中使用,术语“PHY层”通常指代计算系统的开放系统互连(OSI)模型中的物理层。PHY层可为OSI模型的第一(例如,最低)层且可用于经由物理数据传输媒体传送数据。在一些实施例中,物理数据传输媒体可包含通道125-1、…、125-N。通道125可包含各种类型的数据总线,例如二十引脚数据总线(例如数据输入/输出(DQ)总线)及五引脚数据掩码反转(DMI)总线以及其它可能总线。
存储器装置126可为各种/不同类型的存储器装置。例如,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM及快闪存储器以及其它。在其中存储器装置126包含持久或非易失性存储器的实施例中,存储器装置126可为快闪存储器装置,例如NAND或NOR快闪存储器装置。然而,实施例不限于此,且存储器装置126可包含其它非易失性存储器装置,例如非易失性随机存取存储器装置(例如非易失性RAM(NVRAM)、ReRAM、铁电RAM(FeRAM)、MRAM、PCRAM)、“新兴”存储器装置(例如包含可展现迟滞特性的铁电电容器的铁电RAM装置)、具有电阻、相变或类似存储器胞元等的存储器装置或其组合。
作为实例,FeRAM装置可包含铁电电容器且可基于施加到其的电压或电荷量执行位存储。在此类实例中,相对小及相对大电压允许铁电RAM装置展现类似于正常电介质材料(例如具有相对高介电常数的电介质材料)的特性,但在此相对小与大电压之间的不同电压下,铁电RAM装置可展现产生非线性电介质行为的极化反转。
在另一实例中,存储器装置126可为根据例如低功耗双倍数据速率(LPDDRx)的协议操作的动态随机存取存储器(DRAM),其在本文中可称为LPDDRx DRAM装置、LPDDRx存储器等。LPDDRx中的“x”指代几代协议中的任何者(例如LPDDR5)。在至少一个实施例中,存储器装置中的至少一者126-1操作为启用低功耗特征的LPDDRx DRAM装置且存储器装置中的至少一者126-N操作为停用至少一个低功耗特征的LPDDRx DRAM装置。在一些实施例中,尽管存储器装置126是LPDDRx存储器装置,但存储器装置126不包含经配置以为存储器装置126提供低功耗功能性的电路系统,例如动态电压频率调整核心(DVFSC)、亚阈值电流减小电路(SCRC)或其它低功耗功能性提供电路系统。提供没有此电路系统的LPDDRx存储器装置126可有利地降低LPDDRx存储器装置126的成本、大小及/或复杂性。举例来说,具有减小低功耗功能性提供电路系统的LPDDRx存储器装置126可用于除了移动应用之外的应用(例如,如果存储器不希望用于移动应用中,那么可牺牲一些或所有低功耗功能性以降低生产存储器的成本)。
数据可在后端部分119与存储器装置126之间传送,主要呈包含数个用户数据块(UDB)的存储器传送块(MTB)的形式。如本文中使用,术语“MTB”指代经分组具有相同奇偶校验数据块(PDB)(例如,共享相同PDB)的UDB群组,因此针对每一读取或写入命令从高速缓存(例如高速缓存212)及/或存储器装置126一起传送。举例来说,相同MTB的UDB群组可经由通道125在存储器控制器100在其下操作的预定义突发长度(例如32位BL)内来回传送于(例如,写入到/读取自)存储器装置126。突发是多个循环(例如节拍)内的一系列数据传送。如本文中使用,术语“节拍”指代在此期间可传输等于存储器总线的宽度的数据量的时钟循环增量。举例来说,32位突发长度可由数据传送的32个节拍组成。
如本文中使用,术语“PDB”指代含有经配置用于对经分组有PDB的UDB进行芯片猎杀(例如LPCK及/或RAID)操作的奇偶校验数据(例如呈一或多个奇偶校验符号形式的LPCK奇偶校验数据)的数据块。如本文中进一步描述,MTB可取决于MTB是否已在存储器控制器100(例如安全编码器217-1及/或317-1)处加密而呈明文或密文形式。
如本文中使用,术语“UDB”指代含有主机数据(例如,从主机103接收且替代地称为“用户数据”)的数据块。在一些实施例中,包含于UDB中的主机数据可呈一或多个数据符号(例如多位符号)形式,其可为非二进制符号。举例来说,具有N个位的非二进制符号可为有限伽罗瓦(Galois)域的2N个元素中的一者。
MTB可为对存储器装置126进行读取存取的单元。举例来说,即使接收到主机读取命令(例如从主机103接收的读取命令)以读取仅一个UDB,但与UDB分组在一起的所有其它数据块(例如UDB及/或PDB)可传送到存储器控制器100。如本文中进一步描述,一起传送的数据块可用于存储器控制器100处的芯片猎杀操作且仅由主机读取命令请求的UDB可进一步发送到主机103。在一些实施例中,从存储器装置126读取的MTB可存储于高速缓存(例如图2中说明的高速缓存212)中,所请求UDB可从高速缓存进一步发送到主机103。
MTB还可为对存储器装置226进行写入存取的单元。举例来说,当在存储器控制器100处接收到更新MTB的UDB中的一者的主机写入命令时,存储器控制器100从存储器装置126或高速缓存212读取MTB,更新MTB的UDB以及PDB,及将经更新MTB写回到存储器装置126及/或高速缓存212。在一些实施例中,高速缓存212的高速缓存线可对应于MTB(例如对应于两个UDB的128个字节)。
除MTB之外,PDB也可在后端部分119与存储器装置126之间传送。单个UDB或PDB的主机数据或奇偶校验数据可对应于多个码字(例如64个码字)。
除MTB之外,其它“额外”数据位(例如,除对应于MTB的数据之外且替代地称为“辅助数据”的其它数据)也可在后端部分119与存储器装置126之间传送。额外数据可包含用于校正及/或检测MTB中的错误及/或认证及/或校验MTB的数据完整性的数据及/或元数据,但实施例不限于此。额外位的另外细节结合图2到5进行说明及描述。
在一些实施例中,一些(例如一或多个)存储器装置126可专用于PDB。举例来说,经配置以存储UDB的存储器装置可与经配置以存储PDB的存储器装置(例如一或多个存储器装置)不同。
在一些实施例中,存储器控制器100可包含用于初始化、配置及/或监测存储器控制器100的特性的管理单元105。管理单元105可包含:I/O总线,其用于管理带外数据及/或命令;管理单元控制器,其用于执行与初始化、配置及/或监测存储器控制器的特性相关联的指令;及管理单元存储器,其用于存储与初始化、配置及/或监测存储器控制器100的特性相关联的数据。如本文中使用,术语“带外”通常指代与网络的主要传输媒体不同的传输媒体。举例来说,带外数据及/或命令可为使用与用于在网络内传送数据的传输媒体不同的传输媒体传送到网络的数据及/或命令。
图2A是根据本公开的数个实施例的在一种配置中具有真实性/完整性组件(例如在图2A中分别展示为“真实性/完整性ENC”218-1及“真实性/完整性DEC”218-2的真实性/完整性校验编码器/解码器218-1/218-2)及一对前端CRC编码器/解码器211(替代地称为且在图2A中展示为“FCRC”)的存储器控制器200的功能框图。图2A中说明的存储器控制器200、后端部分219及存储器装置226类似于图1中说明的存储器控制器100、后端部分119及存储器装置126。
中央控制器部分210包含FCRC编码器211-1(例如,与FCRC解码器211-2配对)以基于作为写入命令(例如,从主机103接收)的部分接收的数据(例如,对应于UDB且呈“明文”形式)且在将数据写入到高速缓存212之前产生错误检测信息(例如,替代地称为端到端CRC(e2e CRC))。在FCRC编码器211-1处产生的错误检测信息可为校验值,例如CRC数据。CXL存储器系统的读取及写入命令可为UDB的大小,例如64个字节。因此,在FCRC编码器211-1处接收的数据可对应于UDB。
中央控制器部分210包含高速缓存212以存储与存储器操作的执行相关联的数据、错误检测信息、错误校正信息及/或元数据。高速缓存212的实例是包含多个高速缓存线的三十二(32)路组关联高速缓存。虽然CXL存储器系统的读取及写入命令可为UDB的大小(例如64个字节),但高速缓存线大小可等于或大于UDB的大小。举例来说,高速缓存线大小可对应于MTB的大小。在其中MTB包含2个UDB的实例(其中每一UDB是64字节分块)中,例如,每一高速缓存线可包含128个字节的数据。
对应于高速缓存线且存储于高速缓存212中的数据(例如UDB及/或MTB)可进一步传送到中央控制器部分210的其它组件(例如安全编码器217-1及/或真实性/完整性校验编码器218-1)(例如,作为高速缓存写入策略的部分,例如高速缓存写回及/或高速缓存直写)以最终存储于存储器装置226中以在从主机(例如图1中说明的主机103)接收的数据尚未写入到存储器装置226时使高速缓存212与存储器装置226同步。
使用高速缓存212存储与读取操作或写入操作相关联的数据可提高存取数据的速度及/或效率,因为高速缓存212可预取数据且在高速缓存未命中时将数据存储于多个64字节块中。代替在高速缓存未命中时搜索单独存储器装置,数据可从高速缓存212读取。存取预取数据所使用的时间及能量可比在存取数据之前存储器系统必须搜索数据时使用的时间及能量更少。
中央控制器部分210进一步包含安全编码器217-1(例如,与安全解码器217-2配对)以在将数据传送到CRC编码器213-1(将数据写入到存储器装置226)之前加密数据。尽管实施例不限于此,但安全编码器/解码器对217可使用AES加密/解密(例如算法)操作。一旦在安全编码器217-1处加密,则以明文形式使用的数据可呈(例如,转换成)密文形式。在一些实施例中,安全编码器/解码器217可经选择性启用/停用以在存储器装置226与存储器控制器200之间传送数据且无需加密/解密数据。
中央控制器部分210进一步包含真实性/完整性校验编码器218-1以基于从高速缓存212接收的数据产生认证数据。尽管实施例不限于此,但在真实性/完整性校验编码器218-1处产生的认证数据可为MAC,例如KECCAK MAC(KMAC)(例如SHA-3-256MAC)。
在一些实施例中,在真实性/完整性校验编码器218-1处产生的MAC可基于可信执行环境(TEE)数据(替代地称为“TEE旗标”)、主机物理地址(HPA)(例如与主机读取/写入事务相关联的由图1中说明的主机103使用/识别的存储器地址)、与经存取用于执行主机写入命令的(存储器装置226的)物理地址相关联的安全密钥标识符(ID)进行计算。
安全编码器217-1及真实性/完整性校验编码器218-1可并行操作。举例来说,存储于高速缓存212中且呈明文形式的数据可输入(例如,传送)到安全编码器217-1及真实性/完整性校验编码器218-1两者。在一些实施例中,安全密钥ID可进一步(与呈明文形式的数据一起)输入到安全编码器217-1。此外,在一些实施例中,与主机写入命令相关联的安全密钥ID、TEE旗标及HPA可进一步(与呈明文形式的数据一起)输入到真实性/完整性校验编码器218-1。
中央控制器部分210包含CRC编码器213-1(例如,与CRC解码器213-2配对)以基于从安全编码器217-1接收的数据产生错误检测信息(例如,替代地称为高速缓存线CRC(CLCRC))。从安全编码器217-1传送到CRC编码器213-1的数据可呈密文形式,因为数据先前在安全编码器217-1处加密。在错误检测信息产生器213-1处产生的错误检测信息可为校验值,例如CRC及/或校验和数据。CRC编码器213-1及CRC解码器213-2可对具有等于或大于高速缓存线大小的大小的数据(例如MTB)进行操作。
中央控制器部分210包含低功耗芯片猎杀(LPCK)编码器214-1(例如,与LPCK解码器214-2配对)以基于从CRC编码器213-1接收的数据产生及/或更新LPCK奇偶校验数据(例如PDB)。从CRC编码器213-1传送到LPCK编码器214-1的数据可呈密文形式,因为数据在安全编码器217-1处加密。LPCK编码器214-1可更新PDB(例如,其先前经产生用于存储于存储器装置226中的MTB)以符合作为写入命令的部分从主机接收的新UDB。为了更新PDB,MTB(新UDB对应于其)的所有UDB可(例如,由存储器控制器200)传送到LPCK编码器214-1,LPCK编码器214-1可基于MTB的UDB与从主机接收的新UDB之间的比较(例如一或多个XOR运算)来更新(重新计算)PDB。在一些实施例中,MTB(不仅包含经更新PDB及新UDB,而且包含其它非“新”UDB)可传送到存储器装置226来完全重写。在一些实施例中,经受变化的MTB的仅一部分(例如经更新PDB及新UDB)可传送到存储器装置226来写入,这无需对存储器装置226执行整个MTB的读取-修改-写入,借此降低与写入经更新PDB及新UDB相关联的功率。
如图2A中展示,中央控制器部分210可包含经配置以基于从LPCK编码器214-1传送的数据产生ECC数据的ECC编码器216-1-1、…、216-1-X。传送到每一ECC编码器216-1的数据可呈密文形式,因为数据先前在安全编码器217-1处加密。
每一ECC编码器216-1可负责存储器装置226的相应区(例如存储器裸片),但实施例不限于此。作为实例,如果每一存储器装置226中存在五个存储器裸片,那么存储器控制器200可包含五个ECC编码器216-1(以及十个ECC解码器216-2)用于每一存储器装置226,使得在十个ECC编码器216-1中的每一者处产生的ECC数据可(例如,与用于产生ECC数据的用户数据一起)写入到相应存储器裸片。
每一ECC编码器216-1可与ECC解码器216-2-1、…、216-2-X中的相应者配对以依共同方式操作且专用于每一存储器装置226及/或存储器装置226的每一存储器裸片。举例来说,负责存储器装置226-1的一个存储器裸片的ECC编码器216-1-1可与也负责存储器裸片的ECC解码器216-2-1成组,这允许在ECC编码器216-1-1处产生的ECC数据稍后传送到(例如,存储于)ECC解码器216-2-1用于对存储于存储器裸片中的数据(例如MTB的一部分)执行错误校正操作。
MTB与“额外”数据位(代替地称为“辅助数据”)一起可传送到后端部分219以最终写入到存储器装置226。“额外”位可包含在LPCK 214-1处产生的LPCK奇偶校验数据(例如,呈PDB形式)、在FCRC编码器211-1及/或213-1处产生的错误检测信息、在LPCK编码器214-1处产生的奇偶校验数据(例如符号)、在ECC编码器216-1处产生的错误校正信息(例如,替代地称为ECC数据)及/或在真实性/完整性校验编码器218-1处产生的认证数据,其与MTB以及元数据及/或TEE数据相关联。如本文中描述,对应于MTB的数据可以密文形式写入到存储器装置。
如图2A中展示,存储器控制器200可包含耦合到中央控制器部分210的后端部分219。后端部分219可包含媒体控制器221-1、…、221-N。后端部分219可进一步包含PHY存储器接口224-1、…、224-N。每一物理接口224经配置以耦合到相应存储器装置226。
媒体控制器221-1、…、221-N可基本上同时用于同时驱动通道225-1、…、225-N。在至少一个实施例中,媒体控制器221中的每一者可接收相同命令及地址且基本上同时驱动通道225。通过使用相同命令及地址,媒体控制器221中的每一者可利用通道225对相同存储器胞元执行相同存储器操作。如下文进一步描述,通道225可包含数个单独数据保护通道(替代地称为RAS(可靠性、可用性及可维护性)通道),其各自可包括与特定数据保护方案(例如RAID、LPCK等)相关联地一起存取的数个存储器装置(例如裸片)226。数据保护通道可包含LPCK及/或RAID通道。如本文中使用,术语“LPCK通道”指代针对LPCK存取一起存取的一或多个通道(例如图1、2A、2B、3A及3B中分别说明的通道125、225及/或325)。换句话说,LPCK通道可为用于传送单个LPCK条带的存取单元。如本文中使用,术语“RAID通道”指代针对RAID存取一起存取的一或多个通道(例如图1、2A、2B、3A及3B中分别说明的通道125、225及/或325)。换句话说,RAID通道可为用于传送单个RAID条带的存取单元。作为一个实例,通道225可包括各自包括十个存储器装置226的四个单独数据保护通道225。实施例不限于特定数目个通道225或每通道特定数目个存储器装置226。
如本文中使用,术语“基本上”意味着特性无需为绝对的,而是足够接近以便实现特性的优点。举例来说,“基本上同时”不限于完全同时执行的操作,而是可包含希望为同时但由于制造限制可不精确同时的时序。举例来说,由于可由各种接口(例如LPDDR5对PCIe)展现的读取/写入延迟,“基本上同时”利用的媒体控制器可不在完全相同时间开始或结束。举例来说,存储器控制器可经利用使得其在相同时间将数据写入到存储器装置,无论媒体控制器中的一者是否在另一者之前开始或终止。
PHY存储器接口224可为LPDDRx存储器接口。在一些实施例中,PHY存储器接口224中的每一者可包含数据及DMI引脚。举例来说,每一PHY存储器接口224可包含四个数据引脚(DQ引脚)及一个DMI引脚。媒体控制电路系统可经配置以经由数据引脚与相应存储器装置226交换数据。媒体控制电路系统可经配置以经由DMI引脚交换错误校正信息、错误检测信息及/或元数据,而非经由数据引脚交换此类信息。DMI引脚可提供多种功能,例如数据遮蔽、数据总线反转及通过设置模式寄存器进行读取操作的奇偶校验。DMI总线使用双向信号。在一些例子中,每一数据传送字节具有经由DMI引脚发送的对应信号用于数据选择。在至少一个实施例中,数据可与错误校正信息及/或错误检测信息同时交换。举例来说,64个数据字节(例如UDB)可经由数据引脚交换(传输或接收),而64个位的额外位(替代地称为“辅助数据”)经由DMI引脚交换。此类实施例减少数据输入/输出(例如,在所属领域中也称为“DQ”)总线上原本用于传送错误校正信息、错误检测信息及/或元数据的开销。
后端部分219可将PHY层部分耦合到相应存储器装置226-1、…、226-N。存储器装置226各自包含至少一个存储器胞元阵列。在一些实施例中,存储器装置226可为不同类型的存储器。媒体控制电路系统可经配置以控制至少两种不同类型的存储器。举例来说,存储器装置226-1可为根据第一协议操作的LPDDRx存储器且存储器装置226-N可为根据与第一协议不同的第二协议操作的LPDDRx存储器。在此实例中,第一媒体控制器221-1可经配置以根据第一协议控制存储器装置226-1的第一子集,且媒体控制器221-N可经配置以根据第二协议控制存储器装置226-N的第二子集。
存储于存储器装置226中的数据(例如MTB)可传送到后端部分219以最终传送及写入到高速缓存212及/或传送到主机(例如图1中说明的主机103)。在一些实施例中,MTB响应于存取MTB(例如,将MTB传送到主机)及/或使高速缓存212与存储器装置226同步以清除高速缓存212中的“脏”数据的读取命令而传送。
除MTB之外,其它“额外”数据位(替代地称为“辅助数据”)也可传送到后端部分219。“额外”位可包含在LPCK 214-1处产生的LPCK奇偶校验数据(例如,呈PDB形式)、在FCRC编码器211-1及/或213-1处产生的错误检测信息、在LPCK编码器214-1处产生的奇偶校验数据(例如符号)、在ECC编码器216-1处产生的ECC数据及在真实性/完整性校验编码器218-1处产生的认证数据,其与MTB以及元数据及/或TEE数据相关联。如本文中描述,传送到后端部分219的MTB可呈密文形式。
传送到后端部分219的数据可进一步传送到相应ECC解码器216-2。在每一ECC解码器216-2处,可对MTB的相应子集执行错误校正操作以校正多达特定数量的错误且检测超过特定数量的错误而不校正这些错误。在一个实例中,每一ECC解码器216-2可使用错误校正信息校正单个错误(而不检测错误),这称为单错误校正(SEC)操作。在另一实例中,每一ECC解码器216-2可使用错误校正信息校正单个错误或检测两个错误(而不校正两个错误),这称为单错误校正及双错误检测(SECDED)操作。在不同实例中,每一ECC解码器216-2可使用错误校正信息(例如,替代地称为ECC数据)校正两个错误或检测三个错误(而不校正三个错误),这称为双错误校正及三错误检测(DECTED)操作。
如本文中描述,每一ECC解码器216-2还可像ECC编码器216-1那样负责存储器装置226的相应区。举例来说,如果ECC解码器216-2-1负责存储器装置226-1的一个存储器裸片,那么ECC数据及存储于所述存储器裸片中的MTB的子集可传送到ECC解码器216-2-1。因此,可在相应ECC解码器216-2处个别地校正MTB的每一子集的任何错误。在一些实施例中,ECC编码器/解码器对216可经选择性启用/停用以在存储器装置226与存储器控制器200之间传送数据且无需产生错误校正信息及/或使用对执行错误校正操作。
在分别在ECC解码器216-2处执行的错误校正操作之后,MTB可与对应PDB(先前在LPCK编码器214-1处产生)一起进一步传送到LPCK解码器214-2。在LPCK解码器214-2处,LPCK奇偶校验数据可用于对从存储器装置226接收的MTB执行芯片猎杀操作(例如LPCK操作)。预防任何单个存储器装置226(芯片)失效及/或来自单个存储器芯片的任何部分的多位错误的LPCK保护可跨存储器装置226的子集(例如,LPCK可经提供用于存储器装置226-1的第一子集且单独用于存储器装置226-N的第二子集)或跨所有存储器装置226共同实施。
存储器控制器200的实例芯片猎杀实施方案可包含将具有两个UDB的MTB写入到存储器装置226的八个存储器裸片及将PDB写入到存储器装置226的一或两个存储器裸片。可写入八个码字,各自由八个四位符号组成,其中每一符号属于存储器装置226的不同存储器裸片。第一码字可包括每一存储器裸片的第一四位符号,第二码字可包括每一存储器裸片的第二四位符号,第三码字可包括每一存储器裸片的第三四位符号,第四码字可包括每一存储器裸片的第四四位符号,第五码字可包括每一存储器裸片的第五四位符号,第六码字可包括每一存储器裸片的第六四位符号,第七码字可包括每一存储器裸片的第七四位符号,且第八码字可包括每一存储器裸片的第八四位符号。两个奇偶校验符号可允许LPCK电路系统214校正每一码字中的多达一个符号错误及检测多达两个符号错误。
在一些实施例中,数据符号及奇偶校验符号可同时从存储器装置226写入或读取。如果存储器装置226中的每个位符号失效,那么码字中仅来自所述存储器装置226的位符号将失效。这允许存储器内容重构,尽管一个存储器装置226完全失效。LPCK被视为“实时校正”,因为数据在不影响性能的情况下通过执行修复操作(例如芯片猎杀操作)来校正。举例来说,PDB与MTB一起从存储器装置226传送到存储器控制器200,这无需在需要芯片猎杀操作时单独传送PDB,因此不会在执行芯片猎杀操作时影响性能。LPCK编码器214-1及/或解码器214-2可包含使用前馈过程的组合逻辑。
在LPCK解码器214-2处执行的LPCK操作之后,MTB可与先前在CRC编码器213-1处产生的至少错误检测信息一起进一步传送到CRC解码器213-2。在CRC解码器213-2处,可执行错误检测操作以使用错误检测信息(例如CRC数据)检测MTB中的任何错误。
在CRC解码器213-2处执行的错误检测操作之后,MTB可与先前在真实性/完整性校验编码器218-1处产生的至少认证数据一起进一步传送到安全解码器217-2及真实性/完整性校验解码器218-2。在安全解码器217-2处,数据(例如MTB)可解密(例如,从密文回转到明文,如最初从主机接收那样)。安全解码器217-2可使用AES解密来解密数据。
在安全解码器217-2处解密的数据可(以明文形式)输入到真实性/完整性校验解码器218-2,在真实性/完整性校验解码器218-2处可使用先前在真实性/完整性校验编码器218-1处产生的认证数据(例如MAC)认证数据。在一些实施例中,真实性/完整性校验解码器218-2可基于与经存取用于执行主机读取命令的物理地址相关联的TEE数据、HPA及安全密钥ID来计算MAC。在读取操作期间计算的MAC可与从存储器装置226(对应于其物理地址的位置)传送的MAC比较。如果所计算的MAC与所传送的MAC匹配,那么UDB写入到高速缓存212(且根据需要进一步传送到主机)。如果所计算的MAC与所传送的MAC不匹配,那么向主机通知不匹配(及/或中毒)。
在真实性/完整性校验解码器218-2处认证且在安全解码器217-2处解密的数据(例如MTB)可传送及写入到高速缓存212。在一些实施例中,数据可例如响应于从主机(例如图1中说明的主机103)接收的读取命令而从高速缓存212进一步传送到FCRC解码器211-2。如本文中描述,CXL存储器系统的读取及写入命令可为UDB的大小,例如64个字节。举例来说,数据可由主机以UDB而非MTB的粒度请求。在此实例中,即使从存储器装置226传送的数据呈MTB的粒度,但数据可以UDB的粒度从高速缓存212传送到主机。在FCRC解码器211-2处,可使用先前在FCRC编码器211-1处产生的CRC数据来校验数据(例如UDB)的任何错误。在FCRC解码器211-2处解密的数据可进一步传送到主机。
图2B是根据本公开的数个实施例的在另一配置中具有真实性/完整性组件(例如,在图2B中分别展示为“真实性/完整性ENC”218-1及“真实性/完整性DEC”218-2的真实性/完整性校验编码器/解码器218-1/218-2)及前端CRC(替代地称为且在图2B中展示为“FCRC”)编码器/解码器对211-1及211-2的存储器控制器200的功能框图。图2B中说明的存储器控制器200、后端部分219及存储器装置226类似于图1中说明的存储器控制器100、后端部分119及存储器装置126。
存储器控制器200可包含中央控制器部分210及后端部分219。中央控制器部分210可包含与FCRC解码器211-1-2配对的FCRC编码器211-1-1及与FCRC解码器211-2-2配对的FCRC编码器211-2-1、耦合于配对FCRC编码器/解码器211-1及FCRC编码器/解码器211-2之间的高速缓存存储器212、与安全解码器217-2配对的安全编码器217-1、与真实性/完整性校验解码器218-2配对的真实性/完整性校验编码器218-1、与CRC解码器213-2配对的CRC编码器213-1、与LPCK解码器214-2配对的LPCK编码器214-1及分别与ECC解码器216-2-1、…、216-2-X配对的ECC编码器216-1-1、…、216-1-X。一对安全编码器/解码器217、一对真实性/完整性校验编码器/解码器218、一对CRC编码器/解码器213、一对LPCK 214、相应ECC编码器/解码器对216可类似于图2A中说明的一对安全编码器/解码器217、一对真实性/完整性校验编码器/解码器218、一对CRC编码器/解码器213、一对LPCK 214、相应ECC编码器/解码器对216。后端部分219可包含媒体控制器221-1、…、221-N及经配置以经由通道225-1、…、225-N耦合到存储器装置226-1、…、226-N的PHY存储器接口224-1、…、224-N。
图2B类似于图2A,只是其包含使用CRC数据校验UDB上的任何错误的额外电路系统且无需将CRC传送/存储到存储器装置226。举例来说,如图2B中说明,耦合于高速缓存212与安全编码器217-1(及/或真实性/完整性校验编码器218-1)之间的FCRC解码器211-1-2可经配置以使用在FCRC编码器211-1-1处产生的错误检测信息(例如CRC数据)校验存储于高速缓存212中的UDB上的任何错误。此外,耦合于高速缓存212与安全解码器217-2(及/或真实性/完整性校验解码器218-2)之间的FCRC编码器211-2-1可经配置以产生关于传送到主机(例如图1中说明的主机103)的UDB的错误检测信息(例如CRC数据)。在FCRC编码器211-2-1处产生的错误检测信息可在FCRC解码器211-2-2处用于校验从高速缓存212传送的UDB上的任何错误。
在一些实施例中,FCRC编码器/解码器对211-1及211-2可仅用于校验存储于高速缓存中的数据上的错误。因此,在FCRC编码器/解码器对211-1及211-2处使用的错误检测信息可不传送及写入到存储器装置226。
图3A是根据本公开的数个实施例的用于高速缓存线数据保护的存储器控制器300的功能框图。图3A中说明的存储器控制器300、中央控制器部分310、后端部分319及存储器装置326类似于图1中说明的存储器控制器100、中央控制器部分110、后端部分119及存储器装置126。
中央控制器部分310包含前端CRC(“FCRC”)编码器311-1(例如,与FCRC解码器311-2配对)以基于作为写入命令(例如,从主机103接收)的部分接收的数据(例如,呈“明文”形式的UDB)且在将数据写入到高速缓存312之前产生错误检测信息(例如,替代地称为端到端CRC(e2e CRC))。在FCRC编码器311-1处产生的错误检测信息可为校验值,例如CRC数据。CXL存储器系统的读取及写入命令可为UDB的大小,例如64个字节。因此,在FCRC编码器311-1处接收的数据可对应于UDB。
中央控制器部分310包含高速缓存312以存储与存储器操作的执行相关联的数据(例如用户数据)、错误检测信息、错误校正信息及/或元数据。高速缓存312的实例是包含多个高速缓存线的三十二(32)路组关联高速缓存。虽然主机读取及写入命令可为UDB的大小(例如64个字节),但高速缓存线大小可大于UDB的大小(例如,等于多个UDB的大小)。举例来说,高速缓存线大小可对应于2个UDB的大小(其中每一UDB是64字节分块),例如128个字节。
存储于每一高速缓存线中的这些UDB(例如,替代地称为“对应于高速缓存线的UDB”)可为高速缓存312与存储器装置326之间的数据路径的数据传送单元。举例来说,即使主机读取/写入命令是UDB的大小(例如64个字节),但对应于高速缓存线的UDB可作为分块共同传送于高速缓存312与存储器装置326之间(例如,通过图3A中说明的其它编码器/解码器)。因此,对应于高速缓存线的UDB可在图3A中说明的各种编码器/解码器处共同加密/解密且定位于高速缓存312与存储器装置326之间。在一些实施例中,对应于相同高速缓存线的这些UDB可形成MTB。
存储于高速缓存312(例如其相应高速缓存线)中的数据(例如UDB)可进一步传送到中央控制器部分310的其它组件(例如安全编码器317-1及/或真实性/完整性校验编码器318-1,其展示为“真实性/完整性ENC”318-1)(例如,作为高速缓存写入策略的部分,例如高速缓存写回及/或高速缓存直写)以最终存储于存储器装置326中以在从主机(例如图1中说明的主机103)接收的数据尚未写入到存储器装置326时使高速缓存312与存储器装置326同步。
使用高速缓存312存储与读取操作或写入操作相关联的数据可提高存取数据的速度及/或效率,因为高速缓存312可预取数据且在高速缓存未命中时将数据存储于多个64字节块中。代替在高速缓存未命中时搜索单独存储器装置,数据可从高速缓存312读取。存取预取数据所使用的时间及能量可比在存取数据之前存储器系统必须搜索数据时使用的时间及能量更少。
中央控制器部分310进一步包含安全编码器317-1(例如,与安全解码器317-2配对)以在将数据传送到CRC编码器313-1(将数据写入到存储器装置326)之前加密数据(例如对应于高速缓存线的UDB)。尽管实施例不限于此,但安全编码器/解码器对317可使用AES加密/解密(例如算法)操作。未加密数据(例如明文)可由安全编码器317-1经由加密来转换成密文。中央控制器部分310进一步包含真实性/完整性校验编码器318-1以基于从高速缓存312接收的数据产生认证数据。尽管实施例不限于此,但在真实性/完整性校验编码器318-1处产生的认证数据可为MAC,例如KECCAK MAC(KMAC)(例如SHA-3-356MAC)。
在一些实施例中,在真实性/完整性校验编码器318-1处产生的MAC可基于可信执行环境(TEE)数据(替代地称为“TEE旗标”)、主机物理地址(HPA)(例如与主机读取/写入事务相关联的由图1中说明的主机103使用/识别的存储器地址)、与经存取用于执行主机写入命令的(存储器装置326的)物理地址相关联的安全密钥标识符(ID)进行计算。
安全编码器317-1及真实性/完整性校验编码器318-1可并行操作。举例来说,存储于高速缓存312中且呈明文形式的数据可输入(例如,传送)到安全编码器317-1及真实性/完整性校验编码器318-1两者。在一些实施例中,安全密钥ID可进一步(与呈明文形式的数据一起)输入到安全编码器317-1。此外,在一些实施例中,与主机写入命令相关联的安全密钥ID、TEE旗标及HPA可进一步(与呈明文形式的数据一起)输入到真实性/完整性校验编码器318-1。
中央控制器部分310包含CRC编码器313-1(例如,与CRC解码器313-2配对)以共同基于对应于从安全编码器317-1接收的高速缓存线的UDB来产生错误检测信息(例如,替代地称为CRC媒体(CRCm))。从安全编码器317-1传送到CRC编码器313-1的数据可呈密文形式,因为数据先前在安全编码器317-1处加密。在错误检测信息产生器313-1处产生的错误检测信息可为校验值,例如CRC数据。CRC编码器313-1及CRC解码器313-2可对具有等于或大于高速缓存线大小的大小的数据进行操作。
中央控制器部分310包含RAID编码器314-1(例如,与RAID解码器314-2配对)以至少部分基于从CRC编码器313-1接收的数据(例如对应于高速缓存线的一或多个UDB)产生及/或更新RAID奇偶校验数据(例如PDB)。从CRC编码器313-1传送到RAID编码器314-1的数据可呈密文形式,因为数据在安全编码器317-1处加密。
RAID编码器314-1可更新PDB以符合作为写入命令的部分从主机接收的新UDB。为了更新PDB,旧UDB(其将用新UDB替换)及(与旧UDB相同的条带的)旧PDB可被读取(例如,传送到RAID编码器314-1)且与新UDB比较(例如,XOR运算),且比较(例如XOR运算)的结果可与旧PDB(其将被更新)进一步比较(例如,XOR运算)以导致新(例如,经更新)PDB。
如图3A中展示,中央控制器部分310可包含ECC编码器316-1-1、…、316-1-X。每一ECC编码器316-1可经配置以共同基于从RAID编码器314-1传送的数据(例如对应于高速缓存线的UDB)产生ECC数据(替代地称为“错误校正信息”)。传送到每一ECC编码器316-1的数据可呈密文形式,因为数据先前在安全编码器317-1处加密。
每一ECC编码器316-1可负责存储器装置326的相应区(例如存储器裸片),但实施例不限于此。作为实例,如果每一存储器装置326中存在五个存储器裸片,那么存储器控制器300可包含用于每一存储器装置326的五个ECC编码器316-1(以及十个ECC解码器316-2),使得在十个ECC编码器316-1中的每一者处产生的ECC数据可(例如,与用于产生ECC数据的用户数据一起)写入到相应存储器裸片。
每一ECC编码器316-1可与ECC解码器316-2-1、…、316-2-X中的相应者配对以依共同方式操作且专用于每一存储器装置326及/或存储器装置326的每一存储器裸片。举例来说,负责存储器装置326-1的一个存储器裸片的ECC编码器316-1-1可与也负责存储器裸片的ECC解码器316-2-1成组,这允许在ECC编码器316-1-1处产生的ECC数据稍后传送到(例如,存储于)ECC解码器316-2-1用于对存储于存储器裸片中的数据(例如MTB的一部分)执行错误校正操作。
“额外”数据位(代替地称为“辅助数据”)可(与UDB一起)传送到后端部分319以最终传送及写入到存储器装置326。“额外”位可包含在RAID 314-1处产生的RAID奇偶校验数据(例如,呈PDB形式)、在FCRC编码器311-1及/或313-1处产生的错误检测信息(例如CRC数据)、在ECC编码器316-1处产生的错误校正信息(例如,替代地称为ECC数据)及/或在真实性/完整性校验编码器318-1处产生的认证数据(例如MAC数据),其与UDB以及元数据及/或TEE数据相关联。
如图3A中展示,存储器控制器300可包含耦合到中央控制器部分310的后端部分319。后端部分319可包含媒体控制器321-1、…、321-N。后端部分319可包含PHY存储器接口324-1、…、324-N。每一物理接口324经配置以耦合到相应存储器装置326。
媒体控制器321-1、…、321-N可基本上同时用于同时驱动通道325-1、…、325-N。在至少一个实施例中,媒体控制器321中的每一者可接收相同命令及地址且基本上同时驱动通道325。通过使用相同命令及地址,媒体控制器321中的每一者可利用通道325对相同存储器胞元执行相同存储器操作。
如本文中使用,术语“基本上”意味着特性无需为绝对的,而是足够接近以便实现特性的优点。举例来说,“基本上同时”不限于完全同时执行的操作,而是可包含希望为同时但由于制造限制可不精确同时的时序。举例来说,由于可由各种接口(例如LPDDR5对PCIe)展现的读取/写入延迟,“基本上同时”利用的媒体控制器可不在完全相同时间开始或结束。举例来说,存储器控制器可经利用使得其在相同时间将数据写入到存储器装置,无论媒体控制器中的一者是否在另一者之前开始或终止。
PHY存储器接口324可为LPDDRx存储器接口。在一些实施例中,PHY存储器接口324中的每一者可包含数据及DMI引脚。举例来说,每一PHY存储器接口324可包含二十个数据引脚(DQ)引脚及五个DMI引脚。媒体控制器321可经配置以经由数据引脚与相应存储器装置326交换数据。媒体控制器321可经配置以经由DMI引脚交换错误校正信息(例如ECC数据)、错误检测信息及/或元数据,而非经由数据引脚交换此类信息。DMI引脚可提供多种功能,例如数据遮蔽、数据总线反转及通过设置模式寄存器进行读取操作的奇偶校验。DMI总线使用双向信号。在一些例子中,每一数据传送字节具有经由DMI引脚发送的对应信号用于数据选择。在至少一个实施例中,数据可与错误校正信息及/或错误检测信息同时交换。举例来说,128个字节的数据(例如对应于高速缓存线的UDB)可经由数据引脚交换(传输或接收),而128个位的额外位经由DMI引脚交换。此类实施例减少数据输入/输出(例如,在所属领域中也称为“DQ”)总线上原本用于传送错误校正信息、错误检测信息及/或元数据的开销。
后端部分319可将PHY存储器接口324-1、…、324-N耦合到相应存储器装置326-1、…、326-N。存储器装置326各自包含至少一个存储器胞元阵列。在一些实施例中,存储器装置326可为不同类型的存储器。媒体控制器321可经配置以控制至少两种不同类型的存储器。举例来说,存储器装置326-1可为根据第一协议操作的LPDDRx存储器且存储器装置326-N可为根据与第一协议不同的第二协议操作的LPDDRx存储器。在此实例中,第一媒体控制器321-1可经配置以根据第一协议控制存储器装置326-1的第一子集,且第二媒体控制器321-N可经配置以根据第二协议控制存储器装置326-N的第二子集。
存储于存储器装置326中的数据(对应于高速缓存线的UDB)可传送到后端部分319以最终传送及写入到高速缓存312及/或传送到主机(例如图1中说明的主机103)。在一些实施例中,数据响应于存取数据的子集(例如一个UDB)及/或使高速缓存312与存储器装置326同步以清除高速缓存312中的“脏”数据的读取命令而传送。
除UDB之外,其它“额外”数据位(替代地称为“辅助数据”)也可传送到后端部分319。“额外”位可包含在RAID编码器314-1处产生的RAID奇偶校验数据(例如,呈PDB形式)、在FCRC编码器311-1及/或313-1处产生的错误检测信息、在RAID编码器314-1处产生的奇偶校验数据(例如符号)、在ECC编码器316-1处产生的ECC数据及在真实性/完整性校验编码器318-1处产生的认证数据,其与UDB以及元数据及/或TEE数据相关联。如本文中描述,传送到后端部分319的UDB可呈密文形式。
传送到后端部分319的数据(例如对应于高速缓存线的UDB)可进一步传送到相应ECC解码器316-2。在每一ECC解码器316-2处,可对数据执行错误校正操作以校正多达特定数量的错误且检测超过特定数量的错误而不校正这些错误。在一个实例中,每一ECC解码器316-2可使用错误校正信息(例如ECC数据)校正单个错误或检测两个错误(而不校正两个错误),这称为单错误校正及双错误检测(SECDED)操作。在另一实例中,每一ECC解码器316-2可使用错误校正信息校正两个错误或检测三个错误(而不校正三个错误),这称为双错误校正及三错误检测(DECTED)操作。
如本文中描述,每一ECC解码器316-2也可像配对ECC编码器316-1那样负责相应存储器装置326。举例来说,如果ECC解码器316-2-1负责存储器装置326-1,那么ECC数据及存储于存储器装置326-1中的UDB可传送到ECC解码器316-2-1。在一些实施例中,ECC编码器/解码器对316可经选择性启用/停用以在存储器装置326与存储器控制器300之间传送数据且无需产生错误校正信息(例如ECC数据)及/或使用对执行错误校正操作。
在分别在ECC解码器316-2处执行的错误校正操作之后,UDB可与先前在CRC编码器313-1处产生的至少错误检测信息一起进一步传送到CRC解码器313-2。在CRC解码器313-2处,可执行错误检测操作以使用错误检测信息(例如CRC数据)检测UDB中的任何错误。
CRC解码器313-2可连同RAID解码器314-2对数据操作以提供校验及恢复校正。更明确来说,CRC解码器313-2可检测数据(例如,从相应ECC解码器316-2接收)中的错误且RAID解码器314-2可响应性恢复数据。在至少一个实施例中,由错误检测电路系统211及RAID解码器314-2提供的校验及恢复校正是由ECC解码器316-2提供的错误校正的补充。举例来说,如果从存储器装置226传送的数据(例如对应于高速缓存线的UDB)具有可由ECC解码器316-2校正的错误,那么其可完成此且无需由RAID解码器314-2进行进一步数据恢复(例如一或多个RAID操作)。然而,如果无法由ECC解码器316-2校正的错误持续存在,那么数据可由RAID解码器314-2恢复。作为另一实例,错误可逃避ECC解码器316-2的检测,但由CRC解码器313-2检测。在此实例中,基础数据可由RAID解码器314-2恢复。
当RAID过程被触发时,对UDB执行的RAID操作可基于从其它存储器裸片传送的UDB的其它子集来恢复从一个(例如,失效)存储器裸片传送的UDB的子集。由于(UDB的)所有子集共同输入(例如,传送)到CRC解码器(例如图3A中说明的CRC解码器313-2)且被共同校验一或多个错误(替代地称为“锁定RAID”),因此在CRC解码器处执行的CRC校验无法指示哪一子集具有一或多个错误。因此,所触发的RAID过程涉及数个RAID操作,其可分别且独立地对每一子集执行以校正确实具有错误的一个子集。举例来说,考虑到UDB从八个存储器裸片(例如图5A中说明的存储器裸片527-1到527-8)接收,可分别对UDB的每一子集(对应于每一存储器裸片)执行(例如,并行地)八个RAID操作。
在一些实施例中,RAID解码器314-2可进一步包含CRC解码器,其提供与CRC解码器213-2相同的功能性,但在RAID操作之后对数据执行错误检测操作(例如CRC校验)。继续上述实例,CRC校验可使用RAID解码器314-2内的CRC解码器对八个RAID操作的结果执行以确定RAID操作中的哪一者实际上已校正错误。结果中的一者(例如其中已适当校正错误的UDB)可进一步发送到安全解码器317及/或认证解码器318。
数据(例如对应于高速缓存线的UDB)可与先前在真实性/完整性校验编码器318-1处产生的至少认证数据一起进一步传送到安全解码器317-2及真实性/完整性校验解码器318-2(图3A中展示为“真实性/完整性DEC”318-2)。在安全解码器317-2处,数据可解密(例如,从密文回转到明文,如最初从主机接收那样)。安全解码器317-2可使用AES解密来解密数据。
在真实性/完整性校验解码器318-2处,在安全解码器317-2处解密的数据可使用先前在真实性/完整性校验编码器318-1处产生的认证数据(例如MAC数据)进行认证(及/或校验数据完整性)。在一些实施例中,真实性/完整性校验解码器318-2可基于与经存取用于执行主机读取命令的物理地址相关联的TEE数据、HPA及安全密钥ID来计算MAC。在读取操作期间计算的MAC可与从存储器装置326(对应于其物理地址的位置)传送的MAC比较。如果所计算的MAC与所传送的MAC匹配,那么UDB写入到高速缓存312(且根据需要进一步传送到主机)。如果所计算的MAC与所传送的MAC不匹配,那么向主机通知不匹配(及/或中毒)。
在真实性/完整性校验解码器318-2处认证(及/或校验数据完整性)的数据(例如对应于高速缓存线的UDB)可传送及写入到高速缓存312。在一些实施例中,数据可例如响应于从主机(例如图1中说明的主机103)接收的读取命令而从高速缓存312进一步传送到FCRC解码器311-2。如本文中描述,CXL存储器系统的主机读取及写入命令可为UDB的大小,例如64个字节。举例来说,数据可由主机以UDB的粒度请求。在此实例中,即使从存储器装置326传送的数据是多个UDB(对应于高速缓存线),但数据可以UDB的粒度从高速缓存312传送到主机。在FCRC解码器311-2处,可使用先前在FCRC编码器311-1处产生的CRC数据来校验(CRC检验)数据(例如由主机请求的UDB)的任何错误。在FCRC解码器311-2处解密的数据可进一步传送到主机。
图3B是根据本公开的数个实施例的用于高速缓存线数据保护的存储器控制器300的另一功能框图。图3B中说明的存储器控制器300、中央控制器部分310、后端部分319及存储器装置326类似于图1中说明的存储器控制器100、中央控制器部分110、后端部分119及存储器装置126。
存储器控制器300可包含中央控制器部分310及后端部分319。中央控制器部分310可包含与FCRC解码器311-2配对的前端CRC(“FCRC”)编码器311-1-1及与FCRC解码器311-2-2配对的FCRC编码器311-2-1、耦合于配对CRC编码器/解码器311-1及CRC编码器/解码器311-2之间的高速缓存存储器312、与安全解码器317-2配对的安全编码器317-1、与真实性/完整性校验解码器318-2(图3B中展示为“真实性/完整性DEC”318-2)配对的真实性/完整性校验编码器318-1(图3B中展示为“真实性/完整性ENC”318-1)、与CRC解码器313-2配对的CRC编码器313-1、与RAID解码器314-2配对的RAID编码器314-1及分别与ECC解码器316-2-1、…、316-2-X配对的ECC编码器316-1-1、…、316-1-X。一对安全编码器/解码器317、一对真实性/完整性校验编码器/解码器318、一对CRC编码器/解码器313、一对RAID 314、相应ECC编码器/解码器对316可类似于图3A中说明的一对安全编码器/解码器317、一对真实性/完整性校验编码器/解码器318、一对CRC编码器/解码器313、一对RAID 314、相应ECC编码器/解码器对316。尽管图3B中未说明,但RAID解码器314-2可进一步包含CRC解码器,其提供与CRC解码器313-2相同的功能性,但在RAID过程之后对数据执行错误检测操作(例如CRC校验)。
后端部分319可包含媒体控制器321-1、…、321-N。PHY层322可包含经配置以经由通道325-1、…、325-N耦合到存储器装置326-1、…、326-N的PHY存储器接口324-1、…、324-N。
图3B类似于图3A,只是其包含使用CRC数据校验UDB上的任何错误的额外电路系统且无需将CRC传送/存储到存储器装置326。举例来说,如图3B中说明,耦合于高速缓存312与安全编码器317-1(及/或真实性/完整性校验编码器318-1)之间的FCRC解码器311-1-2可经配置以使用在FCRC编码器311-1-1处产生的错误检测信息(例如CRC数据)来校验存储于高速缓存312中的UDB上的任何错误。耦合于高速缓存312与安全解码器317-2(及/或真实性/完整性校验解码器318-2)之间的FCRC编码器311-2-1可经配置以产生关于传送到主机(例如图1中说明的主机103)的UDB的错误检测信息(例如CRC数据)。在FCRC编码器311-2-1处产生的错误检测信息可在FCRC解码器311-2-2处用于校验从高速缓存312传送的UDB上的任何错误。
在一些实施例中,CRC编码器/解码器对311-1及311-2可仅用于校验存储于高速缓存中的数据上的错误。因此,在对311-1及311-2处使用的错误检测信息(例如CRC数据)可不传送及写入到存储器装置326。
图4A是根据本公开的数个实施例的对应于数个数据保护(LPCK)通道的存储器裸片的框图。实例存储器裸片427-P(其可类似于图4A中说明的一或多个存储器裸片)可经配置以存储裸片传送块438(图4A中展示的“DTB”),其可在预定义突发长度内来回传送于存储器裸片(例如,传送到图1到3中分别说明的存储器控制器100、200及/或300)。举例来说,DTB438可针对X位突发长度的每一节拍在X位突发长度内通过Y位数据传送(例如,经由Y个DQ引脚)进行传送(其总计为Y*X个位的用户数据),这还传送总共Z位辅助数据(例如,经由Z个DMI引脚)。更特定来说,在32位突发长度内,16个字节的用户数据(例如UDB 423的一部分)可经由32个4位数据传送(替代地称为“x4模式”)从存储器裸片427-P传送且16个位的辅助数据可经由16个1位数据传送进行传送。
图展示UDB 423-1及423-2可存储于其内的(LPCK通道429-5的)八个存储器裸片427-1、…、427-4及427-6、…、427-9,但实施例不限于单个UDB可存储于其内的特定数量的存储器裸片。举例来说,UDB 432-1可存储于存储器裸片427-1、427-2、427-3及427-4内,而UDB 432-2可存储于存储器裸片427-6、427-7、427-8及427-9内。UDB 432-1及432-2可形成MTB,其进一步对应于图2及3中分别说明的高速缓存212及/或312的高速缓存线。图进一步展示包含LPCK奇偶校验数据的PDB 439可存储于其内的两个存储器裸片427-5及427-10,但实施例不限于PDB可存储于其内的特定数量的存储器裸片。
尽管实施例不限于此,但五个存储器裸片427可对应于图1到3中分别说明的通道125、225及/或325(例如其通道宽度)。举例来说,存储器裸片427-1、…、427-5可对应于一个通道125、225、325,而存储器裸片427-6、…、427-10可对应于不同通道125、225、325。因此,每一通道125、225、325可为5*Y位宽(例如20位宽)。
20位宽通道125、225、325(x8模式存储器裸片无法提供)可提供与CXL存储器系统的操作相关联的优于16位宽通道125、225、325(x8模式能够提供)的好处。举例来说,在20%、40%及60%的高速缓存命中率下(其中70%的主机命令是读取命令且脏高速缓存未命中率是30%),20位宽通道125、225、325可提供约40吉字节/秒(GB/s)、50GB/s及75GB/s的带宽(例如,在前端部分104与主机103之间),而16位宽通道125、225、325分别限于约18GB/s、20GB/s及30GB/s的带宽。
在图4A中说明的实例中,八个存储器裸片(经配置用于UDB 423-1及423-2)与两个存储器裸片(经配置用于PDB 439)可统称为LPCK通道。因此,针对X位突发长度的每一节拍可传送10*Y个位(例如40个位)。可同时(例如,基本上同时,如本文中定义)存取这十个存储器裸片427-1、…、427-10。
计算系统(例如图1中说明的计算系统101)可包含数个LPCK通道,例如八个LPCK通道429-1、…、429-8(针对X位突发长度的每一节拍,其可传送80*Y个位,例如320个位),如图4A中说明,但实施例不限于计算系统可包含的特定数量的LPCK通道。每一LPCK通道429可为LPCK存取的单元。举例来说,分别存储于相应LPCK通道429中的每一UDB可通过使用存储于相同LPCK通道429的一或多个存储器裸片中(例如,对应于相同LPCK通道429)的数据(例如PDB)的LPCK操作来恢复。
图4B是根据本公开的数个实施例的对应于数个数据保护(LPCK)通道的存储器裸片的框图。实例存储器裸片427-Q(其可类似于图4B中说明的一或多个存储器裸片)可大体上类似于图4A中说明的实例存储器裸片427-P;然而,存储器裸片427-Q的大小可与427-P的大小不同。举例来说,(存储于存储器裸片427-Q中的DTB 438的)16个字节的用户数据可针对16位突发长度的每一节拍在16位突发长度内通过8位数据传送(替代地称为“x8模式”)进行传送,这从每一存储器裸片(例如存储器裸片427-P)传送总共16位的辅助数据。
尽管实施例不限于此,但两个存储器裸片427可对应于图1到3中分别说明的通道125、225及/或325(例如其通道宽度)。举例来说,每一对存储器裸片427-1及427-3、427-2及427-4、427-5及427-7、427-6及427-8及427-9及427-10可对应于相应通道125、225、325。因此,每一通道125、225、325可为2*Y位宽(例如16位宽)。
图4B进一步类似于图4A,只是一些存储器裸片427内部耦合到其它存储器裸片,无需外部耦合到存储器控制器(例如图1、2A及2B中说明的存储器控制器100及/或200)。举例来说,存储器裸片427-3、427-4、427-7、427-8及427-10(替代地称为“次级存储器裸片”)可分别经由相应内部数据链路来内部耦合到存储器裸片427-1、427-2、427-5、427-6及427-9(替代地称为“初级存储器裸片”)。此外,存储器裸片427-1、427-2、427-5、427-6及427-9可经由相应外部链路耦合到存储器控制器。如本文中使用,术语“初级存储器裸片”指代包含外部数据链路的存储器裸片。此外,如本文中使用,术语“次级存储器裸片”指代包含内部数据链路的存储器裸片。
继续上述实例,存储于存储器裸片427-3、427-4、427-7、427-8及427-10中的数据可经由存储器裸片427-1、427-2、427-5、427-6及427-9的相应外部链路传送到存储器控制器(例如,不是从存储器裸片427-3、427-4、427-7、427-8及427-10直接传送到存储器控制器)。举例来说,鉴于存储器裸片427-1、427-2、427-5、427-6及427-9可同时存取,存储于存储器裸片427-1、…、427-4中的UDB 423-1可在32位突发长度内以第一16位突发长度进行传送以从初级存储器裸片427-1及427-2传送数据(例如针对16位突发长度的每一节拍的8位数据传送)(在此期间,存储于第二存储器裸片427-3及427-4中的数据传送到初级存储器裸片427-1及427-2)且以第二16位突发长度进行传送以传送已存储于次级存储器裸片427-3及427-4中且来自初级存储器裸片427-1及427-2的数据(例如针对16位突发长度的每一节拍的8位数据传送)。
图4C到4D说明根据本公开的数个实施例的UDB、LPCK奇偶校验数据及/或辅助数据可如何散布于存储器装置之间的各种实例。图4C到4D中说明的存储器裸片427可类似于图4A及/或4B中说明的LPCK通道的存储器裸片427-1、…、427-10。图4C到4D中说明的每一存储器裸片(例如存储器裸片427)未在图4C到4D中说明其全部且可进一步包含图4C到4D中未说明的其它部分。举例来说,每一存储器裸片427可进一步包含图4C到4D中未说明的经配置以存储例如UDB的其它部分。在一些实施例中,存储于图4C到4D中说明的存储器裸片427的这些“部分”中的数据可经由DMI引脚传送。
如图4C中说明,UDB 423-1及423-2可存储于存储器裸片内,例如存储于存储器裸片427-1到427-8内。举例来说,UDB 423-1可存储于存储器裸片427-1到427-4内且UDB 423-2可存储于存储器裸片427-5到427-8内。存储于存储器裸片427-9及427-10内的PDB 439(包含LPCK奇偶校验数据)可对应于在LPCK编码器214-1处产生的LPCK奇偶校验数据以对存储于存储器裸片427-1、…、427-8中的UDB 423-1及423-2执行LPCK操作。
如图4C中说明,每一存储器裸片427-1、…、427-10可经配置以存储ECC数据431-1、…、431-10,如图4C中说明。每一ECC数据431可用于对存储于相同存储器裸片中的UDB423及/或PDB 439的一部分执行错误校正操作(例如单错误校正(SEC)操作)。举例来说,ECC数据431-1、…、431-10可用于对存储于存储器裸片427-1、…、427-10中的UDB 423及/或PDB439的相应部分执行错误校正操作。
如图4C中说明,分别存储于存储器裸片427-1、…、427-4及427-5、…、427-8内的CRC数据433-1及433-2(例如,替代地称为错误检测信息)可对应于在图2A中说明的CRC编码器211-1处产生的CRC数据。CRC数据433-1可(例如,在CRC解码器211-2处)用于对UDB 423-1执行错误检测操作,且CRC数据433-2可(例如,在CRC解码器213-2处)用于对存储于存储器裸片427-1、…、427-8上的UDB 423-2执行错误检测操作。如图4C中说明,存储于存储器裸片427-1、…、427-8内的CRC数据435(例如,替代地称为错误检测信息)可对应于在图2A及2B中说明的CRC编码器213-1处产生的CRC数据。CRC数据435可(例如,在相应CRC解码器213-2处)用于对存储于存储器裸片427-1、…、427-8内的UDB 423-1及423-2执行错误检测操作。
如图4C中说明,存储于存储器裸片427-1、…、427-8内的MAC数据437(例如,替代地称为认证数据)可对应于在认证编码器(例如图2A及2B中说明的认证编码器218-1)处产生的认证数据。MAC数据437可用于对存储于存储器裸片427-1、…、427-8内的UDB 423-1及423-2执行认证操作。
如图4C中说明,分别存储于存储器裸片427-1、…、427-3及427-4、…、427-6中的元数据(图4C中展示的“MD”)432-1及432-2可对应于与存储于存储器裸片427-1、…、427-8内的每一UDB 423-1及423-2相关联的元数据。此外,存储器装置426可经配置以存储TEE数据434,例如存储于存储器裸片427-8中,如图4C中说明。
转到图4D,图4D中说明的CRC数据433-1及433-2、CRC数据435、MAC数据437、PDB439、元数据432-1及432-2及TEE 434可类似于图4C中说明的CRC数据433-1及433-2、CRC数据435、MAC数据437、PDB 439、元数据432-1及432-2及TEE 434。
不同于图4C中说明的存储器裸片427,图4D的存储器裸片427-1、…、427-10未经配置以存储ECC数据(例如图4C中说明的ECC数据431),其指示存储于图4C中说明的用存储器裸片427中的额外位操作的存储器控制器200可停用ECC编码器/解码器对216且进行操作而不执行在对处已执行的错误校正操作。
在非限制性实例中,设备(例如图1中说明的计算装置101)可包含经配置以存储用户数据块(UDB)(例如图4A到4B及/或5A中说明的一或多个UDB 432及/或532)的第一数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-1、…、427-8及/或527-1、…、527-8)。第一数目个存储器单元中的每一存储器单元可包含相应第一部分,其包括具有第一类型的数个数据引脚且经配置以存储UDB的相应部分(例如存储于每一存储器单元中的UDB的一部分)。第一数目个存储器单元中的每一存储器单元可进一步包含相应第二部分,其包括具有第二类型的数个数据引脚且经配置以存储辅助数据。辅助数据对应于UDB且包括至少认证数据(例如图4C到4D及5B中分别说明的MAC数据437、537)以保护UDB的数据完整性及真实性。设备可进一步包含经配置以存储对应于UDB的奇偶校验数据(例如,呈图4及5中说明的PDB 439及/或539的形式)的第二数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-9及427-10及/或527-9)。
在一些实施例中,具有第一类型的数据引脚对应于数据输入/输出(DQ)总线且具有第二类型的数据引脚对应于数据掩码反转(DMI)引脚。在一些实施例中,第一数目个存储器单元或第二数目个存储器单元中的每一存储器单元经配置以每节拍传送四个数据位。
在一些实施例中,设备可包含(例如,可为)符合计算快速链接(CXL)的存储器系统,其包含第一及第二数目个存储器单元。存储器系统可经配置以根据基于外围组件互连快速(PCIe)6.0协议构建的CXL 3.0协议操作。
在一些实施例中,第一数目个存储器单元经配置以存储包含第一UDB(例如图4A到4B及5A中说明的UDB 423-1及/或523-1)及第二UDB(例如图4A到4B及5A中说明的UDB 423-2及/或523-2)的多个UDB。在此实例中,辅助数据可包含共同基于多个UDB产生的第一错误检测信息(例如图4C到4D及5B中分别说明的CRC数据435及/或535)、个别基于多个UDB中的第一UDB产生的第二错误检测信息(例如图4C到4D及5B中分别说明的CRC数据433及/或533)及个别基于多个UDB中的第二UDB产生的第三错误检测信息(例如图4C到4D及5B中分别说明的CRC数据433及/或533)。第一、第二及第三错误检测信息可对应于循环冗余校验(CRC)数据。
在一些实施例中,第二数目个存储器单元中的每一存储器单元可包含相应第一部分,其包括具有第一类型的数个数据引脚且经配置以存储奇偶校验数据的相应部分。第二数目个存储器单元中的每一存储器单元可进一步包含相应第二部分,其包括具有第二类型的数个数据引脚且经配置以存储对应于奇偶校验数据的辅助数据。在此实例中,辅助数据可包含错误校正信息以校正对应于第二数目个存储器单元中的相应存储器单元的奇偶校验数据的一部分中的特定数量的位错误。
在一些实施例中,存储于第一数目个存储器单元中的每一存储器单元的相应第二部分中的辅助数据可进一步包含对应于UDB的错误校正信息(例如图4C及5B中说明的ECC数据431及/或531)。错误校正信息可用于校正UDB的相应部分中的特定数量的位错误。
图5A是根据本公开的数个实施例的对应于一或多个数据保护(RAID)通道的存储器裸片的框图。经配置以存储DTB且在图5A中说明的实例存储器裸片527-P类似于实例存储器裸片427-P。在一些实施例中,DTB 538可针对16位突发长度的每一节拍在16位突发长度内通过4位数据传送进行传送,这还从每一存储器裸片(例如存储器裸片527-P)传送总共16位辅助数据。此外,UDB 523-1及523-2存储于其内的八个存储器裸片527-1、…、527-8可类似于UDB 423-1及423-2存储于其内的八个存储器裸片427-1、…、427-4及427-5、…、427-8。UDB 532-1及532-2可形成MTB,其进一步对应于图2及3中分别说明的高速缓存212及/或312的高速缓存线。
尽管实施例不限于此,但四个存储器裸片427可对应于图1到3中分别说明的通道125、225及/或325(例如其通道宽度)。举例来说,存储器裸片527-1、…、527-4可对应于一个通道125、225、325,而存储器裸片527-6、…、527-10可对应于不同通道125、225、325。因此,每一通道125、225、325可为4*Y位宽(例如16位宽)。
尽管实施例不限于此,但每一RAID通道可例如包含一个存储器裸片(例如存储器裸片527-9),其经配置以存储包含用于对每一RAID通道的存储器裸片527-1、…、527-8中的一者执行RAID操作的RAID奇偶校验数据的PDB 539。因此,每一RAID通道可包含八个存储器裸片527-1、…、527-8(经配置以存储UDB)及一个存储器裸片527-9(经配置以存储PDB),其可统称为RAID通道。因此,针对X位突发长度的每一节拍可传送9*Y个位(例如36个位)。可同时(例如,基本上同时,如本文中定义)存取这九个存储器裸片527-1、…、527-9。
计算系统(例如图1中说明的计算系统101)可包含数个RAID通道,例如八个RAID通道529-1、…、529-8(针对X位突发长度的每一节拍,其可传送72*Y个位,例如288个位),如图5A中说明,但实施例不限于计算系统可包含的特定数量的RAID通道。每一RAID通道529可为RAID存取的单元。举例来说,分别存储于相应RAID通道529中的每一UDB可通过使用存储于相同RAID通道529的一或多个存储器裸片中(例如,对应于相同RAID通道529)的数据(例如PDB)的RAID操作来恢复。
图5B说明根据本公开的数个实施例的UDB、LPCK奇偶校验数据及/或辅助数据可如何散布于存储器装置之间的实例。图5B中说明的存储器裸片527可类似于图5A中说明的LPCK通道的存储器裸片527-1、…、527-10。图5B中说明的每一存储器裸片(例如存储器裸片527)未在图5B中说明其全部且可进一步包含图5B中未说明的其它部分。举例来说,每一存储器裸片527可进一步包含图5B中未说明的经配置以存储例如UDB的其它部分。在一些实施例中,存储于图5B中说明的存储器裸片527的这些“部分”中的数据可经由DMI引脚传送。
UDB 523-1及523-2可存储于存储器裸片内,例如存储于存储器裸片527-1到527-8内。举例来说,UDB 523-1可存储于存储器裸片527-1到527-4内且UDB 523-2可存储于存储器裸片527-5到527-8内。存储于存储器裸片527-9内的PDB 539(包含RAID奇偶校验数据)可对应于在图3A及/或3B中说明的RAID编码器314-1处产生的RAID奇偶校验数据以对存储于存储器裸片527-1、…、527-9中的UDB 523-1及523-2及/或PDB 539执行RAID操作。
每一存储器裸片527-1、…、527-9可经配置以存储ECC数据531-1、…、531-9,如图5B中说明。每一ECC数据531可用于对存储于相同存储器裸片中的UDB 523及/或PDB 539的一部分执行错误校正操作(例如单错误校正(SEC)操作)。举例来说,ECC数据531-1、…、531-9可用于分别对存储于存储器裸片527-1、…、527-9中的UDB 523-1及523-2及/或PDB 539的相应部分执行错误校正操作。
分别存储于存储器裸片527-1、…、527-4及527-5、…、527-8内的CRC数据533-1及533-2(例如,替代地称为错误检测信息)可对应于在图3A中说明的CRC编码器311-1处产生的CRC数据。CRC数据533-1可(例如,在CRC解码器311-2处)用于对UDB 523-1执行错误检测操作,且CRC数据533-2可(例如,在CRC解码器313-2处)用于对存储于存储器裸片527-1、…、527-8上的UDB 523-2执行错误检测操作。如图5B中说明,存储于存储器裸片527-1、…、527-8内的CRC数据535(例如,替代地称为错误检测信息)可对应于在图3A及3B中说明的CRC编码器213-1处产生的CRC数据。CRC数据535可(例如,在相应CRC解码器313-2处)用于对存储于存储器裸片527-1、…、527-8内的UDB 523-1及523-2执行错误检测操作。
存储于存储器裸片527-1、…、527-8内的MAC数据537(例如,替代地称为认证数据)可对应于在认证编码器(例如图2A及2B中说明的认证编码器218-1)处产生的认证数据。MAC数据537可用于对存储于存储器裸片527-1、…、527-8内的UDB 523-1及523-2执行认证操作。
分别存储于存储器裸片527-1、…、527-3及527-4、…、527-6中的元数据(图5B中展示的“MD”)532-1及532-2可对应于与存储于存储器裸片527-1、…、527-8内的每一UDB 523-1及523-2相关联的元数据。此外,存储器装置526可经配置以存储TEE数据534,例如存储于存储器裸片527-8中,如图5B中说明。
在另一非限制性实例中,设备(例如图1中说明的计算装置101)可包含经配置以存储多个用户数据块(UDB)(例如图4A到4B及/或5A中说明的一或多个UDB 432及/或532)的第一数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-1、…、427-8及/或527-1、…、527-8)。第一数目个存储器单元中的每一存储器单元可包含相应第一部分,其包含数个数据引脚且可经配置以存储UDB的相应部分。第一数目个存储器单元中的每一存储器单元可进一步包含可与相应第一部分同时存取的相应第二部分。相应第二部分可包含数个数据掩码反转(DMI)引脚且可经配置以存储辅助数据。辅助数据可对应于UDB且包括至少认证数据(例如图4C到4D及5B中分别说明的MAC数据437、537)以保护UDB的数据完整性及真实性。在一些实施例中,辅助数据可包含共同基于多个UDB产生的消息认证码(MAC)数据。设备可进一步包含经配置以存储对应于UDB的奇偶校验数据(例如,呈图4及5中说明的PDB439及/或539的形式)的第二数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-9及427-10及/或527-9)。
在一些实施例中,第一及第二数目个存储器单元中的每一存储器单元可对应于存储器裸片(例如图4C到4D及5B中说明的存储器裸片427及/或527)。在一些实施例中,第一数目个存储器单元或第二数目个存储器单元中的每一存储器单元可经配置以每一节拍传送四个数据位。
在一些实施例中,第一或第二数目个存储器单元可包含一对链接存储器单元(例如图4B中说明的存储器裸片对427-1及427-3、427-2及427-4、427-5及427-7、427-6及427-8及/或427-9及427-10)。存储器单元对可包含经配置以经由外部数据链路传送数据的对的第一存储器单元(例如图4B中说明的存储器单元427-1、427-2、427-5、427-6及/或427-9)及经由内部数据链路耦合到第一存储器单元的对的第二存储器单元(例如图4B中说明的存储器单元427-3、427-4、427-7、427-8及/或427-10)。在此实例中,对的第二存储器单元可经配置以经由内部数据链路将数据传送到对的第一存储器单元以致使对的第一存储器单元经由外部数据链路进一步传送数据。
图6是根据本公开的数个实施例的用于存储器系统操作的存储器单元的方法的流程图650。方法650可由处理逻辑执行,处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法650由图1到3中分别说明的存储器控制器100、200及/或300执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应仅被理解为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各个实施例中可省略一或多个过程。因此,不是每个实施例中都需要所有过程。其它过程流程是可能的。
在651处,可经由一或多个数据引脚且以每节拍四个位的速率从第一数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-1、…、427-8及/或527-1、…、527-8)的相应第一部分传送数个用户数据块(UDB)(例如图4A到4B及/或5A中说明的一或多个UDB 432及/或532)。在653处,可在从第一数目个存储器单元传送数个UDB的同时经由一或多个数据掩码反转(DMI)引脚以每节拍四个位的速率从第一数目个存储器单元的相应第二部分传送对应于数个UDB的辅助数据。
在655处,可以每节拍四个位的速率且在从第一数目个存储器单元传送数个UDB的同时从第二数目个存储器单元(例如图4A到4B及/或5A中说明的存储器裸片427-9及427-10及/或527-9)传送奇偶校验数据块(PDB)(例如图4及/或5中说明的PDB 439及/或539)。在一些实施例中,可经由数个DMI引脚以每节拍四个位的速率从第二数目个存储器单元传送对应于奇偶校验数据块的错误校正信息(例如图4C及5B中说明的ECC数据431-9、431-10及/或531-9)。在此实例中,可使用错误校正信息对PDB执行错误校正操作以校正PDB中的特定数量的位错误。
在一些实施例中,可使用PDB对UDB执行错误校正操作以恢复对应于第一数目个存储器单元中的至少一个存储器单元的UDB的一部分。继续此实例,辅助数据可包含共同基于数个UDB产生的错误检测信息(例如图4C到4D及5B中分别说明的CRC数据435及/或535)。在一个实例中,可使用错误检测信息对数个UDB执行错误检测操作,且可响应于错误检测操作指示数个UDB具有一定量的位错误而对数个UDB执行错误校正操作以恢复对应于第一数目个存储器单元中的一个存储器单元的数个UDB的一部分。
替代地,在另一实例中,可对数个UDB执行错误校正操作以恢复对应于第一数目个存储器单元中的一个存储器单元的数个UDB的一部分。可在执行错误校正操作之后使用错误检测信息对数个UDB执行错误检测操作。
替代地,在不同实例中,可对各自对应于第一数目个存储器单元中的相应存储器单元的UDB的相应部分执行数个错误校正操作。在此实例中,可分别对数个错误校正操作的结果执行数个错误检测操作以确定结果中的哪一者含有一定量的位错误。
尽管本文中已说明及描述特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应理解,上文描述以说明性方式而非限制性方式进行。所属领域的技术人员将在检阅上文描述之后明白上文实施例的组合及本文中未明确描述的其它实施例。本公开的一或多个实施例的范围包含其中使用上文结构及过程的其它应用。因此,应参考所附权利要求书以及此权利要求书所授权的等效物的全范围来确定本公开的一或多个实施例的范围。
在前述具体实施方式中,为了简化本公开,将一些特征一起分组于单个实施例中。本公开的方法不应被解译为反映本公开的所公开实施例必须使用比每一权利要求中明确叙述的特征更多的特征的意图。实情是,如所附权利要求书反映,发明标的物在于少于所公开单个实施例的所有特征。因此,所附权利要求特此并入到具体实施方式中,其中每个权利要求独立作为单独实施例。
Claims (20)
1.一种用于提供可靠性、可用性及可维护性的设备,其包括:
第一数目个存储器单元(427;527-1、…、527-8),其经配置以存储用户数据块UDB(423;523),所述第一数目个存储器单元中的每一存储器单元包括:
相应第一部分,其包括具有第一类型的数个数据引脚且经配置以存储所述UDB的相应部分;及
相应第二部分,其包括具有第二类型的数个数据引脚且经配置以存储辅助数据,其中所述辅助数据对应于所述UDB且包括至少认证数据(437;537)以保护所述UDB的数据完整性及真实性;及
第二数目个存储器单元(427;527-9),其经配置以存储对应于所述UDB的奇偶校验数据(439;539)。
2.根据权利要求1所述的设备,其中:
具有所述第一类型的数据引脚对应于数据输入/输出DQ总线;且
具有所述第二类型的数据引脚对应于数据掩码反转DMI总线。
3.根据权利要求1所述的设备,其中所述第一数目个存储器单元或所述第二数目个存储器单元中的每一存储器单元经配置以每一节拍传送四个数据位。
4.根据权利要求1所述的设备,其中所述设备包括符合计算快速链接CXL的存储器系统,所述存储器系统包含所述第一及所述第二数目个存储器单元。
5.根据权利要求1到4中任一权利要求所述的设备,其中所述第一数目个存储器单元经配置以存储包含第一UDB及第二UDB的多个UDB(423;523),且其中所述辅助数据进一步包括:
第一错误检测信息(435;535),其共同基于所述多个UDB产生;
第二错误检测信息(433;533),其个别基于所述多个UDB中的所述第一UDB产生;及
第三错误检测信息(433;533),其个别基于所述多个UDB中的所述第二UDB产生。
6.根据权利要求5所述的设备,其中所述第一、第二及第三错误检测信息对应于循环冗余校验CRC数据。
7.根据权利要求1到4中任一权利要求所述的设备,其中所述第二数目个存储器单元中的每一存储器单元进一步包括:
相应第一部分,其包括具有所述第一类型的数个数据引脚且经配置以存储所述奇偶校验数据的相应部分;及
相应第二部分,其包括具有所述第二类型的数个数据引脚且经配置以存储对应于所述奇偶校验数据的辅助数据。
8.根据权利要求7所述的设备,其中所述辅助数据进一步包括错误校正信息(431-9、431-10;531-9)以校正对应于所述第二数目个存储器单元中的相应存储器单元的所述奇偶校验数据的一部分中的特定数量的位错误。
9.根据权利要求1到4中任一权利要求所述的设备,其中存储于所述第一数目个存储器单元中的每一存储器单元的所述相应第二部分中的所述辅助数据进一步包括对应于所述UDB且用于校正所述UDB的所述相应部分中的特定数量的位错误的错误校正信息(431-1、…、431-9;531-1、…、531-8)。
10.一种用于提供可靠性、可用性及可维护性的设备,其包括:
第一数目个存储器单元(427;527-1、…、527-8),其经配置以存储多个用户数据块UDB(423;523),所述第一数目个存储器单元中的每一存储器单元进一步包括:
相应第一部分,其包括数个数据引脚且经配置以存储所述UDB的相应部分;及
相应第二部分,其可与所述相应第一部分同时存取,所述相应第二部分包括数个数据掩码反转DMI引脚且经配置以存储辅助数据,其中所述辅助数据对应于所述UDB且包括至少认证数据(437;537)以保护所述UDB的数据完整性及真实性;及
第二数目个存储器单元(427;527-9),其经配置以存储对应于所述UDB的奇偶校验数据(439;539)。
11.根据权利要求10所述的设备,其中所述辅助数据包括共同基于所述多个UDB产生的消息认证码MAC数据。
12.根据权利要求10所述的设备,其中所述第一数目个存储器单元或所述第二数目个存储器单元中的每一存储器单元经配置以每一节拍传送四个数据位。
13.根据权利要求10所述的设备,其中所述第一或所述第二数目个存储器单元包括一对链接存储器单元,所述一对存储器单元进一步包括:
所述对的第一存储器单元(427-1、427-2、427-5、427-6、427-9),其经配置以经由外部数据链路传送数据;及
所述对的第二存储器单元(427-3、427-4、427-7、427-8、427-10),其经由内部数据链路耦合到所述第一存储器单元。
14.根据权利要求13所述的设备,其中所述对的所述第二存储器单元经配置以经由所述内部数据链路将数据传送到所述对的所述第一存储器单元以致使所述对的所述第一存储器单元经由所述外部数据链路进一步传送所述数据。
15.一种用于提供可靠性、可用性及可维护性的方法,其包括:
经由一或多个数据引脚且以每节拍四个位的速率从第一数目个存储器单元(427;
527-1、…、527-8)的相应第一部分传送数个用户数据块UDB(423;523);
在从所述第一数目个存储器单元传送所述数个UDB的同时,经由一或多个数据掩码反转DMI引脚以每节拍四个位的速率从所述第一数目个存储器单元的相应第二部分传送对应于所述数个UDB的辅助数据;及
在从所述第一数目个存储器单元传送所述数个UDB的同时,以每节拍四个位的速率从第二数目个存储器单元(427;527-9)传送奇偶校验数据块PDB(439;539)。
16.根据权利要求15所述的方法,其进一步包括:
经由数个DMI引脚以每节拍四个位的速率从所述第二数目个存储器单元传送对应于所述奇偶校验数据块的错误校正信息(431-9、431-10;531-9);及
使用所述错误校正信息对所述PDB执行错误校正操作以校正所述PDB中的特定数量的位错误。
17.根据权利要求15所述的方法,其进一步包括使用所述PDB对所述UDB执行错误校正操作以恢复对应于所述第一数目个存储器单元中的至少一个存储器单元的所述UDB的一部分。
18.根据权利要求17所述的方法,其中所述辅助数据进一步包括共同基于所述数个UDB产生的错误检测信息(435;535)且所述方法进一步包括:
使用所述错误检测信息对所述数个UDB执行错误检测操作;及
响应于所述错误检测操作指示所述数个UDB具有一定量的位错误,对所述数个UDB执行所述错误校正操作以恢复对应于所述第一数目个存储器单元中的一个存储器单元的所述数个UDB的一部分。
19.根据权利要求17所述的方法,其中使用所述PDB对所述UDB执行所述错误校正操作进一步包括:
对各自对应于所述第一数目个存储器单元中的相应存储器单元的所述UDB的相应部分执行数个错误校正操作;及
分别对所述数个错误校正操作的结果执行数个错误检测操作以确定所述结果中的哪一者不含一定量的位错误。
20.根据权利要求17所述的方法,其中所述辅助数据进一步包括共同基于所述数个UDB产生的错误检测信息(435;535)且所述方法进一步包括:
对所述数个UDB执行所述错误校正操作以恢复对应于所述第一数目个存储器单元中的一个存储器单元的所述数个UDB的一部分;及
在执行所述错误校正操作之后使用所述错误检测信息对所述数个UDB执行错误检测操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263357515P | 2022-06-30 | 2022-06-30 | |
US63/357,515 | 2022-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117331489A true CN117331489A (zh) | 2024-01-02 |
Family
ID=89289080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310611812.9A Pending CN117331489A (zh) | 2022-06-30 | 2023-05-29 | 用于提供可靠性、可用性及可维护性的存储器设备 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240004807A1 (zh) |
CN (1) | CN117331489A (zh) |
-
2023
- 2023-05-29 CN CN202310611812.9A patent/CN117331489A/zh active Pending
- 2023-06-28 US US18/215,434 patent/US20240004807A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240004807A1 (en) | 2024-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240004760A1 (en) | Apparatus for redundant array of independent disks | |
US11687273B2 (en) | Memory controller for managing data and error information | |
WO2022164507A1 (en) | Memory device protection | |
CN116701253A (zh) | 用于管理raid信息的存储器控制器 | |
US20240004751A1 (en) | Intra-controllers for error correction code | |
US11775382B2 (en) | Modified parity data using a poison data unit | |
US20240004759A1 (en) | Cache line data protection | |
US20240004791A1 (en) | Controller cache architeture | |
CN117420945A (zh) | 用于经由多个模式存取存储器装置的控制器和方法 | |
US12032443B2 (en) | Shadow DRAM with CRC+RAID architecture, system and method for high RAS feature in a CXL drive | |
US12099457B2 (en) | Controller for managing multiple types of memory | |
CN116486891A (zh) | 用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 | |
CN117331489A (zh) | 用于提供可靠性、可用性及可维护性的存储器设备 | |
US12072766B2 (en) | Data protection and recovery | |
US20240007265A1 (en) | Data authenticity and integrity check for data security schemes | |
US20240303159A1 (en) | Data protection and recovery | |
US20240005010A1 (en) | Non-cached data transfer | |
US20240126441A1 (en) | Controller architecture for reliability, availability, serviceability access | |
US11934270B2 (en) | Write command execution for data protection and recovery schemes | |
US11474920B2 (en) | Dynamic mapping of logical to physical memory for increased performance | |
US11960776B2 (en) | Data protection for stacks of memory dice | |
CN117331866A (zh) | 控制器高速缓存架构 | |
US20240086090A1 (en) | Memory channel disablement | |
US20240004799A1 (en) | Memory controller architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |