WO2011157067A1 - 同步动态随机存储控制器读取数据的方法和装置 - Google Patents

同步动态随机存储控制器读取数据的方法和装置 Download PDF

Info

Publication number
WO2011157067A1
WO2011157067A1 PCT/CN2011/071568 CN2011071568W WO2011157067A1 WO 2011157067 A1 WO2011157067 A1 WO 2011157067A1 CN 2011071568 W CN2011071568 W CN 2011071568W WO 2011157067 A1 WO2011157067 A1 WO 2011157067A1
Authority
WO
WIPO (PCT)
Prior art keywords
mirror
dynamic random
synchronous dynamic
random access
access memory
Prior art date
Application number
PCT/CN2011/071568
Other languages
English (en)
French (fr)
Inventor
侯志伟
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2011157067A1 publication Critical patent/WO2011157067A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Definitions

  • the present invention relates to the field of data read operation technologies, and in particular, to a method and device for reading data by a synchronous dynamic random storage controller, and a synchronous dynamic random access method.
  • Storage controller a synchronous dynamic random storage controller
  • SDRAM Synchronous Dynamic Random Access Memory
  • the technical problem to be solved by the present invention is to provide a method and apparatus for reading data by a synchronous dynamic random access controller to increase the rate of read operations and reduce the delay time for the controller to delay processing of read operations.
  • the present invention provides a synchronous dynamic random access controller to read The method for fetching data, the method includes: after receiving the write operation request of the user, the synchronous dynamic random storage controller copies the write operation data to one or more mirror spaces in the synchronous dynamic random access memory, where the mirror space is in synchronous dynamic
  • the write address in the random access memory and the write operation request are located in an address space of a different storage array; and the synchronous dynamic random access controller simultaneously processes a plurality of read operation requests in parallel, requesting read for each read operation request
  • the mirrored space of the outgoing data is located in different storage arrays in the synchronous dynamic random access memory.
  • different mirror spaces determined for the same write operation data are located in different pieces of synchronous dynamic random access memory, or are located in the same piece of synchronous dynamic memory. Random storage in different storage arrays.
  • the present invention further provides an apparatus for reading data by a synchronous dynamic random access controller, the apparatus comprising a connected synchronous dynamic random access controller and a synchronous dynamic random access memory, wherein the synchronous dynamic random access memory
  • the controller is configured to: after receiving the write operation request of the user, select one or more mirror spaces for backing up the write operation data, where the mirror space is written in the synchronous dynamic random access memory and the write operation request
  • the addresses are located in address spaces of different storage arrays; and the plurality of read operation requests are processed in parallel, and the mirror space for reading data selected for each read operation request is located in a different storage array in the synchronous dynamic random access memory; the synchronous dynamic random access memory
  • the setting is: when processing the write operation request, backing up the write operation data into each mirror space indicated by the synchronous dynamic random storage controller; and reading from the mirror space indicated by the synchronous dynamic random access memory when processing the read operation request Out of the data.
  • the synchronous dynamic random access controller includes a connected operation generator module and a mirror operation processing module;
  • the operation generator module is configured to: send the received operation request to the mirror operation processing module and the synchronous dynamic random access memory;
  • the mirror operation processing module is configured to: receive a write operation request from the operation generator module Thereafter, determining a plurality of mirror spaces and notifying an address of each mirror space to the synchronous dynamic random access memory; and receiving a read operation request from the operation generator module, respectively, in different storage arrays in the synchronous dynamic random access memory
  • the read operation request selects a mirror space for reading out data, and notifies the synchronous dynamic random access memory of the address of the selected mirror space.
  • the image operation processing module includes an operation request type determination unit, a mirror space address scheduling unit, and a mirror space address storage unit.
  • the operation request type determination unit is configured to: analyze the request message learned from the operation generator module.
  • the mirror space address scheduling unit is configured to: when receiving the read operation request, determine a plurality of mirror spaces and notify the mirror space address to the mirror space address a storage unit; and, when receiving the read operation request, selecting a mirror space from the mirror space address storage unit; the mirror space address storage unit is configured to: store an address of each mirror space.
  • the mirror space address scheduling unit is further configured to: determine the number of mirror spaces for performing the mirroring operation during the execution of the write operation according to the execution frequency requirement of the read operation.
  • the mirror space address scheduling unit is further configured to: when determining a plurality of mirror spaces, the determined different mirror spaces are located in different pieces of synchronous dynamic random access memory, or in different storage arrays of the same piece of synchronous dynamic random access memory. .
  • the present invention further provides a synchronous dynamic random storage controller, which is configured to: after receiving a write operation request of a user, select one or more mirror spaces for backing up write operation data, The mirror space is in an address space of the different memory array in the synchronous dynamic random access memory and the write address in the write operation request; and processing a plurality of read operation requests in parallel for requesting read data for each read operation request
  • the mirror space is located in a different storage array in synchronous dynamic random access memory.
  • the synchronous dynamic random access controller includes a connected operation generator module and a mirror operation processing module;
  • the operation generator module is configured to: send the received operation request to the mirror operation processing module and the synchronous dynamic random access memory;
  • the mirror operation processing module is configured to: receive a write from the operation generator module After the operation request, determining a plurality of mirror spaces and notifying the address of each mirror space to the synchronous dynamic random access memory; and receiving a read operation request from the operation generator module, in a different dynamic storage array in the synchronous dynamic random access memory A mirror space for reading out data is selected for each read operation request, and the address of the selected mirror space is notified to the synchronous dynamic random access memory.
  • the image operation processing module includes an operation request type determination unit, a mirror space address scheduling unit, and a mirror space address storage unit.
  • the operation request type determination unit is configured to: analyze the request message learned from the operation generator module. Type, and notifying to the mirror space address scheduling unit; the mirror space address scheduling unit is configured to: when receiving the read operation request, determine a plurality of mirror spaces and notify the mirror space address to the mirror space address a storage unit; and, when receiving the read operation request, selecting a mirror space from the mirror space address storage unit; the mirror space address storage unit is configured to: store an address of each mirror space.
  • the mirror space address scheduling unit is further configured to: determine the number of mirror spaces for performing the mirroring operation during the execution of the write operation according to the execution frequency requirement of the read operation.
  • the mirror space address scheduling unit is further configured to: when determining a plurality of mirror spaces, the determined different mirror spaces are located in different pieces of synchronous dynamic random access memory, or in different storage arrays of the same piece of synchronous dynamic random access memory. .
  • FIG. 1 is a structural diagram of an apparatus for reading data by a synchronous dynamic random access controller in an embodiment
  • FIG. 2 is a structural diagram of a synchronous dynamic random access controller in an embodiment
  • FIG. 3 is a structural diagram of a mirror operation processing module in the embodiment of FIG.
  • the synchronous dynamic random access controller reads data, including a connected synchronous dynamic random access controller and a synchronous dynamic random access memory.
  • the synchronous dynamic random access memory may be a commonly used SDRAM or a Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM), such as DDR3 SDRAM.
  • DDR SDRAM Double Data Rate Synchronous Dynamic Random Access Memory
  • the synchronous dynamic random access controller is configured to: after receiving the write operation request of the user, select one or more mirror spaces for backing up the write operation data, where the mirror space is in the synchronous dynamic random access memory and the write operation request
  • the write addresses are located in address spaces of different memory arrays; and multiple read operation requests are processed in parallel, and the mirror space for reading data selected for each read operation request is located in a different memory array in the synchronous dynamic random access memory.
  • the synchronous dynamic random access memory is set to: when processing the write operation request, back up the write operation data to each mirror space indicated by the synchronous dynamic random storage controller; and when processing the read operation request, from the mirror space indicated by the synchronous dynamic random access memory Read the data.
  • the synchronous dynamic random access controller includes a connected operation generator module 11 and a mirror operation processing module 12, which are connected by an operation request type bus.
  • the controller further includes a physical interface module 13 connected to the operation generator module and the mirror operation processing module, the physical interface module being configured to: perform information exchange and communication with the synchronous dynamic random access memory, and the physical interface module can use the prior art.
  • Centralized synchronous dynamic random access controller and synchronous dynamics A common interface device for random access memory.
  • the operation generator module 11 is configured to: send the received operation request to the mirror operation processing module 12 and the synchronous dynamic random access memory, where the operation request includes an address that the user needs to access, that is, when the request is a write operation request, the user needs to access The address is the destination address of the data to be written. When the request is a read operation request, the address that the user needs to access is the target address of the data to be read.
  • the operation generator module 11 includes a read/write operation analysis unit 111, a write operation generator unit 112, and a read operation generator unit 113.
  • the read/write operation analyzing unit 111 is configured to: perform type determination on the request message, and when determining that the request message is a write operation request after receiving the request message, send the write operation request to the write operation generator module 112; When a read operation request is made, the read operation request is sent to the read operation generator module 113.
  • the write operation generator unit 112 is configured to: after receiving the write operation request, send the write operation request to the mirror operation processing module and the synchronous dynamic random access memory.
  • the read operation generator unit 113 is set to: after receiving the read operation request, send the read operation request to the mirror operation processing module and the synchronous dynamic random access memory.
  • the read/write operation analyzing unit i l l can also be connected to a read/write queue buffer module other than the operation generator module 11 through the operation request and response bus, and the two modules communicate by requesting and responding to the handshake mechanism.
  • the read/write queue cache module is configured to: sequentially cache the received request information, and sequentially send the request message to the read/write operation analysis unit when there is a request message in the cache queue.
  • the mirror operation processing module 12 is configured to: after receiving the write operation request from the operation generator module, determine a plurality of mirror spaces and notify the address of each mirror space to the synchronous dynamic random access memory; and after receiving the read operation request, in the synchronous dynamic A mirror space for reading data is selected for each read operation request in a different memory array in the random access memory, and the address of the selected mirror space is notified to the synchronous dynamic random access memory.
  • the mirror operation processing module 12 does not need to buffer and execute the scheduling of the read operation request, and directly performs the read operation request in the order of receiving, so that each The processing of a read operation request takes the same amount of time, and the processing efficiency of the read operation request is not affected by the bandwidth of the external interface bus.
  • the mirror operation processing module includes an operation request type determining unit 301, a mirror space address scheduling unit 302, and a mirror space address storage unit 303.
  • the operation request type judgment unit 301 is set to: analyze the type of the request message learned from the operation generator module, and notify the mirror space address scheduling unit 302.
  • the mirror space address scheduling unit 302 is configured to: upon receiving the read operation request, determine a plurality of mirror spaces and notify the mirror space address storage unit 303 of the address of the mirror space, and from the mirror space address upon receiving the read operation request The mirror space is selected in the storage unit 303.
  • the mirror space address scheduling unit 302 is further configured to: when determining a plurality of mirror spaces, the determined different mirror spaces are located in different slices of synchronous dynamic random access memory, or in different storage arrays of the same piece of synchronous dynamic random access memory.
  • the mirror space address scheduling unit 302 is further configured to: determine the number of mirror spaces for performing the mirroring operation during the execution of the write operation according to the execution frequency requirement of the read operation.
  • the mirror space address storage unit 303 is used to store the address of each mirror space.
  • the present invention also provides a synchronous dynamic random access controller, the function of which is the same as that described in the above apparatus, and details are not described herein again.
  • the controller in reading data in the same storage array (Rank) of the SDRAM, a delay of a period of time is required between the two data reading operations.
  • the controller by performing multiple mirroring on the write data in the write operation request, the controller has multiple choices when processing the read operation request, and is not limited to reading data only in the address indicated in the read operation request, and may be backed up.
  • the controller processes the read operation request, the read operation of the same address can be completed in a different mirror space.
  • the controller when the controller receives a continuous read operation request, the address of the mirror space issued by the mirror operation processing module can be used to put the read operations into different mirror spaces, thereby effectively improving the efficiency of the read operation and greatly reducing the efficiency of the read operation.
  • the method for reading data by the synchronous dynamic random storage controller in the present invention includes: the synchronous dynamic random storage controller copies the write operation data after receiving the write operation request of the user Up to one or more mirror spaces in the synchronous dynamic random access memory, wherein the mirror space is located in an address space of a different memory array in the synchronous dynamic random access memory and the write operation request; the synchronous dynamic random access controller simultaneously A plurality of read operation requests are processed in parallel, and the mirror space for reading data selected for each read operation request is located in a different memory array in the synchronous dynamic random access memory.
  • the synchronous dynamic random storage controller performs data mirroring, different mirror spaces determined for the same write operation data are located in different pieces of synchronous dynamic random access memory, or in different storage arrays of the same piece of synchronous dynamic random access memory.
  • the invention mirrors the data in the memory into different address spaces of the DDR3 SDRAM, and performs the read operation of the address space in different data mirrors by completing the read and write operations in different mirror spaces, thereby completing the jump in different data mirrors.
  • the minimum delay of the DDR3 SDRAM address space read operation ensures the sequentiality of the read operation and the fixed delay, achieving the maximum read frequency of the DDR3 SDRAM per unit time.
  • the present invention provides an implementation device for the method, which can be widely applied to a Field-Programmable Gate Array (FPGA) and an Application Specific Integrated Circuit (ASIC) logic circuit design.
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • the present invention can improve the rate at which a synchronous dynamic random access controller processes user read operation requests, greatly reduces the delay processing time for read operation requests, and ensures the order of read operations and the fixed delay of read operations. Time.
  • the access efficiency of the controller read operation can be increased by increasing the number of mirror spaces.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

公开了一种同步动态随机存储控制器,其设置为:收到用户的写操作请求后,选择用于备份写操作数据的一个或多个镜像空间,所述镜像空间是在同步动态随机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空间;以及并行处理多个读操作请求,为各读操作请求选择的用于读出数据的镜像空间在同步动态随机存储器中位于不同存储阵列。所述同步动态随机存储控制器包括相连的操作发生模块和镜像操作处理模块。还公开了一种同步动态随机存储控制器读取数据的方法和装置。本发明可以提高同步动态随机存储控制器处理用户读操作请求的速率,减少对读操作请求的拖延处理时间。

Description

同歩动态随机存储捽制器读取数据的方法和装置 技术领域 本发明涉及数据读取操作技术领域, 尤其涉及一种同步动态随机存储控 制器读取数据的方法、 装置以及一种同步动态随机存储控制器。
背景技术
随着通信网络多媒体业务的发展, 网络对通讯传输带宽的需求也快速增 长, 随着网络数据量的急剧增加, 对海量数据的处理技术成为网络发展的瓶 颈。 在对大量数据包的处理中, 对外部存储器的访问又成为数据包处理速度 的瓶颈。 有效地提高外部存储器访问的效率, 成为外部存储器访问控制器设 计的关键。 现有技术中使用的方法是釆用同步随机存储器 ( Synchronous Random Access Memory, 简称 SRAM )类型的器作, 此种类型的器件可以满 足对存储器访问带宽的需求,但容量小成本高的特点影响了其得到广泛应用。 而大容量低成本的同步动态随机存储器 ( Synchronous Dynamic Random Access Memory, 简称 SDRAM )却由于器件本身的限制, 使传统控制器在某 些访问方式下的访问效率很低。 现有技术中的解决方案一般通过有效的调度 访问的地址空间来提高访问效率, 但这种调度方式常会引起用户发出访问的 顺序与控制器执行的顺序不同, 出现乱序的情况, 导致访问请求被拖延。 这 些缺陷还会造成调度算法设计的复杂性和效率的不稳定性, 影响系统整体的 稳定性。
发明内容 本发明要解决的技术问题是提供一种同步动态随机存储控制器读取数据 的方法和装置, 以提高读操作的速率, 减少控制器对读操作请求的延迟处理 的时间。
为了解决上述技术问题, 本发明提供了一种同步动态随机存储控制器读 取数据的方法, 该方法包括: 同步动态随机存储控制器收到用户的写操作请求后, 将写操作数据复制 到同步动态随机存储器中一个或多个镜像空间, 所述镜像空间是在同步动态 随机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空 间; 以及 所述同步动态随机存储控制器同时并行处理多个读操作请求, 为各读操 作请求选择的用于读出数据的镜像空间在同步动态随机存储器中位于不同存 储阵列。 其中, 将写操作数据复制到同步动态随机存储器中一个或多个镜像空间 的步骤中, 针对同一写操作数据所确定的不同镜像空间位于不同片的同步动 态随机存储器中, 或者位于同一片同步动态随机存储器的不同存储阵列中。
为了解决上述技术问题, 本发明还提供了一种同步动态随机存储控制器 读取数据的装置, 该装置包括相连的同步动态随机存储控制器和同步动态随 机存储器, 其中, 所述同步动态随机存储控制器设置为: 收到用户的写操作请求后, 选择 用于备份写操作数据的一个或多个镜像空间, 所述镜像空间是在同步动态随 机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空间; 以及并行处理多个读操作请求, 为各读操作请求选择的用于读出数据的镜像 空间在同步动态随机存储器中位于不同存储阵列; 所述同步动态随机存储器设置为: 在处理写操作请求时, 将写操作数据 备份到同步动态随机存储控制器指示的各镜像空间中; 以及在处理读操作请 求时, 从所述同步动态随机存储器指示的镜像空间中读出数据。 其中, 所述同步动态随机存储控制器包括相连的操作发生器模块和镜像 操作处理模块;
所述操作发生器模块设置为: 将收到的操作请求发送至所述镜像操作处 理模块和所述同步动态随机存储器;
所述镜像操作处理模块设置为: 从所述操作发生器模块收到写操作请求 后, 确定多个镜像空间并将各镜像空间的地址通知至所述同步动态随机存储 器; 以及从所述操作发生器模块收到读操作请求后, 在同步动态随机存储器 中不同存储阵列中为各读操作请求选择用于读出数据的镜像空间, 并将选择 出的镜像空间的地址通知至所述同步动态随机存储器。 其中, 所述镜像操作处理模块包括操作请求类型判断单元, 镜像空间地 址调度单元, 以及镜像空间地址存储单元; 所述操作请求类型判断单元设置为: 分析从所述操作发生器模块获知的 请求消息的类型, 并通知至所述镜像空间地址调度单元; 所述镜像空间地址调度单元设置为: 在收到读操作请求时, 确定多个镜 像空间并将镜像空间的地址通知至所述镜像空间地址存储单元; 以及在收到 读操作请求时, 从所述镜像空间地址存储单元中选择镜像空间; 所述镜像空间地址存储单元设置为: 存储各镜像空间的地址。 其中, 所述镜像空间地址调度单元还设置为: 根据读操作的执行频率需 求确定写操作执行过程中进行镜像操作的镜像空间的个数。 其中, 所述镜像空间地址调度单元还设置为: 确定多个镜像空间时, 使 确定出的不同镜像空间位于不同片的同步动态随机存储器中, 或者位于同一 片同步动态随机存储器的不同存储阵列中。
为了解决上述技术问题,本发明还提供了一种同步动态随机存储控制器, 其设置为: 收到用户的写操作请求后, 选择用于备份写操作数据的一个或多个镜像 空间, 所述镜像空间是在同步动态随机存储器中与所述写操作请求中的写入 地址位于不同存储阵列的地址空间; 以及 并行处理多个读操作请求, 为各读操作请求选择的用于读出数据的镜像 空间在同步动态随机存储器中位于不同存储阵列。 其中, 所述同步动态随机存储控制器包括相连的操作发生器模块和镜像 操作处理模块; 所述操作发生器模块设置为: 将收到的操作请求发送至所述镜像操作处 理模块和所述同步动态随机存储器; 所述镜像操作处理模块设置为: 从所述操作发生器模块收到写操作请求 后, 确定多个镜像空间并将各镜像空间的地址通知至所述同步动态随机存储 器; 以及从所述操作发生器模块收到读操作请求后, 在同步动态随机存储器 中不同存储阵列中为各读操作请求选择用于读出数据的镜像空间, 并将选择 出的镜像空间的地址通知至所述同步动态随机存储器。 其中, 所述镜像操作处理模块包括操作请求类型判断单元, 镜像空间地 址调度单元, 以及镜像空间地址存储单元; 所述操作请求类型判断单元设置为: 分析从所述操作发生器模块获知的 请求消息的类型, 并通知至所述镜像空间地址调度单元; 所述镜像空间地址调度单元设置为: 在收到读操作请求时, 确定多个镜 像空间并将镜像空间的地址通知至所述镜像空间地址存储单元; 以及在收到 读操作请求时, 从所述镜像空间地址存储单元中选择镜像空间; 所述镜像空间地址存储单元设置为: 存储各镜像空间的地址。 其中, 所述镜像空间地址调度单元还设置为: 根据读操作的执行频率需 求确定写操作执行过程中进行镜像操作的镜像空间的个数。 其中, 所述镜像空间地址调度单元还设置为: 确定多个镜像空间时, 使 确定出的不同镜像空间位于不同片的同步动态随机存储器中, 或者位于同一 片同步动态随机存储器的不同存储阵列中。
本发明与现有技术相比, 可以提高同步动态随机存储控制器处理用户读 操作请求的速率, 大大减少对读操作请求的拖延处理时间, 保证读操作的顺 序和读操作的固定延时。 并且本发明中, 在硬件器件的性能支持范围以及存 储空间利用率支持范围内, 明确对控制器读操作效率要求时, 可以通过增加 镜像空间的个数来增加控制器读操作的访问效率。 附图概述 图 1 是实施例中同步动态随机存储控制器读取数据的装置的组成结构 图;
图 2是实施例中同步动态随机存储控制器的组成结构图; 图 3中实施例中镜像操作处理模块的组成结构图。
本发明的较佳实施方式
如图 1所示, 同步动态随机存储控制器读取数据的装置, 包括相连的同 步动态随机存储控制器和同步动态随机存储器。 此同步动态随机存储器可以 是常用的 SDRAM,也可以是双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory, 简称 DDR SDRAM ) , 例如 DDR3 SDRAM。 同步动态随机存储控制器设置为: 收到用户的写操作请求后, 选择用于 备份写操作数据的一个或多个镜像空间, 所述镜像空间是在同步动态随机存 储器中与写操作请求中的写入地址位于不同存储阵列的地址空间; 以及并行 处理多个读操作请求, 为各读操作请求选择的用于读出数据的镜像空间在同 步动态随机存储器中位于不同存储阵列。
同一写操作数据复制到的不同镜像空间位于不同片的同步动态随机存储 器中, 或者位于同一片同步动态随机存储器的不同存储阵列中。 同步动态随机存储器设置为: 处理写操作请求时, 将写操作数据备份到 同步动态随机存储控制器指示的各镜像空间中; 以及在处理读操作请求时, 从同步动态随机存储器指示的镜像空间中读出数据。 如图 2 所示, 同步动态随机存储控制器包括相连的操作发生器模块 11 和镜像操作处理模块 12, 此两个模块通过操作请求类型总线相连。 此控制器 还包括与操作发生器模块和镜像操作处理模块均相连的物理接口模块 13 ,此 物理接口模块设置为: 与同步动态随机存储器完成信息交互和通信, 此物理 接口模块可以使用现有技术中能够连通同步动态随机存储控制器和同步动态 随机存储器的常用接口装置。 操作发生器模块 11设置为:将收到的操作请求发送至镜像操作处理模块 12和同步动态随机存储器, 此操作请求中包括用户需要访问的地址, 即此请 求为写操作请求时, 用户需要访问的地址是要写入数据的目标地址, 此请求 为读操作请求时, 用户需要访问的地址是要读出数据的目标地址。 具体的, 操作发生器模块 11包括读写操作分析单元 111、 写操作发生器 单元 112、 读操作发生器单元 113。 读写操作分析单元 111设置为: 对请求消息进行类型判断, 收到请求消 息后判断此请求消息为写操作请求时, 将此写操作请求发送至写操作发生器 模块 112; 判断此请求消息为读操作请求时, 将此读操作请求发送至读操作 发生器模块 113。 写操作发生器单元 112设置为: 收到写操作请求后, 将此 写操作请求发送至镜像操作处理模块和同步动态随机存储器。 读操作发生器 单元 113设置为: 收到读操作请求后, 将此读操作请求发送至镜像操作处理 模块和同步动态随机存储器。
读写操作分析单元 i l l还可以通过操作请求与应答总线与操作发生器模 块 11之外的一读写队列緩存模块相连,此两个模块通过请求与应答的握手机 制通信。 读写队列緩存模块设置为: 将接收到的请求信息进行顺序緩存, 并 在緩存队列中存在请求消息时, 依次将请求消息发送至读写操作分析单元
111。
镜像操作处理模块 12设置为:从操作发生器模块收到写操作请求后,确 定多个镜像空间并将各镜像空间的地址通知至同步动态随机存储器; 以及收 到读操作请求后, 在同步动态随机存储器中不同存储阵列中为各读操作请求 选择用于读出数据的镜像空间, 并将选择出的镜像空间的地址通知至同步动 态随机存储器。 由于本发明中引入了对写数据进行镜像操作的技术特征, 镜像操作处理 模块 12不需对读操作请求进行緩存和执行调度,直接对接收到的读操作请求 按照接收的顺序依次执行, 使每个读操作请求的处理所耗时长相同, 并且对 读操作请求的处理效率不受外部接口总线带宽的影响。 具体的,如图 3所示,镜像操作处理模块包括操作请求类型判断单元 301 , 镜像空间地址调度单元 302 , 以及镜像空间地址存储单元 303。 操作请求类型判断单元 301设置为: 分析从操作发生器模块获知的请求 消息的类型, 并通知至镜像空间地址调度单元 302。 镜像空间地址调度单元 302设置为: 在收到读操作请求时, 确定多个镜 像空间并将镜像空间的地址通知至镜像空间地址存储单元 303 , 以及在收到 读操作请求时, 从镜像空间地址存储单元 303中选择镜像空间。 镜像空间地 址调度单元 302还设置为: 确定多个镜像空间时, 使确定出的不同镜像空间 位于不同片的同步动态随机存储器中, 或者位于同一片同步动态随机存储器 的不同存储阵列中。 镜像空间地址调度单元 302还设置为: 根据读操作的执 行频率需求确定写操作执行过程中进行镜像操作的镜像空间的个数。 一般情 况下, 确定镜像空间的个数后, 在操作执行过程中不进行更改。 镜像空间地址存储单元 303用于存储各镜像空间的地址。 本发明还提供了一种同步动态随机存储控制器, 其功能与如上述装置中 描述的相同, 此处不再赘述。
现有技术中, 在 SDRAM的同一存储阵列 (Rank ) 中读取数据中, 两次 数据读取操作中间需一段时间的延迟。 本发明中通过对写操请求中写数据进 行多处镜像, 使控制器在处理读操作请求时有了多个选择, 不限于只在读操 作请求中指示的地址中读出数据,可以在已备份的多个镜像空间中读出数据, 并行处理多个读操作, 典型的适用于此多个读操作对应的镜像空间处于不同 的存储阵列的情况。 控制器在处理读操作请求时, 可以将对同一个地址的读 操作放在不同的镜像空间中完成。因此在控制器接受到连续的读操作请求时, 可以根据镜像操作处理模块发出的镜像空间的地址, 将这些读操作放到不同 的镜像空间中完成, 从而有效地提高读操作的效率, 大大减少读操作请求的 緩存造成的处理延迟。 对应于上述装置, 本发明中同步动态随机存储控制器读取数据的方法包 括: 同步动态随机存储控制器收到用户的写操作请求后, 将写操作数据复制 到同步动态随机存储器中一个或多个镜像空间, 所述镜像空间是在同步动态 随机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空 间; 同步动态随机存储控制器同时并行处理多个读操作请求, 为各读操作请 求选择的用于读出数据的镜像空间在同步动态随机存储器中位于不同存储阵 列。 其中, 同步动态随机存储控制器进行数据镜像时, 针对同一写操作数据 所确定的不同镜像空间位于不同片的同步动态随机存储器中, 或者位于同一 片同步动态随机存储器的不同存储阵列中。
本发明将存储器中的数据镜像到 DDR3 SDRAM的不同地址空间中, 通 过将读写操作在不同的镜像空间中调度完成, 实现对地址空间的读操作在不 同的数据镜像中跳转完成, 从而对 DDR3 SDRAM地址空间读操作的最小延 时,同时保证了读操作的顺序性和延时的固定性,实现在单位时间内对 DDR3 SDRAM的最大的读操作频率。 同时本发明提供了该方法的实现装置, 可以 广泛的应用于现场可编程门阵列 ( Field - Programmable Gate Array, 简称 FPGA )和专用集成电路( Application Specific Integrated Circuit, 简称 ASIC ) 逻辑电路设计中。
当然, 本发明还可有其他多种实施例, 在不背离本发明精神及其实质的 但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。 本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。 工业实用性 本发明与现有技术相比, 可以提高同步动态随机存储控制器处理用户读 操作请求的速率, 大大减少对读操作请求的拖延处理时间, 保证读操作的顺 序和读操作的固定延时。 并且本发明中, 在硬件器件的性能支持范围以及存 储空间利用率支持范围内, 明确对控制器读操作效率要求时, 可以通过增加 镜像空间的个数来增加控制器读操作的访问效率。

Claims

权 利 要 求 书
1、 一种同步动态随机存储控制器读取数据的方法, 该方法包括: 同步动态随机存储控制器收到用户的写操作请求后, 将写操作数据复制 到同步动态随机存储器中一个或多个镜像空间, 所述镜像空间是在同步动态 随机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空 间; 以及 所述同步动态随机存储控制器同时并行处理多个读操作请求, 为各读操 作请求选择的用于读出数据的镜像空间在同步动态随机存储器中位于不同存 储阵列。
2、 如权利要求 1所述的方法, 其中,
将写操作数据复制到同步动态随机存储器中一个或多个镜像空间的步骤 中, 针对同一写操作数据所确定的不同镜像空间位于不同片的同步动态随机 存储器中, 或者位于同一片同步动态随机存储器的不同存储阵列中。
3、一种同步动态随机存储控制器读取数据的装置,该装置包括相连的同 步动态随机存储控制器和同步动态随机存储器, 其中, 所述同步动态随机存储控制器设置为: 收到用户的写操作请求后, 选择 用于备份写操作数据的一个或多个镜像空间, 所述镜像空间是在同步动态随 机存储器中与所述写操作请求中的写入地址位于不同存储阵列的地址空间; 以及并行处理多个读操作请求, 为各读操作请求选择的用于读出数据的镜像 空间在同步动态随机存储器中位于不同存储阵列;
所述同步动态随机存储器设置为: 在处理写操作请求时, 将写操作数据 备份到同步动态随机存储控制器指示的各镜像空间中; 以及在处理读操作请 求时, 从所述同步动态随机存储器指示的镜像空间中读出数据。
4、 如权利要求 3所述的装置, 其中, 所述同步动态随机存储控制器包括相连的操作发生器模块和镜像操作处 理模块; 所述操作发生器模块设置为: 将收到的操作请求发送至所述镜像操作处 理模块和所述同步动态随机存储器; 所述镜像操作处理模块设置为: 从所述操作发生器模块收到写操作请求 后, 确定多个镜像空间并将各镜像空间的地址通知至所述同步动态随机存储 器; 以及从所述操作发生器模块收到读操作请求后, 在同步动态随机存储器 中不同存储阵列中为各读操作请求选择用于读出数据的镜像空间, 并将选择 出的镜像空间的地址通知至所述同步动态随机存储器。
5、 如权利要求 4所述的装置, 其中, 所述镜像操作处理模块包括操作请求类型判断单元, 镜像空间地址调度 单元, 以及镜像空间地址存储单元; 所述操作请求类型判断单元设置为: 分析从所述操作发生器模块获知的 请求消息的类型, 并通知至所述镜像空间地址调度单元; 所述镜像空间地址调度单元设置为: 在收到读操作请求时, 确定多个镜 像空间并将镜像空间的地址通知至所述镜像空间地址存储单元; 以及在收到 读操作请求时, 从所述镜像空间地址存储单元中选择镜像空间; 所述镜像空间地址存储单元设置为: 存储各镜像空间的地址。
6、 如权利要求 5所述的装置, 其中, 所述镜像空间地址调度单元还设置为: 根据读操作的执行频率需求确定 写操作执行过程中进行镜像操作的镜像空间的个数。
7、 如权利要求 5所述的装置, 其中, 所述镜像空间地址调度单元还设置为: 确定多个镜像空间时, 使确定出 的不同镜像空间位于不同片的同步动态随机存储器中, 或者位于同一片同步 动态随机存储器的不同存储阵列中。
8、 一种同步动态随机存储控制器, 其设置为: 收到用户的写操作请求后, 选择用于备份写操作数据的一个或多个镜像 空间, 所述镜像空间是在同步动态随机存储器中与所述写操作请求中的写入 地址位于不同存储阵列的地址空间; 以及 并行处理多个读操作请求, 为各读操作请求选择的用于读出数据的镜像 空间在同步动态随机存储器中位于不同存储阵列。
9、 如权利要求 8所述的同步动态随机存储控制器, 其中, 所述同步动态随机存储控制器包括相连的操作发生器模块和镜像操作处 理模块; 所述操作发生器模块设置为: 将收到的操作请求发送至所述镜像操作处 理模块和所述同步动态随机存储器; 所述镜像操作处理模块设置为: 从所述操作发生器模块收到写操作请求 后, 确定多个镜像空间并将各镜像空间的地址通知至所述同步动态随机存储 器; 以及从所述操作发生器模块收到读操作请求后, 在同步动态随机存储器 中不同存储阵列中为各读操作请求选择用于读出数据的镜像空间, 并将选择 出的镜像空间的地址通知至所述同步动态随机存储器。
10、 如权利要求 9所述的同步动态随机存储控制器, 其中, 所述镜像操作处理模块包括操作请求类型判断单元, 镜像空间地址调度 单元, 以及镜像空间地址存储单元; 所述操作请求类型判断单元设置为: 分析从所述操作发生器模块获知的 请求消息的类型, 并通知至所述镜像空间地址调度单元; 所述镜像空间地址调度单元设置为: 在收到读操作请求时, 确定多个镜 像空间并将镜像空间的地址通知至所述镜像空间地址存储单元; 以及在收到 读操作请求时, 从所述镜像空间地址存储单元中选择镜像空间;
所述镜像空间地址存储单元设置为: 存储各镜像空间的地址。
11、 如权利要求 10所述的同步动态随机存储控制器, 其中, 所述镜像空间地址调度单元还设置为: 根据读操作的执行频率需求确定 写操作执行过程中进行镜像操作的镜像空间的个数。
12、 如权利要求 10所述的同步动态随机存储控制器, 其中, 所述镜像空间地址调度单元还设置为: 确定多个镜像空间时, 使确定出 的不同镜像空间位于不同片的同步动态随机存储器中, 或者位于同一片同步 动态随机存储器的不同存储阵列中。
PCT/CN2011/071568 2010-06-13 2011-03-07 同步动态随机存储控制器读取数据的方法和装置 WO2011157067A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2010102076717A CN102279802A (zh) 2010-06-13 2010-06-13 提高同步动态随机存储控制器的读操作效率的方法和装置
CN201010207671.7 2010-06-13

