CN102326153A - 以复制写入请求用于一致性存储器拷贝的方法及设备 - Google Patents

以复制写入请求用于一致性存储器拷贝的方法及设备 Download PDF

Info

Publication number
CN102326153A
CN102326153A CN2009801572147A CN200980157214A CN102326153A CN 102326153 A CN102326153 A CN 102326153A CN 2009801572147 A CN2009801572147 A CN 2009801572147A CN 200980157214 A CN200980157214 A CN 200980157214A CN 102326153 A CN102326153 A CN 102326153A
Authority
CN
China
Prior art keywords
memory
source
request
copy
logic
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
CN2009801572147A
Other languages
English (en)
Other versions
CN102326153B (zh
Inventor
S·M·加德拉布
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.)
ATI Technologies ULC
Original Assignee
ATI Technologies ULC
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 ATI Technologies ULC filed Critical ATI Technologies ULC
Publication of CN102326153A publication Critical patent/CN102326153A/zh
Application granted granted Critical
Publication of CN102326153B publication Critical patent/CN102326153B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/68Details of translation look-aside buffer [TLB]
    • G06F2212/681Multi-level TLB, e.g. microTLB and main TLB
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

一致性存储器拷贝逻辑可操作成从来源存储器位置拷贝数据至目标存储器位置以及复制对于来源存储区的写入请求以产生复制写入请求。一致性存储器拷贝逻辑也可操作成执行复制写入请求以从外部存储区拷贝内容至目标存储区。在内部存储器正被使用时,则可降低来源存储器的功率以节省电力。因此,一种“硬件存储器移动器”不需要使用任何复杂的软件同步并且在存储器移动期间不会导致任何服务中断。该一致性存储器拷贝逻辑以对于应用程序软件及使用者是透明的方式,重新分配例如由外部存储器至芯片内之内部存储器的应用存储器空间。本发明也提出数种对应的方法。

Description

