KR20180014689A - 분할 버스트 대역폭 중재를 위한 방법 및 장치 - Google Patents

분할 버스트 대역폭 중재를 위한 방법 및 장치 Download PDF

Info

Publication number
KR20180014689A
KR20180014689A KR1020177031595A KR20177031595A KR20180014689A KR 20180014689 A KR20180014689 A KR 20180014689A KR 1020177031595 A KR1020177031595 A KR 1020177031595A KR 20177031595 A KR20177031595 A KR 20177031595A KR 20180014689 A KR20180014689 A KR 20180014689A
Authority
KR
South Korea
Prior art keywords
channel
data transmissions
programmable
data
arbitration schemes
Prior art date
Application number
KR1020177031595A
Other languages
English (en)
Inventor
신 스티드만
용 유엔용스굴
자코부스 알버투스 반 에덴
데이비드 오텐
나빈 라지
프라샨스 푸리파카
프라산나 수라칸티
Original Assignee
마이크로칩 테크놀로지 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로칩 테크놀로지 인코포레이티드 filed Critical 마이크로칩 테크놀로지 인코포레이티드
Publication of KR20180014689A publication Critical patent/KR20180014689A/ko

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/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
    • G06F13/30Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal with priority control
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
    • G06F13/37Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control using a physical-position-dependent priority, e.g. daisy chain, round robin or token passing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F17/30

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Bus Control (AREA)

Abstract

임베디드 시스템 및 임베디드 시스템을 제어하기 위한 방법이 개시된다. 상기 임베디드 시스템은 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하고, 여기서 복수의 채널 중재 방식들이 프로그램 가능하고, 상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고, 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있다.

Description

분할 버스트 대역폭 중재를 위한 방법 및 장치
관련 출원에 대한 상호 참조
본 출원은, 2015년 6월 1일 출원된 동일 출원인에 의한 미국 가출원 번호 62/169,354 호의 우선이익을 주장하며, 상기 미국 가출원은 모든 목적들을 위해 본 출원에 참조로 통합된다.
기술 분야
본 개시는 특히 직접 메모리 액세스(DMA) 컨트롤러들에서 분할 버스트 대역폭 조정을 위한 방법 및 장치에 관한 것이다.
마이크로컨트롤러들과 같은 많은 임베디드(embedded) 시스템들은 마이크로컨트롤러의 내부 시스템 버스를 통한 효율적이고 빠른 데이터 전송을 가능케 하는 DMA 컨트롤러를 포함한다. 버스, 특히 임베디드 시스템에서의 시스템 버스는 일반적으로 임베디드 시스템의 다양한 구성요소들을 통신 가능케 한다. DMA 컨트롤러들은 종종, 고속의 대용량 데이터 전송들을 제공하는 소위 버스트 동작들을 제공한다. 하지만, 이러한 버스트 동작들은 전체 버스를 차단할 수 있으며, 액세스가 필요한 다른 구성요소들은 버스트 전송이 완료될 때까지 버스에 액세스할 수 없을 것이다. 따라서, 보류중인 트랜잭션들의 요청 및 상태를 고려한 추가 조치가 필요하다.
낮은 우선 순위 에이전트가 버스트 동작에서 장기간(for an extended period of time) 버스를 점유하는 것을 방지할 필요가 있다. 버스트 동작을 트랜잭션들로 분할함으로써 버스 대역폭이 다른 모듈들 간에 공유될 수 있다.
이러한 제어를 위한 임베디드 시스템 및 방법이 개시된다. 임베디드 시스템은 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하고, 여기서 복수의 채널 중재 방식들이 프로그램 가능하고, 상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고, 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있다.
다양한 실시예들에 따르면, 임베디드 시스템이 개시된다. 상기 임베디드 시스템은 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함할 수 있고, 여기서 복수의 채널 중재 방식들이 프로그램 가능하고, 상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고, 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있다.
일부 실시예들에서, 상기 중재 방식들은 라운드-로빈(round-robin) 방식 및 고정 우선순위 방식을 포함한다. 다른 실시예들에서, 상기 중재 방식들은 라운드-로빈 방식 및 할당 가능한 우선순위 방식을 포함한다. 일부 실시예들에서, 블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할될 수 있다.
일부 실시예들에서, 개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함할 수 있다. 이러한 실시예들에서, 상기 프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값이다.
일부 실시예들에서, 개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함할 수 있다. 이러한 실시예들에서, 상기 고정된 개수의 데이터 바이트들은 1 바이트일 수 있다.
다양한 실시예들에서, 임베디드 시스템을 동작시키기 위한 방법이 개시된다. 상기 방법은: 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 동작시키는 것 - 복수의 채널 중재 방식들이 프로그램 가능함 -; 및 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 상기 DMA 컨트롤러를 프로그래밍하는 것을 포함할 수 있고, 여기서 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있다.
상기 방법의 일부 실시예들에서, 상기 중재 방식들은 라운드-로빈 방식 및 고정 우선순위 방식을 포함할 수 있다. 다른 실시예들에서, 상기 중재 방식들은 라운드-로빈 방식 및 할당 가능한 우선순위 방식을 포함할 수 있다.
상기 방법의 일부 실시예들에서, 블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할될 수 있다. 동일한 또는 대안의 실시예들에서, 개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함할 수 있다. 이러한 실시예들에서, 상기 프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값이다.
상기 방법의 일부 실시예들에서, 개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함할 수 있다. 이러한 실시예들에서, 상기 고정된 개수의 데이터 바이트들은 1 바이트일 수 있다.
도 1은 본 개시의 특정 실시예들에 따른, 마이크로컨트롤러의 다양한 주변 디바이스들을 연결하는 내부 시스템 버스와 결합된 중앙 처리 유닛을 포함하는 마이크로컨트롤러와 같은 전형적인 임베디드 시스템을 도시한다.
도 2는 본 개시의 특정 실시예들에 따른, 이 방식에 따른 3개의 채널들의 예시적인 전형적인 데이터 전송을 도시한다.
도 3은 본 개시의 특정 실시예들에 따른, 채널 1에 대한 전송이 다수의 서브-트랜잭션들로 분할된 예를 도시한다.
낮은 우선 순위 에이전트가 버스트 동작에서 장시간 버스를 점유하는 것을 방지할 필요가 있다. 버스트 동작을 트랜잭션들로 분할함으로써 버스 대역폭이 다른 모듈들 간에 공유될 수 있다.
도 1은 본 개시의 특정 실시예들에 따른, 마이크로컨트롤러의 다양한 주변 디바이스들(130-150)을 연결하는 내부 시스템 버스와 결합된 중앙 처리 유닛(CPU)(110)을 포함하는 마이크로컨트롤러와 같은 전형적인 임베디드 시스템(100)을 도시한다. 주변 디바이스들 중 하나는 주변기기들(130, 140 등)과 메모리(160) 사이 또는 메모리(160) 내에서 데이터 전송을 가능케 하는 직접 메모리 액세스 컨트롤러("DMA" 또는 "컨트롤러")(150)일 수 있다. 임베디드 DMA 컨트롤러(150)는 복수의 전송 채널들, 예를 들어 16개의 채널들을 제공하고, 여기서 각각의 채널은 할당 가능한 또는 고정된 채널 우선순위를 가질 수 있거나 또는 컨트롤러(150)는 라운드-로빈(round-robin) 할당을 사용할 수 있다. 각각의 채널 동작은 각자의 신호에 의해 트리거될 수 있다. 여러 개의 선택된 트리거들이 여러 채널에서 동시에 발생하면, DMA 매크로는 라운드-로빈 방식 및 고정된 우선 순위 방식 중 어느 하나의 방식에 근거하여, 서비스를 위한 다음 채널을 선택하도록 설계된다. 두 가지 방식 모두는 일부 실시예들에 따라 다음과 같은 공통적인 특징들을 공유함에 유의한다:
일부 실시예들에서, 각각의 트리거에 대해, 모든 관련 트랜잭션들이 완료되어야 한다. "원-샷" 전송 모드의 경우, 현재 채널이 다음 트리거를 기다리는 동안에 다음 채널이 서비스될 수 있다. "연속" 모드들의 경우, 다음 채널은 현재 채널의 카운터(예를 들면, "CNT[15:0]")가 제로(0)로 감소될 때에만 서비스될 것이다. 동일하거나 대안적인 실시예들에서, 데이터 순서화 문제들을 방지하기 위해서는 또 하나의 채널을 서비스하기 전에 판독 및 기록 트랜잭션 조합들 둘 다를 완료해야 한다.
일부 실시예들에서, 승인 결정은 모든 명령어 사이클마다 평가된다. 이 프로세스는 설정된 계획에 따라 현재 가장 높은 우선순위를 갖는 요청 채널을 결정하는 것으로 시작된다. 그런 다음, 승인된(winning) DMA 채널의 버스 대역폭이 사용 가능한 경우에만 권한이 부여된다. 승인된 DMA 채널에 의해 요청되는 특정 버스의 대역폭이 이용 가능하지 않으면, 프로세스는 다음 명령어 사이클에서 반복된다.
일부 실시예들에서는 "라운드 로빈" 우선순위 방식이 사용될 수 있다. 이러한 방식에서, 우선순위는 (예를 들면) 적어도, 우선 순위 비트가 제어 레지스터에 설정될 때 사용될 수 있다. 예를 들어, 각자의 제어 레지스터의 DMACON.PRIORITY 비트가 로우로 설정되면, 라운드-로빈 우선 순위 방식이 서비스를 위한 다음 DMA 채널을 선택하는데 사용된다. 예를 들면, 상기 방식이 채널 0에서 시작하면, 선택될 다음 채널은 라운드 아래의 가장 낮은 채널 번호를 갖는 채널이다. 예를 들어, 채널들(0, 1 및 2)이 동시에 트리거되면, 채널 0이 먼저 서비스 예약될 것이고, 그런 다음 채널 1 및 채널 2가 각각 서비스된다. 아래의 표 1은 이러한 예시적인 디폴트 설정을 보여준다. 도 2는 본 개시의 특정 실시예들에 따른, 이 방식에 따른 3개의 채널들의 예시적인 전형적인 데이터 전송을 도시한다.
Figure pct00001
하지만 일부 구성들에서는, 채널 0이 그 후 언제든지 다시 트리거되면, 채널 0은 다음 라운드의 시작에서만 먼저 서비스될 것이다. 채널 0이 두 번째 트리거되기 전에 채널 1이 서비스된 후에 다시 트리거되더라도, 채널 1은 두 번째 라운드에서 채널 0 이후에 서비스될 것이다.
일부 실시예들에서, "고정된" 우선 순위 방식이 사용될 수 있다. 이러한 방식에서, 우선 순위는 (예를 들어) 우선 순위 비트가 적어도 제어 레지스터에 설정되어 있을 때 사용될 수 있다. 예를 들어, DMACON.PRIORITY 비트가 각자의 제어 레지스터에서 하이로 설정될 때, 우선 순위 방식은 채널 번호에 따라 고정된다. 예를 들면, 채널 0부터 시작하여, 선택될 다음 채널은 이전에 발생한 것과는 관계없이 채널 우선 순위가 가장 낮은 채널이다. 예를 들어, 채널 0, 1 및 2가 동시에 트리거되면, 채널 0이 먼저 서비스용으로 스케줄될 것이고, 그 다음에 채널 1 및 채널 2가 각각 스케줄된다. 채널 0이 다시 트리거되면, 채널 0은 (하나 이상의 트랜잭션들로 구성된) 현재 반복이 완료되면 서비스되도록 스케줄될 것이다. 아래의 표 2는 이러한 방식에 대한 설정 예를 보여준다.
Figure pct00002
많은 시스템들에서는 다수의 DMA 채널들이 발견된다. 특정 중재 방식들은 전형적으로 고정된 우선 순위들을 사용하고, 도 2에 도시된 바와 같이 인터럽트될 수 없는 버스 액세스가 전형적으로 전체 전송에 대해 허용될 수 있다. 이러한 유형의 방식들은 장기간의 낮은 우선 순위 전송들이 높은 우선 순위 요청들의 서비스를 상당히 지연시키게 한다.
다양한 실시예들에 따르면, 채널 상태가 유지되어 전송들이 인터럽트 가능하게 되고 전송들이 재개 가능하게 된다. 또한, 전송은 가능한 한 많은 중재 기회를 가능케 하는 (예컨대, 바이트 레벨에서) 다수의 서브-트랜잭션들로 나뉜다. 도 3은 본 개시의 특정 실시예들에 따른, 채널 1에 대한 전송이 다수의 서브-트랜잭션들(210a, 210b, 210c, 210d 및 210e)로 분할된 예를 도시한다. 유사하게, 채널 0 상의 전송은 서브-트랜잭션들(200a, 200b 및 200c)로 분할된다. 채널 2 상의 전송은 서브-트랜잭션들(220a 및 220b)로 분할된다. 다양한 중재 방식들이 구현될 수 있으며, 이것들은 전송보다는 트랜잭션마다 적용될 수 있으며, 이로 인해 보다 높은 우선 순위 전송에 의해 낮은 우선 순위의 버스트 전송이 분할될 수 있다. 도 3의 예는 도 2를 참조하여 위에서 설명된 것과 유사한 고정 우선 순위 방식의 참조된 서브-트랜잭션들을 도시한다. 채널 1 및 채널 2가 제 1 시간(t1)에서 전송을 요청한다고 가정하면, 더 높은 우선 순위로 인해 채널 1의 전송이 먼저 시작된다. 그러나, 전송은 인터럽트 가능한 서브-트랜잭션들(210a-e)로 분할될 수 있다. 따라서, 채널 0이 시간(t2)에서 전송을 요청할 때, 채널 0 전송은 인터럽트되고 시간(t3)에서 재개될 것이다. 시간(t4)에서, 채널 2는 전송을 요청하고 어떠한 더 높은 우선 순위 전송도 보류중이지 않기 때문에 승인될 것이다.
다양한 실시예들은 다음과 같은 이점들을 제공한다: 임베디드 시스템들은 다른 컴퓨터들과는 다른 사용 프로파일들을 갖는다. 임베디드 시스템들에서 대기 시간은 처리량 대신에 중요한 시스템 특성일 수 있다. 시스템들은 현재 가능한 것보다 최소 반응 시간 수준(times orders of magnitude)을 충족시킬 수 있을 것이다. 이것은 8-비트 마이크로컨트롤러들을 사용하여 서비스할 수 있는 문제 도메인을 증가시킨다.

