CN115858253A - 跨互连的存储器镜像的技术 - Google Patents

跨互连的存储器镜像的技术 Download PDF

Info

Publication number
CN115858253A
CN115858253A CN202211018111.6A CN202211018111A CN115858253A CN 115858253 A CN115858253 A CN 115858253A CN 202211018111 A CN202211018111 A CN 202211018111A CN 115858253 A CN115858253 A CN 115858253A
Authority
CN
China
Prior art keywords
memory
agent
sending
primary
mirrored
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
Application number
CN202211018111.6A
Other languages
English (en)
Inventor
N·辛格
D·W·刘
S·文卡特斯瓦兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN115858253A publication Critical patent/CN115858253A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms

Abstract

公开了一种用于跨互连进行存储器镜像的技术。在说明性实施例中,控制单个存储器通道的主要存储器代理可以通过经由互连将经镜像的存储器操作发送到次要存储器代理来实现存储器镜像。在说明性实施例中,次要存储器代理可能没有意识到其正在执行经镜像的存储器操作。主要存储器代理可以处理错误恢复、清理和到次要存储器代理的故障转移。

Description

跨互连的存储器镜像的技术
背景技术
存储器镜像可以用于使用与两个存储器通道接合的单个存储器代理来存储数据的两个副本。如果在主要通道上的读取操作失败,则存储器代理可以将数据写入两个通道并在次要通道上访问数据。然而,具有单通道存储器的系统不能使用单个存储器代理来实现镜像,因为代理无法访问两个独立的存储器通道。
附图说明
本文描述的概念在附图中通过示例而不是通过限制的方式示出。为了说明的简单和清楚,附图中示出的元素不一定按比例绘制。在认为适当的情况下,已经在附图中重复附图标记以指示对应或类似的元素。
图1示出了根据某些实施例的计算机系统的组件。
图2示出了根据某些实施例的图1的计算机系统的存储器子系统的组件。
图3示出了用于执行具有镜像的存储器写入操作的至少一个实施例的简化流程图。
图4示出了用于执行具有错误恢复的存储器读取操作的至少一个实施例的简化流程图。
图5示出了用于执行具有故障转移到第二通道的存储器读取操作的至少一个实施例的简化流程图。
图6示出了用于执行具有故障转移到第二通道的存储器写入操作的至少一个实施例的简化流程图。
具体实施方式
在说明性实施例中,如下文更详细描述的,存储器子系统112包括主要存储器代理202和次要存储器代理206。在说明性实施例中,主要存储器代理202针对由存储器代理202控制的存储器范围中的一些或全部实现存储器镜像。在说明性实施例中,次要存储器代理206没有意识到正在发生存储器镜像。主要存储器代理202将所有存储器写入操作复制到次要存储器代理206,并且当由主要存储器代理202进行的读取操作失败时将读取操作发送到次要存储器代理206,如下文更详细讨论的。
虽然本公开的概念容易受到各种修改和替代形式的影响,但本公开的特定实施例已经在附图中通过示例的方式示出并且将在本文中详细描述。然而,应当理解,并不旨在将本公开的概念限制于所公开的特定形式,而是相反,旨在涵盖与本公开和所附权利要求书一致的所有修改、等同物和替代方案。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以或可以不一定包括该特定特征、结构或特性。此外,这些短语不一定指代相同的实施例。此外,当结合实施例描述特定特征、结构或特性时,主张的是结合其他实施例实现这种特征、结构或特性在本领域技术人员的知识范围内,无论是否明确描述。此外,应当认识到的是,被包括在以“至少一个A,B和C”的形式的列表中的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。类似地,在以“A,B或C中的至少一个”的形式列出的项目可以表示(A);(B);(C);(A和B);(A和C);(B和C);或(A,B和C)。
在一些情况下,可以以硬件、固件、软件或其任何组合实现所公开的实施例。所公开的实施例还可以被实现为由暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带或存储在该暂时性或非暂时性机器可读存储介质上的指令,该指令由一个或多个处理器读取和执行。机器可读存储介质可以体现为用于以机器可读的形式存储或发送信息的任何存储设备、机制或其他物理结构(例如,易失性或非易失性存储器、介质盘或其他介质设备)。
在附图中,一些结构或方法特征可以以特定布置和/或次序示出。然而,应当认识到的是,可能不要求这样的特定布置和/或次序。而是,在一些实施例中,这样的特征可以以不同于说明性附图中所示的方式和/或次序来布置。此外,在特定附图中包括结构或方法特征并不意味着暗示在所有实施例中都要求这种特征,并且在一些实施例中,可能不包括这种特征或者这种特征可以与其他特征组合。
虽然附图描绘了特定的计算机系统,但各种实施例的概念适用于任何合适的计算机系统。其中可以使用本公开的教导的系统的示例包括台式计算机系统、服务器计算机系统、存储系统、手持设备、平板计算机、其他薄笔记本、片上系统(SOC)设备和嵌入式应用。手持设备的一些示例包括蜂窝电话、数码相机、媒体播放器、个人数字助理(PDA)和手持PC。嵌入式应用可以包括微控制器、数字信号处理器(DSP)、SOC、网络计算机(NetPC)、机顶盒、网络集线器、广域网(WAN)交换机或者可以执行以下教导的功能和操作的任何其他系统。本公开的各种实施例可以在任何合适的计算环境(例如,个人计算设备、服务器、大型机、云计算服务提供商基础设施、数据中心、通信服务提供商基础设施(例如,演进分组核心的一个或多个部分))或者包括一个或多个计算设备的其他环境中使用。
图1示出了根据某些实施例的计算机系统100的组件。系统100包括耦合到外部输入/输出(I/O)控制器104的中央处理单元(CPU)102、诸如固态驱动器(SSD)之类的存储设备106以及系统存储器设备107。在操作期间,数据可以在存储设备106和/或系统存储器设备107与CPU 102之间传送。在各种实施例中,操作系统和/或由处理器108执行的其他软件应用可以发出涉及存储设备106或系统存储器设备107的特定存储器访问操作(例如,读取操作和写入操作)。在各种实施例中,存储设备106可以包括存储设备控制器118以及一个或多个存储器芯片116,每个存储器芯片116包括任何合适数量的存储器分区122。
在各种实施例中,存储器分区122可以包括3D交叉点存储器阵列。在一些实施例中,3D交叉点存储器阵列可以包括无晶体管(例如,至少相对于存储器的数据存储元件)可堆叠交叉点架构,其中存储器单元位于布置成网格的行地址线和列地址线的交叉处。在其他实施例中,存储器分区122可以包括另一类型存储器(例如,3D NAND)的阵列。
CPU 102包括处理器108,例如,微处理器、嵌入式处理器、数字信号处理器(DSP)、网络处理器、手持处理器、应用处理器、协处理器、SOC或者用于执行代码(例如,软件指令)的其他设备。在所描绘的实施例中,处理器108包括两个处理元件(在所描绘的实施例中为核心114A和核心114B),这两个处理元件可以包括不对称处理元件或对称处理元件。然而,处理器可以包括可以是对称或不对称的任何数量的处理元件。CPU 102在本文中可以被称为主机计算设备(但是主机计算设备可以是可操作以向存储设备106发出存储器访问命令的任何合适的计算设备)。
在一个实施例中,处理元件指代支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元、线程槽、线程、处理器单元、上下文、上下文单元、逻辑处理器、硬件线程、核心和/或能够保持处理器的状态(例如,执行状态或架构状态)的任何其他元件。换言之,在一个实施例中,处理元件指代能够独立地与代码(例如,软件线程、操作系统、应用或其他代码)相关联的任何硬件。物理处理器(或处理器插座)典型地指代集成电路组件,其潜在地包括任意数量的其他处理元件,例如,核心或硬件线程。
核心114(例如,114A或114B)可以指代位于能够维持独立架构状态的集成电路组件上的逻辑,其中每个独立维持的架构状态与至少一些专用执行资源相关联。硬件线程可以指代位于能够维持独立架构状态的集成电路组件上的任何逻辑,其中独立维持的架构状态共享对执行资源的访问。可以看出,当某些资源被共享而其他资源专用于架构状态时,在硬件线程和核心的命名法之间的界线重叠。然而,操作系统经常将核心和硬件线程视为单独的逻辑处理器,其中操作系统能够单独调度每个逻辑处理器上的操作。
在各种实施例中,处理元件还可以包括一个或多个算术逻辑单元(ALU)、浮点单元(FPU)、高速缓存、指令流水线、中断处理硬件、寄存器或其他硬件以促进处理元件的操作。
I/O控制器110是集成I/O控制器,该集成I/O控制器包括用于在CPU 102与I/O设备之间通信数据的逻辑。在其他实施例中,I/O控制器110可以在与CPU 102不同的芯片上。I/O设备可以指代能够将数据传送到电子系统(例如,CPU 102)和/或从电子系统接收数据的任何合适的设备。例如,I/O设备可以包括音频/视频(A/V)设备控制器,例如,图形加速器或音频控制器;数据存储设备控制器,例如,磁存储盘或光存储盘控制器;无线收发机;网络处理器;网络接口控制器;或用于另一输入设备(例如,监视器、打印机、鼠标、键盘或扫描仪)的控制器;或者其他合适的设备。在特定实施例中,I/O设备可以包括通过I/O控制器110耦合到CPU 102的存储设备106。
I/O设备可以使用任何合适的信令协议与CPU 102的I/O控制器110通信,这些信令协议例如外围组件互连(PCI)、快速PCI(PCIe)、计算快速链路(CXL)、通用串行总线(USB)、串行附接SCSI(SAS)、串行ATA(SATA)、光纤通道(FC)、IEEE 802.3、IEEE 802.11或其他当前或未来的信令协议。在特定实施例中,I/O控制器110和相关联的I/O设备可以根据逻辑设备接口规范来通信数据和命令,该逻辑设备接口规范例如快速非易失性存储器(NVMe)(例如,如由www.nvmexpress.org/specifications/处可用的规范中的一个或多个规范所描述的)或高级主机控制器接口(AHCI)(例如,如由一个或多个AHCI规范(例如,在http://www.intel.com/content/www/us/en/io/serial-ata/serial-ata-ahci-spec-rev1-3-1.html处可获得的串行ATA AHCI:Specification,Rev.1.3.1)所描述的)。在各种实施例中,耦合到I/O控制器110的I/O设备可以位于芯片外(例如,不在与CPU 102相同的芯片上),或者可以与CPU 102集成在相同的芯片上。
存储器子系统112是集成存储器控制器,其控制去往和来自一个或多个系统存储器设备107的数据流。存储器子系统112可以包括可操作以从系统存储器设备107读取、写入系统存储器设备107或者从系统存储器设备107请求其他操作的逻辑。在各种实施例中,存储器子系统112可以从核心114和/或I/O控制器110接收写入请求,并且可以将在这些请求中指定的数据提供给系统存储器设备107以用于存储在其中。存储器子系统112还可以从系统存储器设备107读取数据并将读取的数据提供给I/O控制器110或核心114。在操作期间,存储器子系统112可以发出包括系统存储器设备107的一个或多个地址的命令,以便从存储器读取数据或将数据写入存储器(或执行其他操作)。在一些实施例中,存储器子系统112可以在与CPU 102相同的芯片上实现;而在其他实施例中,存储器子系统112可以在与CPU 102的芯片不同的芯片上实现。I/O控制器110可以执行关于一个或多个存储设备106的类似操作。
CPU 102还可以通过外部I/O控制器104耦合到一个或多个其他I/O设备。在特定实施例中,外部I/O控制器104可以将存储设备106耦合到CPU 102。外部I/O控制器104可以包括用于管理在一个或多个CPU 102与I/O设备之间的数据流的逻辑。在特定实施例中,外部I/O控制器104与CPU 102一起位于主板上。外部I/O控制器104可以使用点对点或其他接口与CPU 102的组件交换信息。
在说明性实施例中,CPU 102上的各种组件通过链路(例如,网状或环形互连或片上网络(NoC))彼此连接。该链路可以体现为例如
Figure BDA0003813104930000031
加速器链接(IAL)链路、快速路径互连(QPI)、超级路径互连(UPI)或CXL链路。
在一些实施例中,计算机系统100包括连接到CPU 102的外部存储器子系统105。外部存储器子系统105可以通过例如CXL或PCIe链路链接到CPU 102。在一些实施例中,外部存储器子系统105可以执行存储器镜像操作。例如,主要存储器代理202(参见图2)可以将存储器写入操作复制到外部存储器子系统105上的存储器代理。外部存储器子系统105可以包括主要存储器代理和/或次要存储器代理,该次要存储器代理类似于存储器子系统112中的主要存储器代理202和/或次要存储器代理206或与其相同。外部存储器子系统105可以体现在任何合适类型的外部设备(例如,卸载设备、加速器设备、网络接口控制器、图形处理单元等)上。
系统存储器设备107可以存储任何合适的数据,例如,由处理器108使用以提供计算机系统100的功能的数据。例如,与被执行的程序或由核心114访问的文件相关联的数据可以存储在系统存储器设备107中。因此,系统存储器设备107可以包括存储由核心114执行或以其他方式使用的数据和/或指令序列的系统存储器。在各种实施例中,系统存储器设备107可以存储临时数据、即使在到系统存储器设备107的电力被移除之后也维持其状态的持久性数据(例如,用户的文件或指令序列)或其组合。系统存储器设备107可以专用于特定CPU 102或与计算机系统100的其他设备(例如,一个或多个其他处理器或其他设备)共享。
在一些实施例中,系统存储器设备107可以包括一个或多个高带宽存储器瓦片(tile)。高带宽存储器瓦片可以与CPU 102和/或与片上系统(SoC)上的其他组件集成。应当认识到的是,在一些实施例中,存储器操作可以从与一个高带宽存储器瓦片相关联的存储器代理被镜像到与不同高带宽存储器瓦片相关联的存储器代理。
在各种实施例中,系统存储器设备107可以包括存储器,该存储器包括任何数量的存储器分区、存储器设备控制器和其他支持逻辑(未示出)。存储器分区可以包括非易失性存储器和/或易失性存储器。
非易失性存储器是不要求电力来维持由介质存储的数据的状态的存储介质。因此,即使到容纳存储器的设备的电力被中断,非易失性存储器也可以具有确定的状态。非易失性存储器的非限制性示例可以包括以下各项中的任一个或其组合:3D交叉点存储器、相变存储器(例如,在存储器单元中使用硫属化物玻璃相变材料的存储器)、铁电存储器、氧化硅-氮化物-氧化硅(SONOS)存储器、聚合物存储器(例如,铁电聚合物存储器)、铁电晶体管随机存取存储器(Fe-TRAM)、奥式存储器、反铁电存储器、纳米线存储器、电可擦可编程只读存储器(EEPROM)、忆阻器、单级或多级相变存储器(PCM)、自旋霍尔效应磁性RAM(SHE-MRAM)以及自旋移矩磁性RAM(STTRAM)、电阻式存储器、结合忆阻器技术的磁阻式随机存取存储器(MRAM)存储器、包括金属氧化物基、氧空位基的电阻式存储器和导电桥随机存取存储器(CB-RAM)、基于自旋电子磁结存储器的设备、基于磁性隧道结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备,或上述存储器中的任一种的组合,或其他存储器。
易失性存储器是要求电力来维持由介质存储的数据的状态的存储介质(因此,易失性存储器是这样的存储器:如果到容纳存储器的设备的电力被中断,则其状态(以及因此存储在其上的数据)是不确定的)。动态易失性存储器要求刷新存储在设备中的数据以维持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)或诸如同步DRAM(SDRAM)之类的一些变型。本文所描述的存储器子系统可以与多种存储器技术兼容,这些存储器技术例如DDR3(双倍数据速率版本3,最初由JEDEC(联合电子设备工程委员会)于2007年6月27日发布,目前为版本21)、DDR4(DDR版本4,由JEDEC于2012年9月发布的JESD79-4初始规范)、DDR4E(DDR版本4扩展,当前由JEDEC讨论)、LPDDR3(低功率DDR版本3,JESD209-3B,由JEDEC于2013年8月发布)、LPDDR4(低功率双倍数据速率(LPDDR)版本4,JESD209-4,最初由JEDEC于2014年8月发布)、WIO2(宽I/O 2(WideIO2),JESD229-2,最初由JEDEC于2014年8月发布)、HBM(高带宽存储器DRAM,JESD235,最初由JEDEC于2013年10月发布)、DDR5(DDR版本5,当前由JEDEC讨论)、LPDDR5(最初由JEDEC于2020年1月发布)、HBM2(HBM版本2,最初由JEDEC于2020年1月发布),或其他或存储器技术的组合,以及基于这种规范的衍生或扩展的技术。
存储设备106可以存储任何合适的数据,例如,由处理器108使用以提供计算机系统100的功能的数据。例如,与被执行的程序或由核心114A和核心114B访问的文件相关联的数据可以存储在存储设备106中。因此,在一些实施例中,存储设备106可以存储由核心114A和核心114B执行或以其他方式使用的数据和/或指令序列。在各种实施例中,存储设备106可以存储即使在到存储设备106的电力被移除之后也维持其状态的持久性数据(例如,用户的文件或软件应用代码)。存储设备106可以专用于特定CPU 102或与计算机系统100的其他设备(例如,另一CPU或其他设备)共享。
在所描绘的实施例中,存储设备106包括存储设备控制器118和四个存储器芯片116,每个存储器芯片116包括可操作以存储数据的四个存储器分区122。然而,存储设备可以包括任何合适数量的存储器芯片,每个存储器芯片具有任何合适数量的存储器分区。存储器分区122包括可操作以存储数据的多个存储器单元。存储器分区122的单元可以以任何合适的方式布置,例如,以行(例如,字线)和列(例如,位线)、三维结构、扇区或以其他方式布置。在各种实施例中,单元可以被逻辑地分组为存储体、块、子块、字线、页、帧、字节、切片或其他合适的组。在各种实施例中,存储器分区122可以包括上面列出的易失性存储器或非易失性存储器中的任一个或其他合适的存储器。在特定实施例中,每个存储器分区122包括一个或多个3D交叉点存储器阵列。结合以下附图更详细地描述了3D交叉点阵列。
在各种实施例中,存储设备106可以包括磁盘驱动器(例如,固态驱动器);存储器卡;通用串行总线(USB)驱动器;双列直插式存储器模块(DIMM),例如,非易失性DIMM(NVDIMM);集成在诸如智能手机、相机或媒体播放器的设备内的存储装置;或者其他合适的大容量存储设备。
在特定实施例中,一个或多个存储器芯片116体现在半导体封装中。在各种实施例中,半导体封装可以包括外壳,该外壳包括一个或多个半导体芯片(也称为管芯)。封装还可以包括用于连接到外部电路的接触引脚或引线。在各种实施例中,存储器芯片可以包括一个或多个存储器分区122。
因此,在一些实施例中,存储设备106可以包括封装,该封装包括多个芯片,每个芯片包括一个或多个存储器分区122。然而,存储设备106可以包括一个或多个存储器分区的任何合适的布置以及在任何合适的物理布置中的关联逻辑。例如,存储器分区122可以体现在一种或多种不同的物理介质(例如,电路板、半导体封装、半导体芯片、磁盘驱动器、其他介质或其任何组合)中。
系统存储器设备107和存储设备106可以包括任何合适类型的存储器,并且在各种实施例中不限于存储器的特定速度、技术或外形规格。例如,存储设备106可以是磁盘驱动器(例如,固态驱动器)、与计算设备集成的存储器(例如,集成在计算设备的电路板上的存储器)、可以插入到存储器插座中的存储器模块(例如,双列直插式存储器模块)、或其他类型的存储设备。类似地,系统存储器107可以具有任何合适的外形规格。此外,计算机系统100可以包括多种不同类型的存储设备。
系统存储器设备107或存储设备106可以包括任何合适的接口以使用任何合适的通信协议(例如,基于DDR的协议、PCI、PCIe、USB、SAS、SATA、FC、系统管理总线(SMBus)或其他合适的协议)与存储器子系统112或I/O控制器110进行通信。在一些实施例中,系统存储器设备107或存储设备106还可以包括通信接口以根据任何合适的逻辑设备接口规范(例如,NVMe、AHCI或其他合适的规范)与存储器子系统112或I/O控制器110进行通信。在特定实施例中,系统存储器设备107或存储设备106可以包括多个通信接口,每个通信接口使用单独的协议与存储器子系统112和/或I/O控制器110进行通信。
存储设备控制器118可以包括逻辑,该逻辑用于(例如,经由与存储器子系统112或I/O控制器110通信的接口)接收来自CPU 102的请求,使得相对于存储器芯片116执行请求,并且将与请求相关联的数据(例如,经由存储器子系统112或I/O控制器110)提供给CPU102。存储设备控制器118还可以是可操作的以经由纠错码(ECC引擎)检测和/或纠正在存储器操作期间遇到的错误。在各种实施例中,控制器118还可以监视存储设备106的各种特性(例如,温度或电压),并向CPU102报告相关联的统计数据。存储设备控制器118可以在与存储器芯片116相同的电路板或设备上实现,或在不同的电路板或设备上实现。例如,在一些环境中,存储设备控制器118可以是管理计算机系统100的多个不同存储设备106的存储器操作的集中式存储控制器。
在各种实施例中,存储设备106还包括程序控制逻辑124,该程序控制逻辑124是可操作的以控制当数据被写入存储器芯片116或从存储器芯片116读取时执行的编程序列。在各种实施例中,程序控制逻辑124可以提供在编程和/或读取数据(或执行与读取或编程操作相关联的其他操作)期间施加到存储器单元的各种电压(或指示应提供哪些电压的信息),执行纠错,并执行其他合适的功能。
在各种实施例中,程序控制逻辑124可以集成在与存储设备控制器118相同的芯片上或集成在不同的芯片上。在所描绘的实施例中,程序控制逻辑124被示为存储设备控制器118的一部分,但是在各种实施例中,程序控制逻辑124的全部或一部分可以与存储设备控制器118分离,并且可通信地耦合到存储设备控制器118。例如,本文描述的程序控制逻辑124的全部或一部分可以位于存储器芯片116上。在各种实施例中,本文对“控制器”的引用可以指代任何合适的控制逻辑,例如存储设备控制器118、芯片控制器126或分区控制器。在一些实施例中,对控制器的引用可以考虑分布在多个组件上的逻辑,例如,存储设备控制器118、芯片控制器126和/或分区控制器的逻辑。
在各种实施例中,存储设备控制器118可以从主机设备(例如,CPU 102)接收命令,确定针对该命令的目标存储器芯片,并将该命令通信到目标存储器芯片的芯片控制器126。在一些实施例中,存储设备控制器118可以在将命令发送到芯片控制器126之前修改命令。
芯片控制器126可以从存储设备控制器118接收命令并且确定针对该命令的目标存储器分区122。然后芯片控制器126可以将命令发送到所确定的存储器分区122的控制器。在各种实施例中,芯片控制器126可以在将命令发送到分区122的控制器之前修改命令。
在一些实施例中,系统100的元件中的所有或一些元件驻留在(或耦合到)同一电路板(例如,主板)上。在各种实施例中,元件之间可以存在任何合适的分区。例如,在CPU102中描绘的元件可以位于单个管芯(例如,芯片上)或封装上,或者CPU 102的元件中的任一个可以位于芯片外或封装外。类似地,在存储设备106中描绘的元件可以位于单个芯片或多个芯片上。在各种实施例中,存储设备106和计算主机(例如,CPU 102)可以位于相同的电路板上或位于相同的设备上,并且在其他实施例中,存储设备106和计算主机可以位于不同的电路板或设备上。
系统100的组件可以以任何合适的方式耦合在一起。例如,总线可以将组件中的任一个耦合在一起。总线可以包括任何已知的互连,例如,多点总线、网状互连、环形互连、点对点互连、串行互连、并行总线、相干(例如,高速缓存相干)总线、分层协议架构、差分总线和Gunning收发机逻辑(GTL)总线。在各种实施例中,集成的I/O子系统包括在系统100的各种组件(例如,核心114、一个或多个CPU存储器控制器112、I/O控制器110、集成的I/O设备、直接存储器访问(DMA)逻辑(未示出)等)之间的点对点复用逻辑。在各种实施例中,计算机系统100的组件可以通过一个或多个网络耦合在一起,这些网络包括任何数量的中间网络节点,例如,路由器、交换机或其他计算设备。例如,计算主机(例如,CPU 102)和存储设备106可以通过网络可通信地耦合。
虽然未描绘,但系统100可以使用用于接收电力的电池和/或电源供应插座连接器和相关联的系统、用于输出由CPU 102提供的数据的显示器、或允许CPU 102通过网络进行通信的网络接口。在各种实施例中,电池、电源供应插座连接器、显示器和/或网络接口可以通信地耦合到CPU 102。可以使用其他电源,例如,可再生能源(例如,太阳能或基于运动的电源)。
现在参考图5,在一个实施例中,存储器子系统112包括主要存储器代理202和次要存储器代理206。存储器子系统112可以在能够执行本文描述的功能的任何电路装置或电路的集合中实现。在一些实施例中,存储器子系统112中的一些或全部可以是例如利用软件或固件可编程的。
主要存储器代理202被配置为接收存储器操作(例如,来自处理器108或I/O控制器110),并将存储器操作发送到适当的存储设备,例如,系统存储器设备107。在说明性实施例中,主要存储器代理202可以针对主要存储器代理202控制的存储器空间中的一些或全部实现存储器镜像。说明性的主要存储器代理202可以在没有其他组件的情况下实现镜像,例如,次要存储器代理206被配置用于镜像或者甚至知道正在进行镜像。因此,主要存储器代理202可以甚至在次要存储器代理206不实现任何特定镜像功能的情况下来实现镜像。在一些实施例中,主要存储器代理202可以使用作为远程存储器代理的次要存储器代理进行镜像,例如,使用通过例如CXL链路连接到CPU 102的卸载设备上的外部存储器子系统105上的存储器代理进行镜像。在一些实施例中,次要存储器代理206可以与和主要存储器代理202不同量或类型的存储器接合。例如,主要存储器代理202可以与双倍数据速率(DDR)存储器设备接合,并且次要存储代理206可以与三维交叉点存储器设备接合。
主要存储器代理202可以被配置用于完全或部分镜像。在完全镜像中,由主要存储器代理202控制的所有存储器都被镜像到次要存储器代理206。在部分镜像中,由主要存储器代理202控制的存储器中的一些被镜像到次要存储器代理206。例如,如果主要存储器代理202控制存储器的6个千兆字节,则千兆字节0-2可以被镜像,千兆字节2-4可能不被镜像,并且千兆字节4-6可以被镜像。
在说明性实施例中,主要存储器代理202和主要存储器控制器204通过单个通道连接到存储器设备。因此,主要存储器代理202不能通过使用到存储器设备的两个独立通道来实现镜像。在其他实施例中,主要存储器代理202和主要存储器控制器204可以连接到多于一个存储器通道。
在说明性实施例中,主要存储器代理202使用一个次要存储器代理206。在其他实施例中,主要存储器代理202可以例如通过使用负载平衡算法来将镜像存储器操作发送到两个或更多个次要存储器代理206。
如本文所使用的,主要存储器代理202指代从进程或其他功能接收针对特定存储器范围的存储器操作的存储器代理。主要存储器代理202在实现镜像时,将经镜像的存储器操作发送到次要存储器代理206。然而,应该认识到的是,次要存储器代理206可以实现与主要存储器代理202相同的功能中的一些或全部功能。例如,次要存储器代理206可以用作针对某些存储器请求的主要存储器代理。
在说明性实施例中,主要存储器代理202包括主要存储器控制器204。主要存储器控制器204被配置为与存储器设备接合,并且向存储器设备发送命令和数据以及从存储器设备接收命令和数据。类似地,次要存储器代理206可以包括次要存储器控制器208,该次要存储器控制器208可以类似于主要存储器控制器204。
说明性计算机系统100可以包括性能监视器,该性能监视器监视例如去往存储器代理的存储器读取操作和来自存储器代理的存储器写入操作。因此,在使用中,性能监视器可以检测被发送到主要存储器代理202并被镜像到次要存储器代理206的存储器操作。
现在参考图3,在使用中,存储器子系统112可以实现用于存储器写入操作的流程300。流程300开始于步骤302,其中请求者将存储器写入操作发送到互连。请求者可以是例如处理器108的核心114、I/O控制器110和/或任何其他合适的组件。在一些实施例中,请求者可以是高速缓存和归属代理。存储器写入操作可以包括要写入的数据、存储器地址、事务标识符和/或其他参数。在说明性实施例中,事务标识符是识别在请求者与主要存储器代理202之间的操作的唯一标识符。事务标识符将不会被重用,直到事务完成为止。互连可以是例如IAL链路、CXL链路、片上网络(NoC)等。在说明性实施例中,互连是将请求者(例如,核心114)连接到主要存储器代理202和次要存储器代理206的NoC。另外地或可替代地,互连可以包括从例如CPU 102到外部存储器子系统105的互连。例如,核心114可以通过被包含在CPU102内的互连将存储器写入操作发送到主要存储器代理202,并且主要存储器代理202可以通过外部互连将经镜像的存储器写入操作发送到外部存储器子系统105上的次要存储器代理。
在步骤304中,存储器写入操作被发送到主要存储器代理202。在步骤306中,主要存储器代理202将命令发送到主要存储器控制器204以执行写入操作。到主要存储器控制器204和/或到存储设备的命令可以是例如融合存储器接口(CMI)命令。在其他实施例中,可以使用不同的协议。在说明性实施例中,主要存储器代理202生成与从请求者发送的事务标识符不同的第二事务标识符。当向主要存储器控制器204和/或次要存储器代理206发送命令以便跟踪事务时,主要存储器代理202可以使用第二事务标识符。主要存储器控制器204跟踪请求跟踪器中的事务,该请求跟踪器存储例如由请求者发送的事务标识符、第二事务标识符、操作类型等。
在步骤308中,在完成存储器操作之后,主要存储器控制器204发送回具有第二事务标识符的完成消息,从而指示存储器写入操作已经成功完成。主要存储器控制器204可以基于例如存储器写入操作应该被镜像的存储器地址来确定。
在步骤310中,主要存储器代理202将经镜像的存储器写入操作发送到互连;并且在步骤312中,经镜像的存储器写入操作被发送到次要存储器代理206。在说明性实施例中,被发送到次要存储器代理206的经镜像的存储器写入操作与被发送到主要存储器代理202的存储器写入操作相同,除了被发送到次要存储器代理206的经镜像的存储器写入操作具有第二事务标识符之外。
在步骤314中,次要存储器代理206将命令发送到次要存储器控制器208以执行经镜像的存储器写入操作。到次要存储器控制器208的命令可以类似于在步骤306中到主要存储器控制器204的命令。
在步骤316中,次要存储器控制器208将完成消息发送回次要存储器代理206。次要存储器代理206然后在步骤318中将完成消息发送到互连,然后该互连在步骤320中将完成消息发送到主要存储器代理202。完成消息包括第二事务标识符。
主要存储器代理202接收完成消息。主要存储器代理202针对第二事务标识符检查请求跟踪器并取回由请求者发送的事务标识符。主要存储器代理202然后在步骤322中将具有原始事务标识符的完成消息发送到互连,并且在框324中完成消息被发送回请求者,从而完成存储器写入操作。
应当认识到的是,在流程300中,次要存储器代理206没有意识到存储器写入操作是经镜像的存储器写入操作。而是,次要存储器代理206可以将存储器写入操作视为任何其他存储器写入操作:次要存储器代理206接收存储器写入操作、完成存储器写入操作、并将完成消息发送回发送存储器写入操作的组件。因此,次要存储器代理206不要求任何附加功能来执行经镜像的存储器写入操作。
现在参考图4,在使用中,存储器子系统112可以实现用于存储器读取操作的流程400,其中在到主要存储器的读取时发生错误。流程400开始于步骤402,其中请求者将存储器读取操作发送到互连。存储器读取操作可以包括存储器地址、事务标识符和/或其他参数。
在步骤404中,存储器读取操作被发送到主要存储器代理202。在步骤406中,主要存储器代理202向主要存储器控制器204发送命令以执行读取操作。到主要存储器控制器204和/或到存储设备的命令可以是例如相干存储器接口(CMI)命令。在其他实施例中,可以使用不同的协议。在说明性实施例中,主要存储器代理202生成第二事务标识符,该第二事务标识符与发送到主要存储器控制器204的读取命令一起发送。
在步骤408中,主要存储器控制器204发送回指示存储器读取操作未成功完成的消息。主要存储器控制器204可以发送指示错误的消息或者可以发送有害数据以指示故障。在说明性实施例中,主要存储器代理202将在步骤410通过向主要存储器控制器204发送另一命令以执行读取操作来再次尝试。如果再次发生错误,则主要存储器控制器204在步骤412中发送错误消息或有害数据。
为了取回对应于存储器读取操作的数据,主要存储器代理202在步骤414中将经镜像的存储器读取操作发送到互连,并且在步骤416中将经镜像的存储器读取操作连同第二事务标识符发送到次要存储器代理206。在步骤418中,次要存储器代理206向次要存储器控制器208发送命令以执行读取命令。在步骤420中,次要存储器控制器208执行读取命令并发送回数据。在一些实施例中,次要存储器控制器208可以在与指示存储器操作完成的消息分开的消息中发送数据。
在步骤422中,次要存储器代理206将来自读取命令的数据发送到互连,然后在步骤424中数据被发送到主要存储器代理202。对于上面讨论的写入命令,次要存储器代理206不需要意识到读取命令是经镜像的读取命令;而是,次要存储器代理206接收读取命令并将结果发送到请求组件,而不需要意识到操作的上下文。
主要存储器代理202可以使用被包括在来自次要存储器代理206的消息中的第二事务标识符来识别请求跟踪器中的相关事务。在步骤426中,主要存储器代理202通过将写入命令发送到主要存储器控制器204来将数据清理到本地存储器。在步骤428中,主要存储器控制器204将完成消息发送到主要存储器代理202。在说明性实施例中,数据不被清理回次要存储器代理206。在其他实施例中,数据可以被清理回次要存储器代理206。
在数据已经被清理回主要存储器中之后,主要存储器代理202在步骤430中将数据发送到互连,然后在步骤432中数据被发送到请求者。
在说明性实施例中,主要存储器代理202检查清理是否成功。如果清理不成功,则表明存储器可能已损坏。对清理是否成功的检查可以同步进行(例如,在完成存储器读取操作之后立即进行)或异步进行(例如,可以安排在未来的时间进行)。
为了检查清理是否成功,主要存储器代理202在步骤434中将读取命令发送到主要存储器控制器204。主要存储器控制器204执行读取命令,并在步骤436处将响应发送回主要存储器代理202。如果接收到数据,则操作成功。如果接收到错误或有害数据,则读取操作不成功。如果检测到故障或错误,则主要存储器代理202可以向计算机系统100提供故障指示。例如,主要存储器代理202可以递增指示检测到重复故障的寄存器。如果寄存器达到阈值量(例如,2-50),则计算机系统100(例如,基本输入/输出系统(BIOS)或系统管理中断(SMI))可以断定系统存储器设备107有故障,并且发起从主要存储器代理202到次要存储器代理206的故障转移。故障转移可以通过例如翻转主要存储器代理202中的寄存器来建立。
在极少数情况下,由次要存储器控制器进行的存储器读取操作也可能失败。在这种实例中,可以将结果(例如,未纠正的错误或有害值)返回到主要存储器代理202,然后返回到请求者,从而允许请求者意识到错误并适当地处理该错误。
现在参考图5,在使用中,当主要存储器代理202被故障转移到次要存储器代理206时,存储器子系统112可以实现用于存储器读取操作的流程500。流程500开始于步骤502,其中请求者将存储器读取操作发送到互连。存储器读取操作可以包括存储器地址、事务标识符和/或其他参数。
在步骤504中,存储器读取操作被发送到主要存储器代理202。主要存储器代理202检查是否设置了指示故障转移到次要存储器代理206的寄存器。如果设置了指示故障转移到次要存储器代理206的寄存器,则在步骤506中,主要存储器代理202将存储器读取操作发送到互连,并且在步骤508中存储器读取操作被发送到次要存储器代理206。在步骤510中,次要存储器代理206向次要存储器控制器208发送命令以执行读取命令。在步骤512中,次要存储器控制器208执行读取命令并发送回数据。在一些实施例中,次要存储器控制器208可以在与指示存储器操作完成的消息分开的消息中发送数据。
在步骤514中,在说明性实施例中,次要存储器代理206将来自读取命令的数据发送到互连,然后在步骤516中数据被发送到主要存储器代理202。在其他实施例中,次要存储器代理206可以通过互连将来自读取命令的数据直接发送到请求者。
主要存储器代理202可以使用被包括在来自次要存储器代理206的消息中的第二事务标识符来识别请求跟踪器中的相关事务。主要存储器代理202在步骤518中将数据发送到互连,然后在步骤520中数据被发送到请求者。
现在参考图6,在使用中,当主要存储器代理202被故障转移到次要存储器代理206时,存储器子系统112可以实现用于存储器写入操作的流程600。流程600开始于步骤602,其中请求者将存储器写入操作发送到互连。存储器写入操作可以包括存储器地址、事务标识符、要写入的数据和/或其他参数。
在步骤604中,将存储器写入操作发送到主要存储器代理202。主要存储器代理202检查是否设置了指示故障转移到次要存储器代理206的寄存器。如果设置了指示故障转移到次要存储器代理206的寄存器,则在步骤606中,主要存储器代理202将存储器写入操作发送到互连,并且在步骤608中存储器写入操作被发送到次要存储器代理206。在步骤610中,次要存储器代理206向次要存储器控制器208发送命令以执行写入命令。在步骤612中,次要存储器控制器208执行写入命令并发送回确认消息。
在步骤614中,次要存储器代理206将写入命令的确认消息发送到互连,然后在步骤616中该消息被发送到主要存储器代理202。主要存储器代理202可以使用被包括在来自次要存储器代理206的消息中的第二事务标识符来识别请求跟踪器中的相关事务。主要存储器代理202在步骤618中将确认消息发送到互连,然后在步骤620中确认消息被发送到请求者。
应当认识到的是,除了图3-6中呈现的流程之外,附加的存储器流程也是可能的。通常,由主要存储器代理202接收到的存储器操作将与次要存储器代理206实质上相同地被镜像(对事务标识符进行更新)。然而,在一些实施例中,在发送经镜像的存储器操作时可以改变存储器操作。例如,在一个实施例中,可以将存储器无效化(meminv)操作(memoryinvalidate operation)发送到主要存储器代理202。如果主要存储器代理202在执行操作时出现错误,则可以将存储器无效化操作镜像到次要存储器代理206作为存储器读取。可以使用存储器读取,因为其将导致数据被发送回主要存储器代理202,从而允许主要存储器代理202将正确的数据清理回主要存储器中。
示例
下面提供本文公开的技术的说明性示例。技术的实施例可以包括以下描述的示例中的任何一个或多个以及其任何组合。
示例1包括一种集成电路组件,包括:主要存储器代理,该主要存储器代理用于:接收包括存储器写入数据的存储器写入操作;将存储器写入数据发送到存储器设备以进行存储;以及将包括存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理。
示例2包括示例1的主题,并且其中,次要存储器代理是集成电路组件的一部分,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过NoC发送经镜像的存储器写入操作。
示例3包括示例1和2中任一项的主题,并且其中,次要存储器代理在集成电路组件的外部,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过外部互连发送经镜像的存储器写入操作。
示例4包括示例1-3中任一项的主题,并且其中,外部互连是计算快速链路(CXL)。
示例5包括示例1-4中任一项的主题,并且其中,主要存储器代理连接到单个存储器通道。
示例6包括示例1-5中任一项的主题,并且其中,次要存储器代理没有接收到经镜像的存储器写入操作是从主要存储器代理被镜像的任何指示。
示例7包括示例1-6中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收存储器读取操作;将存储器读取操作发送到存储器设备;从存储器设备接收存储器读取操作不成功的指示;响应于存储器读取操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于存储器读取操作的存储器读取数据;以及将对应于存储器读取操作的存储器读取数据发送到请求者。
示例8包括示例1-7中任一项的主题,并且其中,主要存储器代理还用于:响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例9包括示例1-8中任一项的主题,并且其中,主要存储器代理还用于:响应于接收到存储器读取操作不成功的指示,确定存储器设备有故障;以及响应于确定存储器设备有故障,设置指示存储器设备有故障的寄存器。
示例10包括示例1-9中任一项的主题,并且其中,主要存储器代理还用于:响应于接收到存储器读取操作不成功的指示,递增指示存储器设备的故障的数量的寄存器,其中,确定存储器设备有故障包括确定存储器设备有故障。
示例11包括示例1-10中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收第二存储器读取操作;基于寄存器来确定存储器设备有故障;响应于确定存储器设备有故障,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于存储器读取操作的附加存储器读取数据;以及将对应于存储器读取操作的附加存储器读取数据发送到请求者。
示例12包括示例1-11中任一项的主题,并且其中,存储器写入操作包括第一事务标识符,其中,将经镜像的存储器写入操作发送到次要存储器代理包括利用不同于第一事务标识符的第二事务标识符将经镜像的存储器写入操作发送到次要存储器代理。
示例13包括示例1-12中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收存储器无效化操作;将存储器无效化操作发送到存储器设备;从存储器设备接收存储器无效化操作不成功的指示;响应于存储器无效化操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于经镜像的存储器读取操作的存储器读取数据;以及响应于从次要存储器代理接收到存储器读取数据,将数据完成消息发送到请求者。
示例14包括示例1-13中任一项的主题,并且其中,主要存储器代理还用于:响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例15包括示例1-14中任一项的主题,并且其中,次要存储器代理控制第二存储器设备,其中,第二存储器设备与存储器设备的类型不同。
示例16包括示例1-15中任一项的主题,并且其中,存储器设备是双倍数据速率(DDR)存储器设备,其中,第二存储器设备是三维交叉点存储器设备。
示例17包括示例1-16中任一项的主题,并且其中,集成电路组件是包括处理器的片上系统。
示例18包括示例1-17中任一项的主题,还包括性能监视器,该性能监视器用于:检测被发送到主要存储器代理的存储器写入操作;以及检测由主要存储器代理发送到次要存储器代理的经镜像的存储器写入操作。
示例19包括一种方法,该方法包括:由主要存储器代理接收包括存储器写入数据的存储器写入操作;由主要存储器代理将存储器写入数据发送到存储器设备以进行存储;以及由主要存储器代理将包括存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理。
示例20包括示例19的主题,并且其中,主要存储器代理是集成电路组件的一部分,其中,次要存储器代理是集成电路组件的一部分,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过NoC发送经镜像的存储器写入操作。
示例21包括示例19和20中任一项的主题,并且其中,主要存储器代理是集成电路组件的一部分,其中,次要存储器代理在集成电路组件的外部,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过外部互连发送经镜像的存储器写入操作。
示例22包括示例19-21中任一项的主题,并且其中,外部互连是计算快速链路(CXL)。
示例23包括示例19-22中任一项的主题,并且其中,主要存储器代理连接到单个存储器通道。
示例24包括示例19-23中任一项的主题,并且其中,次要存储器代理没有接收到经镜像的存储器写入操作是从主要存储器代理被镜像的任何指示。
示例25包括示例19-24中任一项的主题,并且还包括:由主要存储器代理从请求者接收存储器读取操作;由主要存储器代理将存储器读取操作发送到存储器设备;由主要存储器代理并且从从存储器设备接收存储器读取操作不成功的指示;由主要存储器代理并且响应于存储器读取操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;由主要存储器代理从次要存储器代理接收对应于存储器读取操作的存储器读取数据;以及由主要存储器代理将对应于存储器读取操作的存储器读取数据发送到请求者。
示例26包括示例19-25中任一项的主题,并且还包括:由主要存储器代理并且响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例27包括示例19-26中任一项的主题,并且还包括:由主要存储器代理并且响应于接收到存储器读取操作不成功的指示,确定存储器设备有故障;以及由主要存储器代理并且响应于确定存储器设备有故障,设置指示存储器设备有故障的寄存器。
示例28包括示例19-27中任一项的主题,并且还包括:由主要存储器代理并且响应于接收到存储器读取操作不成功的指示,递增指示存储器设备的故障的数量的寄存器,其中,确定存储器设备有故障包括确定存储器设备有故障。
示例29包括示例19-28中任一项的主题,并且还包括:由主要存储器代理从请求者接收第二存储器读取操作;由主要存储器代理并且基于寄存器来确定存储器设备有故障;由主要存储器代理并且响应于确定存储器设备有故障,将经镜像的存储器读取操作发送到次要存储器代理;由主要存储器代理从次要存储器代理接收对应于存储器读取操作的附加存储器读取数据;以及由主要存储器代理将对应于存储器读取操作的附加存储器读取数据发送到请求者。
示例30包括示例19-29中任一项的主题,并且其中,存储器写入操作包括第一事务标识符,其中,将经镜像的存储器写入操作发送到次要存储器代理包括利用不同于第一事务标识符的第二事务标识符将经镜像的存储器写入操作发送到次要存储器代理。
示例31包括示例19-30中任一项的主题,并且还包括:由主要存储器代理从请求者接收存储器无效化操作;由主要存储器代理将存储器无效化操作发送到存储器设备;由主要存储器代理并且从存储器设备接收存储器无效化操作不成功的指示;由主要存储器代理并且响应于存储器无效化操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;由主要存储器代理从次要存储器代理接收对应于经镜像的存储器读取操作的存储器读取数据;以及由主要存储器代理并且响应于从次要存储器代理接收到存储器读取数据,将数据完成消息发送到请求者。
示例32包括示例19-31中任一项的主题,并且还包括:由主要存储器代理并且响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例33包括示例19-32中任一项的主题,并且其中,次要存储器代理控制第二存储器设备,其中,第二存储器设备与存储器设备的类型不同。
示例34包括示例19-33中任一项的主题,并且其中,存储器设备是双倍数据速率(DDR)存储器设备,其中,第二存储器设备是三维交叉点存储器设备。
示例35包括示例19-34中任一项的主题,并且还包括:由性能监视器检测被发送到主要存储器代理的存储器写入操作;以及由性能监视器检测由主要存储器代理发送到次要存储器代理的经镜像的存储器写入操作。
示例36包括一种计算系统,包括用于执行示例19-35中任一项的方法的单元。
示例37包括一种集成电路组件,包括:主要存储器代理;次要存储器代理;性能监视器,该性能监视器用于:检测被发送到主要存储器代理的存储器写入操作;以及检测由主要存储器代理发送到次要存储器代理的经镜像的存储器写入操作。
示例38包括示例37的主题,并且其中,主要存储器代理用于:接收包括存储器写入数据的存储器写入操作;将存储器写入数据发送到存储器设备以进行存储;以及将包括存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理。
示例39包括示例37和38中任一项的主题,并且其中,次要存储器代理是集成电路组件的一部分,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过NoC发送经镜像的存储器写入操作。
示例40包括示例37-39中任一项的主题,并且其中,次要存储器代理在集成电路组件的外部,其中,接收存储器写入操作包括:通过片上网络(NoC)从请求者接收存储器写入操作,其中,请求者是集成电路组件的一部分,其中,将经镜像的存储器写入操作发送到次要存储器代理包括:通过外部互连发送经镜像的存储器写入操作。
示例41包括示例37-40中任一项的主题,并且其中,外部互连是计算快速链路(CXL)。
示例42包括示例37-41中任一项的主题,并且其中,主要存储器代理连接到单个存储器通道。
示例43包括示例37-42中任一项的主题,并且其中,次要存储器代理没有接收到经镜像的存储器写入操作是从主要存储器代理被镜像的任何指示。
示例44包括示例37-43中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收存储器读取操作;将存储器读取操作发送到存储器设备;从存储器设备接收存储器读取操作不成功的指示;响应于存储器读取操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于存储器读取操作的存储器读取数据;以及将对应于存储器读取操作的存储器读取数据发送到请求者。
示例45包括示例37-44中任一项的主题,并且其中,主要存储器代理还用于:响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例46包括示例37-45中任一项的主题,并且其中,主要存储器代理还用于:响应于接收到存储器读取操作不成功的指示,确定存储器设备有故障;以及响应于确定存储器设备有故障,设置指示存储器设备有故障的寄存器。
示例47包括示例37-46中任一项的主题,并且其中,主要存储器代理还用于:响应于接收到存储器读取操作不成功的指示,递增指示存储器设备的故障的数量的寄存器,其中,确定存储器设备有故障包括确定存储器设备有故障。
示例48包括示例37-47中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收第二存储器读取操作;基于寄存器来确定存储器设备有故障;响应于确定存储器设备有故障,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于存储器读取操作的附加存储器读取数据;以及将对应于存储器读取操作的附加存储器读取数据发送到请求者。
示例49包括示例37-48中任一项的主题,并且其中,存储器写入操作包括第一事务标识符,其中,将经镜像的存储器写入操作发送到次要存储器代理包括利用不同于第一事务标识符的第二事务标识符将经镜像的存储器写入操作发送到次要存储器代理。
示例50包括示例37-49中任一项的主题,并且其中,主要存储器代理还用于:从请求者接收存储器无效化操作;将存储器无效化操作发送到存储器设备;从存储器设备接收存储器无效化操作不成功的指示;响应于存储器无效化操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理;从次要存储器代理接收对应于经镜像的存储器读取操作的存储器读取数据;以及响应于从次要存储器代理接收到存储器读取数据,将数据完成消息发送到请求者。
示例51包括示例37-50中任一项的主题,并且其中,主要存储器代理还用于:响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备。
示例52包括示例37-51中任一项的主题,并且其中,次要存储器代理控制第二存储器设备,其中,第二存储器设备与存储器设备的类型不同。
示例53包括示例37-52中任一项的主题,并且其中,存储器设备是双倍数据速率(DDR)存储器设备,其中,第二存储器设备是三维交叉点存储器设备。
示例54包括示例37-53中任一项的主题,并且其中,集成电路组件是包括处理器的片上系统。
示例55包括一种集成电路组件,包括:用于由主要存储器代理接收包括存储器写入数据的存储器写入操作的单元;用于由主要存储器代理将存储器写入数据发送到存储器设备以进行存储的单元;以及用于由主要存储器代理将包括存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理的单元。
示例56包括示例55的主题,并且其中,次要存储器代理是集成电路组件的一部分,其中,用于接收存储器写入操作的单元包括用于通过片上网络(NoC)从请求者接收存储器写入操作的单元,其中,请求者是集成电路组件的一部分,其中,用于将经镜像的存储器写入操作发送到次要存储器代理的单元包括:用于通过NoC发送经镜像的存储器写入操作的单元。
示例57包括示例55和56中任一项的主题,并且其中,主要存储器代理是集成电路组件的一部分,其中,次要存储器代理在集成电路组件的外部,其中,用于接收存储器写入操作的单元包括:用于通过片上网络(NoC)从请求者接收存储器写入操作的单元,其中,请求者是集成电路组件的一部分,其中,用于将经镜像的存储器写入操作发送到次要存储器代理的单元包括:用于通过外部互连发送经镜像的存储器写入操作的单元。
示例58包括示例55-57中任一项的主题,并且其中,外部互连是计算快速链路(CXL)。
示例59包括示例55-58中任一项的主题,并且其中,主要存储器代理连接到单个存储器通道。
示例60包括示例55-59中任一项的主题,并且其中,次要存储器代理没有接收到经镜像的存储器写入操作是从主要存储器代理被镜像的任何指示。
示例61包括示例55-60中任一项的主题,并且还包括:用于由主要存储器代理从请求者接收存储器读取操作的单元;用于由主要存储器代理将存储器读取操作发送到存储器设备的单元;用于由主要存储器代理并且从存储器设备接收存储器读取操作不成功的指示的单元;用于由主要存储器代理并且响应于存储器读取操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理的单元;用于由主要存储器代理从次要存储器代理接收对应于存储器读取操作的存储器读取数据的单元;以及用于由主要存储器代理将对应于存储器读取操作的存储器读取数据发送到请求者的单元。
示例62包括示例55-61中任一项的主题,并且还包括:用于由主要存储器代理并且响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据将包括存储器读取数据的存储器写入操作发送到存储器设备的单元。
示例63包括示例55-62中任一项的主题,并且还包括:用于由主要存储器代理并且响应于接收到存储器读取操作不成功的指示,确定存储器设备有故障的单元;以及用于由主要存储器代理并且响应于确定存储器设备有故障,设置指示存储器设备有故障的寄存器的单元。
示例64包括示例55-63中任一项的主题,并且还包括:用于由主要存储器代理并且响应于接收到存储器读取操作不成功的指示,递增指示存储器设备的故障的数量的寄存器的单元,其中,用于确定存储器设备有故障的单元包括用于确定存储器设备有故障的单元。
示例65包括示例55-64中任一项的主题,并且还包括:用于由主要存储器代理从请求者接收第二存储器读取操作的单元;用于由主要存储代理并且基于寄存器来确定存储器设备有故障的单元;用于由主要存储器代理并且响应于确定存储器设备有故障,将经镜像的存储器读取操作发送到次要存储器代理的单元;用于由主要存储器代理从次要存储器代理接收对应于存储器读取操作的附加存储器读取数据的单元;以及用于由主要存储器代理将对应于存储器读取操作的附加存储器读取数据发送到请求者的单元。
示例66包括示例55-65中任一项的主题,并且其中,存储器写入操作包括第一事务标识符,其中,用于将经镜像的存储器写入操作发送到次要存储器代理的单元包括用于利用不同于第一事务标识符的第二事务标识符将经镜像的存储器写入操作发送到次要存储器代理的单元。
示例67包括示例55-66中任一项的主题,并且还包括:用于由主要存储器代理从请求者接收存储器无效化操作的单元;用于由主要存储器代理将存储器无效化操作发送到存储器设备的单元;用于由主要存储器代理并且从存储器设备接收存储器无效化操作不成功的指示的单元;用于由主要存储器代理并且响应于存储器无效化操作不成功的指示,将经镜像的存储器读取操作发送到次要存储器代理的单元;用于由主要存储器代理从次要存储器代理接收对应于经镜像的存储器读取操作的存储器读取数据的单元;以及用于由主要存储器代理并且响应于从次要存储器代理接收到存储器读取数据,将数据完成消息发送到请求者的单元。
示例68包括示例55-67中任一项的主题,并且还包括:用于由主要存储器代理并且响应于从次要存储器代理接收到对应于存储器读取操作的存储器读取数据,将包括存储器读取数据的存储器写入操作发送到存储器设备的单元。
示例69包括示例55-68中任一项的主题,并且其中,次要存储器代理控制第二存储器设备,其中,第二存储器设备与存储器设备的类型不同。
示例70包括示例55-69中任一项的主题,并且其中,存储器设备是双倍数据速率(DDR)存储器设备,其中,第二存储器设备是三维交叉点存储器设备。
示例71包括示例55-70中任一项的主题,并且还包括:用于由性能监视器检测被发送到主要存储器代理的存储器写入操作的单元;以及用于由性能监视器检测由主要存储器代理发送到次要存储器代理的经镜像的存储器写入操作的单元。

Claims (25)

1.一种集成电路组件,包括:
主要存储器代理,所述主要存储器代理用于:
接收包括存储器写入数据的存储器写入操作;
将所述存储器写入数据发送到存储器设备以进行存储;以及
将包括所述存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理。
2.根据权利要求1所述的集成电路组件,
其中,所述次要存储器代理是所述集成电路组件的一部分,
其中,接收所述存储器写入操作包括:通过片上网络(NoC)从请求者接收所述存储器写入操作,其中,所述请求者是所述集成电路组件的一部分,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括:通过所述NoC发送所述经镜像的存储器写入操作。
3.根据权利要求1所述的集成电路组件,
其中,所述次要存储器代理在所述集成电路组件的外部,
其中,接收所述存储器写入操作包括:通过片上网络(NoC)从请求者接收所述存储器写入操作,其中,所述请求者是所述集成电路组件的一部分,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括:通过外部互连发送所述经镜像的存储器写入操作。
4.根据权利要求1所述的集成电路组件,其中,所述主要存储器代理连接到单个存储器通道。
5.根据权利要求1-4中任一项所述的集成电路组件,其中,所述次要存储器代理没有接收到所述经镜像的存储器写入操作是从所述主要存储器代理被镜像的任何指示。
6.根据权利要求1-4中任一项所述的集成电路组件,其中,所述主要存储器代理还用于:
从请求者接收存储器读取操作;
将所述存储器读取操作发送到所述存储器设备;
从所述存储器设备接收所述存储器读取操作不成功的指示;
响应于所述存储器读取操作不成功的所述指示,将经镜像的存储器读取操作发送到所述次要存储器代理;
从所述次要存储器代理接收对应于所述存储器读取操作的存储器读取数据;以及
将对应于所述存储器读取操作的所述存储器读取数据发送到所述请求者。
7.根据权利要求6所述的集成电路组件,其中,所述主要存储器代理还用于:
响应于接收到所述存储器读取操作不成功的所述指示,确定所述存储器设备有故障;以及
响应于确定所述存储器设备有故障,设置指示所述存储器设备有故障的寄存器。
8.根据权利要求7所述的集成电路组件,其中,所述主要存储器代理还用于:
从所述请求者接收第二存储器读取操作;
基于所述寄存器来确定所述存储器设备有故障;
响应于确定所述存储器设备有故障,将经镜像的存储器读取操作发送到所述次要存储器代理;
从所述次要存储器代理接收对应于所述存储器读取操作的附加存储器读取数据;以及
将对应于所述存储器读取操作的所述附加存储器读取数据发送到所述请求者。
9.根据权利要求1-4中任一项所述的集成电路组件,其中,所述存储器写入操作包括第一事务标识符,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括利用不同于所述第一事务标识符的第二事务标识符将所述经镜像的存储器写入操作发送到所述次要存储器代理。
10.根据权利要求1-4中任一项所述的集成电路组件,其中,所述主要存储器代理还用于:
从请求者接收存储器无效化操作;
将所述存储器无效化操作发送到所述存储器设备;
从所述存储器设备接收所述存储器无效化操作不成功的指示;
响应于所述存储器无效化操作不成功的所述指示,将经镜像的存储器读取操作发送到所述次要存储器代理;
从所述次要存储器代理接收对应于所述经镜像的存储器读取操作的存储器读取数据;以及
响应于从所述次要存储器代理接收到所述存储器读取数据,将数据完成消息发送到所述请求者。
11.根据权利要求1-4中任一项所述的集成电路组件,其中,所述次要存储器代理控制第二存储器设备,其中,所述第二存储器设备与所述存储器设备的类型不同。
12.根据权利要求11所述的集成电路组件,其中,所述存储器设备是双倍数据速率(DDR)存储器设备,其中,所述第二存储器设备是三维交叉点存储器设备。
13.根据权利要求1-4中任一项所述的集成电路组件,其中,所述集成电路组件是包括处理器的片上系统。
14.根据权利要求1-4中任一项所述的集成电路组件,还包括
性能监视器,所述性能监视器用于:
检测被发送到所述主要存储器代理的存储器写入操作;以及
检测由所述主要存储器代理发送到所述次要存储器代理的经镜像的存储器写入操作。
15.一种方法,包括:
由主要存储器代理接收包括存储器写入数据的存储器写入操作;
由所述主要存储器代理将所述存储器写入数据发送到存储器设备以进行存储;以及
由所述主要存储器代理将包括所述存储器写入数据的经镜像的存储器写入操作发送到次要存储器代理。
16.根据权利要求15所述的方法,其中,所述主要存储器代理是集成电路组件的一部分,
其中,所述次要存储器代理在所述集成电路组件的外部,
其中,接收所述存储器写入操作包括:通过片上网络(NoC)从请求者接收所述存储器写入操作,其中,所述请求者是所述集成电路组件的一部分,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括:通过外部互连发送所述经镜像的存储器写入操作。
17.根据权利要求15或16中任一项所述的方法,其中,所述主要存储器代理连接到单个存储器通道。
18.根据权利要求15或16中任一项所述的方法,其中,所述次要存储器代理没有接收到所述经镜像的存储器写入操作是从所述主要存储器代理被镜像的任何指示。
19.一种集成电路组件,包括:
主要存储器代理;
次要存储器代理;
性能监视器,所述性能监视器用于:
检测被发送到所述主要存储器代理的存储器写入操作;以及
检测由所述主要存储器代理发送到所述次要存储器代理的经镜像的存储器写入操作。
20.根据权利要求19所述的集成电路组件,其中,所述主要存储器代理用于:
接收包括存储器写入数据的所述存储器写入操作;
将所述存储器写入数据发送到存储器设备以进行存储;以及
将包括所述存储器写入数据的所述经镜像的存储器写入操作发送到所述次要存储器代理。
21.根据权利要求20所述的集成电路组件,
其中,所述次要存储器代理是所述集成电路组件的一部分,
其中,接收所述存储器写入操作包括:通过片上网络(NoC)从请求者接收所述存储器写入操作,其中,所述请求者是所述集成电路组件的一部分,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括:通过所述NoC发送所述经镜像的存储器写入操作。
22.根据权利要求20所述的集成电路组件,
其中,所述次要存储器代理在所述集成电路组件的外部,
其中,接收所述存储器写入操作包括:通过片上网络(NoC)从请求者接收所述存储器写入操作,其中,所述请求者是所述集成电路组件的一部分,
其中,将所述经镜像的存储器写入操作发送到所述次要存储器代理包括:通过外部互连发送所述经镜像的存储器写入操作。
23.根据权利要求22所述的集成电路组件,其中,所述外部互连是计算快速链路(CXL)。
24.根据权利要求20-23中任一项所述的集成电路组件,其中,所述主要存储器代理连接到单个存储器通道。
25.根据权利要求20-23中任一项所述的集成电路组件,其中,所述主要存储器代理还用于:
从请求者接收存储器读取操作;
将所述存储器读取操作发送到所述存储器设备;
从所述存储器设备接收所述存储器读取操作不成功的指示;
响应于所述存储器读取操作不成功的所述指示,将经镜像的存储器读取操作发送到所述次要存储器代理;
从所述次要存储器代理接收对应于所述存储器读取操作的存储器读取数据;以及
将对应于所述存储器读取操作的所述存储器读取数据发送到所述请求者。
CN202211018111.6A 2021-09-24 2022-08-24 跨互连的存储器镜像的技术 Pending CN115858253A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/484,296 2021-09-24
US17/484,296 US20220011939A1 (en) 2021-09-24 2021-09-24 Technologies for memory mirroring across an interconnect

Publications (1)

Publication Number Publication Date
CN115858253A true CN115858253A (zh) 2023-03-28

Family

ID=79172601

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211018111.6A Pending CN115858253A (zh) 2021-09-24 2022-08-24 跨互连的存储器镜像的技术

Country Status (4)

Country Link
US (1) US20220011939A1 (zh)
EP (1) EP4155894A1 (zh)
JP (1) JP2023047277A (zh)
CN (1) CN115858253A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799586B2 (en) * 2009-09-30 2014-08-05 Intel Corporation Memory mirroring and migration at home agent
WO2013081616A1 (en) * 2011-12-01 2013-06-06 Intel Corporation Hardware based memory migration and resilvering
US11182313B2 (en) * 2019-05-29 2021-11-23 Intel Corporation System, apparatus and method for memory mirroring in a buffered memory architecture

Also Published As

Publication number Publication date
JP2023047277A (ja) 2023-04-05
EP4155894A1 (en) 2023-03-29
US20220011939A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US10019174B2 (en) Read operation delay
US10331345B2 (en) Method and apparatus for reducing silent data errors in non-volatile memory systems
US10777271B2 (en) Method and apparatus for adjusting demarcation voltages based on cycle count metrics
US11200961B1 (en) Apparatus, system and method to log memory commands and associated addresses of a memory array
WO2017074563A1 (en) System and method for utilization of a data buffer in a storage device
US20190102287A1 (en) Remote persistent memory access device
US10114743B2 (en) Memory erase management
US10725933B2 (en) Method and apparatus for redirecting memory access commands sent to unusable memory partitions
US11500589B2 (en) Command draining using host memory buffer
US11861217B2 (en) DRAM-less SSD with command draining
WO2009149059A1 (en) Ssd with a controller accelerator
WO2022216344A1 (en) Enhanced d3-c0ld and faster recovery
KR102469098B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 이를 포함하는 데이터 저장 장치
EP4155894A1 (en) Technologies for memory mirroring across an interconnect
US11281277B2 (en) Power management for partial cache line information storage between memories
CN113946371A (zh) 存储器设备的并行引导执行
US20230152984A1 (en) Storage devices configured to obtain data of external devices for debugging
US20220405011A1 (en) Latency On Indirect Admin Commands
US11650925B2 (en) Memory interface management
EP4180965A1 (en) Storage devices configured to obtain data of external devices for debugging
US11640335B2 (en) Multiple function level reset management
EP4246330A1 (en) Storage device and operating method thereof
KR102403477B1 (ko) 스토리지 장치와 이를 포함하는 호스트-스토리지 시스템
US20230393959A1 (en) Out-of-band management method for storage apparatus, baseboard management controller and storage apparatus
US20230297277A1 (en) Combining Operations During Reset

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication