(57)【特許請求の範囲】
【請求項１】
書込み要求に基づいてデータを書込みアドレスに記憶するメモリと、
保持した書込み要求と書込みアドレスを、前記メモリに出力する保持部と、
前記メモリにデータが書かれているかを示す書込み情報を、前記メモリのアドレス毎に保持する書込み情報テーブルと、
入力した書込み要求に基づいて書込みアドレスを生成するアドレス管理部と、
受付けた書込み要求を前記アドレス管理部に出力し、前記生成された書込みアドレスを入力した場合、前記受付けた書込み要求に基づく書込み指示と前記生成された書込みアドレスを前記書込み情報テーブルに出力するとともに、前記受付けた書込み要求と前記生成された書込みアドレスを前記保持部に保持させる書込み制御部を有することを特徴とするメモリ制御装置。
【請求項２】
前記メモリ制御装置はさらに、
生成した読出しアドレスを前記書込み情報テーブルに出力し、前記生成した読出しアドレスに基づいて前記書込み情報テーブルが生成した読出し要求と前記生成した読出しアドレスを、前記メモリに出力する読出し制御部を有することを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記メモリ制御装置は、
前記書込み制御部を複数有し、
さらに、
前記複数の書込み制御部が出力した複数の書込み要求を調停して、調停された書込み要求と前記調停された書込み要求に対応する書込みアドレスとデータを前記メモリに出力する調停部を有することを特徴とする請求項２記載のメモリ制御装置。
【請求項４】
前記メモリ制御装置は、
前記読出し制御部を複数有し、
前記調停部は、
前記複数の読出し制御部が出力した複数の読出し要求を調停して、調停された読出し要求と前記調停された読出し要求に対応する読出しアドレスを前記メモリに出力することを特徴とする請求項３記載のメモリ制御装置。
【請求項５】
前記アドレス管理部は、
前記書込み要求を入力する毎に、書込みアドレスを増分することにより、互いに重複しない複数の書込みアドレスを生成することを特徴とする請求項３又は４記載のメモリ御制御装置。
【請求項６】
前記調停部は、
前記複数の書込み制御部のうち、最後に調停された書込み要求を出力した書込み制御部からの新たな書込み要求を入力した場合、前記新たな書込み要求の優先順位を最も低くして調停を行うことを特徴とする請求項３〜５のいずれか１項に記載のメモリ制御装置。
【請求項７】
前記調停部は、
前記複数の書込み制御部からの書込み要求と、前記書込み要求により前記メモリに書込まれたデータに対する前記複数の読出し制御部からの読出し要求とを入力した場合、前記書込み要求を前記読出し要求よりも優先して調停を行うことを特徴とする請求項４記載のメモリ制御装置。
【請求項８】
書込み要求に基づいてデータを書込みアドレスに記憶するメモリと、保持した書込み要求と書込みアドレスを、前記メモリに出力する保持部と、前記メモリにデータが書かれているかを示す書込み情報を、前記メモリのアドレス毎に保持する書込み情報テーブルを有するメモリ制御装置の制御方法において、
前記メモリ制御装置が有するアドレス管理部が、入力した書込み要求に基づいて書込みアドレスを生成し、
前記メモリ制御装置が有する書込み制御部が、受付けた書込み要求を前記アドレス管理部に出力し、
前記生成された書込みアドレスを入力した場合、前記メモリ制御装置が有する書込み制御部が、前記受付けた書込み要求に基づく書込み指示と前記生成された書込みアドレスを前記書込み情報テーブルに出力するとともに、前記受付けた書込み要求と前記生成された書込みアドレスを前記保持部に保持させ、
前記書込み情報テーブルが、前記出力された書込み要求と書込みアドレスに基づき、書込み情報を保持し、
前記保持部が前記保持した書込み要求と前記保持した書込みアドレスを、前記メモリに出力することを特徴とするメモリ制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、所定の記憶部にデータを書き込むとともに当該データのアドレス情報を所定のテーブルに書き込み、当該テーブルに書き込まれたアドレス情報を参照して前記所定の記憶部から前記データを読み出すデータ読み書き制御装置に関する。
【背景技術】
【０００２】
近年、ＲＡＭ読み書き制御装置において（例えば、特許文献１）、書き込み時および読み出し時に共通のアドレスポートを使用するシングルポートＲＡＭが用いられている。このＲＡＭ読み書き制御装置は、ＲＡＭにデータが書き込まれることを確認した後、ＲＡＭに書き込まれるデータのアドレスを示すアドレス情報をテーブルに書き込む。そして、ＲＡＭ読み書き制御装置は、その書き込まれたアドレス情報を読み出し、その読み出されたアドレス情報を参照してＲＡＭからデータを読み出す。【０００３】
ここで、図１０〜１３を用いて、上記する従来のＲＡＭ読み書き制御装置について具体的な説明をする。図１０は、従来のＲＡＭ読み書き制御装置の構成を示すブロック図であり、図１１は、従来の読み書き制御装置が備えるＲＡＭ書き込み情報テーブルの構成図であり、図１２は、書き込み制御部（ＷＣＴＬ０）にデータが入力された場合における従来のＲＡＭ読み書き制御装置の処理の流れを示すタイムチャートであり、図１３は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された場合における従来のＲＡＭ読み書き制御装置の処理の流れを示すタイムチャートである。【０００４】
まず、図１０を用いて、従来のデータ読み書き制御装置のアドレス情報をテーブルに書き込む処理について説明する。従来のデータ読み書き制御装置は、図１０に示すように、ＲＡＭにデータを書き込むための各種情報（ＲＡＭに書き込まれるデータ、データが書き込まれた場所を示すアドレス、データの書き込みを要求する書き込み要求情報（ＷＲＥＱ））を保持する各レジスタ（Ｓ３０、ＷＡ＿Ｓ３０、ＷＲＥＱ）を書き込み制御部内に備える。【０００５】
また、従来のデータ読み書き制御装置は、ＲＡＭにデータが記憶される前に各種情報（データ、アドレス、ライトイネーブル情報（ＷＥ）、クロックイネーブル情報（ＣＥ））を一時的に記憶する各レジスタ（ＷＤＲ（ライトデータレジスタ）、ＡＤＲ（アドレスデータレジスタ）、ＷＥＲ（ライトイネーブルレジスタ）、ＣＥＲ（クロックイネーブルレジスタ））をＲＡＭと書き込み制御部との間に備える。【０００６】
そして、従来のデータ読み書き制御装置は、書き込み制御部が調停回路に対してデータの書き込み要求情報（例えば、ＷＲＥＱ＝１）を通知し、調停回路からＲＡＭへのアクセス権が書き込み要求を通知した書き込み制御部に割当てられると、Ｓ３０、ＷＡ＿Ｓ３０に記憶されたデータおよびアドレス（例えば、データ「ＨＤ＋４Ｂ」およびアドレス「０」）を各レジスタ（ＷＤＲ、ＡＤＲ）に書き込む。その後、従来のデータ読み書き制御装置は、その各レジスタ（ＡＤＲ、ＷＥＲ、ＣＥＲ）に記憶された情報（ＡＤ、ＷＥ、ＣＥ）を参照して、アドレス情報をＲＡＭ書き込み情報テーブルに書き込む。【０００７】
ここで、図１１を用いて、従来のＲＡＭ書き込み情報テーブルについて詳しく説明する。従来のＲＡＭ書き込み情報テーブルは、上記するように、各レジスタに記憶された情報（ＡＤＲ（アドレスデータレジスタ）、ＷＥＲ（ライトイネーブルレジスタ）、ＣＥＲ（クロックイネーブルレジスタ））を参照して、アドレス情報をＲＡＭ書き込み情報テーブルに書き込む。【０００８】
つまり、従来のデータ読み書き制御装置は、図１１に示すように、ＲＡＭに対してアクセスが行われる時（ＣＥ＝「１」）、ＡＤＲ（アドレスデータレジスタ）に記憶されたアドレスがテーブル内のデコーダに入力されるとともに、ＣＥＲ（クロックイネーブルレジスタ）に記憶されたＣＥの値（ＣＥ＝１）が入力されると、論理積によって対象となるテーブル内のレジスタのイネーブル信号がＥＮ＝「１」となる。【０００９】
そして、従来のデータ読み書き制御装置は、ＥＮ＝「１」となったときのＷＥＲ（ライトイネーブルレジスタ）に記憶されたＷＥの値（書き込み時「１」、読出し時「０」）をテーブル内のレジスタに入力し、その入力されたＷＥの値をデコーダに記憶されたアドレスに対応付け、その対応付けられた情報をアドレス情報（例えば、[０]＝“１”）としてレジスタに記憶する。【００１０】
次に、図１２および図１３を用いて、従来のＲＡＭ読み書き制御装置の処理タイミングを説明する。具体的には、従来のＲＡＭ読み書き制御装置がＲＡＭにデータが書き込まれることを確認した後（つまり、ＷＥおよびＣＥの値が“１”になった後）に、ＲＡＭに書き込まれるデータのアドレスを示すアドレス情報をテーブルに書き込む処理から、その書き込まれたアドレス情報を読み出し、その読み出されたアドレス情報を参照してＲＡＭからデータを読み出すまでの処理タイミングを説明する。【００１１】
つまり、従来のＲＡＭ読み書き制御装置は、図１２に示すように、データ（ＨＤ＋４Ｂ）をＷＤＲに保持し、ＷＡＳ３０（＝「０」）の値をＡＤＲに保持し、ＷＥおよびＣＥの値を“１”にした後に、ＷＥＲ（ライトイネーブルレジスタ）、ＣＥＲ（クロックイネーブルレジスタ）に記憶されたＡＤＲ＝「０」、「ＷＥ」＝“１”、ＣＥ＝“１”をＲＡＭ書き込み情報テーブルに入力して、アドレス情報をＴＡＢＬＥ「０」＝“１”とする。【００１２】
その後、従来のＲＡＭ読み書き制御装置は、ＲＡＭ書き込み情報テーブルに記憶されたアドレス情報（ＴＡＢＬＥ「０」＝“１”）を読み出し、そのアドレス情報を参照して、ＲＡＭからデータを読み出す。【００１３】
なお、図１３は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された場合における従来のＲＡＭ読み書き制御装置の処理であり、図１２と同様にＲＡＭにデータが書き込まれることを確認した後、ＲＡＭに書き込まれるデータのアドレスを示すアドレス情報をテーブルに書き込む。【００１４】
【特許文献１】特開２００５−２５８４８５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１５】
しかしながら、上記の従来技術では、ＲＡＭにデータが書き込まれたことを確認するまでアドレス情報がテーブルに書き込まれず、そのアドレス情報が書き込まれるまでＲＡＭからデータを読み出すことができないので、レイテンシが遅くなるという課題がある。【００１６】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、レイテンシの改善を実現することを目的とする。
【課題を解決するための手段】
【００１７】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、データを書込みアドレスに記憶するメモリと、保持した書込みアドレスをメモリに出力する保持部と、メモリにデータが書かれているかを示す書込み情報を、メモリのアドレス毎に保持する書込み情報テーブルと、入力した書込み要求に基づいて書込みアドレスを生成するアドレス管理部と、受付けた書込み要求をアドレス管理部に出力し、生成された書込みアドレスを入力した場合、受付た書込み要求に基づく書込み指示と生成された書込みアドレスを書込み情報テーブルに出力するとともに、受付けた書込み要求と生成された書込みアドレスを保持部に保持させる書込み制御部を有することを特徴とする。
【００１８】
また、請求項２に係る発明は、上記の発明において、さらに、生成した読出しアドレスを書込み情報テーブルに出力し、生成した読出しアドレスに基づいて書込み情報テーブルが生成した読出し要求と生成した読出しアドレスを、メモリに出力する読出し制御部を有することを特徴とする。
【発明の効果】
【００１９】
請求項１の発明によれば、メモリにデータが書かれているかの書込み情報を書込み情報テーブルに書込むとともに、書込み要求と書込みアドレスを保持部に出力するため、当該書込み情報を用いた制御を行う場合、メモリにデータが書込まれるのを待つことなくできる。
【００２０】
また、請求項２の発明によれば、データ制御装置はさらに、生成した読出しアドレスを書込み情報テーブルに出力し、生成した読出しアドレスに基づいて書込み情報テーブルが生成した読出し要求と生成した読出しアドレスを、メモリに出力するので、書込み情報テーブルによる所定アドレスのデータに対する一元的な管理を行うことができる。
【図面の簡単な説明】
【００２１】
【図１】図１は、実施例１に係るデータ読み書き制御装置１０の構成を示すブロック図である。
【図２】図２は、実施例１に係るデータ読み書き制御装置の概要および特徴を説明するための図である。
【図３】図３は、ＲＡＭ書き込み情報テーブルを説明するための図である。
【図４】図４は、アドレス管理部の回路例を説明するための図である。
【図５】図５は、アドレス管理部の動作例を説明するための図である。
【図６】図６は、調停回路の動作例を説明するための図である。
【図７】図７は、調停回路のアクセス権を割当てる処理を説明するためのタイムチャートである。
【図８】図８は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された場合における実施例１に係るデータ読み書き制御装置の処理の流れを示すタイムチャートである。
【図９】図９は、調停回路のアクセス権を割当てる処理を説明するためのタイムチャートである。
【図１０】図１０は、従来のＲＡＭ読み書き制御装置の構成を示すブロック図である。
【図１１】図１１は、従来の読み書き制御装置が備えるＲＡＭ書き込み情報テーブルの構成図である。
【図１２】図１２は、書き込み制御部（ＷＣＴＬ０）にデータが入力された場合における従来のＲＡＭ読み書き制御装置の処理の流れを示すタイムチャートである。
【図１３】図１３は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された場合における従来のＲＡＭ読み書き制御装置の処理の流れを示すタイムチャートである。
【符号の説明】
【００２２】
１０  データ読み書き制御装置
１１  書き込み制御部
１２  アドレス管理部
１３  調停回路
１４  読み出し制御部
１５  ＷＤＲ
１６  ＡＤＲ
１７  ＷＥＲ
１８  ＣＥＲ
１９  ＲＡＭ
２０  ＲＤＲ
２１  ＲＡＭ書き込み情報テーブル
【発明を実施するための最良の形態】
【００２３】
以下に添付図面を参照して、この発明に係るデータ読み書き制御装置の実施例を詳細に説明する。
【実施例１】
【００２４】
以下の実施例では、実施例１に係るデータ読み書き制御装置の概要および特徴、データ読み書き制御装置の構成および処理の流れを順に説明し、最後に実施例１による効果を説明する。【００２５】
［実施例１に係るデータ読み書き制御装置の概要および特徴］
まず最初に、図１および図２を用いて、実施例１に係るデータ読み書き制御装置の概要および特徴を説明する。図１は、実施例１に係るデータ読み書き制御装置１０の構成を示すブロック図であり、図２は、実施例１に係るデータ読み書き制御装置の概要および特徴を説明するための図である。【００２６】
実施例１のデータ読み書き制御装置１０では、図１に示すように、書き込み制御部１１、読み出し制御部１４、ＷＥＲ（ライトイネーブルレジスタ）１５、ＡＤＲ（アドレスデータレジスタ）１６、ＲＡＭ１９、ＲＤＲ（リードデータレジスタ）２０、ＲＡＭ書き込み情報テーブル２１を備え、ＲＡＭにデータを書き込むとともにそのデータのアドレス情報をＲＡＭ書き込み情報テーブル２１に書き込み、ＲＡＭ書き込み情報テーブル２１に書き込まれたアドレス情報を参照してＲＡＭからデータを読み出すことを概要とする。そして、このデータ読み書き制御装置１０では、レイテンシの改善を実現する点に主たる特徴がある。
【００２７】
この主たる特徴について具体的に説明すると、実施例１に係るデータ読み書き制御装置１０は、図２に示すように、ＲＡＭ１９にデータ（図２のＨＤ＋４Ｂ）が書き込まれることを確認するのを待たず（図２では、ＷＥおよびＣＥの値が“１”になるのと同時）に、ＷＥＲ（ライトイネーブルレジスタ）１５およびＡＤＲ（アドレスデータレジスタ）１６にデータが書き込まれると同時に、データのアドレス情報をＲＡＭ書き込み情報テーブル（図２に示す「ＴＡＢＬＥ」）２１に書き込む（図２のＴ３参照）。【００２８】
つまり、具体的には、データ読み書き制御装置１０は、書き込み制御部（ＷＣＴＬ）１１のデータレジスタ（ＷＡ＿Ｓ３０）が保持するアドレスと、書き込み要求レジスタ（ＷＲＥＱ）が保持するＲＡＭ１９にデータを書き込むことを要求する書き込み要求ＷＲＥＱの値（書き込み要求あり＝「１」）を対応付けて、ＲＡＭ書き込み情報テーブル２１にアドレス情報として記憶させる（図２に示すＴＡＢＬＥ[０：１]＝１１）。【００２９】
続いて、データ読み書き制御装置１０は、ＲＡＭ書き込み情報テーブル２１にアドレス情報が書き込まれた直後に、そのアドレス情報（例えば、図２に示すＴＡＢＬＥ[０：１]＝１１）を参照してＲＤＲ（リードデータレジスタ）２０からデータを読み出す。 
【００３０】
このように、データ読み書き制御装置１０は、ＲＡＭ１９にデータが書き込まれることを確認するのを待たずに、ＲＡＭ書き込み情報テーブル２１にアドレス情報を書き込む結果、上記した主たる特徴のごとく、レイテンシの改善を実現することが可能となる。【００３１】
［データ読み書き制御装置の構成］
次に、図１、図３〜図６を用いてデータ読み書き制御装置１０の構成を説明する。図１は、実施例１に係るデータ読み書き制御装置１０の構成を示すブロック図であり、図３は、ＲＡＭ書き込み情報テーブルを説明するための図であり、図４は、アドレス管理部の回路例を説明するための図であり、図５は、アドレス管理部の動作例を説明するための図であり、図６は、調停回路の動作例を説明するための図である。図７は、調停回路のアクセス権を割当てる処理を説明するためのタイムチャートである。【００３２】
図１に示すように、このデータ読み書き制御装置１０は、書き込み制御部１１、アドレス管理部１２、調停回路１３、読み出し制御部１４、ＷＤＲ（ライトデータレジスタ）１５、ＡＤＲ（アドレスデータレジスタ）１６、ＷＥＲ（ライトイネーブルレジスタ）１７、ＣＥＲ（クロックイネーブルレジスタ）１８、ＲＡＭ１９、ＲＤＲ（リードデータレジスタ）２０、ＲＡＭ書き込み情報テーブル２１を備える。
以下にこれらの各部の処理を説明する。
なお、書き込み制御部１１は、特許請求の範囲に記載の「書込み制御部」に対応し、読み出し制御部１４は、特許請求の範囲に記載の「読出し制御部」に対応する。
【００３３】
このうち、ＷＤＲ１５は、ＲＡＭ１９に書き込まれるデータを記憶する手段であり、ＡＤＲ１６は、ＷＤＲに記憶されたデータが書き込まれるＲＡＭのアドレスを示すアドレス情報を記憶する手段であり、ＷＥＲ１７は、ＷＥの値（書き込み時「１」、読み出し時「０」）を記憶する手段であり、ＣＥＲ１８は、ＣＥの値（アクセスが行われる時「「１」）を記憶する手段であり、ＲＤＲ２０は、ＲＡＭから読出されたデータを記憶する手段である。【００３４】
ＲＡＭ１９は、データを記憶する手段であり、具体的には、書き込み制御部１１によって書き込まれたデータを記憶する。なお、読み出し制御部１４によって記憶されたデータが読み出される。【００３５】
ＲＡＭ書き込み情報テーブル２１は、ＲＡＭの各アドレスにおける書き込み状態を示すアドレス情報を記憶する手段である。具体的には、ＲＡＭ書き込み情報テーブル２１は、書き込み制御部１１によって書き込まれたＲＡＭ１９のアドレスにおける書き込み状態（例えば、書き込み制御部１１によってＲＡＭ１９のアドレス「０」の書き込みが完了したことを示すＴＡＢＬＥ[０]＝“１”）を記憶し、また、読み出し制御部１４によって書き込まれたＲＡＭ１９のアドレスにおける書き込み状態（例えば、読み出し制御部１１によってＲＡＭ１９のアドレス「０」の読み出しが完了したことを示すＴＡＢＬＥ[０]＝“０”）を記憶する。【００３６】
ここで、ＲＡＭ書き込み情報テーブル２１の回路例について図３を用いて説明する。ＲＡＭ書き込み情報テーブル２１は、書き込み制御部１１からのデータおよびＷＲＥＱを受け付けるデコーダ１６ａ、アドレス情報を記憶するＴＡＢＬＥ１６ｂ、読み出し制御部１４受け付けたＲＡに対応するアドレス情報を選択するセレクタ１６ｃを備える。なお、複数の書き込み制御部１１が同時にＴＡＢＬＥ１６ｂの更新を行う場合があるため、複数の書き込み制御部１１ごとに複数のデコーダ１６ａを用意する必要がある。【００３７】
そして、ＲＡＭ書き込み情報テーブル２１は、書き込み制御部１１によって入力されたアドレス（例えば、「０」）およびＷＲＥＱの値（書き込み要求あり＝「１」）をデコーダで受け付け、そのアドレスとＷＲＥＱ情報の値を対応付けて、アドレス情報（例えば、図２に示す[０：１]＝１１）としてＴＡＢＬＥ１６ｂに記憶する。なお、ＲＡＭ書き込み情報テーブル２１は、読み出し制御部１４からのＲＡ（リードアドレス）をセレクタ１６ｃで受け付け、そのＲＡ（例えば、「０」）に対応するアドレス情報（ＴＡＢＬＥ[０]＝“１”）から書き込み状態（例えば、書き込みが完了したことを示す  “１”）を選択し、その書き込み状態をＲＲＥＱとして読み出し制御部１４に出力する。【００３８】
図１の説明に戻ると、書き込み制御部１１は、複数のデータレジスタ（Ｓ１、Ｓ２０、Ｓ２１、Ｓ３０、ＷＲＥＱ、ＷＡ＿Ｓ３０）を備え、ＲＡＭにデータを書き込む手段である。具体的には、書き込み制御部１１は、外部から入力されたデータ（ＨＤと４Ｂ）をＳ１で受け付け、その受け付けたデータをＳ２０およびＳ２１を経由して、Ｓ３０に入力する。そして、書き込み制御部１１は、Ｓ３０がデータを保持した場合には、アドレス管理部１２からそのデータをＲＡＭ内のどこの領域に書き込むのかを示すライトアドレス（ＷＡ）を取得するとともに（例えば、ＷＡ＿Ｓ３０＝「０」）、ＲＡＭへデータを書き込む要求があることを示すＷＲＥＱ＝１にし、調停回路１３にＷＲＥＱ＝１（書き込み要求）を通知する。【００３９】
そして、書き込み制御部１１は、ＲＡＭ書き込み情報テーブル２１にアドレス情報（例えば、図１に示す[０：１]＝１１）を書き込む。また、書き込み制御部１１は、調停回路によって、アクセス権が割り当てられると、ＡＤＲ１６にアドレスを書き込み、ＷＤＲ１７にデータ（ＨＤ＋４Ｂ）を書き込む。【００４０】
アドレス管理部１２は、アドレスを管理して、書き込み制御部１１が外部から受信したデータに一意の数字であるアドレスを割当てる手段である。ここで、図４および図５を用いて、アドレス管理部１２について詳しく説明する。【００４１】
アドレス管理部１２は、図４に示すように書き込み制御部１１からアドレスを割当てることを要求する信号を受け付けた場合には、要求があった書き込み制御部１１に対して、アドレスをアドレス管理部１２に通知し、要求があった分だけアドレスの数字を加算していく。この加算処理について図５を用いて説明すると、同図に示すように、アドレスを一つ通知するごとに次に通知するアドレスの数字に「１」を加算していく。例えば、図５に例示するように、ＷＣＴＬ０およびＷＣＴＬ１から同時にアドレスの要求を受け付けた場合には、ＷＣＴＬ０にアドレスを通知し（ＷＣＴＬ０に対する戻り値「ＤＯＵＴ」）、その通知したアドレスに一を加えたアドレスを通知し（ＷＣＴＬ０に対する戻り値「ＤＯＵＴ＋１」）、その後、二つのアドレスを通知したので、次に通知するアドレスの数字に２を加算する（ＤＩＮ「ＤＯＵＴ＋２」）。【００４２】
図１の説明に戻ると、調停回路１３は、書き込み制御部１１または読み出し制御部１２からの書き込み要求（ＷＲＥＱ＝１）または読み出し要求（ＲＲＥＱ＝１）を受け付け、それらの要求に対してＲＡＭ１９へのアクセス権を割当てる手段である。ここで、図６および図７を用いて、調停回路１３について詳しく説明する。【００４３】
調停回路１３は、図６に示すように、最後にＲＡＭ１９へのアクセス権を獲得した要求の優先順位が次回最も低くなるように優先順序を決定し、それに従って複数の要求に順番にアクセス権を割り当てる。例えば、調停回路１３は、図７に示すように、Ｔ２でＷＣＴＬ０＿ＷＲＥＱにアクセス権を与えた後、Ｔ４でＷＣＴＬ０＿ＷＲＥＱ、ＷＣＴＬ１＿ＷＲＥＱ、ＷＣＴＬ２＿ＷＲＥＱおよびＲＣＴＬ１＿ＲＲＥＱから同時に要求があった場合には、優先順位が最も低く４番目のアクセス権をＷＣＴＬ０＿ＷＲＥＱに割当てる。【００４４】
図１の説明に戻ると、読み出し制御部１４は、複数のレジスタ（ＲＲＥＱ、ＲＡ、ＳＤＲ）を備え、ＲＡＭ書き込み情報テーブル２１が記憶するアドレス情報を参照して、ＲＡＭ１９からデータを読み出す手段である。具体的には、読み出し制御部１４は、ＲＡＭ１９内のどこのアドレスのデータを読み出すのかを示すリードアドレス（例えば、ＲＡ＝「０」）をＲＡＭ書き込み情報テーブル２１に通知し、リードアドレスに対応するアドレス情報（例えば、  [０]＝１）から書き込み状態（例えば、書き込みが完了したことを示す  “１”）を選択し、その書き込み状態をＲＲＥＱとして読み出し制御部１４に取得する。【００４５】
そして、読み出し制御部１４は、受け付けたＲＲＥＱの値（読み出し要求あり＝「１」）を調停回路１３に読み出し要求として通知する。そして、読み出し制御部１４は、調停回路によって、アクセス権が割り当てられると、ＲＤＲ２０からデータを読み出し、そのデータをＳＤＲに記憶して外部に送出する。なお、読み出し制御部１４は、ＲＲＥＱに対して調停回路１３からアクセス権が割当てられるたびに、ＲＡの値を一つ加算する。【００４６】
［データ読み書き制御装置による処理］
次に、図８を用いて、実施例１に係るデータ読み書き制御装置１０による処理を説明する。図８は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された場合における実施例１に係るデータ読み書き制御装置１０の処理の流れを示すタイムチャートである。【００４７】
同図に示すように、データ読み書き制御装置１０は、複数の書き込み制御部（ＷＣＴＬ０とＷＣＴＬ１）へ同時にデータが入力された後、Ｔ２のタイミングでは、入力された各データ（ＨＤ＋４Ｂ）をそれぞれＷＣＴＬ０＿Ｓ３０、ＷＣＴＬ１＿Ｓ３０に記憶し、アドレス管理部１２から取得した各アドレス情報（「０」と「１」）をＷＣＴＬ０＿ＷＡ＿Ｓ３０およびＷＣＴＬ１＿ＷＡ＿Ｓ３０に記憶する。また、データ読み書き制御装置１０は、Ｔ３のタイミングでは、ＷＣＴＬ０＿ＷＲＥＱおよびＷＣＴＬ１＿ＷＲＥＱをそれぞれ「１」にして調停回路にそれぞれ書き込み要求を入力する。【００４８】
続いて、データ読み書き制御装置１０は、Ｔ３のタイミングでは、書き込み制御部１１（ＷＣＴＬ０とＷＣＴＬ１）がＲＡＭ書き込み情報テーブル１２にアドレス情報（例えば、図１に示す[０：１]＝１１）を書き込む。また、データ読み書き制御装置１０は、Ｔ３のタイミングでは、調停回路１３によってＷＣＴＬ０＿ＷＲＥＱにアクセス権が割り当てられた後、ＡＤＲ１６にアドレス「０」を書き込み、ＷＤＲ１５にデータ（ＨＤ＋４Ｂ）を書き込み、さらに、それと同時にＷＥＲ１７の値とＣＥＲ１８の値をそれぞれ「１」にする（図８のＴ３参照）。【００４９】
そして、データ読み書き制御装置１０は、Ｔ４のタイミングでは、ＡＤＲ１６に記憶されたアドレス「０」にＷＤＲ１５が保持するデータ「ＨＤ＋４Ｂ」をＲＡＭ１９に書き込む。また、データ読み書き制御装置１０は、Ｔ４のタイミングでは、調停回路１３によってＷＣＴＬ１＿ＷＲＥＱにアクセス権が割り当てられた後、ＷＣＴＬ１＿ＷＡ＿Ｓ３０に記憶されたアドレス「１」をＡＤＲ１６に書き込み、ＷＤＲ１５にＷＣＴＬ１＿Ｓ３０内のデータ「ＨＤ＋４Ｂ」を書き込み、また、読み出し制御部１４がＲＡＭ書き込み情報テーブルを参照し、ＲＲＥＱ＝１とする。
【００５０】
そして、データ読み書き制御装置１０は、Ｔ５のタイミングでは、ＡＤＲ１６で示されたＲＡＭ１９のアドレス「１」にＷＤＲ１５のデータ「ＨＤ＋４Ｂ」を書き込み、また、ＲＣＴＬ０＿ＲＲＥＱに対して調停回路１３からアクセス権が割当てられた後、ＲＡの値「０」に一を加算してＲＡの値を「１」とする。【００５１】
続いて、データ読み書き制御装置１０は、Ｔ６のタイミングでは、ＲＡＭ内のアドレス「０」に記憶されたデータ「ＨＤ＋４Ｂ」をＲＤＲに読み出し、ＲＡＭ書き込み情報テーブルを[０]＝“０”に更新し、読み出し制御部１４がＲＡＭ書き込み情報テーブルを参照し、ＲＲＥＱ＝１とする。【００５２】
そして、データ読み書き制御装置１０は、Ｔ７のタイミングでは、ＣＥＲの値を「１」とし、ＲＡＭ１９から読み出すデータのアドレス「１」をＲＡからＡＤＲ１６に通知し、ＲＡの値に「０」に１を加算して「１」する。また、データ読み書き制御装置１０は、Ｔ７のタイミングでは、ＲＤＲ２０に記憶されたデータ「ＨＤ＋４Ｂ」を読み出し制御部１４が読み出してＳＤＲに記憶し、外部に送出する。
【００５３】
続いて、データ読み書き制御装置１０は、Ｔ８のタイミングでは、ＲＡＭ１９内のアドレス「１」に記憶されたデータ「ＨＤ＋４Ｂ」をＲＤＲ２０に読み出し、ＲＡＭ書き込み情報テーブル２１を[１]＝“０”に更新する。【００５４】
そして、データ読み書き制御装置１０は、Ｔ９のタイミングでは、ＲＤＲに記憶されたデータ「ＨＤ＋４Ｂ」を読み出し制御部１４が読み出してＳＤＲに記憶し、外部に送出する。【００５５】
[実施例１の効果]
上述してきたように、ＲＡＭ１９にデータを書き込むことを要求する書き込み要求に基づいて、そのデータのアドレス情報をＲＡＭ書き込み情報テーブル２１に書き込み、ＲＡＭ書き込み情報テーブル２１アドレス情報が書き込まれた直後に、そのアドレス情報を参照してＲＡＭ１９からデータを読み出すので、ＲＡＭ１９にデータが書き込まれたことを確認する前に、読み出し要求を出す結果、データの書き込まれるまで読み出しを待機することがなくなり、レイテンシの改善を実現することが可能である。
【実施例２】
【００５６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。【００５７】
（１）調停回路
また、上記の実施例１では、書き込み要求、読み込み要求を区別することなく、優先順序を決定する場合を説明したが、本発明はこれに限定されるものではなく、書き込み要求を読み出し要求よりも優先して優先順序を決定するようにしてもよい。【００５８】
ここで、図９を用いて具体的に優先順位の決定処理を説明する。調停回路１３は、図９に示すように、Ｔ２でＷＣＴＬ０＿ＷＲＥＱにアクセス権を与えた後、Ｔ４でＷＣＴＬ０＿ＷＲＥＱ、ＷＣＴＬ１＿ＷＲＥＱ、ＷＣＴＬ２＿ＷＲＥＱおよびＲＣＴＬ１＿ＲＲＥＱから同時に要求があった場合には、１番目〜３番目のアクセス権をそれぞれＷＣＴＬ１＿ＷＲＥＱ、ＷＣＴＬ２＿ＷＲＥＱ、ＷＣＴＬ０＿ＷＲＥＱに割り当て、優先順位が最も低く４番目のアクセス権をＲＣＴＬ１＿ＲＲＥＱに割当てる。【００５９】
このように、ＲＡＭ１９に対するデータの書き込み要求および読み出し要求を複数受け付けている場合に、書き込み要求を読み出し要求よりも優先して処理するように複数の要求を調停するので、ＲＡＭ書き込み情報テーブル２１にアドレス情報が書き込まれる前にＲＡＭ書き込み情報テーブル２１からデータを読み出すことを防止することが可能となる。【００６０】
（２）システム構成等
また、図示したデータ読み書き制御装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、書き込み制御部１１とアドレス管理部１２を統合してもよい。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。【００６１】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【００６２】
（３）プログラム
なお、本実施例で説明したデータ読み書き制御方法は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【産業上の利用可能性】
【００６３】
以上のように、本発明に係るデータ読み書き制御装置は、所定の記憶部にデータを書き込むとともに当該データのアドレス情報を所定のテーブルに書き込み、当該テーブルに書き込まれたアドレス情報を参照して前記所定の記憶部から前記データを読み出す場合に有用であり、特に、テーブルにアドレス情報が書き込まれる前にテーブルからデータを読み出すことを防止することに適する。
【図１】
0004900381.tif 000002
【図２】
0004900381.tif 000003
【図３】
0004900381.tif 000004
【図４】
0004900381.tif 000005
【図５】
0004900381.tif 000006
【図６】
0004900381.tif 000007
【図７】
0004900381.tif 000008
【図８】
0004900381.tif 000009
【図９】
0004900381.tif 000010
【図１０】
0004900381.tif 000011
【図１１】
0004900381.tif 000012
【図１２】
0004900381.tif 000013
【図１３】
0004900381.tif 000014