(57)【要約】【課題】  ＦＩＦＯを用いたメモリコントローラにより外部バスアクセスの高速化を可能としたメモリシステムを提供する。【解決手段】  データを格納するメモリ部と、メモリ部及び外部インタフェース部に接続される共有バスと、データを制御信号に応じて格納し出力するＦＩＦＯ部と、データを受ける内部バスと、共有バスとＦＩＦＯ部と内部バスとに接続され、与えられる制御信号に応じて、共有バスとＦＩＦＯ部とを導通させ、又は、共通バスと内部バスとを導通させるバスコントローラ部と、外部インタフェース部から与えられる操作信号に応じた制御信号を、バスコントローラ部に供給する調停部とをもつデータ処理装置。【選択図】図１
2007305073.tif 000002
【特許請求の範囲】
【請求項１】
データを格納するメモリ部と、
前記メモリ部及び外部インタフェース部に接続される共有バスと、
前記データを制御信号に応じて格納し出力するＦＩＦＯ部と、
データを受ける内部バスと、
前記共有バスと前記ＦＩＦＯ部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記ＦＩＦＯ部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、
前記外部インタフェース部から与えられる操作信号に応じた前記制御信号を、前記バスコントローラ部に供給する調停部を具備することを特徴とするデータ処理装置。
【請求項２】
前記調停部は、前記ＦＩＦＯ部の前記データの格納又は前記格納済みデータの出力が完了するまでは、前記共有バスと前記ＦＩＦＯ部とを導通させている状態から、前記共通バスと前記内部バスとを導通させている状態に遷移することはないことを特徴とする請求項１記載のデータ処理装置。
【請求項３】
前記内部バスは、全体の動作を制御するＣＰＵに接続され、更に、インタフェース部を介して前記ＦＩＦＯ部に接続されていることを特徴とする請求項１記載のデータ処理装置。
【請求項４】
前記調停部は、前記共有バスと前記ＦＩＦＯ部とを導通させている状態において前記操作信号により前記外部インタフェース部からのアクセス要求があると、所定時間経過後に前記共通バスと前記内部バスとを導通させることを特徴とする請求項１記載のデータ処理装置。
【請求項５】
前記調停部は、前記共有バスと前記ＦＩＦＯ部とが導通していない状態において、前記操作信号により前記外部インタフェース部からのアクセス要求があると、直ちに前記共通バスと前記内部バスとを導通させることを特徴とする請求項１記載のデータ処理装置。
【請求項６】
外部からデータを受ける共有バスと、
前記データを制御信号に応じて格納し出力するＦＩＦＯ部と、
データを受ける内部バスと、
前記共有バスと前記ＦＩＦＯ部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記ＦＩＦＯ部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、
前記バスコントローラ部に前記制御信号を供給する調停部をワンチップ上に具備することを特徴とするメモリコントローラチップ。
【請求項７】
前記調停部は、前記ＦＩＦＯ部の前記データの格納又は前記格納済みデータの出力が完了するまでは、前記共有バスと前記ＦＩＦＯ部とを導通させている状態から、前記共通バスと前記内部バスとを導通させている状態に遷移することはないことを特徴とする請求項６記載のメモリコントローラチップ。
【請求項８】
前記内部バスは、全体の動作を制御するＣＰＵに接続され、更に、インタフェース部を介して前記ＦＩＦＯ部に接続されていることを特徴とする請求項６記載のメモリコントローラチップ。
【請求項９】
前記調停部は、前記共有バスと前記ＦＩＦＯ部とを導通させている状態において前記操作信号により前記外部インタフェース部からのアクセス要求があると、所定時間経過後に前記共通バスと前記内部バスとを導通させることを特徴とする請求項６記載のメモリコントローラチップ。
【請求項１０】
前記調停部は、前記共有バスと前記ＦＩＦＯ部とが導通していない状態において、前記操作信号により前記外部インタフェース部からのアクセス要求があると、直ちに前記共通バスと前記内部バスとを導通させることを特徴とする請求項６記載のメモリコントローラチップ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はメモリとインタフェースとメモリコントローラチップとによるデータ処理装置に関し、内部にＦＩＦＯバッファを備えたメモリコントローラチップをもつデータ処理装置に関する。
【背景技術】
【０００２】
最近、デジタル機器の開発・普及が進んできており、これらに用いられるメモリシステムにおいても、高品質な性能が望まれている。
【０００３】
特許文献１には、共通パスを介して外部装置を接続する処理装置の内部バスの使用効率を向上させるアービタが開示されている。
【特許文献１】特開２００４−１３９２９６公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術である特許文献１は、メモリコントローラを示しているが、このシステムには、メモリバッファであるＦＩＦＯが用いられているわけではないので、十分な入出力制御が行なえず、ＦＩＦＯを用いた際に具体的にどのように複数のパスの調停等を行うかがわからないという問題がある。
【０００５】
そこで、この発明は上記事情を考慮してなされたもので、ＦＩＦＯを用いたメモリコントローラにより外部バスアクセスの高速化を可能としたメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る一実施形態は、データを格納するメモリ部と、前記メモリ部及び外部インタフェース部に接続される共有バスと、前記データを制御信号に応じて格納し出力するＦＩＦＯ部と、データを受ける内部バスと、前記共有バスと前記ＦＩＦＯ部と前記内部バスとに接続され、与えられる制御信号に応じて、前記共有バスと前記ＦＩＦＯ部とを導通させ、又は、前記共通バスと前記内部バスとを導通させるバスコントローラ部と、前記外部インタフェース部から与えられる操作信号に応じた前記制御信号を、前記バスコントローラ部に供給する調停部とを具備することを特徴とするデータ処理装置である。
【発明の効果】
【０００７】
本発明によれば、ＦＩＦＯを用いたメモリコントローラとメモリ等により構成された効率的なメモリシステムを提供する。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施の形態について図面を参照して詳細に説明する。
【０００９】
図１は、本発明の一実施形態に係るメモリコントローラを含むメモリシステムの一例を示すシステム図。図２は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すタイミングチャート。図３は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。図４は、本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。図５は、本発明の一実施形態に係るメモリコントローラのＦＩＦＯに対する信号入出力の動作を示すフローチャートである。
【００１０】
＜本発明に係る一実施形態であるメモリシステム＞
（構成）
初めに、本発明に係る一実施形態であるメモリシステム１の構成を説明する。メモリシステム１は、図１に示すように、一つの半導体チップであるメモリコントローラ１００と、これに接続されるメモリチップ１０８と、ＰＣ等の情報処理装置１１５と、この情報処理装置１１５とメモリコントローラ１００とを仲介するＩ／Ｆ部１０９とからなるものである。
【００１１】
更に、メモリコントローラ１００は、メモリコントローラ１０１と、メモリコントローラのプロセッサ間バスのインタフェース１０２と、メモリコントローラのメモリのインタフェース１０３と、メモリコントローラ内のＦＩＦＯ１０４と、メモリコントローラ内のデータバスアービター１０５と、外部データバスのコントローラ１０６と、外部バスのコントローラ１０７と、ＣＰＵ１１０と、プロセッサとメモリコントローラと外部コントローラ間のバス１１１と、メモリコントローラからメモリへの制御信号１１２と、外部コントローラからＩ／Ｆ部１０９への制御信号１１３と、メモリ・外部バス兼用の共有データバス１１４とを有している。
【００１２】
又、メモリコントローラ１０１は、外部バスコントローラ１０７と共有データバス１１４を兼用している。複数のモジュールでデータバスを兼用している半導体チップの場合、どちらかのモジュールがバスを占拠し続けることがないように作成する必要がある。
【００１３】
しかし、メモリコントローラ１００がメモリチップ１０８への高速アクセスを要求される場合、メモリコントローラ１００ができるだけバスを占有的に使用しながらも、外部バスコントローラ１０７が外部バスのＩ／Ｆ部１０９に全然アクセスできないことのないように適切なアクセス性を確保した設計にする必要がある。
【００１４】
そこで、ＦＩＦＯ１０４からの読込処理／ＦＩＦＯ１０４への書込処理が、一定程度、実行された段階で、外部バスからのバス要求があった場合、一度バス使用許可を外部バスコントローラ１０７に渡し、外部バスは１アクセス実行できるものとする。
【００１５】
＜アクセス動作＞
（タイミングチャート）
次に、本発明の一実施形態に係るメモリシステム１のアクセス動作について説明する。図２は、メモリコントローラがリード中に外部バスコントローラ１０７がリードを実行する場合のタイミングチャートである。メモリコントローラ１０１は基本的にバスを占有し、最速のタイミングでメモリチップ１０８からＦＩＦＯへリードしている。
【００１６】
メモリチップ１０８からＦＩＦＯへＦＩＦＯサイクル以上のリード（又はライト）処理が行われた段階で、外部バスコントローラ１０７が外部バスリクエスト信号をアサートしている場合、外部バスアービターが外部バスグラント信号をアサートする。ここで、ＦＩＦＯサイクルとは、ＦＩＦＯの容量に対する格納に要する時間又は読出に要する時間である。
【００１７】
次に、外部バスコントローラ１０７は、外部バスのリードが実行する。外部バスのリードが終了と同時に、外部バスコントローラ１０７は、外部バスリクエスト信号をデアサートする。これを受けて、外部バスアービター１０５は、外部バスグラント信号をデアサートし、メモリチップ１０８からのリードを再開する。
【００１８】
次に、メモリチップ１０８に対する書込処理及び読出処理の手順を図１，図３乃至図５を用いて説明する。
【００１９】
（メモリチップ１０８への書込処理）
メモリシステム１において、ＣＰＵ１１０からＩ／Ｆ部１０２へライト処理の指示信号（ライト信号）が出力される。Ｉ／Ｆ部１０２からＦＩＦＯ１０４へデータが格納される。その際、ＦＩＦＯ１０４に一定のデータがたまるまで（ＦＩＦＯサイクル）、ＣＰＵ１１０から連続でデータが出力される。その間、内部バス１１１は占有される。
【００２０】
ＦＩＦＯ１０４に一定数のデータが格納されたら、内部バス１１１は開放される。インタフェース１０３はメモリチップ１０８へ、ライト信号を出力する。データバスコントローラ１０６はライトのタイミングに合わせて、順次ＦＩＦＯ１０４からデータを共有データバス１１４へ出力する。
【００２１】
データライト中に、ＣＰＵ１１０が外部バスを使用しようとすると、ＣＰＵ１１０から外部バスコントローラ１０７へライト信号又はリード信号が出力される。すると、外部バスコントローラ１０７からアービター１０５へリクエストが出力される。アービター１０５は、ＦＩＦＯサイクル以上の書込処理が実行されたところで、外部バスコントローラ１０７へグラントを帰し、共有データバス１１４の使用権を渡す。
【００２２】
外部バスコントローラ１０７はグラントを受け取ったら、制御信号１１３にライト信号又はリード信号を出力し、データバスコントローラ１０６はＦＩＦＯ１０４から入力をやめ、内部バス１１１のデータをＩ／Ｆ部１０９へライトもしくは、Ｉ／Ｆ部１０９からデータを内部バス１１１へリードが一回実行される。一回実行されたら、外部バスコントローラ１０７はアービター１０５へのリクエストを一度デアサートする。ＣＰＵ１１０が外部バスコントローラ１０７へ引き続き、ライト信号又はリード信号を出力した場合、外部バスコントローラ１０７は再度アービター１０５へリクエストをアサートする。
【００２３】
アービター１０５は外部バスコントローラ１０７からのリクエストが一度デアサートしたら、次の区切りとなるまで、外部バスコントローラ１０７へはグラントを返さない。アービター１０５がグラントを返していない間は、データバスコントローラ１０６がＦＩＦＯ１０４からメモリチップ１０８へデータを出力する。
【００２４】
（メモリチップ１０８からの読取処理）
メモリシステム１において、メモリチップ１０８からのリード処理は以下のような流れで実行される。
【００２５】
ＣＰＵ１１０からＩ／Ｆ部１０２へリード信号が出力される。インタフェース１０３はメモリチップ１０８へ、リード信号を出力する。データバスコントローラ１０６はリードのタイミングに合わせて、順次共有データバス１１４からデータをＦＩＦＯ１０４へ格納する。その際、ＦＩＦＯ１０４に一定のデータがたまるまで（ＦＩＦＯサイクル）、メモリチップ１０８から連続でデータが出力される。
【００２６】
ＦＩＦＯ１０４に一定数のデータが格納されたら、Ｉ／Ｆ部１０２から順次データが出力される。この間、内部バス１１１は占有される、ＦＩＦＯ１０４のデータを読み出したら、内部バス１１１は開放される。
【００２７】
データリード中に、ＣＰＵ１１０が外部バスを使用しようとすると、ＣＰＵ１１０から外部バスコントローラ１０７へライト信号又はリード信号が出力される。すると、外部バスコントローラ１０７からアービター１０５へリクエストが出力される。アービター１０５は、ＦＩＦＯサイクル以上の読出処理が実行されたところで、外部バスコントローラ１０７へグラントを帰し、共有データバス１１４の使用権を渡す。
【００２８】
外部バスコントローラ１０７はグラントを受け取ったら、制御信号１１３にライト信号又はリード信号を出力し、データバスコントローラ１０６はメモリチップ１０８からの入力をやめ、内部バス１１１のデータをＩ／Ｆ部１０９へライトもしくは、Ｉ／Ｆ部１０９からデータを内部バス１１１へリードが一回実行される。一回実行されたら、外部バスコントローラ１０７はアービター１０５へのリクエストを一度デアサートする。ＣＰＵ１１０が外部バスコントローラ１０７へ引き続き、ライト信号又はリード信号を出力した場合、外部バスコントローラ１０７は再度アービター１０５へリクエストをアサートする。
【００２９】
アービター１０５は外部バスコントローラ１０７からのリクエストが一度デアサートしたら、次の区切りとなるまで、外部バスコントローラ１０７へはグラントを返さない。アービター１０５がグラントを返していない間は、データバスコントローラ１０６がメモリチップ１０８からＦＩＦＯ１０４へデータを入力する。
【００３０】
（フローチャート）
次に、図３のフローチャートを用いて、上述した本発明の一実施形態であるメモリシステム１のアクセス動作を説明する。初めに、メモリシステム１において、メモリアクセス中であれば（ステップＳ１００）、ＣＰＵ１１０、外部バスコントローラ１０７、アービター１０５の判断により、ＦＩＦＯへの書込処理又はＦＩＦＯからの読出処理が行なわれる（ステップＳ１０１）。このとき、データバスコントローラ１０６は、共有バス１１４とＦＩＦＯ部１０４とを導通させている。
【００３１】
ここで、ＦＩＦＯサイクル以上のＦＩＦＯへのアクセス、書込処理又は読出処理があれば（ステップＳ１０２）、外部バスから要求があった場合は（ステップＳ１０３）、ＣＰＵ１１０、外部バスコントローラ１０７、アービター１０５の判断により、一度外部バスにバスを渡す。すなわち、ＣＰＵ１１０、外部バスコントローラ１０７、アービター１０５の判断により、共通バス１１４と内部バス１１１とを導通させることによって、メモリコントローラが外部バスの使用を許可する（ステップＳ１０４）。そして、外部バスが少なくとも１回、アクセスを実行するものである（ステップＳ１０５）。
【００３２】
・強制的な外部バス使用
又、このとき、更に、図４に示すフローチャートのように、外部バスの要求があってから所定時間（先のＦＩＦＯサイクルとは異なり、これよりも長い任意の時間）が経過すると、強制的に外部バスの使用を許可することも好適である。
【００３３】
すなわち、メモリシステム１において、外部バスの要求があれば（ステップＳ１０６）、ＣＰＵ１１０等の判断により、ＣＰＵ１１０等で実現したタイマーを起動する（ステップＳ１０７）。そして、所定時間（先のＦＩＦＯサイクルとは異なり、これよりも長い任意の時間）が経過したかどうかを判断し（ステップＳ１０８）、タイムアップしたら、ＣＰＵ１１０、外部バスコントローラ１０７、アービター１０５の判断により、共通バス１１４と内部バス１１１とを導通させることによって、メモリコントローラが外部バスの使用を許可する（ステップＳ１０９）。これにより、外部バスのアクセスを不当に待たせることによってシステムの動作が停滞してしまう不具合を回避して外部バスアクセスの高速化を実現することができる。
【００３４】
・ＦＩＦＯに対する処理
次に、ＦＩＦＯバッファ１０４に対する処理について、図５を用いて説明する。メモリコントローラ１において、ＦＩＦＯ１０４に対する格納処理又は読出処理が可能である（ステップＳ１１０）。
【００３５】
メモリコントローラ１０１のＦＩＦＯ１０４に対する格納処理が行なわれる場合は、例えば、データバスコントローラ１０６によりメモリチップ１０８とＦＩＦＯ１０４とを導通させた状態で行なわれる（ステップＳ１１１）。この格納処理は、ＦＩＦＯ１０４の容量が一杯になるまで行なわれる（ステップＳ１１２）。
【００３６】
一方で、メモリコントローラ１０１のＦＩＦＯ１０４からの読出処理が行なわれる場合は、例えば、データバスコントローラ１０６によりメモリチップ１０８とＦＩＦＯ１０４とを導通させた状態で行なわれる（ステップＳ１１３）。この読出処理は、ＦＩＦＯ１０４の容量が空になるまで行なわれる（ステップＳ１１４）。
【００３７】
それ以外に、このようなＦＩＦＯサイクルや設定した所定時間（図４）以外にも、ユーザが任意に設定できる外部バスアクセスの強制モードを設けることで、選択的に外部アクセスを優先することも好適である。
【００３８】
従って、本発明に係るメモリシステムによれば、外部バスとデータを兼用することにより、メモリシステムの入出力ピン数を削減することができる。
【００３９】
更に、専用の外部バスも、一定の間隔で必ずアクセスが可能となりアクセスの高速化を実現するものである。
【００４０】
以上記載した様々な実施形態により、当業者は本発明を実現することができるが、更にこれらの実施形態の様々な変形例を思いつくことが当業者によって容易であり、発明的な能力をもたなくとも様々な実施形態へと適用することが可能である。従って、本発明は、開示された原理と新規な特徴に矛盾しない広範な範囲に及ぶものであり、上述した実施形態に限定されるものではない。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態に係るメモリコントローラを含むメモリシステムの一例を示すシステム図。
【図２】本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すタイミングチャート。
【図３】本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。
【図４】本発明の一実施形態に係るメモリコントローラの信号入出力の動作を示すフローチャート。
【図５】本発明の一実施形態に係るメモリコントローラのＦＩＦＯに対する信号入出力の動作を示すフローチャート。
【符号の説明】
【００４２】
１００…メモリコントローラ、１０２…Ｉ／Ｆ部、１０３…Ｉ／Ｆ部、１０５…アービター、１０６…データバスコントローラ、１０７…外部バスコントローラ。
【図１】
2007305073.tif 000003
【図２】
2007305073.tif 000004
【図３】
2007305073.tif 000005
【図４】
2007305073.tif 000006
【図５】
2007305073.tif 000007