CN1489057A - 存储控制器和处理器中管理虚拟化物理存储器方法和系统 - Google Patents

存储控制器和处理器中管理虚拟化物理存储器方法和系统 Download PDF

Info

Publication number
CN1489057A
CN1489057A CNA031277373A CN03127737A CN1489057A CN 1489057 A CN1489057 A CN 1489057A CN A031277373 A CNA031277373 A CN A031277373A CN 03127737 A CN03127737 A CN 03127737A CN 1489057 A CN1489057 A CN 1489057A
Authority
CN
China
Prior art keywords
memory
memory module
address
storage
register
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.)
Granted
Application number
CNA031277373A
Other languages
English (en)
Other versions
CN1227593C (zh
Inventor
K
拉万·K·阿里米利
S�����ɭ
约翰·S·多德森
桑吉夫·加伊
L
肯尼思·L·赖特
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1489057A publication Critical patent/CN1489057A/zh
Application granted granted Critical
Publication of CN1227593C publication Critical patent/CN1227593C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/65Details of virtual memory and virtual address translation
    • G06F2212/657Virtual address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

处理器包含移动引擎,而存储器控制器包含映射引擎,其共同透明地重新配置物理存储器,以完成存储器模块的添加、减去或替换。映射引擎寄存器存储当前和新真实地址,其使得这些引擎能够虚拟化正被重新配置的物理模块的物理地址,并通过使用硬件功能而非软件来提供实时重新配置。使用当前和新真实地址来选择来源和目标,移动引擎将要移走或重新配置的存储器模块中的内容复制到剩余的或插入的存储器模块中。然后,将与重新配置的存储器模块关联的真实地址重新分配给接收所复制内容的存储器模块,从而创建从操作系统利用的可寻址真实地址空间向虚拟物理地址空间的虚拟化物理映射。

Description

存储控制器和处理器中管理虚拟化 物理存储器方法和系统
技术领域
本发明一般地涉及数据处理,特别涉及管理数据处理系统中的物理存储器。更特别地,本发明涉及通过操作系统控制自主地管理数据处理系统中的物理存储器的方法和系统。
背景技术
在计算机系统中,习惯上,在处理器产生的存储地址和系统的物理存储器中的特定区域之间具有一一对应的关系。这将操作系统和应用程序限制在由系统中安装的实际物理存储器确定的地址空间上。此外,许多现代计算机系统运行多个并行任务或处理,每个各有其自己的地址空间。将存储器的全部补码专用于每个任务和操作系统是昂贵的,尤其因为许多处理在任何给定时间都只使用其地址空间的一小部分。现代计算机系统已通过使用虚拟存储器而克服了这一限制,其实现了将程序地址(或虚拟地址)映射到实际存储地址的变换表。虚拟存储器使得程序能够在看上去很大而且连续的、全部专用于该程序的物理存储地址空间上运行。然而,实际上,多个程序或处理之间共享虚拟存储系统中的可用物理存储器。通过结合计算机硬件和软件而使处理中使用的虚拟地址转换为物理存储器的实际地址。这一处理被称为存储器映射或地址转换。
在虚拟存储系统中,最一般地,由操作系统软件(OS)进行存储器的分配。操作系统的一个功能是确保程序当前使用的数据和代码在主存储器中,并且转换表可以正确地将虚拟地址映射到实际地址。这需要指令序列的中断,以便使特权内核代码可以将物理存储器分配给被访问的区域,从而正常程序流可以无错误地继续。这一中断和分配物理存储器的内核处理需要大量处理时间,并且扰乱了通过CPU的指令的正常流水线操作。
当在计算机系统运转期间重新配置物理存储器时,管理物理存储器的操作系统的负担增加了。在物理存储器的大小增加或减小的情况下,或者当在系统操作期间替换存储器模块时(例如,当在需要替换的存储器模块中发生错误时),OS需要临时中断正在处理的任务,修改转换表中的系统存储器配置信息,并使用已改变的物理地址来将数据从坏存储设备存储到盘上,然后重新配置剩余的存储设备。如果存储设备已被移走,OS必须使移走的设备的物理地址空间无效,并保持无效的地址空间,以使其不能被使用,实质上,在存储系统的可寻址空间内留下了不可用的空间块。然后,操作系统必须将逻辑地址映射到物理地址上,以避免具有坏存储位置的页。这一问题增加了OS的开销,并且使存储器的控制变得复杂。需要一种能够解决现有技术的上述问题,并且能够迅速而又有效地根据需要实现物理存储器的动态重新配置的物理存储器控制方法和系统。
发明内容
根据优选实施例,提供了一种在存储器控制器和处理器系统中管理虚拟化的物理存储器的方法和系统。该计算系统具有多个处理设备,用于产生包含与物理存储系统的存储位置关联的真实地址的存储器存取,以对其读和写数据;物理存储系统中的多个存储器模块,用于存储数据作为多个存储块,每个存储块包括物理存储器的邻接字节。该系统包括多个存储器控制器,其中多个存储器控制器中的每一个存储器控制器与多个存储器模块中的一个或多个存储器模块耦接,其中多个存储器控制器中的每一个存储器控制器,通过写入和读取在与其耦接的一个或多个存储器模块内存储的存储块,响应存储器存取。第一和第二寄存器分别位于多个存储器控制器中的第一和第二存储器控制器内,具有:第一字段,分别用于存储对应于与其耦接的多个存储器模块中第一和第二存储器模块的当前真实地址;和第二字段,分别用于存储对应于第一和第二存储器模块的新真实地址。系统包括移动引擎,响应于有关正在修改第一和第二存储器模块的配置的通知,基于第一和第二存储器模块的当前真实地址,将多个存储块从第一存储器模块复制到第二存储器模块。在第一存储器控制器中提供第一映射引擎,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第一存储器控制器能响应寻址到第一寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第一存储器控制器能只响应寻址到第一寄存器中存储的新真实地址的存储器存取。在第二存储器控制器中提供第二映射引擎,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第二存储器控制器能响应寻址到第二寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第二存储器控制器能只响应寻址到第二寄存器中存储的新真实地址的存储器存取。
在替换实施例中,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使其对应的存储器控制器能响应寻址到其对应的寄存器中的当前真实地址或新真实地址的写入存储器请求。
在另一个替换实施例中,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块,而后第二映射引擎使第二存储器能只响应寻址到第二寄存器中存储的新真实地址的存储器存取之后,从物理存储系统中移走第一存储器模块。
在另一个替换实施例中,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之外。
在另一个替换实施例中,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之前,在物理存储系统中插入第二存储器模块。
在另一个替换实施例中,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之内。
在另一个替换实施例中,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使其对应的存储器控制器能响应只寻址到其对应寄存器中存储的当前真实地址的读取存储器存取。
附图说明
在所附权利要求中阐明了本发明的确信新颖的特征。然而,通过参考附图详细描述本发明的示范实施例,本发明自身以及其优选使用模式、其它目的和优点将变得更加清楚,其中:
图1图解了根据本发明的优选实施例实现的数据处理系统;
图2展示了根据本发明的优选实施例,对如图1所示的数据处理系统的存储系统进行的存储地址转换处理的方框图表示;
图3展示了根据本发明的优选实施例,在将存储器模块从物理存储系统中移走的实施例中,图1所示的数据处理系统的简化图;
图4展示了根据本发明的优选实施例,在将存储器模块从物理存储系统中移走的实施例中,图1所示的数据处理系统的简化图。
具体实施方式
下面参考附图,特别参考图1,其中图解了根据本发明的一个实施例,支持对虚拟化的物理存储器的存储器管理的多处理器(MP)数据处理系统的高级方框图。如图所示,数据处理系统8包括大量(例如64个)处理单元10,通过系统互连12耦接以进行通信。每个处理单元10是包括一个或多个处理器核心14的集成电路。除了寄存器、指令流逻辑以及用于执行程序指令的执行单元,每个处理器核心14包括关联第一级(L1)指令和数据高速缓冲存储器16和18,其分别临时缓冲指令和操作数(operand)数据,很可能由关联处理器核心14访问。
图1中还图解,数据处理器系统8的存储器分层体系还包括:物理存储器22,物理存储器22包括一个或多个存储器模块(如存储器模块M1、M2以及M3所示),其形成了存储器分层体系中最低级的易失性数据存储器;以及一个或多个较低级高速缓冲存储器,例如片上(on-chip)第二级(L2)高速缓冲存储器20,用于将指令和操作数据从物理存储器22分阶段传递到处理器核心14。本领域一般技术人员应该明白,与较高级相比,存储器分层体系中每个随后的较低级通常能存储更大量的数据,但是需要更多的存取等待时间。如图所示,通过存储器控制器24,34以及44与互连12接口的物理存储器22可以存储操作数数据、部分或更多操作系统以及一个或多个应用程序。存储器控制器24、34以及44分别耦接并控制对应的存储器模块M1、M2以及M3(尽管图中只展示了每个存储器控制器与单个存储器模块耦接,但是应该明白,存储器控制器可以控制存储系统22中多个存储器模块)。包括所有或部分存储器模块M1、M2以及M3的集合组成机器的操作系统和应用程序的一组物理存储器资源。
系统互连12可以包括一个或多个总线、转换器结构或其它连接架构,其用于在耦接到系统互连12上的设备(例如处理单元10、存储器控制器24、34、44等)中通信的渠道。系统互连12上的典型事务以请求开始,请求可以包括指示事务类型的事务字段、一个或多个指示事务来源和/或计划的接收者的标记、以及地址和/或数据。每个连接到系统互连12的设备最好探查系统互连12上的所有事务,并且如果合适的话,用探查响应来响应请求。这些行为可以包括确定系统互连12上的数据的来源、存储通过请求探查器提供的数据、使高速缓冲存储器的数据无效等。输入/输出连接器52也耦接到互连12,并通过桥接器54提供在耦接到互连12的其它设备和耦接到PCI总线58的外部设备之间通信的渠道。
数据处理系统8利用虚拟存储系统,其实现了将程序地址(或有效地址)映射到实际存储地址的转换表。虚拟存储系统使得可用物理存储器能够在多个程序或处理之间共享。通过提供将有效地址(EA)转换为物理地址(PA)的地址转换机制,处理单元10使得处理单元的地址空间(“逻辑地址空间”)能够具有与可用物理存储器22不同的大小,这里,物理地址指实际物理存储器中的位置。该虚拟存储系统还允许多个程序能够同时驻留在系统存储器中,而各自不需要了解其物理基地址的位置。相反地,这多个程序只需要知道其逻辑基地址。此外,不需要尝试保持对每个可能的有效地址的转换或映射,虚拟存储系统将有效和物理存储器划分为多个块。在许多系统中,这些块大小固定,并称作节(section)或页(page)。单个页中的地址都具有相同的最高位。因此,存储地址由对应于地址较高位的页号和对应于地址较低位的页偏移串联而成。
通常,数据结构保持在物理存储器中,以从有效页号转换为真实页地址。这些数据结构经常采用转换表的形式,通常称作段表(segment table)和页表。段表通过有效页地址或号码来索引,并且通常具有大量对应于有效地址空间中的页的条目。每个条目都是特定页号或有效页地址向虚拟页地址的映射。页表通过虚拟页地址或号码来索引,并且通常具有大量对应于虚拟地址空间中的页的条目。每个条目都是特定页号或虚拟页地址向真实页地址的映射。
在处理器单元10中使用专门的硬件高速缓冲存储器(未示出)来进行有效到真实地址转换,该硬件高速缓冲存储器被称作地址转换高速缓冲存储器或转换后备缓冲器(TLB),其专用于转换。TLB是快速而又小型的静态存储器,用于存储页表中最常被引用的条目。其通常具有固定数量的条目。当处理存储器请求时,计算机首先尝试在TLB中发现合适的地址转换。如果未发现这样的地址转换,则自动访问页表,以检索适当的转换。
本领域一般技术人员将明白,数据处理系统8可以包括许多附加的未示出的组件,例如I/O适配器、互连桥接器、非易失性存储器、用于连接到网络或附属设备的端口等。因为这样的附加组件对理解本发明没有必要,所以图1中没有示出,这里也没有讨论。然而,应该明白,本发明提供的增强可应用于任何架构的数据处理系统,并且决不限于图1所示一般化的MP架构。
现在参考图2,其中展示了根据本发明的优选实施例,存储管理系统为数据处理系统8的虚拟存储系统进行的存储器映射。有效地址空间(EffectiveAddress Space)表示其中有多个处理在彼此独立操作的处理器单元10上操作的地址空间。图中展示了三个处理P1、P2以及P3,各有其自己的逻辑地址空间。对于每个处理,由有效地址对其可寻址空间中的页或块寻址。如图2所示,对三个执行处理,物理地址空间(Physical Address Space)中当前载入页在有效地址空间内的有效地址分别被示为P1-EA、P2-EA以及P3-EA。每个有效地址是通过段表转换(Segment Table Translation)204而转换的64位地址。由处理器核心14内的段后备缓冲器(SLB)或段后备寄存器(SLR)进行段表转换204。由SLB或SLR将应用程序地址空间P1、P2以及P3内的每个可寻址空间转换为虚拟地址空间(Virtual Address Space)206内的80位虚拟地址。从而,P1-EA、P2-EA以及P3-EA通过段表转换而分别转换为P2-VA、P1-VA以及P3-VA。然后,使用处理器核心14内的转换后备缓冲器(TLB),每个虚拟地址空间P2-VA、P2-VA以及P3-VA通过页表转换(Page TableTranslation)208而转换到真实地址空间(Real Address Space)210中,从而将每个80位虚拟地址P1-VA、P2-VA以及P3-VA转换为其代表系统存储器内的真实地址的64位真实地址P1-RA、P2-RA以及P3-RA。真实地址RA通常由两个字段组成:将物理页号编码为数字“i”个位的字段,例如高阶位;和将从物理页开始起的偏移编码为数字“j”个位的字段,例如低阶位。2的数字j次幂表示页的大小,例如数字j等于12表示页大小为4千字节。2的数字i次幂表示以页数表示的物理存储器的大小,例如数字i等于20表示一个物理百万页的数量,或4吉字节(gigabytes)的物理存储器。
如图1所示,存储器控制器24、34以及44进行对真实地址的物理映射,以访问存储器模块M1、M2以及M3中所请求的页。如果在L1高速缓冲存储器16、18以及L2高速缓冲存储器20中没有发现真实地址空间210中已寻址的页,在互连12上请求存储器存取。一旦在互连12中检测到存储器存取请求,每个存储器控制器24、34、44核对由存储器存取寻址的真实地址空间。由存储器控制器24、34以及44将来自处理器单元10的真实地址的高阶位解码,存储器控制器24、34以及44识别每个存储器控制器的相应存储器模块M1、M2、M3的可寻址真实空间。每个存储器控制器24、34以及44分别包含映射引擎26、36、46,其使与其关联的存储器控制器能够响应已寻址到其对应的存储器模块的存储器存取。每个映射引擎26、36、46提供用于选择所耦接的存储器模块的真实地址空间(具体说来,高阶真实地址位)的可配置分配,从而有效地改变了每个存储器设备的基地址。如果存储器存取的真实地址是驻留在其对应的存储器模块(由真实地址的大量高阶位确定)中的资源的真实地址,并且该资源已被更新,则特定的存储器控制器经由互连12来响应该请求。
根据优选实施例,然后由存储器控制器24、34和44进行物理映射212。物理映射212为地址页P1-RA、P2-RA以及P3-RA转换真实地址,并将其分别映射到对应的物理地址P1-PA、P2-PA以及P3-PA,而物理地址P1-PA、P2-PA以及P3-PA表示所请求的那些页在对应的存储器模块M1、M2以及M3中的物理地址。物理地址指示存储寻址信息的存储器模块内的具体存储位置。例如,P2-PA指定具体的行和列地址,以唯一地识别存储器模块2中已寻址的页。这一物理映射机制对操作系统OS是不可见的,操作系统OS借助于真实地址查看所有物理存储器资源,而不将这些资源的位置推理地辨别为系统存储器22内特定的存储器模块M1、M2、M3。
返回参考图1,根据最佳实施例,移动引擎28和映射引擎26、36以及46提供对物理存储器的虚拟化功能,以使得能够有效地重新配置物理存储器22。当物理存储器22被重新配置之后,例如当在系统中插入、移走或替换存储器模块M1、M2以及M3中的一个时,移动引擎28在物理存储器22的存储器模块之间进行数据传输。映射引擎26、36以及46控制存储器模块M1、M2、M3的真实到物理寻址,以使得能够添加、减去或替换特定的存储器模块。这一存储器管理在硬件/固件级有效地完成,只需要少量的操作系统资源来完成物理存储器的重新配置。
图3在数据处理系统8的简化图中图解了从物理存储器移走存储器模块的实施例。下面将说明,处理器的移动引擎结合关联的映射引擎工作,以在将关联的存储器模块物理移走之前使其脱机。一般地,移动引擎将要移走的存储器模块的内容复制到物理存储器中剩余的存储器模块中。然后,将该存储器模块的真实地址重新分配给接收所复制内容的存储器模块。
在此例子中,将存储器模块M2从数据处理系统8中移走。第一步,处理器单元10向操作系统报告其总可用物理存储器现在减少了一个存储器模块。例如,如果每个存储器模块M1、M2、M3都是64吉位(GB)的存储设备,则向操作系统通知现在其可用物理存储器为128 GB。相应地,操作系统立即开始调出页,以减少所存储数据的量。处理器单元10向所有移动引擎28和映射引擎26、36和46通知,存储器模块M2正在从物理存储器22中移走。移动引擎28立即选择将用于存储包含在存储器模块M2中的数据的剩余的一个或多个模块。
每个映射引擎26、36以及46分别包含寄存器301、305、309,用于存储其关联存储器模块的“当前”真实地址和其关联存储器模块的“新”真实地址(在这里使用的真实地址指整个真实地址或需要唯一地识别用于存储由存储器的已索引块寻址的数据的关联存储器模块的那一部分(例如高阶位))。如图3所示,映射引擎26包含寄存器301,其具有:字段302,其包含存储器模块M1的当前真实地址;和字段304,其包含存储器模块M1的新真实地址。相似地,映射引擎36包含寄存器305,其具有:字段306,其包含存储器模块M2的当前真实地址;和字段308,其包含存储器模块M2的新真实地址。映射引擎46包含寄存器309,其具有:字段310,其包含存储器模块M3的当前真实地址;和字段312,其包含存储器模块M3的新真实地址。
移动引擎28按需要载入每个寄存器301、305、309,以进行存储器重新配置。字段302表示存储器模块M1的当前真实地址是RA1。字段304包含存储器模块M1的新真实地址,并表示其在RA1保持相同。映射引擎36包含字段306,表示存储器模块M1的当前真实地址为RA2。对于其新的真实地址,给存储器模块M2以当前分配给物理存储系统的整个真实地址空间之外的真实地址。因此,例如,字段308包含存储器模块M2的新真实地址,即RA4,其在映射到真实地址(即RA1-RA2)的当前真实地址空间(例如0-128GB)之外。相似地,移动引擎28给存储器模块M3分配存储器模块M2的先前真实地址,如字段312所示,指示存储器模块M3的新真实地址为RA2。字段310表示存储器模块M3的当前真实地址为RA3,其现在处于对操作系统可寻址真实空间之外。
在图3所示的例子中,移动引擎28选择存储器模块M3接收存储器模块M2中存储的数据。存储器模块M1保持在线,并且不从存储器模块M2接收任何数据。移动引擎28将存储器模块M2中的所有存储内容复制到存储器模块M3中。在替换实施例中,移动引擎28将存储器模块M2的部分内容复制到存储器模块M3中,而将剩余部分复制到存储系统22的其它存储器模块中(例如存储器模块M1)。移动引擎28将由真实地址RA2寻址的存储器模块M2中的所有存储内容复制到由真实地址RA3寻址的存储器模块M3中,如路径325所示。
在移动存储器存储内容的处理期间,存储器控制器24、34以及44继续响应互连12上的存储器存取请求。在数据转换期间,映射引擎26、36、46使其各自的存储器控制器能响应并服务诸如寻址到其当前真实地址处的“Read(读)”和“Write(写)”的请求,如当前真实地址字段302、306、310所指示,并提供向存储器模块M1、M2、M3的物理地址的映射,来执行这样指向其当前真实地址空间的存储器存取。
在图3的例子中,存储器模块M2会继续响应寻址到真实地址RA2的Read,如路径327所示。根据优选实施例,映射引擎26、36、46使其关联存储器控制器能服务并响应对其当前真实地址或其新真实地址的Write请求,如分别由它们的当前和新真实地址字段所指示。相应地,如图3中路径329所示,因为字段306中存储器模块M2的当前真实地址为RA2,而字段312中存储器模块M3的新真实地址为RA2,所以存储器控制器34和44两者都处理对真实地址RA2的Write。因为对RA2的存储器写入继续存储在存储器模块M2和M3两者中,所以存储系统确保在整个移动处理中具有一致性。
一旦完成从存储器模块M2向存储器模块M3的数据传输,移动引擎28就通过将新真实地址复制到当前真实地址字段302、306、310中,并作为结束步骤,有效地将老地址换为新地址,来更新寄存器301、305、309。现在,存储器模块M1由真实地址RA1寻址,而存储器模块M3由真实地址RA2寻址。现在,映射引擎46进行RA2空间中真实地址向存储器模块M3的物理映射,从而创建从操作系统使用的可寻址真实地址空间向虚拟物理地址空间的虚拟化物理映射。
下面参考图4,其中展示了数据处理系统8的简化方框图,其描绘了插入物理存储器22中的存储器模块M2。处理器单元10向移动引擎28和映射引擎26、36、46通知:存储器模块正被添加到物理存储器22中,并且要插入与存储器控制器34关联并由其控制的存储器槽中。在这一点上,数据处理系统8的当前真实地址空间由存储器模块M1和M3的物理存储器组成,并且可以由真实地址空间RA1-RA2寻址。
根据优选实施例,每个寄存器301、305、309用各自的当前和新真实地址来编程。存储器模块M1的真实地址不再重新编程,其在字段302和304中的真实地址在真实地址RA1处保持相同。用字段306中的当前真实地址RA4和字段308中的新真实地址RA2对存储器模块M2编程。用当前真实地址RA4对分配给存储器模块M2的当前真实地址编程,是因为其处于物理存储器22的当前真实地址空间之外。用字段310中的当前真实地址RA2和字段312中的新真实地址RA3对存储器模块M3的物理映射编程。应该明白,为每个字段选择的真实地址取决于插入的存储器模块M2的大小和现有存储器模块M3的大小。在此例中,假设其大小相同。在其大小不同的情况下,将存储器模块M3的真实地址选择为落在存储器模块M2的存储器边界上,以提供邻接的真实存储空间。
在将存储器模块M2物理地插入物理存储器22之后,并且在载入寄存器之后,移动引擎28通过在互连12上向存储器控制器44发出存储器存取请求,而开始将存储器模块M3的内容复制到存储器模块M2,以将存储器模块M3的每个存储单元复制到真实地址RA4处的存储地址空间。使存储器控制器44能响应寻址到其在字段306中编程为当前真实地址RA4的当前实存储器的Write。映射引擎36从存储器模块M3的每个存储单元接收写入,并将其映射到存储器模块M2的物理地址空间。这在图4中由路径425表示,其展示了真实地址RA2处的存储单元向真实地址RA4处的存储单元的复制。
在移动处理期间,将映射引擎36和46编程为响应分别编程到它们的寄存器305和309中的当前真实地址和新真实地址两者处的存储器存取。如图4所示,由存储当前真实地址RA2的存储器控制器24、34、44为从处理器单元10指向真实地址RA2的读取存储器存取服务。这里,所有读取将指向存储器控制器44,其在字段310中存储RA2,如路径427所指示。在互连12上对真实地址RA2的来自处理器10(或者诸如直接存储器存取设备的其它设备)的所有存储器请求将导致任何在寄存器301、305、309中存储当前或新真实地址的存储器控制器24、34、44通过物理地映射到对应的行与列物理地址,将接收到的数据写入与其耦接的存储器模块。如图4所示,路径429描绘了从处理器单元10向真实地址RA2的写入请求,存储器控制器34和44都接收该请求,导致存储器模块M2和M3都被写入的数据更新。应该明白,这一机制允许了移动处理期间的存储一致性。
一旦完成了存储器模块复制处理,移动引擎28指引存储器控制器24、34、44分别响应从互连12对字段304、308、312中新真实地址处的存储器存取。然后操作系统被通知:系统的真实地址空间增加了等于存储器模块M2的可寻址空间的量。然后操作系统开始跨越存储器模块M1、M2以及M3的真实地址空间RA1-RA3存储和访问存储页。
应该明白,有些情况下,插入的存储器模块与现有存储器的存储器边界相匹配,而真实地址空间不必重新配置。因此,在替换实施例中,不进行存储移动处理,而立即用与新添加的真实地址空间关联的真实地址对新模块的映射引擎编程。例如,如果将图4所示的存储器模块M2插入物理存储器22,那么将用真实地址RA3对字段306和308每个编程。用真实地址RA2对寄存器309的字段310、312每个编程。在这种情况下,不将存储器模块M3中存储的数据复制到存储器模块M2,而保留在存储器模块M3中。因为优选实施例中的映射引擎准许每个存储器模块的真实地址的编程,所以存储器模块M2物理上位于存储器模块M3和M1之间的事实并不能避免将存储器模块M2编程为在真实地址空间RA3之内响应。一旦在物理存储器22的存储器插槽中添加了存储器模块M2,就向操作系统通知,其真实地址空间增加了等于存储器模块M2的存储器存储量的量,而存储器控制器34立即开始响应对真实地址RA3的存储器存取。
在替换物理存储器22中的存储器模块的情况下,根据结合图3描述的处理,从物理存储器22中移走存储器模块,然后,根据结合图4描述的处理,向物理存储器插回新的存储器模块。同样,现在返回参考图1,输入/输出连接器52内的映射引擎56以与映射引擎26、36、46相同的方式操作。当进行对根据优选实施例重新配置的存储器模块进行直接存储器存取操作时,输入/输出连接器52以与处理器单元10相似地方式操作。应该明白,系统可以具有附加的输入/输出连接器,与输入/输出连接器52相同,连接到互连12。随着在PCI总线58(或其它类似的从属总线)上添加或移走诸如盘驱动器和视频监视器的各种输入/输出设备,映射引擎56连同移动引擎28操作,以准许对该输入/输出设备的物理地址的虚拟化,其操作方式与上面描述的在物理存储器22中移走或添加存储器模块的方式相同。
应该明白,优选实施例为要在物理存储器22中插入、移走或替换的存储器模块做准备,以完成该物理存储器改变,而操作系统不必指引或控制物理存储器的重新配置。在优选实施例中,引动引擎28和映射引擎26、36、46一同工作,以透明地重新配置物理存储器,以完成在物理存储器中特定存储器模块的添加、减去或替换。映射引擎寄存器存储当前或新的真实地址,其使得移动和映射引擎能够虚拟化每个存储器模块的物理地址,并通过使用硬件功能性而不使用软件,实时提供对所存储的数据的重新配置和操纵。还应该明白,因为在存储器分层体系的存储器控制器层发生物理存储器的虚拟化,所以多个存储器模块的重新配置可以同时进行,而正常存储器操作在互连上继续操作,并且不需要操作系统或系统处理器的特殊处理。
尽管参考优选实施例具体展示和描述了本发明,但是本领域一般技术人员应该明白,在不脱离本发明的精神和范围的情况下,可以对其进行形式和细节上的各种修改。

Claims (20)

1.一种数据处理系统内的数据处理方法,其特征在于数据处理系统包括处理器设备,用于产生包含与物理存储系统的存储位置关联的物理地址的存储器存取,以对其读和写数据;物理存储系统包括多个存储器控制器,通过对与其耦接的一个或多个存储器模块内存储的存储块写入和读取,每个存储器控制器响应由处理器请求的存储器存取,该方法包括:
在要重新配置的多个控制器中的第一和第二存储器控制器中各设置寄存器,其中第一和第二存储器模块分别耦接到第一和第二存储器控制器,每个寄存器被设置为指示所耦接的存储器模块的当前真实地址和新真实地址,而其中第一和第二存储器控制器都响应寻址到它们各自的寄存器中存储的当前真实地址的存储器存取;
基于第一和第二存储器模块的当前真实地址,将多个存储块从第一存储器模块复制到第二存储器模块;以及
在完成复制步骤之后,配置第一和第二存储器控制器,以便只响应寻址到它们各自的寄存器中存储的新真实地址的存储器存取。
2.如权利要求1所述的方法,其特征在于,在复制步骤期间,多个存储器控制器中的每一个存储器控制器响应寻址到存储器控制器的寄存器中存储的当前真实地址或新真实地址的写入存储器请求。
3.如权利要求1所述的方法,其特征在于在配置步骤之后,从存储系统中移走第一存储器模块,第一存储器模块的当前真实地址在物理存储系统的当前可寻址空间内,而第一存储器模块的新真实地址在物理存储系统的当前可寻址空间之外。
4.如权利要求1所述的方法,其特征在于在复制步骤之前,在存储系统中插入第一存储器模块,其中第一存储器模块的当前真实地址在物理存储系统的当前可寻址空间内,而第二存储器模块的新真实地址在物理存储系统的当前可寻址空间之外。
5.如权利要求1所述的方法,该方法还包括向处理器通知多个存储器模块的配置正在被修改,其中响应于该通知而进行设置步骤。
6.如权利要求1所述的方法,其特征在于,在复制步骤期间,多个存储器控制器中的每个存储器控制器响应只寻址到存储器控制器的寄存器中存储的当前真实地址的读存储器存取。
7.一个系统,其具有:处理器设备,用于产生包含与物理存储系统的存储位置关联的真实地址的存储器存取,以对其读和写数据;物理存储系统中的多个存储器模块,用于存储数据作为多个存储块,每个存储块包括物理存储器的邻接字节,该系统包括:
多个存储器控制器,其中多个存储器控制器中的每一个存储器控制器与多个存储器模块中的一个或多个存储器模块耦接,并且其中多个存储器控制器中的每一个存储器控制器,通过写入或读取在与其耦接的一个或多个存储器模块内存储的存储块,响应存储器存取;
第一寄存器,位于多个存储器控制器中的第一存储器控制器内,具有:第一字段,用于存储对应于与其耦接的多个存储器模块中第一存储器模块的当前真实地址;和第二字段,用于存储对应于第一存储器模块的新真实地址;
第二寄存器,位于多个存储器控制器中的第二存储器控制器内,具有:第一字段,用于存储对应于与其耦接的多个存储器模块中第二存储器模块的当前真实地址;和第二字段,用于存储对应于第二存储器模块的新真实地址;
移动引擎,响应于有关正在修改第一和第二存储器模块的配置的通知,基于第一和第二存储器模块的当前真实地址,将多个存储块从第一存储器模块复制到第二存储器模块;
第一映射引擎,位于第一存储器控制器中,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第一存储器控制器能响应寻址到第一寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第一存储器控制器能只响应寻址到第一寄存器中存储的新真实地址的存储器存取;以及
第二映射引擎,位于第二存储器控制器中,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第二存储器控制器能响应寻址到第二寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第二存储器控制器能只响应寻址到第二寄存器中存储的新真实地址的存储器存取。
8.如权利要求7所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使它们各自的存储器控制器能响应寻址到它们各自的寄存器中存储的当前真实地址或新真实地址的写入存储器请求。
9.如权利要求7所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块,而后第二映射引擎使第二存储器能只响应寻址到第二寄存器中存储的新真实地址的存储器存取之后,从物理存储系统中移走第一存储器模块。
10.如权利要求9所述的系统,其特征在于,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之外。
11.如权利要求7所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之前,在物理存储系统中插入第二存储器模块。
12.如权利要求11所述的系统,其特征在于,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之内。
13.如权利要求7所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使它们各自的存储器控制器能响应只寻址到它们各自的寄存器中存储的当前真实地址的读取存储器存取。
14.一种数据处理系统,包括:
物理存储系统,其具有多个用于存储数据作为多个存储块的存储器模块,每个存储块包括物理存储器的邻接字节;
多个处理器设备,用于产生包含与物理存储系统的存储位置关联的真实地址的存储器存取,以对其读和写数据;
多个存储器控制器,其中多个存储器控制器中的每一个存储器控制器与多个存储器模块中的一个或多个存储器模块耦接,其中多个存储器控制器中的每一个存储器控制器,通过写入和读取在与其耦接的一个或多个存储器模块内存储的存储块,响应存储器存取;
第一寄存器,位于多个存储器控制器中的第一存储器控制器内,具有:第一字段,用于存储对应于与其耦接的多个存储器模块中第一存储器模块的当前真实地址;和第二字段,用于存储对应于第一存储器模块的新真实地址;
第二寄存器,位于多个存储器控制器中的第二存储器控制器内,具有:第一字段,用于存储对应于与其耦接的多个存储器模块中第二存储器模块的当前真实地址;和第二字段,用于存储对应于第二存储器模块的新真实地址;
移动引擎,响应于有关正在修改第一和第二存储器模块的配置的通知,基于第一和第二存储器模块的当前真实地址,将多个存储块从第一存储器模块复制到第二存储器模块;
第一映射引擎,位于第一存储器控制器中,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第一存储器控制器能响应寻址到第一寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第一存储器控制器能响应寻址到第一寄存器中存储的新真实地址的存储器存取;以及
第二映射引擎,位于第二存储器控制器中,用于在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,使第二存储器控制器能响应寻址到第二寄存器中存储的当前真实地址的存储器存取,并在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之后,使第二存储器控制器能响应寻址到第二寄存器中存储的新真实地址的存储器存取。
15.如权利要求14所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使它们各自的存储器控制器能响应寻址到它们各自的寄存器中存储的当前真实地址或新真实地址的写入存储器请求。
16.如权利要求14所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块,而后第二映射引擎使第二存储器控制器能只响应寻址到第二寄存器中存储的新真实地址的存储器存取之后,从物理存储系统中移走第一存储器模块。
17.如权利要求16所述的系统,其特征在于,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之外。
18.如权利要求14所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块之前,在物理存储系统中插入第二存储器模块。
19.如权利要求18所述的系统,其特征在于,第二寄存器中存储的新真实地址等同于第一寄存器中存储的当前真实地址,而第一寄存器中存储的新真实地址在物理存储系统的当前可寻址空间之内。
20.如权利要求14所述的系统,其特征在于,在移动引擎将多个存储块从第一存储器模块复制到第二存储器模块期间,第一和第二映射引擎使它们各自的存储器控制器能响应只寻址到它们各自的寄存器中存储的当前真实地址的读取存储器存取。
CNB031277373A 2002-10-10 2003-08-13 存储控制器和处理器中管理虚拟化物理存储器方法和系统 Expired - Fee Related CN1227593C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/268,728 2002-10-10
US10/268,728 US6907494B2 (en) 2002-10-10 2002-10-10 Method and system of managing virtualized physical memory in a memory controller and processor system

Publications (2)

Publication Number Publication Date
CN1489057A true CN1489057A (zh) 2004-04-14
CN1227593C CN1227593C (zh) 2005-11-16

Family

ID=32068633

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031277373A Expired - Fee Related CN1227593C (zh) 2002-10-10 2003-08-13 存储控制器和处理器中管理虚拟化物理存储器方法和系统

Country Status (2)

Country Link
US (1) US6907494B2 (zh)
CN (1) CN1227593C (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100340965C (zh) * 2004-07-19 2007-10-03 普安科技股份有限公司 储存虚拟化控制器主机端输出入请求绕送的方法
CN100345097C (zh) * 2004-11-12 2007-10-24 国际商业机器公司 用于同步逻辑系统的方法和系统
CN100429636C (zh) * 2005-07-07 2008-10-29 国际商业机器公司 管理共享输入/输出结构的地址空间的方法、系统和设备
CN101178759B (zh) * 2006-11-09 2010-04-21 国际商业机器公司 可信设备集成电路和对其中的存储器件进行虚拟化的方法
CN101290594B (zh) * 2007-04-19 2011-03-23 国际商业机器公司 从虚拟踪迹创建物理踪迹的方法和系统
CN101416155B (zh) * 2006-05-19 2011-07-06 国际商业机器公司 通过用户可选择的存储访问键的移动数据工具
CN102387175A (zh) * 2010-08-31 2012-03-21 国际商业机器公司 一种存储系统迁移的方法和系统
WO2013107029A1 (zh) * 2012-01-19 2013-07-25 华为技术有限公司 一种基于块存储的数据处理方法、装置及系统
CN108701086A (zh) * 2016-03-02 2018-10-23 英特尔公司 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备
CN109478137A (zh) * 2016-08-11 2019-03-15 英特尔公司 用于通过信用管理进行共享资源分区的装置和方法
CN109753821A (zh) * 2017-11-01 2019-05-14 瑞昱半导体股份有限公司 数据存取装置及方法
US10691344B2 (en) 2013-05-30 2020-06-23 Hewlett Packard Enterprise Development Lp Separate memory controllers to access data in memory

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055015B2 (en) * 2002-02-25 2006-05-30 Ricoh Company, Ltd. Information processing apparatus in which processes can reduce overhead of memory access and efficiently share memory
US6981072B2 (en) * 2003-06-05 2005-12-27 International Business Machines Corporation Memory management in multiprocessor system
JP4386694B2 (ja) * 2003-09-16 2009-12-16 株式会社日立製作所 記憶システム及び記憶制御装置
US8417913B2 (en) * 2003-11-13 2013-04-09 International Business Machines Corporation Superpage coalescing which supports read/write access to a new virtual superpage mapping during copying of physical pages
US20050193169A1 (en) * 2004-03-01 2005-09-01 Ahluwalia Manish K. Memory management
US7478119B2 (en) * 2006-07-03 2009-01-13 Sun Microsystems, Inc. System and method for transposing memory patterns within the physical memory space
US8966219B2 (en) * 2007-10-30 2015-02-24 International Business Machines Corporation Address translation through an intermediate address space
US8392661B1 (en) * 2009-09-21 2013-03-05 Tilera Corporation Managing cache coherence
CN102567226A (zh) * 2011-12-31 2012-07-11 曙光信息产业股份有限公司 数据访问的实现方法和装置
CN103294405B (zh) * 2012-03-02 2016-08-17 联想(北京)有限公司 数据读写方法和电子设备
CN102799691B (zh) * 2012-08-15 2016-05-04 深圳市宏电技术股份有限公司 文件系统转换访问方法及文件系统转换访问设备
CN105408874B (zh) 2013-07-31 2018-09-18 慧与发展有限责任合伙企业 用于移动数据块的方法、存储器系统及存储介质
US10241817B2 (en) * 2014-11-25 2019-03-26 Red Hat Israel, Ltd. Paravirtualized access for device assignment by bar extension
WO2018119711A1 (zh) * 2016-12-27 2018-07-05 深圳前海达闼云端智能科技有限公司 多操作系统多媒体编解码方法、装置及电子设备
CN106797388B (zh) * 2016-12-29 2020-11-10 深圳前海达闼云端智能科技有限公司 跨系统多媒体数据编解码方法、装置、电子设备和计算机程序产品

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3102495B2 (ja) * 1989-12-28 2000-10-23 株式会社日立製作所 仮想記憶管理方法
US5615352A (en) * 1994-10-05 1997-03-25 Hewlett-Packard Company Methods for adding storage disks to a hierarchic disk array while maintaining data availability
JPH0973412A (ja) * 1995-06-30 1997-03-18 Toshiba Corp データ転送方法及びメモリ管理装置
JPH0991230A (ja) * 1995-09-26 1997-04-04 Matsushita Electric Ind Co Ltd データ転送システム
US5819310A (en) * 1996-05-24 1998-10-06 Emc Corporation Method and apparatus for reading data from mirrored logical volumes on physical disk drives
JPH10105345A (ja) * 1996-09-27 1998-04-24 Fujitsu Ltd アレイディスク装置
US5926836A (en) * 1996-12-03 1999-07-20 Emc Corporation Computer and associated method for restoring data backed up on archive media
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6223269B1 (en) * 1997-09-27 2001-04-24 Emc Corporation Stacked mapped storage system
US6442650B1 (en) * 1997-10-06 2002-08-27 Emc Corporation Maximizing sequential output in a disk array storage device
US6356991B1 (en) * 1997-12-31 2002-03-12 Unisys Corporation Programmable address translation system
JP3672159B2 (ja) * 1998-03-31 2005-07-13 ヤマハ株式会社 音源システム
US6269431B1 (en) * 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6457139B1 (en) * 1998-12-30 2002-09-24 Emc Corporation Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system
US6442649B1 (en) * 1999-08-18 2002-08-27 Intel Corporation Dynamic expansion of storage device array
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6341341B1 (en) * 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
US6665787B2 (en) * 2000-02-29 2003-12-16 International Business Machines Corporation Very high speed page operations in indirect accessed memory systems
US6662289B1 (en) * 2001-05-15 2003-12-09 Hewlett-Packard Development Company, Lp. Method and apparatus for direct conveyance of physical addresses from user level code to peripheral devices in virtual memory systems

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100340965C (zh) * 2004-07-19 2007-10-03 普安科技股份有限公司 储存虚拟化控制器主机端输出入请求绕送的方法
CN100347656C (zh) * 2004-07-19 2007-11-07 普安科技股份有限公司 储存虚拟化控制器间动态逻辑媒体单元重新指定方法
CN100345097C (zh) * 2004-11-12 2007-10-24 国际商业机器公司 用于同步逻辑系统的方法和系统
CN100429636C (zh) * 2005-07-07 2008-10-29 国际商业机器公司 管理共享输入/输出结构的地址空间的方法、系统和设备
CN101416155B (zh) * 2006-05-19 2011-07-06 国际商业机器公司 通过用户可选择的存储访问键的移动数据工具
CN101178759B (zh) * 2006-11-09 2010-04-21 国际商业机器公司 可信设备集成电路和对其中的存储器件进行虚拟化的方法
CN101290594B (zh) * 2007-04-19 2011-03-23 国际商业机器公司 从虚拟踪迹创建物理踪迹的方法和系统
CN102387175A (zh) * 2010-08-31 2012-03-21 国际商业机器公司 一种存储系统迁移的方法和系统
WO2013107029A1 (zh) * 2012-01-19 2013-07-25 华为技术有限公司 一种基于块存储的数据处理方法、装置及系统
CN103329111A (zh) * 2012-01-19 2013-09-25 华为技术有限公司 一种基于块存储的数据处理方法、装置及系统
CN103329111B (zh) * 2012-01-19 2015-05-27 华为技术有限公司 一种基于块存储的数据处理方法、装置及系统
US9507720B2 (en) 2012-01-19 2016-11-29 Huawei Technologies Co., Ltd. Block storage-based data processing methods, apparatus, and systems
US10691344B2 (en) 2013-05-30 2020-06-23 Hewlett Packard Enterprise Development Lp Separate memory controllers to access data in memory
CN108701086A (zh) * 2016-03-02 2018-10-23 英特尔公司 用于通过重新映射地址空间来提供连续可寻址存储器区域的方法和设备
CN109478137A (zh) * 2016-08-11 2019-03-15 英特尔公司 用于通过信用管理进行共享资源分区的装置和方法
CN109478137B (zh) * 2016-08-11 2024-01-23 英特尔公司 用于通过信用管理进行共享资源分区的装置和方法
CN109753821A (zh) * 2017-11-01 2019-05-14 瑞昱半导体股份有限公司 数据存取装置及方法

Also Published As

Publication number Publication date
CN1227593C (zh) 2005-11-16
US6907494B2 (en) 2005-06-14
US20040073765A1 (en) 2004-04-15

Similar Documents

Publication Publication Date Title
CN1227593C (zh) 存储控制器和处理器中管理虚拟化物理存储器方法和系统
CN1235148C (zh) 管理数据处理器系统中虚拟化的物理存储器的方法和系统
CN1227594C (zh) 管理多处理器系统中虚拟化的物理存储器的方法和系统
CN1084005C (zh) 用于动态控制地址空间分配的方法和设备
US7721068B2 (en) Relocation of active DMA pages
EP0258736B1 (en) Parallel computer with distributed shared memories and distributed task activating circuits
US4742450A (en) Method to share copy on write segment for mapped files
US5095424A (en) Computer system architecture implementing split instruction and operand cache line-pair-state management
TWI614669B (zh) 遷移異構處理器之間不同大小的分頁
US5644746A (en) Data processing apparatus with improved mechanism for executing register-to-register transfer instructions
US20040064668A1 (en) Memory addressing for a virtual machine implementation on a computer processor supporting virtual hash-page-table searching
US7856542B1 (en) Paging cache optimization for virtual machine
US5418927A (en) I/O cache controller containing a buffer memory partitioned into lines accessible by corresponding I/O devices and a directory to track the lines
CN1617113A (zh) 向物理内存分配虚拟内存的方法、存储控制器和计算机系统
CN102023932A (zh) 为本地与远程物理存储器之间的共享虚拟存储器提供硬件支持
CN102612685A (zh) 经由存储器高速缓存操纵的无阻碍数据传送
US5168560A (en) Microprocessor system private split cache tag stores with the system tag store having a different validity bit for the same data line
TWI417724B (zh) 使用替代頁池管理直接記憶器存取寫入頁錯誤之電腦執行方法、裝置、及電腦程式產品
CN102985910A (zh) 对无用存储单元收集的gpu支持
US8145870B2 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation
US6473845B1 (en) System and method for dynamically updating memory address mappings
CN1301473C (zh) 多处理器系统共享引导模块的方法
US20060123196A1 (en) System, method and computer program product for application-level cache-mapping awareness and reallocation requests
Keeton et al. The OpenFAM API: a programming model for disaggregated persistent memory
US20060149940A1 (en) Implementation to save and restore processor registers on a context switch

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20051116

Termination date: 20100813