(57)【特許請求の範囲】
【請求項１】
メモリコントローラからのコマンドに応答して動作するメモリ装置において，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
前記バンク内のメモリセルアレイの動作を制御する制御回路とを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられ，第１のバンクアドレスに割り当てられた第１のページ領域群が第１の行に配置され，第２のバンクアドレスに割り当てられた第２のページ領域群が第２の行に配置されたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
前記制御回路は，前記二次元配列データを前記第１，第２の行の一方の行を水平方向にアクセスする水平アクセス期間中において，当該水平アクセスに対応する通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，前記第１，第２の行の他方の行に割り当てられたバンクアドレスをリフレッシュ対象バンクのバンクアドレスとして通知するバックグランドリフレッシュコマンドに応答して，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させ，
更に，前記制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止することを特徴とするメモリ装置。
【請求項２】
メモリコントローラからのコマンドに応答して動作するメモリ装置において，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
前記バンク内のメモリセルアレイの動作を制御する制御回路とを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
前記制御回路は，前記二次元配列データを水平方向にアクセスする水平アクセス期間中において，当該水平アクセスに対応する通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，バックグランドリフレッシュコマンドに応答して，前記水平アクセス対象バンク以外のリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させ,
前記制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止することを特徴とするメモリ装置。
【請求項３】
メモリコントローラと，
前記メモリコントローラからのコマンドに応答して動作するメモリ装置とを有し，
前記メモリ装置は，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられ，第１のバンクアドレスに割り当てられた第１のページ領域群が第１の行に配置され，第２のバンクアドレスに割り当てられた第２のページ領域群が第２の行に配置されたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
さらに，前記二次元配列データを前記第１，第２の行の一方の行を水平方向にアクセスする水平アクセス期間中において，通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，前記第１，第２の行の他方の行に割り当てられたバンクアドレスをリフレッシュ対象バンクのバンクアドレスとして通知するバックグランドリフレッシュコマンドに応答して，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させ，更に，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止する制御回路を有することを特徴とするメモリシステム。
【請求項４】
メモリコントローラと，
前記メモリコントローラからのコマンドに応答して動作するメモリ装置とを有し，
前記メモリ装置は，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
さらに，前記二次元配列データを水平方向にアクセスする水平アクセス期間中において，通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，バックグランドリフレッシュコマンドに応答して，前記水平アクセス対象バンク以外のリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させる制御回路を有し，
前記制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止することを特徴とするメモリシステム。
【請求項５】
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，前記複数のバンク内のメモリコアの動作を制御する制御回路とを有するメモリ装置を制御するメモリコントローラにおいて，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられ，第１のバンクアドレスに割り当てられた第１のページ領域群が第１の行に配置され，第２のバンクアドレスに割り当てられた第２のページ領域群が第２の行に配置されたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
上位装置からのアクセス要求に応答して，当該アクセス要求が前記二次元配列データを前記第１，第２の行の一方の行を水平方向にアクセスする水平アクセスであることを判定し，当該水平アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択される水平アクセス対象バンク内のメモリコアに通常動作を実行させるシーケンサを有し，
前記シーケンサは，前記アクセス要求に応答して，前記第１，第２の行の他方の行に割り当てられたバンクアドレスをリフレッシュ対象バンクのバンクアドレスとして，バックグランドリフレッシュコマンドと共に前記メモリ装置に供給して，前記通常動作中に，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させ，
更に，前記シーケンサは，前記アクセス要求が前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセスの場合は，当該矩形アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択されるアクセス対象バンク内のメモリコアに通常動作を実行させ，当該通常メモリ動作中において前記バックグランドリフレッシュコマンドを発行しないことを特徴とするメモリコントローラ。
【請求項６】
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，前記複数のバンク内のメモリコアの動作を制御する制御回路とを有するメモリ装置を制御するメモリコントローラにおいて，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
上位装置からのアクセス要求に応答して，当該アクセス要求が前記二次元配列データを水平方向にアクセスする水平アクセスであることを判定し，当該水平アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択される水平アクセス対象バンク内のメモリコアに通常動作を実行させるシーケンサを有し，
前記シーケンサは，前記アクセス要求に応答して，前記水平アクセス対象バンク以外のバンクを特定するリフレッシュバンク情報を，バックグランドリフレッシュコマンドと共に前記メモリ装置に供給して，前記通常動作中に，前記リフレッシュバンク情報に対応するリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させ，
前記シーケンサは，前記アクセス要求が前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセスの場合は，当該矩形アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択されるアクセス対象バンク内のメモリコアに通常動作を実行させ，当該通常メモリ動作中において前記バックグランドリフレッシュコマンドを発行しないことを特徴とするメモリコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，デジタル画像データをはじめとする二次元配列データを記録するメモリ装置，そのメモリ装置のメモリコントローラ，及びメモリシステムに関し，特に，単位時間に処理できるデータ数を意味する帯域幅を実効的に大きくするメモリ装置，メモリコントローラ及びメモリシステムに関する。
【背景技術】
【０００２】
デジタル画像データなどの二次元に配列されたデータを記録するメモリ装置は，デジタル放送やインターネットによる動画配信などの普及に伴ってますます大きな市場規模になりつつある。デジタル画像データは，画素の階調情報を複数ビット（例えば８ビット，２５６階調）で構成したデータ群であり，例えば，ハイビジョン放送用の画像データは，１フレームが１９２０×１０４０画素の画像データで構成される。そして，このフレーム単位の画像データが，所定のマッピング方法にしたがって，画像メモリ内のアドレス空間内に配置される。
【０００３】
このメモリマッピングは，現在普及している同期型ＤＲＡＭ（ＳＤＲＡＭ）のメモリ構成と動作に基づいて，最も効率的なアクセスが可能になるように定められている。例えば，ＳＤＲＡＭは，複数のバンクを有し，各バンクが複数のワード線及びビット線とそれらの交差位置の複数のメモリセルとビット線に対応するセンスアンプとを有し，複数のバンクが独立してアクティブ動作を実行可能である。ＳＤＲＡＭにおけるアクティブ動作とは，ロウアドレスに基づいてワード線を選択しセンスアンプを活性化する一連の動作である。また，ＳＤＲＡＭのリード動作とは，コラムアドレスに基づいてセンスアンプで増幅されたビット線電位をリードデータとして入出力端子に出力する一連の動作であり，ライト動作とは，入出力端子から入力された選択されたライトデータをコラムアドレスに基づいて選択されたビット線に入力する一連の動作である。
【０００４】
ＳＤＲＡＭにおけるメモリ内のアドレス空間は，バンクアドレスとロウアドレスとで選択可能な複数のページ領域で構成され，各ページ領域はコラムアドレスで選択可能なビット群またはバイト群を有する。このコラムアドレスにより選択されたバイト群（またはビット群）が，複数の入出力端子を介して入出力される。
【０００５】
そして，一般的なマッピング方法によれば，デジタル画像データの画素が，ページ領域内のコラムアドレスで選択可能なバイト群（またはビット群）の各バイト（またはビット）に対応付けられる。さらに，このマッピング方法によれば，ＳＤＲＡＭの各バンクが独立してアクティブ動作とリードまたはライト動作とを実行することができるので，デジタル画像データの画素の配置に対応付けられる複数のページ領域が，画像上の上下左右に隣接するページ領域が異なるバンクアドレスに対応するように配置される。例えば，ＳＤＲＡＭが４バンク構成の場合は，奇数行にはバンクアドレスＢＡ＝０，１のページ領域を交互に配置し，偶数行にはバンクアドレスＢＡ＝２，３のページ領域を交互に配置する。このように配置することで，１フレームの画像データのリードまたはライトを行う場合，異なるバンクを交互に且つ時間的にオーバーラップしてアクティブ動作及びリードまたはライト動作を実行することができ，単位時間当たりに処理可能な画素数である帯域幅を飛躍的に高めることができる。
【０００６】
特許文献１，２には，画像データを記憶する半導体メモリにおいて，複数の行に同時にアクセス可能にして，アクセス効率を高めることが記載されている。
【０００７】
また，特許文献３には，ＤＲＡＭを画像伸長処理に用いる場合，ページをまたいでデータを読み出さなければならず，読み出し時間が長くなり且つ消費電力が多くなることを解決するために，入力ロウアドレスに割り付けられたサブアレイと１つ上位のロウアドレスに割り付けられたサブアレイとを同時に活性化されるように制御するサブアレイ選択回路を設けたメモリ装置が記載されている。しかし，特許文献３では，画像の行方向に連続する水平アクセスの効率を高めることを目的としており，矩形アクセスについては記載されていない。
【０００８】
さらに，特許文献４には，バス制御部がバーストモードでアクセス中の記憶領域とは異なる記憶領域への，データ処理部からのアクセス指示によりアドレスアクティブコマンドを発行し，あらかじめアクセスアドレスの設定を可能にするデータ処理システムが記載されている。つまり，メモリコントローラが１つのバンクをアクティブにしてアクセス中に，他のバンクにアクティブコマンドを発行してあらかじめアクティブ動作をさせておくことでリードライト動作の高速化を実現することが記載されている。
【０００９】
そして，特許文献５には，画像メモリと，任意のバンクにアクセスしている間にカラムアドレスを連続的に発生して同一ページ内の任意のアドレスに連続アクセス可能とすると共に，この後にアクセスするバンクを前もってロウアクティブしておくことにより，アクセスするバンクが切り替わってもこれを直ちにアクセスできるように制御するコントローラ手段とを備える画像処理装置が開示されている。つまり，メモリコントローラがアドレス順序予測回路を有し，次にアクセスされるバンクを予測し，メモリにアクティブコマンドを発行することが記載されている。
【００１０】
特許文献６には，揮発性メモリが複数のバンクに設けられ，オートリフレッシュコマンドでリフレッシュ対象バンクが指定され，リフレッシュ対象バンクでリフレッシュ動作中に，リフレッシュ対象バンク以外は通常メモリ動作コマンドに応答して通常メモリ動作を実行するメモリシステムが記載されている。ただし，複数のリフレッシュ回数を予め設定してリフレッシュ制御することは記載されていない。
【００１１】
特許文献７には，デュアルポートＤＲＡＭを複数のバンクに分割し，１つのバンクに対するデータ読み出し転送サイクルと，その他のバンクに対するリフレッシュサイクルとを同時に行うメモリ装置が記載されている。
【００１２】
特許文献８には，２つのバンクを有するＳＤＲＡＭに対し，メモリコントローラはアクセス制御してライト又はリードを行い，アクセスされているバンクと異なるバンクにアクティブコマンドとプリチャージコマンドとを発行してリフレッシュ動作を行うことが記載されている。
【００１３】
特許文献９には，２つのブロックを有するＤＲＡＭにおいて，アクセスとリフレッシュとが同時に発生した場合，または既に一方のブロックにアクセスが発生している場合，アービタが他方のブロックにリフレッシュ動作を，一方のブロックにアクセス動作を実行させることが記載されている。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２００１−３１２８８５号公報
【特許文献２】特開平０８−１８０６７５号公報
【特許文献３】特開平０９−２３１７４５号公報
【特許文献４】特開２００２−１３２５７７号公報
【特許文献５】特開平１０−１０５３６７号公報
【特許文献６】米国特許公開ＵＳ２００５／０２６５１０４Ａ１公報
【特許文献７】特開平０８−１１５５９４号公報
【特許文献８】特開平０９−１２９８８１号公報
【特許文献９】特開平１０−１１３４８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
デジタル画像データを格納する画像メモリでは，画像データの書き込みと読み出しを，マトリクス状の画素の配置順に行う水平アクセスと，マトリクス状の画素の部分的な矩形領域に対して行う矩形アクセスとが必要になる。水平アクセスは，例えば，１フレームの画像データを水平スキャンを繰り返して書き込んだり読み出したりするラスタスキャン動作に対応する。また，矩形アクセスは，例えば，ＭＰＥＧなどのエンコード動作において，小さい矩形形状のブロックの画像データを読み出して動きベクトルを求めたりする動作や，デコード動作での画像再生において，ブロックの画像データを読み出したり書き込んだりする動作に対応する。
【００１６】
しかしながら，前述のメモリマッピングによりメモリのアドレス空間内に画素の画像データが記憶されるので，矩形アクセスにおける実効的な帯域幅の低下が問題になる。第１に，バンクアドレスとロウアドレスで選択されるページ領域内において，コラムアドレスによりバイト群，つまり複数バイト（または複数ビット）が同時にアクセスされる。しかし，矩形アクセスにおいてアクセスしたい矩形画像領域と，コラムアドレスにより選択される複数バイト（または複数ビット）とが一致しない場合は，１つのコラムアドレスによるアクセスにおいて無駄な入出力データが発生する。第２に，矩形アクセスにおいてアクセスしたい矩形画像領域とアドレス空間内のページ領域とが一致しない場合は，ページ領域の境界を越えて複数のページ領域に対してアクセスすることが要求され，複雑なメモリ制御が必要になる。
【００１７】
上記第１，第２の問題点は，アクセス対象の矩形画像領域が，ページ領域とも一致せず且つコラムアドレスで選択される複数バイト（または複数ビット）とも一致しない場合は，さらに，メモリ制御が複雑になり，実効的な帯域幅の低下を招く。
【００１８】
実効的な帯域幅の低下は，矩形アクセスに限らず生じる。一般的な同期型ＤＲＡＭ（ＳＤＲＡＭ）は，メモリコントローラが発行するオートリフレッシュコマンドに応答して，メモリ内に共通に設けられたリフレッシュアドレスカウンタのリフレッシュアドレスに基づき，全てのバンクで並行してリフレッシュ動作を行う。そのため，一旦リフレッシュ動作が始まると，水平アクセス及び矩形アクセスのいずれも実行することができず，そのリフレッシュ動作が完了するまでアクセス動作を待機させることが必要になる。その結果，実効的な帯域幅が低下することになる。
【００１９】
そこで，本発明の目的は，メモリ装置のリフレッシュ動作による実効的な帯域幅の低下を解決したメモリ装置，メモリ装置のメモリコントローラ，及びメモリシステムを提供することにある。
【課題を解決するための手段】
【００２０】
上記の目的を達成するために，本発明の第１の側面によれば，メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，バックグランドリフレッシュコマンドとリフレッシュバースト長情報に応答して，リフレッシュ対象バンク内のメモリコアに該リフレッシュバースト長情報に対応する回数のリフレッシュ動作を連続して実行させる制御回路とを有するメモリ装置である。
【００２１】
上記の目的を達成するために，本発明の第２の側面によれば，メモリコントローラからのコマンドに応答して動作するメモリ装置において，メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，バックグランドリフレッシュコマンドに応答して，前記メモリコントローラにより設定されたリフレッシュ対象バンク内のメモリコアに，前記メモリコントローラにより設定されたリフレッシュバースト長の回数のリフレッシュ動作を連続して実行させ，前記リフレッシュ対象バンク内のメモリコアが前記リフレッシュ動作を実行中に，通常動作コマンドに応答して，前記リフレッシュ対象バンク以外のバンクであって前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させる制御回路とを有する。
【００２２】
本発明の第２の側面において，第１の好ましい態様によれば，メモリ装置は，さらに，前記複数のバンクそれぞれに，または前記複数のバンクの複数組それぞれに，対応するバンク内のリフレッシュ対象アドレスをカウントするリフレッシュアドレスカウンタを有する。そして，前記制御回路は，前記バックグランドリフレッシュコマンドに応答して，前記設定されたリフレッシュ対象バンクにリフレッシュ制御信号を出力するバックグランドリフレッシュ制御部と，前記リフレッシュバースト長が設定されるリフレッシュバースト長レジスタと，前記複数のバンクそれぞれに設けられ，前記バックグランドリフレッシュ制御信号に応答して，前記リフレッシュバースト長レジスタに設定されたリフレッシュバースト長の回数だけ，前記リフレッシュアドレスカウンタのアドレスについて前記メモリコアにリフレッシュ動作を実行させるコアコントローラとを有する。
【００２３】
本発明の第２の側面において，第２の好ましい態様によれば，１回のリフレッシュサイクルで同時に活性化されるメモリブロック数を示すリフレッシュブロック数が，前記メモリコントローラにより設定され，前記制御回路は，前記バックグランドリフレッシュコマンドに応答して，前記リフレッシュブロック数のブロックを同時に活性化するリフレッシュ動作を，前記設定されたリフレッシュバースト長の回数，リフレッシュ対象バンクに実行させる。このリフレッシュブロック数は，予めモードレジスタに設定される。または，リフレッシュブロック数は，バックグランドリフレッシュコマンドと共に入力されて設定される。
【００２４】
本発明の第２の側面において，第３の好ましい態様によれば，前記バックグランドリフレッシュコマンドと同時に前記リフレッシュバースト長やリフレッシュブロック数を入力する。または，モードレジスタ設定コマンドと同時に前記リフレッシュバースト長やリフレッシュブロック数を入力する。前者の場合は，前記リフレッシュバースト長レジスタが前記バンクに対応して設けられ，入力された前記リフレッシュバースト長がリフレッシュ対象バンク内のリフレッシュバースト長レジスタに設定される。また，リフレッシュブロック数レジスタが設けられ，入力されたリフレッシュブロック数が前記リフレッシュブロック数レジスタに設定される。後者の場合は，前記リフレッシュバースト長レジスタがモードレジスタ内に設けられ，入力された前記リフレッシュバースト長が前記モードレジスタに設定される。同様に，リフレッシュブロック数レジスタがモードレジスタ内に設けられ，入力されたリフレッシュブロック数が当該モードレジスタに設定される。
【００２５】
本発明の第２の側面において，第３の好ましい態様において，前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，新たに入力されたバックグランドリフレッシュコマンドに応答して，前記リフレッシュ動作の残り回数に前記リフレッシュバースト長を加えた回数，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を連続して実行させる。
【００２６】
または，前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，新たに入力されたバックグランドリフレッシュコマンドに応答して，前記リフレッシュ動作の残り回数にかかわらず，前記リフレッシュバースト長の回数，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を連続して実行させる。
【００２７】
さらに，前記コアコントローラは，リフレッシュオールコマンドに応答して，前記リフレッシュアドレスカウンタ内のアドレスから残りのアドレスまで，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を繰り返し実行させる。
【００２８】
本発明の第２の側面において，第４の好ましい態様によれば，前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，バックグランドリフレッシュ停止コマンドに応答して，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を停止させる。このリフレッシュ動作の停止制御は，前記リフレッシュ対象バンク内のメモリコアに前記実行中のリフレッシュ動作を終了させた後に，次のリフレッシュ動作を開始させないように行われる。
【００２９】
本発明の第２の側面において，第５の好ましい態様によれば，モードレジスタへのアクティブリフレッシュ連動フラグの設定に基づき，前記バックグランドリフレッシュ制御部は，通常メモリ動作コマンドに応答して，入力されるバンクアドレスに対応するアクセス対象バンク以外のバンクに，前記バックグランドリフレッシュ制御信号を供給する。これにより，メモリコントローラは，バックグランドリフレッシュコマンドを発行することなく，通常メモリ動作コマンドの発行で，アクセス対象バンク以外のバンクでのリフレッシュ動作を実行させることができる。
【００３０】
上記の目的を達成するために，本発明の第３の側面によれば，メモリ装置は，メモリセルアレイとデコーダ含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクを有し，メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶する。そして，メモリ装置は，前記二次元配列データを水平方向にアクセスする水平アクセス期間中において，通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させると共に，バックグランドリフレッシュコマンドに応答して，前記水平アクセス対象バンク以外のリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させる制御回路を有する。さらに，制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンク内のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止する。
【００３１】
上記の第３の側面によれば，メモリ装置は，水平アクセス期間中は，特定のバンクで通常メモリ動作が繰り返されるので，選択されたバンクでは通常メモリ動作を行い，水平アクセス対象バンク以外のリフレッシュ対象バンクではリフレッシュ動作を行う。ただし，矩形アクセス期間中は，メモリアクセス対象のバンクが予測できないので，通常メモリ動作と共に行うリフレッシュ動作は禁止する。これにより，バックグランドリフレッシュ動作中でも水平アクセスを継続することができ，実効的な帯域幅を大きくすることができる。
【００３２】
上記の目的を達成するために，本発明の第４の側面によれば，メモリシステムは，上記第１または第２の側面のメモリ装置と，そのメモリ装置にコマンドを供給するメモリコントローラとを有する。
【００３３】
上記の目的を達成するために，本発明の第５の側面によれば，メモリコントローラは，上記第１または第２の側面のメモリ装置にコマンドとリフレッシュバンク情報とリフレッシュバースト長とリフレッシュブロック数とを供給する。
【発明の効果】
【００３４】
本発明によれば，リフレッシュ対象バンクにおいて設定された複数回のリフレッシュ回数だけメモリコアにリフレッシュ動作を実行させるので，バックグランドリフレッシュ動作終了後短時間で，リフレッシュ対象バンクに対して通常メモリ動作を開始することができ，実効的な帯域幅の低下を抑えることができる。
【００３５】
本発明によれば，他のメモリバンクが通常メモリ動作を実行中に，設定されたリフレッシュ対象バンクにおいて設定された複数回のリフレッシュ回数だけメモリコアにリフレッシュ動作を実行させるので，リフレッシュ動作と通常メモリ動作とを並列に実行することができ，リフレッシュ動作に起因する通常メモリ動作における実効的な帯域幅の低下を抑えることができる。しかも，通常メモリ動作中のバックグランドリフレッシュ動作の回数があらかじめ設定されているので，バックグランドリフレッシュ動作終了後短時間で，リフレッシュ対象バンクに対して通常メモリ動作を開始することができ，実効的な帯域幅の低下を抑えることができる。
【図面の簡単な説明】
【００３６】
【図１】本実施の形態における画像メモリのメモリマッピングを示す図である。
【図２】画像メモリにおける２つのアクセスを示す図である。
【図３】水平アクセスの課題を示す図である。
【図４】矩形アクセスの第１の課題を示す図である。
【図５】矩形アクセスの第２の課題を示す図である。
【図６】本実施の形態の全体の動作を示す図である。
【図７】本実施の形態の全体の動作の別の例を示す図である。
【図８】本実施の形態における画像処理システムの構成図である。
【図９】本実施の形態における画像メモリの構成図である。
【図１０】バイトバウンダリ機能を説明する図である。
【図１１】バイトバウンダリ機能におけるタイミングチャートを示す図である。
【図１２】異なるマッピングに対するバイトバウンダリ機能を説明する図である。
【図１３】図１２のビッグエンディアンとリトルエンディアンとを説明する図である。
【図１４】特殊なメモリマッピングにおけるバイトバウンダリ機能を説明する図である。
【図１５】図１４の特殊なメモリマッピングを説明する図である。
【図１６】矩形アクセスにおけるバイトバウンダリ機能を示すタイミングチャート図である。
【図１７】バイトバウンダリ機能を実現するための画像処理システムの構成図である。
【図１８】バイトバウンダリ機能を示す図である。
【図１９】簡素化されたバイトバウンダリ機能を実現する画像処理システムの構成図である。
【図２０】図１９の簡素化されたバイトバウンダリ機能を実現する画像処理システムを説明する図である。
【図２１】バイトバウンダリ機能を有するメモリ構成の概念を示す図である。
【図２２】バイトバウンダリ機能を有する画像メモリの第１の例を示す図である。
【図２３】図２２の動作を説明する図である。
【図２４】図２４は，バイトバウンダリ機能を有する画像メモリの第２の例を示す図である。
【図２５】図２４の動作を説明する図である。
【図２６】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（１）の動作を示す図である。
【図２７】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（２）の動作を示す図である。
【図２８】バイトバウンダリ機能を有する画像メモリの第２の例の変形例（３）の動作を示す図である。
【図２９】バイトバウンダリ機能を有する画像メモリの第３の例を示す図である。
【図３０】図２９の動作を説明する図である。
【図３１】バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。
【図３２】図３１の動作を示す図である。
【図３３】バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。
【図３４】図３３の動作を示す図である。
【図３５】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（１）である。
【図３６】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（２）である。
【図３７】バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（３）である。
【図３８】図３７のＤＤＲメモリにおけるアップモードの動作タイミングチャート図である。
【図３９】図３７のＤＤＲメモリにおけるダウンモードの動作タイミングチャート図である。
【図４０】バイトバウンダリ機能におけるバウンダリの指定方法について説明する図である。
【図４１】スタートバイトＳＢとシフトバリューＳＶとの変換回路を示す図である。
【図４２】バイトバウンダリ機能を利用した自動矩形アクセスを説明する図である。
【図４３】自動矩形アクセスでのタイミングチャート図である。
【図４４】自動矩形アクセスに必要な内部コラムアドレス演算器の構成図である。
【図４５】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の例を示す図である。
【図４６】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。
【図４７】バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。
【図４８】バイトバウンダリ機能のその他の用途を説明する図である。
【図４９】バイトバウンダリ機能のその他の用途を説明する図である。
【図５０】バイトバウンダリ機能のその他の用途を説明する図である。
【図５１】画像処理システムの構成図である。
【図５２】メモリ制御部（メモリコントローラ）の入力及び出力信号を示す図である。
【図５３】フレーム画像内で読み出し対象の参照画像領域を説明する図である。
【図５４】メモリ制御部の詳細な構成図である。
【図５５】参照画像読み出し制御部５１４での演算処理部５１５の演算を説明する図である。
【図５６】参照画像読み出し制御部５１４での演算処理部５１５の演算例を示す図である。
【図５７】メモリマッピング例を示す図である。
【図５８】メモリマッピング１２におけるページ領域１４の構成を示す図である。
【図５９】図５６の参照画像領域のメモリマップ上での配置を示す図である。
【図６０】参照画像領域のメモリマップ上での別の配置例を示す図である。
【図６１】バイトバウンダリ機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。
【図６２】バイトバウンダリ機能を有するメモリに対するメモリコントローラでのタイミングチャート図である。
【図６３】バイトバウンダリ機能とマルチバンクアクセス機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。
【図６４】マルチバンクアクセス機能とバイトバウンダリ機能を有するメモリに対するメモリコントローラにおけるタイミングチャート図である。
【図６５】メモリコントローラの制御動作のフローチャート図である。
【図６６】メモリコントローラの制御動作のフローチャート図である。
【図６７】本実施の形態におけるマルチバンクアクセスについて概略説明図である。
【図６８】本実施の形態におけるマルチバンクアクセスを説明する図である。
【図６９】マルチバンク情報ＳＡ’がバンク数情報（＝４）の場合のタイミングチャート図である。
【図７０】マルチバンク情報ＳＡ’が矩形領域のサイズ情報（Ｗ＝８バイト，Ｈ＝８行）の場合のタイミングチャート図である。
【図７１】マルチバンクアクセス機能を有するメモリ装置の構成図である。
【図７２】マルチバンク活性化制御部８８の第１の例を示す図である。
【図７３】マルチバンク活性化制御部８８の第１の例を示す図である。
【図７４】マルチバンク活性化制御部８８の第２の例を示す図である。
【図７５】マルチバンク活性化制御部８８の第２の例を示す図である。
【図７６】マルチバンク活性化制御部８８の第３の例を示す図である。
【図７７】マルチバンク活性化制御部８８の第３の例を示す図である。
【図７８】バンク活性化タイミングの例１を示す図である。
【図７９】バンク活性化タイミングの例２を示す図である。
【図８０】活性化バンク制御回路８８Ｃのバンク活性化タイミング制御の論理を説明する図である。
【図８１】バンク活性化タイミングの例３を示す図である。
【図８２】本実施の形態におけるマルチバンクアクセスでのロウアドレス生成を説明する図である。
【図８３】本実施の形態におけるロウアドレス演算部の例１を示す図である。
【図８４】本実施の形態におけるロウアドレス演算部の例２を示す図である。
【図８５】２つのメモリマッピング例を示す図である。
【図８６】２種類のメモリマッピングに対するバンクアドレス切換回路８６１を示す図である。
【図８７】マルチバンクアクセスとバイトバウンダリが発生した場合のタイミングチャートを示す図である。
【図８８】マルチバンクアクセスとバイトバウンダリ機能とを有するメモリ装置の構成図である。
【図８９】メモリマッピングの一例を示す図である。
【図９０】本実施の形態におけるメモリコントローラの構成図である。
【図９１】アクセス元ブロックとインターフェース間の信号を示す図である。
【図９２】アクセス対象領域のデータを説明する図である。
【図９３】アクセス元ブロックとインターフェース間の信号のタイミングチャート図である。
【図９４】メモリコントローラの動作概略を示す図である。
【図９５】シーケンサＳＥＱの構成図である。
【図９６】中間パラメータを生成する演算式を説明するための図である。
【図９７】コマンド／アドレス生成部における動作フローチャート図である。
【図９８】メモリコントローラとメモリ装置との間のタイミングチャート図である。
【図９９】本実施の形態におけるバックグランドリフレッシュの概略説明図である。
【図１００】本実施の形態におけるバックグランドリフレッシュを行うメモリシステムの概略説明図である。
【図１０１】バックグランドリフレッシュを制御するメモリコントローラの動作フローチャート図である。
【図１０２】本実施の形態におけるバックグランドリフレッシュと水平アクセスとの関係を示す図である。
【図１０３】本実施の形態におけるバックグランドリフレッシュと水平アクセス及び矩形アクセスとの関係を示す図である。
【図１０４】本実施の形態におけるバックグランドリフレッシュの回数とブロック数を説明する図である。
【図１０５】本実施の形態におけるバックグランドリフレッシュの動作タイミングチャート図である。
【図１０６】本実施の形態におけるリフレッシュバースト長を説明する図である。
【図１０７】本実施の形態におけるリフレッシュバースト長を説明する図である。
【図１０８】バックグランドリフレッシュ機能を有するメモリ装置の全体構成図である。
【図１０９】バックグランドリフレッシュ機能を有するメモリ装置のバンク構成図である。
【図１１０】バックグランドリフレッシュ機能を有するメモリ装置のバンク構成図である。
【図１１１】メモリ装置の他のバンク構成図である。
【図１１２】本実施の形態におけるバックグランドリフレッシュ動作を説明する図である。
【図１１３】第１，第２のリフレッシュバンクデコーダの回路を示す図である。
【図１１４】第３のリフレッシュバンクデコーダの回路を示す図である。
【図１１５】第４のリフレッシュバンクデコーダの回路を示す図である。
【図１１６】第５のリフレッシュバンクデコーダの回路を示す図である。
【図１１７】第６のリフレッシュバンクデコーダの回路を示す図である。
【図１１８】第７のリフレッシュバンクデコーダの回路を示す図である。
【図１１９】コア制御回路の構成図である。
【図１２０】コア制御回路の動作を示すタイミングチャート図である。
【図１２１】アドレスラッチ回路の構成と動作を示す図である。
【図１２２】リフレッシュバースト動作を示すタイミングチャート図である。
【図１２３】リフレッシュバースト動作を制御するコア制御回路の構成図である。
【図１２４】リフレッシュバースト動作を制御するコア制御回路の別の構成図である。
【図１２５】コア制御回路内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の詳細回路図である。
【図１２６】コア制御回路内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の別の詳細回路図である。
【図１２７】リフレッシュバースト長カウンタ１２３０，リフレッシュバースト長レジスタ１２３１，リフレッシュバースト終了検出回路１２３２の構成図である。
【図１２８】アドレスラッチ回路の構成図である。
【図１２９】リフレッシュバースト動作のタイミングチャート図である。
【図１３０】リフレッシュバースト停止動作の概略を示す図である。
【図１３１】リフレッシュバースト停止機能を有するコア制御回路の構成図である。
【図１３２】リフレッシュ状態コントロール回路の回路図である。
【図１３３】コア制御回路のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の回路図である。
【図１３４】コア制御回路のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の別の回路図である。
【図１３５】図１３３の動作を示すタイミングチャート図である。
【図１３６】リフレッシュ停止機能を実現するコマンドデコーダの回路図である。
【図１３７】カウントダウン型のリフレッシュバースト制御を行うコア制御回路１０８５の構成図である。
【図１３８】リフレッシュバースト長レジスタ１２３１に設定されるリフレッシュバースト長と，アドレス端子A<3:0>との対応を示す真理値表である。
【図１３９】カウントダウン型のリフレッシュバースト制御を行うコア制御回路１０８５の別の構成図である。
【図１４０】コア制御回路１０８５内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の回路図である。
【図１４１】リフレッシュバースト長レジスタ１２３１とリフレッシュバースト長カウンタ１２３０の回路図である。
【図１４２】リフレッシュバースト長レジスタ１２３１とリフレッシュバースト長カウンタ１２３０の回路図である。
【図１４３】リフレッシュアドレスカウンタ１０８３とリフレッシュアドレス比較回路１３７０の回路図である。
【図１４４】カウントダウン型のコア制御回路のRBL=3の場合のタイミングチャート図である。
【図１４５】カウントダウン型のコア制御回路のリフレッシュ停止動作のタイミングチャート図である。
【図１４６】カウントダウン型のコア制御回路のリフレッシュ停止動作のタイミングチャート図である。
【図１４７】カウントダウン型のコア制御回路のリフレッシュオール動作を示すタイミングチャート図である。
【図１４８】カウントダウン型のコア制御回路のリフレッシュコマンド再設定の動作を示すタイミングチャート図である。
【図１４９】カウントダウン型のコア制御回路のリフレッシュコマンド再設定の動作を示すタイミングチャート図である。
【図１５０】アクティブとリフレッシュ連動制御を示すタイミングチャート図である。
【図１５１】アクティブとリフレッシュ連動制御におけるリフレッシュバンクデコーダの回路図である。
【図１５２】アクティブとリフレッシュ連動制御におけるコア制御回路の回路図である。
【図１５３】アクティブとリフレッシュ連動制御におけるアドレスラッチ回路の回路図である。
【図１５４】バンク回路の構成図である。
【図１５５】リフレッシュブロック数に応じたコア内のメモリブロックの制御を示す図である。
【図１５６】アドレスラッチ回路の回路図である。
【図１５７】ロウデコーダ内のプリデコーダ回路の回路図である。
【図１５８】バックグランドリフレッシュ機能を有するメモリシステムの構成図である。
【図１５９】メモリマッピング例を示す図である。
【図１６０】水平アクセスと矩形アクセスにおける先頭画素アドレス，サイズ情報を示す図である。
【図１６１】メモリコントローラの構成図である。
【図１６２】メモリコントローラの動作タイミングチャート図である。
【図１６３】アクティブバンク番号生成部のデコーダDEC0とセレクタSEL0を説明する図表である。
【図１６４】レジスタ５４３のACTBAに設定されうる値000b〜111bの意味を説明する図表である。
【図１６５】デコーダDEC1の変換テーブルを示す図である。
【図１６６】レジスタ設定値の第１例に対応するデコーダDEC1の変換動作を示す図表である。
【図１６７】レジスタ設定値の第２例に対応するデコーダDEC1の変換動作を示す図表である。
【図１６８】セレクタSEL1の動作を示す図表である。
【図１６９】デコーダDEC2の変換テーブルを示す図表である。
【図１７０】第１のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。
【図１７１】第２のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。
【図１７２】第３のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。
【図１７３】第４のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。
【図１７４】バイトバウンダリにおけるスタートバイト信号SBを示す図である。
【図１７５】バイト組み合わせデータの第２の情報BMRと第１の情報SB（スタートバイト）との関係を示す図である。
【図１７６】ロウアドレスステップRSを示す図である。
【図１７７】メモリマッピング情報ＡＲを示す図である。
【図１７８】バックグランドリフレッシュにおけるリフレッシュバースト長RBLとリフレッシュブロック数RBCとを示す図である。
【図１７９】メモリ装置内の専用入力端子とその入力バッファ及びモードレジスタの構成を示す図である。
【図１８０】メモリ装置内の専用入力端子とその入力バッファ及びモードレジスタの構成を示す図である。
【図１８１】モードレジスタの一例を示す図である。
【図１８２】イネーブル信号生成回路の一例を示す図である。
【図１８３】シングルデータレート（ＳＤＲ）における入力方法を示す図である。
【図１８４】ダブルデータレート（ＤＤＲ）における入力方法を示す図である。
【図１８５】ＡＤＱマルチプレクス入力方式における入力方法を示す図である。
【図１８６】アドレスマルチプレクス入力方式における入力方法を示す図である。
【図１８７】ダブルデータレート（ＤＤＲ）でアドレスマルチプレクス方式における入力方法を示す図である。
【図１８８】ダブルデータレート（ＤＤＲ）でアドレスマルチプレクス方式における入力方法を示す図である。
【発明を実施するための形態】
【００３７】
以下，図面にしたがって本発明の実施の形態について説明する。但し，本発明の技術的範囲はこれらの実施の形態に限定されず，特許請求の範囲に記載された事項とその均等物まで及ぶものである。
【００３８】
［画像メモリのメモリマッピングと問題点］
図１は，本実施の形態における画像メモリのメモリマッピングを示す図である。図１において，表示デバイス１０を含む画像処理システムにおける表示画像データは，画像メモリ１５内に記憶される。表示画像データは，各画素の輝度信号Ｙと色差信号Ｃｂ，Ｃｒや，各画素のＲＧＢ階調信号などのデータで構成され，各信号は例えば８ビット（１バイト）のデータで構成される。
【００３９】
一方，画像メモリ１５は，一般的にＳＤＲＡＭなどの半導体基板上に集積回路が形成された大容量且つ高速の半導体メモリ装置からなる。このような画像メモリは，複数のバンクＢａｎｋ０〜３（図１では４つのバンク）で構成され，各バンクＢａｎｋ０は複数のブロックＢＬＫ−０を有し，各ブロックは複数のワード線ＷＬとビット線ＢＬとその交差位置のメモリセルＭＣとを有する。メモリセルは，図示しないがワード線にゲートが接続されたＭＯＳトランジスタとトランジスタに接続されたキャパシタとで構成される。そして，図１の例では，４つのバンクはバンクアドレスＢＡ０−ＢＡ３に対応付けられ，ワード線はロウアドレスＲＡ０−ＲＡ７に対応付けられ，ビット線はコラムアドレスＣＡ０−ＣＡ１２７に対応付けられる。バンクアドレスＢＡとロウアドレスＲＡの組み合わせであるバンク内のワード線が選択され，コラムアドレスＣＡによりビット線が選択される。バンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡにより，４バイトＢＹ０−３のデータがアクセスされる。１バイトは８ビットで構成されるので，一回のアクセスで４バイト，つまり４×８＝３２ビットのデータがメモリの入出力端子に関連付けられて，読み出しまたは書き込みが行われる。一般に，上記の１バイトのデータ（８ビットデータ）が画素の信号に対応する。一度のアクセスで４バイトデータを入出力することで，画像メモリに対する単位時間に処理できる画素数を意味する帯域幅を大きくすることができる。
【００４０】
表示画像データに対するメモリマッピング１２によれば，バンクアドレスＢＡとロウアドレスＲＡにより特定されるページ領域１４が行列に配置される。そして，１つのページ領域１４は，拡大領域１４Ｅに示されるとおり，コラムアドレスＣＡ０−１２７で特定される１２８のメモリ単位領域を有し，各メモリ単位領域は４バイトＢＹ０−３のデータを記憶する。この４バイトＢＹ０−３のデータが，メモリの入出力端子ＤＱ０−７，ＤＱ８−１５，ＤＱ１６−２３，ＤＱ２４−３１の，合計３２の入出力端子を経由して入出力される。この各バイトの８ビットデータが画素の信号データに対応する。
【００４１】
上記のメモリマッピング１２は，複数バンク構成のＳＤＲＡＭなどの画像メモリ１５を高速動作させるのに適している。ＳＤＲＡＭは，バンクアドレスＢＡとロウアドレスＲＡと共に与えられるアクティブコマンドに応答して，選択されたバンク内の選択されたワード線を駆動し，メモリセルのデータをビット線に読み出し，ビット線に対応付けられたセンスアンプを活性化してビット線電位を増幅するアクティブ動作を行い，その後，コラムアドレスＣＡと共に与えられるリードコマンドに応答して，選択されたビット線からデータを読み出すリード動作を行う。あるいは，ＳＤＲＡＭは，アクティブ動作後に，コラムアドレスＣＡと書き込みデータと共に与えられるライトコマンドに応答して，選択されたビット線に書き込みデータを書き込むライト動作を行う。リード動作またはライト動作の後にプリチャージコマンドによるプリチャージ動作が行われ，再度，アクティブ動作，リードまたはライト動作になる。このように，ＳＤＲＡＭでは，各バンクが独立してアクティブ動作，リード動作，ライト動作を行うことができる。
【００４２】
図１のメモリマッピング１２によれば，上下左右に隣接するページ領域１４には異なるバンクアドレスＢＡ０−３が対応付けられる。すなわち，メモリマッピング１２の奇数行にはバンクアドレスＢＡ０，１が交互に配置され，偶数行にはバンクアドレスＢＡ２，３が交互に配置される。さらに，メモリマッピング１２のラスタ方向（行方向）に，ロウアドレスＲＡ０−７が２つずつ繰り返しながらインクリメントされ，メモリマッピング１２の各行は，４つのロウアドレスＲＡ０−３，ＲＡ４−７で折り返されている。
【００４３】
このように画像上のページ領域を，メモリ上において，同一バンクのページ領域がロウ方向とコラム方向のいずれにも隣接しないように割り当てるメモリマッピングを採用すれば，画像メモリへの代表的なアクセスである水平アクセス，つまりページ領域１４を行方向に移動して選択するアクセスでは，２つのバンクで同時にアクティブ動作とリード・ライト動作とを実行させながらアクセスすることができ，アクセス効率を高めることができる。また，垂直方向にアクセスする場合も同様である。
【００４４】
図２は，画像メモリにおける２つのアクセスを示す図である。図２（Ａ）の水平アクセスは，映像のフレーム画像の入出力時に多く発生するアクセスであり，画像を左上から右下に向けて水平方向２０にアクセスするラスタスキャンに相当する。一方，図２（Ｂ）の矩形アクセスは，ＭＰＥＧなどの画像の圧縮と伸長処理で多く発生するアクセスで，任意の縦横比の矩形２２内を左上から右下に向けて矢印２４のようにアクセスする動作に相当する。矩形領域２２は，ＭＰＥＧの動きベクトル抽出対象のブロックなどに対応する。
【００４５】
一般に，画像メモリを使用する画像システムでは，フレームメモリである画像メモリの転送レートが画面表示動作よりも速く設定され，画像メモリの水平アクセスで読み出された画像データを画面表示している間に，矩形アクセスにより新しいフレームデータを作成し，とぎれることなくフレームデータの作成とフレームデータの出力とが行えるようになっている。このため，実際の画像システムでは水平アクセスと矩形アクセスとが混在することになる。
【００４６】
水平アクセスでは，水平方向２０にスキャンされるので，隣接するバンクを同時にアクティブさせながら効率的にメモリアクセスを行うことができる。一方，矩形アクセスでは，アクセスされる矩形領域２２の位置を，単一のバンクを越えないようにし，更にバンク内のページ領域を超えないようにすることで，バンクアドレスＢＡとロウアドレスＲＡとを指定する１回のアクティブ動作で矩形領域２２内のデータをアクセスできるので，水平アクセスと同様に効率的なメモリアクセスを行うことができる。
【００４７】
図３は，水平アクセスの課題を示す図である。前述のメモリマップ１２において水平方向２０にアクセスする水平アクセスのタイミングチャート３０が示されている。このタイミングチャートでは，メモリマップ１２の４行目のページ領域（ＢＡ０／ＲＡ４，ＢＡ１／ＲＡ４，ＢＡ０／ＲＡ５，ＢＡ１／ＲＡ５）を水平アクセス（図中２０）している時に，自動リフレッシュコマンドＡＲＥＦが発生している。タイミングチャート３０には，コマンドＣＭＤ，クロックＣＬＫ，バンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡ，入出力端子ＤＱが示されている。
【００４８】
前提としてバーストレングスＢＬは４に設定されている。アクティブコマンドＡＣＴ３２でＢＡ０／ＲＡ４のページ領域がアクティブ動作し，リードコマンドＲＤ３３でＢＡ０／ＣＡ０の読み出しが指示されると，所定のレイテンシ（図中では４クロック）後に４組の３２ビットデータが入出力端子ＤＱから４クロックサイクルで連続して出力される。つまり，ページ領域ＢＡ０／ＲＡ４内のコラムアドレスＣＡ０〜ＣＡ３における４組の３２ビットデータが４回に分けて連続出力される。このバースト動作は，ＳＤＲＡＭが規格上要求されている動作である。図１の拡大されたページ領域１４ＥのコラムアドレスＣＡ０〜ＣＡ３の各４バイト（３２ビット）データが４回に分けて連続出力されることを意味する。
【００４９】
次に，アクティブコマンドＡＣＴ３４とリードコマンドＲＤ３５で，ページ領域ＢＡ１／ＲＡ４の４バイトデータが出力される。同様に，アクティブコマンドＡＣＴ３６とリードコマンドＲＤ３７で，ページ領域ＢＡ０／ＲＡ５の４バイトデータが，アクティブコマンドＡＣＴ３８とリードコマンドＲＤ３９で，ページ領域ＢＡ１／ＲＡ５の４バイトデータがそれぞれ出力される。
【００５０】
この時点で，ロウアドレスＲＡ６を指定する自動リフレッシュコマンドＡＲＥＦ４０が発生すると，画像メモリを構成するＳＤＲＡＭメモリは，内蔵する全てのバンク，４バンクＢＡ０−３でリフレッシュ動作を並列に実行する。つまり，４バンク内のロウアドレスＲＡ６のワード線が同時に駆動され，センスアンプが活性化され，再書き込みが行われ，プリチャージ動作が行われる。このリフレッシュ動作は，図３中のメモリマップ１２中の４つのページ領域３１に対して行われることを意味する。そのため，リフレッシュ動作期間ｔＲＥＦの間，水平アクセス（矢印２０）は一時的に停止する。そして，リフレッシュ動作期間ｔＲＥＦ後に，再度アクティブコマンドＡＣＴ４１とリードコマンドＲＤ（図示せず）により次のページ領域ＢＡ０／ＲＡ６をアクセスすることで，水平アクセスを再開する。
【００５１】
自動リフレッシュコマンドＡＲＥＦによるリフレッシュ動作が４バンク同時に行われるので，水平アクセス中にリフレッシュコマンドが発生すると水平アクセスが一時的に中断することになり，実効的な帯域幅が狭くなる。これが，水平アクセスにおける課題である。
【００５２】
図４は，矩形アクセスの第１の課題を示す図である。図４（Ａ）に水平アクセスの例が，図４（Ｂ）に矩形アクセスの例が示される。いずれもコラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）４５の境界を越えるアクセスである。前述したとおり，一般的なメモリマップによれば，バンクアドレスＢＡとロウアドレスＲＡで特定されるページ領域１４内は，コラムアドレスＣＡ０−１２７で選択される複数のメモリ単位領域４５に区分され，１つのコラムアドレスＣＡにより４バイトＢＹ０−３のデータが同時にアクセスされる。各バイトの８ビットデータが画素の信号に対応する。
【００５３】
そのため，水平アクセスでは比較的無駄なくアクセスが行われるが，矩形アクセスでは無駄なデータの入出力が発生し，実効的な帯域幅が低下する。
【００５４】
図４（Ａ）の水平アクセスでは，領域２２Ａをアクセスする場合，ページ領域ＢＡ０／ＲＡ０を指定するアクティブコマンドＡＣＴに続いて，４つのリードコマンドＲＤがコラムアドレスＣＡ０−３について発行され，コラムアドレスＣＡ０−３それぞれの４バイトデータＢＹ０−３が連続して入出力される。この場合，領域２２Ａは，コラムアドレスＣＡ０のバイトＢＹ２，３からコラムアドレスＣＡ３のバイトＢＹ０，１までを含むので，コラムアドレスＣＡ０に対応する４バイトの入出力ＤＱのうち，バイトＢＹ０，１のデータは必要なく，コラムアドレスＣＡ３に対応する４バイトの入出力ＤＱのうち，バイトＢＹ２，３のデータも必要ない。よって，有効出力データは，１２バイト／１６バイトである。
【００５５】
これに対して，図４（Ｂ）の矩形アクセスでは，矩形領域２２Ｂをアクセスする場合，ページ領域ＢＡ０／ＲＡ０を指定するアクティブコマンドＡＣＴに続いて，６つのリードコマンドＲＤがコラムアドレスＣＡ０，１，４，５，８，９について発行され，それらのコラムアドレスＣＡ０，１，４，５，８，９それぞれの４バイトデータＢＹ０−３が連続して入出力される。しかし，矩形領域２２Ｂがコラムアドレスで選択されるメモリ単位領域（４バイト領域）４５の境界と一致せず且つ４バイト領域の境界を越えているので，各４バイトデータＢＹ０−３のうちそれぞれ半分は必要のないデータになる。つまり，有効出力データは，１２バイト／２４バイトである。図４（Ｂ）はワーストケースを示している。
【００５６】
このように，同じバイト数のデータであっても，上記の矩形アクセスは，６回のリードコマンドＲＤにより２４バイトのデータを入出力する必要があるが，水平アクセスでは，４回のリードコマンドＲＤにより１６バイトのデータを入出力すれば良い。よって，１つのコラムアドレスで選択される４バイト領域（メモリ単位領域）４５の境界を越える矩形領域のアクセスは，実効的な帯域幅が低下する。これが，矩形アクセスの第１の課題である。
【００５７】
図５は，矩形アクセスの第２の課題を示す図である。矩形アクセスは，任意の矩形領域に対するアクセスであり，矩形領域が隣接するページ領域１４の境界１４ＢＯＵを越える場合がある。図５には，矩形領域２２（Ａ）が同じページ領域ＢＡ１／ＲＡ６内の１６バイト領域の場合と，矩形領域２２（Ｂ）が４つの隣接するページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６，ＢＡ０／ＲＡ７にまたがる１６バイト領域の場合とが示されている。
【００５８】
矩形領域２２（Ａ）の場合は，タイミングチャートに示されるとおり，ページ領域ＢＡ１／ＲＡ６についての１回のアクティブコマンドＡＣＴ（図中５０）と，コラムアドレスＣＡ６，７，１０，１１についての４回のリードコマンドＲＤ（図中５２）を発行すれば，１６バイトのデータを入出力できる。
【００５９】
一方，矩形領域２２（Ｂ）の場合は，タイミングチャートに示されるとおり，ページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６，ＢＡ０／ＲＡ７についての４回のアクティブコマンドＡＣＴ（図中５４）と，コラムアドレスＣＡ１２７（ＢＡ３），ＣＡ１２４（ＢＡ２），ＣＡ３（ＢＡ１），ＣＡ０（ＢＡ０）についての４回のリードコマンドＲＤ（図中５６）を発行しなければ，１６バイトのデータを入出力できない。つまり，矩形領域２２が隣接するページ領域を含む場合は，異なるバンクをアクティブ動作させるために，複数回のアクティブコマンドＡＣＴを発行し，それぞれのバンク内のコラムアドレスでリードＲＤまたはライトコマンドＷＲを発行しなければならない。よって，単位時間当たりにアクセスできるデータ量が減り，実効的な帯域幅が狭くなる。
【００６０】
図５の矩形領域２２（Ｂ）が，コラムアドレスで選択されるメモリ単位領域（４バイト領域）の途中で区画される場合は，図４で示した第１の課題も同時に有することになり，複数回のアクティブコマンドを必要とすることに加えて（第２の課題），リードコマンドに対する入出力データＤＱ内に不必要なデータが含まれる（第１の課題）ことになり，より一層，実効的な帯域幅の低下を招く。
【００６１】
以上のとおり，画像メモリにおいてＳＤＲＡＭの構造上の特性を利用したメモリマッピングを採用した場合，第１に水平アクセス中のリフレッシュコマンドの発生でアクセスが中断するという課題，第２に矩形アクセス領域がコラムアドレスで選択されるメモリ単位領域（４バイト領域）の境界を越える場合に入出力データに無駄が生じるという課題，第３に矩形アクセス領域がバンクアドレスで特定されるページ領域の境界を越える場合に複数のバンクアクティブコマンドを発行する必要が生じるという課題などを有する。
【００６２】
［本実施の形態の概略説明］
以下は，それらの課題を解決する構成と動作について概略的に説明する。
【００６３】
本実施の形態では，リフレッシュ動作に起因するアクセスの中断，矩形アクセスによるアクセス効率の低下などを解決するものであり，第１に，水平アクセス時にはアクセス動作と平行してバックグランドでリフレッシュ動作を可能にし，第２に矩形アクセス時にコラムアドレスで選択されるメモリ単位領域（４バイト領域）とずれた領域またはメモリ単位領域を超える領域へのアクセスを効率的に行う機能を可能にし，さらに第３に矩形アクセス時にページ領域の境界を越えて複数のページ領域を含む矩形領域へのアクセスを効率的に行う機能を可能にする。
【００６４】
図６は，本実施の形態における全体の動作を示す図である。前述したとおり，画像メモリを利用する画像システムでは，画像メモリへの水平アクセスと矩形アクセスとが混在して発生する。図６の例は，メモリマップ１２の１行目のバンクアドレスＢＡ０，ＢＡ１のページ領域に対する水平アクセス２０−１と，２行目のページ領域ＢＡ２／ＲＡ２に対する矩形アクセス２２と，２行目のバンクアドレスＢＡ２，ＢＡ３のページ領域に対する水平アクセス２０−２とが順番に発生する例である。矩形アクセス２２では，１つのページ領域ＢＡ２／ＲＡ２内のメモリ単位領域（４バイト領域）４５の境界を越えた矩形領域に対してアクセスが行われている。
【００６５】
この場合，矩形アクセスでは，メモリの任意のバンクにアクセスが発生するが，水平アクセスでは，ある一定期間は決められたバンクにしかアクセスが発生しない。例えば，メモリマップ１２内の１行目の水平アクセス中は，バンクＢＡ０，１にしかアクセスが発生せず，２行目のバンクＢＡ２，３にはアクセスは発生しない。逆に，２行目の水平アクセス中は，バンクＢＡ２，３にしかアクセスが発生せず，１行目のバンクＢＡ０，１にはアクセスは発生しない。
【００６６】
そこで，水平アクセス２０−１において，メモリアクセスに入る前に，今後しばらくアクセスが発生しないバンクを指定するバックグランド・リフレッシュコマンドＢＲＥＮを発行して，アクセスが発生しないバンク情報ＳＡ＝２／３をメモリに通知する。つまり，バックグランド・リフレッシュコマンドＢＲＥＮで指定されたバンクＳＡには，その後の自動リフレッシュ動作を許可する。よって，リフレッシュ動作を指定されたバンクＳＡ＝２，３への通常アクセスは禁止される。
【００６７】
図６の水平アクセス２０−１では，バックグランド・リフレッシュコマンドＢＲＥＮ（図中６０）と共にその後のリフレッシュ動作を許可するリフレッシュバンク情報ＳＡ（図中６１）が発行され，その後，アクティブコマンドＡＣＴでページ領域ＢＡ０／ＲＡ０がアクティブ動作され，リードコマンドＲＤ（ＢＡ０，ＣＡ０）でコラムアドレスＣＡ０の４バイトデータＢＹ０−３が入出力端子ＤＱに出力される。同様に，アクティブコマンドＡＣＴでページ領域ＢＡ１／ＲＡ０がアクティブ動作され，リードコマンドＲＤ（ＢＡ１，ＣＡ０）でコラムアドレスＣＡ０の４バイトデータＢＹ０−３が入出力端子ＤＱに出力される。但し，図６では，ＢＬ＝４に対応する４組の４バイトデータの出力は省略されている。
【００６８】
この水平アクセス２０−１の期間内において，画像メモリ内でバックグランドリフレッシュコマンドＢＲＥＮにより起動される自動リフレッシュリクエスト（図示せず）が発行されると，バンクＢＡ２，３に対するリフレッシュ動作が開始される。しかし，水平アクセスは，バンクＢＡ０，１に対するアクセスしか発生せず，且つＳＤＲＡＭでは異なるバンクは独立してアクティブ動作可能であるので，バンクＢＡ２，３でのリフレッシュ動作により水平アクセスがディスターブされて中断することはない。
【００６９】
次に，図６の矩形アクセスでは，矩形領域２２が同じページ領域ＢＡ２／ＲＡ２内であって，コラムアドレスＣＡ０内の後半の２バイトＢＹ２，３と，コラムアドレスＣＡ１の前半の２バイトＢＹ０，１とを含んでいる。この場合，ＳＤＲＡＭの一般的なリードコマンドによれば，コラムアドレスＣＡ０，１に対して２回のリードコマンドＲＤを発行する必要がある。
【００７０】
しかし，本実施の形態では，コラムアドレスＣＡ０（図中６３）に対するリードコマンドＲＤ（図中６２）を発行し，そのアクセスでのバイト組み合わせ情報ＳＢ（図中６４）を供給することで，バイト組み合わせ情報ＳＢに対応する４バイトを自動的に入出力端子ＤＱに対応付けることができる。上記の例では，バイト組み合わせ情報ＳＢとして，２バイトシフトするバイトシフト情報ＳＢ＝２を指定することで，コラムアドレスＣＡ０の４バイトデータのうち２バイトシフトしたバイトＢＹ２，３のデータと，その隣のコラムアドレスＣＡ１の４バイトデータのうち最初の２バイトのバイトＢＹ０，１のデータとを自動的に出力する。
【００７１】
図６の矩形アクセスでは，ページ領域ＢＡ２／ＲＡ２に対するアクティブコマンドＡＣＴに続いて，ＢＡ２／ＣＡ０（図中６３）を指定するリードコマンドＲＤ６２がバイト組み合わせ情報ＳＢ＝２（図中６４）と共に発行される。このバイト組み合わせ情報ＳＢ＝２は，４バイト領域内の２バイトシフトしたバイトＢＹ２から４バイトのデータの組み合わせを意味している。あるいは，このバイト組み合わせ情報ＳＢ＝２は，４バイト領域内の最初のバイト位置（スタートバイト）がＢＹ２であることを意味している。これに応答して，画像メモリは，コラムアドレスＣＡ０の４バイトデータのうち，２バイトシフトした（またはスタートバイトＢＹ２からの）バイトＢＹ２，３のデータと，コラムアドレスＣＡ１のバイトデータＢＹ０，１のデータとを４バイトの入出力端子ＤＱに対応させて出力する。メモリコントローラは，コラムアドレスＣＡ０，１に対するリードコマンドＲＤを２回発行する必要はない。しかも，４バイトの入出力端子ＤＱには全て必要なデータのみが出力され，不必要なデータは出力されずアクセス効率が高くなる。
【００７２】
更に，画像メモリは，ＢＡ２／ＣＡ４を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ４，５内それぞれ２バイトからなる４バイトデータを出力し，ＢＡ２／ＣＡ８を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ８，９内それぞれ２バイトからなる４バイトデータを出力し，ＢＡ２／ＣＡ１２を指定するリードコマンドＲＤが組み合わせ情報ＳＢ＝２と共に発行されると，コラムアドレスＣＡ１２，１３内それぞれ２バイトからなる４バイトデータを出力する。
【００７３】
その結果，矩形アクセス領域２２が８つのコラムアドレスＣＡ０，１，４，５，８，９，１２，１３のメモリ単位領域（４バイト領域）を含んでいても，リードコマンドＲＤは，コラムアドレスＣＡ０，４，８，１２に対して４回発行するだけでよく，且つ，入出力端子には不必要なデータの出力はなく，アクセス効率を２倍に高めることができる。
【００７４】
矩形アクセス後の水平アクセス２０−２では，メモリマップ１２の２行目のページ領域へのアクセスであるので，当分の間はバンクＢＡ０，１への通常アクセスは発生しない。そこで，前述と同様に，バックグランド・リフレッシュコマンドＢＲＥＮ（図中６５）と共にリフレッシュ動作を許可するバンク情報ＳＡ（図中６６）としてＳＡ＝０／１が指定され，その後のバンクＢＡ２，３への通常アクセスに平行して，バンクＢＡ０，１への自動リフレッシュ動作が許可される。
【００７５】
以上のとおり，水平アクセス２０−１，２０−２では，通常アクセス中にバックグランドでの自動リフレッシュを許可し，矩形アクセスではバックグランドでの自動リフレッシュを許可しない。その結果，水平アクセス２０−１では，バンクＢＡ０，１で通常アクセス動作，バンクＢＡ２，３でリフレッシュ動作が平行して可能になり，水平アクセス２０−２では，バンクＢＡ２，３で通常アクセス動作，バンクＢＡ０，１でリフレッシュ動作が平行して可能になる。これにより，リフレッシュ動作による水平アクセスのディスターブを回避することができ，実効的な帯域幅の低下を抑えることができる。
【００７６】
また，矩形アクセスでは，バックグランドリフレッシュ動作を禁止する。これにより，任意の領域への矩形アクセスが，リフレッシュ動作によって中断されることを防止することができる。よって，トータルの実効的な帯域幅の低下を抑制できる。
【００７７】
そして，矩形アクセスでは，バイトの組み合わせ情報ＳＢをリードコマンドと共に指定することで，リードコマンドのコラムアドレスＣＡを先頭として任意のバイトの組み合わせで，組み合わされたバイトデータを４バイトの入出力端子ＤＱに出力することができる。バイトの組み合わせ情報ＳＢは，アクティブコマンドに先立ってモードレジスタを設定するコマンドと共に指定することも可能である。
【００７８】
図７は，本実施の形態における全体の動作の別の例を示す図である。この例は，メモリマップの１行目のページ領域への水平アクセス２０−１と，矩形アクセス２２と，メモリマップの２行目のページ領域への水平アクセス２０−２とが順に行われる例である。そして，矩形アクセス２２では，矩形領域２２がページ領域の境界１４ＢＯＵを越えて４つのページ領域ＢＡ３／ＲＡ２，ＢＡ２／ＲＡ３，ＢＡ１／ＲＡ６。ＢＡ０／ＲＡ７を含んでいる。
【００７９】
水平アクセス２０−１，２０−２では，図６と同様に，バックグランド・リフレッシュコマンドＢＲＥＮと共にリフレッシュバンク情報ＳＡを発行することで，そのバンクへのその後の自動リフレッシュ動作を許可して，水平アクセスがリフレッシュ動作でディスターブされることを防止する。そして，複数ページ領域，すなわち複数バンクを含む矩形領域２２への矩形アクセスでは，同時にアクティブ動作させるバンク情報としてマルチバンク情報ＳＡ’をアクティブコマンドＡＣＴと共に発行する。これに応答して，画像メモリは，アクティブコマンドＡＣＴと共に発行されるアドレス情報ＢＡ，ＲＡを左上として，マルチバンク情報ＳＡ’で指定された複数バンクのページ領域を同時にアクティブ動作する。その結果，１回のアクティブコマンドＡＣＴに応答して，複数バンクを同時にアクティブ動作することができ，その後は，各バンクに対するリードコマンドＲＤをバンクアドレスＢＡとコラムアドレスＣＡと共に発行することで，各バンク内のコラムアドレスＣＡで選択されたメモリ単位領域（４バンク領域）の４バンクデータを入出力端子ＤＱに出力することができる。
【００８０】
図７の矩形アクセスの例では，アクティブコマンドＡＣＴ（図中７０）と共に左上のページ領域を特定するアドレス情報ＢＡ３，ＲＡ２（図中７１）が発行され，それと同時に，マルチバンク情報ＳＡ’＝０−３（図中７２）も発行されている。これに応答して，画像メモリは，左上のページ領域のバンクＢＡ３を先頭にして，マルチバンク情報ＳＡ’で指定された４バンクＢＡ３，ＢＡ２，ＢＡ１，ＢＡ０を同時にアクティブ動作し，それに続く４つのリードコマンドＲＤで指定されたバンクＢＡ／コラムアドレスＣＡの４バイトデータを順に出力する。ライトコマンドの場合も同様である。図中では，４つのリードコマンドＲＤに対して，ＢＡ３／ＣＡ１２７，ＢＡ２／ＣＡ１２４，ＢＡ１／ＣＡ３，ＢＡ０／ＣＡ０が供給され，それぞれの４バイトデータが出力されている。
【００８１】
マルチバンク情報ＳＡ’が「横方向の２バンク」であれば，アクティブコマンドＡＣＴで供給されるバンクアドレスＢＡに対応する左上バンクの右隣のバンクも同時にアクティブ動作され，「縦方向の２バンク」であれば左上バンクの下隣のバンクも同時にアクティブ動作される。同様に，マルチバンク情報ＳＡ’が「縦横４バンク」であれば，左上バンクの右隣，下隣，右下隣の４つのバンクも同時にアクティブ動作される。したがって，マルチバンクを自動的にアクティブ動作させるためには，メモリマップの各行のロウアドレスＲＡがどのように配置されているか，具体的にはロウアドレスＲＡがどの単位で各行を折り返されているかの情報（ロウアドレスステップ情報）をあらかじめレジスタなどに設定しておくことが好ましい。
【００８２】
図７の矩形アクセスにおいて，アクティブコマンドＡＣＴ時のマルチバンク情報ＳＡ’に加えて，図６で説明したバイト組み合わせ情報ＳＢがリードコマンドＲＤと共に指定されると，ページ領域１４の境界１４ＢＯＵを越えて，且つコラムアドレスＣＡで選択されるメモリ単位領域（４バンク領域）の一部のバイトの組み合わせについて，自動的に入出力端子ＤＱに対応付けることができる。
【００８３】
図８は，本実施の形態における画像処理システムの構成図である。画像処理システムは，メモリコントローラに対応する画像処理チップ８０と，画像処理対象の画像データを記憶する画像メモリチップ８６とで構成される。画像処理チップ８０とメモリチップ８６は半導体チップであり，それぞれ単一の半導体基板に集積回路が形成されている。
【００８４】
画像処理チップ８０は，例えばＭＰＥＧの画像圧縮と伸長に対応するエンコーダ，デコーダなどの画像処理を行う画像処理制御部８１と，画像処理制御部８１からの画像領域の指定を含むメモリアクセス要求に応答して，画像メモリチップ８６へのアクセス制御を行うメモリ制御部８２とを有する。メモリ制御部８２は，水平アクセスでのバックグランドリフレッシュ動作を制御するバックグランドリフレッシュ制御部８４と，矩形アクセスでメモリ単位領域（４バイト領域）内の任意のバイトの組み合わせのアクセスを制御するバイトバウンダリ制御部８５と，矩形アクセスで複数のページ領域を含むアクセスを制御するマルチバンク活性化制御部８３とを有する。これらの制御により，それぞれの動作に必要なコマンドとバンクアドレス，ロウアドレス，コラムアドレス，バイト組み合わせ情報ＳＢ，リフレッシュバンク情報ＳＡ，マルチバンク情報ＳＡ’などを，画像メモリ８６に発行する。
【００８５】
画像メモリ８６は，メモリコア９２内に複数のバンクＢａｎｋ０−３を有し，これらのメモリコア９２に対して，主にアクティブ動作の制御を行うロウ制御部８７と，リードやライト動作の制御を行うコラム制御部９０と，バックグランドリフレッシュ制御部８９とを有する。ロウ制御部８７はマルチバンク活性化制御部８８を有し，コラム制御部９０はバイトバウンダリ制御部９１を有する。また，各バンクＢａｎｋ０−３内には，ロウデコーダＲｏｗＤｅｃと，コラムデコーダＣｏｌＤｅｃと，メモリアレイＭＡと，センスアンプ群ＳＡと，メモリアレイＭＡと入出力端子ＤＱとを対応付ける入出力ユニット９３などが含まれる。
【００８６】
図９は，本実施の形態における画像メモリの構成図である。画像メモリチップ８６は，外部端子群９３には，クロックＣＬＫに加えて，ＲＡＳ，ＣＡＳ，ＷＥ，ＣＳからなるコマンド端子，バンクアドレス端子ＢＡ０，ＢＡ１，リフレッシュバンク情報端子ＳＡ０，ＳＡ１，複数個のアドレス端子Ａｄｄ，所定ビット数のバイト組み合わせ情報端子ＳＢ，所定ビット数のデータ入出力端子ＤＱ，そして，図示しないマルチバンク情報端子ＳＡ’などが含まれる。
【００８７】
なお，前述のバイトバウンダリ機能，マルチバンクアセス機能，バックグランドリフレッシュ機能に必要な端子ＳＢ，ＳＡ’，ＳＡは，共通の特殊ピンによっても実現可能である。それらの情報は，異なるコマンドと共に供給されるので，供給コマンドに応じて特殊ピン入力データを対応するレジスタに設定すればよい。
【００８８】
また，これらの端子ＳＢ，ＳＡ’，ＳＡは，使用されていない端子で実現可能である。例えば，リード動作において，ロウアドレスがアドレス端子Ａｄｄ０〜１２で入力され，コラムアドレスがアドレス端子Ａｄｄ０〜９で入力されるとすると，コラムアドレスが入力されるときアドレス端子Ａｄｄ１０〜１２は使用されていない。よって，コラムアドレス入力時に使用されていないアドレス端子Ａｄｄ１０〜１２から制御データＳＢ，ＳＡ’，ＳＡを入力することができる。
【００８９】
これらの外部端子群９３には，それぞれバッファ９４を介して内部回路に接続される。上記のコマンド群はコマンド制御部９５に入力され，コマンドに対応した制御信号が内部回路に供給される。また，モードレジスタセットコマンドに応答して，コマンド制御部９５は，アドレスピンＡｄｄに供給される設定データに基づいて，モードレジスタ９６に所定の設定値を設定する。モードレジスタ９６に設定された設定情報は内部回路に供給される。ロウ制御部８７は，マルチバンク活性化制御部８８を有し，さらにマルチバンク活性化に必要なロウアドレス演算部９７と有する。マルチバンク活性化制御部８８からは，活性化すべきバンクにアクティブパルスが供給される。また，ロウアドレス演算部９７からは，活性化すべきロウアドレスが各バンクに供給される。そして，バンクＢａｎｋ内にはバンク内のリフレッシュ対象のロウアドレスを指示するリフレッシュロウアドレス指示部９８が設けられる。リフレッシュロウアドレス指示部９８は，例えばリフレッシュカウンタを有し，自動リフレッシュコマンド発生時に必要なロウアドレスを生成する。バンク内の構成は前述の通りである。
【００９０】
以下，図６，７で説明したバイトバウンダリ機能と，マルチバンクアクティブ機能と，バックグランド・リフレッシュ機能とについて，順番に，画像メモリとメモリコントローラの詳細を説明する。
《バイトバウンダリ》
図１０は，バイトバウンダリ機能を説明する図である。この図は，あるバンク内のロウアドレスＲＡとコラムアドレスＣＡとにより選択されるバイト群（またはビット群）を示している。前述したとおり，この例も，ロウアドレスＲＡとコラムアドレスＣＡとにより４バイトのデータ領域（メモリ単位領域）が選択され，３２ビットの入出力端子ＤＱ０−３１と関連付けられる。よって，ロウアドレスＲＡとコラムアドレスＣＡの交差位置の「０１２３」は，それぞれバイトＢＹ０，ＢＹ１，ＢＹ２，ＢＹ３を意味している。または，４バイトの代わりに４ビットであっても良い。その場合は，ロウアドレスＲＡとコラムアドレスＣＡとにより４ビットのデータ領域（メモリ単位領域）が選択され，４ビットの入出力端子ＤＱ０−３と関連付けられる。以下は，簡単のために４バイトの例で説明する。
【００９１】
図１０（Ａ）は従来例に対応し，ロウアドレスＲＡとコラムアドレスＣＡとにより４バイトのデータ領域が一意に決定し，常に４バイト領域（メモリ単位領域）１００，１０１の３２ビットが入出力端子ＤＱ０−３１と関連付けられる。
【００９２】
それに対して，図１０（Ｂ）は本実施の形態に対応し，ロウアドレスＲＡとコラムアドレスＣＡとで特定される４バイト領域を先頭にして，任意のバイトの組み合わせで入出力端子ＤＱ０−３１と関連付けることができる。図中，ＲＡ＝０，ＣＡ＝０で選択される４バイト領域１００は全てそのまま入出力端子ＤＱ０−３１と関連付けている。一方，ＲＡ＝２，ＣＡ＝１で選択される４バイト領域内の２バイトシフトした３バイト目から連続する４バイトの領域１０２を入出力端子ＤＱ０−３１と関連付けている。この場合は，ＲＡ＝２，ＣＡ＝１で選択される４バイト領域内のどのバイトを先頭にするかの第１の情報（スタートバイト）と，その先頭バイトからアップ方向に４バイト連続かダウン方向に４バイト連続かアップ方向に１つ置きかダウン方向に１つ置きかなどの第２の情報（ビッグエンディアンまたはリトルエンディアン）とが，リードコマンドやライトコマンドと共に与えられる。
【００９３】
そして，上記の第１，第２の情報からなるバイト組み合わせ情報に基づいて，画像メモリの入出力ユニットは，ページ内の異なるコラムアドレスＣＡに対応するバイトデータのうち合計で４バイトを抽出し，入出力端子ＤＱ０−３１に関連付ける。そして，必要な４バイトのデータを３２ビットの入出力端子ＤＱから１回で入出力する。
【００９４】
図１１は，バイトバウンダリ機能におけるタイミングチャートを示す図である。この例は，メモリマップ１２内の４バイト１０２をアクセスする例である。まず，アクティブコマンドＡＣＴ（図中１１０）と共にバンクアドレスＢＡ＝０とロウアドレスＲＡ＝２とが与えられ，対応するページ領域がアクティブ動作され，リードコマンドＲＤ（図中１１１）と共にバンクアドレスＢＡ＝０とコラムアドレスＣＡ＝１（図中１１２）とが与えられ，更に，バイトの組み合わせ情報１１３として，バイトシフト量またはスタートバイトを示す第１の情報ＳＢ＝２（図中１１４）と組み合わせパターンを示す第２の情報ＢＭＲ＝ＵＰ（図中１１５）とが与えられる。
【００９５】
画像メモリは，このバイト組み合わせ情報ＳＢ＝２，ＢＭＲ＝ＵＰに基づいて，コラムアドレスＣＡ＝１で選択される４バイト領域の後半の２バイトデータ（ＢＹ２，３）と，コラムアドレスＣＡ＝２で選択される４バイト領域の前半の２バイトデータ（ＢＹ０，１）とを，それぞれ入出力端子ＤＱ１６−２３，ＤＱ２４−３１，ＤＱ０−７，ＤＱ８−１５に図示されるとおり対応付ける。この対応付けは，たとえば図９のバイトバウンダリ制御部９１により入出力ユニット９３で行われる。よって，異なるコラムアドレスのデータであるにもかかわらず，リードコマンドＲＤを１回与えるだけで，任意の組み合わせの４バイトデータを入出力端子ＤＱに対応付けることができる。ライトコマンドの場合も同様である。
【００９６】
図１１において，ロウアドレスＲＡとコラムアドレスＣＡとにより選択される４バイト領域は，４ビット領域であっても同様のバイトバウンダリ機能を適用できる。その場合は，入出力端子ＤＱ０−３に４ビット領域の４ビットデータが対応付けられる。
【００９７】
図１２は，異なるマッピングに対するバイトバウンダリ機能を説明する図である。図１２では，簡単のためにロウアドレスＲＡとコラムアドレスＣＡとにより選択されるメモリ単位領域が４ビットで構成されている。図１２の左側には画像の画素とメモリ空間との対応を示すメモリマッピング１２−１，１２−２が，中央にはメモリの論理空間１５−１，１５−２が，そして，右側にはそれらに対応するタイミングチャートが示されている。
【００９８】
中央のメモリ論理空間１５−１，１５−２内には，ロウアドレスＲＡとコラムアドレスＣＡとで選択される４ビット領域内の４ビットを示す「０−３」が示され，入出力端子ＤＱ０−３に対応する。また，左のメモリマッピング１２−１，１２−２内にも，画像の画素に対応するメモリ論理空間内の４ビットを示す「０−３」が示されている。つまり，画像の各画素がメモリの入出力端子ＤＱ０−３にどのように対応付けられるかが，メモリマッピングに示されている。
【００９９】
画像システムでは，画像の画素を，あるアドレスＢＡ，ＲＡ，ＣＡで同時にアクセスされる４ビットの入出力端子ＤＱ０−３のどれに対応付けるかは，システム設計者の自由である。マッピング１２−１は，図中左から右の４つの画素をアドレスの進行方向（左から右）と同じ方向の入出力端子ＤＱ０−３にマッピングする例であり，ビッグエンディアンと称されている。一方，マッピング１２−２は，４つの画素をアドレスの進行方向と逆方向の入出力端子ＤＱ３−０にマッピングする例であり，リトルエンディアンと称されている。
【０１００】
そして，マッピング１２−１，１２−２においていずれも，画像の左上隅から６画素から９画素までの４画素１２３，１２７に矩形アクセスが発生している。しかし，これらのマッピングは，メモリ内の４ビットと逆方向にマッピングされているので，それぞれ異なるアクセスが必要になる。つまり，マッピング１２−１の場合は，矢印１２０のように，画像の左から右の画素に対して，ＣＡ＝１内のＤＱ１，ＣＡ＝１内のＤＱ２，ＣＡ＝１内のＤＱ３，ＣＡ＝２内のＤＱ０の順でデータを入出力する必要がある。一方，マッピング１２−２の場合は，矢印１２４のように，画像の左から右の画素に対して，ＣＡ＝１内のＤＱ２，ＣＡ＝１内のＤＱ１，ＣＡ＝１内のＤＱ０，ＣＡ＝２内のＤＱ３の順でデータを入出力する必要がある。
【０１０１】
このような異なるマッピングに対応するためにビット組み合わせ情報ＳＢ，ＢＭＲが利用される。つまり，マッピング１２−１の場合は，図中１２１のように，リードコマンドＲＤと共にＢＡ＝０，ＣＡ＝１からなる先頭アドレスと，ＳＢ＝１，ＢＭＲ＝ＵＰからなるビット組み合わせ情報とが発行され，それに応答して，図中１２２のように，ＣＡ＝１の３ビットＤＱ１，２，３とＣＡ＝２のＤＱ０とが同時に出力される。
【０１０２】
一方，マッピング１２−２の場合は，図中１２５のように，リードコマンドＲＤと共にＢＡ＝０，ＣＡ＝１からなる先頭アドレスと，ＳＢ＝１，ＢＭＲ＝ＤＯＷＮからなるビット組み合わせ情報とが発行され，それに応答して，図中１２６のように，ＣＡ＝１の３ビットＤＱ０，１，２とＣＡ＝２のＤＱ３とが同時に出力される。
【０１０３】
このように，ビッグエンディアンとリトルエンディアンという異なるメモリマッピングに対応してビット組み合わせ情報ＳＢ，ＢＭＲを指定することで，画像メモリは，システム側のメモリマッピングに対応して４ビット同時に入出力することができる。このビット組み合わせ情報の種類を増やすことにより，様々なマッピングに対して柔軟な４ビットアクセスを実現することができる。
【０１０４】
図１３は，図１２のビッグエンディアンとリトルエンディアンとを説明する図である。図１３は，左右どちらも入出力ビット幅が４ビットのメモリを使っている画像処理システムであり，左がメモリの入出力端子DQのDQ0からDQ3への方向を順方向として扱うビッグエンディアンのシステム，右がメモリのDQのDQ3からDQ0への方向を順方向として扱うリトルエンディアンのシステムである。
【０１０５】
画面上の画素位置(X0-X11)は，どちらも同じ画面上の物理位置を示している。そして，各画素位置が持っている「各画素の情報」は，両システムとも同じ"A"〜"L"であり，このことは，どちらのシステムも同じ画像を表示していることを意味している。
【０１０６】
ビッグエンディアンのシステムでは，画素位置X0〜X3をメモリのアドレスCA0のDQ0〜DQ3に，画素位置X4〜X7をメモリのアドレスCA1のDQ0〜DQ3に，画素位置X8〜X11をメモリのアドレスCA2のDQ0〜DQ3に対応させている。
【０１０７】
一方，リトルエンディアンのシステムでは，画素位置X0〜X3をメモリのアドレスCA0のDQ3〜DQ0に，画素位置X4〜X7をメモリのアドレスCA1のDQ3〜DQ0に，画素位置X8〜X11をメモリのアドレスCA2のDQ3〜DQ0に対応させている。
【０１０８】
つまり，両方のシステムを比較すると，画像処理システム内の画素Ｘ０〜Ｘ３と入出力端子Ｔ０〜Ｔ３の対応関係が，ビッグエンディアンとリトルエンディアンとで逆の関係になっている。よって，画素位置X0の画素情報"A"は，ビッグエンディアンのシステムとリトルエンディアンのシステムでは各々異なるメモリセルの物理位置(CA0のDQ0とCA0のDQ3)に格納されることになる。
【０１０９】
ここで，画像処理システムが画素位置X5-X8の画素情報"F-G-H-I"に対する矩形アクセス（図中１３０）を発生した場合，ビッグエンディアンのシステムとリトルエンディアンのシステムで，メモリは各々異なるメモリセルの物理位置１３２，１３４にアクセスしなくてはならない。そのため，メモリに供給される必要がある最低限の情報は，システムがビッグエンディアン(Up)かリトルエンディアン(Down)かという情報BMRと，起点となるビットが含まれるアドレスCAと，起点となるビットのアドレス内での位置情報SBの３つである。
【０１１０】
上記のビッグエンディアンとリトルエンディアンは，アドレスRA,CAでアクセスされるメモリ単位領域が４バイト領域（バイト群）の場合も同じである。
【０１１１】
図１４は，特殊なメモリマッピングにおけるバイトバウンダリ機能を説明する図である。図１４も図１２と同様に，左側にメモリマッピング１２を，中央にメモリ論理空間１５を，そして，右側に対応するタイミングチャートを示す。
【０１１２】
図中，左側のメモリマッピング１２には，フレーム画像内の各画素にメモリのどのビットを割り当てているかの状態を示している。この例では，１画素が２ビットの情報から構成されており，例えば偶数ビットは輝度，奇数ビットは色差を表すデータを保持している。
【０１１３】
そこで，Grouping-1は左上隅の２画素目から５画素目における輝度情報（偶数ビット）のみを集める矩形アクセスであり，Grouping-2は左上隅の２画素目から５画素目における色差情報（奇数ビット）のみを集める矩形アクセスを意味している。この場合，Grouping-1/2ともに，画像の左上隅の２画素目から５画素目にかけての矩形アクセスだが，矢印１４０のような輝度(偶数ビット)と矢印１４４のような色差(奇数ビット)の違いがあるため，タイミングチャートに示されるように，画像処理システムからメモリへのアクセスと入出力端子DQは以下の通りとなる。
Grouping-1：CA=0/SB=2で，BMR＝AL（１ビット置きに４ビットを集める指定）（図中１４１）のアクセスに対して，入出力端子DQ0-3には，CA=1のDQ0，CA=2のDQ0，CA=0のDQ2，CA=1のDQ2が対応付けられる（図中１４２）。
Grouping-2：CA=0/SB=3で，BMR＝AL（１ビット置きに４ビットを集める指定）（図中１４５）のアクセスに対して，入出力端子DQ0-3には，CA=2のDQ1，CA=1のDQ1,3，CA=0のDQ3が対応付けられる（図中１４６）。
【０１１４】
このように，異なるコラムアドレスの４ビット領域内で同じDQ(例えばGrouping-1ではDQ0やDQ2)を同時にアクセスするので，そのデータを入出力端子DQに転送する入出力ユニットで，一部のデータについては端子を入れ替える処理，つまり別のDQのデータバスを使う処理が必要となる。
【０１１５】
図１５は，図１４の特殊なメモリマッピングを説明する図である。図１５は，入出力ビット幅が４ビットのメモリを使っている画像処理システムであり，特に，メモリの偶数DQを各画素の輝度情報に，奇数DQを各画素の色差情報に用いる画像処理システムである。そして，図１５（Ａ）は輝度情報のみアクセスする場合を示し，図１５（Ｂ）は色差情報のみアクセスする場合を示す。
【０１１６】
画面上の画素位置(X0-X5)は，左右どちらも同じ画面上の物理位置を示している。また，各画素位置は「輝度情報」として"A,C,E,G,I,K"を，「色差情報」として"B,D,F,H,J,L"を保持している。
【０１１７】
ここで，画像処理システムが画素位置X1-X4の輝度情報"C-E-G-I"に対する矩形アクセス１５１を発生した場合は，図１５（Ａ）のように，メモリは偶数DQのみにアクセスし（図中１５３），色差情報"D-F-H-J"に対する矩形アクセス１５２を発生した場合は，図１５（Ｂ）のように，メモリは奇数DQのみにアクセス（図中１５４）しなくてはならない。
【０１１８】
このためにメモリが最低限受け取る必要がある情報は，システムが輝度情報を偶数DQに，色差情報を奇数DQに保持する方式を採用しているか(1DQ置きのアクセスが必要かどうか)を示す情報(BMR=AL)と，起点となるビットが含まれるアドレス(CA)と，そのアドレスの４ビット領域内において起点となるビットの位置情報(SB)の３つである。これらのコラムアドレスCAとビット組み合わせ情報SB,BMRについては，図１４ですでに説明済みである。
【０１１９】
また，この場合，異なるアドレスで同じDQ(例えばGrouping-1ではDQ0やDQ2)を同時にアクセスするので，そのデータを入出力端子に転送する入出力ユニットで，一部のデータについては，別のDQのデータバスを使うように端子を入れ替える処理が必要となる。そのために，メモリ内に白丸と黒丸で示した複数のスイッチが設けられ，上記の情報ＳＢ，ＭＢＲに基づいてこれらのスイッチが制御される。
【０１２０】
図１６は，矩形アクセスにおけるバイトバウンダリ機能を示すタイミングチャート図である。この矩形アクセスは，図６の矩形領域２２をアクセスする例である。前述のとおり，矩形アクセスにおいて，コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域または４ビット領域）内の任意のバイト位置（またはビット位置）から，任意の組み合わせのバイトデータ（ビットデータ）を読み出すためには，先頭のコラムアドレスＣＡと，バイトの組み合わせ情報１６６として第１の情報ＳＢと第２の情報ＢＭＲとが必要である。
【０１２１】
図１６（Ａ）では，これらのバイト組み合わせ情報ＳＢ，ＢＭＲが，リードコマンドＲＤと共に供給される例である。アクティブコマンドＡＣＴ（図中１６１）でバンクアドレスＢＡ＝２とロウアドレスＲＡ＝２とが供給され，続くリードコマンドＲＤ（図中１６２）でバンクアドレスＢＡ＝２，コラムアドレスＣＡ＝０と共に，先頭バイト（先頭ビット）位置を示す第１の情報ＳＢ＝２（（図中１６３）と，バイト（ビット）の組み合わせを示す第２の情報ＢＭＲ＝Ｖ（図中１６５）とが供給される。これにより，図６の矩形領域２２の最初の４バイト（４ビット）が入出力端子ＤＱに出力される。矩形領域２２の残りの３組の４バイト（４ビット）も同様のバンクアドレスＢＡ，コラムアドレスＣＡとバイト組み合わせ情報ＳＢ，ＢＭＲとにより特定される。
【０１２２】
図１６（Ｂ）では，バイト組み合わせ情報ＳＢ，ＢＭＲのうち，第２の情報ＢＭＲ（図中１６５）は，アクティブコマンドＡＣＴが発行される以前に，レジスタアクセスモードでモードレジスタセットコマンドＥＭＲＳ（図中１６７）と同時に供給され，この第２の情報ＢＭＲはメモリ内のモードレジスタ内に記録される。そして，その後の矩形アクセスでは，この第２の情報ＢＭＲに基づいて，コラムアクセスが行われる。矩形アクセスでのアクティブコマンドＡＣＴ（図中１６１）とリードコマンドＲＤ（図中１６２）とは，第２の情報ＢＭＲを除いて図１６（Ａ）と同じである。
【０１２３】
上記の第２の情報ＢＭＲ＝Ｖは，ビッグエンディアン（Ｖ＝ＵＰ），リトルエンディアン（Ｖ＝ＤＯＷＮ），輝度情報を偶数ＤＱに色差情報を奇数ＤＱに格納する場合（Ｖ＝ＡＬ）などの様々な情報を持つことができる。
【０１２４】
画像システムは，図１６（Ａ），（Ｂ）のいずれの方式でも，矩形アクセスにおけるバイトバウンダリ機能を実現することができる。
【０１２５】
図１７は，バイトバウンダリ機能を実現するための画像処理システムの構成図である。図８と同様に，画像メモリ８６に対してそれを制御するメモリ制御部８２が設けられ，メモリ制御部８２からは，アドレス情報ＢＡ，ＲＡ，ＣＡと，それにより選択される４バイト領域（または４ビット領域）内の先頭バイト（先頭ビット）を示す第１の情報ＳＢと，バイトの組み合わせを示す第２の情報ＢＭＲとからなるバイト組み合わせ情報（ビット組み合わせ情報）１６６と，動作コマンドＡＣＴ，ＲＤ，ＥＭＲＳが，画像メモリ８６に供給される。
【０１２６】
前述のとおり，タイミングチャート（Ａ）では，リードコマンドＲＤ，または図示しないライトコマンドＷＴと同時にバイト組み合わせ情報ＳＢ，ＢＭＲ（図中１６６）が供給される。また，タイミングチャート（Ｂ）では，モードレジスタセットコマンドＥＭＲＳ（図中１６７）と同時に第２の情報ＢＭＲが，リードコマンドＲＤ，または図示しないライトコマンドＷＴと同時に第１の情報ＳＢが供給される。
【０１２７】
図１８は，バイトバウンダリ機能を示す図である。この図は，図６の矩形アクセスと同じである。図１０以降では，コラムアドレスＣＡで選択されるメモリ単位領域が４ビット領域の場合を例にして説明してきた。しかし，前述のとおりメモリ単位領域が４バイト領域の場合も同様にバイトバウンダリ機能により矩形アクセスが可能である。図１８はそれを改めて示している。
【０１２８】
図１８の例では，ページ領域１４（ＢＡ＝０，ＲＡ＝０）内の矩形領域２２を効率的にアクセスするために，リードコマンドＲＤ（図中１６７）と共に，バンクアドレスＢＡ，コラムアドレスＣＡと，第１の情報ＳＢと第２の情報ＢＭＲとからなるバイト組み合わせ情報１６６とが発行される。それに応答して，矩形領域２２内の４バイトのデータＢＹ０−３が入出力端子ＤＱに同時に出力される。ライトコマンドＷＴの場合も同様の動作が行われる。つまり，入出力端子ＤＱの４組の４バイト端子ＢＹ０−３には，最初のリードコマンドＲＤに対応してＣＡ１，ＣＡ１，ＣＡ０，ＣＡ０内の各バイトデータが対応付けられ，次のリードコマンドＲＤに対応してＣＡ５，ＣＡ５，ＣＡ４，ＣＡ４内の各バイトデータが対応付けられる。残りのリードコマンドＲＤに対応するコラムアドレスと入出力端子との対応は図示されるとおりである。
【０１２９】
このように，入出力端子ＤＱが４ビット幅の場合も３２ビット（４バイト）幅の場合も，同じようにビットバウンダリ，バイトバウンダリの機能を実現することができる。
【０１３０】
図１９は，簡素化されたバイトバウンダリ機能を実現する画像処理システムの構成図である。前述したとおり，システム設計において，ビッグエンディアンとリトルエンディアンの２種類のメモリマッピングのいずれかが選択可能である。それに対応して，前述の実施の形態では，バイト組み合わせ情報の第２の情報ＢＭＲに，ビッグエンディアン用のＢＭＲ＝ＵＰと，リトルエンディアン用のＢＭＲ＝ＤＯＷＮとを指定して，バイトシフトした矩形アクセスであっても，画像上の画素とメモリ空間内でのバイト位置とが対応つけられるようにした。
【０１３１】
図１９の例は，メモリマッピング１２ではリトルエンディアンに対応した構成に設計される場合，メモリ空間１５内ではビッグエンディアンに対応するバイトバウンダリ機能しか対応できなくても，画像メモリ８６とメモリ制御部８２との間に，入出力端子群の入れ替え手段１９０を設けることで，システム全体がリトルエンディアンに対応したバイトバウンダリ機能を実現することができる。
【０１３２】
すなわち，システム側のメモリマッピングがリトルエンディアンの場合は，入れ替え手段１９０を設けて両者の入出力端子群の０から３を，３から０に入れ替えるようにする。この結果，画像メモリからみるとシステム側がビッグエンディアン対応に見なせるので，第２の情報ＢＭＲ＝ＵＰのみに対応するメモリの構成であっても，リトルエンディアンのバイトバウンダリ機能を実現できる。
【０１３３】
図２０は，図１９の簡素化されたバイトバウンダリ機能を実現する画像処理システムを説明する図である。図２０（１）は，画像処理システム８０と画像メモリ８６とが互いの入出力端子Ｔ０−Ｔ３を入れ替えしないで接続する接続ユニット２００で接続された例であり，図２０（２）は，入れ替え接続する接続ユニット１９０で接続された例である。いずれの場合も，画像メモリ８６は，ビッグエンディアン対応のビットバウンダリ機能のみを有し，画像処理システム８０は，入出力ビット幅の４ビットのデータを，画素位置X0-X3を入出力端子T3-T1に対応付けるリトルエンディアンタイプである。
【０１３４】
図２０（１）において，アドレス単位のアクセスをしている場合（Ａ）では，画面上の画素位置(X0-X7)とメモリ側のアドレス(CA)が１対１(X0-X3とCA=0， X4-X7とCA=1)で対応しているので問題ない。しかし，信号SBを指定してビット単位のアクセスをしようとする場合（Ｂ）は，ビッグエンディアン対応のビットバウンダリ機能（ＢＭＲ＝ＵＰのみ）しか存在しないメモリでは，画素位置のシフト(X1-X4(BCDE)，図中２００)とメモリセルの物理位置のシフト（CBAH，図中２０１）の関係が一致せず，誤ったデータCBAHが転送されてしまう。この場合は，リトルエンディアン対応のビットバウンダリ機能（ＢＭＲ＝ＤＯＷＮ）があれば，メモリセル上のBCDEを出力することができる。しかし，ビッグエンディアンとリトルエンディアンの両方に対応可能なビットバウンダリ機能をメモリに持たせることはコストアップを招く。
【０１３５】
そこで，図２０（２）のように，システム側とメモリ側で入出力端子をタスキがけ接続する接続ユニット１９０を設けて，画像上の画素X0-X3がメモリセル上でもDQ0-DQ3に対応するようにすれば，リトルエンディアンの画像処理システム８０が，みかけ上，メモリ８６からはビッグエンディアンのシステムにみえるようになるため，画素位置のシフト２００とメモリセルの物理位置のシフト２０２の関係が一致し，ビッグエンディアン対応のビットシフトしたアクセスを行っても正常なデータBCDEを転送することができる。
【０１３６】
以上の通り，入れ替え接続するたすきがけ変換可能な接続ユニット１９０を利用することで，ビッグエンディアン対応のビットバウンダリ（またはバイトバウンダリ）機能しかないメモリであっても，リトルエンディアン対応の画像処理システムに対してビットバウンダリ（またはバイトバウンダリ）機能を実現することができる。また，ビッグエンディアンとリトルエンディアンの両方に対応したビットバウンダリ（またはバイトバウンダリ）機能を有するメモリの場合は，入れ替え接続しない接続ユニット２００でメモリとシステムとを接続すればよい。
【０１３７】
図２１は，バイトバウンダリ機能を有するメモリ構成の概念を示す図である。このメモリは，１以上の任意数(Nb)のビットでビット群を構成し，前記任意数(Nb)のビットの２以上の倍数(N)の入出力端子(Nb x N)を持ち，前記所定の倍数(N)より多い複数のビット群(Ng)で全記憶領域(Nb x Ng)を構成し，第1の動作コードに同期して複数のビット群(Ng)の内の任意の１つを選択可能なアドレス情報を受け取り，前記アドレス情報で選択された任意の１つのビット群を起点に所定の規則に従い倍数(N)と同数のビット群を選択し，前記選択されたビット群に属する複数のビット(Nb x N)は，入出力端子(Nb x N)を通して，同時に記憶情報の受け渡しを行う。
【０１３８】
上記の任意数のビット(Nb)とは，ビット単位とバイト単位の両方を含む概念であり，前述の実施の形態例に従えば，Nb=8(１バイト)である。また，倍数(N)とは，１つのアドレスから，任意数のビット(Nb)の何倍のデータをアクセスするかを表現したもので，Nb×Nが入出力端子数に対応する。前述の実施の形態例に従えばN=4で，４バイト分の入出力端子数を有する。つまり，より正確には，入出力端子数はNb×Nとなり，入出力端子数=32(=8x4)となる。
【０１３９】
また，複数(Ng)のビット群のNgとは，メモリが有する全てのビットまたはバイトのかたまり（Nbビットのビット群）の数のことであり，全記憶領域の容量をNbで割った数字と等価である。通常，一度に入出力されるビット群の数である倍数(N)より遥かに大きい数字になる。例えば64Mビットのメモリにおいて，Nb=1であればNg=64M， Nb=8であればNg=8Mである。これまでの例に従い，64Mビットのメモリで考えれば，Nb=8でNg=8Mになる。
【０１４０】
任意の１つのビット群を選択可能なアドレス情報とは，これまでの例に従えば，アドレス(BA,RA,CA)と起点となるビットを示す情報(SB)であり，アドレス(BA,RA,CA)により４バイトに絞り込んだデータを，さらに起点となるバイトを示す情報(SB)により，起点となるバイトに限定していた。
【０１４１】
規則に従い倍数(N)と同数のビット群を選択とは，これまでの例に従えば，起点となるバイトと同時にアクセスされるバイトの組み合わせに関する情報(BMR)に従い複数バイトを選ぶことであり，N=4なので，BMR=Upとすれば，ある任意のバイトから，Up方向に連続した４バイトを同時にアクセスすることになる。
【０１４２】
この任意の１つのビット群(これまでの例に従えば１バイト)を選択可能な情報（BA,RA,CA）と，起点となるバイトの情報（SB）と同時にアクセスされるバイトの組み合わせに関する情報(BMR)により選ばれた４バイトは，32ビット(=NbxN)の入出力端子を介して，画像処理システムにアクセスされる。
【０１４３】
図２１に示されたメモリ装置は，メモリ容量が６４ビットである。よって，Nb=8ビットからなるビット群がNg=8群存在する。そして，アドレス（BA,RA,CA）とスタートバイトSBとが合計３ビットで構成され，よってNg=8のビット群から１つのビット群が選択される。さらに，同時にアクセスされるN=4群のビット群は，組み合わせ情報（BMR）により決定される。よって，図２１の例では，アドレス（BA,RA,CA）とスタートバイトSBとで第２群が選択され，組み合わせ情報BMR=UPにより，第２群から連続する４群（２〜５群）が同時に入出力端子からアクセスされる。
【０１４４】
もし，同じ６４ビットのメモリ容量であって，アドレスが１ビット増えると，Nb=4ビット単位のビット群がNg=１６群存在し，入出力端子がNb×N=３２のままだとすると，所定の倍数N=8となり，組み合わせ情報BMRにより他の７つのビット群が選択されることになる。
【０１４５】
［バイトバウンダリ機能を有するメモリ］
次に，バイトバウンダリ機能を有する画像メモリの構成を詳細に説明する。バイトバウンダリ機能は，コラムアドレスで選択可能なメモリ単位領域（４バイト領域）の境界を越えて４バイトのデータへのアクセスを可能にする。そのために，メモリ内では，必要な４バイトのデータを入出力する機能が付加される。以下の説明では，簡単のために，バイト組み合わせ情報として第１の情報ＳＢ（スタートバイトまたはスタートビットと称する）のみが与えられる場合を例にして説明する。第２の情報ＢＭＲはＵＰ固定の例である。
【０１４６】
［内部コラム制御例］
まず，メモリ内部のコラム制御の具体例を幾つか説明する。
【０１４７】
図２２は，バイトバウンダリ機能を有する画像メモリの第１の例を示す図である。また，図２３は，図２２の動作を説明する図である。
【０１４８】
図２２において，図９の画像メモリと同じ構成要素には同じ引用文献番号が与えられている。アドレス信号Ａはマルチプル方式で入力され，ロウアドレスＲＡはロウアドレスバッファ９４Ｒに，コラムアドレスＣＡはコラムアドレスバッファ９４Ｃにそれぞれラッチされる。ロウ制御部８７は，選択されたメモリバンク９２のロウデコーダ２２３にロウアドレスＲＡを供給する。また，コラムバッファ９４Ｃ内のコラムアドレスＣＡも，選択されたメモリバンク内のコラムデコーダ２２２に供給される。
【０１４９】
メモリバンク９２は，４つのメモリブロックであるバイト領域Ｂｙｔｅ０−３に分割され，各バイト領域は，メモリセルアレイ２２４と，第２アンプ２２５と，１対のデータラッチ２２６，２２７と，データバススイッチ２２８とを有し，１回のアクセスで１バイト（８ビット）のデータを入出力する。４つのバイト領域から合計で３２ビット（４バイト）のデータが入出力バスＩ／Ｏｂｕｓに入出力される。入出力バスＩ／Ｏｂｕｓは３２ビットの入出力端子ＤＱ０−３１にバッファを介して接続される。なお，図２２には，１つのメモリバンク９２のみ示され，残りの３つのメモリバンクは省略されている。
【０１５０】
コラム制御部９０は，コラムデコーダ２２２の動作タイミングを制御するコラムタイミングコントローラ２２０と，データラッチ回路２２６，２２７とデータバススイッチ２２８を制御するデータラッチセレクタ２２１とを有する。データラッチセレクタ２２１は，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて，各バイト領域Ｂｙｔｅ０−３内のデータラッチ回路２２６，２２７とデータバススイッチ２２８とを制御する。
【０１５１】
図２３に示されるとおり，ロウアドレスＲＡ０のページ領域内において，コラムアドレスＣＡ０の２バイト目からコラムアドレスＣＡ１の１バイト目までの４バイトデータをアクセスするものと仮定する。よって，スタートバイト信号ＳＢ＝１である。
【０１５２】
図２３のメモリチップ８６には，メモリ空間と入出力端子ＤＱとの関係が示されている。図２３では，コラムアドレスＣＡにより一度に選択されるメモリ単位領域の４バイトデータをＱ００〜Ｑ１５で示している。つまり，コラムアドレスＣＡ０により４バイトデータＱ００−０３が選択され，コラムアドレスＣＡ１により４バイトデータＱ０４−０７が選択される。
【０１５３】
図２３の右側にはタイミングチャートが示されている。まず，アクティブコマンドＡＣＴと共に，図示しないバンクアドレスと共にロウアドレスＲＡ０が与えられ，対応するバンク内のワード線が駆動されセンスアンプが活性化される。その後，リードコマンドＲＤと共にコラムアドレスＣＡ０とバンク組み合わせ情報としてスタートバイト信号ＳＢ＝１が与えられる。これに応答して，選択されたメモリバンク９２内のコラムデコーダ２２２は，コラムアドレスＣＡ０に対応する内部デコード信号２２２Ｄと，ＣＡ０を＋１インクリメントしたＣＡ１に対応する内部でコード信号２２２Ｄとを時分割で４つのバイト領域Ｂｙｔｅ０−３に出力し，各バイト領域では，ＣＡ０とＣＡ１に対応する２組の１バイトデータをデータラッチ回路２２６，２２７にキャッシュする。そして，データバススイッチ２２８は，各バイト領域でのＣＡ０とＳＢ１の組み合わせに応じて選択される１バイトデータをいずれかのデータラッチ回路２２６，２２７から入出力バスＩ／Ｏｂｕｓに出力する。つまり，ＣＡ０のデータＱ０１，Ｑ０２，Ｑ０３と，ＣＡ１のデータＱ０４とが入出力バスＩ／Ｏｂｕｓに出力される。ライト動作のときは，入出力バスからいずれかのデータラッチ回路に１バイトのデータが入力される。
【０１５４】
すなわち，コラムデコーダは1回のアクセスで各バイト領域で１バイト分のコラム線（ビット線）を選択する。リード動作では，各バイト領域のメモリセルアレイ２２４から１バイト分のデータが選択され第２アンプ２２５で増幅されデータラッチ回路２２６，２２７にキャッシュされる。このとき、各バイト領域では，同じコラムアドレスＣＡにマッピングされたメモリセルにアクセスする。コラムアドレスで選択できるメモリ単位領域（４バイト領域）の境界をまたぐバイトバウンダリアクセスを実現する為、コラムデコーダ２２２は1回目のアクセス終了後に再度コラム線の選択を行う。このコラム線のアドレスは前回のアドレスＣＡ０より1番地進行したＣＡ１である。メモリセルアレイ２２４から読み出された１バイトのデータは第２アンプで増幅され、1回目のアクセスとは異なるデータラッチ回路２２７にキャッシュされる。
【０１５５】
したがって，データラッチ回路２２６，２２７には1回のアクセスで入出力端子DQが必要とする４バイトの２倍の８バイト分のデータが存在する為,データバススイッチ２２８は，各バイト領域のデータラッチ回路にキャッシュされた２バイト分のデータから半分の１バイト分のデータを選択し，入出力バスＩ／Ｏｂｕｓに転送する。データラッチセレクタ２２１は，コラムアドレスＣＡ０とスタートバイト信号ＳＢ＝１に応じて，各バイト領域内のデータラッチ回路２２６，２２７へのキャッシュ動作と，データバススイッチ２２８でのスイッチ動作とを制御する。これにより，各バイト領域から異なるコラムアドレスＣＡ０，ＣＡ１に対応するバイトデータを入出力バスＩ／Ｏｂｕｓに転送することができる。
【０１５６】
その結果，図２３に示されるとおり，入出力バスＩ／Ｏｂｕｓを経由して，入出力端子ＤＱには，４バイトのデータＱ０４，Ｑ０１，Ｑ０２，Ｑ０３がそれぞれ転送される。このように，第２アンプ２２５，データラッチ回路２２６，２２７，データバススイッチ２２８で，入出力ユニット９３が構成される。
【０１５７】
図２４は，バイトバウンダリ機能を有する画像メモリの第２の例を示す図である。また，図２５は，図２４の動作を説明する図である。
【０１５８】
図２４において，図２２と異なる構成は，メモリバンク９２内の各バイト領域Ｂｙｔｅ０−３において，メモリセルアレイが２つのアレイ２２４−０，２２４−１に分割され，それぞれに第２アンプ２２５，データラッチ回路２２６，２２７が設けられている。１対のメモリセルアレイ２２４−０，２２４−１は，コラムアドレスＣＡが偶数（ＣＡ［０］＝０）と，奇数（ＣＡ［０］＝１）とに対応している。そして，コラムデコーダ２２２は，与えられたコラムアドレスＣＡ０から，ＣＡ０とＣＡ１のデコード信号を時分割で出力するのではなく，それら２つのデコード信号２２２Ｄ０，２２２Ｄ１を同時に分割された１対のメモリセルアレイ２２４−０，２２４−１に出力する。それに応答して，１対のメモリセルアレイは，それぞれ１バイトデータをデータラッチ回路２２６，２２７に出力する。これにより，各バイト領域は供給されたコラムアドレスＣＡと＋１インクリメントしたコラムアドレスの２バイトのデータを同時にキャッシュすることになる。そして，データラッチセレクタ２２１が，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて，データバススイッチ２２８の切り替えを制御し，必要な１バイトデータを入出力バスに転送する。４つのバイト領域がそれぞれ１バイトずつのデータを出力し，合計で４バイトのデータが入出力端子ＤＱから出力される。
【０１５９】
ライトコマンドの場合は，入出力端子ＤＱに供給された４バイトのデータが，コラムアドレスＣＡとスタートバイト信号ＳＢとに応じて切替制御されたデータバススイッチ２２８を介して，２つのデータラッチ回路２２６，２２７に格納され，２つのメモリセルアレイ２２４−０，２２４−１に書き込まれる。
【０１６０】
図２５には，スタートバイト信号ＳＢ＝１，バースト長ＢＬ＝４の場合の動作が示されている。リードコマンドＲＤと同時にコラムアドレスＣＡ０とスタートバイト信号ＳＢ＝１が供給され，バースト長ＢＬ＝４がモードレジスタにセットされているとすると，コラムデコーダ２２２が，コラムアドレスＣＡ０とそれを＋１インクリメントしたＣＡ１に対応するデコード信号２２２Ｄ０，１を同時に，各バイト領域Ｂｙｔｅ０−３に供給する。それに応答して，各バイト領域の１対のメモリセルアレイ２２４−０，２２４−１が，第２アンプ２２５を介して，それぞれ１バイトのデータをデータラッチ回路２２６，２２７に出力する。これにより，各バイト領域から２バイトのデータがキャッシュされる。そして，データラッチセレクタ２２１が，コラムデータＣＡとスタートバイト信号ＳＢに基づいて，各バイト領域においていずれのデータラッチ回路のデータを選択するかの制御信号Ｓ２２１（４つのバイト領域に１ビットずつ合計４ビット）をデータバススイッチ２２８に供給し，データバススイッチ内のスイッチ動作を制御する。その結果，最初のサイクルでは，４バイトのデータＱ０４，Ｑ０１−０３が入出力バスＩ／Ｏｂｕｓに転送される。
【０１６１】
図２５では，バースト長ＢＬ＝４であるため，コラムタイミングコントローラ２２０の制御にしたがって，コラムデコーダ２２２は，コラムアドレスＣＡ２，ＣＡ３に対応するデコード信号２２２Ｄ０，２２２Ｄ１を発行し，更に８バイトのデータをデータラッチ回路２２，２２７にキャッシュする。データラッチ回路２２６，２２７は，ＣＡ０，ＣＡ１の８バイトデータも保持する必要があるので，各データラッチ回路はそれぞれ２バイトのデータを保持できる構成になっている。その結果，新たに８バイトデータＱ０８−Ｑ１５がデータラッチ回路にラッチされる。そして，前クロックサイクルで保持していた８バイトデータＱ００−Ｑ１５と現クロックサイクルで保持した８バイトデータＱ０８−Ａ１５から，４バイトデータＱ０５−Ｑ０８がデータバススイッチ２２８により入出力バスに転送される。よって，この場合のデータラッチセレクタ２２１のセレクト信号Ｓ２２１は，８ビット（各バイト領域に２ビット）で構成される。
【０１６２】
そして，次のクロックサイクルで，コラムデコーダ２２２は，コラムアドレスＣＡ４，ＣＡ５に対応するデコード信号２２２Ｄ０，２２２Ｄ１を発行し，更に８バイトのデータＱ１６−Ｑ２３をデータラッチ回路にキャッシュする。そして，データバススイッチ２２８は，４バイトのデータＱ０９−Ｑ１２を転送する。そして，更に次のクロックサイクルでは，データバススイッチ２２８が４バイトデータＱ１３−Ｑ１６を入出力バスに転送する。この時は，メモリセルアレイから新たに８バイトデータをキャッシュする必要はない。
【０１６３】
ライト動作も，前述と同様であり，バースト長ＢＬ＝４の場合は，４サイクルで４バイトデータが入出力端子ＤＱに供給され，データバススイッチ２２８を介してデータラッチ回路２２６，２２７に格納される。そして，コラムデコーダ２２２からのコラムアドレスＣＡ０，１，ＣＡ２，３，ＣＡ４，５のデコード信号に応答して，合計で１６バイトデータが３サイクルでメモリセルアレイ内に書き込まれる。
【０１６４】
図２６は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（１）の動作を示す図である。図２５の例では，各バイト領域Ｂｙｔｅ０−３が２バイトのデータを１対のデータラッチ回路２２６，２２７に同時にキャッシュしていた。それに対して，図２６の変型例では，リードコマンドＲＤ後の最初のコラム制御では，コラムデコーダ２２２がコラムアドレスＣＡ０，ＣＡ１の内部デコード信号２２２Ｄ０，２２２Ｄ１を同時に発行して，各バイト領域で２バイトのデータを１対のデータラッチ回路に同時にキャッシュする。そして，その後のキャッシュ動作では，コラムデコーダ２２２が，偶数側（ＣＡ２，ＣＡ４）の内部デコード信号２２２Ｄ０と奇数側（ＣＡ３）の内部デコード信号２２２Ｄ１とを，交互に発行し，各バイト領域は１バイトデータを１対のデータラッチ回路２２６，２２７に交互にキャッシュする。
【０１６５】
つまり，最初は８バイトデータＱ００−Ｑ０７をキャッシュし，次からは４バイトデータＱ０８−Ｑ１１，Ｑ１２−Ｑ１５，Ｑ１６−Ｑ１９をデータラッチ回路にキャッシュする。そして，データバススイッチ２２８が，転送すべき４バイトデータＤＱ１−ＤＱ４，Ｑ０５−Ｑ０８，Ｑ０９−Ｑ１２，Ｑ１３−Ｑ１６を入出力バスに順番に転送する。この場合も，データラッチセレクタ２２１のセレクト信号Ｓ２２１は，８ビット（各バイト領域に２ビット）で構成される。以上のように，リード動作において，コラムアドレスのデコード信号によるメモリセルアレイからのデータのデータラッチ回路へのキャッシュ動作は４サイクルで行われ，データラッチ回路から入出力バスへのデータ転送動作も４サイクルで行われる。
【０１６６】
書き込み動作の場合も，４サイクルで４バイトデータが入出力端子ＤＱに供給され，４サイクルでデータバススイッチ２２８を介してデータラッチ回路２２６，２２７に格納される。そして，コラムデコーダ２２２からのコラムアドレスＣＡ０／１，ＣＡ２，ＣＡ３，ＣＡ４のデコード信号に応答して，合計で１６バイトデータが４サイクルでメモリセルアレイ内に書き込まれる。
【０１６７】
図２７は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（２）の動作を示す図である。この例は，ＤＤＲ（Double Data Rate）に適用される例である。ＤＤＲのＳＤＲＡＭは，クロックＣＬＫの立ち上がりエッジと立ち下がりエッジの両方でＤＱ端子からデータの入出力を行う。つまり，立ち上がりエッジで４バイトデータＱ０５−Ｑ０８，立ち下がりエッジで４バイトデータＱ０９−Ｑ１２がそれぞれ入出力される。
【０１６８】
このように入出力レートが２倍になるので，メモリ内部のキャッシュするデータ量も２倍にする必要がある。図２７の例では，リードコマンドＲＤの後の最初のキャッシュサイクルで１６バイトのデータＱ００−Ｑ０３，Ｑ０４−Ｑ０７，Ｑ０８−Ｑ１１，Ｑ１２−Ｑ１５が同時にデータラッチ回路にキャッシュされ，１６バイトデータから４バイトデータＱ０５−Ｑ０８がクロックの立ち上がりエッジでＩ／Ｏバスに転送され，次の４バイトデータＱ０９−Ｑ１２がクロックの立ち下がりエッジでＩ／Ｏバスに転送される。
【０１６９】
図２７のような１６バイトデータの一括キャッシュを可能にするために，メモリは，図２４におけるバイト領域Ｂｙｔｅ０−３内で，４つのメモリセルアレイに分割され，それぞれに第２アンプ，データラッチ回路が設けられる。そして，各バイト領域で，コラムデコーダ２２２は，先頭コラムアドレスＣＡ１に対応してコラムアドレスＣＡ０−３の内部デコード信号を，４つのメモリセルアレイに供給し，４バイトデータが４つのデータラッチ回路にキャッシュされる。そして，４つのデータラッチ回路からデータラッチセレクト信号Ｓ２２１によりデータバススイッチ２２８により選択されたデータラッチ回路の１バイトデータが入出力バスに転送される。図中，コアバスＣｏｒｅｂｕｓは，メモリセルアレイの入出力バスに対応し，それらのデータはデータラッチ回路にキャッシュされる。
【０１７０】
なお，図２７の例では，入力コラムアドレスＣＡのＬＳＢ（ＣＡ［０］）を無視する構成になっていて，入力コラムアドレスＣＡ０，ＣＡ１のいずれの場合も，常にコラムアドレスＣＡ０−３に対応するデータがアクセスされる。つまり，入力コラムアドレスが奇数，偶数に関わりなく，ペアリングされるコラムアドレスは固定的になっている。
【０１７１】
さらに，次のクロックサイクルでは，コラムデコーダ２２２がコラムアドレスＣＡ４−７の内部デコード信号を４つのメモリセルアレイに発行し，さらに４バイトデータを４つのデータラッチ回路にキャッシュする。これにより，１６バイトデータＱ１６−Ｑ３１がデータラッチ回路にラッチされ，そのなかから選択された，４バイトデータＱ１３−Ｑ１６と，４バイトデータＱ１７−Ｑ２０とが，クロックの立ち上がりエッジと立ち下がりエッジでそれぞれ出力される。
【０１７２】
ライト動作では，上記と逆方向に書き込みデータが入出力端子ＤＱからデータラッチ回路を介してメモリセルアレイ内に書き込まれる。
【０１７３】
図２７の場合も，データラッチセレクト信号Ｓ２２１は，各バイト領域に２ビット，合計で８ビットの制御信号である。そのようなデータラッチセレクト信号は，コラム制御部９０内のデータラッチセレクタ２２０がコラムアドレスＣＡとスタートバイト信号ＳＢに応じて生成する。
【０１７４】
図２８は，バイトバウンダリ機能を有する画像メモリの第２の例の変形例（３）の動作を示す図である。これも図２７と同様にＤＤＲに対応する動作例であり，図２７と異なる点は，入力コラムアドレスＣＡが奇数か偶数かに応じて，同時にコラムアクセスされるアドレスの組み合わせが異なる。つまり，入力コラムアドレスＣＡとそれに＋１，＋２，＋３したＣＡに対応するデータが同時にアクセスされる。つまり，入力コラムアドレスＣＡ１の場合は，ＣＡ１，ＣＡ２，ＣＡ３，ＣＡ４のデータがアクセスされる。つまり，コラムデコーダは，入力コラムアドレスＣＡのＬＳＢ（ＣＡ［０］）を監視して，同時アクセスすべきコラムアドレスを決定する。
【０１７５】
図２８に示されるとおり，入力コラムアドレスＣＡ１に対して，コラムデコーダは，ＣＡ１−ＣＡ４の内部デコード信号２２２Ｄ０−３を生成し，各バイト領域で４バイトデータ，合計で１６バイトデータがデータラッチ回路にキャッシュされる。そして，次のクロックサイクルではＣＡ５−ＣＡ８の内部デコード信号２２２Ｄ０−３を生成し，更に１６バイトデータがキャッシュされる。よって，キャッシュされる１６バイトデータが，図２７と４バイトだけずれている。
【０１７６】
よって，図２８のリード動作及びライト動作も図２７と同様のメモリ構成で実現できる。
【０１７７】
図２９は，バイトバウンダリ機能を有する画像メモリの第３の例を示す図である。また，図３０は，図２９の動作を説明する図である。第３の例では，バイトバウンダリ機能により入出力される４バイトデータＱ０１−Ｑ０４を，各バイト領域Ｂｙｔｅ０−３への１回のコラムアクセスによりアクセスし，入出力バスに転送する。つまり，前述の第１，第２の例のように隣接するコラムアドレスのメモリ単位領域に対する４バイトデータのアクセスのために，それより多い８バイトデータまたは１６バイトデータを隣接コラムアドレスの複数メモリ単位領域からキャッシュをすることはしない。
【０１７８】
図２９に示されるとおり，コラム制御部９０は，コラムアドレスコントローラ２９０を有し，メモリバンク９２内の各バイト領域Ｂｙｔｅ０−３内のコラムシフタ回路２９１に，コラムアドレスＣＡを＋１シフトすべきか否かのシフト制御信号Ｓ２９０を供給する。各バイト領域は，コラムシフタ２９１と，その出力をデコードするコラムデコーダ２２２と，内部デコード信号２２２Ｄにより１バイトデータを入出力するメモリセルアレイ２２４と，第２アンプと，データラッチ回路２２６と，データバススイッチ回路２２８とを有する。各バイト領域内のコラムシフタ２９１は，シフト制御信号Ｓ２９０に応答して，コラムアドレスＣＡを＋１シフトする又はシフトしないでコラムアドレスをコラムデコーダ２２２に出力する。データラッチ回路２２６は，１バイトデータのみ保持できればよい。したがって，データバススイッチ回路２２８は，データラッチ回路２２６内の１バイトデータを常に選択して，入出力バスＩ／Ｏｂｕｓに転送するだけである。
【０１７９】
図３０の動作を示す図によれば，コラムアドレスコントローラ２９０が，入力コラムアドレスＣＡ０とスタートバイト信号ＳＢとに応じて，バイト領域Ｂｙｔｅ０のコラムシフタ２９１にコラムアドレスＣＡ０を＋１シフトしてＣＡ１を生成させるよう制御し，他のバイト領域Ｂｙｔｅ１−３のコラムシフタには＋１シフトさせないよう制御する。その結果，バイト領域Ｂｙｔｅ０では，コラムアドレスＣＡ１に対応する内部デコード信号２２２Ｄに基づいて１バイトデータＱ０４がアクセスされ，データラッチ回路２２６にラッチされる。また，他のバイト領域Ｂｙｔｅ１−３では，コラムアドレスＣＡ０に対応する内部デコード信号２２２Ｄにもとづいて各１バイトデータＱ０１，Ｑ０２，Ｑ０３がアクセスされ，データラッチ回路２２６にラッチされる。
【０１８０】
上記のとおり，図２９，図３０の第３の例では，メモリ内部でコラムアドレスをアクセス対象の４バイトデータに対応させて発生しているので，その分コラムデコーダ側が複雑な構成になるが，４バイトより多いバイトデータのキャッシュ動作をなくすことができるので，入出力ユニット９３での構成がシンプル化され，且つメモリバンク内の消費電力を削減することができる。
【０１８１】
リード動作では，各バイト領域でコラムデコーダ２２２からのコラムアドレスに対応する１バイトデータをデータラッチ回路２２６に出力し，データバススイッチ２２８を介して入出力端子ＤＱに転送する。ライト動作では，入出力端子ＤＱに入力された４バイトデータが，各バイト領域でデータバススイッチ２２８を介してデータラッチ回路２２６にラッチされる。そして，各バイト領域でコラムデコーダ２２２からのコラムアドレスに対応するメモリにラッチされたデータが書き込まれる。
【０１８２】
上記の図２２〜図３１に示したバンク内の４つのバイト領域は，コラムアドレスで選択されるメモリ単位領域が４ビットで構成される場合は，４つのビット領域になり，各ビット領域からは１ビット単位のデータが複数組または単数組でアクセスされる。
【０１８３】
［入出力端子との対応制御］
次に，画像メモリ内における入出力端子DQとメモリセルアレイ内のバスまたはデータラッチ回路との対応制御例について説明する。
【０１８４】
図３１は，バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。図３２は，図３１の動作を示す図である。この入出力端子との対応手段では，図３２に示されるとおり，メモリ空間内のコラムアドレスＣＡに対応する４バイトデータは，常に同じ入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられ，動的に対応関係を入れ替えることは行わない。つまり，入出力端子ＤＱとメモリ内のバス（メモリセルアレイ２２４の入出力バス）との対応関係（割付関係）は，スタートバイト信号ＳＢの影響を受けず常に固定的である。よって，ライト時とリード時でスタートバイト信号ＳＢが異なっていても，ライト時に入力される入出力端子ＤＱとリード時に出力される入出力端子ＤＱとは同じ端子である。
【０１８５】
図３１には，コラムアドレスＣＡで選択される４バイト領域の境界をまたぐ４バイトアクセスする場合のDQ端子との接続方法が示されている。この図ではコラムアドレスCA0内の４バイト領域のByte1（Ｑ０１）からのリード動作（ＳＢ＝１）を想定している。
【０１８６】
入出力端子DQの入れ替えを行わない場合、Byte1のデータとして記憶したデータはスタートバイト信号ＳＢに依存せずに必ずByte1に対応するDQ端子に出力される。そのため、メモリセルアレイ２２４と入出力バッファ９４I/Oの接続は常に固定的に割り付けられる。従って、スタートバイト信号ＳＢの指定は，単にメモリセルアレイ２２４のどのコラムアドレスCAのバスを入出力バッファ９４I/Oに接続すべきかの判別に利用される。
【０１８７】
図３１の例は，図２２の第１の例，図２４の第２の例に対応する構成例であり，各バイト領域Ｂｙｔｅ０−３が１対の領域（奇数コラムアドレス，ＣＡ［０］＝０と，偶数コラムアドレス，ＣＡ［０］＝１）に分割されている。つまり，図２４と同様に，コラムアドレスCAが奇数と偶数の２つのメモリセル領域が存在し、その中がさらに４つのByte領域に分割されている。バイト領域Byte0 Area〜Byte3 Areaは，コラムデコーダからデータラッチ回路までを含むものとする。リード動作の場合、1回のアクセスに必要なデータの２倍のデータがByte Areaから出力され，データバススイッチ２２８のスイッチ群（図中８個の四角）でその半分の４バイトデータが入出力バッファ９４I/Oに接続される。
【０１８８】
このように入出力端子DQの入れ替えを行わない場合，メモリセルのByte1 Areaから出力されたデータQ01は入出力バッファ９４I/OのByte1に相当する入出力端子DQ[15:8]に必ず接続される。従って，バイトスタート信号SBを用いたデータバススイッチ２２８の制御は，２つのコラムアドレスCAに対応する領域のいずれのデータラッチ回路を入出力バッファ９４I/Oと接続するかの制御である。
【０１８９】
図２４における４つのバイト領域Ｂｙｔｅ０−３内のデータバススイッチ２２８が，図３１のデータバススイッチ２２８にまとめて示されている。よって，各バイト領域のデータバススイッチ２２８は，図３１内の同じ入出力端子ＤＱに対応する１対のスイッチで構成される。
【０１９０】
図３３は，バイトバウンダリ機能を有する画像メモリの入出力端子との対応手段を示す図である。図３４は，図３３の動作を示す図である。この入出力端子との対応手段では，図３４に示されるとおり，メモリ空間内のコラムアドレスＣＡに対応する４バイトデータは，スタートバイト信号ＳＢに応じて先頭バイトから順番に入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられ，メモリセルアレイ２２４と入出力端子群ＤＱとの間で動的に対応関係が入れ替えられる。つまり，入出力端子群ＤＱとメモリ内のバスと対応関係（割付関係）はスタートバイト信号ＳＢの影響を受けて動的に変化する。よって，ライト時とリード時でスタートバイト信号ＳＢが異なっていると，ライト時に入力される入出力端子群ＤＱとリード時に出力される入出力端子群ＤＱとは異なる端子になる。
【０１９１】
図３４から明らかなとおり，スタートバイト信号ＳＢ＝１の場合は，メモリ内のデータＱ０１−Ｑ０４が入出力端子群ＤＱ［７：０］〜ＤＱ［３１：２４］に対応付けられる。つまり，スタートバイト信号ＳＢに応じてメモリセルアレイ内のバス又はデータラッチ回路と入出力端子群との対応を，先頭のバイトデータは入出力端子ＤＱ［７：０］に，残りの３バイトデータは残りの入出力端子ＤＱに順次対応するようにする。そのために，図３３のデータバススイッチ２２８には，入出力バス群Ｉ／Ｏｂｕｓとメモリセルアレイ２２４のバスまたはデータラッチ回路との全ての交差位置にスイッチが設けられる。そして，これらのスイッチ群をデータラッチセレクタ２２１からのデータラッチセレクト信号Ｓ２２１によりオン・オフ制御することで，上記のような動的な対応付けを実現することができる。
【０１９２】
このように，スタートバイト信号ＳＢに応じて，メモリセルアレイ内のバスまたはデータラッチ回路に対して入出力端子DQの入れ替えを行う。具体的には，メモリセルアレイ内のバイト領域Byte1から出力されたバイトデータQ01は，SB="1"の場合には入出力バッファ９４I/OのByte0に相当するDQ[7:0]に接続され，SB="0"の場合はDQ[15:8]に接続される。バイト領域Byte1のバイトデータQ05は，SB="3"の場合はDQ[23:16]に接続され，SB="2"の場合はDQ[31:24]に接続される。つまり，図３３中の閉じた状態の４つのスイッチの位置が，スタートバイト信号SBに応じて右方向にずれることになる。
【０１９３】
次に，入出力端子との対応制御において，ビッグエンディアンとリトルエンディアンへの対応制御について説明する。
【０１９４】
図３５は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（１）である。この例は，図１９，図２０で説明した画像メモリと同様に，メモリコア３５０内の構成はビッグエンディアン（アップモード）にのみ対応している。つまり，バイトバウンダリ動作において，スタートバイト信号ＳＢに対応するバイト位置から４バイトデータをアップモードでアクセスする機能のみである。その場合であっても，データバススイッチ２２８のスイッチ群を制御することで，ビッグエンディアン対応の画像システムとも，リトルエンディアン対応の画像システムとも正しいデータの入出力を実現することができる。
【０１９５】
図中，モードレジスタ９６には，アップモードかダウンモードかを示すバイト組み合わせ情報の第２の情報ＢＭＲが与えられ，いずれかのモードに設定される。ただし，図２９などのコラムデコーダ，メモリセルアレイ，第２アンプを含むメモリコア３５０は，アップモード制御にしか対応していない。つまり，コラム制御回路にはアップモードコントローラ３５１のみを有し，ダウンモードコントローラは有していない。
【０１９６】
図３５（Ａ）は，アップモードの場合のデータバススイッチ２２８を示している。つまり，ビッグエンディアンであるアップモードの場合は，メモリコア３５０はアップモードコントローラ３５１によりアップモードに制御される。よって，データバススイッチ２２８は，データラッチ回路２２６の４バイトのデータＢｙｔｅ０−３をそのまま入出力バッファ９４Ｉ／Ｏに接続する。つまり，メモリコア３５０のコアデータバスcdb00z〜cdb31zが，I/Oデータバスpdb00z〜pdb31zにストレートに接続される。
【０１９７】
一方，図３５（Ｂ）は，ダウンモードに設定された場合のデータバススイッチ２２８を示している。つまり，リトルエンディアンであるダウンモードの場合，メモリコア３５０はアップモードコントローラ３５１によりアップモードに制御されるが，データバススイッチ２２８は，データラッチ回路２２６の４バイトデータＢｙｔｅ０，１，２，３を，たすきがけして入出力バッファ９４Ｉ／Ｏの４バイトＢｙｔｅ３，２，１，０に対応付ける。この場合は，バイト単位でコアバスcdbxxzとI/Oバスpdbxxzとが切り替えられる。
【０１９８】
図３５（Ｂ）のデータバススイッチ２２８は，図１９，２０に示した入出力端子群の入れ替え手段１９０と同じものを，画像メモリ８６内に設けた例である。このように，メモリコアの構成はビッグエンディアンとリトルエンディアンのいずれかに対応可能な構成にし，上記のようなデータバススイッチ２２８を設けて，そのスイッチをダウンモードまたはアップモードに応じて切り替えることで，両方のエンディアンに対応することが可能になる。
【０１９９】
図３６は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（２）である。この画像メモリは，図３５と同様に，アップモード制御にのみ対応可能なメモリコア構成を有し，データバススイッチ２２８をモードレジスタ９６に設定された第２の情報ＢＭＲ＝ＵＰ／ＤＯＷＮに応じて切り替えることで，いずれのモードにも対応可能にしている。そして，図３５と異なるところは，データバススイッチ２２８によるデータの入れ替えは，ＭＳＢ（ＤＱ３１）とＬＳＢ（ＤＱ００）とが入れ替えられるよう行われる。つまり，４バイトの入れ替えに加えて，各バイトの８ビットのデータも入れ替えられる。
【０２００】
図３７は，バイトバウンダリ機能を有する画像メモリであってエンディアンに対応可能な画像メモリの構成図（３）である。この画像メモリは，図２９の画像メモリに対応し，メモリコア３５０内の４つのバイト領域にのコラムアドレスの組み合わせを，動作モードに対応して変更制御し，スタートバイト信号ＳＢに対応したバイトからアップ方向またはダウン方向の４バイトデータを４つのメモリアレイから入出力する。
【０２０１】
例えば，図３０に示したようにコラムアドレスＣＡ０，スタートバイト信号ＳＢ＝１の場合は，４つのバイト領域Ｂｙｔｅ０−３の内部コラムアドレスは，アップモードであればＣＡ１，ＣＡ０，ＣＡ０，ＣＡ０となり，データＱ０４，Ｑ０１，Ｑ０２，Ｑ０３が４バイトの入出力端子ＤＱから入出力される。一方，ダウンモードであればＣＡ０，ＣＡ０，ＣＡ１，ＣＡ１となり，データＱ００，Ｑ０１，Ｑ０６，Ｑ０７が４バイトの入出力端子ＤＱから入出力される。
【０２０２】
このように，コラムシフタ２９１により，アップモードとダウンモードとで，メモリコア内の４つのバイト領域Ｂｙｔｅ０−３に与えるコラムデータを切り替える。そして，スタートバイト信号ＳＢとモード信号ＢＭＲとにより一意に決まるコラムアドレスの組み合わせが，コラムシフタ２９１を介して，メモリコア３５０内の各バイト領域に供給される。このコラムシフタ２９１は，コラムアドレス制御部９０Ａからの４つのコラムアドレスcaby0z-caby3zのうち切り替えが必要な２つのうちいずれかを，アップモード・ダウンモードUp/Downに応じて選択する。つまり，バイト領域Byte0では，caby0z,caby3zのいずれかが選択され，バイト領域Byte1では，caby1z,caby2zのいずれかが選択され，バイト領域Byte2では，caby1z,caby2zのいずれかが選択され，そして，バイト領域Byte3では，caby0z,caby3zのいずれかが選択される。
【０２０３】
シングルデータレート（ＳＤＲ）の場合は，１回のアクセスで４バイトデータを入出力できれば良いので，図２９で説明したとおり，各バイト領域に対応するデータラッチ回路に保持された１バイトデータをそのまま入出力バスに転送すればよい。
【０２０４】
一方，ダブルデータレート（ＤＤＲ）の場合は，１回のアクセスで８バイトデータを４バイトずつ入出力する必要がある。よって，図２９の構成において，各バイト領域Ｂｙｔｅ０−３内に偶数コラムアドレス（ＣＡ［０］＝０）のブロックと奇数コラムアドレス（ＣＡ［０］＝１）のブロックとを有し，それら１対のブロックにスタートバイト信号ＳＢとモード信号ＢＭＲとにより一意に決まる組み合わせのコラムデータをコラムシフタ２９１から供給し，データバススイッチ２２８により必要な４バイトデータを選択して入出力バスI/Obusに転送する。その場合は，データバススイッチ２２８内の各スイッチは，データラッチセレクタ２２１からの制御信号dabyaz-dabydzに応じて，偶数ブロックか奇数ブロックのデータを選択して入出力バスI/Obusに転送する。そのため，データラッチセレクタ２２１には，コラムアドレス制御部９０Ｂからデータバス用のコラムアドレスdaby0z-daby3zが供給され，データラッチセレクタ２２１が，アップモード・ダウンモードUp/Downに応じて，４つのバイト領域の中から切り替えが必要な２つのうちのいずれかを選択する。この切り替え候補の組み合わせは，前述のコラムシフタ２９１と同じである。
【０２０５】
図３７のように，コラムアドレスの組み合わせを制御することで，データバススイッチ２２８のスイッチ群のスイッチ数を減らすことができる。すなわち，図３５，３６に示したデータバススイッチでは，入出力端子DQ数がNバイトの場合，2N*8個のスイッチが必要となる。しかし，図３７のようにコラムアドレスの組み合わせを制御することで，コラムシフタ２９１とデータバススイッチ２２８にそれぞれ２N個のスイッチが必要となり，合計で４N個のスイッチが必要になる。よって，図３５，３６よりもスイッチ数を１／４に減らすことができる。
【０２０６】
図３８，図３７のＤＤＲメモリにおけるアップモードの動作タイミングチャート図である。この例は，コラムアドレスＣＡ１とスタートバイト信号ＳＢ＝１の例であり，ビッグエンディアンでメモリ８６に記憶したデータＤＱ０５―ＤＱ０８を読み出す例である。つまり，メモリ８６内のコラムアドレスに対するデータQ00-Q19と入出力端子DQとの関係は図示される通りである。
【０２０７】
前述したとおり，ＤＤＲメモリの場合は，メモリセルアレイ内の各バイト領域が偶数コラムアドレスのブロック（ＣＡ［０］＝０）と奇数コラムアドレスのブロック（ＣＡ［０］＝１）とを有し，それらのブロックに制御された組み合わせのコラムアドレスcabyが供給され，データバススイッチ２２８に制御された組み合わせのデータバス切り替え用のコラムアドレスdabyが供給される。
【０２０８】
すなわち，基点となるコラムアドレスCAとしてCA1を入力する。それに伴って，各バイト領域Ｂｙｔｅ０−３内の偶数ブロック（CA[0]="0"）と奇数ブロック（CA[0]="1"）とに供給されるコラムアドレスCAが制御され，偶数ブロック（CA[0]="0"）の領域はコラムアドレスCA2のコラム線が活性化され，奇数ブロック（CA[0]="1"）の領域は，バイト領域Byte 0ではコラムアドレスCA3のコラム線が活性化され，バイト領域Byte1,2,3ではコラムアドレスCA1のコラム線が活性化される。
【０２０９】
この結果、メモリコアのコアバスにはデータQ05〜Q12が出力される。つまり，偶数ブロックのコアバスにはデータQ08-Q11が出力され，奇数ブロックのコアバスにはデータQ5-Q7,Q12が出力される。
【０２１０】
DDRメモリでは，この8バイトのデータから入出力バスI/Obusに4バイトデータを転送する必要がある。そこで，データバススイッチが，スタートバイト信号SBとコラムアドレスCAに基づいて，バイト領域Byte0のみ偶数ブロック（CA[0]="0"）のデータを選択し，その結果，データQ05〜Q08を入出力端子DQに出力することができる。
【０２１１】
ここで、偶数，奇数（CA[0]="0"/"1"）の各領域で，内部コラムアドレスcabyazはcaby0zを選択し、内部コラムアドレスcabybzはcaby1zを,cabyczはcaby2zを,cabydzはcaby3zをそれぞれ選択している。同様に，偶数，奇数（CA[0]="0"/"1"）の各領域でデータバス用のコラムアドレスdabyazはdaby0zを選択し，同様に，dabybzはdaby1zを,dabyczはdaby2zを,dabydzはdaby3zをそれぞれ選択している。
【０２１２】
図３９は，図３７のＤＤＲメモリにおけるダウンモードの動作タイミングチャート図である。この例は，コラムアドレスＣＡ１とスタートバイト信号ＳＢ＝２の例であり，リトルエンディアンでメモリ８６に記憶したデータＤＱ０５―ＤＱ０８を読み出す例である。つまり，メモリ８６内のコラムアドレスに対するデータQ00-Q19と入出力端子DQとの関係は図示される通りである。図３８とは，４バイトのデータと入出力端子DQとの関係が逆方向になっている。
【０２１３】
この場合は，基点となるコラムアドレスCAとしてCA1を入力する。それに伴って，各バイト領域Ｂｙｔｅ０−３内の偶数ブロック（CA[0]="0"）と奇数ブロック（CA[0]="1"）とに供給されるコラムアドレスCAが制御され、偶数ブロック（CA[0]="0"）にはコラムアドレスCA2のコラム線が活性化され，奇数ブロック（CA[0]="1"）では，バイト領域Byte 3はコラムアドレスCA3のコラム線が活性化され，バイト領域Byte2,1,0の各領域はコラムアドレスCA1のコラム線が活性化される。
【０２１４】
この結果、メモリコアのコアバスにはデータQ05〜Q12が出力される。つまり，偶数ブロックのコアバスにはデータQ08-Q11が出力され，奇数ブロックのコアバスにはデータQ5-Q7,Q12が出力される。
【０２１５】
DDRメモリでは，この8バイトのデータから入出力バスI/Obusに4バイトデータを転送する必要がある。そこで，データバススイッチが，スタートバイト信号SBとコラムアドレスCAとに基づいて，バイト領域Byte3のみ偶数ブロック（CA[0]="0"）のデータＱ０８を選択し，残りは奇数ブロックからデータＱ０５−０７を選択し，４バイトデータQ05〜Q08を入出力端子DQに出力することができる。
【０２１６】
ここで、偶数，奇数（CA[0]="0"/"1"）の各領域で，内部コラムアドレスcabyazはcaby3zを選択し、内部コラムアドレスcabybzはcaby2zを,cabyczはcaby1zを,cabydzはcaby0zをそれぞれ選択している。同様に，偶数，奇数（CA[0]="0"/"1"）の各領域でデータバス用のコラムアドレスdabyazはdaby3zを選択し，同様に，dabybzはdaby2zを,dabyczはdaby1zを,dabydzはdaby0zをそれぞれ選択している。
【０２１７】
以上のとおり、図３８のアップモードと比較すると，cabyz,dabyz をバイト領域Byte0とByte3で入れ替え、さらにバイト領域Byte1とByte2で入れ替えることで，ビッグエンディアンとリトルエンディアンの2種類のバイトデータの並びに対応することができる。
【０２１８】
図４０は，バイトバウンダリ機能におけるバウンダリの指定方法について説明する図である。図中，コラムアドレスＣＡ［７：０］が＃ｎと＃ｎ＋１の隣接する４バイト領域の境界を越えてアクセスが行われるバイトバウンダリ機能では，バウンダリの指定方法がスタートバイトＳＢによる場合と，シフトバリューＳＶによる場合とが考えられる。スタートバイトＳＢは，バイトＮから４バイトアクセスすることを意味し，シフトバリューＳＶが，コラムアドレスの４バイト領域の境界からＮバイトシフトした位置から４バイトアクセスすることを意味する。
【０２１９】
その場合，エンディアンの２つのモードに対応して，アップモードとダウンモードとでは，スタートバイトＳＢとシフトバリューＳＶとの対応関係が異なってくる。つまり，アップモードなら，バイトデータの並びがＢｙｔｅ０−３となっているので，ＳＢとＳＶは等価である。しかし，ダウンモードでは，バイトデータの並びがＢｙｔｅ３−０となっているので，ＳＢとＳＶとは等価にならず，逆の関係になる。
【０２２０】
したがって，画像メモリがスタートバイト信号ＳＢの端子のみを有し，内部構造がシフトバリューＳＶに応じて制御される場合は，アップモードかダウンモードかに応じて，スタートバイト信号ＳＢを非反転または反転して，シフトバリューＳＶに変換する必要がある。画像メモリがシフトバリューＳＶ端子のみを有し，内部構造がスタートバイトＳＢに応じて制御される場合も同様である。
【０２２１】
図４１は，スタートバイトＳＢとシフトバリューＳＶとの変換回路を示す図である。変換回路４１０は，２ビット構成４１０［０］，４１０［１］であり，ＣＭＯＳトランスファゲート４１２，４１３とインバータ４１４，４１５で構成され，入力スタートバイトＳＢが，アップモードかダウンモードかを示すカウントタイプ信号に応じて，非反転または反転してシフトバリューＳＶに変換される。変換回路４１０の真理値表４１１に示されるとおり，アップモードではＳＢは非反転されてＳＶになるが，ダウンモードではＳＢは反転されてＳＶになる。
【０２２２】
［矩形アクセスでのコラムアドレス制御］
図１に示したように，画像メモリのメモリ空間を画像の画素に対応付けるメモリマッピング１２，１４Ｅでは，バンクアドレスＢＡとロウアドレスＲＡで選択されるページ領域１４内において，画像のマトリクス状の画素の配置に対応して，コラムアドレスＣＡで選択されるメモリ単位領域（４バイト領域）を所定の折り返し幅（CA Wrap）で折り返すようにマッピングされる。図１の例では，ページ領域１４内はコラムアドレスＣＡが４単位で折り返されている。つまりコラムアドレスの折り返し幅CA Wrapは４である。このコラムアドレスの折り返し幅は，コラムアドレスのステップとも称される。
【０２２３】
このようなコラムアドレスで選択されるメモリ単位領域を所定の折り返し幅で折り返してマッピングすることで，画像メモリで頻繁に行われる矩形アクセスのアクセス効率を高めることができる。つまり，アクティブコマンドによりページ領域をアクティブ動作させた状態で，アクセス対象の矩形領域に対応してリードコマンドとコラムアドレスを繰り返し発行することで，同じページ領域内の矩形領域へのアクセスを行うことができる。１回のアクティブ動作で同じページ領域内の矩形領域にアクセスできるので，効率的なアクセスが可能になる。
【０２２４】
図１６で示されるとおり，このような矩形アクセスでは，リードコマンドＲＤとバンクアドレスＢＡとコラムアドレスＣＡとスタートバイト信号ＳＢとを繰り返し発行することが必要である。しかしながら，メモリのマッピング情報，特にページ領域のコラムアドレスＣＡの折り返し幅（CA Wrap）があらかじめわかっていれば，矩形領域の先頭コラムアドレスＣＡと，矩形幅と，矩形サイズとを与えれば，画像メモリは内部で自動的にアクセスすべきコラムアドレスを発行して矩形領域の画像データにアクセスすることができる。その場合は，リードコマンドとコラムアドレスを１回発行すればよく，図１６のように複数回発行する必要はない。
【０２２５】
図４２は，バイトバウンダリ機能を利用した自動矩形アクセスを説明する図である。この例では，メモリマッピング４２１にアクセスされるデータ領域を矢印で示している。このメモリマッピングでは，ページ領域内でコラムアドレスＣＡが８で折り返されている。つまり，コラムアドレス折り返し幅CAWrapが８である。よって，ページ領域１４の右端のコラムアドレスCAは#07,#0F,#17,#1F（１６進数）と折り返し幅CAWrap=8になっている。そして，アクセスすべき矩形領域の先頭アドレスがCA=#0Bで，スタートバイト信号SB=2で，矩形領域の幅Rwidth＝２クロック（４バイト×２クロック＝８バイト），矩形領域のサイズがバースト長BL=8(4×8=32バイト)である。したがって，矩形領域の高さは，BL/Rwidth＝４である。
【０２２６】
図４３は，自動矩形アクセスでのタイミングチャート図である。図４４は，自動矩形アクセスに必要な内部コラムアドレス演算器の構成図である。図４２のような矩形アクセスをするためには，供給コラムアドレスCA=#0BとSB=2に応じて，メモリ内部でコラムアドレスCA=#0B/#0C, #0C/#0D, #13/#14, #14/#15, #1B/#1C, #1C/#1D, #23/#24, #24/#25が発行されればよい。つまり，最初のアクセスではByte2,3はCA=#0B，Byte0,1はCA=#0Cにアクセスする。２度目のアクセスではコラムアドレスCAは1だけ進行してByte2、3=#0C，Byte0,1はCA=#0Dにアクセスする。そして，この例では矩形幅RWidth=2 のため，次の３度目のアクセスはコラムアドレスCAを1だけ進行した位置とはならず，折り返されたコラムアドレスCA=#13，#14になる。したがって，コラムアドレス折り返し幅CAWrapと矩形幅Rwidthから３番目のコラムアドレスを演算により求める必要がある。この３度目のアドレスをByte2,3で考えると，現在のコラムアドレスCA=#0C（=12（10進数）），CA Wrap＝8，RWidth＝2にもとづき，図４３中の式（CA＋CAWrap−Rwidth＋１）により，3度目のアクセスのCAは，CA=12＋8−2+1=19（10進数）=#13（16進数）と求められる。
【０２２７】
図４４にはコラム制御部９０内のコラムアドレス演算器が示されている。この演算器は，外部から供給されるコラムアドレスCA，折り返したときのコラムアドレスCA(Wrap)をクロックのタイミングに同期した内部クロックpclenzに同期して＋１インクリメントするコラムアドレスカウンタ４４０と，コラムアドレスカウンタのカウント値にCA Rwapを加算し，Rwidthを減算する演算器４４１と，矩形領域の折り返し時に演算器４４１の出力を選択するスイッチ４４２と，同期クロックpclenzをカウントし，アクセス中の水平方向のカウント値をカウントする矩形幅カウンタ４４４と，矩形幅カウンタ４４４の水平方向のカウント値widthzが矩形幅Rwidthと一致することを検出して，スイッチ４４２に切り替え信号wrapzを生成する比較器４４５とを有する。
【０２２８】
図４３のタイミングチャートに従って説明する。まず，矩形領域サイズがバースト長BL=8としてモードレジスタに設定され，また，ページ領域内のコラムアドレスの折り返し幅CAWrap＝８もモードレジスタに設定されているものとする。そして，アクティブコマンドに続くリードコマンドと共に，先頭コラムアドレスCA＝＃０Bと，スタートバイト信号SB=2と，アクセス対象の矩形幅Rwidth=2とが供給される。これに応答して，タイミングクロックpclenzがクロックに同期して発生し，矩形幅カウンタ４４４がアクセス中の水平方向のカウント値widthzをカウントアップし，コラムアドレスカウンタ４４０が先頭コラムアドレスCA=#0Bからカウントアップする。
【０２２９】
最初のアクセス用に発行される内部コラムアドレスcaz[7:0]は，図４３に示されるとおり，CA=#0B/#0Cである。２番目のアクセスでは，コラムアドレスカウンタ４４０が＋１インクリメントしたコラムアドレスcaz[7:0]=#0Cに対応して, #0C/#0Dが出力される。３番目のアクセスでは，矩形幅の折り返しが必要になり，演算器４４１の演算値がスイッチ４４２により選択され，コラムアドレスcaz[7:0]＝#03が出力され，それに対応して折り返し後のコラムアドレスCA= #13/#14が生成される。４番目は #14/#15が生成され，５番目で矩形領域の折り返しが行われ, #1B/#1Cが生成される。その後は, #1C/#1D, #23/#24, #24/#25が同様にして生成される。
【０２３０】
この自動矩形アクセスに対応する画像メモリの構成は，例えば，図２９に示したとおりであり，４つのバイト領域Byte0-3にバイトバウンダリ機能に対応した４つのコラムアドレスの組み合わせが供給される。つまり，図４３の内部コラムアドレスcazのコラムアドレスの組み合わせが，各バイト領域内のコラムデコーダに供給される。その結果，これらのコラムアドレスのデータが４つのバイト領域からそれぞれ出力される。
【０２３１】
上記の例では，矩形アクセスの矩形幅Rwidthをリードコマンドと共に供給したが，あらかじめモードレジスタセットコマンドでモードレジスタに設定してもよい。あるいは，矩形サイズBLと矩形幅Rwidthをリードコマンドと共に供給してもよい。コラムアドレスの折り返し幅CAWrapは，画像システムがあらかじめ設定しているので，モードレジスタセットコマンドで設定するのが望ましい。
【０２３２】
このように，矩形アクセスにおいて，起点となるコラムアドレスCAと，矩形幅Rwidthと，矩形サイズ（BL）とが与えられれば，あらかじめ設定されているコラムアドレスの折り返し幅CAWrapに基づいて，アクセスすべき内部コラムアドレスを自動的に生成することができる。よって，１回のリードコマンドの発行で，矩形アクセスを行うことができる。
【０２３３】
［ページ領域境界のバイトバウンダリ機能］
バイトバウンダリ機能は，コラムアドレスで選択されるメモリ単位領域（４バイト領域）の境界を越えて所定バイト（４バイト）のデータを効率的にアクセスすることができる。ところが，ページ領域境界を越えて矩形アクセスをする場合は，再度別のアクティブコマンドで隣接するページ領域をアクティブ動作させることが必要になる。
【０２３４】
図４５は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の例を示す図である。この図では，ページ領域がコラムアドレスCA[7:0]＝#00〜＃FFで構成され，右端がCA=#FFの例である。この場合，図中矢印で示した４バイトのデータをバイトバウンダリ機能を利用してアクセスすると，アップモードにおいて，SB=0では，４バイトデータを出力することができるが，SB=1,2,3では，ページ領域の右端で折り返して左端のバイトデータをアクセスする。つまり，新たなアクティブ動作を行わずに同じページ領域内で折り返しアクセスが行われる例である。ダウンモードの場合は逆に，SB=0,1,2では左端から右端に折り返す（Wrap）する必要があるが，SB=3のみ折り返しは不要である。
【０２３５】
上記のようなアクセスが行われると，無駄なデータが出力されるだけである。ページ領域の末尾から隣のページ領域へのアクセスを行うためには，新たなアクティブコマンドを発行して隣接ページ領域をアクティブ動作させる必要がある。
【０２３６】
図４６は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。この例は，バースト長BLが８に設定されている例である。BL=8が設定されると，各バンク内のバーストカウンタはBL=8のカウント幅で内部コラムアドレスのカウントを繰り返す。つまり，図４６の例では，バーストカウンタにより生成される内部コラムアドレスは，CA=#k8〜#kF（１６ビット表記）の幅８である。このようなカウンタによりアクセス領域がバースト長ＢＬを基準にする矩形領域に区分されるメモリの場合にも，図４５と同様にバースト長領域CA=#k8〜#kFの右端でバイトバウンダリ機能を利用しようとすると，図４５と同様の課題が生じる。図４６の例では，アップモードでSB=1,2,3で折り返しが発生し，ダウンモードでSB=0,1,2で折り返しが発生している。これでは，無駄なデータが出力されてしまう。
【０２３７】
図４７は，バイトバウンダリ機能によるアクセスがページ領域の末尾に及んだ場合のメモリ動作の別の例を示す図である。この例では，図７で説明した矩形アクセスにおけるマルチバンクアクセス機能を利用してバイトバウンダリ動作を実現する例である。つまり，アクティブコマンドＡＣＴでロウアドレスＲＡ＝＃ｎが指定され，リードコマンドＲＤで起点のコラムアドレスＣＡがページ領域の右端のＣＡ＝＃ＦＦの場合は，矢印のようにページ領域の境界ＰＢを超えてアクセスが行われる。
【０２３８】
つまり，アップモードでは，ＳＢ＝１，２，３の場合，ＲＡ＝＃ｎのページ領域内のＣＡ＝＃ＦＦのバイトデータと，ＲＡ＝＃ｎ＋１のページ領域内のＣＡ＝＃００のバイトデータとがアクセスされる。ダウンモードでは，ＳＢ＝０，１，２の場合，ＲＡ＝＃ｎのページ領域内のＣＡ＝＃ＦＦのバイトデータと，ＲＡ＃ｎ＋１のページ領域内のＣＡ＝＃００のバイトデータとがアクセスされる。この場合，隣接するページ領域へのアクセスが必要であるので，アクティブコマンドＡＣＴと共に与えられるロウアドレスＲＡ＝＃ｎのページ領域がアクティブ化され，リードコマンドＲＤと共に供給されるコラムアドレスＣＡ＝＃ＦＦとスタートバイト信号ＳＢ＝２に応答して，隣接するロウアドレスＲＡ＝＃ｎ＋１のページ領域がアクティブ化される。つまり，１つのアクティブコマンドＡＣＴに応答して，複数のバンク内のワード線がアクティブ化されることを意味する。
【０２３９】
このように複数バンクが並行してアクティブ化されるように制御されれば，ページ領域の末尾でバイトバウンダリ機能が要求されても，必要な領域のデータを無駄なく入出力することができる。
【０２４０】
［バイトバウンダリ機能のその他の用途］
バイトバウンダリ機能は，メモリに画像データを記憶し任意の画素に対応したデータにアクセスする場合に，効率的なデータの入出力を可能にする。バイトバウンダリ機能は，このような画像メモリ以外の用途においても，同様のメリットを有する。
【０２４１】
図４８〜図５０は，バイトバウンダリ機能のその他の用途を説明する図である。図４８，４９は従来例に，図５０は本実施の形態に対応する。メモリの構成として同一のコラムアドレスCAに複数のバイト領域を割り付け、一度のアクセスで同一のコラムアドレスCAに割り付けられた複数バイトのデータをアクセスすることが行われている。このような構造では，メモリへのアクセスは，同一のコラムアドレスCAに割り付けられている固定のバイトサイズ（ワード構成）のデータに対する処理については，効率良く行うことができる。
【０２４２】
しかし、システムで処理すべきデータのサイズはメモリのワード構成未満となる場合もある。このような場合の対処方法として，ワード構成サイズ以下のデータが複数のコラムアドレスCAの領域にまたがらないようにパディングをするという方法がある。図４８の例では、メモリのワード構成を4バイト（図中４８３参照），処理するデータサイズの単位を1バイト（図中２８０のフォーマットＡ），2バイト（同フォーマットＢ），4バイト（同フォーマットＣ）としている。そのため，4バイトサイズのデータはByte0を基点に記憶することでコラムアドレスＣＡをまたがないようにすることができる。2バイトサイズのデータではByte0,Byte2を基点とする位置に記憶する。1バイトサイズのデータはByte0,Byte1,Byte2,Byte3のいずれの位置を基点とすることも可能とする。
【０２４３】
いま仮に，図中４８２のライトデータのように，2Byte,4Byte,1Byte,2Byte,2Byte,1Byteのサイズのデータ０〜５を連続してメモリに記憶する場合を考える。この場合，図中４８１のようにライト動作を行えば，図中４８３に示されるようにメモリ内の幾つかのバイト領域でパディングが行われ，合計で4バイトの領域は有効なデータの記憶に利用されない。これでは，メモリの容量が有効に利用されていないことになる。ただし，コラムアドレスＣＡにより４バイト単位で出力すれば，各データを１回のコラムアドレスアクセスで読み出せるので，読み出し速度は速くなる。
【０２４４】
しかし、上記の記憶容量の無駄をなくすためには，パディングを行わずにメモリの各バイト領域に連続してデータを記憶すればよい。例えば，図４９の図中４９１のように３サイクルのライトコマンドＷＲで書き込みを行って，図中４９３に示される通りにメモリ内のバイト領域にデータを記憶することができる。
【０２４５】
図４９のようにデータ書き込みを行えば，メモリの記憶容量を有効に活用することができる。しかし，データ３の２バイトのデータＢ０３，Ｂ１３のように，あるいは，データ１の４バイトのデータＣ０１−Ｃ３１のように，異なるコラムアドレスの領域にまたがってデータが記憶された場合は，従来のメモリでは１回のコラムアクセスで読み書きを実行することはできず，２回のアクセスが必要となる。図中４９１に示されるとおり，データ４の読み出しに２回リードコマンドＲＤを発行しなければならず，アクセス効率が低下する。
【０２４６】
そこで，図５０の図中５００に示されるように，バイトバウンダリ機能を利用して，１回のリードコマンドＲＤの発行とスタートバイト信号ＳＢ＝３の指定を行うことで，異なるコラムアドレスの領域にまたがるデータ３（０３，Ｂ１３）をアクセスすることができる。したがって、バイトバウンダリ機能を有するメモリは，アクセス性能の低下を発生させずにメモリ利用率の向上を実現することが可能である。
【０２４７】
［バイトバウンダリ機能に対応したメモリコントローラ］
次に，バイトバウンダリ機能に対応したメモリコントローラについて説明する。図８で画像処理システムを説明したが，この画像処理システム内の画像処理チップ８０内に，画像処理制御部８１とメモリ制御部（メモリコントローラ）８２とが含まれる。
【０２４８】
図５１は，画像処理システムの構成図である。図８と同様に，画像処理制御部８１と，メモリ制御部８２と，画像メモリ８６とで構成される。画像処理制御部８１は，一例としてＭＰＥＧ復号処理を行う構成である。画像処理部８１は，符号化，圧縮されたストリームデータＳＴＭが入力されるエントロピー復号化処理部５１０と，ＤＣＴ係数ＤＣＴ−Ｆに基づいてデータ処理を行う逆量子化及びＩＤＣＴ処理部５１１と，イントラ予測部５１２と，動きベクトルＭＶとマイクロブロック分割情報ＭＢｄｉｖに基づいてメモリ制御部８２に参照画像読み出しを行うインター予測部５１３と，処理選択部５１５とを有する。メモリ制御部８２は，画像処理制御部８１と画像メモリ８６との間でコマンドやアドレスの発行などを含むメモリ制御を行う。処理選択部５１５から出力される復号画像データＤ−ＩＭＧがメモリ制御部８２により画像メモリ８６に格納される。また，インター予測部５１３の参照画像読み出し制御部５１４は，メモリ制御部８２を介して画像メモリ８６から参照画像Ｒ−ＩＭＧのデータを取得し，処理選択部５１５に与える。
【０２４９】
ＭＰＥＧデコーダでは，動きベクトルに基づいてメモリから読み出される過去の画像または未来の画像内の参照画像Ｒ−ＩＭＧと，その参照画像との差分データとに基づいて，現在の画像データを復号化する。したがって，一旦画像メモリ８６に格納した画像から動きベクトルの位置にある矩形の参照画像を読み出す動作が頻繁に行われる。この矩形アクセス制御において，バイトバウンダリ機能を有する画像メモリ８６及びそれに対応したメモリ制御部８２を利用することで，アクセス効率を高めることができる。
【０２５０】
図５２は，メモリ制御部（メモリコントローラ）の入力及び出力信号を示す図である。図５３は，フレーム画像内の読み出し対象の参照画像領域を説明する図である。フレーム画像ＦＭ−ＩＭＧにおいて，左上が画素座標の原点（０，０）であり，矩形の参照画像ＲＩＭＧの領域を特定するためには，矩形の左上の座標（ＰＯＳＸ，ＰＯＳＹ）と，縦横のサイズＳＩＺＥＹ，ＳＩＺＥＸとが必要である。したがって，画像処理部内の参照画像読み出し制御部５１４は，参照画像ＲＩＭＧの領域を特定する上記の情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸを，メモリコントローラ８２に供給する。また，参照画像読み出し制御部５１４とメモリコントローラ８２との間では，ダイレクトメモリアクセス制御信号ＤＭＡ−ＣＯＮが入出力される。
【０２５１】
一方，メモリコントローラ８２は，上記の参照画像領域を特定する情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸに基づいて，メモリ空間内のアドレスＡｄｄ（バンクアドレス，ロウアドレス，コラムアドレス）を算出し，コマンドＣＭＤ，アドレスＡｄｄ，マルチバンクアクセス情報ＳＡ’，スタートバイト信号ＳＢ，書き込みデータＤａｔａなどをメモリ８６に供給する。また，メモリ８６から読み出された読み出しデータＤａｔａを受信する。
【０２５２】
図５４は，メモリ制御部の詳細な構成図である。メモリ制御部８２は，前述した画像処理制御部のようにメモリへのアクセスを要求するアクセス要求元ブロック８１−１〜８１−Ｎから，アクセス対象の画像領域の情報ＰＯＳＸ，ＰＯＳＹ，ＳＩＺＥＸ，ＳＩＺＥＹ，書き込みデータＤａｔａを受信するインターフェース制御部５４１−１〜Ｎと，これらのインターフェース部を経由して上記の画像領域情報を受け取り，アドレスとコマンドを生成するアドレスコマンド生成部５４２−１〜Ｎを有する。これらのインターフェース制御部とアドレスコマンド生成部とは，調停回路５４０によりいずれが活性化されるべきか調停される。調停回路５４０により選択され活性化されているアドレスコマンド生成部５４２が，セレクタＳＥＬを経由して，コマンドＣＭＤ，アドレスＡｄｄ（バンクアドレス，ロウアドレス，コラムアドレス），マルチバンクアクセス情報ＳＡ’，スタートバイト信号ＳＢなどをメモリ８６に発行する。それにより，メモリ制御部８２は，調停により選択されたアクセス要求元ブロックのために，メモリ８６へのアクセス制御を行い，データ書き込みまたはデータ読み出しを行う。また，メモリ制御部８２は，必要な頻度でメモリに対してリフレッシュ要求なども行う。
【０２５３】
メモリ制御部８２が発行するコマンドＣＭＤには，例えば，モードレジスタセットコマンド，アクティブコマンド，リードコマンド，ライトコマンド，プリチャージコマンド，リフレッシュコマンドなど，通常のＳＤＲＡＭに必要なコマンドが含まれる。また，メモリ制御部８２内の設定レジスタ５４３には，フレーム画像ＦＭ−ＩＭＧの左上画素のアドレスや，メモリマッピング情報や，メモリ８６が有する機能についての情報が設定される。メモリが有する機能とは，例えば，後述するとおり，マルチバンクアクセス機能や，エンディアンに対応するデータ配列の切り替え機能などであり，コントロール対象のメモリが有する機能の有無がこの設定レジスタ５４３に設定される。
【０２５４】
図５５は，参照画像読み出し制御部５１４でのインター予測部５１３の演算を説明する図である。ＭＰＥＧの場合，マクロブロックＭＢを処理単位にしている。マクロブロックＭＢは１６×１６画素の輝度データと，８×８画素の色差（Ｃｂ，Ｃｒ）データ(Y:U:V=4:2:0の場合)で構成される。そして，このマクロブロックＭＢを４等分した８×８画素の輝度データを含む１／４マクロブロックＱＭＢが，動きベクトルＭＶ，参照画像ＲＩＭＧの処理単位である。仮に，現在処理中のマクロブロックＭＢの左上座標が(MBaddrx,MBaddry)，そのマクロブロック分割情報がMbdivx,Mbdivy,動きベクトルMV＝（MVx,MVy）とすると，演算処理部５１５では，図示される演算式の演算により，参照画像ＲＩＭＧの左上座標（ＰＯＳＸ，ＰＯＳＹ）と横幅ＳＩＺＥＸと高さＳＩＺＥＹとが算出される。この横幅ＳＩＺＥＸは，メモリの１回のアクセスで入出力されるバイト数の倍数に設定され，高さＳＩＺＥＹは垂直方向の画素数に設定される。
【０２５５】
上記のようにして算出された参照画像特定情報（ＰＯＳＸ，ＰＯＳＹ），ＳＩＺＥＹ，ＳＩＺＥＸが，参照画像読み出し制御部５１４からメモリコントローラ８２に出力され，メモリコントローラ８２内のコマンドアドレス生成部５４２が，上記参照画像特定情報と，設定レジスタ５４３内のメモリマッピング情報とフレーム領域の左上のアドレスなどに基づいて，矩形アクセスに必要なメモリ空間のアドレスを生成する。
【０２５６】
図５６は，参照画像読み出し制御部５１４でのインター予測部５１３の演算例を示す図である。図５５の具体例である。まず，マクロブロックＭＢの左上座標が(MBaddrx,MBaddry)＝（０，０），マクロブロック分割情報がMbdivx,Mbdivy＝８，動きベクトルMV＝（MVx,Mvy）＝（１３，４）であるので，参照画像ＲＩＭＧの左上座標（ＰＯＳＸ，ＰＯＳＹ），横幅ＳＩＺＥＸと高さＳＩＺＥＹは，次の通り演算で求められる。
ＰＯＳＸ＝０＋８＋１３＝２１
ＰＯＳＹ＝０＋８＋４＝１２
ＳＩＺＥＸ＝８，ＳＩＺＥＹ＝８
上記の参照画像ＲＩＭＧの矩形領域は，コラムアドレスで選択される４バイト領域の単位と整合しない。４バイト領域の単位と整合させるためには，図５６中の拡大領域Ｅ−ＲＩＭＧのように，左上座標（２０，１２），横幅１２，高さ８の領域にアクセスすることが必要になる。しかし，バイトバウンダリ機能を利用することで，４バイト単位の境界を越えてバイト単位でアクセスが可能になる。このように，ＭＰＥＧなどの参照画像データのアクセスにおいて，バイトバウンダリ機能はアクセス効率の向上に寄与する。
【０２５７】
図５７は，メモリマッピング例を示す図である。図１に示したメモリマッピング１２と同様に，画像の画素とメモリ空間内のページ領域１４とがメモリマッピング１２のように対応付けられていて，隣接するページ領域は異なるバンクアドレスＢＡになるよう配置されている。ページ領域１４は，バンクアドレスＢＡとロウアドレスＲＡで選択される領域であり，各ページ領域１４は，コラムアドレスで選択される複数のメモリ単位領域（４バイト領域）で構成される。図５７の例では，ページ領域１４は，６４画素×１６画素の画像データを格納する単位である。
【０２５８】
図５８は，メモリマッピング１２におけるページ領域１４の構成を示す図である。バンクＢＡＮＫ０内のロウアドレスＲＡ０で特定されるページ領域１４は，コラムアドレスＣＡ０〜ＣＡ２５５のメモリ単位領域を有し，各コラムアドレスにより４バイトが選択され，コラムアドレスＣＡの折り返し幅（ステップ幅）が１６である。よって，ページ領域１４は，横幅が６４（＝４×１６）バイト，高さが１６（＝２５６／１６）バイトの構成になっている。
【０２５９】
図５９は，図５６の参照画像領域のメモリマップ上での配置を示す図である。図５９に示されるとおり，参照画像領域ＲＩＭＧは，左上座標（２１，１２），横幅８，高さ８であるので，コラムアドレスＣＡ５を先頭番地とし，バイトＢＹ１から横幅８バイト，高さ８バイトのメモリ領域に対応する。つまり，矩形アクセス領域の左端５９１は，コラムアドレスＣＡによる境界５９０から１バイト（図中５９２）だけシフトしている。よって，前述のバイトバウンダリ機能を有するメモリに対しては，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ０，ロウアドレスＲＡ０を発行し，リードコマンドＲＤ（又はライトコマンドＷＲ）と共に先頭コラムアドレスＣＡ５，ＣＡ６〜ＣＡ１１７，ＣＡ１１８とスタートバイト信号ＳＢ＝１を連続して発行すれば良い。または，図４２〜４４で示した自動内部コラムアドレス生成機能を有するメモリに対しては，コラムアドレス折り返し幅CAWrap＝１６を設定しておき，リードコマンドＲＤ（又はライトコマンドＷＲ）と共に先頭コラムアドレスＣＡ５と，スタートバイト信号ＳＢ＝１と，矩形幅Rwidth＝２と，バースト長ＢＬ＝１６とを発行すれば良い。
【０２６０】
図６０は，参照画像領域のメモリマップ上での別の配置例を示す図である。この図では，参照画像領域ＲＩＭＧが，隣接するページ領域１４−０，１４−１にまたがっている。つまり，ページ領域の境界６００を超えている。この場合は，図７で説明したマルチバンクアクセス機能を有するメモリであれば，マルチバンクアクセス情報ＳＡ’を発行することで，１回のアクティブコマンドによりアクセスすることができる。メモリがマルチバンクアクセス機能を有していない場合は，バンクＢＡＮＫ０，１に対する複数回のアクティブコマンドを発行してアクセスしなければならない。よって，メモリコントローラは，コントロール対象の画像メモリがマルチバンクアクセス機能を有するか否かをレジスタに設定しておき，その設定情報に応じて，画像メモリへのアクセス制御を変更する必要がある。
【０２６１】
図６１は，バイトバウンダリ機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。図５９の参照画像ＲＩＭＧのアクセス例である。従来のＳＤＲＡＭにはバイトバウンダリ機能は設けられていない。その場合は，メモリコントローラは，図６１に示すような制御を行わなければならない。
【０２６２】
図６１中，参照画像読み出し制御部とメモリコントローラとの間の信号６１０と，メモリコントローラと画像メモリとの間の信号６１１とが示されている。前述したとおり，参照画像読み出し制御部５１４は，メモリコントローラにアクセス要求ＲＥＱと共に参照画像領域の左上座標ＰＯＳＸ，ＰＯＳＹと横幅ＳＩＺＥＸ，高さＳＩＺＥＹの情報を送信し，メモリコントローラはそれに応答してアクノリッジ信号ＡＣＫを返信する。メモリマッピング情報とフレーム画像の左上原点のアドレスとはあらかじめ設定レジスタに設定されているものとする。
【０２６３】
このアクセス要求ＲＥＱに応答して，メモリコントローラは，画像メモリに対して，アクティブコマンドＡＣＴとバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０を発行して，メモリにアクティブ動作を行わせる。その後，メモリコントローラは，クロックＣＬＫに同期して，リードコマンドＲＤとバンクアドレスＢＡ＝０，コラムアドレスＣＡ＝５，６，７〜１１７，１１８，１１９（２４回）を発行して，４バイトデータを２４回受信する。その後，メモリコントローラは，ストローブ信号ＳＴＢをＨレベルにしてその受信したデータを読み出し制御部に送信する。
【０２６４】
図６２は，バイトバウンダリ機能を有するメモリに対するメモリコントローラでのタイミングチャート図である。この図は，図５９の参照画像ＲＩＭＧのアクセス例であり，メモリがバイトバウンダリ機能を有する場合の制御である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６２０と，メモリコントローラと画像メモリとの間の信号６２１とが示されている。
【０２６５】
この場合は，参照画像読み出し制御部からメモリコントローラに図６１と同じ信号が送信される。メモリコントローラは，画像メモリに対して，アクティブコマンドＡＣＴとバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０を発行して，メモリにアクティブ動作を行わせ，その後，メモリコントローラは，リードコマンドＲＤと，バンクアドレスＢＡ＝０と，コラムアドレスＣＡ＝５，６〜１１７，１１８（１６回）と，スタートバイト信号ＳＢ＝０１とを発行して，４バイトデータを１６回受信する。さらに，メモリコントローラは，ストローブ信号ＳＴＢをＨレベルにしてその受信した６４バイトのデータを読み出し制御部に送信する。メモリがバイトバウンダリ機能を有するので，リードコマンドの発行は１６回でよく，アクセス効率が高くなる。
【０２６６】
また，図示していないが，図４２〜４４で示した自動内部コラムアドレス生成機能を有するメモリに対しては，コラムアドレス折り返し幅CAWrap＝１６を設定しておき，リードコマンドＲＤと共に先頭コラムアドレスＣＡ５と，スタートバイト信号ＳＢ＝０１と，矩形幅Rwidth＝２と，バースト長ＢＬ＝１６とを発行すれば良い。それに応答して，画像メモリは内部でコラムアドレスを自動生成し矩形領域の４バイトデータを１６サイクルで出力し，メモリコントローラは，４バイトデータを１６回連続して受信する。
【０２６７】
図６３は，バイトバウンダリ機能とマルチバンクアクセス機能を有しないメモリに対するメモリコントローラでのタイミングチャート図である。この例は，図６０の参照画像ＲＩＭＧをアクセスする例であり，マルチバンクアクセス機能を有しない画像メモリに対する制御例である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６３０と，メモリコントローラと画像メモリとの間の信号６３１とが示されている。
【０２６８】
マルチバンクアクセス機能を有しないメモリは，図４５に示したとおり，バンク境界をまたぐ領域へのアクセスは不可能である。したがって，この場合は，メモリコントローラは，アクティブコマンドＡＣＴとＢＡ＝０，ＲＡ＝０を発行してページ領域１４−０をアクティブ動作させ，リードコマンドＲＤと共にバンクアドレスＢＡ＝０，コラムアドレスＣＡ＝１５〜１２７を発行して，８バイトのデータを受信する。さらに，メモリコントローラは，アクティブコマンドＡＣＴとＢＡ＝１，ＲＡ＝０を発行してページ領域１４−１をアクティブ動作させ，リードコマンドＲＤと共にバンクアドレスＢＡ＝１，コラムアドレスＣＡ＝０，１〜１１２，１１３を発行して，１６バイトのデータを受信する。そして，メモリコントローラは，受信した２４バイトのデータを参照画像読み出し制御部に送信する。
【０２６９】
図６４は，マルチバンクアクセス機能とバイトバウンダリ機能を有するメモリに対するメモリコントローラにおけるタイミングチャート図である。これも図６０の参照画像ＲＩＭＧをアクセスする例である。図中，参照画像読み出し制御部とメモリコントローラとの間の信号６４０と，メモリコントローラと画像メモリとの間の信号６４１とが示されている。
【０２７０】
メモリコントローラは，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０，そしてマルチバンクアクセス情報ＳＡ’＝１０（横方向に隣接する２バンクのアクセスを示す）を発行する。これに応答して，画像メモリは，バンクＢＡ＝０のバンクをアクティブ動作させる。そして，メモリコントローラは，リードコマンドＲＤと共に，スタートバイト信号ＳＢ＝０１とバンクアドレスＢＡ，コラムアドレスＣＡを順次発行する。このコラムアドレスＣＡ＝１５に応答して，画像メモリは，ＢＡ＝１のバンクもアクティブ動作させる。メモリコントローラは，１６回のリードコマンドＲＤに対応して，１６バイトのデータを受信する。さらに，メモリコントローラは，受信した１６バイトのデータを参照画像読み出し制御部に送信する。
【０２７１】
このように，メモリコントローラは，マルチバンクアクセス機能を有するメモリに対しては，異なるバンク領域にまたがるデータであっても，１回のアクティブコマンドを発行すればよい。
【０２７２】
図６５は，メモリコントローラの制御動作のフローチャート図である。まず，上位のＣＰＵによりメモリコントローラ内の設定レジスタにマルチバンクアクティブ機能のＯＮ／ＯＦＦが設定される（Ｓ１）。参照画像読み出し制御部が，動きベクトル情報，マクロブロック分割情報，対象マクロブロック情報により，参照画像ブロックの座標（ＰＯＳＸ，ＰＯＳＹ）とサイズ（ＳＩＺＥＸ，ＳＩＺＥＹ）を算出し（Ｓ２），矩形アクセスのリクエストをそれらの矩形パラメータと共にメモリコントローラに発行する（Ｓ３）。
【０２７３】
メモリコントローラは，この矩形パラメータ（ＰＯＳＸ，ＰＯＳＹ）（ＳＩＺＥＸ，ＳＩＺＥＹ）と，設定レジスタに設定されているメモリマップ情報及びフレーム画像のアドレス情報とから，矩形アクセスで発行すべきＢＡ，ＲＡ，ＣＡ，ＳＢ，ＳＡ’を算出する（Ｓ４）。マルチバンクアクティブ機能がＯＮの場合は（Ｓ５のＹＥＳ），メモリコントローラは，アクティブコマンドＡＣＴと共にＢＡ，ＲＡ，ＳＡ’を発行し，更に，リードコマンドＲＤと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，リードデータを受信する（Ｓ６，Ｓ７，Ｓ８）。ライト動作の場合は，リードコマンドの代わりにライトコマンドＷＲと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，ライトデータを出力する。
【０２７４】
また，マルチバンクアクティブ機能がＯＦＦの場合は（Ｓ５のＮＯ），メモリコントローラは，リクエストのあった矩形がページ領域，つまりバンクをまたぐか否かをチェックし（Ｓ９），またがない場合（Ｓ９のＮＯ）は，アクティブコマンドＡＣＴと共にＢＡ，ＲＡを発行し，更に，リードコマンドＲＤと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，リードデータを受信する（１０，１１，１２）。ライト動作の場合は，リードコマンドの代わりにライトコマンドＷＲと共にＢＡ，ＣＡ，ＳＢを順次発行しながら，ライトデータを出力する。
【０２７５】
さらに，バンクをまたぐ場合（Ｓ９のＹＥＳ），バイトバウンダリ機能を利用できないので，メモリコントローラは，図５６に示した拡大矩形領域Ｅ−ＲＩＭＧの座標ＰＯＳＸと幅ＳＩＺＥＸを算出し，それに対応する左上座標のアドレスＢＡ，ＲＡ，ＣＡを算出する（Ｓ１３）。そして，拡大矩形領域に対して，アクティブコマンドＡＣＴと共にＢＡ，ＲＡを発行を発行し，リードコマンドＲＤと共にＢＡ，ＣＡを順次発行しながらリードデータを受信する（Ｓ１５，１６，１７）。そして，左上座標のバンク内のリードが完了すると（Ｓ１７のＹＥＳ，Ｓ１４のＹＥＳ），一旦プリチャージコマンドを発生したのち，次のバンクに対してアクティブコマンドを発生し，更にリードコマンドＲＤと共にＢＡ，ＣＡを順次発行しながらリードデータを受信する（Ｓ１９，Ｓ１６，１７）。そのバンク内のデータを全て受信し（Ｓ１７のＹＥＳ），全てのデータ読み出しが完了したら（Ｓ１８），メモリ制御を終了する。
【０２７６】
なお，メモリコントローラの設定レジスタに，バイトバウンダリ機能をＯＦＦにする設定がある場合は，図６５の構成Ｓ１３〜Ｓ１８により図６１のようにメモリコントローラがアクティブコマンドとリードコマンドと必要なアドレスとを発行する。
【０２７７】
このように，メモリコントローラは，内蔵の設定レジスタにバイトバウンダリ機能のＯＮ，ＯＦＦやマルチバンクアクティブ機能のＯＮ，ＯＦＦとを設定可能であり，制御対象の画像メモリの機能に応じて，必要なコマンドとアドレス，マルチバンク情報，スタートバイト情報，アップモード，ダウンモード，オルターナティブなどのバイト組み合わせ情報などを適宜発行する。
【０２７８】
図６６は，メモリコントローラの制御動作のフローチャート図である。この例は，図３５，３６に示したエンディアンに対応して入出力データの入れ替え機能を制御対象の画像メモリが有するか否かをメモリコントローラに設定できるようになっている。まず，上位のＣＰＵがメモリコントローラの設定レジスタに，画像メモリにおける出力データの並び替え機能の有無を設定する（Ｓ２０）。そして，参照画像読み出し制御部が，動きベクトル情報，マクロブロック分割情報，対象マクロブロック情報により，参照画像ブロックの座標（ＰＯＳＸ，ＰＯＳＹ）とサイズ（ＳＩＺＥＸ，ＳＩＺＥＹ）を算出し（Ｓ２１），矩形アクセスのリクエストをそれらの矩形パラメータと共にメモリコントローラに発行する（Ｓ２２）。
【０２７９】
次に，メモリコントローラは，この矩形パラメータ（ＰＯＳＸ，ＰＯＳＹ）（ＳＩＺＥＸ，ＳＩＺＥＹ）と，設定レジスタに設定されているメモリマップ情報及びフレーム画像のアドレス情報とから，矩形アクセスで発行すべきＢＡ，ＲＡ，ＣＡ，ＳＢ，ＳＡ’を算出する（Ｓ２３）。そして，出力データの並び替え機能がＯＮに設定されている場合は（Ｓ２４のＹＥＳ），メモリコントローラは，アクティブコマンドと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’を発行し，さらにリードコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡ，スタートバイト情報ＳＢを発行する（Ｓ２５）。その後は，全てのデータの読み出しが完了するまで，リードコマンド，ＢＡ，ＣＡ，ＳＢを繰り返し発行する（Ｓ２６，Ｓ２７）。
【０２８０】
一方，出力データの並び替え機能がＯＦＦに設定されている場合は（Ｓ２４のＮＯ），メモリコントローラは，アクティブコマンドと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’を発行し，さらにリードコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡ，スタートバイト情報ＳＢを発行する（Ｓ２５）。その後は，全てのデータの読み出しが完了するまで，リードコマンド，ＢＡ，ＣＡ，ＳＢを繰り返し発行すると共に，受信したデータの並びが元の画像データの順番になるように並び替えを行う（Ｓ２８，Ｓ２９，Ｓ３０）。
【０２８１】
上記の図６５と図６６とは，設定レジスタの設定項目によって適宜組み合わせることができる。
【０２８２】
なお，上記の実施の形態では，複数画素の画像データを二次元配置したデジタル画像データを記憶する画像メモリを例にして説明した。しかしながら，本発明は，画像データを記憶する画像メモリに限定されず，画像データ以外でも二次元配列されたデータを所定のマッピングルールに基づいて記憶するメモリ装置に適用可能である。記憶データが二次元配列されたデータであれば，その二次元配列データ内の任意の矩形領域をアクセスするときに複数のメモリ単位領域に跨ってデータにアクセスすることが求められることがある。その場合にも本発明は適用可能である。
【０２８３】
《マルチバンクアクセス》
次に，矩形アクセスの課題の一つとして，複数のページ領域を含む矩形領域をアクセスする場合のアクセス効率の低下を防止するための，マルチバンクアクセスについて説明する。既に，図７において，矩形アクセス時のマルチバンクアクセス機能について説明した。
【０２８４】
図６７は，本実施の形態におけるマルチバンクアクセスについての概略説明図である。画像メモリに対する矩形領域へのアクセスは任意の場所に発生する。したがって，図６７に示されるとおり，メモリマップ１２において矩形アクセス領域２２がページ領域の境界を越えることがある。図６７の例では，矩形アクセス領域２２が４つのページ領域（ＢＡ３，ＲＡ０のページ領域，ＢＡ２，ＲＡ１のページ領域，ＢＡ１，ＲＡ４のページ領域，ＢＡ０，ＲＡ５のページ領域）を含んでいる。
【０２８５】
メモリマッピング１２によれば，縦横に隣接するページ領域は異なるバンクに割り付けられている。したがって，図６７の矩形領域２２をアクセスするためには，メモリ装置８６内の４つのバンクＢａｎｋ０−３を，Ｂａｎｋ３，２，１，０の順番でアクセスしなければならない。ＳＤＲＡＭでは，バンクアドレスＢＡとロウアドレスＲＡを指定してアクティブコマンドが供給されると，そのバンク内のワード線（ページ領域）が活性化される。その後，バンクアドレスＢＡとコラムアドレスＣＡを指定するリードコマンドまたはライトコマンドに応答して，活性化されたページ領域内のメモリ単位領域がアクセスされる。そのため，矩形アクセス領域２２をアクセスするためには，メモリコントローラが，メモリ装置に４つのバンクに対するアクティブコマンドを４回発行しなければならない。そのようなメモリ制御は，アクセス効率の低下を招く。
【０２８６】
そこで，本実施の形態では，図６７中のタイミングチャートに示されるとおり，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳ（図中６７０）に応答して，コマンドと共に供給されるロウアドレスのステップ情報ＲＳ＝４（図中６７１）を内蔵するモードレジスタに設定する。このロウアドレスのステップ情報ＲＳは，メモリマッピング１２において，ロウアドレスＲＡが行方向において折り返される数であり，図６７の例では，ＲＡ０−ＲＡ３，ＲＡ４−ＲＡ７で折り返されているので，ＲＳ＝４である。通常の画像システムではメモリマッピング１２は頻繁に変更されないので，ロウアドレスステップ情報ＲＳは，画像システムが起動されたときなどにメモリ装置内のモードレジスタに設定するのが望ましい。
【０２８７】
そして，矩形アクセスが発生すると，メモリ装置は，アクティブコマンドＡＣＴ（図中６７２）と共にバンクアドレスＢＡ＝３，ロウアドレスＲＡ＝０，及びマルチバンク情報ＳＡ’＝４（図中６７３）を供給される。すなわち，メモリコントローラは，画像処理ユニットからの矩形アクセス要求に対して，アクセス対象の矩形領域がメモリマップ上で４つのページ領域にまたがること，つまり４つのバンクへのアクセスが必要であることを検出したら，アクセス対象バンク数「４」をマルチバンク情報ＳＡ’として画像メモリ装置に供給する。
【０２８８】
このアクティブコマンドＡＣＴとマルチバンク情報ＳＡ’とに応答して，メモリ装置は，ＢＡ３のバンクを先頭にして行方向に隣接するＢＡ２のバンクと，列方向に隣接するＢＡ１のバンクと，右下に隣接するＢＡ０のバンクとを活性化する。その場合，画像メモリ内のロウ制御部は，アクティブコマンドＡＣＴと共に供給されるバンクアドレスＢＡ＝３とロウアドレスＲＡ＝０とマルチバンク情報ＳＡ’＝４と，モードレジスタに記憶されているロウアドレスのステップ情報ＲＳ＝４とに基づいて，複数のバンクへのバンク活性化信号を生成し，各バンク内のアクティブ動作対象のロウアドレスを生成する。図中のメモリマッピング１２によれば，アクティブ動作対象の４つのロウアドレスは，供給ロウアドレスＲＡに対して，ＲＡ，ＲＡ＋１，ＲＡ＋ＲＳ，ＲＡ＋ＲＳ＋１である。この４つのロウアドレスが，供給バンクアドレスＢＡに応じて，対応する４つのバンクに供給される。そして，内部で生成されたバンク活性化信号とロウアドレスにより，メモリ装置内の複数のバンクがアクティブ動作を行う。
【０２８９】
よって，図６７の例では，一回のアクティブコマンドＡＣＴに応答して，ＢＡ３，ＲＡ０のページ領域，ＢＡ２，ＲＡ１のページ領域，ＢＡ１，ＲＡ４のページ領域，ＢＡ０，ＲＡ５のページ領域の合計４つのページ領域が活性化される。具体的な活性化動作では，ワード線ＷＬが立ち上げられ，センスアンプが活性化され，メモリセル内のデータに対応するビット線の電位が増幅される。
【０２９０】
そして，メモリ装置は，リードコマンドＲＤ（図中６７４）をバンクアドレスＢＡとコラムアドレスＣＡと共に繰り返し供給され，それぞれのリードコマンドに応答して，バンクアドレスＢＡとコラムアドレスＣＡで指定されたメモリ単位領域のデータを読み出す。ライトコマンドの場合は，ライトコマンドと共に供給されるバンクアドレスＢＡとコラムアドレスＣＡとに対応するメモリ単位領域にデータを書き込む。図６７の例では，４つのリードコマンドＲＤと共に，バンクアドレスＢＡ＝３，２，１，０が供給され，４つのバンクに対するコラムアクセスが連続して行われる。
【０２９１】
このように，本実施の形態のマルチバンクアクセス機能によれば，メモリ装置は，１回のアクティブコマンド（第１の動作コマンド）に応答し，供給されるバンクアドレスＢＡとロウアドレスＲＡとマルチバンク情報ＳＡ’と，あらかじめ設定されているロウアドレスのステップ情報ＲＳとに基づいて，アクセス対象の複数のバンクのページ領域をあらかじめアクティブ動作する。よって，その後のコラムアクセスで，リードコマンドまたはライトコマンドと共に，バンクアドレスＢＡ及びコラムアドレスＣＡが適宜供給されて，矩形アクセスが行われる。
【０２９２】
なお，図６７の例では，メモリマッピング１２においてロウアドレスステップ情報ＲＳ＝４を根拠に，メモリ装置側が複数バンクのロウアドレスを演算で求めている。したがって，メモリマッピング１２が異なれば，それに対応してロウアドレスの演算式も異なる。よって，拡張モードレジスタセットコマンドＥＭＲＳによりメモリマッピング情報も合わせて設定可能にすることもできる。または，メモリマッピング情報に応じてバンクアドレスビットの入れ替えを行い，メモリ装置内では所定のメモリマッピングに応じたロウアドレス演算を行うようにしても良い。
【０２９３】
また，図６７の例では，マルチバンク情報ＳＡ’＝４であるが，横方向の２つのバンクを意味するＳＡ’＝２，縦方向の２バンクを意味するＳＡ’＝３，単位のバンクを意味するＳＡ’＝１が供給された場合は，それに対応するバンクが活性化される。上記の４つの種類を示すマルチバンク情報ＳＡ’は２ビットで構成される。
【０２９４】
図６８は，本実施の形態におけるマルチバンクアクセスを説明する図である。図６８では，矩形領域２２がアクセス対象領域であり，この矩形アクセス領域２２は，４つのページ領域，つまり４つのバンク１４−０，１，２，３を含み，ＢＡ３，ＲＡ２，ＣＡ１２７のメモリ単位領域を先頭にして，横方向は２クロック幅（８バイト）縦方向は８行の高さの矩形領域である。よって，矩形アクセス領域２２を特定するためのマルチバンク情報ＳＡ’としては，図中のａ）矩形領域のサイズ情報（＝幅Ｗ，高さＨ），またはｂ）バンク数情報（＝４）のいずれでも良い。
【０２９５】
以下，図６９，図７０を参照して上記２種類のマルチバンク情報ＳＡ’に対応するメモリ装置の動作を説明する。
【０２９６】
図６９は，マルチバンク情報ＳＡ’がバンク数情報（＝４）の場合のタイミングチャート図である。図６７のタイミングチャートに加えて，図６９には入出力端子ＤＱの４バイトＢＹ０−３に対する出力データのコラムアドレスＣＡ（図中６９１），バンクＢａｎｋ０−３のアクセス状態（活性化状態）（図中６９０）が示されている。
【０２９７】
まず，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳにより，メモリマッピングのロウアドレスのステップ数データＲＳ＝４をモードレジスタにセットする。次に，アクティブコマンドＡＣＴと共に供給される先頭のページ領域を指定するバンクアドレスＢＡ３及びロウアドレスＲＡ２と，マルチバンク情報ＳＡ’＝４（図中６７３）とに応答して，メモリ装置は，４つのバンクＢａｎｋ０−３内のロウアドレスＲＡ７，６，３を生成し，供給ロウアドレスＲＡ２と合わせて４つのロウアドレスに対応するページ領域をアクティブ動作する（図中６９０）。その結果，メモリ装置内では，４つのバンクがアクティブ状態になりメモリアクセス可能になっている。
【０２９８】
その後，１６回のリードコマンドＲＤ（図中６７４）と共に，アドレスＢＡ３／ＣＡ１２７，ＢＡ２／ＣＡ１２４，ＢＡ１／ＣＡ３，ＢＡ０／ＣＡ０．．．が供給され，メモリ装置は，それに応答して，所定のレイテンシ後に，対応するバンク内からそれぞれ４バイトデータを入出力端子ＤＱに出力する。
【０２９９】
マルチバンク情報ＳＡ’としてＳＡ’＝４が供給されれば，２×２のページ領域へのアクセスであることが判明するので，メモリ装置は，アクティブコマンドＡＣＴに応答して，４つのバンクのアクティブ動作を実行することができる。また，先頭バンクのロウアドレスＲＡが供給されれば，ロウアドレスステップ情報ＲＳに基づいて残りのバンクのロウアドレスを演算により求めることができる。
【０３００】
図７０は，マルチバンク情報ＳＡ’が矩形領域のサイズ情報（Ｗ＝８バイト，Ｈ＝８行）の場合のタイミングチャート図である。このタイミングチャートにも入出力端子ＤＱと４つのバンクＢａｎｋ０−３のアクセス状態が示されている。
【０３０１】
拡張モードレジスタセットコマンドＥＭＲＳによりロウアドレスのステップ数データＲＳ＝４（図中６７１）とページ領域内のコラムアドレスのステップ数データＣＳＴ＝１２８（図中６７７）がモードレジスタに設定される。また，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ３，ロウアドレスＲＡ２が供給され（図中６７２），さらに，マルチバンク情報ＳＡ’（図中６７５）として，矩形アクセス領域のサイズ情報８×８（図中６７６）が供給される。メモリ装置は，このアクティブコマンドに応答して，供給アドレスＢＡ３，ＲＡ２のページ領域をアクティブ動作する（図中７００）。そして，メモリ装置は，モードレジスタに設定されているステップ数データＣＳＴ＝１２８と，最初のリードコマンドＲＤと共に供給されるコラムアドレスＣＡ１２７と，矩形サイズ情報８×８とに基づいて，アクセスすべき残りのバンクＢａｎｋ０，１，２とそのロウアドレスＲＡ７，６，３を求め，それらのバンクのページ領域をアクティブ動作する（図中７０１）。
【０３０２】
その後，１６回のリードコマンド（図中６７４）に応答して，メモリ装置は，対応するバンクからそれぞれ４バイトデータを入出力端子ＤＱに出力する（図中７０２）。
【０３０３】
このように，マルチバンク情報ＳＡ’として矩形サイズが供給される場合は，メモリ装置が，供給コラムアドレスとメモリマッピング（コラムアドレスステップ数ＣＳＴ）に基づき複数バンクにまたがるアクセスか否かを判定して，アクティブ動作対象のバンクの活性化信号と，各バンクのロウアドレスとを生成し，順次アクティブ動作する。よって，バンクＢａｎｋ０，１，２の活性化動作は，先頭のコラムアドレスＣＡ＝１２７が供給された後に行われる。
【０３０４】
図７１は，マルチバンクアクセス機能を有するメモリ装置の構成図である。図９のメモリ装置の構成図と同等である。メモリ装置８６は，マルチバンクアクセス機能を実現するために，ロウ制御部８７が，活性化すべきバンクに与えるパルス状のバンク活性化信号ａｃｔｐｚ０−３を生成するマルチバンク活性化制御部８８と，各バンクの活性化すべきロウアドレスＲＡを生成するロウアドレス演算部９７とを有する。また，メモリ装置は，マルチバンク情報ＳＡ’を供給するためのスペシャル端子ＳＰ０，ＳＰ１を有する。
【０３０５】
コマンド制御部９５は，コマンドを特定する信号ＲＡＳ，ＣＡＳ，ＷＥ，ＣＳの組み合わせから供給されたコマンドをデコードする。拡張モードレジスタセットコマンドＥＭＲＳと共に，アドレス端子Ａｄｄからメモリマッピングのロウアドレスのステップ数データＲＳが入力され，モードレジスタ９６にセットされる。この場合，バンクアドレスＢＡによりセットされるデータの種別が指定され，そのバンクアドレスＢＡに対応するレジスタ領域にステップ数データＲＳがセットされる。
【０３０６】
コマンド制御部９５は，アクティブコマンドＡＣＴに応答して，ロウ側の動作開始を指令するアクティブパルスａｃｔｐｚを生成する。マルチバンク活性化制御部８８は，このアクティブパルスａｃｔｐｚを，供給バンクアドレスＢＡとマルチバンク数データＳＡ’とから求められる活性化対象のバンクに分配する。この分配されるパルス信号がバンク活性化信号ａｃｔｐｚ０−３である。このマルチバンク情報ＳＡ’は，アクティブコマンドＡＣＴ発行時に，スペシャル端子ＳＰ０，ＳＰ１から入力される。また，ロウアドレスＲＡはアドレス端子Ａｄｄから入力される。
【０３０７】
さらに，ロウアドレス演算部９７は，供給されるバンクアドレスＢＡとロウアドレスＲＡと，モードレジスタ９６に設定されているステップ数データＲＳと，さらにメモリマッピングに基づいて，４つのロウアドレスＲＡ，ＲＡ＋１，ＲＡ＋ＲＳ，ＲＡ＋ＲＳ＋１を生成する。そして，これらの４つのロウアドレスが，供給バンクアドレスＢＡのバンクを左上にする２×２のバンク群に供給される。
【０３０８】
各バンクは，メモリアレイＭＡやデコーダＤｅｃを含むメモリコアと，そのメモリコアを制御するコア制御部（図示せず）とを有し，コア制御部は，上記バンク活性化信号ａｃｔｐｚ０−３に応答してバンク内のメモリコアを活性化制御する。その場合，上記バンクアドレスＢＡが各ロウデコーダに供給され，それに対応するワード線が駆動され，その後センスアンプ群が活性化される。これが，バンクでの活性化動作（アクティブ動作）である。
【０３０９】
以下，マルチバンクアクセスに求められる機能として，メモリ装置内の活性化すべきバンク選択動作と，バンク活性化のタイミング制御と，ロウアドレス生成動作と，メモリマッピングのバンク割付設定動作とについて具体的に説明する。
【０３１０】
［バンク選択］
図７２，図７３は，マルチバンク活性化制御部８８の第１の例を示す図である。図７２には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第１の例では，マルチバンク情報ＳＡ’として２ビットのバンク数データが供給される。
【０３１１】
タイミングチャートは前述の例と同じであり，拡張モードレジスタセットコマンドＥＭＲＳと共に，バンクアドレス端子ＢＡにレジスタ設定データＶが，アドレス端子ＡＤＤにステップ数データＲＳがそれぞれ入力されモードレジスタにセットされ，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’がそれぞれ入力される。
【０３１２】
メモリ装置は，クロックＣＬＫに同期して，各入力バッファ９４に入力されたマルチバンク情報ＳＡ’０，１とバンクアドレスＢＡ０，１とを，ラッチ回路７２０にラッチする。マルチバンク活性化制御部８８は，バンクアドレスＢＡ０，１をデコードして４つのバンク選択信号bnkz<3:0>を生成するバンクデコーダ８８Ａと，このバンク選択信号に応じてアクティブパルスａｃｔｐｚを分配したバンク活性化信号actpz<3:0>を生成するバンクアクティブパルス出力回路８８Ｂとを有する。
【０３１３】
図７３には，アクセスされる矩形領域に対応するバンクデコーダ８８Ａの論理状態が示されている。図７３（Ａ）は４種類の矩形領域を示し，４種類の矩形領域と対応するマルチバンク情報ＳＡ’（００，０１，１０，１１）を示す。図７３（Ｂ）は，バンクデコーダの論理処理を示す図表である。これらに示されるとおり，ＳＡ’＝００の場合は，活性化バンク数は１でバンクデコーダ８８ＡはバンクアドレスＢＡ０，１をデコードする。これにより，バンクデコーダ８８Ａは，供給バンクアドレスＢＡ０，１で選択される１つのバンクのバンク選択信号bnkz<3:0>のみをＨレベルにする。それに伴って，選択バンクにのみバンク活性化信号actpz<3:0>が生成される。
【０３１４】
ＳＡ’＝０１の場合は，活性化バンク数は水平方向に２個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ０を縮退（無視）し，バンクアドレスＢＡ１のみで選択される２つのバンクのバンク選択信号bnkz<3:0>をＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと行方向に隣接するバンクとのバンク活性化信号actpz<3:0>が生成される。
【０３１５】
ＳＡ’＝１０の場合は，活性化バンク数は垂直方向に２個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ１を縮退（無視）し，バンクアドレスＢＡ０のみで選択される２つのバンクのバンク選択信号bnkz<3:0>をＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと列方向に隣接するバンクとのバンク活性化信号actpz<3:0>が生成される。
【０３１６】
ＳＡ’＝１１の場合は，活性化バンク数は水平，垂直方向に４個であるので，バンクデコーダ８８ＡはバンクアドレスＢＡ０，ＢＡ１を縮退（無視）し，４つのバンクのバンク選択信号bnkz<3:0>を全てＨレベルにする。それに伴って，供給バンクアドレスで選択されるバンクと行列方向に隣接する４つのバンクのバンク活性化信号actpz<3:0>が生成される。
【０３１７】
上記のバンクデコーダでのバンクアドレスの縮退は，対応するバンクアドレスＢＡとその反転信号／ＢＡとを共にＨレベルにする制御である。これにより，バンクデコーダ８８Ａは，そのバンクアドレスを無視して，残りのバンクアドレスによりバンク選択を行う。
【０３１８】
図７４，図７５は，マルチバンク活性化制御部８８の第２の例を示す図である。図７４には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第２の例では，マルチバンク情報ＳＡ’として３ビットの同時活性化バンクデータＳＡ’０−２が供給される。
【０３１９】
また，図７５（Ａ）には，メモリマッピング１２とバンクアドレスＢＡ０，ＢＡ１との関係が示されている。つまり，供給バンクアドレスＢＡ０，１に対して，右のバンクはバンクアドレスＢＡ０を反転してデコードすることで選択でき，下のバンクはバンクアドレスＢＡ１を反転してデコードすることで選択でき，右下のバンクは両バンクアドレスＢＡ０，１を反転してデコードすることで選択できる。
【０３２０】
図７５（Ｂ）には，同時活性化バンクデータＳＡ’０−２と，選択するバンクと，バンクデコーダでの論理処理とが示されている。つまり，ＳＡ’０＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて右側のバンクを選択するために，バンクデコーダはＢＡ０を反転して入力する。ＳＡ’１＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて下側のバンクを選択するために，バンクデコーダはＢＡ１を反転して入力する。そして，ＳＡ’２＝Ｈの場合は，供給バンクアドレスで選択されるバンクに加えて右下のバンクを選択するために，バンクデコーダはＢＡ０，ＢＡ１を反転して入力する。
【０３２１】
図７４に戻り，マルチバンク活性化制御部８８は，４つのバンクデコーダ８８Ａ０−３と，それらの４つのデコード信号を論理和処理するＯＲ回路８８Ｃと，バンクアクティブパルス出力回路８８Ｂとを有する。アクティブパルス出力回路８８Ｂは，図７２と同じである。また，４つのバンクデコーダ８８Ａ０−３は，下から順に，供給バンクアドレスＢＡ０，１をデコードして左上バンクを選択するデコーダと，ＢＡ０を反転して右のバンクを選択するデコーダと，ＢＡ１を反転して下のバンクを選択するデコーダと，ＢＡ０，ＢＡ１を共に反転して右下のバンクを選択するデコーダとからなる。よって，上から３つのバンクデコーダは，同時活性化バンクデータＳＡ’０−２に応じて活性化され，対応するバンク選択信号bnkz<3:0>を出力する。
【０３２２】
上記の第２の例によれば，供給されるバンクアドレスにより左上の先頭バンクが選択され，３ビットの同時活性化バンクデータＳＡ’０−２により，右，下，右下のバンクが適宜選択される。したがって，斜め方向に２つのバンクを同時に活性化したり，３つのバンクを同時に活性化したりすることができ，同時活性化対象のバンクの組み合わせをフレキシブルに変更することができる。よって，特殊な領域に対するアクセスにも対応可能である。
【０３２３】
図７６，図７７は，マルチバンク活性化制御部８８の第３の例を示す図である。図７６には，マルチバンク活性化制御部８８の構成と，タイミングチャートとが示されている。第３の例では，スペシャル入力端子ＳＰからマルチバンク情報として矩形サイズ情報Ｗ，Ｈが入力される。そのため，マルチバンク活性化制御部８８には，活性化バンク判定回路８８Ｄが設けられ，活性化バンク判定回路８８Ｄは，ページ領域内のコラムアドレスのステップ数データＣＳＴと，矩形サイズ情報Ｗ，Ｈと，コラムアドレスＣＡとから，同時に活性化すべきバンクを判定する。
【０３２４】
図７６のタイミングチャートに示されるとおり，メモリ装置は，拡張モードレジスタセットコマンドＥＭＲＳと共にメモリマッピングにおけるロウアドレスのステップ数ＲＳと，ページ領域内のコラムアドレスのステップ数データＣＳＴとを入力し，モードレジスタにセットする。次に，メモリ装置は，アクティブコマンドＡＣＴと共に，バンクアドレスＢＡ，ロウアドレスＲＡ，矩形領域サイズデータＷ，Ｈを入力する。この時，メモリ装置のアドレスがノンマルチプルで入力される場合は，アクティブコマンドＡＣＴと共にコラムアドレスＣＡも入力する。一般的なＳＤＲＡＭは，アドレスをマルチプルで入力するので，図７０で示したとおり，リードコマンドやライトコマンドと共にコラムアドレスＣＡを入力する。
【０３２５】
マルチバンク活性化制御部８８内の活性化バンク判定回路８８Ｄは，ステップ数データＣＳＴと，矩形サイズ情報Ｗ，Ｈと，コラムアドレスＣＡとから，同時に活性化すべきバンクを判定する。その判定アルゴリズムが，図７７に示されている。
【０３２６】
図７７（Ａ）は，メモリマッピングのページ領域内の情報を示している。すなわち，一般化されたメモリマッピングによれば，コラムアドレスがＭビット，ＣＡ［Ｍ−１：０］，ステップ数ＣＳＴ＝２Sとすると，ページ領域１４内において，水平方向は下位のコラムアドレスＣＡ［Ｓ−１：０］でマッピングされ，垂直方向は上位のコラムアドレスＣＡ［Ｍ−１：Ｓ］でマッピングされている。つまり，入力されるコラムアドレスＣＡから，ページ領域１４の水平方向の位置はそのコラムアドレスＣＡの下位のＳビットで判定でき，垂直方向の位置は上位のＭ−Ｓビットで判定できる。よって，ページ領域内の水平方向の位置とコラムアドレスのステップ数２Sとの差が矩形領域の幅Ｗより小さければ，矩形領域が水平方向のバンクをまたぐことになり，垂直方向の位置とページ領域の高さ２M-Sとの差が矩形領域の高さＨより小さければ，矩形領域が垂直方向のバンクをまたぐことになる。
【０３２７】
図７７（Ｂ）の活性化バンク判定アルゴリズムに示されるとおり，入力コラムアドレスＣＡに対して，（１）水平方向にバンク（ページ領域）をまたぐ条件は，
2S - CA[S-1:0] < W であり，（２）垂直方向にバンク（ページ領域）をまたぐ条件は，
2M-S - CA[M-1:S] < H である。
【０３２８】
図７７（Ｃ）の例について説明すると，ページ領域１４Ｘは，７ビットのコラムアドレスＣＡ［６：０］で選択される１２８個のメモリ単位領域を有し，行方向のステップ数ＣＳＴ＝１６である。このようなページ領域１４Ｘに対して，入力コラムアドレスＣＡ＝７７（１０進数），矩形サイズＷ＝８（８クロック，３２バイト），Ｈ＝８の場合は，下位アドレスＣＡ［３：０］＝１３，上位アドレスＣＡ［６：４］＝４であるので，上記の条件式に基づけば，水平方向も垂直方向も共にまたぐことが判定される。
【０３２９】
上記のような判定アルゴリズムにより，活性化バンク判定回路８８Ｄは，同時に活性化すべきバンクの判定を行う。その結果活性化バンク判定回路８８Ｄは，バンクデコーダ８８Ａにバンクアドレス縮退信号８８Ｅを出力する。つまり，水平方向のバンクをまたぐ場合はバンクアドレスＢＡ０を縮退させ，垂直方向のバンクをまたぐ場合はバンクアドレスＢＡ１を縮退させる。この縮退信号８８Ｅは，図７２のマルチバンク情報ＳＡ’０，１と等価である。
【０３３０】
つまり，第３の例は，第１，第２の例でメモリコントローラが行う活性化バンク判定機能を，メモリ装置内に設けた例である。上記の活性化バンク判定アルゴリズムが，メモリコントローラ内に設けられれば，図７２のマルチバンク情報ＳＡ’０，１がメモリコントローラからメモリ装置に供給されることになる。
【０３３１】
以上の通り，マルチバンク活性化機能を実現するために，ロウ制御部内のマルチバンク活性化制御部８８は，入力データに基づいて，活性化すべきバンク選択信号bnkz<3:0>を生成し，それに基づいてバンク活性化信号actpz<3:0>を生成し，活性化すべきバンクの活性化動作を制御する。
【０３３２】
［バンク活性化タイミング］
マルチバンク活性化制御部８８は，活性化すべきバンクにバンク活性化信号actpz<3:0>を供給し，各バンクはこのバンク活性化信号に応答して，ページ領域の活性化動作を開始する。その場合，複数のバンクを活性化するタイミングを制御することが望ましい。たとえば，複数のバンクを同じタイミングで活性化動作させる制御と，または複数のバンクを順次タイミングをずらして活性化動作させる制御とが考えられる。前者の場合はその後のリードコマンドやライトコマンドのタイミングに制約がない。一方，後者の場合は，同時に複数のバンクで活性化動作が行われないので，消費電流が瞬間的に高くなることを回避できる。
【０３３３】
図７８は，バンク活性化タイミングの例１を示す図である。この例では，複数のバンクを同時に活性化動作する。マルチバンク活性化制御部８８は，前述のとおり，活性化バンクを選択するバンクデコーダ８８Ａと，その活性化バンク選択信号bnk<3:0>に基づいてコマンド制御部９５からのアクティブパルスactpzを選択されたバンクに分配するバンクアクティブパルス出力回路８８Ｂとを有する。図中のタイミングチャートに示されるとおり，バンクアクティブパルス出力回路８８Ｂは４つのＡＮＤゲートで構成され，バンク活性化信号actpz<3:0>を同じタイミングで出力する。
【０３３４】
各バンクｂａｎｋ０−３は，メモリセルアレイを含むメモリコア７８１と，メモリコアを制御するコア制御回路７８０とを有し，バンク活性化信号actpz<3:0>に応答して，各コア制御回路７８０は，メモリコア７８０内のロウデコーダを活性化させ，ロウアドレスに対応するワード線を駆動し，センスアンプ列を活性化する。
【０３３５】
図７８の例１では，アクティブコマンドＡＣＴに応答して活性化すべき複数のバンクが同時にアクティブ動作されるので，その後のリードコマンドまたはライトコマンドを順次入力して複数のバンクにアクセスすることができる。
【０３３６】
図７９は，バンク活性化タイミングの例２を示す図である。この例では，複数のバンクを順次タイミングをずらして活性化動作させる。コマンド制御部９５は，コマンドデコーダ９５Ａとパルス生成回路９５Ｂに加えて，３つの遅延回路７９１，７９２，７９３を有する。この３つの遅延回路は，活性化バンク数信号７９０に応答して活性化され，パルス生成回路９５Ｂが生成するアクティブパルスactpz0を所定時間ずつ遅延させて，３つの遅延アクティブパルスactpz1-3を生成する。アクティブパルスactpz0及び遅延アクティブパルスactpz1-3は，バンクアクティブパルス出力回路８８Ｂの４つのセレクタＳＥＬにそれぞれ供給される。
【０３３７】
マルチバンク活性化制御部８８は，活性化バンク制御回路８８Ｃとバンクアクティブパルス出力回路８８Ｂで構成され，活性化バンク制御部８８Ｃは，前述のバンクデコーダの機能を内蔵し，供給バンクアドレスＢＡ［１：０］とマルチバンクデータＳＡ’［１：０］とに基づいて，活性化されるべきバンクに対して活性化順番を判定し，セレクタＳＥＬに選択信号７９５を供給する。この選択信号７９５は８ビットで構成され，２ビットの選択信号が各セレクタに供給され，各セレクタは選択信号７９５に応答して活性化すべきバンクにバンク活性化信号actpz<3:0>を出力する。
【０３３８】
なお，遅延回路７９１〜７９３は，活性化バンク数データ７９０に応じて必要な遅延アクティブパルスactpz1-3を生成することで，省電力化を可能にしている。
【０３３９】
図８０は，活性化バンク制御回路８８Ｃのバンク活性化タイミング制御の論理を説明する図である。図８０には，マルチバンクデータＳＡ’［１：０］＝１１，０１，１０の場合の，４つのバンクを活性化する順番データ（２ビットの２進数表示）の表８００，８０１，８０２が示されている。
【０３４０】
マルチバンクデータＳＡ’［１：０］＝１１の場合は，４つのバンクを全て活性化することになり，活性化順番データ表８００に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて活性化順番データ（００，０１，１０，１１）が異なる。たとえば，供給バンクアドレスＢＡ［１：０］＝００の場合は，バンクＢａｎｋ０，１，２，３の順番で活性化制御される。表８００内に示されている活性化順番データ（００，０１，１０，１１の８ビット）が，図７９に示した活性化バンク制御回路８８Ｃが生成する８ビットの選択信号７９５に対応する。つまり，４つのセレクタＳＥＬが，アクティブパルスactpz0及び３つの遅延アクティブパルスactpz1,actpz2,actpz3をそれぞれ選択する。その結果，バンク活性化信号actpz<0>〜<3>は，順番に生成される。
【０３４１】
また，供給バンクアドレスＢＡ［１：０］＝０１の場合は，バンクＢａｎｋ１，０，３，２の順番で活性化制御される。この場合のバンク活性化信号actpz<0>〜<3>が，図７９のタイミングチャートに示されている。表８００内に示されている活性化順番データ（０１，００，１１，１０の８ビット）が選択信号７９５としてセレクタに供給され，４つのセレクタＳＥＬが，上から順に遅延アクティブパルスactpz1，アクティブパルスactpz0，遅延アクティブパルスactpz3,actpz2をそれぞれ選択する。その結果，タイミングチャートに示すとおり，バンク活性化信号actpz<1>，<0>，<3>，<2>がこの順番で生成される。
【０３４２】
同様に，マルチバンクデータＳＡ’［１：０］＝０１の場合は，水平方向の２つのバンクを活性化することになり，活性化順番データ表８０１に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて２つの活性化順番データ（００，０１）が生成される。
【０３４３】
同様に，マルチバンクデータＳＡ’［１：０］＝１０の場合は，垂直方向の２つのバンクを活性化することになり，活性化順番データ表８０２に示されるとおり，供給バンクアドレスＢＡ［１：０］に応じて２つの活性化順番データ（００，１０）が生成される。この表８０２によれば，表８００と共通化したため，２つのバンクを活性化するために，アクティブパルスactpz0と遅延アクティブパルスactpz2とを利用して，バンク活性化信号が生成される。つまり，表８０２の下のタイミングチャート８０３に示されるとおり，供給されたアクティブコマンドＡＣＴに応答して，内部のアクティブコマンドＡＣＴがアクティブパルスactpz0と遅延アクティブパルスactpz2のタイミングで生成されている。
【０３４４】
そこで，マルチバンクデータＳＡ’［１：０］＝１０の場合は，表８０２の代わりに表８０４のような活性化順番データ（００，０１）を生成するようにしても良い。この場合は，表８０４の下のタイミングチャート８０５に示されるとおり，供給されたアクティブコマンドＡＣＴに応答して，内部のアクティブコマンドＡＣＴがアクティブパルスactpz0と遅延アクティブパルスactpz1のタイミングで生成される。つまり，同時にアクティブ化される２つのバンクがタイミングをずらしながら連続して活性化される。
【０３４５】
図８１は，バンク活性化タイミングの例３を示す図である。この例では，複数のバンクを順次タイミングをずらして活性化動作させる。図８１では，図７９の遅延回路７９１〜７９３の代わりに，クロックＣＬＫに同期して動作するフリップフロップ回路８１０〜８１２を設けている。それ以外の構成は，図７９と同じである。活性化バンク制御回路８８Ｃも，図７９，図８０で説明したとおりである。
【０３４６】
この例３によれば，遅延回路がクロックＣＬＫに同期したフリップフロップ回路８１０〜８１２であるので，アクティブパルスactpz0からクロックＣＬＫに同期した遅延タイミングで３つの遅延アクティブパルスactpz1-3が生成される。つまり，図８１のタイミングチャートに示されるとおり，バンク活性化信号actpz<0>〜<3>が，クロックＣＬＫに同期して順番に出力される。それにより，クロックＣＬＫが高速化されるとバンク活性化信号actpz<0>〜<3>もそれに追従して高速に順次生成され，低速化されると同様に低速に順次生成される。よって，クロック同期の動作が可能である。
【０３４７】
［ロウアドレス生成］
本実施の形態におけるマルチバンクアクセス機能では，１回のアクティブコマンドＡＣＴとバンクアドレス及びロウアドレスに応答して，アクセスが必要なバンクのページ領域を全て活性化制御する。したがって，供給されたバンクアドレスとロウアドレスから，活性化が必要なバンクの判定に加えて，活性化が必要なページ領域を特定するロウアドレスを生成する必要がある。
【０３４８】
図８２は，本実施の形態におけるマルチバンクアクセスでのロウアドレス生成を説明する図である。図中，メモリマッピング１２と，矩形アクセス領域ＲＣ０−３に対応する供給バンクアドレスＢＡ０，１と，各バンクの活性化対象のロウアドレスＲＡとを示す論理値表８２０とが示されている。メモリマッピング１２は，前述と同様であり，行列方向に配列されたページ領域は，上下に隣接するページ領域のバンクがそれぞれ異なっていて，上下に隣接する４つのバンクBank0-3毎にロウアドレスが＋１ずつインクリメントしている。
【０３４９】
そして，このメモリマッピング１２によれば，アクセスされる矩形領域ＲＣ０の場合は，供給バンクアドレスＢＡ＝ＢＡ０（＝００）と供給ロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ０／ＲＡ０，ＢＡ１／ＲＡ０，ＢＡ２／ＲＡ０，ＢＡ３／ＲＡ０であることが理解できる。矩形領域ＲＣ１の場合は，供給されるバンクアドレスＢＡ＝ＢＡ１（＝０１）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ１／ＲＡ０，ＢＡ０／ＲＡ１，ＢＡ３／ＲＡ０，ＢＡ２／ＲＡ１であり，矩形領域ＲＣ２の場合は，供給されるバンクアドレスＢＡ＝ＢＡ２（＝１０）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ２／ＲＡ０，ＢＡ３／ＲＡ０，ＢＡ０／ＲＡ（０＋ＲＳ），ＢＡ２／ＲＡ（０＋ＲＳ）であり，矩形領域ＲＣ３の場合は，供給されるバンクアドレスＢＡ＝ＢＡ３（＝１１）とロウアドレスＲＡ＝ＲＡ０とから，同時に活性化すべきページ領域のアドレスは，ＢＡ３／ＲＡ０，ＢＡ２／ＲＡ（０＋１），ＢＡ１／ＲＡ（０＋ＲＳ），ＢＡ２／ＲＡ（０＋ＲＳ＋１）である。
【０３５０】
上記を一般化すると，供給ロウアドレスがＲＡ，メモリマッピング１２のロウアドレスのステップ数がＲＳの場合，各バンクBank0-3に発生すべきロウアドレスは，供給バンクアドレスＢＡ０，ＢＡ１に応じて論理値表８２０に示されるとおりである。すなわち，以下の通りである。
ＢＡ＝００：ＲＡ，ＲＡ，ＲＡ，ＲＡ
ＢＡ＝０１：ＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡ
ＢＡ＝１０：ＲＡ＋ＲＳ，ＲＡ＋ＲＳ，ＲＡ，ＲＡ
ＢＡ＝１１：ＲＡ＋ＲＳ＋１，ＲＡ＋ＲＳ，ＲＡ＋１，ＲＡ
したがって，図７１のロウアドレス演算部９７は，供給されるバンクアドレスＢＡとロウアドレスＲＡとに応じて，上記論理値表８２０に示したロウアドレスを各バンクBank0-3に生成する。
【０３５１】
図８３は，本実施の形態におけるロウアドレス演算部の例１を示す図である。ロウアドレス演算部９７は，供給されるロウアドレスＲＡに，０，１，ＲＳ，ＲＳ＋１をそれぞれ加算するアドレス加算器８３１〜８３４と，それらアドレス加算器の出力のいずれかを選択して各バンク内のアドレスデコーダ８３６に供給するセレクタＳＥＬと，セレクタＳＥＬに選択信号８３５を供給するロウアドレス制御回路８３０とを有する。ロウアドレス制御回路８３０は，供給されるバンクアドレスＢＡに応じて，図８２の論理値表８２１に示された選択信号（各２ビット，合計で８ビット）を生成する。また，ロウアドレスのステップ数データＲＳと，ＲＳ＋１とが，モードレジスタ９６からアドレス加算器８３３，８３４にそれぞれ供給され，固定値「０」「１」がアドレス加算器８３１，８３２にそれぞれ供給される。よって，加算器８３１は，供給ロウアドレスＲＡをそのまま出力する。
【０３５２】
たとえば，供給バンクアドレスＢＡ＝０１の場合は，ロウアドレス制御回路８３２は，選択信号８３５として「０１，００，０１，００」を生成し，それに応じて，各セレクタＳＥＬは，上から順に，ＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡを選択して，各バンクのアドレスデコーダ８３６に供給する。各バンクは，前述のバンク活性化信号actpz<3:0>に応答して，選択されたバンクのアドレスデコーダ８３６が活性化され，活性化されたアドレスデコーダが上記のロウアドレスＲＡ＋１，ＲＡ，ＲＡ＋１，ＲＡをデコードし，対応するワード線を活性化する。
【０３５３】
図８４は，本実施の形態におけるロウアドレス演算部の例２を示す図である。この例では，ロウアドレス演算部９７は，供給されるロウアドレスＲＡに，セレクタＳＥＬで選択された定数０，１，ＲＳ，ＲＳ＋１を加算する４つのアドレス加算器８４１〜８４４と，セレクタＳＥＬに選択信号８３５を供給するロウアドレス制御回路８３０とを有する。ロウアドレス制御回路８３０は，図８３と同じである。そして，このロウアドレス制御回路８３０の選択信号に応じて，各セレクタＳＥＬは，４つの定数０，１，ＲＳ，ＲＳ＋１のいずれかを選択し，アドレス加算器に出力する。つまり，ロウアドレス演算器９７は，供給ロウアドレスＲＡに加算する定数０，１，ＲＳ，ＲＳ＋１をセレクタで選択し，選択された定数をアドレス加算器に与える。図８３のロウアドレス演算器９７は，４つのアドレス加算器の出力をセレクタで選択したが，図８４のロウアドレス演算器９７は，４つの定数をセレクタで選択している。この点で異なるだけである。
【０３５４】
以上のように，ロウアドレス演算器９７は，供給されるロウアドレスＲＡから，必要な４つのロウアドレスを生成する。よって，メモリ装置は，１回のアクティブコマンドでロウアドレスを入力すれば，内部で必要な４つのロウアドレスを生成することができ，複数のバンクを活性化することができる。
【０３５５】
［メモリマッピング設定］
マルチバンク活性化機能を実現するためには，メモリ装置にメモリマッピング情報を設定しておくことが必要である。例えば，図８２で説明したとおり，メモリマッピング１２に基づいて４種類の矩形アクセス領域ＲＣ０−３において活性化すべきバンクが選択され，生成すべきロウアドレスが演算される。よって，より上位のシステムにおけるメモリマッピングが異なると，メモリ装置はそれに応じて活性化すべきページ領域の判定処理を変更することが求められる。
【０３５６】
図８５は，２つのメモリマッピング例を示す図である。メモリマッピング１２Ａは，前述してきたメモリマッピングと同じであり，奇数行にはバンクＢａｎｋ０，１が，偶数行にはバンクＢａｎｋ２，３が配置され，ロウアドレスＲＡが図示されるように配置される。また，メモリマッピング１２Ｂは，奇数行には偶数のバンクＢａｎｋ０，２が，偶数行には奇数のバンクＢａｎｋ１，３が配置され，ロウアドレスＲＡは１２Ａと同じである。
【０３５７】
図８６は，上記の２種類のメモリマッピングに対するバンクアドレス切換回路８６１を示す図である。図８６（Ｂ）の構成図には，クロック端子ＣＬＫ，特殊入力端子ＳＰ０，バンクアドレス端子ＢＡ０，ＢＡ１に対して，それぞれ入力バッファ９４が設けられ，クロックＣＬＫに同期してそれぞれの信号をラッチするラッチ回路８６０が設けられている。
【０３５８】
図８６（Ａ）のタイミングチャート図に示されるとおり，拡張モードレジスタセットコマンドＥＭＲＳと共にバンクアドレス端子ＢＡから設定データＶが，特殊端子ＳＰ０からメモリマッピング情報ＡＲが，アドレス端子ＡＤＤからロウアドレスのステップ数データＲＳがそれぞれ入力される。そして，設定データＶ，メモリマッピング情報ＡＲ，ステップ数データＲＳは，モードレジスタ９６にセットされる。
【０３５９】
このモードレジスタ９６にセットされたメモリマッピング情報ＡＲに応じて，バンクアドレス切換回路８６１内のセレクタＳＥＬが，２ビットのバンクアドレスＢＡ０，ＢＡ１のいずれかを選択し，内部バンクアドレスｂａ０ｚ，ｂａ１ｚを生成する。図中に示されるとおり，メモリマッピング情報ＡＲ＝Ｌの場合は，内部バンクアドレスは，ｂａ０ｚ＝ＢＡ０，ｂａ１ｚ＝ＢＡ１にされ，メモリマッピング情報ＡＲ＝Ｈの場合は，内部バンクアドレスは，ｂａ０ｚ＝ＢＡ１，ｂａ１ｚ＝ＢＡ０にされる。
【０３６０】
このように，入力部でバンクアドレスＢＡ０，ＢＡ１をメモリマッピング情報ＡＲに基づいて切り替えることにより，メモリ装置内部のバンク選択機能やロウアドレス生成機能は，共通のメモリマッピング１２Ａに基づく構成にすることができる。
【０３６１】
なお，上記の実施の形態では，また，マルチバンク情報（ＳＡ’）、同時活性化バンクデータ（ＳＡ’０−２）、矩形領域サイズデータ（Ｗ，Ｈ）等をスペシャル入力端子ＳＰから入力したが、使用されていない端子で実現可能である。例えば，リード動作において，ロウアドレスがアドレス端子Ａｄｄ０〜１２で入力され，コラムアドレスがアドレス端子Ａｄｄ０〜９で入力されるとすると，コラムアドレスが入力されるときアドレス端子Ａｄｄ１０〜１２は使用されていない。よって，コラムアドレス入力時に使用されていないアドレス端子Ａｄｄ１０〜１２からこれら制御データＳＡ’，Ｗ，Ｈ等を入力することができる。その場合にも本発明は適用可能である。
【０３６２】
また、拡張モードレジスタセットコマンドＥＭＲＳによりモードレジスタに設定される各種情報は上記実施の形態に限定されることなく、アドレス端子から入力されることも本発明の適用範囲である。
【０３６３】
《マルチバンクアクセスとバイトバウンダリ》
バンクアドレスとコラムアドレスで選択されるメモリ単位領域を超える矩形アクセスの場合に対応して，メモリ装置がバイトバウンダリ機能を有することを説明した。また，バンクアドレスとロウアドレスで選択されるページ領域を超える矩形アクセスの場合に対応して，メモリ装置がマルチバンクアクセス機能を有することも説明した。そこで，矩形アクセス領域が，ページ領域を超えるとともにメモリ単位領域を超える場合に，両方の機能により，１回のアクティブコマンドでアクセス可能にし且つ無駄なデータ出力をなくすことができる。以下，具体的に説明する。
【０３６４】
図８７は，マルチバンクアクセスとバイトバウンダリが発生した場合のタイミングチャートを示す図である。図示されるとおり，矩形アクセス領域２２がページ領域を超えて複数のバンクＢＡ３，ＢＡ２，ＢＡ１，ＢＡ０にまたがり，且つメモリ単位領域を超えてコラムアクセスが必要な例である。この例では，マルチバンク情報ＳＡ’＝４（＝１１），スタートバイト信号ＳＢ＝２である。
【０３６５】
図８８は，マルチバンクアクセス機能とバイトバウンダリ機能とを有するメモリ装置の構成図である。このメモリ装置８６には，簡単のために，２つのバンクＢａｎｋ２，３のみが示されているが，これに加えて図示しない２つのバンクＢａｎｋ０，１が設けられている。モードレジスタ９６には，メモリマッピングにおけるロウアドレスのステップ数データＲＳと，コラムアドレスのステップ数データＣＳＴとがあらかじめ設定される。
【０３６６】
ロウ制御部としては，バンクアドレスＢＡとマルチバンク情報ＳＡ’とから活性化すべきバンクへのバンク活性化信号actpz<3:0>を生成するマルチバンク活性化制御部８８と，バンクアドレスＢＡとロウアドレスＲＡとロウアドレスのステップ数データＲＳとから各バンクのロウアドレスを演算するロウアドレス演算部９７−２，９７−３とが設けられている。このロウアドレス演算部９７−２，９７−３は，図８３，図８４で説明した構成の一部分である。また，図７８で説明したとおり，バンク活性化信号actpzは各バンク内のコア制御部に供給される。但し，図８８にはコア制御部は省略されている。
【０３６７】
コラム制御部９０には，供給されるコラムアドレスＣＡとバンクアドレスＢＡと，スタートバイト信号ＳＢとコラムアドレスのステップ数データＣＳＴとから，各バンクに内部コラムアドレスＩ−ＣＡ−２，３を生成するコラムアドレスコントローラ２９０−２，２９０−３を有する。このコラムアドレスコントローラ２９０は，図４４に示したコラムアドレス生成器と同等であり，これにバンクアドレスＢＡを追加することで，バンクの境界をまたいでバイトバウンダリに必要なコラムアドレスの生成を可能にする。なお，ステップ数データＣＳＴは，図４４のコラムアドレス折り返しデータCAWrapと同じである。
【０３６８】
さらに，コラム制御部９０は，供給されるバンクアドレスＢＡとコラムアドレスＣＡとスタートバイト信号ＳＢとに基づいて，各バンク内のバイト領域Ｂｙｔｅ０−３のデータを選択する制御信号Ｓ２２１を生成する。この制御信号Ｓ２２１により，各バンクの４つのバイト領域Ｂｙｔｅ０−３内のデータラッチ回路が選択され，入出力バスＩ／Ｏｂｕｓに接続される。各バンク内のバイト領域Ｂｙｔｅ０−３の構成と動作は，図２２，２４，２９で説明したのと同じである。各バンクに４つのバイト領域があるので，上記の制御信号Ｓ２２１は，４×４＝１６ビットの選択信号である。
【０３６９】
次に，図８７の矩形領域２２がアクセスされる時の動作について説明する。図８７のタイミングチャートに示されるとおり，拡張モードレジスタセットコマンドＥＭＲＳと共にコラムアドレスのステップ数データＣＳＴ＝４（図中８７１）と，ロウアドレスのステップ数データＲＳ＝４（図中８７２）とが入力され，モードレジスタ９６に設定される。
【０３７０】
次に，アクティブコマンドＡＣＴ（図中８７６）と共に，矩形アクセス領域の左上の画素を含むページ領域のバンクアドレスＢＡとロウアドレスＲＡ，及びマルチバンク情報ＳＡ’＝４（図中８７３）が入力される。ＳＡ’＝４では，２×２＝４つのバンクを同時にアクティブ化することを要請されている。これに応答して，マルチバンク活性化制御部８８は，４つのバンクにバンク活性化信号actpz<3:0>を出力する。また，ロウアドレス演算部９７−２，３が，各バンクのロウアドレスを演算する。そして，４つのバンク内のロウデコーダが演算されたロウアドレスをデコードして対応するワード線を駆動し，バンクを活性化する。
【０３７１】
そして，リードコマンドＲＤ（図中８７７）と同時に，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２６，スタートバイト信号ＳＢ＝２（図中８７４）とバイト組み合わせ情報の第２の情報ＢＭＲ＝ＵＰ（図中８７５）とを入力する。このバンクアドレスＢＡに対応するバンクＢａｎｋ３のコラムアドレスコントローラ２９０−３は，供給されたコラムアドレスＣＡ＝１２６と，スタートバイト信号ＳＢ＝２に基づきコラムアドレスＣＡ＝１２７を生成し，内部コラムアドレスＩ−ＣＡ−３として出力する。これにより，バンクＢａｎｋ３は，各バイト領域Ｂｙｔｅ０−３にコラムアドレス１２６，１２７のデータを出力させる。そして，データラッチセレクタ２２１からの制御信号Ｓ２２１に応じて，バイト領域Ｂｙｔｅ２，３はコラムアドレスＣＡ＝１２６のデータを，バイト領域Ｂｙｔｅ０，１はコラムアドレスＣＡ＝１２７のデータを入出力バスＩ／Ｏｂｕｓに出力する。
【０３７２】
次に，リードコマンドＲＤと共に，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２７と，ＳＢ＝２，ＢＭＲ＝ＵＰが入力される。これに応答して，コラムアドレスコントローラ２９０−３は内部コラムアドレスＩ−ＣＡ−３＝１２７を生成し，バンクＢａｎｋ３はコラムアドレス１２７の４バイトデータを出力する。一方，コラムアドレスコントローラ２９０−２は，バンクアドレスＢＡ＝３とコラムアドレスＣＡ＝１２７とスタートバイト信号ＳＢ＝２から，バンクＢａｎｋ２からデータを読み出す必要性を検出し，コラムアドレスのステップ数データＣＳＴを参照して，バンクＢａｎｋ２のコラムアドレスＣＡ＝１２４を内部コラムアドレスＩ−ＣＡ−２として出力する。これにより，バンクＢａｎｋ２は，コラムアドレスＣＡ＝１２４の４バイトデータを読み出す。そして，データラッチセレクタ２２１が，バンクアドレスＢＡ＝３，コラムアドレスＣＡ＝１２７，スタートバイト信号ＳＢ＝２に基づいて，制御信号Ｓ２２１を生成し，バンクＢａｎｋ３からはバイト領域Ｂｙｔｅ２，３のデータを，バンクＢａｎｋ２からはバイト領域Ｂｙｔｅ０，１のデータを，それぞれ入出力バスＩ／Ｏｂｕｓに出力する。
【０３７３】
以下，リードコマンドＲＤと共に，バンクアドレスＢＡ＝１と対応するコラムアドレスＣＡ＝２，３，６，７．．．が入力され，同様にコラムアドレスコントローラ２９０が必要なコラムアドレスを生成し，データラッチセレクタ２２１が必要な制御信号Ｓ２２１を生成し，スタートバイト信号ＳＢ＝２に対応した位置から４バイトのデータが，同じバンク内からまたは隣接するバンク内から出力される。
【０３７４】
上記はリードコマンドの動作について説明したが，ライトコマンドの場合も同様のコラムアクセス制御が行われる。
【０３７５】
この実施の形態のよれば，ページ領域を超えて複数のバンクにまたがる矩形アクセスに対しても，スタートバイト信号ＳＢとバイト組み合わせ情報ＢＭＲとに基づき，メモリ単位領域内の任意のバイト（またはビット）から４バイトデータ（または４ビットデータ）をアクセスすることができる。
【０３７６】
［マルチバンクアクセスに対応するメモリコントローラ］
次に，マルチバンクアクセス機能を有するメモリ装置を制御するメモリコントローラについて説明する。図６９，図７０で説明したとおり，メモリコントローラは，メモリ装置内のモードレジスタにロウアドレスのステップ数データＲＳやメモリマッピング情報ＡＲなどをあらかじめ設定しておき，メモリアクセス元からの矩形アクセス要求に応答して，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ，ロウアドレスＲＡ，マルチバンク情報ＳＡ’をメモリ装置に発行し，さらに，リードコマンドＲＤまたはライトコマンドＷＲと共にバンクアドレスＢＡ，コラムアドレスＣＡを発行する。よって，メモリコントローラは，メモリアクセス要求に対して，マルチバンクアクセス機能に必要な上記のアドレスやデータなどを生成する必要がある。このメモリコントローラの構成と動作について説明する。
【０３７７】
図８９は，メモリマッピングの一例を示す図である。メモリマッピング１２は，フレーム画像に対応している。このメモリマッピング１２は，前述と同様に，マトリクス状に配置されたページ領域１４の奇数行にバンクアドレスＢＡ０，１が，偶数行にバンクアドレスＢＡ２，３が割り当てられ，各行でロウアドレスＲＡが順にインクリメントされ，ロウアドレスのステップ数ＲＳはＲＳ＝４である。そして，ページ領域１４は，１６画素×３２行で構成され，１つのコラムアドレスで４画素のデータ（４バイトデータ）からなるメモリ単位領域が特定される。よって，１つのページ領域１４は，５１２／４＝１２８のコラムアドレス領域（メモリ単位領域）を有する。
【０３７８】
このメモリマッピング１２では，水平方向に８ページ領域，垂直方向に４ページ領域が配置されている。よって，メモリマッピング１２において，水平方向の画素数は１２８（＝１６画素×８ページ領域），垂直方向の画素数も１２８（＝３２行×４ページ領域）である。以下，このメモリマッピングを前提にして各種の演算を説明する。
【０３７９】
図９０は，本実施の形態におけるメモリコントローラの構成図である。図５４と同様に，メモリコントローラ８２は，複数のアクセス元ブロック８１−１〜ｎからメモリアクセス要求を受けて，調停回路５４０による調停で許可されたメモリアクセス要求に対して，メモリ装置８６に対するアクセス制御を行う。つまり，メモリコントローラ８２は，アクセス元ブロック８１−１〜ｎに対応してインターフェースＩＦ＿１〜ｎを有し，更に，アクセス要求に応答してアドレスやコマンドを生成するシーケンサＳＥＱ＿１〜ｎを有する。
【０３８０】
よって，インターフェースＩＦ＿１〜nは，アクセス要求元ブロック８１とデータのやり取りを行う。アクセス元ブロックからのアクセス種別は，水平アクセスと矩形アクセスの２種類である。調停回路５４０は，インターフェースからのアクセス要求の調停を行い，アクセス権を取得したシーケンサＳＥＱ＿ｎにアクセス指示を出力する。セレクタＳＥＬは，調停回路５４０からの選択信号Ｓ５４０に応答して，いずれかのシーケンサＳＥＱ＿１〜ｎからのコマンドとアドレスを選択し，メモリ装置８６に出力する。また，セレクタＳＥＬは，選択信号Ｓ５４０に応答して，いずれかのインターフェースＩＦ＿１〜ｎのデータ線Ｄａｔａを選択する。
【０３８１】
レジスタ５４３には，上位のＣＰＵから各種パラメータが設定される。パラメータとしては，メモリ装置８６がバイトバウンダリ機能，マルチバンクアクセス機能を有するか否かなどの機能データが含まれる。それ以外に，設定パラメータとして，フレーム画像の左上の画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲ，フレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥなどが含まれる。
【０３８２】
メモリ装置８６は，前述したバイトバウンダリ機能やマルチバンクアクセス機能を有する画像メモリである。図９０のメモリコントローラ８２とメモリ装置８６とにより，画像処理システムが構成される。
【０３８３】
図９１は，アクセス元ブロックとインターフェース間の信号を示す図である。図９１（Ａ）は矩形アクセス時の信号を，図９１（Ｂ）は水平アクセス時の信号をそれぞれ示している。アクセス元ブロック８１−ｎは，アクセス要求信号ＲＥＱと共にアクセス対象領域のデータを出力する。両アクセス時の信号の送受信については後で詳述する。
【０３８４】
図９２は，アクセス対象領域のデータを説明する図である。メモリ装置の論理アドレス空間Ｓ８６内にフレーム画像ＦＭ−ＩＭＧのデータが格納されている。前述のとおり，このフレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとがレジスタ５４３に設定されている。そして，このフレーム画像内の矩形領域ＲＩＭＧがアクセス対象領域の場合は，左上のフレーム内画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）と，矩形領域の水平方向サイズＸ＿ＳＩＺＥと垂直方向サイズＹ＿ＳＩＺＥとが，アクセス元ブロック８１−ｎからメモリコントローラ内のインターフェースＩＦ＿ｎに供給される。
【０３８５】
なお，フレーム画像ＦＭ−ＩＭＧは，図８９のメモリマッピング１２と一致している。つまり，フレーム画像ＦＭ−ＩＭＧの左上画素は，バンクアドレスＢＡ＝０，ローカルなロウアドレスＲＡ＝０のページ領域内の左上画素に対応する。よって，フレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム内のローカルロウアドレスＲＡとから，メモリの論理アドレス空間内のロウアドレスを求めることができる。
【０３８６】
図９３は，アクセス元ブロックとインターフェース間の信号のタイミングチャート図である。図９３（Ａ）の矩形アクセス（リード時）では，アクセス元ブロック８１―ｎがリードライト指示信号ＲＸＷをＨレベル（リード）にすると共に，アクセス要求ＲＥＱをアサートしながら，アクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥを出力する。これに応答して，メモリコントローラはアクノリッジＡＣＫを返信し，所定の調停処理を経てメモリ装置にアクセス制御しリードデータを取得する。そして，メモリコントローラのインターフェースＩＦ＿ｎは，イネーブル信号ＥＮをアサートしながらリードデータＲＤＡＴＡ（Ｄａｔａ（Ａ０―Ａ７））を出力する。このイネーブル信号ＥＮは１クロックサイクル前からアサートされ，１クロックサイクル前にネゲートされる。
【０３８７】
一方，図９３（Ｂ）の矩形アクセス（ライト時）では，アクセス元ブロック８１―ｎがリードライト指示信号ＲＸＷをＬレベル（ライト）にすると共に，アクセス要求ＲＥＱをアサートしながら，アクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥを出力する。これに応答して，メモリコントローラはアクノリッジＡＣＫを返信し，所定の調停処理を経てメモリ装置にアクセス制御し，イネーブル信号ＥＮをアサートしながら，ライトデータＷＤＡＴＡ（Ｄａｔａ（Ａ０−Ａ７））を受信する。このイネーブル信号ＥＮも１クロックサイクル前からアサートされ，１クロックサイクル前にネゲートされる。
【０３８８】
水平アクセスの場合も同様であり，アクセス元ブロックは，水平アクセスの先頭アドレスＡＤＲと，水平アクセスサイズＳＩＺＥを供給し，リードであればリードデータＲＤＡＴＡを受信し，ライトであればライトデータＲＤＡＴＡを出力する。すなわち，図９１に示されるとおり，アクセス元ブロックが，アクセス要求ＲＥＱをアサートしながら水平アクセス先頭アドレスＡＤＲと水平アクセスサイズＳＩＺＥとリード・ライト指示信号ＲＸＷとを供給する。それに応答してインターフェースがアクノリッジ信号ＡＣＫを返信する。そして，メモリコントローラがメモリアクセスを実行し，イネーブル信号をアサートしながら読み出しデータＲＤＡＴＡを出力する。また，書き込み時は，メモリアクセス前にメモリコントローラがイネーブル信号ＥＮをアサートしながら書き込みデータＷＤＡＴＡを受信する。
【０３８９】
図９４は，メモリコントローラの動作概略を示す図である。各動作ステップが番号１〜４の順に実行される。まず，アクセス要求元ブロック８１−ｎがアクセス要求ＲＥＱを発行すると，インターフェースＩＦ＿ｎは，そのアクセス要求ＲＥＱに応答して調停回路５４０にアクセス要求を転送する。次に，調停回路５４０は，メモリ装置８６がアクセス可能であり且つアクセス要求元の優先順位が最上位であれば，インターフェースＩＦ＿ｎにアクノリッジ信号ＡＣＫを返信するとともに，シーケンサＳＥＱ＿ｎにコマンド発行開始指示ＳＴＡＲＴを出力する。このコマンド発行開始指示ＳＴＡＲＴに応答して，シーケンサＳＥＱ＿ｎはコマンド発行に必要な各種パラメータＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥをインターフェースＩＦ＿ｎから受信する。
【０３９０】
シーケンサＳＥＱ＿ｎは，上記のパラメータとレジスタに設定されているパラメータに基づいてコマンド発行を行い，メモリ装置８６へのアクセスを開始する。シーケンサＳＥＱ＿ｎは，コマンドの発行状況に応じてデータ量に対応したイネーブル信号ＥＮを発行し，そのイネーブル信号ＥＮはインターフェースＩＦ＿ｎを経由してアクセス要求元８１＿ｎに送信される。読み出しの場合は，インターフェースＩＦ＿ｎを経由してメモリ装置８６からのリードデータが，上記のイネーブル信号ＥＮに応答して，アクセス要求元８１＿ｎに送信される。書き込みの場合は，インターフェースＩＦ＿ｎを経由してアクセス要求元８１＿ｎからのライトデータが，上記のイネーブル信号ＥＮに応答して，メモリ装置８６に転送される。
【０３９１】
このようにメモリ装置８６にコマンドを発行してアクセス制御中に，シーケンサＳＥＱ＿ｎは，調停回路５４０に，データアクセス中であることを示すアクティブ信号ＡＣＴＩＶＥをアサートする。メモリへのアクセスが終了すると，このアクティブ信号ＡＣＴＩＶＥはネゲートされる。
【０３９２】
図９５は，シーケンサＳＥＱの構成図である。シーケンサＳＥＱは，シーケンサ内部の全体制御を行う制御部９４０と，インターフェースＩＦ＿ｎから転送されるアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥと，レジスタ５４３に設定されているフレーム画像ＦＭ−ＩＭＧの左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲとフレーム画像の水平方向の画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，中間パラメータを生成する中間パラメータ生成部９４１と，中間パラメータに基づいてコマンドとアドレスを生成しメモリ装置８６に出力するコマンド・アドレス生成部９４２とを有する。
【０３９３】
図９６は，中間パラメータを生成する演算式を説明するための図である。この例では，図９６（Ａ）に示されるとおり，フレーム画像ＦＭ−ＩＭＧ内の矩形領域ＲＩＭＧがアクセスされ，各データは，以下の通りである。
PICTURE_MAX_XSIZE=128
ROW_BASE_ADR=0
(X_POS,Y_POS) = (28,94)
(X_SIZE,Y_SIZE)=(8,4)
また，図９６（Ｂ）には，矩形領域ＲＩＭＧ近傍の４つのページ領域ＢＡ１／ＲＡ４，ＢＡ０／ＲＡ５，ＢＡ３／ＲＡ４，ＢＡ２／ＲＡ５における水平方向の画素番号と垂直方向の画素番号（行番号）とが示されている。これらの情報が中間パラメータとして以下の通り生成される。
【０３９４】
中間パラメータ生成部９４１は，以下の演算により中間パラメータを生成する。
【０３９５】
（１）矩形データＲＩＭＧが４つのページ領域にまたがる場合の左上バンクアドレスＢＡは，次の通り求められる。まず，以下の通り，フレーム画像ＦＭ−ＩＭＧ内の矩形データＲＩＭＧの左上のフレーム内画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）をそれぞれ，ページ領域の水平方向画素数１６，垂直方向画素数３２で除算して，バンクＸアドレスBA_X_ADR，バンクＹアドレスBA_Y_ADRを求める。上記除算は余りを切り捨てる。
BA_X_ADR=X_POS/16
BA_Y_ADR=Y_POS/32
このバンクＸアドレスBA_X_ADRとバンクＹアドレスBA_Y_ADRは，矩形領域の左上画素がメモリマッピング１２内の水平方向の何番目のページ領域か，垂直方向の何番目のページ領域かに対応する。ただし，メモリマッピング１２の左上は水平方向の０番目，垂直方向の０番目のページ領域とする。
【０３９６】
そして，求めたバンクＸアドレスBA_X_ADRとバンクＹアドレスBA_Y_ADRが奇数か偶数かに応じて，以下の通りバンクアドレスＢＡ［１：０］が求まる。
BA_X_ADRが偶数、BA_Y_ADRが偶数の場合、左上BA=0
BA_X_ADRが奇数、BA_Y_ADRが偶数の場合、左上BA=1
BA_X_ADRが偶数、BA_Y_ADRが奇数の場合、左上BA=2
BA_X_ADRが奇数、BA_Y_ADRが奇数の場合、左上BA=3
（２）右側のバンクアドレスＢＡ，下側のバンクアドレスＢＡ，右下のバンクアドレスＢＡは，以下の通り求められる。すなわち，メモリマッピング１２によれば，上記（１）で求めた左上BA[1:0]から，右BA、下BA、右下BAが次の通りになる。なお「~」は反転を意味する。
右BA=[左上BA[1], ~左上BA[0]]
下BA=[~左上BA[1], 左上BA[0]]
右下BA=[~左上BA[1], ~左上BA[0]]
図９６の例によれば，（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）＝（２８，９４）であるので，
左上バンクアドレスBAについては，
BA_X_ADR=X_POS/16=28/16=1
BA_Y_ADR=Y_POS/32=94/32=2
であるから，BA_X_ADR=1が奇数、BA_Y_ADR=2が偶数なので、左上バンクアドレスBA[1:0]=01である。つまり，ＢＡ１が求められる。
さらに，右BA、下BA、右下BAは，左上BA=2'b01から
右BA=[左上BA[1], ~左上BA[0]]=[00]=0
下BA=[~左上BA[1], 左上BA[0]]=[11]=3
右下BA=[~左上BA[1], ~左上BA[0]]=[10]=2
と，ＢＡ０，ＢＡ３，ＢＡ２がそれぞれ求められる。
【０３９７】
（３）メモリの論理アドレス空間Ｓ８６内におけるアクセス開始ロウアドレスＲＯＷ＿ＡＤＲは，次の通りである。
ROW_ADR=ROW_BASE_ADR + [PICTURE_MAX_XSIZE /(16*2)]*[Y_POS/(32*2)] + X_POS/(16*2)
つまり，ROW_BASE_ADRはフレーム画像の左上画素のロウアドレスで，PICTURE_MAX_XSIZE/(16*2)はフレーム内の水平方向のロウアドレスステップ数で，Y_POS/(32*2)は矩形領域ＲＩＭＧの左上画素がフレーム内の垂直方向の何対目かを示し（図９６中の参照番号９６１），X_POS/(16*2)が矩形領域ＲＩＭＧの左上画素がフレーム内の水平方向の何対目かを示す（図９６中の参照番号９６２）。
【０３９８】
図９６の例によれば，PICTURE_MAX_XSIZE=128，ROW_BASE_ADR=0，(X_POS,Y_POS)=(28,94)であるので，
ROW_ADR=ROW_BASE_ADR + [PICTURE_MAX_XSIZE /(16*2)]*[Y_POS/(32*2)] + X_POS/(16*2)
=0+(128/32)*(94/(32*2))+28/(16*2)
=4
である。
【０３９９】
（４）メモリの論理アドレス空間Ｓ８６内におけるアクセス開始コラムアドレスＣＯＬ＿ＡＤＲは，ページ内のコラムアドレスであり，以下の通りである。
COL_ADR= 4＊Y_POS%32+(X_POS/4)%4
ここで「%」は余りを意味する。つまり，図８９に示したとおり，ページ領域内のコラムアドレスのステップ数は４であり，ページ領域の水平方向のコラム数は４，垂直方向の行数は３２であるので，Y_POS%32はページ領域ＢＡ１，ＲＡ４内の行数を意味し，(X_POS/4)%4はページ領域内の列数を意味する。
【０４００】
図９６の例によれば，
COL_ADR= 4＊Y_POS%32+(X_POS/4)%4
=4*94%32+(28/4)%4=120+3
=123
と求められる。
【０４０１】
（５）次に，バンク内Ｘ座標（ＢＡ＿Ｘ＿ＰＯＳ）とＹ座標（ＢＡ＿Ｙ＿ＰＯＳ）は，ページ領域の水平方向の画素数が１６，垂直方向の行数が３２であるので，
BA_X_POS= X_POS%16
BA_Y_POS= Y_POS%32
と求められる。図９６（Ｃ）に示した，右上バンク（ＢＡ１／ＲＡ４）内における矩形領域ＲＩＭＧの左上画素の座標（BA_X_POS，BA_Y_POS）に対応する。
【０４０２】
（６）矩形領域ＲＩＭＧがバンク（ページ領域）を跨ぐか否かを示すX方向BANK跨ぎフラグ、Y方向BANK跨ぎフラグは，（５）で求めたバンク内Ｘ，Ｙ座標ＢＡ＿Ｘ＿ＰＯＳ，ＢＡ＿Ｙ＿ＰＯＳと，矩形領域ＲＩＭＧの水平方向，垂直方向のサイズＸ／Ｙ＿ＳＩＺＥから，以下のとおり計算できる。
BA_X_POS +X_SIZE>15ならば、X方向BANK跨ぎフラグ=1
BA_Y_POS +Y_SIZE>31ならば、Y方向BANK跨ぎフラグ=1
つまり，図９６（Ｃ）に示されるとおり，矩形領域ＲＩＭＧの左上画素の座標（BA_X_POS，BA_Y_POS）に矩形領域のサイズＸ／Ｙ＿ＳＩＺＥを加算した値が，ページ領域の水平方向サイズ１５，垂直方向サイズ３１を超えていれば，バンクを跨ぐことになることを意味する。
【０４０３】
上記（５）（６）について図９６の例で説明すると，
バンク内X座標，Y座標は，
BA_X_POS= X_POS%16=28%16=12
BA_Y_POS= Y_POS%32=94%32=30
X方向BANK跨ぎフラグ，Y方向BANK跨ぎフラグは，
BA_X_POS +X_SIZE=12+8=20で15より上なので，X方向BANK跨ぎフラグ=1
BA_Y_POS +Y_SIZE=30+4=34で31より上なので，Y方向BANK跨ぎフラグ=1
となり，X,Y方向共にバンクを跨ぐことになる。
【０４０４】
（７）次に，４つのバンクにおける矩形領域のX,Y方向のサイズ，1ST_X_SIZE, 2ND_X_SIZE, 1ST_Y_SIZE, 2ND_Y_SIZEの計算は，次の通りである。
図９６（Ｃ）に示したとおり，X方向にBANKを跨ぐ場合，左側のBANKにおけるX_SIZEを1ST_X_SIZE，右側を2ND_X_SIZEとし，Y方向にBANKを跨ぐ場合，上側のBANKにおけるY_SIZEを1ST_Y_SIZE，下側を2ND_Y_SIZEとする。そして，BANKを跨がない場合は、1STX_SIZE，1ST_Y_SIZEのみが有効となる。
よって，
X方向BANK跨ぎフラグ=1の場合は，
1ST_X_SIZE= 16 − BA_X_POS
2ND_X_SIZE=X_SIZE − 1ST_X_SIZE
X方向BANK跨ぎフラグ=0の場合は，
1ST_X_SIZE= X_SIZE
Y方向BANK跨ぎフラグ=1の場合は，
1ST_Y_SIZE= 32 − BA_Y_POS
2ND_Y_SIZE=Y_SIZE − 1ST_Y_SIZE
Y方向BANK跨ぎフラグ=0の場合は，
1ST_Y_SIZE= Y_SIZE
となる。
【０４０５】
図９６の例を適用すると，
X方向BANK跨ぎフラグ=1なので
1ST_X_SIZE= 16 − BA_X_POS =16 −12 =4
2ND_X_SIZE=X_SIZE − 1ST_X_SIZE=8 −4 =4
Y方向BANK跨ぎフラグ=1なので
1ST_Y_SIZE= 32 − BA_Y_POS= 32 −30 = 2
2ND_Y_SIZE=Y_SIZE − 1ST_Y_SIZE = 4 − 2 = 2
と求められる。
【０４０６】
（８）最後に，ロウアドレスのステップ情報ＲＳは，フレーム画像１２（ＦＭ−ＩＭＧ）中のX方向の左端から右端までスキャンする際に、いくつロウアドレスが増加するかを示した数であり，以下の計算で求められる。
RS=PICTURE_MAX_XSIZE /(16*2)
図９６の例であれば，RS= PICTURE_MAX_XSIZE /(16*2)=128/32=4と求められる。
【０４０７】
以上の通り，中間パラメータ生成部９４は，上記の演算式によって（１）〜（８）の中間パラメータを求めて，コマンド／アドレス生成部９４２に出力する。そして，コマンド／アドレス生成部９４２が，中間パラメータに基づいて，メモリ８６に供給するコマンドとバンクアドレスＢＡ，ロウアドレスＲＡ，コラムアドレスＣＡ，ロウアドレスステップ情報ＲＳ，マルチバンク情報ＳＡ’を生成する。
【０４０８】
図９７は，コマンド／アドレス生成部における動作フローチャート図である。図中，生成されるコマンドが楕円形で示されている。まず，メモリコントローラは，通常のモードレジスタセットコマンドＭＲＳを発行し，メモリ装置内のモードレジスタに各種の初期設定を行う（Ｓ４０）。この初期設定は，通常のＳＤＲＡＭで行われる設定である。そして，待機状態になる（Ｓ４１）。やがて，アクセス元ブロック８１からアクセス要求を受信すると，中間パラメータ生成部９４１が，アクセス元ブロックから受信したアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥと，レジスタ５４３内に設定されているフレーム画像の左上画素のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲと水平方向画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，前述の中間パラメータを生成する（Ｓ４２）。
【０４０９】
コントロール対象のメモリ装置にマルチバンクアクセス機能があるか否かがレジスタ５４３に設定されているので，それをチェックする（Ｓ４３）。マルチバンクアクセス機能が設定されていない場合は，通常のコントロール動作によって，アクティブコマンドＡＣＴとリードコマンドＲＤ（またはライトコマンド）とを，バンク数分繰り返して発行する（Ｓ４４）。
【０４１０】
マルチバンクアクセス機能が設定されている場合は，コマンド／アドレス生成部９４２が，バンク跨ぎフラグＦｌａｇ［Ｘ：Ｙ］に基づいてバンク数を判定する（Ｓ４６）。その結果，コマンド・アドレス生成部９４２が，バンク跨ぎフラグＦｌａｇ［Ｘ：Ｙ］からマルチバンク情報ＳＡ’［１：０］を生成する。両者の関係は次の通りである。
Ｆｌａｇ［Ｘ：Ｙ］＝００    ＳＡ’［１：０］＝００（１つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝１０    ＳＡ’［１：０］＝０１（Ｘ方向に２つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝０１    ＳＡ’［１：０］＝１０（Ｙ方向に２つのバンクをアクティブ）
Ｆｌａｇ［Ｘ：Ｙ］＝１１    ＳＡ’［１：０］＝１１（４つのバンクをアクティブ）
よって，コマンド／アドレス生成部９４２は，アクティブコマンドＡＣＴと，先頭バンクアドレスＢＡ，先頭ロウアドレスＲＡと共に，マルチバンク情報ＳＡ’とを発行する（Ｓ８０，Ｓ７０，Ｓ６０，Ｓ５０）。
【０４１１】
４つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝１１を発行する（Ｓ５０）。そして，コマンド／アドレス発生部９４２は，左上バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５１）。このリード又はライトコマンドは，左上バンク内のＸ方向のアクセスサイズである1ST_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。さらに，右バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５２）。このリード又はライトコマンドは，右バンク内のＸ方向のアクセスサイズである2ND_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。そして，ライン数lineを＋１インクリメントし（Ｓ５３），ライン数lineが左上バンク内のＹ方向のアクセスサイズである1ST_Y_SIZEを超えるまで工程Ｓ５１，Ｓ５２，Ｓ５３を繰り返す（Ｓ５４）。
【０４１２】
次に，コマンド／アドレス発生部９４２は，下バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５５）。このリード又はライトコマンドは，下バンク内のＸ方向のアクセスサイズである1ST_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。さらに，右下バンク内のコラムアドレスＣＡと共にリードコマンドまたはライトコマンドを発行する（Ｓ５６）。このリード又はライトコマンドは，右バンク内のＸ方向のアクセスサイズである2ND_X_SIZE＝Ｎ回にわたり，コラムアドレスをインクリメントしながら繰り返して発行する。そして，ライン数lineを＋１インクリメントし（Ｓ５７），ライン数lineが下バンク内のＹ方向のアクセスサイズである2ND_Y_SIZEを超えるまで工程Ｓ５５，Ｓ５６，Ｓ５８を繰り返す（Ｓ５８）。
【０４１３】
コマンド／アドレス生成部９４２は，上記のリード又はライトコマンドと共に発行するコラムアドレスを，メモリマップに基づいて，中間パラメータである先頭コラムアドレスCOL_ADR=123とコラムアドレスステップ数データCST=4とから求める。
【０４１４】
Ｘ方向に２つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝０１を発行する（Ｓ６０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ６１），更に右バンクへのリード又はライトコマンドとコラムアドレスをＮ回発行する（Ｓ６２）。これらの工程Ｓ６１，Ｓ６２，Ｓ６３を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ６４）。
【０４１５】
Ｙ方向に２つのバンクを同時に活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝１０を発行する（Ｓ７０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ７１），これらの工程Ｓ７１，Ｓ７２を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ７３）。同様に，下バンクへのリード又はライトコマンドとコラムアドレスの発行も同様に行う（Ｓ７４，Ｓ７５，Ｓ７６）。
【０４１６】
最後に，１つのバンクのみ活性化する場合は，メモリコントローラ内のコマンド／アドレス発生部９４２は，アクティブコマンドＡＣＴ及びロウアドレスＲＡと共にマルチバンク情報ＳＡ’＝００を発行する（Ｓ８０）。そして，左上バンクへのリード又はライトコマンドとコラムアドレスをN回発行し（Ｓ８１），これらの工程Ｓ８１，Ｓ８２を，ライン数lineが1ST_Y_SIZEを超えるまで繰り返す（Ｓ８３）。
【０４１７】
以上の通り，メモリコントローラ８２は，アクセス元ブロックからアクセス要求ＲＥＱと共にアクセス対象領域データＸ／Ｙ＿ＰＯＳ，Ｘ／Ｙ＿ＳＩＺＥとを受信すると，レジスタ５４３内のフレーム領域のロウアドレスＲＯＷ＿ＢＡＳＥ＿ＡＤＲと水平方向画素数ＰＩＣＴＵＲＥ＿ＭＡＸ＿ＸＳＩＺＥとから，中間パラメータを生成し，同時に活性化すべきバンク数を判定し，判定結果に対応するマルチバンク情報ＳＡ’を発行して，メモリ装置内のバンクを同時に活性化させる。これにより，１回のアクティブコマンドの発行で，複数のバンクを活性化させることができ，メモリアクセスを効率的に行うことができる。
【０４１８】
図９８は，メモリコントローラとメモリ装置との間のタイミングチャート図である。これは，図９６の４つのバンクに跨る矩形領域ＲＩＭＧをアクセスする場合のタイミングチャート図である。まず，メモリコントローラは，拡張モードレジスタセットコマンドＥＭＲＳと共にロウアドレスステップ情報ＲＳ４を発行して，メモリ装置内のレジスタ内にロウアドレスステップ情報ＲＳを設定する。次に，メモリコントローラは，アクティブコマンドＡＣＴと共に左上バンクアドレスＢＡ１と先頭ロウアドレスＲＡ４とマルチバンク情報ＳＡ’（１，１）を発行する。これに応答して，メモリ装置では，４つのバンクが同時に活性化される。
【０４１９】
図９８の例では，マルチバンク情報ＳＡ’をコラムアドレス端子ＣＡから入力している。しかし，メモリ装置がロウアドレスＲＡとコラムアドレスＣＡとを共通のアドレス端子から入力するアドレスマルチプレクス構成を採用している場合は，図７２に示したように，マルチバンク情報ＳＡ’は特殊端子ＳＰから入力する必要がある。
【０４２０】
さらに，メモリコントローラは，リードコマンドＲＤと共にバンクアドレスＢＡとコラムアドレスＣＡとを繰り返し発行する。図９６（Ｂ）に示されるとおり，バンクアドレスＢＡとコラムアドレスＣＡは，（ＢＡ，ＣＡ）＝（１，１２３），（０，１２０），（１，１２７），（０，１２４），（３，３），（２，０），（３，７），（２，４）となる。それら対応して，メモリの４バイト入出力端子ＢＹ０−３からは，図９８中に示す画素座標（Ｘ＿ＰＯＳ，Ｙ＿ＰＯＳ）の４バイトデータがそれぞれ出力され，メモリコントローラはそれらを受信する。このように，アクティブコマンドＡＣＴは１回発行されるだけである。
【０４２１】
メモリコントローラは，マルチバンクアクセス機能を利用して１回のアクティブコマンドで複数のバンクを活性化させる場合において，バイトバウンダリ機能を利用して，４バイト領域の途中からの画像データをアクセスする場合は，図８７に示したとおり，リード又はライトコマンドと共にバンクアドレスＢＡ，コラムアドレスＣＡに加えてスタートバイト情報ＳＢとメモリマップ情報ＢＭＲとを発行する。これにより，メモリコントローラは，リード又はライトコマンドの発行回数を減らすことができ，１回のアクセスでデータバス全てに有効なデータを受信または出力することができる。
【０４２２】
なお，上記の実施の形態では，複数画素の画像データを二次元配置したデジタル画像データを記憶する画像メモリを例にして説明した。しかしながら，本発明は，画像データを記憶する画像メモリに限定されず，画像データ以外でも二次元配列されたデータを所定のマッピングルールに基づいて記憶するメモリ装置に適用可能である。記憶データが二次元配列されたデータであれば，その二次元配列データ内の任意の矩形領域をアクセスするときに複数のページ領域のデータにアクセスすることが求められることがある。その場合にも本発明は適用可能である。
【０４２３】
《バックグランドリフレッシュ》
図６において，バックグランドリフレッシュの概略が説明された。すなわち，メモリコントローラが，メモリ装置に，水平アクセスなど特定のバンクへのアクセス動作を所定期間にわたり連続して実行させる場合，メモリコントローラは，アクセスされないバンクを指定してバックグランドリフレッシュコマンドを発行し，メモリ装置に指定したバンクでのリフレッシュ動作を実行させる。そして，メモリコントローラは，このリフレッシュ動作中に通常動作コマンドを発行することで，メモリ装置にリフレッシュ動作していないバンクでの通常アクセス動作を実行させる。
【０４２４】
図９９は，本実施の形態におけるバックグランドリフレッシュの概略説明図である。図９９（Ａ）はバックグランドリフレッシュ動作を示し，図９９（Ｂ）はメモリ装置の構成を示す。メモリ装置８６は，メモリセル領域９９０内に第１の領域９９１と第２の領域９９２とを有する。この第１，第２の領域９９１，９９２はバンク領域に対応し，それぞれ単独でアクティブ動作，リード，ライト動作，プリチャージ動作を行うことができる。さらに，メモリ装置８６は，メモリコントローラ８２から動作コード９９３，９９４を入力する入力回路９９５と，その動作コードに応答して，メモリセル領域内の第１，第２の領域９９１，９９２のいずれか一方にリフレッシュ動作を行わせ，他方に通常メモリ動作を行わせる制御回路９９６とを有する。動作コードは，例えばメモリコントローラが発行するコマンドである。あるいは，コマンドと特定の入力端子の信号値との組み合わせである。
【０４２５】
図９９（Ａ）に示されるとおり，第１の動作コード９９３に応答して，制御回路９９６が，メモリ内の第１の領域９９１にリフレッシュ動作９９７を開始させる。この第１の動作コード９９３は，図６のバックグランドリフレッシュコマンドＢＲＥＮに対応する。この第１の動作コード９９３と同期して，またはその前に，リフレッシュ対象領域（第１の領域）が設定され，さらに，１回のバックグランドリフレッシュコマンドに応答して実行すべきリフレッシュ回数（リフレッシュバースト長）と，１回のリフレッシュサイクルで同時にリフレッシュされるメモリのブロック数（リフレッシュブロック数）なども設定される。これらの設定に応じて，制御回路９９６は，リフレッシュ対象領域（第１の領域）にリフレッシュ動作９９７を実行させる。
【０４２６】
バックグランドリフレッシュは，メモリ装置内の一部の領域（第１の領域）に限定して行われる。したがって，リフレッシュ対象領域以外の領域であれば，通常メモリ動作を並行して行うことができる。そこで，メモリコントローラからの第２の動作コードに応答して，制御回路９９６は，選択された第２の領域９９２で，第２の動作コード９９４に対応する通常メモリ動作９９８を実行させる。第２の動作コード９９４は，例えば，アクティブコマンドやリード・ライトコマンドなどである。つまり，制御回路９９６は，第１の領域９９１でのリフレッシュ動作９９７が完了する前でも，第２の動作コード９９４に応答して，第２の領域９９２に通常メモリ動作９９８を実行させる。逆に，制御回路９９６は，第２の領域９９２での通常メモリ動作９９８が完了する前でも，第１の動作コード９９３に応答して，第１の領域９９１にリフレッシュ動作９９７を実行させる。
【０４２７】
このように，本実施の形態のバックグランドリフレッシュでは，第１の領域でのリフレッシュ動作と，第２の領域での通常メモリ動作とが，互いの動作の完了をまたずに実行可能である。これにより，メモリ装置内の全ての領域でリフレッシュ動作を実行することにより，そのリフレッシュ期間中に通常メモリ動作が中断されて，実効的なアクセス効率が低下することが抑制される。
【０４２８】
図１００は，本実施の形態におけるバックグランドリフレッシュを行うメモリシステムの概略説明図である。メモリシステム１０００は，メモリコントローラ８２とメモリ装置８６とで構成される。メモリ装置８６は図９９と同じであり，メモリコントローラ８２は，リフレッシュ制御回路１００１と，マルチプレクサＭＵＸと，出力回路１００４とからなる。そして，リフレッシュ制御回路１００１には，メモリの第１，第２の領域９９１，９９２のリフレッシュ制御をそれぞれ行う第１，第２の領域用制御回路１００２，１００３が設けられる。つまり，バックグランドリフレッシュ機能では，メモリ装置は，第１，第２の領域９９１，９９２の一方をリフレッシュ動作させる間に，他方を通常メモリ動作させる。そのためには，第１，第２の領域９９１，９９２をそれぞれ個別にリフレッシュ制御することが求められる。
【０４２９】
メモリのリフレッシュの規格では，全てのメモリ領域をリフレッシュすべき期間と，それを何回のリフレッシュ動作で行うかが規定される。たとえば，６４Ｍビットのメモリにおいて，「６４ｍｓ／４０９６サイクル」と規定される。この場合は，６４Ｍビットのセルの全てを６４ｍｓの間にリフレッシュするために，１５，６μｓ（＝６４ｍｓ÷４０９６）に１回の頻度でリフレッシュ動作を繰り返し，１回のリフレッシュ動作で１６Ｋビット（＝６４Ｍ÷４０９６）ずつリフレッシュする。
【０４３０】
これに対して，図１００のように，メモリセル領域９９０が第１，第２の領域９９１，９９２からなる場合は，両領域の３２Ｍビットのセルの全てを６４ｍｓの間に２０４８回でリフレッシュすることが必要になる。したがって，第１，第２の領域をランダムに切り換えながらリフレッシュ動作を行うためには，第１，第２の領域のリフレッシュを別々に制御する制御回路１００２，１００３が必要になる。
【０４３１】
図１０１は，バックグランドリフレッシュを制御するメモリコントローラの動作フローチャート図である。画像処理システムでは，画像処理装置がメモリコントローラにメモリ動作要求を出力し，メモリコントローラ内ではそのメモリ動作要求に対応するメモリ動作イベントが発生する。さらに，メモリコントローラ内では，リフレッシュ処理のイベントも発生する。よって，メモリ動作イベントとリフレッシュ処理イベントとを調停する必要がある。上記の例では，水平アクセスの時は，両方のイベントが同じ領域（バンク）内で発生しなければ，一方のイベントに対する処理が完了していなくても他方のイベントに対するコマンドを発行することができる。
【０４３２】
例えば，リフレッシュイベントが発生すると，メモリコントローラは，第１の動作コードと第１の領域情報を生成し（１０１０），第２の領域の動作が完了していなくても（１０１１のＮＯ），第１の領域が第２の領域と異なっていれば（１０１２のＮｏ），第１の動作コードを発行する（１０１３）。リフレッシュイベント対象の第１の領域と動作中の第２の領域とが同じであれば（１０１２のＹｅｓ），その第２の領域の動作が完了するまで待機する（１０１１のＹｅｓ）。
【０４３３】
同様に，メモリ動作イベントが発生すると，メモリコントローラは，第２の動作コードと第２の領域情報を生成し（１０１４），上記と同様に，第１の領域の動作が完了していなくても（１０１５のＮＯ），第２の領域が第１の領域と異なっていれば（１０１６のＮｏ），第２の動作コードを発行する（１０１７）。メモリ動作イベント対象の第２の領域と動作中の第１の領域とが同じであれば（１０１６のＹｅｓ），その第１の領域の動作が完了するまで待機する（１０１５のＹｅｓ）。
【０４３４】
図１０２は，本実施の形態におけるバックグランドリフレッシュと水平アクセスとの関係を示す図である。メモリマップ１２において，バンクＢＡ０，ＢＡ１への水平アクセス１０２０を実行中に，バンクＢＡ２，ＢＡ３でバックグランドリフレッシュが実行される。同様に，バンクＢＡ２，ＢＡ３への水平アクセス１０２１を実行中に，バンクＢＡ０，ＢＡ１でバックグランドリフレッシュが実行される。さらに，水平アクセス１０２２，１０２３においても同様である。このように，水平アクセスが連続して実行開始されるとき，一定期間アクセスが発生しないバンクがあらかじめ判明するので，そのアクセスのないバンクに対してリフレッシュ動作を行わせることができる。このように制御することで，水平アクセス中に，全バンクに対するリフレッシュ動作指令が発行されて，水平アクセスが中断することはない。よって，画像データなどの二次元配置されるデータを左上から右下までラスタスキャンしてアクセスする場合に，リフレッシュ動作によるデッドサイクルがなくなり高速なラスタスキャンを行うことができる。
【０４３５】
図１０３は，本実施の形態におけるバックグランドリフレッシュと水平アクセス及び矩形アクセスとの関係を示す図である。前述の水平アクセス１０２０，１０２１の間に矩形アクセス１０２４が発生した例である。画像メモリとメモリコントローラと画像処理装置からなる画像処理システムは，画像メモリに対して水平アクセスと矩形アクセスとを混在して要求する。矩形アクセスでは，画像データの圧縮や伸長処理ごとに，メモリの任意のアドレスにアクセスされるので，どのバンクにアクセスが発生するかを予測することは困難である。一方，水平アクセスでは，一定期間は特定のバンクにしかアクセスが発生せず残りのバンクにはアクセスが発生しない。
【０４３６】
そこで，水平アクセス１０２０では，バックグランドリフレッシュコマンドＢＲＥＮ（図中６０）と共に，リフレッシュ対象のバンクを示すリフレッシュバンク情報ＳＡ（図中６１）が入力される。この例では，水平アクセス１０２０がバンクＢＡ０，ＢＡ１に対して発生するので，リフレッシュ対象バンクはＢＡ２，ＢＡ３である。メモリ装置内の制御回路は，このバックグランドリフレッシュコマンドＢＲＥＮに応答して，リフレッシュ対象バンクＢＡ２，３に対してリフレッシュ動作を指令する。この水平アクセス１０２０では，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ＝０，ロウアドレスＲＡ＝０が入力され，ＢＡ０，ＲＡ０のページ領域が活性化され，リードコマンドＲＤと共にバンクアドレスＢＡ＝０，コラムアドレスＣＡ＝０が入力され，データが読み出される。同様に，アクティブコマンドＡＣＴと共にバンクアドレスＢＡ＝１，ロウアドレスＲＡ＝０が入力され，ＢＡ１，ＲＡ０のページ領域が活性化され，リードコマンドＲＤと共にバンクアドレスＢＡ＝１，コラムアドレスＣＡ＝０が入力され，データが読み出される。水平アクセスでは，これらの動作が一定時間繰り返される。その間，バンクＢＡ２，３ではリフレッシュ動作が繰り返される。
【０４３７】
水平アクセス１０２１でも，上記と同様の動作が行われる。つまり，バックグランドリフレッシュコマンドＢＲＥＮ（図中６５）と共に，リフレッシュバンク情報ＳＡ（図中６６）としてＢＡ０，１が入力され，バンクＢＡ０，１でリフレッシュ動作が行われる。このリフレッシュ動作に並行して，アクティブコマンドとリードコマンドとが繰り返し入力されて，バンクＢＡ２，３に対する水平アクセス動作が行われる。矩形アクセス１０２４中は，バックグランドリフレッシュ動作は行われない。
【０４３８】
上記のバックグランドリフレッシュコマンドＢＲＥＮが前述の第１のコードに対応する。また，アクティブコマンドＡＣＴとリードコマンドＲＤ，またはライトコマンドＷＴ（図示せず）が，前述の第２のコードに対応する。
【０４３９】
図１０４は，本実施の形態におけるバックグランドリフレッシュの回数とブロック数を説明する図である。バックグランドリフレッシュは，水平アクセス時など，あらかじめ一定期間に特定のバンクにしかアクセスが発生しない時に，アクセスが発生しないバンクに対して実行される。本実施の形態では，このリフレッシュ対象バンクを示すリフレッシュバンク情報ＳＡに加えて，１回のバックグランドリフレッシュコマンドＢＲＥＮに応答して実行されるリフレッシュ回数を示すリフレッシュバースト長ＲＢＬと，１回のリフレッシュ動作で同時にリフレッシュされるブロック数，正確にはワード線数，を示すリフレッシュブロック数ＲＢＣとが，メモリコントローラからメモリ装置に供給される。
【０４４０】
すなわち，水平アクセスではアクセス対象画像のサイズに応じて一定期間一部のバンクへのアクセスが繰り返される。ただし，水平アクセスの期間は可変であり，また水平アクセスの発生もランダムである。よって，水平アクセス期間中に，リフレッシュ対象バンクで，所望のアドレス数に対してリフレッシュ動作を実行することが求められる。例えば，水平アクセス期間Ｔの間にアドレスＮに対してリフレッシュ動作が求められる場合，１回のリフレッシュ動作に必要なサイクルタイムτとすると，Ｔ÷τ≧Ｎが満たされるなら，１つのブロック（１本のワード線）に対してＮ回リフレッシュ動作を実行すればよい。しかし，Ｔ÷τ≧Ｎが満たされないなら，１回のリフレッシュ動作で同時に複数ブロック（複数のワード線）をリフレッシュ動作させることで，Ｎを実効的に小さくする必要がある。この同時にリフレッシュ動作するブロック数が，リフレッシュブロック数ＲＢＣである。
【０４４１】
さらに，アクセス対象データサイズが所定サイズより大きいと，水平アクセス期間はある程度長い期間に及ぶ。そのような場合は，１回のバックグランドリフレッシュコマンドＢＲＥＮに対して複数回のリフレッシュ動作が繰り返されるようにすれば，コマンド発行数を減らすことができる。この場合，水平アクセス期間Ｔにおいて実行可能なリフレッシュ回数はＴ÷τであり，これがリフレッシュバースト長ＲＢＬである。水平アクセスが開始されるときに，このリフレッシュバースト長ＲＢＬを指定することで，メモリ装置は水平アクセス期間Ｔが終了した時点でリフレッシュサイクルは終了しているので，その直後からアクティブコマンドを発行して通常メモリ動作の動作サイクルに入ることができる。
【０４４２】
図１０４に戻り，図中，バンクＢａｎｋ０が４ブロックＢｌｏｃｋ−０〜３で構成されている例について，リフレッシュバースト長ＲＢＬとリフレッシュブロック数ＲＢＣの３つの組み合わせ例が示されている。各ブロックＢｌｏｃｋは，ワード線ＷＬとビット線ＢＬと，ビット線ＢＬに接続されるセンスアンプ群Ｓ／Ａとを有し，４つのブロックＢｌｏｃｋ−０〜３は，それぞれセンスアンプ群Ｓ／Ａを有し，同時にリフレッシュ動作可能である。なお，リフレッシュ動作は，アクティブ動作とプリチャージ動作とで構成される。また，通常動作は，アクティブ動作，リードまたはライト動作，プリチャージ動作とで構成される。
【０４４３】
図１０４（Ａ）は，ＲＢＬ＝２，ＲＢＣ＝１の例である。バックグランドリフレッシュコマンドＢＲＥＮに応答して，ブロックＢｌｏｃｋ−０のワード線ＷＬ０とＷＬ１とで連続してリフレッシュ動作が行われ，次のコマンドＢＲＥＮに応答して，ブロックＢｌｏｃｋ−１のワード線ＷＬ０とＷＬ１とで連続してリフレッシュ動作が行われている。この場合，ＲＢＣ＝１であるので，１ブロックでのみリフレッシュ動作が行われ，リフレッシュ動作に伴う消費電流を小さくすることができる。
【０４４４】
図１０４（Ｂ）は，ＲＢＬ＝１，ＲＢＣ＝４の例である。バックグランドリフレッシュコマンドＢＲＥＮに応答して，４つのブロックＢｌｏｃｋ−０〜３のワード線ＷＬ０で同時にリフレッシュ動作が行われる。１回のリフレッシュサイクルしか実行されないが，４ブロックで同時にリフレッシュされるので，４アドレス分のリフレッシュが完了する。ただし，瞬間的な消費電流は大きい。
【０４４５】
最後に，図１０４（Ｃ）は，ＲＢＬ＝２，ＲＢＣ＝２の例である。バックグランドリフレッシュコマンドＢＲＥＮに応答して，２つのブロックＢｌｏｃｋ−０，１のワード線ＷＬ０とワード線ＷＬ１とで連続してリフレッシュ動作が行われる。これにより，リフレッシュされるロウアドレス数は４であるが，２つのメモリブロックで同時にリフレッシュ動作するので，瞬間的な消費電流は図１０４（Ｂ）よりは抑えられる。
【０４４６】
上記のように，本実施の形態のバックグランドリフレッシュでは，リフレッシュ対象バンクを示すリフレッシュバンク情報ＳＡと，リフレッシュバースト長ＲＢＬと，リフレッシュブロック数ＲＢＣとを，コマンドＢＲＥＮと共にまたはレジスタセットコマンドＥＭＲＳと共に入力して，ランダムな水平アクセスの発生と期間とに柔軟に対応することができる。
【０４４７】
ところで，メモリコントローラは，メモリ装置にリフレッシュバースト長ＲＢＬの設定により複数回のバックグランドリフレッシュ動作を実行させることができるが，一旦リフレッシュ動作が始まるとそのリフレッシュバースト長ＲＢＬ回数のリフレッシュ動作を変更できないと不便である。そこで，本実施の形態では，後述するとおり，リフレッシュバースト長ＲＢＬを，更に加算して長くしたり，新たなバースト長ＲＢＬに再設定したり，リフレッシュ動作を停止させたりすることができる。バースト長ＲＢＬの加算機能により，ランダムな水平アクセスに柔軟に対応するために，バックグランドリフレッシュコマンドを事前に発行しておくことが可能になる。バースト長の再設定機能は，新たな水平アクセスが発生した場合に利用できる。また，リフレッシュ動作の停止コマンドは，一旦設定したリフレッシュバースト長ＲＢＬが長すぎた場合に有効である。
【０４４８】
さらに，本実施の形態では，残りのアドレス全てに対してリフレッシュ動作を実行させるリフレッシュオールコマンドの利用も可能である。これにより，有効なデータが格納されていないメモリ領域に強制的にリフレッシュ動作を行わせて，リフレッシュカウンタをリセットさせることができる。これについても後で詳述する。
【０４４９】
図１０５は，本実施の形態におけるバックグランドリフレッシュの動作タイミングチャート図である。図１０５（Ａ）は，バンクＢＡ２，３への水平アクセス１０２０の時に，バンクＢＡ０，１にリフレッシュ動作させる例であり，メモリ装置に，バックグランドリフレッシュコマンドＢＲＥＮ（図中６０）と同時に，リフレッシュバースト長ＲＢＬとリフレッシュブロック数ＲＢＣとが発行されている（図中１０５２）。その後は，水平アクセスに対応したアクティブコマンドＡＣＴとリードコマンドＲＤが繰り返されている。
【０４５０】
一方，図１０５（Ｂ）は，水平アクセス１０２０が開始される前に，レジスタアクセス１０５０で，拡張モードレジスタセットコマンドＥＭＲＳ（図中０５１）と共に，リフレッシュバースト長ＲＢＬとリフレッシュブロック数ＲＢＣとが発行されている（図中１０５３）。これにより，メモリ装置は，内部のモードレジスタにＲＢＬ，ＲＢＣを設定する。その後，水平アクセス１０２０では，バックグランドリフレッシュコマンドＢＲＥＮ（図中１０５４）と同時に，リフレッシュバンク情報ＳＡが供給され，それに応答して，メモリ装置は，登録済みのＲＢＬ，ＲＢＣに対応したリフレッシュ動作を行う。その後は，水平アクセスに対応したアクティブコマンドＡＣＴとリードコマンドＲＤが繰り返し発行されている。
【０４５１】
以上の通り，リフレッシュバースト長ＲＢＬとリフレッシュブロック数ＲＢＣとは，コマンドＢＲＥＮと共に毎回設定されてもよいし，あらかじめモードレジスタに設定してもよい。モードレジスタに設定すれば，コマンドＢＲＥＮと共に毎回設定する必要はない。
【０４５２】
図１０６は，本実施の形態におけるリフレッシュバースト長を説明する図である。図１０６（Ａ）は，オートリフレッシュコマンドＡＲＥＦに対して１回のリフレッシュが行われる場合のタイミングチャートである。一方，図１０６（Ｂ）は本実施の形態に対応し，１回のバックグランドリフレッシュコマンドＢＲＥＮに対して複数回（ＲＢＬ）のリフレッシュが行われる場合のタイミングチャートである。いずれも，バンクＢＡ２，３への水平アクセス中に，バンクＢＡ０，１にリフレッシュが行われる例である。
【０４５３】
図１０６（Ａ）では，オートリフレッシュコマンドＡＲＥＦと共に，バンクアドレス端子ＢＡにリフレッシュバンク情報（０，１）が供給され，メモリ装置内部でリフレッシュ制御信号ｒｅｆｚがＨレベルになり，リフレッシュ動作ＲＥＦが行われる。コマンド間時間ｔＲＲＤの後に，アクティブコマンドＡＣＴがＢＡ２，ＢＡ３に対して発行され，それらに対応してリードコマンドＲＤがＢＡ２，ＢＡ３に対して発行され，プリチャージコマンドＰＲＥがＢＡ２，ＢＡ３に対して発行される。その後，クロック番号１０のタイミングで再度オートリフレッシュコマンドＡＲＥＦが発行され，バンクＢＡ０，１に対してリフレッシュが実行される。このように，１回のオートリフレッシュコマンドＡＲＥＦに対してリフレッシュ動作ＲＥＦは１回しか行われないので，オートリフレッシュコマンドＡＲＥＦを何回も発行する必要がある。
【０４５４】
それに対して，図１０６（Ｂ）では，バックグランドリフレッシュＲＢＥＮに応答して，あらかじめ設定されているリフレッシュバースト長ＲＢＬに対応する回数，リフレッシュ動作ＲＥＦが繰り返される。つまり，メモリ内の制御回路は，リフレッシュ制御信号ｒｅｆｚを活性化してリフレッシュ動作を実行し，それが終了すると，リフレッシュインターバル信号refintvalxに応答して，更にリフレッシュ制御信号ｒｅｆｚを活性化してリフレッシュ動作を実行する。このようにしてリフレッシュ動作がリフレッシュバースト長ＲＢＬの回数繰り返される。よって，何度もリフレッシュコマンドを発行する必要はない。具体的には，クロック番号１０ではリフレッシュコマンドは発行されていない。これにより，図中１０６０の時間だけ早く２回目のリフレッシュ動作が完了しているので，実質的にリフレッシュ動作のサイクルは短くなる。よって，リフレッシュバースト長ＲＢＬを設定して，複数回のリフレッシュを自動的に実行するようにすることで，メモリコントローラによるコマンド発行の効率を高めることができる。
【０４５５】
図１０７は，本実施の形態におけるリフレッシュバースト長を説明する図である。図１０７（Ａ）がリフレッシュバースト長ＲＢＬを指定してバックグランドリフレッシュを行う場合，図１０７（Ｂ）がＲＢＬを指定せずにバックグランドリフレッシュを行う場合のタイミングチャート図である。ただし，いずれもコマンドＢＲＥＮに応答してリフレッシュ動作を複数回繰り返す例である。
【０４５６】
図１０７（Ａ）の場合は，メモリ装置は，バックグランドリフレッシュコマンドＢＲＥＮ（図中１０７０）に応答して，あらかじめ設定されたリフレッシュバースト長ＲＢＬだけ内部でリフレッシュ動作ＲＥＦを繰り返す。よって，クロック番号２０では内部のリフレッシュ動作が完了しバンクＢＡ０，１に対してプリチャージ動作が終了している。よって，メモリコントローラは，クロック番号２１でバンクＢＡ０に対するアクティブコマンドＡＣＴ（図中１０７１）を発行して，通常アクセスを行うことができる。
【０４５７】
これに対して図１０７（Ｂ）の場合は，リフレッシュ回数が指定されていないので，メモリ装置は，コマンドＢＲＥＮ（図中１０７２）に応答して，内部でリフレッシュ動作ＲＥＦを繰り返す。メモリコントローラは，繰り返されるリフレッシュ動作を停止させるために，クロック番号２１でバンクＢＡ０に対してプリチャージコマンドＰＲＥ（図中１０７３）を発行する。しかし，クロック番号２０で新たな内部のリフレッシュ動作ＲＥＦが開始しているため，クロック番号２１でのプリチャージコマンドＰＲＥに対してそのリフレッシュ動作を停止することができない。よって，メモリコントローラは，既に開始済みのリフレッシュ動作が完了するまでアクティブコマンドＡＣＴ（図中１０７４）を発行することができず，結局プリチャージコマンドＰＲＥからリフレッシュ動作に要する時間ｔＲＥＦＣ（約数１０ｎｓ）経過した後になってようやくアクティブコマンドＡＣＴを発行できるようになる。つまり，あらかじめリフレッシュ回数が指定されていないと，メモリコントローラは，プリチャージコマンドによりリフレッシュ動作を停止させる必要があり，且つ，リフレッシュ動作停止のためのプリチャージコマンドでは即座にリフレッシュ動作を停止できず，次に発行したいアクティブコマンドの発行が遅れてしまう。
【０４５８】
前述の特許文献６の米国特許公開ＵＳ２００５／０２６５１０４Ａ１公報に記載された発明は，上記の図１０７（Ｂ）に対応する。これに対して，本実施の形態は図１０７（Ａ）に対応する。
【０４５９】
以上が，バックグランドリフレッシュ機能の概略である。以下，この機能を実現するためのメモリ装置の構成について説明する。
【０４６０】
［バックグランドリフレッシュ機能を有するメモリ装置］
図１０８は，バックグランドリフレッシュ機能を有するメモリ装置の全体構成図である。図中，入力端子群９３には，クロックＣＬＫ，コマンド信号／ＣＳ，／ＲＡＳ，／ＣＡＳ，／ＷＥ，２ビットのバンクアドレスＢＡ＜１：０＞，１４ビットのアドレスＡ＜１３：０＞の端子が示され，それぞれが入力バッファ９４に入力され，クロックＣＬＫに同期してラッチ回路７２０にラッチされる。コマンドデコーダ１０８０は，図９に示したコマンド制御部９５内に設けられ，コマンド信号／ＣＳ，／ＲＡＳ，／ＣＡＳ，／ＷＥをデコードして，コマンドＥＭＲＳ，ＡＣＴ，ＢＲＥＮ，ＰＲＥに対応する内部制御信号として，モードレジスタセットパルス信号ｍｒｓｐｚ，アクティブパルス信号ａｃｔｐｚ，リフレッシュパルス信号ｒｅｆｐｚ，プリチャージパルス信号ｐｒｅｐｚを出力する。バンクアドレスＢＡ＜１：０＞は，ラッチされて内部バンクアドレスｂａｚ＜１：０＞となり，それに基づいて通常バンクデコーダ１０８１がバンク選択信号ｂｎｋｚ＜０：３＞を生成する。また，リフレッシュバンクデコーダ１０８２は，バンクアドレスｂａｚ＜１：０＞と，アドレス端子から入力される信号と，モードレジスタ９６に設定されている設定値ｍｏｄｅｚ＊とに基づいて，リフレッシュバンク選択信号ref_bnkz<0:3>を生成する。モードレジスタ９６は，モードレジスタセットパルス信号ｍｒｓｐｚに応答して，バンクアドレスｂａｚ＜１：０＞とアドレスａｚ＜１３：０＞から入力される設定値を設定する。
【０４６１】
メモリ装置８６は，上記の制御回路に加えて，４つのバンク９２を有する。各バンクは，メモリセルアレイとデコーダとセンスアンプなどを含むコア１０８６と，それを制御するコア制御回路１０８５と，各バンクのリフレッシュアドレス（ロウアドレス）ＲＥＦ＿ＲＡを生成するリフレッシュアドレスカウンタ１０８３と，外部から供給されるアドレスａｚ＜１３：０＞またはリフレッシュアドレスＲＥＦ＿ＲＡのいずれかをラッチするアドレスラッチ回路１０８４を有する。図中，バンクＢａｎｋ０についてのみ詳細な構成を示しているが，他のバンクＢａｎｋ１，２，３も同じ構成である。
【０４６２】
各バンク内のコア制御回路１０８５は，アクティブコマンドＡＣＴに応答して生成されるアクティブパルス信号ａｃｔｐｚに応答して，バンク選択信号ｂｎｋｚ＜０：３＞が選択状態であれば，内部のコアを活性化する。この場合，アドレスラッチ回路１０８４は外部から供給されるアドレスａｚ＜１３：０＞をラッチし，コア１０８６内のデコーダに供給する。コア制御回路１０８５は，バックグランドリフレッシュコマンドＢＲＥＮに応答して生成されるリフレッシュパルス信号ｒｅｆｐｚに応答して，リフレッシュバンク選択信号ref_bnkz<0:3>が選択状態であれば，内部のコアを活性化してリフレッシュ動作させる。この場合，アドレスラッチ回路１０８４はリフレッシュアドレスカウンタ１０８３のリフレッシュアドレスＲＥＦ＿ＲＡをラッチし，コア内のデコーダに供給する。
【０４６３】
［メモリ装置のバンク構成例］
図１０９は，バックグランドリフレッシュ機能を有するメモリ装置のバンク構成図である。図１０９は，図１０８の４つのバンクの構成を示している。４つのバンクＢａｎｋ０−３全てが，リフレッシュアドレスカウンタ１０８３と，アドレスラッチ回路１０８４と，コア１０８６と，コア制御回路１０８５とを有する。そして，４つのバンクＢａｎｋ０−３には，それぞれバンク選択信号ｂｎｋｚ＜０：３＞とリフレッシュバンク選択信号ref_bnkz<0:3>とが入力され，それらが選択状態のときに，コア制御回路１０８５がアクティブパルス信号ａｃｔｐｚに応答してコアをアクティブ状態にし，リフレッシュパルス信号ｒｅｆｐｚに応答してコアをアクティブ状態にする。この例では，各バンクにリフレッシュアドレスカウンタ１０８３を有するので，バンク毎にリフレッシュ制御を独立して行うことができる。よって，他のバンクが通常メモリ動作中に，残りのバンクのうち１つ，２つ又は３つのバンクに対してリフレッシュ制御を行うことができる。各バンクで独立してリフレッシュ制御を行うことは図１００で説明したとおりである。
【０４６４】
図１１０は，バックグランドリフレッシュ機能を有するメモリ装置の他のバンク構成図である。この例では，各バンクＢａｎｋ０−３は，コア１０８６と，アドレスラッチ回路１０８４と，コア制御回路１０８５とを有する。そして，リフレッシュアドレスカウンタ１１００が２つのバンクＢａｎｋ０，１に共通に設けられ，リフレッシュアドレスＲＥＦ＿ＲＡを両バンクＢａｎｋ０，１に供給する。また，リフレッシュアドレスカウンタ１１０１が２つのバンクＢａｎｋ２，３に共通に設けられ，リフレッシュアドレスＲＥＦ＿ＲＡを両バンクＢａｎｋ２，３に供給する。この例では，２バンク毎に独立してリフレッシュ制御を行うことができる。つまり，バンクＢａｎｋ０，１が通常メモリ動作中に，バンクＢａｎｋ２，３でリフレッシュ動作を並行して行うことができ，その逆も可能である。むろん４バンクを同時にリフレッシュ動作させることもできる。
【０４６５】
図１１１は，メモリ装置の他のバンク構成図である。この例では，バンク内にリフレッシュアドレスカウンタを設けずに，アドレスデコーダ１１１１とワードドライバ１１１３との間に，リフレッシュすべきワード線を示すポインタ１１１２が設けられている。通常メモリ動作では，各バンクに共通に設けられたアドレスラッチ回路１１１０が，アクティブパルス信号ａｃｔｐｚに応答して活性化されて，外部のアドレスａｚ＜１３：０＞をラッチし，各バンク内のアドレスデコーダ１１１１は，バンク選択信号ｂｎｋｚ＜０：３＞が選択状態のときに活性化されてアドレスをデコードする。デコーダにより選択されたワードドライバ１１１３がワード線を駆動し，メモリセル領域１１１４をアクティブ状態にする。そして，アンプ制御回路１１１５が所定のタイミングでセンスアンプ１１１６を活性化する。
【０４６６】
一方，バックグランドリフレッシュ時には，リフレッシュバンク選択信号ref_bnkz<0:3>が選択状態のときに，リフレッシュパルス信号refpzによりポインタ１１１２が活性化され，選択状態にあるポインタに対応するワードドライバ１１１３がワード線を駆動して，メモリセル領域１１１４とセンスアンプ１１１６とでリフレッシュ動作をさせる。リフレッシュ動作が終了すると，ポインタ１１１２は次のポインタを選択状態に変更する。このように，リフレッシュ動作が完了する毎に，ポインタ群１１１２が選択位置を後続に移動させて，メモリセル領域内のワード線を順番に駆動することができる。
【０４６７】
図１１１の例では，４つのバンク全てにリフレッシュ用のポインタ群１１１２が設けられているので，４つのバンクは独立してリフレッシュ制御を行うことができる。
【０４６８】
図１１２は，本実施の形態におけるバックグランドリフレッシュ動作を説明する図である。図１１２（Ａ）は従来例に対応し，オートリフレッシュコマンドＡＲＥＦを受信すると，メモリ装置は内部の全てのバンクでリフレッシュ動作を行う。この図ではリフレッシュ回数が１の例であり，リフレッシュサイクル中ｔＲＥＦＣは，通常メモリ動作を実行することができず，クロック番号９からアクティブコマンドＡＣＴを受信して通常メモリ動作を再開する。
【０４６９】
これに対して，図１１２（Ｂ）は本実施の形態に対応し，バックグランドリフレッシュコマンドＢＲＥＮに応答して，メモリ装置はバンクアドレスＢＡで指定されたバンクＢＡ０，１に対してリフレッシュ動作を開始する。それに並行して，メモリ装置はバンクＢＡ２，ＢＡ３に対するアクティブコマンドＡＣＴ，リードコマンドＲＤを受信してリード動作を行う。リードコマンドＲＤの後にプリチャージコマンドＰＲＥを受信しバンクＢＡ２，ＢＡ３にプリチャージ動作させる。
【０４７０】
なお，図１１２（Ｂ）の例では，バックグランドリフレッシュコマンドＢＲＥＮと同時に，バンクアドレス端子ＢＡからリフレッシュバンク情報「０，１」を，アドレス端子Ａｄｄからリフレッシュバースト長「８」をそれぞれ入力している。ただし，図示したとおり，特別に設けた端子ＳＡからリフレッシュバンク情報「０，１」を，端子ＲＢＬ，ＲＢＣからリフレッシュバースト長「８」とリフレッシュブロック数「１」とを入力するようにしても良い。
【０４７１】
図１１２に示されるとおり，本実施の形態のバックグランドリフレッシュ機能によれば，通常メモリ動作に並列してリフレッシュ動作が行われるので，リフレッシュ動作により通常メモリ動作を中断させることはない。
【０４７２】
［リフレッシュバンクデコーダ，コア制御回路，アドレスラッチ回路］
次に，図１０８〜１１１で示したリフレッシュバンクデコーダ，コア制御回路，アドレスラッチ回路について具体例を説明する。なお，前提としてバンクアドレスＢＡ＜１：０＞と選択されるバンクとの関係を以下に示す。
BA<1>=0,BA<0>=0で選択されるバンクはBank0
BA<1>=0,BA<0>=1で選択されるバンクはBank1
BA<1>=1,BA<0>=0で選択されるバンクはBank2
BA<1>=1,BA<0>=1で選択されるバンクはBank3
図１１３は，第１，第２のリフレッシュバンクデコーダの回路を示す図である。図１１３（Ａ）の第１の例のリフレッシュバンクデコーダ１０８２（１）は，メモリ装置がリフレッシュ動作を２バンク毎に行う場合に適用され，バックグランドリフレッシュコマンドＢＲＥＮ入力時のバンクアドレス端子ＢＡ＜１＞の論理により，バンクＢａｎｋ０，１を選択するか，バンクＢａｎｋ２，３を選択するかを制御する。よって，バンクアドレス端子ＢＡ＜１＞の論理は有効（V:Valid），バンクアドレス端子ＢＡ＜０＞の論理は無効（Don't care）である。具体的には，バンクアドレス端子ＢＡ＜１＞＝Ｈなら，リフレッシュバンク選択信号ref_bnkz<2,3>＝ＨとなりバンクＢａｎｋ２，３が選択され，バンクアドレス端子ＢＡ＜１＞＝Ｌなら，リフレッシュバンク選択信号ref_bnkz<0,1>＝ＨとなりバンクＢａｎｋ０，１が選択される。
【０４７３】
図１１３（Ｂ）の第２の例のリフレッシュバンクデコーダ１０８２（２）は，メモリ装置がリフレッシュ動作を２バンク毎に行う場合に適用され，バックグランドリフレッシュコマンドＢＲＥＮ入力時のバンクアドレス端子ＢＡ＜０＞の論理により，バンクＢａｎｋ０，２を選択するか，バンクＢａｎｋ１，３を選択するかを制御する。よって，バンクアドレス端子ＢＡ＜１＞の論理は無効（Don't care）である。具体的な動作は，第１の例と同様である。
【０４７４】
水平アクセス時に行うバックグランドリフレッシュは，水平方向の1ラインを構成するバンクの組み合わせがBank0,1(又はBank2,3)の場合は，第１の例が好ましい。一方，水平方向の1ラインを構成するバンクの組み合わせがBank0,2(又はBank1,3)の場合は，第２の例が好ましい。水平方向のバンクの組み合わせは，メモリを使用するメモリシステムのメモリマッピングに依存する。したがって，メモリマッピングに応じて，メモリ装置は，第１，第２の例のいずれかのリフレッシュバンクデコーダを有する必要がある。
【０４７５】
図１１４は，第３のリフレッシュバンクデコーダの回路を示す図である。第３のリフレッシュバンクデコーダ１０８２（３）は，第１，第２の例を合体した例であり，モードレジスタに設定された設定値ｍｏｄｅｚに応じて，バンクアドレスｂａｚ＜０＞側のデコード信号か，ｂａｚ＜１＞側のデコード信号かのいずれかを選択する４つのセレクタＳＥＬを有する。図中の論理値表に示されるとおり，ｍｏｄｅｚ＝１なら，バンクアドレスｂａｚ＜１＞が有効（Ｖ：Valid）になり，ｂａｚ＜１＞側のデコード信号が選択されてリフレッシュバンク選択信号ref_bnkz<0,1>，ref_bnkz<2,3>の組み合わせで選択される。一方，ｍｏｄｅｚ＝０なら，バンクアドレスｂａｚ＜０＞が有効（Ｖ：Valid）になり，ｂａｚ＜０＞側のデコード信号が選択されてリフレッシュバンク選択信号ref_bnkz<0,2>，ref_bnkz<1,3>の組み合わせで選択される。よって，メモリマッピングに応じて，モードレジスタに設定値ｍｏｄｅｚを設定しておけば，いずれのメモリマッピングにも対応可能である。
【０４７６】
図１１５は，第４のリフレッシュバンクデコーダの回路を示す図である。第４のリフレッシュバンクデコーダ１０８２（４）は，モードレジスタに設定した２ビットの設定値modez<1:0>により，バンク選択モードが切り替わる。この４種類のバンク選択モードは，図中の表に示されるとおり，以下のようになる。
（１）modez<1:0>=1,1の場合は，バンクアドレス端子BA<1>およびBA<0>で指定される１つのバンクを選択する。つまり，４つのバンクから１つのバンクのみを選択する。
（２）modez<1:0>=1,0の場合は，バンクアドレス端子BA<1>で選択されるバンクBank0,1またはBank2,3のいずれかの組の２バンクを選択する。
（３）modez<1:0>=0,1の場合は，バンクアドレス端子BA<0>で選択されるバンクBank0,2またはBank1,3のいずれかの組の２バンクを選択する。
（４）modez<1:0>=0,0の場合は，リフレッシュバンク選択信号ref_bnkz<0:3>は全て選択状態になる。よって，リフレッシュコマンドBRENが入力されると４つのバンクでリフレッシュが実行される。
【０４７７】
リフレッシュバンクデコーダ１０８２（４）では，modez<0>＝１の場合にバンクアドレスbaz<0>が入力される２つのＮＡＮＤゲートが活性化され，プリデコード信号ba0x,zが１または０になり，リフレッシュバンク選択信号ref_bnkz<0,2>,<1,3>の組み合わせで選択される。逆に，modez<1>＝１の場合にバンクアドレスbaz<1>が入力される２つのＮＡＮＤゲートが活性化され，プリデコード信号ba1x,zが１または０になり，リフレッシュバンク選択信号ref_bnkz<0,1>,<2,3>の組み合わせで選択される。
【０４７８】
この例の場合は，水平方向の1ラインを構成するバンクの組み合わせがBank0,1(Bank2,3)のシステムでは，モードレジスタ設定値をmodez<1:0>=1,0に設定すればよく，また水平方向の1ラインを構成するバンクの組み合わせがBank0,2(Bank1,3)のシステムではモードレジスタ設定値をmodez<1:0>=0,1に設定すればよい。また，リフレッシュを１バンク単位で行いたいシステムではmodez<1:0>=1,1を設定し，従来通りリフレッシュを全バンク同時に行うシステムではmodez<1:0>=0,0に設定すればよい。
【０４７９】
図１１６は，第５のリフレッシュバンクデコーダの回路を示す図である。第５のリフレッシュバンクデコーダ１０８２（５）は，コマンドBRENと同時に供給される２ビットのアドレス端子A<1:0>により，バンク選択モード（１バンク，２バンク，２バンク，４バンクのいずれか）を切り替えることができる。つまり，図１１５の第４の例のモードレジスタ設定値modez<1:0>の代わりに，２ビットのアドレス端子A<1:0>から入力される設定値を利用する例である。バンク選択モードの切り替えは図１１５と同じである。第５の例によれば，コマンドBRENを発行するたびに，リフレッシュバンク選択の組み合わせを変更することができる。よって，矩形モードのときにもリフレッシュ対象バンクの選択の組み合わせを変更してバックグランドでリフレッシュさせることができる。
【０４８０】
図１１７は，第６のリフレッシュバンクデコーダの回路を示す図である。第６のリフレッシュバンクデコーダ１０８２（６）は，同時にリフレッシュを行う２つのバンクの組み合わせを，リフレッシュコマンドBREN入力時のバンクアドレス端子BA<1>，BA<0>によって指定することができる。２つのバンクの組み合わせを切り替え可能にする点では，図１１４の第３の例と同じであるが，第５の例では組み合わせの切り替えを，モードレジスタ設定値ではなく，コマンドと同時に入力するバンクアドレス端子BA<1>，BA<0>の論理により行うことができる。
【０４８１】
リフレッシュバンクデコーダ１０８２（６）は，通常バンクデコーダがバンクアドレスBA<1:0>から生成したバンク選択信号bnkz<3:0>を入力し，リフレッシュバンク選択信号ref_bnkz<0:3>を生成する。
【０４８２】
まず，メモリマップ１１７０のように，水平方向の1ラインを構成するバンクの組み合わせがBank0,1(又はBank2,3)のシステムでは，
BA<1>=0,BA<0>=0 であればバンク選択信号bnkz<0>が選択（bankz<0>＝High、その他はLow）されバンクBank0とBank1を選択し，
BA<1>=1,BA<0>=1 であればバンク選択信号bnkz<3>が選択（bankz<3>＝High、その他はLow）されバンクBank2とBank3を選択する。
【０４８３】
一方，メモリマップ１１７１のように，水平方向の1ラインを構成するバンクの組み合わせがBank0,2(又はBank1,3)のシステムでは，
BA<1>=0,BA<0>=1であればバンク選択信号bnkz<1>が選択されバンクBank1とBank3を選択し，
BA<1>=1,BA<0>=0であればバンク選択信号bnkz<2>が選択されバンクBank0とBank2を選択する。
【０４８４】
図１１８は，第７のリフレッシュバンクデコーダの回路を示す図である。第７のリフレッシュバンクデコーダ１０８２（７）は，コマンドBRENと同時に入力される４ビットのアドレス端子A<3:0>に応じて，１つのリフレッシュ対象バンクを選択する。例えば，バンクBank0にはアドレス端子A<0>を，バンクBank1にはアドレス端子A<1>を，バンクBank2にはアドレス端子A<2>を，バンクBank3にはアドレスA<3>端子をそれぞれ対応させる。そして，バックグランドリフレッシュコマンド入力時に
（１）A<3>=0,A<2>=0,A<1>=1,A<0>=1ならば， Bank0とBank1を選択
（２）A<3>=1,A<2>=1,A<1>=0,A<0>=0ならば，Bank2とBank3を選択
（３）A<3>=0,A<2>=1,A<1>=0,A<0>=1ならば，Bank0とBank2を選択
（４）A<3>=1,A<2>=0,A<1>=1,A<0>=0ならば，Bank1とBank3を選択
（５）A<3>=1,A<2>=1,A<1>=1,A<0>=1ならば，全てのBank0,1,2,3を選択する。
（６）A<3:0>のいずれかが１ならば，対応する１つのバンクを選択する。
この場合，バンクアドレス端子BA<1:0>や残りのアドレス端子A<13:4>は無視される。
【０４８５】
図１１９は，コア制御回路の構成図である。このコア制御回路は，図１０８に示すとおり，各バンクに設けられている。また，図示したコア制御回路は，リフレッシュコマンドに応答して１回のみリフレッシュ動作を行う例である。本実施の形態のリフレッシュバースト長RBLの回数のリフレッシュ動作を制御する制御回路は後で説明する。
【０４８６】
まず，このコア制御回路１０８５は，アクティブパルス信号actpz，リフレッシュパルス信号refpz，プリチャージパルス信号prepzに応答して，各種のタイミング信号を生成するタイミングコントロール回路１１９０と，リフレッシュパルス信号refpzに応答してリフレッシュを制御するリフレッシュコントロール回路１１９１とを有する。２つのＮＡＮＤゲートからなるRSフリップフロップFF１はアクティブ状態をラッチし，RSフリップフロップFF3はリフレッシュ状態をラッチする。RSフリップフロップFF1にはセット入力１１９２と，リセット入力１１９３とが入力される。また，RSフリップフロップFF3にはセット入力１１９４とリセット入力１１９５が入力される。
【０４８７】
図中，アクティブ状態信号raszは，Ｈレベルでアクティブ状態，Ｌレベルでプリチャージ状態を示す。イコライズ信号eqlonzは，Ｈレベルでメモリセルアレイのビット線対をイコライズし，Ｌレベルでイコライズを解除する。ワード線活性化信号wlonzは，Ｈレベルでワード線を活性化し，Ｌレベルならワード線を非活性とする。センスアンプ活性化信号saonzは，Ｈレベルでセンスアンプを活性化し，Ｌレベルで非活性化する。アクティブパルス信号actpzはアクティブコマンドＡＣＴに応答してコマンドデコーダによりＨレベルにされる。リフレッシュパルス信号refpzはリフレッシュコマンドが入力されたときにＨレベルになる。プリチャージパルス信号prepzは，プリチャージコマンドＰＲＥが入力されたときにＨレベルになる。バンク選択信号bnkz<#>は，通常バンクデコーダの出力信号で，Bnkz<#>がＨレベルになることでアクティブまたはプリチャージ動作を実行するバンクを指定する。#はバンクの番号である。リフレッシュバンク選択信号ref_bnkz<#>は，リフレッシュバンクデコーダの出力信号であり，ref_bnkz<#>がＨレベルになることでリフレッシュ動作を実行するバンクを指定する。
【０４８８】
図１２０は，コア制御回路の動作を示すタイミングチャート図である。クロック番号０でオートリフレッシュコマンドAREFに応答して，図示しないコマンドデコーダがリフレッシュパルス信号refpzを生成し，それによりref_bnkzで指定されたバンクのRSフリップフロップFF1，FF3が共にセットされる。その結果，アクティブ状態信号raszがHレベルになり，イコライズ信号eqlonzがLレベルになり，遅延回路DELAY-2の遅延時間後にワード線活性化信号wlonzがHレベルになる。これに応答して，ロウアドレスで選択されたワード線が駆動される。次に，遅延回路DELAY-3の遅延時間後にセンスアンプ活性化信号saonzがHレベルになり，センスアンプが活性化されて再書き込みが行われる。
【０４８９】
一方，RSフリップフロップFF3のセット状態により，リフレッシュアクティブ状態信号ref_raszもHレベルになっている。そして，センスアンプ活性化信号saonzの立ち上がりエッジから，遅延回路DELAY-4の遅延時間後にＡＮＤゲート１１９６により，リフレッシュプリチャージパルスref_prepzがHレベルになり，RSフリップフロップFF3，FF1が共にリセットされる。RSフリップフロップFF1のリセットにより，アクティブ状態信号raszがLレベルになりワード線活性化信号wlonzもLレベルになり，ワード線がLレベルになる。そして，遅延時間DELAY-1後にエコライズ信号eqlonzがHレベルになり，メモリセルのビット線対がイコライズされて，メモリセルアレイのプリチャージが完了する。その結果，１サイクルのプリチャージ動作が終了する。
【０４９０】
なお，通常動作では，クロック番号９で受信したアクティブコマンドACTに対応するアクティブパルス信号actpzのHレベルに応答して，RSフリップフロップFF1がセットされ，イコライズ信号eqlonzがLレベルになり，信号rasz,wlonz,saonzが順次Hレベルになり，メモリセルアレイが活性化される。そして，プリチャージコマンドPREに対応するプリチャージパルスprepzのHレベルに応答して，RSフリップフロップFF1がリセットされ，信号rasz,wlonz,saonzが順次Lレベルになり，イコライズ信号eplonzがHレベルになり，メモリセルアレイがプリチャージされる。以上が通常動作の１サイクルである。通常動作時は，リフレッシュコントロール回路１１９１は動作しない。
【０４９１】
以上のように，リフレッシュ動作はアクティブ動作とプリチャージ動作とで構成され，通常動作はアクティブ動作とリード又はライト動作とプリチャージ動作とで構成される。なお，図１２０では，リードコマンドまたはライトコマンドは省略されている。後述するリフレッシュバースト動作では，上記の１サイクルのプリチャージ動作がリフレッシュバースト長の回数繰り返される。
【０４９２】
図１２１は，アドレスラッチ回路の構成と動作を示す図である。アドレスラッチ回路１０８４は，図１０８に示されるとおり各バンクに設けられ，メモリコアにロウアドレスRA<13:0>を出力する。よって，図示されるアドレスラッチ回路１０８４が１３個並列に設けられる。アドレスラッチ回路は，アクティブパルス信号actpzに応答して，バンク選択信号bnkz<#>がHレベルであれば，スイッチ１２０１が導通して外部からのアドレス信号az<13:0>をラッチ回路１２００でラッチする。一方，アドレスラッチ回路は，リフレッシュパルス信号refpzに応答して，リフレッシュバンク選択信号ref_bnkz<#>がHレベルであれば，スイッチ１２０２が導通してリフレッシュアドレスカウンタ１０８３のリフレッシュアドレスREF_RA<13:0>をラッチ回路１２００でラッチする。
【０４９３】
また，図１２１のタイミングチャートに示されるとおり，リフレッシュパルス信号refpzに応答して，リフレッシュロウアドレスストローブパルス信号Ref_ra_strbpzが発生し，それに応答してリフレッシュアドレスカウンタ１０８３がアドレスをインクリメントする。このインクリメントされたリフレッシュアドレスREF_RA<13:0>が次のリフレッシュパルス信号refpzに応答して，ラッチ回路１２００でラッチされる。
【０４９４】
［リフレッシュバースト制御］
次に，本実施の形態のバックグランドリフレッシュ動作で特徴的なリフレッシュバースト制御について説明する。リフレッシュバースト制御とは，１回のバックグランドリフレッシュコマンドに応答して，メモリ装置がリフレッシュバースト長の回数リフレッシュ動作を繰り返すことをいう。これにより，図１０６で示したとおり，コマンドの発行回数を減らすことができ，アクセス効率を高めることができる。
【０４９５】
図１２２は，リフレッシュバースト動作を示すタイミングチャート図である。この例では，図中右上のメモリマップ１２において，第１行目をリフレッシュ動作しながら第２行目を水平アクセスする。クロック番号０でバックグランドリフレッシュコマンドBRENと共に，リフレッシュバンク情報SA=0,1とリフレッシュバースト長RBL=4とが，メモリコントローラからメモリ装置に供給される。また，リフレッシュブロック数RBCについても供給されるがこの例では省略している。図１０５に示したとおり，リフレッシュバンク情報SAとリフレッシュバースト長RBLとは，モードレジスタセットコマンドによりモードレジスタに設定されたり，リフレッシュコマンドBRENと共に供給されたりする。供給される外部端子は，例えばバンクアドレス端子，アドレス端子，特殊端子などである。具体例は後述する。
【０４９６】
クロック番号０でバックグランドリフレッシュコマンドBRENを受信すると，メモリ装置は，バンクBank0,1に対して４回のリフレッシュ動作を繰り返し実行する。更に，メモリコントローラは，バンクBank2,3に対するアクティブコマンドACTをクロック番号２，４で発行し，リードコマンドRDをクロック番号５，７で発行し，プリチャージコマンドPREをクロック番号８，９で発行する。同様に，クロック番号１１，１３でバンクBank2,3に対するアクティブコマンドACTを発行し，続いてリードコマンドRD,プリチャージコマンドPREも発行する。これらに応答して，メモリ装置は，バンクBank2,3でアクティブ動作を実行する。このバンクBank2,3でのアクティブ動作は，バンクBank0,1でのリフレッシュ動作と並行して実行される。
【０４９７】
リフレッシュバースト長RBLを指定することにより，クロック番号１６で４回のリフレッシュ動作が完了し，クロック１９の後すぐにバンクBank0,1に対するアクティブコマンドACTを発行することができる。
【０４９８】
図１２３は，リフレッシュバースト動作を制御するコア制御回路の構成図である。図１１９，図１２０と併せて参照することで，このコア制御回路がより明らかになる。コア制御回路１０８５は，図１１９のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１に加えて，リフレッシュバースト長RBLが設定されるリフレッシュバースト長レジスタ１２３１と，リフレッシュ動作回数をカウントするリフレッシュバースト長カウンタ１２３０と，それらの出力を比較してリフレッシュバースト動作の終了を検出するリフレッシュバースト終了検知回路１２３２とを有する。また，図１２３のコア制御回路１０８５は，バックグランドリフレッシュコマンドBRENと同時にリフレッシュバースト長RBL（４ビット：１〜１６回）がアドレス端子A<7:4>から入力される例（図１０５（Ａ）に対応）である。
【０４９９】
リフレッシュバースト長レジスタ１２３１には，図中のテーブル１２３１Ｔに示されるとおり，アドレス端子az<7:4>から入力される４ビットの情報に対応して，テーブル１２３１Tに示されるリフレッシュバースト長RBL=１〜１６が設定される。この設定は，バックグランドリフレッシュコマンドBRENに応答して生成されるリフレッシュパルス信号refpz＝H，リフレッシュバンク選択信号ref_bnkz<#>＝Hのときに行われる。
【０５００】
リフレッシュバースト長カウンタ１２３０は，リフレッシュパルス信号refpz＝H，リフレッシュバンク選択信号ref_bnkz<#>＝Hのときにリセットされる。リフレッシュコントロール回路１１９１は，１サイクルのリフレッシュ動作が終了するたびに次のリフレッシュ動作を指令するインターナルリフレッシュパルス信号int_refpz（＝H）を出力し，それに応答して，リフレッシュバースト長カウンタ１２３０はカウント値をインクリメントする。そして，カウンタ１２３０のカウント値とリフレッシュバースト長レジスタ１２３１に設定されたバースト長RBLとが一致すると，リフレッシュバースト終了検出回路１２３２がリフレッシュバーストエンド信号rb_endz（＝H）を出力する。それに応答して，リフレッシュコントロール回路１１９１は，リフレッシュ状態をラッチするRSフリップフロップ回路をリセットし，それ以降のインターナルリフレッシュパルス信号int_refpzとリフレッシュプリチャージパルス信号ref_prepzとは出力しない。
【０５０１】
図１２４は，リフレッシュバースト動作を制御するコア制御回路の別の構成図である。このコア制御回路１０８５は，モードレジスタセットコマンドＥＭＲＳと共にアドレス端子az<7:4>に入力されるリフレッシュバースト長RBLをモードレジスタ９６に設定する例（図１０５（Ｂ）に対応）である。モードレジスタ９６には，モードレジスタセットパルスmrspzに応答して，アドレス端子az<7:4>に入力される４ビットデータがリフレッシュバースト長RBL（図１２３のテーブル１２３１T）として設定され，バンクアドレス端子baz<1:0>に入力されるリフレッシュ対象のバンク情報も設定される。さらに，リフレッシュブロック数ＲＢＣが設定されてもよい。
【０５０２】
リフレッシュバースト終了検出回路１２３２は，モードレジスタ９６からリフレッシュバースト長を示す信号modez<7:4>を入力し，リフレッシュバースト長カウンタ１２３０のカウント値と比較する。それ以外の構成は図１２３と同じである。
【０５０３】
図１２５は，コア制御回路内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の詳細回路図である。図中矢印１２５０〜１２５４で示した構成が，図１１９の構成に追加されている。つまり，リフレッシュ状態をラッチするRSフリップフロップFF2は，リフレッシュコマンドBRENにより生成されるリフレッシュパルス信号refpzに応答してセットされ，矢印１２５０で示したリフレッシュ状態信号ref_statezがHにセットされる。このリフレッシュ状態信号ref_statezはリフレッシュバースト動作中はHに維持される。
【０５０４】
リフレッシュ動作の繰り返しを制御するために，リフレッシュコントロール回路１１９１は，リフレッシュサイクルの最後にイコライズ信号eqlonzがHレベルになってから遅延時間DELAY-5の後に，インターナルリフレッシュパルス信号int_refpz（矢印１２５１，１２５２）をＨレベル（DELAY-0のパルス幅）にする。このインターナルリフレッシュパルス信号int_refpzが，RSフリップフロップFF1をセットし（矢印１２５３），次のリフレッシュサイクルへの開始を指示する。このインターナルリフレッシュパルス信号int_refpzは，前述のとおりリフレッシュカウンタをインクリメントする。
【０５０５】
そして，リフレッシュ動作を停止させるために，リフレッシュコントロール回路１１９１では，バースト長のリフレッシュサイクルが終了したときにリフレッシュバーストエンド信号rb_endz（矢印１２５４）がHレベルになり，且つリフレッシュ動作サイクルが終了するときにリフレッシュプリチャージパルス信号ref_prepzがHレベルになると，リセット入力１１９５によりRSフリップフロップFF2がリセットされ，リフレッシュ状態信号ref_statezがLにリセットされる。その結果，ＡＮＤゲート１１９７の出力がＬレベルに固定されて，次のリフレッシュサイクルの開始を指示するインターナルリフレッシュパルス信号int_refpzはそれ以上出力されない。
【０５０６】
図１２６は，コア制御回路内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の別の詳細回路図である。このコア制御回路のリフレッシュコントロール回路１１９１は，図１２５のＡＮＤゲート１１９７や遅延回路DELAY-5などに代えて，リフレッシュ状態信号ref_statezのHレベルにより活性化される発振器１２６０が設けられている。発振器１２６０は，リフレッシュサイクルと同程度の周波数で発振し，リフレッシュ状態信号ref_statezがHレベルの間は，次のリフレッシュサイクルの開始を指示するインターナルリフレッシュパルス信号int_refpzを出力し続ける。そして，リフレッシュバーストエンド信号rb_endzがHレベルになり且つ１サイクルのリフレッシュ動作終了時にリフレッシュプリチャージパルス信号ref_prepzがHレベルになるときに，RSフリップフロップFF2がリセットされ，リフレッシュ状態信号ref_statezがLにリセットされ，発振器１２６０が停止する。それ以外は，図１２４と同じである。
【０５０７】
図１２５，１２６のコア制御回路の詳細な動作説明は，図１２７，１２８を説明した後に図１２９を参照して行う。
【０５０８】
図１２７は，リフレッシュバースト長カウンタ１２３０，リフレッシュバースト長レジスタ１２３１，リフレッシュバースト終了検出回路１２３２の構成図である。図１２３の具体例であり，図１２４のレジスタを除いた具体例である。リフレッシュバースト長カウンタ１２３０内のカウンタは，リフレッシュパルス信号refpzに応答して「０」にリセットされ，リフレッシュサイクル開始を指令するインターナルリフレッシュパルス信号int_refpzに応答してインクリメントされる。カウンタ値rblcz<3:0>はリフレッシュバースト終了検出回路１２３２に出力される。
【０５０９】
リフレッシュバースト長レジスタは，リフレッシュパルス信号refpzに応答してアドレス端子az<7:4>の信号をラッチし，ラッチされたリフレッシュバースト長を示すrblrz<3:0>をリフレッシュバースト終了検出回路１２３２に出力する。
【０５１０】
リフレッシュバースト終了検出回路１２３２は，カウンタ値rblcz<3:0>とリフレッシュバースト長rblrz<3:0>を比較し，両者が完全に一致するとリフレッシュバーストエンド信号rb_endzを出力する。このリフレッシュバーストエンド信号rb_endzにより，それ以降のリフレッシュ動作が停止する。
【０５１１】
図１２８は，アドレスラッチ回路の構成図である。図１２１の構成に加えて，矢印１２８０で示したインターナルリフレッシュパルス信号int_refpzに応答して，アドレスラッチ回路１０８４が，リフレッシュアドレスカウンタ１０８３の出力のリフレッシュアドレスREF_RA<13:0>を，スイッチ１２０２を介してラッチ回路１２００にラッチする。つまり，リフレッシュバースト動作では，リフレッシュサイクルを繰り返すために，インターナルリフレッシュパルス信号int_refpz（＝H）が繰り返し出力される。よって，それに応答してアドレスラッチ回路１０８４は新たなリフレッシュアドレスをリフレッシュアドレスカウンタ１０８３からラッチし，同カウンタをインクリメントすることが必要になる。
【０５１２】
図１２９は，リフレッシュバースト動作のタイミングチャート図である。この図１２９と図１２０を参照して，図１２５〜１２８に示したコア制御回路によるリフレッシュバースト動作を説明する。まず，バックグランドリフレッシュコマンドBRENに応答してリフレッシュバースト動作が開始する。この例でも，リフレッシュ対象バンクBank0,1とリフレッシュバースト長RBL＝４とが指定されている。
【０５１３】
リフレッシュコマンドBRENによりリフレッシュパルス信号refpzが出力され，これに応答して，リフレッシュ対象バンクBank0,1のリフレッシュバースト長レジスタ１２３１にアドレス端子A<7>〜A<4>の値が取り込まれる。図中のrblrz<3:0>=0011bはバースト長RBL=4の例である。同時に，バンクBank0,1のリフレッシュバースト長カウンタ１２３０のカウンタ値がrblcz<3:0>=0000bにリセットされる。また，リフレッシュコントローラ回路１１９１内のRSフリップフロップFF2によりリフレッシュ状態信号ref_statezがHレベルにセットされる。
【０５１４】
この時，タイミングコントロール回路１１９０内のRSフリップフロップFF1もセットされ，アクティブ状態信号rasz=Highとなり，リフレッシュサイクル動作が始まる。同時に，タイミングコントロール回路１１９０は，イコライズ信号eqlonz=Low，ワード線活性化信号wlonz=Highとし,さらに，センスアンプ活性化信号saonzを図１２０と同様にHレベルにする（図示せず）。これにより，バンクBank0,1はアクティブ状態になり，セルのデータが再書き込みされる。
【０５１５】
センスアンプ活性化信号saonzから遅延時間DELAY-4後に，ＡＮＤゲート１１９６によりリフレッシュプリチャージ信号ref_prepzが出力され，RSフリップフロップFF1がリセットされ，アクティブ状態信号がrasz=Lowとなり，イコライズ信号がeqlonz=Highとなり，プリチャージ動作が始まる。このとき，リフレッシュバースト長レジスタ１２３１の値とリフレッシュバースト長カウンタ１２３０の値は異なる（rblrz<3:0>≠rblcz<3:0>）ため，リフレッシュエンド信号rb_endzはLowのままである。
【０５１６】
リフレッシュコントロール回路１１９１は，ＡＮＤゲート１１９７を介して，イコライズ信号eqlonz=Highから遅延時間DELAY-5の後に，インターナルリフレッシュパルス信号int_refpzを出力し，RSフリップフロップFF1をセットし，次のリフレッシュ動作を開始する。このとき，リフレッシュバースト長カウンタの値はカウントアップされて0001bとなる。また，アドレスラッチ回路１９８４（図１２８）は，リフレッシュアドレスカウンタ１０８３のカウント値をラッチする。以後，同様のリフレッシュ動作を繰り返す。
【０５１７】
3回目のインターナルリフレッシュパルス信号int_refpzが出力され， 4回目のリフレッシュ動作が開始されると，リフレッシュバースト長カウンタの値はカウントアップされてrblcz<3:0>=0011bとなる。このとき，リフレッシュバースト長レジスタの値rblrz<3:0>=とリフレッシュバースト長カウンタの値rblcz<3:0>は同じになり(rblrz<3:0>=rblcz<3:0>=0011b)，リフレッシュバーストエンド検出回路１２３２が，リフレッシュバーストエンド信号rb_endz=Highとする。４回目のリフレッシュ動作の終了により，プリチャージ信号ref_prepzが出力されてアクティブ状態信号rasz=Lowとなるが，このときリフレッシュエンド信号rb_endz=Highなので，リセット入力１１９５によりRSフリップフロップFF2がリセットされ，その結果リフレッシュ状態信号ref_statezがLowに状態遷移する。このref_statez=Lowにより，プリチャージ動作に伴ってイコライズ信号eqlonz=Highになったとき，次のリフレッシュ動作を開始させるインターナルリフレッシュ信号int_refpzは出力されず，４回のリフレッシュバースト動作が終了する。
【０５１８】
図１２６の例も，インターナルリフレッシュ信号int_refpzが発振器１２６０により出力されるが，４回目のリフレッシュ動作が開始してリフレッシュ状態信号ref_statezがLにリセットされると，発振器１２６０が停止し，その後インターナルリフレッシュ信号int_refpzは出力されない。その結果，リフレッシュ動作は４回で終了する。
【０５１９】
［リフレッシュバースト停止制御］
リフレッシュバースト機能は，１回のバックグランドリフレッシュコマンドを入力すると，指定されたバースト長だけリフレッシュサイクルを繰り返すので，コマンド入力回数を減らしてメモリのアクセス効率を高めることができる。しかし，バースト長が長くなると一旦開始したバックグランドリフレッシュ動作が完了するまでそのバンクへのアクセスが許されないとすると，メモリ制御の柔軟性が失われる。そこで，本実施の形態のメモリ装置はリフレッシュバースト停止機能を有する。
【０５２０】
図１３０は，リフレッシュバースト停止動作の概略を示す図である。メモリ装置は，クロック番号０でバックグランドリフレッシュコマンドBRENを入力し，バンクBNK0,1でバースト長RBL=4回のリフレッシュ動作を開始する。しかし，メモリ装置は，３回目のリフレッシュサイクル中に停止コマンドSTOPを入力すると，実行中のリフレッシュサイクルを完了した後，次のリフレッシュサイクルには入らない。実行中のリフレッシュサイクルを停止することはできないので，停止コマンドSTOPによる停止動作とは，新たなリフレッシュサイクルには入らないことを意味する。
【０５２１】
上記の停止コマンドSTOPは，例えば，リフレッシュコマンド（例えば/CS=L, /RAS=L, /CAS=L, /WE=H）とコマンド入力時のアドレス端子の信号とで指定される。つまり，リフレッシュコマンドとはコマンド信号は同じでアドレス端子の信号で区別される。もしくは，停止コマンドSTOPは，プリチャージコマンド（例えば/CS=L, /RAS=L, /CAS=H, /WE=L）が利用される。
【０５２２】
図１３１は，リフレッシュバースト停止機能を有するコア制御回路の構成図である。図１２３，１２４のコア制御回路のリフレッシュコントロール回路１１９１が，リフレッシュ状態コントロール回路１１９１Bと，リフレッシュ状態コントロール回路１１９１とで構成されている。そして，コマンドデコーダ１０８０は，バックグランドリフレッシュコマンドに応答してリフレッシュパルス信号refpzに加えて，停止コマンドに応答してリフレッシュストップパルス信号ref_stoppzを出力する。
【０５２３】
リフレッシュ状態コントロール回路１１９１Bは，リフレッシュパルス信号refpzに応答してリフレッシュ状態信号ref_statezをHレベルにセットし，リフレッシュストップパルス信号ref_stoppzに応答してリフレッシュ状態信号ref_statezをLレベルにリセットする。このリフレッシュ状態信号ref_statezにより，リフレッシュコントロール回路１１９１のリフレッシュ開始と停止とを制御する。また，リフレッシュコントロール回路１１９１は，バースト長回数のリフレッシュサイクルの終了を示すリフレッシュバーストエンド信号rb_endzにより，バースト長回数のリフレッシュサイクルが完了するときも，前述の通りリフレッシュ動作を終了させる。
【０５２４】
図１３２は，リフレッシュ状態コントロール回路の回路図である。図１３２（Ａ）は，バックグランドリフレッシュコマンドBRENとアドレス端子の信号とにより停止コマンドが与えられる例である。また，図１３２（Ｂ）は，プリチャージコマンドが停止コマンドとして与えられる例である。これらに内蔵されるRSフリップフロップFF2は，図１２５，１２６のRSフリップフロップFF2に対応し，リフレッシュ状態かリフレッシュ停止状態かを示すリフレッシュ状態信号ref_statezを制御する。
【０５２５】
いずれのリフレッシュ状態コントロール回路１１９１Ｂにおいても，RSフリップフロップFF2は，リフレッシュパルス信号refpz=Hでセットされてリフレッシュ状態信号ref_statez＝Hとし，リフレッシュバーストエンド信号rb_endz<#>＝H且つリフレッシュプリチャージパルス信号ref_prepz＝Hに応答して，NANDゲート１３２１によりリセットされてリフレッシュ状態信号ref_statez＝Lとする。ここまでは，通常のリフレッシュバースト動作である。
【０５２６】
そして，図１３２（Ａ）では，停止コマンドにより生成されるリフレッシュストップパルス信号ref_stoppz=Hに応答して，インバータ１３２２を経由して，RSフリップフロップFF2がリセットされ，リフレッシュ状態信号ref_statez＝Lとなる。この場合は，リフレッシュ対象バンク内のRSフリップフロップFF2のみがセット状態（リフレッシュ状態，ref_statez=H）になっているので，メモリ装置内の共通のリフレッシュストップパルス信号ref_stoppz=Hに応答して，リフレッシュ対象バンク内のRSフリップフロップFF2のみがリセットされる。
【０５２７】
一方，図１３２（Ｂ）では，プリチャージコマンドに応答して生成されるプリチャージパルス信号prepz＝Hに応答して，リフレッシュバンク選択信号ref_bnkz<#>＝Hにより選択中のバンクのみ，RSフリップフロップFF2がリセットされる。通常の動作サイクル中では，リフレッシュバンク選択信号ref_bnkz<#>＝Lであるので，プリチャージコマンドによりRSフリップフロップFF2がリセットされることはない。
【０５２８】
図１３３は，コア制御回路のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の回路図である。図１２５の回路図と異なるのは，図１３２のリフレッシュ状態コントロール回路１１９１ＢのRSフリップフロップFF2に加えて，リフレッシュ動作中のアクティブ状態とプリチャージ状態とを管理するRSフリップフロップFF3が設けられ，そのRSフリップフロップFF3がリフレッシュアクティブ状態信号ref_raszを生成する。そして，ＡＮＤゲート１３３２は，リフレッシュアクティブ状態信号ref_rasz=Hに基づき，リフレッシュ状態信号ref_statezの状態にかかわらず，リフレッシュサイクル中のプリチャージを指示するリフレッシュプリチャージパルス信号ref_prepzを出力する。このリフレッシュアクティブ状態信号ref_raszは，リフレッシュ中は，アクティブ状態信号raszと同じ動作になる。
【０５２９】
さらに，図１２５と異なるのは，調停回路１３３４が，プリチャージ開始を指示するイコライズ信号eqlonz＝Hから遅延時間DELAY-5後のタイミングと，停止コマンドまたはプリチャージコマンドによりリフレッシュ状態信号ref_statez=Lのタイミングとを監視し，リフレッシュ状態信号ref_statez=Hの時は，新たなリフレッシュサイクル開始を指示するインターナルリフレッシュパルス信号int_refpz＝Hを出力し，リフレッシュ状態信号ref_statez=Lになると，新たなリフレッシュサイクル開始を指示するインターナルリフレッシュパルス信号int_refpz＝Hを出力しない。
【０５３０】
図１３４は，コア制御回路のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の別の回路図である。ここでは，図１３３のＡＮＤゲート１３３３に代えて，発振器１２６０を設けた例であり，図１２６の例に対応する。図１２６と同様に，発振器１２６０は，リフレッシュ状態信号ref_statez＝Hの時にイネーブル状態になり，次のリフレッシュサイクル開始を指示するインターナルリフレッシュパルス信号int_refpz＝Hを出力する。発振器は，リフレッシュ状態信号ref_statez＝Lの時にディセーブル状態になる。そして，調停回路１３３４は，発振器の出力とリフレッシュ状態信号ref_statezのタイミングを監視し，リフレッシュ状態信号ref_statez=Hの間は発振器出力を通過させ，リフレッシュ状態信号ref_statez=Lになると発振器出力の通過を禁止する。
【０５３１】
図１３５は，図１３３の動作を示すタイミングチャート図である。図１３３，図１３４のタイミングコントロール回路１１９０及びリフレッシュコントロール回路１１９１の動作は，次のとおりである。バックグランドリフレッシュコマンドBRENによりリフレッシュパルス信号refpz＝Hに応答して，RSフリップフロップFF1とFF3とがセットされ，アクティブ状態信号raszとリフレッシュアクティブ状態信号ref_raszが共にHレベルになる。これに応答して，ワード線，センスアンプが駆動されてアクティブ動作が行われる。
【０５３２】
そして，アクティブ動作が完了すると，センスアンプ活性化信号saonz＝Hに応答して遅延時間DELAY-4の後に，リフレッシュプリチャージパルス信号ref_prepz＝Hが出力され，RSフリップフロップFF1,FF3がリセットされ，アクティブ状態信号raszとリフレッシュアクティブ状態信号ref_raszが共にLレベルになる。これにより，プリチャージ動作が開始する。プリチャージ動作を開始するイコライズ信号eqlonz＝Hから遅延時間DELAY-5後に，次のリフレッシュサイクル開始を指示するインターナルリフレッシュパルス信号int_refpz＝Hが出力され，次のリフレッシュサイクルが始まる。
【０５３３】
そして，３回目のリフレッシュサイクルのアクティブ動作中に停止コマンドSTOPが入力する。これに応答して，リフレッシュストップパルス信号Ref_stoppz＝Hがコマンドデコーダから出力され，リフレッシュ状態コントロール回路１１９１Ｂは，リフレッシュ状態信号ref_statez=Lを出力する。そして，３回目のリフレッシュサイクルのアクティブ動作の終了を示すタイミングである，センスアンプ活性化信号saonz＝Hから遅延時間DELAY-4後のタイミングで，ＡＮＤゲート１３３２は，リフレッシュアクティブ状態信号ref_rasz=Hに基づいて，プリチャージ開始を指示するリフレッシュプリチャージパルス信号ref_prepz＝Hを出力する。これにより，３回目のリフレッシュサイクルのプリチャージ動作は確実に実行される。
【０５３４】
リフレッシュプリチャージパルス信号ref_prepz＝Hに応答して，RSフリップフロップFF1,FF3はリセットされ，イコライズ信号eqlonz＝Hとなってプリチャージ動作が始まる。そして，それから遅延時間DELAY-5後のタイミングで，調停回路１３３４は，リフレッシュ状態信号ref_statez=Lに基づいて，次のリフレッシュサイクル開始を指示するインターナルリフレッシュパルス信号int_refpz＝Hの出力を行わない。
【０５３５】
このように，上記のコア制御回路によれば，リフレッシュ状態信号ref_statezとリフレッシュアクティブ状態信号ref_raszとを利用して，任意のタイミングで入力する停止コマンドSTOPが発生したら，動作中のリフレッシュサイクルのプリチャージ動作を確実に完了できるようにし，停止コマンドSTOP後に新たなリフレッシュサイクルに入ることを禁止できるようにしている。
【０５３６】
図１３６は，リフレッシュ停止機能を実現するコマンドデコーダの回路図である。コマンドデコーダ１０８０のノード１３６１は，/CS=L, /RAS=L, /CAS=L, /WE=Hの時にHレベルになる。そして，アドレス端子A<8>１３６０がLレベル，az<8>=Lの時は，ＡＮＤゲート１３６３によりリフレッシュパルス信号refpz＝Hとなり，リフレッシュ動作が開始する。一方，アドレス端子A<8>１３６０がHレベル，az<8>=Hの時は，ＡＮＤゲート１３６２によりリフレッシュストップパルス信号ref_stoppz＝Hとなり，リフレッシュ動作が停止する。
【０５３７】
［カウントダウン型のリフレッシュバースト制御］
次に，リフレッシュバースト制御をダウンカウンタを用いて行う実施の形態を説明する。前述の例では，リフレッシュバーストカウンタをリフレッシュサイクル毎にカウントアップしていったが，以下の実施の形態では，リフレッシュバーストカウンタをリフレッシュサイクル毎にカウントダウンし，リフレッシュバーストカウンタのカウント値が全て０になると，リフレッシュバースト動作を終了する。したがって，バックグランドリフレッシュ動作中の停止コマンドに応答して，リフレッシュバーストカウンタを全て０にリセットすることで，停止制御を行うことができる。
【０５３８】
また，このダウンカウンタを用いることにより，リフレッシュバースト動作が完了する前に，新たなバックグランドリフレッシュコマンドを入力して，新たなコマンドで指定されるバースト長にリフレッシュバーストカウンタを上書きする制御や，新たなコマンドで指定されるバースト長を現在のリフレッシュバーストカウンタに加算する制御などを行うことができる。
【０５３９】
さらに，以下の実施の形態では，リフレッシュアドレスカウンタがリフレッシュサイクル毎にインクリメントまたはデクリメントされるが，残りのリフレッシュアドレスを全て一括してリフレッシュさせるリフレッシュオールコマンドにより，リフレッシュアドレスカウンタを既存のカウント値から初期値まで戻す制御についても説明する。
【０５４０】
図１３７は，カウントダウン型のリフレッシュバースト制御を行うコア制御回路１０８５の構成図である。この例では，バックグランドリフレッシュコマンドBRENとアドレス端子A<5>とによりリフレッシュ開始と停止とを制御する。
【０５４１】
図１３１の回路図と同様に，コア制御回路１０８５は，コアに対するアクティブ動作とプリチャージ動作の制御信号を生成するタイミング制御回路１１９０と，バックグランドリフレッシュ動作におけるリフレッシュ制御を行うリフレッシュコントロール回路１１９１とを有する。さらに，コア制御回路は，リフレッシュパルス信号refpzに応答してアドレス端子A<3:0>から入力されるリフレッシュバースト長RBLを設定するリフレッシュバースト長レジスタ１２３１と，そのリフレッシュバースト長RBLをリフレッシュパルス信号refpzに応答して入力し，ダウン信号downzでダウンカウントし，停止コマンドに対応するアドレス端子A<5>＝Hに応答してカウント値を全て０にするリフレッシュバースト長カウンタ１２３０とを有する。
【０５４２】
バックグランドリフレッシュコマンドに対応するリフレッシュパルス信号refpzにより，リフレッシュバースト動作が始まり，リフレッシュサイクル毎にダウン信号downzが出力されてリフレッシュバースト長カウンタ１２３０がダウンカウントし，次のリフレッシュサイクルを指示するインターナルリフレッシュパルス信号int_refpzが出力される。リフレッシュコントロール回路１１９１は，リフレッシュバースト長カウンタのカウント値rblcz<3:0>が全て０（Lレベル）にならない間は，上記のリフレッシュサイクル動作を繰り返す。そして，このカウント値rblcz<3:0>が全て０（Lレベル）になると，リフレッシュコントロール回路１１９１は，新たなリフレッシュサイクルを指示するインターナルリフレッシュパルス信号int_refpzを出力しない。アドレス端子A<5>=Hによる停止コマンドにより，カウント値rblcz<3:0>が全て０（Lレベル）になると，同様にリフレッシュコントロール回路１１９１はインターナルリフレッシュパルス信号int_refpzを出力しない。
【０５４３】
図１３７のコア制御回路１０８５は，リフレッシュアドレス比較回路１３７０を有する。このリフレッシュアドレス比較回路１３７０は，リフレッシュオールコマンドREFALLに応答して，リフレッシュオール信号rblcallz＝Hにし，リフレッシュアドレスカウンタ１０８３のリフレッシュアドレスref_az<13:0>を監視しリフレッシュアドレスref_az<13:0>=全てHを検出すると，リフレッシュオール信号reblcallz＝Lにする。リフレッシュオールコマンドREFALLに応答して，リフレッシュパルス信号int_refpzが出力されてリフレッシュ動作が開始し，リフレッシュアドレスカウンタ１０８３のリフレッシュアドレスref_az<13:0>が全てHになるまでのリフレッシュオール信号rblcallz＝Hの期間は，リフレッシュコントロール回路１１９１がインターナルリフレッシュパルス信号int_refpzを出力し続ける。そして，リフレッシュアドレスref_az<13:0>=全てHによりリフレッシュオール信号rblcallz＝Lになると，リフレッシュコントロール回路１１９１はインターナルリフレッシュパルス信号int_refpzの出力を停止し，それ以上のリフレッシュサイクルは発生しない。なお，リフレッシュアドレスカウンタ１０８３は，センスアンプ活性化信号saonzに応答してリフレッシュアドレスref_az<13:0>をカウントダウンする。このセンスアンプ活性化信号saonzに代えて，インターナルリフレッシュパルス信号int_refpzでカウントダウンしてもよい。
【０５４４】
図１３８は，リフレッシュバースト長レジスタ１２３１に設定されるリフレッシュバースト長と，アドレス端子A<3:0>との対応を示す真理値表である。アドレス端子A<3:0>の値がそのままリフレッシュバースト長としてレジスタ１２３１に設定される。
【０５４５】
図１３９は，カウントダウン型のリフレッシュバースト制御を行うコア制御回路１０８５の構成図である。この回路では，リフレッシュバースト長カウンタ１２３０が，停止コマンドREFSTOPに応答してALL=0にリセットされる。それ以外は，図１３７の回路図と同じである。
【０５４６】
図１４０は，コア制御回路１０８５内のタイミングコントロール回路１１９０とリフレッシュコントロール回路１１９１の回路図である。タイミングコントロール回路１１９０は，前述と同様に，通常動作時のアクティブパルス信号actpz，バックグランドリフレッシュ動作時のリフレッシュパルス信号refpz，リフレッシュバースト動作中のインターナルリフレッシュパルス信号int_refpz，それぞれに応答してセットされるRSフリップフロップFF1を有する。フリップフロップFF1がセットされると，アクティブ状態信号rasz<#>などが出力され，コアがアクティブ動作する。
【０５４７】
そして，リフレッシュコントロール回路１１９１は，アクティブ状態信号rasz<#>がLレベルになってから遅延時間DELAY-6後にリフレッシュインターバル信号refitvalx＝Hにし，次のリフレッシュサイクルを指示するインターナルリフレッシュパルス信号int_refpzを出力する。また，リフレッシュコントロール回路１１９１は，ワード線駆動信号wlonz<#>＝Hに応答して，遅延時間DELAY-7のパルス幅のダウン信号downz＝Hを出力し，リフレッシュバースト長カウンタ１２３０のカウント値をカウントダウンする。
【０５４８】
NANDゲート１４００の出力は，リフレッシュバースト長カウント値rblcz<3:0>＝全てL，リフレッシュオール信号rblcallz＝LのときにLレベルになり，ANDゲート１４０１を介してインターナルリフレッシュパルス信号int_refpzの出力が禁止される。通常状態では，リフレッシュオール信号rblcallz＝Lであるので，リフレッシュバースト動作中にリフレッシュバースト長カウント値rblcz<3:0>＝全てLになると，インターナルリフレッシュパルス信号int_refpzの出力が禁止される。また，リフレッシュオールコマンドに対応するリフレッシュオール信号rblcallz＝Hの間は，リフレッシュバースト長カウント値rblcz<3:0>にかかわらずインターナルリフレッシュパルス信号int_refpzが出力される。
【０５４９】
なお，図１４０中のアドレス端子A<10>は，SDRAMが有する全バンクプリチャージ動作を指令する信号であり，RSフリップフロップFF1をリセットしてプリチャージ動作を制御する。上記の回路の具体的な動作は後で詳述する。
【０５５０】
図１４１，図１４２は，リフレッシュバースト長レジスタ１２３１とリフレッシュバースト長カウンタ１２３０の回路図である。図１４１は，停止コマンドがバックグランドリフレッシュコマンドBRENとアドレス端子A<5>で入力される例であり，図１４２は，停止コマンドが専用のコマンドREFSTOPで入力される例である。それ以外は同じである。
【０５５１】
リフレッシュバースト長レジスタ１２３１は，リフレッシュパルス信号refpzに応答して，ラッチ回路１４１０，１４１２にアドレス端子A<3:0>からのリフレッシュバースト長RBLを取り込む。ゲート１４１１，１４１３は，通常ダウン信号downzとセルフリフレッシュモード信号srefzとが共にLレベルであるので，ラッチした値をそのままリフレッシュバースト長レジスタ値rblrz<3:0>として出力する。また，リフレッシュバースト長レジスタ１２３１は，SDRAMの従来のリフレッシュ動作を指令するセルフリフレッシュ信号srefz＝Hに応答して，レジスタ値rblrz<3:0>=0001にする。
【０５５２】
リフレッシュバースト長カウンタ１２３０は，リフレッシュパルス信号refpz＝Hに応答して，レジスタ値rblrz<3:0>を取り込み，ダウン信号downz＝Hに応答してダウンカウントするダウンカウンタ１４１４を有する。また，ダウンカウンタ１４１４は，停止コマンドに対応するリフレッシュパルス信号refpz＝Hとアドレス端子A<5>=Hに応答して（図１４２の例ではリフレッシュストップコマンドREFSTOPに応答して），rblcz<3:0>＝全てLにリセットされる。
【０５５３】
図１４３は，リフレッシュアドレスカウンタ１０８３とリフレッシュアドレス比較回路１３７０の回路図である。リフレッシュアドレスカウンタ１０８３は，１４ビットカウンタであり，リフレッシュバンク選択信号ref_bnkz<#>＝Hで且つセンスアンプ活性化信号saonz<#>=Hに応答して，リフレッシュアドレスref_az<13:0>をカウントダウンする。
【０５５４】
リフレッシュアドレス比較回路１３７０は，リフレッシュオールコマンドREFALLに応答してセットされるRSフリップフロップFF4と，リフレッシュアドレスref_az<13:0>＝全てHを検出するNANDゲート群１４３２とを有する。通常状態ではRSフリップフロップFF4はリセットされてノード１４３０はHレベルであり，リフレッシュオール信号rblcallz＝Lである。そして，リフレッシュオールコマンドREFALLに応答してRSフリップフロップFF4がセットされ，ノード１４３０はLレベルになり，リフレッシュオール信号rblcallz＝Hになる。rblcallz＝Hの間はリフレッシュコントロール回路１１９１によりリフレッシュ動作が繰り返され，リフレッシュアドレスカウンタ１０８３がセンスアンプ活性化信号saonz＝Hのたびにダウンカウントされる。リフレッシュアドレスref_az<13:0>が全てLから全てHになると，NAND群１４３２がそれを検出し，ノード１４３１をHレベルにし，リフレッシュオール信号rblcallz＝Lにする。これに応答して，リフレッシュコントロール回路１１９１はリフレッシュ動作を停止し，RSフリップフロップFF4はリセットされる。これによりリフレッシュアドレスカウンタ１０８３内の残りのアドレスを全てリフレッシュさせるリフレッシュオール動作が終了する。
【０５５５】
図１４４は，カウントダウン型のコア制御回路のRBL=3の場合のタイミングチャート図である。バックグランドリフレッシュコマンドBRENに応答してリフレッシュパルス信号refpz＝Hが生成され，それに応答して，図１４１，１４２のレジスタ１２３１，カウンタ１２３０がリセットされて，リフレッシュバースト長レジスタ値rblrz<3:0>，リフレッシュバースト長カウンタ値rblcz<3:0>が共に0011bにセットされる。rblcz<3:0>＝0011bにより，図１４０のリフレッシュコントロール回路１１９１のNAND１４００の出力がLからHになり，インターナルリフレッシュパルス信号int_refpz＝Hを出力する。また，図１４０のタイミングコントロール回路１１９０のRSフリップフロップFF1がセットされて，アクティブ状態信号raszがHレベルになり，リフレッシュコントロール回路１１９１がANDゲート１４０２を経由してリフレッシュインターバル信号refitvalx＝Lにして，インターナルリフレッシュパルス信号int_refpz＝Lになる。
【０５５６】
そして，コアがアクティブ動作され，センスアンプ活性化信号saonz＝Hに応答して，リフレッシュコントロール回路１１９１が，ANDゲート１４３０を介して，ダウン信号downz=Hを出力する。これに応答して，図１４１，１４２のリフレッシュバースト長カウンタ１２３０が，カウント値rblcz<3:0>をカウントダウンする。リフレッシュコントロール回路１１９１は，アクティブ状態信号raszがLレベルになってから遅延時間DELAY-6後にリフレッシュインターバル信号refitvalx＝Hにし，新たなインターナルリフレッシュパルス信号int_refpzを出力する。
【０５５７】
そして，上記のリフレッシュサイクルが３回繰り返されると，リフレッシュバースト長カウンタのカウント値rblcz<3:0>=0000bになり，リフレッシュコントロール回路１１９１のNANDゲート１４００の出力がLレベルになり，ANDゲート１４０１によりそれ以降のインターナルリフレッシュパルス信号int_refpzは出力されない。これで，バースト長３のリフレッシュ動作が終了する。
【０５５８】
図１４５は，カウントダウン型のコア制御回路のリフレッシュ停止動作のタイミングチャート図である。この例では，リフレッシュバースト長RBL=3のリフレッシュ動作中に停止コマンドによりリフレッシュ動作が停止する。リフレッシュ開始コマンドがバックグランドリフレッシュコマンドBRENとアドレス端子A<5>=Lにより入力されると，リフレッシュ動作が開始する。開始動作は，図１４４と同じである。そして，クロック番号７でリフレッシュ停止コマンドが，バックグランドリフレッシュコマンドBRENとアドレス端子A<5>=Hにより入力されると，リフレッシュバースト長カウンタ１２３０（図１４１）がリセットされ，そのカウント値rblcz<3:0>が0000bになる。これに応答して，リフレッシュコントロール回路１１９１のNANDゲート１４００の出力がLレベルになり，それ以降のインターナルリフレッシュパルス信号int_refpzは出力されない。なお，リフレッシュサイクルのプリチャージは，タイミングコントロール回路１１９０により，通常動作と同様にして制御される。
【０５５９】
図１４６は，カウントダウン型のコア制御回路のリフレッシュ停止動作のタイミングチャート図である。図１４５と異なり，リフレッシュ停止コマンドREFSTOPにより停止制御される。それ以外は図１４５と同じである。
【０５６０】
図１４７は，カウントダウン型のコア制御回路のリフレッシュオール動作を示すタイミングチャート図である。リフレッシュオールコマンドREFALLに応答してREFALL=Hになり，リフレッシュアドレス比較回路１３７０（図１４３）のRSフリップフロップFF4がセットされ，ノード１４３０がLレベル，リフレッシュオール信号rblcallz＝Hになる。それにより，リフレッシュコントロール回路１１９１（図１４０）のNANDゲート１４００の出力がHレベルになり，インターナルリフレッシュパルス信号int_refpz＝Hを出力し，リフレッシュサイクルが開始する。
【０５６１】
リフレッシュサイクル毎にリフレッシュアドレスカウンタ１０８３（図１４０）のリフレッシュアドレスref_az<13:0>をカウントダウンし，ref_az<13:0>＝全てL（カウント値0000h）になりさらにref_az<13:0>＝全てH（カウント値3FFFh）になると，NANDゲート群（図１４３）がそれを検出し，リフレッシュオール信号REFALL=Lになり，リフレッシュコントロール回路１１９１（図１４０）のNANDゲート１４００がLレベルになり，その後のインターナルリフレッシュパルス信号int_refpzの出力が停止する。これによりリフレッシュアドレスの残り全てについてリフレッシュ動作が終了し，リフレッシュアドレスカウンタ１０８３のカウント値が全て１にリセットされた状態になる。
【０５６２】
図１４８は，カウントダウン型のコア制御回路のリフレッシュコマンド再設定の動作を示すタイミングチャート図である。この図では，最初のバックグランドリフレッシュコマンドBRENでは，リフレッシュバースト長RBL=14（A<3:0>=1110b）が設定されてリフレッシュ動作が始まり，リフレッシュ動作毎にリフレッシュバースト長カウンタがカウントダウンされる。そして，リフレッシュバースト長カウンタ値rblcz<3:0>＝0000bになる前に，更に２回目のコマンドBRENでリフレッシュバースト長RBL=2（A<3:0>=0010b）が入力され，その時のカウンタ値rblcz<3:0>＝1011bに新たなリフレッシュバースト長RBL=2（A<3:0>=0010b）が加算されて，カウンタ値rblcz<3:0>＝1101b（残り１３回）になる。
【０５６３】
このように，リフレッシュバースト制御において，新たなバックグランドリフレッシュコマンドによりリフレッシュバースト長を加算する機能を有することにより，メモリコントローラは，将来のバックグランドリフレッシュ動作のためにバックグランドリフレッシュコマンドを先行して発行することができる。
【０５６４】
図１４９は，カウントダウン型のコア制御回路のリフレッシュコマンド再設定の動作を示すタイミングチャート図である。この例では，２回目のコマンドBRENでリフレッシュバースト長RBL=2（A<3:0>=0010b）が入力され，その時のカウンタ値rblcz<3:0>＝1011bに代えて新たなリフレッシュバースト長RBL=2（A<3:0>=0010b）が上書きされ，カウンタ値rblcz<3:0>＝0010b（残り２回）になる。
【０５６５】
このように，リフレッシュバースト制御において，新たなバックグランドリフレッシュコマンドによりリフレッシュバースト長を上書きする機能を有することにより，メモリコントローラは，一旦開始したバックグランドリフレッシュ動作を取り消して，新たなバックグランドリフレッシュ動作を開始させることができる。図１４８，１４９のような新たなバックグランドリフレッシュコマンドによりバースト長RBLを加算したり上書きしたりすることで，リフレッシュバースト動作が始まった後に，その内容を自由に変更することができ，メモリコントローラの制御のフレキシビリティを高めることができる。
【０５６６】
［アクティブとリフレッシュ連動制御］
次にアクティブとリフレッシュとを連動させる制御について説明する。上記してきた実施の形態では，通常メモリ動作のアクティブコマンドACTと，バックグランドリフレッシュ動作のコマンドBRENとは別々のコマンドであり，メモリコントローラはそれらのコマンドを別々の発行することで，メモリ装置に通常メモリ動作とバックグランドリフレッシュ動作とを実行させる。
【０５６７】
それに対して，以下の実施の形態では，あらかじめモードレジスタなどにアクティブコマンドに連動してバックグランドリフレッシュ動作を実行するように設定することで，メモリ装置が，通常メモリ動作のアクティブコマンドの入力に応答して，選択バンクでの通常アクティブ動作に加えて，リフレッシュ対象バンクでのリフレッシュ動作を行う。このような機能を有することにより，メモリコントローラは，バックグランドリフレッシュコマンドを発行する必要はない。
【０５６８】
図１５０は，アクティブとリフレッシュ連動制御を示すタイミングチャート図である。クロック番号２では，アクティブコマンドACTと共にバンクアドレスBA=2が入力され，それに応答して，メモリ装置は，バンクBANK2がアクティブ動作を実行するとともに，バンクBANK1でリフレッシュ動作を実行する。また，クロック番号４では，図中の表に示すとおり，アクティブコマンドACTと共にバンクアドレスBA=3が入力され，それに応答して，メモリ装置は，バンクBANK3でアクティブ動作を実行するとともに，バンクBANK0でリフレッシュ動作を実行する。
【０５６９】
つまり，図中の表に示されるとおり，アクティブコマンドACTとともに入力されるバンクアドレスBA<1:0>の値に対応して，メモリ装置は特定のバンクでリフレッシュ動作を実行する。つまり，アクティブコマンドでバンクBANK0が選択されればバンクBANK3でリフレッシュ動作，アクティブコマンドでバンクBANK1が選択されればバンクBANK2でリフレッシュ動作，アクティブコマンドでバンクBANK2が選択されればバンクBANK1でリフレッシュ動作，そして，アクティブコマンドでバンクBANK3が選択されればバンクBANK0でリフレッシュ動作する。この組み合わせであれば，図１１７に示したいずれのメモリマッピング１１７０，１１７１のいずれであっても，水平アクセスに伴うアクティブコマンドで，水平アクセス対象でないバンクにバックグランドリフレッシュをさせることができる。
【０５７０】
本実施の形態では，アクティブコマンドACTに応答して，１回のバックグランドリフレッシュ動作を実行する。したがって，リフレッシュバースト長RBL=1に固定される。
【０５７１】
図１５１は，アクティブとリフレッシュ連動制御におけるリフレッシュバンクデコーダの回路図である。リフレッシュバンクデコーダ１０８２内のANDゲート群１５１０は，モード値modez=Hの場合に，通常バンクデコーダが出力するバンク選択信号bnkz<#>＝Hそれぞれに応答して，リフレッシュバンク選択信号ref_bnkz<#>＝Hを出力する。通常アクティブ動作の選択バンクとリフレッシュ選択バンクとの関係は，図１５０の表に示される通りである。一方，ANDゲート群１５１０は，モード値modez=Lの場合は，リフレッシュバンク選択信号ref_bnkz<3:0>＝全てLにして連携したリフレッシュ動作を禁止する。
【０５７２】
モード値modez=H/Lは，あらかじめモードレジスタセットコマンドEMRSにより内蔵レジスタに設定される。または，所定の外部端子から入力される。よって，前述の例によれば，水平アクセスの場合にモード値modez=Hを設定して，アクティブコマンドACTに連携してバックグランドリフレッシュ動作を行わせ，矩形アクセスの場合はモード値modez=Lに設定して，バックグランドリフレッシュ動作を禁止することが望ましい。
【０５７３】
図１５２は，アクティブとリフレッシュ連動制御におけるコア制御回路の回路図である。このコア制御回路１０８５は各バンク毎に設けられ，よって，バンク選択信号bnkz<#>，リフレッシュバンク選択信号ref_bnkz<#>により，バンク毎の制御が区別される。まず，選択バンク（bnkz<#>＝H）では，タイミングコントロール回路１１９０のRSフリップフロップFF1は，NANDゲート１５２０を介して，アクティブパルス信号actpz＝Hに応答してセットされ，アクティブ状態信号raszをHレベルにし，コアをアクティブ動作させる。
【０５７４】
一方，リフレッシュ選択バンク（ref_bnkz<#>＝H）では，RSフリップフロップFF1は，NANDゲート１５２１を介して，アクティブパルス信号actpz=Hに応答してセットされ，アクティブ状態信号raszをHレベルにし，コアをアクティブ動作させる。同時に，リフレッシュコントロール回路１１９１内のRSフリップフロップFF3も，NANDゲート１５２２を介して，アクティブパルス信号actpz＝Hに応答してセットされ，リフレッシュアクティブ状態信号ref_raszをHレベルにセットする。アクティブ状態信号raszをHレベルによりリフレッシュ動作が開始し，センスアンプ活性化信号saonz=Hに応答して，リフレッシュプリチャージパルス信号ref_prepz＝Hにより，RSフリップフロップFF1がリセットされて，プリチャージ動作が行われる。同時に，RSフリップフロップFF3はリセットされる。
【０５７５】
図１５３は，アクティブとリフレッシュ連動制御におけるアドレスラッチ回路の回路図である。この回路も各バンクに設けられている。アドレスラッチ回路１０８４は，選択バンク（bnkz<#>＝H）では，アクティブパルス信号actpz＝Hに応答してラッチ回路１２００が外部アドレスaz<13:0>をラッチする。一方，リフレッシュ選択バンク（ref_bnkz<#>＝H）では，アクティブパルス信号actpz＝Hに応答してラッチ回路１２００がリフレッシュアドレスカウンタ１０８３のリフレッシュアドレスref_az<13:0>をラッチする。また，通常のリフレッシュパルス信号refpz＝Hに応答しても，ラッチ回路１２００がリフレッシュアドレスref_az<13:0>をラッチする。それ以外は，図１２８と同じである。
【０５７６】
以上の通り，通常のアクティブコマンドに応答して，あらかじめ設定されたバンクの組み合わせで，通常アクティブ動作とバックグランドリフレッシュ動作とが平行に実行される。
【０５７７】
［リフレッシュブロック数による制御］
次に，本実施の形態におけるリフレッシュブロック数RBCによる制御について説明する。本実施の形態のバックグランドリフレッシュ動作では，リフレッシュサイクル数を規定するリフレッシュバースト長RBLに加えて，１回のリフレッシュサイクルで同時にアクティブ化されるブロック数（ワード線数）RBCを設定することができる。
【０５７８】
リフレッシュブロック数RBCを大きくすることで，同時に多くのリフレッシュアドレスに対してリフレッシュを実行することができる。よって，バックグランドリフレッシュ可能な期間が短い場合には，リフレッシュブロック数RBCを大きく設定することが望ましい。一方で，リフレッシュブロック数RBCを大きくすると同時に多くのワード線でリフレッシュ動作が実行され，瞬間的な消費電力を増大させる。よって，バックグランドリフレッシュ可能な期間が長ければ，できるだけリフレッシュブロック数RBCを小さく設定することが望ましい。よって，メモリコントローラは，上記のバックグランドリフレッシュ可能期間や消費電力の条件に応じて，リフレッシュブロック数RBCを最適値に設定する。
【０５７９】
図１５４は，バンク回路の構成図である。図１０８で説明したとおり，各バンク９２は，リフレッシュアドレスカウンタ１０８３と，アドレスラッチ回路１０８４と，コア回路を構成するメモリセルアレイ１０８６Ｍとロウデコーダ１０８６Ｄとを有する。メモリセルアレイ１０８６Ｍは，メモリセルアレイMCA0-3とセンスアンプ列対SA00,01〜SA30,31で構成された４組のブロックRBLK0-3を有する。４組のブロックRBLK0-3はいずれもセンスアンプ列SAを有するので，同時にアクティブ化されてリフレッシュ動作を行うことができる。そして，モード設定値modez<1:0>により，リフレッシュアドレスカウンタ１０８３のカウント値REF_A<13:0>の上位２ビットの一方又は両方が縮退（反転，非反転アドレスいずれもHレベル）する。この縮退により，ロウデコーダ１０８６Dに入力されるロウアドレスRA<13:0>は，４ブロックRBLK0-3を同時に活性化する，２ブロックを同時に活性化する，１ブロックを活性化するのいずれかの動作を可能にするアドレスになる。
【０５８０】
図１５５は，リフレッシュブロック数に応じたコア内のメモリブロックの制御を示す図である。リフレッシュブロック数RBC=1(modez<1:0>=00)の場合は，バックグランドリフレッシュコマンドBRENに応答して，コア内のリフレッシュ対象のメモリブロックRBLK0のワード線WLが駆動されリフレッシュ動作が行われる。リフレッシュブロック数RBC=2(modez<1:0>=01)の場合は，バックグランドリフレッシュコマンドBRENに応答して，コア内のリフレッシュ対象の２つのメモリブロックRBLK0,2のワード線WLが駆動されリフレッシュ動作が行われる。そして，リフレッシュブロック数RBC=4(modez<1:0>=11)の場合は，バックグランドリフレッシュコマンドBRENに応答して，コア内のリフレッシュ対象の４つのメモリブロックRBLK0,1,2,3のワード線WLが駆動されリフレッシュ動作が行われる。
【０５８１】
図１５６は，アドレスラッチ回路の回路図である。図中の真理値表に示すとおり，モードレジスタに設定されるリフレッシュブロック数RBCを設定する信号modez<0>〜<1>により同時に活性化するワード線数が1,2,4のいずれになる。
【０５８２】
アドレスラッチ回路１０８４は，１４ビットのロウアドレスのうち，上位２ビットのアドレスの非反転信号と反転信号をラッチするラッチ群１５６４と，下位１２ビットのアドレスをラッチするラッチ群１５６５とを有する。そして，ラッチ群１５６４は，アクティブパルス信号actpzに応答して，外部アドレスaz<13>,<12>の非反転信号とインバータ1566,1567による反転信号とをラッチする。同様に，ラッチ群１５６４は，リフレッシュパルス信号refpzに応答して，リフレッシュアドレスREF_A<13>,<12>の非反転信号とインバータ1568,1569による反転信号とをラッチする。ただし，モードレジスタの設定信号modez<0>,<1>に応じて，NANDゲート１５６０〜１５６３により，リフレッシュアドレスREF_A<13>,<12>の非反転信号と反転信号はともにHレベルに縮退される。これにより，複数のメモリブロックのワード線を同時に駆動することができる。
【０５８３】
図１５７は，ロウデコーダ内のプリデコーダ回路の回路図である。プリデコーダ回路の一部を示す。このプリデコーダ回路は，上位２ビットのロウアドレスの非反転信号raz<12>,<13>と，反転信号rax<12>,<13>との組み合わせにより，４つのメモリブロックを選択するブロック選択信号rblkz<3:0>が生成される。このプリデコーダ回路にいよる動作が，図中の表に示されている。
【０５８４】
図１５６，図１５７の動作は次の通りである。
【０５８５】
まず，RBC=1の場合は，modez<0>=modez<1>=0であり，
raz<13>はREF_A<13>と同相，rax<13>はREF_A<13>の逆相，
raz<12>はREF_A<12>と同相，rax<12>はREF_A<12>の逆相
となる。そして，プリデコーダ回路1086Dにより，４つのうちの１つのブロックRBLKが選択されて1本のワード線WLが活性化される。
【０５８６】
次に，RBC=2の場合は，modez<0>=1,modez<1>=0であり，
raz<13>はHigh，rax<13>もHigh，raz<12>はREF_A<12>と同相，rax<12>はREF_A<12>の逆相
となる。そして，プリデコーダ回路1086Dにより，４つのうちの2つのブロックRBLKが選択されて2本のワード線WLが活性化される。
【０５８７】
最後に，RBC=4の場合は，modez<0>=1,modez<1>=1であり，
raz<13>はHigh，rax<13>もHigh，raz<13>はHigh，rax<13>もHigh
となる。そして，プリデコーダ回路1086Dにより，４つのうちの4つのRBLKが選択されて4本のワード線WLが活性化される。
【０５８８】
以上で，バックグランドリフレッシュ機能を有するメモリ装置の説明を終了する。次に，メモリ装置を制御してバックグランドリフレッシュ動作をさせるメモリコントローラについて説明する。
【０５８９】
［バックグランドリフレッシュを制御するメモリコントローラ］
メモリ装置にバックグランドリフレッシュ機能を実行させるためには，メモリコントローラは，バックグランドリフレッシュコマンドBRENとリフレッシュバンク情報SAとリフレッシュバースト長RBLとをメモリ装置に与える必要がある。さらに，メモリコントローラは，リフレッシュブロック数RBCもメモリ装置に与えることが望まれる。そこで，以下，バックグランドリフレッシュを制御するメモリコントローラについて説明する。
【０５９０】
図１５８は，バックグランドリフレッシュ機能を有するメモリシステムの構成図である。画像処理装置８１は，二次元配列された画像データに対して水平アクセスや矩形アクセス要求をメモリコントローラ８２に出力し，メモリコントローラ８２はメモリ装置８６にアクセス制御を行う。画像処理装置８１は，アクセス要求信号REQとともにアクセスタイプ信号ATYP,画像アドレスADR，画像サイズ信号SIZE，リード・ライト信号RWXを，メモリコントローラ８２に出力し，それに対してメモリコントローラ８２はアクノリッジ信号ACKを返信する。また，ストローブ信号STBをアサートしながら書き込みデータまたは読み出しデータをデータバスDATAで転送する。
【０５９１】
メモリコントローラ８２は，画像処理装置８１からのアクセス要求と種々の情報に基づいて，水平アクセスの場合にバックグランドリフレッシュコマンドとリフレッシュバンク情報SAとリフレッシュバースト長RBLとリフレッシュブロック数RBCとをメモリ装置８６に出力し，更に，水平アクセスに対応するアクティブコマンドCMD，バンクアドレスBA，ロウアドレスRA,リード又はライトコマンドCMD,バンクアドレスBA,コラムアドレスCAを，メモリ装置８６に出力する。また，矩形アクセスに対応する同様の信号をメモリ装置８６に出力する。そして，メモリコントローラ８２は，ライトアクセスではメモリ装置８６に書き込みデータDQを出力し，リードアクセスではメモリ装置８６から読み出しデータDQを入力する。
【０５９２】
図１５９は，メモリマッピング例を示す図である。図中には，メモリマッピング１２に対してメモリコントローラ８２が画像処理装置８１から受信する各種の情報との関係が示されている。このメモリマッピング１２は，X方向に６４画素，Y方向に３２画素，合計で２０４８画素で構成されるフレーム画像データに対応する。８×８画素のブロックがバンクアドレスBAとロウアドレスRAにより特定されるページ領域に対応付けられる。各画素は，例えば１バイトの画像データを有する。そして，ページ領域は，奇数行がバンクアドレスBA0,BA1に，偶数行がバンクアドレスBA2,BA3に対応付けられる。
【０５９３】
このようなメモリマップ１２において，左上の画素が，画像アドレスADR=0x000，POSX,POSY=0,0に対応し，１行目の右端の画素が，画像アドレスADR=0x03F，POSX,POSY=0,63に対応し，３２行目の左端の画素が，画像アドレスADR=0x7C0，POSX,POSY=31,0に対応する。この場合は，画像アドレスADRは，アクセス領域の左上画素の位置情報POSX,POSYで表すことができる。つまり，１２ビットの画像アドレスADR[11:0]に対して，
POSY[5:0]=ADR[11:6], POSX[5:0]=ADR[5:0]
になる。よって，メモリコントローラ８２は，画像処理装置８１から受信する画像アドレスADRから，アクセス領域の左上画素の位置情報POSX,POSYを得ることができる。なお，図１５９の例では，垂直方向が３２画素であるので，垂直方向の位置情報POSY[5:0]は５ビットでもよい。
【０５９４】
次に，アクセス領域の水平方向のサイズSIZEX，垂直方向のサイズSIZEYは，それぞれ画像サイズ信号SIZE，アクセスタイプ信号ATYPにより供給される。つまり，
SIZEX=SIZE, SIZEY=ATYP
である。水平アクセスの場合はSIZEY=ATYP=0_0000bが供給され，矩形アクセスの場合はSIZEY=ATYPが０以外の任意の値になる。よって，メモリコントローラ８２は，アクセスタイプ信号ATYPが０か否かで水平アクセスか矩形アクセスかを区別することができる。
【０５９５】
図１６０は，水平アクセスと矩形アクセスにおける先頭画素アドレス，サイズ情報を示す図である。水平アクセス（A）の場合は，図示されるとおり先頭画素アドレスADR,サイズはSIZEX=SIZE, SIZEY=ATYP=0となる。矩形アクセス（B）の場合は，図示されるとおり，先頭画素アドレスADR,サイズはSIZEX=SIZE, SIZEY=ATYPとなる。
【０５９６】
さらに，メモリコントローラ８２は，アクセス領域の左上画素の位置情報POSX,POSYから，メモリマップ１２に基づいて，アクセス領域の先頭画素のバンクアドレスBA,ロウアドレスRAを求めることもできる。そして，メモリコントローラ８２は，アクセス領域の左上画素の位置情報POSX,POSYと，サイズ情報SIZE,ATYPとから，複数のバンクをアクセスするか否かについても区別することができる。
【０５９７】
また，メモリコントローラ８２は，サイズ情報SIZE,ATYPからメモリ装置にアクセスする画素数を求めることができ，さらに，少なくともその画素数のデータを画像処理装置との間で転送するために必要なクロックサイクル数の期間は次のメモリアクセス要求は発生しないことを，判別することができる。そして，メモリコントローラ８２は，そのような期間から，バックグランドリフレッシュでのリフレッシュバースト長RBLを求めることができ，または，リフレッシュブロック数RBCも求めることができる。
【０５９８】
図１６１は，メモリコントローラの構成図である。このメモリコントローラ８２は，水平アクセス判定部１６１０，リフレッシュバースト長RBL演算部１６１１，アクティブバンク番号生成部１６１２，バックグランドリフレッシュバンク番号生成部１６１３，メモリインターフェース１６１４，その中の制御部１６１５などを有する。これらは，図９０に示した複数のシーケンサSEQのうちの１つのシーケンサSEQを構成する。よって，複数のアクセス元に対応して，図１６１に示したシーケンサSEQが複数設けられる。
【０５９９】
まず，水平アクセス判定部１６１０は，垂直方向のサイズSIZEYを示すアクセスタイプ信号ATYPが「０」か否かを第１の比較器CMP1により判定する。第１の比較器CPM1は，ATYP=0なら出力「１」である。さらに，水平アクセス判定部１６１０は，水平方向のサイズSIZEXを示すサイズ信号SIZEが１回のリフレッシュサイクルのクロック数MEMREFを超えるか否かを第２の比較器CMP2により判定する。第２の比較器CMP2は，SIZE≧MEMREFなら出力「１」である。よって，両比較器の出力が「１」であれば，ANDゲートがバックグランドリフレッシュイネーブル信号「１」を出力し，制御部１６１５にバックグランドリフレッシュコマンドの発行を依頼する。上記のクロック数MEMREFは，例えばメモリコントローラ内のレジスタに設定される。
【０６００】
次に，リフレッシュバースト長RBL演算部１６１１は，バックグランドリフレッシュにおけるリフレッシュバースト長RBLを演算する。具体的には，水平方向のサイズSIZEをクロック数MEMREFにより除算することで，可能なリフレッシュサイクル数を求めることができる。この除算はビットシフト回路SFTにより行われる。そして，リフレッシュバースト長RBLは，例えば，図１２３，図１３８などで示されるとおり，アドレス端子A[7:4]により０〜１５または１〜１６としてメモリ装置に出力される。
【０６０１】
また，アクティブバンク番号生成部１６１２は，加算器ADD，第３の比較器CMP3，デコーダDEC0，セレクタSEL0，デコーダDEC1を有する。このデコーダDEC1はテーブルを参照して入力信号を出力信号に変換する。アクティブバンク番号生成部１６１２は，画像処理装置から供給されるサイズ信号SIZE，画像アドレスADRに基づいて，アクセス領域に対応するバンクアドレスを求める。このバンクアドレスBA[1:0]が，アクティブコマンドと共に出力されるべきバンク番号を示す。
【０６０２】
図１６３は，アクティブバンク番号生成部のデコーダDEC0とセレクタSEL0を説明する図表である。アクティブバンク番号生成部１６１２では，加算器ADDが画像アドレスADRの下位３ビットADR[2:0]と水平方向のサイズであるサイズ信号SIZEとを加算する。画像アドレスADRの下位３ビットADR[2:0]は，先頭画素の水平方向の位置情報POSX=ADR[5:0]の下位３ビットであり，図１５９に示したメモリマップ１２の８×８画素のページ領域内の画素位置を示す情報である。そして，比較器CMP3が，画像アドレスADRの下位３ビットADR[2:0]に水平方向のサイズSIZEを加算した値が「８」を超えるか否かを判別し，超えない場合は，水平アクセスで１つのページ領域内しかアクセスされず１つのバンクのみをアクティブ動作させればよく，超える場合は，水平アクセスで複数のページ領域をアクセスするので２つのバンクをアクティブ動作させる必要がある。そして，比較器CMP3の１バンクまたは２バンクがアクティブかを示す出力と，アクセス領域の先頭画素の位置情報の第４ビットであるADR[9]=POSY[3]，ADR[3]=POSX[3]とに基づいて，デコーダDEC0がセレクタSEL0の選択制御信号０〜７を出力する。
【０６０３】
図１５９のメモリマップでは，各ページ領域が８×８画素で構成されるので，先頭画素の位置情報POSX,POSYの４ビット目であるADR[9]=POSY[3],ADR[3]=POSX[3]と，バンクアドレスBA[1:0]との関係は，以下の通りである。
ADR[9]=POSY[3],ADR[3]=POSX[3]＝0,0  BA[1:0]=0,0  （バンクBA0）
ADR[9]=POSY[3],ADR[3]=POSX[3]＝0,1  BA[1:0]=0,1  （バンクBA1）
ADR[9]=POSY[3],ADR[3]=POSX[3]＝1,0  BA[1:0]=1,0  （バンクBA2）
ADR[9]=POSY[3],ADR[3]=POSX[3]＝1,1  BA[1:0]=1,1  （バンクBA3）
また，図１５９と異なるメモリマップでは，上記のバンクアドレスとの関係は異なる。
【０６０４】
図１６３には，上記の加算器ADDの出力SIZE+ADR[2:0]と，ADR[9]=POSY[3],ADR[3]=POSX[3]との組み合わせに対応するデコーダDEC0の出力信号（SEL0の選択制御信号０〜７）が示されている。更に，図１６３には，デコーダDEC0の出力信号（SEL0の選択制御信号０〜７）に対応して選択される，セレクタSEL0の入力端子ACTBA0〜7も示されている。
【０６０５】
つまり，デコーダDEC0は，SIZE+ADR[2:0]が８を超えない場合と超える場合とについて，それぞれADR[9]=POSY[3],ADR[3]=POSX[3]の４つの組み合わせについて，出力「０」〜「７」を出力する。上記の通り，ADR[9]=POSY[3],ADR[3]=POSX[3]の４つの組み合わせは，アクセス領域の先頭画素が位置するバンクアドレスに対応付けられる。また，SIZE+ADR[2:0]が８を超えない場合は１つのバンクのみアクティブであればよく，８を超える場合は２つのバンクをアクティブにする必要がある。
【０６０６】
図１６１内のアクティブバンク番号生成部１６１２は，デコーダDEC0の出力０〜７からなる選択信号に応じて，レジスタ５４３のACTBA0〜7に設定された値を選択するセレクタSEL0と，セレクタSEL0で選択されたレジスタ５４３のACTBA0〜7の設定値を，テーブルTableを参照してアクティブバンク番号ACT_BA[1:0]に変換するデコーダDEC1とを有する。
【０６０７】
図１６４は，レジスタ５４３のACTBAに設定されうる値000b〜111bの意味を説明する図表である。なお，「ｂ」はバイナリ表記を意味する。設定値000b〜011bは，アクセス領域に対応してアクティブ動作されるアクティブバンクがBA0〜3の場合に対応し，設定値100b,101b,110b,111bはそれぞれアクティブバンクがBA0&1,BA0&2,BA2&3, BA1&3の場合に対応する。これらの通常メモリ動作でアクティブ化されるバンクに対して，バックグランドリフレッシュ動作対象のバンクは，メモリマップMap1,2に応じて，そしてバックグランドリフレッシュが２バンクで実行か１バンクで実行かに応じて，図１６４に示されるようになる。即ち以下の通りである。
【０６０８】
アクティブバンクBA0(設定値000b)なら，２バンクリフレッシュではリフレッシュバンクはBA2&3（Map1）またはBA1&3(Map2)，１バンクリフレッシュではBA2(Map1)またはBA1(Map2)である。
【０６０９】
アクティブバンクBA1(設定値001b)なら，２バンクリフレッシュではリフレッシュバンクはBA2&3（Map1）またはBA0&2(Map2)，１バンクリフレッシュではBA3(Map1)またはBA0(Map2)である。
【０６１０】
アクティブバンクBA2(設定値010b)なら，２バンクリフレッシュではリフレッシュバンクはBA0&1（Map1）またはBA1&3(Map2)，１バンクリフレッシュではBA0(Map1)またはBA3(Map2)である。
【０６１１】
アクティブバンクBA3(設定値011b)なら，２バンクリフレッシュではリフレッシュバンクはBA0&1（Map1）またはBA0&2(Map2)，１バンクリフレッシュではBA1(Map1)またはBA2(Map2)である。
【０６１２】
アクティブバンクBA0&1(設定値100b)なら，２バンクリフレッシュではリフレッシュバンクはBA2&3（Map1），１バンクリフレッシュではBA2or3(Map1)である。メモリマップMap2は対象外である。
【０６１３】
アクティブバンクBA0&2(設定値101b)なら，２バンクリフレッシュではリフレッシュバンクはBA1&3（Map2），１バンクリフレッシュではBA1or3(Map2)である。メモリマップMap1は対象外である。
【０６１４】
アクティブバンクBA2&3(設定値110b)なら，２バンクリフレッシュではリフレッシュバンクはBA0&1（Map1），１バンクリフレッシュではBA0or1(Map1)である。メモリマップMap2は対象外である。
【０６１５】
アクティブバンクBA1&3(設定値111b)なら，２バンクリフレッシュではリフレッシュバンクはBA0&2（Map2），１バンクリフレッシュではBA0or2(Map2)である。メモリマップMap1は対象外である。
【０６１６】
このようにレジスタ５４３への設定値を定義しておくことで，システムが採用するメモリマッピングと，２バンクリフレッシュか１バンクリフレッシュかに応じて，デコーダDEC0の出力０〜７に対応する８つのケースに対応する，アクティブバンク番号ACT_BA[1:0]と，バックグランドリフレッシュバンク番号BR_BA[1:0],BR_A[3:0]とを，任意に設定することができる。
【０６１７】
図１６５は，デコーダDEC1の変換テーブルを示す図である。セレクタSEL0の出力（DEC1の入力）０〜７にアクティブバンクが対応付けられている。この対応関係は，図１６４にも示されている。そこで，レジスタ設定値の例に対応するデコーダDEC1の動作について説明する。
【０６１８】
図１６６は，レジスタ設定値の第１例に対応するデコーダDEC1の変換動作を示す図表である。第１例のレジスタ設定値はメモリマップMap1に対応しており，セレクタSEL0の８つの入力端子には「０１２３４４６６」が設定される。それに伴い，デコーダDEC1は，セレクタSEL0の選択信号（デコーダDEC0の出力信号）に対応して選択されたセレクタSEL0の出力値「０１２３４４６６」に対応して，図１６５のテーブルを参照し図１６６に示される出力（DEC1 Output）を生成する。セレクタ出力値「０１２３」では１バンクが選択され，セレクタ出力値「４４６６」では２バンクが選択される。
【０６１９】
図１６７は，レジスタ設定値の第２例に対応するデコーダDEC1の変換動作を示す図表である。第２例のレジスタ設定値はメモリマップMap2に対応しており，セレクタSEL0の８つの入力端子には「０１２３５５７７」が設定される。それに伴い，デコーダDEC1は，セレクタSEL0の出力値「０１２３５５７７」に対応して，図１６５のテーブルを参照し図１６７に示される出力（DEC1 Output）を生成する。この場合も，セレクタ出力値「０２１３」では１バンクが選択され，セレクタ出力値「６６７７」では２バンクが選択される。
【０６２０】
次に，図１６１中のバックグランドリフレッシュバンク番号生成部１６１３は，レジスタ５４３のBRBA0〜3に設定された設定値を，セレクタSEL0の出力の下位２ビットで選択するセレクタSEL1と，セレクタ出力をバックグランドリフレッシュ対象バンク番号BR_BA[1:0],BR_A[3:0]に変換するデコーダDEC2とを有する。このバックグランドリフレッシュ対象バンク番号BR_BA[1:0]は，２バンクリフレッシュする場合に対応し，例えば図１１７のバンクアドレスBA[1:0]に対応する。また，バックグランドリフレッシュ対象バンク番号BR_A[3:0]は，１バンクリフレッシュする場合に対応し，例えば図１１８のアドレス端子A[3:0]に対応する。
【０６２１】
図１６８は，セレクタSEL1の動作を示す図表である。セレクタSEL0の下位２ビットを選択信号として，レジスタ５４３に設定されたBRBA0〜3の値を選択する。
【０６２２】
図１６９は，デコーダDEC2の変換テーブルを示す図表である。デコーダ入力（DEC2 Input）は，BRBA0〜3に対応してレジスタ５４３に設定しうる値０〜７であり，値「０，１，２，３」は，１バンクリフレッシュに対応し，それぞれバンク０〜３をリフレッシュすることに対応する。また，値「４」「６」は，マップMap1の場合の２バンクリフレッシュに対応し，それぞれバンク０＆１，２＆３をリフレッシュすることに対応する。そして，値「５」「７」は，マップMap2の場合の２バンクリフレッシュに対応し，それぞれバンク０＆２，１＆３をリフレッシュすることに対応する。この場合も，レジスタ５４３には，メモリマップMap1,Map2に対応し，且つ１バンクリフレッシュか２バンクリフレッシュかに対応して，任意の値を設定することができる。
【０６２３】
図１７０は，第１のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。この例はメモリマップMap1における２バンクリフレッシュに適用され，第１のレジスタ設定値では，BRBA0〜3が「６６４４」になる。そして，セレクタSEL1でこれらの設定値が，セレクタSEL0の出力の下位２ビットに応じて選択され，デコーダDEC2は，その変換テーブル（図１６９）を参照して，バックグランドリフレッシュバンク番号BA[1:0]を出力する。つまり，デコーダDEC2の入力が「６」であればバンクBank2&3がリフレッシュされ，「４」であればバンクBank0&1がリフレッシュされる。
【０６２４】
図１７１は，第２のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。この例はメモリマップMap2における２バンクリフレッシュに適用され，第２のレジスタ設定値では，BRBA0〜3が「７７５５」になる。そして，セレクタSEL1でこれらの設定値が，セレクタSEL0の出力の下位２ビットに応じて選択され，デコーダDEC2は，その変換テーブル（図１６９）を参照して，バックグランドリフレッシュバンク番号BA[1:0]を出力する。つまり，デコーダDEC2の入力が「７」であればバンクBank1&3がリフレッシュされ，「５」であればバンクBank0&2がリフレッシュされる。
【０６２５】
図１７２は，第３のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。この例はメモリマップMap1における１バンクリフレッシュに適用され，第３のレジスタ設定値では，BRBA0〜3が「２３０１」になる。そして，セレクタSEL1でこれらの設定値が，セレクタSEL0の出力の下位２ビットに応じて選択され，デコーダDEC2は，その変換テーブル（図１６９）を参照して，バックグランドリフレッシュバンク番号A[3:0]を出力する。つまり，デコーダDEC2の入力が「２，３，０，１」に対応してバンクBank2,3,0,1がそれぞれリフレッシュされる。
【０６２６】
図１７３は，第４のレジスタ設定値の場合のデコーダDEC2の動作を示す図である。この例はメモリマップMap2における１バンクリフレッシュに適用され，第４のレジスタ設定値では，BRBA0〜3が「１３０２」になる。そして，セレクタSEL1でこれらの設定値が，セレクタSEL0の出力の下位２ビットに応じて選択され，デコーダDEC2は，その変換テーブル（図１６９）を参照して，バックグランドリフレッシュバンク番号A[3:0]を出力する。つまり，デコーダDEC2の入力が「１，３，０，２」に対応してバンクBank1,0,3,2がそれぞれリフレッシュされる。
【０６２７】
以上の通り，リフレッシュ対象のバンクの組み合わせは，通常アクセス動作によるアクティブバンクに対して高々４種類しかない。よって，セレクタSEL1の入力を４つに制限し，ただし，セレクタSEL0の出力値３ビットの下位２ビットで，セレクタSEL1の４入力のいずれかを選択することにより，アクティブバンクに対応するリフレッシュバンクを生成することができる。
【０６２８】
図１６１に戻り，制御部１６１５には，バックグランドリフレッシュモード信号BRMDが入力される。このモード信号BRMDは，４バンクリフレッシュか，２または１バンクリフレッシュかを示す信号であり，レジスタ５４３に設定される。モード信号BRMDが４バンクリフレッシュの場合は，バックグランドリフレッシュ動作は禁止される。
【０６２９】
制御部１６１５は，バックグランドリフレッシュイネーブル信号BR_ENに応答して，コマンドCMDにBREN,ACTなどを出力するときに，コマンドに対応する選択信号S2,S3,S4をセレクタ２，３，４にそれぞれ供給する。制御部１６１５は，バックグランドリフレッシュイネーブル信号BR_ENがHレベルの場合，コマンドBRENの出力時に，セレクタSEL2にはリフレッシュバースト長RBL_A[7:4]を選択させ，セレクタSEL3にはバックグランドリフレッシュバンク番号BR_BA[1:0]を選択させ，セレクタSEL4にはバックグランドリフレッシュアドレスBR_A[3:0]を選択させる。その結果，アドレス端子A[7:4]からはリフレッシュバースト長RBLが，バンクアドレス端子BA[1:0]からは，バックグランドリフレッシュバンク番号BR_BA[1:0]がそれぞれ出力される。そして，制御部１６１５は，コマンドACTの出力時に，セレクタSEL2にはその他A[7:4]を選択させ，セレクタSEL3にはアクティブバンク番号ACT_BA[1:0]を選択させ，セレクタ４にはその他A[3:0]を選択させる。その結果，アドレス端子A[7:4]からは通常のアドレスA[7:4]が，バンクアドレス端子BA[1:0]からは，アクティブ対象の選択バンクアドレスBA[1:0]がそれぞれ出力される。
【０６３０】
図１６２は，メモリコントローラの動作タイミングチャート図である。この例では，画像処理装置８１が，クロック番号３からアクセス要求信号REQをアサートしながら，画像アドレスADR=0x0000，サイズ信号SIZE=32,アクセスタイプ信号ATYP=000b，リードライト信号RWX=Hを出力し，クロック番号２２からストローブ信号STBをアサートしながら，３２バイトの読み出しデータDATAを３２クロックサイクルで入力する。
【０６３１】
一方，メモリコントローラ８２は，画像アドレスADR=0x0000，サイズ信号SIZE=32,アクセスタイプ信号ATYP=000bから，画像データの先頭画素位置POSX,POSY=0,0，アクティブバンクACT_BA=BA0,BA1，ロウアドレスRA0,A1，コラムアドレスCA0などの水平アクセスであること，バックグランドリフレッシュをバンクBR_BA=BA2,BA3に対しリフレッシュバースト長RBL=4で行うことなどを決定する。そして，メモリコントローラ８２はメモリ装置に，クロック番号６でバックグランドリフレッシュコマンドBRENとリフレッシュバンクBA2,3とリフレッシュバースト長RBL=4とを出力し，さらに，クロック番号８でアクティブコマンドACT，バンクアドレスBA0,ロウアドレスRA0を出力し，クロック番号１０でアクティブコマンドACT，バンクアドレスBA1,ロウアドレスRA1を出力し，それに続いて，リードコマンドRD，バンクアドレスBA0,コラムアドレスCA0を出力し，リードコマンドRD，バンクアドレスBA1,コラムアドレスCA0を出力し，プリチャージコマンドPER，バンクアドレスBA0，プリチャージコマンドPER，バンクアドレスBA１を出力する。各リードコマンドのバースト長BL=8である。よって，メモリコントローラは，上記のコマンドACT,RD,PREを，更に２組出力する。その結果，メモリ装置のデータ端子DQから３２バイトのデータd0〜d31を受信する。そして，メモリコントローラは，このデータd0〜d31をクロック番号２２から３２クロックサイクルで画像処理装置に出力する。
【０６３２】
メモリコントローラ８２は，適切なリフレッシュブロック数RBCを，レジスタセットコマンドＥＭＲＳと共にメモリに出力して，メモリ内のレジスタに設定する。その場合は，メモリコントローラ８２は，サイズ信号SIZEから得られるデータ転送に必要なクロックサイクル数から，リフレッシュブロック数RBCを考慮してリフレッシュバースト長RBLを決定する。さらに，メモリコントローラ８２は，リフレッシュバースト長RBLを，レジスタセットコマンドＥＭＲＳと共にメモリに出力して，メモリ内のレジスタに設定することもできる。
《パラメータの入力方法》
以上，画像データなどの二次元配置データを記憶するメモリ装置への種々のアクセスやリフレッシュの機能を説明した。その場合，種々の機能の実現に必要なパラメータがメモリコントローラからメモリ装置に入力される。このパラメータの入力方法について以下説明する。
【０６３３】
図１７４は，バイトバウンダリにおけるスタートバイト信号SBを示す図である。既に説明したとおり，バイトバウンダリでは，４バイトからなるメモリ単位領域内の先頭バイトを示すスタートバイト信号SBをメモリ装置に入力する。図１７３では，バンク０，１とロウアドレスRA5で選択される隣接する２つのページ領域をまたぐ領域１７４０がアクセス対象の場合は，スタートバイト信号SB=2がメモリ装置に供給される。これにより，バンク０，ロウアドレスRA5のページ領域内であって，コラムアドレスCA7で選択される４バイトデータB0〜B3のうち，２バイトデータB2,B3と，バンク１，ロウアドレスRA5のページ領域内であって，コラムアドレスCA4で選択される４バイトデータB0〜B3のうち，２バイトデータB0,B1とが，入出力端子と対応付けられ，４バイトデータが入出力される。この４バイトデータの対応付けは，メモリマップ１２がアップモードの場合に対応する。ダウンモードでは４バイトデータの対応付けは異なる。
【０６３４】
また，メモリ装置では，アクセス領域１７４０のコラムアドレスCA7から，隣接するページ領域のコラムアドレスCA4を算出するために，ページ領域内のコラムアドレスのステップ数データCST=4があらかじめレジスタに設定される。
【０６３５】
図１７５は，バイト組み合わせデータの第２の情報BMRと第１の情報SB（スタートバイト）との関係を示す図である。図１７５の上半分が第２の情報BMRがアップモード，下半分が第２の情報BMRがダウンモードに対応する。それぞれ，スタートバイトSB=0〜3に対応して，入出力端子に対応付けられる４バイトの組み合わせを示している。アップモードについては，図１７４で示した通りである。ダウンモードでは，４バイト領域内の４バイトの配列が，アップモードと逆になっている。それに伴い，スタートバイトSBと入出力端子に対応付けられる４バイトの組み合わせとが，アップモードと逆の関係になっている。この第２の情報BMRもメモリ装置に入力され，必要に応じて設定される。
【０６３６】
図１７６は，ロウアドレスステップRSを示す図である。メモリ装置は，マルチバンクアクセスでは，矩形アクセス領域１７６０の左上のページ領域のバンクアドレスとロウアドレスに基づいて，残りのバンクアドレスとロウアドレスを求める。そのために，メモリマッピング１２の情報として，ロウアドレスのステップ情報RSが必要になる。よって，メモリ装置は，ロウアドレスのステップ情報RSを入力し，必要に応じてレジスタ内に設定する。矩形アクセス領域１７４０の場合は，アクティブコマンドと共にバンクアドレスBA3，ロウアドレスRA1が与えられ，４バンクアクセス（マルチバンク情報SA'=4）の場合は，RS=4に基づいてロウアドレスRA2,RA5,RA6が求められる。
【０６３７】
図１７７は，メモリマッピング情報ＡＲを示す図である。図中には，２種類のメモリマッピングが示されている。例えば，タイプＡの場合はAR=0が，タイプＢの場合はAR=1が，それぞれメモリ装置に入力されレジスタに設定される。マルチバンクアクセスでは，このメモリマッピング情報ARに基づいてアクセス対象バンクの演算が行われる。また，バックグランドリフレッシュでも，メモリマッピング情報ＡＲに基づいてリフレッシュ対象のバンクが求められる。タイプＡは，奇数行がバンク０，１偶数行がバンク２，３で構成され，タイプＢは，奇数行がバンク０，２偶数行がバンク１，３で構成されている。ロウアドレスＲＡは同じである。図１７６の例は，タイプAの場合である。
【０６３８】
図１７８は，バックグランドリフレッシュにおけるリフレッシュバースト長RBLとリフレッシュブロック数RBCとを示す図である。バックグランドリフレッシュでは，コマンドに応答して，リフレッシュバースト長RBLの回数のリフレッシュ動作が繰り返され，各リフレッシュ動作がリフレッシュブロック数RBCのブロックで並列に行われる。図１７８（Ａ）は，RBC=2,RBL=6の例であり，６回のリフレッシュで合計１２本のワード線でリフレッシュが行われる。図１７８（Ｂ）は，RBC=3,RBL=4の例であり，この場合も４回のリフレッシュで合計１２本のワード線でリフレッシュが行われる。図１７８（Ｃ）は，RBC=4,RBL=3の例であり，この場合も３回のリフレッシュで合計１２本のワード線でリフレッシュが行われる。
【０６３９】
以上の通り，メモリ装置は，様々なアクセスを実現するために，それぞれ必要なパラメータを入力する必要がある。このパラメータの入力方法は，専用入力端子を利用する方法，使用されていないアドレス入力端子を利用する方法などがある。また，パラメータの入力方法は，メモリ装置がシングルデータレートかダブルデータレートかによって異なる。そして，パラメータの入力方法は，アドレスがマルチプル入力（マルチプレクス方式）かノンマルチプル入力（ノンマルチプレクス方式）かによっても異なる。これらについて以下説明する。
【０６４０】
図１７９は，メモリ装置内の専用入力端子とその入力バッファ及びモードレジスタの構成を示す図である。専用入力端子SPに入力されたパラメータ信号が，専用入力バッファ１７９０に入力され，そこでラッチされた信号１７９２がモードレジスタ１７９１に設定され，設定された信号１７９３が図示しない内部回路に供給される。ただし，パラメータ信号に対応する機能（バイトバウンダリ機能，マルチバンクアクセス機能，バックグランドリフレッシュ機能）がディセーブルにされる場合は，対応するパラメータはデフォルト値に設定される必要がある。
【０６４１】
そこで，機能がイネーブルかディセーブルかを示すイネーブル信号１７９４に応じて，イネーブルならモードレジスタ１７９１には入力されたパラメータが設定され，ディセーブルならモードレジスタ１７９１にはパラメータとしてデフォルト値が設定される。また，入力バッファ１７９０は，イネーブル信号１７９４がイネーブルなら専用入力端子SPからの信号を取り込み，ディセーブルなら出力信号１７９２がHレベルにクランプされる。よって，ディセーブルの場合は，専用入力端子SPと入力バッファ１７９０との間を，ボンディングワイヤーで接続する必要はない。
【０６４２】
図１８０は，メモリ装置内の専用入力端子とその入力バッファ及びモードレジスタの構成を示す図である。ここでは，種々のパラメータのうち，一例としてスタートバイトSB,マルチバンク情報SA'，リフレッシュバンク情報SAを専用端子SPから入力する例が示されている。
【０６４３】
２ビットのスタートバイトSBが専用端子SP0から入力され，入力バッファ１７９０−０に取り込まれ，モードレジスタ１７９１−０に設定される。モードレジスタ１７９１−０への設定は，モードレジスタセットパルスMRSPZに応答して行われる。ただし，イネーブル信号１８００がディセーブルの場合は，モードレジスタ１７９１−０はデフォルト値（SB=0，スタートバイト＝０）に設定され，入力バッファ１７９０−０の出力はクランプされる。このイネーブル信号１８００は，図示しないモードレジスタMRS,ボンディングオプション，フューズ回路などから供給される。
【０６４４】
同様に，２ビットのマルチバンク情報SA’が専用端子SP1から入力され，入力バッファ１７９０−１に取り込まれ，モードレジスタ１７９１−１に設定される。モードレジスタ１７９１−１への設定は，モードレジスタセットパルスMRSPZに応答して行われる。イネーブル信号１８０１がディセーブルの場合は，上記と同様にモードレジスタの値はデフォルト値（SA'=0，１バンクのみ選択）に設定され，入力バッファの出力はクランプされる。
【０６４５】
同様に，２ビットのリフレッシュバンク情報SAも専用端子SP2から入力されモードレジスタ１７９１０２に設定される。また，イネーブル信号１８０２がディセーブルの場合は，上記と同様にモードレジスタの値はデフォルト値（SA=3，全バンク選択）に設定され，入力バッファの出力はクランプされる。これらの各２ビットの情報SB，SA’，SAはそれぞれ２つの専用端子から並列に入力される。または，１つの専用端子からシリアルに入力されてもよい。 
【０６４６】
図１８１は，モードレジスタの一例を示す図である。この例では，前述のパラメータをアドレス端子から入力しモードレジスタに設定する。図中，モードレジスタ領域１８１０，１８１１，１８１２が示されている。それぞれバンクアドレスBA0,BA1の組み合わせと，同期クロックの立ち上がりエッジRiseEdgeと立ち下がりエッジFallEdgeとに対応して，アドレス端子A0〜A6の入力値と設定値とが示されている。
【０６４７】
まず，モードレジスタセットコマンドMRSと共にバンクアドレスBA0=0,BA1=0が入力されると，モードレジスタ１８１０に，クロックの立ち上がりエッジRiseEdgeでは，アドレス端子A0-A2から入力されるバース長と，アドレス端子A3-A5から入力されるリードレイテンシがそれぞれ設定され，立ち下がりエッジFallEdgeでは，アドレス端子A0-A2から入力されるライトリカバリ値が設定される。
【０６４８】
次に，モードレジスタセットコマンドMRSと共にバンクアドレスBA0=1,BA1=0が入力されると，モードレジスタ１８１１に，クロックの立ち上がりエッジRiseEdgeでは，アドレス端子A0-A5から入力される値（図示）がそれぞれ設定され，立ち下がりエッジFallEdgeでは，アドレス端子A0-A4それぞれから入力されるバイトシフト機能フラグBS,バイト組み合わせ情報の第２情報BMR，マルチバンク機能フラグMB，バックグランドリフレッシュ機能フラグBR，メモリマッピング情報ARが設定される。なお，これらはイネーブルかディセーブルかを示す情報のみを図示したが、上記で説明してきたように，バイトシフト情報ＳＢ，マルチバンク情報ＳＡ’，リフレッシュバンク情報ＳＡ又はリフレッシュブロック数ＲＢＣ等を指定する情報をモードレジスタに設定することも可能である。
【０６４９】
さらに，モードレジスタセットコマンドMRSと共にバンクアドレスBA1=0,BA1=1が入力されると，モードレジスタ１８１２に，クロックの立ち上がりエッジRiseEdgeでは，アドレス端子A0-A5から入力されるロウアドレスステップ情報RSが，立ち下がりエッジFallEdgeでも，アドレス端子A0- A5から入力されるロウアドレスステップ情報RSが設定される。
【０６５０】
なお，バンクアドレスBA0=1,BA1=1のときのモードレジスタ領域は試験時の設定に利用される。また，表１８１３は，バンクアドレスBA0,BA1の組み合わせに対する，通常モードレジスタMRSと拡張モードレジスタEMRSとを示す。さらに，表１８１４〜１８１９は，モードレジスタ領域１８１１におけるアドレス端子A0〜A6の値とそれぞれの設定値とを示す。
【０６５１】
図１８２は，イネーブル信号生成回路の一例を示す図である。図１８２（Ａ）は，ボンディングオプションにより設定されるイネーブル信号生成回路１８２０，１８２１を示す。イネーブル信号生成回路１８２０は，ボンディングオプション端子１８２５と電源端子Ｖｄｄとグランド端子Ｖｓｓとを有し，ボンディングオプション端子１８２５と電源端子Ｖｄｄ間をボンディングワイヤで接続することで，イネーブル信号１７９４がＶｄｄになり，特殊なアクセス機能をイネーブルにする。一方，イネーブル信号生成回路１８２１は，ボンディングオプション端子１８２５とグランド端子Ｖｓｓとの間をボンディングワイヤで接続することで，イネーブル信号１７９４がＶｓｓになり，アクセス機能をディセーブルにする。
【０６５２】
図１８２（Ｂ）は，フューズＦＳにより設定されるイネーブル信号発声回路１８２２，１８２３を示す。イネーブル信号発声回路１８２２は，電源Ｖｄｄ，グランド電源Ｖｓｓ，抵抗Ｒ１，フューズＦＳからなり，フューズＦＳを溶断することでイネーブル信号１７９４がＶｄｄになりイネーブル状態になる。イネーブル信号発声回路１８２３は，フューズＦＳを溶断しないことでイネーブル信号１７９４がＶｓｓになりディセーブル状態になる。
【０６５３】
図１８３は，シングルデータレート（ＳＤＲ）における入力方法を示す図である。ここでは，パラメータが専用端子(Special Pin0,1)から入力される例である。図中（Ａ）は，クロックＣＬＫ（実線）の立ち上がりエッジに同期して，バックグランドリフレッシュコマンドＢＲＥＮと共に，バンクアドレス端子からバンクアドレスＢＡ０，ＢＡ１が，専用端子からリフレッシュバンク情報ＳＡ０，ＳＡ１がそれぞれ入力される。図中（Ｂ）は，クロックＣＬＫの立ち上がりエッジに同期して，アクティブコマンドＡＣＴと共に，バンクアドレス端子からバンクアドレスＢＡ０，ＢＡ１が，専用端子からマルチバンク情報ＳＡ’０，ＳＡ’１がそれぞれ入力される。図中（Ｃ）は，クロックＣＬＫの立ち上がりエッジに同期して，リードまたはライトコマンドＲＤ／ＷＲと共に，バンクアドレス端子からバンクアドレスＢＡ０，ＢＡ１が，専用端子からスタートバイト情報ＳＢ０，ＳＢ１がそれぞれ入力される。図示しないが，クロックＣＬＫの立ち上がりエッジに同期して，拡張モードレジスタセットコマンドＥＭＲＳと共に，専用端子からＲＢＬ，ＲＢＣ，ＡＲ，ＲＳＴ，ＣＳなどのパラメータを入力する。
【０６５４】
図１８４は，ダブルデータレート（ＤＤＲ）における入力方法を示す図である。この例もパラメータが専用端子（Special Pin）から入力される例である。各コマンドとパラメータの関係は，図１８３と同じである。図１８４では，ダブルデータレートであるので，クロックの立ち上がりエッジと立ち下がりエッジに同期して，バンクアドレスＢＡ０，１とパラメータＳＡ０，ＳＡ１，ＳＡ’０，ＳＡ’１，ＳＢ０，ＳＢ１が入力される。
【０６５５】
次に，専用端子を利用せずに不使用状態のアドレス端子からパラメータを入力する方法について説明する。
【０６５６】
図１８５は，ＡＤＱマルチプレクス入力方式における入力方法を示す図である。ＡＤＱマルチプレクス入力方式では，アドレス入力端子とデータ入出力端子が共通端子で構成され，コマンドと共にアドレスが入力され，それに続いてデータが入出力される。そして，アドレス端子数よりデータ端子数のほうが多い場合は，コマンド入力時にアドレスと共にパラメータを共通端子から入力することができる。
【０６５７】
図１８５（Ａ）は入力回路構成を示しており，共通端子ADQ（A/DQ0〜A/DQ20，２１ビット）とデータ端子DQ（DQ21〜DQ31，１１ビット）が設けられ，共通端子ADQはアドレスとデータが共有し，データ端子DQはデータのみが使用する。そこで，このデータ端子DQを利用してパラメータを入力することができる。共通端子ADQは，アドレスバッファ１８５０と入出力バッファ１８５２−０に接続され，それぞれアドレスラッチ回路１８５１，メモリセル１８５３−０に接続される。また，データ端子DQは，専用バッファ１８５４と入出力バッファ１８５２−１に接続され，それぞれモードセレクタ１８５５とメモリセル１８５３−１に接続される。
【０６５８】
図１８５（Ｂ）はタイミングチャートを示し，ＳＤＲの例である。まず，ライトコマンドＷＲと共に，共通端子ＡＤＱから２１ビットのアドレスＡＤＤが，データ端子ＤＱからパラメータＳＰがそれぞれ入力され，アドレスＡＤＤはアドレスバッファ１８５０に，パラメータＳＰは専用バッファ１８５４にそれぞれ取り込まれる。コマンドＷＲから３クロック後に共通端子ＡＤＱとデータ端子ＤＱとから３２ビットのデータが入力される。コマンドがリードコマンドＲＤであればデータが出力される。コマンドと共に入力されるパラメータＳＰは，例えばマルチバンク情報ＳＡ’，リフレッシュバンク情報ＳＡ，スタートバイトＳＢなどである。
【０６５９】
ＡＤＱマルチプレクスでは，ＳＤＲＡＭのようにアクティブコマンドとライトコマンドとを時分割で入力せずに，コマンドと共にロウ，コラムアドレスを一度に入力し，その後データを入出力する。よって，コマンドと共にアドレスが入力されるときに，不使用のデータ端子ＤＱからパラメータを入力することができる。
【０６６０】
図１８６は，アドレスマルチプレクス入力方式における入力方法を示す図である。アドレスマルチプレクス入力方式はＳＤＲＡＭなどの入力方式であり，アドレス端子Ａｄｄがロウアドレスとコラムアドレスとで共有され，ＲＡＳサイクルとＣＡＳサイクルでそれぞれロウアドレスとコラムアドレスが共通アドレス端子Ａｄｄから入力される。ただし，メモリセルアレイの構成上，ロウアドレス数がコラムアドレス数よりも多い場合は，ＣＡＳサイクル時に使用していないアドレス端子からパラメータを入力することができる。例えば，スタートバイトＳＢがＣＡＳサイクルで入力される。
【０６６１】
図１８６（Ａ）は入力回路構成を示し，アドレス端子Ａｄｄ（Add0〜7，８ビット）は，アドレスバッファ１８５０−０，１８５０−１に接続され，それらはそれぞれロウアドレスラッチ回路１８５１−０とコラムアドレスラッチ回路１８５１−１とに接続される。また，アドレス端子Ａｄｄ（Add8〜13，６ビット）は，アドレスバッファ１８５０−２とスタートバイトバッファ１８６０とに接続され，それらはそれぞれロウアドレスラッチ回路１８５１−２とスタートバイトセレクタ回路１８６１とに接続される。
【０６６２】
図１８６（Ｂ）は，タイミングチャートを示し，ＳＤＲの例である。まず，ＲＡＳサイクルでアクティブコマンドＡＣＴと共に，１４ビットのロウアドレスＲＡがアドレス端子Add[7:0],Add[13:8]から入力され，ＣＡＳサイクルでリードまたはライトコマンドＲＤ／ＷＲと共に，８ビットのコラムアドレスＣＡがアドレス端子Add[7:0]から，スタートバイトSB[1:0]がアドレス端子Add[13:8]のいずれかの端子からそれぞれ入力される。
【０６６３】
図１８７は，ダブルデータレート（ＤＤＲ）でアドレスマルチプレクス方式における入力方法を示す図である。アクティブコマンドＡＣＴが入力されるＲＡＳサイクルで，クロックの立ち上がりエッジに同期して１４ビットのロウアドレスＲＡがアドレス端子Ａｄｄ［７：０］，Ａｄｄ［１３：８］から入力され，クロックの立ち下がりエッジに同期してパラメータＳＰがアドレス端子Ａｄｄ［７：０］，Ａｄｄ［１３：８］から入力される。このパラメータＳＰは，例えばロウアドレスステップ情報ＲＳ，メモリマップ情報ＡＲ，マルチバンク情報ＳＡ’などである。
【０６６４】
また，リードまたはライトコマンドＲＤ／ＷＲが入力されるＣＡＳサイクルで，クロックの立ち上がりエッジに同期して８ビットのコラムアドレスＣＡがアドレス端子Ａｄｄ［７：０］から入力され，クロックの立ち下がりエッジに同期してパラメータＳＰがアドレス端子Ａｄｄ［７：０］のいずれかの端子から入力される。このパラメータＳＰは，例えばスタートバイトＳＢ，コラムアドレスステップ情報ＣＳＴ，アクセス矩形サイズ情報（Ｗ，Ｈ），バイト組み合わせ第２情報ＢＭＲ（ＵＰ，ＤＯＷＮ，ＡＬＬ，ＥＶＥＮ，ＯＤＤ）などである。
【０６６５】
ＤＤＲ，アドレスマルチプレクス方式であれば，入力タイミングが合計で４回あるので，使用されないアドレス端子を利用してパラメータを入力することができる。
【０６６６】
図１８８は，ダブルデータレート（ＤＤＲ）でアドレスマルチプレクス方式における入力方法を示す図である。この例では，アドレス端子の数を８ビットのＡｄｄ［５：０］，Ａｄｄ［７：６］に減らした例である。ＤＤＲ，アドレスマルチプレクス方式では，４回の入力タイミングがあるので，このようにアドレス端子を減らしてもなお不使用中のアドレス端子が存在する。よって，その不使用中のアドレス端子からパラメータを入力することができる。
【０６６７】
まず，アクティブコマンドＡＣＴが入力されるＲＡＳサイクルで，クロックの立ち上がりエッジに同期して８ビットのロウアドレスＲＡがアドレス端子Ａｄｄ［５：０］，Ａｄｄ［７：６］から入力され，クロックの立ち下がりエッジに同期して６ビットのロウアドレスＲＡがアドレス端子Ａｄｄ［５：０］から入力され，パラメータＳＰがアドレス端子Ａｄｄ［７：６］から入力される。このパラメータＳＰは，例えばマルチバンク情報ＳＡ’，ロウアドレスステップ情報ＲＳ，メモリマップ情報ＡＲなどである。
【０６６８】
また，リードまたはライトコマンドＲＤ／ＷＲが入力されるＣＡＳサイクルで，クロックの立ち上がりエッジに同期して８ビットのコラムアドレスＣＡがアドレス端子Ａｄｄ［５：０］，Ａｄｄ［７：６］から入力され，クロックの立ち下がりエッジに同期してパラメータＳＰがアドレス端子Ａｄｄ［５：０］，Ａｄｄ［７：６］のいずれかの端子から入力される。このパラメータＳＰは，例えばスタートバイトＳＢ，コラムアドレスステップ情報ＣＳＴ，アクセス矩形サイズ情報（Ｗ，Ｈ），バイト組み合わせ第２情報ＢＭＲ（ＵＰ，ＤＯＷＮ，ＡＬＬ，ＥＶＥＮ，ＯＤＤ）などである。
【０６６９】
以上説明したとおり，バイトバウンダリアクセス，マルチバンクアクセス，バックグランドリフレッシュなどの特殊な機能の実現に必要なパラメータは，専用端子からまたは不使用状態のアドレス端子から入力することができる。メモリ装置の入力方式に対応した最適なパラメータの入力方法が選択される。
【０６７０】
以上の実施の形態をまとめると，次の付記のとおりである。
【０６７１】
（付記１）
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
バックグランドリフレッシュコマンドとリフレッシュバースト長情報に応答して，リフレッシュ対象バンク内のメモリコアに該リフレッシュバースト長情報に対応する回数のリフレッシュ動作を連続して実行させる制御回路とを有するメモリ装置。
【０６７２】
（付記２）
メモリコントローラからのコマンドに応答して動作するメモリ装置において，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
バックグランドリフレッシュコマンドに応答して，前記メモリコントローラにより設定されたリフレッシュ対象バンク内のメモリコアに，前記メモリコントローラにより設定されたリフレッシュバースト長の回数のリフレッシュ動作を連続して実行させ，前記リフレッシュ対象バンク内のメモリコアが前記リフレッシュ動作を実行中に，通常動作コマンドに応答して，前記リフレッシュ対象バンク以外のバンクであって前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させる制御回路とを有するメモリ装置。
【０６７３】
（付記３）
付記２において，
さらに，前記複数のバンクそれぞれに，または前記複数のバンクの複数組それぞれに，対応するバンク内のリフレッシュ対象アドレスをカウントするリフレッシュアドレスカウンタを有し，
前記制御回路は，
前記バックグランドリフレッシュコマンドに応答して，前記設定されたリフレッシュ対象バンクにリフレッシュ制御信号を出力するバックグランドリフレッシュ制御部と，
前記リフレッシュバースト長が設定されるリフレッシュバースト長レジスタと，
前記複数のバンクそれぞれに設けられ，前記バックグランドリフレッシュ制御信号に応答して，前記リフレッシュバースト長レジスタに設定されたリフレッシュバースト長の回数だけ，前記リフレッシュアドレスカウンタのアドレスについて前記メモリコアにリフレッシュ動作を実行させるコアコントローラとを有することを特徴とするメモリ装置。
【０６７４】
（付記４）
付記２において，
１回のリフレッシュサイクルで同時に活性化されるメモリブロック数を示すリフレッシュブロック数が供給され，
前記制御回路は，前記バックグランドリフレッシュコマンドに応答して，前記リフレッシュブロック数のメモリブロックを同時に活性化するリフレッシュ動作を，前記設定されたリフレッシュバースト長の回数，リフレッシュ対象バンクに実行させることを特徴とするメモリ装置。
【０６７５】
（付記５）
付記３において，
前記バックグランドリフレッシュコマンドと同時に前記リフレッシュバースト長を入力し，前記リフレッシュバースト長レジスタが前記バンクに対応して設けられ，入力された前記リフレッシュバースト長がリフレッシュ対象バンク内のリフレッシュバースト長レジスタに設定されることを特徴とするメモリ装置。
【０６７６】
（付記６）
付記４において，
さらに，リフレッシュブロック数レジスタを有し，
前記バックグランドリフレッシュコマンドと同時に前記リフレッシュブロック数を入力し，
前記入力されたリフレッシュブロック数が前記リフレッシュブロック数レジスタに設定されることを特徴とするメモリ装置。
【０６７７】
（付記７）
付記３において，
前記リフレッシュバースト長レジスタがモードレジスタ内に設けられ，
モードレジスタ設定コマンドと同時に前記リフレッシュバースト長を入力し，
入力された前記リフレッシュバースト長が前記モードレジスタ内のリフレッシュバースト長レジスタに設定されるメモリ装置。
【０６７８】
（付記８）
付記４において，
リフレッシュブロック数レジスタがモードレジスタ内に設けられ，
モードレジスタ設定コマンドと同時に前記リフレッシュブロック数を入力し，
入力されたリフレッシュブロック数が当該モードレジスタ内のリフレッシュブロック数レジスタに設定されるメモリ装置。
【０６７９】
（付記９）
付記３において，
前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，新たに入力されたバックグランドリフレッシュコマンドに応答して，前記リフレッシュ動作の残り回数に前記リフレッシュバースト長を加えた回数，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を連続して実行させることを特徴とするメモリ装置。
【０６８０】
（付記１０）
付記３において，
前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，新たに入力されたバックグランドリフレッシュコマンドに応答して，前記リフレッシュ動作の残り回数にかかわらず，前記リフレッシュバースト長の回数，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を連続して実行させることを特徴とするメモリ装置。
【０６８１】
（付記１１）
付記３において，
前記コアコントローラは，リフレッシュオールコマンドに応答して，前記リフレッシュアドレスカウンタ内のアドレスから残りのアドレスまで，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を繰り返し実行させることを特徴とするメモリ装置。
【０６８２】
（付記１２）
付記３において，
前記コアコントローラは，前記リフレッシュバースト長の回数のリフレッシュ動作中に，バックグランドリフレッシュ停止コマンドに応答して，前記リフレッシュ対象バンク内のメモリコアにリフレッシュ動作を停止させることを特徴とするメモリ装置。
【０６８３】
（付記１３）
付記１２において，
前記コアコントローラは，前記バックグランドリフレッシュ停止コマンドに応答して，前記リフレッシュ対象バンク内のメモリコアに前記実行中のリフレッシュ動作を終了させた後に，次のリフレッシュ動作を開始させないことを特徴とするメモリ装置。
【０６８４】
（付記１４）
付記３において，
モードレジスタへのアクティブリフレッシュ連動フラグの設定に基づき，前記バックグランドリフレッシュ制御部は，通常メモリ動作コマンドに応答して，入力されるバンクアドレスに対応するアクセス対象バンク以外のバンクに，前記バックグランドリフレッシュ制御信号を供給することを特徴とするメモリ装置。
【０６８５】
（付記１５）
付記３において，
前記コアコントローラは，リフレッシュ動作毎にカウントアップするリフレッシュバースト長カウンタを有し，
前記コアコントローラは，前記バックグランドリフレッシュコマンドに応答して，前記リフレッシュバースト長カウンタをリセットし，当該リフレッシュバースト長カウンタのカウンタ値が前記リフレッシュバースト長レジスタに設定されたリフレッシュバースト長に達するまで，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を実行させることを特徴とするメモリ装置。
【０６８６】
（付記１６）
付記３において，
前記コアコントローラは，リフレッシュ動作毎にカウントダウンするリフレッシュバースト長カウンタを有し，
前記コアコントローラは，前記バックグランドリフレッシュコマンドに応答して，前記リフレッシュバースト長カウンタに前記リフレッシュバースト長をセットし，当該リフレッシュバースト長カウンタのカウンタ値がゼロに達するまで，前記リフレッシュ対象バンク内のメモリコアに前記リフレッシュ動作を実行させることを特徴とするメモリ装置。
【０６８７】
（付記１７）
メモリコントローラからのコマンドに応答して動作するメモリ装置において，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
前記バンク内のメモリセルアレイの動作を制御する制御回路とを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
前記制御回路は，前記二次元配列データを水平方向にアクセスする水平アクセス期間中において，当該水平アクセスに対応する通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，バックグランドリフレッシュコマンドに応答して，前記水平アクセス対象バンク以外のリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させることを特徴とするメモリ装置。
【０６８８】
（付記１８）
付記１７において，
前記制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止することを特徴とするメモリ装置。
【０６８９】
（付記１９）
メモリコントローラと，
前記メモリコントローラからのコマンドに応答して動作するメモリ装置とを有し，
前記メモリ装置は，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，
バックグランドリフレッシュコマンドに応答して，前記メモリコントローラにより設定されたリフレッシュ対象バンク内のメモリコアに，前記メモリコントローラにより設定されたリフレッシュバースト長の回数のリフレッシュ動作を連続して実行させ，前記リフレッシュ対象バンク内のメモリコアが前記リフレッシュ動作を実行中に，通常動作コマンドに応答して，前記リフレッシュ対象バンク以外のバンクであって前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させる制御回路とを有することを特徴とするメモリシステム。
【０６９０】
（付記２０）
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，前記複数のバンク内のメモリコアの動作を制御する制御回路とを有するメモリ装置を制御するメモリコントローラにおいて，
上位装置からのアクセス要求に応答して，当該アクセス要求に対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択される通常アクセス対象バンク内のメモリコアに通常動作を実行させるシーケンサを有し，
前記シーケンサは，前記アクセス要求に応答して，前記通常アクセス対象バンク以外のバンクを特定するリフレッシュバンク情報と，リフレッシュ動作回数を指定するリフレッシュバースト長とを，バックグランドリフレッシュコマンドと共に前記メモリ装置に供給して，前記通常動作中に，前記リフレッシュバンク情報に対応するリフレッシュ対象バンク内のメモリコアに，前記リフレッシュバースト長の回数のリフレッシュ動作を連続して実行させることを特徴とするメモリコントローラ。
【０６９１】
（付記２１）
付記２０において，
前記シーケンサは，前記アクセス要求に応答して，アクセス対象データ領域を示す情報に基づいて，前記バックグランドリフレッシュコマンドを発行可能か否かを判定し，発行可能な場合に，前記アクセス対象データ領域を示す情報に基づいて，前記リフレッシュバンク情報とリフレッシュバースト長とを求めることを特徴とするメモリコントローラ。
【０６９２】
（付記２２）
付記２１において，
さらに，二次元配置データとメモリ空間とを対応付けるメモリマップ情報と，前記バックグランドリフレッシュコマンドに対応して前記リフレッシュ動作を実行させるバンク数情報とが設定されるレジスタを有し，
前記シーケンサは，前記アクセス対象データ領域を示す情報に加えて前記レジスタの設定情報に基づいて，前記リフレッシュバンク情報とリフレッシュバースト長とを求めることを特徴とするメモリコントローラ。
【０６９３】
（付記２３）
メモリコントローラと，
前記メモリコントローラからのコマンドに応答して動作するメモリ装置とを有し，
前記メモリ装置は，
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクを有し，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
さらに，前記二次元配列データを水平方向にアクセスする水平アクセス期間中において，通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンク内のメモリコアに，前記通常動作コマンドに対応する通常メモリ動作を実行させ，バックグランドリフレッシュコマンドに応答して，前記水平アクセス対象バンク以外のリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させる制御回路を有することを特徴とするメモリシステム。
【０６９４】
（付記２４）
付記２３において，
前記制御回路は，前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセス期間中において，前記通常動作コマンドに応答して，前記バンクアドレスにより選択されたバンクと当該選択されたバンクに隣接するバンクとの中のメモリコアに，前記通常メモリ動作を実行させ，当該通常メモリ動作中においてリフレッシュ動作を禁止することを特徴とするメモリシステム。
【０６９５】
（付記２５）
メモリセルアレイを含むメモリコアをそれぞれ有しバンクアドレスにより選択される複数のバンクと，前記複数のバンク内のメモリコアの動作を制御する制御回路とを有するメモリ装置を制御するメモリコントローラにおいて，
メモリ論理空間が前記バンクアドレスとロウアドレスにより選択される複数のページ領域を有し，前記複数のページ領域が行列状に配置され且つ隣接するページ領域が異なるバンクアドレス対応付けられたメモリマッピングに基づいて，前記複数のバンクが二次元配列データを記憶し，
上位装置からのアクセス要求に応答して，当該アクセス要求が前記二次元配列データを水平方向にアクセスする水平アクセスであることを判定し，当該水平アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択される水平アクセス対象バンク内のメモリコアに通常動作を実行させるシーケンサを有し，
前記シーケンサは，前記アクセス要求に応答して，前記水平アクセス対象バンク以外のバンクを特定するリフレッシュバンク情報を，バックグランドリフレッシュコマンドと共に前記メモリ装置に供給して，前記通常動作中に，前記リフレッシュバンク情報に対応するリフレッシュ対象バンク内のメモリコアにリフレッシュ動作を実行させることを特徴とするメモリコントローラ。
【０６９６】
（付記２６）
付記２５において，
前記シーケンサ，前記アクセス要求が前記二次元配列データを任意の矩形領域に対してアクセスする矩形アクセスの場合は，当該矩形アクセスに対応する通常動作コマンドをバンクアドレスと共に前記メモリ装置に供給して，当該バンクアドレスで選択されるアクセス対象バンク内のメモリコアに通常動作を実行させ，当該通常メモリ動作中において前記バックグランドリフレッシュコマンドを発行しないことを特徴とするメモリコントローラ。
【符号の説明】
【０６９７】
１０：表示デバイス      １２：メモリマッピング      １４，１４Ｅ：メモリ単位領域
１５：画像メモリ      ２２：矩形領域      
ＳＡ：リフレッシュバンク情報
ＳＢ，ＢＭＲ：バイト組み合わせ情報
ＳＢ：第１の情報（スタートバイト情報）      ＢＭＲ：第２の情報（ＵＰ，ＤＯＷＮ，ＡＬ）
ＳＡ’：マルチバンク情報        ＲＳ：ロウアドレスステップ数データ
ＣＳＴ，ＣＡＷｒａｐ：コラムアドレスステップ数データ
ＲＳ：ロウアドレスステップ数データ
８１：アクセス元ブロック        ８２：メモリコントローラ
８６：メモリ装置
ＲＢＬ：リフレッシュバースト長
ＲＢＣ：リフレッシュブロック数
ＡＲ：メモリマッピング情報
【図４】
0005454618.tif 000002
【図８】
0005454618.tif 000003
【図９】
0005454618.tif 000004
【図１０】
0005454618.tif 000005
【図１１】
0005454618.tif 000006
【図１２】
0005454618.tif 000007
【図１３】
0005454618.tif 000008
【図１４】
0005454618.tif 000009
【図１５】
0005454618.tif 000010
【図１６】
0005454618.tif 000011
【図１７】
0005454618.tif 000012
【図１９】
0005454618.tif 000013
【図２０】
0005454618.tif 000014
【図２１】
0005454618.tif 000015
【図２２】
0005454618.tif 000016
【図２４】
0005454618.tif 000017
【図２９】
0005454618.tif 000018
【図３５】
0005454618.tif 000019
【図３６】
0005454618.tif 000020
【図３７】
0005454618.tif 000021
【図４０】
0005454618.tif 000022
【図４１】
0005454618.tif 000023
【図４２】
0005454618.tif 000024
【図４３】
0005454618.tif 000025
【図４４】
0005454618.tif 000026
【図４５】
0005454618.tif 000027
【図４６】
0005454618.tif 000028
【図４７】
0005454618.tif 000029
【図５１】
0005454618.tif 000030
【図５２】
0005454618.tif 000031
【図５３】
0005454618.tif 000032
【図５４】
0005454618.tif 000033
【図５５】
0005454618.tif 000034
【図５６】
0005454618.tif 000035
【図５７】
0005454618.tif 000036
【図５８】
0005454618.tif 000037
【図５９】
0005454618.tif 000038
【図６０】
0005454618.tif 000039
【図６１】
0005454618.tif 000040
【図６２】
0005454618.tif 000041
【図６３】
0005454618.tif 000042
【図６４】
0005454618.tif 000043
【図６５】
0005454618.tif 000044
【図６６】
0005454618.tif 000045
【図６９】
0005454618.tif 000046
【図７０】
0005454618.tif 000047
【図７１】
0005454618.tif 000048
【図７２】
0005454618.tif 000049
【図７３】
0005454618.tif 000050
【図７４】
0005454618.tif 000051
【図７５】
0005454618.tif 000052
【図７６】
0005454618.tif 000053
【図７７】
0005454618.tif 000054
【図７８】
0005454618.tif 000055
【図７９】
0005454618.tif 000056
【図８０】
0005454618.tif 000057
【図８１】
0005454618.tif 000058
【図８２】
0005454618.tif 000059
【図８３】
0005454618.tif 000060
【図８４】
0005454618.tif 000061
【図８５】
0005454618.tif 000062
【図８６】
0005454618.tif 000063
【図８７】
0005454618.tif 000064
【図８８】
0005454618.tif 000065
【図８９】
0005454618.tif 000066
【図９０】
0005454618.tif 000067
【図９１】
0005454618.tif 000068
【図９２】
0005454618.tif 000069
【図９３】
0005454618.tif 000070
【図９４】
0005454618.tif 000071
【図９５】
0005454618.tif 000072
【図９６】
0005454618.tif 000073
【図９７】
0005454618.tif 000074
【図９８】
0005454618.tif 000075
【図９９】
0005454618.tif 000076
【図１００】
0005454618.tif 000077
【図１０１】
0005454618.tif 000078
【図１０２】
0005454618.tif 000079
【図１０３】
0005454618.tif 000080
【図１０４】
0005454618.tif 000081
【図１０５】
0005454618.tif 000082
【図１０６】
0005454618.tif 000083
【図１０７】
0005454618.tif 000084
【図１０８】
0005454618.tif 000085
【図１０９】
0005454618.tif 000086
【図１１０】
0005454618.tif 000087
【図１１１】
0005454618.tif 000088
【図１１２】
0005454618.tif 000089
【図１１３】
0005454618.tif 000090
【図１１４】
0005454618.tif 000091
【図１１５】
0005454618.tif 000092
【図１１６】
0005454618.tif 000093
【図１１７】
0005454618.tif 000094
【図１１８】
0005454618.tif 000095
【図１１９】
0005454618.tif 000096
【図１２０】
0005454618.tif 000097
【図１２１】
0005454618.tif 000098
【図１２２】
0005454618.tif 000099
【図１２３】
0005454618.tif 000100
【図１２４】
0005454618.tif 000101
【図１２５】
0005454618.tif 000102
【図１２６】
0005454618.tif 000103
【図１２７】
0005454618.tif 000104
【図１２８】
0005454618.tif 000105
【図１２９】
0005454618.tif 000106
【図１３０】
0005454618.tif 000107
【図１３１】
0005454618.tif 000108
【図１３２】
0005454618.tif 000109
【図１３３】
0005454618.tif 000110
【図１３４】
0005454618.tif 000111
【図１３５】
0005454618.tif 000112
【図１３６】
0005454618.tif 000113
【図１３７】
0005454618.tif 000114
【図１３８】
0005454618.tif 000115
【図１３９】
0005454618.tif 000116
【図１４０】
0005454618.tif 000117
【図１４１】
0005454618.tif 000118
【図１４２】
0005454618.tif 000119
【図１４３】
0005454618.tif 000120
【図１４４】
0005454618.tif 000121
【図１４５】
0005454618.tif 000122
【図１４６】
0005454618.tif 000123
【図１４７】
0005454618.tif 000124
【図１４８】
0005454618.tif 000125
【図１４９】
0005454618.tif 000126
【図１５０】
0005454618.tif 000127
【図１５１】
0005454618.tif 000128
【図１５２】
0005454618.tif 000129
【図１５３】
0005454618.tif 000130
【図１５４】
0005454618.tif 000131
【図１５５】
0005454618.tif 000132
【図１５６】
0005454618.tif 000133
【図１５７】
0005454618.tif 000134
【図１５８】
0005454618.tif 000135
【図１５９】
0005454618.tif 000136
【図１６０】
0005454618.tif 000137
【図１６１】
0005454618.tif 000138
【図１６２】
0005454618.tif 000139
【図１６３】
0005454618.tif 000140
【図１６４】
0005454618.tif 000141
【図１６５】
0005454618.tif 000142
【図１６６】
0005454618.tif 000143
【図１６７】
0005454618.tif 000144
【図１６８】
0005454618.tif 000145
【図１６９】
0005454618.tif 000146
【図１７０】
0005454618.tif 000147
【図１７１】
0005454618.tif 000148
【図１７２】
0005454618.tif 000149
【図１７３】
0005454618.tif 000150
【図１７４】
0005454618.tif 000151
【図１７５】
0005454618.tif 000152
【図１７６】
0005454618.tif 000153
【図１７７】
0005454618.tif 000154
【図１７８】
0005454618.tif 000155
【図１７９】
0005454618.tif 000156
【図１８０】
0005454618.tif 000157
【図１８１】
0005454618.tif 000158
【図１８２】
0005454618.tif 000159
【図１８３】
0005454618.tif 000160
【図１８４】
0005454618.tif 000161
【図１８５】
0005454618.tif 000162
【図１８６】
0005454618.tif 000163
【図１８７】
0005454618.tif 000164
【図１８８】
0005454618.tif 000165
【図１】
0005454618.tif 000166
【図２】
0005454618.tif 000167
【図３】
0005454618.tif 000168
【図５】
0005454618.tif 000169
【図６】
0005454618.tif 000170
【図７】
0005454618.tif 000171
【図１８】
0005454618.tif 000172
【図２３】
0005454618.tif 000173
【図２５】
0005454618.tif 000174
【図２６】
0005454618.tif 000175
【図２７】
0005454618.tif 000176
【図２８】
0005454618.tif 000177
【図３０】
0005454618.tif 000178
【図３１】
0005454618.tif 000179
【図３２】
0005454618.tif 000180
【図３３】
0005454618.tif 000181
【図３４】
0005454618.tif 000182
【図３８】
0005454618.tif 000183
【図３９】
0005454618.tif 000184
【図４８】
0005454618.tif 000185
【図４９】
0005454618.tif 000186
【図５０】
0005454618.tif 000187
【図６７】
0005454618.tif 000188
【図６８】
0005454618.tif 000189