[go: up one dir, main page]

DE10214701A1 - ATA- und SATA-gemässer Controller - Google Patents

ATA- und SATA-gemässer Controller

Info

Publication number
DE10214701A1
DE10214701A1 DE10214701A DE10214701A DE10214701A1 DE 10214701 A1 DE10214701 A1 DE 10214701A1 DE 10214701 A DE10214701 A DE 10214701A DE 10214701 A DE10214701 A DE 10214701A DE 10214701 A1 DE10214701 A1 DE 10214701A1
Authority
DE
Germany
Prior art keywords
ata
port
sata
compliant
data
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.)
Granted
Application number
DE10214701A
Other languages
English (en)
Other versions
DE10214701B4 (de
Inventor
Frank Barth
Henry Drescher
Alexander Krebs
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 DE10214701A priority Critical patent/DE10214701B4/de
Priority to US10/184,434 priority patent/US7225290B2/en
Publication of DE10214701A1 publication Critical patent/DE10214701A1/de
Application granted granted Critical
Publication of DE10214701B4 publication Critical patent/DE10214701B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

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)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Systems (AREA)

Abstract

Ein ATA-Controller (ATA: Advanced Technology Attachment) wird bereitgestellt, der wenigstens einen parallelen Port zum Verbinden wenigstens eines ATA-gemäßen Speichergeräts und wenigstens einen seriellen Port zum Vebinden wenigstens eines SATA-gemäßen (SATA: Serial ATA) Speichergeräts umfasst. Ferner wird eine Portumschalteinrichtung bereitgestellt zum Umschalten auf wenigstens einen der parallelen und seriellen Ports, um einen Datentransfer zu und/oder von einem Speichergerät zu ermöglichen, das an dem Port verbunden ist. Dies ermöglicht eine softwaregetriebene Rekonfiguration und macht es möglich, zwischen einem Modus, in dem sich der Controller wie ein konventioneller ATA-Controller verhält, und einem Modus, in dem sich der Controller wie ein konventioneller SATA-gemäßer Controller verhält, umzuschalten. Hardware kann in signifikantem Umfang wiederverwendet werden.

Description

    HINTERGRUND DER ERFINDUNG 1. Gebiet der Erfindung
  • Die Erfindung betrifft allgemein das Steuern eines Datentransfers zu und/oder von Speichergeräten und insbesondere ATA-Controller (ATA: Advanced Technology Attachment).
  • 2. Beschreibung des Standes der Technik
  • In Computersystemen sind Festplatten und andere Laufwerke wie etwa CD- oder DVD-Laufwerke, Bandgeräte, entnehmbare Geräte mit hoher Kapazität, Zip-Laufwerke und CDRW-Laufwerke Speichergeräte, die mit dem Computer über eine Schnittstelle zur Definition der physikalischen und logischen Anforderungen verbunden sein können, um den Datentransfer zu und von den Geräten durchzuführen. Eine der gängigsten, in modernen Computersystemen verwendeten Schnittstellen ist diejenige, die gewöhnlich als IDE (Integrated Drive Electronics) bekannt ist. Die IDE- Laufwerksschnittstelle, die besser AT-Attachment-Schnittstelle (AT: Advanced Technology) oder ATA-Schnittstelle genannt wird, wurde ab 1986 entwickelt und um 1988 standardisiert. Die Spezifikation, die einen Weg bereitstellt, um Plattenlaufwerks-"Anschlüsse" ("Attachments") an die PC- Architektur (PC: Personal Computer) herzustellen, wurde zu einer Vielzahl jüngerer Spezifikationen weiterentwickelt, wie etwa ATA/ATAPI, EIDE, ATA- 2, Fast ATA, ATA-3, Ultra ATA, Ultra DMA, ATA-4 und noch vielen weiteren. Alle diese Spezifikationen definieren Speicherschnittstellen, um eine Verbindung zu parallelen Speichergeräten auszubilden, und werden nachfolgend als ATA-gemäß bezeichnet.
  • Während die parallele ATA-Zwischenverbindung aufgrund ihrer relativen Einfachheit, hohen Performance und niedrigen Kosten die dominante interne Speicherzwischenverbindung für Desktop- und mobile Computer geworden ist, weisen ATA-gemäße Schnittstellen eine Anzahl von Einschränkungen auf, die dafür sorgen, dass sich ihre Leistungseigenschaften nicht weiter steigern lassen. Einige dieser Einschränkungen sind das 5-Volt- Signalerfordernis und die hohe Pinzahl. Diese und andere Charakteristiken paralleler ATA-Schnittstellen stellen die Gründe dar, warum solche Schnittstellen nicht skalieren können, um mehrere weitere Geschwindigkeitsverdopplungen zu ermöglichen, wie dies in der Vergangenheit geschehen ist, so dass sich diese Schnittstellen ihrer Performancekapazität nähert.
  • Aus diesem Grund, und um skalierbare Leistungseigenschaften für die nächste Dekade bereitzustellen, wurde das serielle ATA (SATA) als die ATA- Spezifikation der nächsten Generation entwickelt. SATA ist eine evolutionäre Ersetzung der parallelen ATA-Schnittstelle für physikalische Speicher und wurde entworfen, um 100% softwarekompatibel zu heutigem ATA zu sein, jedoch eine sehr viel niedrigere Pinzahl aufzuweisen, was dünnere und flexiblere Kabel ermöglicht. Aufgrund der beibehaltenen Softwarekompatibilität sind keine Änderungen an heutigen Treibern und Betriebssystemen erforderlich. Darüber hinaus bietet die geringere Pinzahl auch Vorteile für das Systemdesign von Motherboards und deren Chipsets und anderen integrierten Siliziumkomponenten.
  • Wie oben erwähnt wurde, ist eines der Schlüsselmerkmale der SATA- Schnittstelle die Softwarekompatibilität zu parallelen ATA-Controllern. Dies kann aus einem Vergleich der Fig. 1 und 2 besser verstanden werden, die eine Standard-ATA- bzw. die serielle ATA-Konnektivität (SATA- Konnektivität) verdeutlichen.
  • Wird zunächst zu Fig. 1 übergegangen, die zeigt, wie ATA-gemäße parallele Speichergeräte mit einem Computersystem verbunden sind, um einen Datentransfer zu und von den Geräten zu ermöglichen, so enthält das Computersystem ein Betriebssystem 115, das die Hauptsoftware darstellt, die auf dem Computer läuft. Es kann weiterhin mehrere Anwendungsprogramme 100, 105, 110 geben, die gewöhnlich eine Benutzerschnittstelle aufweisen, um Informationen an den Benutzer zu liefern und eine Eingabe zu empfangen. Natürlich existieren auch Anwendungsprogramme ohne Benutzerschnittstelle. Weiterhin ist gewöhnlich eine Treibersoftware 120 vorhanden, die eine Extrasoftwarekomponente oder ein Teil des Betriebssystems 115 sein kann und speziell abläuft, um mit ATA-gemäßer Hardware zu interagieren.
  • Diese Hardware enthält den ATA-Adapter 125, der Datensignale mit Geräten 135, 140 über einen Parallelport 130 austauscht. Der ATA-Adapter 125 wird auch ATA-Controller genannt, oft zusammen mit dem Parallelport 130.
  • Wird nun auf Fig. 2 Bezug genommen, die die entsprechenden Teile eines Computersystems mit einer SATA-Schnittstelle verdeutlicht, so sind weder in den Anwendungsprogrammen 100, 105, 110, noch in dem Betriebssystem 115, noch in dem Treiber 120 Änderungen erforderlich. Auf der Hardwareseite wird ein SATA-Adapter 200 bereitgestellt, der mit einem oder mehreren seriellen Ports 210, 215 verbunden ist, um Signale mit seriellen Geräten 220, 225 auszutauschen. Das bedeutet, dass sich das SATA-fähige Computersystem von dem System von Fig. 1 darin unterscheidet, dass die Geräte und Ports seriell sind und ein geeigneter SATA-gemäßer Adapter 200 bereitgestellt wird. Befasst man sich in näheren Einzelheiten mit diesem Adapter, so kann man sehen, dass der SATA-Adapter 200 so verstanden werden kann, dass er einen ATA-Adapter 125 umfasst, der von einem Parallel-Seriell-Wandler 205 begleitet ist, um eine Parallel-zu-seriell- und Seriell-zu-parallel-Wandlung 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 von Fig. 2 softwarekompatibel zu der Technik von Fig. 1. Somit stellt SATA eine Einbaulösung ("drop-in") dar und die heutige Software wird auf der neuen Architektur ohne eine Modifikation laufen. Ausgehend von diesem Feature und den oben beschriebenen anderen Vorteilen und weiter berücksichtigend, dass SATA-gemäße Controller und Geräte von etwa denselben Kosten wie herkömmliche Geräte sein werden, wird von SATA erwartet, dass es parallele ATA-Schnittstellen eventuell vollständig ersetzt. Die Einführung von SATA durch die Industrie wird einem Übergangspfad mit Phasen folgen und es wird einen Punkt geben, zu dem sowohl parallele als auch serielle ATA-Fähigkeiten verfügbar sind.
  • Obwohl die Technologie softwarekompatibel und betriebssystemtransparent ist, werden die SATA-Elektronik und die SATA-Verbinder von solchen der herkömmlichen ATA-Schnittstelle verschieden sein. Aus diesem Grunde können Adapter bereitgestellt werden, die die Vorwärts- und Rückwärtskompatibilität von Festplatten und anderen Speichergeräten auf Computersystemen erleichtern. Beispielsweise können SATA-zu-ATA- Bridges (Brücken) in Festplattenlaufwerken und Speichersystemen und ATA- zu-SATA-Bridges in Motherboards, Einsetzkarten und Laufwerkstestequipment verwendet werden. Jedoch erfordern solche herkömmliche Lösungen zusätzliche Hardwarekomponenten in signifikantem Umfang und führen somit zu erhöhten Herstellungskosten.
  • ÜBERSICHT ÜBER DIE ERFINDUNG
  • Ein verbesserter Controller und ein Steuerverfahren werden bereitgestellt, die die Wiederverwendung der meisten Hardware eines konventionellen ATA-gemäßen Controllers für die Implementierung von SATA-Fähigkeiten in kosteneffizienter Weise gestatten können.
  • In einer Ausgestaltung wird ein ATA-Controller bereitgestellt, der wenigstens einen parallelen Port zum Anverbinden wenigstens eines ATA-gemäßen Speichergeräts und wenigstens einen seriellen Port zum Verbinden wenigstens eines SATA-gemäßen Speichergeräts umfasst. Der ATA- Controller umfasst weiterhin eine Portumschalteinrichtung zum Umschalten auf wenigstens einen der parallelen und seriellen Ports, um einen Datentransfer zu und/oder von einem Speichergerät zu ermöglichen, das an diesem Port verbunden ist.
  • In einer anderen Ausgestaltung wird ein integrierter Schaltkreischip bereitgestellt, der eine Schaltung umfasst zum Durchführen eines Datentransfers zu und/oder von ATA- und SATA-gemäßen Geräten. Der integrierte Schaltkreischip umfasst ein Register, das Identifikationsdaten speichert, die wenigstens ein ATA- oder SATA-gemäßes Gerät angeben, das an einem parallelen bzw. seriellen Port verbunden ist. Der integrierte Schaltkreischip umfasst ferner eine Umschaltschaltung zum Umschalten auf wenigstens ein ATA- oder SATA-gemäßes Gerät, das durch die gespeicherten Identifikationsdaten angegeben ist.
  • In einer weiteren Ausgestaltung kann ein Verfahren bereitgestellt werden zum Betreiben eines ATA-Controllers. Das Verfahren umfasst das Speichern von Identifikationsdaten in einem Portmapregister des ATA-Controllers, wobei die Identifikationsdaten wenigstens ein ATA- oder SATA-gemäßes Speichergerät angeben, das an einem parallelen Port bzw. einem seriellen Port verbunden ist. Das Verfahren umfasst weiterhin das Auslesen der gespeicherten Identifikationsdaten, das Umschalten auf den Port, der mit dem Speichergerät verbunden ist, das durch die ausgelesenen Identifikationsdaten angegeben wird, und das Durchführen eines Datentransfers zu und/oder von dem Speichergerät, das durch die ausgelesenen Identifikationsdaten angegeben wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen sind in die Beschreibung eingefügt und bilden einen Teil derselben zum Zwecke der Erläuterung der Prinzipien der Erfindung. Die Zeichnungen sind nicht als die Erfindung nur auf die verdeutlichten und beschriebenen Beispiele beschränkend zu verstehen, wie die Erfindung gemacht und verwendet werden kann. Weitere Merkmale und Vorteile werden aus der folgenden und genauereren Beschreibung der Erfindung ersichtlich werden, wie in den beigefügten Zeichnungen verdeutlicht, in denen:
  • Fig. 1 ein konventionelles Computersystem verdeutlicht, das mit ATA- gemäßen Speichergeräten verbunden ist;
  • Fig. 2 ein konventionelles Computersystem verdeutlicht, das mit SATA- gemäßen Speichergeräten verbunden ist;
  • Fig. 3 die Komponenten eines ATA-Controllers gemäß einer Ausgestaltung verdeutlicht; und
  • Fig. 4 ein Flussdiagramm ist, das den Prozess des Betriebs des ATA- Controllers von Fig. 3 verdeutlicht.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die verdeutlichenden Ausgestaltungen der vorliegenden Erfindung werden unter Bezug auf die Zeichnungen beschrieben werden, in denen ähnliche Elemente und Strukturen durch gleiche Bezugszeichen angegeben sind.
  • Wird nun auf die Zeichnungen und insbesondere auf Fig. 3 Bezug genommen, die die Hardwarekomponenten eines ATA-Controllers gemäß einer Ausgestaltung verdeutlicht, so umfasst der Controller eine Targetschnittstelleneinrichtung 305 und eine Sourceschnittstelleneinrichtung 310. Beide Schnittstellen sind mit der Hostschnittstelle 300 verbunden, um Anforderungen (Requests) und Daten mit dem Softwaretreiber 120 auszutauschen. Die Targetschnittstelle 305 kann von dem Treiber 120 verwendet werden, um auf den Controller zu Konfigurationszwecken zuzugreifen. Auf der anderen Seite kann die Sourceschnittstelle 310 verwendet werden, um einen Datenzugriff zum Lesen oder Schreiben von Daten auf/von Speichergeräten durchzuführen.
  • Es wird weiterhin eine Busmastereinrichtung ("bus master engine") 320 bereitgestellt, um zu steuern, welcher der Master- und Slavesteuereinrichtungen 325, 330 Zugriff auf welche der Target- und Sourceschnittstellen 305, 310 gewährt wird, und umgekehrt. Die Mastersteuereinrichtung 325 und die Slavesteuereinrichtung 330 können wie in konventionellen ATA-Controllern 125 aufgebaut sein, die einen parallelen Port steuern, mit dem zwei parallele Geräte verbunden werden können, wobei einer der Master und der andere der Slave ist.
  • Weiterhin gibt es einen Shadow-Registerblock (Schattenregisterblock) 315, der Schnittstellenregister enthält, die verwendet werden, um Befehle zu den Geräten zu liefern oder einen Status von den Geräten bekannt zu geben. Der Schattenregisterblock 315 wird so genannt, da er einen Satz von Registern enthält, die den Inhalt der traditionellen Geräteregister abschatten, um eine Standard-ATA-Emulation durchzuführen. In der vorliegenden Ausgestaltung arbeitet der Controller in dem Master/Slave-Emulationsmodus, der in der SATA-Spezifikation angegeben wird; das bedeutet, dass zwei serielle Geräte an zwei separaten seriellen Ports 210, 215 der Hostsoftware gegenüber als ein Master und ein Slave dargestellt werden, auf die an demselben Satz von Hostbusadressen zugegriffen wird.
  • Um diese Funktionalität zu realisieren, kann eine Portzuweisungseinrichtung 335 bereitgestellt werden, die verwendet werden kann, um zwischen den parallelen und seriellen Ports 130, 210, 215 umzuschalten. Die Portzuweisungseinrichtung 335 verbindet ferner die Master- und Slavegeräte, die mit dem parallelen Port 130 verbunden sind, mit der richtigen Steuereinrichtung 325, 330. Auch werden die seriellen Geräte, die mit den seriellen Ports 210, 215 verbunden sind, mit entweder der Mastersteuereinrichtung 325 oder der Slavesteuereinrichtung 330 verbunden, da der Controller der vorliegenden Ausgestaltung wie oben beschrieben in dem Master/Slave-Emulationsmodus arbeitet. Eine andere Funktion, die von der Portzuweisungseinrichtung 335 durchgeführt wird, ist die des Parallel-Seriell- Wandlers 205, d. h. sie führt eine Wandlung von parallelen in serielle Datensignale und umgekehrt durch.
  • Wie aus Fig. 3 ersehen werden kann, empfängt die Portzuweisungseinrichtung 335 ferner eine Eingabe vom Portmapregister 340. Das Portmapregister 340, das eigentlich ein Satz von Registern sein kann, speichert Portidentifikationsdaten, die angeben, welcher der parallelen und seriellen Ports 130, 210, 215 aktiviert ist. Es ist anzumerken, dass allgemein jede Anzahl von Ports aktiviert sein kann, was den Fall einschließt, in dem kein Port aktiv ist oder alle parallelen und seriellen Ports aktiviert sind.
  • In einer anderen Ausgestaltung können das Portmapregister 340 und die Portzuweisungseinrichtung 335 von solcher Art sein, dass der ATA-Controller von Fig. 3 in einer der folgenden Konfigurationen arbeiten kann. In der ersten Konfiguration können null, ein oder zwei parallele ATA-Geräte betrieben werden. In einer anderen Konfiguration können null, ein oder zwei serielle ATA-Geräte betrieben werden. Schließlich können in einer dritten Konfiguration ein paralleles und ein serielles Gerät betrieben werden.
  • Es ist anzumerken, dass das Portmapregister 340, das Portidentifikationsdaten, die die zu verwendenden Ports definieren, oder die Konfiguration speichert, mit der Targetschnittstelle 305 verbunden ist, so dass der Treiber 120 Zugriff auf das Register bzw. die Register erhält, um eine Rekonfiguration durchzuführen. Das bedeutet, dass die Ausgestaltung einen existierenden parallelen ATA-Controller um einen seriellen Teil erweitert und es so gestattet, die Hardware des parallelen ATA-Controllers in signifikantem Umfang wiederzuverwenden, um einen kosteneffizienten softwarekonfigurierbaren kombinierten Seriell/Parallel-ATA-Controller zu implementieren.
  • Der gesamte Controller kann rekonfiguriert werden, um als konventioneller ATA-Controller oder als konventioneller SATA-Controller zu arbeiten. Das bedeutet, dass eine softwaregetriebene Rekonfiguration bereitgestellt wird, die es ermöglicht, zwischen einem Modus, in dem sich der Controller wie ein konventioneller ATA-Controller verhält, und einem Modus, in dem sich der Controller wie ein konventioneller SATA-Controller verhält, umzuschalten. Zusätzlich kann der Controller gemäß der Ausgestaltung konfiguriert werden, um gleichzeitig einen Datentransfer zu parallelen und seriellen Geräten durchzuführen. Das bedeutet, dass der Controller der Ausgestaltung ein chamäleonartiges Bauelement ist, das sich auf alle möglichen Konnektivitätsmoden einstellt, indem es einfach eine Software-Rekonfiguration durchführt.
  • Darüber hinaus können in einem der Moden parallele und serielle Geräte simultan betrieben werden. Es ist anzumerken, dass der gleichzeitige Datentransfer zu und von einem parallelen und seriellen Speichergerät bewerkstelligt werden kann durch Erweitern der SATA-Transportschicht- Zustandsmaschine, um in der Lage zu sein, konventionelle ATA-Steuersignale, die von konventionellen ATA-Schnittstellensteuerschaltungen erzeugt werden, zu verwenden, und einen zusätzlichen Payloadpuffer hinzuzufügen.
  • Wie oben diskutiert, ermöglicht es das Portmapregister 340 der Software 100, 105, 110, 115, 120, die Anordnung zu konfigurieren und zu rekonfigurieren. Dies schließt die Konfiguration des Masters oder des Slaves oder beider Geräte auf entweder ein paralleles oder ein serielles Gerät ein. Weiterhin kann der Controller, wie in der SATA-Spezifikation definiert, die Register aufweisen, die erforderlich sind, um Lese/Schreibprozesse auf die SATA-Portstatus- und -fehlerregister zu ermöglichen.
  • Wird nun auf Fig. 4 übergegangen, so ist ein Flussdiagramm gezeigt, das den Prozess des Betriebs des ATA-Controllers gemäß der Ausgestaltung von Fig. 3 verdeutlicht. Im Schritt 400 überprüft die Software, ob serielle ATA-Laufwerke eingesteckt sind, z. B. indem sie das SATA-Portstatusregister liest. Die Software konfiguriert dann das Portmapregister 340 in Schritt 405. Es ist anzumerken, dass die Schritte 400 und 405 während der Initialisierung des Controllers durchgeführt werden können.
  • In Erwiderung auf eine Aktion vom Treiber 120 oder in Erwiderung auf eine Anforderung von einem der Speichergeräte kann die Portzuweisungseinrichtung 335 als Portumschalteinrichtung agieren, um in Schritt 410 auf die geeigneten Ports 130, 210, 215 umzuschalten. Wenn ein richtiger Port bereits aktiv ist, kann dieser Schritt übergangen werden. Ist der Zugriff auf das Speichergerät einmal ermöglicht, kann der Datentransfer in Schritt 415 durchgeführt werden.
  • Während die Erfindung in Bezug auf physikalische Ausgestaltungen, die in Übereinstimmung mit ihr konstruiert worden sind, beschrieben worden ist, wird Fachleuten ersichtlich sein, dass zahlreiche Modifikationen, Variationen und Verbesserungen der vorliegenden Erfindung im Lichte der obigen Lehren und innerhalb des Umfangs der beigefügten Ansprüche gemacht werden können, ohne von der Idee und dem beabsichtigten Umfang der Erfindung abzuweichen. Zusätzlich sind solche Bereiche, in denen davon ausgegangen wird, dass sich Fachleute auskennen, hier nicht beschrieben worden, um die hier beschriebene Erfindung nicht unnötig zu verschleiern. Es ist demgemäß zu verstehen, dass die Erfindung nicht durch die spezifisch verdeutlichten Ausgestaltungen eingeschränkt ist, sondern nur durch den Umfang der beigefügten Ansprüche.

Claims (31)

1. ATA-Controller (ATA: Advanced Technology Attachment), umfassend:
wenigstens einen parallelen Port (130) zum Verbinden wenigstens eines ATA-gemäßen Speichergeräts;
wenigstens einen seriellen Port (210, 215) zum Verbinden wenigstens eines SATA-gemäßen (SATA: Serial ATA) Speichergeräts; und
eine Portumschalteinrichtung (335) zum Umschalten auf wenigstens einen der parallelen und seriellen Ports, um einen Datentransfer zu und/oder von einem Speichergerät zu ermöglichen, das an dem Port verbunden ist.
2. ATA-Controller nach Anspruch 1, weiterhin umfassend:
wenigstens ein Portmapregister (340), das Portidentifikationsdaten speichert, die wenigstens einen der parallelen und seriellen Ports identifizieren, der verwendet werden soll, um einen Datentransfer zu und/oder von einem an diesem Port verbundenen Speichergerät durchzuführen;
wobei die Portumschalteinrichtung eingerichtet ist zum Umschalten auf den Port, der durch die in dem wenigstens einen Portmapregister gespeicherten Daten angegeben ist.
3. ATA-Controller nach Anspruch 2, wobei das wenigstens eine Portmapregister verbunden ist, um die Portidentifikationsdaten in Erwiderung auf Softwareanforderungen zu speichern.
4. ATA-Controller nach Anspruch 2, wobei jeder der wenigstens einen parallelen Ports eingerichtet ist zum Verbinden zweier ATA-gemäßer Speichergeräte und das wenigstens eine Portmapregister weiterhin Master/Slave-Identifikationsdaten speichert, die angeben, welches der zwei der ATA-gemäßen Speichergeräte, die mit einem parallelen Port verbunden sind, der durch die Portidentifikationsdaten identifiziert ist, zum Datentransfer verwendet wird.
5. ATA-Controller nach Anspruch 4, wobei das wenigstens eine Portmapregister verbunden ist, um die Portidentifikationsdaten und die Master/Slave-Identifikationsdaten in Erwiderung auf Softwareanforderungen zu speichern.
6. ATA-Controller nach Anspruch 1 mit zwei seriellen Ports jeweils zur Verbindung eines SATA-gemäßen Speichergeräts, weiterhin umfassend: eine Steuereinrichtung (325, 330) zum Steuern eines Datentransfers zu und/oder von den SATA-gemäßen Speichergeräten in einem Master/Slave-Emulationsmodus, wobei eines der SATA-gemäßen Speichergeräte der Hostsoftware gegenüber als Master und das andere SATA-gemäße Speichergerät als Slave dargestellt wird und auf beide an demselben Satz von Hostbusadressen zugegriffen werden kann.
7. ATA-Controller nach Anspruch 1 mit einem parallelen Port zum Verbinden zweier ATA-gemäßer Speichergeräte und zwei seriellen Ports jeweils zum Verbinden eines SATA-gemäßen Speichergeräts, weiterhin ein Portmapregister (340) umfassend, das Portidentifikationsdaten speichert, die wenigstens einen der parallelen und seriellen Ports identifizieren, der zur Durchführung eines Datentransfers verwendet werden soll.
8. ATA-Controller nach Anspruch 7, wobei das Portmapregister eingerichtet ist, um Daten zu speichern, die angeben, dass nur ATA- gemäße Speichergeräte, aber keine SATA-gemäßen Speichergeräte, zum Datentransfer verwendet werden.
9. ATA-Controller nach Anspruch 7, wobei das Portmapregister eingerichtet ist, um Daten zu speichern, die angeben, dass nur SATA- gemäße Speichergeräte, aber keine ATA-gemäßen Speichergeräte, zum Datentransfer verwendet werden.
10. ATA-Controller nach Anspruch 7, wobei das Portmapregister eingerichtet ist, um Daten zu speichern, die angeben, dass sowohl ein ATA-gemäßes Speichergerät als auch ein SATA-gemäßes Speichergerät zum Datentransfer verwendet werden.
11. ATA-Controller nach Anspruch 1, eingerichtet zum Bestimmen, ob ein SATA-gemäßes Speichergerät an wenigstens einem seriellen Port verbunden ist.
12. ATA-Controller nach Anspruch 11, eingerichtet zum Bereitstellen einer Information über das bestimmte SATA-gemäße Speichergerät an eine Hostsoftware.
13. ATA-Controller nach Anspruch 11, wobei die Portumschalteinrichtung eingerichtet ist zum automatischen Umschalten in einem Initialisierungsmodus des ATA-Controllers auf das bestimmte SATA-gemäße Speichergerät.
14. ATA-Controller nach Anspruch 1, wobei die Portumschalteinrichtung eingerichtet ist zum Umwandeln paralleler Daten in serielle Daten und/oder serieller Daten in parallele Daten, um einen Datentransfer zu und/oder von SATA-gemäßen Speichergeräten zu ermöglichen.
15. ATA-Controller nach Anspruch 1, nämlich ein integrierter Schaltkreischip.
16. Integrierter Schaltkreischip mit einer Schaltung zum Durchführen eines Datentransfers zu und/oder von ATA-gemäßen (ATA: Advanced Technology Attachment) und SATA-gemäßen (SATA: Serial ATA) Geräten, umfassend:
ein Register (340), das Identifikationsdaten speichert, die wenigstens ein ATA-gemäßes oder SATA-gemäßes Gerät angeben, das an einem parallelen bzw. seriellen Port verbunden ist; und
eine Umschaltschaltung (335) zum Umschalten auf das wenigstens eine ATA-gemäße oder SATA-gemäße Gerät, das von den gespeicherten Identifikationsdaten angegeben wird.
17. Verfahren zum Betreiben eines ATA-Controllers (ATA: Advanced Technology Attachment), wobei das Verfahren umfasst:
Speichern (405) von Identifikationsdaten in einem Portmapregister (340) des ATA-Controllers, wobei die Identifikationsdaten wenigstens ein ATA-gemäßes oder SATA-gemäßes (SATA: Serial ATA) Speichergerät angeben, das an einem parallelen Port (130) bzw. einem seriellen Port (210, 215) verbunden ist;
Auslesen (410) der gespeicherten Identifikationsdaten;
Umschalten (410) auf den Port, der mit dem Speichergerät verbunden ist, das durch die ausgelesenen Identifikationsdaten angegeben wird; und
Durchführen (415) eines Datentransfers zu und/oder von dem Speichergerät, das von den ausgelesenen Identifikationsdaten angegeben wird.
18. Verfahren nach Anspruch 17, weiterhin umfassend: Empfangen einer Softwareanforderung, um die Identifikationsdaten in dem Portmapregister zu speichern.
19. Verfahren nach Anspruch 17, wobei der parallele Port eingerichtet ist zum Verbinden zweier ATA-gemäßer Speichergeräte und die Identifikationsdaten Master/Slave-Identifikationsdaten enthalten, die angeben, welches der zwei ATA-gemäßen Speichergeräte, die an dem parallelen Port verbunden sind, zum Datentransfer verwendet wird.
20. Verfahren nach Anspruch 19, weiterhin umfassend: Empfangen einer Softwareanforderung, um die Master/Slave- Identifikationsdaten in dem Portmapregister zu speichern.
21. Verfahren nach Anspruch 17, wobei der ATA-Controller zwei serielle Ports jeweils zum Verbinden eines SATA-gemäßen Speichergeräts umfasst und der Schritt des Durchführens eines Datentransfers weiterhin umfasst: Betreiben des ATA-Controllers in einem Master/Slave-Emulationsmodus, wobei eines der SATA-gemäßen Speichergeräte der Hostsoftware gegenüber als Master und das andere SATA-gemäße Speichergerät als Slave dargestellt werden und auf beide an demselben Satz von Hostbusadressen zugegriffen werden kann.
22. Verfahren nach Anspruch 17, eingerichtet zum Betreiben eines ATA- Controllers, der einen parallelen Port zum Verbinden zweier ATA- gemäßer Speichergeräte und zwei serielle Ports jeweils zu Verbinden eines SATA-gemäßen Speichergeräts umfasst.
23. Verfahren nach Anspruch 22, wobei der Speicherschritt eingerichtet ist zum Speichern von Identifikationsdaten, die angeben, dass nur ATA- gemäße Speichergeräte, aber keine SATA-gemäßen Speichergeräte, zum Datentransfer verwendet werden.
24. Verfahren nach Anspruch 22, wobei der Speicherschritt eingerichtet ist zum Speichern von Identifikationsdaten, die angeben, dass nur SATA- gemäße Speichergeräte, aber keine ATA-gemäßen Speichergeräte, zum Datentransfer verwendet werden.
25. Verfahren nach Anspruch 22, wobei der Speicherschritt eingerichtet ist zum Speichern von Identifikationsdaten, die angeben, dass sowohl ein ATA-gemäßes Speichergerät als auch ein SATA-gemäßes Speichergerät zum Datentransfer verwendet werden.
26. Verfahren nach Anspruch 17, weiterhin umfassend: Bestimmen (400), ob ein SATA-gemäßes Speichergerät mit einem seriellen Port verbunden ist.
27. Verfahren nach Anspruch 26, weiterhin umfassend: Bereitstellen einer Information über das bestimmte SATA-gemäße Speichergerät an eine Hostsoftware.
28. Verfahren nach Anspruch 26, wobei der Speicherschritt eingerichtet ist zum Speichern von Identifikationsdaten, die das bestimmte SATA- gemäße Speichergerät identifizieren.
29. Verfahren nach Anspruch 17, wobei der Schritt des Durchführens eines Datentransfers umfasst: Umwandeln paralleler Daten in serielle Daten und/oder serieller Daten in parallele Daten, um einen Datentransfer zu und/oder von SATA- gemäßen Speichergeräten zu ermöglichen.
30. ATA-Controller (ATA: Advanced Technology Attachment), umfassend:
wenigstens einen parallelen Port (130) zum Verbinden wenigstens eines Parallelportgeräts;
wenigstens einen seriellen Port (210, 215) zum Verbinden wenigstens eines Seriellportgeräts; und
eine Portumschalteinrichtung (335) zum Umschalten auf wenigstens einen der parallelen und seriellen Ports, um einen Datentransfer zu und/oder von einem mit dem Port verbundenen Gerät zu ermöglichen.
31. Verfahren zum Betreiben eines ATA-Controllers (ATA: Advanced Technology Attachment), wobei das Verfahren umfasst:
Speichern (405) von Identifikationsdaten in einem Portmapregister (340) des ATA-Controllers, wobei die Identifikationsdaten wenigstens ein Parallelportgerät oder Seriellportgerät angeben, das mit einem parallelen Port (130) bzw. einem seriellen Port (210, 215) verbunden ist;
Auslesen (410) der gespeicherten Identifikationsdaten;
Umschalten (410) auf den Port, der mit dem Gerät verbunden ist, das von den ausgelesenen Identifikationsdaten angegeben wird; und
Durchführen (415) eines Datentransfers zu und/oder von dem Gerät, das von den ausgelesenen Identifikationsdaten angegeben wird.
DE10214701A 2002-04-03 2002-04-03 ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip Expired - Fee Related DE10214701B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10214701A DE10214701B4 (de) 2002-04-03 2002-04-03 ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip
US10/184,434 US7225290B2 (en) 2002-04-03 2002-06-27 ATA and SATA compliant controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10214701A DE10214701B4 (de) 2002-04-03 2002-04-03 ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip

Publications (2)

Publication Number Publication Date
DE10214701A1 true DE10214701A1 (de) 2003-10-23
DE10214701B4 DE10214701B4 (de) 2004-08-05

Family

ID=28458552

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10214701A Expired - Fee Related DE10214701B4 (de) 2002-04-03 2002-04-03 ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip

Country Status (2)

Country Link
US (1) US7225290B2 (de)
DE (1) DE10214701B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631112B2 (en) 2006-02-17 2009-12-08 Samsung Electronics Co., Ltd. Determining storage device connection information for serial and parallel computer interfaces to storage devices

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7308512B1 (en) * 2001-05-16 2007-12-11 Network Appliance, Inc. Fiber channel adaptor for serial or parallel ATA disks
US6931457B2 (en) * 2002-07-24 2005-08-16 Intel Corporation Method, system, and program for controlling multiple storage devices
KR100487539B1 (ko) * 2002-09-02 2005-05-03 삼성전자주식회사 직렬 에이티에이 케이블과 연결되는 불휘발성 반도체메모리 장치
WO2004023268A2 (en) * 2002-09-06 2004-03-18 Silicon Image, Inc. Method and apparatus for double data rate serial ata phy interface
US20040081179A1 (en) * 2002-10-23 2004-04-29 Gregorcyk Arthur J. Method and system for selecting between serial storage buses using data signals of the buses
US7246192B1 (en) * 2003-01-10 2007-07-17 Marvell International Ltd. Serial/parallel ATA controller and converter
US6848954B2 (en) * 2003-01-20 2005-02-01 Tyco Electronics Amp Gmbh Electrical contact element
CN100383736C (zh) * 2004-05-08 2008-04-23 鸿富锦精密工业(深圳)有限公司 串行高阶硬盘架构控制器自动初始化方法
JP4442523B2 (ja) * 2005-06-30 2010-03-31 セイコーエプソン株式会社 データ転送制御装置及び電子機器
TWI286690B (en) * 2005-08-29 2007-09-11 Via Tech Inc Expanded structure of peripheral storage device having a connector port multiplier
KR100805836B1 (ko) * 2006-07-26 2008-02-21 삼성전자주식회사 버스 폭 설정 장치, 디스플레이 장치 그리고 버스 폭 설정방법
US20100138566A1 (en) * 2008-11-30 2010-06-03 Rite Track Equipment Services, Inc. Control System for Legacy Computers Using Peripheral Devices
CN101546194B (zh) * 2009-05-07 2012-01-04 成都市华为赛门铁克科技有限公司 一种接口装置、接口控制方法以及存储系统
CN104102457B (zh) * 2014-06-19 2017-04-12 中国航天科工集团第三研究院第八三五七研究所 一种多路数据高速转存装置
CN114579489B (zh) * 2022-03-15 2023-01-24 无锡众星微系统技术有限公司 一种双模sata传输层优化方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949979A (en) * 1997-02-12 1999-09-07 Apple Computer, Inc. Method and apparatus for dynamic addition of buses to a computer system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5727184A (en) * 1994-06-27 1998-03-10 Cirrus Logic, Inc. Method and apparatus for interfacing between peripherals of multiple formats and a single system bus
US5596562A (en) * 1995-01-19 1997-01-21 United Microelectronics Corp. Controlling method and apparatus for supporting hard disk and/or CD-ROM drives through the PCMCIA interface
US6185654B1 (en) * 1998-07-17 2001-02-06 Compaq Computer Corporation Phantom resource memory address mapping system
US6697867B1 (en) * 2000-07-25 2004-02-24 Sun Microsystems, Inc. System and method for accessing multiple groups of peripheral devices
US6618788B1 (en) * 2000-09-27 2003-09-09 Cypress Semiconductor, Inc. ATA device control via a packet-based interface
US7069456B2 (en) * 2000-12-28 2006-06-27 Intel Corporation Method and apparatus facilitating direct access to a serial ATA device by an autonomous subsystem
IES20010783A2 (en) * 2001-04-26 2002-09-18 Richmount Computers Ltd Data storage apparatus
US6854045B2 (en) * 2001-06-29 2005-02-08 Intel Corporation Hardware emulation of parallel ATA drives with serial ATA interface
US6845420B2 (en) * 2001-10-11 2005-01-18 International Business Machines Corporation System for supporting both serial and parallel storage devices on a connector
JP3798292B2 (ja) * 2001-10-31 2006-07-19 富士通株式会社 データ同期化回路及び通信インターフェース回路
US6898730B1 (en) * 2001-11-30 2005-05-24 Western Digital Technologies, Inc. System and method for fail-over switching in a disk storage medium
US7246245B2 (en) * 2002-01-10 2007-07-17 Broadcom Corporation System on a chip for network storage devices
US7552289B2 (en) * 2002-01-18 2009-06-23 Rasilient, Inc. Method and apparatus for arbitrating access of a serial ATA storage device by multiple hosts with separate host adapters
US7111066B2 (en) * 2002-03-27 2006-09-19 Motorola, Inc. Method of operating a storage device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5949979A (en) * 1997-02-12 1999-09-07 Apple Computer, Inc. Method and apparatus for dynamic addition of buses to a computer system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Adaptec announces serial ATA controller for next-generation storage applications", Adaptec Inc., Milpitas/Calif., 22.02.2002, http://www.serialata.org/news/pdf/AdaptecSTINGERRELEASEFINALINTEL.pdf *
"Intel 82801 BA I/O Controller Hub 2 (ICH2) Data- sheet and Intel B2801 BAM I/O Controller Hub 2 Mobile (ICH2-M)", Intel, Oktober 2000, S. iii und V, Kap. 1.2 Overview, S. 1-3 bis 1-8 *
"Silicon Image debuts SATALink TM family of end- to-end Serial ATA solutions", Intel Developer Forum, San Francisco/Calif., 25.02.2002, http://www.serialata.org/news/pdf/SiliconImageFinalSataLinkLaunchPressRelease.pdf *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7631112B2 (en) 2006-02-17 2009-12-08 Samsung Electronics Co., Ltd. Determining storage device connection information for serial and parallel computer interfaces to storage devices
DE102007009300B4 (de) * 2006-02-17 2012-05-03 Samsung Electronics Co., Ltd. Rechnersystem und Verfahren zum Betreiben eines Rechnersystems

Also Published As

Publication number Publication date
US20030191872A1 (en) 2003-10-09
DE10214701B4 (de) 2004-08-05
US7225290B2 (en) 2007-05-29

Similar Documents

Publication Publication Date Title
DE10214700B4 (de) Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben
DE10214701B4 (de) ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip
DE69803087T2 (de) Integriertes bimodales einzelchip-steuergerät
DE602004010303T2 (de) Mehrere schnittstellen in einem speichergehäuse
DE60031499T2 (de) Verfahren zur Übertragung von Signalen der Typen "fibre-channel" und "non-fibre-channel" über ein gemeinsames Kabel
DE69020569T2 (de) Modulares ein-/ausgabesystem für superrechner.
DE3852904T2 (de) Eingangs-/Ausgangssystem für Multiprozessoren.
EP0917682B1 (de) Flexible schnittstelle
DE60006779T2 (de) Verfahren zum schreiben eines geänderten bios codes in den rompeicherchip einer hostschnittstelle
DE69227939T2 (de) Gerätetreibersystem mit einer Schnittstelle zu einem generischen Betriebsystem
DE102004057756B4 (de) USB-Steuerungseinrichtung mit OTG-Steuerungseinheit
DE69626962T2 (de) Verfahren und anordnung zum betrieb eines mit einem hauptrechner verbundenen massenspeicher-computerperipheriegerätes
DE202010017661U1 (de) Datenspeichervorrichtung
DE112019000147T5 (de) Partielle rücksetzung einer speichersteuerung
DE112013006634T5 (de) Computersystem und Computersystemsteuerverfahren
DE69520706T2 (de) Herstellungsverfahren für einen elektrischen Vorrichtungs-Adapter
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
DE69428878T2 (de) Selbstbeschreibendes Datenverarbeitungssystem
DE102022003129A1 (de) Speichervorrichtung mit mehreren eingabe/ausgabe-schnittstellen
EP2825968B1 (de) Modulares serversystem, i/o-modul und switching-verfahren
DE112007000688T5 (de) Fehlerverwaltungstopologien
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE112006000634T5 (de) Verfahren und Vorrichtung zur unabhängigen und gleichzeitigen Datenübertragung auf Host-Controller
DE112006001345T5 (de) Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse
DE69931745T2 (de) Automatische Konfiguration einer ersten und zweiten peripheren Einrichtung für einen Rechner

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: GLOBALFOUNDRIES INC., GRAND CAYMAN, KY

8328 Change in the person/name/address of the agent

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

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20121101