Claims (20)

  1. 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하는 임베디드 시스템으로서,
    복수의 채널 중재 방식들이 프로그램 가능하고, 상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고, 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있는, 임베디드 시스템.
  2. 제 1 항에 있어서,
    상기 중재 방식들은 라운드-로빈(round-robin) 방식을 포함하는, 임베디드 시스템.
  3. 제 1 항에 있어서,
    상기 중재 방식들은 고정 우선순위 방식을 포함하는, 임베디드 시스템.
  4. 제 1 항에 있어서,
    상기 중재 방식들은 할당 가능한 우선순위 방식을 포함하는, 임베디드 시스템.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되는, 임베디드 시스템.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함하는, 임베디드 시스템.
  7. 제 5 항에 있어서,
    상기 프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값인, 임베디드 시스템.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하는, 임베디드 시스템.
  9. 제 7 항에 있어서,
    고정된 개수의 데이터 바이트들은 1 바이트인, 임베디드 시스템.
  10. 임베디드 시스템을 동작시키기 위한 방법으로서,
    복수의 채널들을 포함하는 직접 메모리 컨트롤러를 동작시키는 것 - 복수의 채널 중재 방식들이 프로그램 가능함 -; 및
    특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 상기 DMA 컨트롤러를 프로그래밍하는 것을 포함하고,
    특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있는, 방법.
  11. 제 10 항에 있어서,
    상기 중재 방식들은 라운드-로빈 방식을 포함하는, 방법.
  12. 제 10 항에 있어서,
    상기 중재 방식들은 고정 우선순위 방식을 포함하는, 방법.
  13. 제 10 항에 있어서,
    상기 중재 방식들은 할당 가능한 우선순위 방식을 포함하는, 방법.
  14. 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
    블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되는, 방법.
  15. 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
    개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함하는, 방법.
  16. 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
    프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값인, 방법.
  17. 제 10 항 내지 제 16 항 중 어느 한 항에 있어서,
    개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하는, 방법.
  18. 제 17 항에 있어서,
    상기 고정된 개수의 데이터 바이트들은 1 바이트인, 방법.
  19. 임베디드 시스템으로서,
    복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하고,
    복수의 채널 중재 방식들이 프로그램 가능하고,
    상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고,
    특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있고,
    블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되고,
    개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하고,
    상기 중재 방식들은 라운드-로빈 방식과 고정 우선순위 방식을 포함하고, 그리고
    상기 중재 방식들은 라운드-로빈 방식 및 할당 가능한 우선순위 방식을 포함하는, 임베디드 시스템.
  20. 제 19 항에 있어서,
    상기 중재 방식들 중 적어도 하나는 라운드-로빈 방식, 고정 우선순위 방식 및 할당 가능한 우선순위 방식으로 이루어진 그룹으로부터 선택되는, 임베디드 시스템.
