(57)【要約】【課題】出荷前に、自己診断回路を利用して、ディスクアレイ装置に関するハードウエア診断を実機と同じ条件で実行すること。【解決手段】ＬＳＩ１０に論理回路１８の他に自己診断回路２２を搭載し、出荷前に、ＲＡＭ２８にテストプログラムをロードし、ＣＰＵ２６に診断指示を入力すると、ＣＰＵ２６の制御により、パターン生成回路２４においてパターンが生成されるとともに、パターンに対応した期待値パターンデータが生成され、パターンが論理回路１８に入力され、論理回路１８がパターンに従って動作し、論理回路１８からテスト結果を示すパターンデータが出力される。このパターンデータは、期待値パターンデータとともに期待値照合回路３０で比較・照合がされ、期待値照合回路３０から論理回路１８の異常の有無に関する診断結果が出力され、この内容が外部の表示装置に表示される。【選択図】図１
2007226711.tif 000002
【特許請求の範囲】
【請求項１】
論理回路と、前記論理回路を診断対象とする自己診断回路と、を備え、前記自己診断回路は、前記診断対象の実稼働時の動作条件を含むテストプログラムの入力を条件に、診断指示に応答して前記テストプログラムを実行し、前記テストプログラムの実行に従って前記診断対象に対して動作を指令し、前記診断対象の動作に伴うテスト結果と診断基準値とを比較して、前記診断対象の異常の有無を診断してなる集積回路装置。
【請求項２】
論理回路と、自己診断回路と、を備え、前記自己診断回路は、前記論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象に対する動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果と前記期待値生成手段の生成による期待値とを比較して、前記診断対象の異常の有無を診断する診断手段と、を備えてなる集積回路装置。
【請求項３】
論理回路と、自己診断回路と、を備え、前記自己診断回路は、前記論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象に対する動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果を示すパターンデータと前記期待値生成手段の生成による期待値を示す期待値パターンデータをそれぞれ圧縮する圧縮手段と、前記圧縮手段により圧縮されたテスト結果のパターンデータと期待値パターンデータとを比較して、前記診断対象の異常の有無を診断する診断手段と、を備えてなる集積回路装置。
【請求項４】
入出力端子と前記メモリと結ぶ入力用バッファと、前記入力用バッファと前記入出力端子を共用する出力用バッファと、前記入力用バッファの出力情報または前記パターン生成手段の出力情報のうちいずれか一方を選択して前記診断対象に出力する入力用選択手段と、前記メモリに格納された情報または前記診断手段の診断結果を示す情報のうちいずれか一方を選択して前記出力用バッファに出力する出力用選択手段と、を備えてなる、請求項２記載の集積回路装置。
【請求項５】
前記メモリは複数の記憶領域を備え、前記複数の記憶領域のうちいずれかを選択し、選択した記憶領域に前記入力用バッファの出力情報を格納するメモリ制御手段を備えてなる、請求項４記載の集積回路装置。
【請求項６】
請求項３に記載された集積回路装置単体のテストプログラムを作成するに際して、前記診断対象の入力側と出力側をそれぞれ前記圧縮手段の入力側に接続するとともに、前記圧縮手段の出力側を前記演算手段を介して前記メモリに接続し、前記演算手段の出力を前記診断対象の入力側に接続した状態で、前記演算手段からの指令によって前記診断対象を動作させ、前記診断対象の入力状態と出力状態を前記圧縮手段で圧縮し、この圧縮結果を前記演算手段を介して前記メモリにロードする第１の処理と、前記診断対象に対する論理設計を行う第２の処理と、シミュレータと診断対象全体をテストするための装置テストプログラムを用いて前記診断対象に対する論理検証を実行する第３の処理と、前記第３の処理結果を基に前記論理検証の結果を入力データと期待値データとに分離して前記診断対象単体のテストプログラムに変換する第４の処理を含む、集積回路装置単体のテストプログラム作成方法。
【請求項７】
請求項３に記載された集積回路装置単体の不良を解析するに際して、前記診断対象の入力側と出力側をそれぞれ前記圧縮手段の入力側に接続するとともに、前記圧縮手段の出力側を、前記演算手段を介して前記メモリに接続し、前記演算手段の出力を前記診断対象の入力側に接続した状態で、前記演算手段からの指令によって前記診断対象を動作させ、前記診断対象の入力状態と出力状態を前記圧縮手段で圧縮し、この圧縮結果を前記演算手段に転送して、前記演算手段で前記診断対象に関する不良箇所を抽出する第１の処理と、前記第１の処理で得られた抽出結果を入力データと期待値データに変換して、その内容を前記診断対象単体のテストパターンに反映する第２の処理と、前記第２の処理で得られた診断対象単体のテストプログラムと前記診断対象に対する論理設計データを基に前記診断対象に対する論理検証を実行する第３の処理と、前記第３の処理で得られた論理検証の結果を基に前記診断対象に対する不良解析を実行する第４の処理を含む、集積回路装置単体の不良解析方法。
【請求項８】
論理回路と、前記論理回路を診断対象とする自己診断回路とを備えた積回路装置の診断方法において、前記自己診断回路は、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納する第１の処理と、当該格納されたテストプログラムを診断指示に応答して実行する第２の処理と、前記テストプログラムの実行に従って前記診断対象に対する動作を指令するための動作指令パターンを生成するとともに、当該動作指令パターンに対応して前記診断対象のテスト結果として想定される期待値を期待値パターンデータで生成する第３の処理と、前記動作指令パターンを前記診断対象に入力して前記診断対象の動作に伴うテスト結果をパターンデータに変換する第４の処理と、当該テスト結果のパターンデータと前記期待値パターンデータとを比較して、前記診断対象の異常の有無を診断する第５の処理を含む、集積回路装置の診断方法。
【請求項９】
論理回路と、前記論理回路を診断対象とする自己診断回路と、を備えた集積回路装置の診断方法において、前記自己診断回路は、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納する第１の処理と、当該格納されたテストプログラムを診断指示に応答して実行する第２の処理と、前記テストプログラムの実行に従って前記診断対象に対する動作を指令するための動作指令パターンを生成するとともに、当該動作指令パターンに対応して前記診断対象のテスト結果として想定される期待値を期待値パターンデータで生成する第３の処理と、前記動作指令パターンを前記診断対象に入力して前記診断対象の動作に伴うテスト結果をパターンデータに変換する第４の処理と、当該テスト結果のパターンデータと前記期待値パターンデータをそれぞれ圧縮する第５の処理と、当該圧縮されたテスト結果のパターンデータと前記圧縮された期待値パターンデータとを比較して、前記診断対象の異常の有無を診断する第６の処理を含む、集積回路装置の診断方法。
【請求項１０】
請求項８記載の集積回路装置の診断方法において、前記自己診断回路は、複数の記憶領域を有するメモリを有し、前記ロード指令に応答して前記テストプログラムを前記いずれかの記憶領域に格納し、当該いずれかの記憶領域に格納されたテストプログラムを診断指示に従って実行する処理を含む、集積回路装置の診断方法。
【請求項１１】
半導体集積回路で構成された論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象の動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果と前記期待値生成手段の生成による期待値とを比較して、前記診断対象の異常の有無を診断する診断手段と、を備えてなる診断回路装置。
【請求項１２】
半導体集積回路で構成された論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象の動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果を示すパターンデータと前記期待値生成手段の生成による期待値を示す期待値パターンデータをそれぞれ圧縮する圧縮手段と、前記圧縮手段により圧縮されたテスト結果のパターンデータと期待値パターンデータとを比較して、前記診断対象の異常の有無を診断する診断手段と、を備えてなる診断回路装置。
【請求項１３】
請求項１１記載の診断回路装置において、入出力端子と前記メモリと結ぶ入力用バッファと、前記入力用バッファと前記入出力入出力端子を共用する出力用バッファと、前記入力用バッファの出力情報または前記パターン生成手段の出力情報のうちいずれか一方を選択して前記診断対象に出力する入力用選択手段と、前記メモリに格納された情報または前記診断手段の診断結果を示す情報のうちいずれか一方を選択して前記出力用バッファに出力する出力用選択手段と、を備えてなる診断回路装置。
【請求項１４】
請求項１３に記載の診断回路装置において、前記メモリは複数の記憶領域を備え、前記複数の記憶領域のうちいずれかを選択し、選択した記憶領域に前記入力用バッファの出力情報を格納するメモリ制御手段と、を備えてなる診断回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は集積回路装置、特に、自己診断回路を搭載した集積回路装置に関するものである。本発明は、特に、ハードウエア診断機能を組み込んだディスクアレイ装置用大規模集積回路装置に関するものである。本発明はさらに、ディスクアレイ装置用大規模集積回路装置の診断方法に関し、特に、集積回路装置の出荷前にディスクアレイ装置の診断を集積回路装置に適用できる有効な方法に関するものである。
【背景技術】
【０００２】
従来、ディスクアレイ装置のハードウエア診断は、ディスクアレイ装置として出荷される前に、ディスクアレイ装置を構成する各パッケージを、パッケージテスタ（インサーキットテスタなど）を用いて、個別に各パッケージのハードウエア診断を行い、ディスクアレイ装置を組み立てた後、、ディスクアレイ装置全体を実稼動させてディスクアレイ装置の全体としてのハードウエア診断を行うか、ディスクアレイ装置の出荷後に、ディスクアレイ装置内において専用のテストプログラムを実行し、各パッケージを組み込み状態でハードウエア診断を行っていた。
【０００３】
また、集積回路装置を出荷する前に、半導体デバイスの各機能ブロックの診断を行う技術として、各機能ブロックにＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）方式の自己診断回路を設け、メモリに予め記憶された診断プログラムに従って、自己診断コントローラから各機能ブロックに診断条件を送信し、各機能ブロックの自己診断回路からの診断結果に基づいて、正常・異常の表示を行う半導体デバイスの自己診断装置が提案されている（例えば、特許文献１参照）。
【０００４】
ＢＩＳＴ方式を用いたものとしては、例えば、図２０に示すように、回路ブロック４００、４０２を構成する複数のフリップフロップＦＦのうち、回路ブロック４００を構成する３段の各フリップフロップＦＦをＣＬＫＡドメインのフリップフロップとしてスキャンチェーンで接続し、回路ブロック４０２を構成する３段の各フリップフロップＦＦをＣＬＫＢドメインのフリップフロップとしてスキャンチェーンで接続し、回路ブロック４００、４０２の各段のフリップフロップＦＦに対して、クロックに従ってパターン生成回路４０４、４０６からパターンを入力し、回路ブロック４００、４０２の出力によるテスト結果を圧縮回路４０８、４１０で圧縮し、圧縮された各テスト結果と期待値とをＢＩＳＴ制御回路４１２で照合し、照合結果を入出力端子４１４から出力するようにしたものがある。
【０００５】
しかし、この場合、図２１に示すように、ＣＴＳ（Ｃｌｏｃｋ  Ｔｒｅｅ  Ｓｙｎｔｈｅｓｉｓ）方式によるＣＬＫＡドメインとＣＬＫＢドメインのクロックをそれぞれ回路ブロック４００、４０２に属するフリップフロップＦＦに印加するにも、異なるクロックドメイン間のＡＣテスト（実使用状態の信号を回路に印加し、回路の動作特性（ディレイ）や回路機能をテストする交流特性動作試験）を実施することができず、回路ブロック４００、４０２の一部にディレイに伴う欠陥が存在していても、欠陥を検出することができない。
【０００６】
一方、ディスクアレイ装置用大規模集積回路装置（ＬＳＩ：Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）をディスクアレイ装置に搭載した後にハードウエアテストを行うに際しては、図２２に示すように、テストプログラムをＲＯＭ５００に格納し、ＲＯＭ５００に格納されたテストプログラムをＣＰＵ５０２にロードし、データ転送プロセッサを含むＬＳＩ５０４がテスト対象であるときには、ＣＰＵ５０２において、アドレス（ＡＤＲ）とデータ（ＤＡＴＡ）を含むテストパターンを生成し、このテストパターンをＬＳＩ５０４に入力し、ＬＳＩ５０４に入力されたデータを基にＬＳＩ５０４内部におけるデータ転送テストを行い、テスト結果と目的の期待値とのコンペア（ＣＯＭＰ）をＣＰＵ３０２で行って、ＬＳＩ５０４内部の欠陥の有無を確認する方法が採用されている。このテストでは、ＬＳＩ５０４のうち非同期の部分（回路ブロック）についても動作させて、欠陥の有無を確認している。
【０００７】
また、ディスクアレイ装置の出荷後のハードウエア診断を、装置稼動中に短時間で行うようにしたものも提案されている（特許文献２参照）。
【特許文献１】特開２００３−６８８６５号公報
【特許文献２】特開２００５−３０１５６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のディスクアレイ装置のハードウエア診断法として、装置出荷後に実施するものは各種提案されているが、装置出荷前に実施するものとしては、パッケージテスタを用いて、各パッケージに対する個別のハードウエア診断を行うものだけであって、装置搭載前（装置組み立て前）に、装置出荷後の稼動状態を考慮して診断できるものはない。
【０００９】
そこで、本発明の目的は、ディスクアレイ装置の出荷前に、ディスクアレイ装置を構成するＬＳＩに搭載された自己診断回路を利用して、ディスクアレイ装置に関するハードウエア診断を実機と同じ条件で実行することにある。
【課題を解決するための手段】
【００１０】
前記目的を達成するために、本発明は、特にディスクアレイ装置の一要素を構成する論理回路と、前記論理回路を診断対象として、前記論理回路とともに基板に搭載された自己診断回路とを備え、前記自己診断回路は、前記診断対象の実稼働時の動作条件を含むテストプログラムの入力を条件に、診断指示に応答して前記テストプログラムを実行し、前記テストプログラムの実行に従って前記診断対象に対して動作を指令し、前記診断対象の動作に伴うテスト結果と診断基準値とを比較して、前記診断対象の異常の有無を診断してなる集積回路装置、特に、ディスクアレイ装置用大規模集積回路装置を構成したものである。
【００１１】
本発明によれば、診断対象の論理回路を出荷する前に、すなわち、診断対象の論理回路をディスクアレイ装置に搭載する前に、診断対象の論理回路をディスクアレイ装置に搭載した後の実機と同一の条件で、自己診断回路を用いて、診断対象の異常の有無を診断するようにしたため、診断対象の論理回路をディスクアレイ装置に搭載した後に、ディスクアレイ装置に故障、不良などの異常が生じるのを抑制することができ、ディスクアレイ装置の信頼性の向上に寄与することができる。
【００１２】
ディスクアレイ装置用大規模集積回路装置を構成するに際しては、前記自己診断回路としては、前記論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象に対する動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果と前記期待値生成手段の生成による期待値とを比較して、前記診断対象の異常の有無を診断する診断手段とを備えたものとすることができる。
【００１３】
また、前記自己診断回路としては、前記論理回路を診断対象として、前記診断対象の実稼働時の動作条件を含むテストプログラムをロード指令に応答して格納するメモリと、診断指示に応答して前記メモリに格納されたテストプログラムを実行する演算手段と、前記演算手段によるテストプログラムの実行に従って前記診断対象に対する動作を指令するためのパターンを生成し、生成したパターンを前記診断対象に入力するパターン生成手段と、前記パターン生成手段の生成によるパターンに対応して前記診断対象のテスト結果として想定される期待値を生成する期待値生成手段と、前記パターンの入力に伴う前記診断対象のテスト結果を示すパターンデータと前記期待値生成手段の生成による期待値を示す期待値パターンデータをそれぞれ圧縮する圧縮手段と、前記圧縮手段により圧縮されたテスト結果のパターンデータと期待値パターンデータとを比較して、前記診断対象の異常の有無を診断する診断手段とを備えたものとすることもできる。
【００１４】
前記ディスクアレイ装置用大規模集積回路装置を構成するに際しては、入出力端子と前記メモリと結ぶ入力用バッファと、前記入力用バッファと前記入出力入出力端子を共用する出力用バッファと、前記入力用バッファの出力情報または前記パターン生成手段の出力情報のうちいずれか一方を選択して前記診断対象に出力する入力用選択手段と、前記メモリに格納された情報または前記診断手段の診断結果を示す情報のうちいずれか一方を選択して前記出力用バッファに出力する出力用選択手段とを備えることができ、また、前記メモリは複数の記憶領域を備え、前記複数の記憶領域のうちいずれかを選択し、選択した記憶領域に前記入力用バッファの出力情報を格納するメモリ制御手段を備えることができる。
【発明の効果】
【００１５】
本発明によれば、診断対象の論理回路を、この論理回路が搭載される装置、例えば、ディスクアレイ装置に搭載した後に、装置に故障、不良などの異常が生じるのを抑制することができ、装置の信頼性の向上に寄与することができる。したがって、本発明によれば、装置に集積回路を搭載する前に従来実施できなかったテストを行えることにより、装置を組み立てる際のコストを低減することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明に係る自己診断回路搭載ディスクアレイ装置用大規模集積回路装置のブロック構成図である。図１において、自己診断回路搭載ディスクアレイ装置用大規模集積回路装置（以下、ディスクアレイ装置用ＬＳＩと称する）１０は、ＬＳＩ用基板１２を備えており、基板１２には、バッファ（入力用バッファ）１４、セレクタ（入力用選択手段）１６、論理回路１８、バッファ（出力用バッファ）２０が搭載されているとともに、自己診断回路（テスト制御回路）２２が搭載されている。自己診断回路２２は、パターン生成回路２４、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｎｇ  Ｕｎｉｔ）２６、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２８、期待値照合回路３０、クロック発生回路３２、バッファ（入力用バッファ）３４、３６、バッファ（出力用バッファ）３８を備え、クロック発生回路３２の発生によるクロックがＣＰＵ２６や論理回路１８などの回路に供給さられ、各部がクロックに同期して動作するように構成されている。バッファ１４、２０、３４、３６、３８はそれぞれ入出力端子（ＬＳＩピン）４０、４２、４４、４６、４８に接続されている。
【００１７】
論理回路１８は、ディスクアレイ装置の一要素、例えば、チャネル制御部、ディスク制御部、接続部（クロスバスイッチ）などとして、ＬＳＩで構成されているとともに、自己診断回路（テスト制御回路）２２の診断対象（ハードウエアの診断対象）として構成されている。
【００１８】
ＲＡＭ２８は、論理回路１８の実稼働時の動作条件（実機と同一の条件）を含むテストプログラムをロード指令に応答して一時格納するメモリとして構成されており、入出力端子４６からバッファ３６を介してテストプログラムがロードされたときに、テストプログラムを格納するようになっている。テストプログラムとしては、例えば、リード⇒ライト⇒コンペアなどの論理演算を含むテストプログラム、論理回路１８の通常時の動作を確認するための疎通テストプログラム、障害発生時に対応できるかの障害テストプログラムなどが挙げられる。
【００１９】
ＣＰＵ２６は、入出力端子４４からバッファ３４を介して診断指示が入力されたときに、診断指示に応答してＲＡＭ２８に格納されたテストプログラムをプログラムカウンタに従って実行し、このテストプログラムの実行に従ってパターン発生指令をパターン発生回路２４に出力する演算手段として構成されている。
【００２０】
パターン生成回路２４は、テストプログラムの実行に従ってパターン発生回路２４からパターン発生指令（命令）が出力されたときに、論理回路１８の動作を指令するためのパターン（２値情報の動作指令パターン）を順次生成し、生成した動作指令パターンをセレクタ１６を介して論理回路１８に入力するパターン生成手段としての機能と、診断基準値として、例えば、生成したパターン（動作指令パターン）に対応して、論理回路１８のテスト結果として想定される期待値をパターンデータで生成し、生成した期待値のパターンデータを期待値照合回路３０に出力する期待値生成手段としての機能を備えて構成されている。
【００２１】
論理回路１８にパターン（動作指令パターン）が順次入力されると、入力されたパターンに従って論理回路１８が動作し、論理回路１８からはテスト結果を示すパターンデータ（２値データ）が出力され、各テスト結果は期待値照合回路３０に順次入力される。
【００２２】
期待値照合回路３０は、論理回路１８からパターンデータ（テスト結果）を入力し、パターン生成回路２４からは期待値パターンデータを入力して、両者を比較・照合して、論理回路１８の異常の有無を診断し、診断結果をバッファ３８、入出力端子４８を介して外部の表示装置に表示させる診断手段として構成されている。
【００２３】
次に、ディスクアレイ装置用ＬＳＩ１０の診断方法を図２のフローチャートに従って説明する。ディスクアレイ装置用ＬＳＩ１０の論理回路１８を診断対象（テスト対象）として、診断を行うに際して、まず、入出力端子４６からバッファ３６を介してＲＡＭ２８にテストプログラムをロードする（ステップＳ１）。次に、入出力端子４４からバッファ３４を介してＣＰＵ２６に診断指示を入力すると、ＣＰＵ２６が診断指示に応答して診断を開始し、パターン生成回路２４に対してパターン発生指令（命令）が出力される（ステップＳ２）。パターン発生指令がパターン生成回路２４に入力されると、パターン生成回路２４において、論理回路１８の動作を指令するためのパターン（２値情報の動作指令パターン）が順次生成され、生成されたパターンがセレクタ１６を介して論理回路１８に出力されるとともに、診断基準値として、生成されたパターン（動作指令パターン）に対応して、論理回路１８のテスト結果として想定される期待値が期待値パターンデータで生成され、生成された期待値パターンデータが期待値照合回路３０に出力される（ステップＳ３）。論理回路１８にパターン（動作指令パターン）が順次入力されると、入力されたパターンに従って論理回路１８が動作し、論理回路１８からテスト結果を示すパターンデータが出力され、各テスト結果が期待値照合回路３０に順次入力される。各パターンデータが期待値照合回路３０に入力されると、期待値照合回路３０において、パターンデータ（テスト結果）と期待値パターンデータとの比較・照合が行われ、論理回路１８の異常の有無が診断される（ステップＳ４）。論理回路１８に関する診断結果が正常であるときには、論理回路１８が正常状態にある旨の診断結果がバッファ３８、入出力端子４８を介して外部の表示装置に表示される（ステップＳ５）。
【００２４】
一方、論理回路１８に関する診断結果が異常であるときには、論理回路１８が異常状態にある旨の診断結果がバッファ３８、入出力端子４８を介して外部の表示装置に表示され（ステップＳ６）、かつその内容が出力される（ステップＳ７）。
【００２５】
本実施例によれば、ディスクアレイ装置用ＬＳＩ１０を出荷する前に、すなわち、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載する前に、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後の実機と同一の条件で、自己診断回路２２を用いて、ディスクアレイ装置用ＬＳＩ１０の異常の有無を診断するようにしたため、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後に、ディスクアレイ装置に故障、不良などの異常が生じるのを抑制することができ、ディスクアレイ装置の信頼性の向上に寄与することができる。
【００２６】
次に、テスト結果のパターンデータや期待値パターンデータを圧縮するときの実施例を図３に基づいて説明する。
【００２７】
実施例は、自己診断回路２２に、クロックに同期して動作する圧縮回路５０を設け、圧縮回路５０において、パターン生成回路２０の生成による期待値パターンデータと論理回路１８の出力によるパターンデータ（テスト結果のパターンデータ）を圧縮し、圧縮された期待値パターンデータとテスト結果のパターンデータとを期待値照合回路３０で比較・照合するようにしたものであり、他の構成を図１のものと同様である。
【００２８】
この場合、期待値照合回路３０は、圧縮回路５０で圧縮されたパターンデータ（テスト結果）と期待値パターンデータを入力して両者を比較・照合して、論理回路１８の異常の有無を診断し、診断結果をバッファ３８、入出力端子４８を介して外部の表示装置に表示させる診断手段を構成することになる。
【００２９】
ここで、論理回路１８から、例えば、テスト結果のパターンデータとして、図４に示すように、横軸が端子数、縦軸が時間を示すパターンデータが出力された場合、２進符号のパターンデータは圧縮回路５０で１６進符号に変換された後、ランレングス法により、繰り返し数を付加したパターンデータに圧縮される。
【００３０】
例えば、２進符号の「０１１１０１１１０００１０００１０００１０００１」は、「０１１１」と「０００１」に分割され、「０１１１」は、「７」に変換され、「０００１」は、「１」に変換され、「７」と「７」は「２７」に変換され、「１」、「１」、「１」、「１」は「４１」に変換され、全体として、「２７４１」になる。図４のパターンデータの場合、パターンデータ「２７４１」が９個連続して生成されているので、パターンデータ「２７４１」に繰り返し時間（繰り返し数）を示すデータ「０９」が付加される。これにより、パターンデータの圧縮において、横軸の端子軸の圧縮と、縦軸の時間軸の圧縮を同時に行うことができ、データ数を低減することができる。
【００３１】
一方、パターン生成回路２４において、図５に示すように、横軸が端子数、縦軸が時間を示す期待値パターンデータとして、１端子当たり２ビットを割り当てた期待値パターンデータが生成された場合、２進符号の期待値パターンデータは圧縮回路５０で１６進符号に変換された後、ランレングス法により、繰り返し数を付加した期待値パターンデータに圧縮される。
【００３２】
例えば、「００」を“０”を期待する期待値データとし、「０１」を“１”を期待する期待値データとし、「１０」を未期待（マスク）のデータとしたときに、２進符号の期待値パターンデータ「０１０１０１０１０１０１０１０００００００１０００００００１０００００００１」のうち「０１０１０１０１」はそれぞれ「５５」に変換され、「０００００００１」はそれぞれ「０１」に変換され、「５５」、「５５」は「０２５５」に変換され、「０１」、「０１」、「０１」は「０３０１」に変換され、全体として、「０２５５０３０１」になる。なお、期待値パターンデータにおいては、期待値と未期待（マスク）の部分が存在するので、１端子当たり２ビットを割り当てて、期待値データとしている。
【００３３】
図５の期待値パターンデータの場合、期待値パターンデータ「０２５５３０１」が９個連続して生成されているので、期待値パターンデータ「０２５５３０１」に繰り返し時間（繰り返し数）を示すデータ「０９」が付加される。これにより、期待値パターンデータの圧縮において、横軸の端子軸の圧縮と、縦軸の時間軸の圧縮を同時に行うことができ、データ数を低減することができる。
【００３４】
テスト結果のパターンデータや期待値パターンデータを復元するに際しては、圧縮の手順とは逆の手順でパターンデータを復元することで、パターンデータを欠損無く完全に復元することができる。また、クロックについては、常にその値が変化しているので、クロックの圧縮率を下げる為には、パターン発生時に別扱いでパターンを生成する。
【００３５】
次に、ディスクアレイ装置用ＬＳＩ１０の診断方法を図６のフローチャートに従って説明する。ディスクアレイ装置用ＬＳＩ１０の論理回路１８を診断対象（テスト対象）として、診断を行うに際して、まず、入出力端子４６からバッファ３６を介してＲＡＭ２８にテストプログラムをロードする（ステップＳ１１）。次に、入出力端子４４からバッファ３４を介してＣＰＵ２６に診断指示を入力すると、ＣＰＵ２６が診断指示に応答して診断を開始し、パターン生成回路２４に対してパターン発生指令（命令）が出力される（ステップＳ１２）。パターン発生指令がパターン生成回路２４に入力されると、パターン生成回路２４において、論理回路１８の動作を指令するためのパターン（２値情報の動作指令パターン）が順次生成され、生成されたパターンがセレクタ１６を介して論理回路１８に出力されるとともに、診断基準値として、例えば、生成されたパターン（動作指令パターン）に対応して、論理回路１８のテスト結果として想定される期待値が期待値パターンデータで生成され、生成された期待値パターンデータが圧縮回路５０に出力される（ステップＳ１３）。論理回路１８にパターン（動作指令パターン）が順次入力されると、入力されたパターンに従って論理回路１８が動作し、論理回路１８からテスト結果を示すパターンデータが出力され、各テスト結果が圧縮回路５０に順次入力される。圧縮回路５０に、テスト結果のパターンデータとともに、期待値パターンデータが入力されると、これらのパターンデータは圧縮回路５０において、時間軸と端子軸について圧縮され、圧縮された後、期待値照合回路３０に転送される（ステップＳ１４）。期待値照合回路３０においては、圧縮されたパターンデータ（テスト結果）と期待値パターンデータとの比較・照合が行われ、論理回路１８の異常の有無が診断される（ステップＳ１５）。論理回路１８に関する診断結果が正常であるときには、論理回路１８が正常状態にある旨の診断結果がバッファ３８、入出力端子４８を介して外部の表示装置に表示される（ステップＳ１６）。
【００３６】
一方、論理回路１８に関する診断結果が異常であるときには、論理回路１８が異常状態にある旨の診断結果がバッファ３８、入出力端子４８を介して外部の表示装置に表示され（ステップＳ１７）、かつその内容が出力される（ステップＳ１８）。
【００３７】
本実施例によれば、ディスクアレイ装置用ＬＳＩ１０を出荷する前に、すなわち、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載する前に、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後の実機と同一の条件で、自己診断回路２２を用いて、ディスクアレイ装置用ＬＳＩ１０の異常の有無を診断するようにしたため、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後に、ディスクアレイ装置に故障、不良などの異常が生じるのを抑制することができ、ディスクアレイ装置の信頼性の向上に寄与することができる。
【００３８】
また、本実施例においては、テスト結果のパターンデータや期待値パターンデータを圧縮するようにしたため、前記実施例のものよりも、診断処理を迅速に行うことができる。
【００３９】
次に、ＬＳＩ単体を診断するためのテストプログラムと期待値を論理シミュレーションによって作成するときの実施例を図７に基づいて説明する。
【００４０】
ＬＳＩ単体のテストプログラムと期待値を論理シミュレーションによって作成するに際して、ディスクアレイ装置用ＬＳＩ１０に搭載された論理回路１８の入力と出力を同時にモニタするために、セレクタ１６の入力側と論理回路１８の出力側をそれぞれ圧縮回路５０の入力側に接続するとともに、圧縮回路５０の出力側を、ＣＰＵ２６を介してＲＡＭ２８に接続する。また、ＣＰＵ２６の出力をセレクタ１６に直接接続する。
【００４１】
次に、論理回路１８を動作させた状態で、論理回路１８の入力状態と出力状態を圧縮回路５０で圧縮し、この圧縮結果（データ）をＣＰＵ２６に転送する。ＣＰＵ２６は、圧縮結果をＲＡＭ２８にロードし、一定時間経過したとき、あるいはＲＡＭ２８の残容量に応じて、ＲＡＭ２８にロードされた圧縮結果をバッファ３６、入出力端子４６を介して外部に出力して、外部でログが取れるようにする。
【００４２】
次に、図８に示すように、ディスクアレイ装置用ＬＳＩ１０に対する論理設計、例えば、ＲＴＬ（Ｒｅｇｉｓｔｅｒ  Ｔｒａｎｓｆｅｒ  Ｌｅｖｅｌ）設計を行い（ステップＳ２１）、その内容をデータベース（ＲＴＬ  Ｎｅｔｌｉｓｔ）６０に格納する。この後、シミュレータ（図示せず）とデータベース６２に格納された装置プログラム（ディスクアレイ装置全体をテストするためのプログラム）を用いてディスクアレイ装置用ＬＳＩ１０に対する論理検証（シミュレーション）を実行し、その結果を抽出してデータベース６４に格納する（ステップＳ２２）。
【００４３】
次に、データベース６４に格納された論理検証の結果を基に論理検証の結果を入力データと期待値データとに分離した後、ＬＳＩ単体テストプログラムに変換し、ＬＳＩ単体テストプログラムをデータベース６６に格納する（ステップＳ２３）。この後、データベース６６に格納されたＬＳＩ単体テストプログラムを用いて、ディスクアレイ装置用ＬＳＩ１０に対する出荷前のテストを実行する（ステップＳ２４）。
【００４４】
このように、ＬＳＩ単体テストプログラムと期待値（期待値データ）を論理シミュレーションにて容易に作成することができる。
【００４５】
一方、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後、ディスクアレイ装置用ＬＳＩ（ＬＳＩ単体）１０に不良が発生した場合、図７におけるモニタ機能を利用し、不良発生時の入力状態や出力状態を抽出し、抽出結果を基に不良解析を実行する。具体的には、図９に示すように、データベース６６に格納されたテストプログラムに従ってディスクアレイ装置用ＬＳＩ１０に対するテストを実行している過程で、不良が発生したときには、不良の発生したディスクアレイ装置用ＬＳＩ１０の入力状態と出力状態を圧縮回路５０で圧縮し、圧縮結果をＣＰＵ２６に転送し、ＣＰＵ２６において、ディスクアレイ装置用ＬＳＩ１０の不良（不具合）の内容を抽出してデータベース６８に格納する。この後、データベース６８に格納された不良（不具合）の内容を入力データと期待値データに変換して、その内容をＬＳＩ単体テストパターンに反映し、不良の内容が反映されたＬＳＩ単体テストパターンをデータベース６６に格納する（ステップＳ３１）。次に、データベース６６に格納されたＬＳＩ単体テストプログラムとデータベース６０に格納された論理設計後のデータを基にディスクアレイ装置用ＬＳＩ１０に対する論理検証（シミュレーション）を実行し（ステップＳ３２）、論理検証の結果を基にディスクアレイ装置用ＬＳＩ１０に対する不良解析を行うとともに、不良解析を基に対策パターンを作成する（ステップＳ３３）。
【００４６】
このように、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後、ディスクアレイ装置用ＬＳＩ１０に不良が発生した場合でも、ディスクアレイ装置用ＬＳＩ１０に対する不良解析や対策パターン作成を容易に行うことができる。
【００４７】
すなわち、ディスクアレイ装置用ＬＳＩ（ＬＳＩ単体）１０をディスクアレイ装置に搭載した後のテストとして、ＬＳＩ単体のテストを容易に行うためには、ＬＳＩ単体をディスクアレイ装置に搭載した後の実機テストパターンと同等のパターンを効率よく、かつ容易に作成することが必要である。また、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載した後のＬＳＩ単体の不良の解析や対策を行うに際して、不良発生時の条件を含むＬＳＩ単体テスト用パターンの作成に膨大な時間と工数を要することになる。
【００４８】
これに対して、本実施例によれば、ＬＳＩ単体のテストプログラムや期待値を論理シミュレーションにて容易に作成することができる。また、本実施例によれば、ＬＳＩ単体の不良発生時の解析や不良対策用パターン作成を容易に行うことができる。
【００４９】
次に、ＬＳＩピンの増加を抑制するための実施例を図１０および図１１に基づいて説明する。
【００５０】
本実施例は、図１０に示すように、バッファ１４、３８の直後または直前にセレクタ１６、１７を挿入し、ＬＳＩピンの増加を抑制したものである。具体的には、入出力端子４０はＬＳＩピンとして構成され、入出力端子４０には、バッファ１４とバッファ３８が接続されている。バッファ１４の出力側はセレクタ１６とＲＡＭ２８に接続され、バッファ３８の入力側はセレクタ１７に接続されている。セレクタ１６は、入力用選択手段として、入力側がバッファ１４、パターン生成回路２４に接続され、出力側が論理回路１８に接続されている。セレクタ１７は、出力用選択手段として、入力側がＲＡＭ２８と論理回路１８および期待値照合回路３０に接続され、出力側がバッファ３８に接続されている。セレクタ１６、１７はそれぞれパターン生成回路２４からの指令に応答して入力信号（入力情報）を選択するようになっている。
【００５１】
例えば、ＬＳＩ単体テスト（ディスクアレイ装置用ＬＳＩ１０の出荷前の診断テスト）時には、入出力端子４０からバッファ１４を介してＲＡＭ２８にテストプログラムがロードされ、ＣＰＵ２６からパターン生成回路２４に対してパターン発生指令が出力されると、セレクタ１６は、パターン生成回路２４からのパターンを選択し、選択したパターンを論理回路１８に転送する。これにより、論理回路１８におけるテストが開始され、テスト結果が論理回路１８から圧縮回路５０に出力される。テスト結果が圧縮回路５０で圧縮されて期待値照合回路３０に出力され、期待値照合回路３０において、テスト結果と期待値との照合が実行される。期待値照合回路３０から照合による診断結果が出力されると、セレクタ１７は、期待値照合回路３０からの診断結果（照合結果）を選択し、選択した診断結果をバッファ３８を介して入出力端子４０に転送する。これにより、外部の表示装置に診断結果が表示されることになる。
【００５２】
本実施例によれば、入出力端子４０は、テストプログラムをロードするための入出力端子４６と、診断結果を出力するための入出力端子４８を兼用（共用）することができ、入出力端子（ＬＳＩピン）数の低減を図ることができる。
【００５３】
一方、実機の動作に伴うシミュレーション結果を外部に出力するに際しては、図１１に示すように、論理回路１８に対するシミュレーションが実行され、シミュレーションの結果が圧縮回路５０で圧縮された後、ＣＰＵ２６に入力されると、ＣＰＵ２６においてシミュレーション結果が解析される。ＣＰＵ２６による解析結果が解析パターンとしてＲＡＭ２８に格納されると、セレクタ１７は、ＲＡＭ２８に格納された解析パターンを選択し、選択した解析パターンをバッファ３８を介して入出力端子４０から外部にログ出力する。
【００５４】
本実施例によれば、入出力端子４０は、解析パターンをログ出力するための入出力端子４８を兼用することができ、入出力端子（ＬＳＩピン）数の低減を図ることができる。
【００５５】
次に、ディスクアレイ装置用ＬＳＩ１０に対して、複数の処理（ロード、テスト）を並行して実行するときの実施例を図１２に基づいて説明する。
【００５６】
本実施例は、ＲＡＭ２８の記憶領域を複数のエリア２８ａ、２８ｂに分け、各リア２８ａ、２８ｂのアドレスを制御するためのＲＡＭアドレス制御回路（メモリ制御手段）２９を設けたものであり、他の構成は、図１０のものと同様である。
【００５７】
ディスクアレイ装置用ＬＳＩ１０に対して、テストプログラムのロードとテストを並行して行うに際して、ＲＡＭ２８の記憶領域を複数のエリア２８ａ、２８ｂに分け、１回目のテストプログラムを入出力端子４０からバッファ１４に入力すると、ＲＡＭアドレス制御回路２９により、ＲＡＭ２８のアドレスとして、エリア２８ａが指定され、バッファ１４を通過したテストプログラムがエリア２８ａにロードされる。エリア２８ａにテストプログラムがロードされると、このテストプログラムはＣＰＵ２６に転送されてロードされる。ＣＰＵ２６がテストプログラムに従って処理を開始すると、ＣＰＵ２６からパターン生成回路２４に対してパターン発生指令が出力される。このとき、セレクタ１６は、パターン生成回路２４からのパターン（動作指令パターン）を選択し、選択したパターンを論理回路１８に転送する。これにより、論理回路１８におけるテストが開始され、テスト結果が論理回路１８から圧縮回路５０に出力される。テスト結果が圧縮回路５０で圧縮されて期待値照合回路３０に出力され、期待値照合回路３０において、テスト結果と期待値との照合が実行される。期待値照合回路３０から照合による診断結果が出力されると、セレクタ１７は、期待値照合回路３０からの診断結果（照合結果）を選択し、選択した診断結果をバッファ３８を介して入出力端子４０に転送する。これにより、外部の表示装置に１回目のテストに関する診断結果が表示されることになる。
【００５８】
１回目のテストプログラムが進行している過程で、例えば、１回目のテストプログラムの中盤あたりで、２回目のテストプログラムを入出力端子４０からバッファ１４に入力すると、ＲＡＭアドレス制御回路２９により、ＲＡＭ２８のアドレスとして、エリア２８ｂが指定され、バッファ１４を通過したテストプログラムがエリア２８ｂにロードされる。
【００５９】
１回目のテストプログラムが終了したときには、エリア２８ｂに格納された２回目のテストプログラムは、ＣＰＵ２６に転送されてロードされる。ＣＰＵ２６が２回目のテストプログラムに従って処理を開始すると、ＣＰＵ２６からパターン生成回路２４に対してパターン発生指令が出力される。このとき、セレクタ１６は、パターン生成回路２４からのパターンを選択し、選択したパターンを論理回路１８に転送する。これにより、論理回路１８における２回目のテストが開始され、２回目のテスト結果が論理回路１８から圧縮回路５０に出力される。２回目のテスト結果が圧縮回路５０で圧縮されて期待値照合回路３０に出力され、期待値照合回路３０において、テスト結果と期待値との照合が実行される。期待値照合回路３０から照合による診断結果が出力されると、セレクタ１７は、期待値照合回路３０からの診断結果（照合結果）を選択し、選択した診断結果をバッファ３８を介して入出力端子４０に転送する。これにより、外部の表示装置に２回目のテストに関する診断結果が表示されることになる。
【００６０】
２回目のテストプログラムが進行している過程で、例えば、２回目のテストプログラムの中盤あたりで、３回目のテストプログラムを入出力端子４０からバッファ１４に入力すると、ＲＡＭアドレス制御回路２９により、ＲＡＭ２８のアドレスとして、エリア２８ａが指定され、バッファ１４を通過したテストプログラムがエリア２８ａにロードされる。以降、同様の処理が実行され、３回目のテストに関する診断結果が外部の表示装置に表示されることになる。
【００６１】
このように、テストプログラムをエリア２８ａ、２８ｂに交互にロードすることで、ＲＡＭ２８の容量に依存することなく、ディスクアレイ装置用ＬＳＩ１０に対して、テストプログラムのロードとテストプログラムを用いたテストを並行して行うことができる。
【００６２】
すなわち、ディスクアレイ装置用ＬＳＩ１０に対して、ロード、テストなどの処理を並行して実行する場合、ＲＡＭ２８の容量を増やすことで可能になるが、ロード、テストなどの処理のために、ＲＡＭ２８を大容量にすると、コストアップになる。
【００６３】
これに対して、本実施例においては、ＲＡＭ２８の記憶領域を複数のエリア２８ａ、２８ｂに分け、各エリア２８ａ、２８ｂにロード、テストなどに用いるテストプログラムを交互に格納するようにしたため、テストプログラムのロードとテストを並行して行うことができるとともに、ＲＡＭ２８を小容量のもので構成することができ、コスト低減を図ることができる。
【００６４】
ここで、ディスクアレイ装置用ＬＳＩ１０内のメモリ（ＲＡＭ）に対して、通常の論理回路と同様に、ＲＡＭ−ＢＩＳＴ（Ｂｕｉｌｔ  Ｉｎ  Ｓｅｌｆ  Ｔｅｓｔ）を実施するに際して、このテスト方法として、データリンテンションテストを採用することを想定する。このデータリンテンションテストは、例えば、図１３に示すように、各アドレス「Ｃ」〜「Ｆ」、「８」〜「Ｂ」、「４」〜「７」、「０」〜「３」に書き込みまたは読出しデータ「０」、「１」を市松模様に実施するチェッカボードパターンでのテストである。
【００６５】
ところで、このデータリンテンションテストを実行するに際して、リードとライトの２ポートを有するＲＡＭに対して、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）のような利用方法を採用すると、図１４に示すように、ライトアクセスとリードアクセスのタイミングによってはライトアドレス「１０」〜「１３」とリードアドレス「Ｃ」〜「Ｆ」が隣接することがある。この場合、アドレス「１０」〜「１３」に対するライトアクセスとアドレス「Ｃ」〜「Ｆ」に対するリードアクセスを同時に実行すると、図１５に示すように、配線状態のときには、ライトアクセスとリードアクセスが互いに干渉し、この干渉の伴うクロストークやノイズの影響によって、例えば、図１６に示すように、ライドアドレス「１１」にライトデータ「１」を書き込むときに、ライトアドレス「１１」に隣接するリードアドレス「Ｄ」に対するリード信号の変化がライドアドレス「１１」のデータに作用し、ライドアドレス「１１」にライトデータとして、「１」を書き込むべきところを「０」と誤って書き込む可能性がある。
【００６６】
しかし、前記各本実施例においては、ディスクアレイ装置用ＬＳＩ１０をディスクアレイ装置に搭載する前（出荷前）に、装置搭載時と同等のテストプログムラに基づいてディスクアレイ装置用ＬＳＩ１０に対するテストを実行するようにしているので、配線形状の変形やごみなどにより、ＲＡＭに対する同時アクセス（同時リード／ライトアクセス）時のノイズの影響で誤ったデータを書き込むまたは読み出す可能性のある、不良部分を確実に抽出し、ディスクアレイ装置用ＬＳＩ１０の異常の有無を確実に診断することができる。
【００６７】
次に、ディスクアレイ装置用ＬＳＩ１０が搭載されたディスクアレイ装置を用いてストレージシステムを構成したときの実施例を図１７に従って説明する。
【００６８】
ディスクアレイ装置１００は、複数のチャネル制御部１０２、複数のキャッシュ１０４、クロスバスイッチ１０６、複数のディスク制御部１０８を備えており、各チャネル制御部１０２と各キャッシュ１０４および各ディスク制御部１０８はクロスバスイッチ１０６を介して接続され、各チャネル制御部１０２はネットワーク１１０を介してホスト（ホストコンピュータ）１１２に接続され、各ディスク制御部１０８はドライブ（ディスクドライブ）１１４に接続されている。ホスト１１２は、ＣＰＵやメモリ等を備えたコンピュータ装置であり、例えば、ワークステーション、メインフレームコンピュータ、パーソナルコンピュータ等で構成されている。ネットワーク１１０は、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などで構成されている。
【００６９】
各チャネル制御部１０２は、図１８に示すように、プロセッサ２００、２０２を備えているとともに、多種のポートとして、ホスト用Ｉ／Ｆ（インターフェース）２０４、２０５、ＨＳＮ（Ｈｉｅｒａｒｃｈｉｃａｌ  Ｓｔａｒ  Ｎｅｔ）用Ｉ／Ｆ２１１、２１２、２１３、２１４、ＤＤＲ（Double Data Module）用Ｉ／Ｆ２１５、２１６を備え、チャネルアダプタ用ＬＳＩ２２０に搭載されている。
【００７０】
クロスバスイッチ１０６は、図１８に示すように、チャネル制御部のＨＳＮ用Ｉ／Ｆ２１１、２１２、２１３、２１４に対応したポートとして、ＨＳＮ用Ｉ／Ｆ２３１、２３２、２３３、２３４を備えているとともに、キャッシュ１０４を接続対象としたポートとして、ＨＳＮ用Ｉ／Ｆ２３５、２３６、２３７、２３８を備え、Ｉ／Ｆ２３１、２３２、２３３、２３４とＩ／Ｆ２３５、２３６、２３７、２３８は互いに接続された状態でスイッチ用ＬＳＩ２４０に搭載されている。
【００７１】
各キャッシュ１０４は、図１８に示すように、制御回路２５０と、クロスバスイッチ１０６のＩ／Ｆ２３５、２３６、２３７、２３８に対応したポートとして、ＨＳＮ用Ｉ／Ｆ２５１、２５２、２５３、２５４を備えているとともに、外部メモリモジュール等を接続対象としたＤＤＲ用Ｉ／Ｆ２５５、２５６、２５７、２５８を備え、キャッシュ用ＬＳＩ２６０に搭載されている。各ＤＤＲ用Ｉ／Ｆ２５５、２５６、２５７、２５８は、メモリモジュールとして、例えば、ＤＤＲ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ）メモリＤＩＭＭ（Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）３００、３０２、３０４、３０６に接続されている。
【００７２】
次に、ディスクアレイ装置１００の動作およびテストフローを図１９のフローチャートに従って説明する。
【００７３】
ホスト１１２からネットワーク１１０を介して、ディスクアレイ装置１００にリード・ライト命令が転送されたときには、いずれかのチャネル制御部１０２がリード・ライト命令を受け、Ｉ／Ｆ２０４を介してプロセッサ２００がデータをリードし、プロセッサ２０２がデータライトの命令を発行する（ステップＳ１０１）。この際、プロセッサ２０２は、キャッシュ１０４で利用可能なＩ／Ｆ（ポート）を自動的に選択し、選択したＩ／Ｆ（ポート）、例えば、Ｉ／Ｆ２１２にデータライトの命令を伝達する（ステップＳ１０２）。Ｉ／Ｆ２１２からＩ／Ｆ２３１にデータライトの命令が伝達されたときには、スイッチ用ＬＳＩ２４０において、キャッシュ１０４でアクセス可能なＩ／Ｆ（ポート）を自動的に選択し、選択したＩ／Ｆ（ポート）、例えば、Ｉ／Ｆ２３６にデータライトの命令を伝達する（ステップＳ１０３）。このとき、チャネルアダプタ用ＬＳＩ２２０に関するテストデータを抽出する（ステップＳ１０４）。
【００７４】
次に、スイッチ用ＬＳＩ２４０のＩ／Ｆ２３６からキャッシュ１０４にアクセスして、例えば、キャッシャ１０４のＩ／Ｆ２５３にデータライトの命令を伝達する（ステップＳ１０５）。このとき、スイッチ用ＬＳＩ２４０に関するテストデータを抽出する（ステップＳ１０６）。この後、制御回路２５０の処理により、例えば、Ｉ／Ｆ２５５を介してＤＤＲメモリＤＩＭＭ３００へのライト・リードが実行される（ステップＳ１０７）。このとき、キャッシュ用ＬＳＩ２６０に関するテストデータが抽出される（ステップＳ１０８）。なお、リードデータは、例えば、キャッシュ用ＬＳＩ２６０のＩ／Ｆ２５１からスイッチ用ＬＳＩ２０のＩ／Ｆ２３５、Ｉ／Ｆ２３３、チャネルアダプタ用ＬＳＩ２２０のＩ／Ｆ２１４、Ｉ／Ｆ２０４を介してホスト１１２に転送される。
【００７５】
ディスクアレイ装置１００を用いてストレージシステムを構成するに際して、ディスクアレイ装置１００には、チャネルアダプタ用ＬＳＩ２２０、スイッチ用ＬＳＩ２４０、キャッシュ用ＬＳＩ２６０など、多ポート（Ｉ／Ｆ）のＬＳＩが搭載されるので、各ＬＳＩがリード・ライトアクセスに伴う一連の動作を行う過程で、各ポートが同時に動作することがあり、その活性化はかなり高いものになる。このため、ディスクアレイ装置１００においては、その機能から競合テストは重要な必須テストでもある。
【００７６】
一方、チャネルアダプタ用ＬＳＩ２２０、スイッチ用ＬＳＩ２４０、キャッシュ用ＬＳＩ２６０など、ＬＳＩ単体の出荷前テストにおいて、各ＬＳＩのポート競合における高い活性化でのテストは行われていないので、各ＬＳＩをディスクアレイ装置１００に搭載した後に、ＬＳＩの高い活性化に伴う配線干渉（ノイズ）や電圧変動などによってＬＳＩが動作不良になる可能性がある。
【００７７】
しかし、本実施例においては、チャネルアダプタ用ＬＳＩ２２０、スイッチ用ＬＳＩ２４０、キャッシュ用ＬＳＩ２６０などのＬＳＩ単体の出荷前のテストに、論理検証（シミュレーション）でのテスト内容をそのまま組み込むようにしているので、ディスクアレイ装置１００を用いてストレージシステムを構成した際に、各ＬＳＩが動作している状態で、競合テストを反映したＬＳＩのテストデータとして、ステップＳ１０４、Ｓ１０６、Ｓ１０８において、各ＬＳＩ２２０、２４０、２６０のテストデータを抽出することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明に係るディスクアレイ装置用ＬＳＩの第１実施例を示すブロック構成図である。
【図２】本発明に係るディスクアレイ装置用ＬＳＩにおけるテスト方法を説明するためのフローチャートである。
【図３】本発明に係るディスクアレイ装置用ＬＳＩの第２実施例を示すブロック構成図である。
【図４】入力パターンデータの圧縮方法を説明するための説明図である。
【図５】期待値パターンデータの圧縮方法を説明するための説明図である。
【図６】本発明に係るディスクアレイ装置用ＬＳＩにおけるテスト方法を説明するためのフローチャートである。
【図７】本発明に係るディスクアレイ装置用ＬＳＩの第３実施例を示すブロック構成図である。
【図８】テストプログラムの生成方法を説明するためのフローチャートである。
【図９】不良発生時の解析方法を説明するためのフローチャートである。
【図１０】本発明に係るディスクアレイ装置用ＬＳＩの第４実施例を示すブロック構成図である。
【図１１】本発明に係るディスクアレイ装置用ＬＳＩの第５実施例を示すブロック構成図である。
【図１２】本発明に係るディスクアレイ装置用ＬＳＩの第６実施例を示すブロック構成図である。
【図１３】チェッカボードパターンの構成図である。
【図１４】ＲＡＭに対するライトアクセスとリードアクセスの関係を説明するためのＲＡＭの構成図である。
【図１５】ＲＡＭに対するライトアクセスとリードアクセスに伴う配線干渉の状態を示す模式図である。
【図１６】ＲＡＭに対するライトアクセスとリードアクセスに伴う誤動作現象を説明するためのタイムチャートである。
【図１７】本発明に係るディスクアレイ装置を用いてストレージシステムを構成したときのシステム構成図である。
【図１８】本発明に係るディスクアレイ装置を構成するＬＳＩのブロック構成図である。
【図１９】本発明に係るディスクアレイ装置を用いたストレージシステムの作用を説明するためのフローチャートである。
【図２０】従来のＢＩＳＴ方式によるハードウエアテストを説明するためのブロック構成図である。
【図２１】従来のＡＣテスト方法を説明するための論理回路の模式図である。
【図２２】従来のＬＳＩに関するテスト方法を説明するためのブロック構成図である。
【符号の説明】
【００７９】
１０  ディスクアレイ装置用ＬＳＩ
１２  基板
１４、２０、３４、３６、３８  バッファ
１６、１７  セレクタ
１８  論理回路
２２  自己診断回路
２４  パターン生成回路
２６  ＣＰＵ
２８  ＲＡＭ
２９  ＲＡＭアドレス制御回路
３０  期待値照合回路
４０、４２、４４、４６、４８  入出力端子
５０  圧縮回路
１００  ディスクアレイ装置
１０２  チャネル制御部
１０４  キャッシュ
１０６  クロスバスイッチ
１０８  ディスク制御部
１１２  ホスト
１１４  ドライブ
２２０  チャネルアダプラ用ＬＳＩ
２４０  スイッチ用ＬＳＩ
２６０  キャッシュ用ＬＳＩ
【図１】
2007226711.tif 000003
【図２】
2007226711.tif 000004
【図３】
2007226711.tif 000005
【図４】
2007226711.tif 000006
【図５】
2007226711.tif 000007
【図６】
2007226711.tif 000008
【図７】
2007226711.tif 000009
【図８】
2007226711.tif 000010
【図９】
2007226711.tif 000011
【図１０】
2007226711.tif 000012
【図１１】
2007226711.tif 000013
【図１２】
2007226711.tif 000014
【図１３】
2007226711.tif 000015
【図１４】
2007226711.tif 000016
【図１５】
2007226711.tif 000017
【図１６】
2007226711.tif 000018
【図１７】
2007226711.tif 000019
【図１８】
2007226711.tif 000020
【図１９】
2007226711.tif 000021
【図２０】
2007226711.tif 000022
【図２１】
2007226711.tif 000023
【図２２】
2007226711.tif 000024