JP6892361B2 - ストレージ装置 - Google Patents

ストレージ装置 Download PDF

Info

Publication number
JP6892361B2
JP6892361B2 JP2017181632A JP2017181632A JP6892361B2 JP 6892361 B2 JP6892361 B2 JP 6892361B2 JP 2017181632 A JP2017181632 A JP 2017181632A JP 2017181632 A JP2017181632 A JP 2017181632A JP 6892361 B2 JP6892361 B2 JP 6892361B2
Authority
JP
Japan
Prior art keywords
command
storage device
data
pin
host device
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.)
Active
Application number
JP2017181632A
Other languages
English (en)
Other versions
JP2019057165A (ja
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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Priority to JP2017181632A priority Critical patent/JP6892361B2/ja
Priority to TW111112740A priority patent/TWI799224B/zh
Priority to TW112109600A priority patent/TW202343260A/zh
Priority to TW107104089A priority patent/TWI763780B/zh
Priority to CN201810188444.0A priority patent/CN109542334B/zh
Priority to CN202210629690.1A priority patent/CN114895853A/zh
Priority to KR1020180026739A priority patent/KR102111558B1/ko
Priority to US15/921,196 priority patent/US11360680B2/en
Publication of JP2019057165A publication Critical patent/JP2019057165A/ja
Application granted granted Critical
Publication of JP6892361B2 publication Critical patent/JP6892361B2/ja
Priority to US17/735,858 priority patent/US11861194B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Description

本発明の実施形態はストレージ装置に関する。
従来、大容量のストレージ装置に要求されるセキュリティ機能は多様化している。セキュリティ機能の一例として、必要に応じてデータを処理することがある。
特許第6056567号公報 特開2006-344177号公報 特開2011-14103号公報
TCG Storage, Security Subsystem Class: Pyrite, Specification Version 1.00, Revision 1.00,[オンライン],August 5, 2015,[平成29年8月29日検索],インターネット<URL:https://trustedcomputinggroup.org/wp-content/uploads/TCG_Storage-Pyrite_SSC_v1.00_r1.00.pdf> TCG Storage, Security Subsystem Class: Opal, Specification Version 2.01, Revision 1.00,[オンライン],August 5, 2015,[平成29年8月29日検索],インターネット<URL:https://trustedcomputinggroup.org/wp-content/uploads/TCG_Storage-Opal_SSC_v2.01_rev1.00.pdf> Working Draft, American National Standard, Project, T13/BSR INCITS 529, Revision 14,[オンライン],October 14, 2016,[平成29年8月29日検索]、インターネット<URL:http://www.t13.org/documents/UploadedDocuments/docs2016/di529r14-ATAATAPI_Command_Set_-_4.pdf> NVM Express, Revision 1.3, [オンライン],May 1, 2017, 平成29年8月29日検索],インターネット<URL:http://www.nvmexpress.org/wp-content/uploads/NVM_Express_Revision_1.3.pdf>
目的に応じてデータを処理できるストレージ装置を提供することである。
実施形態によれば、ストレージ装置は、暗号化されていないユーザデータを記憶し、少なくとも1つの消去方式を備える。ストレージ装置は、ホスト装置からストレージ装置が備える少なくとも1つの消去方式に関する問い合わせを受信する手段と、問い合わせを受信すると、少なくとも1つの消去方式を表す応答情報をホスト装置に送信する手段と、第1認証手段と、を具備する。応答情報は、各々が複数の消去方式の各々に対応する複数のビットを含む。複数のビットの各々は、ストレージ装置が複数のビットの各々に対応する消去方式を備えているか否かを表す。複数の消去方式は、ストレージ装置が備える少なくとも1つの消去方式を含む。第1認証手段は、応答情報の送信後にホスト装置から消去方式を指定する指定情報を受信すると、指定情報の発行元が発行権限を有するか否かを判定し、発行元が指定情報の発行権限を有すると判定した場合、受信手段に消去方式を受信させる。
図1は第1実施形態のストレージ装置とホスト装置との接続例を示す。 図2は第1実施形態のストレージ装置の構成の一例を示す。 図3は第1実施形態で定義されるPINの一例を示す。 図4はストレージ装置の状態遷移の一例を示す。 図5Aは第1実施形態におけるデータ消去シーケンスの一例を示す。 図5Bは第1実施形態におけるデータ消去シーケンスの一例を示す。 図6は図5A、図5Bに示すシーケンスにおける消去方式表示要求の一例を示す。 図7は図5A、図5Bに示すシーケンスにおける消去方式返送の一例を示す。 図8は領域毎にアクセス権限を設定する一例を示す。 図9は電源断発生に備えたデータ管理を含むデータ消去の一例を示すフローチャートである。 図10はデータ消去中にアクセスを拒否するデータ消去の一例を示すフローチャートである。 図11は消去中の領域へのアクセスを拒否するデータ消去の一例を示すフローチャートである。 図12は複数領域に対する同時消去指示を拒否するデータ消去の一例を示すフローチャートである。 図13はNamespaceとRangeの関係の一例を示す。 図14はNamespace単位のデータ消去の一例を示すフローチャートである。 図15は破壊状態を含む状態遷移の一例を示す。 図16は破壊動作の一例を示すフローチャートである。 図17は破壊機能を備える第2実施形態のストレージ装置の構成の一例を示す。 図18はデータ暗号化機能を備える第3実施形態のストレージ装置の構成の一例を示す。 図19は破壊機能とデータ暗号化機能を備える第4実施形態のストレージ装置の構成の一例を示す。 図20は第5実施形態のストレージ装置の構成の一例を示す。 図21は第5実施形態における管理者PINによるSetコマンド、Getコマンドの権限の一例を示す。 図22は第6実施形態のストレージ装置の構成の一例を示す。 図23は第6実施形態におけるSetコマンド、Getコマンドの発行権限の一例を示す。
以下、図面を参照して実施形態を説明する。以下の説明は、実施形態の技術的思想を具体化するための装置や方法を例示するものであって、実施形態の技術的思想は、以下に説明する構成部品の構造、配置等に限定されるものではない。当業者が容易に想到し得る変形は、当然に開示の範囲に含まれる。説明をより明確にするため、複数の図面において、略同一の機能及び構成を有する構成要素には同じ参照数字を付し、重複する説明は省略する場合もある。
[第1実施形態]
図1は第1実施形態のストレージ装置とホスト装置との接続例を示す。ストレージ装置12はホスト装置14に接続され、ホスト装置14から送信されるデータを自身の記憶媒体に書き込む、あるいは記憶媒体から読み出したデータをホスト装置14へ送信する。ストレージ装置12とホスト装置14とのインターフェースは、SCSI、ATA、NVMExpress(登録商標)、e・MMC等がある。ストレージ装置12は、図1(a)に示すようにホスト装置14に対して一対一で接続されてもよいし、図1(b)に示すようにネットワーク16を介してホスト装置14に対して多対一で接続されてもよい。ホスト装置14は、図1(a)ではパーソナルコンピュータ(以下、PCと称する)等の電子機器であり、図1(b)ではサーバ等である。図1(a)に示すストレージ装置12はPCベンダによりPCの筐体内に組み込まれてもよい。1台のストレージ装置12を使うユーザの人数は1人に限らない。1台のストレージ装置12が複数のユーザにより使用される場合もある。例えば、図1(b)に示すようにホスト装置14が多数のユーザに対して仮想マシンを提供するサービスを行う場合、1台のストレージ装置12が複数の領域(例えばNamespace、Range、パーティション)に分割され、各領域が各ユーザの仮想マシンとなることが可能である。
[概略構成]
図2はストレージ装置12の構成の一例を示す。ストレージ装置12はI/F処理部22を備え、I/F処理部22はホストインターフェース(I/F)を介してホスト装置14と接続される。I/F処理部22には、認証処理部102、認可許可部104、消去方式表示部106、消去方式表示要求受信部108が接続される。
認証処理部102はストレージ装置12へのアクセス制御を行うためにPIN(Personal Identification Number)を用いてユーザ認証を行う。認証処理部102にはPIN管理部112が接続される。PIN管理部112は複数のPIN、例えば所有者PIN(Security Identifier:SIDとも称する)112a、管理者PIN(AdminPINとも称する)112b、ラベルPIN(PSIDとも称する)112c、ユーザPIN112d等を管理する。ユーザ権限を階層化するために、管理者PINとユーザPINが設定されている。
ユーザはストレージ装置12を何らかの理由で工場出荷時の状態に戻したいことがある。例えば、ストレージ装置12を破棄する時、データ蓄積部34に格納されたユーザデータがストレージ装置12から流出することを防止したい。この明細書で、ストレージ装置12を工場出荷時の状態に戻すことをリセットと称する。リセットは、ユーザデータの消去(読み出せないようにすること)と工場出荷後に設定されたPINの初期化の両方を含む。ここでは、リセットには特定のPIN、例えば所有者PINまたはラベルPINが必要であるとする。また、ストレージ装置12はロック機能を備え、ロックする(アンロック状態からロック状態にする)あるいはアンロック(ロック状態からアンロック状態にする)するには、特定のPINが必要であるとする。
認可処理部104には認証処理部102とロック管理部110と領域情報管理部114とデータ消去部118とリード/ライト処理部122が接続される。認証処理部102はホスト装置14からリセットが指示されると、指示したユーザを認証する。具体的には入力されたPINの値がPIN管理部112に格納されたPINの値と一致するかチェックする処理を行う。たとえば、ホスト装置14から所有者として認証要求を受けた場合、認証要求に含まれるPINの値が、PIN管理部114に格納された所有者PIN112aと一致するか検査を行い、一致すれば成功と判定し、一致しなければ失敗と判定する。認可処理部104は、コマンドの発行元(ホスト装置14のユーザ)がそのコマンドを発行する権限を有するか否かを判定し、その結果に応じてコマンドをロック管理部110とリード/ライト処理部122とデータ消去部118等に転送する。すなわち、認可処理部104は、どのコマンドがどの実行権限で実行可能かを判定するテーブルを管理しており、コマンド受信時にその権限で実行可能な処理であるかどうか判定処理を行う。たとえば、所有者PINとラベルPINで認証されている場合に限り、ストレージ装置12をリセットするためのRevertコマンドを実行可能であると認可処理部104が管理していたとする。この時、所有者PINで認証が成功したユーザがホスト装置14からストレージ装置12をリセットするためのRevertコマンドを送信したとする。認可処理部104はRevertコマンドの発行元がRevertコマンドを発行可能な権限を有するかどうか判定処理を行う。この例では所有者PINでRevertコマンドの実行が許可されているため、権限があると判定する。もし、ユーザPINで認証が成功したユーザがRevertコマンドを実行しようとした場合は権限がないと判定する。権限があると判定された場合、ストレージ装置12をリセットするためにRevertコマンドを実行データ消去部118に転送し、データ消去を実行させるとともに、PINを初期値に再設定する。
また、認可処理部104はアンロックコマンドをユーザPINまたは管理者PINで認証された発行元が発行した場合、アンロックコマンドをロック管理部110に転送し、ロック管理部110はストレージ装置12をアンロックする。ロック管理部110は領域情報管理部114で管理されるデータ蓄積部34のユーザ領域全体のロック・アンロックができるように設定できるようになっていてもよいし、データ蓄積部34の特定の領域のロック・アンロックが設定できるようになっていてもよい。なお、ラベルPINを用いる認証が成功した発行元がアンロックコマンドを発行しても、認可処理部104はアンロックコマンドをロック管理部110に転送しないので、ストレージ装置12はアンロックされない。
消去方式表示部106には消去方式表示要求受信部108と消去情報管理部124が接続される。消去方式表示要求受信部108はホスト装置14からのデータ消去方式問い合わせを受信して、消去方式表示部106に転送する。消去方式表示部106はストレージ装置12がサポートしているデータ消去の方式をホスト装置14に提示する。
データ消去方式の例は、上書き消去、ブロック消去、アンマップ、ライトポインタリセット、クリプトイレーズ(暗号鍵更新)等がある。上書き消去とは、消去するデータが保存されている領域に対して全て“0”や乱数により発生したデータを上書きすることである。ブロック消去は消去するデータを含むブロック全体をもとのデータを読み出し不能にすることである。アンマップはデータが記憶媒体のどのブロックに記憶されているかを表すマッピングテーブルを当該データについてリセットすることである。ライトポイントリセットはデータが記憶媒体のどのブロックに記憶されているかを表すポインタをリセットすることである。クリプトイレーズはストレージ装置12が有する鍵によって入力データを暗号化し、データ蓄積部34に暗号化データを記憶している場合、データの暗号に用いた鍵を更新することである。これにより、暗号化データが復号できず、入力したデータが読み出せない。
消去情報管理部124はデータ消去部118に接続される。消去情報管理部124はデータ消去中にリード/ライドコマンドを受け付けず、データ消去中の電源断に備えてデータ消去処理のステータスを管理し、電源断時の再起動後にどこまでデータを消去したかを示す情報をホスト装置12に提示する。
データ消去部118とリード/ライト処理部122がデータ蓄積部34に接続される。データ蓄積部34は大容量の不揮発性の記憶媒体、例えばフラッシュメモリ、ハードディスクからなる。データ蓄積部34はホスト装置14からのリード命令、ライト命令を受け付け、データの書き込み、読込みを行う。
ストレージ装置12の各部は、CPU24により制御される。
[PIN]
図3を参照してPINについて説明する。図3(a)はPINの種類によって発行できるコマンドを示す。所有者PINはActivate/Revert コマンドを発行する権限を有する。どのPINが何のコマンドを発行できるかは認可処理部104で管理されている。Activateコマンドはロック機能を有効化するためのコマンドである。RevertコマンドはPINを初期値に設定し、ロック機能を無効にし、データを強制消去するためのコマンドである。管理者PIN(AdminPINとも称する)はRevertSPコマンドを発行する権限を有する。RevertSPコマンドはPINを初期値に設定し、ロック機能を無効にするためのコマンドであり、データ強制消去については消去するかどうかをパラメータで指定できるコマンドである。ラベルPIN(PSIDとも称する)はRevertコマンドを発行する権限を有する。ユーザPINはコマンドを発行する権限を有しないが、ユーザに割り当てられた領域をアンロックできる。
図3(b)はストレージ装置12のリセットに関し、コマンドにより開始されるアクション、すなわち初期化するPINの種類と消去するデータの種類を示す。Activateコマンドはリセットではなく、その逆の活性化(activate)に関するものであり、PINの初期化とデータの消去はしない。Revertコマンドはデータ消去を行い、所有者PINと管理者PINを初期化する。RevertSPコマンドはデータ消去を行い、管理者PINを初期化する。RevertSPコマンドはデータ消去するか、しないで残すかをコマンド発行時にパラメータにより指定可能である。Revertコマンドではデータ消去する/しないというパラメータはなく、常にデータ消去される。
コマンドにはこれ以外にもPINを設定するためのSetコマンドがある。Setコマンドはどの種類のPINを設定するかを示すパラメータを含み、パラメータの値、すなわちどの種類のPINを設定するかによって発行者権限が異なる。例えば、ユーザPINを設定するSetコマンドを発行できるのは管理者とユーザであり、所有者はユーザPINを設定する権限を有しない。そのため、ラベルPINはユーザPINを設定するSetコマンドに対して認証が失敗する。なお、Activateコマンド、Revertコマンド、RevertSPコマンドはパラメータによらず、発行権限が決まっている。
第1実施形態は2種類のラベルPIN(PSID)を設定可能である。図3(c)に示すように、第1種類のラベルPIN(PSID1)は上述したストレージ装置14のリセットのためのPINであり、記憶領域全体のデータ消去と所有者PINと管理者PINの初期化を行う。第2種類のラベルPINはユーザ毎のラベルPIN(PSID2、PSID3、…)である。記憶領域が複数のユーザ(ここでは、ユーザ1、ユーザ2)に割り当てられているとする。ユーザ1のラベルPIN(PSID2)により発行されるRevertコマンドはユーザ1に割り当てられた領域のデータ消去とユーザ1のユーザPINの初期化を行う。ユーザ2のラベルPIN(PSID3)により発行されるRevertコマンドはユーザ2に割り当てられた領域のデータ消去とユーザ2のユーザPINの初期化を行う。言い換えると、ユーザ1のラベルPIN(PSID2)により発行されるRevertコマンドはユーザ2に割り当てられた領域のデータ消去とユーザ2のユーザPINの初期化を行うことはできない。ユーザ2のラベルPIN(PSID3)により発行されるRevertコマンドはユーザ1に割り当てられた領域のデータ消去とユーザ1のユーザPINの初期化を行うことはできない。
これにより、ユーザ毎のセキュリティを向上することができる。
管理者PINはストレージ装置12を工場出荷時の状態にリセットすることができるが、管理者PINの紛失に備えて、リセット用のラベルPINがストレージ装置12の何処か、例えばストレージ装置の筐体に貼られる銘版ラベルに印刷されていることがある。例えば、記憶領域が複数のユーザ1、ユーザ2に割り当てられている場合、PSID1、PSID2、PSID3が銘板ラベルに印刷されていることがある。
ラベルPINをストレージ装置12に印刷しないで、PCベンダやユーザに知らせる方法を採用してもよい。例えば、PCベンダがユーザにWebサイトを提供し、PCのシリアル番号を入力すればラベルPINを表示するようにしてもよい。また、同様にストレージ装置のベンダがユーザにWebサイトを提供し、ストレージ装置のシリアル番号を入力すればラベルPINを表示するようにしてもよい。図1(b)に示すように、サーバのようなホスト装置14に複数のストレージ装置12が接続され、サーバ内のストレージ装置12を一括してリセットさせたい場合に備えて、ストレージ装置12のベンダが複数のストレージ装置12に対して同一の値のラベルPINを設定し、サーバベンダに対して電子メール等でラベルPINの値を通知してもよい。
[ストレージ装置の状態遷移]
図4はストレージ装置12の状態遷移の一例を示す。工場出荷時はInactive状態40Aである。Inactive状態40Aは管理者PIN、ユーザPINが設定できない状態であり、ロック機能が無効な状態である。SID(所有者PIN)は初期値である。SIDの初期値としてMSID PINが定義されていることもある。MSID PINはGetコマンドを用いて誰でも取得することができる。SIDの初期値のユーザへの通知方法はコマンドを用いることに限らず、SIDの初期値をマニュアルに記載しておくことや、SIDの初期値を銘板ラベルに印刷しておくことも可能である。工場から出荷された直後のストレージ装置12はSIDの初期値、例えばMSID PINを使って、SIDとして認証する。SIDの初期値はMSID PINなので、認証は成功する。その後、SIDを初期値から任意の値(所有者の好きなPINの値)に設定することができる。
ストレージ装置12はInactive状態40Aのまま例えばPCベンダに出荷され、PCベンダは、たとえば上記方法でSIDを設定すると想定する。Inactive状態40Aのストレージ装置12はホスト装置14からSIDを設定するためのSetコマンドを受信すると、Setコマンドの発行元ユーザの権限をチェックする。Setコマンドは設定したいSIDをパラメータに含む。SIDを設定できる権限は所有者である。所有者からSetコマンドが発行された場合、SIDが設定される。Inactive状態40Bでは、SIDはSetコマンドを用いて所有者により設定された値(初期値ではない)である。
Inactive状態40Bのストレージ装置12はホスト装置14からActivateコマンドを受信すると、Activateコマンドの発行元ユーザをチェックする。Activateコマンドはストレージ装置12をActive状態に遷移させるためのコマンドであり、発行権限は図3(a)に示すように所有者である。所有者からActivateコマンドが発行された場合、ストレージ装置12はActive状態40Cとなる。Active状態40Cでは管理者PIN、ユーザPINが初期値になり、ロック機能が有効な状態である。
例えばPCに組み込まれたストレージ装置12はActive状態40Cのままエンドユーザに出荷され、エンドユーザ側で管理者PINあるいはユーザPINを設定すると想定する。Active状態40Cのストレージ装置12はホスト装置14から管理者PINを設定するためのSetコマンドあるいはユーザPINを設定するためのSetコマンドを受信すると、Setコマンドの発行元ユーザをチェックする。Setコマンドは設定したい管理者PINまたはユーザPINをパラメータに含む。管理者PINを設定できる権限は管理者である。ユーザPINを設定できる権限は管理者と所有者である。Setコマンドが発行権限のあるユーザから発行された場合、Setコマンドを用いてエンドユーザにより管理者PINあるいはユーザPINが設定(初期値ではない状態)され、ストレージ装置12はActive状態40Dとなる。

Active状態40Dのストレージ装置12はホスト装置14からストレージ装置12をリセットするためのRevertコマンドを受信すると、Revertコマンドの発行元ユーザをチェックする。Revertコマンドを発行できる権限は所有者PINあるいはラベルPINを知っているユーザである。Revertコマンドが権限のあるユーザから発行された場合、データが消去され、所有者PIN、管理者PIN、ユーザPINが初期化され、ストレージ装置12はInactive状態(工場出荷時)40Aとなる。
一方、Active状態40Dのストレージ装置12はホスト装置14からストレージ装置12をリセットするためのRevertSPコマンドを受信すると、RevertSPコマンドの発行元ユーザをチェックする。RevertSPコマンドを発行できる権限は管理者である。RevertSPコマンドが権限のあるユーザから発行された場合、データが消去され、管理者PIN、ユーザPINが初期化され、ストレージ装置12はInactive状態40Bとなる。なお、RevertSPコマンドによるリセット後でもストレージ装置はInactive状態ではなくActive状態に留まるようになっていてもよい。 なお、PINが初期化されると、自動的にアンロックされる。所有者PINはRevertコマンドによってPIN初期化が可能なので、アンロックも可能である。ただし、Revertコマンドによってデータは消去されるので、アンロック後には、ユーザが記録したデータは残っていない。
ラベルPINもRevertコマンドによってPIN初期化が可能なので、アンロックも可能である。ただし、Revertコマンドによってデータは消去されるので、アンロック後には、ユーザが記録したデータは残っていない。
ストレージ装置12はRevertコマンドを受信すると、内部処理によりデータ消去を行うと同時にアンロックも行う。ただし、厳密には、いずれか一方が先に実行され、他方が後に実行される。電源断を考慮すると、データ消去してからアンロックする方が安全である。アンロックしてデータ消去直前に電源断が発生すると、データ消去処理が行われないままアンロックしてしまう可能性があるためである。ただし、電源断の発生時にこのようなことが生じないように対策を講じれば、アンロックしてからデータ消去してもよい。

[データ消去シーケンス]
図5A、図5Bはストレージ装置12をリセットするためのデータ消去シーケンスの一例を示す。 リセットに先立って予めホスト装置14はストレージ装置12に、ストレージ装置12がサポートしている消去方式を問い合わせるための消去方式表示要求を送信する。この送信タイミングの一例はホスト装置14のブート時である。
消去方式表示要求受信部108で受信された消去方式表示要求は消去方式表示部106に送られる。ステップ50Aで消去方式表示部106はサポートしている1つまたは複数の消去方式を示す情報を消去情報管理部124から取得する。消去方式表示部106は取得した1つまたは複数の消去方式を示す消去方式応答情報をホスト装置14に返送する。
図6を参照して消去方式表示要求と消去方式応答情報の一例を説明する。ここでは、非特許文献2で定義されているLevel 0 Discovery HeaderとLevel 0 Discovery Responseを応用している。図6(a)はLevel 0 Discovery Headerを利用する消去方式表示要求の一例を示す。Level 0 Discovery Headerはストレージ装置12に対してLevel 0 Discovery Responseを返信するよう指示するだけであり、header部のみでコンテンツ部は含まない。
図6(b)はLevel 0 Discovery Responseを応用する消去方式応答情報の一例を示す。Level 0 Discovery Response は図6(a)に示すLevel 0 Discovery Headerとコンテンツ部とからなる。コンテンツ部であるフューチャー記述子には複数のフューチャー記述子が定義されている。
図7(a)に示すように、フューチャー記述子の1つが消去方式である。フューチャー記述子のデータ構造の一例を図7(b)に示す。フューチャー記述子はヘッダ部とコンテンツ部から構成され、バイト0−3がヘッダ部で、バイト4−nがコンテンツ部である。ヘッダ部はフューチャーコードを含む。ストレージ装置12がサポートしている消去方式のフューチャー記述データはバイト4に記述される。バイト4の各ビットに図7(c)に示すように消去方式が割り当てられている。各ビットが“1”であれば、その消去方式をサポートしていることを示し、“0”であれば、その消去方式はサポートしていないことを示す。例えば、フューチャー記述データのビット0が“1”であれば、上書き消去(Overwrite Data Erasure)方式をサポートしていることを示し、ビット1が“1”であれば、ブロック消去方式(Block Erasure)をサポートしていることを示し、ビット2が“1”であれば、アンマップ方式(Unmap)をサポートしていることを示し、ビット3が“1”であれば、ライトポインタリセット方式(Reset Write Pointers)をサポートしていることを示し、ビット4が“1”であれば、暗号鍵更新(クリプトイレーズ)方式(Crypto Erasure)をサポートしていることを示すとする。
図5A、図5Bに示す消去シーケンスの説明に戻り、ホスト装置14はストレージ装置12から1つの消去方式を示す情報が返送された場合、当該消去方式を指定し、複数の消去方式を示す情報が返送された場合、その中から1つを選択し、選択した消去方式を示す情報をストレージ装置12に通知することが想定されている。ただし、ホスト装置14がこれ以外の消去方式を指定する可能性もある。ホスト装置14は、例えばそのパラメータに消去方式情報を含むSetコマンドを用いて消去方式をストレージ装置12に通知してもよい。
ストレージ装置12で受信された消去方式指定情報は認証処理部102に供給される。認証処理部102はステップ50Bで消去方式を指定するSetコマンドの発行元ユーザを認証する。認可処理部104はコマンドの発行元がコマンドの発行権限があるか否かをチェックするためにどのPINを用いて認証された発行元(authority)によってSetコマンドが送信されたかをステップ50Cでチェックする。ラベルPINまたはユーザPINを用いて認証された発行元によってSetコマンドが発行された場合は、ステップ50Dで認可失敗とされ、認可処理部104は認可失敗を示す情報をホスト装置14に送信する。所有者PINまたは管理者PINを用いて認証された発行元によってSetコマンドが発行された場合は認可成功とされる。認可成功の場合、消去情報管理部124はホスト装置14によって指定された消去方式は自身がサポートしている消去方式であるか否かをステップ50C−1でチェックする。ホスト装置14によって指定された消去方式をサポートしていない場合(ステップ50C−1のノー)、ステップ50D−1で消去情報管理部124は指定エラーを示す情報をホスト装置14に送信する。ホスト装置14によって指定された消去方式をサポートしている場合(ステップ50C−1のイエス)、消去情報管理部124はステップ50Eで、ホスト装置14によって指定された消去方式をデータ消去部118に設定する。
その後、ストレージ装置12をリセットする必要が生じると、ホスト装置14はストレージ装置12にリセット指示(消去指示)を通知する。ホスト装置14は、例えばRevertコマンドあるいはRevertSPコマンドを用いて消去指示をストレージ装置12に通知してもよい。

ストレージ装置12で受信された消去指示は認証処理部102に供給される。認証処理部102はステップ50Fで消去指示であるRevertコマンドあるいはRevertSPコマンドの発行元ユーザを認証する。認可処理部104はステップ50Gで受信したコマンドはRevertコマンドかRevertSPコマンドかをチェックする。
Revertコマンドを受信した場合、認可処理部104は発行元がRevertコマンドを発行する権限があるか否かをチェックするために、どのPINを用いて認証された発行元によってRevertコマンドが送信されたかをステップ50Hでチェックする。管理者PINまたはユーザPINを用いて認証された発行元によってRevertコマンドが発行された場合は、ステップ50Iで認可失敗とされ、データ消去及びPINの初期化は行われない。所有者PINまたはラベルPINを用いて認証された発行元によってRevertコマンドが発行された場合は認可成功とされ、ステップ50Jでデータ消去部118がデータ消去を実行し、PIN管理部112が所有者PIN、管理者PIN、ユーザPINを初期化する。これにより、ストレージ装置12は図4に示すInactive状態(工場出荷時)40Aとなる。
RevertSPコマンドを受信した場合、認可処理部104は発行元がRevertSPコマンドを発行する権限があるか否かをチェックするために、どのPINを用いて認証された発行元によってRevertSPコマンドが送信されたかをステップ50Kでチェックする。所有者PIN、ラベルPINまたはユーザPINを用いて認証された発行元によってRevertSPコマンドが発行された場合は、ステップ50Lで認可失敗とされ、データ消去及びPINの初期化は行われない。管理者PINを用いて認証された発行元によってRevertSPコマンドが発行された場合は認可成功とされ、RevertSPコマンドにおいてデータ消去がパラメータで指定されているか否かがステップ50Mでチェックされる。データ消去が指定されている場合(ステップ50Mのイエス)、ステップ50Jで、データ消去部118がデータ消去を実行し、PIN管理部112が管理者PIN、ユーザPINを初期化する。データ消去が指定されていない場合(ステップ50Mのノー)、ステップ50NでPIN管理部112が管理者PIN、ユーザPINを初期化する。これにより、ストレージ装置12は図4に示すInactive状態40Bとなる。
以上説明したように、ストレージ装置12は自身がサポートしている消去方式をホスト装置14に知らせ、ホスト装置14がその情報に基づいてストレージ装置12に対して消去方式を指定することができる。ストレージ装置12は指定者の権限をチェックし、権限がある場合、指定された消去方式を設定する。実際のリセットの際は、ホスト装置14はストレージ装置にリセット指示を与える。ストレージ装置12はリセット指示者の権限をチェックし、権限がある場合、先に設定された消去方式に従うデータの消去と、PINの初期化を行う。
これにより、暗号化されていないデータを格納するストレージ装置12もリセットすることができる。リセットされたストレージ装置12からは廃棄後にデータが流出することがなく、セキュリティを確保することができる。ストレージ装置12は暗号化データを格納しないので、ホスト装置14が暗号化アプリケーションを備える必要がなく、ホスト装置14の処理負荷が低い。暗号化回路が不要なため、ストレージ装置12の製造コストを抑えることができる。 ストレージ装置12は記憶領域全体で一様なアクセス権限(アンロック)を設定するのではなく、記憶領域をLBA範囲に応じて複数の領域(Rangeとも称する)に分割し、Range毎に異なるアクセス権限(アンロックに必要なPIN)を設定可能である。Rangeの概念は図13を参照して後述する。例えば、図8に示すように、Range2は誰でもアクセス可能なアンロック状態とし、Range1はストレージ装置を通常使用するユーザと管理者だけがアンロックできるロック状態とし、Range3は管理者だけがアンロックできるロック状態とすることができる。このようにストレージ装置12の記憶領域を複数のRangeに分割することにより、複数のユーザが互いのセキュリティを保ったままストレージ装置12を共有することができる。
[消去処理の管理]
図9(a)は電源断発生に備えた消去処理の一例のフローチャートである。ストレージ装置12はステップ222でRevert/RevertSPコマンド(”/”は“あるいは”を意味する)を受信する。ステップ224で認可処理部104はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ226で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ228で認可失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ステップ230で認可処理部104はデータ消去部118へRevert/RevertSPコマンドを送る。ステップ232でデータ消去部118はRevert/RevertSPコマンドを解析して、どのRangeに該当するRevert/RevertSPコマンドであるかを判定する。データ消去部118は判定結果のRangeに対応するLBA範囲、例えばLBA X−Yを取得し、その最初のLBA Xからデータ消去を開始する。消去情報管理部124はデータを消去する間、ステップ234で消去済みLBAを不揮発性メモリに書き込む。この不揮発性メモリは消去情報管理部124に設けたフラッシュメモリにより実現してもよいし、データ蓄積部34の一部により実現してもよい。データ消去部118は判定結果のRangeに対応するLBA範囲のデータ消去が完了したかをステップ236で判断し、完了していない場合、データ消去を続ける。完了した場合、ステップ238でデータ消去部118は消去情報管理部124にRevert/RevertSPコマンドの処理完了を示す完了フラグを不揮発性メモリに書き込ませる。
このように、Revert/RevertSPコマンドの処理中に電源断が発生しても、Revert/RevertSPコマンドの処理が未完了であったこと及び消去済みLBAが不揮発性メモリに記憶されているので、ストレージ装置12は未完了だったRevert/RevertSPコマンドを電源復旧時にデータ未消去のLBAから効率良く再開できる。再開後に最初からデータ消去を行う必要がないので、データ消去時間が不必要に長くなることがない。
図9(b)は電源復旧時Revert/RevertSPコマンドの再開処理の一例を示すフローチャートである。電源がオンすると、ステップ242で消去情報管理部124は未完了のRevert/RevertSPコマンドがあるか否かを判定する。未完了のRevert/RevertSPコマンドが無い場合、ステップ246で通常処理が行われる。未完了のRevert/RevertSPコマンドがある場合、ステップ244で消去情報管理部124は不揮発性メモリから消去済みLBAを読み出し、消去済みLBAをデータ消去部118の消去開始アドレスに設定し、データ消去部118に未消去LBAからデータ消去を開始させる。消去情報管理部124はデータを消去する間、ステップ248で消去済みLBAを不揮発性メモリに書き込む。データ消去部118は現在消去中のRangeのデータ消去が完了したかをステップ250で判断し、完了していない場合、データ消去を続ける。完了した場合、ステップ252でデータ消去部118は消去情報管理部124にRevert/RevertSPコマンドの処理完了を示す完了フラグを不揮発性メモリに書き込ませる。その後、ステップ254で通常処理が行われる。
図9に示す消去処理は、図5A、図5Bに示すように、ストレージ装置12がホスト装置14に自身がサポートしている消去方式を通知し、ホスト装置14が消去方式を指定した後に実行してもよいし、図5A、図5Bに示す手順とは無関係に単独で実行してもよい。
[データ消去の排他的制御]
図10〜図12を参照して、実行中のデータ消去処理を優先する排他的制御を説明する。
図10は消去中にアクセスを拒否して、消去処理を優先する処理の一例を示すフローチャートである。ストレージ装置12はステップ262でRevert/RevertSPコマンドを受信する。ステップ264で認可処理部104はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ266で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ268で認可失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ストレージ装置12はコマンドの実行中にステップ270でホスト装置14からリード/ライトコマンドを受信したか否かを判定する。リード/ライトコマンドを受信した場合、ストレージ装置12はコマンドをキューに格納する、あるいはエラーをホスト装置14に返送する。キューは例えばリード/ライト処理部122内に設けてもよい。リード/ライトコマンドを受信しない場合、ストレージ装置12はステップ274でコマンドの実行を続ける。
図10に示す消去処理は、図5A、図5Bに示すように、ストレージ装置12がホスト装置14に自身がサポートしている消去方式を通知し、ホスト装置14が消去方式を指定した後に実行してもよいし、図5A、図5Bに示す手順とは無関係に単独で実行してもよい。
図11はデータ消去処理の排他的制御の第2の例としての消去中のRangeへのアクセス拒否(消去中の領域以外の領域へのアクセスは可能)の一例を示すフローチャートである。図10の処理では記憶領域に複数の領域が定義されていないが、図11の処理では記憶領域に複数の領域(Range)が定義されているとする。ストレージ装置12はステップ282でRevertSPコマンドを受信する。ステップ284で認可処理部104はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ286で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ288で認可失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ステップ290で認可処理部104はデータ消去部118へRevertSPコマンドを送る。ステップ292でデータ消去部118はRevertSPコマンドを解析して、どのRangeに該当するRevertSPコマンドであるかを判定する。データ消去部118は判定結果のRangeに対応するLBA範囲のデータ消去を開始する。ストレージ装置12はデータ消去の実行中にステップ294でホスト装置14からリード/ライトコマンドを受信したか否かを判定する。リード/ライトコマンドを受信しない場合、ストレージ装置12はステップ296でRevertSP コマンドの実行を続ける。
リード/ライトコマンドを受信した場合、ストレージ装置12は受信したリード/ライトコマンドは消去中のRangeについてのリード/ライトコマンドであるか否かをステップ298で判定する。消去中のRangeについてのリード/ライトコマンドである場合、ストレージ装置12はステップ300でコマンドをキューに格納する、あるいはエラーをホスト装置14に返送する。消去中のRangeについてのリード/ライトコマンドではない場合、ストレージ装置12はステップ302で消去中のRange以外のRangeについてリード/ライトコマンドを実行する。
このように、ある領域に対するデータ消去が行われている最中に、別な領域への書き込みが行われたとしても、その別な領域ではデータ消去は行っていないので通常のデータライト、リードは行うことができる。一方、データ消去を行っている領域は、上述のように消去以外のアクセスを実行しない排他制御を行うので、ユーザの期待に反してデータが残る・消去されるといったことがない。
図11に示す消去処理は、図5A、図5Bに示すように、ストレージ装置12がホスト装置14に自身がサポートしている消去方式を通知し、ホスト装置14が消去方式を指定した後に実行してもよいし、図5A、図5Bに示す手順とは無関係に単独で実行してもよい。
図12はデータ消去処理の排他的制御の第3の例としての複数のRevert/RevertSPコマンドの実行制御の一例を示すフローチャートである。ストレージ装置12はステップ312で第1Revert/RevertSPコマンドを受信する。ステップ314で認証処理部102はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ316で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ318で認可失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ステップ320で認可処理部104はデータ消去部118へ第1Revert/RevertSPコマンドを送る。ステップ322でデータ消去部118は第1Revert/RevertSPコマンドを解析して、どのRangeに該当するRevert/RevertSPコマンドであるかを判定する。データ消去部118は判定結果のRangeに対応するLBA範囲のデータ消去を開始する。ストレージ装置12はデータ消去の実行中にステップ324で第2Revert/RevertSPコマンドを受信したか否かを判定する。なお、ステップ324はステップ322の前に実行してもよい。
第2Revert/RevertSPコマンドを受信しない場合、ストレージ装置12はステップ328で第1Revert/RevertSPコマンドの実行を続ける。第2Revert/RevertSPコマンドを受信した場合、ステップ322で認証処理部102はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ334で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ336で認可失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ステップ338で認可処理部104はデータ消去部118へ第2Revert/RevertSPコマンドを送る。ステップ342でデータ消去部118は第2Revert/RevertSPコマンドを解析して、どのRangeに該当するRevert/RevertSPコマンドであるかを判定し、第1Revert/RevertSPコマンドのRangeと第2Revert/RevertSPコマンドのRangeが異なるか否か判定する。
第2Revert/RevertSPコマンドのRangeと第1Revert/RevertSPコマンドのRangeが異なる場合、データ消去部118はステップ344で、受信した2つのコマンドが第1RevertSPコマンドと第2RevertSPコマンドであったか否か判定する。2つのコマンドが第1RevertSPコマンドと第2RevertSPコマンドであった場合、異なるRangeについての2つのRevrrtSPコマンドを受信したので、ステップ346でデータ消去部118は第2RevertSPコマンドも実行する。なお、ステップ346で第2RevertSPコマンドを実行する代わりに、第2RevertSPコマンドの消去ジョブをキューに格納してもよい。
ステップ342で第2Revert/RevertSPコマンドのRangeと第1Revert/RevertSPコマンドのRangeが同じと判定された場合、及びステップ344で2つのコマンドが第1RevertSPコマンドと第2RevertSPコマンドでないと判定された場合、データ消去部118はステップ348で、第2Revert/RevertSPコマンドの消去ジョブをキューに格納する、あるいはエラーをホスト装置14に返送する。第1コマンドと第2コマンドの組み合わせは、(第1Revertコマンド,第2Revertコマンド)、(第1Revertコマンド,第2RevertSPコマンド)、(第1RevertSPコマンド,第2Revertコマンド)、(第1RevertSPコマンド,第2RevertSPコマンド)がある。このうち(第1RevertSPコマンド,第2RevertSPコマンド)については、第1、第2コマンドのRangeが異なる場合は、ステップ346に示すように第1RevertSPコマンドとともに第2RevertSPコマンドも実行される。他の(第1Revertコマンド,第2Revertコマンド)、(第1Revertコマンド,第2RevertSPコマンド)、(第1RevertSPコマンド,第2Revertコマンド)については、第1、第2コマンドのRangeが同じである場合も異なる場合も、ステップ348に示すように第2コマンドは実行されない。
これにより、ストレージ装置12は各Revert/RevertSPコマンドを集中して実行できる。このため、データ消去時間が長くなることがない。
図12に示す消去処理は、図5A、図5Bに示すように、ストレージ装置12がホスト装置14に自身がサポートしている消去方式を通知し、ホスト装置14が消去方式を指定した後に実行してもよいし、図5A、図5Bに示す手順とは無関係に単独で実行してもよい。
[Namespaceによる複数領域消去]
図13はストレージ装置12の記憶領域を概念的に示す。NVM Express, Revision 1.3, May 1, 2017でNamespace(ネームスペース)が定義されている。Namespaceはストレージ装置12の記憶領域全体を分割した部分領域であり、具体的には論理ブロックの集合である。1つのストレージ装置に対してNamespaceIDで識別される少なくとも1つのNamespaceが定義可能である。サイズnのNamespaceは論理ブロックアドレス0〜(n−1)の論理ブロックからなる。各Namespace内にはNamespace Global Rangeがあり、各Namespace Global Rangeは複数のRangeを含む。上述したように各Rangeにはそれぞれ異なるPINが設定可能である。複数のNamespaceに跨るGlobal Rangeがある。
なお、記憶領域全体を分割した部分領域としてパーティションがあるが、パーティションはホスト装置14が管理する部分領域であり、Namaspaceはストレージ装置12が管理する部分領域である。ホスト装置14がパーティションにアクセスする際は、ホスト装置14はアクセス対象のパーティションに含まれる論理アドレスを指定するが、Namespaceにアクセスする際は、ホスト装置14はアクセス対象のNamespaceを指定する。ストレージ装置12のRange情報管理部114は図13に示すようなNamespaceとRangeの関係を管理している。
図14(a)はNamespace単位の消去の一例を示すフローチャートである。ステップ402でストレージ装置12はホスト装置14からNamespace単位の消去コマンドを受信する。消去コマンドにはパラメータを追加できるので、Namespaceというパラメータを追加して、Namespace単位の消去コマンドとしてもよい。あるいは、上述のRevert/RevertSPコマンドにもパラメータが追加できるので、Namespaceというパラメータを追加して、Namespace単位の消去を実行させるRevert/RevertSPコマンドをNamespace単位の消去コマンドとしてもよい。さらに、図14(b)に示すように、Revert/RevertSPコマンドがどのNamespaceに対する消去処理を実行させるかを示すNamespace Tableを定義しておいてもよい。Namespace TableへのNamespaceの登録はSetコマンドを利用し、SetコマンドのパラメータでNamespaceIDを指定することが可能である。なお、Namespace単位の消去とは1つのNamespaceの消去と、全部のNamespace(すなわち、Global Range)の消去の両方を含む。そのため、パラメータで00hまたはFFhが指定された場合は、全部のNamespaceが指定されたと見做してもよい。
Namespace Tableの設定の一例を図14(c)に示す。ストレージ装置12はステップ412でSetコマンドを受信すると、パラメータで指定されたNamespaceIDをNamespace Tableに設定する。もしも、NamespaceID=00hまたはFFhの場合、全てのNamespaceIDがNamespace Tableに設定される。その後、ストレージ装置12はホスト装置からRevert/RevertSPコマンドを受信する(ステップ414)と、ステップ416でNamespace Tableを参照して、NamespaceIDを取得し、取得したNamespaceIDに対応するNamespace に含まれる全てRangeのデータ消去を実行する。
これにより、ストレージ装置12が複数のNamaspaceを備え、各Namaspaceが複数のRangeを備えている場合、ホスト装置14はNamaspace単位の消去を指示するだけで、ストレージ装置12は指示されたNamaspaceに含まれる全Rangeのデータ消去を簡単に行うことができる。ホスト装置14はNamespaceとRangeの関係についての管理が不要なので、ホスト装置14のアプリケーションの構成がシンプルになり、コストも下げられる。
図14に示す消去処理は、図5A、図5Bに示すように、ストレージ装置12がホスト装置14に自身がサポートしている消去方式を通知し、ホスト装置14が消去方式を指定した後に実行してもよいし、図5A、図5Bに示す手順とは無関係に単独で実行してもよい。
さらに、図9から図14を参照していくつかの消去動作を説明したが、これらの消去動作を自由に組み合わせて実行してもよい。

第1実施形態によれば、ストレージ装置12は自身がサポートしている消去方式をホスト装置14に通知して、ホスト装置14は消去方式を指定し、ストレージ装置12は指定された消去方式によりデータを消去するので、暗号化されていないデータを格納するストレージ装置12もリセットすることができる。リセットされたストレージ装置12からは廃棄後にデータが流出することがなく、セキュリティを確保することができる。ストレージ装置12は暗号化データを格納しないので、ホスト装置14が暗号化アプリケーションを備える必要がなく、ホスト装置14の処理負荷が低い。暗号化回路が不要なため、ストレージ装置12の製造コストを抑えることができる。 以下、他の実施形態について説明する。他の実施形態は、第1実施形態と異なる箇所のみ説明し、同じ説明は省略する。
[第2実施形態]
リセットしてから廃棄したストレージ装置12からデータが流出する可能性は0ではない。この可能性を限りなく0としたい場合、廃棄する際、ストレージ装置12を機械的に破壊・破砕してストレージ装置12が物理的に存在しない状態にすることが考えられる。機械的に破壊・破砕することは手間と時間が掛かる。第2実施形態では、ストレージ装置12を電気的に破壊状態にすることを可能とする。
第2実施形態では、図15に示すように、ストレージ装置12の状態としてActive状態、Inactive状態に加えて、Destroy(破壊)状態が定義される。Active状態のストレージ装置12に対してホスト装置14がDestroyコマンドを発行すると、ストレージ装置12はDestroy状態になる。
Destroy状態に設定され得る第2実施形態のストレージ装置12Aの概略を図17に示す。ストレージ装置12Aは図2に示すストレージ装置12に対して破壊処理部116が追加されている点が異なる。破壊処理部116はI/F処理部22と、認可処理部104と、リード/ライト処理部122と、データ消去部118とに接続される。破壊処理部116はストレージ装置12がDestroy状態の場合、リード/ライト処理部122にコマンド受け付け不可(確認コマンドは受け付け可)を指示する。
図16(a)はストレージ装置12がDestroy状態に設定される流れの一例を示す。ストレージ装置12はステップ422でDestroyコマンドを受信する。DestroyコマンドもRevert/RevertSPコマンドと同様に発行するためには所有者PINまたは管理者PINが必要であり、所有者または管理者以外のユーザはDestroyコマンドを発行できず、ストレージ装置12を破壊できないとする。ステップ424で認可処理部104はコマンドの発行権限をチェックし、発行権限のあるユーザからコマンドが発行されたか否かをステップ426で判定する。発行権限のあるユーザからコマンドが発行されていない場合、ステップ428で認証失敗となる。
発行権限のあるユーザからコマンドが発行された場合、ステップ429でストレージ装置12はホスト装置14からのコマンドの中で破壊状態か否かを問い合わせる確認コマンドは受け付け可とし、それ以外のコマンド(例えばリード/ライトコマンド)は受け付け不可とする。とともに、データを消去し、PINを初期化する。この後、ストレージ装置12はDestroy状態となる。そのため、Destroy状態はInactive状態(工場出荷時)40Aと同様に、管理者PIN、ユーザPINが設定できない状態であり、アンロックやロックが不可能な状態である。また、確認コマンド以外のコマンドやコマンドは受け付け不可である。そのため、Destroy状態のストレージ装置12は他の状態、Active状態やInactive状態に遷移することはできない。
図16(b)はDestroy状態の時のストレージ装置12の動作の一例を示すフローチャートである。ストレージ装置12はコマンドを受信すると(ステップ434のイエス)、受信したコマンドは確認コマンドであるか否かをステップ436で判定する。受信したコマンドが確認コマンドである場合、ストレージ装置12はステップ440で破壊状態であることを示す破壊状態情報をホスト装置14に返送する。受信したコマンドが確認コマンド以外のコマンドである場合、ストレージ装置12はステップ438でエラーを示すエラー情報をホスト装置14に返送する。
これにより、ストレージ装置12はDestroy状態への移行指示を受けると、データ蓄積部34のデータを消去し、PINを初期値に戻す、ストレージ装置12はDestroy状態においては、データ蓄積部34へのアクセスが不可能であり、データが流出する可能性は限りなく0である。また、破壊状態の場合、ストレージ装置12はホスト装置14からの確認コマンドに応答して破壊状態であることを示す応答をホスト装置14に返送するので、ホスト装置14はストレージ装置12が破壊状態であるか、故障状態あるいはリセット状態であるかを識別することができる。破壊・破砕装置が不要であるので、ストレージ装置12の管理コストが低い。また、故障品との区別がつき、故障品を間違って廃棄することがないので、廃棄品からのデータの流出を防止できる。
なお、Destroy状態の場合リード/ライトコマンドの受け付けを不可としたが、流出してもよいデータはリードアクセスを許可してもよい。すなわち、流出してもよいデータの記憶領域はリードオンリーエリアとしてもよい。
[第3実施形態]
上述の説明では、ストレージ装置12はデータ暗号化を備えず平文データを記憶する。次に、暗号化データを記憶するストレージ装置12の第3実施形態を説明する。図18は、第3実施形態のストレージ装置12Bの概略を示す。ストレージ装置12Bは図2に示すストレージ装置12に対して暗号処理部142と鍵管理部140が追加されている点が異なる。鍵管理部140はデータ暗号化のための鍵を発生して、自身に格納する。鍵は乱数発生器によって生成されるランダムな値である。暗号処理部142はデータ蓄積部34に入力される平文データをこの鍵を用いて暗号化する。暗号化のアルゴリズムの一例はAdvanced Encryption Standard(AES)のような公知の共通鍵アルゴリズムがある。暗号処理部142はデータ蓄積部34から出力される暗号化データに対して暗号化に用いた鍵と同じ鍵を用いて復号処理を行い、暗号化データを平文データに戻す。すなわち、データはデータ記憶部34に書き込まれる際常に暗号化され、データ記憶部34から読み出される際常に復号される。
上述したようにホスト装置14はストレージ装置12が実行するデータ消去の方式を指定する機能を有する。図7(c)に示すように、ストレージ装置12はデータ消去方式としてCrypto Eraseを実装することもできる。ホスト装置14がデータ消去方式としてCrypto Eraseを指定した場合で、RevertコマンドもしくはRevertSPコマンドでデータ消去指示がなされた場合、データ消去部118は鍵管理部140に鍵の更新を指示する。鍵管理部140は鍵更新が指示されると、新しい乱数を生成して新しい鍵の値を発生し、今まで使っていた鍵の値を破棄して代わりに新しい鍵の値を自身に格納する。暗号処理部142は以後新しい値の鍵を用いて暗号化、復号処理する。
このように鍵の値が更新されてしまうと、既にデータ蓄積部34に記録されていたデータは古い値の鍵で暗号化されているので、新しい値の鍵を用いて復号処理をしても、正しい平文データに復号(復元)することは不可能となる。このように鍵更新後は、暗号処理部142の暗号化処理、復号処理自身が無意味であるので、暗号化処理、復号処理自身の実行を停止させてもよい。図18に示す鍵管理部140は鍵更新後暗号処理部142に対して暗号化処理、復号処理を停止させる指示を送る。
このため、ストレージ装置12が暗号化データを記憶する場合も、ホスト装置14がデータ消去方式を指定することができ、ストレージ装置12は指定された消去方式でリセットされる。
[第4実施形態]
図19は暗号化データを記憶する第4実施形態のストレージ装置12Cの概略を示す。ストレージ装置12Cは図18に示した鍵管理部140と暗号処理部142とを備えるストレージ装置12Bに対して破壊処理部116が追加されている点が異なる。破壊処理部116はI/F処理部22と、認可処理部104と、リード/ライト処理部122と、データ消去部118と、暗号処理部142に接続される。ストレージ装置12がDestroy状態の場合、破壊処理部116は暗号処理部142に暗号機能の無効化を指示するとともに、リード/ライト処理部122にコマンド受け付け不可(確認コマンドは受け付け可)を指示する。さらに、ストレージ装置12がDestroy状態の場合、鍵管理部140は新しい乱数を生成して新しい鍵の値を発生し、今まで使っていた鍵の値を破棄して代わりに新しい鍵の値を自身に格納してもよい。鍵の値の更新により以前の値の鍵で暗号化されている暗号化データの復号は不可能となる。さらに、ストレージ装置12がDestroy状態の場合、鍵管理部140は暗号処理部142に対して暗号化処理、復号処理を停止させる指示を送ってもよい。
第4実施形態によれば、第2実施形態の効果と第3実施形態の効果を奏することができる。
[第5実施形態]
第1〜第4実施形態では、ストレージ装置12、12A、12B又は12CはInactive状態40Aのまま例えばPCベンダに出荷され、PCベンダがSIDを設定し、Active状態にしてエンドユーザに出荷し、エンドユーザが管理者PINとユーザPINを設定すると想定していた。すなわち、第1〜第4実施形態では、少なくとも管理者PINの初期値をPCベンダがエンドユーザに、たとえばマニュアルに記載するなどの方法で通知する必要があった。第5実施形態では、エンドユーザが管理者PINを紛失してしまった場合でも、データを消去する事無く、エンドユーザに通知した管理者PINを初期値に復旧させる方法を示す。
第5実施形態では、図20に示すように、ストレージ装置12DのPIN管理部112は、管理者PINを複数備える。ここで、管理者PIN1、管理者PIN2と定義する。図20は第1実施形態のストレージ装置12において管理者PINを複数備えたが、第2〜第4実施形態のストレージ装置12A、12B、12Cにおいて管理者PINを複数備えてもよい。PCベンダがActivateコマンドによってストレージ装置をActive状態にすると、管理者PIN1と管理者PIN2が初期値に設定される。ここで、PCベンダは管理者PIN1と管理者PIN2の値を設定するが、管理者PIN1の値はマニュアルに記載するなどの方法でエンドユーザに通知する。しかし、管理者PIN2の値はエンドユーザには開示せず、PCベンダはその値が外部に漏洩しないように適切に管理しておく。また、管理者PIN1と管理者PIN2の設定権限を図21に示したように、分離しておく。すなわち、管理者PIN1の権限ではSetコマンドで管理者PIN1の値を閲覧したり、Getコマンドで管理者PIN1の値を設定することはできるが、Setコマンドで管理者PIN2の値を閲覧したり、Getコマンドで管理者PIN2の値を設定することはできない。同様に、管理者PIN2の権限では、Setコマンドで管理者PIN2の値を閲覧したり、Getコマンドで管理者PIN2の値を設定することができるが、Setコマンドで管理者PIN1の値を閲覧したり、Getコマンドで管理者PIN1の値を設定することはできない。
管理者PIN1はユーザが管理するためユーザが知り得る値である。もし管理者PIN1の権限で管理者PIN2の値が変更(設定)されてしまうと、管理者PIN2の値は、PCベンダの工場で設定した管理者PIN2の値と異なる値となってしまう。これを防ぐために、管理者PIN1の権限では管理者PIN2の値を閲覧したり(Setコマンド)、設定したり(Getコマンド)できないように、権限を分離する。なお、図21では管理者PIN2の権限では管理者PIN1を設定も閲覧もできないようにしているが、管理者PIN1の権限で管理者PIN2が変更できないようになっていればよいため、管理者PIN2の権限では管理者PIN1の設定と閲覧ができるようにアクセスコントロールを設定しておいてもよい。
第1実施形態の図3(a)で示したように、管理者PINではRevertSPコマンドを発行することができる。PCベンダはエンドユーザからの要請に基づいて、管理者PIN2でRevertSPコマンドを使ってリセット処理を行う。このリセット処理、すなわちRevertSPコマンドの実行命令は、たとえばインターネット経由でPCベンダの管理するサーバからリモートからエンドユーザのPCに送信できるようにしてもよい。RevertSPコマンドにはデータを消去するか、残すかを示すパラメータを指定する事ができる。つまり、管理者PIN2でRevertコマンドにデータを残すオプションを指定すれば、データはそのまま残るが、管理者PIN1は初期化される。なお、RevertSPコマンドによるリセット後でもストレージ装置はInactive状態ではなくActive状態に留まるようになっていてもよい。
このように管理者PINを複数定義するようにストレージ装置12Dを構成しておくことで、エンドユーザが管理者PIN1を紛失した場合でも、管理者PIN1の初期化を実現できる。
[第6実施形態]
第1〜第5実施形態では、ストレージ装置12、12A、12B、12C又は12DはInactive状態40Aのまま例えばPCベンダに出荷され、PCベンダがSIDを設定し、Active状態にしてエンドユーザに出荷し、エンドユーザが管理者PINとユーザPINを設定すると想定していた。第6の実施形態では、PCベンダはSIDを設定するがActive状態には遷移させずInactive状態のままストレージ装置をエンドユーザに出荷し、エンドユーザ側でActive状態への遷移、管理者PINとユーザPINの設定をする事を想定する。
図3(a)に示したように、Inactive状態からActive状態への遷移には所有者PINが必要である。上記想定ではPCベンダが管理者PINを初期値からPCベンダが知り得る値に設定するが、Activateコマンドはエンドユーザ側で実行されるため、エンドユーザ側で所有者PINをストレージ装置に入力する必要がある。これを実現するには、(1)PCに所有者PINの値そのものを備えさせる方法、(2)PCは所有者PINの値そのものは持たず、エンドユーザ側で所有者PINを計算させる方法の2通りがある。
(1)PCに所有者PINの値そのものを備えさせる方法
PCベンダはBIOSなど、ユーザが容易に閲覧(リード:read)できない領域にSIDを格納してストレージ装置をエンドユーザに出荷する。エンドユーザにはInactive状態で出荷されるため、初期状態ではロック機能は無効化されている。エンドユーザがロック機能を有効化する際に、BIOSなどに格納されたプログラムによって、当該エンドユーザが容易に閲覧できない領域に格納されたSIDが読み出され、Activateコマンドによってストレージ装置をInactive状態からActive状態に遷移させる。
(2)PCは所有者PINの値そのものは持たせない方法
PCベンダはあらかじめ、SIDのラベル情報とストレージ装置のシリアル番号などを用いてSIDを生成し、そのSIDの値をストレージ装置に設定しておく。この生成アルゴリズムは、パラメータを含めてPCベンダのみが知り得るとしておく。ラベル情報とはSIDのIDを意味する。SIDの値(例えば、XXX、YYY、ZZZ)とラベル情報(例えば、0001、0002、0003)とは対応している。SIDの値はユーザには配布されないが、ラベル情報はユーザに配布される。
ストレージ装置のユーザが設定(ライト:write)できない領域にSIDのラベル情報が格納されている。エンドユーザ側でBIOSなどに格納されたプログラムが、当該ラベル情報と、ストレージ装置のシリアル番号などを用いてSIDを生成する。エンドユーザはこのSIDを用いてActivateコマンドによってストレージ装置をInactive状態からActive状態に遷移させる。また、PCがインターネットに接続されている場合は、PCとPCベンダのサーバを通信させ、PCからSIDのラベル情報とストレージ装置のシリアル番号をPCベンダのサーバに送信し、PCベンダがそれらの情報を元にSIDを生成してもよい。これにより、エンドユーザ側で所有者PINを持たせずに、所有者PINの認証を行うことができる。
あるいは、PCベンダがSIDの値(例えば、XXX、YYY、ZZZ)とラベル情報(例えば、0001、0002、0003)との対をテーブルに保存しておいてもよい。各ストレージ装置のユーザが容易に閲覧できない、かつユーザが設定できないSID格納領域にSIDの値(例えば、XXX)が設定される。PCはSIDのラベル情報、すなわち、どのSIDが設定されているかをPCベンダのサーバに通知する。このため、ラベル情報はユーザに勝手に変更されないことが好ましい。PCベンダは上記テーブルを参照してラベル情報からSIDを取得することができる。PCベンダは取得したSIDをネットワーク経由でPCのプログラムに伝送する事でも、エンドユーザ側で所有者PINを持たせずに、所有者PINの認証を行うことができる。
上記のいずれの場合でも、ストレージ装置はSIDのラベル情報を格納しておく領域を確保する必要がある。この領域はエンドユーザが通常のリード・ライトコマンドでアクセスできないようにLBA領域外に定義する事が望ましい。さらに、エンドユーザによってSIDのラベル情報が勝手に変更できないように、書き込み権限をSIDに制限しておく必要がある。図22に本実施形態におけるストレージ装置12Eの構成図を示す。図22に示すように、ストレージ装置12Eは新たにラベルストア(LabelStore)管理部150を備える。ラベルストア管理部150は、ラベルストアテーブル152へSIDのラベル情報を設定したり、ラベルストアテーブル152からラベル情報を閲覧したりする。ラベルストアテーブル152はLBAへのリードコマンドやライトコマンドではなく、SetコマンドとGetコマンドによってアクセスされる。つまり、ラベルストア管理部150はSetコマンドによってラベルストアテーブル152に値を設定し、Getコマンドによってラベルストアテーブル152から設定された値を取得する。図22は第1実施形態のストレージ装置12においてラベルストア管理部150を備えたが、第2〜第5実施形態のストレージ装置12A、12B、12C又は12Dにおいてラベルストア管理部150を備えてもよい。
さらに、図23に示すように、ラベルストアテーブル152へのアクセス権限はコマンドの発行元によって制限される。どの権限でもラベルストアテーブル152の値を読み込める(Get)が、ラベルストアテーブル152への書き込み(Set)は管理者PINの権限に制限される。例えば、ラベルストアテーブル152についてのSetコマンドがストレージ装置12Eに供給されると、認証処理部102がPIN認証を行い、認可処理部104がSetコマンドの発行元が所有者であるか否かを判定する。Setコマンドの発行元が所有者である場合、ラベル情報がラベルストアテーブル152に設定される。
PCベンダの工場にて、SIDを設定する。そのSIDの権限を用いて、SIDのラベル情報をラベルストアテーブル152に格納しておく。このようにすることで、SIDのラベル情報の書き込み権限をSIDに制限しておくことが実現できる。
これにより、エンドユーザ側でActivateコマンドによってInactive状態からActive状態に遷移させる事ができるようになり、ロック機能を利用しない場合は、Inactive状態で出荷されたPCをそのまま利用する事ができる。ロック機能を利用したいユーザは、手元でActivateコマンドによってInactive状態からActive状態に遷移させる事で、ロック機能を有効化することができる。このようにロック機能を利用するユーザと利用したくないユーザに両方の機能を提供することができ、ユーザの使い勝手を向上させることができる。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
12…ストレージ装置、14…ホスト装置、22…I/F処理部、34…データ蓄積部、102…認証処理部、104…認可処理部、106…消去方式表示部、116…破壊処理部、118…データ消去部、112…PIN管理部、122…リード/ライト処理部、124…消去情報管理部。

Claims (6)

  1. 暗号化されていないユーザデータを記憶し、少なくとも1つの消去方式を備えるストレージ装置であって、
    ホスト装置から前記ストレージ装置が備える前記少なくとも1つの消去方式に関する問い合わせを受信する受信手段と、
    前記問い合わせを受信すると、前記少なくとも1つの消去方式を表す応答情報を前記ホスト装置に送信する手段と、
    第1認証手段と
    を具備し、
    前記応答情報は、各々が複数の消去方式の各々に対応する複数のビットを含み、
    前記複数のビットの各々は、前記ストレージ装置が前記複数のビットの各々に対応する消去方式を備えているか否かを表し、
    前記複数の消去方式は、前記ストレージ装置が備える前記少なくとも1つの消去方式を含
    前記第1認証手段は、前記応答情報の送信後に前記ホスト装置から消去方式を指定する指定情報を受信すると、前記指定情報の発行元が発行権限を有するか否かを判定し、前記発行元が前記指定情報の発行権限を有すると判定した場合、前記受信手段に前記消去方式を受信させるストレージ装置。
  2. 前記受信手段は、前記ホスト装置の電源オン時またはブート時に前記問い合わせを受信する、請求項1記載のストレージ装置。
  3. 第2認証手段をさらに具備し、
    前記第2認証手段は、前記ホスト装置から消去指示を受信すると、前記消去指示の発行元が発行権限を有するか否かを判定し、前記発行元が前記消去指示の発行権限を有すると判定した場合、前記第1認証手段が受信した前記消去方式で前記消去指示を実行させる、請求項1記載のストレージ装置。
  4. 個人識別情報を設定する設定手段と、
    前記設定手段により設定された前記個人識別情報を初期値に戻す初期化手段と、をさらに具備し、
    前記個人識別情報は少なくとも第1個人に関する第1識別情報と第2個人に関する第2識別情報と、をさらに具備し、
    前記消去指示は前記設定手段により設定された前記個人識別情報を初期値に戻すことも含み、
    前記消去指示は消去するデータと初期値に戻す前記個人識別情報が異なる少なくとも第1指示と第2指示とを具備し、
    前記第1指示の発行権限と前記第2指示の発行権限は異なる、請求項3記載のストレージ装置。
  5. 前記受信手段が前記応答情報の送信後に前記ホスト装置から消去方式を指定する指定情報を受信すると、前記ホスト装置により指定された消去方式が自身が備える前記少なくとも1つの消去方式と異なるか否かを判定し、前記ホスト装置により指定された消去方式が自身が備える前記少なくとも1つの消去方式と異なる場合、前記ホスト装置に指定エラー信号を送信する第2認証手段をさらに具備する、請求項1記載のストレージ装置。
  6. 前記少なくとも1つの消去方式は、上書き消去方式と、ブロック消去方式と、アンマップ方式のいずれか1つを具備する、請求項1記載のストレージ装置。
JP2017181632A 2017-09-21 2017-09-21 ストレージ装置 Active JP6892361B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2017181632A JP6892361B2 (ja) 2017-09-21 2017-09-21 ストレージ装置
TW112109600A TW202343260A (zh) 2017-09-21 2018-02-06 儲存裝置
TW107104089A TWI763780B (zh) 2017-09-21 2018-02-06 儲存裝置
TW111112740A TWI799224B (zh) 2017-09-21 2018-02-06 控制儲存裝置之方法
CN201810188444.0A CN109542334B (zh) 2017-09-21 2018-03-07 存储器装置
CN202210629690.1A CN114895853A (zh) 2017-09-21 2018-03-07 存储器装置的控制方法
KR1020180026739A KR102111558B1 (ko) 2017-09-21 2018-03-07 스토리지 장치
US15/921,196 US11360680B2 (en) 2017-09-21 2018-03-14 Storage device
US17/735,858 US11861194B2 (en) 2017-09-21 2022-05-03 Storage device configuration and method managing storage configuration

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017181632A JP6892361B2 (ja) 2017-09-21 2017-09-21 ストレージ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2021036348A Division JP7059414B2 (ja) 2021-03-08 2021-03-08 ストレージ装置及び方法

Publications (2)

Publication Number Publication Date
JP2019057165A JP2019057165A (ja) 2019-04-11
JP6892361B2 true JP6892361B2 (ja) 2021-06-23

Family

ID=65719275

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017181632A Active JP6892361B2 (ja) 2017-09-21 2017-09-21 ストレージ装置

Country Status (5)

Country Link
US (2) US11360680B2 (ja)
JP (1) JP6892361B2 (ja)
KR (1) KR102111558B1 (ja)
CN (2) CN109542334B (ja)
TW (3) TW202343260A (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3291184B1 (en) * 2016-09-02 2023-06-07 Assa Abloy AB Resetting access to an access object
US10897462B2 (en) * 2017-05-16 2021-01-19 Citrix Systems, Inc. Systems and methods for encoding additional authentication data into an active directory security identifier
JP2019133345A (ja) 2018-01-30 2019-08-08 東芝メモリ株式会社 データ蓄積装置、データ処理システムおよびデータ処理方法
US11847241B1 (en) * 2018-04-20 2023-12-19 Amazon Technologies, Inc. Management of service permissions
US10656854B1 (en) * 2019-10-22 2020-05-19 Apricorn Method and portable storage device with internal controller that can self-verify the device and self-convert the device from current mode to renewed mode without communicating with host
TWI733375B (zh) * 2020-03-17 2021-07-11 群聯電子股份有限公司 資料轉移方法與記憶體儲存裝置
CN113448488B (zh) * 2020-03-25 2023-10-13 群联电子股份有限公司 数据转移方法与存储器存储装置
CN116157782A (zh) * 2020-08-25 2023-05-23 美光科技公司 存储器系统中的取消映射积压工作
US20220269437A1 (en) * 2021-02-19 2022-08-25 Western Digital Technologies, Inc. Data Storage Device and Method for Predetermined Transformations for Faster Retrieval
KR102560696B1 (ko) * 2022-01-26 2023-07-28 삼성전자주식회사 접근 권한 제어를 수행하는 스토리지 장치 및 그 동작방법
US11941262B1 (en) * 2023-10-31 2024-03-26 Massood Kamalpour Systems and methods for digital data management including creation of storage location with storage access ID

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR900014993A (ko) * 1989-03-14 1990-10-25 강태헌 개인용 컴퓨터의 안전 체계 구축 방법 및 그 장치
JP2003330806A (ja) * 2002-05-16 2003-11-21 Nec Corp 記憶情報消去装置、記憶情報消去サービス装置、記憶情報消去管理装置、記憶情報消去システム及びプログラム
US20040114265A1 (en) * 2002-12-16 2004-06-17 Xerox Corporation User-selectable automatic secure data file erasure of job after job completion
JP2005018415A (ja) * 2003-06-26 2005-01-20 Toshiba Corp 情報処理装置および同装置で使用されるデータ消去方法
JP2006344177A (ja) * 2005-06-10 2006-12-21 Kyocera Mita Corp データ消去装置及びデータ消去プログラム
US8661540B2 (en) * 2005-10-07 2014-02-25 Imation Corp. Method and apparatus for secure credential entry without physical entry
JP2009512096A (ja) * 2005-10-18 2009-03-19 インタートラスト テクノロジーズ コーポレイション デジタル著作権管理エンジンのシステムおよび方法
JP4699516B2 (ja) * 2006-03-28 2011-06-15 富士通株式会社 名前空間複製プログラム、名前空間複製装置、名前空間複製方法
JP4259589B2 (ja) 2006-05-09 2009-04-30 セイコーエプソン株式会社 電子機器、アクセス制御方法
US7971241B2 (en) 2006-12-22 2011-06-28 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for providing verifiable security in storage devices
JP2008192212A (ja) * 2007-02-01 2008-08-21 Spansion Llc 半導体装置およびその制御方法
JP5042660B2 (ja) * 2007-02-15 2012-10-03 株式会社日立製作所 ストレージシステム
KR20090032936A (ko) * 2008-06-12 2009-04-01 박석환 휴대 메모리 장치 및 휴대 메모리 장치에 저장된 데이터의 관리 방법
JP2011014103A (ja) 2009-07-06 2011-01-20 Ricoh Co Ltd 画像処理装置及び画像処理装置におけるデータ消去方法
JP5538970B2 (ja) * 2010-03-25 2014-07-02 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
TW201142603A (en) * 2010-05-25 2011-12-01 Coresolid Storage Corp Method to improve read/write speed of nonvolatile memory
US20120079229A1 (en) * 2010-09-28 2012-03-29 Craig Jensen Data storage optimization for a virtual platform
JP4970585B2 (ja) * 2010-11-10 2012-07-11 株式会社東芝 サービス提供システム及びユニット装置
JP5624510B2 (ja) * 2011-04-08 2014-11-12 株式会社東芝 記憶装置、記憶システム及び認証方法
US8832402B2 (en) * 2011-04-29 2014-09-09 Seagate Technology Llc Self-initiated secure erasure responsive to an unauthorized power down event
US9805054B2 (en) * 2011-11-14 2017-10-31 Panzura, Inc. Managing a global namespace for a distributed filesystem
JP5602169B2 (ja) * 2012-03-01 2014-10-08 株式会社東芝 通信管理装置、通信管理方法、及びプログラム
JP6056567B2 (ja) * 2013-03-12 2017-01-11 株式会社リコー 情報処理装置、画像形成装置、データ消去方法、および、データ消去プログラム
US9990382B1 (en) * 2013-04-10 2018-06-05 Amazon Technologies, Inc. Secure erasure and repair of non-mechanical storage media
US9436831B2 (en) * 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9245140B2 (en) * 2013-11-15 2016-01-26 Kabushiki Kaisha Toshiba Secure data encryption in shared storage using namespaces
KR20150138528A (ko) 2014-05-29 2015-12-10 삼성전자주식회사 플래시 메모리를 기반으로 하는 스토리지 시스템 및 그것의 동작 방법
JP2016012335A (ja) * 2014-06-05 2016-01-21 株式会社Genusion 記憶装置及び記憶装置システム並びに情報端末
US9696935B2 (en) * 2015-04-24 2017-07-04 Kabushiki Kaisha Toshiba Storage device that secures a block for a stream or namespace and system having the storage device
US10146782B1 (en) * 2015-06-30 2018-12-04 EMC IP Holding Company LLC Secure erasure of files by a filesystem
JP2017027388A (ja) * 2015-07-23 2017-02-02 株式会社東芝 メモリシステムおよび不揮発性メモリの制御方法
KR102450555B1 (ko) 2015-11-09 2022-10-05 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
JP6523193B2 (ja) * 2016-03-08 2019-05-29 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
JP6448571B2 (ja) * 2016-03-08 2019-01-09 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US9633738B1 (en) * 2016-06-28 2017-04-25 Sandisk Technologies Llc Accelerated physical secure erase
US10089134B2 (en) * 2016-06-30 2018-10-02 Western Digital Technologies, Inc. Controlling access to namespaces of a storage device
US10620855B2 (en) * 2016-09-06 2020-04-14 Samsung Electronics Co., Ltd. System and method for authenticating critical operations on solid-state drives
JP6875808B2 (ja) * 2016-09-09 2021-05-26 キヤノン株式会社 情報処理装置
TWI602074B (zh) * 2016-12-29 2017-10-11 慧榮科技股份有限公司 建立多重命名空間方法與存取多重命名空間的資料的方法
JP6877265B2 (ja) * 2017-06-27 2021-05-26 ルネサスエレクトロニクス株式会社 半導体装置、及びフラッシュメモリ制御方法
US11580034B2 (en) * 2017-11-16 2023-02-14 Micron Technology, Inc. Namespace encryption in non-volatile memory devices
US11455402B2 (en) * 2019-01-30 2022-09-27 Seagate Technology Llc Non-volatile memory with precise write-once protection

Also Published As

Publication number Publication date
US11360680B2 (en) 2022-06-14
US11861194B2 (en) 2024-01-02
JP2019057165A (ja) 2019-04-11
CN109542334A (zh) 2019-03-29
TW201915750A (zh) 2019-04-16
US20190087113A1 (en) 2019-03-21
KR20190033413A (ko) 2019-03-29
TW202343260A (zh) 2023-11-01
CN109542334B (zh) 2022-06-24
TWI799224B (zh) 2023-04-11
KR102111558B1 (ko) 2020-05-18
US20220261166A1 (en) 2022-08-18
TWI763780B (zh) 2022-05-11
TW202246990A (zh) 2022-12-01
CN114895853A (zh) 2022-08-12

Similar Documents

Publication Publication Date Title
JP6892361B2 (ja) ストレージ装置
JP4610557B2 (ja) データ管理方法、そのプログラム及びプログラムの記録媒体
JP7187362B2 (ja) ストレージ装置及び制御方法
JP4463320B1 (ja) 暗号化記憶装置、情報機器、暗号化記憶装置のセキュリティ方法
JP2007004522A (ja) 記憶装置
KR20120104175A (ko) 일회기록 다회판독 메모리 장치의 인증 및 보안
US20130191636A1 (en) Storage device, host device, and information processing method
CN113113068A (zh) 存储器控制器和包括存储器控制器的存储装置
JP2021118370A (ja) メモリシステム、情報処理装置、および情報処理システム
JP2012090231A (ja) 記憶装置及びセキュアイレース方法
TWI705687B (zh) 用於資料加解密的金鑰管理裝置及處理器晶片
JP5676145B2 (ja) 記憶媒体、情報処理装置およびコンピュータプログラム
JP7059414B2 (ja) ストレージ装置及び方法
JP2000250818A (ja) 記憶システム、記憶装置及び記憶データ保護方法
JP5304366B2 (ja) 記憶媒体ユニット,及び、記憶媒体自動消去システム
KR101042218B1 (ko) 컴퓨터용 데이터 보안시스템의 데이터 보안방법
TWI731407B (zh) 具有旁通通道的金鑰管理裝置及處理器晶片
KR20220003233A (ko) 애플리케이션을 통한 디바이스의 제어 방법, 이를 수행하기 위한 장치 및 시스템
JP2023006987A (ja) メモリシステムおよび情報処理システム
JP2023137886A (ja) ストレージ装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20180830

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201112

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20201208

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210308

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20210308

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210323

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210330

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: 20210427

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210527

R150 Certificate of patent or registration of utility model

Ref document number: 6892361

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150