DE10197143B4 - Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen - Google Patents

Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen Download PDF

Info

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
Application number
DE10197143T
Other languages
English (en)
Other versions
DE10197143T5 (de
Inventor
David Folsom Poisner
Thien Ern Bayan Baru Ooi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE10197143T5 publication Critical patent/DE10197143T5/de
Application granted granted Critical
Publication of DE10197143B4 publication Critical patent/DE10197143B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt

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.

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 Systems 100, das einen mit einem Systemlogikbauelement 120 gekoppelten Prozessor 110 enthält. Das Systemlogikbauelement 120 ist ferner mit einem Graphik-Controller 130 und einem Systemspeicher 140 gekoppelt. Das Systemlogikbauelement 120 ist außerdem mit einem System-Eingabe/Ausgabe-Hub 150 gekoppelt. Das System-Eingabe/Ausgabe-Hub 150 enthält eine Laufwerks-Controller-Einheit 200, die unten vollständiger in Verbindung mit
  • 2 diskutiert wird. Die Laufwerks-Controller-Einheit 200 ist mit einem Plattenlaufwerk 160 über eine parallele Plattenlaufwerksverbindung 165 gekoppelt. Die Plattenlaufwerks-Controller-Einheit 200 ist darüber hinaus mit einem Plattenlaufwerk 170 über eine serielle Plattenlaufwerksverbindung 175 gekoppelt. Das Plattenlaufwerk 160 ist bei diesem Ausführungsbeispiel optional.
  • 2 ist eine Blockdarstellung, die die Plattenlaufwerks-Controller-Einheit 200 enthält. Die Plattenlaufwerks-Controller-Einheit 200 enthält einen Parallel-Plattenlaufwerks-Controller 210 und einen Seriell-Plattenlaufwerks-Controller 220. Der Seriell-Plattenlaufwerks-Controller 220 ist mit dem Plattenlaufwerk 170 über die serielle Plattenlaufwerksverbindung 175 und eine serielle Plattenlaufwerksschnittstelle 250 gekoppelt. Der Parallel-Plattenlaufwerks-Controller 210 ist mit dem Plattenlaufwerk 160 über die parallele Plattenlaufwerksverbindung 165 und eine parallele Plattenlaufwerksschnittstelle 240 gekoppelt. Die parallele Plattenlaufwerksverbindung 165 enthält mehrere Adress/Daten/Steuer-Leitungen 166 und ein Interrupt Signal 167 des parallelen Plattenlaufwerks. Das Interrupt-Signal 167 des parallelen Plattenlaufwerks wird auf einen logisch hohen Spannungspegel VCD über einen Widerstand 260 hochgezogen, wenn das Plattenlaufwerk 160 das Interrupt-Signal 167 des parallelen Plattenlaufwerks nicht auf einen logisch niedrigen Spannungspegel ansteuert. Wenn das Plattenlaufwerk 160 nicht installiert ist, wird das Interrupt-Signal 167 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 ICL 230 empfängt das Interrupt-Signal 167 des parallelen Plattenlaufwerks und ein Interrupt-Anhängig-Signal 221 aus dem Seriell-Plattenlaufwerks-Controller 220. Bei diesem Ausführungsbeispiel weist die serielle Plattenlaufwerksverbindung 175 keine spezielle Interruptleitung auf. Interrupts werden auf dem Plattenlaufwerk 170 an den Seriell-Plattenlaufwerks-Controller 220 mit Hilfe von Interrupt-Nachrichten übermittelt, die über die serielle Plattenlaufwerksverbindung 175 geliefert werden. Wenn eine Interrupt-Nachricht an dem Seriell-Plattenlaufwerks-Controller 220 empfangen wird, legt der Seriell-Plattenlaufwerks-Controller 220 das Interrupt-Anhängig-Signal 221 an.
  • Die ICL 230 dient zum Blockieren des Interrupt-Signals 167 des parallelen Plattenlaufwerks, wenn das Plattenlaufwerk 160 nicht installiert ist. Wenn das Plattenlaufwerk 160 installiert ist, dann wird das Interrupt-Signal 167 des parallelen Plattenlaufwerks zu dem Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controllers durchgeleitet. Die ICL leitet darüber hinaus das Interrupt-Anhängig-Signal 221 zu dem Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controllers durch. Indem das Interrupt-Signal 167 des parallelen Plattenlaufwerks blockiert wird, wenn kein Laufwerk mit der parallelen Plattenlaufwerksschnittstelle 240 gekoppelt ist, gestattet die ICL es dem Seriell-Plattenlaufwerks-Controller 220, den Interrupt-Eingang 231 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 Plattenlaufwerk 170 installiert sind. Dies beruht darauf, daß das Interrupt-Signal 167 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 ICL 230. Die ICL 230 enthält ein UND-Gatter 233, ein ODER-Gatter 234 und ein Maskenregister 232. Wenn das Computersystem 100 erstmals gestartet wird, fragt das System-Basis-Eingabe/Ausgabe-System (BIOS), welches ein auf dem Prozessor 110 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 Maskenregister 232. Der Wert des Maskenregisters wird invertiert und zu einem Eingang des UND-Gatters 233 geliefert. Der andere Eingang des UND-Gatters 233 empfängt das Interrupt-Signal 167 des parallelen Plattenlaufwerks. Wenn das Maskenregister 232 eine „1" enthält, so wird der Ausgang des UND-Gatters 233 stets eine „0" zeigen, wodurch das Interrupt 167 des parallelen Plattenlaufwerks maskiert (ausgeblendet) wird. Wenn das Maskenregister 232 eine „0" enthält, dann wird jeder beliebige Wert, der zu dem UND-Gatter 233 von dem Interrupt-Signal 167 des parallelen Plattenlaufwerks geliefert wird, zu dem ODER-Gatter 234 durchgeleitet. Folglich leitet die ICL 230 stets das Interrupt-Anhängig-Signal 221 zu dem Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controllers weiter und leitet das Interrupt-Signal 167 des parallelen Plattenlaufwerks an den Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controllers nur dann weiter, wenn das BIOS erfaßt hat, daß ein Laufwerk mit der parallelen Plattenlaufwerksschnittstelle 240 gekoppelt ist, und das Maskenregister 232 nicht gesetzt wird.
  • 4 ist eine Blockdarstellung eines anderen Ausführungsbeispiels einer ICL-Einheit. Dieses Ausführungsbeispiel kann austauschbar mit oben in Verbindung mit 3 erörterten Ausführungsbeispiel verwendet werden. Die ICL 400 gemäß 4 basiert auf einem 8-Bit-Decodierer 410. Der Decodierer 410 empfängt an seinem Eingang C das Interrupt-Anhängig-Signal 221 aus dem Seriell-Plattenlaufwerk-Controller 220. Der B-Eingang empfängt das Interrupt-Signal 167 des parallelen Plattenlaufwerks. Der A-Eingang empfängt das invertierte Ausgangssignal eines Flip-Flops 430. Wenn das BIOS kein Bit der parallelen Plattenlaufwerksschnittstelle gekoppelte Plattenlaufwerk erfaßt, dann wird eine „1" zu dem Flip-Flop 430 über das Maskensignal 431 geliefert. Das Schreibsignal 432 wird verwendet, um den über das Maskensignal 431 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-Flop 430. Wenn der A-Eingang eine „0" empfängt und das Interrupt 167 des parallelen Plattenlaufwerks angelegt ist, wird keiner der Decodiererausgänge, die mit dem ODER-Gatter 420 gekoppelt sind, angelegt. Folglich wird das Interrupt 167 des parallelen Plattenlaufwerks maskiert. Immer dann, wenn das Interrupt-Anhängig-Signal 221 angelegt wird, wird garantiert, daß einer der mit dem ODER-Gatter 420 gekoppelten Decodiererausgänge angelegt wird. Auf diese Weise wird das Interrupt-Anhängig-Signal 221 aus dem Seriell-Plattenlaufwerks-Controller 220 stets zu dem Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controllers weitergeleitet und das Interrupt 167 des parallelen Plattenlaufwerks zu dem Interrupt-Eingang des Parallel-Plattenlaufwerks-Controllers nur dann weitergeleitet, wenn das BIOS das Vorhandensein eines Plattenlaufwerks an der parallelen Plattenlaufwerksschnittstelle 240 erfaßt hat.
  • 5 ist eine Blockdarstellung eines zusätzlichen Ausführungsbeispiels einer ICL-Einheit. Die ICL 500 gemäß 5 basiert auf einer Nachschlagetabelle eines dynamischen Speichers mit wahlfreiem Zugriff (LUT; Look-Up-Table) 510. Die LUT 510 enthält einen Schreibport 512, der für den Prozessor 110 über einen CPU-Zugriffspfad 515 zugreifbar ist. Das BIOS kann veranlassen, daß geeignete Werte in die LUT 510 geschrieben werden, wobei die Werte darauf basieren, ob das BIOS ein mit der parallelen Plattenlaufwerksschnittstelle 240 gekoppeltes Plattenlaufwerk erfaßt hat oder nicht. Auf die in der LUT 510 gespeicherten Werte wird über die Adreßeingänge A1 und A0 zugegriffen. Die A1- und A0-Eingänge sind mit dem Interrupt-Signal 167 des parallelen Plattenlaufwerks beziehungsweise dem Interrupt-Anhängig-Signal 221 gekoppelt. Der an den Ausgang 513 gebrachte Wert hängt von den Zuständen von den Eingängen A1 und A0 ab. Indem die LUT 510 mit geeigneten Werten programmiert wird, kann die LUT 510 das Interrupt-Signal 167 des parallelen Plattenlaufwerks daran hindern, zu dem Interrupt-Eingang 231 des Parallel-Plattenlaufwerks-Controller weitergeleitet zu werden, so lange kein Plattenlaufwerk an der parallelen Plattenlaufwerksschnittstelle 240 erfaßt worden ist. Darüber hinaus gestattet die LUT 510, daß das Interrupt-Anhängig-Signal 221 stets zu dem Interrupt-Eingang 231 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 ICL 600 enthält den ROM 610 und ein Flip-Flop 630. Die ICL 600 gemäß 6 arbeitet weitgehend auf die gleiche weise wie das LUT-basierte Ausführungsbeispiel gemäß 5. Da jedoch der ROM 610 vor dem Systembetrieb programmiert werden muß und da das BIOS die Werte des ROM 610 nicht ändern kann, wird das Flip-Flop 630 verwendet, um die den Adreßeingängen des ROM 610 präsentierten Werte zu manipulieren, um auf verschiedene Speicherplätze in Abhängigkeit davon zuzugreifen, ob das BIOS ein Plattenlaufwerk, das mit der parallelen Plattenlaufwerksschnittstelle 240 gekoppelt ist, erfaßt hat oder nicht. Sofern kein Plattenlaufwerk erfaßt worden ist, liefert das BIOS eine „1" an den Masken-Eingang 631 des Flip-Flop 630. Die „1" wird in den Flip-Flop 630 über das Schreibsignal 632 getaktet. Das Ausgangssignal des Flip-Flop 630 wird an einen Adreßeingang des ROM 610 zusammen mit dem Interrupt-Anhängig-Signal 221 und dem Interrupt-Signal 167 des parallelen Plattenlaufwerks geliefert. Die richtigen Daten werden von dem Ausgang 612 des ROM 610 an den Interrupt-Eingang 231 des Parallel-Plattenlaufwerk-Controllers ausgegeben.
  • 7 ist ein Ablaufdiagramm eines Ausführungsbeispiels eines Verfahrens zum gemeinsamen Benutzen eines Interrupts durch zwei Plattenlaufwerks-Controller. Beim Block 710 wird eine Bestimmung darüber getroffen, ob ein Plattenlaufwerk mit einer ersten Plattenlaufwerksschnittstelle gekoppelt ist. Sofern ein Plattenlaufwerk erfaßt wird, wird dann am Block 730 ein erstes Interrupt aus der ersten Plattenlaufwerksschnittstelle zu einem Interrupt-Eingang eines ersten Plattenlaufwerks-Controllers geliefert. Wenn kein Laufwerk beim Block 710 erfaßt wird, dann wird beim Block 720 ein Maskenbit gesetzt. Am Block 740 wird das erste Interrupt daran gehindert, aus der ersten Plattenlaufwerksschnittstelle an den Interrupt-Eingang des ersten Plattencontrollers geliefert zu werden. Schließlich wird am Block 750 ein zweites Interrupt aus einem zweiten Plattenlaufwerks-Controller an den Interrupt-Eingang des ersten Plattenlaufwerks-Controllers geliefert.

Claims (8)

  1. 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.
  2. 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.
  3. 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.
  4. Interrupt-Einrichtung nach einem der Ansprüche 1–3, dadurch gekennzeichnet, daß die erste Speichereinrichtungsschnittstelle (240) eine parallele Schnittstelle ist.
  5. Interrupt-Einrichtung nach Anspruch 4, dadurch gekennzeichnet, daß die zweite Speichereinrichtungsschnittstelle (250) eine serielle Schnittstelle ist.
  6. 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.
  7. 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).
  8. 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.
