TWI766497B - Data access method and system - Google Patents
Data access method and system Download PDFInfo
- Publication number
- TWI766497B TWI766497B TW109145846A TW109145846A TWI766497B TW I766497 B TWI766497 B TW I766497B TW 109145846 A TW109145846 A TW 109145846A TW 109145846 A TW109145846 A TW 109145846A TW I766497 B TWI766497 B TW I766497B
- Authority
- TW
- Taiwan
- Prior art keywords
- address
- processor
- memory controller
- storage medium
- memory
- Prior art date
Links
Images
Abstract
Description
本申請涉及一種資料存取方法及系統。The present application relates to a data access method and system.
片上系統(System-on-a-Chip,SoC)是一種積體電路晶片,SoC包 括一個或多個處理器單元,可包括內部記憶體(例如,靜態隨機存取記憶體(SRAM)),或者可與容量大於內部記憶體的容量的外部記憶體裝置(例如,動態隨機存取記憶體(DRAM))通信。 System-on-a-Chip (SoC) is an integrated circuit chip, SoC package One or more processor units, which may include internal memory (eg, static random access memory (SRAM)), or may be combined with external memory devices (eg, dynamic random access memory) with a capacity greater than that of the internal memory memory (DRAM) communication.
目前SoC上多處理器對記憶體的訪問是匯流排方式,通過單一記 憶體控制器訪問動態隨機存取記憶體器的記憶體,SoC上的多個處理器單元共用一個大的記憶體池,在多個處理器要進行資料傳輸時,使得資料傳輸效率低,時延高。 At present, the access to the memory by the multiprocessors on the SoC is the bus way, through a single memory The memory controller accesses the memory of the dynamic random access memory. Multiple processor units on the SoC share a large memory pool. When multiple processors need to transmit data, the data transmission efficiency is low. Extend high.
有鑑於此,有必要提供一種資料存取方法以及系統,可以提高數 據傳輸效率,降低時延。 In view of this, it is necessary to provide a data access method and system, which can improve the data According to the transmission efficiency, the delay is reduced.
本申請一實施方式提供一種資料存取方法,所述資料存取方法應 用於資料存取系統中,所述資料存取系統包括片上系統和存儲介質,所述片上系統和所述存儲介質之間通過匯流排通信,所述片上系統包括至少兩個處理器和每個處理器的各自搬運模組,所述搬運模組包括DMA控制器、仲裁器及記憶體控制器,所述資料存取方法包括:所述處理器發送請求資訊,其中所述請求資訊包括操作類型和位址,所述操作類型包括讀取操作或寫入操作;當所述請求資訊為本地訪問時,基於所述位址,所述處理器通過其對應的仲裁器及記憶體控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的本地記憶體訪問;以及,當所述請求資訊為非本地記憶體訪問時,基於所述位址,所述處理器通過其對應的仲裁器、記憶體控制器及DMA控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的非本地記憶體訪問。 An embodiment of the present application provides a data access method. The data access method should Used in a data access system, the data access system includes a system-on-chip and a storage medium, the system-on-chip and the storage medium communicate through a bus, the system-on-chip includes at least two processors and each Each handling module of the processor, the handling module includes a DMA controller, an arbiter and a memory controller, the data access method includes: the processor sends request information, wherein the request information includes an operation type and address, the operation type includes read operation or write operation; when the request information is local access, based on the address, the processor uses its corresponding arbiter and memory controller to The storage medium performs a read operation or a write operation to complete the local memory access of the processor; and, when the requested information is a non-local memory access, based on the address, the processor passes The corresponding arbiter, memory controller and DMA controller perform read operation or write operation on the storage medium, so as to complete the non-local memory access of the processor.
根據本申請的一些實施方式,所述當所述請求資訊為本地訪問 時,基於所述位址,所述處理器通過其對應的仲裁器及記憶體控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的本地記憶體訪問包括:當所述請求資訊為本地訪問時,所述處理器的工作模式為記憶體控制模式,所述處理器向其對應的所述記憶體控制器發送第一控制命令,所述第一控制命令用於指示所述記憶體控制器獲取所述請求資訊;所述記憶體控制器根據所述請求資訊向所述仲裁器發送匯流排請求信號,所述仲裁器將匯流排使用權發送給所述記憶體控制器;所述記憶體控制器根據所述位址對所述存儲介質進行讀取操作或寫入操作。 According to some embodiments of the present application, when the requested information is local access , based on the address, the processor performs a read operation or a write operation on the storage medium through its corresponding arbiter and memory controller, so as to complete the local memory access of the processor, including: When the request information is local access, the working mode of the processor is the memory control mode, the processor sends a first control command to the corresponding memory controller, and the first control command uses instructing the memory controller to obtain the request information; the memory controller sends a bus request signal to the arbiter according to the request information, and the arbiter sends the bus usage right to the memory a memory controller; the memory controller performs a read operation or a write operation on the storage medium according to the address.
根據本申請的一些實施方式,所述記憶體控制器根據所述位址對 所述存儲介質進行讀取操作或寫入操作包括:在進行讀取操作時,所述記憶體控制器根據所述位址讀取第一資料,所述處理器接收所述記憶體控制器發送的所述第一資料;或者,在進行寫入操作時,所述記憶體控制器根據所述位址將所述處理器發送的第二資料寫入至所述存儲介質。 According to some embodiments of the present application, the memory controller according to the address pair Performing a read operation or a write operation on the storage medium includes: during the read operation, the memory controller reads the first data according to the address, and the processor receives the data sent by the memory controller. or, during the writing operation, the memory controller writes the second data sent by the processor to the storage medium according to the address.
根據本申請的一些實施方式,所述當所述請求資訊為非本地記憶 體訪問時,基於所述位址,所述處理器通過其對應的仲裁器、記憶體控制器及DMA控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的非本地記憶體訪問包括:當所述請求資訊為非本地記憶體訪問時,所述處理器的工作模式為DMA控制模式,所述處理器向其對應的所述DMA控制器發送第二控制命令,所述第二控制命令用於指示所述DMA控制器獲取所述請求資訊;所述DMA控制器根據所述請求資訊向對應的所述仲裁器發送匯流排請求信號,所述仲裁器將匯流排使用權發送給所述DMA控制器;所述DMA控制器根據所述位址通過對應的所述記憶體控制器對所述存儲介質進行讀取操作或寫入操作。 According to some embodiments of the present application, when the requested information is a non-local memory When the memory is accessed, based on the address, the processor performs a read operation or a write operation on the storage medium through its corresponding arbiter, memory controller and DMA controller to complete the processor's The non-local memory access includes: when the request information is a non-local memory access, the working mode of the processor is a DMA control mode, and the processor sends a second control command to the corresponding DMA controller , the second control command is used to instruct the DMA controller to obtain the request information; the DMA controller sends a bus request signal to the corresponding arbiter according to the request information, and the arbiter sends the bus The row usage right is sent to the DMA controller; the DMA controller performs a read operation or a write operation on the storage medium through the corresponding memory controller according to the address.
根據本申請的一些實施方式,所述DMA控制器根據所述位址通 過對應的所述記憶體控制器對所述存儲介質進行讀取操作或寫入操作包括:所述DMA控制器將所述位址發送給所述記憶體控制器,所述記憶體控制器根據所述位址對所述存儲介質進行讀取操作或寫入操作。 According to some embodiments of the present application, the DMA controller communicates according to the address Performing a read operation or a write operation on the storage medium through the corresponding memory controller includes: the DMA controller sends the address to the memory controller, and the memory controller according to The address performs a read operation or a write operation on the storage medium.
根據本申請的一些實施方式,所述DMA控制器將所述位址發送 給所述記憶體控制器,所述記憶體控制器根據所述位址對所述存儲介質進行讀取操作或寫入操作包括:在進行寫入操作時,所述DMA控制器接收所述處理器發送的第三資料,並向所述位址中目的地址所對應的仲裁器發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器將所述第三資料發送給所述目的地址對應的第一記憶體控制器,以使得所述第一記憶體控制器將所述第三資料寫入至所述存儲介質;或者,在進行讀取操作時,所述DMA控制器根據所述位址中的源位址向對應的仲裁器發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器將所述源位址發送給所述源位址對應的第二記憶體控器,所述第二記憶體控制器根據所述源位址讀取第四資料,所述DMA控制器接收所述第四資料,所述處理器通過所述DMA控制器讀取所述第四資料。 According to some embodiments of the present application, the DMA controller sends the address To the memory controller, the memory controller performing a read operation or a write operation on the storage medium according to the address includes: when the write operation is performed, the DMA controller receives the process The DMA controller sends the third data to the arbiter corresponding to the destination address in the address, and sends the bus request signal to the arbiter. After obtaining the right to use the bus, the DMA controller sends the third data to the the first memory controller corresponding to the destination address, so that the first memory controller writes the third data to the storage medium; or, during the read operation, the DMA controller according to the The source address in the address sends a bus request signal to the corresponding arbiter, and after obtaining the right to use the bus, the DMA controller sends the source address to the second corresponding to the source address. A memory controller, the second memory controller reads the fourth data according to the source address, the DMA controller receives the fourth data, and the processor reads all the data through the DMA controller. the fourth data.
根據本申請的一些實施方式,所述處理器包括以下一種或多種: 中央處理單元、圖形處理單元、數位訊號處理器。 According to some embodiments of the present application, the processor includes one or more of the following: Central processing unit, graphics processing unit, digital signal processor.
本申請一實施方式提供一種資料存取系統,所述資料存取系統包 括片上系統和存儲介質,所述片上系統和所述存儲介質之間通過匯流排通信,所述片上系統包括至少兩個處理器和每個處理器的各自搬運模組,所述搬運模組包括DMA控制器、仲裁器及記憶體控制器;所述處理器發送請求資訊,其中所述請求資訊包括操作類型和位址,所述操作類型包括讀取操作或寫入操作;所述處理器,用於在所述請求資訊為本地訪問時,基於所述位址,通過其對應的仲裁器及記憶體控制器對所述存儲介質進行讀取操作或寫入操作,以完成本地記憶體訪問,在所述請求資訊為非本地記憶體訪問時,基於所述位址,通過其對應的仲裁器、記憶體控制器及DMA控制器對所述存儲介質進行讀取操作或寫入操作,以完成非本地記憶體訪問。 An embodiment of the present application provides a data access system, the data access system includes including a system-on-chip and a storage medium, the system-on-chip and the storage medium communicate via bus bars, the system-on-chip includes at least two processors and a respective handling module for each processor, and the handling module includes a DMA controller, an arbiter, and a memory controller; the processor sends request information, wherein the request information includes an operation type and an address, and the operation type includes a read operation or a write operation; the processor, for performing a read operation or a write operation on the storage medium through its corresponding arbiter and memory controller based on the address when the request information is local access, so as to complete the local memory access, When the request information is a non-local memory access, based on the address, a read operation or a write operation is performed on the storage medium through its corresponding arbiter, memory controller and DMA controller to complete Non-local memory access.
根據本申請的一些實施方式,所述片上系統與所述存儲介質之間 通過晶圓堆疊方式連接。 According to some embodiments of the present application, between the system on chip and the storage medium Connected by wafer stacking.
根據本申請的一些實施方式,所述存儲介質為動態隨機存取內 存。 According to some embodiments of the present application, the storage medium is a dynamic random access memory live.
本申請實施方式提供的資料存取方法以及系統,在本地訪問時, 通過記憶體控制器進行資料存取,在非本地訪問時,通過DMA控制器進行資料存取。如此,本申請實施方式提供的資料存取方法以及系統,無需等待匯流排閒置,可以縮短資料搬移時間,提高資料存取效率。 The data access method and system provided by the embodiments of the present application, when accessed locally, Data access is performed through the memory controller, and during non-local access, data access is performed through the DMA controller. In this way, the data access method and system provided by the embodiments of the present application do not need to wait for the bus to be idle, which can shorten the data transfer time and improve the data access efficiency.
下面將結合本申請實施方式中的附圖,對本申請實施方式中的技 術方案進行清楚、完整地描述,顯然,所描述的實施方式是本申請一部分實施方式,而不是全部的實施方式。 In the following, with reference to the accompanying drawings in the embodiments of the present application, the techniques in the embodiments of the present application will be discussed. The technical solution is clearly and completely described, and obviously, the described embodiments are a part of the embodiments of the present application, but not all of the embodiments.
基於本申請中的實施方式,本領域普通技術人員在沒有付出創造 性勞動前提下所獲得的所有其他實施方式,都是屬於本申請保護的範圍。 Based on the embodiments in this application, those of ordinary skill in the art will All other implementations obtained under the premise of sexual labor fall within the scope of protection of this application.
請參閱圖1,圖1是根據本申請一實施方式的一種資料存取系統
100結構圖,如圖1所示,所述資料存取系統100包括片上系統10(System-on-a-chip,SoC)和存儲介質20,所述片上系統10和所述存儲介質20之間通過匯流排通信,所述匯流排為擴展周邊元件連接高速(Peripheral Component Interconnect express,PCIe)匯流排。
Please refer to FIG. 1, which is a data access system according to an embodiment of the
在本申請實施例中,所述資料存取系統100解決由單一記憶體控
制器43訪問動態隨機存取記憶體存在的頻寬不足,而造成的處理效率下降的問題,可以提高片上系統10上所述處理器30對所述存儲介質20的存取速度。
In the embodiment of the present application, the
在本申請實施例中,在所述存儲介質20上為每個處理器30分配其
對應的記憶體位址空間。
In this embodiment of the present application, on the
在本申請實施例中,所述片上系統10在單個晶片上集成一個完整
的系統,包括中央處理器30 (central processing unit,CPU)、記憶體、以及週邊電路等。所述片上系統10包括至少兩個處理器30和每個處理器30的各自搬運模組40,所述搬運模組40包括DMA控制器41、仲裁器42及記憶體控制器43。
In the embodiment of the present application, the system-on-
在本申請實施例中,所述處理器30包括中央處理單元、圖形處理
單元或數位訊號處理器。
In this embodiment of the present application, the
在本申請實施中,所述存儲介質20可以為非易失性高速傳輸匯流
排(non-volatile memory express,NVMe)固態硬碟(solid state disk,SSD),也可以為其他類型的存儲介質20。在其中一種可能實現方式中,所述存儲介質20為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)。
In the implementation of this application, the
在本申請實施例中,每個存儲介質20中均運行直接記憶體存取控
制器(direct memory access,DMA),即DMA控制器41,DMA控制器41用於直接將待讀取的資料從存儲介質搬遷到處理器對應的記憶體,如雙倍速率同步動態隨機記憶體。
In this embodiment of the present application, each
在本申請實施例中,所述記憶體控制器43是電腦系統內部控制內
存並且負責記憶體與中央處理器30之間資料交換的重要組成部分。資料以記憶體控制器43至中央處理器30的方式進行傳輸。
In the embodiment of the present application, the
在本申請實施例中,片上系統10中多個設備或模組可能同時申請
對匯流排的使用權,為避免產生匯流排衝突,由仲裁器42合理地控制和管理系統中需要佔用匯流排的申請者,在多個申請者同時提出匯流排請求時,以一定的優先演算法仲裁獲得對匯流排的使用權的處理器30。
In this embodiment of the present application, multiple devices or modules in the system-on-
所述處理器30發送請求資訊,其中所述請求資訊包括操作類型和
位址,所述操作類型包括讀取操作或寫入操作。
The
所述處理器30,用於在所述請求資訊為本地訪問時,基於所述地
址,通過其對應的仲裁器42及記憶體控制器43對所述存儲介質20進行讀取操作或寫入操作,以完成本地記憶體訪問,在所述請求資訊為非本地記憶體訪問時,基於所述位址,通過其對應的仲裁器42、記憶體控制器43及DMA控制器41對所述存儲介質20進行讀取操作或寫入操作,以完成非本地記憶體訪問。
The
請一併參閱圖2及圖3,圖2及圖3是根據本申請一實施方式的搬運
模組40的工作流程示意圖。當所述請求資訊為本地訪問時,基於所述位址,所述處理器30通過其對應的仲裁器42及記憶體控制器43對所述存儲介質20進行讀取操作或寫入操作,以完成所述處理器30的本地記憶體訪問。當所述請求資訊為非本地記憶體訪問時,基於所述位址,所述處理器30通過其對應的仲裁器42、記憶體控制器43及DMA控制器41對所述存儲介質20進行讀取操作或寫入操作,以完成所述處理器30的非本地記憶體訪問。
Please refer to FIG. 2 and FIG. 3 together. FIG. 2 and FIG. 3 illustrate the transportation according to an embodiment of the present application.
A schematic diagram of the workflow of the
如圖2所示,以處理器30為中央處理器30為例,中央處理器CUP1
其對應的搬運模組40有仲裁器A1,記憶體控制器B1,DMA控制器C1。CPU2的搬運模組40有仲裁器A2,記憶體控制器B2,DMA控制器C2。中央處理器30CPU3其對應的搬運模組40有仲裁器A3,記憶體控制器B3,DMA控制器C3。中央處理器30CPU4其對應的搬運模組40有仲裁器A4,記憶體控制器B4,DMA控制器C4。每個中央處理器都有其對應的存儲空間位址,在中央處理器訪問其自身的記憶體空間時為本地訪問,在中央處理器訪問其他中央處理器的記憶體空間是為非本地訪問。
As shown in FIG. 2 , taking the
請一併參閱圖3,各個處理器30對應的搬運模組40的工作流程如
下:
Please refer to FIG. 3 together. The workflow of the
在CPU1要進行本地訪問時,所述CPU1的工作模式為記憶體控制
器模式,CPU1向記憶體控制器B1發送第一控制命令,所述第一控制命令用於指示所述記憶體控制器B1獲取所述請求資訊。所述記憶體控制器B1根據所述請求資訊向所述仲裁器A1發送匯流排請求信號,所述仲裁器A1將匯流排使用權發送給所述記憶體控制器B1,所述記憶體控制器B1根據所述請求資訊中的所述位址對所述存儲介質20進行讀取操作或寫入操作。
When CPU1 wants to perform local access, the working mode of CPU1 is memory control
In the memory controller mode, the CPU1 sends a first control command to the memory controller B1, and the first control command is used to instruct the memory controller B1 to obtain the request information. The memory controller B1 sends a bus request signal to the arbiter A1 according to the request information, and the arbiter A1 sends the bus usage right to the memory controller B1, and the memory controller B1 performs a read operation or a write operation on the
在進行讀取操作時,所述記憶體控制器B1根據所述位址讀取第
一資料,所述CPU1接收所述記憶體控制器B1發送的所述第一資料。在進行寫入操作時,所述記憶體控制器B1根據所述位址將CPU1發送的第二資料寫入至所述存儲介質20。
During the read operation, the memory controller B1 reads the first
A data, the CPU1 receives the first data sent by the memory controller B1. During the writing operation, the memory controller B1 writes the second data sent by the CPU1 to the
在CPU1要進行非本地訪問時,CPU1要與CPU2之間進行數據傳
輸時,CPU1工作模式為DMA控制模式,CPU1向其對應的DMA控制器C1發送第二控制命令,所述第二控制命令用於指示所述DMA控制器C1獲取所述請求資訊,所述DMA控制器C1根據所述請求資訊向對應的所述仲裁器A1發送匯流排請求信號,所述仲裁器A1將匯流排使用權發送給所述DMA控制器C1,所述DMA控制器C1根據所述位址通過對應的所述記憶體控制器43對所述存儲介質20進行讀取操作或寫入操作。
When CPU1 wants to perform non-local access, data transfer between CPU1 and CPU2
When inputting, the CPU1 working mode is the DMA control mode, and the CPU1 sends a second control command to its corresponding DMA controller C1, the second control command is used to instruct the DMA controller C1 to obtain the request information, the DMA controller C1 The controller C1 sends a bus request signal to the corresponding arbiter A1 according to the request information, and the arbiter A1 sends the bus use right to the DMA controller C1, and the DMA controller C1 according to the The address is read or written to the
在進行寫入操作時,所述DMA控制器C1接收所述CPU1發送的第
三資料,並向所述位址中目的地址所對應的仲裁器A2發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器C1將所述第三資料發送給所述目的地址對應的第一記憶體控制器B2,以使得所述第一記憶體控制器B2將所述第三資料寫入至所述CPU2對應的存儲介質20,即所述位址中的目的地址。
During the writing operation, the DMA controller C1 receives the first data sent by the CPU1
three data, and send a bus request signal to the arbiter A2 corresponding to the destination address in the address, after obtaining the right to use the bus, the DMA controller C1 sends the third data to the destination address The corresponding first memory controller B2, so that the first memory controller B2 writes the third data to the
在進行讀取操作時,所述DMA控制器C1根據所述位址中的源地 址向對應的仲裁器A2發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器C1將所述源位址發送給所述源位址對應的第二記憶體控器B2,所述第二記憶體控制器B2根據所述源位址即CPU2對應的記憶體讀取第四資料,所述DMA控制器C1接收所述第四資料,所述CPU1通過所述DMA控制器C1讀取所述第四資料。 When performing a read operation, the DMA controller C1 according to the source in the address The DMA controller C1 sends the source address to the second memory controller B2 corresponding to the source address after obtaining the right to use the bus. The second memory controller B2 reads the fourth data according to the source address, that is, the memory corresponding to the CPU2, the DMA controller C1 receives the fourth data, and the CPU1 passes the DMA controller C1 Read the fourth data.
在本申請實施例中,在進行本地訪問時,每個處理器30利用其對
應的記憶體控制器43直接對存儲介質20進行存取,在進行非本地訪問時,每個處理器30利用其對應的DMA控制器41進行處理器30之間的資料搬移,縮短了資料傳輸的時間,提高效率。
In this embodiment of the present application, when performing local access, each
在其中一種可能實現方式中,所述片上系統10與所述存儲介質20
之間通過晶圓堆疊方式連接。
In one possible implementation manner, the system-on-
在本申請實施例中,通過晶圓堆疊方式(Wafer on Wafer)將片
上系統10晶圓與存儲介質20晶圓的IO訊號線連接一起,簡化了IO引腳的數量,存儲介質20的IO口無須引出引腳,由此降低延遲與功耗,且由於片上系統10的晶片與存儲介質20的晶片整合,印刷電路板減少存儲介質20的佈局與面積,降低了電路板生產費用及佈線難度。
In the embodiments of the present application, the wafers are stacked in a wafer on wafer manner (Wafer on Wafer)
The IO signal lines of the wafer of the
請參閱圖4,圖4是根據本申請一實施方式的一種資料存取方法流
程示意圖。所述方法應用於資料存取系統100,所述資料存取系統100包括片上系統10和存儲介質20,所述片上系統10和所述存儲介質20之間通過匯流排通信,所述片上系統10包括至少兩個處理器30和每個處理器30的各自搬運模組40,所述搬運模組40包括DMA控制器41、仲裁器42及記憶體控制器43,如圖4所示,所述資料存取方法包括以下步驟:
Please refer to FIG. 4 , which is a flow of a data access method according to an embodiment of the present application
Schematic diagram of the process. The method is applied to a
步驟S10:所述處理器發送請求資訊,其中所述請求資訊包括 操作類型和位址,所述操作類型包括讀取操作或寫入操作。 Step S10: the processor sends request information, wherein the request information includes Operation type and address, the operation type includes read operation or write operation.
步驟S20:當所述請求資訊為本地訪問時,基於所述位址,所述 處理器通過其對應的仲裁器及記憶體控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的本地記憶體訪問。 Step S20: When the request information is local access, based on the address, the The processor performs a read operation or a write operation on the storage medium through its corresponding arbiter and a memory controller, so as to complete the local memory access of the processor.
在本申請實施例中,在所述處理器30進行本地訪問,要對其所分
配的記憶體進行資料存取時,由其對應的記憶體控制器43進行資料搬移,可以提高資料存取效率。
In this embodiment of the present application, when the
請一併參閱圖5,其為步驟S20的細化流程示意圖。本發明的至少
一個實施例中,所述當所述請求資訊為本地訪問時,基於所述位址,所述處理器30通過其對應的仲裁器42及記憶體控制器43對所述存儲介質20進行讀取操作或寫入操作,以完成所述處理器30的本地記憶體訪問包括:
Please also refer to FIG. 5 , which is a schematic diagram of the refinement process of step S20 . at least the present invention
In one embodiment, when the request information is local access, based on the address, the
步驟S201:當所述請求資訊為本地訪問時,所述處理器工作模 式為記憶體控制模式,所述處理器向其對應的所述記憶體控制器發送第一控制命令,所述第一控制命令用於指示所述記憶體控制器獲取所述請求資訊。 Step S201: When the request information is local access, the processor works in a mode In the memory control mode, the processor sends a first control command to the corresponding memory controller, and the first control command is used to instruct the memory controller to obtain the request information.
步驟S202:所述記憶體控制器根據所述請求資訊向所述仲裁器 發送匯流排請求信號,所述仲裁器將匯流排使用權發送給所述記憶體控制器。 Step S202 : the memory controller sends the request to the arbiter according to the request information A bus request signal is sent, and the arbiter sends the bus use right to the memory controller.
步驟S203:所述記憶體控制器根據所述位址對所述存儲介質進行 讀取操作或寫入操作。 Step S203 : the memory controller performs the processing on the storage medium according to the address read operation or write operation.
在本申請實施例中,在所述處理器30要對分配給其的記憶體位址
空間進行資料存取進行本地訪問時,所述處理器30進行本地訪問,通過所述處理器30對應的記憶體控制器43進行資料搬移,實現對自身記憶體的讀取操作或寫入操作。
In this embodiment of the present application, the
在其中一種可能實現方式中,本地訪問時使用IMC Bus 進行通 信。 In one of the possible implementations, the IMC Bus is used for communication during local access. letter.
進一步地,在進行讀取操作時,所述記憶體控制器43根據所述位
址讀取第一資料,所述處理器30接收所述記憶體控制器43發送的所述第一資料。
Further, when performing a read operation, the
或,在進行寫入操作時,所述記憶體控制器43根據所述位址將所
述處理器30發送的第二資料寫入至所述存儲介質20。
Or, when performing a write operation, the
步驟S30:當所述請求資訊為非本地記憶體訪問時,基於所述位 址,所述處理器通過其對應的仲裁器、記憶體控制器及DMA控制器對所述存儲介質進行讀取操作或寫入操作,以完成所述處理器的非本地記憶體訪問。 Step S30: When the request information is a non-local memory access, based on the bit address, the processor performs a read operation or a write operation on the storage medium through its corresponding arbiter, memory controller and DMA controller, so as to complete the non-local memory access of the processor.
在其中一種可能實現方式中,非本地訪問使用快速通道互聯匯流 排(Quick Path Interconnect,QPI)進行通信。 In one of the possible implementations, non-local access uses a fast-lane interconnect bus platoon (Quick Path Interconnect, QPI) to communicate.
請一併參閱圖6,其為步驟S30的細化流程示意圖。本發明的至少
一個實施例中,所述當所述請求資訊為非本地記憶體訪問時,基於所述位址,所述處理器30通過其對應的仲裁器42、記憶體控制器43及DMA控制器41對所述存儲介質20進行讀取操作或寫入操作,以完成所述處理器30的非本地記憶體訪問包括:
Please also refer to FIG. 6 , which is a schematic diagram of the refinement process of step S30 . at least the present invention
In one embodiment, when the request information is a non-local memory access, based on the address, the
步驟S301:當所述請求資訊為非本地記憶體訪問時,所述處理器 工作模式為DMA控制模式,所述處理器向其對應的所述DMA控制器發送第二控制命令,所述第二控制命令用於指示所述DMA控制器獲取所述請求資訊。 Step S301: When the request information is a non-local memory access, the processor The working mode is a DMA control mode, and the processor sends a second control command to the corresponding DMA controller, where the second control command is used to instruct the DMA controller to acquire the request information.
步驟S302:所述DMA控制器根據所述請求資訊向對應的所述仲 裁器發送匯流排請求信號,所述仲裁器將匯流排使用權發送給所述DMA控制器,所述DMA控制器根據所述位址通過對應的所述記憶體控制器對所述存儲介質進行讀取操作或寫入操作。 Step S302 : the DMA controller sends the request to the corresponding secondary server according to the request information. The arbiter sends a bus request signal, and the arbiter sends the bus use right to the DMA controller, and the DMA controller performs processing on the storage medium through the corresponding memory controller according to the address. read operation or write operation.
在其中一種可能實現方式中,所述DMA控制器41將所述地址發
送給所述記憶體控制器43,所述記憶體控制器43根據所述位址對所述存儲介質20進行讀取操作或寫入操作。
In one possible implementation manner, the
進一步地,在進行寫入操作時,所述DMA控制器41接收所述處
理器30發送的第三資料,並向所述位址中目的地址所對應的仲裁器42發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器41將所述第三資料發送給所述目的地址對應的第一記憶體控制器,以使得所述第一記憶體控制器將所述第三資料寫入至所述存儲介質20;
Further, when performing a write operation, the
或,在進行讀取操作時,所述DMA控制器41根據所述位址中的
源位址向對應的仲裁器42發送匯流排請求信號,在獲得匯流排使用權後,所述DMA控制器41將所述源位址發送給所述源位址對應的第二記憶體控器,所述第二記憶體控制器根據所述源位址讀取第四資料,所述DMA控制器41接收所述第四資料,所述處理器30通過所述DMA控制器41讀取所述第四資料。
Or, when the read operation is performed, the
在本申請實施例中,所述處理器30要訪問其他處理器30的記憶體
地址空間時,即進行非本地訪問,通過所述處理器30對應的DMA控制器41進行資料搬移,提高處理器訪問其他處理器記憶體的速率。
In this embodiment of the present application, the
對於本領域技術人員而言,顯然本申請不限於上述示範性實施例 的細節,而且在不背離本申請的精神或基本特徵的情況下,能夠以其他的具體形式實現本申請。因此,無論從哪一點來看,均應將本申請上述的實施例看作是示範性的。 For those skilled in the art, it is obvious that the present application is not limited to the above-mentioned exemplary embodiments details, and the present application may be embodied in other specific forms without departing from the spirit or essential characteristics of the present application. Therefore, the above-described embodiments of the present application should be regarded as exemplary from any point of view.
100:資料存取系統 10:片上系統 20:存儲介質 30:處理器 40:搬運模組 41:DMA控制器 42:仲裁器 43:記憶體控制器100: Data Access System 10: System-on-Chip 20: Storage medium 30: Processor 40: Handling module 41: DMA controller 42: Arbiter 43: Memory Controller
圖1是根據本申請一實施方式的一種資料存取系統結構圖。 圖2及圖3是根據本申請一實施方式的搬運模組的工作流程示意圖。 圖4是根據本申請一實施方式的一種資料存取方法流程示意圖。 圖5是圖4步驟S20的細化流程示意圖。 圖6是圖4步驟S30的細化流程示意圖。 FIG. 1 is a structural diagram of a data access system according to an embodiment of the present application. FIG. 2 and FIG. 3 are schematic diagrams of the work flow of a transport module according to an embodiment of the present application. FIG. 4 is a schematic flowchart of a data access method according to an embodiment of the present application. FIG. 5 is a schematic diagram of a refinement flow of step S20 in FIG. 4 . FIG. 6 is a schematic diagram of the refinement flow of step S30 in FIG. 4 .
無none
S10~S30:步驟 S10~S30: Steps
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145846A TWI766497B (en) | 2020-12-23 | 2020-12-23 | Data access method and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109145846A TWI766497B (en) | 2020-12-23 | 2020-12-23 | Data access method and system |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI766497B true TWI766497B (en) | 2022-06-01 |
TW202225984A TW202225984A (en) | 2022-07-01 |
Family
ID=83103567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109145846A TWI766497B (en) | 2020-12-23 | 2020-12-23 | Data access method and system |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI766497B (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI220477B (en) * | 2001-01-31 | 2004-08-21 | Samsung Electronics Co Ltd | System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities |
TWI268426B (en) * | 2001-09-07 | 2006-12-11 | Intel Corp | Method and apparatus for distributed direct memory access for systems on chip |
US20090172621A1 (en) * | 2007-12-27 | 2009-07-02 | Sanved Dessiggn Automation | System and method for system-on-chip (soc) performance analysis |
CN106970864A (en) * | 2016-01-13 | 2017-07-21 | 三星电子株式会社 | On-chip system, mobile terminal and the method for operating on-chip system |
TW201826162A (en) * | 2016-12-16 | 2018-07-16 | 美商波音公司 | Method and system for generation of cipher round keys by bit-mixers |
-
2020
- 2020-12-23 TW TW109145846A patent/TWI766497B/en active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI220477B (en) * | 2001-01-31 | 2004-08-21 | Samsung Electronics Co Ltd | System on a chip having system bus, external bus, and bus arbiter with programmable priorities for both buses, software, and method for assigning programmable priorities |
TWI268426B (en) * | 2001-09-07 | 2006-12-11 | Intel Corp | Method and apparatus for distributed direct memory access for systems on chip |
US20090172621A1 (en) * | 2007-12-27 | 2009-07-02 | Sanved Dessiggn Automation | System and method for system-on-chip (soc) performance analysis |
CN106970864A (en) * | 2016-01-13 | 2017-07-21 | 三星电子株式会社 | On-chip system, mobile terminal and the method for operating on-chip system |
TW201826162A (en) * | 2016-12-16 | 2018-07-16 | 美商波音公司 | Method and system for generation of cipher round keys by bit-mixers |
Also Published As
Publication number | Publication date |
---|---|
TW202225984A (en) | 2022-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102541302B1 (en) | Flash-integrated high bandwidth memory appliance | |
JP6980912B2 (en) | Swizling in 3D stacked memory | |
JP6373559B2 (en) | MEMORY DEVICE AND MEMORY DEVICE OPERATION METHOD | |
KR100726361B1 (en) | System and method for communicating with memory devices | |
JP7349812B2 (en) | memory system | |
CN113643739A (en) | LLC chip and cache system | |
CN111158633A (en) | DDR3 multichannel read-write controller based on FPGA and control method | |
US9390017B2 (en) | Write and read collision avoidance in single port memory devices | |
EP3036648B1 (en) | Enhanced data transfer in multi-cpu systems | |
JP2018152112A (en) | Memory device and method of operating the same | |
US11822812B2 (en) | Method and apparatus for distributed direct memory access for system on chip performing read or write operations | |
US20190042499A1 (en) | High bandwidth dimm | |
US8995210B1 (en) | Write and read collision avoidance in single port memory devices | |
TWI766497B (en) | Data access method and system | |
KR20200011731A (en) | Memory device and processing system | |
CN216119560U (en) | LLC chip and cache system | |
US20220222194A1 (en) | On-package accelerator complex (ac) for integrating accelerator and ios for scalable ran and edge cloud solution | |
EP3907624A1 (en) | Memory and storage controller with integrated memory coherency interconnect | |
US20230195368A1 (en) | Write Request Buffer | |
US8244929B2 (en) | Data processing apparatus | |
WO2021139733A1 (en) | Memory allocation method and device, and computer readable storage medium | |
CN114238156A (en) | Processing system and method of operating a processing system | |
US20030033454A1 (en) | Direct memory access controller | |
CN107291209B (en) | Cell array computing system | |
US20240079036A1 (en) | Standalone Mode |