以复制写入请求用于一致性存储器拷贝的方法及设备
技术领域
本揭示内容大体有关于用以由来源存储器重新分配存储器内容至目标存储器的方法,且更特别的是,有关于数种用于重新分配在集成电路(例如,芯片)外的外部存储器与位于芯片上的内部存储器之间的存储器内容的方法及设备。
背景技术
手持装置(例如,智能手机、多媒体播放器、数字音频播放器及其它手持装置)需要改良电池寿命。手持芯片(位于手持装置里的集成电路)的低功率操作对于长电池寿命是不可或缺的。在这些芯片启动应用程序(例如,音频播放应用程序)时,尝试分配存储器空间给在内部芯片存储器结构里的应用程序。如果内部存储器结构已经被其它应用程序使用,该芯片分配存储器给在芯片外的新的应用程序存储器结构。不过,使用外部存储器会增加手持装置的电力消耗而缩短电池寿命。
在芯片上的内部存储器有空时,当前手持装置通常无法让应用程序由外部存储器移到内部存储器,因为基于软件的存储器分页(memorypage)迁移既复杂又不可靠。因此,即使有内部存储器结构可供使用,该装置通常继续使用外部存储器。这会导致不必要的电力消耗。
使用外部存储器需要会耗费额外电力的外部通信针脚。如果手持装置进入低功率模式以及正在执行的应用程序可驻留在内部存储器中,则需要较少的操作,然而该应用程序通常是驻留在外部存储器。其它系统,例如,可能允许正在执行的所有应用程序由外部存储器移到内部存储器或者在移动最大数目的应用程序的同时允许某个最小数目的应用程序从外部存储器开始执行。不过,这些通常利用软件同步与转移操作。
此外,在移动应用程序时,操作系统中止应用程序并且将数据由外部存储器移到内部存储器。不过,中止应用程序会中断使用者服务因而是不可接受的。
企图使应用程序于来源及目标存储器(例如,外部存储器与内部存储器)之间移动的一个已知解决方案是以软件为基础的。它们通常需要复杂的软件同步技术。以软件为基础的转移操作造成应用程序在转移应用程序期间完全或部份无法使用。不论持续时间多短,这种中断对于多媒体应用程序(例如,音频及视讯播放)是不可接受的。
使信息由外部存储器移到内部存储器的已知硬件技术可包含,例如已知由来源存储器拷贝数据至目标存储器的“存储器拷贝引擎”或直接存储器存取拷贝引擎(DMA引擎)。此类拷贝引擎的问题是来源存储器中已拷贝至目标存储器之特定位置的任何更新不会反映至目标存储器。因此,没有实施存储器一致性。
在直接存储器存取引擎操作时,必需中止该应用程序以便中断服务。此外,直接存储器存取引擎通常不晓得虚拟地址。例如在主机处理器上执行的软件应用程序会告诉直接存储器存取拷贝引擎要移动数据。该软件应用程序必须请求虚拟至实体存储器的转译。因此,期望能有一种基于硬件的系统在进行由来源存储器拷贝或移动内容至目标存储器时允许应用程序继续运行。
附图说明
由下文伴随以下附图的说明可更加明白本发明,图中类似的组件用相同的组件符号表示。
图1的方块图根据陈述于本揭示内容之一实施例图示集成电路之一部份,其系包含可操作以移动存储器内容的逻辑;
图2的流程图根据陈述于本揭示内容之一实施例图示用于重新分配存储器内容之方法的一实施例;
图3的流程图根据陈述于本揭示内容之一实施例图示用于重新分配存储器内容之方法的一实施例;
图4的流程图根据陈述于本揭示内容之一实施例图示用于重新分配存储器内容之方法的一实施例;
图5的方块图根据陈述于本揭示内容之一实施例图示陈述于第1图的一拷贝引擎实施例;
图6的流程图根据陈述于本揭示内容之一实施例图示用于重新分配存储器内容之方法的一实施例;以及
图7的流程图根据陈述于本揭示内容之一实施例图示用于重新分配存储器内容之方法的一实施例。
具体实施方式
一般而言,作为存储器拷贝处理的一部份,存储器拷贝逻辑可操作成复制对于来源存储区的写入请求来产生复制写入请求。一致性存储器拷贝逻辑也可操作成执行该复制写入请求来确保写入请求更新来源存储器的任何内容在目标存储器也被更新。在内部存储器正被使用时,则可降低来源存储器的功率以节省电力。因此,一种“硬件存储器移动器”不需要使用任何复杂的软件同步以及在存储器移动期间不会导致任何服务中断。该一致性存储器拷贝逻辑以对于应用软件及使用者是透明的方式,重新分配例如由外部存储器至芯片内之内部存储器的应用存储器空间。在由来源区移动数据至目标区时提供一致性的另一实施例包含使用一致性存储器拷贝引擎把存储器中之一区的内容重新分配到同一实体存储器(例如,非内部及外部存储器)内的新位置(区域)。这允许重整装置在正常操作期间可能已支离破碎的存储区。熟谙此艺者会明白其它的优点。
该一致性存储器拷贝逻辑可包含输入请求路由器逻辑(其拦截对于正被拷贝至目标存储区之来源存储区的存储器写入请求),以及拷贝写入控制器逻辑(其可操作成比较被拦截的存储器写入请求的地址与搁置数据队列(pending data queue)的项目(entry)以促进拷贝一致性)。该搁置数据队列暂时储存待拷贝自外部存储器来源区的数据及表示搁置数据队列中之项目备妥被拷贝至内部存储器的数据。搁置数据队列的每个项目暂时储存由来源存储器读出但是尚未写入目标存储器的数据片段。该搁置数据队列也包含与正被拷贝至目标存储区之数据片段关联的数据。此类关联数据可包含来源及目标存储器中之数据片段的实体地址,指示此数据片段备妥被写入目标存储器的旗标,以及指示应丢弃此数据片段的丢弃旗标(discard flag)。
在另一实施例中,该一致性存储器拷贝逻辑包含内部转译后备缓冲区(internal translation look aside buffer)用以储存来自位在外部或来源存储器之外部转译后备缓冲区中含有实体地址的信息之子集(例如,少于所有分页的所有转译)或修改子集。外部TLB经修改成可指向内部位置而不是外部位置。存储器控制器区块存储器接口116、110使用内部转译后备缓冲区136只转译储存于内部存储器之分页中的实体地址及虚拟地址。
以下也描述包含集成电路的手持装置与对应方法。
图1显示手持装置100(例如但不受限于,智能手机)中之一部份的实施例,然而图中不包括标准组件,例如显示器、无线蜂巢式子系统、相机及其它习知组件。图1的处理器102(例如,图形处理单元,例如但不受限于微处理器集成电路102)包含为处理器102之内部存储器的目标存储器104。图中也有例如可为动态RAM(DRAM)的来源存储器106与可为SRAM的目标存储器107,不过应了解到也可使用任何适当的存储器类型。来源存储器106图示成为在集成电路102外部的外部存储器。手持装置100也可包含可在同一个集成电路或个别集成电路上的另一处理器108(例如,中央处理核心)。处理器102包含经由适当总线112与内部存储器104通信的内部存储器接口110,以及也包含经由适当总线118与外部存储器106通信的外部存储器接口116。仅为了图解说明,也在椭圆形内显示经由总线112及总线118来通信的个别通信路径。处理器102也包含作为存储器控制器区块122之一部份或个别区块的一致性存储器拷贝逻辑124、复用仲裁逻辑(multiplexingarbitration logic)126、以及与其它客户端及处理器102内之电路通信的一个或多个存储器客户端128、130。
一致性存储器拷贝逻辑124为包含分页拷贝工作队列(page copywork queue)132、拷贝逻辑134、视需要之内部存储器转译后备缓冲区136及拷贝流引擎(copy flow engine)138的硬件逻辑。一致性存储器拷贝逻辑124经由适当通信总线140与处理器108通信。如以下的进一步描述,处理器108可包含适当程序,在执行它时可用作操作成填入(populate)分页拷贝工作队列132的逻辑142。如本技艺所习知,复用及仲裁逻辑126经由适当总线150、152与各种客户端接口128至130通信。
拷贝引擎134可操作地经耦合成可通过适当链路154与分页拷贝工作队列132通信,以及通过适当链路156与拷贝流引擎138通信。拷贝流引擎138(例如,状态机)通过适当通信链路158与内部存储器TLB 136通信,以及通过链路160与分页拷贝工作队列通信。内部存储器TLB 136通过适当通信链路999与不同的存储器接口(内部或外部的)通信。
也参考图2,操作时,一致性存储器拷贝逻辑124可操作成由一存储器位置拷贝数据至另一存储器位置(参考区块204及206)。仅供举例说明,拷贝可包含依序地用读取请求182来读取来源存储区164的数据片段以及用写入请求184写入数据片段于目标存储区180。这图示于区块204、206。一致性存储器拷贝逻辑124也可操作成复制来自存储器客户端130-128中任一者的写入请求162,其指示写入来源存储器106,例如写入区域164(例如,可为存储器中的分页),以产生复制写入请求170以写入在目标存储器104中的对应目标存储区180。这图示于区块200。直线163表示读取。如区块202所示,一致性存储器拷贝逻辑124也可操作成执行复制写入请求170以由来源存储器106拷贝内容至目标存储器104中的目标存储区180。链路171表示正常操作期间的读取及写入。对于所有的读取及写入请求,拷贝逻辑134(也被称作拷贝引擎)可操作虚拟地址(图1中以VA表示)或者是实体地址(图2中以PA表示)。如果存储器客户端128至130或分页拷贝工作队列132提供实体地址,则拷贝逻辑134使用它们所提供的实体地址。如果存储器客户端128至130或分页拷贝工作队列132提供虚拟地址,则拷贝逻辑134会把虚拟地址转译成实体地址。熟谙此艺者会晓得有许多已开发及了解的方法可用于存储器之虚拟及实体地址的转译。此外,直线186显示可读取来源存储器之信息的存储器客户端请求以及来源存储器106用直线188显示作为客户端读取之参考依据的信息。在此实施例中,一致性存储器拷贝逻辑124操作成提供存取外部存储器106的连续读取及写入同时利用它的拷贝功能并且产生及使用复制写入请求170,从来源区拷贝数据片段至目标存储区180,其中这些片段的总合形成一个或多个存储器分页。在不必中止正在处理器108上执行之应用的操作下,可完成此事。
为了进行存储器分页由来源存储器106至目标存储器104的一致性拷贝,一致性存储器拷贝逻辑124例如经由分页拷贝工作队列132接收来自正在处理器108上执行之应用程序的命令。存储器分页可具有虚拟基地址,图中为对应至实体基地址PA-1的VA-1。或者,处理器108可提供该分页的实体基地址PA-1。处理器108也可提供待通过分页拷贝工作队列132来拷贝的数个分页的基地址(VA-11,VA-111…、等等或PA-11,PA-111…等等)。对于每个待拷贝自来源存储器的存储器分页,处理器108也提供目标存储区的基地址,在此一致性拷贝引擎会拷贝当下位于来源存储器的数据至该基地址。目标存储区的基地址可为实体地址(PA-2)或者是虚拟地址(VA-2)。通过分页拷贝工作队列132内的队列或通过基于缓存器的简单命令,也可发生此命令的接收。拷贝流引擎138读取分页拷贝工作队列132的内容以及通过适当总线156发出拷贝命令给拷贝逻辑134。拷贝逻辑134拷贝基地址为PA-1的分页以及将它写到基底为PA-2的分页同时在拷贝操作期间维持一致性。在拷贝操作期间应该能以对于所有客户端区块是透明的方式来维持一致性。下文有进一步的说明。
除了或视需要地,也可利用可在虚拟地址及实体地址之间转译或可在一实体地址及另一实体地址之间转译的内部存储器转译后备缓冲区136的维护(maintenance)。例如,在虚拟至实体分页转译表储存于外部或来源存储器时会遇到困难是因为外部存储器必须仍可存取存储器存取单元用以将虚拟地址转译成实体地址,甚至是在要求的分页被转移到内部存储器之后。在处于仅内部存储器模式(IMOM)时,利用只针对内部存储器分页的内部存储器TLB的维护。
请参考图3,维护内部存储器TLB及降低功率以允许利用内部存储器分页的方法,如区块300所示,包含由外部存储器或来源存储器转移操作至处理器102的内部存储器。如区块302所示,此方法包含在降低来源存储器106的功率之前,藉由储存(例如,拷贝)信息的子集至内部转译后备缓冲区来产生该内部转译后备缓冲区136,该信息来自位于含有实体地址之外部来源存储器的整个转译后备缓冲区。例如,这可用拷贝逻辑134来完成。只对于储存于内部存储器的分页,存储器接口110、118用内部TLB 136转译来自存储器客户端128至130的地址。这可在执行时当作逻辑142之软件模块的控制下完成。在进入仅内部存储器模式之前,内部存储器TLB可用逻辑142构成。内部存储器TLB的实体大小为内部存储器大小的函数,但是通常比内部存储器的大小小一个数量级。因此,内部存储器TLB 136为允许关电源从而节省电力可藉由切断外部存储器106来提供的可扩展解决方案。
如区块304所示,该方法则可包含中止外部存储器106的存取以降低功率。使来源存储器处于低功率模式包含使来源存储器处于自刷新模式(self refresh mode)或将来源存储器的电源移除。
应用程序的进一步操作是单独通过使用内部存储器104来完成。内部存储器TLB 136可为RAM中与内部存储器104分开的一片或为存储器中之一部份。不过,内部存储器转译后备缓冲区136最好在SRAM中以降低整体功率。图示于区块304的中止存取来源存储器106允许减少来源存储器106的耗电量。然后,使来源存储器处于低功率模式,如本技艺所习知。例如,这可用处理器102或处理器108或其它适当电源控制模块来完成。可将内部存储器转译后备缓冲区136制作成为二元或M元查找树(M-ary search tree)。可用基于硬件的简单方法来查找该结构。M元查找树可受益于广泛的RAM接口而减少查找时间。或者,IM TLB 136可为杂凑表(hash table)。当处于仅内部存储器模式时,内部存储器接口110藉由提供进入交易(incoming transaction)的地址来发出查找命令给TLB。内部存储器TLB 136查找其内容以及送回内部存储器104的对应地址。不过,使用杂凑查找方法有一个比较不合意的结果是杂凑表的碰撞(collision)。此种碰撞可能造成长时间的查找以及可能使表格的实际建构复杂化。因此,查找树的办法可能比较合乎需要。
再参考一致性存储器拷贝逻辑124中与其相关的复制写入请求及操作,也参考图4至图7。图5显示拷贝逻辑134的一个实施例,其包含来源读取控制器500、耦合至该来源读取控制器的搁置数据队列502、也耦合至该搁置数据队列及该来源读取控制器的拷贝读取控制器504、耦合至该外部来源存储器接口116及拷贝写入控制器508和内部存储器接口110的输入请求路由器506。输入请求路由器506处理在拷贝逻辑134外的请求,例如来自在拷贝逻辑134外之存储器客户端128至130的读取或写入请求,以及使用适当总线(例如,510及512)提供读取响应。搁置数据队列502包含构造成为数据队列项目516的存储器。每一数据队列项目含有表示读取数据518、备妥旗标520、来源地址522、目标地址524及读取丢弃旗标526的数据。
再参考图1、图4及图5,描述一种用于由来源存储器(例如,外部存储器)转移内容至目标存储区或存储器(例如,内部存储器104)的方法。如区块400所示,判断分页拷贝工作队列132是否存在任何项目。例如,这可用拷贝流引擎138来完成。如果分页拷贝工作队列132中没有待完成的项目,处理包含等待由来源存储器位置至目标位置搁置于分页拷贝工作队列132的拷贝请求,例如分页拷贝请求。这图示于区块402。如果分页拷贝工作队列132有分页拷贝请求,该方法包含用例如退出队列(dequeuing)及队列的项目来处理请求。分页拷贝工作队列132的项目可包含目标起始地址、来源起始地址、分页长度及步距(stride)。这图示于区块404。此处理也可包含设定目标地址计数器为起始目标地址、设定来源地址计数器为起始来源地址、以及设定最终来源地址为起始来源地址加上分页长度。例如,这可藉由让拷贝流引擎138设定这些计数器的数值于拷贝读取控制器504中。除了提及的项目信息以外,若有需要,该项目也可包含每个读取请求的读取数。
如区块406所示,该方法包含判断来源地址计数器是否等于最终来源地址计数器。这可用拷贝读取控制器504来完成。如果来源地址计数器等于最终来源地址,则该方法包含,如区块408所示,等待搁置数据队列变空。一旦空了,该方法包含,如区块410所示,更新拷贝工作队列132。这可在每当拷贝逻辑134通知拷贝完成时,利用拷贝流引擎138来完成。也如区块410所示,该方法包含用目标存储器中之分页的新位置更新来源存储器的转译后备缓冲区。可用拷贝流引擎138或处理器108来完成此操作。
再参考区块406,如果来源地址计数器不等于最终来源地址,则该方法包含判断搁置数据队列520是否没空位,如区块412所示。如果搁置数据队列502没空位,如区块414所示,该方法包含等待搁置数据队列有空位。如果搁置数据队列502有空位,如区块416所示,该方法包含取得搁置数据队列的下一个空项目的编号,例如队列写入槽编号(queue write slot number)。这可由拷贝读取控制器504来完成。如区块418所示,该方法包含插入搁置数据队列502的队列项目,其以已知的写入槽编号的数字标示,来源地址必须等于来源地址计数器,目标地址必须等于目标地址计数器,备妥旗标必须设定成无效,以及读取丢弃旗标设定成无效。如区块420所示,该方法包含使来源地址计数器增加步距量以及使目标地址计数器增加步距量。区块418及420可用例如拷贝流引擎138执行,且更特别的是用拷贝读取控制器504。然后,方法继续到区块406。
此外,该方法包含如区块422所示,在取得搁置数据队列的下一个空项目的编号(写入槽编号)后,用若干参数发出读取请求给来源读取控制器500。这些参数包含必须等于来源地址计数器的读取地址、步距及队列写入槽编号。如区块424所示,该方法也包含等待由来源存储器106返回的读取数据。例如,这可用来源读取控制器500来完成。如区块426所示,该方法包含针对一队列写入槽编号,判断读取丢弃旗标是否有效。如果该读取丢弃旗标有效,该方法包含设定对应队列写入槽编号的备妥旗标为有效,如区块428所示。不过,若是读取丢弃旗标无效,该方法包含,如区块430所示,写入来自来源存储器的读取数据至搁置数据队列中以队列写入槽编号识别之项目的读取数据栏。然后,该方法继续到区块428。
请参考图6,描述一种在进行勾画图4的拷贝操作时维持来源及目标存储器中的内容一致性的方法。如区块600所示,一旦读取或写入请求从拷贝引擎134以外收到后,如区块602所示,该方法包含判断该请求是否为读取请求。此判断可用输入请求路由器506来完成。若成立,路由该读取请求至适当的存储器接口(内部或者外部存储器接口),如区块604所示。在此实施例中,所有的存储器存取请求都通过拷贝逻辑134以及用输入请求路由器506检查以及拿地址位置与当下正被拷贝的区域做比较。
输入请求路由器506拦截存储器写入请求,如区块606所示,在此该请求为写入请求。输入请求路由器506拦截正被拷贝至内部目标存储区之外部存储区(或来源区)的存储器写入请求。如果该写入请求的目标不是当下正被拷贝的区域,则路由该写入请求至适当的存储器接口,如区块608所示。针对正从来源存储器拷贝至目标存储器的区域,拦截被拦截的存储器请求。因此,如果写入请求的目标是当下正被拷贝的区域,如区块610所示,则该方法包含将写入请求送到来源存储器,亦即写入拷贝请求162。同样地,将原始写入请求送到来源存储器。输入请求路由器506提供数据550给指示需要复制写入请求的拷贝写入控制器508。如区块620所示,该方法包含一种飞行中操作一致性检查(in flight operation coherence check),其包含判断写入请求的地址是否等于搁置数据队列中其备妥旗标设定为零之项目的来源地址。如果不等于,则该方法包含,如区块622所示,用拷贝写入控制器508将写入请求的拷贝送到目标存储器,如170所示。
如果写入请求的地址等于搁置数据队列中之项目的来源地址,则该方法继续,如区块624所示,在此拷贝写入控制器识别搁置数据队列502内对应至写入操作之来源地址的项目编号。如区块626所示,该方法包含由拷贝写入控制器508执行将写入请求的数据写到搁置数据队列中经识别之项目编号的读取数据栏。如区块628所示,该方法包含拷贝写入逻辑508经由搁置数据队列中经识别之项目编号的讯号552来设定读取丢弃旗标为有效。同样地,防止写入来源读取控制器写入搁置数据队列中之该项目。图7显示用于移除搁置数据队列502之数据的一方法实施例,在此实施例中,可用拷贝写入逻辑508完成。如区块700所示,该方法包含等待直到搁置数据队列502中之项目有被设定为有效的备妥旗标。如区块702所示,该方法包含写入来自队列项目中备妥旗标为有效之读取数据栏的数据至目标存储器。这可包含,例如目标存储器写入要等于队列项目中备妥旗标为有效之目标地址栏的地址。如区块704所示,该方法包含标示该项目的备妥旗标为无效以及标示该读取丢弃旗标为无效。然后,每当搁置数据队列中有数据时,可重复该方法。
换言之,在正常操作期间,拷贝读取控制器504发出读取给来源存储器位置以及使该请求在搁置数据队列502中排队,其中将备妥旗标520设定成无效、读取丢弃旗标526设定成无效。外部存储器106通常有长延迟(long latency)。在延迟期后,外部存储器接口116送回发出读取请求的读取结果。来源读取控制器500写入由搁置数据队列项目之读取操作送达的数据以及设定备妥旗标520为有效。拷贝写入控制器508发现搁置数据队列中有备妥旗标为有效的项目,而因此将在搁置队列之项目中的数据写入至目标存储器。
为了促进一致性,拷贝读取控制器504发出读取给来源存储器位置以及使该请求在搁置数据队列520中排队。该外部存储器有长延迟,如上述。在数据从外部存储器回来之前,如果有新的写入操作送达以同一个存储器位置为目标的输入请求路由器506,则输入请求路由器506复制此写入请求以及送到拷贝写入控制器508作为数据550。拷贝写入控制器508查找搁置数据队列502以及判断同一个位置有来自外部来源存储器的搁置读取。如果搁置数据队列520中之项目的来源地址与复制写入请求的来源地址匹配,拷贝写入控制器508将复制写入请求含有的数据放入该项目的读取数据栏518以及也设定搁置数据队列502中之该项目的读取丢弃旗标526为有效,使得当读取结果随后由来源存储器送达时,它不会触发过时数据(stale data)至搁置数据队列项目的写入。当外部存储器接口接收因读取请求而产生的读取信息时,只有在读取丢弃旗标526为无效时,将读取数据写入搁置数据队列。当外部存储器接口接收因读取请求而产生的读取信息时,将备妥旗标设定成有效,而不管读取丢弃旗标526的数值为何。拷贝写入控制器发现搁置数据队列中备妥旗标设定成有效的项目以及写入来自该搁置数据队列项目(其备妥旗标520为有效)的数据,已确保不会有来自来源读取控制器的过时数据覆写搁置数据队列520的任何复制数据。此时,当前的项目不持有可被拷贝读取控制器504取得再利用的数据。同样地,该拷贝写入逻辑可操作成比较被拦截之存储器写入请求的地址与搁置数据队列中所有项目的地址以促进拷贝一致性。搁置数据队列520暂时储存拷贝自外部或来源存储区的数据及表示项目直到拷贝写入逻辑508能够由搁置数据队列520拷贝数据至目标存储区时的数据。与使用搁置数据队列502作为一种缓冲器以暂时储存待拷贝数据的方式相反,可使用将数据立即写入目标存储器而不需暂时储存于搁置数据队列的方式,但是仍然使用读取丢弃旗标。在可促进一致性的替代方法中,拷贝读取控制器504发出读取给来源存储器位置以及使该请求在搁置数据队列520中排队。该外部存储器有长延迟,如上述。在数据从外部存储器回来之前,如果有新的写入操作送达以同一个存储器位置为目标的输入请求路由器506,输入请求路由器506复制此写入请求以及送到拷贝写入控制器508作为数据550以及送到显示于162的来源存储器接口。然后,拷贝写入控制器508送出复制写入170给目标或内部存储器接口110。拷贝写入控制器508也查找搁置数据队列502以及判断同一个位置有来自外部来源存储器的搁置读取。拷贝写入控制器508设定搁置数据队列502中之该项目的读取丢弃旗标526为有效,使得当读取结果随后从来源存储器进来时,它不会触发将过时数据写入至目标存储器104的动作。当外部存储器接口接收因读取请求而产生的读取信息时,将备妥旗标设定成有效,而不管读取丢弃旗标526的数值为何。拷贝写入控制器发现搁置数据队列中备妥旗标设定成有效以及读取丢弃旗标也设定成有效的项目。这意谓已经完成内部目标存储器的复制写入,因此搁置数据队列中之项目的数据是过时的。因此,拷贝写入控制器508丢弃搁置数据队列中之该项目的数据以及重设备妥及读取丢弃旗标520及526。此时,当前项目不持有可被拷贝读取控制器504取得再利用的数据。同样地,该拷贝写入逻辑可操作成比较被拦截之存储器写入请求的地址与搁置数据队列中所有项目的地址以促进拷贝一致性。搁置数据队列520暂时储存拷贝自外部或来源存储区的数据以及表示项目直到拷贝写入逻辑508能够由搁置数据队列520拷贝数据至目标存储区时或者是能够丢弃表示读取丢弃旗标526已设定而且备妥旗标520也已设定之项目的数据时的数据。
如上述,拷贝写入逻辑508可操作成从该搁置数据队列判断对于来源存储器是否有同一地址对应至基于产生该复制写入请求步骤之写入请求的一搁置读取请求,若成立,设定该项目的丢弃旗标为有效。
该一致性存储器拷贝逻辑可操作成立即执行复制写入或拷贝写入逻辑将来自复制写入的数据插入搁置数据队列。此外,在拷贝数据时,拷贝包含在以下两种情况时从搁置数据队列读出项目:(a)在备妥旗标有效、丢弃旗标无效以及写入到目标存储区时,或者是(b)在备妥旗标有效、读取丢弃旗标有效时以及其中复制写入的内容已预先置入搁置数据队列。
也可使用仅部份内部存储器模式(partial internal memory onlymode),在此例如软件应用程序可能因为内部存储器太小而无法移动所有需要进入内部存储器的分页。就此情形而言,藉由把使用最频繁的分页移入内部存储器仍可减少外部存储器使用率。在处于此仅部份内部存储器模式时,把经常被处理器108存取的存储器分页放入内部存储器。这可减少处理器的存取延迟同时减少存取外部存储器的次数。同样地,该方法可包含判断哪些存储器分页比其它分页被处理器更频繁地存取,例如,这可使用在处理器108上执行的软件以及拷贝使用更频繁的存储器分页至内部目标存储器来完成。此外,该方法包含藉由储存来自位于外部来源存储器之外部转译后备缓冲区的信息之子集来产生内部转译后备缓冲区以及在查找外部TLB之前查找内部TLB来决定地址转译。可用数种方法完成虚拟至实体的转译。选项之一是使用用于地址转译的外部存储器分页表。另一选项是使用内部存储器转译后备缓冲区与外部存储器分页表两者。在使用此一选项时,首先查找内部存储器TLB。如果内部存储器TLB不包含需要的转译,则用外部存储器分页表来进行查找。
在CPU上执行的软件模块可用基于用例(use case)的先验方式(apriori manner)来识别内部存储器中为合适储存候选者的分页。或者,动态分页历史缓冲器(未图示)可放入存储器控制器区块122以识别及计数在给定时段内最常用的存储器分页。然后,可用逻辑或执行中的软件模块142以用分页历史缓冲器的内容来发出拷贝操作给一致性存储器拷贝逻辑。
如果分页拷贝工作队列为循环缓冲器(circular buffer)会是有用的,这使得若需要的话可使用批次操作。在通知软件层之前,该一致性存储器拷贝逻辑也可以顺序方式拷贝数个分页。若需要,也可并行进行拷贝多个分页以及取决于应用程序来执行丛发读取(burst reads)或丛发写入(burst writes)。
如前述,用于重新分配存储器内容之方法包含下列步骤:提供存取外部来源存储区的连续读取及写入,同时拷贝外部来源存储区的数据,例如,此系藉由继续运行引起外部来源存储区之存储器写入的当前应用程序。当应用程序正在运行时,该方法包含下列步骤:复制对于外部来源存储区的写入请求以产生复制写入请求。该方法包含下列步骤:执行该复制写入请求以从该外部来源存储区拷贝内容至该内部目标存储区。该方法也包含下列步骤:降低包含该外部存储区的外部存储器的功率以响应拷贝内容至该内部目标存储区的步骤。本技艺一般技术人员会了解,尽管此时以前描述了手持或可携式装置的示范具体实施例,然而本发明的具体实施例可包括例如笔记本计算机、游戏机、其它可携式装置(例如,可携式游戏系统)、桌上计算机、工作站及服务器计算机等等。
此外,已知集成电路设计系统(例如,工作站)是基于储存于计算机可读取存储器(例如但不受限于,CDROM、RAM、其它形式的ROM、硬盘、分布式存储器等等)上的可执行指令而制作集成电路。可用任何适当语言表示这些指令,例如但不受限于硬件描述符语言(hardwaredescriptor language)或其它适当语言。同样地,用此类系统也可将描述于本文的逻辑(例如,电路)制作成集成电路。例如,可制作集成电路用于使用储存于计算机可读取媒体上的指令的显示器,在执行这些指令时造成集成电路设计系统所制成的集成电路可操作成向图像来源提供者指示广色域RGB指示信息及用于待接收于多刺激颜色空间的广色域RGB颜色数据的广色域颜色格式定义信息;从该图像来源提供者接收广色域确认信息;以及,显示因应广色域RGB指示信息及格式定义信息而收到的广色域RGB颜色数据。也可适当地产生具有可执行其它本文所述操作之逻辑的集成电路。
已描述一种用以提供存储器内容一致性的新型DMA逻辑及方法作为存储器拷贝操作之一部份。以上提出的详细说明及描述于本文的实施例仅供图解说明而非限制。因此,希望本发明涵盖落入以上所揭示的基本原理及以下权利要求书的精神及范畴内的任何及所有修改、变异或等价陈述。

Claims (28)

1.一种用于重新分配存储器内容的方法,其包含下列步骤:
从一存储器位置拷贝数据至另一存储器位置;
复制对于来源存储区的写入请求以产生复制写入请求;以及
执行该复制写入请求以从该来源存储区拷贝内容至该目标存储区。
2.如权利要求1所述的方法,其中该来源存储器为外部存储器,以及其中该目标存储器为内部存储器,以及其中该方法包含下列步骤:
通过储存信息的子集或修改子集至内部转译后备缓冲区来产生该内部转译后备缓冲区,该信息来自位于含有数个实体地址的该外部存储器的外部转译后备缓冲区;
对于该目标存储区的地址转译,只使用该内部转译后备缓冲区;
中止对于该来源存储器的存取;以及
通过使该来源存储器处于低功率模式来减少该来源存储器的耗电量。
3.如权利要求2所述的方法,其中使该来源存储器处于低功率模式的步骤包含下列步骤:使该来源存储器处于自刷新模式或将该来源存储器的电源移除。
4.如权利要求1所述的方法,其包含下列步骤:
判断哪些存储器分页比其它分页被处理器更频繁地存取;
拷贝这些使用更频繁的存储器分页至内部目标存储器;以及
通过储存信息的子集或修改子集来产生内部转译后备缓冲区,该信息来自位于含有数个实体地址的该外部来源存储器的外部转译后备缓冲区;
在查找该外部转译后备缓冲区之前,查找该内部转译后备缓冲区以决定地址转译。
5.如权利要求1所述的方法,其包含下列步骤:
判断对于该来源存储器是否有同一地址对应至基于产生该复制写入请求步骤的写入请求的搁置读取请求;以及
若成立,设定该项目的丢弃旗标为有效。
6.如权利要求5所述的方法,其包含下列步骤:立即执行该复制写入。
7.如权利要求5所述的方法,其包含下列步骤:将来自该复制写入的数据插入该搁置数据队列。
8.如权利要求1所述的方法,其中该拷贝步骤包含下列步骤:从一搁置数据队列读取一项目,(a)在备妥旗标有效、丢弃旗标无效以及写入到该目标存储区时,或者是(b)在该备妥旗标有效、读取丢弃旗标有效且其中该复制写入的内容已预先置入该搁置数据队列时。
9.一种用于重新分配存储器内容的方法,其包含下列步骤:
通过以下步骤来提供存取外部来源存储区的连续读取及写入以及从该外部来源存储区拷贝数据至内部目标存储区:
继续运行对于该外部来源存储区引起存储器写入的当前应用程序;
复制对于该来源存储区的该写入请求以产生复制写入请求;以及
执行该复制写入请求以确保来自该来源存储区的内容与该目标存储区的内容相同;以及
降低含有该外部存储区的该外部存储器的功率以响应拷贝内容至该内部目标存储区的步骤。
10.如权利要求9所述的方法,其包含下列步骤:在减少该外部存储器的耗电量之前,通过储存整个转译后备缓冲区信息的子集或修改子集至内部转译后备缓冲区来产生该内部转译后备缓冲区,该整个转译后备缓冲区信息位于含有数个实体地址的该外部来源存储器中。
11.如权利要求10所述的方法,其中在降低该外部存储器的功率之前产生该内部转译后备缓冲区的步骤包含下列步骤:储存该实体地址的子集作为硬件查找树或杂凑表的至少一者。
12.一种用于重新分配存储器内容的方法,其包含下列步骤:
从外部存储器转移操作至芯片的内部存储器;
在降低该外部存储器的功率之前,通过储存信息的子集或修改子集至内部转译后备缓冲区来产生该内部转译后备缓冲区,该信息在位于含有数个实体地址的该外部来源存储器的整个转译后备缓冲区(TLB)中;以及
降低该外部存储器的功率。
13.如权利要求12所述的方法,其中在降低该外部存储器的功率之前产生该内部转译后备缓冲区的步骤包含下列步骤:储存该实体地址的子集或修改子集作为硬件查找树或杂凑表中的至少一者。
14.一种集成电路,其包含:
一致性存储器拷贝逻辑,其可操作成从一来源存储区拷贝数据至一目标存储区,以及可操作成复制进入写入请求至来源存储区以产生复制写入请求;以及
执行该复制写入请求以使该来源存储区及该目标存储区的内容同步。
15.如权利要求14所述的集成电路,其中该一致性存储器拷贝逻辑包含输入请求路由器逻辑与拷贝写入逻辑,该输入请求路由器逻辑可操作成拦截对于来源存储器且正被拷贝至该目标存储器的目标存储区的存储器写入请求,以及该拷贝写入逻辑可操作成比较被拦截的该存储器写入请求的地址与在搁置数据队列中的项目以促进拷贝一致性。
16.如权利要求15所述的集成电路,其中该搁置数据队列暂时储存待拷贝自该来源存储区的数据以及至少暂时储存表示该搁置数据队列中的项目备妥被拷贝至该目标存储器的数据及表示项目已被拷贝至该目标存储区的数据。
17.如权利要求14所述的集成电路,其包含储存信息的子集或修改子集的内部转译后备缓冲区,该信息来自位于含有数个实体地址的该外部来源存储器的外部转译后备缓冲区,以及包含使用该内部转译后备缓冲区转译只储存于该内部存储器的分页的实体地址及虚拟地址的存储器接口逻辑。
18.如权利要求14所述的集成电路,其中该一致性存储器拷贝逻辑包含含有搁置数据队列的拷贝逻辑、可操作地耦合至该搁置数据队列的拷贝写入逻辑,其中该拷贝写入逻辑可操作成:
从该搁置数据队列判断对于来源存储器是否有同一地址对应至基于产生该复制写入请求步骤的写入请求的搁置读取请求;以及
若成立,设定该项目的丢弃旗标为有效。
19.如权利要求18所述的集成电路,其中该一致性存储器拷贝逻辑可操作成立即执行该复制写入。
20.如权利要求18所述的集成电路,其包含可操作成将来自该复制写入的数据插入该搁置数据队列的拷贝写入逻辑。
21.如权利要求14所述的集成电路,其中该拷贝步骤包含下列步骤:从一搁置数据队列读取一项目,(a)在备妥旗标为有效、丢弃旗标无效以及写入到该目标存储区时,或者是(b)在该备妥旗标有效、读取丢弃旗标有效且其中该复制写入的内容已预先置入该搁置数据队列时。
22.一种包含如权利要求14所述的集成电路的装置。
23.一种装置,其包含:
集成电路,包含内部存储器于其上;
外部存储器,位在该集成电路外;
逻辑,其可操作成从该外部存储器转移操作至该内部存储器,以及在降低该外部存储器的功率之前,可操作成通过储存信息的子集或修改子集至内部转译后备缓冲区来产生该内部转译后备缓冲区,该信息在位于含有数个实体地址的该外部来源存储器的整个转译后备缓冲区中;以及,可操作成降低该外部存储器的功率。
24.如权利要求23所述的装置,其中该逻辑包含含有输入请求路由器逻辑及拷贝写入逻辑的一致性存储器拷贝逻辑,该输入请求路由器逻辑可操作成拦截对于来源存储器且正被拷贝至该目标存储区的存储器写入请求,以及该拷贝写入逻辑可操作成比较被拦截的该存储器写入请求的地址与搁置数据队列中的项目以促进拷贝一致性。
25.如权利要求24所述的装置,其中该搁置数据队列暂时储存待拷贝自该来源存储区的数据以及至少暂时储存表示该搁置数据队列中的项目备妥被拷贝至该目标存储器的数据及表示项目已被拷贝至该目标存储区的数据。
26.如权利要求24所述的装置,其中该拷贝写入逻辑可操作成判断对于该来源存储器是否有同一地址对应至基于产生该复制写入请求步骤的写入请求的搁置读取请求;以及
若成立,设定该项目的丢弃旗标为有效。
27.一种计算机可读取媒体,其包含:
储存于其上的数个可执行指令,在执行这些指令时造成集成电路设计系统所制成的集成电路可操作成通过下列步骤来重新分配存储器内容:
从一存储器位置拷贝数据至另一存储器位置;
复制对于来源存储区的写入请求以产生复制写入请求;以及
执行该复制写入请求以从该来源存储区拷贝内容至该目标存储区。
28.如权利要求27所述的计算机可读取媒体,其中这些可执行指令为硬件描述符语言指令。
CN200980157214.7A 2008-12-19 2009-12-16 以复制写入请求用于一致性存储器拷贝的方法及设备 Active CN102326153B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/340,120 2008-12-19
US12/340,120 US9569349B2 (en) 2008-12-19 2008-12-19 Method and apparatus for reallocating memory content
PCT/CA2009/001855 WO2010069071A1 (en) 2008-12-19 2009-12-16 Method and apparatus for coherent memory copy with duplicated write request

Publications (2)

Publication Number Publication Date
CN102326153A true CN102326153A (zh) 2012-01-18
CN102326153B CN102326153B (zh) 2016-01-20

Family

ID=42267788

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980157214.7A Active CN102326153B (zh) 2008-12-19 2009-12-16 以复制写入请求用于一致性存储器拷贝的方法及设备

Country Status (6)

Country Link
US (1) US9569349B2 (zh)
EP (1) EP2380084B1 (zh)
JP (2) JP5736320B2 (zh)
KR (1) KR101702049B1 (zh)
CN (1) CN102326153B (zh)
WO (1) WO2010069071A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108228088A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN109144803A (zh) * 2018-10-24 2019-01-04 郑州云海信息技术有限公司 一种一致性特性测试方法、装置、设备及存储介质
CN109240950A (zh) * 2015-04-03 2019-01-18 上海兆芯集成电路有限公司 处理器、区分系统管理模式条目的方法以及存储介质
WO2021249029A1 (zh) * 2020-06-09 2021-12-16 华为技术有限公司 用于执行数据处理的装置、方法、和计算设备
CN114428591A (zh) * 2022-01-27 2022-05-03 北京海纳川汽车部件股份有限公司 车载网关的数据存储方法、读取方法及装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5334048B2 (ja) * 2009-01-22 2013-11-06 株式会社日立製作所 メモリ装置および計算機
US8607023B1 (en) * 2009-12-16 2013-12-10 Applied Micro Circuits Corporation System-on-chip with dynamic memory module switching
US8682460B2 (en) * 2010-02-06 2014-03-25 Apple Inc. System and method for performing audio processing operations by storing information within multiple memories
US20120054382A1 (en) * 2010-08-31 2012-03-01 I/O Interconnect, Ltd. Method of hand-held smart device for accessing data
US8762644B2 (en) 2010-10-15 2014-06-24 Qualcomm Incorporated Low-power audio decoding and playback using cached images
US8855194B2 (en) * 2011-05-09 2014-10-07 Texas Instruments Incorporated Updating non-shadow registers in video encoder
US9274839B2 (en) * 2012-09-27 2016-03-01 Intel Corporation Techniques for dynamic physical memory partitioning
US10152408B2 (en) 2014-02-19 2018-12-11 Rambus Inc. Memory system with activate-leveling method
JP6233279B2 (ja) * 2014-11-07 2017-11-22 コニカミノルタ株式会社 画像形成装置、画像形成装置の制御プログラム、およびコントローラー
KR102314138B1 (ko) * 2015-03-05 2021-10-18 삼성전자 주식회사 모바일 장치 및 모바일 장치의 데이터 관리 방법
US10678702B2 (en) * 2016-05-27 2020-06-09 Advanced Micro Devices, Inc. Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
US10248565B2 (en) * 2016-09-19 2019-04-02 Qualcomm Incorporated Hybrid input/output coherent write
GB2557366B (en) * 2016-12-02 2020-10-28 Advanced Risc Mach Ltd An apparatus and method for transferring data between address ranges in memory
KR20190023777A (ko) * 2017-08-30 2019-03-08 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템, 및 그의 동작 방법
US10769074B2 (en) * 2017-11-09 2020-09-08 Microsoft Technology Licensing, Llc Computer memory content movement
US10866904B2 (en) * 2017-11-22 2020-12-15 Arm Limited Data storage for multiple data types
CN108920386B (zh) * 2018-07-20 2020-06-26 中兴通讯股份有限公司 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
US10936496B2 (en) 2019-06-07 2021-03-02 Micron Technology, Inc. Managing collisions in a non-volatile memory system with a coherency checker
US12093189B1 (en) * 2019-09-30 2024-09-17 Amazon Technologies, Inc. Memory-side page activity recorder

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893155A (en) * 1994-07-01 1999-04-06 The Board Of Trustees Of The Leland Stanford Junior University Cache memory for efficient data logging
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
US7100013B1 (en) * 2002-08-30 2006-08-29 Nvidia Corporation Method and apparatus for partial memory power shutoff
US20070061616A1 (en) * 2002-01-03 2007-03-15 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
CN1993681A (zh) * 2004-07-27 2007-07-04 西门子公司 对保持冗余的存储单元中的一致的存储内容进行保护的方法和装置
US20070174584A1 (en) * 2006-01-20 2007-07-26 Kopec Brian J Translation lookaside buffer manipulation
USRE39963E1 (en) * 1999-03-16 2007-12-25 Faust Communications Llc System and method for dynamic clock generation

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5487160A (en) * 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5535381A (en) * 1993-07-22 1996-07-09 Data General Corporation Apparatus and method for copying and restoring disk files
JP3735375B2 (ja) * 1995-10-13 2006-01-18 株式会社 日立製作所 マルチプロセッサシステム
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6442666B1 (en) * 1999-01-28 2002-08-27 Infineon Technologies Ag Techniques for improving memory access in a virtual memory system
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6243315B1 (en) * 1999-12-31 2001-06-05 James B. Goodman Computer memory system with a low power down mode
EP1182570A3 (en) * 2000-08-21 2004-08-04 Texas Instruments Incorporated TLB with resource ID field
US6701455B1 (en) * 2000-08-29 2004-03-02 Hitachi, Ltd. Remote copy system with data integrity
US6691245B1 (en) * 2000-10-10 2004-02-10 Lsi Logic Corporation Data storage with host-initiated synchronization and fail-over of remote mirror
US6789153B1 (en) * 2001-02-20 2004-09-07 Lsi Logic Corporation Bridge for coupling digital signal processor to on-chip bus as slave
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
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
JP2004005066A (ja) * 2002-05-30 2004-01-08 Internatl Business Mach Corp <Ibm> 複数の記録装置に記録されたデータのバックアップ技術
JP3986950B2 (ja) * 2002-11-22 2007-10-03 シャープ株式会社 Cpuおよびこれを備えた情報処理装置、cpuの制御方法
JP2004272448A (ja) * 2003-03-06 2004-09-30 Matsushita Electric Ind Co Ltd メモリ制御装置およびメモリ制御方法
JP4301849B2 (ja) * 2003-03-31 2009-07-22 株式会社日立製作所 情報処理方法及びその実施システム並びにその処理プログラム並びにディザスタリカバリ方法およびシステム並びにその処理を実施する記憶装置およびその制御処理方法
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
CN1853151A (zh) * 2003-09-16 2006-10-25 皇家飞利浦电子股份有限公司 具有高速缓冲存储器的装置的节电工作
JP4412989B2 (ja) * 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US20050160229A1 (en) * 2004-01-16 2005-07-21 International Business Machines Corporation Method and apparatus for preloading translation buffers
US7246258B2 (en) * 2004-04-28 2007-07-17 Lenovo (Singapore) Pte. Ltd. Minimizing resynchronization time after backup system failures in an appliance-based business continuance architecture
TWI262411B (en) * 2004-05-07 2006-09-21 Dorado Design Automation Inc Integrated circuit design system
JP4508798B2 (ja) * 2004-08-09 2010-07-21 株式会社日立製作所 ストレージリモートコピー方式
JP4555029B2 (ja) * 2004-09-01 2010-09-29 株式会社日立製作所 ディスクアレイ装置
JP2006293850A (ja) * 2005-04-13 2006-10-26 Hitachi Ltd リモートコピーシステムおよびリモートコピー方法
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US7426626B2 (en) 2005-08-23 2008-09-16 Qualcomm Incorporated TLB lock indicator
US7454585B2 (en) * 2005-12-22 2008-11-18 International Business Machines Corporation Efficient and flexible memory copy operation
JP2008033527A (ja) * 2006-07-27 2008-02-14 Hitachi Ltd ストレージ装置、ディスク装置及びデータ復元方法
JP5042644B2 (ja) * 2007-01-24 2012-10-03 株式会社日立製作所 リモートコピーシステム
US8629884B2 (en) * 2007-12-07 2014-01-14 Ati Technologies Ulc Wide color gamut display system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893155A (en) * 1994-07-01 1999-04-06 The Board Of Trustees Of The Leland Stanford Junior University Cache memory for efficient data logging
US6438660B1 (en) * 1997-12-09 2002-08-20 Intel Corporation Method and apparatus for collapsing writebacks to a memory for resource efficiency
USRE39963E1 (en) * 1999-03-16 2007-12-25 Faust Communications Llc System and method for dynamic clock generation
US20070061616A1 (en) * 2002-01-03 2007-03-15 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US7100013B1 (en) * 2002-08-30 2006-08-29 Nvidia Corporation Method and apparatus for partial memory power shutoff
CN1993681A (zh) * 2004-07-27 2007-07-04 西门子公司 对保持冗余的存储单元中的一致的存储内容进行保护的方法和装置
US20070174584A1 (en) * 2006-01-20 2007-07-26 Kopec Brian J Translation lookaside buffer manipulation

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109240950A (zh) * 2015-04-03 2019-01-18 上海兆芯集成电路有限公司 处理器、区分系统管理模式条目的方法以及存储介质
CN109240950B (zh) * 2015-04-03 2020-10-23 上海兆芯集成电路有限公司 处理器、区分系统管理模式条目的方法以及存储介质
CN108228088A (zh) * 2016-12-21 2018-06-29 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN108228088B (zh) * 2016-12-21 2020-10-23 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN109144803A (zh) * 2018-10-24 2019-01-04 郑州云海信息技术有限公司 一种一致性特性测试方法、装置、设备及存储介质
WO2021249029A1 (zh) * 2020-06-09 2021-12-16 华为技术有限公司 用于执行数据处理的装置、方法、和计算设备
CN114428591A (zh) * 2022-01-27 2022-05-03 北京海纳川汽车部件股份有限公司 车载网关的数据存储方法、读取方法及装置

Also Published As

Publication number Publication date
JP5736320B2 (ja) 2015-06-17
EP2380084A1 (en) 2011-10-26
WO2010069071A1 (en) 2010-06-24
EP2380084A4 (en) 2013-05-08
KR20110100659A (ko) 2011-09-14
JP2012512468A (ja) 2012-05-31
US9569349B2 (en) 2017-02-14
JP2015122113A (ja) 2015-07-02
EP2380084B1 (en) 2018-03-07
JP6307461B2 (ja) 2018-04-04
US20100161923A1 (en) 2010-06-24
KR101702049B1 (ko) 2017-02-02
CN102326153B (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN102326153A (zh) 以复制写入请求用于一致性存储器拷贝的方法及设备
US10120728B2 (en) Graphical processing unit (GPU) implementing a plurality of virtual GPUs
JP4805314B2 (ja) 入出力(i/o)仮想化動作のプロセッサへのオフロード
US9141573B2 (en) Power-optimized interrupt delivery
JP6009692B2 (ja) グラフィックスプロセッシングユニットベースのメモリ転送動作を行うためのマルチモードメモリアクセス技法
JP6768928B2 (ja) アドレスを圧縮するための方法及び装置
CN107580722B (zh) 具有对应于各个数据流的直接存储器存取引擎的高斯混合模型加速器
CN102033738B (zh) 超线程微处理器中经线程优先级提供服务质量
JP2019532427A (ja) トリガ動作を用いたgpuリモート通信
US9495718B2 (en) System and method for providing low latency to applications using heterogeneous processors
WO2016015583A1 (zh) 一种内存管理方法、装置以及内存控制器
WO2022068673A1 (zh) 指令处理设备以及指令处理方法
WO2021061269A1 (en) Storage control apparatus, processing apparatus, computer system, and storage control method
US6038642A (en) Method and system for assigning cache memory utilization within a symmetric multiprocessor data-processing system
CN116860665A (zh) 由处理器执行的地址翻译方法及相关产品
US20200371827A1 (en) Method, Apparatus, Device and Medium for Processing Data
EP2562652B1 (en) System and method for locking data in a cache memory
CN103164347A (zh) 数据缓存的方法和装置
US9652560B1 (en) Non-blocking memory management unit
US20200218663A1 (en) Translation Lookaside Buffer Invalidation By Range
WO2021237704A1 (zh) 数据同步方法及相关装置
JP4658064B2 (ja) 相互接続ネットワークでの効率的な順序保存用の方法及び装置
US20230112575A1 (en) Accelerator for concurrent insert and lookup operations in cuckoo hashing
US20210374131A1 (en) Hardware accelerator performing search using inverted index structure and search system including the hardware accelerator
US11989130B2 (en) Device for packet processing acceleration

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