DE60019148T2 - Dma-deskriptor-architektur mit verknüpfter liste - Google Patents
Dma-deskriptor-architektur mit verknüpfter liste Download PDFInfo
- Publication number
- DE60019148T2 DE60019148T2 DE60019148T DE60019148T DE60019148T2 DE 60019148 T2 DE60019148 T2 DE 60019148T2 DE 60019148 T DE60019148 T DE 60019148T DE 60019148 T DE60019148 T DE 60019148T DE 60019148 T2 DE60019148 T2 DE 60019148T2
- Authority
- DE
- Germany
- Prior art keywords
- descriptor
- dma
- address
- data
- dma descriptor
- 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 - Lifetime
Links
- 238000000034 method Methods 0.000 claims description 7
- 239000002131 composite material Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 1
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)
Description
- Technisches Gebiet
- Die vorliegende Erfindung betrifft allgemein Computersysteme und insbesondere DMA-Steuerungen.
- Allgemeiner Stand der Technik
- In den frühen Tagen der Computer wurden Daten durch eine zentrale Verarbeitungseinheit (CPU) in und aus dem Speicher verlagert. Mit zunehmenden Datentransferraten für Massenspeichergeräte wie zum Beispiel Festplatten oder CD-ROMs war die CPU jedoch zu langsam, um den Datentransfer abzuwickeln, und ihre Verwendung verhinderte, daß die CPU andere Aufgaben durchführte. Folglich enthalten die meisten Computer nunmehr DMA-Steuerungen (Direct Memory Access) zum Verlagern von Daten in und aus einem Speicher. Eine DMA arbeitet durch Übernehmen der Kontrolle über einen Adress- und Datenbus, um entweder Daten aus einem Speicher zu lesen oder Daten in einen Speicher zu schreiben. Um Daten zu verlagern gibt eine CPU der DMA-Steuerung eine Adresse eines DMA-Deskriptors. Der Deskriptor ist eine Menge von Daten, die bestimmte vordefinierte Informationen enthält, darunter die Größe eines zu verlagernden Datenblocks sowie ein Zeiger mit der Adresse des Datenblocks im Speicher.
- In der Vergangenheit enthielt jeder Deskriptor nur einen oder genau zwei Datenzeiger. Jedesmal, wenn die DMA-Steuerung einen Datenblock verlagern sollte, mußte ein neuer Deskriptor gelesen werden, wodurch die Rate verringert wird, mit der Daten verlagert werden konnten. Eine solche DMA-Steuerung ist aus US-A-5713044 bekannt. Um die Datentransferraten zu beschleunigen, wird ein Verfahren benötigt, das die Anzahl der Deskriptoren verringert, die eine DMA-Steuerung lesen muß, um Daten zu verlagern.
- Kurze Darstellung der Erfindung
- Um die Rate zu erhöhen, mit der Daten durch eine DMA-Steuerung transferiert werden können, enthält ein Deskriptor eine Adresse eines nachfolgenden Deskriptors und auch eine Anzeige einer variablen Anzahl von Datenzeigern, die in dem nachfolgenden Deskriptor enthalten sind. Die Anzahl von Zeigern in dem nachfolgenden Deskriptor wird in der DMA-Steuerung gespeichert. Nachdem ein nachfolgender Deskriptor gelesen wurde, steuert die gespeicherte Anzahl von Zeigern eine Anzahl von durch die DMA-Steuerung durchgeführten Lesezyklen.
- Bei einer zur Zeit bevorzugten Ausführungsform der Erfindung werden die Deskriptoren in einem ausgerichteten 32-Bit-Speicher gespeichert. Die letzten beiden Adressenbit der Deskriptoradresse werden nicht benötigt und werden deshalb zum Speichern der Anzahl von Zeigern in dem nächsten Deskriptor verwendet.
- Eine erfindungsgemäße DMA-Steuerung enthält einen Zähler, der eine Anzahl von Datenzeigern in einem nachfolgenden Deskriptor speichert. Nach dem Lesen des Deskriptors steuert der Zähler eine Anzahl von Lesezyklen, die durch die DMA-Steuerung durchgeführt werden, wenn an dem nächsten Deskriptor operiert wird.
- Kurze Beschreibung der Zeichnungen
- Die obigen Aspekte und viele der einhergehenden Vorteile der vorliegenden Erfindung werden ohne weiteres erkennbar, wenn diese durch Bezug auf die folgende ausführliche Beschreibung in Verbindung mit den beigefügten Zeichnungen besser verständlich wird. Es zeigen:
-
1 einen Verbundlisten-DMA-Deskriptor gemäß der vorliegenden Erfindung; -
2 , wie jeder DMA-Deskriptor eine Anzeige einer Anzahl von in einem nachfolgenden Deskriptor gespeicherten Datenzeigern enthält; und -
3 wie eine DMA-Steuerung gemäß der vorliegenden Erfindung einen Zähler zum Speichern einer Anzahl von in einem nachfolgenden Deskriptor enthaltenen Datenzeigern enthält. - Ausführliche Beschreibung der bevorzugten Ausführungsform
- Die vorliegende Erfindung ist ein Verfahren zum Erhöhen der Rate von durch eine DMA-Steuerung (Direct Memory Access) durchgeführten Speichertransfers durch Aufnehmen einer Anzeige einer variablen Anzahl von in einem nachfolgenden Deskriptor enthaltenden Datenzeigern.
-
1 zeigt einen Verbundlisten-DMA-Deskriptor10 gemäß einer Ausführungsform der vorliegenden Erfindung. Bei der zur Zeit bevorzugten Ausführungsform der Erfindung wird der Deskriptor im Speicher als eine Reihe von 32-Bit-Worten gespeichert. Das erste Wort12 des Deskriptors10 enthält die Adresse eines nächsten durch die DMA-Steuerung zu lesenden Deskriptors. Ein zweites Wort14 enthält herkömmliche Daten, die von der DMA-Steuerung benötigt werden, um die Daten zu verlagern, darunter ein Paar Byte15 , die die Größe eines zu verlagernden Datenblocks speichern. Das dritte Wort16 des Deskriptors10 enthält eine 32-Bit-Adresse des zu verlagernden Datenblocks. - Im Gegensatz zum Stand der Technik, in dem die Beschreibung einen Zeiger auf einen oder genau zwei Datenblöcke enthielt, kann der Deskriptor
10 bis zu vier Datenzeiger auf Datenblöcke, die durch die DMA-Steuerung verlagert werden sollen, enthalten. Da der Deskriptor10 aus einer Reihe von 32-Bit-Worten in ausgerichtetem Speicher gespeichert wird, sind die letzten beiden Bit der 32-Bit-Adresse des nächsten Deskriptors immer 00. Deshalb werden diese letzten beiden Bit18 vorzugsweise zum Speichern der Anzahl von in einem nachfolgenden Deskriptor enthaltenen Datenzeigern verwendet. Wenn der Deskriptor der letzte Deskriptor in einer Liste von Deskriptoren ist, wird der nächste Deskriptorzeiger auf einen bestimmten vordefinierten Wert gesetzt, der von der DMA-Steuerung erkannt werden kann, wie zum Beispiel das Null-Zeichen (d.h. nur Nullen) oder ein bestimmter anderer ohne weiteres erkennbarer Code. -
2 zeigt eine Verbundliste von DMA-Deskriptoren gemäß einer Ausführungsform der vorliegenden Erfindung. Als erstes 32-Bit-Wort22 ist in einem ersten Deskriptor20 die Adresse eines zweiten DMA-Deskriptors30 gespeichert. Wie bereits erwähnt, speichern die letzten beiden Bit des 32-Bit-Worts22 die Anzahl der in dem nächsten DMA-Deskriptor30 enthaltenen Datenzeiger. In dem gezeigten Beispiel enthalten die letzten beiden Bit des Worts22 den Wert 01, wodurch angezeigt wird, daß der nachfolgende DMA-Deskriptor30 zwei Datenzeiger enthält. Das zweite 32-Bit-Wort24 des ersten DMA-Deskriptors20 enthält bestimmte Standardinformationen, die von der DMA- Steuerung benötigt werden, sowie eine Anzeige der Größe des zu verlagernden Datenblocks. In dem gezeigten Beispiel geben die beiden letzten Byte des 32-Bit-Worts24 an, daß der zu verlagernde Datenblock 256 Byte aufweist. Das dritte 32-Bit-Wort26 des ersten Deskriptors20 enthält einen Zeiger auf den zu verlagernden 256-Byte-Datenblock. - Das erste 32-Bit-Wort
32 des zweiten DMA-Deskriptors30 weist ursprünglich als die Adresse eines nachfolgenden Deskriptors gespeichert das Null-Zeichen auf, wodurch angezeigt wird, daß der zweite DMA-Deskriptor30 der letzte Deskriptor in der Liste ist. Der zweite DMA-Deskriptor30 enthält zwei Datenzeiger, die zwei zu verlagernde Datenblöcke referenzieren. Zwei 32-Bit-Wörter34 und36 speichern die Länge (d.h. 256 Byte) eines ersten Datenblocks und seine Adresse, während ein zweites Paar 32-Bit-Wörter38 und40 einen zweiten 32-Byte-Datenblock und seine Adresse referenzieren. - Um einen nachfolgenden DMA-Deskriptor zu der Verbundliste von Deskriptoren hinzuzufügen, wird die Adresse des nächsten Deskriptors in dem ersten 32-Bit-Wort
32 des vorherigen DMA-Deskriptors30 gespeichert. In dem gezeigten Beispiel wird das als das erste 32-Bit-Wort32 gespeicherte Null-Zeichen mit der Adresse eines nachfolgenden DMA-Deskriptors44 überschrieben. Wieder enthalten die letzten beiden Bit der Adresse die Anzahl der Datenzeiger in dem nachfolgenden DMA-Deskriptor44 . In dem gezeigten Beispiel sind die letzten beiden Bit00 , wodurch angezeigt wird, daß der nachfolgende DMA-Deskriptor44 nur einen Datenzeiger enthält. - Die durch die DMA-Deskriptoren
20 ,30 und44 gebildete Verbundliste kann unabhängig von der Funktionsweise einer DMA-Steuerung aktualisiert werden. Für Fachleute ist erkennbar, daß die DMA-Steuerung ein Register für die nächste Deskriptoradresse enthält, indem die Adresse des nächsten Deskriptors durch die CPU gespeichert wird. Um einen DMA-Deskriptor zu einer Verbundliste von DMA-Deskriptoren hinzuzufügen, wird der nächste Adressenraum des letzten DMA-Deskriptors in der Liste so aktualisiert, daß die Adresse des neuen Deskriptors widergespiegelt wird. Zusätzlich wird das Register für die nächste Deskriptoradresse in der DMA-Steuerung aktualisiert, um die Adresse des neuen Deskriptors widerzuspiegeln. Wie bereits erwähnt, enthalten die letzten beiden Bit der nächsten DMA-Deskriptoradresse die Anzahl Datenzeiger, die in dem neuen DMA-Deskriptor enthalten sind, der zu der Liste hinzugefügt wird. - Beim Hinzufügen eines neuen DMA-Deskriptors zu einer Liste gibt es drei mögliche Zustände der DMA-Steuerung. Erstens ist es möglich, daß die DMA-Steuerung noch nicht begonnen hat, an dem letzten Deskriptor in der Liste von Deskriptoren zu operieren. Wenn das Adressenfeld des nächsten DMA-Deskriptors für den letzten Deskriptor in der Liste modifiziert wird, bevor die DMA-Steuerung beginnt, an dem zuvor letzten Deskriptor zu operieren, erkennt sie deshalb, daß die nächste Adresse nicht Null ist und weiß, daß ein weiterer DMA-Deskriptor zu verarbeiten ist. Zusätzlich zu dem Aktualisieren des Adressenfeldes des nächsten Deskriptors des zuvor letzten Deskriptors schreibt eine CPU außerdem die Adresse des neuen DMA-Deskriptors in das Register für die Adresse des nächsten Deskriptors der DMA-Steuerung. Wenn die DMA-Steuerung bereits das nächste Adressenfeld des letzten Deskriptors gelesen hat (das auf Null gesetzt wurde), erkennt die DMA-Steuerung immer noch den neuen Deskriptor durch Lesen des Registers für die Adresse des nächsten Deskriptors nach dem Abwickeln aller in dem letzten verarbeiteten Deskriptor enthaltenden Datenzei ger. Wenn die DMA-Steuerung mit dem Abwickeln der in dem zuvor letzten Deskriptor enthaltenen Datenzeiger fertig ist, tritt sie in einen gestoppten Zustand ein, bis die Adresse des neuen DMA-Deskriptors und die Anzahl von in dem Deskriptor enthaltenden Datenzeigern in das Adressenregister des nächsten Deskriptors der DMA-Steuerung geschrieben wurde.
-
3 zeigt ein Blockschaltbild, das die zusätzliche Funktionalität darstellt, die gemäß einer Ausführungsform der vorliegenden Erfindung zu einer DMA-Steuerung hinzugefügt wird. Die DMA-Steuerung50 ist auf dieselbe Weise wie herkömmliche DMA-Steuerungen konstruiert, mit der Ausnahme, daß die DMA-Steuerung50 einen Zähler52 enthält, der die Anzahl der Zeiger in einem nachfolgenden DMA-Deskriptor speichert, die aus den letzten beiden Bit der nächsten Deskriptoradresse bestimmt wird. Die in dem Zähler52 gespeicherte Anzahl von Zeigern steuert die Anzahl der Lesezyklen, die durch die DMA-Steuerung durchgeführt werden, wenn der nächste DMA-Deskriptor verarbeitet wird. Das heißt, nach dem Verarbeiten des nächsten DMA-Deskriptors, der in dem Adressregister54 des nächsten Deskriptors referenziert wird, bewirkt die DMA-Steuerung, daß eine Anzahl von Wörtern aus dem Speicher gelesen wird, wobei die Anzahl von Wörtern von der in dem Zähler52 gespeicherten Anzahl von Zeigern abhängt. wenn zum Beispiel die für jeden Datenzeiger gespeicherten Informationen zwei Datenwörter erfordern und das Register50 anzeigt, daß in einem nachfolgenden DMA-Deskriptor zwei Datenzeiger vorliegen, dann bewirkt die DMA-Steuerung zuerst, daß fünf Datenwörter aus dem Speicher gelesen werden; ein Wort für die Adresse des nächsten DMA-Deskriptors und zwei weitere für jeden der beiden in dem nächsten DMA-Deskriptor enthaltenden Datenzeiger. - Aus dem obigen geht hervor, daß die vorliegende Erfindung ein Verfahren zum Verringern des mit DMA-Steuerungen assoziierten Overheads ist. Obwohl die bevorzugte Ausführungsform der Erfindung zuvor unbenutzte Bit des Adressenfeldes des nächsten Deskriptors zum Speichern einer Referenz auf eine variable Anzahl von Zeigern verwendet, versteht sich, daß die Referenz auch an anderen Stellen in dem Deskriptor plaziert werden könnte. Die Verwendung der zuvor unbenutzten Bit der Adresse des nächsten DMA-Deskriptors wird jedoch bevorzugt, weil nur ein einziger Schreibzyklus in die DMA erforderlich ist, um der DMA die nächste Adresse und die Anzahl von Zeigern zuzuführen.
Claims (5)
- Verfahren zum Verlagern von Speicherblöcken mit einer DMA-Steuerung (
50 ), wobei – einer DMA-Steuerung (50 ) eine Adresse eines ersten DMA-Deskriptors (20 ) zugeführt wird, die einen durch die DMA-Steuerung (50 ) zu verlagernden Speicherblock (26 ) angibt, wobei der erste DMA-Deskriptor (20 ) eine Adresse eines nachfolgenden DMA-Deskriptors enthält, und – die Adresse (26 ) des nachfolgenden DMA-Deskriptors (30 ) gelesen wird, dadurch gekennzeichnet, daß der erste DMA-Deskriptor (20 ) eine Angabe (22 ) einer variablen Anzahl von in dem nachfolgenden DMA-Deskriptor (30 ) enthaltenden Datenzeigern (36 ,40 ) enthält und eine Anzahl von Lesezyklen durchgeführt wird, die von der angegebenen Anzahl (22 ) der Datenzeiger (36 ,40 ) abhängt. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß die Angabe (
22 ) der Anzahl von Datenzeigern (36 ,40 ) in dem nachfolgenden DMA-Deskriptor (30 ) durch Codieren der Anzahl von Datenzeigern (36 ,40 ) in ungenutzten Bits (22 ) der Adresse des nachfolgenden DMA-Deskriptors (30 ) bereitgestellt wird. - Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die variable Anzahl von Datenzeigern (
36 ,40 ) von der DMA-Steuerung (50 ) gelesen wird, um die Anzahl von Lesezyklen zu bestimmen, die die DMA-Steuerung (50 ) durchführt. - Verfahren nach Anspruch 1 bis 3, dadurch gekennzeichnet, daß bis zu vier Datenzeiger (
36 ,40 , ...) in dem nachfolgenden DMA-Deskriptor (30 ) enthalten sind. - DMA-Steuerung (
50 ) des Typs, der Daten in und aus einem Speicher in einem Computersystem verlagert, gekennzeichnet durch einen Zähler (52 ), der eine Zahl (22 ) speichert, die eine Anzahl von Datenzeigern (36 ,40 ) angibt, die in einem variablen DMA-Deskriptor (30 ) enthalten sind, um durch die DMA-Steuerung (50 ) verarbeitet zu werden, wobei der Zähler (52 ) eine Anzahl von Speicherlesezyklen steuert, die von der DMA-Steuerung (50 ) durchgeführt werden, wenn der DMA-Deskriptor (30 ) verarbeitet wird.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US421745 | 1999-10-20 | ||
US09/421,745 US6782465B1 (en) | 1999-10-20 | 1999-10-20 | Linked list DMA descriptor architecture |
PCT/US2000/029287 WO2001029656A2 (en) | 1999-10-20 | 2000-10-20 | Linked list dma descriptor architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60019148D1 DE60019148D1 (de) | 2005-05-04 |
DE60019148T2 true DE60019148T2 (de) | 2006-03-23 |
Family
ID=23671865
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10048072A Withdrawn DE10048072A1 (de) | 1999-10-20 | 2000-09-28 | Linklisten-DMA-Descriptor-Architektur |
DE60019148T Expired - Lifetime DE60019148T2 (de) | 1999-10-20 | 2000-10-20 | Dma-deskriptor-architektur mit verknüpfter liste |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10048072A Withdrawn DE10048072A1 (de) | 1999-10-20 | 2000-09-28 | Linklisten-DMA-Descriptor-Architektur |
Country Status (7)
Country | Link |
---|---|
US (1) | US6782465B1 (de) |
EP (1) | EP1224538B1 (de) |
JP (1) | JP3878851B2 (de) |
CN (1) | CN1203420C (de) |
DE (2) | DE10048072A1 (de) |
GB (1) | GB2361786A (de) |
WO (1) | WO2001029656A2 (de) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842457B1 (en) * | 1999-05-21 | 2005-01-11 | Broadcom Corporation | Flexible DMA descriptor support |
WO2001013590A1 (en) * | 1999-08-17 | 2001-02-22 | Conexant Systems, Inc. | Integrated circuit with a core processor and a co-processor to provide traffic stream processing |
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
US20020103942A1 (en) * | 2000-06-02 | 2002-08-01 | Guillaume Comeau | Wireless java device |
US6874039B2 (en) | 2000-09-08 | 2005-03-29 | Intel Corporation | Method and apparatus for distributed direct memory access for systems on chip |
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US6718405B2 (en) * | 2001-09-20 | 2004-04-06 | Lsi Logic Corporation | Hardware chain pull |
DE10163310B4 (de) * | 2001-12-21 | 2005-12-15 | Infineon Technologies Ag | Verfahren und Router zur Multiprotokoll-Übertragung |
US7389364B2 (en) * | 2003-07-22 | 2008-06-17 | Micron Technology, Inc. | Apparatus and method for direct memory access in a hub-based memory system |
US7210059B2 (en) | 2003-08-19 | 2007-04-24 | Micron Technology, Inc. | System and method for on-board diagnostics of memory modules |
US7310752B2 (en) | 2003-09-12 | 2007-12-18 | Micron Technology, Inc. | System and method for on-board timing margin testing of memory modules |
US7194593B2 (en) | 2003-09-18 | 2007-03-20 | Micron Technology, Inc. | Memory hub with integrated non-volatile memory |
DE10347762B4 (de) * | 2003-10-14 | 2007-05-03 | Infineon Technologies Ag | Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung |
US20050080945A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Transferring message packets from data continued in disparate areas of source memory via preloading |
US7120743B2 (en) | 2003-10-20 | 2006-10-10 | Micron Technology, Inc. | Arbitration system and method for memory responses in a hub-based memory system |
US7216196B2 (en) * | 2003-12-29 | 2007-05-08 | Micron Technology, Inc. | Memory hub and method for memory system performance monitoring |
US7293121B2 (en) * | 2004-02-25 | 2007-11-06 | Analog Devices, Inc. | DMA controller utilizing flexible DMA descriptors |
JP2005293427A (ja) * | 2004-04-02 | 2005-10-20 | Matsushita Electric Ind Co Ltd | データ転送処理装置及びデータ転送処理方法 |
US7310748B2 (en) | 2004-06-04 | 2007-12-18 | Micron Technology, Inc. | Memory hub tester interface and method for use thereof |
EP1647894A3 (de) * | 2004-10-12 | 2007-11-21 | NEC Electronics Corporation | Informationsverarbeitungsgerät mit parallelen DMA-Prozessen |
CN100356356C (zh) * | 2004-12-24 | 2007-12-19 | 华为技术有限公司 | 采用直接存储器访问方式进行数据传送的方法 |
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 |
JP2007034392A (ja) * | 2005-07-22 | 2007-02-08 | Nec Electronics Corp | 情報処理装置及びデータ処理方法 |
US7516257B2 (en) * | 2005-09-27 | 2009-04-07 | Intel Corporation | Mechanism to handle uncorrectable write data errors |
US7415549B2 (en) * | 2005-09-27 | 2008-08-19 | Intel Corporation | DMA completion processing mechanism |
US7676192B1 (en) * | 2005-12-21 | 2010-03-09 | Radio Shack, Corp. | Radio scanner programmed from frequency database and method |
US7603490B2 (en) * | 2007-01-10 | 2009-10-13 | International Business Machines Corporation | Barrier and interrupt mechanism for high latency and out of order DMA device |
US7835391B2 (en) | 2007-03-07 | 2010-11-16 | Texas Instruments Incorporated | Protocol DMA engine |
US9396159B2 (en) * | 2007-09-25 | 2016-07-19 | Oracle America, Inc. | Simple, reliable, connectionless communication mechanism |
US20090083392A1 (en) * | 2007-09-25 | 2009-03-26 | Sun Microsystems, Inc. | Simple, efficient rdma mechanism |
US8332546B2 (en) | 2010-07-20 | 2012-12-11 | Lsi Corporation | Fully asynchronous direct memory access controller and processor work |
TWI465905B (zh) | 2010-09-22 | 2014-12-21 | Toshiba Kk | 記憶體系統、主機控制器、及直接記憶體存取之控制方法 |
US20140317333A1 (en) * | 2013-04-17 | 2014-10-23 | Microchip Technology Incorporated | Direct Memory Access Controller with Hybrid Scatter-Gather Functionality |
CN104850517B (zh) * | 2015-05-20 | 2018-01-12 | 新华三技术有限公司 | 一种dma传输报文数据的方法及装置 |
US20170147517A1 (en) * | 2015-11-23 | 2017-05-25 | Mediatek Inc. | Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method |
CN106547709B (zh) * | 2016-11-24 | 2019-05-21 | 盛科网络(苏州)有限公司 | 灵活配置多通道dma控制器的方法及装置 |
US10872290B2 (en) * | 2017-09-21 | 2020-12-22 | Raytheon Company | Neural network processor with direct memory access and hardware acceleration circuits |
JP6992616B2 (ja) * | 2018-03-13 | 2022-01-13 | 日本電気株式会社 | データ転送装置、データ転送方法、プログラム |
FR3084179A1 (fr) * | 2018-07-19 | 2020-01-24 | Stmicroelectronics (Grenoble 2) Sas | Acces direct en memoire |
EP3598315B1 (de) | 2018-07-19 | 2022-12-28 | STMicroelectronics (Grenoble 2) SAS | Direkter speicherzugang |
CN114328316B (zh) * | 2021-11-22 | 2024-01-26 | 北京智芯微电子科技有限公司 | Dma控制器、soc系统及基于dma控制器的数据搬运方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01237864A (ja) | 1988-03-18 | 1989-09-22 | Fujitsu Ltd | Dma転送制御装置 |
JPH01293431A (ja) | 1988-05-23 | 1989-11-27 | Toshiba Corp | メモリアクセス方式 |
US5251303A (en) | 1989-01-13 | 1993-10-05 | International Business Machines Corporation | System for DMA block data transfer based on linked control blocks |
US5606665A (en) * | 1994-07-01 | 1997-02-25 | Digital Equipment Corporation | Buffer descriptor prefetch in network and I/O design |
US5644784A (en) | 1995-03-03 | 1997-07-01 | Intel Corporation | Linear list based DMA control structure |
DE69614291T2 (de) | 1995-03-17 | 2001-12-06 | Lsi Logic Corp., Fort Collins | (n+i) Ein/Ausgabekanälesteuerung, mit (n) Datenverwaltern, in einer homogenen Software-Programmierbetriebsumgebung |
EP0768609B1 (de) * | 1995-10-16 | 2003-06-25 | Hitachi, Ltd. | Verfahren zur Übertragung von Multimediadaten |
US5713044A (en) | 1995-12-19 | 1998-01-27 | Intel Corporation | System for creating new group of chain descriptors by updating link value of last descriptor of group and rereading link value of the updating descriptor |
US5954794A (en) * | 1995-12-20 | 1999-09-21 | Tandem Computers Incorporated | Computer system data I/O by reference among I/O devices and multiple memory units |
US5974480A (en) | 1996-10-18 | 1999-10-26 | Samsung Electronics Co., Ltd. | DMA controller which receives size data for each DMA channel |
US6185633B1 (en) * | 1997-03-20 | 2001-02-06 | National Semiconductor Corp. | DMA configurable receive channel with memory width N and with steering logic compressing N multiplexors |
US6219736B1 (en) * | 1997-04-24 | 2001-04-17 | Edwin E. Klingman | Universal serial bus (USB) RAM architecture for use with microcomputers via an interface optimized for integrated services device network (ISDN) |
US6070194A (en) * | 1997-12-17 | 2000-05-30 | Advanced Micro Devices, Inc. | Using an index and count mechanism to coordinate access to a shared resource by interactive devices |
US6199121B1 (en) * | 1998-08-07 | 2001-03-06 | Oak Technology, Inc. | High speed dynamic chaining of DMA operations without suspending a DMA controller or incurring race conditions |
US6202107B1 (en) * | 1998-11-19 | 2001-03-13 | Sun Microsystems, Inc. | Host controller interface descriptor fetching unit |
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
-
1999
- 1999-10-20 US US09/421,745 patent/US6782465B1/en not_active Expired - Fee Related
-
2000
- 2000-09-28 DE DE10048072A patent/DE10048072A1/de not_active Withdrawn
- 2000-10-03 GB GB0024175A patent/GB2361786A/en not_active Withdrawn
- 2000-10-20 EP EP00975353A patent/EP1224538B1/de not_active Expired - Lifetime
- 2000-10-20 JP JP2001532386A patent/JP3878851B2/ja not_active Expired - Fee Related
- 2000-10-20 CN CN00814526.1A patent/CN1203420C/zh not_active Expired - Fee Related
- 2000-10-20 DE DE60019148T patent/DE60019148T2/de not_active Expired - Lifetime
- 2000-10-20 WO PCT/US2000/029287 patent/WO2001029656A2/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
GB0024175D0 (en) | 2000-11-15 |
CN1203420C (zh) | 2005-05-25 |
EP1224538B1 (de) | 2005-03-30 |
JP2003512670A (ja) | 2003-04-02 |
DE60019148D1 (de) | 2005-05-04 |
WO2001029656A2 (en) | 2001-04-26 |
DE10048072A1 (de) | 2001-04-26 |
JP3878851B2 (ja) | 2007-02-07 |
EP1224538A2 (de) | 2002-07-24 |
WO2001029656A3 (en) | 2002-01-17 |
CN1384938A (zh) | 2002-12-11 |
GB2361786A (en) | 2001-10-31 |
US6782465B1 (en) | 2004-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60019148T2 (de) | Dma-deskriptor-architektur mit verknüpfter liste | |
DE69636002T2 (de) | Digitalrechnersystem mit Register für virtuelle Gerätetreiber | |
DE19581873C2 (de) | Prozessor zum Ausführen von Schiebeoperationen an gepackten Daten | |
DE3151745C2 (de) | ||
DE69621493T2 (de) | Hardwareunterstützung zur schnellen Emulation von nicht-implementierten Befehlen | |
DE69533193T2 (de) | Paralleles verarbeitungssystem zum durchlaufen einer datenbank | |
DE68928727T2 (de) | Cachespeicheranlage zum Versorgen eines Festworts eines Befehlscodes mit variabler Länge und Befehlsabrufanlage | |
DE2903349A1 (de) | Datenverarbeitungseinrichtung | |
DE1146290B (de) | Elektronisches Datenverarbeitungssystem | |
DE2813128A1 (de) | Mikroprogrammspeicher | |
DE3712083A1 (de) | Kassenterminalsystem mit hierarchischen warendateien | |
DE3508640A1 (de) | Computersystem zur implementierung eines ereignisgesteuerten simulationsalgorithmus | |
DE3855300T2 (de) | Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung | |
DE60006007T2 (de) | Verfahren und gerät zur kombinierten umordnung von transaktionen und pufferverwaltung | |
DE2746505A1 (de) | Dv-system mit einer einrichtung zum adressieren in einem festwertspeicher abgelegter mikroprogramme | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE69231237T2 (de) | Datenverarbeitungsvorrichtung | |
DE1499206B2 (de) | Rechenanlage | |
DE2134816A1 (de) | Einrichtung zur adressenuebersetzung | |
DE68925071T2 (de) | Satzstruktur-Emulation | |
DE2458259A1 (de) | Datenverarbeitungssystem zum vergleichen verschiedener datenstrukturen | |
DE68925376T2 (de) | In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas | |
DE68924041T2 (de) | Vektordatenübertragungssteuerung. | |
DE2702722C2 (de) | Einrichtung zur Verarbeitung nicht direkt ausführbarer Instruktionen | |
DE10202758A1 (de) | DMA-Controller sowie Verfahren und Computersystem mit einem solchen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
R082 | Change of representative |
Ref document number: 1224538 Country of ref document: EP Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE |
|
R081 | Change of applicant/patentee |
Ref document number: 1224538 Country of ref document: EP Owner name: INFINEON TECHNOLOGIES AG, DE Free format text: FORMER OWNER: INFINEON TECHNOLOGIES NORTH AMERICA CORP., SAN JOSE, US Effective date: 20121128 |
|
R082 | Change of representative |
Ref document number: 1224538 Country of ref document: EP Representative=s name: EPPING HERMANN FISCHER, PATENTANWALTSGESELLSCH, DE Effective date: 20121128 |