IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アクセルの特許一覧 ▶ 富士通デバイス株式会社の特許一覧 ▶ ソリッドギア株式会社の特許一覧

特許7076089記憶装置、ステータス管理方法、及びステータス管理プログラム
<>
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図1
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図2
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図3
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図4
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図5
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図6
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図7
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図8
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図9
  • 特許-記憶装置、ステータス管理方法、及びステータス管理プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-19
(45)【発行日】2022-05-27
(54)【発明の名称】記憶装置、ステータス管理方法、及びステータス管理プログラム
(51)【国際特許分類】
   G06F 21/60 20130101AFI20220520BHJP
【FI】
G06F21/60 340
【請求項の数】 18
(21)【出願番号】P 2017238438
(22)【出願日】2017-12-13
(65)【公開番号】P2019028972
(43)【公開日】2019-02-21
【審査請求日】2020-12-10
(31)【優先権主張番号】P 2017149931
(32)【優先日】2017-08-02
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100085660
【弁理士】
【氏名又は名称】鈴木 均
(74)【代理人】
【識別番号】100149892
【弁理士】
【氏名又は名称】小川 弥生
(74)【代理人】
【識別番号】100185672
【弁理士】
【氏名又は名称】池田 雅人
(73)【特許権者】
【識別番号】311007039
【氏名又は名称】NVデバイス株式会社
(73)【特許権者】
【識別番号】503423292
【氏名又は名称】ソリッドギア株式会社
(74)【代理人】
【識別番号】100085660
【弁理士】
【氏名又は名称】鈴木 均
(72)【発明者】
【氏名】小畑 敦志
(72)【発明者】
【氏名】河野 晋太郎
(72)【発明者】
【氏名】廣瀬 英治
【審査官】岸野 徹
(56)【参考文献】
【文献】特開2014-026373(JP,A)
【文献】米国特許出願公開第2015/0350206(US,A1)
【文献】特開2007-293576(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
(57)【特許請求の範囲】
【請求項1】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、
前記記憶装置のステータスと、前記記憶装置に入力されうる命令の中から前記記憶装置のステータスを変更するトリガとして機能させるために選択された命令をトリガ命令として記憶する設定記憶手段と、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、
を備えることを特徴とする記憶装置。
【請求項2】
前記トリガ命令は、前記記憶装置をシャットダウンするに際して前記記憶装置に入力される命令を含む
ことを特徴とする請求項1に記載の記憶装置。
【請求項3】
前記トリガ命令は、前記記憶装置に入力されうる複数の命令と、該命令の入力順により表現される
ことを特徴とする請求項1又は2に記載の記憶装置。
【請求項4】
前記トリガ命令は、前記記憶装置に対する前記データの書込命令と、該データの書き込み後に前記記憶装置に入力される命令と、により構成されることを特徴とする請求項1に記載の記憶装置。
【請求項5】
前記トリガ命令は、前記記憶装置に入力されうる命令と、該命令が前記トリガとして機能するまでに必要な該命令の入力回数とにより表現されることを特徴とする請求項1に記載の記憶装置。
【請求項6】
前記ステータス管理手段は、前記記憶装置の電源投入時に前記ステータスが前記書込禁止予約状態にあり、且つ、前記トリガ命令が入力された場合に、前記ステータスを前記書込禁止状態に変更することを特徴とする請求項1に記載の記憶装置。
【請求項7】
前記トリガ命令は、前記記憶手段にデータを書き込む書込命令と、一回又は複数回の前記書込命令に基づいて前記記憶手段に書き込まれる前記データの総量とにより表現されることを特徴とする請求項1に記載の記憶装置。
【請求項8】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、
前記記憶装置のステータスと、前記情報処理装置からの命令に基づいて実行されうる動作の中から前記記憶装置のステータスを変更するトリガとして機能させるために選択されたトリガ動作と、を記憶する設定記憶手段と、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込みの禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ動作が実行された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、
を備えることを特徴とする記憶装置。
【請求項9】
前記ステータス管理手段は、前記記憶手段の領域を複数に分割した小領域毎に前記記憶装置のステータスを管理することを特徴とする請求項8に記載の記憶装置。
【請求項10】
情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、
前記データを記憶する記憶手段と、前記記憶装置のステータスを変更するステータス管理手段と、を備え、
前記ステータス管理手段は、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記データの初回の書き込み処理が実行された場合に、前記ステータスを、トリガ信号が生成されるまで前記データの書き込みを許可するワンタイムプログラム状態に変更し、
前記記憶装置のステータスが前記ワンタイムプログラム状態にあり、且つ前記記憶手段への前記データの書き込み後に前記トリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更することを特徴とする記憶装置。
【請求項11】
前記トリガ信号は、前記記憶装置の全体をリセットするリセット信号であることを特徴とする請求項10に記載の記憶装置。
【請求項12】
前記トリガ信号は、前記記憶装置の電源オン時又は電源オフ時に出力される信号であることを特徴とする請求項10又は11に記載の記憶装置。
【請求項13】
前記ステータス管理手段は、前記ステータスを変更するステータス変更命令と認証情報とが入力された場合に、前記ステータスを、前記書込禁止予約状態に変更することを特徴とする請求項1乃至12の何れか一項に記載の記憶装置。
【請求項14】
前記ステータス管理手段は、前記ステータスを変更するステータス変更命令と認証情報とが入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを許可する書込許可状態に変更することを特徴とする請求項1乃至13の何れか一項に記載の記憶装置。
【請求項15】
データを記憶する記憶手段と設定を記憶する設定記憶手段とを有した記憶装置のプロセッサにより実行されるステータス管理方法であって、
前記記憶装置のステータスと、前記記憶装置に入力されうる命令の中から前記記憶装置のステータスを変更するトリガとして機能させるために選択されたトリガ命令と、を前記設定記憶手段に記憶させるステップと、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステップと、
を実行することを特徴とするステータス管理方法。
【請求項16】
データを記憶する記憶手段と設定を記憶する設定記憶手段とを有した記憶装置のプロセッサに、
前記記憶装置のステータスと、前記記憶装置に入力されうる命令の中から前記記憶装置のステータスを変更するトリガとして機能させるために選択されたトリガ命令と、を前記設定記憶手段に記憶させ、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更する、
処理を実行させることを特徴とするステータス管理プログラム。
【請求項17】
データを記憶する記憶手段を有した記憶装置のプロセッサにより実行されるステータス管理方法であって、
前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記データの初回の書き込み処理が実行された場合に、前記ステータスを、トリガ信号が生成されるまで前記データの書き込みを許可するワンタイムプログラム状態に変更するステップと、
前記記憶装置のステータスが前記ワンタイムプログラム状態にあり、且つ前記記憶手段への前記データの書き込み後に前記トリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステップと、
を実行することを特徴とするステータス管理方法。
【請求項18】
データを記憶する記憶手段を有した記憶装置のプロセッサに、
前記記憶装置のステータスが、前記データの書き込み禁止を予約された書込禁止予約状態にあり、且つ前記データの初回の書き込み処理が実行された場合に、前記ステータスを、トリガ信号が生成されるまで前記データの書き込みを許可するワンタイムプログラム状態に変更する処理を実行させ、
前記記憶装置のステータスが前記ワンタイムプログラム状態にあり、且つ前記記憶手段への前記データの書き込み後に前記トリガ信号が生成された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更する処理を実行させることを特徴とするステータス管理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データを保護する技術に関する。
【背景技術】
【0002】
パチンコやスロット等の遊技機では、画像や音声等を処理する情報処理装置を搭載している。遊技機では画像データ、音声データ及びプログラムデータ等(以下、単にデータともいう。)の改ざん、盗用、転用等を防止するため、データを暗号化した暗号化データを記憶装置(ROM:Read Only Memory)に記憶しており、情報処理装置は遊技の進行に応じて記憶装置から暗号化データを読み出して、読み出した暗号化データを復号して利用する、といったことが行われている。
特許文献1には、ゲーム内容(ゲームシナリオ等)に係るプログラムと画像データと音声データ等を暗号化して記憶する記憶装置と、CPUと、液晶パネル等を備えたパチンコ機が記載されている。このパチンコ機においては、プログラムを実行するときにRAM上で暗号化ファイルを復号し、元ファイルとしてのプログラム等を生成する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2011-240064公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の遊技機において、暗号化キーを含む開発環境を第三者が手に入れると、記憶装置に記憶されている暗号化ファイルの書き換えを行うことが可能となるので、データの改ざんによる不正行為を防止できないことがある。
本発明は、上述の事情に鑑みてなされたものであり、データの改ざんによる不正行為を防止することができる新規な技術を提供すること目的とする。
【課題を解決するための手段】
【0005】
上記の課題を解決するために、請求項1に記載の発明は、前記記憶装置のステータスと、情報処理装置から入力されるデータの書き込みを実行する記憶装置であって、前記データを記憶する記憶手段と、前記記憶装置に入力されうる命令の中から前記記憶装置のステータスを変更するトリガとして機能させるために選択された命令をトリガ命令として記憶する設定記憶手段と、前記記憶装置のステータスが、前記記憶手段への前記データの書き込み禁止を予約された書込禁止予約状態に設定され、且つ前記トリガ命令が入力された場合に、前記ステータスを、前記記憶手段に対する前記データの書き込みを禁止する書込禁止状態に変更するステータス管理手段と、を備えることを特徴とする。
【発明の効果】
【0006】
1実施態様によれば、データの改ざんによる不正行為を防止することができる。
【図面の簡単な説明】
【0007】
図1】本発明の一実施形態に係る外部記憶装置の状態遷移図である。
図2】本発明の一実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
図3】本発明の一実施形態に係る外部記憶装置の機能構成を示したブロック図である。
図4】設定処理と予約処理を示すシーケンス図である。
図5】データの書込処理及び禁止処理を示すシーケンス図である。
図6】書込禁止状態にあるときのデータの書込処理を示すシーケンス図である。
図7】許可処理を示すシーケンス図である。
図8】本発明の第二の実施形態に係る外部記憶装置の状態遷移図である。
図9】本発明の第二の実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
図10】(a)、(b)は、データの書込処理から禁止処理までの流れを示すシーケンス図である。
【発明を実施するための形態】
【0008】
本発明は、SSD(Solid State Drive)やHDD(Hard Disk Drive)等の外部記憶装置に対するユーザデータ(以下の説明においては単に「データ」という)の書込可否を示すステータスとして、書込許可状態と書込禁止状態の他に書込禁止予約状態のステータスを設けた点、及び外部記憶装置が書込禁止予約状態にあり、且つ、情報処理装置から特定の命令(コマンド)が入力された場合に書込禁止状態に移行する点に特徴がある。
以下、本発明を図に示した実施形態を用いて詳細に説明する。但し、この実施形態に記載される構成要素、種類、組み合わせ、形状、その相対配置などは特定的な記載がない限り、この発明の範囲をそれのみに限定する主旨ではなく単なる説明例に過ぎない。
【0009】
〔第一の実施形態〕
〔状態遷移図〕
図1は、本発明の一実施形態に係る外部記憶装置の状態遷移図である。
外部記憶装置は、データの書き込みを許可する(制限しない)書込許可状態、データの書き込みを禁止する書込禁止状態、データの書き込みを許可するが一定の条件下で書込禁止状態に移行することが予約された書込禁止予約状態の3つのステータスの間を遷移する。
外部記憶装置は、書込禁止予約状態にあり、且つ外部記憶装置と接続されたホスト装置(情報処理装置)から特定の命令(トリガ命令)が入力された場合に、書込禁止状態へ遷移する(遷移A)。本発明においては一例として、データの書き込み終了後に通常入力される命令をトリガ命令として用いることができる。なお、書込許可状態と書込禁止予約状態とはデータの書き込みが可能である点で共通するが、書込許可状態はトリガ命令が入力されても書込禁止状態に遷移しない点で書込禁止予約状態とは異なる。また、外部記憶装置は、例えば、表示装置へ表示する画像を処理する画像処理装置や、放音装置から出力する音声を処理する音声処理装置などに含まれていてもよい。
【0010】
書込禁止予約状態でユーザに提供された外部記憶装置は、データを書き込むだけで書込禁止状態に遷移する。したがって、ユーザは、外部記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく、外部記憶装置をワンタイムROMのように1回しか書き込めない記憶装置として使用することができる。
【0011】
外部記憶装置は、ホスト装置からパスワードと共に予約命令(ステータス変更命令)が入力された場合に、書込禁止予約状態に遷移する(遷移B1、B2)。また、外部記憶装置は、ホスト装置からパスワードと共に許可命令(ステータス変更命令)が入力された場合に書込許可状態に遷移する(遷移C1、C2)。なお、遷移B2は、必要に応じて実装してもよい。
外部記憶装置は、ユーザによるデータの書き込みが終了したときに、書込禁止予約状態から書込禁止状態に自動的に遷移するので、1回しか書き込めない記憶装置として運用することができる。また、外部記憶装置は、ホスト装置から許可命令が入力されたときに、書込禁止状態から書込許可状態に遷移するので、外部記憶装置をデータの書き込みが可能なメディアとして再利用することができる。
【0012】
遷移B1、B2と遷移C1、C2に必要なパスワードを外部記憶装置のメーカー(或いは外部記憶装置の供給元)が管理すれば、外部記憶装置にデータを書き込むユーザ側(顧客側)でパスワードを管理する必要がなくなり、ユーザの負担を軽減できる。また、外部記憶装置の流通上、ユーザよりも上流に位置するメーカー側でパスワードを管理すると共に、遷移B1、B2と遷移C1、C2をメーカーのみで実行するようにすれば、パスワードの漏洩を防止し、第三者による外部記憶装置の不正利用を効果的に防止できる。
【0013】
〔ハードウェア構成〕
図2は、本発明の一実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。
情報処理装置(ホスト装置)100は、CPU(Central Processing Unit)110、ROM(Read Only Memory)120、RAM(Random Access Memory)130、外部I/F140、入出力I/F150、表示I/F160、及びバス170を備える。各構成要素は、バス170により接続される。なお、情報処理装置100は、HDDやSSD等の図示しない記憶装置を備えてもよい。また、情報処理装置100は、図示しない読書装置を備えてもよい。
【0014】
CPU110は、ROM120に格納されたプログラム等を用いて情報処理装置100全体の制御をする。ROM120は、CPU110に情報処理装置100全体を制御する処理を実行させるための制御プログラムを記憶する不揮発性の記憶手段である。情報処理装置100全体を制御する処理を実行させるための制御プログラムは、情報処理装置100が備える記憶装置に記憶されてもよい。
情報処理装置100全体を制御する処理を実行させるための制御プログラムは、記録媒体に記憶され、情報処理装置100が備える読書装置で読み出されてROM120又は情報処理装置100が備える記憶装置に記憶されてもよい。さらに、後述する外部記憶装置200全体を制御する処理を実行させるための制御プログラムは、記録媒体に記憶され、情報処理装置100が備える読書装置で読み出されて外部記憶装置200へ出力されてもよい。記録媒体は、例えば、SDメモリーカード(SD Memory Card)、FD(Floppy Disk)、CD(Compact Disc)、DVD(Digital Versatile Disk)、BD(Blu-ray(登録商標) Disk)、およびフラッシュメモリなどの非一時的記録媒体である。
【0015】
RAM130は、ROM120から読み出されたプログラムやデータ等を一時的に格納する揮発性の記憶手段である。CPU110が起動時にROM120から制御プログラムを読み出してRAM130に展開し、RAM130をワークスペースとして制御プログラムを実行することにより、各種の機能が実現される。
外部I/F140は、情報処理装置100と外部記憶装置200とを接続する。入出力I/F150は、情報処理装置100と入出力装置180とを接続する。表示I/F160は、情報処理装置100と表示装置190とを接続する。
入出力装置180は、情報処理装置100に対して各種の動作指示を入力する手段である。入出力装置180は、例えばキーボード、マウス、タッチパネル、又は各種のボタン等である。表示装置190は、表示I/F160を介して入力された画像を表示する手段であり、例えば液晶ディスプレイや、有機EL(Electro Luminescence)ディスプレイ等である。表示装置190は、タッチパネルからの入力を受け付けるための情報を表示してもよい。
【0016】
外部記憶装置200は、暗号化されたデータ等、各種のデータを記憶する。外部記憶装置200は、例えば、HDDやSSD等である。以下では、説明の簡略化のため外部記憶装置がSSDであるものとして説明する。
外部記憶装置200は、コントローラ210、SPI-ROM(Serial Peripheral Interface-ROM)220、DRAM(Dynamic Random Access Memory)230、フラッシュメモリアレイ(記憶手段、不揮発性メモリ)240、ホストI/F250、及びバス260を備える。各構成要素はバス260により接続される。また、外部記憶装置200は、図示しないSRAM(Static Random Access Memory)を備えてもよい。そして、SRAMは、電池と接続され、主電源と接続されていない間も情報を記憶してもよい。
【0017】
コントローラ210は、例えばプロセッサであり、SPI-ROM220に格納されたプログラム等を用いて外部記憶装置200全体の動作を制御する。SPI-ROM220は、コントローラ210に外部記憶装置200全体を制御する処理を実行させるための制御プログラムや、各種の設定を記憶する不揮発性の記憶手段である。SPI-ROM220は、コントローラ210専用のメモリとして設けられている。DRAM230は、SPI-ROM220から読み出されたプログラムや各種のデータ等を一時的に格納する揮発性の記憶手段である。
フラッシュメモリアレイ240は、情報処理装置100から送信された暗号化データや各種のデータを記憶する不揮発性の記憶手段であり、例えば、NAND型のフラッシュメモリアレイやNOR型のフラッシュメモリアレイにより構成される。
ホストI/F250は、外部記憶装置200と情報処理装置100とを接続する。
【0018】
〔機能構成〕
図3は、本発明の一実施形態に係る外部記憶装置の機能構成を示したブロック図である。
外部記憶装置200は、制御部300、一時記憶部410、設定記憶部420、記憶部430を備える。
制御部300は、全体制御部310、シーケンス制御部320、ECC制御部330、ホストI/F制御部340、メモリI/F制御部350、及び書込制御部360を備える。
【0019】
制御部300は、図2のコントローラ210により実現される。コントローラ210がSPI-ROM220から制御プログラムを読み出してDRAM230に展開し、DRAM230をワークスペースとして制御プログラムを実行することにより、制御部300の各機能が実現される。
全体制御部310は、制御部300全体を制御する。シーケンス制御部320は、全体制御部310からの命令に応じて記憶部430の動作を制御する。ECC制御部330は、読み出したデータに付加されたエラーコレクションコードを用いて、読み出したデータに含まれる誤りを検出する。更にECC制御部330は、誤りを検出したとき、誤りを訂正する。
ホストI/F制御部340は、情報処理装置100との間のインターフェースを制御する。メモリI/F制御部350は、記憶部430であるNAND/NORアレイや一時記憶部410であるDRAM等とのインターフェースを制御する。
書込制御部360は、記憶部430に対するデータの書き込み及び読み出しを制御する。書込制御部360の詳細構成については後述する。
【0020】
一時記憶部410は、記憶部430から読み出されたデータを一時的に記憶する揮発性の記憶手段である。一時記憶部410は、図2のDRAM230により実現される。
設定記憶部420は、外部記憶装置200のステータス及びその変更に関わる各種の情報を記憶する不揮発性の記憶手段である。設定記憶部420は、データの書き込み可否に関わる外部記憶装置200のステータス(書込許可状態、書込禁止予約状態、書込禁止状態の何れか)と、書込禁止状態から他の状態に移行する際に必要なパスワード(認証情報)と、書込禁止予約状態から書込禁止状態に移行するトリガとなる命令(トリガ命令)等を記憶する。設定記憶部420は、図2のSPI-ROM220により実現されるが、図2のフラッシュメモリアレイ240の一部や図示しないSRAMを設定記憶部420として使用してもよい。
記憶部430は、暗号化データや各種のデータを記憶する手段であり、図2のフラッシュメモリアレイ240により実現される。
【0021】
<書込制御部>
書込制御部360について図3を参照して説明する。
書込制御部360は、設定部(設定手段)361とステータス管理部(ステータス管理手段)362と書込部363とを備える。
設定部361は、書込禁止状態にある外部記憶装置200のステータスを、書込許可状態又は書込禁止予約状態に変更する際に必要なパスワード、及び、書込禁止予約状態から書込禁止状態に移行するトリガとなる命令(トリガ命令)を設定記憶部420に記憶させる手段である。パスワードとトリガ命令は、ホストI/F制御部340を介して情報処理装置100から入力される。
【0022】
ステータス管理部362は、外部記憶装置200のステータスを管理する手段である。ステータス管理部362は、外部記憶装置200のステータスを例えば2ビットの情報として設定記憶部420に記憶させる。ステータス管理部362は、外部記憶装置200のステータスが書込禁止予約状態にあり、且つ情報処理装置100からトリガ命令の入力を検知した場合に、外部記憶装置200のステータスを書込禁止状態に変更する。また、ステータス管理部362は、情報処理装置100からパスワードと共に、許可命令又は予約命令が入力された場合に、外部記憶装置200のステータスを書込許可状態又は書込禁止予約状態に変更する。更に、ステータス管理部362は、書込部363から記憶部430への書き込み可否の問い合わせがあった場合に、外部記憶装置200の現在のステータスを応答する。
書込部363は、情報処理装置100から取得したデータを記憶部430に書き込む手段である。書込部363は、情報処理装置100から入力された書込命令に基づいて、書込命令と共に情報処理装置100から入力されたデータを、外部記憶装置200のステータスに応じて記憶部430に書き込む。
【0023】
トリガ命令には、外部記憶装置200を制御するために、又は外部記憶装置200に特定の動作を実行させるために情報処理装置100から通常、一般的に入力されるコマンドの何れかを割り当てることができる。
ここで、情報処理装置100による外部記憶装置200の制御には、両装置を接続するインターフェースの仕様に応じたコマンドが用いられる。例えば、情報処理装置100と外部記憶装置200とがSATA(Serial Advanced Technology Attachment)インターフェース規格により接続される場合、外部記憶装置200の制御にはATAコマンドが用いられる。即ち、両装置がSATAインターフェース規格により接続される場合、ATAコマンドの何れかをトリガ命令として用いることができる。
【0024】
トリガ命令を構成するコマンドは、データの書き込み後に一般的に情報処理装置100から出力されるコマンドが好適である。例えばトリガ命令には、データの書き込み後、シャットダウン時に出力されるFlush_Cacheや、Standby_Immediateを用いることができる。このように、データの書き込み後に必ず出力されるコマンドをトリガ命令として利用することで、ユーザに特別な操作を強いることなく、記憶部430を書込禁止状態にすることができる。
トリガ命令は、単体のコマンドにより構成されてもよいが、複数のコマンドとその入力順の組み合わせにより構成されてもよい。トリガ命令を複数のコマンドの組み合わせにより構成する場合、トリガ命令は、連続する所定順の複数コマンドでも、間欠的に所定の順番で入力される複数コマンドでもよい。
【0025】
〔設定処理、予約処理〕
図4は、設定処理と予約処理を示すシーケンス図である。設定処理は、設定部361がパスワードとトリガ命令を設定記憶部420に記憶させる処理である。予約処理は、ステータス管理部362が外部記憶装置200のステータスを書込禁止予約状態に変更する処理である。本処理は、図1に示すように例えばメーカー側で行われる処理である。なお、初期状態における外部記憶装置200のステータスは書込許可状態である。
【0026】
まず、設定処理について説明する。
ステップS401において、情報処理装置100は、引数としてパスワードとトリガ命令とを指定した設定開始命令を出力する。
ステップS403において、設定部361は、設定開始命令に基づいてパスワードを設定記憶部420に記憶させる。また、ステップS405において、設定部361は設定開始命令に基づいて、トリガ命令を設定記憶部420に記憶させる。
ステップS407において、設定部361は、設定が完了した旨を、全体制御部310を介して情報処理装置100に応答する。
なお、トリガ命令が固定である場合、ステップS401において引数としてトリガ命令を指定すること、及びステップS405のトリガ命令の格納を省略することができる。
【0027】
続いて、予約処理について説明する。
ステップS411において、情報処理装置100は、引数としてパスワードを指定した予約命令を外部記憶装置200に出力する。
ステップS413において、ステータス管理部362は、設定記憶部420からパスワードを読み出す。ステップS415において、ステータス管理部362は、読み出したパスワードと情報処理装置100から入力したパスワードとを照合する。両パスワードが一致した場合、ステータス管理部362は、外部記憶装置200のステータスを書込禁止予約状態に変更する。即ち、ステータス管理部362は、設定記憶部420に外部記憶装置200のステータスとして書込禁止予約状態を記憶させる(ステップS417)。
ステップS419において、ステータス管理部362は、ステータスの変更が完了した旨を、全体制御部310を介して情報処理装置100に応答する。
【0028】
〔データの書込処理、禁止処理〕
図5は、データの書込処理及び禁止処理を示すシーケンス図である。書込処理は、書込部363が記憶部430にデータを書き込む処理、禁止処理は、ステータス管理部362が、書込禁止予約状態にある外部記憶装置200のステータスを書込禁止状態に変更する処理である。本処理は、図1に示すようにユーザ側で行われる処理である。
【0029】
ステップS501において、情報処理装置100は、記憶部430に対するデータの書込命令と、書き込むデータとを外部記憶装置200に出力する。
ステップS503において、書込部363は、外部記憶装置200のステータスがデータの書き込みが可能な状態か否かをステータス管理部362に問い合わせる。
ステップS505において、ステータス管理部362は、設定記憶部420に記憶されている現在の外部記憶装置200のステータスを読み出す。また、ステップS507において、ステータス管理部362は、読み出したステータス(本例では「書込禁止予約状態」)を書込部363に応答する。
書込禁止予約状態のとき、記憶部430に対するデータの書き込みが可能である。従って、ステップS509において、書込部363は、情報処理装置100から入力したデータを記憶部430に書き込む処理を実行する。
ステップS511において、書込部363は、データの処理結果(書込成功)を、全体制御部310を介して情報処理装置100に応答する。
【0030】
必要なデータの書き込み終了後、情報処理装置100は外部記憶装置200をシャットダウンさせる命令を出力する(ステップS513)。このとき、情報処理装置100は、外部記憶装置200をシャットダウンするに際して、トリガ命令(例えばFlush_Cache、Standby_Immediate)を出力する。
ステップS515において、ステータス管理部362は、外部記憶装置200のステータスが書込禁止予約状態であるので、トリガ命令の入力に基づいて、外部記憶装置200のステータスを書込禁止状態に変更する。即ち、ステータス管理部362は、設定記憶部420に外部記憶装置200のステータスとして書込禁止状態を記憶させる。
ステップS517において、全体制御部310は、外部記憶装置200の電源をオフする処理を実行する。
【0031】
〔書込禁止状態時の書込処理〕
図6は、書込禁止状態にあるときのデータの書込処理を示すシーケンス図である。
ステップS601において、情報処理装置100は、記憶部430に対するデータの書込命令と、書き込むデータとを外部記憶装置に出力する。
ステップS603において、書込部363は、データの書き込みが可能な状態か否かをステータス管理部362に問い合わせる。
ステップS605において、ステータス管理部362は、設定記憶部420に記憶されている現在の外部記憶装置200のステータスを読み出す。また、ステップS607において、ステータス管理部362は、読み出したステータス(本例では「書込禁止状態」)を書込部363に応答する。
書込禁止状態のとき、記憶部430に対してデータの書き込みができない。従って、ステップS609において、書込部363は、データの処理結果(書込エラー)を、全体制御部310を介して情報処理装置100に応答する。
【0032】
〔許可処理〕
図7は、許可処理を示すシーケンス図である。許可処理は、ステータス管理部362が外部記憶装置200のステータスを書込許可状態に変更する処理である。本処理は、図1に示すように例えばメーカー側で行われる処理である。なお、ステータス管理部362が、外部記憶装置200のステータスを書込禁止状態から書込許可状態に変更する処理も、書込禁止予約状態から書込許可状態に変更する処理も、同様に実行される。
【0033】
ステップS701において、情報処理装置100は、引数としてパスワードを指定した許可命令を外部記憶装置200に出力する。
ステップS703において、ステータス管理部362は、設定記憶部420からパスワードを読み出す。ステップS705において、ステータス管理部362は、読み出したパスワードと情報処理装置100から入力したパスワードとを照合する。両パスワードが一致した場合、ステータス管理部362は、外部記憶装置200のステータスを書込許可状態に変更する。即ち、ステータス管理部362は、設定記憶部420に外部記憶装置200のステータスとして書込許可状態を記憶させる(ステップS707)。
ステップS709において、ステータス管理部362は、ステータスの変更が完了した旨を、全体制御部310を介して情報処理装置100に応答する。
【0034】
〔変形例〕
以下、各種の変形例について説明する。
<変形例1>
トリガ命令は、外部記憶装置200に対するデータの書込命令と、データの書き込み後に情報処理装置100から出力されるコマンドとの組み合わせとすることができる。トリガ命令を構成するコマンドに書込命令を含むことにより、外部記憶装置200はデータが書き込まれた後に書込禁止状態に移行する。従って、データの書き込み前に外部記憶装置200が書込禁止状態となることを防止できる。
【0035】
<変形例2>
ステータス管理部362は、ステータスを変更するトリガとして機能する命令が予め定められた回数入力された場合に外部記憶装置200のステータスを書込禁止予約状態から書込禁止状態に変更してもよい。
この場合、トリガ命令は、情報処理装置100から入力される命令(コマンド)とその入力回数により表現される。即ち、設定部361は、ステータスを変更するトリガとして機能する命令と、その入力回数とを設定記憶部420に記憶させる。また、ステータス管理部362は、書込禁止予約状態下で入力されたトリガとして機能する命令の回数を設定記憶部420に記憶させておき、トリガとして機能する命令が入力される毎にその数をインクリメントする。
【0036】
<変形例3>
ステータス管理部362は、外部記憶装置200の電源投入時における外部記憶装置200のステータスに応じて外部記憶装置200のステータス変更に関わる動作を異ならせてもよい。
例えば、ステータス管理部362は、電源投入時における外部記憶装置200のステータスが書込禁止予約状態にあり、且つトリガ命令が入力された場合に、外部記憶装置200のステータスを書込禁止状態に変更することができる。逆に言えば、電源投入時に外部記憶装置200が書込禁止予約以外の状態にあり、ステータス管理部362が外部記憶装置200のステータスを書込禁止予約状態に変更した場合に、ステータス管理部362はその直後のシャットダウン時にトリガ命令が出力されたとしても、外部記憶装置200のステータスを書込禁止状態に変更しないようにすることができる。
このようにすることで、書込禁止予約状態から書込禁止状態への移行を制限でき、データの書き込み前に外部記憶装置200が書込禁止状態となることを防止できる。
【0037】
<変形例4>
上記実施形態においては、情報処理装置100から入力されるコマンド(トリガ命令)を、書込禁止予約状態から書込禁止状態に移行するトリガとして利用したが、特定のコマンド以外のものを書込禁止状態に移行するトリガとして利用できる。例えば、情報処理装置100からの命令に基づいて記憶装置200が実行しうる動作の中から選択された動作を、外部記憶装置200のステータスを書込禁止予約状態から書込禁止状態に変更するトリガ(トリガ動作)として利用することができる。
【0038】
<変形例5>
ステータス管理部362は、予め定められた所定量のデータが記憶部430に書き込まれたことをトリガとして、外部記憶装置200のステータスを書込禁止予約状態から書込禁止状態に移行させてもよい。
即ち、設定部361は、記憶部430に対して所定量以上のデータを一回で、又は複数回に分けて書き込む書込命令(又は書込動作)を書込禁止予約状態から書込禁止状態に移行するトリガ命令(又はトリガ動作)として設定することができる。
【0039】
<変形例6>
ステータス管理部362は、記憶部430内の領域を複数に分割した小領域毎に外部記憶装置200のステータスを管理してもよい。即ち、ステータス管理部362は、記憶部430の小領域毎に対する外部記憶装置200のステータスについて、書込許可状態、書込禁止予約状態、又は書込禁止状態のどの状態であるのかを、設定記憶部420にそれぞれ記憶させることができる。この場合、設定部361は、情報処理装置100からの命令に基づいて書込部363が実行する各小領域に対するデータの書き込み動作を、各小領域のステータスを書込禁止予約状態から書込禁止状態に変更するトリガ(トリガ動作)として設定することができる。また、ステータス管理部362は、夫々の小領域に対してデータが書き込まれた(トリガ動作が実行された)場合に、各小領域のステータスを書込禁止状態に変更する。
このように、小領域毎にステータスを管理することによって、記憶部430に一定量のデータが書き込まれる毎に、当該データが書き込まれた領域を順次書込禁止予約状態から書込禁止状態に移行させることができる。つまり、データが書き込まれた領域のみを1回しか書き込めない記憶装置として機能させることができる。
【0040】
<変形例7>
上記実施形態及び各変形例においては、記憶部430に対するデータの書き込みに関わる外部記憶装置200のステータスをトリガ命令により変更する例を示したが、トリガ命令により変更されるステータスはこれに限られない。例えばトリガ命令により、記憶部430からのデータの読み出しに関わるステータスを変更するようにしてもよい。
このように、ステータス管理部362は、外部記憶装置200のステータスが、外部記憶装置200の特定の動作を制限する予約がされた動作制限予約状態にあり、且つ、トリガ命令が入力された場合に、外部記憶装置200のステータスを、外部記憶装置200の特定の動作を制限する動作制限状態に変更してもよい。
【0041】
〔第二の実施形態〕
図8は、本発明の第二の実施形態に係る外部記憶装置の状態遷移図である。
第二の実施形態に係る外部記憶装置は、書込許可状態、書込禁止状態、書込禁止予約状態のステータスに加えてワンタイムプログラム状態(制限的に書込動作が可能な状態)のステータスを備え、4つのステータスの間を遷移する点に特徴がある。
ワンタイムプログラム状態とは、外部記憶装置が、一度だけ実行できる書込動作を行っている状態、或いは、そのような書込動作が可能となっている状態を意味する。
外部記憶装置は、書込禁止予約状態にあり、且つ最初のデータの書き込み処理が実行された場合に、ワンタイムプログラム状態に遷移する(遷移D)。外部記憶装置は、ワンタイムプログラム状態にあるときに、外部記憶装置の全体をリセットするリセット信号が出力されると、書込禁止状態に遷移する(遷移A2)。リセット信号は、例えば外部記憶装置の電源オン時に出力される。
外部記憶装置がワンタイムプログラム状態に遷移した後に、リセット信号が出力されるまでは、外部記憶装置はデータの書き込み動作を実行できる。即ち、書込動作を「一度だけ実行できる」とは、ワンタイムプログラム状態に遷移した後にリセット信号が出力されるまでを一度として、それまでは書込動作を何度でも実行できる、という意味である。リセット信号に電源オン時のリセット信号を利用する場合は、事前に外部記憶装置の電源がオフとなっていることが必要であるから、実際には、データの書き込みは書込動作の開始から電源オフされるまでに制限される。
【0042】
図9は、本発明の第二の実施形態に係る情報処理装置及び外部記憶装置を示すハードウェア構成図である。図2の構成と同一の構成については説明を省略する。
外部記憶装置200は、図2の構成に加えて、リセットIC270を備えている。リセットIC270は、外部記憶装置200の全体をリセットするリセット信号を電源オン時に生成して出力するリセット専用の制御回路である。リセット信号により、コントローラ210がリセットされ、ホストI/F250、DRAM230等の揮発メモリは初期化される。
【0043】
図10(a)、(b)は、データの書込処理から禁止処理までの流れを示すシーケンス図である。図10(a)は、データの書込処理から電源オフまでの流れを示す図であり、(b)は、電源オンから禁止処理までの流れを示す図である。なお、図5と同様の構成については適宜説明を省略する。
図10(a)に示すステップS1001~ステップS1007は、図5に示すステップS501~ステップS507と同様である。
ステップS1009において、書込部363は、情報処理装置100から入力したデータを記憶部430に書き込む。ここで、書込部363は、記憶部430に対して、書き込むべきデータの全体を一回で書き込んでもよいし、書き込むべきデータを複数に分割し、分割したデータを順次書き込んでもよい。書込部363が書き込むべきデータを複数に分割して書き込む場合は、書込部363が分割したデータの1つを記憶部430に書き込んだ後に、ステップS1011の処理が実行される。なお、以下では、書込部363がデータを複数に分割して記憶部430に書き込む例を説明する。
ステップS1011において、書込部363は、ステータス管理部362に対してデータの書き込みを行ったことを通知する。
ステップS1013において、ステータス管理部362は、外部記憶装置200のステータスが書込禁止予約状態であるので、書込部363からの書込通知に基づいて、外部記憶装置200のステータスをワンタイムプログラム状態に変更する。即ち、ステータス管理部362は、設定記憶部420に外部記憶装置200のステータスとしてワンタイムプログラム状態を記憶させる。
ステップS1015において、書込部363は分割した次のデータを記憶部430に書き込む。書込部363は、書き込むべきデータの全体が記憶部430に書き込まれるまで、ステップS1015の処理を繰り返す。
ステップS1017において、書込部363は、データの処理結果(書込成功)を、全体制御部310を介して情報処理装置100に応答する。
ステップS1019において、情報処理装置100は外部記憶装置200をシャットダウンさせる命令を出力する。
ステップS1021において、全体制御部310は、外部記憶装置200の電源をオフする処理を実行する。
【0044】
外部記憶装置200の電源がオンされると、図9に示すリセットIC270からリセット信号が出力される。リセット信号により外部記憶装置200がリセットされた後、コントローラ210がSPI-ROM220から制御プログラムを読み出してDRAM230に展開して、図3の制御部300に示す各ブロックを形成する。図10(b)に示す処理は、各ブロックの形成直後に実行される。
ステップS1023において、ステータス管理部362は、設定記憶部420に記憶されている現在の外部記憶装置200のステータスを読み出す。外部記憶装置200のステータスが書込許可状態、書込禁止状態、書込禁止予約状態の何れかである場合は、ステータスは変更されない。外部記憶装置200のステータスがワンタイムプログラム状態である場合には、ステータスを変更するステップS1025の処理が実行される。
ステップS1025において、ステータス管理部362は、外部記憶装置200のステータスを書込禁止状態に変更する。即ち、ステータス管理部362は、設定記憶部420に外部記憶装置200のステータスとして書込禁止状態を記憶させる。
【0045】
本実施形態においても、設定処理と予約処理(図4)は、第一の実施形態と同様に実行される。ただし、本実施形態では書込禁止状態へのステータスの変更にトリガ命令を利用しないため、図4のステップS401では、設定開始命令に引数としてトリガ命令を指定する必要はない。また、トリガ命令を格納するステップS405の処理は省略される。
本実施形態においても、第一の実施形態と同様にシャットダウン時(図10(a)のステップS1019)には情報処理装置100からFlush_Cacheや、Standby_Immediate等のコマンドが出力される。しかし、本実施形態では上記コマンドをトリガ命令として設定していないため、外部記憶装置200は上記コマンドに従った動作を実行するだけである。
なお、書込禁止状態時の書込処理と、許可処理は第一の実施形態と同様である。
【0046】
本実施形態においては、書込動作の開始からリセット信号が出力されるまでの間であれば、何度でもデータの書き込みが可能である。従って、書込部363が、記憶部430に対して書き込むべきデータを複数に分割し、分割した夫々のデータについて書き込みとベリファイとを順次実行する場合にも対応できる。もちろん、情報処理装置100から出力される複数の書込命令に基づいて複数のデータを外部記憶装置200に対して書き込むことも可能である。このように、本実施形態によれば、最初の書込動作の実行後に、書き込むべきデータが残っているにも関わらず書込禁止状態に遷移する、という事態を回避できる。
【0047】
一般的に電子回路は、電源が投入されたときに回路を強制的に初期状態に戻す(又は特定の状態する)ことによって、誤動作を防止するように構成されている。本実施形態においては、一般的な電子回路が有するリセット機能を利用して、ステータスを変更する。即ち、外部記憶装置のステータスがワンタイムプログラム状態にあり、且つ、内部回路の状態がリセット信号により強制的に初期状態に戻った場合(又は特定の状態となった場合)に、外部記憶装置のステータスを書込禁止状態に遷移させる。なお、本実施形態においては、リセット専用のリセットIC270からリセット信号を出力するように構成しているが、抵抗とコンデンサ(キャパシタ)からリセット信号を出力する構成としてもよい。
第二の実施形態について、電源オン時にリセット信号を出力する例により説明したが、電源オフ時にリセット信号を出力する構成でもよい。この場合、リセット信号の出力後、電源からの電力供給が停止した後であっても、図10(b)に示すステップS1023とステップS1025を実行するために必要な電力を、コントローラ210とSPI-ROM220とDRAM230(図2)に対して供給できるように構成する。具体的には、電源回路とコントローラ210等との間にスーパーキャパシタ等の電気的素子やごく小容量の二次電池等、第二の電源として機能する部材を介在させる。
なお、リセット信号は外部記憶装置200に設けたリセットボタンを人為的に操作することにより出力される構成でもよい。
本実施形態においては、ワンタイムプログラム状態から書込禁止状態に遷移するトリガ信号としてリセット信号を利用したが、トリガ信号にはリセット信号以外の信号を利用してもよい。例えば、情報処理装置100から入力される特定の信号をトリガ信号として利用してもよいし、情報処理装置100からの命令に基づいて外部記憶装置200内で出力される特定の信号をトリガ信号として利用してもよい。また、コントローラ210が、外部記憶装置200の電源投入を検出することにより、生成する特定の信号を利用してもよい。
【0048】
第二の実施形態に変形例2を適用する場合の例について補足する。
ステータス管理部362は、書込禁止予約状態に遷移した後、リセット信号が予め定められた回数だけ入力された場合に、外部記憶装置200のステータスを書込禁止予約状態からワンタイムプログラム状態に変更してもよい。この場合、設定部361は、書込禁止予約状態に遷移してからワンタイムプログラム状態に遷移するまでに必要なリセット信号の規定の出力回数を設定記憶部420に記憶させる。リセット信号の規定の出力回数は、情報処理装置100から記憶させることができる。
ステータス管理部362は、書込禁止予約状態に遷移したときに、ワンタイムプログラム状態に遷移するまでに必要なリセット信号の出力数として、リセット信号の規定の出力回数を設定記憶部420に設定する。ステータス管理部362は、リセット信号が出力される毎に、言い換えれば外部記憶装置200が起動する毎に、必要なリセット信号の出力数をデクリメントする。ステータス管理部362は、必要なリセット信号の出力数がゼロとなったときに、外部記憶装置200のステータスをワンタイムプログラム状態に変更する。なお、書込禁止予約状態から書込許可状態に遷移する場合は、ステータス管理部362が管理する必要なリセット信号の出力数はクリアされる。
【0049】
以上説明した実施形態及び各変形例は、矛盾しない限り適宜組み合わせて実施することができる。
上記実施形態及び変形例においては、書込禁止状態から他の状態に移行する際にパスワードを要求するが、書込禁止状態から他の状態に変更する権限の有無を確認する方法として、PINコード、USBキー、ドングル等、種々の認証情報を用いることができる。
【0050】
〔本発明の実施態様例と作用、効果のまとめ〕
<第一の実施態様>
本態様は、情報処理装置100からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置(外部記憶装置200)であって、データを記憶する記憶手段(記憶部430)と、記憶装置のステータスを管理するステータス管理手段(ステータス管理部362)と、情報処理装置から入力されうる命令の中から選択された命令を、ステータスを変更するトリガ命令として設定する設定手段(設定部361)と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段に対するデータの書き込み禁止を予約された書込禁止予約状態にあり、且つトリガ命令が入力された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
【0051】
本態様は、書込禁止予約状態のステータスを設けた構成が特徴的である。書込禁止予約状態とは、記憶手段に対するデータの書き込みが可能であるが、トリガ命令の入力を条件に書込禁止状態に移行することが予定されている状態であり、その意味でデータの書き込みに一定の制限がある状態である。記憶装置は、メーカー側でステータスを書込禁止予約状態に設定した状態にて、ユーザに出荷される。
情報処理装置から入力されうる命令とは、記憶装置を制御するために、又は記憶装置に特定の動作を実行させるために情報処理装置から入力されるコマンドであり、情報処理装置と記憶装置とを接続するインターフェースの仕様に応じて通常、一般的に使用されるコマンドである。このように、通常、一般的に使用されるコマンドの少なくとも一つをトリガ命令として用いることで、ユーザが記憶装置を通常通り使用するだけで記憶装置は書込禁止状態に遷移する。ユーザは記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく外部記憶装置を1回しか書き込めない記憶装置として使用することができる。また、ユーザは、記憶装置のステータスをデータの書き込みが可能な状態に戻す方法(例えばコマンドやパスワード等)を知っている必要もない。
本態様によれば、データの改ざんによる不正行為を防止することができる。
【0052】
<第二の実施態様>
本態様に係る記憶装置(外部記憶装置200)において、トリガ命令は、記憶装置をシャットダウンするに際して情報処理装置100から入力される命令を含むことを特徴とする。
本態様によれば、データの書き込み後に必ず出力されるコマンドをトリガ命令として利用することで、ユーザに特別な操作を強いることなく、記憶装置を書込禁止状態にすることができる。
【0053】
<第三の実施態様>
本態様に係る記憶装置(外部記憶装置200)において、トリガ命令は、情報処理装置100から入力されうる複数の命令と、該命令の入力順により表現されることを特徴とする。
トリガ命令は、単体の命令により構成されてもよいが、複数の命令により構成されてもよい。トリガ命令を複数の命令により構成する場合は、その順番が指定されてもよい。もちろん、トリガ命令は連続する所定順の複数命令でも、間欠的に所定の順番で入力される複数命令でもよい
【0054】
<第四、第五の実施態様>
本態様に係る記憶装置(外部記憶装置200)において、設定手段(設定部361)は、ステータスを書込禁止状態から変更するための認証情報(パスワード)を設定する。そして、ステータス管理手段(ステータス管理部362)は、ステータスを変更するステータス変更命令と認証情報とが入力された場合に、ステータスを、記憶手段(記憶部430)に対するデータの書き込みを許可する書込許可状態、又は記憶手段に対するデータの書き込みを許可するが書込禁止状態へ移行することが予約された書込禁止予約状態に変更する、ことを特徴とする。
【0055】
本態様における記憶装置は、データの書き込みに関わるステータスとして、書込許可状態、書込禁止予約状態、書込禁止状態の3ステータスを有する。書込許可状態はデータの書き込みに制限がない状態であり、トリガ命令が入力されても書込禁止状態には移行しない。書込禁止予約状態は、記憶手段に対するデータの書き込みが可能であるが、トリガ命令の入力を条件に書込禁止状態に移行することが予定されている点で、書込許可状態とは異なる。
記憶装置に3つのステータスを用意し、書込許可状態と書込禁止予約状態への移行を記憶装置の流通の上流に位置するメーカーが実施し、書込禁止予約状態から書込禁止状態への移行を記憶装置の流通の下流に位置するユーザが実施するようにすれば、書込禁止状態となった記憶装置に対するデータの書き込みを可能とするための方法が漏洩しにくくなる。従って、記憶手段に書き込まれたデータの改ざんが困難となる。
また、本態様によれば、記憶手段を書込禁止状態から書込許可状態又は書込禁止予約状態に変更することができる。従って、一定の条件下では記憶装置を1回しか書き込めない記憶装置として運用しながらも、記憶装置をデータの書き込みが可能なメディアとして再利用することができる。
【0056】
<第六の実施態様>
本態様は、情報処理装置100からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置(外部記憶装置200)であって、データを記憶する記憶手段(記憶部430)と、記憶装置のステータスを管理するステータス管理手段(ステータス管理部362)と、情報処理装置からの命令に基づいて実行されうる動作の中から選択された動作を、ステータスを変更するトリガ動作として設定する設定手段(設定部361)と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段に対するデータの書き込み禁止を予約された書込禁止予約状態にあり、且つトリガ動作が実行された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
本態様はトリガ命令の代わりにトリガ動作を用いる点で第一の実施態様と異なるが、本態様は第一の実施態様と同様の効果を奏する。
【0057】
<第七の実施態様>
本態様は、情報処理装置100からの命令に基づいて、情報処理装置から入力されるデータの書き込みを実行する記憶装置(外部記憶装置200)であって、データを記憶する記憶手段(記憶部430)と、記憶装置のステータスを管理するステータス管理手段(ステータス管理部362)と、を備える。そして、ステータス管理手段は、ステータスが、記憶手段へのデータの書き込み禁止を予約された書込禁止予約状態にあり、且つ記憶手段へのデータの書き込み後にトリガ信号が生成された場合に、ステータスを、記憶手段に対するデータの書き込みを禁止する書込禁止状態に変更する、ことを特徴とする。
【0058】
本態様は、書込禁止予約状態のステータスを設けた構成が特徴的である。書込禁止予約状態とは、記憶手段に対するデータの書き込みが可能であるが、トリガ信号の入力を条件に書込禁止状態に移行することが予定されている状態であり、その意味でデータの書き込みに一定の制限がある状態である。記憶装置は、メーカー側でステータスを書込禁止予約状態に設定した状態にて、ユーザに出荷される。
本態様は、記憶手段へデータが書き込まれてからトリガ信号により書込禁止状態に遷移するので、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
トリガ信号は、電源オン時又は電源オフ時に出力されるリセット信号とすることができる。一般的に電子回路は、電源オン時等にリセット信号を出力して回路を強制的に初期状態に戻す(又は特定の状態する)ことによって、誤動作を防止するように構成されている。このように、通常、一般的に出力される信号をトリガ信号として用いることで、ユーザが記憶装置を通常通り使用するだけで記憶装置は書込禁止状態に遷移する。ユーザは記憶装置のステータス、及び書込禁止状態に遷移するための命令の何れをも意識することなく外部記憶装置を1回しか書き込めない記憶装置として使用することができる。また、ユーザは、記憶装置のステータスをデータの書き込みが可能な状態に戻す方法(例えばコマンドやパスワード等)を知っている必要もない。
本態様によれば、データの改ざんによる不正行為を防止することができる。
【0059】
<第八、九の実施態様>
トリガ信号は、記憶装置(外部記憶装置200)の全体をリセットするリセット信号とすることができる。また、トリガ信号は、記憶装置の電源オン時又は電源オフ時に出力される信号とすることができる。
リセット信号は、記憶装置に設けたリセットICやリセット回路から所定のタイミングで出力される構成でもよいし、記憶装置に設けたリセットボタンを人為的に操作することにより出力される構成でもよい。トリガ信号は、リセット信号以外の信号でもよい。
一般的に電子回路は、電源オン時等にリセット信号を出力して回路を強制的に初期状態に戻す(又は特定の状態する)ことによって、誤動作を防止するように構成されている。つまり、通常の使用状態において記憶装置が電源オフとなる時点、又は電源オフ後に電源オンとなる時点では、記憶手段に書き込むべきデータの全部が既に記憶手段に書き込まれていると考えられる。
本実施態様においては、リセット信号、又は電源オン時若しくは電源オフ時に出力される信号を、書込禁止状態に遷移するトリガ信号とすることで、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
【0060】
<第十の実施態様>
ステータス管理手段(ステータス管理部362)は、記憶装置(外部記憶装置200)のステータスが、書込禁止予約状態にあり、且つ記憶手段(記憶部430)にデータの少なくとも一部が書き込まれた場合に、ステータスを、トリガ信号が生成されるまでデータの書き込みを許可するワンタイムプログラム状態に変更することを特徴とする。
データの書き込みは、トリガ信号が生成されるまで許可されるので、データの書き込みが実行される前に書込禁止状態に遷移することや、データの書き込み途中で書込禁止状態に遷移すること等を防止できる。
【符号の説明】
【0061】
100…情報処理装置、110…CPU、120…ROM、130…RAM、140…外部I/F、150…入出力I/F、160…表示I/F、170…バス、180…入出力装置、190…表示装置、200…外部記憶装置(記憶装置)、210…コントローラ(プロセッサ)、220…ROM、230…DRAM、240…フラッシュメモリアレイ(記憶手段、不揮発性メモリ)、250…ホストI/F、260…バス、270…リセットIC、300…制御部、310…全体制御部、320…シーケンス制御部、330…ECC制御部、340…ホストI/F制御部、350…メモリI/F制御部、360…書込制御部、361…設定部(設定手段)、362…ステータス管理部(ステータス管理手段)、363…書込部(書込手段)、410…一時記憶部、420…設定記憶部(設定記憶手段)、430…記憶部(記憶手段、不揮発性メモリ)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10