JP2005025371A - Disk array device and data write control method - Google Patents

Disk array device and data write control method Download PDF

Info

Publication number
JP2005025371A
JP2005025371A JP2003188501A JP2003188501A JP2005025371A JP 2005025371 A JP2005025371 A JP 2005025371A JP 2003188501 A JP2003188501 A JP 2003188501A JP 2003188501 A JP2003188501 A JP 2003188501A JP 2005025371 A JP2005025371 A JP 2005025371A
Authority
JP
Japan
Prior art keywords
data
write
control unit
completion
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2003188501A
Other languages
Japanese (ja)
Inventor
Akira Yamashita
亮 山下
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003188501A priority Critical patent/JP2005025371A/en
Publication of JP2005025371A publication Critical patent/JP2005025371A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To guarantee to certainly hold data in a cache memory when notifying a host device about data write completion. <P>SOLUTION: This disk array device has a disk controller 5 having a host IO control circuit 11 receiving a write request from the host device 1, transferring write data, and notifying an arithmetic operation control part about the write completion after the transfer, and a memory control circuit 12 writing the data from the host IO control circuit into the cache memory. The memory control circuit is provided with a circuit 12b for specifying a read area of the cache memory and an execution control means 12c storing non-stored data and setting write completion data to the read area of the cache memory when confirmation access from the arithmetic operation control part 14 is present. The arithmetic operation control part reads the completion notification from the read area before notifying the host device about the write completion, and returns the completion notification. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ホスト装置からのデータ書き込み要求に基づいてキャッシュメモリにデータを書き込むディスクアレイ装置及びデータ書き込み制御方法に関する。
【0002】
【従来の技術】
従来、キャッシュ機能を備えたディスクシステムでは、図3に示すようにホスト装置1に通信回線2を介してディスクアレイ装置3が接続され、このディスクアレイ装置3は、ホスト装置1からの書き込み要求に応じてデータの書き込み処理を行う一方、データ書き込み後にホスト装置1に書き込み完了を通知する機能をもっている。従って、ディスクアレイ装置3はホスト装置1の記憶装置としての役割をもっている。
【0003】
このディスクアレイ装置3は、1台ないしは複数台のディスク装置4、…及びホスト装置1からの要求に基づく入出力制御及びディスク装置4への制御を行うディスク制御装置5が設けられている。このディスク制御装置5とディスク装置4、…はディスクインタフェース6により接続されている。
【0004】
ディスク制御装置5は、具体的には、ホスト装置1との間でデータの送受信を行うホストIO(入出力)制御回路11、このホストIO制御回路11からの要求に応じて書き込み・読出し制御を実行するメモリ制御回路12、ディスク装置4,…の書き込み・読出し制御を実行するディスク制御回路13及び構成全体を統括制御するCPUで構成される演算処理制御部14等によって構成されている。これら各構成回路等11〜14は内部バス15によって接続され、さらにメモリ制御回路12にはディスク装置4に記憶するディスクデータの一部のデータや制御情報等を記憶する複数のキャッシュメモリ16a,16b,…が接続されている。
【0005】
このようなディスクシステムでは、ホスト装置1とディスクアレイ装置3との間の書き込みアクセス制御方法は、近年、一般に使用されている高速シリアル伝送用のファイバチャネルの制御方法が用いられ、大略的に図4に示すような流れにそって行われている。
【0006】
* ホスト装置1は書き込み要求コマンドをディスクアレイ装置3に発行する(S1)。
* ホスト装置1は、書き込み要求コマンドの発行後、書き込みデータをディスクアレイ装置3に送信する(S2)。
* ディスクアレイ装置3は、データの書き込み完了をホスト装置1に通知する(S3)。
一方、ディスク制御装置5の内部バス15のデータ転送制御方式には、PCI(Peripheral Component Interconnect)バス等のバス制御方式が用いられ、次に述べるように初期設定後にデータ転送が行われている。
【0007】
[1] ホストIO制御回路11は、初期化処理として、演算処理制御部14から受け取るキャッシュメモリ16a,16b,…の制御バスのアドレスをメモリ制御回路12内のベースアドレスレジスタに設定する。
【0008】
[2] この初期化処理後、ホスト装置1から所要の要求を受けると、ホストIO制御回路11は、演算処理制御部14から要求アドレスを受け取り、メモリ制御回路12に転送する。
【0009】
[3] メモリ制御回路12は、転送されてきたアドレスがベースアドレスレジスタ内のアドレスに一致するか否かを判断し、一致する場合には転送受付の応答を返送する。
【0010】
[4] ホストIO制御回路11は、転送受付の応答を受けたとき、メモリ制御回路12にデータを転送する。
【0011】
ところで、従来のPCIバスは、ホストIO制御回路11からのデータ転送中であっても、データの転送を待たせる制御が可能であるが、近年、PCIバスの拡張形であるPCI−X等の制御バスでは、データ転送中にデータの転送を待たせる制御が禁止されているものがある。
【0012】
一方、キャッシュメモリ等に用いられるDRAMは、データを保持する必要から一定時間ごとにリフレッシュを行っている、このリフレッシュ実行時にはメモリ制御回路12からキャッシュメモリ16a,…にアクセスできず、データの書き込みを一時中断する必要がある。
【0013】
そこで、PCI−X等の制御バスを用いた場合、メモリ制御回路12にバッフアを実装し、前記[4]のデータ転送時に受信したデータをバッフアに蓄え、ホストIO制御回路11からのデータ転送を完了させる。メモリ制御回路12は、データ転送完了後、バッフアに蓄えているデータをキャッシュメモリ16a,…に書き込む。
【0014】
従って、ディスク制御装置5は、メモリ制御回路12によるバッフアデータ格納後の内部バスの転送完了とメモリ制御回路12によるキャッシュメモリへのデータ書き込み完了とが同期しないバス制御方式がとられている。その結果、ホスト装置1からデータ書き込み要求を受けたとき、ディスク制御装置5は、次のような手順でデータの書き込み制御を行っている。
【0015】
(1) ホストIO制御回路11は、ホスト装置1から書き込み要求を受けると、演算処理制御部14にデータを受信したことを割り込み信号で通知する。
【0016】
(2) また、ホストIO制御回路11は、ホスト装置1からの書き込みデータを受信する。このとき、演算処理制御部14は、前記(1)のデータ受信の通知を受けると、書き込みデータに対応するキャッシュメモリ16a,…の書き込みアドレスをホストIO制御回路11に通知する。
【0017】
(3) ホストIO制御回路11は、演算処理制御部14から書き込みアドレスを受けると、当該アドレスにデータを書き込む指示をメモリ制御回路12に転送する。さらに、ホストIO制御回路11は、書き込みデータの転送完了後、キャッシュメモリ16a,…への書き込み完了を割り込み信号により演算処理制御部14に通知する。
【0018】
(4) メモリ制御回路12は、転送されてきた書き込みデータをキャッシュメモリ16a,…に書き込む。
【0019】
(5) 演算処理制御部14は、書き込み完了を確認すると、ホスト装置1に対してデータ転送完了通知を返す。よって、ホスト装置1は、キャッシュメモリ16a,…にデータが書き込まれたと判断し、データ書き込み要求を完了する。
【0020】
さらに、もう1つの従来技術としては、ホストシステムに通信回線を介してディスクサブシステムが接続され、通常動作において、ホスト側から書き込み要求を受けたとき、ディスクサブシステムは、書き込み要求に基づいてデータをキャッシュメモリに書き込んだ後、ホストシステムに終了報告することが記載されている(特許文献1)。従って、このシステムにおいても、通常動作では、前述する図3と同様な転送完了通知が行われている。
【0021】
【特許文献1】
特開2000−267936号公報(従来の技術参照)
【0022】
【発明が解決しようとする課題】
従って、以上のような従来のディスクシステムでは、次のような問題が指摘されている。
【0023】
以上のようなディスクシステムにおけるデータ書き込み制御では、、演算処理制御部14への書き込み完了通知時、キャッシュメモリ16a,…にデータが書き込まれておらず、メモリ制御回路12のバッフアに存在することが想定される。このことは、ホスト装置1へのデータ転送完了通知が前記(3)の書き込みデータ転送完了後に実行されるが、必ずしも前記(4)のメモリへのデータ書き込み後に実行されているとは限らない。その結果、実際上、キャッシュメモリ16a,…にデータを書き込む前にホスト装置1が書き込み完了通知を受けることになる。
【0024】
一般に、キャッシュメモリを実装するディスクアレイ装置3では、ディスク装置4にデータを書き込む前に一旦キャッシュメモリ16a,…に高速書き込みするものであり、ディスク装置4に存在しないデータがキャッシュメモリに存在していることになる。その結果、停電等によりディスク装置4の電源が切れた場合、キャッシュメモリのデータを保護する必要があるので、停電時にはキャッシュメモリに電池等のバックアップ電源を供給し、データを保持している。
【0025】
しかし、以上のような一連の制御においては、ホスト装置1への完了通知時にキャッシュメモリ16a,…にデータが書き込まれている保証がなく、停電時に電池等のバックアップ電源を用いて、キャッシュメモリ16a,…の内容を保持したとしても、キャッシュメモリ16a,…にデータを書き込む前で既にホスト装置1に完了通知を返した直後に停電した場合、キャッシュメモリ16a,…には過去のデータだけが残っており、データのアンマッチングが生ずる問題がある。なお、停電が発生した場合、PCI−Xだけでなく、PCIバスのバス制御においても同様の問題が生ずる。
【0026】
本発明は上記事情にかんがみてなされたもので、ホスト装置にデータ書き込み完了を通知する時、キャッシュメモリに確実にデータを保持していることを保証するディスクアレイ装置及びデータ書き込み制御方法を提供することを目的とする。
【0027】
【課題を解決するための手段】
(1) 上記課題を解決するために、本発明は、上位装置からの書き込み要求を受信し、書き込みデータを転送する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、メモリ制御部には、キャッシュメモリの読出し領域を指定する回路を設け、外部から書き込み完了確認のアクセスに基づいてキャッシュメモリの読出し領域から完了状態を示すデータを読出し可能にすれば、少なくとも外部装置は、メモリ制御部の回路に指定される読出し領域のデータから未記憶データの存在有無を確認することが可能である。
【0028】
(2) 本発明に係るディスクアレイ装置は、上位装置からの書き込み要求を受信し、書き込みデータを転送するともに、この転送後に演算処理制御部に書き込み完了を通知する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部には、キャッシュメモリの読出し領域を指定する回路及びこの回路に完了確認アクセスがあった場合、既に受けている未記憶データを前記キャッシュメモリに記憶し、前記回路で指定されている当該キャッシュメモリの読出し領域に書き込み完了を表すデータを設定するアクセス実行制御手段とを設け、演算処理制御部に上位装置に当該書き込み完了を通知する前に前記回路に完了確認アクセスを行い、前記読出し領域から完了通知を受ける行う完了確認手段を設ければ、演算処理制御部としては、前記回路を介して読出し領域からデータ読出し完了を確実に確認でき、上位装置に完了通知を返信した時点では、データがキャッシュメモリに格納されていることを保証できる。
【0029】
(3) さらに、本発明に係るディスクアレイ装置のデータ書き込み制御方法は、メモリ制御部にキャッシュメモリの読出し領域を指定するステップと、入出力制御部がメモリ制御部に書き込みデータを転送した後、演算処理制御部に書き込み完了を通知するステップと、メモリ制御部は受け取った書き込みデータを前記キャッシュメモリに書き込むステップと、演算処理制御部が上位装置に書き込み完了を通知する前に完了確認のアクセスを行うステップと、この完了確認のアクセスを受け取ると、メモリ制御部は未だ残っている書き込みデータが存在する場合にキャッシュメモリに書き込み、読出し領域に書き込み完了を表すデータを設定し、完了確認のアクセスを実行するステップとを有することにより、前述するディスクアレイ装置と同様の作用効果を奏することができる。
【0030】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0031】
図1は本発明に係るディスクアレイ装置を適用したディスクシステムの一実施の形態を示す構成図である。なお、同図において図3に示す部分と同一又は等価な部分には同一符号を付し、その詳しい説明は図3に譲る。
【0032】
このディスクアレイ装置3は、ホスト装置1とは通信回線2を介して接続され、内部的には、1台ないしは複数台のディスク装置4、…及びホスト装置1からの要求に基づく入出力制御及びディスク装置4への制御を行うディスク制御装置5が設けられ、ディスク制御装置5とディスク装置4、…とはディスクインタフェース6によって接続されている。
【0033】
このディスク制御装置5は、図3と同様にホストIO(入出力)制御回路11、メモリ制御回路12、ディスク制御回路13及びCPUで構成される演算処理制御部14等が設けられ、各構成回路等11〜14は内部バス15により接続され、さらにメモリ制御回路12にはディスク装置4に記憶するディスクデータの一部のデータや制御情報等を記憶する複数のキャッシュメモリ16a,16b,…が接続されている。これら構成回路等11〜14の機能は図3で説明した通りである。
【0034】
図3と比較して特に異なるところは、メモリ制御回路12にキャッシュメモリベースアドレスレジスタ12aの他に、キャッシュメモリ読出専用ベースレジスタ12bを設け、さらに機能的にはアクセス実行制御手段12cが設けられている。
【0035】
キャッシュメモリベースアドレスレジスタ12aは、キャッシュメモリ16a,16b、…の制御バスのアドレスを格納するレジスタであって、演算処理制御部14から初期化処理の段階で制御バスのアドレスが設定される。キャッシュメモリ読出専用ベースレジスタ12bは、キャッシュメモリ16a,16b、…の所要とする領域指定データが格納され、当該指定領域からキャッシュメモリ16a,16b、…へのデータ書き込み完了データを読み出す可能とするレジスタである。アクセス実行制御手段12cは、演算処理制御部14からキャッシュメモリ読出専用ベースレジスタ12bのアクセスを受信した時、それ以前に受信した全てのデータをキャッシュメモリ16a,16b、…に格納した後、演算処理制御部14からのアクセスを実行する制御を行う。ここで、アクセスを実行する制御とは、前述するキャッシュメモリ16a,16b、…の指定領域に完了データを格納することである。従って、アクセス実行完了後、それ以前の要求のあった書き込みデータは全てキャッシュメモリ16a,16b、…に書き込まれている。
【0036】
一方、演算処理制御部14には、機能的には、完了確認手段14aが設けられている。この完了確認手段14aは、ホスト装置1に書き込み完了を返す前にメモリ制御回路12のキャッシュメモリ読出専用ベースレジスタ12bをアクセスし、書き込み完了状態を取り込むものである。
【0037】
次に、以上のようなディスクシステムの動作ないし本発明に係るディスクアレイ装置のデータ書き込み制御方法の一実施の形態について図2を参照して説明する。
【0038】
今、ホスト装置1から書き込み要求が送信されてきた場合、ディスクアレイ装置5は、次のような手順に従って制御を実行する。
【0039】
(1) ディスクアレイ装置5のホストIO制御回路11は、ホスト装置1から送信されてくる書き込み要求コマンドS11を受信すると(S11)、書き込み要求コマンドを受信したことを割り込み信号で演算処理制御部14に通知する(S12)
(2) ホストIO制御回路11は、ホスト装置1から書き込みデータを受信する(S13)。このとき、演算処理制御部14は、ホストIO制御回路11から書き込み要求を受けると、書き込みデータに対するキャッシュメモリの書き込みアドレスをホストIO制御回路11に通知する(S14)。
【0040】
(3) ホストIO制御回路11は、演算処理制御部14から受け取った書き込みアドレスに書き込みデータを書き込むようにメモリ制御回路12に転送する(S15)。そして、書き込みデータの転送完了後、キャッシュメモリ16a,16b,…への書き込み完了を演算処理制御部14に通知する(S16)。
【0041】
(4) メモリ制御回路12は、ホストIO制御回路11から書き込みデータを受けると、キャッシュメモリ16a,16b,…の書き込みアドレスに書き込みデータを書き込む(S17)。
【0042】
(5) 演算処理制御部14は、ホストIO制御回路11から書き込み完了を受けると、キャッシュメモリ16a,16b,…への書き込みが確実に完了したかをメモリ制御回路12のキャッシュメモリ読出専用ベースレジスタ12bにアクセスする(S18)。このとき、メモリ制御回路12は、キャッシュメモリ読出専用ベースレジスタ12bのアクセスを受信すると、未だ未記憶の書き込みデータが存在する場合には、当該未記憶の書き込みデータをキャッシュメモリ16a,16b,…に速やかに書き込んだ後、キャッシュメモリ読出専用ベースレジスタ12bに設定されるキャッシュメモリ16a,16b,…の読出し領域に書き込み完了を表すデータを設定する(S19)。従って、演算処理制御部14は、キャッシュメモリ読出専用ベースレジスタ12bに指定される読出し領域から書き込み完了状態のデータを取得できる(S20)。
【0043】
(6) 演算処理制御部14は、読出し領域から書き込み完了を読み出すと、ホスト装置1に完了通知を返信する(S21)。
【0044】
従って、以上のようなディスクアレイ装置の構成によれば、メモリ制御部12にキャッシュメモリの読出し領域を指定するキャッシュメモリ読出専用ベースレジスタ12bを設けることにより、演算処理制御部14は、書き込み完了確認のアクセスに基づいてキャッシュメモリの読出し領域から完了状態を示すデータを読出すことができる。このことは、メモリ制御回路12は、演算処理制御部14から書き込み完了確認のアクセスを受けた時、未だ書き込んでいない書き込みデータをキャッシュメモリ16a,16b,…に書き込んで、キャッシュメモリ16a,16b,…の読出し領域に書き込み完了を表すデータを設定すれば、演算処理制御部14としては、キャッシュメモリ読出専用ベースレジスタ12bを介して読出し領域からデータ読出し完了時にはキャッシュメモリにデータが確実に格納されていることになり、よってホスト装置1に完了通知を返信した時点では、データがキャッシュメモリに格納されていることを保証することが可能となり、停電時などにデータのアンマッチングが発生することがなくなる。
【0045】
以上のような構成においては、メモリ制御回路12に接続される内部バス6のデータ転送完了とメモリ制御回路12によるキャッシュメモリ16a,…への書き込み完了とが同期しないバス制御を行うディスク制御装置にとって有効なものである。
【0046】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。ホスト装置1からディスクアレイ装置3に書き込み要求コマンドと書き込みデータとをそれぞれ個別に転送するように記載されているが、例えば書き込みデータを伴う書き込み要求コマンドを転送する場合でも同様であることは言うまでもない。
【0047】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位,下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0048】
【発明の効果】
以上説明したように本発明によれば、ホスト装置にデータ書き込み完了を通知する時、確実にキャッシュメモリにデータを保持していることを保証できるディスクアレイ装置及びデータ書き込み制御方法を提供できる。
【図面の簡単な説明】
【図1】本発明に係るディスクアレイ装置を適用したディスクシステムの一実施の形態を示す構成図。
【図2】本発明に係るディスクアレイ装置のデータ書き込み制御方法を説明する動作の流れを説明する図。
【図3】ディスクアレイ装置を適用した従来のディスクシステムを説明する構成図。
【図4】従来の一般的な書き込みアクセス制御方式を説明する図。
【符号の説明】
1…ホスト装置(上位装置)、2…通信回線、3…ディスクアレイ装置、4…ディスク装置、5…ディスク制御装置、11…ホストIO制御回路、12…メモリ制御回路、12b…キャッシュメモリ読出専用ベースレジスタ、12c…アクセス実行制御手段、13…ディスク制御回路、14…演算処理制御部、14a…完了確認手段、15…内部バス、16a,16b…キャッシュメモリ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk array device and a data write control method for writing data to a cache memory based on a data write request from a host device.
[0002]
[Prior art]
Conventionally, in a disk system having a cache function, a disk array device 3 is connected to a host device 1 via a communication line 2 as shown in FIG. 3, and this disk array device 3 responds to a write request from the host device 1. In response to the data writing process, the host device 1 has a function of notifying the completion of the writing after the data writing. Therefore, the disk array device 3 has a role as a storage device of the host device 1.
[0003]
The disk array device 3 is provided with one or a plurality of disk devices 4... And a disk control device 5 that performs input / output control and control to the disk device 4 based on a request from the host device 1. The disk control device 5 and the disk device 4,... Are connected by a disk interface 6.
[0004]
Specifically, the disk control device 5 has a host IO (input / output) control circuit 11 that transmits and receives data to and from the host device 1, and performs write / read control in response to a request from the host IO control circuit 11. It comprises a memory control circuit 12 to be executed, a disk control circuit 13 for executing writing / reading control of the disk devices 4,... And an arithmetic processing control unit 14 comprising a CPU for overall control of the entire configuration. These constituent circuits 11 to 14 are connected by an internal bus 15, and the memory control circuit 12 has a plurality of cache memories 16 a and 16 b for storing a part of disk data stored in the disk device 4 and control information. , ... are connected.
[0005]
In such a disk system, the write access control method between the host device 1 and the disk array device 3 uses a generally used fiber channel control method for high-speed serial transmission in recent years. This is done according to the flow shown in FIG.
[0006]
* The host device 1 issues a write request command to the disk array device 3 (S1).
* After issuing the write request command, the host device 1 transmits write data to the disk array device 3 (S2).
* The disk array device 3 notifies the host device 1 of the completion of data writing (S3).
On the other hand, as a data transfer control method for the internal bus 15 of the disk controller 5, a bus control method such as a peripheral component interconnect (PCI) bus is used, and data transfer is performed after initial setting as described below.
[0007]
[1] The host IO control circuit 11 sets the address of the control bus of the cache memories 16a, 16b,... Received from the arithmetic processing control unit 14 in the base address register in the memory control circuit 12 as an initialization process.
[0008]
[2] Upon receiving a required request from the host device 1 after this initialization processing, the host IO control circuit 11 receives the request address from the arithmetic processing control unit 14 and transfers it to the memory control circuit 12.
[0009]
[3] The memory control circuit 12 determines whether or not the transferred address matches the address in the base address register, and returns a transfer acceptance response if it matches.
[0010]
[4] The host IO control circuit 11 transfers data to the memory control circuit 12 when receiving a transfer acceptance response.
[0011]
By the way, the conventional PCI bus can be controlled to wait for the data transfer even during the data transfer from the host IO control circuit 11, but in recent years, such as PCI-X which is an expansion type of the PCI bus. Some control buses are prohibited from waiting for data transfer during data transfer.
[0012]
On the other hand, a DRAM used for a cache memory or the like refreshes at regular intervals because it is necessary to hold data. During this refresh execution, the memory control circuit 12 cannot access the cache memories 16a,. It is necessary to pause.
[0013]
Therefore, when a control bus such as PCI-X is used, a buffer is mounted in the memory control circuit 12, the data received during the data transfer of [4] is stored in the buffer, and data transfer from the host IO control circuit 11 is performed. Complete. After completing the data transfer, the memory control circuit 12 writes the data stored in the buffer to the cache memories 16a,.
[0014]
Therefore, the disk control device 5 employs a bus control system in which the completion of transfer of the internal bus after the buffer data is stored by the memory control circuit 12 and the completion of data writing to the cache memory by the memory control circuit 12 are not synchronized. As a result, when a data write request is received from the host device 1, the disk control device 5 performs data write control in the following procedure.
[0015]
(1) Upon receiving a write request from the host device 1, the host IO control circuit 11 notifies the arithmetic processing control unit 14 that data has been received with an interrupt signal.
[0016]
(2) The host IO control circuit 11 receives write data from the host device 1. At this time, upon receiving the data reception notification (1), the arithmetic processing control unit 14 notifies the host IO control circuit 11 of the write address of the cache memory 16a,... Corresponding to the write data.
[0017]
(3) Upon receiving a write address from the arithmetic processing control unit 14, the host IO control circuit 11 transfers an instruction to write data to the address to the memory control circuit 12. Further, after the transfer of the write data is completed, the host IO control circuit 11 notifies the arithmetic processing control unit 14 of the completion of the write to the cache memories 16a,.
[0018]
(4) The memory control circuit 12 writes the transferred write data into the cache memory 16a,.
[0019]
(5) Upon confirming the completion of writing, the arithmetic processing control unit 14 returns a data transfer completion notification to the host device 1. Therefore, the host device 1 determines that data has been written to the cache memories 16a,... And completes the data write request.
[0020]
Further, as another prior art, when a disk subsystem is connected to a host system via a communication line and a write request is received from the host side in normal operation, the disk subsystem receives data based on the write request. Is written in the cache memory and then reported to the host system (Patent Document 1). Therefore, also in this system, in the normal operation, the transfer completion notification similar to that in FIG. 3 described above is performed.
[0021]
[Patent Document 1]
JP 2000-267936 A (refer to prior art)
[0022]
[Problems to be solved by the invention]
Therefore, the following problems have been pointed out in the conventional disk system as described above.
[0023]
In the data write control in the disk system as described above, at the time of writing completion notification to the arithmetic processing control unit 14, data is not written in the cache memory 16a, but exists in the buffer of the memory control circuit 12. is assumed. This is because the data transfer completion notification to the host device 1 is executed after the completion of the write data transfer of (3), but is not necessarily executed after the data write to the memory of (4). As a result, the host device 1 actually receives a write completion notification before writing data to the cache memory 16a,.
[0024]
In general, in the disk array device 3 in which the cache memory is mounted, data is temporarily written to the cache memories 16a,... Once before data is written to the disk device 4, and data that does not exist in the disk device 4 exists in the cache memory. Will be. As a result, when the disk device 4 is powered off due to a power failure or the like, it is necessary to protect the data in the cache memory. Therefore, at the time of a power failure, a backup power source such as a battery is supplied to the cache memory to retain the data.
[0025]
However, in the series of controls as described above, there is no guarantee that data is written in the cache memory 16a,... When the completion notification is sent to the host device 1, and a backup power source such as a battery is used in the event of a power failure. Even if the contents of,... Are retained, if a power failure occurs immediately after the completion notification is returned to the host device 1 before data is written to the cache memories 16a,..., Only past data remains in the cache memories 16a,. There is a problem that unmatching of data occurs. When a power failure occurs, the same problem occurs not only in PCI-X but also in bus control of the PCI bus.
[0026]
The present invention has been made in view of the above circumstances, and provides a disk array device and a data write control method for guaranteeing that data is securely held in a cache memory when a data write completion is notified to a host device. For the purpose.
[0027]
[Means for Solving the Problems]
(1) In order to solve the above-mentioned problem, the present invention receives a write request from a host device and transfers the write data, and caches the write data transferred from the input / output control unit. A disk array device comprising a disk control device having a memory control unit for writing to a memory, wherein the memory control unit is provided with a circuit for designating a read area of the cache memory, and based on an access for confirming the completion of writing from outside If data indicating the completion status can be read from the read area of the cache memory, at least the external device can confirm the presence or absence of unstored data from the data in the read area specified by the circuit of the memory control unit. is there.
[0028]
(2) The disk array device according to the present invention receives the write request from the host device and transfers the write data, and after this transfer, the input / output control unit for notifying the arithmetic processing control unit of the write completion, A disk array device comprising a disk control device having a memory control unit for writing write data transferred from an output control unit to a cache memory;
In the memory control unit, a circuit for designating a read area of the cache memory and, if there is a completion confirmation access to this circuit, the unstored data already received is stored in the cache memory and designated by the circuit. An access execution control means for setting data indicating completion of writing in the read area of the cache memory, and performing completion access to the circuit before notifying the arithmetic processing control unit of the completion of the write to the host device. If a completion confirmation means for receiving a completion notification from the area is provided, the arithmetic processing control unit can reliably confirm the completion of data reading from the reading area via the circuit, and when the completion notification is returned to the host device, It can be assured that the data is stored in the cache memory.
[0029]
(3) Further, in the data write control method of the disk array device according to the present invention, the step of designating a read area of the cache memory to the memory control unit, and after the input / output control unit transfers the write data to the memory control unit, A step of notifying the arithmetic processing control unit of the completion of writing; a step of writing the received write data into the cache memory; and a step of confirming completion before the arithmetic processing control unit notifies the upper unit of the writing completion. Upon receiving the completion confirmation access and the completion confirmation access, the memory control unit writes the data to the cache memory when there is still remaining write data, sets the data indicating the completion of the write in the read area, and performs the completion confirmation access. A disk array device as described above. Similar effects can be obtained.
[0030]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0031]
FIG. 1 is a configuration diagram showing an embodiment of a disk system to which a disk array device according to the present invention is applied. In the figure, the same or equivalent parts as those shown in FIG. 3 are denoted by the same reference numerals, and detailed description thereof will be given in FIG.
[0032]
The disk array device 3 is connected to the host device 1 via a communication line 2 and internally has an input / output control based on a request from one or a plurality of disk devices 4,. A disk control device 5 for controlling the disk device 4 is provided, and the disk control device 5 and the disk devices 4... Are connected by a disk interface 6.
[0033]
As in FIG. 3, the disk control device 5 includes a host IO (input / output) control circuit 11, a memory control circuit 12, a disk control circuit 13, an arithmetic processing control unit 14 including a CPU, and the like. 11-14 are connected by an internal bus 15, and the memory control circuit 12 is connected to a plurality of cache memories 16a, 16b,... For storing a part of the disk data stored in the disk device 4 and control information. Has been. The functions of these constituent circuits 11 to 14 are as described in FIG.
[0034]
The difference from FIG. 3 is that the memory control circuit 12 is provided with a cache memory read-only base register 12b in addition to the cache memory base address register 12a, and further functionally provided with an access execution control means 12c. Yes.
[0035]
The cache memory base address register 12a stores the control bus addresses of the cache memories 16a, 16b,..., And the control bus address is set by the arithmetic processing control unit 14 at the stage of initialization processing. The cache memory read-only base register 12b stores area designation data required for the cache memories 16a, 16b,..., And a register that allows data write completion data to the cache memories 16a, 16b,. It is. When access to the cache memory read-only base register 12b is received from the arithmetic processing control unit 14, the access execution control means 12c stores all previously received data in the cache memories 16a, 16b,. Control to execute access from the control unit 14 is performed. Here, the control for executing the access is to store the completion data in the designated areas of the cache memories 16a, 16b,. Therefore, after the completion of the access execution, all the write data requested before is written in the cache memories 16a, 16b,.
[0036]
On the other hand, the arithmetic processing control unit 14 is functionally provided with a completion confirmation unit 14a. The completion confirmation unit 14a accesses the cache memory read-only base register 12b of the memory control circuit 12 and returns the write completion state before returning the write completion to the host device 1.
[0037]
Next, an operation of the disk system as described above or an embodiment of a data write control method of the disk array apparatus according to the present invention will be described with reference to FIG.
[0038]
Now, when a write request is transmitted from the host device 1, the disk array device 5 executes control according to the following procedure.
[0039]
(1) When the host IO control circuit 11 of the disk array device 5 receives the write request command S11 transmitted from the host device 1 (S11), the arithmetic processing control unit 14 uses an interrupt signal to indicate that the write request command has been received. (S12)
(2) The host IO control circuit 11 receives write data from the host device 1 (S13). At this time, when receiving a write request from the host IO control circuit 11, the arithmetic processing control unit 14 notifies the host IO control circuit 11 of the write address of the cache memory for the write data (S14).
[0040]
(3) The host IO control circuit 11 transfers the write data to the write address received from the arithmetic processing control unit 14 to the memory control circuit 12 (S15). Then, after the transfer of the write data is completed, the arithmetic processing control unit 14 is notified of the completion of the write to the cache memories 16a, 16b,... (S16).
[0041]
(4) Upon receiving the write data from the host IO control circuit 11, the memory control circuit 12 writes the write data to the write addresses of the cache memories 16a, 16b,... (S17).
[0042]
(5) Upon receipt of the write completion from the host IO control circuit 11, the arithmetic processing control unit 14 determines whether or not the write to the cache memories 16a, 16b,. 12b is accessed (S18). At this time, when the memory control circuit 12 receives the access to the cache memory read-only base register 12b, if there is still unstored write data, the memory control circuit 12 stores the unstored write data in the cache memories 16a, 16b,. After writing immediately, data indicating completion of writing is set in the read area of the cache memories 16a, 16b,... Set in the cache memory read-only base register 12b (S19). Accordingly, the arithmetic processing control unit 14 can acquire the data in the write completion state from the read area specified by the cache memory read-only base register 12b (S20).
[0043]
(6) When the arithmetic processing control unit 14 reads the completion of writing from the read area, it returns a completion notification to the host device 1 (S21).
[0044]
Therefore, according to the configuration of the disk array device as described above, by providing the memory control unit 12 with the cache memory read-only base register 12b for designating the read area of the cache memory, the arithmetic processing control unit 14 can confirm the write completion. The data indicating the completion state can be read from the read area of the cache memory based on the access. This is because when the memory control circuit 12 receives a write completion confirmation access from the arithmetic processing control unit 14, it writes the write data that has not yet been written to the cache memories 16a, 16b,. When data indicating completion of writing is set in the reading area of..., The arithmetic processing control unit 14 reliably stores the data in the cache memory when the data reading from the reading area is completed via the cache memory read-only base register 12b. Therefore, when the completion notification is returned to the host device 1, it is possible to ensure that the data is stored in the cache memory, and data unmatching does not occur at the time of a power failure or the like. .
[0045]
In the configuration as described above, for a disk controller that performs bus control in which data transfer completion of the internal bus 6 connected to the memory control circuit 12 and writing completion to the cache memories 16a,. It is effective.
[0046]
Note that the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention. Although it is described that the write request command and the write data are individually transferred from the host device 1 to the disk array device 3, it goes without saying that, for example, the same applies when transferring the write request command accompanied by the write data. .
[0047]
In addition, the embodiments can be implemented in combination as much as possible, and in that case, the effect of the combination can be obtained. Further, each of the above embodiments includes various higher-level and lower-level inventions, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, when an invention is extracted because some constituent elements can be omitted from all the constituent elements described in the means for solving the problem, the omitted part is used when the extracted invention is implemented. Is appropriately supplemented by well-known conventional techniques.
[0048]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a disk array device and a data write control method capable of guaranteeing that data is securely held in the cache memory when notifying the host device of the completion of data write.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing an embodiment of a disk system to which a disk array device according to the present invention is applied.
FIG. 2 is a diagram illustrating an operation flow for explaining a data write control method of the disk array device according to the present invention.
FIG. 3 is a configuration diagram illustrating a conventional disk system to which a disk array device is applied.
FIG. 4 is a diagram for explaining a conventional general write access control method;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 ... Host device (host device), 2 ... Communication line, 3 ... Disk array device, 4 ... Disk device, 5 ... Disk controller, 11 ... Host IO control circuit, 12 ... Memory control circuit, 12b ... Cache memory read-only Base register, 12c ... access execution control means, 13 ... disk control circuit, 14 ... arithmetic processing control section, 14a ... completion confirmation means, 15 ... internal bus, 16a, 16b ... cache memory.

Claims (3)

上位装置からの書き込み要求を受信し、書き込みデータを転送する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部に、前記キャッシュメモリの読出し領域を指定する回路を設け、外部から書き込み完了確認のアクセスに基づいて前記キャッシュメモリの読出し領域から完了データを読出し可能にしたことを特徴とするディスクアレイ装置。
A disk controller having an input / output control unit that receives a write request from a host device and transfers write data, and a memory control unit that writes the write data transferred from the input / output control unit to a cache memory is provided. A disk array device,
A disk array characterized in that a circuit for designating a read area of the cache memory is provided in the memory control unit, so that completion data can be read from the read area of the cache memory based on a write completion confirmation access from outside. apparatus.
上位装置からの書き込み要求を受信し、書き込みデータを転送するともに、この転送後に演算処理制御部に書き込み完了を通知する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部に、前記キャッシュメモリの読出し領域を指定する回路及びこの回路に完了確認アクセスがあった場合、既に受けている未記憶データを前記キャッシュメモリに記憶し、前記回路で指定されるキャッシュメモリの読出し領域に書き込み完了データを設定するアクセス実行制御手段とを設け、
前記演算処理制御部に、前記上位装置に当該書き込み完了を通知する前に前記回路に完了確認アクセスを行い、前記読出し領域から完了データを読み出す完了確認手段を設けたことを特徴とするディスクアレイ装置。
Receives a write request from the host device and transfers the write data. After the transfer, the I / O control unit notifies the arithmetic processing control unit of the write completion, and the write data transferred from the input / output control unit is cached. A disk array device comprising a disk controller having a memory controller for writing to a memory,
When the memory control unit has a circuit for designating a read area of the cache memory, and when there is a completion confirmation access to the circuit, the unstored data already received is stored in the cache memory, and the cache designated by the circuit An access execution control means for setting write completion data in the memory read area;
A disk array device comprising: a completion confirmation means for performing completion confirmation access to the circuit before notifying the host device of the completion of writing to the arithmetic processing control unit and reading completion data from the read area .
入出力制御部が上位装置からの書き込み要求を受信し、書き込みデータをメモリ制御部に転送し、このメモリ制御部が転送されてきた書き込みデータをキャッシュメモリに書き込むディスクアレイ装置のデータ書き込み制御方法であって、
前記メモリ制御部に前記キャッシュメモリの読出し領域を指定するステップと、
前記入出力制御部が前記メモリ制御部に書き込みデータを転送した後、演算処理制御部に書き込み完了を通知するステップと、
前記メモリ制御部が受け取った書き込みデータを前記キャッシュメモリに書き込むステップと、
前記演算処理制御部が前記上位装置に書き込み完了を通知する前に完了確認のアクセスを行うステップと、
この完了確認のアクセスを受け取ると、前記メモリ制御部は未だ残っている書き込みデータが存在する場合には前記キャッシュメモリに書き込み、前記読出し領域に書き込み完了データを設定するステップとを有し、
前記演算処理制御部が前記完了確認のアクセスのもとに書き込み完了を確認し、前記上位装置に書き込み完了を通知するステップとを有することを特徴とするディスクアレイ装置のデータ書き込み制御方法。
In the disk array device data write control method, the input / output control unit receives a write request from the host device, transfers the write data to the memory control unit, and the memory control unit writes the transferred write data to the cache memory. There,
Designating a read area of the cache memory to the memory controller;
After the input / output control unit transfers write data to the memory control unit, the operation processing control unit notifies the completion of writing;
Writing the write data received by the memory control unit into the cache memory;
A step of performing completion confirmation access before the arithmetic processing control unit notifies the host device of completion of writing;
When receiving the completion confirmation access, the memory control unit has a step of writing in the cache memory when there is still remaining write data, and setting the write completion data in the read area,
A data write control method for a disk array device, comprising: the arithmetic processing control unit confirming write completion under the completion confirmation access and notifying the host device of the write completion.
JP2003188501A 2003-06-30 2003-06-30 Disk array device and data write control method Pending JP2005025371A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003188501A JP2005025371A (en) 2003-06-30 2003-06-30 Disk array device and data write control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003188501A JP2005025371A (en) 2003-06-30 2003-06-30 Disk array device and data write control method

Publications (1)

Publication Number Publication Date
JP2005025371A true JP2005025371A (en) 2005-01-27

Family

ID=34187027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003188501A Pending JP2005025371A (en) 2003-06-30 2003-06-30 Disk array device and data write control method

Country Status (1)

Country Link
JP (1) JP2005025371A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053946A (en) * 2007-08-27 2009-03-12 Toshiba Corp Block device controller with duplex controller configuration
JP2016539399A (en) * 2014-09-15 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. Data write request processing method and storage array
JP2018010698A (en) * 2014-09-15 2018-01-18 華為技術有限公司Huawei Technologies Co.,Ltd. Data writing request processing method and storage array

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009053946A (en) * 2007-08-27 2009-03-12 Toshiba Corp Block device controller with duplex controller configuration
JP2016539399A (en) * 2014-09-15 2016-12-15 華為技術有限公司Huawei Technologies Co.,Ltd. Data write request processing method and storage array
JP2018010698A (en) * 2014-09-15 2018-01-18 華為技術有限公司Huawei Technologies Co.,Ltd. Data writing request processing method and storage array
US10042560B2 (en) 2014-09-15 2018-08-07 Huawei Technologies Co., Ltd. Method and storage array for processing a write data request

Similar Documents

Publication Publication Date Title
US4603406A (en) Power backed-up dual memory system
JP2001521246A (en) Buffering data exchanged between buses operating at different frequencies
US20040103247A1 (en) Storage control apparatus and control method thereof
JP3027843B2 (en) Bath snoop method
JP2000047974A (en) Bus arbitrating method of bus controller, bus controller, and system of electronic equipment
JP2001229115A (en) Atapi command processing system
JP2005025371A (en) Disk array device and data write control method
JPS63305445A (en) Data writing system at power break
JPH04311219A (en) Data backup system
JPH11232213A (en) Data transfer system for input/output device
JP3550256B2 (en) Information processing equipment
JP2701739B2 (en) Processor switching method
JP3940701B2 (en) Disk array device and cache matching control method applied to the same
JPH03656B2 (en)
JP3125634B2 (en) Electronic computer system
JP4009401B2 (en) Disk control apparatus and recording medium recording program
JP2723388B2 (en) Internal bus control method for processor module and information processing device
JPH07287694A (en) Multiplex processing system and memory synchronous control method
JP3348704B2 (en) Duplexing apparatus and state matching control method used therefor
JP4110838B2 (en) Memory backup circuit
JPS59135684A (en) Data bypass system between buffer memories
JP3050286B2 (en) Data transfer system
JPH06274416A (en) Cache memory device
JP2003345515A (en) Disk controller, storage system, and method for controlling the same
JP2002091899A (en) Data transfer controller and data transfer method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071120