JP3968914B2 - ディスクアレイ装置 - Google Patents
ディスクアレイ装置 Download PDFInfo
- Publication number
- JP3968914B2 JP3968914B2 JP15465499A JP15465499A JP3968914B2 JP 3968914 B2 JP3968914 B2 JP 3968914B2 JP 15465499 A JP15465499 A JP 15465499A JP 15465499 A JP15465499 A JP 15465499A JP 3968914 B2 JP3968914 B2 JP 3968914B2
- Authority
- JP
- Japan
- Prior art keywords
- register
- data
- prefetch
- address
- access
- 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
- 230000015654 memory Effects 0.000 claims description 57
- 238000005259 measurement Methods 0.000 claims description 5
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000000694 effects Effects 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000004148 unit process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30047—Prefetch instructions; cache control instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3824—Operand accessing
- G06F9/383—Operand prefetching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6022—Using a prefetch buffer or dedicated prefetch cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
本発明は、ディスクアレイ装置など複数の要求を多重に処理し、アクセスパターンが予測できない装置に係わり、特に、プロセサがアクセスするオペランドのデータ読込み制御方法に関する。
【0002】
【従来の技術】
複数台の磁気ディスク装置(以下ディスク装置と呼ぶ)に対するデータの格納および読み出しを行うディスクアレイ装置がある。ディスクアレイ装置は、通常、プロセサがデータ制御と装置全体の制御を行う。ディスクアレイ装置に代表されるように、プロセサを用いたシステムは、プロセサ上で、メモリに格納したプログラム、すなわち命令コードを順次演算処理する。演算には、メモリやレジスタ上のデータであるオペランドを用いる。通常、システムは、演算処理を行うプロセサとメモリ制御を行うメモリコントローラとメモリおよび複数の制御LSIから構成される。このような、従来の一般的な構成の一例を図9に示す。
【0003】
図9は、従来のディスクアレイ装置の一例である。ディスクアレイ装置は、大別して複数台の磁気ディスク装置1020と磁気ディスク装置を制御するディスクアレイ制御装置1000を有する。磁気ディスク装置1020とディスク制御装置1000は、ドライブIF1103で接続する。ディスクアレイ制御装置1000とホストコンピュータ1050は、ホストIF1102で接続する。ディスクアレイ制御装置1000は、ホストコンピュータ1050との接続制御を行うチャネルIF部1011と、ディスク装置との接続制御を行うディスクIF部1012と、装置全体の共有メモリを有する共有メモリ部1015と、キャッシュメモリを有するキャッシュメモリ部1014とを有する。チャネルIF部1011と共有メモリ部1015、また、ディスクIF部1012と共有メモリ部1015は、アクセスパス2 137で接続する。チャネルIF部1011とキャッシュメモリ部1014、また、ディスクIF部1012とキャッシュメモリ部1014は、セレクタ部1013を介してアクセスパス0 1135、アクセスパス1 1136で接続する。チャネルIF部1011は、ホストIF1102とマイクロプロセサ1101(以下プロセサと呼ぶ)とSMアクセス制御部1105とCMアクセス制御部1104とこれらを接続する内部バス1106を備える。ディスクIF部1012は、ドライブIF1103とプロセサ1101とSMアクセス制御部1105とCMアクセス制御部1106とこれらを接続する内部バス1106を備える。チャネルIF部とキャッシュメモリ部は、メモリの制御を行うCMコントローラ1107とメモリモジュール1109を有する。共有メモリ部は、メモリの制御を行うSMコントローラ1108とメモリモジュール1109を有する。チャネルIF部とディスクIF部にあるプロセサは、共有メモリ部のメモリと各制御部のレジスタにあるオペランドデータをアクセスすることでディスクアレイ装置の状態を認識しながらホストからのデータ書込み、読み出しの処理を行う。
【0004】
このようなプロセサシステムでは、プロセサの演算処理性能に加え、メモリまたはレジスタからプロセサへのオペランドデータの読込み性能が重要である。プロセサがアクセス要求してからデータを受け取るまでの遅れはアクセスレイテンシと呼ばれる。近年、プロセサのコア性能は大幅に向上しているのに対し、外部IOアクセスを伴うオペランドデータのリードアクセス性能は、あまり改善されていない。この両者の性能差により、アクセスレイテンシが表面化すると、プロセサの処理がストールしプロセサ性能を引き出せないため、メモリシステムがシステム上のボトルネックになるという問題がある。
【0005】
オペランドデータアクセス性能の改善には、大別して2点ある。1点は、アクセス時間の低減による性能向上、もう1点は、アクセス時間の隠蔽である。しかし、アクセス時間の低減には、アクセスパスの動作周波数の向上が必要であるが、クロストークなどの実装ノイズが課題となり改善は困難である。特に、図9に示したようなディスクアレイ装置では、プロセサからオペランドデータまでに複数のLSIが介在するなど構成上プロセサとオペランドデータの距離が遠いので、一定以上のアクセス時間の低減は困難である。
【0006】
2点目のアクセス時間の隠蔽には、データの先読みが挙げられる。従来例として、プロセサの専用命令を用いた先読みがあり、一例として、“PowerPCマイクロプロセサ・ファミリプログラミング環境”に記載されているPOWERPCの命令セットにあるdcbt(Data Cache Block Touch)命令が挙げられる。dcbt命令は、専用命令によりオペランドデータをプロセサ内部のキャッシュに読み込む命令である。
【0007】
しかし、専用命令を用いた場合には、外部IOアクセス時間は既に述べたディスクアレイ装置のような大規模システムでは、マイクロ秒オーダを要する場合があり、実際にデータが必要になった時点でキャッシュにデータがあるかどうかを保証できない。また、マイクロ秒オーダでキャッシュの一部を占有することになるため複数の先読みを実行するとキャッシュの使用効率が悪化する。また、POWERPCでは、dcbt命令は、メインメモリに対して有効であり、外部IOに対しては実行できない。また、専用命令を備えている一部のプロセサを用いた場合に実現可能であり、所謂組込み用途に用いる比較的安価なプロセサにはこのような専用命令は備わっていない。
【0008】
【発明が解決しようとする課題】
これまで述べたように、近年のプロセサの高速化にともない、外部メモリや外部レジスタに代表される外部IOアクセスを伴ったオペランドアクセスの相対性能が低下し、結果的にシステム性能上のボトルネック部位となっている。すなわち、プロセサの内部処理性能は、プロセサコア部の動作周波数向上に伴い向上する一方で、外部IOアクセス速度は十分でない。従って、所謂組込み型システムなど外部IOアクセスの多発するシステムの性能は、外部IOアクセス性能に依存することになる。
【0009】
本発明が解決しようとする主たる課題は、オペランドアクセス性能を改善することである。特に、外部IO制御において、安価かつ容易にプロセサのオペランドデータアクセス性能向上を実現することを目的とする。
【0010】
以上に述べたオペランドデータアクセスに共通する課題の一因は、従来の外部IOを伴ったオペランドアクセスは、外部IO要求が発生してはじめて動作するため、オペランドデータ読込み速度を向上するためには、プロセサがメモリやレジスタからのリード要求を行ってから応答するまでのアクセスレイテンシの低減を実現する必要があり、外部IFの高速化が必須となることである。高速SRAMや各プロセサ専用メモリなどの高速メモリは、高価であるため、システム価格の上昇を招く。また、オペランドアクセス時間の大幅な短縮は困難である。
【0011】
また、アクセスレイテンシの増大に起因した他の問題点として 、システムバスの占有率に増大よるシステムバスの実効性能の低下がある。
【0012】
【課題を解決するための手段】
上記課題を解決するための本発明の手段を一言で述べると、外部アクセス制御部に、オペランドデータが必要となる前に、あらかじめ、オペランドデータをメモリ、または、レジスタから外部アクセス制御部内のレジスタに読み込んでおく(以下先読み、と呼ぶ)ようにしたことである。以下、具体的な手段について説明する。
【0013】
プロセサの外部アクセスを制御する外部アクセス制御LSIに先読み制御部を設けた。
【0014】
先読み制御部は、先読みを行うメモリまたはレジスタのアドレスを指定するアドレスレジスタと該アドレスレジスタのデータの有効性を示すアドレスレジスタ有効フラグと先読みしたデータを格納するデータレジスタと該データレジスタのデータの有効性を示すデータレジスタ有効フラグとを有する先読みレジスタセットを1つ以上備えた先読みレジスタ回路と、アクセス先のアドレスが該アドレスレジスタの値と一致しているかを判定するアドレス判定回路と、該先読みレジスタ回路および該アドレス判定回路を用いて先読み制御を行うアクセス制御回路を備えるようにした。
【0015】
先読み制御部は、先読みレジスタに対するライトアクセスを検出した場合は、該ライトアクセスのデータをアドレスレジスタに格納し、アドレスレジスタ有効ビットをセットし、さらに、該アドレスレジスタに格納したデータが示すアドレスに対してリードアクセスを行い、リードデータをデータレジスタに格納し、データ有効フラグをセットし、また、該アドレスレジスタ有効ビットがセットされ、かつ、該アドレスレジスタに格納されたデータと一致するアドレスに対するリードアクセスを検出した場合は、該データ有効フラグが既にセットされている場合は、データレジスタに格納されているデータを直ちに送信し、また、該データ有効フラグがセットされていない場合は、該データ有効フラグがセットされた後に該データレジスタに格納されているデータを送信し、該アドレス有効フラグと該データ有効フラグをリセットするようにした。
【0016】
先読み制御部は、先読みレジスタのアドレスレジスタに格納したアドレスに対するライトアクセスが発生した場合は、該ライトアクセスのデータをデータレジスタにセットし、データレジスタ有効フラグをセットするようにした。
【0017】
先読み制御部が、先読みレジスタに対するライトアクセスを検出した場合に、先読みレジスタセットのすべてのアドレスレジスタ有効フラグがセットされている場合は、先読みを行わないようにした。
【0018】
【発明の実施の形態】
以下、図面を用いて、発明の詳細を説明する。
【0019】
はじめに、プロセサ1のアクセスについて簡単に触れる。プロセサは、プロセサローカルバスと外部アクセスLSIを介してメモリとレジスタをアクセスする。この際、プロセサは、命令コード、データ、また外部レジスタなど、すべての外部アクセスをプロセサローカルバス経由で行う。従って、プロセサは、同時にはいずれか唯一の領域にのみアクセス可能である。
【0020】
図1は、本発明の概要を示すブロック図の一例である。本実施例は、外部アクセスについて先読みを行う場合の一例である。図1に示したディスクアレイ制御装置は、大きくは、マイクロプロセサ1と外部アクセスLSI2とメモリ部21と他LSI23から構成する。プロセサ1と外部アクセスLSI2間は、プロセサローカルバス100で接続する。また、外部アクセスLSI2とメモリ部21、または、他LSI23の間は、LSI間接続専用IF20で接続する。メモリ部21は、メモリを直接制御するメモリ制御LSI22とメモリ24を有する。メモリ制御LSI22は、内部にIF制御部31とレジスタ24を備える。また、他LSI23は、内部にIF制御部31とレジスタ24を備える。外部アクセスLSI2は、バス制御部201とメモリアクセス制御部3と外部レジスタ制御部9、および、これらを接続する内部バス202から構成する。メモリアクセス制御部3と、外部レジスタ制御部9の内部は同様の構成である。メモリアクセス制御部3を例に説明すると、先読みを行う対象のアドレスと先読みしたデータを格納するための先読みレジスタ6と、アクセス先アドレスが先読みしたデータのアドレスの比較するアドレス判定部7と、先読みアクセスを処理し、先読みレジスタ、アドレス判定部の制御を行うアクセス制御部5を備えた先読み制御部4とIF制御部31から構成する。先読み制御部4の詳細は、図4、5、6を用いて後述する。
【0021】
以上述べたように、本実施例では、先読みを目的とした専用レジスタを備えたことにより、オペランドデータの先読みを実現したところに特徴がある。
【0022】
次に、図2、図3を用いて、本発明に係るオペランドデータをアクセスする方法の動作の流れを説明する。
【0023】
図2は、本発明に係わるプログラムの一例である。プログラム11は、外部IOアクセスを伴うオペランドデータのリードアクセスに先行して、該オペランドデータのアドレスを先読みレジスタにストア命令を用いてライトすることで、先読み機構の起動を行う。その後、プログラムは、オペランドデータが必要になった時点でロード命令によりオペランドデータを読み込む。
【0024】
本実施例では、すべてのプロセサが備えているストア命令とロード命令を用いてオペランドデータの先読みを行うところに特徴がある。従って、先読みのための専用命令を必要としないため、安価な組込み用途向けプロセサでもオペランドデータの先読みを実現できる。
【0025】
図3は、本発明に係わるプログラム動作とLSI動作について従来方法と本発明の比較を示す動作図である。従来方法では、オペランドデータが必要になった時点で、ロード命令を発行する。この後外部IOアクセスを行うため、実際に該オペランドデータをプロセサ内部に読み込むまでプロセサはストールすることになる。これに対し、本発明では、オペランドデータが必要になる時点に先行して、ストア命令により先読みを行う。これにより外部制御LSIは、先読みレジスタにオペランドデータを読込んでおく。プロセサは、先読みを発行してから実際にオペランドデータの読込みを実行するまでの間は、他の処理を実行することができる。ストア処理は、プロセサの動作サイクルでたかだか数サイクル程度である。一方、リード命令はシステム構成に依存し大規模なシステムでは数マイクロ秒オーダになる。従って、従来方法では、数マイクロ秒の間処理が中断するのに対し、本発明では、他の処理を行うことで、オペランドデータアクセス時間を隠蔽できる。
【0026】
次に先読み制御部の実現例について図4、図5、図6を用いて説明する。図4は、図1に示した先読み制御部の一例を示すブロック図である。先読みレジスタ6は、先読みを行うアドレスを格納するアドレスレジスタ60と、該アドレスレジスタ60のデータが有効か無効かを示すAD有効フラグ61と、オペランドデータを格納するデータレジスタ62と、該データレジスタ62のデータが有効か無効かを示すDT有効フラグ63とを有する先読みレジスタセット64を複数備える。全レジスタセットのAD有効フラグの論理積によりレジスタセットに空きがあるかどうかを示すレジスタEMTY信号65を備える。アドレス判定回路7は、アクセスアドレス判定回路71と先読みアドレス判定回路72を備える。アクセスアドレス判定回路71は、プロセサがアクセスしたアドレスが先読みレジスタに対するアクセスかを判定する比較器を備え、また、判定結果を報告するアドレス一致信号41を生成する。先読みアドレス判定回路72は、プロセサがアクセスしたアドレスと、先読みレジスタ6に格納されている先読みアドレスの比較を行う比較器を備え、比較器の結果とAD有効フラグの論理積によりアドレスが一致したかを示す信号を生成する。比較器は、先読みレジスタセットに対応した数だけ備える。各比較器からの信号の論理和によりプロセサが要求したアドレスが先読みレジスタにあるかどうかを示す示す先読みヒット信号42を生成する。また、本実施例では、先読みレジスタセットの管理を行うための時間計測部68を設けている。時間計測部68は、時間計測用カウンタ回路を備え、先読み動作開始を示す計測起動信号66により計測を開始しあらかじめ設定したタイムアウト値を超えるとタイムアウト信号67にて報告する。先読みレジスタ6は、タイムアウト信号により該当する先読みレジスタセットのAD有効フラグ61とDT有効フラグ64をクリアすることで先読み処理を中断し、先読みレジスタセット64を開放する。
【0027】
次に、アクセス制御部5の動作について説明する。図5、図6は、アクセス制御部5の動作を示す流れ図である。アクセス制御部5は、図5、図6に示した流れ図から、シーケンサにより容易に実現できる。図5は、プロセサからのアクセスが発生したときの制御の流れを示している。プロセサからアクセスは、制御信号をデコードすることで認識できる。アクセスが発生すると、はじめに、アドレス一致信号と内部バス制御信号の状態から、該アクセスが先読みレジスタへのライトアクセスかを判定する(ステップ1)。先読みレジスタへのライトアクセスの場合は、先読みルーチンを起動して終了する(ステップ2)。先読みルーチンの詳細は、図6を用いて後述する。先読みレジスタへのライトアクセスでない場合は、先読みヒット信号の状態から先読みレジスタに設定されたアドレスへのアクセスかを判定する(ステップ3)。先読みレジスタに設定されたアドレスへのアクセスの場合は、すでに先読みの起動がかけられていることを示す。この場合、今回のアクセスがライトアクセスかを判定する(ステップ4)。アクセスがライトアクセスの場合は、先読みデータレジスタにデータを格納しDT有効フラグをセットする(ステップ5)。従って、先読み起動後に、同一アドレスに対するライトアクセスが発生した場合は、ライトデータが有効となり、データの不一致を生じることがない。ステップ5により該アクセスは終了する。一方、ステップ3で、先読みレジスタに設定されたアドレスへのアクセスでない場合は、先読みに係らない通常のアクセスであり、通常のIOアクセスを行い(ステップ6)終了する。また、ステップ4で、アクセスがライトアクセス出ない場合、すなわち、リードアクセスの場合は、先読みアドレスに対するリードアクセスを示している。この場合、DT有効フラグがセットされていることを確認し、セットされていない場合はセットされるまで待つ(ステップ7)。DT有効フラグがセットされている場合は、先読みデータがデータレジスタに格納されていることを示すので、該先読みデータをプロセサに送信する(ステップ8)。さらに、AD有効フラグとDT有効フラグをクリアしてアクセスを終了する(ステップ9)。
【0028】
以上の制御により先読みデータがある場合は、先読みデータをプロセサに送信することができる。
【0029】
図6は、先読み起動時の制御の流れを示す。図5ステップ2で先読みを起動されると、はじめに、先読みレジスタに空いているレジスタセットがあるかを判定する(ステップ1)。空いているレジスタセットがある場合は、アドレスレジスタにアドレスを格納し、AD有効フラグをセットする(ステップ2)。この後、実際のデータリードを開始し(ステップ3)、データ受信が終了するまで待つ(ステップ3)。データ受信が終了したら、DT有効フラグが既にセットされていないかを判定する(ステップ5)。DT有効フラグが既にセットされていなければ、データレジスタに受信したリードデータを格納しDT有効フラグをセットして(ステップ6)終了する。ステップ5でDT有効フラグが既にセットされている場合は、先読みアクセス中に同一アドレスに対するライトアクセスが発生したことを示しており、受信データは破棄し処理を終了する。また、ステップ1で、先読みレジスタセットが空いていない場合は、先読み処理を行わず終了する。
【0030】
図7は、本発明に係るディスクアレイ制御装置の他の一例を示すブロック図である。本実施例では、外部アクセスLSI2とメモリ制御LSI22、他LSI23をシステムバス24で接続したところに特徴がある。LSI間をバスで接続しているため小規模なシステムを構成する場合はシステム化が容易である。
【0031】
図8は、本発明に係るディスクアレイ制御装置の他の一例を示すブロック図である。本発明では、マイクロプロセサ1と先読み制御部4を備えたメモリアクセス制御部3、または、先読み制御部4を備えた外部レジスタ制御部9を同一LSI内に備えたところに特徴がある。プロセサローカルバスの周波数を高めることが可能なので、プロセサから先読みレジスタのアクセス時間を低減できる。
【0032】
【発明の効果】
本発明の効果を一言で述べると、 外部アクセス制御部に、オペランドデータが必要となる前に、あらかじめ、オペランドデータをメモリ、または、レジスタから外部アクセス制御部内のレジスタに読み込んでおくようにしたので、外部アクセスを伴うオペランドデータアクセス時間を隠蔽することができ、また、プロセサのストールを低減できるので、結果的に、プロセサの処理性能を向上することができるという効果がある。以下、具体的な効果について説明する。
【0033】
プロセサの外部アクセスを制御する外部アクセス制御部に先読み制御部を設け、先読み制御部は、先読みを行うメモリまたはレジスタのアドレスを指定するアドレスレジスタと該アドレスレジスタのデータの有効性を示すアドレスレジスタ有効フラグと先読みしたデータを格納するデータレジスタと該データレジスタのデータの有効性を示すデータレジスタ有効フラグとを有する先読みレジスタセットを1つ以上備えた先読みレジスタ回路と、アクセス先のアドレスが該アドレスレジスタの値と一致しているかを判定するアドレス判定回路と、該先読みレジスタ回路および該アドレス判定回路を用いて先読み制御を行うアクセス制御回路を備えるようにしたので、プロセサのストア命令で先読みを指示できるという効果がある。
【0034】
先読み制御部は、先読みレジスタのアドレスレジスタに格納したアドレスに対するライトアクセスが発生した場合は、該ライトアクセスのデータをデータレジスタにセットし、データレジスタ有効フラグをセットするようにしたので、先読みを指示したアドレスに対するライトが発生した場合でもデータの整合性がとれるという効果がある。
【0035】
先読み制御部が、先読みレジスタに対するライトアクセスを検出した場合に、先読みレジスタセットのすべてのアドレスレジスタ有効フラグがセットされている場合は、先読みを行わないようにしたので、容易に先読みレジスタセットの管理を実現できるという効果がある。
【図面の簡単な説明】
【図1】本発明に係る外部アクセス制御部の概要を示すブロック図の一例である。
【図2】本発明に係るプログラムの一例を示すリスト図である。
【図3】本発明に係る動作の一例を示す流れ図である。
【図4】本発明に係る先読み制御部の一例を示すブロック図である。
【図5】本発明に係る先読み制御部内のアクセス制御部の動作の一例を示す流れ図である。
【図6】本発明に係る先読み制御部内のアクセス制御部の動作の一例を示す流れ図である。
【図7】本発明に係る外部アクセス制御部の概要を示すブロック図の一例である。
【図8】本発明に係る外部アクセス制御部の概要を示すブロック図の一例である。
【図9】本発明に係るディスクアレイ装置の従来例を示すブロック図である。
【符号の説明】
1・・・プロセサ
2・・・外部アクセスLSI
3・・・メモリアクセス制御部
4・・・先読み制御部
5・・・アクセス制御部
6・・・先読みレジスタ
7・・・アドレス判定部
8・・・データパス
9・・・外部レジスタ制御部
8・・・バッファメモリ
30・・・メモリ部
31・・・IF制御部
40・・・制御LSI。
Claims (7)
- ディスクアレイ装置であって、
命令コードを実行する処理ユニットと、
前記命令コードに関連するオペランドデータを記憶するメモリと、
前記オペランドデータを格納するレジスタと、
前記処理ユニットと、前記メモリ、及び前記レジスタに接続される、先読み制御ユニットとを有し、
前記処理ユニットは、ロード命令を発行する前、前記先読み制御ユニットが、前記オペランドデータを前記メモリあるいは前記レジスタから読み出す間に他の命令コードを実行し、
前記先読み制御ユニットは、
先読みを行うメモリまたはレジスタのアドレスを指定するアドレスレジスタと前記アドレスレジスタのデータの有効性を示すアドレスレジスタ有効フラグと、先読みしたデータを格納するデータレジスタと前記データレジスタのデータの有効性を示すデータレジスタ有効フラグとを有する先読みレジスタを備えた先読みレジスタ回路と、
アクセス先のアドレスが前記アドレスレジスタの値と一致しているかを判定するアドレス判定回路と、
前記先読みレジスタ回路および前記アドレス判定回路を用いて先読み制御を行うアクセス制御回路を備え、
前記先読みレジスタに対するライトアクセスを検出した場合は、前記ライトアクセスのデータを前記アドレスレジスタに格納して前記アドレスレジスタ有効フラグをセットし、前記アドレスレジスタに格納したデータが示すアドレスに対してリードアクセスを行い、リードデータを前記データレジスタに格納し、前記データレジスタ有効フラグをセットし、
前記アドレスレジスタに格納されたデータが示すアドレスと一致するアドレスに対するリードアクセスを検出した場合であって、前記データレジスタ有効フラグが既にセットされているときは、前記データレジスタに格納されているデータを送信し、前記データレジスタ有効フラグがセットされていないときは、前記データレジスタ有効フラグがセットされた後に前記データレジスタに格納されているデータを送信し、前記アドレスレジスタ有効フラグと前記データレジスタ有効フラグをリセットすることを特徴とするディスクアレイ装置。 - 請求項1に記載のディスクアレイ装置であって、前記先読み制御ユニットは、さらに、
前記メモリから読み出した前記オペランドデータをロードする前記ロード命令が発行される前に、先行的に、前記メモリから前記オペランドデータを読み出す前記メモリ用先読みコントローラと、
前記レジスタから読み出した前記オペランドデータをロードする前記ロード命令が発行される前に、先行的に、前記レジスタから前記オペランドデータを読み出す前記レジスタ用先読みコントローラとを、有することを特徴とするディスクアレイ装置。 - 請求項2に記載のディスクアレイ装置であって、
前記メモリ用先読みコントローラと前記 メモリとを接続する第1の専用バスと、
前記レジスタ用先読みコントローラと前記 レジスタとを接続する第2の専用バスとを有することを特徴とするディスクアレイ装置。 - 請求項1に記載のディスクアレイ装置であって、
前記処理ユニットと 前記先読み制御ユニットは、LSIパッケージに実装されることを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置であって、
前記先読み制御ユニットは、先読み対象のオペランドデータを受信した際に当該先読み対象のオペランドデータに対応する前記データレジスタ有効フラグを調べ、
当該データレジスタ有効フラグがまだセットされていなければ当該先読み対象のオペランドデータを前記データレジスタに書き込み、当該データレジスタ有効フラグが既にセットされていれば当該先読み対象のオペランドデータを前記データレジスタに書き込まないものである、ことを特徴とするディスクアレイ装置。 - 請求項1に記載のディスクアレイ装置であって、さらに、
前記アドレスレジスタ有効フラグが設定されている時間を計測する計測回路を有し、
前記アドレスレジスタ有効フラグのセット時間が予め定められたタイムアウト値より大きくなった場合は、前記アドレスレジスタ有効フラグと前記データレジスタ有効フラグの両方をリセットすることを特徴とするディスクアレイ装置。 - 請求項1に記載のディスクアレイ装置であって、先読み制御ユニットが、先読みレジスタに対するライトアクセスを検出した場合に、先読みレジスタのすべてのアドレスレジスタ有効フラグがセットされている場合は、先読みを行わないことを特徴とするディスクアレイ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15465499A JP3968914B2 (ja) | 1999-06-02 | 1999-06-02 | ディスクアレイ装置 |
US09/585,330 US6738867B1 (en) | 1999-06-02 | 2000-06-02 | Disk array system reading ahead operand databackground of the invention |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP15465499A JP3968914B2 (ja) | 1999-06-02 | 1999-06-02 | ディスクアレイ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000347937A JP2000347937A (ja) | 2000-12-15 |
JP3968914B2 true JP3968914B2 (ja) | 2007-08-29 |
Family
ID=15588973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP15465499A Expired - Fee Related JP3968914B2 (ja) | 1999-06-02 | 1999-06-02 | ディスクアレイ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6738867B1 (ja) |
JP (1) | JP3968914B2 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006268215A (ja) | 2005-03-23 | 2006-10-05 | Hitachi Ltd | ストレージシステム |
US7827387B1 (en) * | 2006-09-08 | 2010-11-02 | Marvell International Ltd. | Communication bus with hidden pre-fetch registers |
GB0722707D0 (en) * | 2007-11-19 | 2007-12-27 | St Microelectronics Res & Dev | Cache memory |
GB2454811B8 (en) * | 2007-11-19 | 2012-11-21 | St Microelectronics Res & Dev | Cache memory system |
JP2009230374A (ja) * | 2008-03-21 | 2009-10-08 | Fujitsu Ltd | 情報処理装置,プログラム,及び命令列生成方法 |
WO2013089298A1 (ko) * | 2011-12-16 | 2013-06-20 | 엘지전자 주식회사 | 디스크 어레이의 제어 장치 및 방법 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5493728A (en) * | 1993-02-19 | 1996-02-20 | Borland International, Inc. | System and methods for optimized access in a multi-user environment |
JP3668504B2 (ja) | 1994-04-01 | 2005-07-06 | 富士通株式会社 | バッファ記憶制御方法および情報処理装置 |
JP3548616B2 (ja) | 1995-01-20 | 2004-07-28 | 株式会社日立製作所 | 情報処理装置 |
US5845103A (en) * | 1997-06-13 | 1998-12-01 | Wisconsin Alumni Research Foundation | Computer with dynamic instruction reuse |
US6341335B1 (en) * | 1997-10-29 | 2002-01-22 | Hitachi, Ltd. | Information processing system for read ahead buffer memory equipped with register and memory controller |
US6401193B1 (en) * | 1998-10-26 | 2002-06-04 | Infineon Technologies North America Corp. | Dynamic data prefetching based on program counter and addressing mode |
-
1999
- 1999-06-02 JP JP15465499A patent/JP3968914B2/ja not_active Expired - Fee Related
-
2000
- 2000-06-02 US US09/585,330 patent/US6738867B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000347937A (ja) | 2000-12-15 |
US6738867B1 (en) | 2004-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5745732A (en) | Computer system including system controller with a write buffer and plural read buffers for decoupled busses | |
US8725987B2 (en) | Cache memory system including selectively accessible pre-fetch memory for pre-fetch of variable size data | |
JP3016575B2 (ja) | 複数キャッシュ・メモリ・アクセス方法 | |
US7536530B2 (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
US5170476A (en) | Data processor having a deferred cache load | |
JP3640355B2 (ja) | キャッシュ制御の命令プリフェッチ方法及びシステム | |
US5603010A (en) | Performing speculative system memory reads prior to decoding device code | |
US6341335B1 (en) | Information processing system for read ahead buffer memory equipped with register and memory controller | |
US6345320B1 (en) | DMA address buffer and cache-memory control system | |
JP3429948B2 (ja) | 組込み型cpu用制御装置 | |
US20020056027A1 (en) | Information processing system | |
US5666505A (en) | Heuristic prefetch mechanism and method for computer system | |
US6098115A (en) | System for reducing storage access latency with accessing main storage and data bus simultaneously | |
US5161219A (en) | Computer system with input/output cache | |
US5367657A (en) | Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems | |
US20070271407A1 (en) | Data accessing method and system for processing unit | |
JP3968914B2 (ja) | ディスクアレイ装置 | |
JPH06318174A (ja) | キャッシュ・メモリ・システム及び主メモリに記憶されているデータのサブセットをキャッシュする方法 | |
JPH06243038A (ja) | キャッシュされたデータを読出しおよび書込む方法ならびにデータをキャッシングする装置 | |
US8683132B1 (en) | Memory controller for sequentially prefetching data for a processor of a computer system | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
US6097403A (en) | Memory including logic for operating upon graphics primitives | |
JPH11232171A (ja) | 情報処理システム | |
JPH07282023A (ja) | データ転送量可変プロセッサ及びそれを用いたシステム | |
JP3382087B2 (ja) | コンピュータシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060417 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20061213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070219 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070306 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070417 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070425 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070515 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070528 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100615 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110615 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120615 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130615 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |