DE10197143B4 - Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen - Google Patents
Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen Download PDFInfo
- Publication number
- DE10197143B4 DE10197143B4 DE10197143T DE10197143T DE10197143B4 DE 10197143 B4 DE10197143 B4 DE 10197143B4 DE 10197143 T DE10197143 T DE 10197143T DE 10197143 T DE10197143 T DE 10197143T DE 10197143 B4 DE10197143 B4 DE 10197143B4
- Authority
- DE
- Germany
- Prior art keywords
- interrupt
- disk drive
- controller
- input
- coupled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- 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/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Interrupt-Einrichtung
für einen
Plattencontroller (200), aufweisend:
eine erste Speichereinrichtungsschnittstelle (240);
eine zweite Speichereinrichtungsschnittstelle (250);
einen mit der ersten Speichereinrichtungsschnittstelle (240) gekoppelten ersten Plattenlaufwerk-Controller (210), wobei der erste Plattenlaufwerk-Controller einen Interrupt-Signaleingang (231) enthält;
einen mit der zweiten Speichereinrichtungsschnittstelle (250) gekoppelten zweiten Plattenlaufwerk-Controller (220); und
eine Interrupt-Aufbereitungseinheit (230), die ein erstes Interruptsignal (167) aus der ersten Speichereinrichtungsschnittstelle (240) und ein zweites Interrupt-Signal (221) aus dem zweiten Plattenlaufwerk-Controller (220) empfängt und an den Interrupt-Signaleingang (231) des ersten Plattenlaufwerk-Controllers (210) liefert, wobei die Interrupt-Aufbereitungseinheit (230) das erste Interruptsignal (167) blockiert, wenn festgestellt wurde, daß keine Speichereinrichtung (160) mit der ersten Speichereinrichtungsschnittstelle (240) gekoppelt ist.
eine erste Speichereinrichtungsschnittstelle (240);
eine zweite Speichereinrichtungsschnittstelle (250);
einen mit der ersten Speichereinrichtungsschnittstelle (240) gekoppelten ersten Plattenlaufwerk-Controller (210), wobei der erste Plattenlaufwerk-Controller einen Interrupt-Signaleingang (231) enthält;
einen mit der zweiten Speichereinrichtungsschnittstelle (250) gekoppelten zweiten Plattenlaufwerk-Controller (220); und
eine Interrupt-Aufbereitungseinheit (230), die ein erstes Interruptsignal (167) aus der ersten Speichereinrichtungsschnittstelle (240) und ein zweites Interrupt-Signal (221) aus dem zweiten Plattenlaufwerk-Controller (220) empfängt und an den Interrupt-Signaleingang (231) des ersten Plattenlaufwerk-Controllers (210) liefert, wobei die Interrupt-Aufbereitungseinheit (230) das erste Interruptsignal (167) blockiert, wenn festgestellt wurde, daß keine Speichereinrichtung (160) mit der ersten Speichereinrichtungsschnittstelle (240) gekoppelt ist.
Description
- Die Erfindung betrifft eine Interrupt-Einrichtung für einen Plattencontroller sowie ein Verfahren zum Weiterleiten von Interrupts aus Speichereinrichtungen.
- Computersysteme enthalten üblicherweise eine oder mehrere Plattenlaufwerkseinrichtungen. Diese Laufwerkseinrichtungen sind mit dem System über Controller gekoppelt, die üblicherweise in dem System-Chipsatz eingebettet sind. Üblicherweise können zwei Laufwerkseinrichtungen durch einen einzigen Controller unterstützt werden. Jedes der Laufwerke, das mit dem Controller gekoppelt ist, kann ein Interrupt an den Controller signalisieren, indem es bewirkt, daß eine Interrupt-Leitung angelegt wird. Die zwei mit dem Controller gekoppelten Laufwerke teilen sich eine einzige Interrupt-Leitung. Sobald ein Interrupt signalisiert worden ist, bestimmt eine auf einen Mikroprozessor ablaufende Interrupt-Behandlerroutine, welches der Laufwerke die Interrupt-Leitung anlegte.
- Viele Computersysteme stellen zwei Laufwerks-Controller zur Verfügung, die eine Unterstützung für eine Gesamtzahl von vier Laufwerken zur Verfügung stellen. Es wird jeweils ein Interrupt für jeden Laufwerks-Controller zur Verfügung gestellt. Die meisten Computersysteme reservieren zwei Interrupts für die Festplattenlaufwerksunterstützung. Die für diese Systeme geschriebene Software setzt voraus, daß nur diese zwei Interrupts Festplattenlaufwerks-Controllern zugewiesen sind.
- In einer Bemühung, die Systemleistung zu verbessern und die Systemkosten zu reduzieren, werden neue Laufwerksschnittstellentechnologien entwickelt. Es ist wahrscheinlich, daß die aufkommenden Laufwerksschnittstellentechnologien mit den aktuellen Laufwerks-Controllen, die oben beschrieben wurden, koexistieren müssen. Ein Problem besteht darin, daß entweder zusätzliche Interrupts für die Laufwerks-Controller erforderlich sein werden oder eine Technik zum gemeinsamen Benutzen der zwei zur Verfügung stehenden Interrupts erforderlich sein wird, damit die neueren Technologien koexistieren. Um die neuen Technologien zu unterstützen und die Änderung einer großen etablierten Softwarebasis zu vermeiden, ist es wünschenswerter, eine Schaltung zum gemeinsamen Benutzen von Interrupts durch die neueren und die aktuellen Laufwerkscontroller zur Verfügung zu stellen.
- Aus den US-Patentschriften Nr. 5,675,761 und 5,590,376 sind Plattenlaufwerks-Schnittstelleneinrichtungen und Controller bekannt, die Interrupt-Signale verarbeiten und weiterleiten.
- Aufgabe der Erfindung ist es, eine Schaltung und ein Verfahren zum gemeinsamen Benutzen von Interrupts durch mehrere Laufwerkscontroller zur Verfügung zu stellen.
- Diese Aufgabe wird erfindungsgemäß durch eine Interrupt-Einrichtung für einen Plattencontroller mit den Merkmalen des Patentanspruchs 1 bzw. ein Verfahren mit den Merkmalen des Anspruchs 7 gelöst.
- Vorteilhafte und/oder bevorzugte Weiterbildungen der Erfindung sind in den Unteransprüchen gekennzeichnet.
- Eine Einrichtung für eine gemeinsame Benutzung eines Interrupts durch einen Controller für eine parallele Speichereinrichtungsschnittstelle und einen Controller für eine serielle Speichereinrichtungsschnittstelle enthält eine Interrupt-Aufbereitungsschaltung, die ein aus der parallelen Speichereinrichtungsschnittstelle kommendes Interrupt-Signal maskiert, sofern keine Speichereinrichtung mit der parallelen Speichereinrichtungsschnittstelle gekoppelt ist. Die Maskierung des Interrupts der parallelen Speichereinrichtungsschnittstelle für den Fall, daß keine Speichereinrichtung mit der parallelen Speichereinrichtungsschnittstelle gekoppelt ist, gestattet es dem Controller für die serielle Speichereinrichtungsschnittstelle, das herkömmlicherweise der parallelen Speichereinrichtungsschnittstelle zugewiesene Interrupt ebenfalls zu benutzen.
- Obwohl die nachfolgenden Ausführungsbeispiele Festplatten-Controller und -Schnittstellen beschreiben, sind andere Ausführungsbeispiele möglich, die Controller und Schnittstellen für andere Arten von Speichereinrichtungen verwenden, beispielsweise optische Laufwerke, Bandlaufwerke, Diskettenaufwerke etc.
- Die Erfindung wird vollständiger klar aus der unten gegebenen detaillierten Beschreibung und aus den beigefügten Zeichnungen von Ausführungsbeispielen der Erfindung.
-
1 ist eine Blockdarstellung eines Computersystems mit einer Plattenlaufwerks-Controller-Einheit, die sowohl mit einer parallelen Plattenlaufwerksverbindung als auch einer seriellen Plattenlaufwerksverbindung gekoppelt ist. -
2 ist eine Blockdarstellung eines Ausführungsbeispiels einer Plattenlaufwerks-Controller-Einheit, die einen Controller für ein paralleles Plattenlaufwerk und einen Controller für ein serielles Plattenlaufwerk enthält. -
3 ist eine Blockdarstellung eines Ausführungsbeispiels einer Interrupt-Aufbereitungslogikeinheit. -
4 ist eine Blockdarstellung eines zusätzlichen Ausführungsbeispiels einer Interrupt-Aufbereitungslogikeinheit. -
5 ist eine Blockdarstellung eines weiteren Ausführungsbeispiels einer Interrupt-Aufbereitungslogikeinheit. -
6 ist eine Blockdarstellung eines weiteren Ausführungsbeispiels einer Interrupt-Aufbereitungslogikeinheit. -
7 ist ein Ablaufdiagramm eines Ausführungsbeispiels eines Verfahrens zum gemeinsamen Benutzen eines Interrupts durch zwei Plattenlaufwerks-Controller. -
1 ist eine Blockdarstellung eines Systems100 , das einen mit einem Systemlogikbauelement120 gekoppelten Prozessor110 enthält. Das Systemlogikbauelement120 ist ferner mit einem Graphik-Controller130 und einem Systemspeicher140 gekoppelt. Das Systemlogikbauelement120 ist außerdem mit einem System-Eingabe/Ausgabe-Hub150 gekoppelt. Das System-Eingabe/Ausgabe-Hub150 enthält eine Laufwerks-Controller-Einheit200 , die unten vollständiger in Verbindung mit -
2 diskutiert wird. Die Laufwerks-Controller-Einheit200 ist mit einem Plattenlaufwerk160 über eine parallele Plattenlaufwerksverbindung165 gekoppelt. Die Plattenlaufwerks-Controller-Einheit200 ist darüber hinaus mit einem Plattenlaufwerk170 über eine serielle Plattenlaufwerksverbindung175 gekoppelt. Das Plattenlaufwerk160 ist bei diesem Ausführungsbeispiel optional. -
2 ist eine Blockdarstellung, die die Plattenlaufwerks-Controller-Einheit200 enthält. Die Plattenlaufwerks-Controller-Einheit200 enthält einen Parallel-Plattenlaufwerks-Controller210 und einen Seriell-Plattenlaufwerks-Controller220 . Der Seriell-Plattenlaufwerks-Controller220 ist mit dem Plattenlaufwerk170 über die serielle Plattenlaufwerksverbindung175 und eine serielle Plattenlaufwerksschnittstelle250 gekoppelt. Der Parallel-Plattenlaufwerks-Controller210 ist mit dem Plattenlaufwerk160 über die parallele Plattenlaufwerksverbindung165 und eine parallele Plattenlaufwerksschnittstelle240 gekoppelt. Die parallele Plattenlaufwerksverbindung165 enthält mehrere Adress/Daten/Steuer-Leitungen166 und ein Interrupt Signal167 des parallelen Plattenlaufwerks. Das Interrupt-Signal167 des parallelen Plattenlaufwerks wird auf einen logisch hohen Spannungspegel VCD über einen Widerstand260 hochgezogen, wenn das Plattenlaufwerk160 das Interrupt-Signal167 des parallelen Plattenlaufwerks nicht auf einen logisch niedrigen Spannungspegel ansteuert. Wenn das Plattenlaufwerk160 nicht installiert ist, wird das Interrupt-Signal167 des parallelen Plattenlaufwerks auf VCC hochgezogen. - Die Plattenlaufwerks-Controller-Einheit
200 enthält darüber hinaus eine Interrupt-Aufbereitungslogikeinheit (ICL; Interrupt Conditioning Logic)230 . Die ICL230 empfängt das Interrupt-Signal167 des parallelen Plattenlaufwerks und ein Interrupt-Anhängig-Signal221 aus dem Seriell-Plattenlaufwerks-Controller220 . Bei diesem Ausführungsbeispiel weist die serielle Plattenlaufwerksverbindung175 keine spezielle Interruptleitung auf. Interrupts werden auf dem Plattenlaufwerk170 an den Seriell-Plattenlaufwerks-Controller220 mit Hilfe von Interrupt-Nachrichten übermittelt, die über die serielle Plattenlaufwerksverbindung175 geliefert werden. Wenn eine Interrupt-Nachricht an dem Seriell-Plattenlaufwerks-Controller220 empfangen wird, legt der Seriell-Plattenlaufwerks-Controller220 das Interrupt-Anhängig-Signal221 an. - Die ICL
230 dient zum Blockieren des Interrupt-Signals167 des parallelen Plattenlaufwerks, wenn das Plattenlaufwerk160 nicht installiert ist. Wenn das Plattenlaufwerk160 installiert ist, dann wird das Interrupt-Signal167 des parallelen Plattenlaufwerks zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers durchgeleitet. Die ICL leitet darüber hinaus das Interrupt-Anhängig-Signal221 zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers durch. Indem das Interrupt-Signal167 des parallelen Plattenlaufwerks blockiert wird, wenn kein Laufwerk mit der parallelen Plattenlaufwerksschnittstelle240 gekoppelt ist, gestattet die ICL es dem Seriell-Plattenlaufwerks-Controller220 , den Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers mitzubenutzen. - Ohne die ICL wäre eine gemeinsame Benutzung des Interrupts nur möglich, wenn sowohl das Plattenlaufwerk
160 als auch das Plattenlaufwerk170 installiert sind. Dies beruht darauf, daß das Interrupt-Signal167 des parallelen Plattenlaufwerks auf einen Angelegt-Zustand hochgezogen wird, wenn kein Laufwerk installiert ist. Typische bekannte Computer systeme befassen sich mit dem angelegten Plattenlaufwerks-Interrupt-Signal im Fall, daß kein Laufwerk installiert ist, indem sie das Interrupt am System-Interrupt-Controller maskieren. Wenn sich mehrere Plattenlaufwerks-Controller das Interrupt teilen, würde jedoch ein einfaches Maskieren des Interrupts am System-Interrupt-Controller das gemeinsame Benutzen unmöglich machen. -
3 ist eine Blockdarstellung eines Ausführungsbeispiels der ICL230 . Die ICL230 enthält ein UND-Gatter233 , ein ODER-Gatter234 und ein Maskenregister232 . Wenn das Computersystem100 erstmals gestartet wird, fragt das System-Basis-Eingabe/Ausgabe-System (BIOS), welches ein auf dem Prozessor110 ablaufender Softwareteilnehmer ist, die Plattenlaufwerksschnittstellen ab, um zu bestimmen, welche Plattenlaufwerke installiert sind. - Obwohl das aktuelle Ausführungsbeispiel das BIOS-Abfragen der Plattenlaufwerksschnittstellen zum Bestimmen, welche Plattenlaufwerke installiert sind, beschreibt, sind andere Ausführungsbeispiele möglich, bei denen eine in Hardware implementierte Zustandsmaschine die Abfrageoperationen ohne Softwareeingriff durchführt.
- Wenn herausgefunden wird, daß kein Laufwerk mit der parallelen Laufwerksschnittstelle
240 gekoppelt ist, dann schreibt das BIOS eine „1" in das Maskenregister232 . Der Wert des Maskenregisters wird invertiert und zu einem Eingang des UND-Gatters233 geliefert. Der andere Eingang des UND-Gatters233 empfängt das Interrupt-Signal167 des parallelen Plattenlaufwerks. Wenn das Maskenregister232 eine „1" enthält, so wird der Ausgang des UND-Gatters233 stets eine „0" zeigen, wodurch das Interrupt167 des parallelen Plattenlaufwerks maskiert (ausgeblendet) wird. Wenn das Maskenregister232 eine „0" enthält, dann wird jeder beliebige Wert, der zu dem UND-Gatter233 von dem Interrupt-Signal167 des parallelen Plattenlaufwerks geliefert wird, zu dem ODER-Gatter234 durchgeleitet. Folglich leitet die ICL230 stets das Interrupt-Anhängig-Signal221 zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers weiter und leitet das Interrupt-Signal167 des parallelen Plattenlaufwerks an den Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers nur dann weiter, wenn das BIOS erfaßt hat, daß ein Laufwerk mit der parallelen Plattenlaufwerksschnittstelle240 gekoppelt ist, und das Maskenregister232 nicht gesetzt wird. -
4 ist eine Blockdarstellung eines anderen Ausführungsbeispiels einer ICL-Einheit. Dieses Ausführungsbeispiel kann austauschbar mit oben in Verbindung mit3 erörterten Ausführungsbeispiel verwendet werden. Die ICL400 gemäß4 basiert auf einem 8-Bit-Decodierer410 . Der Decodierer410 empfängt an seinem Eingang C das Interrupt-Anhängig-Signal221 aus dem Seriell-Plattenlaufwerk-Controller220 . Der B-Eingang empfängt das Interrupt-Signal167 des parallelen Plattenlaufwerks. Der A-Eingang empfängt das invertierte Ausgangssignal eines Flip-Flops430 . Wenn das BIOS kein Bit der parallelen Plattenlaufwerksschnittstelle gekoppelte Plattenlaufwerk erfaßt, dann wird eine „1" zu dem Flip-Flop430 über das Maskensignal431 geliefert. Das Schreibsignal432 wird verwendet, um den über das Maskensignal431 gelieferten Wert zu takten. - Wenn kein Laufwerk an der parallelen Plattenlaufwerksschnittstelle erfaßt wird, dann empfängt der A-Eingang des Decodierers
410 eine „0" aus dem Flip-Flop430 . Wenn der A-Eingang eine „0" empfängt und das Interrupt167 des parallelen Plattenlaufwerks angelegt ist, wird keiner der Decodiererausgänge, die mit dem ODER-Gatter420 gekoppelt sind, angelegt. Folglich wird das Interrupt167 des parallelen Plattenlaufwerks maskiert. Immer dann, wenn das Interrupt-Anhängig-Signal221 angelegt wird, wird garantiert, daß einer der mit dem ODER-Gatter420 gekoppelten Decodiererausgänge angelegt wird. Auf diese Weise wird das Interrupt-Anhängig-Signal221 aus dem Seriell-Plattenlaufwerks-Controller220 stets zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers weitergeleitet und das Interrupt167 des parallelen Plattenlaufwerks zu dem Interrupt-Eingang des Parallel-Plattenlaufwerks-Controllers nur dann weitergeleitet, wenn das BIOS das Vorhandensein eines Plattenlaufwerks an der parallelen Plattenlaufwerksschnittstelle240 erfaßt hat. -
5 ist eine Blockdarstellung eines zusätzlichen Ausführungsbeispiels einer ICL-Einheit. Die ICL500 gemäß5 basiert auf einer Nachschlagetabelle eines dynamischen Speichers mit wahlfreiem Zugriff (LUT; Look-Up-Table)510 . Die LUT510 enthält einen Schreibport512 , der für den Prozessor110 über einen CPU-Zugriffspfad515 zugreifbar ist. Das BIOS kann veranlassen, daß geeignete Werte in die LUT510 geschrieben werden, wobei die Werte darauf basieren, ob das BIOS ein mit der parallelen Plattenlaufwerksschnittstelle240 gekoppeltes Plattenlaufwerk erfaßt hat oder nicht. Auf die in der LUT510 gespeicherten Werte wird über die Adreßeingänge A1 und A0 zugegriffen. Die A1- und A0-Eingänge sind mit dem Interrupt-Signal167 des parallelen Plattenlaufwerks beziehungsweise dem Interrupt-Anhängig-Signal221 gekoppelt. Der an den Ausgang513 gebrachte Wert hängt von den Zuständen von den Eingängen A1 und A0 ab. Indem die LUT510 mit geeigneten Werten programmiert wird, kann die LUT510 das Interrupt-Signal167 des parallelen Plattenlaufwerks daran hindern, zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controller weitergeleitet zu werden, so lange kein Plattenlaufwerk an der parallelen Plattenlaufwerksschnittstelle240 erfaßt worden ist. Darüber hinaus gestattet die LUT510 , daß das Interrupt-Anhängig-Signal221 stets zu dem Interrupt-Eingang231 des Parallel-Plattenlaufwerks-Controllers weitergeleitet wird. -
6 ist eine Blockdarstellung eines weiteren Ausführungsbeispiels einer ICL, die auf einem Nur-Lese-Speicher (ROM)610 basiert. Die ICL600 enthält den ROM610 und ein Flip-Flop630 . Die ICL600 gemäß6 arbeitet weitgehend auf die gleiche weise wie das LUT-basierte Ausführungsbeispiel gemäß5 . Da jedoch der ROM610 vor dem Systembetrieb programmiert werden muß und da das BIOS die Werte des ROM610 nicht ändern kann, wird das Flip-Flop630 verwendet, um die den Adreßeingängen des ROM610 präsentierten Werte zu manipulieren, um auf verschiedene Speicherplätze in Abhängigkeit davon zuzugreifen, ob das BIOS ein Plattenlaufwerk, das mit der parallelen Plattenlaufwerksschnittstelle240 gekoppelt ist, erfaßt hat oder nicht. Sofern kein Plattenlaufwerk erfaßt worden ist, liefert das BIOS eine „1" an den Masken-Eingang631 des Flip-Flop630 . Die „1" wird in den Flip-Flop630 über das Schreibsignal632 getaktet. Das Ausgangssignal des Flip-Flop630 wird an einen Adreßeingang des ROM610 zusammen mit dem Interrupt-Anhängig-Signal221 und dem Interrupt-Signal167 des parallelen Plattenlaufwerks geliefert. Die richtigen Daten werden von dem Ausgang612 des ROM610 an den Interrupt-Eingang231 des Parallel-Plattenlaufwerk-Controllers ausgegeben. -
7 ist ein Ablaufdiagramm eines Ausführungsbeispiels eines Verfahrens zum gemeinsamen Benutzen eines Interrupts durch zwei Plattenlaufwerks-Controller. Beim Block710 wird eine Bestimmung darüber getroffen, ob ein Plattenlaufwerk mit einer ersten Plattenlaufwerksschnittstelle gekoppelt ist. Sofern ein Plattenlaufwerk erfaßt wird, wird dann am Block730 ein erstes Interrupt aus der ersten Plattenlaufwerksschnittstelle zu einem Interrupt-Eingang eines ersten Plattenlaufwerks-Controllers geliefert. Wenn kein Laufwerk beim Block710 erfaßt wird, dann wird beim Block720 ein Maskenbit gesetzt. Am Block740 wird das erste Interrupt daran gehindert, aus der ersten Plattenlaufwerksschnittstelle an den Interrupt-Eingang des ersten Plattencontrollers geliefert zu werden. Schließlich wird am Block750 ein zweites Interrupt aus einem zweiten Plattenlaufwerks-Controller an den Interrupt-Eingang des ersten Plattenlaufwerks-Controllers geliefert.
Claims (8)
- Interrupt-Einrichtung für einen Plattencontroller (
200 ), aufweisend: eine erste Speichereinrichtungsschnittstelle (240 ); eine zweite Speichereinrichtungsschnittstelle (250 ); einen mit der ersten Speichereinrichtungsschnittstelle (240 ) gekoppelten ersten Plattenlaufwerk-Controller (210 ), wobei der erste Plattenlaufwerk-Controller einen Interrupt-Signaleingang (231 ) enthält; einen mit der zweiten Speichereinrichtungsschnittstelle (250 ) gekoppelten zweiten Plattenlaufwerk-Controller (220 ); und eine Interrupt-Aufbereitungseinheit (230 ), die ein erstes Interruptsignal (167 ) aus der ersten Speichereinrichtungsschnittstelle (240 ) und ein zweites Interrupt-Signal (221 ) aus dem zweiten Plattenlaufwerk-Controller (220 ) empfängt und an den Interrupt-Signaleingang (231 ) des ersten Plattenlaufwerk-Controllers (210 ) liefert, wobei die Interrupt-Aufbereitungseinheit (230 ) das erste Interruptsignal (167 ) blockiert, wenn festgestellt wurde, daß keine Speichereinrichtung (160 ) mit der ersten Speichereinrichtungsschnittstelle (240 ) gekoppelt ist. - Interrupt-Einrichtung nach Anspruch 1, dadurch gekennzeichnet, daß die Interrupt-Aufbereitungseinheit (
230 ) ein UND-Gatter (233 ) und ein ODER-Gatter (234 ) enthält, wobei das UND-Gatter (233 ) einen mit dem ersten Interruptsignal (167 ) gekoppelten ersten Eingang und einen mit einem Maskenregister (232 ) gekoppelten zweiten Eingang aufweist, wobei das Maskenregister (232 ) einen Wert speichert, der anzeigt, ob eine Speichereinrichtung mit der ersten Speichereinrichtungsschnittstelle (240 ) gekoppelt ist oder nicht, wobei ein erster Eingang des ODER-Gatters (234 ) mit einem Ausgang des UND-Gatters (233 ) gekoppelt ist und ein zweiter Eingang des ODER-Gatters (234 ) mit dem zweiten Interrupt-Signal (221 ) gekoppelt ist, wobei ein Ausgang des ODER-Gatters (234 ) mit dem Interrupt-Signaleingang (231 ) des ersten Plattenlaufwerk-Controllers (210 ) gekoppelt ist. - Interrupt-Einrichtung nach Anspruch 2, dadurch gekennzeichnet, daß der durch das Maskenregister (
232 ) angezeigte Wert vor der Lieferung an den zweiten Eingang des UND-Gatters (233 ) invertiert wird. - Interrupt-Einrichtung nach einem der Ansprüche 1–3, dadurch gekennzeichnet, daß die erste Speichereinrichtungsschnittstelle (
240 ) eine parallele Schnittstelle ist. - Interrupt-Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Speichereinrichtungsschnittstelle (
250 ) eine serielle Schnittstelle ist. - Interrupt-Einrichtung nach Anspruch 5, dadurch gekennzeichnet, daß der zweite Plattenlaufwerk-Controller (
220 ) das zweite Interrupt-Signal (221 ) in Erwiderung einer aus der seriellen Schnittstelle (250 ) empfangenen Interrupt-Nachricht anlegt. - Verfahren zum Weiterleiten von Interrupts aus Speichereinrichtungen, umfassend: Bestimmen (
710 ), ob eine Speichereinrichtung (160 ) mit einer ersten Speichereinrichtungsschnittstelle (240 ) gekoppelt ist; Setzen (720 ) eines Maskenbits, sofern keine Speichereinrichtung mit der ersten Speichereinrichtungsschnittstelle (240 ) gekoppelt ist; Liefern (730 ) eines auf einer Interrupt-Leitung anliegenden ersten Interrupts (167 ) aus der ersten Speicherein richtungsschnittstelle (240 ) an einen Interrupt-Eingang eines ersten Controllers (210 ), sofern das Maskenbit nicht gesetzt ist; Verhindern (740 ), daß ein Signal auf der Interrupt-Leitung aus der ersten Speichereinrichtungsschnittstelle (240 ) an den Interrupt-Eingang des ersten Controllers (210 ) geliefert wird, sofern das Maskenbit gesetzt ist; und Liefern (750 ) eines zweiten Interrupts aus einem zweiten Controller (220 ) an den Interrupt-Eingang des ersten Controllers (210 ). - Verfahren nach Anspruch 7, dadurch gekennzeichnet, daß das Liefern des zweiten Interrupts ein vorheriges Liefern einer Interrupt-Nachricht aus einer zweiten Speichereinrichtungsschnittstelle (
250 ) an den zweiten Controller (220 ) einschließt.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/751,599 US6772258B2 (en) | 2000-12-29 | 2000-12-29 | Method and apparatus for sharing an interrupt between disk drive interfaces |
US09/751,599 | 2000-12-29 | ||
PCT/US2001/050576 WO2002054257A2 (en) | 2000-12-29 | 2001-12-21 | Method and apparatus for sharing an interrupt between disk drive interfaces |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10197143T5 DE10197143T5 (de) | 2004-04-29 |
DE10197143B4 true DE10197143B4 (de) | 2006-10-19 |
Family
ID=25022723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10197143T Expired - Fee Related DE10197143B4 (de) | 2000-12-29 | 2001-12-21 | Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen |
Country Status (9)
Country | Link |
---|---|
US (1) | US6772258B2 (de) |
KR (1) | KR100633853B1 (de) |
CN (1) | CN1255717C (de) |
AU (1) | AU2002234130A1 (de) |
DE (1) | DE10197143B4 (de) |
GB (1) | GB2388226B (de) |
HK (1) | HK1059125A1 (de) |
TW (1) | TW588335B (de) |
WO (1) | WO2002054257A2 (de) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870346B2 (en) | 2003-03-10 | 2011-01-11 | Marvell International Ltd. | Servo controller interface module for embedded disk controllers |
US7492545B1 (en) | 2003-03-10 | 2009-02-17 | Marvell International Ltd. | Method and system for automatic time base adjustment for disk drive servo controllers |
US7457903B2 (en) | 2003-03-10 | 2008-11-25 | Marvell International Ltd. | Interrupt controller for processing fast and regular interrupts |
US7039771B1 (en) | 2003-03-10 | 2006-05-02 | Marvell International Ltd. | Method and system for supporting multiple external serial port devices using a serial port controller in embedded disk controllers |
US20050021894A1 (en) * | 2003-07-24 | 2005-01-27 | Renesas Technology America, Inc. | Method and system for interrupt mapping |
EP1596305B1 (de) * | 2004-05-11 | 2007-07-11 | STMicroelectronics Limited | Unterbrechungsbehandlungssystem |
JP2005332438A (ja) * | 2004-05-18 | 2005-12-02 | Toshiba Corp | ディスク記憶装置及び同装置をホストと接続するためのインタフェース接続方法 |
US7603514B2 (en) * | 2005-03-31 | 2009-10-13 | Intel Corporation | Method and apparatus for concurrent and independent data transfer on host controllers |
JP4814617B2 (ja) * | 2005-11-01 | 2011-11-16 | 株式会社日立製作所 | ストレージシステム |
CN101211323B (zh) * | 2006-12-28 | 2011-06-22 | 联想(北京)有限公司 | 一种硬件中断的处理方法和处理装置 |
CN101937410B (zh) * | 2009-07-02 | 2012-07-25 | 宏正自动科技股份有限公司 | 控制设备及其方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590376A (en) * | 1992-11-13 | 1996-12-31 | Toshiba America Information Systems, Inc. | Apparatus and method for detecting and updating status of removable storage system using shared interrupt and software flag |
US5675761A (en) * | 1994-05-16 | 1997-10-07 | International Business Machines Corporation | Method and system for providing discontiguous drive support |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631670A (en) * | 1984-07-11 | 1986-12-23 | Ibm Corporation | Interrupt level sharing |
US4760516A (en) * | 1986-11-25 | 1988-07-26 | Dialogic Corporation | Peripheral interrupt interface for multiple access to an interrupt level |
US5057997A (en) | 1989-02-13 | 1991-10-15 | International Business Machines Corp. | Interruption systems for externally changing a context of program execution of a programmed processor |
US5187781A (en) * | 1989-12-19 | 1993-02-16 | International Business Machines Corp. | Shared hardware interrupt circuit for personal computers |
US5446877A (en) * | 1990-11-13 | 1995-08-29 | Nakamichi Peripherals Corporation | Method and apparatus for operation of a data archival apparatus allowing for coupling of the data archival device with an ide interface |
US5179704A (en) | 1991-03-13 | 1993-01-12 | Ncr Corporation | Method and apparatus for generating disk array interrupt signals |
TW276312B (de) | 1992-10-20 | 1996-05-21 | Cirrlis Logic Inc | |
US5475846A (en) | 1993-08-11 | 1995-12-12 | Databook Incorporated | Apparatus for processing PCMCIA interrupt requests |
US5506997A (en) * | 1994-01-28 | 1996-04-09 | Compaq Computer Corp. | Device for mapping a set of interrupt signals generated on a first type bus to a set of interrupt signals defined by a second type bus and combing the mapped interrupt signals with a set of interrupt signals of the second type bus |
US5745771A (en) | 1994-07-08 | 1998-04-28 | Hitachi, Ltd. | Disc array device and disc control method |
US5740450A (en) | 1994-07-26 | 1998-04-14 | United Microelectronics Corporation | Method to automatically detect the interrupt channel status of an add-on card |
US5535420A (en) * | 1994-12-14 | 1996-07-09 | Intel Corporation | Method and apparatus for interrupt signaling in a computer system |
KR0154826B1 (ko) * | 1995-05-29 | 1998-11-16 | 김광호 | 통신 인터럽트 요구신호 충돌방지를 위한 인터페이스 회로 |
JP3208332B2 (ja) * | 1995-12-20 | 2001-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割込み装置 |
US5805929A (en) * | 1996-01-29 | 1998-09-08 | International Business Machines Corporation | Multiple independent I/O functions on a PCMCIA card share a single interrupt request signal using an AND gate for triggering a delayed RESET signal |
JP2809187B2 (ja) | 1996-04-15 | 1998-10-08 | 日本電気株式会社 | 割込み線共有回路および割込み線共有方法 |
US5911077A (en) | 1996-05-31 | 1999-06-08 | Micron Electronics, Inc. | System for multithreaded disk drive operation in a computer system |
US5875349A (en) | 1996-12-04 | 1999-02-23 | Intersect Technologies, Inc. | Method and arrangement for allowing a computer to communicate with a data storage device |
US5925115A (en) * | 1997-03-10 | 1999-07-20 | Vlsi Technology, Inc. | Method and system for extending interrupt sources and implementing hardware based and software based prioritization of interrupts for an embedded processor |
US6003109A (en) * | 1997-08-15 | 1999-12-14 | Lsi Logic Corporation | Method and apparatus for processing interrupts in a data processing system |
US6263395B1 (en) | 1999-01-06 | 2001-07-17 | Compaq Computer Corp. | System and method for serial interrupt scanning |
US6279067B1 (en) * | 1999-01-13 | 2001-08-21 | Ati International Srl | Method and apparatus for detecting interrupt requests in video graphics and other systems |
US6401154B1 (en) * | 2000-05-05 | 2002-06-04 | Advanced Micro Devices, Inc. | Flexible architecture for an embedded interrupt controller |
US20020116563A1 (en) * | 2000-12-12 | 2002-08-22 | Lever Paul D. | Apparatus and method to reduce interrupt latency in shared interrupt systems |
-
2000
- 2000-12-29 US US09/751,599 patent/US6772258B2/en not_active Expired - Lifetime
-
2001
- 2001-12-21 CN CNB018229220A patent/CN1255717C/zh not_active Expired - Fee Related
- 2001-12-21 GB GB0317007A patent/GB2388226B/en not_active Expired - Fee Related
- 2001-12-21 AU AU2002234130A patent/AU2002234130A1/en not_active Abandoned
- 2001-12-21 DE DE10197143T patent/DE10197143B4/de not_active Expired - Fee Related
- 2001-12-21 WO PCT/US2001/050576 patent/WO2002054257A2/en active Search and Examination
- 2001-12-21 KR KR1020037008863A patent/KR100633853B1/ko not_active IP Right Cessation
- 2001-12-25 TW TW090132183A patent/TW588335B/zh not_active IP Right Cessation
-
2004
- 2004-03-12 HK HK04101865A patent/HK1059125A1/xx not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590376A (en) * | 1992-11-13 | 1996-12-31 | Toshiba America Information Systems, Inc. | Apparatus and method for detecting and updating status of removable storage system using shared interrupt and software flag |
US5675761A (en) * | 1994-05-16 | 1997-10-07 | International Business Machines Corporation | Method and system for providing discontiguous drive support |
Also Published As
Publication number | Publication date |
---|---|
WO2002054257A2 (en) | 2002-07-11 |
US6772258B2 (en) | 2004-08-03 |
DE10197143T5 (de) | 2004-04-29 |
GB2388226B (en) | 2005-02-23 |
US20020087773A1 (en) | 2002-07-04 |
GB2388226A (en) | 2003-11-05 |
AU2002234130A1 (en) | 2002-07-16 |
KR20040004479A (ko) | 2004-01-13 |
CN1494676A (zh) | 2004-05-05 |
CN1255717C (zh) | 2006-05-10 |
WO2002054257A3 (en) | 2003-09-04 |
HK1059125A1 (en) | 2004-06-18 |
GB0317007D0 (en) | 2003-08-27 |
TW588335B (en) | 2004-05-21 |
KR100633853B1 (ko) | 2006-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69822221T2 (de) | Umleitung von interruptzielen unterstützende transaktionen sowie niveauabhängigeinterruptsemantik | |
DE69930614T2 (de) | VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen | |
DE19983026B4 (de) | Brücke zwischen zwei Bussen mit einem Puffer mit einer einstellbaren Mindestspeicherraummenge für ein Akzeptieren einer Schreibanforderung und Verfahren hierzu | |
DE4017902C2 (de) | ||
DE69209538T2 (de) | Automatische Konfiguration einer Einheit für koppelbare Rechner | |
DE69132377T2 (de) | Softwaresicherheitssystem | |
DE69131610T2 (de) | Ermittlung des Speicheradressraums durch Verwendung von programmierbaren Grenzregistern mit Komparatoren mit einzelnen Ausgängen | |
DE69725687T2 (de) | Transaktionsübertragung zwischen Datenbussen in einem Rechnersystem | |
DE69124946T2 (de) | Bidirektionaler FIFO-Puffer zur Schnittstellenbildung zwischen zwei Bussen | |
DE69905689T2 (de) | Verfahren und System zum Einstecken unter Spannung von Anpassungskarten in einer Buserweiterungsumgebung | |
DE3914265C2 (de) | ||
DE3780208T2 (de) | Textverarbeitungsapparat zur verarbeitung von texten gemaess verschiedenen ausgewaehlten textformaten. | |
EP0011685B1 (de) | Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung | |
DE10197143B4 (de) | Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen | |
DE69433130T2 (de) | Rechnersystem mit verändertem lokalen Datenbus | |
DE4035837A1 (de) | Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation | |
DE69423077T2 (de) | Steuerungsvorrichtungen für nichtflüchtige Speicheranordnungen | |
DE102009049078A1 (de) | Verwendung von Ausführer-Wissen über Speicherregion-Ordnungsanforderungen zum Modifizieren von Transaktionsattributen | |
DE69119149T2 (de) | Struktur zur direkten Speicher-zu-Speicher-Übertragung | |
DE2747633A1 (de) | Dv-system mit einer unterbrechungseinrichtung | |
DE69128985T2 (de) | IEEE488-Schnittstelle | |
DE4018481A1 (de) | Mikroprozessor hold- und lock-schaltung | |
DE3809831C2 (de) | ||
DE68924368T2 (de) | Datenverarbeitungssystem mit verzögertem Cache-Schreibvorgang. | |
DE69802290T2 (de) | Gemeinsame unterbrechungsverarbeitung in einem datenverarbeitungssystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law |
Ref document number: 10197143 Country of ref document: DE Date of ref document: 20040429 Kind code of ref document: P |
|
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20110701 |