KR20180014689A - 분할 버스트 대역폭 중재를 위한 방법 및 장치 - Google Patents
분할 버스트 대역폭 중재를 위한 방법 및 장치 Download PDFInfo
- 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
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/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
- G06F13/30—Handling 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
-
- 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/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/368—Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control
- G06F13/37—Handling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information 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에 대한 전송이 다수의 서브-트랜잭션들로 분할된 예를 도시한다.
도 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개의 채널들의 예시적인 전형적인 데이터 전송을 도시한다.
하지만 일부 구성들에서는, 채널 0이 그 후 언제든지 다시 트리거되면, 채널 0은 다음 라운드의 시작에서만 먼저 서비스될 것이다. 채널 0이 두 번째 트리거되기 전에 채널 1이 서비스된 후에 다시 트리거되더라도, 채널 1은 두 번째 라운드에서 채널 0 이후에 서비스될 것이다.
일부 실시예들에서, "고정된" 우선 순위 방식이 사용될 수 있다. 이러한 방식에서, 우선 순위는 (예를 들어) 우선 순위 비트가 적어도 제어 레지스터에 설정되어 있을 때 사용될 수 있다. 예를 들어, DMACON.PRIORITY 비트가 각자의 제어 레지스터에서 하이로 설정될 때, 우선 순위 방식은 채널 번호에 따라 고정된다. 예를 들면, 채널 0부터 시작하여, 선택될 다음 채널은 이전에 발생한 것과는 관계없이 채널 우선 순위가 가장 낮은 채널이다. 예를 들어, 채널 0, 1 및 2가 동시에 트리거되면, 채널 0이 먼저 서비스용으로 스케줄될 것이고, 그 다음에 채널 1 및 채널 2가 각각 스케줄된다. 채널 0이 다시 트리거되면, 채널 0은 (하나 이상의 트랜잭션들로 구성된) 현재 반복이 완료되면 서비스되도록 스케줄될 것이다. 아래의 표 2는 이러한 방식에 대한 설정 예를 보여준다.
많은 시스템들에서는 다수의 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)
- 복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하는 임베디드 시스템으로서,
복수의 채널 중재 방식들이 프로그램 가능하고, 상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고, 특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있는, 임베디드 시스템. - 제 1 항에 있어서,
상기 중재 방식들은 라운드-로빈(round-robin) 방식을 포함하는, 임베디드 시스템. - 제 1 항에 있어서,
상기 중재 방식들은 고정 우선순위 방식을 포함하는, 임베디드 시스템. - 제 1 항에 있어서,
상기 중재 방식들은 할당 가능한 우선순위 방식을 포함하는, 임베디드 시스템. - 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되는, 임베디드 시스템. - 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함하는, 임베디드 시스템. - 제 5 항에 있어서,
상기 프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값인, 임베디드 시스템. - 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하는, 임베디드 시스템. - 제 7 항에 있어서,
고정된 개수의 데이터 바이트들은 1 바이트인, 임베디드 시스템. - 임베디드 시스템을 동작시키기 위한 방법으로서,
복수의 채널들을 포함하는 직접 메모리 컨트롤러를 동작시키는 것 - 복수의 채널 중재 방식들이 프로그램 가능함 -; 및
특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 상기 DMA 컨트롤러를 프로그래밍하는 것을 포함하고,
특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있는, 방법. - 제 10 항에 있어서,
상기 중재 방식들은 라운드-로빈 방식을 포함하는, 방법. - 제 10 항에 있어서,
상기 중재 방식들은 고정 우선순위 방식을 포함하는, 방법. - 제 10 항에 있어서,
상기 중재 방식들은 할당 가능한 우선순위 방식을 포함하는, 방법. - 제 10 항 내지 제 13 항 중 어느 한 항에 있어서,
블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되는, 방법. - 제 10 항 내지 제 14 항 중 어느 한 항에 있어서,
개별 데이터 전송들은 프로그램 가능한 최대 데이터 바이트들을 포함하는, 방법. - 제 10 항 내지 제 15 항 중 어느 한 항에 있어서,
프로그램 가능한 최대의 값은 제어 레지스터에 저장된 값인, 방법. - 제 10 항 내지 제 16 항 중 어느 한 항에 있어서,
개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하는, 방법. - 제 17 항에 있어서,
상기 고정된 개수의 데이터 바이트들은 1 바이트인, 방법. - 임베디드 시스템으로서,
복수의 채널들을 포함하는 직접 메모리 컨트롤러를 포함하고,
복수의 채널 중재 방식들이 프로그램 가능하고,
상기 DMA 컨트롤러는 특정 채널 상의 블록 데이터 전송을 복수의 개별 데이터 전송들로 분할하도록 프로그램 가능하고,
특정 채널 상의 데이터 전송은 상기 데이터 전송의 개별 데이터 전송들 사이에서 인터럽트될 수 있고,
블록 데이터 전송은 제어 레지스터 내의 비트 설정시 상기 복수의 개별 데이터 전송들로 분할되고,
개별 데이터 전송들은 고정된 개수의 데이터 바이트들을 포함하고,
상기 중재 방식들은 라운드-로빈 방식과 고정 우선순위 방식을 포함하고, 그리고
상기 중재 방식들은 라운드-로빈 방식 및 할당 가능한 우선순위 방식을 포함하는, 임베디드 시스템. - 제 19 항에 있어서,
상기 중재 방식들 중 적어도 하나는 라운드-로빈 방식, 고정 우선순위 방식 및 할당 가능한 우선순위 방식으로 이루어진 그룹으로부터 선택되는, 임베디드 시스템.
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)
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)
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控制器分离式并行数据通道的设计方法 |
-
2016
- 2016-05-31 US US15/169,352 patent/US10318457B2/en active Active
- 2016-06-01 EP EP16728540.2A patent/EP3304327B1/en active Active
- 2016-06-01 WO PCT/US2016/035156 patent/WO2016196549A1/en active Application Filing
- 2016-06-01 KR KR1020177031595A patent/KR20180014689A/ko unknown
- 2016-06-01 JP JP2017561329A patent/JP2018516406A/ja active Pending
- 2016-06-01 CN CN201680029623.9A patent/CN107667357B/zh active Active
- 2016-06-01 TW TW105117243A patent/TW201701161A/zh unknown
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) | 아비터의 액세스 제어 방법 및 장치 |