DE10197143T 2000-12-29 2001-12-21 Verfahren und Einrichtung zum gemeinsamen Benutzen eines Interrupts durch Plattenlaufwerksschnittstellen Expired - Fee Related DE10197143B4 (de)

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)

* Cited by examiner, † Cited by third party
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
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
US7492545B1 (en) 2003-03-10 2009-02-17 Marvell International Ltd. Method and system for automatic time base adjustment for disk drive servo 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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
CN1255717C (zh) 2006-05-10
CN1494676A (zh) 2004-05-05
GB0317007D0 (en) 2003-08-27
TW588335B (en) 2004-05-21
HK1059125A1 (en) 2004-06-18
WO2002054257A2 (en) 2002-07-11
WO2002054257A3 (en) 2003-09-04
US6772258B2 (en) 2004-08-03
KR20040004479A (ko) 2004-01-13
AU2002234130A1 (en) 2002-07-16
GB2388226B (en) 2005-02-23
US20020087773A1 (en) 2002-07-04
GB2388226A (en) 2003-11-05
KR100633853B1 (ko) 2006-10-13
DE10197143T5 (de) 2004-04-29

Similar Documents

Publication Publication Date Title
DE69930614T2 (de) VERFAHREN UND GERÄT ZUM HANDHABEN VON mehrfachen flanken- und zustandsausgelösten unterbrechungen
DE4017902C2 (de)
DE3914265C2 (de)
DE60036465T2 (de) Rechneradapterkarte für die kombinierung von eingang-/ausgangfertigstellungsberichten und verwendung derselben
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
DE2629459C2 (de)
DE60125112T2 (de) PCI-Arbiter mit unter Spannung stellbarer Steuerungsunterstützung
DE19733151B4 (de) Vorrichtung und Verfahren für einen virtuellen Gerätezugriff in einem Computersystem
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE2210704A1 (de) Verfahren und Vorrichtung zur Datenverarbeitung
CH619309A5 (de)
DE4018481C2 (de)
DE4035837A1 (de) Bus-hauptschnittstellenschaltung mit transparenter unterbrechung einer datenuebertragungsoperation
DE4417068A1 (de) Verfahren und Einrichtung zum Betreiben eines Einzel-Prozessor-Computersystems als Mehr-Prozessor-System
DE3502147C2 (de)
DE3911721C2 (de)
DE3809831C2 (de)
DE19900251B4 (de) Vorrichtung und Verfahren zum Steuern eines vielseitigen USB-Endpunktkanals
DE4238099C2 (de) Mikroprozessor mit mehreren Betriebsmoden
DE2000066A1 (de) Datenverarbeitungsanordnung
DE69722848T2 (de) Computersystem mit Parallelanschlussschnittstelle als Stromversorgung für Peripheriegerät und Erweiterungsgerät dafür
DE19649577B4 (de) Kommunikationssystem
DE69533857T2 (de) Sram-cache-speicherverbindunganordnung
DE19914487A1 (de) Verfahren und Vorrichtung zum Sicherstellen der Datenkonsistenz zwischen einem Ein/Ausgabekanal und einem Prozessor

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