CN114661651A - 数据存取方法以及系统 - Google Patents
数据存取方法以及系统 Download PDFInfo
- Publication number
- CN114661651A CN114661651A CN202011546234.8A CN202011546234A CN114661651A CN 114661651 A CN114661651 A CN 114661651A CN 202011546234 A CN202011546234 A CN 202011546234A CN 114661651 A CN114661651 A CN 114661651A
- Authority
- CN
- China
- Prior art keywords
- processor
- address
- memory controller
- storage medium
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17381—Two dimensional, e.g. mesh, torus
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
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)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bus Control (AREA)
Abstract
本申请提供一种数据存取方法以及系统,所述方法应用于数据存取系统,数据存取系统包括片上系统和存储介质,片上系统包括至少两个处理器和每个处理器的DMA控制器、仲裁器及内存控制器,方法包括:处理器发送请求信息,请求信息包括操作类型和地址,操作类型包括读取操作或写入操作,当请求信息为本地访问时,处理器根据地址通过其对应的仲裁器及内存控制器对存储介质进行读取操作或写入操作,以完成处理器的本地内存访问,当请求信息为非本地内存访问时,处理器根据地址通过其对应的仲裁器、内存控制器及DMA控制器对存储介质进行读取操作或写入操作,以完成处理器的非本地内存访问。可以缩短数据搬移时间,提高数据存取效率。
Description
技术领域
本发明涉及一种数据存取技术领域,尤其涉及一种数据存取方法以及系统。
背景技术
片上系统(System-on-a-Chip,SoC)是一种集成电路芯片,SoC包括一个或多个处理器单元,可包括内部存储器(例如,静态随机存取存储器(SRAM)),或者可与容量大于内部存储器的容量的外部存储器装置(例如,动态随机存取存储器(DRAM))通信。
目前SoC上多处理器对内存的访问是总线方式,通过单一内存控制器访问动态随机存取内存器的内存,SoC上的多个处理器单元共享一个大的内存池,在多个处理器要进行数据传输时,使得数据传输效率低,时延高。
发明内容
有鉴于此,有必要提供一种数据存取方法以及系统,可以提高数据传输效率,降低时延。
本申请一实施方式提供一种数据存取方法,所述数据存取方法应用于数据存取系统中,所述数据存取系统包括片上系统和存储介质,所述片上系统和所述存储介质之间通过总线通信,所述片上系统包括至少两个处理器和每个处理器的各自搬运模块,所述搬运模块包括DMA控制器、仲裁器及内存控制器,所述数据存取方法包括:
所述处理器发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作;
当所述请求信息为本地访问时,基于所述地址,所述处理器通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的本地内存访问;以及,
当所述请求信息为非本地内存访问时,基于所述地址,所述处理器通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的非本地内存访问。
根据本申请的一些实施方式,所述当所述请求信息为本地访问时,基于所述地址,所述处理器通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的本地内存访问包括:
当所述请求信息为本地访问时,所述处理器的工作模式为内存控制模式,所述处理器向其对应的所述内存控制器发送第一控制命令,所述第一控制命令用于指示所述内存控制器获取所述请求信息;
所述内存控制器根据所述请求信息向所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述内存控制器;
所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作。
根据本申请的一些实施方式,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作包括:
在进行读取操作时,所述内存控制器根据所述地址读取第一数据,所述处理器接收所述内存控制器发送的所述第一数据;
或者,在进行写入操作时,所述内存控制器根据所述地址将所述处理器发送的第二数据写入至所述存储介质。
根据本申请的一些实施方式,所述当所述请求信息为非本地内存访问时,基于所述地址,所述处理器通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的非本地内存访问包括:
当所述请求信息为非本地内存访问时,所述处理器的工作模式为DMA控制模式,所述处理器向其对应的所述DMA控制器发送第二控制命令,所述第二控制命令用于指示所述DMA控制器获取所述请求信息;
所述DMA控制器根据所述请求信息向对应的所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述DMA控制器;
所述DMA控制器根据所述地址通过对应的所述内存控制器对所述存储介质进行读取操作或写入操作。
根据本申请的一些实施方式,所述DMA控制器根据所述地址通过对应的所述内存控制器对所述存储介质进行读取操作或写入操作包括:
所述DMA控制器将所述地址发送给所述内存控制器,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作。
根据本申请的一些实施方式,所述DMA控制器将所述地址发送给所述内存控制器,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作包括:
在进行写入操作时,所述DMA控制器接收所述处理器发送的第三数据,并向所述地址中目的地址所对应的仲裁器发送总线请求信号,在获得总线使用权后,所述DMA控制器将所述第三数据发送给所述目的地址对应的第一内存控制器,以使得所述第一内存控制器将所述第三数据写入至所述存储介质;
或者,在进行读取操作时,所述DMA控制器根据所述地址中的源地址向对应的仲裁器发送总线请求信号,在获得总线使用权后,所述DMA控制器将所述源地址发送给所述源地址对应的第二内存控制器,所述第二内存控制器根据所述源地址读取第四数据,所述DMA控制器接收所述第四数据,所述处理器通过所述DMA控制器读取所述第四数据。
根据本申请的一些实施方式,所述处理器包括以下一种或多种:中央处理单元、图形处理单元、数字信号处理器。
本申请一实施方式提供一种数据存取系统,所述数据存取系统包括片上系统和存储介质,所述片上系统和所述存储介质之间通过总线通信,所述片上系统包括至少两个处理器和每个处理器的各自搬运模块,所述搬运模块包括DMA控制器、仲裁器及内存控制器;
所述处理器发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作;
所述处理器,用于在所述请求信息为本地访问时,基于所述地址,通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成本地内存访问,在所述请求信息为非本地内存访问时,基于所述地址,通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成非本地内存访问。
根据本申请的一些实施方式,所述片上系统与所述存储介质之间通过晶圆堆叠方式连接。
根据本申请的一些实施方式,所述存储介质为动态随机存取内存。
本申请实施方式提供的数据存取方法以及系统,在本地访问时,通过内存控制器进行数据存取,在非本地访问时,通过DMA控制器进行数据存取。如此,本申请实施方式提供的数据存取方法以及系统,无需等待总线闲置,可以缩短数据搬移时间,提高数据存取效率。
附图说明
图1是根据本申请一实施方式的一种数据存取系统结构图。
图2及图3是根据本申请一实施方式的搬运模块的工作流程示意图。
图4是根据本申请一实施方式的一种数据存取方法流程示意图。
图5是图4步骤S20的细化流程示意图。
图6是图4步骤S30的细化流程示意图。
主要元件符号说明
数据存取系统 100
片上系统 10
存储介质 20
处理器 30
搬运模块 40
DMA控制器 41
仲裁器 42
内存控制器 43
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。
基于本申请中的实施方式,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施方式,都是属于本申请保护的范围。
请参阅图1,图1是根据本申请一实施方式的一种数据存取系统100结构图,如图1所示,所述数据存取系统100包括片上系统10(System-on-a-chip,SoC)和存储介质20,所述片上系统10和所述存储介质20之间通过总线通信,所述总线为扩展外围组件互连高速(Peripheral Component Interconnect express,PCIe)总线。
在本申请实施例中,所述数据存取系统100解决由单一内存控制器43访问动态随机存取内存存在的带宽不足,而造成的处理效率下降的问题,可以提高片上系统10上所述处理器30对所述存储介质20的访问速度。
在本申请实施例中,在所述存储介质20上为每个处理器30分配其对应的内存地址空间。
在本申请实施例中,所述片上系统10在单个芯片上集成一个完整的系统,包括中央处理器30(central processing unit,CPU)、存储器、以及外围电路等。所述片上系统10包括至少两个处理器30和每个处理器30的各自搬运模块40,所述搬运模块40包括DMA控制器41、仲裁器42及内存控制器43。
在本申请实施例中,所述处理器30包括中央处理单元、图形处理单元或数字信号处理器。
在本申请实施中,所述存储介质20可以为非易失性高速传输总线(non-volatilememory express,NVMe)固态硬盘(solid state disk,SSD),也可以为其他类型的存储介质20。在其中一种可能实现方式中,所述存储介质20为动态随机存取内存(Dynamic RandomAccess Memory,DRAM)。
在本申请实施例中,每个存储介质20中均运行直接内存存取控制器(directmemory access,DMA),即DMA控制器41,DMA控制器41用于直接将待读取的数据从存储介质搬迁到处理器对应的存储器,如双倍速率同步动态随机存储器。
在本申请实施例中,所述内存控制器43是计算机系统内部控制内存并且负责内存与中央处理器30之间数据交换的重要组成部分。数据以内存控制器43至中央处理器30的方式进行传输。
在本申请实施例中,片上系统10中多个设备或模块可能同时申请对总线的使用权,为避免产生总线冲突,由仲裁器42合理地控制和管理系统中需要占用总线的申请者,在多个申请者同时提出总线请求时,以一定的优先算法仲裁获得对总线的使用权的处理器30。
所述处理器30发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作。
所述处理器30,用于在所述请求信息为本地访问时,基于所述地址,通过其对应的仲裁器42及内存控制器43对所述存储介质20进行读取操作或写入操作,以完成本地内存访问,在所述请求信息为非本地内存访问时,基于所述地址,通过其对应的仲裁器42、内存控制器43及DMA控制器41对所述存储介质20进行读取操作或写入操作,以完成非本地内存访问。
请一并参阅图2及图3,图2及图3是根据本申请一实施方式的搬运模块40的工作流程示意图。当所述请求信息为本地访问时,基于所述地址,所述处理器30通过其对应的仲裁器42及内存控制器43对所述存储介质20进行读取操作或写入操作,以完成所述处理器30的本地内存访问。当所述请求信息为非本地内存访问时,基于所述地址,所述处理器30通过其对应的仲裁器42、内存控制器43及DMA控制器41对所述存储介质20进行读取操作或写入操作,以完成所述处理器30的非本地内存访问。
如图2所示,以处理器30为中央处理器30为例,中央处理器30CPU1其对应的搬运模块40有仲裁器A1,内存控制器B1,DMA控制器C1。CPU2的搬运模块40有仲裁器A2,内存控制器B2,DMA控制器C2。中央处理器30CPU3其对应的搬运模块40有仲裁器A3,内存控制器B3,DMA控制器C3。中央处理器30CPU4其对应的搬运模块40有仲裁器A4,内存控制器B4,DMA控制器C4。每个中央处理器都有其对应的存储空间地址,在中央处理器访问其自身的内存空间时为本地访问,在中央处理器访问其他中央处理器的内存空间是为非本地访问。
请一并参阅图3,各个处理器30对应的搬运模块40的工作流程如下:
在CPU1要进行本地访问时,所述CPU1的工作模式为内存控制器模式,CPU1向内存控制器B1发送第一控制命令,所述第一控制命令用于指示所述内存控制器B1获取所述请求信息。所述内存控制器B 1根据所述请求信息向所述仲裁器A1发送总线请求信号,所述仲裁器A1将总线使用权发送给所述内存控制器B1,所述内存控制器B1根据所述请求信息中的所述地址对所述存储介质20进行读取操作或写入操作。
在进行读取操作时,所述内存控制器B1根据所述地址读取第一数据,所述CPU1接收所述内存控制器B1发送的所述第一数据。在进行写入操作时,所述内存控制器B1根据所述地址将CPU1发送的第二数据写入至所述存储介质20。
在CPU1要进行非本地访问时,CPU1要与CPU2之间进行数据传输时,CPU1工作模式为DMA控制模式,CPU1向其对应的DMA控制器C1发送第二控制命令,所述第二控制命令用于指示所述DMA控制器C1获取所述请求信息,所述DMA控制器C1根据所述请求信息向对应的所述仲裁器A1发送总线请求信号,所述仲裁器A1将总线使用权发送给所述DMA控制器C1,所述DMA控制器C1根据所述地址通过对应的所述内存控制器43对所述存储介质20进行读取操作或写入操作。
在进行写入操作时,所述DMA控制器C1接收所述CPU1发送的第三数据,并向所述地址中目的地址所对应的仲裁器A2发送总线请求信号,在获得总线使用权后,所述DMA控制器C1将所述第三数据发送给所述目的地址对应的第一内存控制器B2,以使得所述第一内存控制器B2将所述第三数据写入至所述CPU2对应的存储介质20,即所述地址中的目的地址。
在进行读取操作时,所述DMA控制器C1根据所述地址中的源地址向对应的仲裁器A2发送总线请求信号,在获得总线使用权后,所述DMA控制器C1将所述源地址发送给所述源地址对应的第二内存控器B2,所述第二内存控制器B2根据所述源地址即CPU2对应的内存读取第四数据,所述DMA控制器C1接收所述第四数据,所述CPU1通过所述DMA控制器C1读取所述第四数据。
在本申请实施例中,在进行本地访问时,每个处理器30利用其对应的内存控制器43直接对存储介质20进行存取,在进行非本地访问时,每个处理器30利用其对应的DMA控制器41进行处理器30之间的数据搬移,缩短了数据传输的时间,提高效率。
在其中一种可能实现方式中,所述片上系统10与所述存储介质20之间通过晶圆堆叠方式连接。
在本申请实施例中,通过晶圆堆叠方式(Wafer on Wafer)将片上系统10晶圆与存储介质20晶圆的IO讯号线连接一起,简化了IO引脚的数量,存储介质20的IO口无须引出引脚,由此降低延迟与功耗,且由于片上系统10的芯片与存储介质20的芯片整合,印刷电路板减少存储介质20的布局与面积,降低了电路板生产费用及布线难度。
请参阅图4,图4是根据本申请一实施方式的一种数据存取方法流程示意图。所述方法应用于数据存取系统100,所述数据存取系统100包括片上系统10和存储介质20,所述片上系统10和所述存储介质20之间通过总线通信,所述片上系统10包括至少两个处理器30和每个处理器30的各自搬运模块40,所述搬运模块40包括DMA控制器41、仲裁器42及内存控制器43,如图4所示,所述数据存取方法包括以下步骤:
步骤S10:所述处理器发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作。
步骤S20:当所述请求信息为本地访问时,基于所述地址,所述处理器通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的本地内存访问。
在本申请实施例中,在所述处理器30进行本地访问,要对其所分配的内存进行数据存取时,由其对应的内存控制器43进行数据搬移,可以提高数据存取效率。
请一并参阅图5,其为步骤S20的细化流程示意图。本发明的至少一个实施例中,所述当所述请求信息为本地访问时,基于所述地址,所述处理器30通过其对应的仲裁器42及内存控制器43对所述存储介质20进行读取操作或写入操作,以完成所述处理器30的本地内存访问包括:
步骤S201:当所述请求信息为本地访问时,所述处理器工作模式为内存控制模式,所述处理器向其对应的所述内存控制器发送第一控制命令,所述第一控制命令用于指示所述内存控制器获取所述请求信息。
步骤S202:所述内存控制器根据所述请求信息向所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述内存控制器。
步骤S203:所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作。
在本申请实施例中,在所述处理器30要对分配给其的内存地址空间进行数据存取进行本地访问时,所述处理器30进行本地访问,通过所述处理器30对应的内存控制器43进行数据搬移,实现对自身内存的读取操作或写入操作。
在其中一种可能实现方式中,本地访问时使用IMC Bus进行通信。
进一步地,在进行读取操作时,所述内存控制器43根据所述地址读取第一数据,所述处理器30接收所述内存控制器43发送的所述第一数据。
或,在进行写入操作时,所述内存控制器43根据所述地址将所述处理器30发送的第二数据写入至所述存储介质20。
步骤S30:当所述请求信息为非本地内存访问时,基于所述地址,所述处理器通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的非本地内存访问。
在其中一种可能实现方式中,非本地访问使用快速通道互联总线(Quick PathInterconnect,QPI)进行通信。
请一并参阅图6,其为步骤S30的细化流程示意图。本发明的至少一个实施例中,所述当所述请求信息为非本地内存访问时,基于所述地址,所述处理器30通过其对应的仲裁器42、内存控制器43及DMA控制器41对所述存储介质20进行读取操作或写入操作,以完成所述处理器30的非本地内存访问包括:
步骤S301:当所述请求信息为非本地内存访问时,所述处理器工作模式为DMA控制模式,所述处理器向其对应的所述DMA控制器发送第二控制命令,所述第二控制命令用于指示所述DMA控制器获取所述请求信息。
步骤S302:所述DMA控制器根据所述请求信息向对应的所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述DMA控制器,所述DMA控制器根据所述地址通过对应的所述内存控制器对所述存储介质进行读取操作或写入操作。
在其中一种可能实现方式中,所述DMA控制器41将所述地址发送给所述内存控制器43,所述内存控制器43根据所述地址对所述存储介质20进行读取操作或写入操作。
进一步地,在进行写入操作时,所述DMA控制器41接收所述处理器30发送的第三数据,并向所述地址中目的地址所对应的仲裁器42发送总线请求信号,在获得总线使用权后,所述DMA控制器41将所述第三数据发送给所述目的地址对应的第一内存控制器,以使得所述第一内存控制器将所述第三数据写入至所述存储介质20;
或,在进行读取操作时,所述DMA控制器41根据所述地址中的源地址向对应的仲裁器42发送总线请求信号,在获得总线使用权后,所述DMA控制器41将所述源地址发送给所述源地址对应的第二内存控器,所述第二内存控制器根据所述源地址读取第四数据,所述DMA控制器41接收所述第四数据,所述处理器30通过所述DMA控制器41读取所述第四数据。
在本申请实施例中,所述处理器30要访问其他处理器30的内存地址空间时,即进行非本地访问,通过所述处理器30对应的DMA控制器41进行数据搬移,提高处理器访问其他处理器内存的速率。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将本申请上述的实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。
Claims (10)
1.一种数据存取方法,其特征在于,所述数据存取方法应用于数据存取系统中,所述数据存取系统包括片上系统和存储介质,所述片上系统和所述存储介质之间通过总线通信,所述片上系统包括至少两个处理器和每个处理器的各自搬运模块,所述搬运模块包括DMA控制器、仲裁器及内存控制器,所述数据存取方法包括:
所述处理器发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作;
当所述请求信息为本地访问时,基于所述地址,所述处理器通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的本地内存访问;以及,
当所述请求信息为非本地内存访问时,基于所述地址,所述处理器通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的非本地内存访问。
2.如权利要求1所述的数据存取方法,其特征在于,所述当所述请求信息为本地访问时,基于所述地址,所述处理器通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的本地内存访问包括:
当所述请求信息为本地访问时,所述处理器的工作模式为内存控制模式,所述处理器向其对应的所述内存控制器发送第一控制命令,所述第一控制命令用于指示所述内存控制器获取所述请求信息;
所述内存控制器根据所述请求信息向所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述内存控制器;
所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作。
3.如权利要求2所述的数据存取方法,其特征在于,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作包括:
在进行读取操作时,所述内存控制器根据所述地址读取第一数据,所述处理器接收所述内存控制器发送的所述第一数据;
或者,在进行写入操作时,所述内存控制器根据所述地址将所述处理器发送的第二数据写入至所述存储介质。
4.如权利要求1所述的数据存取方法,其特征在于,所述当所述请求信息为非本地内存访问时,基于所述地址,所述处理器通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成所述处理器的非本地内存访问包括:
当所述请求信息为非本地内存访问时,所述处理器的工作模式为DMA控制模式,所述处理器向其对应的所述DMA控制器发送第二控制命令,所述第二控制命令用于指示所述DMA控制器获取所述请求信息;
所述DMA控制器根据所述请求信息向对应的所述仲裁器发送总线请求信号,所述仲裁器将总线使用权发送给所述DMA控制器;
所述DMA控制器根据所述地址通过对应的所述内存控制器对所述存储介质进行读取操作或写入操作。
5.如权利要求4所述的数据存取方法,其特征在于,所述DMA控制器根据所述地址通过对应的所述内存控制器对所述存储介质进行读取操作或写入操作包括:
所述DMA控制器将所述地址发送给所述内存控制器,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作。
6.如权利要求5所述的数据存取方法,其特征在于,所述DMA控制器将所述地址发送给所述内存控制器,所述内存控制器根据所述地址对所述存储介质进行读取操作或写入操作包括:
在进行写入操作时,所述DMA控制器接收所述处理器发送的第三数据,并向所述地址中目的地址所对应的仲裁器发送总线请求信号,在获得总线使用权后,所述DMA控制器将所述第三数据发送给所述目的地址对应的第一内存控制器,以使得所述第一内存控制器将所述第三数据写入至所述存储介质;
或者,在进行读取操作时,所述DMA控制器根据所述地址中的源地址向对应的仲裁器发送总线请求信号,在获得总线使用权后,所述DMA控制器将所述源地址发送给所述源地址对应的第二内存控器,所述第二内存控制器根据所述源地址读取第四数据,所述DMA控制器接收所述第四数据,所述处理器通过所述DMA控制器读取所述第四数据。
7.如权利要求1至6任一项所述的数据存取方法,其特征在于,所述处理器包括以下一种或多种:中央处理单元、图形处理单元、数字信号处理器。
8.一种数据存取系统,其特征在于,所述数据存取系统包括片上系统和存储介质,所述片上系统和所述存储介质之间通过总线通信,所述片上系统包括至少两个处理器和每个处理器的各自搬运模块,所述搬运模块包括DMA控制器、仲裁器及内存控制器;
所述处理器发送请求信息,其中所述请求信息包括操作类型和地址,所述操作类型包括读取操作或写入操作;
所述处理器,用于在所述请求信息为本地访问时,基于所述地址,通过其对应的仲裁器及内存控制器对所述存储介质进行读取操作或写入操作,以完成本地内存访问,在所述请求信息为非本地内存访问时,基于所述地址,通过其对应的仲裁器、内存控制器及DMA控制器对所述存储介质进行读取操作或写入操作,以完成非本地内存访问。
9.如权利要求8所述的数据存取系统,其特征在于,所述片上系统与所述存储介质之间通过晶圆堆叠方式连接。
10.如权利要求8所述的数据存取系统,其特征在于,所述存储介质为动态随机存取内存。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011546234.8A CN114661651A (zh) | 2020-12-23 | 2020-12-23 | 数据存取方法以及系统 |
US17/554,479 US11822812B2 (en) | 2020-12-23 | 2021-12-17 | Method and apparatus for distributed direct memory access for system on chip performing read or write operations |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011546234.8A CN114661651A (zh) | 2020-12-23 | 2020-12-23 | 数据存取方法以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114661651A true CN114661651A (zh) | 2022-06-24 |
Family
ID=82021273
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011546234.8A Pending CN114661651A (zh) | 2020-12-23 | 2020-12-23 | 数据存取方法以及系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11822812B2 (zh) |
CN (1) | CN114661651A (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116860185B (zh) * | 2023-09-05 | 2024-06-07 | 深圳比特微电子科技有限公司 | Sram阵列的数据访问装置、系统、方法、设备、芯片和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774680A (en) * | 1995-12-11 | 1998-06-30 | Compaq Computer Corporation | Interfacing direct memory access devices to a non-ISA bus |
US5898694A (en) * | 1996-12-30 | 1999-04-27 | Cabletron Systems, Inc. | Method of round robin bus arbitration |
US6874039B2 (en) | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
-
2020
- 2020-12-23 CN CN202011546234.8A patent/CN114661651A/zh active Pending
-
2021
- 2021-12-17 US US17/554,479 patent/US11822812B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11822812B2 (en) | 2023-11-21 |
US20220197545A1 (en) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459974B (zh) | 集成闪存的高带宽存储器设备 | |
KR100726361B1 (ko) | 메모리 장치들과의 통신을 위한 시스템 및 방법 | |
TWI500031B (zh) | 具非揮發性類型記憶體模組的主記憶體之系統、方法及裝置,及其相關技術 | |
KR102428563B1 (ko) | 수눕 작동을 관리하는 코히런트 인터커넥트와 이를 포함하는 데이터 처리 장치들 | |
EP3716084A1 (en) | Apparatus and method for sharing a flash device among multiple masters of a computing platform | |
JP2012252490A (ja) | マルチプロセッサおよびそれを用いた画像処理システム | |
EP3036648B1 (en) | Enhanced data transfer in multi-cpu systems | |
CN118435178A (zh) | 直接存储器存取命令的硬件管理 | |
EP3907624A1 (en) | Memory and storage controller with integrated memory coherency interconnect | |
CN114661651A (zh) | 数据存取方法以及系统 | |
TWI766497B (zh) | 資料存取方法及系統 | |
US8244929B2 (en) | Data processing apparatus | |
US20230195368A1 (en) | Write Request Buffer | |
WO2021139733A1 (zh) | 一种对内存进行分配的方法、设备及计算机可读存储介质 | |
JP3804832B2 (ja) | メモリ装置及びコンピュータシステム | |
US20240311302A1 (en) | Processor, system, and method for dynamic cache allocation | |
JPWO2009034652A1 (ja) | 情報処理装置及びその制御方法 | |
US20030065860A1 (en) | Internal control bus in a multiple processor/multiple bus system | |
TWI591532B (zh) | 電腦系統及其硬碟存取方法 | |
CN118689805A (zh) | Tb级持久内存设备 | |
KR200210744Y1 (ko) | 복수개의 보드간 프로세서 통신 장치 | |
JP2001290790A (ja) | ディスク制御装置 | |
KR20240139954A (ko) | 동적 캐시 할당을 위한 프로세서, 시스템 및 방법 | |
CN118672940A (zh) | 用于动态高速缓存分配的处理器、系统和操作方法 | |
JP2018010338A (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 |