JP2015172959A - フラッシュメモリのアクセス方法 - Google Patents

フラッシュメモリのアクセス方法 Download PDF

Info

Publication number
JP2015172959A
JP2015172959A JP2015101939A JP2015101939A JP2015172959A JP 2015172959 A JP2015172959 A JP 2015172959A JP 2015101939 A JP2015101939 A JP 2015101939A JP 2015101939 A JP2015101939 A JP 2015101939A JP 2015172959 A JP2015172959 A JP 2015172959A
Authority
JP
Japan
Prior art keywords
block
key
file
data
stored
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.)
Pending
Application number
JP2015101939A
Other languages
English (en)
Inventor
竟成 袁
Jingcheng Yuan
竟成 袁
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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
Priority claimed from TW102111088A external-priority patent/TWI509457B/zh
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of JP2015172959A publication Critical patent/JP2015172959A/ja
Pending 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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

【課題】データストレージデバイスおよびデータプロテクション方法を提供する。
【解決手段】コントローラー220は第一ファイルを暗号化して、第一暗号化ファイルを生成し、フラッシュメモリ210に保存し、更に、キー生成モジュール222、暗号化/復号モジュール224、キー消去モジュール226を含む。キー生成モジュール222は、ホスト装置の第一書き込みコマンドに従って、第一キーを生成し、第一キーは複数のブロックの第一ブロック中に保存される。暗号化/復号モジュール224は、第一キーに従って、第一ファイルを暗号化して、第一暗号化ファイルを生成し、複数のブロックの少なくともひとつの第二ブロック中に保存される。キー消去モジュールは、第一消去コマンドに従って、第一ブロック中に保存される第一キーを削除し、第二ブロック中に保存される第一暗号化ファイルを無効にする。
【選択図】図2

Description

本発明は、データストレージデバイスに関するものであって、特に、データを暗号化するデータストレージデバイスに関するものである。
フラッシュメモリは、電気的に消去できると共に、再プログラムできる一種の不揮発性メモリで、主に、メモリカード、USBフラッシュドライブ、eMMCs、または、ソリッドステートディスク中に組み入れられ、コンピュータシステムとデジタル製品間のデータ保存、および、データ伝送を行う。
フラッシュメモリは、複数のメモリブロックを含み、各メモリブロックは、複数のデータを保存する保存ページを有する。フラッシュメモリは、メモリブロックをユニットとしてデータを消去し、保存ページをユニットとしてプログラムデータを書き込む。しかし、フラッシュメモリ中に保存されるデータは、ユーザーがデータを削除後、消去されない。これにより、削除されたデータは無許可のユーザーによりアクセスされ、情報セキュリティを妨げる。
本発明は、データストレージデバイスおよびデータプロテクション方法を提供することを目的とする。
本発明は、フラッシュメモリおよびコントローラーを含むデータストレージデバイスを開示する。フラッシュメモリは複数のブロックを含む。コントローラーは第一ファイルを暗号化して、第一暗号化ファイルを生成し、暗号化された第一ファイルをフラッシュメモリに保存し、コントローラーは、さらに、キー生成モジュール、暗号化/復号モジュールおよびキー消去モジュールを含む。キー生成モジュールは、ホスト装置の第一書き込みコマンドに従って、第一キーを生成し、第一キーは複数のブロックの第一ブロック中に保存される。暗号化/復号モジュールは、第一キーに従って、第一ファイルを暗号化し、第一暗号化ファイルを生成し、第一暗号化ファイルは複数のブロックの少なくともひとつの第二ブロック中に保存される。キー消去モジュールは、第一消去コマンドに従って、第一ブロック中に保存される第一キーを削除し、第二ブロック中に保存される第一暗号化ファイルを無効にする。
本発明は、さらに、データプロテクション方法を開示し、ホスト装置の第一書き込みコマンドに従って、第一キーを生成し、第一ブロック中の第一キーに保存する工程と、第一キーに従って、第一ファイルを暗号化し、第一暗号化ファイルを生成して、第一暗号化ファイルを少なくともひとつの第二ブロックに保存する工程、および、第一消去コマンドに従って、第一ブロックを消去して、第一キーを削除し、第二ブロックに保存される第一暗号化ファイルを無効にする工程、を含む。
本発明は、さらに、データプロテクション方法を開示し、第一書き込みコマンドおよび第一ファイルを受信する工程と、第一書き込みコマンドに従って、第一キーを生成する工程と、第一キーに従って、第一ファイルを暗号化し、第一暗号化ファイルを生成する工程と、第一ブロック中に第一キーを保存し、および、少なくともひとつの第二ブロック中に第一暗号化ファイルを保存する工程、および、第一消去コマンドが受信された時、第一キーを削除して、第一暗号化ファイルを保持する工程、を含む。
本発明は、さらに、フラッシュメモリのアクセス方法を開示し、ホストから、書き込みコマンドおよび第一データを受信する工程と、第一プログラムコマンドを伝送し、第一データをフラッシュメモリのブロックの複数の第一ページに書き込む工程と、削除コマンドを受信して、ホストから第一データを削除する工程、および、第二プログラムコマンドを伝送して、所定データを第一ページに書き込む工程、を含む。
本発明は、さらに、フラッシュメモリのアクセス方法を開示し、ホストから、書き込みコマンドおよび第一データを受信する工程と、第一プログラムコマンドを伝送して、第一データをフラッシュメモリのブロックの複数の第一ページに書き込む工程と、削除コマンドを受信して、ホストから第一データ を削除する工程、および、第二プログラムコマンドを伝送して、第一ページをオーバープログラミング(over-programming)する工程、を含む。
本発明により開示されるデータストレージデバイスおよびデータプロテクション方法は、暗号化キーを消去、または、破壊することにより、保存されたファイルを無効にすることができる。
本発明のストレージシステムの具体例を示す図である。 本発明のデータストレージデバイスの具体例を示す図である。 本発明の具体例によるデータプロテクション方法のフローチャートである。 本発明のデータストレージデバイスの別の具体例を示す図である。
図1は、本発明のストレージシステムの具体例を示す図である。ストレージシステム100は、ホスト装置102および、たとえば半導体ドライブ (SSD)のようなデータストレージデバイス200、SDカードまたはフラッシュドライブを含む。ホスト装置102は、少なくともひとつのファイルF1-FN、少なくともひとつの書き込みコマンドC11-C1N、少なくともひとつの消去コマンドC21-C2N、および、少なくともひとつの 読み込みコマンドR1-RNを伝送する。データストレージデバイス200は、対応する書き込みコマンドC11-C1Nに従って、ファイルF1-FNを暗号化し、保存する。データストレージデバイス200は、さらに、対応する消去コマンドC21-C2Nに従って、ファイルF1-FNの対応するキーを削除し、対応する読み込みコマンドR1-RNに従って、保存されたファイルF1-FNをホスト装置102に伝送する。
図2は、本発明のデータストレージデバイスの具体例を示す図である。データストレージデバイス200は、フラッシュメモリ210およびコントローラー220を含む。フラッシュメモリ210は、ファイルF1-FNおよび/または少なくともひとつの暗号化ファイルF1’-FN’を保存する。注意すべきことは、フラッシュメモリ210は複数のメモリユニット (図示しない)を含み、各メモリユニットは複数のブロック (図示しない)を含み、各ブロックは複数のページ (図示しない)を含むことである。コントローラー220は、書き込みコマンドC11-C1Nに従って、ファイルF1-FNを暗号化して、それぞれ、暗号化ファイルF1’-FN’を生成し、暗号化ファイルF1’-FN’ をフラッシュメモリ210中に保存する。コントローラー220は、さらに、消去コマンド C21-C2Nに従って、フラッシュメモリ210に保存される暗号化ファイルF1’-FN’を無効にし、読み込みコマンドR1-RNに従って、暗号化ファイルF1’-FN’を暗号化し、復号されたファイルF1-FNをホスト装置102に伝送する。さらに、コントローラー220は、さらに、キー生成モジュール222、暗号化/復号モジュール224およびキー消去モジュール226を含む。
キー生成モジュール222は、ホスト装置102から受信される書き込みコマンド C11-C1Nに従って、それぞれ、キーK1-KNを生成する。キー生成モジュール222は、さらに、キーK1-KNを暗号化/復号モジュール224に伝送し、キーK1-KNをフラッシュメモリ210のブロック中に保存する。注意すべきことは、各キーK1-KNは、それぞれ、異なるブロック中に保存されるデータを暗号化、および、復号し、異なるキーK1-KNに対応するブロック数量は、それぞれ、書き込みコマンドC11-C1Nにより決定されるが、これに限定されない。たとえば、キー生成モジュール222は、書き込みコマンドC11に従って、キーK1を生成し、キーK1はデータの第一所定量を暗号化し、データの第一所定量を保存するために3ブロックが必要である。これにより、キー1はフラッシュメモリの3ブロックに対応する。すなわち、キーK1は、フラッシュメモリ210の第五ブロック、第六ブロックと第七ブロック中に保存されるデータを暗号化、および、復号する。本発明の一具体例において、書き込みコマンド C11-C1Nは、所定長さに従って、少なくともひとつのキーK1-KNに対応するブロックの数量を判断する。本発明の別の具体例において、書き込みコマンドC11-C1Nは、ファイルF1-FNの長さに従って、それぞれ、キーK1-KNが対応するブロックの数量を判断する。
注意すべきことは、キー生成モジュール222は、キーK1-KNを、異なるブロックまたは一部ロック中に保存するが、この限りではない。たとえば、キー生成モジュール222は、ホスト装置102から受信される書き込みコマンドC11に従って、キーK1を生成し、キーK1をフラッシュメモリ210の第一ブロックに保存する。次に、キー生成モジュール222は、ホスト装置102から受信された書き込みコマンドC12に従って、キーK2を生成し、キーK2をフラッシュメモリ210の第一ブロックに保存する。これにより、コントローラー220が消去コマンドC21を受信する場合、コントローラー220により、第一ブロックを消去することにより、キーK1およびキーK2が削除される。すなわち、消去コマンドC21を受信する時、コントローラー220は、第一ブロックを消去して、キーK1-KNを削除する。本発明の別の具体例において、キー生成モジュール222は、ホスト装置102から受信される書き込みコマンドC11に従って、キーK1を生成し、キーK1をフラッシュメモリ210の第一ブロック中に保存する。次に、キー生成モジュール222は、ホスト装置102から受信される書き込みコマンドC12に従って、キーK2を生成し、キーK2をフラッシュメモリ210の第三ブロック中に保存する。この例において、ユーザーは、それぞれ、第一ブロックまたは第三ブロックを消去することにより、キーK1またはキーK2を削除する。
暗号化/復号モジュール224は、対応するキーK1-KNに従って、ファイルF1-FNを暗号化して、それぞれ、暗号化ファイルF1’-FN’を生成し、暗号化ファイルF1’-FN’はフラッシュメモリのブロック中に保存される。たとえば、暗号化/復号モジュール224は、高度暗号化標準 (AES)により、キーK1-KNに従って、ファイルF1-FNを暗号化するが、この限りではない。別の例において、暗号化/復号モジュール224は、さらに、データ暗号化標準 (DES)またはトリプルデータ暗号化標準(3DES)により、ファイルF1-FNを暗号化する。注意すべきことは、暗号化ファイルF1’-FN’ はキーK1-KNと同じブロック中に保存される、または、異なるブロック中に保存され、この限りではない。本発明の好ましい具体例において、暗号化ファイルF1’-FN’およびキーK1-KNは、異なるブロック中に保存される。さらに、暗号化ファイルF1’-FN’ は、ページユニットまたはブロックユニットにより、フラッシュメモリ210中に書き込まれるが、この限りではない。暗号化/復号モジュール224は、さらに、ブロック中に保存される対応するキーK1-KNに従って、それぞれ、フラッシュメモリ210に保存される暗号化ファイルF1’-FN’を復号して、ファイルF1-FNを得て、ファイルF1-FNをホスト装置102に伝送する。たとえば、コントローラー220が読み込みコマンドR1を受信する時、暗号化/復号モジュール224は、読み込みコマンドR1に従って、暗号化ファイル F1’を設置し、暗号化ファイル F1’のアドレスに従って、または、直接、暗号化ファイルF1’に従って、対応するキーK1を回収する。たとえば、フラッシュメモリ210は、さらに、暗号化ファイルF1’-FN’とキーK1-KNのアドレスのマッピング関係、または、暗号化ファイルF1’-FN’とキーK1-KNのマッピング関係を記録するのに用いられるマッピングテーブルを含むことができる。次に、暗号化/復号モジュール224は、キーK1に従って、暗号化ファイル F1’ を暗号化して、ファイルF1を得て、ファイルF1をホスト装置102に伝送する。
キー消去モジュール226は、対応する消去コマンド C21-C2Nに従って、ブロックに保存されるキーK1-KNを削除し、暗号化ファイルF1’-FN’を無効にする。すなわち、キー消去モジュール226は、対応する消去コマンド C21-C2Nに従って、キーK1-KNを有するブロックを消去し、このような無許可のユーザーは、キーK1-KNにより暗号化ファイルF1’-FN’を暗号化することができない。これにより、暗号化ファイルF1’-FN’は無効になる。別の例において、キー消去モジュール226は、対応する消去コマンドC21-C2Nに従って、無効データを有するキーK1-KNを有するブロックを上書きする。ブロックが上書きした時、対応するキーK1-KNが壊れ、よって、無許可のユーザーは、キーK1-KNにより暗号化ファイルF1’-FN’ を暗号化することができない。
図3は、本発明の具体例によるデータプロテクション方法のフローチャートである。データプロテクション方法は図2のデータストレージデバイス200に応用される。プロセスはS300から開始される。
ステップS300において、データストレージデバイス200は書き込みコマンドが受信されたか判断する。書き込みコマンドが受信された場合、プロセスはS302に進み、そうでなければ、プロセスはステップS306に進む。
S302において、キー生成モジュール222は、ホスト装置102から受信される書き込みコマンドに従って、キーを生成し、キーを暗号化/復号モジュール224に伝送して、フラッシュメモリのブロックに保存する。注意すべきことは、各キーK1-KNは、それぞれ、異なるブロック中に保存されたデータを暗号化、および、復号し、異なるキーK1-KNに対応するブロックの数量は、それぞれ、書き込みコマンドC11-C1Nにより決定されるが、この限りではないことである。たとえば、キー生成モジュール222は、書き込みコマンドC11に従って、キーK1を生成し、キーK1は第一所定量のデータを暗号化し、第一所定量を保存するために3ブロックが必要である。これにより、キーK1は、フラッシュメモリ210中の第五ブロック、第六ブロックと第七ブロック中に保存されるデータを暗号化、および、復号する。本発明の一具体例において、書き込みコマンドC11-C1Nは、所定長さに従って、少なくともひとつのキーK1-KNに対応するブロックの数量を決定する。本発明の別の具体例において、書き込みコマンドC11-C1Nは、それぞれ、ファイルF1-FNの長さに従って、キーK1-KNに対応するブロックの数量を決定する。さらに、キー生成モジュール222は、キーK1-KNを異なるブロック、または、同じブロック中に保存するが、この限りではない。たとえば、キー生成モジュール222は、ホスト装置102から受信される書き込みコマンドC11に従って、キーK1を生成し、キーK1をフラッシュメモリ210の第一ブロック中に保存する。次に、ホスト装置102から受信される書き込みコマンドC12に従って、キー生成モジュール222がキーK2を生成し、キーK2をフラッシュメモリ210の第一ブロックに保存する。注意すべきことは、この例において、フラッシュメモリがブロック消去モードにあるため、同じブロック中に保存されるキーが同時に削除されることである。本発明の別の具体例において、ホスト装置102から受信される書き込みコマンドC11に従って、キー生成モジュール222がキーK1を生成し、キーK1をフラッシュメモリ210の第一ブロックに保存する。次に、ホスト装置102から受信される書き込みコマンドC12に従って、キー生成モジュール222がキーK2を生成し、キーK2を、フラッシュメモリ210の第三ブロックに保存する。この例において、ユーザーは、それぞれ、第一ブロックまたは第三ブロックを消去することにより、キーK1またはキーK2を削除することができる。
次に、S304において、暗号化/復号モジュール224は、キーに従って、対応するファイルを暗号化して、暗号化ファイルを生成し、コントローラー220は、暗号化ファイルをフラッシュメモリのブロック中に保存する。注意すべきことは、暗号化ファイルF1’-FN’は、キーK1-KNと同じブロックに保存される、または、異なるブロック中に保存され、この限りではない。本発明の好ましい具体例において、暗号化ファイルF1’-FN’およびキーK1-KNは異なるブロック中に保存される。さらに、暗号化ファイルF1’-FN’は、ページモードまたはブロックモードにより、フラッシュメモリ210中に書き込まれるが、この限りではない。
次に、S306において、データストレージデバイス200は、消去コマンドが受信されたか判断する。消去コマンドが受信された時、プロセスは、プロセスはステップS308に進み、そうでなければ、プロセスはステップS310に進む。
S308において、キー消去モジュール226は、消去コマンドに従って、ブロック中に保存されるキーを削除して、暗号化ファイルを無効にする。すなわち、キー消去モジュール226は、対応する消去コマンド C21-C2Nに従って、キーK1-KNを有するブロックを消去し、無許可のユーザーは、キーK1-KNにより、暗号化ファイルF1’-FN’を暗号化することができない。これにより、暗号化ファイルF1’-FN’は無効になる。次に、プロセスは、ステップS300に戻り、データストレージデバイス200は、書き込みコマンドが受信されたかの判断を継続する。
S310において、データストレージデバイス200は、読み込みコマンドが受信されたか判断する。読み込みコマンドが受信された時、プロセスはS312に進み、そうでなければ、プロセスはステップS300に進み、データストレージデバイス200は、書き込みコマンドが受信されたかの判断を継続する。
S312において、暗号化/復号モジュール224は、ブロック中に保存される対応するキーK1-KNに従って、フラッシュメモリ210に保存される暗号化ファイルF1’-FN’を復号して、それぞれ、ファイルF1-FNを得て、ファイルF1-FNをホスト装置102に伝送する。たとえば、コントローラー220が読み込みコマンドR1を受信する時、暗号化/復号モジュール224 は、読み込みコマンドR1に従って、暗号化ファイル F1’のアドレスを設置し、暗号化ファイル F1’ のアドレスに従って、または、直接、暗号化ファイルF1’に従って、対応するキーK1を回収する。たとえば、フラッシュメモリ210は、さらに、暗号化ファイルF1’-FN’およびキーK1-KNのアドレスのマッピング関係、または、暗号化ファイルF1’-FN’およびキーK1-KNのマッピング関係を記録するのに用いられるマッピングテーブルを含むことができる。次に、暗号化/復号モジュール224は、キーK1に従って、暗号化ファイル F1’ を復号して、ファイルF1を得て、ファイルF1をホスト装置102に伝送する。
本発明により開示されるデータストレージデバイス200およびデータプロテクション方法は、暗号化キーを消去、または、破壊することにより、保存されたファイルを無効にすることができる。
図4は、本発明のデータストレージデバイスの別の具体例を示す図である。データストレージデバイス400は、フラッシュメモリ410およびコントローラー420を含む。コントローラー420が設置されて、ホスト (図示しない) 、たとえば、PC、ラップトップ、ノートブック等から、書き込みコマンドC1とデータを受信する。コントローラー420は、仕様フラッシュメモリ410に対応するプログラムコマンドPC1を伝送する。フラッシュメモリ410は、東芝NANDフラッシュまたはサムソンNANDフラッシュ等で、フラッシュメモリ410は複数のブロック4101-410Nを含み、各ブロック4101-410Nは複数のページ(図示しない)を含む。プログラムコマンドの例は“0x80 ALE Data 0x10”で、フラッシュメモリ410が設定されて、仕様フラッシュメモリ410に対応するプログラムコマンドPCに従って、データを、ブロック4102のページの複数の第一ページ中に書き込む、または、プログラムする。ある状況において、ユーザーがある種のセキュリティのために、データを削除したい時、ホストは、削除コマンドDC1をコントローラー420に伝送することができ、削除コマンドDC1は正常でないが、特別である (例えば、ベンダーコマンド)。削除コマンドDC1が受信される時、コントローラー420は別のプログラムコマンドPC2をフラッシュメモリ410に伝送して、フラッシュメモリ410が、プログラムコマンドPC1に応答してプログラムされた第一ページを、再プログラム、オーバープログラム、上書き、再書き込みできるようにする。これで、第一ページ中に保存されるデータが永遠に破壊される。すなわち、コントローラー420が設定されて、OSのファイル割り当て表、または、コントローラー420のリンキング表を削除/更新するだけでなく、フラッシュメモリ410を上書き、または、オーバープログラムすることにより、データを破壊する。
データ伝送方法、または、ある態様、または、それらの一部は、有形的表現媒体、たとえば、フレキシブルディスク、CD-ROMS、ハードドライバ、または、別の機械読み取り可能ストレージ媒体等で具体化されるプログラムコード (実行可能な命令)の形式を取り、プログラムコードがロードされ、コンピュータなどの機械により実行される時、機械は、方法を実施する装置になる。方法は、ある伝送媒体、たとえば、電気配線またはケーブル敷設で伝送されるプログラムコードの形式、または、別の形式の伝送で具体化され、プログラムコードが受信され、機械、たとえば、コンピュータによりロードおよび実行される時、機械は装置となって、開示方法を実施する。汎用プロセッサで実施される時、プログラムコードはプロセッサと結合して、特定応用向け論理回路に類似して操作する固有の装置を提供する。
本発明では好ましい実施例を前述の通り開示したが、これらは決して本発明に限定するものではない。当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変動や潤色を加えることができる。従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
100 ストレージシステム
102 ホスト
200 データストレージデバイス
210 フラッシュメモリ
220 コントローラー
222 キー生成モジュール
224 暗号化/復号モジュール
226 キー消去モジュール
R1-RN 読み込みコマンド
F1-FN ファイル
F1’-FN’暗号化ファイル
C11-C1N 書き込みコマンド
C21-C2N 消去コマンド
K1-KN キー
400 データストレージデバイス
410 フラッシュメモリ
420 コントローラー
4101-410N ブロック

Claims (19)

  1. データストレージデバイスであって、
    複数のブロックを含むフラッシュメモリ、および、
    第一ファイルを暗号化して、第一暗号化ファイルを生成し、前記第一暗号化ファイルを前記フラッシュメモリに保存するコントローラー、
    を含み、前記コントローラーは、さらに、
    ホスト装置の第一書き込みコマンドに従って、第一キーを生成し、前記第一キーが前記複数のブロックの第一ブロック中に保存されるキー生成モジュールと、
    前記第一キーに従って、前記第一ファイルを暗号化して、第一暗号化ファイルを生成し、前記第一暗号化ファイルが前記複数のブロックの少なくともひとつの第二ブロック中に保存される暗号化/復号モジュール、および、
    第一消去コマンドに従って、前記第一ブロック中に保存される前記第一キーを削除し、前記第二ブロック中に保存される前記第一暗号化ファイルを無効にするキー消去モジュール、
    を含むことを特徴とするデータストレージデバイス。
  2. 前記コントローラーは、さらに、第二ファイルを暗号化し、前記暗号化された第二ファイルを前記フラッシュメモリ中に保存し、前記キー生成モジュールは、さらに、前記ホスト装置の第二書き込みコマンドに従って、第二キーを生成し、前記第二キーは、前記複数のブロックの前記第一ブロックまたは第三ブロック中に保存され、前記暗号化/復号モジュールは、さらに、前記第二キーに従って、前記第二ファイルを暗号化して、第二暗号化ファイルを生成し、前記第二暗号化ファイルを、前記複数のブロックの少なくともひとつの第四ブロック中に保存し、前記キー消去モジュールは、さらに、前記第一ブロックまたは前記第三ブロック中に保存される前記第二キーを削除することを特徴とする請求項1に記載のデータストレージデバイス。
  3. 前記暗号化/復号モジュールは、前記第一ブロック中に保存される前記第一キーに従って、前記第一暗号化ファイルを復号して、前記第一ファイルを得て、前記第一ブロックまたは前記第三ブロック中に保存される前記第二キーに従って、前記第二暗号化ファイルを復号して、第二ファイルを得て、前記第一ファイルおよび前記第二ファイルを、それぞれ、前記ホスト装置に伝送することを特徴とする請求項2に記載のデータストレージデバイス。
  4. 前記第一キーは、前記少なくともひとつの第二ブロック中に保存されるデータを暗号化、および、復号し、前記第二キーは、前記少なくともひとつの第四ブロック中に保存されるデータを暗号化、および、復号し、前記少なくともひとつの第二ブロックおよび前記少なくともひとつの第四ブロックの前記数量は、前記第一書き込みコマンドおよび前記第二書き込みコマンドにより決定されることを特徴とする請求項3に記載のデータストレージデバイス。
  5. 前記第一書き込みコマンドおよび前記第二書き込みコマンドは、所定長さに従って、前記少なくともひとつの第二ブロックおよび前記少なくともひとつの第四ブロックの前記数量を決定することを特徴とする請求項4に記載のデータストレージデバイス。
  6. 前記第一書き込みコマンドは、前記第一ファイルの前記長さに従って、前記少なくともひとつの第二ブロックの前記数量を決定し、前記第二書き込みコマンドは、前記第二ファイルの前記長さに従って、前記少なくともひとつの第四ブロックの前記数量を決定することを特徴とする請求項4に記載のデータストレージデバイス。
  7. 前記キー消去モジュールは、前記第一消去コマンドに従って、前記第一ブロックを消去して、前記第一キーを削除することを特徴とする請求項1に記載のデータストレージデバイス。
  8. データプロテクション方法であって、
    ホスト装置の第一書き込みコマンドに従って、第一キーを生成し、前記第一キーを第一ブロックに保存する工程と、
    前記第一キーに従って、第一ファイルを暗号化して、第一暗号化ファイルを生成し、前記第一暗号化ファイルを少なくともひとつの第二ブロックに保存する工程、および、
    第一消去コマンドに従って、前記第一ブロックを消去して、前記第一キーを削除し、前記第二ブロック中に保存される前記第一暗号化ファイルを無効にする工程、
    を含むことを特徴とする方法。
  9. 前記ホスト装置の第二書き込みコマンドに従って、第二キーを生成し、前記第二キーを、前記第一ブロックまたは第三ブロックに保存する工程と、
    前記第二キーに従って、前記第二ファイルを暗号化して、第二暗号化ファイルを生成し、前記第二暗号化ファイルを少なくとも第四ブロックで保存する工程、および、
    第二消去コマンドに従って、前記第一ブロックまたは前記第三ブロック中に保存される前記第二キーを削除する工程、
    を含むことを特徴とする請求項8に記載のデータプロテクション方法。
  10. さらに、
    前記第一ブロック中に保存される前記第一キーに従って、前記少なくともひとつの第二ブロック中に保存される前記第一暗号化ファイルを復号して、前記第一ファイルを得る工程、
    前記第一ブロックまたは前記第三ブロック中に保存される前記第二キーに従って、第四ブロック中に保存される前記第二暗号化ファイルを復号して、前記第二ファイルを得る工程、および、
    前記第一ファイルおよび前記第二ファイルを、前記ホスト装置に伝送する工程、
    を含むことを特徴とする請求項9に記載のデータプロテクション方法。
  11. 前記第一キーは、前記少なくともひとつの第二ブロック中に保存されるデータを暗号化、および、復号し、前記第二キーは、前記少なくともひとつの第四ブロック中に保存されるデータを暗号化、および、復号し、前記少なくともひとつの第二ブロックおよび前記少なくともひとつの第四ブロックの前記数量は、前記第一書き込みコマンドおよび前記第二書き込みコマンドにより決定されることを特徴とする請求項10に記載のデータプロテクション方法。
  12. 前記第一書き込みコマンドおよび前記第二書き込みコマンドは、所定長さに従って、前記少なくともひとつの第二ブロックおよび前記少なくともひとつの第四ブロックの前記数量を決定することを特徴とする請求項11に記載のデータプロテクション方法。
  13. 前記第一書き込みコマンドは、前記第一ファイルの前記長さに従って、前記少なくともひとつの第二ブロックの前記数量を決定し、前記第二書き込みコマンドは、前記第二ファイルの前記長さに従って、前記少なくともひとつの第四ブロックの前記数量を決定することを特徴とする請求項11に記載のデータプロテクション方法。
  14. データプロテクション方法であって、
    第一書き込みコマンドおよび第一ファイルを受信する工程と、
    前記第一書き込みコマンドに従って、第一キーを生成する工程と、
    前記第一キーに従って、前記第一ファイルを暗号化して、第一暗号化ファイルを生成する工程と、
    前記第一キーを第一ブロック中に保存し、前記第一暗号化ファイルを少なくともひとつの第二ブロック中に保存する工程、および、
    第一消去コマンドが受信された時、前記第一キーを削除して、前記第一暗号化ファイルを保持する工程、
    を含むことを特徴とする方法。
  15. さらに、
    第一読み込みコマンドがホスト装置から受信された時、前記第一キーおよび前記第一暗号化ファイルを回収する工程と、
    前記第一キーに従って、前記第一暗号化ファイルを復号して、前記第一ファイルを得る工程、および、
    前記第一ファイルを前記ホスト装置に伝送する工程、
    を含むことを特徴とする請求項14に記載のデータプロテクション方法。
  16. 前記第一キーを削除する前記工程は、前記第一ブロックを消去することを特徴とする請求項14に記載のデータプロテクション方法。
  17. 前記第一キーを削除する前記工程は、無効データを前記第一ブロックに書き込むことを特徴とする請求項14に記載のデータプロテクション方法。
  18. フラッシュメモリのアクセス方法であって、
    ホストから、書き込みコマンドおよび第一データを受信する工程と、
    第一プログラムコマンドを伝送して、前記第一データを、前記フラッシュメモリのブロックの複数の第一ページに書き込む工程と、
    削除コマンドを受信して、前記ホストから前記第一データを削除する工程、および、
    第二プログラムコマンドを伝送して、所定データを前記第一ページに書き込む工程、
    を含むことを特徴とする方法。
  19. フラッシュメモリのアクセス方法であって、
    ホストから、書き込みコマンドおよび第一データを受信する工程と、
    第一プログラムコマンドを伝送して、前記第一データを、前記フラッシュメモリのブロックの複数の第一ページに書き込む工程と、
    削除コマンドを受信して、前記ホストから前記第一データを削除する工程、および、
    第二プログラムコマンドを伝送して、前記第一ページをオーバープログラミングする工程、
    を含むことを特徴とする方法。
