JP2005141344A - ディスクアレイ装置及びディスクアレイ装置の制御方法 - Google Patents

ディスクアレイ装置及びディスクアレイ装置の制御方法 Download PDF

Info

Publication number
JP2005141344A
JP2005141344A JP2003375166A JP2003375166A JP2005141344A JP 2005141344 A JP2005141344 A JP 2005141344A JP 2003375166 A JP2003375166 A JP 2003375166A JP 2003375166 A JP2003375166 A JP 2003375166A JP 2005141344 A JP2005141344 A JP 2005141344A
Authority
JP
Japan
Prior art keywords
data
access request
cache memory
bus
disk
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.)
Granted
Application number
JP2003375166A
Other languages
English (en)
Other versions
JP4391200B2 (ja
Inventor
Shiyoumei Kyo
小明 姜
Satoshi Yagi
聡 八木
Ikuya Yagisawa
育哉 八木沢
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 JP2003375166A priority Critical patent/JP4391200B2/ja
Priority to US10/767,444 priority patent/US7003637B2/en
Publication of JP2005141344A publication Critical patent/JP2005141344A/ja
Application granted granted Critical
Publication of JP4391200B2 publication Critical patent/JP4391200B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/084Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/26Using a specific storage system architecture
    • G06F2212/261Storage comprising a plurality of storage devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】キャッシュメモリのバス幅を拡張せずに、データ転送集積回路内における制御に要する時間を減少させ、キャッシュメモリへのアクセスに対する実効速度を向上させる。
【解決手段】CPU30と、複数のチャネル制御部40と、複数のディスク制御部50と、キャッシュメモリ70と、前記キャッシュメモリ70と複数のデータバスにより通信可能に接続されているデータ転送集積回路とを含んで構成されるディスク制御装置20において、前記データ転送集積回路20は、前記CPU30、前記チャネル制御部40、前記ディスク制御部50から前記キャッシュメモリ70へのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリ70へアクセスする。
【選択図】 図1

Description

本発明は、ディスクアレイ装置及びディスクアレイ装置の制御方法に関する。
情報処理装置は磁気ディスクに対してデータを入出力することにより、あらゆる処理を行っている。しかし、磁気ディスクへのアクセス性能は、半導体記憶装置へのアクセス性能と比較してかなり低いものである。そのため、ディスク制御装置内に半導体を記憶素子とするキャッシュメモリを設け、磁気ディスクのデータをキャッシュメモリに一時的に格納することにより、情報処理装置からのアクセス性能を高めている。
このキャッシュメモリへのアクセス性能は、情報処理装置における処理性能を大きく左右するため、ディスク制御装置内におけるキャッシュメモリのバス幅の拡張や、バスクロックを早くすることにより、キャッシュメモリへのアクセス性能をより高める手法が用いられてきた。また、特許文献1においては、データ転送集積回路(セレクタ)を設け、キャッシュメモリに対するアクセス要求が競合した場合に、当該アクセス要求から、キャッシュメモリへのデータバスの数の分だけを選択する方法が開示されている。
特開2000−250712号公報
しかし、ディスクアレイ装置においては、用いられる基板の大きさには限度があり、キャッシュメモリのバス幅を更に拡張することが困難な状況となってきている。また、特許文献1に開示されている方法においては、データバス幅の拡張等によりデータ転送に要する時間が短くなるにつれ、データバスの割り当て制御のオーバヘッドがデータバスの使用効率を低下させる要因となっている。
そのため、キャッシュメモリのバス幅を拡張せずに、データ転送全体のうちに占めるデータ転送集積回路内における制御に要する時間の割合を減少させ、キャッシュメモリへのアクセスに対する実効速度を向上させることが求められている。
本発明は上記課題を鑑みてなされたものであり、データ転送集積回路、データ転送制御方法、及びディスク制御装置を提供することを目的とする。
上記目的を達成する本発明のうち主たる発明に係るディスクアレイ装置は、通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うCPUと、前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、前記チャネル制御部、前記ディスク制御部、及びCPUとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路とを含み、前記データ転送集積回路は、前記チャネル制御部または前記ディスク制御部またはCPUから前記キャッシュメモリへのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリへアクセスする。
ここで、アクセス要求とはハードディスクドライブからの読み出し要求やハードディスクドライブへの書き込み要求などである。
これにより、データ転送集積回路は、チャネル制御部等からキャッシュメモリへのアクセス要求を受信し、当該アクセスを実行する際に、当該アクセス要求に設定されている転送データ長に応じてキャッシュメモリへのアクセスに用いるデータバスの数を変更することができる。
例えば、当該アクセス要求が、転送データ長の長いシーケンシャルデータに対するものである場合には、複数のデータバスを割り当て、転送データ長の短いランダムデータに対するものである場合には、1つのデータバスを割り当てる等の制御を行うことができる。
シーケンシャルデータの場合、データバスの割り当てからデータ転送完了までにおいてデータ転送そのものに要する時間の割合が高い。そのため、シーケンシャルデータのアクセスには複数のデータバスを用いることで、データ転送の時間を短くすることができる。
また、ランダムデータの場合、データバスの割り当てからデータ転送完了までにおいてデータバスの割り当てに要する時間の割合が高い。そのため、ランダムデータのアクセスには1つのデータバスを用いることで、残りのデータバスを別のランダムデータのアクセスに用いることができる。つまり、複数のランダムデータへのアクセス要求が連続して発生する状況においては、先のランダムデータのアクセスの完了を待たずに、空いているデータバスを用いて別のランダムデータのアクセスを行うことができるため、データバス割り当て待ち時間を短くし、データバスの使用率を向上させることができる。
これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置から記憶装置へのアクセスに対する実効速度を向上させることができる。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための最良の形態の欄、及び図面により明らかにされる。
ディスクアレイ装置及びディスクアレイ装置の制御方法を提供することができる。
==全体の概要==
図1は、本実施の形態に係るデータ転送集積回路を備えるディスクアレイ装置を含む情報処理システムの構成を示すブロック図である。
情報処理装置10は、CPU(Central Processing Unit)やメモリを備えるコンピュータであり、パーソナルコンピュータやワークステーション、メインフレームなどのコンピュータである。情報処理装置10は、結合された複数台のコンピュータで構成されることもある。情報処理装置10ではアプリケーションソフトウェアが動作している。
アプリケーションソフトウェアは、例えば、銀行の自動預金預け払いシステムや航空機の座席予約システムの機能を提供する。情報処理装置10とディスクアレイ装置15とはそれぞれ通信手段(通信線、ネットワーク)により接続されている。通信手段は、例えばLAN(Local Area Network)やSAN(Storage Area Network)、iSCSI(Internet Small Computer System Interface)、Fibre Channel、ESCON(Enterprise Systems Connection)(登録商標)、FICON(Fibre Connection)(登録商標)などである。
ディスクアレイ装置15は、コントローラ20、及びハードディスクドライブ90などを備えて構成される。コントローラ20は、CPU30、チャネル制御部40、ディスク制御部50、及びデータ転送集積回路60などを備えており、これらは互いにバス80を介して接続されている。バス80とは、例えばPCIバスなどである。また、CPU30、チャネル制御部40、及びディスク制御部50は、データ転送集積回路60を介してキャッシュメモリ70に接続されている。
チャネル制御部40は、情報処理装置10との間で通信を行うインタフェースである。チャネル制御部40は、ファイバチャネルプロトコルに従ってブロックアクセス要求を受け付ける機能を有する。
ディスク制御部50は、ハードディスクドライブ90との間でデータのやりとりを行うインタフェースである。ディスク制御部50は、ハードディスクドライブ90を制御するコマンドなどを規定するプロトコルに従ってハードディスクドライブ90に対するデータ入出力要求を送信する機能を備える。
CPU30は、ディスクアレイ装置15の全体の制御を司るもので、メモリ31に格納されたマイクロプログラムを実行することにより、チャネル制御部40、ディスク制御部50、及びデータ転送集積回路等の制御を行う。
キャッシュメモリ70は、キャッシュメモリ1(71)、キャッシュメモリ2(72)で構成されている。各キャッシュメモリ71,72はデータ入出力ポートを1つ持っており、データ転送集積回路60とデータバス61,62で接続されている。なお、本実施の形態においては、従来のデータバス幅を16Bとし、データバス61,62のバス幅は、16Bを2分割した8Bであるものとする。キャッシュメモリ70は、主としてチャネル制御部40とディスク制御部50との間で授受されるデータを一時的に記憶するために用いられる。例えばチャネル制御部40が情報処理装置10から受信したデータ入出力コマンドが書き込みコマンドである場合には、チャネル制御部40は情報処理装置10から受信した書き込みデータをキャッシュメモリ70に書き込む。またディスク制御部50はキャッシュメモリ70から書き込みデータを読み出してハードディスクドライブ90に書き込む。
コントローラ20は、ハードディスクドライブ90をいわゆるRAID(Redundant Array of Inexpensive Disks)方式に規定されるRAIDレベル(例えば、0,1,5)で制御する機能を備えることもある。
データ転送集積回路60は、CPU30、チャネル制御部40、及びディスク制御部50からキャッシュメモリ70へのアクセスを制御するために用いられる。
==データ転送集積回路==
図2は、データ転送集積回路60の構成を示すブロック図である。データ転送集積回路60は、ホストバッファ200、ディスクバッファ201、CPUバッファ202、デュアルバッファ203、調停回路204、及びキャッシュ制御回路214などを備えて構成される。
ホストバッファ200はチャネル制御部40と、ディスクバッファ201はディスク制御部50と、CPUバッファ202はCPU30とバス80を介して接続されている。図2において、ホストバッファ200及びディスクバッファ201はそれぞれ1つしか図示していないが、対応するチャネル制御部40及びディスク制御部50と同じ数だけあるものとする。また、各バッファ200〜202はPCIブリッジ215により接続されている。なお、デュアルバッファ203は、後述するデュアルコントローラ構成において、コントローラ20間で通信を行うためのバッファである。
ホストバッファ200には、チャネル制御部40からキャッシュメモリ70へのアクセス要求及びチャネル制御部40とキャッシュメモリ70との間で授受されるデータが一時的に記憶される。また、ディスクバッファ201には、ディスク制御部50からキャッシュメモリ70へのアクセス要求及びディスク制御部50とキャッシュメモリ70との間で授受されるデータが一時的に格納される。同様に、CPUバッファ202には、CPU30からキャッシュメモリ70へのアクセス要求及びCPU30との間で授受されるデータが一時的に格納される。ここで、アクセス要求とは、キャッシュメモリ70からのデータの読み出し要求やキャッシュメモリ70へのデータの書き込み要求などである。
バッファ200〜202に記憶されているアクセス要求が、キャッシュメモリ70への書き込み要求である場合を例として、データの流れを説明する。
調停回路204は、各バッファ200〜202が記憶しているキャッシュメモリ70へのアクセス要求を信号線250を通して読み取る。調停回路204は、後述する手順に従いこれらのアクセス要求に対してデータバス61,62の一方または両方を用いたキャッシュメモリ70へのアクセス許可を判断し、アクセスを許可するバッファ200〜202に対して信号線251を通して通知する。また、調停回路204はキャッシュメモリ70へのアクセスを許可するバッファ200〜202を示すSEL信号と、当該アクセスに用いられるデータバス61,62を表すバス選択信号とを信号線255を介して、セレクタ206〜209、変換回路210,211、及びキャッシュ制御回路212に通知する。
セレクタ206は、調停回路204からSEL信号を受信すると、SEL信号により指定されるバッファ200〜202に記憶されている入出力コマンドをコマンドバス252を介して読み取る。次に、セレクタ206は、読み取った入出力コマンドをコマンドバス258を介して変換回路201,211及びキャッシュ制御回路212に送信する。
セレクタ207,208は、調停回路204からSEL信号を受信すると、SEL信号により指定されるバッファ200〜202からデータバス253,254を介してデータを読み取る。次に、セレクタ207,208は、読み取ったデータをデータバス256,257を介して変換回路210,211に送信する。なお、データバス253〜257のバス幅は64Bであるとする。
図3は、変換回路210,211を示すブロック図である。変換回路210,211は、ラッチ回路301、セレクタ302、及び制御回路303などを備えて構成される。ラッチ回路301は、制御回路303からラッチEnable信号を受信すると、セレクタ207,208から64Bのデータを読み取り、8Bのバス8本で形成されるデータバス304を介してセレクタに当該データを送信する。セレクタ302は、制御回路303より送信される制御信号をもとに、8Bのバスを順番に選択し、キャッシュバッファ213,214にデータを送信する。
セレクタ209は、調停回路204からSEL信号を受信すると、キャッシュバッファ213,214に記憶されているデータをキャッシュ制御回路212に送信する。
キャッシュ制御回路212は、データバス61及び制御信号260にてキャッシュメモリ1(71)と、データバス62及び制御信号261にてキャッシュメモリ2(72)と接続されている。キャッシュ制御回路212は、調停回路204からSEL信号とバス選択信号とを受信すると、セレクタ209よりデータを読み取る。キャッシュ制御回路212は、セレクタ206よりコマンドバス258を介して受信する書き込みコマンドをもとに、バス選択信号により指定されるデータバス61,62を用いてキャッシュメモリ70に当該データを書き込む。また、キャッシュ制御回路212は、キャッシュメモリ70との間でのデータ授受に際して、ECC(Error Correction Code)の生成及びチェックを行う。なお、キャッシュ制御回路212は、データバス61,62の使用状況を信号線259を介して調停回路204に通知している。
このように、データ転送集積回路60は、CPU30、チャネル制御部40、及びディスク制御部50からキャッシュメモリへのアクセス要求を受信すると、データバス61,62の一方または両方を用いてキャッシュメモリ70へのアクセスを行う。なお、アクセス要求が読み出し要求である場合はデータバス上のデータの流れおよび変換回路210,211での変換処理が逆になるだけであり、本発明の特徴であるデータバス61,62の選択方法については、書き込み要求の場合と同じである。
==データバス選択処理==
次に、調停回路204における、各バッファ200〜202からキャッシュメモリ70へのデータ転送に用いるデータバス61,62の選択処理を図4のフローチャートを用いて説明する。
調停回路204は、バッファ200〜202からアクセス要求を受信すると(S401)、当該アクセス要求に基づいて転送されるデータのデータ種別を判断する(S402)。ここで、データ種別とは、当該アクセス要求に設定されている転送データ長が予め定められた基準データ長(例えば1KB)より長いかどうかを表すものである。本実施の形態においては、転送データ長が基準データ長より長いものを「シーケンシャルデータ」、転送データ長が基準データ長より短いものを「ランダムデータ」と呼ぶ。外部装置は、キャッシュメモリへのアクセス要求をデータ転送集積回路60に送信する際に、バス80が64ビットのPCIバスの場合であれば、PCIのアドレスフェーズにおいて上位32ビットに当該データの転送データ長を付与して送信する。データ転送集積回路60は、この転送データ長と基準データ長とを比較することにより、データ種別の判断を行う。
次に、調停回路204は、アクセス要求が複数のバッファ200〜202からであるかどうかを判断する(S403)。調停回路204は、アクセス要求が複数のバッファ200〜202からである場合、当該アクセス要求に対する優先コードの取得(S404)を行い、アクセス許可決定処理にてデータバス61,62の割り当てを行う(S405)。また、調停回路204は、アクセス要求が1つのバッファ200〜202からである場合は、優先コードの取得は行わずに、アクセス許可決定処理にてデータバス61,62の割り当てを行う(S405)。
ここで、優先コードとは、調停回路204に接続されるバッファ200〜202ごとの優先順位であり、調停回路内に記憶されている。例えば、優先コードは2ビットの数値であり、初期状態としては、ホストバッファに「00」、ディスクバッファに「01」、CPUバッファに「10」が割り当てられているものとする。なお、優先コード「00」が一番優先順位が高いものとする。
最後に、調停回路204は、優先コードの変更を行う(S406)。これは、データバス61,62を割り当てたバッファ200〜202の優先順位を一番低くすることにより、各バッファ200〜202に均等にデータバス61,62を割り当てるためである。前述した優先コードが2ビットの例で説明する。優先コードが初期状態にある場合において、ディスクバッファ201にデータバス61,62が割り当てられると、調停回路204は、ディスクバッファ201の優先コードを優先順位の一番低い「10」に変更する。そして、調停回路204は、ディスクバッファ201の元の優先コードである「01」より低い優先順位を持つバッファ200〜202の優先コードを、優先順位が一つ高くなるように1だけ減算する。これにより、CPUバッファ202の優先コードは「01」となり、各バッファ200〜202の優先順位が変更される。
前述した、調停回路204におけるアクセス許可決定処理を図5のフローチャートを用いて説明する。
まず、調停回路204は、キャッシュメモリ70へのアクセス要求が1つであるかどうか判断する(S501)。キャッシュメモリ70へのアクセス要求が1つである場合、調停回路204は、当該アクセス要求に基づいて転送されるデータのデータ種別がランダムデータであるかどうか判断する(S502)。データ種別がランダムデータである場合、調停回路204は、8Bのバス幅でのアクセス許可を決定する(S503)。調停回路204は、データバス61,62のうち、いずれか一方が使用可能となるまで待ち(S504)、使用可能になると、当該アクセス要求を記憶しているバッファ200〜202を選択するSEL信号と、使用可能となった1つのデータバス61,62を選択するバス選択信号とを出力する(S505)。
次に、キャッシュメモリ70へのアクセス要求が1つであり、当該アクセス要求に基づいて転送されるデータのデータ種別がシーケンシャルデータである場合について説明する。調停回路204は、当該アクセス要求に対して8B×2すなわち16Bのバス幅でのアクセス許可を決定する(S506)。調停回路は、データバス61,62の両方が使用可能となるまで待ち(S507)、使用可能になると、当該アクセス要求を記憶しているバッファ200〜202を選択するSEL信号と、2つのデータバス61,62を選択するバス選択信号とを出力する(S505)。なお、シーケンシャルデータの場合にS507においてはデータバス61,62の両方が使用可能となるまで待つこととしているが、データバス61,62のうちの一方が使用可能である場合には、使用可能なデータバス61,62のみを選択することとしてもよい。
次に、キャッシュメモリ70へのアクセス要求が複数である場合について説明する。調停回路204は、複数のアクセス要求のうち、優先順位が高い2つのアクセス要求に基づいて転送されるデータのデータ種別が、ともにランダムデータであるかどうか確認する(S508)。当該2つのアクセス要求に基づいて転送されるデータのデータ種別が両方ともランダムデータである場合、調停回路204は、各々のアクセス要求に対して8Bのバス幅でのアクセス許可を決定する(S509)。調停回路204は、データバス61,62の両方が使用可能となるまで待ち(S510)、使用可能になると、当該アクセス要求を記憶している2つのバッファ200〜202を選択するSEL信号と、2つのデータバス61,62を選択するバス選択信号とを出力する(S505)。なお、ランダムデータが2つある場合にS510においてはデータバス61,62の両方が使用可能となるまで待つこととしているが、データバス61,62のうちの一方が使用可能である場合には、当該2つのアクセス要求の優先順位に従って使用可能なデータバス61,62のみを選択することとしてもよい。
次に、キャッシュメモリ70へのアクセス要求が複数であり、優先順位が高い2つのアクセス要求に基づいて転送されるデータのデータ種別が、ランダムデータとシーケンシャルデータとである場合について説明する。調停回路204は、当該2つのアクセス要求のうち、優先順位が高いアクセス要求に基づいて転送されるデータのデータ種別がランダムデータであるかどうか確認する(S511)。優先順位が高いアクセス要求に基づいて転送されるデータがランダムデータである場合、調停回路204は、当該アクセス要求に対して8Bのバス幅でのアクセス許可を決定する(S512)。調停回路204は、データバス61,62のうち、いずれか一方が使用可能となるまで待ち(S513)、使用可能になると、当該アクセス要求を記憶しているバッファ200〜202を選択するSEL信号と、使用可能となった1つのデータバス61,62を選択するバス選択信号とを出力する(S505)。
次に、2つのアクセス要求に基づいて転送されるデータのデータ種別が、ランダムデータとシーケンシャルデータとであり、当該2つのアクセス要求のうち、優先順位が高いアクセス要求に基づいて転送されるデータのデータ種別がシーケンシャルデータである場合について説明する。調停回路204は、当該アクセス要求に対して8B×2すなわち16Bのバス幅でのアクセス許可を決定する(S514)。調停回路204は、データバス61,62の両方が使用可能となるまで待ち(S515)、使用可能になると、当該アクセス要求を記憶しているバッファ200〜202を選択するSEL信号信号と、2つのデータバス61,62を選択するバス選択信号とを出力する(S505)。
ここで、外部装置からキャッシュメモリ70へのアクセスに要する時間を、具体例を用いて説明する。なお、本例においては、1回のデータ転送における、PCIバスのオーバヘッドが30CLK(クロック)であり、データ転送集積回路60のバス選択のオーバヘッドが20CLKであるものとする。また、データ転送集積回路60とキャッシュメモリ70との間のデータ転送は、16Bのバス幅で22CLKかかるものとする。
2つの外部装置からキャッシュメモリ70に対して512Bのデータのアクセス要求が同時に行われた場合の例を説明する。
図6は、データ転送集積回路60とキャッシュメモリ70との間を1本の16Bのバス幅のデータバスにより接続している場合の例である。データ転送集積回路60は、2つのアクセス要求に対して順に16Bのデータバスの割り当てを行う。各アクセス要求のデータ転送には、PCIオーバヘッド(30CLK)+バス選択(20CLK)+データ転送(22CLK)の合計72CLKがかかる。ただし、2つ目のアクセス要求については、1つ目のアクセス要求のデータ転送が完了するまでの間待たされているため、実際には、1つ目のアクセス要求のデータ転送時間(72CLK)+2つ目のアクセス要求のデータ転送時間(72CLK)の合計144CLKを要していることとなる。つまり、平均アクセス時間は72CLK+144CLK/2の108CLKとなる。
一方、図7は、本実施の形態における、データ転送集積回路60とキャッシュメモリ70との間を2本の8Bのバス幅のデータバス61,62により接続している場合の例である。なお、1KB以上のデータをシーケンシャルデータとする。データ転送集積回路60は、512Bのデータをランダムデータとして扱い、各々のアクセス要求に対して1本の8Bのデータバス61,62を割り当て、2つのデータ転送を同時に行う。そのため、2つのデータに対するPCIオーバヘッド及びバス選択に要する時間は、1つのデータに対するものと同じだけであり、PCIオーバヘッド(30CLK)+バス選択(20CLK)の50CLKとなる。キャッシュメモリ70との間のデータ転送は、バス幅が8Bのデータバス61,62を用いて行うため、16Bの場合の2倍の時間(44CLK)を要する。つまり、PCIオーバヘッド及びバス選択(50CLK)+データ転送(44CLK)の94CLKで2つのデータの転送が完了することとなる。この場合の平均アクセス時間は94CLKである。つまり、データ転送集積回路60とキャッシュメモリ70との間を1本の16Bのバス幅のデータバスにより接続している場合の108CLKよりも短く、キャッシュメモリ70へのアクセスにおける実効速度が向上していることとなる。
図8および図9は、本実施の形態における、キャッシュメモリ70のタイミングチャートの例である。まず、各信号の説明を行う。CLKはキャッシュメモリを制御するクロック信号である。また「_1」の付く信号はキャッシュメモリ1(71)の信号であり、「_2」の付く信号はキャッシュメモリ2(72)の信号である。また、「#」はLレベルとなっている際に有効となる信号である。CS(Chip Select)信号は、キャッシュメモリ1(71)またはキャッシュメモリ2(72)を選択状態にするための信号である。RAS(Row Address Strobe)及びCAS(Column Address Strobe)は入出力するデータのアドレスをキャッシュメモリ70に与えるタイミングを伝えるための信号である。ADRは入出力するデータのアドレスを示すアドレスバスである。WE(Write Enable)はキャッシュメモリ70への書き込みを可能にするための信号である。DQ_1はデータバス61、DQ_2はデータバス62を表している。
図8は、シーケンシャルデータを2つのデータバス61,62を用いてキャッシュメモリ1(71)及びキャッシュメモリ2(72)から読み出す場合のタイミングチャートである。なお、シーケンシャルデータのアドレスはADR0〜ADR3までであるとする。キャッシュ制御回路212は、CS_1#をアサートし(S801)、RAS_1#をアサートし(S802)、ADR_1にADR0を与え(S803)、CAS_1#をアサートする(S804)。これにより、データバス61よりADR0のデータが出力される(S809)。この動作(S801〜S809)と並行して、キャッシュ制御回路212は、キャッシュメモリ2(72)の制御を行う。キャッシュ制御回路212は、CS_2#をアサートし(S805)、RAS_2#をアサートし(S806)、ADR_2にシーケンシャルデータの後ろ半分の開始アドレスであるADR2を与え(S807)、CAS_2#をアサートする(S808)。これにより、データバス62よりADR2のデータが出力される(S810)。同様にして、データバス61よりADR1のデータの読み出し(S811〜S819)、データバス62よりADR3のデータの読み出し(S815〜S820)が行われる。
図9は、2つのランダムデータを、それぞれ1つのデータバス61,62を用いてキャッシュメモリ1(71)またはキャッシュメモリ2(72)から読み出す場合のタイミングチャートである。なお、1つ目のランダムデータのアドレスはADR0及びADR2であり、2つ目のランダムデータのアドレスはADR1及びADR3であるとする。キャッシュ制御回路212は、1つ目のランダムデータのADR0のデータをデータバス61を用いて読み出す(S901〜S905)。キャッシュ制御回路212は、2つ目のランダムデータに対するアクセス許可であるSEL信号及びバス選択信号を調停回路204より受信すると、2つ目のランダムデータのADR1のデータをデータバス62を用いて読み出す(S906〜S910)。同様にして、データバス61よりADR2のデータの読み出し(S911〜S915)、デーバス62よりADR3のデータの読み出し(S916〜S920)が行われる。なお、2つのランダムデータに対するアクセス要求が同時に行われた場合は、ADR0のデータの読み出しとADR1のデータの読み出しは同時に開始されることとなる。
以上説明した本実施の形態においては、外部装置からキャッシュメモリ70へのアクセス要求を受信し、当該アクセスを実行する際に、当該アクセス要求に設定されている転送データ長に応じてキャッシュメモリ70へのアクセスに用いるデータバスの数を変更することができる。
例えば、当該アクセス要求が、転送データ長の長いシーケンシャルデータに対するものである場合には、2つのデータバスを割り当て、転送データ長の短いランダムデータに対するものである場合には、1つのデータバスを割り当てる等の制御を行うことができる。
シーケンシャルデータの場合、データバスの割り当てからデータ転送完了までにおいてデータ転送そのものに要する時間の割合が高い。そのため、シーケンシャルデータのアクセスには2つのデータバスを用いることで、データ転送の時間を短くすることができる。
また、ランダムデータの場合、データバスの割り当てからデータ転送完了までにおいてデータバスの割り当てに要する時間の割合が高い。そのため、ランダムデータのアクセスには1つのデータバスを用いることで、残りのデータバスを別のランダムデータのアクセスに用いることができる。つまり、複数のランダムデータへのアクセス要求が連続して発生する状況においては、先のランダムデータのアクセスの完了を待たずに、空いているデータバスを用いて別のランダムデータのアクセスを行うことができるため、データバス割り当て待ち時間を短くし、データバスの使用率を向上させることができる。
これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置からキャッシュメモリ70へのアクセスに対する実効速度を向上させることができる。
また、2つのランダムデータへのアクセス要求に対して、1回のデータバス割り当て処理によって、それぞれ1つのデータバスを割り当て、当該データへのアクセスを行うことができる。そのため、データバス割り当て待ち時間を更に短くし、データバスの使用率を更に向上させることができる。
これにより、データバス幅の拡張やクロックの向上を行うことなく、キャッシュメモリ70へのアクセスに対する実効速度を更に向上させることができる。
==コントローラ間のデータ転送==
次に、ディスクアレイ装置15が2つのコントローラ20を有している「デュアルコントローラ構成」の場合における、データ転送集積回路60での制御について説明する。
図10は、ディスクアレイ装置15が第一のコントローラ1001及び第二のコントローラ1002を有している場合の情報処理システムの構成を示すブロック図である。第一のコントローラ1001及び第二のコントローラ1002のハードウェア構成は、図1におけるコントローラ20と同様である。
各ハードディスクドライブ90は、両方のコントローラ1001,1002と通信可能に接続されている。そのため、コントローラ1001,1002の片方に障害が発生した場合は、他方を用いることで、ハードディスクドライブ90へのアクセスを行うことが可能である。
また、2つのコントローラ1001,1002のデータ転送集積回路60は、各々のデュアルバッファ203が専用のバス1003で接続されており、コントローラ1001,1002間でデータの送受信を行うことができる。これにより、コントローラ1001,1002間でデータのバックアップを行い、ディスクアレイ装置15の信頼性を高めている。
第一のコントローラ1001が情報処理装置10からデータの書き込み要求を受信した場合の動作を説明する。まず、第一のコントローラ1001のデータ転送集積回路60は、チャネル制御部40から受信したデータを第一のコントローラ1001のキャッシュメモリ70に書き込む。そして、当該データを第二のコントローラ20のデータ転送集積回路60に転送する。第二のコントローラ1002のデータ転送集積回路60は、当該データを第二のコントローラ1002のキャッシュメモリ70に書き込み、第一のコントローラ1001のデータ転送集積回路60に書き込み完了を通知する。当該通知を受信した第一のコントローラ1001のデータ転送集積回路60は、チャネル制御部40に書き込み完了を通知する。そして、チャネル制御部40が情報処理装置10にデータの書き込み完了を通知する。その後、第一のコントローラ1001のディスク制御部50がデータ転送集積回路60を介してキャッシュメモリ70から当該データを読み出し、ハードディスクドライブ90に書き込む。
また、第一のコントローラ1001が情報処理装置10からデータの読み出し要求を受信した際に、第一のコントローラ1001のキャッシュメモリ70が障害等によりアクセスできない場合にもコントローラ1001,1002間でのデータ転送が行われる。この場合、第一のコントローラ1001のデータ転送集積回路60は、第二のコントローラ1002のデータ転送集積回路60に当該データの転送要求を送信する。当該要求を受信した第二のコントローラ1002のデータ転送集積回路60は、第二のコントローラ1002のキャッシュメモリ70から当該データを読み出し、第一のコントローラ1001のデータ転送集積回路70に送信する。そして、第一のコントローラ1001のデータ転送集積回路60は当該データをチャネル制御部40に送信する。
この他に、各コントローラ1001,1002のCPU30がデータ転送集積回路60を介して別のコントローラ1001,1002のキャッシュメモリ70にアクセスする場合もある。
このように、コントローラ1001,1002間でのデータ転送には、情報処理装置10からのデータ入出力要求に伴うものである「DMA転送」と、CPU30からの要求に伴うものである「CPUアクセス」との2つがある。これら2つのうち、DMA転送については、コントローラ1001,1002間の転送にかかる時間が情報処理装置10からのデータ入出力要求に対する応答時間に直接影響している。そのため、コントローラ1001,1002のデータ転送集積回路60は、他方のデータ転送集積回路1001,1002にデータ転送要求を送信する際に、当該転送がDMA転送であるかCPUアクセスであるかを示すアクセス種別を付与して送信する。この転送要求を受信したデータ転送集積回路60では、アクセス種別がDMA転送である場合は2つのデータバスを用いてキャッシュメモリ70にアクセスし、アクセス種別がCPUアクセスである場合は1つのデータバスを用いてキャッシュメモリ70にアクセスする。
つまり、アクセス種別がDMA転送である場合は、データバスを2つ用いることにより、コントローラ1001,1002間におけるデータ転送時間を短くし、情報処理装置10に対する応答を早くすることが可能となる。また、データ種別がCPUアクセスである場合は、1つのデータバスのみを用いることで、もう1つのデータバスを前述したランダムデータのアクセス要求や、他のCPU30からのアクセス要求に割り当てることができる。これにより、データバスの割り当て待ち時間を短くし、データバスの使用率を向上させることができる。これにより、データバス幅の拡張やクロックの向上を行うことなく、外部装置からキャッシュメモリ70へのアクセスに対する実効速度を向上させることができる。
以上、本実施の形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
例えば、本実施の形態においては、キャッシュメモリ70を2つのキャッシュメモリ1(71)及びキャッシュメモリ2(72)により構成されるとしたが、3つ以上のメモリにより構成されるものとしてもよい。
本実施の形態における、情報処理システムの全体を示すブロック図である。 本実施の形態における、データ転送集積回路の構成を示すブロック図である。 本実施の形態における、データ転送集積回路が備える変換回路の構成を示すブロック図である。 本実施の形態における、データ転送集積回路が備える調停回路におけるデータバスの選択処理を示すフローチャートである。 本実施の形態における、データ転送集積回路が備える調停回路におけるアクセス許可決定処理を示すフローチャートである。 従来技術における、外部装置とキャッシュメモリとの間で2つのランダムデータのアクセスを行う場合のアクセス時間の例を示す図である。 本実施の形態における、外部装置とキャッシュメモリとの間で2つのランダムデータのアクセスを行う場合のアクセス時間の例を示す図である。 本実施の形態における、1つのシーケンシャルデータを2つのデータバスを用いてキャッシュメモリから読み出す場合のキャッシュメモリのタイミングチャートを示す図である。 本実施の形態における、2つのランダムデータをそれぞれ1つのデータバスを用いてキャッシュメモリから読み出す場合のキャッシュメモリのタイミングチャートを示す図である。 本実施の形態における、コントローラを2つ有するディスクアレイ装置を示すブロック図である。
符号の説明
10 情報処理装置 15 ディスクアレイ装置
20 コントローラ 30 CPU
31 メモリ 40 チャネル制御部
50 ディスク制御部 60 データ転送集積回路
61,62 データバス 70 キャッシュメモリ
71 キャッシュメモリ1 72 キャッシュメモリ2
80 バス 90 記憶デバイス
200 ホストバッファ 201 ディスクバッファ
202 CPUバッファ 203 デュアルバッファ
204 調停回路 205 優先順位付与部
206〜209 セレクタ 210,211 変換回路
212 キャッシュ制御回路 213,214 キャッシュバッファ
215 PCIバス 301 ラッチ回路
302 セレクタ 303 制御回路
304 データバス 1001 第一のコントローラ
1002 第二のコントローラ 1003 バス

Claims (16)

  1. 複数のハードディスクドライブと、
    通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
    通信可能に接続されている前記複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
    前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うCPUと、
    前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
    前記チャネル制御部、前記ディスク制御部、及びCPUとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
    を含み、
    前記データ転送集積回路は、
    前記チャネル制御部または前記ディスク制御部またはCPUから前記キャッシュメモリへのアクセス要求を受信すると、当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを使用して前記キャッシュメモリへアクセスする
    ことを特徴とするディスクアレイ装置。
  2. 請求項1に記載のディスクアレイ装置であって、
    前記バスが64ビット幅のPCIバスであり、前記アクセス要求の前記転送データ長が前記PCIバスのアドレスフェーズにおける上位32ビットに設定されている
    ことを特徴とするディスクアレイ装置。
  3. 請求項1に記載のディスクアレイ装置であって、
    前記データバスが2つであり、
    前記データ転送集積回路は、
    当該アクセス要求に設定されている転送データ長が予め定められている基準データ長より長い場合は、2つの前記データバスを使用して前記キャッシュメモリへアクセスし、当該アクセス要求に設定されている転送データ長が前記基準データ長より短い場合は、1つの前記データバスを使用して前記キャッシュメモリへアクセスする
    ことを特徴とするディスクアレイ装置。
  4. 請求項3に記載のディスクアレイ装置であって、
    前記キャッシュメモリが物理的に別の2つのキャッシュメモリであり、
    前記2つのキャッシュメモリのそれぞれが、前記データバスにより前記データ転送集積回路と通信可能に接続されている
    ことを特徴とするディスクアレイ装置。
  5. 請求項3に記載のディスクアレイ装置であって、
    前記データ転送集積回路は、
    複数の前記チャネル制御部または前記ディスク制御部または前記CPUから前記キャッシュメモリへのアクセス要求を受信すると、当該複数のアクセス要求に優先順位を付与する優先順位付与部を備え、
    前記データ転送集積回路は、
    優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合は、2つの前記データバスを使用して前記キャッシュメモリへアクセスし、優先順位が最も高い前記アクセス要求と優先順位が2番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合は、それぞれ1つの前記データバスを使用して前記キャッシュメモリへアクセスする
    ことを特徴とするディスクアレイ装置。
  6. 請求項5に記載のディスクアレイ装置であって、
    前記データ転送集積回路は、優先順位が最も高い前記アクセス要求と優先順位が2番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合に、前記2つのデータバスが両方とも使用されていない場合は、当該2つのアクセス要求に対してそれぞれ1つの前記データバスを割り当て、前記キャッシュメモリへのアクセスを並行して行う
    ことを特徴とするディスクアレイ装置。
  7. 請求項5に記載のディスクアレイ装置であって、
    前記データ転送集積回路は、優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合に、2つの前記データバスのうち1つが使用されている場合は、当該アクセス要求に対して使用されていない1つの前記データバスを割り当て、前記キャッシュメモリへのアクセスを行う
    ことを特徴とするディスクアレイ装置。
  8. 通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
    通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
    前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うCPUと、
    前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
    前記チャネル制御部、前記ディスク制御部、及びCPUとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
    を含んで構成されるディスクアレイ装置の制御方法であって、
    前記データ転送集積回路は、
    前記チャネル制御部または前記ディスク制御部またはCPUから前記キャッシュメモリへのアクセス要求を受信するステップと、
    当該アクセス要求に設定されている転送データ長に応じて定まる数の前記データバスを選択するステップと、
    前記選択されたデータバスを使用して前記キャッシュメモリへアクセスするステップと
    を有することを特徴とするディスクアレイ装置の制御方法。
  9. 請求項8に記載のディスクアレイ装置の制御方法であって、
    前記バスが64ビット幅のPCIバスであり、
    前記データバスを選択する前記ステップは、
    前記PCIバスのアドレスフェーズにおける上位32ビットに設定されている前記アクセス要求の前記転送データ長に応じて定まる数の前記データバスを選択する
    ことを特徴とするディスクアレイ装置。
  10. 請求項8に記載のディスクアレイ装置の制御方法であって、
    前記データバスが2つであり、
    前記データバスを選択する前記ステップは、
    当該アクセス要求に設定されている転送データ長が予め定められている基準データ長より長い場合は、2つの前記データバスを選択し、
    当該アクセス要求に設定されている転送データ長が前記基準データ長より短い場合は、1つの前記データバスを選択する
    ことを特徴とするディスクアレイ装置の制御方法。
  11. 請求項10に記載のディスクアレイ装置の制御方法であって、
    前記キャッシュメモリが物理的に別の2つのキャッシュメモリであり、
    前記2つのキャッシュメモリのそれぞれが、前記データバスにより前記データ転送集積回路と通信可能に接続されている
    ことを特徴とするディスクアレイ装置の制御方法。
  12. 請求項10に記載のディスクアレイ装置の制御方法であって、
    前記データ転送集積回路は、
    複数の前記チャネル制御部または前記ディスク制御部または前記CPUから前記キャッシュメモリへのアクセス要求を受信すると、当該複数のアクセス要求に優先順位を付与するステップを有し、
    前記データバスを選択する前記ステップは、
    優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合は、2つの前記データバスを選択し、
    優先順位が最も高い前記アクセス要求と優先順位が2番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合は、それぞれ1つの前記データバスを選択する
    ことを特徴とするディスクアレイ装置の制御方法。
  13. 請求項12に記載のディスクアレイ装置の制御方法であって、
    前記データバスを選択する前記ステップは、
    優先順位が最も高い前記アクセス要求と優先順位が2番目に高い前記アクセス要求とに設定されている転送データ長が前記基準データ長より短い場合に、前記2つのデータバスが両方とも使用されていない場合は、当該2つのアクセス要求に対してそれぞれ1つの前記データバスを選択する
    ことを特徴とするディスクアレイ装置の制御方法。
  14. 請求項12に記載のディスクアレイ装置の制御方法であって、
    前記データバスを選択する前記ステップは、
    優先順位が最も高い前記アクセス要求に設定されている転送データ長が前記基準データ長より長い場合に、2つの前記データバスのうち1つが使用されている場合は、当該アクセス要求に対して使用されていない1つの前記データバスを選択する
    ことを特徴とするディスクアレイ装置。
  15. 通信可能に接続されている情報処理装置との間でデータ送受信を行う複数のチャネル制御部と、
    通信可能に接続されている複数のハードディスクドライブとの間でデータ送受信を行う複数のディスク制御部と、
    前記複数のチャネル制御部と前記複数のディスク制御部の制御を行うCPUと、
    前記チャネル制御部と前記ディスク制御部との間で送受信されるデータを記憶するキャッシュメモリと、
    前記チャネル制御部、前記ディスク制御部、及びCPUとバスにより通信可能に接続され、前記キャッシュメモリと複数のデータバスにより通信可能に接続されているデータ転送集積回路と
    を含んで構成される第一のコントローラ及び第二のコントローラと、
    前記複数のハードディスクドライブとを含み、
    前記第一のコントローラの前記データ転送集積回路と前記第二のコントローラのデータ転送集積回路とが通信可能に接続され、
    前記第一のコントローラの前記データ転送集積回路は、
    前記チャネル制御部または前記ディスク制御部または前記CPUから前記第二のコントローラの前記キャッシュメモリへのアクセス要求を受信すると、
    当該アクセス要求が前記チャネル制御部または前記ディスク制御部からのもであるか、前記CPUからのものであるかを表すアクセス種別を設定したアクセス要求を前記第二のコントローラの前記データ転送集積回路に送信し、
    前記第二のコントローラの前記データ転送集積回路は、
    前記第一のコントローラの前記データ転送集積回路から前記アクセス要求を受信すると、当該アクセス要求に設定されている前記アクセス種別に応じて定まる数の前記データバスを使用して前記第二のコントローラの前記キャッシュメモリへアクセスする
    ことを特徴とするディスクアレイ装置。
  16. 請求項15に記載のディスクアレイ装置であって、
    前記第二のコントローラの前記データバスが2つであり、
    前記第二のコントローラの前記データ転送集積回路は、
    前記第一のコントローラの前記データ転送集積回路から受信する前記アクセス要求に設定されている前記アクセス種別が前記チャネル制御部または前記ディスク制御部からのアクセス要求である場合は、2つの前記データバスを使用して前記キャッシュメモリへアクセスし、
    前記アクセス要求に設定されている前記アクセス種別が前記CPUからのアクセス要求である場合は、1つの前記データバスを使用して前記キャッシュメモリへアクセスする
    ことを特徴とするディスクアレイ装置。
JP2003375166A 2003-11-05 2003-11-05 ディスクアレイ装置及びディスクアレイ装置の制御方法 Expired - Fee Related JP4391200B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003375166A JP4391200B2 (ja) 2003-11-05 2003-11-05 ディスクアレイ装置及びディスクアレイ装置の制御方法
US10/767,444 US7003637B2 (en) 2003-11-05 2004-01-30 Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003375166A JP4391200B2 (ja) 2003-11-05 2003-11-05 ディスクアレイ装置及びディスクアレイ装置の制御方法

Publications (2)

Publication Number Publication Date
JP2005141344A true JP2005141344A (ja) 2005-06-02
JP4391200B2 JP4391200B2 (ja) 2009-12-24

Family

ID=34544281

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003375166A Expired - Fee Related JP4391200B2 (ja) 2003-11-05 2003-11-05 ディスクアレイ装置及びディスクアレイ装置の制御方法

Country Status (2)

Country Link
US (1) US7003637B2 (ja)
JP (1) JP4391200B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732130B2 (en) 2008-02-05 2014-05-20 Fujitsu Limited Virtualization switch, computer system, and data copy method

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080307135A1 (en) * 2007-06-06 2008-12-11 Yi-Feng Jang High performance programmable logic system interface and chip
US8099562B2 (en) * 2008-01-08 2012-01-17 International Business Machines Corporation Scalable interface for a memory array
US8862845B2 (en) * 2010-12-06 2014-10-14 Xiotech Corporation Application profiling in a data storage array
US9478274B1 (en) 2014-05-28 2016-10-25 Emc Corporation Methods and apparatus for multiple memory maps and multiple page caches in tiered memory
US9535844B1 (en) * 2014-06-30 2017-01-03 EMC IP Holding Company LLC Prioritization for cache systems
US10235054B1 (en) 2014-12-09 2019-03-19 EMC IP Holding Company LLC System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644251B2 (ja) 1986-08-28 1994-06-08 日本電気株式会社 デ−タ処理装置
US5237391A (en) * 1988-11-23 1993-08-17 The Boeing Company Multitrack multilevel sensing system
US5461723A (en) * 1990-04-05 1995-10-24 Mit Technology Corp. Dual channel data block transfer bus
JP3451099B2 (ja) 1991-12-06 2003-09-29 株式会社日立製作所 外部記憶サブシステム
JP3528094B2 (ja) 1994-02-09 2004-05-17 株式会社日立製作所 バス利用方法および記憶制御装置
JP3581727B2 (ja) 1994-11-11 2004-10-27 株式会社日立製作所 ディスクアレイコントローラ及びディスクアレイ装置
DE19636381C1 (de) * 1996-09-09 1998-03-12 Ibm Bus mit anforderungsabhängiger Anpassung der in beiden Richtungen zur Verfügung stehenden Bandbreite
TW406229B (en) 1997-11-06 2000-09-21 Hitachi Ltd Data process system and microcomputer
US6182112B1 (en) 1998-06-12 2001-01-30 Unisys Corporation Method of and apparatus for bandwidth control of transfers via a bi-directional interface
US6202116B1 (en) * 1998-06-17 2001-03-13 Advanced Micro Devices, Inc. Write only bus with whole and half bus mode operation
JP2000250712A (ja) 1999-03-02 2000-09-14 Hitachi Ltd ディスクアレイ制御装置
US6587905B1 (en) 2000-06-29 2003-07-01 International Business Machines Corporation Dynamic data bus allocation
JP4087072B2 (ja) * 2001-01-25 2008-05-14 株式会社日立製作所 ストレージシステム及び仮想プライベートボリューム制御方法
JP4039821B2 (ja) * 2001-05-09 2008-01-30 株式会社日立製作所 ディスク制御装置を用いた計算機システムおよびその運用サービス
US6826640B1 (en) 2003-06-04 2004-11-30 Digi International Inc. Bus bandwidth control system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732130B2 (en) 2008-02-05 2014-05-20 Fujitsu Limited Virtualization switch, computer system, and data copy method

Also Published As

Publication number Publication date
JP4391200B2 (ja) 2009-12-24
US20050097272A1 (en) 2005-05-05
US7003637B2 (en) 2006-02-21

Similar Documents

Publication Publication Date Title
US10002668B2 (en) Memory device, memory module, and memory system
JP4677630B2 (ja) 内部キャッシュおよび/またはメモリアクセス予測を持つメモリハブ
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
KR102111741B1 (ko) 임베디드 멀티미디어 카드 및 이의 동작 방법
JP5546635B2 (ja) データ転送装置およびその制御方法
JP4805351B2 (ja) Dramの並列処理を向上するシステム及び方法
US10795599B2 (en) Data migration method, host and solid state disk
JP4715801B2 (ja) メモリアクセス制御装置
TWI703501B (zh) 具有分散式信箱架構的多處理器系統及其溝通方法
JP2006195990A (ja) 半導体ディスク制御装置
US11741034B2 (en) Memory device including direct memory access engine, system including the memory device, and method of operating the memory device
JPH06231075A (ja) ゼロ潜伏性ループアービトレーションの方法及び装置
KR102106541B1 (ko) 공유 리소스 액세스 중재 방법 및 이를 수행하기 위한 공유 리소스 액세스 중재 장치 및 공유 리소스 액세스 중재 시스템
US8296487B1 (en) SATA pass through port
US20190213149A1 (en) Module based data transfer
US7725621B2 (en) Semiconductor device and data transfer method
KR20150144545A (ko) 메모리 컨트롤러의 작동 방법과 이를 포함하는 장치들의 작동 방법들
JP4391200B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
WO1997034228A1 (fr) Unite de traitement d'informations comportant une fonction permettant de supprimer les effractions, unite de commande de memoire et procede de traitement d'acces direct en memoire
US7409486B2 (en) Storage system, and storage control method
WO2021082877A1 (zh) 访问固态硬盘的方法及装置
JP2011192053A (ja) ディスクアレイ装置、ディスクアレイシステム、及びキャッシュ制御方法
KR102514717B1 (ko) 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
JP2007264751A (ja) データ転送制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061016

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090928

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: 20091006

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091007

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131016

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees