DE69521549T2 - Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten - Google Patents
Verfahren zur Verwaltung gemeinsamer Mittel mehrerer VerarbeitungseinheitenInfo
- Publication number
- DE69521549T2 DE69521549T2 DE69521549T DE69521549T DE69521549T2 DE 69521549 T2 DE69521549 T2 DE 69521549T2 DE 69521549 T DE69521549 T DE 69521549T DE 69521549 T DE69521549 T DE 69521549T DE 69521549 T2 DE69521549 T2 DE 69521549T2
- Authority
- DE
- Germany
- Prior art keywords
- request
- entry
- resources
- age
- entries
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 25
- 238000012545 processing Methods 0.000 title description 4
- 238000013468 resource allocation Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 230000000903 blocking effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 5
- 239000000872 buffer Substances 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 235000003642 hunger Nutrition 0.000 description 3
- 230000037351 starvation Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/18—Handling requests for interconnection or transfer for access to memory bus based on priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/503—Resource availability
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Description
- Die vorliegende Erfindung betrifft ein Verfahren zum Verwalten von Ressourcen, die von mehreren Verarbeitungseinheiten gemeinsam genutzt werden.
- Die vorliegende Erfindung stellt insbesondere ein Verfahren zum Verwalten der Vorgänge von mehreren Plattenanordnungscontrollern bereit, die sich den Zugang zu den Plattenlaufwerkseinheiten in der Anordnung teilen.
- Plattenanordnungsspeichergeräte, die eine Vielzahl parallel geschalteter, kleiner, kostenarmer Plattenlaufwerke wie z. B. die 5¹/&sub4; oder 3¹/&sub2; Zoll Diskettenlaufwerke umfassen, die derzeit in Personal Computern und Workstations zum Einsatz kommen, werden in zunehmendem Maße für die nichtflüchtige Speicherung von Informationen in Computersystemen verwendet. Die Plattenanordnung erscheint dem Host-System wie eine einzelne große und schnelle Platte, bietet jedoch Verbesserungen im Hinblick auf Leistung, Zuverlässigkeit, Leistungsaufnahme und Skalierbarkeit gegenüber einer einzelnen großen Magnetplatte.
- Die meisten gängigen RAID-Plattenanordnungsspeichersysteme beinhalten mehrere Platten für die Speicherung von Daten und zusätzlich ein Plattenlaufwerk für die Speicherung von Paritätsinformationen. Wenn also eines der Daten- oder Paritätslaufwerke ausfällt, können die verlorenen Daten oder die verlorene Parität rekonstruiert werden. Um den Betrieb der Mehrzahl von Laufwerken so zu koordinieren, dass Lese- und Schreibfunktionen, Paritätserzeugung und - prüfung sowie Datenwiederherstellung und -rekonstruktion ausgeführt werden können, beinhalten viele RAID-Plattenanordnungsspeichersysteme einen dedizierten Hardware-Controller, so dass das Host-System von der Verwaltung von Anordnungsvorgängen entlastet wird. Ein zusätzlicher oder redundanter Plattenlaufwerkscontroller (RDAC) kann bereitgestellt werden, um die Möglichkeit des Verlustes des Zugangs auf Daten aufgrund eines Controllerausfalls zu reduzieren.
- Die GB-A-2,017,363 offenbart eine Stapelvorrichtung in einem Speichercontroller, die ein Verfahren zum Koordinieren der Ausführung von Ein-/Ausgabeanforderungen bereitstellt, die von Anforderungsmitteln in einem Computersystem empfangen werden. Die EP-A-0,476,252 offenbart eine Vorrichtung zum Austauschen von Kanaladapter-Statusinformationen zwischen mehreren Kanaladaptern, und offenbart einen ähnlichen Gegenstand wie die GB-A-2,017,363. Es wird auch die Möglichkeit der Speicherung so genannter verfügbarer Informationen in einem Statusregister in Verbindung mit einem Ein-/Ausgangsbus bereitgestellt. Die EP-A-0,426,184, schließlich, offenbart ein Busmaster-Befehlsprotokoll für die Verwendung mit einer Mehrzahl von Bussen und Plattenlaufwerken.
- Es ist Aufgabe der vorliegenden Erfindung, Vorteile in Bezug auf die Verwaltung von gemeinsam genutzten Ressourcen wie z. B. Plattenanordnungen bereitzustellen.
- Die Erfindung stellt ein Verfahren zum Koordinieren der Ausführung von E/A- Anforderungen bereit, die von Anforderungsmitteln in einem Computersystem eingegangen sind, in dem sich die genannten Anforderungsmittel den Zugriff auf und die Kontrolle über eine Mehrzahl von Ressourcen teilen, wobei das Verfahren die folgenden Schritte umfasst:
- (A) Erstellen einer Anforderungswarteschlange, die einen Eintrag beinhaltet, der jeder E/A- Anforderung entspricht, die von den genannten Anforderungsmitteln empfangen wurde, wobei jeder Eintrag eine Kennung für Ressourcen beinhaltet, die von der entsprechenden E/A Anforderung des genannten Eintrags benötigt werden, wobei jeder Eintrag in der genannten Anforderungswarteschlange ferner ein Anforderungsalter beinhaltet, das das relative Alter jedes Eintrags in der genannten Anforderungswarteschlange in Bezug auf andere Einträge in der Anforderungswarteschlange anzeigt;
- (B) Führen einer Verfügbare-Ressourcen-Statusanordnung, die einen Eintrag für jede Ressource beinhaltet, die derzeit von keinem anderen Anforderungsmittel verwendet wird und nicht für die zukünftige Verwendung durch ein anderes Anforderungsmittel reserviert ist;
- (C) Untersuchen der genannten Anforderungsalter, um jeden Eintrag mit einem Anforderungsalter zu identifizieren, das einen vorbestimmten Anforderungsalterswert überschreitet; und gekennzeichnet durch die folgenden Schritte:
- (D) Entfernen der Einträge aus der genannten Verfügbare-Ressourcen-Statusanordnung für jede Ressource, die mit dem genannten Eintrag mit einem Anforderungsalter assoziiert ist, das den genannten vorbestimmten Anforderungsalterswert überschreitet, Reservieren der Ressourcen für die Verwendung mit dem Anforderungsmittel und der Anforderung in Verbindung mit dem Eintrag mit einem Anforderungsalter, das den genannten vorbestimmten Anforderungsalterswert überschreitet;
- (E) systematisches Vergleichen jedes Eintrags in der genannten
- Anforderungswarteschlange mit den Einträgen in der genannten Verfügbare-Ressourcen- Statusanordnung, um einen Eintrag in der genannten Anforderungswarteschlange zu erkennen, der Ressourcen benötigt, die sich alle in der genannten Verfügbare-Ressourcen-Statusanordnung befinden;
- (F) Übertragen der Steuerung der Ressourcen in Verbindung mit dem genannten, in Schritt E erfassten Eintrag auf das Anforderungsmittel, das die E/A-Anforderung ausgegeben hat, die dem in Schritt E erfassten Eintrag entspricht; und
- (G) Ausführen der E/A-Anforderung, die dem in Schritt E identifizierten Eintrag entspricht.
- Die vorliegende Erfindung ist besonders dahingehend vorteilhaft, dass sie ein neues und nützliches Verfahren und eine solche Struktur zum Koordinieren des Betriebs mehrerer Controller bereitstellt, die sich den Zugriff auf und die Kontrolle über gemeinsame Ressourcen teilen.
- Die vorliegende Erfindung stellt insbesondere vorteilhafterweise ein solches Verfahren bereit, das die Ineffizienzen und Blockierungssituationen des Teilens von Ressourcen reduziert oder eliminiert, die bei Systemen entstehen, die gemeinsam benutzte Ressourcen aufweisen.
- Die vorliegende Erfindung stellt ferner ein Verfahren zum Koordinieren des Betriebs mehrerer aktiver Controller innerhalb einer Plattenanordnung bereit, die den Zugriff auf und die Kontrolle über gemeinsame Ressourcen teilen.
- Gemäß einem besonderen Merkmal stellt die vorliegende Erfindung ein neues und nützliches Verfahren zum Vermeiden von Konkurrenz zwischen Controllern in einem Plattenanordnungssystem mit mehreren aktiven Controllern bereit.
- Eine besondere Ausgestaltung kann in einem Plattenanordnungs-Subsystem mit mehreren Anordnungscontrollern ausgeführt werden, die sich den Zugriff auf und die Kontrolle über mehrere Plattenlaufwerke sowie Steuer-, Adressier- und Datenbusse innerhalb der Plattenanordnung teilen.
- Eine Anforderungswarteschlange, die Einträge für E/A-Anforderungen enthält, die vom Host- Computersystem empfangen werden, wird für jeden Anordnungscontroller geführt, wobei das Verfahren der vorliegenden Erfindung abwechselnd Einträge in jeder Anforderungswarteschlange untersucht, um einen Eintrag in einer der Anforderungswarteschlangen zu erkennen, die Ressourcen hat, die sich alle in der Verfügbare-Ressourcen-Statusanordnung befinden. Außerdem enthält jede Anforderungswarteschlange ein Listenalter, das das relative Alter jeder Anforderungswarteschlange in Bezug auf die anderen Anforderungswarteschlangen angibt, und jeder Eintrag in den Anforderungswarteschlangen beinhaltet ein Anforderungsalter, das das relative Alter jedes Eintrags in einer Anforderungswarteschlange in Bezug auf andere Einträge in der Anforderungswarteschlange angibt. Bei der Untersuchung der Anforderungswarteschlangen zum Identifizieren von E/A-Anforderungen zur Ausführung erhalten Einträge auf der Basis der relativen Alter der Anforderungswarteschlangen und Anforderungswarteschlangeneinträge Priorität.
- Die Erfindung wird nachfolgend, jedoch nur beispielhaft, unter Bezugnahme auf die Begleitzeichnungen ausführlicher beschrieben. Dabei zeigt:
- Fig. 1 ein Blockdiagramm eines Plattenanordnungssystems mit zwei SCSI-Hostbussen, Dual-Plattenanordnungscontrollern und zehn Plattenlaufwerken, auf die fünf SCSI-Busse zugreifen, die sich die beiden Controller teilen;
- Fig. 2 ein Blockdiagramm eines Plattenanordnungssystems mit zwei Plattenanordnungscontrollern, die mit einem gemeinsamen SCSI-Host-Bus und zehn Plattenlaufwerken verbunden sind, auf die fünf SCSI-Busse zugreifen, die sich die zwei Controller teilen;
- Fig. 3 ein Blockdiagramm eines Plattenanordnungssystems mit zwei aktiven Controllern und einer Kommunikationsverbindung zwischen den Controllern für Kommunikationen und zum Koordinieren der Ressourcenarbitration und der Zuweisung zwischen den zwei aktiven Plattenanordnungscontrollern; und
- Fig. 4 ein Blockdiagramm, umfassend Fig. 4A, 4B und 4C des ICON (Inter-Controller Communication Chip) ASIC (anwendungsspezifische integrierte Schaltung), die in jeden Plattenanordnungscontroller von Fig. 3 eingebaut sind, um Kommunikationen bereitzustellen und Ressourcenarbitration und Zuweisung zwischen den beiden aktiven Plattenanordnungscontrollern zu koordinieren.
- Fig. 1 zeigt ein Blockdiagramm eines Plattenanordnungsspeichersystems mit zwei Plattenanordnungscontrollern 11 und 13. Der Anordnungscontroller 11 ist über einen SCSI-Hostbus 15 mit dem Hostsystem 17 verbunden. Der Anordnungscontroller 13 ist ebenfalls über einen SCSI- Hostbus 19 mit einem Hostsystem 21 verbunden. Die Hostsysteme 17 und 21 können verschiedene Prozessoren in einem Computersystem mit mehreren Prozessoren sein. Jeder Anordnungscontroller hat über fünf SCSI-Busse 51 bis 55 Zugang zu zehn Plattenlaufwerken, die mit den Bezugsziffern 31 bis 35 sowie 41 bis 45 bezeichnet sind. Auf jedem der Busse 51 bis 55 befinden sich zwei Plattenlaufwerke. Plattenanordnungscontroller 11 und 13 können in einer der folgenden Konfigurationen arbeiten:
- (1) Aktiver/Passiver RDAC
- Alle Anordnungsvorgänge werden von einem Anordnungscontroller gesteuert, der als der aktive Controller bezeichnet wird. Der zweite, oder passive, Controller gilt als heiße Reserve, der die Abläufe in der Anordnung im Falle eines Ausfalls des ersten Controllers übernimmt.
- (2) Aktiver/Aktiver RDAC - Nicht gleichzeitiger Zugriff von Anordnungslaufwerken. Ein Controller hat die primäre Verantwortung für eine erste Gruppe von gemeinsam genutzten Ressourcen (Plattenlaufwerke, geteilte Busse), und die Reserveverantwortung für eine zweite Gruppe von Ressourcen. Der zweite Controller hat die primäre Verantwortung für die zweite Gruppe von Ressourcen und die Reserveverantwortung für die erste Gruppe von Ressourcen. So könnte beispielsweise der Plattenanordnungscontroller 11 die primäre Verantwortung für die Plattenlaufwerke 31 bis 35 haben, während der Plattenanordnungscontroller die primäre Verantwortung für die Plattenlaufwerke 41 bis 45 hat.
- (3) Aktiver/Aktiver RDAC - Gleichzeitiger Zugriff von Anordnungslaufwerken. Jeder Anordnungscontroller hat gleichberechtigte(n) Zugang zu und Kontrolle über alle Ressourcen in der Anordnung.
- Wenn jeder Anordnungscontroller gleichberechtigte(n) Zugang zu und Kontrolle über geteilte Ressourcen hat, dann kann dies zu Ineffizienzen oder Blockierungssituationen bei der Ressourcenteilung führen. So können es beispielsweise bestimmte Betriebsarten erfordern, dass sich Untergruppen der Kanalressourcen im Besitz eines der Anordnungscontroller befinden. Wenn der Controller nicht alle benötigten Ressourcen gleichzeitig besitzt, führt dies zu einer Blockade des Controllers, bis alle Ressourcen vorhanden sind. In einer Umgebung mit mehreren Controllern, die einige, aber nicht alle benötigten Ressourcen für eine bestimmte Transaktion haben, kann dies zu Ressourcenineffizienzen oder Blockierungen bei der Beschaffung gemeinsam genutzter Ressourcen führen.
- Ebenso erfordert ein Anordnungscontroller, der Hardware-Assistenz bei der Erzeugung von Datenredundanz leistet, gleichzeitige Datenübertragung von mehr als einem Laufwerk gleichzeitig. Wenn Daten von den Laufwerken oder vom Host empfangen werden, dann werden sie durch eine RAID-Striping-ASIC geleitet, um Datenredundanzinformationen zu generieren, die entweder in Controller-Puffern gespeichert oder unmittelbar zu einem Laufwerk zur Speicherung geleitet werden. Jeder Controller braucht Zugang zu mehreren gewählten Laufwerkskanälen gleichzeitig, so dass die Daten durch die RAID-Striping-ASIC gleichzeitig von den mehreren Datenquellen geleitet werden können. Zu einer Blockierung kann es kommen, wenn kein Mittel zum Koordinieren des Zugangs zu den Laufwerkskanälen vorhanden ist.
- Es folgen zwei Beispiele, um die Blockierungssituation in einer Umgebung mit zwei Plattenlaufwerkscontrollern zu illustrieren.
- Gemäß Fig. 1 teilen sich die Plattenanordnungscontroller 11 und 13 fünf SCSI-Busse 51 bis 55 und die zehn Laufwerke, die mit den SCSI-Bussen verbunden sind.
- Plattenanordnungscontroller 11 wird aufgefordert, einen E/A-Vorgang zur Übertragung von Daten von den Plattenlaufwerken 31 und 33 auszuführen. Gleichzeitig erhält Plattenanordnungscontroller 13 die Aufforderung, einen E/A-Vorgang zur Übertragung von Daten von Plattenlaufwerken 41 und 43 durchzuführen. Beide Plattencontroller versuchen wie folgt, gleichzeitig auf die benötigten Laufwerke zuzugreifen:
- Anordnungscontroller 11 greift auf Bus 51 und Plattenlaufwerk 31 zu, ein Zugriff auf Bus 53 und Plattenlaufwerk 33 wird blockiert.
- Anordnungscontroller 13 greift auf Bus 53 und Plattenlaufwerk 43 zu und setzt die Arbitrierung für Bus 51 und Plattenlaufwerk 41 fort.
- Controller 11 hat jetzt SCSI-Bus 51 in Betrieb und wartet auf Plattenlaufwerk 33 auf SCSI- Bus 53 (im Besitz von Controller 13). Controller 13 hat jetzt einen SCSI-Bus 53 in Betrieb und wartet auf Plattenlaufwerk 41 auf dem SCSI-Bus 51 (im Besitz von Controller 11).
- Zu einer Blockierung kann es dann kommen, wenn mehrere Controller am selben Hostbus angeschlossen sind. Dies kann dann der Fall sein, wenn Host-SCSI-Bus 15 oder Host-SCSI-Bus 19 derselbe physikalische SCSI-Bus sind, in Fig. 2 als Bus 27 bezeichnet. Der Controller 11 wird aufgefordert, einen E/A-Vorgang durchzuführen, der eine Übertragung von Daten vom Plattenlaufwerk 31 auf dem SCSI-Bus 51 zum Host 17 erfordert. Gleichzeitig wird der Controller 13 aufgefordert, einen E/A-Vorgang durchzuführen, der eine Übertragung von Daten vom Plattenlaufwerk 41 auf dem SCSI-Bus 51 zum Host 21 erfordert. Beide Controller versuchen wie folgt, gleichzeitig auf die benötigten Ressourcen zuzugreifen:
- Der Anordnungscontroller 11 greift auf den einzelnen Host-SCSI-Bus zu, der mit der Bezugsziffer 27 bezeichnet ist, und wird daran gehindert, auf den SCSI-Bus 51 und das Plattenlaufwerk 31 zuzugreifen.
- Der Anordnungscontroller 13 greift auf den SCSI-Bus 51 und das Plattenlaufwerk 41 zu und wird daran gehindert, auf den Host-SCSI-Bus 15 zuzugreifen.
- Jetzt hat der Controller 11 den Host-SCSI-Bus 27 im Betrieb und wartet auf den Zugang zum SCSI-Bus 51 (im Besitz von Controller 13), um eine Verbindung mit dem Plattenlaufwerk 31 zu erhalten. Der Controller 13 hat jetzt den SCSI-Bus 51 in Betrieb und wartet auf den Zugang zum Host-SCSI-Bus 27 (im Besitz von Controller 11).
- Es wird ein Verfahren und eine Struktur zum Koordinieren des Betriebs mehrerer Controller benötigt, die sich den Zugang zu und die Kontrolle über gemeinsame Ressourcen teilen, um Ineffizienzen und Blockierungssituationen bei der Ressourcenteilung zu eliminieren. Ein Plattenanordnungssystem mit zwei aktiven Controllern, das gemäß einer bevorzugten Ausgestaltung der vorliegenden Erfindung konstruiert wurde, ist als Blockdiagramm in Fig. 3 dargestellt. Außer der im Plattenanordnungssystem von Fig. 1 gezeigten Struktur beinhaltet das System von Fig. 3 eine dedizierte Kommunikationsverbindung 57, die zwischen den Anordnungscontrollern 11 und 13 geschaltet ist, sowie eine ICON-ASIC, die in beide Controller eingebaut ist und jeweils mit den Bezugsziffern 61 und 63 bezeichnet ist.
- Kommunikationsverbindung 57 und ICON-Chip ermöglichen Kommunikation zwischen den sowie Ressourcenarbitration und -zuweisung für die zwei Plattenanordnungscontroller(n).
- Fig. 4 ist ein Blockdiagramm des ICON-Chips, der in die zwei aktiven Anordnungscontroller 11 und 13 eingebaut ist, die in dem in Fig. 3 gezeigten Plattenanordnungssystem enthalten sind.
- Der ICON-Chip enthält alle Funktionen, die zur Bereitstellung einer seriellen Hochgeschwindigkeitskommunikation und Arbitration/Zuweisung von Ressourcen zwischen zwei Plattenanordnungscontrollern benötigt werden. Die Hauptanwendung für den ICON-Chip ist in Plattenanordnungssystemen die Nutzung redundanter Plattenanordnungscontroller. Da die redundante Controllerkonfiguration Ressourcen (Plattenlaufwerke und SCSI-Busse) zwischen zwei Controllern gemeinsam nutzt, ist ein Verfahren für eine Entscheidung über diese gemeinsamen Ressourcen notwendig, um Blockierungen zu vermeiden und die Systemleistung zu maximieren. Der ICON-Chip enthält eine Hardware-Implementation eines Ressourcenzuweisungsalgorithmus, der Blockierungen verhindert und zum Ziel hat, die Systemleistung zu maximieren. Über die Arbitration/Zuweisung von Ressourcen hinaus stellt der ICON-Chip auch ein Mittel zum Senden/Empfangen von generischen Mehrbyte-Meldungen zwischen Plattenanordnungscontrollern dar. Der ICON-Chip beinhaltet die folgenden Logikmodule:
- Der Mikroprozessor-Schnittstellenblock 100 lässt es zu, dass ein externer Mikroprozessor den Zustand des ICON-Chips konfiguriert und überwacht. Konfigurations- und Statusinformationen werden in Registern im ICON-Chip gehalten. Die Konfigurations-, Steuer- und Statusregister sind so ausgelegt, dass sie Betriebssoftware mit einer großen Palette von Funktionen und Diagnostikvorgängen bereitstellen. Interrupt-Maskierung und -Steuerung sind ebenfalls Teil dieses Funktionsblocks.
- Der Inter-Controller-Kommunikationsblock 200 enthält sämtliche Strukturen und Logik, die zur Implementation der Inter-Controller-Kommunikationsschnittstelle notwendig sind. Dieser Block beinhaltet die folgende(n) Strukturen/Logik: Sendestatus-Sequenzierer 201, Empfangsstatus- Sequenzierer 203, Meldungssendepuffer 205, Meldungsempfangspuffer 207, Statussenderegister 209 und Statusempfangspuffer 211. Diese Module arbeiten zusammen und bilden so zwei unabhängige, unidirektionale Kommunikationskanäle. Serialisierung und Deserialisierung von Datenpaketen erfolgen in einem Sendestatus-Sequenzierermodul 201 und einem Empfangsstatus- Sequenzierermodul 203. Der serielle Datenausgang von Sendestatus-Sequenzierer kann für eine umfassende Diagnostikdatenumsetzung in das Empfangsstatus-Sequenzierermodul gespeist werden.
- Der Inter-Controller-Kommunikationsblock dient zum Senden generischer Meldungen und Statusdaten oder zum Senden spezifischer Meldungen in Bezug auf die Anforderung/Zuteilung/Freigabe von Ressourcen zwischen zwei Plattenanordnungscontrollern.
- Die Kommunikation zwischen Paaren von ICON-Chips erfolgt über sechs Signale. Diese Signale sind wie folgt definiert: Tabelle 1 Kommunikationssignalbeschreibungen
- Der Ressourcenzuweisungsblock 300 enthält alle Strukturen und sämtliche Logik, die zum Verwalten von bis zu acht gemeinsam genutzten Ressourcen zwischen zwei Plattenanordnungscontrollern benötigt werden, die als Master- und Slave- Plattenanordnungscontroller bezeichnet werden. Zu diesen Strukturen und dieser Logik gehören der Ressourcenzuweiser 301, zwei Sätze von Ressourcenanforderungslisten (Master/Slave) 303 und 305, zwei Sätze von Freigaberessourcen-FIFOs (Master/Slave) 307 und 309, zwei Sätze von Zugeteilte-Ressourcen-FIFOs (Master/Slave) 311 und 313 sowie das Ressourcen-Scoreboard, das jeweils Zugewiesene-Ressourcen- und Verfügbare-Ressourcen-Blöcke 315 und 317 aufweist.
- Das Hauptelement in diesem Block ist der Ressourcenzuweiser 301. Dieser Block besteht aus einer Hardware-Implementation eines intelligenten Ressourcen-Zuweisungsalgorithmus. Alle anderen Datenstrukturen in diesem Block werden direkt von dem Ressourcenzuweiser gesteuert und überwacht. Der im ICON-Chip für den Master-Controller vorhandene Ressourcenzuweiser überwacht den Zustand der Ressourcenanforderungslisten, der Ressourcenfreigabe-FIFOs und des Ressourcen-Scoreboard, um zu ermitteln, wie und wann Ressourcen einem der Controller zugewiesen werden. Der im ICON-Chip für den Slave-Controller vorhandene Ressourcenzuweiser ist nicht aktiv, ausgenommen beim Diagnostiktesten.
- Die Controllerfunktionslogik 400 stellt mehrere Logikfunktionen auf Platinenebene bereit, um den Integrationsgrad auf dem Plattenanordnungscontroller-Design zu erhöhen.
- Die Erfindung umfasst vorteilhafterweise die Einrichtung einer einfachen Kommunikationsverbindung und eines Protokolls zwischen Geräten, die Ressourcen gemeinsam nutzen, und einen eindeutigen Arbitrationsalgorithmus, der für die Verwaltung der gemeinsam genutzten Ressourcen verwendet wird.
- Kommunikationsverbindung und Protokoll werden zum Anfordern, Zuteilen und Freigeben von Ressourcen zu und von dem Ressourcenzuteiler verwendet. Das Protokoll erfordert die Einrichtung eines einzelnen Master-Gerätes zwischen den Ressourcen teilenden Geräten sowie eines oder mehrerer Slave-Geräte. Der Unterschied zwischen Master und Slave dient lediglich zum Ermitteln der aktiven Ressourcenzuweisungslogik 300. Es besitzt zwar jeder Controller Ressourcenzuweisungslogik, aber sie ist nur im Master-Controller aktiv. In der nachfolgenden Erörterung beziehen sich Verweise auf die Ressourcenzuweisungslogik 300 und ihre Komponenten auf die aktive Ressourcenzuweisungslogik und ihre Komponenten. Sowohl Master- als auch Slave-Geräte behalten ihre Peer-to-Peer-Beziehung für Systemvorgänge.
- Der aktive Ressourcenzuweiser 300 wird im Master-Gerät ausgeführt. Ein Gerät formuliert eine Ressourcenanforderung durch Kompilieren einer Liste von Ressourcen, die für einen bestimmten Vorgang benötigt werden. Die Ressourcenanforderung wird dann zur Ressourcenzuweisungslogik 300 weitergeleitet. Die Ressourcenzuweisungslogik 300 führt eine Liste von Anforderungen für jedes Gerät in dem System und versucht, allen Anforderungen schnell und fair nachzukommen. Sobald die Zuweisungslogik eine bestimmte Anforderung erfüllen kann, signalisiert sie eine Freigabe der angeforderten Ressourcen zum anfordernden Gerät. Das Gerät mit den zugeteilten Ressourcenanforderungen hat Zugang zu den zugeteilten Ressourcen, bis es sie freigibt. Die Freigabe erfolgt dann durch Senden einer Freigabemeldung zum Ressourcenzuweiser, um die Ressourcen für die Belegung durch andere Ressourcenanforderungen freizugeben.
- Sämtliche Ressourcenanforderungen, Anforderungsgewährungen und Anforderungsbefreiungen, die ein Slave-Gerät betreffen, erfolgen durch Senden von Inter-Geräte- Meldungen, die Meldungstyp und Datenfelder zwischen dem Master- (in dem sich die aktive Ressourcenzuweisungslogik befindet) und den Slave-Geräten mit der oben beschriebenen Schnittstelle beinhalten. Alte Ressourcenanforderungen, Anforderungsgewährungen und Anforderungsbefreiungen, die nur das Master-Gerät betreffen, können innerhalb des Ortes zum Master-Gerät erfolgen.
- Die im arbiträr zugewiesenen Master-Gerät befindliche Ressourcenzuweisungslogik 300 beinhaltet einen Ressourcenzuweisungsalgorithmus und zugehörige Datenstrukturen für die Verwaltung einer arbiträren Zahl von gemeinsam genutzten Ressourcen zwischen einer arbiträren Zahl von Geräten. Datenstrukturen und Algorithmus für die gemeinsame Nutzung von Ressourcen werden nachfolgend erörtert.
- Für jedes Gerät, für das gemeinsam genutzte Ressourcen verwaltet werden müssen, wird eine Anforderungswarteschlange oder eine Liste von Ressourcenanforderungen mit Arbitrationstiefe vom Master-Gerät geführt (Master- und Slave-Anforderungslisten 303 und 305). Mit jeder der Geräteanforderungs-Warteschlangen sind zwei Zählwerte, ein Listenalter (das das relative Alter einer Geräteanforderungs-Warteschlange in Bezug auf die anderen Anforderungswarteschlangen anzeigt) und ein Anforderungsalter (das das relative Alter des ältesten Eintrags in einer Anforderungswarteschlange eines einzelnen Gerätes in Bezug auf andere Einträge in derselben Anforderungswarteschlange anzeigt), assoziiert. Außer den Zählwerten in Verbindung mit jeder Geräteanforderungs-Warteschlange werden auch zwei Boolesche Flags geführt: ein Anforderungsstagnations-Flag und ein Listenstagnations-Flag. Die Anforderungsstagnation WAHR zeigt an, dass das relative Alter der ältesten Ressourcenanforderung eines Gerätes einen programmierbaren Schwellenwert überschritten hat. Die Listenstagnation WAHR bedeutet, dass das relative Alter einer Anforderungswarteschlange eines Gerätes in Bezug auf die Anforderungswarteschlangen anderer Geräte einen programmierbaren Schwellenwert überschritten hat. Stagnationen (Anforderung oder Liste) schließen sich zwischen allen Geräten gegenseitig aus, es kann jeweils immer nur ein Gerät sich im Stagnationszustand befinden.
- Das Master-Gerät führt auch den aktuellen Zustand von Ressourcenzuweisung und - reservierung durch Verfolgen von "Verfügbare Ressourcen" und "Reservierte Ressourcen". "Verfügbare Ressourcen" gibt dem Ressourcenzuweisungsalgorithmus an, welche Ressourcen derzeit nicht von einem Gerät verwendet werden und derzeit nicht für eine zukünftige Zuweisung reserviert sind. Ressourcen, die in der "Verfügbare Ressourcen" Struktur enthalten sind (Verfügbare-Ressourcen-Block 317) sind daher für eine Zuweisung verfügbar. "Reservierte Ressourcen" gibt dem Ressourcenzuweisungsalgorithmus an, welche Ressourcen für eine zukünftige Zuweisung reserviert sind, weil eines der Geräte in den Stagnationszustand getreten ist (Anforderungsstagnation oder Listenstagnation WAHR). Sobald ein Gerät in den Stagnationszustand geht, werden in der Stagnationsanforderung enthaltene Ressourcen in die "Reservierte Ressourcen" Struktur (Reservierte-Ressourcen-Block 315) gesetzt entweder durch eine sofortige Beseitigung aus der "Verfügbare Ressourcen" Struktur oder für derzeit zugewiesene Ressourcen, zu dem Zeitpunkt, zu dem sie freigegeben oder in den Ressourcen-Pool zurückgebracht werden) und dort so lange gehalten, bis alle in der Stagnationsanforderung enthaltenen Ressourcen für eine Zuteilung verfügbar sind. Stagnationen (Anforderung oder Liste) schließen sich zwischen allen Geräten gegenseitig aus; es kann sich zu einem bestimmten Zeitpunkt immer nur ein Gerät im Stagnationszustand befinden. Die letzten beiden Datenstrukturen, die vom Ressourcenzuweisungsalgorithmus verwendet werden, sind Zeiger auf das derzeit gewählte Gerät (allgemein mit TURN und LISTSELECT bezeichnet), dessen Ressourcenanforderungs-Warteschlange nach einer Übereinstimmung mit verfügbaren Ressourcen durchsucht wird.
- Ressourcenzuweisungsfairness ist dadurch gegeben, dass die oben definierten Datenstrukturen verwendet werden. Der oben beschriebene Anforderungsstagnations-Flag wird verwendet, um Fairness bei der Gewährung von Ressourcenanforderungen in einem einzigen Gerät zu gewährleisten. Wenn man beispielsweise von einer zufallsmäßigen Verfügbarkeit von Ressourcen ausgeht, dann könnte sich ein Gerät, das die meisten Ressourcen in Gruppierungen von zwei anfordert, selbst aushungern, wenn es Gruppierungen von fünf Ressourcen aus demselben Ressourcenpool anfordert, wenn kein Mechanismus zum Erkennen und Korrigieren dieser Situation vorhanden ist. Die Anforderungsalterungszahlen mit ihren zugehörigen Schwellenwerten gewährleisten, dass Ressourcenanforderungen in einem einzigen Gerät nicht zu Aushungerung oder Dauerblockierung führen.
- Der Listenstagnations-Flag wird verwendet, um Fairness bei der Gewährung von Ressourcenanforderungen zwischen Geräten zu gewährleisten. So könnte beispielsweise ein Gerät, das Ressourcen in Gruppierungen von zwei anfordert, ein anderes Gerät in dem System aushungern, das Gruppierungen von fünf Ressourcen aus demselben Ressourcenpool anfordert. Die Listenalterzahlen mit den zugehörigen Schwellenwerten gewährleisten, dass alle Geräteanforderungen fairer bearbeitet werden und dass ein bestimmtes Gerät, das auf Ressourcenanforderungen wartet, nicht ausgehungert wird.
- Es werden zwei Betriebsarten für den Ressourcenzuweisungsalgorithmus definiert: Normalmodus und Stagnationsmodus. Im normalen Betriebsmodus sind keine Geräte in den Stagnationszustand eingetreten, und der Algorithmus benutzt den TURN-Zeiger auf zyklische Weise, um systematisch jede der Anforderungswarteschlangen des Gerätes zu untersuchen, um nach Möglichkeit Ressourcen (auf der Basis der Ressourcenverfügbarkeit) mit einer Priorität innerhalb einer Geräteanforderungswarteschlange auf der Basis der relativen Alter der Anforderungseinträge zuzuteilen. Nach dem Übergang in den Stagnationsmodus (ein Gerät ist in den Stagnationszustand eingetreten) wird der TURN-Zeiger auf das Stagnationsgerät gesetzt, und der Ressourcenzuweisungsalgorithmus begünstigt die Gewährung der Anforderung, die den Stagnationszustand verursacht hat, indem die Ressourcen in der Stagnationsanforderung reserviert werden, so dass keinem anderen Gerät diese Ressourcen gewährt werden können. Der TURN-Zeiger wird zwar effektiv auf dem stagnierenden Gerät eingefroren, aber andere Geräteanforderungs-Warteschlangen und andere Einträge in der Anforderungswarteschlange des stagnierenden Gerätes werden weiter nach Ressourcenübereinstimmungen auf der Basis dessen fortfahren, was derzeit verfügbar und nicht mit dem sekundären Listenzeiger (LISTSELECT) reserviert ist.
- Der eigentliche Ressourcenzuteilungsvorgang beinhaltet die Beseitigung zugeteilter Ressourcen aus der "Verfügbare Ressourcen" Struktur zusammen mit der Löschung der "Reservierte Ressourcen" Struktur (wenn die Ressourcenzuteilung für eine Stagnationsanforderung galt). Ressourcenbefreiungs- oder -freigabevorgänge erfolgen einfach durch Aktualisieren der "Verfügbare Ressourcen" Struktur.
- Es folgt eine Implementation des Algorithmus mit der Programmiersprache "C" für einen Beispielfall eines Master- und eines einzelnen Slave-Gerätes mit den folgenden Eigenschaften:
- - Ressourcenanforderungs-Warteschlangentiefe für beide Geräte = 4
- - Anzahl gemeinsam genutzter Ressourcen zwischen den Geräten = 8
- Wie zuvor erwähnt, sind die Zahl der Geräte, die Zahl der gemeinsam genutzten Ressourcen sowie die Warteschlangentiefe streng arbiträr. Die enthaltene und von diesem Algorithmus implizierte Funktionalität wird in dem die Ressourcen teilenden Gerät implementiert, das als Master bezeichnet wird. Es wird die Service-Abfrage zum Suchen nach einer Ressourcenanforderung beschrieben, die von irgendeinem Controller gewährt werden soll. Der Freigabevorgang erfolgt einfach dadurch, dass die freizugebenden Ressourcen der Verfügbare- Kanäle-Variablen zugewiesen werden.
- Diese Beispielimplementation wurde zwar in "C"-Programmiersprache geschrieben, aber die Implementation kann jede beliebige Form haben, wie z. B. eine andere Programmiersprache, andere Implementationen von Hardware-Zustandsmaschinen usw.
- Es folgen Erläuterungen und Definitionen für Begriffe, die in dem obigen Algorithmus verwendet werden:
- service_loops - die Anzahl von Anforderungen, die zu einem bestimmten Zeitpunkt ausstehen können.
- master_request_stagnation - der Zustand, in den eingetreten wird, wenn der Master-ICON- Chip dis Slave-Icon-Anforderungen zu oft bearbeitet hat, ohne eine Master-ICON-Anforderung bearbeitet zu haben (Inter-ICON-Fairnessparameter).
- master_list_stagnation - der Zustand, in den eingetreten wird, wenn eine Anforderung auf der Master-ICON-Anforderungsliste über eine konfigurierbare Schwelle hinaus relativ zu anderen Anforderungen "gealtert" ist, die in der Master-ICON-Anforderungswarteschlange bedient werden. (Dies dient zum Fördern der Intra-ICON-Listenanforderungsfairness, um zu gewährleisten, dass ein Aushungern in der Master-ICON-Liste vermieden wird, weil eine Anforderung, die eine große Zahl von Ressourcen benötigt, hinter vielen Anforderungen wartet, die nur eine geringe Zahl von Ressourcen brauchen).
- slave_request_stagnation - der Zustand, in den eingetreten wird, wenn der Master ICON- Chip die Master-ICON-Anforderungen zu oft bearbeitet hat, ohne eine Slave-ICON-Anforderung zu bearbeiten (Inter-ICON-Fairnessparameter).
- slave_list_stagnation - der Zustand, in den eingetreten wird, wenn eine Anforderung auf der Slave-ICON-Anforderungsliste über eine konfigurierbare Schwelle hinaus relativ zu anderen Anforderungen "gealtert" ist, die in der Slave-ICON-Anforderungswarteschlange bedient werden. (Dient zum Fördern von Intra-ICON-Listenanforderungsfairness, um zu gewährleisten, dass Aushungern in der Slave-ICON-Anforderungsliste vermieden wird, weil eine Anforderung eine große Zahl von Ressourcen benötigt, die hinter vielen Anforderungen warten, die nur eine geringe Zahl von Ressourcen benötigen.)
- last_serviced - ein Mechanismus zur Gewährleistung von Fairness bei der Bedienung des vor längster Zeit bedienten Controllers.
- turn - zeigt an, welche Liste bei der Bearbeitung von Anforderungen als erstes betrachtet wird.
- master_list_age - das relative Alter der Anforderungsliste für den Master im Vergleich zur Anzahl von Anforderungen, die aus der Slave-Liste bearbeitet werden. Hiermit soll gewährleistet werden, dass der Master im ungünstigsten Fall dann bedient wird, wenn ein paar Anforderungen vom Slave bedient wurden. Wenn das Master-Listenalter eine Schwelle überschreitet, wird in den master_request_stagnation Zustand eingetreten.
- master_request_age - das relative Alter des ältesten Mitglieds der Master-Liste im Vergleich zu der Zahl von Anforderungen, die von der Master-Liste bearbeitet wurden. Hiermit soll gewährleistet werden, dass die älteste Anforderung auf der Master-Liste im ungünstigsten Fall nach einigen anderen Anforderungen bearbeitet wird, die in der Master-Liste bearbeitet wurden. Wenn das Master-Anforderungsalter eine Schwelle überschreitet, wird in den Zustand master_list_stagnation eingetreten.
- slave_lista_age - das relative Alter der Anforderungsliste für den Slave im Vergleich zur Anzahl von Anforderungen, die aus der Master-Liste bearbeitet wurden. Hiermit soll gewährleistet werden, dass der Slave im ungünstigsten Fall dann bedient wird, wenn einige Anforderungen vom Master bearbeitet wurden. Wenn das Slave-Listenalter eine Schwelle überschreitet, wird in den Zustand slave request stagnation eingetreten.
- slave_request_age - das relative Alter des ältesten Mitglieds der Stave-Liste im Vergleich zur Zahl von Anforderungen, die aus der Slave-Liste bearbeitet wurden. Hiermit soll gewährleistet werden, dass die älteste Anforderung auf der Slave-Liste im ungünstigsten Fall dann bearbeitet wird, wenn einige andere Anforderungen in der Slave-Liste bearbeitet wurden. Wenn das Slave- Anforderungsalter eine Schwelle überschreitet, wird in den Zustand slave list stagnation eingetreten.
- Der oben vorgestellte Algorithmus sollte, in Verbindung mit der obigen Beschreibung der Erfindung, für die Fachperson leicht verständlich sein und dieser somit ein Verfahren zum Verwalten der Vorgänge von mehreren Plattenanordnungscontrollern an die Hand geben, die sich den Zugang zu den Plattenlaufwerkseinheiten, Bussen und anderen Ressourcen in der Anordnung teilen.
- Es wurde zwar die derzeit bevorzugte Ausgestaltung der Erfindung beschrieben, aber es ist zu verstehen, dass verschiedene Änderungen innerhalb des Umfangs der beiliegenden Ansprüche möglich sind.
Claims (7)
1. Verfahren zum Koordinieren der Ausführung von E/A-Anforderungen, die von
Anforderungsmitteln (11, 17; 13, 21) in einem Computersystem eingegangen sind, in dem
sich die genannten Anforderungsmittel den Zugriff auf und die Kontrolle über eine Mehrzahl
von Ressourcen (31-35; 41-45; 51-55) teilen, wobei das Verfahren die folgenden Schritte
umfasst;
(A) Erstellen einer Anforderungswarteschlange, die einen Eintrag beinhaltet, der
jeder E/A-Anforderung entspricht, die von den genannten Anforderungsmitteln (11, 17; 13,
21) empfangen wurde, wobei jeder Eintrag eine Kennung für Ressourcen beinhaltet, die von
der entsprechenden E/A-Anforderung des genannten Eintrags benötigt werden, wobei jeder
Eintrag in der genannten Anforderungswarteschlange ferner ein Anforderungsalter
beinhaltet, das das relative Alter jedes Eintrags in der genannten
Anforderungswarteschlange in Bezug auf andere Einträge in der
Anforderungswarteschlange anzeigt;
(B) Führen einer Verfügbare-Ressourcen-Statusanordnung, die einen Eintrag für
jede Ressource (31-35; 41-45; 51-55) beinhaltet, die derzeit von keinem anderen
Anforderungsmittel verwendet wird und nicht für die zukünftige Verwendung durch ein
anderes Anforderungsmittel (11, 17; 13, 21) reserviert ist;
(C) Untersuchen der genannten Anforderungsalter, um jeden Eintrag mit einem
Anforderungsalter zu identifizieren, das einen vorbestimmten Anforderungsalterswert
überschreitet; und gekennzeichnet durch die folgenden Schritte:
(D) Entfernen der Einträge aus der genannten Verfügbare-Ressourcen-
Statusanordnung für jede Ressource, die mit dem genannten Eintrag mit einem
Anforderungsalter assoziiert ist, das den genannten vorbestimmten Anforderungsalterswert
überschreitet, Reservieren der Ressourcen für die Verwendung mit dem Anforderungsmittel
und der Anforderung in Verbindung mit dem Eintrag mit einem Anforderungsalter, das den
genannten vorbestimmten Anforderungsalterswert überschreitet;
(E) systematisches Vergleichen jedes Eintrags in der genannten
Anforderungswarteschlange mit den Einträgen in der genannten Verfügbare-Ressourcen-
Statusanordnung, um einen Eintrag in der genannten Anforderungswarteschlange zu
erkennen, der Ressourcen benötigt, die sich alle in der genannten Verfügbare-Ressourcen-
Statusanordnung befinden;
(F) Übertragen der Steuerung der Ressourcen in Verbindung mit dem genannten, in
Schritt E erfassten Eintrag auf das Anforderungsmittel, das die E/A-Anforderung
ausgegeben hat, die dem in Schritt E erfassten Eintrag entspricht; und
(G) Ausführen der E/A-Anforderung, die dem in Schritt E identifizierten Eintrag
entspricht.
2. Verfahren nach Anspruch 1, ferner umfassend den folgenden Schritt:
Entfernen der Einträge für jede Ressource aus der Verfügbare-Ressourcen-
Statusanordnung, die mit dem genannten, in Schritt E erfassten Eintrag assoziiert ist, nach
Beendigung von Schritt E.
3. Verfahren nach Anspruch 2, ferner umfassend den folgenden Schritt:
Zurückgeben der Einträge für jede Ressource an die genannte Verfügbare-
Ressourcen-Statusanordnung, die mit dem genannten, in Schritt E erfassten Eintrag
assoziiert ist, nach Beendigung von Schritt G.
4. Verfahren nach Anspruch 1, 2 oder 3, bei dem jeder Eintrag in der genannten
Anforderungswarteschlange ein Anforderungsalter beinhaltet, das das relative Alter jedes
Eintrags in der Anforderungswarteschlange in Bezug auf andere Einträge in der
Anforderungswarteschlange anzeigt, wobei das genannte Verfahren ferner den folgenden
Schritt umfasst:
Gewährung von Priorität für einen Eintrag in der Anforderungswarteschlange auf der
Basis der relativen Alter.
5. Verfahren nach einem der vorherigen Ansprüche, bei dem:
die genannten Ressourcen Plattenlaufwerke (31-35, 41-45) in einer
Plattenanordnung umfassen; und
die genannten Anforderungsmittel (11, 17; 13, 21) Plattenanordnungssteuerungen
(11, 13) beinhalten, die sich den Zugang zu und die Kontrolle über die genannten
Plattenlaufwerke (31-35, 41-45) teilen.
6. Verfahren nach einem der Ansprüche 1 bis 4, bei dem:
die genannten Anforderungsmittel eine Plattenanordnungssteuerung (11, 13) in
einem Plattenanordnungssubsystem in dem genannten Computersystem beinhalten; und
die genannten Ressourcen Plattenlaufwerke (31-35, 41-45) und Busse (51-55) in
dem genannten Plattenanordnungssubsystem umfassen.
7. Verfahren nach einem der Ansprüche 1-4, bei dem:
die genannten Ressourcen Busse (51-55) in dem genannten Computersystem
beinhalten.
6. Verfahren nach einem der vorherigen Ansprüche, bei dem:
eine Anforderungswarteschlange für jedes Anforderungsmittel in dem genannten
Computersystem geführt wird; und
der genannte Schritt des systematischen Vergleichens jedes Eintrags in der
genannten Anforderungswarteschlange mit den Einträgen in der genannten Verfügbare-
Ressourcen-Statusanordnung den Schritt des abwechselnden Untersuchens der Einträge in
jeder Anforderungswarteschlange beinhaltet, um einen Eintrag in den genannten
Anforderungswarteschlangen zu erfassen, die Ressourcen anzeigen, die sich alle in der
genannten Verfügbare-Ressourcen-Statusanordnung befinden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22340594A | 1994-04-04 | 1994-04-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69521549D1 DE69521549D1 (de) | 2001-08-09 |
DE69521549T2 true DE69521549T2 (de) | 2001-10-25 |
Family
ID=22836356
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69521549T Expired - Lifetime DE69521549T2 (de) | 1994-04-04 | 1995-03-24 | Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten |
Country Status (4)
Country | Link |
---|---|
US (1) | US6009275A (de) |
EP (2) | EP0676699B1 (de) |
JP (1) | JPH0844681A (de) |
DE (1) | DE69521549T2 (de) |
Families Citing this family (118)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2769105B1 (fr) * | 1997-09-30 | 1999-10-29 | Bull Sa | Dispositif et procede de prise en compte de l'execution d'une tache sur un systeme informatique |
US6154787A (en) * | 1998-01-21 | 2000-11-28 | Unisys Corporation | Grouping shared resources into one or more pools and automatically re-assigning shared resources from where they are not currently needed to where they are needed |
GB2336273B (en) * | 1998-01-30 | 2003-05-21 | * Sgs-Thomson Microelectronics Limited | A system for accessing resources |
GB2336274B (en) * | 1998-01-30 | 2003-05-21 | Sgs Thomson Microelectronics | A hierarchical system for accessing resources |
US6553420B1 (en) * | 1998-03-13 | 2003-04-22 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6430618B1 (en) | 1998-03-13 | 2002-08-06 | Massachusetts Institute Of Technology | Method and apparatus for distributing requests among a plurality of resources |
US6601138B2 (en) | 1998-06-05 | 2003-07-29 | International Business Machines Corporation | Apparatus system and method for N-way RAID controller having improved performance and fault tolerance |
US6240476B1 (en) * | 1998-08-21 | 2001-05-29 | International Business Machines Corporation | Dynamic allocation of bus master control lines to peripheral devices |
US6976083B1 (en) | 1999-02-19 | 2005-12-13 | International Business Machines Corporation | Apparatus for providing direct data processing access using a queued direct input-output device |
US6332171B1 (en) * | 1999-02-19 | 2001-12-18 | International Business Machines Corporation | Self-contained queues with associated control information for receipt and transfer of incoming and outgoing data using a queued direct input-output device |
US6901456B1 (en) * | 1999-06-18 | 2005-05-31 | Lsi Logic Corporation | Method and system for SCSI host bus interconnection |
US6453376B1 (en) * | 1999-10-21 | 2002-09-17 | Sony Corporation | Method for implementing scheduling mechanisms with selectable resource modes |
JP2001318897A (ja) * | 2000-05-02 | 2001-11-16 | Nec Corp | ユーザ認証方法、これに用いるネットワークシステム、及びその制御プログラムを記録した記録媒体 |
US20020103907A1 (en) * | 2000-06-20 | 2002-08-01 | Erik Petersen | System and method of storing data to a recording medium |
GB2367913A (en) * | 2000-09-16 | 2002-04-17 | Motorola Inc | Processor resource scheduler |
US6625709B2 (en) * | 2000-10-30 | 2003-09-23 | Microsoft Corporation | Fair share dynamic resource allocation scheme with a safety buffer |
US7124224B2 (en) * | 2000-12-22 | 2006-10-17 | Intel Corporation | Method and apparatus for shared resource management in a multiprocessing system |
ES2185496B1 (es) * | 2001-07-17 | 2005-06-01 | Universidad Politecnica De Valencia | Equipo y metodo en linea para la deteccion, determinacion de la evolucion y cuantificacion de biomasa microbiana y otras sustancias que absorben a lo largo del espectro de luz durante el desarrollo de procesos biotecnologicos. |
GB0118294D0 (en) * | 2001-07-27 | 2001-09-19 | Ibm | Method and system for deadlock detection and avoidance |
US7315911B2 (en) * | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US7340555B2 (en) | 2001-09-28 | 2008-03-04 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US7536495B2 (en) * | 2001-09-28 | 2009-05-19 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
US7146448B2 (en) * | 2001-09-28 | 2006-12-05 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US20030154271A1 (en) * | 2001-10-05 | 2003-08-14 | Baldwin Duane Mark | Storage area network methods and apparatus with centralized management |
US6848020B2 (en) | 2001-11-27 | 2005-01-25 | International Business Machines Corporation | Command aging method for data storage devices |
US7346135B1 (en) | 2002-02-13 | 2008-03-18 | Marvell International, Ltd. | Compensation for residual frequency offset, phase noise and sampling phase offset in wireless networks |
US7085764B2 (en) * | 2002-05-13 | 2006-08-01 | International Business Machines Corporation | System, method and program product for centrally managing agents |
US6898600B2 (en) * | 2002-05-16 | 2005-05-24 | International Business Machines Corporation | Method, system, and program for managing database operations |
US7865547B2 (en) * | 2002-09-12 | 2011-01-04 | Siemens Enterprise Communications, Inc. | System and method for accessing busy IP network resources |
US7263153B2 (en) | 2002-10-09 | 2007-08-28 | Marvell International, Ltd. | Clock offset compensator |
US7319705B1 (en) | 2002-10-22 | 2008-01-15 | Marvell International Ltd. | Programmable pre-emphasis circuit for serial ATA |
US7895328B2 (en) * | 2002-12-13 | 2011-02-22 | International Business Machines Corporation | System and method for context-based serialization of messages in a parallel execution environment |
US7246192B1 (en) | 2003-01-10 | 2007-07-17 | Marvell International Ltd. | Serial/parallel ATA controller and converter |
US7698483B2 (en) | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
US7512717B2 (en) * | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US8102843B2 (en) | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US8032659B2 (en) | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
US7188209B2 (en) * | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
US7493416B2 (en) * | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7953074B2 (en) | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
US7219183B2 (en) * | 2003-01-21 | 2007-05-15 | Nextio, Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7617333B2 (en) | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
US7502370B2 (en) | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
US7457906B2 (en) * | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7046668B2 (en) | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
US7174413B2 (en) | 2003-01-21 | 2007-02-06 | Nextio Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
US7664909B2 (en) | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
US7917658B2 (en) | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
US7836211B2 (en) | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
US7134125B2 (en) * | 2003-02-07 | 2006-11-07 | Intel Corporation | Method for firmware to provide seamless regulation of system resources and extend additional configuration methods for system resource management |
US6941396B1 (en) * | 2003-02-19 | 2005-09-06 | Istor Networks, Inc. | Storage controller redundancy using bi-directional reflective memory channel |
US7290168B1 (en) | 2003-02-28 | 2007-10-30 | Sun Microsystems, Inc. | Systems and methods for providing a multi-path network switch system |
US7430568B1 (en) | 2003-02-28 | 2008-09-30 | Sun Microsystems, Inc. | Systems and methods for providing snapshot capabilities in a storage virtualization environment |
US7236987B1 (en) | 2003-02-28 | 2007-06-26 | Sun Microsystems Inc. | Systems and methods for providing a storage virtualization environment |
US7383381B1 (en) | 2003-02-28 | 2008-06-03 | Sun Microsystems, Inc. | Systems and methods for configuring a storage virtualization environment |
US8930583B1 (en) | 2003-09-18 | 2015-01-06 | Marvell Israel (M.I.S.L) Ltd. | Method and apparatus for controlling data transfer in a serial-ATA system |
CN1306407C (zh) * | 2003-09-30 | 2007-03-21 | 国际商业机器公司 | 为动态提供而自主地自学习资源选择的方法和*** |
US7512948B2 (en) * | 2003-11-20 | 2009-03-31 | International Business Machines Corporation | Method, system, and program for managing operation requests using different resources |
US8584129B1 (en) * | 2004-02-20 | 2013-11-12 | Oracle America, Inc. | Dispenser determines responses to resource requests for a single respective one of consumable resource using resource management policy |
US7373448B2 (en) * | 2004-03-29 | 2008-05-13 | International Business Machines Corporation | Method, system, and program for building a queue to test a device |
US20050240934A1 (en) * | 2004-04-21 | 2005-10-27 | Hewlett-Packard Development Company, L.P. | Task management based on system utilization |
US7941799B2 (en) | 2004-05-27 | 2011-05-10 | International Business Machines Corporation | Interpreting I/O operation requests from pageable guests without host intervention |
US7958292B2 (en) | 2004-06-23 | 2011-06-07 | Marvell World Trade Ltd. | Disk drive system on chip with integrated buffer memory and support for host memory access |
JP4305378B2 (ja) * | 2004-12-13 | 2009-07-29 | ソニー株式会社 | データ処理システム、アクセス制御方法、その装置およびそのプログラム |
US7480781B2 (en) * | 2004-12-30 | 2009-01-20 | Intel Corporation | Apparatus and method to merge and align data from distributed memory controllers |
US7543096B2 (en) * | 2005-01-20 | 2009-06-02 | Dot Hill Systems Corporation | Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory |
US7957413B2 (en) * | 2005-04-07 | 2011-06-07 | International Business Machines Corporation | Method, system and program product for outsourcing resources in a grid computing environment |
US20060259733A1 (en) * | 2005-05-13 | 2006-11-16 | Sony Computer Entertainment Inc. | Methods and apparatus for resource management in a logically partitioned processing environment |
US8745326B2 (en) * | 2005-06-02 | 2014-06-03 | Seagate Technology Llc | Request priority seek manager |
US9183087B2 (en) * | 2005-06-07 | 2015-11-10 | Seagate Technology Llc | Data storage subgroup with local and shared resources |
US8086723B2 (en) * | 2006-05-17 | 2011-12-27 | Alcatel Lucent | Apparatus and methods for managing communication system resources |
JP4901310B2 (ja) * | 2006-05-31 | 2012-03-21 | 株式会社日立製作所 | 記憶制御装置及び記憶制御装置のコマンド実行数制御方法 |
US7536508B2 (en) * | 2006-06-30 | 2009-05-19 | Dot Hill Systems Corporation | System and method for sharing SATA drives in active-active RAID controller system |
US20080059720A1 (en) * | 2006-09-05 | 2008-03-06 | Rothman Michael A | System and method to enable prioritized sharing of devices in partitioned environments |
US7681089B2 (en) * | 2007-02-20 | 2010-03-16 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
JP2008226040A (ja) * | 2007-03-14 | 2008-09-25 | Hitachi Ltd | 情報処理装置及びコマンド多重度制御方法 |
US8068114B2 (en) * | 2007-04-30 | 2011-11-29 | Advanced Micro Devices, Inc. | Mechanism for granting controlled access to a shared resource |
US8700830B2 (en) * | 2007-11-20 | 2014-04-15 | Spansion Llc | Memory buffering system that improves read/write performance and provides low latency for mobile systems |
US8769048B2 (en) | 2008-06-18 | 2014-07-01 | Commvault Systems, Inc. | Data protection scheduling, such as providing a flexible backup window in a data protection system |
US9128883B2 (en) | 2008-06-19 | 2015-09-08 | Commvault Systems, Inc | Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail |
US8352954B2 (en) | 2008-06-19 | 2013-01-08 | Commvault Systems, Inc. | Data storage resource allocation by employing dynamic methods and blacklisting resource request pools |
US8321869B1 (en) * | 2008-08-01 | 2012-11-27 | Marvell International Ltd. | Synchronization using agent-based semaphores |
US8725688B2 (en) | 2008-09-05 | 2014-05-13 | Commvault Systems, Inc. | Image level copy or restore, such as image level restore without knowledge of data object metadata |
US8676976B2 (en) | 2009-02-25 | 2014-03-18 | International Business Machines Corporation | Microprocessor with software control over allocation of shared resources among multiple virtual servers |
JP5035469B2 (ja) * | 2009-03-31 | 2012-09-26 | 富士通株式会社 | データ転送回路及びデータ転送方法 |
US8522250B2 (en) | 2010-09-29 | 2013-08-27 | International Business Machines Corporation | Managing access to a shared resource in a data processing system |
JP2013164820A (ja) * | 2012-02-13 | 2013-08-22 | Fujitsu Ltd | 評価支援方法、評価支援プログラムおよび評価支援装置 |
JP5891890B2 (ja) * | 2012-03-26 | 2016-03-23 | 富士通株式会社 | ストレージシステム、ストレージ装置およびデータ復元方法 |
US9633216B2 (en) | 2012-12-27 | 2017-04-25 | Commvault Systems, Inc. | Application of information management policies based on operation with a geographic entity |
US20140258577A1 (en) * | 2013-03-11 | 2014-09-11 | Futurewei Technologies, Inc. | Wire Level Virtualization Over PCI-Express |
US9459968B2 (en) | 2013-03-11 | 2016-10-04 | Commvault Systems, Inc. | Single index to query multiple backup formats |
JP6079347B2 (ja) * | 2013-03-21 | 2017-02-15 | 富士通株式会社 | 制御装置、ストレージシステム、及び制御プログラム |
US9372642B2 (en) | 2013-07-22 | 2016-06-21 | International Business Machines Corporation | RAID 10 reads optimized for solid state drives |
US9798596B2 (en) | 2014-02-27 | 2017-10-24 | Commvault Systems, Inc. | Automatic alert escalation for an information management system |
US9740574B2 (en) | 2014-05-09 | 2017-08-22 | Commvault Systems, Inc. | Load balancing across multiple data paths |
US11249858B2 (en) | 2014-08-06 | 2022-02-15 | Commvault Systems, Inc. | Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host |
US9852026B2 (en) | 2014-08-06 | 2017-12-26 | Commvault Systems, Inc. | Efficient application recovery in an information management system based on a pseudo-storage-device driver |
US9734098B2 (en) * | 2015-03-31 | 2017-08-15 | Sandisk Technologies Llc | Memory bus management |
US9766825B2 (en) | 2015-07-22 | 2017-09-19 | Commvault Systems, Inc. | Browse and restore for block-level backups |
US10521368B2 (en) * | 2015-12-24 | 2019-12-31 | Arm Limited | Arbitration of requests requiring a variable number of resources |
US10108456B2 (en) * | 2016-02-02 | 2018-10-23 | Western Digital Technologies, Inc. | Accelerated atomic resource allocation on a multiprocessor platform |
US10296368B2 (en) | 2016-03-09 | 2019-05-21 | Commvault Systems, Inc. | Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount) |
US10838821B2 (en) | 2017-02-08 | 2020-11-17 | Commvault Systems, Inc. | Migrating content and metadata from a backup system |
US10740193B2 (en) | 2017-02-27 | 2020-08-11 | Commvault Systems, Inc. | Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount |
US10891069B2 (en) | 2017-03-27 | 2021-01-12 | Commvault Systems, Inc. | Creating local copies of data stored in online data repositories |
US10776329B2 (en) | 2017-03-28 | 2020-09-15 | Commvault Systems, Inc. | Migration of a database management system to cloud storage |
US11074140B2 (en) | 2017-03-29 | 2021-07-27 | Commvault Systems, Inc. | Live browsing of granular mailbox data |
US10303373B2 (en) * | 2017-06-12 | 2019-05-28 | Seagate Technology Llc | Prioritizing commands in a data storage device |
US10664352B2 (en) | 2017-06-14 | 2020-05-26 | Commvault Systems, Inc. | Live browsing of backed up data residing on cloned disks |
US10795927B2 (en) | 2018-02-05 | 2020-10-06 | Commvault Systems, Inc. | On-demand metadata extraction of clinical image data |
US10761942B2 (en) | 2018-03-12 | 2020-09-01 | Commvault Systems, Inc. | Recovery point objective (RPO) driven backup scheduling in a data storage management system using an enhanced data agent |
US10789387B2 (en) | 2018-03-13 | 2020-09-29 | Commvault Systems, Inc. | Graphical representation of an information management system |
US10860443B2 (en) | 2018-12-10 | 2020-12-08 | Commvault Systems, Inc. | Evaluation and reporting of recovery readiness in a data storage management system |
FR3094810B1 (fr) * | 2019-04-03 | 2023-01-13 | Thales Sa | Système sur puce comprenant une pluralité de ressources maitre |
US11275616B2 (en) | 2019-06-13 | 2022-03-15 | Apple Inc. | Resource access management |
US11308034B2 (en) | 2019-06-27 | 2022-04-19 | Commvault Systems, Inc. | Continuously run log backup with minimal configuration and resource usage from the source machine |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2017363B (en) * | 1978-03-27 | 1982-06-30 | Honeywell Inf Systems | Stacking apparatus in memory controller |
FR2617302B1 (fr) * | 1987-06-26 | 1993-06-18 | Servel Michel | Circuit pour memoriser des etats de disponibilite de ressources logiques, telles que cellules de memoire, et etablir des adresses de ressources libres |
US5193197A (en) * | 1987-09-24 | 1993-03-09 | Digital Equipment Corporation | Apparatus and method for distributed dynamic priority arbitration for access to a shared resource |
US5253347A (en) * | 1988-11-18 | 1993-10-12 | Bull Hn Information Systems Italia S.P.A. | Centralized arbitration system using the status of target resources to selectively mask requests from master units |
US5155854A (en) * | 1989-02-03 | 1992-10-13 | Digital Equipment Corporation | System for arbitrating communication requests using multi-pass control unit based on availability of system resources |
US5249279A (en) * | 1989-11-03 | 1993-09-28 | Compaq Computer Corporation | Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands |
US5235689A (en) * | 1990-06-11 | 1993-08-10 | Storage Technology Corporation | Interface circuit for dual port disk drive systems |
US5301333A (en) * | 1990-06-14 | 1994-04-05 | Bell Communications Research, Inc. | Tree structured variable priority arbitration implementing a round-robin scheduling policy |
US5265257A (en) * | 1990-06-22 | 1993-11-23 | Digital Equipment Corporation | Fast arbiter having easy scaling for large numbers of requesters, large numbers of resource types with multiple instances of each type, and selectable queuing disciplines |
US5206936A (en) * | 1990-08-31 | 1993-04-27 | International Business Machines Corporation | Apparatus for exchanging channel adapter status among multiple channel adapters |
US5220653A (en) * | 1990-10-26 | 1993-06-15 | International Business Machines Corporation | Scheduling input/output operations in multitasking systems |
JPH0675843A (ja) * | 1992-08-25 | 1994-03-18 | Nec Software Ltd | ファイル制御方式 |
US5457735A (en) * | 1994-02-01 | 1995-10-10 | Motorola, Inc. | Method and apparatus for queuing radio telephone service requests |
-
1995
- 1995-03-24 EP EP95302002A patent/EP0676699B1/de not_active Expired - Lifetime
- 1995-03-24 DE DE69521549T patent/DE69521549T2/de not_active Expired - Lifetime
- 1995-03-24 EP EP00200592A patent/EP1016957B1/de not_active Expired - Lifetime
- 1995-04-03 JP JP7077593A patent/JPH0844681A/ja active Pending
-
1996
- 1996-10-15 US US08/729,193 patent/US6009275A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US6009275A (en) | 1999-12-28 |
JPH0844681A (ja) | 1996-02-16 |
EP1016957A2 (de) | 2000-07-05 |
EP1016957B1 (de) | 2011-08-10 |
EP0676699B1 (de) | 2001-07-04 |
EP1016957A3 (de) | 2007-08-29 |
EP0676699A3 (de) | 1995-10-18 |
DE69521549D1 (de) | 2001-08-09 |
EP0676699A2 (de) | 1995-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69521549T2 (de) | Verfahren zur Verwaltung gemeinsamer Mittel mehrerer Verarbeitungseinheiten | |
DE69027515T2 (de) | Vorrichtung für Prioritätsarbitrierungskonditionierung bei gepufferter Direktspeicheradressierung | |
DE69429279T2 (de) | Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern | |
DE69108434T2 (de) | Mehrgruppen-Signalprozessor. | |
DE3689226T2 (de) | Multiprozessorsystem mit multihierarchischen Ebenen. | |
EP0179936B1 (de) | Verfahren und Einrichtung zur Steuerung einer Sammelleitung | |
DE69329904T2 (de) | Echtzeitverarbeitungssystem | |
DE3688763T2 (de) | Mehrfachport-Übertragungsadaptiervorrichtung. | |
DE3909948C2 (de) | ||
DE3650036T2 (de) | Mehrfachport-Diensterweiterungsadapter für Übertragungssteuerung. | |
DE69936060T2 (de) | Verfahren und Vorrichtung für eine verbesserte Schnittstelle zwischen Computerkomponenten | |
DE69131548T2 (de) | Schneller Arbitrierer mit einfacher Anpassung für eine grosse Anzahl von Anforderern mit grosser Anzahl von mehreren Betriebsmitteltypen und selektierbaren Methoden von Warteschleifen | |
DE69032614T2 (de) | Verfahren zur Datenverteilung in einer Speicherplattenanordnung | |
DE69334172T2 (de) | Verfahren und Vorrichtung zur Arbitrierung auf einen acyclischen gerichteten Graph | |
DE60034327T2 (de) | Verfahren und systeme zur implementierung von verwaltungsfunktionen für gemeinsam genutzte plattenanordnungen | |
DE3853574T2 (de) | Steuerung von Benutzerantworten in einem Übertragungsbus. | |
DE69128815T2 (de) | Warteschlangen für gegenseitige Verriegelung | |
DE69529381T2 (de) | Warteschlangen-Arbitrierungsmechanismus für Datenverarbeitungssystem | |
DE3783370T2 (de) | Schaltung zur blockierungsverhinderung von hochprioritaetsanforderungen an eine systemsteuerung. | |
DE68915701T2 (de) | Multiprozessorsystem mit verteilten gemeinsamen Betriebsmitteln und mit Verklemmungsverhinderung. | |
DE69222469T2 (de) | Verfahren zur Verminderung der Restbandbreite eines Busses in einem Rechnersystem | |
DE3883532T2 (de) | Knoten für die bedienung von unterbrechungsanforderungsnachrichten auf einem anstehenden bus. | |
DE3606211A1 (de) | Multiprozessor-computersystem | |
DE3689198T2 (de) | Systembus für Kommunikation zwischen Prozessoren. | |
DE3820544C2 (de) | Ortsbereichsnetzsystem mit einem hiermit gekoppelten Mehrcomputersystem und Verfahren zur Steuerung hiervon |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: FIENER, J., PAT.-ANW., 87719 MINDELHEIM |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: HYNIX SEMICONDUCTOR INC., ICHON, KYONGGI, KR |
|
8327 | Change in the person/name/address of the patent owner |
Owner name: MAGNACHIP SEMICONDUCTOR, LTD., CHEONGJU, KR |