CN110134329B - 用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统 - Google Patents

用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统 Download PDF

Info

Publication number
CN110134329B
CN110134329B CN201910067933.5A CN201910067933A CN110134329B CN 110134329 B CN110134329 B CN 110134329B CN 201910067933 A CN201910067933 A CN 201910067933A CN 110134329 B CN110134329 B CN 110134329B
Authority
CN
China
Prior art keywords
memory
request
expansion device
interface
module
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.)
Active
Application number
CN201910067933.5A
Other languages
English (en)
Other versions
CN110134329A (zh
Inventor
李舒
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of CN110134329A publication Critical patent/CN110134329A/zh
Application granted granted Critical
Publication of CN110134329B publication Critical patent/CN110134329B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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/0656Data buffering 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
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system

Abstract

一个实施例促进共享存储器。在操作期间,系统通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求,其中,所述存储器扩展设备包括第一组存储器模块,并且其中,所述存储器扩展设备经由所述第一接口附接到计算机系统。所述系统通过所述存储器扩展设备的控制器来处理所述I/O请求。所述系统通过所述控制器经由第二接口将所述I/O请求发送到选择的存储器模块。所述系统通过所述选择的存储器模块来执行所述I/O请求,从而允许所述计算机系统在所述存储器总线上可用的存储器插槽之外扩展存储器容量。

Description

用于使用来自退役服务器的DIMM来促进高容量共享存储器的 方法和系统
本申请要求于2018年02月08日提交美国专利商标局、申请号为15892198、发明名称为“METHOD AND SYSTEM FOR FACILITATING HIGH-CAPACITY SHARED MEMORY USINGDIMM FROM RETIRED SERVERS”的美国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
整体而言,本公开涉及数据存储领域。更具体地,本公开涉及用于使用来自退役服务器的易失性存储器模块(例如,双列直插存储器模块或DIMM)来促进高容量共享存储器层的方法和系统。
背景技术
因特网和电子商务的激增继续产生大量的数字内容。已经创建了各种存储系统和服务器来访问并存储这种数字内容。存储系统或服务器可包括易失性存储器(例如,动态随机存取存储器(DRAM))和多个驱动器(例如,固态驱动器(SSD)),其中驱动器可包括用于持久存储的非易失性存储器(例如,NAND闪存)。服务器中的存储器在存储系统的性能和容量中起着至关重要的作用。例如,随着当前应用要求渐增量的存储器,读取等待时间变成一个重要特征。在当前的存储系统中,读取高速缓存被实现在系统存储器中,类似于页面高速缓存,并且因此与其他应用和进程共享总体系统存储器资源。这可以在读取高速缓存与和系统存储空间有关的其他存储器分配请求之间产生冲突。因为当前应用是日益存储器饥饿的,所以系统存储器的利用会在系统的总体性能方面产生瓶颈。
此外,服务器中的存储器(例如,DRAM)的量可限制系统的总体性能。例如,单个中央处理器(CPU)插口仅可支持有限数量的双列直插存储器模块(DIMM)插槽,并且单个DIMM具有有限的容量。即使DIMM被添加到服务器以增加存储容量,DIMM的高成本也会影响总体拥有成本(TCO)。
此外,可以周期性地升级存储系统中的服务器以满足存储器饥饿应用的渐增需要。当服务器“退役”并升级到新服务器(例如,具有诸如DDR4DIMM的在技术上改进的易失性存储器模块)时,退役服务器仍然包括起作用的易失性存储器模块(例如,DDR3DIMM)。
因此,服务器中的存储器的有限的容量以及导致退役和未用DIMM的服务器升级可以在服务器的性能方面产生瓶颈,并且还可能由于数据中心的渐增规模而对于降低的TCO产生挑战。
发明内容
一个实施例促进共享存储器。在操作期间,系统通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求,其中,所述存储器扩展设备包括第一组存储器模块,并且其中,所述存储器扩展设备经由所述第一接口附接到计算机系统。所述系统通过所述存储器扩展设备的控制器来处理所述I/O请求。所述系统通过所述控制器经由第二接口将所述I/O请求发送到选择的存储器模块。所述系统通过所述选择的存储器模块来执行所述I/O请求,从而允许所述计算机系统在所述存储器总线上可用的存储器插槽之外扩展存储器容量。
在一些实施例中,所述系统通过所述控制器来选择所述I/O请求将被发送到的所述存储器模块。
在一些实施例中,处理所述I/O请求进一步包括以下步骤中的一个或更多个:对与所述I/O请求相关联的数据执行循环冗余校验;确定用于与所述I/O请求相关联的所述数据的放置;对于与所述I/O请求相关联的所述数据或者对于所述第一组存储器模块执行管理过程;以及对与所述I/O请求相关联的所述数据执行纠错码编码或解码。
在一些实施例中,所述第一接口是请求主机与所述控制器之间的外围组件互连快速(PCIe)接口,并且所述第二接口是所述控制器与所述存储器模块之间的动态随机存取存储器(DRAM)双列直插存储器模块(DIMM)接口。
在一些实施例中,所述存储器扩展设备联接到计算设备,所述计算设备包括:一组端口;第二组存储器模块;用于所述第二组存储器模块的一组控制器;一组微处理器;交换机;以及一组通道。
在一些实施例中,在所述存储器扩展设备接收所述I/O请求之前,所述系统:通过所述计算设备经由端口接收所述I/O请求;通过所述计算设备的微处理器来确定所述I/O请求将由所述存储器扩展设备处理;以及经由所述交换机和选择的通道将所述I/O请求发送到所述存储器扩展设备以由所述存储器扩展设备执行。
在一些实施例中,所述存储器扩展设备是附接到或者联接到所述计算设备的多个存储器扩展设备中的一个。
在一些实施例中,所述系统通过所述计算设备经由端口接收第二I/O请求。所述系统通过所述计算设备的微处理器来确定所述第二I/O请求将由所述第二组的存储器模块处理。所述系统通过所述第二组的存储器模块来执行所述第二I/O请求。
附图说明
图1图示依照本申请的实施例的促进共享存储器的示例性环境。
图2A图示依照现有技术的服务器的示例性架构。
图2B图示示例性虚拟存储器分配。
图3A图示依照本申请的实施例的基于U.2形状因数促进共享存储器的示例性存储器扩展设备。
图3B图示依照本申请的实施例的基于附加卡(AIC)形状因数促进共享存储器的示例性存储器扩展设备。
图4图示依照本申请的实施例的促进共享存储器的存储器扩展设备(包括控制器)的示例性架构。
图5A图示依照本申请的实施例的促进共享存储器的以太网可寻址存储器扩展设备的示例性架构。
图5B图示依照本申请的实施例的通过交换机访问的以太网可寻址存储器扩展设备的示例性环境。
图6A呈现图示依照本申请的实施例的由用于促进共享存储器的存储器扩展设备进行的方法的流程图。
图6B呈现图示依照本申请的实施例的由用于促进共享存储器的存储器扩展设备进行的方法的流程图。
图7呈现图示依照本申请的实施例的由用于促进共享存储器的以太网可寻址存储器扩展设备进行的方法的流程图。
图8图示依照本申请的实施例的促进共享存储器的示例性计算机系统。
在图中,相似的附图标记指代相同的图元素。
具体实施方式
以下描述被呈现来使得本领域的任何技术人员能够做出并使用实施例,并且是在特定应用及其要求的上下文中提供的。对所公开的实施例的各种修改对于本领域的技术人员而言将是容易地显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将本文所定义的一般原理应用于其他实施例和应用。因此,本文所描述的实施例不限于所示出的实施例,而是将符合与本文所公开的原理和特征一致的最宽范围。
概要
本文所描述的实施例提供通过在使用来自退役服务器的DIMM的可插拔或可附接存储器扩展设备中创建共享存储器层来解决由服务器中的有限的存储器(例如,DRAM)产生的性能瓶颈问题的系统。随着现今的应用要求越来越多的存储器,由读取高速缓存对系统存储器的利用可对与系统存储器空间有关的其他存储器分配请求产生冲突,这可导致性能瓶颈。可用易失性存储器(例如,DRAM)的量可限制系统的总体性能,因为单个CPU仅可支持有限数量的DIMM,并且单个DIMM具有有限的容量。
此外,随着服务器周期性地“退役”并升级到具有新易失性存储器的新服务器,“退役”DIMM(其仍然是可操作的)被留下未用。当前应用的渐增存储器饥饿需要导致数据中心的规模加大,这可使服务器退役和升级的步伐加速。服务器退役的加速步伐以及DIMM的高成本可增加总体拥有成本(TCO)(例如,不得不更频繁地购买更多的DIMM)。
因为由单个CPU插口支持的DIMM的最大数量受CPU它本身限制,所以通过存储器总线(例如,通过添加附加DIMM)来增加系统存储器的空间有限。相比之下,PCIe总线可被用作用于各种设备的通用标准接口,所述各种设备包括SSD、主机总线适配器(HBA)卡和网络接口卡等。本文所描述的实施例通过提供将退役DIMM放置到PCIe存储器扩展设备中的系统来解决上面提及的挑战,所述PCIe存储器扩展设备可由本地服务器和远程服务器两者访问。此存储器扩展设备在本公开中被称为“PCIe DRAM。PCIe DRAM包括:第一PCIe接口(在主机与控制器之间);控制器;第二DRAM DIMM接口(在控制器与DRAM之间);以及用以插入来自退役服务器的DIMM(“退役DIMM”)的多个DRAM DIMM插槽。此存储器扩展设备可经由第一PCIe接口被插入到计算机系统中,附接到、固定到或者联接到计算机系统。此外,此存储器扩展设备可由本地服务器(如在下面关于图4所描述的PCIe DRAM中一样)或者由远程服务器(如在下面关于图5所描述的“IP DRAM”中一样)访问。
因此,本文所描述的实施例提供改进存储系统的效率和性能的系统。通过将退役DIMM放置到存储器扩展设备中并且利用PCIe总线,系统通过允许存储系统在存储器总线上可用的存储器插槽之外扩展存储器容量扩展来提供对性能瓶颈问题的技术解决方案。本文所描述的PCIe DRAM和IP DRAM系统都可以作为即插即用模块被实现,所述即插即用模块与数据中心或存储系统中的现有机架/服务器部署兼容。因此,系统可避免由有限的DRAM容量所产生的瓶颈,并且可进一步抵消由升级服务器并丢弃退役DIMM所引发的成本。
示例性环境和网络
图1图示依照本申请的实施例的促进共享存储器的示例性环境。环境100可包括计算设备102和相关用户104。计算设备102可经由网络110与存储服务器112、114和116进行通信,所述存储服务器112、114和116可以是分布式存储系统的一部分并且经由客户端服务器(未示出)访问。存储服务器可包括易失性存储器和多个组件或设备。例如,服务器116可包括具有两个CPU插口124和126的CPU 122,所述两个CPU插口124和126经由存储器总线141与DIMM 132进行通信并且经由存储器总线142与DIMM 134进行通信。服务器116还可包括组件,诸如:PCIe DRAM 136(用粗黑色轮廓描绘);固态硬盘(SSD)138;以及网络接口卡(NIC)140。CPU 122可经由PCIe总线144与这些组件进行通信。在下面关于图4描述用于PCIe DRAM(例如,PCIe DRAM 136)的示例性架构。
此外,环境100中的服务器可包括可基于远程输入/输出(I/O)通信访问的PCIeDRAM。例如,服务器112可包括IP DRAM 113,其包括以太网端口152、微处理器154、退役DIMM156以及PCIe交换机和通道158,所述PCIe交换机和通道158可通过PCIe总线经由通信163和164与PCIe DRAM 160和162进行通信。在下面关于图5描述用于以太网可寻址PCIe DRAM(例如,IP DRAM 113)的示例性架构。
具体地,服务器112-116可以是数据中心机架中的多个服务器的一部分。服务器可以周期性地退役和升级,例如,用具有更快的更新的技术和组件(包括新DIMM)的新服务器替换。在这种情况下,退役服务器仍然具有可操作的DIMM(“退役DIMM”)。回想一下DIMM可能是昂贵的,所以简单地丢弃退役DIMM可以引发增加的TCO,这既不理想也不高效。在本文所描述的实施例中,退役DIMM可以被插入到PCIe DRAM中,并且经由专用PCIe接口、控制器和专用DRAM DIMM接口访问。
例如,当服务器将退役时,其退役DIMM可以被插入到存储器扩展设备(例如,PCIeDRAM 136)中,并且在本地访问(经由PCIe总线144,如在下面关于图4所描述的)。此外,退役DIMM可以被插入到以太网可寻址PCIe DRAM 160和162中,并且远程地访问(经由以太网端口152,如在下面关于图5所描述的)。注意的是,IP DRAM 113中所描绘的退役DIMM 156可以是来自退役服务器并且已被插入到IP DRAM 113中的DIMM。
因此,本发明的实施例提供通过将这些“退役DIMM”直接地放置到存储器扩展设备(PCIe DRAM)中并且在本地或者远程地经由控制器和两个专用接口访问退役DIMM来使用将退役的DIMM的系统。虽然通过PCIe总线以这种方式访问这些退役DIMM与通过存储器总线访问DRAM DIMM相比可能引发更高的等待时间,但是系统仍然比使用SSD引发更低的等待时间。此外,因为存储器访问是更一致的,所以性能可以是更恒定的。因此,通过以这种方式使用退役DIMM,PCIe DRAM可扩大服务器(例如,替换退役服务器的新服务器)的存储容量并且提高系统的效率。
受更新硬件限制的存储器饥饿应用
图2A图示依照现有技术的服务器200的示例性架构。服务器200可包括多个CPU复合体(例如,110和120)。CPU复合体110可包括CPU 112,所述CPU 112经由存储器总线142与(8或12个)DIMM 114进行通信并且经由存储器总线144与(8或12个)DIMM 116进行通信。CPU112还可经由PCIe总线140与各种PCIe设备102进行通信,并且经由直接介质接口(DMI)148与平台控制器集线器(PCH)134进行通信。PCIe设备102可包括NIC、SSD、硬盘驱动器(HDD)和通用处理单元(GPU)。CPU 112还可经由复用器132与PCH 134进行通信。PCH 134可经由PCIe协议150与各种SSD(例如,M.2)136进行通信,并且经由通用异步接收器/发送器(UART)协议152与复杂可编程逻辑器件(CPLD)138进行通信。PCH 134可经由PCIe协议154和通用串行总线(USB)协议156两者进一步与基板管理控制器(BMC)140进行通信。CPLD 138可经由低引脚计数(LPC)总线158与BMC 140进行通信。
随着由单个CPU插口支持的DIMM的数量随着时间的推移而持续增加,用于DIMM的制造技术持续缩减,例如,在维持大小的同时增加容量,诸如从8GB到16GB到32GB到64GB。虽然DIMM插槽的数量和单个DIMM的容量都在持续增加,但是这种硬件升级仍然不能为存储器饥饿应用提供足够的存储器(以及足够快的存储器访问等待时间)。
满足当前应用的存储器需要的一个解决方案是通过使用基于来自SSD或HDD的存储空间的虚拟存储器方法来扩展存储器空间。图2B图示示例性虚拟存储器分配。使用的存储器通过空白框(例如,使用的存储器290)来指示,并且空闲或可用存储器通过对角条纹线(例如,空闲存储器292)来指示。存储器请求/分配通过粗线(例如,294)来指示。不同的应用(例如,应用262、264和266)可以发起对存储器的请求,这可使系统在服务器的易失性存储器(例如,RAM 280)中分配一定量的存储器。当在易失性存储器中不再有足够的空间时,系统可以在驱动器的非易失性存储器(例如,NAND闪存282)中分配存储器。例如,应用262可发送请求272,所述请求272导致存储器分配并且导致数据被存储在RAM 280中。应用264可发送请求274,所述请求274导致存储器分配并且导致一些数据被存储在RAM 280中并且来自应用264的数据的剩余部分被存储在NAND闪存282中(经由请求276)。应用266可发送请求278,所述请求278导致存储器分配并且导致来自应用266的所有数据被存储在NAND闪存282中。
然而,在将数据写入到SSD(例如,NAND闪存282的物理介质)时涉及的等待时间可以是在将数据写入到DRAM(例如,RAM 280)时涉及的等待时间的大约三到四倍。这种性能降级可以使虚拟存储器解决方案变得不可行或者不能在定时关键应用中工作。此外,因为SSD可能不会和DRAM一样稳定,所以一些I/O操作很可能体验到显著较长的等待时间。
用于促进共享存储器层的示例性存储器扩展设备;本地PCIe DRAM;以及以太网可 寻址PCIe DRAM
图3A图示依照本申请的实施例的基于U.2形状因数促进共享存储器的示例性设备300。设备300可以是按照U.2形状因数设计的PCIe DRAM。退役DIMM(来自退役服务器)可被简单地直接地安装到PCIe DRAM模块壳体中。设备300可包括与服务器连接的PCIe接口以及安装退役DRAM DIMM并与之进行通信的DIMM接口。设备300还可包括具有所设计的控制器和电路的印刷电路板(PCB)。PCB也可以被称为PCIe DRAM模块的“中间平面”。
图3B图示依照本申请的实施例的基于附加卡(AIC)形状因数促进共享存储器的示例性设备350。与设备300类似,设备350可以是按照AIC形状因数设计的PCIe DRAM。设备350还可具有PCIe接口、DIMM接口以及具有所设计的控制器和电路的PCB(例如,中间平面)。
图4图示依照本申请的实施例的促进共享存储器的存储器扩展设备400(包括控制器460)的示例性架构。存储器扩展设备400可包括两个单独的接口:专用PCIe接口402,其处理从主机到PCIe DRAM(即,存储器扩展设备)的数据的转换;以及专用DRAM DIMM接口414,其处理从控制器460到一组易失性存储器模块(例如,DIMM 420、422和424)的经处理的数据的转换。易失性存储器模块可以是来自退役服务器的DIMM。存储器扩展设备400还可包括控制电路(例如,控制器460),所述控制电路通过刷新数据、跟踪错误、放置数据并且执行其他DRAM管理过程来处理数据。
在操作期间,存储器扩展设备400可经由专用PCIe接口402从主机430接收数据或者向主机430发送数据(例如,与主机430进行通信)。接口402可以基于标准PCIe协议,并且可进一步包括它自己的驱动程序来处理存储器映射和数据分组生成。可以经由通信432将数据传递到CRC模块404。CRC模块404可执行循环冗余校验以确保数据是正确的。CRC模块404可经由通信434将已校验的数据连同CRC签名一起传递到微处理器408。微处理器408可执行数据放置和DRAM管理。微处理器408可经由通信436将数据发送到ECC编码器模块410,所述ECC编码器模块410可对数据执行纠错码编码。ECC编码器模块410可通过专用DRAMDIMM接口414将经ECC编码的数据经由通信438发送到具体DIMM(例如,经由通信440发送到DIMM 420,经由通信442发送到DIMM 422,并且经由通信444发送到DIMM 424)。
ECC编码器模块410可使用比汉明码强但是具有低等待时间开销的中等强度纠错码,诸如Bose-Chaudhuri-Hocquenghem(BCH)码。与常规DRAM DIMM中所使用的汉明码相比,BCH码在减轻不可纠正的错误率时可以是更强大的,所述不可纠正的错误率可以直接地引起服务器重置。因为PCIe DRAM经由PCIe总线访问,所以由BCH解码引发的等待时间开销不会影响关键路径。同时,BCH码可改进DRAM的容错性并且可进一步延长退役DRAM DIMM的寿命。BCH码字可以被划分成适合于存储器访问的形式(例如,72个比特)并且并行发送到DRAMDIMM(如通过图4的通信440、442和444所示出的)。
在返回路径上,可以经由通信446将ECC编码的数据通过专用DRAM DIMM接口414经由通信444从例如DIMM 424传递到ECC解码器模块412。ECC解码器模块412可对经ECC编码的数据执行纠错解码(例如,基于BCH码),并且经由通信448将经解码的数据传递到微处理器408。微处理器408可执行DRAM管理(例如,酌情更新数据结构或其他系统文件)并且经由通信450将经解码的数据发送到CRC模块406。CRC模块406可执行循环冗余校验,并且经由通信452和430通过专用PCIe接口402来传递经校验的数据。注意的是,为了图示起见CRC模块404和406被描绘为单独的模块,并且也可以是单个CRC模块的一部分。类似地,为了图示起见ECC编码器模块410和ECC解码器模块412被描绘为单独的模块,并且也可以是单个ECC编码器/解码器模块的一部分。
与I/O请求相关联的数据在通过CRC比较(例如,CRC模块404/406)、固件(微处理器408)和中等强度ECC编码/解码(例如,ECC编码器模块410/解码器模块412)的路径上行进。主机应用因此可经由逻辑存储器空间利用共享存储器,所述逻辑存储器空间由控制器(例如,控制器460)映射到退役DRAM DIMM的物理页面。
图5A图示依照本申请的实施例的促进共享存储器的以太网可寻址存储器扩展设备500的示例性架构。存储器扩展设备500可包括IP DRAM中间/控制层568,所述IP DRAM中间/控制层568与多个PCIe DRAM(例如,PCIe DRAM 550、552和554,其中的每一个可对应于如上面关于图4所描述的PCIe DRAM 400)进行通信。IP DRAM中间/控制层568可包括以太网端口502,所述以太网端口502可以是并行高速以太网端口,以4×25GB运行。IP DRAM中间/控制层568还可包括:微处理器530、532、534和536;DDR DRAM控制器514,其控制DRAM DIMM510和512;以及DDR DRAM控制器516,其控制DRAM DIMM 518和520(经由例如存储器总线(未示出))。IP DRAM中间/控制层568还可包括PCIe交换机540和多个PCIe通道542。
微处理器530-536可处理(数据)业务并且执行以太网与PCIe之间的协议转换。微处理器可执行处理传入I/O请求所需的计算。因为微处理器被主要用于协议转换,所以微处理器一般地比通用CPU弱得多。
在操作期间,存储器扩展设备500可经由以太网端口502从远程实体501接收数据或者向远程实体501发送数据(例如,与远程实体501进行通信)。本文所描述的实施例可并行在以太网可寻址存储器扩展设备500内使多个PCIe DRAM实例化以便消耗扩展PCIe通道542。在一些实施例中,IP DRAM中间/控制层568可经由以太网端口502接收I/O请求,并且微处理器530-536中的一个可确定I/O请求将由DRAM DIMM 510和512中的一个(经由与DDRDRAM控制器514的通信)或者由DRAM DIMM 518和520中的一个(经由与DDR DRAM控制器516的通信)处理。在其他实施例中,IP DRAM中间/控制层568可确定I/O请求将由经联接的PCIeDRAM设备(例如,PCIe DRAM 550、552和554)中的一个处理,并且经由PCIe交换机540和PCIe通道542的所选通道将I/O请求发送到相应的存储器扩展设备以由相应的存储器扩展设备执行。注意的是,DRAM DIMM 510、512、518和520可以是来自退役服务器的DIMM。
图5B图示依照本申请的实施例的通过交换机访问的以太网可寻址存储器扩展设备的示例性环境570。环境570可指示数据中心部署,并且可包括联接到两个叶交换机574和576的主干交换机572(例如,架顶式或ToR交换机)。叶交换机574可与服务器580和581以及IP DRAM 500、583、584和585进行通信。叶交换机576可与服务器590和591以及IP DRAM592、593、594和595进行通信。环境570描述如何可以经由叶交换机和主干交换机访问IPDRAM(例如,IP DRAM 500)。此外,服务器(例如,服务器580)可包括PCIe DRAM,如上面关于图1和图4所描绘的,并且该PCIe DRAM可以由其他服务器(例如,服务器581、590和591中的任一个)经由远程直接存储器存取(RDMA)协议访问,如上面关于图1所描绘的。环境570中的易失性存储器模块(例如,DRAM DIMM)包括IP DRAM 500的DRAM DIMM 510、512、518和520(其被直接地访问)以及PCIe DRAM 550、552和554中的重新利用和退役的DIMM(其通过PCIe作为PCI DRAM 500的一部分被访问)。这些易失性存储器模块可以由多个服务器访问(诸如服务器580、581、590、591中的任一个)或可在本地或者远程地访问这些易失性存储器模块的任何服务器访问。
因此,在本文所描述的实施例中,存储器扩展设备400和IP DRAM 500可高效地重新利用来自退役服务器的DRAM DIMM。系统可针对本地用户和远程用户两者通过为应用提供共享存储器扩展来高效地减轻使用的存储器的降级。本文所描述的实施例的硬件和软件包括用于中间平面(例如,IP DRAM中间平面568)、纠错(例如,控制器460的ECC编码器模块410/解码器模块412)以及数据放置固件(例如,控制器460的微处理器408和IP DRAM 500的微处理器530-536)的功能性。虽然与通过PCIe访问存储器扩展设备相关联的等待时间可能高于通过存储器总线访问DRAM DIMM相关联的等待时间,但是通过PCIe访问存储器扩展设备导致比访问SSD更低的等待时间。此外,因为通过PCIe对存储器扩展设备中的退役DIMM的存储器访问可以是更一致的,所以存储器扩展设备的性能也可以是更恒定的。因此,通过将退役DIMM放置在存储器扩展设备中,本文所描述的实施例可改进系统的效率和性能。
由用于促进共享存储器的存储器扩展设备进行的方法
图6A呈现图示依照本申请的实施例的由用于促进共享存储器的存储器扩展设备进行的方法的流程图600。在操作期间,系统通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求,其中,存储器扩展设备包括第一组存储器模块,并且其中,存储器扩展设备经由第一接口附接到计算机系统(操作602)。存储器模块可以是易失性存储器模块,诸如双列直插存储器模块(DIMM)。存储器扩展设备还可经由第一接口(例如,“可插拔”存储器扩展设备)被插入到计算机系统中或者联接到计算机系统,并且还可被固定到主板。系统通过存储器扩展设备的控制器来处理I/O请求(操作604)。系统通过控制器来选择I/O请求将被发送到的存储器模块(操作606)。系统通过控制器经由第二接口将I/O请求发送到所选择的存储器模块(操作608)。系统通过所选择的存储器模块来执行I/O请求(操作610)。
图6B呈现图示依照本申请的实施例的由用于促进共享存储器的存储器扩展设备进行的方法的流程图640。流程图640中所描绘的操作可以由存储器扩展设备的控制器(诸如图4中所描绘的存储器扩展设备400的控制器460)执行。在操作期间,系统对与I/O请求相关联的数据执行循环冗余校验(操作642)。系统确定用于与I/O请求相关联的数据的放置(操作644)。系统对于与I/O请求相关联的数据或者对于第一组存储器模块执行管理过程(操作646)。系统对与I/O请求相关联的数据执行纠错码编码或解码(操作648)。
由用于促进共享存储器的以太网可寻址存储器扩展设备进行的方法
图7呈现图示依照本申请的实施例的由用于促进共享存储器的以太网可寻址存储器扩展设备进行的方法的流程图700。以太网可寻址存储器扩展设备可以是计算设备。在操作期间,系统通过计算设备经由以太网端口接收I/O请求,其中,计算设备联接到包括第一组存储器模块的存储器扩展设备,并且其中,计算设备包括:一组端口;第二组存储器模块;用于第二组存储器模块的一组控制器;一组微处理器;交换机;以及一组通道(操作702)。端口可以是以太网端口。系统确定I/O请求是由联接的存储器扩展设备(例如,图5A的PCIeDRAM 550)还是由计算设备的本地DRAM(例如,图5A的DRAM DIMM 510)处理(判定704)。如果系统选择联接的存储器扩展设备(判定704),则系统通过计算设备的微处理器来确定I/O请求将由存储器扩展设备处理(操作706)。系统经由交换机和选择的通道将I/O请求发送到存储器扩展设备以由存储器扩展设备执行(操作708),并且操作在图6A的操作602处继续。
如果系统选择本地DRAM(判定704),则系统通过计算设备的微处理器来确定I/O请求将由第二组的(即,计算设备的)存储器模块处理(操作712)。系统通过第二组的存储器模块来执行I/O请求(操作714),并且操作返回。
示例性计算机系统
图8图示依照本申请的实施例的促进共享存储器的示例性计算机系统800。计算机系统800包括处理器802、易失性存储器804、IP DRAM中间/控制层806和存储器扩展设备808。计算机系统800还可以包括非易失性存储器(未示出)。计算机系统800可以是计算设备或存储设备。易失性存储器804可包括用作受管理存储器的存储器(例如,RAM),并且可用于存储一个或更多个存储器池。此外,计算机系统800可联接到显示设备818、键盘812和指点设备814。计算机系统800还可包括操作系统(未示出)。存储器扩展设备808可存储内容处理系统818和数据830。
内容处理系统818可包括指令,所述指令当由计算机系统800执行时,可使计算机系统800执行本公开中所描述的方法和/或过程。例如,内容处理系统818可包括用于接收并发送数据分组的指令,所述数据分组包括写入或者读取数据的请求(例如,I/O请求)、要编码并存储的数据或数据的块或页面。
内容处理系统818可进一步包括用于通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求的指令(通信模块820)。内容处理系统818可包括用于通过存储器扩展设备的控制器来处理I/O请求的指令(请求处理模块822)。内容处理系统818可包括用于通过控制器经由第二接口将I/O请求发送到选择的存储器模块的指令(通信模块820)。内容处理系统818可包括用于通过所选择的存储器模块来执行I/O请求的指令(请求执行模块824)。内容处理系统818还可包括用于通过控制器来选择I/O请求将被发送到的存储器模块的指令(存储器选择模块826)。
IP DRAM中间/控制层806可包括用于接收I/O请求的指令(通信模块840)以及用于确定I/O请求将由存储器扩展设备(例如,存储器扩展设备808)处理的指令(IP DRAM处理模块842)。IP DRAM中间/控制层806可进一步包括用于经由交换机和选择的通道将I/O请求发送到存储器扩展设备以由存储器扩展设备执行的指令(通信模块840)。
数据828可包括被要求作为输入或者通过本公开中所描述的方法和/或过程生成为输出的任何数据。具体地,数据828可存储至少:请求;I/O请求;指示要读取或者写入的数据的请求;要存储、写入、加载、移动、检索或复制的数据;数据的块;逻辑块地址(LBA);物理块地址(PBA);循环冗余校验;纠错码编码或解码;数据放置;用于数据或易失性存储器模块的管理程序;接口、PCIe接口或DRAM DIMM接口的指示器;以及端口、控制器、微处理器、交换机或通道的指示器或标识符。
在此详细描述中描述的数据结构和代码通常被存储在计算机可读存储介质上,所述计算机可读存储介质可以是可存储代码和/或数据以供由计算机系统使用的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、诸如磁盘驱动器、磁带、CD(紧致盘)、DVD(数字通用盘或数字视频盘)的磁和光学存储设备,或能够存储现在已知或以后开发的计算机可读介质的其他介质。
可以将在具体实施方式部分中描述的方法和过程具体实现为代码和/或数据,所述代码和/或数据可被存储在如上所述的计算机可读存储介质中。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行被具体实现为数据结构和代码并且存储在计算机可读存储介质中的方法和过程。
此外,上述的方法和过程可被包括在硬件模块中。例如,硬件模块可包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)以及现在已知或以后开发的其他可编程逻辑器件。当硬件模块被激活时,硬件模块执行包括在硬件模块内的方法和过程。
已经仅出于图示和描述的目的呈现了本文所描述的前面的实施例。它们不旨在为详尽的或者将本文所描述的实施例限于所公开的形式。因此,许多修改和变化对于本领域的技术人员而言将是显而易见的。附加地,以上公开内容不旨在限制本文所描述的实施例。本文所描述的实施例的范围由所附权利要求来限定。

