JPH1031560A - Cd−romディスクドライバにおける命令実行方法 - Google Patents
Cd−romディスクドライバにおける命令実行方法Info
- Publication number
- JPH1031560A JPH1031560A JP9037938A JP3793897A JPH1031560A JP H1031560 A JPH1031560 A JP H1031560A JP 9037938 A JP9037938 A JP 9037938A JP 3793897 A JP3793897 A JP 3793897A JP H1031560 A JPH1031560 A JP H1031560A
- Authority
- JP
- Japan
- Prior art keywords
- queue
- execution
- block
- address
- pointer
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0677—Optical disk device, e.g. CD-ROM, DVD
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】 (修正有)
【課題】ホストコンピュータからの命令を、アクセスす
るディスクのアドレス(LBA)の応じて再調整して実
行し、アクセス速度を向上させる。 【解決手段】キューとして実行キュー、待機キュー、自
由キューを設け、待機キューから実行キューにLBAを
渡すときに実行キューの整列がなされるようにする。実
行キューと待機キューが順番通りに調整されている状態
から出発して、待機キューからLBAを1つ取り出し実
行キューへ挿入するが、そのとき、実行キューに設けた
実行ポインタおよび最上位ポインタを特定の方法で移動
させながらそれらのいずれかが指すLBAと取り出した
LBAの大きさを比較してそれに応じた位置へ挿入を行
い、それを繰り返して実行キューの再調整を行う。その
後、再調整された実行ポインタの指示に基づいてLBA
をアクセスする。
るディスクのアドレス(LBA)の応じて再調整して実
行し、アクセス速度を向上させる。 【解決手段】キューとして実行キュー、待機キュー、自
由キューを設け、待機キューから実行キューにLBAを
渡すときに実行キューの整列がなされるようにする。実
行キューと待機キューが順番通りに調整されている状態
から出発して、待機キューからLBAを1つ取り出し実
行キューへ挿入するが、そのとき、実行キューに設けた
実行ポインタおよび最上位ポインタを特定の方法で移動
させながらそれらのいずれかが指すLBAと取り出した
LBAの大きさを比較してそれに応じた位置へ挿入を行
い、それを繰り返して実行キューの再調整を行う。その
後、再調整された実行ポインタの指示に基づいてLBA
をアクセスする。
Description
【0001】
【発明の属する技術分野】本発明はCD−ROMディス
クドライバに係り、特にCD−ROMディスクドライバ
で命令を行う際、アクセスすべきディスクのアドレスを
再調整してからその命令を行うCD−ROMディスクド
ライバでの命令実行方法に関する。
クドライバに係り、特にCD−ROMディスクドライバ
で命令を行う際、アクセスすべきディスクのアドレスを
再調整してからその命令を行うCD−ROMディスクド
ライバでの命令実行方法に関する。
【0002】
【従来の技術】CD−ROM(Compact Disk Read Only
Memory) とは一般の音楽用CDのようにレーザー光を用い
再生できる直径12cm、680MB の記憶媒体のことを示す。
CD−ROMを駆動する装置であるCD−ROMディス
クドライバはハードディスクドライバと同様にデータの
伝送方式に応じてAT-BUS方式、SCSI(Small Computers S
ystem Interface)方式、Enhanced IDE(Integrated Deve
lopment Environment)方式とに大別される。
Memory) とは一般の音楽用CDのようにレーザー光を用い
再生できる直径12cm、680MB の記憶媒体のことを示す。
CD−ROMを駆動する装置であるCD−ROMディス
クドライバはハードディスクドライバと同様にデータの
伝送方式に応じてAT-BUS方式、SCSI(Small Computers S
ystem Interface)方式、Enhanced IDE(Integrated Deve
lopment Environment)方式とに大別される。
【0003】図1は従来のCD−ROMディスクドライ
バの概略構成図である。これを参照するに、ターンテー
ブル10に安着されたディスク11を回転させるためのスピ
ンドルモーター12が設けられ、前記ディスク11の下には
ディスク11に記録された情報を読出するためのピックア
ップ装置13が設けられる。かつ、システムを全体的に制
御するCPU(Central Processing Unit)14と、スピンドル
モーター12を駆動させる一方、ピックアップ装置13によ
り読出された信号を受信してCPU14 に伝達する仲介の役
割を果たすSSP(Servo Signal Processor)15 とが設けら
れる。
バの概略構成図である。これを参照するに、ターンテー
ブル10に安着されたディスク11を回転させるためのスピ
ンドルモーター12が設けられ、前記ディスク11の下には
ディスク11に記録された情報を読出するためのピックア
ップ装置13が設けられる。かつ、システムを全体的に制
御するCPU(Central Processing Unit)14と、スピンドル
モーター12を駆動させる一方、ピックアップ装置13によ
り読出された信号を受信してCPU14 に伝達する仲介の役
割を果たすSSP(Servo Signal Processor)15 とが設けら
れる。
【0004】しかしながら、かかる構成を有する従来の
CD−ROMディスクドライバはホストコンピューター
から伝送された命令を順番に行うだけであり、これらの
命令を再調整して行う機能は有していない。従って、前
記命令を行う際に要されるディスクのトラックサーチや
データアクセスの速度などにおいて不利な点がある。
CD−ROMディスクドライバはホストコンピューター
から伝送された命令を順番に行うだけであり、これらの
命令を再調整して行う機能は有していない。従って、前
記命令を行う際に要されるディスクのトラックサーチや
データアクセスの速度などにおいて不利な点がある。
【0005】
【発明が解決しようとする課題】本発明は前記のような
問題点を改善するために案出されたものであり、ホスト
コンピューターから伝送された命令を判断及び再調整し
て行うことにより、命令実行速度を向上させ得るCD−
ROMディスクドライバでの命令実行方法を提供するこ
とにその目的がある。
問題点を改善するために案出されたものであり、ホスト
コンピューターから伝送された命令を判断及び再調整し
て行うことにより、命令実行速度を向上させ得るCD−
ROMディスクドライバでの命令実行方法を提供するこ
とにその目的がある。
【0006】
【課題を解決するための手段】前記目的を達成するため
に本発明によるCD−ROMディスクドライバでの命令
実行方法は、ディスクの領域をブロック単位で分けた
後、すべてのブロックに対してそれぞれのアドレスが付
与されたCD−ROMディスクに対して、前記アドレス
を指定することにより該ブロックにあるデータをアクセ
スするCD−ROMディスクドライバで、ディスクのデ
ータをアクセスする命令をホストコンピューターから伝
送され前記命令を行うための方法において、(a) 現在行
っている命令に応じてアクセスすべきディスクのブロッ
クに対するアドレスを格納する実行キューと、実行キュ
ーに格納された命令を行った後に行う命令に応じてアク
セスすべきディスクのブロックに対するアドレスを格納
する待機キューと、引き続き伝送される命令に応じてア
クセスすべきディスクのブロックに対するアドレスを格
納するための自由キューとを生成する段階と、(b) 前記
実行キューに格納されたブロックアドレスを順番に調整
する段階と、(c) 前記待機キューに格納されたブロック
アドレスを順番に調整する段階と、(d) 前記待機キュー
に格納されたブロックアドレスを前記実行キュー内にア
ドレスの順番通りに整列されるように挿入して実行キュ
ーの内容を再調整する段階と、(e) 前記再調整された実
行キューに格納されたブロックアドレスに対応するデー
タをアクセスする段階とを含むことを特徴とする。
に本発明によるCD−ROMディスクドライバでの命令
実行方法は、ディスクの領域をブロック単位で分けた
後、すべてのブロックに対してそれぞれのアドレスが付
与されたCD−ROMディスクに対して、前記アドレス
を指定することにより該ブロックにあるデータをアクセ
スするCD−ROMディスクドライバで、ディスクのデ
ータをアクセスする命令をホストコンピューターから伝
送され前記命令を行うための方法において、(a) 現在行
っている命令に応じてアクセスすべきディスクのブロッ
クに対するアドレスを格納する実行キューと、実行キュ
ーに格納された命令を行った後に行う命令に応じてアク
セスすべきディスクのブロックに対するアドレスを格納
する待機キューと、引き続き伝送される命令に応じてア
クセスすべきディスクのブロックに対するアドレスを格
納するための自由キューとを生成する段階と、(b) 前記
実行キューに格納されたブロックアドレスを順番に調整
する段階と、(c) 前記待機キューに格納されたブロック
アドレスを順番に調整する段階と、(d) 前記待機キュー
に格納されたブロックアドレスを前記実行キュー内にア
ドレスの順番通りに整列されるように挿入して実行キュ
ーの内容を再調整する段階と、(e) 前記再調整された実
行キューに格納されたブロックアドレスに対応するデー
タをアクセスする段階とを含むことを特徴とする。
【0007】本発明によると、CD−ROMディスクド
ライバがホストコンピューターから伝送された命令を行
うためにアクセスすべきCD−ROMディスクのLBA を
キュー内で再調整してから行うことにより、命令を実行
するに必要なデータのアクセス速度を向上させることが
できる。
ライバがホストコンピューターから伝送された命令を行
うためにアクセスすべきCD−ROMディスクのLBA を
キュー内で再調整してから行うことにより、命令を実行
するに必要なデータのアクセス速度を向上させることが
できる。
【0008】
【発明の実施の形態】以下、本発明を添付した図面に基
づき更に詳細に説明する。図2、図3及び図4は本発明
によるCD−ROMディスクドライバでの命令実行方法
に関するキューの構成を示したものであり、図2は実行
キューの構成図、図3は待機キューの構成図、図4は自
由キューの構成図である。
づき更に詳細に説明する。図2、図3及び図4は本発明
によるCD−ROMディスクドライバでの命令実行方法
に関するキューの構成を示したものであり、図2は実行
キューの構成図、図3は待機キューの構成図、図4は自
由キューの構成図である。
【0009】ディスクドライバはホストコンピューター
から伝送される命令を再整列してから行うために実行キ
ュー、待機キュー及び自由キューを構成する。ここで、
キューとは順番が決まっている線形リストであり、元素
挿入が一端のみで起こり、元素削除が他の一端のみで起
こる構造からなる先入先出(FIFO)方式により動作され
る。
から伝送される命令を再整列してから行うために実行キ
ュー、待機キュー及び自由キューを構成する。ここで、
キューとは順番が決まっている線形リストであり、元素
挿入が一端のみで起こり、元素削除が他の一端のみで起
こる構造からなる先入先出(FIFO)方式により動作され
る。
【0010】実行キューは命令の実行中に用いられるキ
ューであり、現在行っている命令に応じてアクセスすべ
きディスクのブロックに対するLBA(Logical Block Addr
ess)を格納する。ここで、LBA とはディスクの領域をブ
ロック単位で分けた後、すべてのブロックに対して一連
の番号を付与し、ディスクドライバが前記番号に当たる
ブロックにあるデータをアクセスするために用いられる
アドレスのことを示す。実行キューでは、現在行ってい
る命令の位置を示す実行ポインターと最高のLBA を示す
最上位ポインターが用いられる。CD−ROMディスク
ドライバの初期化時には、実行ポインターと最上位ポイ
ンターをそれぞれ0に設定する。
ューであり、現在行っている命令に応じてアクセスすべ
きディスクのブロックに対するLBA(Logical Block Addr
ess)を格納する。ここで、LBA とはディスクの領域をブ
ロック単位で分けた後、すべてのブロックに対して一連
の番号を付与し、ディスクドライバが前記番号に当たる
ブロックにあるデータをアクセスするために用いられる
アドレスのことを示す。実行キューでは、現在行ってい
る命令の位置を示す実行ポインターと最高のLBA を示す
最上位ポインターが用いられる。CD−ROMディスク
ドライバの初期化時には、実行ポインターと最上位ポイ
ンターをそれぞれ0に設定する。
【0011】待機キューは実行キューに格納された命令
を行った後に行う命令に応じてアクセスすべきディスク
のブロックに対するLBA を格納するキューである。待機
キューでは次に行う一番目の命令ポインターと最後の命
令ポインタが用いられる。自由キューは引き続き伝送さ
れる命令に応じてアクセスすべきディスクのブロックに
対するLBA を格納するために現在は空けておいた余分の
キュー領域である。自由キューでは一番目の自由ポイン
ター(FQHead)と最後の自由ポインター(FQTail)が用いら
れる。
を行った後に行う命令に応じてアクセスすべきディスク
のブロックに対するLBA を格納するキューである。待機
キューでは次に行う一番目の命令ポインターと最後の命
令ポインタが用いられる。自由キューは引き続き伝送さ
れる命令に応じてアクセスすべきディスクのブロックに
対するLBA を格納するために現在は空けておいた余分の
キュー領域である。自由キューでは一番目の自由ポイン
ター(FQHead)と最後の自由ポインター(FQTail)が用いら
れる。
【0012】このようなキューの構成が完了すると、デ
ィスクのデータをアクセスする命令をホストコンピュー
ターから伝送されて前記命令に応じてアクセスすべきデ
ィスクのLBA をキューに格納する。キューに格納された
内容に応じて命令が行われる過程は図5及び図6を通じ
て説明される。図5において、実行ポインターが示すLB
A がナルでないと、前記実行ポインターが示すLBA に当
たるデータをアクセスする。図6において、実行ポイン
ターが示すLBA がナルであると実行ポインターは次に行
う一番目の命令ポインターに移動し、前記ポインターが
示すLBA がナルでないかを調べる。もし、ナルでないと
前記ポインターが示すLBA に当たるデータをアクセスす
る。
ィスクのデータをアクセスする命令をホストコンピュー
ターから伝送されて前記命令に応じてアクセスすべきデ
ィスクのLBA をキューに格納する。キューに格納された
内容に応じて命令が行われる過程は図5及び図6を通じ
て説明される。図5において、実行ポインターが示すLB
A がナルでないと、前記実行ポインターが示すLBA に当
たるデータをアクセスする。図6において、実行ポイン
ターが示すLBA がナルであると実行ポインターは次に行
う一番目の命令ポインターに移動し、前記ポインターが
示すLBA がナルでないかを調べる。もし、ナルでないと
前記ポインターが示すLBA に当たるデータをアクセスす
る。
【0013】かつ、実行ポインター及び最上位ポインタ
ーがすべてナルであると、実行キュー、待機キュー及び
自由キューは全部EMPTY 状態であるわけである。する
と、ディスクドライバはアイドルループを行いホストコ
ンピューターから新たな命令が伝送されたかどうかを引
き続きチェックし、新たな命令が伝送されるまで待機す
る。
ーがすべてナルであると、実行キュー、待機キュー及び
自由キューは全部EMPTY 状態であるわけである。する
と、ディスクドライバはアイドルループを行いホストコ
ンピューターから新たな命令が伝送されたかどうかを引
き続きチェックし、新たな命令が伝送されるまで待機す
る。
【0014】ディスクドライバが命令を行うにおいて、
キューに格納されたLBA を再調整した後にディスクのデ
ータをアクセスする過程は図7を通じて説明する。ま
ず、前述したように実行キュー、待機キュー及び自由キ
ューを生成した後(段階71) 、ホストコンピューターか
ら伝送された命令に応じてアクセスすべきディスクのLB
A を実行キューに格納する(段階72) 。実行キューに格
納されたLBA を順番通りに調整し(段階73) 、かつ待機
キューに格納されたLBA を順番通りに調整する(段階7
4) 。待機キューに格納されたLBA を実行キュー内にLBA
の順番通りに整列されるように挿入して実行キューの
内容を再調整する(段階75) 。ディスクドライバは再調
整された実行キューに格納されたLBA に対応するデータ
をアクセスする(段階76) 。
キューに格納されたLBA を再調整した後にディスクのデ
ータをアクセスする過程は図7を通じて説明する。ま
ず、前述したように実行キュー、待機キュー及び自由キ
ューを生成した後(段階71) 、ホストコンピューターか
ら伝送された命令に応じてアクセスすべきディスクのLB
A を実行キューに格納する(段階72) 。実行キューに格
納されたLBA を順番通りに調整し(段階73) 、かつ待機
キューに格納されたLBA を順番通りに調整する(段階7
4) 。待機キューに格納されたLBA を実行キュー内にLBA
の順番通りに整列されるように挿入して実行キューの
内容を再調整する(段階75) 。ディスクドライバは再調
整された実行キューに格納されたLBA に対応するデータ
をアクセスする(段階76) 。
【0015】図8は実行キューの内容を再調整する方法
を説明するためのフローチャートである。図9は円形に
構成した実行キューの状態を示したものであり、かつ待
機キューのLBA(四角形のブロックに示される) が実行キ
ュー内に挿入される位置を説明する。まず、実行キュー
を円形に構成し、実行キューでLBA を時計回り方向に順
番に整列する(段階81) 。かつ、待機キューに格納され
たLBA を一つ取り出す(段階82) 。待機キューから取り
出したLBA が最上位ポインターにより指定されたLBAよ
り大きいと、待機キューのLBA を最上位LBA に設定する
(段階83,84)。このように設定された最上位LBA は現在
の実行キューの内容に応じて行った後に行う一番目のLB
A になる。
を説明するためのフローチャートである。図9は円形に
構成した実行キューの状態を示したものであり、かつ待
機キューのLBA(四角形のブロックに示される) が実行キ
ュー内に挿入される位置を説明する。まず、実行キュー
を円形に構成し、実行キューでLBA を時計回り方向に順
番に整列する(段階81) 。かつ、待機キューに格納され
たLBA を一つ取り出す(段階82) 。待機キューから取り
出したLBA が最上位ポインターにより指定されたLBAよ
り大きいと、待機キューのLBA を最上位LBA に設定する
(段階83,84)。このように設定された最上位LBA は現在
の実行キューの内容に応じて行った後に行う一番目のLB
A になる。
【0016】一方、83段階で前者が後者より大きくない
と、待機キューのLBA が実行ポインター(ExecPtr) によ
り指定されたLBA+X(ここで、Xは現在のLBA に対応する
ブロックから始めてディスクドライバが読み取るブロッ
クの数) より大きいかどうかを判断する(段階85) 。も
し、待機キューのLBA が実行ポインターのLBA+Xより大
きいと、最上位ポインターを反時計回り方向に移動させ
ながら最上位ポインターのLBA と待機キューのLBA とを
比較して、待機キューのLBA が最上位ポインターのLBA
より大きいと、待機キューのLBA を最上位ポインターに
より指定された位置の右側に挿入する(段階87-89)。そ
うでなければ、実行ポインターの左側から実行ポインタ
ーを反時計回り方向に移動させながら実行ポインターの
LBA と待機キューのLBA とを比較して、待機キューのLB
A が実行ポインターのLBA より大きくないと、待機キュ
ーのLBA を実行ポインターにより指定された位置の右側
に挿入する(段階90-92)。待機キューに格納された他の
LBA を順番に一つずつ取り出して前記過程を繰り返して
行い、実行キューの内容を順番通りに再調整する。
と、待機キューのLBA が実行ポインター(ExecPtr) によ
り指定されたLBA+X(ここで、Xは現在のLBA に対応する
ブロックから始めてディスクドライバが読み取るブロッ
クの数) より大きいかどうかを判断する(段階85) 。も
し、待機キューのLBA が実行ポインターのLBA+Xより大
きいと、最上位ポインターを反時計回り方向に移動させ
ながら最上位ポインターのLBA と待機キューのLBA とを
比較して、待機キューのLBA が最上位ポインターのLBA
より大きいと、待機キューのLBA を最上位ポインターに
より指定された位置の右側に挿入する(段階87-89)。そ
うでなければ、実行ポインターの左側から実行ポインタ
ーを反時計回り方向に移動させながら実行ポインターの
LBA と待機キューのLBA とを比較して、待機キューのLB
A が実行ポインターのLBA より大きくないと、待機キュ
ーのLBA を実行ポインターにより指定された位置の右側
に挿入する(段階90-92)。待機キューに格納された他の
LBA を順番に一つずつ取り出して前記過程を繰り返して
行い、実行キューの内容を順番通りに再調整する。
【0017】次に、再調整された実行キューに対して実
行ポインターを時計回り方向に移動させながらそれに当
たるディスクのブロックに対するLBA に対応するデータ
をアクセスする。この際、実行ポインターの位置と最上
位ポインターの位置が同じであると、実行ポインターと
最上位ポインターが同時に実行される。
行ポインターを時計回り方向に移動させながらそれに当
たるディスクのブロックに対するLBA に対応するデータ
をアクセスする。この際、実行ポインターの位置と最上
位ポインターの位置が同じであると、実行ポインターと
最上位ポインターが同時に実行される。
【0018】
【発明の効果】本発明によるCD−ROMディスクドラ
イバでの命令実行方法によると、CD−ROMディスク
ドライバがホストコンピューターから伝送された命令を
行うためにアクセスすべきCD−ROMディスクのLBA
をキュー内で再調整して行うことにより、命令の実行に
必要なデータのアクセス速度を向上させることができ
る。
イバでの命令実行方法によると、CD−ROMディスク
ドライバがホストコンピューターから伝送された命令を
行うためにアクセスすべきCD−ROMディスクのLBA
をキュー内で再調整して行うことにより、命令の実行に
必要なデータのアクセス速度を向上させることができ
る。
【図1】従来のCD−ROMディスクドライバの概略構
成図である。
成図である。
【図2】実行キューの構成図である。
【図3】待機キューの構成図である。
【図4】自由キューの構成図である。
【図5】実行ポインターがナルでない場合の命令実行状
態図である。
態図である。
【図6】実行ポインターがナルである場合の命令実行状
態図である。
態図である。
【図7】本発明による命令実行方法を説明するためのフ
ローチャートである。
ローチャートである。
【図8】実行キューの内容を再調整する方法を説明する
ためのフローチャートである。
ためのフローチャートである。
【図9】円形に構成された実行キューの状態図である。
71 実行キュー・待機キュー・自由キューを生成 72 アクセスすべきLBAを実行キューに格納 73 実行キューのLBAを順番に調整 74 待機キューのLBAを順番に調整 75 待機キューのLBAを実行キュー内に挿入させて
実行キューを再調整 76 実行キューの内容に応じてデータをアクセス
実行キューを再調整 76 実行キューの内容に応じてデータをアクセス
Claims (3)
- 【請求項1】 ディスクの領域をブロック単位で分けた
後、すべてのブロックに対してそれぞれのアドレスが付
与されたCD−ROMディスクに対して、前記アドレス
を指定することにより該ブロックにあるデータをアクセ
スするCD−ROMディスクドライバで、ディスクのデ
ータをアクセスする命令をホストコンピューターから伝
送され前記命令を行うための方法において、 (a) 現在行っている命令に応じてアクセスすべきディス
クのブロックに対するアドレスを格納する実行キュー
と、実行キューに格納された命令を行った後に行う命令
に応じてアクセスすべきディスクのブロックに対するア
ドレスを格納する待機キューと、引き続き伝送される命
令に応じてアクセスすべきディスクのブロックに対する
アドレスを格納するための自由キューとを生成する段階
と、 (b) 前記実行キューに格納されたブロックアドレスを順
番通りに調整する段階と、 (c) 前記待機キューに格納されたブロックアドレスを順
番通りに調整する段階と、 (d) 前記待機キューに格納されたブロックアドレスを前
記実行キュー内に順番通りに整列されるように挿入して
実行キューの内容を再調整する段階と、 (e) 前記再調整された実行キューに格納されたブロック
アドレスに対応するデータをアクセスする段階とを含む
ことを特徴とするCD−ROMディスクドライバでの命
令実行方法。 - 【請求項2】 前記データアクセス段階は、前記実行キ
ュー、前記待機キュー及び前記自由キューの内容がすべ
てナルであると、ホストコンピューターから新たな命令
が伝送されたか否かを確認するアイドルループを行う段
階を含むことを特徴とする請求項1に記載のCD−RO
Mディスクドライバでの命令実行方法。 - 【請求項3】 ディスクの領域をブロック単位で分けた
後、すべてのブロックに対してそれぞれのアドレスが付
与されたCD−ROMディスクに対して、前記アドレス
を指定することにより該ブロックにあるデータをアクセ
スするために、現在行っている命令に応じてアクセスす
べきディスクのブロックに対するアドレスを格納する実
行キューと、実行キューに格納された命令を行った後に
行う命令に応じてアクセスすべきディスクのブロックに
対するアドレスを格納する待機キューとを具備し、前記
実行キューは現在のデータをアクセスするブロックアド
レスを指定する実行ポインター及び前記実行キューのう
ち最高のブロックアドレスを示す最上位ポインターを用
いるCD−ROMディスクドライバで、ディスクのデー
タをアクセスする命令をホストコンピューターから伝送
され前記命令を行うための方法において、 (a) 前記実行キューを円形に構成し、前記実行キューで
ブロックアドレスを時計回り方向に順次に調整する段階
と、 (b) 前記待機キューに格納されたブロックアドレスのう
ち一つを取り出す段階と、 (c) 前記待機キューから取り出したブロックアドレスが
最上位ポインターにより指定されたブロックアドレスよ
り大きいと、前記待機キューのアドレスを最上位ブロッ
クアドレスとして設定する段階と、 (d) 前記待機キューのブロックアドレスが実行ポインタ
ーにより指定されたブロックアドレスより大きいかどう
かを判断し、 (e) もし、前記待機キューのブロックアドレスが実行ポ
インターのブロックアドレスより大きいと、最上位ポイ
ンターを反時計回り方向に移動させながら最上位ポイン
ターのブロックアドレスと待機キューのブロックアドレ
スとを比較して、待機キューのブロックアドレスが最上
位ポインターのブロックアドレスより大きいと待機キュ
ーのブロックアドレスを最上位ポインターにより指定さ
れた位置の右側に挿入し、 (f) そうでないと、実行ポインターを実行ポインターの
左側から反時計回り方向に移動させながら実行ポインタ
ーのブロックアドレスと待機キューのブロックアドレス
とを比較して、待機キューのブロックアドレスが実行ポ
インターのブロックアドレスより大きくないと、待機キ
ューのブロックアドレスを実行ポインターにより指定さ
れた位置の右側に挿入する段階と、 (g) 前記待機キューに格納された他のアドレスを一つず
つ順番に取り出して前記(b) 及び(c) 段階を繰り返して
行い、実行キューの内容を再調整する段階と、 (h) 前記再調整された実行キューに対して実行ポインタ
ーを一定な方向に移動させてそれに当たるディスクのブ
ロックに対するアドレスに対応するデータをアクセスす
る段階とを含むことを特徴とするCD−ROMディスク
ドライバでの命令実行方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR9575/1996 | 1996-03-30 | ||
| KR1019960009575A KR100219597B1 (ko) | 1996-03-30 | 1996-03-30 | 씨디-롬 드라이브에서의 큐잉 제어 방법 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH1031560A true JPH1031560A (ja) | 1998-02-03 |
Family
ID=19454686
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9037938A Pending JPH1031560A (ja) | 1996-03-30 | 1997-02-21 | Cd−romディスクドライバにおける命令実行方法 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5890208A (ja) |
| JP (1) | JPH1031560A (ja) |
| KR (1) | KR100219597B1 (ja) |
| DE (1) | DE19648752B4 (ja) |
Families Citing this family (58)
| 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 | 日本電気株式会社 | コマンドキュー制御装置 |
| US6983350B1 (en) | 1999-08-31 | 2006-01-03 | Intel Corporation | SDRAM controller for parallel processor architecture |
| US6606704B1 (en) * | 1999-08-31 | 2003-08-12 | Intel Corporation | Parallel multithreaded processor with plural microengines executing multiple threads each microengine having loadable microcode |
| US6427196B1 (en) | 1999-08-31 | 2002-07-30 | Intel Corporation | SRAM controller for parallel processor architecture including address and command queue and arbiter |
| US6668317B1 (en) * | 1999-08-31 | 2003-12-23 | Intel Corporation | Microengine for parallel processor architecture |
| WO2001016702A1 (en) | 1999-09-01 | 2001-03-08 | Intel Corporation | Register set used in multithreaded parallel processor architecture |
| HK1046049A1 (zh) | 1999-09-01 | 2002-12-20 | Intel Corporation | 用於多线程处理器的分支指令 |
| US7191309B1 (en) | 1999-09-01 | 2007-03-13 | Intel Corporation | Double shift instruction for micro engine 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 |
| 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 |
| US6631430B1 (en) * | 1999-12-28 | 2003-10-07 | Intel Corporation | Optimizations to receive packet status from fifo bus |
| US6625654B1 (en) * | 1999-12-28 | 2003-09-23 | Intel Corporation | Thread signaling in multi-threaded network processor |
| US7620702B1 (en) | 1999-12-28 | 2009-11-17 | Intel Corporation | Providing real-time control data for a network processor |
| US6661794B1 (en) * | 1999-12-29 | 2003-12-09 | Intel Corporation | Method and apparatus for gigabit packet assignment for multithreaded packet processing |
| US7480706B1 (en) | 1999-12-30 | 2009-01-20 | Intel Corporation | Multi-threaded round-robin receive for fast network port |
| US6952824B1 (en) | 1999-12-30 | 2005-10-04 | Intel Corporation | Multi-threaded sequenced receive for fast network port stream of packets |
| 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 |
| US7020871B2 (en) | 2000-12-21 | 2006-03-28 | Intel Corporation | Breakpoint method for parallel hardware threads in multithreaded processor |
| 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 |
| US7216204B2 (en) | 2001-08-27 | 2007-05-08 | Intel Corporation | Mechanism for providing early coherency detection to enable high performance memory updates in a latency sensitive multithreaded environment |
| US6868476B2 (en) * | 2001-08-27 | 2005-03-15 | Intel Corporation | Software controlled content addressable memory in a general purpose execution datapath |
| US7225281B2 (en) | 2001-08-27 | 2007-05-29 | Intel Corporation | Multiprocessor infrastructure for providing flexible bandwidth allocation via multiple instantiations of separate data buses, control buses and support mechanisms |
| US7487505B2 (en) | 2001-08-27 | 2009-02-03 | Intel Corporation | Multithreaded microprocessor with register allocation based on number of active threads |
| 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 |
| US7610451B2 (en) | 2002-01-25 | 2009-10-27 | Intel Corporation | Data transfer mechanism using unidirectional pull bus and push bus |
| 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 |
| US7437724B2 (en) | 2002-04-03 | 2008-10-14 | Intel Corporation | Registers for data transfers |
| 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 |
| US7337275B2 (en) | 2002-08-13 | 2008-02-26 | Intel Corporation | Free list and ring data structure management |
| US7352769B2 (en) | 2002-09-12 | 2008-04-01 | Intel Corporation | Multiple calendar schedule reservation structure and method |
| 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 |
| US7443836B2 (en) | 2003-06-16 | 2008-10-28 | Intel Corporation | Processing a data packet |
| 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 | 주식회사 다우기업 | 쥐 포획 장치 |
Family Cites Families (12)
| 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 | 磁気ディスク装置 |
| 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 |
| JPH07272457A (ja) * | 1994-03-28 | 1995-10-20 | Seagate Technol Internatl | 回転媒体を利用するシステムにおける回転レイテンシー時間を短くするための方法 |
| 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 Expired - Fee Related
- 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
Also Published As
| Publication number | Publication date |
|---|---|
| KR970067231A (ko) | 1997-10-13 |
| US5890208A (en) | 1999-03-30 |
| KR100219597B1 (ko) | 1999-09-01 |
| DE19648752A1 (de) | 1997-10-02 |
| DE19648752B4 (de) | 2010-04-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH1031560A (ja) | Cd−romディスクドライバにおける命令実行方法 | |
| JP3898782B2 (ja) | 情報記録再生装置 | |
| KR20020064357A (ko) | 디스크 드라이브내 버퍼 내부 및 외부 데이터 전송 관리용버퍼 관리 시스템 | |
| JP2004171411A (ja) | データ記憶装置及びバッファメモリの管理方法 | |
| US6883066B2 (en) | Method and system for cache management algorithm selection | |
| EP2267721A1 (en) | Data storage medium accessing method, data storage device and recording medium to perform the data storage medium accessing method | |
| US8589601B2 (en) | I/O controller and descriptor transfer method | |
| JP4402103B2 (ja) | データ記憶装置、そのデータ再配置方法、プログラム | |
| JPS62177621A (ja) | デイスク装置 | |
| US20020087783A1 (en) | Low cost, high performance tape drive | |
| JP4461089B2 (ja) | ストレージ制御装置およびストレージ制御方法 | |
| EP1684288A1 (en) | Information recorder, information recording method, and recording medium containing program | |
| US5875453A (en) | Apparatus for and method of information processing | |
| JP3969809B2 (ja) | 記憶装置におけるデータバッファの管理方法 | |
| KR100389110B1 (ko) | 저속 기억 장치를 위한 환형 큐의 관리 방법 | |
| JP2001118365A (ja) | 記憶階層管理システム、記憶階層管理方法及び記憶階層管理プログラムを記録した記録媒体 | |
| JP2001290607A (ja) | デバイスドライバのコマンドキューイング制御方法及びコンピュータシステム | |
| JPH10208255A (ja) | 光ディスク再生方法及び光ディスク装置 | |
| JPH1116269A (ja) | 光ディスク再生方法及び光ディスク装置 | |
| JP2003281816A (ja) | 高速コピー方法およびシステム | |
| JPH0963175A (ja) | 磁気ディスク制御装置 | |
| JPH1165775A (ja) | 磁気ディスクコントローラの制御方法 | |
| JPH05298702A (ja) | Cd−romドライブを用いた情報記憶装置 | |
| JPH10333963A (ja) | ファイルシステム結合方式 | |
| JPH10133946A (ja) | データ読み出し方法およびその装置 |