DE112005002254T5 - Verfahren und Vorrichtung zur Verwendung eines Advanced Host-Controller-Interface zur Datenübertragung - Google Patents
Verfahren und Vorrichtung zur Verwendung eines Advanced Host-Controller-Interface zur Datenübertragung Download PDFInfo
- Publication number
- DE112005002254T5 DE112005002254T5 DE112005002254T DE112005002254T DE112005002254T5 DE 112005002254 T5 DE112005002254 T5 DE 112005002254T5 DE 112005002254 T DE112005002254 T DE 112005002254T DE 112005002254 T DE112005002254 T DE 112005002254T DE 112005002254 T5 DE112005002254 T5 DE 112005002254T5
- Authority
- DE
- Germany
- Prior art keywords
- command
- host controller
- data
- receiving
- separate device
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
Verfahren,
welches umfaßt
Eintreten in einen Betriebszustand eines Host-Controllers; und
Auslassen eines Zustandes einer Zustandsmaschinenabfolge des Host-Controllers vor einem Datenaustausch durch den Host-Controller.
Eintreten in einen Betriebszustand eines Host-Controllers; und
Auslassen eines Zustandes einer Zustandsmaschinenabfolge des Host-Controllers vor einem Datenaustausch durch den Host-Controller.
Description
- Gebiet
- Ausführungsformen der Erfindung betreffen das Gebiet der Datenübertragung in einem Computersystem und insbesondere den Datenaustausch mit einer erweiterten Host-Controller-Schnittstelle (Advanced Host Controller Interface, AHCI).
- Hintergrund
- SATA (Serial Advanced Technology Attachment)-Vorrichtungen, wie etwa CD ROMs, Festplattenlaufwerke, DVD-RAMs, etc., können konform mit der Serial-ATA-Host-Controller-Interface(AHCI)-Spezifikation, Revision 1.0, herausgegeben am 13. April 2004, in einer fokussierten Weise für Computersysteme mit Host-Controllern (HC) entwickelt werden. Die AHCI-Spezifikation beschreibt eine Vorrichtung, welche die Spezifikation implementiert und als eine Schnittstelle zwischen einer SATA-Vorrichtung und einem Speicher in einem Computersystem dient. Die Schnittstellenvorrichtung ist beispielsweise als ein Host-Controller, ein Host-Bust-Adapter, etc. bekannt. Da die Vorrichtung anhand einer Spezifikation beschrieben ist, wird von ihr erwartet, daß sie auf vorbestehende Befehle und Prozeduren antwortet.
- Beispielsweise läßt ein HC üblicherweise einem Datenaustausch ein Senden eines Befehls an eine SATA-Vorrichtung vorausgehen. Der HC wartet dann auf eine Antwort, bevor Datenaustausch stattfinden kann. Jedoch wird ein Testen der Fähigkeit eines HCs zum Datenaustausch dadurch erschwert, daß typischerweise beim Testen eines HCs keine SATA-Vorrichtung vorhanden ist. Als Folge davon ist es für den HC nicht erforderlich, einen Befehl zu senden und auf eine Antwort von einer Vorrichtung zu warten, die nicht vorhanden ist.
- Kurze Beschreibung der Zeichnungen
- Ausführungsformen der Erfindung können am besten durch Bezugnahme auf die nachfolgende Beschreibung und beigefügten Zeichnungen verstanden werden, welche diese Ausführungsformen darstellen.
- Zu den Zeichnungen:
-
1A stellt eine beispielhafte Konfiguration eines mit einer Vorrichtung gekoppelten Host-Controllers gemäß einer Ausführungsform dar. -
1B stellt eine beispielhafte Konfiguration eines mit einem zweiten Host-Controller gekoppelten Host-Controllers gemäß einer Ausführungsform dar. -
2 ist ein Ablaufdiagramm einer Ausführungsform eines Prozesses zum Datenaustausch mittels eines Host-Controllers. -
3 ist ein Ablaufdiagramm einer alternativen Ausführungsform eines Prozesses zum Datenaustausch mittels eines Host-Controllers. -
4 stellte ein beispielhaftes System gemäß Ausführungsformen der vorliegenden Erfindung dar, welches einen Prozessor und (einen) Host-Controller zum Datenaustausch umfaßt. - Detaillierte Beschreibung
- In der nachfolgenden Beschreibung werden zu Erläuterungszwecken zahlreiche spezifische Details wiedergegeben, um für ein grundlegendes Verständnis der vorliegenden Erfindung zu sorgen. Es wird dem Fachmann auf diesem Gebiet jedoch ersichtlich sein, daß Ausführungsformen der vorliegenden Erfindung ohne diese spezifischen Details umgesetzt werden können.
- Ausführungsformen der vorliegenden Erfindung ermöglichen ein Auslassen von Zuständen einer Zustandsmaschinenabfolge (state machine sequence) zum Datenaustausch, wobei ein HC in eine Betriebsart eintritt. In einer Ausführungsform empfängt der HC eine Anfrage zum Datenaustausch, wobei die Anfrage zum Datenaustausch entweder eine Anfrage zum Übertragen von Daten oder eine Anfrage zum Empfangen von Daten sein kann. Demnach wird ein Bit beim Eintreten in die Betriebsart gelöscht (cleared) und in einem nachfolgenden Zustand der Zustandsmaschine vor dem Übertragen eines Befehls, der von einer Vorrichtung zu empfangen ist, gesetzt (set). Das Setzen des Bits vor dem Senden eines Befehls, der von einer Vorrichtung zu empfangen ist, ermöglicht es dem HC, Zustände auszulassen, die normalerweise vor dem Übertragen oder Empfangen von Daten ausgeführt werden. Gemäß einer Ausführungsform ist der HC ein erweiterter Host-Controller-Schnittstellen-HC.
- Demnach gewährleisten Ausführungsformen der vorliegenden Erfindung, wie es nachfolgend in weiterem Detail beschrieben werden wird, das verbesserte Vermögen, einen Host-Controller durch Reduzieren von Operationen, die bei einem Datenaustausch eines HCs auszuführen sind, zu testen.
-
1A stellt einen Host-Controller (HC)50 gekoppelt mit einer Host-Controller-Testvorrichtung (Testvorrichtung)52 dar. Der HC50 ist mit der Testvorrichtung52 über eine SATA-Schnittstelle58 gekoppelt. Die Schnittstelle kann jede geeignete Schnittstelle sein, welche dem HC50 die Fähigkeit verleiht, mit der Testvorrichtung52 zu kommunizieren. Ferner kann die Testvorrichtung52 jede Vorrichtung sein, die zum Bereitstellen der zum Testen eines HCs benötigten Funktionalität fähig ist. -
1B stellt eine alternative Testkonfiguration dar, worin ein erster Host-Controller (HC-A)54 mit einem zweiten Host-Controller (HC-B)56 gekoppelt ist. Die HCs können über jede geeignete Schnittstelle, wie vorstehend beschrieben, gekoppelt sein. Durch Aneinanderkoppeln zweier HCs kann ein Computersystem zum Testen des Datenempfangs und der Datenübertragung der Host-Controller verwendet werden. - Ausführungsformen der vorliegenden Erfindung können anhand von Host-Controllern in den in
1A und1B dargestellten Konfigurationen implementiert werden. Die Konfigurationen aus1A und1B sind beispielhaft und nicht beschränkend vorgesehen, da es andere geeignete Konfigurationen von Host-Controllern geben kann. -
2 stellt ein Ablaufdiagramm dar, welches den Prozeß des Datenaustausches mit einem HC gemäß einer Ausführungsform beschreibt. Im Prozeßblock60 tritt der HC in eine Betriebsart ein. In einer Ausführungsform der Erfindung kann die Betriebsart eine Betriebsart zum Testen des HCs sein. Ferner kann in einer Ausführungsform die Betriebsart speziell dazu dienen, Datenübertragung oder Datenempfang durch den HC in der Betriebsart zu testen. Der HC kann, wie von Softwareinstruktionen, die in dem Systemspeicher26 des Computers gespeichert sind, angewiesen, in die Betriebsart eintreten. Der HC kann ebenfalls durch von dem HC von einer externen Vorrichtung, die mit dem HC gekoppelt ist, empfangene Instruktionen in die Betriebsart eintreten, wie etwa jener, die in1A oder1B dargestellt ist. Ausführungsformen zum Eintreten in eine Betriebsart des HCs sind nicht auf die vorstehend beschriebenen Prozesse beschränkt. Ferner können Ausführungsformen den HC-Gerätetreiber zum Setzen der Betriebsart und/oder von Modifizierungen an dem HC verwenden. - In einer Ausführungsform löscht der HC beim Eintreten in die Betriebsart (Prozeßblock
60 ) ein Bit, um anzuzeigen, daß der HC nicht aktiv (not busy) ist. Spezieller wird das Bit gelöscht, um zu bedeuten, daß der HC gegenwärtig keine Operation ausführt. Eine Ausführungsform löscht beispielsweise beim Eintreten in die Betriebsart das PxTFD.STS.BSY-Bit (BSY-Bit). Für die eine Ausführungsform ist das BSY-Bit ein spezifisches Registerbit, welches den gegenwärtigen Status von Task-File-Daten anzeigt, der mit der Fähigkeit des HC verknüpft ist, Daten mit einer SATA-Vorrichtung auszutauschen. - Als Nächstes wählt der HC einen Befehl (Prozeßblock
62 ), welchen der HC an eine Vorrichtung zum Datenaustausch ausgeben wird. Der HC holt dann den Befehls-Header für den ausgewählten Befehl (Prozeßblock64 ). In einer Ausführungsform kann das Auswählen eines Befehls durch ein Computersystem, wie etwa System10 , oder durch eine externe Hardware-Vorrichtung, wie in den1A und1B dargestellt, etc. ausgelöst werden. - Typischerweise würde der HC nach dem Holen des Befehls-Headers (Prozeßblock
64 ) inaktiv (idle) bleiben, bis der Befehl zur Ausgabe an die Vorrichtung bereit ist. Jedoch wird in einer Ausführungsform nach dem Holen des Befehls-Headers ein Bit gesetzt, um anzuzeigen, daß der HC aktiv (busy) ist, das heißt eine Operation ausführt (Prozeßblock66 ). In einer Ausführungsform wird das BSY-Bit gesetzt, um anzuzeigen, daß das System aktiv ist. Durch Setzen des Bits zum Anzeigen, daß das System aktiv ist, geht der HC dazu über, Daten auszutauschen (Prozeßblock68 ). Ein Datenaustausch kann entweder ein Übertragen oder Empfangen von Daten sein. - Wenn das Bit gesetzt ist, um anzuzeigen, daß der HC aktiv ist (Prozeßblock
66 ), sendet der HC keinen Befehl an eine SATA-Vorrichtung. Genausowenig muß der HC eine Bestätigung empfangen, daß der Befehl erfolgreich gesendet worden ist. Ferner wird, durch Setzen des Bits, der HC auch nicht darauf zu warten haben, daß eine SATA-Vorrichtung zum Akzeptie ren von Daten bereit ist, oder auf eine Bestätigung zu warten haben, daß die SATA-Vorrichtung zum Datenempfang bereit ist. Stattdessen geht der HC zum Datenaustausch über. - Da der HC unmittelbar zum Datenaustausch übergeht, wenn das Bit gesetzt ist, läßt der HC Zustände in einer Zustandsmaschinenabfolge zum Übertragen von Daten und/oder Empfangen von Daten aus. In einer Ausführungsform läßt der HC, wenn in der Betriebsart Daten übermittelt werden, wenigstens einen oder mehrere der folgenden Zustände der Zustandsmaschinenabfolge aus: Command Frame Information Structure Transmit (CFIS:Xmit), Command Frame Information Structure Success (CFIS:Success), Host Idle (H:Idle), Non-Data Frame Information Structure Receive Entry (NDR:Entry) und Non-Data Frame Information Structure Receive Accept (NDR:Aceept). In einer alternativen Ausführungsform können andere Zustände und Prozesse ausgelassen werden. Demnach wäre gemäß einer Ausführungsform die Zustandsmaschinenabfolge für Datenübertragung, wenn der HC in der Betriebsart ist: H:Idle, H:SelectCmd, H:FetchCmd, H:Idle, DX:Entry und DX:Transmit. Gemäß einer Ausführungsform wird das Bit beim Eintreten in den zweiten H:Idle-Zustand in der Zustandsmaschinenabfolge für Datenübertragung gesetzt, wobei H:Idle sich auf einen Zustand bezieht, in dem der Host-Controller inaktiv ist.
- Gleichermaßen läßt der HC, wenn in dem Betriebszustand Daten empfangen werden, wenigstens einen oder mehrere der folgenden Zustände gemäß einer Ausführungsform aus: CFIS:Xmit, CFIS:Success und H:Idle. Demnach wäre die Zustandsmaschinenabfolge für Datenempfang: H:Idle, H:SelectCmd, H:FetchCmd, H:Idle, DR:Entry und DR:Receive. In einer alternativen Ausführungsform könnten andere Zustände und Prozesse ausgelassen werden. Gemäß einer Ausführungsform wird ein Bit beim Eintreten in den zweiten H:Idle-Zustand in der Zustandsmaschinenabfolge für Datenempfang gesetzt.
-
3 stellt ein Ablaufdiagramm dar, welches den Datenaustauschprozeß mit einem HC gemäß einer alternativen Ausführungsform beschreibt. Gemäß der Ausführungsform können ein HC-Gerätetreiber und ein erweiterter HC (enhanced HC) Daten durch Auslassen von Zuständen und Prozessen für Datenaustausch austauschen, wie vorstehend diskutiert worden ist. Wie in3 dargestellt ist, würde der AHCI-Gerätetreiber den Inhalt einer Befehlsliste ändern, der von einem HC empfangen werden würde (Prozeßblock70 ). Umfaßt in einer Befehlsliste ist eine Command Frame Information Struktur (CFIS) mit einer entsprechenden Command Frame Information Struktur – Länge (CFL). Der AHCI-Gerätetreiber würde die CFL auf Null setzen. Durch Setzen von CFL = 0 würde der erweiterte Host-Controller die CFIS nicht behandeln. Als eine Folge davon wäre der Host-Controller dazu in der Lage, Daten auszutauschen, ohne einen Befehl an eine mit dem HC gekoppelte Vorrichtung zu senden und ohne darauf zu warten, daß die Vorrichtung bestätigt, daß der Befehl empfangen worden ist. - Nachdem die CFL auf Null gesetzt ist, kann der HC einen Befehl zum Datenaustausch auswählen (Prozeßblock
72 ) und den Befehls-Header holen (Prozeßblock74 ), genauso, wie es der HC bezüglich der in2 dargestellten Ausführungsform tat. Jedoch muß, im Gegensatz zu der Ausführungsform, die in2 dargestellt ist, die Ausführungsform nach3 kein Bit setzen, nachdem der HC den Befehls-Header holt. Wenn die CFL = 0 ist, überträgt der HC keinen Befehl und wartet auch nicht auf eine Bestätigung, daß der Befehl von der Vorrichtung empfangen worden ist. Stattdessen wird, nachdem der Befehls-Header geholt ist, der HC zum Datenaustausch übergehen, wenn CFL = 0 (Prozeßblock76 ). - Eine solche Ausführungsform würde die verbesserte Fähigkeit zum Testen eines HCs gewährleisten. Gemäß der in
3 dargestellten Ausführungsform ermöglicht das Verfahren die Flexibilität, einen Befehl mit einem Test-HC zu senden und/oder zu empfangen. Ferner würde eine solche Ausführungsform ein flexibles Verfahren zum Testen eines HCs bereitstellen, worin Software- und/oder Hardware eine Anzahl von Befehlen ausführen werden. Gemäß einer Ausführungsform würde ein optionales Setzen von CFL = 0 eine Mischung von Befehlen ermöglichen, worin nur einige Befehle erfordern, daß die CFIS an eine Testvorrichtung zu senden ist. -
4 stellt ein System10 zum Implementieren der hierin beschriebenen Vorrichtungen und Verfahren gemäß einer Ausführungsform dar. Obwohl im Zusammenhang des Systems10 beschrieben, können Ausführungsformen in jedem geeigneten Computersystem implementiert werden. - Wie in
4 dargestellt ist, umfaßt das Computersystem10 wenigstens einen HC24 . Das Computersystem10 umfaßt ebenfalls einen Speicher26 und einen Input/Output-Controller-Hub (ICH)28 . Der Prozessor22 , der Speicher26 , der/die HC(s)24 und der ICH28 sind mit einem Memory-Controller-Hub48 gekoppelt. Der ICH28 ist mittels eines Hub-Links20 mit dem Memory-Controller-Hub gekoppelt. Alternativ kann der HC bzw. können die HCs34 zusätzlich mit dem Memory-Controller-Hub48 gekoppelt oder darin integriert sein. - Der Systemspeicher
26 dient dazu, Daten und/oder Instruktionen für das Computersystem10 zu speichern und kann jeden geeigneten Speicher umfassen, wie etwa einen dynamischen Direktzugriffsspeicher (DRAM), einen synchronen dynamischen Direktzugriffsspeicher (SDRAM) oder einen erweiterten Datenausgabe-Direktzugriffsspeicher (extended data output random access memory, EDO RAM) als Beispiel. Das Computersystem10 umfaßt ferner einen Graphik-Controller30 , der mit einer Anzeige32 gekoppelt ist, wie etwa einer Kathodenstrahlröhre (CRT), oder einer Flüssigkristallanzeige (LED). - Der ICH
28 sieht eine Schnittstelle zu I/O-Vorrichtungen oder Peripheriekomponenten für das Computersystem10 vor. Der ICH28 kann jeden geeigneten Schnittstellencontroller zum Bereitstellen einer geeigneten Kommunikationsverbindung zu dem Prozessor22 und zu dem Speicher26 umfassen. Der ICH28 sieht ebenfalls eine Schnittstelle zu der/den I/O-Vorrichtung(en)44 vor, wie etwa beispielsweise einer Maus, einem Keyboard, einem Diskettenlaufwerk und/oder jeder anderen geeigneten I/O-Vorrichtung. Der ICH28 kann ebenfalls alternative Schnittstellen für Vorrichtungen vorsehen, wie etwa Parallel Advanced Technology Attachment (PATA)-Vorrichtungen38 und/oder Universal Serial Bus (USB)-Vorrichtungen40 . - Die HCs
24 und34 sehen eine Schnittstelle für jede geeignete SATA-Vorrichtung36 und/oder46 zu dem Prozessor22 und dem Speicher26 vor, wie etwa einem Festplattenlaufwerk (HDD), einem Kompaktdisk-Nur-Lesespeicher (CD-ROM), einem Digitale-Videodisk-Nur-Lesespeicher (DVD-ROM), um Daten und/oder Instruktionen zu speichern und/oder auszulesen. - Gemäß einer Ausführungsform umfaßt der Systemspeicher
26 ferner Instruktionen42 zum Testen eines HCs durch Auslassen von Prozessen und Zuständen, wie es bereits diskutiert worden ist. In einer alternativen Ausführungsform müssen die Instruktionen nicht in dem Speicher26 vorgehalten werden, da die Instruktionen in Firmware innerhalb des Computersystems10 , einem bestimmten Schaltkreis innerhalb des Computersystems10 , etc. umfaßt sein können. - Demnach umfaßt das Computersystem
10 ein maschinenlesbares Medium, worauf eine Gruppe von Instruktionen (das heißt Software) gespeichert ist, welche eine oder alle der hierin beschriebenen Methodologien verkörpert. Beispielsweise kann die Software vollständig oder zumindest teilweise in dem Speicher26 und/oder in dem Prozessor22 vorgehalten sein. In dieser Beschreibung ist der Begriff „maschinenlesbares Medium" dahingehend zu verstehen, daß darin jeder Mechanismus, welcher Informationen in einer von einer Maschine (bspw. einem Computer) lesbaren Form liefert (das heißt speichert, hervorholt und/oder überträgt), umfaßt sein soll. Beispielsweise umfaßt ein maschinenlesbare Medium einen Nur-Lesespeicher (ROM), Direktzugriffsspeicher (RAM), Magnetdiskspeichermedien, optische Speichermedien, Flash-Speichervorrichtungen, elektrisch/optisch/akustisch oder in anderer Form verbreitete Signale (bspw. Trägerwellen, Infrarotsignale, digitale Signale etc.) etc. - Obwohl die vorliegende Erfindung unter Bezugnahme auf spezifische beispielhafte Ausführungsformen beschrieben worden ist, wird es ersichtlich sein, daß verschiedene Modifikationen und Änderungen an diesen Ausführungsformen vorgenommen werden können, ohne von der breiteren Idee und dem Umfang der Erfindung abzuweichen. Demnach sind die Beschreibung und die Zeichnungen in einem erläuternden statt einem einschränkenden Sinne zu verstehen.
- ZUSAMMENFASSUNG
- Ein Verfahren und eine Vorrichtung zum Eintreten in eine Betriebsart eines Host-Controllers und Auslassen eines Zustandes einer Zustandsmaschinenabfolge des Host-Controllers zum Austauschen von Daten durch den Host-Controller werden offenbart. In einer Ausführungsform umfassen das Verfahren und die Vorrichtung das Setzen eines Bits, bevor eine Befehlsinformation an eine separate Vorrichtung übermittelt wird, und das Austauschen von Daten ohne Senden der Befehlsinformation an die separate Vorrichtung. Das Bit der Ausführungsform zeigt einen gegenwärtigen Task File-Status an
Claims (34)
- Verfahren, welches umfaßt Eintreten in einen Betriebszustand eines Host-Controllers; und Auslassen eines Zustandes einer Zustandsmaschinenabfolge des Host-Controllers vor einem Datenaustausch durch den Host-Controller.
- Verfahren nach Anspruch 1, welches ferner umfaßt Löschen eines Bits zum Anzeigen, daß der Host-Controller nicht aktiv ist, auf das Eintreten in den Betriebszustand hin; Setzen des Bits zum Anzeigen, daß der Host-Controller aktiv ist, auf das Eintreten in einen nachfolgenden Zustand in der Zustandsmaschinenabfolge hin vor dem Datenaustausch; und Austauschen von Daten.
- Verfahren nach Anspruch 1, wobei das Bit einen gegenwärtigen Task-File-Status anzeigt.
- Verfahren nach Anspruch 2, wobei das Bit gesetzt wird, bevor eine Befehlsinformation, die von einer separaten Vorrichtung zu empfangen ist, übertragen wird.
- Verfahren nach Anspruch 1, wobei das Auslassen des Zustandes zur Datenübertragung ein Auslassen des Übertragens eines Befehls, der von einer Vorrichtung zu empfangen ist, und/oder ein Empfangen einer Bestätigung, daß der Befehl erfolgreich übertragen worden ist, umfaßt.
- Verfahren nach Anspruch 5, welches ferner ein Auslassen des Wartens auf die Vorrichtung, um zu bestimmen, ob die Vorrichtung dazu bereit ist, Daten zu akzeptieren, und/oder des Empfangens einer bestätigten Antwort, daß die Vorrichtung dazu bereit ist, Daten zu akzeptieren, umfaßt.
- Verfahren nach Anspruch 1, wobei der Datenaustausch ein Übertragen von Daten oder ein Empfangen von Daten ist.
- Verfahren nach Anspruch 1, wobei der Host-Controller ein Advanced-Host-Controller-Interface Host-Controller ist.
- Verfahren nach Anspruch 1, wobei die Betriebsart eine Testbetriebsart ist.
- Verfahren, welches umfaßt Abrufen eines Befehls durch einen Host-Controller; Empfangen des Befehls durch den Host-Controller; und wobei der Host-Controller Daten austauscht, ohne eine Befehlsinformation zu übermitteln, die von einer separaten Vorrichtung zu empfangen ist.
- Verfahren nach Anspruch 10, wobei das Empfangen eines Befehls durch den Host-Controller ferner das Empfangen eines Befehls mit einer geänderten Befehlsstruktur durch den Host-Controller umfaßt.
- Verfahren nach Anspruch 11, wobei die geänderte Befehlsstruktur ein Befehl mit einer Länge der Befehls-Frame-Informationsstruktur gleich Null ist.
- Verfahren, welches umfaßt Abrufen eines Befehls durch einen Host-Controller; Empfangen des Befehls mit einer geänderten Befehlsstruktur durch den Host-Controller; und wobei der Host-Controller Daten austauscht, ohne einen Befehl, der von einer separaten Vorrichtung zu empfangen ist, zu übermitteln.
- Verfahren nach Anspruch 13, welches ferner umfaßt, daß der Host-Controller Daten austauscht, ohne darauf zu warten, daß die separate Vorrichtung bestätigt, daß der Befehl empfangen worden ist.
- Verfahren nach Anspruch 14, wobei die geänderte Befehlsstruktur eine Länge der Befehls-Frame-Informationsstruktur gleich Null umfaßt.
- Vorrichtung, welche umfaßt Mittel zum Eintreten in eine Betriebsart eines Host-Controllers; und Mittel zum Auslassen eines Zustandes einer Zustandsmaschinenabfolge des Host-Controllers vor dem Datenaustausch durch den Host-Controller.
- Vorrichtung nach Anspruch 16, welche ferner umfaßt Mittel zum Löschen eines Bits zum Anzeigen, daß der Host-Controller nicht aktiv ist, auf das Eintreten in die Betriebsart hin; Mittel zum Setzen des Bits, um anzuzeigen, daß der Host-Controller aktiv ist, auf das Eintreten in einen nachfolgenden Zustand in der Zustandsmaschinenabfolge hin vor dem Datenaustausch; und Mittel zum Austausch von Daten.
- Vorrichtung nach Anspruch 16, wobei die Mittel zum Auslassen des Zustandes zum Datenaustausch ein Mittel zum Auslassen von Mitteln zum Übertragen eines Befehls, der von einer separaten Vorrichtung zu empfangen ist, und/oder Mitteln zum Empfangen einer Bestätigung umfaßt, daß der Befehl erfolgreich übertragen worden ist.
- Verfahren nach Anspruch 18, welches ferner ein Auslassen von Mitteln zum Warten auf die separate Vorrichtung, um zu bestimmen, ob die separate Vorrichtung dazu bereit ist, Daten zu akzeptieren, und/oder Mitteln zum Erhalten einer bestätigten Antwort, daß die separate Vorrichtung dazu bereit ist, Daten zu akzeptieren, umfaßt.
- Vorrichtung, welche umfaßt Mittel zum Abrufen eines Befehls; Mittel zum Empfangen des Befehls; und Mittel zum Austauschen von Daten, ohne eine Befehlsinformation zu übermitteln, welche von einer separaten Vorrichtung zu empfangen ist.
- Verfahren nach Anspruch 20, wobei der Host-Controller, der einen Befehl empfängt, ferner umfaßt, daß der Host-Controller einen Befehl mit einer geänderten Befehlsstruktur empfängt.
- Verfahren nach Anspruch 21, wobei die geänderte Befehlsstruktur ein Befehl mit einer Länge der Befehls-Frame-Informationsstruktur gleich Null ist.
- Vorrichtung, welche umfaßt Mittel zum Abrufen eines Befehls; Mittel zum Empfangen eines Befehls; Mittel zum Austauschen von Daten ohne Übermitteln einer Befehlsinformation, die von einer separaten Vorrichtung zu empfangen ist; und Mittel zum Austausch von Daten ohne Warten darauf, daß die separate Vorrichtung bestätigt, daß die Befehlsinformation empfangen worden ist.
- Vorrichtung nach Anspruch 23, welche ferner Mittel zum Empfangen der Befehlsinformation mit einer geänderten Befehlsstruktur umfaßt.
- Vorrichtung nach Anspruch 24, wobei die Befehlsinformation mit einer geänderten Befehlsstruktur ein Befehl mit einer Länge der Befehls-Frame-Informationsstruktur gleich Null ist.
- Vorrichtung, welche umfaßt einen Host-Controller, wobei der Host-Controller dafür vorgesehen ist: einen Befehl aus einem Speicher abzurufen; den Befehl von dem Speicher zu empfangen; und Daten mit dem Host-Controller zwischen dem Speicher und einer separaten Vorrichtung auszutauschen, ohne eine Befehlsinformation zu übertragen, die von der Vorrichtung zu empfangen ist.
- Vorrichtung nach Anspruch 26, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
- Vorrichtung nach Anspruch 26, wobei die Vorrichtung eine Serial Advanced Technology Attachment-Vorrichtung ist.
- System, welches umfaßt einen System-Bus; ein synchrones Dynamic Random Access Memory (DRAM); und einen Host-Controller, der mit dem Bus gekoppelt ist, wobei der Host-Controller dazu vorgesehen ist: einen Befehl aus dem Systemspeicher abzurufen; den Befehl von dem Systemspeicher zu empfangen; und Daten mit dem Host-Controller zwischen einer separaten Vorrichtung und dem Systemspeicher auszutauschen, ohne eine Befehlsinformation zu übermitteln, die von der separaten Vorrichtung zu empfangen ist.
- System nach Anspruch 29, wobei das Austauschen von Daten ein Übertragen von Daten oder ein Empfangen von Daten ist.
- System nach Anspruch 29, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
- Erzeugnis, welches umfaßt ein maschinenlesbares Medium, welches Daten umfaßt, die, wenn darauf durch eine Maschine zugegriffen wird, bewirken, daß die Maschine Operationen ausführt, welche umfassen Abrufen eines Befehls aus einem Speicher durch einen Host-Controller; Empfangen des Befehls von dem Speicher durch einen Host-Controller; und Austauschen von Daten zwischen einer separaten Vorrichtung und dem Speicher durch den Host-Controller ohne ein Übertragen einer Befehlsinformation, die von der separaten Vorrichtung zu empfangen ist.
- Erzeugnis nach Anspruch 32, wobei das maschinenlesbare Medium ferner Daten umfaßt, die bewirken, daß die Maschine Operationen ausführt, welche umfassen, daß der Host-Controller Daten austauscht, ohne eine Bestätigung zu empfangen, daß der Befehl erfolgreich übertragen worden ist.
- Erzeugnis nach Anspruch 33, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US10/948,803 | 2004-09-22 | ||
| US10/948,803 US20060075164A1 (en) | 2004-09-22 | 2004-09-22 | Method and apparatus for using advanced host controller interface to transfer data |
| PCT/US2005/032933 WO2006036572A2 (en) | 2004-09-22 | 2005-09-13 | A method and apparatus for using advanced host controller interface to transfer data |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| DE112005002254T5 true DE112005002254T5 (de) | 2007-08-23 |
Family
ID=35925204
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE112005002254T Withdrawn DE112005002254T5 (de) | 2004-09-22 | 2005-09-13 | Verfahren und Vorrichtung zur Verwendung eines Advanced Host-Controller-Interface zur Datenübertragung |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US20060075164A1 (de) |
| JP (2) | JP4801669B2 (de) |
| CN (1) | CN101014942B (de) |
| DE (1) | DE112005002254T5 (de) |
| TW (1) | TWI311722B (de) |
| WO (1) | WO2006036572A2 (de) |
Families Citing this family (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7603514B2 (en) * | 2005-03-31 | 2009-10-13 | Intel Corporation | Method and apparatus for concurrent and independent data transfer on host controllers |
| US7464228B2 (en) * | 2006-05-31 | 2008-12-09 | Dell Products L.P. | System and method to conserve conventional memory required to implement serial ATA advanced host controller interface |
| US8856390B1 (en) * | 2008-03-28 | 2014-10-07 | Western Digital Technologies, Inc. | Using device control field to implement non-disruptive notification of an ATA device |
| US7827320B1 (en) * | 2008-03-28 | 2010-11-02 | Western Digital Technologies, Inc. | Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state |
| US8327040B2 (en) * | 2009-01-26 | 2012-12-04 | Micron Technology, Inc. | Host controller |
| US8291125B2 (en) * | 2011-02-16 | 2012-10-16 | Smsc Holdings S.A.R.L. | Speculative read-ahead for improving system throughput |
| US10209768B1 (en) | 2012-01-06 | 2019-02-19 | Seagate Technology Llc | File-aware priority driver |
| US9268692B1 (en) | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
| US9542324B1 (en) | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
| US9116694B2 (en) | 2012-09-26 | 2015-08-25 | Intel Corporation | Efficient low power exit sequence for peripheral devices |
| US9141563B2 (en) * | 2013-09-11 | 2015-09-22 | Kabushiki Kaisha Toshiba | Memory system |
| US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
| US9645752B1 (en) | 2014-04-07 | 2017-05-09 | Western Digital Technologies, Inc. | Identification of data committed to non-volatile memory by use of notification commands |
| KR101936950B1 (ko) | 2016-02-15 | 2019-01-11 | 주식회사 맴레이 | 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램 |
| KR102747429B1 (ko) * | 2019-05-05 | 2024-12-26 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템 |
Family Cites Families (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4183084A (en) * | 1977-06-06 | 1980-01-08 | Digital Equipment Corporation | Secondary storage facility with serial transfer of control messages |
| US5438674A (en) * | 1988-04-05 | 1995-08-01 | Data/Ware Development, Inc. | Optical disk system emulating magnetic tape units |
| US5293491A (en) * | 1990-12-28 | 1994-03-08 | International Business Machines Corp. | Data processing system and memory controller for lock semaphore operations |
| US5598579A (en) * | 1994-04-25 | 1997-01-28 | Compaq Computer Corporation | System fpr transferring data between two buses using control registers writable by host processor connected to system bus and local processor coupled to local bus |
| US5659718A (en) * | 1994-08-19 | 1997-08-19 | Xlnt Designs, Inc. | Synchronous bus and bus interface device |
| US6467054B1 (en) * | 1995-03-13 | 2002-10-15 | Compaq Computer Corporation | Self test for storage device |
| US5802392A (en) * | 1995-07-20 | 1998-09-01 | Future Domain Corporation | System for transferring 32-bit double word IDE data sequentially without an intervening instruction by automatically incrementing I/O port address and translating incremented address |
| US6055583A (en) * | 1997-03-27 | 2000-04-25 | Mitsubishi Semiconductor America, Inc. | DMA controller with semaphore communication protocol |
| US6026448A (en) * | 1997-08-27 | 2000-02-15 | International Business Machines Corporation | Method and means for exchanging messages, responses and data between different computer systems that require a plurality of communication paths between them |
| US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
| US6708233B1 (en) * | 1999-03-25 | 2004-03-16 | Microsoft Corporation | Method and apparatus for direct buffering of a stream of variable-length data |
| US6631431B1 (en) * | 1999-09-15 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Semaphore coding method to ensure data integrity in a can microcontroller and a can microcontroller that implements this method |
| US6609171B1 (en) * | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
| JP2001229120A (ja) * | 2000-02-18 | 2001-08-24 | Sharp Corp | チェーン式dmaの処理誤り検出方法及びdmaコントローラ |
| US6622189B2 (en) * | 2000-11-30 | 2003-09-16 | International Business Machines Corporation | Method and system for low overhead spin lock instrumentation |
| WO2002095556A1 (fr) * | 2001-05-18 | 2002-11-28 | Fujitsu Limited | Appareil ayant un mode attente, programme et procede de commande pour ledit appareil |
| US6799233B1 (en) * | 2001-06-29 | 2004-09-28 | Koninklijke Philips Electronics N.V. | Generalized I2C slave transmitter/receiver state machine |
| US6889265B2 (en) * | 2001-11-05 | 2005-05-03 | Intel Corporation | Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller |
| US6961787B2 (en) * | 2002-01-07 | 2005-11-01 | Intel Corporation | Method and apparatus for updating task files |
| TW569013B (en) * | 2002-02-21 | 2004-01-01 | Via Tech Inc | Chip test method for testing host controller of universal serial bus |
| US20040010625A1 (en) * | 2002-07-09 | 2004-01-15 | Silicon Integrated Systems Corp. | Interface device and method for transferring data over serial ATA |
| DE10239814B4 (de) * | 2002-08-29 | 2008-06-05 | Advanced Micro Devices, Inc., Sunnyvale | Erweiterte Testmodusunterstützung für Hostcontroller |
| US7072989B1 (en) * | 2002-09-27 | 2006-07-04 | Cypress Semiconductor, Inc. | USB peripheral device storing an indication of an operating power mode when a host went into hibernate and restarting at the power mode accordingly |
| US6901461B2 (en) * | 2002-12-31 | 2005-05-31 | Intel Corporation | Hardware assisted ATA command queuing |
| US6810443B2 (en) * | 2002-12-31 | 2004-10-26 | Intel Corporation | Optical storage transfer performance |
| US7010711B2 (en) * | 2003-06-25 | 2006-03-07 | Lsi Logic Corporation | Method and apparatus of automatic power management control for native command queuing Serial ATA device |
| US7149823B2 (en) * | 2003-08-29 | 2006-12-12 | Emulex Corporation | System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur |
| US7206973B2 (en) * | 2003-12-11 | 2007-04-17 | Lsi Logic Corporation | PCI validation |
| JP3736642B2 (ja) * | 2004-01-22 | 2006-01-18 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
| US20050216611A1 (en) * | 2004-03-29 | 2005-09-29 | Martinez Alberto J | Method and apparatus to achieve data pointer obfuscation for content protection of streaming media DMA engines |
| US7577772B2 (en) * | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
-
2004
- 2004-09-22 US US10/948,803 patent/US20060075164A1/en not_active Abandoned
-
2005
- 2005-09-13 WO PCT/US2005/032933 patent/WO2006036572A2/en not_active Ceased
- 2005-09-13 DE DE112005002254T patent/DE112005002254T5/de not_active Withdrawn
- 2005-09-13 CN CN2005800304468A patent/CN101014942B/zh not_active Expired - Fee Related
- 2005-09-13 JP JP2007532461A patent/JP4801669B2/ja not_active Expired - Fee Related
- 2005-09-15 TW TW094131834A patent/TWI311722B/zh not_active IP Right Cessation
-
2011
- 2011-02-23 JP JP2011037206A patent/JP2011146058A/ja not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011146058A (ja) | 2011-07-28 |
| WO2006036572A2 (en) | 2006-04-06 |
| WO2006036572A3 (en) | 2006-08-24 |
| JP4801669B2 (ja) | 2011-10-26 |
| TW200627287A (en) | 2006-08-01 |
| TWI311722B (en) | 2009-07-01 |
| US20060075164A1 (en) | 2006-04-06 |
| CN101014942A (zh) | 2007-08-08 |
| CN101014942B (zh) | 2010-05-05 |
| JP2008513889A (ja) | 2008-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE112005002254T5 (de) | Verfahren und Vorrichtung zur Verwendung eines Advanced Host-Controller-Interface zur Datenübertragung | |
| DE69225463T2 (de) | Verfahren und Gerät zur Verschachtelung von mehrkanaligen DMA-Operationen | |
| DE3725343C2 (de) | Vielzweck-Kanalsteuersystem | |
| DE68925474T2 (de) | Verriegelungsrechnersysteme | |
| DE19983026B4 (de) | Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu | |
| DE3152435C2 (de) | ||
| DE69227939T2 (de) | Gerätetreibersystem mit einer Schnittstelle zu einem generischen Betriebsystem | |
| DE602004007927T2 (de) | Integrierter schaltkreis, der mithilfe verschiedener kommunikationsprotokolle kommunizieren kann | |
| DE60216602T2 (de) | Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem | |
| DE69223304T2 (de) | Arbitrierungsverriegelungverfahren und -vorrichtung für einen entfernten Bus | |
| DE69025776T2 (de) | Anzeigesystem | |
| DE102011086098A1 (de) | Parallele Speicherlese- und Speicherschreib-Operationen in einem Speicher mit serieller Schnittstelle | |
| DE3688408T2 (de) | Drucker-magnetbanddatenverbindungsprozessor. | |
| DE69120993T2 (de) | Bildwiedergabeverfahren für Ton- und Bildsystem | |
| DE3855300T2 (de) | Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung | |
| DE102020117947A1 (de) | Verfahren zum optimieren der leistung und effizienz einer vorrichtung basierend auf host-gesteuerten hinweisen vor dem eintritt in niederleistung für blöcke und komponenten auf einer pci-express-vorrichtung | |
| DE102022127450B4 (de) | Vorrichtung, Verfahren und Speichermedium zur Bereitstellung eines TASTATUR/VIDEO/MONITOR-SWITCH FÜR SERVER OHNE INTEGRIERTEN VIDEOCONTROLLER | |
| EP1998498A1 (de) | Testvorrichtung und Testverfahren | |
| DE19882975B4 (de) | Zugreifen auf eine Nachrichtenaustauscheinheit von einem sekundären Bus aus | |
| DE102013209764B4 (de) | Unterstützung eines Fahrers eines Kraftfahrzeugs | |
| DE69730399T2 (de) | Schnittstellengerät zur Anpassung von Datenbreite an Systembusbreite | |
| DE60027941T2 (de) | Paketübertragungsvorrichtung mit Verwaltungsmittel zur Packungsetikettenverwaltung | |
| DE69629331T2 (de) | System und Verfahren zur Bereitstellung einer flexiblen Speicherhierarchie | |
| DE3830411A1 (de) | Informationsverarbeitungsvorrichtung | |
| DE69833817T2 (de) | Emulation und emulierte Bildschirmgeschichte |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| R016 | Response to examination communication | ||
| R016 | Response to examination communication | ||
| R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |