(57)【要約】【課題】同時に書き込みや読み出しを行うことができるメモリ制御装置および集積回路を提供する。【解決手段】独立して入力される複数のアドレス信号に基づいて、複数のメモリセルが配置されたメモリの所定アドレスをアクセスするとともに、前記所定アドレスに対してデータの書き込みまたは読み出しを行うメモリ制御装置において、前記メモリの記憶領域を分割してなる複数のメモリセルブロックと、前記複数のアドレス信号が前記複数のメモリセルブロックの中で異なるメモリセルブロックのアドレスをアクセスするための信号であるか否かを判別し、前記複数のアドレス信号が前記異なるメモリセルブロックのアドレスをアクセスするための信号であるとき、前記複数のアドレス信号を対応する前記メモリセルブロックへ出力するアクセス制御部とを備える。【選択図】    図１
2005149547.tif 000002
【特許請求の範囲】
【請求項１】
独立して入力される複数のアドレス信号に基づいて、複数のメモリセルが配置されたメモリの所定アドレスをアクセスするとともに、前記所定アドレスに対してデータの書き込みまたは読み出しを行うメモリ制御装置において、
前記メモリの記憶領域を分割してなる複数のメモリセルブロックと、
前記複数のアドレス信号が前記複数のメモリセルブロックの中で異なるメモリセルブロックのアドレスをアクセスするための信号であるか否かを判別し、前記複数のアドレス信号が前記異なるメモリセルブロックのアドレスをアクセスするための信号であるとき、前記複数のアドレス信号を対応する前記メモリセルブロックへ出力するアクセス制御部と、
を備えたことを特徴とするメモリ制御装置。
【請求項２】
前記アクセス制御部は、
前記複数のアドレス信号が前記複数のメモリセルブロックの中で同一のメモリセルブロックのアドレスをアクセスするための信号であるとき、１つの前記アドレス信号を対応する前記メモリセルブロックへ出力し、他の前記アドレス信号の対応する前記メモリセルブロックへの出力を停止することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記アクセス制御部は、
前記複数のアドレス信号が前記複数のメモリセルブロックの中で同一のメモリセルブロックのアドレスをアクセスするための信号であるとき、１つの前記アドレス信号を対応する前記メモリセルブロックへ出力し、当該メモリセルブロックにおいて書き込みまたは読み出しが終了した後、他の前記アドレス信号を対応するメモリセルブロックに出力することを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
個々の前記メモリセルは、１対のビット線及び１本のワード線と接続されていることを特徴とする請求項１乃至３のいずれかに記載のメモリ制御装置。
【請求項５】
請求項１乃至４のいずれかに記載のメモリ制御装置を集積化してなることを特徴とする集積回路
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置及び集積回路に関する。
【背景技術】
【０００２】
シングルポートＲＡＭは、１ビット単位のデータを記憶するためのセル１つにつき、１本のワード線と１対のビット線を有し、１回のアドレス指定において１アドレスの書き込みあるいは読み出しを行う。しかしこのようなシングルポートＲＡＭでは、例えば複数のＣＰＵを使用して並列演算処理を行うマルチプロセッサシステムに使用された場合、１通りの書き込みまたは読み出しが終わるまで次のアドレス指定を待たなければいけないため、高速データ処理を行うことができなかった。
【０００３】
この問題は、２つのＣＰＵからアクセスがあった場合、両方のアクセスに対応して書き込みまたは読み出しが可能なデュアルポートＲＡＭを用いることで解決できる。
【０００４】
図６は従来のデュアルポートＲＡＭに対する書き込みおよび読み出し動作を説明するためのブロック図である。デュアルポートＲＡＭ４００には例えばＳＲＡＭを用いることができる。ＣＰＵ２００はデュアルポートＲＡＭ４００にアドレス信号Ａを出力する。またＣＰＵ３００は、デュアルポートＲＡＭ４００にＣＰＵ２００とは独立して、アドレス信号Ｂを出力する。なおアドレス信号Ａ、Ｂは、同期または非同期のいずれであってもよい。デュアルポートＲＡＭ４００は、アドレス信号ＡでアクセスされたアドレスにデータＡの書き込みまたは読み出しを行う。またデュアルポートＲＡＭ４００は、アドレス信号ＢにアクセスされたアドレスにデータＢの書き込みまたは読み出しを行う。
【０００５】
図７は従来のデュアルポートＲＡＭ４００を構成する各メモリセル部５００の回路図である。メモリセル部５００は、セル３０と、ＣＰＵ２００からのアドレス信号Ａに応じて選択されるワード線ＷＬａと、ワード線ＷＬａに基づきオン、オフが制御されるＭＯＳトランジスタ３１、３２と、ＭＯＳトランジスタ３１、３２がオンすることによりセル３０に対しデータＡの書き込みまたは読み出しが行われるビット線Ｄａおよびその反転となるビット線Ｄａ’とを有している。
【０００６】
また、メモリセル部５００は、ＣＰＵ３００からのアドレス信号Ｂに応じて選択されるワード線ＷＬｂと、ワード線ＷＬｂに基づきオン、オフが制御されるＭＯＳトランジスタ３３、３４と、ＭＯＳトランジスタ３３、３４がオンすることによりセル３０に対しデータＢの書き込みまたは読み出しが行われるビット線Ｄｂおよびその反転となるビット線Ｄｂ’とを有している。
【特許文献１】特開平７−１４１８５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このように従来のデュアルポートＲＡＭは、１つのメモリセル部５００につき２本のワード線と４本のビット線と４個のＭＯＳトランジスタが必要であった。さらにワード線やビット線を選択するためのデコーダ、ワード線やビット線を駆動するためのドライバ等、デュアルポートＲＡＭに特有の回路も更に必要となった。その結果回路規模が大きくなる問題点があった。また特に集積回路ではチップ面積が大きくなる問題点があった。
【０００８】
本発明は、小規模の回路構成で、複数のアドレス信号により指定されるメモリのアドレスに対して、同時に書き込みや読み出しを行うことができるメモリ制御装置および集積回路を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る主たる発明は、独立して入力される複数のアドレス信号に基づいて、複数のメモリセルが配置されたメモリの所定アドレスをアクセスするとともに、前記所定アドレスに対してデータの書き込みまたは読み出しを行うメモリ制御装置において、前記メモリの記憶領域を分割してなる複数のメモリセルブロックと、前記複数のアドレス信号が前記複数のメモリセルブロックの中で異なるメモリセルブロックのアドレスをアクセスするための信号であるか否かを判別し、前記複数のアドレス信号が前記異なるメモリセルブロックのアドレスをアクセスするための信号であるとき、前記複数のアドレス信号を対応する前記メモリセルブロックへ出力するアクセス制御部とを備えたことを特徴とする。
【００１０】
本発明の他の特徴については、添付図面及び本明細書の記載により明らかとなる。
【発明の効果】
【００１１】
本発明によれば、小規模の回路構成で、複数のアドレス信号により指定されるメモリのアドレスに対して、同時に書き込みや読み出しを行うことができる。
【発明を実施するための最良の形態】
【００１２】
＜システム構成＞
図１に本発明の実施の形態にかかるメモリ制御装置１００を含む制御システムの構成を示す。同図に示すように当該制御システムは、メモリ制御装置１００と、互いに独立した２つのＣＰＵ２００、ＣＰＵ３００とを備えている。
【００１３】
ＣＰＵ２００は、メモリ制御装置１００にアドレス信号Ａを出力する。ＣＰＵ３００は、メモリ制御装置１００にＣＰＵ２００とは独立して、アドレス信号Ｂを出力する。なおアドレス信号Ａ、Ｂは、同期または非同期のいずれであってもよい。
【００１４】
メモリ制御装置１００は、アービトレーション部（『アクセス制御部』）１０と、メモリ６００とを有している。メモリ６００はｎ個に分割されたセルブロック （『メモリセルブロック』）１乃至ｎからなる。
【００１５】
アービトレーション部１０は、同期または非同期で入力されたアドレス信号Ａ、Ｂが、セルブロック１乃至ｎの中で異なるセルブロックをアクセスする信号かどうかを判別する。
【００１６】
そして、これら２つのアドレス信号Ａ、Ｂが、セルブロック１乃至ｎの中で異なるセルブロックをアクセスする信号である場合には、アービトレーション部１０は２つのアドレス信号Ａ、Ｂをそのまま指定されるセルブロックに対して出力する。
【００１７】
一方、これら２つのアドレス信号Ａ、Ｂが、セルブロック１乃至ｎの中で同一のセルブロックをアクセスする信号である場合には、アービトレーション部１０は、アドレス信号Ａ、Ｂのいずれか一方を対応するセルブロックへ出力し、他方のアドレス信号の出力を待機させる。そして先に出力したアドレス信号において、セルブロックに対してのデータの書き込みや読み出しの処理が終了した後、当該セルブロックに対して他方のアドレス信号を出力する。
【００１８】
この場合アービトレーション部１０から同一セルブロックへのアドレス信号の出力順は、ＣＰＵ２００、３００に基づいて優先順位をつけておいてもよいし、アービトレーション部１０に対する入力の早い順で出力を行うようになっていてもよい。
【００１９】
また後述するように、ＲＡＭセルブロック１乃至ｎ内のメモリセル部７００はデータの書き込みまたは読み出しを行うためのビット線対Ｄ、Ｄ’を有しており、当該ビット線対Ｄ、Ｄ’はデータＡ側のデータ線からでも、データＢ側のデータ線からでも書き込みや読み出しを行うことができるようになっている。よってアドレス信号Ａ、Ｂがセルブロック１乃至ｎのいずれかに入力されると、それぞれのアドレス信号にアクセスされたアドレスにて、データＡまたはデータＢの書き込みや読み出しが行われる。ビット線対Ｄ、Ｄ’はデータＡを入力するためのデータ線と接続されているとともに、データＢを入力するためのデータ線とも接続されている。つまりビット線対Ｄ、Ｄ’と新たに接続されるデータ線を設けることも可能である。  
従って本実施の形態のメモリ制御装置１００は、アドレス信号を出力するＣＰＵが２つであるが、３つ以上であってもよい。例えばＣＰＵが３つあり、３種類のアドレス信号やデータを各セルブロック間で衝突を回避するようにして、同時書き込み、同時読み出しを行うようにしてもよい。
【００２０】
なおアービトレーション部１０は、アドレスデータのラッチを行うアドレスラッチ回路、アドレス比較のタイミングをとる同期回路、所定のデータ出力を遅延させる遅延回路、アドレスの指定を行うアドレスデコーダ回路 など不図示の構成を備えている。
【００２１】
セルブロック１乃至ｎにおいて、入力されるアドレス信号Ａ、Ｂによりアドレスが指定されることにより、そのアドレスにて対応するデータＡ、Ｂの書き込みまたは読み出しが行われる。
【００２２】
セルブロック１乃至ｎは、多数に分割するほど、各セルブロックへアクセスされるアドレス信号Ａ、Ｂの一致する確率は低くなる。このように多数のセルブロックに分割することによってセルブロック１乃至ｎに同時にデータを書き込むことと、同時にデータを読み出すことがより確実となる。
【００２３】
＜メモリセル部構成＞
図２には本発明の実施の形態にかかるセルブロック内におけるメモリセル部７００の回路図を示している。メモリセル部７００は、セル２０と、アドレス信号Ａまたはアドレス信号Ｂに応じて選択されるワード線ＷＬと、ワード線ＷＬに基づきオン、オフが制御されるＭＯＳトランジスタ２１、２２と、ＭＯＳトランジスタ２１、２２がオンすることにより、データＡまたはデータＢの書き込みまたは読み出しが行われるビット線Ｄおよびその反転となるビット線Ｄ’とを有している。この構造は、いわゆるシングルポートＲＡＭのセル構造であり、セルには例えばＳＲＡＭを用いることができる。
【００２４】
以上の構成により、メモリセル部７００は、アドレス信号Ａ、Ｂの両方の入力に対応しており、データＡ、Ｂのどちらに対しても書き込みおよび読み出しができる。
【００２５】
また、メモリセル部７００は、セルブロック１乃至ｎにおいて異なるセルブロック間で互いに独立してデータ処理を行うので、セルブロック全体でみると見かけ上デュアルポートＲＡＭと同様の動作を行うことができる。
【００２６】
＜アクセス制御部動作＞
本発明の実施の形態にかかるアービトレーション部１０の動作について図３のフローチャートを用いて説明する。
【００２７】
まず、アービトレーション部１０は、ＣＰＵ２００からアドレス信号Ａ、ＣＰＵ３００からアドレス信号Ｂが同時に入力されたかを判別する（Ｓ３０１）。アドレス信号Ａ、Ｂが同時に入力されていない場合（Ｓ３０１：ＮＯ）は、アドレス信号ＡまたはＢが入力されるタイミングに応じてアドレス信号Ａ、Ｂを対応するセルブロックに出力する。
【００２８】
アドレス信号Ａ、Ｂが同時に入力されている場合（Ｓ３０１：ＹＥＳ）、アービトレーション部１０は、これらのアドレス信号Ａ、Ｂがセルブロック１乃至ｎの中で異なるセルブロックをアクセスするための信号であるか否かを判別する（Ｓ３０２）。
【００２９】
アドレス信号Ａ、Ｂが異なるセルブロックをアクセスするための信号であると判別された場合（Ｓ３０２：ＹＥＳ）には、アービトレーション部１０は、対応するセルブロックにアドレス信号Ａ、Ｂをそれぞれ出力する（Ｓ３０３）。
【００３０】
一方、入力された２つアドレス信号Ａ、Ｂがセルブロック１乃至ｎの中で同一のセルブロックをアクセスするための信号であると判別された場合（Ｓ３０２：ＮＯ）には、アービトレーション部１０は、アドレス信号の内一方のみを対応するセルブロックに出力し、他方のアドレス信号の出力を待機させる（Ｓ３０４）。そして当該セルブロックで一方のアドレス信号によるデータの書き込みまたは読み出しの処理が終了したか否かの判別を行う（Ｓ３０５）。
【００３１】
なおデータの書き込みまたは読み出しの処理終了の判別の方法としては、書き込みまたは読み出しに要する時間をタイマーで計測し、所定の時間が経過した後、次のアドレス信号を出力してもよいし、またはＣＰＵ２００、ＣＰＵ３００からのアクセスが同一セルブロックをアクセスする場合に機能するフラグを用いて、フラグの変化を確認した後、次のアドレス信号を出力するようにしてもよい。
【００３２】
このようにして当該セルブロックにおいて一方のアドレス信号によるデータの書き込みまたは読み出しの処理が終了していると判別された場合（Ｓ３０５：ＹＥＳ）、アービトレーション部１０は、待機させていた他方のアドレス信号を当該セルブロックに出力する（Ｓ３０６）。
【００３３】
Ｓ３０５において当該セルブロックで一方のアドレス信号によるデータの書き込みまたは読み出しの処理が終了していないと判別された場合（Ｓ３０５：ＮＯ）には、他方のアドレス信号の出力を待機させておく。
【００３４】
＜メモリ制御部動作＞
次に、本発明の実施の形態にかかるメモリ制御部の動作について図４及び図５のタイムチャートを用いて説明する。図４は、ＣＰＵ２００及びＣＰＵ３００から出力されたアドレス信号Ａ、Ｂが、セルブロック１乃至ｎの中で異なるセルブロックをアクセスするための信号である場合の、メモリ制御部動作のタイムチャートの一例である。
【００３５】
まずＣＰＵ２００及びＣＰＵ３００から例えばセルブロック１とセルブロック２に対応するアドレス信号Ａ、Ｂが、アービトレーション部１０にそれぞれ入力される。入力されたアドレス信号Ａ（ＢＫ１）はセルブロック１に対応し、アドレス信号Ｂ（ＢＫ２）はセルブロック２に対応することとする。指定されるセルブロックが異なるので、アービトレーション部１０はこれらのアドレス信号Ａ、Ｂをそれぞれ対応するセルブロック１、２に対して出力する。セルブロック１及びセルブロック２ではこれらのアドレス信号Ａ、Ｂに基づき、対応するデータＡの書き込みまたは読み出し、データＢの書き込みまたは読み出しがそれぞれ行われる。これらの動作は各セルブロックごとで独立して行われるので、セルブロック１、２において、同時にデータが書き込まれたり、同時にデータが読み出されたり、一方にデータが書き込まれるとともに他方からデータが読み出されるというような処理を行うことができる。
【００３６】
図５はＣＰＵ２００及びＣＰＵ３００から出力されたアドレス信号Ａ、Ｂが、セルブロック１乃至ｎの中で同一のセルブロックをアクセスするための信号である場合のタイムチャートの一例である。ＣＰＵ２００及びＣＰＵ３００から例えばセルブロック１に対応するアドレス信号Ａ及びアドレス信号Ｂがアービトレーション部１０に入力される。入力されたアドレス信号Ａ、Ｂ（ＢＫ１）は、両方ともセルブロック１に対応こととする。指定されるセルブロックが同一なので、アービトレーション部１０は、これらアドレス信号Ａ、Ｂのうちの一つ、たとえばアドレス信号Ｂの出力を待機させ、アドレス信号Ａのみを対象となるセルブロック１に出力する。セルブロック１では、アドレス信号Ａに基づいてデータＡの書き込みまたは読み出しが行われる。
【００３７】
データＡの書き込みまたは読み出しが終了した後、アービトレーション部１０からアドレス信号Ｂが、セルブロック１に出力される。セルブロック１ではアドレス信号Ｂに基づいて、データＢの書き込みまたは読み出しが行われる。よって２つのアドレス信号が同一のセルブロック１をアクセスするための信号である場合には、アービトレーション部１０が一方のアドレス信号を出力し、そのデータ処理が終了するまで他方のアドレス信号の出力を待機させることで、セルブロック内でのアクセスの衝突を回避することができる。
【００３８】
以上説明したように、メモリ６００を複数のセルブロック１乃至ｎに分割することにより、セルブロックごとに書き込みおよび読み出しを行うことができ、外部装置から入力された複数のアドレス信号がセルブロック１乃至ｎの中で異なるセルブロックをアクセスするための信号である場合に複数のセルブロック間において、同時にデータが書き込まれたり、同時にデータが読み出されたり、一方にデータが書き込まれるとともに他方からデータが読み出されるというような処理を行うことができる。
【００３９】
一方、複数のアドレス信号が同一セルブロックをアクセスするための信号である場合、一方のアドレス信号の出力を待機させる事によりアクセスの衝突を回避することができる。また一方の書き込みまたは読み出しの処理が終了した後、他方のアドレス信号を同一セルブロックに出力することにより同一セルブロックにおいて複数のアドレスにおけるデータの書き込み及び読み出しができる。本実施の形態においては、アドレス信号Ａ、Ｂが同一セルブロックをアクセスする信号である場合、片方のアドレス信号出力を待機させたが、片方のアドレス信号出力を停止させることでアクセスの衝突の回避を行ってもよい。
【００４０】
さらに、メモリセル部がシングルポートＲＡＭの構成になっていることにより、ワード線やビット線対の数、および選択トランジスタの数を減少することができ、回路規模を小さくすることができる。特に集積回路化した場合チップ面積を小さくすることができる。
【００４１】
以上、本発明の実施の形態について、その実施の形態に基づき具体的に説明したが、これに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【００４２】
例えば、セルとしてＳＲＡＭを使用したが、ＤＲＡＭや不揮発性メモリを用いてもよい。またアドレスを指定する外部装置にＣＰＵを用いたが、ＣＰＵではなく他の機能デバイス、例えばＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）などによってアドレス指定するようにしてもよい。
【図面の簡単な説明】
【００４３】
【図１】本発明に係るメモリ制御装置の構成を説明するためのブロック図である。
【図２】本発明に係るメモリセル部の回路図である。
【図３】本発明に係るメモリ制御装置の動作を説明するためのフローチャートである。
【図４】本発明に係るメモリ制御装置が異なるセルブロックをアクセスする場合のタイムチャートを示す一例である。
【図５】本発明に係るメモリ制御装置が同一のセルブロックをアクセスする場合のタイムチャートを示す一例である。
【図６】従来のデュアルポートＲＡＭに対する書き込みおよび読み出し動作を説明するためのブロック図である。
【図７】従来のデュアルポートＲＡＭを構成する各メモリセル部の回路図である
【符号の説明】
【００４４】
１０    アービトレーション部
２０    セル
２１、２２    ＭＯＳトランジスタ
３０    セル
３１、３２、３３、３４    ＭＯＳトランジスタ
１００  メモリ制御装置
２００、３００  ＣＰＵ
４００  デュアルポートＲＡＭ
５００  メモリセル部
６００  メモリ
７００  メモリセル部
【図１】
2005149547.tif 000003
【図２】
2005149547.tif 000004
【図３】
2005149547.tif 000005
【図４】
2005149547.tif 000006
【図５】
2005149547.tif 000007
【図６】
2005149547.tif 000008
【図７】
2005149547.tif 000009