JP2015101939A 2013-03-28 2015-05-19 フラッシュメモリのアクセス方法 Pending JP2015172959A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
TW102111088 2013-03-28
TW102111088A TWI509457B (zh) 2012-05-11 2013-03-28 資料儲存裝置以及其資料保護方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013143979A Division JP2014194734A (ja) 2013-03-28 2013-07-09 データストレージデバイスおよびデータプロテクション方法

Publications (1)

Publication Number Publication Date
JP2015172959A true JP2015172959A (ja) 2015-10-01

Family

ID=49534408

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013143979A Pending JP2014194734A (ja) 2013-03-28 2013-07-09 データストレージデバイスおよびデータプロテクション方法
JP2015101939A Pending JP2015172959A (ja) 2013-03-28 2015-05-19 フラッシュメモリのアクセス方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013143979A Pending JP2014194734A (ja) 2013-03-28 2013-07-09 データストレージデバイスおよびデータプロテクション方法

Country Status (3)

Country Link
US (1) US9069978B2 (ja)
JP (2) JP2014194734A (ja)
CN (1) CN103390139A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104238961B (zh) * 2014-09-11 2018-03-02 北京元心科技有限公司 在闪存介质上实现安全删除的方法和装置
CN105243344B (zh) * 2015-11-02 2020-09-01 上海兆芯集成电路有限公司 具有硬盘加密功能的芯片组以及主机控制器
CN105512578A (zh) * 2015-12-08 2016-04-20 北京元心科技有限公司 一种在sd卡上存储、删除和读取数据的方法及装置
TWI648741B (zh) * 2017-06-05 2019-01-21 慧榮科技股份有限公司 資料儲存裝置之控制器以及進階資料抹除的方法
KR102420158B1 (ko) 2017-12-27 2022-07-13 삼성전자주식회사 파일 단위의 암호화 키에 기반하여 암호화를 수행하도록 구성되는 스토리지 장치, 스토리지 시스템, 및 그 동작 방법
JP7109992B2 (ja) * 2018-05-22 2022-08-01 キオクシア株式会社 メモリシステムおよび制御方法
CN109840434A (zh) * 2019-01-24 2019-06-04 山东华芯半导体有限公司 一种基于国密芯片的安全存储方法
KR20220020636A (ko) 2020-08-12 2022-02-21 삼성전자주식회사 메모리 컨트롤러, 상기 메모리 컨트롤러를 포함하는 메모리 장치 및 상기 메모리 컨트롤러의 동작 방법
CN112948879B (zh) * 2021-03-05 2022-12-06 湖北央中巨石信息技术有限公司 基于加密文件的数据销毁方法及系统及装置及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175403A (ja) * 1997-12-05 1999-07-02 Tokyo Electron Ltd テスト機能を備える記憶装置及びメモリのテスト方法
JP2004259265A (ja) * 2003-02-04 2004-09-16 Matsushita Electric Ind Co Ltd 半導体メモリカード、コンピュータ読取可能なプログラム
JP2006039966A (ja) * 2004-07-27 2006-02-09 Toshiba Corp メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置
US20090172265A1 (en) * 2007-12-27 2009-07-02 Electronics Telecommunication Research Institute Flash memory device having secure file deletion function and method for securely deleting flash file
JP2011022760A (ja) * 2009-07-15 2011-02-03 Hagiwara Sys-Com:Kk データ消去方法及び情報機器
JP2012084043A (ja) * 2010-10-14 2012-04-26 Hagiwara Solutions Co Ltd 暗号化記憶装置、情報機器、暗号化記憶装置のセキュリティ方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113284A (ja) 1997-06-10 1999-01-06 Mitsubishi Electric Corp 情報記憶媒体およびそのセキュリティ方法
WO2003034227A2 (en) * 2001-10-12 2003-04-24 Koninklijke Philips Electronics N.V. Apparatus and method for reading or writing user data
KR20050064624A (ko) * 2003-12-24 2005-06-29 삼성전자주식회사 저장 매체의 데이터 기록 및/또는 재생 장치 및 그 방법
JP4687703B2 (ja) * 2007-10-02 2011-05-25 ソニー株式会社 記録システム、情報処理装置、記憶装置、記録方法及びプログラム
US20090196417A1 (en) 2008-02-01 2009-08-06 Seagate Technology Llc Secure disposal of storage data
US20120079289A1 (en) * 2010-09-27 2012-03-29 Skymedi Corporation Secure erase system for a solid state non-volatile memory device
JP5640845B2 (ja) * 2011-03-18 2014-12-17 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175403A (ja) * 1997-12-05 1999-07-02 Tokyo Electron Ltd テスト機能を備える記憶装置及びメモリのテスト方法
JP2004259265A (ja) * 2003-02-04 2004-09-16 Matsushita Electric Ind Co Ltd 半導体メモリカード、コンピュータ読取可能なプログラム
JP2006039966A (ja) * 2004-07-27 2006-02-09 Toshiba Corp メモリカードおよびメモリカードに搭載されるカード用コントローラ並びにメモリカードの処理装置
US20090172265A1 (en) * 2007-12-27 2009-07-02 Electronics Telecommunication Research Institute Flash memory device having secure file deletion function and method for securely deleting flash file
JP2011022760A (ja) * 2009-07-15 2011-02-03 Hagiwara Sys-Com:Kk データ消去方法及び情報機器
JP2012084043A (ja) * 2010-10-14 2012-04-26 Hagiwara Solutions Co Ltd 暗号化記憶装置、情報機器、暗号化記憶装置のセキュリティ方法

Also Published As

Publication number Publication date
US20130305061A1 (en) 2013-11-14
JP2014194734A (ja) 2014-10-09
CN103390139A (zh) 2013-11-13
US9069978B2 (en) 2015-06-30

Similar Documents

Publication Publication Date Title
JP2015172959A (ja) フラッシュメモリのアクセス方法
JP5662037B2 (ja) 不揮発性メモリに対してデータの読み出しおよび書き込みを行うためのデータホワイトニング
US8250380B2 (en) Implementing secure erase for solid state drives
US8886963B2 (en) Secure relocation of encrypted files
KR101869059B1 (ko) 저장 장치 및 그것의 메모리 컨트롤러
US20120079289A1 (en) Secure erase system for a solid state non-volatile memory device
US20140032935A1 (en) Memory system and encryption method in memory system
US20160259583A1 (en) Storage device, storage device system and information terminal
US20130191636A1 (en) Storage device, host device, and information processing method
TW201903641A (zh) 資料儲存裝置以及韌體加密方法及更新方法
US20180260151A1 (en) Data Storage Device and Operating Method Therefor
JP2021118370A (ja) メモリシステム、情報処理装置、および情報処理システム
KR100874872B1 (ko) 안전한 갱신을 지원하는 플래시 메모리 기반 보안 2차 저장장치
KR20200054538A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
JP2014206967A (ja) 記憶装置
US9671964B2 (en) Method of securely erasing a non-volatile semiconductor mass memory, computer system, and computer program product
KR101467227B1 (ko) Ssd에 적합한 보안 삭제 기능을 가진 패스워드 기반의 암호화 파일 관리 방법 및 이들을 이용한 암호화 파일 관리 시스템
TWI775284B (zh) 記憶系統、其控制方法及資訊處理系統
US11644983B2 (en) Storage device having encryption
KR100857760B1 (ko) 플래시 메모리를 이용한 암호키 저장 장치 및 그것의 보안방법
JP2000250817A (ja) 記憶システム、記憶装置及び記憶データ保護方法
KR101648262B1 (ko) Ssd에 적합한 보안 삭제 기능을 가진 패스워드 기반의 암호화 파일 관리 방법 및 이들을 이용한 암호화 파일 관리 시스템
JP2013062616A (ja) 記憶装置、データ記憶方法、及びデータコントローラ
TWI509457B (zh) 資料儲存裝置以及其資料保護方法
US20240097885A1 (en) Memory controller and storage device including same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160705

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170207