(57)【要約】【課題】  トランザクションの切り替えによるタイムロスや、リードのレイテンシによるタイムロスを軽減する。【解決手段】  アクセス制御手段１１は、受け付けた別のアクセス要求が、実行中のトランザクションの行アドレスに対するアクセス要求であれば、実行しているトランザクションを継続させて、要求されたメモリアクセスを更に実行する一方、そうでなければ、実行しているトランザクションを終了させてから、別のアクセス要求で指定された行アドレスでトランザクションを開始させて、要求されたメモリアクセスを更に実行する。【選択図】  図１
2006252173.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセスのトランザクションを処理し、データ処理装置のアクセス要求に応じて、メモリアクセスを実行するメモリ用インターフェース装置であって、
いずれかのデータ処理装置からアクセス要求を受け付けて、トランザクションを開始させたあと、同一または異なるデータ処理装置から別のアクセス要求を更に受け付けたときには、
受け付けた別のアクセス要求が、実行中のトランザクションの行アドレスに対するアクセス要求であれば、実行しているトランザクションを継続させて、要求されたメモリアクセスを更に実行する一方、
そうでなければ、実行しているトランザクションを終了させてから、別のアクセス要求で指定された行アドレスでトランザクションを開始させて、要求されたメモリアクセスを更に実行するメモリアクセス制御手段を備えているメモリ用インターフェース装置。
【請求項２】
請求項１において、
上記メモリアクセス制御手段は、
同一の行アドレスに対して、複数のアクセス要求を受け付けたときには、単一のトランザクションを継続させて、要求された複数のメモリアクセスを、リードよりもライトを優先して逐次に実行することを特徴とするメモリ用インターフェース装置。
【請求項３】
請求項１または２において、
上記メモリアクセス制御手段は、
上記メモリの複数のバンクに対して同一の行アドレスを与えて、バンクインターリーブによるトランザクションを開始させることを特徴とするメモリ用インターフェース装置。
【請求項４】
請求項１〜３のいずれかにおいて、
上記メモリは、ＳＤＲＡＭであることを特徴とするメモリ用インターフェース装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のデータ処理装置に対して、共通のメモリをアクセスするためのインターフェースを提供するメモリ用インターフェース装置の改良に関するものである。
【背景技術】
【０００２】
近時、システムオンチップとして複数のデータ処理装置を集積したＬＳＩと、外部メモリとを接続する必要があるデータ処理システムでは、そのＬＳＩに、各データ処理装置に対して外部メモリ用のインターフェースとして機能するメモリ用インターフェース装置を同時に集積する構成が一般的である。
【０００３】
また、このようなシステムでは、外部メモリを高速にアクセスすることが望まれるが、メモリアクセスの高速化に関する先行文献としては、例えば次の特許文献を挙げることができる。
【０００４】
すなわち、特許文献１は、プリアンプに対して、データ転送経路を２つ有するリードレジスタおよびデータ転送回路を設け、この２系統を用いて交互にデータを転送する。これにより、各クロックサイクルにおいて、データの衝突を伴うことなくデータを転送することができるようにした半導体記憶装置を開示している。
【０００５】
特許文献２は、フィールド若しくはフレームメモリの機能と、複数のラインメモリの機能を組合せたメモリ装置、単一の行−列アドレスの入力によりバースト読出しアクセス及び単一の書き込みアクセスを行うことができるメモリ装置、単一の行アドレスの入力により、前もって入力された列アドレスを用い、バースト読出しアクセス及び単一の書き込みアクセスを行うことができるメモリ装置等を提案している。
【０００６】
特許文献３は、主記憶制御装置と主記憶装置間で連続した読出データ転送と連続した書込データ転送を行うことによりバス切り替え回数を低減し、バス切り替えによる時間損失を最小限に抑える技術を開示している。
【特許文献１】特開平１０−１８８５５３号公報
【特許文献２】特開平１１−９６７４８号公報
【特許文献３】特開２０００−１８１７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のこの種のデータ処理システムでは、外部メモリとして、大容量かつ高速なＳＤＲＡＭを用いる場合があるが、ＳＤＲＡＭの仕様に起因する問題点、つまりトランザクションの切り替えによるタイムロスや、リードのレイテンシによるタイムロスのために、ＳＤＲＡＭの高速性を生かせないという問題があった。
【０００８】
より具体的にいえば、従来の技術によるメモリ用インターフェース装置では、アクセス要求するデータ処理装置が複数あって、それらからのアクセス要求毎にトランザクションを切り替えていれば、プリチャージ期間などによるタイムロスが多数発生してしまう問題や、同一のトランザクションにおいて、ライトとリードとを連続して実行すれば、リードのレイテンシのためにタイムロスが発生しやすくなるという問題に対して充分な検討が為されていなかった。
【０００９】
本発明は、そのような課題を解決することを目的としており、トランザクションの切り替えによるタイムロスや、リードのレイテンシによるタイムロスを軽減することにより、メモリアクセスを高速化したメモリ用インターフェース装置を提供するものである。
【課題を解決するための手段】
【００１０】
上記目的のため、本発明の請求項１では、メモリアクセスのトランザクションを処理し、データ処理装置のアクセス要求に応じて、メモリアクセスを実行するメモリ用インターフェース装置であって、いずれかのデータ処理装置からアクセス要求を受け付けて、トランザクションを開始させたあと、同一または異なるデータ処理装置から別のアクセス要求を更に受け付けたときには、受け付けた別のアクセス要求が、実行中のトランザクションの行アドレスに対するアクセス要求であれば、実行しているトランザクションを継続させて、要求されたメモリアクセスを更に実行する一方、そうでなければ、実行しているトランザクションを終了させてから、別のアクセス要求で指定された行アドレスでトランザクションを開始させて、要求されたメモリアクセスを更に実行するメモリアクセス制御手段を備えているメモリ用インターフェース装置を提案する。
【００１１】
このトランザクションとは、同一の行アドレスに対する一連のメモリアクセスをいい、具体的には、ＳＤＲＡＭの制御コマンドの一つで、行アドレスを指定したバンクアクティブ・コマンド「ＡＣＴ」によって開始され、アクセス要求に対応したライト・コマンド「ＷＲＩＴ」やリード・コマンド「ＲＥＡＤ」によって、指定されたメモリアクセスが実行されたあと、必要時になれば、プリチャージ・コマンド「ＰＲＥ」等によって終了されるメモリアクセスの手順として規定されるものである。
【００１２】
請求項２では、請求項１において、上記メモリアクセス制御手段は、同一の行アドレスに対して、複数のアクセス要求を受け付けたときには、単一のトランザクションを継続させて、要求された複数のメモリアクセスを、リードよりもライトを優先して逐次に実行することを特徴とするメモリ用インターフェース装置を提案する。ここで、リードのアクセス要求よりも優先されるライトのアクセス要求は、少なくとも、そのリードのアクセス要求と同時か、それ以前に受け付けられたものである。
【００１３】
請求項３では、請求項１または２において、上記メモリアクセス制御手段は、上記メモリの複数のバンクに対して同一の行アドレスを与えて、バンクインターリーブによるトランザクションを開始させることを特徴とするメモリ用インターフェース装置を提案する。
【００１４】
請求項４では、請求項１〜３のいずれかにおいて、上記メモリは、ＳＤＲＡＭであることを特徴とするメモリ用インターフェース装置を提案する。
【発明の効果】
【００１５】
請求項１によれば、ある行アドレスを指定したトランザクションを開始して、メモリアクセスを実行したあと、別のアクセス要求を更に受け付けたときには、受け付けた別のアクセス要求が、実行中のトランザクションの行アドレスに対するアクセス要求であれば、実行しているトランザクションを継続させて、要求されたメモリアクセスを更に実行するようにしているので、不必要にトランザクションを終了することがなくなり、トランザクションの切替のためのロスタイムが低減される。特にメモリとしてＳＤＲＡＭを用いた場合には、トランザクションの切り替えの際にプリチャージが必要となるが、それに要する時間は、トランザクション中のリード、ライトに必要な時間よりも長いものであり、本発明は、そのような場合に特に効果がある。
【００１６】
請求項２によれば、トランザクションの継続中には、要求された複数のメモリアクセスを、リードよりもライトを優先して逐次に実行するので、リードのレイテンシによって、ライトの開始が遅れるという問題が解決される。
【００１７】
請求項３によれば、メモリの複数のバンクに対して同一の行アドレスを与えて、バンクインターリーブによるトランザクションを開始するようにしたので、実質上は、列アドレスに対するアドレス領域が拡大され、トランザクションの切り替えの回数が低減される。
【００１８】
請求項４によれば、メモリとして、ＳＤＲＡＭを利用できる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明によるメモリ用インターフェース装置を用いたデータ処理システムの例を、図に従って説明する。
【実施例１】
【００２０】
図１は、本発明によるメモリ用インターフェース装置１を用いたデータ処理システムＳの基本構成を説明するブロック図である。このメモリ用インターフェース装置１は、各々のデータ処理装置３（＃１〜＃３）に対して、メモリ２をアクセスするためのインターフェースを提供するものである。
【００２１】
この例では、メモリ２として、ＳＤＲＡＭ（例えば１２８Ｍビット×８品を例として説明する）を採用しており、このために、メモリ用インターフェース装置１とメモリ２との間は、マルチプレクスされたアドレスバスＡ（Ａ０−Ａ１３）、データバスＤＱ（ＤＱ０−ＤＱ７）、制御線Ｃ（ＣＬＫ、ＲＡＳ、ＣＡＳ等）によって接続されている。また、メモリ用インターフェース装置１と各々のデータ処理装置３（＃１〜＃３）との間は、アドレス／データ共有バスＡＤ（ＡＤ０−ＡＤ１５、Ａ１６−Ａ２３）、アクセス要求ラインＲ（ＲＱＷ１−ＲＱＷ３、ＲＱＲ１−ＲＱＲ３、ＡＣＫ１−ＡＣＫ３）によって接続されている。
【００２２】
メモリ用インターフェース装置１は、メモリアクセスのトランザクションを処理し、データ処理装置のアクセス要求に応じて、メモリアクセスを実行するメモリアクセス制御手段１１を備えており、このメモリアクセス制御手段１１は、各々のデータ処理装置３（＃１〜＃３）に対応して、処理されるデータを一時的に保持するデータバッファ１１ａ（＃１〜＃３）、各々のデータ処理装置３（＃１〜＃３）に対応して、アドレスを一時的に保持するアドレスバッファ１１ｂ（＃１〜＃３）、メモリ２に対するＲＡＳ、ＣＡＳ等の制御信号を生成するタイミング手段１１ｃ、メモリ２の状態を反映するステートマシーン１１ｄ等で構成されている。
【００２３】
メモリ２は、上述の１２８Ｍ×８品のＳＤＲＡＭによって構成されているが、このようなＳＤＲＡＭの仕様、構成は公知であり、クロックに同期したＳＤＲＡＭ制御コマンドによって制御される。また、データ処理装置３（＃１〜＃３）は、メモリ２のデータを参照しながら、所定のデータ処理を実行するものであればよく、データ処理の内容についての制限はない。
【００２４】
次いで、メモリ用インターフェース装置１の作用を中心として、データ処理処理システムＳの動作の概要を説明する。
【００２５】
データ処理装置３（＃１〜＃３）は、メモリ２をアクセスする際には、アクセス要求ラインＲを通じて、メモリ用インターフェース装置１にアクセス要求（ライト要求ＲＱＷ１−ＲＱＷ３、リード要求ＲＱＲ１−ＲＱＲ３）を送信する。そして、メモリ用インターフェース装置１から、その応答信号（ＡＣＫ１−ＡＣＫ３）を受信すると、アドレス／データ共有バスＡＤの使用権限を取得したと判断して、アドレス／データ共有バスＡＤに、メモリ装置２をアクセスするためのアドレスやデータの出力を開始する。
【００２６】
一方、メモリ用インターフェース装置１は、データ処理装置３（＃１〜＃３）からアクセス要求を受信すると、その応答として、応答信号を返信する。そして、アドレス／データ共有バスＡＤデータ処理装置３（＃１〜＃３）のいずれかが出力したアドレスを受信すると、そのアドレスを一時的にアドレスバッファ１１ｂ（＃１〜＃３）に保持して、メモリ２をアクセスするためのトランザクションを開始する。
【００２７】
このトランザクションとは、同一の行アドレスに対する一連のメモリアクセスをいい、具体的には、ＳＤＲＡＭの制御コマンドの一つで、行アドレスを指定したバンクアクティブ・コマンド「ＡＣＴ」によって開始され、アクセス要求に対応したライト・コマンド「ＷＲＩＴ」やリード・コマンド「ＲＥＡＤ」によって、指定されたメモリアクセスが実行されたあと、必要時になれば、プリチャージ・コマンド「ＰＲＥ」によって終了されるメモリアクセスの手順として規定されるものである。
【００２８】
その際、バンクアクティブ・コマンド「ＡＣＴ」では、受信したアドレスの上位部分が行アドレスとしてアドレスバスＡに出力され、ライト・コマンド「ＷＲＩＴ」やリード・コマンド「ＲＥＡＤ」では、受信したアドレスの下位部分が列アドレスとして、アドレスバスＡに出力される。
【００２９】
ここで、メモリ用インターフェース装置１は、受信したアクセス要求の種別がライトであれば、当該データ処理装置３（＃１〜＃３）から、メモリ２に書き込むべきデータを引き続いて受信して、一時的にデータバッファ１１ａ（＃１〜＃３）に保持すると、それを応答信号（ＡＣＫ１−ＡＣＫ３）によって当該データ処理装置３（＃１〜＃３）に通知する。そして、ライト・コマンド「ＷＲＩＴ」を発行し、そのデータをデータバスＤＱに分割出力して、バーストライトによってメモリ２に書き込むことにより、メモリアクセスを実行する。
【００３０】
一方、受信したアクセス要求の種別がリードであれば、リード・コマンド「ＲＥＡＤ」を発行し、バーストリードによってメモリ２から読み出されたデータをデータバッファ１１ａ（＃１〜＃３）で結合保持することにより、メモリアクセスを実行する。そして、そのメモリアクセスの終了を、応答信号（ＡＣＫ１−ＡＣＫ３）によって当該データ処理装置３（＃１〜＃３）に通知する。これにより、当該データ処理装置３（＃１〜＃３）は、データバッファ１１ａからデータを取り出すことができる。
【００３１】
また、トランザクションを開始したあと、同一または異なるデータ処理装置３（＃１〜＃３）から別のアクセス要求を更に受け付けたときには、受け付けた別のアクセス要求が、実行中のトランザクションの行アドレスに対するアクセス要求であるかを判断し、そうであれば、実行しているトランザクションを継続させて、要求されたメモリアクセスを更に実行する一方、そうでなければ、実行しているトランザクションを、プリチャージ・コマンド「ＰＲＥ」などを発行して終了させたのち、バンクアクティブ・コマンド「ＡＣＴ」を発行して、別のアクセス要求で指定された行アドレスのトランザクションを開始し、要求されたメモリアクセスを更に実行する。
【００３２】
図２は、本発明を適用したデータ処理処理システムＳの動作を説明するタイミングチャートであって、システムクロックＣＬＫ、要求信号線Ｒの各信号、アドレス／データ共有バスＡＤ、制御線Ｃ等によるＳＤＲＡＭの制御コマンド、アドレスバスＡ、データバスＤＱの時間変化を示している。
【００３３】
なお、この例は、アドレス／データ共有バスＡＤで伝送されるデータ幅が１６ビット、かつ、データバスＤＱのデータ幅が８ビットという前提で、メモリ２に対して２ワードのバースト動作を設定した場合を示している。しかしながら、バースト動作は、それら両者のデータ幅に応じて設定されるべきであり、この２ワードのバースト動作は、単なる例示であることはいうまでもない。
【００３４】
このタイミングチャートにおいて、時刻Ｔ１ではデータ処理装置３（＃１）がライトのアクセス要求（イ）を出力し、時刻Ｔ２ではデータ処理装置３（＃２）、３（＃３）がそれぞれ、ライトのアクセス要求（ロ）、リードのアクセス要求（ハ）を出力し、時刻Ｔ３ではデータ処理装置３（＃１）が再びライトのアクセス要求（ニ）を出力している。ここに、アクセス要求（イ）〜（ハ）は、メモリ２の同一の行アドレスに対するアクセス要求とし、アクセス要求（ニ）は、異なる行アドレスに対するアクセス要求である。
【００３５】
これに対して、メモリ用インターフェース装置１は、アクセス要求（イ）の指定する行アドレスを指定いたバンクアクティブ・コマンド「ＡＣＴ」を発行して、１回目のトランザクションを開始し、時刻Ｔ４では、、アクセス要求（イ）に対応したライト・コマンド「ＷＲＩＴ」を発行して２ワードのバーストライトを実行し、時刻Ｔ５では、アクセス要求（ロ）に対応したライト・コマンド「ＷＲＩＴ」を発行して２ワードのバーストライトを実行し、時刻Ｔ６では、アクセス要求（ハ）に対応したリード・コマンド「ＲＥＡＤ」を発行して、２ワードのバーストリードを実行し、時刻Ｔ７では、プリチャージ・コマンド「ＰＲＥ」を発行して１回目のトランザクションを終了させている。
【００３６】
その後、時刻Ｔ８では、アクセス要求（ニ）の指定する行アドレスを指定したバンクアクティブ・コマンド「ＡＣＴ」を発行して２回目のトランザクションを開始し、時刻Ｔ９では、アクセス要求（ニ）に対応したライト・コマンド「ＷＲＩＴ」を発行して２ワードのバーストライトを実行している。
【００３７】
なお、上述した１回目のトランザクションの動作から理解されるように、この実施例のメモリ用インターフェース装置１は、メモリ２の同一の行アドレスに対して、複数のアクセス要求を受け付けたときには、単一のトランザクションを継続させて、要求された複数のメモリアクセスを、ライトを優先して逐次に実行するようにしている。これによって、リードのレイテンシの影響を軽減し、全体的なアクセス時間を短縮することができる。なお、ここで、リードのアクセス要求よりも優先されるライトのアクセス要求は、少なくとも、そのリードのアクセス要求と同時か、それ以前に受け付けられたものである。
【実施例２】
【００３８】
本発明では、連続したアドレスに対して、ＳＤＲＡＭの各バンクを循環的に利用するバンクインターリーブを利用して、全体的なアクセス時間を更に短縮させる構成も可能であり、以下では、そのような構成の実施例を説明する。
【００３９】
上記のメモリ２として採用した１２８Ｍ×８品のＳＤＲＡＭは、互いに独立して動作可能な４つのバンクが内部的に構成されており、また、アドレス端子Ａ０−Ａ１３を備えている。そして、そのアドレス端子Ａ１２、Ａ１３は、コマンド入力時にバンクを指定するためのバンクセレクトに割り当てられ、行アドレスの入力には、アドレス端子Ａ０−Ａ１１、列アドレスの入力には、アドレス端子Ａ０−Ａ９が用いられるようになっている。
【００４０】
従って、データ処理システムＳにおいては、データ処理装置３（＃１〜＃３）がアドレス／データ共有バスＡＤに出力する２４ビットのアドレスを、メモリ２として採用したＳＤＲＡＭのバンクセレクトの２ビット、行アドレスの１２ビット、列アドレスの１０ビットに重複させない条件で任意にマッピングできるが、以下、本発明の別実施例として、バンクセレクトの２ビットのマッピングによって、バンクインターリーブによるメモリアクセスを実現させたものを説明する。
【００４１】
図３は、バンクインターリーブによるメモリアクセスを実現するための、ＳＤＲＡＭのアドレス端子に対する、２４ビットのアドレスのマッピングを説明する図面である。
【００４２】
この実施例のメモリ用インターフェース装置１では、図３に示すように、データ処理装置３（＃１〜＃３）が出力するアドレスのうち、下位側のＡ１、Ａ２をバンクセレクトの２ビット、すわわち、ＳＤＲＡＭのアドレス端子Ａ１２、Ａ１３に割り当てている。そして、メモリアクセス制御手段１１は、データ処理装置３（＃１〜＃３）からアクセス要求を受けると、メモリ２の４バンクに対して同一の行アドレスを与えて、バンクインターリーブによるトランザクションを開始させるように構成される。すなわち、この実施例は、上述した実施例において、更に、バンクセレクトのマッピングを規定し、かつトランザクションの開始、終了の処理手順を変形させたものである。
【００４３】
すなわち、この実施例におけるトランザクションは、各々異なるバンクを指定し、かつアクセス要求で指定された行アドレスに対する、連続した４つのバンクアクティブ・コマンド「ＡＣＴ」によって開始され、アクセス要求によって指定されたメモリアクセスを、ライト・コマンド「ＷＲＩＴ」やリード・コマンド「ＲＥＡＤ」によって実行したあと、必要時には、全バンクに対するプリチャージ・コマンド「ＰＡＬＬ」で終了されるメモリアクセスの手順として規定される。
【００４４】
これにより、連続したアドレスの２バイト毎に、メモリ２の４つのバンクが循環して切り替わるように、メモリ２のバンクインターリーブが形成され、同一の行アドレスに対するアドレス範囲の広さが実質的には４倍に拡大される。従って、同一のトランザクションで、より多くのアクセス要求が処理されるので、全体的なアクセス時間が短縮される。
【００４５】
図４は、この実施例によるデータ処理処理システムＳの動作を説明するタイミングチャートであり、システムクロックＣＬＫ、制御線Ｃ等によるＳＤＲＡＭの制御コマンド、アドレスバスＡ、データバスＤＱの時間変化を示している。
【００４６】
このタイミングチャートについて説明すると、メモリ用インターフェース装置１は、時刻Ｔ１では、バンク０〜３に対して、同一アドレスのバンクアクティブ・コマンド「ＡＣＴ」を発行してトランザクションを開始し、時刻Ｔ２では、バンク３に対して２ワードのバーストライトを実行し、時刻Ｔ３では、バンク１に対して２ワードのバーストライトを実行し、時刻Ｔ４では、バンク２に対して２ワードのバーストリードを実行し、時刻Ｔ５では、全バンクに対するプリチャージ・コマンド「ＰＡＬＬ」を発行して、トランザクションを終了させている。
【図面の簡単な説明】
【００４７】
【図１】本発明のメモリ用インターフェース装置の構成を説明するブロック図。
【図２】データ処理処理システムの動作を説明するタイミングチャート。
【図３】ＳＤＲＡＭのアドレス端子に対するアドレスのマッピングを説明する図面。
【図４】変形例であるデータ処理処理システムの動作を説明するタイミングチャート。
【符号の説明】
【００４８】
１  メモリ用インターフェース装置
２  メモリ
３  データ処理装置
１１  メモリアクセス制御手段
【図１】
2006252173.tif 000003
【図２】
2006252173.tif 000004
【図３】
2006252173.tif 000005
【図４】
2006252173.tif 000006