DE10355583A1 - Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung - Google Patents

Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung Download PDF

Info

Publication number
DE10355583A1
DE10355583A1 DE10355583A DE10355583A DE10355583A1 DE 10355583 A1 DE10355583 A1 DE 10355583A1 DE 10355583 A DE10355583 A DE 10355583A DE 10355583 A DE10355583 A DE 10355583A DE 10355583 A1 DE10355583 A1 DE 10355583A1
Authority
DE
Germany
Prior art keywords
data
computer
transfer mode
data transfer
data stream
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
DE10355583A
Other languages
English (en)
Inventor
Robert Lissel
Bernd Schönfelder
Frank Barth
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.)
GlobalFoundries Inc
Original Assignee
Advanced Micro Devices Inc
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 Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Priority to DE10355583A priority Critical patent/DE10355583A1/de
Priority to US10/817,572 priority patent/US7165125B2/en
Publication of DE10355583A1 publication Critical patent/DE10355583A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bus Control (AREA)

Abstract

Es werden eine Speicherelementzentralsteuerung, etwa eine SATA-(serielle ATA)Zentralsteuerung, und ein entsprechendes Verfahren bereitgestellt, um eine Rechner-zu-Gerät- und eine Gerät-zu-Rechner-Kommunikation in einem PIO-(programmierten Ein/Aus)Datentransfermodus und einem DMA(direkter Speicherzugriff)Datentransfermodus bereitzustellen. Die Zentralsteuerung umfasst eine Puffereinheit zum Zwischenspeichern von Daten und eine Datenstromauswahleinheit zum Auswählen eines Datenstroms zur Weiterleitung an die Puffereinheit. Die Datenstromauswahleinheit ist so angeschlossen, um zu jeder Zeit einen Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem DMA-Datenstromtransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem PIO-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen und um aus den empfangenen Datenströmen den der Puffereinheit zuzuleitenden Datenstrom auszuwählen.

Description

  • HINTERGRUND DER ERFINDUNG
  • 1. GEBIET DER ERFINDUNG
  • Die Erfindung betrifft allgemein die Steuerung des Datentransfers zu und/oder von Speicherbauelementen und betrifft insbesondere SATA (Serie ATA) Steuerungen.
  • 2. BESCHREIBUNG DES STANDS DER TECHNIK
  • In Computersystemen sind Festplatten und andere Laufwerken, etwa CD oder DVD-Laufwerke, Bandlaufwerke, nicht stationäre Geräte mit hoher Kapazität, ZIP-Laufwerke und CDRW-Laufwerke Speichereinrichtungen, die mit dem Computer über eine Schnittstelle zum Definieren physikalischer und logischer Erfordernisse für das Ausführen eines Datentransfers zu und von den Einrichtungen verbunden werden können. Eine der populärsten Schnittstellen, die in modernen Computersystemen verwendet wird, ist im Allgemeinen als IDE (integrierte Ansteuerelektronik) bekannt ist. Die IDE-Ansteuerschnittstelle, die besser als AT- (anspruchsvolle Technologie) Anbindungs-(ATA)Scbnittstelle bezeichnet wird, wurde 1986 entwickelt und wurde etwa um 1988 standardisiert. Die Spezifikation, die eine Möglichkeit bietet, Zusatzdiskettenlaufwerke an der PC-(Personalcomputer)Architektur vorzusehen, wurde zu einer Vielzahl jüngerer Spezifikationen, etwa ATA/ATAPI, EIDE, ATA-2, Fast ATA, ATA-3, Ultra ATA, Ultra DMA (UDAMA), ATA-4 sowie viele weitere Weiterentwicklungen ergänzt. All diese Spezifikationen definieren Speicherschnittstellen für das Anbinden paralleler Speicherbauelemente und werden im Weiteren als kompatibel mit ATA bezeichnet.
  • Während die parallele ATA-Verbindung die wesentliche interne Speicherbindung für Arbeitsplatzrechner und Mobilrechner bislang auf Grund ihrer relativen Einfachheit, hohen Leistungsfähigkeit und geringen Kosten repräsentiert, besitzen ATA-kompatible Schnittstellen eine Reihe von Einschränkungen, die ihr die Möglichkeit nehmen, eine weitergehende Leistungsfähigkeit zu entwickeln. Einige dieser Einschränkungen sind beispielsweise die Erfordernis eines 5-Volt-Signalpegels und die hohe Anschlussstiftzahl. Diese und andere Eigenschaften paralleler ATA-Schnittstellen sind die Gründe, warum derartige Schnittstellen nicht erweitert werden können, um diverse Geschwindigkeitsverdoppelungsstufen zu unterstützen, wie dies in der Vergangenheit der Fall war, so dass diese Schnittstelle sich ihrer Leistungsgrenze nähert.
  • Aus diesem Grund und auch um ein weiterentwickelbares Leistungsverhalten für die nächste Dekade bereitzustellen, wurde die serielle ATA (SATA) als eine ATE-Spezifikation der nächsten Generation entwickelt. SATA ist ein entwicklungsbedingter Ersatz für die parallele ATA-Schnittstelle für physikalische Speicher und ist so gestaltet, um 100% softwarekompatibel mit heutigen ATA's zu sein, dabei aber eine wesentlich geringere Anschlussstiftzahl aufzuweisen, so dass dünnere flexiblere Kabel möglich sind. Auf Grund der beibehaltenen Softwarekompatibilität sind keine Änderungen in heutigen Treibern und Betriebssystemen erforderlich. Ferner trägt die geringere Anschlussstiftzahl ebenso zu Vorteilen im Systementwurf von Hauptplatinen und ihren Chipsätzen und anderen integrierten Siliziumkomponenten bei.
  • Wie zuvor erwähnt ist, ist eine der Hauptmerkmale der SATA-Schnittstelle die Softwarekompatibilität zu parallelen ATA-Steuerungen. Dies kann besser verstanden werden aus einem Vergleich der 1 und 2, die die Verbindung bei der standardmäßigen ATA und der seriellen ATA (SATA) zeigen.
  • 1 zeigt, wie ATA-kompatible parallele Speicherelemente mit einem Computersystem verbunden sind, um einen Datentransfer zu und von den Elementen zu ermöglichen, wobei das Computersystem ein Betriebssystem 115 aufweist, das die Hauptsoftware darstellt, die auf dem Computer läuft. Es können weitere mehrere Anwendungsprogramme 100, 105, 110 vorhanden sein, die für gewöhnlich eine Anwenderschnittstelle zur Bereitstellung von Information für den Anwender und zum Empfang von Eingabedaten aufweisen. Selbstverständlich existieren auch Anwendungsprogramme ohne Anwenderschnittstelle. Ferner gibt es im Allgemeinen eine Betreibersoftware 120, die eine zusätzliche Softwarekomponente oder ein Teil des Betriebssystems 115 sein kann und die insbesondere betrieben wird, um mit der ATA-kompatiblen Hardware zu wechselwirken. Diese Hardware beinhaltet den ATA-Adapter 125, der Datensignale mit Elementen 135, 140 über einen parallelen Anschluss 130 austauscht. Der ATA-Adapter 125 wird auch als ATA-Steuerung – häufig zusammen mit dem parallelen Anschluss 130 – bezeichnet.
  • 2 zeigt die entsprechenden Teile eines Computersystems mit einer SATA-Schnittstelle, wobei keine Änderung in den Anwendungsprogrammen 100, 105, 110, dem Betriebssystem 115 oder dem Treiber 120 erforderlich sind. Auf der Hardwareseite ist ein SATA-Adapter 200 vorgesehen, der mit einem oder mehreren seriellen Anschlüssen 210, 215 zum Austausch von Signalen mit seriellen Elementen 220, 225 verbunden ist. D. h., während lediglich ein SATA-Adapter 200 in 2 gezeigt ist, beinhalten andere Konfigurationen einen einzelnen SATA-Adapter 200 für jedes Element 220, 225. Das SATA unterstützende Computersystem aus 2 unterscheidet sich von dem System aus 1 dahingehend, dass die Elemente und Anschlüsse seriell sind und das ein geeigneter SATA kompatibler Adapter 200 vorgesehen ist. Bei genauerer Betrachtung des Adapters kann man erkennen, dass der SATA-Adapter 200 so verstanden werden kann, dass dieser einen ATA-Adapter 125 aufweist, der mit einem Parallel-Seriell-Wandler 205 in Verbindung steht, um eine parallel zu seriell und seriell zu parallel-Umwandlung von Datensignalen durchzuführen.
  • Da weder in dem Betriebssystem 115 noch in der Treibersoftware 120 spezifische Anpassungen an die SATA-Spezifikation erforderlich sind, ist die Schnittstelle aus 2 softwarekompatibel zu der Technik aus 1. Somit ist SATA eine Austauschlösung und heutige Software läuft auf der neuen Architektur ohne Modifizierung. In Anbetracht dieses Merkmals und der zuvor beschriebenen anderen Vorteile und wenn ferner berücksichtigt wird, dass SATA kompatible Steuerungen und Bauelemente ungefähr die gleichen Kosten wie konventionelle Einheiten aufweisen, kann erwartet werden, das SATA letztlich vollständig parallele ATA-Schnittstellen ersetzen wird. Die Anwendung von SATA durch die Industrie wird einem Übergang in Phasen folgen und es wird einen Punkt geben, an dem parallele und serielle ATA-Fähigkeiten verfügbar sind.
  • In SATA-Zentral(host)steuerungen und anderen Zentralsteuerungen für Speicherelemente gibt es Datenkommunikation in zwei Richtungen, d. h. von dem Zentralrechner zu dem Speicherelement und von dem Element zu dem Zentralrechner. Ferner kann es für jede Richtung zwei mögliche Datentransfermodi geben: den DMA (direkter Speicherzugriff) Modus und den PIO (programmierter Ein/Aus) Modus. Das Betreiben der Zentralsteuerung in dem PIO-Modus wird typischerweise in Hinblick auf die Rückwärtskompatibilität durchgeführt. Bei Berücksichtigung der beiden möglichen Datentransfermodi und der beiden Kommunikationsrichtungen ist es für eine derartige Zentralsteuerung erforderlich, vier unterschiedliche Datenströme zu handhaben.
  • Wie es sich gezeigt hat, führt dies zu einer Reihe von Nachteilen. Beispielsweise die Erfordernis, vier verschiedene Datenströme zu handhaben, macht es erforderlich, Schaltungskomponenten bereitzustellen, die speziell für jeden einzelnen Strom geeignet sind. Dies vergrößert den Schaltungsaufwand auf einem integrierten Schaltungschip und führt daher zu erhöhten Herstellungskosten. Da ferner die gesamte spezifische Schaltung an die Gesamtarchitektur angepasst werden muss, ergibt sich ein deutlicher Abfall in der Effizienz.
  • ÜBERBLICK ÜBER DIE ERFINDUNG
  • Es wird eine verbesserte Zentralsteuerungstechnik bereitgestellt, die die Effizienz und die Schaltungsdichte verbessern kann, ohne die Herstellungskosten zu erhöhen.
  • In einer Ausführungsform wird eine SATA-Zentralsteuerung bereitgestellt, die in der Lage ist, einen Rechner-zu-Gerät und Gerät-zu-Rechner-Kommunikation auszuführen. Die Steuerung ist in einem PIO-Datentransfermodus und in einem DMA-Datentransfermodus betreibbar. Die Zentralsteuerung umfasst eine Puffereinheit zum Speichern von Daten und eine Datenstromauswahleinheit zum Auswählen eines Datenstromes zur Zuleitung an die Puffereinheit. Die Datenstromauswahleinheit ist so angeschlossen, um jederzeit einen Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem DMA-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem PIO-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen. Die Datenstromauswahleinheit ist ferner so ausgebildet, um aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Puffereinheit zuzuleiten ist.
  • In einer weiteren Ausführungsform wird eine Speicherelementzentralsteuerung bereitgestellt, die in der Lage ist, eine Rechner-zu-Gerät und eine Gerät-zu-Rechner-Kommunikation auszuführen. Die Zentralsteuerung ist in einen programmierten Eingabe/Ausgabe-Datentransfermodus und in einen Datentransfermodus mit direktem Speicherzugriff betreibbar. Die Zentralsteuerung umfasst eine Puffereinheit zum Speichern von Daten und eine Datenstromauswahleinheit zur Auswahl eines Datenstroms zur Zuleitung zu der Puffereinheit. Die Datenstromauswahleinheit ist so angeschlossen, um jederzeit einen Rechner-zu-Gerät-Datenstrom in dem programmierten Eingage/Ausgabe- Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff und/oder einen Gerät-zu-Rechner-Datenstrom in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff zu empfangen. Die Datenstromauswahleinheit ist ferner so ausgebildet, um aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Puffereinheit zuzuleiten ist.
  • In einer weiteren Ausführungsform wird ein integrierter Schaltungschip zum Ausführen einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-ATA-Kommunikation durchzuführen, wobei der integrierte Schaltungschip in einem PIO-Datentransfermodus und einem DMA-Datentransfermodus betreibbar ist. Der integrierte Schaltungschip umfasst eine Pufferschaltung zum Speichern von Daten und eine Datenstromauswahlschaltung zum Auswählen eines Datenstroms für die Zuleitung zu der Pufferschaltung. Die Datenstromauswahlschaltung ist so angeschlossen, um zu jeder Zeit einen Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem DMA-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem PIO-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen. Die Datenstromauswahlschaltung ist ferner ausgebildet, aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Pufferschaltung zuzuleiten ist.
  • In einer noch weiteren Ausführungsform wird ein Verfahren zum Betreiben einer SATA-Zentralsteuerung zur Durchführung einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-Kommunikation in einem PIO-Datentransfermodus und einem DMA-Datentransfermodus bereitgestellt. Das Verfahren umfasst das Empfangen eines Rechner-zu-Gerät-Datenstromes in dem PIO-Datentransfermodus und/oder eines Rechner-zu-Gerät-Datenstroms in dem DMA-Datentransfermodus und/oder eines Gerät-zu-Rechner-Datenstroms in dem PIO-Datentransfermodus und/oder eines Gerät-zu-Rechner-Datenstroms in dem DMA-Datentransfermodus, Auswählen aus den empfangenen Datenströmen eines Datenstroms, der zu speichern ist, und Speichern der Daten des ausgewählten Datenstroms in einer Puffereinheit.
  • In einer noch weiteren Ausführungsform wird ein Verfahren zum Betreiben einer Speicherelementszentralsteuerung zur Durchführung einer Rechner-zu-Gerät- und einer Gerät-zu- Rechner-Kommunikation in einem programmierten Eingabe/Ausgabe-Datentransfermodus und in einem Datentransfermodus mit direktem Speicherzugriff bereitgestellt. Das Verfahren umfasst: Empfangen zu einer beliebigen Zeit einen Rechner-zu-Gerät-Datenstrom in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom im Datentransfermodus mit direktem Speicherzugriff und/oder einen Gerät-zu-Rechner-Datenstrom in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff, Auswählen aus den empfangenen Datenströmen einen zu puffernden Datenstrom und Speichern der Daten des ausgewählten Datenstromes in einer Puffereinheit.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die begleitenden Zeichnungen sind in die Anmeldung mit integriert und bilden einen Teil davon, um die Prinzipien der Erfindung zu erläutern. Die Zeichnungen sind nicht dazu gedacht, die Erfindung lediglich auf die dargestellten und beschriebenen Beispiele einzuschränken, wie die Erfindung hergestellt und verwendet werden kann. Weitere Merkmale und Vorteile gehen aus der folgenden spezielleren Beschreibung der Erfindung hervor, wie sie auch in den begleitenden Zeichnungen dargestellt ist, wobei:
  • 1 eine Blockansicht ist, die eine konventionelle ATA-Verbindung darstellt;
  • 2 eine Blockansicht ist, die eine standardmäßige SATA-Verbindung zeigt;
  • 3 eine Blockansicht ist, die eine SATA-Architektur gemäß einer Ausführungsform zeigt;
  • 4 eine SATA-Schleifenabarbeitung zeigt, wenn eine Gerät-zu-Rechner-Kommunikation im DMA-Datentransfermodus stattfindet;
  • 5 Pufferfüllpegel zeigt gemäß einer Ausführungsform, die bei einem Gerät-zu-Rechner-Kommunikation im DMA-Datentransfermodus zu verwenden ist;
  • 6 die Komponenten der Puffereinheit gemäß einer Ausführungsform zeigt;
  • 7 ein Zeitablaufdiagramm ist, das das Verhalten des Ausleseports der Puffereinheit gemäß einer Ausführungsform zeigt;
  • 8 ein Zeitablaufdiagramm ist, das das Verhalten des Schreibports der Puffereinheit in einem vorbelegten Modus gemäß einer Ausführungsform zeigt;
  • 9 ein Zeitablaufdiagramm ist, das das Verhalten des Schreibports der Puffereinheit in einem Direktadressiermodus gemäß einer Ausführungsform zeigt; und
  • 10 ein Flussdiagramm ist, das Schritte darstellt, die in einer Ausführungsform zum Betreiben der Puffereinheit angewendet werden.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die anschaulichen Ausführungsformen der vorliegenden Erfindung werden nun mit Bezug zu den Figuren beschrieben, wobei ähnliche Elemente und Strukturen durch gleiche Bezugszeichen belegt sind.
  • Es sei nun auf die Figuren hingewiesen und insbesondere auf 3, die die SATA-Rechnerarchitektur gemäß einer Ausführungsform zeigt, und wobei eine SATA-Zentralsteuerung 300 vorgesehen ist, die mit einer physikalischen Schnittstelleneinheit 335 verbunden ist. Die SATA-Zentralsteuerung 300 ist in zwei wesentliche Blöcke unterteilt; die Zentralschnittstelleneinheit 305 und die SATA-Steuerungseinheit 310. Die Zentralschnittstelleneinheit 305 stellt in der vorliegenden Ausführungsform eine interne Hochgeschwindigkeitsschnittstelle zu einer Hypertransport-Steuerung bereit, die vorgeschaltet ist. Die SATA-Steuerungseinheit 310 kann eine Transport-, Verbindungs- und physikalische Ebeneneinheit enthalten, wie sie in der SATA-Spezifikation bezeichnet ist. Die physikalische Schnittstelleneinheit 335 kann für das Seriellmachen/Parallelmachen und das Übertragen/Empfangen der analogen Differenzsignale zuständig sein und kann vollständig von der SATA-Zentralsteuerung 300 getrennt sein.
  • Die Zentralschnittstelleneinheit 305 umfasst eine Busmastereinrichtung 315, die DMA-Übertragungen durch Zugriff auf den Rechnerspeicher mittels einer internen Hochgeschwindigkeitsschnittstelle durchführt, und umfasst eine Zielschnittstelleneinheit 220, die diverse Konfigurations-, Steuer- und Statusregister enthalten kann, auf die von der Rechnersoftware über eine interne Hochgeschwindigkeitszielschnittstelle zugegriffen wird.
  • Auf Grund der beiden möglichen Datentransfermodi (PIO, DMA) für die Rechner-zu-Gerät- und Gerät-zu-Rechner-Kommunikation werden vier unterschiedliche Datenströme gehandhabt. Wie in 3 dargestellt ist, werden die Gerät-zu-Rechner-PIO und DMA-Daten in die Zentralschnittstelleneinheit 305 von der SATA-Steuerungseinheit 310 eingespeist. Die Gerät-zu-Rechner-PIO-Daten erreichen dann die Zielschnittstelleneinheit 320, während die Gerät-zu-Rechner-DMA-Daten die Busmastereinrichtung 315 erreichen. In Richtung stromabwärts werden Rechner-zu-Gerät-PIO-Daten von der Zielschnittstelleneinheit 220 ausgegeben, während Rechner-zu-Gerät-DMA-Daten von der Busmastereinrichtung 315 eintreffen. In beiden Datentransfermodi werden dann die Rechner-zu-Gerät-Daten von der Zentralschnittstelleneinheit 305 an die SATA-Steuerungseinheit 210 weitergeleitet.
  • Wie man aus 3 erkennen kann, kann die Zentralschnittstelleneinheit 305 ferner eine Puffereinheit 325 aufweisen, die ein FIFO-Puffer (als erstes eingelesen als erstes ausgelesen) sein kann, und kann eine Datenstromauswahleinheit 330 aufweisen, die ein Multiplexer sein kann. Der Multiplexer 330 ist mit der Busmastereinrichtung 315 so verbunden, um Rechner-zu-Gerät-DMA-Daten zu empfangen und ist mit der Zielschnittstelleneinheit 320 so verbunden, um Rechner-zu-Gerät-PIO-Daten zu empfangen, und ist mit der SATA-Steuerungseinheit 310 so verbunden, um Gerät-zu-Rechner-PIO und DMA-Daten zu empfangen. Der Multiplexer 330 wählt einen der empfangenen Datenströme aus und leitet die ausgewählten Daten zu der Puffereinheit 325. Die Puffereinheit 325 ist mit der Busmastereinrichtung 315 verbunden, um Gerät-zu-Rechner-DMA-Daten bereitzustellen, ist mit der Zielschnittstelleneinheit 320 verbunden, um Gerät-zu-Rechner-PIO-Daten zu liefern und ist mit der SATA-Steuerungseinheit 310 verbunden, um Rechner-zu-Gerät-PIO- und DMA-Daten zu liefern.
  • Somit wird ein gemeinsam genutzter Datenpuffer bereitgestellt, der kontinuierlich Datenströme an der SATA-Datenverbindung für gemeinsame Betriebsmodi bereitstellen kann. Die Puffertechnik der Ausführungsformen stellt sicher, dass kein Datenverlust auftritt, sofern nicht ein Systemfehler auftritt. Somit wird eine Puffertechnik für SATA-Zentralsteuerungen oder andere Speicherelementsteuerungen bereitgestellt, wobei ein Datenpuffer gemeinsam für den PIO und den DMA-Modus in beiden Richtungen verwendet wird.
  • Wenn die Rechner-zu-Gerät-Kommunikation in dem DMA-Datentransfermodus ausgeführt wird, kann die Puffereinheit 325 insbesondere so ausgebildet sein, um von der Hypertransportsteuerung ankommende Daten zu speichern. Die Busmastereinrichtung 315 kann dann sicherstellen, dass freier Pufferplatz für alle anstehenden Leseanforderungen bereitsteht. Jeder Lesebefehl kann eine maximale dWort-(Doppelwort)Anzahl von 16 anfordern. Die Anzahl der anstehenden Leseanforderungen kann dann die Größe der Puffereinheit 325 für Rechner-zu-Gerät-DMA-Daten definieren.
  • Die erreichte Rechner-zu-Gerät-Datenrate hängt hauptsächlich von der Latenzzeit des Zentralrechners und der Zeit, die zum Leeren des Puffers 325 erforderlich ist, ab. Charakteristisch für die Rechnerlatenzzeit sind Werte zwischen 0.8 μs < LH < 1.2 μs. Die Zeit, die zum Auslesen einer Speicherzeile aus dem Datenpuffer 325 erforderlich ist, kann für die volle SATA-Datenrate von 1.50 MB/s zu 0.43 μs abgeschätzt werden. Wenn angenommen wird, dass lediglich Zugriffe bei voller Rechnerspeicherzeile erfolgen, kann die Nutzgröße durch 64 Bytes definiert werden, wobei die Zeit für das Übertragen von 16 dWörtern ohne Pausierung bei 100 MHz Taktfrequenz 160 ns trägt, die Bearbeitungszeit 40 ns beträgt, die durchschnittliche Latenzzeit 0.08 μs und die Zentralrechnerlatenzzeit 1.2 μs beträgt. Die maximal erreichte Datenrate kann als eine Funktion der Anzahl der anstehenden Anforderungen von 33.51 MB/s × n definiert werden.
  • Um daher die volle SATA-Datenrate von 150 MB/s mit diesen Parametern zu erreichen, sollten mindestens 5 anstehende Leseanforderungen von der Busmastereinrichtung 315 unterstützt werden. Die Puffereinheit 325 der vorliegenden Ausführungsform besitzt daher eine minimale Puffergröße von 5 Speicherzeilen, d.h. 320 Bytes. Bei dieser Rechnung wird unterstellt, dass alle Antworten in der gleichen Sequenz eintreffen, in der diese angefordert wurden, unter der Voraussetzung der fixierten Rechnerlatenzzeit. Wenn jedoch Antworten außerhalb der Reihenfolge eintreffen, müssen diese ggf. neu geordnet werden, bevor diese dem SATA-Gerät zugeleitet werden. Dies verringert die erreichte Rechner-zu-Gerät-DMA-Datenrate, die zuvor berechnet wurde.
  • Die maximale Schnittstellendatenrate kann erreicht werden, wenn Pakete mit der maximalen Paketlänge von 16 dWörtern angefordert werden. Dies kann sichergestellt werden durch die Rechnersoftware, die Deskriptoren für die physikalischen Gebiete (PRD) definiert, die auf große Speichergebiete zeigen. Ansonsten muss die Busmastereinrichtung 315 auch kleinere Pakete anfordern, um der Regel von Cachespeicherzeilen angepassten Anforderungen zu entsprechen.
  • Die volle SATA-Schnittstellendatenrate von 150 MB/s wird für den gemeinsamen Betriebsmodus bereitgestellt, in welchem andere Geräte mit der Hypertransport-Steuerung verbunden sind und auch andere Paketlängen, die kleiner als 16 dWörter sind, auftreten. Somit kann die Anzahl der unterstützten anstehenden Anforderungen größer als 5 sein. Um die geforderte Datenrate sicherzustellen, wird in der vorliegenden Ausführungsform eine Puffergröße von 6 Speicherzeilen, d. h. 96 dWörter oder 384 Bytes gewählt, um 6 anstehende Datenleseanforderungen zu unterstützen.
  • Im Falle, dass die Puffereinheit 325 in dem Rechner-zu-Gerät-DMA-Datentransfermodus gelehrt wird, kann die SATA-Steuerungseinheit 310 "Halte"-Anweisungen in den übertragenen Datenstrom anstelle von Daten einfügen.
  • Es wird nun der Funktionsmodus erläutert, in dem die Puffereinheit 325 so gesteuert wird, um Gerät-zu-Rechner-DMA-Daten zu handhaben; dabei wählt der Multiplexer 330 den ankommenden Gerät-zu-Rechner-DMA-Datenstrom von der SATA-Steuerungseinheit 310 aus, und die Puffereinheit 325 gibt die übertragenen Daten an den Zentralrechner mittels der Busmastereinrichtung 315 weiter. Die vorliegende Ausführungsform stellt ferner einen Mechanismus bereit, um ein Überlaufen des Puffers zuverlässig zu vermeiden.
  • In der vorliegenden Ausführungsform sendet der Zentralrechner, wenn die Puffereinheit 325 in Begriff ist, voll gefüllt zu werden, Halteanweisungen zu dem Gerät, um den Datentransfer zu stoppen. Das Gerät antwortet dann mit spezifischen Halteanweisungen anstelle von Daten. Der Datentransfer von dem Gerät kann jedoch unter Umständen nicht unmittelbar nach Empfang der Halteanweisung gestoppt werden, da es möglich sein kann, dass bis zu 20 gültige Daten-dWörter folgen, nachdem der Zentralrechner Halteanweisungen zu dem Gerät über die serielle Schnittstelle gesendet hat. Zudem kann die SATA-Zentralsteuerung 300 selbst eine Latenzzeit von 12 dWörtern zwischen dem Erkennen des letzten Puffer speicherplatzes und dem Aussenden der Halteanweisungen aufweisen. Wenn Daten von der seriellen Schnittstelle empfangen werden, kann die gleiche Latenzzeit auch innerhalb der Busmastereinrichtung 315 auftreten bis Daten an der Puffereinheit 325 eintreffen. Somit kann eine 44 dWortschleifenabarbeitung (Pipeline) vorhanden sein, wie dies in 4 gezeigt ist.
  • Um diese Situation zu handhaben, kann die Puffereinheit 325 der vorliegenden Ausführungsform so gestaltet sein, dass diese zwei vordefinierte Füllpegel aufweist, wenn eine Gerät-zu-Rechner-Kommunikation in dem DMA-Datentransfermodus ausgeführt wird. Dies ist detaillierter in 5 gezeigt.
  • Der "Hochwasser" Füllpegel 500 ist so definiert, dass immer noch 44 dWörter frei sind, so dass Halteanweisungen rechtzeitig gesendet werden können. Um zu vermeiden, dass der Datentransfer wieder und wieder unterbrochen wird, ist ein "Fortsetzungs-"Füllpegel 505 so definiert, dass 48 dWörter frei sind. Der Füllpegel 505 kann angewendet werden, um zu spezifizieren, wenn der Zentralrechner den Datentransfer fortsetzen darf, wenn dieser zuvor unterbrochen wurde.
  • Um nicht nur Pufferüberläufe, sondern auch unnötige Festplattenstoppvorgänge für den gemeinsamen Betriebsmodus zu vermeiden, kann die Arbitrationszeit des Hypertransportsteuerungsblocks in Betracht gezogen werden. Während dieser Zeit kann die Speichereinheit 325 unter Umständen nicht geleert werden, sondern mit 150 MB/s gefüllt werden, was maximal zu 135 Bytes oder 33.75 dWörtern führt, die an dem SATA-Gerät ankommen. Um diese Menge an Daten zwischenzuspeichern, ohne den "Hochwasser-"Füllpegel 500 zu erreichen, kann die Größe der Puffereinheit 325 auf 5 Speicherzeilen, d.h. 80 dWörter oder 320 Bytes festgelegt werden.
  • Es wird nun der PIO-Datentransfermodus der Puffereinheit 325 erläutert; die PIO-Datenhandhabung kann durch eine große CPU-Auslastung, durch eine geringe Nutzgröße und durch Nichtverwenden mehrfacher anstehender Anforderungen begrenzt sein. Die vorliegende Ausführungsform kann daher einfach die Datenintegrität in dem Sinne sicherstellen, dass Pufferüberläufe und Unterläufe vermieden werden. Somit wird der SATA-Ablaufsteuerungsmechanismus sowohl in der Gerät-zu-Rechner und in der Rechner-zu-Gerät-Richtung angewendet, wie dies auch für die DMA-Zugriffe der Fall ist.
  • Somit nutzt die vorliegende Erfindung zwei 32-Bit-Register zum Sammeln vollständiger dWörter für Rechner-zu-Gerät-PIO-Übertragungen und die Flusssteuerung kann ohne weitere Verzögerung angewendet werden, indem nur Halteanweisungen anstelle von Daten gesendet werden. Wenn der Flusssteuerungsmechanismus für Gerät-zu-Rechner-PIO-Datenübertragungen angewendet wird, kann die SATA-Schleifenabarbeitung betrachtet werden, wie sie zuvor mit Bezug zu 4 erläutert ist. Somit kann der Datenpuffer 325 der vorliegenden Ausführungsform so gestaltet sein, um eine Speichertiefe von wenigstens 45 dWörtern in dem Gerät-zu-Rechner-PIO-Datentransfermodus aufzuweisen.
  • Zusammengefasst gilt: die Puffereinheit 325 der vorliegenden Ausführungsform besitzt eine minimale Speicherkapazität von 384 Bytes für Rechner-zu-Gerät-DMA-Daten, 320 Bytes für Gerät-zu-Rechner-DMA-Daten, 8 Bytes für Rechner-zu-Gerät-PIO-Daten und 180 Bytes für Gerät-zu-Rechner-PIO-Daten. Da die SATA-Spezifikation sicherstellen kann, dass niemals zwei dieser vier Datenströme gleichzeitig auftreten, sind in den Ausführungsformen lediglich ein Datenpuffer, der für alle Datenübertragungen verwendet wird, vorgesehen, wobei ein beachtlicher Betrag an Chipfläche gespart wird. Die Tiefe des gemeinsamen Puffers 325 kann dann durch die größte minimale Pufferkapazität, d. h. diejenige, die für die Rechner-zu-Gerät-DMA-Übertragungen berechnet ist, definiert werden.
  • Wie bereits zuvor erwähnt ist, werden die vier Datenströme durch den Multiplexer 330 gebündelt. Der Multiplexer 330 verwendet ein Auswahlsignal, das aus dem Busmasteraktivsignal, dem Busmasterlese/Schreibauswahlsignal und dem PIO-Lesesignal aus der Transportschichteinheit der SATA-Steuerungseinheit 310 erzeugt wird.
  • Die Puffereinheit 325 kann so implementiert sein, dass Leseantworten (Rechner-zu-Gerät-DMA-Daten), die von der Busmastereinrichtung 315 angefordert werden, außer der Reihe eintreffen und wieder geordnet werden, bevor diese an die SATA-Steuerungseinheit 310 übertragen werden. Daher kann die interne Schreibadresse so manipuliert werden, um den Puffer 325 wie einen RAM (Speicher mit wahlfreiem Zugriff) zu beschreiben, aber diesen wie einen gewöhnlich bekannten FIFO auszulesen.
  • In 6 sind die Komponenten des gemeinsam genutzten SATA-Puffers 325 gemäß einer Ausführungsform dargestellt. Der Puffer 325 stellt einen 32-Bit Lese- und Schreibdatenan schlussport bereit, besitzt eine konfigurierbare Tiefe von beispielsweise 128 dWörtern, ermöglicht Wort/dWort Lese- und Schreibvorgänge, erlaubt gleichzeitige Lese- und Schreibprozesse, ermöglicht es, auf direkte FIFO-Adressen zu schreiben (Wort-justiert mit 8 Bit breiten Adressen), ermöglicht ein Löschen des FIFO (d. h. ein Zurücksetzen der Lese- und Schreibzeiger) und liefert Statussignale, etwa voll, leer, verbleibende Daten und freier Speicherplatz.
  • Der gemeinsam genutzte, an die Geschwindigkeit angepasste SATA-FIFO aus 6 kann eine Antwortneuordnung für Rechner-zu-Gerät-DMA-Übertragungen unterstützen. Somit kann es möglich sein, Daten in den FIFO zu schreiben, wobei eine direkte Adresse (FIFO-Adresse), die in der für den Busmaster zuständigen Tabelle gespeichert ist, anstelle des internen Schreibzeigers genutzt wird. Der Schreibzeiger kann verwendet werden, um die Anzahl der gültigen in den FIFO 325 geschriebenen Daten zu berechnen. Eine direkte Adressierung kann aktiviert werden, indem das Signal für den Direktadressenmodus gesetzt wird. Nachdem die gleiche Menge an Daten in den FIFO 325 unter Nutzung der direkten Adressierung geschrieben wurde, kann der Schreibzeiger aktualisiert werden. Das Aktualisierungswertsignal spezifiziert die Anzahl der Wörter, mit denen der Zeiger zu setzen ist. Der FIFO Lesezeiger kann aktualisiert werden, wenn das Aktualisierungssignal bestätigt ist. Zwei Taktzyklen nach dem Aktualisieren des Schreibzeigers kennzeichnet das Signal für die verbleibenden Daten den neuen Betrag gültiger Daten, die an den FIFO-Ausleseanschluss anstehen.
  • In der vorliegenden Ausführungsform schreiben die SATA-Steuerungseinheit 310 oder die Zielschnittstelleneinheit 320 nicht in den FIFO 325 unter dem direkten Adressierungsmodus. In diesem Falle kann der Schreibzeiger mit jedem Schreibzugriff aktualisiert werden. Somit ist das Aktualisierungssignal mit dem negierten Schreibfreigabesignal verbunden, wohingegen das Aktualisierungswertsignal zwischen zwei und eins für gWort-weise oder wortweise Zugriffe hin- und herspringt. Das Direktadressierungsmodussignal kann dann auf logisch Null festgelegt werden. Für das Blockauslesen aus dem FIFO 325 kann es unter Umständen nicht sichtbar sein, ob der FIFO 325 im direkten Adressierungsmodus beschrieben wird oder nicht.
  • PIO und DMA-Daten werden über die interne Hochgeschwindigkeitsschnittstellenverbindung in Worteinheiten oder dWorteinheiten übertragen, und ein Datenrahmen, der an dem Gerät eintrifft, kann auch eine ungerade Anzahl von Wörtern enthalten. Somit kann es möglich sein, den gemeinsam genutzten FIFO 325 auch in Worteinheiten zu lesen und zu beschreiben. Das Wort-Freigabesignal kann dann verwendet werden, um das höchst- und niedrigst signifikante Wort der FIFO-Dateneingabe freizugeben. Wenn das dWortlesesignal gesetzt wird, werden Daten in dWorteinheiten gelesen. Ansonsten enthält das niedrigst signifikante Wort der Datenausgabe das gültige Wort, das aus dem FIFO 325 gelesen wird.
  • Um einen wortweisen und dwortweisen Zugriff zu ermöglichen, enthält der FIFO 325 zwei 16 Bit breite RAM-Elemente mit zwei Anschlüssen 600, 605, die beide einen 16 Bit Datenport und eine Kapazität von 128 Wörtern aufweisen. Somit kann es möglich sein, ein dWort mit einem wortjustieren Adressenoffset zu lesen oder zu schreiben.
  • Lese- und Schreibzeiger 615, 610 der vorliegenden Erfindung besitzen eine Breite von 9 Bits (1 Bit mehr als die FIFO-Adresse), um in der Lage zu sein, zwischen einem vollen und einem leeren Füllstand zu unterscheiden, wenn der Lese- und der Schreibzeiger verglichen werden. Daher kann das signifikanteste Bit des Lesezeigers 615 invertiert werden, bevor der Schreibzeiger 610 verwendet wird, um das Vollsignal und das Freisignal zu berechnen.
  • Alle Schreibporteinträge der beiden RAM-Elemente mit zwei Anschlüssen 600, 605 können in Register zwischengespeichert werden, um einen korrekten Zeitablauf sicherzustellen. Somit kann der Schreibzeiger 610 in ein Register eingelesen werden, bevor dieser mit dem Lesezeiger 615 verglichen wird, um das Leeranzeige(flag)signal und das Signal für verbleibende Daten zu berechnen. Ansonsten kann die Information, dass etwas in den RAM geschrieben wurde, schneller zu dem Leseanschluss übertragen worden sein, als die Daten in dem RAM verfügbar sind.
  • In der vorliegenden Ausführungsform wird auf den FIFO 325 an seinen Lese- und Schreibport mit dem selben Taktsignal zugegriffen, so dass keine Taktsignalsynchronisierung erforderlich ist.
  • 7 bis 9 sind Zeitablaufdiagramme, die den Zeitablauf des Schnittstellensignals zeigen.
  • In 7 ist das Verhalten des Leseports dargestellt. Das Verhalten des Schreibports ist in den 8 und 9 im voreingestellten Modus (8) und im Direktadressiermodus (9) gezeigt. In dem Direktadressiermodus werden das Freisignal und das Vollsignal nicht verwendet.
  • In den 6 bis 9 ist das Taktsignal das Leseschreibtaktsignal. Alle Flipflops werden mit der ansteigenden Flanke dieses Signals angesteuert. Die Dateneingabe ist 32 Bits breit. Das Wort Freigabesignal gibt das niedrigst signifikante Wort mit Bit 0 und das signifikanteste Wort mit Bit 1 frei. Das Schreibfreigabesignal ist aktiv bei niedrigem Pegel. Das Direktadressierungsmodussignal ist ein Signal, das bei hohem Pegel aktiv ist, um den Schreibport Direktadressierungsmodus freizugeben. Das FIFO-Adresssignal ist die 8 Bit breite direkte FIFO Wortadresse. Das Aktualisierungssignal aktualisiert den Schreibzeiger und ist im hohen Pegel aktiv. Das Aktualisierungswertsignal wird dem Schreibzeiger hinzugefügt, wenn es bestätigt ist. Das Aktualisierungswertsignal spezifiziert die Anzahl von Wörtern, die dem Schreibzeiger hinzuzuaddieren sind. Das Freisignal spezifiziert den verfügbaren freien FIFO-Speicherplatz in Worteinheiten. Das Vollsignal ist eine 1 Bit-Marke. Das Löschsignal ist aktiv im hohen Pegel, um den Lese- und Schreibzeiger zurückzusetzen. Das Datenausgangssignal ist 32 Bit breit. Das Lesefreigabesignal ist aktiv bei niedrigem Pegel. Das Signal für die verbleibenden Daten spezifiziert die Anzahl der in dem FIFO verbleibenden Daten in Wörtern.
  • Gemäß 10 kann die Zentralsteuerung betrieben werden, in dem ein Auswahlsignal im Schritt 100 erzeugt wird, um den Multiplexer 330 zu steuern, wie dies oben beschrieben ist. Abhängig von dem Auswahlsignal wählt der Multiplexer 330 einen der empfangenen Datenströme im Schritt 1005 aus und leitetet den ausgewählten Datenstrom zu der Puffereinheit 325. Der Puffer 325 führt dann die zuvor erläuterten Speicheroperationen aus (Schritt 1010).
  • Zusammenfassend gilt: Die Ausführungsformen ermöglichen die gemeinsame Nutzung eines Datenpuffers für den PIO und den DMA-Modus in beiden Richtungen. In einer Ausführungsform ist der DMA-Modus ein UDMA-Modus.
  • Es wird die volle SATA-Datenrate für den gemeinsamen Betriebsmodus mit ausreichender Flexibilität für Variationen der zugeführten Hypertransportdaten bereitgestellt.
  • Die bereitgestellte Architektur erleichtert eine im Hinblick auf die Chipfläche optimierte Implementierung. Die erforderliche kombinatorische Logik, die Zustandsmaschinen mit begrenzten Zuständen und die Konfigurationsregister können am besten mit Synthesewerkzeugen optimiert werden. Durch Ausnutzen eines gemeinsam verwendeten FIFO's, um Rechner-zu-Gerät- und Gerät-zu-Rechner-Datenströme für PIO und DMA-Übertragungen zwischenzuspeichern, wird die Datenpufferung am effizientesten ausgeführt.
  • Ferner ist der Entwurf modular, so dass ein Wiederverwenden von Untermodulen für andere Projekte oder Zwecke möglich ist. Die Zentralschnittstelleneinheit 305 liefert einen Zugriff für die SATA-Steuerungseinheit 310 über die PIO und FIFO-Schnittstelle. Somit ist es möglich, den Zentralschnittstelleneinheitsblock 305 nicht nur für eine SATA-Implementierung, sondern auch als eine IDE-Steuerungszentralschnittstelle einzusetzen. Die IDE-Steuerung liefert dann die parallele Schnittstelle und die diversen PIO-DMA-Zeitabläufe, da diese innerhalb der ATA/ATAPI-Spezifikation definiert sind.
  • Es sollte beachtet werden, dass nicht nur die Gesamtmenge des Speichers reduziert wird, indem ein gemeinsam genutzter Puffer anstelle von vier separaten Puffern verwendet wird. Es wird auch eine gewisse kombinatorische Fläche eingespart, da die Puffersteuerungslogik lediglich einmal vorgesehen ist.
  • Des weiteren stellt der gemeinsame genutzte Puffer 325 eine einfache Datenschnittstelle zu der Transportebeneneinheit in der SATA-Steuerungseinheit 310 bereit. Somit muss die Transportebeneneinheit nicht unterschiedliche Datenschnittstellen für DMA- und PIO-Zugriffe bereitstellen. Die Transportebeneneinheit muss nicht zwischen PIO- und DMA-Daten unterscheiden. Dies wird von dem FIFO-Multiplexer 330 bewerkstelligt, der dann lediglich ein Signal von der Transportebeneneinheit erfordert.
  • Ferner ist anzumerken, dass ein großer gemeinsam genutzter FIFO 320 mehr Flexibilität für Gerät-zu-Rechner-DMA und PIO-Daten-Übertragungen bereitstellt.
  • Obwohl die Erfindung in Bezug auf die physikalischen Ausführungsformen, die mit der Erfindung konform sind, beschrieben ist, erkennt der Fachmann, dass diverse Modifizierungen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte dieser technischen Lehre und angesichts der angefügten Patentansprüche durchgeführt werden können, ohne von dem Grundgedanken und dem Bereich der Erfindung abzuweichen. Ferner wurden die Bereiche, von denen angenommen wird, dass der Fachmann mit diesen vertraut ist, hierin nicht beschrieben, um nicht unnötigerweise die hierin beschriebene Erfindung zu verdunkeln. Daher ist es selbstverständlich, dass die Erfindung nicht durch die speziellen anschaulichen Ausführungsformen beschränkt ist, sondern lediglich durch den Bereich der angefügten Patentansprüche.

