(57)【要約】【課題】同じバンクの同じ行に対する連続アクセスが発生した場合の、ＳＤＲＡＭに対するアクセスに要するクロックサイクルを削減して、効率の良いメモリアクセスをなし得ること。【解決手段】ＳＤＲＡＭアクセス制御部１０は、連続アクセスモード時、同一行への最初のアクセス要求のときにＳＤＲＡＭ３００の行活性化を行い、その後最終列検出信号１６がアサートされるまでは、アクセス要求がある度に、アクセスされる行の非活性化を行うことなくリードコマンドまたはライトコマンドをＳＤＲＡＭ３００に出力し、最終列検出信号１６がアサートされると、アクセスされていた行の非活性化を行う。【選択図】　　　　図１
2004013618.tif 000002
【特許請求の範囲】
【請求項１】
同一行の連続した列に対して連続的にアクセスする連続アクセスモードによるアクセスを、記憶領域が複数のバンクに分割された同期型半導体記憶装置に対して実行する同期型半導体記憶装置のアクセス制御装置において、
前記連続アクセスモード時、前記同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出し、最終列検出信号を出力する最終列検出回路を各バンクに対応して各別に設けるとともに、
前記アドレス信号に基づいて前記複数の最終列検出回路からの最終列検出信号を択一選択する選択回路と、
前記連続アクセスモード時、同一行への最初のアクセス要求のときに同期型半導体記憶装置の行活性化を行い、その後前記選択回路から最終列検出信号がアサートされるまでは、アクセス要求がある度に、アクセスされる行の非活性化を行うことなくリードコマンドまたはライトコマンドを前記同期型半導体記憶装置に出力し、前記選択回路からの最終列検出信号がアサートされると、前記アクセスされていた行の非活性化を行うアクセス制御部と、
を備えることを特徴とする同期型半導体記憶装置のアクセス制御装置。
【請求項２】
前記最終列検出回路は、前記同期型半導体記憶装置に入力されるアドレス信号に基づいて同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出することを特徴とする請求項１に記載の同期型半導体記憶装置のアクセス制御装置。
【請求項３】
前記最終列検出回路は、アクセス要求の計数値と所定の設定値との比較に基づいて前記同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出することを特徴とする請求項１に記載の同期型半導体記憶装置のアクセス制御装置。
【請求項４】
アクセスモード信号が設定されるアクセスモードレジスタを各バンクに対応して各別に設け、
前記選択回路は、前記アドレス信号に基づいて前記複数のアクセスモードレジスタからのアクセスモード信号を択一選択して前記アクセス制御部に入力し、
前記アクセス制御部は前記選択回路からのアクセスモード信号に基づき今回のアクセスが連続アクセスモードであることを判断することを特徴とする請求項１〜３の何れか一つに記載の同期型半導体記憶装置のアクセス制御装置。
【請求項５】
前記アクセス制御部には、バスマスタからのアクセスモード信号が直接入力され、
アクセス制御部は前記バスマスタからのアクセスモード信号に基づき今回のアクセスが連続アクセスモードであることを判断することを特徴とする請求項１〜３の何れか一つに記載の同期型半導体記憶装置のアクセス制御装置。
【請求項６】
前記同期型半導体記憶装置へのアドレス信号の次アドレスを演算する次アドレス演算部と、
前記最終列検出信号がアサートされた後の所定の期間以外は前記同期型半導体記憶装置へのアドレス信号を選択し、前記最終列検出信号がアサートされた後の所定の期間のときは前記次アドレス演算部からの次アドレスを選択するアドレス選択回路と、
を更に備え、
前記アクセス制御部は、
前記連続アクセスモード時、前記選択回路からの最終列検出信号がアサートされると、前記アクセスされていた行の非活性化を行い、その後直ちに、前記アドレス選択回路から入力される前記次アドレス演算部からの次アドレスが示す行の活性化を行うことを特徴とする請求項１〜５の何れか一つに記載の同期型半導体記憶装置のアクセス制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、同期型半導体記憶装置（ＳＤＲＡＭ）のアクセス制御装置に関するものである。
【０００２】
【従来の技術】
近年のマイクロプロセッサの動作速度の向上に伴い、主記憶装置として用いられるダイナミックランダムアクセスメモリ等の高速アクセスを実現するために、クロック信号に同期して動作する同期型ＤＲＡＭ（シンクロナスＤＲＡＭ：以下、ＳＤＲＡＭと称す）が用いられている。このような、ＳＤＲＡＭの内部動作の制御は、ロウ（行）系動作およびコラム（列）系動作に分割して制御される。
【０００３】
また、ＳＤＲＡＭにおいては、一層の高速動作を可能とするために、メモリセルアレイを互いに独立動作が可能なバンクに分割したバンク構成が用いられている。
【０００４】
図１２は、従来のＳＤＲＡＭ制御モジュール（以下、ＳＤＲＡＭＣ）９０を含むＬＳＩ３を示している。ＳＤＲＡＭＣ９０はＳＤＲＡＭアクセス制御部１を有しており、ＳＤＲＡＭアクセス制御部１は、入力されるＳＤＲＡＭアクセス要求信号２１およびアドレス信号２２に基づきＲＡＳ，ＣＡＳ，ＷＥ，ＣＳなどのＳＤＲＡＭ制御信号２３およびアドレス信号２４（バンクアドレス、アドレス）を形成し、これらを所定のタイミングでＳＤＲＡＭ３００に入力することで、ＳＤＲＡＭ３００に対しデータ信号２５を書き込むと共に、ＳＤＲＡＭ３００からデータ信号２５を読み出す。
【０００５】
次に動作について説明する。ＳＤＲＡＭからの読み出し動作を例にとって説明する。ＳＤＲＡＭＣ９０に他のモジュール（図示しない）からＳＤＲＡＭアクセス要求信号２１とアドレス信号２２が入力されると、ＳＤＲＡＭアクセス制御部１はＳＤＲＡＭ３００に対して行活性化コマンド、次いでリードコマンド、最後にバンク非活性化コマンド（プリチャージコマンド）を発行する。これらのコマンドは、ＲＡＳ，ＣＡＳ，ＷＥ，ＣＳなどのＳＤＲＡＭ制御信号２３の“Ｈ”，“Ｌ”の組み合わせで定義される。アドレス信号２２はＳＤＲＡＭアクセス制御部１でＳＤＲＡＭ３００に適した形に加工されて（マルチプレクスされて）、行アドレス、列アドレスの順にアドレス信号線２４を通してＳＤＲＡＭ３００に与えられる。ＳＤＲＡＭ３００はリードコマンドが発行されてから、ＣＡＳレイテンシ分の時間経過後、データバスにデータ信号２５を出力する。ＳＤＲＡＭ３００から出力されたデータをＬＳＩ３内のモジュール（図示しない）が読み込む。
【０００６】
図１３を用いてさらに詳細に説明する。ここでは、ＳＤＲＡＭ３００の同じバンクの同じ行に２回のリードアクセスが行われるとする。ＳＤＲＡＭ３００のバースト転送時のバースト長は１で、このバースト長はＳＤＲＡＭアクセスが行われる以前に設定されているものとする。
【０００７】
クロックサイクル“１”でＳＤＲＡＭアクセス要求信号２１がアサートされる。これを受けてＳＤＲＡＭアクセス制御部１はＳＤＲＡＭ行活性化コマンドＡＣを発行する。次いで、クロックサイクル“３”でリードコマンドＲＤを発行する。ここでは、ＲＡＳ−ＣＡＳレイテンシに２クロックサイクル必要であるとする。したがって、行活性化コマンドＡＣの発行からリードコマンドＲＤの発行まで２クロックサイクル必要であるから、行活性化コマンドＡＣとリードコマンドＲＤの間にディセレクトコマンドＤＳを挿入している（クロックサイクル“２”）。
【０００８】
最後に、指定されたバンクを非活性にするバンク非活性化コマンド（プリチャージコマンド）ＰＲを発行する。ここでは行活性化コマンドＡＣからバンク非活性化コマンドＰＲまで５クロックサイクル必要であるとする。このため非活性化コマンドＰＲの発行はクロックサイクル“６”となる。またここでは、ＣＡＳレイテンシに２クロックサイクル必要であるとする。このため、リードコマンドＲＤを発行（クロックサイクル“３”）してから２クロック後にデータ信号２５がデータバスに出力される（クロックサイクル“５”）。
【０００９】
ＳＤＲＡＭアクセス要求信号２１は、ＳＤＲＡＭのデータ出力の次のクロックサイクルでアサートされるものとする。よって、２回目のＳＤＲＡＭアクセス要求信号２１はクロックサイクル“６”でアサートされる。このＳＤＲＡＭでは、バンク非活性化コマンドＰＲが発行されてから行活性化コマンドＡＣが発行されるまで２クロックサイクル必要であるとする。従って、ＳＤＲＡＭアクセス要求信号２１はクロックサイクル“６”でアサートされるが、ＳＤＲＡＭ行活性化コマンドＡＣが発行されるのはクロックサイクル“８”となる。この後１回目のアクセスと同様にして２回目のＳＤＲＡＭアクセスが行われる。２回目のＳＤＲＡＭリードデータはクロックサイクル“１２”に出力される。この例では、１回目のＳＤＲＡＭアクセス要求から２回目のアクセスのデータ出力まで１２サイクルを要することになる。
【００１０】
【発明が解決しようとする課題】
このように従来のＳＤＲＡＭＣでは、複数回連続でＳＤＲＡＭ３００の同じバンクの同じ行に連続的にアクセスする場合でも、行活性化（ＡＣ）とバンク非活性化（ＰＲ）を、ＳＤＲＡＭアクセス要求信号２１がアサートされる度に繰り返すようにしているので、多くのクロックサイクルを消費し、非効率的であるという問題点がある。
【００１１】
この発明は上記に鑑みてなされたもので、同じバンクの同じ行に対する連続アクセスが発生した場合の、ＳＤＲＡＭに対するアクセスに要するクロックサイクルを削減して、効率の良いメモリアクセスをなし得る同期型半導体記憶装置のアクセス制御装置を得ることを目的とする。
【００１２】
【課題を解決するための手段】
上記目的を達成するため、この発明にかかる同期型半導体記憶装置のアクセス制御装置は、同一行の連続した列に対して連続的にアクセスする連続アクセスモードによるアクセスを、記憶領域が複数のバンクに分割された同期型半導体記憶装置に対して実行する同期型半導体記憶装置のアクセス制御装置において、前記連続アクセスモード時、前記同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出し、最終列検出信号を出力する最終列検出回路を各バンクに対応して各別に設けるとともに、前記アドレス信号に基づいて前記複数の最終列検出回路からの最終列検出信号を択一選択する選択回路と、前記連続アクセスモード時、同一行への最初のアクセス要求のときに同期型半導体記憶装置の行活性化を行い、その後前記選択回路から最終列検出信号がアサートされるまでは、アクセス要求がある度に、アクセスされる行の非活性化を行うことなくリードコマンドまたはライトコマンドを前記同期型半導体記憶装置に出力し、前記選択回路からの最終列検出信号がアサートされると、前記アクセスされていた行の非活性化を行うアクセス制御部とを備えることを特徴とする。
【００１３】
この発明によれば、連続アクセスモード時、同一行への最初のアクセス要求のときに同期型半導体記憶装置の行活性化を行い、その後最終列検出信号がアサートされるまでは、アクセス要求がある度に、アクセスされる行の非活性化を行うことなくリードコマンドまたはライトコマンドを同期型半導体記憶装置に出力し、最終列検出信号がアサートされると、アクセスされていた行の非活性化を行うようにしており、これにより同期型半導体記憶装置に対するアクセスに要するクロックサイクルを少なくすることができ、効率の良いメモリアクセスをなし得るようになる。
【００１４】
つぎの発明にかかる同期型半導体記憶装置のアクセス制御装置は、上記の発明において、前記最終列検出回路は、前記同期型半導体記憶装置に入力されるアドレス信号に基づいて同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出することを特徴とする。
【００１５】
この発明によれば、同期型半導体記憶装置に入力されるアドレス信号に基づいて同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出するようにしており、これにより、最終列アドレスへのアクセスであることを確実に検出することができる。
【００１６】
つぎの発明にかかる同期型半導体記憶装置のアクセス制御装置は、前記最終列検出回路は、アクセス要求の計数値と所定の設定値との比較に基づいて前記同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出することを特徴とする。
【００１７】
この発明によれば、アクセス要求の計数値と所定の設定値との比較に基づいて前記同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出するようにしており、これによりアドレス信号を用いる場合に比べ、回路設計が容易となり、実際の回路を実現し易くなる。
【００１８】
つぎの発明にかかる同期型半導体記憶装置のアクセス制御装置は、アクセスモード信号が設定されるアクセスモードレジスタを各バンクに対応して各別に設け、前記選択回路は、前記アドレス信号に基づいて前記複数のアクセスモードレジスタからのアクセスモード信号を択一選択して前記アクセス制御部に入力し、前記アクセス制御部は前記選択回路からのアクセスモード信号に基づき今回のアクセスが連続アクセスモードであることを判断することを特徴とする。
【００１９】
この発明によれば、アクセスモード信号が設定されるアクセスモードレジスタを各バンクに対応して各別に設けるようにしており、アクセス制御部はこれらのアクセスモードレジスタの設定情報から今回のアクセスが連続アクセスモードであることを確実に判定することができる。
【００２０】
つぎの発明にかかる同期型半導体記憶装置のアクセス制御装置は、前記アクセス制御部には、バスマスタからのアクセスモード信号が直接入力され、アクセス制御部は前記バスマスタからのアクセスモード信号に基づき今回のアクセスが連続アクセスモードであることを判断することを特徴とする。
【００２１】
この発明によれば、バスマスタからのアクセスモード信号がアクセス制御部に入力されるようにしており、これによりアクセスモードを設定するレジスタ等のハードウェアを持たずに済み、回路を簡略化できる。さらに、あるバスマスタが連続ＳＤＲＡＭアクセスを行っている最中に、他のバスマスタが同じバンクに対するアクセスを行ったときも、自動的にバンク非活性化、および行活性化を行うことができ、自由度が高い応用設計を実現できる。
【００２２】
つぎの発明にかかる同期型半導体記憶装置のアクセス制御装置は、前記同期型半導体記憶装置へのアドレス信号の次アドレスを演算する次アドレス演算部と、前記最終列検出信号がアサートされた後の所定の期間以外は前記同期型半導体記憶装置へのアドレス信号を選択し、前記最終列検出信号がアサートされた後の所定の期間のときは前記次アドレス演算部からの次アドレスを選択するアドレス選択回路とを更に備え、前記アクセス制御部は、前記連続アクセスモード時、前記選択回路からの最終列検出信号がアサートされると、前記アクセスされていた行の非活性化を行い、その後直ちに、前記アドレス選択回路から入力される前記次アドレス演算部からの次アドレスが示す行の活性化を行うことを特徴とする。
【００２３】
この発明によれば、連続アクセスモード時、最終列検出信号がアサートされると、アクセスされていた行の非活性化を行い、その後直ちに、アドレス選択回路から入力される次アドレス演算部からの次アドレスが示す行の活性化を行うようにしており、これにより次の行のアクセス要求までに時間があった場合、次の行のアクセスが発生したときには既にこの行の活性化を終えており、その後すぐにリードあるいはライトコマンドを発行することができる。従ってアクセスに要するクロックサイクルを低減することができる。
【００２４】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる同期型半導体記憶装置のアクセス制御装置の好適な実施の形態を詳細に説明する。
【００２５】
実施の形態１．
図１はこの発明の実施の形態１によるＳＤＲＡＭ制御モジュール（ＳＤＲＡＭＣ）１００を含むＬＳＩ３およびＳＤＲＡＭ３００を示している。ＳＤＲＡＭ３００は複数（ｉ個の）のバンク（この場合、バンク０〜バンク３の４バンクであるとする）に分割されている。ＳＤＲＡＭ制御モジュール（ＳＤＲＡＭＣ）１００は、バンク毎に備えられた複数の（この場合４個）連続アクセス制御ユニット２ａ〜２ｄと、各連続アクセス制御ユニット２ａ〜２ｄからの出力信号のいずれかをバンクアドレス３１によって選択する選択回路３２と、ＳＤＲＡＭアクセス制御部１０とを有している。
【００２６】
図２に、アクセスするＳＤＲＡＭ３００のアドレス構成の一例を示す。アドレスは、バンクアドレス、行アドレス、列アドレスを有しており、この場合バンクアドレスがＡ６、Ａ７の２ビット、行アドレスがＡ８〜Ａ２２の１５ビット、列アドレスがＡ２３〜Ａ３１の９ビットであるとする。ＳＤＲＡＭアクセス制御部１０には、このようなアドレス構成を持つアドレス信号２２が入力される。このアドレス信号２２のうちの１０ビットのアドレス３０（Ａ２２〜Ａ３１）が連続アクセス制御ユニット２ａ〜２ｄに入力される。この場合、連続アクセス制御ユニット２ａ〜２ｄには、９ビットではなく１０ビットが入力されているが、その理由は後述する。また、選択回路３２には、アドレス信号２２のうちの２ビットのバンクアドレス３１（Ａ６、Ａ７）が入力される。
【００２７】
各連続アクセス制御ユニット２ａ〜２ｄは、ＳＤＲＡＭ３００の当該バンクへのアクセス方法を“連続アクセスモード”および“単発アクセスモード”の何れかに設定するアクセスモードレジスタ１１と、当該バンクにおける行の最後の列を検出する最終列検出回路１２とをそれぞれ備えている。
【００２８】
各連続アクセス制御ユニット２ａ〜２ｄに設けられるアクセスモードレジスタ１１は、設定された情報をバンクｉアクセスモード信号１３（ｉ＝１〜３）として、選択回路３２に出力する。
【００２９】
各連続アクセス制御ユニット２ａ〜２ｄに設けられる最終列検出回路１２は、当該バンクにおける行の最後の列へのアクセスを検出した場合、その旨を示すバンクｉ最終列検出信号１４を選択回路３２に出力する。
【００３０】
図３は、最終列検出回路１２の内部構成を示すもので、最終列検出回路１２は、ＳＤＲＡＭアドレスのうちどの部分が列アドレスであるのかを示す値（情報）を設定する列アドレス指示レジスタ４０と、連続してＳＤＲＡＭアクセスが発生するときのアドレスの進行方向（増加あるいは減少）を示す情報がセットされるアドレス進行方向設定レジスタ４２と、アドレス進行方向設定レジスタ４２および列アドレス指示レジスタ４０のセット内容に基づき列アドレス３０を監視して行の最終列へのアクセスを検出する列アドレス監視部４１とを備えている。
【００３１】
列アドレス指示レジスタ４０は、この場合１０ビットであり、ＳＤＲＡＭの列アドレス３０が１０ビット（Ａ２２〜Ａ３１）の範囲内である場合に対応することができる。図２に示したように、この場合、列アドレスは、Ａ２３〜Ａ３１の９ビットであるので、列アドレス指示レジスタ４０には、最上位ビットのみを“０”にした“０１１１１１１１１１”が設定される。
【００３２】
列アドレス監視部４１は、アドレス進行方向設定レジスタ４２に設定されているアドレス進行方向が“増加方向”を示す値である場合は、列アドレス指示レジスタ４０に値“１”が設定されているビットに対応する列アドレス３０のビット（この場合Ａ２３〜Ａ３１）がすべて“１”のとき、バンクｉ最終列検出信号１４をアクティブにする。また、列アドレス監視部４１は、アドレス進行方向設定レジスタ４２に設定されているアドレス進行方向が“減少方向”を示す値である場合は、列アドレス指示レジスタ４０に値“１”が設定されているビットに対応する列アドレス３０のビットがすべて“０”のとき、バンクｉ最終列検出信号１４をアクティブにする。
【００３３】
選択回路３２は、ＳＤＲＡＭバンクアドレス３１にしたがって、４つの連続アクセス制御ユニット２ａ〜２ｄからの一組のバンクｉアクセスモード信号１３およびバンクｉ最終列検出信号１４を選択し、選択した信号をＳＤＲＡＭアクセスモード信号１５および最終列検出信号１６としてＳＤＲＡＭアクセス制御部１０に入力する。
【００３４】
ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭアクセス要求信号２１の他に選択回路３２から入力されるアクセスモード信号１５および最終列検出信号１６に基づいてＲＡＳ，ＣＡＳ，ＷＥ，ＣＳなどのＳＤＲＡＭ制御信号２３を形成するとともに、入力されるバンクアドレス、行アドレスおよび列アドレスを含むアドレス信号２２をＳＤＲＡＭ３００に適した形に加工して（マルチプレクスされて）、行アドレス、列アドレスの順にアドレス信号２４としてバンクアドレスとともにＳＤＲＡＭ３００に入力する。これらの信号がＳＤＲＡＭ３００に入力されることで、ＳＤＲＡＭ３００に対しデータ信号２５を書き込むと共に、ＳＤＲＡＭ３００からデータ信号２５を読み出す。
【００３５】
次に動作について説明する。ＳＤＲＡＭからの読み出し動作を例にとって説明する。まず、各バンクの連続アクセス制御ユニット２ａ〜２ｄのアクセスモードレジスタ１１に“連続アクセスモード”および“単発アクセスモード”のいずれでＳＤＲＡＭ３００にアクセスを行うのかを示す情報を設定する。
【００３６】
つぎに、ＳＤＲＡＭＣ１００に図示しない他のモジュールからＳＤＲＡＭアクセス要求信号２１とアドレス信号２２が入力される。この場合、アクセスはＳＤＲＡＭ３００のバンク０へのアクセスであるとする。
【００３７】
まず、バンク０に対応する連続アクセス制御ユニット２ａのアクセスモードレジスタ１１に“単発アクセスモード”を示す値が設定されている場合について説明する。
【００３８】
この場合、選択回路３２は、バンクアドレス３１に基づいて、バンク０に対応する連続アクセス制御ユニット２ａのアクセスモードレジスタ１１に設定された“単発アクセスモード”を示すバンクｉアクセスモード信号１３を選択し、この選択した信号をＳＤＲＡＭアクセスモード信号１５としてＳＤＲＡＭアクセス制御部１０に出力する。
【００３９】
ＳＤＲＡＭアクセス制御部１０は、従来技術と同様にしてＳＤＲＡＭ３００へのアクセスを行う。すなわち、ＳＤＲＡＭ３００に対して、行活性化コマンド、次いでリードコマンド、最後にバンク非活性化コマンド（プリチャージコマンド）を発行する。また、ＳＤＲＡＭアクセス制御部１０は、アドレス信号２２をＳＤＲＡＭ３００に適した形に加工して（マルチプレクスして）、行アドレス、列アドレスの順にアドレス信号２４としてＳＤＲＡＭ３００に与える。ＳＤＲＡＭ３００では、リードコマンドが発行されてからＣＡＳレイテンシ分の時間経過後、データ信号２５をデータバスに出力する。データバスに出力されたデータ信号２５をＬＳＩ３内のモジュール（図示しない）が読み込む。
【００４０】
次に、バンク０に対応する連続アクセス制御ユニット２ａのＳＤＲＡＭアクセスモードレジスタ１１に“連続アクセスモード”を示す値が設定されている場合について説明する。
【００４１】
この場合は、選択回路３２は、バンクアドレス３１に基づいて、バンク０に対応する連続アクセス制御ユニット２ａのＳＤＲＡＭアクセスモードレジスタ１１に設定された“連続アクセスモード”を示すバンクｉアクセスモード信号１３を選択し、この選択した信号をＳＤＲＡＭアクセスモード信号１５としてＳＤＲＡＭアクセス制御部１０に出力する。
【００４２】
ＳＤＲＡＭアクセス制御部１０は、このＳＤＲＡＭアクセスモード信号１５によって“連続アクセスモード”であることを認知する。そして、ＳＤＲＡＭアクセス制御部１０は、選択回路３２から入力されている最終列検出信号１６がアクティブではないときには、つぎのように動作する。
【００４３】
ＳＤＲＡＭアクセス制御部１０は、同一行に対する一回目のアクセスのときにだけ、ＳＤＲＡＭ３００のバンク０に対して行活性化コマンドを発行する。そして、この行活性化コマンドに続いてリードコマンドを発行する。このとき非活性化コマンドを発行せず、行を活性化状態に保って次のアクセスを待つ。次の同じ行の次の列に対するアクセスが発生したときは行が活性状態にあるため、新たに行活性化コマンドを発行せず、直接リードコマンドを発行する。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【００４４】
その後、アクセスが同じ行の最後の列に対するアクセスであるとき、バンク０に対応する連続アクセス制御ユニット２ａの最終列検出回路１２が、行の最後の列に対するアクセスであることを検出し、バンク０最終列検出信号１４をアクティブにする。したがって、選択回路３２からはアクティブになった最終列検出信号１６がＳＤＲＡＭアクセス制御部１０に入力される。最終列検出信号１６がアクティブになると、ＳＤＲＡＭアクセス制御部１０は、バンク０のバンク非活性化すなわちプリチャージを実行する。このバンクの非活性化では、実際には、アドレス信号２２で指定された行に対する非活性化が行われる。この後、バンク０へのアクセスが発生すると、ＳＤＲＡＭアクセス制御部１０は、新たに行を活性化して同様の動作を繰り返す。
【００４５】
次に、図４のタイムチャートを用いて連続アクセスモードの際の各処理のタイミングについてさらに詳細に説明する。ＳＤＲＡＭアクセス要求信号２１が入力される度に、アドレス信号２２は、図４に示すように、同一行アドレスで列アドレスが連続する連続アドレスａ０、ａ１、…、ａｎとして更新される。
【００４６】
クロックサイクル“１”でＳＤＲＡＭアクセス要求信号２１がアサートされる。このクロックサイクル“１”において、ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭ３００のバンク０の行活性化コマンドＡＣを発行する。ＳＤＲＡＭアクセス制御部１０は、次の、クロックサイクル“２”では、ディセレクトコマンドＤＳを発行する。
【００４７】
次に、クロックサイクル“３”では、ＳＤＲＡＭアクセス制御部１０はリードコマンドＲＤを発行する。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後、データ信号２５をデータバスに出力する（クロックサイクル“５”）。ここでは、ＣＡＳレイテンシ時間を２クロックサイクルとしているので、リードコマンドＲＤを発行してから２クロック後にデータ信号２５がデータバスに出力される。
【００４８】
リードコマンドが発行されたクロックサイクル“３”において、最終列検出回路１２は、ＳＤＲＡＭアドレスの列アドレス部分３０をチェックして最終列でないことを確認するので、最終列検出信号１６はネゲートのままである。最終列検出信号１６がネゲートのままであるので、ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“４”“５”では、ディセレクトコマンドＤＳを発行して、バンク０を行活性化した状態のままに保つ。
【００４９】
次に、ＳＤＲＡＭアクセス要求信号２１がクロックサイクル“６”で入力されると、ＳＤＲＡＭアクセス制御部１０は、この時点では最終列検出信号１６がネゲートのままであるので、行活性化コマンドＡＣを発行せず、直接リードコマンドＲＤを発行する。
【００５０】
ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“８”で、データ信号２５をデータバスに出力する。この例では、１回目のＳＤＲＡＭアクセス要求信号から２回目のアクセスのデータ出力まで８クロックサイクルを要することになる。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【００５１】
さらに、アクセスが続けられてクロックサイクル“ｃ”でＳＤＲＡＭアクセス要求信号２１が入力されたとする。このときのアクセスが行の最後の列に対するアクセスであったとすると、最終列検出回路１２では、前述したようにして、今回のアクセスが行の最後の列に対するアクセスであることを検出し、バンク０最終列検出信号１４をアクティブにする。したがって、選択回路３２から出力される最終列検出信号１６がアクティブとなる。ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｃ”において、ＳＤＲＡＭアクセス要求信号２１が入力されたときには、最終列検出信号１６がアクティブであるので、クロックサイクル“ｃ”でリードコマンドＲＤを出力するとともに、つぎのクロックサイクル“ｄ”で、バンク０の非活性化コマンドＰＲを発行し、バンク０（実際には選択されている行）を非活性化状態にする。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“ｅ”で、データ信号２５をデータバスに出力する。
【００５２】
このようにこの実施の形態１によれば、行アドレスが同一で列アドレスが連続する連続アクセスモードの場合、１回目のアクセスのときだけ行活性化を行ってリードコマンドを発行し、その後の行の最後の列に対するアクセスの前までは、リードコマンドを直接発行してバンク非活性化および行活性化を行わないようにしているので、ＳＤＲＡＭアクセスに要するクロックサイクルを少なくすることができ、効率の良いメモリアクセスをなし得るようになる。
【００５３】
実施の形態２．
つぎに、図５および図６を用いてこの発明の実施の形態２について説明する。図５はこの発明の実施の形態２によるＳＤＲＡＭ制御モジュール（ＳＤＲＡＭＣ）１００を含むＬＳＩ３およびＳＤＲＡＭ３００を示している。この図５に示す実施の形態２のＳＤＲＡＭＣ１００においては、先の実施の形態１の構成に、アドレス保持部３３、＋１インクリメント動作を行う加算器３４、アドレス選択回路３６を追加するようにしている。
【００５４】
アドレス保持部３３は、ＳＤＲＡＭアドレス信号２２を一時保持し、一時保持したＳＤＲＡＭアドレス信号２２を加算器３４に出力する。加算器３４は、アドレス保持部３３から入力されるアドレス値を例えば＋１することにより、列アドレスが連続する連続アクセスが行われるときの次アドレスを計算し、計算された次アドレス信号３５をアドレス選択回路３６に入力する。アドレス選択回路３６は、ＳＤＲＡＭアクセス制御部１０から入力されるアドレス選択制御信号３８に基づいて、ＳＤＲＡＭアドレス信号２２と加算器３４から入力される次アドレス信号３５のうちの何れかを選択する。
【００５５】
ＳＤＲＡＭアクセス制御部１０は、単発アクセスモードのとき、または連続アクセスモードのときであってかつ最終列アクセス以外のアクセスのときには、アドレス選択制御信号３８を例えば“Ｌ”にし、連続アクセスモードのときであってかつ最終列アクセスのときには、アドレス選択制御信号３８を“Ｈ”にする。アドレス選択回路３６は、アドレス選択制御信号３８が“Ｌ”のときには、ＳＤＲＡＭアドレス信号２２を選択してＳＤＲＡＭアクセス制御部１０に入力し、アドレス選択回路３６は、アドレス選択制御信号３８が“Ｈ”のときには、加算器３４から入力される次アドレス信号３５を選択してＳＤＲＡＭアクセス制御部１０に入力するよう動作する。
【００５６】
次に図６のタイムチャートを用いて実施の形態２の動作について説明する。前記同様、ＳＤＲＡＭからの読み出し動作を例にとって説明する。
【００５７】
単発アクセスモードのときには、実施の形態１で説明した単発アクセスモードと同様に動作する。
【００５８】
連続アクセスモードのときであってかつ最終列アクセス以外のアクセスのときには、アドレス選択回路３６は、アドレス選択制御信号３８にしたがってＳＤＲＡＭアドレス信号２２を選択するので、連続アクセス制御ユニット２ａ〜２ｄ、選択回路３２およびＳＤＲＡＭアクセス制御部１０は、先の実施の形態１で説明したのと同様に動作する（図６クロックサイクル“１”〜クロックサイクル“８”参照）。この期間中、次アドレス信号３５は、ＳＤＲＡＭアクセス要求信号２１が入力される度に、ＳＤＲＡＭアドレス信号２２を＋１した値に更新されるが、この期間中には、これらの次アドレス信号３５は、アドレス選択回路３６で選択されることがないので、使用されることはない。
【００５９】
クロックサイクル“ｃ”でＳＤＲＡＭアクセス要求信号２１が入力され、このときのアクセスが行の最後の列に対するアクセスであったとすると、最終列検出回路１２では、前述したようにして、今回のアクセスが行の最後の列に対するアクセスであることを検出する。この結果、最終列検出信号１６がアクティブになる。ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｃ”において、ＳＤＲＡＭアクセス要求信号２１が入力されたときには、最終列検出信号１６がアクティブであるので、クロックサイクル“ｃ”でリードコマンドＲＤを出力するとともに、つぎのクロックサイクル“ｄ”で、バンク０の非活性化コマンドＰＲを発行し、バンク０を非活性化状態にする。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“ｅ”で、データ信号２５をデータバスに出力する。
【００６０】
ＳＤＲＡＭアクセス制御部１０は、最終列検出信号１６が入力されたときには、バンク非活性化の次のクロックサイクル“ｅ”で、アドレス選択制御信号３８を“Ｌ”から“Ｈ”に切り換える。これにより、アドレス選択回路３６は、クロックサイクル“ｅ”で、次アドレス信号３５がＳＤＲＡＭアドレス信号３７に出力されるように入力信号を切り換える。すなわち、ＳＤＲＡＭアクセス制御部１０は、最終列検出信号１６がアサートされた後の所定の期間以外はアドレス選択制御信号３８を“Ｌ”とし、最終列検出信号１６がアサートされた後の所定の期間のときはアドレス選択制御信号３８を“Ｈ”として次アドレス信号３５が選択されるようにしている。
【００６１】
この時点での次アドレス信号３５は、次行の最初のアドレス（図６ではａｎ＋１）となっている。ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｅ”で、ＳＤＲＡＭアドレス信号３７（次アドレス信号３５が選択）で示されるＳＤＲＡＭ３００の行の活性化を行う（行活性化コマンドＡＣ）。アドレス信号３７の行アドレス部分は、いままでアクセスを行っていたＳＤＲＡＭ３００の行の次の行アドレスを示しているから、行活性化コマンドＡＣによっていままでアクセスを行っていたＳＤＲＡＭ３００の行の次の行の活性化が行なわれることになる。
【００６２】
このように実施の形態２によれば、ある行の最終列アクセスが終了してその行の非活性化（ＰＲ）を行った後、直ぐに次の行の活性化を次の行のアクセス要求の前に予め行うようにしているので、次の行のアクセス要求までに時間があった場合、次の行のアクセスが発生したときには既にこの行の活性化を終えており、すぐにリードあるいはライトコマンドを発行することができ、これによりＳＤＲＡＭアクセスに要するクロックサイクルを低減することができる。
【００６３】
実施の形態３．
つぎに、図７および図８を用いてこの発明の実施の形態３について説明する。図７はこの発明の実施の形態３によるＳＤＲＡＭ制御モジュール（ＳＤＲＡＭＣ）１００を含むＬＳＩ３およびＳＤＲＡＭ３００を示している。この図７に示す実施の形態３のＳＤＲＡＭＣ１００においては、各連続アクセス制御ユニット４ａ〜４ｄにおいて、バンクｉ最終列検出信号１４を発生するための回路構成として、ＳＤＲＡＭアクセス要求信号２１をカウントするアクセス回数カウント部４３による構成を採用することにより、実施の形態１のように、最終列の判定にアドレス信号２２（正確には列アドレス３０）を用いないようにしている。なお、以下の説明ではバースト長を「１」としている。
【００６４】
図７において、ＳＤＲＡＭアクセス要求分配器２０は、ＳＤＲＡＭバンクアドレス３１に従ってＳＤＲＡＭアクセス要求信号２１を、バンク０アクセス要求信号４１ａ〜バンク３アクセス要求信号４１ｄとして連続アクセス制御ユニット４ａ〜４ｄへ分配する。すなわち、バンク０アクセス要求信号４１ａ〜バンク３アクセス要求信号４１ｄのうち、ＳＤＲＡＭバンクアドレス３１で指定されたバンクに対応するバンクｉアクセス要求信号がアクティブとなる。
【００６５】
各連続アクセス制御ユニット４ａ〜４ｄは、前記同様、バンク０〜バンク３にそれぞれ対応しており、アクセスモードレジスタ１１と、当該バンクにおける行の最後の列を検出する最終列検出回路１２とをそれぞれ備えている。
【００６６】
アクセスモードレジスタ１１には、今回のアクセスが“連続アクセスモード”および“単発アクセスモード”の何れであるかを示す情報と、バースト長が設定される。
【００６７】
最終列検出回路１２は、ＳＤＲＡＭ３００へのアクセス回数をカウントするアクセス回数カウント部４３と、ＳＤＲＡＭ３００へのアクセス回数が設定されるアクセス回数設定レジスタ４４と、アクセス回数設定レジスタ４４に設定されている値とアクセス回数カウント部４３のカウント値を比較する比較器４５とを備えている。
【００６８】
アクセスモードレジスタ１１からアクセス回数カウント部４３に入力されるカウント制御信号４６は、アクセスモードレジスタ１１に設定される値が“連続アクセスモード”のときにアクティブ（オン）となる。アクセス回数カウント部４３は、カウント制御信号４６がオンのときにカウント動作を行うもので、バースト長が１のときには、ＳＤＲＡＭアクセス要求分配器２０からバンク０アクセス要求信号４１ａが入力される毎に＋１のカウント動作を実行する。なお、アクセス回数カウント部４３は、バースト長が「ｎ」のときには、アクセス要求信号が入力される度に、＋ｎのカウント動作を実行する。バースト長は、アクセスモードレジスタ１１に設定されているので、アクセス回数カウント部４３はこの設定バースト長を参照して＋ｎのカウント動作を決定する。
【００６９】
アクセス回数設定レジスタ４４には、アクセスするＳＤＲＡＭ３００の１つの行の列数分の値が設定される。比較器４５は、アクセス回数カウント部４３の計数出力とアクセス回数設定レジスタ４４の設定値を比較し、両者が一致したとき、バンク０最終列検出信号１４をアクティブにする。
【００７０】
次に動作について説明する。ＳＤＲＡＭ３００からの読み出し動作を例にとって説明する。まず、各連続アクセス制御ユニット４ａ〜４ｄのアクセスモードレジスタ１１に“連続アクセスモード”および“単発アクセスモード”のいずれでＳＤＲＡＭ３００にアクセスを行うのかを示す情報およびバースト長を設定する。この場合、バースト長は１であるとする。
【００７１】
続いて、各連続アクセス制御ユニット４ａ〜４ｄのアクセス回数カウント部４３をクリア（値“０”設定）するとともに、アクセス回数設定レジスタ４４に所定の値を設定する。この例では、アクセス回数設定レジスタ４４には、アクセスするＳＤＲＡＭ３００の１つの行の列数分の値を設定するものとする。
【００７２】
その後、ＳＤＲＡＭＣ１００に図示しない他のモジュールからＳＤＲＡＭアクセス要求信号２１とアドレス信号２２が入力される。この場合、アクセスはＳＤＲＡＭ３００のバンク０へのアクセスであるとする。
【００７３】
バンク０に対応する連続アクセス制御ユニット４ａのアクセスモードレジスタ１１に“単発アクセスモード”を示す値が設定されている場合は、先の実施の形態１で説明した単発アクセスモードのときと同様に動作する。すなわち、ＳＤＲＡＭアクセス制御部１０には、連続アクセス制御ユニット４ａのアクセスモードレジスタ１１に設定された“単発アクセスモード”を示すバンクｉアクセスモード信号１３が選択回路３２を介して入力されているので、バンク０に対して前述した単発アクセスモードによるＳＤＲＡＭ３００へのアクセス制御を実行する。
【００７４】
次に、バンク０に対応する連続アクセス制御ユニット４ａのＳＤＲＡＭアクセスモードレジスタ１１に“連続アクセスモード”を示す値が設定されている場合について説明する。
【００７５】
ＳＤＲＡＭアクセス制御部１０は、前述と同様に、ＳＤＲＡＭアクセスモード信号１５によって“連続アクセスモード”であることを認知する。そして、ＳＤＲＡＭアクセス制御部１０は、選択回路３２から入力されている最終列検出信号１６がアクティブではないとき、すなわち連続アクセス制御ユニット４ａの比較器４５による比較結果が不一致であるときは、実施の形態１で説明したように、つぎのように動作する。
【００７６】
ＳＤＲＡＭアクセス制御部１０は、一回目のアクセスのときにだけ、ＳＤＲＡＭ３００のバンク０に対して行活性化コマンドを発行する。そして、この行活性化コマンドに続いてリードコマンドを発行する。このとき非活性化コマンドを発行せず、行を活性化状態に保って次のアクセスを待つ。次の同じ行の次の列に対するアクセスが発生したときは行が活性状態にあるため、新たに行活性化コマンドを発行せず、直接リードコマンドを発行する。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【００７７】
なお、この期間中、連続アクセス制御ユニット４ａのアクセス回数カウント部４３は、ＳＤＲＡＭアクセス要求分配器２０からバンク０アクセス要求信号４１ａが入力される度に＋１のカウント動作を実行している。
【００７８】
その後、同じ行の最後の列に対するアクセスになったとする。このときには、連続アクセス制御ユニット４ａのアクセス回数カウント部４３のカウント値がアクセス回数設定レジスタ４４の設定値に一致する。したがって、このときには、比較器４５から出力されるバンク０最終列検出信号１４がアクティブとなる。この結果、選択回路３２から出力される最終列検出信号１６がアクティブとなる。
【００７９】
ＳＤＲＡＭアクセス制御部１０は、最終列検出信号１６がアクティブになると、バンク０のバンク非活性化すなわちプリチャージを実行する。この後、バンク０へのアクセスが発生すると、ＳＤＲＡＭアクセス制御部１０は、新たに行を活性化して同様の動作を繰り返す。
【００８０】
次に、図８のタイムチャートを用いて連続アクセスモードの際の各処理のタイミングについてさらに詳細に説明する。この場合は、１行の列数が５１２列であるとする。ＳＤＲＡＭアクセス要求信号２１が入力される度に、アドレス信号２２は、連続アドレスａ０、ａ１、…、ａｎとして更新される。
【００８１】
クロックサイクル“１”でＳＤＲＡＭアクセス要求信号２１がアサートされる。このクロックサイクル“１”において、ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭ３００のバンク０の行活性化コマンドＡＣを発行する。ＳＤＲＡＭアクセス制御部１０は、次の、クロックサイクル“２”では、ディセレクトコマンドＤＳを発行する。
【００８２】
次に、クロックサイクル“３”では、ＳＤＲＡＭアクセス制御部１０はリードコマンドＲＤを発行する。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後、データ信号２５をデータバスに出力する（クロックサイクル“５”）。
【００８３】
リードコマンドＲＤを発行したクロックサイクル“３”においては、バンク０に対応する連続アクセス制御ユニット２ａの比較器４５の比較結果が一致しないので、バンク０最終列検出信号１４、そして最終列検出信号１６もアサートされない。これにより、ＳＤＲＡＭアクセス制御部１０はクロックサイクル“４”“５”では、ディセレクトコマンドＤＳを発行して、バンク０を行活性化した状態のままに保つ。
【００８４】
次に、ＳＤＲＡＭアクセス要求信号２１がクロックサイクル“６”で入力されると、ＳＤＲＡＭアクセス制御部１０は、この時点では最終列検出信号１６がネゲートのままであるので、行活性化コマンドＡＣを発行せず、直接リードコマンドＲＤを発行する。
【００８５】
ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“８”で、データ信号２５をデータバスに出力する。この例では、１回目のＳＤＲＡＭアクセス要求信号２１から２回目のアクセスのデータ出力まで８クロックサイクルを要することになる。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【００８６】
さらに、アクセスが続けられてクロックサイクル“ｃ”でＳＤＲＡＭアクセス要求信号２１が入力されたとする。このときのアクセスが行の最後の列に対するアクセスであったとする。ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｃ”でリードコマンドＲＤを出力する。
【００８７】
ＳＤＲＡＭアクセス要求信号２１が入力されたクロックサイクル“ｃ”の次のクロックサイクル“ｄ”で、バンク０に対応する連続アクセス制御ユニット４ａの比較器４５の比較結果が一致するため、このクロックサイクル“ｄ”で、バンク０最終列検出信号１４、そして最終列検出信号１６がアサートされる。
【００８８】
これによりＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｄ”でバンク非活性化コマンドＰＲを発行して、バンク０を非活性化状態にする。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“ｅ”で、データ信号２５をデータバスに出力する。
【００８９】
このようにこの実施の形態３によれば、実施の形態１と同様、行アドレスが同一で列アドレスが連続する連続アクセスモードの場合（途中に他のバンクのアクセスが入っても良い）、１回目のアクセスのときだけ行活性化を行ってリードコマンドを発行し、その後の行の最後の列に対するアクセスの前までは、リードコマンドを直接発行してバンク非活性化および行活性化を行わないようにしているので、ＳＤＲＡＭアクセスに要するクロックサイクルを少なくすることができ、効率の良いメモリアクセスをなし得るようになる。
【００９０】
また、行の最終列の判定にアドレス信号を用いないので、実際の回路を実現しやすい。これは、アドレス信号配線は、実際の回路では長い距離引き回れて、遅延時間が大きいことが多く、動作周波数を高くする上で妨げになることがあるためである。
【００９１】
また、この実施の形態３によれば、アクセス回数設定レジスタ４４の設定値として、１行の列数を設定するのではなく、任意のアクセス回数を設定するようにすれば、行の最終列のときのみバンクを非活性化するのではなく、任意のアクセス回数分行活性化状態を保ちその後バンクを非活性化することができるので、設計の応用自由度が上がるという効果も有する。
【００９２】
なお、上述した実施の形態３の構成に、実施の形態２で説明したアドレス保持部３３、加算器３４、アドレス選択回路３６を追加し、実施の形態２で説明した動作を行わせるようにしてもよい。
【００９３】
実施の形態４．
つぎに、図９〜図１１を用いてこの発明の実施の形態４について説明する。図９はこの発明の実施の形態４によるＳＤＲＡＭ制御モジュール（ＳＤＲＡＭＣ）１００を含むＬＳＩ３およびＳＤＲＡＭ３００を示している。この図９に示す実施の形態４のＳＤＲＡＭＣ１００においては、先の実施の形態のように、各連続アクセス制御ユニット４ａ〜４ｄのアクセスモードレジスタ１１に、今回のアクセスモードを（連続アクセスモードおよび単発アクセスモードの何れか）を設定するのではなく、バスマスタからのＳＤＲＡＭアクセスモード信号５０をＳＤＲＡＭアクセス制御部１０に直接入力するようにしている。
【００９４】
ここで、バスマスタとは、ＳＤＲＡＭアクセスを伴うバストランザクションを発生するモジュール（ＣＰＵ、ＤＭＡＣ（ＤＭＡ転送コントローラ）、その他）のことである。
【００９５】
ＳＤＲＡＭアクセスモード信号５０は、複数のバスマスタより出力されたＳＤＲＡＭアクセスモード信号のうち、ＳＤＲＡＭ３００に対するアクセス権を得たバスマスタのＳＤＲＡＭアクセスモード信号が選択されたものである。また、このＳＤＲＡＭアクセスモード信号５０は、ＳＤＲＡＭアクセス要求信号２１と同じクロックサイクルで入力されるものであり、ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭアクセス要求信号２１が入力されたときにＳＤＲＡＭアクセス要求信号２１がアサートされているときは、連続アクセスモードであると判断し、ＳＤＲＡＭアクセス要求信号２１が入力されたときにＳＤＲＡＭアクセス要求信号２１がネゲートのときは、単発アクセスモードであると判定するものとする。
【００９６】
図９に示すように、各連続アクセス制御ユニット５ａ〜５ｄは、当該バンクにおける行の最後の列を検出する最終列検出回路１２を備えている。アクセスモードを設定するためのアクセスモードレジスタ１１は存在しない。最終列検出回路１２は、図３に示したように、列アドレス指示レジスタ４０と、アドレス進行方向設定レジスタ４２と、列アドレス監視部４１とを備えており、前述と同様に動作する。最終列検出回路１２からはバンクｉ最終列検出信号１４が出力される。
【００９７】
選択回路３２は、ＳＤＲＡＭバンクアドレス３１にしたがって、４つの連続アクセス制御ユニット５ａ〜５ｄからのバンクｉ最終列検出信号１４を選択し、選択した信号を最終列検出信号１６としてＳＤＲＡＭアクセス制御部１０に入力する。
【００９８】
ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭアクセス要求信号２１とＳＤＲＡＭアクセスモード信号５０と選択回路３２から入力される最終列検出信号１６に基づいてＲＡＳ，ＣＡＳ，ＷＥ，ＣＳなどのＳＤＲＡＭ制御信号２３を形成するとともに、入力されるバンクアドレス、行アドレスおよび列アドレスを含むアドレス信号２２をＳＤＲＡＭ３００に適した形に加工して（マルチプレクスされて）、行アドレス、列アドレスの順にアドレス信号２４としてバンクアドレスとともにＳＤＲＡＭ３００に入力する。
【００９９】
次に動作について説明する。ＳＤＲＡＭ３００からの読み出し動作を例にとって説明する。いま、ＳＤＲＡＭアクセスモード信号５０が“単発アクセスモード”を示す値を出力しているとする。この場合の動作は、実施の形態１において、バンク０のアクセスモードレジスタ１１に“単発アクセスモード”を示す値が設定された場合と同じである。
【０１００】
次に、“連続アクセスモード”のときの動作を説明する。バンク０が選択されているとする。
【０１０１】
ＳＤＲＡＭアクセスモード信号５０が“連続アクセスモード”を示す値を出力しているときには、ＳＤＲＡＭアクセス制御部１０は、このＳＤＲＡＭアクセスモード信号５０によって、“連続アクセスモード”であることを認知する。そして、ＳＤＲＡＭアクセス制御部１０は、選択回路３２から入力されている最終列検出信号１６がアクティブではないときは、実施の形態１で説明したように、つぎのように動作する。
【０１０２】
ＳＤＲＡＭアクセス制御部１０は、一回目のアクセスのときにだけ、ＳＤＲＡＭ３００のバンク０に対して行活性化コマンドを発行する。そして、この行活性化コマンドに続いてリードコマンドを発行する。このとき非活性化コマンドを発行せず、行を活性化状態に保って次のアクセスを待つ。次の同じ行の次の列に対するアクセスが発生したときは行が活性状態にあるため、新たに行活性化コマンドを発行せず、直接リードコマンドを発行する。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【０１０３】
その後、同じ行の最後の列に対するアクセスになったとする。このときには選択回路３２から出力される最終列検出信号１６がアクティブとなる。ＳＤＲＡＭアクセス制御部１０は、最終列検出信号１６がアクティブになると、バンク０のバンク非活性化すなわちプリチャージを実行する。この後、バンク０へのアクセスが発生すると、ＳＤＲＡＭアクセス制御部１０は、新たに行を活性化して同様の動作を繰り返す。
【０１０４】
次に、図１０および図１１のタイムチャートを用いて連続アクセスモードの際の各処理のタイミングについてさらに詳細に説明する。図１０は連続アクセスモードのときの動作を、図１１は単発アクセスモードのときの動作を示すものである。
【０１０５】
図１０において、クロックサイクル“１”でＳＤＲＡＭアクセス要求信号２１がアサートされる。また、この同じクロックサイクルのときに、ＳＤＲＡＭアクセスモード信号５０が“連続アクセスモード”を示す値“Ｈ”となる。このクロックサイクル“１”において、ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭ３００のバンク０の行活性化コマンドＡＣを発行する。ＳＤＲＡＭアクセス制御部１０は、次の、クロックサイクル“２”では、ディセレクトコマンドＤＳを発行する。
【０１０６】
次に、クロックサイクル“３”では、ＳＤＲＡＭアクセス制御部１０はリードコマンドＲＤを発行する。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後、データ信号２５をデータバスに出力する（クロックサイクル“５”）。
【０１０７】
最終列検出回路１２は、リードコマンドＲＤを発行したクロックサイクル“３”で、ＳＤＲＡＭアドレス信号２２の列アドレス部分３０を判定するが、今回は最終列でないので、バンク０最終列検出信号１４をアサートしない。したがって、選択回路３２からの最終列検出信号１６もアサートされない。
【０１０８】
ＳＤＲＡＭアクセス制御部１０は、ＳＤＲＡＭアクセス要求信号の入力時（クロックサイクル“１”）に、ＳＤＲＡＭアクセスモード信号５０が“連続アクセスモード”を示す値を出力していたことと、リードコマンドＲＤの発行時のクロックサイクル“３”に、最終列検出信号１６がアサートされていないことに基づいて、つぎのクロックサイクル“４”“５”で、ディセレクトコマンドＤＳを発行してバンク０を行活性化した状態のままに保つ。
【０１０９】
次に、ＳＤＲＡＭアクセス要求信号２１および“Ｈ”のＳＤＲＡＭアクセスモード信号５０がクロックサイクル“６”で入力されると、ＳＤＲＡＭアクセス制御部１０は、この時点では最終列検出信号１６がネゲートのままであるので、行活性化コマンドＡＣを発行せず、直接リードコマンドＲＤを発行する。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“８”で、データ信号２５をデータバスに出力する。
【０１１０】
クロックサイクル“６”でＳＤＲＡＭアクセス要求信号２１がアサートされるのと同時に、ＳＤＲＡＭアクセスモード信号５０が“連続アクセスモード”を示す値“Ｈ”を示しているため、ＳＤＲＡＭアクセス制御部１０は、つぎのクロックサイクル“７”でディセレクトコマンドＤＳを発行してバンク０を行活性化した状態のままに保つ。この例では、１回目のＳＤＲＡＭアクセス要求から２回目のアクセスのデータ出力まで８クロックサイクルを要することになる。アクセスが同じ行の最後の列になるまで、このような動作が繰り返される。
【０１１１】
さらにアクセスを続けてクロックサイクル“ｃ”でＳＤＲＡＭアクセス要求信号２１が発生したとする。このとき行の最後の列アクセスであったとすると、最終列検出回路１２では、ＳＤＲＡＭアドレス信号２２の列アドレス部分３０を判定し、バンク０最終列検出信号１４をアサートする。したがって、選択回路３２からの最終列検出信号１６もアサートされる。
【０１１２】
ＳＤＲＡＭアクセス制御部１０は、クロックサイクル“ｃ”で、ＳＤＲＡＭアクセス要求信号２１がアサートされるのと同時に、ＳＤＲＡＭアクセスモード信号５０が“連続アクセスモード”を示す値“Ｈ”を示していることと、最終列検出信号１６が“Ｈ”になっていることに基づいて、つぎのクロックサイクル“ｄ”でバンク非活性化コマンドＰＲを発行し、バンク０を非活性化状態にする。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“ｅ”で、データ信号２５をデータバスに出力する。
【０１１３】
一方、図１１に示すように、ＳＤＲＡＭアクセス要求信号２１がアサートされたクロックサイクルで（図１１の場合はクロックサイクル“６”）、ＳＤＲＡＭアクセスモード信号５０が“単発アクセスモード”を示す値“Ｌ”を出力している場合には、ＳＤＲＡＭアクセス制御部１０は、現在活性化しているバンクを非活性化し（バンク非活性化コマンドＰＲ）、つぎのクロックサイクル“７”で、アクセス要求のあった行の活性化（行活性化コマンドＡＣ）を行う。さらに、ＲＡＳ−ＣＡＳレイテンシ後のクロックサイクル“９”において、リードコマンドＲＤを発行する。ＳＤＲＡＭ３００は、ＣＡＳレイテンシ時間経過後のクロックサイクル“ａ”で、データ信号２５をデータバスに出力する。
【０１１４】
このようにこの実施の形態４によれば、実施の形態１と同様、行アドレスが同一で列アドレスが連続する連続アクセスモードの場合（途中に他のバンクのアクセスが入っても良い）、１回目のアクセスのときだけ行活性化を行ってリードコマンドを発行し、その後の行の最後の列に対するアクセスの前までは、リードコマンドを直接発行してバンク非活性化および行活性化を行わないようにしているので、ＳＤＲＡＭアクセスに要するクロックサイクルを少なくすることができ、効率の良いメモリアクセスをなし得るようになる。
【０１１５】
また、ＳＤＲＡＭアクセスモードを設定するレジスタ等のハードウェアを持たなくてよいので、回路を簡略化できる。さらに、あるバスマスタが連続ＳＤＲＡＭアクセスを行っている最中に、他のバスマスタが同じバンクに対するアクセスを行ったときも、自動的にバンク非活性化、および行活性化を行うことができ、自由度が高い応用設計を実現できる。
【０１１６】
なお、この実施の形態４において、最終列検出回路１２の内部構成を実施の形態３のように、アクセス回数カウント部４３、アクセス回数設定レジスタ４４、および比較器４５による構成に置換するようにしてもよい。さらに、この実施の形態４の構成に、実施の形態２で説明したアドレス保持部３３、加算器３４、アドレス選択回路３６を追加し、実施の形態２で説明した動作を行わせるようにしてもよい。
【０１１７】
なお、上記の各実施の形態においては、ＳＤＲＡＭに対する読み出し動作について説明したが、ライトコマンドを使用する書き込み動作の際も同様の動作を行うことで、上記の同様の効果を得ることができる。
【０１１８】
【発明の効果】
以上説明したように、この発明によれば、連続アクセスモード時、同一行への最初のアクセス要求のときに同期型半導体記憶装置の行活性化を行い、その後最終列検出信号がアサートされるまでは、アクセス要求がある度に、アクセスされる行の非活性化を行うことなくリードコマンドまたはライトコマンドを同期型半導体記憶装置に出力し、最終列検出信号がアサートされると、アクセスされていた行の非活性化を行うようにしているので、同期型半導体記憶装置に対するアクセスに要するクロックサイクルを少なくすることができ、効率の良いメモリアクセスをなし得るようになる。
【０１１９】
つぎの発明によれば、同期型半導体記憶装置に入力されるアドレス信号に基づいて同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出するようにしているので、最終列アドレスへのアクセスであることを確実に検出することができる。
【０１２０】
つぎの発明によれば、アクセス要求の計数値と所定の設定値との比較に基づいて同期型半導体記憶装置に対するアクセスが最終列アドレスへのアクセスであることを検出するようにしているので、アドレス信号を用いる場合に比べ、回路設計が容易となり、実際の回路を実現し易くなる。
【０１２１】
つぎの発明によれば、アクセスモード信号が設定されるアクセスモードレジスタを各バンクに対応して各別に設けるようにしているので、アクセス制御部はこれらのアクセスモードレジスタの設定情報から今回のアクセスが連続アクセスモードであることを確実に判定することができる。
【０１２２】
つぎの発明によれば、バスマスタからのアクセスモード信号がアクセス制御部に入力されるようにしているので、アクセスモードを設定するレジスタ等のハードウェアを持たずに済み、回路を簡略化できる。さらに、あるバスマスタが連続ＳＤＲＡＭアクセスを行っている最中に、他のバスマスタが同じバンクに対するアクセスを行ったときも、自動的にバンク非活性化、および行活性化を行うことができ、自由度が高い応用設計を実現できる。
【０１２３】
つぎの発明によれば、連続アクセスモード時、最終列検出信号がアサートされると、アクセスされていた行の非活性化を行い、その後直ちに、アドレス選択回路から入力される次アドレス演算部からの次アドレスが示す行の活性化を行うようにしているので、次の行のアクセス要求までに時間があった場合、次の行のアクセスが発生したときには既にこの行の活性化を終えており、その後すぐにリードあるいはライトコマンドを発行することができる。従ってアクセスに要するクロックサイクルを低減することができる。
【図面の簡単な説明】
【図１】この発明にかかる同期型半導体記憶装置のアクセス制御装置の実施の形態１の構成を示すブロック図である。
【図２】ＳＤＲＡＭのアドレス構成の一例を示す図である。
【図３】最終列検出回路の内部構成を示すブロック図である。
【図４】実施の形態１の同期型半導体記憶装置のアクセス制御装置の連続アクセスモード時の動作を説明するためのタイムチャートである。
【図５】この発明にかかる同期型半導体記憶装置のアクセス制御装置の実施の形態２の構成を示すブロック図である。
【図６】実施の形態２の同期型半導体記憶装置のアクセス制御装置の連続アクセスモード時の動作を説明するためのタイムチャートである。
【図７】この発明にかかる同期型半導体記憶装置のアクセス制御装置の実施の形態３の構成を示すブロック図である。
【図８】実施の形態３の同期型半導体記憶装置のアクセス制御装置の連続アクセスモード時の動作を説明するためのタイムチャートである。
【図９】この発明にかかる同期型半導体記憶装置のアクセス制御装置の実施の形態４の構成を示すブロック図である。
【図１０】実施の形態４の同期型半導体記憶装置のアクセス制御装置の連続アクセスモード時の動作を説明するためのタイムチャートである。
【図１１】実施の形態４の同期型半導体記憶装置のアクセス制御装置の単発アクセスモード時の動作を説明するためのタイムチャートである。
【図１２】従来技術を示すブロック図である。
【図１３】従来技術のＳＤＲＡＭに対するアクセスを説明するためのタイムチャートである。
【符号の説明】
２ａ〜２ｄ，４ａ〜４ｄ，５ａ〜５ｄ　連続アクセス制御ユニット、１０　ＳＤＲＡＭアクセス制御部、１１　アクセスモードレジスタ、１２　最終列検出回路、２０　アクセス要求分配器、３２　選択回路、３３　アドレス保持部、３４　加算器、３６　アドレス選択回路、４０　列アドレス指示レジスタ、４１　列アドレス監視部、４２　アドレス進行方向設定レジスタ、４３　アクセス回数カウント部、４４　アクセス回数設定レジスタ、４５　比較器。
【図１】
2004013618.tif 000003
【図２】
2004013618.tif 000004
【図３】
2004013618.tif 000005
【図４】
2004013618.tif 000006
【図５】
2004013618.tif 000007
【図６】
2004013618.tif 000008
【図７】
2004013618.tif 000009
【図８】
2004013618.tif 000010
【図９】
2004013618.tif 000011
【図１０】
2004013618.tif 000012
【図１１】
2004013618.tif 000013
【図１２】
2004013618.tif 000014
【図１３】
2004013618.tif 000015