(57)【特許請求の範囲】
【請求項１】
メモリアレイ内の所望のデータブロックのアドレスを取得するステップと、
前記アドレスをデコードして前記データブロックが配置されている前記メモリアレイの行を取得するステップと、
前記データブロックを前記メモリアレイからワイドデータレジスタ回路に転送するステップと、
前記アドレスを用いて、前記ワイドデータレジスタ回路のどのスキャンレジスタブロックが、前記所望のデータブロックの最初のデータ要素を含んでいるかを判定するステップと、
前記データブロックの最初のデータ位置がスキャンレジスタブロックの境界になるまでデータをシフトするステップと、
前記スキャンレジスタブロックの伝送ゲートを開くステップと、
前記データブロックの最後のデータ位置が前記スキャンレジスタブロックの境界になるまでデータをシフトするステップと、
を含む、データ転送方法。
【請求項２】
前記データブロックを前記メモリアレイからワイドデータレジスタ回路に転送するステップは、前記メモリアレイから前記スキャンレジスタブロックに含まれている複数のレジスタセルにそれぞれパラレルに前記データブロックを転送する請求項１に記載のデータ転送方法。
【請求項３】
前記複数のレジスタセルは、前記メモリアレイの複数のビットラインにそれぞれ接続され、前記パラレルに前記データブロックを転送するステップは、前記複数のビットラインを使って前記データブロックを転送する請求項２に記載のデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はメモリ回路の分野に関し、特に、メモリ回路のハイブリッドデコーダ及びスキャンデータ入出力（Ｉ／Ｏ）方式に関する。
【０００２】
【従来の技術】
デジタルメモリアレイからデータを抽出するために、例えば、ワイドデータレジスタがしばしば設けられ、メモリアレイと入力／出力（Ｉ／Ｏ）ポートの間に接続される。ワイドデータレジスタは、個々のセルがアレイの各ビットラインに接続された一連のセルから構成することができる。この場合、アレイから選択される行データをデータレジスタに転送し、その行から選択されたデータを、対応するレジスタセルからＩ／Ｏポートに転送することができる。従来、ワイドデータレジスタから選択されたデータを抽出するために２つの方法が用いられてきており、一方はアドレスデコードに、他方はデータレジスタのスキャンシフトに基づいている。
【０００３】
アドレスデコード法では、各レジスタセルとデコーダが接続され、選択されたデータレジスタセルに格納されたデータを選択して、データバスに転送する。この方式は、レジスタ内のデータに高速かつランダムにアクセスできるという利点を有する。この方式の欠点は、各レジスタセルがデコーダ及び転送装置を必要とすること、及び、アドレスバス（真値及び補数値）を、各レジスタセルにルーティングしなければならないことである。メモリ回路では、集積回路の空間が重要であり、デコード／転送回路及びバスにより必要とされる比較的大きな回路面積が特に欠点となりうる。
【０００４】
ワイドデータレジスタアクセスのためのスキャンシフト法は、レジスタセルがスキャンチェーンに構成されることが必要である。この場合、レジスタ内のデータは、スキャンクロックにより設定される速度で、レジスタの中または外部にシリアルにシフトされる。この方法の利点は、単純なＩ／Ｏ及びクロッキング（２つのワイヤ、データＩ／Ｏ及びスキャンクロック）、高速のバースト速度（データＩ／Ｏはスキャンクロック速度で移動する）、及び、単純な物理レイアウトにある。しかしながら、この方法には、対象とするデータがスキャンレジスタセルのチェーンから出るまで、レジスタを介してデータをシリアルにシフトする際に、長い待ち時間が生じうるという欠点がある。その待ち時間は、Ｉ／Ｏポートを基準にして、対象とするデータがシフトレジスタ内に配置される場所に依存する。
【０００５】
【発明が解決しようとする課題】
本発明の課題は、上記各方式の欠点を解消して、シフトレジスタから高速にデータを出力するための回路及び方法を提供することである。
【０００６】
【課題を解決するための手段】
本発明の原理に従えば、データレジスタ回路及びＩ／Ｏ制御回路を備えるデータ入力／出力回路が提供される。データレジスタ回路は、一連のシフトレジスタブロックを備える。各シフトレジスタブロックは、少なくとも１つのレジスタセルと、データシフト入力と、データシフト出力と、シフトクロック入力とを備える。シフトレジスタブロックのデータシフト入力とデータシフト出力は結合されて、シフトクロック入力における信号に従って、順次、レジスタ回路を介してデータを渡す。データシフト入力とデータシフト出力との間の結合により、データアクセスノードが形成される。Ｉ／Ｏ制御回路は、各データアクセスノードをデータ入力／出力ポートに結合する複数の伝送ゲート回路を備える。またＩ／Ｏ制御回路は、選択された伝送ゲートを介して、データをデータレジスタ回路と入力／出力ポートとの間で渡すことができるように、アドレスバスからの入力に基づいて伝送ゲート回路の１つを選択するために、伝送ゲート回路に結合される選択回路も備える。
【０００７】
データレジスタ回路は、データレジスタ回路のレジスタセルからデータを読み出し、および／または、データレジスタ回路のレジスタセルにデータを書き込むためのパラレルデータ入力／出力経路を備えることが好ましい。本発明の一形態では、パラレルデータ入力／出力経路は、メモリアレイの各ビットラインがデータレジスタ回路の各レジスタセルに結合されるように、メモリアレイに結合される。
【０００８】
各シフトレジスタブロックは、チェーン状に結合されて、データシフト入力を有する第１のレジスタセルからデータシフト出力を有する第２のレジスタセルまで、複数のセルを介してデータをシフトすることができる複数のレジスタセルを備えることが好ましい。本発明の好適な形態では、シフトレジスタブロックはそれぞれ同じ数のレジスタセルを有する。
【０００９】
本発明に従えば、シフトレジスタのチェーンを有するデータレジスタを必要とするデータ転送のための方法も提供される。シフトレジスタはそれぞれ、少なくとも１つのレジスタセルと、データシフト入力と、データシフト出力と、シフトクロック入力とを備える。シフトレジスタのデータシフト入力とデータシフト出力は結合され、シフトクロック入力における信号に従って、データレジスタを介してデータを渡す。シフトレジスタのデータシフト入力とデータシフト出力との間の結合により、データアクセスノードが形成される。このデータ転送方法では、データアクセスノードの１つが、アドレスバス上の入力に従って選択される。この場合、データは、シフトクロック入力を用いてデータレジスタ内のデータをシフトすることにより、選択されたデータアクセスノードを介してデータレジスタの中または外部に転送される。
【００１０】
【発明が解決しようとする課題】
本発明の課題は、上記各方式の欠点を解消して、シフトレジスタから高速にデータを出力するための方法を提供することである。
【００１１】
メモリアレイからのデータの出力転送を行うために、例えば、選択されたデータは、外部データ源からデータレジスタにパラレルに入力することにより与えられ、選択されたデータの少なくとも一部が、シフトクロック入力を用いてデータレジスタ内のデータをシフトすることにより、選択されたデータアクセスノードを介してシリアルに出力される。
【００１２】
メモリアレイへのデータの入力転送を行うために、例えば、選択されたデータは、シフトクロック入力を用いてデータレジスタ内にデータをシフトすることにより、選択されたデータアクセスノードを介してデータレジスタにシリアルに入力され、その後、選択されたデータは、データレジスタからメモリアレイにパラレルに出力することにより転送される。
【００１３】
本発明の実施形態は、スキャンシフトレジスタにより提供される、シリアルＩ／Ｏでかつバーストデータ速度が速いという特性を維持しつつ、スキャンチェーンシフトレジスタに関連するシリアルＩ／Ｏの待ち時間の問題に対する解決策を提供する。
【００１４】
【発明の実施の形態】
以下に、本発明を詳しく説明するために、一例として採用した本発明の好適な実施形態を添付の図面を参照して説明する。
【００１５】
本明細書では、デジタルメモリアレイに対する入力／出力アクセスのための方法及び装置が開示される。以下では、本発明を完全に理解できるように、説明の目的で、特定の専門用語及び特定の実施例の細部が説明される。しかしながら、本発明を実施するために、これらの特定の細部は必ずしも必要でないことは当業者には明らかであろう。例えば、ある大きさのデータレジスタ、シフトレジスタブロック及びメモリアレイが、コンテクスト（context）及び比較可能な結果（または、相対的な結果）を提供するために詳細な説明で参照されるが、他の寸法、すなわち、より大きな、または、より小さなデータレジスタ、シフトレジスタアレイ及びメモリアレイにも、本発明の原理を適用することができることが当業者には理解されよう。
【００１６】
以下の説明では、「データ」という用語は、状況に応じて、様々に表現されることを理解されたい。例えば、メモリアレイまたはレジスタセル内の「データ」は、電圧レベルまたは磁気状態等により表される場合があるのに対して、バス上、または、伝送中には、「データ」は電流、または、電磁信号の形を取る場合もある。
【００１７】
メモリデータＩ／Ｏに対する従来技術のアプローチの１つは、「スキャンレジスタ」アーキテクチャと呼ぶことができ、その一例を図１にブロック図の形で示す。例示したスキャンレジスタアーキテクチャ１００は、スキャンレジスタ１０２を備えており、スキャンレジスタ１０２は、スキャンクロック１０８により与えられるクロック信号に従って、１つのセルから次のセル（図１に示するように、セル１からセルｎに、左から右に）にデータをシリアルにシフトするように接続された一連のｎ個のスキャンレジスタセル１０４を備える。セルｎからのデータは、スキャンＩ／Ｏポート１１０に出力することができ、また、フィードバック接続１０９を介してスキャンセル１に戻すこともできる。フィードバック接続１０９により、スキャンＩ／Ｏポート１１０に入力されるデータを、スキャンレジスタ１０２にも入力することができる。従って、スキャンレジスタ１０２は、データの入力及び出力の両方のためにスキャンＩ／Ｏポートへのシリアル接続を有する。また、スキャンレジスタは、メモリアレイ（図１には示してない）とパラレルにデータ転送するためにも接続される。これは、図１の１０６に示すように、メモリアレイからスキャンレジスタの各セル１０４までビットラインを接続することにより実現される。このようにして、メモリアレイ内の行を選択し、スキャンレジスタからメモリアレイに、または、その逆に、ビットライン接続１０６を介してパラレルにデータを転送することにより、メモリアレイからの一行のデータを、メモリアレイとスキャンレジスタとの間で転送することができる。
【００１８】
スキャンレジスタアーキテクチャでは、所望のデータがスキャンチェーン内の最後のスキャンレジスタセル（セルｎ）のスキャン出力ポートに現れるまで、特定のスキャンレジスタ位置（セル）に記憶されたデータが、一連のスキャンレジスタセルを介してスキャンクロックサイクル毎に１つの位置だけシフトされる。その後、その所望のデータはスキャンＩ／Ｏポート１１０において利用可能である。
【００１９】
スキャンアプローチの特徴は以下の通りである。
１．スキャンレジスタ回路構成は、多くのアプリケーション（メモリ回路）に見られるワイドデータレジスタ構成に類似している。
２．Ｉ／Ｏデータ速度は、スキャンチェーン内のスキャンレジスタ間のデータシフトと、スキャンクロックによって設定される周波数制限とにより制限される。スキャンクロック速度におけるシリアルＩ／Ｏデータは「バースト」速度と呼ばれる。
３．シリアルスキャン回路の物理的な構成は、外部回路（例えば、メモリ内の一組のビットライン）に対して、パラレルにデータを読み出し、パラレルにデータを書き込むために必要となる場合があるデータレジスタの物理的な構成と互換性がある。
【００２０】
スキャンレジスタアプローチの主な欠点は、データを、スキャンデータＩ／Ｏポートから順次アクセスすることしかできず、従って、対象とするデータがスキャンデータ出力ポートに現れるまでに、多くのスキャンクロックサイクルを要する場合があることである。スキャンチェーン内のデータにアクセスする際の遅延は「待ち時間」と呼ばれ、スキャンチェーンの長さ、及びデータシーケンス内の所望のデータの位置によっては、非常に長くなる場合がある。例えば、スキャンチェーンが１０２４ビット幅であり、１００ＭＨｚのスキャンクロックが用いられるものとすると、このデータレジスタからデータの最終ビットを出力するためには、１０．２μｓｅｃかかるであろう。データ読出しバースト速度はスキャンクロックによって設定され、この例では、データは１０ｎｓｅｃ間隔でスキャンチェーンから出る。従って、スキャンレジスタアプローチは、簡単で、しかも効率的な物理的構成を提供し、高速のデータ「バースト」速度を提供するが、長いデータアクセス待ち時間を潜在的に有するという欠点がある。
【００２１】
ワイドレジスタデータＩ／Ｏのために従来技術において採用されている別のアプローチは、データＩ／Ｏラインからデータを読み出し、または、データＩ／Ｏラインにデータを書き込むために、デコーダ回路を用いて各レジスタセルをアドレス指定し、各レジスタセルを直接選択することを含む。そのような「デコーダＩ／Ｏ」レジスタアーキテクチャ２００の一例を、図２にブロック図の形で示す。この図では、ワイドデータレジスタ２０２は一組のレジスタセル２０４を備える。レジスタ２０２は、例えば、メモリアレイに接続するために、パラレルＩ／Ｏ２０６を有しており、これにより、各レジスタセルを、メモリアレイの各ビットラインに接続することができる。レジスタクロック２０８を用いて、データをレジスタ２０２の内部及び外部に（クロックに同期して）転送する。また、各レジスタセル２０４は、各伝送ゲート２１４を介してデータＩ／Ｏポート２１０にも接続される。各伝送ゲート２１４は、タイミング制御ブロック（図示せず）からのアドレスバス２１２から駆動されるデコーダ回路２１６により制御される。
【００２２】
レジスタデータＩ／Ｏ回路の構成により、レジスタ内の任意のデータビットへの高速アクセスが可能になる。タイミング制御ブロックから一連のアドレスを供給し、データＩ／Ｏポート２１０においてシリアルデータ出力を生成することにより、連続的したデータアクセス動作が行われる。デコーダデータＩ／Ｏアプローチの主な特徴は、ワイドデータレジスタ内の任意のポイントへの高速ランダムアクセスである。デコーダデータＩ／Ｏアプローチの欠点は、
１）全てのデータレジスタセル回路にアドレスデコーダ及び伝送ゲート回路を追加すること、
２）アクセスされる全てのレジスタセルのために固有のアドレスを供給する必要があること、などがある。いくつか、または、多数の連続するレジスタビットがシリアルにアクセスされるブロックモード動作を考えると、アクセスされる各ビットのために新しいアドレスコマンドを作成しなければならない。連続するアドレスコマンドの組を、外部タイミング制御回路で生成し、アドレスバス２１２上をレジスタに伝送しなければならない。
【００２３】
以上をまとめると、デコーダデータＩ／Ｏアプローチは、高速ランダムデータアクセスを提供する。しかしながら、ブロック型（または、ブロック指向）のデータのシリアル出力には、あまり適しておらず、その物理的な構成は、ピッチの狭いデータレジスタ回路（例えば、メモリ  オン・ピッチ  カラム回路：memory on-pitch column circuit）にはあまり適していないデコーダ回路および伝送ゲートを必要とする。
【００２４】
図３は、本発明の一実施形態により構成されるハイブリッドデータＩ／Ｏ回路３００のブロック図である。ハイブリッドデータＩ／Ｏ回路３００は、一連の相互接続されたスキャンレジスタ３０４から構成されるデータレジスタ３０２を備える。スキャンレジスタ３０４はそれぞれ、１つのセルから次のセルにデータをシフトするために、互いに接続される一連のスキャンレジスタセル３０５を備える。スキャンレジスタ３０４は、また、データをシフトできるように相互に接続され、１つのスキャンレジスタの最後のセルが、データを次のスキャンレジスタの最初のセルにシフトする。データのシフトは、スキャンクロック３０８により制御される。従来技術のレジスタアーキテクチャに関連して説明したように、各スキャンセルは、パラレルデータ入力／出力（３０６）を、メモリアレイ等の各ビットラインに接続できるようする。本発明のＩ／Ｏレジスタアーキテクチャは、長いデータＩ／Ｏレジスタ構造を必要とする可能性のある大規模（例えばギガビット）メモリアレイを含むことができる、磁気ランダムアクセスメモリ（ＭＲＡＭ）回路への応用に特に適している。
【００２５】
ｎ単位（例えば、ビット）幅のデータレジスタを考える。ここで、ｎは、比較的大きな数であり、例えば、メモリアレイの１行内のメモリセルの数に対応する。この場合、本発明のハイブリッドデータＩ／Ｏ回路では、データレジスタ３０２を、ｓ個の相互に接続されたスキャンレジスタ３０４（１）、．．．、３０４（ｓ）から構成することができ、各スキャンレジスタは、ｗ個のスキャンレジスタセル３０５を有する。ここで、ｎ＝ｓ×ｗ（ｎ、ｓ、ｗはいずれも整数）である。各スキャンレジスタ３０４のレジスタセル３０５は、１つのセルから次のセルまで、セル番号ｗに向かって、データをシフトするように配列され、あるスキャンレジスタのセルｗは、次のスキャンレジスタのセル番号１のセルにそのデータをシフトするように接続される。セル（ｓ：ｗ）として示される最後のスキャンレジスタｓのセルｗからのデータを、最初のスキャンレジスタ（セル（１：１））のセル番号１に渡すことができるようにするために、フィードバック接続３０９が設けられる。またＩ／Ｏ接続が、各スキャンレジスタ３０４の最後のセルとデータＩ／Ｏポート３１１との間に、各伝送ゲート３１４を介して設けられる。伝送ゲート３１４は、アドレスバス３１２から駆動されるデコーダ回路３１６により制御される。さらに、最後のスキャンレジスタの最後のスキャンセル（すなわちセル（ｓ：ｗ））は、スキャンＩ／Ｏポート３１０に接続される。
【００２６】
ワイドデータレジスタＩ／Ｏ回路の動作は、上記の２つの異なるデータレジスタ回路間でハイブリッドの形を取る。データレジスタ３０２は、シフトデータレジスタの形を取り、スキャンレジスタブロック３０４間に、データＩ／Ｏポート３１１に対するデコードされた入力／出力接続を有する。データレジスタ３０２から選択されたデータ要素を取得するために、ｓ：１デコーダ（1 of s decoder）の形を取ることができるデコーダ回路３１６を制御するアドレスバス３１２を用いて、適切な伝送ゲート３１４が選択される。この場合、適切なスキャンレジスタブロックの出力がデータＩ／Ｏポートに接続され、必要なデータ要素がデータＩ／Ｏポートに現れるまで、データレジスタ３０２のスキャンブロック３０４を介して、データがシフトされる。代替的には、レジスタ３０２内のデータを、必要なデータがスキャンブロックのｗ番目のセルに配置されるまでシフトし、その後、そのデータをデータＩ／Ｏ３１１に与えるために、そのスキャンブロックのアドレスをアドレスバス上でアサートすることができる。レジスタ３０２からデータのブロックを取り出すために、そのブロック内の第１（または、最初）のデータ要素を含むスキャンブロックの伝送ゲート出力がアドレスバスを介して選択され、スキャンクロックを用いたレジスタによるデータのシフトが、そのブロックの最後のデータ要素が出力されるまで、伝送ゲートを開いた状態で継続される。
【００２７】
本発明の好適な実施形態のハイブリッドデータＩ／Ｏ回路は、デコーダＩ／Ｏアプローチの高速ランダムデータアクセス、ブロック指向、レイアウト効率、スキャンデータＩ／Ｏ回路の高速バースト速度を特徴とする。この回路は、ワイドデータレジスタを、従来のデコーダでそれぞれランダムに選択可能なサブブロックに細分する。このアプローチの利点は、物理的設計が効率的なことであり、データレジスタはスキャンレジスタとして容易に設計され、ブロックデコーダは、レジスタサブブロックを形成するいくつかのスキャンレジスタセルのピッチ内に容易に収容される。このアプローチの第２の利点は、データをデータ出力ポートにシリアルにシフトすることである。シフトされるビットの数は、レジスタに供給されるスキャンクロックパルスの数により決定され、それは、サブブロック境界により画定されるものより多くすることも、少なくすることもできる。ブロック指向データ内の全ビットにランダムにデータアクセスするための一組のアドレスが必要ではないため、タイミングサポート回路は、デコーダデータＩ／Ｏアーキテクチャほど複雑にする必要はない。
【００２８】
図４は、従来のシリアル及びパラレルデータＩ／Ｏアプローチのタイミングを、本発明のハイブリッドデータＩ／Ｏアプローチと比較して示すための簡単なタイミング図である。３２ビットのデータを制御することができるワイドデータレジスタを考える。ビット番号７をアクセスした場合、そのビット番号７がレジスタから出るまでに、スキャンアプローチでは２５のデータシフトを要するであろう。デコーダアプローチでは、外部タイミング制御回路（５つの真値アドレスライン＋５つの補数値アドレスライン）からデコーダ回路（５入力ＡＮＤゲート）に５ビットアドレスが供給され、番号７のデータレジスタをデータＩ／Ｏ信号ラインに接続するために、伝送ゲートにゲート信号を供給する。ビット番号７へのデータアクセス時間は、アドレスセットアップタイム及びデータＩ／Ｏラインへのレジスタの接続に関連する遅延により制限される。ＡＮＤゲートを伝送ゲートに接続する前にアドレスが有効になるまで待機する制御信号によってＡＮＤゲートが制御されなければ、そのデータＩ／Ｏ信号に、ある量のアドレススイッチングノイズが加わる場合がある。ハイブリッドアプローチでは、アドレスデコーダがセットアップされ、８個のサブブロックのうちの１つを選択する（３つのアドレスライン及び３つの補数値アドレスライン＋４つのデータレジスタセルの領域に渡って分散される３入力ＡＮＤゲートにより）。ビット７のアクセス待ち時間は２スキャンクロックサイクルである。ビット８は、最初のスキャンクロックサイクルでシフトアウトされ、次に、ビット７が第２のスキャンクロックサイクルでシフトアウトされる。
【００２９】
図５の流れ図５００に、本発明の一実施形態によるハイブリッドデータレジスタＩ／Ｏアーキテクチャを利用して、メモリアレイからデータのブロックにアクセスする際のステップの一例を示す。この手順について、それぞれ４つのセルからなる８個のスキャンレジスタブロックを有する上述の３２ビット構造に基づいた例を用いて、以下に詳細に説明する。
【００３０】
最初のステップ５０１では、所望のデータブロックのアドレスが、例えば、開始アドレスと終了アドレス、または、開始アドレスとブロック長の形で得られる。説明を簡単にするために、所望のデータブロックは、メモリアレイの１行内にあるものとする。開始アドレスは、既知の方式でデコードされ、メモリアレイのどの行にデータブロックが配置されているかを判定し（ステップ５０２）、適切な行の記憶されたデータが、メモリアレイからワイドデータレジスタに転送される（ステップ５０３）。次に、データブロックの開始アドレスを用いて、どのスキャンレジスタブロックが、所望のデータブロックの最初のデータ要素を含んでいるかを判定することができる（ステップ５０４）。例えば、それぞれ４つのセルからなる８個のスキャンレジスタブロックを有する３２ビット構造では、開始アドレスの５ビットが、データレジスタ内のデータブロックの最初の要素を特定する。それらの５つのアドレスビットのうち、上位３ビットを用いて、８個のスキャンブロックのうちのどのブロックが、データブロックの最初の要素を含むかを判定することができる。次に、残りの２つのアドレスビット（例えば、アドレスの下位２ビット）が、スキャンブロックにおけるデータブロックの最初の要素がある場所を特定する。データＩ／Ｏポート（図３参照）における出力に対して、所望のデータブロックの最初の要素（ビット）を配置するために、アドレス（または、他のスキャンブロック境界までシフトするために、その２進数の補数）の残りの（最下位）ビット（または、その補数）により表されるセル位置（スキャンクロックサイクル）の数だけレジスタデータをシフトすることにより、レジスタデータをスキャンブロックの境界までシフトすることができる。この動作は、手順５００のステップ５０５で実行される。ステップ５０４で指定された伝送ゲートを、ステップ５０６で開き（すなわち、オープン状態にし）、データを、レジスタからデータＩ／Ｏポート（図３の３１１）に送ることができるようにする。スキャンクロックを用いるデータのシフトは、最後のデータ位置が、開いている伝送ゲートに到達し、データＩ／Ｏポートに出力されるまで継続される（ステップ５０７）。その後、伝送ゲートを閉じ（ステップ５０８）、データアクセス手順は完了する。
【００３１】
本発明の動作例を、図６及び図７を参照して以下にさらに説明する。図６は、３２行×３２列のメモリ要素をからなるメモリアレイ６００の一例を示すブロック図である。本発明の一実施形態によるハイブリッドデータレジスタＩ／Ｏ回路６０４が、メモリアレイのビットラインへのパラレルデータ接続６０２を介してメモリアレイ６００に接続される。データレジスタ回路は、メモリアレイの各列に対して１つずつの、複数のレジスタセルを備える。上述のように、レジスタセルは、１つの隣接するセルから次のセルまで、及び、１つの隣接するスキャンレジスタブロックから次のスキャンレジスタブロックまで、データをシフトできるように相互接続される複数のスキャンレジスタブロックに配列される。この例の場合のデータレジスタＩ／Ｏ回路の実際の構造を図７に詳しく示しており、以下で詳しく説明する。メモリアレイ６００に行選択デコーダ回路６０８が接続され、アドレス及び制御回路６０６により制御されて、アレイ内の３２行のメモリ要素のうちの１つの行を選択する。選択された行に記憶されたデータは、データレジスタＩ／Ｏ回路６０４に転送するために利用可能である。
【００３２】
この例では、図６のアレイ内の黒塗りのブロックで示す、メモリアレイに記憶された所望の８ビットデータをアクセスする場合を考える。図示した所望のデータブロックは８ビット長であり、行番号１１の行のビット（列）番号１９〜２６に配置される。このデータブロックの位置を表す１つの方法は、データのブロックの開始アドレスとブロック長を与えることであり、例えば、以下のようになる。
開始アドレス＝０１０１１  １００１１（２進数）
ブロック長  ＝０１０００            （２進数）
この場合には、開始アドレスの最初の５ビットは、行番号（１１（１０進数））を表し、次の５ビットがデータブロックの開始のビット（列）番号（１９（１０進数））を表す。そのアドレスを、アドレス及び制御ブロック６０６に与えることにより、デコーダ回路６０８がそのアドレスの第一の（または、最初の）部分を用いて、行番号１１の行のデータをデータレジスタＩ／Ｏ回路６０４にコピーすることができる。
【００３３】
図７は、データレジスタＩ／Ｏ回路６０４のブロック図である。回路６０４は、それぞれが一連のスキャンレジスタセルからなる、一連のスキャンレジスタブロック３０４を備えている。図のように、回路６０４は、順次接続される４つのスキャンレジスタブロック、３０４（３）、３０４（２）、３０４（１）及び３０４（０）を有する。スキャンレジスタブロックはそれぞれ、８個のスキャンレジスタセルを含み、列０〜７に対応するブロック３０４（０）で開始して、メモリアレイの各８列からデータを有効に受信する。図７には、メモリセルの行番号１１の行からのデータがレジスタＩ／Ｏ回路にコピーされた後に、メモリアレイからの所望のデータを含むことになるスキャンレジスタセルを斜線で示している。各スキャンブロック３０４の出力は、各伝送ゲート３１４を介して、データＩ／Ｏポート３１１に接続される。各伝送ゲートは、各デコーダ回路３１６、例えばＡＮＤゲートによって制御される。
【００３４】
データＩ／Ｏポート３１１における出力用の所望のデータを取り出するために、まず、スキャンレジスタブロック３０４のうちのどのブロックが、所望のデータブロックの開始を含むかを特定する必要がある。これは、上述した開始アドレスの第２の部分、具体的にはその先頭の２ビットを用いて達成することができる。アドレスの先頭の２ビットは、対応する伝送ゲート３１４を動作状態（イネーブル）にするために、アドレスバス３１２からデコーダ回路３１６に与えられる。この例では、スキャンレジスタブロック３０４（２）が所望のデータの開始を含むため、伝送ゲート３１４（２）が動作状態にされる。
【００３５】
スキャンレジスタブロック３０４によるデータのシフトは、この場合にはクロック制御回路３２０によって与えられるスキャンクロック３０８を用いて実現される。所望のデータがデータＩ／Ｏポートに現れるまでのデータシフト動作（スキャンクロック周期）の数は、開始アドレスの残りの部分から判定することができる。この場合には開始アドレスの残りの３ビットは０１１（２進数）であり、所望のデータブロックの開始が、伝送ゲート３１４（２）を通ってデータＩ／Ｏポートで利用可能になるまでに、３シフト動作かかることを示す。長さのパラメータ（ブロック長パラメータ）が、選択された伝送ゲートを介して、所望のデータの全ブロックを取得するのにかかる、さらなるシフト動作の数を示す。
【００３６】
スキャンレジスタに与えられるスキャンクロック３０８、及び、デコーダ回路３１６への入力は、クロック制御回路３２０により、及び、アドレスバス３１２から受信される入力に基づいて、制御することができる。例えば、図５に関連して上述したように、デコーダ回路３１６により高次の開始アドレス信号を提供する前に、最低次の開始アドレスビットにより示される数だけシフト動作を実行し、これにより、適切な伝送ゲート３１４が動作状態になったとき、次のスキャンクロックサイクルが所望のデータブロックの最初のビットをデータＩ／Ｏポートに出力することが望ましい場合もある。次に、クロック制御回路は、全ての所望のデータを取得するために、データブロック長パラメータにより指示されるスキャンクロックサイクルの数に対応する期間だけ、デコーダ回路を動作状態にしておくことができる。
【００３７】
以上をまとめると、本明細書は、シリアルスキャンレジスタ及びデコーダランダムアクセスレジスタの利点を併せ持ち、多くのメモリ回路に見られるワイドデータレジスタに極めて好適な高速ハイブリッドデータＩ／Ｏ方式を開示する。本発明のデータＩ／Ｏレジスタアーキテクチャは、シリアルスキャンレジスタの効率の良い物理的設計と、ワイドデータレジスタに一般的に見られるデータのブロック構成とを利用して、そのデータアクセスがシリアルスキャンチェーンの待ち時間によって支配されない、高速データＩ／Ｏ回路を提供する。デコーダアプローチをスキャンアプローチと組み合わせることによって加わる、回路及び面積のオーバーヘッドは、いくつかのスキャンレジスタブロックの幅に渡って分散される場合に小さくなる。
【００３８】
本発明に関する上記の詳細な説明は、例示を目的としてなしたものであり、当業者であれば、本発明の範囲から逸脱することなく、本発明の構成要素の細部及びその構成に対して、変形び修正を行うことができることは明らかである。例えば、本発明の原理の理解のために、いくつかの特定の回路を図示し説明したが、本発明はこれらの構造に限定されるものではない。データレジスタの実際の長さは、任意の所望の長さにすることができ、同様に、スキャン／シフトレジスタブロックのサイズ、及びそれぞれのスキャンセルの数を選択することができる。スキャンブロックのサイズ及びセルの数は、所望の性能特性に従って選択することもでき、この場合、ブロック当たりのセル数を少なくすることにより、潜在するデータアクセス待ち時間は減るが、必要なスキャンブロックデコーダ回路の複雑さが増す。また、各セルは２ビット以上のデータビットを記憶することも可能である。
【００３９】
上述した本発明の実施形態の大部分は、メモリアレイからデータを取り出すために、出力動作においてデータＩ／Ｏレジスタを使用することに関係するが、本発明のデータＩ／Ｏレジスタアーキテクチャは、例えば、選択されたメモリアレイの位置、または、一群の位置にデータを記憶するために、入力動作にも同様に適用できることが理解されよう。この場合には、スキャンクロック（図３の３０８）を用いてデータをレジスタ内にシフトすることにより、データＩ／Ｏポート（３１１）及び選択された伝送ゲート（３１４）の１つを介して、データは、シリアルにデータレジスタ（３０２）に送られる。次に、パラレルＩ／Ｏ（３０６）を用いて、レジスタからメモリアレイにデータ転送する。
【００４０】
また、好適な実施形態とともに、レジスタセル、伝送ゲート及びデコーダ回路のようないくつかの回路要素も記載しているが、本発明は、記載した通りの回路要素を使用することに限定されるものではない。本発明の目的のために、本発明の範囲内で、等価な機能を有する他の回路要素を代わりに使用することができることは、当業者には容易に理解されよう。例えば、本発明において使用する伝送ゲートは、製造プロセス等のような種々の要因に応じて様々な形態を取ることができるが、スキャン／シフトレジスタのチェーンにおいて選択されたデータアクセスノードにデータＩ／Ｏポート（例えば図３の３１１）を接続するための制御可能なスイッチに関して必要とされる機能を依然として実行することができる。
【００４１】
本発明の概要は次のように記載することができる。いくつかの形態のメモリデータＩ／Ｏは、メモリアレイとのパラレルインターフェースとメモリ外部のデータポートとのシリアルインターフェースを必要とする。メモリアレイ（６００）の列（ビットライン６０２）に接続する１組のスキャンレジスタ（３０４（１）、．．．、３０４（ｓ））に沿った、選択されたポイントへの高速データアクセスを提供するハイブリッドデコーダ／スキャンレジスタデータＩ／Ｏ（３００）方式を開示する。メモリアレイにインターフェースするのは、一連のスキャンレジスタブロック（３０４）から構成される長いレジスタ（３０２）である。メモリアレイに入出力するデータはパラレル方式で伝送される。特定のメモリアドレスまたはメモリデータブロックに対するデータＩ／Ｏは、シリアルデータＩ／Ｏラインから、デコーダ回路（３１６、３２０）によって制御される１組のスイッチ（３１４）を介して、スキャンレジスタブロック（３０４）のうちの１つの入力（または出力）ポートに送られる。このハイブリッドデータＩ／Ｏ回路は、メモリアレイの列回路内の選択されたポイントへの高速アクセスを提供すると共に、スキャンチェーンデータレジスタによって提供される効率的で高速のシリアル出力を維持する。
【００４２】
以下においては、本発明の種々の構成要件の組み合わせからなる例示的な実施態様を示す。
１．データ入力／出力回路において、
一連のシフトレジスタブロック（３０４）を備えるデータレジスタ回路（３０２）であって、前記各シフトレジスタブロックは、少なくとも１つのレジスタセル（３０５）と、データシフト入力と、データシフト出力と、シフトクロック入力（３０８）とを有し、前記シフトレジスタブロックの前記データシフト入力と前記データシフト出力が、前記シフトクロック入力における信号に従って、順次、前記レジスタ回路を介してデータを送るように結合され、前記データシフト入力と前記データシフト出力との間の結合によりデータアクセスノードが形成されることからなる、データレジスタ回路と、
アドレスバス入力（３１２）を有する入力／出力（Ｉ／Ｏ）制御回路であって、該Ｉ／Ｏ制御回路は、前記各データアクセスノードをデータ入力／出力ポート（３１１）に接続する複数の伝送ゲート回路（３１４）を備え、また前記Ｉ／Ｏ制御回路は、前記アドレスバス上の入力に基づいて前記伝送ゲート回路の１つを選択するために、前記伝送ゲート回路に接続される選択回路（３１６）も備え、これにより、前記選択された伝送ゲートを介して、前記データレジスタ回路と前記入力／出力ポートとの間でデータを送ることができるようにすることからなる、Ｉ／Ｏ制御回路
を備える、データ入力／出力回路。
２．前記データレジスタ回路が、前記データレジスタ回路のレジスタセルからデータを読み出し、及び／または、前記データレジスタ回路のレジスタセルにデータを書き込むための、パラレルデータ入力／出力経路（３０６）を備える、上項１のデータ入力／出力回路。
３．前記パラレルデータ入力／出力経路がメモリアレイ（６００）に結合され、前記メモリアレイの各ビットライン（６０２）が、前記データレジスタ回路の各レジスタセルに結合される、上項２のデータ入力／出力回路。
４．各シフトレジスタブロック（３０４）が、前記データシフト入力を有する第１のレジスタセル（ｓ：１）から、前記データシフト出力を有する第２のレジスタセル（ｓ：ｗ）にデータをシフトできるようにするために、チェーン状に結合された複数のレジスタセル（３０５）を備える、上項１乃至３のいずれかのデータ入力／出力回路。
５．前記シフトレジスタブロック（３０４）が、それぞれ、同数のレジスタセル（３０５）を有する、上項４のデータ入力／出力回路。
６．データ転送のための方法において、
一連のシフトレジスタ（３０４）を有するデータレジスタを提供するステップであって、各シフトレジスタは、少なくとも１つのレジスタセル（３０５）と、データシフト入力と、データシフト出力と、シフトクロック入力（３０８）とを備え、前記シフトレジスタの前記データシフト入力と前記データシフト出力は、前記シフトクロック入力における信号に従って、前記データレジスタを介してデータを送るように結合され、前記データシフト入力と前記データシフト出力との間の結合により、データアクセスノードが形成されることからなる、データレジスタを提供するステップと、
前記データアクセスノードのうちの１つを選択するステップ（５０４、５０６、３１６（２））と、
前記シフトクロック入力（３０８）を用いて前記データレジスタ内のデータをシフトすることにより、前記選択されたデータアクセスノードを介して、前記データレジスタ（３０２）の内部またはその外部にデータを転送するステップ
含む、方法。
７．前記データレジスタの前記レジスタセルに対して、データをパラレルに入力または出力するステップ（５０３）を含む、上項６の方法。
８．選択されたデータは、外部データ源から前記データレジスタにパラレルに入力することにより与えられ、前記選択されたデータの少なくとも一部は、前記シフトクロック入力を用いて前記データレジスタ内のデータをシフトすることにより、前記選択されたデータアクセスノードを介してシリアルに出力される（５０６、５０７）、上項７の方法。
９．選択されたデータは、前記シフトクロック入力を用いて前記データレジスタにデータをシフトすることにより、前記選択されたデータアクセスノードを介して前記データレジスタにシリアルに入力され、前記選択されたデータは、前記データレジスタからパラレルに出力することにより提供される、上項７の方法。
１０．データが、前記データレジスタ（３０２）とメモリアレイ（６００）との間でパラレルに転送され、各レジスタセル（３０５）は、前記メモリアレイの各ビットライン（６０２）によりデータを転送するように配列される、上項７の方法。
【００４３】
【発明の効果】
本発明によれば、スキャンシフトレジスタにより提供される、シリアルＩ／Ｏでかつバーストデータ速度が速いという特性を維持しつつ、スキャンチェーンシフトレジスタに関連するシリアルＩ／Ｏの待ち時間の問題が解消される。
【図面の簡単な説明】
【図１】スキャンＩ／Ｏを有する従来技術の「ｎ」ビットデータレジスタのブロック図である。
【図２】デコーダＩ／Ｏを有する従来技術の「ｎ」ビットデータレジスタのブロック図である。
【図３】本発明の一実施形態によるハイブリッド「ｎ」ビットデータレジスタのブロック図である。
【図４】３２ビットデータレジスタを例にとってアクセス時間を比較したタイミング図である。
【図５】本発明の一実施形態に従うハイブリッドデータレジスタＩ／Ｏアーキテクチャを利用してデータのブロックにアクセスするための手順を示す流れ図である。
【図６】メモリアレイ及びデータＩ／Ｏレジスタのブロック図である。
【図７】本発明に従って構成されたハイブリッドデータレジスタＩ／Ｏ回路の一例のブロック図である。
【符号の説明】
３０２  データレジスタ
３０４  シフトレジスタ（ブロック）
３０５  レジスタセル
３０６  パラレルデータＩ／Ｏ（入力／出力）
３０８  シフト（スキャン）クロック（入力）
３１１  データＩ／Ｏ（入力／出力）ポート
３１２  アドレスバス（入力）
３１４  伝送ゲート回路
３１６  選択回路（デコーダ回路）
６００  メモリアレイ
【図１】
0004808318.tif 000002
【図２】
0004808318.tif 000003
【図３】
0004808318.tif 000004
【図４】
0004808318.tif 000005
【図５】
0004808318.tif 000006
【図６】
0004808318.tif 000007
【図７】
0004808318.tif 000008