Claims (17)

1.一种用于促进共享存储器的计算机实现的方法,所述方法包括以下步骤:
通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求,
其中,所述存储器扩展设备包括第一组存储器模块,并且其中,所述存储器扩展设备经由所述第一接口附接到计算机系统;
通过所述存储器扩展设备的控制器来处理所述I/O请求;
通过所述控制器经由第二接口将所述I/O请求发送到选择的存储器模块;以及
通过所选择的存储器模块来执行所述I/O请求,从而允许所述计算机系统在所述存储器总线上可用的存储器插槽之外扩展存储器容量;
其中,处理所述I/O请求的步骤进一步包括以下步骤:
对与所述I/O请求相关联的数据执行循环冗余校验;
确定针对与所述I/O请求相关联的所述数据的放置;
对于与所述I/O请求相关联的所述数据或者对于所述第一组存储器模块执行管理过程;以及
对与所述I/O请求相关联的所述数据执行纠错码编码或解码。
2.根据权利要求1所述的方法,进一步包括:
通过所述控制器来选择所述I/O请求将被发送到的所述存储器模块。
3.根据权利要求1所述的方法,其中,所述第一接口是在请求主机与所述控制器之间的外围组件互连快速(PCIe)接口,并且
其中,所述第二接口是在所述控制器与所述存储器模块之间的动态随机存取存储器(DRAM)双列直插存储器模块(DIMM)接口。
4.根据权利要求1所述的方法,其中,所述存储器扩展设备联接到计算设备,所述计算设备包括:
一组端口;
第二组存储器模块;
用于所述第二组存储器模块的一组控制器;
一组微处理器;
交换机;以及
一组通道。
5.根据权利要求4所述的方法,其中,在所述存储器扩展设备接收所述I/O请求之前,所述方法进一步包括:
通过所述计算设备经由端口接收所述I/O请求;
通过所述计算设备的微处理器来确定所述I/O请求将由所述存储器扩展设备处理;以及
经由所述交换机和选择的通道将所述I/O请求发送到所述存储器扩展设备以由所述存储器扩展设备执行。
6.根据权利要求4所述的方法,其中,所述存储器扩展设备是附接到或者联接到所述计算设备的多个存储器扩展设备中的一个存储器扩展设备。
7.根据权利要求4所述的方法,进一步包括:
通过所述计算设备经由端口接收第二I/O请求;
通过所述计算设备的微处理器来确定所述第二I/O请求将由所述第二组的存储器模块处理;以及
通过所述第二组的存储器模块来执行所述第二I/O请求。
8.一种用于促进共享存储器的存储器扩展设备,所述存储器扩展设备包括:
与存储器总线不同的第一接口,其中,所述存储器扩展设备经由所述第一接口附接到计算机系统;
控制电路;以及
经由第二接口联接到所述控制电路的第一组存储器模块;
其中,所述控制电路被配置为:
经由所述第一接口接收I/O请求;
处理所述I/O请求;并且
经由所述第二接口将所述I/O请求发送到选择的存储器模块;以及
其中,所述选择的存储器模块被配置为执行所述I/O请求,从而允许所述计算机系统在所述存储器总线上可用的存储器插槽之外扩展存储器容量;
其中在处理所述I/O请求时,所述控制电路被进一步配置为执行以下步骤:
对与所述I/O请求相关联的数据执行循环冗余校验;
确定针对与所述I/O请求相关联的所述数据的放置;
对于与所述I/O请求相关联的所述数据或者对于所述第一组存储器模块执行管理过程;以及
对与所述I/O请求相关联的所述数据执行纠错码编码或解码。
9.根据权利要求8所述的存储器扩展设备,其中,所述控制电路被进一步配置为:
选择所述I/O请求将被发送到的所述存储器模块。
10.根据权利要求8所述的存储器扩展设备,其中,所述第一接口是请求主机与所述控制电路之间的外围组件互连快速(PCIe)接口,并且
其中,所述第二接口是所述控制电路与所述存储器模块之间的动态随机存取存储器(DRAM)双列直插存储器模块(DIMM)接口。
11.根据权利要求8所述的存储器扩展设备,其中,所述存储器扩展设备联接到计算设备,所述计算设备包括:
一组端口;
第二组存储器模块;
用于所述第二组存储器模块的一组控制器;
一组微处理器;
交换机;以及
一组通道。
12.根据权利要求11所述的存储器扩展设备,其中,在所述控制电路接收所述I/O请求之前:
所述计算设备被配置为经由端口接收所述I/O请求;
其中,所述计算设备的微处理器被配置为确定所述I/O请求将由所述存储器扩展设备处理;并且
其中,所述计算设备被进一步配置为经由所述交换机和选择的通道将所述I/O请求发送到所述存储器扩展设备以由所述存储器扩展设备执行。
13.根据权利要求11所述的存储器扩展设备,其中,所述存储器扩展设备是附接到或者联接到所述计算设备的多个存储器扩展设备中的一个存储器扩展设备。
14.根据权利要求11所述的存储器扩展设备,其中,所述计算设备被进一步配置为:
经由端口接收第二I/O请求;
其中,所述计算设备的微处理器被配置为确定所述第二I/O请求将由所述第二组的存储器模块处理;并且
其中,所述第二组的存储器模块被配置为执行所述第二I/O请求。
15.一种用于促进共享存储器的计算机系统,所述系统包括:
处理器;
易失性存储器;以及
存储器扩展设备,所述存储器扩展设备包括第一组存储器模块并且进一步包括:
第一通信模块,所述第一通信模块被配置为经由与存储器总线不同的第一接口接收I/O请求,其中,所述存储器扩展设备经由所述第一接口附接到所述计算机系统;
请求处理模块,所述请求处理模块被配置为处理所述I/O请求;
存储器选择模块,所述存储器选择模块被配置为选择所述I/O请求将被发送到的存储器模块,
其中,所述第一通信模块被进一步配置为经由第二接口将所述I/O请求发送到所选择的存储器模块;以及
请求执行模块,所述请求执行模块被配置为由所选择的存储器模块执行所述I/O请求;
其中,所述请求处理模块被进一步配置为执行以下步骤:
对与所述I/O请求相关联的数据执行循环冗余校验;
确定针对与所述I/O请求相关联的所述数据的放置;
对于与所述I/O请求相关联的所述数据或者对于所述第一组存储器模块执行管理过程;以及
对与所述I/O请求相关联的所述数据执行纠错码编码或解码。
16.根据权利要求15所述的计算机系统,其中,所述存储器扩展设备联接到计算设备,所述计算设备包括:
一组端口;
第二组存储器模块;
用于所述第二组存储器模块的一组控制器;
一组微处理器;
交换机;以及
一组通道。
17.根据权利要求16所述的计算机系统,其中,所述计算设备包括IP DRAM控制层,所述IP DRAM控制层包括:
第二通信模块,所述第二通信模块被配置为在所述存储器扩展设备接收所述I/O请求之前经由端口接收所述I/O请求;以及
IP DRAM处理模块,所述IP DRAM处理模块被配置为通过所述计算设备的微处理器来确定所述I/O请求将由所述存储器扩展设备处理,
其中,所述第二通信模块被进一步配置为经由所述交换机和选择的通道将所述I/O请求发送到所述存储器扩展设备以由所述存储器扩展设备执行。
CN201910067933.5A 2018-02-08 2019-01-24 用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统 Active CN110134329B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/892,198 2018-02-08
US15/892,198 US10831404B2 (en) 2018-02-08 2018-02-08 Method and system for facilitating high-capacity shared memory using DIMM from retired servers

