(57)【特許請求の範囲】
【請求項１】
複数の処理手段と、
前記複数の処理手段とメモリとの間のデータ転送を制御する手段であって、前記複数の処理手段における第１の処理手段から転送要求された第１のデータを第１のデータ長を単位として転送し、前記複数の処理手段における第２の処理手段から転送要求された第２のデータを前記第１のデータ長よりも短い第２のデータ長を単位として転送する制御手段とを備え、
前記制御手段は、前記第１のデータ長の第１のデータを転送した後、一つの前記第２のデータ長の第２のデータを転送するために必要な時間間隔で、次の前記第１のデータ長の第１のデータを転送し、前記第１のデータ長の第１のデータを転送した後に次の前記第１のデータ長の第１のデータを転送するまでの間に前記第２のデータ長の第２のデータを転送することを特徴とするメモリ制御装置。
【請求項２】
前記制御手段は、１回の前記第１のデータ長の第１のデータの転送が終了する毎に、前記第２のデータ長の第２のデータを転送することを特徴とする請求項１に記載のメモリ制御装置。
【請求項３】
前記第１の処理手段の１回の転送要求によるデータ長は、前記第２の処理手段の１回の転送要求によるデータ長よりも長いことを特徴とする請求項１に記載のメモリ制御装置。
【請求項４】
前記制御手段は、前記第１の処理手段からの転送要求が無く、前記第２の処理手段からの転送要求があった場合、前記第２のデータ長の第２のデータを転送するために必要な時間間隔で前記第２のデータ長の第２のデータを転送することを特徴とする請求項１に記載のメモリ制御装置。
【請求項５】
前記制御手段は、前記第１のデータの転送を制御する第１の転送制御部と、前記第２のデータの転送を制御する第２の転送制御部とを有し、
前記第１の転送制御部は、前記第１のデータ長の第１のデータの転送が終了したことに応じて、前記第２の転送制御部に転送許可を出力し、
前記第２の転送制御部は、前記第１の転送制御部からの前記転送許可に応じて前記第２のデータ長の第２のデータを転送することを特徴とする請求項１に記載のメモリ制御装置。
【請求項６】
前記第１の転送制御部は、前記第１の処理手段からの転送要求が無く、前記第２の処理手段からの転送要求があった場合、前記第２のデータ長の第２のデータを転送するために必要な時間間隔で前記第２の転送制御部に前記転送許可を出力することを特徴とする請求項５に記載のメモリ制御装置。
【請求項７】
前記制御手段は、前記第１の処理手段からの転送要求が書き込み要求であった場合には前記第１の処理手段から前記メモリに前記第１のデータを転送し、前記第１の処理手段からの転送要求が読み出し要求であった場合には前記メモリから前記第１の処理手段に前記第１のデータを転送し、前記第２の処理手段からの転送要求が書き込み要求であった場合には前記第２の処理手段から前記メモリに前記第２のデータを転送し、前記第２の処理手段からの転送要求が読み出し要求であった場合には前記メモリから前記第２の処理手段に前記第２のデータを転送することを特徴とする請求項１〜６の何れか１項に記載のメモリ制御装置。
【請求項８】
前記制御手段は、前記第１の処理手段からの１回の転送要求により転送要求された第１のデータを前記第１のデータ長に分割した結果、前記第１のデータ長に満たない分を前記第１のデータ長に加えて、前記第１の処理手段からの１回の転送要求によるデータ転送の先頭の転送時に転送することを特徴とする請求項１に記載のメモリ制御装置。
【請求項９】
前記第１の処理手段が扱うデータの伝送レートは、前記第２の処理手段が扱うデータの伝送レートよりも高いことを特徴とする請求項１に記載のメモリ制御装置。
【請求項１０】
メモリと複数の処理手段との間のデータ転送を制御する方法であって、
前記複数の処理手段における第１の処理手段から転送要求された第１のデータを第１のデータ長を単位として転送し、前記複数の処理手段における第２の処理手段から転送要求された第２のデータを前記第１のデータ長よりも短い第２のデータ長を単位として転送し、前記第１のデータ長の第１のデータを転送した後、一つの前記第２のデータ長の第２のデータを転送するために必要な時間間隔で、次の前記第１のデータ長の第１のデータを転送し、前記第１のデータ長の第１のデータを転送した後に次の前記第１のデータ長の第１のデータを転送するまでの間に前記第２のデータ長の第２のデータを転送することを特徴とするメモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置及びメモリ制御方法に関し、詳しくは共通使用されるメモリに係るデータ転送技術に関する。
【背景技術】
【０００２】
従来より、各種処理部、メモリ、及び入出力部等が各々バスによって接続されるシステムにおいて、システム全体のコストを抑えるために、各処理部が１つのメモリを共有して使用する方法が提案されている。動画像信号や音声信号などを扱うシステムでは、一定時間に所定の処理を行う処理部が複数存在して、それらが同時に動作しているため、各処理部がメモリとの間で行うデータ転送も一定時間内に終了しなければならない。
【０００３】
一般に、そのようなシステムのメモリ制御部は、１つの処理部がメモリを長時間占有することを防止するため、各処理部からのメモリアクセス要求を優先度に従って調停するアービタ回路を搭載している。これにより、ある処理部に対してメモリとの間でのデータ転送を許可している場合には、他の処理部によるメモリとの間でのデータ転送を待たせる仕組みになっている。
【０００４】
しかしながら、メモリとの間で行うデータ転送では、転送されるデータ長や優先度の設定によって、一定時間内に処理が完了できなかったり、必要とされる一定時間内にデータ転送を完了できなかったりする可能性がある。これに対処する１つの方法として、例えば特許文献１には、以下のようなメモリ制御方法が示されている。先行してメモリとの間でデータ転送を行っている処理部よりも優先度の高い処理部からのメモリアクセス要求があったとする。この場合に、現在行っているデータ転送を中断して、優先度の高い処理部によるデータ転送を行い、そのデータ転送完了後に中断したデータ転送を再開する方法が提案されている。
【０００５】
【特許文献１】特開２００３−１１４８２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述のように優先度の高い処理部がメモリとの間でデータ転送を行う場合に、当該処理部よりも優先度の低い処理部によるデータ転送を待たせる仕組みでは、優先度の低い処理部程待ち時間が長くなってしまう。そのため、システム全体のパフォーマンスを考慮して、優先度及び１転送処理当たりの転送データ長を決定することは比較的困難である。また、メモリとの間で先行して行われているデータ転送に対して優先度の高い処理部からのメモリアクセス要求を割り込ませてデータ転送を行うには、メモリ制御部にて複雑な処理を必要とする。
【０００７】
本発明は、このような事情に鑑みてなされたものであり、共有して使用されるメモリとの間でのデータ転送を、容易にかつリアルタイム性等を破綻することなく行えるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係るメモリ制御装置は、複数の処理手段と、前記複数の処理手段とメモリとの間のデータ転送を制御する手段であって、前記複数の処理手段における第１の処理手段から転送要求された第１のデータを第１のデータ長を単位として転送し、前記複数の処理手段における第２の処理手段から転送要求された第２のデータを前記第１のデータ長よりも短い第２のデータ長を単位として転送する制御手段とを備え、前記制御手段は、前記第１のデータ長の第１のデータを転送した後、一つの前記第２のデータ長の第２のデータを転送するために必要な時間間隔で、次の前記第１のデータ長の第１のデータを転送し、前記第１のデータ長の第１のデータを転送した後に次の前記第１のデータ長の第１のデータを転送するまでの間に前記第２のデータ長の第２のデータを転送することを特徴とする。
本発明に係るメモリ制御方法は、メモリと複数の処理手段との間のデータ転送を制御する方法であって、前記複数の処理手段における第１の処理手段から転送要求された第１のデータを第１のデータ長を単位として転送し、前記複数の処理手段における第２の処理手段から転送要求された第２のデータを前記第１のデータ長よりも短い第２のデータ長を単位として転送し、前記第１のデータ長の第１のデータを転送した後、一つの前記第２のデータ長の第２のデータを転送するために必要な時間間隔で、次の前記第１のデータ長の第１のデータを転送し、前記第１のデータ長の第１のデータを転送した後に次の前記第１のデータ長の第１のデータを転送するまでの間に前記第２のデータ長の第２のデータを転送することを特徴とする。
【発明の効果】
【０００９】
第１の処理手段からの転送要求によるデータ転送のリアルタイム性等を破綻させることなくかつ容易に、第１の処理手段からの転送要求によるデータ転送中であっても第２の処理手段からの転送要求によるデータ転送を行うことが可能になる。したがって、各処理手段におけるデータ転送のための待ち時間を軽減することができ、さらにそれに伴って各処理手段に対する入出力データを保持しておくためのメモリ容量も削減することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施形態を図面に基づいて説明する。
図１は、本発明の一実施形態による情報処理システムを適用した映像記録再生装置の構成例を示すブロック図である。
【００１１】
Ａ／Ｄ（アナログ・ディジタル）変換部１０１は、映像信号入力として入力されるアナログ映像信号をディジタル映像信号に変換する。Ｄ／Ａ（ディジタル・アナログ）変換部１０２は、映像信号処理部１０３から供給されるディジタル映像信号をアナログ映像信号に変換し映像信号出力として出力する。
【００１２】
映像信号処理部１０３は、記録動作時において、Ａ／Ｄ変換部１０１より供給されるディジタル映像信号を記録フォーマットに応じたデータフォーマットに変換し、記録再生処理部１０４へ記録映像データとして供給する。また、映像信号処理部１０３は、再生動作時において、記録再生処理部１０４より供給された再生映像データをディジタル映像信号に変換し、Ｄ／Ａ変換部１０２へ供給する。
【００１３】
記録再生処理部１０４は、記録動作時において、映像信号処理部１０３より供給された記録映像データを記録媒体１０７へ記録する。このとき、記録再生処理部１０４は、映像信号処理部１０３より供給された記録映像データに対して記録フォーマットに応じた符号化処理を行い、さらに誤り訂正符号を付加して記録媒体１０７への記録を行う。また、記録再生処理部１０４は、再生動作時において、記録媒体１０７から読み出されたデータに対して復号化処理及び誤り訂正処理を施し、復号化したデータを再生映像データとして映像信号処理部１０３に供給する。
【００１４】
映像信号処理部１０３及び記録再生処理部１０４によって行われる処理は、それぞれメモリコントローラ１０５を介してメモリ１０６に対する所定のデータ長単位でデータの読み出し及び書き込みを行いながら実行される。メモリ１０６は、例えばＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）であり、映像信号処理部１０３がアクセスする領域と記録再生処理部１０４がアクセスする領域は異なるバンクに配置されている。
【００１５】
メモリコントローラ１０５は、ＦＩＦＯ（First In First Out）（Ａ）１０８、シーケンサー（Ａ）１０９、ＦＩＦＯ（Ｂ）１１０、シーケンサー（Ｂ）１１１、及びセレクタ部１１２で構成されている。
【００１６】
ＦＩＦＯ（Ａ）１０８は、映像信号処理部１０３からの書き込みデータ又はメモリ１０６からの読み出しデータを一時的に保持し、シーケンサー（Ａ）１０９は、映像信号処理部１０３からのメモリアクセス要求を制御する。同様に、ＦＩＦＯ（Ｂ）１１０は、記録再生処理部１０４からの書き込みデータ又はメモリ１０６からの読み出しデータを一時的に保持し、シーケンサー（Ｂ）１１１は、記録再生処理部１０４からのメモリアクセス要求を制御する。セレクタ部１１２は、シーケンサー（Ａ）１０９及びシーケンサー（Ｂ）１１１からのＳＤＲＡＭコマンド、アドレス及びデータを切り替える。
【００１７】
ここで、シーケンサー（Ａ）１０９は、映像信号処理部１０３から要求されたデータ長でのデータ転送を指定データ長単位に分割して、メモリ１０６との間でデータ転送を行うように制御する。同様に、シーケンサー（Ｂ）１１１は、記録再生処理部１０４から要求されたデータ長でのデータ転送を指定データ長単位に分割して、メモリ１０６との間でデータ転送を行うように制御する。
【００１８】
シーケンサー（Ａ）１０９は、メモリ１０６との間でデータ転送を行う際に、シーケンサー（Ｂ）１１１とメモリ１０６との間でのデータ転送に必要な時間間隔を空けてデータ転送を行うように動作する。すなわち、シーケンサー（Ａ）１０９とメモリ１０６との間でのデータ転送では、指定データ長の分割データが転送され、少なくともシーケンサー（Ｂ）１１１とメモリ１０６との間でデータ転送を実行可能な時間が経過した後に、次の分割データが転送される。
【００１９】
また、シーケンサー（Ａ）１０９は、シーケンサー（Ｂ）１１１の転送開始タイミング信号をシーケンサー（Ｂ）１１１へ供給している。シーケンサー（Ｂ）１１１は、シーケンサー（Ａ）１０９から供給された転送開始タイミング信号に従ってメモリ１０６との間でのデータ転送を行うように動作する。つまり、この転送開始タイミング信号は、シーケンサー（Ｂ）１１１とメモリ１０６との間でのデータ転送の開始を許可する旨を示す信号である。
【００２０】
これにより、メモリコントローラ１０５は、映像信号処理部１０３及び記録再生処理部１０４からのメモリアクセス要求に応じてメモリ１０６に対するデータの読み書きを分割して行う。つまり、映像信号処理部１０３及び記録再生処理部１０４から要求されるメモリ１０６との間でのデータ転送は、メモリコントローラ１０５により時分割に分割されて行われる。
【００２１】
ここで、映像信号処理部１０３は、その内部に少なくとも映像信号１ライン分以下の処理に必要なデータ量を格納可能なメモリしか備えておらず、入出力を行う映像信号の１ライン時間内に１ライン分のデータをメモリ１０６へ読み書きする必要がある。映像信号処理部１０３は、映像信号１ラインに相当するデータを所定のデータ長単位でメモリ１０６へバースト転送を行うことでリアルタイム性を確保している。
【００２２】
それに対して、記録再生処理部１０４は、記録・再生処理動作時ともに映像信号の１フレーム時間内に１フレーム分のデータを処理すれば良い処理部である。すなわち、記録再生処理部１０４は、映像信号処理部１０３と比較してリアルタイム性が低く、また符号化されたデータを扱うために伝送レートも低い。なお、映像信号処理部１０３及び記録再生処理部１０４は、それぞれの処理タイミングで独立に所定のデータ長単位でデータ転送するためのメモリアクセス要求を行うことが可能である。
【００２３】
なお、図１に示した各機能部（例えば、映像信号処理部１０３、記録再生処理部１０４、メモリコントローラ１０５、及びメモリ１０６）は、それぞれが独立したデバイスにより構成されていても良いし、集積化された１つのデバイスであっても良い。また、すべての機能部ではなく、任意の機能部が集積化されて１つのデバイスとして構成されていても良い。
【００２４】
以下に、メモリコントローラ１０５におけるデータ転送制御動作について説明する。映像信号処理部１０３が、図２（ａ）に示すように９０ワード長での読み出し要求を行い、記録再生処理部１０４が、図２（ｂ）に示すように２０ワード長での書き込み要求を行う場合を一例として説明する。なお、映像信号処理部１０３及び記録再生処理部１０４がメモリ１０６に対する読み出し要求や書き込み要求を行う際のデータ長は、これに限定されるものではなく任意である。
【００２５】
ここで、映像信号処理部１０３及び記録再生処理部１０４は、それぞれ同様のプロトコルでメモリコントローラ１０５と通信を行う。すなわち、図２（ａ）、（ｂ）に示すように、映像信号処理部１０３及び記録再生処理部１０４は、メモリ１０６との間でのデータ転送要求を示すリクエスト信号をハイレベルにアサートした区間に転送要求に係る内容を示すアドレス信号を同時に送信する。このリクエスト信号のアサート・タイミングから一定の期間が経過したタイミングで書き込みデータの出力、又は読み出しデータの入力を行うようになっている。
【００２６】
アドレス信号は、図２中に示されるように、Ｒ／Ｗ領域、バースト長領域、及びオフセットアドレス領域で定義されている。Ｒ／Ｗ領域は、その転送要求が読み出し要求であるか書き込み要求であるかを示し、バースト長領域は、転送データ量を示す。また、オフセットアドレス領域は、読み出し又は書き込みを行うメモリ１０６上の先頭アドレスを示す。メモリコントローラ１０５は、このアドレス信号における各情報に基づいてメモリ１０６との間でのデータ転送を行う。
【００２７】
まず、映像信号処理部１０３からの要求に係るデータ転送において、シーケンサー（Ａ）１０９は、映像信号処理部１０３から要求されたバースト長を８ワード単位に分割するよう設定されている。また、バースト長が８ワード単位で割り切れない場合、その余りとなる端数ワード分は先頭のバースト長に加算して転送が行われるようにスケジューリングされる（これにより分割転送数が１回分軽減されるため、ＳＤＲＡＭコマンドにより発生するオーバーヘッドを軽減可能となっている）。
【００２８】
つまり、図２（ａ）に示した例では映像信号処理部１０３からの要求に係る９０ワードを８ワード単位に分割するため、余りの２ワードが先頭に加算されて、１０ワード（＝８＋２）×１回＋８ワード×１０回でデータ転送を行うようにスケジューリングされる。シーケンサー（Ａ）１０９は、１分割転送毎（１０ワード又は８ワードのデータ転送毎）に後述するシーケンサー（Ｂ）１１１による分割転送（後述する）に必要な時間間隔を空けてメモリ１０６との間でのデータ転送を行う。また、シーケンサー（Ａ）１０９は、１分割転送（１０ワード又は８ワードのデータ転送）が終了する度に、シーケンサー（Ｂ）１１１が分割転送を開始するための転送開始タイミング信号を生成してシーケンサー（Ｂ）１１１に供給している（図３（ａ）参照）。
【００２９】
一方、記録再生処理部１０４からの要求に係るデータ転送において、シーケンサー（Ｂ）１１１は、記録再生処理部１０４から要求されたバースト長を４ワード単位に分割するよう設定されている。なお、バースト長が４ワード単位で割り切れない場合には、その余りとなる端数ワード分は先頭のバースト長に加算して転送が行われるようにスケジューリングされる。
【００３０】
図２（ｂ）に示した例では記録再生処理部１０４からの要求に係る２０ワードを４ワード単位に分割するため、４ワード×５回でデータ転送が行われるようにスケジューリングされる。メモリ１０６に対して書き込みを行う際には、記録再生処理部１０４から出力されたデータ（２０ワード分）がＦＩＦＯ（Ｂ）１１０に順次格納される。そして、シーケンサー（Ｂ）１１１は、シーケンサー（Ａ）１０９から供給された転送開始タイミング信号に従って４ワードずつＦＩＦＯ（Ｂ）１１０からデータを読み出し、メモリ１０６に対して書き込み転送を行う（図３（ｂ）参照）。故に前述のシーケンサー（Ａ）１０８によって設けられるシーケンサー（Ｂ）１１０での分割転送に要する空き間隔は、４ワード転送分の間隔となっている。
【００３１】
シーケンサー（Ａ）１０９及びシーケンサー（Ｂ）１１１と、メモリ１０６との間で入出力されるＳＤＲＡＭコマンド、アドレス及びデータは、セレクタ部１１２により適宜切り替えられる。これにより、映像信号処理部１０３及び記録再生処理部１０４からそれぞれ要求されるデータ転送が時分割に分割されてメモリ１０６（ＳＤＲＡＭ）との間でデータ転送が行われる（図３（ｃ）参照）。ここで、シーケンサー（Ａ）１０９に映像信号処理部１０３からのデータ転送要求がない場合には、シーケンサー（Ａ）１０９は、シーケンサー（Ｂ）１１１のバースト転送に必要な最短間隔で転送開始タイミング信号を出力するようになっている（図４参照）。こうすることで、映像信号処理部１０３からデータ転送要求がなく、記録再生処理部１０４から要求されるデータ転送に競合がない場合には、記録再生処理部１０４の転送が効率的に行えるようになっている。
【００３２】
また、映像信号処理部１０３がアクセスする領域と記録再生処理部１０４がアクセスする領域は、上述したようにそれぞれメモリ１０６上で異なるバンクに配置されている。このように構成することで、図３（ｃ）に示すように映像信号処理部１０３及び記録再生処理部１０４が交互にデータ転送を行う場合には、ＳＤＲＡＭのマルチバンクアクセスが可能となり、より効率的なデータ転送が行える。
【００３３】
上述したデータ転送制御動作は、映像信号処理部１０３及び記録再生処理部１０４からの転送要求がそれぞれ他のバースト長での要求であったり、読み出し又は書き込みのどちらの要求であったりしても同様である。このデータ転送制御動作により、映像信号処理部１０３によるデータ転送を待たせることなく、映像信号処理部１０３及び記録再生処理部１０４による分割転送を同時に行うことが可能である。
【００３４】
以上のように本実施形態によれば、映像信号処理部１０３及び記録再生処理部１０４から要求されるデータ転送を予め指定した固定データ長に分割してメモリ１０６との間でのデータ転送を行う。このとき、記録再生処理部１０４に係る分割した固定データ長でのデータ転送が実行可能な時間を分割データ転送後に空けるようにして映像信号処理部１０３に係る分割した固定データ長でのデータ転送を行う。そして、記録再生処理部１０４に係るデータ転送をその空き時間で行う。このように容易な制御で時分割転送を行うことにより、映像信号処理部１０３に係るデータ転送を待たせることなく、ほぼ同時に記録再生処理部１０４に係るデータ転送を行うことが可能になる。したがって、映像信号処理部１０３及び記録再生処理部１０４と、それらが共通して用いるメモリ１０６との間での効率的なメモリ転送ができ、容易にかつリアルタイム性等を破綻することなくデータ転送を行うことが可能になる。
【００３５】
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の一実施形態における映像記録再生装置の構成例を示すブロック図である。
【図２】本実施形態におけるメモリコントローラの転送プロトコル及びアドレス定義を説明するための図である。
【図３】本実施形態におけるデータ転送制御の一例を示す図である。
【図４】本実施形態におけるデータ転送制御の他の例を示す図である。
【符号の説明】
【００３７】
１０３  映像信号処理部
１０４  記録再生処理部
１０５  メモリコントローラ
１０６  メモリ
１０７  記録媒体
１０８、１１０  ＦＩＦＯ
１０９、１１１  シーケンサー
１１２  セレクタ部
【図１】
0005037814.tif 000002
【図２】
0005037814.tif 000003
【図３】
0005037814.tif 000004
【図４】
0005037814.tif 000005