Claims (49)

  1. SATA (serielle AT-Anbindungs-) Zentralsteuerung mit Rechner-zu-Gerät- und Gerät-zu-Rechner-Kommunikationsfunktion, wobei die Zentralsteuerung in einem PIO (programmierter Ein/Aus) Datentransfermodus und einem DMA (direkter Speicherzugriff-) Datentransfermodus betreibbar ist, wobei die Zentralsteuerung umfasst: eine Puffereinheit (325) zum Zwischenspeichern von Daten; und eine Datenstromauswahleinheit (330) zum Auswählen eines Datenstroms zur Weiterleitung zu der Puffereinheit, wobei die Datenstromauswahleinheit so angeschlossen ist, um jederzeit einen Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem DMA-Datentransfermodus und/oder einen Gerät-zu-Rechner-Datenstrom in dem PIO-Datentransfermodus und einen Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen und aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Puffereinheit zuzuleiten ist.
  2. Die SATA-Zentralsteuerung nach Anspruch 1, die ferner umfasst: eine Busmastereinrichtung (315) zum Ausführen einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-Kommunikation in dem DAM-Datentransfermodus durch Zugreifen auf den Zentralrechnerspeicher, wobei die Busmastereinrichtung mit der Puffereinheit verbunden ist, um den Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen, und mit der Datenstromauswahleinheit verbunden ist, um den Rechner-zu-Gerät-Datenstrom in dem DMA-Datentransfermodus bereitzustellen.
  3. Die SATA-Zentralsteuerung nach Anspruch 2, wobei die Busmastereinrichtung so ausgebildet ist, um mindestens 5 anstehende Leseanforderungen zu unterstützen.
  4. Die SATA-Zentralsteuerung nach Anspruch 2, wobei die Busmastereinrichtung so ausgebildet ist, um Datenpakete mit der maximalen Datenlänge in Reaktion auf physikalische Gebietsdeskriptoren anzufordern.
  5. Die SATA-Zentralsteuerung nach Anspruch 2, wobei die Puffereinheit ausgebildet ist, ein erstes Statussignal zu der Busmastereinrichtung zu liefern, wenn eine Gerät-zu-Rechner-Kommunikation stattfindet, wobei das erste Statussignal anzeigt, dass der momentane Speicherfüllpegel gleich oder über einem ersten vordefinierten Füllpegel (500) liegt.
  6. Die SATA-Zentralsteuerung nach Anspruch 5, wobei die Puffereinheit ferner ausgebildet ist, ein zweites Statussignal zu der Busmastereinrichtung zu liefern, wenn eine Gerät-zu-Rechner-Kommunikation stattfindet, wobei das zweite Statussignal anzeigt, dass der momentane Füllpegel gleich oder unterhalb eines zweiten vordefinierten Füllpegels (505) liegt.
  7. Die SATA-Zentralsteuerung nach Anspruch 6, wobei der zweite vordefinierte Füllpegel kleiner als der erste Füllpegel vordefinierte Füllpegel ist.
  8. Die SATA-Zentralsteuerung nach Anspruch 1, wobei der erste vordefinierte Füllpegel eine freie Pufferkapazität von 44 Doppelwörtern definiert.
  9. Die SATA-Zentralsteuerung nach Anspruch 6, wobei der zweite vordefinierte Füllpegel eine freie Speicherkapazität von 48 Doppelwörtern definiert.
  10. Die SATA-Zentralsteuerung nach Anspruch 1, die ferner umfasst: eine Zielschnittstelleneinheit (320) zum Ausführen einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-Kommunikation in dem PIO-Datentransfermodus, wobei die Zielschnittstelleneinheit mit der Puffereinheit verbunden ist, um den Gerät-zu-Rechner-Datenstrom in dem PIO-Datentransfermodus zu empfangen, und mit der Datenstromauswahleinheit verbunden ist, um den Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus bereitzustellen.
  11. Die SATA-Zentralsteuerung nach Anspruch 1, die ferner umfasst: eine SATA-Steuerungseinheit (310) zum Steuern des Datentransfers zu und von einer physikalischen Schnittstelleneinheit (335), wobei die SATA-Steuerungseinheit mit der Puffereinheit verbunden ist, um Rechner-zu-Gerät-Daten zu empfangen, und mit der Datenstromauswahleinheit verbunden ist, um Gerät-zu-Rechner-Daten sowohl im DMA- als auch im PIO-Datentransfermodus zu empfangen.
  12. SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit ausgebildet ist, eine Speicherkapazität von 6 oder mehr Zusatzspeicherzeilen aufzuweisen, wenn Daten in Bezug auf die Rechner-zu-Gerät-Kommunikation in dem DMA-Datentransfermodus zwischengespeichert sind.
  13. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit ausgebildet ist, eine Speicherkapazität von 5 oder mehr Zusatzspeicherzeilen aufzuweisen, wenn Daten hinsichtlich der Gerät-zu-Rechner-Kommunikation in dem DMA-Datentransfermodus zwischengespeichert werden.
  14. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit ausgebildet ist, eine Speicherkapazität von zwei 32 Bit-Registern aufzuweisen, wenn Daten hinsichtlich der Rechner-zu-Gerät-Kommunikation in dem PIO-Datentransfermodus zwischengespeichert werden.
  15. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit ausgebildet ist, eine Speicherkapazität von mindestens 45 Doppelwörtern aufzuweisen, wenn Daten hinsichtlich der Gerät-zu-Rechner-Kommunikation in dem PIO-Datentransfermodus zwischengespeichert werden.
  16. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit in einem FIFO (als erstes eingelesen als erstes ausgelesen) Modus zum Schreiben von Daten in die Puffereinheit betreibbar ist.
  17. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit in einem FIFO (als erstes eingelesen als erstes ausgelesen) Modus zum Auslesen von Daten aus der Puffereinheit betreibbar ist.
  18. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit in einem Direktadressierungsmodus zum Schreiben von Daten in die Puffereinheit betreibbar ist.
  19. Die SATA-Zentralsteuerung nach Anspruch 18, wobei die Puffereinheit in dem Direktadressierungsmodus zum Schreiben von Daten des Rechner-zu-Gerät-Datenstroms in dem DMA-Datentransfermodus in die Puffereinheit betreibbar ist.
  20. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit so gesteuert ist, um Leseantworten, die sich auf den Rechner-zu-Gerät-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff beziehen, in einer umgeordneten Sequenz auszugeben.
  21. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Puffereinheit ein erstes RAM (Speicher mit wahlfreiem Zugriff) Element mit zwei Anschlüssen (600) und ein zweites RAM-Element (605) mit zwei Anschlüssen aufweist.
  22. Die SATA-Zentralsteuerung nach Anspruch 1, wobei die Datenstromauswahleinheit eine Multiplexereinheit ist.
  23. Die SATA-Zentralsteuerung nach Anspruch 1, wobei der DMA-Datentransfermodus ein UDMA (Ultra-DMA) Datentransfermodus ist.
  24. Speicherelementzentralsteuerung, die Rechner-zu-Gerät- und Gerät-zu-Rechner-Kommunikation ausführen kann, wobei die Zentralsteuerung in einem programmierten Eingabe/Ausgabe-Datentransfermodus und in einem Datentransfermodus mit direktem Speicherzugriff betreibbar ist, wobei die Zentralsteuerung umfasst: eine Puffereinheit (325) zum Zwischenspeichern von Daten; und eine Datenstromauswahleinheit (330) zum Auswählen eines Datenstromes zur Weiterleitung an die Puffereinheit, wobei die Datenstromauswahleinheit so angeschlossen ist, um zu jeder Zeit einen Rechner-zu-Gerät-Datenstrom in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff und/oder einen Gerät-zu-Rechner-Datenstrom in dem programmierten Eingabe/Ausgabe-Datentransfermodus und einen Gerät-zu-Rechner-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff zu empfangen, und aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Puffereinheit zuzuleiten ist.
  25. Integrierter Schaltungschip zum Ausführen einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-ATA- (AT-Anbindungs-) Kommunikation in einem PIO (programmierter Ein/Aus) Datentransfermodus und einem DMA (direkteer Speicherzugriff) Datentransfermodus auszuführen, wobei der integrierte Speicherchip umfasst: eine Pufferschaltung (325) zum Zwischenspeichern von Daten; und eine Datenstromauswahlschaltung (330) zum Auswählen eines Datenstroms zur Weiterleitung an die Pufferschaltung, wobei die Datenstromauswahlschaltung so angeschlossen ist, um zu jeder Zeit einen Rechner-zu-Gerät-Datenstrom in dem PIO-Datentransfermodus und/oder einen Rechner-zu-Gerät-Datenstrom in dem DMA-Datentransfermodus und/oder einen Gerät zu Recher-Datenstrom in dem PIO-Datentransfermodus und/oder einem Gerät-zu-Rechner-Datenstrom in dem DMA-Datentransfermodus zu empfangen, und um aus den empfangenen Datenströmen den Datenstrom auszuwählen, der der Pufferschaltung zuzuleiten ist.
  26. Verfahren zum Betreiben einer SATA-(serielle ATA) Zentralsteuerung zur Durchführung einer Rechner-zu-Gerät- und Gerät-zu-Rechner-Kommunikation in einem PIO-(programmierten Ein/Aus)Datentransfermodus und einem DMA-(Direktspeicherzugriffs) Datentransfermodus, wobei das Verfahren umfasst: Empfangen zu einer beliebigen Zeit eines Rechner-zu-Gerät-Datenstroms in dem PIO-Datentransfermodus und/oder eines Rechner-zu-Gerät-Datenstroms in dem DMA-Datentransfermodus und/oder eines Gerät-zu-Rechner-Datenstroms in dem PIO-Datentransfermodus und/oder eines Gerät-zu-Rechner-Datenstroms in dem DMA-Datentransfermodus; Auswählen (1000, 1005) eines zwischenzuspeichernden Datenstromes aus den empfangenen Datenströmen; und Zwischenspeichern (1010) von Daten des ausgewählten Datenstromes in einer Puffereinheit.
  27. Das Verfahren nach Anspruch 26, das ferner den Schritt umfasst: Betreiben einer Busmastereinrichtung zum Ausführen einer Rechner-zu-Gerät und einer Gerät-zu-Rechner-Kommunikation in dem DMA-Datentransfermodus durch Zugreifen auf den Zentralrechnerspeicher, wobei der Schritt des Betreibens der Busmastereinrichtung umfasst: Empfangen des Gerät-zu-Rechner-Datenstroms in dem DMA-Datentransfermodus von der Puffereinheit; Bereitstellen des Rechner-zu-Gerät-Datenstroms in dem DMA-Datentransfermodus, der auszuwählen ist.
  28. Das Verfahren nach Anspruch 27, wobei der Schritt des Betreibens der Busmastereinrichtung so gestaltet ist, um zumindest fünf anstehende Leseanforderungen zu unterstützen.
  29. Das Verfahren nach Anspruch 27, wobei der Schritt des Betreibens der Busmastereinrichtung umfasst: Anfordern von Datenpaketen mit der maximalen Paketlänge in Reaktion auf Deskriptoren für ein physikalisches Gebiet.
  30. Das Verfahren nach Anspruch 27, wobei der Schritt des Zwischenspeicherns der Daten umfasst: Bereitstellen eines ersten Statussignals für die Busmastereinrichtung beim Ausführen einer Gerät-zu-Rechner-Kommunikation, wobei das erste Statussignal anzeigt, dass der momentane Puffer Füllpegel der Puffereinheit gleich oder über einem vordefinierten Füllpegel (500) liegt.
  31. Das Verfahren nach Anspruch 30, wobei der Schritt der Datenzwischenspeicherung ferner umfasst: Bereitstellen eines zweiten Statussignals für die Busmastereinrichtung beim Ausführen einer Gerät-zu-Rechner-Kommunikation, wobei das zweite Statussignal anzeigt, dass der momentane Füllpegel gleich oder unterhalb eines zweiten vordefinierten Füllpegels (505) liegt.
  32. Das Verfahren nach Anspruch 31, wobei der zweite vordefinierte Füllpegel kleiner als der erste vordefinierte Füllpegel ist.
  33. Das Verfahren nach Anspruch 31, wobei der erste vordefinierte Füllpegel eine freie Speicherkapazität von 44 Doppelwörtern definiert.
  34. Das Verfahren nach Anspruch 31, wobei der zweite vordefinierte Füllpegel eine freie Speicherkapazität von 48 Doppelwörtern definiert.
  35. Das Verfahren nach Anspruch 26, das ferner umfasst: Betreiben einer Zielschnittstelleneinheit zur Ausführung einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-Kommunikation in dem PIO-Datentransfermodus, wobei der Schritt des Betreibens der Zielschnittstelleneinheit umfasst: Empfangen des Geräts zu Rechner-Datenstroms in dem PIO-Datentransfermodus von der Puffereinheit; und Bereitstellen des Rechner zu Gerät-Datenstroms in dem PIO-Datentransfermodus.
  36. Das Verfahren nach Anspruch 26, das ferner umfasst: Steuern des Datentransfers zu und von einer physikalischen Schnittstelleneinheit in einer SATA-Steuerungseinheit, wobei die SATA-Steuerungseinheit betrieben wird, in dem Rechner-zu-Gerät-Daten von der Puffereinheit empfangen und auszuwählende Gerät-zu-Rechner-Daten sowohl im DMA als auch in dem PIO-Datentransfermodus bereitgestellt werden.
  37. Das Verfahren nach Anspruch 26, wobei der Schritt des Datenzwischenspeichers umfasst: Zwischenspeichern von 6 oder mehr Cachespeicherzeilen, wenn eine Rechner-zu-Gerät-Kommunikation in dem DMA-Datentransfermodus ausgeführt wird.
  38. Das Verfahren nach Anspruch 26, wobei der Schritt des Datenzwischenspeichers umfasst: Zwischenspeichern von 5 oder mehr Zusatzspeicherzeilen, wenn eine Gerät-zu-Rechner-Kommunikation in dem DMA-Datentransfermodus ausgeführt wird.
  39. Das Verfahren nach Anspruch 26, wobei der Schritt des Datenzwischenspeicherns umfasst: Betreiben zweier 32 Bit-Register, wenn Daten hinsichtlich der Rechner-zu-Gerät-Kommunikation in dem PIO-Transfermodus zwischengespeichert werden.
  40. Das Verfahren nach Anspruch 26, wobei der Schritt des Datenzwischenspeichers umfasst: Zwischenspeichern von mindestens 45 Doppelwörtern, wenn eine Gerät-zu-Rechnern-Kommunikation in dem PIO-Datentransfermodus ausgeführt wird.
  41. Das Verfahren nach Anspruch 26, wobei der Schritt des Datenzwischenspeichers umfasst: Betreiben der Puffereinheit in einem FIFO-(als erstes eingelesen als erstes ausgelesen) Modus zum Schreiben von Daten in die Puffereinheit.
  42. Das Verfahren nach Anspruch 26, wobei das Zwischenspeichern von Daten umfasst: Betreiben der Puffereinheit in einem FIFO-(als erstes eingelesen als erstes ausgelesen) Modus zum Auslesen von Daten aus der Puffereinheit.
  43. Das Verfahren nach Anspruch 26, wobei das Zwischenspeichern von Daten umfasst: Betreiben der Puffereinheit in einem Direktadressierungsmodus zum Schreiben von Daten in die Puffereinheit.
  44. Das Verfahren nach Anspruch 43, wobei die Puffereinheit in dem Direktadressierungsmodus zum Schreiben von Daten des Rechner-zu-Gerät-Datenstroms in dem Datentransfermodus mit direktem Speicherzugriff in die Puffereinheit betreibbar ist.
  45. Das Verfahren nach Anspruch 26, das ferner umfasst: Ausgeben zwischengespeicherter Leseantworten, die sich auf den Rechner-zu-Gerät-Datenstrom in dem Datentransfermodus mit direktem Speicherzugriff beziehen, in einer umgeordneten Sequenz.
  46. Das Verfahren nach Anspruch 26, wobei das Zwischenspeichern von Daten umfasst: Betreiben eines ersten RAM-(Speicher mit wahlfreiem Zugriff) Elements mit zwei Anschlüssen (600); und Betreiben eines zweiten RAM-Elements (605) mit zwei Anschlüssen.
  47. Das Verfahren nach Anspruch 26, wobei der Schritt des Auswählens eines Datenstroms das gesteuerte Bündeln der empfangenen Datenströme umfasst.
  48. Das Verfahren nach Anspruch 26, wobei der DMA-Datentransfermodus ein UDMA (Ultra DMA) Datentransfermodus ist.
  49. Verfahren zum Betreiben einer Speicherelementzentralsteuerung zur Ausführung einer Rechner-zu-Gerät- und einer Gerät-zu-Rechner-Kommunikation in einem programmierten Eingabe/Ausgabe-Datentransfermodus und einem Datentransfermodus mit direktem Speicherzugriff, wobei das Verfahren umfasst: Empfangen zu jeder Zeit eines Rechner-zu-Gerät-Datenstroms in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder eines Rechner-zu-Gerät-Datenstroms in dem Datentransfermodus mit direktem Speicherzugriff und/oder eines Gerät-zu-Rechner-Datenstroms in dem programmierten Eingabe/Ausgabe-Datentransfermodus und/oder eines Gerät-zu-Rechner-Datenstroms in dem Datentransfermodus mit direktem Speicherzugriff; Auswählen (1000, 1005) eines zwischenzuspeichernden Datenstroms aus den empfangenen Datenströmen; und Zwischenspeichern (1010) von Daten des ausgewählten Datenstroms in einer Puffereinheit.
DE10355583A 2003-11-28 2003-11-28 Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung Withdrawn DE10355583A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10355583A DE10355583A1 (de) 2003-11-28 2003-11-28 Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung
US10/817,572 US7165125B2 (en) 2003-11-28 2004-04-02 Buffer sharing in host controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10355583A DE10355583A1 (de) 2003-11-28 2003-11-28 Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung

Publications (1)

Publication Number Publication Date
DE10355583A1 true DE10355583A1 (de) 2005-07-07

Family

ID=34609365

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10355583A Withdrawn DE10355583A1 (de) 2003-11-28 2003-11-28 Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung

Country Status (2)

Country Link
US (1) US7165125B2 (de)
DE (1) DE10355583A1 (de)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526587B2 (en) * 2004-02-09 2009-04-28 Lsi Corporation Dual port serial advanced technology attachment (SATA) disk drive
US7523236B1 (en) * 2003-06-11 2009-04-21 Lsi Corporation Switching serial advanced technology attachment (SATA) to a parallel interface
US7523235B2 (en) * 2003-06-11 2009-04-21 Lsi Corporation Serial Advanced Technology Attachment (SATA) switch
US7986630B1 (en) 2004-02-09 2011-07-26 Lsi Corporation High performance architecture for fiber channel targets and target bridges
US20060031603A1 (en) * 2004-08-09 2006-02-09 Bradfield Travis A Multi-threaded/multi-issue DMA engine data transfer system
KR100594305B1 (ko) * 2004-12-17 2006-06-30 삼성전자주식회사 시리얼 ata 인터페이스를 이용하여 광학 디스크드라이버의 프로그램 코드를 업데이트하는 장치 및 그 방법
GB2427486B (en) * 2005-06-23 2010-09-29 Giga Byte Tech Co Ltd Interface system for SATA having fast data access function and method thereof
TWI277874B (en) * 2005-06-24 2007-04-01 Via Tech Inc Method for access non-standard register in serial advanced technology attachment (SATA) device
TWI298840B (en) 2005-07-13 2008-07-11 Via Tech Inc Bus device used in computer system
CN100373364C (zh) * 2005-07-21 2008-03-05 威盛电子股份有限公司 应用于计算机***中的总线装置
US7376762B2 (en) * 2005-10-31 2008-05-20 Sigmatel, Inc. Systems and methods for direct memory access
FR2901471B1 (fr) 2006-05-24 2010-06-04 Oreal Procede de defrisage des fibres keratiniques avec un moyen de chauffage et un derive d'acide
KR100843199B1 (ko) * 2006-08-10 2008-07-02 삼성전자주식회사 고속 아이.디.이. 인터페이스 장치 및 그 방법
US7761642B2 (en) * 2006-12-22 2010-07-20 Lsi Corporation Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging
US8499308B2 (en) * 2006-12-22 2013-07-30 Lsi Corporation Initiator notification method and apparatus
US7673091B2 (en) * 2007-04-24 2010-03-02 Texas Instruments Incorporated Method to hide or reduce access latency of a slow peripheral in a pipelined direct memory access system
JP4400650B2 (ja) * 2007-05-23 2010-01-20 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US20090248919A1 (en) * 2008-03-25 2009-10-01 Jerzy Szwagrzyk Method for external fifo acceleration
JP5441216B2 (ja) 2010-02-24 2014-03-12 ルネサスエレクトロニクス株式会社 半導体装置及びデータ処理システム
US8996772B1 (en) 2012-02-15 2015-03-31 Cypress Semiconductor Corporation Host communication device and method with data transfer scheduler
CN102866976B (zh) * 2012-09-17 2015-03-11 山东神戎电子股份有限公司 一种嵌入式***中串口分时复用方法
CN107564265B (zh) * 2017-10-25 2024-03-26 成都华太航空科技股份有限公司 一种高速传输的lxi数据采集器及其工作方法
US10649945B1 (en) * 2018-12-10 2020-05-12 Analog Devices International Unlimited Company Non-native digital interface support over a two-wire communication bus
TWI727269B (zh) * 2019-02-27 2021-05-11 瑞昱半導體股份有限公司 通用序列匯流排裝置及其資料傳輸方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202675A2 (de) * 1985-05-21 1986-11-26 Fujitsu Limited Ein/Ausgabe-Steuerungssystem
US5610808A (en) * 1990-11-09 1997-03-11 Conner Peripherals, Inc. Hard disk drive controller employing a plurality of microprocessors

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4847812A (en) 1986-09-18 1989-07-11 Advanced Micro Devices FIFO memory device including circuit for generating flag signals
TW276312B (de) * 1992-10-20 1996-05-21 Cirrlis Logic Inc
CA2126740A1 (en) * 1993-07-06 1995-01-07 Naveen Jain Method and system for incorporation of a utility function into an operating system
US6708233B1 (en) 1999-03-25 2004-03-16 Microsoft Corporation Method and apparatus for direct buffering of a stream of variable-length data
US6567953B1 (en) * 2000-03-29 2003-05-20 Intel Corporation Method and apparatus for host-based validating of data transferred between a device and a host
US6715004B1 (en) * 2000-03-29 2004-03-30 Intel Corporation Method and apparatus for intermediate validation of data transferred between a host and a device
JP2001344187A (ja) 2000-05-30 2001-12-14 Matsushita Electric Ind Co Ltd ホストインタフェース回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0202675A2 (de) * 1985-05-21 1986-11-26 Fujitsu Limited Ein/Ausgabe-Steuerungssystem
US5610808A (en) * 1990-11-09 1997-03-11 Conner Peripherals, Inc. Hard disk drive controller employing a plurality of microprocessors

Also Published As

Publication number Publication date
US7165125B2 (en) 2007-01-16
US20050120150A1 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
DE10355583A1 (de) Gemeinsame Nutzung eines Speichers in einer Zentralsteuerung
DE10214700B4 (de) Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben
DE3751514T2 (de) Adressieranordnung für RAM-Puffer-Steuereinrichtung.
DE112013005044B4 (de) Verfahren, einrichtung, vorrichtung und system zum ausführen von eingehenden pcie-schreiboperationen in einen speicher und partnereinrichtungen per dualcast
DE102009037984B4 (de) Speichereinheit für eine hierarchische Speicherarchitektur
DE19983026B4 (de) Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu
DE69018100T2 (de) Datenübertragung über Busadressleitungen.
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE60213601T2 (de) Programmierbare hardwarelogik, welche ein programmierbares interface und eine zentrale recheneinheit beinhaltet
DE69839374T2 (de) Multitorspeicher verwendende intelligente datenbusschnittstelle
DE3889366T2 (de) Interface für ein Rechnersystem mit reduziertem Befehlssatz.
DE69728002T2 (de) Steuerprozessor für einen drei-dimensionalen Beschleuniger, der die Fähigkeit geometrischer Dekompression besitzt und Verfahren zur Bearbeitung von geometrischen Daten in diesem Beschleuniger
DE112011103208T5 (de) Hochgeschwindigkeits-Speichersystem
DE10056827A1 (de) Duale Verwendung von Cache-Verbindungen
DE112018000790T5 (de) Vorrichtungen und verfahren zur autonomen hardware-verwaltung von ringpuffern
DE102015102692A1 (de) Verfahren zum Optimieren von Netzdatenströmen in einem eingeschränkten System
DE10255937B4 (de) Ordnungsregelgesteuerte Befehlsspeicherung
DE112005000219T5 (de) Verfahren und Vorrichtung zum Verwalten von Speicherzugriffsanforderungen
DE3855300T2 (de) Schnittstellenschaltung zur Datenübertragung zwischen Prozessor und Ein-/Ausgabevorrichtung
DE10213839A1 (de) DMA-Mechanismus für einen Hochgeschwindigkeitspaketbus
DE102013205973B4 (de) „Datenspeichersystem, Verfahren, Controller und Entwurfsstruktur zum Realisieren von Leistungsoptimierung bei Speicheradaptern durch zusammengefasstes Ausführen von Hardware-Operationen
DE60008662T2 (de) FIFO-System mit Schnittstelle mit veränderlicher Breite zum Hostprozessor
DE102007003522A1 (de) Endpunkt-Steuervorrichtung und -verfahren
EP1941668A1 (de) Teilnehmerschnittstelle zwischen einem flexray-kommunikationsbaustein und einem flexray-teilnehmer und verfahren zur übertragung von botschaften über eine solche schnittstelle
DE102008030514A1 (de) Verfahren und Vorrichtung zur Anbindung von Speichervorrichtungen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8128 New person/name/address of the agent

Representative=s name: GRUENECKER, KINKELDEY, STOCKMAIR & SCHWANHAEUSSER,

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

Effective date: 20140603