KR102367359B1 - 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 - Google Patents
직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102367359B1 KR102367359B1 KR1020170049405A KR20170049405A KR102367359B1 KR 102367359 B1 KR102367359 B1 KR 102367359B1 KR 1020170049405 A KR1020170049405 A KR 1020170049405A KR 20170049405 A KR20170049405 A KR 20170049405A KR 102367359 B1 KR102367359 B1 KR 102367359B1
- Authority
- KR
- South Korea
- Prior art keywords
- bus
- endpoint
- command
- abandoned
- root complex
- Prior art date
Links
Images
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
Abstract
전자 시스템은, 루트컴플렉스 및 엔드포인트를 갖는 직렬 시스템 버스 인터페이스와, 직렬 시스템 버스 인터페이스의 엔드포인트에 결합되는 명령 버스 및 데이터 버스와, 데이터 버스에 결합되는 메모리와, 그리고 명령 버스 및 데이터 버스에 결합되어 루트컴플렉스로부터 엔드포인트로 전송되는 요청 명령들에 응답하여 메모리를 직접 액세스하되, 요청 명령들을 대기시키는 명령어 큐를 갖는 직접메모리액세스 컨트롤러를 포함한다.
Description
본 개시의 여러 실시예들은, 일반적으로 전자 시스템에 관한 것으로서, 특히 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법에 관한 것이다.
최근, PCI(Peripheral Component Interconnect) 버스를 대신하여 "PCI 익스프레스(PCIe; PCI Express)"라고 하는 인터페이스(I/F)가 널리 이용된다. PCI는 병렬(parallel) 전송 방식이며 PCI 익스프레스(PCIe)는 직렬(serial) 전송 방식이다. PCI 익스프레스(PCIe) 버스는 중앙처리장치(CPU)와 주변 장치들 사이의 상호 접속 시스템에서 널리 이용되며, 계산 및 저장 장치 내의 코어 서비스 채널로 기능하기도 한다. 이와 같은 PCI 익스프레스(PCIe) 기술은 다른 시스템 인터페이스 기술과 비교해서 높은 프로토콜(protocol) 효율, 동일 수준의 지연(latency) 성능, 적은 전력소모 및 낮은 단가와 같은 우수한 특징을 나타내는 것으로 알려져 있다.
PCI 익스프레스(PCIe) 버스 시스템을 적용하는 전자 시스템에서, 중앙처리장치(CPU)의 활용도를 높이기 위해 직접메모리액세스(DMA; Direct Memory Access) 기술을 채용할 수 있다. 직접메모리액세스(DMA) 기술은, 주변 입/출력 장치가 중앙처리장치(CPU)를 거치지 않고 직접메모리액세스(DMA) 컨트롤러를 통해 직접 메모리에 접속하는 기술로서, 중앙처리장치(CPU)가 다른 프로세스의 작업을 하는 상태에서도 주변 입/출력 장치가 동작할 수 있도록 한다. 직접메모리액세스(DMA) 컨트롤러를 통해 메모리에 직접 접근하여 읽기 동작이나 쓰기 동작이 수행되도록 한 후, 직접메모리액세스(DMA) 컨트롤러는 인터럽트(interrupt) 신호를 통해 읽기 동작이나 쓰기 동작이 완료되었다는 것을 알린다. 중앙처리장치(CPU)는 인터럽트 신호가 입력되기 전까지 직접메모리액세스(DMA) 컨트롤러에 대한 다음 동작 요청을 대기해야 하며, 이는 전체 시스템의 성능을 저하시키는 원인으로 작용할 수 있다.
본 출원이 해결하고자 하는 과제는, 직렬 시스템 버스 인터페이스 및 직접메모리액세스(DMA) 컨트롤러를 갖는 전자 시스템에서 호스트로부터의 동작 요청 명령 전송과 직접메모리액세스(DMA) 컨트롤러에 의한 메모리의 직접 접근에 따른 데이터 전송이 독립적으로 이루어지도록 함으로써 호스트의 다음 동작 요청까지의 대기 시간을 제거할 수 있도록 하는 전자 시스템을 제공하는 것이다.
본 출원이 해결하고자 하는 다른 과제는, 위와 같은 전자 시스템의 동작 방법을 제공하는 것이다.
본 개시의 일 예에 따른 전자 시스템은, 루트컴플렉스 및 엔드포인트를 갖는 직렬 시스템 버스 인터페이스와, 직렬 시스템 버스 인터페이스의 엔드포인트에 결합되는 명령 버스 및 데이터 버스와, 데이터 버스에 결합되는 메모리와, 그리고 명령 버스 및 데이터 버스에 결합되어 루트컴플렉스로부터 엔드포인트로 전송되는 요청 명령들에 응답하여 메모리를 직접 액세스하되, 요청 명령들을 대기시키는 명령어 큐를 갖는 직접메모리액세스 컨트롤러를 포함한다.
본 개시의 일 예에 따른 전자 시스템의 동작 방법은, 루트컴플렉스 및 엔드포인트를 갖는 직렬 시스템 버스 인터페이스와, 직렬 시스템 버스 인터페이스의 엔드포인트에 결합되는 명령 버스 및 데이터 버스와, 데이터 버스에 결합되는 메모리와, 그리고 명령 버스 및 데이터 버스에 결합되어 루트컴플렉스로부터 엔드포인트로 전송되는 요청 명령들에 응답하여 메모리를 직접 액세스하는 직접메모리액세스 컨트롤러를 포함하는 전자 시스템의 동작 방법에 있어서, 중앙처리장치의 요청에 응답하여 루트컴플렉스로부터 엔드포인트로 요청 명령들을 순차적으로 전송하는 단계와, 요청 명령들을 직접메모리액세스 컨트롤러 내의 명령어 큐에 대기시키는 단계와, 그리고 명령어 큐에서 대기하고 있는 요청 명령들에 의한 직접메모리액세스 컨트롤러의 메모리에 대한 직접 액세스 동작을 순차적으로 수행하는 단계를 포함한다.
여러 실시예들에 따르면, 직렬 시스템 버스 인터페이스 및 직접메모리액세스(DMA) 컨트롤러를 갖는 전자 시스템에서 호스트로부터의 동작 요청 명령 전송과 직접메모리액세스(DMA) 컨트롤러에 의한 메모리의 직접 접근에 따른 데이터 전송이 독립적으로 이루어지도록 함으로써 호스트의 다음 동작 요청까지의 대기 시간을 제거할 수 있도록 하는 이점이 제공된다.
도 1은 본 개시의 일 예에 따른 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템을 나타내 보인 도면이다.
도 2는 도 1의 직접메모리액세스(DMA) 컨트롤러의 일 예를 나타내 보인 블록도이다.
도 3은 도 2의 직접메모리액세스(DMA) 컨트롤러의 명령어 큐의 구성의 일 예를 나타내 보인 도면이다.
도 4는 도 1의 전자 시스템의 동작을 설명하기 위해 나타내 보인 타이밍도이다.
도 2는 도 1의 직접메모리액세스(DMA) 컨트롤러의 일 예를 나타내 보인 블록도이다.
도 3은 도 2의 직접메모리액세스(DMA) 컨트롤러의 명령어 큐의 구성의 일 예를 나타내 보인 도면이다.
도 4는 도 1의 전자 시스템의 동작을 설명하기 위해 나타내 보인 타이밍도이다.
본 출원의 예의 기재에서 "제1" 및 "제2"와 같은 기재는 부재를 구분하기 위한 것이며, 부재 자체를 한정하거나 특정한 순서를 의미하는 것으로 사용된 것은 아니다. 또한, 어느 부재의 "상"에 위치하거나 "상부", "하부", 또는 "측면"에 위치한다는 기재는 상대적인 위치 관계를 의미하는 것이지 그 부재에 직접 접촉하거나 또는 사이 계면에 다른 부재가 더 도입되는 특정한 경우를 한정하는 것은 아니다. 또한, 어느 한 구성 요소가 다른 구성 요소에 "연결되어 있다"거나 "접속되어 있다"의 기재는, 다른 구성 요소에 전기적 또는 기계적으로 직접 연결되어 있거나 또는 접속되어 있을 수 있으며, 또는, 중간에 다른 별도의 구성 요소들이 개재되어 연결 관계 또는 접속 관계를 구성할 수도 있다.
도 1은 본 개시의 일 예에 따른 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템을 나타내 보인 도면이다. 도 1을 참조하면, 본 예에 따른 전자 시스템(10)은, 직렬 시스템 버스 인터페이스의 일 예로서 피씨아이 익스프레스(PCIe) 인터페이스를 갖는다. 피씨아이 익스프레스(PCIe)는, 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC; Root Complex)(120)와, 피씨아이 익스프레스(PCIe) 엔드포인트(EP; End Point)(200)와, 그리고 전송라인들(131, 132)을 포함할 수 있다. 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)는 중앙처리장치(CPU)(110)와 함께 호스트장치(100)를 구성할 수 있다. 일 예에서 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)는 중앙처리장치(CPU)(110) 내에 집적될 수 있다.
피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)는 송신단자(121) 및 수신단자(122)를 갖는다. 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)도 수신단자(201) 및 송신단자(202)를 갖는다. 제1 전송라인(131)은 피씨아이 익스프레스(PCIe) 루트 컴플렉스(RC)(120)의 송신단자(121)와 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 수신단자(201)에 결합된다. 제1 전송라인(131)을 통한 신호 전송은, 피씨아이 익스프레스(PCIe) 루트 컴플렉스(RC)(120)의 송신단자(121)로부터 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 수신단자(201) 방향으로 이루어진다. 제2 전송라인(132)은 피씨아이 익스프레스(PCIe) 루트 컴플렉스(RC)(120)의 수신단자(122)와 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 송신단자(202)에 결합된다. 제2 전송라인(132)을 통한 신호 전송은, 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 송신단자(202)로부터 피씨아이 익스프레스(PCIe) 루트 컴플렉스(RC)(120)의 수신단자(122) 방향으로 이루어진다.
피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는, 명령 버스(Axi CMD Bus)(310) 및 데이터 버스(Axi Data Bus)(320)를 통해 다른 장치들과 통신할 수 있다. 명령 버스(Axi CMD Bus)(310)는 명령어(command)를 전송하는 반면, 데이터 버스(Axi Data Bus)(320)는 데이터(data)를 전송한다. 일 예에서 명령 버스(Axi CMD Bus)(310) 및 데이터 버스(Axi Data Bus)(320)는 Axi(Advanced extensible interface) 버스일 수 있다. 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는 호스트 장치(100)의 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로부터 전송되는 요청 명령을 Axi 형식으로 인터페이스를 변경한 후에 명령 버스(310)를 통해 다른 장치에 전송한다. 또한 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는 메모리(500)로부터의 데이터를 데이터 버스(320)를 통해 전송 받아 호스트 장치(100)의 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로 전송할 수 있다.
명령 버스(Axi CMD Bus)(310) 및 데이터 버스(Axi Data Bus)(320)는 직접메모리액세스 컨트롤러(DMA Controller)(400)에 결합된다. 직접메모리액세스(DMA) 컨트롤러(400)는, 제1 섭-버스(sub-bus)(401) 및 제2 섭-버스(402)를 통해 각각 명령 버스(Axi CMD Bus)(310) 및 데이터 버스(Axi Data Bus)(320)에 결합된다. 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)에서 인터페이스 변경된 요청 명령은, 명령 버스(Axi CMD Bus)(310) 및 제1 섭-버스(401)를 통해 직접메모리액세스(DMA) 컨트롤러(400)에 전송된다. 직접메모리액세스(DMA) 컨트롤러(400)는 요청된 명령에 대한 세팅값(setting)을 제2 섭-버스(402) 및 데이터 버스(Axi Data Bus)(320)를 통해 메모리(500)에 전송함으로써 메모리(500)를 직접 액세스한다.
본 예에서 직접메모리액세스(DMA) 컨트롤러(400)는 명령어 큐(CMD Queue)(410)를 포함한다. 명령어 큐(410)는, 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)를 통해 호스트 장치(100)로부터 전송되는 요청 명령들을 대기시킨다. 명령어 큐(410)에 요청 명령들이 대기하면, 직접메모리액세스(DMA) 컨트롤러(400)는, 요청 명령에 따른 세팅값을 메모리(500)에 전송하여 요청 명령에 대응되는 동작이 수행되도록 한다. 이와 같은 직접메모리액세스(DMA) 컨트롤러(400)의 동작은, 메모리(500)로부터 데이터 버스(Axi Data Bus) 및 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)를 통해 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로 데이터가 전송되는 과정과 무관하게 독립적으로 수행될 수 있다.
메모리(Memory)(500)는 제3 섭-버스(501)를 통해 데이터 버스(Axi Data Bus)(320)에 결합된다. 일 예에서 메모리(500)는 디램(DRAM; Dynamic Random Access Memory) 또는 에스램(SRAM; Static Random Access Memory)일 수 있다. 이와 같은 메모리(500)는 전자 시스템(10)에서의 주 메모리 또는 보조 메모리일 수 있다. 다른 예에서 메모리(500)는 피씨아이 익스프레스(PCIe) 버스를 통해 호스트 장치(100)와 상호 접속하는 스토리지장치, 예컨대 고체상태디스크(SSD; Solid State Disk)일 수도 있다. 메모리(500)는 직접메모리액세스(DMA) 컨트롤러(400)로부터 전송되는 세팅값에 응답하여 데이터 읽기 동작 및 쓰기 동작을 수행한다.
도 2는 도 1의 직접메모리액세스(DMA) 컨트롤러의 일 예를 나타내 보인 블록도이다. 그리고 도 3은 도 2의 직접메모리액세스(DMA) 컨트롤러의 명령어 큐의 구성의 일 예를 나타내 보인 도면이다. 도 2 및 도 3을 도 1과 함께 참조하면, 일 예에 따른 직접메모리액세스(DMA) 컨트롤러(400)는, 명령어 큐(CMD Queue)(410)와, 명령 처리부(420)와, 세팅값 레지스터(430)와, 그리고 버스 컨트롤러(440)를 포함하여 구성될 수 있다. 명령어 큐(410)는, 도 3에 나타낸 바와 같이, 명령어 큐(CMD queue) 영역(411) 및 상태 레지스터(status register) 영역(412)을 포함할 수 있다. 명령어 큐 영역(411)에는 명령 버스(Axi CMD Bus)(310) 및 제1 섭-버스(401)를 통해 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로부터 전송되는 요청 명령들이 저장될 수 있다. 일 예에서 명령어 큐 영역(411)의 저장 용량은, 호스트 장치(100)의 중앙처리장치(CPU)(110)에 의해 설정될 수 있다. 상태 레지스터 영역(412)에는 명령어 큐 영역(411)의 상태에 관한 정보 데이터가 저장될 수 있다.
명령 처리부(420)는 명령어 큐(410)에 대기하고 있는 요청 명령들을 순차적으로 처리하는 제어동작을 수행한다. 구체적으로 명령 처리부(420)는, 명령어 큐(410)에 대기하고 있는 요청 명령에 대한 세팅값을 세팅값 레지스터(430)에 입력시킨다. 일 예에서 요청 명령에 대한 세팅값에는 소스 어드레스(source address), 목적지 어드레스(destination address), 데이터 크기(size), 및 명령어 큐(410)의 상태 정보(status information)가 포함될 수 있다.
세팅값 레지스터(430)는, 명령 처리부(420)로부터 전송되는 세팅값을 저장하고, 버스 컨트롤러(440)로 전송한다. 이를 위해 세팅값 레지스터(430)는 소스 어드레스가 저장되는 제1 저장소(src address)와, 목적지 어드레스가 저장되는 제2 저장소(dst address)와, 데이터 크기가 저장되는 제3 저장소(size)와, 그리고 명령어 큐(410)의 상태 정보를 저장하는 제4 저장소(status information)를 포함할 수 있다. 세팅값 레지스터(430)로부터 세팅값을 전송 받은 버스 컨트롤러(440)는, 제2 섭-버스(402) 및 데이터 버스(Axi Data Bus)(320)를 통해 세팅값을 메모리(500)로 전송시킨다.
도 4는 도 1의 전자 시스템의 동작을 설명하기 위해 나타내 보인 타이밍도이다. 도 4를 도 1 내지 도 3과 함께 참조하면, 피씨아이 익스프레스(PCIe) 루트 컴플렉스(RC)(120)는, 중앙처리장치(CPU)(110)의 요청에 의해, 송신단자(121)를 통해 제1 세트(set)의 요청 명령들(RQ1(src), RQ1(dst), RQ1(size))을 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 수신단자(201)로 전송한다. 이어서 시간 지연 없이 제2 세트의 요청 명령들(RQ2(src), RQ2(dst), RQ2(size))을 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 수신단자(201)로 전송한다. 계속해서 연속하여 제3 세트의 요청 명령들(RQ3(src), RQ3(dst), RQ3(size))을 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)의 수신단자(201)로 전송한다. 기존의 경우 제1 세트의 요청 명령들(RQ1(src), RQ1(dst), RQ1(size))을 전송한 후에, 이 요청 명령들에 대한 직접메모리액세스(DMA) 컨트롤러의 동작이 완료되었다는 인터럽트 신호가 전송된 후에 다른 세트의 요청 명령들을 전송할 수 있었다. 그러나 본 예에 따른 전자 시스템(10)에서는, 전송시키는 요청 명령들이 직접메모리액세스(DMA) 컨트롤러(400)의 명령어 큐(410)에서 대기할 수 있으므로, 직접 메모리액세스(DMA) 컨트롤러의 동작과 무관하게 요청 명령들을 순차적으로 전송시킬 수 있다.
제1 세트의 요청 명령들(RQ1(src), RQ1(dst), RQ1(size)), 제2 세트의 요청 명령들(RQ2(src), RQ2(dst), RQ2(size)), 및 제3 세트의 요청 명령들(RQ3(src), RQ3(dst), RQ3(size))을 순차적으로 전송 받은 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는, 요청 명령들의 인터페이스를 Axi 형태로 변환시킨다. 그리고 변환된 제1 세트의 요청 명령들(axi1(src), axi1(dst), axi1(size)), 제2 세트의 요청 명령들(axi2(src), axi2(dst), axi2(size)), 및 제3 세트의 요청 명령들(axi3(src), axi3(dst), axi3(size))을 명령 버스(Axi CMD Bus)(310)를 통해 직접메모리액세스(DMA) 컨트롤러(400)의 명령어 큐(410)에 전송시킨다. 이 요청 명령들은 명령어 큐(410)의 명령어 큐 영역(411)에서 대기한다.
직접메모리액세스(DMA) 컨트롤러(400)의 명령 처리부(420)는, 명령어 큐(410)에 요청 명령들이 저장됨에 따라, 순서대로 요청 명령에 대한 세팅값을 세팅값 레지스터(430)에 저장시킨다. 구체적으로 인터페이스 변환된 제1 세트의 요청 명령들(axi1(src), axi1(dst), axi1(size))의 소스 어드레스, 목적지 어드레스, 데이터 크기, 및 상태 정보를 세팅값 레지스터(430)의 제1 내지 제4 저장소에 저장시킨다. 세팅값 레지스터(430)에 저장된 세팅값은 버스 컨트롤러(440)에 의해 제2 섭-버스(402) 및 데이터 버스(Axi Data Bus)(320)를 통해 메모리(500)로 전송된다.
메모리(500)는 전송된 세팅값에 응답하여 읽기 동작 또는 쓰기 동작을 수행한다. 읽기 동작을 예로 들면, 메모리(500)는 세팅값에 응답하여, 인터페이스 변경된 제1 세트의 요청 명령들(axi1(src), axi1(dst), axi1(size))에 대응되는 제1 읽기 데이터(Data 1)를 데이터 버스(Axi Data Bus)(320)를 통해 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송시킨다. 제1 읽기 데이터(Data 1)를 전송 받은 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는, 송신단자(202)를 통해 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)의 수신단자(122)로 제1 읽기 데이터(Data 1)를 전송시킨다. 이 과정에서 제1 전송라인(131)은 아이들(idle) 상태이므로, 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)는 중앙처리장치(CPU)(110)의 요청에 의해 제4 세트의 요청 명령들(RQ4(src), RQ4(dst), RQ4(size))을 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송시킬 수 있다.
제1 읽기 데이터(Data 1)의 용량이 데이터 버스(Axi Data Bus)(320)의 폭(예컨대 비트 수)보다 큰 경우 여러 개의 데이터 블록들로 분할하여 전송될 수 있다. 예컨대 첫번째 데이터 블록은 헤더(H1) 및 데이터(D1)를 포함한다. 두번째 데이터 블록부터 네번째 데이터 블록까지는 데이터(D2, D3, D4, D5, …, D62, D63)를 포함한다. 마지막 데이터 블록은 데이터(D64)와 상태 데이터(E)를 포함한다. 여기서 상태 데이터(E)는, 직접메모리액세스(DMA) 컨트롤러(400)의 명령어 큐(410)의 상태 레지스터 영역(412)에 저장되어 있는 명령어 큐(410)의 상태 정보에 관한 데이터로서, 제1 세트의 요청 명령들(RQ1(src), RQ1(dst), RQ1(size))에 의한 데이터 전송이 이루어진다는 것을 호스트 장치(100)에 알려주는 데이터로 기능한다. 따라서 호스트 장치(100)는 직접메모리액세스(DMA) 컨트롤러(400)로부터 작업 완료를 알려주는 별도의 인터럽트 신호를 받지 않고도 제1 세트의 요청 명령들(RQ1(src), RQ1(dst), RQ1(size))에 대한 메모리 액세스 동작이 이루어졌다는 정보를 파악할 수 있다.
직접메모리액세스(DMA) 컨트롤러(400)의 세팅값 레지스터(430)에 저장된 세팅값이 메모리(500)로 전송되면, 직접메모리액세스(DMA) 컨트롤러(400)의 명령 처리부(420)는, 인터페이스 변경된 제2 세트의 요청 명령들(axi2(src), axi2(dst), axi2(size))에 대한 세팅값을 세팅값 레지스터(430)에 저장한다. 이후의 세팅값 레지스터(430) 및 버스 컨트롤러(440)의 동작과, 메모리(500)의 동작은 인터페이스 변경된 제1 세트의 요청 명령들(axi1(src), axi1(dst), axi1(size))이 처리되는 과정과 동일하게 이루어진다. 직접메모리액세스(DMA) 컨트롤러(400)의 명령 처리부(420)의 동작은 명령어 큐(410)에 대기하는 모든 요청 명령들에 대해 수행될 때까지 연속적으로 이루어질 수 있다.
메모리(500)는, 직접메모리액세스(DMA) 컨트롤러(400)로부터 전송되는 후속의 세팅값에 응답하여 인터페이스 변경된 제2 세트의 요청 명령들(axi2(src), axi2(dst), axi2(size))에 대응되는 제2 읽기 메모리(data2)를 데이터 버스(Axi Data Bus)(320)를 통해 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송한다. 계속해서 직접메모리액세스(DMA) 컨트롤러(400)로부터 전송되는 후속의 세팅값에 응답하여 인터페이스 변경된 제3 세트의 요청 명령들(axi3(src), axi3(dst), axi3(size))에 대응되는 제3 읽기 메모리(data3)를 데이터 버스(Axi Data Bus)(320)를 통해 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송한다. 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)는 제2 전송라인(132)을 통해 제2 읽기 메모리(data2) 및 제3 읽기 메모리(data3)를 순차적으로 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로 전송한다.
제1 읽기 데이터(data1)가 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로 전송되는 동안 제1 전송라인(131)을 통해 제4 세트의 요청 명령들(RQ4(src), RQ4(dst), RQ4(size))이 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로부터 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송될 수 있다. 마찬가지로 제2 읽기 데이터(data1)가 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로 전송되는 동안 제1 전송라인(131)을 통해 제5 세트의 요청 명령들(RQ5(src), RQ5(dst), RQ5(size))이 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로부터 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로 전송될 수 있다. 즉 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로부터 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로의 요청 명령들의 전송은, 데이터 전송과 상관 없이 수행될 수 있다. 마찬가지로 피씨아이 익스프레스(PCIe) 엔드포인트(EP)(200)로부터 피씨아이 익스프레스(PCIe) 루트컴플렉스(RC)(120)로의 데이터 전송은, 요청 명령 전송과 상관 없이 수행될 수 있다.
상술한 바와 같이 본 출원의 실시 형태들을 도면들을 예시하며 설명하지만, 이는 본 출원에서 제시하고자 하는 바를 설명하기 위한 것이며, 세밀하게 제시된 형상으로 본 출원에서 제시하고자 하는 바를 한정하고자 한 것은 아니다.
10...전자 시스템 100...호스트 장치
110...중앙처리장치 120...PCIE 루트컴플렉스
121, 202...송신단자 122, 201...수신단자
200...PCIE 엔드포인트 310...명령 버스
320...데이터 버스 400...DMA 컨트롤러
401...제1 섭-버스 402...제2 섭-버스
410...명령어 큐 500...메모리
501...제3 섭-버스
110...중앙처리장치 120...PCIE 루트컴플렉스
121, 202...송신단자 122, 201...수신단자
200...PCIE 엔드포인트 310...명령 버스
320...데이터 버스 400...DMA 컨트롤러
401...제1 섭-버스 402...제2 섭-버스
410...명령어 큐 500...메모리
501...제3 섭-버스
Claims (18)
- 루트컴플렉스와, 전송라인들을 통해 상기 루트컴플렉스와 통신하는 엔드포인트를 갖는 직렬 시스템 버스 인터페이스;
상기 엔드포인트에 결합되는 명령 버스 및 데이터 버스;
상기 데이터 버스를 통해 상기 엔드포인트에 결합되는 메모리; 및
상기 명령 버스 및 데이터 버스를 통해 상기 엔드포인트에 결합되어 상기 루트컴플렉스로부터 상기 엔드포인트로 전송되는 요청 명령들에 응답하여 상기 메모리를 직접 액세스하되, 상기 요청 명령들을 대기시키는 명령어 큐를 갖는 직접메모리액세스 컨트롤러를 포함하는 전자 시스템 - ◈청구항 2은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 직렬 시스템 버스 인터페이스는 피씨아이 익스프레스 버스 인터페이스인 전자 시스템 - ◈청구항 3은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 루트컴플렉스는 중앙처리장치와 함께 호스트 장치를 구성하는 전자 시스템. - ◈청구항 4은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 전송라인들은, 제1 전송라인 및 제2 전송라인을 포함하되,
상기 제1 전송라인은 상기 루트컴플렉스로부터 상기 엔드포인트로의 단방향 전송라인으로 구성되고,
상기 제2 전송라인은 상기 엔드포인트로부터 상기 루트컴플렉스로의 단방향 전송라인으로 구성되는 전자 시스템. - ◈청구항 5은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 명령 버스 및 데이터 버스는 Axi(Advanced extensible interface) 버스로 구성되는 전자 시스템. - ◈청구항 6은(는) 설정등록료 납부시 포기되었습니다.◈제5항에 있어서,
상기 엔드포인트는, 상기 루트컴플렉스로부터 전송되는 요청명령들을 상기 Axi 버스에 대응하는 규약으로 인터페이스 변경하여 상기 명령어 큐로 전송하는 전자 시스템. - ◈청구항 7은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 메모리는, 디램, 에스램, 또는 상기 직렬 시스템 버스 인터페이스를 통해 호스트 장치와 상호 접속하는 스토리지장치를 포함하는 전자 시스템. - ◈청구항 8은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 명령어 큐는, 상기 명령 버스를 통해 전송되는 요청 명령들을 저장하는 명령어 큐 영역을 포함하는 전자 시스템. - ◈청구항 9은(는) 설정등록료 납부시 포기되었습니다.◈제8항에 있어서,
상기 명령어 큐는, 상기 명령어 큐 영역의 상태 정보에 관한 데이터를 저장하는 상태 레지스터 영역을 더 포함하는 전자 시스템. - ◈청구항 10은(는) 설정등록료 납부시 포기되었습니다.◈제1항에 있어서,
상기 직접메모리액세스 컨트롤러는,
상기 명령어 큐에 대기하는 있는 요청 명령에 대한 세팅값을 발생시키는 명령 처리부; 및
상기 세팅값을 저장하는 세팅값 레지스터를 더 포함하는 전자 시스템. - ◈청구항 11은(는) 설정등록료 납부시 포기되었습니다.◈제10항에 있어서,
상기 세팅값은, 소스 어드레스, 목적지 어드레스, 데이터 크기, 및 상기 명령어 큐의 상태 정보를 포함하는 전자 시스템. - ◈청구항 12은(는) 설정등록료 납부시 포기되었습니다.◈제11항에 있어서,
상기 명령어 큐의 상태 정보는, 상기 메모리부터 상기 엔드포인트로 전송되는 데이터에 포함되는 전자 시스템. - 루트컴플렉스와, 전송라인들을 통해 상기 루트컴플렉스와 통신하는 엔드포인트를 갖는 직렬 시스템 버스 인터페이스와, 상기 엔드포인트에 결합되는 명령 버스 및 데이터 버스와, 상기 데이터 버스를 통해 상기 엔드포인트에 결합되는 메모리와, 그리고 상기 명령 버스 및 데이터 버스를 통해 상기 엔드포인트에 결합되어 상기 루트컴플렉스로부터 상기 엔드포인트로 전송되는 요청 명령들에 응답하여 상기 메모리를 직접 액세스하는 직접메모리액세스 컨트롤러를 포함하는 전자 시스템의 동작 방법에 있어서,
중앙처리장치의 요청에 응답하여 상기 루트컴플렉스로부터 상기 엔드포인트로 요청 명령들을 순차적으로 전송하는 단계;
상기 요청 명령들을 상기 직접메모리액세스 컨트롤러 내의 명령어 큐에 대기시키는 단계; 및
상기 명령어 큐에서 대기하고 있는 요청 명령들에 의한 상기 직접메모리액세스 컨트롤러의 상기 메모리에 대한 직접 액세스 동작을 순차적으로 수행하는 단계를 포함하는 전자 시스템의 동작 방법. - ◈청구항 14은(는) 설정등록료 납부시 포기되었습니다.◈제13항에 있어서,
상기 요청 명령들은 상기 명령 버스를 통해 상기 직접메모리액세스 컨트롤러 내의 명령어 큐에 전송되는 전자 시스템의 동작 방법. - ◈청구항 15은(는) 설정등록료 납부시 포기되었습니다.◈제14항에 있어서,
상기 요청 명령들이 상기 명령 버스를 통해 전송되기 전에 상기 명령 버스의 인터페이스 규약에 맞도록 상기 요청 명령들에 대한 인터페이스 변경 동작을 수행하는 단계를 더 포함하는 전자 시스템의 동작 방법. - ◈청구항 16은(는) 설정등록료 납부시 포기되었습니다.◈제13항에 있어서,
상기 명령어 큐에서 대기하고 있는 요청 명령들에 의한 상기 직접메모리액세스 컨트롤러의 상기 메모리에 대한 직접 액세스 동작을 순차적으로 수행하는 단계는,
상기 요청 명령들에 대한 세팅값을 상기 메모리에 전송하는 단계;
상기 세팅값에 대응하여 상기 메모리의 읽기 데이터를 상기 데이터 버스를 통해 상기 엔드포인트로 전송하는 단계; 및
상기 읽기 데이터를 상기 엔드포인트로부터 상기 루트컴플렉스로 전송하는 단계를 포함하는 전자 시스템의 동작 방법. - ◈청구항 17은(는) 설정등록료 납부시 포기되었습니다.◈제16항에 있어서,
상기 세팅값은, 소스 어드레스, 목적지 어드레스, 데이터 크기, 및 상기 명령어 큐의 상태 정보를 포함하는 전자 시스템의 동작 방법. - ◈청구항 18은(는) 설정등록료 납부시 포기되었습니다.◈제17항에 있어서,
상기 명령어 큐의 상태 정보는, 상기 메모리부터 상기 엔드포인트로 전송되는 읽기 데이터에 포함되도록 하는 전자 시스템의 동작 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170049405A KR102367359B1 (ko) | 2017-04-17 | 2017-04-17 | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 |
US15/822,825 US10860507B2 (en) | 2017-04-17 | 2017-11-27 | Electronic systems having serial system bus interfaces and direct memory access controllers and methods of operating the same |
CN201711317419.XA CN108733600B (zh) | 2017-04-17 | 2017-12-12 | 具有直接存储器访问控制器的电子系统及其操作方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170049405A KR102367359B1 (ko) | 2017-04-17 | 2017-04-17 | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180116717A KR20180116717A (ko) | 2018-10-25 |
KR102367359B1 true KR102367359B1 (ko) | 2022-02-25 |
Family
ID=63790633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170049405A KR102367359B1 (ko) | 2017-04-17 | 2017-04-17 | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10860507B2 (ko) |
KR (1) | KR102367359B1 (ko) |
CN (1) | CN108733600B (ko) |
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读写数据系统及方法 |
Family Cites Families (20)
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 |
US7308523B1 (en) * | 2006-04-10 | 2007-12-11 | Pericom Semiconductor Corp. | Flow-splitting and buffering PCI express switch to reduce head-of-line blocking |
JP2008083911A (ja) * | 2006-09-27 | 2008-04-10 | Matsushita Electric Ind Co Ltd | Dma転送制御装置および半導体集積回路装置 |
US8769168B2 (en) * | 2006-10-17 | 2014-07-01 | International Business Machines Corporation | Method for communicating with a network adapter using a queue data structure and cached address translations |
US7590817B2 (en) * | 2006-10-17 | 2009-09-15 | International Business Machines Corporation | Communicating with an I/O device using a queue data structure and pre-translated addresses |
US7657663B2 (en) * | 2006-12-19 | 2010-02-02 | International Business Machines Corporation | Migrating stateless virtual functions from one virtual plane to another |
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 |
WO2015079528A1 (ja) * | 2013-11-28 | 2015-06-04 | 株式会社日立製作所 | 計算機システム及び計算機システムの制御方法 |
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
Also Published As
Publication number | Publication date |
---|---|
US20180300271A1 (en) | 2018-10-18 |
CN108733600A (zh) | 2018-11-02 |
US10860507B2 (en) | 2020-12-08 |
CN108733600B (zh) | 2021-08-13 |
KR20180116717A (ko) | 2018-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102367359B1 (ko) | 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법 | |
US8032686B2 (en) | Protocol translation in a data storage system | |
KR101934519B1 (ko) | 저장 장치 및 그것의 데이터 전송 방법 | |
KR102513920B1 (ko) | 비휘발성 스토리지 시스템 및 비휘발성 스토리지 장치들을 위한 데이터 스토리지 액세스 프로토콜 | |
US7705850B1 (en) | Computer system having increased PCIe bandwidth | |
CN109992543A (zh) | 一种基于zyzq-7000的pci-e数据高效传输方法 | |
TW201822010A (zh) | 資料儲存裝置與資料傳輸速率控制方法 | |
US20180159963A1 (en) | Computer device and method for reading or writing data by computer device | |
CN110688333A (zh) | 一种基于pcie的dma数据传输系统及方法 | |
US9734102B2 (en) | Data transfer | |
CN101937413B (zh) | 一种i2c总线的通信方法 | |
CN113961494B (zh) | 一种pcie总线与axi总线的桥接系统 | |
EP4213030A1 (en) | Method and device for data processing | |
US9678904B2 (en) | PCI express data transmission | |
CN116700604B (zh) | 一种基于sas hba的数据传输方法 | |
CN103838694A (zh) | 一种fpga高速读取usb接口数据的方法 | |
US9910812B2 (en) | Initiating multiple data transactions on a system bus | |
US20160378402A1 (en) | Apparatus, System, and Method of Look-Ahead Address Scheduling and Autonomous Broadcasting Operation to Non-Volatile Storage Memory | |
CN106325377B (zh) | 外部设备扩展卡及输入输出外部设备的数据处理方法 | |
CN114238156A (zh) | 处理系统以及操作处理系统的方法 | |
CN108874685B (zh) | 固态硬盘的数据处理方法以及固态硬盘 | |
CN101976230A (zh) | 通用序列总线传输转译器及输入请求同步传输方法 | |
JP6298030B2 (ja) | 低レイテンシと高スループットのデータ通信を両立するモータ制御装置 | |
WO2016170673A1 (ja) | 計算機システム、及び、メモリモジュール | |
US10025736B1 (en) | Exchange message protocol message transmission between two devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |