DE19648752B4 - Befehlsausführungsverfahren für ein CD-ROM Laufwerk - Google Patents

Befehlsausführungsverfahren für ein CD-ROM Laufwerk Download PDF

Info

Publication number
DE19648752B4
DE19648752B4 DE19648752A DE19648752A DE19648752B4 DE 19648752 B4 DE19648752 B4 DE 19648752B4 DE 19648752 A DE19648752 A DE 19648752A DE 19648752 A DE19648752 A DE 19648752A DE 19648752 B4 DE19648752 B4 DE 19648752B4
Authority
DE
Germany
Prior art keywords
queue
execution
block
pointer
addresses
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
DE19648752A
Other languages
English (en)
Other versions
DE19648752A1 (de
Inventor
Young-sig Suwon Kwon
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE19648752A1 publication Critical patent/DE19648752A1/de
Application granted granted Critical
Publication of DE19648752B4 publication Critical patent/DE19648752B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs

Abstract

Verfahren zum Ausführen eines Befehls, der von einem Host-Computer gesendet wird, um auf Daten auf einer Scheibe (11) in einem CD-ROM Laufwerk zuzugreifen, wobei die Fläche der Scheibe in Blockeinheiten unterteilt ist, wobei jeder Block einer Adresse zugewiesen ist, und das CD-ROM Laufwerk auf Daten im Block zugreift, indem es die entsprechende Adresse bezeichnet, wobei das Verfahren folgende Schritte aufweist:
(a) Erzeugen (71) einer Ausführungsschlange (execution queue) für das Speichern (72) von Adressen von Scheibenblöcken, auf die von aktuell ausgeführten Befehlen zugegriffen werden soll, und einer Warteschlange (wait queue) für das Speichern von Adressen von Scheibenblöcken, auf die von nächsten Befehlen zugegriffen werden soll, wobei die nächsten Befehle nach den Befehlen, für die Adressen in der Ausführungsschlange gespeichert sind, auszuführen sind;
(b) Sequentielles Anordnen (73) der Blockadressen, die in der Ausführungsschlange gespeichert sind;
(c) Sequentielles Anordnen (74) der...

Description

  • HINTERGRUND DER ERFINDUNG
  • Die vorliegende Erfindung bezieht sich auf ein CD-ROM Laufwerk und insbesondere auf ein Verfahren zur Ausführung eines Befehls in einem CD-ROM Laufwerk, in dem ein Befehl ausgeführt wird, nachdem die Adresse einer Scheibe, auf die zugegriffen werden soll, eingestellt ist.
  • Eine CD-ROM ist wie eine Musik-CD eine Scheibe, die einen Durchmesser von 12 cm und eine Speicherkapazität von 680 MB hat und unter Verwendung eines Laser gelesen wird. Nach dem Typ der Datenübertragung wird ein CD-ROM Laufwerk für den Antrieb der CD-ROM grob in einen AT-BUS Typ, einen SCSI (small computers system interface) Typ und ein Enhanced IDE (enhanced-integrated development environment) Typ unterteilt.
  • 1 zeigt schematisch eine Struktur eines CD-ROM Laufwerks. Unter Bezugnahme auf 1 ist ein Spindelmotor 12 zum Drehen einer Scheibe 11 auf einem Drehtisch 10 installiert und eine Aufnahmevorrichtung 13 für das Lesen der Information, die auf der Scheibe 11 aufgezeichnet ist, ist unter der Scheibe 11 installiert. Eine CPU 14 für die Steuerung des gesamten Systems und ein Servosignalprozessor (SSP) 15 für den Antrieb des Spindelmotors 12 und für das Empfangen des Signals, das durch die Aufnahmevorrichtung 13 gelesen wird, um das empfangene Signal an die CPU 14 zu übertragen, sind installiert.
  • In einem konventionellen CD-ROM Antrieb, der eine solche Struktur hat, wird, da die Befehle, die von einem Host-Computer gesendet werden, sequentiell abgearbeitet werden und keine Funktion zur Neuanordnung dieser Befehle im CD-ROM Laufwerk vorhanden ist, die Geschwindikeit der Spursuche oder des Datenzugangs auf einer Scheibe, der für die Durchführung dieser Befehle erforderlich ist, jedoch langsam.
  • JP 55-091049 A bezieht sich auf ein Dateizugriffssystem für Ein-/Ausgabebefehle auf eine magnetische Scheibe. Es wird vorgeschlagen, dass eine Reihe von Ein-/Ausgabebefehlen in einem Paar von zwei Buffern gespeichert werden. Die Ein-/Ausgabebefehle eines Buffers werden dann in aufsteigender Reihenfolge neu angeordnet und die Ein-/Ausgabebefehle werden danach der Reihe nach ausgeführt.
  • JP 03-183087 A bezieht sich auf ein magnetisches Plattenlaufwerk, welches die Bewegungen des magnetischen Lesekopfes optimiert. Lese- und Schreibbefehle werden in einem Speicher gespeichert und nach Ablauf einer vorbestimmten Zeit gemäß der Sektorennummer neu angeordnet, sodass die Befehle der Reihe nach ausgeführt werden können.
  • EP 675 490 A1 bezieht sich auf ein Verfahren zum Reduzierten der Rotationslatenzzeit in einem Diskettenlaufwerk. Die Diskette wird in winkelförmige Gereicht unterteilt. Ein Befehlswarteschlangen-Array wird entsprechend der Bereiche gebildet, sodass dieses Array nach einem Befehl durchsucht werden kann und nachdem der Befehl ausgeführt wurde wieder aus dem Array gelöscht werden kann.
  • Der Erfindung liegt die Aufgabe zugrunde, ein verbessertes Verfahren zum Ausführen von Befehlen in einem CD-ROM Laufwerk, welche von einem Hostcomputer gesendet werden, bereitzustellen.
  • Diese Aufgabe ist durch den Gegenstand der unabhängigen Patentansprüche 1 und 4 gelöst.
  • Bevorzugte Ausführungsformen sind in den abhängigen Patentansprüchen 2 und 3 beschrieben.
  • Gemäß eines Aspektes der Erfindung ist entsprechend ein Verfahren angegeben zur Ausführung eines Befehls, der von einem Host-Computer gesendet wird, um auf Daten auf einer Scheibe in einem CD-ROM Laufwerk zuzugreifen, wobei die Fläche der Scheibe in Blockeinheiten unterteilt ist, und jeder Block einer Adresse zugewiesen ist, und wobei das CD-ROM Laufwerk auf Daten im Block zugreift, indem es die entsprechende Adresse bezeichnet. Das Verfahren umfasst die folgenden Schritte: (a) Erzeugen einer Ausführungsschlange für das Speichern von Adressen von Scheibenblöcken, auf die von aktuell ausgeführten Befehlen zugegriffen werden soll, und einer Warteschlange für das Speichern von Adressen von Scheibenblöcken, auf die von nächsten Befehlen zugegriffen werden soll, wobei die nächsten Befehle nach den Befehlen, für die Adressen in der Ausführungsschlange gespeichert sind, auszuführen sind; (b) Sequentielles Anordnen der Blockadressen, die in der Ausführungsschlange gespeichert sind; (c) Sequentielles Anordnen der Blockadressen, die in der Warteschlange angeordnet sind; (d) Neuanordnen des Inhaltes der Ausführungsschlage durch Einschieben der Blockadressen, die in der Warteschlange gespeichert sind, in die Ausführungsschlange, sodass sie sequentiell angeordnet werden; und (e) Zugreifen auf die Daten, die den Blockadressen entsprechen, die in der neu angeordneten Ausführungsschlange gespeichert sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obige Aufgabe und Vorteile der vorliegenden Erfindung werden deutlicher durch die detaillierte Beschreibung einer bevorzugten Ausführungsform unter Bezugnahme auf die beigefügten Zeichnungen:
  • 1 ist ein Blockdiagramm, das schematisch eine Struktur eines CD-ROM Laufwerks zeigt;
  • 2 ist ein Diagramm, das eine Ausführungsschlange zeigt;
  • 3 ist ein Diagramm, das eine Warteschlange zeigt;
  • 4 ist ein Diagramm, das eine freie Schlange zeigt;
  • 5 ist ein Diagramm, das einen Befehlsausführungszustand zeigt, bei dem ein Ausführungszeiger nicht Null ist;
  • 6 ist ein Diagramm, das einen Befehlsausführungszustand zeigt, bei dem ein Ausführungszeiger Null ist;
  • 7 ist ein Flußdiagramm, das ein Befehlsausführungsverfahren gemäß der vorliegenden Erfindung zeigt;
  • 8 ist ein Flußdiagramm, das ein Verfahren für das Neuanordnen der Inhalte der Ausführungsschlange zeigt; und
  • 9 ist ein Diagramm, das die Ausführungsschlange zeigt, wie sie in einer Kreisform angeordnet ist.
  • DETAILLIERTE BESCHREIBUNG DER ERFINDUNG
  • Die 2, 3 und 4 zeigen eine Schlangenstruktur, die sich auf ein Befehlsausführungsverfahren für ein CD-ROM Laufwerk gemäß der vorliegenden Erfindung bezieht. Hier zeigen die 2, 3 und 4 die Strukturen einer Ausführungsschlange, einer Warteschlange beziehungsweise einer freien Schlange.
  • Ein Scheibenlaufwerk wird durch die Ausführungsschlange, die Warteschlange und die freie Schlange für die Ausführung von Befehlen, die von einem Host-Computer gesendet werden, durch eine Neuanordnung derselben gebildet. Hier ist die Schlange eine lineare Liste, die eine Reihenfolge hat, in welcher eine Elementeingabe nur an einem Ende und eine Elementausgabe nur am anderen Ende erfolgt, das heißt die von First-in-First-out (FIFO) Typ ist.
  • Die Ausführungsschlange, die während der Ausführung von Befehlen verwendet wird, speichert die logischen Blockadressen (LBA) von Scheibenblöcken, auf die durch die aktuell ausgeführten Befehle zugegriffen werden soll. Hier ist die Scheibe in Einheiten von einem Block unterteilt und jeder Block ist mit einer Seriennummer bezeichnet. Die LBA ist eine Adresse für ein Scheibenlaufwerk, um auf Daten in einem Block zuzugreifen, der eine entsprechende Seriennummer hat. In der Ausführungsschlange werden ein Ausführungszeiger (ExecPtr), der die Position des aktuell ausgeführten Befehls zeigt, und ein höchster Zeiger (HighestPtr), der die höchste LBA zeigt, verwendet. Während der Initialisierung eines CD-ROM Laufwerks werden der EcecPtr und der HighestPtr jeweils auf ”0” gesetzt.
  • Die Warteschlange speichert die LBAs von Scheibenblöcken, auf die gemäß dem nächsten Befehl, der nach den Befehlen, die in der Ausführungsschlange gespeichert sind, ausgeführt werden soll, zugegriffen werden soll. In der Warteschlange werden Zeiger (WQHead und WQTail) für die erste LBA und die letzte LBA, die ausgeführt werden soll, verwendet.
  • Die freie Schlange ist eine leere Ergänzungsschlange für das Speichern der LBA Scheibenblöcke, auf die gemäß den kontinuierlich gesendeten Befehlen zugegriffen werden soll. In der freien Schlange werden die ersten und letzten freien Zeiger (FQHead und FQTail) verwendet.
  • Wenn eine solche Schlangenkonfiguration vollendet ist, werden Befehle für den Zugriff auf Daten, die auf einer Scheibe gespeichert sind, von einem Host-Computer gesendet und die LBAs der Scheibe,. auf die von den Befehlen zugegriffen werden soll, werden in den Schlangen gespeichert.
  • Das Verfahren der Ausführung von Befehlen gemäß der Inhalte, die in den Schlangen gespeichert sind, wird nun unter Bezug auf die 5 und 6 beschrieben.
  • In 5 wird, wenn eine LBA, die durch den ExecPtr bezeichnet wird, nicht null ist, auf die Daten, die der LBA entsprechen, die durch ExecPtr bezeichnet sind, zugegriffen. In 6 bewegt sich, wenn ein LBA, das durch den ExecPtr angezeigt wird, null ist, der ExecPtr um WQHead und es wird bestimmt, ob eine LBA, die durch den WQHead angezeigt wird, null ist oder nicht. Wenn sie nicht null ist, wird auf die Daten, die der LBA entsprechen, die durch den Zeiger WQHead bezeichnet sind, zugegriffen.
  • Wenn der ExecPtr und der HighestPtr beide null sind, so befinden sich die Ausführungsschlange, die Warteschlange und die freie Schlange alle in einem leeren Zustand. Dann führt die Scheibe eine Leerrunde durch, um kontinuierlich zu prüfen, ob ein neuer Befehl vom Host-Computer gesendet wird und wartet, bis der neue Befehl gesendet wird.
  • Während der Ausführung von Befehlen in einem Plattenlaufwerk wird das Verfahren der Neuanordnung der LBA, die in der Schlange gespeichert sind, und der Zugriff auf Daten unter Bezugnahme auf 7 beschrieben.
  • Als erstes werden die Ausführungsschlange, die Warteschlange und die freie Schlange in Schritt 71 wie oben beschrieben erzeugt. Die LBAs der Scheibe, auf die gemäß einem Befehl zugegriffen werden soll, der von einem Host-Computer gesendet wird, werden in der Schlange in Schritt 72 gespeichert. Die LBAs die in der Ausführungsschlange gespeichert sind, werden in Schritt 73 sequentiell angeordnet, und die LBAs, die in der Warteschlange gespeichert sind, werden in Schritt 74 auch sequentiell angeordnet. Die LBAs, die in der Warteschlange gespeichert sind, werden in die Ausführungsschlange eingeschoben und der Inhalt der Ausführungsschlange wird in Schritt 75 neu angeordnet, um in der richtigen Reihenfolge zu sein. Das Scheibenlaufwerk greift in Schritt 76 auf die Daten zu gemäß den LBAs, die in der neu angeordneten Ausführungsschlange gespeichert sind.
  • 8 ist ein Flußdiagramm, das ein Verfahren für die Neuanordnung des Inhaltes der Ausführungsschlange zeigt, und 9 ist ein Diagramm, das die Ausführungsschlange zeigt, die in einer Kreisform angeordnet ist. In 9 wird eine Position für das Einschieben der LBA (durch einen quadratischen Block bezeichnet) der Warteschlange in die Ausführungsschlange beschrieben.
  • Als erstes wird die Ausführungsschlange in einer Kreisform angeordnet und die LBAs werden in einer Uhrzeigerreihenfolge in der Ausführungsschlange in Schritt 81 angeordnet. Eine LBA, die in der Warteschlange gespeichert ist, wird in Schritt 82 herausgenommen. Die LBA wird in die Ausführungsschlange eingeschoben, um die Reihenfolge der folgenden Adresse zu ändern.
  • Wenn die LBA, die aus der Warteschlange herausgenommen wird, größer ist als die LBA, die durch den HighestPtr bezeichnet wird, wird die LBA von der Warteschlange als höchste LBA in den Schritten 83 und 84 festgesetzt. Die höchste LBA wird die nächste LBA, die nach der Ausführung des Inhaltes der aktuellen Ausführungsschlange auszuführen ist.
  • Wenn die LBA der Warteschlange nicht größer ist als die LBA, die vom HighestPtr bezeichnet wird, wird in Schritt 85 bestimmt, ob die LBA von der Warteschlange größer ist als (LBA+X), das durch ExecPtr bezeichnet wird (hier bezeichnet X die Blockbezeichnung, die der aktuellen LBA, die vom Scheibenlaufwerk gelesen werden soll, entspricht). Wenn die LBA von der Warteschlange größer ist als (LBA+X) und kleiner als die des HighestPtr (Schritt 87), wird der HighestPtr im Uhrzeigersinn in Schritt 88 bewegt und dann werden die LBA des HighestPtr und die der Warteschlange in Schritt 87 erneut verglichen. Dann wird, wenn die LBA von der Warteschlange größer als die des HighestPtr ist, die LBA von der Warteschlange in den Schritten 87 und 89 rechts von einer Position eingeschoben, die durch den HighestPtr bezeichnet ist.
  • Wenn die LBA von der Warteschlange nicht größer ist als (LBA+X), bezeichnet durch ExecPtr, wird der ExecPtr gegen den Uhrzeigersinn links vom ExecPtr bewegt und die LBA des ExecPtr und die von der Warteschlange werden verglichen. Dann wird, wenn die LBA der Warteschlange nicht größer ist als die des ExecPtr, die LBA von der Warteschlange in den Schritten 9092 rechts einer Position eingeschoben, die durch den ExecPtr bezeichnet ist.
  • Die Inhalte der Ausführungsschlange werden sequentiell neu angeordnet durch Wiederholung des obigen Verfahrens Schritt um Schritt bezüglich der anderen LBAs, die in der Warteschlange gespeichert sind.
  • Danach wird, während der ExecPtr im Uhrzeigersinn in der neu angeordneten Ausführungsschlange bewegt wird, auf die Daten des Scheibenblockes, die der LBA entsprechen, zugegriffen. Zu dieser Zeit bewegen sich, wenn die Position des ExecPtr die gleiche wie die des HighestPtr ist, der ExecPtr und der HighestPtr gemeinsam.
  • Wie oben beschrieben wurde, wird in einem Befehlsausführungsverfahren für ein CD-ROM Laufwerk gemäß der vorliegenden Erfindung die LBAs der CD-ROM Scheibe, auf die zugegriffen werden soll, um einen Befehl auszuführen, der von einem Host-Computer im CD-ROM Laufwerk gesendet wird, in einer Reihe neu angeordnet, so daß die Datenzugriffsgeschwindigkeit für das Ausführen von Befehlen verbessert werden kann.

Claims (4)

  1. Verfahren zum Ausführen eines Befehls, der von einem Host-Computer gesendet wird, um auf Daten auf einer Scheibe (11) in einem CD-ROM Laufwerk zuzugreifen, wobei die Fläche der Scheibe in Blockeinheiten unterteilt ist, wobei jeder Block einer Adresse zugewiesen ist, und das CD-ROM Laufwerk auf Daten im Block zugreift, indem es die entsprechende Adresse bezeichnet, wobei das Verfahren folgende Schritte aufweist: (a) Erzeugen (71) einer Ausführungsschlange (execution queue) für das Speichern (72) von Adressen von Scheibenblöcken, auf die von aktuell ausgeführten Befehlen zugegriffen werden soll, und einer Warteschlange (wait queue) für das Speichern von Adressen von Scheibenblöcken, auf die von nächsten Befehlen zugegriffen werden soll, wobei die nächsten Befehle nach den Befehlen, für die Adressen in der Ausführungsschlange gespeichert sind, auszuführen sind; (b) Sequentielles Anordnen (73) der Blockadressen, die in der Ausführungsschlange gespeichert sind; (c) Sequentielles Anordnen (74) der Blockadressen, die in der Warteschlange angeordnet sind; (d) Neuanordnen (75) des Inhaltes der Ausführungsschlange durch Einschieben der Blockadressen, die in der Warteschlange gespeichert sind, in die Ausführungsschlange, sodass sie sequentiell angeordnet werden; und (e) Zugreifen (76) auf die Daten, die den Blockadressen entsprechen, die in der neu angeordneten Ausführungsschlange gespeichert sind.
  2. Verfahren zur Ausführung eines Befehls in einem CD-ROM Laufwerk nach Anspruch 1, wobei der Schritt des Erzeugens (71) weiterhin ein Erzeugen einer freien Schlange (free queue) für das Speichern von Adressen von Scheibenblöcken, auf die von den kontinuierlich gesendeten Befehlen zugegriffen werden soll, umfasst.
  3. Verfahren zur Ausführung eines Befehls in einem CD-ROM Laufwerk nach Anspruch 2, wobei der Schritt des Datenzugriffes (76) weiterhin den Schritt der Ausführung einer Leerschleife umfasst, zum Bestimmen, ob ein neuer Befehl vom Host-Computer gesendet wird, wenn die Inhalte der Ausführungsschlange, der Warteschlange und der freien Schlange alle Null sind.
  4. Verfahren zum Ausführen eines Befehls, der von einem Host-Computer gesendet wird, um auf Daten auf einer Scheibe (11) in einem CD-ROM Laufwerk zuzugreifen, wobei die Fläche der Scheibe in Blockeinheiten unterteilt ist, wobei jeder Block einer Adresse zugewiesen ist, wobei das CD-ROM Laufwerk auf Daten im Block zugreift, indem es die entsprechende Adresse bezeichnet, und wobei eine Ausführungsschlange (execution queue) für das Speichern von Adressen von Scheibenblöcken, auf die von aktuell ausgeführten Befehlen zugegriffen werden soll, ein Ausführungszeiger für das Bezeichnen einer Blockadresse, um aktuell auf die Daten zuzugreifen, ein höchster Zeiger, der die höchste Blockadresse anzeigt, und eine Warteschlange (wait queue) für das Speichern von Adressen von Scheibenblöcken, auf die von nächsten Befehlen zugegriffen werden soll, verwendet werden, wobei die nächsten Befehle nach den Befehlen, für die Adressen in der Ausführungsschlange gespeicherten sind, auszuführen sind, wobei das Verfahren folgende Schritte umfasst: (a) Ausbildung der Ausführungsschlange in einer Kreisform und sequentielles Anordnen (81) der Blockadressen in der Ausführungsschlange im Uhrzeigersinn; (b) Herausnehmen (82) einer der in der Warteschlange gespeicherten Blockadressen; (c) Setzen (84) der Adresse der Warteschlange als höchste Blockadresse, wenn die Blockadresse, die von der Warteschlange herausgenommen wird, größer ist als die, die vom höchsten Zeiger bezeichnet wird; (d) Bestimmen (85), ob die Blockadresse der Warteschlange größer ist als die Blockadresse, die vom Ausführungszeiger bezeichnet wird; (e) wenn die Blockadresse der Warteschlange größer ist als die des Ausführungszeigers, Vergleichen (87) der Blockadresse von der Warteschlange und der des höchsten Zeigers, während der höchste Zeiger im Gegenuhrzeigersinn bewegt wird (88), und Einschieben (89) der Blockadresse der Warteschlange rechts von der Position, die vom höchsten Zeiger bezeichnet wird, wenn die Blockadresse von der Warteschlange größer ist als der höchste Zeiger; (f) wenn die Blockadresse der Warteschlange nicht großer ist als die des Ausführungszeigers Vergleichen (91) der Blockadresse von der Warteschlange und der des Ausführungszeigers, während der Ausführungszeiger im Gegenuhrzeigersinn von links vom Ausführungszeiger bewegt wird (90) und Einschieben (92) der Blockadresse von der Warteschlange rechts von der Position, die vom Ausführungszeiger bezeichnet wird, wenn die Blockadresse von der Warteschlange nicht größer ist als die des Ausführungszeigers; (g) Sequentielles Herausnehmen anderer Adressen, die in der Warteschlange gespeichert sind, und Neuanordnen der Inhalte der Ausführungsschlange durch Wiederholen der Schritte (b) und (c); und (h) Bewegen des Ausführungszeigers in der neuangeordneten Ausführungsschlange in eine Richtung und Zugreifen auf die Daten, die der Blockadresse entsprechen, die durch den Ausführungszeiger bezeichnet wird.
DE19648752A 1996-03-30 1996-11-25 Befehlsausführungsverfahren für ein CD-ROM Laufwerk Expired - Fee Related DE19648752B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1019960009575A KR100219597B1 (ko) 1996-03-30 1996-03-30 씨디-롬 드라이브에서의 큐잉 제어 방법
KR1996-9575 1996-03-30

Publications (2)

Publication Number Publication Date
DE19648752A1 DE19648752A1 (de) 1997-10-02
DE19648752B4 true DE19648752B4 (de) 2010-04-01

Family

ID=19454686

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19648752A Expired - Fee Related DE19648752B4 (de) 1996-03-30 1996-11-25 Befehlsausführungsverfahren für ein CD-ROM Laufwerk

Country Status (4)

Country Link
US (1) US5890208A (de)
JP (1) JPH1031560A (de)
KR (1) KR100219597B1 (de)
DE (1) DE19648752B4 (de)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2323945B (en) * 1997-04-04 2002-02-27 Sony Uk Ltd Automated job scheduling in a data storage and/or retrieval system
US6128672A (en) * 1998-03-10 2000-10-03 Motorola, Inc. Data transfer using software interrupt service routine between host processor and external device with queue of host processor and hardware queue pointers on external device
JP3282599B2 (ja) * 1998-12-17 2002-05-13 日本電気株式会社 コマンドキュー制御装置
US6606704B1 (en) * 1999-08-31 2003-08-12 Intel Corporation Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode
US6668317B1 (en) * 1999-08-31 2003-12-23 Intel Corporation Microengine for parallel processor architecture
US6983350B1 (en) 1999-08-31 2006-01-03 Intel Corporation SDRAM controller for parallel processor architecture
US6427196B1 (en) 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US7191309B1 (en) 1999-09-01 2007-03-13 Intel Corporation Double shift instruction for micro engine used in multithreaded parallel processor architecture
WO2001016702A1 (en) 1999-09-01 2001-03-08 Intel Corporation Register set used in multithreaded parallel processor architecture
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6625654B1 (en) * 1999-12-28 2003-09-23 Intel Corporation Thread signaling in multi-threaded network processor
US6631430B1 (en) * 1999-12-28 2003-10-07 Intel Corporation Optimizations to receive packet status from fifo bus
US6560667B1 (en) * 1999-12-28 2003-05-06 Intel Corporation Handling contiguous memory references in a multi-queue system
US6307789B1 (en) * 1999-12-28 2001-10-23 Intel Corporation Scratchpad memory
US6661794B1 (en) * 1999-12-29 2003-12-09 Intel Corporation Method and apparatus for gigabit packet assignment for multithreaded packet processing
US6584522B1 (en) * 1999-12-30 2003-06-24 Intel Corporation Communication between processors
US6976095B1 (en) 1999-12-30 2005-12-13 Intel Corporation Port blocking technique for maintaining receive packet ordering for a multiple ethernet port switch
US6631462B1 (en) * 2000-01-05 2003-10-07 Intel Corporation Memory shared between processing threads
US7681018B2 (en) 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6677347B2 (en) * 2000-12-08 2004-01-13 3M Innovative Properties Company Sulfonamido ether substituted imidazoquinolines
US7181746B2 (en) * 2001-06-29 2007-02-20 Intel Corporation Initialization, reconfiguration, and shut down of a module function
US6851011B2 (en) 2001-08-09 2005-02-01 Stmicroelectronics, Inc. Reordering hardware for mass storage command queue
US6868476B2 (en) * 2001-08-27 2005-03-15 Intel Corporation Software controlled content addressable memory in a general purpose execution datapath
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7158964B2 (en) * 2001-12-12 2007-01-02 Intel Corporation Queue management
US7107413B2 (en) 2001-12-17 2006-09-12 Intel Corporation Write queue descriptor count instruction for high speed queuing
US7269179B2 (en) 2001-12-18 2007-09-11 Intel Corporation Control mechanisms for enqueue and dequeue operations in a pipelined network processor
US7895239B2 (en) 2002-01-04 2011-02-22 Intel Corporation Queue arrays in network devices
US7181573B2 (en) 2002-01-07 2007-02-20 Intel Corporation Queue array caching in network devices
US6934951B2 (en) * 2002-01-17 2005-08-23 Intel Corporation Parallel processor with functional pipeline providing programming engines by supporting multiple contexts and critical section
US7181594B2 (en) * 2002-01-25 2007-02-20 Intel Corporation Context pipelines
US7149226B2 (en) 2002-02-01 2006-12-12 Intel Corporation Processing data packets
US6977994B2 (en) * 2002-03-27 2005-12-20 Toshiba Tec Kabushiki Kaisha Portable, high performance messaging system
US7126712B2 (en) * 2002-03-29 2006-10-24 Kabushiki Kaisha Toshiba File based request queue handler
US20070186216A1 (en) * 2002-05-28 2007-08-09 Mustafa Seifi Message driven job processing system and method
US7471688B2 (en) * 2002-06-18 2008-12-30 Intel Corporation Scheduling system for transmission of cells to ATM virtual circuits and DSL ports
US7433307B2 (en) * 2002-11-05 2008-10-07 Intel Corporation Flow control in a network environment
US6941438B2 (en) * 2003-01-10 2005-09-06 Intel Corporation Memory interleaving
US7225293B2 (en) * 2003-06-16 2007-05-29 Hitachi Global Storage Technologies Netherlands B.V. Method, system, and program for executing input/output requests
US20050198361A1 (en) * 2003-12-29 2005-09-08 Chandra Prashant R. Method and apparatus for meeting a given content throughput using at least one memory channel
US7213099B2 (en) * 2003-12-30 2007-05-01 Intel Corporation Method and apparatus utilizing non-uniformly distributed DRAM configurations and to detect in-range memory address matches
JP4804175B2 (ja) * 2006-03-02 2011-11-02 株式会社日立製作所 I/oコマンドをキューイングするストレージシステム及びその制御方法
CN109421041B (zh) * 2017-08-21 2021-05-11 深圳市优必选科技有限公司 机器人运动控制方法、机器人及具有存储功能的装置
KR102522411B1 (ko) 2022-03-31 2023-04-17 주식회사 다우기업 쥐 포획 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5591049A (en) * 1978-12-29 1980-07-10 Fujitsu Ltd File access control system
JPS6168630A (ja) * 1984-09-11 1986-04-09 Fujitsu Ltd アクセス要求処理方式
JPH03183067A (ja) * 1989-12-11 1991-08-09 Fujitsu Ltd 磁気ディスク装置
EP0675490A1 (de) * 1994-03-28 1995-10-04 Seagate Technology International Verfahren zur Verkürzung der Rotationslatenz in einem Plattenantrieb

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644786A (en) * 1990-11-08 1997-07-01 At&T Global Information Solutions Company Method for scheduling the execution of disk I/O operations
GB9026917D0 (en) * 1990-12-11 1991-01-30 Int Computers Ltd Rotating memory system
US5551002A (en) * 1993-07-01 1996-08-27 Digital Equipment Corporation System for controlling a write cache and merging adjacent data blocks for write operations
US5664224A (en) * 1993-07-23 1997-09-02 Escom Ag Apparatus for selectively loading data blocks from CD-ROM disks to buffer segments using DMA operations
US5623693A (en) * 1994-02-17 1997-04-22 International Business Machines Corporation System for performing action by sorting actions into immediate and deferred queues, processing immediate queue while still sorting, and appending deferred queue to immediate after sorting
US5548795A (en) * 1994-03-28 1996-08-20 Quantum Corporation Method for determining command execution dependencies within command queue reordering process
US5603063A (en) * 1994-06-27 1997-02-11 Quantum Corporation Disk drive command queuing method using two memory devices for storing two types of commands separately first before queuing commands in the second memory device
US5664143A (en) * 1994-11-23 1997-09-02 International Business Machines Corporation Method and apparatus for sorting disk access commands in a rotational position queue according to time differences between the commands

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5591049A (en) * 1978-12-29 1980-07-10 Fujitsu Ltd File access control system
JPS6168630A (ja) * 1984-09-11 1986-04-09 Fujitsu Ltd アクセス要求処理方式
JPH03183067A (ja) * 1989-12-11 1991-08-09 Fujitsu Ltd 磁気ディスク装置
EP0675490A1 (de) * 1994-03-28 1995-10-04 Seagate Technology International Verfahren zur Verkürzung der Rotationslatenz in einem Plattenantrieb

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Gorney, L.: Queuing Theory. Byte, April/May 1979, Vol. 4, Iss. 4 /5 *

Also Published As

Publication number Publication date
KR100219597B1 (ko) 1999-09-01
JPH1031560A (ja) 1998-02-03
KR970067231A (ko) 1997-10-13
US5890208A (en) 1999-03-30
DE19648752A1 (de) 1997-10-02

Similar Documents

Publication Publication Date Title
DE19648752B4 (de) Befehlsausführungsverfahren für ein CD-ROM Laufwerk
US4476526A (en) Cache buffered memory subsystem
EP0680655B1 (de) Verfahren zur aufgabenzuordnung zwischen zwei armen die auf der gleichen magnetplatte auf einem einzelplattenantrieb benutzt werden
DE69132652T2 (de) Rechnerdatenleitweglenkungssystem
US5664143A (en) Method and apparatus for sorting disk access commands in a rotational position queue according to time differences between the commands
DE19727243A1 (de) Festplattenvorrichtung zum Umwandeln logischer Adressen von Diagnosezylindern in Festplattenlaufwerken zugeordnete physikalische Adressen
EP1186988A2 (de) Dynamisch ausbaubares Speichereinheitsmatrixsystem
JPH06508708A (ja) ディスク記憶システム
CN1048459A (zh) 数字数据处理系统高速缓冲存储器内容的失效标记
DE2500721A1 (de) Sekundaerspeicher fuer datenverarbeitungssysteme
JPH08328752A (ja) 情報記録装置及び方法
US6343351B1 (en) Method and system for the dynamic scheduling of requests to access a storage system
JPH0136949B2 (de)
DE4039891A1 (de) Verfahren und vorrichtung zur cachespeichersteuerung
DE4029980A1 (de) On-line-umspeichersystem und platten-untersystem
DE19945993B4 (de) Plattenschreibvollendungssystem
JPH05224822A (ja) 集合型記憶装置
US5293618A (en) Method for controlling access to a shared file and apparatus therefor
US6442648B1 (en) Method of and system for the dynamic scheduling of requests to access a storage system
DE3021227A1 (de) Plattenspeicher-notizblock-teilsystem
DE2517170C2 (de) Schaltungsanordnung zum Unterbrechen des Programmablaufs in Datenverarbeitungsanlagen mit mehreren Ansteuereinrichtungen von Sekundärspeichern und dergleichen Speichereinheiten mit sequentiellem Zugriff
DE2726679A1 (de) Kanalsteuerung fuer datenverarbeitungsanlagen und verfahren zu ihrem betrieb
DE60309705T2 (de) Ein Verfahren zum Datentransfer und eine Datentransferschnittstelle
US20040024954A1 (en) Time stamp management system for disk arrays
US6360296B1 (en) Disk control apparatus

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120601