CN104769569A - 智能双倍数据速率(ddr)存储器控制器 - Google Patents

智能双倍数据速率(ddr)存储器控制器 Download PDF

Info

Publication number
CN104769569A
CN104769569A CN201380057784.5A CN201380057784A CN104769569A CN 104769569 A CN104769569 A CN 104769569A CN 201380057784 A CN201380057784 A CN 201380057784A CN 104769569 A CN104769569 A CN 104769569A
Authority
CN
China
Prior art keywords
memory
memory controller
source address
controller
data
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
Application number
CN201380057784.5A
Other languages
English (en)
Inventor
R·戈文达拉曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104769569A publication Critical patent/CN104769569A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Dram (AREA)

Abstract

各种实施例包括被配置为当将数据传送到一个或多个存储器以及从一个或多个存储器传送数据时,减少经由系统总线/结构通信的信息量的系统、方法和设备。系统主控器组件可以向存储器控制器内部或邻近于存储器控制器的直接存储器存取控制器发送源地址和目的地址。直接存储器存取控制器和/或存储器控制器可以确定源地址和目的地址是否在存储器的相关部分内部。当源和目的地二者都在存储器的相关部分内部时,则存储器控制器可以在不存取系统总线的情况下执行存储器对存储器的数据传送。

Description

智能双倍数据速率(DDR)存储器控制器
背景技术
在过去几年中,已看到蜂窝和无线通信技术爆炸性增长。无线服务提供商现在提供大量的特征和服务,并且向其用户提供对信息、资源和通信的前所未有的接入水平。为跟上这些服务增强,移动电子设备(例如,蜂窝电话、平板电脑、膝上型电脑等)已变得比以前具有更多丰富并且复杂的特征。移动电子设备现在通常包括多个处理器、片上系统(SoC)、多个存储器以及其它允许移动设备用户在其移动设备上执行复杂并且耗电量大的软件应用(例如,视频流媒体、多媒体处理等)的资源(例如,电源轨等)。随着移动设备和相关技术继续普及并且使用,期望改进移动设备的性能能力和功耗特性变得重要,并且挑战移动设备设计者的设计准则。
发明内容
各个方面包括一种存储器系统,其包括:存储器;耦合到该存储器的存储器控制器;以及直接耦合到该存储器控制器的直接存储器存取(DMA)控制器。在一个方面中,该直接存储器存取(DMA)控制器可以直接耦合到该存储器控制器,从而该直接存储器存取(DMA)控制器和该存储器控制器位于系统数据总线的相同侧。在进一步方面中,该存储器控制器可以是动态随机存取存储器(DRAM)存储器控制器。在进一步方面中,该存储器控制器可以是双倍数据速率(DDR)存储器控制器,并且该存储器可以是DDR同步动态随机存取存储器。
在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作包括:接收源地址和目的地址;确定该源地址是否在该存储器中;响应于确定该源地址在该存储器中,确定该目的地址是否在该存储器中;以及响应于确定该目的地址在该存储器中,将存储在该源地址处的数据复制到该目的地址,而不将任何数据推送到总线上。在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作包括响应于确定该目的地址不在该存储器中,将存储在该源地址处的数据推送到该总线上。在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作包括响应于确定该源地址不在该存储器中而将读取请求、该源地址和该目的地址推送到该总线上。
进一步方面包括一种计算设备,其包括:系统数据总线;耦合到该系统数据总线的处理器;以及耦合到该系统数据总线的存储器系统。该存储器系统可以包括:存储器;耦合到该存储器的存储器控制器;以及直接耦合到该存储器控制器的直接存储器存取控制器。在一个方面中,该直接存储器存取控制器可以直接耦合到该存储器控制器,从而该直接存储器存取控制器和该存储器控制器位于系统数据总线的相同侧。在进一步方面中,该存储器控制器可以是动态随机存取存储器(DRAM)存储器控制器。在进一步方面中,该存储器控制器可以是双倍数据速率(DDR)存储器控制器,并且该存储器可以是DDR同步动态随机存取存储器。
在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作包括:接收源地址和目的地址;确定该源地址是否可以在该存储器中;响应于确定该源地址可以在该存储器中而确定该目的地址是否可以在该存储器中;并且响应于确定该目的地址可以在该存储器中而将存储在该源地址处的数据复制到该目的地址,而不将任何数据推送到总线上。在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作还包括响应于确定该目的地址可能不在该存储器中,将存储在该源地址处的数据推送到该总线上。在进一步方面中,该直接存储器存取控制器可以被配置为执行操作,这些操作还包括响应于确定该源地址可能不在该存储器中而将读取请求、该源地址和该目的地址推送到该总线上。
进一步方面包括将数据传送到一个或多个存储器以及从一个或多个存储器传送数据的方法,这些方法包括:在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址;在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中;在该存储器控制器中确定该目的地址是否可以在该存储器中;并且当该存储器控制器确定该源地址和该目的地址二者都在该存储器中时,则将存储在该源地址处的数据复制到该目的地址,而不将任何数据推送到总线上。
在一个方面中,该方法可以包括响应于确定该目的地址可能不在该存储器中,将存储在该源地址处的数据推送到该总线上。在进一步方面中,该方法可以包括响应于确定该源地址可能不在该存储器中,将读取请求、该源地址和该目的地址推送到该总线上。在进一步方面中,当直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址可以包括:在与存储器控制器位于系统数据总线的相同侧的直接存储器存取控制器中接收该源地址和该目的地址。
在进一步方面中,在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中可以包括:在动态随机存取存储器(DRAM)存储器控制器中确定该源地址是否可以在该存储器中。在进一步方面中,在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中可以包括:在双倍数据速率(DDR)存储器控制器中确定该源地址是否可以在DDR同步动态随机存取存储器中。
进一步方面包括一种计算设备,其具有:用于在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址的单元;用于在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中的单元;用于在该存储器控制器中确定该目的地址是否可以在该存储器中的单元;以及用于当该存储器控制器确定该源地址和该目的地址二者都在该存储器中时,则将存储在该源地址处的数据复制到该目的地址,而不将任何数据推送到总线上的单元。
在一个方面中,该计算设备可以包括用于响应于确定该目的地址可能不在该存储器中而将存储在该源地址处的数据推送到该总线上的单元。在进一步方面中,该计算设备可以包括用于响应于确定该源地址可能不在该存储器中而将读取请求、该源地址和该目的地址推送到该总线上的单元。在进一步方面中,用于在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址的单元可以包括:用于在与存储器控制器位于系统数据总线的相同侧的直接存储器存取控制器中接收该源地址和该目的地址的单元。
在进一步方面中,用于在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中的单元可以包括:用于在动态随机存取存储器(DRAM)存储器控制器中确定该源地址是否可以在该存储器中的单元。在进一步方面中,用于在该存储器控制器中确定该源地址是否可以在耦合到该存储器控制器的存储器中的单元可以包括:用于在双倍数据速率(DDR)存储器控制器中确定该源地址是否可以在DDR同步动态随机存取存储器中的单元。
附图说明
被并入本文并且构成本说明书的一部分的附图描绘了本发明的示例性实施例,并且与上文给出的概括性描述和下文给出的详细描述一起用于解释本发明的特征。
图1是描绘了实现各个方面的示例性片上系统(SOC)架构的组件框图。
图2-图3是描绘了实现各个方面的示例性计算机系统中的各种组件的功能框图。
图4-图5是执行存储器对存储器的传送的示例性存储器控制器方法的过程流程图。
图6是适于与各种实施例一起使用的示例性移动设备的图解。
图7是适于与各种实施例一起使用的示例性膝上型计算机的图解。
具体实施方式
将参照附图对各种实施例进行详细描述。只要可能,将贯穿附图使用相同的附图标记来指代相同或相似的部分。对特定例子和实施方式进行的引用是出于举例说明的目的,并不旨在限制本发明或权利要求的范围。
术语“计算设备”和“移动设备”在本文中可互换地使用,以指代以下设备中的任一设备或所有设备:服务器、个人计算机、智能电话、蜂窝电话、平板计算机、膝上型计算机、上网本、超极本、掌上型计算机、个人数据助理(PDA)、无线电子邮件接收机、具有多媒体互联网能力的蜂窝电话、全球定位系统(GPS)接收机、无线游戏控制器以及包括可编程处理器的类似个人电子设备。虽然各个方面特别用于具有有限资源(例如,处理能力、电池等)的移动设备(例如,智能手机、膝上型计算机等)中,但这些方面通常用于可以得益于经改进的处理器性能和经减少的能耗的任何计算设备中。
本文使用术语“多核处理器”以指代包含被配置为读取并执行程序指令的独立处理单元或内核(例如,CPU内核等)的两个或更多个单个集成电路(IC)芯片或芯片封装。本文使用术语“多处理器”以指代包括被配置为读取并执行程序指令的两个或更多个处理单元的系统或设备。
本文使用术语“片上系统”(SOC)以指代包含集成在单个衬底上的多个资源和/或处理器的单个集成电路(IC)芯片。单个SOC可以包含用于数字、模拟、混合信号和射频功能的电路。单个SOC还可以包括任意数量的通用和/或专用处理器(数字信号处理器、调制解调器处理器、视频处理器等)、存储器块(例如,ROM、RAM、闪存等)以及资源(例如,计时器、稳压器、振荡器等),这些器件中的任何器件或全部器件可以被包括在一个或多个内核中。
许多不同类型的存储器和存储器技术在将来是可用或预期的,所有这些存储器和存储器技术都适于与各个方面一起使用。这样的存储器技术/类型包括:相变存储器(PRAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、非易失性随机存取存储器(NVRAM)、伪静态随机存取存储器(PSRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)和本领域中已知的其它随机存取存储器(RAM)和只读存储器(ROM)技术。DDR SDRAM存储器可以是1型DDR SDRAM存储器、2型DDR SDRAM存储器、3型DDR SDRAM存储器或4型DDR SDRAM存储器。上文提及的存储器技术中的每一种都包括例如适于对在计算机或其它数字电子设备中使用或者由计算机或其它数字电子设备使用的指令、程序、控制信号和/或数据进行存储的元素。对与个别类型的存储器、接口、标准或存储器技术有关的术语和/或技术细节的进行任何引用仅是出于举例说明目的,并且并不旨在将权利要求的范围限于特定存储器系统或技术,除非在权利要求语言中特别记载。
近年来,移动计算设备架构的复杂性已增加,并且现在通常包括:多个处理器内核、片上系统(SOC)、协同处理器、包括专用处理器(例如,通信调制解调器芯片、GPS接收机等)的功能模块、复杂存储器系统、复杂电气互连件(例如,总线和/或结构)以及执行复杂并且耗电量大的软件应用(例如,视频流媒体应用等)的众多其它资源。随着复杂性的增加,需要新的存储器管理解决方案来改进移动设备的计算和功率管理性能。
因现代计算设备架构的复杂性,设备性能可能取决于该设备的通信总线的速度、宽度和带宽。但是,现有存储器管理系统需要大量使用系统总线来从存储器读取数据并且将数据写入存储器,这可能消耗大量总线带宽、消耗功率并且使总的设备性能(例如,响应性等)下降。
各个方面减少在将数据传送到一个或多个存储器并且从一个或多个存储器传送数据时经由系统总线/结构通信的信息量,从而改进设备性能并且减少功耗。
通常,存储器操作(例如,读取、写入等)要求执行许多简单、但耗时的操作。由于处理速度比存储器存取速度快得多,因此处理器(或外围组件)可以将存储器操作卸载到直接存储器存取(DMA)控制器,并且在DMA控制器管理这些存储器操作的执行的同时,继续执行处理任务。
DMA控制器是驱动从属存储器控制器的外部主控器组件(例如,总线主控器),其与物理存储器(例如,SDRAM等)对接,以执行读取和写入操作。在常规计算机架构中,外部主控器(例如,DMA控制器等)经由系统总线来驱动存储器控制器。在许多操作中,经由系统总线来驱动存储器控制器是必需的,例如当将数据从存储器移动到处理器以便使用时,这是由于系统总线是这两个组件之间的数据路径。
然而,系统总线具有有限带宽,因此执行仅将指令和数据从一个存储器位置移动到另一存储器位置的存储器操作可能不必要地消耗关键设备资源。例如,当在常规架构中执行存储器对存储器的数据传送时,用作外部主控器的DMA控制器经由系统总线向存储器控制器发送读取命令和存储器地址。作为响应,存储器控制器从系统总线抽出该读取命令和存储器地址,在与该存储器地址相关联的物理存储器中定位行和列,从该物理存储器中取回数据,以及将所取回的数据推送到系统总线上。DMA控制器然后从总线抽出数据,将这些数据存储在缓冲器中,并且将写入命令、新地址和数据推送回系统总线上。存储器控制器然后从总线抽出该写入命令、该新地址和数据,并且将这些数据写入物理存储器中的该新地址。因而,为了将数据从物理存储器的一部分移动到相同物理存储器的另一部分,数据必须通过总线被发送两次。通过系统总线的这些数据传送中的每一次数据传送都占据关键的处理器间数据路径,在此期间,指令和数据无法传递到其它处理器或模块,或者无法在其它处理器或模块当中传递。因此,即使数据正从一个地址位置移动到相同存储器芯片内的另一地址位置,这些操作也必须中断其它设备模块当中的数据通信。在执行大量存储器对存储器的数据传送的系统上,通过总线来回发送这样的信息(读取/写入命令、地址、数据等)不必要地占用总线带宽,浪费功率并且使计算设备的性能/响应性下降。
各个方面包括一种存储器控制器,其包括被配置为:在无需将信息推送到系统总线和/或从系统总线抽出信息的情况下,执行存储器对存储器的数据传送的主控器组件。在一个方面中,该主控器组件可被配置为:执行直接存储器存取(DMA)操作。在一个方面中,主控器组件可以是DMA控制器。在另一方面中,该主控器组件可以与外部DMA控制器通信。
各个方面可以在多种多样的计算系统中实现,所述多种多样的计算系统包括:单处理器系统、多处理器系统、多核处理器系统、片上系统(SOC)或其任意组合。
图1描绘了适于实现各个方面的片上系统(SOC)100中的示例性组件和互连件。SOC 100可以包括多个异构处理器,例如数字信号处理器(DSP)102、调制解调器处理器104、图形处理器106和应用处理器108。每个处理器102、104、106、108可以包括一个或多个内核,并且每个处理器/内核可以独立于其它处理器/内核来执行操作。可以彼此紧靠地组织处理器102、104、106、108(例如,在单个衬底、裸片、集成芯片等上),从而它们可以以比如果信号要在芯片外行进时可能的频率/时钟速率高得多的频率/时钟速率进行操作。这些内核的接近还可以允许片上存储器和资源(例如,电压轨)的共享,以及允许内核之间的更协调的合作。
SOC 100可以包括模拟电路和自定义电路114,其用于管理传感器数据、模拟到数字的转换、无线数据传输,以及用于执行其它专业操作(例如,解码高清视频、视频处理等)。SOC 100还可以包括各种系统组件和资源116,例如稳压器、振荡器、锁相环路、外围桥路、数据控制器、系统控制器、接入端口、计时器以及用于支持这些处理器和在该计算设备上运行的软件客户端的其它类似组件。系统组件116和自定义电路114还可以包括用于与外围设备(例如相机、电子显示器、无线通信设备、外部存储器芯片等)对接的电路。
SOC 100还可以包括直接存储器存取(DMA)控制器122、通用串行总线控制器124和一个或多个存储器控制器126。SOC 100还可以包括用于与SOC外部的资源(例如,时钟118和稳压器120)通信的输入/输出模块(未描绘),这些资源中的每个资源都可以由内部SOC组件中的两个或更多个组件共享。
处理器102、104、106、108可以经由互连件/总线模块130互连到DMA控制器124、USB控制器124、存储器控制器126、资源116、自定义电路114和其它系统组件,该互连件/总线模块130可以包括可重新配置的逻辑门的阵列和/或实现总线架构(例如,CoreConnect、AMBA等)。也可以由高级互连件(例如,高性能片上网络(NoC))来提供通信。
DMA控制器122可以是被配置为管理存储器操作的执行的专用硬件模块。处理器102、104、106、108和其它SOC组件可以将存储器操作卸载到DMA控制器122,并且在DMA控制器122管理这些存储器操作的执行的同时,执行更高水平或更复杂的任务。
DDR存储器控制器126可以是被配置为管理去往和来自DDR存储器阵列128的数据流的专用硬件模块。DDR存储器控制器126可以包括用于与DDR存储器阵列128对接的逻辑,例如选择与存储器位置相对应的行和列,读取或写入数据到该存储器位置等。
互连件/总线模块130可以包括或提供总线主控系统,其被配置为针对设置持续时间、操作数量、字节数量等准予总线的SOC组件(例如,处理器、外围设备等)排他性控制(例如,以突发模式、块传送模式等传送数据)。在一个方面中,总线模块130可以包括DMA控制器,其使得连接到总线模块130的组件能够用作主控器组件并且发起存储器交易。总线模块130还可以实现仲裁方案,以防止多个主控器组件试图同时驱动总线。
现有的存储器控制器是“纯从属”组件。因此,为了完成存储器操作,外部主控器(例如,DMA控制器122、USB控制器124、应用处理器108等)必须经由总线(例如,总线模块130)来驱动存储器控制器(例如,DDR控制器126)。例如,当执行存储器对存储器的数据传送时,可以要求DMA控制器经由总线向存储器控制器发送读取命令和源存储器地址。该存储器控制器可以接收该读取命令和源存储器地址,在该存储器中定位与该源存储器地址相关联的行和列,取回数据,并且将所取回的数据推送到总线上。该DMA控制器可以接收这些数据并且将其存储在缓冲器(未描绘)中,并且将写入命令、目的地址和数据推送到总线上。该存储器控制器可接收该写入命令、目的地址和数据,并且将这些数据写入该目的地址。因而,使用现有解决方案,正移动的数据必须通过总线被发送两次。如上文所讨论的,在执行大量存储器对存储器的数据传送的系统上,通过总线来回发送这样的信息(读取/写入命令、地址、数据等)不必要地占用总线带宽,浪费功率并且使SOC和计算设备的性能/响应性下降。
DDR存储器控制器126可以包括主控器组件132,其被配置为:在无需使用系统总线的情况下,执行存储器对存储器的传送操作。在一个方面中,主控器组件132可以被配置为执行DMA操作。在一个方面中,主控器组件132可以是DMA控制器。
图2描绘了具有根据各个方面配置的DDR存储器控制器的示例性计算系统200中的逻辑组件和信息流。在图2描绘的例子中,计算系统200包括:外围组件202、处理单元204、DDR存储器控制器206、DDR SDRAM存储器208、第二存储器控制器214和第二存储器214。DDR存储器控制器208可以包括主控制器模块212,其被配置为执行各种DMA和存储器操作。在各个方面中,外围组件202可以是USB控制器、USB模块或USB设备。在一个方面中,第二存储器控制器214可以是DDR存储器控制器。
外围组件202、处理单元204和DDR存储器控制器206可以耦合到系统总线210。DDR存储器控制器206可以经由DDR-PHY接口和/或存储器总线耦合到DDR SDRAM 208。
外围组件202和/或处理单元204可以被配置为:通过将标识要被传送的数据的存储器位置的源地址、要被复制的字节的数量和标识数据要被传送到其处的存储器位置的目的地址推送到总线210上来发起数据传送操作。DDR存储器控制器206的主控制器模块212可以从总线210抽出源地址、字节数量和目的地址,并且确定该源地址和目的地址是否标识DDRSDRAM 208内部的存储器位置。
当主控制器模块212确定该源地址和该目的地址二者都标识DDRSDRAM 208外部的位置时,主控制器模块212可以执行常规DMA操作,以管理数据从该源地址到该目的地址的传送。例如,主控制器模块212可以经由总线210向第二存储器控制器214发送读取命令和源地址,经由总线210从第二存储器控制器214接收数据,将这些数据存储在缓冲器(未描绘)中,并且经由总线210向第二存储器控制器214发送写入命令、目的地址和数据。
当主控制器模块212确定该源地址和该目的地址二者都标识DDRSDRAM 208内部的位置时,主控制器模块212可以自动将数据从该源地址传送到该目的地址,而不将所传送的数据中的任何数据推送到总线上。以这种方式,各个方面可在无需通过总线210来回发送信息(读取/写入命令、地址、数据等)的情况下,完成存储器对存储器的数据传送,这增加总线210上可用带宽,减少功耗并且改进计算设备的性能/响应性。
当主控制器模块212确定该源地址标识DDR SDRAM 208内部的位置,但该目的地址引用DDR SDRAM 208外部的位置时,主控制器模块212可以从(DDR SDRAM 208中的)该源地址取回数据,并且经由总线210向第二存储器控制器214发送所取回的数据和该目的地址。
因而,与要求将数据推送到总线210上两次(即,取回数据之后的一次和用于写入该数据的一次)的常规解决方案不同,各个方面可以通过仅将数据推送到总线210上一次来完成存储器对存储器的传送操作。以这种方式,各个方面减少在存储器对存储器的期间,经由总线210通信的数据量,从而增加总线带宽,减少功耗并且改进计算设备的性能/响应性。
图3描绘了包括示例性DDR存储器控制器和外部DMA控制器的另一示例性计算系统300中的逻辑组件和信息流。在图3描绘的例子中,计算系统300包括:外围组件202、DMA控制器304、处理单元204、DDR存储器控制器206和DDR SDRAM存储器208。在一个方面中,计算系统300可以包括:多个DDR SDRAM存储器208、以及针对这多个DDR SDRAM存储器208中的每一个DDR SDRAM存储器208的一个DDR存储器控制器206。
外围组件202、DMA控制器304和处理单元204可以耦合到系统片上网络(NOC)312。DMA控制器304、处理单元204和DDR存储器控制器206可以耦合到系统总线314。DDR存储器控制器206可以经由DDR-PHY接口和/或存储器总线耦合到DDR SDRAM 208。
DMA控制器304可以包括:存储器地址寄存器316、字节计数寄存器318和控制寄存器320。控制寄存器320可以存储各种不同类型的信息以便完成存储器操作,例如用于标识操作类型、源或目标组件、传送方向、传送单位(例如,一次一个字节、一次一个字等)、传送或突发模式、每一突发中将传送的字节数量等的信息。
DDR存储器控制器206可以包括主控制器模块212,其被配置为执行各种DMA存储器操作。在一个方面中,主控制器模块212可以包括与DDR存储器控制器206的电路集成在一起的电路。在一个方面中,主控制器模块212可以包括耦合到DDR存储器控制器206的电路的电路。
DDR存储器控制器206还可以包括:控制器模块322、信号模块324、数据模块336和本地存储器/缓冲器338。控制器模块322可以包括刷新计数器和被配置为生成各种控制信号(例如,istate状态、cstate状态等)的状态机逻辑单元。信号模块334可以被配置为:基于这些控制信号来生成用于DDR SDRAM存储器208的地址和命令信号。数据模块336可以被配置为:执行数据锁存和调度操作,以从DDR SDRAM存储器208读取数据并且将数据写入DDR SDRAM存储器208(例如,经由DDR-PHY接口和/或存储器总线)。
外围组件202可以被配置为:通过向DMA控制器304或处理单元204发送要被执行的存储器操作(读取、写入、传送等)、相关存储器地址和经由系统NOC 312执行该操作所需的字节(或字、位等)的数量来发起存储器操作。DMA控制器204和/或处理单元306可以被配置为:识别DDR存储器控制器206的正确实例和/或响应于外围组件202发起该存储器操作,向DDR存储器控制器206发送相关存储器地址(例如,源地址和目的地址)。
DDR存储器控制器206的主控制器模块212可以被配置为:从总线314抽出源地址和目的地址,以及确定该源地址和目的地址是否标识DDRSDRAM 208内部的存储器位置。当该源地址和该目的地址二者都标识DDRSDRAM 208内部的位置时,则主控制器模块212可以自动将数据从该源地址传送到该目的地址,而不将所传送的数据中的任何数据推送到总线314上。在一个方面中,将数据从该源地址传送到该目的地址可以包括:从DDRSDRAM 208中的第一位置读取数据,将这些数据存储在本地存储器338中,以及将存储在本地存储器338中的这些数据写入DDR SDRAM 208中的第二位置。
在一个方面中,主控制器模块212可以被配置为:响应于确定该源地址和该目的地址二者都引用DDR SDRAM 208的界限外部的位置来执行DMA操作。在另一方面中,主控制器模块212可以被配置为:当该源地址和/或目的地址引用DDR SDRAM 208的界限外部的位置时,则允许DMA控制器304执行存储器传送操作。例如,主控制器模块212可以被配置为:通知DMA控制器304,该源地址和/或目的地址二者都引用DDR SDRAM208的界限外部的位置,以及等待下一存储器请求。以这种方式,当该源地址和/或目的地址在DDR存储器控制器206能控制的DDR SDRAM 208的界限外部时,则DDR存储器控制器206可以用作常规存储器控制器。
图4描绘了由示例性存储器控制器来执行存储器对存储器的传送操作的示例性方法400。在方框402中,存储器控制器(例如,DDR存储器控制器206)可以经由系统总线接收源地址和目的地址。在确定框404中,该存储器控制器可以确定该源地址是否是该存储器控制器可直接存取(例如,经由存储器总线、PHY接口等)的存储器位置。例如,该存储器控制器可以确定该地址是否可以转变为在该存储器控制器能直接控制和/或对其负有直接责任的存储器(DRAM、DDR SDRAM等)的界限内的行和列数据地址。
当该存储器控制器确定该源地址不是该存储器控制器可直接存取的存储器位置(即,确定框404=“否”)时,则在确定框406中,该存储器控制器可以确定该目的地址是否是该存储器控制器可直接存取的存储器位置(例如,在该存储器控制器能直接控制/对其负有直接责任等的存储器的界限内)。当该存储器控制器确定该目的地址是该存储器控制器可直接存取的存储器位置(即,确定框406=“是”)时,则在方框416中,该存储器控制器可以执行DMA操作。如上文所讨论的,DMA操作可以包括:将读取指令和源地址推送到总线上,接收数据并且将其存储在本地存储器中,以及将写入命令、所存储的数据和目的地址推送到总线上。当该存储器控制器确定该目的地址不是该存储器控制器可直接存取的存储器位置(即,确定框406=“否”)时,则在方框418中,该存储器控制器可以生成并且报告错误。
当该存储器控制器确定该源地址是该存储器控制器可直接存取的存储器位置(即,确定框404=“是”)时,则在确定框408中,该存储器控制器可以确定该目的地址是否是该存储器控制器可直接存取的存储器位置(例如,在该存储器控制器能直接控制/对其负有直接责任等的存储器的界限内)。当该存储器控制器确定该目的地址是该存储器控制器可直接存取的存储器位置(即,确定框408=“是”)时,则在方框410中,该存储器控制器可以将存储在该源地址处的数据复制到该目的地址。
当该存储器控制器确定该目的地址不是该存储器控制器可直接存取的存储器位置(即,确定框408=“否”)时,则在方框412中,该存储器控制器可以取回存储在该源地址处的数据。在方框414中,该存储器控制器可以向第二存储器控制器发送写入命令、该目的地址和所取回的数据(例如,通过将信息推送到总线上等)。
图5描绘了由示例性存储器控制器来执行存储器对存储器的传送操作的另一示例性方法500。在方框502中,存储器控制器(例如,DDR存储器控制器206)可以经由系统总线接收源地址和目的地址。在确定框504中,该存储器控制器可以确定该源地址是否是该存储器控制器可直接存取(例如,经由存储器总线、PHY接口等)的存储器位置。例如,该存储器控制器可以确定该地址是否可以转变为在该存储器控制器能直接控制/对其负有责任的存储器(DRAM、DDR SDRAM等)的界限内的行和列数据地址。
当该存储器控制器确定该源地址不是该存储器控制器可直接存取的存储器位置(即,确定框504=“否”)时,则在方框506中,该存储器控制器可以生成并且向外部DMA控制器发送通知(例如,控制信号、消息等),这可以使得该外部DMA控制器执行存储器对存储器的传送操作。
当该存储器控制器确定该源地址是该存储器控制器可直接存取的存储器位置(即,确定框504=“是”)时,则在方框508中,该存储器控制器可以取回存储在该源地址处的数据。在方框510中,该存储器控制器可以将这些数据存储在本地存储器中。
在确定框512中,该存储器控制器可以确定该目的地址是否是该存储器控制器可直接存取的存储器位置(例如,在该存储器控制器能直接控制/对其负有直接责任等的存储器的界限内)。当该存储器控制器确定该目的地址是该存储器控制器可直接存取的存储器位置(即,确定框512=“是”)时,则在方框512中,该存储器控制器可以将存储在本地存储器中的数据复制到该目的地址。当该存储器控制器确定该目的地址不是该存储器控制器可直接存取的存储器位置(即,确定框512=“否”)时,则在方框516中,该存储器控制器可以向第二存储器控制器发送写入命令、该目的地址和存储在该本地存储器中的数据(例如,通过将信息推送到总线上等)。
还可以使用任何商业计算设备来实现各种实施例,在图6-图7中描绘了这些计算设备的一些例子。典型移动计算设备600将共同具有图6中描绘的组件。例如,移动计算设备600可以包括:耦合到内部存储器604的处理器602和触摸表面输入设备/显示器606,例如电阻式传感触摸屏、电容式传感触摸屏、红外线传感触摸屏、声音/压电传感触摸屏等。计算设备600可以具有用于发送并接收电磁辐射的无线单元/天线610,其连接到耦合到处理器602的无线数据链路和/或蜂窝电话收发机608。计算设备600还可以包括用于接收用户输入的物理按钮612。
可以使用其它形式的计算设备(包括个人计算机和膝上型计算机)来实现各种实施例。这样的计算设备通常包括图7中描绘的组件,图7描绘了示例性个人膝上型计算机700。这样的个人计算机700通常包括耦合到易失性存储器704和大容量非易失性存储器(例如磁盘驱动器706)的处理器702。计算机700还可以包括耦合到处理器702的压缩光盘(CD)和/或DVD驱动器708。计算机设备700还可以包括耦合到处理器702的多个连接器端口,其用于建立数据连接或接收外部存储器设备,例如用于将处理器702耦合到网络的网络连接电路。计算设备700可以具有用于发送并接收电磁辐射的无线单元/天线710,其连接到耦合到处理器702的无线数据链路。如计算机领域中所公知的,计算机700还可以耦合到键盘716、定点设备(例如鼠标714)和显示器712。
处理器602、702可以是任何可编程的微处理器、微计算机或者多处理器芯片或芯片集,它们可以通过软件指令(应用)来配置以执行各种功能,包括本文所描述的各种实施例的功能。可以提供多个处理器,例如一个处理器专用于无线通信功能,而一个处理器专用于运行其它应用。通常,软件应用在被访问并且加载到处理器602、702之前,可以被存储在内部存储器中。在一些设备中,处理器602、702可以包括足以存储应用软件指令的内部存储器。在一些移动设备中,安全存储器可以在耦合到处理器602、702的单独存储器芯片中。该内部存储器可以是易失性或非易失性存储器(例如闪存)或者二者的混合物。出于此说明的目的,对存储器进行的一般引用指代可以由处理器存取的所有存储器,包括内部存储器、插入设备中的可移动存储器和处理器602、702自身内的存储器。
提供前述的方法描述和过程流程图仅仅作为说明性的例子,而并非旨在要求或暗示必须按照给出的顺序来执行各种实施例的方框。如本领域的技术人员应当意识到的,可以按照任何顺序来执行前述实施例中的方框顺序。诸如“其后”、“然后”、“接下来”等词汇并非旨在限制方框的顺序;这些词汇仅用于引导读者阅读对方法的描述。此外,以单数形式(例如使用冠词“一个”、“一”或“该”)对权利要求元素进行的任何引用都不应被解释为将元素限制为单数。
结合本文所公开的实施例描述的各种说明性逻辑框、模块、电路和算法框可以被实现为电子硬件、计算机软件或二者的组合。为了清楚地说明硬件和软件的这种可互换性,以上各种说明性组件、方框、模块、电路和步骤均围绕它们的功能来概括性描述。这样的功能是实现为硬件还是软件取决于具体应用和施加在整个系统上的设计约束。技术人员可以针对各个具体应用以变通方式来实现所描述的功能,但是这样的实现决策不应当被解释为导致脱离本发明的范围。
可以利用被设计为执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、分立门或晶体管逻辑器件、分立硬件组件、或其任意组合来实现或执行用于实现结合本文所公开的实施例所描述的各种说明性逻辑单元、逻辑框、模块和电路的硬件。通用处理器可以是微处理器,但在替代方案中,该处理器可以是任何常规的处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合或任何其它这样的配置。或者,可由特定于给定功能的电路来执行一些步骤或方法。
在一个或多个示例性方面中,可以使用硬件、软件、固件或其任意组合来实现描述的功能。如果使用软件实现,则可以将这些功能作为一个或多个指令或代码存储在非暂时性计算机可读介质或非暂时性处理器可读介质上。本文公开的方法或算法的步骤可以体现在处理器可执行软件模块中,该模块可以驻留在非暂时性计算机可读或处理器可读存储介质上。非暂时性计算机可读或处理器可读存储介质可以是可以由计算机或处理器存取的任何存储介质。通过举例而非限制的方式,这样的非暂时性计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储、磁盘存储或其它磁存储设备、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质。如本文所使用的,磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。上面的组合也应当被包括在非暂时性计算机可读和处理器可读介质的范围之内。另外,方法或算法的操作可以作为代码和/或指令中的一个、或其任意组合、或集合位于可以并入计算机程序产品的非暂时性处理器可读介质和/或计算机可读介质上。
提供前面对所公开实施例的描述以使本领域任何技术人员能够实施或使用本发明。对本领域技术人员而言,对这些实施例的各种修改将是显而易见的,并且在不脱离本发明的精神或范围的情况下,可以将本文所定义的一般性原理应用于其它实施例。因而,本发明并不旨在要受限于本文示出的实施例,而是要符合与本文所公开的权利要求和原理和新颖性特征相一致的最广泛的范围。

Claims (26)

1.一种存储器系统,包括:
存储器;
存储器控制器,其耦合到所述存储器;以及
直接存储器存取控制器,其直接耦合到所述存储器控制器。
2.根据权利要求1所述的存储器系统,其中,所述直接存储器存取控制器直接耦合到所述存储器控制器,从而所述直接存储器存取控制器和所述存储器控制器位于系统数据总线的相同侧。
3.根据权利要求1所述的存储器系统,其中,所述存储器控制器是动态随机存取存储器(DRAM)存储器控制器。
4.根据权利要求1所述的存储器系统,其中,所述存储器控制器是双倍数据速率(DDR)存储器控制器,并且所述存储器是DDR同步动态随机存取存储器。
5.根据权利要求4所述的存储器系统,其中,所述直接存储器存取控制器被配置为执行操作,所述操作包括:
接收源地址和目的地址;
确定所述源地址是否在所述存储器中;
响应于确定所述源地址在所述存储器中,确定所述目的地址是否在所述存储器中;以及
响应于确定所述目的地址在所述存储器中,将存储在所述源地址处的数据复制到所述目的地址,而不将任何数据推送到总线上。
6.根据权利要求5所述的存储器系统,其中,所述直接存储器存取控制器被配置为执行操作,所述操作还包括:
响应于确定所述目的地址不在所述存储器中,将存储在所述源地址处的数据推送到所述总线上。
7.根据权利要求5所述的存储器控制器,其中,所述直接存储器存取控制器被配置为执行操作,所述操作还包括:
响应于确定所述源地址不在所述存储器中,将读取请求、所述源地址和所述目的地址推送到所述总线上。
8.一种计算设备,包括:
系统数据总线;
处理器,其耦合到所述系统数据总线;以及
存储器系统,其耦合到所述系统数据总线,所述存储器系统包括:
存储器;
存储器控制器,其耦合到所述存储器;以及
直接存储器存取控制器,其直接耦合到所述存储器控制器。
9.根据权利要求8所述的计算设备,其中,所述直接存储器存取控制器直接耦合到所述存储器控制器,从而所述直接存储器存取控制器和所述存储器控制器位于所述系统数据总线的相同侧。
10.根据权利要求8所述的计算设备,其中,所述存储器控制器是动态随机存取存储器(DRAM)存储器控制器。
11.根据权利要求8所述的计算设备,其中,所述存储器控制器是双倍数据速率(DDR)存储器控制器,并且所述存储器是DDR同步动态随机存取存储器。
12.根据权利要求11所述的计算设备,其中,所述直接存储器存取控制器被配置为执行操作,所述操作包括:
接收源地址和目的地址;
确定所述源地址是否在所述存储器中;
响应于确定所述源地址在所述存储器中,确定所述目的地址是否在所述存储器中;以及
响应于确定所述目的地址在所述存储器中,将存储在所述源地址处的数据复制到所述目的地址,而不将任何数据推送到总线上。
13.根据权利要求12所述的计算设备,其中,所述直接存储器存取控制器被配置为执行操作,所述操作还包括:
响应于确定所述目的地址不在所述存储器中,将存储在所述源地址处的数据推送到所述总线上。
14.根据权利要求12所述的计算设备,其中,所述直接存储器存取控制器被配置为执行操作,所述操作还包括:
响应于确定所述源地址不在所述存储器中,将读取请求、所述源地址和所述目的地址推送到所述总线上。
15.一种将数据传送到一个或多个存储器以及从一个或多个存储器传送数据的方法,包括:
在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址;
在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中;
在所述存储器控制器中确定所述目的地址是否在所述存储器中;以及
当所述存储器控制器确定所述源地址和所述目的地址二者都在所述存储器中时,则将存储在所述源地址处的数据复制到所述目的地址,而不将任何数据推送到总线上。
16.根据权利要求15所述的方法,还包括:
响应于确定所述目的地址不在所述存储器中,将存储在所述源地址处的数据推送到所述总线上。
17.根据权利要求15所述的方法,还包括:
响应于确定所述源地址不在所述存储器中,将读取请求、所述源地址和所述目的地址推送到所述总线上。
18.根据权利要求15所述的方法,其中,在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址包括:在与存储器控制器位于系统数据总线的相同侧的直接存储器存取控制器中接收所述源地址和所述目的地址。
19.根据权利要求15所述的方法,其中,在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中包括:在动态随机存取存储器(DRAM)存储器控制器中确定所述源地址是否在所述存储器中。
20.根据权利要求15所述的方法,其中,在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中包括:在双倍数据速率(DDR)存储器控制器中确定所述源地址是否在DDR同步动态随机存取存储器中。
21.一种计算设备,包括:
用于在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址的单元;
用于在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中的单元;
用于在所述存储器控制器中确定所述目的地址是否在所述存储器中的单元;以及
用于当所述存储器控制器确定所述源地址和所述目的地址二者都在所述存储器中时,则将存储在所述源地址处的数据复制到所述目的地址,而不将任何数据推送到总线上的单元。
22.根据权利要求21所述的计算设备,还包括:
用于响应于确定所述目的地址不在所述存储器中,将存储在所述源地址处的数据推送到所述总线上的单元。
23.根据权利要求21所述的计算设备,还包括:
用于响应于确定所述源地址不在所述存储器中,将读取请求、所述源地址和所述目的地址推送到所述总线上的单元。
24.根据权利要求21所述的计算设备,其中,用于在直接耦合到存储器控制器的直接存储器存取控制器中接收源地址和目的地址的单元包括:用于在与存储器控制器位于系统数据总线的相同侧的直接存储器存取控制器中接收所述源地址和所述目的地址的单元。
25.根据权利要求21所述的计算设备,其中,用于在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中的单元包括:用于在动态随机存取存储器(DRAM)存储器控制器中确定所述源地址是否在所述存储器中的单元。
26.根据权利要求21所述的计算设备,其中,用于在所述存储器控制器中确定所述源地址是否在耦合到所述存储器控制器的存储器中的单元包括:用于在双倍数据速率(DDR)存储器控制器中确定所述源地址是否在DDR同步动态随机存取存储器中的单元。
CN201380057784.5A 2012-11-08 2013-10-08 智能双倍数据速率(ddr)存储器控制器 Pending CN104769569A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/672,346 US9116856B2 (en) 2012-11-08 2012-11-08 Intelligent dual data rate (DDR) memory controller
US13/672,346 2012-11-08
PCT/US2013/063882 WO2014074255A1 (en) 2012-11-08 2013-10-08 Intelligent dual data rate (ddr) memory controller

Publications (1)

Publication Number Publication Date
CN104769569A true CN104769569A (zh) 2015-07-08

Family

ID=49382662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380057784.5A Pending CN104769569A (zh) 2012-11-08 2013-10-08 智能双倍数据速率(ddr)存储器控制器

Country Status (7)

Country Link
US (1) US9116856B2 (zh)
EP (1) EP2917842A1 (zh)
JP (1) JP5866488B1 (zh)
KR (1) KR101577936B1 (zh)
CN (1) CN104769569A (zh)
TW (1) TWI519962B (zh)
WO (1) WO2014074255A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066419A (zh) * 2017-03-23 2017-08-18 桂林理工大学 可扩展的自适应n×n通道数据通信系统
CN109933553A (zh) * 2019-02-28 2019-06-25 厦门码灵半导体技术有限公司 一种控制系统及其设计方法、一组控制系统、电子装置
TWI773325B (zh) * 2021-05-18 2022-08-01 新唐科技股份有限公司 積體電路、監測系統及其監測方法

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9934143B2 (en) * 2013-09-26 2018-04-03 Intel Corporation Mapping a physical address differently to different memory devices in a group
CN107132904B (zh) * 2016-02-29 2020-12-15 华为技术有限公司 一种ddr系统的控制系统及控制方法
US10884639B2 (en) * 2017-02-27 2021-01-05 Qualcomm Incorporated Providing single data rate (SDR) mode or double data rate (DDR) mode for the command and address (CA) bus of registering clock drive (RCD) for dynamic random access memory (DRAM)
CN109324982B (zh) * 2017-07-31 2023-06-27 上海华为技术有限公司 一种数据处理方法以及数据处理装置
CN114281724B (zh) * 2021-12-10 2024-01-02 深圳市欧瑞博科技股份有限公司 数据传输方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529968B1 (en) * 1999-12-21 2003-03-04 Intel Corporation DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
EP1396792A1 (en) * 2002-09-06 2004-03-10 Sun Microsystems, Inc. Memory copy command specifying source and destination of data executed in the memory controller
US20050210163A1 (en) * 2004-03-18 2005-09-22 Konica Minolta Business Technologies, Inc. Memory control apparatus
CN102576338A (zh) * 2010-01-28 2012-07-11 惠普发展公司,有限责任合伙企业 用于存储器设备的接口方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3422308B2 (ja) * 2000-03-02 2003-06-30 日本電気株式会社 データ処理装置
US6732243B2 (en) 2001-11-08 2004-05-04 Chaparral Network Storage, Inc. Data mirroring using shared buses
US6594748B1 (en) * 2001-11-09 2003-07-15 Lsi Logic Corporation Methods and structure for pipelined read return control in a shared RAM controller
US6721820B2 (en) * 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
KR101085406B1 (ko) * 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
US7606950B2 (en) 2005-10-17 2009-10-20 National Instruments Corporation Graphical programs with direct memory access FIFO for controller/FPGA communications
US7836220B2 (en) 2006-08-17 2010-11-16 Apple Inc. Network direct memory access
US7865784B1 (en) 2006-09-11 2011-01-04 Marvell International Ltd. Write validation
KR20110004164A (ko) * 2009-07-07 2011-01-13 삼성전자주식회사 반도체 메모리 장치
US8250250B2 (en) * 2009-10-28 2012-08-21 Apple Inc. Using central direct memory access (CDMA) controller to test integrated circuit
US8938589B2 (en) * 2010-01-28 2015-01-20 Hewlett-Packard Development Company, L. P. Interface methods and apparatus for memory devices using arbitration
US8949502B2 (en) 2010-11-18 2015-02-03 Nimble Storage, Inc. PCIe NVRAM card based on NVDIMM

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6529968B1 (en) * 1999-12-21 2003-03-04 Intel Corporation DMA controller and coherency-tracking unit for efficient data transfers between coherent and non-coherent memory spaces
EP1396792A1 (en) * 2002-09-06 2004-03-10 Sun Microsystems, Inc. Memory copy command specifying source and destination of data executed in the memory controller
US20050210163A1 (en) * 2004-03-18 2005-09-22 Konica Minolta Business Technologies, Inc. Memory control apparatus
CN102576338A (zh) * 2010-01-28 2012-07-11 惠普发展公司,有限责任合伙企业 用于存储器设备的接口方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107066419A (zh) * 2017-03-23 2017-08-18 桂林理工大学 可扩展的自适应n×n通道数据通信系统
CN107066419B (zh) * 2017-03-23 2023-08-11 桂林理工大学 可扩展的自适应n×n通道数据通信系统
CN109933553A (zh) * 2019-02-28 2019-06-25 厦门码灵半导体技术有限公司 一种控制系统及其设计方法、一组控制系统、电子装置
TWI773325B (zh) * 2021-05-18 2022-08-01 新唐科技股份有限公司 積體電路、監測系統及其監測方法
US11698875B2 (en) 2021-05-18 2023-07-11 Nuvoton Technology Corporation IC, monitoring system and monitoring method thereof

Also Published As

Publication number Publication date
TWI519962B (zh) 2016-02-01
KR101577936B1 (ko) 2015-12-15
EP2917842A1 (en) 2015-09-16
KR20150083894A (ko) 2015-07-20
US9116856B2 (en) 2015-08-25
WO2014074255A1 (en) 2014-05-15
US20140129766A1 (en) 2014-05-08
JP2016505914A (ja) 2016-02-25
TW201432465A (zh) 2014-08-16
JP5866488B1 (ja) 2016-02-17

Similar Documents

Publication Publication Date Title
CN104769569A (zh) 智能双倍数据速率(ddr)存储器控制器
US20190205244A1 (en) Memory system, method and computer program products
CN105431827B (zh) 针对异构多处理器系统中的共享存储区域的动态地址协商
CN107346351A (zh) 用于基于源代码中定义的硬件要求来设计fpga的方法和系统
CN100573446C (zh) 执行存储器消歧的技术
CN105378642A (zh) 用于高性能和低成本的闪存转换层的系统和方法
US20180089117A1 (en) Reconfigurable fabric accessing external memory
US10437758B1 (en) Memory request management system
CN104054053A (zh) 警告追踪中断设施
CN105612502A (zh) 虚拟重试队列
CN104583933A (zh) Gpu和fpga组件之间的直接通信
JP2020518068A (ja) 最適化されたディープネットワーク処理のためのグラフマッチング
CN101344870B (zh) 一种复用性强的fifo控制模块及其管理内存的方法
CN106293894B (zh) 执行事务性功率管理的硬件设备和方法
CN105009101A (zh) 提供与数据缓冲器相关联的监听滤波
CN103744644A (zh) 采用四核结构搭建的四核处理器系统及数据交换方法
CN103176863A (zh) 使用冗余虚拟机的错误检测
CN104054054A (zh) 程序对警告追踪中断设施的使用
CN104272277A (zh) 用于快速缓存断电的设备和方法
CN103348333A (zh) 用于分级高速缓存设计中的高速缓存之间的高效通信的方法和装置
CN114846452A (zh) 零值存储器压缩
CN104054052A (zh) 由一个程序向另一个程序提供对警告追踪设施的存取
US10303472B2 (en) Bufferless communication for redundant multithreading using register permutation
US20130159591A1 (en) Verifying data received out-of-order from a bus
JP2020523652A (ja) ペンディング中のロード及びストアの個別トラッキング

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150708