JP4141069B2 - Data storage method, data storage unit, and computer-readable recording medium - Google Patents

Data storage method, data storage unit, and computer-readable recording medium Download PDF

Info

Publication number
JP4141069B2
JP4141069B2 JP26781699A JP26781699A JP4141069B2 JP 4141069 B2 JP4141069 B2 JP 4141069B2 JP 26781699 A JP26781699 A JP 26781699A JP 26781699 A JP26781699 A JP 26781699A JP 4141069 B2 JP4141069 B2 JP 4141069B2
Authority
JP
Japan
Prior art keywords
data
storage device
storage unit
processing unit
sensor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP26781699A
Other languages
Japanese (ja)
Other versions
JP2000148597A (en
Inventor
モトヤマ テツロウ
益義 谷内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Publication of JP2000148597A publication Critical patent/JP2000148597A/en
Application granted granted Critical
Publication of JP4141069B2 publication Critical patent/JP4141069B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen

Description

【0001】
【発明の属する技術分野】
本発明はデータストレージシステムに関し、より詳細には、ファイルの保全性および安全性を保証する、データの保存技術に関する。
【0002】
【従来の技術および発明が解決しようとする課題】
大部分のコンピュータシステムは、データを保存・保持するために任意の種類の不揮発性ストレージ(non-volatile storage)を含んでいる。不揮発性ストレージは、電源がオフにされた場合であっても、その保存内容を保持することが可能な記憶媒体を提供するものである。なお、不揮発性ストレージの一般的な例には、フロッピー・ディスク,ハードディスクおよびテープ等が含まれる。
【0003】
大部分の種類の不揮発性ストレージは、特に冗長ストレージ(redundant storage )が使用される場合に比較的高い信頼性を提供する。また、不揮発性ストレージの性能は、不揮発性ストレージの種類に応じて大きく変化する。たとえばハードディスクは、従来より、アクセススピードの点においてフロッピー・ディスクやテープより高い性能を示す。また、不揮発性ストレージにデータを保存する際に使用されるプロセスは一般的に非破壊的なもの(たとえば記憶媒体を破壊して情報を保存するものではない)であるため、大部分の種類の不揮発性ストレージについては再利用することが可能である(たとえば、データを何度も書き込むことが可能)。
【0004】
ところで、データファイル形式のデータを不揮発性ストレージから削除しようとする場合、不揮発性ストレージにおいてはデータファイルに関連するディレクトリ情報が単に更新されるだけであり、データファイルそのものは変更されていないことが通常である。たとえば、多くのコンピュータシステム上におけるデータファイルの削除処理は、ファイルディレクトリまたはファイルアロケーションテーブルからファイル名を削除することによって実行される。これにより、他のデータを保存するために利用されるデータファイルで占有可能な記憶位置が作成される。
【0005】
しかしながら、そのデータファイルは不揮発性ストレージ上に未だ存在しており、他のデータをそのデータファイルに上書してしまわない限り、そのデータファイルは回復可能な状態にある。したがって、このアプローチは、特定のデータのコピーがオリジナルコピー(原本)であるか否かを知ることを困難にすると共に、第三者によるデータの取得行為に対してデータを無抵抗なものにしてしまう。
【0006】
さらに、別の種類の不揮発性ストレージとして、データの書き込みは1回だけであるが、必要な回数読み出しできるようにしたものがある。この種類の不揮発性ストレージは、通常、WORM(write once, read many )記憶媒体と呼ばれている。このWORM不揮発性ストレージデバイスの一般的な例としては、光ディスクがある。この種類の記憶媒体は、たとえば医学的な記録やビジネスの記録のように一度だけ書き込まれ、複数回読み出されることがあるようなデータをアーカイブするために有効である。したがって、WORM不揮発性ストレージデバイスにおいては、データの更新または上書きが不可能であることから、特定のデータのコピーがオリジナルコピー(原本)であるということが保証される。
【0007】
しかしながら、WORMシステムおよび従来のリード/ライト(読み出し/書き込み)ストレージシステムには、データの変更に対して無防備であるという不都合な点がある。あるデータのユーザにとっては、そのデータを使用する際に、そのデータがオリジナル(原本)であるか、未知のソースによって変更されたものであるかについては知る由もない。たとえば、ディスクストレージサブシステムにおいては、権限のない者であってもディスクドライブを取り去り、また、ディスクドライブに保存されている情報を変更し、横取りし、またはコピーすることが可能である。
【0008】
加えて、ストレージシステムに保存されている情報は、長時間経過すると保存しておくには好ましくないものとなってしまうことがある。したがって、ある状況において、古い情報を期限切れにし(たとえばストレージシステムから削除し)、利用できないようにするための方法を準備しておくことが好ましい。このような情報の例としては会社の記録がある。この会社の記録は、会社の方針に従ってたとえば5年後に廃棄される。
【0009】
このように、データを安全に保存・保持する必要性と従来のアプローチの限界に基づけば、特定のデータのコピーが原本であるという比較的高い保証を与えることが可能なデータの保存方法の実現が非常に望まれる。
【0010】
【課題を解決するための手段】
前述した必要性および目的や、以下の説明によって明らかにされる他の必要性および目的は、その一面としてデータの保存方法を含む本発明によって満たされ、かつ実現される。このデータの保存方法は、データをストレージユニットに保存する工程と、そのストレージユニットに許可のないアクセスがあったことを示すタンパ信号(tamper signal )を検知する工程と、タンパ信号を検知した場合に、所定の値をそのデータに上書きすることによって、ストレージユニットに保存されているデータを消去する工程と、を含むものである。
【0011】
本発明の他の面によれば、データを保存するデータストレージユニットが提供される。データストレージユニットは、第1の不揮発性ストレージデバイスと、第1の不揮発性ストレージデバイスに通信できるように接続された処理ユニットとを備え、処理ユニットが、第1の不揮発性ストレージデバイスに対する不正行為があったか否かを判定し、不正行為があったと判定した場合、所定の値をデータに上書きすることによってそのデータを消去するものである。
【0012】
すなわち、請求項1のデータの保存方法は、不揮発性ストレージデバイスにデータを保存するデータストレージユニットのデータの保存方法であって、前記データストレージユニットは、前記データストレージユニットに対する許可のないアクセスを検出するセンサと、前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、前記処理ユニットは、前記電源に障害が発生した場合に、前記バックアップ電源から前記データストレージユニットへの電力の供給を開始する工程と、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止する工程と、前記センサにより前記データストレージユニットに対するアクセスを検出する工程と、前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去する工程と、を含むものである。
【0013】
また、請求項2のデータの保存方法は、請求項1に記載のデータの保存方法において、前記処理ユニットが、さらに、前記電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可する工程を含むものである。
【0014】
また、請求項3のデータストレージユニットは、不揮発性ストレージデバイスにデータを保存するデータストレージユニットであって、前記データストレージユニットに対する許可のないアクセスを検出するセンサと、前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、前記処理ユニットは、前記電源に障害が発生した場合に、前記バックアップ電源から前記データストレージユニットへの電力の供給を開始し、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止し、前記センサにより前記データストレージユニットに対するアクセスを検出し、前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去するように構成されているものである。
【0015】
また、請求項4のデータストレージユニットは、請求項3に記載のデータストレージユニットにおいて、前記処理ユニットは、さらに、前記電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可するように構成されているものである。
【0016】
また、請求項5のコンピュータ読み取り可能な記録媒体は、不揮発性ストレージデバイスにデータを保存するデータストレージユニットに前記データを保存するための一以上の命令の一以上のシーケンスを有するコンピュータ読み取り可能な記録媒体であって、前記データストレージユニットは、前記データストレージユニットに対する許可のないアクセスを検出するセンサと、前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、前記一以上の命令の一以上のシーケンスは、一以上のプロセッサによって実行される場合に、前記一以上のプロセッサに対し、前記処理ユニットが、前記電源に障害が発生した場合に、前記バックアップ電源から前記データストレージユニットへの電力の供給を開始する手順と、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止する手順と、前記センサにより前記データストレージユニットに対するアクセスを検出する手順と、前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去する手順と、を実行させる命令を含むものである。
【0017】
また、請求項6のコンピュータ読み取り可能な記録媒体は、請求項5に記載のコンピュータ読み取り可能な記録媒体において、前記処理ユニットが、さらに、前記電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可する手順実行させる命令を含むものである。
【0034】
【発明の実施の形態】
以下においては、あくまでも本発明の説明を目的として特定の具体例を明らかにすることにより、本発明を完全に理解できるようにする。しかし、このような特定の具体例がなくても、本発明が実施可能であることは明らかとなるであろう。なお、いくつかの場合においては、公知の構成および装置をブロック図の形式で示すことにし、発明を不必要に不明瞭にすることを避けることにしている。
【0035】
〔概 要〕
ここでは、データを保存して保持すると共に、そのデータにアクセスするためのアプローチについて説明する。一面において、データはストレージユニットに保存され、所定の時間が経過すると消去される。他の面において、ストレージユニットに対して何らかの不正行為が行われた場合にデータが消去される。さらに他の面において、ストレージユニット内の不揮発性ストレージに何らかの障害が発生した場合にデータが消去される。他のアプローチは、データを永久に保存し、認証することが可能なハードウエアのストレージユニットを含むものである。
【0036】
すなわち、このアプローチは、安全なハードウエアインターフェースおよびソフトウエアインターフェースを有し、それ自身のオペレーティングシステムを備えたデバイスを構築することである。このインターフェースは、データの変更が認められないということを保証する。このように、本発明はデータが本物(原本)であることが重要事項とされる装置において使用することが可能である。以下に、前述した各面について詳細に説明することにする。
【0037】
〔システムの概要〕
図1は、データを保存するためのシステム100を示す図である。図1において、一以上のステーション(station )102は、ネットワーク104を介して互いに接続されている。各ステーション102は、コンピュータ,ワークステーションまたは他の類似の処理機構で構成される。たとえば、各ステーション102は、一実施の形態として図13に示すような種類の汎用コンピュータシステムで構成可能なものである。なお、ステーション102については後に説明する。また、各ステーション102について、クライアント/サーバ環境におけるクライアントに相当すると考えることができる。ネットワーク104を使用することにより、あるステーション102は他の全てのステーション102と通信することが可能となる。
【0038】
また、一以上のストレージユニット106が用意され、データを保存・保持することができるようになっている。このストレージユニット106をリンク108を介してネットワーク104に接続し、ネットワーク104に接続されているステーション102のような他のデバイスと共に動作するようにしても良い。リンク108としては、ストレージユニット106と他のデバイスとの間でデータのやりとりを行うことができるものであればいかなる種類の通信媒体を用いても良い。リンク108の例には、ネットワーク接続,イーサネット・LANもしくはWAN接続,またはあらゆる種類の無線伝送媒体が含まれる。
【0039】
また、リンク108を介してストレージユニット106をネットワーク104に接続することに代え、ストレージユニット106をローカルなリンク112を用いて特定のステーション102に直接接続することにしても良い。また、ストレージユニット106を他の構成で用いることも可能であり、たとえば、ストレージユニット106を特定の数のステーション102に直接接続し、特定のステーション102にローカル・ストレージを提供するようにしても良い。さらに、たとえばSCSIインターフェースのような、ステーションからストレージデバイスへのインターフェースでリンク112を構成することにしても良い。
【0040】
この構成において、各ステーション102は、ネットワーク104を介して適切なメッセージをやり取りすることにより、リンク108を介してストレージユニット106に情報を保存し、またはストレージユニット106から情報を検索して読み出すことが可能となる。
【0041】
また、システム100は、登録オーソリティ(registration authority)110を含んでいる。この登録オーソリティ110は、通信できるようにネットワーク104に接続されていると共に、後に詳細に説明するようにストレージユニット106の登録処理を実行する。
【0042】
〔ストレージユニット〕
図2は、ストレージユニット106を示すブロック図である。図2に示すように、ストレージユニット106は、一以上の不揮発性ストレージデバイス200および202を含んでいる。ここでは一実施の形態として二つの不揮発性ストレージデバイス200および202を用意し、データの冗長ストレージを提供することにしている。ただし、本発明は特定の数の不揮発性ストレージデバイス200,202に限定されるものではない(換言すれば、不揮発性ストレージデバイスは、参照符号200および202で示されるように二つに限定されるものではない)。ここでは、図3に示すように、データは不揮発性ストレージデバイス200および202の両方に書き込まれる。
【0043】
そのため、図4に示すように、不揮発性ストレージデバイス200および202の一方がたとえば障害の発生によって利用不可能となった場合、データは他方の不揮発性ストレージデバイス200または202に書き込まれる。なお、不揮発性ストレージデバイス200および202としてはいかなる種類のものを用いることにしても良く、その例としては一以上の磁気もしくは光ディスク,テープ,または電源がオフにされた場合であっても保存しているデータを保持可能な他の種類の不揮発性ストレージ等がある。
【0044】
また、ストレージユニット106は、図2にS1〜S4として示す一以上のセンサを含み、ストレージユニット106に対する許可のないアクセスを検知することを可能にしている。これらのセンサS1〜S4は、たとえばストレージユニット106内への侵入行為,権限なくストレージユニット106にアクセスする行為,または権限なくストレージユニット106をいじったり、使用不能にする行為等を検知するデバイスである。
【0045】
具体的に、センサS1〜S4は、機械的,電気・機械的または電気的デバイスであり、検知したイベントに応じて信号(本発明のタンパ信号に該当する)を生成するものである。たとえば、一実施の形態として、各センサS1〜S4を、ストレージユニット106のカバーが開けられた際に開きまたは閉じるマイクロスイッチで構成することにしても良い。なお、各センサS1〜S4は、リンク208を介して処理ユニット204に接続される。
【0046】
また、ストレージユニット106は処理ユニット204を含み、処理ユニット204はリンク108を介してストレージユニット106に対するデータの流れと、ストレージユニット106からのデータの流れとを制御すると共に、他の処理機能を実行するものである。また、処理ユニット204は、不揮発性ストレージデバイス200および202のオペレーションを制御する。制御するオペレーションには、リンク206を介し、不揮発性ストレージデバイス200および202にデータを書き込むオペレーションや、不揮発性ストレージデバイス200および202からデータを読み出すオペレーションが含まれる。
【0047】
また、処理ユニット204は、センサS1〜S4に対し、リンク208を介して通信できるように接続されている。なお、リンク206および208は、リンク108と同様のもので実現可能なものであり、処理ユニット204と不揮発性ストレージデバイス200および202との間でデータのやり取りを可能にすると共に、処理ユニット204とセンサS1〜S4との間でデータのやり取りを行うことを可能にしている。
【0048】
さらに、ストレージユニット106は、オプションとしてバックアップ電源210および212を含み、ストレージユニット106ならびにその構成要素、すなわち不揮発性ストレージデバイス200・202,処理ユニット204およびセンサS1〜S4等に電力を供給できるようにしている。理論的には、バックアップ電源210および212が実装されることによって、電力不足の場合にバックアップ電源210および212のいずれか一方がストレージユニット106の動作に十分な電力を供給することができる。
【0049】
たとえば、バックアップ電源210および212をバッテリまたは無停電電源(uninterruptible power supply; UPS )を使用することによって実現することにしても良い。なお、バックアップ電源210および212の一方を、処理ユニット204に対してバックアップ電力を供給するオンボード・バッテリ(onboard battery )とすることが好ましい。
【0050】
〔処理ユニット〕
図5は、処理ユニット204を示すブロック図である。処理ユニット204は、通信インターフェース300を含んでいる。この通信インターフェース300は、リンク108を介して処理ユニット204とストレージユニット106外部の他のデバイスとの間の通信を制御し、バッファリングし、かつ規制する。なお、この通信インターフェース300としては、たとえば、SCSI,IEEE1394またはイーサネットコントローラのようなI/Oコントローラを用いることができる。
【0051】
また、処理ユニット204はセンサコントローラ302を含んでいる。このセンサコントローラ302は、リンク208を介し、センサS1〜S4と処理ユニット204との間のインターフェースとなり、センサS1〜S4と処理ユニット204との間で通信を行えるようにする。なお、センサコントローラ302としては、たとえばアナログI/Oインターフェースを用いることができる。
【0052】
また、処理ユニット204は、リンク206を介して不揮発性ストレージデバイス200および202を制御する不揮発性ストレージコントローラ304を含んでいる。この不揮発性ストレージコントローラ304は、たとえばディスクコントローラである。また、処理ユニット204は、処理ユニット204およびここで説明されるその構成要素の動作を制御するプロセッサ306を含んでいる。このプロセッサ306は、たとえばマイクロプロセッサである。
【0053】
さらに、処理ユニット204は、RAMのような揮発性メモリ308を含んでおり、揮発性メモリ308はデータやプロセッサ306の命令を記憶するものである。また、処理ユニット204は、たとえばROM,PROM,EPROM,フラッシュメモリまたは他の種類のメモリ等のような不揮発性メモリ310を含んでいる。
【0054】
通信インターフェース300,センサコントローラ302,不揮発性ストレージコントローラ304,プロセッサ306,揮発性メモリ308および不揮発性メモリ310は、それぞれリンク312を介して通信できるように接続されており、これによってこれらの構成要素間で通信を行えるように構成されている。リンク312の例としては、通信バス,またはアドレスバスおよびデータバスの組み合わせが挙げられる。
【0055】
なお、処理ユニット204は、UNIXのようなリアルタイムオペレーティングシステム(OS)の制御の下で動作するものであることが好ましい。記憶されている一以上のプログラムはOSの下で動作し、ここでさらに説明するストレージユニット106のオペレーションおよびプロセスを管理する。
【0056】
〔不揮発性ストレージ〕
図6は、不揮発性ストレージデバイス200および202の内容を示す図である。各不揮発性ストレージデバイス200および202は、ストレージID情報400を含みまたは保存している。このストレージID情報400は、不揮発性ストレージデバイス200および202をユニークに(一意に)識別するためのものである。たとえば、ストレージID情報400は、不揮発性ストレージデバイス200および202のユニークなシリアルナンバーを含むものであっても良い。また、ストレージID情報400は、ストレージユニット106の登録処理の間に得られた情報、すなわちストレージユニット106を認証するために使用される情報を指定する。なお、ストレージユニット106を登録する処理については後に詳細に説明することにする。
【0057】
また、不揮発性ストレージデバイス200および202はディレクトリ情報402を含んでいる。このディレクトリ情報402は、不揮発性ストレージデバイス200および202上に保存されているデータ404に関する情報を指定するものである。一実施の形態によれば、データ404は複数のデータファイルを含んでおり、また、ディレクトリ情報402はデータ404のデータファイルに関する情報に対応し、かつその情報を指定する複数のディレクトリエントリ500を含んでいる。ファイル指向のストレージシステムは不要である。データ404はあらゆる種類の保存された情報であって良く、また、ディレクトリ情報402はデータ404について記述するものであればどのようなメタデータであっても良い。
【0058】
図9は、一実施の形態におけるディレクトリエントリ500の内容を示す図である。ディレクトリエントリ500は、対応するデータファイルの名称(ファイル名(File Name )502),対応するデータファイルの作成日付(作成日付(Creation Date )504),対応するデータファイルの有効期限が満了する日付(有効期限(Expiration Date )506)および特定のアプリケーションに応じて変更可能な他のファイル管理情報508を示すものである。なお、他のファイル管理情報は、たとえば、アプリケーション等に関連するファイルの種類である。
【0059】
また、ディレクトリエントリ500は複製情報(replication information )510の記述を含んでいる。複製情報510は、一以上のディレクトリエントリ512(R1,R2,・・・,RN)を示すことにより、ファイル名502のファイルに関連するデータファイルのソースを示している。各ディレクトリエントリ512は、ストレージID情報,複製日付,およびストレージIDのディレクトリパスによる親データの完全な履歴を含んでいる。なお、データのファイル名502はオリジナル(原本)から変更されることはなく、また、有効期限506のデータもコピーされる。
【0060】
なお、「有効期限」は、ここで使用されているように、関連するデータが無効または使用不可能とされる時間,日または日付を意味する。不揮発性ストレージデバイス200,202中の情報はOSによって管理される。
【0061】
〔有効期限満了後の消去〕
一実施の形態において、不揮発性ストレージデバイス200および202に保存されているデータは、特定の期間が経過すると消去される。このプロセスは、特定のデータを対象として実行されるものであり、このことは異なるデータは異なる期間にわたって不揮発性ストレージデバイス200および202上に存在していても良いということを意味している。また、異なるデータ毎に異なる有効期限を適用することにしても良い。さらに、一部のデータについては消去されないようにしても良く、すなわち無期限に不揮発性ストレージデバイス200および202上に存在するようにしても良い。
【0062】
図6,図9および図10において、ディレクトリ情報402に含まれているディレクトリエントリ500は、有効期限506が満了するに至ったか否かを判定するために調査される。この処理は、特定のディレクトリエントリ500の有効期限506と現在の日付とを比較することによって実行される。また、各ディレクトリエントリ500に有効期限506を保持させておくことに代え、各ディレクトリエントリ500に「保持期間(“time to keep" )」を保持させるようにし、作成日付504および「保持期間」の両方に基づいて有効期限を決定することにしても良い。また、代替的なアプローチは、全てのディレクトリの全てのエントリを巡回し、エントリの有効期限とシステムの時間および日付とをチェックするエージェントを持つことである。有効期限が経過している場合、エージェントは該当するエントリを削除する。
【0063】
図10は、データを消去するための好適な方法を示すフローチャートである。ステップS520において、現在の日付/時間値が取得される。たとえば、処理ユニット204は、処理ユニット204のオペレーションを制御する、オペレーティングシステムの機能をコールすることによって日付/時間値を要求し、それを取得する。これに代えて、プロセッサ306が直接問い合わせることが可能なクロックを処理ユニット204に含めることにしても良い。なお、現在の日付/時間値は、図10に示す方法を実行する現在の日,日付または時間を示すものである。また、現在の日付/時間値をCPUレジスタ,作業用記憶領域(scratchpad memory area)またはメインメモリのような一時的な記憶場所に記憶し、後で使用できるようにすることが好ましい。
【0064】
続いて、ステップS522において、一つのディレクトリエントリ500が選択され、処理される。一実施の形態において、ステップS522は不揮発性ストレージデバイス200,202中の全てのディレクトリエントリ500をシリアルにポーリングする処理(serial polling)を含む。また、ステップS522が、たとえばLRU法(least-recently-used )アルゴリズム,確率または統計のようなヒューリスティック・プロセス(heuristic process )に基づいてディレクトリエントリ500を選択する処理を含むようにしても良い。
【0065】
そして、ステップS524において、カレントのディレクトリエントリ(current directory entry )500によって表されるデータを消去するか否かが決定される。一実施の形態において、ステップS524は、ステップS520で取得した現在の日付/時間値がカレントのディレクトリエントリ500中に保存されている有効期限506の値以上であるか否かをテストする処理を含む。現在の日付/時間値が有効期限506の値以上である場合、そのカレントのディレクトリエントリ500は消去されることになる。
【0066】
特定のデータを消去すると判定されると、ステップS526に示すように、データ404からカレントのディレクトリエントリ500に関連するデータが消去される。そして、制御はステップS534に進む。その特定のデータが消去されると、ステップS534に示すように、ディレクトリエントリ500も消去される。なお、消去された特定のデータのコピーは同一の有効期限を含んでおり、かつその有効期限がチェックされることから、その特定のデータの全てのコピーもデータ404から消去されることになる。
【0067】
なお、一実施の形態によれば、ステップS526およびS534において、データ404からデータを消去すると共に、対応するディレクトリエントリ500をディレクトリ情報402から消去する処理は、所定の値をそのデータおよびディレクトリエントリ500に上書きすることによって実行される。適当と認められる所定の値の例は00Hであるが、所定の値として他の値を使用することにしても良い。
【0068】
ある従来のアプローチは、データそのものを消去することなく単にディレクトリエントリを消去するだけであったことから、消去したデータを回復させることが可能であった。これに対し、データが上書きされるとその回復はより困難なものとなるため、所定の値をデータに上書きすることによってより確実にそのデータを消去したものと考えられる。所定の値を上書きすることによって、データがデータ404から消去されると共に、対応するディレクトリエントリ500がディレクトリ情報402から消去されると、上書きされた領域は他のデータを保存するために使用されることになる。
【0069】
代替的な実施の形態においては、異なるデータ毎に異なる所定の値を用いて上書きが行われる。たとえば、不揮発性ストレージデバイス200上に存在している特定のデータファイルの有効期限506が、その特定のデータファイルが削除されるものであることを示しているものとする。また、その特定のデータファイルのコピーが、不揮発性ストレージデバイス202上に保持されているものとする。この場合において、不揮発性ストレージデバイス200上の特定のデータファイルには第1の所定の値が上書きされ、一方、不揮発性ストレージデバイス202上のその特定のデータファイルのコピーには第1の所定の値と異なる第2の所定の値が上書きされる。また、対応するディレクトリエントリ500に上書きするために、異なる所定の値を用いることにしても良い。
【0070】
一実施の形態において、図10のプロセスは処理ユニット204によって実行される。特に、プロセッサ306が、揮発性メモリ308および不揮発性メモリ310に保持されている一以上の命令を実行することによってこのプロセスを実行することにしても良い。これに対し、ストレージユニット106の外部の別のプロセスまたはネットワーク104に接続されているステーション102等により、ディレクトリ情報402中の各ディレクトリエントリ500を調査するプロセスを実行することにしても良い。このような場合において、他のプロセスまたはステーション102は、リンク108を通してストレージユニット106に問合せし、ディレクトリ情報402を取得することにしても良い。
【0071】
以上では、ストレージID情報400,ディレクトリ情報402およびデータ404が、不揮発性ストレージデバイス200および202上で一緒に保持されるものとして説明・図示することにしたが、これらの情報の一部を他とは別に他の記憶位置に保持させることにしても良い。たとえばディレクトリ情報402の一部または全てを処理ユニット204の揮発性メモリ308に保持しておくことにしても良く、これによりデータ404から削除する必要があるデータファイルを判定するために必要な時間を短縮することが可能となる。
【0072】
〔不揮発性ストレージデバイスに障害が発生した後の消去〕
別の実施の形態によれば、不揮発性ストレージデバイス200および202の一方に何らかの障害が発生した場合、データ404に含まれる全てのデータおよびディレクトリ情報402に含まれる全てのディレクトリエントリ500が前述したように消去される。そして、他方の不揮発性ストレージデバイス200または202が第1のストレージデバイス(primary storage device)として指定され、継続して使用される。
【0073】
障害が発生するような状況の一例は、両方の不揮発性ストレージデバイス200および202のアップデートが行われている際に、メディアの破損が不揮発性ストレージデバイス200および202の一方のアップデートを妨げるような場合である。不揮発性ストレージデバイス200および202が冗長ストレージを提供することから、障害が発生した不揮発性ストレージデバイス200または202からデータを削除することにより、不揮発性ストレージデバイス200および202が異なる(およびおそらく有効な)データを含まないようにする。
【0074】
図11は、不揮発性ストレージデバイスに何らかの障害が発生した場合に、その不揮発性ストレージデバイスのデータを消去するための好適な方法を示すフローチャートである。ステップS540において、不揮発性ストレージデバイスに何らかの障害が発生していることが検知される。たとえば、ステップS540が、パワーアップ・ルーチン(power-up routine)またはブートストラップ・ローダ・ルーチン(bootstrap loader routine)において電源異常または他の障害が生じていることを検知するステップを含むようにしても良い。
【0075】
一実施の形態において、各不揮発性ストレージデバイス200,202は、マーカ値(marker value)を保存する専用の記憶場所を持つ。このマーカ値は、不揮発性ストレージデバイス200,202が問題なくシャットダウンされたことを示す予め定められた値である。不揮発性ストレージデバイス200,202が問題なくシャットダウンされる場合に、予め定められたマーカ値が専用の記憶場所に保存される。
【0076】
一方、不揮発性ストレージデバイス200,202が起動される場合に、予め定められたマーカ値がチェックされ、そして異なる値が上書きされる。したがって、予想外の障害(たとえば異常終了)が起こると、専用の記憶場所にはマーカ値が含まれていないことになり、それによって不揮発性ストレージデバイス200,202に障害が発生したことが検知される。
【0077】
ある障害の発生が検知された場合、ステップS542において複数のディレクトリエントリ500の中から次のディレクトリエントリ500が選択される。一実施の形態において、ステップS542は、不揮発性ストレージデバイス200,202中の全てのディレクトリエントリ500をシリアルにポーリングするステップを含んでいる。また、ステップS542は、LRU法(least-recently-used )アルゴリズム,確率または統計のようなヒューリスティック・プロセス(heuristic process )に基づいてディレクトリエントリ500を選択するステップを含むようにしても良い。
【0078】
そして、ステップS544において、カレントのディレクトリエントリ500と関連付けられるデータの全てが、たとえば所定の値をそれらのデータに上書きすることによって消去される。そして、ステップS552において、カレントのディレクトリエントリ500は、たとえばそれに所定の値を上書きすることによって消去される。必要な場合、ディレクトリそのものも消去される。
【0079】
続いて、ステップS554において、さらなるディレクトリエントリ500が不揮発性ストレージデバイス200,202のディレクトリ情報402中に存在するか否かが判定される。存在すると判定された場合、ステップS542〜S552が、さらなるディレクトリエントリ500それぞれ対して繰返し実行される。
【0080】
任意のステップS556において、他の不揮発性ストレージデバイス200または202がストレージユニット106の第1の(primary )ストレージデバイスとして指定される。このような指定は、ストレージユニット106が障害のない不揮発性ストレージデバイス200または202を対象として読み出し/書き込みオペレーションを継続するということを意味する。このように、ストレージユニット106は使用可能なままであるが、ストレージユニット106内の障害が発生した不揮発性ストレージデバイス200または202は使用不可能とされる。
【0081】
障害が発生した不揮発性ストレージデバイス200または202のデータが消去されると、障害が発生した不揮発性ストレージデバイス200または202を再初期化するようにしても良い。障害が発生した不揮発性ストレージデバイス200または202がうまく再初期化されると、障害が発生しなかった不揮発性ストレージデバイス200または202に保存されているデータを回復した不揮発性ストレージデバイス200または202にコピーすることができる。障害が発生した不揮発性ストレージデバイス200または202をうまく再初期化することができなかった場合、障害が発生しなかった不揮発性ストレージデバイス200または202のデータを別のストレージユニット106の不揮発性ストレージデバイスにコピーすることにしても良い。
【0082】
不揮発性ストレージデバイス200および202に同時に障害が発生する可能性は非常に低いため、冗長不揮発性ストレージデバイス200,202を使用することにより、非常に高いデータの信頼性を提供することができる。さらなるデータの信頼性を提供するため、冗長不揮発性ストレージデバイス200および202をそれぞれ含む他の複数のストレージユニット106を使用して、さらなる冗長性を提供することもできる。
【0083】
〔不正の防止(tamper protection )〕
一実施の形態によれば、ストレージユニット106は不正行為から保護される。センサS1〜S4は、リンク208を通して処理ユニット204によって監視されており、ストレージユニット106に対する不正行為を検知する。センサS1〜S4の選択および配置については特定のアプリケーションの要件によって決定されるものではあるが、一般に、シールを破壊すること、密封された仕切りを開くこと、その他、ストレージユニット106に力ずくで侵入すること等を通じてストレージユニット106に対する許可のないアクセスを検知するように設計される。
【0084】
センサS1〜S4がストレージユニット106に対する許可のないアクセスを検知した場合、センサS1〜S4はタンパ信号(tamper signal ;すなわち、ストレージユニット106に対する不正を検知したことを示す信号)を処理ユニット204に入力する。処理ユニット204は、タンパ信号に応じて、前述した方法で不揮発性ストレージデバイス200および202からストレージID情報400,ディレクトリ情報402およびデータ404を消去する。これにより、ストレージユニット106に保存されているデータが許可なく使用されることが防止される。
【0085】
図12は、ストレージユニット106に不正行為が行われた場合に、不揮発性ストレージデバイス200および202の記憶内容を消去する好適な方法を示すフローチャートである。ステップS560において、たとえばストレージユニット106に不正を働くこと,ストレージユニット106に侵入すること,ストレージユニット106を空けること等のようなストレージユニット106に対する外乱が検知される。たとえば、ステップS560が、一以上のセンサS1〜S4が作動され、または検知信号を生成していることを検知するステップを含むことにしても良い。
【0086】
不正行為が検出された場合、ステップS562において、複数のディレクトリエントリ500の中からつぎのディレクトリエントリ500が選択される。一実施の形態において、ステップS562は不揮発性ストレージデバイス200,202の全てのディレクトリエントリ500に対してシリアルにポーリングするステップを含む。また、ステップS562は、たとえばLRU法(least-recently-used )アルゴリズム,確率または統計のようなヒューリスティック・プロセスに基づいてディレクトリエントリを選択するステップを含むものであっても良い。
【0087】
続いて、ステップS564において、カレントのディレクトリエントリ500に関連する全てのデータは、たとえば所定の値をそれらのデータに上書きすることによって消去される。また、ステップS572において、カレントのディレクトリエントリ500は、たとえば所定の値をそれに上書きすることによって消去される。また、必要な場合には、ディレクトリそのものも消去される。
【0088】
そして、ステップS574において、さらなるディレクトリエントリ500が不揮発性ストレージデバイス200,202のディレクトリ情報402に存在するか否かが判定される。さらなるディレクトリエントリ500が存在すると判定された場合、各ディレクトリエントリ500についてステップS562〜S572までの処理が繰り返し実行される。
【0089】
一実施の形態において、ステップS562または他のステップが、権限を有する者に対する警告を生成して、不正行為が発生し、消去のオペレーションが実行されたことを知らせるステップを含むようにしても良い。たとえば、ステップS562において、処理ユニット204は所定のステーション102に対するメッセージを生成し、不正行為が検出され、消去オペレーションが進行中であることをそのステーション102に通知することにしても良い。
【0090】
別の実施の形態によれば、電源異常(たとえば停電)の場合に、バックアップ電源210および212は、センサS1〜S4を含むストレージユニット106に電力を供給する。ところが、不揮発性ストレージデバイス200および202は、パワーセーブモードで動作する。パワーセーブモードで動作する場合、不揮発性ストレージデバイス200および202に対する通常の書き込みおよび読み出しオペレーションは電力を節約するために禁止される。電源が回復すると、不揮発性ストレージデバイス200および202に対する書き込みおよび読み出しオペレーションが続けられることになる。
【0091】
ただし、ストレージユニット106がパワーセーブモードで動作している間であろうとも、センサS1〜S4がストレージユニット106に対する許可のないアクセスを検出した場合にあっては、利用可能な全ての電力を利用して前述したように不揮発性ストレージデバイス200および202からストレージID情報400,ディレクトリ情報402およびデータ404が消去される。このように、単にストレージユニット106の電源を切ることによるのみでは、消去プロセスの実行を回避することは不可能である。
【0092】
〔ストレージユニットの登録〕
一実施の形態によれば、ストレージユニット106は、ストレージユニット106の認証を行うために登録オーソリティ110に登録される。このアプローチによると、各ストレージユニット106は、登録オーソリティ110にユニークなストレージユニット識別子値を与えることによって登録オーソリティ110に登録される。これに応じて、登録識別子値が登録オーソリティ110によって与えられ、不揮発性ストレージデバイス200および202のストレージID情報400中に保存される。
【0093】
このようにしてストレージユニット106が登録されると、ステーション102は、特定のストレージユニット106の登録識別子値をリクエストし、そして登録オーソリティ110で登録識別子値が有効であることを確認することにより、特定のストレージユニット106が登録オーソリティ110に登録されていることを確認することができる。これにより、特定のストレージユニット106に保存されているデータがオリジナル(原作)で真性であることが保証される。
【0094】
図7は、ヘッダ・セグメント422、デバイス・メーカー・セグメント424およびシリアル・ナンバー・セグメント426を有する登録識別子値420の好適な例を示す図である。
【0095】
ヘッダ・セグメント422は、登録オーソリティ110を特定するものである。たとえば、ヘッダ・セグメント422は、ストレージユニット106またはOSのコンテクスト内において、登録オーソリティ110と一意的に関連付けられる所定の値を含む。デバイス・メーカー・セグメント424は、一意的にストレージユニット106のメーカまたはブランド名を特定するものである。このデバイス・メーカー・セグメント424は、特定のメーカを一意に特定するメーカ名またはコード番号であっても良い。また、シリアル・ナンバー・セグメント426は、ストレージユニット106のシリアル・ナンバーを含むものである。
【0096】
図8は、データベース111の説明図である。データベース111は、一以上の行462を有する少なくとも一つのテーブル460を備えている。各行462は一つのストレージユニット106に対応する。テーブル460は、メーカーまたはブランド名の値、シリアルナンバー値および割当て日付の値を格納する列464〜468を有している。各割当て日付の値は、あるストレージユニット106に相当する行がテーブル460に加えられた日付けを特定するものである。
【0097】
〔データのオリジナリティ〕
ある状況においては、あるデータを変更しないようにし、または削除しないようにすることによって、ストレージユニット106に保存されているそのあるデータのオリジナリティおよびユニークさを保つようにすることが好ましい場合がある。このようにすることにより、ストレージユニット106は、あるデータが最初に書き込まれた時から変更されていないことを外部のプロセスまたはデバイスに「保証する(guarantee )」ことができる。
【0098】
一実施の形態においては、あるデバイスから別のデバイスにデータをコピーする場合に、追跡記録(audit trail )が生成される。図9に示すように、各複製エントリ(R1,R2,…,RN)は、複製日付514ならびにストレージID情報516およびディレクトリエントリ512を含むソース情報を記述するものである。ソース(source)・デバイスからディスティネーション(destination )・デバイスへデータを複写するために、ファイル情報やソース・デバイスのスペックと共に、複製コマンドがディスティネーション・デバイスに対して発行される。
【0099】
そして、ディスティネーション・デバイスはソース・デバイスに対して特別な読出コマンドを発行し、ソース・デバイスからディスティネーション・デバイスに転送される際にデータが変更されてしまうことを避けることができるように、そのデータが暗号化される。
【0100】
したがって、一実施の形態によれば、ストレージユニット106に保存されているあるデータは一度だけ書き込まれ、決して変更されていないことを保証するためのアプローチが提供されることになるが、そのあるデータが読み出し専用(read-only )として無制限の回数読み出しできるものであっても良い。このアプローチは特定のデータを対象とするものであって、保存されている全てのデータを読み出し専用データとして保持することを要求するものではない。
【0101】
一実施の形態においては、読み出し専用データが不揮発性ストレージデバイス200および202に保存された後、読み出し専用データに関連するディレクトリエントリ500がアップデートされ、関連するデータが読み出し専用データであり、かつ、決して上書きまたは変更されることがないものであることが示される。このアップデートは、保存されているデータがユニーク(固有)かつ、不変なものであることを他のデバイスやプロセスに宣言するというように作用する。たとえば、読み出し専用データが不揮発性ストレージデバイス200および202に書き込まれた後、読み出し専用データと関連付けられるディレクトリエントリ500の他のファイル管理情報508は、関連付けられたデータが読み出し専用であって変更されることがないということを表すように更新される。
【0102】
その後、不揮発性ストレージデバイス200および202のデータが変更されることになる場合、そのデータと関連付けられているディレクトリエントリ500が調査され、その特定のデータが読み出し専用であるか否かが判定される。読み出し専用ではない場合、関連付けられているデータはここで説明されるように変更される。一方、読み出し専用である場合、関連付けられているデータおよびディレクトリエントリ500は変更されることはない。
【0103】
オリジナリティを保証する別の方法としては、特定の不揮発性ストレージデバイス上で実行可能な書込みコマンドを制限するというものがある。たとえば、不揮発性ストレージデバイスに保存されているファイルがオリジナリティを保証するために認証されたファイルであるとして保持されている状況に関連して、その不揮発性ストレージデバイスが書き込みのための特別なステータスを要求することにしても良い。特別な書き込みステータスがないと、同一ファイル名が不揮発性ストレージデバイスに存在する場合に書き込みコマンドは失敗に終わることになる。
【0104】
このアプローチは、有効期限に基づく消去処理,不正行為に基づく消去処理および障害の発生に基づく消去処理を含む、ここで説明されるあらゆるアプローチに適用することができるものである。このアプローチは、保存されているデータの有効性を保証する方法を提供し、その結果、保存されているデータの信頼性の向上、たとえば法的な証拠としてのデータの信頼性の向上が図られる。また、データの内容およびユニークさも保証される。
【0105】
〔コンピュータシステムの概要〕
図13は、本発明の各面を実現するために使用可能なコンピュータシステムを示すブロック図であり、たとえば、処理ユニット204の代替的な実施の形態を示すものである。処理ユニット204は情報通信のためにバス602または他の通信機構を含み、プロセッサ604は情報を処理するためにバス602と接続されている。また、処理ユニット204は、たとえばランダムアクセスメモリ(RAM)または他の動的ストレージデバイスのようなメインメモリ606を含み、メインメモリ606は、情報やプロセッサ604によって実行される命令を保存するためにバス602に接続されている。
【0106】
また、メインメモリ606を使用して、プロセッサ604によって実行される命令の実行中に一時変数または他の中間情報を格納することにしても良い。さらに、処理ユニット204は、静的な情報やプロセッサ604に対する命令を記憶するためにバス602に接続されたリードオンリーメモリ(ROM)608または他の静的なストレージデバイスを含んでいる。また、ストレージデバイス610は、たとえば磁気ディスクや光ディスクであり、バス602に接続されて情報および命令を記憶できるようになっている。
【0107】
また、処理ユニット204を、たとえばCRTのようなコンピュータのユーザに情報を表示するためのディスプレイ612にバス602を通して接続するようにしても良い。英数字および他のキーを含む入力デバイス614は、バス602に接続されてプロセッサ604に情報およびコマンド選択を送信できるようになっている。別の種類のユーザ入力装置は、マウス,トラックボールまたはカーソル方向キーのようなカーソルコントロール616であり、これは方向の情報やコマンド選択をプロセッサ604に送信すると共に、ディスプレイ612上のカーソルの動きを制御する。このような入力装置は、一般に、第1の軸(たとえばx)および第2の軸( たとえばy) という二つの軸において2つの自由度を持つことにより、平面における位置を指定することを可能にしたものである。
【0108】
本発明はストレージユニット106を使用してデータを保存する技術に関連するものである。一実施の形態においては、メインメモリ606に保存されている一以上の命令の一以上のシーケンスをプロセッサ604が実行することに応じて、処理ユニット204によってデータを保存し、保持する処理が実行される。このような命令は、ストレージデバイス610のような別のコンピュータ読み取り可能な媒体からメインメモリ606に読み込まれるものであっても良い。メインメモリ606に含まれる命令のシーケンスを実行することにより、プロセッサ604はここで説明したプロセスの各ステップを実行する。
【0109】
また、マルチプロセッシング構成における一以上のプロセッサを使用して、メインメモリ606に含まれる命令のシーケンスを実行することにしても良い。代替的な実施の形態として、ハードワイヤード回路をソフトウエア命令の代わりに、またはソフトウエア命令と組み合わせて使用することにより、本発明を実現することも可能である。したがって、本発明の各実施の形態はハードウエアおよびソフトウエアの特定の組み合わせに限定されるものではない。また、命令は、ソフトウエアエージェント,プロセス,サブルーチンまたはプログラムとして構成可能である。
【0110】
ここで使用される「コンピュータ読み取り可能な媒体」という用語は、プロセッサ604に命令を与えて実行させることに関与するあらゆる媒体を指す。このような媒体は、不揮発性媒体,揮発性媒体および伝送媒体を含む多くの形態を取ることが可能なものである。ただし、このような形態に限定されるものではない。たとえば、不揮発性媒体は、ストレージデバイス610のような光または磁気ディスクを含むものである。
【0111】
また、揮発性媒体は、メインメモリ606のようなダイナミックメモリを含むものである。さらに、伝送媒体は、同軸ケーブル,銅線および光ファイバを含むものであり、バス602を構成するワイヤを含むものである。なお、伝送媒体は、電波および赤外線通信時に生成されるような音波または光波のような形態をとることができる。
【0112】
また、コンピュータ読み取り可能な媒体の一般的な形態には、たとえば、フロッピーディスク,フレキシブルディスク,ハードディスク,磁気テープもしくは他の磁気媒体,CD−ROMや他のあらゆる光学媒体,パンチカード,紙テープもしくは穴によるパターンを有する他のあらゆる物理的な媒体,RAM,PROMおよびEPROM,FLASH−EPROM,他のあらゆるメモリチップもしくはカートリッジ,後述する搬送波,またはコンピュータが読み出し処理を行うことが可能な他のあらゆる媒体が含まれる。
【0113】
様々な形式のコンピュータ読み取り可能な媒体が、プロセッサ604で実行するための一以上の命令の一以上のシーケンスを保持するために必要とされる。たとえば、リモートコンピュータの磁気ディスク上に最初に命令が保持されることにしても良い。リモートコンピュータは、命令をそのダイナミックメモリにロードし、モデムを使用することにより電話回線を介して命令を送信することができる。処理ユニット204内部のモデムは電話回線を介してデータを受信し、赤外線送信機を使用してデータを赤外線信号に変換することができる。
【0114】
バス602に接続されている赤外線検出器は、赤外線信号で運ばれているデータを受信し、バス602に送出することができる。バス602はデータをメインメモリ606に運び、プロセッサ604はそこから命令を読み出して実行する。メインメモリ606で受信された命令を、プロセッサ604による実行の前か後にストレージデバイス610にオプションとして保存するようにしても良い。
【0115】
また、処理ユニット204は、バス602に接続された通信インターフェース618を含んでいる。通信インターフェース618は、ローカルネットワーク622に接続されているネットワークリンク620に対し、双方向データ通信カップリングを提供する。たとえば、通信インターフェース618をISDN(Integrated Services Digital Network )カードまたはモデムで構成することにし、対応する種類の電話回線に対してデータ通信接続を提供するようにしても良い。
【0116】
別の例として、通信インターフェース618をローカルエリアネットワーク(LAN)カードで構成することにし、互換LANにデータ通信接続を提供するようにしても良い。また、無線リンクを実装することにしても良い。どのようなインプリメンテーションにおいても、通信インターフェース618は、様々な種類の情報を表すディジタルデータのストリームを伝送する電気的,電気磁気的または光学的信号を送信し、かつ受信する。
【0117】
ネットワークリンク620は、概して、データ通信を一以上のネットワークを介して他のデータデバイスに提供するものである。たとえば、ネットワークリンク620は、ローカルネットワーク622を介してホストコンピュータ624またはインターネットサービスプロバイダ(ISP)626によって管理されているデータ機器に対する接続を提供する。ISP626は、現在一般に「インターネット」628と呼ばれる世界的なパケットデータ通信網を介してデータ通信サービスを提供するものである。
【0118】
ローカルネットワーク622およびインターネット628の両方とも、電気信号,電気磁気信号または光信号を使用してディジタルデータのストリームを搬送するものである。様々なネットワークを経る信号,ならびにネットワークリンク620上および通信インターフェース618を経る信号は、処理ユニット204にディジタルデータを搬送し、または処理ユニット204からディジタルデータを搬送するものであり、情報を搬送する搬送波に関する例示的な形態である。
【0119】
処理ユニット204は、一以上のネットワーク,ネットワークリンク620および通信インタフェース618を通して、プログラムコードを含むメッセージを送信し、かつプログラムコードを含むデータを受信することができる。インターネットの例において、サーバ630は、インターネット628,ISP626,ローカルネットワーク622および通信インタフェース618を通して、リクエストされたアプリケーションプログラムのコードを伝送することも可能である。このようにダウンロードされたアプリケーションは、ここで説明したようにデータを保存し、保持する処理を実行する。
【0120】
データが受信された場合および/または後に実行するためにストレージデバイス610もしくは他の不揮発性ストレージに保存された場合に、受信されたコードがプロセッサ604によって実行されるようにしても良い。このように、処理ユニット204は、搬送波の形態でアプリケーションコードを取得するものであっても良い。
【0121】
ここで記述される手法は、データを保存して保持することに関し、従来のアプローチを越えるいくつかの利点を与えるものである。特に、所定の値をデータに上書きすることでストレージユニット106からそのデータを消去するアプローチを採用することにより、そのデータの回復をより困難なものとする。不正行為を監視することにより、許可されていないアクセスからストレージユニット106を保護する。登録オーソリティ110を使用してストレージユニット106を登録することにより、ストレージユニット106に保存されているデータを認証する。
【0122】
さらに、データのオリジナリティを保つためのアプローチは、あるデータがストレージユニット106から読み出される場合にそのあるデータが一度だけ書き込まれたものであり、かつ変更が加えられたものではないことを保証する。同様に、データがストレージユニット106から消去される際に、読み出し専用データとして指定されているデータはストレージユニット106から消去されることはない。
【0123】
〔変形例〕
以上のように、ある特定の実施の形態に基づいて本発明を説明した。しかし、本発明のより広い精神および範囲から逸脱することなく、本発明に対して様々な設計変更を行うことが可能なことは明らかである。したがって、明細書および図面は、あくまでも例示としてみなされるものであって、本発明を限定することを意図するものではない。
【0124】
【発明の効果】
以上説明したように、本発明のデータの保存方法,データストレージユニットおよびコンピュータ読み取り可能な記録媒体によれば、少なくとも、不正行為からデータを保護することができるという効果を得ることができる。
【図面の簡単な説明】
【図1】データを保存・保持するシステムを示すブロック図である。
【図2】図1のシステムに含まれるストレージユニットを示すブロック図である。
【図3】図2のストレージユニットの一部を示すブロック図である。
【図4】図2のストレージユニットの一部を示すブロック図である。
【図5】図2〜図4のストレージユニットに含まれる処理ユニットを示すブロック図である。
【図6】図2〜図4のストレージユニットに含まれる不揮発性ストレージデバイスの内容を示すブロック図である。
【図7】登録識別子値を示す説明図である。
【図8】登録オーソリティのデータベースのテーブルを示す説明図である。
【図9】図6の不揮発性ストレージデバイスに含まれるディレクトリエントリの内容を示す説明図である。
【図10】有効期限に基づく消去プロセスを示すフローチャートである。
【図11】障害の発生に基づく消去プロセスを示すフローチャートである。
【図12】不正行為に基づく消去プロセスを示すフローチャートである。
【図13】本発明の実施の形態を実現可能なコンピュータシステムのブロック図である。
【符号の説明】
100 システム
102 ステーション
104 ネットワーク
106 ストレージユニット
108,112,206,208,312 リンク
110 登録オーソリティ
111 データベース
200,202 不揮発性ストレージデバイス
204 処理ユニット
210,212 バックアップ電源
300 通信インターフェース
302 センサコントローラ
304 不揮発性ストレージコントローラ
306 プロセッサ
308 揮発性メモリ
310 不揮発性メモリ
400,516 ストレージID情報
402 ディレクトリ情報
404 データ
420 登録識別子値
422 ヘッダ・セグメント
424 デバイス・メーカー・セグメント
426 シリアル・ナンバー・セグメント
460 テーブル
462 行
464〜468 列
500,512 ディレクトリエントリ
502 ファイル名
504 作成日付
506 有効期限
508 他のファイル管理情報
510 複製情報
512 ディレクトリエントリ
514 複製日付
602 バス
604 プロセッサ
606 メインメモリ
608 ROM
610 ストレージデバイス
612 ディスプレイ
614 入力デバイス
616 カーソルコントロール
618 通信インターフェース
620 ネットワークリンク
622 ローカルネットワーク
624 ホストコンピュータ
626 ISP
628 インターネット
630 サーバ
S1〜S4 センサ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to data storage systems, and more particularly to data storage that ensures file integrity and security. Skill About the art.
[0002]
[Background Art and Problems to be Solved by the Invention]
Most computer systems include any type of non-volatile storage to store and retain data. The non-volatile storage provides a storage medium that can retain the stored contents even when the power is turned off. Note that general examples of nonvolatile storage include floppy disks, hard disks, and tapes.
[0003]
Most types of non-volatile storage provide relatively high reliability, especially when redundant storage is used. In addition, the performance of the nonvolatile storage varies greatly depending on the type of the nonvolatile storage. For example, hard disks have a higher performance than floppy disks and tapes in terms of access speed. Also, the process used to store data in non-volatile storage is generally non-destructive (eg, not destroying storage media and storing information), so most types of Non-volatile storage can be reused (eg, data can be written many times).
[0004]
By the way, when deleting data in the data file format from the nonvolatile storage, the directory information related to the data file is merely updated in the nonvolatile storage, and the data file itself is usually not changed. It is. For example, data file deletion processing on many computer systems is performed by deleting a file name from a file directory or file allocation table. This creates a storage location that can be occupied by a data file used to store other data.
[0005]
However, the data file still exists on the non-volatile storage, and the data file is recoverable unless other data is overwritten on the data file. Therefore, this approach makes it difficult to know whether the copy of specific data is the original copy (original), and makes the data non-resistant to the act of obtaining data by a third party. End up.
[0006]
Furthermore, as another type of nonvolatile storage, there is one in which data is written only once but can be read as many times as necessary. This type of non-volatile storage is usually called a WORM (write once, read many) storage medium. A common example of this WORM nonvolatile storage device is an optical disk. This type of storage medium is useful for archiving data that may be written once and read multiple times, such as medical records or business records. Therefore, in the WORM nonvolatile storage device, data cannot be updated or overwritten, so that it is guaranteed that a copy of specific data is an original copy (original).
[0007]
However, the WORM system and conventional read / write (read / write) storage systems have the disadvantage of being vulnerable to data changes. A user of certain data has no way of knowing whether the data is original (original) or modified by an unknown source when using the data. For example, in a disk storage subsystem, even an unauthorized person can remove a disk drive and change, intercept or copy information stored in the disk drive.
[0008]
In addition, information stored in the storage system may become undesirable for storage after a long time. Therefore, in some situations, it is preferable to have a method for expiring old information (eg, deleting it from the storage system) and making it unavailable. An example of such information is a company record. This company record is discarded, for example, after five years, according to company policy.
[0009]
Thus, based on the need to securely store and retain data and the limitations of conventional approaches, data retention that can provide a relatively high assurance that a particular copy of the data is the original. Existence Realization of the law is highly desirable.
[0010]
[Means for Solving the Problems]
The need and purpose described above, as well as other needs and objectives that will become apparent from the description below, include data retention as an aspect. Existence It is met and realized by the present invention including law. Keep this data Existence The method includes a step of storing data in a storage unit, a step of detecting a tamper signal indicating that the storage unit has unauthorized access, and a predetermined value when a tamper signal is detected. And erasing data stored in the storage unit by overwriting the data.
[0011]
According to another aspect of the invention, data is preserved. Exist A data storage unit is provided. The data storage unit includes a first non-volatile storage device and a processing unit connected to be able to communicate with the first non-volatile storage device, and the processing unit performs an illegal act on the first non-volatile storage device. If it is determined whether or not there is an illegal act, the data is erased by overwriting the data with a predetermined value.
[0012]
That is, the data storage of claim 1 Existence The law is A data storage method for storing data in a nonvolatile storage device, wherein the data storage unit detects unauthorized access to the data storage unit, the nonvolatile storage device, and the sensor And a backup power supply capable of supplying power to the non-volatile storage device, the sensor, and the processing unit when a power failure occurs, the processing unit comprising: , Starting a power supply from the backup power source to the data storage unit when a failure occurs in the power source, writing the data to the non-volatile storage device, and from the non-volatile storage device Reading data A step of prohibiting the storage, a step of detecting an access to the data storage unit by the sensor, and a predetermined value stored in the nonvolatile storage device when an access to the data storage unit is detected. Erasing the data stored in the non-volatile storage device by overwriting the data; Is included.
[0013]
In addition, the data storage of claim 2 Existence The law provides data storage according to claim 1. Existence In law The processing unit further permits writing of the data to the nonvolatile storage device and reading of the data from the nonvolatile storage device after the power is restored The process to perform is included.
[0014]
The data of claim 3 Storage unit Is A data storage unit for storing data in a non-volatile storage device, wherein a sensor that detects unauthorized access to the data storage unit, a processing unit that controls the non-volatile storage device and the sensor, and a power failure A backup power supply capable of supplying power to the non-volatile storage device, the sensor, and the processing unit when the storage unit is generated, and the processing unit is Start supplying power from the backup power source to the data storage unit, prohibit writing of the data to the nonvolatile storage device and reading of the data from the nonvolatile storage device, and the data storage by the sensor Unit When access to the data storage unit is detected, a predetermined value is stored in the nonvolatile storage device by overwriting the data stored in the nonvolatile storage device. Configured to erase the data Is.
[0015]
The data of claim 4 Storage unit Is the data of claim 3 Storage unit In The processing unit is further configured to allow writing of the data to the nonvolatile storage device and reading of the data from the nonvolatile storage device after the power is restored. Is.
[0016]
Further, in claim 5 Computer-readable recording medium Is A computer-readable recording medium having one or more sequences of one or more instructions for storing the data in a data storage unit that stores data in a non-volatile storage device, the data storage unit comprising the data storage A sensor for detecting unauthorized access to a unit, the non-volatile storage device and a processing unit for controlling the sensor, and the non-volatile storage device, the sensor, and the processing unit when a power failure occurs A backup power source capable of supplying power to the processing unit, and when the one or more sequences of the one or more instructions are executed by the one or more processors, the processing unit If the power supply fails A procedure for starting power supply from the backup power source to the data storage unit; a procedure for prohibiting writing of the data to the nonvolatile storage device and reading of the data from the nonvolatile storage device; A procedure for detecting an access to the data storage unit by a sensor, and when an access to the data storage unit is detected, overwriting the data stored in the nonvolatile storage device with a predetermined value; A procedure for erasing the data stored in the storage device Is included.
[0017]
Further, in claim 6 The computer-readable recording medium according to claim 5, wherein the processing unit further writes the data into the nonvolatile storage device and the nonvolatile memory after the power supply is restored. To allow the data storage device to read the data The The instruction to be executed Is included.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
In the following, the present invention will be fully understood by clarifying specific examples for the purpose of explaining the present invention. However, it will be apparent that the present invention may be practiced without such specific examples. In some cases, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the invention.
[0035]
〔Overview〕
Here, an approach for storing and holding data and accessing the data will be described. In one aspect, the data is stored in the storage unit and erased after a predetermined time. In other aspects, the data is erased if any fraudulent activity is performed on the storage unit. In yet another aspect, data is erased when some failure occurs in the non-volatile storage in the storage unit. Another approach involves a hardware storage unit capable of permanently storing and authenticating data.
[0036]
That is, this approach is to build a device with a secure hardware and software interface and with its own operating system. This interface ensures that no data changes are allowed. As described above, the present invention can be used in an apparatus in which it is important that data is genuine (original). Below, each surface mentioned above is demonstrated in detail.
[0037]
[System Overview]
FIG. 1 is a diagram illustrating a system 100 for storing data. In FIG. 1, one or more stations 102 are connected to each other via a network 104. Each station 102 comprises a computer, workstation or other similar processing mechanism. For example, each station 102 can be configured by a general-purpose computer system of the type shown in FIG. 13 as an embodiment. The station 102 will be described later. Each station 102 can be considered as a client in a client / server environment. By using the network 104, a station 102 can communicate with all other stations 102.
[0038]
In addition, one or more storage units 106 are prepared and can store and hold data. The storage unit 106 may be connected to the network 104 via the link 108 and operate with other devices such as the station 102 connected to the network 104. As the link 108, any kind of communication medium may be used as long as it can exchange data between the storage unit 106 and another device. Examples of link 108 include a network connection, an Ethernet LAN or WAN connection, or any type of wireless transmission medium.
[0039]
Further, instead of connecting the storage unit 106 to the network 104 via the link 108, the storage unit 106 may be directly connected to the specific station 102 using the local link 112. In addition, the storage unit 106 can be used in other configurations. For example, the storage unit 106 may be directly connected to a specific number of stations 102 to provide local storage to the specific stations 102. . Further, the link 112 may be configured by an interface from a station to a storage device such as a SCSI interface.
[0040]
In this configuration, each station 102 can store or retrieve information from the storage unit 106 via the link 108 by exchanging appropriate messages via the network 104. It becomes possible.
[0041]
The system 100 also includes a registration authority 110. The registration authority 110 is connected to the network 104 so that it can communicate, and executes a registration process for the storage unit 106 as will be described in detail later.
[0042]
[Storage unit]
FIG. 2 is a block diagram showing the storage unit 106. As shown in FIG. 2, the storage unit 106 includes one or more non-volatile storage devices 200 and 202. Here, as one embodiment, two nonvolatile storage devices 200 and 202 are prepared to provide redundant storage of data. However, the present invention is not limited to a specific number of non-volatile storage devices 200, 202 (in other words, non-volatile storage devices are limited to two as indicated by reference numerals 200 and 202). Not a thing). Here, as shown in FIG. 3, data is written to both non-volatile storage devices 200 and 202.
[0043]
Therefore, as shown in FIG. 4, when one of the nonvolatile storage devices 200 and 202 becomes unavailable due to, for example, the occurrence of a failure, the data is written to the other nonvolatile storage device 200 or 202. It should be noted that any kind of non-volatile storage devices 200 and 202 may be used, such as one or more magnetic or optical disks, tapes, or even when power is turned off. There are other types of non-volatile storage that can hold the stored data.
[0044]
In addition, the storage unit 106 includes one or more sensors shown as S1 to S4 in FIG. 2 and can detect unauthorized access to the storage unit 106. These sensors S1 to S4 are devices that detect, for example, an intrusion action into the storage unit 106, an act of accessing the storage unit 106 without authority, or an act of tampering with the storage unit 106 without authorization or making it unusable. .
[0045]
Specifically, the sensors S1 to S4 are mechanical, electrical / mechanical, or electrical devices, and generate signals (corresponding to tamper signals of the present invention) according to detected events. For example, as one embodiment, each of the sensors S1 to S4 may be configured by a micro switch that opens or closes when the cover of the storage unit 106 is opened. Each sensor S1 to S4 is connected to the processing unit 204 via a link 208.
[0046]
The storage unit 106 also includes a processing unit 204, which controls the flow of data to and from the storage unit 106 via the link 108 and performs other processing functions. To do. The processing unit 204 also controls the operation of the nonvolatile storage devices 200 and 202. The operations to be controlled include an operation of writing data to the nonvolatile storage devices 200 and 202 via the link 206 and an operation of reading data from the nonvolatile storage devices 200 and 202.
[0047]
In addition, the processing unit 204 is connected to the sensors S1 to S4 so as to be able to communicate via the link 208. The links 206 and 208 can be realized by the same as the link 108, and allow data to be exchanged between the processing unit 204 and the nonvolatile storage devices 200 and 202. Data can be exchanged with the sensors S1 to S4.
[0048]
In addition, the storage unit 106 optionally includes backup power supplies 210 and 212 to supply power to the storage unit 106 and its components, ie, the non-volatile storage devices 200 and 202, the processing unit 204, and the sensors S1 to S4. ing. Theoretically, the backup power supplies 210 and 212 are mounted, so that one of the backup power supplies 210 and 212 can supply sufficient power for the operation of the storage unit 106 when power is insufficient.
[0049]
For example, the backup power sources 210 and 212 may be realized by using a battery or an uninterruptible power supply (UPS). Note that one of the backup power supplies 210 and 212 is preferably an onboard battery that supplies backup power to the processing unit 204.
[0050]
[Processing unit]
FIG. 5 is a block diagram showing the processing unit 204. The processing unit 204 includes a communication interface 300. The communication interface 300 controls, buffers, and regulates communication between the processing unit 204 and other devices outside the storage unit 106 via the link 108. As the communication interface 300, for example, an I / O controller such as SCSI, IEEE 1394, or Ethernet controller can be used.
[0051]
The processing unit 204 includes a sensor controller 302. The sensor controller 302 serves as an interface between the sensors S1 to S4 and the processing unit 204 via the link 208, and enables communication between the sensors S1 to S4 and the processing unit 204. For example, an analog I / O interface can be used as the sensor controller 302.
[0052]
The processing unit 204 also includes a non-volatile storage controller 304 that controls the non-volatile storage devices 200 and 202 via the link 206. This nonvolatile storage controller 304 is, for example, a disk controller. The processing unit 204 also includes a processor 306 that controls the operation of the processing unit 204 and its components described herein. The processor 306 is, for example, a microprocessor.
[0053]
Further, the processing unit 204 includes a volatile memory 308 such as a RAM, and the volatile memory 308 stores data and instructions of the processor 306. The processing unit 204 also includes a non-volatile memory 310 such as a ROM, PROM, EPROM, flash memory or other type of memory.
[0054]
The communication interface 300, the sensor controller 302, the non-volatile storage controller 304, the processor 306, the volatile memory 308 and the non-volatile memory 310 are connected so as to be able to communicate with each other via a link 312. It is configured to be able to communicate with. Examples of the link 312 include a communication bus or a combination of an address bus and a data bus.
[0055]
Note that the processing unit 204 preferably operates under the control of a real-time operating system (OS) such as UNIX. One or more stored programs run under the OS and manage the operations and processes of the storage unit 106 as further described herein.
[0056]
[Non-volatile storage]
FIG. 6 is a diagram showing the contents of the nonvolatile storage devices 200 and 202. Each nonvolatile storage device 200 and 202 includes or stores storage ID information 400. The storage ID information 400 is for uniquely identifying the non-volatile storage devices 200 and 202 (uniquely). For example, the storage ID information 400 may include unique serial numbers of the nonvolatile storage devices 200 and 202. The storage ID information 400 designates information obtained during the registration process of the storage unit 106, that is, information used for authenticating the storage unit 106. The processing for registering the storage unit 106 will be described in detail later.
[0057]
In addition, the non-volatile storage devices 200 and 202 include directory information 402. The directory information 402 specifies information related to data 404 stored on the nonvolatile storage devices 200 and 202. According to one embodiment, the data 404 includes a plurality of data files, and the directory information 402 includes a plurality of directory entries 500 corresponding to information about the data files of the data 404 and designating the information. It is out. A file-oriented storage system is not required. The data 404 can be any kind of stored information, and the directory information 402 can be any metadata that describes the data 404.
[0058]
FIG. 9 is a diagram showing the contents of the directory entry 500 in the embodiment. The directory entry 500 includes a name of a corresponding data file (file name 502), a creation date of the corresponding data file (creation date 504), and a date when the expiration date of the corresponding data file expires ( Expiration Date 506) and other file management information 508 that can be changed according to a specific application. The other file management information is, for example, a file type related to an application or the like.
[0059]
The directory entry 500 includes a description of replication information 510. The replication information 510 indicates one or more directory entries 512 (R1, R2,..., RN) to indicate the source of the data file related to the file with the file name 502. Each directory entry 512 includes a complete history of parent data by storage ID information, replication date, and storage ID directory path. Note that the data file name 502 is not changed from the original (original), and the data of the expiration date 506 is also copied.
[0060]
As used herein, “expiration date” means a time, date, or date when related data is invalid or unusable. Information in the nonvolatile storage devices 200 and 202 is managed by the OS.
[0061]
[Erase after expiration date]
In one embodiment, data stored in non-volatile storage devices 200 and 202 is erased after a specified period of time. This process is performed on specific data, which means that different data may exist on the non-volatile storage devices 200 and 202 for different periods of time. Different expiration dates may be applied to different data. Furthermore, some data may not be erased, that is, may exist on the non-volatile storage devices 200 and 202 indefinitely.
[0062]
6, 9 and 10, the directory entry 500 included in the directory information 402 is examined to determine whether the expiration date 506 has expired. This process is performed by comparing the expiration date 506 of a particular directory entry 500 with the current date. Further, instead of keeping the expiration date 506 in each directory entry 500, each directory entry 500 is kept to have a “retention period (“ time to keep ”)”, and the creation date 504 and the “retention period” The expiration date may be determined based on both. An alternative approach is to cycle through all entries in all directories and have an agent that checks the expiration date of the entry and the system time and date. If the expiration date has passed, the agent deletes the corresponding entry.
[0063]
FIG. 10 is a flowchart illustrating a preferred method for erasing data. In step S520, the current date / time value is obtained. For example, the processing unit 204 requests and obtains a date / time value by calling an operating system function that controls the operation of the processing unit 204. Alternatively, a clock that can be directly inquired by the processor 306 may be included in the processing unit 204. The current date / time value indicates the current date, date, or time when the method shown in FIG. 10 is executed. Also, the current date / time value is preferably stored in a temporary storage location such as a CPU register, a scratchpad memory area or main memory for later use.
[0064]
Subsequently, in step S522, one directory entry 500 is selected and processed. In one embodiment, step S522 includes serial polling of all directory entries 500 in the non-volatile storage devices 200, 202. Further, step S522 may include a process of selecting the directory entry 500 based on a heuristic process such as an LRU algorithm (least-recently-used) algorithm, probability or statistics.
[0065]
In step S524, it is determined whether or not the data represented by the current directory entry 500 is to be erased. In one embodiment, step S524 includes processing to test whether the current date / time value obtained in step S520 is greater than or equal to the value of the expiration date 506 stored in the current directory entry 500. . If the current date / time value is greater than or equal to the expiration date 506 value, the current directory entry 500 will be deleted.
[0066]
If it is determined that specific data is to be deleted, the data related to the current directory entry 500 is deleted from the data 404 as shown in step S526. Then, the control proceeds to step S534. When the specific data is deleted, the directory entry 500 is also deleted as shown in step S534. It should be noted that the erased copy of the specific data includes the same expiration date and the expiration date is checked, so that all copies of the specific data are also erased from the data 404.
[0067]
According to one embodiment, in steps S526 and S534, the process of deleting data from data 404 and deleting the corresponding directory entry 500 from directory information 402 sets the predetermined value to the data and directory entry 500. It is executed by overwriting. An example of a predetermined value that is recognized as appropriate is 00H, but other values may be used as the predetermined value.
[0068]
One conventional approach has been able to recover erased data because it simply erased the directory entry without erasing the data itself. On the other hand, since the recovery becomes more difficult when the data is overwritten, it is considered that the data is more securely erased by overwriting the data with a predetermined value. By overwriting the predetermined value, the data is erased from the data 404 and when the corresponding directory entry 500 is erased from the directory information 402, the overwritten area is used to store other data. It will be.
[0069]
In an alternative embodiment, overwriting is performed using different predetermined values for different data. For example, it is assumed that the expiration date 506 of a specific data file existing on the nonvolatile storage device 200 indicates that the specific data file is to be deleted. Further, it is assumed that a copy of the specific data file is held on the nonvolatile storage device 202. In this case, the specific data file on the non-volatile storage device 200 is overwritten with the first predetermined value, while the copy of the specific data file on the non-volatile storage device 202 is overwritten with the first predetermined value. A second predetermined value different from the value is overwritten. Also, a different predetermined value may be used to overwrite the corresponding directory entry 500.
[0070]
In one embodiment, the process of FIG. 10 is performed by processing unit 204. In particular, processor 306 may perform this process by executing one or more instructions held in volatile memory 308 and non-volatile memory 310. On the other hand, a process of examining each directory entry 500 in the directory information 402 may be executed by another process outside the storage unit 106 or the station 102 connected to the network 104. In such a case, another process or station 102 may query the storage unit 106 through the link 108 to obtain the directory information 402.
[0071]
In the above description, the storage ID information 400, the directory information 402, and the data 404 have been described and illustrated as being held together on the nonvolatile storage devices 200 and 202. Alternatively, it may be held in another storage position. For example, a part or all of the directory information 402 may be stored in the volatile memory 308 of the processing unit 204, so that the time required to determine the data file that needs to be deleted from the data 404 is increased. It can be shortened.
[0072]
[Erase after failure of nonvolatile storage device]
According to another embodiment, if any failure occurs in one of the non-volatile storage devices 200 and 202, all the data included in the data 404 and all the directory entries 500 included in the directory information 402 are as described above. Will be erased. Then, the other nonvolatile storage device 200 or 202 is designated as the first storage device (primary storage device) and is continuously used.
[0073]
One example of a situation where a failure occurs is when media corruption prevents one of the non-volatile storage devices 200 and 202 from being updated while both non-volatile storage devices 200 and 202 are being updated. It is. Since the non-volatile storage devices 200 and 202 provide redundant storage, deleting the data from the failed non-volatile storage device 200 or 202 makes the non-volatile storage devices 200 and 202 different (and possibly valid). Do not include data.
[0074]
FIG. 11 is a flowchart showing a preferred method for erasing data in a nonvolatile storage device when a failure occurs in the nonvolatile storage device. In step S540, it is detected that some kind of failure has occurred in the nonvolatile storage device. For example, step S540 may include detecting that a power failure or other failure has occurred in a power-up routine or a bootstrap loader routine.
[0075]
In one embodiment, each non-volatile storage device 200, 202 has a dedicated storage location for storing a marker value. This marker value is a predetermined value indicating that the nonvolatile storage devices 200 and 202 have been shut down without any problem. When the nonvolatile storage devices 200 and 202 are shut down without problems, a predetermined marker value is stored in a dedicated storage location.
[0076]
On the other hand, when the non-volatile storage devices 200, 202 are activated, the predetermined marker value is checked and a different value is overwritten. Therefore, when an unexpected failure (for example, abnormal termination) occurs, the marker value is not included in the dedicated storage location, thereby detecting that a failure has occurred in the nonvolatile storage devices 200 and 202. The
[0077]
If the occurrence of a certain failure is detected, the next directory entry 500 is selected from the plurality of directory entries 500 in step S542. In one embodiment, step S542 includes polling all directory entries 500 in the non-volatile storage devices 200, 202 serially. Also, step S542 may include selecting a directory entry 500 based on a least-recently-used (LRU) algorithm, a heuristic process such as probability or statistics.
[0078]
In step S544, all of the data associated with the current directory entry 500 is erased, for example, by overwriting the data with a predetermined value. In step S552, the current directory entry 500 is deleted, for example, by overwriting it with a predetermined value. If necessary, the directory itself is also deleted.
[0079]
Subsequently, in step S554, it is determined whether or not a further directory entry 500 exists in the directory information 402 of the nonvolatile storage devices 200 and 202. If it is determined that it exists, steps S542 to S552 are repeated for each further directory entry 500.
[0080]
In optional step S556, another non-volatile storage device 200 or 202 is designated as the primary storage device of the storage unit 106. Such designation means that the storage unit 106 continues the read / write operation for the non-failure nonvolatile storage device 200 or 202. In this way, the storage unit 106 remains usable, but the nonvolatile storage device 200 or 202 in which a failure has occurred in the storage unit 106 is disabled.
[0081]
When the data of the nonvolatile storage device 200 or 202 in which the failure has occurred is erased, the nonvolatile storage device 200 or 202 in which the failure has occurred may be reinitialized. When the failed nonvolatile storage device 200 or 202 is successfully reinitialized, the data stored in the failed nonvolatile storage device 200 or 202 is restored to the restored nonvolatile storage device 200 or 202. Can be copied. If the failed non-volatile storage device 200 or 202 cannot be successfully reinitialized, the data of the non-failed non-volatile storage device 200 or 202 is transferred to the non-volatile storage device of another storage unit 106. You may decide to copy it.
[0082]
Since the possibility of simultaneous failure of the nonvolatile storage devices 200 and 202 is very low, the use of redundant nonvolatile storage devices 200 and 202 can provide very high data reliability. In order to provide additional data reliability, other redundancy storage units 106, each including redundant non-volatile storage devices 200 and 202, may also be used to provide additional redundancy.
[0083]
[Tamper protection]
According to one embodiment, the storage unit 106 is protected from fraud. Sensors S <b> 1 to S <b> 4 are monitored by the processing unit 204 through the link 208 and detect fraudulent acts on the storage unit 106. The selection and placement of sensors S1-S4 is determined by the requirements of the particular application, but generally will break the seal, open the sealed partition, or otherwise force the storage unit 106 It is designed to detect unauthorized access to the storage unit 106.
[0084]
When the sensors S1 to S4 detect unauthorized access to the storage unit 106, the sensors S1 to S4 input a tamper signal (that is, a signal indicating that the storage unit 106 has been detected illegal) to the processing unit 204. To do. In response to the tamper signal, the processing unit 204 erases the storage ID information 400, the directory information 402, and the data 404 from the nonvolatile storage devices 200 and 202 by the method described above. This prevents the data stored in the storage unit 106 from being used without permission.
[0085]
FIG. 12 is a flowchart illustrating a preferred method for erasing the stored contents of the non-volatile storage devices 200 and 202 when an illegal act is performed on the storage unit 106. In step S560, disturbances to the storage unit 106 are detected, such as fraudulently acting on the storage unit 106, entering the storage unit 106, emptying the storage unit 106, and the like. For example, step S560 may include a step of detecting that one or more sensors S1-S4 are activated or generating a detection signal.
[0086]
If an illegal act is detected, the next directory entry 500 is selected from the plurality of directory entries 500 in step S562. In one embodiment, step S562 includes serially polling all directory entries 500 of non-volatile storage devices 200, 202. Also, step S562 may include selecting a directory entry based on a heuristic process such as an LRU algorithm (least-recently-used) algorithm, probability or statistics.
[0087]
Subsequently, in step S564, all data associated with the current directory entry 500 is erased, for example, by overwriting predetermined data with those data. In step S572, the current directory entry 500 is deleted by overwriting a predetermined value, for example. If necessary, the directory itself is deleted.
[0088]
In step S574, it is determined whether or not a further directory entry 500 exists in the directory information 402 of the nonvolatile storage devices 200 and 202. When it is determined that there is a further directory entry 500, the processes from step S562 to S572 are repeatedly executed for each directory entry 500.
[0089]
In one embodiment, step S562 or other steps may include generating a warning to an authorized person to inform that an illegal activity has occurred and an erase operation has been performed. For example, in step S562, the processing unit 204 may generate a message for a given station 102 to notify that station 102 that fraud has been detected and an erasure operation is in progress.
[0090]
According to another embodiment, in the event of a power failure (eg, a power failure), the backup power sources 210 and 212 supply power to the storage unit 106 that includes the sensors S1-S4. However, the non-volatile storage devices 200 and 202 operate in the power save mode. When operating in power save mode, normal write and read operations to non-volatile storage devices 200 and 202 are prohibited to save power. When power is restored, write and read operations to non-volatile storage devices 200 and 202 will continue.
[0091]
However, even if the storage unit 106 is operating in the power save mode, if the sensors S1 to S4 detect unauthorized access to the storage unit 106, all available power is used. As described above, the storage ID information 400, the directory information 402, and the data 404 are erased from the nonvolatile storage devices 200 and 202. As described above, it is impossible to avoid the execution of the erasing process only by turning off the power of the storage unit 106.
[0092]
[Register storage unit]
According to one embodiment, the storage unit 106 is registered with the registration authority 110 to authenticate the storage unit 106. According to this approach, each storage unit 106 is registered with the registration authority 110 by providing the registration authority 110 with a unique storage unit identifier value. In response, a registration identifier value is provided by the registration authority 110 and stored in the storage ID information 400 of the non-volatile storage devices 200 and 202.
[0093]
When the storage unit 106 is registered in this manner, the station 102 requests a registration identifier value for the specific storage unit 106 and identifies it by confirming that the registration identifier value is valid at the registration authority 110. It is possible to confirm that the storage unit 106 is registered in the registration authority 110. This ensures that the data stored in the specific storage unit 106 is original (original) and authentic.
[0094]
FIG. 7 is a diagram illustrating a preferred example of a registration identifier value 420 having a header segment 422, a device manufacturer segment 424 and a serial number segment 426.
[0095]
The header segment 422 identifies the registration authority 110. For example, the header segment 422 includes a predetermined value that is uniquely associated with the registration authority 110 within the context of the storage unit 106 or OS. The device manufacturer segment 424 uniquely identifies the manufacturer or brand name of the storage unit 106. The device manufacturer segment 424 may be a manufacturer name or code number that uniquely specifies a specific manufacturer. The serial number segment 426 includes the serial number of the storage unit 106.
[0096]
FIG. 8 is an explanatory diagram of the database 111. Database 111 includes at least one table 460 having one or more rows 462. Each row 462 corresponds to one storage unit 106. Table 460 includes columns 464-468 that store manufacturer or brand name values, serial number values, and assignment date values. Each assigned date value identifies the date on which a row corresponding to a storage unit 106 was added to the table 460.
[0097]
[Originality of data]
In certain situations, it may be preferable to preserve the originality and uniqueness of the data stored in the storage unit 106 by not changing or deleting the data. In this way, the storage unit 106 can “guarantee” an external process or device that some data has not changed since it was first written.
[0098]
In one embodiment, an audit trail is generated when copying data from one device to another. As shown in FIG. 9, each replication entry (R1, R2,..., RN) describes source information including a replication date 514, storage ID information 516, and directory entry 512. In order to copy data from a source device to a destination device, a replication command is issued to the destination device along with file information and source device specifications.
[0099]
The destination device then issues a special read command to the source device so that data can be prevented from changing when transferred from the source device to the destination device. The data is encrypted.
[0100]
Thus, according to one embodiment, an approach will be provided to ensure that certain data stored in the storage unit 106 is written only once and has never been modified. May be read as many times as read-only. This approach targets specific data and does not require that all stored data be retained as read-only data.
[0101]
In one embodiment, after the read-only data is stored in the non-volatile storage devices 200 and 202, the directory entry 500 associated with the read-only data is updated, the associated data is read-only data, and never It is shown that it cannot be overwritten or changed. This update acts as a declaration to other devices and processes that the stored data is unique and immutable. For example, after read-only data is written to the non-volatile storage devices 200 and 202, other file management information 508 in the directory entry 500 associated with the read-only data is changed because the associated data is read-only. Updated to show that there is nothing.
[0102]
Thereafter, when the data in the non-volatile storage devices 200 and 202 is to be changed, the directory entry 500 associated with the data is examined to determine whether the particular data is read-only. . If not read-only, the associated data is changed as described herein. On the other hand, if it is read-only, the associated data and directory entry 500 are not changed.
[0103]
Another way to ensure originality is to limit the write commands that can be executed on a particular non-volatile storage device. For example, in connection with a situation where a file stored on a non-volatile storage device is held as being a file that has been authenticated to ensure originality, the non-volatile storage device may have a special status for writing. It may be requested. Without a special write status, the write command will fail if the same file name exists in the non-volatile storage device.
[0104]
This approach can be applied to any approach described herein, including erasure processing based on expiration dates, erasure processing based on fraud and erasure processing based on the occurrence of a failure. This approach provides a way to ensure the validity of stored data, and as a result, increases the reliability of stored data, for example, the reliability of data as legal evidence . It also guarantees the data content and uniqueness.
[0105]
[Outline of computer system]
FIG. 13 is a block diagram that illustrates a computer system that can be used to implement aspects of the present invention, such as an alternative embodiment of the processing unit 204. The processing unit 204 includes a bus 602 or other communication mechanism for information communication, and the processor 604 is connected to the bus 602 for processing information. The processing unit 204 also includes a main memory 606, such as a random access memory (RAM) or other dynamic storage device, which is a bus for storing information and instructions executed by the processor 604. 602 is connected.
[0106]
The main memory 606 may also be used to store temporary variables or other intermediate information during execution of instructions executed by the processor 604. In addition, the processing unit 204 includes a read only memory (ROM) 608 or other static storage device connected to the bus 602 for storing static information and instructions for the processor 604. The storage device 610 is, for example, a magnetic disk or an optical disk, and is connected to the bus 602 so as to store information and instructions.
[0107]
Further, the processing unit 204 may be connected through a bus 602 to a display 612 for displaying information to a computer user such as a CRT. An input device 614 containing alphanumeric characters and other keys is connected to the bus 602 so that it can send information and command selections to the processor 604. Another type of user input device is a cursor control 616, such as a mouse, trackball, or cursor direction key, which sends direction information and command selections to the processor 604 and controls cursor movement on the display 612. Control. Such an input device generally has two degrees of freedom in two axes, a first axis (eg, x) and a second axis (eg, y), so that a position in a plane can be specified. It is a thing.
[0108]
The present invention uses storage unit 106 to store data. Exist Related to the technology. In one embodiment, the processing unit 204 performs processing to store and hold data in response to the processor 604 executing one or more sequences of one or more instructions stored in the main memory 606. The Such instructions may be read into main memory 606 from another computer readable medium such as storage device 610. By executing the sequence of instructions contained in main memory 606, processor 604 performs the steps of the process described herein.
[0109]
Alternatively, the sequence of instructions contained in main memory 606 may be executed using one or more processors in a multiprocessing configuration. As an alternative embodiment, the present invention can be implemented by using hardwired circuits instead of software instructions or in combination with software instructions. Therefore, each embodiment of the present invention is not limited to a specific combination of hardware and software. Also, the instructions can be configured as software agents, processes, subroutines or programs.
[0110]
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to processor 604 for execution. Such a medium may take many forms, including non-volatile media, volatile media, and transmission media. However, it is not limited to such a form. For example, non-volatile media includes optical or magnetic disks such as storage device 610.
[0111]
Further, the volatile medium includes a dynamic memory such as the main memory 606. Further, the transmission medium includes a coaxial cable, a copper wire, and an optical fiber, and includes a wire constituting the bus 602. The transmission medium can take the form of sound waves or light waves that are generated during radio wave and infrared communication.
[0112]
Also, common forms of computer readable media include, for example, floppy disks, flexible disks, hard disks, magnetic tapes or other magnetic media, CD-ROMs or any other optical media, punch cards, paper tapes or holes. Includes any other physical media with patterns, RAM, PROM and EPROM, FLASH-EPROM, any other memory chip or cartridge, carrier wave described below, or any other media that can be read by the computer It is.
[0113]
Various forms of computer readable media are required to hold one or more sequences of one or more instructions for execution by processor 604. For example, an instruction may be initially held on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line by using a modem. A modem within the processing unit 204 can receive the data via a telephone line and use an infrared transmitter to convert the data to an infrared signal.
[0114]
An infrared detector connected to the bus 602 can receive data carried in the infrared signal and send it to the bus 602. Bus 602 carries data to main memory 606, from which processor 604 reads and executes instructions. The instructions received by main memory 606 may be optionally stored in storage device 610 either before or after execution by processor 604.
[0115]
The processing unit 204 also includes a communication interface 618 connected to the bus 602. Communication interface 618 provides bi-directional data communication coupling to network link 620 that is connected to local network 622. For example, the communication interface 618 may be composed of an ISDN (Integrated Services Digital Network) card or modem to provide a data communication connection to a corresponding type of telephone line.
[0116]
As another example, the communication interface 618 may be configured with a local area network (LAN) card to provide a data communication connection to a compatible LAN. Moreover, you may decide to mount a radio link. In any implementation, communication interface 618 sends and receives electrical, electromagnetic or optical signals that carry streams of digital data representing various types of information.
[0117]
Network link 620 generally provides data communication to other data devices via one or more networks. For example, the network link 620 provides a connection to data devices managed by the host computer 624 or Internet service provider (ISP) 626 via the local network 622. ISP 626 provides data communication services through a global packet data communication network now commonly referred to as the “Internet” 628.
[0118]
Both the local network 622 and the Internet 628 carry digital data streams using electrical, electromagnetic or optical signals. Signals over various networks, as well as signals over network link 620 and communication interface 618, carry digital data to or from digital data from processing unit 204, and are carriers that carry information. Is an exemplary form.
[0119]
The processing unit 204 can send messages including program codes and receive data including program codes over one or more networks, network links 620 and communication interfaces 618. In the Internet example, the server 630 may also transmit the requested application program code over the Internet 628, ISP 626, local network 622 and communication interface 618. The application downloaded in this way executes processing for storing and holding data as described herein.
[0120]
The received code may be executed by processor 604 when data is received and / or stored in storage device 610 or other non-volatile storage for later execution. Thus, the processing unit 204 may acquire the application code in the form of a carrier wave.
[0121]
The approach described here provides several advantages over conventional approaches for storing and retaining data. In particular, by adopting an approach of deleting the data from the storage unit 106 by overwriting a predetermined value on the data, the recovery of the data becomes more difficult. By monitoring fraud, the storage unit 106 is protected from unauthorized access. Data stored in the storage unit 106 is authenticated by registering the storage unit 106 using the registration authority 110.
[0122]
Further, the approach to maintaining the originality of the data ensures that when a piece of data is read from the storage unit 106, the piece of data has been written only once and has not been changed. Similarly, when data is erased from the storage unit 106, data designated as read-only data is never erased from the storage unit 106.
[0123]
[Modification]
As described above, the present invention has been described based on a specific embodiment. It will be apparent, however, that various design changes can be made to the invention without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative manner only and are not intended to limit the invention.
[0124]
【The invention's effect】
As described above, data storage according to the present invention is performed. Existence According to the law, the data storage unit, and the computer-readable recording medium, at least an effect that data can be protected from illegal acts can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system for storing and holding data.
FIG. 2 is a block diagram showing a storage unit included in the system of FIG.
FIG. 3 is a block diagram showing a part of the storage unit of FIG. 2;
4 is a block diagram showing a part of the storage unit of FIG. 2;
FIG. 5 is a block diagram illustrating processing units included in the storage unit of FIGS.
FIG. 6 is a block diagram showing the contents of a nonvolatile storage device included in the storage unit of FIGS.
FIG. 7 is an explanatory diagram showing registration identifier values.
FIG. 8 is an explanatory diagram showing a table of a registration authority database;
9 is an explanatory diagram showing the contents of a directory entry included in the nonvolatile storage device of FIG. 6. FIG.
FIG. 10 is a flowchart showing an erasing process based on an expiration date.
FIG. 11 is a flowchart showing an erasing process based on the occurrence of a failure.
FIG. 12 is a flowchart showing an erasing process based on fraud.
FIG. 13 is a block diagram of a computer system capable of implementing an embodiment of the present invention.
[Explanation of symbols]
100 system
102 stations
104 network
106 Storage unit
108, 112, 206, 208, 312 links
110 Registration Authority
111 database
200,202 Nonvolatile storage device
204 processing unit
210,212 Backup power supply
300 Communication interface
302 Sensor controller
304 Nonvolatile storage controller
306 processor
308 volatile memory
310 Nonvolatile memory
400,516 Storage ID information
402 Directory information
404 data
420 Registration identifier value
422 Header segment
424 Device Manufacturer Segment
426 Serial Number Segment
460 tables
Line 462
464-468 columns
500,512 directory entry
502 File name
504 Creation date
506 Expiration date
508 Other file management information
510 Replication information
512 Directory entry
514 Replication date
602 bus
604 processor
606 Main memory
608 ROM
610 storage device
612 display
614 Input device
616 Cursor control
618 Communication interface
620 Network link
622 Local network
624 Host computer
626 ISP
628 Internet
630 server
S1-S4 sensor

Claims (6)

不揮発性ストレージデバイスにデータを保存するデータストレージユニットのデータの保存方法であって、
前記データストレージユニットは、
前記データストレージユニットに対する許可のないアクセスを検出するセンサと、
前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、
電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、
前記処理ユニットは、前記電源に障害が発生した場合に、
前記バックアップ電源から前記データストレージユニットへの電力供給を開始する工程と、
前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止する工程と、
前記センサにより前記データストレージユニットに対するアクセスを検出する工程と、
前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去する工程と、
を含むことを特徴とするデータの保存方法。
A data storage unit storing data in a non-volatile storage device,
The data storage unit is
A sensor for detecting unauthorized access to the data storage unit;
A processing unit for controlling the nonvolatile storage device and the sensor;
A backup power supply capable of supplying power to the nonvolatile storage device, the sensor, and the processing unit when a power failure occurs;
If the processing unit, which before Symbol source fails,
A step of starting the power supply from the backup power supply to the data storage unit,
A step of prohibiting the reading of the data from the write and the non-volatile storage device of the data to the nonvolatile storage device,
Detecting access to the data storage unit by the sensor;
Erasing the data stored in the non-volatile storage device by overwriting a predetermined value on the data stored in the non-volatile storage device when access to the data storage unit is detected When,
Save how features and be Lud over data-containing Mukoto a.
前記処理ユニットが、さらに、前記電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可する工程を含むことを特徴とする請求項に記載のデータの保存方法。 Wherein the processing unit is further, after the pre-Symbol power has recovered, characterized in that it comprises a step of permitting the reading of the data from the write and the non-volatile storage device of the data to the non-volatile storage device save how the data according to claim 1. 不揮発性ストレージデバイスにデータを保存するデータストレージユニットであって、
前記データストレージユニットに対する許可のないアクセスを検出するセンサと、
前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、
電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、
前記処理ユニットは、前記電源に障害が発生した場合に、
前記バックアップ電源から前記データストレージユニットへの電力供給を開始し、
前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止し、
前記センサにより前記データストレージユニットに対するアクセスを検出し、
前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去することを特徴とするデータストレージユニット。
A data storage unit for storing data in a non-volatile storage device,
A sensor for detecting unauthorized access to the data storage unit;
A processing unit for controlling the nonvolatile storage device and the sensor;
A backup power supply capable of supplying power to the nonvolatile storage device, the sensor, and the processing unit when a power failure occurs;
When the power supply fails , the processing unit
The starts power supply from the backup power supply to the data storage unit,
Prohibiting writing of the data to the nonvolatile storage device and reading of the data from the nonvolatile storage device;
Detecting access to the data storage unit by the sensor;
Erasing the data stored in the non-volatile storage device by overwriting the data stored in the non-volatile storage device with a predetermined value when access to the data storage unit is detected features and to Lud over data storage units.
前記処理ユニットは、さらに、前記電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可することを特徴とする請求項3に記載のデータストレージユニット。The said processing unit is further allowed to write the data to the nonvolatile storage device and read the data from the nonvolatile storage device after the power is restored. Data storage unit. 不揮発性ストレージデバイスにデータを保存するデータストレージユニットに前記データを保存するための一以上の命令の一以上のシーケンスを有するコンピュータ読み取り可能な記録媒体であって、
前記データストレージユニットは、
前記データストレージユニットに対する許可のないアクセスを検出するセンサと、
前記不揮発性ストレージデバイスおよび前記センサを制御する処理ユニットと、
電源に障害が発生した場合に、前記不揮発性ストレージデバイスと、前記センサと、前記処理ユニットとに対して電力を供給可能なバックアップ電源と、を備え、
前記一以上の命令の一以上のシーケンスは、一以上のプロセッサによって実行される場 合に、前記一以上のプロセッサに対し、
前記処理ユニットが、記電源に障害が発生した場合に、
前記バックアップ電源から前記データストレージユニットへの電力供給を開始する手順と、
前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを禁止する手順と、
前記センサにより前記データストレージユニットに対するアクセスを検出する手順と、
前記データストレージユニットに対するアクセスが検出された場合に、所定の値を前記不揮発性ストレージデバイスに保存されている前記データに上書きすることによって前記不揮発性ストレージデバイスに保存されている前記データを消去する手順と、
を実行させ命令を含むことを特徴とするコンピュータ読み取り可能な記録媒体。
A computer readable recording medium having one or more sequences of one or more instructions for storing the data in a data storage unit for storing data in a non-volatile storage device,
The data storage unit is
A sensor for detecting unauthorized access to the data storage unit;
A processing unit for controlling the nonvolatile storage device and the sensor;
A backup power supply capable of supplying power to the nonvolatile storage device, the sensor, and the processing unit when a power failure occurs;
One or more sequences of the one or more instructions, if executed by one or more processors, to the one or more processors,
If the processing unit, a failure occurs before SL power,
A step of starting the power supply to the data storage unit from said backup power supply,
A step of prohibiting the reading of the data from the write and the non-volatile storage device of the data to the nonvolatile storage device,
Detecting access to the data storage unit by the sensor;
A procedure for erasing the data stored in the nonvolatile storage device by overwriting a predetermined value on the data stored in the nonvolatile storage device when access to the data storage unit is detected When,
It features and to Turkey computer readable recording medium include instructions, which require to run.
前記処理ユニットが、さらに、前記データストレージユニットに対する電源が回復した後、前記不揮発性ストレージデバイスへの前記データの書き込みおよび前記不揮発性ストレージデバイスからの前記データの読み出しを許可する手順を実行させる命令を含むことを特徴とする請求項に記載のコンピュータ読み取り可能な記録媒体。 Wherein the processing unit is further after recovering power for the data storage unit, an instruction to execute a procedure to allow reading of the data from the write and the non-volatile storage device of the data to the non-volatile storage device The computer-readable recording medium according to claim 5 , further comprising:
JP26781699A 1998-10-06 1999-09-21 Data storage method, data storage unit, and computer-readable recording medium Expired - Fee Related JP4141069B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16762998A 1998-10-06 1998-10-06
US09/167629 1998-10-06

Publications (2)

Publication Number Publication Date
JP2000148597A JP2000148597A (en) 2000-05-30
JP4141069B2 true JP4141069B2 (en) 2008-08-27

Family

ID=22608137

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26781699A Expired - Fee Related JP4141069B2 (en) 1998-10-06 1999-09-21 Data storage method, data storage unit, and computer-readable recording medium

Country Status (2)

Country Link
JP (1) JP4141069B2 (en)
DE (1) DE19942141C2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3673213B2 (en) * 2001-11-30 2005-07-20 株式会社東芝 Disk storage device and data erasing method applied to the same
KR20040044023A (en) * 2002-11-20 2004-05-27 엘지엔시스(주) Apparatus and method for managing data recorded on memory
US7171511B2 (en) * 2004-03-24 2007-01-30 Hitachi, Ltd. WORM proving storage system
JP2007058652A (en) * 2005-08-25 2007-03-08 Nec System Technologies Ltd File destructor, information processor, information processing method, and program
JP4675980B2 (en) * 2008-02-08 2011-04-27 日本電産サンキョー株式会社 Fraud prevention method

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4135767C2 (en) * 1991-10-30 2003-04-30 Adp Gauselmann Gmbh Method for securing data stored in data-storing electronic components against unauthorized access and / or manipulation and device for carrying out the method
US5265159A (en) * 1992-06-23 1993-11-23 Hughes Aircraft Company Secure file erasure
FR2745112B1 (en) * 1996-02-16 1998-04-24 Philippe Escal DEVICE FOR PROTECTING DATA ON MAGNETIC OR MAGNETO-OPTIC MEDIA

Also Published As

Publication number Publication date
DE19942141A1 (en) 2000-04-13
DE19942141C2 (en) 2003-12-04
JP2000148597A (en) 2000-05-30

Similar Documents

Publication Publication Date Title
JP4141070B2 (en) Data storage method, data storage unit, and computer-readable recording medium
US6304948B1 (en) Method and apparatus for erasing data after expiration
US7152095B1 (en) Method and apparatus for erasing data after tampering
US7281107B2 (en) Storage system, data migration managing system, and data migration managing method
JP4990089B2 (en) Computer system that backs up and restores the encryption key of the storage device with built-in data encryption function
EP0823086B1 (en) Methods and apparatus for protecting the integrity of process data stored on a removable storage medium
JP2009506405A (en) Data archiving system
JP2009230741A (en) Method and apparatus for verifying archived data integrity in integrated storage system
US6795834B2 (en) Apparatus, method, and storage medium for file management
JP2007280096A (en) Log maintenance method, program, and system
US20120185442A1 (en) Write Failure Protection for Hierarchical Integrity Schemes
CN101542972A (en) Device and portable storage device which are capable of transferring rights object, and a method of transferring rights object
JP4141069B2 (en) Data storage method, data storage unit, and computer-readable recording medium
US7441153B1 (en) Method and system for secure and reliable event logging
US20080155319A1 (en) Methods and systems for managing removable media
JP2004164226A (en) Information processor and program
JP3803002B2 (en) Data maintenance method and apparatus by data update monitoring, and storage medium storing data maintenance program
JP2006065710A (en) Backup control system for rewriting prohibited data in write-once read-many type storage medium
JP2000076110A (en) Recovering process system of decentralized file system
JP2002082821A (en) Device and method for managing file and recording medium
JP2006114058A (en) File management device and its method
JPH04315232A (en) Disk device and file managing method therefor
JP2006107531A (en) File management device and its method
JPH10240518A (en) Software copyright protective device
JP2002312212A (en) File system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041124

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080407

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080527

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080610

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110620

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120620

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130620

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees