JP2006134196A - ディスクアレイ装置 - Google Patents
ディスクアレイ装置 Download PDFInfo
- Publication number
- JP2006134196A JP2006134196A JP2004324560A JP2004324560A JP2006134196A JP 2006134196 A JP2006134196 A JP 2006134196A JP 2004324560 A JP2004324560 A JP 2004324560A JP 2004324560 A JP2004324560 A JP 2004324560A JP 2006134196 A JP2006134196 A JP 2006134196A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- unit
- access
- memory device
- diagnosis
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
【課題】 ディスクアレイ装置で制御装置に有するメモリデバイスに対する通常アクセスの性能を保ちつつメモリデバイスの診断を行い、メモリデータの信頼性を向上する。
【解決手段】 ディスクドライブと制御装置とを有するディスクアレイ装置で、制御装置は、キャッシュ部1を有し、キャッシュ部1は、メモリデバイス3とメモリ制御部2とを有する。メモリ制御部2は、メモリアクセス状態監視部8でメモリアクセス状態を監視し、メモリデバイス3に対する通常のアクセスが行われていない時間に、診断要求を発行して、メモリデバイス3に対してメモリデータの診断のためのアクセスを実行し、メモリデバイス3から読み出されたデータの内容をECCを用いてチェックしてデータ故障を検出する。
【選択図】 図3
【解決手段】 ディスクドライブと制御装置とを有するディスクアレイ装置で、制御装置は、キャッシュ部1を有し、キャッシュ部1は、メモリデバイス3とメモリ制御部2とを有する。メモリ制御部2は、メモリアクセス状態監視部8でメモリアクセス状態を監視し、メモリデバイス3に対する通常のアクセスが行われていない時間に、診断要求を発行して、メモリデバイス3に対してメモリデータの診断のためのアクセスを実行し、メモリデバイス3から読み出されたデータの内容をECCを用いてチェックしてデータ故障を検出する。
【選択図】 図3
Description
本発明は、ハードディスクドライブ(HDD)等の記憶装置と前記記憶装置の提供する記憶領域に対するデータの記憶を制御する制御装置(コントローラ)とを有するディスクアレイ装置に関し、特に、制御装置に有するメモリデバイスについての診断を行う技術に関する。
ディスクアレイ装置では、その制御装置において、多くのメモリデバイスを搭載したメモリ基板(メモリ部)を使用している。前記メモリ基板としては、代表的にはキャッシュ部などがある。前記メモリデバイスとしては、例えばSDRAM(Synchronous DRAM)などがある。制御装置に有するキャッシュ部は、制御装置のメインメモリとして機能し、処理データを記憶する。制御装置のキャッシュ部は、ディスクアレイ装置における通常のアクセスの動作において、例えば制御装置に通信接続されるホスト装置とHDDとの間でのデータ入出力において、転送データの一時的な格納などのために使用される。前記通常のアクセスで、例えば、ホスト装置からの要求に従って制御装置がHDD上の記憶領域に対してデータをリード/ライトする場合において、リード/ライトデータ等の格納のためにキャッシュ部のメモリデバイスに対してアクセスが行われる。なお、ディスクアレイ装置の技術では、制御装置に設けたメモリ部のメモリデバイスと、制御装置に接続されRAID制御の対象となるHDD等の記憶装置とでは、役割や求められる性能が異なる。
ディスクアレイ装置の性能向上を実現するために、前記制御装置に有するメモリデバイスに記憶されるデータの信頼性の向上に対する要求は大きい。そのために、メモリデバイスのデータに故障が無く正常かどうか、メモリデバイスに対する入出力信号が安定しているかどうかなどを、何らかの手段で診断することが要求される。
また一方、ディスクアレイ装置の工場出荷時には、装置の温度や電圧を変動させて正常動作を確認する試験が行われている。特に、キャッシュ部に対しても、電圧などの特性を動作仕様範囲内で変動させて正常動作を確認するマージン試験が行われている。
特許文献1には、メモリの診断を行う技術として、テストデータを保持して、これとメモリから読み出したテストデータとを比較する方式について記載されている。
特開平8−212145号公報
ディスクアレイ装置で、制御装置に有するメモリデバイスのデータの信頼性を向上するために、メモリデバイスの診断を行う機能が要求される。特に、従来と比較して今後のメモリデバイスは、大容量化に伴うメモリセル微細化の影響による経年劣化などにより、通常動作中のメモリデータの故障が多く発生する可能性がある。そのため、このようなケースを想定して、メモリデバイスに対する診断の動作により事前にメモリデータの故障を検出する機能が要求される。
また、前記メモリデバイスの診断を行いながらも、メモリデバイスに対する通常のアクセスの性能を保つことも要求される。診断方法としては、従来、制御装置内のプロセッサ及びプログラムで、キャッシュ部のメモリデバイスに対してデータリードコマンドを送信してそのリードデータの内容をチェックすることにより、ソフトウェア的にメモリデバイスのデータの診断を行うことは可能であった。
しかし、前記従来の診断方法の場合、制御装置において或るプロセッサで診断のためのメモリアクセスを行うと、他のプロセッサでの通常のメモリアクセスの動作に影響を与えてしまい、性能低下に繋がる。すなわち、同一パスに対して診断のメモリアクセスと通常のメモリアクセスとの使用要求が発生した場合に、パス上でのアクセスの競合により、通常のアクセスにおけるデータ転送スループットの性能が低下してしまう。そのため、通常動作中にメモリデバイスにおける全面すなわち全アドレスの格納データについての診断を行うことは困難である。また、前記ソフトウェア的に診断を行う場合、データ故障についてのチェックは可能であるが、マージン試験は不可能である。従来、マージン試験を通常動作時に実行可能な機能を備えたディスクアレイ装置は提供されていない。
また、前記特許文献1に記載の技術をディスクアレイ装置に適用した場合、通常のメモリアクセスと診断のメモリアクセスとで競合が発生して前記診断方法と同様に通常動作の性能が低下すると考えられる。
本発明は以上のような問題に鑑みてなされたものであり、その目的は、ディスクアレイ装置で、制御装置に有するメモリデバイスに対する通常のアクセスの性能を保ちつつメモリデバイスの診断を行うことができ、メモリデバイスに記憶されるデータの信頼性を向上することができる技術を提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。前記目的を達成するために、本発明のディスクアレイ装置は、HDD等の記憶装置と前記記憶装置に対するデータの記憶を制御する制御装置とを有し、RAID制御を行うことが可能な装置であって、以下に示す技術的手段を備えることを特徴とする。
(1)本発明のディスクアレイ装置は、制御装置に、キャッシュ部などのメモリ部を有し、前記メモリ部は、SDRAMなどのメモリデバイスと、前記メモリデバイスに対するデータ入出力などの制御を行うメモリ制御回路などのメモリ制御部とを有する構成である。前記メモリ部は、例えばメモリ基板などの形態で実装され、メモリ基板に対してメモリデバイスが増減可能に接続される構成である。制御装置におけるメモリ部に対する通常のアクセスでは、制御装置内に有する処理部、例えば、ホスト装置とのインタフェース部(チャネル制御部)や記憶装置とのインタフェース部(ディスク制御部)などから、パスを使用してメモリ部に対してメモリアクセスのコマンド等が送信される。
本構成において、メモリ部に、メモリデバイスの診断を行う手段(第1の診断手段)を設ける。前記第1の診断手段は、特にメモリ部内のメモリ制御回路において、メモリデバイスに対する自動的な診断のアクセスを行う診断機能として、ハードウェア論理回路で実現される。ディスクアレイ装置の動作中に、制御装置でメモリ部のメモリデバイスに対するデータリード/ライト等の通常のアクセスが行われる一方、メモリ部で、前記第1の診断手段により、メモリデバイスに対して通常のアクセスを阻害しないタイミングで自動的に診断のためのアクセスを行って、メモリデバイスに記憶されているデータのチェックを行う診断処理が行われる。
前記第1の診断手段は、メモリデバイスに対する通常のアクセスが行われていない状態(非メモリアクセス状態と称する)の時に診断を実行するように診断のアクセスの実行タイミングを制御する。前記第1の診断手段は、メモリ部の外部からのメモリアクセス状態を監視し、メモリアクセス状態の認識や判断に基づき、メモリデバイスに対する通常のアクセスが行われていない時間(非メモリアクセス時間と称する)に、メモリデバイスに対して、メモリデバイスに記憶されているデータの診断のための、リードコマンド等によるアクセスを実行する。そして、第1の診断手段は、前記診断のためのアクセスに応じてメモリデバイスから読み出されたデータの内容を、ECC(Error-Correcting Code:誤り訂正符号)等の手段を用いて、データ故障(エラー)が無いかどうかチェックして、データ故障が有れば検出する。
前記非メモリアクセス時間は、すなわち通常のアクセスによる処理が行われている時間の間に発生する空き時間であり、メモリ制御回路は、この非メモリアクセス時間内において非メモリアクセス状態である時点を、前記診断のアクセスの実行タイミングとする。
前記メモリアクセス状態の監視は、例えば、メモリ部の外部のパス側からのリード/ライトコマンド等のメモリアクセスのコマンドをメモリ制御回路で受信することによる。前記メモリ制御回路は、前記非メモリアクセス時間及び診断実行タイミングに係わる判断で、例えばメモリ制御回路での受信コマンドに基づき、確実な空き時間を認識するか、あるいは、メモリアクセスと非メモリアクセスにおけるアクセスの頻度や処理時間の比などから非メモリアクセスを統計的に予測する判断などを行う。
前記診断のアクセスにおける処理は、例えば、メモリ制御回路で前記メモリアクセス状態の監視に基づき、メモリアクセスのコマンドを受信していない場合に、診断の内容やタイプに応じた診断要求を発行して、診断要求に基づき診断のためのコマンドとアドレスをメモリデバイスに出力する処理と、メモリデバイスで前記診断のためのコマンドとアドレスに従って読み出されメモリ制御回路に応答として出力されたデータを、ECC等の手段を用いてチェックする処理とを含む。
前記診断処理で、ECCを用いてチェックを行う構成では、メモリデバイスに対するデータライト時に、メモリ制御回路で、ライトデータに対するECCを生成して、ECCを付加したデータをメモリデバイスにライトする。そして、メモリ制御回路は、前記診断のアクセスで、ECCが付加されたデータをメモリデバイスからリードし、ECCによりデータ内容のチェックを行う。メモリ制御回路は、前記チェックによりエラーを検出した場合、そのエラーステータスを報告する。また、前記チェックで検出したエラーが訂正可能なエラーであるなら、そのエラーについて訂正処理して、訂正された正常なデータを、メモリデバイスに再書き込み処理する。また前記チェックで検出したエラーが訂正不可能なエラーであるなら、そのエラーステータスを報告する。メモリ制御回路は、例えば、前記エラーステータスを、メモリ制御回路内に有するエラーステータス格納レジスタに格納する。
また、前記第1の診断手段は、前記診断のためのアクセスで、前記非メモリアクセス時間内において診断のアクセスを実行するが、その診断のアクセスに対応した診断処理中に通常のアクセスが発生した場合、すなわち通常のアクセスに対応したメモリアクセスのコマンドをメモリ制御回路で受信した場合には、その時実行している診断処理を停止して、通常のアクセスの処理を優先して実行する。
前記メモリ制御回路は、より詳しくは、例えば、コマンド/アドレス/データ/ステータス等の各データを入出力及び転送するためのバス、各データを蓄積するバッファ、各データの方向を変えるセレクタ、メモリデバイスに対するアクセスに係わるコマンド/アドレスを解析する解析部、前記解析されたコマンドを受信することでメモリアクセス状態を監視し、診断実行タイミングを制御する監視部(メモリアクセス状態監視部)、前記解析部からコマンド/アドレス要求を入力してメモリデバイスに対して通常のコマンド/アドレスを出力し、また前記監視部から診断要求を入力してメモリデバイスに対して診断のためのコマンド/アドレスなどを出力するメモリコマンド出力部、メモリデバイスへのライトデータに対するECCの生成・付加を行うECC生成部、メモリデバイスからのリードデータに対するECCによる誤り検出や訂正やエラー報告などの処理を行うECC誤り検出/訂正部、診断に関するエラーステータスなどのログ情報を格納するレジスタ(エラーステータス格納レジスタ)などから構成される。
(2)また、本発明の他のディスクアレイ装置は、前記(1)と同様に、制御装置に、メモリ部を有し、メモリ部がメモリデバイスとメモリ制御回路などのメモリ制御部とを有する構成において、メモリ部に、メモリデバイスについてマージン試験を含む診断を行う手段(第2の診断手段)を設ける。前記第2の診断手段は、特にメモリ部内のメモリ制御回路において、メモリデバイスに対する自動的なマージン試験による診断のアクセスを行う機能として、ハードウェア論理回路で実現される。ディスクアレイ装置の動作中に、制御装置でメモリ部のメモリデバイスに対するデータリード/ライト等の通常のアクセスが行われる一方、メモリ部で、前記第2の診断手段により、メモリデバイスに対して通常のアクセスを阻害しないタイミングで自動的にマージン試験による診断のためのアクセスを行って、メモリデバイスに記憶されているデータのチェックを行う処理が行われる。
前記第2の診断手段は、非メモリアクセス時間に、メモリデバイスに対して、メモリデバイスのデータ入出力に係わる振幅などの特性の条件や値を動作仕様範囲内で変動させる、マージン試験のためのアクセスを実行し、前記メモリデバイスからの前記変動に応じた応答をチェックして、動作仕様範囲におけるマージン不足や基準値からのズレなどにより発生するエラーを検出する。前記マージン試験のためのアクセスでは、メモリデバイスのデータ入出力に係わる1つ以上の特性に関して条件や値を変動させる制御を行う。そして、メモリデバイスからの前記変動に応じた応答をメモリ制御回路でチェックすることによって、データ入出力における正常性や安定性を確認する。メモリ部は、各特性の変動制御のために必要な機能をすべて備えた構成でもよいし一部のみ備える構成でもよい。
例えば、前記マージン試験のためのアクセスで、変動制御する対象となる特性として、メモリ制御回路とメモリデバイスの間でのデータ入出力における、入出力信号の振幅、閾値(基準値)レベル、DLL(Delay Locked Loop)設定、供給クロックの周波数、供給電源の電圧レベル、出力バッファ駆動、終端抵抗値などがある。メモリ制御回路は、メモリデバイス、またはメモリデバイスとメモリ制御部、またはその他のクロック生成部などの部分に対して、上記特性を変動させるための要求や制御信号を出力してその条件や値を変動させる。
メモリ制御回路では、例えば、メモリアクセス状態の監視を行う監視部から監視に基づく診断実行タイミングで診断要求を発行し、メモリコマンド出力部が、監視部から受信した診断要求に基づき、メモリデバイスやメモリ制御回路に対して、各種特性についてのマージン試験のための要求や制御信号を出力する。
(3)また、本発明の他のディスクアレイ装置は、制御装置に、メモリ部を有し、メモリ部がメモリデバイスとメモリ制御回路などのメモリ制御部とを有する構成において、制御装置内で、メモリ部とメモリ部の外部に跨って、メモリデバイスの診断を行う手段(第3の診断手段)を設ける。制御装置は、例えば、前記メモリ部、前記チャネル制御部、前記ディスク制御部、制御装置内の各処理部をパスで接続するスイッチ部などの処理部により構成される。制御装置の処理部におけるメモリ部に対する通常のアクセスでは、チャネル制御部などから、スイッチ部による制御に基づき接続されるパスを使用してメモリ部に対してメモリアクセスのコマンド等が送信される。
前記第3の診断手段は、特に、制御装置内でメモリ部の外部に設けられメモリアクセス状態の監視とメモリアクセスの制御とを行う診断管理部(メモリアクセス状態監視/制御部)と、前記診断管理部からの制御に従ってメモリデバイスに対する診断のアクセスを実行するメモリ制御部とにおいて、メモリデバイスに対する自動的な診断のアクセスを行う機能として、ハードウェア論理回路で実現される。また、前記診断管理部は、特に、スイッチ部に接続または内蔵される部分として設けられる。
ディスクアレイ装置の動作中に、制御装置でスイッチ部を介してメモリ部のメモリデバイスに対するデータリード/ライト等の通常のアクセスが行われる一方、前記第3の診断手段における前記診断管理部が、スイッチ部を介してメモリデバイスに対して通常のアクセスを阻害しないタイミングで自動的に診断のためのアクセスを行う。前記診断管理部は、例えばスイッチ部を介してメモリ制御部へと診断要求の送信を行って、メモリ制御部で、診断要求に基づきメモリデバイスにアクセスすることにより、メモリデバイスに記憶されているデータのチェックを行う処理が前記(1)などの場合と同様に行われる。
前記診断管理部は、スイッチ部における複数のパスの使用状況や、メモリアクセスのコマンドの受信などに基づき、制御装置内の処理部からのメモリアクセスの状態を監視する。前記診断管理部は、前記監視により、非メモリアクセス時間を判断し、診断実行タイミングを制御する。また、診断管理部は、診断のためのアクセスに関連して、スイッチ部からのメモリ部に対するアクセスを制御する。
また、第3の診断手段は、メモリ部のメモリデバイスの状態やメモリアクセスの状態などに応じて自動的に、診断のためのアクセスの頻度を増減したり、通常のアクセスの頻度を増減する制御を行う。すなわち、診断管理部は、対象のメモリデバイスに対する前記診断要求の発行の頻度を増加させた診断のアクセスを実行する。あるいは、第3の診断手段は、診断要求により各種タイプの診断を選択して実行する等の制御を行う。あるいは、第3の診断手段は、複数のメモリデバイスを有する構成において特定のメモリデバイスに対する診断のみ実行したり、所定の時間だけ診断のアクセスを実行する等の制御を行う。
第3の診断手段は、例えば、メモリ部でメモリデバイスの増設や交換などの作業が行われたことにより新たなメモリデバイスが接続された際などに、自動的に、例えば一定期間、その新たに接続されたメモリデバイスに対する診断のアクセスを増加して診断を強化したり、その分通常のアクセスを抑制したりする等の制御を行う。
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。
本発明によれば、ディスクアレイ装置で、制御装置に有するメモリデバイスに対する通常のメモリアクセスの性能を保ちつつメモリデバイスの診断を行うことができ、メモリデバイスに記憶されるデータの信頼性を向上することができる。これにより信頼性を向上したディスクアレイ装置を提供できる。
特に前記課題を解決するための手段における(1)によれば、通常動作中にメモリデバイスのデータをチェック可能であり、事前にデータ故障を検出して更にはデータ修復が可能である。また特に前記課題を解決するための手段における(2)によれば、通常動作中にマージン試験を実行可能である。また特に前記課題を解決するための手段における(3)によれば、積極的にメモリデバイスに対するアクセスを制御して効率的な診断を行うことができる。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
(実施の形態1)
図1〜図7は、本発明の実施の形態1におけるディスクアレイ装置について説明するための図である。実施の形態1では、制御装置20においてメモリデバイス3を有するキャッシュ部1内で、メモリ制御部2に、通常動作中にメモリデバイス3の格納データを自動的に診断する機能を構成する。メモリ制御部2は、メモリデバイス3の診断のために、通常のメモリアクセスが行われていない時間に、メモリデバイス3に対して格納データの正常性のチェックのためのアクセスを実行する。メモリ制御部2は、前記診断のためのアクセスで、リードコマンドによりメモリデバイス3から読み出したデータについてECCを用いてチェックすることで誤りを検出すると共に、誤りが訂正可能であるならば訂正処理を行って、訂正されたデータをメモリデバイス3へ再書き込みする。
図1〜図7は、本発明の実施の形態1におけるディスクアレイ装置について説明するための図である。実施の形態1では、制御装置20においてメモリデバイス3を有するキャッシュ部1内で、メモリ制御部2に、通常動作中にメモリデバイス3の格納データを自動的に診断する機能を構成する。メモリ制御部2は、メモリデバイス3の診断のために、通常のメモリアクセスが行われていない時間に、メモリデバイス3に対して格納データの正常性のチェックのためのアクセスを実行する。メモリ制御部2は、前記診断のためのアクセスで、リードコマンドによりメモリデバイス3から読み出したデータについてECCを用いてチェックすることで誤りを検出すると共に、誤りが訂正可能であるならば訂正処理を行って、訂正されたデータをメモリデバイス3へ再書き込みする。
<ハードウェア構成>
図1は、本発明の実施の形態1のディスクアレイ装置100のハードウェア外観構成を示す斜視図である。ディスクアレイ装置100は、例えば、基本筐体111と複数の増設筐体112とから構成することができる。基本筐体111は、ディスクアレイ装置100の最小構成単位であり、制御装置20が担う制御機能及び記憶装置が担う記憶機能の両方を備えている。制御装置20による制御機能は、上位装置などからの命令に応じて記憶装置に対するデータの記憶を制御する機能である。制御機能では複数の記憶装置に対するRAID制御が可能である。制御装置20は、例えば、機能ごとの制御パッケージ13が相互接続されることにより構成される。記憶機能は、ユーザデータ等のデータを記憶領域に記憶する機能である。本実施の形態の場合、記憶装置としてディスクドライブ40が記憶領域を提供する。増設筐体112は、ディスクアレイ装置100のオプションであり、記憶機能を備え、基本筐体111の制御機能により制御される。例えば、基本筐体111に対して4つの増設筐体112を接続した構成が可能である。各筐体間が通信ケーブルで接続される。
図1は、本発明の実施の形態1のディスクアレイ装置100のハードウェア外観構成を示す斜視図である。ディスクアレイ装置100は、例えば、基本筐体111と複数の増設筐体112とから構成することができる。基本筐体111は、ディスクアレイ装置100の最小構成単位であり、制御装置20が担う制御機能及び記憶装置が担う記憶機能の両方を備えている。制御装置20による制御機能は、上位装置などからの命令に応じて記憶装置に対するデータの記憶を制御する機能である。制御機能では複数の記憶装置に対するRAID制御が可能である。制御装置20は、例えば、機能ごとの制御パッケージ13が相互接続されることにより構成される。記憶機能は、ユーザデータ等のデータを記憶領域に記憶する機能である。本実施の形態の場合、記憶装置としてディスクドライブ40が記憶領域を提供する。増設筐体112は、ディスクアレイ装置100のオプションであり、記憶機能を備え、基本筐体111の制御機能により制御される。例えば、基本筐体111に対して4つの増設筐体112を接続した構成が可能である。各筐体間が通信ケーブルで接続される。
基本筐体111には、複数の制御パッケージ113と、複数の電源ユニット114と、複数のバッテリユニット115と、複数のディスクドライブ40とがそれぞれ着脱可能に設けられている。増設筐体112には、複数の電源ユニット114と、複数のバッテリユニット115と、複数のディスクドライブ40とがそれぞれ着脱可能に設けられている。また各筐体の上部などには、複数の冷却ファン116もそれぞれ設けられている。電源ユニット114は、筐体内各部に対する電源を供給する。バッテリユニット115はバックアップ電源として機能する。冷却ファン116は筐体内の冷却を行う。
制御パッケージ113は、後述のホストインタフェース部(CHA)30やディスクインタフェース部(DKA)34やキャッシュ部1などの各処理部を実現するモジュールである。制御パッケージ113は、機能を実装したボードに、筐体装着のための機械的構造などを加えた構成である。基本筐体111には、制御パッケージ113として、複数のCHAパッケージ、複数のDKAパッケージ及び1つ以上のメモリパッケージ等がそれぞれ着脱可能に設けられ、制御パッケージ113単位で交換可能となっている。各制御パッケージ113は、筐体に設けられているスロットに挿入され、スロット内部で各部相互接続のためのバックプレーンボードに接続される。
その他、ディスクアレイ装置100には、ディスクアレイ装置100の保守・管理のための機能を有する図示しないSVP(サービスプロセッサ)が制御装置20に対して接続され、SVPの処理により各種保守・管理を行うことが可能となっている。
<機能ブロック構成>
図2は、本発明の実施の形態1におけるディスクアレイ装置100の機能ブロック構成及びホスト装置との接続構成を示す。ディスクアレイ装置100は、制御装置20に対してディスクドライブ40が複数接続される構成である。制御装置20は、ディスクアレイ装置100の筐体内で、CHA等の各機能のモジュールが図示しないバックプレーンボードに接続され相互に配線されることにより構成される。
図2は、本発明の実施の形態1におけるディスクアレイ装置100の機能ブロック構成及びホスト装置との接続構成を示す。ディスクアレイ装置100は、制御装置20に対してディスクドライブ40が複数接続される構成である。制御装置20は、ディスクアレイ装置100の筐体内で、CHA等の各機能のモジュールが図示しないバックプレーンボードに接続され相互に配線されることにより構成される。
制御装置20は、ホストインタフェース部(CHAともいう)30、ディスクインタフェース部(DKAともいう)34、スイッチ部(Cパススイッチ)4、キャッシュ部1などの各処理部を有し、各処理部がスイッチ部4及び物理的なバス及びこの上に設定される論理的なパスにより相互接続される。前記パスは、その使用権を与えられた処理部がアクセスに際して使用する。制御装置20で各処理部は必要に応じて複数搭載することが可能である。
ホストCPU300と制御装置20のCHA30は、ファイバチャネル(FC)インタフェース等の所定規格を通じて通信接続される。図2中では1つのホストCPU300しか示していないが、制御装置20に対して複数のホストCPU300を、それぞれのホストインタフェースに対応したCHA30によって通信接続可能である。またDKA34とディスクドライブ40のグループは、FC−AL等の所定規格を通じて通信接続される。スイッチ部4は、CHA30やDKA34とパスで接続され、また、キャッシュ部1とパスで接続される構成である。各処理部及びパスを多重化した構成により、ホストCPU300からディスクドライブ40までのデータパスを多重化した構成が可能である。多重化構成により、処理性能向上や耐障害性などが実現される。図2の場合は特に二重化構成の場合を示している。
CHA34は、ホストインタフェース・プロトコルに従ってホストCPU300との通信処理を行い、キャッシュ部1との間でのデータ転送処理を行う。CHA34は、MP(プロセッサ)31と、チャネルインタフェース回路32と、メモリアクセス制御部33とを有する。特に1つのCHA34内で複数のMP31を備える構成である。CHA34は、ホストインタフェースの種類に応じたものが1つ以上用意される。
MP31は、マイクロプログラムに従って動作し、CHAとしての各種機能を実現する。チャネルインタフェース回路32は、ホストインタフェース・プロトコル、例えばFCプロトコルに従った通信処理を行う。メモリアクセス制御部33は、CHA30からのスイッチ部4を介したキャッシュ部1に対するメモリアクセスを制御する。すなわち、メモリアクセス制御部33は、スイッチ部4での制御を通じて使用権が与えられた、CHA30からキャッシュ部1までのパス上で、キャッシュ部1に対するデータのリード/ライト等を含むメモリアクセスを行う。
DKA34は、ディスクインタフェース・プロトコルに従って1つ以上のディスクドライブ40との通信処理を行い、キャッシュ部1との間でのデータ転送処理を行う。DKA34は、MP(プロセッサ)35と、ディスクインタフェース回路36と、メモリアクセス制御部37とを有する。特に1つのDKA34内で複数のMP34を備える構成である。DKA34は、同じ機能のものが複数用意される。
MP35は、マイクロプログラムに従って動作し、DKAとしての各種機能を実現する。ディスクインタフェース回路36は、ディスクインタフェース・プロトコルに従った通信処理を行う。メモリアクセス制御部37は、CHA30のものと同様に、DKA34からのスイッチ部4を介したキャッシュ部1に対するメモリアクセスを制御する。すなわち、メモリアクセス制御部37は、スイッチ部4での制御を通じて使用権が与えられた、DKA34からキャッシュ部1までのパス上で、キャッシュ部1に対するデータのリード/ライト等を含むメモリアクセスを行う。
キャッシュ部1は、制御装置20においてデータを保持するキャッシュメモリとして使用されるメモリ部であり、特に、キャッシュ部1は、メモリ制御部2とメモリデバイス3とを搭載する1つのパッケージ基板として構成されている。キャッシュ部1に対して、CHA30やDKA34がスイッチ部4を介して通常のメモリアクセスを行い、データをリード/ライトする。メモリ制御部2は、LSIとして実装され、メモリデバイス3を制御するハードウェア論理回路である。メモリデバイス3は、データを記憶するメモリ素子である。メモリデバイス3としては、DRAM、SRAM、フラッシュメモリなどの各種を使用可能である。なお、キャッシュ部1の構成は特にメモリ制御部2とメモリデバイス3とを実装した1枚のパッケージ基板の形態に限らず、例えばメモリ制御部2が別部位に配置・構成された形態なども可能である。
スイッチ部4は、CHA34やDKA35などのプロセッサを有する側のパス(Pパスと称する)と、キャッシュ部1などの側のパス(Cパスと称する)とを接続し切り替える。図2において、Pパスは、スイッチ部4の左側の線が相当し、Cパスは、スイッチ部4の右側の線が相当する。例えば、スイッチ部4、Pパス及びCパスを通じて、CHA30のメモリアクセス制御部33とキャッシュ部1のメモリ制御部2とが1つの論理的なパスで通信可能に接続される。パス上では、各種データや情報がパケットの形で転送される。パケットの種類は、コマンド、アドレス、データ(入出力データ)、ステータスなどがある。例えば、前記コマンドは、リード/ライト等のコマンドであり、前記アドレスは、その対象となるメモリアドレスである。また前記データは、リードデータ/ライトデータ等であり、前記ステータスは、エラー情報などである。なお、制御装置30において、例えば、CHA30等とスイッチ部4の間のPパスを1つのパスとし、スイッチ部4とキャッシュ部1の間のCパスを1つのパスとすると共に、CHA30等からキャッシュ部1までの間でPパスとCパスの接続で構成されるパスも論理的な1つのパスとする。また、キャッシュ部1の内部で、メモリ制御部2のCパス側からメモリデバイス3までの経路も論理的な1つのパスとする。また、図2の二重化構成におけるパスにおいて、実線は第1のキャッシュ部1に対するパスを、点線は第2のキャッシュ部1に対するパスを示している。
ディスクドライブ40は、HDD等の記憶装置及び機械的な部品を含んで構成されるユニットであり、ディスクアレイ装置100の筐体内に装着される。ディスクドライブ40は、DKA34との通信に基づき、物理的な記憶領域すなわちディスク上にデータを記憶する。また、制御装置20によるRAID制御に応じて、複数のディスクドライブ40でRAIDタイプに応じたRAIDグループが構成可能であり、RAIDグループ上に論理的な記憶ボリュームを設定してデータの記憶が可能である。
図2中に示すように、実施の形態1では、キャッシュ部1内で診断処理が完結するように診断手段を構成した形態であり、メモリ制御部2とメモリデバイス3との間のデータ入出力のためのバスを利用して、メモリ制御部2からメモリデバイス3に対するメモリデバイス3の診断のためのアクセスが行われる。また、制御装置20内で、CHA30やDKA34等の処理部からキャッシュ部1のメモリデバイス3に対する通常のアクセスのパス(「通常のパス」)と、診断のためのアクセスのパス(「診断のパス」)とが有る。前記通常のアクセスでは、CHA30等からメモリデバイス3に対するデータのライトやリードなどのアクセスが行われる。前記診断のアクセスでは、メモリデバイス3に対するデータリードによる応答すなわちリードデータを、ECCを用いてチェックするためのアクセスが行われる。
キャッシュ部1内では、メモリ制御部2とメモリデバイス3の間の論理的なパスを有し、このパスが、前記通常のアクセスと診断のためのアクセスとで共用される。そのために、キャッシュ部1内で両パスが一部重なるが、メモリ制御部2で通常のアクセスの空き時間に診断のアクセスを実行する制御が行われるため、診断のアクセスの実行タイミングあるいは処理時間が通常のアクセスのタイミングあるいは処理時間と重ならない。そのため、パス上のアクセスの競合が避けられ、通常のアクセスの処理性能が診断のアクセスにより低下しない。例えばCHA30からのメモリデバイス3に対するデータリード処理におけるスループットも低下しない。
<前提技術との比較>
図11は、本発明の発明者が発明の前提技術として検討した従来のディスクアレイ装置のキャッシュ部の構成例について示す図である。なお従来のディスクアレイ装置における制御装置の構成も前記図2の構成と概略同様であるものとする。以下、前提技術となるキャッシュ部201の構成について、本発明の構成との比較のために説明する。
図11は、本発明の発明者が発明の前提技術として検討した従来のディスクアレイ装置のキャッシュ部の構成例について示す図である。なお従来のディスクアレイ装置における制御装置の構成も前記図2の構成と概略同様であるものとする。以下、前提技術となるキャッシュ部201の構成について、本発明の構成との比較のために説明する。
キャッシュ部201で、メモリ制御部202は、双方向バッファ205、メモリコマンド出力部206、コマンド/アドレス解析部207、ECC生成部209、ECC誤り検出/訂正部210、READ方向のパケットバッファ211,WRITE方向のパケットバッファ212、パス側セレクタ215、リライトセレクタ216などを有する構成である。メモリ制御部202は、パス側セレクタ215及びバスを通じて、インタフェースパス用のバックプレーンボード213に対して接続される。図11において、実線の太線の矢印は、主にデータ系(コマンド、アドレス、データ等)の転送のためのバスを示す。点線の矢印は、制御情報系のバスを示す。
双方向バッファ205は、データの入力と出力を切り替えることが可能なバッファである。すなわち、双方向バッファ205は、メモリデバイス203へのデータライト時には、ECC生成部209からライトデータを入力してバッファリングし、メモリデバイス203へ出力する。また、メモリデバイス203からのデータリード時には、メモリデバイス203からリードデータを入力してバッファリングし、ECC誤り検出/訂正部210へ出力する。
メモリコマンド出力部206は、コマンド/アドレス解析部207からのコマンド/アドレス要求に基づき、メモリデバイス203に対してコマンドとアドレスを出力する回路である。メモリコマンド出力部206で出力されるコマンドは、ライト、リード、リフレッシュ等の各コマンドである。また、メモリコマンド出力部206は、双方向バッファ205に対して、リード/ライト等のコマンドに応じたメモリデータ方向制御を制御信号出力により行う。
コマンド/アドレス解析部207は、メモリ制御部202の外部のパス側からパケットバッファ211で受信したコマンド/アドレスパケットからコマンドとアドレスを抽出し、抽出したコマンドとアドレスを、コマンド/アドレス要求としてメモリコマンド出力部206に対して出力する回路である。また、コマンド/アドレス解析部207は、パス側セレクタ215に対して、リード/ライト等のコマンドに応じたパスデータ方向制御を制御信号出力により行う。
ECC生成部209は、メモリデバイス203への格納対象データすなわちライトデータに対してECCを生成して付加し、双方向バッファ205へと転送する回路である。ECC誤り検出/訂正部210は、双方向バッファ205から転送されたメモリデバイス203の格納データすなわちリードデータについて、付加されているECCからの誤り検出を行ってデータ内容を検証(チェック)する回路であり、誤りを検出した際にそれが訂正可能であれば訂正して、検証後のデータをパケットバッファ212及びリライトセレクタ216へ転送する回路である。前記検証後の誤り無しの正常なリードデータが、パケットバッファ212へ転送される。また、ECC誤り検出/訂正部210は、前記検証後、前記誤り検出して訂正したデータについては、リライト要求をリライトセレクタ216に送ってECC生成部209へと転送する。
パケットバッファ211は、メモリデバイス203へのライト方向のパケットをバッファリングする。パケットバッファ211は、インタフェースパス及びパス側セレクタ215からのデータをバッファリングしてリライトセレクタ216に出力する。また、パケットバッファ211から、コマンド/アドレスパケットが、コマンド/アドレス解析部207に対して出力される。パケットバッファ212は、メモリデバイス203からのリード方向のパケットをバッファリングする。パケットバッファ212は、ECC誤り検出/訂正部210からのデータすなわちリードデータをバッファリングしてパス側セレクタ215及びインタフェースパスに出力する。
インタフェースパス用のバックプレーンボード213は、制御装置20を構成する各制御パッケージ113間の接続を行うボードであり、キャッシュ部201に対するパスの一部を構成するインタフェースパスを有する。バックプレーンボード213での接続を通じて、CHA30、DKA34、スイッチ部4、キャッシュ部1を含む各処理部の間が接続される。なお、制御装置20としては、各部をバックプレーンボード213を介さずに直接に接続した形態なども可能である。バックプレーンボード213のインタフェースパスからメモリデバイス203までの間のデータ入出力のパスは、ライト/リードの双方向のデータパスとなる。
パス側セレクタ215は、パスデータ方向制御に従って、パス側におけるデータ転送のライト/リード方向を切り替えるセレクタである。リライトセレクタ216は、ECC誤り検出/訂正部210で訂正されたデータをリライト要求に従ってメモリデバイス203へと書き込む際の転送データを、前記訂正されたデータと通常のライトデータとで切り替えるセレクタである。
上記キャッシュ部201の構成において、メモリデバイス203の格納データについての従来の診断方法における処理手順について以下説明する。
(1)まず、メモリデバイス203に対する通常のメモリアクセスにおいて、ECCを用いて誤り検出/訂正処理を行っている。ホストCPU300−キャッシュ部201の間でデータ転送を行う場合、CHA30に搭載のMP31は、キャッシュ部201との間での指定されたパスでデータ転送を行う。また、ディスクドライブ40−キャッシュ部201の間でデータ転送を行う場合、DKA34に搭載のMP35は、キャッシュ部201との間での指定されたパスでデータ転送を行う。
(2)キャッシュ部201でCパス側からコマンド/アドレスパケットを受信した場合、コマンド/アドレス解析部207での解析によりコマンド/アドレス要求をメモリコマンド出力部206に出力する。メモリコマンド出力部206でコマンド/アドレス要求に応じてメモリデバイス203に対してコマンド/アドレスを出力する。この際、メモリデータ方向制御信号をメモリコマンド出力部206から双方向バッファ205に出力し、またパスデータ方向制御信号をコマンド/アドレス解析部207からパス側セレクタ215に出力することで、双方向データパスにおけるライト/リードの方向を切り替える。
(3)メモリデバイス203に対するコマンドがデータリードの場合、前記コマンド/アドレスに応じてメモリデバイス203から双方向バッファ205へと出力されたデータすなわちリードデータを、ECC誤り検出/訂正部210でECCを用いてチェックする。
(4)前記ECC誤り検出/訂正部210でのチェックにおいて、誤り訂正可能なエラーを検出した場合、ECC誤り検出/訂正部210は、当該データを訂正処理して、リライト要求信号をリライトセレクタ216に対して出力し、メモリデバイス203に対して前記訂正されたデータの再書き込みを行わせる。すなわち、この再書き込み処理では、メモリデバイス203から一旦読み出したデータについて訂正処理して再びメモリデバイス203へと書き込んでいる。
(5)次に、メモリデバイス203の診断についてであるが、メモリデバイス203に記憶されているデータについての定期的な診断を、制御装置20内のマイクロプログラム及びプロセッサの処理によりソフトウェア的に行うことが可能である。この場合、CHA30のMP31あるいはDKA34のMP35は、定期的な診断のタイミングで、キャッシュ部201までのデータ用パスのうち未使用のパスすなわち通常のメモリアクセスのために使用されていない状態のパスを用いて、キャッシュ部201に搭載のメモリデバイス203からデータリードを行うためのコマンド/アドレスを含んだパケットを送信する。そして、キャッシュ部201で前記パケットを受信して、前記(4)の通りの動作で、前記コマンド/アドレスに対応したメモリデバイス203からのリードデータをチェックする。当該チェックで、エラーを検出した場合すなわち指定アドレスからのリードデータが故障であった場合は、それを示すエラーステータスを、同じパスを用いてキャッシュ部201から前記CHA30やDKA34に対し応答として返す。このようにしてCHA30やDKA34は前記リードコマンドの応答によりメモリデバイス203の格納データの内容をチェック可能である。
従来のディスクアレイ装置では、上記のように制御装置20に有するCHA30等の処理部がソフトウェア的にメモリデバイス203についての診断を行うことは可能であったが、キャッシュ部201のメモリ制御部202で、メモリデバイス203が記憶しているデータの正常性について診断を行うような診断機能は備えていない。また、上記のようにメモリデバイス203の診断をソフトウェア的に行う構成の場合、メモリデバイス203の出力信号の振幅などを変動させるマージン試験までは行われていない。
また、制御装置20内の別プロセッサから、通常のメモリアクセスのために、前記診断のためのパスと同一パスに対する使用要求が発生した場合、パスにおけるアクセスの競合により、当該定期的な診断による通常のアクセスの性能が低下する問題がある。
<キャッシュ部の構成>
図3は、実施の形態1のディスクアレイ装置100が備えるキャッシュ部1の詳細構成を示す。キャッシュ部1は、主にメモリ制御部2とメモリデバイス3を有する構成である。図3中に示す実線の太線の矢印はデータ系(コマンド、アドレス、データ等)の転送のためのバスを示し、点線の矢印は制御情報系のバスを示す。また数字付きで示す矢印は、メモリデバイス3に対する診断のアクセスにおける経路を示す。
図3は、実施の形態1のディスクアレイ装置100が備えるキャッシュ部1の詳細構成を示す。キャッシュ部1は、主にメモリ制御部2とメモリデバイス3を有する構成である。図3中に示す実線の太線の矢印はデータ系(コマンド、アドレス、データ等)の転送のためのバスを示し、点線の矢印は制御情報系のバスを示す。また数字付きで示す矢印は、メモリデバイス3に対する診断のアクセスにおける経路を示す。
キャッシュ部1で、メモリ制御部2は、双方向バッファ5、メモリコマンド出力部6、コマンド/アドレス解析部7、ECC生成部9、ECC誤り検出/訂正部10、READ方向のパケットバッファ11、WRITE方向のパケットバッファ12、パス側セレクタ15、リライトセレクタ16などに加え、メモリアクセス状態監視部(以下、監視部と略称する)8、エラーステータス格納レジスタ14を有する構成である。メモリ制御部2は、パス側セレクタ15及びバスを通じて、インタフェースパス用のバックプレーンボード13に対して接続される。主に、監視部8、メモリコマンド出力部6、ECC誤り検出/訂正部10、及びエラーステータス格納レジスタ14の機能により、診断機能が構成される。双方向バッファ5、メモリコマンド出力部6、コマンド/アドレス解析部7、ECC生成部9、ECC誤り検出/訂正部10、パケットバッファ11,12、パス側セレクタ15、リライトセレクタ16などの各要素は、前記図11で示す従来の各要素と同様の機能を有する。従来と異なる機能については以下で説明する。
メモリコマンド出力部6は、監視部8からの診断要求に基づき、メモリデバイス3に対して診断のためのコマンドとアドレス、その他診断に係わる要求などを出力する機能を備えた回路である。
コマンド/アドレス解析部7は、メモリ制御部2の外部のパス側からパケットバッファ11で受信したコマンド/アドレスパケットからコマンドとアドレスを抽出し、抽出したコマンドとアドレスを、コマンド/アドレス要求としてメモリコマンド出力部6に対して出力すると共に、監視部8に対してメモリアクセスコマンドを出力する回路である。前記コマンド/アドレス解析部7から出力されるメモリアクセスコマンドは、制御装置20におけるキャッシュ部1のメモリデバイス3に対する通常のメモリアクセスに係わるリード/ライト等のコマンド、またはそれに係わりコマンド/アドレス解析部7で生成した情報である。
ECC誤り検出/訂正部10は、診断時に、双方向バッファ5から転送されたメモリデバイス3の格納データすなわちリードデータについて、ECCを用いて誤り検出を行ってデータ内容をチェックする回路であり、誤りを検出した際にそれが訂正可能であれば訂正処理して、チェック後のデータをパケットバッファ12及びリライトセレクタ16へ転送する回路である。前記チェック後の誤り無しの正常なリードデータが、パケットバッファ12へ転送される。また、ECC誤り検出/訂正部10は、前記チェック後、前記誤り検出して訂正したデータについて、リライト要求をリライトセレクタ16に送ってECC生成部9へと転送する。ECC生成部9は、診断時に、ECC誤り検出/訂正部10から、前記訂正されたデータを受け取り、メモリデバイス3に対して出力する。ECC誤り検出/訂正部10は、処理のログ情報をエラーステータス格納レジスタ14に格納する。
リライトセレクタ16は、診断時、ECC誤り検出/訂正部10で訂正されたデータをリライト要求に従ってメモリデバイス3へと書き込む際の転送データを、前記訂正されたデータと通常のライトデータとで切り替えるセレクタである。
バックプレーンボード13のインタフェースパスからメモリデバイス3までの間のデータ入出力のパスは、ライト/リードの双方向のデータパスとなる。当該パスは、制御装置20における通常のメモリアクセスでも本実施の形態1での診断のメモリアクセスでも共通して使用される。
監視部8は、コマンド/アドレス解析部7から受信するメモリアクセスコマンドに基づき、メモリデバイス3に対するメモリアクセス状態を監視する回路である。また、監視部8は、メモリアクセス状態の認識や判断に基づき、メモリデバイス3に対する診断のアクセスの実行タイミングを判定し、前記診断のアクセスの実行タイミングで診断要求をメモリコマンド出力部6に対し出力する回路である。監視部8は、メモリデバイス3に対するメモリアクセス状態の監視により、通常のアクセス時間の空き時間を判断、認識する。また、メモリデバイス3の診断として、メモリデータの正常性すなわちデータ故障が発生していないかどうかのチェックを行う。本チェックは、メモリ制御部2のメモリコマンド出力部6からメモリデバイス3に対してデータリードのコマンド/アドレスを発行してその応答のリードデータをメモリ制御部2でECCを用いてチェックすることによる。
エラーステータス格納レジスタ14は、ECC誤り検出/訂正部10での処理のログ情報を格納するレジスタである。ECC誤り検出/訂正部10は、メモリデバイス3からのリードデータについてチェックにより誤りが検出された場合のエラーステータスを、エラーステータス格納レジスタ14に格納する。エラーステータス格納レジスタ14に格納されたログ情報を読み出すことにより、診断結果が把握可能である。
メモリデバイス3は、キャッシュ部1に対して例えばDIMMの形態で増減可能に接続される。メモリデバイス3は多数のメモリアドレスを有し、メモリデバイス3に対するデータのライトの際は、コマンドと共に前記メモリアドレスが指定され、指定のメモリアドレスの記憶領域に、メモリ制御部2での処理によりECCが付加されたデータが記憶される。また、メモリデバイス3に対するデータのリードの際は、コマンドと共に前記メモリアドレスが指定され、指定のメモリアドレスの記憶領域から、ECCが付加されたデータが読み出される。診断の際は、メモリデバイス3における各メモリアドレスに対する診断が実行される。メモリ制御部2からメモリアドレスの指定を変えて診断のアクセスを実行することで、メモリデバイス3の全面あるいは一部の診断が可能である。
<キャッシュ部での診断処理>
キャッシュ部1の構成において、ディスクアレイ装置100の通常動作中に、メモリデバイス3の格納データについて自動的な診断を実行する処理における処理手順について以下説明する。まず、制御装置20におけるメモリデバイス3に対する通常のメモリアクセスにおいて、メモリ制御部2でECCを用いて誤り検出/訂正処理を行っている。ホストCPU300−キャッシュ部1の間でデータ転送を行う場合、CHA30に搭載のMP31は、キャッシュ部1との間での指定されたパスでデータ転送を行う。また、ディスクドライブ40−キャッシュ部1の間でデータ転送を行う場合、DKA34に搭載のMP35は、キャッシュ部1との間での指定されたパスでデータ転送を行う。前記従来のキャッシュ部201の構成における(1)から(4)に示した処理手順と同様に通常のアクセスの処理が行われる。
キャッシュ部1の構成において、ディスクアレイ装置100の通常動作中に、メモリデバイス3の格納データについて自動的な診断を実行する処理における処理手順について以下説明する。まず、制御装置20におけるメモリデバイス3に対する通常のメモリアクセスにおいて、メモリ制御部2でECCを用いて誤り検出/訂正処理を行っている。ホストCPU300−キャッシュ部1の間でデータ転送を行う場合、CHA30に搭載のMP31は、キャッシュ部1との間での指定されたパスでデータ転送を行う。また、ディスクドライブ40−キャッシュ部1の間でデータ転送を行う場合、DKA34に搭載のMP35は、キャッシュ部1との間での指定されたパスでデータ転送を行う。前記従来のキャッシュ部201の構成における(1)から(4)に示した処理手順と同様に通常のアクセスの処理が行われる。
次に、メモリデバイス3の診断のアクセスについてであるが、メモリデバイス3に記憶されているデータについての診断が、前記制御装置20内のマイクロプログラム及びプロセッサの処理を要さずに、キャッシュ部1内で自動的に実行される。キャッシュ部1のメモリ制御部2は、監視部8の判断に基づき、例えば定期的なタイミングで、診断のアクセスをメモリデバイス3に対して実行する。
(1)まず、キャッシュ部1でCパス側からコマンド/アドレスパケットを受信した場合、コマンド/アドレス解析部7での解析によりコマンド/アドレス要求をメモリコマンド出力部6に出力すると共に、監視部8に対してメモリアクセスコマンドが出力される。
(2)監視部8は、コマンド/アドレス解析部7からのメモリアクセスコマンドを受信して、メモリデバイス3についてのメモリアクセス状態を判断、認識する。その結果、通常のアクセスにおける空き時間すなわち非メモリアクセス時間が有り、通常のアクセスと競合しない場合に、メモリコマンド出力部6に対する診断要求を発行する。診断要求の発行により、キャッシュ部1内の論理的なパスを用いた、メモリデバイス3の格納データのチェックのためのアクセスを実行する。
(3)メモリコマンド出力部6は、監視部8からの診断要求に基づき、メモリデバイス3に対して、メモリデバイス3からデータリードを行うためのコマンド/アドレスを出力する。メモリデバイス3では、メモリコマンド出力部6からのコマンド/アドレスに基づき、指定アドレスの記憶領域から格納データが読み出され、メモリ制御部2とのデータ入出力のバスを介して双方向バッファ5に対して出力される。
(4)メモリ制御部2で、前記コマンド/アドレスに応じてメモリデバイス3から双方向バッファ5へと出力されたリードデータを、ECC誤り検出/訂正部10でECCを用いてチェックする。ECC誤り検出/訂正部10でのチェックで、リードデータにおける誤りを検出した場合は、そのことを示すエラーステータスを、エラーステータス格納レジスタ14に格納する。更に、前記ECC誤り検出/訂正部10でのチェックにおいて、誤りを検出した場合でその訂正が可能な場合は、当該データを訂正処理し、訂正されたデータを出力すると共に、リライト要求信号をリライトセレクタ16に対し出力して、ECC生成部9を介してメモリデバイス3に対し再書き込みさせる。
このようにして、通常のメモリアクセスが行われていない時間に診断のアクセスを実行することにより、メモリデバイス3の格納データの内容をチェック可能である。本チェックにより事前にメモリデータの故障を検出することが可能であり、更にそれが訂正可能な場合には訂正処理して事前のデータ修復が可能である。
監視部8におけるメモリアクセス状態の監視と診断実行タイミングの判断の処理において、通常のメモリアクセスの空き時間が判断される。この監視部8での処理では、例えば、メモリデバイス3に対する通常のメモリアクセスコマンドの受信をもとに、メモリデバイス3に対するリード/ライト等の処理及び時間を考慮して、非メモリアクセス状態である条件のもとで診断要求を発行する。また、監視部8は、メモリデバイス3に対する通常のアクセスの発生頻度やメモリアクセス時間の割合などの計算をもとに、統計的に見てある程度の大きさの空き時間が発生すると予測したタイミングで診断要求を発行するようにしてもよい。また、ある一定の非メモリアクセス時間の経過時に診断要求を発行する等としてもよい。
実施の形態1では、監視部8は、第1の診断処理として、メモリアクセス状態の監視に従って、一定周期の定期的なタイミングで、非メモリアクセス状態である条件で、診断のアクセスを実行する。すなわち前回の診断実行から一定期間経過後に診断のアクセスを実行する。またこれとは別の方法として、監視部8は、第2の診断処理として、メモリアクセス状態の監視に従って、現在時から過去の一定期間における通常のメモリアクセスの時間と非メモリアクセスの時間との比、あるいは、全体における非メモリアクセス時間の比、あるいは時間ではなく頻度の比などを簡単な計算により求め、その値が所定値以上である場合に、非メモリアクセス状態である条件で、診断のアクセスを実行する。監視部8は、通常のメモリアクセスの空き時間あるいは通常のメモリアクセスの頻度が少ない時期を、過去のメモリアクセス状態をもとに統計的に判断する。
<監視部での処理>
図4〜図6は、キャッシュ部1における、特に監視部8でのメモリアクセス状態の監視と診断実行タイミングの判断に係わる処理を示すフロー図である。図4は、監視部8でのメイン動作の処理を示す。図5、図6は、それぞれ、監視部8でのメイン動作に関連して、診断実行タイミングの判断に係わる、前記第1の診断処理と第2の診断処理を示すものである。図5、図6に示す各処理では、特に監視部8における診断要求出力イネーブル信号の出力(ON/OFF)に関する処理を示している。診断要求出力イネーブル信号(以下、イネーブル信号と略称する)は、監視部8からメモリコマンド出力部6に対する診断要求の出力をイネーブル/ディセーブルする信号である。
図4〜図6は、キャッシュ部1における、特に監視部8でのメモリアクセス状態の監視と診断実行タイミングの判断に係わる処理を示すフロー図である。図4は、監視部8でのメイン動作の処理を示す。図5、図6は、それぞれ、監視部8でのメイン動作に関連して、診断実行タイミングの判断に係わる、前記第1の診断処理と第2の診断処理を示すものである。図5、図6に示す各処理では、特に監視部8における診断要求出力イネーブル信号の出力(ON/OFF)に関する処理を示している。診断要求出力イネーブル信号(以下、イネーブル信号と略称する)は、監視部8からメモリコマンド出力部6に対する診断要求の出力をイネーブル/ディセーブルする信号である。
監視部8では、コマンド/アドレス解析部7から入力されるメモリアクセスコマンドに基づきメモリデバイス3に対するメモリアクセス状態を認識する。そして、非メモリアクセス状態の時において、診断要求出力がイネーブル状態である条件のもとで、診断要求をメモリコマンド出力部6に対して出力して、これによりメモリデバイス3に対する診断のアクセスを行わせる。以下、非メモリアクセス状態とは、メモリ制御部2でリード/ライトコマンド等の通常のメモリアクセスコマンドを受信していない状態またはそれに対応する処理が行われていない状態を指す。また、メモリアクセス状態とは、メモリ制御部2で通常のメモリアクセスコマンドを受信している状態またはそれに対応する処理が行われている状態を指す。
図4で、制御装置20及びキャッシュ部1の電源ON(ステップS1)の後、キャッシュ部1において、まず、非メモリアクセス状態(S2)となる。メモリ制御部2でスイッチ部4及びCパス側からメモリアクセスコマンドを受信した場合は(S3−Yes)、コマンド/アドレス解析部7での処理及び監視部8での判断により、メモリアクセス状態(S4)であると認識される。メモリアクセス状態(S4)で、そのメモリアクセスに対応する処理が終了したかが判断され(S5)、終了していない場合は(S5−No)、メモリアクセス状態(S4)が継続される。終了した場合は(S5−Yes)、非メモリアクセス状態(S2)へと戻る。
前記S3で、メモリ制御部2でスイッチ部4及びCパス側からメモリアクセスコマンドを受信していない場合(S3−No)、監視部8における診断要求出力がイネーブル状態かどうか、すなわち前記イネーブル信号のON/OFFにより(S6)、イネーブル状態でない場合は(S6−No)、非メモリアクセス状態(S2)へと戻り、診断を実行しない。イネーブル状態である場合は(S6−Yes)、監視部8からメモリコマンド出力部6に対して診断要求を出力する(S7)。診断要求の出力により、これに対応した診断処理が実行される。
続いて、メモリアクセスコマンドを受信していない場合(S8−No)、前記診断要求の出力(S7)を行って診断処理を行う状態が継続される。この非メモリアクセス状態において、連続的に診断処理を行う処理形態が可能である。また、一定時間の診断処理を行ったら一旦終了するようにする処理形態も可能である。メモリアクセスコマンドを受信した場合は(S8−Yes)、その通常のメモリアクセスを優先させるため、診断要求を停止させ(S9)、メモリアクセス状態(S4)へと戻る。
次に、図5で、監視部8は、第1の診断処理として、一定周期でイネーブル信号を出力する。これにより、一定周期ごとに、すなわち前回の診断のアクセスから一定時間経過したら、診断のアクセスが実行可能な状態となる。前記イネーブル信号の出力の周期を、メモリ制御部2での設定により変動可能としてもよい。
制御装置20及びキャッシュ部1の電源ON(S21)後、監視部8は、まず、イネーブル信号をONにするタイミングをカウントにより決定するためのタイマーを所定値にセットして(S22)、タイマーを動作開始させる(S23)。カウントによりタイマーの値がゼロになるまで待ち(S24)、タイマーの値がゼロになったら(S24−Yes)、監視部8は、イネーブル信号をONにすることにより診断要求出力をイネーブル状態にする(S25)。非メモリアクセス状態になることにより監視部8から診断要求が出力されるまでは、イネーブル状態を維持し(S26−No)、監視部8から診断要求が出力された場合は(S26−Yes)、イネーブル信号をOFFにすることにより、診断要求出力のイネーブル状態を解除、すなわちディセーブル状態にする(S27)。そして、前記S22に戻り、タイマーをリセットして再びタイマーによるカウントを開始する。
次に、図6で、監視部8は、第2の診断処理として、メモリアクセス時間に対する非メモリアクセス時間の比が基準値以上である時に、イネーブル信号を出力する。これにより、或る時点において、統計的な判断から、その直後に非メモリアクセス状態となると推測して、診断のアクセスが実行可能な状態となる。これは前記第1の診断処理に替わるものである。前記判断のための基準値などを、メモリ制御部2での設定により変動可能としてもよい。
制御装置20及びキャッシュ部1の電源ON(S31)後、監視部8は、現在時刻から過去の一定時間前の期間における、メモリアクセス時間に対する非メモリアクセス時間の比(以下、アクセス比と称する)を簡単な計算により求める(S32)。例えば、監視部8で過去のメモリアクセスコマンドの受信の状態を記憶しておくことで、前記アクセス比が計算可能である。監視部8は、その時のアクセス比が所定の基準値以上となるかどうかを判断し(S33)、基準値以上でない場合(S33−No)、診断要求出力をイネーブル状態にはせずにディセーブル状態を維持し、前記S32に戻る。基準値以上となる場合(S33−Yes)、監視部8は、前記イネーブル信号をONにすることにより、診断要求出力をイネーブル状態にする(S34)。続いて、監視部8から非メモリアクセス状態となることにより診断要求が出力されるまではイネーブル状態を維持し(S35−No)、監視部8から診断要求が出力された場合(S35−Yes)、前記イネーブル信号をOFFにすることにより、診断要求出力のイネーブル状態を解除する(S36)。そして、前記S32に戻り、再びアクセス比による判断を行う。
次に、図7(a),(b)は、前記図4〜図6に示す処理に対応した、通常のアクセスと診断のアクセスとの実行例のタイムチャートである。(a)は、前記一定周期でイネーブル信号を出力する第1の診断処理に対応し、(b)は、前記アクセス比に応じてイネーブル信号を出力する第2の診断処理に対応する。
(a)において、信号aの「通常アクセス」は、メモリデバイス3に対するメモリアクセス状態として、通常のメモリアクセスについての状態を、アクセス状態/非アクセス状態として示す。信号bは、イネーブル信号のON/OFFを示す。cの「診断アクセス」は、診断のメモリアクセスについての状態を、アクセス状態/非アクセス状態として示す。以下、図7に示す例について時間を追って説明する。アクセス状態はアクセス時間に、非アクセス状態は非アクセス時間にそれぞれ対応する。なおここでは簡単のため通常アクセス(信号a)と診断アクセス(信号c)における処理時間を同じ大きさで示しているが、実際は処理内容などに応じて増減する。
制御装置20及びキャッシュ部1の電源ON後、メモリ制御部2の監視部8で、タイマーを前記一定周期に対応した値にセットしてカウントが開始される。最初は非メモリアクセス状態である。タイマー値がゼロになると、イネーブル信号をOFFからONにする(信号b)。そして、通常アクセスにおける非アクセス状態であるので(信号a)、監視部8から診断要求を発行して診断アクセスを実行開始する(信号c)。これに伴い、イネーブル信号をONからOFFにし、また、タイマーをリセットしてカウントを開始する(信号b)。所定の時間で、診断アクセスに対応した診断処理が完了する(信号c)。その後、1回目の通常アクセスが発生して、通常のデータ入出力処理が所定の時間で完了している(信号a)。
その後、2回目の通常アクセスが発生して(信号a)、このアクセス状態のアクセス時間の途中でタイマーがゼロになり、イネーブル信号がOFFからONになった場合を示している(信号b)。この場合、まだ通常アクセスの処理が完了していない状態であるので(信号a)、これが完了するまでは診断アクセスは開始されない。前記通常アクセスの処理が完了した後(信号a)、診断アクセスを実行開始する(信号c)。これに伴い、イネーブル信号をONからOFFにし、また、タイマーをリセットしてカウントを開始する(信号b)。
その後、前記診断アクセスでの診断処理の途中で(信号c)、通常アクセスが発生している(信号a)。この時、通常アクセスの処理を優先するので、前記診断処理を途中で停止して(信号c)、通常アクセスの処理を行わせる(信号a)。
(b)において、各信号a,b,cは、(a)と同様に、それぞれ、通常のメモリアクセスについての状態、イネーブル信号のON/OFF、診断のメモリアクセスについての状態を示す。なお信号b、cについては途中からの状態のみを示す。
信号aで、複数回の通常アクセスの発生により、図中に示すようにアクセス状態すなわちアクセス時間が分布している。監視部8は、現在時から過去の一定期間における通常アクセスの発生におけるアクセス時間に対する非アクセス時間の比(アクセス比)を計算する。計算したアクセス比の値が所定の基準値以上である場合、イネーブル信号をOFFからONにする。そして、(a)に示す処理と同様に、イネーブル状態において、通常アクセスにおける非アクセス状態である時に、診断のアクセスを実行する。またこの診断アクセスの際に通常アクセスが発生した場合は(a)に示す処理と同様に通常アクセスを優先して処理する。
<効果及び変形>
実施の形態1では、診断手段がメモリ制御部2のハードウェアで実現され、キャッシュ部1内で完結した自動的な診断処理が可能である。制御装置20内のプロセッサなどによる診断実行指示をキャッシュ部1に対して与える必要は特にない。診断のメモリアクセスが通常のメモリアクセスの空き時間に実行されるように監視部8で制御するので、キャッシュ部1内のパス上でアクセスが競合せず、CHA30などとキャッシュ部1との間のパスの使用権にも影響を与えない。そのため、制御装置20の通常動作におけるデータ転送の性能を低下させることなく診断を実行して、メモリデバイス3のデータの信頼性を向上できる。診断により、特にメモリデバイス3のデータの故障が発生した際に、そのメモリデバイス3が通常動作で使用される事前に検出することができ、更に、データ故障を検出して訂正可能なエラーの場合に再書き込み処理することで、事前にメモリデータの修復が可能となる。診断機能により、制御装置20においてキャッシュ部1のメモリデバイス3にライトしたデータについてのリード時の信頼性が向上される。
実施の形態1では、診断手段がメモリ制御部2のハードウェアで実現され、キャッシュ部1内で完結した自動的な診断処理が可能である。制御装置20内のプロセッサなどによる診断実行指示をキャッシュ部1に対して与える必要は特にない。診断のメモリアクセスが通常のメモリアクセスの空き時間に実行されるように監視部8で制御するので、キャッシュ部1内のパス上でアクセスが競合せず、CHA30などとキャッシュ部1との間のパスの使用権にも影響を与えない。そのため、制御装置20の通常動作におけるデータ転送の性能を低下させることなく診断を実行して、メモリデバイス3のデータの信頼性を向上できる。診断により、特にメモリデバイス3のデータの故障が発生した際に、そのメモリデバイス3が通常動作で使用される事前に検出することができ、更に、データ故障を検出して訂正可能なエラーの場合に再書き込み処理することで、事前にメモリデータの修復が可能となる。診断機能により、制御装置20においてキャッシュ部1のメモリデバイス3にライトしたデータについてのリード時の信頼性が向上される。
なお、本実施の形態では、ECCを用いてメモリデータの正常性のチェックを行う構成としたが、ECC以外の手段でチェックを行う構成としてもよい。また、キャッシュ部1に限らず、制御装置20に有する他のメモリ、例えば制御情報が格納される共有メモリ部などに対しても、本構成を同様に適用することが可能である。
また、メモリデータのチェックだけでなく、メモリデバイス3内に誤り検出回路を備えている場合は、これを利用して、メモリコマンド出力部6Bからメモリデバイス3に対して入力されるコマンド/アドレスについての正当性のチェックを行うようにしてもよい。チェックの結果をメモリ制御部2へ送信し、エラーがある場合は報告する。例えば、メモリデバイス3内の誤り検出回路でアドレスのエラーを検出した場合に、エラーステータス格納レジスタ14にエラーステータスを送信して格納する。メモリデバイス3内に設けられた誤り検出回路は、従来技術である。
また、変形例として、監視部8などの処理により、前記診断のアクセスの実行の頻度や処理時間などを増減する制御を行うようにしてもよい。例えば、監視部8は、メモリアクセス状態や設定に応じて、自動的にまたはキャッシュ部1の外部からの指示などに応じて、診断のアクセスの頻度を増減する。また、キャッシュ部1で、診断のアクセスを制御するだけでなく、診断のアクセスに関係して通常のアクセスを制御するようにしてもよい。例えば、キャッシュ部1で、診断のアクセスと関係して通常のアクセスを、性能がさほど低下しない範囲内で増減する制御を行う。例えば、通常のアクセスを抑制する、実行タイミングをずらして待機させる等の制御を行う。また例えば、キャッシュ部1で、特定のメモリデバイス3に対して、一定期間、通常のアクセスを抑制や待機させると共に、診断のアクセスを増加させて集中的に診断を実行する制御などを行う。
また、メモリデバイス3に対する診断を自動で実行するのみならず、メモリ制御部2あるいは監視部8などに対する診断指示に応じて同様に診断のアクセスを実行するように構成してもよい。また、診断の頻度やタイプなどをメモリ部1内で監視部8などの持つレジスタに設定して、設定に従って診断の動作を行わせる構成としてもよい。
(実施の形態2)
次に、本発明の実施の形態2におけるディスクアレイ装置100について説明する。図8は、実施の形態2のディスクアレイ装置100における、キャッシュ部1Bの詳細構成を示す図である。実施の形態2のディスクアレイ装置100の基本的な構成は実施の形態1の構成と同様であり、キャッシュ部1Bの内部構成と処理が異なる。
次に、本発明の実施の形態2におけるディスクアレイ装置100について説明する。図8は、実施の形態2のディスクアレイ装置100における、キャッシュ部1Bの詳細構成を示す図である。実施の形態2のディスクアレイ装置100の基本的な構成は実施の形態1の構成と同様であり、キャッシュ部1Bの内部構成と処理が異なる。
実施の形態2では、実施の形態1で示した診断を行う構成に加え、制御装置20においてメモリデバイス3を有するキャッシュ部1B内で、メモリ制御部2Bに、通常動作中にメモリデバイス3のデータ入出力に係わる各種特性を変動させてマージン試験を行う機能を構成する。メモリ制御部2Bは、メモリデバイス3の診断のために、通常のメモリアクセスが行われていない時間に、メモリデバイス3に対して、マージン試験のためのアクセスを実行する。メモリ制御部2Bは、前記診断のためのアクセスで、各種特性に関して動作仕様範囲内で変動させて、その応答を実施の形態1と同様にECCを用いてチェックするマージン試験を行い、早期に特性の不安定性によるデータ故障を検出する。
前記マージン試験では、メモリ制御部2Bから、メモリデバイス3やメモリ制御部2Bに対して、メモリ制御部2Bとメモリデバイス3の間のデータ入出力におけるデータ信号及びストローブ信号などの入出力信号に係わる各特性、すなわち、出力信号の振幅、供給電源の電圧、クロック周波数、DLL設定といった条件や値を、動作仕様範囲内で変動させる制御を実行する。この制御の応答により、前記変動によるエラーが発生せずに正常動作するかどうかをチェックする。
図8で、キャッシュ部1Bは、主にメモリ制御部2Bとメモリデバイス3を有する構成である。キャッシュ部1Bで、メモリ制御部2Bは、双方向バッファ5、メモリコマンド出力部6B、コマンド/アドレス解析部7、ECC生成部9、ECC誤り検出/訂正部10、READ方向のパケットバッファ11、WRITE方向のパケットバッファ12、パス側セレクタ15、リライトセレクタ16、メモリアクセス状態監視部8B、エラーステータス格納レジスタ14、DLL部19を有する構成である。更に、キャッシュ部1Bは、マージン試験に係わる部分として、クロック生成部17、電源制御部18を有する。主に、監視部8B、メモリコマンド出力部6B、ECC誤り検出/訂正部10、エラーステータス格納レジスタ14、DLL部19、クロック生成部17、電源制御部18の機能により、実施の形態2における診断機能が構成される。双方向バッファ5などの各要素は、実施の形態1における各要素と同様の機能を有する。実施の形態1と異なる機能については以下で説明する。
メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、メモリデバイス3に対して診断のためのコマンドとアドレス、及び各種マージン試験に係わる制御のための要求を出力する機能を備えた回路である。メモリコマンド出力部6Bは、診断要求に基づき、メモリデバイス3に対して振幅変動要求を出力可能である。また、クロック生成部17に対して周波数変動要求を出力可能である。また、電源制御部18に対して電圧変動要求を出力可能である。また、DLL部19に対してDLL設定変動要求を出力可能である。各変動要求は、独立して出力可能である。
ECC誤り検出/訂正部10は、診断時に、双方向バッファ5からDLL部19を介して転送されたメモリデバイス3の格納データすなわちリードデータについて、ECCを用いて誤り検出を行ってデータ内容を検証する回路であり、マージン試験に関して、変動制御の結果によるデータ故障を検出して、そのことを示すエラーステータスをエラーステータス格納レジスタ14に格納する。
監視部8Bは、コマンド/アドレス解析部7から受信するメモリアクセスコマンドに基づき、メモリデバイス3に対するメモリアクセス状態を監視する回路である。また、監視部8Bは、メモリアクセス状態の認識や判断に基づき、メモリデバイス3に対するマージン試験に係わる診断のアクセスの実行タイミングを判定し、前記診断のアクセスの実行タイミングで診断要求をメモリコマンド出力部6に対し出力する回路である。前記診断要求は、実行する対象となる診断のタイプに応じたものである。監視部8Bで、実施の形態1と同様に、通常のメモリアクセスの空き時間が判断され、診断実行タイミングが決定される。
クロック生成部17は、メモリ制御部2B、メモリデバイス3に供給するクロックを生成する部である。クロック生成部17は、本診断機能に関して、メモリコマンド出力部6Bからの周波数変動要求に従って、各部に対し供給するクロック周波数(図8中の「CLOCK」)を変動させることが可能な機能を備えている。
電源制御部18は、メモリ制御部2B、メモリデバイス3に対して供給する電源を生成する部である。電源制御部18は、本診断機能に関して、メモリコマンド出力部6Bからの電圧変動要求に従って、各部に対し供給する電源の電圧レベル(図8中の「P」)を変動させることが可能な機能を備えている。
DLL部19は、メモリデバイス3からメモリ制御部2Bへと供給されたデータ・信号を、一定時間遅延させる機能を担う部である。DLL部19は、遅延素子により、メモリデバイス3からの各信号を同期させる。DLL部19は、メモリデバイス3として主にDDR−SDRAM(Double Data Rate - Synchronous DRAM)の制御に際して使用される。また、例えば、DLL部19内には、前記遅延量を決定する設定レジスタを有する構成である。DLL部19は、本診断機能に関して、メモリコマンド出力部6BからのDLL設定変動要求に従って、前記遅延量の設定値を変動させる。
メモリデバイス3は、メモリ制御部2Bの双方向バッファ5との間でのデータ入出力のためのバス(以下、データバス)において、データ信号、ストローブ信号などの信号を出力する。このデータバスにおいて、メモリコマンド出力部6Bからの振幅変動要求に従って、出力信号の振幅が変動される。同様に、メモリ制御部2とメモリデバイス3との間のデータバスにおいて、供給電源電圧、クロック周波数、DLL設定の変動要求に従って、各特性が変動される。
また、クロック生成部17からのクロック周波数の変動や、電源制御部18からの電圧レベルの変動の処理では、必要に応じて、データ入出力の送受信側となるメモリデバイス3とメモリ制御部2とで、一方側または両側を変動させたマージン試験を行うことができる。
キャッシュ部1Bの構成において、ディスクアレイ装置100の通常動作中に、メモリデバイス3の格納データについてマージン試験を含む自動的な診断を実行する処理における処理手順について以下説明する。まず、制御装置20におけるメモリデバイス3に対する通常のメモリアクセスにおいて、実施の形態1の場合と同様に、メモリ制御部2BでECCを用いて誤り検出/訂正処理を行っている。診断のアクセスに関しては、キャッシュ部1B内で、マージン試験として各特性を変動させて、メモリデバイス3に記憶されているデータについてECCを用いてデータの正常性のチェックを行う診断処理が自動的に実行される。メモリ制御部2Bは、監視部8Bの判断に基づき、例えば定期的なタイミングで、診断のアクセスをメモリデバイス3に対して実行する。
(1)まず、キャッシュ部1BでCパス側からコマンド/アドレスパケットを受信した場合、コマンド/アドレス解析部7での解析によりコマンド/アドレス要求をメモリコマンド出力部6に出力すると共に、監視部8Bに対してメモリアクセスコマンドが出力される。
(2)監視部8Bは、コマンド/アドレス解析部7からのメモリアクセスコマンドを受信して、メモリデバイス3についてのメモリアクセス状態を判断、認識する。その結果、通常のメモリアクセスにおける空き時間すなわち非メモリアクセス時間が有り、通常のアクセスと競合しない場合に、メモリコマンド出力部6Bに対する診断要求を発行する。診断要求の発行により、キャッシュ部1B内の論理的なパスを用いた、メモリデバイス3の格納データのチェックのためのアクセスと、マージン試験のためのアクセスとを実行する。
(3)メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、メモリデバイス3に対して振幅変動要求を送信する。メモリデバイス3は、受信した振幅変動要求に従って、メモリ制御部2Bに対するリードデータの出力時に、その出力信号の振幅を変動させる。
(4)メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、電源制御部18に対して電圧変動要求を送信する。電源制御部18は、受信した電圧変動要求に従って、メモリデバイス3とメモリ制御部2Bに供給する電源の電圧レベルを変動させる。
(5)メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、クロック生成部17に対して周波数変動要求を送信する。クロック生成部17は、受信した周波数変動要求に従って、メモリデバイス3とメモリ制御部2Bに供給するクロックの周波数を変動させる。
(6)メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、DLL部19に対してDLL設定変動要求を送信する。DLL部19は、受信したDLL設定変動要求に従って、信号の遅延量の設定を変動させる。
(7)メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、メモリデバイス3に対して、メモリデバイス3からデータリードを行うためのコマンド/アドレスを出力する。
(8)メモリデバイス3では、メモリコマンド出力部6Bからのコマンド/アドレスに基づき、指定アドレスの記憶領域から格納データが読み出され、データバスを介してメモリ制御部2Bの双方向バッファ5に対して出力される。
(9)メモリ制御部2Bで、前記コマンド/アドレスに応じてメモリデバイス3から双方向バッファ5へと出力されたリードデータを、ECC誤り検出/訂正部10でECCを用いてチェックする。ECC誤り検出/訂正部10でのチェックで、リードデータにおける誤りを検出した場合は、そのことを示すエラーステータスを、エラーステータス格納レジスタ14に格納する。更に、前記ECC誤り検出/訂正部10でのチェックにおいて、誤りを検出した場合でその訂正が可能な場合は、当該データを訂正処理し、訂正されたデータを出力すると共に、リライト要求信号をリライトセレクタ16に対し出力して、ECC生成部9を介してメモリデバイス3に対し再書き込みさせる。
前記マージン試験において、データ故障すなわちメモリ制御部2Bでのエラー検出は、特性の条件や値が基準値からずれている場合などに発生し得る。メモリ制御部2Bとメモリデバイス3とのデータバスにおける出力信号の振幅などの基準値や動作仕様範囲があらかじめ設計されており、例えば「基準値±10%」が動作仕様範囲すなわち正常動作が保証される範囲となる。実際の動作レベルが基準値から少しずれている場合でも動作仕様範囲内に収まっている場合はエラー検出無しとなる。マージン試験により各特性の条件や値を変動させてその応答をチェックすることで、動作レベルが動作仕様範囲における基準値から多くずれていてマージンに近いあるいは超える場合などに、ECC誤り検出/訂正部10でエラー検出されることになるので、その場合を不適格として判断可能である。
このようにして、通常のメモリアクセスが行われていない時間に診断のアクセスを実行してマージン試験が可能であり、各特性の不安定性を検出可能である。また、本機能はメモリ制御部のハードウェアで制御されるため、通常のアクセスにおけるデータ転送の性能も保たれる。
前記振幅などの各特性についてのマージン試験は、組み合わせて構成や実行が可能である。例えば、前記特性のうち1つのみを診断するための構成を実装したキャッシュ部1Bとしてもよい。また、例えば、前記特性のうち複数を診断可能で、1つ以上の特性を選択的に診断可能な構成を実装したキャッシュ部1Bとしてもよい。また、前記処理手順(3)〜(6)に示す各変動要求の発行の順番などは任意でよい。
次に、図9は、実施の形態2の変形例として、図8に示す構成に加え、更に別のタイプのマージン試験を行う構成に対応したキャッシュ部1Bの詳細構成を示す図である。
図9に示す構成は、メモリデバイス3のマージン試験の対象となる特性として、更に、前記データバスにおける出力信号の振幅における閾値レベル、出力バッファ駆動、メモリデバイス3の終端抵抗について変動させるマージン試験を行う構成である。図8の構成と同様に、メモリ制御部2Bは、前記診断のためのアクセスで、監視部8Bからの診断要求に基づき、メモリコマンド出力部6Bから、各特性の条件や値を動作仕様範囲内で変動させる要求(制御信号)を発行して変動制御を行い、その応答を同様にECCを用いてチェックするマージン試験を行う。
図9で、キャッシュ部1Bの各要素は、図8に示す各要素と同様の機能を備える。加えて、メモリコマンド出力部6Bは、監視部8Bからの診断要求に基づき、双方向バッファ5に対して閾値レベル変動要求を出力可能である。また、メモリデバイス3に対して出力バッファ駆動変動要求を出力可能である。また、メモリデバイス3の終端抵抗部91に対して終端抵抗変動要求を出力可能である。
データバスにおける出力信号の振幅における閾値レベル(基準値レベルともいう)は、双方向バッファ5が設定により決定している。前記閾値レベル変動要求に従って、双方向バッファ5における閾値レベル設定値を変動させる。
また、データバスにおける出力バッファ駆動は、メモリデバイス3からメモリ制御部2Bの双方向バッファ5に対する出力の駆動である。この出力バッファ駆動に応じて出力信号の波形の立ち上がり部分が急峻あるいは緩やかになる。メモリデバイス3で、前記出力バッファ駆動変動要求に従って、出力バッファ駆動を変動させる。
また、終端抵抗部91は、メモリ制御部2Bとメモリデバイス3に対して接続される、波形歪み防止用の終端抵抗を有する部分である。終端抵抗部91の終端抵抗は、メモリ制御部2Bとメモリデバイス3を接続するバスにおいて反射作用により生じる波形歪みを防止する機能を持つ。終端抵抗部91は、メモリコマンド出力部6Bからの終端抵抗変動要求に従って、その終端抵抗値が可変される。
キャッシュ部1Bで、出力信号の振幅における閾値レベル、出力バッファ駆動、メモリデバイス3の終端抵抗といった各特性について、前記処理手順(1)〜(9)の処理と同様に、マージン試験を実行する。また同様に、各特性についてのマージン試験は、組み合わせて構成及び実行が可能である。
このように実施の形態2では、メモリデバイス3の各種特性についてのマージン試験を通常動作中に行うことができるので、データ故障の検出率を上げることが可能であり、マージン試験を行わない構成に比べてより信頼性を高めたディスクアレイ装置を提供できる。なお、従来では、ディスクアレイ装置の工場出荷時に行われる試験として、前記キャッシュ部201に関して、その温度や電圧などについてその値を変動させて正常動作を確認するマージン試験が行われているが、通常動作時にマージン試験を行う機能を備えたディスクアレイ装置は提供されていない。
(実施の形態3)
次に、図10は、本発明の実施の形態3におけるディスクアレイ装置100の機能ブロック構成及びホスト装置との接続構成を示す。実施の形態3の基本構成は、図2に示す実施の形態1の構成と同様であり、診断機能に係わる構成が異なる。
次に、図10は、本発明の実施の形態3におけるディスクアレイ装置100の機能ブロック構成及びホスト装置との接続構成を示す。実施の形態3の基本構成は、図2に示す実施の形態1の構成と同様であり、診断機能に係わる構成が異なる。
実施の形態3のディスクアレイ装置100では、制御装置20において、CHA30、DKA34、スイッチ部4、キャッシュ部1Cを有し、診断手段を制御装置20内でキャッシュ部1Cとキャッシュ部1Cの外部とに跨って配置する構成とする。特に、前記診断手段の主要な機能を担う部分である監視部8に対応した処理部であるメモリアクセス状態監視/制御部(以下、監視/制御部と略称する)8Cを、制御装置20内でスイッチ部4に対して接続される配置で設ける。またあるいは、これと近い構成として、スイッチ部4内に監視/制御部8Cを設ける構成としてもよい。監視/制御部8Cは、制御装置20におけるメモリデバイス3に対する診断管理部としての機能を担い、メモリアクセス状態の監視や診断実行タイミングの制御だけでなく、診断に関連した通常のメモリアクセスの制御も行う。
キャッシュ部1Cのメモリ制御部2Cは、前記図3に示すキャッシュ部1の構成などと同様の構成であるが監視部8を設けない構成である。メモリ制御部2Cは、スイッチ部4及びCパス側から診断要求を受信して、受信した診断要求がメモリコマンド出力部6に入力され、メモリコマンド出力部6で実施の形態1などと同様に診断のアクセスを実行する。
制御装置20において、監視/制御部8Cで、キャッシュ部1C内のメモリデバイス3に対するメモリアクセス、すなわちメモリ制御部2Cに対するアクセスについての状態の監視と、診断に係わるメモリアクセスの制御とを行う。監視/制御部8Cは、スイッチ部4を監視することで、通常のメモリアクセスの空き時間を認識、判断する。スイッチ部4では、Pパス及びCパスを含むパスにおける使用状態が把握されている。監視/制御部8Cは、スイッチ部4から前記パスの使用状態を情報として読み出すことで、メモリアクセス状態を認識、判断できる。監視/制御部8Cは、複数のスイッチ部4を介して複数のキャッシュ部1Cに対するメモリアクセス状態を監視し、各キャッシュ部1に対する診断実行タイミングを判断する。
監視/制御部8Cは、実施の形態1での処理と同様に、メモリアクセス状態の監視に基づき診断実行タイミングの判断を行う。監視/制御部8Cで通常のメモリアクセスの空き時間が判断される。例えば、監視/制御部8Cでの処理で、スイッチ部4でのメモリデバイス3に対する通常のメモリアクセスコマンドの受信をもとに、メモリデバイス3に対するリード/ライト等の処理及び時間を考慮して、非メモリアクセス時間であることを確認してから、キャッシュ部1Cに対する診断要求をスイッチ部4より発行させる。キャッシュ部1Cで、スイッチ部4からの診断要求に対応した診断処理を行わせる。また、制御装置20内で、CHA30等の処理部からのキャッシュ部1Cに対する通常のメモリアクセスの発生頻度やメモリアクセス時間の割合などの計算をもとに、統計的に見てある程度の大きさの空き時間が発生すると予測したタイミングで診断要求を発行するようにしてもよい。
監視/制御部8Cは、実施の形態1の処理と同様に、第1の診断処理として、一定周期の定期的なタイミングで、非メモリアクセス状態である条件で、診断のアクセスを実行する。また第2の診断処理として、現在時から過去の一定期間における通常のメモリアクセスの時間と非メモリアクセスの時間との比などを計算により求め、その値が所定値以上である場合に、非メモリアクセス状態である条件で、診断のアクセスを実行する。
図10中に示すように、制御装置20内において、CHA30などの処理部からキャッシュ部1Cのメモリデバイス3までの論理的なパス(通常のパス)があり、当該パスを使用して通常アクセスが行われる。また、本実施の形態3では、スイッチ部4に関連して診断手段を構成した形態であるため、スイッチ部4からメモリデバイス3までの論理的なパス(診断のパス)、すなわちスイッチ部4からメモリ制御部2CまでのCパス及びキャッシュ部1C内の論理的なパスがあり、当該パスを使用して診断アクセスが行われる。キャッシュ部1C内のパスは、通常アクセスと診断アクセスとで共用されるが、通常のメモリアクセスの空き時間に診断アクセスを実行する制御を監視/制御部8Cで行うことにより、パス上のアクセス競合が避けられるので、通常アクセスの性能が低下しない。
更に、図10中で、監視/制御部8Cにより、通常のメモリアクセスと診断のメモリアクセスとの制御を行う場合の例を示している。キャッシュ部1Cにおいて、オンライン時に、作業者によりメモリデバイス3の増設/交換が行われて新たなメモリデバイス3が接続された時、その直後に、その新メモリデバイス3に対する通常動作と診断動作とにおける各メモリアクセスの頻度を調節する制御を監視/制御部8Cとメモリ制御部2Cにより行う。また同様の制御を実施の形態1の構成の場合でも実行可能である。
キャッシュ部1Cに新メモリデバイス3が接続されたことが検出された直後に、監視/制御部8Cは、新メモリデバイス3に対する通常アクセス抑制と診断強化の制御を実施する。監視/制御部8Cは、スイッチ部4に対して要求を発行することにより、一定期間、新メモリデバイス3に対する通常のアクセスを抑制させると共に、診断のアクセスの頻度を増加させて集中的な診断を実行する。当該診断後に、再び通常の制御状態へと戻る。また同様に、監視/制御部8Cは、スイッチ部4に対して要求を発行することにより、一定期間、或るメモリデバイス3に対する診断のアクセスの頻度を減少させる制御を実行するようにしてもよい。
このように実施の形態3によれば、より積極的にメモリデバイス3に対するアクセスを制御することで、効率的な診断を行うことができる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明は、メモリデバイスの診断を行う装置に利用可能である。
1,1B,1C,201…キャッシュ部、2,2B,2C,202…メモリ制御部、3,203…メモリデバイス、4…スイッチ部、5,205…双方向バッファ、6,206…メモリコマンド出力部、7,207…コマンド/アドレス解析部、8,8B…メモリアクセス状態監視部、8C…メモリアクセス状態監視/制御部、9,209…ECC生成部、10,210…ECC誤り検出/訂正部、11,12,211,212…パケットバッファ、13,213…バックプレーンボード、14…エラーステータス格納レジスタ、15,215…パス側セレクタ、16,216…リライトセレクタ、17…クロック生成部、18…電源制御部、19…DLL部、20…制御装置、30…ホストインタフェース部(CHA)、31,35…プロセッサ、32…チャネルインタフェース回路、33,37…メモリアクセス制御部、34…ディスクインタフェース部(DKA)、36…ディスクインタフェース回路、40…ディスクドライブ、91…終端抵抗部、100…ディスクアレイ装置、111…基本筐体、112…増設筐体、113…制御パッケージ、114…電源ユニット、115…バッテリユニット、116…冷却ファン、300…ホストCPU。
Claims (21)
- 記憶装置と制御装置とを有するディスクアレイ装置であって、
前記制御装置は、メモリ部を有し、
前記メモリ部は、データを記憶するメモリデバイスと、前記メモリデバイスに対する制御を行うメモリ制御回路とを有し、
前記メモリ制御回路は、前記メモリデバイスに対する通常のアクセスが行われていない時間に、前記メモリデバイスに対して、前記メモリデバイスに記憶されているデータの診断のためのアクセスを実行し、前記メモリデバイスから読み出されたデータの内容をチェックしてデータ故障を検出することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、
前記メモリ部の外部からのメモリアクセスのコマンドの受信に基づき前記メモリデバイスに対する通常のアクセスの状態を監視して、前記監視に基づき前記メモリデバイスに対する通常のアクセスが行われていない時間を判断し、
前記通常のアクセスが行われていない時間において診断要求を発行して、前記診断要求に従って前記メモリデバイスに対して診断のためのコマンドとアドレスを出力し、前記コマンドとアドレスに従って前記メモリデバイスから読み出されたデータの内容をチェックすることを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、
前記メモリデバイスに対するライトデータに対してECCを生成し付加して前記メモリデバイスにライトする処理を行い、
前記診断のためのアクセスで、前記診断のためのリードコマンドとアドレスを出力し、前記メモリデバイスから前記リードコマンドとアドレスに従って読み出されたデータを、前記ECCを用いて誤り検出処理し、誤りを検出した場合はエラーステータスを報告し、更に訂正可能な誤りの場合は訂正して、訂正されたデータを前記メモリデバイスにライトする処理を行うことを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、前記診断のためのアクセスで、診断処理中に前記通常のアクセスに対応したメモリアクセスのコマンドを受信した場合は、前記診断処理を停止して前記通常のアクセスの処理を実行することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、診断処理後に一定期間経過する毎に、前記診断のためのアクセスをイネーブル状態にし、前記イネーブル状態で前記通常のアクセスが行われていない時に前記診断のためのアクセスを実行することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、現在時から過去一定期間における、前記通常のアクセスに対する前記診断のためのアクセスの比が所定値以上となる時に、前記診断のためのアクセスをイネーブル状態にし、前記イネーブル状態で前記通常のアクセスが行われていない時に前記診断のためのアクセスを実行することを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、前記通常のアクセスの状態に応じて前記診断のためのアクセスを増減する制御を行うことを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、前記診断のためのアクセスの状態に応じて前記通常のアクセスを抑制する制御を行うことを特徴とするディスクアレイ装置。 - 請求項1記載のディスクアレイ装置において、
前記メモリ制御回路は、前記メモリデバイスに対する通常のアクセスが行われていない時間に、前記メモリデバイスに対して、前記メモリデバイスのデータ入出力に係わる特性の値を変動させる、マージン試験のためのアクセスを実行し、前記メモリデバイスからの前記変動に応じた応答をチェックしてエラーを検出することを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての振幅を変動する制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての供給クロックの周波数を変動する制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての供給電源の電圧レベルを変動する制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についてのDLL設定値を変動する制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての閾値レベルを変動させる制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての出力バッファ駆動を変動させる制御を行うことを特徴とするディスクアレイ装置。 - 請求項9記載のディスクアレイ装置において、
前記メモリ制御回路は、前記マージン試験のためのアクセスとして、前記メモリ制御回路と前記メモリデバイスに対し、前記メモリ制御回路と前記メモリデバイスとの間のバスにおける入出力信号についての終端抵抗値を変動させる制御を行うことを特徴とするディスクアレイ装置。 - 記憶装置と制御装置とを有するディスクアレイ装置であって、
前記制御装置は、ホストインタフェース部と、ディスクインタフェース部と、キャッシュ部と、これらをパスで接続するスイッチ部とを有し、
前記キャッシュ部は、データを記憶するメモリデバイスと前記メモリデバイスに対する制御を行うメモリ制御回路とを有し、
前記メモリ制御回路は、
外部と前記メモリデバイスとの間におけるコマンド、アドレス、及びリード/ライトデータを含む各種データの転送に係わるバス、セレクタ、及びバッファと、
前記パス側からの受信データをもとに前記メモリデバイスに対するアクセスに係わるコマンド/アドレスを解析する解析部と、
前記解析部で解析されたコマンドをもとにメモリアクセス状態を監視し、診断の実行タイミングを制御する監視部と、
前記解析部からコマンド/アドレス要求を入力して前記メモリデバイスに対して通常のコマンド/アドレスを出力し、前記監視部から診断要求を入力してメモリデバイスに対して診断のためのコマンド/アドレスを出力するメモリコマンド出力部と、
前記メモリデバイスへのライトデータに対するECCの生成・付加を行うECC生成部と、
前記メモリデバイスからのリードデータに対する前記ECCによる誤り検出、訂正、及びエラー報告の処理を行うECC誤り検出/訂正部と、
前記診断に関するエラーステータスを格納するレジスタとを有し、
前記監視部は、前記パス側からの前記メモリデバイスに対する通常のアクセスの状態を監視し、前記メモリデバイスに対する通常のアクセスが行われていない時間に、前記メモリコマンド出力部に対して診断要求を出力し、前記メモリコマンド出力部から前記メモリデバイスに対して、前記メモリデバイスに記憶されているデータの診断のためのアクセスを実行し、前記メモリデバイスから読み出されたデータの内容を前記ECC誤り検出/訂正部でECCを用いてチェックし、誤りを検出した場合はエラーステータスを報告し、更に訂正可能な誤りの場合は訂正して、訂正されたデータを前記メモリデバイスにライトすることを特徴とするディスクアレイ装置。 - 記憶装置と、制御装置とを有するディスクアレイ装置であって、
前記制御装置は、ホストインタフェース部と、ディスクインタフェース部と、キャッシュ部と、これらをパスで接続するスイッチ部と、前記スイッチ部に接続される診断管理部とを有し、
前記キャッシュ部は、データを記憶するメモリデバイスと前記メモリデバイスに対する制御を行うメモリ制御回路とを有し、
前記診断管理部は、前記ホストインタフェース部またはディスクインタフェース部からの前記スイッチ部を介した前記キャッシュ部に対するアクセスのために使用されるパスにおける前記メモリデバイスに対する通常のアクセスの状態を監視し、前記監視に基づき前記メモリデバイスに対する通常のアクセスが行われていない時間に、前記キャッシュ部のメモリ制御回路に対して診断要求を送信し、
前記キャッシュ部のメモリ制御回路は、前記診断要求に従って、前記メモリデバイスに対して、前記メモリデバイスに記憶されているデータの診断のためのアクセスを実行し、前記メモリデバイスから読み出されたデータの内容をチェックしてデータ故障を検出することを特徴とするディスクアレイ装置。 - 請求項18記載のディスクアレイ装置において、
前記診断管理部は、前記監視に基づき、前記通常のアクセスの状態に応じて、前記スイッチ部を介した前記キャッシュ部のメモリデバイスに対する診断のためのアクセスを増減する制御を行うことを特徴とするディスクアレイ装置。 - 請求項18記載のディスクアレイ装置において、
前記診断管理部は、前記監視に基づき、前記診断のためのアクセスの状態に応じて、前記スイッチ部を介した前記キャッシュ部のメモリデバイスに対する通常のアクセスを抑制する制御を行うことを特徴とするディスクアレイ装置。 - 請求項18記載のディスクアレイ装置において、
前記診断管理部は、
前記キャッシュ部において前記メモリデバイスが接続された直後、一定時間、そのメモリデバイスに対する通常のアクセスを抑制し、前記診断のためのアクセスを増加させる制御を行うことを特徴とするディスクアレイ装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004324560A JP2006134196A (ja) | 2004-11-09 | 2004-11-09 | ディスクアレイ装置 |
US11/028,243 US7383472B2 (en) | 2004-11-09 | 2005-01-04 | Disk array subsystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004324560A JP2006134196A (ja) | 2004-11-09 | 2004-11-09 | ディスクアレイ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006134196A true JP2006134196A (ja) | 2006-05-25 |
Family
ID=36317747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004324560A Pending JP2006134196A (ja) | 2004-11-09 | 2004-11-09 | ディスクアレイ装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7383472B2 (ja) |
JP (1) | JP2006134196A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1903427A2 (en) | 2006-09-14 | 2008-03-26 | Hitachi, Ltd. | Storage apparatus and configuration setting method |
JP2010508604A (ja) * | 2006-10-31 | 2010-03-18 | ネットアップ,インコーポレイテッド | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 |
JP2010146525A (ja) * | 2008-12-22 | 2010-07-01 | Fujitsu Ltd | ディスク搭載機構及びストレージ装置 |
WO2010137330A1 (ja) * | 2009-05-27 | 2010-12-02 | パナソニック株式会社 | 遅延調整装置、遅延調整方法 |
JP2013114311A (ja) * | 2011-11-25 | 2013-06-10 | Nec Computertechno Ltd | メモリコントローラ、メモリ診断方法及びプロセッサシステム |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1547419B1 (en) * | 2002-09-27 | 2007-06-13 | Telefonaktiebolaget LM Ericsson (publ) | Requesting and controlling access in a wireless communications network |
EP1635261B1 (en) * | 2004-09-10 | 2008-06-11 | STMicroelectronics S.r.l. | Memory with embedded error correction code circuit |
US7475197B1 (en) * | 2005-10-25 | 2009-01-06 | Nvidia Corporation | Cross process memory management |
US7607043B2 (en) * | 2006-01-04 | 2009-10-20 | International Business Machines Corporation | Analysis of mutually exclusive conflicts among redundant devices |
JP2007293595A (ja) * | 2006-04-25 | 2007-11-08 | Canon Inc | 情報処理装置及び情報処理方法 |
US20070294588A1 (en) * | 2006-05-09 | 2007-12-20 | Coulson Richard L | Performing a diagnostic on a block of memory associated with a correctable read error |
JP4802339B2 (ja) * | 2006-05-24 | 2011-10-26 | 日本電産サンキョー株式会社 | 不揮発性メモリの更新方法 |
JP5046669B2 (ja) * | 2007-01-31 | 2012-10-10 | キヤノン株式会社 | 画像形成装置及び画像形成装置の制御方法、プログラム、記憶媒体 |
US20080186787A1 (en) * | 2007-02-05 | 2008-08-07 | Seiko Epson Corporation | Storage device |
US7818606B1 (en) * | 2007-09-28 | 2010-10-19 | Emc Corporation | Methods and apparatus for switch-initiated trespass decision making |
US8190973B2 (en) * | 2007-12-21 | 2012-05-29 | Arm Limited | Apparatus and method for error correction of data values in a storage device |
US20100061030A1 (en) * | 2008-09-09 | 2010-03-11 | Norman Werbner | Anti-shock device |
US8327224B2 (en) | 2009-04-16 | 2012-12-04 | Micron Technology, Inc. | Data recovery in a solid state storage system |
US8713404B2 (en) * | 2011-07-01 | 2014-04-29 | Apple Inc. | Controller interface providing improved data reliability |
JP6003327B2 (ja) * | 2012-07-19 | 2016-10-05 | 富士通株式会社 | 伝送装置および温度制御方法 |
JP2014211800A (ja) * | 2013-04-19 | 2014-11-13 | 株式会社東芝 | データ記憶装置、ストレージコントローラおよびデータ記憶制御方法 |
US9933828B2 (en) * | 2014-08-19 | 2018-04-03 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Controlling power consumption of a voltage regulator in a computer system |
US10002044B2 (en) | 2014-08-19 | 2018-06-19 | Samsung Electronics Co., Ltd. | Memory devices and modules |
US9916091B2 (en) * | 2015-07-13 | 2018-03-13 | Samsung Electronics Co., Ltd. | Memory system architecture |
US10866854B2 (en) * | 2015-12-29 | 2020-12-15 | Arteris, Inc. | System and method for reducing ECC overhead and memory access bandwidth |
US10453548B2 (en) * | 2017-05-19 | 2019-10-22 | Western Digital Technologies, Inc. | Run-time flash die failure detection enhancement |
US10877839B2 (en) | 2017-09-22 | 2020-12-29 | Arteris, Inc. | Recovery of a coherent system in the presence of an uncorrectable error |
CN110444247A (zh) * | 2019-07-31 | 2019-11-12 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试装置 |
CN110459259A (zh) * | 2019-07-31 | 2019-11-15 | 至誉科技(武汉)有限公司 | 存储设备写错误纠错能力的测试方法、系统及存储介质 |
US20230205615A1 (en) * | 2021-12-28 | 2023-06-29 | Micron Technology, Inc. | Error detection signaling |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5657332A (en) * | 1992-05-20 | 1997-08-12 | Sandisk Corporation | Soft errors handling in EEPROM devices |
JP3030229B2 (ja) * | 1994-06-20 | 2000-04-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データを転送する方法及びデータ記憶システム |
JPH08212145A (ja) | 1995-02-08 | 1996-08-20 | Fujitsu Ltd | 情報処理装置及びメモリ診断方法及びメモリ診断装置 |
US6374329B1 (en) * | 1996-02-20 | 2002-04-16 | Intergraph Corporation | High-availability super server |
US6341342B1 (en) * | 1997-11-04 | 2002-01-22 | Compaq Information Technologies Group, L.P. | Method and apparatus for zeroing a transfer buffer memory as a background task |
US6223309B1 (en) * | 1998-10-02 | 2001-04-24 | International Business Machines Corporation | Method and apparatus for ECC logic test |
US6438670B1 (en) * | 1998-10-02 | 2002-08-20 | International Business Machines Corporation | Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device |
US6848063B2 (en) * | 2001-11-20 | 2005-01-25 | Hewlett-Packard Development Company, L.P. | System and method for scrubbing errors in very large memories |
US7386765B2 (en) * | 2003-09-29 | 2008-06-10 | Intel Corporation | Memory device having error checking and correction |
US7107390B2 (en) * | 2003-10-08 | 2006-09-12 | Micron Technology, Inc. | Parity-scanning and refresh in dynamic memory devices |
US7350109B2 (en) * | 2003-11-14 | 2008-03-25 | Hewlett-Packard Development Company, L.P. | System and method for testing a memory using DMA |
-
2004
- 2004-11-09 JP JP2004324560A patent/JP2006134196A/ja active Pending
-
2005
- 2005-01-04 US US11/028,243 patent/US7383472B2/en not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1903427A2 (en) | 2006-09-14 | 2008-03-26 | Hitachi, Ltd. | Storage apparatus and configuration setting method |
US7555600B2 (en) | 2006-09-14 | 2009-06-30 | Hitachi, Ltd. | Storage apparatus and configuration setting method |
US8065483B2 (en) | 2006-09-14 | 2011-11-22 | Hitachi, Ltd. | Storage apparatus and configuration setting method |
US8291163B2 (en) | 2006-09-14 | 2012-10-16 | Hitachi, Ltd. | Storage apparatus and configuration setting method |
JP2010508604A (ja) * | 2006-10-31 | 2010-03-18 | ネットアップ,インコーポレイテッド | ストレージシステムにおける書き込み処理を最適化するためのシステム、及び方法 |
JP2010146525A (ja) * | 2008-12-22 | 2010-07-01 | Fujitsu Ltd | ディスク搭載機構及びストレージ装置 |
WO2010137330A1 (ja) * | 2009-05-27 | 2010-12-02 | パナソニック株式会社 | 遅延調整装置、遅延調整方法 |
JPWO2010137330A1 (ja) * | 2009-05-27 | 2012-11-12 | パナソニック株式会社 | 遅延調整装置、遅延調整方法 |
US8363492B2 (en) | 2009-05-27 | 2013-01-29 | Panasonic Corporation | Delay adjustment device and delay adjustment method |
JP2013114311A (ja) * | 2011-11-25 | 2013-06-10 | Nec Computertechno Ltd | メモリコントローラ、メモリ診断方法及びプロセッサシステム |
Also Published As
Publication number | Publication date |
---|---|
US20060101304A1 (en) | 2006-05-11 |
US7383472B2 (en) | 2008-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006134196A (ja) | ディスクアレイ装置 | |
US7386765B2 (en) | Memory device having error checking and correction | |
US8386833B2 (en) | Memory systems and memory modules | |
US8578110B2 (en) | Memory data backup system and memory data backup control method | |
JP5063240B2 (ja) | パフォーマンス・モニタリングを提供するメモリ・システム・方法 | |
US8140936B2 (en) | System for a combined error correction code and cyclic redundancy check code for a memory channel | |
US6209046B1 (en) | DMA transfer from a storage unit to a host using at least two transfer rates and cyclic error detection | |
US20090031078A1 (en) | Rank sparing system and method | |
KR100640037B1 (ko) | 파일 제어 시스템 및 파일 제어 장치 | |
US10606696B2 (en) | Internally-generated data storage in spare memory locations | |
CN107544923B (zh) | 用于控制对存储器设备的访问的装置以及相关方法 | |
KR20190019209A (ko) | Ddr 메모리 에러 복구 | |
US10338844B2 (en) | Storage control apparatus, control method, and non-transitory computer-readable storage medium | |
KR20190003591A (ko) | 통합 패키지 후 복구 | |
KR20040086168A (ko) | Dram 장치를 갖는 메모리 시스템 내의 판독 또는 기록동작 취소 방법 | |
US20080046802A1 (en) | Memory controller and method of controlling memory | |
US9910775B2 (en) | Computing system with adaptive back-up mechanism and method of operation thereof | |
EP2021933A1 (en) | Memory systems for automated computing machinery | |
TW202223903A (zh) | 適應性內部記憶體錯誤刷洗及錯誤處置 | |
US11609817B2 (en) | Low latency availability in degraded redundant array of independent memory | |
US10690368B2 (en) | Information processing apparatus and information processing system | |
US11520659B2 (en) | Refresh-hiding memory system staggered refresh | |
US20240013851A1 (en) | Data line (dq) sparing with adaptive error correction coding (ecc) mode switching | |
JP3776438B2 (ja) | 記憶装置 | |
US8132196B2 (en) | Controller based shock detection for storage systems |