(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025014470
(43)【公開日】2025-01-30
(54)【発明の名称】記憶装置およびその制御方法
(51)【国際特許分類】
G06F 11/14 20060101AFI20250123BHJP
【FI】
G06F11/14 641D
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023117050
(22)【出願日】2023-07-18
(71)【出願人】
【識別番号】318010018
【氏名又は名称】キオクシア株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(74)【代理人】
【識別番号】100107582
【弁理士】
【氏名又は名称】関根 毅
(74)【代理人】
【識別番号】100118843
【弁理士】
【氏名又は名称】赤岡 明
(74)【代理人】
【識別番号】100124372
【弁理士】
【氏名又は名称】山ノ井 傑
(72)【発明者】
【氏名】上田 公二
(57)【要約】
【課題】PLP処理を好適に実施可能な記憶装置およびその制御方法を提供する。
【解決手段】実施形態によれば、記憶装置は、不揮発性メモリと、不揮発性メモリを制御するコントローラと、コントローラにより使用される揮発性メモリと、外部電源から供給された電力を用いて、電源電圧を生成する電源回路と、電源回路への電力の供給が遮断された場合、バックアップ電源として使用されるキャパシタとを備える。コントローラは、電力の供給が遮断された場合に行う処理が終了した後にも、キャパシタの電荷の残量があるか否かを判定する判定部と、キャパシタの電荷の残量があると判定された場合、揮発性メモリに記憶されている所定の書込データを不揮発性メモリに記憶させる記憶部とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
前記コントローラにより使用される揮発性メモリと、
外部電源から供給された電力を用いて、電源電圧を生成する電源回路と、
前記電源回路への前記電力の供給が遮断された場合、バックアップ電源として使用されるキャパシタとを備え、
前記コントローラは、
前記電力の供給が遮断された場合に行う処理が終了した後にも、前記キャパシタの電荷の残量があるか否かを判定する判定部と、
前記キャパシタの電荷の残量があると判定された場合、前記揮発性メモリに記憶されている所定の書込データを前記不揮発性メモリに記憶させる記憶部と、
を備える記憶装置。
【請求項2】
前記所定の書込データは、前記不揮発性メモリに記憶されている記憶データを前記揮発性メモリに展開した展開データ、または前記展開データから派生した派生データである、請求項1に記載の記憶装置。
【請求項3】
前記記憶部は、前記揮発性メモリから前記不揮発性メモリに記憶される前記派生データを用いて、前記不揮発性メモリの前記記憶データを更新する、請求項2に記載の記憶装置。
【請求項4】
前記所定の書込データは、前記記憶装置の外部用の論理アドレスを、前記記憶装置の内部用の物理アドレスに変換するアドレス変換テーブルの一部である、請求項1に記載の記憶装置。
【請求項5】
前記アドレス変換テーブルは、ユーザデータのクラスタのアドレスである第1アドレスのテーブルと、複数の第1アドレスを含むセグメントのアドレスである第2アドレスのテーブルとを含む、請求項4に記載の記憶装置。
【請求項6】
前記所定の書込データは、前記不揮発性メモリに記憶されている記憶データを前記揮発性メモリに展開した展開データ、または前記展開データから派生した派生データであり、
前記記憶データは、前記アドレス変換テーブルであり、
前記展開データは、前記第1アドレスのテーブルである、
請求項5に記載の記憶装置。
【請求項7】
前記派生データは、前記第1アドレスのテーブルの変更履歴であり、
前記記憶部は、前記揮発性メモリから前記不揮発性メモリに記憶される前記変更履歴を用いて、前記不揮発性メモリの前記第1アドレスのテーブルを更新する、
請求項6に記載の記憶装置。
【請求項8】
前記所定の書込データは、前記不揮発性メモリに記憶されている記憶データを前記揮発性メモリに展開した展開データ、または前記展開データから派生した派生データであり、
前記記憶データは、前記アドレス変換テーブルであり、
前記展開データは、前記第2アドレスのテーブルである、
請求項5に記載の記憶装置。
【請求項9】
前記派生データは、前記揮発性メモリに展開された時点から変化した前記第2アドレスのテーブルであり、
前記記憶部は、前記揮発性メモリから前記不揮発性メモリに前記第2アドレスのテーブルをスナップショットとして記憶させ、
前記記憶部は、前記揮発性メモリから前記不揮発性メモリに記憶される前記スナップショットの一部を用いて、前記不揮発性メモリの前記第2アドレスのテーブルを更新する、
請求項8に記載の記憶装置。
【請求項10】
不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
前記コントローラにより使用される揮発性メモリと、
外部電源から供給された電力を用いて、電源電圧を生成する電源回路と、
前記電源回路への前記電力の供給が遮断された場合、バックアップ電源として使用されるキャパシタと、
を備える記憶装置の制御方法であって、
前記電力の供給が遮断された場合に行う処理が終了した後にも、前記キャパシタの電荷の残量があるか否かを前記コントローラにより判定し、
前記キャパシタの電荷の残量があると判定された場合、前記揮発性メモリに記憶されている所定の書込データを前記コントローラにより前記不揮発性メモリに記憶させる、
ことを含む記憶装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、記憶装置およびその制御方法に関する。
【背景技術】
【0002】
PLP(Power Loss Protection)機能を有する記憶装置では、PLPキャパシタの容量を削減するため、PLP処理時に保存するデータの量を削減することが望ましい。しかしながら、PLP処理時に保存するデータの量を削減した場合、その後に記憶装置を起動する際の起動時間が長くなるおそれがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許出願公開US2016/0070336号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
PLP処理を好適に実施可能な記憶装置およびその制御方法を提供する。
【課題を解決するための手段】
【0005】
実施形態によれば、記憶装置は、不揮発性メモリと、不揮発性メモリを制御するコントローラと、コントローラにより使用される揮発性メモリと、外部電源から供給された電力を用いて、電源電圧を生成する電源回路と、電源回路への電力の供給が遮断された場合、バックアップ電源として使用されるキャパシタとを備える。コントローラは、電力の供給が遮断された場合に行う処理が終了した後にも、キャパシタの電荷の残量があるか否かを判定する判定部と、キャパシタの電荷の残量があると判定された場合、揮発性メモリに記憶されている所定の書込データを不揮発性メモリに記憶させる記憶部とを備える。
【図面の簡単な説明】
【0006】
【
図1】第1実施形態に係る情報処理システム1の構成を示すブロック図である。
【
図2】第1実施形態に係るルックアップテーブル(LUT)およびユーザデータの一例を示す図である。
【
図3】第1実施形態に係るコントローラ13の機能構成を示すブロック図である。
【
図4】第1実施形態に係る情報処理システム1による下位テーブルT3の記憶および破棄の流れを示すフローチャートである。
【
図5】第1実施形態に係る情報処理システム1による中位テーブルT2の記憶および破棄の流れを示すフローチャートである。
【
図6】第1実施形態に係る情報処理システム1の動作の流れを示すシーケンス図である。
【
図7】第1比較例に係る情報処理システムの動作の流れを示す図である。
【
図8】第2比較例に係る情報処理システムの動作の流れを示す図である。
【発明を実施するための形態】
【0007】
以下、本発明の実施形態を、図面を参照して説明する。
図1~
図8において、同一の構成には、同一の符号を付す。
【0008】
(第1実施形態)
【0009】
図1は、第1実施形態に係る情報処理システム1の構成を示すブロック図である。
【0010】
本実施形態の情報処理システム1は、記憶装置2と、ホスト3とを備える。
【0011】
記憶装置2は、データのストレージとして機能するメモリデバイスである。記憶装置2は、例えば、半導体記憶装置である。記憶装置2は、例えば、SSD(Solid State Drive)である。記憶装置2は、PLP機能を有する。記憶装置2がPLP機能を発揮する際に行う処理を、PLP処理という。
【0012】
ホスト3は、記憶装置2の外部の情報処理装置である。ホスト3は、例えば、PC(Personal Computer)である。
【0013】
記憶装置2は、不揮発性メモリ11と、揮発性メモリ12と、コントローラ13と、電源回路14と、PLPキャパシタ15と、容量測定回路16とを備える。
【0014】
不揮発性メモリ11は、不揮発性のメモリである。不揮発性メモリ11は、ホスト3から記憶装置2に送信されたデータを記憶する。
【0015】
揮発性メモリ12は、揮発性のメモリである。揮発性メモリ12は、種々のデータを一時的に記憶する。
【0016】
コントローラ13は、記憶装置2の動作を制御するデバイスである。コントローラ13は、不揮発性メモリ11に記憶されたデータを、揮発性メモリ12に展開する。
【0017】
電源回路14は、外部電源から供給された電力を用いて、記憶装置2で使用される電源電圧を生成する回路である。電源回路14は、コントローラ13に接続されており、コントローラ13に電力を供給すると共に、コントローラ13により制御される。
【0018】
PLPキャパシタ15は、記憶装置2のバックアップ電源として使用されるキャパシタである。PLPキャパシタ15に蓄えられた電荷が、電力の代わりに使用される。不揮発性メモリ11にデータが書き込まれる途中で電力の供給が遮断されていた場合、PLPキャパシタ15に蓄えられた電荷を用いて、書込途中のデータが不揮発性メモリ11に書き込まれる(PLP機能)。PLPキャパシタ15は、電源回路14に電気的に接続されている。
【0019】
容量測定回路16は、PLPキャパシタ15の静電容量を測定する回路である。容量測定回路16は、電源回路14およびPLPキャパシタ15に電気的に接続されている。容量測定回路16は、静電容量の測定結果を電源回路14に出力する。
【0020】
コントローラ13は、CPU(Central Processing Unit)13aと、ホストインタフェース13bと、不揮発性メモリインタフェース13cと、揮発性メモリインタフェース13dと、バスライン13eとを備える。
【0021】
CPU13aは、種々の情報処理を行うデバイスである。例えば、不揮発性メモリ11に記憶されたプログラムが、揮発性メモリ12に展開され、CPU13aにより実行される。CPU13aは、不揮発性メモリインタフェース13cを介して、不揮発性メモリ11にアクセスすることができる。CPU13aは、揮発性メモリインタフェース13dを介して、揮発性メモリ12にアクセスすることができる。CPU13aは、揮発性メモリ12に展開されたルックアップテーブルを用いて、不揮発性メモリ11にアクセスすることができる。
【0022】
ホストインタフェース13bは、ホスト3と記憶装置2との間でのデータの授受のインタフェースである。
【0023】
不揮発性メモリインタフェース13cは、不揮発性メモリ11とコントローラ13との間でのデータの授受のインタフェースである。
【0024】
揮発性メモリインタフェース13dは、揮発性メモリ12とコントローラ13との間でのデータの授受のインタフェースである。
【0025】
バスライン13eは、CPU13a、ホストインタフェース13b、不揮発性メモリインタフェース13c、揮発性メモリインタフェース13d、および電源回路14を互いに接続する配線である。
【0026】
図2は、第1実施形態に係るルックアップテーブル(LUT)およびユーザデータの一例を示す図である。
【0027】
ルックアップテーブルTは、ホスト3が指定する論理アドレスを、不揮発性メモリ11の物理アドレスに変換するテーブルである。
【0028】
ユーザデータDは、ホスト3のユーザのデータである。ユーザデータDは、クラスタ単位で不揮発性メモリ11に記憶される。ユーザデータDは、ここでは、4096個のクラスタD1~D4096を含む。ユーザデータDのクラスタの個数は、4096個以外でもよい。
【0029】
ルックアップテーブルTは、上位テーブルT1と、中位テーブルT2と、下位テーブルT3とを含む。中位テーブルT2は、上位ルックアップテーブルとも呼ばれる。中位テーブルT2は、第2テーブルとも呼ばれる。下位テーブルT3は、下位ルックアップテーブルとも呼ばれる。下位テーブルT3は、第1テーブルとも呼ばれる。
【0030】
上位テーブルT1は、中位テーブルT2の4つのセグメントT2-1~T2-4に対応する物理アドレスとして、4つのアドレスを含む。当該4つのアドレスは、中位テーブルT2のアドレスと呼ばれる。
【0031】
中位テーブルT2は、下位テーブルT3の128個のセグメントT3-1~T3-128に対応する物理アドレスとして、128個のアドレスを含む。当該128個のアドレスは、下位テーブルT3のアドレスと呼ばれる。セグメントT2-1は、セグメントT3-1~T3-32の物理アドレスを含む。セグメントT2-2は、セグメントT3-33~T3-64の物理アドレスを含む。セグメントT2-3は、セグメントT3-65~T3-96の物理アドレスを含む。セグメントT2-4は、セグメントT3-97~T3-128の物理アドレスを含む。このように、中位テーブルT2の各セグメントは、下位テーブルT3の32個のセグメントの物理アドレスを含む。下位テーブルT3のアドレスは、第2アドレスとも呼ばれる。
【0032】
下位テーブルT3は、ユーザデータDの4096個のクラスタD1~D4096の物理アドレスとして、4096個のアドレスを含む。当該4096個のアドレスは、ユーザデータDのアドレスと呼ばれる。下位テーブルT3の各セグメントは、ユーザデータDの32個のクラスタの物理アドレスを含む。ユーザデータDのアドレスは、第1アドレスとも呼ばれる。
【0033】
図3は、第1実施形態に係るコントローラ13の機能構成を示すブロック図である。
【0034】
本実施形態のコントローラ13は、検出部21と、FW(firmware)処理部22と、HW(hardware)処理部23と、記憶部24と、判定部25とを備える。これらの機能は、例えば、不揮発性メモリ11に記憶されたファームウェアが、揮発性メモリ12に展開され、CPU13aにより実行されることで実現される。
【0035】
検出部21は、記憶装置2で発生した種々のFWイベントを検出する機能部である。例えば、検出部21は、FWイベントとしてPLPを検出する。
【0036】
FW処理部22は、記憶装置2のファームウェアに関連する処理であるFW処理を行う機能部である。例えば、FW処理部22は、PLP処理中のFW処理として、FWワークメモリを揮発性メモリ12にコピーする。
【0037】
HW処理部23は、記憶装置2のハードウェアに関連する処理であるHW処理を行う機能部である。例えば、HW処理部23は、PLP処理中のHW処理として、HWキューを削除する。
【0038】
記憶部24は、揮発性メモリ12に記憶されているデータを不揮発性メモリ11に記憶させる機能部である。例えば、記憶部24は、PLP処理として、揮発性メモリ12の書込データ(ライトデータ)を不揮発性メモリ11に記憶させる。書込データは、例えば、不揮発性メモリ11に記憶されたデータを揮発性メモリ12に展開したデータである展開データや、展開データから派生したデータである派生データである。例えば、不揮発性メモリ11に記憶されたルックアップテーブルの一部のデータが、揮発性メモリ12に展開されたものが、書込データ(展開データ)である。また、揮発性メモリ12に展開されたルックアップテーブルが、新しいルックアップテーブルに変化した場合、変化後のデータそのものや、変化前のデータから変化後のデータへの変更履歴などが、書込データ(派生データ)である。
【0039】
判定部25は、PLPキャパシタ15の電荷の残量を判定する機能部である。例えば、判定部25は、PLP処理として、通常処理の終了後にもPLPキャパシタ15の電荷の残量があるか否かを判定する。通常処理は、判定部25がPLPキャパシタ15の電荷の残量があるか否かを判定する前までに行われるPLP処理である。一方、追加処理は、判定部25がPLPキャパシタ15の電荷の残量があると判定した後に行われるPLP処理である。
【0040】
図4は、第1実施形態に係る情報処理システム1による下位テーブルT3の記憶および破棄の流れを示すフローチャートである。
【0041】
揮発性メモリ12に記憶されているデータが記憶部24により不揮発性メモリ11に記憶される場合(START)、記憶部24は、揮発性メモリ12に記憶されているデータを不揮発性メモリ11に記憶したことを意味する記憶通知を、判定部25に送信する(S10)。
【0042】
記憶通知を受けて、判定部25は、揮発性メモリ12に展開された下位テーブルT3が変化したか否かを判定する(S11)。この判定では、判定部25は、揮発性メモリ12に展開された下位テーブルT3と、不揮発性メモリ11に記憶された下位テーブルT3とを比較することで、揮発性メモリ12に展開された下位テーブルT3が変化したか否かを判定する。
【0043】
揮発性メモリ12に展開された下位テーブルT3が変化した場合(S11 YES)、判定部25は、検出部21によりFWイベントとしてPLPが検出されたか否かを判定する(S12)。
【0044】
揮発性メモリ12に展開された下位テーブルT3が変化しなかった場合(S11 NO)、下位テーブルT3の処理が終了する(END)。
【0045】
検出部21によりFWイベントとしてPLPが検出されなかった場合(S12 NO)、記憶部24は、変化前の下位テーブルT3から変化後の下位テーブルT3への変更履歴を、不揮発性メモリ11に記憶させる(S13)。不揮発性メモリ11に記憶された変更履歴は、記憶部24が不揮発性メモリ11の下位テーブルT3を更新するのに使用される。下位テーブルT3の変更履歴が記憶されることで、下位テーブルT3の処理が終了する。
【0046】
検出部21によりFWイベントとしてPLPが検出された場合(S12 YES)、判定部25は、PLPキャパシタ15の電荷の残量の有無を判定する(S14)。
【0047】
PLPキャパシタ15の電荷の残量がない場合(S14 NO)、判定部25は、PLPキャパシタ15の電荷の残量がないことを意味する判定結果通知を、記憶部24に送信する(S15)。
【0048】
記憶部24は、判定部25からの判定結果通知に応じて、下位テーブルT3の変更履歴を破棄する(S16)。下位テーブルT3の変更履歴が破棄されることで、下位テーブルT3の処理が終了する(END)。
【0049】
PLPキャパシタ15の電荷の残量がある場合(S14 YES)、判定部25は、PLPキャパシタ15の電荷の残量があることを意味する判定結果通知を、記憶部24に送信する(S17)。
【0050】
記憶部24は、判定部25からの判定結果通知に応じて、下位テーブルT3の変更履歴を、不揮発性メモリ11に記憶させる(S18)。不揮発性メモリ11に記憶された変更履歴は、記憶部24が不揮発性メモリ11の下位テーブルT3を更新するのに使用される。下位テーブルT3の変更履歴が記憶されることで、下位テーブルT3の処理が終了する(END)。
【0051】
図5は、第1実施形態に係る情報処理システム1による中位テーブルT2の記憶および破棄の流れを示すフローチャートである。
【0052】
揮発性メモリ12に記憶されているデータが記憶部24により不揮発性メモリ11に記憶される場合(START)、記憶部24は、揮発性メモリ12に記憶されているデータを不揮発性メモリ11に記憶したことを意味する記憶通知を、判定部25に送信する(S20)。
【0053】
記憶通知を受けて、判定部25は、揮発性メモリ12に展開された中位テーブルT2が変化したか否かを判定する(S21)。この判定では、判定部25は、揮発性メモリ12に展開された中位テーブルT2と、不揮発性メモリ11に記憶された中位テーブルT2とを比較することで、揮発性メモリ12に展開された中位テーブルT2が変化したか否かを判定する。
【0054】
揮発性メモリ12に展開された中位テーブルT2が変化した場合(S21 YES)、判定部25は、検出部21によりFWイベントとしてPLPが検出されたか否かを判定する(S22)。
【0055】
揮発性メモリ12に展開された中位テーブルT2が変化しなかった場合(S21 NO)、中位テーブルT2の処理が終了する(END)。
【0056】
検出部21によりFWイベントとしてPLPが検出されなかった場合(S22 NO)、記憶部24は、変化後の中位テーブルT2を、不揮発性メモリ11にスナップショットとして記憶させる(S23)。変化後の中位テーブルT2のスナップショットは、変化後の中位テーブルT2のある時点における全データである。不揮発性メモリ11に記憶されたスナップショットの一部は、記憶部24が不揮発性メモリ11の中位テーブルT2を更新するのに使用される。下位テーブルT3については変更履歴が記憶され、中位テーブルT2についてはスナップショットが記憶される理由は、下位テーブルT3のデータ量は、一般に多く、中位テーブルT2のデータ量は、一般に少ないからである。変更後の中位テーブルT2が記憶されることで、中位テーブルT2の処理が終了する(END)。
【0057】
検出部21によりFWイベントとしてPLPが検出された場合(S22 YES)、判定部25は、PLPキャパシタ15の電荷の残量の有無を判定する(S24)。
【0058】
PLPキャパシタ15の電荷の残量がない場合(S24 NO)、判定部25は、PLPキャパシタ15の電荷の残量がないことを意味する判定結果通知を、記憶部24に送信する(S25)。
【0059】
記憶部24は、判定部25からの判定結果通知に応じて、変化後の中位テーブルT2を破棄する(S26)。変更後の中位テーブルT2が破棄されることで、中位テーブルT2の処理が終了する(END)。
【0060】
PLPキャパシタ15の電荷の残量がある場合(S24 YES)、判定部25は、PLPキャパシタ15の電荷の残量があることを意味する判定結果通知を、記憶部24に送信する(S27)。
【0061】
記憶部24は、判定部25からの判定結果通知に応じて、変化後の中位テーブルT2を、不揮発性メモリ11に記憶させる(S28)。変化後の中位テーブルT2は、スナップショットとして記憶される。不揮発性メモリ11に記憶されたスナップショットの一部は、記憶部24が不揮発性メモリ11の中位テーブルT2を更新するのに使用される。変更後の中位テーブルT2が記憶されることで、中位テーブルT2の処理が終了する(END)。
【0062】
次に、
図6を参照して、本実施形態の情報処理システム1の動作を説明する。
【0063】
図6は、第1実施形態に係る情報処理システム1の動作の流れを示すシーケンス図である。
【0064】
PLPを検出すると、検出部21は、PLPを検出したことを意味するPLP検出通知を、FW処理部22およびHW処理部23に送信する(S101)。
【0065】
検出部21からPLP検出通知を受信すると、FW処理部22は、不揮発性メモリ11におけるFWワークメモリのデータを揮発性メモリ12にコピーする。FWワークメモリは、FWに関連する情報処理で使用される領域である。FW処理部22は、FWワークメモリのデータのコピーが終了すると、FWワークメモリのデータのコピーが終了したことを意味するコピー終了通知を、記憶部24に送信する(S102)。
【0066】
検出部21からPLP検出通知を受信すると、HW処理部23は、不揮発性メモリ11からHWキューを削除する。HWキューは、HWに関連する情報処理用のデータのうち、情報処理の順番待ちとなっているデータである。HW処理部23は、HWキューの削除が終了すると、HWキューの削除が終了したことを意味する削除終了通知を、記憶部24に送信する(S103)。
【0067】
FW処理部22およびHW処理部23からコピー終了通知および削除終了通知受信すると、記憶部24は、揮発性メモリ12に記憶されている書込データの少なくとも一部を、不揮発性メモリ11にスナップショットとして記憶させる。記憶部24は、スナップショットの記憶が終了すると、通常処理が終了したことを意味する通常処理終了通知を、判定部25に送信する(S104)。
【0068】
記憶部24から通常処理終了通知を受信すると、判定部25は、PLPキャパシタ15の電荷の残量があるか否かを判定する(S111)。
【0069】
電荷の残量があるか否かを判定すると、判定部25は、電荷の残量があるか否かの判定結果を意味する判定結果通知を記憶部24に送信する(S112)。
【0070】
判定部25から判定結果通知を受信すると、記憶部24は、判定結果に応じた処理を行う。
【0071】
電荷の残量があるとの判定結果通知を受信した場合([残量あり])、記憶部24は、下位テーブルT3の変更履歴や変化後の中位テーブルT2を不揮発性メモリ11に記憶させる(S113)。
【0072】
電荷の残量がないとの判定結果通知を受信した場合([残量なし])、記憶部24は、下位テーブルT3の変更履歴や変化後の中位テーブルT2を破棄する(S114)。
【0073】
なお、判定部25は、通常処理の終了後にもPLPキャパシタ15の電荷の残量が十分にあるか否かを判定してもよい。例えば、判定部25は、通常処理の終了時点で、PLPキャパシタ15の電荷の残量が基準値より多いか否かを判定してもよい。このような判定を行う理由は、電荷の残量が不十分であると、上記のプロセスを完了できないからである。また、判定部25は、判定に使用する電荷の残量として、電荷の残量そのものを取得する代わりに、電荷の残量に基づく物理量を取得してもよい。電荷の残量に基づく物理量とは、例えば、PLPキャパシタ15の電極の電圧や、電荷の残量から算出されたPLPキャパシタ15の使用可能時間などである。
【0074】
本実施形態によれば、PLP処理時に、下位テーブルT3の変更履歴や、変化後の中位テーブルT2を破棄することで、PLP処理時に保存するデータ量を削減することが可能となり、PLPキャパシタ15の容量を削減することが可能となる。さらに、本実施形態によれば、下位テーブルT3の変更履歴や、変化後の中位テーブルT2を保存することで、記憶装置2の起動時間が長くなることを抑制することが可能となる。本実施形態によれば、記憶装置2の起動時間が長くなることを抑制することと、PLP処理時に保存するデータ量を削減することとを両立することが可能となる。本実施形態によれば、PLP処理を好適に実施することが可能となる。
【0075】
次に、
図7および
図8を参照して、第1比較例および第2比較例の情報処理システムの動作を説明する。
【0076】
図7は、第1比較例に係る情報処理システムの動作の流れを示す図である。
【0077】
記憶装置は、電源回路への電力の供給が遮断されると(電源遮断)、PLP処理を開始する。PLP処理は、PLPキャパシタをバックアップ電源として使用して実施される。PLP処理が開始されると、検出部が、FWイベントとしてPLPを検出する(S1)。
【0078】
検出部によりPLPが検出されると、FW処理部と、HW処理部が、それぞれ、FWワークメモリのデータを揮発性メモリにコピーし、HWキューを削除する(S2)。
【0079】
HWキューの削除が終了すると、記憶部が、揮発性メモリに記憶されているルックアップテーブルを不揮発性メモリに記憶させる(S3)。例えば、記憶部は、揮発性メモリに記憶されている下位テーブルの変更履歴を、不揮発性メモリに記憶させる。これを、LUTフラッシュという。FW処理部は、さらに、FWワークメモリのデータを揮発性メモリにコピーする。
【0080】
上記のLUTフラッシュやコピーが終了すると、記憶部が、揮発性メモリに記憶されている書込データの少なくとも一部を、不揮発性メモリにスナップショットとして記憶させる(S4)。例えば、記憶部は、揮発性メモリに記憶されている中位テーブルを、不揮発性メモリにスナップショットとして記憶させる。
【0081】
スナップショットの記憶等が終了すると、PLP処理が終了する。PLP処理は、PLPキャパシタの電荷の残量がなくなる前に終了する。
【0082】
なお、不揮発性メモリの下位テーブルは、不揮発性メモリに記憶された変更履歴を用いて、記憶部により更新される。また、不揮発性メモリの中位テーブルは、不揮発性メモリに記憶されたスナップショットの一部を用いて、記憶部により更新される。
【0083】
図8は、第2比較例に係る情報処理システムの動作の流れを示す図である。
【0084】
記憶装置は、電源回路への電力の供給が遮断されると(電源遮断)、PLP処理を開始する。PLP処理は、PLPキャパシタをバックアップ電源として使用して実施される。PLP処理が開始されると、検出部が、FWイベントとしてPLPを検出する(S1)。
【0085】
検出部によりPLPが検出されると、FW処理部と、HW処理部が、それぞれ、FWワークメモリのデータを揮発性メモリにコピーし、HWキューを削除する(S2)。
【0086】
本比較例では、S3は行われない。よって、FWワークメモリのデータのコピーやHWキューの削除が終了すると、記憶部が、揮発性メモリに記憶されている書込データの少なくとも一部を、不揮発性メモリにスナップショットとして記憶させる(S4)。この際、記憶部は、揮発性メモリに記憶されている中位テーブルについては、不揮発性メモリにスナップショットとして記憶させない。その結果、下位テーブルの変更履歴や、変化後の中位テーブルは、不揮発性メモリに記憶されない。
【0087】
スナップショットの記憶等が終了すると、PLP処理が終了する。PLP処理は、PLPキャパシタの電荷の残量がなくなる前に終了する。
【0088】
本比較例によれば、PLP処理に要する時間(PLP時間)を、第1比較例に比べて短縮することが可能となる。理由は、S3の処理が行われず、かつ、S4の処理が軽減されているからである。しかしながら、本比較例では、記憶装置を再び起動する際の起動時間が長くなるおそれがある。理由は、下位テーブルの更新履歴や、変化後の中位テーブルが、PLP処理で記憶されなかったため、記憶装置の起動時にこれらを復元する必要があるからである。
【0089】
本比較例では、PLP処理が終了する時点から、PLPキャパシタの電荷の残量がなくなる時点までに、タイムラグが生じている。理由は、PLP時間が短縮されたからである。
【0090】
実施形態は例示であり、発明の範囲はそれらに限定されない。
【符号の説明】
【0091】
1 情報処理システム
2 記憶装置
3 ホスト
11 不揮発性メモリ
12 揮発性メモリ
13 コントローラ
13a CPU
13b ホストインタフェース
13c 不揮発性メモリインタフェース
13d 揮発性メモリインタフェース
13e バスライン
14 電源回路
15 PLPキャパシタ
16 容量測定回路
21 検出部
22 FW処理部
23 HW処理部
24 記憶部
25 判定部