DE19648752B4 - Befehlsausführungsverfahren für ein CD-ROM Laufwerk - Google Patents
Befehlsausführungsverfahren für ein CD-ROM Laufwerk Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B19/00—Driving, 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/02—Control of operating function, e.g. switching from recording to reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F2003/0697—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/21—Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
- G11B2220/213—Read-only discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2545—CDs
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...
(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 auf1 ist ein Spindelmotor12 zum Drehen einer Scheibe11 auf einem Drehtisch10 installiert und eine Aufnahmevorrichtung13 für das Lesen der Information, die auf der Scheibe11 aufgezeichnet ist, ist unter der Scheibe11 installiert. Eine CPU14 für die Steuerung des gesamten Systems und ein Servosignalprozessor (SSP)15 für den Antrieb des Spindelmotors12 und für das Empfangen des Signals, das durch die Aufnahmevorrichtung13 gelesen wird, um das empfangene Signal an die CPU14 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 -
JP 03-183087 A -
EP 675 490 A1 - 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 und4 zeigen eine Schlangenstruktur, die sich auf ein Befehlsausführungsverfahren für ein CD-ROM Laufwerk gemäß der vorliegenden Erfindung bezieht. Hier zeigen die2 ,3 und4 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 und6 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. In6 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 Schritt72 gespeichert. Die LBAs die in der Ausführungsschlange gespeichert sind, werden in Schritt73 sequentiell angeordnet, und die LBAs, die in der Warteschlange gespeichert sind, werden in Schritt74 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 Schritt75 neu angeordnet, um in der richtigen Reihenfolge zu sein. Das Scheibenlaufwerk greift in Schritt76 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, und9 ist ein Diagramm, das die Ausführungsschlange zeigt, die in einer Kreisform angeordnet ist. In9 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 Schritt82 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 und84 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 (Schritt87 ), wird der HighestPtr im Uhrzeigersinn in Schritt88 bewegt und dann werden die LBA des HighestPtr und die der Warteschlange in Schritt87 erneut verglichen. Dann wird, wenn die LBA von der Warteschlange größer als die des HighestPtr ist, die LBA von der Warteschlange in den Schritten87 und89 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
90 –92 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)
- 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. - 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. - 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. - 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.
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)
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)
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)
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 |
-
1996
- 1996-03-30 KR KR1019960009575A patent/KR100219597B1/ko not_active IP Right Cessation
- 1996-11-25 DE DE19648752A patent/DE19648752B4/de not_active Expired - Fee Related
- 1996-12-03 US US08/759,954 patent/US5890208A/en not_active Expired - Fee Related
-
1997
- 1997-02-21 JP JP9037938A patent/JPH1031560A/ja active Pending
Patent Citations (4)
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)
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 |