CN108733600A - 具有直接存储器访问控制器的电子***及其操作方法 - Google Patents
具有直接存储器访问控制器的电子***及其操作方法 Download PDFInfo
- Publication number
- CN108733600A CN108733600A CN201711317419.XA CN201711317419A CN108733600A CN 108733600 A CN108733600 A CN 108733600A CN 201711317419 A CN201711317419 A CN 201711317419A CN 108733600 A CN108733600 A CN 108733600A
- Authority
- CN
- China
- Prior art keywords
- command
- data
- electronic system
- line
- endpoint
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1642—Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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控制器,其被配置为耦接到命令总线和数据总线两者,以响应于从根联合体传输到端点的请求命令来直接访问存储器件,并且被配置为包括请求命令在其中待命的命令队列。
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控制器运行。
14.如权利要求13所述的方法,其中,请求命令通过命令总线被传输到包括在DMA控制器中的命令队列。
15.如权利要求14所述的方法,其中,命令队列包括储存通过命令总线传输的请求命令的命令队列区域。
16.如权利要求15所述的方法,其中,命令队列还包括储存关于命令队列区域的状态的信息数据的状态寄存器区域。
17.如权利要求14所述的方法,还包括在通过命令总线传输请求命令之前,根据命令总线的接口规则来转换请求命令的接口形式。
18.如权利要求13所述的方法,其中,依次执行与存储器件相关的DMA控制操作包括:
将请求命令的设定值传输到存储器件;
响应于设定值来通过数据总线将存储器件的读取数据传输到端点;以及
将读取数据从端点传输到根联合体。
19.如权利要求18所述的方法,其中,设定值包括源地址、目标地址、数据大小和关于命令队列的状态信息。
20.如权利要求18所述的方法,其中,关于命令队列的状态信息被包括在从存储器件传输到端点的读取数据中。
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 true CN108733600A (zh) | 2018-11-02 |
CN108733600B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251396A (zh) * | 2023-03-14 | 2023-12-19 | 中勍科技股份有限公司 | 一种多路慢速总线桥接装置及方法 |
Families Citing this family (4)
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 |
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 |
CN115599729B (zh) * | 2022-12-13 | 2023-04-25 | 南京芯驰半导体科技有限公司 | 一种中央处理器基于PCIe读写数据***及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026551A1 (en) * | 2000-06-07 | 2002-02-28 | Haruo Kamimaki | System for transferring data of reusing a plurality of data transferring area cyclically |
CN1922595A (zh) * | 2003-12-30 | 2007-02-28 | 英特尔公司 | 通过i/o设备的芯片组特征检测与配置 |
US7308523B1 (en) * | 2006-04-10 | 2007-12-11 | Pericom Semiconductor Corp. | Flow-splitting and buffering PCI express switch to reduce head-of-line blocking |
CN101165666A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 在数据处理***中建立地址转换的方法和装置 |
CN101165667A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 用于在数据处理***中管理地址转换的方法和装置 |
CN101206621A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 迁移无状态虚拟功能的***和方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 |
-
2017
- 2017-04-17 KR KR1020170049405A patent/KR102367359B1/ko active IP Right Grant
- 2017-11-27 US US15/822,825 patent/US10860507B2/en active Active
- 2017-12-12 CN CN201711317419.XA patent/CN108733600B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020026551A1 (en) * | 2000-06-07 | 2002-02-28 | Haruo Kamimaki | System for transferring data of reusing a plurality of data transferring area cyclically |
CN1922595A (zh) * | 2003-12-30 | 2007-02-28 | 英特尔公司 | 通过i/o设备的芯片组特征检测与配置 |
US7308523B1 (en) * | 2006-04-10 | 2007-12-11 | Pericom Semiconductor Corp. | Flow-splitting and buffering PCI express switch to reduce head-of-line blocking |
CN101165666A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 在数据处理***中建立地址转换的方法和装置 |
CN101165667A (zh) * | 2006-10-17 | 2008-04-23 | 国际商业机器公司 | 用于在数据处理***中管理地址转换的方法和装置 |
CN101206621A (zh) * | 2006-12-19 | 2008-06-25 | 国际商业机器公司 | 迁移无状态虚拟功能的***和方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117251396A (zh) * | 2023-03-14 | 2023-12-19 | 中勍科技股份有限公司 | 一种多路慢速总线桥接装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US10860507B2 (en) | 2020-12-08 |
CN108733600B (zh) | 2021-08-13 |
KR20180116717A (ko) | 2018-10-25 |
US20180300271A1 (en) | 2018-10-18 |
KR102367359B1 (ko) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108733600A (zh) | 具有直接存储器访问控制器的电子***及其操作方法 | |
US10423568B2 (en) | Apparatus and method for transferring data and commands in a memory management environment | |
US9135190B1 (en) | Multi-profile memory controller for computing devices | |
CA2600419C (en) | Method and apparatus for improving the performance of usb mass storage devices in the presence of long transmission delays | |
KR101934519B1 (ko) | 저장 장치 및 그것의 데이터 전송 방법 | |
US8032686B2 (en) | Protocol translation in a data storage system | |
JP4837659B2 (ja) | 分割トランザクションを処理するためのバス・コントローラ | |
US6636927B1 (en) | Bridge device for transferring data using master-specific prefetch sizes | |
US9176918B2 (en) | Inter-component communication using an interface including master and slave communication | |
US5255376A (en) | Method and apparatus for supporting a dual bit length protocol for data transfers | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
KR100347076B1 (ko) | 2차 버스로부터의 메시징 유닛 액세스 | |
US8510759B1 (en) | Scatter gather emulation | |
EP4105771A1 (en) | Storage controller, computational storage device, and operational method of computational storage device | |
US8891523B2 (en) | Multi-processor apparatus using dedicated buffers for multicast communications | |
US20130326097A1 (en) | Semiconductor device | |
JP2008502977A (ja) | バス・コントローラのための割り込み方式 | |
CN114238156A (zh) | 处理***以及操作处理***的方法 | |
CN106325377A (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
JP5847013B2 (ja) | 計算機及び計算機における入出力制御方法 | |
US10025736B1 (en) | Exchange message protocol message transmission between two devices | |
US10042792B1 (en) | Method for transferring and receiving frames across PCI express bus for SSD device | |
US11442882B2 (en) | Bridge circuit for providing conversion between PCIe-NVMe protocol and NVMe-TCP protocol and computer system using the same | |
CN113127399B (zh) | 一种通用串列汇流排装置以及存取方法 | |
JP2018085003A (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |