DE10240857B4 - Buserweiterungsvorrichtung und -verfahren, Filter zur Erweiterung eines Busses - Google Patents

Buserweiterungsvorrichtung und -verfahren, Filter zur Erweiterung eines Busses Download PDF

Info

Publication number
DE10240857B4
DE10240857B4 DE10240857A DE10240857A DE10240857B4 DE 10240857 B4 DE10240857 B4 DE 10240857B4 DE 10240857 A DE10240857 A DE 10240857A DE 10240857 A DE10240857 A DE 10240857A DE 10240857 B4 DE10240857 B4 DE 10240857B4
Authority
DE
Germany
Prior art keywords
signal
bus
auxiliary
function
intercepted
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.)
Expired - Fee Related
Application number
DE10240857A
Other languages
English (en)
Other versions
DE10240857A1 (de
Inventor
Alexandre P.V. Boulder Delorme
Darwin Mitchel Fort Collins Hanks
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE10240857A1 publication Critical patent/DE10240857A1/de
Application granted granted Critical
Publication of DE10240857B4 publication Critical patent/DE10240857B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • 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/387Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
    • 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
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S370/00Multiplex communications
    • Y10S370/916Multiplexer/demultiplexer

Abstract

Verfahren zum Erweitern eines Busses (130, 135), um zumindest eine Hilfsfunktion (110) zu unterstützen, das folgende Schritte umfaßt:
Abfangen eines Signals (500), das über den Bus (130, 135) ausgegeben wird;
wenn das abgefangene Signal (500) als funktionsspezifisch bezeichnet ist, Formatieren des abgefangenen Signals (500) für einen Hilfsbus (260) für eine Neuausgabe zu der zumindest einen Hilfsfunktion (110) und Neuausgeben des abgefangenen Signals (500) zu der zumindest einen Hilfsfunktion (110) über den Hilfsbus; und
Neuausgeben des abgefangenen Signals (500) über den Bus zu einem Peripheriegerät (100), wenn das Signal als gerätespezifisch bezeichnet ist.

Description

  • Die Erfindung bezieht sich allgemein auf Computerbusse und insbesondere auf Verfahren und Vorrichtungen zum Erweitern eines Busses, um zumindest eine Hilfsfunktion zu unterstützen, und auf ein Filter zur Erweiterung eines Busses.
  • Peripheriegeräte sind im allgemeinen vorgesehen, um die Funktionalität eines Personalcomputers (PC) zu erweitern. Beispielsweise kann ein DVD/RW (Digital Video Disk/Re-Writable)-Laufwerk für Videospeicherung und -wiedergewinnung unter Verwendung des PCs verwendet werden. Einige Peripheriegeräte sind nützlicher, wenn sie mit einer Hilfsfunktion verbunden sind. Beispielsweise kann ein DVD+RW-Laufwerk mit einer Videoerfassungs- und Komprimierungsfunktion zum Erzeugen einer DVD aus analogen Audio- und Videoeingangssignalen verbunden sein. Das heißt, die Videoerfassungsfunktion kann analoge Audio- und Videoeingangssignale (z. B. von einem Videocamcorder) zu digitalen Ausgangssignalen umwandeln. Die Komprimierungsfunktion kann die digitalen Ausgangssignale komprimieren (z. B. unter Verwendung der MPEG (Moving pictures Experts Group = Standardisierungsgremium für Bewegtbildkompression) -Dateikomponierungsstandards der Internationalen Normungsorganisation (ISO = International Organization for Standardization) zum Schreiben der DVD unter Verwendung des DVD+RW-Laufwerks. Andere Funktionen können DVD-Softwareverfassung umfassen (z. B. Hinzufügen eines Navigationsmenüs, Bearbeiten von Video oder Audio), usw.
  • Ein PC ist typischerweise mit nur einer begrenzten Anzahl von Bussen und Verbindungen zu demselben versehen. Beispielsweise unterstützt ein ATA-Bus (ATA = Advanced Technologe Attachment) ein Maximum von zwei Einzelfunktion-ATA- Geräten für jedes Hoststeuerungstor. Wo zwei ATA-Geräte auf einem einzigen ATA Bus vorliegen, ist es erforderlich, daß eines der ATA-Geräte als ein Master-Gerät konfiguriert ist, und es erforderlich ist, daß das andere Gerät als ein Slave-Gerät konfiguriert ist. Ferner ist ein PC typischerweise nur mit zwei ATA-Hoststeuerungen versehen, und begrenzt somit die Anzahl von Geräten, die auf demselben unterstützt werden, auf vier. Außerdem wurde der ATA-Bus ursprünglich zum Verbinden von Festplattenlaufwerken mit PCs entwickelt. Der ATA-Bus hat sich seither zu der universalen Schnittstelle zum Unterstützen von Speichergeräten entwickelt, und wird nun allgemein verwendet, um CD-ROM-Laufwerke, DVD-Laufwerke, usw. zu verbinden. Der ATA-Bus ist jedoch nach wie vor typischerweise auf das Unterstützen von Speichergeräten (z. B. dem DVD+RV-Laufwerk) begrenzt. Die Hilfsfunktion muß nicht notwendigerweise eine Speicherung sein (z. B. die oben erörterte Videoerfassungs- und Komprimierungsfunktion). Daher werden diese Hilfsfunktionen nicht durch den ATA-Bus unterstützt und müssen statt dessen über einen getrennten Bus mit dem PC verbunden werden.
  • Zur Veranschaulichung, die Hilfsfunktion kann durch eine PCI Erweiterungsplatine oder -karte (PCI = Peripheral Component Interconnect) geliefert werden. Das Installieren sowohl eines Peripheriegeräts (z. B. des DVD+RW-Laufwerks) als auch einer getrennten PCI-Erweiterungskarte (z. B. der Videoerfassungs- und Komprimierungsfunktion) kann für den typischen PC-Benutzer eine mühsame Aufgabe sein. Daher kann es sein, daß einige Benutzer davon abgehalten werden, ein Produkt zu kaufen, das eine solche Installation erfordert. Außerdem weist ein PC typischerweise nur eine begrenzte Anzahl (z. B. 3 oder 4) von PCI-Verbindern oder -Schlitzen auf. Diese können bereits durch andere PCI-Erweiterungskarten (z. B. einen Graphikbeschleuniger, eine Soundkarte, eine Modemkarte, usw.) besetzt sein. Gleichartig dazu reduziert das Installieren der Hilfsfunktion als eine PCI-Erweiterungskarte die Verfügbarkeit von PCI-Verbindern für später installierte PCI-Erweiterungskarten.
  • Aus der DE 692 27 731 T2 ist eine Buserweiterung für das Anschließen eines Hilfsbusses an einen einzelnen Port auf einem Hauptbus bekannt, durch welche mehrere Host-Rechner auf dem Hauptbus mit mehreren Peripherie-Geräten auf dem Hilfsbus verbunden werden können. Der Hauptbus und der Hilfsbus haben übereinstimmende Busstrukturen. Die Buserweiterung besitzt eine eindeutige Adresse auf jedem Hauptbus und jedem Hilfsbus. Es findet innerhalb der Gesamtbusstruktur eine eindeutige Adresszuordnung statt. Eine Umformatierung von Signalen ist nicht erforderlich, da der Hauptbus und der Hilfsbus übereinstimmende Strukturen haben.
  • Aus der EP 0 723 232 A1 sind ein Steuerverfahren und eine Steuervorrichtung zum Unterstützen von Hartplattenlaufwerken oder CD-ROM-Laufwerken durch PCMCIA-Schnittstellen bekannt. Eine PCMCIA-Steuerung 40 ist mit einem Bus des Computersystems verbunden, um PCMCIA-Schnittstellenfunktionen zu implementieren. Eine ATA-Steuerung ist mit dem ISA-Bus verbunden, um ATA-Schnittstellenfunktionen zu implementieren. Eine Multiplexerschaltung verbindet sowohl die PCMCIA-Steuerung als auch die ATA-Steuerung, um entsprechende Schnittstellenfunktionen unter der Steuerung eines Auswahlsignals zu implementieren.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren, eine Vorrichtung und ein Filter zum Erweitern eines Busses mit verbesserten Charakteristika zu schaffen, um zumindest eine Hilfsfunktion zu unterstützen.
  • Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, eine Vorrichtung gemäß Anspruch 5 und ein Filter gemäß Anspruch 16 gelöst.
  • Eine Vorrichtung zum Erweitern eines Busses, um zumindest eine Hilfsfunktion zu unterstützen, ist vorgesehen. Ein Filter zum Abfangen und Leiten eines Signals, das über den Bus ausgegeben wird, kann vorgesehen sein. Das Filter kann eine Steuerlogik zum Lesen des abgefangenen Signals und zum Bestimmen eines Bestimmungsorts für dasselbe umfassen. Das Filter kann außerdem einen Multiplexer umfassen, der der Steuerlogik zum Neuausgeben des abgefangenen Signals zu dem Bestimmungsort wirksam zugeordnet ist. Der Multiplexer gibt das abgefangene Signal zu einer der zumindest einen Hilfsfunktionen neu aus, wenn das abgefangene Signal als funktionsspezifisch bezeichnet ist. Alternativ gibt der Multiplexer das abgefangene Signal über den Bus neu zu einem Peripheriegerät aus, wenn das abgefangene Signal als gerätespezifisch bezeichnet ist.
  • Ein Verfahren zum Erweitern eines Busses, um zumindest eine Hilfsfunktion zu unterstützen, kann folgende Schritte umfassen: Abfangen eines Signals, das über den Bus ausgegeben wird, Neuausgeben des abgefangenen Signals zu einer der zumindest einen Hilfsfunktionen, wenn das abgefangene Signal als funktionsspezifisch bezeichnet ist, und Neuausgeben des abgefangenen Signals über den Bus zu dem Peripheriegerät, wenn das Signal als gerätespezifisch bezeichnet ist.
  • Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf beiliegende Zeichnungen näher erläutert. Es zeigen:
  • 1 ein Diagramm auf hoher Ebene, das ein herkömmliches Ausführungsbeispiel zum Verbinden sowohl eines Peripheriegeräts als auch einer Hilfsfunktion mit einem Host darstellt;
  • 2 ein Diagramm auf hoher Ebene, das ein Ausführungsbeispiel zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät darstellt, um zumindest eine Hilfsfunktion zu unterstützen;
  • 3 ein Diagramm auf hoher Ebene, das ein weiteres Ausführungsbeispiel zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät darstellt, um zumindest eine Hilfsfunktion zu unterstützen;
  • 4 ein Diagramm auf hoher Ebene, das noch ein weiteres Ausführungsbeispiel zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät darstellt, um zumindest eine Hilfsfunktion zu unterstützen;
  • 5 ein Diagramm auf hoher Ebene, das ein Ausführungsbeispiel eines Filters zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät darstellt, um zumindest eine Hilfsfunktion zu unterstützen;
  • 6 ein beispielhaftes Signal, das über den Bus ausgegeben wird;
  • 7 einen beispielhaften Operationscode des in 6 gezeigten beispielhaften Signals;
  • 8 ein Prozeßflußdiagramm, das die Interaktion verschiedener Komponenten der Buserweiterungsvor richtung und des Buserweiterungsverfahrens darstellt; und
  • 9 ein Flußdiagramm, das die Schritte eines Ausführungsbeispiels eines Verfahrens zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät darstellt, um zumindest eine Hilfsfunktion zu unterstützen.
  • Eine Vorrichtung 10 (z. B. 2) zum Erweitern eines Busses (130) zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100, um zumindest eine Hilfsfunktion 110 zu unterstützen, ist hierin gezeigt und beschrieben. Kurz gesagt, die ATA-Spezifikation ist als ein ANSI-Standard definiert (ANSI = American National Standards Institute = amerikanisches Institut für Normung). Die IDE-Steuerung (IDE = integrated drive electronics = integrierte Treiberelektronik) für den Bus 130 unterstützt zwei Peripheriegeräte pro Kanal. Die beiden Peripheriegeräte können als ein Master-Gerät (z. B. 100) und ein Slave-Gerät (z. B. 105) konfiguriert sein. Die verbesserte IDE(E-IDE = enhanced IDE)-Steuerung unterstützt vier Geräte, indem der ATA-Bus weiter in einen primären Bus 130 und einen sekundären Bus 135 unterteilt wird. Die meisten PCs weisen einen primären ATA-Bus 130 und einen sekundären ATA-Bus 135 als Teil der Hauptplatine (nicht gezeigt) auf. Ein zusätzlicher Dualkanal ATA-Hostadapter (nicht gezeigt) kann unter Verwendung einer Erweiterungsplatine oder -karte zu den meisten PCs 125 hinzugefügt werden. In jedem Fall unterstützt jeder ATA-Bus 130, 135 nach wie vor nur ein Maximum von zwei Einzelfunktionsperipheriegeräten 100, 105 (d. h. das Master-Gerät und das Slave-Gerät) für jedes Hoststeuerungstor.
  • Die Peripheriegeräte 100 können jedoch mit Hilfsfunktionen 110 verbunden sein, um die Funktionalität des PC 125 weiter zu verbessern. Ein DVD+RW-Laufwerk kann beispielsweise mit zugeordneten Funktionen verbunden sein, wie z. B. Videoer fassungs- und Komprimierungsfunktionen zum Erzeugen von DVDs. Obwohl diese Hilfsfunktionen 110 auf einer Erweiterungsplatine oder -karte (z. B. PCI-Erweiterungsplatine 115 in 1) enthalten sein können, sind die Erweiterungsverbindungen in den PCs 125 typischerweise ebenfalls in der Zahl begrenzt. Daher gibt es den Wunsch, den ATA-Bus zu erweitern, um sowohl das Peripheriegerät als auch die Hilfsfunktion zu unterstützen. Die vorliegende Erfindung bezieht sich auf ein solches Verfahren und eine solche Vorrichtung zum Erweitern eines Busses 130, 135, zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100, um zumindest eine Hilfsfunktion 110 zu unterstützen.
  • Gemäß den Lehren der vorliegenden Erfindung kann ein Filter 200 (5) zum Erweitern eines Busses 130 zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100 vorgesehen sein, um zumindest eine Hilfsfunktion 110 zu unterstützen. Das Filter 200 fängt ein Signal 500 ab, das durch den Host 120 ausgegeben wird, und leitet dasselbe über den Bus 130. Das Signal 500 kann beispielsweise in einem Puffer 510 gespeichert werden. Das Filter kann eine Steuerlogik 520 zum Lesen des abgefangenen Signals 500 (z. B. einen Operationscode 610 in 6) und zum Bestimmen eines Bestimmungsortes für das abgefangene Signal 500 (5) umfassen. Das heißt, das Signal 500 (das z. B. einen funktionsspezifischen Operationscode 610 aufweist) kann für eine Hilfsfunktion 110 beabsichtigt sein. Alternativ kann das Signal 500 (das z. B. einen gerätespezifischen Befehlscode 720 aufweist) für das Peripheriegerät 100 beabsichtigt sein. Das Filter 200 kann fernereinen Multiplexer 530 umfassen, der wirksam der Steuerlogik 520 zugeordnet ist. Der Multiplexer 530 kann das abgefangene Signal 500 zu einer der Hilfsfunktionen 110 neu ausgeben (z. B. wenn der Operationscode 610 funktionsspezifisch ist). Alternativ kann der Multiplexer 530 das abgefangene Signal 500 über den Bus 130 zu dem Peripheriegerät 100 neu ausgeben (z. B. wenn der Operationscode 610 gerätespezifisch ist).
  • Die Vorrichtung 10 kann wie folgt betrieben werden. Ein Signal 500 (5), das durch den Host 120 über den Bus 130 ausgegeben wird, kann durch das Filter 200 abgefangen werden. Das abgefangene Signal 500 kann zu einer der Hilfsfunktionen 110 neu ausgegeben werden, wenn das Signal 500 als funktionsspezifisch bezeichnet ist. Alternativ kann das abgefangene Signal 500 über den Bus 131 neu zu dem Peripheriegerät 100 ausgegeben werden, wenn das Signal 500 als gerätespezifisch bezeichnet ist. Als solcher kann der Bus 130 zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 110 erweitert werden, um zumindest eine Hilfsfunktion 110 zu unterstützen.
  • Obwohl ein Bus sonst auf die Anzahl von Peripheriegeräten, die derselbe unterstützt, begrenzt sein kann, kann der Bus 130, 135 gemäß der Erfindung erweitert werden, um zumindest eine Hilfsfunktion 110 zu unterstützen. Die Hilfsfunktion(en) 110 können über die gleiche Verbindung oder den gleichen Bus 130, 135 unabhängig zugreifbar sein, während dieselben an dem Host 120 als ein einziges gültiges Peripheriegerät 100 erscheinen. Gemäß dieser Konfiguration wird eine einzelne ATA-Verbindung (Master oder Slave), die typischerweise nur ein einzelnes Funktionsgerät 100 unterstützt, erweitert, um sowohl das einzelne Funktionsgerät 100 als auch eine oder mehrere Hilfsfunktionen 110 zu unterstützen. Außerdem können die Hardware sowohl für die Hilfsfunktion 110 als auch für das Peripheriegerät 100 zusammen gehäust werden. Außerdem erfordert die Erfindung nur eine einzige Busverbindung. Das integrierte Gerät ist somit kosteneffektiv in der Herstellung und leicht zu installieren.
  • Nachdem die Vorrichtung 10 und die Verfahren zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host und einem Peripheriegerät um zumindest eine Hilfsfunk tion unterstützen allgemein beschrieben wurde, werden nun verschiedene Ausführungsbeispiele der Erfindung näher beschrieben.
  • 1 ist ein Diagramm auf hoher Ebene, das ein herkömmliches Ausführungsbeispiel zum Verbinden sowohl eines Peripheriegeräts 100 als auch einer Hilfsfunktion 110 mit einem Host 120 darstellt. Bei diesem Ausführungsbeispiel sind ein erstes Peripheriegerät 100 (z. B. ein DVD+RW-Laufwerk) und optional ein zweites Peripheriegerät 105 (z. B. ein Festplattenlaufwerk) mit dem Host 120 (z. B. einem PC 125) über einen ATA-Bus 130 (z. B. entweder als ein Master- oder als ein Slave-Gerät) verbunden. Da der ATA-Bus 130 nur die beiden Speichergeräte 100, 105 auf demselben unterstützen kann, wird die Hilfsfunktion 110 (z. B. die Videoerfassungs- und -komprimierungsfunktion) getrennt auf einer Funktionskarte 115 (z. B. einer PCI-Erweiterungsplatine) geliefert, und über einen PCI-Bus 140 mit dem Host verbunden. Gemäß diesem Ausführungsbeispiel muß der Benutzer sowohl das Peripheriegerät 100 als auch die Hilfsfunktion 110 (z. B. die Funktionskarte 115) durch Verbinden von beiden mit dem PC 125 getrennt installieren. Außerdem ist dadurch ein PCI-Verbinder auf dem PC 125 besetzt, oder es kann sein, daß bereits andere PCI-Erweiterungsplatinen (z. B. ein Graphikbeschleuniger, eine Soundkarte, usw.) die PCI-Verbinder oder Schlitze auf dem PC 125 besetzen.
  • 2 ist ein Diagramm auf hoher Ebene, das ein Ausführungsbeispiel einer Vorrichtung 10 der Erfindung zum Erweitern eines Busses 130, 135 zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100, 105 darstellt, um zumindest eine Hilfsfunktion 110 zu unterstützen. Ein Befehlstreiber 250 an dem Host 120 kennzeichnet ein Signal (z. B. 500 in 5) als funktionsspezifisch oder gerätespezifisch, wie es nachfolgend näher beschrieben ist. Das Signal 500 wird zu einer ATA-Schnittstelle 275 geleitet und über den Bus 130 ausgegeben.
  • Vorzugsweise hält sich der Bus 130 an den Standard für einen ATA-Anhang (ATA = Advanced Technology Attachment) und Variationen desselben (ATA-1, ATA-2, ATA-3, usw.), einschließlich, aber nicht beschränkt auf den ATA-Paketschnittstellen (ATAPI)-Standard und Variationen desselben (ATA/ATAPI-4, ATA/ATAPI-5, usw.). Als solches kann jedes Standardperipheriegerät, das sich nach dem ATA-Standard richtet, und von verschiedenen Herstellern geliefert wird, gemäß den Lehren der Erfindung verwendet werden. Es ist jedoch klar, daß andere geeignete Busse 130 als innerhalb des Schutzbereiches der Erfindung angesehen werden, wie z. B. ein Kleincomputer-Schnittstellen(SCSI = small computer system interface)-Bus.
  • Auf dem Bus 130 kann ein Filter 200 vorgesehen sein, um das Signal 500, das durch den Host 120 ausgegeben wird, abzufangen und über den Bus 130 zu seinem Bestimmungsort zu leiten. Das heißt, das abgefangene Signal 500 kann durch das Filter 200 gelesen werden, und der Bestimmungsort des Signals 500 kann bestimmt werden. Das Signal 500 kann als gerätespezifisch bezeichnet sein (z. B. auf der Basis des Operationscodes 610, der in 6 gezeigt ist), und somit ist der Bestimmungsort des Signals 500 das Peripheriegerät 100. Entsprechend kann das abgefangene Signal 500 über den ATA-Bus 131 zu dem Peripheriegerät 100 neu ausgegeben werden, wenn das Signal 500 so bezeichnet ist. Alternativ kann das Signal 500 als funktionsspezifisch bezeichnet sein (z. B. auf der Basis des Operationscodes 610 in 6) und somit ist der Bestimmungsort des Signals 500 die Hilfsfunktion 110. Dementsprechend kann das abgefangene Signal 500 über einen Hilfsbus 260 (z. B. einen Mikrosteuerungsbus) an die Hilfsfunktion 110 neu ausgegeben werden, wenn das Signal 500 so bezeichnet ist.
  • Obwohl die Erfindung hier so dargestellt ist, wie dieselbe unter Verwendung eines PC (z. B. 125) implementiert werden kann, ist es klar, daß die Erfindung nicht auf die Verwendung mit PCs beschränkt ist. Der Host 120 kann ein Desktop- PC, ein Laptop, eine Netzwerkworkstation, ein Netzwerkserver, ein einzeln stehendes Gerät oder jeder andere geeignete Host sein, der jetzt bekannt ist oder später entwickelt wird, ist aber nicht darauf beschränkt. Obwohl die Erfindung hierin so dargestellt ist, daß sie unter Verwendung eines Mikrosteuerungsbusses implementiert sein kann, ist außerdem klar, daß die Hilfsfunktion 110 über das Filter 200 mit dem ATA-Bus 130 über jeden geeigneten Hilfsdatenbus 260 verbunden sein kann, wie z. B. einen IDE-Bus (IDE = Integrated Drive Electronics), einen Parallelbus, einen Speicherbus, usw.
  • Obwohl die Erfindung hierin so dargestellt ist, wie sie für ein DVD+RW-Laufwerk implementiert sein kann, ist außerdem klar, daß das Peripheriegerät 100 jedes geeignete ATA-Gerät sein kann. Das Peripheriegerät 100 kann beispielsweise ein Massenspeichergerät, ein optisches Gerät, ein Bandlaufwerk, ein Ziplaufwerk usw. sein. Gleichartig dazu, obwohl die Erfindung hierin so dargestellt ist, wie sie für Videoerfassungs- und Komprimierungsfunktionen implementiert ist, kann die Hilfsfunktion 110 jede geeignete Funktion sein. Beispielsweise kann die Hilfsfunktion 110 jedes geeignete Datengerät sein, wie z. B. eine Meßsonde, eine Audioquelle, ein Informationserfassungsgerät, ein Speichergerät, usw. In der Tat kann die Hilfsfunktion 110 selbst ein ATA/ATAPI-Gerät sein, wobei der Hilfsbus 260 ebenfalls vorzugsweise ein ATA-Bus ist. Als solches können zwei oder mehr ATA-Geräte mit einer einzelnen ATA/ATAPI-Verbindung verbunden sein (z. B. beide mit der Masterverbindung oder beide mit der Slaveverbindung). Bei solch einem Ausführungsbeispiel sind die ATA-Geräte vorzugsweise konfiguriert, um nicht miteinander in Konflikt zu kommen.
  • Es ist ferner klar, daß das Peripheriegerät als ein Master-Gerät 100 konfiguriert sein kann (wie es in 2, 3 und 4 gezeigt ist), oder das Peripheriegerät als ein Slave-Gerät 105 konfiguriert sein kann. Als solches kann das Filter 200 so konfiguriert sein, um Signale 500 abzu fangen, die an das Master-Gerät 100 oder an das Slave-Gerät 105 ausgegeben werden. In der Tat können ein oder mehrere Filter 200 vorgesehen sein, um Signale 500 abzufangen, die an das Master-Gerät 100 und an das Slave-Gerät 105 ausgegeben werden. Ferner kann jede Anzahl von Hilfsfunktionen 110 gemäß den Lehren der vorliegenden Erfindung geliefert werden, wie es ferner nachfolgend mit Bezugnahme auf 3 und 4 dargestellt ist.
  • 3 ist ein Diagramm auf hoher Ebene, das ein weiteres Ausführungsbeispiel zum Erweitern eines Busses 130 zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100 darstellt, um zumindest eine Hilfsfunktion 110 zu unterstützen. Erneut kann der Befehlstreiber 250 den Bestimmungsort für das Signal 500 bezeichnen (5). Das Signal 500 kann zu der ATA-Schnittstelle 275 weitergeleitet werden, wo es über den Bus 130 ausgegeben wird. Erneut hält sich der Bus 130 vorzugsweise an den ATA-Standard und Variationen desselben, einschließlich, aber nicht beschränkt auf, den ATAPI-Standard und Variationen desselben.
  • Bei dem in 3 gezeigten Ausführungsbeispiel kann eine Mehrzahl von Filtern 200203 vorgesehen sein, vorzugsweise in Reihe entlang dem Hilfsbus 260, um das Signal 500 abzufangen und zu dem Peripheriegerät 100 oder zu einer der Mehrzahl von Hilfsfunktionen 110113 zu leiten. Bei diesem Ausführungsbeispiel kann das Signal 500 durch das erste Filter 200 abgefangen werden (d. h. Filter 1). Das Signal 500 ist vorzugsweise mit dem beabsichtigten Bestimmungsort bezeichnet. Das heißt, das Signal 500 kann als gerätespezifisch bezeichnet werden, was anzeigt, daß das Signal 500 für das Peripheriegerät 100 beabsichtigt ist. Alternativ kann das Signal 500 als funktionsspezifisch für eine der Hilfsfunktionen 110113 bezeichnet sein.
  • Wiederum, wenn das Signal 500 als gerätespezifisch bezeichnet ist, kann das abgefangene Signal 500 über den ATA-Bus 130 neu zu dem Peripheriegerät 100 ausgegeben werden. Alternativ kann das abgefangene Signal 500 über den Hilfsbus 260 (z. B. einen Mikrokontrollerbus) zu einer der Hilfsfunktionen 110113 neu ausgegeben werden, wenn das Signal 500 so bezeichnet ist. Gemäß diesem Ausführungsbeispiel fängt ein zweites Filter 201 (z. B. Filter 2) das Signal 500, das über den Hilfsbus 260 neu ausgegeben wird, und das zweite Filter 201 bestimmt einen Bestimmungsort für das Signal 500. Wo das Signal 500 als funktionsspezifisch für eine zweite Hilfsfunktion 201 (z. B. Hilfsfunktion 2) bezeichnet ist, wird das Signal 500 zu der zweiten Hilfsfunktion 111 neu ausgegeben. Alternativ, wo das Signal 500 als funktionsspezifisch für eine andere Hilfsfunktion (z. B. 110, 112 und 113) bezeichnet ist, wird das Signal 500 über den Hilfsbus 260 zu dem nächsten Filter 202 (z. B. Filter 3) neu ausgegeben, usw., bis das Signal 500 an einem Bestimmungsort (d. h. einer Hilfsfunktion 110113) empfangen wird.
  • Bei dem in 4 gezeigten Ausführungsbeispiel kann eine Reihe von Filtern 200203 entlang dem ATA-Bus 130 in Reihe vorgesehen sein, um das Signal 500 (von 5) abzufangen und zu dem Peripheriegerät 100 oder zu einer der Mehrzahl von Hilfsfunktionen 110113 zu leiten. Wiederum ist das Signal 500 vorzugsweise als gerätespezifisch (d. h. für das Peripheriegerät 100) oder funktionsspezifisch (d. h. für eine der Hilfsfunktionen 110113) bezeichnet.
  • Das abgefangene Signal kann über den Hilfsbus 260 (z. B. einen Mikrokontrollerbus) zu einer Hilfsfunktion 110 neu ausgegeben werden, wenn das Signal 500 als funktionsspezifisch für eine spezielle Hilfsfunktion 110 (z. B. Hilfsfunktion 1) bezeichnet ist. Andernfalls kann das abgefangene Signal 500 über den ATA-Bus 131 neu zu dem Peripheriegerät 100 ausgegeben werden. Gemäß diesem Ausführungsbeispiel kann das Signal, das über den ATA-Bus 131 neu ausgegeben wird, durch ein zweites Filter 201 (z. B. Filter 2) abgefangen werden. Wo das Signal 500 als funktionsspezifisch für eine zweite Hilfsfunktion 111 (z. B. Hilfsfunktion 2) bezeichnet ist, wird das Signal 500 zu der zweiten Hilfsfunktion 111 neu ausgegeben. Andernfalls wird das Signal 500 erneut über den ATA-Bus 131 neu ausgegeben, usw., bis das Signal 500 an einem Bestimmungsort empfangen wird (d. h. einer Hilfsfunktion 110113 oder einem Peripheriegerät 100).
  • Es ist klar, daß das Signal 500 standardmäßig zu einer Hilfsfunktion (z. B. 110) oder einem Peripheriegerät 100 neu ausgegeben werden kann. Wo das Signal 500 beispielsweise nicht als funktionsspezifisch für eine oder mehrere Hilfsfunktionen bezeichnet ist, die mit dem Filter 200 verbunden sind, kann das Signal 500 durch das Filter 200 neu ausgegeben werden, ohne eine weitere Bestimmung durch das Filter bezüglich des letztendlichen Bestimmungsorts des Signals 500.
  • Es ist ferner klar, daß die in 3 und 4 gezeigten Ausführungsbeispiele lediglich beispielhaft sind für Hardwarearchitektur für eine Mehrzahl von Filtern. Die Filter 200203 müssen jedoch nicht als getrennte und eigene Hardware vorgesehen sein. Ein oder mehrere einzelne Filter 200 können eine Mehrzahl von Funktionen 110113 unterstützen. Beispielsweise kann eine oder mehrere der Hardwarekomponenten (z. B. Steuerlogik 520, Multiplexer 530 in 5) der Mehrzahl von Filtern 200203 als eine einzelne Hardwareschaltung kombiniert werden. Oder ein einzelner Multiplexer 530 kann beispielsweise mit unterschiedlichen Ausgängen zu den verschiedenen Funktionen 110113 versehen sein. Gleichartig dazu müssen die Filter 200203 nicht miteinander in Reihe geschaltet sein, und können parallel geschaltet sein, oder eine Kombination, wenn dieselben als einzelne Hardwareschaltung implementiert sind. In der Tat müssen die Filter 200203 nicht durch den Hilfsbus 140 oder den ATA-Bus 131 verbunden sein, und können statt dessen durch eine andere geeignete Schaltungsanordnung verbunden sein.
  • 5 ist ein Diagramm auf hoher Ebene, das ein Ausführungsbeispiel eines Filters 200 zum Erweitern eines Busses zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100 darstellt, um zumindest eine Hilfsfunktion 110 zu unterstützen. Wie es oben erklärt ist, kann der Host 100 ein Signal 500 über den Bus 130 ausgeben. Das Filter 200 fängt das Signal 500 ab, und speichert das Signal 500 vorzugsweise in einem Puffer 510. Das Filter 200 umfaßt außerdem vorzugsweise eine Steuerlogik 520, die dem Puffer 510 zum Lesen des Signals 500 und zum Bestimmen eines Bestimmungsorts für das Signal 500 wirksam zugeordnet ist. Wo das Signal 500 beispielsweise als gerätespezifisch bezeichnet ist (z. B. durch den Operationscode 610 in 6), gibt ein Multiplexer 530 das Signal 500 über den Bus 131 neu zu dem Peripheriegerät 100 aus. Wo das Signal 500 als funktionsspezifisch bezeichnet ist (z. B. durch den Operationscode 610 in 6), gibt der Multiplexer 530 das Signal 500 neu der Hilfsfunktion 110 aus (z. B. über den Hilfsbus 260).
  • Vorzugsweise umfaßt das Filter 200 außerdem einen Übersetzer 540, der dem Multiplexer 530 wirksam zugeordnet ist. Als solches, wenn das Signal 500 durch den Multiplexer 530 neu zu der Hilfsfunktion 110 ausgegeben wird, kann das Signal 500 durch den Übersetzer 540 für den Hilfsbus 260 formatiert werden. Sobald es formatiert ist, wird das Signal 500 über den Hilfsbus 260 neu zu der Hilfsfunktion 110 ausgegeben werden.
  • Das in 5 gezeigte Ausführungsbeispiel des Filters 200, das mit Bezugnahme darauf beschrieben ist, ist lediglich darstellend für die funktionalen Aspekte desselben, und soll den Schutzbereich der Erfindung nicht darauf begrenzen. Es ist klar, daß das Filter 200 jede geeignete Form annehmen kann. Das Filter 200 kann beispielsweise einen Feldprogrammierbares-Gate-Array(FPGA = Field-Programmable Gate Array)-Logikchip oder ein anderes Gate-Array, eine anwendungsspezifische integrierte Schaltung (ASIC = Application Specific Integrated Circuit), eine Mikrosteuerung, Zustandvernetzungshardware, usw. umfassen. Die Hardwarespezifikationen für das Filter 200 können von Entwurfsüberlegungen abhängen, wie z. B. Herstellungskosten, Größe, Herstellungsvolumen, Signallatenzanforderungen, und anderen.
  • Außerdem ist klar, daß jedes der mehreren Filter 200203 (3 und 4) auch eine ähnliche Architektur aufweisen kann. Alternativ können ein oder mehrere Multiplexer 530 als Teil eines einzelnen Filters 200 vorgesehen sein, um eine Mehrzahl von Hilfsfunktionen 110113 zu unterstützen. Gleichartig dazu können andere Komponenten von einem oder mehreren der Filter 200203 integriert sein, beispielsweise als eine einzelne Schaltungsplatine. Andere Ausführungsbeispiele des Filters 200 und der Mehrzahl der Filter 200203 werden ebenfalls in Betracht gezogen.
  • Ein Rückführungssignal 550, das durch das Peripheriegerät 100 über den ATA-Bus für den Host 120 ausgegeben wird, ist in 5 ebenfalls dargestellt. Das Rückführungssignal 550 kann durch das Filter 200 abgefangen werden, und kann vorzugsweise in dem Puffer 510 gespeichert werden. Die Steuerlogik 520 kann bestimmen, ob das Rückführungssignal 550 für den Bus 130 formatiert ist. Das Rückführungssignal 550 kann beispielsweise bereits für den ATA-Bus formatiert sein, wo das Rückführungssignal 550 durch das Peripheriegerät 100 ausgegeben wird. Als solches gibt das Filter 200 das Rückführungssignal 550 von dem Peripheriegerät 100 neu über den Bus 130 zu dem Host 120 aus.
  • Ein Rückführungssignal 555, das durch die Hilfsfunktion 110 über den Hilfsbus 260 für den Host 120 ausgegeben wird, ist ebenfalls in 5 dargestellt. Das Rückführungssignal 555 kann durch das Filter 200 abgefangen werden und kann vorzugsweise in dem Puffer 510 gespeichert werden. Die Steuerlogik 520 kann bestimmen, ob das Rückführungssignal 555 für den ATA-Bus 130 formatiert ist. Das Rückführungssignal 555 kann statt dessen für den Hilfsbus 260 formatiert sein, beispielsweise wo das Rückführungssignal 555 durch die Hilfsfunktion 110 ausgegeben wird. Als solches ist das Rückführungssignal 555 durch den Übersetzer 540 für den ATA-Bus 130 formatiert. Sobald es formatiert ist, gibt das Filter 200 das Rückführungssignal 555 von der Hilfsfunktion über den ATA-Bus 130 zu dem Host 120 neu aus.
  • Es ist klar, daß gemäß anderen Ausführungsbeispielen das Rückführungssignal 550 nicht durch das Filter 200 abgefangen oder gepuffert werden muß. Bei solch einem Ausführungsbeispiel kann das Rückführungssignal 550 direkt über den Bus 130 zu dem Host 120 ausgegeben werden. Gleichartig dazu, wo die Translations- oder Formatierungsfunktion für das Rückführungssignal 555, das über den Bus 130 ausgegeben werden soll, nicht benötigt wird, kann das Rückführungssignal 555 ebenfalls über den Bus 130 direkt zu dem Host 120 ausgegeben werden, und muß nicht durch das Filter 200 abgefangen oder gepuffert werden. Beispielsweise kann es sein, daß die Translationsfunktion nicht benötigt wird, wo der Bus 130 und der Hilfsbus 260 auf der gleichen Bustechnologie basieren (z. B. wo beide ATA-Busse sind).
  • Wenn Daten von der Hilfsfunktion 110 angefordert wurden, wird es vorzugsweise nur der Hilfsfunktion 110 erlaubt, Daten zurück zu dem Host 120 zu übertragen (z. B. über das Rückführungssignal 555), um diese Anforderung zu erfüllen. Gleichartig dazu, wenn Daten von dem Peripheriegerät 100 angefordert wurden, wird es nur dem Peripheriegerät 100 erlaubt, Daten zurück zu dem Host 120 zu übertragen (z. B. über das Rückführungssignal 550), um diese Anforderung zu erfüllen. Vorzugsweise können das Peripheriegerät 100 und die Hilfsfunktion 110 eine Unterbrechung an den Host 120 ausgeben, die einen Abschluß einer Ausgabe anzeigt. Bis eine Aufgabe abgeschlossen ist, gibt das Filter 200 keine Rückführungssignale 550, 555 von anderen Hilfsfunktionen (z. B. 201, 202) oder von dem Peripheriegerät 100 neu aus, je nach Fall.
  • 6 stellt ein beispielhaftes Signal 500 dar. Das Signal 500 ist vorzugsweise ein Befehlsdeskriptorblock (CDB = command descriptor block), wie er durch das SCSI SPG-2 Dokument und das SCSI-Architekturmodel (SAM-2), und Variationen dazu definiert ist. Das Signal 500 kann einen Operationscode 610, reservierte/Dienstbytes 611, 616, logische Blockadreßbytes 612 bis 615, Übertragungslängen- und/oder Parameterlistenlängenbytes 617, 618 und ein Steuerbyte 619 umfassen.
  • Der Operationscode 610 des CDB ist in 7 näher gezeigt. Der Operationscode 610 kann acht Bits umfassen (jedes Bit wird im allgemein als 700 bezeichnet). Das Feld, das die Bits „7”, „6” und „5” umfaßt, kann als der Gruppencodewert 710 bezeichnet werden. Das Feld, das die verbleibenden Bits umfaßt, kann als der Befehlscode 720 bezeichnet werden. Wenn die Bits „6” und „7” des Gruppencodewerts 710 beide auf „1” gesetzt sind, ist der Befehlscode 720 verkäuferspezifisch (d. h. der Befehlscode 720 ist funktionsspezifisch). Wenn der Gruppencodewert 710 beispielsweise „110” oder „111” ist, kann ein funktionsspezifischer Befehlscode 720 für eine Videoerfassungs- und -komprimierungsfunktion Befehle umfassen, wie zum Beispiel „Plag”, „Pause”, „Stop”, und alle anderen Befehle, die notwendig sind, um die Hilfsfunktion 110 zu steuern. Wenn die Bits „6” und „7” des Gruppencodewerts 710 nicht beide auf „1” gesetzt sind, ist der Befehlscode 720 gerätespezifisch. Wenn der Gruppencodewert 710 beispielsweise „010”, „000”, „100”, „011”, „001” oder „101” ist, kann der gerätespezifische Befehlscode 720 für ein DVD+RW-Laufwerk Befehle umfassen, wie zum Beispiel „Lese DVD Strukturbefehl”, „Lese TOC/PMA/ATIP-Befehl” und alle anderen Anweisungen, die notwendig sind, um das Peripheriegerät 100 zu steuern.
  • Es ist klar, daß das mit Bezugnahme auf 6 und 7 gezeigte und beschriebene beispielhafte Signal 500 lediglich ein Signal darstellen soll, das durch einen Host über einen ATA-Bus ausgegeben wird. Es ist außerdem klar, daß ein Rückführungssignal 550, das durch das Peripheriegerät 100 ausgegeben wird, ähnlich dargestellt sein kann. Gleichartig dazu kann ein Rückführungssignal 555, das durch eine der Hilfsfunktionen 200 ausgegeben wird, ebenfalls ähnlich dargestellt sein, obwohl es für den Hilfsbus 260 formatiert sein kann.
  • 8 ist ein Prozeßflußdiagramm, das ein Ausführungsbeispiel der Interaktion verschiedener Komponenten der Buserweiterungsvorrichtung und des Buserweiterungsverfahrens darstellt, wie es in einem Microsoft WINDOWS® Betriebssystemumgebung verwendet werden kann. Eine Geräteanwendung 800 (z. B. computerlesbarer Programmcode) kann sich zum Bilden einer Schnittstelle mit dem Peripheriegerät 100 auf dem Host 120 befinden. Gleichartig dazu kann sich eine Hilfsanwendung 810 (z. B. ein computerlesbarer Programmcode) ebenfalls auf dem Host 120 befinden, zum Bilden einer Schnittstelle mit der Hilfsfunktion 110. Entweder die Geräteanwendung 800 oder die Hilfsanwendung 810 können einen Befehl ausgeben, der zu dem Befehlstreiber 250 weitergeleitet wird. Beispielsweise kann ein Benutzer einen Befehl ausgeben (z. B. über eine Benutzerschnittstelle), um Daten auf ein DVD-Laufwerk zu schreiben, oder um ein Menü für eine DVD zu bearbeiten. Wenn der Befehl von der Geräteanwendung 800 für das Peripheriegerät 100 empfangen wird, erstellt die Geräteschnittstelle 820 einen CDB und kennzeichnet denselben als gerätespezifisch. Beispielsweise kann die Treiberschnittstelle 820 die Bits „6” und „7” des Gruppencodes 710 auf „Null” setzen, und demselben einen Gerätebefehlscode 720 zuordnen. Wo der Befehl von der Hilfsanwendung 810 für die Hilfsfunktion 110 empfangen wird, erstellt der Hilfsfunktionstreiber 825 einen CDB und kennzeichnet denselben als funktionsspezifisch. Der Hilfsfunktionstreiber 825 kann beispielsweise die Bits „6” und „7” des Gruppencodewerts 710 auf „Eins” setzen, und demselben einen käuferdefinierten Befehlscode 720 zuordnen. Der Befehlstreiber 250 kann außerdem ein Eingabe/Ausgabe(I/O = In put/Output)-Teilsystem 830 zum Handhaben aller Steuerbefehle umfassen, beispielsweise von Microsoft WINDOWS® Explorer. Das I/O-Teilsystem 830 kann außerdem den Zugriff auf den Bus 130 synchronisieren. Das Signal 500 kann dann über den ATA-Hardwaretreiber 840 (z. B. einen ATA-Bus Niedrigpegellogiktreiber) über den Bus 130 zu dem Peripheriegerät 100 oder der Hilfsfunktion 110 ausgegeben werden, wie es oben erörtert ist.
  • Es ist klar, daß das Prozeßflußdiagramm von 8 die Erfindung nicht darauf beschränken soll. Statt dessen ist das Ausführungsbeispiel von 8 als beispielhafte Implementierung der Buserweiterungsvorrichtung und des Buserweiterungsverfahren für die Verwendung mit einem Microsoft WINDOWS® Betriebssystem vorgesehen. Modifikationen und Variationen, sowohl für das Microsoft WINDOWS® Betriebssystem als auch für andere Betriebssysteme, werden ebenfalls als innerhalb des Schutzbereichs der Erfindung angesehen.
  • Außerdem, wie es in 8 gezeigt ist, sind das Peripheriegerät 100 und die Hilfsfunktion 110 vorzugsweise zusammen als ein integriertes Gerät 850 gehäust. Das heißt, die Hardware sowohl für die Hilfsfunktion 110 als auch das Peripheriegerät 100 können mit einer einzelnen ATA-Verbindung zum Verbinden des Peripheriegeräts 100 und der Hilfsfunktion 110 mit dem Host 120 gehäust sein. Es ist klar, daß das integrierte Gerät 850 auch als ein externes Gerät gehäust werden kann, obwohl das integrierte Gerät 850 vorzugsweise für die Installation für ein internes oder teilweise internes Gerät für den Host 120 gehäust wird.
  • 9 ist ein Flußdiagramm, das die Schritte eines Ausführungsbeispiels eines Verfahrens zum Erweitern eines Busses 130, 135 zum Bilden einer Schnittstelle zwischen einem Host 120 und einem Peripheriegerät 100 darstellt, um zumindest eine Hilfsfunktion 110 zu unterstützen. In Schritt 900 kann das Signal 500 abgefangen werden. Das Signal 500 kann beispielsweise über den Bus 130 über den Host 120 ausgegeben werden, und durch das Filter 200 (z. B. durch den Puffer 510) abgefangen werden. In Schritt 910 wird eine Bestimmung bezüglich des Bestimmungsorts des Signals 500 durchgeführt (z. B. durch die Steuerlogik 520). Der Operationscode 610 kann das Signal 500 beispielsweise als gerätespezifisch bezeichnen, und der Bestimmungsort für das Signal 500 ist somit das Peripheriegerät 100. Als solches kann das Signal 500 in Schritt 920 über den ATA-Bus 131 neu zu dem Peripheriegerät 100 ausgegeben werden. Alternativ kann der Operationscode 610 das Signal 500 als funktionsspezifisch bezeichnen, und der Bestimmungsort für das Signal 500 ist somit eine Hilfsfunktion 110. Als solches kann das Signal 500 in Schritt 930 neu zu der Hilfsfunktion 110 ausgegeben werden (z. B. über den Hilfsbus 260).
  • Es ist klar, daß die Schritte, die mit Bezug auf 9 gezeigt und beschrieben sind, lediglich darstellend sind für Ausführungsbeispiele eines Verfahrens der Erfindung, und den Schutzbereich der Erfindung nicht darauf beschränken sollen. Beispielsweise können andere Schritte das Abfangen des Signals 500 umfassen, nachdem es in Schritt 920 zu einer der Hilfsfunktion neu ausgegeben wurde, und das Leiten derselben zu einer Vielzahl von anderen Hilfsfunktionen 110113, wie es oben mit Bezugnahme auf 3 und 4 beschrieben ist. Als weiteres Beispiel kann das Signal 500 in Schritt 920 anfangs zu einer der Mehrzahl von Hilfsfunktionen 110113 geleitet werden. Andere Ausführungsbeispiele werden ebenfalls als innerhalb des Schutzbereichs der Erfindung angesehen.

Claims (17)

  1. Verfahren zum Erweitern eines Busses (130, 135), um zumindest eine Hilfsfunktion (110) zu unterstützen, das folgende Schritte umfaßt: Abfangen eines Signals (500), das über den Bus (130, 135) ausgegeben wird; wenn das abgefangene Signal (500) als funktionsspezifisch bezeichnet ist, Formatieren des abgefangenen Signals (500) für einen Hilfsbus (260) für eine Neuausgabe zu der zumindest einen Hilfsfunktion (110) und Neuausgeben des abgefangenen Signals (500) zu der zumindest einen Hilfsfunktion (110) über den Hilfsbus; und Neuausgeben des abgefangenen Signals (500) über den Bus zu einem Peripheriegerät (100), wenn das Signal als gerätespezifisch bezeichnet ist.
  2. Verfahren gemäß Anspruch 1, das ferner das Lesen eines Operationscodes (610) des abgefangenen Signals (500) umfaßt, wobei der Operationscode das abgefangene Signal (500) kennzeichnet.
  3. Verfahren gemäß Anspruch 1 oder 2, das ferner folgende Schritte umfaßt: Abfangen des neu ausgegebenen Signals (500); und Erneutes Neuausgeben des abgefangenen neu ausgegebenen Signals (500), auf der Basis eines bezeichneten Bestimmungsortes (100, 110) desselben.
  4. Verfahren gemäß einem der Ansprüche 1 bis 3, das ferner das Bestimmen eines Bestimmungsortes (100, 110) für das abgefangene Signal (500) umfaßt, auf der Basis einer Bezeichnung des abgefangenen Signals (500).
  5. Vorrichtung (10) zum Erweitern eines Busses (130, 135), um zumindest eine Hilfsfunktion (110) zu unterstützen, die folgende Merkmale umfaßt: zumindest ein Filter (200) zum Abfangen und Leiten eines Signals (500), das über den Bus ausgegeben wird, wobei das zumindest eine Filter folgende Merkmale umfaßt: a) eine Steuerlogik (520) zum Lesen des abgefangenen Signals und zum Bestimmen eines Bestimmungsortes (100, 110) für dasselbe; b) einen Multiplexer (530), der der Steuerlogik (520) zum Neuausgeben des abgefangenen Signals (500) zu dem Bestimmungsort wirksam zugeordnet ist, wobei der Multiplexer (530) das abgefangene Signal (500) zu einer der zumindest einen Hilfsfunktion (110) ausgibt, wenn das abgefangene Signal (500) als funktionsspezifisch bezeichnet ist, und wobei der Multiplexer (530) das abgefangene Signal über den Bus zu einem der Peripheriegeräte (100) neu ausgibt, wenn das abgefangene Signal als gerätespezifisch bezeichnet ist; und c) einen Übersetzer (540), der mit dem Multiplexer (530) verbunden ist und der das abgefangene Signal (500) für einen Hilfsbus (260) formatiert, wenn dieses (500), an die zumindest eine Hilfsfunktion auszugeben ist.
  6. Vorrichtung (10) gemäß Anspruch 5, bei der der Bus (130, 135) ein ATA-Bus ist.
  7. Vorrichtung (10) gemäß Anspruch 5 oder 6, bei der eines des zumindest einen Filters (200) einen Puffer zum Abfangen des Signals (500) umfaßt.
  8. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 7, bei der eine der zumindest einen Hilfsfunktion (110) ein anderes Peripheriegerät ist.
  9. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 7, bei der eine der zumindest einen Hilfsfunktion (110) eine zugeordnete Funktion des Peripheriegeräts ist.
  10. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 9, bei der der Multiplexer (530) das abgefangene Signal (500) über einen Mikrosteuerungsbus neu zu einer der zumindest einen Hilfsfunktion (110) ausgibt.
  11. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 10, bei der zumindest eines des zumindest einen Filters (200) in Reihe auf dem Bus (130, 135) ist.
  12. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 11, bei der zumindest eines des zumindest einen Filters (200) in Reihe auf einem Hilfsbus (260) ist.
  13. Vorrichtung gemäß einem der Ansprüche 5 bis 12, bei der der Multiplexer (530) das abgefangene Signal (500) zu einem der Mehrzahl von Bestimmungsorten (110113) neu ausgibt.
  14. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 13, die ferner einen Befehlstreiber (250) zum Bezeichnen des Bestimmungsorts (100, 110) für das Signal (500) umfaßt.
  15. Vorrichtung (10) gemäß einem der Ansprüche 5 bis 14, bei der die zumindest eine Hilfsfunktion zusammen mit dem Peripheriegerät gehäust ist.
  16. Filter (200) zum Erweitern eines Busses (130, 135), um zumindest eine Hilfsfunktion zu unterstützen, das folgende Merkmale umfaßt: eine Steuerlogik (520) zum Lesen eines Signals (500), das über dem Bus ausgegeben wird, und zum Bestimmen eines Bestimmungsorts für das Signal (500); einen Multiplexer (530) zum Neuausgeben des Signals (500) zu dem Bestimmungsort, wobei der Bestimmungsort eine von zumindest einer Hilfsfunktion ist, wenn das Signal (500) als funktionsspezifisch bezeichnet ist, und wobei der Bestimmungsort ein Peripheriegerät ist, wenn das Signal (500) als gerätespezifisch bezeichnet ist; und einen Übersetzer (540), der mit dem Multiplexer (530) verbunden ist und der das abgefangene Signal (500) für einen Hilfsbus (260) formatiert, wenn dieses (500) an die zumindest eine Hilfsfunktion auszugeben ist.
  17. Filter (200) gemäß Anspruch 16, das ferner einen Puffer zum Abfangen des Signals (500) umfaßt.
DE10240857A 2001-09-05 2002-09-04 Buserweiterungsvorrichtung und -verfahren, Filter zur Erweiterung eines Busses Expired - Fee Related DE10240857B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/947,812 US6813667B2 (en) 2001-09-05 2001-09-05 Bus extender and formatter apparatus and methods
US09/947,812 2001-09-05

Publications (2)

Publication Number Publication Date
DE10240857A1 DE10240857A1 (de) 2003-04-03
DE10240857B4 true DE10240857B4 (de) 2010-04-08

Family

ID=25486825

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10240857A Expired - Fee Related DE10240857B4 (de) 2001-09-05 2002-09-04 Buserweiterungsvorrichtung und -verfahren, Filter zur Erweiterung eines Busses

Country Status (3)

Country Link
US (1) US6813667B2 (de)
DE (1) DE10240857B4 (de)
GB (1) GB2382427B (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100596605B1 (ko) * 2003-11-12 2006-07-03 (주)세솔 아이오 확장 기술
US9342362B2 (en) * 2012-06-15 2016-05-17 Nvidia Corporation Service-processor-centric computer architecture and method of operation thereof

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0723232A1 (de) * 1995-01-19 1996-07-24 United Microelectronics Corporation PCMCIA-Schnittstellesteuerungsverfahren und Vorrichtung für Festplatten und/oder CD-ROMs
DE69227731T2 (de) * 1991-06-28 1999-06-24 Digital Equipment Corp SCSI-Schnittstelle die eine Buserweiterung und einen Hilfsbus benutzt

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2853138C2 (de) * 1978-12-08 1980-12-04 Siemens Ag, 1000 Berlin Und 8000 Muenchen Verfahren und Schaltungsanordnung zur Übermittlung von Signalen in speicherprogrammierten Vermittlungsanlagen
US4932040A (en) * 1987-12-07 1990-06-05 Bull Hn Information Systems Inc. Bidirectional control signalling bus interface apparatus for transmitting signals between two bus systems
US5446869A (en) 1993-12-30 1995-08-29 International Business Machines Corporation Configuration and RAM/ROM control of PCI extension card residing on MCA adapter card
US5881247A (en) * 1995-11-30 1999-03-09 Allen-Bradley Company Llc System having a plurality of frame bytes capable of identifying addressed recipients and assert a busy signal onto the backplane bus to forthrightly abort the message transfer
US6175888B1 (en) 1996-04-10 2001-01-16 International Business Machines Corporation Dual host bridge with peer to peer support
US6185651B1 (en) 1997-11-05 2001-02-06 Compaq Computer Corp SCSI bus extender utilizing tagged queuing in a multi-initiator environment
US6226700B1 (en) 1998-03-13 2001-05-01 Compaq Computer Corporation Computer system with bridge logic that includes an internal modular expansion bus and a common master interface for internal master devices
US6594719B1 (en) 2000-04-19 2003-07-15 Mobility Electronics Inc. Extended cardbus/pc card controller with split-bridge ™technology

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69227731T2 (de) * 1991-06-28 1999-06-24 Digital Equipment Corp SCSI-Schnittstelle die eine Buserweiterung und einen Hilfsbus benutzt
EP0723232A1 (de) * 1995-01-19 1996-07-24 United Microelectronics Corporation PCMCIA-Schnittstellesteuerungsverfahren und Vorrichtung für Festplatten und/oder CD-ROMs

Also Published As

Publication number Publication date
GB0220081D0 (en) 2002-10-09
US20030046466A1 (en) 2003-03-06
US6813667B2 (en) 2004-11-02
GB2382427A (en) 2003-05-28
GB2382427B (en) 2005-07-13
DE10240857A1 (de) 2003-04-03

Similar Documents

Publication Publication Date Title
DE19580606C2 (de) Plattenlaufwerksverbinderschnittstelle zur Verwendung an einem PCI-Bus
DE69737919T2 (de) Verfahren zur Zuordnung von Systembetriebsmitteln in einer hierarchischen Busstruktur
DE60009185T2 (de) "Universal serial bus" Interpreter
DE60023608T2 (de) Integrierte PC-Kartenhauptrechnersteuereinheit für die Detektion und den Betrieb von mehreren Erweiterungskarten
DE60006779T2 (de) Verfahren zum schreiben eines geänderten bios codes in den rompeicherchip einer hostschnittstelle
DE10214700B4 (de) Kombinierter ATA/SATA-Controller als integrierter Schaltkreischip und dazugehöriges Verfahren zum Betreiben
DE10336877B3 (de) USB-basierendes Peripheriegerät und Verfahren zur Inbetriebnahme des USB-basierenden Peripheriegerätes
DE60003387T2 (de) Direktspeicherzugriffssteuerung in einem rechnersystem
DE102011054785B4 (de) Elektronische Vorrichtung
DE69534867T2 (de) Verfahren und System zur Lieferung geschützter Gerätetreiber
DE60216602T2 (de) Verfahren und vorrichtung zum zugang zu magnetbandeinrichtungen in einem rechnersystem
DE102004053801A1 (de) Dynamische Rekonfiguration von PCI-Expresslinks
DE19680668C2 (de) Verfahren zum Überbrücken zweier Busse, transparente Brücke zum Koppeln zwischen zwei Bussen und Anordnung mit einem Computersystem
DE602004004605T2 (de) Vorrichtung und Methode zum Unterstützen der Konfiguration eines Speichersystems
WO1998039710A1 (de) Flexible schnittstelle
DE102004024130B4 (de) Speichersystem und Verfahren zum Betrieb eines Speichersystems
DE10214701B4 (de) ATA- und SATA-Gemässes Controllerbauelement, Verfahren zum Betreiben und integrierter Schaltkreischip
DE112006000634T5 (de) Verfahren und Vorrichtung zur unabhängigen und gleichzeitigen Datenübertragung auf Host-Controller
DE112007000688T5 (de) Fehlerverwaltungstopologien
DE60220309T2 (de) Software-transparentes system und verfahren zum vermitteln von peer- zu- peer nachrichten
DE10214067B4 (de) Integrierter Schaltkreischip mit Hochgeschwindigkeitsdatenschnittstelle sowie zugehöriges Southbridgebauelement und Verfahren
DE10240857B4 (de) Buserweiterungsvorrichtung und -verfahren, Filter zur Erweiterung eines Busses
DE69931745T2 (de) Automatische Konfiguration einer ersten und zweiten peripheren Einrichtung für einen Rechner
DE10003268A1 (de) Verfahren und Vorrichtung zum Feststellen der Laufwerksbuchstaben-Bezeichnung eines CD-Rom-Laufwerks während der anfänglichen Systemvorbereitung eines Computersystems
DE112008001143T5 (de) Serialisierung von Daten in einer Multi-Chip-Busimplementierung

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: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TE

8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee