CN117370243A - 从发起者节点访问耦合到目标节点的存储器 - Google Patents
从发起者节点访问耦合到目标节点的存储器 Download PDFInfo
- Publication number
- CN117370243A CN117370243A CN202311385271.9A CN202311385271A CN117370243A CN 117370243 A CN117370243 A CN 117370243A CN 202311385271 A CN202311385271 A CN 202311385271A CN 117370243 A CN117370243 A CN 117370243A
- Authority
- CN
- China
- Prior art keywords
- node
- memory
- target node
- initiator
- physical address
- 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
- 239000003999 initiator Substances 0.000 title claims abstract description 221
- 238000000034 method Methods 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 48
- 239000004744 fabric Substances 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 239000004606 Fillers/Extenders Substances 0.000 claims description 8
- 230000009977 dual effect Effects 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 16
- 239000003795 chemical substances by application Substances 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229920000642 polymer Polymers 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 239000012620 biological material Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011147 inorganic material Substances 0.000 description 1
- 229910010272 inorganic material Inorganic materials 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000011368 organic material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000012782 phase change material Substances 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0284—Multiple user address space allocation, e.g. using different base addresses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/217—Hybrid disk, e.g. using both magnetic and solid state storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种方法、装置和系统,其中,发起者节点被配置为与耦合到存储器的目标节点通信。在系统初始化时,发起者节点的存储器地址映射被生成以包括与目标节点耦合到的存储器相对应的地址。发起者节点通过使用发起者节点的存储器地址映射来访问耦合到目标节点的存储器。
Description
本申请是申请号为201780052743.5、申请日为2017年8月30日、发明名称为“从发起者节点访问耦合到目标节点的存储器”的申请的分案申请。
背景技术
双列直插式存储器模块(DIMM)包括一系列动态随机存取存储器集成电路。这样的模块可以安装在印刷电路板上,并且可以被设计用于计算设备中。计算设备中的中央处理单元(CPU)可以访问DIMM以执行读取操作或写入操作。
易失性存储器是这样一种计算机存储器:其内容在系统电力关闭或中断时被擦除。例如,动态随机存取存储器(DRAM)是一种易失性存储器。非易失性存储器是这样一种计算机存储器:即使在电力循环(即,关闭并重新开启)之后其也可以保留存储的信息。非易失性存储器的示例包括只读存储器(ROM)、闪速存储器等。DIMM可以包括易失性或非易失性存储器。
附图说明
现在参考附图,其中,同样的附图标记始终表示对应的部分:
图1示出了根据某些实施例的计算环境的框图,其中,发起者节点耦合到目标节点,其中,易失性存储器DIMM和非易失性存储器DIMM二者都耦合到目标节点;
图2示出了根据某些实施例的示出发起者节点的存储器地址映射的框图;
图3示出了根据某些实施例的示出由发起者节点执行的操作的流程图;
图4示出了根据某些实施例的示出发起者节点和目标节点的组件的框图;
图5示出了根据某些实施例的示出发起者节点的系统物理地址映射和目标节点的系统物理地址映射的框图;
图6示出了根据某些实施例的示出由发起者节点和目标节点执行的操作的流程图;
图7示出了根据某些实施例的示出向存储器访问请求提供的相对于输入/输出(I/O)访问请求的处理中偏好的框图;
图8示出了根据某些实施例的示出与不同类型的数据相对应的示例性操作码的框图;
图9示出了根据某些实施例的示出由被包括在发起者节点内的控制器执行的操作的流程图;并且
图10示出了根据某些实施例的包括发起者节点和目标节点的设备的框图。
具体实施方式
计算系统可以包括与多个易失性存储器DIMM和多个非易失性DIMM通信的CPU复合体。虽然预计存储在易失性存储器DIMM中的数据在发生电力故障或更换CPU复合体时会丢失,但预计存储在非易失性存储器DIMM中的数据在发生电力故障或更换CPU复合体时被保留。
在某些计算系统(其中,由易失性存储器DIMM和非易失性存储器DIMM提供的存储器混杂)中,即使可以经由DIMM的混杂来实现更高性能的计算系统,计算系统也可能变得更难以服务。例如,跨存储器组(memory bank)均匀地分布存储器地址的对存储器的交错可能需要在移除DIMM之后以特定次序更换这样的DIMM,其中,可能需要通过更换诸如计算系统的CPU复合体之类的组件来移除和更换DIMM。
为了更容易地为这样的计算系统提供服务,在某些实施例中,通过将易失性存储器DIMM和非易失性存储器DIMM耦合到结构存储器扩展器,并且通过经由结构将结构存储器扩展器耦合到CPU复合体,易失性存储器DIMM和非易失性存储器DIMM与CPU复合体机械地分离。在这样的实施例中,可以在不移除和更换DIMM的情况下执行对诸如CPU复合体之类的组件的更换。
在下面的描述中,对附图进行了参考,所述附图形成了本文的一部分并且示出了若干实施例。应当理解,可以利用其他实施例,并且可以进行结构和操作改变。
图1示出了根据某些实施例的计算环境100的框图,在所述计算环境100中,发起者节点102耦合到目标节点104,其中,易失性存储器DIMM 106和非易失性存储器DIMM 108二者都耦合到目标节点104。在某些实施例中,发起者节点102可以耦合到多于一个的目标节点。虽然图1单独地示出了易失性和非易失性DIMM,但是在某些实施例中,单个DIMM可以包括易失性和非易失性存储器二者。
在某些实施例中,发起者节点102可以包括包含一个或多个核心的CPU复合体。发起者节点102可以经由低延时结构110耦合到目标节点104,其中,目标节点104可以是结构存储器扩展器。
易失性存储器是需要电力来维持由介质存储的数据的状态的存储介质。易失性存储器的示例可以包括各种类型的随机存取存储器(RAM),例如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可以在存储器模块(例如,DIMM)中使用的一个特定类型的DRAM是同步动态随机存取存储器(SDRAM)。在某些实施例中,易失性存储器DIMM 106可以包括双倍数据速率版本4(DDR4)DIMM或任何其他类型的易失性存储器技术。在特定实施例中,易失性存储器DIMM 106的DRAM符合由JEDEC颁布的标准,例如用于双倍数据速率(DDR)SDRAM的JESD79F、用于DDR2 SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、或用于DDR4SDRAM的JESD79-4A(这些标准可以在www.jedec.org处获得)。这样的标准(和类似标准)可以被称为基于DDR的标准。在某些实施例中,易失性存储器DIMM 106可以包括其他版本的DDR存储器,包括基于JEDEC DDR标准的未来版本的DDR存储器。
在某些实施例中,非易失性存储器DIMM 108可以包括非易失性存储器集成电路,其中,非易失性存储器是不需要电力来维持由存储介质存储的数据的状态的存储介质。在某些实施例中,非易失性存储器DIMM 108与DDR4电子兼容且引脚兼容,而在其他实施例中,非易失性存储器DIMM 108不需要与DDR4或其他技术引脚兼容,并且可以基于与DDR4或其他技术不同的形状因子。在某些实施例中,非易失性存储器DIMM 108可以包括三级单元(TLC)NAND或任何其他类型的NAND(例如,单级单元(SLC)、多级单元(MLC)、四级单元(QLC)等等)或任何其他类型的非易失性存储器复合体。在其他实施例中,非易失性存储器DIMM 108可以包括某些其他类型的非易失性存储器,例如NOR存储器或一些其他合适的非易失性存储器。非易失性存储器的非限制性示例可以包括以下各项中的任何一项或其组合:固态存储器(例如,平面或三维(3D)NAND闪速存储器或NOR闪速存储器)、使用硫族化物相变材料的存储设备(例如,硫属化物玻璃)、字节可寻址非易失性存储器设备、铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、聚合物存储器(例如,铁电聚合物存储器)、三维(3D)交叉点存储器、铁电晶体管随机存取存储器(Fe-TRAM)、奥氏存储器、纳米线存储器、电可擦除可编程只读存储器(EEPROM)、其他各种类型的非易失性随机存取存储器(RAM)和磁存储存储器。在一些实施例中,3D交叉点存储器可以包括无晶体管的可堆叠交叉点架构,其中,存储器单元位于字线和位线的交叉处并且是可个别寻址的,并且其中,位存储是基于体电阻的变化的。在某些实施例中,具有非易失性存储器的DIMM可以符合由联合电子设备工程委员会(JEDEC)颁布的一个或多个标准,例如JESD218、JESD219、JESD220-1、JESD223B、JESD223-1或其他合适的标准(本文引用的JEDEC标准可在www.jedec.org处获得)。
发起者节点102还可以具有耦合到发起者节点的本地存储器112,其中,本地存储器可以是易失性存储器,其与经由易失性存储器DIMM 106和非易失性存储器DIMM 108变得对于发起者节点102可用的存储器相比,尺寸相对较小。非易失性存储器DIMM 108可以充当远程非易失性存储器,并且易失性存储器DIMM 106可以充当用于发起者节点102的远程易失性存储器,与发起者节点102的本地存储器112形成对比。
在某些实施例中,发起者节点102或发起者节点101与目标节点104的组合可以包括任何合适的计算设备,例如个人计算机、大型机、电话设备、智能电话、存储控制器、刀片计算机、具有存储器的处理器等。发起者节点102可以被称为主机、主机计算系统或计算设备。附加于或替代使用结构110,发起者节点102可以在总线(例如,外围组件互连(PCIe)、串行高级技术附件(SATA)、串行连接小型计算机系统接口(SAS))或网络(例如,互联网、存储区域网络(SAN)、局域网(LAN)等)上与目标节点104通信。可以在2013年8月由SATA国际组织(SATA-IO),Beaverton,OR发布的标题为“Serial ATA Specification,Revision 3.2”的出版物中找到SATA规范的更多细节。在另一示例中,用于发起者节点102与目标节点104之间的通信的接口和/或互连协议可以符合NVMe(非易失性存储器主机控制器接口快速)和/或与其兼容。NVMe的更多细节可以在由NVM ExpressTM工作组于2014年11月3日发布的标题为“NVM ExpressTM,Revision 1.2”的出版物和/或该规范的更早和/或更晚的版本中找到(NVMExpress是NVM Express公司的商标)。
在某些实施例中,操作系统114可以在计算环境100中执行,其中,操作系统114可以用于控制由发起者节点102和控制节点104执行的操作。
图2示出了根据某些实施例的示出发起者节点102的存储器地址映射202的框图200。发起者节点102的存储器地址映射202示出了对于发起者节点102可用的存储器的地址空间。
存储器地址映射202包括被称为远程非易失性存储器地址范围204的地址范围,其是耦合到目标节点104的物理非易失性存储器的逻辑表示,其中,物理非易失性存储器由耦合到目标节点104的非易失性存储器DIMM 108提供。
存储器地址映射202还包括被称为远程易失性存储器地址范围206的地址范围,其是耦合到目标节点104的物理易失性存储器的逻辑表示,其中,物理易失性存储器由耦合到目标节点104的易失性存储器DIMM 106提供。
另外,存储器地址映射202还包括被称为本地存储器地址范围208的地址范围,其是耦合到发起者节点102的物理本地存储器112的逻辑表示。在某些实施例中,发起者节点的本地存储器可以充当目标节点的存储器的高速缓存,并且在这样的实施例中,本地存储器地址范围208可以不作为发起者存储器地址映射202的部分存在。
应当注意,远程非易失性存储器地址范围204和远程易失性存储器地址范围206一起表示由目标节点104向发起者节点102提供的存储器,以及由目标节点104向发起者节点102提供的存储器被称为目标节点存储器210。在系统初始化期间,目标节点存储器210被设置在存储器地址映射202中,其中,系统初始化是在启动期间初始化发起者节点102的过程,在此期间发起者节点102与目标节点104建立通信。在某些实施例中,其中,发起者节点102耦合到多个目标节点,发起者节点102可以经由发起者存储器地址映射202提供对多个目标节点的支持。
图3示出了根据某些实施例的示出由发起者节点102执行的操作的流程图300。
控制开始于框302处,其中,发起者节点102被配置为与耦合到存储器(例如,易失性存储器DIMM 104和/或非易失性存储器DIMM 108)的目标节点104进行通信。在系统初始化时,发起者节点102的存储器地址映射202被生成(在框304处)以包括与目标节点104耦合到的存储器相对应的地址。发起者节点102通过使用发起者节点102的存储器地址映射202来访问(在框306处)耦合到目标节点104的存储器。
在某些实施例中,可以在计算环境100中支持目标节点104的热插拔,其中,热插拔是向运行的计算机系统添加组件而不显着中断计算机系统的操作,并且组件的热插拔不需要计算机系统的重新启动。在这样的实施例中,当目标节点104被热插拔时,发起者节点102可以在运行时期间配置和/或更新发起者存储器地址映射202,并且向操作系统114通知所配置的和/或所更新的发起者存储器地址映射202。在某些实施例中,DIMM接口或诸如基板管理控制器(BMC)之类的管理控制器可以用于通知操作系统114新存储器可用,其中,新存储器由目标节点104提供。
图4示出了根据某些实施例的示出发起者节点102和目标节点104的组件的框图400。
发起者节点102可以包括多核处理器,其包括多个核心402、404,其中,核心是读取和执行程序指令的独立处理单元。发起者节点还可以包括一个或多个I/O设备405。发起者节点102可以包括内置在硬件中(或者可选地经由硬件、软件和/或固件的组合)的多个组件,其中,多个组件包括高速缓存代理406、集成存储器控制器408(应当注意到,在某些实施例中,可以使用未集成的存储器控制器代替集成存储器控制器408)、结构存储器控制器412和结构控制器414。高速缓存代理406、集成存储器控制器408、结构存储器控制器412和结构控制器414还可以分别被称为发起者高速缓存代理406、发起者集成存储器控制器408、发起者结构存储器控制器412、发起者结构控制器414。在某些实施例中,如果仅存在单个集成存储器控制器,则可以不存在高速缓存代理406,这是因为如果在发起者节点102中存在多于一个集成存储器控制器,则高速缓存代理406可以确定向多个集成存储器控制器中的哪个集成存储器控制器转发请求。在某些实施例中,代替在发起者节点102内具有集成存储器控制器108,集成存储器控制器408可以在发起者节点102的外部。虽然在不同的框中示出发起者节点102的多个组件406、408、412、414,但是在替代实施例中,由多个组件406、408、412、414中的一个或多个组件执行的功能可以由单个组件执行。
目标节点104可以包括结构存储器扩展器,其由多个核心416、418组成。目标节点104还可以包括内置在硬件(或者替代地经由硬件、软件和/或固件的组合)中的多个组件,其中,多个组件包括集成存储器控制器422、结构存储器控制器426和结构控制器428。集成存储器控制器422、结构存储器控制器426和结构控制器428还被分别称为目标集成存储器控制器422、目标结构存储器控制器426和目标结构控制器428。虽然目标节点104的多个组件422、426在不同的框中示出,但是在替代实施例中,由多个组件422、426中的一个或多个组件执行的功能可以由单个组件执行。
发起者节点102的集成存储器控制器408被示出具有三个通道429、430、432,其中,通道429、430用于与被包括在DIMM插槽434、436中的本地存储器112通信,并且通道432用于与发起者节点102的结构存储器控制器412通信,其中,发起者节点102的结构存储器控制器412经由发起者节点102的结构控制器414与目标节点104通信,以访问放置在插槽440、442中的易失性存储器DIMM和非易失性存储器DIMM的存储器,所述插槽440、442耦合到目标节点104的集成存储器控制器422。目标节点104的集成存储器控制器422经由通道444与放置在插槽440中的易失性存储器DIMM 106通信,并且经由通道446与放置在插槽442中的非易失性存储器DIMM 108通信。
图5示出了根据某些实施例的框图500,其示出了发起者节点102的系统物理地址映射502和目标节点104的物理存储器地址映射504。发起者节点102的系统物理地址映射502还被称为发起者物理存储器地址映射或发起者系统物理映射。目标节点104的物理存储器地址映射504还被称为目标物理存储器地址映射或目标系统物理映射。
发起者节点102的物理存储器地址映射502类似于图2的框图200中描述的物理存储器地址映射。发起者节点102的物理存储器地址映射502包括用于目标节点存储器(经由附图标记506示出)的地址和用于发起者节点的本地存储器的(经由附图标记508示出)地址。目标节点存储器506与目标节点104的DIMM设备物理地址相对应,其中,目标节点104的所有DIMM的存储器在用于目标节点存储器506的地址范围中。发起者节点的本地存储器(附图标记508)与发起者节点102的本地存储器的DIMM设备物理地址范围相对应。与目标节点存储器506的起始地址的偏移510指示DIMM设备物理地址。
目标节点104的物理存储器地址映射504包括用于目标节点的易失性存储器(经由附图标记512示出)的地址和用于目标节点的非易失性存储器(经由附图标记514示出)的地址,并且它们包括分别与易失性存储器DIMM 106和非易失性存储器DIMM 108相对应的地址范围。
因此,发起者节点102的物理存储器地址映射502包括用于目标节点104的存储器的地址,并且目标节点104的物理存储器地址映射504包括耦合到目标节点104的易失性和非易失性存储器的地址。虚线516、518示出了目标节点的存储器地址范围如何成为发起者节点的存储器地址映射的部分。
发起者节点102可以经由不同计算环境中的各种机制来保护关于目标节点104的存储器大小和目标节点104的存储器类型的信息。在某些实施例中,发起者节点的基板管理控制器(BMC)可以与目标节点的BMC通信,以保护关于目标节点104的存储器大小和存储器类型的信息。在另一个实施例中,在机架规模设计架构中的pod管理器(PODM)可以与目标节点104的池化系统管理引擎(PSME)和/或BMC通信,并且经由发起者节点102的BMC或PSME向发起者节点102提供存储器映射信息。在又一实施例中,发起者节点102和目标节点104之间的系统管理总线(SMBus)连接可以用于保护目标节点104的存储器大小和存储器类型。在另一实施例中,目标节点104可以向预定网络存储装置提交其关于存储器大小和存储器类型的信息,并且发起者节点102可以从预定的网络存储装置读取信息。在其他实施例中,目标节点104本身可以分配存储器区域。例如,如果目标节点104使用范围从标记为“2GB-1MB区域”的代表性区域到标记为“2GB区域”的代表性区域的目标系统存储器范围,以包含存储器范围和存储器类型(易失性或持久性),则发起者节点102可以临时留出2GB存储器区域并与目标节点104的“2GB-1MB区域”到“2GB区域”进行通信,以保护目标存储器映射设置并且重新配置发起者节点的存储器地址范围以覆盖目标节点的存储器地址范围。
图6示出了根据某些实施例的示出由发起者节点102和目标节点104执行的操作的流程图600。在图6中,由发起者节点102执行的发起者节点操作602在虚线604左侧示出,并且由目标节点104执行的目标节点操作606在虚线604右侧示出。
控制开始于框608处,其中,核心402或I/O设备405生成系统物理地址访问请求,并且系统物理地址请求被发送到发起者高速缓存代理406。发起者高速缓存代理406转发(在框610处)系统物理地址请求到发起者集成存储器控制器408。
发起者集成存储器控制器408将系统物理地址请求转换(在框614处)成DIMM设备物理地址(即,与发起者物理存储器地址映射中的“目标节点的存储器”相对应的地址范围中的偏移510),并且向发起者结构存储器控制器412发送DIMM设备物理地址。发起者结构存储器控制器412从发起者集成存储器控制器408接收DIMM设备物理地址,并且将DIMM设备物理地址转换(在框616处)成目标节点104的系统物理地址。目标节点的系统物理地址范围可以通过以下方式来检索:经由管理控制器,或者通过将系统物理地址范围专用于目标节点104中,或者通过发送目标系统配置读取请求。如果使用多个集成存储器控制器通道或发起者集成存储器控制器来增加带宽,则可以在发起者集成存储器控制器之中划分目标节点的系统物理地址范围。
控制行进到框618,其中,发起者结构存储器控制器412通过结构控制器414向目标节点104发送系统物理地址访问请求。目标结构存储器控制器426将传入的消息解码(在框620处)成对目标系统物理地址的存储器访问请求。
控制行进到框622,其中,目标结构存储器控制器426将目标系统物理地址转发到目标集成存储器控制器422,所述目标集成存储器控制器422在确保对与耦合到目标节点104的DIMM相对应的目标系统物理地址的访问之后向目标结构存储器控制器426发送响应。然后,目标结构存储器控制器426向发起者节点102发送(在框624处)所接收的响应。
在经由结构控制器414在发起者节点102处接收到系统物理地址响应时,发起者结构存储器控制器412将系统物理地址响应发送(在框626处)回发起者集成存储器控制器408。发起者集成存储器控制器408将系统物理地址响应发送(在框628处)回发起者高速缓存代理406。发起者高速缓存代理406将系统物理地址响应发送(在框630处)回发起核心402或I/O设备405。
因此,图1-6示出了某些实施例,其中,发起者结构存储器控制器412充当信使以将发起者节点102的系统物理地址转换为目标节点104的系统物理地址并且向目标节点104发送消息。在目标节点104中,目标结构存储器控制器426解码系统物理地址访问请求并且执行对目标节点104的系统物理地址的存储器访问。所得到的响应被发送回发起者节点102的发起者结构存储器控制器412。
图7示出了根据某些实施例的框图700,其示出了发起者节点102向存储器访问请求提供相对于输入/输出(I/O)访问请求的偏好处理(preferential processing)。
可以针对发起者节点102生成多个存储器访问请求702、704和多个I/O请求706、708。由于I/O请求通常可以等待而存储器请求需要被尽快服务,所以发起者节点102经由高速缓存代理406、集成存储器控制器408和发起者结构存储器控制器412在处理中向存储器访问请求702提供相对于I/O请求706、708的偏好(preference)。
图8示出了根据某些实施例的示出与不同类型的数据相对应的示例性操作码的框图800。操作码是机器语言指令的指定要执行的操作的部分。除了操作码本身,大多数机器语言指令还以操作数的形式指定它们将处理的数据。
图8中示出了四个示例性操作码802、804、806、808。操作码802用于指示将所有比特设置为零的数据(附图标记810)。操作码804用于指示将所有比特设置为1的数据(附图标记812)。操作码806用于指示具有诸如重复的“01”模式之类的特定重复模式的数据(附图标记814)。操作码808用于指示被压缩的数据(附图标记816)。发起者节点102和目标节点104解释操作码以减少读取或写入数据所需要的操作的数量。
例如,在某些实施例中,当地址被发送并且后跟64字节的数据时,则通过使用用于全零、全1或重复模式的示例性操作码802、804、806,整个64字节的数据不必被发送。另外,如果操作码808指示压缩数据被包括在64字节的数据中,则当压缩数据未压缩时,多于64字节的数据被接收。作为结果,与不包括这样的示例性操作码的系统相比,整体读取和写入时间得到了改善。
图9示出了根据某些实施例的流程图900,其示出了由被包括在发起者节点102内的发起者结构存储器控制器412执行的操作。
控制开始于框902处,其中,响应于从核心或I/O设备接收到用于访问发起者节点102的系统物理地址的请求,发起者节点102将系统物理地址转换为DIMM设备物理地址。控制行进到框904,其中,发起者节点102将DIMM设备物理地址转换为目标节点104的系统物理地址。响应于将DIMM设备物理地址转换为目标节点104的系统物理地址,发起者节点102向目标节点104发送(在框906处)消息,以访问目标节点的系统物理地址。
发起者节点102接收(在框908处)来自目标节点104的响应,其中,来自目标节点104的响应是基于经由向目标节点104发送的系统物理地址访问一个或多个DIMM设备106、108的。响应被转发(在框910处)到,从其接收用于访问系统物理地址的请求的核心或I/O设备。
因此,图1-9示出了其中发起者节点102访问耦合到目标节点104的易失性和非易失性存储器DIMM的某些实施例。存储器访问被提供了相对于I/O访问的偏好。另外,专门的操作码用于传送某些数据模式并且用于被压缩的数据。
所描述的操作可以使用标准编程和/或工程技术来被实现为方法、装置或计算机程序产品,以产生软件、固件、硬件或其任何组合。所描述的操作可以实现为在“计算机可读存储介质”中维护的代码,其中,处理器可以读取和执行计算机存储可读介质的代码。计算机可读存储介质包括以下各项中的至少一项:电子电路、存储材料、无机材料、有机材料、生物材料、外壳、壳体、涂层和硬件。计算机可读存储介质可以包括但不限于:磁存储介质(例如,硬盘驱动器、软盘、磁带等)、光存储装置(CD-ROM、DVD、光盘等)、易失性和非易失性存储器设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪速存储器、固件、可编程逻辑单元等)、固态设备(SSD)等。实现所描述的操作的代码还可以在硬件设备(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等)中实现的硬件逻辑单元中实现。更进一步地,实现所描述的操作的代码可以在“传输信号”中实现,其中,传输信号可以通过空间或通过传输介质(例如,光纤、铜线等)传播。代码或逻辑被编码于其中的传输信号中还可以包括无线信号、卫星传输、无线电波、红外信号、蓝牙等。嵌入在计算机可读存储介质上的程序代码可以作为传输信号从发送站或计算机向接收站或电脑发送。计算机可读存储介质不仅包括传输信号。本领域技术人员将认识到,可以对该配置进行许多修改,并且制品可以包括本领域已知的合适的信息承载介质。
用于执行某些实施例的方面的操作的计算机程序代码可以用一种或多种编程语言的任何组合来编写。流程图和框图的框可以由计算机程序指令实现。
图10示出了根据某些实施例的包括发起者节点102和目标节点104二者的系统1000的框图。例如,在某些实施例中,系统1000可以是计算机(例如,膝上型计算机、桌上型计算机、平板电脑、蜂窝电话或任何其他合适的计算设备),其将发起者节点102和目标节点104二者包括在系统1000中。例如,在某些实施例中,系统1000可以是具有多个机架的计算机,其中,每个机架包括发起者节点102、目标节点104、易失性存储器DIMM 106和非易失性存储器DIMM。系统1000可以包括可以在某些实施例中包括至少处理器1004的电路1002。系统1000还可以包括存储器1006(例如,易失性存储器设备)和存储装置1008。存储装置1008可以包括固态驱动器或包括非易失性存储器设备(例如,EEPROM、ROM、PROM、闪速存储器、固件、可编程逻辑单元等)的其他驱动器或设备。存储装置1008还可以包括磁盘驱动器、光盘驱动器、磁带驱动器等。存储装置1008可以包括内部存储设备、附接的存储设备和/或网络可访问存储设备。系统1000可以包括程序逻辑单元1010,所述程序逻辑单元1010包括代码1012,所述代码1012可以被加载到存储器1006中并由处理器1004或电路1002执行。在某些实施例中,包括代码1012的程序逻辑单元1010可以被存储在存储装置1008中。在某些其他实施例中,程序逻辑单元1010可以被实现在电路1002中。因此,虽然图10示出了与其他元件分开的程序逻辑单元1010,但是程序逻辑单元1010可以被实现在存储器1006和/或电路1002中。系统1000还可以包括显示器1014(例如,液晶显示器(LCD)、发光二极管(LED)显示器、阴极射线管(CRT)显示器、触摸屏显示器或任何其它合适的显示器)。系统1000还可以包括一个或多个输入设备1016,例如键盘、鼠标、操纵杆、触控板或任何其他合适的输入设备。在系统1000中还可以找到图10所示的那些组件或设备之外的其他组件或设备。
某些实施例可以涉及用于由人或自动处理部署计算指令以将计算机可读代码集成到计算系统中的方法,其中,与计算系统组合的代码能够执行所描述的实施例的操作。
除非另有明确指定,否则术语“一实施例”、“实施例”、“多个实施例”、“该实施例”、“这些实施例”、“一个或多个实施例”、“一些实施例”和“一个实施例”意指“一个或多个(但不是所有)实施例”。
除非另有明确指定,否则术语“包括”、“包含”、“具有”及其变型意指“包括但不限于”。
除非另有明确指定,否则所枚举的项目并不表明项目中的任何或所有项目是互斥的。
除非另有明确指定,否则术语“一”、“一个”和“该”意指“一个或多个”。
除非另有明确指定,否则与彼此通信的设备不需要与彼此连续通信。另外,与彼此通信的设备可以通过一个或多个中介直接或间接地通信。
对具有与彼此通信的若干组件的实施例的描述并不表明所有这样的组件都是需要的。相反,各种可选组件被描述以说明各种各样的可能的实施例。
此外,尽管可以以顺序次序描述处理步骤、方法步骤、算法等,但是这样的过程、方法和算法可以被配置为以替代的次序工作。换言之,可以被描述的步骤的任何顺序或次序不一定指示要求以该次序执行步骤。本文描述的过程的步骤可以以任何可行的次序执行。此外,可以同时执行一些步骤。
当本文描述单个设备或物品时,将显而易见的是,可以使用多于一个设备/物品(无论它们是否协作)来代替单个设备/物品。类似地,在本文描述多于一个设备或物品(无论它们是否协作)的情况下,将显而易见的是,可以使用单个设备/物品来代替多于一个的设备或物品,或者可以使用不同数量的设备/物品来代替示出的数量的设备或程序。设备的功能和/或特征可以可替代地由未明确地描述为具有这样的功能/特征的一个或多个其他设备实现。因此,其他实施例不需要包括设备本身。
至少某些可能已在附图中示出的操作示出了某些事件以特定次序发生。在替代实施例中,某些操作可以以不同的次序执行、被修改或被移除。此外,步骤可以被添加到以上描述的逻辑中,并且仍然符合所描述的实施例。此外,本文描述的操作可以顺序发生,或者某些操作可以并行处理。此外,操作可以由单个处理单元或分布式处理单元执行。
已经出于说明和描述的目的呈现了各种实施例的前述描述。其并非旨在穷举或限于所公开的精确形式。鉴于以上教导,许多修改和变型都是可能的。
示例
下面的示例涉及另外的实施例。
示例1是一种用于访问存储器的方法。发起者节点被配置为与耦合到存储器的目标节点通信。在系统初始化时,所述发起者节点的存储器地址映射被生成,以包括与所述目标节点耦合到的所述存储器相对应的地址。所述发起者节点通过使用所述发起者节点的所述存储器地址映射来访问耦合到所述目标节点的所述存储器。
在示例2中,示例1的主题可以包括:耦合到所述目标节点的所述存储器包括易失性存储器和非易失性存储器中的至少一个。
在示例3中,示例2的主题可以包括:所述易失性存储器和所述非易失性存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的所述地址包括DIMM设备物理地址,并且其中所述示例还包括:响应于从核心或输入/输出(I/O)设备接收到用于访问所述发起者节点的系统物理地址的请求,将所述系统物理地址转换为DIMM设备物理地址;将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;以及响应于将所述DIMM设备物理地址转换为所述目标节点的所述系统物理地址,向所述目标节点发送消息以访问所述目标节点的所述系统物理地址。
在示例4中,示例3的主题可以包括:接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;以及将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
在示例5中,示例2的主题可以包括:响应于所述目标节点的热插拔,所述发起者节点在运行时期间配置或更新所述发起者节点的所述存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,其中:所述发起者节点包括具有多个核心的中央处理复合体;所述目标节点包括结构存储器扩展器;所述易失性存储器包括易失性存储器DIMM;并且所述非易失性存储器包括非易失性存储器DIMM。
在示例6中,示例1的主题可以包括:所述发起者节点相对于I/O请求优先处理存储器访问请求。
在示例7中,示例1的主题可以包括:与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
在示例8中,示例1的主题可以包括:选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
示例9是一种用于访问存储器的系统。所述系统包括:发起者节点;耦合到所述发起者节点的目标节点;耦合到所述目标节点的存储器,其中,所述发起者节点可配置为:与耦合到所述存储器的所述目标节点通信;在系统初始化时,生成所述发起者节点的存储器地址映射,以包括与所述目标节点耦合到的所述存储器相对应的地址;并且通过使用所述发起者节点的所述存储器地址映射来访问耦合到所述目标节点的所述存储器。
在示例10中,示例9的主题可以包括:耦合到所述目标节点的所述存储器包括易失性存储器和非易失性存储器中的至少一个。
在示例11中,示例10的主题可以包括:所述易失性存储器和所述非易失性存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的所述地址包括DIMM设备物理地址,并且其中,所述发起者节点还可配置为:响应于从核心或输入/输出(I/O)设备接收到用于访问所述发起者节点的系统物理地址的请求,将所述系统物理地址转换为DIMM设备物理地址;将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;并且响应于将所述DIMM设备物理地址转换为所述目标节点的所述系统物理地址,向所述目标节点发送消息以访问所述目标节点的所述系统物理地址。
在示例12中,示例11的主题可以包括:所述发起者节点还可配置为:接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;并且将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
在示例13中,示例10的主题可以包括:响应于所述目标节点的热插拔,所述发起者节点可用于执行操作以在运行时期间配置或更新所述发起者节点的所述存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,其中:所述发起者节点包括具有多个核心的中央处理复合体;所述目标节点包括结构存储器扩展器;所述易失性存储器包括易失性存储器DIMM;并且所述非易失性存储器包括非易失性存储器DIMM。
在示例14中,示例9的主题可以包括:所述发起者节点相对于I/O请求优先处理存储器访问请求。
在示例15中,示例9的主题可以包括:与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
在示例16中,示例9的主题可以包括:选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
示例17是一种用于访问存储器的系统。所述系统包括:显示器;耦合到显示器的发起者节点;耦合到所述发起者节点的目标节点;以及耦合到所述目标节点的存储器,其中,所述发起者节点可配置为:与耦合到所述存储器的所述目标节点通信;在系统初始化时,生成所述发起者节点的存储器地址映射,以包括与所述目标节点耦合到的所述存储器相对应的地址;并且通过使用所述发起者节点的所述存储器地址映射来访问耦合到所述目标节点的所述存储器。
在示例18中,示例17的主题可以包括:耦合到所述目标节点的所述存储器包括易失性存储器和非易失性存储器中的至少一个。
在示例19中,示例18的主题可以包括:易失性存储器和所述非易失性存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的所述地址包括DIMM设备物理地址,并且其中,所述发起者节点还可配置为:响应于从核心或输入/输出(I/O)设备接收到用于访问所述发起者节点的系统物理地址的请求,将所述系统物理地址转换为DIMM设备物理地址;将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;并且响应于将所述DIMM设备物理地址转换为所述目标节点的所述系统物理地址,向所述目标节点发送消息以访问所述目标节点的所述系统物理地址。
在示例20中,示例19的主题可以包括:所述发起者节点还可配置为:接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;并且将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
在示例21中,示例18的主题可以包括:响应于所述目标节点的热插拔,所述发起者节点可用于执行操作以在运行时期间配置或更新所述发起者节点的所述存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,其中:所述发起者节点包括具有多个核心的中央处理复合体;所述目标节点包括结构存储器扩展器;所述易失性存储器包括易失性存储器DIMM;并且所述非易失性存储器包括非易失性存储器DIMM。
在示例22中,示例17的主题还包括:所述发起者节点相对于I/O请求优先处理存储器访问请求。
在示例23中,示例17的主题还包括:与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
在示例24中,示例17的主题还包括:选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
示例25是一种用于访问存储器的系统,其中,所述系统包括:用于配置发起者节点以与耦合到存储器的目标节点通信的单元;用于在系统初始化时生成所述发起者节点的存储器地址映射以包括与所述目标节点耦合到的所述存储器相对应的地址的单元;以及用于由所述发起者节点通过使用所述发起者节点的所述存储器地址映射访问耦合到所述目标节点的所述存储器的单元。
Claims (21)
1.一种用于访问存储器的方法,所述方法包括:
配置发起者节点以与耦合到存储器的目标节点通信,所述存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的地址包括DIMM设备物理地址;以及
响应于发起者节点接收到用于访问所述发起者节点的系统物理地址的请求,所述发起者节点执行操作,包括:
将所述发起者节点的系统物理地址转换为DIMM设备物理地址;
将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;以及
响应于将所述DIMM设备物理地址转换为所述目标节点的系统物理地址,向所述目标节点发送消息以访问所述目标节点的系统物理地址。
2.如权利要求1所述的方法,还包括:
从核心或输入/输出(I/O)设备接收用于访问所述发起者节点的系统物理地址的请求。
3.如权利要求2所述的方法,所述方法还包括:
接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;以及
将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
4.如权利要求1所述的方法,其中,响应于所述目标节点的热插拔,所述发起者节点在运行时期间配置或更新所述发起者节点的存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,并且其中:
所述发起者节点包括具有多个核心的中央处理复合体;以及
所述目标节点包括结构存储器扩展器。
5.如权利要求1所述的方法,其中,所述发起者节点相对于I/O请求优先处理存储器访问请求。
6.如权利要求1所述的方法,其中,与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
7.如权利要求1所述的方法,其中,选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
8.一种用于访问存储器的装置,所述装置包括:
发起者节点;
耦合到所述发起者节点的目标节点;
耦合到所述目标节点的存储器,所述存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的地址包括DIMM设备物理地址,
其中,所述发起者节点可配置为:
与耦合到所述存储器的所述目标节点通信;以及
响应于发起者节点接收到用于访问所述发起者节点的系统物理地址的请求,所述发起者节点执行操作,包括:
将所述发起者节点的系统物理地址转换为DIMM设备物理地址;
将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;以及
响应于将所述DIMM设备物理地址转换为所述目标节点的系统物理地址,向所述目标节点发送消息以访问所述目标节点的系统物理地址。
9.如权利要求8所述的装置,其中,所述发起者节点还可配置为:
从核心或输入/输出(I/O)设备接收用于访问所述发起者节点的系统物理地址的请求。
10.如权利要求9所述的装置,其中,所述发起者节点还可配置为:
接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;并且
将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
11.如权利要求8所述的装置,其中,响应于所述目标节点的热插拔,所述发起者节点可用于执行操作以在运行时期间配置或更新所述发起者节点的存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,并且其中:
所述发起者节点包括具有多个核心的中央处理复合体;以及
所述目标节点包括结构存储器扩展器。
12.如权利要求8所述的装置,其中,所述发起者节点相对于I/O请求优先处理存储器访问请求。
13.如权利要求8所述的装置,其中,与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
14.如权利要求8所述的装置,其中,选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
15.一种用于访问存储器的系统,所述系统包括:
显示器;
耦合到显示器的发起者节点;
耦合到所述发起者节点的目标节点;以及
耦合到所述目标节点的存储器,所述存储器被包括在一个或多个双列直插式存储器模块(DIMM)设备中,其中,与所述目标节点耦合到的所述存储器相对应的地址包括DIMM设备物理地址,
其中,所述发起者节点可配置为:
与耦合到所述存储器的所述目标节点通信;以及
响应于发起者节点接收到用于访问所述发起者节点的系统物理地址的请求,所述发起者节点执行操作,包括:
将所述发起者节点的系统物理地址转换为DIMM设备物理地址;
将所述DIMM设备物理地址转换为所述目标节点的系统物理地址;以及
响应于将所述DIMM设备物理地址转换为所述目标节点的系统物理地址,向所述目标节点发送消息以访问所述目标节点的系统物理地址。
16.如权利要求15所述的系统,其中,所述发起者节点还可配置为:
从核心或输入/输出(I/O)设备接收用于访问所述发起者节点的系统物理地址的请求。
17.如权利要求16所述的系统,其中,所述发起者节点还可配置为:
接收来自所述目标节点的响应,其中,来自所述目标节点的所述响应是基于经由向所述目标节点发送的所述系统物理地址访问所述一个或多个DIMM设备的;并且
将所述响应转发到从其接收用于访问所述系统物理地址的所述请求的所述核心或所述I/O设备。
18.如权利要求15所述的系统,其中,响应于所述目标节点的热插拔,所述发起者节点可用于执行操作以在运行时期间配置或更新所述发起者节点的存储器地址映射,并且向操作系统通知所述发起者节点的所配置的存储器地址映射或所更新的存储器地址映射,并且其中:
所述发起者节点包括具有多个核心的中央处理复合体;以及
所述目标节点包括结构存储器扩展器。
19.如权利要求15所述的系统,其中,所述发起者节点相对于I/O请求优先处理存储器访问请求。
20.如权利要求15所述的系统,其中,与数据中的不同模式相对应的不同操作码用于所述发起者节点与所述目标节点之间的通信。
21.如权利要求15所述的系统,其中,选择的操作码用于指示用于在所述发起者节点与所述目标节点之间的通信的压缩数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/283065 | 2016-09-30 | ||
US15/283,065 US10176108B2 (en) | 2016-09-30 | 2016-09-30 | Accessing memory coupled to a target node from an initiator node |
CN201780052743.5A CN109643295B (zh) | 2016-09-30 | 2017-08-30 | 从发起者节点访问耦合到目标节点的存储器 |
PCT/US2017/049457 WO2018063722A1 (en) | 2016-09-30 | 2017-08-30 | Accessing memory coupled to a target node from an initiator node |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052743.5A Division CN109643295B (zh) | 2016-09-30 | 2017-08-30 | 从发起者节点访问耦合到目标节点的存储器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117370243A true CN117370243A (zh) | 2024-01-09 |
Family
ID=61758204
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052743.5A Active CN109643295B (zh) | 2016-09-30 | 2017-08-30 | 从发起者节点访问耦合到目标节点的存储器 |
CN202311385271.9A Pending CN117370243A (zh) | 2016-09-30 | 2017-08-30 | 从发起者节点访问耦合到目标节点的存储器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780052743.5A Active CN109643295B (zh) | 2016-09-30 | 2017-08-30 | 从发起者节点访问耦合到目标节点的存储器 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10176108B2 (zh) |
CN (2) | CN109643295B (zh) |
DE (1) | DE112017004951T5 (zh) |
WO (1) | WO2018063722A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113742253B (zh) * | 2020-05-29 | 2023-09-01 | 超聚变数字技术有限公司 | 存储介质管理方法、装置、设备以及计算机可读存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6487623B1 (en) | 1999-04-30 | 2002-11-26 | Compaq Information Technologies Group, L.P. | Replacement, upgrade and/or addition of hot-pluggable components in a computer system |
US7966455B2 (en) * | 2008-03-04 | 2011-06-21 | International Business Machines Corporation | Memory compression implementation in a multi-node server system with directly attached processor memory |
US9015446B2 (en) * | 2008-12-10 | 2015-04-21 | Nvidia Corporation | Chipset support for non-uniform memory access among heterogeneous processing units |
US8386723B2 (en) * | 2009-02-11 | 2013-02-26 | Sandisk Il Ltd. | System and method of host request mapping |
US8190839B2 (en) * | 2009-03-11 | 2012-05-29 | Applied Micro Circuits Corporation | Using domains for physical address management in a multiprocessor system |
KR101516580B1 (ko) * | 2009-04-22 | 2015-05-11 | 삼성전자주식회사 | 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법 |
WO2012015430A1 (en) | 2010-07-30 | 2012-02-02 | Hewlett-Packard Development Company, L.P. | Computer system and method for sharing computer memory |
US9047172B2 (en) * | 2012-11-29 | 2015-06-02 | Intel Corporation | Adaptive power control of memory map storage devices |
US9436600B2 (en) | 2013-06-11 | 2016-09-06 | Svic No. 28 New Technology Business Investment L.L.P. | Non-volatile memory storage for multi-channel memory system |
US9354872B2 (en) | 2014-04-24 | 2016-05-31 | Xitore, Inc. | Apparatus, system, and method for non-volatile data storage and retrieval |
-
2016
- 2016-09-30 US US15/283,065 patent/US10176108B2/en active Active
-
2017
- 2017-08-30 DE DE112017004951.2T patent/DE112017004951T5/de active Pending
- 2017-08-30 CN CN201780052743.5A patent/CN109643295B/zh active Active
- 2017-08-30 CN CN202311385271.9A patent/CN117370243A/zh active Pending
- 2017-08-30 WO PCT/US2017/049457 patent/WO2018063722A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN109643295B (zh) | 2023-11-10 |
CN109643295A (zh) | 2019-04-16 |
US20180095890A1 (en) | 2018-04-05 |
US10176108B2 (en) | 2019-01-08 |
DE112017004951T5 (de) | 2019-06-19 |
WO2018063722A1 (en) | 2018-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106354656B (zh) | 用于存储管理的方法和系统 | |
KR102519904B1 (ko) | 영구 메모리 할당 및 구성 | |
KR102683696B1 (ko) | 호스트 메모리 버퍼(Host Memory Buffer)를 관리하기 위한 NVMe(Non-Volatile Memory Express) 컨트롤러를 포함하는 솔리드 스테이트 저장 장치(solid state storage device), 이를 포함하는 시스템 및 호스트의 호스트 메모리 버퍼를 관리하는 방법 | |
JP6496626B2 (ja) | 異種統合メモリ部及びその拡張統合メモリスペース管理方法 | |
CN113448504A (zh) | 具有用于实现内部固态驱动器操作的外部软件执行的固态驱动器 | |
US20240264938A1 (en) | Address map caching for a memory system | |
CN108604456A (zh) | 在存储器插槽中支持多个存储器类型 | |
US10152264B1 (en) | Memory device update system | |
US10235300B2 (en) | Memory system including memory device and operation method thereof | |
US20190171392A1 (en) | Method of operating storage device capable of reducing write latency | |
CN112115067B (zh) | 闪存物理资源集合管理装置及方法及计算机可读取存储介质 | |
CN111684408B (zh) | 多存储器类型存储器模块系统和方法 | |
US11675326B2 (en) | Method and apparatus for remote field programmable gate array processing | |
US10108542B2 (en) | Serial link storage interface (SLSI) hybrid block storage | |
US20190235790A1 (en) | Electronic system having host and memory controller, and operating method thereof | |
US10877918B2 (en) | System and method for I/O aware processor configuration | |
CN114174973A (zh) | 串行存储器设备i/o模式选择 | |
US11455186B2 (en) | Controller and memory system having the same | |
US12014052B2 (en) | Cooperative storage architecture | |
US10749836B2 (en) | Slave device for performing address resolution protocol and operating method thereof | |
CN109643295B (zh) | 从发起者节点访问耦合到目标节点的存储器 | |
US20190227709A1 (en) | System and Method to Provide Persistent Storage Class Memory using NVDIMM-N with an NVDIMM-P Footprint | |
CN107977325B (zh) | 存储器控制器、存储器系统和操作存储器控制器的方法 | |
US10579517B2 (en) | System and method for providing per channel frequency optimization in a double data rate memory system | |
KR102714157B1 (ko) | 메모리 시스템, 데이터 처리 시스템 및 데이터 처리 시스템의 동작방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |