(57)【要約】  アドレス毎にデータの読み書きをする複数の記憶部と、データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するリードポインタレジスタ部と、データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するライトポインタレジスタ部と、第１の周波数のクロック信号と、第１の周波数とは異なる第２の周波数のクロック信号が入力され、リードポインタ又はライトポインタに基づいて、第１又は第２のクロック信号のいずれかを選択する選択信号を記憶部毎に出力する制御回路と、選択信号に基づいて、記憶部毎に第１又は第２のクロック信号のいずれかを選択して出力する選択回路を有することを特徴とする。
2009066383.tif 000002
【特許請求の範囲】
【請求項１】
アドレス毎にデータの読み書きをする複数の記憶部と、
データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するリードポインタレジスタ部と、
データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するライトポインタレジスタ部と、
第１の周波数のクロック信号と、前記第１の周波数とは異なる第２の周波数のクロック信号が入力され、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力する制御回路と、
前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力する選択回路を有することを特徴とする記憶回路。
【請求項２】
前記記憶回路はさらに、
前記第１の周波数のクロック信号を出力する第１のクロック生成回路と、
前記第２の周波数のクロック信号を出力する第２のクロック生成回路を有することを特徴とする請求項１記載の記憶回路。
【請求項３】
前記第１の周波数は、前記第２の周波数よりも高いことを特徴とする請求項１記載の記憶回路。
【請求項４】
前記制御回路は、前記リードポインタ又は前記ライトポインタが示すアドレスの記憶部に対応する選択回路に対して、前記第１のクロック信号を選択する選択信号を出力することを特徴とする請求項１記載の記憶回路。
【請求項５】
前記記憶回路はさらに、第３の周波数を有する基準クロック信号と前記選択回路が出力するクロック信号が入力され、前記記憶部毎に前記基準クロック信号に対して位相が調整されたクロック信号を出力するＰＬＬ回路を有することを特徴とする請求項１記載の記憶回路。
【請求項６】
前記第３の周波数は、前記第１の周波数又は前記第２の周波数のいずれかと等しいことを特徴とする請求項５記載の記憶回路。
【請求項７】
アドレス毎にデータの読み書きをする複数の記憶部を有する記憶回路の制御方法において、
リードポインタレジスタ部が、データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するステップと、
ライトポインタレジスタが、データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するステップと、
第１の周波数のクロック信号を入力するステップと、
前記第１の周波数とは異なる第２の周波数のクロック信号を入力するステップと、
制御回路が、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力するステップと、
選択回路が、前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力するステップを有することを特徴とする制御方法。
【請求項８】
前記制御方法はさらに、
第１のクロック生成回路が、前記第１の周波数のクロック信号を出力するステップと、
第２のクロック生成回路が、前記第２の周波数のクロック信号を出力するステップを有することを特徴とする請求項７記載の制御方法。
【請求項９】
前記第１の周波数は、前記第２の周波数よりも高いことを特徴とする請求項７記載の制御方法。
【請求項１０】
前記制御回路は、前記リードポインタ又は前記ライトポインタが示すアドレスの記憶部に対応する選択回路に対して、前記第１のクロック信号を選択する選択信号を出力することを特徴とする請求項７記載の制御方法。
【請求項１１】
前記記憶回路はさらに、ＰＬＬ回路を有し、
前記制御方法はさらに、
前記ＰＬＬ回路が、第３の周波数を有する基準クロック信号と前記選択回路が出力するクロック信号が入力され、前記記憶部毎に前記基準クロック信号に対して位相が調整されたクロック信号を出力するステップを有することを特徴とする請求項７に記載の制御方法。
【請求項１２】
前記第３の周波数は、前記第１の周波数又は前記第２の周波数のいずれかと等しいことを特徴とする請求項１１記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電力を抑えることができる記憶回路及び記憶回路の制御方法に関するものである。
【背景技術】
【０００２】
例えば、大型サーバのように、複数の物理ＣＰＵ（Central Processing Unit）がメモリ空間を共有するシステムは、ノード（ＣＰＵ）間の情報交換をパケット通信で行う。各ノード間のデータを転送する機能を有するクロスバ（データ転送装置）では、転送するデータのバッファとして大量のＲＡＭ（Random Access Memory）が必要となる。【０００３】
図１２は、従来のデータ転送回路におけるバッファ部の構成の一例を示す回路図である。このバッファ部は、ライトポインタを格納するライトポインタレジスタ１１、リードポインタを格納するリードポインタレジスタ１２、データを記憶する記憶部１３、ライトポインタレジスタ１１に従って記憶部１３におけるライトアドレスを選択するライトアドレスセレクタ１４、リードポインタレジスタ１２に従って記憶部１３におけるリードアドレスを選択するリードアドレスセレクタ１５、記憶部１３のそれぞれにクロックを供給するクロック供給回路１６で構成される。このようなバッファ部において、記憶部１３に対するライトアクセス及びリードアクセスは、単位時間当たり各々一つのアドレスに対して行われ、アクセスするアドレスは、ライトポインタ及びリードポインタによって決定される。【０００４】
ライトポインタレジスタ１１及びリードポインタレジスタ１２はそれぞれ、ロールカウンタで構成される。これらの各ポインタレジスタは、アクセス要求が発生すると、その時点のポインタ（カウンタ値）で指定されるアドレスに対して、ライトまたはリードを行い、ポインタを１増加させる。即ち、ポインタは、次にアクセスするアドレスを示している。各ポインタの値を比較してポインタが一致している場合、記憶部１３が空であることと等価であるため（図１２中の“ＥＭＰＴＹ”）、記憶部１３からの読み出しを行わないようにする。これにより、記憶部１３のデータが空になった場合のリードアクセスによるアンダーフローを防ぐことができる。【０００５】
図１３は、従来の記憶部へのクロック供給回路を示す回路図である。クロック供給回路１６は、クロック生成回路６０を備え、記憶部１３における全ての記憶領域に対して、クロック生成回路６０により生成されたクロックを常に供給する。なお、クロック生成回路６０は、クロック供給回路１６の外部に備えられても良い。【０００６】
なお、本発明の関連ある従来技術として、消費電力を減少させるデータシフト回路がある（例えば、特許文献１参照）。
【特許文献１】特開平７−５７４９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述したクロック供給回路１６によれば、記憶部１３に対するアクセスに直接関係しない領域にも常時クロックが供給されるため、無駄な電力が消費されるという課題がある。【０００８】
この課題に対し、ＲＡＭにより構成される記憶部において、アクセス中以外はＣＥ（Chip Enable）をdisable設定にする方法がある。しかし、この方法でもアクセス中には多数の未アクセス領域へもクロックが供給されるので、アクセスが連続する場合には、消費電力の低減の効果は小さい。【０００９】
本発明は上述した問題点を解決するためになされたものであり、消費電力を低減する記憶回路及び記憶回路の制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決するため、本発明の一態様は、アドレス毎にデータの読み書きをする複数の記憶部と、データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するリードポインタレジスタ部と、データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するライトポインタレジスタ部と、第１の周波数のクロック信号と、前記第１の周波数とは異なる第２の周波数のクロック信号が入力され、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力する制御回路と、前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力する選択回路を有することを特徴とする。【００１１】
また、本発明の一態様は、アドレス毎にデータの読み書きをする複数の記憶部を有する記憶回路の制御方法において、リードポインタレジスタ部が、データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するステップと、ライトポインタレジスタが、データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するステップと、第１の周波数のクロック信号を入力するステップと、前記第１の周波数とは異なる第２の周波数のクロック信号を入力するステップと、制御回路が、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力するステップと、選択回路が、前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力するステップを有することを特徴とする。
【図面の簡単な説明】
【００１２】
【図１】実施の形態１に係るサーバシステムの構成の一例を示すブロック図である。
【図２】実施の形態１に係るＸＢの構成の一例を示すブロック図である。
【図３】実施の形態１に係るバッファ部の構成の一例を示す回路図である。
【図４】実施の形態１に係るクロック供給回路の構成の一例を示す回路図である。
【図５】実施の形態１に係る記憶部の動作の一例を示す概念図である。
【図６】実施の形態１に係る記憶部におけるメモリセルの構成の一例を示す回路図である。
【図７】実施の形態２に係るバッファ部の構成の一例を示す回路図である。
【図８】実施の形態２に係るクロック供給回路の構成の一例を示す回路図である。
【図９】実施の形態２に係るバッファ部の動作の一例を示すタイミングチャートである。
【図１０】実施の形態３に係るバッファ部の構成の一例を示す回路図である。
【図１１】実施の形態３に係るクロック供給回路の構成の一例を示す回路図である。
【図１２】従来のデータ転送回路におけるバッファ部の構成の一例を示す回路図である。
【図１３】従来の記憶部へのクロック供給回路を示す回路図である。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の実施の形態の例について図面を参照しつつ説明する。【００１４】
実施の形態１．
まず、本実施の形態においては、サーバシステムにおけるＸＢに本発明を適用する例について説明する。【００１５】
図１は、本実施の形態に係るサーバシステムの構成の一例を示すブロック図である。このサーバシステムは、筐体１と拡張筐体２で構成される。筐体１は、複数のＳＢ（System Board）（ＳＢ＃００，ＳＢ＃０１，ＳＢ＃０２，ＳＢ＃０３，ＳＢ＃０４，ＳＢ＃０５，ＳＢ＃０６，ＳＢ＃０７）と複数のＸＢ（Cross Bar）（ＸＢ＃００，ＸＢ＃１０）とを備える。ＸＢは、ＳＢ間のデータ転送機能を有するＬＳＩである。各ＳＢは、少なくとも一つのＣＰＵとＳＣ（System Controller）とを備えるボードである。ＳＣは、ＳＢ間通信のインタフェース機能を有するＬＳＩである。また、各ＳＢにおいて、各ＣＰＵはＳＣに接続される。また、各ＳＣは、ＸＢに接続される。【００１６】
この例において、ＳＢ＃００は、４つのＣＰＵ（ＣＰＵ＃００，ＣＰＵ＃０１，ＣＰＵ＃０２，ＣＰＵ＃０３）と１つのＳＣ（ＳＣ＃００）とを備え、ＳＢ＃０４は、４つのＣＰＵ（ＣＰＵ＃１６，ＣＰＵ＃１７，ＣＰＵ＃１８，ＣＰＵ＃１９）と１つのＳＣ（ＳＣ＃０４）とを備える。【００１７】
また、ＸＢは、他のＸＢと複数のＳＣとに接続される。この例において、ＸＢ＃００は、ＳＢ＃００，ＳＢ＃０１，ＳＢ＃０２，ＳＢ＃０３におけるＳＣに接続されると共に、ＸＢ＃１０，ＸＢ＃２０，ＸＢ＃３０に接続される。また、ＸＢ＃１０は、ＳＢ＃０４，ＳＢ＃０５，ＳＢ＃０６，ＳＢ＃０７におけるＳＣに接続されると共に、ＸＢ＃００，ＸＢ＃２０，ＸＢ＃３０に接続される。【００１８】
次に、あるＣＰＵから別のＣＰＵへのパケットの経路の例について説明する。ＳＢ＃００におけるＣＰＵ＃００を送信元とし、ＳＢ＃０４におけるＣＰＵ＃１６を送信先とするパケットは、図１中の矢印に示すように、ＣＰＵ＃００から、ＳＣ＃００、ＸＢ＃００、ＸＢ＃１０、ＳＣ＃０４を経て、ＣＰＵ＃１６へ送信される。【００１９】
次に、本実施の形態に係るＸＢの構成について説明する。【００２０】
図２は、本実施の形態に係るＸＢの構成の一例を示すブロック図である。このＸＢは、ＢＣ（Broad Cast）パケット処理部２１、ＰＰ（Peer-to-Peer）パケット処理部２２、セレクタ２３を備える。ＢＣパケット処理部２１は、ＢＣパケットの処理を行うものであり、ＳＢキュー３１、内部ｌｏｇｉｃ３２、ＸＢキュー３３を備える。ＰＰパケット処理部２２は、ＰＰパケットの処理を行うものであり、ＸＰキュー４１、内部ｌｏｇｉｃ４２、ＳＰキュー４３を備える。【００２１】
ＳＢキュー３１は、各ＳＢからのＢＣパケットを受けるキューである。ＸＢキュー３３は、全ＸＢからのＢＣパケットを受けるキューである。内部ｌｏｇｉｃ３２は、ＢＣパケットを自ＸＢの配下のＳＢから自ＸＢの配下のＳＢへ転送するためのｌｏｇｉｃであり、パイプライン構成を有している。ＸＰキュー４１は、他ＸＢの配下のＳＢを行き先とするＰＰパケットを受けるキューである。ＳＰキュー４３は、行き先が自ＸＢの配下のＳＢを行き先とするＰＰパケットを受けるキューである。内部ｌｏｇｉｃ４２は、ＰＰパケットを自ＸＢの配下のＳＢから自ＸＢの配下のＳＢへ転送するためのｌｏｇｉｃであり、パイプライン構成を有している。セレクタ２３は、ＢＣパケット処理部２１、ＰＰパケット処理部２２から出力されたパケットの一つを選びＳＣへ送る。【００２２】
ＸＢキュー３３、ＸＰキュー４１、ＳＰキュー４３は、パケットの緩衝用のＲＡＭを含むバッファ部で構成される。更に、ＳＢキュー３１がバッファ部で構成されても良い。【００２３】
次に、本実施の形態に係るバッファ部の構成について説明する。【００２４】
図３は、本実施の形態に係るバッファ部の構成の一例を示す回路図である。この図において、図１２と同一符号は図１２に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図１２と比較すると、クロック供給回路１６の代わりにクロック供給回路１６ａを備える。以後、記憶部１３は、８個のメモリセルで構成されたリングバッファであるとする。このクロック供給回路１６ａは、記憶部１３内のメモリセル毎にクロックを供給する。【００２５】
次に、本実施の形態に係るクロック供給回路１６ａの構成について説明する。【００２６】
図４は、本実施の形態に係るクロック供給回路１６ａの構成の一例を示す回路図である。このクロック供給回路１６ａは、記憶部１３におけるアドレス毎のクロックセレクタ５１ａ０，５１ａ１、第１クロックを生成する第１クロック生成回路６１、第２クロックを生成する第２クロック生成回路６２を備える。なお、第１クロック生成回路６１及び第２クロック生成回路６２は、クロック供給回路１６ａの外部に備えられていても良い。また、記憶部１３は、８個のメモリセルで構成されたリングバッファであるため、記憶部１３におけるメモリセルのアドレス（ライトポインタ、リードポインタ）ｉは、シリアル値を８で割った剰余として表す（ｉ＝０，１，…７）。【００２７】
クロックセレクタ５１ａ０，５１ａ１のそれぞれは、ライトポインタレジスタ５３、リードポインタレジスタ５４、２個の判定回路７１，７２（図４においては、それぞれライトポインタＩＰ＿ＲＥＧ［８：０］＝０ｘ０またはリードポインタＯＰ＿ＲＥＧ［８：０］＝０ｘ０、若しくは、ライトポインタＩＰ＿ＲＥＧ［８：０］＝０ｘ１またはリードポインタＯＰ＿ＲＥＧ［８：０］＝０ｘ１であるか否かを判定している）、２入力ＯＲ回路（２入力論理和回路）７３、ＮＯＴ回路（否定回路）７４、セレクタ７５で構成される。なお、２個の判定回路７１，７２と２入力ＯＲ回路７３は、制御回路に対応し、ＮＯＴ回路７４とセレクタ７５は、選択回路に対応する。また、２入力ＯＲ回路７３の出力は、選択信号に対応する。アドレスｉに対応するクロックセレクタ５１ａ０，５１ａ１において、判定回路７１は、ライトポインタＩＰ＿ＲＥＧ［８：０］がｉ（ｉ＝０ｘ０またはｉ＝０ｘ１）と一致するか否かを判定し、判定回路７２は、リードポインタＯＰ＿ＲＥＧ［８：０］がｉ（ｉ＝０ｘ０またはｉ＝０ｘ１）と一致するか否かを判定する。２入力ＯＲ回路には、２個の判定回路７１，７２の結果が入力される。ここで、２入力ＯＲ回路７３は、２個の判定回路７１，７２において、少なくともいずれか１つが一致と判定した場合には、１を出力する。すなわち、ライトポインタＩＰ＿ＲＥＧ［８：０］の値又はリードポインタＯＰ＿ＲＥＧ［８：０］の値がｉ（ｉ＝０ｘ０またはｉ＝０ｘ１）と一致した場合には、１を出力する。【００２８】
この構成により、アドレスｉに対応するクロックセレクタ５１ａ０，５１ａ１は、ライトポインタＩＰ＿ＲＥＧ［８：０］がｉと一致する、またはリードポインタＯＰ＿ＲＥＧ［８：０］がｉと一致する場合、アドレスｉの記憶部１３に第１クロックを切り替えて供給し、そうでない場合、アドレスｉの記憶部１３に第２クロックを切り替えて供給する。つまり、判定回路７１，７２の出力によりセレクタ７５が第１クロックまたは第２クロックを排他的に切り替えて出力することにより、ライトポインタレジスタ１１またはリードポインタレジスタ１２により指し示されたアドレスに対応する記憶部１３は第１クロックで動作し、それ以外のアドレスに対応する記憶部１３は第２クロックで動作する。第１クロックは、通常（最高）の周波数（第１の周波数）を有するクロックである。第２クロックは、第１クロックより低い周波数（第２の周波数）を有するクロックである。【００２９】
次に、本実施の形態に係るバッファ部の動作について説明する。【００３０】
図５は、本実施の形態に係る記憶部１３の動作の一例を示す概念図である。以後、ライトポインタレジスタ１１によるライトポインタをＷＰ、リードポインタレジスタ１２によるリードポインタをＲＰとする。ライトは、アドレス０，アドレス１，アドレス２，…の順番に行われ、最終のアドレス７のライトが行われると、ＷＰは次のアクセス位置をアドレス０とする。リードの場合も同様である。【００３１】
また、この図は、記憶部１３における５つの状態Ａ，Ｂ，Ｃ，Ｄ，Ｅを示す。また、この図において、太線で囲まれたメモリセルは、第１クロックが供給されるメモリセルである。太線で囲まれていないメモリセルは、第２クロックが供給されるメモリセルである。【００３２】
状態Ａは、記憶部１３が空の状態であり、ＷＰ及びＲＰは、アドレス０を指している。状態Ｂは、状態Ａの後、アドレス０がライトされ、ＷＰがアドレス０からアドレス１へ移動した状態である。ここで、ライトされたデータは、アドレス０に格納されており、ＲＰは、アドレス０のままである。状態Ｃは、状態Ｂの後、アドレス０がリードされて記憶部１３が空になった状態であり、ＷＰ及びＲＰは共に、アドレス１を指している。状態Ｄは、状態Ｃの後、記憶部１３へのライトが４アドレス分連続で行われた状態である。ここで、ＷＰは、アドレス５まで進んでいる。状態Ｅは、状態Ｄの後、アドレス１〜４がリードされて記憶部１３が空になった状態であり、ＷＰ及びＲＰは共に、アドレス５を指している。【００３３】
上述したように、記憶部１３のうち、第１クロックで動作するメモリセルは、ＷＰまたはＲＰに指し示されたメモリセルだけであり、他のメモリセルは、第２クロックで状態を維持する。【００３４】
なお、ライトポインタＩＰ＿ＲＥＧ［８：０］又はリードポインタＯＰ＿ＲＥＧ［８：０］と一致しないメモリセルへ第２クロックを供給する代わりに、ライトポインタＩＰ＿ＲＥＧ［８：０］又はリードポインタＯＰ＿ＲＥＧ［８：０］と一致しないメモリセルへ供給するクロックを停止しても良い。特に、記憶部１３におけるメモリセルがＦＦ（Flip Flop）のように、クロックを供給されなくても状態を維持できるメモリセルである場合、クロックの停止を行うことが有効である。図６は、本実施の形態に係る記憶部におけるメモリセルの構成の一例を示す回路図である。このメモリセルは、ＦＦで構成され、ＣＫ入力の値が０の時にＤ入力の値を記憶し、記憶した値をＤｏｕｔ出力から出力する。【００３５】
また、記憶部１３におけるメモリセルがＤＲＡＭのように、所定のリフレッシュレート以上のクロックを供給する必要があるメモリセルである場合、第２クロックの周期は、第１クロックの周期より長く、記憶部１３のリフレッシュ間隔以下になるように設定される。また、クロック制御の簡単化のため、第１クロックは、第２クロックの逓倍としても良い。【００３６】
本実施の形態によれば、アクセスが行われるメモリセルだけに第１クロックを供給し、それ以外のメモリセルに第２クロックを供給する、またはクロックを供給しないことにより、バッファ部の消費電力を低減することができる。また、ＸＢのようにバッファ部の規模が大きくなるほど、消費電力を低減する効果は大きくなる。【００３７】
実施の形態２．
本実施の形態に係るサーバシステム、ＸＢの構成は、実施の形態１と同様であるが、バッファ部の構成が異なる。【００３８】
図７は、本実施の形態に係るバッファ部の構成の一例を示す回路図である。この図において、図３と同一符号は図３に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図３と比較すると、クロック供給回路１６ａの代わりにクロック供給回路１６ｂを備える。このクロック供給回路１６ｂは、記憶部１３内のメモリセル毎にクロックを供給する。【００３９】
次に、本実施の形態に係るクロック供給回路１６ｂの構成について説明する。【００４０】
図８は、本実施の形態に係るクロック供給回路１６ｂの構成の一例を示す回路図である。この図において、図４と同一符号は図４に示された対象と同一又は相当物を示しており、ここでの説明を省略する。このクロック供給回路１６ｂは、クロックセレクタ５１ａ０，５１ａ１の代わりにクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２を備え、新たにＰＬＬ（Phase Locked Loop：位相ロックループ）回路５２を備える。【００４１】
クロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２のそれぞれは、ライトポインタレジスタ５３、リードポインタレジスタ５４、６個の判定回路８１，８２，８３，８４，８５及び８６（図９においては、それぞれライトポインタＩＰ＿ＲＥＧ［８：０］＝０ｘ０又は０ｘ７又は０ｘ６又はリードポインタＯＰ＿ＲＥＧ［８：０］＝０ｘ０又は０ｘ７又は０ｘ６、若しくは、ライトポインタＩＰ＿ＲＥＧ［８：０］＝０ｘ１又は０ｘ０又は０ｘ７又はリードポインタＯＰ＿ＲＥＧ［８：０］＝０ｘ１又は０ｘ０又は０ｘ７、若しくは、ライトポインタＩＰ＿ＲＥＧ［８：０］＝０ｘ２又は０ｘ１又は０ｘ０又はリードポインタＯＰ＿ＲＥＧ［８：０］＝０ｘ２又は０ｘ１又は０ｘ０であるか否かを判定している）、６入力ＯＲ回路８７、ＮＯＴ回路８８、セレクタ８９で構成される。なお、６個の判定回路８１，８２，８３，８４，８５及び８６と６入力ＯＲ回路８７は、制御回路に対応し、ＮＯＴ回路８８とセレクタ８９は、選択回路に対応する。また、６入力ＯＲ回路８７の出力は、選択信号に対応する。【００４２】
ＰＬＬ回路５２は、クロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２から出力されたクロックのスキュー調整を行う。ここで、ＰＬＬ回路５２の出力は、ＰＬＬ回路５２にフィードバックされる。なお、ＰＬＬ回路５２は、基準クロック信号を入力することにより、基準クロック信号に対してクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２の出力の位相を調整するようにしても良い。【００４３】
また、ＰＬＬ回路５２が安定したクロックを出力するまでに時間がかかることから、アクセス対象アドレスに対して第１クロックを選択するだけでなく、アクセス対象アドレスから所定数先のアドレスの範囲におけるクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２においても、前もって第１クロックを選択する必要がある。【００４４】
ここで、第１クロックの周期をτとするとき、ＰＬＬ回路５２が安定したクロックを出力するまでの時間を２τとする。アドレスｉに対応するクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２において、６個の判定回路８１，８２，８３，８４，８５及び８６は、ライトポインタがｉ（それぞれ、０ｘ０，０ｘ１，０ｘ２）と一致するか否かを判定する判定回路８１、ライトポインタがｉ−１（それぞれ、０ｘ７，０ｘ０，０ｘ１）と一致するか否かを判定する判定回路８２、ライトポインタがｉ−２（それぞれ、０ｘ６，０ｘ７，０ｘ０）と一致するか否かを判定する判定回路８３、リードポインタがｉ（それぞれ、０ｘ０，０ｘ１，０ｘ２）と一致するか否かを判定する判定回路８４、リードポインタがｉ−１（それぞれ、０ｘ７，０ｘ０，０ｘ１）と一致するか否かを判定する判定回路８５、リードポインタがｉ−２（それぞれ、０ｘ６，０ｘ７，０ｘ０）と一致するか否かを判定する判定回路８６である。６入力ＯＲ回路８７には、６個の判定回路８１，８２，８３，８４，８５及び８６の結果が入力される。【００４５】
この構成により、ＰＬＬ回路５２が安定したクロックを出力するまでに時間がかかることから、アクセス対象アドレスに対して第１クロックを選択するだけでなく、アクセス対象アドレスから所定数先のアドレスの範囲である、アドレスがｉ，ｉ−１，ｉ−２に対応するクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２は、後段のＰＬＬ回路５２に第１クロックを供給することができ、それ以外のクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２は、後段のＰＬＬ回路５２に第２クロックを供給することができる。【００４６】
次に、本実施の形態に係るバッファ部の動作について説明する。【００４７】
図９は、本実施の形態に係るバッファ部の動作の一例を示すタイミングチャートである。このタイミングチャートは、上から順に、図８において第１クロック生成回路６１が出力する第１クロック（ＣＬＫ＿Ａ）、図８において第２クロック生成回路６２が出力する第２クロック（ＣＬＫ＿Ｂ）、図７における記憶部１３への入力データを有効にすることを示すフラグ（ＩＮ＿ＶＡＬＩＤ）、図７における記憶部１３への入力データ（ＩＮ＿ＤＡＴＡ［７：０］）、図７においてライトポインタレジスタ１１が出力するライトポインタ（ＩＰ＿ＲＥＧ［８：０］）、図７においてリードポインタレジスタ１２が出力するリードポインタのカウントを有効にすることを示すフラグ（ＯＰ＿ＩＮＣ＿ＥＮＡＢＬＥ）、図７における記憶部１３のアドレス２の内容（ＤＴ２）、図７においてリードポインタレジスタ１２が出力するリードポインタ（ＯＰ＿ＲＥＧ［８：０］）、図７における記憶部１３からの出力データを有効にすることを示すフラグ（ＯＵＴ＿ＶＡＬＩＤ）、図７における記憶部１３からの出力データ（ＯＵＴ＿ＤＡＴＡ［７：０］）を示す。【００４８】
時刻Ｔ０において、ライトポインタは０になり、アドレス２に対応するクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２は、後段のＰＬＬ回路５２へ供給するクロックを第２クロックから第１クロックへ切り替える。次に、時刻Ｔ２において、アドレス２に対応するＰＬＬ回路５２は安定し、ライトポインタは２になり、時刻Ｔ３において、入力データであるＣは、記憶部１３のアドレス２へ書き込まれ、記憶部１３のアドレス２の内容は、Ｃになっている。次に、時刻Ｔ４において、リードポインタは２になり、記憶部１３のアドレス２から読み出されたＣが出力データとなる。次に、時刻Ｔ５において、ライトポインタは５、リードポインタは３になり、アドレス２に対応するクロックセレクタ５１ｂ０，５１ｂ１，５１ｂ２は、後段のＰＬＬ回路５２へ供給するクロックを第１クロックから第２クロックへ切り替える。【００４９】
本実施の形態によれば、記憶部１３における各メモリセルへのクロックの供給にＰＬＬ回路を用いることにより、メモリセル間のスキューを低減することができる。また、ＰＬＬ回路５２が安定したクロックを出力するまでに時間がかかることから、アクセス対象アドレスに対して第１クロックを選択するだけでなく、アクセス対象アドレスから所定数先のアドレスの範囲に前もって第１クロックを供給しておくことにより、ＰＬＬ回路は、アクセス時点で安定したクロックを供給することができる。【００５０】
実施の形態３．
本実施の形態に係るサーバシステム、ＸＢの構成は、実施の形態１と同様であるが、バッファ部の構成が異なる。【００５１】
図１０は、本実施の形態に係るバッファ部の構成の一例を示す回路図である。この図において、図３と同一符号は図３に示された対象と同一又は相当物を示しており、ここでの説明を省略する。この図は、図３と比較すると、クロック供給回路１６ａの代わりにクロック供給回路１６ｃを備える。【００５２】
次に、本実施の形態に係るクロック供給回路１６ｃの構成について説明する。【００５３】
図１１は、本実施の形態に係るクロック供給回路の構成の一例を示す回路図である。この図において、図４と同一符号は図４に示された対象と同一又は相当物を示しており、ここでの説明を省略する。このクロック供給回路１６ｃは、記憶部１３のアドレス毎のクロックセレクタ５１ａ０，５１ａ１の代わりに記憶部１３のセルブロック毎のクロックセレクタ５１ｃ０，５１ｃ１，５１ｃ２を備える。このクロック供給回路１６ｃは、記憶部１３内のメモリセルのブロック（セルブロック）毎にクロックを供給する。この例においては、記憶部１３を構成する８個のメモリセルにおいて、連続する４個のメモリセルを１個のセルブロックとする。アドレス０〜３のメモリセルをセルブロック０とし、アドレス４〜７のメモリセルをセルブロック１とする。【００５４】
クロックセレクタ５１ｃ０，５１ｃ１，５１ｃ２のそれぞれは、ライトポインタレジスタ５３、リードポインタレジスタ５４、２個の判定回路９１，９２、２入力ＯＲ回路９３、ＮＯＴ回路９４、セレクタ９５で構成される。なお、２個の判定回路９１，９２と２入力ＯＲ回路９３は、制御回路に対応し、ＮＯＴ回路９４とセレクタ９５は、選択回路に対応する。また、２入力ＯＲ回路９３の出力は、選択信号に対応する。記憶部１３におけるメモリセルのアドレスｉを４ビットで表すと、ｊは上位２ビットで表される。【００５５】
セルブロックｊに対応するクロックセレクタ５１ｃ０，５１ｃ１，５１ｃ２において、判定回路９１は、ライトポインタＩＰ＿ＲＥＧ［８：０］の上位２ビットがｊと一致するか否かを判定し、判定回路９２は、リードポインタＯＰ＿ＲＥＧ［８：０］の上位２ビットがｊと一致するか否かを判定する。２入力ＯＲ回路９３には、２個の判定回路９１，９２の結果が入力される。また、セルブロックｊに対応するクロックセレクタ５１ｃ０，５１ｃ１，５１ｃ２から出力されるクロックは、セルブロックｊ内の４個のメモリセルへ供給される。【００５６】
この構成により、セルブロックｊに対応するクロックセレクタ５１ｃ０，５１ｃ１，５１ｃ２は、ライトポインタＩＰ＿ＲＥＧ［８：０］の下位２ビットをマスクした値がｊと一致する、またはリードポインタＯＰ＿ＲＥＧ［８：０］の下位２ビットをマスクした値がｊと一致する場合、第１クロックを記憶部１３のセルブロックｊへ供給し、そうでない場合、第２クロックを記憶部１３のセルブロックｊへ供給する。つまり、記憶部１３のうち、ライトポインタレジスタ１１またはリードポインタレジスタ１２により指し示されたセルブロックは第１クロックで動作し、それ以外のセルブロックは第２クロックで動作する。【００５７】
本実施の形態によれば、この場合のクロック供給回路は、セルブロック毎のクロックセレクタを備えれば良いため、回路規模を実施の形態１より小さくすることができる。【００５８】
また、実施の形態２と実施の形態３を組み合わせても良く、この場合のクロック供給回路は、セルブロック毎のＰＬＬ回路を備えれば良いため、回路規模を実施の形態２より小さくすることができる。【００５９】
本発明は、その要旨または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態は、あらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、何ら拘束されない。更に、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【００６０】
上述した記憶回路及び記憶回路の制御方法によれば、記憶回路の消費電力を低減することができる。
【図１】
2009066383.tif 000003
【図２】
2009066383.tif 000004
【図３】
2009066383.tif 000005
【図４】
2009066383.tif 000006
【図５】
2009066383.tif 000007
【図６】
2009066383.tif 000008
【図７】
2009066383.tif 000009
【図８】
2009066383.tif 000010
【図９】
2009066383.tif 000011
【図１０】
2009066383.tif 000012
【図１１】
2009066383.tif 000013
【図１２】
2009066383.tif 000014
【図１３】
2009066383.tif 000015
【手続補正書】
【提出日】平成22年3月26日(2010.3.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドレス毎にデータの読み書きをする複数の記憶部と、
データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するリードポインタレジスタ部と、
データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するライトポインタレジスタ部と、
第１の周波数のクロック信号と、前記第１の周波数とは異なる第２の周波数のクロック信号が入力され、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力する制御回路と、
前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力する選択回路を有することを特徴とする記憶回路。
【請求項２】
前記記憶回路はさらに、
前記第１の周波数のクロック信号を出力する第１のクロック生成回路と、
前記第２の周波数のクロック信号を出力する第２のクロック生成回路を有することを特徴とする請求項１記載の記憶回路。
【請求項３】
前記制御回路は、前記リードポインタ又は前記ライトポインタが示すアドレスの記憶部に対応する選択回路に対して、前記第１のクロック信号を選択する選択信号を出力することを特徴とする請求項１記載の記憶回路。
【請求項４】
前記記憶回路はさらに、第３の周波数を有する基準クロック信号と前記選択回路が出力するクロック信号が入力され、前記記憶部毎に前記基準クロック信号に対して位相が調整されたクロック信号を出力するＰＬＬ回路を有することを特徴とする請求項１記載の記憶回路。
【請求項５】
前記第３の周波数は、前記第１の周波数又は前記第２の周波数のいずれかと等しいことを特徴とする請求項４記載の記憶回路。
【請求項６】
アドレス毎にデータの読み書きをする複数の記憶部を有する記憶回路の制御方法において、
リードポインタレジスタ部が、データの読み出しを行う記憶部のアドレスを示すリードポインタを出力するステップと、
ライトポインタレジスタが、データの書き込みを行う記憶部のアドレスを示すライトポインタを出力するステップと、
第１の周波数のクロック信号を入力するステップと、
前記第１の周波数とは異なる第２の周波数のクロック信号を入力するステップと、
制御回路が、前記リードポインタ又は前記ライトポインタに基づいて、前記第１又は第２のクロック信号のいずれかを選択する選択信号を前記記憶部毎に出力するステップと、
選択回路が、前記選択信号に基づいて、前記記憶部毎に前記第１又は第２のクロック信号のいずれかを選択して出力するステップを有することを特徴とする制御方法。
【請求項７】
前記制御方法はさらに、
第１のクロック生成回路が、前記第１の周波数のクロック信号を出力するステップと、
第２のクロック生成回路が、前記第２の周波数のクロック信号を出力するステップを有することを特徴とする請求項６記載の制御方法。
【請求項８】
前記制御回路は、前記リードポインタ又は前記ライトポインタが示すアドレスの記憶部に対応する選択回路に対して、前記第１のクロック信号を選択する選択信号を出力することを特徴とする請求項６記載の制御方法。
【請求項９】
前記記憶回路はさらに、ＰＬＬ回路を有し、
前記制御方法はさらに、
前記ＰＬＬ回路が、第３の周波数を有する基準クロック信号と前記選択回路が出力するクロック信号が入力され、前記記憶部毎に前記基準クロック信号に対して位相が調整されたクロック信号を出力するステップを有することを特徴とする請求項６に記載の制御方法。
【請求項１０】
前記第３の周波数は、前記第１の周波数又は前記第２の周波数のいずれかと等しいことを特徴とする請求項９記載の制御方法。
【国際調査報告】
2009066383.tif 000016
2009066383.tif 000017