KR1020177031595A 2015-06-01 2016-06-01 분할 버스트 대역폭 중재를 위한 방법 및 장치 KR20180014689A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562169354P 2015-06-01 2015-06-01
US62/169,354 2015-06-01
US15/169,352 2016-05-31
US15/169,352 US10318457B2 (en) 2015-06-01 2016-05-31 Method and apparatus for split burst bandwidth arbitration
PCT/US2016/035156 WO2016196549A1 (en) 2015-06-01 2016-06-01 Method and apparatus for split burst bandwidth arbitration

Publications (1)

Publication Number Publication Date
KR20180014689A true KR20180014689A (ko) 2018-02-09

Family

ID=57397562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177031595A KR20180014689A (ko) 2015-06-01 2016-06-01 분할 버스트 대역폭 중재를 위한 방법 및 장치

Country Status (7)

Country Link
US (1) US10318457B2 (ko)
EP (1) EP3304327B1 (ko)
JP (1) JP2018516406A (ko)
KR (1) KR20180014689A (ko)
CN (1) CN107667357B (ko)
TW (1) TW201701161A (ko)
WO (1) WO2016196549A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294233B (zh) * 2015-06-29 2019-05-03 华为技术有限公司 一种直接内存访问的传输控制方法及装置
US10838896B2 (en) * 2018-10-15 2020-11-17 Texas Instruments Incorporated Split direct memory access (DMA)
CN110138553B (zh) * 2019-05-10 2022-08-19 郑州信大捷安信息技术股份有限公司 一种IPSec VPN网关数据包处理装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5371517A (en) * 1991-11-08 1994-12-06 Texas Instruments Incorporated Video interface palette, systems and method
US7752400B1 (en) 2000-12-14 2010-07-06 F5 Networks, Inc. Arbitration and crossbar device and method
JP5040050B2 (ja) * 2001-06-12 2012-10-03 富士通株式会社 複数チャネルdmaコントローラおよびプロセッサシステム
EP1899828B1 (en) * 2005-06-30 2009-11-25 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
JP4470183B2 (ja) * 2006-08-28 2010-06-02 エルピーダメモリ株式会社 半導体記憶装置
CN101150486A (zh) * 2007-11-15 2008-03-26 曙光信息产业(北京)有限公司 一种零拷贝缓冲区队列网络数据接收的管理方法
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
JP2010054989A (ja) * 2008-08-29 2010-03-11 Mitsubishi Electric Corp 階調制御方法および表示装置
US8812898B1 (en) * 2012-09-27 2014-08-19 Cadence Design Systems, Inc. System and method for transfer of data between memory with dynamic error recovery
US8880756B1 (en) 2013-07-01 2014-11-04 Atmel Corporation Direct memory access controller
CN104536921A (zh) * 2015-01-19 2015-04-22 浪潮电子信息产业股份有限公司 一种edma控制器分离式并行数据通道的设计方法

Also Published As

Publication number Publication date
CN107667357B (zh) 2021-05-25
EP3304327B1 (en) 2020-01-08
CN107667357A (zh) 2018-02-06
US10318457B2 (en) 2019-06-11
US20160350246A1 (en) 2016-12-01
EP3304327A1 (en) 2018-04-11
WO2016196549A1 (en) 2016-12-08
TW201701161A (zh) 2017-01-01
JP2018516406A (ja) 2018-06-21

Similar Documents

Publication Publication Date Title
US6804738B2 (en) Method and apparatus for scheduling a resource to meet quality-of-service restrictions
US7350004B2 (en) Resource management device
US7684431B1 (en) System and method for arbitration in a packet switch
US20120042105A1 (en) Bus arbitration apparatus
US5862353A (en) Systems and methods for dynamically controlling a bus
US5572686A (en) Bus arbitration scheme with priority switching and timer
US8259576B2 (en) Method and apparatus for performing interrupt coalescing
US8095700B2 (en) Controller and method for statistical allocation of multichannel direct memory access bandwidth
US7213084B2 (en) System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
US20050138621A1 (en) Method of resource allocation using an access control mechanism
US7380040B2 (en) Software programmable dynamic arbitration scheme
KR20180062915A (ko) 반도체 장치
KR20180014689A (ko) 분할 버스트 대역폭 중재를 위한 방법 및 장치
WO2003040936A1 (en) System and method for managing priorities in a pci bus system
EP2625619B1 (en) Arbitrating stream transactions based on information related to the stream transaction(s)
CN110391960B (zh) 总线传输控制装置及方法
US7054970B2 (en) Bus arbiter for integrated circuit systems
EP2290552A1 (en) Data transfer device, information processing device, and control method
US20080065802A1 (en) Resource management device
JP2006259842A (ja) データ転送処理装置
KR20090128851A (ko) 버스 중재 방법 및 장치
JP2003006139A (ja) Dma転送装置
JP2006201832A (ja) データ転送処理装置
KR20030012049A (ko) 아비터의 액세스 제어 방법 및 장치