CN110134329B - 用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统 - Google Patents
用于使用来自退役服务器的dimm来促进高容量共享存储器的方法和系统 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/102—Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0664—Virtualisation aspects at device level, e.g. emulation of a storage device or system
Abstract
一个实施例促进共享存储器。在操作期间,系统通过存储器扩展设备经由与存储器总线不同的第一接口接收I/O请求,其中,所述存储器扩展设备包括第一组存储器模块,并且其中,所述存储器扩展设备经由所述第一接口附接到计算机系统。所述系统通过所述存储器扩展设备的控制器来处理所述I/O请求。所述系统通过所述控制器经由第二接口将所述I/O请求发送到选择的存储器模块。所述系统通过所述选择的存储器模块来执行所述I/O请求,从而允许所述计算机系统在所述存储器总线上可用的存储器插槽之外扩展存储器容量。
Description
本申请要求于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请求发送到所述存储器扩展设备以由所述存储器扩展设备执行。
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104508647A (zh) * | 2012-06-08 | 2015-04-08 | 惠普发展公司,有限责任合伙企业 | 扩大存储器容量用于键值高速缓存器 |
Family Cites Families (185)
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 |
-
2018
- 2018-02-08 US US15/892,198 patent/US10831404B2/en active Active
-
2019
- 2019-01-24 CN CN201910067933.5A patent/CN110134329B/zh active Active
Patent Citations (1)
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 |