KR101706201B1 - 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 - Google Patents
다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 Download PDFInfo
- Publication number
- KR101706201B1 KR101706201B1 KR1020100128379A KR20100128379A KR101706201B1 KR 101706201 B1 KR101706201 B1 KR 101706201B1 KR 1020100128379 A KR1020100128379 A KR 1020100128379A KR 20100128379 A KR20100128379 A KR 20100128379A KR 101706201 B1 KR101706201 B1 KR 101706201B1
- Authority
- KR
- South Korea
- Prior art keywords
- dma
- loop
- memory access
- direct memory
- register
- 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.)
- Expired - Fee Related
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
Description
도 2는 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러를 예시적으로 보여주는 블럭도이다.
도 3은 도 2에 도시된 다이렉트 메모리 액세스(DMA) 컨트롤러의 레지스터 셋 유닛을 예시적으로 보여주는 구성도이다.
도 4는 도 2에 도시된 다이렉트 메모리 액세스(DMA) 컨트롤러의 채널 루프 관리 메모리 장치에 저장되는 데이터를 예시적으로 보여주는 개념도이다.
도 5는 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작을 예시적으로 보여주는 순서도이다.
도 6은 도 5의 다이렉트 메모리 액세스(DMA) 루프 전송 동작을 구체적으로 보여주는 순서도이다.
도 7은 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작을 예시적으로 설명하기 위한 메모리 장치의 블럭 데이터를 보여주는 도면이다.
도 8은 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작을 예시적으로 설명하기 위한 레지스터 셋 유닛의 설정 값을 보여주는 도면이다.
도 9는 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작을 예시적으로 설명하기 위한 채널 루프 관리 메모리 장치의 저장 값을 보여주는 도면이다.
도 10은 본 발명의 실시 예에 따른 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작을 예시적으로 설명하기 위한 레지스터 셋 유닛의 재설정 값을 보여주는 도면이다.
610 : 버스 인터페이스
620 : 레지스터 셋 유닛
630 : 채널 루프 관리 메모리 장치
640 : DMA 전송 제어 로직
650 : DMA 마스터 인터페이스
660 : FIFO 버퍼 메모리 장치
670 : 인터럽트 제어 로직
Claims (13)
- 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 및 채널 루프 관리 메모리 장치를 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법에 있어서:
(a) 상기 제 1 다이렉트 메모리 액세스(DMA) 채널의 전송 정보와 루프 정보를 참조하여 상기 제 1 다이렉트 메모리 액세스(DMA) 채널의 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수행하는 단계;
(b) 상기 제 2 다이렉트 메모리 액세스(DMA) 채널의 전송 정보와 루프 정보를 참조하여 상기 제 2 다이렉트 메모리 액세스(DMA) 채널의 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수행하는 단계;
(c) 전체 채널 루프들의 횟수를 표시하는 전체 채널 루프 횟수 레지스터를 확인하는 단계;
(d) 상기 전체 채널 루프 횟수 레지스터가 하나 이상의 전체 채널 루프들을 표시하는 경우, 상기 채널 루프 관리 메모리 장치의 데이터를 이용하여 상기 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 각각의 상기 전송 정보들과 상기 루프 정보들을 재설정하고, 상기 전체 채널 루프 횟수 레지스터를 업데이트하는 단계; 및
(e) 상기 재설정된 전송 정보들과 상기 재설정된 루프 정보들을 참조하여 상기 (a) 단계 내지 상기 (d) 단계를 다시 수행하는 단계를 포함하되,
상기 (d) 단계는 상기 (a) 단계 및 상기 (b) 단계를 모두 완료한 후에 수행되는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 1 항에 있어서,
상기 (a) 단계와 상기 (b) 단계 각각은,
(f) 상기 전송 정보에 포함된 소스 어드레스와 목적지 어드레스에 따라 다이렉트 메모리 액세스(DMA) 전송 동작을 수행하는 단계;
(g) 상기 소스 어드레스를 상기 루프 정보에 포함된 소스 어드레스 오프셋 값만큼 증가시키고, 상기 목적지 어드레스를 상기 루프 정보에 포함된 목적지 어드레스 오프셋 값만큼 증가시키는 단계; 및
(h) 상기 증가된 소스 어드레스와 상기 증가된 목적지 어드레스에 따라 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수생하는 단계를 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 2 항에 있어서,
상기 (f) 단계 내지 상기 (h) 단계를 상기 루프 정보에 포함된 루프 횟수만큼 반복하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 1 항에 있어서,
상기 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 각각의 상기 전송 정보들과 상기 루프 정보들을 재설정하는 횟수를 설정하는 단계를 더 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 4 항에 있어서,
상기 (c) 단계와 상기 (d) 단계를 상기 재설정 횟수만큼 반복하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 1 항에 있어서,
상기 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 각각의 상기 전송 정보들과 상기 루프 정보들을 설정하는 단계를 더 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 1 항에 있어서,
상기 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 각각의 상기 전송 정보들과 상기 루프 정보들을 재설정하기 위한 데이터를 저장하는 단계를 더 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 제 1 항에 있어서,
상기 (d) 단계는 상기 제 1 및 제 2 다이렉트 메모리 액세스(DMA) 채널 각각의 상기 전송 정보들과 상기 루프 정보들을 초기화하는 단계를 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러의 동작 방법. - 복수의 다이렉트 메모리 액세스(DMA) 채널들의 다이렉트 메모리 액세스(DMA) 전송 동작들을 개별적으로 설정하기 위한 복수의 레지스터 셋들을 포함하는 레지스터 셋 유닛;
전체 채널 루프들의 횟수를 표시하는 전체 채널 루프 횟수 레지스터;
상기 레지스터 셋들을 재설정하기 위한 데이터를 저장하는 채널 루프 관리 메모리 장치; 및
상기 전체 채널 루프 횟수 레지스터가 하나 이상의 전체 채널 루프들을 표시하는 경우, 상기 채널 루프 관리 메모리 장치에 저장된 데이터로 상기 레지스터 셋 유닛을 재설정한 후, 상기 전체 채널 루프 횟수 레지스터의 값에 기초하여 상기 레지스터 셋들에 대응하는 모든 다이렉트 메모리 액세스(DMA) 채널들의 다이렉트 메모리 액세스(DMA) 전송 동작들을 반복적으로 수행하는 다이렉트 메모리 액세스(DMA) 전송 제어 로직을 포함하되,
상기 레지스터 셋 유닛을 재설정한 후 상기 전체 채널 루프 횟수 레지스터는 업데이트되는 다이렉트 메모리 액세스(DMA) 컨트롤러. - 제 9 항에 있어서,
상기 레지스터 셋 유닛은 상기 채널 루프 관리 메모리 장치에 저장된 데이터로 상기 레지스터 셋들을 재설정하는 횟수를 저장하기 위한 레지스터를 포함하되,
상기 다이렉트 메모리 액세스(DMA) 전송 제어 로직은 상기 재설정 횟수만큼 상기 레지스터 셋 유닛을 재설정하는 다이렉트 메모리 액세스(DMA) 컨트롤러. - 제 9 항에 있어서,
상기 레지스터 셋 유닛은,
상기 다이렉트 메모리 액세스(DMA) 채널들 각각의 다이렉트 메모리 액세스(DMA) 전송 동작을 설정하는 정보를 저장하기 위한 기본 레지스터 셋; 및
상기 다이렉트 메모리 액세스(DMA) 채널들 각각의 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수행하기 위한 루프 정보를 저장하기 위한 루프 레지스터 셋을 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러. - 제 11 항에 있어서,
상기 루프 레지스터 셋은,
상기 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수행할지의 여부를 저장하기 위한 루프 설정 레지스터;
루프 횟수를 저장하기 위한 루프 횟수 레지스터;
소스 어드레스를 증가시키기 위한 소스 어드레스 오프셋 값을 저장하기 위한 소스 어드레스 오프셋 레지스터; 및
목적지 어드레스를 증가시키기 위한 목적지 어드레스 오프셋 값을 저장하기 위한 목적지 어드레스 오프셋 레지스터를 포함하는 다이렉트 메모리 액세스(DMA) 컨트롤러. - 제 11 항에 있어서,
상기 다이렉트 메모리 액세스(DMA) 전송 제어 로직은 상기 루프 레지스터 셋의 상기 루프 정보를 참조하여 상기 다이렉트 메모리 액세스(DMA) 채널들 각각의 다이렉트 메모리 액세스(DMA) 전송 동작을 반복적으로 수행하는 다이렉트 메모리 액세스(DMA) 컨트롤러.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100128379A KR101706201B1 (ko) | 2010-12-15 | 2010-12-15 | 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 |
US13/243,470 US8799529B2 (en) | 2010-12-15 | 2011-09-23 | Direct memory access controller and operating method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100128379A KR101706201B1 (ko) | 2010-12-15 | 2010-12-15 | 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120066999A KR20120066999A (ko) | 2012-06-25 |
KR101706201B1 true KR101706201B1 (ko) | 2017-02-15 |
Family
ID=46235930
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100128379A Expired - Fee Related KR101706201B1 (ko) | 2010-12-15 | 2010-12-15 | 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8799529B2 (ko) |
KR (1) | KR101706201B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109542811B (zh) * | 2018-10-15 | 2021-12-07 | 广东宝莱特医用科技股份有限公司 | 一种数据通讯处理方法 |
US12087392B2 (en) | 2021-03-16 | 2024-09-10 | Electronics And Telecommunications Research Institute | Memory interface device |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5748945A (en) * | 1996-05-31 | 1998-05-05 | International Business Machiens Corporation | Method for slave DMA emulation on a computer system bus |
EP1059589B1 (en) * | 1999-06-09 | 2005-03-30 | Texas Instruments Incorporated | Multi-channel DMA with scheduled ports |
US6418489B1 (en) * | 1999-10-25 | 2002-07-09 | Motorola, Inc. | Direct memory access controller and method therefor |
KR20050094989A (ko) | 2004-03-24 | 2005-09-29 | 삼성전자주식회사 | 디엠에이 설정값의 설정방법 및 장치 |
US7698473B2 (en) | 2005-01-05 | 2010-04-13 | Sony Computer Entertainment Inc. | Methods and apparatus for list transfers using DMA transfers in a multi-processor system |
KR20070060854A (ko) | 2005-12-09 | 2007-06-13 | 엠텍비젼 주식회사 | 멀티 채널 직접 메모리 접근 제어기 |
KR101202738B1 (ko) | 2008-12-22 | 2012-11-20 | 한국전자통신연구원 | 멀티 채널 데이터 전송 장치 |
-
2010
- 2010-12-15 KR KR1020100128379A patent/KR101706201B1/ko not_active Expired - Fee Related
-
2011
- 2011-09-23 US US13/243,470 patent/US8799529B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20120159015A1 (en) | 2012-06-21 |
US8799529B2 (en) | 2014-08-05 |
KR20120066999A (ko) | 2012-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9063561B2 (en) | Direct memory access for loopback transfers in a media controller architecture | |
US9684615B1 (en) | Apparatus and methods for multiple-channel direct memory access | |
CN100464318C (zh) | 一种实现高效dma传输的dma控制器及传输方法 | |
US7640374B2 (en) | Data transfer apparatus by direct memory access controller | |
US20080209084A1 (en) | Hardware-Based Concurrent Direct Memory Access (DMA) Engines On Serial Rapid Input/Output SRIO Interface | |
US20030074502A1 (en) | Communication between two embedded processors | |
US9471521B2 (en) | Communication system for interfacing a plurality of transmission circuits with an interconnection network, and corresponding integrated circuit | |
CN112084136A (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
TW201741887A (zh) | 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備 | |
WO2021128776A1 (zh) | 数据处理方法、装置、设备、系统、存储介质和程序产品 | |
KR20120040535A (ko) | 버스 시스템 및 그것의 동작 방법 | |
CN102122256A (zh) | 一种用于进程间通信的管道式通信方法及系统 | |
CN116547644A (zh) | 检测可编程原子事务中的无限循环 | |
EP2214103B1 (en) | I/O controller and descriptor transfer method | |
US7447872B2 (en) | Inter-chip processor control plane communication | |
CN117312201B (zh) | 一种数据传输方法、装置及加速器设备、主机和存储介质 | |
EP3777059B1 (en) | Queue in a network switch | |
EP1891503B1 (en) | Concurrent read response acknowledge enhanced direct memory access unit | |
EP3803610B1 (en) | Direct memory access controller | |
KR101706201B1 (ko) | 다이렉트 메모리 액세스 컨트롤러 및 그것의 동작 방법 | |
US20190286589A1 (en) | Apparatus and method to improve performance in dma transfer of data | |
US9846662B2 (en) | Chained CPP command | |
US9804959B2 (en) | In-flight packet processing | |
US9910812B2 (en) | Initiating multiple data transactions on a system bus | |
CN115955441A (zh) | 一种基于tsn队列的管理调度方法、装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20101215 |
|
PG1501 | Laying open of application | ||
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20150917 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20101215 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20160711 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20170103 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20170207 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20170208 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20200128 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20200128 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20210125 Start annual number: 5 End annual number: 5 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20221118 |