Publications (2)

Publication Number Publication Date
CN110134329A CN110134329A (zh) 2019-08-16
CN110134329B true CN110134329B (zh) 2023-09-05

Family

ID=67475541

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910067933.5A Active CN110134329B (zh) 2018-02-08 2019-01-24 用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统

Country Status (2)

Country Link
US (1) US10831404B2 (zh)
CN (1) CN110134329B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631954A (zh) * 2019-10-09 2021-04-09 联想企业解决方案(新加坡)有限公司 可扩展的双列直插式内存模块
US20210311871A1 (en) 2020-04-06 2021-10-07 Samsung Electronics Co., Ltd. System and method for aggregating server memory
US20210373951A1 (en) * 2020-05-28 2021-12-02 Samsung Electronics Co., Ltd. Systems and methods for composable coherent devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104508647A (zh) * 2012-06-08 2015-04-08 惠普发展公司,有限责任合伙企业 扩大存储器容量用于键值高速缓存器

Family Cites Families (185)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4775932A (en) 1984-07-31 1988-10-04 Texas Instruments Incorporated Computer memory system with parallel garbage collection independent from an associated user processor
DE69434311D1 (de) 1993-02-01 2005-04-28 Sun Microsystems Inc Archivierungsdateiensystem für datenanbieter in einer verteilten netzwerkumgebung
US6148377A (en) 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US5930167A (en) 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6243795B1 (en) 1998-08-04 2001-06-05 The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations Redundant, asymmetrically parallel disk cache for a data storage system
US6226650B1 (en) 1998-09-17 2001-05-01 Synchrologic, Inc. Database synchronization and organization system and method
US7966462B2 (en) 1999-08-04 2011-06-21 Super Talent Electronics, Inc. Multi-channel flash module with plane-interleaved sequential ECC writes and background recycling to restricted-write flash chips
US20020010783A1 (en) 1999-12-06 2002-01-24 Leonard Primak System and method for enhancing operation of a web server cluster
US6981005B1 (en) 2000-08-24 2005-12-27 Microsoft Corporation Partial migration of an object to another storage location in a computer system
US7228441B2 (en) 2000-09-27 2007-06-05 Huron Ip Llc Multi-server and multi-CPU power management system and method
US6694451B2 (en) 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
US20020161890A1 (en) 2000-12-22 2002-10-31 Kailai Chen System and method for intelligently distributing content over a communicatons network
US7865440B2 (en) 2001-10-11 2011-01-04 International Business Machines Corporation Method, system, and program for securely providing keys to encode and decode data in a storage cartridge
US20030163633A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US7533214B2 (en) 2002-02-27 2009-05-12 Microsoft Corporation Open architecture flash driver
US6988165B2 (en) 2002-05-20 2006-01-17 Pervasive Software, Inc. System and method for intelligent write management of disk pages in cache checkpoint operations
EP1573454A2 (en) 2002-06-11 2005-09-14 Ashish Pandya High performance ip processor for tcp/ip, rdma and ip storage applications
US7003620B2 (en) 2002-11-26 2006-02-21 M-Systems Flash Disk Pioneers Ltd. Appliance, including a flash memory, that is robust under power failure
US7043623B2 (en) * 2003-01-22 2006-05-09 Intelitrac, Inc. Distributed memory computing environment and implementation thereof
TWI397795B (zh) 2003-05-07 2013-06-01 Mosaid Technologies Inc 用於使用功率島管理積體電路上功率的系統及其方法
US20050038954A1 (en) 2003-06-04 2005-02-17 Quantum Corporation Storage drive having universal format across media types
US7051215B2 (en) 2003-06-13 2006-05-23 Intel Corporation Power management for clustered computing platforms
US7565454B2 (en) 2003-07-18 2009-07-21 Microsoft Corporation State migration in multiple NIC RDMA enabled devices
JP4371739B2 (ja) 2003-09-02 2009-11-25 株式会社東芝 シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法
US7173863B2 (en) 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
US7676603B2 (en) 2004-04-20 2010-03-09 Intel Corporation Write combining protocol between processors and chipsets
US7490239B2 (en) 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
DE102005032061B4 (de) * 2005-07-08 2009-07-30 Qimonda Ag Speichermodul, und Speichermodul-System
US7480766B2 (en) 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US8260924B2 (en) 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
WO2007138602A2 (en) 2006-05-31 2007-12-06 Storwize Ltd. Method and system for transformation of logical data objects for storage
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
CN101479686A (zh) 2006-06-27 2009-07-08 皇家飞利浦电子股份有限公司 用于管理多个数据处理单元的功率消耗的设备和方法
US20080065805A1 (en) * 2006-09-11 2008-03-13 Cameo Communications, Inc. PCI-Express multimode expansion card and communication device having the same
JP2008077810A (ja) 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
US7761623B2 (en) * 2006-09-28 2010-07-20 Virident Systems, Inc. Main memory in a system with a memory controller configured to control access to non-volatile memory, and related technologies
KR100858241B1 (ko) 2006-10-25 2008-09-12 삼성전자주식회사 하이브리드 플래시 메모리 장치 및 그것의 가용 블록 할당방법
US8344475B2 (en) 2006-11-29 2013-01-01 Rambus Inc. Integrated circuit heating to effect in-situ annealing
US7958433B1 (en) 2006-11-30 2011-06-07 Marvell International Ltd. Methods and systems for storing data in memory using zoning
US8161353B2 (en) 2007-12-06 2012-04-17 Fusion-Io, Inc. Apparatus, system, and method for validating that a correct data segment is read from a data storage device
US7852654B2 (en) 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
IL187041A0 (en) 2007-10-30 2008-02-09 Sandisk Il Ltd Optimized hierarchical integrity protection for stored data
US8281061B2 (en) 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
KR101497074B1 (ko) 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
US8959280B2 (en) 2008-06-18 2015-02-17 Super Talent Technology, Corp. Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear
US8954654B2 (en) 2008-06-18 2015-02-10 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance
US9547589B2 (en) 2008-06-18 2017-01-17 Super Talent Technology, Corp. Endurance translation layer (ETL) and diversion of temp files for reduced flash wear of a super-endurance solid-state drive
CN102150147A (zh) * 2008-07-03 2011-08-10 惠普开发有限公司 存储器服务器
JP2010152704A (ja) 2008-12-25 2010-07-08 Hitachi Ltd 計算機システムの運用管理システム及び管理方法
KR20110111551A (ko) 2008-12-30 2011-10-12 에마누엘르 콘파로니에리 동작 온도 범위가 확장된 비휘발성 메모리
US8838976B2 (en) 2009-02-10 2014-09-16 Uniloc Luxembourg S.A. Web content access using a client device identifier
US20100217952A1 (en) 2009-02-26 2010-08-26 Iyer Rahul N Remapping of Data Addresses for a Large Capacity Victim Cache
AU2010217154A1 (en) 2009-02-27 2011-09-15 Certicom Corp. System and method for securely communicating with electronic meters
US8725946B2 (en) * 2009-03-23 2014-05-13 Ocz Storage Solutions, Inc. Mass storage system and method of using hard disk, solid-state media, PCIe edge connector, and raid controller
US8166233B2 (en) 2009-07-24 2012-04-24 Lsi Corporation Garbage collection for solid state disks
US8918365B2 (en) 2009-06-19 2014-12-23 Blekko, Inc. Dedicating disks to reading or writing
US8996812B2 (en) 2009-06-19 2015-03-31 International Business Machines Corporation Write-back coherency data cache for resolving read/write conflicts
KR101530997B1 (ko) 2009-06-23 2015-06-25 삼성전자주식회사 셀간 간섭을 집중시키는 불휘발성 메모리 장치의 프로그램 방법
US20110055471A1 (en) 2009-08-28 2011-03-03 Jonathan Thatcher Apparatus, system, and method for improved data deduplication
US8688894B2 (en) 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US8214700B2 (en) 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US9390035B2 (en) 2009-12-21 2016-07-12 Sanmina-Sci Corporation Method and apparatus for supporting storage modules in standard memory and/or hybrid memory bus architectures
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
TWI409633B (zh) 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
US8370297B2 (en) 2010-03-08 2013-02-05 International Business Machines Corporation Approach for optimizing restores of deduplicated data
JP2011198133A (ja) 2010-03-19 2011-10-06 Toshiba Corp メモリシステムおよびコントローラ
US8688897B2 (en) 2010-05-28 2014-04-01 International Business Machines Corporation Cache memory management in a flash cache architecture
JP4886877B2 (ja) 2010-05-31 2012-02-29 株式会社東芝 記録媒体制御装置、及びその方法
US9401967B2 (en) 2010-06-09 2016-07-26 Brocade Communications Systems, Inc. Inline wire speed deduplication system
US8725934B2 (en) 2011-12-22 2014-05-13 Fusion-Io, Inc. Methods and appratuses for atomic storage operations
US20120039117A1 (en) 2010-08-16 2012-02-16 Gary Edward Webb Destruction of data stored in phase change memory
US8938624B2 (en) 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
CN103098070B (zh) 2010-09-23 2016-03-30 惠普发展公司,有限责任合伙企业 用于监视网络服务中数据位置的方法、装置和系统
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US8516284B2 (en) 2010-11-04 2013-08-20 International Business Machines Corporation Saving power by placing inactive computing devices in optimized configuration corresponding to a specific constraint
US9176794B2 (en) 2010-12-13 2015-11-03 Advanced Micro Devices, Inc. Graphics compute process scheduling
US9208071B2 (en) 2010-12-13 2015-12-08 SanDisk Technologies, Inc. Apparatus, system, and method for accessing memory
US10817421B2 (en) 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US8826098B2 (en) 2010-12-20 2014-09-02 Lsi Corporation Data signatures to determine successful completion of memory backup
US9612978B2 (en) 2010-12-31 2017-04-04 International Business Machines Corporation Encrypted flash-based data storage system with confidentiality mode
US9251087B2 (en) 2011-02-11 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for virtual memory management
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US8732538B2 (en) 2011-03-10 2014-05-20 Icform, Inc. Programmable data storage management
US8452819B1 (en) 2011-03-22 2013-05-28 Amazon Technologies, Inc. Methods and apparatus for optimizing resource utilization in distributed storage systems
KR101717081B1 (ko) 2011-03-23 2017-03-28 삼성전자주식회사 비휘발성 램과 휘발성 램을 버퍼 메모리로 사용하는 저장 장치
US20180107591A1 (en) 2011-04-06 2018-04-19 P4tents1, LLC System, method and computer program product for fetching data between an execution of a plurality of threads
US8832402B2 (en) 2011-04-29 2014-09-09 Seagate Technology Llc Self-initiated secure erasure responsive to an unauthorized power down event
US20130013880A1 (en) 2011-07-08 2013-01-10 Hitachi Computer Peripherals Co., Ltd. Storage system and its data processing method
US8904158B2 (en) 2011-09-02 2014-12-02 Lsi Corporation Storage system with boot appliance for improving reliability/availability/serviceability in high density server environments
KR20130031046A (ko) 2011-09-20 2013-03-28 삼성전자주식회사 플래시 메모리 장치 및 플래시 메모리 장치의 데이터 관리 방법
US8843451B2 (en) 2011-09-23 2014-09-23 International Business Machines Corporation Block level backup and restore
US8949208B1 (en) 2011-09-30 2015-02-03 Emc Corporation System and method for bulk data movement between storage tiers
KR20130064518A (ko) 2011-12-08 2013-06-18 삼성전자주식회사 저장 장치 및 그것의 동작 방법
US9088300B1 (en) 2011-12-15 2015-07-21 Marvell International Ltd. Cyclic redundancy check for out-of-order codewords
US9213645B2 (en) 2011-12-29 2015-12-15 Sandisk Technologies Inc. Command aware partial page programming
US9043545B2 (en) 2012-01-06 2015-05-26 Netapp, Inc. Distributing capacity slices across storage system nodes
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US8880815B2 (en) 2012-02-20 2014-11-04 Avago Technologies General Ip (Singapore) Pte. Ltd. Low access time indirect memory accesses
US9043681B2 (en) 2012-03-28 2015-05-26 Intel Corporation Reconstructing codewords using a side channel
US9645917B2 (en) 2012-05-22 2017-05-09 Netapp, Inc. Specializing I/O access patterns for flash storage
US9092223B1 (en) 2012-05-31 2015-07-28 Google Inc. Systems and methods to save power in data-center networks
US9208820B2 (en) 2012-06-29 2015-12-08 International Business Machines Corporation Optimized data placement for individual file accesses on deduplication-enabled sequential storage systems
US20140019650A1 (en) 2012-07-10 2014-01-16 Zhi Bin Li Multi-Write Bit-Fill FIFO
US9009402B2 (en) 2012-09-20 2015-04-14 Emc Corporation Content addressable storage in legacy systems
US8756237B2 (en) 2012-10-12 2014-06-17 Architecture Technology Corporation Scalable distributed processing of RDF data
US9405621B2 (en) 2012-12-28 2016-08-02 Super Talent Technology, Corp. Green eMMC device (GeD) controller with DRAM data persistence, data-type splitting, meta-page grouping, and diversion of temp files for enhanced flash endurance
US9141554B1 (en) 2013-01-18 2015-09-22 Cisco Technology, Inc. Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques
US9432755B2 (en) 2013-02-15 2016-08-30 Futurewei Technologies, Inc. Downstream burst transmission in passive optical networks
US8984171B2 (en) 2013-03-01 2015-03-17 Silicon Motion, Inc. Data storage device and flash memory control method
US9280472B1 (en) 2013-03-13 2016-03-08 Western Digital Technologies, Inc. Caching data in a high performance zone of a data storage system
US8751763B1 (en) 2013-03-13 2014-06-10 Nimbus Data Systems, Inc. Low-overhead deduplication within a block-based data storage
US9436595B1 (en) 2013-03-15 2016-09-06 Google Inc. Use of application data and garbage-collected data to improve write efficiency of a data storage device
KR102039537B1 (ko) 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US9195673B2 (en) 2013-03-15 2015-11-24 International Business Machines Corporation Scalable graph modeling of metadata for deduplicated storage systems
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US20140304452A1 (en) 2013-04-03 2014-10-09 Violin Memory Inc. Method for increasing storage media performance
KR101478168B1 (ko) 2013-04-17 2014-12-31 주식회사 디에이아이오 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법
US9183103B2 (en) 2013-05-31 2015-11-10 Vmware, Inc. Lightweight remote replication of a local write-back cache
US9785545B2 (en) 2013-07-15 2017-10-10 Cnex Labs, Inc. Method and apparatus for providing dual memory access to non-volatile memory
CN105453044B (zh) 2013-09-19 2020-06-12 英特尔公司 用于分布式处理任务部分指配的技术
US20160232103A1 (en) 2013-09-26 2016-08-11 Mark A. Schmisseur Block storage apertures to persistent memory
US9251154B2 (en) 2013-11-15 2016-02-02 International Business Machines Corporation Priority based reliability mechanism for archived data
US9619155B2 (en) 2014-02-07 2017-04-11 Coho Data Inc. Methods, systems and devices relating to data storage interfaces for managing data address spaces in data storage devices
US20150301964A1 (en) 2014-02-18 2015-10-22 Alistair Mark Brinicombe Methods and systems of multi-memory, control and data plane architecture
US9880859B2 (en) 2014-03-26 2018-01-30 Intel Corporation Boot image discovery and delivery
GB2527296A (en) 2014-06-16 2015-12-23 Ibm A method for restoring data in a HSM system
US9240722B2 (en) 2014-06-19 2016-01-19 Dell Products Lp Methods and systems for improving light load efficiency for power stages of multi-phase voltage regulator circuits
US10044795B2 (en) 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US9542327B2 (en) 2014-07-22 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Selective mirroring in caches for logical volumes
US9588977B1 (en) 2014-09-30 2017-03-07 EMC IP Holding Company LLC Data and metadata structures for use in tiering data to cloud storage
US9626286B2 (en) 2014-10-03 2017-04-18 Sandisk Technologies Llc Hardware and firmware paths for performing memory read processes
US9710330B2 (en) 2014-10-15 2017-07-18 Empire Technology Development Llc Partial cloud data storage
US10013169B2 (en) 2014-12-19 2018-07-03 International Business Machines Corporation Cooperative data deduplication in a solid state storage array
US20160179399A1 (en) 2014-12-23 2016-06-23 Sandisk Technologies Inc. System and Method for Selecting Blocks for Garbage Collection Based on Block Health
US20160188890A1 (en) 2014-12-26 2016-06-30 Intel Corporation Security mode data protection
US10282211B2 (en) 2015-01-09 2019-05-07 Avago Technologies International Sales Pte. Limited Operating system software install and boot up from a storage area network device
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9734051B2 (en) 2015-02-16 2017-08-15 Quantum Corporation Garbage collection and defragmentation for solid state drives (SSD) and shingled magnetic recording (SMR) drives
KR101927233B1 (ko) 2015-03-16 2018-12-12 한국전자통신연구원 이기종 멀티-코어 시스템의 gpu 전력 측정 방법
US9911487B2 (en) 2015-05-19 2018-03-06 EMC IP Holding Company LLC Method and system for storing and recovering data from flash memory
WO2016191620A1 (en) 2015-05-26 2016-12-01 Gluent Inc. System and method for transparent context aware filtering of data requests
US20160350002A1 (en) 2015-05-29 2016-12-01 Intel Corporation Memory device specific self refresh entry and exit
US9696931B2 (en) 2015-06-12 2017-07-04 International Business Machines Corporation Region-based storage for volume data and metadata
US9588571B2 (en) 2015-07-08 2017-03-07 Quanta Computer Inc. Dynamic power supply management
US10324832B2 (en) 2016-05-25 2019-06-18 Samsung Electronics Co., Ltd. Address based multi-stream storage device access
US10656838B2 (en) 2015-07-13 2020-05-19 Samsung Electronics Co., Ltd. Automatic stream detection and assignment algorithm
US9529601B1 (en) 2015-07-15 2016-12-27 Dell Products L.P. Multi-processor startup system
SG10201505822UA (en) 2015-07-27 2017-02-27 Huawei Internat Pte Ltd A policy aware unified file system
WO2017039702A1 (en) 2015-09-04 2017-03-09 Hewlett Packard Enterprise Development Lp Secure login information
US9952769B2 (en) 2015-09-14 2018-04-24 Microsoft Technology Licensing, Llc. Data storage system with data storage devices operative to manage storage device functions specific to a particular data storage device
KR20170045806A (ko) 2015-10-20 2017-04-28 삼성전자주식회사 반도체 메모리 장치 및 이의 동작 방법
US20170147499A1 (en) 2015-11-25 2017-05-25 Sandisk Technologies Llc Multi-Level Logical to Physical Address Mapping Using Distributed Processors in Non-Volatile Storage Device
US20170161202A1 (en) 2015-12-02 2017-06-08 Samsung Electronics Co., Ltd. Flash memory device including address mapping for deduplication, and related methods
US20170162235A1 (en) 2015-12-02 2017-06-08 Qualcomm Incorporated System and method for memory management using dynamic partial channel interleaving
US9965441B2 (en) 2015-12-10 2018-05-08 Cisco Technology, Inc. Adaptive coalescing of remote direct memory access acknowledgements based on I/O characteristics
US10649681B2 (en) 2016-01-25 2020-05-12 Samsung Electronics Co., Ltd. Dynamic garbage collection P/E policies for redundant storage blocks and distributed software stacks
US10235198B2 (en) 2016-02-24 2019-03-19 Samsung Electronics Co., Ltd. VM-aware FTL design for SR-IOV NVME SSD
US20170249162A1 (en) 2016-02-25 2017-08-31 Red Hat Israel, Ltd. Safe transmit packet processing for network function virtualization applications
US10101939B2 (en) 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
US10585809B2 (en) 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US20170286311A1 (en) 2016-04-01 2017-10-05 Dale J. Juenemann Repetitive address indirection in a memory
US20170288705A1 (en) * 2016-04-05 2017-10-05 Alibaba Group Holding Limited Shared memory with enhanced error correction
US10866905B2 (en) 2016-05-25 2020-12-15 Samsung Electronics Co., Ltd. Access parameter based multi-stream storage device access
US10389839B2 (en) 2016-06-01 2019-08-20 Intel Corporation Method and apparatus for generating data prefetches specifying various sizes to prefetch data from a remote computing node
US10514862B2 (en) 2016-07-21 2019-12-24 Micron Technology, Inc. Memory device including concurrent suspend states for different operations
US10684795B2 (en) 2016-07-25 2020-06-16 Toshiba Memory Corporation Storage device and storage control method
JP6274589B1 (ja) 2016-09-28 2018-02-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置および連続読出し方法
US11644992B2 (en) 2016-11-23 2023-05-09 Samsung Electronics Co., Ltd. Storage system performing data deduplication, method of operating storage system, and method of operating data processing system
US10374885B2 (en) 2016-12-13 2019-08-06 Amazon Technologies, Inc. Reconfigurable server including a reconfigurable adapter device
US10496544B2 (en) 2016-12-29 2019-12-03 Intel Corporation Aggregated write back in a direct mapped two level memory
US10516760B2 (en) 2017-03-17 2019-12-24 Verizon Patent And Licensing Inc. Automatic bootstrapping and dynamic configuration of data center nodes
US10275170B2 (en) 2017-04-10 2019-04-30 Sandisk Technologies Llc Folding operations in memory systems with single address updates
TWI625620B (zh) 2017-05-12 2018-06-01 威盛電子股份有限公司 非揮發性記憶體裝置及其讀取方法
US10540323B2 (en) 2017-05-30 2020-01-21 Western Digital Technologies, Inc. Managing I/O operations in a storage network
US10474397B2 (en) 2017-06-13 2019-11-12 Western Digital Technologies, Inc Unified indirection in a multi-device hybrid storage unit
US10275162B2 (en) 2017-06-23 2019-04-30 Dell Products L.P. Methods and systems for managing data migration in solid state non-volatile memory
US10838902B2 (en) * 2017-06-23 2020-11-17 Facebook, Inc. Apparatus, system, and method for performing hardware acceleration via expansion cards
US10564856B2 (en) 2017-07-06 2020-02-18 Alibaba Group Holding Limited Method and system for mitigating write amplification in a phase change memory-based storage device
TWI631570B (zh) 2017-09-04 2018-08-01 威盛電子股份有限公司 錯誤檢查糾正解碼方法與裝置
US10229735B1 (en) 2017-12-22 2019-03-12 Intel Corporation Block management for dynamic single-level cell buffers in storage devices
US10606693B2 (en) * 2017-12-28 2020-03-31 Micron Technology, Inc. Memory controller implemented error correction code memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104508647A (zh) * 2012-06-08 2015-04-08 惠普发展公司,有限责任合伙企业 扩大存储器容量用于键值高速缓存器

