[go: up one dir, main page]

JP3968914B2 - Disk array device - Google Patents

Disk array device Download PDF

Info

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
Application number
JP15465499A
Other languages
Japanese (ja)
Other versions
JP2000347937A (en
Inventor
宏樹 金井
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP15465499A priority Critical patent/JP3968914B2/en
Priority to US09/585,330 priority patent/US6738867B1/en
Publication of JP2000347937A publication Critical patent/JP2000347937A/en
Application granted granted Critical
Publication of JP3968914B2 publication Critical patent/JP3968914B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • G06F9/30047Prefetch instructions; cache control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3824Operand accessing
    • G06F9/383Operand prefetching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using 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

【0001】
【発明の属する技術分野】
本発明は、ディスクアレイ装置など複数の要求を多重に処理し、アクセスパターンが予測できない装置に係わり、特に、プロセサがアクセスするオペランドのデータ読込み制御方法に関する。
【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。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a device such as a disk array device that processes a plurality of requests in a multiplexed manner and an access pattern cannot be predicted, and more particularly to a data read control method for operands accessed by a processor.
[0002]
[Prior art]
There is a disk array device that stores and reads data for a plurality of magnetic disk devices (hereinafter referred to as disk devices). In a disk array device, a processor usually performs data control and overall device control. As represented by a disk array device, a system using a processor sequentially processes a program stored in a memory, that is, an instruction code, on the processor. For the operation, an operand which is data on a memory or a register is used. Usually, a system is composed of a processor that performs arithmetic processing, a memory controller that performs memory control, a memory, and a plurality of control LSIs. An example of such a conventional general configuration is shown in FIG.
[0003]
FIG. 9 shows an example of a conventional disk array device. The disk array device roughly includes a plurality of magnetic disk devices 1020 and a disk array control device 1000 that controls the magnetic disk devices. The magnetic disk device 1020 and the disk control device 1000 are connected by a drive IF 1103. The disk array controller 1000 and the host computer 1050 are connected by a host IF 1102. The disk array control apparatus 1000 includes a channel IF unit 1011 that performs connection control with the host computer 1050, a disk IF unit 1012 that performs connection control with the disk device, a shared memory unit 1015 having a shared memory of the entire device, a cache And a cache memory unit 1014 having a memory. The channel IF unit 1011 and the shared memory unit 1015, and the disk IF unit 1012 and the shared memory unit 1015 are connected by an access path 2 137. The channel IF unit 1011 and the cache memory unit 1014, and the disk IF unit 1012 and the cache memory unit 1014 are connected by the access path 0 1135 and the access path 1 1136 via the selector unit 1013. The channel IF unit 1011 includes a host IF 1102, a microprocessor 1101 (hereinafter referred to as a processor), an SM access control unit 1105, a CM access control unit 1104, and an internal bus 1106 that connects them. The disk IF unit 1012 includes a drive IF 1103, a processor 1101, an SM access control unit 1105, a CM access control unit 1106, and an internal bus 1106 for connecting them. The channel IF unit and the cache memory unit include a CM controller 1107 and a memory module 1109 that control the memory. The shared memory unit includes an SM controller 1108 and a memory module 1109 that control the memory. Processors in the channel IF unit and the disk IF unit process data write and read from the host while recognizing the state of the disk array device by accessing operand data in the memory of the shared memory unit and the register of each control unit I do.
[0004]
In such a processor system, in addition to the arithmetic processing performance of the processor, reading performance of operand data from the memory or register to the processor is important. The delay from when the processor requests access until it receives data is called access latency. In recent years, the core performance of processors has been greatly improved, while the read access performance of operand data with external IO access has not been improved much. If the access latency is brought to the surface due to the difference in performance between the two, the processing of the processor is stalled and the processor performance cannot be brought out, so that there is a problem that the memory system becomes a bottleneck on the system.
[0005]
There are roughly two ways to improve operand data access performance. One is performance improvement by reducing access time, and the other is access time concealment. However, in order to reduce the access time, it is necessary to improve the operating frequency of the access path, but mounting noise such as crosstalk is an issue and it is difficult to improve. In particular, in the disk array device as shown in FIG. 9, since the distance between the processor and the operand data is long because a plurality of LSIs are interposed between the processor and the operand data, it is difficult to reduce the access time beyond a certain level. .
[0006]
The second access time concealment includes data prefetching. As a conventional example, there is a prefetch using a dedicated instruction of a processor. As an example, there is a dcbt (Data Cache Block Touch) instruction in the POWERPC instruction set described in “PowerPC Microprocessor Family Programming Environment”. The dcbt instruction is an instruction for reading operand data into a cache inside the processor by a dedicated instruction.
[0007]
However, when a dedicated instruction is used, the external IO access time may require a microsecond order in a large-scale system such as the disk array device already described, and the cache will be cached when data is actually needed. We cannot guarantee if there is data in Further, since a part of the cache is occupied in the order of microseconds, the use efficiency of the cache deteriorates when a plurality of prefetching is executed. In POWERPC, the dcbt instruction is valid for the main memory and cannot be executed for the external IO. Further, it can be realized when a part of processors provided with dedicated instructions is used, and a relatively inexpensive processor used for so-called embedded use does not have such dedicated instructions.
[0008]
[Problems to be solved by the invention]
As described above, with the recent increase in processor speed, the relative performance of operand access accompanied by external IO access represented by external memory and external registers has decreased, resulting in a bottleneck in system performance. It has become. That is, the internal processing performance of the processor is improved as the operating frequency of the processor core unit is improved, but the external IO access speed is not sufficient. Accordingly, the performance of a system that frequently generates external IO access, such as a so-called embedded system, depends on the external IO access performance.
[0009]
The main problem to be solved by the present invention is to improve operand access performance. In particular, it is an object of the present invention to improve the operand data access performance of a processor easily and inexpensively in external IO control.
[0010]
One of the problems common to the operand data access described above is that operand access with a conventional external IO operates only after an external IO request is generated. Therefore, in order to improve the operand data read speed, It is necessary to reduce the access latency from when the processor makes a read request from the memory or register to when it responds, and it is essential to increase the speed of the external IF. High-speed memories such as high-speed SRAMs and dedicated memory for each processor are expensive, leading to an increase in system price. Also, it is difficult to significantly shorten the operand access time.
[0011]
Another problem caused by an increase in access latency is a decrease in the effective performance of the system bus due to an increase in system bus occupancy.
[0012]
[Means for Solving the Problems]
In short, the means of the present invention for solving the above-described problems will be described. Before the operand data is required for the external access control unit, the operand data is previously stored in the memory or the register in the external access control unit. (Referred to as prefetching below). Hereinafter, specific means will be described.
[0013]
A prefetch control unit is provided in the external access control LSI that controls the external access of the processor.
[0014]
The prefetch control unit includes an address register that specifies the address of the memory or register that performs prefetching, an address register valid flag that indicates the validity of the data in the address register, a data register that stores the prefetched data, and the validity of the data in the data register A prefetch register circuit having one or more prefetch register sets each having a data register valid flag indicating the characteristics, an address determination circuit for judging whether the address of the access destination matches the value of the address register, and the prefetch register An access control circuit that performs read-ahead control using the circuit and the address determination circuit is provided.
[0015]
When the prefetch control unit detects a write access to the prefetch register, it stores the write access data in the address register, sets the address register valid bit, and further, for the address indicated by the data stored in the address register. Read access, store the read data in the data register, set the data valid flag, read access to the address that has the address register valid bit set and matches the data stored in the address register If the data valid flag is already set, the data stored in the data register is immediately transmitted. If the data valid flag is not set, the data valid flag is transmitted. Is set in the data register after It transmits the data that has been paid, and to reset the address valid flag and the data valid flag.
[0016]
When a write access to the address stored in the address register of the prefetch register occurs, the prefetch control unit sets the write access data in the data register and sets the data register valid flag.
[0017]
When the prefetch control unit detects a write access to the prefetch register, if all the address register valid flags of the prefetch register set are set, the prefetch is not performed.
[0018]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the details of the invention will be described with reference to the drawings.
[0019]
First, I will briefly touch on access to the processor 1. The processor accesses the memory and the register via the processor local bus and the external access LSI. At this time, the processor performs all external accesses such as instruction codes, data, and external registers via the processor local bus. Accordingly, the processor can access only one of the areas at the same time.
[0020]
FIG. 1 is an example of a block diagram showing an outline of the present invention. The present embodiment is an example when prefetching is performed for external access. The disk array control apparatus shown in FIG. 1 mainly includes a microprocessor 1, an external access LSI 2, a memory unit 21, and another LSI 23. The processor 1 and the external access LSI 2 are connected by a processor local bus 100. The external access LSI 2 and the memory unit 21 or the other LSI 23 are connected by an inter-LSI connection dedicated IF 20. The memory unit 21 includes a memory control LSI 22 and a memory 24 that directly control the memory. The memory control LSI 22 includes an IF control unit 31 and a register 24 inside. The other LSI 23 includes an IF control unit 31 and a register 24 therein. The external access LSI 2 includes a bus control unit 201, a memory access control unit 3, an external register control unit 9, and an internal bus 202 that connects them. The memory access control unit 3 and the external register control unit 9 have the same configuration. The memory access control unit 3 will be described as an example. The prefetch register 6 for storing the address to be prefetched and the prefetched data, the address determination unit 7 for comparing the address of the data prefetched by the access destination address, and the prefetching It comprises a prefetch control unit 4 and an IF control unit 31 provided with an access control unit 5 that processes access and controls the prefetch register and the address determination unit. Details of the prefetch control unit 4 will be described later with reference to FIGS.
[0021]
As described above, the present embodiment is characterized in that operand data prefetching is realized by providing a dedicated register for prefetching purposes.
[0022]
Next, the operation flow of the method for accessing operand data according to the present invention will be described with reference to FIGS.
[0023]
FIG. 2 is an example of a program according to the present invention. The program 11 starts the prefetch mechanism by writing the operand data address to the prefetch register using a store instruction prior to the read access of the operand data accompanied by the external IO access. Thereafter, the program reads the operand data by a load instruction when the operand data is needed.
[0024]
The present embodiment is characterized in that operand data is prefetched using a store instruction and a load instruction provided in all processors. Accordingly, since a dedicated instruction for prefetching is not required, prefetching of operand data can be realized even with an inexpensive processor for embedded use.
[0025]
FIG. 3 is an operation diagram showing a comparison between the conventional method and the present invention regarding the program operation and the LSI operation according to the present invention. In the conventional method, a load instruction is issued when operand data is required. Thereafter, in order to perform external IO access, the processor is stalled until the operand data is actually read into the processor. On the other hand, in the present invention, prefetching is performed by a store instruction prior to the time when operand data is required. As a result, the external control LSI reads the operand data into the prefetch register. The processor can execute other processes from the time when the prefetch is issued to the time when the operand data is actually read. The store process is at most several cycles in the operation cycle of the processor. On the other hand, the read command depends on the system configuration and is on the order of several microseconds in a large-scale system. Therefore, in the conventional method, the processing is interrupted for several microseconds, whereas in the present invention, the operand data access time can be concealed by performing other processing.
[0026]
Next, an implementation example of the prefetch control unit will be described with reference to FIGS. 4, 5, and 6. FIG. 4 is a block diagram illustrating an example of the prefetch control unit illustrated in FIG. The prefetch register 6 includes an address register 60 that stores an address to be prefetched, an AD valid flag 61 that indicates whether the data in the address register 60 is valid, invalid, a data register 62 that stores operand data, and the data register 62. A plurality of prefetch register sets 64 each having a DT valid flag 63 indicating whether the data is valid or invalid are provided. A register EMTY signal 65 is provided to indicate whether or not there is a space in the register set by the logical product of AD valid flags of all register sets. The address determination circuit 7 includes an access address determination circuit 71 and a prefetch address determination circuit 72. The access address determination circuit 71 includes a comparator that determines whether the address accessed by the processor is an access to the prefetch register, and generates an address match signal 41 that reports the determination result. The prefetch address determination circuit 72 includes a comparator that compares the address accessed by the processor and the prefetch address stored in the prefetch register 6, and whether the address matches the logical product of the result of the comparator and the AD valid flag. Is generated. The comparators are provided in the number corresponding to the prefetch register set. A prefetch hit signal 42 indicating whether or not the address requested by the processor is in the prefetch register is generated by the logical sum of signals from the respective comparators. In this embodiment, a time measuring unit 68 for managing the prefetch register set is provided. The time measurement unit 68 includes a time measurement counter circuit, starts measurement by a measurement activation signal 66 indicating the start of a prefetch operation, and reports a timeout signal 67 when a preset timeout value is exceeded. The prefetch register 6 clears the AD valid flag 61 and the DT valid flag 64 of the corresponding prefetch register set by a time-out signal, interrupts the prefetch process, and releases the prefetch register set 64.
[0027]
Next, the operation of the access control unit 5 will be described. 5 and 6 are flowcharts showing the operation of the access control unit 5. The access control unit 5 can be easily realized by a sequencer from the flowcharts shown in FIGS. FIG. 5 shows a control flow when an access from a processor occurs. Access from the processor can be recognized by decoding the control signal. When an access occurs, first, it is determined whether the access is a write access to the prefetch register from the state of the address match signal and the internal bus control signal (step 1). In the case of write access to the prefetch register, the prefetch routine is started and terminated (step 2). Details of the prefetch routine will be described later with reference to FIG. If it is not a write access to the prefetch register, it is determined whether the access is to the address set in the prefetch register from the state of the prefetch hit signal (step 3). In the case of access to the address set in the prefetch register, it indicates that prefetching has already been activated. In this case, it is determined whether the current access is a write access (step 4). If the access is a write access, the data is stored in the prefetch data register and the DT valid flag is set (step 5). Therefore, if a write access to the same address occurs after pre-reading is activated, the write data becomes valid and no data mismatch occurs. Step 5 ends the access. On the other hand, if it is not an access to the address set in the prefetch register in step 3, it is a normal access not related to the prefetch, and a normal IO access is performed (step 6) and the process is terminated. Further, in step 4, when the access is not a write access, that is, in the case of a read access, the read access to the prefetch address is indicated. In this case, it is confirmed that the DT valid flag is set. If it is not set, the process waits until it is set (step 7). If the DT valid flag is set, it indicates that the prefetch data is stored in the data register, and the prefetch data is transmitted to the processor (step 8). Further, the AD validity flag and the DT validity flag are cleared and the access is terminated (step 9).
[0028]
When pre-read data exists by the above control, the pre-read data can be transmitted to the processor.
[0029]
FIG. 6 shows the flow of control when prefetching is started. When prefetching is activated in step 2 of FIG. 5, it is first determined whether there is an empty register set in the prefetch register (step 1). If there is a vacant register set, the address is stored in the address register and the AD valid flag is set (step 2). Thereafter, the actual data read is started (step 3) and waits until the data reception is completed (step 3). When the data reception is completed, it is determined whether the DT valid flag has already been set (step 5). If the DT valid flag is not already set, the received read data is stored in the data register, the DT valid flag is set (step 6), and the process ends. If the DT valid flag is already set in step 5, it indicates that a write access to the same address has occurred during the pre-read access, and the received data is discarded and the process is terminated. If the prefetch register set is not empty in step 1, the prefetch process is not performed and the process is terminated.
[0030]
FIG. 7 is a block diagram showing another example of the disk array control apparatus according to the present invention. This embodiment is characterized in that the external access LSI 2, the memory control LSI 22, and another LSI 23 are connected by a system bus 24. Since LSIs are connected by a bus, systemization is easy when configuring a small-scale system.
[0031]
FIG. 8 is a block diagram showing another example of the disk array control apparatus according to the present invention. The present invention is characterized in that the memory access control unit 3 including the microprocessor 1 and the prefetch control unit 4 or the external register control unit 9 including the prefetch control unit 4 is provided in the same LSI. Since the frequency of the processor local bus can be increased, the access time from the processor to the prefetch register can be reduced.
[0032]
【The invention's effect】
The effect of the present invention will be described in a word. Before the operand data is required for the external access control unit, the operand data is read in advance from the memory or the register into the register in the external access control unit. Therefore, the operand data access time accompanied by external access can be concealed, and the stall of the processor can be reduced. As a result, the processing performance of the processor can be improved. Hereinafter, specific effects will be described.
[0033]
A prefetch control unit is provided in the external access control unit that controls the external access of the processor. The prefetch control unit is an address register that specifies the address of the memory or register that performs prefetching and an address register that indicates the validity of the data in the address register. A prefetch register circuit having at least one prefetch register set having a flag, a data register for storing prefetched data, and a data register valid flag indicating the validity of the data in the data register, and an address to be accessed is the address register Since the address determination circuit for determining whether or not the value matches, the prefetch register circuit and the access control circuit for performing prefetch control using the address determination circuit, prefetch can be instructed by a store instruction of the processor. There is an effect.
[0034]
When a write access to the address stored in the address register of the prefetch register occurs, the prefetch control unit sets the data of the write access to the data register and sets the data register valid flag. Even when a write to the specified address occurs, there is an effect that data consistency can be obtained.
[0035]
When the prefetch control unit detects a write access to the prefetch register, if all the address register valid flags of the prefetch register set are set, prefetch is not performed, so the prefetch register set can be easily managed. There is an effect that can be realized.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram showing an outline of an external access control unit according to the present invention.
FIG. 2 is a list diagram showing an example of a program according to the present invention.
FIG. 3 is a flowchart showing an example of an operation according to the present invention.
FIG. 4 is a block diagram illustrating an example of a prefetch control unit according to the present invention.
FIG. 5 is a flowchart showing an example of the operation of the access control unit in the prefetch control unit according to the present invention.
FIG. 6 is a flowchart showing an example of the operation of the access control unit in the prefetch control unit according to the present invention.
FIG. 7 is an example of a block diagram showing an outline of an external access control unit according to the present invention.
FIG. 8 is an example of a block diagram showing an outline of an external access control unit according to the present invention.
FIG. 9 is a block diagram showing a conventional example of a disk array device according to the present invention.
[Explanation of symbols]
1 ... Processor 2 ... External access LSI
DESCRIPTION OF SYMBOLS 3 ... Memory access control part 4 ... Prefetch control part 5 ... Access control part 6 ... Prefetch register 7 ... Address determination part 8 ... Data path 9 ... External register control part 8 ... Buffer memory 30 ... Memory part 31 ... IF control part 40 ... Control LSI.

Claims (7)

ディスクアレイ装置であって、
命令コードを実行する処理ユニットと、
前記命令コードに関連するオペランドデータを記憶するメモリと、
前記オペランドデータを格納するレジスタと、
前記処理ユニットと、前記メモリ、及び前記レジスタに接続される、先読み制御ユニットとを有し、
前記処理ユニットは、ロード命令を発行する前、前記先読み制御ユニットが、前記オペランドデータを前記メモリあるいは前記レジスタから読み出す間に他の命令コードを実行し、
前記先読み制御ユニットは、
先読みを行うメモリまたはレジスタのアドレスを指定するアドレスレジスタと前記アドレスレジスタのデータの有効性を示すアドレスレジスタ有効フラグと、先読みしたデータを格納するデータレジスタと前記データレジスタのデータの有効性を示すデータレジスタ有効フラグとを有する先読みレジスタを備えた先読みレジスタ回路と、
アクセス先のアドレスが前記アドレスレジスタの値と一致しているかを判定するアドレス判定回路と、
前記先読みレジスタ回路および前記アドレス判定回路を用いて先読み制御を行うアクセス制御回路を備え、
前記先読みレジスタに対するライトアクセスを検出した場合は、前記ライトアクセスのデータを前記アドレスレジスタに格納して前記アドレスレジスタ有効フラグをセットし、前記アドレスレジスタに格納したデータが示すアドレスに対してリードアクセスを行い、リードデータを前記データレジスタに格納し、前記データレジスタ有効フラグをセットし、
前記アドレスレジスタに格納されたデータが示すアドレスと一致するアドレスに対するリードアクセスを検出した場合であって、前記データレジスタ有効フラグが既にセットされているときは、前記データレジスタに格納されているデータを送信し、前記データレジスタ有効フラグがセットされていないときは、前記データレジスタ有効フラグがセットされた後に前記データレジスタに格納されているデータを送信し、前記アドレスレジスタ有効フラグと前記データレジスタ有効フラグをリセットすることを特徴とするディスクアレイ装置。
A disk array device,
A processing unit for executing the instruction code;
A memory for storing operand data related to the instruction code;
A register for storing the operand data;
A prefetch control unit connected to the processing unit, the memory, and the register;
The processing unit executes another instruction code while the prefetch control unit reads the operand data from the memory or the register before issuing a load instruction ,
The prefetch control unit includes:
An address register that specifies the address of the memory or register that performs prefetching, an address register valid flag that indicates the validity of the data in the address register, a data register that stores the prefetched data, and data that indicates the validity of the data in the data register A prefetch register circuit comprising a prefetch register having a register valid flag;
An address determination circuit for determining whether the address of the access destination matches the value of the address register;
An access control circuit that performs prefetch control using the prefetch register circuit and the address determination circuit;
When a write access to the prefetch register is detected, the write access data is stored in the address register, the address register valid flag is set, and a read access is performed to the address indicated by the data stored in the address register. Store read data in the data register, set the data register valid flag,
When a read access to an address matching the address indicated by the data stored in the address register is detected, and the data register valid flag is already set, the data stored in the data register is And when the data register valid flag is not set, the data stored in the data register is transmitted after the data register valid flag is set, and the address register valid flag and the data register valid flag are transmitted. A disk array device characterized by resetting the disk.
請求項1に記載のディスクアレイ装置であって、前記先読み制御ユニットは、さらに、
前記メモリから読み出した前記オペランドデータをロードする前記ロード命令が発行される前に、先行的に、前記メモリから前記オペランドデータを読み出す前記メモリ用先読みコントローラと、
前記レジスタから読み出した前記オペランドデータをロードする前記ロード命令が発行される前に、先行的に、前記レジスタから前記オペランドデータを読み出す前記レジスタ用先読みコントローラとを、有することを特徴とするディスクアレイ装置。
The disk array device according to claim 1, wherein the prefetch control unit further includes:
The memory prefetch controller that reads the operand data from the memory in advance before the load instruction to load the operand data read from the memory is issued;
A disk array device comprising: the register prefetch controller that reads the operand data from the register in advance before the load instruction for loading the operand data read from the register is issued .
請求項2に記載のディスクアレイ装置であって、
前記メモリ用先読みコントローラと前記 メモリとを接続する第1の専用バスと、
前記レジスタ用先読みコントローラと前記 レジスタとを接続する第2の専用バスとを有することを特徴とするディスクアレイ装置。
The disk array device according to claim 2,
A first dedicated bus connecting the memory prefetch controller and the memory;
A disk array device comprising: the prefetch controller for registers and a second dedicated bus for connecting the registers.
請求項1に記載のディスクアレイ装置であって、
前記処理ユニットと 前記先読み制御ユニットは、LSIパッケージに実装されることを特徴とするディスクアレイ装置。
The disk array device according to claim 1, wherein
The disk array device, wherein the processing unit and the prefetch control unit are mounted on an LSI package.
請求項1記載のディスクアレイ装置であって、
前記先読み制御ユニットは、先読み対象のオペランドデータを受信した際に当該先読み対象のオペランドデータに対応する前記データレジスタ有効フラグを調べ、
当該データレジスタ有効フラグがまだセットされていなければ当該先読み対象のオペランドデータを前記データレジスタに書き込み、当該データレジスタ有効フラグが既にセットされていれば当該先読み対象のオペランドデータを前記データレジスタに書き込まないものである、ことを特徴とするディスクアレイ装置。
The disk array device according to claim 1,
The prefetch control unit checks the data register valid flag corresponding to the prefetch target operand data when receiving the prefetch target operand data,
If the data register valid flag has not been set yet, the operand data to be prefetched is written to the data register, and if the data register valid flag has already been set, the operand data to be prefetched is not written to the data register. A disk array device characterized by that.
請求項1に記載のディスクアレイ装置であって、さらに、
前記アドレスレジスタ有効フラグが設定されている時間を計測する計測回路を有し、
前記アドレスレジスタ有効フラグのセット時間が予め定められたタイムアウト値より大きくなった場合は、前記アドレスレジスタ有効フラグと前記データレジスタ有効フラグの両方をリセットすることを特徴とするディスクアレイ装置。
The disk array device according to claim 1, further comprising:
A measurement circuit for measuring the time for which the address register valid flag is set;
The disk array device, wherein when the set time of the address register valid flag becomes longer than a predetermined timeout value, both the address register valid flag and the data register valid flag are reset.
請求項1に記載のディスクアレイ装置であって、先読み制御ユニットが、先読みレジスタに対するライトアクセスを検出した場合に、先読みレジスタのすべてのアドレスレジスタ有効フラグがセットされている場合は、先読みを行わないことを特徴とするディスクアレイ装置。  2. The disk array device according to claim 1, wherein when the prefetch control unit detects a write access to the prefetch register, if all the address register valid flags of the prefetch register are set, the prefetch is not performed. A disk array device characterized by the above.
JP15465499A 1999-06-02 1999-06-02 Disk array device Expired - Fee Related JP3968914B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP15465499A JP3968914B2 (en) 1999-06-02 1999-06-02 Disk array device
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 (en) 1999-06-02 1999-06-02 Disk array device

Publications (2)

Publication Number Publication Date
JP2000347937A JP2000347937A (en) 2000-12-15
JP3968914B2 true JP3968914B2 (en) 2007-08-29

Family

ID=15588973

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15465499A Expired - Fee Related JP3968914B2 (en) 1999-06-02 1999-06-02 Disk array device

Country Status (2)

Country Link
US (1) US6738867B1 (en)
JP (1) JP3968914B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006268215A (en) 2005-03-23 2006-10-05 Hitachi Ltd Storage system
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 (en) * 2008-03-21 2009-10-08 Fujitsu Ltd Information processor, program, and instruction sequence generation method
WO2013089298A1 (en) * 2011-12-16 2013-06-20 엘지전자 주식회사 Apparatus and method for controlling disk array

Family Cites Families (6)

* Cited by examiner, † Cited by third party
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 (en) 1994-04-01 2005-07-06 富士通株式会社 Buffer storage control method and information processing apparatus
JP3548616B2 (en) 1995-01-20 2004-07-28 株式会社日立製作所 Information processing equipment
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

Also Published As

Publication number Publication date
US6738867B1 (en) 2004-05-18
JP2000347937A (en) 2000-12-15

Similar Documents

Publication Publication Date Title
JP3577331B2 (en) Cache memory system and method for manipulating instructions in a microprocessor
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
JP3640355B2 (en) Instruction prefetch method and system for cache control
US7536530B2 (en) Method and apparatus for determining a dynamic random access memory page management implementation
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
US6098115A (en) System for reducing storage access latency with accessing main storage and data bus simultaneously
US20020056027A1 (en) Information processing system
US20070271407A1 (en) Data accessing method and system for processing unit
US5666505A (en) Heuristic prefetch mechanism and method for computer system
JPH09282228A (en) Main memory controller
US5367657A (en) Method and apparatus for efficient read prefetching of instruction code data in computer memory subsystems
JP3968914B2 (en) Disk array device
JP3732555B2 (en) Pipeline cache system with low effective latency for non-sequential access
JPH06318174A (en) Cache memory system and method for performing cache for subset of data stored in main memory
JPH06243038A (en) Method for reading and writing cached data and device for caching data
US8683132B1 (en) Memory controller for sequentially prefetching data for a processor of a computer system
US6097403A (en) Memory including logic for operating upon graphics primitives
JPH11232171A (en) Information processing system
JPH02301843A (en) Prefetch control method and prefetch control device
KR20040047398A (en) Method for data access using cache memory
JPH07282023A (en) Data transfer amount variable processor and system using the same
JP3039391B2 (en) Memory system

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