JP6954340B2 - メモリデバイス管理システム、メモリデバイス管理方法およびプログラム - Google Patents

メモリデバイス管理システム、メモリデバイス管理方法およびプログラム Download PDF

Info

Publication number
JP6954340B2
JP6954340B2 JP2019202630A JP2019202630A JP6954340B2 JP 6954340 B2 JP6954340 B2 JP 6954340B2 JP 2019202630 A JP2019202630 A JP 2019202630A JP 2019202630 A JP2019202630 A JP 2019202630A JP 6954340 B2 JP6954340 B2 JP 6954340B2
Authority
JP
Japan
Prior art keywords
memory device
key
data
value
volatile memory
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
JP2019202630A
Other languages
English (en)
Other versions
JP2021077041A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2019202630A priority Critical patent/JP6954340B2/ja
Priority to US17/088,677 priority patent/US11573912B2/en
Publication of JP2021077041A publication Critical patent/JP2021077041A/ja
Application granted granted Critical
Publication of JP6954340B2 publication Critical patent/JP6954340B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/79Protecting 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 semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、メモリデバイス管理システム、メモリデバイス管理方法およびプログラムに関する。
不揮発性メモリを用いた記憶デバイスに関して、特許文献1には、複数のフラッシュメモリで構成されるデータ記憶部を備える半導体ディスクが記載されている。この半導体ディスクは、上位計算機からデータアクセスのために指定される論理ブロックアドレスを、データ記憶部の実ブロックアドレスに変換するための第1のテーブルと、実ブロックアドレス内のデータの状態を管理するフラグ情報を格納するための第2のテーブルとを備える。
データの書き込み時には、この半導体ディスクは、書き込みを指定された論理ブロックアドレスを、第1のテーブルを用いて実ブロックアドレスに変換する。そして、この半導体ディスクは、実ブロックアドレスに対応する第2のテーブルの領域に「無効ブロック」のフラグ(データが無効であることを示すフラグ)を設定する。
また、この半導体ディスクは、第2のテーブルを検索し、データ記憶部内で「空きブロック」フラグ(データを書き込み可能な空きブロックであることを示すフラグ)が設定されている実ブロックアドレスを検索する。そして、この半導体ディスクは、「空きブロック」フラグが設定されている実ブロックアドレスにデータを書き込み、その実ブロックアドレスに対応する第2のテーブルの領域に「有効ブロック」のフラグ(有効なデータが格納されていることを示すフラグ)を設定する。そして、この半導体ディスクは、指定された論理ブロックアドレスに対応する第1のテーブルの領域に、この実ブロックアドレスの値を設定する。
また、この半導体ディスクは、無効ブロックを空きブロックに更新する消去処理を行う。消去処理では、この半導体ディスクは、第2のテーブルにおいて「無効ブロック」フラグが設定されている実ブロックのデータを消去し、第2のテーブルにおけるこの実ブロックのフラグを「空きブロック」フラグに更新する。
特開平7−219720号公報
不揮発性メモリを用いた記憶デバイスでは、電源切断時もデータが保持される。このデータの有効活用と、このデータの不正取得の防止とを両立させられることが好ましい。
本発明は、上述の課題を解決することのできるメモリデバイス管理システム、メモリデバイス管理方法およびプログラムを提供することを目的としている。
本発明の第1の態様によれば、メモリデバイス管理システムは、管理対象のメモリデバイスである対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられて第1キーを記憶する第1キー記憶部と、前記対象メモリデバイスの構成に応じて一意に定まるデータに基づいて第2キーを生成する第2キー生成部と、前記第1キーの値と前記第2キーの値との同一性を判定する同一性判定部と、前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させるデータ消去処理部とを備える。
本発明の第2の態様によれば、メモリデバイス管理方法は、管理対象のメモリデバイスである対象メモリデバイスの構成に応じて一意に定まるデータに基づいて第2キーを生成する工程と、前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第1キー記憶部が記憶する第1キーの値と、前記第2キーの値との同一性を判定する工程と、前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程とを含む。
本発明の第3の態様によれば、プログラムは、コンピュータに、管理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第2キーを生成する工程と、前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第1キー記憶部が記憶する第1キーの値と、前記第2キーの値との同一性を判定する工程と、前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程とを実行させるためのプログラムである。
この発明によれば、不揮発性メモリを用いた記憶デバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
実施形態に係るサーバクライアントシステムの装置構成を示す概略ブロック図である。 第1実施形態に係るメモリデバイス管理システムの機能構成を示す概略ブロック図である。 第1実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。 第1実施形態に係る対象メモリデバイスのアドレス空間の例を示す図である。 第1実施形態に係るマッピング管理テーブルのデータ構造の例を示す図である。 第1実施形態に係るメモリデバイス管理システムが第1キーを生成して記憶する処理の手順の例を示す図である。 第1実施形態に係るメモリデバイス管理システムが行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。 第2実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。 第2実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。 第2実施形態に係るアドレス管理テーブルのデータ構造の例を示す図である。 第2実施形態に係るデータ管理テーブルのデータ構造の例を示す図である。 第2実施形態に係る不揮発メモリデバイス特性テーブルのデータ構造の例を示す図である。 第2実施形態に係る不揮発メモリ管理テーブルのデータ構造の例を示す図である。 第2実施形態に係るメモリデバイス管理システムが行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。 第3実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。 第3実施形態に係るホストコンピュータのソフトウェアへの、メモリデバイス管理システムの機能の割当の例を示す図である。 第3実施形態に係るメモリデバイス管理システムが構成変更フラグの値を設定する処理の手順の例を示す図である。 第3実施形態に係るメモリデバイス管理システムがホストコンピュータの電源の接続後に行う処理の手順の例を示す図である。 実施形態に係るメモリデバイス管理システムの構成の例を示す図である。 実施形態に係るメモリデバイス管理方法における処理手順の例を示す図である。 少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
以下、本発明の実施形態を説明するが、以下の実施形態は請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
<データ管理対象の例>
図1は、実施形態に係るサーバクライアントシステムの装置構成を示す概略ブロック図である。図1に示す構成で、サーバクライアントシステム1は、ホストコンピュータ100と、クライアント装置910とを備える。ホストコンピュータ100は、通信装置110と、CPU120と、L1キャッシュ130と、対象メモリデバイス140と、ハードディスク150とを備える。対象メモリデバイス140は、DIMM(Dual Inline Memory Module)141と、不揮発メモリ群142とを備える。不揮発メモリ群142は、不揮発メモリ143−1〜143−N(Nは、N≧1の整数)を備える。不揮発メモリ143−1〜143−Nを総称して不揮発メモリ143と表記する。
ホストコンピュータ100とクライアント装置910とは、通信ネットワーク920を介して通信を行う。
ホストコンピュータ100は、サーバクライアントシステム1におけるサーバとして、クライアント装置910からのリクエスト(Request)に従って処理を行いレスポンス(Response)を送信することで、クライアント装置910が要求する機能を提供する。ホストコンピュータ100は、例えばワークステーション(Workstation)、または、PCサーバ(PC Server)等のパソコン(Personal Computer;PC)など、コンピュータを用いて構成される。
通信装置110は、他の装置と通信を行う。例えば通信装置110は、クライアント装置910からのリクエストを受信する。また、通信装置110は、リクエストに応じたレスポンスをクライアント装置910へ送信する。
CPU120は、プログラムを実行することで各種処理を実行する。例えば、CPU120は、アプリケーション(Application Software)、OS(Operating System)およびBIOS(Basic Input Output System)等のソフトウェアを実行する。
L1キャッシュ130は、CPU120のデータ読み書きの高速化のためのキャッシュメモリ(Cache Memory)である。L1キャッシュ130は、揮発性のメモリを用いて構成される。
ただし、ホストコンピュータ100のキャッシュの構成は、図1に示すものに限定されない。例えば、CPU120と対象メモリデバイス140との間に2段以上のキャッシュが設けられていてもよい。あるいは、CPU120がキャッシュを介さず直接に対象メモリデバイス140と接続されていてもよい。
対象メモリデバイス140は、管理対象のメモリデバイスである。図1の例では、対象メモリデバイス140は主記憶装置として用いられている。対象メモリデバイス140は、L1キャッシュ130よりも低速である(例えば、レイテンシ(Latency)およびスループット(Throughput)が遅い)。一方、対象メモリデバイス140は、L1キャッシュ130よりもメモリ容量が大きい。また、対象メモリデバイス140は、ハードディスク150よりも高速である。一方、対象メモリデバイス140は、ハードディスク150よりもメモリ容量が小さい。
ただし、対象メモリデバイス140の用法は特定のものに限定されない。
DIMM141は、複数のDRAM(Dynamic Random Access Memory)が搭載されたメモリモジュールである。図1の例で、DIMM141は、主記憶装置の一部として用いられている。すなわち、DIMM141の記憶領域は、主記憶装置である対象メモリデバイス140の記憶領域の一部を構成する。
不揮発メモリ群142では、不揮発性のメモリである不揮発メモリ143の各々がデータを記憶する。
後述する第1実施形態では、不揮発メモリ群142が備える不揮発メモリ143の個数は1個以上であればよい。したがって上記のように、不揮発メモリ群142が備える不揮発メモリ143の個数Nは、1以上の整数であればよい。不揮発メモリ群142が複数の不揮発メモリ143を備える場合、第1実施形態では、これら複数の不揮発メモリ143が同じ種類のメモリであってもよいし、異なる種類のメモリであってもよい。ここでいうメモリの種類として型番のレベルの種類を用いることができる。この場合、製造会社および型番が同じメモリを同じ種類のメモリとし、製造会社または型番が異なるメモリを異なる種類のメモリとする。
第2実施形態では、不揮発メモリ群142が備える不揮発メモリ143の個数は、2個以上であればよい。したがって、Nは、2以上の整数であればよい。また、第2実施形態では、複数の不揮発メモリ143のうち1個以上が、他の不揮発メモリ143と異なる種類のメモリであればよい。したがって、複数の不揮発メモリ143が全て異なる種類のメモリであってもよいし、複数の不揮発メモリ143の一部が同じ種類の不揮発メモリ143であってもよい。
第3実施形態でも、第1実施形態の場合と同様、不揮発メモリ群142が備える不揮発メモリ143の個数は1個以上であればよい。したがって、Nは、1以上の整数であればよい。不揮発メモリ群142が複数の不揮発メモリ143を備える場合、第3実施形態では、これら複数の不揮発メモリ143が同じ種類のメモリであってもよいし、異なる種類のメモリであってもよい。
不揮発メモリ群142の記憶領域は、対象メモリデバイス140の記憶領域の一部を構成する。
ハードディスク150は、対象メモリデバイス140よりも低速かつ大容量である不揮発性の記憶デバイスである。
クライアント装置910は、サーバクライアントシステム1におけるクライアントとして、ホストコンピュータ100に対してリクエストを送信し、送信したリクエストに応じたレスポンスを受信する。クライアント装置910は、例えばパソコンなど、コンピュータを用いて構成される。
通信ネットワーク920は、ホストコンピュータ100とクライアント装置910との通信を仲介する。通信ネットワーク920は、特定の種類の通信ネットワークに限定されない。例えば、通信ネットワーク920が、インターネット(Internet)を用いて構成されていてもよいし、サーバクライアントシステム1専用の通信ネットワークとして構成されていてもよい。
通信ネットワーク920が、サーバクライアントシステム1の一部として構成されていてもよいし、サーバクライアントシステム1の外部の構成となっていてもよい。
<第1実施形態>
図2は、第1実施形態に係るメモリデバイス管理システムの機能構成を示す概略ブロック図である。図2に示す構成で、メモリデバイス管理システム301は、第1キー記憶部311と、第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324とを備える。
また、図2では、メモリデバイス管理システム301の各部が記憶部331または処理部341に分類されている。第1キー記憶部311が、記憶部331に分類されている。第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324とが、処理部341に分類されている。
メモリデバイス管理システム301は、対象メモリデバイス140(図1)の管理を行う。第1実施形態では、メモリデバイス管理システム301は、ホストコンピュータ100の起動時に、不揮発メモリ143のデータ(不揮発メモリ143が記憶しているデータ)を消去する必要があるか否かを判定し、消去する必要があると判定した場合はデータを消去する。
メモリデバイス管理システム301は、例えばクライアント装置910(図1)などコンピュータを用いて構成される。メモリデバイス管理システム301がクライアント装置910を用いて構成される場合、メモリデバイス管理システム301の機能が、クライアント装置910のCPU120が実行するアプリケーション、OS、またはBIOSの何れかまたはこれらの組み合わせによって実行されるようにしてもよい。あるいは、メモリデバイス管理システム301の機能の全部または一部が対象メモリデバイス140によって実行されるようにしてもよい。この場合、対象メモリデバイス140が、メモリデバイス管理システム301の機能を実行するプロセッサを備えるようにしてもよい。
記憶部331は、各種データを記憶する。記憶部331は、メモリデバイス管理システム301を構成する装置の記憶デバイスを用いて構成される。
第1キー記憶部311は、第1キーを記憶する。第1キーは、対象メモリデバイス140の全部または一部の持ち出しの有無を判定するために用いられるコード(Code、符号)である。
ここでいう対象メモリデバイス140の全部または一部の持ち出しは、対象メモリデバイス140の全部または一部を、元々搭載されている装置から取り外して他の装置に搭載することである。不揮発メモリ143は、電力の供給を受けない状態でもデータを記憶し続ける。このため、対象メモリデバイス140または不揮発メモリ143が、元々搭載されている装置から取り外され、取り外された対象メモリデバイス140または不揮発メモリ143が記憶しているデータを他の装置で参照されると、データが不正に参照されてしまう可能性がある。
そこで、メモリデバイス管理システム301は、ホストコンピュータ100の電源切断(OFF)前に記憶している第1キーの値と、ホストコンピュータ100の電源接続(ON)後に生成する第2キーの値との同一性を判定することで、対象メモリデバイス140、および、対象メモリデバイス140の不揮発メモリ143が、ホストコンピュータ100の電源切断前からもともとホストコンピュータ100に搭載されていたものであるか否かを判定する。対象メモリデバイス140全体、または、不揮発メモリ143が、ホストコンピュータ100の電源切断後にホストコンピュータ100に搭載されたと判定した場合、メモリデバイス管理システム301は、対象メモリデバイス140が記憶しているデータ(不揮発メモリ群142の不揮発メモリ143の各々が記憶しているデータ)を消去する。
これにより、対象メモリデバイス140または不揮発メモリ143が記憶しているデータが不正に参照されることを回避すること、または、対象メモリデバイス140または不揮発メモリ143が記憶しているデータが不正に参照される可能性を低減させることができる。
第1キー記憶部311は、対象メモリデバイス140の外部の不揮発性の記憶デバイスに設けられる。例えば、ハードディスク150の記憶領域の一部が、第1キー記憶部311の記憶領域として用いられていてもよい。
処理部341は、メモリデバイス管理システム301の各種処理を実行する。
第1キー取得部321は、第1キーを取得する。第1キー取得部321は、ホストコンピュータ100の電源切断前(例えばシャットダウン時)に第1キー記憶部311が記憶した第1キーを、ホストコンピュータ100の起動時(例えば起動シーケンス実行時)に取得する。ホストコンピュータ100の起動時は、ホストコンピュータ100の電源接続後の例に該当する。
以下では、第1キー取得部321自らが第1キーを生成して第1キー記憶部311に記憶させる場合を例に説明する。ただし、第1キーを生成する機能部が、第1キー取得部321とは別に設けられていてもよい。例えば、対象メモリデバイス140が第1キーを生成し、CPU120が第1キー取得部321の機能を実行するようにしてもよい。
第1キー取得部321が第1キーを生成する場合、第1キー取得部321は、ホストコンピュータ100の電源切断前に第1キーを生成し、第1キー記憶部311に記憶させておく。
第1キー取得部321が、対象メモリデバイス140における不揮発メモリ143の構成を示すデータを用いて第1キーを生成するようにしてもよい。例えば、第1キー取得部321が、対象メモリデバイス140を構成する不揮発メモリ143のシリアル番号(Serial Number)など、対象メモリデバイス140における不揮発メモリ143の構成に応じた情報を対象メモリデバイス140から取得し、ハッシュ関数に適用して第1キーを算出する用にしてもよい。
あるいは、第1キー取得部321が、不揮発メモリ143が記憶しているデータを用いて第1キーを生成するようにしてもよい。例えば、ホストコンピュータ100のシャットダウン時に、不揮発メモリ143のデータがシャットダウン完了まで書き換えられなくなっている状態で、第1キー取得部321が、不揮発メモリ143の各々が記憶しているデータを取得し、または、不揮発メモリ143の各々からデータの一部を取得し、ハッシュ関数に適用して第1キーを算出するようにしてもよい。
あるいは、第1キー取得部321が、生成された第1キーを取得するようにしてもよい。例えば、第1キー取得部321の機能がCPU120によって実行され、対象メモリデバイス140が第1キーを生成する場合、第1キー取得部321が、対象メモリデバイス140が生成した第1キーを取得するようにしてもよい。
第2キー生成部322は、対象メモリデバイス140の構成に応じた第2キーを生成する。第2キー生成部322は、ホストコンピュータ100の起動時に第2キーを生成する。第2キー生成部322は、第1キーの生成方法と同じ生成方法で第2キーを生成する。第1キーの生成時と第2キーの生成時とで、いずれもホストコンピュータ100に対象メモリデバイス140が搭載されており、かつ、対象メモリデバイス140の構成が同じであれば、第1キーの値と第2キーの値とは同じ値になる。
第2キー生成部322が、第1キーおよび第2キーの両方を生成するようにしてもよい。例えば、ホストコンピュータ100の電源切断前に、第2キー生成部322が第1キーを生成して第1キー記憶部311に記憶させるようにしてもよい。そして、ホストコンピュータ100の起動時に、第2キー生成部322が第2キーを生成するようにしてもよい。
同一性判定部323は、第1キーの値と第2キーの値との同一性を判定する。具体的には、同一性判定部323は、第1キーの値と第2キーの値とが同一である(等しい)か否かを判定する。この判定により、第1キーの生成時(ホストコンピュータ100の電源切断前)と第2キーの生成時(ホストコンピュータ100の起動時)とで、いずれもホストコンピュータ100に対象メモリデバイス140が搭載されており、かつ、対象メモリデバイス140の構成が同じか否かを判定することができる。
データ消去処理部324は、第1キーの値と第2キーの値とが異なると判定された場合、対象メモリデバイス140が記憶しているデータを消去させる。これにより、上述したように、対象メモリデバイス140または不揮発メモリ143が記憶しているデータが不正に参照されることを防止すること、または、不正に参照される可能性を低減させることができる。
図3は、ホストコンピュータ100のソフトウェアへの、メモリデバイス管理システム301の機能の割当の例を示す図である。図3に示す構成で、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを備える。すなわち、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを実行する。
OS230は、マッピング管理テーブル231と、データステージング部241と、データフラッシュ部242とを備える。すなわち、ホストコンピュータ100は、OS230の機能の一部として、マッピング管理テーブル231を記憶し、データステージング部241の機能およびデータフラッシュ部242の機能を実行する。
BIOS250は、不揮発メモリ管理初期化処理部261を備える。すなわち、ホストコンピュータ100は、BIOS250の機能の一部として、不揮発メモリ管理初期化処理部261の機能を実行する。
アプリケーション210は、CPU120が実行するアプリケーションである。CPU120が実行するアプリケーションの個数は特定の個数に限定されない。CPU120が、複数のアプリケーションを実行してもよい。
OS230は、CPU120が実行するOSである。
マッピング管理テーブル231は、対象メモリデバイス140の論理アドレスと物理アドレスとのマッピング(対応付け)を示すデータである。
図4は、対象メモリデバイス140のアドレス空間の例を示す図である。図4の例で、対象メモリデバイス140の論理アドレス空間と対象メモリデバイス140の物理アドレス空間とが対応付けて示されている。
領域A111は、DIMM141の物理アドレスが割り当てられる論理アドレス領域ある。DIMM141が揮発性なので、ホストコンピュータ100の起動時には、領域A111のデータは消去されている。
領域A121、A122は、いずれも不揮発メモリ143−1の物理アドレスが割り当てられる論理アドレス領域である。領域A121には、BI(Business Intelligence)ツールなど、不揮発メモリにステージングされたデータが格納されている。ここでいうステージングは、データをより速いデバイスに纏めて格納することである。領域A122には、OS230に関するデータおよびアプリケーション210に関するデータ等が格納されている。
領域A131、A132は、いずれも不揮発メモリ143−2の物理アドレスが割り当てられる論理アドレス領域である。領域A131には、BIツールなど、不揮発メモリにステージングされたデータが格納されている。領域A132には、OS230に関するデータおよびアプリケーション210に関するデータ等が格納されている。
領域A141、A142は、いずれも不揮発メモリ143−3の物理アドレスが割り当てられる論理アドレス領域である。領域A141には、BIツールなど、不揮発メモリにステージングされたデータが格納されている。領域A142には、OS230に関するデータおよびアプリケーション210に関するデータ等が格納されている。
同一性判定部323(図2)の処理で第1キーの値と第2キーの値とが同一であると判定された場合、領域A121、A122、A131、A132、A141、A142のデータは、何れも、ホストコンピュータ100の起動時には消去されない(保持される)。
図5は、マッピング管理テーブル231のデータ構造の例を示す図である。図5の例で、マッピング管理テーブル231は表形式(テーブル形式)のデータとして構成され、行毎に、論理アドレスと物理アドレスとの対応関係を示している。
マッピング管理テーブル231の各行には、「論理アドレス」欄と「物理アドレス」欄とが設けられている。「論理アドレス」欄には、論理アドレス領域(論理アドレス空間の部分空間)が先頭アドレスと末尾アドレスとによって示されている。「物理アドレス」欄には、物理アドレス領域(物理アドレス空間の部分空間)が先頭アドレスと末尾アドレスとによって示されている。マッピング管理テーブル231の1行の「論理アドレス」欄に示される論理アドレス領域に、その行の「物理アドレス」欄に示される物理アドレス領域が割り当てられる。
データステージング部241は、物理アドレス空間へのデータのステージングを行う。
データフラッシュ部242は、物理アドレス空間におけるデータのフラッシングを行う。ここでいうデータのフラッシングは、データの整合性を保つために、揮発性のデバイス上にある仕掛け中のデータを、不揮発性のデバイスに書き込むことである。
BIOS250は、CPU120が実行するBIOSである。
不揮発メモリ管理初期化処理部261は、メモリデバイス管理システム301の機能を実行する。具体的には、不揮発メモリ管理初期化処理部261は、第1キー取得部321、第2キー生成部322、同一性判定部323およびデータ消去処理部324の各機能を実行する。また、不揮発メモリ管理初期化処理部261は、第1キー取得部321の機能の実行で得られる第1キーを、例えばハードディスク150など不揮発性の記憶デバイスに記憶させることで、第1キー記憶部311の機能を実行する。
このように、図3では、メモリデバイス管理システム301の機能をBIOS250が実行する場合の例を示している。ただし、上述したように、メモリデバイス管理システム301の機能を実行する方法は、BIOS250が実行する方法に限定されない。
次に、図6および図7を参照してメモリデバイス管理システム301の動作について説明する。
図6は、メモリデバイス管理システム301が第1キーを生成して記憶する処理の手順の例を示す図である。
図6の処理で、第1キー取得部321は、不揮発メモリ143に関するデータを取得する(ステップS111)。具体的には、第1キー取得部321は、不揮発メモリ群142における不揮発メモリ143の構成に応じて一意に定まるデータを取得する。例えば、第1キー取得部321が、不揮発メモリ群142の全ての不揮発メモリ143のシリアル番号を取得するようにしてもよい。または、第1キー取得部321が、不揮発メモリ群142の全ての不揮発メモリ143の各々から、その不揮発メモリ143が記憶するデータの全部または一部を取得するようにしてもよい。
次に、第1キー取得部321は、ステップS111で得られたデータに基づいて第1キーを算出する(ステップS112)。第1キー取得部321は、ステップS111で得られたデータを用いることで、対象メモリデバイス140における不揮発メモリ143の構成が異なればキーの値が異なって算出されるキーを第1キーとして算出する。
第1キー取得部321は、生成した第1キーを第1キー記憶部311に記憶させる(ステップS113)。
ステップS113の後、メモリデバイス管理システム301は、図6の処理を終了する。
メモリデバイス管理システム301が、ホストコンピュータ100のシャットダウンシーケンスにて図6の処理を行うなど、メモリデバイス管理システム301が、ホストコンピュータ100の電源切断の直前に図6の処理を行うようにしてもよい。あるいは、メモリデバイス管理システム301が不揮発メモリ143が記憶するデータを用いて第1キーを生成する場合、何れかの不揮発メモリ143のデータが更新される毎に、メモリデバイス管理システム301が図6の処理を行うようにしてもよい。
図7は、メモリデバイス管理システム301が行う、対象メモリデバイス140のデータに対する処理の手順の例を示す図である。
図7の処理で、同一性判定部323は、第1キー記憶部311が記憶している第1キーを読み出す(ステップS211)。
また、第2キー生成部322は、不揮発メモリ143に関するデータを取得する(ステップS212)。そして、第2キー生成部322は、ステップS212で得られたデータに基づいて第2キーを算出する(ステップS213)。ステップS212およびS213の処理は、第1キーと第2キーとの違いを除いて図6のステップS111およびS112の処理と同様である。ステップS111で得られるデータの値と、ステップS212で得られるデータの値とが同じである場合、第1キーの値と第2キーの値とは同じになる。一方、ステップS111で得られるデータの値と、ステップS212で得られるデータの値とが異なる場合、第1キーの値と第2キーの値とは異なる。
次に、同一性判定部323は、第1キーの値と第2キーの値とが同じか否かを判定する(ステップS214)。第1キーの値と第2キーの値とが同じであると同一性判定部323が判定した場合(ステップS214:YES)、メモリデバイス管理システム301は、図7の処理を終了する。この場合、不揮発メモリ143が記憶しているデータは消去されない。
一方、第1キーの値と第2キーの値とが異なると同一性判定部323が判定した場合(ステップS214:NO)、データ消去処理部324は、不揮発メモリ143が記憶しているデータを消去する(ステップS221)。具体的には、データ消去処理部324は、不揮発メモリ群142の全ての不揮発メモリ143について、その不揮発メモリ143が記憶している全データを消去する。
ステップS221の後、メモリデバイス管理システム301は、図7の処理を終了する。
以上のように、第1キー取得部321は、第1キーを取得する。第2キー生成部322は、対象メモリデバイス140の構成に応じた第2キーを生成する。同一性判定部323は、第1キーの値と第2キーの値との同一性を判定する。データ消去処理部324は、第1キーの値と第2キーの値とが異なると判定された場合、対象メモリデバイス140が記憶しているデータを消去させる。
対象メモリデバイス140における不揮発メモリ143の構成が変更されている場合、および、対象メモリデバイス140が他の装置から取り外されてホストコンピュータ100に搭載された場合、権限のない者によって不正に変更が行われた可能性がある。メモリデバイス管理システム301によれば、第1キーの値と第2キーの値との比較により、対象メモリデバイス140における不揮発メモリ143の構成が変更されている場合、および、対象メモリデバイス140が他の装置から取り外されてホストコンピュータ100に搭載された場合を検出することができる。
不揮発メモリ143の構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、メモリデバイス管理システム301は、対象メモリデバイス140が記憶しているデータを消去しない。対象メモリデバイス140が記憶しているデータを利用することで、例えばハードディスク150から対象メモリデバイス140へデータをアップロードし直す必要がない。この点で、対象メモリデバイス140が記憶しているデータの有効活用を図ることができる。
一方、不揮発メモリ143の構成の変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理システム301は、対象メモリデバイス140が記憶しているデータを消去する。これにより、対象メモリデバイス140が記憶していたデータが不正に取得される可能性を低減させることができる。この点で、対象メモリデバイス140が記憶していたデータの不正防止を図ることができる。
メモリデバイス管理システム301によれば、このように、対象メモリデバイス140が記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
第1キーおよび第2キーが不正に生成されることを防止するために、これらのキーの生成方法を非公開としてもよい。例えば、これらのキーの生成のためにハッシュ関数など、関数への入出力から関数を推定することが困難な関数を用い、このハッシュ関数を非公開としてもよい。これにより、権限のない者がハッシュ関数に入力されるデータを取得した場合でも、第1キーまたは第2キーが不正に生成されることを防止できる、あるいは、第1キーまたは第2キーが不正に生成される可能性を低減させることができる。
同一性判定部323の機能をCPU120など対象メモリデバイス140の外部に設ける場合、第1キーの値と第2キーの値との同一性の判定結果、または、対象メモリデバイス140のデータの消去指示をCPU120等から対象メモリデバイス140へ出力する必要がある。この判定結果またはデータの消去指示が不正に改ざんまたはブロックされると、対象メモリデバイス140が記憶しているデータの消去が適切に行われなくなる可能性がある。
そこで、同一性判定部323の処理をブラックボックス化するなど、第1キーの値と第2キーの値との同一性の判定結果の通知に対する不正を防止する措置が講じられていてもよい。
例えば、同一性判定部323の機能をBIOS250が実行する場合、BIOS250がブラックボックス化されていてもよい。これにより、判定結果の改ざんが困難になると期待される。そして、データ消去処理部324が対象メモリデバイス140に設けられ、データ消去処理部324もブラックボックス化されていてもよい。
また、対象メモリデバイス140が記憶しているデータが不正に取得されることを防止するフェイルセーフ(Fail Safe)のために、データ消去処理部324が、所定のタイミングで適切な判定結果を得られない場合は、対象メモリデバイス140が記憶しているデータを消去するようにしてもよい。
<第2実施形態>
図8は、第2実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。図8に示す構成で、メモリデバイス管理システム302は、第1キー記憶部311と、テーブルデータ記憶部312と、第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324と、再利用空間決定部325と、移動先決定部326と、移動処理部327とを備える。
また、図8では、メモリデバイス管理システム302の各部が記憶部332または処理部342に分類されている。第1キー記憶部311と、テーブルデータ記憶部312とが、記憶部332に分類されている。第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324と、再利用空間決定部325と、移動先決定部326と、移動処理部327とが、処理部342に分類されている。
図8の各部のうち、図2の各部に対応して同様の機能を有する部分には同一の符号(311、321、322、323、324)を付して説明を省略する。メモリデバイス管理システム302は、記憶部332がテーブルデータ記憶部312を備え、処理部342が再利用空間決定部325と、移動先決定部326と、移動処理部327とを備える点で、メモリデバイス管理システム301(図1)の場合と異なる。それ以外の点では、メモリデバイス管理システム302はメモリデバイス管理システム301と同様であり、記憶部332は記憶部331と同様であり、処理部342は処理部341と同様である。
テーブルデータ記憶部312は、対象メモリデバイス140が記憶するデータのうち再利用するデータを決定するためのデータ、および、再利用することに決定されたデータの配置を決定するためのデータを記憶する。テーブルデータ記憶部312は、例えば、後述するアドレス管理テーブルと、不揮発メモリ管理テーブルと、データ管理テーブルと、不揮発メモリデバイス特性テーブルとを記憶する。
再利用空間決定部325は、対象メモリデバイス140が記憶するデータのうち再利用するデータを決定する。第1実施形態では、第1キーの値と第2キーの値とが同一であると判定された場合、対象メモリデバイス140が記憶するデータはすべて保持される(データの消去は行われない)。これに対し、第2実施形態では、第1キーの値と第2キーの値とが同一であると判定された場合、再利用空間決定部325が、対象メモリデバイス140が記憶するデータのうち再利用するデータを決定する。再利用することに決定されたデータ以外のデータは消去される。
移動先決定部326は、対象メモリデバイス140が記憶するデータのうち再利用することに決定されたデータの移動先を決定する。例えば、移動先決定部326は、再利用することに決定されたデータの読み出し頻度および書き込み頻度に基づいて、読み出し頻度が比較的高いデータの移動先を、データ読み出し時間が比較的短い不揮発メモリ143に決定する。また、移動先決定部326は、書き込み頻度が比較的高いデータの移動先を、データ書き込み時間が比較的短い不揮発メモリ143に決定する。これにより、対象メモリデバイス140へのデータの読み書きの高速化が図られる。
移動処理部327は、再利用することに決定されたデータを、移動先決定部326が決定した移動先へ移動させる。
図9は、ホストコンピュータ100のソフトウェアへの、メモリデバイス管理システム302の機能の割当の例を示す図である。図9に示す構成で、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを備える。すなわち、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを実行する。
OS230は、マッピング管理テーブル231と、アドレス管理テーブル232と、データ管理テーブル233と、不揮発メモリデバイス特性テーブル234と、データステージング部241と、データフラッシュ部242と、不揮発メモリデータ再配置部243とを備える。すなわち、ホストコンピュータ100は、OS230の機能の一部として、マッピング管理テーブル231と、アドレス管理テーブル232と、データ管理テーブル233と、不揮発メモリデバイス特性テーブル234とを記憶し、データステージング部241の機能、データフラッシュ部242の機能、および、不揮発メモリデータ再配置部243の機能を実行する。
BIOS250は、不揮発メモリ管理テーブル251と、不揮発メモリ管理初期化処理部261とを備える。すなわち、ホストコンピュータ100は、BIOS250の機能の一部として、不揮発メモリ管理テーブル251を記憶し、不揮発メモリ管理初期化処理部261の機能を実行する。
図9の各部のうち、図3の各部に対応して同様の機能を有する部分には、同一の符号(100、210、230、231、241、242、250、261)を付して説明を省略する。図9の構成を図3の構成と比較すると、図9の構成では、OS230が、アドレス管理テーブル232と、データ管理テーブル233と、不揮発メモリデバイス特性テーブル234と、不揮発メモリデータ再配置部243とを備える点、および、BIOS250が、不揮発メモリ管理テーブル251を備える点で、図3の構成と異なる。それ以外の点では、図9の例は図3の場合と同様である。
アドレス管理テーブル232は、不揮発メモリ143が記憶するデータの要否を示すデータである。
図10は、アドレス管理テーブル232のデータ構造の例を示す図である。図10の例で、アドレス管理テーブル232は表形式のデータとして構成され、行毎に、データの要否を示している。
アドレス管理テーブル232の各行には、「論理アドレス」欄と、「属性」欄と、「データ」欄とが設けられている。「論理アドレス」欄には、論理アドレス領域が先頭アドレスと末尾アドレスとによって示されている。
「属性」欄には、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータの属性の情報が格納されている。図10の例で、「属性」欄の「Read」は、データが読み出し専用(Read Only)であることを示している。「属性」欄の「Read/Write」は、データに対して読み出しおよび書き込み可能であることを示している。
「データ」欄には、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータの要否を示す情報が格納されている。図10の例で、「データ」欄の「不要」は、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータ(ホストコンピュータ100の電源切断前に用いられたデータ)が、ホストコンピュータ100の電源接続後には不要であることを示す。「データ」欄の「必要」は、同じ行の「論理アドレス」欄に示される論理アドレス領域のデータ(ホストコンピュータ100の電源切断前に用いられたデータ)が、ホストコンピュータ100の電源接続後にも必要であることを示す。
「データ」欄の情報は、例えばユーザによって設定される。
データ管理テーブル233は、対象メモリデバイス140が記憶するデータへのアクセス状況を示すデータである。
図11は、データ管理テーブル233のデータ構造の例を示す図である。図11の例で、データ管理テーブル233は表形式のデータとして構成され、行毎に、データへのアクセス状況を示している。
データ管理テーブル233の各行には、「No.」欄と、「データ」欄と、「最終Read要求日時」欄とが設けられている。
「No.」欄は、1からの通番を示す。「データ」欄には、データを識別する識別情報が格納される。「最終Read要求日時」欄には、同じ行の「データ」欄の識別情報で識別されるデータに対する直近のRead要求の日時を示す情報が格納される。
不揮発メモリデバイス特性テーブル234は、不揮発メモリ143の各々の特性を示すデータである。
図12は、不揮発メモリデバイス特性テーブル234のデータ構造の例を示す図である。図12の例で、不揮発メモリデバイス特性テーブル234は表形式のデータとして構成され、1行に1種類の不揮発メモリの特性情報が示されている。
不揮発メモリデバイス特性テーブル234の各行には、「No.」欄と、「不揮発メモリNo.」欄と、「性能特性」欄と、「特性の変化」欄と、「書込寿命[WDPD]」欄とが設けられている。
「No.」欄は、1からの通番を示す。
「不揮発メモリNo.」欄には、不揮発メモリの種類を識別する識別番号が格納される。この場合の識別番号として、不揮発メモリの型番を用いるようにしてもよいが、これに限定されない。
「性能特性」欄には、メモリの速さが示される。図12の例では、読み出し(Read)、書き込み(Write)のそれぞれについて、速さ(例えばレイテンシの速さ(短さ))が、高、中、低の3段階で示されている。
「特性の変化」欄には、メモリの速さの経時変化が示される。
「書込寿命[DWPD]」欄には、DWPD(Drive Write Per Day、保証期間いっぱい使用するための1日当たりの書き込み回数)が示される。
不揮発メモリデバイス特性テーブル234のデータは、例えばカタログの記載および試験によって得られる。
不揮発メモリデータ再配置部243は、メモリデバイス管理システム302(図8)のうち、再利用空間決定部325、移動処理部327、および、正当性判定部328の機能を実行する。
不揮発メモリ管理テーブル251は、不揮発メモリ143の各々の種類を示すデータである。
図13は、不揮発メモリ管理テーブル251のデータ構造の例を示す図である。図13の例で、不揮発メモリ管理テーブル251は表形式のデータとして構成され、1個の不揮発メモリ143に関する情報を1つの行に示している。
不揮発メモリ管理テーブル251の各行には、「物理アドレス」欄と、「メモリ」欄と、「デバイスタイプ」欄とが設けられている。「メモリ」欄には、対象メモリデバイス140が備える不揮発メモリ143の各々を識別する識別情報が格納されている。図13の例で、「PM1」は、不揮発メモリ143−1を示す。「PM2」は、不揮発メモリ143−2を示す。「PM3」は、不揮発メモリ143−3を示す。
「物理アドレス」欄には、その行に紐付けられる不揮発メモリ143(その「物理アドレス」欄が含まれる行の「メモリ」欄の識別情報が識別する不揮発メモリ143)に割り当てられる物理アドレスが、先頭アドレスと末尾アドレスとによって示されている。
「デバイスタイプ」欄には、メモリの種類を示す情報が格納されている。図13の例では、メモリの種類を示す情報として、製造会社名と型番との組み合わせが用いられている。
次に、図14を参照してメモリデバイス管理システム302の動作について説明する。
図14は、メモリデバイス管理システム302が行う、対象メモリデバイスのデータに対する処理の手順の例を示す図である。メモリデバイス管理システム302は、ホストコンピュータ100の起動時など、ホストコンピュータ100の電源の接続後に図14の処理を行う。
図14のステップS311〜S314の処理は、図7のステップS211〜S214の処理と同様である。
ステップS314で、第1キーの値と第2キーの値とが異なると同一性判定部323が判定した場合(ステップS314:NO)、処理がステップS331へ進む。ステップS331の処理は、図7のステップS221の処理と同様である。ステップS331の後、メモリデバイス管理システム302は、図14の処理を終了する。
メモリデバイス管理システム302が、第1キーを取得して記憶する処理は、図6の処理と同様である。
一方、ステップS314で、第1キーの値と第2キーの値とが同じである同一性判定部323が判定した場合(ステップS314:YES)、再利用空間決定部325が、対象メモリデバイス140が記憶しているデータのうち再利用するデータを決定する(ステップS321)。例えば、再利用空間決定部325は、アドレス管理テーブル232で「必要」とされているデータを、再利用するデータに決定する。アドレス管理テーブル232では、論理アドレス空間におけるデータ領域が示されているので、再利用空間決定部325は、マッピング管理テーブル231を参照して、論理アドレスを物理アドレスに変換する。これにより、再利用空間決定部325は、対象メモリデバイス140が記憶しているデータのうち再利用するデータを物理アドレス空間上で決定する。
次に、移動先決定部326は、再利用するデータの移動先を決定する(ステップS322)。
例えば移動先決定部326は、再利用するデータへのアクセス頻度を示す情報を、読み出し、書き込みのうち少なくとも何れか一方について取得する。そのために、ホストコンピュータ100がデータアクセスの履歴を記録しておくようにしてもよい。あるいは、移動先決定部326が、データ管理テーブル233を参照して、最終Read要求日時が新しいデータほど読み出し頻度が高いと判定するようにしてもよい。
また、移動先決定部326は、物理アドレス空間におけるアクセス速度を把握する。例えば、移動先決定部326は、不揮発メモリ管理テーブル251を参照して不揮発メモリ143の各々の物理アドレスと種類とを読み出し、不揮発メモリデバイス特性テーブル234を参照して、不揮発メモリの種類毎の特性を読み出す。これにより、移動先決定部326は、不揮発メモリ143の各々に割り当てられた物理アドレス空間毎に、読み出し速度および書き込み速度を把握できる。
そして、移動先決定部326は、アクセス頻度が高いデータほど、アクセス速度が速い物理アドレス空間を移動先に決定する。例えば、移動先決定部326は、読み出し頻度が高いデータほど、読み出し速度が速い物理アドレス空間を移動先に決定し、書き込み頻度が高いデータほど、書き込み速度が速い物理アドレス空間を移動先に決定する。
あるいは、移動先決定部326が、書き込み頻度が高いデータほど、DWPDが大きい(書き込み可能な回数が多い)物理アドレス空間を移動先に決定するようにしてもよい。
また、データ消去処理部324は、対象メモリデバイス140が記憶しているデータのうち、再利用するデータ以外のデータを消去する(ステップS323)。
そして、移動処理部327は、再利用するデータを、移動先決定部326が決定した移動先へ移動させる(ステップS324)。
ステップS324の後、メモリデバイス管理システム302は、図14の処理を終了する。
以上のように、再利用空間決定部325は、対象メモリデバイス140が記憶するデータのうち、再利用するデータを決定する。移動先決定部326は、対象メモリデバイス140を構成する個々の不揮発メモリ143の特性に基づいて、再利用することに決定されたデータの移動先のメモリ領域を、対象メモリデバイス140内の何れかのメモリ領域に決定する。移動処理部327は、第1キーの値と第2キーの値とが同じであると判定された場合、再利用することに決定されたデータを、決定された移動先に移動させる。
メモリデバイス管理システム302によれば、アクセス頻度の高いデータをアクセス速度の速い不揮発メモリ143に配置することができ、この点で、ホストコンピュータ100の処理の高速化が見込まれる。
<第3実施形態>
図15は、第3実施形態に係るメモリデバイス管理システムの機能構成の例を示す図である。
図15に示す構成で、メモリデバイス管理システム303は、第1キー記憶部311と、テーブルデータ記憶部312と、認証情報記憶部313と、構成変更フラグ記憶部314と、第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324と、再利用空間決定部325と、移動先決定部326と、移動処理部327と、正当性判定部328と、正当性処理部329とを備える。
また、図15では、メモリデバイス管理システム303の各部が記憶部333または処理部343に分類されている。第1キー記憶部311と、テーブルデータ記憶部312と、認証情報記憶部313と、構成変更フラグ記憶部314とが、記憶部333に分類されている。第1キー取得部321と、第2キー生成部322と、同一性判定部323と、データ消去処理部324と、再利用空間決定部325と、移動先決定部326と、移動処理部327と、正当性判定部328と、正当性処理部329とが、処理部343に分類されている。
図15の各部のうち、図8の各部に対応して同様の機能を有する部分には同一の符号(311、312、321、322、323、324、325、326、327)を付して説明を省略する。メモリデバイス管理システム303は、記憶部333が認証情報記憶部313と、構成変更フラグ記憶部314とを備え、処理部343が正当性判定部328と、正当性処理部329とを備える点で、メモリデバイス管理システム302(図8)の場合と異なる。それ以外の点では、メモリデバイス管理システム303はメモリデバイス管理システム302と同様であり、記憶部333は記憶部332と同様であり、処理部343は処理部342と同様である。
認証情報記憶部313は、認証情報を記憶する。この認証情報は、対象メモリデバイス140における不揮発メモリ143の構成が変更される場合に、権限を有する者による変更か否かを判定するために用いられる。権限を有する者による変更を、正当な変更と称する。
認証情報記憶部313が記憶する認証情報は、特定の認証方式のものに限定されない。例えば、認証情報記憶部313が、パスワード認証用のパスワードを記憶するようにしてもよい。あるいは、認証情報記憶部313が、指紋認証用の指紋データを記憶するようにしてもよい。あるいは、認証情報記憶部313が、複数の認証方式それぞれの認証情報を記憶するようにしてもよい。
構成変更フラグ記憶部314は、構成変更フラグを記憶する。構成変更フラグは、対象メモリデバイス140における不揮発メモリ143の構成が正当に変更されたことを示すフラグである。
以下では、構成変更フラグの値を「ON」または「OFF」とする。構成変更フラグの値「ON」は、対象メモリデバイス140における不揮発メモリ143の構成の変更の権限ありと判定されたことを示す。構成変更フラグの値「OFF」は、対象メモリデバイス140における不揮発メモリ143の構成の変更の権限ありとは判定されていないことを示す。したがって、構成変更フラグの値「OFF」は、不揮発メモリ143の構成の変更が行われた場合は不正な変更であることを示す。
正当性判定部328は、対象メモリデバイス140における不揮発メモリ143の構成が変更される場合に、変更者の認証を行うことで、正当な変更か否かを判定する。正当性判定部328は、対象メモリデバイス140の構成の変更が予告された場合に、構成変更のためにホストコンピュータ100の電源が切断される前に、変更が正当か否かの判定を行い、判定結果を構成変更フラグの値に反映させる。
正当性判定部328は、ホストコンピュータ100の電源接続後に、対象メモリデバイス140における不揮発メモリ143の構成が正当に変更されたか否かを判定する。具体的には、正当性判定部328は、構成変更フラグの値を参照することで、対象メモリデバイス140における不揮発メモリ143の構成が正当に変更されたか否かを判定する。
図16は、ホストコンピュータ100のソフトウェアへの、メモリデバイス管理システム303の機能の割当の例を示す図である。図16に示す構成で、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを備える。すなわち、ホストコンピュータ100は、アプリケーション210と、OS230と、BIOS250とを実行する。
OS230は、マッピング管理テーブル231と、アドレス管理テーブル232と、データ管理テーブル233と、不揮発メモリデバイス特性テーブル234と、認証情報235と、構成変更フラグ236と、データステージング部241と、データフラッシュ部242と、不揮発メモリデータ再配置部243と、正当性判定部244とを備える。すなわち、ホストコンピュータ100は、OS230の機能の一部として、マッピング管理テーブル231と、アドレス管理テーブル232と、データ管理テーブル233と、不揮発メモリデバイス特性テーブル234と、認証情報235と、構成変更フラグ236とを記憶し、データステージング部241の機能、データフラッシュ部242の機能、不揮発メモリデータ再配置部243の機能、および、正当性判定部244の機能を実行する。
BIOS250は、不揮発メモリ管理テーブル251と、不揮発メモリ管理初期化処理部261と、正当性処理部262とを備える。すなわち、ホストコンピュータ100は、BIOS250の機能の一部として、不揮発メモリ管理テーブル251を記憶し、不揮発メモリ管理初期化処理部261の機能、および、正当性処理部262の機能を実行する。
図16の各部のうち、図9の各部に対応して同様の機能を有する部分には、同一の符号(100、210、230、231、232、233、234、241、242、243、250、251、261)を付して説明を省略する。図16の構成を図9の構成と比較すると、図16の構成では、OS230が、認証情報235と、構成変更フラグ236と、正当性判定部244とを備える点で、図9の構成と異なる。それ以外の点では、図16の例は図9の場合と同様である。
認証情報235は、認証情報記憶部313(図15)が記憶する認証情報である。構成変更フラグ236は、構成変更フラグ記憶部314が記憶する構成変更フラグである。正当性判定部244は、正当性判定部328の機能を実行する。正当性処理部262は、正当性処理部329の機能を実行する。
次に、図17および図18を参照してメモリデバイス管理システム303の動作について説明する。
図17は、メモリデバイス管理システム303が構成変更フラグの値を設定する処理の手順の例を示す図である。メモリデバイス管理システム303は、対象メモリデバイス140における不揮発メモリ143の構成の変更が予告されると、図17の処理を行う。対象メモリデバイス140における不揮発メモリ143の構成の変更の予告は、例えば、対象メモリデバイス140における不揮発メモリ143の構成を変更する者が、ユーザ操作によって行う。
図17の処理で、正当性判定部328は、対象メモリデバイス140における不揮発メモリ143の構成を変更する者が、権限を有する者であるか否かの認証処理を行う(ステップS411)。正当性判定部328は、認証情報記憶部313が記憶する認証情報を用いて認証処理を行う。上述したように、正当性判定部328が行う認証は、特定の種類の認証に限定されない。
次に、正当性判定部328は、認証に成功したか否かを判定する(ステップS412)。認証成功は、対象メモリデバイス140における不揮発メモリ143の構成を変更する者が、権限を有する者であることを示す。認証失敗は、対象メモリデバイス140における不揮発メモリ143の構成を変更する者が、権限をしていないことを示す。
ステップS412で、認証に成功したと判定した場合(ステップS412:YES)、正当性判定部328は、構成変更フラグの値を「ON」に設定する(ステップS421)。
ステップS421の後、メモリデバイス管理システム303は、図17の処理を終了する。
一方、ステップS412で、認証に失敗したと判定した場合(ステップS412:NO)、正当性判定部328は、構成変更フラグの値を「OFF」に設定する(ステップS421)。
ステップS421の後、メモリデバイス管理システム303は、図17の処理を終了する。
構成変更フラグの改ざん防止策が施されていてもよい。例えば構成変更フラグが暗号化されていてもよい。
図18は、メモリデバイス管理システム303がホストコンピュータ100の電源の接続後に行う処理の手順の例を示す図である。例えば、メモリデバイス管理システム303は、ホストコンピュータ100の起動時に図19の処理を行う。
図18の処理で、正当性処理部329は、構成変更フラグの値が「ON」になっているか否かを判定する(ステップS511)。
構成変更フラグの値が「ON」になっていると正当性処理部329が判定した場合(ステップS511:YES)、メモリデバイス管理システム303は、図6の処理を行う(ステップS521)。メモリデバイス管理システム303は、図6の処理を行うことで、第1キーを生成し、第1キー記憶部311に記憶させる。
ステップS521の後、正当性処理部329は、構成変更フラグの値を「OFF」に設定する(ステップS522)。
ステップS522の後、メモリデバイス管理システム303は図18の処理を終了する。
一方、ステップS511で、構成変更フラグの値が「OFF」になっていると正当性処理部329が判定した場合(ステップS511:NO)、メモリデバイス管理システム303は、図14の処理を行う(ステップS531)。
ステップS531の後、メモリデバイス管理システム303は図18の処理を終了する。
以上のように、正当性判定部328は、対象メモリデバイス140の不揮発メモリ143の構成が変更される場合に変更の正当性を判定する。正当性処理部329は、変更が正当であると判定された場合、データ消去処理部324によるデータの消去を抑制する。
これにより、対象メモリデバイス140から1個以上の不揮発メモリ143を抜き取って他の用途に用いることができ、この点でメモリを有効活用することができる。かつ、対象メモリデバイス140の不揮発メモリ143の構成が正当に変更されたと判定されることで、対象メモリデバイス140が記憶しているデータを再利用することができ、この点でホストコンピュータ100の処理の高速化を図ることができる。
このように、メモリデバイス管理システム303によれば、不揮発メモリ143の有効活用と、ホストコンピュータ100の処理の高速化との両立を図ることができる。
次に、図19および図20を参照して、本発明の実施形態の構成について説明する。
図19は、実施形態に係るメモリデバイス管理システムの構成の例を示す図である。図19に示すメモリデバイス管理システム10は、第1キー取得部11と、第2キー生成部12と、同一性判定部13と、データ消去処理部14とを備える。
かかる構成で、第1キー取得部は、第1キーを取得する。第2キー生成部12は、管理対象のメモリデバイスの構成に応じた第2キーを生成する。同一性判定部13は、第1キーの値と第2キーの値との同一性を判定する。データ消去処理部14は、第1キーの値と第2キーの値とが異なると判定された場合、管理対象のメモリデバイスが記憶しているデータを消去させる。
メモリデバイス管理システム10によれば、第1キーの値と第2キーの値との比較により、メモリデバイスにおけるメモリの構成が変更されている場合、および、メモリデバイスが他の装置から取り外されて、メモリデバイス管理システム10の処理対象のコンピュータに搭載された場合といった不正の可能性がある場合を検出することができる。
メモリデバイスにおけるメモリの構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、メモリデバイス管理システム10は、メモリデバイスが記憶しているデータを消去しない。メモリデバイスが記憶しているデータを利用することで、例えばハードディスク等の二次記憶からメモリデバイスへデータをアップロードし直す必要がない。この点で、メモリデバイ椅子が記憶しているデータの有効活用を図ることができる。
一方、変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理システム10は、メモリデバイスが記憶しているデータを消去する。これにより、メモリデバイスが記憶していたデータが不正に取得される可能性を低減させることができる。この点で、メモリデバイスが記憶していたデータの不正防止を図ることができる。
メモリデバイス管理システム10によれば、このように、メモリデバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
図20は、実施形態に係るメモリデバイス管理方法における処理手順の例を示す図である。
図20に示すメモリデバイス管理方法は、第1キー取得工程(ステップS11)と、第2キー生成工程(ステップS12)と、同一性判定ステップ(ステップS13)と、データ消去工程(ステップS21)とを含む。
かかる構成で、第1キー取得工程(ステップS11)では、第1キーを取得する。第2キー生成工程(ステップS12)では、管理対象のメモリデバイスの構成に応じた第2キーを生成する。同一性判定ステップ(ステップS13)は、第1キーの値と第2キーの値との同一性を判定する。データ消去工程(ステップS21)では、第1キーの値と第2キーの値とが異なると判定された場合に、メモリデバイスが記憶しているデータを消去させる。
図20のメモリデバイス管理方法によれば、第1キーの値と第2キーの値との比較により、メモリデバイスにおけるメモリの構成が変更されている場合、および、メモリデバイスが他の装置から取り外されて、メモリデバイス管理方法の適用対象のコンピュータに搭載された場合といった不正の可能性がある場合を検出することができる。
メモリデバイスにおけるメモリの構成の変更が検出されない場合、不正の可能性は比較的低いと考えられる。この場合、図20のメモリデバイス管理方法では、メモリデバイスが記憶しているデータを消去しない。メモリデバイスが記憶しているデータを利用することで、例えばハードディスク等の二次記憶からメモリデバイスへデータをアップロードし直す必要がない。この点で、メモリデバイ椅子が記憶しているデータの有効活用を図ることができる。
一方、変更が検出された場合、不正の可能性が比較的高いと考えられる。この場合、メモリデバイス管理方法では、メモリデバイスが記憶しているデータを消去する。これにより、メモリデバイスが記憶していたデータが不正に取得される可能性を低減させることができる。この点で、メモリデバイスが記憶していたデータの不正防止を図ることができる。
図20のメモリデバイス管理方法によれば、このように、メモリデバイスが記憶するデータの有効活用と、このデータの不正取得の防止との両立を図ることができる。
図21は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
図21に示す構成で、コンピュータ700は、CPU(Central Processing Unit)710と、主記憶装置720と、補助記憶装置730と、インタフェース740とを備える。
上記のメモリデバイス管理システム301、302および303のうち何れか1つ以上が、コンピュータ700に実装されてもよい。その場合、上述した各処理部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。また、CPU710は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置720に確保する。各装置と他の装置との通信は、インタフェース740が通信機能を有し、CPU710の制御に従って通信を行うことで実行される。補助記憶装置730は、たとえば、CD(Compact Disc)や、DVD(digital versatile disc)等の不揮発性(non-transitory)記録媒体である。
メモリデバイス管理システム301がコンピュータ700に実装される場合、処理部341の各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部331の各部に対応する記憶領域を主記憶装置720に確保する。
メモリデバイス管理システム302がコンピュータ700に実装される場合、処理部342の各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部332の各部に対応する記憶領域を主記憶装置720に確保する。
メモリデバイス管理システム303がコンピュータ700に実装される場合、処理部343の各部の動作は、プログラムの形式で補助記憶装置730に記憶されている。CPU710は、プログラムを補助記憶装置730から読み出して主記憶装置720に展開し、当該プログラムに従って上記処理を実行する。
また、CPU710は、プログラムに従って、記憶部333の各部に対応する記憶領域を主記憶装置720に確保する。
なお、メモリデバイス管理システム301、302、または、303が行う処理の全部または一部を実行するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OS(Operating System)や周辺機器等のハードウェアを含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD−ROM(Compact Disc Read Only Memory)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
1 サーバクライアントシステム
10、301、302、303 メモリデバイス管理システム
100 ホストコンピュータ
110 通信装置
120 CPU
130 L1キャッシュ
140 対象メモリデバイス
141 DIMM
142 不揮発メモリ群
143 不揮発メモリ
150 ハードディスク
210 アプリケーション
230 OS
231 マッピング管理テーブル
232 アドレス管理テーブル
233 データ管理テーブル
234 不揮発メモリデバイス特性テーブル
235 認証情報
236 構成変更フラグ
241 データステージング部
242 データフラッシュ部
243 不揮発メモリデータ再配置部
244 正当性判定部
250 BIOS
251 不揮発メモリ管理テーブル
261 不揮発メモリ管理初期化処理部
311 第1キー記憶部
312 テーブルデータ記憶部
313 認証情報記憶部
314 構成変更フラグ記憶部
321 第1キー取得部
322 第2キー生成部
323 同一性判定部
324 データ消去処理部
325 再利用空間決定部
326 移動先決定部
327 移動処理部
328 正当性判定部
329 正当性処理部
331、332、333 記憶部
341、342、343 処理部
910 クライアント装置
920 通信ネットワーク

Claims (5)

  1. 管理対象のメモリデバイスである対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられて第1キーを記憶する第1キー記憶部と、
    前記対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第2キーを生成する第2キー生成部と、
    前記第1キーの値と前記第2キーの値との同一性を判定する同一性判定部と、
    前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させるデータ消去処理部と
    を備えるメモリデバイス管理システム。
  2. 前記対象メモリデバイスが記憶するデータのうち、再利用するデータを決定する再利用空間決定部と、
    前記対象メモリデバイスを構成する個々のメモリの特性に基づいて、再利用することに決定されたデータの移動先のメモリ領域を、前記対象メモリデバイス内の何れかのメモリ領域に決定する移動先決定部と、
    前記第1キーの値と前記第2キーの値とが同じであると判定された場合、再利用することに決定されたデータを、決定された移動先に移動させる移動処理部と、
    を備え
    前記データ消去処理部は、前記第1キーの値と前記第2キーの値とが同一であると判定された場合、前記対象メモリデバイスが記憶しているデータのうち、再利用することに決定されたデータ以外のデータのみを消去する、
    請求項1に記載のメモリデバイス管理システム。
  3. 前記対象メモリデバイスのメモリ構成変更が予告される場合に、前記変更を行う者が変更の権限を有する者であるか否かの認証処理を行い、認証に成功したと判定した場合、構成変更フラグの値を、権限があることを示す値にし、認証に失敗したと判定した場合、構成変更フラグの値を、権限がないことを示す値にする正当性判定部と、
    前記構成変更フラグの値が、権限があることを示す場合、前記データ消去処理部による前記データの消去を抑制する正当時処理部と、
    を備える請求項1または請求項2に記載のメモリデバイス管理システム。
  4. 理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第2キーを生成する工程と、
    前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第1キー記憶部が記憶する第1キーの値と、前記第2キーの値との同一性を判定する工程と、
    前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程と
    を含むメモリデバイス管理方法。
  5. コンピュータに
    理対象のメモリデバイスである対象メモリデバイスが備える不揮発メモリの構成に応じて一意に定まるデータに基づいて第2キーを生成する工程と、
    前記対象メモリデバイスの外部の不揮発性のメモリデバイスに設けられる第1キー記憶部が記憶する第1キーの値と、前記第2キーの値との同一性を判定する工程と、
    前記第1キーの値と前記第2キーの値とが異なると判定された場合、前記対象メモリデバイスが記憶しているデータを消去させる工程と
    を実行させるためのプログラム。
JP2019202630A 2019-11-07 2019-11-07 メモリデバイス管理システム、メモリデバイス管理方法およびプログラム Active JP6954340B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019202630A JP6954340B2 (ja) 2019-11-07 2019-11-07 メモリデバイス管理システム、メモリデバイス管理方法およびプログラム
US17/088,677 US11573912B2 (en) 2019-11-07 2020-11-04 Memory device management system, memory device management method, and non-transitory computer-readable recording medium erasing data stored in memory device if a value of a first key and second key are different

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019202630A JP6954340B2 (ja) 2019-11-07 2019-11-07 メモリデバイス管理システム、メモリデバイス管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2021077041A JP2021077041A (ja) 2021-05-20
JP6954340B2 true JP6954340B2 (ja) 2021-10-27

Family

ID=75847525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019202630A Active JP6954340B2 (ja) 2019-11-07 2019-11-07 メモリデバイス管理システム、メモリデバイス管理方法およびプログラム

Country Status (2)

Country Link
US (1) US11573912B2 (ja)
JP (1) JP6954340B2 (ja)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07219720A (ja) 1993-10-01 1995-08-18 Hitachi Maxell Ltd 半導体メモリ装置ならびにその制御方法
JP2008269246A (ja) 2007-04-19 2008-11-06 Oki Data Corp 画像形成装置
JP2010191816A (ja) * 2009-02-19 2010-09-02 Sony Corp 記録再生装置、コンテンツ鍵制御方法、プログラム、および記録媒体
JP2010250887A (ja) * 2009-04-14 2010-11-04 Hitachi Computer Peripherals Co Ltd メディアカートリッジ盗難検知システム及びメディアカートリッジ盗難検知方法
WO2011118034A1 (ja) 2010-03-26 2011-09-29 株式会社 東芝 情報記録装置
US8938624B2 (en) * 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
JP2012104170A (ja) * 2010-11-08 2012-05-31 Sharp Corp ハードディスク装置
US9471812B2 (en) * 2012-03-06 2016-10-18 Freescale Semiconductor, Inc. Method for implementing security of non-volatile memory
US9075710B2 (en) * 2012-04-17 2015-07-07 SanDisk Technologies, Inc. Non-volatile key-value store
JP5767657B2 (ja) * 2013-01-30 2015-08-19 レノボ・シンガポール・プライベート・リミテッド 不揮発性メモリが記憶するデータを保護する方法およびコンピュータ
US9721122B2 (en) * 2015-02-05 2017-08-01 Wipro Limited Method and system for performing secure I/O operation in a pluggable flash storage device
US10223294B2 (en) * 2015-09-01 2019-03-05 Nxp Usa, Inc. Fast secure boot from embedded flash memory
US9734095B2 (en) * 2015-09-01 2017-08-15 International Business Machines Corporation Nonvolatile memory data security
US10585754B2 (en) * 2017-08-15 2020-03-10 International Business Machines Corporation Memory security protocol

Also Published As

Publication number Publication date
US11573912B2 (en) 2023-02-07
JP2021077041A (ja) 2021-05-20
US20210141743A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
JP5640845B2 (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
TWI471726B (zh) 快取資料與元資料之管理
CN102473223B (zh) 信息处理装置以及信息处理方法
TWI540453B (zh) 以區段映射表為基礎之快速資料加密策略順從
JP4941556B2 (ja) 暗号化装置、暗号化方法および暗号化プログラム
KR102567097B1 (ko) 임베디드 시스템의 부트 롬 업데이트 방법 및 부팅 방법
JP2012014416A (ja) 記録装置、書き込み装置、読み出し装置、及び記録装置の制御方法
US8751817B2 (en) Data processing apparatus and validity verification method
JP2021028763A (ja) ストレージ装置
JPWO2011001486A1 (ja) データ処理方法、半導体集積回路
JP6954340B2 (ja) メモリデバイス管理システム、メモリデバイス管理方法およびプログラム
JP2016009220A (ja) ストレージ装置、通信装置、及びストレージ制御システム
JP3730432B2 (ja) 記憶システム、記憶装置及び記憶データ保護方法
US11347860B2 (en) Randomizing firmware loaded to a processor memory
US11113399B2 (en) Electronic apparatus and control method of electronic apparatus
US11468159B2 (en) Memory system
JP2008009933A (ja) 記憶装置とその制御方法
JP2023045455A (ja) メモリシステムおよび乱数生成装置
JP2000250817A (ja) 記憶システム、記憶装置及び記憶データ保護方法
JP7050503B2 (ja) 完全性検証装置、完全性検証システム、完全性検証方法、及び、完全性検証プログラム
JP7178500B2 (ja) アクセス制御装置、アクセス制御方法及びプログラム
TWI751928B (zh) 用於偵測儲存裝置中的惡意活動之模組和方法
WO2024052993A1 (ja) メモリシステム
KR102545102B1 (ko) 차량용 제어기 및 그 업데이트 방법
JP2001356964A (ja) 暗号化データ記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210913

R150 Certificate of patent or registration of utility model

Ref document number: 6954340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150