Publications (1)

Publication Number Publication Date
WO2011157067A1 true WO2011157067A1 (zh) 2011-12-22

Family

ID=45105262

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/071568 WO2011157067A1 (zh) 2010-06-13 2011-03-07 同步动态随机存储控制器读取数据的方法和装置

Country Status (2)

Country Link
CN (1) CN102279802A (zh)
WO (1) WO2011157067A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713828B (zh) * 2011-12-21 2015-07-08 华为技术有限公司 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统
CN103377133B (zh) * 2012-04-17 2016-12-14 上海复旦微电子集团股份有限公司 利用空间冗余减少事务处理过程中对eeprom页擦写次数的方法
CN105760315A (zh) * 2014-12-15 2016-07-13 深圳市中兴微电子技术有限公司 一种提高同步动态随机存储器访问效率的方法及装置
US10289327B2 (en) * 2015-06-05 2019-05-14 Western Digital Technologies, Inc. Scheduling scheme(s) for a multi-die storage device
CN109040221A (zh) * 2018-07-26 2018-12-18 郑州云海信息技术有限公司 一种数据传输方法、系统、设备及存储阵列和存储介质
CN111583095B (zh) * 2020-05-22 2022-03-22 浪潮电子信息产业股份有限公司 图像数据存储方法、图像数据处理方法、系统及相关装置
CN113190477B (zh) * 2021-04-19 2022-07-01 烽火通信科技股份有限公司 一种适用于查表应用的低延时ddr控制方法及装置
CN116662019B (zh) * 2023-07-31 2023-11-03 苏州浪潮智能科技有限公司 请求的分配方法、装置、存储介质及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101128804A (zh) * 2004-09-10 2008-02-20 卡威姆网络有限公司 数据结构的选择性复制
CN101211290A (zh) * 2006-12-27 2008-07-02 富士通株式会社 镜像操作方法、镜像操作装置,以及计算机产品
US7421538B2 (en) * 2002-11-22 2008-09-02 Fujitsu Limited Storage control apparatus and control method thereof

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9262326B2 (en) * 2006-08-14 2016-02-16 Qualcomm Incorporated Method and apparatus to enable the cooperative signaling of a shared bus interrupt in a multi-rank memory subsystem
CN101000755B (zh) * 2006-12-21 2011-11-30 康佳集团股份有限公司 多屏显示拼接控制器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7421538B2 (en) * 2002-11-22 2008-09-02 Fujitsu Limited Storage control apparatus and control method thereof
CN101128804A (zh) * 2004-09-10 2008-02-20 卡威姆网络有限公司 数据结构的选择性复制
CN101211290A (zh) * 2006-12-27 2008-07-02 富士通株式会社 镜像操作方法、镜像操作装置,以及计算机产品

Also Published As

Publication number Publication date
CN102279802A (zh) 2011-12-14

Similar Documents

Publication Publication Date Title
WO2011157067A1 (zh) 同步动态随机存储控制器读取数据的方法和装置
JP4866646B2 (ja) メモリーに送るコマンドの選択方法、メモリーコントローラー、コンピュータシステム
US9110669B2 (en) Power management of a storage device including multiple processing cores
US9305619B2 (en) Implementing simultaneous read and write operations utilizing dual port DRAM
WO2018232736A1 (zh) 内存访问技术及计算机系统
CN101299757A (zh) 一种数据共享方法及通讯系统以及相关设备
WO2016082169A1 (zh) 内存访问方法、交换机及多处理器系统
US20160048455A1 (en) Memory Data Transfer Method and System
WO2014206230A1 (zh) 内存访问方法和内存控制器
US9378125B2 (en) Semiconductor chip and method of controlling memory
CN115905086A (zh) 基于axi同步读写单口sram的控制方法及控制器
WO2010012196A1 (zh) 一种数据读写的方法和装置
CN117632808B (zh) 多控存储阵列、存储系统、数据处理方法以及存储介质
CN107577614B (zh) 数据写入方法及内存系统
US11228668B2 (en) Efficient packet processing for express data paths
WO2012163019A1 (zh) 降低数据类芯片外挂ddr功耗的方法及数据类芯片系统
JP4725130B2 (ja) 分散共有メモリ装置およびメモリアクセス方法
CN115374031A (zh) 近存储器处理双列直插式存储器模块及其操作方法
TWI761655B (zh) 頁面大小感知調度方法和非暫時性電腦可讀記錄媒體
US8301816B2 (en) Memory access controller, system, and method
CN115495433A (zh) 一种分布式存储系统、数据迁移方法及存储装置
JP6059360B2 (ja) バッファ処理方法及び装置
KR20080046067A (ko) 메모리 시스템 및 듀얼 포트 메모리의 접근 제어 방법
US20110191638A1 (en) Parallel computer system and method for controlling parallel computer system
CN113608686B (zh) 一种远程内存直接访问方法及相关装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11795033

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11795033

Country of ref document: EP

Kind code of ref document: A1