(57)【要約】【課題】行アドレスの変更が必要な連続した複数のデータを繰り返して読み出す場合であっても、短時間でそのデータを読出すことができるようにする。【解決手段】繰返リード制御部５の繰返リード回数レジスタに格納された回数およびリードアドレス領域レジスタに格納されたＳＤＲＡＭ２のアドレスに基づいてＳＤＲＡＭ２に格納された連続する複数のデータを繰り返して読み出すとき、１回目にＳＤＲＡＭ２から読み出した連続する複数のデータをプリチャージが不要なデータバッファ４に記憶させ、２回目以降に読み出すときはそのデータバッファ４から連続する複数のデータを読み出すようにした。【選択図】        図１
2010020500.tif 000002
【特許請求の範囲】
【請求項１】
行アドレスを変更してデータを読出すときプリチャージが必要になる同期型メモリからデータを読出すメモリ制御装置において、
連続する複数のデータが格納された同期型メモリのアドレスを記憶するリードアドレス領域レジスタおよび該データを繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えた繰返リード制御部と、
前記リードアドレス領域レジスタに記憶されたアドレスに基づいて同期型メモリから読み出した連続する複数のデータを記憶するプリチャージが不要な記憶部とを設け、
前記繰返リード回数レジスタに格納された回数に基づいて同期型メモリに格納された連続する複数のデータを繰り返して読み出すとき、前記記憶部に記憶された連続する複数のデータを読み出すようにしたことを特徴とするメモリ制御装置。
【請求項２】
行アドレスを変更してデータを読出すときプリチャージが必要になる同期型メモリからデータを読出すメモリ制御装置において、
連続する複数のデータが格納された同期型メモリのアドレスを記憶するリードアドレス領域レジスタおよび該データを繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えた繰返リード制御部と、
前記リードアドレス領域レジスタに記憶されたアドレスに基づいて同期型メモリから連続する複数のデータを読み出すとき、プリチャージにより同期型メモリから最小サイクルでデータを読み出すことができない間に出力する連続する複数のデータを１回目の読出し時に記憶しておくプリチャージが不要な記憶部とを設け、
前記繰返リード回数レジスタに格納された回数に基づいて同期型メモリに格納された連続する複数のデータを繰り返して読み出すとき、２回目以降の読出し時に同期型メモリから最小サイクルでデータを読み出すことができない間は前記記憶部から連続する複数のデータを読み出すようにしたことを特徴とするメモリ制御装置。
【請求項３】
請求項２のメモリ制御装置において、
前記２回目以降の読出し時に同期型メモリから最小サイクルでデータを読み出すことができない間に読み出したデータは、先に記憶したデータを先に読み出す先入れ先出し記憶部に記憶させるようにしたことを特徴とするメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の同期型メモリを制御するメモリ制御装置に関し、特に任意のアドレスから連続したデータを繰り返して読み出す場合における読出し時間を短縮するメモリ制御装置に関する。
【背景技術】
【０００２】
従来の技術は、図１０および図１１に示すようにＳＤＲＡＭ１０２から連続した複数のデータを繰り返して読み出す場合、メモリ制御装置としてのコントローラ１０３はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御部１０１から出力されたアドレス信号に従い、読み出すデータ数に対応する複数回のリードコマンドを発行してＳＤＲＡＭ１０２から連続した複数のデータを繰り返して読み出すようにしている。
【０００３】
このとき、図１１に示すように例えばコントローラ１０３がＳＤＲＡＭ１０２から３５番目のデータ（ＤＡＴＡ３５）を読み出した後、３６番目のデータ（ＤＡＴＡ３６）を読み出す際にＲＯＷアドレス等の行アドレスの変更が必要になる場合があり、このような場合、図１２から図１４に示すようにコントローラ１０３は３６番目のデータ（ＤＡＴＡ３６）を読み出すときにプリチャージ８１、アクト８２、リード８３の順にコマンドをＳＤＲＡＭ１０２へ発行する必要があり、さらに１番目のデータを再度繰り返して読み出すときにプリチャージ８４、アクト８５、リード８６の順にコマンドをＳＤＲＡＭ１０２へ発行する必要があるため、データの読出しに大幅な時間が必要になる。
【０００４】
また、データを読み出しているＳＤＲＡＭと別のＳＤＲＡＭをバックグラウンドでプリチャージコマンドを発行してリフレッシュすることにより、リフレッシュ時間を短縮するようにしているものがある（例えば、特許文献１参照）。
【特許文献１】特開平８−１２９８８１号公報（段落「００２２」〜段落「００２６」、図２）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、コントローラ１０３がＳＤＲＡＭ１０２から１番目〜ｎ番目のデータを読み出した後、ｎ＋１番目のデータを読み出す際にＲＯＷアドレス等の行アドレスの変更が必要になる場合、コントローラ１０３はｎ＋１番目のデータを読み出すときにプリチャージ、アクト、リードの順にコマンドをＳＤＲＡＭ１０２へ発行する必要があり、さらに１番目のデータを繰り返して読み出すときにプリチャージ、アクト、リードの順にコマンドをＳＤＲＡＭ１０２へ発行する必要があるため、データの読出しに大幅な時間が必要になるという問題がある。このように行アドレスの変更が必要な連続した複数のデータ（例えば、ｎ番目、ｎ＋１番目のデータを含むデータ群）をＳＤＲＡＭ１０２から繰り返して読み出す場合、そのデータ群を読み出す度にプリチャージ、アクト、リードの順にコマンドを発行する必要があり、多大な時間が必要になるという問題がある。
【０００６】
また、データを読み出しているＳＤＲＡＭと別のＳＤＲＡＭをバックグラウンドでプリチャージコマンドを発行してリフレッシュするようにしても複数のＳＤＲＡＭを設ける必要があるという問題がある。
本発明は、このような問題を解決することを課題とし、行アドレスの変更が必要な連続した複数のデータを繰り返して読み出す場合であっても、短時間でそのデータを読出すことができるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
そのため、本発明は、行アドレスを変更してデータを読出すときプリチャージが必要になる同期型メモリからデータを読出すメモリ制御装置において、連続する複数のデータが格納された同期型メモリのアドレスを記憶するリードアドレス領域レジスタおよび該データを繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えた繰返リード制御部と、前記リードアドレス領域レジスタに記憶されたアドレスに基づいて同期型メモリから読み出した連続する複数のデータを記憶するプリチャージが不要な記憶部とを設け、前記繰返リード回数レジスタに格納された回数に基づいて同期型メモリに格納された連続する複数のデータを繰り返して読み出すとき、前記記憶部に記憶された連続する複数のデータを読み出すようにしたことを特徴とする。
【０００８】
また、行アドレスを変更してデータを読出すときプリチャージが必要になる同期型メモリからデータを読出すメモリ制御装置において、連続する複数のデータが格納された同期型メモリのアドレスを記憶するリードアドレス領域レジスタおよび該データを繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えた繰返リード制御部と、前記リードアドレス領域レジスタに記憶されたアドレスに基づいて同期型メモリから連続する複数のデータを読み出すとき、プリチャージにより同期型メモリから最小サイクルでデータを読み出すことができない間に出力する連続する複数のデータを１回目の読出し時に記憶しておくプリチャージが不要な記憶部とを設け、前記繰返リード回数レジスタに格納された回数に基づいて同期型メモリに格納された連続する複数のデータを繰り返して読み出すとき、２回目以降の読出し時に同期型メモリから最小サイクルでデータを読み出すことができない間は前記記憶部から連続する複数のデータを読み出すようにしたことを特徴とする。
【発明の効果】
【０００９】
このようにした本発明は、行アドレスの変更が必要な連続した複数のデータを繰り返して読み出す場合であっても、２回目以降の読み出し動作において、繰り返してデータを読み出す度にＳＤＲＡＭ（同期型メモリ）に対してプリチャージ、アクト、リードの順にコマンドを発行する必要がなくなり、データ群を繰り返して読出す時間を短縮することができるという効果が得られる。
【００１０】
また、２回目以降の読み出し動作において、行アドレスを変更してデータを読み出す必要がある場合であってもＳＤＲＡＭ（同期型メモリ）に対してプリチャージ、アクト、リードの順にコマンドを発行する動作と並行してデータバッファ（記憶部）に記憶したデータを読み出すことができ、データ群を繰り返して読出す時間を短縮することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明によるメモリ制御装置の実施例を説明する。
【実施例１】
【００１２】
図１は第１の実施例におけるメモリ制御装置の構成を示すブロック図である。
図１において、１は制御部であり、ＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等で構成され、図示しない記憶部に記憶された制御プログラム（ソフトウェア）に基づいてメモリ制御装置へ動作指示を出力し、またメモリ制御装置から入力したデータを記憶部に格納等するものである。
【００１３】
２は同期型メモリとしてのＳＤＲＡＭ（例えば、ＳＤＲ−ＳＤＲＡＭ）であり、所定のビット幅（本実施例では６４ビット）のデータを記憶するものである。
３はＳＤＲＡＭ２からデータを読み出すデータ読出し手段としてのコントローラであり、ＳＤＲＡＭ２へ出力するＲＯＷアドレスやＣＯＬＵＭＮアドレス等のアドレス信号、所定のビット幅のデータ信号、ならびにリード／ライト・プリチャージ等の動作を指示するコマンド等の出力信号、およびＳＤＲＡＭ２から入力するデータ信号等の入力信号を制御してＳＤＲＡＭ２からデータの読出しやＳＤＲＡＭ２へデータの書き込みを行うものである。
【００１４】
４はデータバッファであり、例えばプリチャージが不要なスタティックＲＡＭ等の記憶部である。このデータバッファ４はＳＤＲＡＭ２から読み出したデータを一時的に記憶するものであり、ＳＤＲＡＭ２から繰り返して読み出す連続した複数のデータ（以下、「データ群」という。）のデータ数に相当するデータ容量を備えている。
５は繰返リード制御部であり、ＳＤＲＡＭ２に記憶されたデータ群を繰り返して読み出すためにコントローラ３およびデータバッファ４等へアドレス信号やライトイネーブル信号等の信号を出力等する制御を行うものである。
【００１５】
この繰返リード制御部５は、繰り返して読み出すＳＤＲＡＭ２に記憶されたデータ群を指定するための情報を記憶するリードアドレス領域レジスタ、例えばデータ群の先頭アドレスおよび末尾アドレス、データ群の先頭アドレスおよびデータ数等を記憶するレジスタであり、またそのデータ群を繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えている。
【００１６】
このリードアドレス領域レジスタおよび繰返リード回数レジスタは、制御部１からのレジスタライト制御信号等により書き込むことができるようになっている。
繰返リード制御部５は、リードアドレス領域レジスタに記憶された情報に基づいてＳＤＲＡＭ２へデータを読み出すアドレスを指定するためのアドレス信号を出力し、またデータバッファ４へデータを書き込むアドレスやデータバッファ４からデータを読み出すアドレスを指定するためのアドレス信号やＳＤＲＡＭ２から読み出したデータを記憶させるためのライトイネーブル信号を出力する。
【００１７】
また、繰返リード制御部５は、コントローラ３を介してＳＤＲＡＭ２から読み出したデータを制御部１へ出力するかデータバッファ４から読み出したデータを制御部１へ出力するかを選択するためのセレクト信号を後述するデータセレクタへ出力する。
６はデータセレクタであり、繰返リード制御部５から出力されたセレクト信号を入力し、そのセレクト信号にしたがってコントローラ３を介してＳＤＲＡＭ２から出力されるデータを選択し、またデータバッファ４から出力されるデータを選択して選択したデータを制御部１へ出力する。
【００１８】
このようにメモリ制御装置７は、コントローラ３、データバッファ４、繰返リード制御部５、およびデータセレクタ６で構成され、制御部１から出力されたレジスタライト信号により繰返リード制御部５のリードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、１回目にＳＤＲＡＭ２に記憶されたデータ群を読み出すとき、そのデータ群を制御部１へ通知するとともにデータバッファ４に記憶させ、そのデータ群を繰り返して読み出す２回目以降の読み出しではデータバッファ４から読み出したデータ群を制御部１へ通知する。
【００１９】
上述した構成の作用を図２の第１の実施例におけるＳＤＲＡＭのメモリマップの説明図、図３〜図５の第１の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャートに基づいて説明する。
まず、図２に示すように制御部１のアドレス空間として連続したアドレスＡＤＲ１からアドレスＡＤＲ３６に記憶された３６個のデータＤＡＴＡ１からデータＤＡＴＡ３６のデータ群をＳＤＲＡＭ２から読み出すものとし、またアドレスＡＤＲ３５とアドレスＡＤＲ３６との間はＲＯＷアドレス等の行アドレスの境界となっているものとする。
【００２０】
制御部１は、繰返リード制御部５へレジスタライト信号を出力してリードアドレス領域レジスタに繰り返して読み出すＳＤＲＡＭ２に記憶されたデータ群を指定するための情報として先頭アドレスＡＤＲ１ならびに末尾アドレスＡＤＲ３６を設定し、また繰返リード回数レジスタにそのデータ群を繰り返して読み出す回数を設定する。
繰返リード制御部５は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、１回目にＳＤＲＡＭ２に記憶されたデータ群を読み出すとき、そのデータ群を制御部１へ通知するとともにデータバッファ４に記憶させ、そのデータ群を繰り返して読み出す２回目以降の読み出しではデータバッファ４から読み出したデータ群を制御部１へ通知する。
【００２１】
その動作を図３〜図５のタイミングチャートに基づいて説明する。
繰返リード制御部５は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、ＳＤＲＡＭ２に記憶されたデータ群を読み出すためにコントローラ３へ先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３６までのアドレス信号およびリード要求信号を出力する。
【００２２】
コントローラ３は、繰返リード制御部５から出力されたアドレス信号およびリード要求信号を入力するとＳＤＲＡＭ２へアクトコマンド（図３に示すクロック：Ｓ２）を出力し、その後順次アドレスＡＤＲ１からアドレスＡＤＲ３５までのアドレス信号とともにリードコマンド（図３に示すクロック：Ｓ６〜Ｓ４０）を出力する。
ＳＤＲＡＭ２は、コントローラ３からの信号を入力するとデータＤＡＴＡ１からデータＤＡＴＡ３５を出力する（図３に示すクロック：Ｓ１０〜Ｓ４４）。
【００２３】
このとき、繰返リード制御部５は、データバッファ４へライトイネーブル信号を出力（図３に示すクロック：Ｓ１０〜Ｓ４４）するとともにデータセレクタ６へＳＤＲＡＭ２から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
次に、コントローラ３は、行アドレスを変更するため、ＳＤＲＡＭ２へプリチャージコマンド（図４に示すクロック：Ｓ４９）、アクトコマンド（図４に示すクロック：Ｓ５３）を出力し、その後アドレスＡＤＲ３６のアドレス信号とともにリードコマンド（図４に示すクロック：Ｓ５７）を出力する。
【００２４】
ＳＤＲＡＭ２は、コントローラ３からの信号を入力するとデータＤＡＴＡ３６を出力する（図４に示すクロック：Ｓ６１）。
このとき、繰返リード制御部５は、データバッファ４へライトイネーブル信号を出力（図４に示すクロック：Ｓ６１）するとともにデータセレクタ６へＳＤＲＡＭ２から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
【００２５】
このようにして、ＳＤＲＡＭ２から出力されたデータＤＡＴＡ１からデータＤＡＴＡ３６までのデータ群はデータバッファ４に記憶されるとともに制御部１へ出力し、１回目のデータ群の読み出しを終了する。
次に、繰返リード制御部５は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従って２回目のデータ群の読み出しを開始し、データバッファ４に記憶されたデータ群を読み出すためにデータバッファ４へ先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３６までのアドレス信号およびリード要求信号を出力（図４に示すクロック：Ｓ６１〜Ｓ７２，図５に示すＳ７３〜Ｓ９６）する。なお、先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３６までのアドレス信号は、データバッファ４のアドレスを示す信号であり、例えば“１”から“３６”までのアドレス信号等であり、ＳＤＲＡＭ２へ出力するアドレス信号と異なるものであってもよい。
【００２６】
このとき、繰返リード制御部５は、データセレクタ６へデータバッファ４から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
このようにして、データバッファ４から出力されたデータＤＡＴＡ１からデータＤＡＴＡ３６までのデータ群を制御部１へ出力し、２回目のデータ群の読み出しを終了する。
以降、繰返リード制御部５は、リード回数レジスタに設定された情報に従いクロックＳ６１〜Ｓ９６の動作を繰返リードアドレス領域レジスタに設定された領域のデータ群を繰り返して読み出してそのデータ群を制御部１へ通知する。
【００２７】
このようにデータ群の２回目以降の読み出しをデータバッファ４から行うようにしたことにより、２回目以降の読み出し動作において、繰り返してデータを読み出す度にＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する必要がなくなり、データ群を繰り返して読出す時間を短縮することができる。
なお、本実施例では、ＳＤＲＡＭ２はＳＤＲ−ＳＤＲＡＭとして説明したが、ＤＤＲ−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭ等であってもよい。
【００２８】
以上説明したように、第１の実施例では、データ群の２回目以降の読み出しをデータバッファ４から行うようにしたことにより、２回目以降の読み出し動作において、繰り返してデータを読み出す度にＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する必要がなくなり、データ群を繰り返して読出す時間を短縮することができるという効果が得られる。
【実施例２】
【００２９】
第２の実施例の構成は、第１の実施例の構成にＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ  Ｆｉｒｓｔ−Ｏｕｔ）を付加したものである。
その第２の実施例の構成を図６の第２の実施例におけるメモリ制御装置の構成を示すブロック図に基づいて説明する。なお、上述した第１の実施例と同様の部分は、同一の符号を付してその説明を省略する。
【００３０】
図６において、８はデータバッファであり、コントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを発行している間、すなわちＳＤＲＡＭ２から最小のサイクルでデータを読み出すことができない間に制御部１へ出力するためのデータを予めＳＤＲＡＭ２から読み出して一時的に記憶しておくもの、例えばプリチャージが不要なスタティックＲＡＭ等の記憶部である。なお、本実施例では、データバッファ８からのデータの読み出しに１サイクルが必要なものとする。
【００３１】
このデータバッファ８は、ＳＤＲＡＭ２のＲＯＷアドレス等の行アドレスの変更が必要になる場合、コントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを発行するために必要なサイクル数ｎの２倍に相当するデータ容量（２ｎデータ分）を少なくとも備えている。
これは、ＳＤＲＡＭ２からデータを読み出す場合、コントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを２巡して発行する場合があり、その間はＳＤＲＡＭ２から最小サイクルでデータを読み出すことができないため、そのＳＤＲＡＭ２から最小サイクルでデータを読み出すことができない間はデータバッファ８に記憶しておいたデータを出力できるようにデータ容量を少なくとも２ｎとしている。
【００３２】
例えば、図１１に示すように制御部１のアドレス空間として連続したアドレスＡＤＲ１からアドレスＡＤＲ３６に記憶された３６個のデータＤＡＴＡ１からデータＤＡＴＡ３６のデータ群をＳＤＲＡＭ２から読み出すものとし、またアドレスＡＤＲ３５とアドレスＡＤＲ３６との間はＲＯＷアドレス等の行アドレスの境界となっている場合、図１３および図１４に示すようにコントローラ３は３６番目のデータ（ＤＡＴＡ３６）を読み出すときにプリチャージ８１、アクト８２、リード８３の順にコマンドをＳＤＲＡＭ２へ発行する必要があり、その直後に１番目のデータ（ＤＡＴＡ１）を再度繰り返して読み出すとき、プリチャージ８４、アクト８５、リード８６の順にコマンドをＳＤＲＡＭ２へ発行する必要がある。このような場合、コントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを２巡して発行する必要があるからである。
【００３３】
なお、本実施例では、１回のプリチャージ、アクト、リードのコマンドの発行に１７サイクルを必要とするとものとし、データバッファ８の容量は、その２回分のサイクル数である３４データ分として説明する。
９はＦＩＦＯであり、例えばプリチャージが不要なスタティックＲＡＭ等の記憶部である。このＦＩＦＯ９は先に格納したデータを先に読み出す先入れ先出し方式のメモリ（先入れ先出し記憶部）である。本実施例ではＦＩＦＯ９からのデータの読み出しに１サイクルが必要なものとする。
【００３４】
このＦＩＦＯ９の容量は少なくともデータバッファ８と同じデータ容量（少なくとも２ｎデータ分）とする。その理由は、データバッファ８に記憶されたすべてのデータを読み出す間（２ｎサイクル）にＳＤＲＡＭ２から読み出したデータ（少なくとも２ｎデータ分）を蓄積して格納するためである。本実施例では、データバッファ８と同じ３４データを記憶する容量を有するものとする。
【００３５】
１０は繰返リード制御部であり、ＳＤＲＡＭ２に記憶されたデータ群を繰り返して読み出すためにコントローラ３、データバッファ８、およびＦＩＦＯ９等へアドレス信号やライトイネーブル信号、リードイネーブル信号等の信号を出力等する制御を行うものである。
この繰返リード制御部１０は、繰り返して読み出すＳＤＲＡＭ２に記憶されたデータ群を指定するための情報を記憶するリードアドレス領域レジスタ、例えばデータ群の先頭アドレスおよび末尾アドレス、データ群の先頭アドレスおよびデータ数等を記憶するレジスタであり、またそのデータ群を繰り返して読み出す回数を記憶する繰返リード回数レジスタを備えている。
【００３６】
このリードアドレス領域レジスタおよび繰返リード回数レジスタは、制御部１からのレジスタライト制御信号等により書き込むことができるようになっている。
繰返リード制御部１０は、リードアドレス領域レジスタに記憶された情報に基づいてＳＤＲＡＭ２へデータを読み出すアドレスを指定するためのアドレス信号を出力し、またデータバッファ８へデータを書き込むアドレスやデータバッファ８からデータを読み出すアドレスを指定するためのアドレス信号およびＳＤＲＡＭ２から読み出したデータを記憶させるためのライトイネーブル信号を出力する。
【００３７】
さらに、繰返リード制御部５は、ＦＩＦＯ９へＳＤＲＡＭ２から読み出したデータをＦＩＦＯ９に記憶させるためのライトイネーブル信号やＦＩＦＯ９から記憶したデータを読み出すためのリードイネーブル信号を出力する。
また、繰返リード制御部５は、コントローラ３を介してＳＤＲＡＭ２からデータを読み出すこと、データバッファ８からデータを読み出すこと、またはＦＩＦＯ９からデータを読み出すことを選択するためのセレクト信号を後述するデータセレクタへ出力する。
【００３８】
１１はデータセレクタであり、繰返リード制御部１０から出力されたセレクト信号を入力し、そのセレクト信号にしたがってコントローラ３を介してＳＤＲＡＭ２から出力されるデータを選択し、データバッファ８から出力されるデータを選択し、またはＦＩＦＯ９から出力されるデータを選択して選択したデータを制御部１へ出力する。
このようにメモリ制御装置７は、コントローラ３、データバッファ８、繰返リード制御部１０、およびデータセレクタ１１で構成され、制御部１から出力されたレジスタライト信号により繰返リード制御部１０のリードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、１回目にＳＤＲＡＭ２に記憶されたデータ群を読み出すとき、そのデータ群を制御部１へ通知するとともにデータバッファ８に記憶させ、そのデータ群を繰り返して読み出す２回目以降の読み出しではデータバッファ８から読み出したデータ群を制御部１へ通知するとともにデータバッファ８からデータ群を読み出している動作に並行してＳＤＲＡＭ２から読み出したデータをＦＩＦＯ９に格納し、そのＦＩＦＯ９に格納したデータを順次制御部１へ通知する。
【００３９】
上述した構成の作用を図７〜図９の第２の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャートに基づいて説明する。
まず、本実施例においても図２に示すように制御部１のアドレス空間として連続したアドレスＡＤＲ１からアドレスＡＤＲ３６に記憶された３６個のデータＤＡＴＡ１からデータＤＡＴＡ３６のデータ群をＳＤＲＡＭ２から読み出すものとし、またアドレスＡＤＲ３５とアドレスＡＤＲ３６との間はＲＯＷアドレス等の行アドレスの境界となっているものとする。
【００４０】
制御部１は、繰返リード制御部１０へレジスタライト信号を出力してリードアドレス領域レジスタに繰り返して読み出すＳＤＲＡＭ２に記憶されたデータ群を指定するための情報として先頭アドレスＡＤＲ１ならびに末尾アドレスＡＤＲ３６を設定し、また繰返リード回数レジスタにそのデータ群を繰り返して読み出す回数を設定する。
繰返リード制御部１０は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、１回目にＳＤＲＡＭ２に記憶されたデータ群を読み出すとき、そのデータ群を制御部１へ通知するとともにデータバッファ８に記憶させ、そのデータ群を繰り返して読み出す２回目以降の読み出しではデータバッファ８から読み出したデータ群を制御部１へ通知するとともにデータバッファ８からデータ群を読み出している動作に並行してＳＤＲＡＭ２から読み出したデータをＦＩＦＯ９に格納し、データバッファ８からデータ群の読み出しが終了した後、そのＦＩＦＯ９に格納したデータを順次制御部１へ通知する。
【００４１】
その動作を図７〜図９のタイミングチャートに基づいて説明する。
繰返リード制御部１０は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従い、ＳＤＲＡＭ２に記憶されたデータ群を読み出すためにコントローラ３へ先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３６までのアドレス信号およびリード要求信号を出力する。
【００４２】
コントローラ３は、繰返リード制御部１０から出力されたアドレス信号およびリード要求信号を入力するとＳＤＲＡＭ２へアクトコマンド（図７に示すクロック：Ｓ２）を出力し、その後順次アドレスＡＤＲ１からアドレスＡＤＲ３５までのアドレス信号とともにリードコマンド（図７に示すクロック：Ｓ６〜Ｓ４０）を出力する。
ＳＤＲＡＭ２は、コントローラ３からの信号を入力するとデータＤＡＴＡ１からデータＤＡＴＡ３５を、プリチャージを必要としない最小のサイクルで出力する（図７に示すクロック：Ｓ１０〜Ｓ４４）。
【００４３】
このとき、繰返リード制御部１０は、データＤＡＴＡ１からデータＤＡＴＡ３４までをデータバッファ８に記憶させるためデータバッファ８へライトイネーブル信号を出力（図７に示すクロック：Ｓ１０〜Ｓ４３）するとともにデータセレクタ１１へＳＤＲＡＭ２から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
次に、コントローラ３は、行アドレスを変更するため、ＳＤＲＡＭ２へプリチャージコマンド（図８に示すクロック：Ｓ４９）、アクトコマンド（図８に示すクロック：Ｓ５３）を出力し、その後アドレスＡＤＲ３６のアドレス信号とともにリードコマンド（図８に示すクロック：Ｓ５７）を出力する。このとき、繰返リード制御部１０は、データセレクタ１１へＳＤＲＡＭ２から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
【００４４】
ＳＤＲＡＭ２は、コントローラ３からの信号を入力するとデータＤＡＴＡ３６を出力する（図８に示すクロック：Ｓ６１）。
このようにして、ＳＤＲＡＭ２から出力されたデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群はデータバッファ８に記憶されるとともに制御部１へ出力され、またデータＤＡＴＡ３５およびデータＤＡＴＡ３６は制御部１へ出力されて１回目のデータ群の読み出しを終了する。
【００４５】
次に、繰返リード制御部１０は、リードアドレス領域レジスタおよび繰返リード回数レジスタに設定された情報に従って２回目のデータ群の読み出しを開始し、データバッファ８に記憶されたデータ群を読み出すためにデータバッファ８へ先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３４までのアドレス信号およびリード要求信号を出力（図８に示すクロック：Ｓ６１〜Ｓ７３，図９に示すＳ７４〜Ｓ９４）する。なお、先頭アドレスＡＤＲ１から末尾アドレスＡＤＲ３４までのアドレス信号は、データバッファ８のアドレスを示す信号であり、例えば“１”から“３４”までのアドレス信号等であり、ＳＤＲＡＭ２へ出力するアドレス信号と異なるものであってもよい。
【００４６】
このとき、繰返リード制御部１０は、データセレクタ１１へデータバッファ８から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
このようにして、データバッファ８から出力されたデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群を制御部１へ出力する。
一方、データバッファ８からデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群を制御部１へ出力する動作に並行してコントローラ３は、行アドレスを変更するため、ＳＤＲＡＭ２へプリチャージコマンド（図８に示すクロック：Ｓ６６）、アクトコマンド（図８に示すクロック：Ｓ７０）を出力し、その後アドレスＡＤＲ３５のアドレス信号とともにリードコマンド（図９に示すクロック：Ｓ７４）を出力する。このとき、繰返リード制御部１０は、ＦＩＦＯ９にライトイネーブル信号（図９に示すクロック：Ｓ７８）を出力し、ＳＤＲＡＭ２から読み出したデータＤＡＴＡ３５をＦＩＦＯ９に書き込む。
【００４７】
その後、コントローラ３は、行アドレスを変更するため、ＳＤＲＡＭ２へプリチャージコマンド（図９に示すクロック：Ｓ８３）、アクトコマンド（図９に示すクロック：Ｓ８７）を出力し、その後アドレスＡＤＲ３６のアドレス信号とともにリードコマンド（図９に示すクロック：Ｓ９１）を出力する。このとき、繰返リード制御部１０は、ＦＩＦＯ９にライトイネーブル信号（図９に示すクロック：Ｓ９５）を出力し、ＳＤＲＡＭ２から読み出したデータＤＡＴＡ３６をＦＩＦＯ９に書き込む。
【００４８】
このようにデータバッファ８からデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群を制御部１へ出力する動作に並行してコントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを発行する必要があるデータＤＡＴＡ３５およびデータＤＡＴＡ３６を読出し、ＦＩＦＯ９に格納する。すなわち、コントローラ３がＳＤＲＡＭ２へプリチャージ、アクト、リードの順にコマンドを発行する必要があり、ＳＤＲＡＭ２から最小サイクルでデータを読み出すことができない間はデータバッファ８に記憶してあるデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群をデータバッファ８から読み出して制御部１へ出力する。
【００４９】
繰返リード制御部１０は、データバッファ８から読み出したデータＤＡＴＡ１からデータＤＡＴＡ３４までのデータ群を制御部１へ出力すると、ＦＩＦＯ９へリードイネーブル信号（図９に示すクロック：Ｓ９５、Ｓ９６）を出力し、ＦＩＦＯ９に格納されたデータを先入れ先出し方式、すなわちデータＤＡＴＡ３５、データＤＡＴＡ３６の順に読み出す（図９に示すクロック：Ｓ９６、Ｓ９７）。
【００５０】
このとき、繰返リード制御部１０は、データセレクタ１１へＦＩＦＯ９から読み出したデータを制御部１へ通知することを指示するセレクト信号を出力する。
このようにして、ＦＩＦＯ９から出力されたデータＤＡＴＡ３５およびデータＤＡＴＡ３６を制御部１へ出力する。
以降、繰返リード制御部１０は、繰返リード回数レジスタに設定された情報にしたがってクロックＳ６１〜Ｓ９６の動作を繰り返し、リードアドレス領域レジスタに設定された領域のデータ群を繰り返して読み出してそのデータ群を制御部１へ通知する。
【００５１】
このようにデータ群の２回目以降の読み出しをデータバッファ８およびＦＩＦＯ９から行うようにしたことにより、２回目以降の読み出し動作において、行アドレスを変更してデータを読み出す必要がある場合であってもＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する動作と並行してデータバッファ８に記憶したデータを読み出すことができ、データ群を繰り返して読出す時間を短縮することができる。
【００５２】
また、ＦＩＦＯ９を設けたことによりデータバッファ８の容量は、ＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する動作に並行して読み出すデータの容量となるため、その容量を削減することができる。
なお、本実施例では、ＳＤＲＡＭ２はＳＤＲ−ＳＤＲＡＭとして説明したが、ＤＤＲ−ＳＤＲＡＭやＤＤＲ２−ＳＤＲＡＭ等であってもよい。
【００５３】
以上説明したように、第２の実施例では、データ群の２回目以降の読み出しをデータバッファ８およびＦＩＦＯ９から行うようにしたことにより、２回目以降の読み出し動作において、行アドレスを変更してデータを読み出す必要がある場合であってもＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する動作と並行してデータバッファ８に記憶したデータを読み出すことができ、データ群を繰り返して読出す時間を短縮することができるという効果が得られる。
【００５４】
また、ＦＩＦＯ９を設けたことによりデータバッファ８の容量は、ＳＤＲＡＭ２に対してプリチャージ、アクト、リードの順にコマンドを発行する動作に並行して読み出すデータの容量となるため、その容量を削減することができるという効果が得られる。
【図面の簡単な説明】
【００５５】
【図１】第１の実施例におけるメモリ制御装置の構成を示すブロック図
【図２】第１の実施例におけるＳＤＲＡＭのメモリマップの説明図
【図３】第１の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図４】第１の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図５】第１の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図６】第２の実施例におけるメモリ制御装置の構成を示すブロック図
【図７】第２の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図８】第２の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図９】第２の実施例におけるＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図１０】従来のメモリ制御装置の構成を示すブロック図
【図１１】従来のＳＤＲＡＭのメモリマップの説明図
【図１２】従来のＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図１３】従来のＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【図１４】従来のＳＤＲＡＭからデータを読み出す動作のタイミングチャート
【符号の説明】
【００５６】
１    制御部
２    ＳＤＲＡＭ
３    コントローラ
４、８  データバッファ
５、１０  繰返リード制御部
６、１１  データセレクタ
７    メモリ制御装置
９    ＦＩＦＯ
【図１】
2010020500.tif 000003
【図２】
2010020500.tif 000004
【図３】
2010020500.tif 000005
【図４】
2010020500.tif 000006
【図５】
2010020500.tif 000007
【図６】
2010020500.tif 000008
【図７】
2010020500.tif 000009
【図８】
2010020500.tif 000010
【図９】
2010020500.tif 000011
【図１０】
2010020500.tif 000012
【図１１】
2010020500.tif 000013
【図１２】
2010020500.tif 000014
【図１３】
2010020500.tif 000015
【図１４】
2010020500.tif 000016