(57)【要約】      （修正有）【課題】クロックスキューを効果的に低減する。【解決手段】第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を出力する複数の位相調整回路と、前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、を備えること。【選択図】図１
2005234646.tif 000002
【特許請求の範囲】
【請求項１】
第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を出力する複数の位相調整回路と、
前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、
を備えることを特徴とするクロック信号調整回路。
【請求項２】
請求項１に記載のクロック信号調整回路であって、前記位相調整回路は、ＤＬＬ回路であることを特徴とするクロック信号調整回路。
【請求項３】
請求項１に記載のクロック信号調整回路であって、
前記信号選択回路は、前記選択において、前記第３のクロック信号のうち最も遅延が大きいものを選択すること、
を特徴とするクロック信号調整回路。
【請求項４】
請求項１に記載のクロック信号調整回路であって、
前記信号選択回路は、外部からのタイミング指示信号を受け付け、受け付けた前記タイミング指示信号に応じたタイミングで前記第３のクロック信号のひとつを選択すること、
を特徴とするクロック信号調整回路。
【請求項５】
請求項１に記載のクロック信号調整回路であって、
前記位相調整回路が出力する前記第３のクロック信号は、前記位相調整回路の夫々の後段にツリー状に接続されるバッファ回路の夫々に分配して供給され、
前記信号選択回路は、各前記位相調整回路における同階層に接続される前記バッファ回路から出力される前記第３のクロック信号のひとつを選択すること、
を特徴とするクロック信号調整回路。
【請求項６】
請求項１に記載のクロック信号調整回路であって、
前記第３のクロック信号を分配するための信号線は、Ｈツリー型の配線方式によって配線されてなること、
を特徴とするクロック信号調整回路。
【請求項７】
請求項１に記載のクロック信号調整回路であって、
外部から入力される外部クロック信号と、前記第１のクロック信号とが入力され、前記外部クロック信号の位相を前記第１のクロック信号の位相に合わせるように制御し、前記位相調整回路の夫々に前記第１のクロック信号として出力する外部クロック位相調整回路を備えること、
を特徴とするクロック信号調整回路。
【請求項８】
請求項７に記載のクロック信号調整回路であって、外部クロック位相調整回路はＰＬＬ回路であることを特徴とするクロック信号調整回路。
【請求項９】
請求項７に記載のクロック信号調整回路であって、
前記外部クロック位相調整回路が出力するクロック信号の周波数を制御し、前記位相調整回路の夫々に前記第１のクロック信号として出力する外部クロック周波数調整回路を備えること、
を特徴とするクロック信号調整回路。
【請求項１０】
請求項１に記載のクロック信号調整回路であって、
複数の第１の前記位相調整回路と、第１の前記信号選択回路とを含む複数の回路ブロックと、
第４及び第５のクロック信号の入力を受け付け、前記第４のクロック信号の位相を前記第５のクロック信号の位相に合わせるように制御し、前記第１の位相調整回路の夫々に前記第１のクロック信号として出力する複数の第２の前記位相調整回路と、
前記第２の前記位相調整回路の夫々から出力される前記第１のクロック信号のひとつを選択し、前記第２の位相調整回路の夫々に前記第５のクロック信号として出力する第２の前記信号選択回路と、を備えること、
を特徴とするクロック信号調整回路。
【請求項１１】
請求項１に記載のクロック信号調整回路であって、
前記信号選択回路は、
前記位相調整回路の夫々から出力される前記第３のクロック信号の入力を受け付ける複数のフリップフロップ回路と、
前記フリップフロップ回路の夫々から出力される信号の入力を受け付けるＥＯＲ回路と、
前記フリップフロップ回路の夫々から出力される信号をデータ入力として受け付け、前記ＥＯＲ回路から出力される信号をクロック入力として受け付ける複数のラッチ回路と、
前記ラッチ回路の夫々から出力されるデータを受け付け、前記第３のクロック信号の何れかを示す信号を出力するエンコーダ回路と、
前記エンコーダ回路からの出力に応じて前記第３のクロック信号の何れかを選択するマルチプレクサと、
を備えることを特徴とするクロック信号調整回路。
【請求項１２】
請求項１乃至１１のいずれかに記載のクロック信号調整回路を集積化してなることを特徴とする集積回路。
【請求項１３】
第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を出力する複数の位相調整回路と、複数のクロック信号の入力を受け付け、入力された前記クロック信号のひとつを選択して出力する信号選択回路と、を備えるクロック信号調整回路の制御方法であって、
前記位相調整回路に入力する前記第１のクロック信号として、共通のクロック信号を入力し、
前記信号選択回路は、前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力すること、
を特徴とするクロック信号調整回路の制御方法。
【請求項１４】
情報処理装置から記憶デバイスに対するデータ入出力要求を受信するチャネルアダプタ装置と、前記記憶デバイスに対するデータ入出力に関する制御を行うディスクアダプタ装置と、前記チャネルアダプタ装置と前記ディスクアダプタ装置との間で授受されるデータを記憶するキャッシュメモリと、前記チャネルアダプタ装置と、前記ディスクアダプタ装置と、前記キャッシュメモリとを夫々通信可能に接続するスイッチ装置とを備える記憶デバイス制御装置に用いられるチャネルアダプタ装置であって、
ＣＰＵと、メモリと、前記データ入出力要求を受信する通信インタフェースと、データの転送を行うデータ転送プロセッサと、
第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、前記ＣＰＵ、前記メモリ、前記通信インタフェース、及び前記データ転送プロセッサの夫々に供給する複数の位相調整回路と、
前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、
を備えることを特徴とするチャネルアダプタ装置。
【請求項１５】
情報処理装置から記憶デバイスに対するデータ入出力要求を受信するチャネルアダプタ装置と、前記記憶デバイスに対するデータ入出力に関する制御を行うディスクアダプタ装置と、前記チャネルアダプタ装置と前記ディスクアダプタ装置との間で授受されるデータを記憶するキャッシュメモリと、前記チャネルアダプタ装置と、前記ディスクアダプタ装置と、前記キャッシュメモリとを夫々通信可能に接続するスイッチ装置とを備える記憶デバイス制御装置に用いられるディスクアダプタ装置であって、
ＣＰＵと、メモリと、前記データ入出力要求をの転送を行うデータ転送プロセッサと、前記記憶デバイスに対してデータ入出力を指示するコマンドを送信するディスクインタフェースと、
第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、前記ＣＰＵ、前記メモリ、及び前記ディスクインタフェースの夫々に供給する複数の位相調整回路と、
前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、
を備えることを特徴とするディスクアダプタ装置。
【請求項１６】
情報処理装置から記憶デバイスに対するデータ入出力要求を受信するチャネルアダプタ装置と、
前記記憶デバイスに対するデータ入出力に関する制御を行うディスクアダプタ装置と、
前記チャネルアダプタ装置と前記ディスクアダプタ装置との間で授受されるデータを記憶するキャッシュメモリと、
前記チャネルアダプタ装置と、前記ディスクアダプタ装置と、前記キャッシュメモリとを夫々通信可能に接続するスイッチ装置と、
第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、前記チャネルアダプタ装置、前記ディスクアダプタ装置、前記キャッシュメモリ、及び前記スイッチ装置の夫々に供給する複数の位相調整回路と、
前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、
を備えることを特徴とする記憶デバイス制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クロック信号調整回路、集積回路、クロック信号調整回路の制御方法、チャネルアダプタ装置、ディスクアダプタ装置、及び記憶デバイス制御装置に関する。
【背景技術】
【０００２】
近年、情報処理システムにおいて取り扱われるデータ量が増加しており、ディスクアレイ装置等のストレージ装置には大量かつ高速なデータ転送能力が求められている。
【特許文献１】特開平１１−６５６９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このような状況の下、ストレージ装置内部のＣＰＵや、メモリ、データ転送装置等を構成している集積回路（ＩＣ）についても、より一層の高速化及び大規模化が求められている。一方、集積回路の製造プロセスの微細化に伴い、製造条件の変動が回路の性能に与える影響が大きくなってきている。このような影響をできるだけ抑えるために、クロックスキューを低減させるように配慮した回路設計が行われてはいるが、それでも、実際に製造された回路には製造ばらつきが存在し、製造ばらつきに起因するクロックスキューを効果的に抑えることは難しい。
【０００４】
本発明は、このような背景を鑑みてなされたものであり、クロックスキューを効果的に低減することができる、クロック信号調整回路、集積回路、クロック信号調整回路の制御方法、チャネルアダプタ装置、ディスクアダプタ装置、及び記憶デバイス制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するための本発明のうち主たる発明は、第１及び第２のクロック信号の入力を受け付け、前記第１のクロック信号の位相を前記第２のクロック信号の位相に合わせるように制御した第３のクロック信号を出力する複数の位相調整回路と、前記位相調整回路の夫々から出力される前記第３のクロック信号のひとつを選択し、選択した前記第３のクロック信号を、前記位相調整回路の夫々に前記第２のクロック信号として出力する信号選択回路と、を備えることとする。
【発明の効果】
【０００６】
本発明によれば、クロックスキューを効果的に低減することができる。
【発明を実施するための最良の形態】
【０００７】
＝＝＝クロック信号調整回路＝＝＝
図１に本発明の一実施形態として説明するクロック信号調整回路１の構成を示している。クロック信号調整回路１は、夫々が所定の回路基盤上やＬＳＩの回路パターン上に区画される領域等に形成される４つの回路ブロック２０と、各回路ブロック２０から取り出されたクロック信号が入力される信号選択回路４０とを含んでいる。各回路ブロック２０には、クロック入力端子１１から供給される同一のクロック信号（外部クロック信号）が入力される。
【０００８】
各回路ブロック２０は、ＤＬＬ（Delay Locked Loop）回路２３（位相調整回路）、ＤＬＬ回路２３の後段に接続するクロックツリー３０、クロックツリー３０の後段に接続される負荷回路２２（本実施形態ではフリップフロップ回路）等を含んでいる。ＤＬＬ回路２３は、外部クロック信号と負荷回路２２に入力されるクロック信号との間のクロックスキュー（異なる場所のクロック信号の間に生じるタイミングのズレ）を低減させる。ＤＬＬ回路２３は、外部クロック信号が入力される第１の入力端子２３１、第２の入力端子２３２、及び出力端子２３３を備えている。ＤＬＬ回路２３は、第１の入力端子２３１に入力される外部クロック信号（第１のクロック信号）を、その位相が第２の入力端子２３２に入力されるクロック信号（第２のクロック信号）の位相に一致するように制御し、制御後の外部クロック信号を出力端子２３３から出力する。
【０００９】
ＤＬＬ回路２３の出力端子２３３から出力されたクロック信号は、ＤＬＬ回路２３の後段に接続するクロックツリー３０の頂点（ルート）に供給される。クロックツリー３０は、バッファ回路、クロックゲート回路、論理ゲート回路等をＣＴＳ（Clock Tree Synthesis）に従って多段に結線して構成したものである。なお、各回路ブロック２０間で各回路ブロック２０の負荷回路２２に供給されるクロック信号の遅延を揃えるべく、各回路ブロック２０におけるクロックツリー３０の総段数は一致させてある。
【００１０】
クロックツリー３０の最終段のバッファ回路から出力されるクロック信号は、負荷回路２２に供給されるとともに、信号選択回路４０にも供給される。信号選択回路４０は、各回路ブロック２０の夫々から出力されるクロック信号（第３のクロック信号）のうちのひとつを選択して出力する。信号選択回路４０から出力されたクロック信号は、各回路ブロック２０のＤＬＬ回路２３の第２の入力端子２３２に入力される。このように、クロック信号調整回路１を構成する各回路ブロック２０のＤＬＬ回路２３は、信号選択回路４０から帰還される共通のクロック信号に基づいて外部クロック信号の位相を制御する。従って、本クロック信号調整回路１によれば、各回路ブロック２０内でのクロックスキューの低減が図られるだけでなく、各回路ブロック２０間のクロックスキューも効果的に低減される。つまり、製造条件の変動等に起因するＤＬＬ回路２３やクロックツリー３０等の性能のばらつき（製造ばらつき）によって発生するクロックスキューの値が回路ブロック２０毎に異なったとしても、回路ブロック２０間のクロックスキューを低減することができる。従って、回路製造の歩留まりを上げ、回路の信頼性の向上を図ることができる。また、これにより回路の設計時に必要な設計マージンを低減することができ、さらに、論理ゲートの多段化が可能となり、より複雑なロジックにも対応することができる。回路を動作させるためのクロック信号の周波数を上げて、回路の高速化を図ることもできる。
【００１１】
なお、外部クロック信号を分岐させている分岐点１２から各回路ブロック２０のＤＬＬ回路２３までの配線距離を等しくし、また、信号選択回路４０から各回路ブロック２０のＤＬＬ回路２３までの配線を等しくすることにより、各回路ブロック２０間でのクロックスキューをより効果的に低減させることができる。
【００１２】
＝＝＝信号選択回路４０＝＝＝
次に上述した信号選択回路４０の具体的な構成について説明する。図２に信号選択回路４０の一例を示している。図２において、クロック信号Ｃ１〜Ｃ４は、各回路ブロック２０から出力されて信号選択回路４０に入力されるクロック信号である。ＲＥＱは当該信号選択回路４０の動作のオンオフ制御を行うための信号（以下、タイミング指示信号と称する）である。信号選択回路４０において、クロック信号Ｃ１〜Ｃ４はマルチプレクサ４１及び選択信号決定回路４２に入力される。選択信号決定回路４２は、マルチプレクサ４１に入力されるクロック信号Ｃ１〜Ｃ４のうちの最遅のクロック信号が出力されるようにマルチプレクサ４１を制御する。
【００１３】
図３に選択信号決定回路４２の一例を示している。この選択信号決定回路４２は、４つのフリップフロップ回路４３、各フリップフロップ回路４３の後段に接続するバッファ回路４５、各バッファ回路４５の後段に接続するラッチ回路４４、各ラッチ回路４４の後段に接続するエンコーダ回路４６、及びＥＯＲ（Exclusive OR：排他的論理和）回路４７を含んで構成されている。
【００１４】
クロック信号Ｃ１〜Ｃ４は、各フリップフロップ回路４３のクロック端子４３１に入力される。各フリップフロップ回路４３のデータ入力端子４３２には”１”が入力される。各フリップフロップ回路４３の出力端子４３３から出力される信号は、バッファ回路４５を通過して、対応する各ラッチ回路４４のデータ入力端子４４２に入力される。各ラッチ回路４４の出力端子４４３からの出力信号はエンコーダ回路４６に入力される。フリップフロップ回路４３のリセット端子４３４及びラッチ回路４４のリセット端子４４４には、タイミング指示信号ＲＥＱが入力される。ＥＯＲ回路４７には、各フリップフロップ回路４３の出力端子４３４から出力される出力信号が入力される。ＥＯＲ回路４７の出力信号はラッチ回路４４のクロック端子４４１に入力される。
【００１５】
図４は図３に示した選択信号決定回路４２の動作を説明するタイミングチャートである。まず時刻Ｔ０において、タイミング指示信号ＲＥＱがフリップフロップ回路４３のリセット端子４３４、及びラッチ回路４４のリセット端子４４４の夫々に入力されると、フリップフロップ回路４３及びラッチ回路４４がリセットされ、フリップフロップ回路４３の出力は全て”０”になる。またこのときＥＯＲ回路４７からの出力（ＮＥ）は”０”であり、ラッチ回路４４の出力も全て”０”である。
【００１６】
次に、時刻Ｔ１において、選択信号決定回路４２にクロック信号Ｃ１が入力されると、ＥＯＲ回路４７の出力は”１”となり、ラッチ回路４４はフリップフロップ回路４３からの入力信号をそのまま出力する。時刻Ｔ２ではクロック信号Ｃ２が、時刻Ｔ３ではクロック信号Ｃ３が夫々入力されるが、ＥＯＲ回路４７は”１”を出力したまま維持され、ラッチ回路４４はフリップフロップ回路４３からの入力信号を出力し続ける。
【００１７】
次に時刻Ｔ４において選択信号決定回路４２にクロック信号Ｃ４が入力されると、全てのフリップフロップ回路４３の出力は”１”となり、ＥＯＲ回路４７の出力は”０”となる。ここで各ラッチ回路４４は、夫々”１”、”１”、”１”、”０”をラッチした状態である。この場合、エンコーダ回路４６はクロック信号Ｃ４を出力させる制御信号をマルチプレクサ４１に出力する。
【００１８】
＝＝＝外部クロックとの同期＝＝＝
以上に説明したクロック信号調整回路１において、外部から入力されるクロック信号（外部クロック信号）と、クロック信号調整回路１を動作させるためのクロック信号（内部クロック信号）とを同期させる必要があることがある。そしてこの場合には、外部クロック信号と内部クロック信号との間でのクロックスキューを低減させる必要がある。
【００１９】
図５に示すクロック信号調整回路１では、図１に示すクロック信号調整回路１の構成に加え、クロック入力端子１１と回路ブロック２０との間に、ＰＬＬ（Phase Locked Loop）回路２１と分周回路２４とを設けている。この回路では、ＰＬＬ回路２１が外部クロック信号の周波数を逓倍し、分周回路２４が周波数を分周することにより、外部クロック信号の周波数と内部クロック信号の周波数とを合わせるようにしている（外部クロック周波数調整回路）。
【００２０】
ＰＬＬ回路２１は、回路ブロック２０に配置されているＤＬＬ回路２３と同様に、入力されたクロック信号の位相を調整する役割を果たす（外部クロック位相調整回路）。ＰＬＬ回路２１が出力するクロック信号は分周回路２４に入力される。分周回路２４が出力するクロック信号は、回路ブロック２０のＤＬＬ回路２３の第１の入力端子２３１に入力されるとともに、ＰＬＬ回路２１に帰還される。ＰＬＬ回路２１は、外部クロック信号の位相を、帰還されたクロック信号の位相に合わせるように制御する。これにより、ＰＬＬ回路２１に入力される外部クロック信号と、各回路ブロック２０に入力されるクロック信号との位相が調整され、外部クロック信号がＰＬＬ回路２１に入力されてから回路ブロック２０に入力されるまでの経路におけるクロックスキューが低減されることになる。
【００２１】
＝＝＝回路基板のレイアウト＝＝＝
図６は、上述したＰＬＬ回路２１及び分周回路２４を含むクロック信号調整回路１が形成された回路基板のレイアウトの一例である。このレイアウトでは、クロック信号調整回路１の回路基板の中央部に４つのＤＬＬ回路２３を配設している。分周回路２４とＤＬＬ回路２３の夫々との間の配線距離は等しくなっている。回路ブロック２０において、クロックツリー３０は、いわゆるＨツリーの配線方式により配線されている。  
このレイアウトでは、分周回路２４とＤＬＬ回路２３との間、ＤＬＬ回路２３間、及び信号選択回路４０とＤＬＬ回路２３との間の配線距離が夫々等しくなっている。これにより、クロックスキューをより効果的に低減することができる。  
なお、回路基板上の信号線は、電圧や温度、クロストークノイズなどの影響を考慮して、配線幅を変えたり、シールド配線が施されている。本回路基板では、このことによってもクロックスキューの低減が図られている。
【００２２】
＝＝＝回路ブロックの多段構成＝＝＝
より大規模化な回路においては、外部クロック信号がＰＬＬ回路２１から各回路ブロック２０に供給されるまでの間に発生するクロックスキューを低減させることで、より効果的に回路全体のクロックスキューを低減させることができる。  
図７に示すクロック信号調整回路１は４つの回路ブロック６０を含み、各回路ブロック６０は夫々４つの回路ブロック２０を含んでいる。つまり、このクロック信号調整回路１は計１６個の回路ブロックを含んでいる。
【００２３】
分周回路２４と各ＤＬＬ回路２３（第１の位相調整回路）との間には夫々ＤＬＬ回路５１（第２の位相調整回路）を設けている。また、上述した信号選択回路４０（第１の信号選択回路）と同じように動作する信号選択回路５２（第２の信号選択回路）を設けている。信号選択回路５２にはＤＬＬ回路５１の夫々から出力されるクロック信号が入力される。
【００２４】
ＰＬＬ回路２１により位相調整された外部クロック信号（第４のクロック信号）は、ＤＬＬ回路５１（第２の位相調整回路）の第１の入力端子５１１に入力される。ＤＬＬ回路５１の出力端子５１３から出力されたクロック信号（第１のクロック信号）は、回路ブロック２０のＤＬＬ回路２３の第１の入力端子２３１に供給されるとともに、信号選択回路５２にも供給される。信号選択回路５２は、上述した信号選択回路４０と同様に、入力されるクロック信号のうち最も遅延の大きいものを選択して出力する。信号選択回路５２から出力されたクロック信号（第５のクロック信号）は、ＤＬＬ回路５１の第２の入力端子５１２に入力される。つまり、各回路ブロック６０に対応するＤＬＬ回路５１は、信号選択回路５２から帰還される共通のクロック信号に基づいて外部クロック信号の位相を制御する。
【００２５】
本クロック信号調整回路１によれば、ＰＬＬ回路２１の出力側と各回路ブロック６０の入力側との間のクロックスキューが低減されるだけでなく、回路ブロック６０間でのクロックスキューも低減される。また、回路ブロック６０内においても、上述した構成により各回路ブロック２０内部及び回路ブロック２０間のクロックスキューが低減される。これによりクロック信号調整回路１全体のクロックスキューが低減され、より大規模化された回路においても、クロックスキューを効果的に低減することができる。
【００２６】
図８は、図７に示す構成のクロック信号調整回路１の回路基板への実装例である。このレイアウトでは、クロック信号調整回路１の回路基板の中央に４つのＤＬＬ回路５１を配設している。各回路ブロック６０の中央には夫々４つのＤＬＬ回路２３を配設している。分周回路２４からＤＬＬ５１までの配線距離は等しい。また、ＤＬＬ回路５１から回路ブロック６０までの配線距離も等しい。さらに、ＤＬＬ回路５１から次段のＤＬＬ回路２３までの配線距離も等しい。また、このレイアウトでは、複数の回路ブロック（本実施形態では１６個）の夫々においてクロックツリー３０を構成して、クロックツリー３０の規模を小さくしている。以上のレイアウトによって、本回路基板では効果的にクロックスキューの低減が図られる。
【００２７】
＝＝＝記憶デバイス制御装置への適用＝＝＝
次に、上述したクロック信号調整回路１をディスクアレイ装置等の記憶デバイス制御装置に適用した事例について説明する。
【００２８】
図９は、本発明を適用した記憶デバイス制御装置２００を含む情報処理システム２の全体構成を示す図である。本実施形態にかかる情報処理システム２は、各種の情報処理サービスを提供する情報処理装置１００と、ディスクドライブ等の記憶デバイス３００の記憶領域を情報処理装置１００に提供する記憶デバイス制御装置２００とを含んで構成される。
【００２９】
情報処理装置１００はＣＰＵ（Central Processing Unit）やメモリを備えたコンピュータである。情報処理装置１００のＣＰＵにより各種のプログラムが実行されることで、情報処理装置が提供する様々な機能が実現される。情報処理装置１００は、例えば、パーソナルコンピュータやワークステーション、メインフレームコンピュータなどである。情報処理装置１００は１台のコンピュータであってもよいし、複数台のコンピュータであってもよい。情報処理装置１００ではオペレーティングシステムが実行され、オペレーティングシステム上では様々なアプリケーションプログラムが実行される。
【００３０】
情報処理装置１００は、ＳＡＮ（Storage Area Network）４００を介して記憶デバイス制御装置２００に接続している。ＳＡＮ４００を介して行われる情報処理装置１００と記憶デバイス制御装置２００との間の通信はファイバチャネルプロトコルに従って行われる。なお、情報処理装置１００と記憶デバイス制御装置との間で行われる通信プロトコルとしては、例えば、ＬＡＮ（Local Area Network）やＳＣＳＩ（Small Computer System Interface）、ｉＳＣＳＩ（Internet Small Computer System Interface）、ＥＳＣＯＮ（Enterprise System Connection）（登録商標）、ＦＩＣＯＮ（Fibre Connection）（登録商標）、ＡＣＯＮＡＲＣ（Advanced Connection Architecture）（登録商標）、ＦＩＢＡＲＣ（Fibre connection Architecture）（登録商標）を用いることができる。また、情報処理装置１００と記憶デバイス制御装置２００とはＳＣＳＩケーブル等で直接接続する形態としてもよい。
【００３１】
情報処理装置１００は、ファイバチャネルプロトコルに従って、データ入出力要求を記憶デバイス制御装置２００に送信する。記憶デバイス制御装置２００は、情報処理装置１００からデータ入出力要求を受信すると、受信したデータ入出力要求に応じて、記憶デバイス３００に対するデータの入出力に関する処理を行う。
【００３２】
記憶デバイス制御装置２００は、情報処理装置１００に記憶資源を提供する記憶装置である。記憶デバイス制御装置２００は複数の記憶デバイス３００を備え、記憶デバイス３００が提供する記憶領域を管理している。記憶デバイス３００は、記憶デバイス制御装置２００に一体的に構成されていてもよいし、記憶デバイス制御装置２００から独立した装置として、例えば、ＳＣＳＩや、ＬＡＮ、ＳＡＮといった通信路によって記憶デバイス制御装置２００と接続する形態としてもよい。
【００３３】
図９に示すように、記憶デバイス制御装置２００は、チャネルアダプタ装置２１０、共有メモリ２２０、キャッシュメモリ２３０、ディスクアダプタ装置２４０、及びクロスバスイッチ２５０を備える。
【００３４】
チャネルアダプタ装置２１０は情報処理装置１００との間で通信を行う。ディスクアダプタ装置２４０は記憶デバイス３００に対するデータ入出力に関する制御を行う。共有メモリ２２０及びキャッシュメモリ２３０は、チャネルアダプタ装置２１０やディスクアダプタ装置２４０により共有される。共有メモリ２２０は主に制御情報やコマンド等を記憶するために利用されるのに対し、キャッシュメモリ２３０は主にデータを記憶するために利用される。クロスバスイッチ２５０（スイッチ装置）は、チャネルアダプタ装置２１０、共有メモリ２２０、キャッシュメモリ２３０、ディスクアダプタ装置２４０の夫々を相互に通信可能に接続する。チャネルアダプタ装置２１０、共有メモリ２２０、キャッシュメモリ２３０、及びディスクアダプタ装置２４０の夫々の間でのデータやコマンドの授受はクロスバスイッチ２５０を介して行われる。
【００３５】
図１０は、チャネルアダプタ装置２１０の構成を示すブロック図である。チャネルアダプタ装置２１０は、ＣＰＵ２１１、メモリ２１２、ＮＶＲＡＭ２１３、通信インタフェース２１４、データ転送プロセッサ２１５、及びコネクタ２１７が同一の基板上に実装される。コネクタ２１７が記憶デバイス制御装置２００側のコネクタと嵌合することにより、チャネルアダプタ装置２１０は記憶デバイス制御装置２００と電気的に接続する。これにより、チャネルアダプタ装置２１０は、共有メモリ２２０やキャッシュメモリ２３０、ディスクアダプタ装置２４０、クロスバスイッチ２５０等との間での通信が可能となる。
【００３６】
ＣＰＵ２１１は、チャネルアダプタ装置２１０の全体の制御を司るものである。メモリ２１２は、ＣＰＵ２１１により読み書きされる記憶装置である。ＮＶＲＡＭ２１３は、ＣＰＵ２１１が実行するアプリケーションプログラムやその処理に必要なデータを記憶するための不揮発性の記憶装置である。ＣＰＵ２１１は、ＮＶＲＡＭ２１３に記憶されているアプリケーションプログラムをメモリ２１２に読み出し、メモリ２１２に読み出したアプリケーションプログラムを実行することにより、各種の機能を実現する。なお、ＮＶＲＡＭ２１３に替えて、ＲＯＭ等の読み込み専用の記憶装置としてもよい。また、ＮＶＲＡＭ２１３に記憶されるアプリケーションプログラムやデータは、記憶デバイス３００に記憶するようにするようにしてもよい。
【００３７】
通信インタフェース２１４は、ＳＡＮ４００に接続し、情報処理装置１００との間の通信を行うためのインタフェースである。通信インタフェース２１４は、例えば、ファイバチャネルプロトコルに従った通信を行う機能を有する。通信インタフェース２１４は通信ポート２１６を複数備え、通信ポート２１６を介してＳＡＮ４００に接続する。
【００３８】
データ転送プロセッサ２１５は、データの転送を司る装置である。データ転送プロセッサ２１５は、例えば、通信インタフェース２１４が受信したデータをメモリ２１２に転送したり、メモリ２１２に格納されているデータをキャッシュメモリ２３０に転送したりする。
【００３９】
チャネルアダプタ装置２１０は、情報処理装置１００からデータ入出力要求を受信すると、受信したデータ入出力要求に応じて記憶デバイス３００に対するデータ入出力を指示するＩ／Ｏコマンドを作成する。Ｉ／Ｏコマンドの作成は、チャネルアダプタ装置２１０が備えるＣＰＵ２１１により行われる。チャネルアダプタ装置２１０は、生成したＩ／Ｏコマンドを共有メモリ２２０に書き込むことにより、ディスクアダプタ装置２４０が記憶デバイス３００に対するデータ入出力の制御を行うように指示する。
【００４０】
このようなチャネルアダプタ装置２１０に、上述したクロック信号調整回路１を適用することができる。例えば、チャネルアダプタ装置２１０に、第１及び第２のクロック信号の入力を受け付け、第１のクロック信号の位相を第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、ＣＰＵ２１１、メモリ２１２、通信インタフェース２１４、及びデータ転送プロセッサ２１５の夫々に供給する複数の位相調整回路と、位相調整回路の夫々から出力される第３のクロック信号のひとつを選択し、選択した第３のクロック信号を、位相調整回路の夫々に第２のクロック信号として出力する信号選択回路と、を設ける。なお、ＮＶＲＡＭ２１３やコネクタ２１７等に第３のクロック信号を供給するように位相調整回路を設けてもよい。
【００４１】
このようにすることで、チャネルアダプタ装置２１０における、ＣＰＵ２１１、メモリ２１２、通信インタフェース２１４、及びデータ転送プロセッサ２１５の夫々の間でのクロックスキューが低減される。従って、チャネルアダプタ装置２１０のクロックスキューにかかる設計マージンを抑え、論理段数を増やし、より複雑なロジックに対応することができる。また、チャネルアダプタ装置２１０を動作させるためのクロック信号の周波数を上げ、チャネルアダプタ装置２１０の一層の高速化を図ることもできる。
【００４２】
図１１は、ディスクアダプタ装置２４０の構成を示すブロック図である。ディスクアダプタ装置２４０は、ＣＰＵ２４１、メモリ２４２、ディスクインタフェース２４４、データ転送プロセッサ２４５、及びコネクタ２４７が同一の基板上に実装される。
【００４３】
ディスクアダプタ装置２４０の構成は、上述のチャネルアダプタ装置２１０とほぼ同様の構成である。ディスクアダプタ装置２４０は、チャネルアダプタ装置２１０の通信インタフェース２１４に替えて、記憶デバイス３００にアクセスするためのディスクインタフェース２４４を備えている。
【００４４】
ディスクアダプタ装置２４０は、共有メモリ２２０を監視し、書き込まれたＩ／Ｏコマンドをメモリ２４２に読み出す。ディスクアダプタ装置２４０は、読み出したＩ／Ｏコマンドに応じて、例えば、ＳＣＳＩコマンドを記憶デバイス３００に対して送信するなど、記憶デバイス３００に対するデータ入出力に関する制御を行う。また、ディスクアダプタ装置２４０は、記憶デバイス３００がＲＡＩＤにより管理されている場合に、ＲＡＩＤ構成（例えば、ＲＡＩＤ０，１，５）に従ったデータのアクセスを行うこともできる。
【００４５】
このようなディスクアダプタ装置２４０に、上述したクロック信号調整回路１を適用することができる。例えば、ディスクアダプタ装置２４０に、第１及び第２のクロック信号の入力を受け付け、第１のクロック信号の位相を第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、ＣＰＵ２４１、メモリ２４２、ディスクインタフェース２４４、及びデータ転送プロセッサ２４５の夫々に供給する複数の位相調整回路と、位相調整回路の夫々から出力される第３のクロック信号のひとつを選択し、選択した第３のクロック信号を、位相調整回路の夫々に第２のクロック信号として出力する信号選択回路と、を設ける。なお、ＮＶＲＡＭ２４３やコネクタ２４７等に第３のクロック信号を供給するように位相調整回路を設けてもよい。
【００４６】
このようにすることで、ディスクアダプタ装置２４０におけるＣＰＵ２４１、メモリ２４２、ディスクインタフェース２４４、及びデータ転送プロセッサ２４５の夫々の間でのクロックスキューが低減される。従って、ディスクアダプタ装置２４０のクロックスキューにかかる設計マージンを抑え、論理段数を増やし、より複雑なロジックに対応することができる。また、ディスクアダプタ装置２４０を動作させるためのクロック信号の周波数を上げ、ディスクアダプタ装置２４０の一層の高速化を図ることもできる。
【００４７】
クロック信号調整回路１は、記憶デバイス制御装置２００の本体に適用することもできる。この場合、記憶デバイス制御装置２００は、情報処理装置１００から記憶デバイス３００に対するデータ入出力要求を受信するチャネルアダプタ装置２１０と、記憶デバイス３００に対するデータ入出力に関する制御を行うディスクアダプタ装置２４０と、チャネルアダプタ装置２１０とディスクアダプタ装置２４０との間で授受されるデータを記憶するキャッシュメモリ２３０と、チャネルアダプタ装置２１０と、ディスクアダプタ装置２４０と、キャッシュメモリ２３０とを夫々通信可能に接続するクロスバスイッチ２５０と、第１及び第２のクロック信号の入力を受け付け、第１のクロック信号の位相を第２のクロック信号の位相に合わせるように制御した第３のクロック信号を、チャネルアダプタ装置２１０、ディスクアダプタ装置２４０、キャッシュメモリ２３０、及びクロスバスイッチ２５０の夫々に供給する複数の位相調整回路と、位相調整回路の夫々から出力される第３のクロック信号のひとつを選択し、選択した第３のクロック信号を、位相調整回路の夫々に第２のクロック信号として出力する信号選択回路と、を備える。なお、共有メモリ２２０や、記憶デバイス３００に第３のクロック信号を供給するように位相調整回路を設けてもよい。
【００４８】
記憶デバイス制御装置２００では、上記チャネルアダプタ装置２１０や、共有メモリ２２０、キャッシュメモリ２３０、ディスクアダプタ装置２４０、クロスバスイッチに共通のクロック信号が供給される。上記構成の記憶デバイス制御装置２００によれば、共通のクロック信号に基づいて各装置に供給されるクロック信号の位相が調整されるので、製造ばらつきなどにより各装置に発生するクロックスキューの値が異なるような場合においても、各装置間のクロックスキューを低減することができる。従って、記憶デバイス制御装置２００の信頼性を向上することができる。また、記憶デバイス制御装置２００の回路の設計時に必要な設計マージンを低減し、論理ゲートを多段化することもできるので、記憶デバイス制御装置２００をより複雑なロジックに対応させるようにすることもできる。記憶デバイス制御装置２００を動作させるためのクロック信号の周波数を上げて、記憶デバイス制御装置２００の高速化を図ることもできる。
【００４９】
また、記憶デバイス制御装置２００が備えるチャネルアダプタ装置２１０やディスクアダプタ装置２４０に、上述したようにクロック信号調整回路１が適用された場合、さらに記憶デバイス制御装置２００の高速化や、信頼性の向上を図ることができる。
【００５０】
以上、本実施形態について説明したが、上記実施例は本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物も含まれる。
【００５１】
例えば、クロック信号調整回路１は、共有メモリ２２０、キャッシュメモリ２３０、クロスバスイッチ２５０、記憶デバイス３００、情報処理装置１００等に適用することもできる。
【００５２】
また、クロック信号調整回路１のＤＬＬ回路２３及び５１は、２つのクロック信号の位相を合わせることができる回路に代替可能である。例えば、上述のＤＬＬ回路２３又は５１に替えて、ＰＬＬ回路やＳＭＤ（Synchronous Mirror Delay）回路を用いるようにしてもよい。
【００５３】
また、外部クロック信号と内部クロック信号とが同じ周波数である場合には、分周回路２４を省略することができる。このように周波数の逓倍を行わない場合、ＰＬＬ回路２１に替えてＤＬＬ回路やＳＭＤ回路を採用することもできる。この場合、ＰＬＬ回路２１のジッタなどによるクロックスキューも低減することができるので、より効果的に回路全体のクロックスキューを低減することができる。
【００５４】
また、ＰＬＬ回路２１に替えてＤＬＬ回路を用い、周波数の逓倍を行う手段を別途設けてもよい。
【００５５】
また、各回路ブロック２０での配線方式は、クロックツリー方式以外にも、クロックメッシュ方式やフィッシュボーン方式としてもよい。
【００５６】
また、クロック信号調整回路１は、集積化して１チップあるいは複数のチップによる集積回路とすることもできる。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態による、クロック信号調整回路１の構成を示す図である。
【図２】本発明の一実施形態による、信号選択回路４０の一例を示すブロック図である。
【図３】本発明の一実施形態による、選択信号決定回路４２の一例を示す回路図である。
【図４】本発明の一実施形態による、選択信号決定回路４２の動作を説明するタイミングチャートである。
【図５】本発明の一実施形態による、外部クロック信号と内部クロック信号との位相を調整するクロック信号調整回路１のブロック図である。
【図６】本発明の一実施形態による、ＰＬＬ回路２１及び分周回路２４を含むクロック信号調整回路１のレイアウトを説明するための図である。
【図７】本発明の一実施形態による、外部クロック信号が回路ブロック２０に到達するまでのクロックスキューを低減するようにしたクロック信号調整回路１のブロック図である。
【図８】本発明の一実施形態による、図８に示す構成のクロック信号調整回路１の回路基板５００のレイアウトの一例を示す図である。
【図９】本発明の一実施形態による、情報処理システム２の全体構成を示す図である。
【図１０】本発明の一実施形態による、チャネルアダプタ装置２１０の構成を示すブロック図である。
【図１１】本発明の一実施形態による、ディスクアダプタ装置２４０の構成を示すブロック図である。
【符号の説明】
【００５８】
１      クロック信号調整回路        １０    信号線
１１    クロック入力端子            ２０    回路ブロック
２１    ＰＬＬ回路                  ２２    フリップフロップ回路
２３    ＤＬＬ回路                  ２３１  第１の入力端子
２３２  第２の入力端子              ２３３  出力端子
２４    分周回路                    ３０    クロックツリー
４０    信号選択回路                ４１    マルチプレクサ
４２    選択信号決定回路            ４３    フリップフロップ回路
４３１  クロック端子                ４３２  データ入力端子
４３３  出力端子                    ４３４  リセット端子
４４    ラッチ回路
４４１  クロック端子                ４４２  データ入力端子
４４３  出力端子                    ４４４  リセット端子
４５    バッファ回路                ４６    エンコーダ回路
４７    ＥＯＲ回路                  ５１    ＤＬＬ回路
５２    信号選択回路                ６０    回路ブロック
２      情報処理システム
１００  情報処理装置                ２００  記憶デバイス制御装置
３００  記憶デバイス                ４００  ＳＡＮ
２１０  チャネルアダプタ装置        ２１１  ＣＰＵ
２１２  メモリ                      ２１３  ＮＶＲＡＭ
２１４  通信インタフェース          ２１５  データ転送プロセッサ
２２０  共有メモリ                  ２３０  キャッシュメモリ
２４０  ディスクアダプタ装置        ２４１  ＣＰＵ
２４２  メモリ                      ２４３  ＮＶＲＡＭ
２４４  ディスクインタフェース      ２４５  データ転送プロセッサ
２５０  クロスバスイッチ
【図１】
2005234646.tif 000003
【図２】
2005234646.tif 000004
【図３】
2005234646.tif 000005
【図４】
2005234646.tif 000006
【図５】
2005234646.tif 000007
【図６】
2005234646.tif 000008
【図７】
2005234646.tif 000009
【図８】
2005234646.tif 000010
【図９】
2005234646.tif 000011
【図１０】
2005234646.tif 000012
【図１１】
2005234646.tif 000013