DE602004010428T2 - Zwischengeschaltete einrichtung mit der fähigkeit zur kommunikation unter verwendung verschiedener kommunikationsprotokolle - Google Patents

Zwischengeschaltete einrichtung mit der fähigkeit zur kommunikation unter verwendung verschiedener kommunikationsprotokolle Download PDF

Info

Publication number
DE602004010428T2
DE602004010428T2 DE602004010428T DE602004010428T DE602004010428T2 DE 602004010428 T2 DE602004010428 T2 DE 602004010428T2 DE 602004010428 T DE602004010428 T DE 602004010428T DE 602004010428 T DE602004010428 T DE 602004010428T DE 602004010428 T2 DE602004010428 T2 DE 602004010428T2
Authority
DE
Germany
Prior art keywords
protocol
circuit
data stream
data
intermediary
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.)
Active
Application number
DE602004010428T
Other languages
English (en)
Other versions
DE602004010428D1 (de
Inventor
Pak-lung Shrewsbury Seto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE602004010428D1 publication Critical patent/DE602004010428D1/de
Application granted granted Critical
Publication of DE602004010428T2 publication Critical patent/DE602004010428T2/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function

Description

  • GEBIET
  • Diese Offenbarung betrifft eine zwischengeschaltete Vorrichtung, die mit Hilfe verschiedener Kommunikationsprotokolle kommunizieren kann.
  • ALLGEMEINER STAND DER TECHNIK
  • In einer herkömmlichen Datenspeicheranordnung weist ein Computerknoten einen Hostbusadapter (HBA) auf. Der HBA kommuniziert mit einem Datenspeichersystem über eine oder mehrere Kommunikationsverbindungen mit Hilfe eines Kommunikationsprotokolls, das mit der einen oder den mehreren Verbindungen assoziiert ist. Die physikalische Verbindung zwischen dem HBA und dem Datenspeichersystem weist in der Regel ein oder mehrere Kabel auf, die ausgelegt sind, um mit Hilfe eines Kommunikationsprotokolls Befehle und Daten zwischen dem HBA und dem Datenspeichersystem zu übermitteln. Ein HOLD-Signal kann übertragen werden, wenn die Speichervorrichtung Daten empfängt und ein Sende-/Empfangspuffer fast voll ist. Bestimmte Protokolle können erfordern, dass ein bestimmtes Bestätigungssignal von der Speichervorrichtung innerhalb eines vorbestimmten Zeitraums empfangen wird. Das Übermitteln von Daten über ein Kabel kann die Qualität der Signale, welche die Daten codieren, verschlechtern, wobei dies die Kabellänge zwischen einem HBA und dem Datenspeichersystem einschränken kann. Außerdem kann das Verlängern der Kabellänge ein Rauschen in den Datenstrom zwischen dem Datenspeichersystem und dem HBA einführen. Neutakter sind eingesetzt worden, um Jitter (Taktzittern) und Rauschen in dem Datenstrom zu verringern. Jedoch können herkömmliche Neutakter nur mit Hilfe eines einzigen vorbestimmten Kommunikationsprotokolls kommunizieren. Da ein Neutakter in der herkömmlichen Datenspeicheranordnung mit Hilfe unterschiedlicher Kommunikationsprotokolle nicht kommunizieren kann, stellen herkömmliche Datenspeicheranordnungen folglich keinen Mecha nismus bereit, um den Kabelabstand in einer Datenspeicheranordnung zu erweitern, bei der eine Vielzahl von Kommunikationsprotokollen eingesetzt wird.
  • PMC-SIERRA 3 GBITS MUX-DEMUX FOR SAS PROVIDES FLEXIBILITY AND SIGNAL INTEGRITY (Networkzone Products for the Week of November 17, 2003) ist ein Produktbericht eines Multiplexers/Demultiplexers, der elektronisch mit den SAS- und SATA-Industriestandardspezifikationen übereinstimmt und die Erkennung eines Außerband-Signalisierungsprotokolls eines STP (SATA-Tunnelling-Protokoll) beinhaltet, um einen Senderempfänger auf die geeignete Signalisierungsspannung einzustellen.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Merkmale und Vorteile der Ausführungsformen des beanspruchten Gegenstands werden aus der folgenden ausführlichen Beschreibung und mit Bezug auf die Zeichnungen ersichtlich, in denen ähnliche Bezugszeichen ähnliche Teile bezeichnen. Es zeigen:
  • 1 ein Diagramm, das eine Systemausführungsform darstellt;
  • 2 ein Diagramm, das eine andere Systemausführungsform darstellt;
  • 3 ein Blockdiagramm, das eine beispielhafte zwischengeschaltete Vorrichtung darstellt; und
  • 4 ein Flussdiagramm, das beispielhafte Vorgänge darstellt, die gemäß einer Ausführungsform ausgeführt werden können.
  • Wenngleich die folgende ausführliche Beschreibung mit Bezug auf beispielhafte Ausführungsformen vorgenommen wird, wird der Fachmann viele Alternativen, Modifikationen und Variationen davon erkennen. Dementsprechend soll der beanspruchte Gegenstand weit gefasst betrachtet werden und nur gemäß den beiliegenden Ansprüchen definiert sein.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 stellt eine Systemausführungsform 100 des beanspruchten Gegenstands dar. Das System 100 kann im Allgemeinen einen Hostprozessor 112, einen Bus 122, ein Benutzerschnittstellensystem 116, einen Chipsatz 114, einen Systemspeicher 121, einen Schaltplattenschlitz 130 und eine Schaltplatte 120 aufweisen, die mit dem Massenspeicher 104 kommunizieren kann. Der Hostprozessor 112 kann beliebige verschiedene Prozessoren aufweisen, die im Stand der Technik bekannt sind, wie einen Intel® Pentium® IV-Prozessor, der im Handel von dem Bevollmächtigten der vorliegenden Anmeldung erhältlich ist. Der Bus 122 kann verschiedene Bustypen aufweisen, um Daten und Befehle zu übertragen. Zum Beispiel kann der Bus 122 mit der Spezifikation Peripheral Component Interconnect (PCI) ExpressTM Base Specification Revision 1.0, veröffentlicht am 22. Juli 2002, erhältlich von der PCI Special Interest Group, Portland, Oregon, U.S.A. (nachstehend als ein "PCI ExpressTM-Bus" bezeichnet) übereinstimmen. Der Bus 122 kann auch mit der Spezifikation PCI-X Specification Rev. 1.0a, 24. Juli 2000, erhältlich von der oben genannten PCI Special Interest Group, Portland, Oregon, U.S.A. (nachstehend als ein "PCI-X-Bus" bezeichnet) übereinstimmen.
  • Die Benutzerschnittstelle 116 kann verschiedene Vorrichtungen für Benutzer aufweisen, um Befehle und/oder Daten einzugeben und das System zu überwachen, wie eine Tastatur, Zeigervorrichtung und Videoanzeige. Der Chipsatz 114 kann ein Hostbrücken/-knotensystem (nicht dargestellt) aufweisen, das den Prozessor 112, den Systemspeicher 121 und das Benutzerschnittstellensystem 116 aneinander und an den Bus 122 koppelt. Der Chipsatz 114 kann integrierte Schaltungschips wie diejenigen aufweisen, die aus den integrierten Schaltungschips ausgewählt sind, die von dem Bevollmächtigten der vorliegenden Anmeldung im Handel erhältlich sind (zum Beispiel Grafikspeicher- und I/O-Steuerungsknoten-Chipsätze), wenngleich andere integrierte Schaltungschips auch oder alternativ benutzt werden können. Der Prozessor 112, Systemspeicher 121, Chipsatz 114 und Schaltplattenschlitz 130 können auf einer Hauptplatine 132 integriert sein.
  • Die Schaltplatte 120 kann derart konstruiert sein, dass sie in den Schlitz 130 eingesetzt werden kann. Wenn die Schaltplatte 120 in den Schlitz 130 geeignet eingesetzt ist, werden Verbinder 134 und 137 elektrisch und mechanisch aneinander gekoppelt. Wenn die Verbinder 134 und 137 auf diese Weise aneinander gekoppelt sind, wird die Platte 120 elektrisch an den Bus 122 gekoppelt und kann Daten und/oder Befehle mit dem Systemspeicher 121, Hostprozessor 112 und/oder Benutzerschnittstellensystem 116 über den Bus 122 und den Chipsatz 114 austauschen. Als Alternative und ohne von dieser Ausführungsform abzuweichen, kann die betriebsbereite Schaltung der Schaltplatte 120 in andere Strukturen, Systeme und/oder Vorrichtungen integriert werden. Diese anderen Strukturen, Systeme und/oder Vorrichtungen können sich zum Beispiel in der Hauptplatine 132 befinden, die an den Bus 122 gekoppelt ist. Der Prozessor 112, Systemspeicher 121, Chipsatz 114, Bus 122 und Schaltplattenschlitz 130 können in einer einzigen Leiterplatte 130 wie zum Beispiel einer Systemhauptplatine umfasst sein. Alternativ und ohne von dieser Ausführungsform abzuweichen, kann die Schaltplatte 120 einen oder mehrere Chipsätze umfassen, die in der Systemhauptplatine umfasst sind.
  • Die Schaltplatte 120 kann mit dem Massenspeicher 104 mit Hilfe mehrerer Kommunikationsprotokolle kommunizieren. Die Schaltplatte 120 kann eine oder mehrere einer Protokoll initiatormaschine 140 umfassen, die ausgelegt ist, um eine Kommunikation zwischen dem Hostsystem 132 und dem Massenspeicher 104 zu erstellen. Die Initiatormaschine kann eine integrierte Schaltung umfassen, die eine Schaltung aufweisen kann, die eine Kommunikation zwischen dem Hostsystem 132 und dem Massenspeicher 104 erstellen kann.
  • Wenn ein Fibre Channel(FC)-Protokoll von der Schaltplatte 120 benutzt wird, um Daten und/oder Befehle mit dem Massenspeicher 104 auszutauschen, kann es mit der Schnittstelle oder dem Protokoll übereinstimmen oder kompatibel sein, die oder das in der Spezifikation ANSI Standard Fibre Channel Physical and Signaling Interface-3 X3.303:1998 Specification beschrieben ist. Wenn ersatzweise oder zusätzlich ein serielles ATA(S-ATA)-Protokoll von der Steuerschaltplatte 120 benutzt wird, um Daten und/oder Befehle mit dem Massenspeicher 104 auszutauschen, kann dieses mit dem Protokoll übereinstimmen oder kompatibel sein, das in "Serial ATA: High Speed Serialized AT Attachment," Revision 1.0, veröffentlicht am 29. August 2001 von der Serial ATA Working Group, beschrieben ist. Wenn ferner ersatzweise oder zusätzlich von der Steuerschaltplatte 120 ein Serial Attached Small Computer System Interface(SAS)-Protokoll benutzt wird, um Daten und/oder Befehle mit dem Massenspeicher 104 auszutauschen, kann dieses mit dem Protokoll übereinstimmen oder kompatibel sein, das in "Information Technology – Serial Attached SCSI – 1.1," Working Draft American National Standard of International Committee For Information Technology Standards (INCITS) T10 Technical Committee, Project T10/1562-D, Revision 1, veröffentlicht am 18. September 200 vom American National Standards Institute, (nachstehend als „SAS-Standard" bezeichnet) und/oder später veröffentlichten Versionen des SAS-Standards beschrieben ist. Das SAS-Protokoll kann ein Serial Advanced Attachment (ATA) Tunneled-Protokoll (STP) und ein Serial Small Computer System Interface(SCSI)-Protokoll (SSP) umfassen.
  • Der Massenspeicher 104 kann eine oder mehrere Massenspeichervorrichtungen, zum Beispiel die Massenspeichervorrichtungen 104a, 104b, 104c und/oder 104d aufweisen. Der Massenspeicher 104 kann eine oder mehrere redundante Anordnungen unabhängiger Scheiben (RAID) und/oder periphere Vorrichtungen umfassen. Eine oder mehrere Speichervorrichtungen 104a, 104b, 104c und/oder 104d können mit den FC-Kommunikationsprotokollen, S-ATA-Kommunikationsprotokollen und/oder SAS-Kommunikationsprotokollen übereinstimmen oder mit diesen kompatibel sein. Natürlich kann die Schaltplatte 120 Daten und/oder Befehle mit dem Massenspeicher 104 alternativ mittels anderer und/oder zusätzlicher Kommunikationsprotokolle austauschen, ohne von dieser Ausführungsform abzuweichen. Massenspeichervorrichtungen, die in dem Massenspeicher 104 enthalten sind, können in einem oder mehreren jeweiligen Gehäusen umfasst sein, die von dem Gehäuse getrennt sind, in dem die Hauptplatine und die in der Hauptplatine enthaltenen Komponenten eingeschlossen sind. Als Alternative und ohne von irgendeiner hierin beschriebenen Ausführungsform abzuweichen, kann der Massenspeicher 104 eine oder mehrere eigenständige Vorrichtungen umfassen. Eine oder mehrere Massenspeichervorrichtungen, zum Beispiel die Massenspeichervorrichtungen 104a, 104b, 104c und/oder 104d können hierin als „Zielvorrichtung" oder „Zielvorrichtungen" bezeichnet werden, wobei diese Ausdrücke hierin austauschbar benutzt werden sollen.
  • Die vorliegende Ausführungsform kann auch eine zwischengeschaltete Vorrichtung 150 umfassen, die zwischen den Massenspeicher 104 und die Schaltplatte 120 gekoppelt ist. Wie hier verwendet, kann eine „zwischengeschaltete Vorrichtung" eine Schaltung umfassen, um mindestens ein Signal zu senden und/oder zu empfangen. Wie hier verwendet, kann eine "Schaltung", allein oder in jeder beliebigen Kombination, zum Beispiel eine festverdrahtete Schaltung, programmierbare Schaltung, Zustandsmaschinenschaltung und/oder Firmware umfassen, die Befehle speichert, die von einer programmierbaren Schaltung ausgeführt werden. Zum Beispiel kann die zwischengeschaltete Vorrichtung 150 in einer Ausführungsform eine Schaltung umfassen, um Befehle und/oder Daten zu übermitteln, die von der Schaltplatte 120 an eine in dem Massenspeicher 104 enthaltene Zielvorrichtung gesendet werden und umgekehrt. Ferner kann die zwischengeschaltete Vorrichtung 150 in mindestens einer hierin beschriebenen Ausführungsform auch eine Schaltung umfassen, um Befehle und/oder Daten mittels mehrerer Kommunikationsprotokolle auszutauschen.
  • Die zwischengeschaltete Vorrichtung 150 kann über eine oder mehrere Kommunikationsverbindungen zwischen die Schaltplatte 120 und den Massenspeicher 104 gekoppelt werden. Zum Beispiel kann die zwischengeschaltete Vorrichtung in einem Ausführungsbeispiel an ein oder mehrere Kabel 106 und 108 gekoppelt werden, wobei ein oder mehrere Kabel 106 an die Schaltplatte 120 gekoppelt sein können und ein oder mehrere Kabel 108 an den Massenspeicher 104 gekoppelt sein können. Für ein gegebenes Kommunikationsprotokoll kann die maximale, in der Praxis benutzbare Länge eines physikalischen Kabels zwischen der Schaltplatte 120 und einer Zielvorrichtung, die in dem Massenspeicher 104 enthalten ist, gewöhnlich begrenzt sein. Zum Beispiel können für Vorrichtungen, die mittels eines SAS-Protokolls kommunizieren, Kabellängen gewöhnlich auf etwa 10 Meter begrenzt sein und für Vorrichtungen, die mittels eines S-ATA-Protokolls kommunizieren, können solche Kabellängen auf etwa 1 Meter begrenzt sein. Wenn längere Kabellängen benutzt werden, kann der Austausch von Signalen über die längeren Kabellängen Rauscheffekte erzeugen, welche die Qualität des Signals tendenziell verschlechtern können.
  • In Übereinstimmung mit dieser Ausführungsform kann die zwischengeschaltete Vorrichtung 150 eine Flussprotokoll-Erkennungsschaltung 180 umfassen. Wie hier verwendet, kann eine „Protokollerkennungsschaltung" in jeder beliebigen Ausführungsform als eine Schaltung definiert werden, die betriebsbereit sein kann, um ein Kommunikationsprotokoll unter mehreren Kommunikationsprotokollen zu erkennen. Zum Beispiel kann die Protokollerkennungsschaltung 180 in einem Ausführungsbeispiel betriebsbereit sein, um die Gegenwart einer FC-Zielvorrichtung, die mit einem FC-Kommunikationsprotokoll kompatibel ist und/oder dadurch kommunizieren kann, einer SAS-Zielvorrichtung, die mit einem SAS-Kommunikationsprotokoll kompatibel ist und/oder dadurch kommunizieren kann, und/oder einer S-ATA-Zielvorrichtung, die mit einem S-ATA-Kommunikationsprotokoll kompatibel ist und/oder dadurch kommunizieren kann, zu erkennen.
  • Die zwischengeschaltete Vorrichtung 150 kann auch eine Datenfluss-Steuerschaltung 190 umfassen. „Datenfluss-Steuerschaltung" oder „Flusssteuerschaltung", wie hier in jeder beliebigen Ausführungsform verwendet, kann als eine Schaltung definiert werden, die einen Datenstrom steuern kann, der gemäß einem oder mehreren Kommunikationsprotokollen übermittelt werden kann. "Steuerung" oder "Steuern", wie hier mit Bezug auf einen Datenstrom verwendet, kann das Modifizieren eines Signals bedeuten, das den Strom mindestens teilweise codiert, um einen gewünschten Effekt zu erzeugen. Zum Beispiel kann die Flusssteuerschaltung 190 in einem Ausführungsbeispiel betriebsbereit sein, um den Datenstrom von der Schaltplatte 120 und dem Massenspeicher 104 (und umgekehrt) zu steuern, um Rauscheffekte zu verringern, die in einem Datenstrom enthalten sind, der von dem Massenspeicher 104 an die Schaltplatte 120 und umgekehrt gesendet wird.
  • Die zwischengeschaltete Vorrichtung 150 kann mit Bezug auf jede beliebige hierin beschriebene Ausführungsform physikalisch an jedem beliebigen Punkt eines Kabels oder einer Gruppe von Kabeln oder an dem vorderen Ende des Massenspeichers 104 oder in der Schalplatte 120 positioniert sein. Wenn längere Kabellängen benötigt werden, kann auch mehr als eine zwischengeschaltete Vorrichtung aneinander gekoppelt werden. In einem Ausführungsbeispiel, das in 1 dargestellt ist, kann die zwischengeschaltete Vorrichtung 150 an Kabel 106 und 108, zum Beispiel in einer Brückenvorrichtung (nicht dargestellt) zwischen zwei Kabellängen gekoppelt sein. Als Alternative kann die zwischengeschaltete Vorrichtung 150 in dem Massenspeicher 104 enthalten oder direkt (das heißt, nicht über das Kabel 108) daran angegliedert sein oder in der Schaltplatte 120 enthalten oder direkt (das heißt, nicht über das Kabel 106) daran angegliedert sein; in diesen Alternativen können die Kabel 106 oder 108 ausgelassen werden. Wenngleich in den Zeichnungen nicht dargestellt, kann die zwischengeschaltete Vorrichtung 150 eine oder mehrere Schnittstellenverbinder umfassen, um eine mechanische und elektrische Verbindbarkeit mit dem Kabel 106 und/oder Kabel 108 bereitzustellen. In dieser Hinsicht können das Kabel 106 und/oder Kabel 108 mit dem FC-Protokoll, SAS-Protokoll und/oder S-ATA-Kommunikationsprotokoll übereinstimmen oder damit kompatibel sein.
  • 2 stellt eine andere Systemausführungsform 200 des beanspruchten Gegenstands dar. In 2 sind bestimmte Abschnitte des Systems 100, das in 1 dargestellt ist, aus Klarheitsgründen ausgelassen worden (zum Beispiel die Leiterplatte 132 und die Schaltplatte 120), es versteht sich jedoch, dass ähnliche Teile aus 2 in Übereinstimmung mit einer in 1 dargestellten Ausführungsform oder alternativ in anderen Systemausführungen umgesetzt werden können, ohne von dieser Ausführungsform abzuweichen.
  • Das System 200 aus 2 kann eine Protokollinitiatormaschine 140, einen Massenspeicher 104 und die zwischengeschaltete Vorrichtung 150 aufweisen, die an den Massenspeicher 104 und die Initiatormaschine 140 über ein oder mehrere Kabel 106a, 106b, ..., 106d und/oder 108a, 108b, ..., 108d gekoppelt sind. Die Mehrprotokoll-Initiator maschine 140 kann eine Schaltung umfassen, um Befehle und Daten mit einem Massenspeicher 104 unter Verwendung verschiedener Kommunikationsprotokolle auszutauschen, wobei solch eine Schaltung eine integrierte Schaltung umfassen kann, die mit der Schaltplatte 120 verbunden ist.
  • In einem Ausführungsbeispiel umfasst der Massenspeicher 104 ein Mehrprotokollgehäuse, das ein oder mehrere Zielvorrichtungen 104a, 104b, 104c und/oder 104d aufweisen oder aufnehmen kann. Zum Beispiel kann eine Zielvorrichtung 104a in einer Ausführungsform eine FC-Vorrichtung sein, die mittels eines FC-Protokolls kommunizieren kann, die Zielvorrichtung 104b kann eine Vorrichtung sein, die mittels eines SAS-Protokolls kommunizieren kann, die Zielvorrichtung 104c kann eine STP-Vorrichtung sein, die mittels eines SAS-Protokolls kommunizieren kann, und die Zielvorrichtung 104d kann eine S-ATA-Vorrichtung sein, die mittels eines S-ATA-Protokolls kommunizieren kann.
  • In dieser Ausführungsform können zum Beispiel die Kabel 106a und 108a mit einem FC-Protokoll kompatibel sein und/oder dieses übermitteln, um mit einer FC-Zielvorrichtung zu kommunizieren, die Kabel 106b und 108b können mit einem SAS-Protokoll kompatibel sein und/oder dieses übermitteln, um mit einer SSP-Zielvorrichtung zu kommunizieren, die Kabel 106c und 108c können mit einem SAS-Protokoll kompatibel sein und/oder dieses übermitteln, um mit einer STP-Zielvorrichtung zu kommunizieren, und die Kabel 106d und 108d können mit einem S-ATA-Protokoll kompatibel sein oder dieses übermitteln, um mit einer S-ATA-Zielvorrichtung zu kommunizieren.
  • Die zwischengeschaltete Vorrichtung 150 kann betriebsbereit sein, um eine Protokollerkennung und/oder Datenflusssteuerung für mehrere Kommunikationsprotokolle bereitzustellen. Zum Beispiel kann die zwischengeschaltete Vorrichtung 150 in einem Ausführungsbeispiel eine Schaltung aufweisen, um die Protokollerkennung und Datenflusssteuerung für eine oder mehrere Zielvorrichtungen 104a, 104b, 104c und/oder 104d bereitzustellen, die mit der zwischengeschalteten Vorrichtung 150 mittels FC-, SAS- und/oder S-ATA-Kommunikationsprotokollen kommunizieren können. In einem Ausführungsbeispiel können ein oder mehrere Signale, die an die und/oder von der zwischengeschalteten Vorrichtung 150 übertragen werden (das heißt, Codieren von Befehlen und Daten an die und/oder von der Initiatormaschine 140 und/oder Zielvorrichtung 104a, 104b, ... 104d) in einer nachstehend beschriebenen Weise neu getaktet werden, um zum Beispiel eine Verlängerung der Kabellängen zwischen dem Massenspeicher 104 und der Initiatormaschine 140 zu ermöglichen.
  • 3 ist ein Blockdiagramm 300 der zwischengeschalteten Vorrichtung 150. Wie oben beschrieben, kann die zwischengeschaltete Vorrichtung eine Schaltung umfassen, um eine Kommunikation zwischen mehreren Zielvorrichtungen (104a, 104b, ... 104d) und der Schaltplatte 120 und umgekehrt zu ermöglichen. Wie oben weiter beschrieben worden ist, können die Zielvorrichtungen 104a, 104b, ... 104d in einem Gehäuse gemischter Vorrichtungen unterbracht sein, zum Beispiel Vorrichtungen, die mit SAS-, S-ATA- und/oder FC-Protokollen kompatibel sind und/oder durch diese kommunizieren können. In einem Ausführungsbeispiel von 3 kann die zwischengeschaltete Vorrichtung 150 betriebsbereit sein, um mehrere unterschiedliche Kommunikationsprotokolle, die mit einer oder mehreren Zielvorrichtungen verbunden sind, dynamisch zu unterstützen.
  • Die zwischengeschaltete Vorrichtung kann eine Empfangswegschaltung 152A und eine Sendewegschaltung 152B umfassen. Die Empfangswegschaltung 152A umfasst einen Kommunikationsweg zwischen der Zielvorrichtung 104a, 104b, ..., 104d und der Schaltplatte 120, wobei Befehle und Daten von der Zielvorrichtung 104a, 104b, ... 104d an die Schaltplatte 120 durch die Empfangswegschaltung 152A gesendet werden können. Die Sendewegschaltung 152B kann folglich ein Kommunikationsweg zwischen der Zielvorrichtung 104a, 104b, ... 104d und der Schaltplatte 120 sein, wobei Befehle und Daten von der Schaltplatte 120 an die Zielvorrichtung 104a, 104b, ... 104d durch die Sendewegschaltung 152B gesendet werden können. Gemäß dieser Ausführungsform können die Konstruktion der Sendewegschaltung 152B und die Konstruktion der Empfangswegschaltung 152A identisch sein.
  • Die Empfangswegschaltung 152A kann eine Protokollerkennungsschaltung umfassen. Zum Beispiel kann die Protokollerkennungsschaltung in diesem Ausführungsbeispiel eine OOB-Signalerkennungsschaltung 156 und eine Erkennungsschaltung 160 für eine primitive FC-Verbindungs-Initialisierungssequenz umfassen. Außerdem kann die Protokollerkennungsschaltung eine Protokollunterstützungsschaltung 170 und/oder 172 umfassen.
  • Die Empfangswegschaltung kann auch eine Datenfluss-Steuerschaltung umfassen. Eine beispielhafte Flusssteuerschaltung kann eine Phasenregelkreisschaltung 158 (PLL) zur Datenverfolgung und eine Neutaktungsschaltung 154 umfassen.
  • Beispielhafte betriebliche Aspekte der zwischengeschalteten Vorrichtung 150 werden nachfolgend mit Bezug auf mehrere unterschiedliche Kommunikationsprotokolle und mit weiterem Bezug auf 3 beschrieben.
  • SAS-Protokollerkennung und Flusssteuerung
  • Für dieses Beispiel wird angenommen, dass eine SAS-Vorrichtung mit der zwischengeschalteten Vorrichtung 150 entweder allein oder in Kombination mit anderen Vorrichtungstypen in einem Mehrvorrichtungsgehäuse (zum Beispiel SSP-Vorrichtung 104b und/oder SST-Vorrichtung 104c) verbunden ist, wie in 2 dargestellt. Befehle und Daten können in und aus der zwischengeschalteten Vor richtung 150 übermittelt werden, wie durch Rin und Tin repräsentiert, zum Beispiel über Kabelverbindungen 106a, 106b, ... 106d und/oder 108a, 108b, ... 108d. Ein Datenweg 166 (zum Beispiel interner Bus) kann in der Empfangswegschaltung 152A enthalten sein, um eine Übermittlung von Befehlen und Daten bereitzustellen, die von der SAS-Vorrichtung an die Komponentenschaltung der Empfangswegschaltung 152A gesendet werden.
  • Wenn eine SAS-Vorrichtung anfangs eingeschaltet wird, sendet die SAS-Vorrichtung eine definierte Sequenz von Initialisierungssignalen. Sofern hierin nicht anderweitig angegeben, wird angenommen, dass die Initialisierungssignalsequenz von dem herkömmlichen SAS-Protokoll definiert wird. Um zu erkennen, dass eine SAS-Vorrichtung mit der zwischengeschalteten Vorrichtung 150 verbunden ist, kann die Empfangswegschaltung 152A eine OOB-Signalerkennungsschaltung 156 umfassen. Die OOB-Signalerkennungsschaltung 156 kann an einen Datenweg 166 und an eine ankommende Initialisierungssignalsequenz aus der SAS-Vorrichtung gekoppelt werden. Die Initialisierungssignalsequenz aus einer SAS-Vorrichtung kann eine primitive OOB-(Out-of-Band = Außerband)Signalsequenz umfassen. Wie hier verwendet, kann eine "Initialisierungssignalsequenz" eine Sequenz von Signalen, die von einer Vorrichtung erzeugt wird, und ferner Information umfassen, die in solchen Signalen enthalten ist und die Vorrichtungsart identifiziert. Zum Beispiel kann eine primitive Sequenz eine COMSAS-Signalsequenz aufweisen, welche die Zielvorrichtung als eine SAS-Vorrichtung identifiziert. Die OOB-Signalerkennungsschaltung 156 kann betriebsbereit sein, um eine OOB-Signalsequenz zu empfangen und einen Durchgang durch den Befehl 174 zu der Neutaktungsschaltung 154 erzeugen.
  • Im Falle einer SAS-Vorrichtung kann die Neutaktungsschaltung 154 zum Beispiel durch den Durchgang durch das Befehlssignal 174 deaktiviert werden, um zu ermöglichen, dass die OOB-Initialisierungssignalsequenz durch die zwischengeschaltete Vorrichtung 150 (über den Datenweg 168) zu der Schaltplatte 120 geht. Die Schaltplatte 120 oder genauer die Initiatorprotokollmaschine 140, die mit einer Schaltplatte 120 verbunden ist, kann ausgelegt sein, um die OOB-Signalsequenz (über eine Kabelverbindung, die zwischen der zwischengeschalteten Vorrichtung 150 und der Schaltplatte 120 verläuft) zu empfangen, und kann auch ein angemessenes SAS-Protokoll auswählen, um die Kommunikation mit der SAS-Vorrichtung mittels herkömmlicher SAS-Kommunikationsprotokolle einzuleiten. In diesem Beispiel kann die Neutaktungsschaltung 154 einen Puffer und/oder eine Verstärkungsschaltung für den Puffer umfassen und/oder die OOB-Signale, die dadurch gehen, verstärken.
  • Die Empfangswegschaltung 152A kann auch eine Flusssteuerungsschaltung aufweisen, die eine PLL-Datenverfolgungsschaltung 158 aufweisen kann, die an den internen Bus 166 gekoppelt ist. Die PLL-Schaltung 158 kann ausgelegt sein, um digitale Datensignale (das heißt, Datenströme) von der SAS-Vorrichtung zu empfangen, zum Beispiel nachdem die SAS-Vorrichtung von der Protokollmaschine 140 geeignet initialisiert worden ist. Nach Empfang eines Datenstroms kann die PLL-Schaltung 158 betriebsbereit sein, um einen ankommenden Datenstrom mit einem intern erzeugten Taktsignal (nicht dargestellt) zu vergleichen. Wenn eine Phasendifferenz zwischen dem intern erzeugten Taktsignal und dem Datenstrom existiert, kann die PLL-Schaltung 158 auch die Taktfrequenz ändern, um sich näher an die Frequenz des Datenstroms anzupassen. Die PLL-Schaltung 158 kann auch ein Datentaktsignal 164 erzeugen, das die Frequenz des ankommenden Datenstroms anzeigt. Das Datentaktsignal 164 kann an die Neutaktungsschaltung 154 gesendet werden. Die Neutaktungsschaltung 154 kann betriebsbereit sein, um den ankommenden Datenstrom mindestens teilweise auf der Grundlage des Datentaktsignals 164, das von der PLL-Schaltung 158 empfangen wird, neu zu takten. Zum Beispiel kann die Neutaktungsschaltung 154 eine Flipflopschaltung umfassen, die den Datenstrom und das Datentaktsignal für Eingaben aufweist, und kann den Datenstrom auf der Grundlage des Datentaktsignals neu takten. Die Neutaktungsschaltung 154 kann ferner betriebsbereit sein, um einen neu getakteten Datenstrom am Ausgang der Neutaktungsschaltung 154 zu erzeugen. Das Neutakten des Datenstroms von einer SAS-Vorrichtung kann Rauschereignisse (zum Beispiel Rufeffekte in dem digitalen Signal) verringern, die über längere Kabellängen auftreten können. Ferner kann das Neutakten des Datenstroms dieses Effekte unter einen definierten Toleranzgrad verringern.
  • FC-Protokollerkennung und Flusssteuerung
  • Für dieses Beispiel wird angenommen, dass eine FC-Vorrichtung mit der zwischengeschalteten Vorrichtung 150 entweder allein oder in Kombination mit anderen Vorrichtungstypen in einem Mehrvorrichtungsgehäuse (zum Beispiel FC-Vorrichtung 104a) verbunden ist, wie in 2 dargestellt. Befehle und Daten können in und aus der zwischengeschalteten Vorrichtung 150 übermittelt werden, wie durch Rin und Tin repräsentiert, zum Beispiel über Kabelverbindungen 106a, 106b, ... 106d und/oder 108a, 108b, ... 108d. Ein Datenweg 166 (zum Beispiel interner Bus) kann in der Empfangswegschaltung 152A enthalten sein, um eine Übermittlung von Befehlen und Daten bereitzustellen, die von der FC-Vorrichtung an die Komponentenschaltung der Empfangswegschaltung 152A gesendet werden.
  • Wenn eine FC-Vorrichtung anfangs eingeschaltet wird, sendet die FC-Vorrichtung eine definierte Sequenz von Initialisierungssignalen. Sofern hierin nicht anderweitig angegeben, wird angenommen, dass die Initialisierungssignalsequenz von dem herkömmlichen FC-Protokoll definiert wird. Die Empfangswegschaltung 152B kann ferner eine FC-Verbindungsschaltung 160 zur Erkennung einer primitiven Initialisierungssequenz (nachstehend "FC-Verbindungsschaltung 160") umfassen. Die FC-Verbindungsschaltung 160 kann eine Initialisierungssignalsequenz empfangen, die von einer FC-Vorrichtung (entlang des Datenwegs 166) erzeugt wird. Die Initialisierungssignalsequenz von einer FC-Vorrichtung kann zum Beispiel eine Initialisierungssignalsequenz umfassen, welche die Zielvorrichtung als eine FC-Vorrichtung identifiziert. Die Initialisierungssignalsequenz kann zusätzliche Information hinsichtlich der Betriebsfrequenz (das heißt, Verbindungsfrequenz) der FC-Vorrichtung enthalten.
  • Nach Empfang solch einer Initialisierungssignalsequenz von der FC-Vorrichtung kann die FC-Verbindungsschaltung 160 ein Befehlssignal 162 für die PLL-Schaltung 158 (oben beschrieben) erzeugen. Solch ein Befehlssignal 162 kann die Betriebsfrequenz der PLL-Schaltung derart steuern, dass die PLL bei der korrekten Frequenz für die Datenflusssteuerung der FC-Vorrichtung (zum Beispiel 1,5, 3,0, 6,0 GHz) arbeitet. Zu diesem Zweck kann die PLL-Schaltung 158 eine Frequenzmultiplikator- und/oder -teilerschaltung (nicht dargestellt) aufweisen, die ein Multiplizier-(oder Teil-)Signal erzeugt, um die PLL-Schaltung 158 dazu zu befähigen, eine Basisfrequenz auf der Grundlage des Befehlssignals 162 auszuwählen, um zum Beispiel einen Datenfluss durch die Empfangswegschaltung 152A bei einer angemessenen Frequenz für die FC-Vorrichtung zu ermöglichen.
  • Ähnlich wie oben für eine SAS-Vorrichtung beschrieben, kann die Empfangswegschaltung 152A auch eine Flusssteuerungsschaltung aufweisen, die eine PLL-Datenverfolgungsschaltung 158 aufweisen kann, die an den internen Bus 166 gekoppelt ist. Die PLL-Schaltung 158 kann digitale Datensignale (das heißt, Datenströme) von der FC-Vorrichtung empfangen, zum Beispiel nachdem die FC-Vorrichtung von der Protokollmaschine 140 angemessen initialisiert worden ist. Nach Empfang eines Datenstroms kann die PLL-Schaltung 158 betriebsbereit sein, um einen ankommenden Datenstrom mit einem intern erzeugten Taktsignal (nicht dargestellt) zu vergleichen. Wenn eine Phasendifferenz zwischen dem intern erzeugten Taktsignal und dem Datenstrom besteht, kann die PLL-Schaltung 158 auch die Taktfrequenz ändern, um sich näher an die Frequenz des Datenstroms anzupassen. Die PLL-Schaltung 158 kann auch ein Datentaktsignal 164 erzeugen, das die Frequenz des ankommenden Datenstroms anzeigt. Das Datentaktsignal 164 kann an die Neutaktungsschaltung 154 gesendet werden. Die Neutaktungsschaltung 154 kann betriebsbereit sein, um den ankommenden Datenstrom mindestens teilweise auf der Grundlage des Datentaktsignals 164, das von der PLL-Schaltung 158 empfangen wird, neu zu takten. Zum Beispiel kann die Neutaktungsschaltung 154 eine Flipflopschaltung umfassen, die den Datenstrom und das Datentaktsignal für Eingaben aufweist, und kann den Datenstrom auf der Grundlage des Datentaktsignals neu takten. Die Neutaktungsschaltung 154 kann ferner betriebsbereit sein, um einen neu getakteten Datenstrom am Ausgang der Neutaktungsschaltung 154 zu erzeugen. Das Neutakten des Datenstroms von einer FC-Vorrichtung kann Rauschereignisse (zum Beispiel Rufeffekte in dem digitalen Signal) verringern, die über längere Kabellängen auftreten können. Ferner kann das Neutakten des Datenstroms dieses Effekte unter einen definierten Toleranzgrad verringern.
  • S-ATA-Protokollerkennung und Flusssteuerung
  • Für dieses Beispiel wird angenommen, dass eine S-ATA-Vorrichtung mit der zwischengeschalteten Vorrichtung 150 entweder allein oder in Kombination mit anderen Vorrichtungstypen in einem Mehrvorrichtungsgehäuse (zum Beispiel S-ATA-Vorrichtung 104d) verbunden ist, wie in 2 dargestellt. Befehle und Daten können in und aus der zwischengeschalteten Vorrichtung 150 übermittelt werden, wie durch Rin und Tin repräsentiert, zum Beispiel über Kabelverbindungen 106a, 106b, ... 106d und/oder 108a, 108b, ... 108d. Ein Datenweg 166 (zum Beispiel interner Bus) kann in der Empfangswegschaltung 152A enthalten sein, um eine Übermittlung von Befehlen und Daten bereitzustellen, die von der S-ATA-Vorrichtung an die Komponentenschaltung der Empfangswegschaltung 152A gesendet werden.
  • Wenn eine S-ATA-Vorrichtung anfangs eingeschaltet wird, kann eine Initialisierungssignalsequenz auftreten. In einer beispielhaften S-ATA-Vorrichtung kann die Initialisierungssignalsequenz ein OOB-Signal (ähnlich dem oben mit Bezug auf eine SAS-Vorrichtung beschriebenen OOB-Signal) umfassen, jedoch kein COMSAS-Signal aufweisen. Das Nichtvorhandensein des COMSAS-Signals kann die Vorrichtung als eine S-ATA-Vorrichtung (anstatt einer SAS-Vorrichtung) identifizieren, wobei die OOB-Signalerkennungsschaltung 156 in ähnlicher Weise wie die oben beschriebene SAS-Protkollerkennung arbeiten kann.
  • Die Flusssteuerungsschaltung für eine S-ATA-Vorrichtung kann eine oder mehrere S-ATA-Protokollsteuerschaltungen 170 und/oder 172 aufweisen, die jeweils an Eingangs- und Ausgangsenden der zwischengeschalteten Vorrichtung 150 gekoppelt sind. Wenn eine S-ATA-Vorrichtung in dem herkömmlichen S-ATA-Protokoll Daten empfängt und ein Sende-/Empfangspuffer (nicht dargestellt) fast voll ist, sendet die Vorrichtung ein HOLD-Signal. Das S-ATA-Protokoll kann erfordern, dass ein Haltebestätigungssignal (HOLDA) von der Zielvorrichtung innerhalb einer vordefinierten Anzahl von übertragenen Datenwörtern (zum Beispiel innerhalb von 20 Datenwörtern) empfangen wird. Dementsprechend kann die S-ATA-Protokollsteuerschaltung 170 und/oder 172 betriebsbereit sein, um ein angemessenes HOLDA-Signal zu erzeugen, wenn ein HOLD-Signal empfangen wird, und solch ein HOLDA-Signal an die S-ATA-Vorrichtung (zum Beispiel Vorrichtung 104d) oder an die Schaltplatte 120 zurückzusenden, je nach den Erfordernissen entweder der Vorrichtung oder der Schaltplatte 120.
  • Ähnlich wie oben für eine SAS- und FC-Vorrichtung beschrieben, kann die Flusssteuerschaltung auch eine PLL- Datenverfolgungsschaltung 158 aufweisen, die an den internen Bus 166 gekoppelt ist. Die PLL-Schaltung 158 kann digitale Datensignale (das heißt, Datenströme) von der S-ATA-Vorrichtung empfangen, zum Beispiel nachdem die S-ATA-Vorrichtung von der Protokollmaschine 140 angemessen initialisiert worden ist. Nach Empfang eines Datenstroms kann die PLL-Schaltung 158 betriebsbereit sein, um einen ankommenden Datenstrom mit einem intern erzeugten Taktsignal (nicht dargestellt) zu vergleichen. Wenn eine Phasendifferenz zwischen dem intern erzeugten Taktsignal und dem Datenstrom existiert, kann die PLL-Schaltung 158 auch die Taktfrequenz ändern, um sich näher an die Frequenz des Datenstroms anzupassen. Die PLL-Schaltung 158 kann auch ein Datentaktsignal 164 erzeugen, das die Frequenz des ankommenden Datenstroms anzeigt. Das Datentaktsignal 164 kann an die Neutaktungsschaltung 154 gesendet werden. Die Neutaktungsschaltung 154 kann betriebsbereit sein, um den ankommenden Datenstrom mindestens teilweise auf der Grundlage des Datentaktsignals 164, das von der PLL-Schaltung 158 empfangen wird, neu zu takten. Zum Beispiel kann die Neutaktungsschaltung 154 eine Flipflopschaltung umfassen, die den Datenstrom und das Datentaktsignal für Eingaben aufweist, und kann den Datenstrom auf der Grundlage des Datentaktsignals neu takten. Die Neutaktungsschaltung 154 kann ferner betriebsbereit sein, um einen neu getakteten Datenstrom am Ausgang der Neutaktungsschaltung 154 zu erzeugen. Das Neutakten des Datenstroms von einer S-ATA-Vorrichtung kann Rauschereignisse (zum Beispiel Rufeffekte in dem digitalen Signal) verringern, die über längere Kabellängen auftreten können. Ferner kann das Neutakten des Datenstroms dieses Effekte unter einen definierten Toleranzgrad verringern.
  • Wie vorstehend hierin beschrieben, können der "Empfangsweg" 152A und der "Sendeweg" 152B eine identische Schaltung umfassen, um mit der Erkennungs- und Datenflussteuerung zwischen einer Zielvorrichtung 104 und einer Schaltplatte 120 kompatibel zu sein. Bezüglich dieser Sendewegschaltung 152B soll darauf hingewiesen werden, dass die Komponenten davon in gleicher Weise wie oben mit Bezug auf die Empfangswegschaltung 152A beschrieben arbeiten können, mit der Ausnahme, dass die Signale aus der Schaltplatte 120 kommen und an die Zielvorrichtung gehen. Folglich sind der Sendewegschaltung keine Bezugszeichen zugewiesen worden, wobei hierin angenommen wird, dass ähnliche Teile, die durch ein Wort oder einen Ausdruck beschrieben werden, in ähnlicher Weise arbeiten.
  • Die mit Bezug auf die zwischengeschaltete Vorrichtung 150 beschriebene Schaltung aus 3 kann ein oder mehrere Schaltmodule oder Chipsätze umfassen, die integrierte Schaltungen umfassen können. Als Alternative können ein oder mehrere Blockdiagrammkomponenten aus 3 in mit der hierin beschriebenen Funktionalität übereinstimmender Weise aus einer diskreten Schaltung gebildet sein. Es sei klargestellt, dass die in 3 dargestellte zwischengeschaltete Vorrichtung 150 ferner eine zusätzliche Schaltung umfassen kann, zum Beispiel eine Pufferschaltung an dem Eingangs- und/oder Ausgangsende (oder an anderen geeigneten Stellen entlang des Datenwegs). Ferner kann die zwischengeschaltete Vorrichtung 150 auch eine Impedanzanpassungsschaltung aufweisen, um zum Beispiel die Impedanzen zwischen der Zielvorrichtung 104, einem oder mehreren Kabeln und der Schaltplatte 120 anzupassen.
  • 4 zeigt ein Flussdiagramm 400, das beispielhafte Vorgänge darstellt, die gemäß einer Ausführungsform ausgeführt werden können. Mit Bezug auf die hierin beschriebene zwischengeschaltete Vorrichtung 150 kann zu den Vorgängen die Protokollerkennung gehören, die einen Vorgang des Bestimmens des Kommunikationsprotokolls 402 umfassen kann, das von einer Zielvorrichtung 104 und/oder der Schaltplatte 120 benutzt werden kann. Das Bestimmen des Kommunikationsprotokolls aus mehreren Kommunikationsprotokollen kann das Erkennen einer Initialisierungssignalsequenz (zum Beispiel einer OOB-Signalsequenz für eine SAS-Vorrichtung), das Erkennen eines Verbindungsinitialisierungssignals (zum Beispiel eines analogen Burst-Signals für eine FC-Vorrichtung) und/oder das Erkennen eines HOLD-Signals (im Falle einer S-ATA-Vorrichtung aufweisen. Zum Beispiel können die OOB-Signale im Falle einer SAS-Vorrichtung durch die zwischengeschaltete Vorrichtung 150 an die Schaltplatte 120 gesendet werden. Für eine Zielvorrichtung, die mit einem FC-Protokoll kompatibel ist, kann solch ein Verfahren das Einstellen der PLL-Schaltung aufweisen, um bei Auftreten eines FC-Verbindungsinitialisierungssignals bei einer geeigneten Frequenz zu arbeiten. Für eine S-ATA-Vorrichtung kann ein HOLDA-Signal für die S-ATA-Vorrichtung innerhalb einer vorbestimmten Anzahl von Datenwörtern rückerzeugt werden. Das Verfahren kann auch das Erkennen einer Verbindungsfrequenz aufweisen, die einer angegliederten Vorrichtung entspricht. Die Verbindungsfrequenz kann von einer Zielvorrichtung erzeugt werden und kann zum Beispiel die Frequenz eines Datenstroms umfassen, der von der Vorrichtung erzeugt wird. Die Verbindungsfrequenz kann die Betriebsfrequenz der PLL-Schaltung festlegen, um die Neutaktung eines ankommenden Datenstroms zu ermöglichen.
  • Für ein gegebenes Kommunikationsprotokoll kann zu den Vorgängen auch das Bereitstellen einer Datenflusssteuerung mit Hilfe des ausgewählten Kommunikationsprotokolls 402 gehören. Datenflusssteuervorgänge können das Neutakten eines Datenstroms und/oder Puffern und/oder Verstärken eines Datenstroms aufweisen. Zum Beispiel kann die PLL-Schaltung 158, wie oben mit Bezug auf 3 beschrieben, einen Phasenwert für einen gegebenen Datenstrom erzeugen und eine Neutaktungsschaltung 154 kann den Datenstrom mindestens teilweise basierend auf dem Phasenwert, der von der PLL-Schaltung 158 erzeugt wird, neu takten.
  • Wie oben erwähnt, kann der Massenspeicher 104 ein Gehäuse von Zielvorrichtungen umfassen. Das Gehäuse kann mehrere Zielvorrichtungen umfassen und jede Vorrichtung kann mit verschiedenen Kommunikationsprotokollen kompatibel sein und/oder durch diese kommunizieren. Solch ein Gehäuse kann auch geeignete Verbindungen aufweisen, um zu ermöglichen, dass Vorrichtungen einer „Hot-Swap"-Technik unterzogen werden können, um zum Beispiel zu ermöglichen, dass Vorrichtungen innerhalb eines Gehäuses in einer dynamischen Weise verbunden und getrennt werden können. Folglich kann solch ein Gehäuse Schnittstellenverbinder (nicht dargestellt) umfassen, um darin eingesetzten Vorrichtungen und Kabeln (zum Beispiel Kabel 108a, 108b, ... 108d), die daran angeschlossen werden können, eine elektrische und mechanische Verbindbarkeit bereitzustellen.
  • Wie aus den hierin bereitgestellten Beispielen ersichtlich, können bestimmte Komponenten der zwischengeschalteten Vorrichtung 150 auch Vorrichtungserkennungsfunktionen und eine Datenflusssteuerung für irgendeine oder alle Vorrichtungen bereitstellen. Zum Beispiel sind die PLL-Schaltung 158 und die Neutaktungsschaltung 154 gleichermaßen mit der SAS-, S-ATA- und/oder FC-Vorrichtung betriebsfähig. Aus diesem Grund können diese Komponenten in einer Gehäuseumgebung, die das Verbinden verschiedener Vorrichtungen an der gleichen physikalischen Stelle ermöglicht, solche Vorrichtungen unterbringen. Die zwischengeschaltete Vorrichtung 150 gemäß dieser Ausführungsform kann unterschiedliche und/oder in dem Gehäuse fehlende Vorrichtungen unterbringen. Wenn eine Vorrichtung auf der Gehäuseebene fehlt (nicht verbunden ist), kann die zwischengeschaltete Vorrichtung 150 und genauer die OOB-Signalerkennungsschaltung 156, FC-Verbindungsschaltung 160 und/oder Neutaktungsschaltung 154 ein Signal erzeugen, das die Tatsache anzeigt, dass keine Vorrichtung in dem Gehäuse vorhanden ist (oder nicht mit einem bestimmten Kabel verbunden ist).
  • Es versteht sich, dass andere Ausführungsformen der vorliegenden Offenbarung viele verschiedene Kombinationen und/oder untergeordnete Kombinationen der in 3 dargestellten Komponenten und/oder Schaltungen oder der Komponenten auf Systemebene aus 1 und 2 berücksichtigen. Zum Beispiel können in einem System, das eine Gehäuseumgebung für SAS- und/oder FC-Vorrichtungen aufweist, die S-ATA-Protokollsteuerschaltungen 172 und 170 ausgelassen werden, ohne den Schutzbereich der vorliegenden Offenbarung zu verlassen. Andere Kombinationen und Unterkombinationen jeder beliebigen der Komponenten, wie durch jeden beliebigen der Blöcke aus 1, 2 und/oder 3 dargestellt, können ausgeführt werden, ohne von der vorliegenden Offenbarung abzuweichen.
  • Folglich kann eine Systemausführungsform zusammenfassend eine Schaltplatte umfassen, die eine integrierte Schaltung umfasst, die gemäß mehreren unterschiedlichen Kommunikationsprotokollen kommunizieren kann. Die Schaltung kann an einen Bus gekoppelt sein. Eine zwischengeschaltete Vorrichtung kann an die Schaltplatte gekoppelt sein. Die zwischengeschaltete Vorrichtung kann mindestens teilweise mindestens ein Kommunikationsprotokoll unter mehreren Kommunikationsprotokollen bestimmen, über welche mindestens eine Speichervorrichtung, die mit der zwischengeschalteten Vorrichtung verbunden ist, kommunizieren kann. Die zwischengeschaltete Vorrichtung kann auch einen Datenstrom steuern, der von mindestens einer der integrierten Schaltung und der Speichervorrichtung erzeugt wird.
  • Eine Vorrichtungsausführungsform kann eine zwischengeschaltete Vorrichtung aufweisen, die eine Protokollerkennungsschaltung umfassen kann, die mindestens teilweise mindestens ein Kommunikationsprotokoll unter mehreren Kommunikationsprotokollen bestimmen kann, über welche mindestens eine Speichervorrichtung, die mit der zwischengeschalteten Vorrichtung verbunden ist, kommunizieren kann.
  • Die zwischengeschaltete Vorrichtung kann auch eine Flusssteuerschaltung umfassen, die einen Datenstrom steuern kann, der von der Speichervorrichtung mittels mehrerer Kommunikationsprotokolle übermittelt werden kann.
  • Vorteilhaft kann die zwischengeschaltete Vorrichtung dieser Ausführungsformen verbesserte Kommunikationsfähigkeiten bieten und kann mittels mehrer Kommunikationsprotokolle kommunizieren. Auch vorteilhaft können Signale, die von einer Zielvorrichtung und/oder Schaltplatte erzeugt werden, die an die zwischengeschaltete Vorrichtung gekoppelt ist, gesteuert werden, wodurch ermöglicht wird, dass Kabellängen zwischen der zwischengeschalteten Vorrichtung und einer oder mehrerer Zielvorrichtungen und/oder Schaltplatte verlängert werden. Ferner ermöglicht dies vorteilhaft, dass zum Beispiel eine einzige integrierte zwischengeschaltete Vorrichtung gemäß diesen Ausführungsformen mit einem Datenspeichersystem direkt mittels mehrerer unterschiedlicher Kommunikationsprotokolle kommuniziert. Folglich kann es zum Beispiel möglich sein, die zwischengeschaltete Vorrichtung dieser Ausführungsformen zu benutzen, um über eine oder mehrere Kommunikationsverbindungen direkt mit einer oder mehreren Vorrichtungen in SAS- und/oder S-ATA- und/oder FC-Protokolldomänen in dem Datenspeichersystem zu kommunizieren, ohne ein oder mehrere externe Kommunikationsprotokollumwandler, -übersetzer und/oder -expander (wie zum Beispiel einen oder mehrere SAS-Expander) einsetzen zu müssen, die zwischen die integrierte Schaltung und das Datenspeichersystem gekoppelt sind, wenngleich solche Protokollumwandler, -übersetzer und/oder -expander benutzt werden können, ohne von diesen Ausführungsformen abzuweichen. Vorteilhaft können diese Merkmale ermöglichen, dass die zwischengeschaltete Vorrichtung dieser Ausführungsformen im Vergleich zum Stand der Technik eine verbesserte Vielseitigkeit und einen größeren Nutzen bereitstellt und die Kosten des Einsatzes der hierin be schriebenen zwischengeschalteten Vorrichtung im Vergleich zum Stand der Technik senken kann.
  • Die Begriffe und Ausdrücke, die hierin verwendet worden sind, werden als beschreibende und nicht einschränkende Begriffe verwendet, wobei bei der Verwendung solcher Begriffe und Ausdrücke nicht die Absicht besteht, jegliche Äquivalente der dargestellten und beschriebenen Merkmale (oder Teile davon) auszuschließen, und erkannt wird, dass verschiedene Modifikationen innerhalb des Schutzbereichs der Ansprüche möglich sind. Andere Modifikationen, Variationen und Alternativen sind ebenfalls möglich. Dementsprechend sollen die Ansprüche all solche Äquivalente abdecken.

Claims (13)

  1. Vorrichtung, umfassend: eine zwischengeschaltete Vorrichtung (150), die zwischen eine Mehrprotokoll-Initiatormaschine (140) und mindestens eine Speichervorrichtung (104) gekoppelt werden soll, wobei die zwischengeschaltete Vorrichtung eine Protokollerkennungsschaltung (180) umfasst, die unter mehreren Kommunikationsprotokollen mindestens ein Kommunikationsprotokoll bestimmen kann, über das die mindestens eine Speichervorrichtung (104), die mit der zwischengeschalteten Vorrichtung (150) verbunden ist, kommunizieren kann, wobei die zwischengeschaltete Vorrichtung (150) ferner Folgendes umfasst: eine Flusssteuerschaltung (190), die mindestens einen Datenstrom steuern kann, der mit Hilfe des bestimmten mindestens einen Kommunikationsprotokolls von der Speichervorrichtung (104) übermittelt werden kann, wobei die Flusssteuerschaltung (190) dadurch gekennzeichnet ist, dass sie eine Protokollsteuerschaltung (170, 172) umfasst, die an ein Eingangsende und/oder ein Ausgangsende der zwischengeschalteten Vorrichtung (150) gekoppelt ist, um ein HOLD-Signal von der mindestens einen Speichervorrichtung (104) oder der Mehrprotokoll-Initiatormaschine (140) zu empfangen und lokal ein HOLDA-Signal zu erzeugen und es jeweils an die mindestens eine Speichervorrichtung (104) oder die Mehrprotokoll-Initiatormaschine (140) zurückzusenden.
  2. Vorrichtung nach Anspruch 1, wobei: die zwischengeschaltete Vorrichtung (150) ferner eine vorbestimmte Initialisierungssignalsequenz erkennen kann, die ein Kommunikationsprotokoll anzeigt.
  3. Vorrichtung nach Anspruch 2, wobei: die vorbestimmte Signalsequenz eine Außerbandsignalsequenz umfasst.
  4. Vorrichtung nach Anspruch 1, wobei: die Protokollerkennungsschaltung (180) auch mindestens eine einer Außerbandsignalsequenz und einer analogen Burst-Signalsequenz empfangen kann; und die Flusssteuerschaltung (190) ferner eine Datenverfolgungsschaltung (158) umfasst, die den Datenstrom von der mindestens einen Speichervorrichtung (104) empfangen kann und auch ein Taktsignal (164) erzeugen kann, das die Frequenz des Datenstroms anzeigt; und die Vorrichtung ferner eine Neutaktungsschaltung (154) umfasst, die den Datenstrom und das Taktsignal (164) empfangen und einen neu getakteten Datenstrom erzeugen kann.
  5. Vorrichtung nach Anspruch 1, wobei: die zwischengeschaltete Vorrichtung (150) über mindestens ein Kabel (108) an die Speichervorrichtung (104) gekoppelt werden kann.
  6. Vorrichtung nach Anspruch 1, wobei: die mehreren unterschiedlichen Kommunikationsprotokolle ein Fibre-Channel-Protokoll, ein Serial-Attached-Small-Computer-System-Interface-Protokoll und ein Serial-Advanced-Technology-Attachment-Protokoll umfassen.
  7. Vorrichtung nach Anspruch 1, wobei: die zwischengeschaltete Vorrichtung (150) an ein Kabel (106) gekoppelt sein kann, das mit mindestens einem der Kommunikationsprotokolle kompatibel ist.
  8. Vorrichtung nach Anspruch 1, wobei: die zwischengeschaltete Vorrichtung (150) ferner den Datenstrom steuern kann, um einen neu getakteten Datenstrom zu erzeugen, und den neu getakteten Datenstrom an mindestens eine Schaltplatte (120) und die Speichervorrichtung (104) übertragen kann.
  9. Verfahren, umfassend: Bestimmen, durch eine zwischengeschaltete Vorrichtung (150), die zwischen eine Mehrprotokoll-Initiatormaschine (140) und mindestens eine Speichervorrichtung (104) gekoppelt ist, mindestens eines Kommunikationsprotokolls unter mehreren Kommunikationsprotokollen, über das die mindestens eine Speichervorrichtung (104), die mit der zwischengeschalteten Vorrichtung (150) verbunden ist, kommunizieren kann; Steuern, durch die zwischengeschaltete Vorrichtung (150), mindestens eines Datenstroms von der mindestens einen Speichervorrichtung (104) gemäß dem mindestens einen Kommunikationsprotokoll; gekennzeichnet durch Empfangen, von der mindestens einen Speichervorrichtung (104) oder der Mehrprotokoll-Initiatormaschine (140), mindestens eines HOLD-Signals an der Protokollsteuerschaltung (170, 172), die an ein Eingangsende und/oder ein Ausgangsende der zwischengeschalteten Vorrichtung (150) gekoppelt ist, und lokales Erzeugen eines HOLDA-Signals und Zurücksenden desselben an die mindestens eine Speichervorrichtung (104) bzw. die Mehrprotokoll-Initiatormaschine (140).
  10. Verfahren nach Anspruch 9, ferner umfassend: Empfangen, durch die zwischengeschaltete Vorrichtung (150), einer Initialisierungssignalsequenz; und Auswählen, durch die zwischengeschaltete Vorrichtung (150), mindestens eines Kommunikationsprotokolls auf der Grundlage der Initialisierungssignalsequenz.
  11. Verfahren nach Anspruch 9, ferner umfassend: Kommunizieren, durch die zwischengeschaltete Vorrichtung (150), mit der Speichervorrichtung (104) unter Verwendung der Verbindungsfrequenz.
  12. Verfahren nach Anspruch 9, ferner umfassend: Kommunizieren, durch die zwischengeschaltete Vorrichtung (150), mit der mindestens einen Speichervorrichtung (104) mit einem ausgewählten Kommunikationsprotokoll unter mehreren Kommunikationsprotokollen.
  13. Gegenstand, umfassend: ein Speichermedium mit darauf gespeicherten Befehlen, die bei Ausführung von einer Maschine die Ausführung der Verfahrensschritte nach einem der Ansprüche 9 bis 12 bewirken.
DE602004010428T 2003-12-31 2004-12-24 Zwischengeschaltete einrichtung mit der fähigkeit zur kommunikation unter verwendung verschiedener kommunikationsprotokolle Active DE602004010428T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US749493 2000-12-22
US10/749,493 US7363395B2 (en) 2003-12-31 2003-12-31 Intermediate device capable of communicating using different communication protocols
PCT/US2004/043345 WO2005066820A1 (en) 2003-12-31 2004-12-24 Intermediate device capable of communicating using different communication protocols

Publications (2)

Publication Number Publication Date
DE602004010428D1 DE602004010428D1 (de) 2008-01-10
DE602004010428T2 true DE602004010428T2 (de) 2008-10-16

Family

ID=34711077

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004010428T Active DE602004010428T2 (de) 2003-12-31 2004-12-24 Zwischengeschaltete einrichtung mit der fähigkeit zur kommunikation unter verwendung verschiedener kommunikationsprotokolle

Country Status (8)

Country Link
US (1) US7363395B2 (de)
EP (1) EP1687727B1 (de)
JP (1) JP4473881B2 (de)
CN (1) CN100507890C (de)
AT (1) ATE379813T1 (de)
DE (1) DE602004010428T2 (de)
TW (1) TWI287923B (de)
WO (1) WO2005066820A1 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004192105A (ja) * 2002-12-09 2004-07-08 Hitachi Ltd 記憶装置の接続装置およびそれを含むコンピュータシステム
JP4634049B2 (ja) 2004-02-04 2011-02-16 株式会社日立製作所 ディスクアレイ装置における異常通知制御
JP4555036B2 (ja) * 2004-09-16 2010-09-29 株式会社日立製作所 ストレージ装置及びストレージ装置のデバイス切替制御方法
US7506078B2 (en) * 2004-10-29 2009-03-17 Intel Corporation Integrated circuit capable of assigning a unique identity to ATA/ATAPI devices
US7461192B2 (en) 2004-12-15 2008-12-02 Rambus Inc. Interface for bridging out-of-band information and preventing false presence detection of terminating devices
US20060136644A1 (en) * 2004-12-20 2006-06-22 Martin Cynthia L SAS hot swap backplane expander module
JP2006235994A (ja) * 2005-02-24 2006-09-07 Nec Electronics Corp ブリッジシステム、ブリッジシステム制御方法、情報処理機器、周辺機器及びプログラム
US7440215B1 (en) * 2005-03-30 2008-10-21 Emc Corporation Managing disk drive spin up
US7747788B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Hardware oriented target-side native command queuing tag management
US8135869B2 (en) * 2005-06-30 2012-03-13 Intel Corporation Task scheduling to devices with same connection address
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7805543B2 (en) * 2005-06-30 2010-09-28 Intel Corporation Hardware oriented host-side native command queuing tag management
US7506080B2 (en) * 2005-09-16 2009-03-17 Inter Corporation Parallel processing of frame based data transfers
US7676604B2 (en) * 2005-11-22 2010-03-09 Intel Corporation Task context direct indexing in a protocol engine
US7752343B2 (en) * 2006-02-22 2010-07-06 Emulex Design & Manufacturing Corporation Method and apparatus for auto-protocol discrimination between fibre channel, SAS and SATA devices
US7502874B2 (en) * 2006-11-21 2009-03-10 Lsi Corporation Methods and systems for integrating unique information in SAS interface components
US7627709B2 (en) * 2006-12-12 2009-12-01 Spectra Logic Corporation Computer bus power consuming device
JP4961997B2 (ja) * 2006-12-22 2012-06-27 富士通株式会社 ストレージ装置、ストレージ装置の制御方法、及びストレージ装置の制御プログラム
US7711873B1 (en) * 2007-01-10 2010-05-04 Marvell International Ltd. Bandwidth control and power saving by interface aggregation
JP2008198137A (ja) * 2007-02-15 2008-08-28 Sharp Corp データ処理装置、データ処理方法、データ送信装置、データ送信方法、データ処理システム、制御プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体
US7653775B2 (en) * 2007-04-09 2010-01-26 Lsi Logic Corporation Enhancing performance of SATA disk drives in SAS domains
DE102008046577A1 (de) * 2008-09-10 2010-03-11 Fujitsu Siemens Computers Gmbh Anschlussvorrichtung zum Anschluss einer Mehrzahl von Peripheriegeräten und Betriebsverfahren
US8819218B2 (en) * 2009-09-24 2014-08-26 International Business Machines Corporation Apparatus, system, and method for device level enablement of a communications protocol
CN101778138A (zh) * 2010-02-01 2010-07-14 成都市华为赛门铁克科技有限公司 一种存储系统及数据传输方法
US9405550B2 (en) * 2011-03-31 2016-08-02 International Business Machines Corporation Methods for the transmission of accelerator commands and corresponding command structure to remote hardware accelerator engines over an interconnect link
WO2013085501A1 (en) * 2011-12-07 2013-06-13 Intel Corporation Multiple transaction data flow control unit for high-speed interconnect
US9626318B2 (en) 2012-01-26 2017-04-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for storage protocol compliance testing
US8595408B2 (en) 2012-04-25 2013-11-26 Lsi Corporation Methods and structure for identifying support for super-standard features in communications between serial attached SCSI devices
US20140330995A1 (en) * 2013-05-03 2014-11-06 Paul S. Levy Data storage system
US8943234B1 (en) * 2013-08-05 2015-01-27 Lsi Corporation Multi-protocol storage controller
WO2015099733A1 (en) 2013-12-26 2015-07-02 Intel Corporation Interconnect retimer enhancements
WO2017024290A1 (en) * 2015-08-06 2017-02-09 Intel Corporation Adaptive equalization channel extension retimer link-up methodology
US9965439B2 (en) 2016-06-27 2018-05-08 Intel Corporation Low latency multi-protocol retimers
US11157356B2 (en) 2018-03-05 2021-10-26 Samsung Electronics Co., Ltd. System and method for supporting data protection across FPGA SSDs
US10649940B2 (en) 2018-03-05 2020-05-12 Samsung Electronics Co., Ltd. Modular system architecture for supporting multiple solid-state drives
US10990307B2 (en) * 2018-07-27 2021-04-27 Broadcom International Pte. Ltd. System and method for providing a configurable storage media interface

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636909B1 (en) * 2000-07-05 2003-10-21 Sun Microsystems, Inc. Adaptive throttling for fiber channel disks
US6654383B2 (en) * 2001-05-31 2003-11-25 International Business Machines Corporation Multi-protocol agile framer
US7194059B2 (en) * 2001-08-17 2007-03-20 Zarlink Semiconductor, Inc. Method and apparatus for skip-free retiming transmission of digital information
WO2003052758A1 (en) * 2001-12-13 2003-06-26 Seagate Technology Llc Raid data storage array spin-up control
JP3891841B2 (ja) * 2002-01-07 2007-03-14 富士通株式会社 伝送システム
US6886057B2 (en) * 2002-06-06 2005-04-26 Dell Products L.P. Method and system for supporting multiple bus protocols on a set of wirelines
US7093033B2 (en) * 2003-05-20 2006-08-15 Intel Corporation Integrated circuit capable of communicating using different communication protocols

Also Published As

Publication number Publication date
CN1902616A (zh) 2007-01-24
TWI287923B (en) 2007-10-01
US20050149656A1 (en) 2005-07-07
JP4473881B2 (ja) 2010-06-02
EP1687727A1 (de) 2006-08-09
TW200531490A (en) 2005-09-16
EP1687727B1 (de) 2007-11-28
ATE379813T1 (de) 2007-12-15
JP2007513436A (ja) 2007-05-24
US7363395B2 (en) 2008-04-22
WO2005066820A1 (en) 2005-07-21
DE602004010428D1 (de) 2008-01-10
CN100507890C (zh) 2009-07-01

Similar Documents

Publication Publication Date Title
DE602004010428T2 (de) Zwischengeschaltete einrichtung mit der fähigkeit zur kommunikation unter verwendung verschiedener kommunikationsprotokolle
DE602004010303T2 (de) Mehrere schnittstellen in einem speichergehäuse
DE102004053801B4 (de) Dynamische Rekonfiguration von PCI-Expresslinks
DE102007012054B4 (de) Mehrmasterverkettungszweidrahtseriellbus
DE60113780T2 (de) Verfahren und Vorrichtung zum Verfolgen von Hardwarezustanden mit dynamischen rekonfigurierbaren Testschaltungen
DE102009036631B4 (de) Vorrichtung, Verfahren und System zum Überwachen eines internen Links über einen zweiten Link
DE112007000443B4 (de) Vorrichtung mit einer gemeinsamen Schnittstelle fiir mehrere Prozessorkerne und Verfahren zur Steuerung der Kommunikation derselben mit einer damit gekoppelten Verbindung
EP1784738B1 (de) Steckerplatine zum einsatz in einem einschubrahmen für peripheriegeräte
DE112006001643T5 (de) Verfahren und Vorrichtung zum Aushandeln von Punkt-zu-Punkt-Verbindungen
DE102016116721A1 (de) Reduzieren der Ethernet-Latenz in einem Multi-Server Chassis
DE10214700A1 (de) Kombinierter ATA/SATA-Controller
DE112009000147T5 (de) Mobilgerät, das eine UART- und USB-Kommunikation unter Verwendung desselben Steckers gestattet, und Verfahren zum Betreiben desselben
DE112019001911T5 (de) Usb-typ-c-seitenbandsignalschnittstellenschaltung
CN106598639B (zh) 一种逻辑芯片的升级方法以及升级系统
DE112013003766T5 (de) Schnelles Entzerren beim Verlassen eines Niedrigenergie-Teilbreite-Hochgeschwindigkeitsverbindungszustands
DE102015010900A1 (de) Serieller Hochgeschwindigkeitsring
DE112011101039T5 (de) Implementieren einer verbesserten Verbindungsbandbreite in einem Headless-Verbindungschip
DE102016206170B4 (de) Serielle draht-debug-brücke
DE112019002138T5 (de) Automatische usb-host-erkennung und port-konfiguration
DE19808988A1 (de) Durch Software rekonfigurierbares Target-Eingabe/Ausgabesystem eines Schaltungsemulationssystems
DE102018005759A1 (de) Verbinden von beschleunigerressourcen unter verwendung einesswitches
DE69935625T2 (de) DUPLEX-fertige SCSI Rückwand eines Rechnersystems
DE112018008085B4 (de) Kommunikationssystem, Listenverbreitungsstation, Kommunikationsverfahren und Kommunikationsprogramm
DE69724649T2 (de) Dynamisch erweiterbares speicherplattenanordnungssystem und verfahren
DE4239153C2 (de) Systemstatushalte- und -unterstützungsvorrichtung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition