DE10048072A1 - Linklisten-DMA-Descriptor-Architektur - Google Patents
Linklisten-DMA-Descriptor-ArchitekturInfo
- Publication number
- DE10048072A1 DE10048072A1 DE10048072A DE10048072A DE10048072A1 DE 10048072 A1 DE10048072 A1 DE 10048072A1 DE 10048072 A DE10048072 A DE 10048072A DE 10048072 A DE10048072 A DE 10048072A DE 10048072 A1 DE10048072 A1 DE 10048072A1
- Authority
- DE
- Germany
- Prior art keywords
- dma
- descriptor
- address
- data
- data pointers
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 6
- 241001432959 Chernes Species 0.000 description 1
- 241000220317 Rosa Species 0.000 description 1
- 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)
Abstract
Ein Linklisten-DMA-Descriptor (20, 30) enthält eine Angabe einer Anzahl von Datenzeigern (22, 32), welche in einem nachfolgenden DMA-Descriptor enthalten sind. Die Anzahl von im nachfolgenden DMA-Descriptor enthaltenen Datenzeigern ist vorzugsweise in der Speicheradresse des nachfolgenden DMA-Descriptors enthalten. Die Anzahl von Datenzeigern wird von der DMA-Steuereinrichtung (52) gespeichert und steuert, wieviele Lesezyklen durchgeführt werden, wenn der nachfolgende DMA-Descriptor verarbeitet wird.
Description
Die Erfindung bezieht sich allgemein auf Computersysteme und
insbesondere auf Steuereinrichtungen mit direktem Speicherzu
griff.
In den Anfängen der Computerentwicklung wurden Daten in einen
und aus einem Speicher durch eine zentrale Steuereinheit
(CPU) verschoben. Als jedoch die Datenübertragungsgeschwin
digkeiten für Massenspeichereinrichtungen, wie Harddrives
oder CD-ROMs stiegen, war die CPU zu langsam, um die Übertra
gung von Daten durchzuführen, und ihre Verwendung hinderte
die CPU daran, andere Aufgaben durchzuführen. Infolgedessen
enthalten nunmehr die meisten Computer Steuereinrichtungen
mit direktem Speicherzugriff (direct memory access control
lers bzw. DMAs), um Daten in einen und aus einem Speicher zu
verschieben. Eine DMA arbeitet, indem sie die Steuerung einer
Adresse und einer Datenleitung (data bus) entweder zum Lesen
von Daten aus oder Schreiben von Daten in einen Speicher
übernimmt. Um Daten zu verschieben, gibt eine CPU einer DMA-
Steuereinrichtung eine Adresse eines DMA-Descriptors. Der
Descriptor ist ein Satz von Daten, der eine vorbestimmte
Information einschließlich der Größe eines zu verschiebenden
Datenblocks sowie einen Zeiger mit der Adresse des Daten
blocks im Speicher enthält.
In der Vergangenheit enthielt jeder Descriptor nur einen oder
genau zwei Datenzeiger. Immer wenn die DMA-Steuereinrichtung
einen Datenblock zu verschieben hatte, mußte ein neuer De
scriptor gelesen werden, wodurch die Geschwindigkeit redu
ziert wurde, mit der Daten verschoben werden konnten. Um die
Datenübertragungsgeschwindigkeiten zu beschleunigen, besteht
das Bedürfnis nach einem Verfahren zur Verringerung der
Anzahl von Descriptoren, die eine DMA-Steuereinrichtung zum
Verschieben von Daten lesen muß.
Um die Geschwindigkeit zu erhöhen, mit der Daten von einer
DMA-Steuereinrichtung übertragen werden können, enthält ein
Descriptor eine Adresse eines nachfolgenden Descriptors sowie
eine Angabe einer veränderlichen Anzahl von Datenzeigern, die
im nachfolgenden Descriptor enthalten sind. Die Anzahl von
Zeigern im nachfolgenden Descriptor wird in der DMA-Steuer
einrichtung gespeichert. Beim Lesen eines nachfolgenden
Descriptors steuert die gespeicherte Anzahl von Zeigern eine
Anzahl von Lesezyklen, die von der DMA-Steuereinrichtung
durchgeführt werden.
Bei einer gegenwärtig bevorzugten Ausführungsform der Erfin
dung sind die Descriptoren in einem ausgerichteten (aligned)
32-BitSpeicher gespeichert. Die letzten beiden Adressenbits
der Descriptoradresse werden nicht benötigt und werden daher
zur Speicherung der Anzahl von Zeigern im nächsten Descriptor
verwendet.
Eine DMA-Steuereinrichtung gemäß der Erfindung enthält einen
Zähler, der eine Anzahl von Datenzeigern in einem nachfolgen
den Descriptor speichert. Beim Lesen des Descriptors steuert
der Zähler eine Anzahl von Lesezyklen, die von der DMA-Steu
ereinrichtung durchgeführt werden, wenn der nächste Descrip
tor verarbeitet wird.
Die obigen Gesichtspunkte und viele der Erfindungsvorteile
lassen sich besser abschätzen, wenn sie durch Bezugnahme auf
die folgende ausführliche Beschreibung in Verbindung mit den
begleitenden Figuren besser verständlich werden. Es zeigt:
FIGURE 1 einen Linklisten-DMA-Descriptor gemäß der Er
findung;
Fig. 2 eine Darstellung, wie jeder DMA-Descriptor eine
Angabe einer Anzahl von in einem darauffolgenden Descriptor
gespeicherten Datenzeigern (data pointers) enthält; und
Fig. 3 eine Darstellung, wie eine erfindungsgemäße DMA-
Steuereinrichtung einen Zähler enthält, um eine Anzahl von
in einem darauffolgenden Descriptor enthaltenen Datenzeigern
zu speichern.
Die Erfindung ist ein Verfahren zur Erhöhung der Geschwindig
keit von Speicherübertragungen, die von einer Steuereinrich
tung mit direktem Speicherzugriff (direct memory access bzw.
DMA) durchgeführt werden, indem eine Angabe einer veränder
lichen Anzahl von in einem nachfolgenden Descriptor enthalte
nen Datenzeigern eingeschlossen wird.
Fig. 1 zeigt einen Verbindungslisten(link list)-DMA-Descrip
tor 10 gemäß einer Ausführungsform der Erfindung. Bei der
gegenwärtig bevorzugten Ausführungsform der Erfindung wird
der Descriptor im Speicher als eine Serie von 32-Bit-Worten
gespeichert. Das erste Wort 12 des Descriptors 10 enthält die
Adresse eines nächsten Descriptors, der durch die DMA-Steuer
einrichtung zu lesen ist. Ein zweites Wort 14 enthält von der
DMA-Steuereinrichtung geforderte übliche Daten zur Verschie
bung der Daten, einschließlich eines Paars von Bytes 15,
welche die Größe eines zu verschiebenden Datenblocks spei
chern. Das dritte Wort 16 des Descriptors 10 enthält eine
32-Bit-Adresse des zu verschiebenden Datenblocks.
Anders als beim Stand der Technik, bei dem die Beschreibung
einen Zeiger zu einem oder genau zwei Datenblocks enthält,
kann der Descriptor 10 bis zu vier Datenzeiger auf Daten
blocks enthalten, die von der DMA-Steuereinrichtung zu ver
schieben sind. Da der Descriptor 10 als eine Serie von 32-
Bit-Worten in einem ausgerichteten Speicher gespeichert ist,
sind die letzten beiden Bits der 32-Bit-Adresse des nächsten
Descriptors stets 00. Daher werden diese letzten zwei Bits 18
vorzugsweise zur Speicherung der Anzahl von Datenzeigern
verwendet, die in einem nachfolgenden Descriptor enthalten
sind. Wenn der Descriptor der letzte Descriptor in einer
Liste von Descriptoren ist, wird der nächste Descriptorzeiger
auf einen vorbestimmten Wert gesetzt, der von der DMA-Steuer
einrichtung erkannt werden kann, wie das Nullzeichen (d. h.
alle Nullen) oder ein anderer leicht erkennbarer Code.
Fig. 2 zeigt die Linkliste von DMA-Descriptoren entsprechend
einer Ausführungsform der Erfindung. Ein erster Descriptor 20
hat als sein erstes 32-Bit-Wort 22 die Adresse eines zweiten
DMA-Descriptors 30 gespeichert. Wie oben angegeben, speichern
die letzten beiden Bits des 32-Bit-Worts 22 die Anzahl von
Datenzeigern, die innerhalb des zweiten DMA-Descriptors 30
enthalten sind. Im dargestellten Beispiel enthalten die
letzten beiden Bits des Wortes 22 den Wert 01, wodurch ange
zeigt wird, daß der folgende DMA-Descriptor 30 zwei Datenzei
ger enthält. Das zweite 32-Bit-Wort 24 des ersten DMA-De
scriptors 20 enthält eine gewisse Standardinformation, die
von der DMA-Steuereinrichtung gefordert wird, sowie eine
Angabe der Größe des zu verschiebenden Datenblocks. Bei dem
dargestellten Beispiel zeigen die letzten beiden Bytes des
32-Bit-Wortes 24 an, daß der zu verschiebende Datenblock 256
Bytes aufweist. Das dritte 32-Bit-Wort 26 des ersten Descrip
tors 20 enthält einen Zeiger auf den zu verschiebenden 256
Byte-Datenblock.
Das erste 32-Bit-Wort 32 des zweiten DMA-Descriptors 30 hat
ursprünglich das Nullzeichen als die Adresse eines nachfol
genden Descriptors gespeichert, wodurch angezeigt wird, daß
der zweite DMA-Descriptor 30 der letzte Descriptor in der
Liste ist. Der zweite DMA-Descriptor 30 enthält zwei Daten
zeiger, welche sich auf zwei zu verschiebende Datenblocks
bezieht. Ein Paar von 32-Bit-Worten 34 und 36 speichern die
Länge (d. h. 256 Bytes) eines ersten Datenblocks und seine
Adresse, während ein zweites Paar von 32-Bit-Worten 38 und 40
einen zweiten 32 Byte-Datenblock und seine Adresse bezeich
nen.
Um einen nachfolgenden DMA-Descriptor zu der Linkliste von
Descriptoren hinzuzufügen, wird die Adresse des nächsten
Descriptors im ersten 32-Bit-Wort 32 des vorhergehenden
DMA-Descriptors 30 gespeichert. Bei dem gezeigten Beispiel
wird das als erstes 32-Bit-Wort 32 gespeicherte Nullzeichen
mit der Adresse eines nachfolgenden DMA-Descriptors 44 über
schrieben. Wiederum enthalten die letzten beiden Bits der
Adresse die Anzahl von Datenzeigern innerhalb des nachfolgen
den DMA-Descriptors 44. Bei dem gezeigten Beispiel sind die
letzten beiden Bits 00, was anzeigt, daß der folgende DMA-De
scriptor 44 nur einen Datenzeiger enthält.
Die von den DMA-Descriptoren 20,30 und 44 gebildete Linkliste
kann unabhängig vom Betrieb einer DMA-Steuereinrichtung
aktualisiert werden. Wie es dem Fachmann verständlich ist,
enthält die DNA-Steuereinrichtung ein Adressenregister des
nächsten Descriptors, in welchem die Adresse des nächsten
Descriptors von der CPU gespeichert wird. Um einen DMA-De
scriptor zu einer Verbindungsliste von DMA-Descriptoren
hinzuzufügen, wird der nächste Adressenplatz des letzten
DMA-Descriptors in der Liste aktualisiert, um die Adresse des
neuen Descriptors wiederzugeben. Zusätzlich wird das Adres
senregister des nächsten Descriptors innerhalb der DMA-Steu
ereinrichtung aktualisiert, um die Adresse des neuen Descrip
tors wiederzugeben. Wie oben angegeben, enthalten die beiden
letzten Bits der Adresse des nächsten DMA-Descriptors die
Anzahl von Datenzeigern, die in dem neuen, der Liste anzufü
genden DMA-Descriptor enthalten sind.
Wenn ein neuer DMA-Descriptor zu einer Liste hinzugefügt
werden soll, gibt es drei mögliche Zustände der DMA-Steuer
einrichtung. Erstens ist es möglich, daß die DMA-Steuerein
richtung noch nicht begonnen hat mit der Einwirkung auf den
letzten Descriptor in der Liste von Descriptoren. Wenn daher
das Adressenfeld des nächsten DMA-Descriptors für den letzten
Descriptor in der Liste abgeändert wird, bevor die DMA-Steu
ereinrichtung die Einwirkung auf den vorher letzten Descrip
tor beginnt, erkennt sie, daß die nächste Adresse nicht Null
ist und weiß, daß sie einen anderen DMA-Descriptor verarbei
ten muß. Zusätzlich zur Aktualisierung des Adressenfeldes für
den nächsten Descriptor des vorher letzten Descriptors
schreibt eine CPU auch die Adresse des neuen DMA-Descriptors
in das Adressenregister des nächsten Descriptors der DMA-
Steuereinrichtung. Wenn daher die DMA-Steuereinrichtung das
nächste Adressenfeld des letzten Descriptors (das auf Null
gesetzt worden war) bereits gelesen hat, erfaßt die DMA-Steu
ereinrichtung noch den neuen Descriptor durch Lesen seines
Adressenregisters für den nächsten Descriptor, nachdem sie
alle im letzten verarbeiteten Descriptor enthaltenen Daten
zeiger betätigt hat. Wenn zuletzt die DMA-Steuereinrichtung
die Verarbeitung der im vorher letzten Descriptor enthaltenen
Datenzeiger beendet hat, wird sie in einen Stoppzustand
eintreten, bis die Adresse des neuen DMA-Descriptors und die
Anzahl von in dem Descriptor enthaltenen Datenzeigern in das
Adressenregister für den nächsten Descriptor der DMA-Steuer
einrichtung eingeschrieben sind.
Fig. 3 zeigt ein Blockschaltbild, welches die zusätzliche
Funktionalität darstellt, die einer DMA-Steuereinrichtung
gemäß einer Ausführungsform der Erfindung hinzugefügt wird.
Die DMA-Steuereinrichtung 50 ist in der gleichen Weise aufge
baut wie bekannte DMA-Steuereinrichtungen, mit der Ausnahme,
daß die DMA-Steuereinrichtung 50 einen Zähler 52 enthält,
welcher die Anzahl von Zeigern in einem nachfolgenden DMA-De
scriptor speichert, die aus den letzten beiden Bits der
nächsten Descriptoradresse bestimmt werden. Die Anzahl von im
Zähler 52 gespeicherten Zeigern steuert die Anzahl von durch
die DMA-Steuereinrichtung durchgeführten Lesezyklen, wenn sie
den nächsten DMA-Descriptor verarbeitet. Das heißt bei der
Verarbeitung des nächsten DMA-Descriptors, der im Adressenre
gister 54 für den nächsten Descriptor bezeichnet ist, bewirkt
die DMA-Steuereinrichtung das Lesen einer Anzahl von Worten
aus dem Speicher, wobei die Anzahl von Worten von der Anzahl
von im Zähler 52 gespeicherten Zeigern abhängt. Wenn bei
spielsweise die für jeden Datenzeiger gespeicherte Informa
tion zwei Datenworte erfordert und das Register 50 anzeigt,
daß zwei Datenzeiger in einem nachfolgenden DMA-Descriptor
enthalten sind, dann veranlaßt die DMA-Steuereinrichtung das
Auslesen von fünf Datenworten aus dem Speicher; ein Wort für
die Adresse des nächsten DMA-Descriptors und zwei Worte für
jeden der beiden im nächsten DMA-Descriptor enthaltenen
Datenzeiger.
Wie aus dem Obigen zu ersehen ist, ist die Erfindung ein
Verfahren zur Verringerung der mit DMA-Steuereinrichtungen
verbundenen Gesamtkosten. Obwohl die bevorzugte Ausführungs
form der Erfindung vorher nicht benutzte Bits des Adressen
feldes für den nächsten Descriptor verwendet, um eine Be
zeichnung einer veränderlichen Anzahl von Zeigern zu spei
chern, läßt sich feststellen, daß die Bezeichnung auch an
anderen Stellen im Descriptor angeordnet werden könnte. Die
Verwendung der vorher unbenutzten Bits der nächsten DMA-De
scriptoradresse wird jedoch bevorzugt, da nur ein einziger
Schreibzyklus für die DMA erforderlich ist, um die DMA mit
der nächsten Adresse und der Anzahl von Zeigern zu versorgen.
Claims (5)
1. Verfahren zum Verschieben von Speicherblöcken mit einer
DMA-Steuereinrichtung, welches umfaßt:
Versehen einer DMA-Steuereinrichtung mit einer Adresse eines DMA-Descriptors, die einen durch die DMA-Steuereinrichtung zu verschiebenden Speicherblock angibt, wobei der Descriptor eine Adresse eines nachfol genden DMA-Descriptors und eine Angabe einer veränderli chen Anzahl von im nachfolgenden DMA-Descriptor enthal tenen Datenzeigern enthält; und
Auslesen der Adresse des nachfolgenden DMA-Descrip tors und Durchführen einer Anzahl von Lesezyklen, die von der Anzahl von angegebenen Datenzeigern abhängt.
Versehen einer DMA-Steuereinrichtung mit einer Adresse eines DMA-Descriptors, die einen durch die DMA-Steuereinrichtung zu verschiebenden Speicherblock angibt, wobei der Descriptor eine Adresse eines nachfol genden DMA-Descriptors und eine Angabe einer veränderli chen Anzahl von im nachfolgenden DMA-Descriptor enthal tenen Datenzeigern enthält; und
Auslesen der Adresse des nachfolgenden DMA-Descrip tors und Durchführen einer Anzahl von Lesezyklen, die von der Anzahl von angegebenen Datenzeigern abhängt.
2. Verfahren nach Anspruch 1, bei welchem die Angabe der
Anzahl von Datenzeigern im nachfolgenden DMA-Descriptor
erzielt wird durch:
Codieren der Anzahl von Datenzeigern in nicht be nutzte Bits der Adresse des nachfolgenden DMA-Descrip tors.
Codieren der Anzahl von Datenzeigern in nicht be nutzte Bits der Adresse des nachfolgenden DMA-Descrip tors.
3. DMA-Steuereinrichtung von der Art, die Daten in den und
aus dem Speicher in einem Computersystem verschiebt,
wobei die Verbesserung umfaßt:
einen Zähler (52), welcher eine Zahl speichert, wel che eine Anzahl von in einem veränderlichen DMA-Descrip tor, der durch die DMA-Steuereinrichtung zu verarbeiten ist, enthaltenen Datenzeigern angibt, wobei der Zähler eine Anzahl von Speicherlesezyklen steuert, welche von der DMA-Steuereinrichtung durchgeführt werden, wenn der DMA-Descriptor verarbeitet wird.
einen Zähler (52), welcher eine Zahl speichert, wel che eine Anzahl von in einem veränderlichen DMA-Descrip tor, der durch die DMA-Steuereinrichtung zu verarbeiten ist, enthaltenen Datenzeigern angibt, wobei der Zähler eine Anzahl von Speicherlesezyklen steuert, welche von der DMA-Steuereinrichtung durchgeführt werden, wenn der DMA-Descriptor verarbeitet wird.
4. Computer-lesbare Speichereinrichtung zum Speichern eines
DMA-Descriptors, welche aufweist:
eine Anzahl von Computer-lesbaren Bits (30), welche eine Speicheradresse eines nachfolgenden DMA-Descriptors angibt;
eine Anzahl von Computer-lesbaren Bits (32), welche eine veränderliche Anzahl von in dem nachfolgenden DMA-Descriptor enthaltenen Datenzeigern angibt, wobei die die veränderliche Anzahl von Datenzeigern angebenden Bits von einer DMA-Steuereinrichtung gelesen werden, um eine Anzahl von Lesezyklen zu bestimmten, welche die DMA-Steuereinrichtung durchführt.
eine Anzahl von Computer-lesbaren Bits (30), welche eine Speicheradresse eines nachfolgenden DMA-Descriptors angibt;
eine Anzahl von Computer-lesbaren Bits (32), welche eine veränderliche Anzahl von in dem nachfolgenden DMA-Descriptor enthaltenen Datenzeigern angibt, wobei die die veränderliche Anzahl von Datenzeigern angebenden Bits von einer DMA-Steuereinrichtung gelesen werden, um eine Anzahl von Lesezyklen zu bestimmten, welche die DMA-Steuereinrichtung durchführt.
5. Computer-lesbare Speichereinrichtung nach Anspruch 4,
bei welcher die Anzahl von Bits, welche die veränderli
che Anzahl von Datenzeigern angeben, in der Adresse des
nachfolgenden DMA-Descriptors enthalten sind.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/421,745 US6782465B1 (en) | 1999-10-20 | 1999-10-20 | Linked list DMA descriptor architecture |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10048072A1 true DE10048072A1 (de) | 2001-04-26 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60019148T Expired - Lifetime DE60019148T2 (de) | 1999-10-20 | 2000-10-20 | Dma-deskriptor-architektur mit verknüpfter liste |
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) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10163310A1 (de) * | 2001-12-21 | 2003-07-17 | Infineon Technologies Ag | Verfahren und Router zur Multiprotokoll-Übertragung |
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
DE10347762A1 (de) * | 2003-10-14 | 2005-05-19 | Infineon Technologies Ag | Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung |
EP2256587A1 (de) * | 2003-07-22 | 2010-12-01 | Round Rock Research, LLC | Vorrichtung und Verfahren für Direktspeicherzugriff in einem Speichersystem auf HUB-Basis |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6842457B1 (en) * | 1999-05-21 | 2005-01-11 | Broadcom Corporation | Flexible DMA descriptor support |
US6804239B1 (en) * | 1999-08-17 | 2004-10-12 | Mindspeed Technologies, Inc. | Integrated circuit that processes communication packets with co-processor circuitry to correlate a packet stream with context information |
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 |
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 |
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 | 情報処理装置及びデータ処理方法 |
US7415549B2 (en) * | 2005-09-27 | 2008-08-19 | Intel Corporation | DMA completion processing mechanism |
US7516257B2 (en) * | 2005-09-27 | 2009-04-07 | Intel Corporation | Mechanism to handle uncorrectable write data errors |
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 |
US20090083392A1 (en) * | 2007-09-25 | 2009-03-26 | Sun Microsystems, Inc. | Simple, efficient rdma mechanism |
US9396159B2 (en) * | 2007-09-25 | 2016-07-19 | Oracle America, Inc. | Simple, reliable, connectionless communication 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 |
EP0732659B1 (de) | 1995-03-17 | 2001-08-08 | LSI Logic Corporation | (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 WO PCT/US2000/029287 patent/WO2001029656A2/en active IP Right Grant
- 2000-10-20 EP EP00975353A patent/EP1224538B1/de not_active Expired - Lifetime
- 2000-10-20 DE DE60019148T patent/DE60019148T2/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
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6782465B1 (en) * | 1999-10-20 | 2004-08-24 | Infineon Technologies North America Corporation | Linked list DMA descriptor architecture |
DE10163310A1 (de) * | 2001-12-21 | 2003-07-17 | Infineon Technologies Ag | Verfahren und Router zur Multiprotokoll-Übertragung |
DE10163310B4 (de) * | 2001-12-21 | 2005-12-15 | Infineon Technologies Ag | Verfahren und Router zur Multiprotokoll-Übertragung |
EP2256587A1 (de) * | 2003-07-22 | 2010-12-01 | Round Rock Research, LLC | Vorrichtung und Verfahren für Direktspeicherzugriff in einem Speichersystem auf HUB-Basis |
DE10347762A1 (de) * | 2003-10-14 | 2005-05-19 | Infineon Technologies Ag | Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung |
DE10347762B4 (de) * | 2003-10-14 | 2007-05-03 | Infineon Technologies Ag | Verfahren zur Speicherung von Übertragungseinheiten und Netzwerkkommunikations-Vorrichtung |
US7423969B2 (en) | 2003-10-14 | 2008-09-09 | Infineon Technologies Ag | Process for storing transmission units and a network communications device |
Also Published As
Publication number | Publication date |
---|---|
GB0024175D0 (en) | 2000-11-15 |
EP1224538A2 (de) | 2002-07-24 |
DE60019148T2 (de) | 2006-03-23 |
EP1224538B1 (de) | 2005-03-30 |
JP3878851B2 (ja) | 2007-02-07 |
WO2001029656A3 (en) | 2002-01-17 |
CN1384938A (zh) | 2002-12-11 |
DE60019148D1 (de) | 2005-05-04 |
GB2361786A (en) | 2001-10-31 |
CN1203420C (zh) | 2005-05-25 |
WO2001029656A2 (en) | 2001-04-26 |
US6782465B1 (en) | 2004-08-24 |
JP2003512670A (ja) | 2003-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10048072A1 (de) | Linklisten-DMA-Descriptor-Architektur | |
DE3685876T2 (de) | Meister-sklave-mikroprozessorsystem mit einem virtuellen speicher. | |
DE3785897T2 (de) | Steuervorrichtung zum vorabruf von befehlen. | |
DE69031367T2 (de) | Blockübertragungs- und Koprozessorschnittstellenbefehl | |
DE3689042T2 (de) | Gerät zur Pufferung von Schreibanforderungen. | |
DE69229716T2 (de) | Schaltungsarchitektur zum mehrkanaligen DMA-Betrieb | |
DE69225463T2 (de) | Verfahren und Gerät zur Verschachtelung von mehrkanaligen DMA-Operationen | |
CH656728A5 (de) | Schnittstellenschaltungsanordnung zur verbindung eines prozessors mit einem nachrichtenkanal. | |
DE3725343A1 (de) | Vielzweck-kanalsteuersystem | |
DE2744531A1 (de) | Elektronische datenverarbeitungsanlage | |
DE2424931A1 (de) | Datenverarbeitungsanlage, insbesondere mikroprogramm-datenverarbeitungseinheit mit parallelen befehlsstroemen fuer mehrere ebenen von subbefehlsvorraeten | |
DE3439302A1 (de) | Speichersteuerungsvorrichtung | |
DE3855300T2 (de) | Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung | |
DE2054830C3 (de) | Informationsverarbeitungsanlage mit Mitteln zum Zugriff zu Speicher-Datenfeldern variabler Länge | |
DE1499206C3 (de) | Rechenanlage | |
DE1774870C3 (de) | Einrichtung zur Adressierung einer Speicherzelle eines Speichers in einer Datenverarbeitungsanlage | |
DE2718110A1 (de) | Datenverarbeitungseinheit | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE3338329C2 (de) | ||
DE3046912C2 (de) | Schaltungsanordnung zum selektiven Löschen von Cachespeichern in einer Multiprozessor-Datenverarbeitungsanlage | |
DE69033031T2 (de) | Programmierbares Steuergerät | |
DE3421737C2 (de) | Vorrichtung zur Ermittlung einer Überlappung von Operanden | |
DE69230898T2 (de) | Speicherauswahl enthaltendes Verarbeitungs-System und Verfahren | |
DE3486276T2 (de) | Verfahren zum Steuern eines Pufferspeichers in einem Datenverarbeitungsgerät. | |
DE10202758A1 (de) | DMA-Controller sowie Verfahren und Computersystem mit einem solchen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |