CN108292264B - 用于管理存储器页的可用性的方法和存储器可用性管理模块 - Google Patents
用于管理存储器页的可用性的方法和存储器可用性管理模块 Download PDFInfo
- Publication number
- CN108292264B CN108292264B CN201580085034.8A CN201580085034A CN108292264B CN 108292264 B CN108292264 B CN 108292264B CN 201580085034 A CN201580085034 A CN 201580085034A CN 108292264 B CN108292264 B CN 108292264B
- Authority
- CN
- China
- Prior art keywords
- memory
- availability
- blades
- page
- memory page
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了用于管理存储器页(130)的可用性的方法和存储器可用性管理模块(110)“MAMM”。解聚的硬件***(100)包括存储器刀片(105,106,107)和计算池(102,103,104)的组。MAMM(110)接收(A010)涉及存储器页(130)的至少一个存储器页到至少一个操作***(120)的分配的消息。消息包括关于对于至少一个存储器页的可用性的指示。MAMM(110)将关于可用性的指示转化(A020)成一组存储器刀片参数,其识别至少一个存储器刀片(105,106,107)。MAMM(110)生成(A030)对于所述至少一个存储器页的地址映射信息,其包含映射到所述至少一个存储器刀片(105,106,107)的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址。MAMM(110)在请求到所述至少一个存储器页的访问时提供(A040)地址映射信息中的至少一些以供使用。也公开了对应的计算机程序和用于其的载体。
Description
技术领域
本文的实施例涉及计算机***,诸如数据中心***。尤其,公开了用于管理存储器页的可用性的方法和存储器可用性管理模块。也公开了对应的计算机程序和用于其的载体。
背景技术
计算机***管理多个资源,诸如计算功率、网络访问和存储器存储。就多个资源从不因为一些其它原因(诸如功率失效、过载等等)而失效或变得不可访问的意义而言,多个资源当然不是无瑕疵的。因此,它已变得习惯于复制计算机***。
在已知的示例中,存在活跃地用于管理任务的第一计算机***。除此以外,第二计算机***准备接管任务的管理(当第一计算机***失效时)。以这种方式,使得任务的管理更可靠。根据该示例,第一计算机***的所有组件(诸如处理单元、存储器单元、网络接口等等)需要被复制。
不利地,整个计算机***都需要被复制,即使组件中的一些可比其它组件更易于失效。
与以上提及的计算机***显著不同的数据中心硬件体系正在崛起。这些数据中心体系(有时称作解聚的(disaggregated)硬件类型的体系)包含如Intel Rack Scale体系、HyperScale数据中心***或者相似的示例。通过将所解聚的硬件体系与光互连组合,缓解了电连接的传统距离和容量限制。这实现资源的更高效的池化,其被期望具有对利用率和能源消耗的正面影响。该种类的解聚的硬件***,因而通常包括计算资源的多个池、存储器资源的多个池等。这与常规计算机***形成对比,其中计算机***由计算机组成而建立,其中每个计算机是完全独立的工作实体,诸如个人计算机(PC)或者相似的。具体地,完全独立的工作实体包含母板、硬件驱动器、随机存取存储器、网络接口、一个或多个处理器以及相似的。
在具体的示例中,存储器页分配在所解聚的硬件***中的存储器的多个池中。一个问题可因而是如何以高效的方式管理所解聚的硬件***的存储器页的可用性。
发明内容
一个目标可因而是管理以上提及的种类的所解聚的硬件***的存储器页的可用性。
根据一方面,由方法实现目标,该方法由存储器可用性管理模块执行,其用于管理存储器页的可用性。存储器页包括在一组存储器刀片中,其中硬件***包括存储器刀片的组和一组计算池。存储器刀片的组和计算池的组彼此互连。计算池的组包括计算单元,其中至少一个操作***在硬件***上执行。存储器可用性管理模块独立于操作***。
存储器可用性管理模块接收涉及存储器页的至少一个存储器页到所述至少一个操作***的分配的消息。消息包括关于对于所述至少一个存储器页的可用性的指示。
此外,存储器可用性管理模块将关于可用性的指示转化成一组存储器刀片参数。存储器刀片参数的组识别存储器刀片的组的至少一个存储器刀片,其中所述至少一个存储器页分配到所述至少一个存储器刀片。
接下来,存储器可用性管理模块基于存储器刀片参数的组,生成对于所述至少一个存储器页的地址映射信息。地址映射信息包含映射到所述至少一个存储器刀片的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址。
当请求到所述至少一个存储器页的访问时,存储器可用性管理模块提供地址映射信息中的至少一些以供使用。地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。
根据另一方面,由配置成用于管理存储器页的可用性的存储器可用性管理模块实现目标。存储器页包括在一组存储器刀片中,其中硬件***包括存储器刀片的组和一组计算池。存储器刀片的组和计算池的组彼此互连。计算池的组包括计算单元,其中至少一个操作***在硬件***上执行。存储器可用性管理模块独立于操作***。
存储器可用性管理模块配置成用于接收涉及存储器页的至少一个存储器页到所述至少一个操作***的分配的消息。消息包括关于对于所述至少一个存储器页的可用性的指示。
此外,存储器可用性管理模块配置成用于将关于可用性的指示转化成一组存储器刀片参数。存储器刀片参数的组识别存储器刀片的组的至少一个存储器刀片,其中所述至少一个存储器页分配到所述至少一个存储器刀片。
此外,存储器可用性管理模块配置成用于基于存储器刀片参数的组,生成对于所述至少一个存储器页的地址映射信息。地址映射信息包含映射到所述至少一个存储器刀片的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址。
额外地,存储器可用性管理模块配置成用于:当请求到所述至少一个存储器页的访问时,提供地址映射信息以供使用。
根据进一步方面,由对应于以上方面的计算机程序和用于其的载体实现目标。
由于消息包括关于对于所述至少一个存储器页的可用性的指示,使存储器可用性管理模块知道关于对于所述至少一个存储器页的可用性的要求。为了应用关于可用性的指示,存储器可用性管理模块将指示转化成一组存储器刀片参数。存储器刀片参数的组通常可识别存储器刀片的组的子集。在一个示例中,虽然注意的是,将在下面详细的描述中给出进一步示例,指示可具有三个值,其可意味着所述至少一个存储器页的三个副本应分配在三个不同的存储器刀片中。在该示例中,存储器刀片参数的组的每个存储器刀片参数识别存储器刀片的组当中的相应存储器刀片。
接下来,存储器可用性管理模块基于存储器刀片参数的组生成地址映射信息,因为存储器可用性管理模块可知道分配到操作***的逻辑地址和存储器刀片的组的物理地址二者,其可由存储器可用性管理模块管理。用以上示例继续,地址映射信息可包含对于映射到三个物理地址的所述至少一个存储器页的逻辑地址,即一个物理地址从属于三个不同存储器刀片的相应存储器刀片。
随后,例如给存储器地址转化模块或处理存储器请求的任何其它模块提供地址映射信息中的至少一些。地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。存储器请求可涉及存储器页的分配。
一个优点是改进了关于时延和/或故障容忍的可靠性。
附图说明
将根据以下详细的描述和附图容易地理解本文公开的实施例的各种方面(包含具体的特征及其优点),其中:
图1是例示其中可实现本文的实施例的计算机***的示意概览,
图2是图示存储器可用性管理模块中的方法的实施例的流程图,
图3是图示本文的实施例的例示框图,以及
图4是图示存储器可用性管理模块的实施例的框图。
具体实施方式
通篇以下描述,相似参考数字已用于标记相似特征,诸如动作、步骤、模块、电路、部件、条目、元件、单元或相似的(当可适用时)。在图中,在某些实施例中出现的特征由虚线指示。
图1描绘例示计算机***100,其中可实现本文的实施例。计算机***100是硬件***,例如,如背景章节中公开的解聚的硬件***。
一般地,计算机***100依赖于硬件资源解聚的原理。硬件解聚的原理将CPU、存储器和网络资源考虑为个体和模块式的组件。资源经常组织在池中,即存在CPU单元的池、存储器单元的池和网络接口的池。当利用计算机***时,逻辑硬件机器可由一个或多个池内的单元/资源的子集组成。在一些示例中,设备管理模块(EMM)(未示出)可通过选择一个或多个池内的资源的子集来组装逻辑硬件机器。通篇本公开,可与术语“虚拟硬件机器”可互换地使用术语“逻辑硬件机器”。
在更多细节中,所解聚的硬件***100可包括连接布置101,其用于将一组计算池102、103、104与一组存储器刀片105、106、107互连。计算池也可称作计算刀片。连接布置101可由光纤实现。因而,提供了计算和存储器刀片102-107的组之间的快速互连。存储器刀片105、106、107的组的每个存储器刀片可包括在存储器刀片的架(rack)或者相似的之中。有时,使用术语“滑板(sled)”代替“刀片(blade)”。架指的是用于收纳计算和存储器刀片102-107的组中的一些或全部的橱(closet)、柜(cabinet)或者相似的。
此外,存储器刀片105、106、107的组可包括以下当中的一个或多个:
用于供计算池的组使用的一组主存储池,
用于供计算池的组使用的一组高速缓存存储器刀片,
一组存储池,以及相似的。
可以采用所谓的高速缓存存储器和/或随机存取存储器的形式实现主存储池的组。存储池可包含各种种类的硬盘驱动器(诸如固态驱动器、磁带)各种形状因子(英寸)的常规驱动器和接口,诸如小型计算机***接口(SCSI)、集成驱动器电子器件/AT附件(IDE/ATA)、串行ATA(SATA)等。
每个计算池包括一组计算单元141、142、143、144、145。可以采用一个或多个计算机架(未示出)的组装或一个或多个滑板、刀片的形式实现计算池102、103、104的组。计算单元141、142、143、144、145的组可包括CPU、图形处理单元(GPU)、硬件实现的计算功能等。至少一些计算池102、103、104可缺少至少一个高速缓存级别,其在常规计算机***中通常是共置的,即与CPU一起放置在印刷电路板(PCB)上。在所涉及的文献中,高速缓存级别通常已知为L1、L2或L3高速缓存。在一些示例中尽管例如由于时延需要,每个计算池可包含任何数量的高速缓存级别,其可以或可以不由如以上提及的存储器刀片105、106、107的组中包括的一个或多个另外级别的高速缓存存储器备份。在另外示例中,一些计算池102、103、104可包括第一级别的主存储池以及第二级别的主存储池可包括在存储器刀片的组中,其中第一级别的主池的时延通常少于第二级别的主池的时延。因而,以层次的方式,横跨计算和存储器刀片之上,组织用于所解聚的硬件***的主存储(作为整体)。一般地,所解聚的硬件***可包括计算池和存储器刀片,其中存储器刀片包括至少一些主存储器(例如第二级别的主存储池),其由计算池的组所使用。
每个存储器刀片包括一组存储器单元131、132、133、134、135。可以采用一个或多个计算机架的组装(与用于计算池的以上提及的架比较而相同、不同或部分相同的(一个或多个)架)或一个或多个滑板、刀片的形式实现存储器刀片105、106、107的组。每个存储器刀片可优选地缺少任何实质处理能力。这样的实质处理能力或计算资源因而由计算池102、103、104的组的部件提供。
在更多细节中,可在存储器板上布置存储器单元,作为存储器刀片的示例,以及在计算板上布置计算单元140,作为计算池和/或计算刀片的示例。存储器板与计算刀片不同。这可意味着存储器刀片是与另外的PCB(在其处可挂接计算单元)分离的印刷电路板(PCB)。
存储器板和计算板连接到连接布置101以互连存储器刀片105、106、107的组与计算池102、103、104的组。存储器刀片105、106、107的组在第一多个柜中是可挂接的,诸如可安装的(尽管仍然连接到连接布置)。计算池102、103、104的组在第二多个柜中是可挂接的,其中第一和第二多个柜中的一些、全部与彼此不同,或者没有与彼此不同。这意味着在一个例示实现中,提供有至少一个存储器柜(包括存储器刀片)和至少一个计算柜(包括计算池)。在另一实现中,可存在一个或多个柜,其中所述一个或多个柜中的至少一些包括存储器刀片和计算池二者,和/或其中所述一个或多个柜中的至少一些包括存储器刀片或计算池。
在软件侧(SW),如与以上描述的硬件(HW)侧形成对照,可在相应的逻辑硬件机器上执行一个或多个操作***120、121、122。这意味着计算机***100托管一个或多个操作***120、121、122。此处应说的是,HW和SW之间的界定经常是稍微含糊的,因为各种编程语言将模块的实现使能为硬件和软件,还有能够将现场可编程门阵列(FPGA)看作半-SW和半-HW组件。如以上指示的,相应的逻辑硬件机器可包括计算池的选择性组和存储器刀片的选择性组。当由计算机***100执行时,操作***120、121、122可称作虚拟主机、实例(instance)或相似的。每个操作***120、121、122可按它的次序管理软件应用、虚拟机器、数据库、软件库或者相似的中的一个或多个实例。因此,如本文使用的,术语“实例”可指的是虚拟主机、操作***、软件应用、虚拟机器、数据库、软件库或者相似的实例。
如本文使用的,术语“虚拟地址”具有它常规的含义,即软件应用被分配到逻辑地址并且使用逻辑地址。操作***120、121、122中的每个管理虚拟地址到逻辑地址的映射。作为示例讨论操作***120、121、122中的仅一个,这意味着操作***在所解聚的硬件***处组装的逻辑硬件机器上执行。因而,可在由操作***管理的逻辑地址空间内指示逻辑地址。在该上下文中,可注意的是,操作***可以是常规操作***,其因而不知道由所解聚的硬件***使其可用的逻辑地址空间。因此,从操作***的角度,逻辑地址将被视为如同它是物理地址。
此外,可在硬件***100的物理地址空间内指示术语“逻辑地址”。这可意味着硬件***100或者准确地说,其功能模块将一组逻辑地址指派成要由某操作***使用。逻辑地址的组然后映射到硬件***100的物理地址,如由硬件***100(诸如EMM、存储器地址转化模块(MATM)(未示出)或者相似的)来管理。
现在,为了改进对于计算机***100中的存储器页的可靠性,提供了存储器可用性管理模块(MAMM)110。可在SW、HW或部分HW和部分SW中实现MAMM 110。此外,MAMM 110可与存储器刀片105、106、107中的一个或多个和/或连接布置101共置。MAMM 110也可以是分离的,例如位于与连接布置101和/或所述一个或多个存储器刀片105、106、107分离的PCB上。
图2图示根据本文实施例的例示方法(当在图1的计算机***100中实现时)。因此,MAMM 110执行用于管理存储器页130的可用性的方法。
如以上提及的,存储器页130包括在存储器刀片105、106、107的组中,其中硬件***100包括存储器刀片105、106、107的组和计算池102、103、104的组。存储器刀片105、106、107的组和计算池102、103、104的组彼此互连。计算池102、103、104的组包括计算单元140,其中至少一个操作***120、121、122在硬件***100上执行。MAMM 110独立于操作***120。
由于MAMM 110独立于操作***120,MAMM 110可针对由硬件***100托管的任何操作***120提供改进的可靠性。那就是说,操作***120可按照现成的而作为商业产品提供。
可按任何适合的顺序执行以下动作中的一个或多个。
初始地,可将要在计算机***100上初始化操作***120,即一组硬件资源将要被组装用于供操作***120使用。备选地,将要执行由操作***120使用的存储器的至少部分的可用性的改变。
动作A1010
MAMM 110接收涉及存储器页130的至少一个存储器页到所述至少一个操作***120的分配的消息。消息包括关于对于所述至少一个存储器页的可用性的指示。
在一些示例中,可从MATM中接收消息。在这些示例中,消息包括关于对于所述至少一个存储器页的分配的请求的信息,或者更通常地,消息包括对于所述至少一个存储器页的分配的请求。这将参考下面的图3以更多细节解释。
与直接以上前述的示例形成对比,可从EMM中接收消息。消息因而可包括对于所述至少一个存储器页的分配的请求,其通常发生在EMM初始化MAMM时,如将参考下面的图3以更多细节解释。
关于可用性的指示可包括对于所述至少一个存储器页中的每一个的可用性的级别。
可存在对于所述至少一个存储器页的每个存储器页的可用性的相应级别。这意味着对于一个请求,可请求针对所述至少一个存储器页的每个存储器页的可用性的各种级别。
可用性的级别可以是二进制的,其意味着仅存在两个级别,例如高或低可用性、零和一表示两个不同级别的可用性等等
可用性的级别通常表示多个存储器刀片,对其应拷贝所述至少一个存储器页的复制。
在进一步示例中,可用性的级别可表示以下当中的一项或多项:
所述至少一个存储器页的多个副本;
用于存储所述至少一个存储器页的多个存储器池;
用于存储所述至少一个存储器页的多个存储器槽;
所述至少一个存储器页和计算单元140的子集之间的最大时延,其中操作***120在计算单元140的子集上是可执行的;以及相似的。
所述至少一个存储器页的副本的数量可指的是,当例如指示具有四个值时,MAMM110将使用四个不同的物理地址,在其处将维持(例如存储)所述至少一个存储器页的四个副本。
用于存储所述至少一个存储器页的存储器池的数量可指的是,用直接以上的示例继续,当指示包括等于二的存储器池的数量的值时,则所述四个副本将分配在两个不同的存储器池中。
用于存储所述至少一个存储器页的存储器槽的数量可指的是,再次用以上的示例继续,当指示包括等于二的存储器槽的数量的值时,则所述四个副本将分配在两个不同的存储器槽中。
直接以上的两个示例之间的差别可以是:可在每存储器池基础上提供功率供给。这意味着,假如功率供给失效,当存储器池的数量等于二(如与当存储器槽的数量等于二对照),所述至少一个存储器页的可用性将更高。在该情形中,所设想的是存储器槽可共享共用功率供给,而保障的是两个存储器池(如在这两个示例的第一示例中)具有分离的功率供给。
前述的两个示例之间的另一差别可涉及时延。在更多细节中,所述至少一个存储器页的两个副本之间的时延中的差别被期望的是:对于分配到一个存储器池和/或一个存储器滑板的两个副本要少于对于分配到不同的存储器池和/或不同的存储器滑板的两个副本。
因此,在一些实施例中,所述至少一个存储器刀片105、106、107可包括至少两个存储器刀片105、106、107以便使复制所述至少一个存储器页的副本取决于所述至少两个存储器刀片中的相应一个的可靠性,而不是仅一个存储器刀片的可靠性。
最大时延指的是指示可指示对于涉及所述至少一个存储器页的物理地址的最大可允许的时延。作为示例,时延指的是从请求所述至少一个存储器页到该所述至少一个存储器页可用的时间。
值得提及的是,在一些示例中,指示可直接由以下当中的一项或多项直接表示:
所述至少一个存储器页的多个副本;
用于存储所述至少一个存储器页的多个存储器池;
用于存储所述至少一个存储器页的多个存储器槽;
所述至少一个存储器页和计算单元140的子集之间的最大时延,其中操作***120在计算单元140的子集上是可执行的;以及相似的。
这意味着指示可以是一组数字,其包含以上提及的示例中的一个或多个。作为示例,可给出指示作为(2,3),其可意味着所述至少一个存储器页应在2个不同的存储器刀片上存储为3个副本。
动作A020
在动作A010之后,MAMM 110将关于可用性的指示转化成一组存储器刀片参数。存储器刀片参数的组识别存储器刀片105、106、107的组的至少一个存储器刀片105、106、107,其中所述至少一个存储器页分配到所述至少一个存储器刀片105、106、107。
基于存储器刀片的组的可靠性和/或可用性测量,可已从存储器刀片的组中选择由存储器刀片参数的组识别的所述至少一个存储器刀片105、106、107。可靠性和/或可用性测量对MAMM 110是已知的。可例如采用关于可靠性和/或可用性测量的信息,例如通过用户安装/挂接具体的存储器刀片来配置MAMM 110。可靠性和/或可用性测量可例如在于,具体的存储器刀片具有某质量、具有可靠性和/或可用性测量所取决于的其它性质或多个功率供给。它可例如在于,MAMM 110选择所述至少一个存储器刀片,对于其,存储器刀片的一些质量测量高于门限值。这意味着MAMM 110可基于存储器刀片的组的可靠性和/或可用性测量,将指示转化成存储器刀片参数的组。因此,在一些示例中,指示的转化相当于MAMM 110基于指示和可靠性和/或可用性测量,选择所述至少一个存储器页将分配到其的所述至少一个存储器刀片。
如以上提及的,指示可指的是表示存储器池、存储器槽、所述至少一个存储器页的复制或副本等的各种数量。在一些示例中,可由一组预定义的值(例如1、2和3)表示指示。以该方式,将足够简单地选择要包含在以上消息中的指示的值(如与当可由以上提及的数量的组表示指示时作比较)。
当在下面的动作A030中生成地址映射信息时,则解译所预定义的值以确定要使用的存储器刀片参数的组将是MAMM 110的责任。例如当所预定义的值是如以上的1、2和3,并且存储器刀片的组包含100个存储器刀片时,则1的值可意味着应使用多达3个不同的存储器刀片,2的值可意味着应使用多达6个不同的存储器刀片,以及3的值可意味着应使用多达9个不同的存储器刀片。应使用的不同的存储器刀片的数量可作为所解聚的硬件***的存储器刀片的总数的百分比而给出。
动作A030
MAMM 110基于存储器刀片参数的组生成对于所述至少一个存储器页的地址映射信息。地址映射信息包含映射到所述至少一个存储器刀片105、106、107的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址。
所生成的地址映射信息可包括仅一个存储器刀片105、106、107的至少两个物理地址。以这种方式,所生成的地址映射信息可缓解涉及时延和/或拥塞的问题,而设想的是用于所述至少两个存储器页的分配的物理存储器的特性主要贡献于时延和/或拥塞,而不是连接布置101。
存储器刀片参数的组可识别存储器刀片105、106、107的组的至少两个存储器刀片105、106、107,其中所生成的地址映射信息可包括涉及所述至少两个存储器刀片105、106、107中的相应一个的至少两个物理地址。以这种方式,所述至少两个存储器刀片中的一个中的故障不包括所述至少一个存储器页的可用性,因为例如如果存在所述至少存储器页的两个副本,则这些副本将分配到不同的存储器刀片。因此,要确保的是在仅一个存储器刀片中的失效或故障将不引起所述至少一个存储器页不可访问。
存储器刀片的故障或失效可涉及由存储器刀片中使用的存储器瑕疵、功率损失、磁错误、焊接错误等引起的读取和/或写入错误。初始提及的术语“故障容忍”涉及这些种类的错误或者相似的。
此处应提出的是,在一些示例中,动作A030和A040可看作一个动作,其中MAMM 110基于指示创造地址映射信息而同时将关于存储器刀片的组的知识考虑在内。
动作A040
既然生成了地址映射信息,当请求到所述至少一个存储器页的访问时,MAMM 110提供地址映射信息中的至少一些以供使用。地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。通常地,地址映射信息中的所述至少一些被提供(例如发送)给MATM(如下面的图3中所示出)。在一些示例中,MAMM 110将地址映射信息中的一些提供给EMM,其可将地址映射信息中的所述一些转发到MATM。
因此,通过首先例如给MATM提供逻辑地址到所述至少两个物理地址中的一个的映射,可提供地址映射信息。之后,例如在所述至少两个物理地址中的所述一个处的失效的访问尝试是,通过提供逻辑地址到所述至少两个物理地址中的另一个的映射,MAMM 110可提供地址映射信息。MAMM 110可以采用这种方式继续进行直到没有另外物理地址(尚未失效的)针对逻辑地址而存在。在一些示例中,另外的物理地址将映射到针对每个失效的物理地址的逻辑地址。因而,显著地降低了对于发生没有另外物理地址(尚未失效的)存在的可能性。
在进一步示例中,提供了地址映射信息(即作为其整体),例如MATM和/或EMM。
图3图示例示解聚的硬件***300,其与图1的计算机***100相似,尽管此处提供了额外的细节。
所解聚的硬件***300包括一个或多个物理存储器滑板301(在图中仅示出一个)。通常可由一个物理存储器滑板301表示存储器刀片。物理存储器滑板301包括从0到N变动的物理地址。
此外,示出了存储器地址转化模块(MATM)302。MATM 302处理从逻辑地址(对实例1已知)到物理地址(已知MATM 302和MAMM 110)的转化。实例1可以是操作***、应用或者相似的。实例1处理从0到Y_1变动的逻辑地址。
此外,图3中图示设备管理模块(EMM)303。作为示例,EMM 303可已经提供实例,其具有在逻辑地址0到X_1处的高可用性存储器和在逻辑地址X_1到Y_1处的非高可用性存储器,但是实例对此不知道。如图中图示的,物理存储器地址的不同部分映射到实例1的逻辑存储器地址。值得注意地,逻辑地址0到X_1映射到物理地址的三个不同区间,即A到A+X_1、B到B+X_1以及C到C+X_1。
MAMM 110可包括在EMM 303或MATM 302中,或者MAMM 110可与EMM 303和/或MATM302分离。因此,在一些示例中,消息的发送以及相似的可以是具体模块内的内部通信。
取决于实现,在以下中描述了用于处理以上的动作A010的消息的各种备选。
在第一示例中,可执行以下动作。
动作310
MATM 302从实例1中接收对于所述至少一个存储器页的分配的请求。这意味着图2的动作A010中提及的消息包括请求。
动作311
在接收到请求时,MATM 302将请求或至少关于请求的信息转发到MAMM 110,以便允许MAMM 110将指示转化成一组存储器刀片参数。
动作312
响应于动作311,MAMM 110将要由MATM 302使用的地址映射信息发送到MATM 302。该动作类似于图2的动作A040。对于如何由MAMM 110生成地址映射信息,参见动作A030。正常地,每次仅使用地址映射信息的物理地址中的一个,但是如以上简要提及的,每次可使用所述至少两个物理地址的两个或多个,以便降低时延。
动作312、313、314
现在使MATM 302知道地址映射信息,MATM 302可访问和/或分配在(如以上提及的)所述至少两个物理地址中的至少一个处的所述至少一个存储器页。假如访问和/或分配两个物理地址中的一个失效313,则将尝试访问和/或分配而同时使用所述至少两个物理地址314、315中的其它。以这种方式,实现了所述至少一个存储器页的提高的可用性。因此,也提高了实例1的可用性。
在第二示例中,可执行以下动作。
动作316
EMM 303接收对于所述至少一个存储器页的分配的请求。这意味着图2的动作A010中提及的消息包括请求。对于到所述至少一个存储器页的访问的任何随后的请求可直接指向MATM 302,例如在不通过EMM 303的情况下。
动作317
MAMM 110从EMM 303中接收请求或至少关于请求的信息。MAMM 110然后将执行动作A020和A030以便能够提供地址映射信息。
动作312
在该示例中,动作312允许MAMM 110直接将地址映射信息提供给MATM 302。
动作318
在一些示例中,MAMM 110将地址映射信息发送到EMM 303,其转发地址映射信息到MATM 302。因而,MATM 302配置有地址映射信息。
参考图4,示出了图1的MAMM 110的实施例的示意框图。
MAMM 110可包括处理模块401,诸如用于执行本文描述的方法的部件。可以采用一个或多个硬件模块和/或一个或多个软件模块的形式来实施部件。
MAMM 110可进一步包括存储器402。存储器可包括(诸如含有或存储)计算机程序403。
根据本文的一些实施例,处理模块401包括(例如“采用……的形式实施”或“由……实现”)处理电路404作为例示硬件模块。在这些实施例中,存储器402可包括计算机程序403,其包括由处理电路404可执行的计算机可读代码单元,由此MAMM 110可操作于执行图2的方法。
在一些其它实施例中,当计算机可读代码单元由MAMM 110执行时,计算机可读代码单元可促使MAMM 110执行根据图2的方法。
图4进一步图示载体405或者程序载体,其包括如以上直接描述的计算机程序403。
在一些实施例中,处理模块401包括输入/输出模块406,其可由如下面描述(在可应用时)的接收模块和/或发送模块例示。
在进一步实施例中,处理模块401可包括接收模块410、转化模块420、生成模块430和提供模块440中的一个或多个作为例示硬件模块。在其它示例中,前面提及的例示硬件模块中的一个或多个可实现为一个或多个软件模块。
因此, MAMM 110配置成用于管理存储器页130的可用性。
如提及的,存储器页130包括在一组存储器刀片105、106、107中,其中硬件***100包括存储器刀片105、106、107的组和一组计算池102、103、104。存储器刀片105、106、107的组和计算池102、103、104的组彼此互连。计算池102、103、104的组包括计算单元140,其中至少一个操作***120在硬件***100上执行。MAMM 110独立于操作***120。
因此,根据以上描述的各种实施例,MAMM 110和/或处理模块401和/或接收模块410配置成用于接收涉及存储器页130的至少一个存储器页到所述至少一个操作***120的分配的消息。消息包括关于对于所述至少一个存储器页的可用性的指示。
此外,MAMM 110和/或处理模块401和/或转化模块420配置成用于将关于可用性的指示转化成一组存储器刀片参数。存储器刀片参数的组识别存储器刀片105、106、107的组的至少一个存储器刀片105、106、107,其中所述至少一个存储器页分配到所述至少一个存储器刀片105、106、107。
此外,MAMM 110和/或处理模块401和/或生成模块430配置成用于基于存储器刀片参数的组生成对于所述至少一个存储器页的地址映射信息。地址映射信息包含映射到所述至少一个存储器刀片105、106、107的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址。
额外地,MAMM 110和/或处理模块401和/或提供模块440配置成用于当请求到所述至少一个存储器页的访问时,提供地址映射信息中的至少一些以供使用。地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。
MAMM 110和/或处理模块401和/或接收模块410可配置成用于从存储器地址转化模块302中接收消息。
MAMM 110和/或处理模块401和/或接收模块410可配置成用于从设备管理模块303中接收消息。
MAMM 110和/或处理模块401和/或提供模块440可配置成用于给存储器地址转化模块302提供地址映射信息。
如以上提及的,所述至少一个存储器刀片105、106、107可包括至少两个存储器刀片105、106、107。
消息可包括对于所述至少一个存储器页的分配的请求。
消息可包括关于对于所述至少一个存储器页的分配的请求的信息。
关于可用性的指示可包括对于所述至少一个存储器页的每一个的可用性的级别。
可用性的级别可表示以下当中的一项或多项:
所述至少一个存储器页的多个副本;
用于存储所述至少一个存储器页的多个存储器池;
用于存储所述至少一个存储器页的多个存储器槽;
所述至少一个存储器页和计算单元140的子集之间的最大时延。操作***120在计算单元140的子集上是可执行的,或者相似的。
存储器刀片参数的组可识别存储器刀片105、106、107的组的至少两个存储器刀片105、106、107。所生成的地址映射信息包括涉及所述至少两个存储器刀片105、106、107中的相应一个的至少两个物理地址。
在由操作***120管理的逻辑地址空间内指示逻辑地址。
在硬件***100的物理地址空间内指示物理地址。
如本文使用的,术语“模块”可指的是一个或多个功能模块,其中每个可实现为一个或多个物理实体中的一个或多个硬件模块和/或一个或多个软件模块和/或组合的软件/硬件模块。在一些示例中,模块可表示实现为所述一个或多个物理实体的软件和/或硬件的功能单元。
如本文使用的,术语“程序载体”,或“载体”可指的是电子信号、光信号、无线电信号和计算机可读介质中的一个。在一些示例中,程序载体可排除暂时性的、传播的信号诸如电子、光和/或无线电信号。因而,在这些示例中,载体可以是非暂时性的载体诸如非暂时性计算机可读介质。
如本文使用的,术语“处理模块”可包含一个或多个硬件模块、一个或多个软件模块或其组合。任何这样的模块,无论它作为硬件、软件或组合的硬件-软件模块,可以是确定部件、估计部件、捕获部件、关联部件、比较部件、识别部件、选择部件、接收部件、发送部件或者相似的(如本文公开的)。作为示例,表述“部件”可以是对应于以上结合图列出的模块。
如本文使用的,术语“软件模块”可指的是软件应用、动态链接库(DLL)、软件组件、软件对象、根据组件对象模型(COM)的对象、软件组件、软件功能、软件引擎、可执行的二进制软件文件或者相似的。
如本文使用的,术语“处理电路”可指的是处理单元、处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者相似的。处理电路或相似的可包括一个或多个处理器内核。
如本文使用的,表述“配置成/用于”可意味着借助软件配置和/或硬件配置,处理电路配置成(诸如适配于或可操作于)执行本文描述的动作中的一个或多个。
如本文使用的,术语“动作”可指的是动作、步骤、操作、响应、反应、活动或者相似的。应注意的是,本文的动作可划分为如可应用的两个或多个子动作。此外,也如可应用的,应注意的是本文描述的动作中的两个或多个可融合为单一动作。
如本文使用的,术语“存储器”可指的是硬盘、磁存储介质、便携式计算机磁带盒或碟、闪速存储器、随机存取存储器(RAM)或者相似的。此外,术语“存储器”可指的是处理器的内部寄存器存储器或者相似的。
如本文使用的,术语“计算机可读介质”可以是通用串行总线(USB)存储器、DVD-碟、蓝光-碟、作为数据的流接收的软件模块、闪速存储器、硬件驱动器、存储器卡(诸如存储器条、多媒体卡(MMC)、安全数字(SD)卡等)。计算机可读介质的以上提及的示例中的一个或多个可提供为一个或多个计算机程序产品。
如本文使用的,术语“计算机可读代码单元”可以是计算机程序的文本、以编译的格式表示计算机程序的部分或整个二进制文件或其之间的任何事物。
如本文使用的,术语“无线电资源”可指的是在其中传输信号的频率区间和/或时间帧和/或信号的某编码。在一些示例中,资源可指的是当传输信号时使用的一个或多个物理资源块(PRB)。在更多细节中,PRB可以采用正交频分复用(OFDM)PHY资源块(PRB)的形式。从涉及例如长期演进***的3GPP专有名词中已知术语“物理资源块”。
如本文使用的,表述“传输”和“发送”被考虑成是可互换的。这些表述包含通过广播、单播、群播以及相似的传输。在该上下文中,可由区间内的任何授权的装置接收和解码通过广播的传输。在单播的情况中,一个特定寻址的装置可接收和解码传输。在群播的情况中,一群特定寻址的装置可接收和解码传输。
如本文使用的,术语“数”和/或“值”可以是任何种类的数字,诸如二进制、实、虚或有理数或者相似的。此外,“数”和/或“值”可以是一个或多个字符,诸如字母或字母串。也可由比特串(即零和/或一)表示“数”和/或“值”。
如本文使用的,术语“……的组”可指的是某事物中的一个或多个。根据本文的实施例,例如一组装置可指的是一个或多个装置、一组参数可指的是一个或多个参数或者相似的。
如本文使用的,表述“在一些实施例中”已用于指示描述的实施例的特征可与本文公开的任何其它实施例组合。
进一步地,如本文使用的,通用缩略语“e.g.”(其从拉丁语“exempli gratia”得出)可用于引入或指定以前提及的条目的一般的(一个或多个)示例,以及不旨在对这样的条目进行限制。如本文使用的,通用缩略语“i.e.”(其从拉丁语“id est”中得出)可用于根据更一般的叙述中指定具体的条目。通用缩略语“etc”(其从拉丁语“et cetera”中得出,意味着“以及其它事物”或“以及等等”)可已在本文中用于指示与刚已枚举的那些特征相似的另外特征存在。
尽管已描述了各种方面的实施例,很多不同的替换、修改以及其中相似的,对于本领域技术人员将变得明显。所描述的实施例因此不旨在限制本公开的范围。
Claims (26)
1.一种由存储器可用性管理模块(110)执行的方法,用于管理存储器页(130)的可用性,其中所述存储器页(130)被包括在一组存储器刀片(105,106,107)中,其中硬件***(100)包括所述一组存储器刀片(105,106,107)和一组计算池(102,103,104),其中所述一组存储器刀片(105,106,107)和所述一组计算池(102,103,104)彼此互连,其中所述一组计算池(102,103,104)包括计算单元(140),其中至少一个操作***(120)在所述硬件***(100)上执行,其中所述存储器可用性管理模块(110)独立于所述操作***(120),其中所述方法包括:
接收(A010)涉及所述存储器页(130)的至少一个存储器页到所述至少一个操作***(120)的分配的消息,其中所述消息包括关于对于所述至少一个存储器页的可用性的指示;
将关于可用性的所述指示转化(A020)成一组存储器刀片参数,其中所述一组存储器刀片参数识别所述一组存储器刀片(105,106,107)的至少一个存储器刀片(105,106,107),其中所述至少一个存储器页被分配到所述至少一个存储器刀片(105,106,107);
基于所述一组存储器刀片参数,生成(A030)对于所述至少一个存储器页的地址映射信息,其中所述地址映射信息包含映射到所述至少一个存储器刀片(105,106,107)的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址;以及
当请求到所述至少一个存储器页的访问时,提供(A040)所述地址映射信息中的至少一些以供使用,其中所述地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。
2.如权利要求1所述的方法,其中所述至少一个存储器刀片(105,106,107)包括至少两个存储器刀片(105,106,107)。
3.如权利要求1或2所述的方法,其中从存储器地址转化模块(302)中接收所述消息。
4.如权利要求1或2所述的方法,其中从设备管理模块(303)中接收所述消息。
5.如权利要求3所述的方法,其中所述消息包括对于所述至少一个存储器页的分配的请求。
6.如权利要求3所述的方法,其中所述消息包括关于对于所述至少一个存储器页的分配的请求的信息。
7.如权利要求1或2所述的方法,其中将所述地址映射信息提供给存储器地址转化模块(302)。
8.如权利要求1或2所述的方法,其中关于可用性的所述指示包括对于所述至少一个存储器页中的每一个的可用性的级别。
9.如权利要求8所述的方法,其中可用性的所述级别表示以下当中的一项或多项:
所述至少一个存储器页的多个副本;
用于存储所述至少一个存储器页的多个存储器池;
用于存储所述至少一个存储器页的多个存储器槽;
所述至少一个存储器页和所述计算单元(140)的子集之间的最大时延,其中所述操作***(120)在所述计算单元(140)的所述子集上是可执行的。
10.如权利要求1或2所述的方法,其中所述一组存储器刀片参数识别所述一组存储器刀片(105,106,107)的至少两个存储器刀片(105,106,107),其中所生成的地址映射信息包括涉及所述至少两个存储器刀片(105,106,107)中的相应一个的至少两个物理地址。
11.如权利要求1或2所述的方法,其中在由所述操作***(120)管理的逻辑地址空间内指示所述逻辑地址。
12.如权利要求1或2所述的方法,其中在所述硬件***(100)的物理地址空间内指示所述物理地址。
13.一种硬件***,所述硬件***包括存储器可用性管理模块(110),所述存储器可用性管理模块被配置成用于管理存储器页(130)的可用性,其中所述存储器页(130)被包括在一组存储器刀片(105,106,107)中,其中所述硬件***(100)还包括所述一组存储器刀片(105,106,107)和一组计算池(102,103,104),其中所述一组存储器刀片(105,106,107)和所述一组计算池(102,103,104)彼此互连,其中所述一组计算池(102,103,104)包括计算单元(140),其中至少一个操作***(120)在所述硬件***(100)上执行,其中所述存储器可用性管理模块(110)独立于所述操作***(120),其中所述存储器可用性管理模块(110)包括:
接收模块;
转化模块;
生成模块;以及
提供模块;
其中所述接收模块被配置成用于接收(A010)涉及所述存储器页(130)的至少一个存储器页到所述至少一个操作***(120)的分配的消息,其中所述消息包括关于对于所述至少一个存储器页的可用性的指示;
其中所述转化模块被配置成用于将关于可用性的所述指示转化(A020)成一组存储器刀片参数,其中所述一组存储器刀片参数识别所述一组存储器刀片(105,106,107)的至少一个存储器刀片(105,106,107),其中所述至少一个存储器页被分配到所述至少一个存储器刀片(105,106,107);
其中所述生成模块被配置成用于基于所述一组存储器刀片参数而生成(A030)对于所述至少一个存储器页的地址映射信息,其中所述地址映射信息包含映射到所述至少一个存储器刀片(105,106,107)的至少两个物理存储器地址的所述至少一个存储器页的逻辑地址;以及
其中所述提供模块被配置成用于当请求到所述至少一个存储器页的访问时提供(A040)所述地址映射信息中的至少一些以供使用,其中所述地址映射信息中的所述至少一些包括所述至少两个物理存储器地址中的一个。
14.如权利要求13所述的硬件***,其中所述至少一个存储器刀片(105,106,107)包括至少两个存储器刀片(105,106,107)。
15.如权利要求13或14所述的硬件***,其中所述接收模块被配置成用于从存储器地址转化模块(302)中接收所述消息。
16.如权利要求13或14所述的硬件***,其中所述接收模块被配置成用于从设备管理模块(303)中接收所述消息。
17.如权利要求15所述的硬件***,其中所述消息包括对于所述至少一个存储器页的分配的请求。
18.如权利要求15所述的硬件***,其中所述消息包括关于对于所述至少一个存储器页的分配的请求的信息。
19.如权利要求13-14中的任一项所述的硬件***,其中所述提供模块被配置成用于给存储器地址转化模块(302)提供所述地址映射信息。
20.如权利要求13-14中的任一项所述的硬件***,其中关于可用性的所述指示包括对于所述至少一个存储器页中的每一个的可用性的级别。
21.如权利要求20所述的硬件***,其中可用性的所述级别表示以下当中的一项或多项:
所述至少一个存储器页的多个副本;
用于存储所述至少一个存储器页的多个存储器池;
用于存储所述至少一个存储器页的多个存储器槽;
所述至少一个存储器页和所述计算单元(140)的子集之间的最大时延,其中所述操作***(120)在所述计算单元(140)的所述子集上是可执行的。
22.如权利要求13-14中的任一项所述的硬件***,其中所述一组存储器刀片参数识别所述一组存储器刀片(105,106,107)的至少两个存储器刀片(105,106,107),其中所生成的地址映射信息包括涉及所述至少两个存储器刀片(105,106,107)中的相应一个的至少两个物理地址。
23.如权利要求13-14中的任一项所述的硬件***,其中在由所述操作***(120)管理的逻辑地址空间内指示所述逻辑地址。
24.如权利要求13-14中的任一项所述的硬件***,其中在所述硬件***(100)的物理地址空间内指示所述物理地址。
25.一种用于管理存储器页的可用性的装置,包括用于执行根据权利要求1-12中的任一项所述的方法的部件。
26.一种计算机可读介质,其上存储有计算机程序,所述计算机程序当在存储器可用性管理模块(110)上被执行时促使所述存储器可用性管理模块(110)执行根据权利要求1-12中的任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/SE2015/051297 WO2017095281A1 (en) | 2015-12-02 | 2015-12-02 | Method and memory availability managing module for managing availability of memory pages |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108292264A CN108292264A (zh) | 2018-07-17 |
CN108292264B true CN108292264B (zh) | 2023-01-03 |
Family
ID=54937355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580085034.8A Active CN108292264B (zh) | 2015-12-02 | 2015-12-02 | 用于管理存储器页的可用性的方法和存储器可用性管理模块 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10713175B2 (zh) |
EP (1) | EP3384393B1 (zh) |
CN (1) | CN108292264B (zh) |
WO (1) | WO2017095281A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190044809A1 (en) * | 2017-08-30 | 2019-02-07 | Intel Corporation | Technologies for managing a flexible host interface of a network interface controller |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102460393A (zh) * | 2009-05-01 | 2012-05-16 | 思杰***有限公司 | 用于在虚拟存储资源之间建立云桥的***和方法 |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的***、方法和接口 |
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6865157B1 (en) | 2000-05-26 | 2005-03-08 | Emc Corporation | Fault tolerant shared system resource with communications passthrough providing high availability communications |
US6742097B2 (en) * | 2001-07-30 | 2004-05-25 | Rambus Inc. | Consolidation of allocated memory to reduce power consumption |
US8151060B2 (en) * | 2006-11-28 | 2012-04-03 | Hitachi, Ltd. | Semiconductor memory system having a snapshot function |
EP2096546B1 (en) * | 2006-12-15 | 2018-08-08 | Panasonic Corporation | Write once recording device |
US20080229049A1 (en) | 2007-03-16 | 2008-09-18 | Ashwini Kumar Nanda | Processor card for blade server and process. |
JP5272265B2 (ja) * | 2008-09-29 | 2013-08-28 | 株式会社日立製作所 | Pciデバイス共有方法 |
WO2011002438A1 (en) * | 2009-06-29 | 2011-01-06 | Hewlett-Packard Development Company, L.P. | Organizing and managing a memory blade with super pages and buffers |
EP2449469B1 (en) * | 2009-06-29 | 2019-04-03 | Hewlett-Packard Enterprise Development LP | Hypervisor-based management of local and remote virtual memory pages |
EP2609511B1 (en) * | 2010-08-26 | 2016-10-19 | Freescale Semiconductor, Inc. | Memory management unit for a microprocessor system, microprocessor system and method for managing memory |
CN102339302A (zh) * | 2011-07-07 | 2012-02-01 | 曙光信息产业股份有限公司 | 一种基于hugetlbfs技术的龙芯刀片文件***的实现方法 |
US9164904B2 (en) * | 2012-08-28 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Accessing remote memory on a memory blade |
-
2015
- 2015-12-02 WO PCT/SE2015/051297 patent/WO2017095281A1/en active Application Filing
- 2015-12-02 US US15/772,898 patent/US10713175B2/en active Active
- 2015-12-02 EP EP15813623.4A patent/EP3384393B1/en active Active
- 2015-12-02 CN CN201580085034.8A patent/CN108292264B/zh active Active
-
2020
- 2020-05-26 US US16/883,561 patent/US11194731B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9165003B1 (en) * | 2004-11-29 | 2015-10-20 | Netapp, Inc. | Technique for permitting multiple virtual file systems having the same identifier to be served by a single storage system |
CN102460393A (zh) * | 2009-05-01 | 2012-05-16 | 思杰***有限公司 | 用于在虚拟存储资源之间建立云桥的***和方法 |
CN104903872A (zh) * | 2012-08-31 | 2015-09-09 | 才智知识产权控股公司(2) | 用于自适应持久化的***、方法和接口 |
Also Published As
Publication number | Publication date |
---|---|
WO2017095281A1 (en) | 2017-06-08 |
US11194731B2 (en) | 2021-12-07 |
US20180314641A1 (en) | 2018-11-01 |
US10713175B2 (en) | 2020-07-14 |
CN108292264A (zh) | 2018-07-17 |
EP3384393B1 (en) | 2020-03-11 |
EP3384393A1 (en) | 2018-10-10 |
US20200285587A1 (en) | 2020-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10146651B2 (en) | Member replacement in an array of information storage devices | |
US9990319B2 (en) | Placement of input / output adapter cards in a server | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US20190294476A1 (en) | Methods and modules relating to allocation of host machines | |
US20210357258A1 (en) | Method, device and medium for allocating resource based on type of pci device | |
US11093419B2 (en) | System and method for cost and power optimized heterogeneous dual-channel DDR DIMMs | |
CN113126887A (zh) | 用于重建盘阵列的方法、电子设备和计算机程序产品 | |
US11048557B2 (en) | Methods and modules relating to allocation of host machines | |
CN111078353A (zh) | 存储设备的操作方法及物理服务器 | |
JP2008269570A (ja) | コンピュータ構成においてデバイスのクリティカル性を判断する方法及びシステム | |
US11194731B2 (en) | Managing availability of memory pages | |
US10803109B2 (en) | Method and device for reading and writing video data in NAS device | |
US10416916B2 (en) | Method and memory merging function for merging memory pages | |
US10909044B2 (en) | Access control device, access control method, and recording medium containing access control program | |
US20180293013A1 (en) | System and Method for Dynamically Allocating Storage Drives in a Storage Array | |
US12050508B2 (en) | Data processing system and operating method thereof | |
US10395037B2 (en) | System and method for preserving data during an information handling system event using information handling system memory | |
US11216203B2 (en) | Method and reallocation component for managing reallocation of information from source to target memory sled | |
CN105991368B (zh) | 信息处理方法及电子设备 | |
JPWO2013027297A1 (ja) | 半導体装置、管理装置、及びデータ処理装置 |
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 |