(57)【要約】【課題】ＳＤＲＡＭをインターフェース間のデータバッファとして用いる場合に、各インターフェースの仕様に合わせてＳＤＲＡＭを制御することが可能な、極めて汎用性に優れたＳＤＲＡＭコントローラを提供する。【解決手段】ＳＤＲＡＭコントローラ１１１において、リクエスト信号及び書き込み・読み出し開始アドレスが入力されると、バッファ制御部２１は記録部２４に記録されている優先順位及び対応関係を参照し、その参照結果に基づいてＦＩＦＯ１１３〜１１６を制御し、制御コマンド生成部２２はリクエスト信号に基づく制御コマンドを生成してＳＤＲＡＭ１２に送り、アドレス生成部２３は入力開始アドレスによりアドレス値をインクリメントして書き込み・読み出しアドレスを生成してＳＤＲＡＭ１２に送り、これによってＳＤＲＡＭ１２に対するデータの書き込み・読み出しを行う。【選択図】      図１
2008225894.tif 000002
【特許請求の範囲】
【請求項１】
複数のインターフェース間で送受信されるデータを一時的に記憶するＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）と、前記複数のインターフェースそれぞれに対応して設けられ、前記インターフェース及び前記ＳＤＲＡＭ間のデータ伝送速度を調整する複数の緩衝バッファとを備えるデータバッファ装置に用いられ、前記ＳＤＲＡＭのデータ書き込み・読み出し及び複数の緩衝バッファのデータの入出力を外部装置からの指示に応じて制御するＳＤＲＡＭコントローラにおいて、
前記外部装置から与えられ、前記複数の緩衝バッファそれぞれのデータ入出力処理を指示するリクエスト信号、及び前記リクエスト信号に合わせてＳＤＲＡＭに対する書き込み・読み出しの開始アドレスを指示する書き込み・読み出し開始アドレス信号を受け取る受取部と、
前記ＳＤＲＡＭと前記複数のインターフェース間におけるデータの書き込み・読み出し処理の優先順位と、当該データの書き込み・読み出し処理と前記リクエスト信号で指示される緩衝バッファそれぞれのデータ入出力処理との対応関係とが予め登録される登録部と、
前記リクエスト信号に従って前記緩衝バッファの動作を制御する緩衝バッファ制御部と、
前記リクエスト信号に基づいて前記ＳＤＲＡＭへの書き込み・読み出しを指示する制御コマンドを生成する制御コマンド生成部と、
前記書き込み・読み出し開始アドレス信号をセットして前記リクエスト信号で指示されるデータ入出力処理に応じた前記ＳＤＲＡＭへの書き込み・読み出しアドレス信号を生成するアドレス生成部と
を具備し、
前記緩衝バッファ制御部は、前記リクエスト信号の入力時に、前記対応関係を参照して、当該リクエスト信号によって指示される処理に対応する前記書き込み・読み出し処理以外の処理が行われているか否かを判断し、対応する処理以外の処理が行われている場合には、前記優先順位を参照して、優先順位の高い方の処理を先に完了させることを特徴とするＳＤＲＡＭコントローラ。
【請求項２】
前記アドレス生成部は、前記ＳＤＲＡＭと前記複数のインターフェースそれぞれとの間におけるデータの書き込み・読み出しを行うための前記ＳＤＲＡＭに対する書き込み・読み出しアドレス信号を生成する複数のアドレスカウンタを備え、前記リクエスト信号の指示に対応するアドレスカウンタを選択して当該カウンタに前記書き込み・読み出しアドレス開始信号をセットしアドレス生成を開始することを特徴とする請求項１に記載のＳＤＲＡＭコントローラ。
【請求項３】
前記緩衝バッファ制御部は、前記受取部で複数のリクエスト信号がまとめて受け取られるとき、前記優先順位に基づき、前記複数のリクエスト信号の処理順序を決定することを特徴とする請求項１に記載のＳＤＲＡＭコントローラ。
【請求項４】
前記受取部、登録部、緩衝バッファ制御部、制御コマンド生成部及びアドレス生成部は、ＦＰＧＡ（Field Programmable Gate Array）によって形成され、前記外部装置から与えられるパラメータに基づいて前記緩衝バッファ数の使用個数に対応するようにゲート・アレイが組替制御されることを特徴とする請求項１に記載のＳＤＲＡＭコントローラ。
【請求項５】
前記優先順位及び対応関係は、前記緩衝バッファの使用個数に合わせて更新されることを特徴とする請求項１記載のＳＤＲＡＭコントローラ。
【請求項６】
複数のインターフェース間で送受信されるデータを一時的に記憶するＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）と、前記複数のインターフェースそれぞれに対応して設けられ、前記インターフェース及び前記ＳＤＲＡＭ間のデータ伝送速度を調整する複数の緩衝バッファとを備えるデータバッファ装置に用いられ、前記ＳＤＲＡＭのデータ書き込み・読み出し及び複数の緩衝バッファのデータの入出力を外部装置からの指示に応じて制御するＳＤＲＡＭコントローラによるＳＤＲＡＭ制御方法において、
前記外部装置から与えられ、前記複数の緩衝バッファそれぞれのデータ入出力処理を指示するリクエスト信号、及び前記リクエスト信号に合わせてＳＤＲＡＭに対する書き込み・読み出しの開始アドレスを指示する書き込み・読み出し開始アドレス信号を受け取り、
前記ＳＤＲＡＭと前記複数のインターフェース間におけるデータの書き込み・読み出し処理の優先順位と、当該データの書き込み・読み出し処理と前記リクエスト信号で指示される緩衝バッファそれぞれのデータ入出力処理との対応関係とを予め登録し、
前記リクエスト信号に従って前記緩衝バッファの動作を制御し、
前記リクエスト信号に基づいて前記ＳＤＲＡＭへの書き込み・読み出しを指示する制御コマンドを生成し、
前記書き込み・読み出し開始アドレス信号をセットして前記リクエスト信号で指示されるデータ入出力処理に応じた前記ＳＤＲＡＭへの書き込み・読み出しアドレス信号を生成し、
前記緩衝バッファの動作の制御は、前記リクエスト信号の入力時に、前記対応関係を参照して、当該リクエスト信号によって指示される処理に対応する前記書き込み・読み出し処理以外の処理が行われているか否かを判断し、対応する処理以外の処理が行われている場合には、前記優先順位を参照して、優先順位の高い方の処理を先に完了させることを特徴とするＳＤＲＡＭ制御方法。
【請求項７】
前記ＳＤＲＡＭと前記複数のインターフェースそれぞれとの間におけるデータの書き込み・読み出しを行うための前記ＳＤＲＡＭに対する書き込み・読み出しアドレス信号は、複数のアドレスカウンタのうち、前記リクエスト信号の指示に対応するアドレスカウンタを選択して当該カウンタに前記書き込み・読み出しアドレス開始信号をセットすることで生成が開始されることを特徴とする請求項６に記載のＳＤＲＡＭ制御方法。
【請求項８】
前記緩衝バッファの動作の制御は、前記複数のリクエスト信号がまとめて受け取られるとき、前記優先順位に基づき、前記複数のリクエスト信号の処理順序を決定することを特徴とする請求項６に記載のＳＤＲＡＭ制御方法。
【請求項９】
前記リクエスト信号と前記書き込み・読み出し開始アドレス信号との受け取り、前記優先順位と前記対応関係との登録、前記緩衝バッファの動作の制御、前記制御コマンドの生成及び前記書き込み・読み出しアドレス信号の生成は、フィールド・プログラム・ゲート・アレイによって形成され、前記外部装置から与えられるパラメータに基づいて前記緩衝バッファ数の使用個数に対応するようにゲート・アレイが組替制御されることを特徴とする請求項６に記載のＳＤＲＡＭ制御方法。
【請求項１０】
前記優先順位及び対応関係は、前記緩衝バッファの使用個数に合わせて更新されることを特徴とする請求項６記載のＳＤＲＡＭ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばデータの一時記憶バッファとして用いられるＳＤＲＡＭ（Synchronous Dynamic Random-Access Memory）を制御するＳＤＲＡＭコントローラに関する。
【背景技術】
【０００２】
ＳＤＲＡＭは、ＣＰＵ（Central Processing Unit）のメインメモリとしての用途の他、データの一時記憶するためのデータバッファ装置としても様々な機器で採用されている。例えば、一方のインターフェースから他方のインターフェースへ伝送されるデータを、ＳＤＲＡＭに一時的に記憶することにより、インターフェース間のデータ伝送速度を調整する。このようなデータバッファ装置では、ＳＤＲＡＭをデータバッファとして使用するためのＳＤＲＡＭコントローラを備え、このコントローラによってＳＤＲＡＭに制御コマンド信号及び書き込み・読み出しアドレス信号を出力することで、ＳＤＲＡＭに対するデータの書き込み・読み出しを制御する。
【０００３】
ところで、上記のようなＳＤＲＡＭを利用するデータバッファ装置にあっては、その製造に当たり、使用される機器毎に専用のＳＤＲＡＭコントローラが開発されている。このように機器の開発の度にＳＤＲＡＭコントローラを開発することは、設計の効率化及び開発期間の短縮を妨げる大きな要因となっており、製造コストの大幅な上昇を招いている。
【０００４】
なお、記憶媒体のコントローラをＣＰＵと記憶媒体とから分離して、このコントローラにより、記憶媒体を制御することにより、ＣＰＵと記憶媒体との組み合わせを自由にする例もある（例えば、特許文献１参照）。また、コントローラ内にインターフェース回路を設置し、このインターフェース回路によりアクセス元からの複数のアクセス要求を調停して記憶媒体におけるアクセスすべきブロックを抽出することにより、アプリケーションの変更や、アクセス要因の変更や、ＳＤＲＡＭのタイミング・パラメータの変更などに柔軟に対応する例もある（例えば、特許文献２参照）。
【特許文献１】特開２００１−２６５６４７号公報
【特許文献２】特開２００２−３２８８３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
以上のように、従来のＳＤＲＡＭコントローラは、使用される機器毎に開発されており、設計の効率化及び開発期間の短縮を妨げる要因となっており、製造コストの大幅な上昇を招いていた。
【０００６】
この発明は上記事情によりなされたもので、その目的は、ＳＤＲＡＭをインターフェース間のデータバッファとして用いる場合に、各インターフェースの仕様に合わせてＳＤＲＡＭを制御することが可能な、極めて汎用性に優れたＳＤＲＡＭコントローラを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明は、複数のインターフェース間で送受信されるデータを一時的に記憶するＳＤＲＡＭと、前記複数のインターフェースそれぞれに対応して設けられ、前記インターフェース及び前記ＳＤＲＡＭ間のデータ伝送速度を調整する複数の緩衝バッファとを備えるデータバッファ装置に用いられ、前記ＳＤＲＡＭのデータ書き込み・読み出し及び複数の緩衝バッファのデータの入出力を外部装置からの指示に応じて制御するＳＤＲＡＭコントローラにおいて、前記外部装置から与えられ、前記複数の緩衝バッファそれぞれのデータ入出力処理を指示するリクエスト信号、及び前記リクエスト信号に合わせてＳＤＲＡＭに対する書き込み・読み出しの開始アドレスを指示する書き込み・読み出し開始アドレス信号を受け取る受取部と、前記ＳＤＲＡＭと前記複数のインターフェース間におけるデータの書き込み・読み出し処理の優先順位と、当該データの書き込み・読み出し処理と前記リクエスト信号で指示される緩衝バッファそれぞれのデータ入出力処理との対応関係とが予め登録される登録部と、前記リクエスト信号に従って前記緩衝バッファの動作を制御する緩衝バッファ制御部と、前記リクエスト信号に基づいて前記ＳＤＲＡＭへの書き込み・読み出しを指示する制御コマンドを生成する制御コマンド生成部と、前記書き込み・読み出し開始アドレス信号をセットして前記リクエスト信号で指示されるデータ入出力処理に応じた前記ＳＤＲＡＭへの書き込み・読み出しアドレス信号を生成するアドレス生成部とを具備し、前記緩衝バッファ制御部は、前記リクエスト信号の入力時に、前記対応関係を参照して、当該リクエスト信号によって指示される処理に対応する前記書き込み・読み出し処理以外の処理が行われているか否かを判断し、対応する処理以外の処理が行われている場合には、前記優先順位を参照して、優先順位の高い方の処理を先に完了させる。
【０００８】
このような手段を講じることにより、外部装置からリクエスト信号が入力されると、予め登録された優先順位及び対象関係を参照し、参照結果に基づいて緩衝バッファ制御部で緩衝バッファを制御し、制御コマンド生成部及びアドレス生成部でＳＤＲＡＭの書き込み・読み出しを制御するようにしているので、外部装置からの指示により、インターフェースの仕様に合わせてＳＤＲＡＭへのデータの書き込み・読み出しを簡単に行えるようになる。また、インターフェースの個数に合わせて、優先順位及び対応関係を更新するようにしているので、インターフェースの個数に容易に対応することが可能となる。これにより、インターフェースの個数が変化しても、その変化に柔軟に対応することが可能となり、その汎用性が格段に向上する。この結果、設計の効率化及び開発期間の短縮が実現され、製造コストも飛躍的に低減することが可能となる。
【発明の効果】
【０００９】
以上のように、本発明の構成によれば、インターフェースの個数が変化しても、その変化に柔軟に対応することが可能となり、その汎用性が格段に向上する。この結果、設計の効率化及び開発期間の短縮が実現され、製造コストも飛躍的に低減することが可能となる。したがって、本発明によれば、ＳＤＲＡＭをインターフェース間のデータバッファとして用いる場合に、各インターフェースの仕様に合わせてＳＤＲＡＭを自在に制御することが可能な、極めて汎用性に優れたＳＤＲＡＭコントローラを提供することができる。
【発明を実施するための最良の形態】
【００１０】
以下、図面を参照しながら本発明の実施の形態について詳細に説明する。
【００１１】
図１は、本発明の一実施形態に係るＳＤＲＡＭコントローラを用いたデータバッファ装置の構成を示すブロック図である。図１において、１はデータバッファ装置を示し、このデータバッファ装置１はＣＰＵ（Central Processing Unit）２からの命令に従い、インターフェース（ここでは例としてバス・インターフェース）Ａ及びインターフェース（ここでは例としてフラッシュメモリ・インターフェース）Ｂの間で行うデータ伝送の速度調整を行うもので、内部には上記インターフェースＡ−Ｂ間の入出力データを管理するＦＰＧＡ（Field Programmable Gate Array）によるデータ処理装置１１と、このデータ処理装置１１で管理される入出力データを一時記憶するＳＤＲＡＭ１２とを備える。
【００１２】
上記ＦＰＧＡによるデータ処理装置１１は、ＳＤＲＡＭコントローラ１１１と、ＣＰＵ２に接続されるＣＰＵインターフェースモジュール１１２と、バス・インターフェースＡ−ＳＤＲＡＭ１２間の緩衝バッファとなる入力用ＦＩＦＯ（First In First Out）メモリ１１３及び出力用ＦＩＦＯメモリ１１４と、フラッシュメモリ・インターフェースＢ−ＳＤＲＡＭ１２間の緩衝バッファとなる入力用ＦＩＦＯメモリ１１５及び出力用ＦＩＦＯメモリ１１６とを備える。
【００１３】
上記ＣＰＵインターフェースモジュール１１２は、ＣＰＵ２から、入力用ＦＩＦＯメモリ（以下、入力ＦＩＦＯ）１１３，１１５及び出力用ＦＩＦＯメモリ（以下、出力ＦＩＦＯ）１１４，１１６に対するデータの書き込みを指示するリクエスト信号として  
Ａ＿Ｗ＿ＲＥＱ（入力ＦＩＦＯ１１３に対するデータ書き込み指示）、  
Ａ＿Ｒ＿ＲＥＱ（出力ＦＩＦＯ１１４に対するデータ書き込み指示）、  
Ｂ＿Ｗ＿ＲＥＱ（入力ＦＩＦＯ１１５に対するデータ書き込み信号）、  
Ｂ＿Ｒ＿ＲＥＱ（出力ＦＩＦＯ１１６に対するデータ書き込み信号）、  
を受け取って、ＳＤＲＡＭコントローラ１１１へ出力する。また、図示しないが、それぞれのリクエスト信号を、リクエスト信号の対象となる入力ＦＩＦＯ１１３，１１５及び出力ＦＩＦＯ１１４，１１６へ出力する。
【００１４】
さらに、上記モジュール１１２は、ＣＰＵから、ＳＤＲＡＭ１２に対する書き込み・読み出し開始アドレス信号として  
Ａ＿Ｗ＿ＡＤＲＳ（入力ＦＩＦＯ１１３からのデータの書き込みアドレス）、  
Ａ＿Ｒ＿ＡＤＲＳ（出力ＦＩＦＯ１１４へのデータの読み出しアドレス）、  
Ｂ＿Ｗ＿ＡＤＲＳ（入力ＦＩＦＯ１１５からのデータの書き込みアドレス）、  
Ｂ＿Ｒ＿ＡＤＲＳ（出力ＦＩＦＯ１１６へのデータの読み出しアドレス）、  
を受け取って、ＳＤＲＡＭコントローラ１１１へ出力する。
【００１５】
上記入力ＦＩＦＯ１１３は、バス・インターフェースＡからＳＤＲＡＭ１２へのデータ伝送速度を調整するためのもので、ＣＰＵインターフェースモジュール１１２からＡ＿Ｗ＿ＲＥＱのリクエスト信号を受けると、バス・インターフェースＡから出力されるデータの書き込みを開始し、蓄積データ量が規定値を超えると、ＳＤＲＡＭコントローラ１１１にＯＫ信号を出力し、ＳＤＲＡＭコントローラ１１１からの書き込み許可信号ＷＥ（Write Enable）を受けると、ＳＤＲＡＭ１２へ蓄積データを出力する。
【００１６】
上記出力ＦＩＦＯ１１４は、ＳＤＲＡＭ１２からバスＩ／Ｆ３へのデータ伝送速度を調整するためのもので、ＣＰＵインターフェースモジュール１１２からＡ＿Ｒ＿ＲＥＱのリクエスト信号を受けると、ＳＤＲＡＭ１２から出力されるデータの書き込みを開始し、蓄積データ量が規定値を超えると、ＳＤＲＡＭコントローラ１１１にＯＫ信号を出力し、ＳＤＲＡＭコントローラ１１１からの読み出し許可信号ＲＥ（Read Enable）を受けると、バス・インターフェースＡへ蓄積データを出力する。
【００１７】
上記入力ＦＩＦＯ１１５は、フラッシュメモリ・インターフェースＢからＳＤＲＡＭ１２へのデータ伝送速度を調整するためのもので、ＣＰＵインターフェースモジュール１１２からＢ＿Ｗ＿ＲＥＱのリクエスト信号を受けると、フラッシュメモリ・インターフェースＢから出力されるデータの書き込みを開始し、蓄積データ量が規定値を超えると、ＳＤＲＡＭコントローラ１１１にＯＫ信号を出力し、ＳＤＲＡＭコントローラ１１１からの書き込み許可信号ＷＥを受けると、ＳＤＲＡＭ１２へ蓄積データを出力する。
【００１８】
上記出力ＦＩＦＯ１１６は、ＳＤＲＡＭ１２からフラッシュメモリ・インターフェースＢへのデータ伝送速度を調整するためのもので、ＣＰＵインターフェースモジュール１１２からＢ＿Ｒ＿ＲＥＱのリクエスト信号を受けると、ＳＤＲＡＭ１２から出力されるデータの書き込みを開始し、蓄積データ量が規定値を超えると、ＳＤＲＡＭコントローラ１１１にＯＫ信号を出力し、ＳＤＲＡＭコントローラ１１１からの読み出し許可信号ＲＥを受けると、フラッシュメモリ・インターフェースＢへ蓄積データを出力する。
【００１９】
上記ＳＤＲＡＭコントローラ１１１において、受取部２０は、ＣＰＵインターフェースモジュール１１２からのリクエスト信号及び書き込み・読み出し開始アドレス信号を受け取り、リクエスト信号をバッファ制御部２１及び制御コマンド生成部２２に通知し、アドレス信号を、アドレス生成部２３に通知する。
【００２０】
記録部２４には、ＳＤＲＡＭ１２に対するバス・インターフェースＡからのデータ書き込みステータス、バス・インターフェースＡへのデータ読み出しステータス、フラッシュメモリ・インターフェースＢ４からのデータ書き込みステータス、及びフラッシュメモリ・インターフェースＢへのデータ読み出しステータスそれぞれの優先順位が予め登録されている。また、ステータスとリクエスト信号との対応関係も予め登録されている。本実施形態では、バス・インターフェースＡからＳＤＲＡＭ１２へのデータ書き込みステータスはＡ＿Ｗ＿ＲＥＱと対応し、ＳＤＲＡＭ１２のバス・インターフェースＡへのデータ読み出しステータスはＡ＿Ｒ＿ＲＥＱと対応し、フラッシュメモリ・インターフェースＢからＳＤＲＡＭ１２へのデータ書き込みステータスはＢ＿Ｗ＿ＲＥＱと対応し、ＳＤＲＡＭ１２のフラッシュメモリ・インターフェースＢへのデータ読み出しステータスはＢ＿Ｒ＿ＲＥＱと対応している。さらに、記録部２４は、インターフェースの使用個数が増減する場合に、それに伴うステータス数の増減に応じて、上記優先順位及び対応関係を更新することが可能である。
【００２１】
バッファ制御部２１は、受取部２０からのリクエスト信号を受けると、上記記録部２４に記録されている対応関係を参照し、このリクエスト信号と対応しているステータス以外のステータスが実行されているか否かを判断する。リクエスト信号と対応しているステータス以外のステータスが実行されていない場合は、リクエスト信号と対応するＦＩＦＯからのＯＫ信号の有無を判断する。リクエスト信号と対応しているステータス以外のステータスが実行されている場合には、上記記録部２４に記録されている優先順位を参照し、最も優先順位の高いステータスを優先する。このとき、入力されたリクエスト信号は、優先されるステータスが完了するまで待機される。また、一度に複数のリクエスト信号を受けた場合にも、上記優先順位を参照し、最も優先順位の高いステータスと対応したリクエスト信号を優先する。このとき、優先されるリクエスト信号以外は、そのリクエスト信号と対応するステータスが完了するまで待機される。また、バッファ制御部２１は、各ＦＩＦＯからのＯＫ信号を受け取ると、ＯＫ信号を出力したＦＩＦＯへ書き込み許可信号ＷＥ又は読み出し許可信号ＲＥを出力する。
【００２２】
制御コマンド生成部２２は、リクエスト信号に基づいてＳＤＲＡＭ１２に対する書き込み・読み出し等の制御コマンド信号を生成し、ＳＤＲＡＭ１２に出力する。この制御コマンド信号には、ＮＯＰ（制御なし）、ＰＡＬ（プリチャージ）、ＭＲＡ（モードレジスタセット）、ＲＥＦ（リフレッシュ）、ＡＣＴ（バンクアクティブ）、ＲＤＡ（オートリード）、ＷＲＡ（オートライト）の７種類がある。なお、リクエスト信号が無いときにはＲＥＦを生成する。
【００２３】
アドレス生成部２３は、ステータスの数と同数のアドレスカウンタを備え、入力される書き込み・読み出し開始アドレスに対応させている。アドレス生成部２３は、対応するアドレスカウンタに書き込み・読み出し開始アドレス信号を受け、開始アドレスから順にインクリメントすることにより、ＳＤＲＡＭ１２に対する書き込み・読み出しアドレス信号を生成する。そして、生成された書き込み・読み出しアドレス信号をＳＤＲＡＭ１２に出力する。また、バッファ制御部２１の制御によりステータスが一時中断されるときには、アドレスのインクリメントを一時中断し、中断されたステータスの書き込み・読み出しアドレスを保持する。優先されるステータスが完了すると、中断されていたアドレスのインクリメントを再開し、書き込み・読み出しアドレス信号を生成する。このアドレス生成部２３は、ＦＰＧＡの機能を利用し、インターフェースの個数が増減する場合にそれに伴うステータス数の増減に応じてゲート・アレイのロジックを組み替えることで、アドレスカウンタの個数を簡単に増減することができる。
【００２４】
次に、上記構成において、ＳＤＲＡＭコントローラ１１１の処理動作を説明する。
【００２５】
本実施形態におけるＳＤＲＡＭコントローラ１１１は、フラッシュメモリ情報蓄積装置のデータバッファ装置等に適用することが可能である。
【００２６】
図２は、映像や音声の素材データを、バスからフラッシュメモリに収録する際の、本発明の一実施形態に係るＳＤＲＡＭコントローラ１１１の処理動作を示すフローチャートである。このとき、記録部２４に記録されているステータスの優先順位は、バス・インターフェースＡからＳＤＲＡＭ１２へのデータの書き込みが１位であり、ＳＤＲＡＭ１２のデータのフラッシュメモリ・インターフェースＢへの読み出しが２位であるとする。
【００２７】
ＳＤＲＡＭコントローラ１１１は、まず、Ａ＿Ｗ＿ＲＥＱ及びＡ＿Ｗ＿ＡＤＲＳと、Ｂ＿Ｒ＿ＲＥＱ及びＢ＿Ｒ＿ＲＥＱとをＣＰＵインターフェースモジュール１１２から受け取る（ステップＳＴ２ａ）。このとき、Ａ＿Ｗ＿ＲＥＱとＢ＿Ｒ＿ＲＥＱとは、ＣＰＵインターフェースモジュール１１２から入力ＦＩＦＯ１１３と出力ＦＩＦＯ１１６とにそれぞれ出力される。入力ＦＩＦＯ１１３は、Ａ＿Ｗ＿ＲＥＱを受けると、バス・インターフェースＡからのデータの書き込みを開始する。
【００２８】
続いて、２つのリクエスト信号と対応するステータスの優先順位を参照し（ステップＳＴ２ｂ）、優先順位の高いＡ＿Ｗ＿ＲＥＱを選択し、Ｂ＿Ｒ＿ＲＥＱを待機させる（ステップＳＴ２ｃ）。Ａ＿Ｗ＿ＲＥＱが選択されると、この信号の選択時に他のステータスが実行されているか否かを判断し（ステップＳＴ２ｄ）、他のステータスが実行されていない場合（ステップＳＴ２ｄのＮｏ）、Ａ＿Ｗ＿ＲＥＱがＳＤＲＡＭ１２に対する書き込みであるか読み出しであるかの判断をする（ステップＳＴ２ｅ）。
【００２９】
他のステータスが実行されている場合（ステップＳＴ２ｄのＮｏ）、優先順位を参照し（ステップＳＴ２ｆ）、実行されている他のステータスの優先順位がＡ＿Ｗ＿ＲＥＱと対応するステータスより低いか否かを判断する（ステップＳＴ２ｇ）。優先順位が低い場合（ステップＳＴ２ｇのＹｅｓ）、処理動作をＳＴ２ｅへ進める。優先順位が高い場合（ステップＳＴ２ｇのＮｏ）、実行されている他のステータスを完了させ（ステップＳＴ２ｈ）、処理動作をＳＴ２ｄへ進める。
【００３０】
ＳＴ２ｅでの判断において、Ａ＿Ｗ＿ＲＥＱは、ＳＤＲＡＭ１２にデータを書き込むステータスと対応しているため（ステップＳＴ２ｅのＹｅｓ）、処理動作をＳＴ２ｉへ進め、Ａ＿Ｗ＿ＲＥＱの対象となる入力ＦＩＦＯ１１３からのＯＫ信号があるか否かを判断する。対象となる入力ＦＩＦＯ１１３からのＯＫ信号があった場合、入力ＦＩＦＯ１１３に書き込み許可信号ＷＥを出力すると同時にＳＤＲＡＭ１２にＷＲＡ及び書き込みアドレス信号を出力し（ステップＳＴ２ｊ）、待機中のリクエスト信号があるか否かを判断する（ステップＳＴ２ｋ）。このとき、Ｂ＿Ｒ＿ＲＥＱが待機されているため、この待機中のＢ＿Ｒ＿ＲＥＱを選択する（ステップＳＴ２ｌ）。
【００３１】
続いて、動作処理をＳＴ２ｅに進める。ＳＴ２ｅでの判断において、Ｂ＿Ｒ＿ＲＥＱは、ＳＤＲＡＭ１２からデータを読み出すステータスと対応しているため（ステップＳＴ２ｅのＮｏ）、処理動作をＳＴ２ｍへ進め、ＳＤＲＡＭ１２にＲＤＡ及び読み出しアドレス信号を出力する。このＲＤＡにより、ＳＤＲＡＭ１２に一定量の素材データ（例えば、フラッシュメモリ４の最小書き込み単位）が蓄積されると、蓄積されている素材データが、Ｂ＿Ｒ＿ＲＥＱの対象となる出力ＦＩＦＯ１１６への書き込みが開始される。続いて、出力ＦＩＦＯ１１６からのＯＫ信号があるか否かを判断し（ステップＳＴ２ｍ）、ＯＫ信号があった場合（ステップＳＴ２ｎのＹｅｓ）、出力ＦＩＦＯ１１６にＲＥを出力する（ステップＳＴ２ｏ）。ＲＥを出力すると、処理動作をＳＴ２ｋに進める。
【００３２】
ステップＳＴ２ｋでの判断の結果、待機中のリクエスト信号はないため（ステップＳＴ２ｋのＮｏ）、処理動作を終了する。
【００３３】
なお、反対にフラッシュメモリ・インターフェースＢに収録した素材データを再生する場合には、ＳＤＲＡＭコントローラ１１１は、まず、フラッシュメモリ・インターフェースＢに格納されている素材データを、入力ＦＩＦＯ１１５経由でいったんＳＤＲＡＭ１２に保存する。続いて、ＳＤＲＡＭ１２に一定量の素材データ（例えば、ＥＣＣパケット単位）が蓄積されると、出力ＦＩＦＯ１１４を介して装置のバス・インターフェースＡに対して出力する。
【００３４】
以上のように、上記実施形態では、ＳＤＲＡＭコントローラ１１１にリクエスト信号が入力されると、記録部２４に記録されている優先順位及び対応関係を参照し、バッファ制御部２１でＦＩＦＯ１１３〜１１６を制御し、制御コマンド生成部２２及びアドレス生成部２３でＳＤＲＡＭ１２の書き込み・読み出しを制御することにより、ＳＤＲＡＭ１２による伝送データの一時的な保存を行っている。このとき、ＳＤＲＡＭ１２への書き込み・読み出しアドレス信号は、入力された書き込み・読み出し開始アドレス信号をアドレス生成部２３でアドレスカウンタをインクリメントすることにより生成される。また、このＳＤＲＡＭコントローラ１１１は、インターフェースの使用個数に合わせて上記アドレスカウンタの個数を増減させ、上記記録部２４のステータスの優先順位及び対応関係を更新することで、インターフェースの接続個数の増減に容易に対応することが可能である。
【００３５】
したがって、インターフェースの個数の増減に容易に対応することが可能であるため、様々な機器で使用可能な、データの一時記憶用のＳＤＲＡＭを制御する汎用的なＳＤＲＡＭコントローラを提供することができ、設計の効率化及び開発期間の短縮が可能となる。
【００３６】
なお、この発明は上記実施形態に限定されるものではない。例えば上記実施形態では、データバッファ装置１は、バス・インターフェースＡ及びフラッシュメモリ・インターフェースＢの２つのインターフェースの間のデータ伝送に利用する場合について説明したが、２つ以上のインターフェースの間に設置される場合でも同様に実施可能である。
【００３７】
また、上記実施形態では、ＣＰＵインターフェースモジュール１１２から書き込み・読み出し開始アドレス信号を受け取る例について説明したが、アドレス生成部２３に初めからアドレス開始信号がセットされる場合でも同様に実施可能である。
【００３８】
さらに、この発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【００３９】
【図１】本発明の一実施形態に係るＳＤＲＡＭコントローラを用いたデータバッファ装置の構成を示すブロック図。
【図２】図１に示す実施形態のＳＤＲＡＭコントローラの処理動作を示すフローチャート。
【符号の説明】
【００４０】
１…データバッファ装置、２…ＣＰＵ、１１…ＦＰＧＡ、１２…ＳＤＲＡＭ、１１１…ＳＤＲＡＭコントローラ、１１２…ＣＰＵインターフェースモジュール、１１３，１１５…入力用ＦＩＦＯメモリ、１１４，１１６…出力用ＦＩＦＯメモリ、２０…受取部、２１…バッファ制御部、２２…制御コマンド生成部、２３…アドレス生成部、２４…記録部、Ａ…バス・インターフェース、Ｂ…フラッシュメモリ・インターフェース。
【図１】
2008225894.tif 000003
【図２】
2008225894.tif 000004