(57)【要約】【課題】１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御することが可能なメモリシステムを提供する。【解決手段】メモリシステムは、プロセスユニットに接続されたバスと、第１の記憶領域と第２の記憶領域とを有し、ＤＲＡＭコントロール信号により動作が制御される第１のＤＲＡＭと、第１のＤＲＡＭと同じビット幅を有し、第１の記憶領域と同じアドレス空間を有し且つ等しい容量である第３の記憶領域を有し、ＤＲＡＭコントロール信号により動作が制御される第２のＤＲＡＭと、プロセスユニットからバスを介して読み出しコマンドおよび論理アドレスが入力され、読み出しコマンドおよび論理アドレスに応じて第１のＤＲＡＭおよび第２のＤＲＡＭの動作を制御することにより、第１のＤＲＡＭまたは第２のＤＲＡＭから読み出したデータをプロセスユニットにバスを介して出力するコントローラと、を備える。【選択図】図１
2011060201.tif 000002
【特許請求の範囲】
【請求項１】
プロセスユニットと、
前記プロセスユニットに接続されたバスと、
第１の記憶領域と第２の記憶領域とを有し、ＤＲＡＭコントロール信号により動作が制御される第１のＤＲＡＭと、
前記第１のＤＲＡＭと同じビット幅を有し、前記第１の記憶領域と同じアドレス空間を有し且つ等しい容量である第３の記憶領域を有し、ＤＲＡＭコントロール信号により動作が制御される第２のＤＲＡＭと、
前記プロセスユニットから前記バスを介して読み出しコマンドおよび論理アドレスが入力され、前記読み出しコマンドおよび前記論理アドレスに応じて前記第１のＤＲＡＭおよび前記第２のＤＲＡＭの動作を制御することにより、前記第１のＤＲＡＭまたは前記第２のＤＲＡＭから読み出したデータを前記プロセスユニットに前記バスを介して出力するコントローラと、を備え、
前記コントローラは、
予め規定されたテーブルに基づいて、前記論理アドレスをＤＲＡＭアドレスに変換し、出力するアドレス変換部と、
前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第１の記憶領域の第１のアドレスをアドレス指定している場合は、前記第１のアドレスに対する第１の読み出しコマンドを出力し、さらに、前記第１のＤＲＡＭおよび前記第２のＤＲＡＭから読み出されたデータを前記バスを介して前記プロセスユニットに出力し、一方、前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第２の記憶領域の第２のアドレスをアドレス指定している場合は、前記第２のアドレスに対する第２の読み出しコマンドを出力し、且つ、前記ＤＲＡＭアドレスでアドレス指定されていない前記第２の記憶領域の第３のアドレスに対する第３の読み出しコマンドを生成して出力し、さらに、前記第１のＤＲＡＭのみから読み出されたデータを前記バスを介して前記プロセスユニットに出力するコマンド／データ変換部と、
前記ＤＲＡＭアドレスと前記コマンド／データ変換部から出力された前記第１ないし第３の読み出しコマンドとに基づいて、前記ＤＲＡＭコントロール信号を生成し出力するＤＲＡＭコントロール信号生成部と、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭおよび前記第２のＤＲＡＭに出力し、一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭにのみ出力するマスク部と、を有するものであり、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第１の記憶領域の第１のアドレスに記憶された第１のデータを読み出し、且つ、前記第２のＤＲＡＭは、前記第３の記憶領域の前記第１のアドレスと数値が同じアドレスに記憶された第２のデータを読み出し、
さらに、前記コマンド／データ変換部は、前記第１のＤＲＡＭおよび前記第２のＤＲＡＭから読み出された前記第１のデータと前記第２のデータとを結合したデータを、前記バスを介して前記プロセスユニットに出力し、
一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第２の記憶領域の前記第２のアドレスに記憶された第３のデータと前記第２の記憶領域の前記第３のアドレスに記憶された第４のデータとを読み出し、
さらに、前記コマンド／データ変換部は、前記第１のＤＲＡＭから読み出された前記第３のデータと前記第４のデータとを結合したデータを、前記バスを介して前記プロセスユニットに出力する
ことを特徴とするメモリシステム。
【請求項２】
プロセスユニットと、
前記プロセスユニットに接続されたバスと、
第１の記憶領域と第２の記憶領域とを有し、ＤＲＡＭコントロール信号により動作が制御される第１のＤＲＡＭと、
前記第１のＤＲＡＭと同じビット幅を有し、前記第１の記憶領域と同じアドレス空間を有し且つ等しい容量である第３の記憶領域を有し、ＤＲＡＭコントロール信号により動作が制御される第２のＤＲＡＭと、
前記プロセスユニットから前記バスを介して書き込みコマンドおよび論理アドレスが入力され、前記書き込みコマンドおよび前記論理アドレスに応じて前記第１のＤＲＡＭおよび前記第２のＤＲＡＭの動作を制御することにより、前記プロセスユニットから前記バスを介して入力されたデータを前記第１のＤＲＡＭまたは前記第２のＤＲＡＭに書き込むコントローラと、を備え、
前記コントローラは、
予め規定されたテーブルに基づいて、前記論理アドレスをＤＲＡＭアドレスに変換し、出力するアドレス変換部と、
前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第１の記憶領域の第１のアドレスをアドレス指定している場合は、前記第１のアドレスに対する第１の書き込みコマンドを出力し、さらに、前記バスを介して前記プロセスユニットから入力されたデータを第１のデータと第２のデータとに分割して前記第１のＤＲＡＭと前記第２のＤＲＡＭとに出力し、一方、前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第２の記憶領域の第２のアドレスをアドレス指定している場合は、前記第２のアドレスに対する第２の書き込みコマンドを出力し、且つ、前記ＤＲＡＭアドレスでアドレス指定されていない前記第２の記憶領域の第３のアドレスに対する第３の書き込みコマンドを生成して出力し、さらに、前記バスを介して前記プロセスユニットから入力されたデータを第３のデータと第４のデータとに分割して前記第１のＤＲＡＭに出力するコマンド／データ変換部と、
前記ＤＲＡＭアドレスと前記コマンド／データ変換部から出力された前記第１ないし第３の書き込みコマンドとに基づいて、前記ＤＲＡＭコントロール信号を生成し出力するＤＲＡＭコントロール信号生成部と、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭおよび前記第２のＤＲＡＭに出力し、一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭにのみ出力するマスク部と、を有するものであり、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第１の記憶領域の第１のアドレスに前記第１のデータを書き込み、且つ、前記第２のＤＲＡＭは、前記第３の記憶領域の前記第１のアドレスと数値が同じアドレスに前記第２のデータを書き込み、
一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第２の記憶領域の前記第２のアドレスに前記第３のデータを書き込み、且つ、前記第２の記憶領域の前記第３のアドレスに前記第４のデータを書き込む
ことを特徴とするメモリシステム。
【請求項３】
前記第１の記憶領域の容量と前記第２の記憶領域の容量とは、等しいことを特徴とする請求項１または２に記載のメモリシステム。
【請求項４】
前記第１のＤＲＡＭおよび前記第２のＤＲＡＭは、ＤＤＲ２  ＳＤＲＡＭであることを特徴とする請求項１ないし３の何れかに記載のメモリシステム。
【請求項５】
前記第１のＤＲＡＭおよび前記第２のＤＲＡＭは、ＤＤＲ３  ＳＤＲＡＭであることを特徴とする請求項１ないし３の何れかに記載のメモリシステム。
【請求項６】
前記第１の記憶領域の容量は、１ギガビットであることを特徴とする請求項３に記載のメモリシステム。
【請求項７】
前記第１の記憶領域の容量は、５１２メガビットであることを特徴とする請求項３に記載のメモリシステム。
【請求項８】
前記第１のＤＲＡＭのビット幅は、１６ビットであることを特徴とする請求項１または２に記載のメモリシステム。
【請求項９】
前記プロセスユニットは、前記第１の記憶領域をアドレス指定しアクセスする場合は、前記第２の記憶領域をアドレス指定しアクセスする場合と比較して、バンド幅が２倍になる旨の情報を保持している
ことを特徴とする請求項１または２に記載のメモリシステム。
【請求項１０】
前記第１のＤＲＡＭおよび前記第２のＤＲＡＭへのアクセスを調停するスケジューラをさらに備える
ことを特徴とする請求項１または２に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、容量が異なる２つのＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を備えたメモリシステムに関する。
【背景技術】
【０００２】
従来、１つのコントローラを用いて容量が等しい２つのＤＲＡＭへのアクセスを制御するメモリシステムはあった。しかし、１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御するメモリシステムは、無かった。
【０００３】
ここで、従来技術には、マスク信号により、メモリモジュールに並列に設けられた複数のＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）に対するデータ入出力をマスクするものがある（例えば、特許文献１参照。）。
【０００４】
しかし、該マスク信号を生成するコントローラの数、および該複数のＳＤＲＡＭの容量の関係については、特に言及されていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２００８−２０３４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御することが可能なメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一態様に係るメモリシステムは、
プロセスユニットと、
前記プロセスユニットに接続されたバスと、
第１の記憶領域と第２の記憶領域とを有し、ＤＲＡＭコントロール信号により動作が制御される第１のＤＲＡＭと、
前記第１のＤＲＡＭと同じビット幅を有し、前記第１の記憶領域と同じアドレス空間を有し且つ等しい容量である第３の記憶領域を有し、ＤＲＡＭコントロール信号により動作が制御される第２のＤＲＡＭと、
前記プロセスユニットから前記バスを介して読み出しコマンドおよび論理アドレスが入力され、前記読み出しコマンドおよび前記論理アドレスに応じて前記第１のＤＲＡＭおよび前記第２のＤＲＡＭの動作を制御することにより、前記第１のＤＲＡＭまたは前記第２のＤＲＡＭから読み出したデータを前記プロセスユニットに前記バスを介して出力するコントローラと、を備え、
前記コントローラは、
予め規定されたテーブルに基づいて、前記論理アドレスをＤＲＡＭアドレスに変換し、出力するアドレス変換部と、
前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第１の記憶領域の第１のアドレスをアドレス指定している場合は、前記第１のアドレスに対する第１の読み出しコマンドを出力し、さらに、前記第１のＤＲＡＭおよび前記第２のＤＲＡＭから読み出されたデータを前記バスを介して前記プロセスユニットに出力し、一方、前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第２の記憶領域の第２のアドレスをアドレス指定している場合は、前記第２のアドレスに対する第２の読み出しコマンドを出力し、且つ、前記ＤＲＡＭアドレスでアドレス指定されていない前記第２の記憶領域の第３のアドレスに対する第３の読み出しコマンドを生成して出力し、さらに、前記第１のＤＲＡＭのみから読み出されたデータを前記バスを介して前記プロセスユニットに出力するコマンド／データ変換部と、
前記ＤＲＡＭアドレスと前記コマンド／データ変換部から出力された前記第１ないし第３の読み出しコマンドとに基づいて、前記ＤＲＡＭコントロール信号を生成し出力するＤＲＡＭコントロール信号生成部と、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭおよび前記第２のＤＲＡＭに出力し、一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭにのみ出力するマスク部と、を有するものであり、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第１の記憶領域の第１のアドレスに記憶された第１のデータを読み出し、且つ、前記第２のＤＲＡＭは、前記第３の記憶領域の前記第１のアドレスと数値が同じアドレスに記憶された第２のデータを読み出し、
さらに、前記コマンド／データ変換部は、前記第１のＤＲＡＭおよび前記第２のＤＲＡＭから読み出された前記第１のデータと前記第２のデータとを結合したデータを、前記バスを介して前記プロセスユニットに出力し、
一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第２の記憶領域の前記第２のアドレスに記憶された第３のデータと前記第２の記憶領域の前記第３のアドレスに記憶された第４のデータとを読み出し、
さらに、前記コマンド／データ変換部は、前記第１のＤＲＡＭから読み出された前記第３のデータと前記第４のデータとを結合したデータを、前記バスを介して前記プロセスユニットに出力する
ことを特徴とする。
【０００８】
本発明の他の態様に係るメモリシステムは、
プロセスユニットと、
前記プロセスユニットに接続されたバスと、
第１の記憶領域と第２の記憶領域とを有し、ＤＲＡＭコントロール信号により動作が制御される第１のＤＲＡＭと、
前記第１のＤＲＡＭと同じビット幅を有し、前記第１の記憶領域と同じアドレス空間を有し且つ等しい容量である第３の記憶領域を有し、ＤＲＡＭコントロール信号により動作が制御される第２のＤＲＡＭと、
前記プロセスユニットから前記バスを介して書き込みコマンドおよび論理アドレスが入力され、前記書き込みコマンドおよび前記論理アドレスに応じて前記第１のＤＲＡＭおよび前記第２のＤＲＡＭの動作を制御することにより、前記プロセスユニットから前記バスを介して入力されたデータを前記第１のＤＲＡＭまたは前記第２のＤＲＡＭに書き込むコントローラと、を備え、
前記コントローラは、
予め規定されたテーブルに基づいて、前記論理アドレスをＤＲＡＭアドレスに変換し、出力するアドレス変換部と、
前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第１の記憶領域の第１のアドレスをアドレス指定している場合は、前記第１のアドレスに対する第１の書き込みコマンドを出力し、さらに、前記バスを介して前記プロセスユニットから入力されたデータを第１のデータと第２のデータとに分割して前記第１のＤＲＡＭと前記第２のＤＲＡＭとに出力し、一方、前記ＤＲＡＭアドレスが前記第１のＤＲＡＭの前記第２の記憶領域の第２のアドレスをアドレス指定している場合は、前記第２のアドレスに対する第２の書き込みコマンドを出力し、且つ、前記ＤＲＡＭアドレスでアドレス指定されていない前記第２の記憶領域の第３のアドレスに対する第３の書き込みコマンドを生成して出力し、さらに、前記バスを介して前記プロセスユニットから入力されたデータを第３のデータと第４のデータとに分割して前記第１のＤＲＡＭに出力するコマンド／データ変換部と、
前記ＤＲＡＭアドレスと前記コマンド／データ変換部から出力された前記第１ないし第３の書き込みコマンドとに基づいて、前記ＤＲＡＭコントロール信号を生成し出力するＤＲＡＭコントロール信号生成部と、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭおよび前記第２のＤＲＡＭに出力し、一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、前記ＤＲＡＭコントロール信号を前記第１のＤＲＡＭにのみ出力するマスク部と、を有するものであり、
前記ＤＲＡＭアドレスが前記第１のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第１の記憶領域の第１のアドレスに前記第１のデータを書き込み、且つ、前記第２のＤＲＡＭは、前記第３の記憶領域の前記第１のアドレスと数値が同じアドレスに前記第２のデータを書き込み、
一方、前記ＤＲＡＭアドレスが前記第２のアドレスをアドレス指定している場合は、
前記ＤＲＡＭコントロール信号に応じて、前記第１のＤＲＡＭは、前記第２の記憶領域の前記第２のアドレスに前記第３のデータを書き込み、且つ、前記第２の記憶領域の前記第３のアドレスに前記第４のデータを書き込む
ことを特徴とする。
【発明の効果】
【０００９】
本発明の係るメモリシステムによれば、１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御し、ＤＲＡＭの空間を有効活用することができるため、過剰なメモリ容量が不要となる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一態様である実施例１に係るメモリシステム１００の構成の一例を示す図である。
【図２】ＤＲＡＭの記憶領域のＤＲＡＭアドレス空間の構成の一例を示す図である。
【図３】ＤＲＡＭの種類とＤＲＡＭアドレス空間との関係を示す図である。
【図４】プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの一例を示す図である。
【図５】プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの一例を示す図である。
【図６】論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの一例を示す図である。
【図７】プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。
【図８】プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。
【図９】論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの他の例を示す図である。
【図１０】プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。
【図１１】プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。
【図１２】論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの他の例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明を適用した各実施例について図面を参照しながら説明する。
【実施例１】
【００１２】
図１は、本発明の一態様である実施例１に係るメモリシステム１００の構成の一例を示す図である。
【００１３】
図１に示すように、メモリシステム１００は、プロセスユニット１ａ、１ｂと、バス２と、コントローラ３と、第１のＤＲＡＭ４と、第２のＤＲＡＭ５と、を備える。
【００１４】
プロセスユニット１ａ、１ｂは、メモリシステム１００を介してＤＲＡＭへアクセスを行う演算装置である。
【００１５】
バス２は、プロセスユニット１ａ、１ｂに接続されている。
【００１６】
第１のＤＲＡＭ４は、第１の記憶領域４ａと第２の記憶領域４ｂとを有する。この第１のＤＲＡＭ４は、ＤＲＡＭコントロール信号により動作が制御されるようになっている。この第１のＤＲＡＭ４のビット幅は、例えば、１６ビットである。また、第１の記憶領域４ａの容量は、図１の例では、５１２メガビットであるが、１ギガビット等の他の容量であってもよい。なお、該記憶領域は、データを記憶するメモリセルがマトリクス状に配置されたメモリセルアレイで構成されている。
【００１７】
なお、図１の例では、例えば、第１の記憶領域４ａの容量と第２の記憶領域４ｂの容量とは、等しく設定されている（この場合、第１のＤＲＡＭ４の総容量が１ギガビットとなる）が、異なってもよい。
【００１８】
第２のＤＲＡＭ５は、第１のＤＲＡＭ４と同じビット幅を有する。この第２のＤＲＡＭ５は、第１のＤＲＡＭ４の第１の記憶領域４ａと等しい容量を有する第３の記憶領域５ａを有する。すなわち、この第２のＤＲＡＭ５は、第１のＤＲＡＭ４とは異なる容量を有する。さらに、第３の記憶領域５ａは、第１の記憶領域４ａと同じＤＲＡＭアドレス（物理アドレス）空間を有する。また、この第２のＤＲＡＭ５は、ＤＲＡＭコントロール信号により動作が制御されるようになっている。
【００１９】
なお、これらの第１のＤＲＡＭ４および第２のＤＲＡＭ５は、例えば、ＤＤＲ２  ＳＤＲＡＭ、ＤＤＲ３  ＳＤＲＡＭ等である。
【００２０】
コントローラ３は、プロセスユニット１ａ、１ｂからバス２を介して読み出しコマンド（または書き込みコマンド）および論理アドレスが入力されるようになっている。
【００２１】
このコントローラ３は、例えば、該読み出しコマンドおよび該論理アドレスに応じて、第１のＤＲＡＭ４および第２のＤＲＡＭ５の動作を制御することにより、第１のＤＲＡＭ４または第２のＤＲＡＭから読み出したデータを、プロセスユニット１ａ、１ｂにバス２を介して出力するようになっている。
【００２２】
また、このコントローラ３は、例えば、該書き込みコマンドおよび該論理アドレスに応じて、第１のＤＲＡＭ４および第２のＤＲＡＭ５の動作を制御することにより、プロセスユニット１ａ、１ｂからバス２を介して入力されたデータを、第１のＤＲＡＭ４または第２のＤＲＡＭ５に書き込むようになっている。
【００２３】
ここで、図１に示すように、コントローラ３は、アドレス変換部３ａと、スケジューラ（scheduler）３ｂと、コマンド／データ変換部３ｃと、ＤＲＡＭコントロール信号生成部３ｄと、マスク部３ｅと、を有する。
【００２４】
アドレス変換部３ａは、予め規定されたテーブルに基づいて、該論理アドレスをＤＲＡＭアドレスに変換し、出力するようになっている。なお、このＤＲＡＭアドレスは、記憶領域（メモリセルアレイ）におけるメモリセルの物理アドレスである。
【００２５】
ここで、図２は、ＤＲＡＭの記憶領域のＤＲＡＭアドレス空間の構成の一例を示す図である。図２に示すように、ＤＲＡＭの記憶領域Ｘは、複数のバンクＢａｎｋで構成されている。そして、メモリセルのＤＲＡＭアドレス（物理アドレス）は、このバンクＢａｎｋ内のカラムＣｏｌとロウＲｏｗにより規定される。
【００２６】
また、図３は、ＤＲＡＭの種類とＤＲＡＭアドレス空間との関係を示す図である。図３に示すように、ＤＲＡＭの種類が異なるとそのＤＲＡＭアドレス空間も異なる。
【００２７】
ここで、図４は、プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの一例を示す図である。また、図５は、プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの一例を示す図である。また、図６は、論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの一例を示す図である。
【００２８】
なお、図４ないし図６は、第１のＤＲＡＭおよび第２のＤＲＡＭがＤＤＲ２  ＳＤＲＡＭであり、第１のＤＲＡＭの容量が１ギガビット、第２のＤＲＡＭが５１２Ｍビットの場合を示す。また、第１のＤＲＡＭの２３個のバンクの内、第１の記憶領域には、バンクＢ０〜Ｂ３を割り当て、第２の記憶領域には、バンクＢ４〜Ｂ８を割り当てている。
【００２９】
この場合、図４、５に示すように、論理アドレスｌｏｇｉｃ［２７：０］の２７ビット目のＢ［２］が“０”または“１”のどちらかで、第１の記憶領域へのアクセスか第２の記憶領域へのアクセスかを分けることができる。
【００３０】
そこで、図６に示すテーブルにより、論理アドレスを２７ビット目のＢ［２］の値に基づいて、ＤＲＡＭアドレスに変換する。
【００３１】
また、図７は、プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。また、図８は、プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。また、図９は、論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの他の例を示す図である。
【００３２】
なお、図７ないし図９は、第１のＤＲＡＭおよび第２のＤＲＡＭがＤＤＲ３  ＳＤＲＡＭであり、第１のＤＲＡＭの容量が１ギガビット、第２のＤＲＡＭが５１２Ｍビットの場合を示す。また、第１のＤＲＡＭの２１３個のロウの内、第１の記憶領域には、ロウＲ［１２］＝“０”になる論理アドレスを割り当て、第２の記憶領域には、ロウＲ［１２］＝“１”になる論理アドレスを割り当てている。
【００３３】
この場合、図７、８に示すように、論理アドレスｌｏｇｉｃ［２７：０］の２７ビット目のＲ［１２］が“０”または“１”のどちらかで、第１の記憶領域へのアクセスか第２の記憶領域へのアクセスかを分けることができる。
【００３４】
そこで、図９に示すテーブルにより、論理アドレスを２７ビット目のＲ［１２］の値に基づいて、ＤＲＡＭアドレスに変換する。
【００３５】
また、図１０は、プロセスユニットが第１のＤＲＡＭの第１の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。また、図１１は、プロセスユニットが第１のＤＲＡＭの第２の記憶領域へアクセスする場合における論理アドレスの他の例を示す図である。また、図１２は、論理アドレスをＤＲＡＭアドレスに変換するためのテーブルの他の例を示す図である。
【００３６】
なお、図１０ないし図１２は、第１のＤＲＡＭおよび第２のＤＲＡＭがＤＤＲ２  ＳＤＲＡＭまたはＤＤＲ３  ＳＤＲＡＭであり、第１のＤＲＡＭの容量が２ギガビット、第２のＤＲＡＭが１ギガビットの場合を示す。また、第１のＤＲＡＭの２１４個のロウの内、第１の記憶領域には、Ｒ［１３］＝“０”になる論理アドレスを割り当て、第２の記憶領域には、Ｒ［１３］＝“１”になる論理アドレスを割り当てている。
【００３７】
この場合、図１０、１１に示すように、論理アドレスｌｏｇｉｃ［２８：０］の２８ビット目のＲ［１３］が“０”または“１”のどちらかで、第１の記憶領域へのアクセスか第２の記憶領域へのアクセスかを分けることができる。
【００３８】
そこで、図１２に示すテーブルにより、論理アドレスを２８ビット目のＲ［１３］の値に基づいて、ＤＲＡＭアドレスに変換する。
【００３９】
また、図１に示すように、スケジューラ３ｂは、第１のＤＲＡＭ４および第２のＤＲＡＭ５へのアクセスを調停するようになっている。
【００４０】
コマンド／データ変換部３ｃは、該ＤＲＡＭアドレスが第１のＤＲＡＭ４の第１の記憶領域４ａの第１のアドレスａ１をアドレス指定している第１の場合は、読み出し動作時において、第１のアドレスａ１に対する第１の読み出しコマンドＲＤ１を出力するようになっている。また、この第１の場合、書き込み動作時において、第１のアドレスａ１に対する第１の書き込みコマンドＷＤ１を出力するようになっている。
【００４１】
さらに、この第１の場合、読み出し動作時において、コマンド／データ変換部３ｃは、第１のＤＲＡＭ４および第２のＤＲＡＭ５から読み出されたデータを、バス２を介してプロセスユニット１ａ、１ｂに出力するようになっている。また、この第１の場合、書き込み動作時において、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから入力されたデータを第１のデータＤ１と第２のデータＤ２とに分割して第１のＤＲＡＭ４と第２のＤＲＡＭ５とに出力するようになっている。
【００４２】
一方、コマンド／データ変換部３ｃは、該ＤＲＡＭアドレスが第１のＤＲＡＭ４の第２の記憶領域４ｂの第２のアドレスａ２をアドレス指定している第２の場合は、読み出し動作時において、第２のアドレスａ２に対する第２の読み出しコマンドＲＤ２を出力し、且つ、該ＤＲＡＭアドレスでアドレス指定されていない第２の記憶領域４ｂの第３のアドレスａ３に対する第３の読み出しコマンドＲＤ３を生成して出力するようになっている。また、この第２の場合、書き込み動作時において、コマンド／データ変換部３ｃは、第２のアドレスａ２に対する第２の書き込みコマンドＷＤ２を出力し、且つ、該ＤＲＡＭアドレスでアドレス指定されていない第２の記憶領域４ｂの第３のアドレスａ３に対する第３の書き込みコマンドＷＤ３を生成して出力するようになっている。
【００４３】
さらに、この第２の場合、読み出し動作時において、コマンド／データ変換部３ｃは、  第１のＤＲＡＭ４のみから読み出されたデータを、バス２を介してプロセスユニット１ａ、１ｂに出力するようになっている。また、この第２の場合、書き込み動作時において、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから入力されたデータを第３のデータＤ３と第４のデータＤ４とに分割して第１のＤＲＡＭ４に出力するようになっている。
【００４４】
ＤＲＡＭコントロール信号生成部３ｄは、該ＤＲＡＭアドレスと、コマンド／データ変換部３ｃから出力された該第１ないし第３の読み出しコマンドＲＤ１〜ＲＤ３（または該第１ないし第３の書き込みコマンドＷＤ１〜ＷＤ３）とに基づいて、該ＤＲＡＭコントロール信号を生成し出力するようになっている。
【００４５】
マスク部３ｅは、該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定している第１の場合は、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４および第２のＤＲＡＭ５に出力するようになっている。一方、マスク部３ｅは、該ＤＲＡＭアドレスが第２のアドレスａ２をアドレス指定している第２の場合は、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４にのみ出力するようになっている。
【００４６】
次に、以上のような構成を有するメモリシステム１００の動作の一例について説明する。
【００４７】
始めに、メモリシステム１００の読み出し動作の例について説明する。
【００４８】
（１）該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定している第１の場合
先ず、アドレス変換部３ａは、バス２を介してプロセスユニット１ａ、１ｂから論理アドレスが入力されると、予め規定されたテーブルに基づいて、該論理アドレスをＤＲＡＭアドレスに変換し、出力する。
【００４９】
そして、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから読み出しコマンドが入力されると、該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定しているので、第１のアドレスａ１に対する第１の読み出しコマンドＲＤ１を出力する。
【００５０】
そして、ＤＲＡＭコントロール信号生成部３ｄは、該ＤＲＡＭアドレスと、コマンド／データ変換部３ｃから出力された該第１の読み出しコマンドＲＤ１と、に基づいて、該ＤＲＡＭコントロール信号を生成し出力する。
【００５１】
そして、マスク部３ｅは、該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定しているので、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４および第２のＤＲＡＭ５に出力する。
【００５２】
そして、ＤＲＡＭコントロール信号に応じて、第１のＤＲＡＭ４は、第１の記憶領域４ａの第１のアドレスａ１に記憶された第１のデータＤ１を読み出し、且つ、第２のＤＲＡＭ５は、第３の記憶領域５ａの第１のアドレスａ１と数値が同じアドレスに記憶された第２のデータＤ２を読み出す。
【００５３】
そして、コマンド／データ変換部３ｃは、第１のＤＲＡＭ４および第２のＤＲＡＭ５から読み出された第１のデータＤ１と第２のデータＤ２とを結合したデータを、バス２を介してプロセスユニット１ａ、１ｂに出力する。
【００５４】
（２）該ＤＲＡＭアドレスが第２のアドレスａ２をアドレス指定している第２の場合
先ず、アドレス変換部３ａは、バス２を介してプロセスユニット１ａ、１ｂから論理アドレスが入力されると、予め規定されたテーブルに基づいて、該論理アドレスをＤＲＡＭアドレスに変換し、出力する。
【００５５】
そして、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから読み出しコマンドが入力されると、第２のアドレスａ２に対する第２の読み出しコマンドＲＤ２を出力し、且つ、該ＤＲＡＭアドレスでアドレス指定されていない第２の記憶領域４ｂの第３のアドレスａ３に対する第３の読み出しコマンドＲＤ３を生成して出力する。
【００５６】
そして、ＤＲＡＭコントロール信号生成部３ｄは、該ＤＲＡＭアドレスと、コマンド／データ変換部３ｃから出力された該第２、第３の読み出しコマンドＲＤ２、ＲＤ３と、に基づいて、該ＤＲＡＭコントロール信号を生成し出力する。
【００５７】
そして、マスク部３ｅは、該ＤＲＡＭアドレスが第２のアドレスａ２をアドレス指定しているので、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４にのみ出力する。
【００５８】
そして、ＤＲＡＭコントロール信号に応じて、第１のＤＲＡＭ４は、第２の記憶領域４ｂの第２のアドレスａ２に記憶された第３のデータＤ３と第２の記憶領域４ｂの第３のアドレスａ３に記憶された第４のデータＤ４とを読み出す。
【００５９】
そして、コマンド／データ変換部３ｃは、第１のＤＲＡＭ４から読み出された第３のデータＤ３と第４のデータＤ４とを結合したデータを、バス２を介してプロセスユニット１ａ、１ｂに出力する。
【００６０】
すなわち、この第２の場合、プロセスユニット１ａ、１ｂは、第２のＤＲＡＭ５にはアクセスしない。
【００６１】
次に、メモリシステム１００の書き込み動作の例について説明する。
【００６２】
（１）該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定している第１の場合
先ず、アドレス変換部３ａは、バス２を介してプロセスユニット１ａ、１ｂから論理アドレスが入力されると、予め規定されたテーブルに基づいて、該論理アドレスをＤＲＡＭアドレスに変換し、出力する。
【００６３】
そして、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから書き込みコマンドが入力されると、第１の書き込みコマンドＷＤ１を出力する。さらに、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから入力されたデータを第１のデータＤ１と第２のデータＤ２とに分割して第１のＤＲＡＭ４と第２のＤＲＡＭ５とに出力する。
【００６４】
そして、ＤＲＡＭコントロール信号生成部３ｄは、該ＤＲＡＭアドレスと、コマンド／データ変換部３ｃから出力された該第１の書き込みコマンドＷＤ１と、に基づいて、該ＤＲＡＭコントロール信号を生成し出力する。
【００６５】
そして、マスク部３ｅは、該ＤＲＡＭアドレスが第１のアドレスａ１をアドレス指定しているので、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４および第２のＤＲＡＭ５に出力する。
【００６６】
そして、該ＤＲＡＭコントロール信号に応じて、第１のＤＲＡＭ４は、第１の記憶領域４ａの第１のアドレスａ１に第１のデータＤ１を書き込み、且つ、第２のＤＲＡＭ５は、第３の記憶領域５ａの第１のアドレスａ１と数値が同じアドレスに第２のデータＤ２を書き込む。
【００６７】
（２）該ＤＲＡＭアドレスが第２のアドレスａ２をアドレス指定している第２の場合
先ず、アドレス変換部３ａは、バス２を介してプロセスユニット１ａ、１ｂから論理アドレスが入力されると、予め規定されたテーブルに基づいて、該論理アドレスをＤＲＡＭアドレスに変換し、出力する。
【００６８】
そして、コマンド／データ変換部３ｃは、第２のアドレスａ２に対する第２の書き込みコマンドＷＤ２を出力し、且つ、該ＤＲＡＭアドレスでアドレス指定されていない第２の記憶領域４ｂの第３のアドレスａ３に対する第３の書き込みコマンドＷＤ３を生成して出力する。さらに、コマンド／データ変換部３ｃは、バス２を介してプロセスユニット１ａ、１ｂから入力されたデータを第３のデータＤ３と第４のデータＤ４とに分割して第１のＤＲＡＭ４に出力する。
【００６９】
そして、ＤＲＡＭコントロール信号生成部３ｄは、該ＤＲＡＭアドレスと、コマンド／データ変換部３ｃから出力された該第２、３の書き込みコマンドＷＤ２、ＷＤ３と、に基づいて、該ＤＲＡＭコントロール信号を生成し出力する。
【００７０】
そして、マスク部３ｅは、該ＤＲＡＭアドレスが第２のアドレスａ２をアドレス指定しているので、該ＤＲＡＭコントロール信号を第１のＤＲＡＭ４にのみ出力する。
【００７１】
そして、ＤＲＡＭコントロール信号に応じて、第１のＤＲＡＭ４は、第２の記憶領域４ｂの第２のアドレスａ２に第３のデータＤ３を書き込み、且つ、第２の記憶領域４ｂの第３のアドレスａ３に第４のデータＤ４を書き込む。
【００７２】
すなわち、この第２の場合、プロセスユニット１ａ、１ｂは、第２のＤＲＡＭ５にはアクセスしない。
【００７３】
以上のように、メモリシステム１００は、１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御することができる。
【００７４】
ここで、プロセスユニット１ａ、１ｂは、第１の記憶領域４ａをアドレス指定することにより第１のＤＲＡＭ４および第２のＤＲＡＭ５にアクセスする場合は、第２の記憶領域４ｂをアドレス指定して第１のＤＲＡＭ４のみにアクセスする場合と比較して、バンド幅が２倍になる旨の情報を保持している。
【００７５】
すなわち、プロセスユニット１ａ、１ｂは、例えば、メモリバンド幅が多く必要な場合は、第１、第３の記憶領域４ａ、５ａに対してアクセスを行うことが可能である論理アドレスを指定し、その結果メモリコントローラは３２ビットのビット幅のアクセスをＤＲＡＭ４およびＤＲＡＭ５に対して行う。一方、プロセスユニット１ａ、１ｂは、例えば、メモリバンド幅が特に多く必要でない場合は、第２の記憶領域４ｂに対してアクセスを行うことが可能である論理アドレスを指定し、その結果メモリコントローラは１６ビットのビット幅のアクセスをＤＲＡＭ４に対して行う。
【００７６】
以上のように、本実施例に係るメモリシステムによれば、１つのコントローラを用いて容量が異なる２つのＤＲＡＭへのアクセスを制御することができる。
【符号の説明】
【００７７】
１ａ、１ｂ  プロセスユニット
２  バス
３  コントローラ
３ａ  アドレス変換部
３ｂ  スケジューラ
３ｃ  コマンド／データ変換部
３ｄ  ＤＲＡＭコントロール信号生成部
３ｅ  マスク部３ｅ
４  第１のＤＲＡＭ
４ａ  第１の記憶領域
４ｂ  第２の記憶領域
５  第２のＤＲＡＭ
５ａ  第３の記憶領域
１００  メモリシステム
【図１】
2011060201.tif 000003
【図２】
2011060201.tif 000004
【図３】
2011060201.tif 000005
【図４】
2011060201.tif 000006
【図５】
2011060201.tif 000007
【図６】
2011060201.tif 000008
【図７】
2011060201.tif 000009
【図８】
2011060201.tif 000010
【図９】
2011060201.tif 000011
【図１０】
2011060201.tif 000012
【図１１】
2011060201.tif 000013
【図１２】
2011060201.tif 000014