(57)【要約】【課題】アクセスする記憶装置を切り替えるアクセス制御装置を提供する。【解決手段】処理制御部３００とＨＤＤ２００とに接続されたアクセス制御装置１００であって、ＮＡＮＤ  ＦＬＡＳＨ１０８と、ＨＤＤ２００での格納位置を表す第１アドレスとＮＡＮＤ  ＦＬＡＳＨ１０８での格納位置を表す第２アドレスとを対応づけた変換テーブルを記憶する変換テーブル記憶部１１７と、アクセスが要求されたデータの第１アドレスに対応する第２アドレスを変換テーブルから検索して第２アドレスが検索された場合にＮＡＮＤ  ＦＬＡＳＨ１０８をアクセス対象に決定する対象決定部１１８と、を備えた。【選択図】        図１
2008310664.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と、前記外部装置がアクセスするデータを記憶する第１記憶手段とに接続され、前記外部装置からの前記データに対するアクセスを制御するアクセス制御装置であって、
前記データを記憶し、起動からアクセス可能になるまでの時間が前記第１記憶手段より短い第２記憶手段と、
前記第１記憶手段での前記データの格納位置を表す第１アドレスと、前記第２記憶手段での前記データの格納位置を表す第２アドレスとを対応づけた変換テーブルを記憶する変換テーブル記憶手段と、
前記外部装置から前記データのアクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定する対象決定手段と、
を備えたことを特徴とするアクセス制御装置。
【請求項２】
前記外部装置の起動時に利用される前記データにアクセスするときに、アクセスする前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成するテーブル作成手段をさらに備えたこと、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項３】
前記テーブル作成手段は、前記外部装置が起動した後、前記第２記憶手段の空き領域がなくなるまで、アクセスが要求された前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成すること、
を特徴とする請求項２に記載のアクセス制御装置。
【請求項４】
前記テーブル作成手段は、さらに、作成した前記変換テーブルを検索するときに前記第１記憶手段がアクセス可能か否かを判断し、前記第１記憶手段がアクセス可能となった後にアクセスする前記データについての前記第１アドレスと前記第２アドレスとを、前記変換テーブルから削除すること、
を特徴とする請求項２に記載のアクセス制御装置。
【請求項５】
前記対象決定手段は、前記第２アドレスが検索された場合に、さらに、前記アクセス要求が読取りアクセスか書込みアクセスかを判断し、読取りアクセスの場合に、前記第２記憶手段をアクセス対象に決定すること、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項６】
前記対象決定手段は、前記アクセス要求が書込みアクセスの場合に、前記第１記憶手段および前記第２記憶手段の両方をアクセス対象に決定すること、
を特徴とする請求項５に記載のアクセス制御装置。
【請求項７】
前記対象決定手段は、さらに、前記第２記憶手段へのアクセス時にエラーが発生したか否かを判断し、エラーが発生した場合に、前記第１記憶手段をアクセス対象に決定すること、
を特徴とする請求項５に記載のアクセス制御装置。
【請求項８】
前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、
前記変換テーブル記憶手段は、前記第１記憶手段の領域のうち、前記データを一時的に記憶する領域のアドレスである前記第１アドレスと、前記第２アドレスとを対応づけた前記変換テーブルを記憶すること、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項９】
前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、
主電源から前記ＤＲＡＭへの電力供給が停止したときに、前記ＤＲＡＭへの電力供給源を、前記主電源からバックアップ電源に切り替える電源制御手段をさらに備えたこと、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項１０】
前記第１記憶手段は、ＡＴＡ規格に準拠したＨＤＤ（Hard Disk Drive）であり、
前記対象決定手段は、ＡＴＡ規格に準拠した前記アクセス要求を前記外部装置から入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定すること、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項１１】
前記第１記憶手段は、ＡＴＡ規格に準拠したＨＤＤ（Hard Disk Drive）であり、
ＳｅｒｉａｌＡＴＡ、ＳＣＳＩ（Small Computer System Interface）、ＵＳＢ（Universal Serial Bus）、およびＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４のいずれかの規格に準拠したアクセス要求を前記外部装置から入力し、入力した前記アクセス要求をＡＴＡ規格に準拠したアクセス要求に変換する変換手段をさらに備え、
前記対象決定手段は、変換された前記アクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定すること、
を特徴とする請求項１に記載のアクセス制御装置。
【請求項１２】
外部装置と、前記外部装置がアクセスするデータを記憶する第１記憶手段とに接続され、前記外部装置からの前記データに対するアクセスを制御するアクセス制御装置におけるアクセス制御方法であって、
前記アクセス制御装置は、
前記データを記憶し、起動からアクセス可能になるまでの時間が前記第１記憶手段より短い第２記憶手段と、
前記第１記憶手段での前記データの格納位置を表す第１アドレスと、前記第２記憶手段での前記データの格納位置を表す第２アドレスとを対応づけた変換テーブルを記憶する変換テーブル記憶手段と、を備え、
対象決定手段によって、前記外部装置から前記データのアクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定する対象決定ステップを備えたこと、
を特徴とするアクセス制御方法。
【請求項１３】
テーブル作成手段によって、前記外部装置の起動時に利用される前記データにアクセスするときに、アクセスする前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成するテーブル作成ステップをさらに備えたこと、
を特徴とする請求項１２に記載のアクセス制御方法。
【請求項１４】
前記テーブル作成ステップは、前記外部装置が起動した後、前記第２記憶手段の空き領域がなくなるまで、アクセスが要求された前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成すること、
を特徴とする請求項１３に記載のアクセス制御方法。
【請求項１５】
前記テーブル作成ステップは、さらに、作成した前記変換テーブルを検索するときに前記第１記憶手段がアクセス可能か否かを判断し、前記第１記憶手段がアクセス可能となった後にアクセスする前記データについての前記第１アドレスと前記第２アドレスとを、前記変換テーブルから削除すること、
を特徴とする請求項１３に記載のアクセス制御方法。
【請求項１６】
前記対象決定ステップは、前記第２アドレスが検索された場合に、さらに、前記アクセス要求が読取りアクセスか書込みアクセスかを判断し、読取りアクセスの場合に、前記第２記憶手段をアクセス対象に決定すること、
を特徴とする請求項１２に記載のアクセス制御方法。
【請求項１７】
前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、
前記変換テーブル記憶手段は、前記第１記憶手段の領域のうち、前記データを一時的に記憶する領域のアドレスである前記第１アドレスと、前記第２アドレスとを対応づけた前記変換テーブルを記憶すること、
を特徴とする請求項１２に記載のアクセス制御方法。
【請求項１８】
前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、
電源制御手段によって、主電源から前記ＤＲＡＭへの電力供給が停止したときに、前記ＤＲＡＭへの電力供給源を、前記主電源からバックアップ電源に切り替える電源制御ステップをさらに備えたこと、
を特徴とする請求項１２に記載のアクセス制御方法。
【請求項１９】
請求項１２に記載のアクセス制御方法をコンピュータに実行させるアクセス制御プログラム。
【請求項２０】
請求項１９に記載のアクセス制御プログラムを格納したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、記憶装置に対するアクセスを制御するアクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体に関するものである。
【背景技術】
【０００２】
データを格納する記憶装置として広く利用されているハードディスクドライブ（ＨＤＤ）の長所として、（１）不揮発であること、（２）容量が非常に大きいこと、（３）ビット単価が安いこと、（４）書き換え回数の上限がないこと、（５）連続アクセススピードが高いこと、などが挙げられる。
【０００３】
一方、ＨＤＤの短所として、（１）小さい容量で構成されたものが少ないこと、（２）少なくとも＄４０〜＄５０のコストがかかること、（３）消費電力が高いこと（数十Ｗ）、（４）電源投入後、アクセス可能となるまでに数秒の時間が必要となること、（５）振動衝撃に弱いこと、（６）環境温度条件が厳しいこと、（７）不良率が高いこと、などが挙げられる。
【０００４】
このようなＨＤＤの短所を解消可能な記憶装置として、ＨＤＤとは異なる不揮発性メモリの一つであるＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤ  ＦＬＡＳＨという）が知られている。
【０００５】
ＮＡＮＤ  ＦＬＡＳＨの長所としては、（１）ＨＤＤより小さい容量を構成できること、（２）容量は減少するがＨＤＤのコスト以下でも構成可能であること、（３）消費電力が小さいこと（大きくとも数Ｗ）、（４）電源投入後、アクセス可能となるまでに必要な時間は数百μ秒であり、ＨＤＤよりも立ち上げ時間が短いこと、（５）振動衝撃に強いこと、（６）対応する温度環境条件が広いこと、（７）不良率がＨＤＤより低いこと、などが挙げられる。
【０００６】
ところで、上述のようなＨＤＤには、一般に各種情報処理装置を制御するためのプログラムデータが記憶されている。このため、情報処理装置に電源を入れて立ち上げる時に、ＨＤＤからプログラムを読み出す必要がある。ところが、ＨＤＤは電源が投入されてからモーターの回転が安定するまで、データの読み出しができないため、装置が実際に使用可能となるまでに時間がかかるという問題があった。
【０００７】
この問題を解決するため、本来ＨＤＤのみが接続されるインターフェースの先に、ＨＤＤとは別に、さらに不揮発性ＲＡＭ（Random Access Memory）を接続し、ＨＤＤと不揮発性ＲＡＭとを切り替えて使用できるように構成する技術が提案されている（例えば、特許文献１）。特許文献１では、立ち上げ時に必要なプログラムのデータは、ランダムアクセスが可能な不揮発性ＲＡＭに蓄積し、立ち上げ時は不揮発性ＲＡＭにアクセスするように制御することで、立ち上げ速度の高速化を実現している。
【０００８】
【特許文献１】特開２００７−２６４５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献１の方法では、高速にアクセスすべきデータと、その他のデータとを区別し、それぞれ不揮発性ＲＡＭとＨＤＤとに分けて事前に格納しておく必要がある。このため、例えば、情報処理装置の用途が変更され、高速にアクセスすべきデータが変更された場合には、当該データを再度不揮発性ＲＡＭに格納しなおす必要がある。このように、特許文献１の方法では、アクセスを切り替える記憶装置それぞれに記憶するデータを容易に変更することができないという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、アクセスする記憶装置を切り替えるとともに、各記憶装置に記憶するデータの変更に容易に対応可能なアクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、外部装置と、前記外部装置がアクセスするデータを記憶する第１記憶手段とに接続され、前記外部装置からの前記データに対するアクセスを制御するアクセス制御装置であって、前記データを記憶し、起動からアクセス可能になるまでの時間が前記第１記憶手段より短い第２記憶手段と、前記第１記憶手段での前記データの格納位置を表す第１アドレスと、前記第２記憶手段での前記データの格納位置を表す第２アドレスとを対応づけた変換テーブルを記憶する変換テーブル記憶手段と、前記外部装置から前記データのアクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定する対象決定手段と、を備えたことを特徴とする。
【００１２】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記外部装置の起動時に利用される前記データにアクセスするときに、アクセスする前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成するテーブル作成手段をさらに備えたこと、を特徴とする。
【００１３】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記テーブル作成手段は、前記外部装置が起動した後、前記第２記憶手段の空き領域がなくなるまで、アクセスが要求された前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成すること、を特徴とする。
【００１４】
また、請求項４にかかる発明は、請求項２にかかる発明において、前記テーブル作成手段は、さらに、作成した前記変換テーブルを検索するときに前記第１記憶手段がアクセス可能か否かを判断し、前記第１記憶手段がアクセス可能となった後にアクセスする前記データについての前記第１アドレスと前記第２アドレスとを、前記変換テーブルから削除すること、を特徴とする。
【００１５】
また、請求項５にかかる発明は、請求項１にかかる発明において、前記対象決定手段は、前記第２アドレスが検索された場合に、さらに、前記アクセス要求が読取りアクセスか書込みアクセスかを判断し、読取りアクセスの場合に、前記第２記憶手段をアクセス対象に決定すること、を特徴とする。
【００１６】
また、請求項６にかかる発明は、請求項５にかかる発明において、前記対象決定手段は、前記アクセス要求が書込みアクセスの場合に、前記第１記憶手段および前記第２記憶手段の両方をアクセス対象に決定すること、を特徴とする。
【００１７】
また、請求項７にかかる発明は、請求項５にかかる発明において、前記対象決定手段は、さらに、前記第２記憶手段へのアクセス時にエラーが発生したか否かを判断し、エラーが発生した場合に、前記第１記憶手段をアクセス対象に決定すること、を特徴とする。
【００１８】
また、請求項８にかかる発明は、請求項１にかかる発明において、前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、前記変換テーブル記憶手段は、前記第１記憶手段の領域のうち、前記データを一時的に記憶する領域のアドレスである前記第１アドレスと、前記第２アドレスとを対応づけた前記変換テーブルを記憶すること、を特徴とする。
【００１９】
また、請求項９にかかる発明は、請求項１にかかる発明において、前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、主電源から前記ＤＲＡＭへの電力供給が停止したときに、前記ＤＲＡＭへの電力供給源を、前記主電源からバックアップ電源に切り替える電源制御手段をさらに備えたこと、を特徴とする。
【００２０】
また、請求項１０にかかる発明は、請求項１にかかる発明において、前記第１記憶手段は、ＡＴＡ規格に準拠したＨＤＤ（Hard Disk Drive）であり、前記対象決定手段は、ＡＴＡ規格に準拠した前記アクセス要求を前記外部装置から入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定すること、を特徴とする。
【００２１】
また、請求項１１にかかる発明は、請求項１にかかる発明において、前記第１記憶手段は、ＡＴＡ規格に準拠したＨＤＤ（Hard Disk Drive）であり、ＳｅｒｉａｌＡＴＡ、ＳＣＳＩ（Small Computer System Interface）、ＵＳＢ（Universal Serial Bus）、およびＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４のいずれかの規格に準拠したアクセス要求を前記外部装置から入力し、入力した前記アクセス要求をＡＴＡ規格に準拠したアクセス要求に変換する変換手段をさらに備え、前記対象決定手段は、変換された前記アクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定すること、を特徴とする。
【００２２】
また、請求項１２にかかる発明は、外部装置と、前記外部装置がアクセスするデータを記憶する第１記憶手段とに接続され、前記外部装置からの前記データに対するアクセスを制御するアクセス制御装置におけるアクセス制御方法であって、前記アクセス制御装置は、前記データを記憶し、起動からアクセス可能になるまでの時間が前記第１記憶手段より短い第２記憶手段と、前記第１記憶手段での前記データの格納位置を表す第１アドレスと、前記第２記憶手段での前記データの格納位置を表す第２アドレスとを対応づけた変換テーブルを記憶する変換テーブル記憶手段と、を備え、対象決定手段によって、前記外部装置から前記データのアクセス要求を入力し、アクセスが要求された前記データの前記第１アドレスに対応する前記第２アドレスを前記変換テーブルから検索し、前記第２アドレスが検索された場合に、前記第２記憶手段をアクセス対象に決定する対象決定ステップを備えたこと、を特徴とする。
【００２３】
また、請求項１３にかかる発明は、請求項１２にかかる発明において、テーブル作成手段によって、前記外部装置の起動時に利用される前記データにアクセスするときに、アクセスする前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成するテーブル作成ステップをさらに備えたこと、を特徴とする。
【００２４】
また、請求項１４にかかる発明は、請求項１３にかかる発明において、前記テーブル作成ステップは、前記外部装置が起動した後、前記第２記憶手段の空き領域がなくなるまで、アクセスが要求された前記データを前記第１記憶手段から前記第２記憶手段にコピーし、コピー元の前記データの前記第１アドレスと、コピー先の前記データの前記第２アドレスとを対応づけた前記変換テーブルを作成すること、を特徴とする。
【００２５】
また、請求項１５にかかる発明は、請求項１３にかかる発明において、前記テーブル作成ステップは、さらに、作成した前記変換テーブルを検索するときに前記第１記憶手段がアクセス可能か否かを判断し、前記第１記憶手段がアクセス可能となった後にアクセスする前記データについての前記第１アドレスと前記第２アドレスとを、前記変換テーブルから削除すること、を特徴とする。
【００２６】
また、請求項１６にかかる発明は、請求項１２にかかる発明において、前記対象決定ステップは、前記第２アドレスが検索された場合に、さらに、前記アクセス要求が読取りアクセスか書込みアクセスかを判断し、読取りアクセスの場合に、前記第２記憶手段をアクセス対象に決定すること、を特徴とする。
【００２７】
また、請求項１７にかかる発明は、請求項１２にかかる発明において、前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、前記変換テーブル記憶手段は、前記第１記憶手段の領域のうち、前記データを一時的に記憶する領域のアドレスである前記第１アドレスと、前記第２アドレスとを対応づけた前記変換テーブルを記憶すること、を特徴とする。
【００２８】
また、請求項１８にかかる発明は、請求項１２にかかる発明において、前記第２記憶手段は、ＤＲＡＭ（Dynamic Random Access Memory）であり、電源制御手段によって、主電源から前記ＤＲＡＭへの電力供給が停止したときに、前記ＤＲＡＭへの電力供給源を、前記主電源からバックアップ電源に切り替える電源制御ステップをさらに備えたこと、を特徴とする。
【００２９】
また、請求項１９にかかる発明は、請求項１２に記載のアクセス制御方法をコンピュータに実行させるアクセス制御プログラムである。
【００３０】
また、請求項２０にかかる発明は、請求項１９に記載のアクセス制御プログラムを格納したことを特徴とする記録媒体である。
【発明の効果】
【００３１】
本発明によれば、アクセスする記憶装置を切り替えるとともに、各記憶装置に記憶するデータの変更に容易に対応することができるという効果を奏する。
【００３２】
また、本発明によれば、必要最小限のデータのみを複数の記憶装置に記憶することにより、アクセス処理を効率化することができるという効果を奏する。
【００３３】
また、本発明によれば、アクセス時のエラーを判定してアクセス先を切り替えることにより、アクセス処理の信頼性を向上させることができるという効果を奏する。
【００３４】
また、本発明によれば、揮発メモリを記憶装置の一つとして利用して使用後のデータ消去処理を不要とすることにより、アクセス処理の性能を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００３５】
以下に添付図面を参照して、この発明にかかるアクセス制御装置の最良な実施の形態を詳細に説明する。なお、以下では、本発明にかかるアクセス制御装置を、ＣＰＵ（Central Processing Unit）などの制御装置と、ＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆと、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバスを備えた、通常のコンピュータに適用した例について説明する。
【００３６】
なお、適用可能な装置はこのようなコンピュータに限られるものではない。ＨＤＤなどの不揮発性記憶媒体にデータを格納する装置であれば、例えば、像担持体上に画像を形成する作像部、形成された画像を記録紙に定着する定着部などのデバイスを備えた画像形成装置などのその他のあらゆる電子装置に適用することができる。
【００３７】
（第１の実施の形態）
第１の実施の形態にかかるアクセス制御装置は、ＨＤＤ内でのデータのアドレスとＮＡＮＤ  ＦＬＡＳＨ内でのデータのアドレスとを対応づけた変換テーブルを参照し、ＮＡＮＤ  ＦＬＡＳＨ内のアドレスが存在するデータは、ＮＡＮＤ  ＦＬＡＳＨにアクセスするように制御するものである。
【００３８】
なお、ＮＡＮＤ  ＦＬＡＳＨよりＨＤＤのビット単価が安いため、ＨＤＤと同じ容量のＮＡＮＤ  ＦＬＡＳＨにデータを完全に対応づけることは現実的ではない。ＨＤＤの容量と比較してはるかに少ない容量のＮＡＮＤ  ＦＬＡＳＨを搭載するのが一般的である。すなわち、ＨＤＤの一部の領域をＮＡＮＤ  ＦＬＡＳＨが重複してマッピングすることになる。
【００３９】
この場合、ＨＤＤのいずれの領域を重複させるかが問題となる。そこで、第１の実施の形態では、ＨＤＤの電源投入時の立ち上がり時間が数秒必要である欠点をカバーすることを考慮して重複マッピングする領域を決定する。すなわち、電源投入直後にアクセスするＨＤＤのＬＢＡの領域を学習して記憶し、立ち上げ時間の短いＮＡＮＤ  ＦＬＡＳＨに代替することでシステム全体の立ち上げ時間の高速化を実現する。
【００４０】
図１は、第１の実施の形態にかかるアクセス制御装置１００を含むＰＣ１０の構成を示すブロック図である。図１に示すように、ＰＣ１０は、アクセス制御装置１００と、データを記憶するＨＤＤ２００と、処理制御部３００と、パワーサプライユニット（ＰＳＵ）４００とを備えている。
【００４１】
アクセス制御装置１００は、処理制御部３００からデータに対するアクセスを要求するコマンドを受けたときに、ＨＤＤ２００または後述するＮＡＮＤ  ＦＬＡＳＨ１０８等のいずれかをアクセス先とするようにデータへのアクセスを制御する。なお、アクセス制御装置１００は、例えば、独立したハードウェア基板などにより構成することができる。
【００４２】
処理制御部３００は、ＨＤＤ２００に記憶されたデータを利用して各種処理を実行するものであり、ＡＴＡコントローラ３０１と、ＣＰＵ３０２と、ＤＲＡＭ３０３と、ＲＯＭ３０４と、を備えている。
【００４３】
ＡＴＡコントローラ３０１は、ＡＴＡ規格に準拠した記憶装置へのアクセス制御を実行するものである。ＲＯＭ３０４は、ＰＣ１０上で動作する各種プログラムなどを格納するものである。ＣＰＵ３０２は、ＲＯＭ３０４内のプログラムに従ってＰＣ１０上で動作する各種処理を制御するものである。ＤＲＡＭ３０３は、ＣＰＵ３０２が実行する処理の制御に必要な種々のデータを記憶するものである。
【００４４】
ＰＳＵ４００は、ＡＣ電源を元にアクセス制御装置１００、ＨＤＤ２００、および処理制御部３００にＤＣ電源を供給するものである。
【００４５】
次に、アクセス制御装置１００の詳細な構成について説明する。図１に示すように、アクセス制御装置１００は、ＨＤＤ２００に記憶されたデータをマッピングして記憶する記憶部として、ＮＡＮＤ  ＦＬＡＳＨ１０８と、ＮＶ（Non Volatile）ＲＡＭ１０９と、ＤＲＡＭ（Dynamic Random Access Memory）１１０とを備えている。
【００４６】
ＮＡＮＤ  ＦＬＡＳＨ１０８、ＮＶＲＡＭ１０９、およびＤＲＡＭ１１０は、いずれも、電源投入後、アクセス可能となるまでの立ち上げ時間がＨＤＤ２００より短い記憶装置である。なお、データをマッピングして記憶する記憶部は、ＮＡＮＤ  ＦＬＡＳＨ１０８、ＮＶＲＡＭ１０９、およびＤＲＡＭ１１０に限られるものではなく、ＨＤＤ２００より立ち上げ時間の短い記憶媒体であれば、あらゆる記憶媒体を適用できる。
【００４７】
また、アクセス制御装置１００は、アクセス制御に関する処理を実行する制御部１１４と、制御部１１４と上記各記憶部それぞれとを接続するＮＡＮＤ  ＦＬＡＳＨコントローラ１１１と、ＮＶＲＡＭコントローラ１１２と、ＤＲＡＭコントローラ１１３と、ＰＳＵ４００からの電源供給に関する処理を制御する電源制御部１１５と、を備えている。
【００４８】
なお、アクセス制御装置１００は、上記３つの記憶部をすべて備える必要はなく、少なくともいずれか１つを備えるように構成されていればよい。以下では、原則としてＮＡＮＤ  ＦＬＡＳＨ１０８のみが備えられているものとして説明する。
【００４９】
制御部１１４は、さらに、主なハードウェア構成として、変換テーブル記憶部１１７と、ＡＴＡコントローラ１２３とを備え、主なソフトウェア構成として、対象決定部１１８と、テーブル作成部１１９と、を備えている。
【００５０】
変換テーブル記憶部１１７は、ＨＤＤ２００におけるデータのアドレスと、ＮＡＮＤ  ＦＬＡＳＨ１０８における同一のデータのアドレスとを対応づけた変換テーブルを記憶するものである。図２は、変換テーブル記憶部１１７に記憶された変換テーブルのデータ構造の一例を示す説明図である。
【００５１】
図２に示すように、変換テーブルは、処理制御部３００起動後のＨＤＤ２００に対するアクセス順序と、ＨＤＤのアドレスを表すＬＢＡ（Logical Block Address）と、ＮＡＮＤ  ＦＬＡＳＨ１０８のＬＢＡとを対応づけて格納している。このように、ＨＤＤ２００は、セクタ（５１２バイト）を１単位とするＬＢＡによってアクセスが制御される。このため、制御部１１４は、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスするときも、アクセス単位を５１２バイトに揃えてアクセスする。
【００５２】
このような変換テーブルを参照することにより、アクセスするＨＤＤ２００内のデータがＮＡＮＤ  ＦＬＡＳＨ１０８にも格納されているか否かを判断するとともに、ＮＡＮＤ  ＦＬＡＳＨ１０８内でのアドレスを特定することができる。
【００５３】
なお、変換テーブルは後述するテーブル作成部１１９によって作成され、変換テーブル記憶部１１７に保存される。テーブル作成部１１９を用いずに、事前に作成した変換テーブルを保存するように構成してもよい。
【００５４】
ＡＴＡコントローラ１２３は、ＡＴＡ規格に準拠した記憶装置へのアクセス制御を実行するものである。例えば、ＡＴＡコントローラ１２３は、処理制御部３００から送信されたＡＴＡ規格に準拠したアクセスコマンドを受信し、図示しないＲＡＭに記憶する。
【００５５】
対象決定部１１８は、変換テーブルを参照して、データをアクセスするアクセス対象を、ＨＤＤ２００またはＮＡＮＤ  ＦＬＡＳＨ１０８のいずれかに決定するものである。具体的には、対象決定部１１８は、コマンドでアクセスが要求されたＨＤＤ２００のアドレス（ＬＢＡ）に対応するＮＡＮＤ  ＦＬＡＳＨ１０８のＬＢＡを検索し、ＮＡＮＤ  ＦＬＡＳＨ１０８のＬＢＡが検索できた場合に、アクセス対象をＮＡＮＤ  ＦＬＡＳＨ１０８に決定する。また、対象決定部１１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８のＬＢＡが検索できなかった場合に、アクセス対象をＨＤＤ２００に決定する。
【００５６】
テーブル作成部１１９は、処理制御部３００の最初の起動時に変換テーブルを作成して変換テーブル記憶部１１７に保存するものである。具体的には、テーブル作成部１１９は、起動時にアクセスされるＨＤＤ２００内のデータをアクセス順序に従ってＮＡＮＤ  ＦＬＡＳＨ１０８にコピーするとともに、コピー元のＬＢＡと、コピー先のＬＢＡとを対応づけて順次変換テーブルに追加する。
【００５７】
上述の図２は、このようにして作成された変換テーブルの一例を示している。同図は、処理制御部３００の起動後、ＨＤＤ２００のＬＢＡ０、１、２、１０、１１、１２、２５、３０、５０の順にデータがアクセスされた場合に作成される変換テーブルの例を示している。なお、ＮＡＮＤ  ＦＬＡＳＨ１０８には先頭アドレス０から順にデータがコピーされる。
【００５８】
次に、第１の実施の形態のアクセス制御装置１００のハードウェア構成について説明する。アクセス制御装置１００は、主なハードウェア構成として、上述のＮＡＮＤ  ＦＬＡＳＨ１０８と、ＮＶＲＡＭ１０９と、ＤＲＡＭ１１０と、ＮＡＮＤ  ＦＬＡＳＨコントローラ１１１と、ＮＶＲＡＭコントローラ１１２と、ＤＲＡＭコントローラ１１３と、を備えている。
【００５９】
また、制御部１１４は、主なハードウェア構成として、ＣＰＵと、ＲＡＭと、ＲＯＭと、上述のＡＴＡコントローラ１２３とを備えている。
【００６０】
ＲＯＭは、アクセス制御処理を実行するアクセス制御プログラムや、変換テーブルなどを格納する。ＣＰＵは、ＲＯＭ内のプログラムに従ってアクセス制御装置１００の各部を制御する。ＲＡＭは、アクセス制御装置１００の制御に必要な種々のデータを記憶する。
【００６１】
なお、アクセス制御プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク（ＦＤ）、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００６２】
この場合には、アクセス制御プログラムは、アクセス制御装置１００で上記記録媒体から読み出して実行することにより制御部１１４内のＣＰＵ上にロードされ、上記ソフトウェア構成で説明した各部が制御部１１４内のＣＰＵ上に生成されるようになっている。
【００６３】
また、本実施の形態のアクセス制御プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。
【００６４】
次に、このように構成された第１の実施の形態にかかるアクセス制御装置１００によるアクセス制御処理について図３を用いて説明する。図３は、第１の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【００６５】
まず、制御部１１４のＡＴＡコントローラ１２３は、処理制御部３００からのデータアクセス要求を入力する（ステップＳ３０１）。次に、制御部１１４は、変換テーブル記憶部１１７に変換テーブルが存在するか否かを判断する（ステップＳ３０２）。例えば、処理制御部３００の最初の起動時には変換テーブルが作成されていないため、ステップＳ３０２では変換テーブルが存在しないと判断される。
【００６６】
変換テーブルが存在しない場合は（ステップＳ３０２：ＮＯ）、テーブル作成部１１９が、データアクセス順に従って変換テーブルを作成する変換テーブル作成処理を実行する（ステップＳ３０３）。変換テーブル作成処理の詳細については後述する。
【００６７】
変換テーブル作成処理の後、制御部１１４は、アクセス要求にしたがってＨＤＤ２００へのアクセス動作を継続する（ステップＳ３０４）。
【００６８】
ステップＳ３０２で、変換テーブルが存在すると判断された場合は（ステップＳ３０２：ＹＥＳ）、対象決定部１１８は、アクセスが要求されたＨＤＤ２００のアドレス（ＬＢＡ）に対応するＮＡＮＤ  ＦＬＡＳＨ１０８のアドレス（ＬＢＡ）を変換テーブルから検索する（ステップＳ３０５）。
【００６９】
次に、対象決定部１１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８のアドレスを取得できたか否かを判断し（ステップＳ３０６）、取得できなかった場合は（ステップＳ３０６：ＮＯ）、ＨＤＤ２００をアクセス対象に決定する。そして、制御部１１４は、アクセス対象として決定されたＨＤＤ２００をアクセスする（ステップＳ３０７）。
【００７０】
ＮＡＮＤ  ＦＬＡＳＨ１０８のアドレスを取得できた場合は（ステップＳ３０６：ＹＥＳ）、対象決定部１１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８をアクセス対象に決定する。そして、そして、制御部１１４は、アクセス対象として決定されたＮＡＮＤ  ＦＬＡＳＨ１０８をアクセスする（ステップＳ３０８）。
【００７１】
次に、制御部１１４は、さらにアクセス要求が入力されたか否かを判断し（ステップＳ３０９）、入力されていない場合は（ステップＳ３０９：ＮＯ）、入力されるまで処理を繰り返す。アクセス要求が入力された場合は（ステップＳ３０９：ＹＥＳ）、入力された要求について、アクセス対象決定処理およびアクセス処理を繰り返す（ステップＳ３０５〜ステップＳ３０８）。
【００７２】
このように、本実施の形態では、最初の起動時に変換テーブルを作成し、作成した変換テーブルにしたがって、アクセス先をＨＤＤ２００およびＮＡＮＤ  ＦＬＡＳＨ１０８のいずれかに決定している。このため、処理制御部３００の用途やアプリケーション、ＯＳその他のソフトウェアの種類を限定することなく、柔軟に変換テーブルを作成し、アクセス対象を切り替えることができる。
【００７３】
また、起動時のデータを、電源投入後、アクセス可能となるまでに必要な時間がＨＤＤ２００よりも短いＮＡＮＤ  ＦＬＡＳＨ１０８に格納しているため、装置の起動処理の高速化を実現できる。すなわち、上述のようなＨＤＤ２００とＮＡＮＤ  ＦＬＡＳＨ１０８の欠点を相互に補い、それぞれの長所を生かす記憶装置を実現することができる。
【００７４】
また、従来と同様のＡＴＡインターフェース（ＡＴＡコントローラ１２３）を介して接続されているため、処理制御部３００のソフトウェアからは、ＨＤＤ２００に直接接続した場合と区別せずにデータにアクセスできる。例えば、アクセス制御装置１００を経由してＨＤＤ２００にアクセスする場合であっても、処理制御部３００からは、記憶装置の容量や構成情報は、ＨＤＤ２００に直接接続した場合と同様の内容を認識できる。このため、処理制御部３００のソフトウェアを変更する必要がない。
【００７５】
なお、電源投入直後のＨＤＤアクセス順序およびアドレスは、一般にはブート毎に変わるものではない。そこで、本実施の形態のように、初回起動時のみ変換テーブルを作成することにより、２回目以降の起動処理をさらに高速化することができる。
【００７６】
また、電源投入後、ＨＤＤ３００がアクセス可能になるまでの時間がＮＡＮＤ  ＦＬＡＳＨ１０８の全容量にアクセスする時間より長い場合は、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスするデータ量が多いほど高速化が期待できる。すなわち、本実施の形態のようにＮＡＮＤ  ＦＬＡＳＨ１０８の全容量について変換テーブルを作成することで、高速化の効果がより大きくなる。
【００７７】
次に、ステップＳ３０３の変換テーブル作成処理の詳細について図４を用いて説明する。図４は、第１の実施の形態における変換テーブル作成処理の全体の流れを示すフローチャートである。
【００７８】
まず、テーブル作成部１１９は、ＮＡＮＤ  ＦＬＡＳＨ１０８の記憶容量（以下、容量Ａとする）を検知する（ステップＳ４０１）。次に、テーブル作成部１１９は、ＨＤＤ２００の要求されたアドレス（ＬＢＡ）にアクセスする（ステップＳ４０２）。
【００７９】
次に、テーブル作成部１１９は、アクセスしたＨＤＤ２００のアドレスと、コピー先となるＮＡＮＤ  ＦＬＡＳＨ１０８のアドレスとの対応を作成して変換テーブルに保存する（ステップＳ４０３）。次に、テーブル作成部１１９は、ＨＤＤ２００からＮＡＮＤ  ＦＬＡＳＨ１０８の対応するアドレスにデータをコピーする（ステップＳ４０４）。
【００８０】
次に、テーブル作成部１１９は、ＨＤＤ２００をアクセスした容量（以下、容量Ｂとする）を算出する（ステップＳ４０５）。そして、テーブル作成部１１９は、ステップＳ４０１で検知したＮＡＮＤ  ＦＬＡＳＨ１０８の容量Ａと、算出した容量Ｂとを比較し、容量Ｂが容量Ａより小さいか否かを判断する（ステップＳ４０６）。
【００８１】
容量Ｂが容量Ａより小さい場合は（ステップＳ４０６：ＹＥＳ）、テーブル作成部１１９は、次に要求されたＨＤＤ２００のアドレスにアクセスし処理を繰り返す（ステップＳ４０２）。
【００８２】
容量Ｂが容量Ａより小さくない場合、すなわち、ＮＡＮＤ  ＦＬＡＳＨ１０８にコピーできる領域が存在しない場合は（ステップＳ４０６：ＮＯ）、テーブル作成部１１９は、変換テーブル作成処理を終了する。
【００８３】
（変形例）
上記実施の形態では、処理制御部３００からＡＴＡ規格に準拠したアクセスコマンドが送信されることを前提としていた。これに対し、本変形例では、ＡＴＡ規格以外のＳｅｒｉａｌＡＴＡ、ＳＣＳＩ（Small Computer System Interface）、ＵＳＢ（Universal Serial Bus）、およびＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４のいずれかのインターフェース規格を利用した場合にも、上記と同様のアクセス制御処理を可能とするものである。
【００８４】
図５は、本変形例にかかるアクセス制御装置５００を含むＰＣ１１の構成を示すブロック図である。図５の処理制御部５３０は、第１の実施の形態の処理制御部３００と異なり、ＳｅｒｉａｌＡＴＡ、ＳＣＳＩ、ＵＳＢ、およびＩＥＥＥ１３９４などのＡＴＡ以外のインターフェースによってＨＤＤ２００にアクセスするコントローラ５３１を備えている。
【００８５】
また、図５に示すように、アクセス制御装置５００は、処理制御部５３０と制御部１１４のＡＴＡコントローラ１２３との間に、インターフェース変換部５２１が追加された点が、第１の実施の形態と異なっている。インターフェース変換部５２１は、処理制御部５３０が採用するインターフェース規格と、ＨＤＤ２００にアクセスするためのＡＴＡ規格とを変換するものである。
【００８６】
このような構成により、アクセス制御装置５００は、ＡＴＡ規格以外のインターフェース規格に対応した処理制御部５３０に対して、上述のようなアクセス制御処理を実行することができる。
【００８７】
このように、第１の実施の形態にかかるアクセス制御装置では、ＨＤＤのアドレスとＮＡＮＤ  ＦＬＡＳＨのアドレスとを対応づけた変換テーブルを参照し、ＮＡＮＤ  ＦＬＡＳＨのアドレスが存在するデータは、ＮＡＮＤ  ＦＬＡＳＨにアクセスするように制御することができる。変換テーブルは初回起動時または事前にＨＤＤの内容に応じて作成することができるため、アクセスする記憶装置を切り替えるとともに、各記憶装置に記憶するデータの変更に容易に対応することができる。
【００８８】
（第２の実施の形態）
第２の実施の形態にかかるアクセス制御装置は、ＮＡＮＤ  ＦＬＡＳＨの全容量にＨＤＤのデータをマッピングするのではなく、ＨＤＤがアクセス可能になるまでの時間に相当するデータのみをマッピングするものである。
【００８９】
図６は、第２の実施の形態にかかるアクセス制御装置６００を含むＰＣ２０の構成を示すブロック図である同図に示すように、アクセス制御装置６００は、制御部６１４の機能、具体的にはテーブル作成部６１９の機能が、第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかるアクセス制御装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【００９０】
テーブル作成部６１９は、ＮＡＮＤ  ＦＬＡＳＨ１０８の全容量分に相当する変換テーブルを作成するのではなく、ＨＤＤ２００がアクセス可能になる時間に対応するデータ量に相当する分の変換テーブルを作成する。具体的には、テーブル作成部６１９は、まず、第１の実施の形態と同様に最初の起動時に変換テーブル作成処理によって変換テーブルを作成する。そして、テーブル作成部６１９は、起動時に作成した変換テーブルを参照するときに、ＨＤＤ２００がアクセス可能か否かを判断し、アクセス可能となった時点以降にアクセスするデータについては、対応するアドレスを変換テーブルから削除する。
【００９１】
なお、テーブル作成部６１９は、ＨＤＤ２００の動作状態を格納したＳｔａｔｕｓレジスタを参照し、Ｓｔａｔｕｓレジスタの値がビジー状態か否かによって、ＨＤＤ２００がアクセス可能か否かを判断する。
【００９２】
図７は、ＡＴＡレジスタのアドレス割り当ての一例を示す説明図である。図７では、信号ＣＳ１＃，ＣＳ０＃、ＤＡ２、ＤＡ１、ＤＡ０がそれぞれＨ、Ｌ、Ｈ、Ｈ、Ｈであり、かつリードアクセスのときに、Ｓｔａｔｕｓレジスタにアクセスできることが示されている。
【００９３】
図８は、Ｓｔａｔｕｓレジスタ内のＢＩＴアサインの一例を示す。図８に示すように、Ｓｔａｔｕｓレジスタは８ビットで構成される。また、Ｓｔａｔｕｓレジスタの最上位のＢＩＴ７によって、ＨＤＤ２００がビジー状態か、アイドル状態かが表される。すなわち、ＢＩＴ７が０のときアイドル状態、１のときビジー状態を表す。
【００９４】
次に、このように構成された第２の実施の形態にかかるアクセス制御装置６００によるアクセス制御処理について説明する。図９は、第２の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【００９５】
ステップＳ９０１からステップＳ９０６までの、アクセス要求入力処理、変換テーブル作成処理、テーブル存在確認処理、およびアドレス存在確認処理は、第１の実施の形態にかかるアクセス制御装置１００におけるステップＳ３０１からステップＳ３０６までと同様の処理なので、その説明を省略する。
【００９６】
ステップＳ９０６で、ＮＡＮＤ  ＦＬＡＳＨ１０８のアドレスを取得できなかった場合は（ステップＳ９０６：ＮＯ）、対象決定部１１８は、ＨＤＤ２００をアクセス対象に決定する。なお、本実施の形態の制御部６１４は、このとき、ＨＤＤ２００のＳｔａｔｕｓレジスタを確認し（ステップＳ９０７）、ＨＤＤ２００がビジー状態か否かを判断する（ステップＳ９０８）。
【００９７】
ＨＤＤ２００がビジー状態の場合は（ステップＳ９０８：ＹＥＳ）、アイドル状態になるまで処理を繰り返す（ステップＳ９０７）。ＨＤＤ２００がビジー状態でない場合、すなわち、アイドル状態である場合は（ステップＳ９０８：ＮＯ）、制御部６１４は、アクセス対象として決定されたＨＤＤ２００をアクセスする（ステップＳ９０９）。
【００９８】
ステップＳ９０６で、ＮＡＮＤ  ＦＬＡＳＨ１０８のアドレスを取得できた場合は（ステップＳ９０６：ＹＥＳ）、対象決定部１１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８をアクセス対象に決定する。このとき、テーブル作成部６１９は、ＨＤＤ２００のＳｔａｔｕｓレジスタを確認し（ステップＳ９１０）、ＨＤＤ２００がビジー状態か否かを判断する（ステップＳ９１１）。
【００９９】
ＨＤＤ２００がビジー状態の場合は（ステップＳ９１１：ＹＥＳ）、制御部６１４は、アクセス対象として決定されたＮＡＮＤ  ＦＬＡＳＨ１０８をアクセスする（ステップＳ９１３）。ＨＤＤ２００がビジー状態でない場合、すなわち、アイドル状態である場合は（ステップＳ９１１：ＮＯ）、テーブル作成部６１９は、現在のアドレス以降のアドレスを変換テーブルから削除する（ステップＳ９１２）。
【０１００】
このように、第２の実施の形態にかかるアクセス制御装置では、ＨＤＤがアクセス可能になるまでの時間に相当するデータのみをＮＡＮＤ  ＦＬＡＳＨにマッピングすることができる。これにより、電源投入後、ＨＤＤがアクセス可能になるまでの時間がＮＡＮＤ  ＦＬＡＳＨの全容量にアクセスする時間より短い場合であっても、必要最小限のデータのみをマッピングすることが可能となる。
【０１０１】
また、これにより、ＮＡＮＤ  ＦＬＡＳＨでマッピングに使用されない領域を他の用途に使用することができる。さらに、変換テーブルから必要最小限のＮＡＮＤ  ＦＬＡＳＨの容量を知ることができるため、ＮＡＮＤ  ＦＬＡＳＨの容量を最適化してコストダウンを図ることができる。
【０１０２】
（第３の実施の形態）
第３の実施の形態にかかるアクセス制御装置は、リード要求のときにはＮＡＮＤ  ＦＬＡＳＨのみをアクセスし、ライト要求のときにはＨＤＤとＮＡＮＤ  ＦＬＡＳＨの両方をアクセスするものである。また、ＮＡＮＤ  ＦＬＡＳＨアクセス時のエラーを判定し、エラーが発生したときはＨＤＤにアクセス先を切り替えるものである。
【０１０３】
図１０は、第３の実施の形態にかかるアクセス制御装置１０００を含むＰＣ３０の構成を示すブロック図である。同図に示すように、アクセス制御装置１０００は、制御部１０１４の機能、具体的には対象決定部１０１８の機能が、第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかるアクセス制御装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１０４】
対象決定部１０１８は、変換テーブルが存在する場合に、さらにＮＡＮＤ  ＦＬＡＳＨ１０８に対するアクセスエラーの有無を判断し、エラーの場合にはＨＤＤをアクセス対象として決定する点が、第１の実施の形態の対象決定部１１８と異なっている。
【０１０５】
次に、このように構成された第３の実施の形態にかかるアクセス制御装置１０００によるアクセス制御処理について説明する。図１１は、第３の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【０１０６】
ステップＳ１１０１からステップＳ１１０４までの、アクセス要求入力処理、変換テーブル作成処理、テーブル存在確認処理は、第１の実施の形態にかかるアクセス制御装置１００におけるステップＳ３０１からステップＳ３０４までと同様の処理なので、その説明を省略する。
【０１０７】
ステップＳ１１０２で変換テーブルが存在すると判断された場合（ステップＳ１１０２：ＹＥＳ）、対象決定部１０１８は、エラーフラグが１であるか否かを判断する（ステップＳ１１０５）。なお、エラーフラグとは、ＮＡＮＤ  ＦＬＡＳＨ１０８のアクセス時にエラーが発生したか否かを表す情報であり、０のときエラーなし、１のときエラー有りを表すものとする。また、エラーフラグには、初期状態として０（エラーなし）が設定されていることを前提とする。
【０１０８】
エラーフラグが１でない場合は（ステップＳ１１０５：ＮＯ）、対象決定部１０１８は、さらにアクセス要求がリードアクセスか否かを判断する（ステップＳ１１０６）。リードアクセスの場合は（ステップＳ１１０６：ＹＥＳ）、アクセス対象決定処理およびアクセス処理が実行される（ステップＳ１１０７〜ステップＳ１１１０）。
【０１０９】
なお、ステップＳ１１０７からステップＳ１１１０までの、アクセス対象決定処理およびアクセス処理は、第１の実施の形態にかかるアクセス制御装置１００におけるステップＳ３０５からステップＳ３０８までと同様の処理なので、その説明を省略する。
【０１１０】
本実施の形態では、対象決定部１０１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスしたときに、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスエラーが発生したか否かを判断する（ステップＳ１１１１）。そして、アクセスエラーが発生した場合は（ステップＳ１１１１：ＹＥＳ）、対象決定部１０１８は、エラーフラグに１を設定するとともに（ステップＳ１１１２）、アクセス対象をＨＤＤ２００に変更する。そして、制御部１０１４は、ＨＤＤ２００をアクセス対象として要求されたデータに再度アクセスする（ステップＳ１１０９）。
【０１１１】
アクセスエラーが発生していないと判断した場合は（ステップＳ１１１１：ＮＯ）、アクセス要求入力の判断処理が実行される（ステップＳ１１１６）。
【０１１２】
ステップＳ１１０６で、アクセス要求がリードアクセスでない、すなわちライトアクセスであると判断された場合は（ステップＳ１１０６：ＮＯ）、対象決定部１０１８は、ＨＤＤ２００とＮＡＮＤ  ＦＬＡＳＨ１０８の両方をアクセス対象として決定する。そして、制御部１０１４は、ＨＤＤ２００およびＮＡＮＤ  ＦＬＡＳＨ１０８のそれぞれにデータを書き込む（ステップＳ１１１３）。
【０１１３】
次に、対象決定部１０１８は、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスしたときに、ＮＡＮＤ  ＦＬＡＳＨ１０８にアクセスエラーが発生したか否かを判断する（ステップＳ１１１４）。そして、アクセスエラーが発生した場合は（ステップＳ１１１４：ＹＥＳ）、対象決定部１０１８は、エラーフラグに１を設定する（ステップＳ１１１５）。
【０１１４】
アクセスエラーが発生していないと判断した場合は（ステップＳ１１１４：ＮＯ）、アクセス要求入力の判断処理が実行される（ステップＳ１１１６）。
【０１１５】
ステップＳ１１１６のアクセス要求入力の判断処理は、第１の実施の形態のステップＳ３０９と同様の処理であるため、その説明を省略する。
【０１１６】
このように、第３の実施の形態にかかるアクセス制御装置では、リード要求のときにはＮＡＮＤ  ＦＬＡＳＨのみをアクセスし、ライト要求のときにはＨＤＤとＮＡＮＤ  ＦＬＡＳＨの両方をアクセスすることができる。これにより、読取り処理の高速化を図ることができる。また、常にデータを二重化できるため、データの信頼性を向上させることができる。
【０１１７】
また、一般にはＨＤＤより不良率が低いＮＡＮＤ  ＦＬＡＳＨであっても不良が発生することがある。さらに、ＮＡＮＤ  ＦＬＡＳＨには書き換え回数に上限があるため、書き換え回数が多くなると不良が発生する確率が高まる。これに対し、第３の実施の形態では、ＮＡＮＤ  ＦＬＡＳＨアクセス時のエラーを判定し、エラーが発生したときはＨＤＤにアクセス先を切り替えることができるため、データアクセスの信頼性を向上させることができる。
【０１１８】
（第４の実施の形態）
第４の実施の形態にかかるアクセス制御装置は、データの一時記憶領域として利用されるＨＤＤの領域を、揮発メモリであるＤＲＡＭにマッピングすることにより、アクセス性能の向上を実現するものである。
【０１１９】
図１２は、第４の実施の形態にかかるアクセス制御装置１２００を含むＰＣ４０の構成を示すブロック図である。図１２に示すように、アクセス制御装置１２００は、ＨＤＤ２００に記憶されたデータをマッピングして記憶する記憶部としてＤＲＡＭ１１０を備えている。
【０１２０】
なお、本実施の形態では、説明の便宜上、ＨＤＤ２００の一時記憶領域のデータをマッピングするためにＤＲＡＭ１１０のみを用いる例について説明するが、その他の記憶部（ＮＡＮＤ  ＦＬＡＳＨ１０８、ＮＶＲＡＭ１０９）を備えることを制限するものではない。すなわち、第１の実施の形態などと同様に、その他の記憶部によって一時記憶領域以外のデータを含む任意のデータをマッピングする機能をさらに備えるように構成してもよい。
【０１２１】
また、同図に示すように、アクセス制御装置１２００は、制御部１２１４の機能、具体的には対象決定部１２１８の機能と、テーブル作成部１１９が削除された点が、第１の実施の形態と異なっている。その他の構成および機能は、第１の実施の形態にかかるアクセス制御装置１００の構成を表すブロック図である図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１２２】
対象決定部１２１８は、ＨＤＤ２００から切り替えるアクセス対象が、ＮＡＮＤ  ＦＬＡＳＨ１０８ではなくＤＲＡＭ１１０に代わる点が、第１の実施の形態の対象決定部１１８と異なるのみであり、アクセス対象決定処理の実質的な処理内容は同様である。
【０１２３】
なお、本実施の形態では、ＨＤＤ２００内で一時記憶領域として利用される領域のアドレスと、ＤＲＡＭ１１０のアドレスとを事前に対応づけた変換テーブルを変換テーブル記憶部１１７に記憶することを前提とする。このため、本実施の形態では、テーブル作成部１１９が削除されている。これに対し、ＨＤＤ２００の一時記憶領域のアドレスを検出する機能を備え、ＤＲＡＭ１１０のアドレスとマッピングして変換テーブルを作成するテーブル作成部を備えるように構成してもよい。
【０１２４】
なお、一時記憶領域は、必ず最初にデータの書込みが行われ、その後にデータが読取られるものであるため、予めデータをＨＤＤ２００からＤＲＡＭ１１０にコピーしておく必要はない。
【０１２５】
次に、このように構成された第４の実施の形態にかかるアクセス制御装置１２００によるアクセス制御処理について説明する。図１３は、第４の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【０１２６】
本実施の形態では、変換テーブルが事前に設定されているため、変換テーブルの存在有無を判断する処理、および変換テーブル作成処理が不要となる。すなわち、図１３のフローチャートは、第１の実施の形態のステップＳ３０２からステップＳ３０４を削除したフローチャートに相当する。
【０１２７】
すなわち、ステップＳ１３０１は、図３のステップＳ３０１に対応し、ステップＳ１３０２からステップＳ１３０６は、図３のステップＳ３０５からステップＳ３０９に対応する。また、図３のＮＡＮＤ  ＦＬＡＳＨは図１３ではＤＲＡＭに置き換えられている。
【０１２８】
一般に、ＤＲＡＭ１１０はアクセススピードがＨＤＤ２００やＮＡＮＤ  ＦＬＡＳＨ１０８と比較して高速である。また、ＤＲＡＭ１１０は、ＮＡＮＤ  ＦＬＡＳＨ１０８と比較して書き換え回数の制限がない。そこで、本実施の形態のように、ＨＤＤ２００のアクセスが集中する特定領域を高速なＤＲＡＭ１１０に代替することでシステムの性能を向上させることができる。
【０１２９】
また、ＨＤＤ２００を一時退避用途として使用する場合、セキュリティの観点から、一時記憶領域に記憶したデータは直ちに消去するのが一般的である。さらに、単純に所定のデータを書き込んでデータを消去するのではなく、例えば乱数を３回書き込む消去方式を採用することにより高度のセキュリティを実現する場合もある。このように、ＨＤＤ２００を一時退避用途に用いる場合にはデータ消去のための書込み処理が必要になる。
【０１３０】
これに対し、本実施の形態では、電源をＯＦＦにするとデータが消去される特性を有する揮発デバイスであるＤＲＡＭ１１０でＨＤＤ２００の一部領域を代替している。これにより、使用後のライトアクセスを不要とし、アクセス性能を向上させることが可能となる。
【０１３１】
（変形例）
ＤＲＡＭ１１０はアクセスの高速性というメリットが存在する反面、電源遮断時にはデータが揮発するという欠点がある。本変形例は、ＰＳＵ４００に入力されるＡＣ電源が切れた場合に、バックアップ用の電池から電力を供給するように構成し、この欠点を解消するものである。
【０１３２】
図１４は、本変形例にかかるアクセス制御装置１４００を含むＰＣ４１の構成を示すブロック図である。図１４に示すように、アクセス制御装置１４００は、ＰＳＵ４００以外に、電池１４２０からのＤＣ電源を入力可能な電源制御部１４１５を備えている。電源制御部１４１５は、主電源であるＰＳＵ４００からの電力供給が停止したときに、電力供給源を、ＰＳＵ４００から電池１４２０に切り替えるものである。
【０１３３】
このような構成により、ＤＲＡＭ１１０の高速性と不揮発性の両方のメリットを得ることが可能となる。
【産業上の利用可能性】
【０１３４】
以上のように、本発明にかかるアクセス制御装置、アクセス制御方法、アクセス制御プログラムおよび記録媒体は、立ち上がりに時間のかかるＨＤＤを記憶装置として利用する装置に適している。
【図面の簡単な説明】
【０１３５】
【図１】第１の実施の形態にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【図２】変換テーブルのデータ構造の一例を示す説明図である。
【図３】第１の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【図４】第１の実施の形態における変換テーブル作成処理の全体の流れを示すフローチャートである。
【図５】変形例にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【図６】第２の実施の形態にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【図７】ＡＴＡレジスタのアドレス割り当ての一例を示す説明図である。
【図８】Ｓｔａｔｕｓレジスタ内のＢＩＴアサインの一例を示す図である。
【図９】第２の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【図１０】第３の実施の形態にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【図１１】第３の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【図１２】第４の実施の形態にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【図１３】第４の実施の形態におけるアクセス制御処理の全体の流れを示すフローチャートである。
【図１４】変形例にかかるアクセス制御装置を含むＰＣの構成を示すブロック図である。
【符号の説明】
【０１３６】
１００  アクセス制御装置
１０８  ＮＡＮＤ  ＦＬＡＳＨ
１０９  ＮＶＲＡＭ
１１０  ＤＲＡＭ
１１１  ＮＡＮＤ  ＦＬＡＳＨコントローラ
１１２  ＮＶＲＡＭコントローラ
１１３  ＤＲＡＭコントローラ
１１４  制御部
１１５  電源制御部
１１７  変換テーブル記憶部
１１８  対象決定部
１１９  テーブル作成部
１２０  ＣＰＵ
１２１  ＲＡＭ
１２２  ＲＯＭ
１２３  ＡＴＡコントローラ
３００  処理制御部
３０１  ＡＴＡコントローラ
３０２  ＣＰＵ
３０３  ＤＲＡＭ
３０４  ＲＯＭ
４００  ＰＳＵ
５００  アクセス制御装置
５２１  インターフェース変換部
５３０  処理制御部
６００  アクセス制御装置
６１４  制御部
６１９  テーブル作成部
１０００  アクセス制御装置
１０１４  制御部
１０１８  対象決定部
１２００  アクセス制御装置
１２１４  制御部
１２１８  対象決定部
１４００  アクセス制御装置
１４１５  電源制御部
１４２０  電池
【図１】
2008310664.tif 000003
【図２】
2008310664.tif 000004
【図３】
2008310664.tif 000005
【図４】
2008310664.tif 000006
【図５】
2008310664.tif 000007
【図６】
2008310664.tif 000008
【図７】
2008310664.tif 000009
【図８】
2008310664.tif 000010
【図９】
2008310664.tif 000011
【図１０】
2008310664.tif 000012
【図１１】
2008310664.tif 000013
【図１２】
2008310664.tif 000014
【図１３】
2008310664.tif 000015
【図１４】
2008310664.tif 000016