JP4572859B2 - キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 - Google Patents

キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 Download PDF

Info

Publication number
JP4572859B2
JP4572859B2 JP2006097282A JP2006097282A JP4572859B2 JP 4572859 B2 JP4572859 B2 JP 4572859B2 JP 2006097282 A JP2006097282 A JP 2006097282A JP 2006097282 A JP2006097282 A JP 2006097282A JP 4572859 B2 JP4572859 B2 JP 4572859B2
Authority
JP
Japan
Prior art keywords
transfer
address
cache memory
data
completion flag
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
JP2006097282A
Other languages
English (en)
Other versions
JP2007272551A (ja
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006097282A priority Critical patent/JP4572859B2/ja
Publication of JP2007272551A publication Critical patent/JP2007272551A/ja
Application granted granted Critical
Publication of JP4572859B2 publication Critical patent/JP4572859B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、ディスクアレイ装置内のキャッシュメモリを制御するキャッシュメモリ制御装置等に関する。
ディスクアレイ装置のキャッシュメモリは、安価で大容量である揮発性メモリ(DRAM)が使用されおり、ソフトエラーが発生したときのデータエラー検出及び訂正手段として、一般的に誤り訂正符号ECC(Error Checking and Correcting Code)が採用されている。ECCはハミングコードを用いてデータビットからチェックビットを生成し、データビットとチェックビットをDRAMに書き込んで、メモリを読み出した時に、読み出したデータビットとチェックビットからシンドロームを生成し、このシンドロームによって1ビットの誤り訂正及び2ビットの誤り検出を行っている。
また、DRAMを使用する場合、DRAMが機能として備えている、ある決まった数のデータを連続して入出力するバースト転送(バーストライト又はバーストリード)を利用する。バースト転送において、連続して転送する長さ(バースト長)は、DRAMへの電源及びクロックが供給された後、DRAMのモードレジスタに設定しなければならない。一旦設定すると、再度設定を行うか、又は電源を切断するまで、設定値(バースト長)は保持される。そのため、一般的にDRAMへのアクセスは常に固定化したバースト長で行っている。
従来技術では、キャッシュメモリにデータ転送する前に、DRAM内部データを確定値とするためのパディングデータとそのECCを、キャッシュメモリの全領域に書き込むという、キャッシュメモリのデータ初期化処理を行っている。その理由は、この種のディスクアレイ装置のキャッシュメモリは揮発性メモリで構成されているため、誤り訂正符号ECCを採用したキャッシュメモリにおいて電源投入時のDRAM内部データは不確定値となっているため、及び、通常のキャッシュメモリアクセス時にDRAMに設定したバースト長未満のアクセスが発生するためである。
特開平10−269150号公報
第1の問題点は、電源投入時や障害復旧時など、必ず、キャッシュメモリの初期化処理を実施しなければならないということである。一般的に、ディスクアレイ装置のキャッシュメモリに使用されているDRAMは、電源投入時にDRAM内部が不確定値となっているため、及び、通常のメモリアクセス時にキャッシュメモリのデータ幅に満たないパーシャル転送やDRAMに設定されているバースト長に満たないデータ転送が発生するため、キャッシュメモリへのデータ転送前にパディングデータとそのECCをキャッシュメモリ全領域にバーストライトを行う、初期化処理が必要であった。
第2の問題点は、キャッシュメモリの初期化処理は、キャッシュメモリ搭載量に比例し、処理時間が大きくなっているということである。近年、ディスクアレイ装置のキャッシュメモリは大容量化が進んでおり、DRAMデータの初期化処理であるキャッシュメモリ全領域へのパディングデータを書き込む処理に多くの時間がかかるため、その処理期間中、物理的に実装された状態であっても、データ転送に使用できない期間が発生している。
そこで、本発明の目的は、キャッシュメモリの初期化処理を行う時間を不要とし、即座にキャッシュメモリへのリード転送又はライト転送を開始できる、キャッシュメモリ制御装置等を提供することにある。
本発明に係るキャッシュメモリ制御装置は、ディスクアレイ装置内に設けられたキャッシュメモリを制御するものであり、管理テーブル、テーブル制御手段及びバースト制御手段を備えている。管理テーブルは、キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する。テーブル制御手段は、ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる分割アドレス空間及びその完了フラグを管理テーブルから読み出す。バースト制御手段は、テーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する分割アドレス空間の全体にデータが書き込まれるように転送アドレス及び転送データを変更(変換、生成等)してキャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、テーブル制御手段で読み出された完了フラグが完了を示すとき、転送アドレス及び転送データをそのままキャッシュメモリへ出力するように指示する。
本発明に係るキャッシュメモリ制御方法は、本発明に係るキャッシュメモリ制御装置の動作を方法の発明として捉えたものである。本発明に係るキャッシュメモリ制御プログラムは、本発明に係るキャッシュメモリ制御装置の各手段をコンピュータに機能させるためのものである。本発明に係るディスクアレイ装置は、本発明に係るキャッシュメモリ制御装置を備えたものである。
従来技術では、キャッシュメモリのアドレス空間の全領域に対して、データ初期化を行っていた。これに対し、本発明では、そのデータ初期化を行わない代わりに、管理テーブル等を用いる。管理テーブルでは、各分割アドレス空間についてデータ初期化の完了又は未完了を示す、完了フラグを管理する。転送アドレスを含む分割アドレス空間の完了フラグが未完了であれば、その分割アドレス空間に対して転送アドレス及び転送データをそのまま書き込むと、分割アドレス空間の一部に不確定な値のデータ領域が残ることになる。そこで、転送アドレス及び転送データを変更することにより、その分割アドレス空間の全体にデータが書き込まれるようにする。この結果、キャッシュメモリのアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリへのデータ転送が可能となる。
また、本発明は、次のように構成することもできる。
本発明は、管理テーブル、テーブル制御手段、バースト制御手段、アドレス変換手段、パディング手段等を備える。管理テーブルは、実装されたキャッシュメモリのアドレス空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間単位でDRAMデータの初期化処理の完了、未完了を示す完了フラグとを管理する。テーブル制御手段は、転送アドレス保持手段で示される転送アドレスから管理テーブルを索引し、転送アドレスに対応したバーストアドレス空間及びその完了フラグの読み出し制御を行う。バースト制御手段は、管理テーブルから読み出した完了フラグと、転送アドレス保持手段、転送レングス保持手段及び転送コマンド保持手段で保持されている転送要求の各情報とを元に、DRAMアクセス時のアドレスやデータへの変換、生成を指示する。アドレス変換手段は、バースト制御手段からの指示により、転送アドレス保持手段で示される転送アドレスを、DRAMへの転送アドレスに変換、生成する。パディング手段は、転送データ保持手段で示される転送ライトデータにパディングデータの付加を行う。
次に、本発明の作用を説明する。テーブル制御手段は、キャッシュメモリ(DRAM)への転送要求を検出したとき、転送アドレス保持手段内の転送アドレスを元に管理テーブル内のエントリを索引し、転送アドレスが含まれているバーストアドレス空間を検索する。バーストアドレス空間を検出すると、そのバーストアドレス空間に対応する完了フラグを読み出す。バースト制御手段は、管理テーブルから読み出した完了フラグと転送コマンド保持手段内の転送コマンドとを参照し、転送アドレスを含んだバーストアドレス空間の初期化処理が完了しているか否かの判定を行い、転送要求の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換、生成するようアドレス変換手段及びパディング手段に対し、指示を行う。バースト制御手段は、完了フラグが初期化未完了であることを示している場合、その初期化未完了であるバーストアドレス空間へのデータライト動作(=初期化)が完了したら、管理テーブル内のバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するようテーブル制御手段に指示する。
本発明では、キャッシュメモリに転送要求されているアドレスを元に、管理テーブルからそのアドレスを含むバーストアドレス空間の初期化完了又は未完了のステータスを読み出し、初期化が未完了である場合、DRAMのバースト長に合わせ込んだアドレス、レングス、及びライトデータを生成し、DRAMに転送する。そのため、ディスクアレイ装置の電源投入時やキャッシュメモリの障害復旧時などに、キャッシュメモリの初期化処理を行う時間が不要となるので、即座にキャッシュメモリへのリード転送又はライト転送が可能となる。また、信頼性の高いディスクアレイ装置のメモリアクセス方法を提供することができることに加え、平均復旧時間(MTTR:Mean Time To Repair)の短いディスクアレイ装置のメモリアクセス方法を提供することができる。
本発明によれば、ディスクアレイ装置の電源投入時やキャッシュメモリの障害復旧時などに、キャッシュメモリの初期化処理を行う時間が不要となるので、即座にキャッシュメモリへのリード転送又はライト転送が可能となる。
図1は、本発明に係るキャッシュメモリ制御装置の第一実施形態を示すブロック図である。図2は、図1における管理テーブルの一例を示す図表である。以下、これらの図面に基づき説明する。
本実施形態のキャッシュメモリ制御装置10は、管理テーブル16、テーブル制御手段15、バースト制御手段18、アドレス変換手段17、パディング手段19等を備えている。
管理テーブル16は、実装されたキャッシュメモリのアドレス空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間単位でDRAMデータの初期化処理の完了又は未完了を示す完了フラグとを管理する。テーブル制御手段15は、転送アドレス保持手段11で示される転送アドレスから管理テーブル16を索引し、転送アドレスに対応したバーストアドレス空間及びその完了フラグの読み出し制御を行う。バースト制御手段18は、管理テーブル16から読み出した完了フラグと、転送アドレス保持手段11、転送レングス保持手段12及び転送コマンド保持手段13で保持されている転送要求との各情報を元に、DRAMアクセス時のアドレスやデータへの変換又は生成を指示する。アドレス変換手段17は、バースト制御手段18からの指示によって、転送アドレス保持手段11で示される転送アドレスからDRAMへの転送アドレスに変換又は生成する。パディング手段19は、転送データ保持手段14で示される転送ライトデータにパディングデータの付加を行う。
テーブル制御手段15は、次のように動作する。キャッシュメモリ(DRAM)への転送要求を検出したとき、転送アドレス保持手段11内の転送アドレスを元に管理テーブル16内のエントリを索引し、転送アドレスが含まれているバーストアドレス空間を検索する。バーストアドレス空間を検出すると、そのバーストアドレス空間に対応する完了フラグを読み出す。
バースト制御手段18は、次のように動作する。管理テーブル16から読み出された完了フラグと転送コマンド保持手段13内の転送コマンドとを参照し、転送アドレスを含んだバーストアドレス空間の初期化処理が完了しているか判定を行い、転送要求の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう、アドレス変換手段17及びパディング手段19に対し指示を行う。また、完了フラグが初期化未完了であることを示している場合、その初期化未完了であるバーストアドレス空間へのデータライト動作(=初期化)が完了したら、管理テーブル16内のバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に指示する。
次に、キャッシュメモリ制御装置10の各構成要素について更に詳しく説明する。
転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14は、それぞれキャッシュメモリへの転送要求の各情報であるアドレス、レングス、コマンド及びデータを保持する。転送アドレス保持手段11は、データ転送するDRAMエリアを示すアドレス指定を示す。転送コマンド保持手段13は、DRAMへの転送種類であるリード、ライト等を示す。転送レングス保持手段12は、転送コマンド保持手段13で指示されているリード、ライト要求と、転送アドレス保持手段11で指定されている転送アドレスで指示される転送データとの長さを示す。管理テーブル16は、実装されているキャッシュメモリ空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間への初期化動作を行ったか否かを示す完了フラグとを管理する。テーブル制御手段15は、転送要求(転送アドレス等)を検出すると、その転送アドレスから管理テーブル16を索引し、対応したバーストアドレス空間と完了フラグの読み出しを行う。
バースト制御手段18は、次のように動作する。管理テーブル16からの完了フラグの参照と同時に、転送コマンド保持手段13で保持されている転送コマンドの種別判定を行い、転送要求されている転送アドレスが対象としているアドレス空間のDRAMデータの初期化が完了しているか否かの判別を行う。その判別結果を元にアドレス変換手段17及びパディング手段19に対して、転送要求された各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう指示を出す。完了フラグが初期化・未完了を示している時、その未完了であるアドレス空間へのデータライト動作(初期化)が完了すると、管理テーブル16の該当するバーストアドレス空間に対応する完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に指示する。
図2に示すように、管理テーブル16内には、実装されているキャッシュメモリ空間をDRAMのバースト長で分割したバーストアドレス空間と、そのバーストアドレス空間への初期化(バーストライト)処理を実施したか否かを示す完了フラグとが管理される。完了フラグは、バーストアドレス空間と1対1に対応付けて管理され、対応したバーストアドレス空間に対して、一度でもバーストライト(DRAMデータの初期化)が行われれば、“未完了”から“完了”というステータスに変更される。また、電源投入時又は未バーストライト(未初期化)時のバーストアドレス空間の完了フラグは、“未完了”というステータスを示している。なお、原理的に“完了”ステータスから“未完了”ステータスへの変更は行わない。
次に、キャッシュメモリ制御装置10の全体の動作について更に詳しく説明する。
キャッシュメモリへの転送要求が発生した場合、転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14は、それぞれキャッシュメモリへの転送要求の各情報であるアドレス、レングス、コマンド及びデータを保持する。
テーブル制御手段15は、次のように動作する。転送要求を検出したら、転送アドレス保持手段11内の転送アドレスを元に管理テーブル16内のエントリを索引し、転送アドレスを包括しているバーストアドレス空間を検索する。そして、転送アドレスを含むバーストアドレス空間を検出した後、そのバーストアドレス空間のエントリから完了フラグを読み出す。
バースト制御手段18は、次のように動作する。管理テーブル16から読み出された完了フラグを参照し、完了フラグが“未完了”、かつ転送コマンド保持手段13内の転送コマンドがライト転送である場合、転送アドレス保持手段11、転送レングス保持手段12、転送コマンド保持手段13及び転送データ保持手段14内の各情報をDRAMのバースト長に合わせた転送アドレス/レングス/データに変換又は生成するよう、アドレス変換手段17及びパディング手段19に対し指示を行う。転送アドレスは、DRAMのバースト長でアドレス境界が決定される。転送レングスは、DRAMのバースト長の定数倍になるレングスに伸張及び変換される。同時に、パディング手段19に対して、伸張されたレングスを満たすよう、転送要求時のライトデータにパディングデータを付加及び変換するようデータパディングの指示を行う。
パディング手段19は、バースト制御手段18からの指示で転送要求のライトデータにパディングデータを付加し、バーストレングス分のデータサイズに伸張及び変換する。アドレス変換手段17も、バースト制御手段18からの同様の指示で、DRAMバースト長で決定したアドレス境界を元にDRAMアクセス時のアドレスを生成する。各手段で変換又は生成されたアドレス、レングス、データ及びコマンドがDRAMアクセス情報となり、DRAM(キャッシュメモリ)へのデータ転送が行われる。
バースト制御手段18は、完了フラグが“未完了”のとき、そのバーストアドレス空間に対するデータ転送(初期化動作)を行った場合、そのバーストアドレス空間に対応した完了フラグを“未完了”から“完了”に変更するよう、テーブル制御手段15に通知を行う。一方、完了フラグが“完了”を示しているとき、対応するバーストアドレス空間のDRAMデータ初期化は完了している。そのため、その後、バーストアドレス空間に含まれる転送アドレスの転送要求が発生したとしても、バースト制御手段18は、アドレス変換やデータパディングは行わず、転送要求されたアドレス、レングス、データでキャッシュメモリへのデータ転送を行う。
図3は、キャッシュメモリ制御装置10の動作を説明するためのブロック図である。図4は、図3に示す動作において用いられる管理テーブル161を示す図表である。以下、キャッシュメモリ制御装置10の全体の動作についてより具体的に説明する。
図3及び図4は、DRAMバースト長が8バイト×4サイクルの32バイトというDRAM設定時に、キャッシュメモリへの転送要求が発生した場合である。このとき、転送アドレスは512バイト目、転送レングスは16バイト、転送コマンドはライトとし、キャッシュメモリのデータ初期化は全領域において実施されていないと仮定する。
キャッシュメモリへの転送要求20として転送アドレス21、転送レングス22及び転送コマンド23を受け、ライトデータ24はレングス分である16バイトを受ける。テーブル制御手段15は、転送要求20を受けたことを契機に、転送アドレス21を元に管理テーブル161のエントリを索引する。転送アドレス21は、512バイトアドレスであるため、管理テーブル161内のバーストアドレス空間としては、エントリ1のアドレス空間に含まれる。合致したバーストアドレス空間のエントリを元に(エントリ1)、完了フラグを読み出す。キャッシュメモリのデータ初期化は行われていないため、完了フラグは“未完了=0”になっている。
バースト制御手段18は、次のように動作する。読み出された完了フラグ、転送コマンド23、転送アドレス21、転送レングス22を参照する。完了フラグが“未完了”かつ転送コマンド23がライトである場合、転送アドレス21と転送レングス22の変換を行うために、アドレス変換手段17及びパディング手段19に対し、変換指示を出力する。このとき、DRAMのバースト設定に合わせ込むように、アドレス変換手段17にアドレス変換(今回の例では変換はない)、転送レングス22を16バイトから32バイトに変換させる。また、ライトデータ24も16バイトのデータに「32バイト−16バイト」分のパディングデータを付加するように、パディング手段19に指示を出す。これにより、DRAMアドレス31、バーストレングス32、転送コマンド33、ライトデータ34のDRAMへの転送情報を生成し、DRAMへの書き込みを行う。
上述では、管理テーブル161の索引した結果、完了フラグは“未完了”として仮定したが、このとき、完了フラグが“完了”であった場合、バースト制御手段18はアドレス変換手段17やパディング手段19に各転送情報の変換は指示しない。したがって、転送要求20で指示された転送アドレス21、ライトデータ24、転送レングス22は変換されずにDRAMアクセス情報30となり、DRAMへの書き込み動作が行われる。
このように、本実施形態では、キャッシュメモリへの転送アドレスを参照し、その転送アドレスから管理テーブルを索引し、完了フラグを読み出し後、これを参照して、要求された転送アドレスのバーストアドレス空間のDRAMデータが初期化されているか否かの判断をし、初期化されていなければ、その転送要求をDRAMのバースト設定に合わせこむようアドレスやレングスを伸張、変換し、また、ライトデータも伸張したレングスに対して、不足データ数分をパディングし、DRAMアクセス情報として準備後、キャッシュメモリ(DRAM)にデータライトすることで、DRAM内データ値が確定していない(未初期化)バーストアドレス空間も通常のライト転送と同時に転送が可能になり、DRAMデータの初期化処理が不要となる。
更に、本実施形態では、キャッシュメモリの全領域をDRAMのバースト長で分割したバーストアドレス空間毎に完了フラグを設けているので、キャッシュメモリの容量に関係なく、DRAMデータの初期化処理が必要なくなるので、キャッシュメモリの復旧動作時において、平均復旧時間を短縮できるという効果もある。
なお、本実施形態のテーブル制御手段や管理テーブルは、ハードウェアで構成している例を示したが、ファームウェアなどで管理、制御してもよい。また、アドレス変換手段やパディング手段に関しても、ファームウェアで構成することができる。
図5は、本発明に係るキャッシュメモリ制御方法の一実施形態を示すフローチャートである。以下、この図面に基づき説明する。
本実施形態のキャッシュメモリ制御方法は、キャッシュメモリ制御装置の第一実施形態における動作に相当する。まず、キャッシュメモリのアドレス空間をDRAMのバースト長で分割して複数のバーストアドレス空間を作成し、それぞれのバーストアドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用意する(ステップ41)。続いて、ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれるバーストアドレス空間及びその完了フラグを、管理テーブルから読み出す(ステップ42)。続いて、読み出された完了フラグが未完了を示すとき(ステップ43)、当該完了フラグに対応するバーストアドレス空間の全体にデータが書き込まれるように転送アドレス及び転送データを変更してキャッシュメモリへ出力するように指示するとともに(ステップ44)、当該完了フラグを完了に書き換えるように指示する(ステップ45)。一方、読み出された完了フラグが完了を示すとき(ステップ43)、転送アドレス及び転送データをそのままキャッシュメモリへ出力するように指示する(ステップ46)。
従来技術では、キャッシュメモリのアドレス空間の全領域に対して、データ初期化を行っていた。これに対し、本実施形態では、そのデータ初期化を行わない代わりに、管理テーブルを用いる。管理テーブルでは、各バーストアドレス空間についてデータ初期化の完了又は未完了を示す、完了フラグを管理する。転送アドレスを含むバーストアドレス空間の完了フラグが未完了であれば、そのバーストアドレス空間に対して転送アドレス及び転送データをそのまま書き込むと、そのバーストアドレス空間に不確定な値のデータ領域が残ることになる。そこで、転送アドレス及び転送データを変更することにより、そのバーストアドレス空間の全体にデータが書き込まれるようにする。この結果、キャッシュメモリのアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリへのデータ転送が可能となる。
図6は、本発明に係るキャッシュメモリ制御装置の第二実施形態における管理テーブルを示す図表である。以下、この図面に基づき説明する。
本実施形態では、その基本的構成は第一実施形態と同じであるが、管理テーブル50について更に工夫している。管理テーブル50内において、エントリ51に対し、バーストアドレス空間52及び完了フラグ54にリード違反フラグ53を加えて合計三つの要素を登録している。バーストアドレス空間52及び完了フラグ54に関する機能は、第一実施形態と同じである。
テーブル管理手段は、転送要求を検出した際、転送アドレスから管理テーブル50のエントリ51を索引し、転送アドレスを含むバーストアドレス空間52のエントリ51を検索し、検出したバーストアドレス空間52に対応した完了フラグ54を読み出す。このとき、バースト制御手段は、転送コマンドがリード要求であり、かつ、読み出した完了フラグが“未完了”であった場合、キャッシュメモリのDRAMデータの初期化が完了していない空間(バーストアドレス空間)に対するリード要求が発生したと認識し、リード違反フラグを、“0”から“1”に変更する。
キャッシュメモリ(DRAMデータ)に誤り訂正符号ECCを付加し、エラー訂正/検出をするキャッシュメモリの場合、DRAMデータを初期化していないアドレスに対し、リード転送を実行すると、訂正不可能エラーが発生してしまう。そのため、通常のキャッシュメモリ転送では、未初期化のアドレス空間にリード転送を行うことはない。このような初期化が完了していないバーストアドレス空間に対するリード要求は、転送制御ファームウェアに不具合がある場合や制御回路の故障が発生した場合に限られる。
このように、本実施形態では、キャッシュメモリへのリード要求が発生した場合、管理テーブルを索引し、完了フラグを読み出すことで、リード要求されている転送アドレスの対象メモリ空間がDRAMデータの初期化が完了していない空間(バーストアドレス空間)であるか否かの判定を行う。これにより、制御ファームエリアの不具合や制御回路の故障を早期に検出でき、高い信頼性を得るという効果が得られる。
本発明に係るキャッシュメモリ制御装置の第三実施形態を示すブロック図である。以下、この図面に基づき説明する。ただし、図1と同じ部分は同じ符号を付すことにより説明を省略する。
本実施形態のキャッシュメモリ制御装置60は、キャッシュメモリへの転送要求である転送コマンドを識別するために、診断コマンド保持手段61を設けている。診断コマンド保持手段61は、キャッシュメモリへの転送要求の1つである診断コマンドを検出する機能を有する。診断コマンドとは、通常のリード、ライト転送とは異なり、DRAMのソフトエラー発生の有無を試験するためのコマンドであり、通常のリード/ライト転送と混在しながら転送され、キャッシュメモリの予防診断機能として利用されている。
まず、最初に診断コマンド保持手段61の無い場合において、診断コマンドを受けた際の動作を説明する。診断コマンドの検出と同時に転送アドレスも検出され、それらの診断コマンド要求の各情報を元に、キャッシュメモリ(DRAM)からデータとECCが読み出され、読み出されたデータとECCの整合性がチェックされる。読み出されたデータとECCの整合性チェックで、訂正可能エラーが検出された場合は、読み出したデータ又はECCの訂正を行い、訂正したデータとECCを再びキャッシュメモリに書き込む。訂正不可能エラーを検出した場合、再書き込みは行われない。
以上のように、診断コマンドを検出したときの動作は、DRAMから一旦データを読み出す必要があるため、診断要求(コマンド)の対象となるアドレス空間のDRAMは、必ず初期化を完了させておく必要がある。また、診断コマンドの対象となるアドレスは、通常のリード、ライト転送で使用されたか否かに関わらず、診断対象として選ばれる。そのため、DRAMデータの初期化転送しか実施されていないアドレス空間に対して、診断コマンドが発行される場合がある。
次に、診断コマンド保持手段61を採用している場合の動作説明を行う。基本的に転送要求の検出から完了フラグの読み出しまでは、上述した第一実施形態の動作と同様である。バースト制御手段18は、転送アドレスを含むバーストアドレス空間の完了フラグが読み出されたとき、診断コマンド保持手段61内に診断コマンドが存在するか否かのチェックを行う。
診断コマンドが存在していた場合、完了フラグの“完了”又は“未完了”のステータスを元にDRAMへの診断転送を実施する。完了フラグが“完了”を示す場合、診断対象となっている転送アドレスのDRAM内データは初期化が既に完了しているため、通常の診断動作(データ及びECC読み出し後、整合性チェック)を行う。
一方、完了フラグが“未完了”を示している場合、バースト制御手段18は、転送アドレス保持手段11で保持されている転送アドレスをDRAMバースト長に合わせ込んだ後、一旦DRAMにデータをライトする。診断コマンド時、転送要求にはライトデータが付随していない。そのため、パディング手段19は、DRAMのバースト長分のライトデータ(ダミーデータ)を生成し、ライト転送する。バースト制御手段18は、ダミーデータのライト動作が終了後、すぐに同アドレスのリード転送を行い、直前にライトしたデータとECCを読み出し、整合性チェックを行う。整合性チェック後の動作は、上述した動作と変わりはない。
このように、本実施形態では、通常のリード、ライトコマンドと診断コマンドの判別を行い、診断コマンド時も管理テーブルを参照し、完了フラグを読み出した後、診断コマンドの対象アドレス空間の初期化状況を認識することで、未初期化のアドレス空間に対しても診断動作が可能になるという効果がある。これは、未初期化のアドレス空間に対し、初期化動作と同時に診断動作を行えるということで、通常のリード、ライト転送と診断転送(コマンド)が混在し、通常のデータ転送を行いながら、並行して、初期化処理が行うことが可能となる。
図8は、本発明に係るディスクアレイ装置の第一実施形態を示すブロック図である。以下、この図面に基づき説明する。
本実施形態のディスクアレイ装置70は、ホストアダプタ71、キャッシュメモリコントローラ72、キャッシュメモリ73、ディスクアダプタ74、ハードディスク群75等から成り、ホストコンピュータ群80と接続されている。キャッシュメモリコントローラ72には、前述のキャッシュメモリ制御装置10が一機能として実装されている。
ディスクアレイ装置70によれば、キャッシュメモリ制御装置10を備えたことにより、キャッシュメモリ73のアドレス空間のデータ初期化が不要になるので、起動時などに直ちにキャッシュメモリ73へのデータ転送が可能となる。
なお、ディスクアレイ装置70及びキャッシュメモリコントローラ72におけるキャッシュメモリ制御装置10を除く他の機能は、従来技術と同じであるので、説明を省略する。
本発明に係るキャッシュメモリ制御装置の第一実施形態を示すブロック図である。 図1のキャッシュメモリ制御装置における管理テーブルの一例を示す図表である。 図1のキャッシュメモリ制御装置の動作を説明するためのブロック図である。 図3のキャッシュメモリ制御装置の動作において用いられる管理テーブルを示す図表である。 本発明に係るキャッシュメモリ制御方法の第一実施形態を示すフローチャートである。 本発明に係るキャッシュメモリ制御装置の第二実施形態における管理テーブルを示す図表である。 本発明に係るキャッシュメモリ制御装置の第三実施形態を示すブロック図である。 本発明に係るディスクアレイ装置の第一実施形態を示すブロック図である。
符号の説明
10,60 キャッシュメモリ制御装置
11 転送アドレス保持手段
12 転送レングス保持手段
13 転送コマンド保持手段
14 転送データ保持手段
15 テーブル制御手段
16,161,50 管理テーブル
17 アドレス変換手段
18 バースト制御手段
19 パディング手段
20 転送要求
21 転送アドレス
22 転送レングス
23 転送コマンド
24 ライトデータ
30 DRAMアクセス情報
31 DRAMアドレス
32 バーストレングス
33 転送コマンド
34 ライトデータ、パディングデータ
51 エントリ
52 バーストアドレス空間
53 リード違反フラグ
54 完了フラグ
61 診断コマンド保持手段
70 ディスクアレイ装置

Claims (6)

  1. ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御装置において、
    前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルと、
    ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出すテーブル制御手段と、
    このテーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、前記テーブル制御手段で読み出された完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示するバースト制御手段と、
    前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送アドレスを変換又は生成するアドレス変換手段と、
    前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送データにパディングデータを付加するパディング手段と、
    を備えたことを特徴とするキャッシュメモリ制御装置。
  2. 前記分割アドレス空間は、前記キャッシュメモリのアドレス空間をバースト長で分割したバーストアドレス空間である、
    ことを特徴とする請求項記載のキャッシュメモリ制御装置。
  3. 前記キャッシュメモリがDRAMから成る、
    ことを特徴とする請求項1又は2記載のキャッシュメモリ制御装置。
  4. ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御方法において、
    前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用意し、
    ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出し、
    読み出された前記完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、
    読み出された前記完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示する
    前記完了フラグが未完了を示すときに出力された前記指示によって、前記転送アドレスを変換又は生成し、
    前記完了フラグが未完了を示すときに出力された前記指示によって、前記転送データにパディングデータを付加する
    ことを特徴とするキャッシュメモリ制御方法。
  5. ディスクアレイ装置内に設けられたキャッシュメモリを制御するキャッシュメモリ制御プログラムにおいて、
    前記キャッシュメモリのアドレス空間を分割して複数の分割アドレス空間とし、それぞれの分割アドレス空間ごとにデータ初期化の完了又は未完了を示す完了フラグを管理する管理テーブルを用いるとともに、
    ホストコンピュータ側から出力された転送アドレス及び転送データのうち、当該転送アドレスが含まれる前記分割アドレス空間及びその前記完了フラグを前記管理テーブルから読み出すテーブル制御手段
    このテーブル制御手段で読み出された完了フラグが未完了を示すとき、当該完了フラグに対応する前記分割アドレス空間の全体にデータが書き込まれるように前記転送アドレス及び前記転送データを変更して前記キャッシュメモリへ出力するように指示するとともに当該完了フラグを完了に書き換えるように指示し、前記テーブル制御手段で読み出された完了フラグが完了を示すとき、前記転送アドレス及び前記転送データをそのまま前記キャッシュメモリへ出力するように指示するバースト制御手段、
    前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送アドレスを変換又は生成するアドレス変換手段、並びに、
    前記完了フラグが未完了を示すときに前記バースト制御手段から出力された指示によって、前記転送データにパディングデータを付加するパディング手段、
    としてコンピュータを機能させることを特徴とするキャッシュメモリ制御プログラム。
  6. 請求項1乃至のいずれか1項に記載のキャッシュメモリ制御装置を、
    備えたことを特徴とするディスクアレイ装置。
JP2006097282A 2006-03-31 2006-03-31 キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置 Expired - Fee Related JP4572859B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006097282A JP4572859B2 (ja) 2006-03-31 2006-03-31 キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006097282A JP4572859B2 (ja) 2006-03-31 2006-03-31 キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置

Publications (2)

Publication Number Publication Date
JP2007272551A JP2007272551A (ja) 2007-10-18
JP4572859B2 true JP4572859B2 (ja) 2010-11-04

Family

ID=38675295

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006097282A Expired - Fee Related JP4572859B2 (ja) 2006-03-31 2006-03-31 キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置

Country Status (1)

Country Link
JP (1) JP4572859B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5286796B2 (ja) * 2008-01-17 2013-09-11 日本電気株式会社 メモリ制御装置
JP2010157129A (ja) 2008-12-27 2010-07-15 Toshiba Information Systems (Japan) Corp 半導体記憶装置
WO2016063716A1 (ja) * 2014-10-24 2016-04-28 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリの制御方法
US10877900B1 (en) * 2019-06-26 2020-12-29 Western Digital Technologies, Inc. Enabling faster and regulated device initialization times

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173166A (ja) * 1987-12-28 1989-07-07 Hitachi Ltd 演算処理方式
JPH076063A (ja) * 1993-06-08 1995-01-10 Internatl Business Mach Corp <Ibm> 記憶ダンプ作成方法及びシステム、情報捕捉方法及びシステム、並びに記憶ダンプ提供方法及びシステム
JP2002297455A (ja) * 2001-03-29 2002-10-11 Fujitsu Ltd 記憶装置のデータ領域間複写処理方法、及び記憶システム
JP2005321854A (ja) * 2004-05-06 2005-11-17 Hitachi Ltd ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01173166A (ja) * 1987-12-28 1989-07-07 Hitachi Ltd 演算処理方式
JPH076063A (ja) * 1993-06-08 1995-01-10 Internatl Business Mach Corp <Ibm> 記憶ダンプ作成方法及びシステム、情報捕捉方法及びシステム、並びに記憶ダンプ提供方法及びシステム
JP2002297455A (ja) * 2001-03-29 2002-10-11 Fujitsu Ltd 記憶装置のデータ領域間複写処理方法、及び記憶システム
JP2005321854A (ja) * 2004-05-06 2005-11-17 Hitachi Ltd ストレージシステム、コンピュータシステム、およびストレージシステムの設定方法

Also Published As

Publication number Publication date
JP2007272551A (ja) 2007-10-18

Similar Documents

Publication Publication Date Title
KR101964207B1 (ko) 데이터 메모리 디바이스 및 인터페이스 에러 검출 및 처리 논리를 갖는 제어기
TWI444825B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
US7647544B1 (en) Disk drive implementing data path protection without writing the error detection code data to the disk
US7984325B2 (en) Storage control device, data recovery device, and storage system
US9223648B2 (en) Memory storage device, memory controller thereof, and method for processing data thereof
CN111008156B (zh) 存储设备和操作存储设备的方法
US11157357B2 (en) Operation methods of memory system and host, and computing system
US10606696B2 (en) Internally-generated data storage in spare memory locations
TWI396202B (zh) 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
US9519436B1 (en) Memory erasing method, memory controller, and memory storage apparatus
JPH1153266A (ja) 半導体記憶装置およびその制御方法
TW201003662A (en) Memory malfunction prediction system and method
US8839072B2 (en) Access control apparatus, storage apparatus, and method
US8301981B2 (en) Data access method for flash memory and storage system and controller thereof
TWI473103B (zh) 快閃記憶體儲存裝置及其不良儲存區域的判定方法
JP2006164319A (ja) 不正データを検出するための装置、方法、及びプログラム
JP2008262325A (ja) メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体
JP4572859B2 (ja) キャッシュメモリ制御装置、方法及びプログラム並びにディスクアレイ装置
TWI526818B (zh) 休眠模式啓動方法、記憶體控制電路單元及儲存裝置
TWI509615B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US8966161B2 (en) Memory storage device and restoring method thereof
JP4956230B2 (ja) メモリコントローラ
TWI467364B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
TWI512623B (zh) 休眠模式啓動方法、記憶體控制電路單元及儲存裝置
JP6318769B2 (ja) ストレージ制御装置、制御プログラム、および制御方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100323

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100520

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees