[go: up one dir, main page]

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 PDF

Info

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
Application number
DE112005002254T
Other languages
English (en)
Inventor
Eng Hun Georgetown Ooi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112005002254T5 publication Critical patent/DE112005002254T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information 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.

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 HC 50 ist mit der Testvorrichtung 52 über eine SATA-Schnittstelle 58 gekoppelt. Die Schnittstelle kann jede geeignete Schnittstelle sein, welche dem HC 50 die Fähigkeit verleiht, mit der Testvorrichtung 52 zu kommunizieren. Ferner kann die Testvorrichtung 52 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 und 1B dargestellten Konfigurationen implementiert werden. Die Konfigurationen aus 1A und 1B 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ßblock 60 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 Systemspeicher 26 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 in 1A oder 1B 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ßblock 64). In einer Ausführungsform kann das Auswählen eines Befehls durch ein Computersystem, wie etwa System 10, oder durch eine externe Hardware-Vorrichtung, wie in den 1A und 1B 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ßblock 66). 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ßblock 68). 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 in 3 dargestellt ist, würde der AHCI-Gerätetreiber den Inhalt einer Befehlsliste ändern, der von einem HC empfangen werden würde (Prozeßblock 70). 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ßblock 74), genauso, wie es der HC bezüglich der in 2 dargestellten Ausführungsform tat. Jedoch muß, im Gegensatz zu der Ausführungsform, die in 2 dargestellt ist, die Ausführungsform nach 3 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ßblock 76).
  • 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 System 10 zum Implementieren der hierin beschriebenen Vorrichtungen und Verfahren gemäß einer Ausführungsform dar. Obwohl im Zusammenhang des Systems 10 beschrieben, können Ausführungsformen in jedem geeigneten Computersystem implementiert werden.
  • Wie in 4 dargestellt ist, umfaßt das Computersystem 10 wenigstens einen HC 24. Das Computersystem 10 umfaßt ebenfalls einen Speicher 26 und einen Input/Output-Controller-Hub (ICH) 28. Der Prozessor 22, der Speicher 26, der/die HC(s) 24 und der ICH 28 sind mit einem Memory-Controller-Hub 48 gekoppelt. Der ICH 28 ist mittels eines Hub-Links 20 mit dem Memory-Controller-Hub gekoppelt. Alternativ kann der HC bzw. können die HCs 34 zusätzlich mit dem Memory-Controller-Hub 48 gekoppelt oder darin integriert sein.
  • Der Systemspeicher 26 dient dazu, Daten und/oder Instruktionen für das Computersystem 10 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 Computersystem 10 umfaßt ferner einen Graphik-Controller 30, der mit einer Anzeige 32 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 Computersystem 10 vor. Der ICH 28 kann jeden geeigneten Schnittstellencontroller zum Bereitstellen einer geeigneten Kommunikationsverbindung zu dem Prozessor 22 und zu dem Speicher 26 umfassen. Der ICH 28 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 ICH 28 kann ebenfalls alternative Schnittstellen für Vorrichtungen vorsehen, wie etwa Parallel Advanced Technology Attachment (PATA)-Vorrichtungen 38 und/oder Universal Serial Bus (USB)-Vorrichtungen 40.
  • Die HCs 24 und 34 sehen eine Schnittstelle für jede geeignete SATA-Vorrichtung 36 und/oder 46 zu dem Prozessor 22 und dem Speicher 26 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 Instruktionen 42 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 Speicher 26 vorgehalten werden, da die Instruktionen in Firmware innerhalb des Computersystems 10, einem bestimmten Schaltkreis innerhalb des Computersystems 10, 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 Speicher 26 und/oder in dem Prozessor 22 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)

  1. 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.
  2. 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.
  3. Verfahren nach Anspruch 1, wobei das Bit einen gegenwärtigen Task-File-Status anzeigt.
  4. Verfahren nach Anspruch 2, wobei das Bit gesetzt wird, bevor eine Befehlsinformation, die von einer separaten Vorrichtung zu empfangen ist, übertragen wird.
  5. 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.
  6. 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.
  7. Verfahren nach Anspruch 1, wobei der Datenaustausch ein Übertragen von Daten oder ein Empfangen von Daten ist.
  8. Verfahren nach Anspruch 1, wobei der Host-Controller ein Advanced-Host-Controller-Interface Host-Controller ist.
  9. Verfahren nach Anspruch 1, wobei die Betriebsart eine Testbetriebsart ist.
  10. 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.
  11. 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.
  12. Verfahren nach Anspruch 11, wobei die geänderte Befehlsstruktur ein Befehl mit einer Länge der Befehls-Frame-Informationsstruktur gleich Null ist.
  13. 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.
  14. 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.
  15. Verfahren nach Anspruch 14, wobei die geänderte Befehlsstruktur eine Länge der Befehls-Frame-Informationsstruktur gleich Null umfaßt.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.
  21. 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.
  22. Verfahren nach Anspruch 21, wobei die geänderte Befehlsstruktur ein Befehl mit einer Länge der Befehls-Frame-Informationsstruktur gleich Null ist.
  23. 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.
  24. Vorrichtung nach Anspruch 23, welche ferner Mittel zum Empfangen der Befehlsinformation mit einer geänderten Befehlsstruktur umfaßt.
  25. 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.
  26. 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.
  27. Vorrichtung nach Anspruch 26, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
  28. Vorrichtung nach Anspruch 26, wobei die Vorrichtung eine Serial Advanced Technology Attachment-Vorrichtung ist.
  29. 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.
  30. System nach Anspruch 29, wobei das Austauschen von Daten ein Übertragen von Daten oder ein Empfangen von Daten ist.
  31. System nach Anspruch 29, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
  32. 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.
  33. 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.
  34. Erzeugnis nach Anspruch 33, wobei der Host-Controller ein Serial Advanced Technology Attachment-Advanced Host Controller Interface-Host-Controller ist.
DE112005002254T 2004-09-22 2005-09-13 Verfahren und Vorrichtung zur Verwendung eines Advanced Host-Controller-Interface zur Datenübertragung Withdrawn DE112005002254T5 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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