CN108733600B - 具有直接存储器访问控制器的电子系统及其操作方法 - Google Patents

具有直接存储器访问控制器的电子系统及其操作方法 Download PDF

Info

Publication number
CN108733600B
CN108733600B CN201711317419.XA CN201711317419A CN108733600B CN 108733600 B CN108733600 B CN 108733600B CN 201711317419 A CN201711317419 A CN 201711317419A CN 108733600 B CN108733600 B CN 108733600B
Authority
CN
China
Prior art keywords
command
bus
data
electronic system
request
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.)
Active
Application number
CN201711317419.XA
Other languages
English (en)
Other versions
CN108733600A (zh
Inventor
崔佑英
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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN108733600A publication Critical patent/CN108733600A/zh
Application granted granted Critical
Publication of CN108733600B publication Critical patent/CN108733600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

一种电子系统包括具有根联合体和端点的串行系统总线接口、耦接到串行系统总线接口的命令总线和数据总线、耦接到数据总线的存储器件以及(DMA)控制器,该直接存储器访问(DMA)控制器被配置为耦接到命令总线和数据总线两者,以响应于从根联合体传输到端点的请求命令来直接访问存储器件。DMA控制器包括请求命令在其中待命的命令队列。

Description

具有直接存储器访问控制器的电子系统及其操作方法
相关申请的交叉引用
本申请要求2017年4月17日提交的申请号为10-2017-0049405的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
本公开的各个实施例总体而言涉及电子系统,更具体地,涉及具有串行系统总线接口和直接存储器访问控制器的电子系统及其操作方法。
背景技术
近来,被称为“外围组件互连快速(PCIe)”的接口已经代替PCI接口而被广泛使用。PCI接口可以并行传输数据,而PCIe接口可以串行传输数据。PCIe接口总线可以用于将中央处理单元(CPU)连接到外围设备,并且还可以用作计算设备与储存设备的核心服务通道。与其他系统接口技术相比,PCIe接口技术可以呈现相对高的协议效率、普通的延时性能、相对低的功耗和低成本。
在使用PCIe接口总线的电子系统中,为了有效利用CPU可以采用直接存储器访问(DMA)技术。根据DMA技术,电子系统的外围输入/输出(I/O)设备可以通过电子系统的DMA控制器而不利用CPU来直接访问电子系统的存储器件。因此,即使CPU执行其他处理,外围I/O设备也可以与存储器件直接通信。在外围I/O设备通过DMA控制器直接访问存储器件并执行读取操作或写入操作之后,DMA控制器可以产生中断信号,以通知CPU终止读取操作或写入操作。在此情况下,CPU可以不请求DMA控制器执行下一个操作,直到中断信号输入到CPU。这可能导致电子系统的性能下降。
发明内容
各个实施例针对具有串行系统总线接口和直接存储器访问(DMA)控制器的电子系统及其操作方法。
根据实施例,一种电子系统包括具有根联合体和端点的串行系统总线接口、耦接到串行系统总线接口的命令总线和数据总线、耦接到数据总线的存储器件以及DMA)控制器,该直接存储器访问(DMA)控制器被配置为耦接到命令总线和数据总线两者,以响应于从根联合体传输到端点的请求命令来直接访问存储器件。DMA控制器包括请求命令在其中待命的命令队列。
根据另一实施例,提供一种操作电子系统的方法,该电子系统包括具有根联合体和端点的串行系统总线接口、耦接到串行系统总线接口的命令总线和数据总线、耦接到数据总线的存储器件以及直接存储器访问(DMA)控制器,该直接存储器访问(DMA)控制器被配置为耦接到命令总线和数据总线两者,以响应于从根联合体传输到端点的请求命令来直接访问存储器件。该方法包括响应于中央处理单元(CPU)的请求来将请求命令从根联合体依次传输到端点,将请求命令储存在包括在DMA控制器中的命令队列中,以及依次执行与存储器件相关的DMA控制操作。与存储器件相关执行的DMA控制操作根据在命令队列中待命的请求命令而由DMA控制器运行。
附图说明
基于附图和所附的详细描述,本公开的各个实施例将变得更明显,在附图中:
图1是示出根据本公开实施例的电子系统的框图;
图2是示出包括在图1的电子系统中的直接存储器访问(DMA)控制器的示例的框图;
图3是示出包括在图2的DMA控制器中的命令队列的示例的示意图;以及
图4是示出图1所示的电子系统的操作的时序图。
具体实施方式
在以下实施例的描述中,将理解术语“第一”和“第二”意在识别元件,而非用于仅定义元件本身或表示特定顺序。此外,当一个元件被称为位于另一个元件“之上”、“上面”、“上方”、“下”或“下面”时,意在表示相对位置关系,而非用于限制一个元件直接接触另一元件或至少一个中间元件存在于它们之间的某种情况。因此,本文中所使用的诸如“在...之上”、“在...上面”、“在...上方”、“在...之下”、“在...下面”、“在...下方”等的术语仅是用于描述特定实施例的目的,而非意在限制本公开的范围。另外,当一个元件被称为“连接”或耦接“耦接”到另一元件时,一个元件可以直接电连接或直接机械连接或耦接直接耦接到另一元件,或可以通过替换另一元件在它们之间形成连接关系或耦接耦接关系。
图1是示出根据本公开实施例的电子系统10的框图。参见图1,根据实施例的电子系统10可以包括串行系统总线接口600,例如PCIe总线接口。PCIe总线接口可以包括PCIe根联合体(root complex,RC)120、PCIe端点(EP)200以及第一传输线131和第二传输线132。电子系统10还可以包括CPU 110。CPU 110和PCIe RC 120可以发挥主机设备100的作用。在一些实施例中,PCIe RC 120可以被集成在CPU 110中。
PCIe RC 120可以包括传输端子121和接收端子122。PCIe EP 200也可以包括传输端子202和接收端子201。PCIe RC 120的传输端子121可以通过第一传输线131耦接到PCIeEP 200的接收端子201。因此,第一传输线131上的信号可以从PCIe RC 120的传输端子121朝向PCIe EP 200的接收端子201传输。PCIe EP 200的传输端子202可以通过第二传输线132耦接到PCIe RC 120的接收端子122。因此,第二传输线132上的信号可以从PCIe EP 200的传输端子202朝向PCIe RC 120的接收端子122传输。
命令总线310和数据总线320可以耦接到串行系统总线接口600。PCIe EP 200可以通过命令总线310和数据总线320与其他设备通信。当命令总线310传输命令时,数据总线320可以传输数据。在一些实施例中,命令总线310和数据总线320可以是高级可扩展接口(Axi)总线。PCIe EP 200可以在将已转换的请求命令通过命令总线310传输到其他设备之前,根据命令总线310的接口规则来转换从主机设备100的PCIe RC 120输出的请求命令的接口形式。例如,PCIe EP 200可以将从主机设备100的PCIe RC 120输出的请求命令转换成高级可扩展接口(Axi)形式,并且可以通过命令总线310将已转换的具有Axi形式的请求命令传输到命令队列410以及传输到其他设备。此外,PCIe EP200可以通过数据总线320从包括在电子系统10中的存储器件500接收数据,并且可以将数据传输到主机设备100的PCIeRC 120。
电子系统10还可以包括DMA控制器400。命令总线310和数据总线320可以耦接到DMA控制器400。DMA控制器400可以通过第一子总线401耦接到命令总线310,并且可以通过第二子总线402耦接到数据总线320。由PCIe EP 200转换成高级可扩展接口(Axi)形式的请求命令可以通过命令总线310和第一子总线401传输到DMA控制器400的命令队列410。DMA控制器400可以通过第二子总线402和数据总线320将与请求命令相对应的设定值传输到存储器件500,以直接访问存储器件500而不使用CPU 110。此外,DMA控制器400可以响应于从根联合体PCIe RC 120传输到PCIe EP 200的请求命令来直接访问存储器件500。
在本实施例中,DMA控制器400可以包括命令队列410。命令队列410可以储存通过PCIe EP 200从主机设备100输出的请求命令。如果请求命令被储存在命令队列410中并且请求命令待命,则DMA控制器400可以将与请求命令相对应的设定值传输到存储器件500,使得存储器件500执行与请求命令相对应的操作。上述DMA控制器400的操作可以独立执行,而不管数据通过数据总线320和PCIe EP 200从存储器件500传输到PCIe RC 120的操作。
存储器件500可以通过第三子总线501耦接到数据总线320。在一些实施例中,存储器件500可以是动态随机存取存储(DRAM)器件或静态随机存取存储(SRAM)器件。这个存储器件500可以用作电子系统10的主存储器件或辅助存储器件。可选地,存储器件500可以是通过串行系统总线接口600耦接到主机设备100的数据储存器件。例如,存储器件500可以是固态硬盘(SSD)。存储器件500可以响应于从DMA控制器400输出的设定值来执行读取操作或写入操作。
图2是示出包括在图1的电子系统10中的DMA控制器400的示例的框图,以及图3是示出包括在图2的DMA控制器400中的命令队列410的示例的示意图。参见图1、图2和图3,DMA控制器400可以被配置为包括命令队列410、命令处理器420、设定寄存器430和总线控制器440。如图3所示,命令队列410可以包括命令队列区域411和状态寄存器区域412。命令队列区域411可以储存通过命令总线310和第一子总线401从PCIe RC 120输出的请求命令。在一些实施例中,命令队列区域411的储存能力可以通过主机设备100的CPU 110来设定。状态寄存器区域412可以储存关于命令队列区域411的状态的信息数据。
命令处理器420可以执行依次运行储存在命令队列410中并待命的请求命令的控制操作。具体地,命令处理器420可以将储存在命令队列410中的请求命令的设定值输入到设定寄存器430中。在一些实施例中,每个请求命令的设定值可以包括源地址、目标地址、数据大小和命令队列410的状态信息。
设定寄存器430可以将从命令处理器420输出的设定值储存在其中,并且可以将已储存的设定值传输到总线控制器440。为了执行以上操作,设定寄存器430可以包括源地址(src地址)被储存在其中的第一储存元件、目标地址(dst地址)被储存在其中的第二储存元件、数据大小被储存在其中的第三储存元件以及命令队列410的状态信息被储存在其中的第四储存元件。在从设定寄存器430接收设定值之后,总线控制器440可以通过第二子总线402和数据总线320将设定值传输到存储器件500。
图4是示出图1所示的电子系统10的操作的时序图。参见图1至图4,PCIe RC 120可以响应于CPU 110的请求来通过传输端子121将第一组请求命令RQ1(src)、RQ1(dst)和RQ1(大小)依次传输到PCIe EP 200的接收端子201。随后,PCIe RC 120可以在无任何延迟的情况下将第二组请求命令RQ2(src)、RQ2(dst)和RQ2(大小)依次传输到PCIe EP 200的接收端子201。此外,PCIe RC 120还可以在无任何延迟的情况下将第三组请求命令RQ3(src)、RQ3(dst)和RQ3(大小)依次传输到PCIe EP 200的接收端子201。在通用电子系统的情况下,在产生用于通知终止与第一组请求命令相对应的操作的中断信号之后,可以传输另一组请求命令。但是,根据上述电子系统10,请求命令全部储存在命令队列410中并且请求命令待命。因此,不管由DMA控制器400执行的操作如何,都可以在无任何时间中断的情况下来连续传输所有请求命令。
在依次接收第一组请求命令至第三组请求命令RQ1(src)、RQ1(dst)、RQ1(大小)、RQ2(src)、RQ2(dst)、RQ2(大小)、RQ3(src)、RQ3(dst)和RQ3(大小)之后,PCIe EP 200可以将第一组请求命令至第三组请求命令转换成高级可扩展接口(Axi)形式。随后,PCIe EP200可以通过命令总线310将第一组已转换的请求命令axi1(src)、axi1(dst)和axi1(大小)、第二组已转换的请求命令axi2(src)、axi2(dst)和axi2(大小)以及第三组已转换的请求命令axi3(src)、axi3(dst)和axi3(大小)依次传输到DMA控制器400的命令队列410。具有Axi形式的已转换的请求命令可以在命令队列410中待命。
当请求命令被储存在命令队列410中时,DMA控制器400的命令处理器420可以将请求命令的设定值依次储存在设定寄存器430中。具体地,命令处理器420可以将源地址、目标地址、数据大小以及第一组已转换的请求命令axi1(src)、axi1(dst)和axi1(大小)的状态信息储存在设定寄存器430的第一储存元件至第四储存元件中。总线控制器440可以通过第二子总线402和数据总线320将储存在设定寄存器430中的设定值传输到存储器件500。
存储器件500可以响应于通过第二子总线402和数据总线320传输的设定值来执行读取操作或写入操作。在读取操作的情况下,存储器件500可以响应于通过第二子总线402和数据总线320传输的设定值来通过数据总线320将与第一组已转换的请求命令axi1(src)、axi1(dst)和axi1(大小)相对应的第一读取数据DATA1传输到PCIe EP 200。在接收第一读取数据DATA1之后,PCIe EP 200可以通过传输端子202和第二传输线132将第一读取数据DATA1输出到PCIe RC 120的接收端子122。因为当第一读取数据DATA1通过传输端子202和第二传输线132被传输到PCIe RC 120的接收端子122时第一传输线131处于空闲状态,所以第一PCIe RC 120可以响应于CPU 110的请求来通过第一传输线131将第四组请求命令RQ4(src)、RQ4(dst)和RQ4(大小)传输到PCIe EP 200。
如果第一读取数据DATA1的大小比数据总线320的宽度(例如,比特位的数量)大,则第一读取数据DATA1可以被分成两个或更多个数据块,并且每个已分开的数据块可以通过数据总线320来传输。例如,第一读取数据DATA1的第一数据块可以包括数据头(header)H1和数据D1,并且第一读取数据DATA1的第二数据块至第四数据块可以包括数据D2、D3、D4、D5、...、D62和D63。最后数据块可以包括数据D64和状态数据E。状态数据E可以包括关于从存储器件500传输到PCIe EP 200的命令队列410的状态信息的读取数据。命令队列410的状态信息可以被储存在包括在DMA控制器400中的命令队列410的状态寄存器区域412中,并且可以用作通过第一组请求命令RQ1(src)、RQ1(dst)、RQ1(大小)来通知主机设备100执行数据传输的数据。因此,即使在没有接收到通知DMA控制器400的操作终止的任何中断信号的情况下,主机设备100也可以识别与第一组请求命令RQ1(src)、RQ1(dst)、RQ1(大小)相关的存储器访问操作的实现。
如果储存在DMA控制器400的设定寄存器430中的设定值被传输到存储器件500,则命令处理器420可以将与第二组已转换的请求命令axi2(src)、axi2(dst)和axi2(大小)相关的设定值储存到设定寄存器430中。由设定寄存器430、总线控制器440和存储器件500执行的后续操作可以根据第一组已转换的请求命令axi1(src)、axi1(dst)和axi1(大小)来被同样地处理。对于所有储存在命令队列410中并待命的请求命令,可以反复并连续地执行包括在DMA控制器400中的命令处理器420的操作。
存储器件500可以响应于通过第二子总线402和数据总线320从DMA控制器400输出的后续设定值来通过数据总线320将与第二组已转换的请求命令axi2(src)、axi2(dst)和axi2(大小)相对应的第二读取数据DATA2传输到PCIe EP 200。随后,存储器件500可以响应于通过第二子总线402和数据总线320从DMA控制器400输出的后续设定值来通过数据总线320将与第三组已转换的请求命令axi3(src)、axi3(dst)和axi3(大小)相对应的第三读取数据DATA3传输到PCIe EP 200。PCIe EP 200可以通过传输端子202和第二传输线132将第二读取数据DATA2和第三读取数据DATA3依次传输到PCIe RC 120。在一个示例中,第二传输线132可以是通过其将数据(例如,第二读取数据DATA2和第三读取数据DATA3)从PCIe EP200传输到PCIe RC 120的单向传输线。
当第一读取数据DATA1被传输到PCIe RC 120时,第四组请求命令RQ4(src)、RQ4(dst)和RQ4(大小)可以通过第一传输线131从PCIe RC 120传输到PCIe EP 200。第一传输线131可以是通过其可以将请求命令从PCIe RC 120传输到PCIe EP 200的单向传输线。类似地,当第二读取数据DATA2被传输到PCIe RC 120时,第五组请求命令RQ5(src)、RQ5(dst)和RQ5(大小)可以通过第一传输线131从PCIe RC 120传输到PCIe EP 200。即,不管执行哪个数据传输,都可以执行请求命令从PCIe RC 120到PCIe EP 200的传输。类似地,不管请求命令的传输如何,都可以执行从PCIe EP 200到PCIe RC 120的数据传输。
上面为了说明目的已经公开了本公开的实施例。本领域技术人员应理解,在不脱离如在所附权利要求中公开的本公开的范围和范围的情况下,各种修改、增加和替换都是可以的。

Claims (20)

1.一种电子系统,包括:
串行系统总线接口,其具有根联合体和端点;
命令总线和数据总线,其耦接到串行系统总线接口;
存储器件,其耦接到数据总线;以及
直接存储器访问DMA控制器,其被配置为耦接到命令总线和数据总线两者,以响应于从根联合体向端点传输的请求命令来直接访问存储器件,并且额外被配置为包括请求命令在其中待命的命令队列,
其中,请求命令从根联合体通过端点和命令总线向命令队列连续传输;
其中,DMA控制器响应于请求命令来控制存储器的读取操作,使得来自存储器的读取数据通过数据总线和端点而被传输到根联合体;以及
其中,向DMA控制器传输请求命令和传输来自存储器件的读取数据同时发生在根联合体中。
2.如权利要求1所述的电子系统,其中,串行系统总线接口是外围组件互连快速PCIe总线接口。
3.如权利要求1所述的电子系统,其中,根联合体与中央处理单元CPU一起发挥主机设备的作用。
4.如权利要求1所述的电子系统,
其中,根联合体和端点可以通过传输请求命令的第一传输线和传输数据的第二传输线而彼此耦接;
其中,第一传输线被配置为包括通过其将请求命令从根联合体朝向端点传输的单向传输线;以及
其中,第二传输线被配置为包括通过其将数据从端点朝向根联合体传输的单向传输线。
5.如权利要求1所述的电子系统,其中,命令总线和数据总线是高级可扩展接口Axi总线。
6.如权利要求5所述的电子系统,其中,端点将从根联合体输出的请求命令转换成Axi形式,并且将已转换的请求命令传输到命令队列。
7.如权利要求1所述的电子系统,
其中,存储器件包括通过串行系统总线接口耦接到主机设备的数据储存器件;以及
其中,数据储存器件是动态随机存取存储DRAM器件或静态随机存取存储SRAM器件。
8.如权利要求1所述的电子系统,其中,命令队列包括储存通过命令总线传输的请求命令的命令队列区域。
9.如权利要求8所述的电子系统,其中,命令队列还包括储存关于命令队列区域的状态的信息数据的状态寄存器区域。
10.如权利要求1所述的电子系统,其中,DMA控制器还包括:
命令处理器,其被配置为产生储存在命令队列中以待命的请求命令的设定值;以及
设定寄存器,其被配置为储存设定值。
11.如权利要求10所述的电子系统,其中,设定值包括源地址、目标地址、数据大小和关于命令队列的状态信息。
12.如权利要求11所述的电子系统,其中,关于命令队列的状态信息被包括在从存储器件传输到端点的数据中。
13.一种操作电子系统的方法,所述电子系统包括具有根联合体和端点的串行系统总线接口、耦接到串行系统总线接口的命令总线和数据总线、耦接到数据总线的存储器件以及直接存储器访问DMA控制器,所述直接存储器访问DMA控制器被配置为耦接到命令总线和数据总线两者,以响应于从根联合体传输到端点的请求命令来直接访问存储器件,所述方法包括:
响应于中央处理单元CPU的请求来将请求命令从根联合体依次传输到端点;
将请求命令储存在包括在DMA控制器中的命令队列中;以及
依次执行与存储器件相关的DMA控制操作,所述DMA控制操作根据在命令队列中待命的请求命令而由DMA控制器运行,
其中,向DMA控制器传输请求命令和传输来自存储器件的读取数据在根联合体中同时发生。
14.如权利要求13所述的方法,其中,请求命令通过命令总线被传输到包括在DMA控制器中的命令队列。
15.如权利要求14所述的方法,其中,命令队列包括储存通过命令总线传输的请求命令的命令队列区域。
16.如权利要求15所述的方法,其中,命令队列还包括储存关于命令队列区域的状态的信息数据的状态寄存器区域。
17.如权利要求14所述的方法,还包括在通过命令总线传输请求命令之前,根据命令总线的接口规则来转换请求命令的接口形式。
18.如权利要求13所述的方法,其中,依次执行与存储器件相关的DMA控制操作包括:
将请求命令的设定值传输到存储器件;
响应于设定值来通过数据总线将存储器件的读取数据传输到端点;以及
将读取数据从端点传输到根联合体。
19.如权利要求18所述的方法,其中,设定值包括源地址、目标地址、数据大小和关于命令队列的状态信息。
20.如权利要求18所述的方法,其中,关于命令队列的状态信息被包括在从存储器件传输到端点的读取数据中。
CN201711317419.XA 2017-04-17 2017-12-12 具有直接存储器访问控制器的电子系统及其操作方法 Active CN108733600B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2017-0049405 2017-04-17
KR1020170049405A KR102367359B1 (ko) 2017-04-17 2017-04-17 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
CN108733600A CN108733600A (zh) 2018-11-02
CN108733600B true CN108733600B (zh) 2021-08-13

Family

ID=63790633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711317419.XA Active CN108733600B (zh) 2017-04-17 2017-12-12 具有直接存储器访问控制器的电子系统及其操作方法

Country Status (3)

Country Link
US (1) US10860507B2 (zh)
KR (1) KR102367359B1 (zh)
CN (1) CN108733600B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157213B2 (en) * 2018-10-12 2021-10-26 Micron Technology, Inc. Parallel memory access and computation in memory devices
US11379388B1 (en) * 2021-03-31 2022-07-05 Advanced Micro Devices, Inc. Credit scheme for multi-queue memory controllers
CN113868039B (zh) * 2021-08-30 2024-02-09 浪潮电子信息产业股份有限公司 一种测试方法、装置及相关设备
WO2023076597A1 (en) * 2021-10-29 2023-05-04 Microchip Technology Incorporated System and method for flexibly crossing packets of different protocols
US12072829B2 (en) 2021-10-29 2024-08-27 Microchip Technology Incorporated System and method for flexibly crossing packets of different protocols
CN115599729B (zh) * 2022-12-13 2023-04-25 南京芯驰半导体科技有限公司 一种中央处理器基于PCIe读写数据系统及方法
CN117251396A (zh) * 2023-03-14 2023-12-19 中勍科技股份有限公司 一种多路慢速总线桥接装置及方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308523B1 (en) * 2006-04-10 2007-12-11 Pericom Semiconductor Corp. Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
CN101165667A (zh) * 2006-10-17 2008-04-23 国际商业机器公司 用于在数据处理系统中管理地址转换的方法和装置
CN101165666A (zh) * 2006-10-17 2008-04-23 国际商业机器公司 在数据处理系统中建立地址转换的方法和装置
CN101206621A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 迁移无状态虚拟功能的系统和方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350713A (ja) * 2000-06-07 2001-12-21 Hitachi Ltd 転送制御装置
KR100406137B1 (ko) 2001-11-28 2003-11-14 한국전자통신연구원 고속 하드웨어 암호 처리 시스템 및 그 방법
US7159048B2 (en) 2001-12-10 2007-01-02 Emulex Design & Manufacturing Corporation Direct memory access (DMA) transfer buffer processor
US7363393B2 (en) * 2003-12-30 2008-04-22 Intel Corporation Chipset feature detection and configuration by an I/O device
US7392330B2 (en) * 2004-07-02 2008-06-24 Mediatek Usa Inc. Memory access bandwidth allocation and latency control in a digital camera
JP2008083911A (ja) * 2006-09-27 2008-04-10 Matsushita Electric Ind Co Ltd Dma転送制御装置および半導体集積回路装置
US7979588B1 (en) * 2007-06-28 2011-07-12 Emc Corporation Data storage system having acceleration path for congested packet switching network
US8516551B2 (en) * 2010-07-28 2013-08-20 Intel Corporation Providing a multi-phase lockstep integrity reporting mechanism
US9405550B2 (en) * 2011-03-31 2016-08-02 International Business Machines Corporation Methods for the transmission of accelerator commands and corresponding command structure to remote hardware accelerator engines over an interconnect link
US9690953B2 (en) * 2013-03-14 2017-06-27 Apple Inc. Generating efficient reads for a system having non-volatile memory
GB2536515A (en) * 2013-11-28 2016-09-21 Hitachi Ltd Computer system, and a computer system control method
US9507740B2 (en) * 2014-06-10 2016-11-29 Oracle International Corporation Aggregation of interrupts using event queues
JP6387711B2 (ja) * 2014-07-04 2018-09-12 株式会社ソシオネクスト データ転送装置及びデータ転送方法
US10089275B2 (en) * 2015-06-22 2018-10-02 Qualcomm Incorporated Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
US10282104B2 (en) * 2016-06-01 2019-05-07 International Business Machines Corporation Dynamic optimization of raid read operations
US10162770B2 (en) * 2016-06-30 2018-12-25 Intel Corporation Virtual machine migration in rack scale systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308523B1 (en) * 2006-04-10 2007-12-11 Pericom Semiconductor Corp. Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
CN101165667A (zh) * 2006-10-17 2008-04-23 国际商业机器公司 用于在数据处理系统中管理地址转换的方法和装置
CN101165666A (zh) * 2006-10-17 2008-04-23 国际商业机器公司 在数据处理系统中建立地址转换的方法和装置
CN101206621A (zh) * 2006-12-19 2008-06-25 国际商业机器公司 迁移无状态虚拟功能的系统和方法

Also Published As

Publication number Publication date
CN108733600A (zh) 2018-11-02
KR102367359B1 (ko) 2022-02-25
US20180300271A1 (en) 2018-10-18
KR20180116717A (ko) 2018-10-25
US10860507B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
CN108733600B (zh) 具有直接存储器访问控制器的电子系统及其操作方法
US8032686B2 (en) Protocol translation in a data storage system
US9176918B2 (en) Inter-component communication using an interface including master and slave communication
US20090003335A1 (en) Device, System and Method of Fragmentation of PCI Express Packets
US9720866B2 (en) Interface circuit executing protocol control in compliance with first and second interface standards
JP4837659B2 (ja) 分割トランザクションを処理するためのバス・コントローラ
US9875199B2 (en) Data transfer control apparatus
US8335867B1 (en) Method and apparatus for reducing host processor activity during interaction with peripheral devices
CN110325974B (zh) 单通信接口及具有内部/外部寻址模式的方法
CN115543877B (zh) 一种pcie数据传输方法及相关装置
US20060236001A1 (en) Direct memory access controller
US8510759B1 (en) Scatter gather emulation
CN101937413A (zh) 一种i2c总线的通信方法
US9678904B2 (en) PCI express data transmission
US8032675B2 (en) Dynamic memory buffer allocation method and system
WO2012081085A1 (ja) 割込み要因管理装置及び割込み処理システム
US9274986B2 (en) Data transmission circuit and data transmission method using configurable threshold and related universal serial bus system
CN107861901A (zh) 一种基于nvdimm‑f的存储方法及系统
CN101814011A (zh) Usb主机控制器以及用于usb主机控制器的控制方法
US20130326097A1 (en) Semiconductor device
EP3660692A1 (en) Single communication interface and a method with internal/external addressing mode
CN104850517A (zh) 一种dma传输报文数据的方法及装置
US5179706A (en) Method and apparatus for preventing bus contention problems between two processors
CN112783811B (zh) 微控制器架构及架构内数据读取方法
US20200272587A1 (en) USB device and data transfer method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant