[go: up one dir, main page]

DE112006001345T5 - Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse - Google Patents

Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse Download PDF

Info

Publication number
DE112006001345T5
DE112006001345T5 DE112006001345T DE112006001345T DE112006001345T5 DE 112006001345 T5 DE112006001345 T5 DE 112006001345T5 DE 112006001345 T DE112006001345 T DE 112006001345T DE 112006001345 T DE112006001345 T DE 112006001345T DE 112006001345 T5 DE112006001345 T5 DE 112006001345T5
Authority
DE
Germany
Prior art keywords
node
tasks
logic
nodes
task
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.)
Ceased
Application number
DE112006001345T
Other languages
English (en)
Inventor
Nai-Chih Shrewsbury Chang
Victor Marlboro Lau
Pak-lung Shrewsbury Seto
William Lancaster Halleck
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 DE112006001345T5 publication Critical patent/DE112006001345T5/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)

Abstract

Ein Verfahren mit:
– Vergleichen einer Konnektionsadresse eines ersten Knotens mit einer Konnektionsadresse eines zweiten Knotens;
– Bestimmen, ob die Konnektionsadresse des ersten Knotens mit der Konnektionsadresse des zweiten Knotens übereinstimmt; und
– Zuweisen von Aufgaben zu dem ersten und dem zweiten Knoten basierend wenigstens teilweise auf dieser Bestimmung.

Description

  • HINTERGRUND
  • Gebiet
  • Ausführungsbeispiele der Erfindung beziehen sich auf das Gebiet von Rechnersystemarchitektur. Insbesondere betreffen Ausführungsbeispiele der Erfindung das Gebiet der Aufgabenzuweisung in einer Rechnersystemarchitektur.
  • Hintergrundinformation
  • Verschiedene Speichersysteme und Architekturen sind dem Fachmann bekannt. Beispielsweise können bestimmte große Serial Attached SCSI (SAS) Speichersysteme Hunderte von Speichersystemen aufweisen, die über Expander derselben SAS-Domgin zugehörig sind.
  • Serial Advanced Technology Attachment (SATA) übertragen Multiplier und dergleichen. SAS ist, beispielsweise, in dem Dokument Serial Attached SCSI specification 1.0, veröffentlicht November 2003, als auch in zugehörigen Dokumenten beschrieben. SATA ist, beispielsweise in dem Dokument "Serial ATA: High Speed Serialized AT Attachment", Revision 1.0a, veröffentlicht am 07. Januar 2003, als auch in zugehörigen Dokumenten beschrieben.
  • Die Aufgabenzuweisung wird typischerweise in solchen Speichersystemen ausgeführt, um Aufgaben den zugehörigen Speichereinheiten zuzuweisen. In Abhängigkeit zum Teil von der bestimmten Architektur weisen repräsentative Aufgaben, die zugewiesen werden können, Befehle, Frames, Daten, Primitives und dergleichen, auf.
  • Insbesondere in großen Speichernetzwerken kann ein solches Aufgabenzuweisen erheblich die Gesamteigenschaft berühren. Das effektive Zuweisen von kann es erlauben, in dem Speichersystem auszutauschende Daten in einer effizienten Weise auszutauschen, während ein Zuweisen von Aufgaben in einer ineffizienten Weise zu unnötigen Ineffizienzen führt, beispielsweise einem unnötigen Schließen und erneuten Öffnen von Verbindungen zu den zugehörigen Speichereinheiten, was die gesamte Datenaustauschleistungsfähigkeit reduzieren kann. Ein effizientes Zuweisen von Aufgaben zu Speichersystemen, insbesondere großen Speichersystemen, ist eine bleibende Herausforderung.
  • KURZE ERLÄUTERUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
  • Die Erfindung kann am besten verstanden werden unter Bezugnahme auf die nachfolgende Beschreibung und die beiliegenden Zeichnungen, die zum Wiedergeben von Ausführungsbeispielen der Erfindung verwendet werden. In den Zeichnungen ist bzw. zeigt:
  • 1 ein Blockdiagramm, das eine Rechnersystemarchitektur zeigt, mit einem Aufgabenzuweiser, der zum Zuweisen von Aufgaben für Knoten mit denselben oder unterschiedlichen Verbindungsadressen nach einem oder mehreren Ausführungsbeispielen der Erfindung verwendet werden kann.
  • 2 ein Flußdiagramm eines Verfahrens zum Zuweisen von Aufgaben zu Knoten nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 3 ein Blockdiagramm eines Aufgabenzuweisers nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 4 eine konzeptionelle Darstellung einer Aufgabenzuweisungsdatenstruktur nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 5A eine Aufgabenzuweisungsdatenstruktur nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 5B eine Knotenelementinformation für eine Aufgabenzuweisungsdatenstruktur nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 5C eine Aufgabeelementinformation für eine Aufgabenzuweisungsdatenstruktur nach einem oder mehreren Ausführungsbeispielen der Erfindung.
  • 6 ein Blockdiagramm einer ersten SAS-basierten Rechnersystemarchitektur, bei dem ein oder mehrere Ausführungsbeispiele der Erfindung implementiert werden können.
  • 7 ein Flußdiagramm einer zweiten SAS-basierten Rechnersystemarchitektur, bei dem ein oder mehrere Ausführungsbeispiele der Erfindung implementiert werden können.
  • 8 ein Blockdiagramm einer Faserkanalsystemarchitektur, bei dem ein oder mehrere Ausführungsbeispiele der Erfindung implementiert werden können.
  • 9 ist ein Blockdiagramm einer Computersystemarchitektur, bei dem ein oder mehrere Ausführungsbeispiele der Erfindung implementiert werden können.
  • EINGEHENDE BESCHREIBUNG
  • In der nachfolgenden Beschreibung sind verschiedene, besondere Einzelheiten dargestellt. Es versteht sich jedoch, dass Ausführungsbeispiele der Erfindung ohne diese besonderen Einzelheiten verwirklicht werden können. In anderen Beispielen werden allgemein bekannte Schaltungen, Strukturen und Techniken nicht in allen Einzelheiten gezeigt, um das Verständnis dieser Beschreibung nicht zu beeinträchtigen.
  • 1 ist ein Blockdiagramm, das eine Rechnersystemarchitektur 100 nach einem oder mehreren Ausführungsbeispielen der Erfindung zeigt. Die dargestellte Rechnersystemarchitektur weist einen Aufgabenzuweiser 105, einen ersten Knoten (A), der über eine erste Verbindungsadresse 110 zugänglich ist, einen zweiten Knoten (B1) und einen dritten Knoten (B2), die beide über eine zweite Verbindungsadresse 115 zugänglich sein können, und einen vierten Knoten (C), der über eine dritte Verbindungsadresse 120 zugänglich sein kann, auf.
  • Der erste Knoten kann gekoppelt sein mit oder anders in Verbindung sein mit dem Aufgabenzuweiser über einen ersten Kommunikationsweg zu der oder über die erste Verbindungsadresse. Der zweite Knoten (B1) und der dritte Knoten (B2) können jeweils gekoppelt sein mit oder anders in Verbindung sein mit dem Aufgabenzuweiser über einen zweiten Kommunikationsweg zu oder über die zweite Verbindungsadresse. Der vierte Knoten (C) kann gekoppelt sein mit oder anders in Verbindung sein mit dem Aufgabenzuweiser über einen dritten Kommunikationsweg zu oder über die dritte Verbindungsadresse.
  • Der Aufgabenzuweiser kann Aufgaben den Knoten zuweisen. Typischerweise kann der Aufgabenzuweiser durch die verschiedenen Knoten in einer Reihenfolge oder Abfolge wechseln, die durch einen Algorithmus vorgegeben wird, obwohl der Schutzbereich der Erfindung nicht diesbezüglich eingeschränkt ist. Repräsentative Algorithmen, die möglicherweise von dem Aufgabenzuweiser verwendet werden können, weisen, ohne darauf beschränkt zu sein, einen Ring, einen verdichteten Ring, eine feste Priorität oder andere, dem Fachmann bekannte, Algorithmen auf. Der Schutz der Erfindung ist nicht auf bestimmte Algorithmen beschränkt.
  • Da einige Knoten wie, beispielsweise, Knoten B1 und B2 diesselbe Konnektionsadresse teilen können, wird die Reihenfolge, in der die Knoten während des Zuweisen der Aufgabe durchlaufen werden, die Leistungsfähigkeit erheblich betreffen. Wenn, beispielsweise, Knoten, die eine gemeinsame Konnektionsadresse haben, mit einem Knoten mit einer unterschiedlichen Konnektionsadresse verschachtelt werden, kann sich ein unnötiges Öffnen und Schließen der Verbindungen zu den Knoten ergeben. So, beispielsweise, bei einem Durchlaufen der Knoten in der Reihenfolge B1, dann C und sodann B2. Es ist zu beachten, dass diese durchlaufenen Knoten B1 und B2, die die gemeinsame Verbindungsadresse haben, mit dem Knoten C verschachtelt werden, der eine unterschiedliche Konnektionsadresse hat. Eine solche Situation kann zu einem unnötigen Schließen der Verbindung der Konnektionsadresse der Knoten B1 nach den Zuweisen der Aufgaben zu B1 führen und einem unnötigen erneuten Öffnen der Verbindung zu der Verbindungsadresse B2 (die dieselbe ist, wie die Verbindungsadresse des Knotens B1) nachdem das Zuweisen der Aufgaben für C und vor dem Zuweisen der Aufgaben zu B2. Ein derartiges unnötiges Schließen und Öffnen der Konvektionen kann zu einem unnötigen Konnektionsaufwand führen und kann die Leistungsfähigkeit beeinträchtigen.
  • Ein derartiges unnötiges Öffnen und Schließen der Verbindungen wird nicht benötigt und kann bei verschiedenen Ausführungsbeispielen der vorliegenden Erfindung vermieden oder wenigstens reduziert werden. Bei einem oder mehreren Ausführungsbeispielen der Erfindung können Aufgaben Knoten zugewiesen werden, die während einer einzigen gemeinsamen Verbindung zu der Konnektionsadresse dieselben oder übereinstimmende Konnektionsadressen, haben. In einem oder mehreren nicht notwendigerweise unterschiedlichen Ausführungsbeispielen der Erfindung können die Aufgaben zu Knoten mit derselben Konnektionsadresse nacheinander zugewiesen werden, nicht also verschachtelt mit Aufgaben, die einem oder mehreren Knoten mit einer oder mehreren unterschiedlichen Konnektionsadressen zugewiesen werden.
  • 2 ist ein Flußdiagramm eines Verfahrens 225 zum Zuweisen von Aufgaben zu Knoten entsprechend einem oder mehreren Ausführungsbeispielen in der Erfindung. Das Verfahren kann implementiert werden durch eine Logik mit Hardware, Software oder einer Kombination aus Hardware und Software.
  • Anfänglich kann der Aufgabenzuweiser eine Verbindungsadresse eines ersten Knotens mit Verbindungsadressen eines oder mehrerer zusätzlicher Knoten in dem Block 226 vergleichen. Der Begriff "Konnektionsadresse", wie er hier verwendet wird, wird allgemein verwendet unter Bezug auf eine Information, die eine Adresse oder einen anderen Punkt, an dem ein Knoten zugänglich sein kann. Ein besonderes Beispiel einer geeigneten Konnektionsadresse ist eine SAS-Adresse. Andere Beispiele von geeigneten Konnektionsadressen werden weiter unten offenbart.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser den Vergleich während eines Setups oder einem Initialisierungsvorgangs vor dem Zuweisen von Aufgaben zu dem Knoten ausführen. Zusätzlich oder alternativ kann bei einem oder mehreren Ausführungsbeispielen der Erfindung der Aufgabenzuweiser die Vergleichslaufzeit ausführen. Wenn, beispielsweise, der Aufgabenzuweiser schon gegenwärtig die Aufgaben für einen oder mehrere "existierende" Knoten plant, die schon in einer aktiven Knotenliste dargestellt sind, die für den Aufgabenzuweiser zugänglich sind, kann der Aufgabenzuweiser eine Angabe erhalten, dass ein "neuer" Knoten zur Verfügung steht oder anders neu verfügbar ist zum Empfangen von Aufgaben. Der Aufgabenzuweiser kann die Verbindungsadresse des neuen Knotens empfangen und kann die Verbindungsadresse des neuen Knotens mit den Verbindungsadressen von existierenden Knoten vergleichen, um zu bestimmen, ob oder ob nicht eine passende Konnektionsadresse vorhanden ist.
  • Nachfolgend kann möglicherweise eine Bestimmung erfolgen, basierend wenigstens teilweise auf den Vergleich, dass die Verbindungsadresse des ersten oder neuen Knotens mit einer Konnektionsadresse eines zweiten Knotens eines oder mehrerer zusätzlicher oder existierender Knoten übereinstimmt, und zwar in dem Block 227. Beispielsweise kann bei einem oder mehreren Ausführungsbeispielen der Erfindung der Aufgabenzuweiser bestimmen, dass der neue Knoten und einer oder mehrere der existierenden Knoten dieselbe SAS-Adresse haben. Bei einem besonderen Ausführungsbeispiel kann der Aufgabemanager bestimmen, dass der neue Knoten eine SATA-Einheit ist, die mit demselben SATA-Port-Multiplier als eine existierende SATA-Einheit verbunden ist.
  • Sodann können Aufgaben für wenigstens die ersten und die zweiten Knoten in dem Block 228 zugewiesen werden, basierend auf, teilweise, der Bestimmung. Bei einem oder mehreren Ausführungsbeispielen der Erfindung können die Aufgaben für die ersten und die zweiten Knoten, die dieselbe Konnektionsadresse haben, zugewiesen werden, während einer einzigen gemeinsamen Verbindung zu der übereinstimmenden Konnektionsadresse. Bei einem oder mehreren nicht notwendigerweise unterschiedlichen Ausführungsbeispielen der Erfindung können die Aufgaben für die ersten und die zweiten Knoten nacheinander zugewiesen werden, nicht also unter Verschränkung der Zuweisung der Aufgaben zu dem ersten und dem zweiten Knoten mit Aufgaben, die zu einem Knoten mit einer unterschiedlichen Konnektionsadresse zugewiesen sind.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser eine Aufgabeplandatenstruktur aufrecht erhalten, die er zum Zuweisen von Aufgaben verwenden kann. Bei solchen Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser die Aufgabeplandatenstruktur modifizieren, basierend auf, wenigstens teilweise, einem Vergleich der Konnektionsadressen, wie oben beschrieben.
  • 3 ist ein Blockdiagramm eines Aufgabenzuweisers 305 nach einem oder mehreren Ausführungsbeispielen der Erfindung. Weiter sind eine Firmwareschnittstelle 330, eine Transportschicht 342 und eine Linkschicht 344 in gestrichelten Linien gezeigt, um anzugeben, wie diese möglicherweise mit dem Aufgabenzuweiser zusammenwirken, sie bilden jedoch keinen Teil der vorliegenden Erfindung.
  • Der Aufgabenzuweiser ist logisch oder kommunikativ zwischen der Firmwareschnittstelle und den Transport- oder Linkschichten angeordnet. Der dargestellte Aufgabenzuweiser weist einen Anforderungsprozessor 332, eine Aufgabenzuweisungs- und Verwaltungslogik 336, einen Aufgabenspeicher 334 und eine Knotenzuweisungs- und Verwaltungslogik 338 und einen Knotenspeicher 340 auf.
  • Der Anforderungsprozessor ist gekoppelt oder anders in Kommunikation mit der Firmwareschnittstelle oder individuell gekoppelt oder anders in Kommunikation mit sowohl der Aufgabenzuweisungs- und Managementlogik und der Knotenzuweisungs- und Verwaltungslogik. Die Aufgabenzuweisungs- und Verwaltungslogik ist gekoppelt oder anders in Kommunikation mit dem Aufgabenspeicher. Die Knotenzuweisungs- und Managementlogik ist gekoppelt oder anders in Kommunikation mit, dem Knotenspeicher.
  • Der Anforderungsprozessor kann Knotenanforderungen und Aufgabeanforderungen empfangen, wie, beispielsweise, von einer Firmwareschnittstelle. Repräsentativ kann die Firmwareschnittstelle eine Schnittstelle mit einem Operationssystem und Anwendungen über eine Befehlsschicht bilden.
  • Zunächst werden Knotenanforderungen diskutiert, und sodann werden weiter unten Aufgabeanforderungen diskutiert. Der Anforderungsprozessor kann die Knotenanforderungen für die Knotenzuweisungs- und Verwaltungslogik kommunizieren oder anders beschaffen.
  • Die Knotenzuweisungs- und Managementlogik kann die Knotenanforderungen empfangen. Die Knotenanforderungen können Anforderungen beinhalten zum Zufügen neuer Knoten, wie, beispielsweise, wenn ein Knoten neu aktiviert ist, zum Empfangen von Aufgaben oder zum Entfernen von vorhandenen Knoten, beispielsweise wenn ein Knoten neu inaktiviert ist.
  • In Übereinstimmung mit einem oder mehreren Ausführungsbeispielen der Erfindung kann die Knotenzuweisungs- und Verwaltungslogik in Antwort auf eine Anfrage zum Hinzufügen eines neuen Knotens eine Logik aufweisen zum Vergleichen einer Konnektionsadresse des neuen Knotens, der der Anforderung zugehörig ist, mit den Konnektionsadressen eines oder mehrerer zusätzlicher oder existierender Knoten und zum Bestimmen, dass die Konnektionsadresse des neuen Knotens mit einer Konnektionsadresse wenigstens eines Knotens des einen zusätzlichen oder vorhandenen Knotens übereinstimmt.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Knotenspeicher einen oder mehrere Knotendatenstrukturen 341 speichern, wie, beispielsweise, die x-Listen und y-Listen, die weiter unten diskutiert werden. Die eine oder die mehreren Knotendatenstrukturen können den einen oder die mehreren existierenden oder zusätzlichen Knoten repräsentieren. Die Knotenzuweisungs- und Verwaltungslogik kann auf den einen oder den mehreren Knotendatenstrukturen zugreifen, um die Konnektionsadresse des neuen Knotens mit einer oder mehrerer Konnektionsadressen des einen oder der mehreren vorhandenen oder zusätzlichen Knoten zu vergleichen.
  • Die Knotenzuweisungs- und Verwaltungslogik kann so den neuen Knoten in der einen oder den mehreren Knotendatenstrukturen repräsentieren, basierend auf, wenigstens zum Teil, der Bestimmung, dass die Konnektionsadresse des neuen Knotens mit der Konnektionsadresse des vorhandenen Knotens übereinstimmt. Es wird unten erläutert, dass bei einem oder mehreren Ausführungsbeispielen der Erfindung der neue Knoten mit einem oder mehreren vorhandenen Knoten gruppiert werden kann, der diesselbe Konnektionsadresse hat.
  • Die Knotenzuweisungs- und Verwaltungslogik kann eine Logik beinhalten zum Kommunizieren und zum Kooperieren mit der Aufgabenzuweisungs- und Verwaltungslogik zum Zuweisen einer Aufgabe zu den Knoten, basierend auf einem oder mehreren Knotendatenstrukturen.
  • Zusätzlich kann die Knotenzuweisungs- und Verwaltungslogik eine Logik einschließen zum Kommunizieren mit der Linkschicht zur Anforderung von Konvektionen zu den Knoten.
  • Als nächstes werden die Aufgabeanforderungen diskutiert. Der Anforderungsprozessor kann mit der Zuweisungs- und Verwaltungslogik kommunizieren oder anders Aufgabeanforderungen an diese stellen. Die Aufgabeplanungs- und Verwaltungslogik kann die Aufgabeanforderungen empfangen. Die Aufgabeanforderungen können Anforderungen zum Hinzufügen neuer Aufgaben einschließen wie, beispielsweise, wann die nächste Aufgabe auszugeben ist und alte Aufgaben entfernen wie, beispielweise, eine alten Aufgabe, die als abgeschlossen berichtet ist.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenspeicher einen oder mehrere Aufgabedatenstrukturen 335 speichern wie, beispielsweise, die y-Liste, die weiter unten diskutiert werden wird. Die eine oder die mehreren Datenstrukturen können Aufgabenlisten repräsentieren einschließlich einer oder mehrerer Aufgaben für jeden der Knoten der einen oder den mehreren Knotendatenstrukturen, die oben beschrieben sind.
  • Die Aufgabenzuweisungs- und Verwaltungslogik kann auf die eine oder die mehreren Aufgabendatenstrukturen zugreifen und kann Aufgaben hinzufügen oder entfernen, die mit der Aufgabenanforderung konsistent sind. Die Aufgabenzuweisungs- und Verwaltungslogik kann weiter kommunizieren in Zusammenarbeit mit der Knotenzuweisungs- und Verwaltungslogik zum Zuweisen von Aufgabe für die Knoten, die von der Knotenzuweisungs- und Verwaltungslogik ausgewählt sind. Die Aufgabenzuweisungs- und Verwaltungslogik kann eine Logik einschließen zum Kommunizieren mit der Transportschicht zur Anforderung einer Aufgabeausführung.
  • 4 zeigt konzeptionell eine Aufgabenzuweisungsdatenstruktur, die der Aufgabenzuweiser verwenden kann zum Zuweisen von Aufgaben zu Knoten entsprechend eines oder mehrerer Ausführungsbeispiele der Erfindung. Die Aufgabenzuweisungsdatenstruktur kann, wie gezeigt, Knoten und Aufgabelisten für die Knoten anordnen und arrangieren. Insbesondere kann die Aufgabenzuweisungsdatenstruktur die Knoten sowohl in einer x-Liste als auch in einer z-Liste ordnen und arrangieren und kann eine Aufgabeliste von Aufgaben für jeden der Knoten in einer y-Liste ordnen. Oft kann die Datenstruktur Zeiger beinhalten, um die Knoten und Aufgaben zu ordnen und zu arrangieren.
  • Die x-Liste kann eine geordnete Liste beinhalten wie, beispielsweise, eine zirkulargelinkte Liste von Knoten, die unterschiedliche Konnektionsadressen haben. Beispielsweise weist in dem dargestellten Ausführungsbeispiel die x-Liste Knoten A, B1 und C auf, die jeweils an einer unterschiedlichen Position in der x-Liste sind, die miteinander verbunden sind und die von links nach rechts angeordnet sind.
  • Die z-Liste kann eine geordnete Liste oder Gruppe von Knoten sein wie, beispielsweise, eine zirkulargelinkte Liste von Knoten, die dieselbe Konnektionsadresse haben und die jeweils dieselbe Konnektionsadresse als einem entsprechenden Knoten mit derselben Position auf der x-Liste haben. In dem dargestellten Ausführungsbeispiel weist z. B. die z-Liste einen Knoten B2 auf, der gelinkt oder anders anders angeordnet ist relativ zu dem Knoten B1, der dieselbe Konnektionsadresse hat. Da der Knoten B2 dieselbe Konnektionsadresse wie der Knoten B1 hat, ist der Knoten B2 an demselben Ort auf der x-Liste angeordnet wie der Knoten B1. Der Knoten B2 ist jedoch an einem unterschiedlichen Ort auf der z-Liste als der Knoten B1 angeordnet. Insbesondere ist der Knoten B2 hinter dem Knoten B1 an demselben Ort der x-Liste vorgesehen, aber an einem unterschiedlichen Ort in der z-Liste.
  • Die y-Liste weist eine geordnete Liste auf, wie, beispielsweise, eine gelinkte Liste von Aufgaben für jeden der Knoten in der x-Liste und der z-Liste. In dem dargestellten Ausführungsbeispiel weist die y-Liste den Aufgabe 0, den Aufgabe 1 und möglicherweise andere Aufgaben auf, jeweils an einer unterschiedlichen Position der y-Liste für den Knoten A. Zusätzliche Aufgabelisten sind für jeden der anderen Knoten in der x-Liste und der z-Liste eingeschlossen.
  • Knoten mit derselben Konnektionsadresse können, wie gezeigt, gruppiert, gelinkt, geordnet, arrangiert, zugewiesen oder anders dargestellt sein in der Datenstruktur in einer anderen Weise als Knoten mit unterschiedlichen Konnektionsadressen. Beispielsweise können, wie gezeigt, Knoten mit unterschiedlichen Konnektionsadressen, wie, beispielsweise A und B1 in einer x-Liste repräsentiert sein, während Knoten derselben Konnektionsadresse, wie, beispielsweise, B1 und B2 in einer z-Liste repräsentiert sein können. Die z-Liste kann orthogonal zu der x-Liste sein.
  • Die Verwendung unterschiedlicher Wege zum Repräsentieren von Knoten mit gemeinsamen und unterschiedlichen Konnektionsadressen kann das Steuern der Reihenfolge, in der die Knoten während der Aufgabeplanung durchlaufen werden, erlauben. Beispielsweise können in einem oder mehreren Ausführungsbeispielen der Erfindung Aufgaben zugewiesen werden für alle Knoten in einer z-Liste, die eine gegebene Position auf der x-Liste hat, vor dem Zuweisen von Aufgaben für einen Knoten mit einer unterschiedlichen Position auf der x-Liste. Das heißt, Aufgaben können zugewiesen werden für alle Knoten innerhalb derselben Konnektionsadresse vor dem Zuweisen von Aufgaben für Knoten in unterschiedlichen Konnektionsadressen. Wenigstens konzeptionell können die Knoten der z-Liste betrachtet werden als in benachbarte Knoten auf der x-Liste eingenistet. Die Aufgaben für die Knoten mit gemeinsamen Konnektionsadressen können optional in derselben Konnektion zu der Konnektionsadresse zugewiesen sein.
  • 5A zeigt ein bestimmtes Ausführungsbeispiel einer Aufgabenzuweisungsdatenstruktur entsprechend einem oder mehreren Ausführungsbeispielen der Erfindung. Die Datenstruktur weist Knotenelemente für die Knoten A, B1, B2 und C auf, wobei nur Knoten B1 und B2 dieselbe Konnektionsadresse und Aufgabeelemente für jeden der Knoten haben.
  • 5B zeigt eine beispielhafte Information für ein Knotenelement entsprechend einem oder mehreren Ausführungsbeispielen der Erfindung. Die Information kann, wie gezeigt, x-Listenzeiger, y-Listenzeiger und z-Listenzeiger und Knotenparameter einschließen. Die x-Listenzeiger können vorangehende und nachfolgende Zeiger aufweisen, die gelinkt sind zum Bilden einer zirkulargelinkten x-Liste, die Knoten mit unterschiedlichen Konnektionsadressen aufweisen kann. Die y-Listenzeiger können Kopf- und Endzeiger zu der Aufgabeliste, die diesem bestimmten Knoten entspricht, aufweisen. Optionale Subdivision in mehrere Listen, wie, beispielsweise, höhere und niedrigere Prioritäten der Aufgaben, können, falls erwünscht, verwendet werden. Die z-Listenzeiger können vorangehende und nachfolgende Zeiger aufweisen, die gelinkt sind zur Bildung einer zirkulargelinkten z-Liste, die Knoten mit derselben Konnektionsadresse aufweisen kann. Beispielhafte Knotenparameter können, ohne darauf begrenzt zu sein, einen entfernten Knotenindex, Konnektionsadresse, Gerätewarteschlangentiefe, Anzahl der ausstehenden Aufgaben, entfernte Knotenanschlussbreite und dgl. aufweisen.
  • 5C zeigt eine beispielhafte Information für ein Aufgabeelement nach einem oder mehreren Ausführungsbeispielen der Erfindung. Die Information kann Aufgabenzeiger und Aufgabenparameter aufweisen, wie gezeigt. Die Aufgabezeiger können vorangehende und nachfolgende Zeiger einschließen, die gelinkt sein können zur Bildung einer zirkulargelinkten y-Liste, die einen Satz von aktiven Aufgaben für einen bestimmten entsprechenden Knoten aufweisen. Beispielhafte Aufgabenparameter können, ohne darauf beschränkt zu sein, den Aufgabentyp, den Aufgabenkontextindex, eine Transportschichtrückgewinnungskontrolle, einen Index für entfernte Knoten, eine Protokollsteuerung, ein Aufgabensteuerungswort, eine Aufgabenauslaufzeit und dgl. beinhalten.
  • 6 ist ein Blockdiagramm einer ersten SAS-basierenden Computersystemarchitektur 600, bei dem eines oder mehrere Ausführungsbeispiele der Erfindung implementiert sein können. Die dargestellte Architektur weist einen SAS Initiator 650, einen SAS Expander 655, eine erste SAS Einheit (A), eine zweite SAS Einheit (B) ein SATA Port Multiplier C, eine erste SATA Einheit (C1) und eine zweite SATA Einheit (C2) auf.
  • Der SAS Expander ist gekoppelt mit oder anders in Kommunikation mit dem SAS Initiator. Die erste und die zweite SAS Einheit sind gekoppelt mit oder anders in Kombination mit dem SAS Expander über eine erste und eine zweite SAS Link oder andere Kommunikationswege. Der SATA Port Multiplier ist gekoppelt mit oder anders in Kommunikation mit dem SAS Expander über ein Link oder einem Kommunikationsweg mit einer STP/SATA Brücke 660 des SAS Expanders. Die erste und die zweite SATA Einheit sind gekoppelt mit oder anders in Kommunikation mit dem SATA Port Multiplier über einen ersten bzw. einen zweite SATA Link. Geeignete SATA Einheiten weisen, ohne darauf begrenzt zu sein, Harddrives, magnetische Harddrives, eine Mehrzahl von Harddrives, Felder von Harddrives, redundante Felder von billigen Diskboxen, CD-ROM Einheiten, Tapedriver, Zipdriver, Superdiskdrives und dgl. auf.
  • Die erste und die zweite SAS Einheit haben unterschiedliche SAS Konnektionsadressen. Im Gegensatz dazu haben die erste und die zweite SATA Einheit dieselben oder übereinstimmende SAS Konnektionsadressen. Das heißt, jede der SATA Einheiten kann zu gegriffen werden durch die Verbindung für die Adresse der STP/SATA Brücke.
  • Bei dem dargestellten Ausführungsbeispiel weist der SATA Initiator einen Aufgabenzuweiser 605 auf. Der Aufgabenzuweiser kann auch oder alternativ in dem SAS Expander oder anderswo in der Architektur vorgesehen sein. Aufgabenzuweiser können auch optional in einer Zieleinheit eingeschlossen sein, beispielsweise einer SAS Einheit und/oder einer SATA Einheit.
  • Der Aufgabenzuweiser kann Aufgaben für die SAS Einheiten und die SATA Einheiten Zuweisen. Repräsentative Aufgaben für eine solche Architektur kann, ohne darauf begrenzt zu sein, neue Befehle, SFER_RDY Frames, Daten, Datensequenzen, Antwortframes, Primitives und ähnliche Signale aufweisen.
  • Entsprechend einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser jede der SAS Einheiten und jede der SATA Einheiten als gesonderten Knoten mit einer gesonderten Aufgabeliste behandeln. Da die SATA Einheiten eine gemeinsame Konnektionsadresse haben, kann die Reihenfolge, in der die SAS Einheiten und die SATA Einheiten während des Aufgabenzuweisens durchlaufen werden, die Leistungsfähigkeit betreffen. Wenn, beispielsweise, der Aufgabenzuweiser der SATA Einheiten mit der Aufgabeplanung eines oder mehrerer der SAS Einheiten verschränkt ist, können sich unnötige Schließungen und erneute Öffnungen der Verbindungen ergeben. In manchen Fällen kann eine oder können mehrere der SATA Einheiten in den SATA Port Multiplier heiß geplugged werden, was zur Förderung eines derartigen Verschränkens führen kann.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser jedoch eine Verbindungsadresse einer SATA Einheit, etwa, beispielsweise, der zweiten SATA Einheit (C2), mit einer Konnektionsadresse einer anderen SATA Einheit, die, beispielsweise, der ersten SATA Einheit (C1) vergleichen, kann bestimmen, dass beide SATA Einheiten dieselbe Konnektionsadresse haben und kann Aufgaben zu der SATA Einheit Zuweisen basierend auf, wenigstens teilweise, der Bestimmung, dass die Konnektionsadressen zusammen passen. Bei einem Aspekt kann der Aufgabenzuweiser Aufgaben für die SATA Einheiten nacheinander Zuweisen, nicht also die Aufgaben mit einer unterschiedlichen Konnektionsadresse verschränken. Nach einem anderen Aspekt kann der Aufgabenzuweiser Aufgaben für die SATA Einheiten innerhalb einer einzigen gemeinsamen Verbindung mit der STP SATA Brücke und/oder dem SATA Port Multiplier zuweisen.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser derartige Operationen während eines initialen Setups ausführen, bevor der Aufgabenzuweiser Aufgaben für die Einheiten zugewiesen hat. Bei einem oder mehreren nicht notwendigerweise unterschiedlichen Ausführungsbeispielen der Erfindung können die Operationen eine Laufzeit ausführen, nachdem der Aufgabenzuweiser bereits Aufgaben für einen oder mehrere existierende Einheiten zugewiesen hat. Als ein Beispiel können die Operationen ausgeführt werden, wenn, in Antwort oder anders danach, eine Einheit, beispielsweise die zweite SATA Einheit, heiß geplugged ist, oder in anderer Weise neu zum Aufnehmen von Aufgaben verfügbar wird.
  • 7 ist ein Blockdiagramm einer zweiten SAS basierten Computersystemarchitektur 700, bei der eines oder mehrere Ausführungsbeispiele der Erfindung implementiert sein können. Die dargestellte Architektur weist einen SAS Initiator 750, einen SAS Expander 755, eine erste SAS Einheit (A), eine zweite SAS Einheit (B) und eine dritte SAS Einheit (C) auf. Die dritte SAS Einheit weist eine erste logische Einheit (C1) und eine zweite logische Einheit (C2) auf.
  • Die erste, die zweite und die dritte SAS Einheit haben unterschiedliche SAS Konnektionsadressen. Die logischen Einheiten (C1, C2) der dritten SAS Einheit haben jedoch dieselbe oder eine zusammenpassende SAS Konnektionsadresse. Das heißt, auf jede der logischen Einheiten kann durch Verbindung mit der SAS Adresse der dritten SAS Einheit zugegriffen werden.
  • Bei dem dargestellten Ausführungsbeispiel weist der SAS Initiator einen Aufgabenzuweiser 705 auf, obwohl, wie vorangehend beschrieben, der Aufgabenzuweiser optional woanders in der Architektur angeordnet sein kann.
  • Nach einem oder mehreren Ausführungsbeispielen der Erfindung kann die erste SAS Einheit und die zweite SAS Einheit behandelt werden als ein separater Knoten mit einer separaten Aufgabeliste und jede logische Einheit (C1, C2) kann als ein separater Knoten mit einer separaten Aufgabeliste behandelt werden.
  • Da die logischen Einheiten eine gemeinsame Konnektionsadresse haben, kann die Reihenfolge, in der die Knoten während des Aufgabenzuweisens durchlaufen werden, die Leistungsfähigkeit betreffen.
  • Wenn, zum Beispiel, das Aufgabenzuweisen der logischen Einheiten verschränkt wird mit dem Aufgabenzuweisen einer oder mehrerer der ersten SAS Einheit und der zweiten SAS Einheit, können sich unnötige Schließungen und erneute Öffnungen von Konvektionen mit der dritten SAS Einheit ergeben. In manchen Fällen wir eine oder werden mehrere der logischen Einheiten neu aktiviert, wie, beispielsweise, durch eine Managementsoftware, die für die dritte SAS Einheit verwendet wird, was dazu führen kann, ein solches Verschränken zu fördern. Das Aktivieren und Inaktivieren der logischen Einheiten kann möglicherweise die Reihenfolge, in der die Knoten während des Aufgabenzuweisens durchlaufen werden, ändern oder variieren.
  • Nach einem oder mehreren Ausführungsbeispielen der Erfindung kann der Aufgabenzuweiser eine Konnektionsadresse einer logischen Einheit vergleichen, wie, beispielsweise, der zweiten logischen Einheit (C2) mit einer Konnektionsadresse mit einer anderen logischen Einheit, wie, beispielsweise, der ersten logischen Einheit (C1), kann bestimmen, dass beide logischen Einheiten dieselbe Konnektionsadresse haben und kann Aufgaben zu den logischen Einheiten Zuweisen basierend wenigstens teilweise auf der Bestimmung, dass die Konnektionsadressen zusammenpassen. Bei einem Aspekt, kann der Aufgabenzuweiser Aufgaben für die logischen Einheiten nacheinander Zuweisen, nicht also die Aufgaben mit einem Aufgabe für eine Einheit verschränken, die eine unterschiedliche Konnektionsadresse hat. Bei einem anderen Aspekt kann der Aufgabenzuweiser Aufgaben für die logischen Einheiten mit einer einzigen gemeinsamen Konvektion zu der dritten SAS Einheit Zuweisen.
  • Der Aufgabenzuweiser kann solche Operationen während des Betriebs oder aber während des initialen Setups oder aber zu beiden Zeitpunkten ausführen. Nach einem Aspekt kann der Aufgabenzuweiser solche Operationen während des Betriebs ausführen, wenn eine logische Einheit neu aktiviert wird oder anders zum Empfangen von Aufgaben neu verfügbar wird.
  • Ein ähnlicher Ansatz zu dem oben Beschriebenen für die logischen Einheiten kann auch geeignet angepasst sein für eine Massenspeicherung.
  • 8 ist ein Blockdiagramm einer Faserkanalcomputersystemarchitektur 800, bei dem eines oder mehrere Ausführungsbeispiele der Erfindung implementiert sein können. Das dargestellte Ausführungsbeispiel weist eine individuelle Schleife 865 und öffentliche Schleifen 870 auf.
  • Die individuelle Schleife weist eine erste Mehrzahl von Einheiten 01, 02 auf. Die öffentlichen Schleifen weise eine Mehrzahl von Schleifen auf mit einer zweiten Mehrzahl von Einheiten 03, 04.
  • Jede Einheit auf der individuellen Schleife kann auf andere Einheiten auf der individuellen Schleife unter direkter Verwendung unterschiedlicher Konnektionsadressen zugreifen. Jede Einheit auf der individuellen Schleife kann jedoch auf alle Einheiten auf den zweiten Schleifen durch eine gemeinsame oder zusammenfassende Verbindung über einen Faserkanalschalter 875 und einen Port 00 zugreifen.
  • Das heißt, für eine gegebene individuelle Schleifeneinheit haben alle öffentlichen Schleifeneinheiten dieselbe oder zusammenpassende Konnektionsadressen über den Faserkanalschalter und über den Port 00. Der Faserkanalschalter und der Port 00 repräsentieren beispielhaft Konnektionsadressen für die Faserkanalarchitektur.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung können einer oder mehrere oder alle der Einheiten auf der privaten Schleife einen Aufgabenzuweiser aufweisen. Jedoch kann der Aufgabenzuweiser auch oder alternativ woanders in der Architektur angeordnet sein.
  • Entsprechend einer oder mehrerer Ausführungsbeispiele der Erfindung kann jede der Einheiten der individuellen Schleife behandelt werden als ein separater Knoten mit einer separaten Aufgabeliste und jede der Einheiten der öffentlichen Schleifen kann behandelt werden als ein separater Knoten mit einer separaten Aufgabeliste.
  • Da die Einheiten der öffentlichen Schleifen alle eine gemeinsame Konnektionsadresse haben, kann die Reihenfolge, in der die Knoten während des Aufgabenzuweisens durchlaufen werden, die Leistungsfähigkeit betreffen. Beispielsweise ist dann, wenn der Aufgabenzuweiser der Einheiten der öffentlichen Schleifen mit der Aufgabeplanung für eine oder mehrere Einheiten der privaten Schleife verschränkt ist, möglich, dass unnötige Schließungen und Öffnungen der Verbindungen zu dem Faserkanalschalter und dem Port 00 sich ergeben.
  • Nach einem oder mehreren Ausführungsbeispielen der Erfindung kann ein Aufgabenzuweiser jedoch eine Verbindungsadresse der Einheit der öffentlichen Schleifen, die, beispielsweise, der Einheit 03, mit einer Verbindungsadresse einer anderen Einheit der öffentlichen Schleife, wie, beispielsweise, der Einheiten 04 vergleichen, kann bestimmen, dass beide Einheiten auf der öffentlichen Schleife dieselbe Konnektionsadresse haben und kann Aufgaben zu den Einheiten auf den öffentlichen Schleifen zuweisen basierend wenigstens teilweise auf dieser Bestimmung, dass die Konnektionsadressen zusammenpassen. In einem Aspekt kann der Aufgabenzuweiser Aufgaben für die Einheiten auf den öffentlichen Schleifen aufeinander folgend zuweisen, nicht also die Aufgaben mit einem Aufgabe für eine Einheit auf der privaten Schleife, die eine unterschiedliche Konnektionsadresse hat, verschachteln. Nach einem anderen Aspekt kann der Aufgabenzuweiser Aufgaben für die Einheiten auf den öffentlichen Schleifen mit einer einzigen gemeinsamen Verbindung zu dem Faserkanalschalter und dem Port 00 zuweisen.
  • Der Aufgabenzuweiser kann solche Operationen während des Betriebs ausführen, während eines initialen Setups oder zu beiden Zeiten. Nach einem Aspekt kann der Aufgabenzuweiser solchen Operationsbetrieb ausführen, wenn die Einheiten auf der individuellen und/oder den öffentlichen Schleifen neu aktiviert wird.
  • Es wurden repräsentative Ausführungsbeispiele der Erfindung für mehrere beispielhafte Architekturen illustriert, obwohl der Schutzbereich der Erfindung nicht auf diese bestimmten Architekturen beschränkt ist. Andere Ausführungsbeispiele ergeben sich dem Fachmann und demjenigen, der die vorliegende Offenbarung versteht.
  • 9 ist ein Blockdiagramm, das eine Rechnerarchitektur 900 zeigt, bei der eines oder mehrere Ausführungsbeispiele der Erfindung implementiert sein können. Die Architektur weist ein Rechnersystem 980, ein Verwenderschnittstellensystem 985, eine Mehrzahl von Speichereinheiten oder anderen Knoten 994 und eine Computersystem/Knotenschnittstelle 987, das es dem Computersystem und dem Knoten erlaubt, zusammenzuwirken, auf.
  • Der Begriff „Computersystem", wie er hier verwendet wird, kann eine Vorrichtung beinhalten, die eine Hardware hat und/oder eine Software zum Verarbeiten von Daten. Das Rechnersystem kann, ohne darauf beschränkt zu sein, ein Portable, ein Laptop, ein Desktop, einen Server oder einen Mainframecomputer aufweisen, um nur einige wenige Beispiele zu nennen. Das Rechnersystem stellt ein mögliches Rechnersystem dar zum Implementieren einer oder mehrerer Ausführungsbeispiele der Erfindung, es können jedoch auch andere Rechnersysteme und Variationen des Rechnersystems verwendet werden.
  • Das Rechnersystem weist einen Prozessor 981 auf zum Verarbeiten von Information. Bei einem oder mehreren Ausführungsbeispielen kann der Computer einen Prozessor in der Pentium® Familie von Prozessoren aufweisen, wie, beispielsweise, einen Pentium® 4 Prozessor. Die Pentium® Familie von Prozessoren sind käuflich erhältlich von der Intel Corporation, Santa Clara, Kalifornien. Alternativ können andere Prozessoren optional verwendet werden. Als ein Beispiel, kann ein Prozessor mit mehreren Rechenkernen verwendet werden. Als anderes Beispiel kann optional ein Prozessor, der hergestellt wird und/oder kommerziell verfügbar ist, von einer anderen Quelle als Intel Corporation, verwendet werden. Weiter kann das Computersystem bei einem oder mehreren Ausführungsbeispielen mehrere Prozessoren aufweisen.
  • Der Prozessor ist über eine Schnittstelle mit einem Chipset 982 gekoppelt. Ein Systemspeicher 983, ein Schnittstellensystem 985 und eine oder mehrere Eingangs/Ausgangs (I/O) Busse oder andere Verbindungen 984 sind zusätzlich gekoppelt mit oder anders in Kombination mit dem Chipset über jeweilige Schnittstellen. Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Chipset einen oder mehrere integrierte Schaltungen oder andere mikroelektronische Einheiten aufweisen, wie, beispielsweise, solche, wie sie käuflich von der Intel Corporation erhältlich sind. Es können jedoch auch, oder alternativ, andere mikroelektronische Einheiten verwendet werden.
  • Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Chipset eine erste Brücke/Hub (nicht gezeigt) aufweisen, wie, zum Beispiel, eine Speichersteuerungs-Brücke/Hub, die von der Intel Corporation verfügbar ist, und eine zweite Brücke/Hub (nicht gezeigt), wie, beispielsweise, eine Eingangs/Ausgangs (I/O) Brücke/Hub, die von der Intel Corporation erhältlich ist.
  • Bei einer oder mehreren anderen Ausführungsbeispielen kann wenigstens ein Abschnitt der Speichersteuerungsbrücke/Hub, wie, zum Beispiel, dem Speichercontroller, in demselben Chip sein wie der Prozessor. Die erste Brücke/Hub kann mit der zweiten Brücke/Hub über eine Hubschnittstelle gekoppelt sein. Der Schutzbereich dieser Erfindung ist jedoch nicht auf derartige Chipsets beschränkt.
  • Der Systemspeicher kann gekoppelt sein mit oder aber in Kommunikation mit der Speichersteuerungs-Brücke/Hub. Bei einem oder mehreren Ausführungsbeispielen der Erfindung kann der Systemspeicher einen Hauptspeicher aufweisen, wie, beispielsweise, einen Speicher mit wahlfreiem Zugriff (RAM) oder einer anderen dynamischen Speichereinheit zum Speichern von Information einschließlich Befehlen, die von dem Prozessor auszuführen sind. Unterschiedliche Arten von RAM Speichern, die bei einigen, nicht aber bei allen Rechnersystemen vorhanden sind, weisen, ohne darauf begrenzt zu sein, ein statisches RAM (SRAM) und ein dynamisches RAM (DRAM) auf. Andere Arten von RAM, die nicht notwendigerweise dynamisch sind und nicht aufgefrischt werden müssen, können auch optional verwendet werden. Zusätzlich kann bei einem oder mehreren Ausführungsbeispielen der Erfindung der Systemspeicher einen Nur-Lese-Speicher (ROM) aufweisen zum Speichern von statischer Information oder Befehlen für den Prozessor, wie, beispielsweise, ein Basic Eingangs/Ausgangs-System (BIOS) unterschiedliche Arten von Speichern sind in einigen, nicht aber in allen Rechnersystemen einschließlich Flashspeicher, programmierbaren ROM (PROM), löschbaren- und programmierbaren ROM (EPROM) und elektrischen programmierbaren ROM (EEPROM) eingeschlossen.
  • Die einen oder mehreren I/O Verbindungen und das Verwenderschnittstellensystem können gekoppelt sein mit oder anders in Kombination sein mit der I/O Brücke/Hub. Geeignete I/O Verbindungen weisen, ohne darauf begrenzt zu sein, Peripheral Component Interconnekt (PCI) Familienbusse, Accelerated Graphics Port (AGP) Busse, Universal Serial Bus (USB) Busse, Low Pin Count (LPC) Busse, andere Arten von I/O Busse und Kombinationen daraus auf. Bei einem besonderen Ausführungsbeispiel der Erfindung können die einen oder die mehreren I/O Verbindungen ein PCL, PCIX (PCI extended), und/oder PCI-Express (PCI-E) Verbindung aufweisen. Der Chipset und die I/O Brücke/Hub kann entsprechend Standard I/O Operationen an einem oder mehreren der I/O Verbindungen unterstützen.
  • Das Verwenderschnittstellensystem kann repräsentative Einheiten aufweisen, wie beispielsweise eine Displayeinheit, eine Tastatur, eine Cursersteuereinheit und Kombinationen daraus, obwohl der Schutzbereich der Erfindung diesbezüglich nicht eingeschränkt ist. Beispielsweise können einige Rechnersysteme, wie etwa Server, optional vereinfachte Verwenderschnittstellensysteme verwenden.
  • Wie in dem dargestellten Ausführungsbeispiel gezeigt, kann das Rechnersystem/Knoten-Schnittstelle 987 mit einem oder mehreren I/O Verbindungen gekoppelt sein, wie, beispielsweise, dem PCI/PCI-X Bus. Die eine oder die mehreren Verbindungen können zum Kommunizieren von Information unter den Komponenten verwendet werden.
  • Das dargestellte Rechnersystem/Knoten-Schnittstelle weist einen Kartenschlitz 988 und eine Karte 991 auf, beispielsweise eine PCI konforme Karte, obwohl der Schutzbereich der Erfindung diesbezüglich nicht eingeschränkt ist. Der Kartenschlitz ist gekoppelt mit oder ansonsten in Kommunikation mit der einen oder den mehreren I/O Verbindungen. Der Schlitz und die Karte können so konstruiert sein, dass es der Karte erlaubt ist, in den Schlitz eingesetzt zu werden und elektrisch mit dem Kartenschlitz gekoppelt zu sein, um es der Karte zu erlauben, gekoppelt zu sein oder anders in Verbindung zu sein mit der einen oder den mehreren I/O Verbindungen. Beispielsweise kann eine Schnittstelle 989 des Kartenschlitzes einen Bus oder einen anderen Verbindungskonnektor 990 aufweisen, der elektrisch oder mechanisch zusammenpasst mit einem Bus oder einem Verbindungskonnektor 993, der in einem Expansionsschlitz oder einer Schnittstelle 992 der Karte eingeschlossen ist. Wenn die Karte richtig in den Schlitz eingesetzt ist, können die zusammenpassenden Konnektoren mechanisch und/oder elektrisch miteinander gekoppelt werden. Wenn die Konnektoren so miteinander gekoppelt sind, kann die Karte elektrisch mit dem einen oder den mehreren I/O Verbindungen elektrisch gekoppelt sein und kann Daten und/oder Befehle mit dem Systemspeicher, dem Hostprozessor und/oder anderen Komponenten des Computersystems austauschen.
  • Die Karte kann eine System/Knoten-Schnittstellenbrückenlogik aufweisen, wie diese typischerweise vorhanden ist in einem Hostbusadapter (HBA) für SAS oder SATA, um es dem Rechnersystem und dem Knoten zu erlauben, miteinander zu kommunizieren und/oder aufeinander zuzugreifen. Bei einer oder mehreren Ausführungsbeispielen der Erfindung kann die Karte weiter einen Aufgabenzuweiser aufweisen, wie er hier offenbart ist.
  • Die Knoten können mit der Speichereinheitschnittstelle gekoppelt sein, beispielsweise der Karte, über gesonderte Kommunikationswege. Einige Kommunikationswege können durch dieselbe Konnektionsadresse verlaufen und andere Kommunikationswege können über unterschiedliche Konnektionsadressen laufen.
  • Das Rechnersystem kann Daten und/oder Befehle mit dem Knoten über die Karte austauschen und verschiedene Kommunikationsprotokolle einschließlich, nicht aber beschränkt auf, diejenigen der SAS, SAS-STP, SATA, können optional verwendet werden.
  • Wie in dem dargestellten Ausführungsbeispiel wiedergegeben, können der Prozessor, der Systemspeicher, der Chipset, eine oder mehrere I/O Verbindungen und der Kartenschlitz optional eingeschlossen sein auf oder ansonsten verbunden sein mit einer einzigen gedruckten Schaltkarte 986, wie, beispielsweise, einer Motherboard oder einer Backplane. Die Motherbord und die Komponenten, die damit verbunden sind, werden häufig von einem Chassis oder einem Primärgehäuse des Rechnersystems aufgenommen. Komponenten des Verwenderschnittstellensystems und die Speichereinheit kann bei einem oder mehreren Ausführungsbeispielen außerhalb des Chassis oder des Primärgehäuses sein. Der Schlitz kann eine Öffnung in dem Chassis oder dem Gehäuse, in das die Karte eingesetzt werden kann, repräsentiert sein.
  • Diese besondere Ausgestaltung ist jedoch nicht erforderlich. Verschiedene alternative Rechnersystemarchitekturausführungen sind auch zu bedenken. Bei verschiedenen alternativen Ausführungsbeispielen der Erfindung kann das Rechnersystem/Knoten-Schnittstelle oder wenigstens deren Aufgabenzuweisungslogik entweder vollständig intern oder extern zu dem Chassis oder Gehäuse des Rechnersystems sein. Beispielsweise kann die Aufgabeplanungslogik auf der Motherboard sein. Als weiteres Beispiel kann bei einem oder mehreren alternativen Ausführungsbeispielen der Erfindung die Aufgabenzuweisungslogik auch oder alternativ in dem Chipset angeordnet sein. Viele zusätzliche Modifikationen sind zu berücksichtigen.
  • In der Beschreibung und den Ansprüchen können die Begriffe „gekoppelt" und „verbunden" gemeinsam mit ihren Ableitungen verwendet werden. Es ist jedoch zu verstehen, dass diese Ausdrücke nicht als Synonyme füreinander intendiert sind. Bei bestimmten Ausführungsbeispielen kann „verbunden" verwendet werden um anzugeben, dass zwei oder mehrere Komponenten in direktem gegenständlichen oder elektrischen Kontakt miteinander sind. „Gekoppelt" kann bedeuten, dass zwei oder mehrere Komponenten in direktem gegenständlichen oder elektrischen Kontakt miteinander sind. „Gekoppelt" kann jedoch auch bedeuten, dass zwei oder mehr Komponenten nicht in direktem Kontakt miteinander sind, jedoch noch miteinander zusammenwirken. Beispielsweise können zwei oder mehr Komponenten miteinander gekoppelt sein über eine oder zwei eingreifende Komponenten. Zusätzlich können ein oder zwei Komponenten in Verbindung miteinander sein, wenn sie Daten oder Information miteinander austauschen, unabhängig davon, ob sie in direktem Kontakt sind oder nicht.
  • In der obigen Beschreibung wurden zum Zwecke der Erläuterung verschiedene bestimmte Einzelheiten dargestellt, um ein volles Verständnis der Ausführungsbeispiele der Erfindung zu ermöglichen. Es versteht sich jedoch für den Fachmann, dass eine oder mehrere andere Ausführungsbeispiele ohne einige dieser bestimmten Einzelheiten verwirklicht werden können. Die besonderen Ausführungsbeispiele sind nicht dazu da, die Erfindung einzuschränken, sondern sie zu erläutern. Der Schutzbereich dieser Erfindung ist nicht durch die bestimmten Ausführungsbeispiele, die oben angegeben sind, bestimmt, sondern nur durch die nachfolgenden Ansprüche. In anderen Beispielen werden allgemein bekannte Schaltungen, Strukturen, Einheiten und Operationen als Blockdiagramm oder ohne Einzelheiten dargestellt, um das Verständnis der Beschreibung nicht zu erschweren.
  • Verschiedene Operationen und Verfahren wurden beschrieben. Einige dieser Methoden wurden in einer grundsätzlichen Form erläutert, die Operationen können optimal hinzu und/oder entfernt werden von den Methoden. Die Operationen dieser Verfahren können auch oft optional in einer unterschiedlichen Reihenfolge durchgeführt werden. Viele Abwandlungen und Anpassungen können bei den Verfahren angewendet werden und sind zu berücksichtigen.
  • Der Begriff „Logik" wie er hier verwendet wird, kann eine Hardware, wie, beispielsweise, Schaltung, Software, Firmware und Kombinationen draus aufweisen. Operationen können durch Hardwarekomponenten ausgeführt werden oder können verwirklicht werden in von einer Maschine ausführbaren Befehlen, die verwendet werden können um eine mit diesen Befehlen programmierte Schaltung zu veranlassen oder zu führen zu einer Ausführung der Operationen. Die Schaltung kann einen Vielzweck- oder Einzweck-Prozessor aufweisen oder eine logische Schaltung, um lediglich wenige Beispiele zu nennen. Die Operationen können optional durch eine Kombination von Hardware und Software ausgeführt werden. Die hier beschriebenen Aufgabenzuweisungsoperationen können für eine Abladungs-Aufgabeplanung von Firmware zu Hardware gut geeignet sein, obwohl der Schutzbereich der Erfindung diesbezüglich nicht beschränkt ist.
  • Ein oder mehrere Ausführungsbeispiele der Erfindung können als ein Programmprodukt oder ein anderer Herstellungsartikel sein, der ein von einer Maschine zugreifbares und/oder lesbares Medium aufweist, auf dem ein oder mehrere Befehle und/oder Datenstrukturen gespeichert sind. Das Medium kann Befehle liefern, die bei einer Ausführung durch eine Maschine, dazu führen kann oder die Maschine verursachen kann zum Ausführen einer oder mehrerer Operationen und Verfahren, die hier offenbart sind. Geeignete Maschinen weisen, ohne darauf beschränkt zu sein, Computersysteme, Netzwerkeinheiten, eine weite Vielzahl anderer Einheiten mit einem oder mehreren Prozessoren auf, um lediglich einige wenige Beispiele zu nennen.
  • Das Medium kann einen Mechanismus aufweisen, der Information in einer Form, die von der Maschine zugreifbar ist, liefert, beispielsweise speichert und/oder überträgt. Zum Beispiel kann das Medium optional beschreibbare und/oder nicht-beschreibbare Medien, wie, beispielsweise eine Floppy Disk, ein optisches Speichermedium, eine optische Disk, eine CD-ROM, eine magnetische Disk, eine Magneto-Optical Disk, ein Read Only Memory (ROM), ein programmierbares ROM (PROM), ein löschbares und programmierbares ROM (EPROM), ein elektrisch löschbares und programmierbares ROM (EEPROM), ein Speicher mit wahlfreiem Zugriff (RAM), ein statisches RAM (SRAM), ein dynamisches RAM (DRAM), einen Flashspeicher und Kombinationen daraus aufweisen.
  • Ein Medium kann auch eine elektrisch, optisch, akustisch, elektromagnetisch oder in einer anderen Form von programmierten Signalen aufweisen, etwa als Trägerwellen, Infrarotsignalen, digitalen Signalen. Ein oder mehrere Ausführungsbeispiele der Erfindung können als ein Computerprogramm heruntergeladen werden, wobei das Programm von einer Maschine zu einer anderen Maschine mittels Datensignalen übertragen werden können, die in einer Trägerwelle oder einem anderen fortschreitenden Signal oder Medium über ein Kommunikationslink (beispielsweise einem Modem oder einer Netzwerkverbindung) vorgesehen sind.
  • Zur Verdeutlichtung ist in den Ansprüchen jedes Element, das nicht explizit ausgedrückt ist als „Mittel für" eine bestimmte Funktion ausgeführt, oder „Schritt zum" eine bestimmte Funktion ausführt, nicht auszulegen als ein „Mittel" oder „Schritt" Vorschrift nach 35 U.S.C. Abschnitt 112, Absatz 6. Insbesondere soll jede mögliche Verwendung von „Schritt" in den hier wiedergegebenen Ansprüchen nicht die Vorsehung von 35 U.S.C. Abschnitt 112, Absatz 6 hervorrufen.
  • Es sollte anerkannt werden, dass die Bezugnahme in dieser Beschreibung auf „ein Ausführungsbeispiel", „das Ausführungsbeispiel" oder „eines oder mehrere Ausführungsbeispiele" bedeutet, das ein bestimmtes Merkmal zur Verwirklichung der Erfindung vorgesehen sein kann. Solche Bezugnahmen gelten nicht notwendigerweise für dasselbe Ausführungsbeispiel. Entsprechend ist anzuerkennen, dass in der Beschreibung verschiedene Merkmale manchmal gemeinsam in einem einzigen Ausführungsbeispiel, Figur oder Beschreibung zum Zwecke der Gradlinigkeit der Offenbarung und zur Unterstützung des Verständnisses der verschiedenen erfinderischen Aspekte gruppiert sein können. Dieses Verfahren der Offenbarung ist jedoch nicht zu interpretieren als mit der Absicht erfolgt, dass die Erfindung mehr Merkmale benötigt, als diese in den Ansprüchen angegeben sind. Vielmehr können die erfinderischen Aspekte in allen Merkmalen eines einzigen offenbarten Ausführungsbeispiels liegen, wie dies sich aus den nachfolgenden Ansprüchen ergibt. Die der eingehenden Beschreibung nachfolgenden Ansprüche werden hiermit ausdrücklich in diese eingehende Beschreibung einbezogen, wobei jeder Anspruch selbständig ist als ein gesondertes Ausführungsbeispiel der Erfindung.
  • Obwohl die Erfindung durchgehend beschrieben worden ist in den Ausdrücken verschiedener Ausführungsbeispiele wird der Fachmann erkennen, dass die Erfindung nicht auf die besonderen beschriebenen Ausführungsbeispiele beschränkt ist, sondern mit Abwandlungen und Alternativen verwirklicht werden kann innerhalb des Grundgedankens und Schutzbereiches der beiliegenden Ansprüche. Die Beschreibung ist daher als illustrativ nicht aber als beschränkend aufzufassen.
  • ZUSAMMENFASSUNG
  • Verfahren zum Planen von Aufgaben in Computersystemenarchitekturen werden offenbart. Nach einem Aspekt kann ein Verfahren das Vergleichen einer Konnektionsadresse eines ersten Knotens mit einer Konnektionsadresse eines zweiten Knotens, das Bestimmen, ob die Konnektionsadresse des ersten Knotens mit der Konnektionsadresse des zweiten Knotens übereinstimmt und Zuweisen von Aufgaben zu dem ersten Knoten zu dem zweiten Knoten basierend, wenigstens teilweise, auf dieser Bestimmung. Es werden weiter eine Vorrichtung zum Implementieren eines Aufgabenzuordnens und Systeme mit einer solchen Vorrichtung offenbart.

Claims (19)

  1. Ein Verfahren mit: – Vergleichen einer Konnektionsadresse eines ersten Knotens mit einer Konnektionsadresse eines zweiten Knotens; – Bestimmen, ob die Konnektionsadresse des ersten Knotens mit der Konnektionsadresse des zweiten Knotens übereinstimmt; und – Zuweisen von Aufgaben zu dem ersten und dem zweiten Knoten basierend wenigstens teilweise auf dieser Bestimmung.
  2. Das Verfahren von Anspruch 1, weiter mit: – Repräsentieren des ersten Knotens in einer Aufgabenzuweisungsdatenstruktur basierend auf dieser Bestimmung.
  3. Das Verfahren von Anspruch 2, wobei das Repräsentieren das Gruppieren des ersten Knotens zu dem zweiten Knoten und anderen Knoten in der Aufgabenzuweisungsdatenstruktur mit derselben Konnektionsadresse aufweist.
  4. Das Verfahren von Anspruch 1, wobei der erste Knoten ein neuer Knoten ist, der gegenwärtig nicht in einer Knotendatenstruktur repräsentiert ist, und wobei der zweite Knoten ein existierender Knoten ist, der gegenwärtig in der Knotendatenstruktur repräsentiert ist.
  5. Das Verfahren von Anspruch 1, wobei das Zuweisen der Aufgaben zu dem ersten und dem zweiten Knoten das Zuweisen von Aufgaben für den ersten und den zweiten Knoten innerhalb einer gemeinsamen Konvektion zu der übereinstimmenden Konnektionsadresse.
  6. Das Verfahren von Anspruch 1, wobei die Konnektionsadresse der ersten und der zweiten Knoten übereinstimmende SAS Konnektionsadressen aufweisen.
  7. Das Verfahren von Anspruch 1, wobei die Konnektionsadressen des ersten und des zweiten Knotens übereinstimmende Adressen an einem Schalter oder einer öffentlichen Faserkanalschleife aufweisen, die durch eine Einheit an eine nichtöffentliche Faserkanalschleife adressiert ist.
  8. Eine Vorrichtung mit: – einer Knotenzuweisungslogik mit einer Vergleichslogik zum Bestimmen, ob eine Konnektionsadresse eines ersten Knotens, dem gegenwärtig Aufgaben nicht zugewiesen sind, mit einer Konnektionsadresse eines zweiten Knotens, dem Aufgaben bereits zugewiesen sind, übereinstimmt; und – eine Aufgabenzuweisungslogik in Kombination mit der Vergleichslogik zum Zuweisen von Aufgaben zu dem ersten Knoten und dem zweiten Knoten basierend auf, wenigstens teilweise, der Bestimmung, dass die Konnektionsadressen der ersten Knoten und der zweiten Knoten übereinstimmen.
  9. Die Vorrichtung von Anspruch 8, weiter mit: – einer Logik zum Repräsentieren des ersten Knotens in einer Aufgabenzuweisungsdatenstruktur basierend auf, wenigstens teilweise, der Bestimmung, dass die Konnektionsadresse des ersten Knotens und des zweiten Knotens übereinstimmen.
  10. Die Vorrichtung von Anspruch 9, wobei die Logik zum Repräsentieren des ersten Knotens in der Aufgabenzuweisungsdatenstruktur eine Logik aufweist zum Gruppieren des ersten Knotens zu dem zweiten Knoten und einem oder mehreren anderen Knoten in der Aufgabenzuweisungsdatenstruktur, die dieselbe Konnektionsadresse haben.
  11. Die Vorrichtung von Anspruch 8, wobei die Knotenzuweisungslogik eine Logik aufweist, die mit der Aufgabenzuweisungslogik zusammenwirkt zum Zuweisen von Aufgaben zu dem ersten Knoten und dem zweiten Knoten innerhalb einer gemeinsamen Konvektion zu der übereinstimmenden Konnektionsadresse.
  12. Ein System mit: – einem DRAM Speicher zum Speichern von Software; – einer Aufgabenzuweisungslogik in Kommunikation mit dem DRAM Speicher zum Empfangen von Aufgaben, die der Software zugehörig ist, wobei die Aufgabenzuweisungslogik aufweist: – eine Knotenzuweisungslogik einschließlich einer Vergleichslogik zum Bestimmen, ob eine Konnektionsadresse eines ersten Knotens, dem Aufgaben gegenwärtig nicht zugewiesen sind, mit einer Konnektionsadresse eines zweiten Knotens, dem Aufgaben bereits zugewiesen sind, übereinstimmt; und – eine Aufgabenzuweisungslogik in Kommunikation mit der Vergleichslogik zum Zuweisen von Aufgaben zu dem ersten Knoten und dem zweiten Knoten basierend auf, wenigstens teilweise, der Bestimmung, dass die Konnektionsadressen des ersten Knotens und des zweiten Knotens übereinstimmen.
  13. Das System von Anspruch 12: – wobei die Knotenzuweisungslogik und die Aufgabenzuweisungslogik jeweils eine Schaltung beinhalten; und – wobei die Aufgabenzuweisungslogik auf einem Schaltkreis innerhalb eines Primärgehäuses des Systems angeordnet ist.
  14. Das System von Anspruch 12: – wobei die Knotenzuweisungslogik und die Aufgabenzuweisungslogik jeweils einen Schaltkreis aufweisen; und – wobei die Aufgabenzuweisungslogik auf einer Schaltung innerhalb eines Primärgehäuses des Systems angeordnet ist.
  15. Das System von Anspruch 12, weiter mit: – einer Logik zum Gruppieren des ersten Knotens zu dem zweiten Knoten in einer Aufgabenzuweisungsdatenstruktur basierend, wenigstens zum Teil, auf der Bestimmung, ob die Konnektionsadressen des ersten Knotens und des zweiten Knotens übereinstimmen.
  16. Das System von Anspruch 12, wobei die Aufgabenzuweisungslogik eine Logik aufweist zum Zuweisen von Aufgaben zu dem ersten Knoten und dem zweiten Knoten mit einer gemeinsamen Konnektion zu den übereinstimmenden Konnektionsadressen.
  17. Ein Verfahren mit: – Zuweisen von Aufgaben zu Knoten mit unterschiedlichen Konnektionsadressen; – Empfangen von Angaben, dass zusätzliche Knoten zur Aufnahme von Aufgaben verfügbar sind, die jeweils eine unterschiedliche Konnektionsadressen haben; und – Zuweisen von Aufgaben für Gruppen der Knoten und der zusätzlichen Knoten innerhalb der gemeinsamen Konvektionen, wobei die Knoten und die zusätzlichen Knoten jeweils Gruppen mit übereinstimmenden Konnektionsadressen haben.
  18. Das Verfahren von Anspruch 17, weiter mit Gruppieren einer der zusätzlichen Knoten zu einem Knoten, der in einer Aufgabenzuweisungsdatenstruktur dieselbe Konnektionsadresse hat.
  19. Das Verfahren von Anspruch 17, wobei das Zuweisen der Aufgaben zu den Gruppen das Zuweisen von Aufgaben ohne Verschränken der Knoten, die dieselben Konnektionsadressen haben, mit Aufgaben zu Knoten, die unterschiedliche Konnektionsadressen haben.
DE112006001345T 2005-06-30 2006-06-29 Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse Ceased DE112006001345T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/172,776 2005-06-30
US11/172,776 US8135869B2 (en) 2005-06-30 2005-06-30 Task scheduling to devices with same connection address
PCT/US2006/025753 WO2007005699A1 (en) 2005-06-30 2006-06-29 Task scheduling to devices with same connection address

Publications (1)

Publication Number Publication Date
DE112006001345T5 true DE112006001345T5 (de) 2008-03-20

Family

ID=37308945

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112006001345T Ceased DE112006001345T5 (de) 2005-06-30 2006-06-29 Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse

Country Status (4)

Country Link
US (1) US8135869B2 (de)
DE (1) DE112006001345T5 (de)
TW (1) TWI334543B (de)
WO (1) WO2007005699A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7805543B2 (en) * 2005-06-30 2010-09-28 Intel Corporation Hardware oriented host-side native command queuing tag management
US8135869B2 (en) 2005-06-30 2012-03-13 Intel Corporation Task scheduling to devices with same connection address
US7747788B2 (en) * 2005-06-30 2010-06-29 Intel Corporation Hardware oriented target-side native command queuing tag management
US7970953B2 (en) * 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US8112507B2 (en) * 2005-09-27 2012-02-07 Intel Corporation Remote node list searching mechanism for storage task scheduling
US7676604B2 (en) * 2005-11-22 2010-03-09 Intel Corporation Task context direct indexing in a protocol engine
US7809068B2 (en) * 2005-12-28 2010-10-05 Intel Corporation Integrated circuit capable of independently operating a plurality of communication channels
TWI386851B (zh) * 2007-09-14 2013-02-21 Hon Hai Prec Ind Co Ltd 排程任務更新系統及方法
US8875143B2 (en) * 2009-12-31 2014-10-28 Bmc Software, Inc. Utility-optimized scheduling of time-sensitive tasks in a resource-constrained environment
US8677048B2 (en) * 2010-10-26 2014-03-18 Netapp Inc. Communication with two or more storage devices via one SAS communication port
US9244745B2 (en) * 2011-06-16 2016-01-26 Kodak Alaris Inc. Allocating tasks by sending task-available messages requesting assistance with an image processing task from a server with a heavy task load to all other servers connected to the computer network
US10310904B2 (en) * 2014-11-26 2019-06-04 Dropbox, Inc. Distributed technique for allocating long-lived jobs among worker processes
CN109901917B (zh) * 2017-12-07 2022-04-22 龙芯中科技术股份有限公司 实时操作系统调度方法及装置、计算机可读存储介质
CN110377407A (zh) * 2019-06-19 2019-10-25 北京威努特技术有限公司 一种扫描任务调度方法、装置、存储介质及设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493739B1 (en) 1993-08-24 2002-12-10 Echelon Corporation Task scheduling in an event driven environment
JP2743606B2 (ja) 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
US5392280A (en) 1994-04-07 1995-02-21 Mitsubishi Electric Research Laboratories, Inc. Data transmission system and scheduling protocol for connection-oriented packet or cell switching networks
US5802340A (en) 1995-08-22 1998-09-01 International Business Machines Corporation Method and system of executing speculative store instructions in a parallel processing computer system
US7215680B2 (en) 2001-07-26 2007-05-08 Nishan Systems, Inc. Method and apparatus for scheduling packet flow on a fibre channel arbitrated loop
US6804208B2 (en) 2002-01-10 2004-10-12 Harris Corporation Method and device for establishing communication links with parallel scheduling operations in a communication system
US6843674B1 (en) 2002-06-03 2005-01-18 Silicon Image, Inc. Method and apparatus for connecting serial ATA storage components
US6917992B2 (en) 2002-09-30 2005-07-12 Intel Corporation Method and apparatus for efficient command queuing within a serial ATA environment
US7093033B2 (en) 2003-05-20 2006-08-15 Intel Corporation Integrated circuit capable of communicating using different communication protocols
US7523235B2 (en) 2003-06-11 2009-04-21 Lsi Corporation Serial Advanced Technology Attachment (SATA) switch
US6790075B1 (en) 2003-07-18 2004-09-14 Yun-Ching Sung Serial ATA interface connector
US7502865B2 (en) 2003-12-18 2009-03-10 Intel Corporation Addresses assignment for adaptor interfaces
US7376147B2 (en) 2003-12-18 2008-05-20 Intel Corporation Adaptor supporting different protocols
US7363395B2 (en) 2003-12-31 2008-04-22 Intel Corporation Intermediate device capable of communicating using different communication protocols
US20060004935A1 (en) 2004-06-30 2006-01-05 Pak-Lung Seto Multi-protocol bridge
US7296094B2 (en) 2004-08-20 2007-11-13 Lsi Corporation Circuit and method to provide configuration of serial ATA queue depth versus number of devices
US7774575B2 (en) 2004-09-21 2010-08-10 Intel Corporation Integrated circuit capable of mapping logical block address data across multiple domains
US7685350B2 (en) 2005-06-24 2010-03-23 Intel Corporation Remote node index mapping mechanism for serial attached storage devices
US20070005850A1 (en) 2005-06-29 2007-01-04 Intel Corporation Port multiplier mapping apparatus, systems, and methods
US7747788B2 (en) 2005-06-30 2010-06-29 Intel Corporation Hardware oriented target-side native command queuing tag management
US20070002827A1 (en) 2005-06-30 2007-01-04 Victor Lau Automated serial protocol target port transport layer retry mechanism
US7805543B2 (en) 2005-06-30 2010-09-28 Intel Corporation Hardware oriented host-side native command queuing tag management
US8135869B2 (en) 2005-06-30 2012-03-13 Intel Corporation Task scheduling to devices with same connection address
US20070011333A1 (en) 2005-06-30 2007-01-11 Victor Lau Automated serial protocol initiator port transport layer retry mechanism
US7970953B2 (en) 2005-06-30 2011-06-28 Intel Corporation Serial ATA port addressing
US7506080B2 (en) 2005-09-16 2009-03-17 Inter Corporation Parallel processing of frame based data transfers

Also Published As

Publication number Publication date
TWI334543B (en) 2010-12-11
US8135869B2 (en) 2012-03-13
WO2007005699A1 (en) 2007-01-11
TW200707279A (en) 2007-02-16
US20070006235A1 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
DE102016221811B4 (de) Zuordnung von Ressourcen mit mehrschichtigem Speicher
DE102012216568B4 (de) Scheduling und Managen von Rechentasks mit unterschiedlichen Ausführungsprioritätsstufen
DE102013016871B4 (de) Technik zur Steigerung der Effizienz in mehrsträngigen Verarbeitungseinrichtungen
DE112010003554B4 (de) Symmetrische Direktmigration von Virtuellen Maschinen
DE60037174T2 (de) Puffersystem für externen speicherzugriff
DE102020110143B4 (de) Standortbasierte virtualisierungs-workload-platzierung
DE112006001345T5 (de) Aufgabenzuweisung für Geräte mit derselben Konnektionsadresse
DE102012208751B4 (de) Datensicherheit für eine Datenbank in einer Mehrknotenumgebung
DE112007001135T5 (de) Gemeinschaftliche Nutzung von Daten durch Partitionen in einem partitionierbaren System
DE112006001167T5 (de) Simulieren mehrerer virtueller Kanäle in Switching-Fabric-Netzwerken
DE60211452T2 (de) DMA-Übertragung von Daten und Prüfinformation zu und von einem Datenspeicherungsgerät
DE102014116808B4 (de) Verfahren und System zum Realisieren einer dynamischen Virtualisierung eines SRIOV-fähigen SAS-Adapters
DE112010003750T5 (de) Hardware für parallele Befehlslistenerzeugung
DE112020004661T5 (de) Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex
DE112012000212T5 (de) Technik für live Analyse-basierte Rematerialisation zur Reduktion von Registerdruck und zur Verbesserung von Parallelität
DE102013215009A1 (de) Verfahren und System zur Optimierung der Datenübertragung
DE112020006047T5 (de) Steuern von transaktionsanforderungen zwischen anwendungen und servern
DE102022205478A1 (de) Busübergreifende speicherabbildung
DE102013019333A1 (de) Registerzuweisung für als cluster vorliegende mehrebenen-registerdaten
DE102013208421A1 (de) Sharing einer Grafikverarbeitungseinheit unter vielen Anwendungen
DE102010044529A1 (de) Autonome Subsystem-Architektur
DE102022204514A1 (de) Multi-socket-netzwerkschnittstellen-controller mit konsistenter transaktionsreihenfolge
DE112020003929T5 (de) Verwaltung von metadaten von virtuellen speichern
DE112013006646T5 (de) Identifizieren von Arbeitslast und Dimensionierung von Puffern zum Zweck der Volumenreplikation
DE102013018135B4 (de) Adressenbit-Wiederabbildungsschema zur Reduzierung einer Zugriffsauflösung von DRAM-Zugriffen

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 9/46 AFI20060629BHDE

8131 Rejection