Also Published As

Publication number Publication date
US10831404B2 (en) 2020-11-10
CN110134329A (zh) 2019-08-16
US20190243579A1 (en) 2019-08-08

Similar Documents

Publication Publication Date Title
CN111177029B (zh) 用于管理软件定义的永久性存储器的系统及方法
US11487675B1 (en) Collecting statistics for persistent memory
US9009580B2 (en) System and method for selective error checking
US7032158B2 (en) System and method for recognizing and configuring devices embedded on memory modules
US9824041B2 (en) Dual access memory mapped data structure memory
US20110238909A1 (en) Multicasting Write Requests To Multiple Storage Controllers
US10459652B2 (en) Evacuating blades in a storage array that includes a plurality of blades
US9026845B2 (en) System and method for failure protection in a storage array
US9632702B2 (en) Efficient initialization of a thinly provisioned storage array
CN110134329B (zh) 用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统
US11210153B2 (en) Method and apparatus for predictive failure handling of interleaved dual in-line memory modules
US20170288705A1 (en) Shared memory with enhanced error correction
US10108542B2 (en) Serial link storage interface (SLSI) hybrid block storage
US11314635B1 (en) Tracking persistent memory usage
CN112053730A (zh) 用于存储器子系统的冗余云存储器存储装置
CN105068836A (zh) 一种基于sas网络的远程可共享的启动系统
CN114649033A (zh) 用于异构存储器技术的存储器系统架构
US11544205B2 (en) Peer storage devices sharing host control data
US10528283B2 (en) System and method to provide persistent storage class memory using NVDIMM-N with an NVDIMM-P footprint
US20170212692A1 (en) Reducing Read Access Latency by Straddling Pages Across Non-Volatile Memory Channels
US20230280917A1 (en) Storage system and method of operating the same
US20190138236A1 (en) System and Method to Reserve Persistent Memory Space in an NVDIMM for NVDIMM Namespace Support
EP4086774A1 (en) Coherent memory system
CN117093390A (zh) 用于处理故障页的系统、处理故障页的方法和主机装置
CN115809018A (zh) 改善系统的读取性能的设备和方法

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
GR01 Patent grant
GR01 Patent grant