CN116737603A - 大内存资源池的单接口驱动的动态内存/存储容量扩展器 - Google Patents
大内存资源池的单接口驱动的动态内存/存储容量扩展器 Download PDFInfo
- Publication number
- CN116737603A CN116737603A CN202310193889.9A CN202310193889A CN116737603A CN 116737603 A CN116737603 A CN 116737603A CN 202310193889 A CN202310193889 A CN 202310193889A CN 116737603 A CN116737603 A CN 116737603A
- Authority
- CN
- China
- Prior art keywords
- memory
- agent
- cxl
- host
- target
- 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
- 238000011176 pooling Methods 0.000 claims abstract description 39
- 238000004891 communication Methods 0.000 claims description 55
- 238000000034 method Methods 0.000 claims description 36
- 230000006870 function Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 11
- 239000004744 fabric Substances 0.000 claims description 7
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 5
- 239000003795 chemical substances by application Substances 0.000 description 56
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 5
- 230000001351 cycling effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000012517 data analytics Methods 0.000 description 3
- 229920002153 Hydroxypropyl cellulose Polymers 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 235000010977 hydroxypropyl cellulose Nutrition 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 230000035807 sensation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- 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/0615—Address space extension
-
- 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
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
公开了一种装置,其包括:主机;处理器;内存池化装置,其电连接到所述处理器;以及计算机快速链接(CXL)动态内存容量扩展装置(DMCED),其中所述CXL DMCED直接电连接到所述内存池化装置,并且所述内存池化装置中的内存容量或存储容量中的至少一个配置成在保持所述装置的有效功率状态时进行增减。
Description
相关申请的交叉引用
本申请是基于并要求于2022年3月10日在美国专利商标局中提交的美国临时申请序列号63/318,532的优先权,所述专利申请的内容通过引用并入本文。
技术领域
本公开一般涉及数据存储,并且更具体地,涉及用于内存池以及内存加存储池的具有动态内存扩展能力的装置。
背景技术
服务器中基于双倍数据速率(DDR)的内存扩展取决于系统电力循环,并且不支持动态内存扩展。换句话说,关闭系统电源,添加内存,然后重新打开系统,以便扩展内存。
特别地,高性能计算(HPC)和未来数据中心(DC)环境极有可能获得此种利用大数据工作负载的能力,诸如人工智能(AI)或数据库(DB)大数据分析。
已经引入了被称为计算快速链接(CXL)的新技术,并且可以创建大规模内存/存储池作为远内存/存储池,不包括DDR基础。
第五代(5G)/物联网(IoT)/自动驾驶汽车/边缘计算的AI/大数据分析的HPC和未来DC工作负载需要大型内存资源池,其具有动态内存扩展能力,以便加速处理大型数据集(例如,AI/DB工作负载的内存驱动处理)。然而,当前基于DDR接口的内存扩展在动态内存扩展能力方面是有缺陷的,因为它至少需要电力循环。
此外,CXL接口已经被引入作为内存扩展的方法,但是到目前为止还没有实现有效的内存池化解决方案。
特别地,可能难以为DDR技术提供动态容量扩展。此外,外围部件互连快速(PCIe)可以用于实现成功的存储池化解决方案。
未来DC工作负载可能需要大型内存/存储数据高速缓存来加速(例如,AI/大数据分析),而传统的内存扩展方法则基于DDR接口。基于DDR接口的内存扩展已经面临转折点,并且作为替代解决方案,CXL已经推出了基于串行接口的内存扩展。
在以模块化、灵活和可组合的方式进行内存资源扩展方面,HPC和未来的DC行业一直受到限制。该行业一直在为数据存储领域的动态存储扩展提供解决方案,诸如非易失性内存高速(NVMe)和固态硬盘(SSD)。与存储不同,内存使用在动态扩展内存容量方面面临限制。CXL串行接口技术为克服这一限制提供了一种可能的解决方案,但到目前为止,这样做还很有限。
因此,本领域需要一种基于CXL接口的内存扩展解决方案,其增加装置或服务器中的内存容量,而无需对装置或服务器进行电力循环。
发明内容
本公开是为了至少解决上述问题和/或缺点,并且至少提供下述优点。
因此,本公开的一个方面是为仅内存(memory only)和内存加存储池(memoryplus storage pooling)提供动态容量扩展能力。
本公开的另一个方面是提供一种新的机制,其用于在系统启动之外的时间以任意的系统内存大小进行动态内存扩展。
本公开的又一个方面是提供一种方法和设备,其解决了内存使用限制并为HPC和未来的DC业务重新设计了内存使用模型,诸如基于大规模内存/内存加存储资源池的核心/边缘DC。
本公开的另一个方面是通过利用诸如CXL的最新技术,提供具有深度动态容量扩展能力的内存和存储,而无需电力循环,即同时保持有效功率状态。
本公开的又一个方面是提供有效的方式来按比例增加/扩大内存/存储池,并基于模块化、灵活和可组合的方法为分解的内存/存储池化提供新的特征和DC业务机会。
根据本公开的一个方面,一种装置包括主机、处理器、电连接到处理器的内存池化装置以及计算快速链接(CXL)动态内存容量扩展装置(DMCED),其中CXLDMCED直接电连接到内存池化装置。
根据本公开的一个方面,在主机代理和目标代理之间的通信方法包括:由主机代理启动添加容量功能;由目标代理更新主机代理和目标代理之间的配置;由目标代理将更新的配置发送到主机代理;在主机代理和目标代理之间执行动态内存容量扩展过程;以及在主机代理和目标代理之间执行确认过程,该确认过程包括add_complete(添加完成)和/或release_complete(释放完成)通信。
根据本公开的一个方面,通过布置在主机代理和目标代理之间的交换结构(SF)连接的主机代理和目标代理之间的通信方法包括:由主机代理发起添加容量功能;由布置在SF中的主机管理的装置内存(HDM)解码器向目标代理发送更新的配置;由目标代理将更新的配置发送到主机代理;在主机代理和目标代理之间执行动态内存容量扩展过程;以及在主机代理和目标代理之间执行确认过程,该确认过程包括add_complete和/或release_complete通信。
附图说明
本公开的某些实施例的以上和其他方面、特征和优点将从结合附图进行的以下详细描述变得更明显,其中:
图1示出了根据实施例的动态内存容量扩展装置(DMCED)的架构100;
图2示出了根据实施例的连接到图1中的DMCED105的主机120的详细架构200;
图3示出了根据实施例的连接到图1中的DMCED105的主机130的详细架构300;
图4示出了根据实施例的动态内存扩展装置400,其包括在没有SF情况下的装置附接/分离和添加/释放能力;
图5示出了根据实施例的动态内存扩展装置500,其包括在SF情况下的装置附接/分离和添加/释放能力;
图6示出了根据实施例的动态内存加存储扩展装置600,其包括在没有SF情况下的装置附接/分离和添加/释放能力;
图7示出了根据实施例的动态内存加存储扩展装置700,其包括在SF情况下的装置附接/分离和添加/释放能力;以及
图8是根据实施例的网络环境800中的电子装置的框图。
具体实施方式
在下文中,将参考附图描述本公开的实施例。然而,本公开的实施例不限于特定的实施例,并且应当被解释为包括本公开的所有修改、改变、等同装置和方法,和/或替代实施例。为了清楚和简明起见,将省略对众所周知的功能和/或配置的描述。
本文使用的表述“具有”、“可以具有”、“包括”和“可以包括”表示相应特征的存在,诸如数值、功能、操作或部分,并且不排除附加特征的存在。本文中所使用的表述“A或B”、“A和/或B中的至少一个”或者“A和/或B中的一个或多个”可以包括与其一起枚举的项目的所有可能组合。例如,“A或B”、“A和B中的至少一者”或“A或B中的至少一个”意指(1)包括至少一个A,(2)包括至少一个B,或(3)包括至少一个A和至少一个B两者。
本文中所使用的诸如“第一”和“第二”的术语可以修饰各种元件,而不管相应元件的顺序和/或重要性,并且不限制相应元件。这些术语可以用于区分一个元件与另一个元件的目的。例如,“第一用户装置”和“第二用户装置”可以指示不同的用户装置,而不管顺序或重要性。在不脱离本公开的范围的情况下,第一元件可以被称为第二元件,同样,第二元件可以被称为第一元件。
当第一元件“可操作地或通信地联接到”或“连接到”诸如第二元件的另一元件时,第一元件可以直接联接第二元件,并且在第一和第二元件之间可以有诸如第三元件的中间元件。相反,当第一元件“直接联接到”或“直接连接到”第二元件时,在第一和第二元件之间没有插入的第三元件。
除非另有定义,否则本文使用的所有术语,包括技术或科学术语,具有与相关领域普通技术人员通常理解的术语相同的含义。通常使用的词典中定义的术语应该被解释为具有与相关技术的上下文含义相同或相似的含义,并且不应该被解释为具有理想的或夸大的含义,除非它们在本文中清楚地定义。根据情况,甚至在本公开中定义的术语也不应被解释为排除本公开的实施例。
可以基于DDR接口来执行内存扩展,DDR接口是并行接口,并且可以具有动态容量扩展限制。
一些内存装置解决方案可以是非动态容量扩展驱动的。
借助CXL功能,动态的内存扩展和高速缓存一致性功能可以在本质上嵌入到内存/存储池中。因此,利用CXL为HPC和未来DC方面带来了新的业务模式。
本文公开的一些解决方案可以在未来针对内存和内存加存储池化发展计算存储(CS)能力。
本公开提供了一种内存装置,其可在没有电力循环的情况下动态扩展容量,并且提供了一种内存加存储(即,MEMOSTORAGE)装置,其具有与内存装置相同的接口,并且可在没有电力循环的情况下动态扩展容量。此外,可以创建一种新的业务模式,特别是对于HPC和未来DC业务,其中大规模虚拟机(VM)基于以内存(IM)为中心的处理和优化的新功能来处理AI/DB大数据分析,以及处理以模块化、灵活和可组合的方式利用内存资源的DC业务机会。
因此,本公开有利地减小了数据中心和/或内存的物理尺寸、能量成本,并改善了HPC和未来DC业务的大内存或存储资源池化需求。
可以以模块、托架、交付点或机架形式使用内存/(内存加存储)池化解决方案。基于本文提供的至少一些解决方案,可以以即时方式(例如,动态地,同时保持有效功率状态)执行内存扩展。
本公开通过内存或内存加存储(即,MEMOSTORAGE)装置提供动态容量扩展能力。内存/内存加存储(即MEMOSTORAGE)解决方案可能是解决HPC和未来DC业务的大内存和内存加存储资源池化需求的基本技术。此外,HPC和未来DC环境中的内存/内存加存储(即MEMOSTORAGE)资源池化可以是模块化的、灵活的和可组合的,其用于大型工作负载加速的资源管理。
为了支持动态内存扩展,系统启动时会在主机(非虚拟机(non-VM)或非容器级别)上创建新特性:“过度使用物理内存空间”。最终,这一新特性“过度使用物理内存空间”将影响虚拟机或容器技术,并可能添加到主机上的基本输入输出系统(BIOS)和/或操作系统(OS)内核机制中。
图1示出了根据实施例的动态内存容量扩展装置(DMCED)的架构100。在图1中,CXLDMCED 105是用于动态内存扩展的基本构建块,并且是用于连接和包含内存池化装置103的可热插拔装置。
如主机110所示,处理器/加速器(以下称为处理器)101通过CXL 107连接到内存池化装置103和CXL DMCED 105。如主机120所示,处理器101包括在主机120中,但是内存池化装置103和CXL DMCED 105在主机120的外部,并且可以通过CXL 107连接到主机120。例如,CXL 107可以是线缆或CXL延长线。如主机130所示,当存在大规模内存引用时,交换结构(SF)109用于连接主机130和内存池化装置103以及CXL DMCED 105。具体地,主机130通过SF109的第一端上的CXL 107连接到SF 109,并且内存池化装置103和CXL DMCED 105通过SF109的与第一端相对的第二端上的另一个CXL 107连接到SF 109。由主机管理的装置内存(HDM)解码器111解码SF109。
图1中的每种架构都使得内存容量能够改变,同时保持DMCED 105的有效功率状态,而不需要通过电力循环来重置装置/系统。
图2示出了根据实施例的连接到图1中的DMCED 105的主机120的详细架构200。在图2中,每个部件与图1的主机连接120中所示的相关部件相同。主机220包括内存管理器212和主机CXL代理213a,并且通过CXL 207连接到DMCED 205(即目标装置)。DMCED 205包括目标CXL代理213b和动态容量控制代理215,目标CXL代理213b通过由HDM解码器212解码来编程,以及内存池化装置203连接到动态容量控制代理215。
如图2所示,内存池化装置203可以是仅内存装置或内存加存储(即,MEMOSTORAGE)装置。
内存管理器212与传统内存控制器的不同之处在于,内存管理器212支持通过主机CXL代理213a交互的动态容量改变。主机CXL代理213a邮箱注册基于管理部件传输协议(MCTP)的部件命令接口(CCI),并且包括set/get(设置/取得)特征,其中每当目标装置容量改变时,可以接收警告/通知。此种改变可以是在热插拔执行热交换的时候。在主机220的实例中,内存管理器212用作结构管理器(FM),因为没有到主机220的SF连接。
目标CXL代理213b可以是检测内存池203容量变化的软件,或者是基于硬件信号检测此种内存池203容量变化的硬件。
动态容量控制代理215可是检测内存池203容量的动态变化的硬件或软件装置。例如,动态容量控制代理215用作目标CXL代理213b和内存池203之间的中间媒介。可选地,当目标CXL代理213b可基于目标CXL代理213b的构造,诸如通过硬件信号,自动检测内存池203容量变化时,可以省略动态容量控制代理215。
HDM解码器212用于确定装置物理地址(DPA)和主机物理地址(HPA)映射,即,以便主机220访问目标205中的内存区域。可能有n个HDM,诸如HDM01,HDM02,…HDMn。内存池203包括动态容量,其具有用于存储内存块(例如,256兆字节(MB))的内存区域N217和用于存储与存储相结合的内存块的区域N+1 219。
动态容量控制代理215包括动态容量扩展列表,动态容量扩展列表具有HDM标签,该标签具有与区域N和N+1(217,219)中的内存块相关的块信息。
主机CXL代理213a和目标CXL代理213b之间的通信如下。在步骤242中,主机220通过编排器(orchestrator)/FM配置启动“添加容量”功能。在步骤244中,目标CXL代理213b更新配置,并将更新的配置发送给主机CXL代理213a。在步骤246中,在主机CXL代理213a和目标CXL代理213b之间执行动态内存容量扩展过程,诸如内存添加或释放过程。在步骤248中,在主机CXL代理213a和目标CXL代理213b之间执行确认过程,包括add_complete和/或release_complete通信。
图3示出了根据实施例的连接到图1中的DMCED 105的主机130的详细架构300。在图3中,每个组件与图1的主机连接130中所示的相关组件相同。主机320包括内存管理器312和主机CXL代理313a,并且连接到DMCED305(即,目标装置)。图2和图3之间的区别在于主机320通过结构管理器314连接到DMCED 305,而不是如图2中通过CXL 207。
结构管理器314包括SF 309,其在第一端通过CXL连接到主机CXL代理313a,并且在与第一端相对的第二端通过CXL 307连接到目标CXL代理313b。SF 309由HDM解码器311解码,如图1中关于HDM解码器111和图2中关于HDM解码器211所解释的。这里,HDM解码器311在SF 309中;因此,任何进入SF的主机都可基于由HDM解码器311执行的解码来访问目标305。
在图3中,在主机和目标CXL代理之间执行与图2中相同的方法,除了在图3中,在步骤341中,主机在其端启动添加容量,以及在步骤343中,在HDM解码器311和目标CXL代理313b之间执行配置。
图4示出了根据实施例的动态内存扩展装置400,其包括在没有SF情况下的装置附接/分离和添加/释放能力。
在图4中,主机420和与其连接的DMCED 405与上面在图1至图3中描述的主机和DMCED相同。在包括装置添加/分离450的动态内存扩展装置400中,在连接到目标DMCED 405的主机420之间执行device_attach和/或device_detach通信。基于这些通信,可以将装置添加到装置450或从其分离。在包括添加/释放容量451的动态内存扩展装置400中,在主机420和目标DMCED 405之间执行set/get特征453和add_capacity/release_capacity特征454,由此可以选择性地添加或释放内存容量。
图5示出了根据实施例的动态内存扩展装置500,其包括在SF情况下的装置附接/分离和添加/释放能力。
在图5中,主机520和与其连接的DMCED 505与上面在图1至图3中描述的主机和DMCED相同。在包括装置添加/释放容量555的动态内存扩展装置500中,主机CXL代理513a通过包括SF 509的FM 514连接到目标CXL代理513b(以上面图3中描述的FM 314和SF 309的方式)。
基于FM 514和SF 509中的每一个上的通信,在主机CXL代理513a和目标CXL代理513b之间执行set/get特征553和add_capacity/release_capacity特征554。在包括添加/释放容量555的动态内存扩展装置中,通过FM 514和SF 509执行set/get特征553和add_capacity/release_capacity特征554,由此可以选择性地添加或释放内存容量。在包括装置添加/分离556的动态内存扩展装置中,在连接到目标DMCED 505的主机520之间通过FM514和SF 509执行device_attach和/或device_detach通信。
在图4和图5中,内存装置基于CXL接口,该接口在硬件和软件中都提供动态可组合内存能力。内存装置具有CXL接口,其中形状因子可以是基于卡机电(CEM)或基于线缆的。内存装置具有CXL接口,其中在直接安装在装置的母板上的情况下,形状因子也可以是球栅阵列(BGA)。
此外,内存装置是CXL装置,其中一种解决方案可以是机架/交付点(SLED)或交付点(PoD)层内的双列直插式内存模块(DIMM)、共享内存、存储器、电源或分立网络。应注意,PoD层可以是一起工作以提供网络服务的网络、计算、存储和应用部件的模块。PoD是一种可重复的设计模式,并且其部件最大限度地提高了数据中心的模块化、可伸缩性和可管理性。
图6示出了根据实施例的动态内存加存储扩展装置600,其包括在没有SF情况下的装置附接/分离和添加/释放能力。
在图6中,主机620与上述图1至图3中的主机相同。然而,图6中的添加/释放容量功能657和装置附接/分离功能658中的DMCED 605包括内存池603a和存储池603b。在包括添加/释放容量657的动态内存扩展装置600中,在主机620和目标DMCED 605之间执行set/get特征653和add_capacity/release_capacity特征654,由此可以选择性地向内存池603a和/或存储池603b添加或从内存池603a和/或存储池603b释放内存容量。
在包括装置附接/分离658的动态内存加存储扩展装置600中,在连接到目标DMCED605的主机620之间执行device_attach和/或device_detach通信652。基于这些通信,可以将装置添加到装置658或从其分离。
图7示出了根据实施例的动态内存加存储扩展装置700,其包括在SF情况下的装置附接/分离和添加/释放能力。
在图7中,在759执行与图5中的装置555执行的过程相同的过程,除了内存被添加到内存池703a和存储池703b或者从内存池703a和存储池703b释放,而不仅仅是图5中的DMCED 505中的内存池。类似地,在装置760中,与图5中的装置556相比,执行类似的过程,除了图7中的DMCED包括内存池和存储池,而不是如图5中的仅包括内存池。
在图6和图7中的内存加存储装置中,内存加存储装置基于CXL接口,该接口在硬件和软件两者中提供动态可组合内存能力。内存加存储装置为内存和存储共享相同的CXL接口。这个MEMOSTORAGE提供了动态可组合的内存和存储能力。内存加存储装置具有CXL接口,其中形状因子可以是基于CEM或线缆的。此外,内存加存储装置具有CXL接口,其中在直接安装在主板上的情况下,形状因子可以是BGA。此外,内存加存储装置是CXL装置,其中解决方案类型可以是仅DIMM、DIMM+SSD、SLED、PoD和机架层。
本公开提供了以下内存或内存加存储(即,MEMOSTORAGE)解决方案。
基于如上所述的装置,面向内存的分布式计算可以基于HPC,并且可以提供模块化、灵活和可组合的解决方案,使得HPC环境中的服务器群能够以有效的方式创建内存池化。
此外,HPC环境中的大型内存池化可以通过动态扩展功能来实现。
此外,可以创建未来DC寻求RSD为导向的DC环境,其中计算、存储和网络资源被分解。内存资源可以是基于机架规模设计(RSD)的DC环境的分解架构的一部分。
至于内存加存储,可以提供模块化、灵活和可组合的解决方案,使得HPC环境中的服务器群能够以有效的方式创建MEMOSTORAGE池化。
HPC环境中的大型MEMOSTORAGE池化可以提供动态扩展功能。此外,可以提供未来DC寻求RSD为导向的DC环境,其中计算、存储和网络资源被分解。MEMOSTORAGE资源可以是基于RSD的DC环境的分解结构的一部分。
图8是根据实施例的网络环境800中的电子装置的框图。参考图8,网络环境800中的电子装置801可以经由第一网络898(例如,短程无线通信网络)与电子装置802通信,或经由第二网络899(例如,远程无线通信网络)与电子装置804或服务器808通信。电子装置801可以经由服务器808与电子装置804通信。电子装置801可以包括处理器820、存储器830、输入装置840、声音输出装置855、显示装置860、音频模块870、传感器模块876、接口877、触觉模块879、相机模块880、电力管理模块888、电池889、通信模块890以及订户识别模块(SIM)896或天线模块894。在一个实施例中,可以从电子装置801省略所述部件中的至少一个(例如,显示装置860或相机模块880),或者可以在电子装置801中添加一个或多个其他部件。部件中的一些可以实施为单个集成电路(IC)。例如,传感器模块876(例如,指纹传感器、虹膜传感器或光照传感器)可以嵌入显示装置860(例如,显示器)中。
处理器820可以执行例如软件(例如,程序840)来控制与处理器820耦接的电子装置801的至少一个其他部件(例如,硬件或软件部件),并且可以执行各种数据处理或计算。作为数据处理或计算的至少一部分,处理器820可以将从另一部件(例如,传感器模块846或通信模块890)接收到命令或数据加载在易失性存储器832中,处理存储在易失性存储器832中的命令或数据,并将所得数据存储在非易失性存储器834中。处理器820可以包括主要处理器821(例如,中央处理单元(CPU)或应用程序处理器(AP)),以及辅助处理器823(例如,图形处理单元(GPU)、图像信号处理器(ISP)、传感器中心处理器或通信处理器(CP)),其可与主要处理器821独立或结合所述主要处理器操作。另外或替代地,辅助处理器823可以适于消耗比主要处理器821少的功率,或执行特定功能。辅助处理器823可以实施为与主要处理器821分开或作为主要处理器的部分。
在主要处理器821处于未激活(例如,睡眠)状态时,辅助处理器823可以代替主要处理器821控制与电子装置801的部件之中的至少一个部件(例如,显示装置860、传感器模块876或通信模块890)相关的功能或状态中的至少一些,或者在主要处理器821处于激活状态(例如,运行应用)时,与主要处理器821一起控制。辅助处理器823(例如,图像信号处理器或通信处理器)可以实施为在功能上与辅助处理器823有关的另一部件(例如,相机模块880或通信模块890)的部分。
存储器830可以存储由电子装置801的至少一个部件(例如,处理器820或传感器模块876)使用的各种数据。各种数据可以包括例如软件(例如,程序840)以及用于与之有关的命令的输入数据或输出数据。存储器830可以包括易失性存储器832或非易失性存储器834。
程序840可以作为软件存储在存储器830中,并且可以包括例如操作系统(OS)842、中间件844或应用程序846。
输入装置850可以从电子装置801的外部(例如,用户)接收待由电子装置801的另一部件(例如,处理器820)使用的命令或数据。输入装置850可以包括例如麦克风、鼠标或键盘。
声音输出装置855可以将声音信号输出到电子装置801的外部。声音输出装置855可以包括例如扬声器或接收器。扬声器可以用于通用目的,诸如播放多媒体或录音,并且接收器可以用于接收传入呼叫。接收器可以实施为与扬声器分开或作为扬声器的部分。
显示装置860可以向电子装置801的外部(例如,用户)在视觉上提供信息。显示装置860可以包括例如显示器、全息装置或投影仪以及用于控制显示器、全息装置和投影仪中的相应一个的控制电路。显示装置860可以包括适于检测触摸的触摸电路,或适于测量所述触摸所招致的力的强度的传感器电路(例如,压力传感器)。
音频模块870可以将声音转换成电信号,反之亦然。音频模块870可以经由输入装置850获得声音,或经由声音输出装置855或与电子装置801直接(例如,有线)或无线耦合的外部电子装置802的头戴式耳机输出声音。
传感器模块876可以检测电子装置801的操作状态(例如,功率或温度)或电子装置801外部的环境状态(例如,用户的状态),且接着产生对应于检测到的状态的电信号或数据值。传感器模块876可以包括例如手势传感器、陀螺仪传感器、大气压力传感器、磁性传感器、加速度传感器、抓握传感器、接近传感器、色彩传感器、红外线(IR)传感器、生物计量传感器、温度传感器、湿度传感器或光照传感器。
接口877可以支持将用于将直接(例如,有线)或无线与外部电子装置802耦合的电子装置801的一个或多个指定协议。接口877可以包括例如高分辨率多媒体接口(HDMI)、通用串行总线(USB)接口、安全数字(SD)卡接口或音频接口。
连接端子878可以包括电子装置801可以经由其与外部电子装置802物理连接的连接件。连接端子878可以包括例如HDMI连接件、USB连接件、SD卡连接件或音频连接件(例如,头戴式耳机连接件)。
触觉模块879可以将电信号转换成可以由用户经由触觉感觉或动觉感觉来辨识的机械刺激(例如,震动或移动)或电刺激。触觉模块879可以包括例如电机、压电元件或电刺激器。
相机模块880可以捕获静止图像或移动图像。相机模块880可以包括一个或多个镜头、图像传感器、图像信号处理器或闪光灯。
电力管理模块888可以管理供应到电子装置801的电力。电力管理模块888可以实施为例如电力管理集成电路(PMIC)的至少一部分。
电池889可以向电子装置801的至少一个部件供电。电池889可以包括例如不可再充电的主要电池、可再充电的次要电池或燃料电池。
通信模块890可以支持建立电子装置801与外部电子装置(例如,电子装置802、电子装置804或服务器808)之间的直接(例如,有线)通信信道或无线通信信道,且经由所建立的通信信道执行通信。通信模块890可以包括一个或多个通信处理器,其可与处理器820(例如,AP)独立地操作,并且支持直接(例如,有线)通信或无线通信。通信模块890可以包括无线通信模块892(例如,蜂窝式通信模、短程无线通信模块,或全球导航卫星系统(GNSS)通信模块),或有线通信模块894(例如,局域网(LAN)通信模块或电力线通信(PLC)模块)。这些通信模块中的对应一者可以经由第一网络898(例如,短程通信网络,诸如蓝牙TM、无线保真(Wi-Fi)直连或红外线数据协会(IrDA)标准)或第二网络899(例如,远程通信网络,诸如蜂窝网络、互联网或计算机网络(例如,LAN或广域网(WAN))与外部电子装置通信。这些各种类型的通信模块可以实施为单个部件(例如,单个IC),或者可以实施为彼此分开的多个部件(例如,多个IC)。无线通信模块892可以使用存储在订户识别模块896中的订户信息(例如,国际移动订户身份(IMSI))来识别并验证通信网络(诸如第一网络898或第二网络899)中的电子装置801。
天线模块897可以将信号或电力发射到电子装置801的外部(例如,外部电子装置)或从外部接收信号或电力。天线模块897可以包括一个或多个天线,并因此,可以例如通过通信模块890(例如,无线通信模块892)来选择对于通信网络(诸如第一网络898或第二网络899)中使用的通信方案来说适当的至少一个天线。然后经由选定的至少一个天线,可以在通信模块890与外部电子装置之间发射或接收信号或电力。
可以经由与第二网络899耦合的服务器808,在电子装置801与外部电子装置804之间发射或接收命令或数据。电子装置802和804中的每一个可以是与电子装置801相同类型或不同类型的装置。可以在外部电子装置802、804或808中的一个或多个处执行在电子装置801处执行的操作中的全部或一些。例如,如果电子装置801应自动执行功能或服务,或响应于来自用户或另一装置的请求,电子装置801代替于或除执行所述功能或所述服务之外,可以请求一个或多个外部电子装置执行所述功能或所述服务的至少一部分。接收到所述请求的一个或多个外部电子装置可以执行所请求的功能或服务的至少一部分,或者与所述请求相关的额外功能或额外服务,并且将执行的结果传送给电子装置801。电子装置801可以在有或没有该结果的进一步处理的情况下,提供该结果作为对请求的应答的至少一部分。为此,可以使用例如云计算技术、分布式计算技术或客户机-服务器计算技术。
虽然已经参照某些实施例描述了本公开,但是在不脱离本公开的精神和范围的情况下,可以进行各种改变,本公开的精神和范围不是由详细描述和实施例限定而是由所附权利要求及其等同物限定的。
Claims (20)
1.一种装置,包括:
主机;
处理器;
内存池化装置,其电连接到所述处理器;以及
计算机快速链接(CXL)动态内存容量扩展装置(DMCED),
其中CXL DMCED直接电连接到所述内存池化装置。
2.根据权利要求1所述的装置,
其中所述处理器安装在所述主机中,以及
其中所述内存池化装置中的内存容量或存储容量中的至少一个配置成在保持所述装置的有效功率状态时进行增减。
3.根据权利要求2所述的装置,
其中所述内存池化装置和所述CXL DMCED安装在所述主机中,并通过CXL电连接到所述处理器。
4.根据权利要求2所述的装置,
其中所述内存池化装置和所述CXL DMCED布置在所述主机的外部,并且通过CXL电连接到所述处理器。
5.根据权利要求2所述的装置,还包括:
交换结构(SF),其布置在所述主机和所述内存池化装置以及所述CXL DMCED之间。
6.根据权利要求5所述的装置,
其中SF在第一端通过第一CXL电连接到所述主机,并且在与所述第一端相对的第二端通过第二CXL电连接到所述内存池化装置和所述CXL DMCED。
7.根据权利要求6所述的装置,还包括:
主机管理的装置内存(HDM)解码器,其布置在所述SF中,
其中HDM解码器配置成使得所述主机能够访问所述内存池化装置中的内存区域。
8.根据权利要求3所述的装置,
其中所述处理器包括内存管理器和主机CXL代理,
其中所述CXL DMCED包括目标CXL代理,以及
其中所述内存池化装置配置为仅内存装置或内存加存储装置。
9.根据权利要求8所述的装置,
其中,当所述内存池化装置配置为仅内存装置时,所述内存容量配置成通过所述主机CXL代理和所述目标CXL代理之间的set/get通信来增加或减少。
10.根据权利要求8所述的装置,
其中,当所述内存池化装置配置为所述内存加存储装置时,所述内存容量和所述存储容量配置成通过所述主机CXL代理和所述目标CXL代理之间的set/get通信来增加或减少。
11.根据权利要求8所述的装置,
其中所述装置配置成在所述主机CXL代理和所述目标CXL代理之间执行装置附接或装置分离功能。
12.根据权利要求6所述的装置,
其中所述处理器包括内存管理器和主机CXL代理,
其中所述CXL DMCED包括目标CXL代理,以及
其中所述内存池化装置配置为仅内存装置或内存加存储装置。
13.根据权利要求12所述的装置,
其中,当所述内存池化装置配置为仅内存装置时,所述内存容量配置成通过所述主机CXL代理和所述目标CXL代理之间的set/get通信来增加或减少,所述set/get通信由所述SF启用。
14.根据权利要求12所述的装置,
其中,当所述内存池化装置配置为所述内存加存储装置时,所述内存容量和所述存储容量配置成通过所述主机CXL代理和所述目标CXL代理之间的set/get通信来增加或减少,所述set/get通信由所述SF启用。
15.根据权利要求12所述的装置,
其中所述装置配置成在所述主机CXL代理和所述目标CXL代理之间执行装置附接或装置分离功能。
16.一种在主机代理和目标代理之间的通信方法,包括:
由所述主机代理发起添加容量功能;
由所述目标代理更新所述主机代理和所述目标代理之间的配置;
由所述目标代理向所述主机代理发送更新的配置;
在所述主机代理和所述目标代理之间执行动态内存容量扩展过程;以及
在所述主机代理和所述目标代理之间执行确认过程,所述确认过程包括add_compl ete和/或rel ease_compl et e通信。
17.根据权利要求16所述的方法,
其中所述配置由结构管理器配置更新。
18.根据权利要求17所述的方法,
其中所述动态内存容量扩展过程包括内存添加或内存释放过程中的至少一个。
19.一种在主机代理和目标代理之间的通信方法,所述主机代理和所述目标代理通过设置在所述主机代理和所述目标代理之间的交换结构(SF)连接,所述方法包括:
由所述主机代理发起添加容量功能;
由布置在SF中的主机管理的装置内存(HDM)解码器向所述目标代理发送更新的配置;
由所述目标代理向所述主机代理发送更新的配置;
在所述主机代理和所述目标代理之间执行动态内存容量扩展过程;以及
在所述主机代理和所述目标代理之间执行确认过程,所述确认过程包括add_compl ete和/或rel ease_compl et e通信。
20.根据权利要求19所述的方法,
其中所述动态内存容量扩展过程包括内存添加或内存释放过程中的至少一个。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US63/318,532 | 2022-03-10 | ||
US17/879,470 US20230289074A1 (en) | 2022-03-10 | 2022-08-02 | Single interface-driven dynamic memory/storage capacity expander for large memory resource pooling |
US17/879,470 | 2022-08-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737603A true CN116737603A (zh) | 2023-09-12 |
Family
ID=87908567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310193889.9A Pending CN116737603A (zh) | 2022-03-10 | 2023-03-01 | 大内存资源池的单接口驱动的动态内存/存储容量扩展器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737603A (zh) |
-
2023
- 2023-03-01 CN CN202310193889.9A patent/CN116737603A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3754509B1 (en) | Electronic device including storage and method for using the storage | |
US11693707B2 (en) | Electronic device for executing multiple operating systems and method of controlling same | |
EP4242859A1 (en) | Single interface-driven dynamic memory/storage capacity expander for large memory resource pooling | |
KR20220132865A (ko) | 스토리지를 포함하는 전자 장치 및 그 방법 | |
US20230244406A1 (en) | Electronic device and storage management method using same | |
US20230168831A1 (en) | Electronic device and operation method of electronic device for managing storage space | |
EP4293501A1 (en) | Electronic device and operation method of electronic device | |
CN116737603A (zh) | 大内存资源池的单接口驱动的动态内存/存储容量扩展器 | |
US20230393906A1 (en) | Method and system for accelerating application performance in solid state drive | |
EP4357928A1 (en) | Methods and system for efficient access to solid state drive | |
EP4325363A1 (en) | Device for managing cache corruption, and operation method thereof | |
US11907166B2 (en) | Electronic device and method for updating database based on reserved space | |
US20230118797A1 (en) | Data swapping method and electronic device supporting same | |
US20230030132A1 (en) | Application optimization method and apparatus supporting the same | |
EP4120059A1 (en) | Methods and devices for file read latency reduction | |
US20230236744A1 (en) | Electronic device and method for managing memory of electronic device | |
US20230125972A1 (en) | Electronic device and method for controlling antenna device using configuration pin for identifying communication module | |
US20220308994A1 (en) | Electronic device including storage and method thereof | |
US20230281036A1 (en) | Electronic device for handling bottleneck in system and operating method thereof | |
US20220300333A1 (en) | Electronic device including multi processor and method for operating the same | |
US20240211137A1 (en) | Electronic device for managing memory and operating method thereof | |
CN117194004A (zh) | 存储器装置及其操作方法 | |
KR20230109022A (ko) | 비휘발성 메모리에 기반하여 쓰기 원자성을 보장하는 전자 장치 및 그 동작 방법 | |
KR20220142197A (ko) | 전자 장치 및 전자 장치의 동작 방법 | |
CN116348848A (zh) | 用于管理日志文件的电子装置及其运行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |