CN105760317A - 数据写系统和用于核心处理器的数据写方法 - Google Patents
数据写系统和用于核心处理器的数据写方法 Download PDFInfo
- Publication number
- CN105760317A CN105760317A CN201510751093.6A CN201510751093A CN105760317A CN 105760317 A CN105760317 A CN 105760317A CN 201510751093 A CN201510751093 A CN 201510751093A CN 105760317 A CN105760317 A CN 105760317A
- Authority
- CN
- China
- Prior art keywords
- data
- write
- buffer
- storage device
- random access
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1621—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by maintaining request order
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4027—Coupling between buses using bus bridges
-
- 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/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了数据写系统和数据写方法。其中系统包括:处理单元、存储设备、动态随机存取存储器DRAM和总线仲裁器,所述DRAM包括:用户缓冲器;缓冲器高速缓存器;以及直接存储器访问缓冲器;其中,所述处理单元用于执行多个写事件以通过第一写路径将所述数据的一部分从所述DRAM的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备;其中,所述第一写路径经过所述DRAM的所述缓冲器高速缓存器,所述第二写路径不经过所述DRAM的所述缓冲器高速缓存器。实施本发明实施例减少了功率消耗并降低了对所述DRAM的访问次数。
Description
【技术领域】
本发明涉及数据存取技术领域,尤其涉及一种数据写系统和用于核心处理器的数据写方法。
【背景技术】
在包括一个或多个处理器(processor)、存储器(memory)、以及输入/输出(I/O)装置或接口的典型的电子设备中,直接存储器访问(directmemoryaccess,DMA)传输经常用于传输输入/输出装置与存储器之间的数据。当处理器使用程序化的输入/输出而不用DMA,所述输入/输出在读或写操作的整个期间被完全占用,因此不能为处理器执行其他的任务。当处理器启动一个DMA传输,则处理器可在所述DMA传输进行过程中执行其他的操作,并在所述DMA完成时接收中断。许多硬件系统(包括硬盘驱动器控制器(disk-drivecontrollers)、显卡(graphicscards)、网卡(networkcards)以及声卡(soundcards))使用DMA。在多核处理器中,DMA还用于芯片内数据的传输。具有DMA通道的电子设备相较于不具有DMA通道的电子设备可在具有更少处理器开销的情形下向设备传输数据或从设备接收数据。相似的,一个多核处理器中的处理单元可在不占用处理器时间的情形下,将数据传输给它的本地存储器或从所述本地存储器接收数据,这允许计算和数据传输并行执行。
【发明内容】
本发明提供一种数据写系统和用于核心处理器的数据写方法。
本发明的提供的数据写系统包括:处理单元、存储设备、动态随机存取存储器DRAM和总线仲裁器,其中,所述DRAM包括:用户缓冲器,用于存储需写入所述存储设备的数据;缓冲器高速缓存器;以及直接存储器访问缓冲器;其中,所述总线仲裁器耦接于所述处理单元、所述DRAM以及所述存储设备之间;其中,所述处理单元用于执行多个写事件以通过第一写路径将所述数据的一部分从所述DRAM的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备;其中,所述第一写路径经过所述DRAM的所述缓冲器高速缓存器,所述第二写路径不经过所述DRAM的所述缓冲器高速缓存器。
本发明提供的一种用于核心处理器的数据写方法,可应用于本发明实施例的处理单元的核心处理器,其可包括:执行多个写事件以通过第一写路径将所述数据的一部分从所述DRAM的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备;其中,所述第一写路径经过所述DRAM的所述缓冲器高速缓存器,所述第二写路径不经过所述DRAM的所述缓冲器高速缓存器。
本发明提供的另一种用于核心处理器的数据写方法,可应用于本发明实施例的处理单元的核心处理器,其可包括:执行多个第一写事件来通过第一写路径将所述数据的一部分从所述DRAM的用户缓冲器移至所述存储设备,其中,当所述第一写事件完成时,在所述第一路径上通过所述总线仲裁器访问了所述数据的所述一部分5次;根据所述第一写事件的数量确定是否执行顺序写程序;以及当所述顺序写程序执行时,执行多个第二写事件,以便通过第二写路径将所述数据的剩余部分从所述DRAM的用户缓冲器移至所述存储设备,其中,当所述第二写事件完成时,在所述第二写路径上通过所述总线仲裁器访问了所述数据的所述剩余部分3次。
本发明提供的又一种用于核心处理器的数据写方法,可应用于本发明实施例的处理单元的核心处理器,其可包括:执行多个第一写事件来通过第一写路径将所述数据的一部分从所述DRAM的用户缓冲器移至所述存储设备,其中,当通过所述第一写路径将所述数据的所述一部分从所述DRAM的用户缓冲器移至所述存储设备时,所述核心处理器的一个1级高速缓存器获取了所述数据的所述一部分2次;根据所述第一写事件的数量确定是否执行顺序写程序;以及当所述顺序写程序执行时,执行多个第二写事件,以便在第二写路径将所述数据的剩余部分从所述DRAM的用户缓冲器移至所述存储设备,其中,当通过所述第二写路径将所述数据的所述剩余部分从所述DRAM的用户缓冲器移至所述存储设备时,所述核心处理器的所述1级高速缓存器获取了所述数据的所述剩余部分1次。
通过实施本发明上述的技术方案,减少了功率消耗并降低了对所述DRAM的访问次数。
【附图说明】
图1为依据本发明的一个实施例的数据写系统100的示意图。
图2A和图2B分别示出了依据本发明的一个实施例的写操作的第一阶段P1和第二阶段P2。
图3示出了图1中的数据138和写操作的第一阶段P1和第二阶段P2的关系图。
图4示出了依据本发明的一个实施例的用于核心处理器的数据写方法。
【具体实施方式】
以下将列举本发明一些实施例的详细实现,其中一部分实施例将结合附图进行描述。
图1为依据本发明的一个实施例的数据写系统100的示意图。数据写系统100包括处理单元110,动态随机存取存储器(DynamicRandomAccessMemory,DRAM)130,存储设备(storagedevice)150以及总线仲裁器(arbiter)170。所述总线仲裁器170耦接于所述处理单元110、所述DRAM130以及所述存储设备150之间,用于分配访问所述DRAM130和所述存储设备150的权利。所述处理单元110包括两个处理器群集(processorclusters)125A、125B和一个高速缓存相干互联(cachecoherentinterconnect,CCI)设备120。所述处理器群集125A和125B中的任一个包括多个核心处理器和相应的高速缓存器(cache)。例如,所述处理器群集125A包括核心处理器112A、核心处理器112B、与所述核心处理器112A相对应的1级(level1)高速缓存器114A,与所述核心处理器112B相对应的1级高速缓存器114B,以及与所述核心处理器112A和所述核心处理器112B相对应的2级高速缓存器116A。另外,所述处理器群集125B包括核心处理器112C、核心处理器112D、与所述核心处理器112C相对应的1级(level1)高速缓存器114C,与所述核心处理器112D相对应的1级高速缓存器114D,以及与所述核心处理器112C和所述核心处理器112D相对应的2级高速缓存器116B。所述DRAM130包括用户缓冲器(buffer)135,用于存储海量数据(massdata)138;还包括缓冲器高速缓存器(buffercache)140和直接存储器访问(directmemoryaccess,DMA)缓冲器145,其中,所述缓冲器高速缓存器140的容量小于所述用户缓冲器135和所述直接存储器访问缓冲器145的容量。在一个实施例中,数据写系统100可实施于一个便携式电子装置中,且所述存储设备150可为嵌入式多媒体卡(embeddedmultimediacard,eMMC)或USB闪存设备(USBFlashDevice,UFD)。在图1中,核心处理器112A-112D中的其中一个通过所述总线仲裁器170执行一个写操作(writeoperation),以将存储在所述DRAM130中的数据138写入所述存储设备150中。另外,所述写操作可被分为第一阶段(firstphase)和第二阶段(secondphase)。所述第一阶段和第二阶段的细节将在后续进行描述。
图2A和图2B分别示出了依据本发明的一个实施例的写操作的第一阶段P1和第二阶段P2,图3示出了图1中的数据138和写操作的第一阶段P1和第二阶段P2的关系图。在图3中,数据138被分为多个数据段SEG0-SEGx,其中每一个数据段对应一个写事件(writetransaction)。同时参考图2A和图3,假定核心处理器112C用于执行所述写操作。在所述写操作的第一阶段P1,所述核心处理器112C执行多个写事件(例如,可称之为第一写事件),通过第一写路径Path_1来将数据138的数据段SEG0-SEG6从所述DRAM130的所述用户缓冲器135移至所述存储设备150,其中,所述第一写路径Path_1包括5个段S11、S12、S13、S14和S15。例如,当所述核心处理器112C执行对应所述数据段SEG0的事件,首先,所述数据段SEG0通过所述总线仲裁器170从所述DRAM130的所述用户缓冲器135移至所述核心处理器112C的所述1级高速缓存器(cache)114C(也即,所述第一写路径Path_1的段S11)。然后,所述数据段SEG0通过所述总线仲裁器170从所述核心处理器112C的所述1级高速缓存器114C移至所述DRAM130的缓冲器高速缓存器140(也即,所述第一写路径Path_1的段S12)。然后,所述数据段SEG0通过所述总线仲裁器170从所述DRAM130的缓冲器高速缓存器140移至所述核心处理器112C的所述1级高速缓存器114C(也即,所述第一写路径Path_1的段S13)。然后,所述数据段SEG0通过所述总线仲裁器170从所述核心处理器112C的所述1级高速缓存器114C移至所述DRAM130的DMA缓冲器145(也即,所述第一写路径Path_1的段S14)。然后,所述数据段SEG0通过所述总线仲裁器170从所述DRAM130的DMA缓冲器145移至所述存储设备150(也即,所述第一写路径Path_1的段S15)。由此,对应所述数据段SEG0的事件完成。另外,在所述写操作的所述第一阶段P1,在对应所述数据段(例如,数据段SEG0)的事件执行和完成时,在所述写路径Path_1上通过所述总线仲裁器170访问了每一个数据段5次。换言之,当通过所述第一写路径Path_1将数据段(例如,数据段SEG0)从所述DRAM的所述用户缓冲器135移至所述存储设备150时,所述核心处理器112C的所述1级高速缓存器114C对每个数据段获取了2次。
当在所述写操作的所述第一阶段P1被写入所述存储设备150的数据段的数量超过一个特定值时,所述核心处理器112C将确定所述写操作为一个顺序写操作(sequentialwriteoperation),并进入所述写操作的所述第二阶段P2来执行一个顺序写程序。特别的,当写事件(例如,所述第一写事件)的数量超过所述特定值,所述顺序写程序执行,其中,所述写事件(例如,所述第一写事件)对应通过所述第一写路径Path_1从所述DRAM130移至所述存储设备150的数据段。可理解的是,所述特定值基于各种应用而确定。同时参考图2B和图3,在所述写操作的所述第二阶段P2,所述核心处理器112C执行多个写事件(例如,可称之为第二写事件),通过所述第二写路径Path_2来将所述数据138的剩余的数据段SEG7-SEGx从所述DRAM130的所述用户缓冲器135移至所述存储设备150,其中,所述第二写路径Path_2包括三个段S21、S22和S23。例如,当所述核心处理器112C执行对应所述数据段SEG7的事件,首先,所述数据段SEG7通过所述总线仲裁器170从所述DRAM130的所述用户缓冲器135移至所述核心处理器112C的所述1级高速缓存器114C(也即,所述第二写路径Path_2的段S21)。然后,所述数据段SEG7通过所述总线仲裁器170从所述核心处理器112C的所述1级高速缓存器114C移至所述DRAM130的DMA缓冲器145(也即,所述第二写路径Path_2的段S22)。然后,所述数据段SEG7通过所述总线仲裁器170从所述DRAM130的DMA缓冲器145移至所述存储设备150(也即,所述第二写路径Path_2的段S23)。由此,对应所述数据段SEG7的事件完成。此外,在所述写操作的所述第二阶段P2,在对应所述数据段(例如,数据段SEG7)的事件执行和完成时,在所述写路径Path_1上通过所述总线仲裁器170访问了每一个数据段3次。换言之,当通过所述第二写路径Path_2将数据段(例如,数据段SEG7)从所述DRAM的所述用户缓冲器135移至所述存储设备150时,所述核心处理器112C的所述1级高速缓存器114C对每个数据段仅获取了1次。特别的,在所述写操作的第二阶段P2,所述DRAM130的缓冲器高速缓存器140并未使用,因此,减少了功率消耗并降低了对所述DRAM130的访问次数。此外,所述写操作的所述第一阶段P1中的写事件的数量小于所述第二阶段P2中的写事件的数量(也即,所述第一写事件的数量小于所述第二写事件的数量)。
除了上述结构,本发明实施例还提供了用于核心处理器的数据写方法,其中,所述核心处理器通过耦接于DRAM和存储设备和所述核心处理器之间的总线仲裁器将数据从所述DRAM写入到所述存储设备中。在该实施例中,所述DRAM包括用户缓冲器、缓冲器高速缓存器和DMA缓冲器,如图1所示,被写入所述存储设备的数据存储在所述DRAM130的用户缓冲器中。本发明的数据写方法总体可包括如下流程:执行多个写事件以通过第一写路径将所述数据的一部分从所述DRAM的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备;其中,所述第一写路径经过所述DRAM的所述缓冲器高速缓存器,所述第二写路径不经过所述DRAM的所述缓冲器高速缓存器。关于本发明的数据写方法的详细的实施例,将在后续进行描述。
图4示出了依据本发明的一个实施例的用于核心处理器的数据写方法,其中,所述核心处理器通过耦接于DRAM和存储设备和所述核心处理器之间的总线仲裁器将数据从所述DRAM写入到所述存储设备中。在该实施例中,所述DRAM包括用户缓冲器、缓冲器高速缓存器和DMA缓冲器,如图1所示,被写入所述存储设备的数据存储在所述DRAM130的用户缓冲器中。首先,在步骤S410,所述核心处理器执行多个写事件(例如,可称之为第一写事件),通过第一写路径(例如,图2A中的写路径Path_1)来将所述数据的一部分从所述DRAM的所述用户缓冲器移至所述存储设备。如上所述,当对应所述数据的所述一部分的写事件完成时,在所述第一写路径上通过所述总线仲裁器访问了所述数据的所述一部分5次。例如,首先,所述数据的所述一部分通过所述总线仲裁器从所述DRAM的所述用户缓冲器移至所述核心处理器的一个1级高速缓存器。然后,所述数据的所述一部分通过所述总线仲裁器从所述核心处理器的所述1级高速缓存器移至所述DRAM的所述缓冲器高速缓存器。然后,所述数据的所述一部分通过所述总线仲裁器从所述DRAM的所述缓冲器高速缓存器移至所述核心处理器的所述1级高速缓存器。然后,所述数据的所述一部分通过所述总线仲裁器从所述核心处理器的所述1级高速缓存器移至所述DRAM的DMA缓冲器。然后,所述数据的所述一部分通过所述总线仲裁器从所述DRAM的DMA缓冲器移至所述存储设备。在步骤S420,所述核心处理器根据步骤S410所执行的写事件的数量确定是否执行一个顺序写程序。当步骤S410执行的写事件的数量未超过特定值,则在步骤S430,所述核心处理器继续通过所述第一写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备。相反的,当步骤S410执行的写事件的数量超过所述特定值,在步骤S440,所述核心处理器将确定所述写操作为一个顺序写操作,因此所述顺序写程序执行,以便通过第二写路径(例如,图2B中的写路径Path_2)将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备,其中,所述第二写路径比所述第一写路径短。如上所述,当对应所述数据的所述剩余部分的写事件(例如,可称之为第二写事件)完成时,在所述第二写路径上通过所述总线仲裁器访问了所述数据的所述剩余部分3次。例如,首先,所述数据的所述剩余部分通过所述总线仲裁器从所述DRAM的所述用户缓冲器移至所述核心处理器的一个1级高速缓存器。然后,所述数据的所述剩余部分通过所述总线仲裁器从所述核心处理器的所述1级高速缓存器中移至所述DRAM的DMA缓冲器。然后,所述数据的所述剩余部分通过所述总线仲裁器从所述DRAM的DMA缓冲器移至所述存储设备。
权利要求书中用以修饰元件的“第一”、“第二”等序数词的使用本身未暗示任何优先权、优先次序、各元件之间的先后次序、或所执行方法的时间次序,而仅用作标识来区分具有相同名称(具有不同序数词)的不同元件。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何本领域技术人员,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当视权利要求所界定者为准。
Claims (21)
1.一种数据写系统,包括:处理单元、存储设备、动态随机存取存储器和总线仲裁器,其中,
所述动态随机存取存储器包括:
用户缓冲器,用于存储需写入所述存储设备的数据;
缓冲器高速缓存器;以及
直接存储器存取缓冲器;
其中,所述总线仲裁器耦接于所述处理单元、所述动态随机存取存储器以及所述存储设备之间;
其中,所述处理单元用于执行多个写事件以通过第一写路径将所述数据的一部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备;
其中,所述第一写路径经过所述动态随机存取存储器的所述缓冲器高速缓存器,所述第二写路径不经过所述动态随机存取存储器的所述缓冲器高速缓存器。
2.如权利要求1所述的数据写系统,其特征在于,所述处理单元包括至少一个核心处理器,其中,所述处理单元执行多个第一写事件来将所述数据的所述一部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,其中,对应每一个所述第一写事件的数据依次通过所述核心处理器的一个1级高速缓存器、所述缓冲器高速缓存器、所述核心处理器的所述1级高速缓存器以及所述直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
3.如权利要求2所述的数据写系统,其特征在于,当所述第一写事件的数量超过一个特定值,所述处理单元为所述数据的所述剩余部分执行一个顺序写程序,以便通过所述第二写路径将所述数据的所述剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
4.如权利要求2所述的数据写系统,其特征在于,所述处理单元执行多个第二写事件来将所述数据的所述剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,其中,对应每一个所述第二写事件的数据依次通过所述核心处理器的所述1级高速缓存器和所述直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
5.如权利要求4所述的数据写系统,其特征在于,所述第一写事件的数量小于所述第二写事件的数量。
6.如权利要求1所述的数据写系统,其特征在于,所述处理单元包括至少一个处理器群集,且所述处理器群集包括多个核心处理器,所述数据的所述一部分被从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备时,在所述第一写路径上通过了所述核心处理器的所述1级高速缓存器2次,所述数据的所述剩余部分被从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备时,在所述第二写路径上通过了所述核心处理器的所述1级高速缓存器1次。
7.如权利要求1所述的数据写系统,其特征在于,所述存储设备为嵌入式多媒体卡或USB闪存设备。
8.如权利要求1所述的数据写系统,其特征在于,所述动态随机存取存储器中的所述缓冲器高速缓存器的容量小于所述用户缓冲器的容量以及小于所述直接存储器存取缓冲器的容量。
9.一种用于核心处理器的数据写方法,其特征在于,所述核心处理器通过耦接于动态随机存取存储器动态随机存取存储器和存储设备和所述核心处理器之间的总线仲裁器将数据从所述动态随机存取存储器写入所述存储设备,所述动态随机存取存储器包括用户缓冲器、缓冲器高速缓存器和直接存储器访问缓冲器,所述方法包括:
执行多个写事件以通过第一写路径将所述数据的一部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备;
其中,所述第一写路径经过所述动态随机存取存储器的所述缓冲器高速缓存器,所述第二写路径不经过所述动态随机存取存储器的所述缓冲器高速缓存器。
10.如权利要求9所述的用于核心处理器的数据写方法,其特征在于,所述执行多个写事件以通过第一写路径将所述数据的一部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,以及通过第二写路径将所述数据的剩余部分从所述DRAM的所述用户缓冲器移至所述存储设备,包括:
执行多个第一写事件来将所述数据的所述一部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,其中,对应每一个所述第一写事件的数据依次通过所述核心处理器的一个1级高速缓存器、所述缓冲器高速缓存器、所述核心处理器的所述1级高速缓存器以及所述直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备;以及
执行多个第二写事件来将所述数据的所述剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备,其中,对应每一个所述第二写事件的数据依次通过所述核心处理器的所述1级高速缓存器和所述直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
11.如权利要求10所述的用于核心处理器的数据写方法,其特征在于,当所述第一写事件的数量超过一个特定值,为所述数据的所述剩余部分执行一个顺序写程序,以便通过所述第二写路径将所述数据的所述剩余部分从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
12.一种用于核心处理器的数据写方法,其特征在于,所述核心处理器通过耦接于动态随机存取存储器DRAM和存储设备和所述核心处理器之间的总线仲裁器将数据从所述DRAM写入所述存储设备,所述动态随机存取存储器包括用户缓冲器、缓冲器高速缓存器和直接存储器访问缓冲器,所述方法包括:
执行多个第一写事件来通过第一写路径将所述数据的一部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备,其中,当所述第一写事件完成时,在所述第一路径上通过所述总线仲裁器访问了所述数据的所述一部分5次;
根据所述第一写事件的数量确定是否执行顺序写程序;以及
当所述顺序写程序执行时,执行多个第二写事件,以便通过第二写路径将所述数据的剩余部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备,其中,当所述第二写事件完成时,在所述第二写路径上通过所述总线仲裁器访问了所述数据的所述剩余部分3次。
13.如权利要求12所述的数据写方法,其特征在于,还包括:
当所述第一写事件的数量超过一个特定值时,为所述数据的所述剩余部分执行所述顺序写程序。
14.如权利要求12的数据写方法,其特征在于,当每一个所述第一写事件通过经过所述总线仲裁器而执行时,对应所述第一写事件的数据依次通过所述核心处理器的一个1级高速缓存器、所述缓冲器高速缓存器、所述核心处理器的所述1级高速缓存器以及所述直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
15.如权利要求14所述的数据写方法,其特征在于,当每一个所述第二事件通过经过所述总线仲裁器而执行时,对应所述第二写事件的数据依次通过所述核心处理器的所述1级高速缓存器和所述动态随机存取存储器的直接存储器访问缓冲器从所述动态随机存取存储器的所述用户缓冲器移至所述存储设备。
16.如权利要求12所述的数据写方法,其特征在于,所述第一写事件的数量小于所述第二写事件的数量。
17.一种用于核心处理器的数据写方法,其特征在于,所述核心处理器将数据从所述动态随机存取存储器存入所述存储设备,所述方法包括:
执行多个第一写事件来通过第一写路径将所述数据的一部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备,其中,当通过所述第一写路径将所述数据的所述一部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备时,所述核心处理器的一个1级高速缓存器获取了所述数据的所述一部分2次;
根据所述第一写事件的数量确定是否执行顺序写程序;以及
当所述顺序写程序执行时,执行多个第二写事件,以便在第二写路径将所述数据的剩余部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备,其中,当通过所述第二写路径将所述数据的所述剩余部分从所述动态随机存取存储器的用户缓冲器移至所述存储设备时,所述核心处理器的所述1级高速缓存器获取了所述数据的所述剩余部分1次;
其中,所述动态随机存取存储器还包括缓冲器高速缓存器和直接存储器访问缓冲器。
18.如权利要求17所述的数据写方法,其特征在于,还包括:当所述第一写事件的数量超过一个特定值时,为所述数据的所述剩余部分执行所述顺序写程序。
19.如权利要求17所述的数据写方法,其特征在于,当每一个所述第一写事件执行时,对应所述第一写事件的数据依次通过所述核心处理器的一个1级高速缓存器、所述缓冲器高速缓存器、所述核心处理器的所述1级高速缓存器以及所述直接存储器访问缓冲器从所述DRAM的所述用户缓冲器移至所述存储设备。
20.如权利要求19所述的数据写方法,其特征在于,当每一个所述第二事件执行时,对应所述第二写事件的数据依次通过所述核心处理器的所述1级高速缓存器和所述DRAM的直接存储器访问缓冲器从所述DRAM的所述用户缓冲器移至所述存储设备。
21.如权利要求17所述的数据写方法,其特征在于,所述第一写事件的数量小于所述第二写事件的数量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/535,625 | 2014-11-07 | ||
US14/535,625 US9658976B2 (en) | 2014-11-07 | 2014-11-07 | Data writing system and method for DMA |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105760317A true CN105760317A (zh) | 2016-07-13 |
CN105760317B CN105760317B (zh) | 2018-10-16 |
Family
ID=55912323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510751093.6A Active CN105760317B (zh) | 2014-11-07 | 2015-11-06 | 数据写系统和用于核心处理器的数据写方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9658976B2 (zh) |
CN (1) | CN105760317B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10241942B2 (en) * | 2016-06-28 | 2019-03-26 | Mediatek Inc. | Method and apparatus for memory access |
US11798654B1 (en) * | 2022-07-28 | 2023-10-24 | The Florida International University Board Of Trustees | Systems and methods for matching mass spectrometry data with a peptide database |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442674B1 (en) * | 1998-12-30 | 2002-08-27 | Intel Corporation | Method and system for bypassing a fill buffer located along a first instruction path |
US20070088995A1 (en) * | 2005-09-26 | 2007-04-19 | Rambus Inc. | System including a buffered memory module |
CN101040255A (zh) * | 2004-08-03 | 2007-09-19 | 皇家飞利浦电子股份有限公司 | 用于控制处理器与外设之间的通信的控制器和方法 |
CN101221544A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 用于执行dma块移动的方法及dma设备 |
CN102804152B (zh) * | 2009-05-15 | 2015-11-25 | 甲骨文美国公司 | 对存储器层次结构中的闪存的高速缓存一致性支持 |
-
2014
- 2014-11-07 US US14/535,625 patent/US9658976B2/en active Active
-
2015
- 2015-11-06 CN CN201510751093.6A patent/CN105760317B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6442674B1 (en) * | 1998-12-30 | 2002-08-27 | Intel Corporation | Method and system for bypassing a fill buffer located along a first instruction path |
CN101040255A (zh) * | 2004-08-03 | 2007-09-19 | 皇家飞利浦电子股份有限公司 | 用于控制处理器与外设之间的通信的控制器和方法 |
US20070088995A1 (en) * | 2005-09-26 | 2007-04-19 | Rambus Inc. | System including a buffered memory module |
CN101221544A (zh) * | 2007-01-10 | 2008-07-16 | 国际商业机器公司 | 用于执行dma块移动的方法及dma设备 |
CN102804152B (zh) * | 2009-05-15 | 2015-11-25 | 甲骨文美国公司 | 对存储器层次结构中的闪存的高速缓存一致性支持 |
Also Published As
Publication number | Publication date |
---|---|
US9658976B2 (en) | 2017-05-23 |
US20160132442A1 (en) | 2016-05-12 |
CN105760317B (zh) | 2018-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8769318B2 (en) | Asynchronous management of access requests to control power consumption | |
US9317214B2 (en) | Operating a memory management controller | |
US8380909B2 (en) | Multiple command queues having separate interrupts | |
JP6408514B2 (ja) | 複数のメモリ領域にわたる強順序付けされたデバイス、および排他的トランザクションの自動順序付け | |
US20130297852A1 (en) | Systems and methods for providing early hinting to nonvolatile memory charge pumps | |
US20090006720A1 (en) | Scheduling phased garbage collection and house keeping operations in a flash memory system | |
US9032162B1 (en) | Systems and methods for providing memory controllers with memory access request merging capabilities | |
CN109213423B (zh) | 基于地址屏障无锁处理并发io命令 | |
JP2010532061A (ja) | フラッシュメモリシステムにおける段階的ガーベッジコレクションおよびハウスキーピング操作 | |
US20090182977A1 (en) | Cascaded memory arrangement | |
CN102609276A (zh) | 预先载入常用应用程序的方法及其电子装置 | |
US20180004672A1 (en) | Cache unit and processor | |
CN105760317A (zh) | 数据写系统和用于核心处理器的数据写方法 | |
US8375178B2 (en) | Memory page eviction based on present system operation | |
US20150278114A1 (en) | Control apparatus and control method | |
US20150212759A1 (en) | Storage device with multiple processing units and data processing method | |
US20180203813A1 (en) | Methods for processing return entities associated with multiple requests in single interrupt service routine thread and apparatuses using the same | |
US10664396B2 (en) | Systems, methods and apparatus for fabric delta merge operations to enhance NVMeoF stream writes | |
US9400837B2 (en) | Real-time text indexing | |
US9069702B2 (en) | Reducing read starvation | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation | |
CN109213424B (zh) | 并发io命令的无锁处理方法 | |
US9971510B2 (en) | Method for managing memory and associated microcontroller | |
US9645936B1 (en) | System and method for informing hardware to limit writing in a memory hierarchy | |
US20240331746A1 (en) | Direct memory access (dma) circuit and operation method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |