(57)【要約】【課題】データの改ざんによる不正行為を防止する。【解決手段】外部記憶装置２００は、書込許可状態、書込禁止状態、及びトリガ命令の入力により書込禁止状態に移行することが予約された書込禁止予約状態の３ステータスの間で遷移する。外部記憶装置と情報処理装置１００とはＳＡＴＡ接続し、シャットダウン時に情報処理装置から入力されるＡＴＡコマンドFlush_CacheやStandby_Immediateをトリガ命令として利用する。ステータス管理部３６２は、外部記憶装置が書込禁止予約状態にあり、且つ情報処理装置からトリガ命令が入力された場合に、外部記憶装置のステータスを書込禁止状態に変更する。これにより、ユーザが通常通り外部記憶装置にデータを書き込む操作をするだけで外部記憶装置は書込禁止状態となるため、書き込まれたデータの書き換えは困難である。【選択図】図３
2019028972.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、
前記記憶装置に入力されうる命令の中から選択された命令をトリガ命令として設定する設定手段と、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、
を備えることを特徴とする記憶装置。
【請求項２】
前記トリガ命令は、前記記憶装置をシャットダウンするに際して前記記憶装置に入力される命令を含む
ことを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記トリガ命令は、前記記憶装置に入力されうる複数の命令と、該命令の入力順により表現される
ことを特徴とする請求項１又は２に記載の記憶装置。
【請求項４】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、
前記情報処理装置からの命令に基づいて実行されうる動作の中から選択された動作をトリガ動作として設定する設定手段と、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込みの禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ動作が実行された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、
を備えることを特徴とする記憶装置。
【請求項５】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記記憶手段への前記データの書き込み後にトリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、
を備えることを特徴とする記憶装置。
【請求項６】
前記トリガ信号は、前記記憶装置の全体をリセットするリセット信号であることを特徴とする請求項５に記載の記憶装置。
【請求項７】
前記トリガ信号は、前記記憶装置の電源オン時又は電源オフ時に出力される信号であることを特徴とする請求項５又は６に記載の記憶装置。
【請求項８】
前記ステータス管理手段は、前記記憶装置のステータスが、前記書込禁止予約状態にあり、且つ前記記憶手段に前記データの少なくとも一部が書き込まれた場合に、前記ステータスを、前記トリガ信号が生成されるまで前記データの書き込みを許可するワンタイムプログラム状態に変更することを特徴とする請求項５乃至７の何れか一項に記載の記憶装置。
【請求項９】
前記ステータス管理手段は、前記ステータスを変更するステータス変更命令と認証情報とが入力された場合に、前記ステータスを、前記書込禁止予約状態に変更することを特徴とする請求項１乃至８の何れか一項に記載の記憶装置。
【請求項１０】
前記ステータス管理手段は、前記ステータスを変更するステータス変更命令と認証情報とが入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを許可する書込許可状態に変更することを特徴とする請求項１乃至９の何れか一項に記載の記憶装置。
【請求項１１】
データを記憶する記憶手段を有した記憶装置のプロセッサにより実行されるステータス管理方法であって、
前記記憶装置に入力されうる命令の中から選択された命令をトリガ命令として設定するステップと、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステップと、
を実行することを特徴とするステータス管理方法。
【請求項１２】
データを記憶する記憶手段を有した記憶装置のプロセッサに、
前記記憶装置に入力されうる命令の中から選択された命令をトリガ命令として設定し、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更する、
処理を実行させることを特徴とするステータス管理プログラム。
【請求項１３】
データを記憶する記憶手段を有した記憶装置のプロセッサにより実行されるステータス管理方法であって、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記記憶手段への前記データの書き込み後にトリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステップと、
を実行することを特徴とするステータス管理方法。
【請求項１４】
データを記憶する記憶手段を有した記憶装置のプロセッサに、
前記記憶装置のステータスが、前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記記憶手段への前記データの書き込み後にトリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更する処理を実行させることを特徴とするステータス管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを保護する技術に関する。
【背景技術】
【０００２】
パチンコやスロット等の遊技機では、画像や音声等を処理する情報処理装置を搭載している。遊技機では画像データ、音声データ及びプログラムデータ等（以下、単にデータともいう。）の改ざん、盗用、転用等を防止するため、データを暗号化した暗号化データを記憶装置（ＲＯＭ：Read Only Memory）に記憶しており、情報処理装置は遊技の進行に応じて記憶装置から暗号化データを読み出して、読み出した暗号化データを復号して利用する、といったことが行われている。
特許文献１には、ゲーム内容（ゲームシナリオ等）に係るプログラムと画像データと音声データ等を暗号化して記憶する記憶装置と、ＣＰＵと、液晶パネル等を備えたパチンコ機が記載されている。このパチンコ機においては、プログラムを実行するときにＲＡＭ上で暗号化ファイルを復号し、元ファイルとしてのプログラム等を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−２４００６４公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の遊技機において、暗号化キーを含む開発環境を第三者が手に入れると、記憶装置に記憶されている暗号化ファイルの書き換えを行うことが可能となるので、データの改ざんによる不正行為を防止できないことがある。
本発明は、上述の事情に鑑みてなされたものであり、データの改ざんによる不正行為を防止することができる新規な技術を提供すること目的とする。
【課題を解決するための手段】
【０００５】
上記の課題を解決するために、請求項１に記載の発明は、情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、前記データを記憶する記憶手段と、前記記憶装置に入力されうる命令の中から選択された命令をトリガ命令として設定する設定手段と、前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、を備えることを特徴とする。
【発明の効果】
【０００６】
１実施態様によれば、データの改ざんによる不正行為を防止することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施形態に係る外部記憶装置の状態遷移図である。
【図２】本発明の一実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
【図３】本発明の一実施形態に係る外部記憶装置の機能構成を示したブロック図である。
【図４】設定処理と予約処理を示すシーケンス図である。
【図５】データの書込処理及び禁止処理を示すシーケンス図である。
【図６】書込禁止状態にあるときのデータの書込処理を示すシーケンス図である。
【図７】許可処理を示すシーケンス図である。
【図８】本発明の第二の実施形態に係る外部記憶装置の状態遷移図である。
【図９】本発明の第二の実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
【図１０】（ａ）、（ｂ）は、データの書込処理から禁止処理までの流れを示すシーケンス図である。
【発明を実施するための形態】
【０００８】
本発明は、ＳＳＤ（Solid State Drive）やＨＤＤ（Hard Disk Drive）等の外部記憶装置に対するユーザデータ（以下の説明においては単に「データ」という）の書込可否を示すステータスとして、書込許可状態と書込禁止状態の他に書込禁止予約状態のステータスを設けた点、及び外部記憶装置が書込禁止予約状態にあり、且つ、情報処理装置から特定の命令（コマンド）が入力された場合に書込禁止状態に移行する点に特徴がある。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【０００９】
〔第一の実施形態〕
〔状態遷移図〕
図１は、本発明の一実施形態に係る外部記憶装置の状態遷移図である。
外部記憶装置は、データの書き込みを許可する（制限しない）書込許可状態、データの書き込みを禁止する書込禁止状態、データの書き込みを許可するが一定の条件下で書込禁止状態に移行することが予約された書込禁止予約状態の３つのステータスの間を遷移する。
外部記憶装置は、書込禁止予約状態にあり、且つ外部記憶装置と接続されたホスト装置（情報処理装置）から特定の命令（トリガ命令）が入力された場合に、書込禁止状態へ遷移する（遷移Ａ）。本発明においては一例として、データの書き込み終了後に通常入力される命令をトリガ命令として用いることができる。なお、書込許可状態と書込禁止予約状態とはデータの書き込みが可能である点で共通するが、書込許可状態はトリガ命令が入力されても書込禁止状態に遷移しない点で書込禁止予約状態とは異なる。また、外部記憶装置は、例えば、表示装置へ表示する画像を処理する画像処理装置や、放音装置から出力する音声を処理する音声処理装置などに含まれていてもよい。
【００１０】
書込禁止予約状態でユーザに提供された外部記憶装置は、データを書き込むだけで書込禁止状態に遷移する。したがって、ユーザは、外部記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく、外部記憶装置をワンタイムＲＯＭのように１回しか書き込めない記憶装置として使用することができる。
【００１１】
外部記憶装置は、ホスト装置からパスワードと共に予約命令（ステータス変更命令）が入力された場合に、書込禁止予約状態に遷移する（遷移Ｂ１、Ｂ２）。また、外部記憶装置は、ホスト装置からパスワードと共に許可命令（ステータス変更命令）が入力された場合に書込許可状態に遷移する（遷移Ｃ１、Ｃ２）。なお、遷移Ｂ２は、必要に応じて実装してもよい。
外部記憶装置は、ユーザによるデータの書き込みが終了したときに、書込禁止予約状態から書込禁止状態に自動的に遷移するので、１回しか書き込めない記憶装置として運用することができる。また、外部記憶装置は、ホスト装置から許可命令が入力されたときに、書込禁止状態から書込許可状態に遷移するので、外部記憶装置をデータの書き込みが可能なメディアとして再利用することができる。
【００１２】
遷移Ｂ１、Ｂ２と遷移Ｃ１、Ｃ２に必要なパスワードを外部記憶装置のメーカー（或いは外部記憶装置の供給元）が管理すれば、外部記憶装置にデータを書き込むユーザ側（顧客側）でパスワードを管理する必要がなくなり、ユーザの負担を軽減できる。また、外部記憶装置の流通上、ユーザよりも上流に位置するメーカー側でパスワードを管理すると共に、遷移Ｂ１、Ｂ２と遷移Ｃ１、Ｃ２をメーカーのみで実行するようにすれば、パスワードの漏洩を防止し、第三者による外部記憶装置の不正利用を効果的に防止できる。
【００１３】
〔ハードウェア構成〕
図２は、本発明の一実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
情報処理装置（ホスト装置）１００は、ＣＰＵ（Central Processing Unit）１１０、ＲＯＭ（Read Only Memory）１２０、ＲＡＭ（Random Access Memory）１３０、外部Ｉ／Ｆ１４０、入出力Ｉ／Ｆ１５０、表示Ｉ／Ｆ１６０、及びバス１７０を備える。各構成要素は、バス１７０により接続される。なお、情報処理装置１００は、ＨＤＤやＳＳＤ等の図示しない記憶装置を備えてもよい。また、情報処理装置１００は、図示しない読書装置を備えてもよい。
【００１４】
ＣＰＵ１１０は、ＲＯＭ１２０に格納されたプログラム等を用いて情報処理装置１００全体の制御をする。ＲＯＭ１２０は、ＣＰＵ１１０に情報処理装置１００全体を制御する処理を実行させるための制御プログラムを記憶する不揮発性の記憶手段である。情報処理装置１００全体を制御する処理を実行させるための制御プログラムは、情報処理装置１００が備える記憶装置に記憶されてもよい。
情報処理装置１００全体を制御する処理を実行させるための制御プログラムは、記録媒体に記憶され、情報処理装置１００が備える読書装置で読み出されてＲＯＭ１２０又は情報処理装置１００が備える記憶装置に記憶されてもよい。さらに、後述する外部記憶装置２００全体を制御する処理を実行させるための制御プログラムは、記録媒体に記憶され、情報処理装置１００が備える読書装置で読み出されて外部記憶装置２００へ出力されてもよい。記録媒体は、例えば、ＳＤメモリーカード（SD Memory Card）、ＦＤ（Floppy Disk）、ＣＤ（Compact Disc）、ＤＶＤ（Digital Versatile Disk）、ＢＤ（Blu-ray（登録商標） Disk）、およびフラッシュメモリなどの非一時的記録媒体である。
【００１５】
ＲＡＭ１３０は、ＲＯＭ１２０から読み出されたプログラムやデータ等を一時的に格納する揮発性の記憶手段である。ＣＰＵ１１０が起動時にＲＯＭ１２０から制御プログラムを読み出してＲＡＭ１３０に展開し、ＲＡＭ１３０をワークスペースとして制御プログラムを実行することにより、各種の機能が実現される。
外部Ｉ／Ｆ１４０は、情報処理装置１００と外部記憶装置２００とを接続する。入出力Ｉ／Ｆ１５０は、情報処理装置１００と入出力装置１８０とを接続する。表示Ｉ／Ｆ１６０は、情報処理装置１００と表示装置１９０とを接続する。
入出力装置１８０は、情報処理装置１００に対して各種の動作指示を入力する手段である。入出力装置１８０は、例えばキーボード、マウス、タッチパネル、又は各種のボタン等である。表示装置１９０は、表示Ｉ／Ｆ１６０を介して入力された画像を表示する手段であり、例えば液晶ディスプレイや、有機ＥＬ（Electro Luminescence）ディスプレイ等である。表示装置１９０は、タッチパネルからの入力を受け付けるための情報を表示してもよい。
【００１６】
外部記憶装置２００は、暗号化されたデータ等、各種のデータを記憶する。外部記憶装置２００は、例えば、ＨＤＤやＳＳＤ等である。以下では、説明の簡略化のため外部記憶装置がＳＳＤであるものとして説明する。
外部記憶装置２００は、コントローラ２１０、ＳＰＩ−ＲＯＭ（Serial Peripheral Interface−ＲＯＭ）２２０、ＤＲＡＭ（Dynamic Random Access Memory）２３０、フラッシュメモリアレイ（記憶手段、不揮発性メモリ）２４０、ホストＩ／Ｆ２５０、及びバス２６０を備える。各構成要素はバス２６０により接続される。また、外部記憶装置２００は、図示しないＳＲＡＭ（Static Random Access Memory）を備えてもよい。そして、ＳＲＡＭは、電池と接続され、主電源と接続されていない間も情報を記憶してもよい。
【００１７】
コントローラ２１０は、例えばプロセッサであり、ＳＰＩ−ＲＯＭ２２０に格納されたプログラム等を用いて外部記憶装置２００全体の動作を制御する。ＳＰＩ−ＲＯＭ２２０は、コントローラ２１０に外部記憶装置２００全体を制御する処理を実行させるための制御プログラムや、各種の設定を記憶する不揮発性の記憶手段である。ＳＰＩ−ＲＯＭ２２０は、コントローラ２１０専用のメモリとして設けられている。ＤＲＡＭ２３０は、ＳＰＩ−ＲＯＭ２２０から読み出されたプログラムや各種のデータ等を一時的に格納する揮発性の記憶手段である。
フラッシュメモリアレイ２４０は、情報処理装置１００から送信された暗号化データや各種のデータを記憶する不揮発性の記憶手段であり、例えば、ＮＡＮＤ型のフラッシュメモリアレイやＮＯＲ型のフラッシュメモリアレイにより構成される。
ホストＩ／Ｆ２５０は、外部記憶装置２００と情報処理装置１００とを接続する。
【００１８】
〔機能構成〕
図３は、本発明の一実施形態に係る外部記憶装置の機能構成を示したブロック図である。
外部記憶装置２００は、制御部３００、一時記憶部４１０、設定記憶部４２０、記憶部４３０を備える。
制御部３００は、全体制御部３１０、シーケンス制御部３２０、ＥＣＣ制御部３３０、ホストＩ／Ｆ制御部３４０、メモリＩ／Ｆ制御部３５０、及び書込制御部３６０を備える。
【００１９】
制御部３００は、図２のコントローラ２１０により実現される。コントローラ２１０がＳＰＩ−ＲＯＭ２２０から制御プログラムを読み出してＤＲＡＭ２３０に展開し、ＤＲＡＭ２３０をワークスペースとして制御プログラムを実行することにより、制御部３００の各機能が実現される。
全体制御部３１０は、制御部３００全体を制御する。シーケンス制御部３２０は、全体制御部３１０からの命令に応じて記憶部４３０の動作を制御する。ＥＣＣ制御部３３０は、読み出したデータに付加されたエラーコレクションコードを用いて、読み出したデータに含まれる誤りを検出する。更にＥＣＣ制御部３３０は、誤りを検出したとき、誤りを訂正する。
ホストＩ／Ｆ制御部３４０は、情報処理装置１００との間のインターフェースを制御する。メモリＩ／Ｆ制御部３５０は、記憶部４３０であるＮＡＮＤ／ＮＯＲアレイや一時記憶部４１０であるＤＲＡＭ等とのインターフェースを制御する。
書込制御部３６０は、記憶部４３０に対するデータの書き込み及び読み出しを制御する。書込制御部３６０の詳細構成については後述する。
【００２０】
一時記憶部４１０は、記憶部４３０から読み出されたデータを一時的に記憶する揮発性の記憶手段である。一時記憶部４１０は、図２のＤＲＡＭ２３０により実現される。
設定記憶部４２０は、外部記憶装置２００のステータス及びその変更に関わる各種の情報を記憶する不揮発性の記憶手段である。設定記憶部４２０は、データの書き込み可否に関わる外部記憶装置２００のステータス（書込許可状態、書込禁止予約状態、書込禁止状態の何れか）と、書込禁止状態から他の状態に移行する際に必要なパスワード（認証情報）と、書込禁止予約状態から書込禁止状態に移行するトリガとなる命令（トリガ命令）等を記憶する。設定記憶部４２０は、図２のＳＰＩ−ＲＯＭ２２０により実現されるが、図２のフラッシュメモリアレイ２４０の一部や図示しないＳＲＡＭを設定記憶部４２０として使用してもよい。
記憶部４３０は、暗号化データや各種のデータを記憶する手段であり、図２のフラッシュメモリアレイ２４０により実現される。
【００２１】
＜書込制御部＞
書込制御部３６０について図３を参照して説明する。
書込制御部３６０は、設定部（設定手段）３６１とステータス管理部（ステータス管理手段）３６２と書込部３６３とを備える。
設定部３６１は、書込禁止状態にある外部記憶装置２００のステータスを、書込許可状態又は書込禁止予約状態に変更する際に必要なパスワード、及び、書込禁止予約状態から書込禁止状態に移行するトリガとなる命令（トリガ命令）を設定記憶部４２０に記憶させる手段である。パスワードとトリガ命令は、ホストＩ／Ｆ制御部３４０を介して情報処理装置１００から入力される。
【００２２】
ステータス管理部３６２は、外部記憶装置２００のステータスを管理する手段である。ステータス管理部３６２は、外部記憶装置２００のステータスを例えば２ビットの情報として設定記憶部４２０に記憶させる。ステータス管理部３６２は、外部記憶装置２００のステータスが書込禁止予約状態にあり、且つ情報処理装置１００からトリガ命令の入力を検知した場合に、外部記憶装置２００のステータスを書込禁止状態に変更する。また、ステータス管理部３６２は、情報処理装置１００からパスワードと共に、許可命令又は予約命令が入力された場合に、外部記憶装置２００のステータスを書込許可状態又は書込禁止予約状態に変更する。更に、ステータス管理部３６２は、書込部３６３から記憶部４３０への書き込み可否の問い合わせがあった場合に、外部記憶装置２００の現在のステータスを応答する。
書込部３６３は、情報処理装置１００から取得したデータを記憶部４３０に書き込む手段である。書込部３６３は、情報処理装置１００から入力された書込命令に基づいて、書込命令と共に情報処理装置１００から入力されたデータを、外部記憶装置２００のステータスに応じて記憶部４３０に書き込む。
【００２３】
トリガ命令には、外部記憶装置２００を制御するために、又は外部記憶装置２００に特定の動作を実行させるために情報処理装置１００から通常、一般的に入力されるコマンドの何れかを割り当てることができる。
ここで、情報処理装置１００による外部記憶装置２００の制御には、両装置を接続するインターフェースの仕様に応じたコマンドが用いられる。例えば、情報処理装置１００と外部記憶装置２００とがＳＡＴＡ（Serial Advanced Technology Attachment）インターフェース規格により接続される場合、外部記憶装置２００の制御にはＡＴＡコマンドが用いられる。即ち、両装置がＳＡＴＡインターフェース規格により接続される場合、ＡＴＡコマンドの何れかをトリガ命令として用いることができる。
【００２４】
トリガ命令を構成するコマンドは、データの書き込み後に一般的に情報処理装置１００から出力されるコマンドが好適である。例えばトリガ命令には、データの書き込み後、シャットダウン時に出力されるFlush_Cacheや、Standby_Immediateを用いることができる。このように、データの書き込み後に必ず出力されるコマンドをトリガ命令として利用することで、ユーザに特別な操作を強いることなく、記憶部４３０を書込禁止状態にすることができる。
トリガ命令は、単体のコマンドにより構成されてもよいが、複数のコマンドとその入力順の組み合わせにより構成されてもよい。トリガ命令を複数のコマンドの組み合わせにより構成する場合、トリガ命令は、連続する所定順の複数コマンドでも、間欠的に所定の順番で入力される複数コマンドでもよい。
【００２５】
〔設定処理、予約処理〕
図４は、設定処理と予約処理を示すシーケンス図である。設定処理は、設定部３６１がパスワードとトリガ命令を設定記憶部４２０に記憶させる処理である。予約処理は、ステータス管理部３６２が外部記憶装置２００のステータスを書込禁止予約状態に変更する処理である。本処理は、図１に示すように例えばメーカー側で行われる処理である。なお、初期状態における外部記憶装置２００のステータスは書込許可状態である。
【００２６】
まず、設定処理について説明する。
ステップＳ４０１において、情報処理装置１００は、引数としてパスワードとトリガ命令とを指定した設定開始命令を出力する。
ステップＳ４０３において、設定部３６１は、設定開始命令に基づいてパスワードを設定記憶部４２０に記憶させる。また、ステップＳ４０５において、設定部３６１は設定開始命令に基づいて、トリガ命令を設定記憶部４２０に記憶させる。
ステップＳ４０７において、設定部３６１は、設定が完了した旨を、全体制御部３１０を介して情報処理装置１００に応答する。
なお、トリガ命令が固定である場合、ステップＳ４０１において引数としてトリガ命令を指定すること、及びステップＳ４０５のトリガ命令の格納を省略することができる。
【００２７】
続いて、予約処理について説明する。
ステップＳ４１１において、情報処理装置１００は、引数としてパスワードを指定した予約命令を外部記憶装置２００に出力する。
ステップＳ４１３において、ステータス管理部３６２は、設定記憶部４２０からパスワードを読み出す。ステップＳ４１５において、ステータス管理部３６２は、読み出したパスワードと情報処理装置１００から入力したパスワードとを照合する。両パスワードが一致した場合、ステータス管理部３６２は、外部記憶装置２００のステータスを書込禁止予約状態に変更する。即ち、ステータス管理部３６２は、設定記憶部４２０に外部記憶装置２００のステータスとして書込禁止予約状態を記憶させる（ステップＳ４１７）。
ステップＳ４１９において、ステータス管理部３６２は、ステータスの変更が完了した旨を、全体制御部３１０を介して情報処理装置１００に応答する。
【００２８】
〔データの書込処理、禁止処理〕
図５は、データの書込処理及び禁止処理を示すシーケンス図である。書込処理は、書込部３６３が記憶部４３０にデータを書き込む処理、禁止処理は、ステータス管理部３６２が、書込禁止予約状態にある外部記憶装置２００のステータスを書込禁止状態に変更する処理である。本処理は、図１に示すようにユーザ側で行われる処理である。
【００２９】
ステップＳ５０１において、情報処理装置１００は、記憶部４３０に対するデータの書込命令と、書き込むデータとを外部記憶装置２００に出力する。
ステップＳ５０３において、書込部３６３は、外部記憶装置２００のステータスがデータの書き込みが可能な状態か否かをステータス管理部３６２に問い合わせる。
ステップＳ５０５において、ステータス管理部３６２は、設定記憶部４２０に記憶されている現在の外部記憶装置２００のステータスを読み出す。また、ステップＳ５０７において、ステータス管理部３６２は、読み出したステータス（本例では「書込禁止予約状態」）を書込部３６３に応答する。
書込禁止予約状態のとき、記憶部４３０に対するデータの書き込みが可能である。従って、ステップＳ５０９において、書込部３６３は、情報処理装置１００から入力したデータを記憶部４３０に書き込む処理を実行する。
ステップＳ５１１において、書込部３６３は、データの処理結果（書込成功）を、全体制御部３１０を介して情報処理装置１００に応答する。
【００３０】
必要なデータの書き込み終了後、情報処理装置１００は外部記憶装置２００をシャットダウンさせる命令を出力する（ステップＳ５１３）。このとき、情報処理装置１００は、外部記憶装置２００をシャットダウンするに際して、トリガ命令（例えばFlush_Cache、Standby_Immediate）を出力する。
ステップＳ５１５において、ステータス管理部３６２は、外部記憶装置２００のステータスが書込禁止予約状態であるので、トリガ命令の入力に基づいて、外部記憶装置２００のステータスを書込禁止状態に変更する。即ち、ステータス管理部３６２は、設定記憶部４２０に外部記憶装置２００のステータスとして書込禁止状態を記憶させる。
ステップＳ５１７において、全体制御部３１０は、外部記憶装置２００の電源をオフする処理を実行する。
【００３１】
〔書込禁止状態時の書込処理〕
図６は、書込禁止状態にあるときのデータの書込処理を示すシーケンス図である。
ステップＳ６０１において、情報処理装置１００は、記憶部４３０に対するデータの書込命令と、書き込むデータとを外部記憶装置に出力する。
ステップＳ６０３において、書込部３６３は、データの書き込みが可能な状態か否かをステータス管理部３６２に問い合わせる。
ステップＳ６０５において、ステータス管理部３６２は、設定記憶部４２０に記憶されている現在の外部記憶装置２００のステータスを読み出す。また、ステップＳ６０７において、ステータス管理部３６２は、読み出したステータス（本例では「書込禁止状態」）を書込部３６３に応答する。
書込禁止状態のとき、記憶部４３０に対してデータの書き込みができない。従って、ステップＳ６０９において、書込部３６３は、データの処理結果（書込エラー）を、全体制御部３１０を介して情報処理装置１００に応答する。
【００３２】
〔許可処理〕
図７は、許可処理を示すシーケンス図である。許可処理は、ステータス管理部３６２が外部記憶装置２００のステータスを書込許可状態に変更する処理である。本処理は、図１に示すように例えばメーカー側で行われる処理である。なお、ステータス管理部３６２が、外部記憶装置２００のステータスを書込禁止状態から書込許可状態に変更する処理も、書込禁止予約状態から書込許可状態に変更する処理も、同様に実行される。
【００３３】
ステップＳ７０１において、情報処理装置１００は、引数としてパスワードを指定した許可命令を外部記憶装置２００に出力する。
ステップＳ７０３において、ステータス管理部３６２は、設定記憶部４２０からパスワードを読み出す。ステップＳ７０５において、ステータス管理部３６２は、読み出したパスワードと情報処理装置１００から入力したパスワードとを照合する。両パスワードが一致した場合、ステータス管理部３６２は、外部記憶装置２００のステータスを書込許可状態に変更する。即ち、ステータス管理部３６２は、設定記憶部４２０に外部記憶装置２００のステータスとして書込許可状態を記憶させる（ステップＳ７０７）。
ステップＳ７０９において、ステータス管理部３６２は、ステータスの変更が完了した旨を、全体制御部３１０を介して情報処理装置１００に応答する。
【００３４】
〔変形例〕
以下、各種の変形例について説明する。
＜変形例１＞
トリガ命令は、外部記憶装置２００に対するデータの書込命令と、データの書き込み後に情報処理装置１００から出力されるコマンドとの組み合わせとすることができる。トリガ命令を構成するコマンドに書込命令を含むことにより、外部記憶装置２００はデータが書き込まれた後に書込禁止状態に移行する。従って、データの書き込み前に外部記憶装置２００が書込禁止状態となることを防止できる。
【００３５】
＜変形例２＞
ステータス管理部３６２は、ステータスを変更するトリガとして機能する命令が予め定められた回数入力された場合に外部記憶装置２００のステータスを書込禁止予約状態から書込禁止状態に変更してもよい。
この場合、トリガ命令は、情報記憶装置１００から入力される命令（コマンド）とその入力回数により表現される。即ち、設定部３６１は、ステータスを変更するトリガとして機能する命令と、その入力回数とを設定記憶部４２０に記憶させる。また、ステータス管理部３６２は、書込禁止予約状態下で入力されたトリガとして機能する命令の回数を設定記憶部４２０に記憶させておき、トリガとして機能する命令が入力される毎にその数をインクリメントする。
【００３６】
＜変形例３＞
ステータス管理部３６２は、外部記憶装置２００の電源投入時における外部記憶装置２００のステータスに応じて外部記憶装置２００のステータス変更に関わる動作を異ならせてもよい。
例えば、ステータス管理部３６２は、電源投入時における外部記憶装置２００のステータスが書込禁止予約状態にあり、且つトリガ命令が入力された場合に、外部記憶装置２００のステータスを書込禁止状態に変更することができる。逆に言えば、電源投入時に外部記憶装置２００が書込禁止予約以外の状態にあり、ステータス管理部３６２が外部記憶装置２００のステータスを書込禁止予約状態に変更した場合に、ステータス管理部３６２はその直後のシャットダウン時にトリガ命令が出力されたとしても、外部記憶装置２００のステータスを書込禁止状態に変更しないようにすることができる。
このようにすることで、書込禁止予約状態から書込禁止状態への移行を制限でき、データの書き込み前に外部記憶装置２００が書込禁止状態となることを防止できる。
【００３７】
＜変形例４＞
上記実施形態においては、情報処理装置１００から入力されるコマンド（トリガ命令）を、書込禁止予約状態から書込禁止状態に移行するトリガとして利用したが、特定のコマンド以外のものを書込禁止状態に移行するトリガとして利用できる。例えば、情報記憶装置１００からの命令に基づいて記憶装置２００が実行しうる動作の中から選択された動作を、外部記憶装置２００のステータスを書込禁止予約状態から書込禁止状態に変更するトリガ（トリガ動作）として利用することができる。
【００３８】
＜変形例５＞
ステータス管理部３６２は、予め定められた所定量のデータが記憶部４３０に書き込まれたことをトリガとして、外部記憶装置２００のステータスを書込禁止予約状態から書込禁止状態に移行させてもよい。
即ち、設定部３６１は、記憶部４３０に対して所定量以上のデータを一回で、又は複数回に分けて書き込む書込命令（又は書込動作）を書込禁止予約状態から書込禁止状態に移行するトリガ命令（又はトリガ動作）として設定することができる。
【００３９】
＜変形例６＞
ステータス管理部３６２は、記憶部４３０内の領域を複数に分割した小領域毎に外部記憶装置２００のステータスを管理してもよい。即ち、ステータス管理部３６２は、記憶部４３０の小領域毎に対する外部記憶装置２００のステータスについて、書込許可状態、書込禁止予約状態、又は書込禁止状態のどの状態であるのかを、設定記憶部４２０にそれぞれ記憶させることができる。この場合、設定部３６１は、情報処理装置１００からの命令に基づいて書込部３６３が実行する各小領域に対するデータの書き込み動作を、各小領域のステータスを書込禁止予約状態から書込禁止状態に変更するトリガ（トリガ動作）として設定することができる。また、ステータス管理部３６２は、夫々の小領域に対してデータが書き込まれた（トリガ動作が実行された）場合に、各小領域のステータスを書込禁止状態に変更する。
このように、小領域毎にステータスを管理することによって、記憶部４３０に一定量のデータが書き込まれる毎に、当該データが書き込まれた領域を順次書込禁止予約状態から書込禁止状態に移行させることができる。つまり、データが書き込まれた領域のみを１回しか書き込めない記憶装置として機能させることができる。
【００４０】
＜変形例７＞
上記実施形態及び各変形例においては、記憶部４３０に対するデータの書き込みに関わる外部記憶装置２００のステータスをトリガ命令により変更する例を示したが、トリガ命令により変更されるステータスはこれに限られない。例えばトリガ命令により、記憶部４３０からのデータの読み出しに関わるステータスを変更するようにしてもよい。
このように、ステータス管理部３６２は、外部記憶装置２００のステータスが、外部記憶装置２００の特定の動作を制限する予約がされた動作制限予約状態にあり、且つ、トリガ命令が入力された場合に、外部記憶装置２００のステータスを、外部記憶装置２００の特定の動作を制限する動作制限状態に変更してもよい。
【００４１】
〔第二の実施形態〕
図８は、本発明の第二の実施形態に係る外部記憶装置の状態遷移図である。
第二の実施形態に係る外部記憶装置は、書込許可状態、書込禁止状態、書込禁止予約状態のステータスに加えてワンタイムプログラム状態（制限的に書込動作が可能な状態）のステータスを備え、４つのステータスの間を遷移する点に特徴がある。
ワンタイムプログラム状態とは、外部記憶装置が、一度だけ実行できる書込動作を行っている状態、或いは、そのような書込動作が可能となっている状態を意味する。
外部記憶装置は、書込禁止予約状態にあり、且つ最初のデータの書き込み処理が実行された場合に、ワンタイムプログラム状態に遷移する（遷移Ｄ）。外部記憶装置は、ワンタイムプログラム状態にあるときに、外部記憶装置の全体をリセットするリセット信号が出力されると、書込禁止状態に遷移する（遷移Ａ２）。リセット信号は、例えば外部記憶装置の電源オン時に出力される。
外部記憶装置がワンタイムプログラム状態に遷移した後に、リセット信号が出力されるまでは、外部記憶装置はデータの書き込み動作を実行できる。即ち、書込動作を「一度だけ実行できる」とは、ワンタイムプログラム状態に遷移した後にリセット信号が出力されるまでを一度として、それまでは書込動作を何度でも実行できる、という意味である。リセット信号に電源オン時のリセット信号を利用する場合は、事前に外部記憶装置の電源がオフとなっていることが必要であるから、実際には、データの書き込みは書込動作の開始から電源オフされるまでに制限される。
【００４２】
図９は、本発明の第二の実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。図２の構成と同一の構成については説明を省略する。
外部記憶装置２００は、図２の構成に加えて、リセットＩＣ２７０を備えている。リセットＩＣ２７０は、外部記憶装置２００の全体をリセットするリセット信号を電源オン時に生成して出力するリセット専用の制御回路である。リセット信号により、コントローラ２１０がリセットされ、ホストＩ／Ｆ２５０、ＤＲＡＭ２３０等の揮発メモリは初期化される。
【００４３】
図１０（ａ）、（ｂ）は、データの書込処理から禁止処理までの流れを示すシーケンス図である。図１０（ａ）は、データの書込処理から電源オフまでの流れを示す図であり、（ｂ）は、電源オンから禁止処理までの流れを示す図である。なお、図５と同様の構成については適宜説明を省略する。
図１０（ａ）に示すステップＳ１００１〜ステップＳ１００７は、図５に示すステップＳ５０１〜ステップＳ５０７と同様である。
ステップＳ１００９において、書込部３６３は、情報処理装置１００から入力したデータを記憶部４３０に書き込む。ここで、書込部３６３は、記憶部４３０に対して、書き込むべきデータの全体を一回で書き込んでもよいし、書き込むべきデータを複数に分割し、分割したデータを順次書き込んでもよい。書込部３６３が書き込むべきデータを複数に分割して書き込む場合は、書込部３６３が分割したデータの１つを記憶部４３０に書き込んだ後に、ステップＳ１０１１の処理が実行される。なお、以下では、書込部３６３がデータを複数に分割して記憶部４３０に書き込む例を説明する。
ステップＳ１０１１において、書込部３６３は、ステータス管理部３６２に対してデータの書き込みを行ったことを通知する。
ステップＳ１０１３において、ステータス管理部３６２は、外部記憶装置２００のステータスが書込禁止予約状態であるので、書込部３６３からの書込通知に基づいて、外部記憶装置２００のステータスをワンタイムプログラム状態に変更する。即ち、ステータス管理部３６２は、設定記憶部４２０に外部記憶装置２００のステータスとしてワンタイムプログラム状態を記憶させる。
ステップＳ１０１５において、書込部３６３は分割した次のデータを記憶部４３０に書き込む。書込部３６３は、書き込むべきデータの全体が記憶部４３０に書き込まれるまで、ステップＳ１０１５の処理を繰り返す。
ステップＳ１０１７において、書込部３６３は、データの処理結果（書込成功）を、全体制御部３１０を介して情報処理装置１００に応答する。
ステップＳ１０１９において、情報処理装置１００は外部記憶装置２００をシャットダウンさせる命令を出力する。
ステップＳ１０２１において、全体制御部３１０は、外部記憶装置２００の電源をオフする処理を実行する。
【００４４】
外部記憶装置２００の電源がオンされると、図９に示すリセットＩＣ２７０からリセット信号が出力される。リセット信号により外部記憶装置２００がリセットされた後、コントローラ２１０がＳＰＩ−ＲＯＭ２２０から制御プログラムを読み出してＤＲＡＭ２３０に展開して、図３の制御部３００に示す各ブロックを形成する。図１０（ｂ）に示す処理は、各ブロックの形成直後に実行される。
ステップＳ１０２３において、ステータス管理部３６２は、設定記憶部４２０に記憶されている現在の外部記憶装置２００のステータスを読み出す。外部記憶装置２００のステータスが書込許可状態、書込禁止状態、書込禁止予約状態の何れかである場合は、ステータスは変更されない。外部記憶装置２００のステータスがワンタイムプログラム状態である場合には、ステータスを変更するステップＳ１０２５の処理が実行される。
ステップＳ１０２５において、ステータス管理部３６２は、外部記憶装置２００のステータスを書込禁止状態に変更する。即ち、ステータス管理部３６２は、設定記憶部４２０に外部記憶装置２００のステータスとして書込禁止状態を記憶させる。
【００４５】
本実施形態においても、設定処理と予約処理（図４）は、第一の実施形態と同様に実行される。ただし、本実施形態では書込禁止状態へのステータスの変更にトリガ命令を利用しないため、図４のステップＳ４０１では、設定開始命令に引数としてトリガ命令を指定する必要はない。また、トリガ命令を格納するステップＳ４０５の処理は省略される。
本実施形態においても、第一の実施形態と同様にシャットダウン時（図１０（ａ）のステップＳ１０１９）には情報処理装置１００からFlush_Cacheや、Standby_Immediate等のコマンドが出力される。しかし、本実施形態では上記コマンドをトリガ命令として設定していないため、外部記憶装置２００は上記コマンドに従った動作を実行するだけである。
なお、書込禁止状態時の書込処理と、許可処理は第一の実施形態と同様である。
【００４６】
本実施形態においては、書込動作の開始からリセット信号が出力されるまでの間であれば、何度でもデータの書き込みが可能である。従って、書込部３６３が、記憶部４３０に対して書き込むべきデータを複数に分割し、分割した夫々のデータについて書き込みとベリファイとを順次実行する場合にも対応できる。もちろん、情報処理装置１００から出力される複数の書込命令に基づいて複数のデータを外部記憶装置２００に対して書き込むことも可能である。このように、本実施形態によれば、最初の書込動作の実行後に、書き込むべきデータが残っているにも関わらず書込禁止状態に遷移する、という事態を回避できる。
【００４７】
一般的に電子回路は、電源が投入されたときに回路を強制的に初期状態に戻す（又は特定の状態する）ことによって、誤動作を防止するように構成されている。本実施形態においては、一般的な電子回路が有するリセット機能を利用して、ステータスを変更する。即ち、外部記憶装置のステータスがワンタイムプログラム状態にあり、且つ、内部回路の状態がリセット信号により強制的に初期状態に戻った場合（又は特定の状態となった場合）に、外部記憶装置のステータスを書込禁止状態に遷移させる。なお、本実施形態においては、リセット専用のリセットＩＣ２７０からリセット信号を出力するように構成しているが、抵抗とコンデンサ（キャパシタ）からリセット信号を出力する構成としてもよい。
第二の実施形態について、電源オン時にリセット信号を出力する例により説明したが、電源オフ時にリセット信号を出力する構成でもよい。この場合、リセット信号の出力後、電源からの電力供給が停止した後であっても、図１０（ｂ）に示すステップＳ１０２３とステップＳ１０２５を実行するために必要な電力を、コントローラ２１０とＳＰＩ−ＲＯＭ２２０とＤＲＡＭ２３０（図２）に対して供給できるように構成する。具体的には、電源回路とコントローラ２１０等との間にスーパーキャパシタ等の電気的素子やごく小容量の二次電池等、第二の電源として機能する部材を介在させる。
なお、リセット信号は外部記憶装置２００に設けたリセットボタンを人為的に操作することにより出力される構成でもよい。
本実施形態においては、ワンタイムプログラム状態から書込禁止状態に遷移するトリガ信号としてリセット信号を利用したが、トリガ信号にはリセット信号以外の信号を利用してもよい。例えば、情報処理装置１００から入力される特定の信号をトリガ信号として利用してもよいし、情報処理装置１００からの命令に基づいて外部記憶装置２００内で出力される特定の信号をトリガ信号として利用してもよい。また、コントローラ２１０が、外部記憶装置２００の電源投入を検出することにより、生成する特定の信号を利用してもよい。
【００４８】
第二の実施形態に変形例２を適用する場合の例について補足する。
ステータス管理部３６２は、書込禁止予約状態に遷移した後、リセット信号が予め定められた回数だけ入力された場合に、外部記憶装置２００のステータスを書込禁止予約状態からワンタイムプログラム状態に変更してもよい。この場合、設定部３６１は、書込禁止予約状態に遷移してからワンタイムプログラム状態に遷移するまでに必要なリセット信号の規定の出力回数を設定記憶部４２０に記憶させる。リセット信号の規定の出力回数は、情報処理装置１００から記憶させることができる。
ステータス管理部３６２は、書込禁止予約状態に遷移したときに、ワンタイムプログラム状態に遷移するまでに必要なリセット信号の出力数として、リセット信号の規定の出力回数を設定記憶部４２０に設定する。ステータス管理部３６２は、リセット信号が出力される毎に、言い換えれば外部記憶装置２００が起動する毎に、必要なリセット信号の出力数をデクリメントする。ステータス管理部３６２は、必要なリセット信号の出力数がゼロとなったときに、外部記憶装置２００のステータスをワンタイムプログラム状態に変更する。なお、書込禁止予約状態から書込許可状態に遷移する場合は、ステータス管理部３６２が管理する必要なリセット信号の出力数はクリアされる。
【００４９】
以上説明した実施形態及び各変形例は、矛盾しない限り適宜組み合わせて実施することができる。
上記実施形態及び変形例においては、書込禁止状態から他の状態に移行する際にパスワードを要求するが、書込禁止状態から他の状態に変更する権限の有無を確認する方法として、ＰＩＮコード、ＵＳＢキー、ドングル等、種々の認証情報を用いることができる。
【００５０】
〔本発明の実施態様例と作用、効果のまとめ〕
＜第一の実施態様＞
本態様は、情報処理装置１００からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置（外部記憶装置２００）であって、データを記憶する記憶手段（記憶部４３０）と、記憶装置のステータスを管理するステータス管理手段（ステータス管理部３６２）と、情報処理装置から入力されうる命令の中から選択された命令を、ステータスを変更するトリガ命令として設定する設定手段（設定部３６１）と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段に対するデータの書き込み禁止を予約された書込禁止予約状態にあり、且つトリガ命令が入力された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
【００５１】
本態様は、書込禁止予約状態のステータスを設けた構成が特徴的である。書込禁止予約状態とは、記憶手段に対するデータの書き込みが可能であるが、トリガ命令の入力を条件に書込禁止状態に移行することが予定されている状態であり、その意味でデータの書き込みに一定の制限がある状態である。記憶装置は、メーカー側でステータスを書込禁止予約状態に設定した状態にて、ユーザに出荷される。
情報処理装置から入力されうる命令とは、記憶装置を制御するために、又は記憶装置に特定の動作を実行させるために情報処理装置から入力されるコマンドであり、情報処理装置と記憶装置とを接続するインターフェースの仕様に応じて通常、一般的に使用されるコマンドである。このように、通常、一般的に使用されるコマンドの少なくとも一つをトリガ命令として用いることで、ユーザが記憶装置を通常通り使用するだけで記憶装置は書込禁止状態に遷移する。ユーザは記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく外部記憶装置を１回しか書き込めない記憶装置として使用することができる。また、ユーザは、記憶装置のステータスをデータの書き込みが可能な状態に戻す方法（例えばコマンドやパスワード等）を知っている必要もない。
本態様によれば、データの改ざんによる不正行為を防止することができる。
【００５２】
＜第二の実施態様＞
本態様に係る記憶装置（外部記憶装置２００）において、トリガ命令は、記憶装置をシャットダウンするに際して情報処理装置１００から入力される命令を含むことを特徴とする。
本態様によれば、データの書き込み後に必ず出力されるコマンドをトリガ命令として利用することで、ユーザに特別な操作を強いることなく、記憶装置を書込禁止状態にすることができる。
【００５３】
＜第三の実施態様＞
本態様に係る記憶装置（外部記憶装置２００）において、トリガ命令は、情報処理装置１００から入力されうる複数の命令と、該命令の入力順により表現されることを特徴とする。
トリガ命令は、単体の命令により構成されてもよいが、複数の命令により構成されてもよい。トリガ命令を複数の命令により構成する場合は、その順番が指定されてもよい。もちろん、トリガ命令は連続する所定順の複数命令でも、間欠的に所定の順番で入力される複数命令でもよい
【００５４】
＜第四、第五の実施態様＞
本態様に係る記憶装置（外部記憶装置２００）において、設定手段（設定部３６１）は、ステータスを書込禁止状態から変更するための認証情報（パスワード）を設定する。そして、ステータス管理手段（ステータス管理部３６２）は、ステータスを変更するステータス変更命令と認証情報とが入力された場合に、ステータスを、記憶手段（記憶部４３０）に対するデータの書き込みを許可する書込許可状態、又は記憶手段に対するデータの書き込みを許可するが書込禁止状態へ移行することが予約された書込禁止予約状態に変更する、ことを特徴とする。
【００５５】
本態様における記憶装置は、データの書き込みに関わるステータスとして、書込許可状態、書込禁止予約状態、書込禁止状態の３ステータスを有する。書込許可状態はデータの書き込みに制限がない状態であり、トリガ命令が入力されても書込禁止状態には移行しない。書込禁止予約状態は、記憶手段に対するデータの書き込みが可能であるが、トリガ命令の入力を条件に書込禁止状態に移行することが予定されている点で、書込許可状態とは異なる。
記憶装置に３つのステータスを用意し、書込許可状態と書込禁止予約状態への移行を記憶装置の流通の上流に位置するメーカーが実施し、書込禁止予約状態から書込禁止状態への移行を記憶装置の流通の下流に位置するユーザが実施するようにすれば、書込禁止状態となった記憶装置に対するデータの書き込みを可能とするための方法が漏洩しにくくなる。従って、記憶手段に書き込まれたデータの改ざんが困難となる。
また、本態様によれば、記憶手段を書込禁止状態から書込許可状態又は書込禁止予約状態に変更することができる。従って、一定の条件下では記憶装置を１回しか書き込めない記憶装置として運用しながらも、記憶装置をデータの書き込みが可能なメディアとして再利用することができる。
【００５６】
＜第六の実施態様＞
本態様は、情報処理装置１００からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置（外部記憶装置２００）であって、データを記憶する記憶手段（記憶部４３０）と、記憶装置のステータスを管理するステータス管理手段（ステータス管理部３６２）と、情報処理装置からの命令に基づいて実行されうる動作の中から選択された動作を、ステータスを変更するトリガ動作として設定する設定手段（設定部３６１）と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段に対するデータの書き込み禁止を予約された書込禁止予約状態にあり、且つトリガ動作が実行された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
本態様はトリガ命令の代わりにトリガ動作を用いる点で第一の実施態様と異なるが、本態様は第一の実施態様と同様の効果を奏する。
【００５７】
＜第七の実施態様＞
本態様は、情報処理装置１００からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置（外部記憶装置２００）であって、データを記憶する記憶手段（記憶部４３０）と、記憶装置のステータスを管理するステータス管理手段（ステータス管理部３６２）と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段へのデータの書き込み禁止を予約された書込禁止予約状態にあり、且つ記憶手段へのデータの書き込み後にトリガ信号が生成された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
【００５８】
本態様は、書込禁止予約状態のステータスを設けた構成が特徴的である。書込禁止予約状態とは、記憶手段に対するデータの書き込みが可能であるが、トリガ信号の入力を条件に書込禁止状態に移行することが予定されている状態であり、その意味でデータの書き込みに一定の制限がある状態である。記憶装置は、メーカー側でステータスを書込禁止予約状態に設定した状態にて、ユーザに出荷される。
本態様は、記憶手段へデータが書き込まれてからトリガ信号により書込禁止状態に遷移するので、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
トリガ信号は、電源オン時又は電源オフ時に出力されるリセット信号とすることができる。一般的に電子回路は、電源オン時等にリセット信号を出力して回路を強制的に初期状態に戻す（又は特定の状態する）ことによって、誤動作を防止するように構成されている。このように、通常、一般的に出力される信号をトリガ信号として用いることで、ユーザが記憶装置を通常通り使用するだけで記憶装置は書込禁止状態に遷移する。ユーザは記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく外部記憶装置を１回しか書き込めない記憶装置として使用することができる。また、ユーザは、記憶装置のステータスをデータの書き込みが可能な状態に戻す方法（例えばコマンドやパスワード等）を知っている必要もない。
本態様によれば、データの改ざんによる不正行為を防止することができる。
【００５９】
＜第八、九の実施態様＞
トリガ信号は、記憶装置（外部記憶装置２００）の全体をリセットするリセット信号とすることができる。また、トリガ信号は、記憶装置の電源オン時又は電源オフ時に出力される信号とすることができる。
リセット信号は、記憶装置に設けたリセットＩＣやリセット回路から所定のタイミングで出力される構成でもよいし、記憶装置に設けたリセットボタンを人為的に操作することにより出力される構成でもよい。トリガ信号は、リセット信号以外の信号でもよい。
一般的に電子回路は、電源オン時等にリセット信号を出力して回路を強制的に初期状態に戻す（又は特定の状態する）ことによって、誤動作を防止するように構成されている。つまり、通常の使用状態において記憶装置が電源オフとなる時点、又は電源オフ後に電源オンとなる時点では、記憶手段に書き込むべきデータの全部が既に記憶手段に書き込まれていると考えられる。
本実施態様においては、リセット信号、又は電源オン時若しくは電源オフ時に出力される信号を、書込禁止状態に遷移するトリガ信号とすることで、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
【００６０】
＜第十の実施態様＞
ステータス管理手段（ステータス管理部３６２）は、記憶装置（外部記憶装置２００）のステータスが、書込禁止予約状態にあり、且つ記憶手段（記憶部４３０）にデータの少なくとも一部が書き込まれた場合に、ステータスを、トリガ信号が生成されるまでデータの書き込みを許可するワンタイムプログラム状態に変更することを特徴とする。
データの書き込みは、トリガ信号が生成されるまで許可されるので、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
【符号の説明】
【００６１】
１００…情報処理装置、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…外部Ｉ／Ｆ、１５０…入出力Ｉ／Ｆ、１６０…表示Ｉ／Ｆ、１７０…バス、１８０…入出力装置、１９０…表示装置、２００…外部記憶装置（記憶装置）、２１０…コントローラ（プロセッサ）、２２０…ＲＯＭ、２３０…ＤＲＡＭ、２４０…フラッシュメモリアレイ（記憶手段、不揮発性メモリ）、２５０…ホストＩ／Ｆ、２６０…バス、２７０…リセットＩＣ、３００…制御部、３１０…全体制御部、３２０…シーケンス制御部、３３０…ＥＣＣ制御部、３４０…ホストＩ／Ｆ制御部、３５０…メモリＩ／Ｆ制御部、３６０…書込制御部、３６１…設定部（設定手段）、３６２…ステータス管理部（ステータス管理手段）、３６３…書込部（書込手段）、４１０…一時記憶部、４２０…設定記憶部（設定記憶手段）、４３０…記憶部（記憶手段、不揮発性メモリ）
【図１】
2019028972.tif 000003
【図２】
2019028972.tif 000004
【図３】
2019028972.tif 000005
【図４】
2019028972.tif 000006
【図５】
2019028972.tif 000007
【図６】
2019028972.tif 000008
【図７】
2019028972.tif 000009
【図８】
2019028972.tif 000010
【図９】
2019028972.tif 000011
【図１０】
2019028972.tif 000012