CN116486891A - 用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 - Google Patents
用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 Download PDFInfo
- Publication number
- CN116486891A CN116486891A CN202310105085.9A CN202310105085A CN116486891A CN 116486891 A CN116486891 A CN 116486891A CN 202310105085 A CN202310105085 A CN 202310105085A CN 116486891 A CN116486891 A CN 116486891A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- shadow
- cache
- dram
- 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 22
- 230000015654 memory Effects 0.000 claims abstract description 256
- 238000012937 correction Methods 0.000 claims abstract description 37
- 230000003321 amplification Effects 0.000 claims description 13
- 238000003199 nucleic acid amplification method Methods 0.000 claims description 13
- 125000004122 cyclic group Chemical group 0.000 claims description 3
- 238000013461 design Methods 0.000 description 24
- 238000001514 detection method Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 101100495835 Oryza sativa subsp. japonica Cht1 gene Proteins 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000032369 Primary transmission Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001427 coherent 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
- 230000007547 defect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000000047 product Substances 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
Abstract
本公开涉及用于CXL驱动器中的高RAS特征的具有CRC+RAID架构的影子DRAM、系统及方法。系统、设备和方法可包含一种用于提供高可靠性、可用性和可服务性RAS的多级高速缓存。所述多级高速缓冲存储器包括影子DRAM,其设置于耦合到存储器控制器高速缓存的易失性主存储器模块上,所述存储器控制器高速缓存设置于存储器控制器上。在第一写入操作期间,所述存储器控制器将利用强错误校正码ECC的数据从所述存储器控制器高速缓存写入到所述影子DRAM,而不写入RAID(廉价磁盘冗余阵列)奇偶校验数据。在第二写入操作期间,所述存储器控制器从所述影子DRAM写入利用所述强ECC的所述数据及写入所述RAID奇偶校验数据到设置于所述易失性主存储器模块上的存储器装置。
Description
相关申请的交叉参考
本申请要求2022年1月22日提交的第63/302,052号美国临时专利申请的权益,所述美国临时专利申请的公开内容全文以引用的方式并入本文中。
技术领域
本公开大体上涉及半导体存储器装置和方法,且更具体地说涉及用于影子动态随机存取存储器(DRAM)的设备、系统和方法,所述影子DRAM具有循环冗余校验(CRC)+廉价磁盘冗余阵列(RAID)架构用于提供高速计算链路(CXL)驱动器中的高可靠性、可用性和可服务性(RAS)。
背景技术
存储器装置(也称为“存储器介质装置”)通常提供为计算机或其它电子系统中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要功率来维持其数据(例如主机数据、错误数据等)且包含随机存取存储器(RAM)、DRAM、静态随机存取存储器(SRAM)、同步动态随机存取存储器(SDRAM)和闸流体随机存取存储器(TRAM)等等。非易失性存储器可以通过在未供电时保持所存储数据来提供持久数据,且可以包含(“与非”)NAND快闪存储器、(“或非”)NOR快闪存储器、铁电随机存取存储器(FeRAM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)和磁阻式随机存取存储器(MRAM),比如自旋力矩转移随机存取存储器(STT RAM)等等。
存储器装置可耦合到主机(例如,主机计算装置)以存储数据、命令和/或指令以供主机在计算机或电子系统正操作时使用。举例来说,数据、命令和/或指令可以在计算或其它电子系统的操作期间在主机与存储器装置之间传递。控制器可用于管理主机和存储器装置之间的数据、命令和/或指令的传递。
例如DRAM产品等一些存储器装置需要高RAS,因为DRAM存储器装置常常被错误困扰且可能导致数据中心发生相当长的服务器停工时间。因此,针对数据中心的低功率DRAM设计必须适合于提供高可靠性标准的架构。业务关键性服务器DRAM系统的共同期待是,其可承受单个DRAM芯片故障。
存在两种常见方法来解决故障和讹误问题-RAID和错误校正存储器(ECC存储器)。可利用RAID方案来检测和/或校正跨存储器系统的多个存储器装置(例如,芯片)的错误。RAID保护可允许存储器系统内的数据恢复,即使组成芯片完全损坏(例如,不运作)也如此。在一些RAID方法中,可使用错误校正来编码数据,使得可校正微小的错误且可检测大的错误。
然而,传统的RAID解决方案涉及写入放大,这会减小总带宽。写入放大是不合需要的现象,因为写入到存储介质的信息的量为既定写入的量的倍数。此倍增效应增加所需写入的次数,从而降低可靠性,且增加的写入也会消耗带宽。这已经致使行业从RAID转向chipkill(也称为“芯片删除(chip kill)”)设计,以(i)较高功率和(ii)裸片/成本损失为代价。
许多现代服务器采用chipkill校正,其为满足它们的可靠性要求的一种先进类型的存储器错误检测及校正。存储器容量的增加、存储器的密度和存储器子系统的速度的增加已经显著增加无法由标准ECC校正且导致系统挂起的多位存储器错误的风险。存储器装置可经设计用于存储错误检测/校正数据(例如,ECC数据)以提供错误校正/检测能力。
如本文所使用的术语“ECC”既定涵盖各种类型的错误检测和/或校正数据,例如校验和、循环冗余校验(CRC)数据、奇偶校验数据等。标准ECC存储器允许通常经由针对位故障实施单错误校正双错误检测(SECDED)来检测多位数据损坏和校正单位错误。相比于SECDED,chipkill校正通过即使在DRAM装置已经完全失效时也提供正确的存储器存取而显著改进了存储器可靠性。
chipkill操作的原理类似于防止磁盘故障的RAID,只是现在将概念应用于个别存储器芯片。chipkill存储器可校正多位存储器错误,且这样做显著地增加了系统可用性。chipkill运作使得如果芯片发生故障(或已经超过位错误的阈值),则使用另一备用的存储器芯片来替代发生故障的芯片。chipkill可提供单芯片校正双芯片检测(SCCDCD)用于芯片故障检测。
当芯片发生故障时,其导致码字中的错误。chipkill校正解决方案校正每一码字中的单个不良符号且检测多达两个不良符号。在典型的chipkill校正存储器系统中,存储器中的每一字以码字的形式存储,码字是数据字加上冗余校验位。每一码字通常分解为称为符号的位的群组。符号简单来说是邻近位的群组。符号在其保持数据的情况下称为数据符号,或在其保持用于错误检测或校正的冗余信息的情况下称为校验符号。数据符号的群组和保护所述数据符号群组的校验符号一起形成码字。每一数据芯片提供一个数据符号和额外/冗余芯片,使得其用于存储用于定位和校正有故障的符号(芯片)的校验符号。
chipkill校正解决方案需要每码字最少两个或三个校验符号来提供单符号校正(SSC)双符号检测(SSCDSD)。因为chipkill需要最少两个额外芯片来存储这些符号,所以chipkill的市售实施方案要求为每一存储器存取激活18个芯片(16用于数据,2个用于校验符号)。
然而,现有的chipkill校正解决方案引发高功率或存储开销或这两者,因为它们使用每码字专门的错误校正资源来执行错误校正。这需要用于校正的高开销且导致用于错误检测的高开销。可检测多达两个发生故障的装置且校正一个发生故障的SSCDSD装置的市售chipkill校正解决方案需要每存储器请求存取36个DRAM装置。
在此32+4配置中,每排具有36个装置导致高存储器功率消耗,因为应每存储器请求存取一排中的每个装置。另一方面,较弱的SSC解决方案仅需要每存储器请求存取18个装置。16+2和32+4配置两者提供chipkill(分别SSCDSD和SSC)且带来12.5%的冗余开销。此开销导致提供chipkill保护的DRAM模块的成本显著增加。
因此,常规RAID和chipkill方案两者都存在一些缺点。涉及16+2或32+4配置的使用的常规chipkill方法带来12.5%裸片开销及高功率消耗,因为需要在读取/写入操作期间同时存取所有芯片。尽管常规CRC+RAID设计相对于chipkill设计提供较低功率消耗,但其归因于写入放大而遭遇带宽损失。
在计算工业中,chipkill广泛地用于DRAM技术。RAID广泛地用于NAND技术,而非DRAM技术。已经作出若干尝试将RAID用于DRAM技术。然而,它们遭遇如上文所论述的缺点。
发明内容
本公开的一方面针对一种系统,所述系统包括:易失性主存储器模块,其被配置成存储数据;多级高速缓冲存储器,其包括:影子存储器高速缓存,其设置于所述易失性主存储器模块上;以及存储器控制器高速缓存,其耦合到所述影子存储器高速缓存;存储器控制器,其被配置成:接收待存储在所述易失性主存储器模块中的数据;将所述数据存储到设置于所述存储器控制器上的所述存储器控制器高速缓存;生成对应于所述数据的具有校正两个或两个以上位错误的能力的强错误校正码(ECC);在第一写入操作期间,将利用所述强ECC的所述数据从所述存储器控制器高速缓存写入到所述影子存储器高速缓存,而不写入RAID(廉价磁盘冗余阵列)奇偶校验数据;且在第二写入操作期间,从所述影子存储器高速缓存写入利用所述强ECC的所述数据及写入RAID奇偶校验数据到设置于所述易失性主存储器模块上的存储器装置。
本公开的另一方面针对一种方法,所述方法包括:在存储器控制器处接收待存储在添加的CXL易失性主存储器模块中的数据;将所述数据存储到设置于所述存储器控制器上的存储器控制器高速缓存;生成对应于所述数据的具有校正两个或两个以上位错误的能力的强错误校正码(ECC);在所述添加的CXL存储器模块上提供单通道影子DRAM,且将所述单通道影子DRAM指派到所述添加的CXL存储器模块的存储容量的一部分;在所述添加的CXL存储器模块上提供多通道存储器装置,且将所述多通道存储器装置指派到所述添加的CXL存储器模块的所述存储容量的剩余部分;以及在将利用所述强ECC的所述数据和RAID奇偶校验数据从所述单通道影子DRAM写入到所述多通道存储器装置之前,将利用所述强ECC的所述数据从所述存储器控制器高速缓存写入到所述单通道影子DRAM,而不写入RAID(廉价磁盘冗余阵列)奇偶校验数据。
附图说明
说明性实施例可采取各种组件及组件布置的形式。说明性实施例展示于附图中,在整个附图中,相同的参考标号可指示各图中的相应或类似的零件。附图仅用于示出实施例的目的并且不应被解释为限制本公开。鉴于图式的以下启发性描述,本公开的新颖方面对于相关领域的一般技术人员来说应变得显而易见。
图1示出根据本公开的实施例呈包含用于缓解写入放大的控制器的计算系统的形式的功能框图。
图2A示出常规15+1CRC+RAID设计。
图2B是图2A的常规15+1CRC+RAID设计的减小的带宽的曲线图。
图3A示出根据实施例具有CRC+RAID架构的影子DRAM。
图3B是图3A的具有CRC+RAID架构的影子DRAM的改进的带宽的曲线图。
图4是根据示例性实施例的二级高速缓存的框图。
图5示出根据一实施例操作二级高速缓存以缓解写入放大的实例方法的流程图。
图6是将本公开的15+1CRC+RAID+影子DRAM架构的度量与标准15+1RAID和标准8+2Chipkill进行比较的表。
具体实施方式
本文描述与用于提供CXL驱动器中的高RAS的具有CRC+RAID架构的影子DRAM相关的系统、设备和方法。实例方法可包含在存储器控制器处从主机接收命令和固件数据。存储器控制器可管理存储器装置,例如DRAM存储器装置,其中使用CXL协议在主机和包含存储器控制器的存储器装置之间通信。
本公开提供一种克服上文所论述的缺点的解决方案。本文中所描述的实施例利用低功率CRC+RAID架构的优势来实现chipkill层级保护以及较高带宽。本文中描述的实施例复原RAID架构的优势,RAID架构通过改进其带宽而具有明显低于低功率chipkill(LPCK)的开销。
一些实施例针对一种RAS解决方案以供下一代CXL驱动器实现高带宽及chipkill层级保护。此可通过在展现高带宽和低裸片/成本开销的主DRAM模块中执行写入操作之前使用影子DRAM来实施。影子DRAM可构建于CRC+RAID架构之上,且可充当具有影子DRAM的二级高速缓存。在写入操作期间,影子DRAM在数据写入到展现高带宽和低裸片/成本开销的主DRAM模块之前展现低带宽。
在一些实施例中,存储器系统可以是CXL兼容存储器系统(例如,存储器系统可包含外围组件互连高速(PCIe)/CXL接口)。CXL是被设计成促进下一代数据中心性能的高速中央处理单元(CPU)到装置和CPU到存储器互连。CXL技术维持(主机的)CPU存储器空间与所附接装置上的存储器之间的存储器相干性,其允许资源共享以实现较高性能、减小软件堆栈复杂性和降低总系统成本。
随着越来越多地使用加速器来补充CPU以支持例如人工智能和机器学习等新兴应用,CXL被设计成用于高速通信的行业开放标准接口。CXL技术构建于PCIe基础结构上,利用PCIe物理和电接口以提供例如输入/输出(I/O)协议、存储器协议(例如,初始地允许主机与加速器共享存储器)和相干性接口等先进区域协议。本公开包含与CXL技术相关的设备和方法,CXL技术提供插入到PCIe5槽中的单独的存储器模块,这为系统提供在模块内部添加电路以改进模块的能力。
在本公开的以下详细描述中,参考形成本公开的部分的附图,且图中通过图示的方式展示了可实践本公开的一或多个实施例的方式。足够详细地描述这些实施例以使所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不脱离本公开的范围的情况下作出过程、电气和结构性改变。
还应理解,本文中所使用的术语仅仅是出于描述特定实施例的目的且并不意图为限制性的。如本文中所使用,除非上下文另外明确规定,否则单数形式“一(a/an)”和“所述(the)”可包含单数和复数个指代物两者。另外,“若干”、“至少一个”和“一或多个”(例如,若干存储器组)可指一或多个存储器组,而“多个”意在指代超过一个此类事物。
此外,贯穿本申请以许可的意义(即,有可能、能够)而非以强制性的意义(即,必须)使用词语“可能”和“可”。术语“包含”和其派生词意指“包含(但不限于)”。视上下文而定,术语“耦合(coupled/coupling)”意味着物理上直接或间接地连接或用于访问和移动(发射)命令和/或数据。视上下文而定,术语“数据”及“数据值”在本文中可互换地使用且可具有相同含义。
图1示出根据本公开的实施例呈包含控制器100的计算系统101的形式的框图,所述控制器用于管理主机103和至少一个存储器装置(个别地称为或统称为存储器装置126)之间数据、命令和/或指令的传递。作为实例,控制器100可用于从存储器装置126读取数据和/或将数据写入到存储器装置126。计算系统101可包含存储器控制器100,其包括前端部分104、中央控制器部分110和后端部分119。此外,计算系统101可耦合到主机103和存储器装置126。
在各种实施例中,存储器装置126可以是DRAM存储器装置。在一些实施例中,本公开包含将在下文更详细地描述的与CXL附接存储器模块相关的设备和方法。本公开涉及经由CXL/PCIe5槽将DRAM作为存储器添加到系统中。本公开涉及添加的CXL模块,其具有使用允许双向发射的PCIe5链路添加存储器的能力。本公开提供经由CXL/PCIe5槽简单地将DRAM存储器添加到系统中或移除DRAM存储器的能力。此CXL附接的DRAM存储器模块允许增加存储器带宽。在一些实施例中,CXL DRAM存储器模块可以是具备PCIe/CXL接口的存储器扩展卡。
主机103可以是个人膝上型计算机、台式计算机、数码相机、移动电话、存储卡读卡器,或支持物联网(IoT)的装置,以及各种其它类型的系统。主机103可包含能够访问存储器系统的若干处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。主机103可包含系统母板和/或底板,且可包含若干处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。
前端部分104可包含柔性总线互连且使用CXL.io和CXL.mem。存储器控制器100可具有前端部分104,其包含用以经由输入/输出(I/O)分道102-1、102-2、...、102-N(个别地称为或统称为I/O分道102)将存储器控制器100耦合到主机103的接口106,以及用以管理接口106的接口管理电路108。在一些实施例中,可存在例如八(8)个I/O分道102,且在其它实施例中,可存在十六(16)个I/O分道102。在一些实施例中,所述多个I/O分道102可配置为单个端口。
将主机103耦合到存储器控制器100的接口106可包含例如采用合适的协议(例如,数据总线、地址总线,和命令总线,或组合数据/地址/命令总线)的物理接口。此些协议可为自定义或专有的,或者接口106可采用例如PCIe、CXL、Gen-Z、加速器的高速缓存相干互连(CCIX)等标准化协议。
在一个实施例中,接口106可以是耦合到I/O分道102的PCIe 5.0接口。在一些实施例中,存储器控制器100可根据CXL协议经由PCIe 5.0接口106接收涉及高速缓冲存储器112和/或存储器装置126中的至少一个的存取请求。接口106可经由I/O分道102从主机103接收数据。接口管理电路108可使用CXL协议来管理接口106。
多个链路和事务层可设置在接口管理电路108中以实现经由I/O分道102的通信。参考CXL事务层,可包含各个组件以实现用于PCIe/CXL.io通信和CXL.高速缓存及CXL.存储器事务的事务层处理。
存储器控制器100可包含中央控制器部分110,其可响应于接收到来自主机103的请求而控制存储器操作的性能。存储器操作可以是从存储器装置126读取数据的存储器操作或将数据写入到存储器装置126的操作。
中央控制器部分110可包含用以存储与存储器操作的性能相关联的数据的高速缓冲存储器112,和/或用以在数据存储在DRAM存储器装置126和/或高速缓冲存储器中之前对数据进行加密的安全组件115。安全组件115的实例可包含(但不限于)被配置成实施数据加密、数据散列、数据掩蔽和数据令牌化的软件和电路系统。在一些实施例中,响应于从主机103接收到请求,来自主机103的数据可存储在高速缓冲存储器的高速缓存线中。
在一些实施例中,高速缓冲存储器112中的数据可写入到存储器装置126。在一些实施例中,高速缓冲存储器112可被实施为SRAM高速缓冲存储器。在一些实施例中,数据可从高速缓冲存储器112传递以在写入到存储器装置126之前使用高级加密标准(AES)进行加密。在一些实施例中,可在数据存储在高速缓冲存储器中之前使用AES加密对数据进行加密。然而,实施例不限于此,因为举例来说,数据可在从高速缓冲存储器112读取之后加密。
中央控制器部分110可以具备RAID/ECC组件113,其包含RAID组件114和ECC组件116、118以提供CRC+RAID架构。在一些实施例中,RAID组件114和ECC组件116、118可体现为集成组件以形成RAID/ECC组件113上的单元或形成为中央控制器部分110中的单独的组件。RAID组件114可用于检测和/或校正跨存储器系统的多个存储器装置(例如,芯片)的错误。RAID保护可允许存储器系统内的数据恢复,即使组成芯片完全损坏(例如,不运作)也如此。
术语“ECC”既定涵盖各种类型的错误检测和/或校正数据,例如校验和、CRC数据、奇偶校验数据等。ECC编码电路系统116可用于对数据进行ECC编码,且ECC解码电路系统118可用于对数据进行ECC解码。如本文中所使用,术语“ECC编码”可以指代通过将冗余位添加到数据来编码数据。如本文中所使用,术语“ECC解码”可以指代检查经ECC编码的数据以检查数据中的任何错误。ECC编码电路系统可编码将写入到DRAM存储器装置126的数据。
在一些实施例中,数据中检测到的错误可在检测后立即校正。ECC解码电路系统可解码先前已经ECC编码的数据。使用ECC组件生成的ECC数据可写入到存储器装置126并存储于存储器装置126中。在一些实施例中,存储器控制器100可实施LPCK错误校正。如本文所使用和上文所论述,术语“chipkill”通常指代保护存储器系统(例如,计算系统101)使其免受任何单个存储器芯片故障以及来自单个存储器芯片的任何部分的多位错误的一种形式的错误校正。在一些实施例中,计算系统101可通过对数据使用chipkill校正算法来生成错误校正码。
存储器控制器100可包括后端部分119,其包括介质控制器和物理(PHY)层,所述物理层将存储器控制器100耦合到单个DRAM存储器装置或多个DRAM存储器装置126-1、126-2、...、126-N(个别地称为或统称为存储器装置126)的多个存储器排128。在一些实施例中,后端部分119可包含多个PHY层122和介质控制器部分120,所述介质控制器部分被配置成驱动将存储器控制器100耦合到存储器装置126的通道125。如本文所用,术语“PHY层”通常是指计算系统的开放系统互连(OSI)模型中的物理层。PHY层122可为OSI模型的第一(例如,最低)层且可用于经由物理数据发射介质传递数据。在一些实施例中,物理数据发射介质可以是多个通道125-1、125-2、...、125-N(个别地称为或统称为通道125)。
在一些实施例中,后端部分119被配置成将PHY层122分别耦合到存储器装置126的多个存储器排128-1、128-2、...、128-N(个别地称为或统称为存储器排128)。如本文所用,术语“存储器排”一般是指可同时存取的多个存储器芯片(例如,DRAM存储器芯片)。在一些实例中,存储器排可为六十四(64)位宽,且每一存储器排可具有八(8)页。然而,实施例不限于这些参数。
在一些实施例中,物理数据发射介质可被配置成耦合到单个DRAM存储器装置126的单个通道。控制器接口可包含具有一个发射通道和一个接收通道的一个CXL(PCIe5)链路。DRAM存储器可经由CXL/PCIe5槽添加到系统中。添加的CXL模块具有使用PCIe5链路添加存储器的能力从而允许双向发射。
图1中,PHY层122可包括多个PHY层,且介质控制器120可包括多个介质控制器。每一介质控制器120还可对应于所述多个PHY层122中的一个。在一些实施例中,每一介质控制器可独立于其它介质控制器而执行命令。因此,独立于其它PHY层和通道,数据可经由通道125从PHY层传递到存储器装置126。
在一些实施例中,中央控制器110还可包含多个RAID组件(个别地称为或统称为RAID组件114),其中RAID组件114中的每一个可耦合到不同ECC编码电路系统116和ECC解码电路系统118。RAID组件114中的每一个可对应于介质控制器(个别地称为或统称为介质控制器120)中的一个。这允许单独的RAID组件114和单独的介质控制器120专用于通道125-1、125-2、...、125-N中的每一个)。RAID状态机可实施RAID组件114的功能性。通过将单独的RAID组件114和单独的介质控制器120专用于每一通道125,每一通道125可个别地驱动且接收与其它通道125分开的命令和地址。
每一介质控制器120独立于其它介质控制器120执行命令。相比于LPCK架构,此RAID架构可关于多少数据写入到存储器装置126以及数据何时写入到存储器装置126向存储器系统提供更大灵活性。RAID组件114可跨多个通道125条带化。如果RAID组件114跨多个通道125条带化,则RAID状态机可跨多个通道125共享。这允许RAID组件114大体上同时驱动多个通道125。
后端部分119可被配置成将PHY层部分119耦合到多个存储器排。在一些实施例中,存储器排可包含DRAM存储器排128-1、...、128-N(个别地称为或统称为DRAM存储器排128)。后端部分119可经由所述多个通道125连接到所述多个存储器排128。因此,独立于其它PHY层122和通道125,数据可经由通道125从PHY层122传递到存储器装置126。
存储器装置126可包含存储器单元阵列,例如存储器阵列。存储器阵列的存储器单元可布置在多个存储器区(例如,存储器行、存储器列、存储器组子阵列、存储器组、逻辑存储器排或裸片等)中。在这些和其它实施例中,存储器阵列的存储器区可布置在一或多个群组(例如,存储器组的群组、一或多个逻辑存储器排或裸片等)中。存储器阵列中的存储器单元可包含不同存储器介质类型,包含电容、磁阻、铁电、相变等。
存储器控制器100可包含管理单元134以初始化、配置和/或监视存储器控制器100的特性。管理单元134可包含用以管理带外数据和/或命令的I/O总线、用以执行与初始化、配置和/或监视存储器控制器的特性相关联的指令的管理单元控制器,以及用以存储与初始化、配置和/或监视存储器控制器100的特性相关联的数据的管理单元存储器。如本文中所使用,术语“带外数据和/或命令”通常指代经由不同于网络的主发射介质的发射介质传递的数据和/或命令。举例来说,带外数据和/或命令可为使用与用于在网络内传递数据的发射介质不同的发射介质传递到网络的数据和/或命令。
图2A示出经包含用于比较的传统15+1CRC+RAID设计200。如上文所论述,常规CRC+RAID设计相对于chipkill设计提供更低功率消耗,但其归因于写入放大而遭遇带宽损失。写入放大是不合需要的现象,因为写入到存储介质的信息的量为既定写入的量的倍数。此倍增效应增加所需写入的次数,从而降低可靠性,且增加的写入也会消耗带宽。如本文中所使用,术语“带宽”通常指代在给定时间量内从存储器系统中的一个组件写入到同一存储器系统内或存储器系统外部的另一组件的最大数据量。
如本文所使用的术语“写入放大”指代当到存储器装置的实际写入的总数目通常超过既定由主机103写入的写入的数目时的事件。在图2A中,当将数据写入到存储器装置时,将呈校验和的形式的“复制”数据集写入到存储器子系统的另一部分。如果存储器故障发生,则通过从校验和信息再计算数据而立即恢复数据。此程序允许系统校正2、3和4个位错误,乃至整个DRAM芯片故障。然而,写入“复制”数据集导致写入放大,因为写入操作需要同时访问多个通道(例如,两个通道)。
一般来说,主机装置可作为写入操作的部分在数据通道上发射数据以将数据存储在存储器装置的存储器单元阵列中。确切地说,在图2A中,在传统15+1CRC+RAID设计200的写入操作期间,数据在十六个通道CH1、CH2、...CH16上从如上文所描述的存储器控制器100上包含的高速缓存传递到存储器装置260。高速缓存可被实施为SRAM高速缓冲存储器250。
存储器装置260可提供128GB存储容量。在这个设计中,存在存储数据的十五个操作通道CH1、CH2、…CH15,以及存储RAID奇偶校验数据的一个通道CH16,因此名称为15+1设计。十五个通道CH1、CH2、…CH15中的每一个传递64B用户数据块205,附加有4B CRC奇偶校验数据210。通道CH16传递64B RAID奇偶校验数据215,附加有4B CRC奇偶校验数据210。
可在写入或读取操作期间检查CRC奇偶校验数据210以检测数据块是否损毁。RAID奇偶校验数据215可用作用于将数据写入到存储器装置260中的额外层级的完整性保护。RAID奇偶校验数据215可用于在发生任何通道故障的情况下重建通道数据。这允许尽管一个裸片完全失效也可重建存储器内容。
为了执行到特定通道(例如,CH1)中的写入操作,合意地同时访问两个通道,且执行六(6)个操作。六(6)个操作包含3个逻辑页LP5读取和3个逻辑页LP5写入。在此实例中,同时访问这对通道:数据通道CH1和RAID奇偶校验通道CH16。通道CH1写入操作(块220A-235A和245A)和通道CH16 RAID奇偶校验写入操作(块220B-235B和245B)同时执行,如图2A中并行地展示。在块220A中,从存储器装置读出64B数据,其表示一(1)个读取操作。
同时在块220B中,从存储器装置读出64B RAID奇偶校验数据,其表示另一(1)个读取操作。在块225A中,从存储器装置读出4B CRC数据,其表示半(0.5)个读取操作。同时在块225B中,从存储器装置读出4B CRC数据,其表示另外半(0.5)个读取操作。4B读取为何等于半(0.5)个的原因是因为:在此实例中,存储器系统具有32B的存储器读取/写入粒度和128B的存储器(高速缓存)线大小。
此处,“读取/写入粒度”指代在每一读取或写入操作中读取或写入的最小数据量。这意味着可执行的最小读取/写入操作是基于32B的规模。基于比例因子,64B等于一(1)个读取/写入操作。因此,小于或等于32B的任何读取/写入操作设定成等于32B,其基于比例因子为0.5个读取/写入操作。
在块230A和230B中,执行CRC校验。如果CRC为正确的,则系统准备通过执行用户数据的校验和计算(这与块240中的RAID奇偶校验数据形成对比)而写入新用户数据(在块235A中)和新RAID奇偶校验数据(在块235B中),以存储于存储器装置中。接着,在块245A中,将新用户数据(1个写入操作)和新CRC奇偶校验数据(0.5个写入操作)写入到存储器装置(主存储器DRAM 260)。在块245B中,新RAID奇偶校验数据(1个写入操作)和新CRC奇偶校验数据(0.5个写入操作)通过写入到存储器装置(主存储器DRAM 260)而更新。
总而言之,写入操作上的放大需要包含3个逻辑页LP5读取和3个逻辑页LP5写入的六(6)个操作(指示为参考270)。总读取操作等于3个LP5读取,其包含数据通道CH1上的1.5个读取操作加上RAID奇偶校验数据通道CH16上的1.5个读取操作。总写入操作等于3个LP5写入,其包含数据通道CH1上的1.5个写入操作加上RAID奇偶校验数据通道CH16上的1.5个写入操作。
图2B是示出传统15+1CRC+RAID方案中的减小的CXL带宽的曲线图。归因于由RAID方案展现的写入放大,总带宽减小。关于图2A描述的六个操作使带宽降级。这致使行业从传统15+1CRC+RAID设计转向8+2chipkill设计,以(i)较高功率和(ii)裸片/成本损失为代价。
图3A示出根据本公开的实施例用于提供CXL驱动器中的高RAS的具有CRC+RAID架构300的影子DRAM。具有CRC+RAID架构300的影子DRAM是相比于传统设计200经修改的15+1设计。如上文所描述,传统15+1CRC+RAID设计归因于其写入放大而遭遇12GB/s和100%写入性能的写入带宽瓶颈。
与传统设计相比,本文中所描述的实施例改进CRC+RAID架构的写入带宽,而不会损失其功率优势。本文中所描述的实施例利用低功率CRC+RAID架构的优势来实现chipkill层级保护以及较高带宽。本文中所描述的实施例复原RAID架构的优势,RAID架构通过改进其带宽而具有明显低于LPCK的开销。
一些实施例针对一种RAS解决方案以供下一代CXL驱动器实现高带宽及chipkill层级保护。影子DRAM可构建于CRC+RAID架构之上,且可充当具有影子DRAM的多级(例如二级)高速缓存。此可通过在展现高带宽和低裸片/成本开销的主DRAM模块中执行写入操作之前使用影子DRAM来实施。
在一些实施例中,添加的CXL存储器模块352可包含影子DRAM 354,使得存储器控制器100的SRAM高速缓冲存储器350中的数据可在数据存储在DRAM存储器装置360中之前写入到影子DRAM 354以增加存储器可靠性。在各种实施例中,本公开包含基于DRAM易失性存储器的CXL模块实施方案。在一些实施例中,存储器控制器100可被配置成CXL接口控制器,其使得能够在CXL存储器模块352连接到的CXL通信路径上与例如CXL存储器模块352等一或多个CXL装置通信。CXL存储器模块352能够经由CXL协议通信。
在一些实施例中,CX存储器模块352可以是具备PCIe/CXL接口的存储器扩展卡。此配置能够简单地添加或移除存储器,正如存储装置。存储器扩展卡的目标可以是改进存储器容量或使存储器容量最大化。在一些实施例中,存储器扩展卡可具有裸片上ECC电路系统以改进RAS。ECC电路系统可为错误检测和/或校正提供例如CRC等功能性以增加可靠性。在至少一个实施例中,ECC电路系统可由存储器扩展卡的控制器管理。举例来说,根据本公开的存储器扩展卡的控制器可基于PCIe5物理层。控制器接口可包含具有一个发射通道和一个接收通道的一个CXL(PCIe5)链路。
返回参看图3A,高速缓存可被实施为二级高速缓存以通过消除写入放大而改进带宽。二级高速缓存可包含SRAM高速缓冲存储器350和影子DRAM 354(还见图4)。设置于存储器控制器100上的SRAM高速缓冲存储器350可操作为第一级高速缓存。设置于CXL存储器模块352上的影子DRAM 354可操作为第二级高速缓存。二级高速缓存提供用于写入操作的数据管线。在写入操作期间,影子DRAM 354可用于在主DRAM存储器模块360中执行写入操作之前存储数据。
影子DRAM 354可被配置成具有单个通道。因此,影子DRAM 354可以是单通道影子DRAM。物理数据发射介质可被配置成单个通道以将SRAM高速缓冲存储器350耦合到影子DRAM 354的单个端口。存储器控制器100和CXL存储器模块352之间可存在不止单个通道。在非限制性实例中,CXL存储器模块352可提供128GB存储容量。具有128GB存储容量的示例性CXL存储器模块352可具有可用于影子DRAM 354的单个通道处的数据存储的约12GB的空间。剩余116GB可用于主存储器DRAM模块360的十五个通道CH1、CH2、…CH15处的数据存储。
在此实例中的写入操作期间,SRAM高速缓冲存储器350将附加有4B CRC奇偶校验数据310的64B用户数据305传递到影子DRAM 354的单个通道,而不同时传递RAID奇偶校验数据。可通过添加强ECC来写入用户数据305以更可靠地写入用户数据。强ECC和CRC奇偶校验数据310可应用到用户数据块305以校正块内的错误。ECC和CRC奇偶校验数据310可用于施行强ECC。
在一些实施例中,ECC电路116可被配置成强ECC电路以对存储在影子DRAM 354中的数据执行错误校正过程。换句话说,强ECC电路116生成错误校正码,且在将用户数据305写入到影子DRAM 354的过程中为写入数据提供错误校正码。强ECC具有可校正两个或两个以上位错误的错误校正能力。因此,强ECC可能够校正大多数类型的缺陷所导致的大多数数据错误。
中央控制器110的ECC电路116可使用例如里德所罗门码等强ECC保护每一用户数据305。此存储器保护方案通过组合ECC和CRC以强有力地保护数据来提供彻底且强有力的保护,而无额外存储和传递开销。因此,到影子DRAM 354的写入不需要开销,因为影子DRAM354用于存储用户数据。
代替于访问多个通道和执行包含如图2A中执行的写入操作期间的RAID奇偶校验写入的多个操作,在图3A中的具有CRC+RAID架构300的影子DRAM的此实施方案中,数据从SRAM高速缓冲存储器350写入到影子DRAM 354的单个通道中,而不执行RAID奇偶校验或校正。相比之下,二级高速缓存设计访问单个通道且执行图3A中的1.5个操作;而传统15+1设计访问两个通道且执行图2A中的写入操作期间的六(6)个操作。
针对影子DRAM 354的操作的数目的计算是基于上文描述的粒度方案。在此实例中,存储器系统具有32B的存储器读取/写入粒度,使得可执行的最小读取/写入操作基于3B的规模。基于比例因子,64B等于一(1)个读取/写入操作。小于或等于32B的任何读取/写入操作设定成等于32B,其基于比例因子为0.5个读取/写入操作。因此,在图3A中,写入64B用户数据305表示1个写入操作,且写入4B CRC奇偶校验数据310表示0.5个写入操作,当向影子DRAM 354中写入时,这总计1.5个操作。
图4示出图3A中描述的二级高速缓存的框图。二级高速缓存可包括循序存储方案,其中影子DRAM 354定位于SRAM高速缓冲存储器350和主存储器DRAM 360之间。影子DRAM354可比其正施加阴影的主存储器DRAM 360小许多倍,且大小比SRAM高速缓冲存储器350大。影子DRAM 354可添加到数据路径以使带宽影响最小化,而不会影响总体性能。
在将用户数据写入到影子DRAM 354中之后,来自主机的针对所述特定数据的后续请求可立即从影子DRAM 354存取,而不存取主存储器DRAM 360。因此,针对影子DRAM 354中的数据的请求可比针对主存储器DRAM 360中的数据的请求更快地处理,从而实现较快的数据传递。
归因于影子DRAM 354的大小限制,影子DRAM 354不能永久地存储用户数据,而是仅临时存储数据持续某一时间使得数据可保存到主存储器DRAM 360。在高业务量期间,在此实例中,通过执行上文描述的1.5个操作,64B用户数据305和4B CRC数据310被写入且临时存储在影子DRAM 354中。在低业务量期间且当影子DRAM 354的容量已满时,影子DRAM354通过执行六(6)个操作将64B用户数据305和4B CRC数据310写入到主存储器DRAM 360。
返回参看图3A的实例,为了执行从影子DRAM 354到主存储器DRAM 360中的写入操作,存在各自存储64B用户数据305和4B CRC数据310的十四个操作通道CH1、CH2、...CH14,以及存储64B RAID奇偶校验数据315和4B CRC数据310的一个通道CH15。因此,主存储器DRAM 360可以是多通道存储器装置。在操作中,写入操作经由多个通道将数据写入到多通道存储器装置。合意地同时访问两个通道,且执行六(6)个操作。六(6)个操作包含3个逻辑页LP5读取和3个逻辑页LP5写入。
在此实例中,同时访问这对通道:数据通道CH1和RAID奇偶校验通道CH15。CH1写入操作(块320A-325A和345A)和CH15 RAID奇偶校验写入操作(块320B-325B和345B)同时执行,如图3A中并行地展示。在块320A中,从存储器装置读出64B数据,其表示一(1)个读取操作。同时在块320B中,从存储器装置读出64B RAID奇偶校验数据,其表示另一(1)个读取操作。在块325A中,从存储器装置读出4B CRC数据,其表示半(0.5)个读取操作。同时在块325B中,从存储器装置读出4B CRC数据,其表示另外半(0.5)个读取操作。
在块330A和330B中,执行CRC校验。如果CRC为正确的,则系统准备通过执行用户数据的校验和计算(这与块340中的RAID奇偶校验数据形成对比)而写入新用户数据(在块335A中)和新RAID奇偶校验数据(在块335B中),以存储于存储器装置中。接着,在块345A中,将新用户数据(1个写入操作)和新CRC奇偶校验数据(0.5个写入操作)写入到存储器装置(主存储器DRAM 360)。在块345B中,新RAID奇偶校验数据(1个写入操作)和新CRC奇偶校验数据(0.5个写入操作)通过写入到存储器装置(主存储器DRAM 360)而更新。
对于二级高速缓存设计,操作的总数目为1.5+6个操作(指示为参考370)以经由影子DRAM 354将数据从SRAM高速缓冲存储器350写入到主存储器DRAM 360。1.5个操作归于包含将数据写入到影子DRAM 354中。六(6)个操作归于将数据从影子DRAM 354写入到主存储器DRAM 360中。因此,相比于六(6)个操作的传统设计,操作的总数目增加到1.5+6个操作。然而,在将数据写入到存储器模块352的影子DRAM 354时,所需的操作的数目为1.5个操作,这具有带宽方面的显著性能优势。
图3B是示出15+1CRC+RAID+影子DRAM方案中的改进的CXL带宽的曲线图。15+1CRC+RAID+影子DRAM架构增加总CXL带宽,这由点线375描绘。对于写入操作,增加的CXL带宽由点线380描绘。对于读取操作,增加的带宽由点线385描绘。此15+1CRC+RAID+影子DRAM架构还将开销从传统设计的12.5%减小到6.67%。在15+1CRC+RAID+影子DRAM架构中,在写入操作期间,一次访问仅一个芯片。相比之下,传统chipkill设计需要同时访问所有芯片以形成高速缓存线。然而,本公开的RAID涉及使用单个DRAM芯片存取来形成高速缓存线。
图5是示出15+1CRC+RAID+影子DRAM架构的二级高速缓存的操作的方法500的流程图。在框510中,在存在高需求的高业务量期间,系统在将数据传递到主存储器DRAM 360之前向影子DRAM 354中写入。系统向影子DRAM 354中执行利用强ECC和CRC的冗余写入操作,而不涉及RAID奇偶校验写入。此导致较高读取和写入带宽,从而致使实际CXL带宽增加。
在框520中,在系统闲置时的低业务量期间,系统在数据已利用强ECC和CRC编码之后将数据从影子DRAM 354写入到主存储器DRAM 360。这使方法500能够利用低功率CRC+RAID以及较高带宽的优势。
图6是将本公开的15+1CRC+RAID+影子DRAM架构的度量与标准15+1RAID和标准8+2Chipkill进行比较的表。根据本公开,影子DRAM可构建于CRC+RAID架构之上,且可充当具有影子DRAM的二级高速缓存。本公开改进CRC+RAID架构的写入带宽,而不损失其功率和OP的优点。
例如用于计算系统、DRAM和直接映射高速缓存配置及定时参数的所有数值为示例性的,且可以是不受本公开中提供的实例限制的其它数值。
如将了解,可添加、交换和/或去除本文中的各个实施例中展示的元件,以便提供本公开的若干额外实施例。另外,图中提供的元件的比例和/或相对尺度意图说明本公开的某些实施例,并且不应在限制性意义上看待。
虽然已经在本文中说明并描述了特定实施例,但是所属领域的一般技术人员将了解,经计算以实现相同结果的布置可以替代所展示的特定实施例。本公开既定涵盖本公开的一或多个实施例的调适或变化。应理解,已以说明性方式而非限制性方式作出以上描述。所属领域的技术人员在审阅以上描述后将显而易见上述实施例的组合及本文中未特定描述的其它实施例。本公开的所述一或多个实施例的范围包含在其中使用以上结构和过程的其它应用。因此,本公开的一或多个实施例的范围应参考所附权利要求书以及此权利要求书被赋予的等效物的完整范围来确定。
在以上具体实施方式中,出于简化本公开的目的而将一些特征一并归到单个实施例中。这一公开方法不应被理解为反映以下意图:本公开的所公开实施例必须使用比每一权利要求中明确陈述的特征更多的特征。实际上,如所附权利要求书所反映,本发明主题在于所公开的单个实施例的不到全部的特征。因此,所附权利要求书特此并入于具体实施方式中,其中每项权利要求就其自身而言作为单独实施例存在。
Claims (20)
1.一种系统,其包括:
易失性主存储器模块,其被配置成存储数据;
多级高速缓冲存储器,其包括:
影子存储器高速缓存,其设置于所述易失性主存储器模块上;以及
存储器控制器高速缓存,其耦合到所述影子存储器高速缓存;
存储器控制器,其被配置成:
接收待存储在所述易失性主存储器模块中的数据;
将所述数据存储到设置于所述存储器控制器上的所述存储器控制器高速缓存;
生成对应于所述数据的具有校正两个或两个以上位错误的能力的强错误校正码ECC;
在第一写入操作期间,将利用所述强ECC的所述数据从所述存储器控制器高速缓存写入到所述影子存储器高速缓存,而不写入RAID(廉价磁盘冗余阵列)奇偶校验数据;且
在第二写入操作期间,从所述影子存储器高速缓存写入利用所述强ECC的所述数据及写入RAID奇偶校验数据到设置于所述易失性主存储器模块上的存储器装置。
2.根据权利要求1所述的系统,其中所述影子存储器高速缓存为影子DRAM。
3.根据权利要求2所述的系统,其中所述存储器控制器进一步被配置成:
在所述第一写入操作期间,经由单个通道将利用所述强ECC的所述数据从所述存储器控制器高速缓存写入到所述影子DRAM,而不写入所述RAID奇偶校验数据;且
在所述第二写入操作期间,经由相应通道同时从所述影子存储器DRAM写入利用所述强ECC的所述数据及写入所述RAID奇偶校验数据以访问设置于所述易失性主存储器模块上的多通道存储器装置。
4.根据权利要求1所述的系统,其中所述影子存储器高速缓存为单通道影子DRAM。
5.根据权利要求1所述的系统,其中所述影子存储器高速缓存为构建于循环冗余检查CRC+廉价磁盘冗余阵列RAID架构之上的影子DRAM。
6.根据权利要求5所述的系统,其中所述CRC+RAID架构包含RAID组件和ECC组件。
7.根据权利要求1所述的系统,其中所述第一写入操作是包含写入利用所述强ECC的所述数据和第一CRC码的冗余写入操作;且
其中所述第二写入操作包含写入利用所述强ECC的所述数据和所述第一CRC码以及所述RAID奇偶校验数据和第二CRC码。
8.根据权利要求7所述的系统,其中所述强ECC包含chipkill码和里德所罗门码中的至少一个。
9.根据权利要求1所述的系统,其中所述多级高速缓存为二级高速缓存。
10.根据权利要求1所述的系统,其中所述存储器控制器进一步被配置成:
在高需求周期期间执行所述第一写入操作;且
在低需求周期期间执行所述第二写入操作。
11.根据权利要求10所述的系统,其中所述存储器控制器进一步被配置成当所述影子存储器高速缓存装满所述数据时执行所述第二写入操作。
12.根据权利要求1所述的系统,其中所述易失性主存储器模块为高速计算链路CXL存储器模块;且
所述存储器控制器使用PCIe/CXL接口来与所述CXL存储器模块通信。
13.根据权利要求1所述的系统,其中所述易失性主存储器模块为存储器扩展卡。
14.根据权利要求1所述的系统,其中所述易失性主存储器模块为添加的CXL存储器模块。
15.根据权利要求1所述的系统,其中所述存储器控制器进一步被配置成:
在所述第一写入操作期间执行比在所述第二写入操作期间执行的操作的数目少的数目的操作。
16.根据权利要求15所述的系统,其中基于所述系统的粒度,所述第一写入操作期间执行的操作的数目等于1.5个操作;且
其中基于所述系统的所述粒度,所述第二写入操作期间执行的操作的数目等于6个操作。
17.根据权利要求1所述的系统,其中所述存储器控制器高速缓存为SRAM。
18.根据权利要求1所述的系统,其中所述存储器控制器包括:
前端部分,其包括用以将所述存储器控制器耦合到主机的接口;
中央控制器部分,其被配置成致使执行存储器操作且包括所述存储器控制器高速缓存以存储与所述执行所述存储器操作相关联的所述数据,且所述中央控制器部分包括被配置成在将所述数据存储在所述易失性主存储器模块中之前对所述数据进行加密的ECC组件;以及
后端部分,其被配置成经由单个通道将所述存储器控制器耦合到所述易失性主存储器模块,所述单个通道能够用于将所述数据写入到所述易失性主存储器模块;
其中所述存储器控制器高速缓存为SRAM存储器高速缓存;
其中所述影子存储器高速缓存为单通道影子DRAM;且
其中所述易失性主存储器模块为添加的CXL存储器模块。
19.根据权利要求18所述的系统,其中所述存储器控制器在经由多个通道执行到多通道存储器装置的所述第二写入操作之前经由所述单通道影子DRAM执行所述第一写入操作以便改进写入带宽并缓解CXL驱动器中的写入放大。
20.一种方法,其包括:
在存储器控制器处接收待存储在添加的CXL易失性主存储器模块中的数据;
将所述数据存储到设置于所述存储器控制器上的存储器控制器高速缓存;
生成对应于所述数据的具有校正两个或两个以上位错误的能力的强错误校正码ECC;
在所述添加的CXL存储器模块上提供单通道影子DRAM,且将所述单通道影子DRAM指派到所述添加的CXL存储器模块的存储容量的一部分;
在所述添加的CXL存储器模块上提供多通道存储器装置,且将所述多通道存储器装置指派到所述添加的CXL存储器模块的所述存储容量的剩余部分;以及
在将利用所述强ECC的所述数据和RAID奇偶校验数据从所述单通道影子DRAM写入到所述多通道存储器装置之前,将利用所述强ECC的所述数据从所述存储器控制器高速缓存写入到所述单通道影子DRAM,而不写入RAID(廉价磁盘冗余阵列)奇偶校验数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/302,052 | 2022-01-22 | ||
US18/156,340 US20230236933A1 (en) | 2022-01-22 | 2023-01-18 | Shadow dram with crc+raid architecture, system and method for high ras feature in a cxl drive |
US18/156,340 | 2023-01-18 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116486891A true CN116486891A (zh) | 2023-07-25 |
Family
ID=87210870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310105085.9A Pending CN116486891A (zh) | 2022-01-22 | 2023-01-30 | 用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116486891A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116665727A (zh) * | 2023-07-26 | 2023-08-29 | 成都泛联智存科技有限公司 | 写i/o汇聚方法、装置、存储设备和存储介质 |
-
2023
- 2023-01-30 CN CN202310105085.9A patent/CN116486891A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116665727A (zh) * | 2023-07-26 | 2023-08-29 | 成都泛联智存科技有限公司 | 写i/o汇聚方法、装置、存储设备和存储介质 |
CN116665727B (zh) * | 2023-07-26 | 2023-09-22 | 成都泛联智存科技有限公司 | 写i/o汇聚方法、装置、存储设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190034270A1 (en) | Memory system having an error correction function and operating method of memory module and memory controller | |
US11409601B1 (en) | Memory device protection | |
CN111566738B (zh) | 存储器系统中的有效和选择性的备用位 | |
US11714704B2 (en) | Modified checksum using a poison data pattern | |
US20230236934A1 (en) | Instant write scheme with dram submodules | |
US11687273B2 (en) | Memory controller for managing data and error information | |
CN116486891A (zh) | 用于cxl驱动器中的高ras特征的具有crc+raid架构的影子dram、系统及方法 | |
US11726665B1 (en) | Memory extension with error correction | |
US20240004791A1 (en) | Controller cache architeture | |
US20240004759A1 (en) | Cache line data protection | |
US9147499B2 (en) | Memory operation of paired memory devices | |
US20220261363A1 (en) | Controller for managing multiple types of memory | |
US20230280940A1 (en) | Memory controller for managing raid information | |
US20230236933A1 (en) | Shadow dram with crc+raid architecture, system and method for high ras feature in a cxl drive | |
KR20230121611A (ko) | 시스템 메모리 신뢰성, 가용성 및 서비스 가능성(ras)을개선하기 위한 적응형 오류 정정 | |
US20240004799A1 (en) | Memory controller architecture | |
US20240086090A1 (en) | Memory channel disablement | |
US11960770B2 (en) | Access request management using sub-commands | |
US11960776B2 (en) | Data protection for stacks of memory dice | |
US11934270B2 (en) | Write command execution for data protection and recovery schemes | |
US20230395126A1 (en) | Row hammer mitigation using hierarchical detectors | |
US20240126441A1 (en) | Controller architecture for reliability, availability, serviceability access | |
US20240028249A1 (en) | Controllers and methods for accessing memory devices via multiple modes | |
US20240038291A1 (en) | Selectable row hammer mitigation | |
CN117331866A (zh) | 控制器高速缓存架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |