-
Hintergrund
-
Die vorliegende Erfindung betrifft das Fachgebiet der Rechnerhardware, im Einzelnen integrierte Schaltungen im Rahmen der Rechnerhardware. Noch konkreter betrifft die vorliegende Erfindung die Umwandlung elektronischer E/A-Signale (Input/Output – Ein-/Ausgang) aus einer integrierten Schaltung in optische E/A-Signale)
-
Eine integrierte Schaltung ist eine elektronische Schaltung, die durch eine Kombination aus Lithografie, Bespritzen, usw. entsteht, um die elektronische Schaltung zu bilden. Diese elektronische Schaltung kann Widerstände, Transistoren, Dioden und weitere elektronische Komponenten enthalten, die gemeinsam Funktionen einer oder mehrerer Arten ausführen. Eine Art spezialisierter integrierter Schaltung ist ein Mikroprozessor, der die Funktion der Recheneinheit (CPU) eines Rechners auf einer einzigen integrierten Schaltung dadurch ausführt, dass er eine Kombination aus E/A-Verbindungen, Recheneinheiten, Speicher, usw. auf einem einzigen Chip enthält. Eine andere Art spezialisierter integrierter Schaltung ist ein FPGA (Field Programmable Gate Array), bei dem es sich um eine Halbleitervorrichtung, die nach der Herstellung programmierbar ist, um eine eigens konfigurierte Schaltung zu ergeben.
-
Zusammenfassung
-
Gemäß einer Ausführungsform umfasst ein System einen zwischen einer integrierten Schaltung und einer Systemplatine beziehungsweise einem Systemplanar positionierten Interposer. Ein elektrisch-optischer Sendeempfänger ist mit dem Interposer gekoppelt, wobei der elektrisch-optischer Sendeempfänger elektrische Signale in optische Signale umwandelt. Der Interposer umfasst einen ersten Satz elektrischer Leiter, die mit elektrischen Nicht-E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt sind, und wobei der erste Satz elektrischer Verbindungselemente durch den Interposer verläuft, um die elektrischen Nicht-E/A-Verbinder an der integrierten Schaltung mit der Systemplatine direkt zu verbinden. Der Interposer umfasst ferner einen zweiten Satz elektrischer Leiter, die mit elektrischen E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt sind, wobei der zweite Satz elektrischer Verbindungselemente durch den Interposer zum elektrisch-optischen Sendeempfänger verläuft, um die elektrischen E/A-Signale von der integrierten Schaltung in optische E/A-Signale umzuwandeln.
-
Gemäß einer Ausführungsform ist eine Hardwarebeschreibungssprachen(HDL)-Designstruktur auf einem maschinenlesbaren Datenträger codiert. Die HDL-Designstruktur umfasst Elemente, die eine maschinell ausführbare Darstellung eines Systems erzeugen, wenn sie in einem rechnergestützten Designsystem verarbeitet werden. Das System umfasst einen zwischen einer integrierten Schaltung und einer Systemplatine positionierten Interposer. Ein elektrisch-optischer Sendeempfänger ist mit dem Interposer gekoppelt, wobei der elektrisch-optischer Sendeempfänger elektrische Signale in optische Signale umwandelt. Der Interposer umfasst einen ersten Satz elektrischer Leiter, die mit elektrischen Nicht-E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt sind, und wobei der erste Satz elektrischer Verbindungselemente durch den Interposer verläuft, um die elektrischen Nicht-E/A-Verbinder an der integrierten Schaltung mit der Systemplatine direkt zu verbinden. Der Interposer umfasst ferner einen zweiten Satz elektrischer Leiter, die mit elektrischen E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt sind, wobei der zweite Satz elektrischer Verbindungselemente durch den Interposer zum elektrisch-optischen Sendeempfänger verläuft, um die elektrischen E/A-Signale von der integrierten Schaltung in optische E/A-Signale umzuwandeln.
-
Gemäß einer Ausführungsform umfasst ein System einen Serverschrank, ein im Serverschrank montiertes Serverblade, wobei das Serverblade eine integrierte Schaltung und eine Systemplatine umfasst; einen zwischen einer integrierten Schaltung und einer Systemplatine positionierten Interposer, einen mit dem Interposer gekoppelten elektrisch-optischen Sendeempfänger, wobei der elektrisch-optische Sendeempfänger elektrische Signale in optische Signale umwandelt, einen ersten Satz elektrischer Leiter im Interposer, wobei der erste Satz elektrischer Leiter mit elektrischen Nicht-E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt ist, und wobei der erste Satz elektrischer Leiter durch den Interposer verläuft, um die elektrischen Nicht-E/A-Verbinder an der integrierten Schaltung mit der Systemplatine direkt zu verbinden, einen zweiten Satz elektrischer Leiter im Interposer, wobei der zweite Satz elektrischer Leiter mit elektrischen E/A-Verbindungselementen an der integrierten Schaltung elektrisch gekoppelt ist, und wobei der zweiter Satz elektrischer Leiter durch den Interposer hindurch zum elektrisch-optischen Sendeempfänger verläuft, um elektrische E/A-Signale von der integrierten Schaltung in optische E/A-Signale umzuwandeln, einen kunststoffoptischen Wellenleiter, der mit einem Ausgang des elektrisch-optischen Sendeempfängers gekoppelt ist, und einen an einer Backplane beziehungsweise Rückplatte des Serverschranks montierten optischen Empfänger, wobei die optischen E/A-Signale durch den kunststoffoptischen Wellenleiter hindurch zu einem optischen Empfänger verlaufen.
-
Die vorgenannten, sowie weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung sind der nachfolgenden näheren schriftlichen Erläuterung zu entnehmen.
-
Kurzbeschreibung der Figuren
-
Die Erfindung selbst, sowie eine bevorzugte Ausführungsform, weitere Gegenstände und Vorteiledavon sind am besten unter Bezugnahme auf die nachfolgende ausführliche Beschreibung eines Ausführungsbeispiels in Verbindung mit den beigefügten Zeichnungen zu verstehen. Es zeigen:
-
1 ein Beispiel eines physikalischen Rechners, in dem die vorliegende Erfindung ausgeführt und/oder eingesetzt werden kann;
-
2 einen neuen Interposer gemäß einer Ausführungsform der vorliegenden Erfindung;
-
3 weitere Details des Interposers der 2 und
-
4 ein Flussdiagramm eines bei Auslegung und Herstellung von Halbleitern und/oder bei der Prüfung des erfindungsgemäßen Systems der beispielhaften 2–3 verwendeten Auslegungsprozesses.
-
Ausführliche Beschreibung
-
In der 1 wird ein Blockdiagramm eines beispielhaften Rechners 100 dargestellt, mit bzw. in dem die vorliegende Erfindung einsetzbar ist. Der Rechner 100 enthält eine Recheneinheit 104, die mit einem Systembus 106 gekoppelt ist. Eine Graphikkarte 108, die eine Anzeige 110 antreibt/unterstützt, ist ebenfalls mit einem Systembus 106 gekoppelt. Der Systembus 106 ist über eine Busbrücke 112 mit einem E/A-Bus 114 gekoppelt. Eine E/A-Schnittstelle 116 ist mit dem E/A-Bus 114 gekoppelt. Die E/A-Schnittstelle 116 ermöglicht Kommunikationen mit verschiedenen E/A-Geräten, insbesondere einer Tastatur 118, eine Maus 120, einem CD-ROM-Laufwerk 112, und einem Flash-Speicherlaufwerk 126. Das Format der mit der E/A-Schnittstelle 116 verbundenen Schnittstellen kann ein beliebiges, dem Fachmann auf dem Gebiet der Rechnerarchitektur bekanntes Format, insbesondere USB-Schnittstellen, sein.
-
Der Rechner 100 kann über ein Netzwerk 128 mithilfe einer mit dem Systembus 106 verbundenen Netzwerkschnittstelle 130 mit einem Server 150 kommunizieren. Beim Netzwerk 128 kann es sich um ein externes Netzwerk, zum Beispiel das Internet, oder ein internes Netzwerk, zum Beispiel Ethernet oder VPN (Virtual Private Network), handeln. Der Server 150 kann architektonisch der dargestellten Konfiguration des Rechners 100 entsprechen.
-
Eine Festplattenschnittstelle 132 ist ebenfalls mit dem Systembus 106 gekoppelt. Die Festplattenschnittstelle 132 mit einer Festplatte 134 verbunden. Gemäß einer Ausführungsform pflegt die Festplatte 134 einen Systemspeicher 136 ein, der ebenfalls mit dem Systembus 106 gekoppelt ist. Der Systemspeicher 162 wird als unterste Stufe des flüchtigen Speichers im Rechner 100 definiert. Dieser flüchtige Speicher kann weitere (nicht dargestellte) flüchtige Speicherstufen, insbesondere Cache, Registerdatenbanken und Puffer, enthalten. Ein Code, der den Systemspeicher 136 eingepflegt, enthält ein Betriebssystem (OS) 138 und Anwendungen 114.
-
Das OS 138 umfasst eine Oberfläche 140, um Benutzern einen transparenten Zugriff auf Ressourcen wie zum Beispiel Anwendungen 144 zu gewähren. Generell ist die Oberfläche 140 (wie sie UNIX® bezeichnet wird – UNIX ist eine eingetragene Marke von The Open Group in den USA und anderen Ländern), in Windows® (WINDOWS ist eine eingetragene Marke der Microsoft Corporation in den USA und anderen Ländern) auch Kommandoprozessor genannt, ein Programm, das einen Interpreter und eine Schnittstelle zwischen Benutzer und Betriebssystem bereitstellt; dies ist generell die oberste Stufe der Software-Hierarchie des OS und fungiert als Interpreter von Befehlen. Also gibt die Oberfläche 140 eine Eingabeaufforderung, interpretiert die über die Tastatur 118, Maus 120 oder sonstiges Eingabegerät eingegebenen Befehle und sendet die interpretierten Befehle an die entsprechenden unteren Stufen des Betriebssystems (zum Beispiel Kernel 142) zur Verarbeitung. Wie gezeigt, enthält das OS 138 auch den Kernel 142, der untere Funktionalitätsstufen des OS 138 enthält. Der Kernel 142 stellt die von anderen Teilen des OS 138 und von den Anwendungen 144 benötigten essentiellen Dienste bereit. Die vom Kernel 142 bereitgestellten Dienste sind insbesondere Speicherverwaltung, Prozess- und Taskverwaltung, Laufwerkverwaltung und E/A-Geräteverwaltung.
-
Zu den Anwendungen 144 gehört ein Browser 146. Der Browser 146 enthält Programmmodule und Befehle, die es einem WWW-Client (zum Beispiel Rechner 100) ermöglichen, Netzwerknachrichten an das Internet zu senden und zu empfangen. Der Rechner 100 kann zur Kommunikation mit dem Server 150 das HTTP-Protokoll verwenden. Die Anwendungen 144 im Systemspeicher 136 enthalten auch eine ICFL (Interposer Control and Fabrication Logic) 148, die gemäß einer Ausführungsform einige oder alle in den 2–3 dargestellten Systeme steuert und/oder erstellt. Hierbei ist anzumerken, dass gemäß einer Ausführungsform der Rechner 100 auch das System 200 und/oder 300 der 2–3 ganz oder teilweise enthält. Ferner ist anzumerken, dass gemäß einer Ausführungsform der Rechner 100 die ICFL 148 vom Server 150 des Dienstanbieters, vorzugsweise auf Abruf, herunterladen kann.
-
Die im Rechner 100 dargestellten Hardwareelemente sind nicht als abschließende Aufzählung zu verstehen, sondern als veranschaulichende Darstellung der erfindungsgemäß benötigten essentiellen Komponenten. Bspw. kann der Rechner 100 alternative Speichergeräte wie zum Beispiel Magnetkassetten, DVDs, Bernoulli Cartridges und dergleichen enthalten. Diese und weitere Varianten sind dem Schutzumfang der vorliegenden Erfindung zuzurechnen. Hierbei ist anzumerken, dass die Hardware-Architektur des Servers 150 der des Rechners 100 im Wesentlichen ähnlich sein kann.
-
Die 2 zeigt ein beispielhaftes System 200, das einen neuen Interposer zur selektiven Umwandlung elektrischer E/A-Signale in optische Signale enthält. Das System 200 enthält eine Wärmesenke 202, die an einer integrierten Schaltung 204 thermisch anliegt. Diese integrierte Schaltung 204, bei der es sich um einen Mikroprozessor, FPGA oder eine integrierte Schaltung einer anderen Art handeln kann, wird von einem mit einer Systemplatine 208 verbundenen Lastmodul 206 abgestützt und/oder ist daran montiert. Die Systemplatine 208, auch Leiterplatte (PCB) genannt, stellt eine mechanische Abstützung und elektrische Verbindungselemente für die daran montierten elektronischen Komponenten (zum Beispiel Prozessoren, Multiplexer, Widerstände, Dioden, Endstufen, Speichermodule, usw.) bereit. Diese Verbindungen ergeben sich aus einer Kombination aus gedruckter Verkabelung und damit verbundenen Verbindungspunkten.
-
Eine Oberfläche (zum Beispiel die Unterseite) der integrierten Schaltung (IC) 204 weist einen Array elektrischer Verbindungspunkte auf, die zur Veranschaulichung als Nicht-E/A-Verbindungselemente 210 der IC und E/A-Verbindungselemente 218 der IC dargestellt werden. Die Nicht-E/A-Verbinder 210 sind elektrisch mit einem ersten Satz elektrischer Leiter 212 in einem Interposer 214 gekoppelt. Dieser erste Satz elektrischer Leiter 212 verbindet die IC-Nicht-E/A-Verbindungselemente 210 elektrisch direkt zwischen der IC 204 und den Nicht-E/A-Verbindungselementen 216 der Systemplatine an der Systemplatine 208. Hierbei ist anzumerken, dass der erste Satz elektrischer Leiter 212 ununterbrochen durch den Interposer 214 hindurch verläuft, um Nicht-E/A-Stifte in der IC 204 mit der Systemplatine 208 zu verbinden. Die Nicht-E/A-Verbindungselemente 210 (d.h. Nicht-E/A-Stifte) der IC tragen Strom, Taktsignale, Speicherzugriffe, usw. Wie an der Bezeichnung zu erkennen ist, ist ein Nicht-E/A-Signal alles, was kein E/A-Signal ist. Nicht-E/A-Signale sind die Signale, die keine E/A-Signale sind; hierzu gehören die Stromzufuhr des Rechners 100 der 1, interne Taktsignale für Recheneinheit 104, Systembus 106, interne Speicherkommunikationen (zum Beispiel zwischen Recheneinheit 104 und Systemspeicher 136) usw. Das heißt, dass Nicht-E/A-Signale Signale im Rechner 100 sowie die Stromzufuhr des Rechners 100 sind.
-
Die von der IC 204 aussehenden E/A-Verbindungselemente 218 der IC tragen E/A-Signale zu und von der IC 204. E/A-Signale sind hierbei als Kommunikation zwischen einem Rechner (zum Beispiel dem Rechner 100 der 1) und einem externen Gerät/Ressource zu verstehen. Beispielsweise können E/A-Signale zwischen dem Rechner 100 und einer Anzeige 110, einem Eingabegerät wie zum Beispiel Tastatur 118 oder Maus 120, einem externen Speichergerät wie zum Beispiel CD-ROM-Laufwerk 122 oder Flash-Speicherlaufwerk 126 gesendet werden, wie in der 1 gezeigt. E/A-Signale können auch diejenigen Signale sein, die zwischen einem Netzwerk 128 (auch in der 1 gezeigt) gesendet werden, und somit für eine beliebige Ressource bestimmt sind, die mit dem Netzwerk 128 gekoppelt ist.
-
Also werden in der 2 die E/A-Signale 204 von einem zweiten Satz elektrischer Leiter 220 bearbeitet, die innerhalb des Interposers 214 liegen, und die mit den E/A-Verbindungselementen 218 an der IC 204 elektrisch gekoppelt sind. Dieser zweite Satz elektrischer Verbindungselemente 220 ist ausschließlich für E/A-Signale im obigen Sinne bestimmt. Wie in der 2 gezeigt, überquert der zweite Satz elektrischer Leiter 220 den Interposer 214 über einen dem Interposer nachgeschalteten elektrischen Leiter 222 hin zu einem elektrisch-optischen Sendeempfänger 224. Hierbei ist anzumerken, dass die durch den elektrischen Leiter 222 verlaufenden E/A-signale sich weiterhin in demselben elektronischen Zustand befinden (d.h. sie werden von Elektronen getragen), wie es beim Ein-/Ausgehen von der IC 204 der Fall ist. Wenn diese elektronischen E/A-Signale durch einen elektrisch-optischen Sendeempfänger 224 laufen, werden sie jedoch in optische Signale zur weiteren Übertragung über einen kunststoffoptischen Wellenleiter 232 (zum Beispiel LWL) umgewandelt (d.h. sie werden nun von Photonen getragen). Hierbei ist anzumerken, dass der elektrisch-optische Sendeempfänger 224 von einer Halterung 226 einer starr-flexiblen Folie abgestützt wird und thermisch über ein thermisches Schnittstellenmaterial 230 (zum Beispiel Wärmeleitpaste) mit der Wärmesenke 202 gekoppelt ist.
-
Gemäß einer Ausführungsform sind Interposer 214, elektrisch-optischer Sendeempfänger 224, erster Satz elektrischer Leiter 212, zweiter Satz elektrischer Leiter 220 und kunststoffoptischer Wellenleiter 224 alle in eine einzige starr-flexible Folie integriert sind, die eine Folie auf Polycarbonatbasis ist, die von der Folienhalterung 226 und einer starr-flexiblen Folienhalterung 228 abgestützt wird, wie gezeigt.
-
Gemäß einer Ausführungsform ist der Interposer 214 elektrisch über einen (nicht dargestellten) LGA (Land Grid Array) elektrischer Verbindungselemente mit der IC 204 gekoppelt. Also ist die von den Verbindungselementen 210 und 218 beschriebene Menge an Verbindungselementen rein beispielhaft und nicht als Einschränkung der Anzahl Verbindungselemente zwischen IC 204 und Interposer 214 aufzufassen.
-
Hierbei ist anzumerken, dass, wie vorliegend beschrieben, gemäß einer Ausführungsform die optischen E/A-Signale die Systemplatine 208 umgehen. Also ist es nicht erforderlich, die Systemplatine 208 derart zu modifizieren, dass es optische Signale bearbeiten kann, da diese Funktion von der starr-flexiblen Folie übernommen wird (die den vorliegend beschriebenen elektrisch-optischen Sendeempfänger 224 enthält). Vielmehr ergeben sich aus dieser starr-flexiblen Folie die Komponenten und Logik, die zur selektiven Bearbeitung von E/A- und Nicht-E/A-Signale an und von der IC 204 über verschiedene Wege benötigt werden. Das heißt, dass gemäß dieser Ausführungsform die E/A-Signale an und von der IC 204 die Systemplatine 208 niemals erreichen und von einer Logik im Interposer 214 bearbeitet werden, während die Nicht-E/A-Signale an/von der IC 204 direkt an die Systemplatine 208 gesendet werden und eine etwaige Logik im Interposer 214 umgehen.
-
In der 3 werden weitere Einzelheiten des Interposers 214 der 2 sowie weiterer Systemkomponenten in einem System 300 dargestellt. Wie in der 2 beschrieben, verbindet der erste Satz elektrischer Leiter 212, die Nicht-E/A-Signale tragen, die Nicht-E/A-Stifte der IC 204 direkt mit Nicht-E/A-Verbindungselementen 216 in der Systemplatine 208. Der zweite Satz elektrischer Verbindungselemente 220 trägt jedoch E/A-Signale (zu und von den E/A-Stiften an der IC 204) zum elektrisch-optischen Sendeempfänger 224. Der elektrisch-optische Sendeempfänger 224 enthält einen elektrisch-optischen Wandler 302, der elektronische Signale in optische Signale, und optische Signale wieder in elektronische Signale umwandelt. Die elektronischen Signale können durch Senden der elektronischen Signale an eine Lichtquelle (zum Beispiel eine nicht dargestellte Hochleistungs-Leuchtdiode) in optische Signale umgewandelt werden. Die optischen Signale können durch Belichten eines (nicht dargestellten) Fotorezeptors, der Lichtblitze als binäre und/oder analoge Informationssignale "liest", mit den optischen Signalen. Hierbei ist anzumerken, dass diese Arten elektrisch-optischer Wandler rein beispielhaft und nicht als Einschränkung des Schutzumfangs der vorliegenden Erfindung aufzufassen sind.
-
Sind elektronische Signale einmal vom elektrisch-optischen Wandler in optische Signale umgewandelt worden, können diese Signale gemäß einer Ausführungsform durch einen optischen Farbmischer/Splitter 304 zu einem kunststoffoptischen beziehungsweise polyoptischen (engl. poly-optical) Signal "vermischt" werden. Mit anderen Worten werden die vom elektrisch-optischen Wandler 302 ausgehenden unterschiedlichen optischen Signalwellenlängen zur Übertragung auf einen optischen Empfänger 310 über einen nach außen gerichteten kunststoffoptischen Wellenleiter 306 zu einem kunststoffoptischen Signal vermischt. Eingehende optische Signale vom optischen Empfänger 310, die über einen nach innen gerichteten kunststoffoptischen Wellenleiter 308 an den optischen Farbmischer/Splitter 304 gesendet werden, vom optischen Farbmischer/Splitter 304 aufgeteilt. Diese geteilten optischen Signale werden dann dem elektrisch-optischen Wandler 302 zugeführt, wo sie in gesonderte elektronische Signale zur Übertragung auf die IC 204 über den zweiten Satz elektronischer E/A-Leiter 220 umgewandelt werden. Gemäß einer alternativen Ausführungsform sind der nach außen gerichtete kunststoffoptische Wellenleiter 306 und der nach innen gerichtete kunststoffoptische Wellenleiter 308 zu einem einzigen Wellenleiter (nicht dargestellt) kombiniert. Bei dieser alternativen Ausführungsform enthält der optische Farbmischer/Splitter 304 eine Logik zur Ermittlung, ob die optischen Signale ein- oder ausgehen, und bearbeitet (d.h. sendet) diese entsprechend.
-
Hierbei ist anzumerken, dass gemäß einer Ausführungsform die IC 204 und weitere in der 3 dargestellte Komponente Teile eines Serverblades 316 sind, das in einem (nicht dargestellten) Serverschrank montiert ist. Dieses Serverblade 316 wird als System definiert, das einen Prozessor, Systemspeicher, lokale Cache und E/A-Schnittstelle umfasst. Gemäß einer Ausführungsform befinden sich Massenspeicher, Stromversorgung und sonstige mit einem herkömmlichen Rechner/Server assoziierte Komponenten nicht an dem Serverblade sondern an weiteren in- oder außerhalb des Blade-Chassis befindlichen Blades oder Komponenten angeordnet. Eine Komponente des Blade-Chassis ist eine Backplane 312, die eine Reihe von Verbindungselementen enthält, die mit den im Blade-Chassis enthaltenen Serverblades zusammenpassen. In dieser Ausführungsform sind IC 204, Interposer 214, elektrisch-optischer Sendeempfänger 224 und Systemplatine 208 alle Teil des Serverblades 316, die an einem Gestell im Serverschrank montiert ist. Gemäß dieser Ausführungsform ist der auf der Backplane 312 des Serverschranks montierte optische Empfänger 310 über den nach außen 306 und/oder nach innen gerichteten kunststoffoptischen Wellenleiter 308 elektrisch mit dem elektrisch-optischen Sendeempfänger 224 gekoppelt.
-
Gemäß einer Ausführungsform sind die einzigen elektrischen E/A-Signale, die in optische E/A-Signale umgewandelt werden, diejenigen, die für das Serverblade 316 fern liegende (d.h. daran nicht montierte) Komponenten bestimmt sind. Aus Gründen der Skalierbarkeit und Geschwindigkeit werden also nur elektrische E/A-Signale, die für einen dezentralen Prozessor, Speicher, E/A-Gerät, usw. an einem anderen System (d.h. nicht Teil des Serverblades 316) bestimmt sind, in optische E/A-Signale umgewandelt. Gemäß dieser Ausführungsform werden also elektrische E/A-Signale an andere Komponenten (insbesondere Speicher, Coprozessoren, usw.), die auch an der Systemplatine 208 mit der IC 204 montiert sind, direkt an die Systemplatine 208 mit direkten Verbindungsmitteln derselben Art wie bei dem für Nicht-E/A-Signale verwendeten ersten Satz elektrischer Leiter 212 gesendet.
-
Gemäß einer Ausführungsform werden nur die elektrischen E/A-Signale, die für von vornherein als "Hochgeschwindigkeitsgeräte" gekennzeichnete Geräte (zum Beispiel Prozessoren, Speicher, usw.) auf anderen Systemen zum Beispiel (Blades, Cloud, usw.) bestimmt sind, mit dem erfindungsgemäßen System und Verfahren in optische E/A-Signale zur Übertragung auf den optischen Empfänger 310 umgewandelt. Die elektrischen E/A-Signale, die für von vornherein als "Niedergeschwindigkeitsgeräte" gekennzeichnet worden sind (zum Beispiel Tastatur, Maus, usw.), sowohl in dem Serverblade 316 als auch auf einem dezentralen System, bestimmt sind, bleiben jedoch elektrisch und werden direkt an die Systemplatine 208 gesendet.
-
Gemäß einer Ausführungsform handelt es sich bei den von vornherein gekennzeichneten Hochgeschwindigkeitsgeräten um dezentrale Geräte, die Teile eines Cloud-Computing-Systems sind. Ein Cloud-System verwendet eine Kombination aus Hard- und Software, die über ein Netz wie zum Beispiel das Internet als Dienstleistung bereitgestellt wird. Mit anderen Worten werden physisch unterschiedliche Hard- und Software kombiniert, um über ein Netzwerk bessere und schnellere Dienste erbringen zu können. Gemäß einer Ausführungsform erhöhen Komponenten des Cloud-Systems mithilfe des erfindungsgemäßen Systems die Bandbreite und Datenübertragungsgeschwindigkeit.
-
Gemäß einer Ausführungsform enthält der Serverschrank mehrere Serverblades. Gemäß dieser Ausführungsform handelt es sich bei den von vornherein gekennzeichneten Hochgeschwindigkeitsgeräten um dezentrale Geräte, die Teile eines anderen Serverblades als derjenigen, die die erfindungsgemäße IC 204 enthält. Elektrische E/A-Signale aus der IC 204, die an von vornherein als "Hochgeschwindigkeitsgeräte" gekennzeichnete Geräte auf einem anderen Serverblade in demselben Serverschrank gerichtet sind, mit dem erfindungsgemäßen System und Verfahren in optische E/A-Signale zur Übertragung auf den optischen Empfänger 310 umgewandelt.
-
Wie oben beschrieben, sind die unterschiedlichen Wege für die ersten (Nicht-E/A-) und zweiten (E/A-) elektrischen Leiter im Interposer 214 innerhalb des Interposers 214 festverdrahtet. Gemäß einer alternativen Ausführungsform trennt beziehungsweise segregiert ein elektrischer Leitungsmultiplexer 314 im Interposer 214 den ersten Satz elektrischer Leiter 212 vom zweiten Satz elektrischer Leiter 220 im Interposer. Mit anderen Worten werden alle mit der IC 204 verbundenen elektrischen Leiter dem elektrischen Leitungsmultiplexer 314 zugeführt, der dann ermittelt, welche Leitungen für Nicht-E/A-Signale und welche für E/A-Signale bestimmt sind. Diese Ermittlung kann durch Ablesen des Signals und Ermitteln des Typs erfolgen. Beispielsweise weist ein Leistungssignal ein Signal auf, das sich von dem eines E/A-Signals stark unterscheidet. Dieser Unterschied wird vom elektrischen Leitungsmultiplexer 314 erkannt, der das Signal dann entweder an die Systemplatine 208 (sofern es ein Nicht-E/A-Signal ist) oder den elektrisch-optischen Sendeempfänger 224 (sofern es ein E/A-Signal ist) sendet.
-
In der 4 wird ein Blockdiagramm eines beispielhaften Entwurfsablaufs 400 dargestellt, der zum Beispiel bei Auslegung, Simulation, Prüfung und Herstellung der IC-Logik von Halbleitern eingesetzt wird. Der Entwurfsablauf 400 enthält Prozesse, Maschinen und/oder Mechanismen zur Verarbeitung von Entwurfsstrukturen oder -geräten, um logisch oder in einem sonstigen Sinne funktionell gleichwertige Darstellung der oben beschriebenen und in den 2–3 gezeigten Entwurfsstrukturen und/oder -geräte zu erzeugen. Die vom Entwurfsablauf 400 verarbeiteten und/oder erzeugten Entwurfsstrukturen können auf maschinenlesbaren Übertragungsmedien oder Datenträgern codiert werden, damit sie Daten und/oder Befehle enthalten, die bei ihrer Ausführung oder sonstigen Verarbeitung auf einem Datenverarbeitungssystem eine logisch, strukturell, mechanisch oder in einem sonstigen Sinne funktionell gleichwertige Darstellung von Hardwarekomponenten, Schaltungen, Geräten oder Systemen erzeugen. Maschinen sind insbesondere eine beliebige in einem IC-Auslegungsprozess, zum Beispiel Auslegen, Herstellen oder Simulieren einer Schaltung, eines Geräts oder eines Systems, eingesetzte Maschine. Beispiele von Maschinen sind insbesondere: Lithogrfiegeräte, Maschinen und/oder Ausrüstungen zur Erzeugung von Masken (zum Beispiel Elektronenlithografiegeräte), Rechner oder Ausrüstungen zur Simulation von Auslegungsstrukturen, ein beliebiges bei der Herstellung oder Prüfung eingesetztes Gerät, oder ein beliebiges Gerät zur Programmierung funktionell gleichwertiger Darstellungen der Entwurfsstrukturen in einem beliebigen Medium (zum Beispiel Gerät zur Programmierung eines PGA (Programmable Gate Array)).
-
Der Entwurfsablauf 400 kann je nach der auszulegenden Darstellungsart variieren. Beispielsweise kann sich ein Entwurfsablauf 400 zur Herstellung einer ASIC von einem Entwurfsablauf 400 zur Auslegung einer Standardkomponente oder von einem Entwurfsablauf zur Instanziierung des Designs in einem programmierbaren Array, zum Beispiel einem PGA oder FPGA der Altera® Inc. oder Xilinx® Inc unterscheiden.
-
Die 4 zeigt mehrere Auslegungsstrukturen dieser Art, insbesondere eine Eingabe-Auslegungsstruktur 420, die vorzugsweise von einem Auslegungsprozess 410 verarbeitet wird. Bei der Auslegungsstruktur 420 kann es sich um eine Auslegungsstruktur einer logischen Simulation handeln, die vom Auslegungsprozess 410 erzeugt und verarbeitet wird, um eine logisch gleichwertige funktionelle Darstellung eines Hardwaregeräts zu erstellen. Die Auslegungsstruktur 420 kann außerdem oder alternativ Daten und/oder Programmbefehle umfassen, die bei der Verarbeitung durch einen Auslegungsprozess 410 eine funktionelle Darstellung der physikalischen Struktur eines Hardwaregeräts erstellen. Ohne Rücksicht darauf, ob funktionelle und/oder strukturelle Designmerkmale dargestellt werden, kann die Auslegungsstruktur 420 mithilfe von ECAD (Electronic Computer-Aided Design) erstellt werden, wie sie zum Beispiel von einem Kernentwickler/-designer ausgeführt wird. Wird sie auf einem maschinenlesbaren Datenübertragungsmedium, Gate-Array oder Datenträger codiert, kann durch ein oder mehrere Hardware- und/oder Softwaremodule im Auslegungsprozess 410 auf die Auslegungsstruktur 420 zugegriffen werden oder diese verarbeitet werden, um eine elektronische Komponente, Schaltung oder ein elektronisches oder Logikmodul, -gerät oder -system zu simulieren oder auf eine sonstige Weise funktionell darzustellen, wie sie in den 2–3 gezeigt werden. So kann die Auslegungsstruktur 420 Dateien oder sonstige Datenstrukturen, insbesondere visuell und/oder maschinenlesbaren Quellcode, kompilierte Strukturen und von einem Rechner ausführbare Codestrukturen umfassen, die bei der Verarbeitung durch ein Datenverarbeitungssystem zur Auslegung oder Simulation Schaltungen oder sonstige Designstufen von Hardware-Logik funktionell simulieren oder auf eine sonstige Weise darstellen. Derartige Datenstrukturen können Hardwarebeschreibungssprachen(HDL)-Designeinheiten (Hardware Description Language) oder sonstige Datenstrukturen enthalten, die hardwarenahen HDL-Designsprachen wie zum Beispiel Verilog und VHDL und/oder höheren Designsprachen wie zum Beispiel C oder C++ entsprechen und/oder damit kompatibel sind.
-
Der Auslegungsprozess 410 verwendet und integriert vorzugsweise Hardware- und/oder Softwaremodule zur Synthese, Übersetzung oder sonstigen Verarbeitung eines konstruierten/simulierten funktionellen Äquivalents der Komponenten, Schaltungen, Geräten oder Logikstrukturen der 2–3 zur Erstellung einer Netzliste 480, die Auslegungsstrukturen wie zum Beispiel die Auslegungsstruktur 420 enthalten können. Die Netzliste 480 kann zum Beispiel kompilierte oder auf eine sonstige Weise verarbeitete Datenstrukturen umfassen, die eine Liste von Drähten, diskreten Komponenten, Logik-Gates, Regelkreisen, E/A-Geräten, Modellen, usw. darstellt, die die Verbindungen mit anderen Elementen und Schaltungen in einem IC-Design beschreibt. Die Netzliste 480 kann mit einem iterativen Prozess synthetisiert werden, in dem die Netzliste 480 je nach Auslegungsvorgaben und -parametern des Geräts einmal oder mehrfach neu synthetisiert wird. Wie bei anderen vorliegend beschriebenen Arten von Auslegungsstrukturen kann die Netzliste 480 auf einem maschinenlesbaren Datenträger aufgezeichnet oder in einen PGA programmiert werden. Beim Datenträger kann es sich um einen nicht flüchtigen Datenträger wie zum Beispiel ein optisches oder Magnetlaufwerk, einen PGA, Compact Flash oder sonstigen Flash-Speicher handeln. Zusätzlich oder alternativ kann es sich beim Datenträger um einen Systemspeicher oder eine Cache, Puffer, oder elektrisch oder optisch leitfähige Geräte und Materialien handeln, auf denen Datenpakete übertragen und sofort über das Internet oder sonstige geeignete Netzwerkmittel gespeichert werden können.
-
Der Auslegungsprozess 410 kann Hardware- und Softwaremodule zur Verarbeitung verschiedener Arten von Eingabedatenstrukturen, insbesondere der Netzliste 480, enthalten. Derartige Arten von Datenstrukturen können zum Beispiel in Bibliothekselementen 430 vorliegen und eine Reihe häufig verwendeter Elemente, Schaltungen und Geräte, insbesondere Modelle, Layouts und symbolische Darstellungen einer bestimmten Fertigungstechnologie (zum Beispiel Knoten unterschiedlicher Technologie, 32 nm, 45 nm, 50 nm, usw.) enthalten. Die Arten von Datenstrukturen können ferner Auslegungsvorgaben 440, Charakterisierungsdaten 450, Prüfdaten 460, Auslegungsregeln 470 und Prüfdatendateien 485 enthalten, die Eingabeprüfmuster, Ausgabeprüfmuster und sonstige Prüfdaten enthalten können. Der Auslegungsprozess 410 kann ferner zum Beispiel standardisierte mechanische Auslegungsprozesse wie zum Beispiel Spannungsanalyse, Thermoanalyse, mechanische Ereignissimulation, Prozesssimulation für Vorgänge wie Gießen, Formen, Matrizenpressen, usw. enthalten. Für den Fachmann ist die Vielfalt an mechanischen Auslegungswerkzeugen und Anwendungen erkennbar, die im Auslegungsprozess 410 Verwendung finden können, ohne den Schutzumfang der Erfindung zu verlassen. Der Auslegungsprozess 410 kann ferner Module zur Ausführung von Standardprozessen der Schaltungskonstruktion, zum Beispiel Timing-Analyse, Prüfung, Überprüfung von Auslegungsregeln, Positions- und Streckenvorgänge, usw. enthalten.
-
Der Auslegungsprozess 410 verwendet und integriert logische und physische Auslegungswerkzeuge wie zum Beispiel HDL-Compiler und Werkzeuge zur Erstellung von Simulationsmodellen, um die Auslegungsstruktur 420 zusammen mit einigen oder allen der dargestellten unterstützenden Datenstrukturen sowie (ggf.) etwaigen weiteren mechanischen Designs oder Daten zu verarbeiten, um eine zweite Auslegungsstruktur 490 zu erstellen. Die Auslegungsstruktur 490 liegt auf einem Datenträger oder PGA in einem Datenformat vor, das zum Austausch der Daten mechanischer Geräte und Strukturen verwendet wird (zum Beispiel in IGES-, DXF-, Parasolid XT-, JT-, DRG-Format oder einem sonstigen zur Speicherung und Darstellung mechanischer Auslegungsstrukturen dieser Art geeigneten Format). Wie bei der Auslegungsstruktur 420 umfasst die Auslegungsstruktur 490 vorzugsweise eine oder mehrere Dateien, Datenstrukturen oder sonstige rechnercodierte Daten oder Befehle, die auf Übertragungsmedien oder Datenträgern vorliegen, und die bei der Verarbeitung durch ein ECAD-System eine logisch oder in einem sonstigen Sinne funktionell gleichwertige Form einer oder mehrerer der in den 2–3 dargestellten Ausführungsformen der Erfindung erzeugen. Gemäß einer Ausführungsform kann die Auslegungsstruktur 490 ein kompiliertes, ausführbares HDL-Simulationsmodell umfassen, das die Geräte der 2–3 funktionell simuliert.
-
Die Auslegungsstruktur 490 kann ebenfalls ein Datenformat verwenden, das zum Austausch der Daten integrierter Schaltungen verwendet wird und/oder ein symbolisches Datenformat verwenden (zum Beispiel in GDSII (GDS2), GL1, Kartendateien oder einem sonstigen zur Speicherung und Darstellung mechanischer Auslegungsstrukturen dieser Art geeigneten Format). Die Auslegungsstruktur 490 kann Daten wie zum Beispiel symbolische Daten, Kartendateien, Prüfdatendateien, Designinhaltsdateien, Herstellungsdaten, Auslegungsparameter, Drähte, Metallstufen, Durchkontaktierungen, Formen, Daten zur Leitung durch die Fertigungsstraße oder sonstige Daten umfassen, die von einem Hersteller oder sonstigen Designer/Entwickler benötigt werden, um ein oben beschriebenes Gerät oder eine oben beschriebene Struktur herzustellen, die in den 2–3 dargestellt wird. Die Auslegungsstruktur 490 kann dann zum Schritt 495 weitergehen, wo zum Beispiel die Auslegungsstruktur 490 zum Tape-Out weitergeht, zur Herstellung freigegeben wird, an ein Maskenhaus vorgegeben wird, an eine andere Auslegungsfirma weitergeleitet wird, zu Kunden zurückgeschickt wird, usw.
-
Hierbei ist anzumerken, dass Fluss- und Blockdiagramme der Zeichnungen Architektur, Funktionalität und Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukte gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung darstellen. In dieser Hinsicht kann jeder Block im Fluss- oder Blockdiagramm ein Modul, Segment oder einen Teil des Codes darstellen, die einen oder mehrere ausführbare Befehle zur Ausführung der vorgegebenen logischen Funktion(en) umfasst. Ferner ist anzumerken, dass gemäß einigen alternativen Ausführungsformen die im Block erwähnten Funktionen in einer anderen als der in den Zeichnungen beschriebenen Reihenfolge erfolgen können. Beispielsweise können zwei aufeinander folgend dargestellte Blöcke in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder aber die Blöcke können je nach Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Außerdem ist anzumerken, dass jeder Block der Block- und/oder Flussdiagramme und die Blockkombinationen der Block- und/oder Flussdiagramme von besonderen Hardwaresystemen ausgeführt werden können, die die angegebenen Funktionen oder Handlungen ausführen, oder auch von Kombinationen aus spezifischer Hardware und Computerbefehlen ausgeführt werden können.
-
Ebenfalls versteht sich, dass die vorliegend verwendeten Begriffe lediglich der Beschreibung einzelner Ausführungsformen dienen und nicht als Einschränkung gelten sollen. Im vorliegenden Sinne umfassen Singularformen wie "ein(e)" und "der/die/das" auch die Mehrzahl, sofern sich aus dem Zusammenhang nicht eindeutig etwas anderes ergibt. Ferner versteht sich, dass unter den verschiedenen grammatischen Formen von "umfassen" im vorliegenden Sinne zu verstehen ist, dass die angegebenen Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente und/oder Komponente vorhanden sind, das Vorhandensein oder der Zusatz eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Vorgänge, Elemente, Komponenten oder Gruppen davon jedoch nicht ausgeschlossen ist.
-
Die entsprechenden Strukturen, Materialien, Handlungen und Äquivalenten aller Mittel und Schritt-Funktion-Elemente in den nachfolgenden Patentansprüchen sollen beliebige Strukturen, Materialien oder Handlungen zur Ausführung der Funktion in Kombination mit anderen beanspruchten Elementen mit einschließen, wie sie ausdrücklich beansprucht werden. Die Beschreibung der vorliegenden Erfindung ist rein veranschaulichend, soll aber nicht abschließend sein bzw. die Erfindung auf die offenbarte Form beschränken. Zahlreiche Modifikationen und Varianten der Erfindung können vom Fachmann ohne Abweichung vom Schutzumfang der Erfindung ausgeführt werden. Die Ausführungsform wurde ausgewählt und beschrieben, um die Prinzipien der Erfindung und der praktischen Anwendung am besten erläutern zu können, und anderen Fachleuten ein Verständnis der Erfindung für verschiedene Ausführungsformen und Modifikationen vermitteln, die sich für den beabsichtigten Einsatz eignen.
-
Aufgrund der vorstehenden ausführlichen Beschreibung der anmeldungsgegenständlichen Erfindung unter Bezugnahme auf bevorzugte Ausführungsformen davon versteht sich, dass Modifikationen und Abwandlungen möglich sind, ohne den in den beigefügten Patentansprüchen definierten Schutzumfang der Erfindung zu verlassen.