(57)【要約】 【課題】  低コストで信頼性の高い電源喪失保護が可能なメモリシステムを提供する。【解決手段】  メモリシステム３０は、揮発性メモリ３７と、不揮発性メモリ３５と、第２コントローラ３６を具備する。不揮発性メモリ３５は、揮発性メモリ３５上のデータを格納する。第２コントローラ３６は、情報処理装置の第１コントローラによりメモリシステムへの電力の供給が停止されるであろうことが検出された場合、電力の供給が停止する前に、第１コントローラから発行された起動要求を受ける。第２コントローラ３６は、起動要求が発行された後、キャンセル可能期間の経過後に揮発性メモリ３７上のデータを不揮発性メモリ３５に格納する不揮発化処理を開始させ、不揮発化処理が終了した場合、終了通知を第１コントローラ２２に送信する。【選択図】図１
2019053616.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置内に搭載することが可能なメモリシステムであって、
揮発性メモリと、
前記揮発性メモリ上のデータを格納する不揮発性メモリと、
前記情報処理装置の第１コントローラにより前記メモリシステムへの電力の供給が停止されるであろうことが検出された場合、前記電力の供給が停止する前に、前記第１コントローラから発行された起動要求を受ける第２コントローラと、
を具備し、
前記第２コントローラは、前記起動要求が発行された後、キャンセル可能期間の経過後に前記揮発性メモリ上のデータを前記不揮発性メモリに格納する不揮発化処理を開始させ、前記不揮発化処理が終了した場合、終了通知を前記第１コントローラに送信することを特徴とするメモリシステム。
【請求項２】
前記第２コントローラは、前記第１コントローラから発行された前記起動要求のキャンセルを受けることを特徴とする請求項１記載のメモリシステム。
【請求項３】
前記第２コントローラは、前記第１コントローラから発行された前記起動要求が前記キャンセル可能期間の経過前になされたキャンセルを受けることを特徴とする請求項２記載のメモリシステム。
【請求項４】
前記第２コントローラは、前記第１コントローラから発行された前記起動要求が前記キャンセル可能期間の経過後になされたキャンセルを受けることを特徴とする請求項２記載のメモリシステム。
【請求項５】
前記第２コントローラは、前記第１コントローラにより前記起動要求がキャンセルされた後、再度発行された起動要求を受けることを特徴とする請求項２記載のメモリシステム。
【請求項６】
前記第２コントローラは、前記起動要求を受けた後、前記キャンセル可能期間内に前記情報処理装置から受けた書き込み要求を前記不揮発化処理において実行することを特徴とする請求項１記載のメモリシステム。
【請求項７】
前記書き込み要求で書かれるデータは、少なくともブート・パーティション・ライト（Boot Partition Write）、ＦＵＡ（Force Unit Access）付きで高優先度付きのライト、及びＰＣＩｅのＢＡＲ（Base Address Register）で定義した特別な領域へのライトのうちの１つにより書かれるデータを含むことを特徴とする請求項６記載のメモリシステム。
【請求項８】
前記第１コントローラから発行された前記起動要求をキャンセルするためのキャンセル要求を受ける専用の配線を具備することを特徴とする請求項１記載のメモリシステム。
【請求項９】
前記第２コントローラは、前記不揮発化処理の開始及び終了を示すフィードバック信号を前記第１コントローラに送信することを特徴とする請求項１記載のメモリシステム。
【請求項１０】
前記キャンセル可能期間は、変更可能であることを特徴とする請求項１記載のメモリシステム。
【請求項１１】
前記第２コントローラは、前記前記不揮発化処理の典型値又は最大値を有することを特徴とする請求項１記載のメモリシステム。
【請求項１２】
前記第２コントローラは、前記不揮発化処理において、不揮発化処理時間は長いが電源復旧後の起動時間は短い、不揮発化処理時間は短いが電源復旧後の起動時間は長い、の動作を選択して実行することを特徴とする請求項１記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、例えば情報処理装置に適用され、不揮発性メモリを備えるメモリシステムに関する。
【背景技術】
【０００２】
メモリシステムの一つとして、ＮＡＮＤ型フラッシュメモリを備えるソリッドステートドライブ（ＳＳＤ）が知られている。ＳＳＤは、様々なコンピューティングデバイスのメインストレージとして使用されている。
【０００３】
ＳＳＤにおいて、例えばフラッシュメモリへのデータの記録の途中でＳＳＤへ供給される電力が喪失した場合、記録中のデータを喪失するリスクがある。このため、ＳＳＤは、例えばバックアップ用のコンデンサを具備し、ＳＳＤへ供給される電力が喪失した際、コンデンサに蓄えられた電力を利用することにより、記録途中のデータをフラッシュメモリに記録し、不揮発化する必要がある。
【０００４】
以下、電源喪失時に不揮発化されていないデータを保護することを電源喪失保護（power loss protection）と称し、ＰＬＰと略記することもある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開２０１５／０２６３５１８号公報
【特許文献２】米国特許第９１９５２９３号公報
【特許文献３】特開２０１７−４９９６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、廉価なシステムにおいて、電源喪失保護のために、バックアップ用のコンデンサを用いることは難しい。
【０００７】
本実施形態は、低コストで信頼性の高い電源喪失保護が可能なメモリシステムを提供しようとするものである。
【課題を解決するための手段】
【０００８】
実施形態のメモリシステムは、情報処理装置内に搭載することが可能なメモリシステムであって、揮発性メモリと、前記揮発性メモリ上のデータを格納する不揮発性メモリと、前記情報処理装置の第１コントローラにより前記メモリシステムへの電力の供給が停止されるであろうことが検出された場合、前記電力の供給が停止する前に、前記第１コントローラから発行された起動要求を受ける第２コントローラとを具備し、前記第２コントローラは、前記起動要求が発行された後、キャンセル可能期間の経過後に前記揮発性メモリ上のデータを前記不揮発性メモリに格納する不揮発化処理を開始させ、前記不揮発化処理が終了した場合、終了通知を前記第１コントローラに送信する。
【図面の簡単な説明】
【０００９】
【図１】本実施形態が適用されるメモリシステムを含む情報処理装置の一例を示す構成図。
【図２】第１実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図３】第１実施形態に係るメモリシステムの動作を示すフローチャート。
【図４】本実施形態に適用されるメモリシステムがサポートする属性や能力の一例を示す図。
【図５】本実施形態に適用されるメモリシステムに設定される機能の一例を示す図。
【図６】本実施形態に適用されるメモリシステムに記録されるログの一例を示す図。
【図７】第２実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図８】第３実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図９】第３実施形態に係るメモリシステムの動作を示すフローチャート。
【図１０】第４実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図１１】第４実施形態に係るメモリシステムの動作を示すフローチャート。
【図１２】第５実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図１３】第５実施形態に係るエンベデッドコントローラの動作を示すフローチャート。
【図１４】第６実施形態に係るメモリシステムの構成を示す構成図。
【図１５】第７実施形態に係るメモリシステムの構成を示すものであり、図１４の変形例を示す構成図。
【図１６】第８実施形態に係るメモリシステムの構成を示すものであり、図１５の変形例を示す構成図。
【図１７】第９実施形態に係るメモリシステムの動作を示すタイミングチャート。
【図１８】第１０実施形態に係るメモリシステムの動作を示すタイミングチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について、図面を参照して説明する。図面において、同一部分には同一符号を付している。
【００１１】
（構成）
図１は、各実施形態が適用されるメモリシステムを含む情報処理装置１０の一例を示している。情報処理装置１０は、例えばバッテリにより駆動されるノートブックコンピュータやタブレットコンピュータなどにより構成され、図示せぬディスプレイやキーボードを含んでいてもよい。
【００１２】
メモリシステムは、不揮発性メモリにデータを書き込み、不揮発性メモリからデータを読み出すように構成された半導体ストレージデバイスである。このメモリシステムは、例えば、ＮＡＮＤフラッシュメモリ３５を備えたソリッドステートドライブ（ＳＳＤ）３０として実現される。
【００１３】
情報処理装置１０は、ホスト２０とＳＳＤ３０とを含み、ホスト２０は、メインコントローラ２１とエンベデッドコントローラ（第１コントローラ）２２、及びバッテリ２３などを含んでいる。ＳＳＤ３０は、情報処理装置１０の例えばメインストレージとして使用され、ホスト２０によりアクセスされる。
【００１４】
ホスト２０は、情報処理装置１０の全体的な制御を行うものであり、例えばメインコントローラ２１、エンベデッドコントローラ２２、バッテリ２３、電源スイッチ２４を具備している。さらに、ホスト２０は、図示せぬＷｉ−Ｆｉなどの通信装置を具備していてもよい。
【００１５】
メインコントローラ２１は、例えばオペレーティングシステムやアプリケーションプログラムに従って情報を処理する。メインコントローラ２１は、読み出し要求、又は書き込み要求などに応じてＳＳＤ３０をアクセスするため、論理アドレスとしてのＬＢＡ（logical block address）を含むライトコマンドやリードコマンドなどのホストインターフェース（Ｉ／Ｆ）コマンドを発行する。
【００１６】
メインコントローラ２１は、ライトコマンドを発行する場合、ライトコマンドとともに記録すべきデータをＳＳＤ３０に供給し、リードコマンドを発行した場合、ＳＳＤ３０から供給されるデータを受信する。
【００１７】
メインコントローラ２１は、ライトコマンドやリードコマンドを発行した後、例えばＳＳＤ３０から書き込み処理や読み出し処理の完了通知（completion）を受ける。
【００１８】
エンベデッドコントローラ２２は、例えばＣＰＵ２２ａを有し、エンベデッドコントローラ２２の動作は、ＣＰＵ２２ａにより制御される。
【００１９】
エンベデッドコントローラ２２は、情報処理装置１０の電源を制御する。すなわち、エンベデッドコントローラ２２は、バッテリ２３の残量を検出し、電源スイッチ２４の操作を検出してホスト２０の各部やＳＳＤ３０への電力供給を制御する。
【００２０】
さらに、エンベデッドコントローラ２２は、電源喪失を検出すると、後述する電源喪失保護（ＰＬＰ）処理を起動するための起動（initiate）要求(Ｉ)をＳＳＤ３０に供給する。さらに、エンベデッドコントローラ２２は、起動要求（Ｉ）をＳＳＤ３０に発行した後、ＳＳＤ３０から供給されるフィードバック（feedback）信号(Ｆ)を受け、フィードバック信号（Ｆ）がＰＬＰ処理の終了を示す場合、バッテリ２３からＳＳＤ３０への電力の供給を停止する。
【００２１】
ここで、電源喪失とは、図示せぬ外部電源や電源としてのバッテリ２３からＳＳＤ３０に電力が供給されなくなる可能性があることを言う。
【００２２】
電源喪失に至る原因は、情報処理装置１０の電源の正常なシャットダウン及び不正なシャットダウンを含む。不正なシャットダウンは、ユーザによる不意の電源スイッチ操作によるシャットダウンを含む。
【００２３】
エンベデッドコントローラ２２は、情報処理装置１０の電源の正常なシャットダウン及び不正なシャットダウンに拘らず、電源スイッチ２４の操作や、バッテリ２３の電力低下に基づき、電源喪失を検出すると、ＳＳＤ３０への電力供給を停止する前に、ＳＳＤ３０に対してＰＬＰ処理を起動するための起動要求（Ｉ）を発行する。
【００２４】
バッテリ２３は、例えばリチウム・イオン・バッテリであり、図示せぬ外部電源により充電される。バッテリ２３は、ホスト２０の各部及びＳＳＤ３０に電力を供給する。
【００２５】
ホスト２０の構成は、これに限定されるものではなく、変形可能である。
【００２６】
一方、ＳＳＤ３０は、ホスト２０から電力が供給され、ホスト２０の要求に応じて動作する。
【００２７】
ＳＳＤ３０は、メインコントローラ２１から論理アドレスにより指定されたユーザデータの読み出し要求、又は書き込み要求などを受け付ける。ＳＳＤ３０は、書き込み要求の場合、メインコントローラ２１から受けたデータを、ライトバッファ３３ｃを介してＮＡＮＤフラッシュメモリ３５に保存し、読み出し要求の場合、ＮＡＮＤフラッシュメモリ３５に保存されたデータを、リードバッファ３３ｄを介してメインコントローラ２１に送信する。
【００２８】
ＳＳＤ３０は、例えばホストインターフェース（以下、ホストＩ／Ｆと称す）３１、フロントエンド３２、バックエンド３３、ＮＡＮＤコントローラ３４、ＮＡＮＤフラッシュメモリ３５、ＰＬＰコントローラ（第２コントローラ）３６を具備している。
【００２９】
ホストＩ／Ｆ３１、フロントエンド３２、バックエンド３３、ＮＡＮＤコントローラ３４、ＰＬＰコントローラ３６は、例えばコントローラ３９に含まれていても良い。コントローラ３９は、例えばＳｏＣ（System on a Chip）により構成される。
【００３０】
ホストＩ／Ｆ３１は、ホスト２０とＳＳＤ３０とを接続するためのインターフェースであり、例えばＳＣＳＩ、Serial Attached SCSI（ＳＡＳ）、ＡＴＡ、Serial ＡＴＡ（ＳＡＴＡ）、ＰＣＩ Express（ＰＣＩｅ）（登録商標）、Ethernet（登録商標）、Fibre channel、ＮＶＭ Express（ＮＶＭｅ）（登録商標）等の規格に準拠したインターフェースを適用することが可能である。
【００３１】
フロントエンド３２は、ホストＩ／Ｆ３１を介してメインコントローラ２１との間で、ホストＩ／Ｆコマンドを受信処理し、データを送受信する。フロントエンド３２は、例えばＣＰＵ３２ａ及びコマンドキュー３２ｂを含み、主としてホストＩ／Ｆコマンドを処理する。フロントエンド３２の機能は、ＣＰＵ３２ａ上で実行されるソフトウェア（ファームウエア）によって実現される。フロントエンド３２の機能は、ハードウェアにより実現することも可能である。
【００３２】
コマンドキュー３２ｂは、複数のコマンドを蓄積可能なキュー構造を有し、メインコントローラ２１からホストＩ／Ｆコマンドを受け取り、コマンドの種類がユーザデータの読み出し要求、又は書き込み要求である場合、コマンドをバックエンド３３に転送する。また、フロントエンド３２のＣＰＵ３２ａは、バックエンド３３のＣＰＵ３３ａと協動して、ライトバッファ３３ｃとメインコントローラ２１との間、及びリードバッファ３３ｄとメインコントローラ２１との間においてデータを転送する。
【００３３】
バックエンド３３は、例えばＣＰＵ３３ａ、コマンドキュー３３ｂ、揮発性メモリとしての例えばダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ）３７、及び揮発性メモリにより構成されたライトバッファ３３ｃ及びリードバッファ３３ｄを含んでいる。
【００３４】
バックエンド３３の機能は、ＣＰＵ３３ａ上で実行されるファームウエアにより実現される。バックエンド３３の機能は、ハードウェアにより実現することも可能である。バックエンド３３は、ホストＩ／ＦコマンドをＮＡＮＤフラッシュメモリ３５に対するコマンドに変換して各種処理を実行する制御部として機能する。
【００３５】
バックエンド３３は、例えば次のような処理を実行する。
【００３６】
・メインコントローラ２１から供給される書き込み要求、読み出し要求等の各種コマンドへの応答。
【００３７】
・ＮＡＮＤフラッシュメモリ３５内の不要な領域を整理するガベージコレクションによるデータの読み出しと書き込み。
【００３８】
・メインコントローラ２１から供給される論理アドレスをＮＡＮＤフラッシュメモリ３５の物理アドレスへ変換。
【００３９】
・ＤＲＡＭ３７内のアドレス変換テーブル３７ａなどの管理情報の更新。
【００４０】
・ＳＳＤ３０への電力の供給が停止される際、ＤＲＡＭ３７において更新され、ＮＡＮＤフラッシュメモリ３５において更新されていないデータ（例えばアドレス変換テーブル）、及びホスト２０に完了通知が送信され、ＮＡＮＤフラッシュメモリ３５に保存されていないライトバッファ３３ｃ内のデータをＮＡＮＤフラッシュメモリ３５に保存する不揮発化処理。
【００４１】
さらに、バックエンド３３は、本実施形態に係る次の機能を含んでいる。
【００４２】
ＰＬＰ処理の内容は、不揮発化処理とほぼ同様であり、さらに、後述する実施形態で説明する処理を含む。
【００４３】
ＤＲＡＭ３７は、例えばアドレス変換テーブル３７ａなどを格納する。アドレス変換テーブル３７ａは、メインコントローラ２１から供給される論理アドレスとしてのＬＢＡと、ＮＡＮＤフラッシュメモリ３５上に記録されたデータの位置（ブロックアドレス＋ブロック内のページアドレス）との対応を示すテーブルである。
【００４４】
ＤＲＡＭ３７は、ＣＰＵ３３ａにより、管理される。アドレス変換テーブル３７ａは、ＳＳＤ３０への電力の供給が停止されるとき、ＮＡＮＤフラッシュメモリ３５に保存される。ＳＳＤ３０が起動されると、アドレス変換テーブル３７ａは、ＮＡＮＤフラッシュメモリ３５からＤＲＡＭ３７に読み出される。ＤＲＡＭ３７上のアドレス変換テーブル３７ａは、定期的に又は電力の供給停止時に、ＮＡＮＤフラッシュメモリ３５に退避され、保存される。
【００４５】
コマンドキュー３３ｂは、複数のコマンドを蓄積可能なキュー構造を有している。ＣＰＵ３３ａは、フロントエンド３２から受け取ったコマンドに関して、ＤＲＡＭ３７上のアドレス変換テーブル３７ａを用いて、ＬＢＡをＮＡＮＤフラッシュメモリ３５上の物理アドレスに変換する。変換された物理アドレスを含むコマンドキュー３３ｂ内のリードコマンド又はライトコマンドは、順次ＮＡＮＤコントローラ３４に供給される。
【００４６】
ＮＡＮＤコントローラ３４は、バックエンド３３から発行されたコマンドに基づき、ＮＡＮＤフラッシュメモリ３５への書き込み、読み出し、及び消去を制御する。
【００４７】
ＮＡＮＤフラッシュメモリ３５は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイを有している。個々のメモリセルは上位ページ及び下位ページを使用して多値データを記憶することが可能である。データの書き込み及び読み出しは、ページ単位に実行される。ＮＡＮＤフラッシュメモリ３５は、複数のブロックにより構成され、ブロックは、複数のページによって構成されている。ブロックは、データの消去単位である。また、１ページは、複数のセクタデータにより構成されている。セクタは、ホストによる最小のアクセス単位である。
【００４８】
ＮＡＮＤフラッシュメモリ３５は、２次元構造であってもよいし、３次元構造であってもよい。
【００４９】
ＰＬＰコントローラ３６は、例えばＣＰＵ３６ａを有し、ＣＰＵ３６ａによりＰＬＰコントローラの動作が制御される。
【００５０】
ＰＬＰコントローラ３６は、エンベデッドコントローラ２２から発行される起動（initiate）信号(Ｉ)を受け、バックエンド３３に電源喪失保護（ＰＬＰ）処理の開始を指示する。起動要求（Ｉ）は、電源喪失が検出された場合、エンベデッドコントローラ２２から発行される。
【００５１】
ＰＬＰコントローラ３６は、ＰＬＰ処理の開始及び終了をフィードバック信号（Ｆ）により、エンベデッドコントローラ２２に通知する。
【００５２】
ＰＬＰ処理が終了するまで、ホスト２０のバッテリ２３からＳＳＤ３０に電力が供給される。このため、ＳＳＤ３０は、バックアップ用のコンデンサを具備する必要がなく、低コスト化が可能である。
【００５３】
起動要求（Ｉ）及びフィードバック信号（Ｆ）は、ＳＳＤ３０に設けられたピン３８−１、３８−２を用いて通信される。ピン３８−１、３８−２は、ＳＳＤ３０に設けられた複数のピンのうち、例えばインターフェース規格では規定されていないピンで良い。起動要求（Ｉ）及びフィードバック信号（Ｆ）に使用されるピンは、後述するように、ホスト２０により割り当てられる。
【００５４】
ＳＳＤ３０の構成は、図１に限定されるものではない。例えばＰＬＰコントローラ３６は、例えばバックエンド３３に含めることが可能であり、ＮＡＮＤコントローラ３４もバックエンド３３に含めることが可能である。ＤＲＡＭ３７は、バックエンド３３と別体としてもよい。また、揮発性メモリは、ＤＲＡＭ３７に限定されるものではなく、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ）などのメモリを適用することも可能である。さらに、不揮発性メモリは、ＮＡＮＤフラッシュメモリ３５に限定されるものではなく、抵抗変化メモリや磁気ランダム・アクセス・メモリ（ＭＲＡＭ）などのメモリを適用することも可能である。
（第１実施形態）
図２は、第１実施形態に係るＰＬＰコントローラ３６の動作を示すタイミングチャートである。図２において、起動要求（Ｉ）は、例えばハイアクティブ、フィードバック信号（Ｆ）は、例えばローアクティブである。起動要求（Ｉ）の極性、及びフィードバック信号（Ｆ）が出力されるピンの属性は、後述するように、ホスト２０により設定され、変更可能である。
【００５５】
図３は、ＰＬＰコントローラ３６に設けられたＣＰＵ３６ａの動作の一例を示している。
【００５６】
図２、図３を参照して第１実施形態の動作について説明する。
【００５７】
エンベデッドコントローラ２２は、電源喪失を検出すると、図２に示すように、ＰＬＰ処理を起動するための起動要求（Ｉ）をＳＳＤ３０に発行する。すなわち、起動要求（Ｉ）をローレベル‘Ｌ’からハイレベル‘Ｈ’に変化させる。
【００５８】
ＳＳＤ３０のＰＬＰコントローラ３６は、図３に示すように、起動要求（Ｉ）が発行されたことを検出すると（Ｓ１１、ＹＥＳ）、キャンセル可能期間、例えば１ｍｓが経過したかどうかを判断する（Ｓ１２）。このキャンセル可能期間は、後述するように、例えば最大値又は最小値の範囲内でホスト２０により設定され、変更可能である。
【００５９】
ＰＬＰコントローラ３６により、キャンセル可能期間が経過したものと判断された場合（Ｓ１２、ＹＥＳ）、ＰＬＰコントローラ３６は、起動要求（Ｉ）が発行されているかどうかを判断する（Ｓ１３）。
【００６０】
この結果、起動要求（Ｉ）が発行されている場合（Ｓ１３、ＹＥＳ）、ＰＬＰコントローラ３６は、フィードバック信号（Ｆ）をハイレベルからローレベル“Ｌ”に下げ、エンベデッドコントローラ２２に送信し、バックエンド３３にＰＬＰ処理を指示する（Ｓ１４）。
【００６１】
バックエンド３３は、ＰＬＰコントローラ３６からの指示に基づき、ＰＬＰ処理を実行する。
【００６２】
ＰＬＰ処理が終了すると（Ｓ１５、ＹＥＳ）、ＰＬＰコントローラ３６は、図２に示すように、フィードバック信号（Ｆ）をローレベル“Ｌ”からハイレベル“Ｈ”に上げ、エンベデッドコントローラ２２に送信する（Ｓ１６）。
【００６３】
エンベデッドコントローラ２２は、フィードバック信号（Ｆ）がハイレベル“Ｈ”となると、図２に示すように、バッテリ２３を切り、ＳＳＤ３０への電力の供給を停止する。
（実装例）
上記ＰＬＰ処理を可能とするための実装例について説明する。この実装例は、例えばＮＶＭｅ規格に従ったものであり、例えば他のインターフェースを用いた実装も可能である。
【００６４】
図４は、例えばリストとして記録されるＳＳＤ３０がサポートする属性や能力（capability）を示している。
【００６５】
・ＰＬＰ処理のサポートの有無
・キャンセル可能期間の設定可能な最大値及び最小値
・ＰＬＰ処理に必要な時間の典型値及びワースト値（最大値）
ＰＬＰ処理に必要な時間は、ＳＳＤに応じて様々である。このため、殆どのケースで当てはまる通常的な値が典型値として、また、最悪のケースを想定したワースト値が設定されている。
【００６６】
ホスト２０は、例えばIdentifyコマンドを用いて、ＳＳＤ３０が備えるこれらの機能を知ることができる。
【００６７】
図５は、ＳＳＤ３０に設定される機能を示している。
【００６８】
ホスト２０は、例えばSetFeatureコマンドを用いて、ＳＳＤ３０に対して、図５に示す次の機能を設定することができる。
【００６９】
・ＰＬＰ処理のオン又はオフの設定、及びＰＬＰ処理モードの設定
・起動要求（Ｉ）を受けるピンの割り当ての設定
・起動要求（Ｉ）極性の設定
・フィードバック信号（Ｆ）のピンの割り当ての設定
・フィードバック信号（Ｆ）を出力するピンの属性の設定
・キャンセル可能期間の設定
すなわち、ホスト２０は、Identifyコマンドを用いてＳＳＤ３０から取得したＰＬＰ処理をサポートしているかどうかを示す表示に基づき、ＰＬＰ処理をオン又はオフに設定することにより、ＰＬＰ処理を利用するかしないかを設定することができる。
【００７０】
また、ＰＬＰ処理を利用する場合においては、ＰＬＰ処理モードを選択することもできる。すなわち、例えばＰＬＰ処理時間が長い第１モードと、ＰＬＰ処理時間が短い第２モードを選択できる。第１モードにおいては、例えば、不揮発化するデータについて、読み出し時に読み出しやすいようにデータの整理を行ってから不揮発化を行う。この場合、ＳＳＤ３０に電力が再度供給されるようになった後、当該データの読み出しを高速に行うことができる。第２モードにおいては、例えば、不揮発化処理にかかる時間を短くすることを優先するため、不揮発化するデータの整理を行わない。この場合、ＳＳＤ３０に電力が再度供給されるようになった後、当該データの読み出しには第１モードよりも時間がかかる場合がある。ホスト２０はSetFeatureコマンドで、これらのモードを選択することができる。
【００７１】
ホスト２０は、ＳＳＤ３０において、起動要求（Ｉ）、及びフィードバック信号（Ｆ）に使用するピンを割り当てることができる。
【００７２】
ホスト２０は、起動要求（Ｉ）の極性を、ハイアクティブ又はローアクティブに設定することができる。
【００７３】
ホスト２０は、フィードバック信号（Ｆ）を出力するピンの属性を、オープン・ドレイン又はプッシュプルに設定することができる。
【００７４】
ホスト２０は、Identifyコマンドを用いてＳＳＤ３０から取得した最大値と最小値の範囲内で、適正なキャンセル可能期間を設定することができる。
【００７５】
さらに、図６に示すように、ＳＳＤ３０は、例えばＰＬＰ処理が完了（complete）した回数及び未完了（incomplete）の回数を、例えばＮＡＮＤフラッシュメモリ３５内にログ（log）として記録してもよい。
【００７６】
ホスト２０は、例えばGetLogコマンドを用いて、ＮＡＮＤフラッシュメモリ３５に記録されたログを取得することができる。ＰＬＰ処理の未完了の回数が多い場合、ＰＬＰ処理が終了する以前に電力の供給が停止されているため、ＰＬＰ処理が失敗したと見做すことができ、ＰＬＰが有効に機能していないことが分る。
【００７７】
この場合、起動要求（Ｉ）の発行タイミングを調整することにより、ＰＬＰ処理が失敗する回数を低減することができ、情報処理装置１０の安定な動作を担保することができる。具体的には、ホスト２０は、例えばIdentifyコマンドを用いて、ＳＳＤ３０から図４に示すＰＬＰ処理時間のワースト値を取得し、起動要求（Ｉ）の発行からＳＳＤ３０への電力の供給が停止されるまでがワースト値以上あるように、起動要求（Ｉ）の発行タイミングを制御することができる。
（第１実施形態の効果）
上記第１実施形態によれば、エンベデッドコントローラ２２は、電源喪失を検知した場合、ＳＳＤ３０への電力供給を遮断する前に、ＰＬＰ処理の起動要求（Ｉ）を発行する。起動要求（Ｉ）を受けたＳＳＤ３０は、キャンセル可能期間が経過した後、起動要求（Ｉ）が継続して発行されている場合、ＰＬＰ処理を開始する。このため、ＳＳＤ３０内において、不揮発化されていないデータをＮＡＮＤフラッシュメモリ３５に書き込むことができる。したがって、ＳＳＤ３０及びＳＳＤ３０が適用される情報処理装置１０の信頼性を向上することができる。
【００７８】
しかも、エンベデッドコントローラ２２により電源喪失が検出された場合、ＳＳＤ３０は、ＰＬＰ処理が終了するまで、ホスト２０から電力供給を受けている。このため、ＳＳＤ３０はバックアップ用のコンデンサを具備する必要がなく、電源喪失保護のために追加コストを必要としない。したがって、低コストで信頼性の高いＳＳＤ３０を提供できる。
【００７９】
また、起動要求（Ｉ）及びフィードバック信号（Ｆ）は、ホスト２０からSetFeatureコマンドを用いて、ＳＳＤ３０のピンに割り当てることができる。このため、ＳＳＤ３０が適用されるシステムに合わせて、ピンの割り当てを変更することができる。したがって、容易にシステムを構築することができる。
【００８０】
さらに、起動要求（Ｉ）の極性は、ホスト２０からSetFeatureコマンドを用いて、変更可能とされている。したがって、ＳＳＤ３０が適用されるシステムに合わせて、起動要求（Ｉ）の極性を容易に変更することが可能である。
【００８１】
また、起動要求（Ｉ）の発行タイミングは、ＰＬＰ処理時間のワースト値を確認して、調整することが可能である。このため、ＳＳＤ３０への電力の供給が停止するまでに確実にＰＬＰ処理を終了することが可能である。
【００８２】
さらに、ＮＡＮＤフラッシュメモリ３５のログに記録されたＰＬＰ処理の未完了の回数に基づき、起動要求（Ｉ）の発行タイミングを調整することが可能とされている。このため、ＰＬＰ処理の未完了の回数を低減でき、ＳＳＤ３０が適用されるシステムを安定に保つことができる。
（第２実施形態）
図７は、第２実施形態の動作を示している。
【００８３】
第１実施形態においては、起動要求（Ｉ）が発行された後、キャンセルがされていないときの態様が示された。
【００８４】
第２実施形態においては、エンベデッドコントローラ２２が起動要求（Ｉ）を発行した後、キャンセル可能期間内で、起動要求（Ｉ）がキャンセルされる場合の態様が示される。ホスト２０は、Identifyコマンドを発行することにより、図４に示すキャンセル可能期間の最大値及び最小値を取得することができる。エンベデッドコントローラ２２は、取得したキャンセル可能期間の最大値と最小値の範囲内でキャンセル可能期間を設定し、発行した起動要求（Ｉ）をキャンセルすることができる。
【００８５】
図７、図３を参照して第２実施形態の動作について説明する。
【００８６】
図７に示すように、エンベデッドコントローラ２２は、電源喪失を検出すると、起動要求（Ｉ）を発行し、ＰＬＰコントローラ３６に供給する。しかし、例えば電源スイッチ２４の操作時間が規定値に達しない等の場合、外部電源や電源としてのバッテリ２３からＳＳＤ３０に電力が供給されなくなる可能性が低い。このため、エンベデッドコントローラ２２は、一度はＳＳＤ３０に電力が供給されなくなる可能性があると判断するに至ったが、その後、ＳＳＤ３０への電力の供給が停止されなくなったと判断し、起動要求（Ｉ）をハイレベルからローレベルに下げてキャンセルする。起動要求（Ｉ）のキャンセルは、キャンセル可能期間内に行われる。
【００８７】
ＳＳＤ３０のＰＬＰコントローラ３６は、図３に示すように、起動要求（Ｉ）が発行され（Ｓ１１、ＹＥＳ）、キャンセル可能期間が経過しとき（Ｓ１２、ＹＥＳ）、起動要求（Ｉ）がハイレベルかどうか判断する（Ｓ１３）。この結果、起動要求（Ｉ）がローレベルであるである場合（図３、Ｓ１３、ＮＯ）、起動要求（Ｉ）がキャンセルされたと判断する。このため、ＰＬＰコントローラ３６は、ＰＬＰ処理を起動せず、フィードバック信号（Ｆ）は、ハイレベルに保持される。したがって、エンベデッドコントローラ２２は、情報処理装置１０の電源を保持するため、情報処理装置１０は、動作状態を維持する。
（第２実施形態の効果）
上記第２実施形態によれば、エンベデッドコントローラ２２は、ＳＳＤ３０に電力が供給されなくなる可能性があると判断するに至ったが、その後、ＳＳＤ３０への電力の供給が停止されなくなったと判断した場合、発行した起動要求（Ｉ）をキャンセル可能期間内にキャンセル可能としている。このため、無用なＰＬＰ処理を回避することができ、情報処理装置１０の動作状態を維持することが可能である。
（第３実施形態）
図８、図９は、第３実施形態の動作を示している。
【００８８】
上記第２実施形態は、起動要求（Ｉ）を発行した後、キャンセル可能期間内に起動要求（Ｉ）をキャンセル可能としている。
【００８９】
第３実施形態は、キャンセルした起動要求（Ｉ）をキャンセル可能期間内に再度発行可能とする。
【００９０】
図８、図９を参照して第３実施形態の動作について説明する。
【００９１】
エンベデッドコントローラ２２は、ＳＳＤ３０に電力が供給されなくなる可能性があること判断するに至ったが、その後、ＳＳＤ３０への電力の供給が停止されなくなったと判断した場合、起動要求（Ｉ）をキャンセルした。しかし、再度、電源喪失を予告すべき要因が発生した場合などにおいて、エンベデッドコントローラ２２は、図８に示すように、キャンセルした起動要求（Ｉ）を、キャンセル可能期間内で再度発行する。
【００９２】
図９に示すように、ＰＬＰコントローラ３６は、起動要求（Ｉ）が発行された後（Ｓ１１、ＹＥＳ）、キャンセル可能期間が経過したかどうかを判断する（Ｓ２１）。この結果、キャンセル可能期間が経過していない場合（Ｓ２１、ＮＯ）、起動要求（Ｉ）が発行されているかが判別される（Ｓ２２）。この結果、起動要求（Ｉ）が発行されていない（キャンセルされた）と判断された場合（Ｓ２２、ＮＯ）、例えば起動要求（Ｉ）がキャンセルされたことを示すフラグがセットされ（Ｓ２３）、再度キャンセル可能期間が経過したかどうかが判断される（Ｓ２１）。
【００９３】
Ｓ２２において、起動要求（Ｉ）が発行されていると判断された場合（Ｓ２２、ＹＥＳ）、フラグがセットされているかどうかが判断される（Ｓ２４）。この結果、Ｓ２４において、フラグがセットされていると判断された場合（Ｓ２４、ＹＥＳ）、フラグをクリアし（Ｓ２５）、キャンセル可能期間の測定をリセットする（Ｓ２６）。この後、再度キャンセル可能期間が経過したかどうかが判断される（Ｓ２１）。
【００９４】
一方、フラグがセットされていない場合（Ｓ２４、ＮＯ）、再度キャンセル可能期間が経過したかどうかが判断される（Ｓ２１）。この結果、キャンセル可能期間が経過した場合（Ｓ２１、ＹＥＳ）、起動要求（Ｉ）が発行されているかどうかが判別される（Ｓ１３）。この結果、起動要求（Ｉ）が発行されている場合（Ｓ１３、ＹＥＳ）、フィードバック信号（Ｆ）がローレベルとされ、ＰＬＰ処理が開始される（Ｓ１４）。以降の動作、及びＳ１３、ＮＯの場合の動作は、第２実施形態と同様である。
（第３実施形態の効果）
上記第３実施形態によれば、起動要求（Ｉ）を発行した後、キャンセル可能期間内に再度起動要求（Ｉ）が発行された場合、ＰＬＰ処理が開始される。このため、エンベデッドコントローラ２２により、起動要求（Ｉ）がキャンセルされた後、再発行された場合においても、ＰＬＰ処理を確実に実行することが可能である。したがって、情報処理装置１０の信頼性を向上することが可能である。
（第４実施形態）
図１０、図１１は、第４実施形態の動作を示している。
【００９５】
第３実施形態は、発行された起動要求（Ｉ）が、キャンセル可能期間内にキャンセルされ、その後、キャンセル可能期間内に起動要求（Ｉ）が再度発行される場合について説明した。
【００９６】
第４実施形態は、発行した起動要求（Ｉ）をキャンセル可能期間内にキャンセルした場合において、キャンセル可能期間が経過した後、電源喪失が再度検出された場合、起動要求（Ｉ）を再度発行可能としている。
【００９７】
図１０に示すように、エンベデッドコントローラ２２により起動要求（Ｉ）が発行され、キャンセル可能期間が経過する前に、起動要求（Ｉ）をキャンセルした場合、エンベデッドコントローラ２２は、キャンセル可能期間が経過した後、起動要求（Ｉ）を再度発行することができる。
【００９８】
図１１を参照して、キャンセル可能期間内にキャンセルされた起動要求（Ｉ）がキャンセル可能期間の経過後に再度発行された場合の動作について説明する。
【００９９】
図１１に示すように、ＳＳＤ３０のＰＬＰコントローラ３６は、エンベデッドコントローラ２２から起動要求（Ｉ）が発行されると（Ｓ１１、ＹＥＳ）、キャンセル可能期間が経過したかどうかを判断する（Ｓ２１）。キャンセル可能期間（Ｓ２１、ＮＯ）内に起動要求（Ｉ）がキャンセルされた場合（Ｓ２２、ＮＯ）、起動要求（Ｉ）がキャンセルされたことを示すフラグをセットする（Ｓ２３）。
【０１００】
Ｓ２１において、キャンセル可能期間が経過したと判断された場合（Ｓ２１、ＹＥＳ）、フラグがセットされているかどうかが判断される（Ｓ２７）。この結果、フラグがセットされている場合（Ｓ２７、ＹＥＳ）、フラグをクリアし（Ｓ２８）、制御がＳ１１に移行され、起動要求（Ｉ）が発行されたかどうかが再度判断される。この結果、起動要求（Ｉ）が発行されている場合（Ｓ１１、ＹＥＳ）、再度、キャンセル可能期間が経過しているかどうかが判断される（Ｓ２１）。以降の動作は、第２実施形態及び第３実施形態と同様である。
（第４実施形態の効果）
上記第４実施形態によれば、ＳＳＤ３０に起動要求（Ｉ）を発行して、電源喪失を予告したが、予告すべき要因が誤りであったと判明し、キャンセル可能期間内に起動要求（Ｉ）がキャンセルされた場合において、キャンセル可能期間を経過した後、再度、電源喪失を予告すべき要因が発生した場合、起動要求（Ｉ）が再度発行される。このように、起動要求（Ｉ）が再度発行された場合においても、ＰＬＰ処理を可能としている。このため、確実にＰＬＰ処理を起動させることができ、情報処理装置１０の信頼性を向上することが可能である。
（第５実施形態）
図１２、図１３は、第５実施形態の動作を示している。
【０１０１】
上記第３実施形態及び第４実施形態は、電源喪失に起因して起動要求（Ｉ）を再発行する場合について説明した。
【０１０２】
第５実施形態は、ホスト２０から起動要求（Ｉ）が発行された後、ＳＳＤ３０の原因により、ＰＬＰ処理が開始できなかった場合、起動要求（Ｉ）が再発行される場合について説明する。
【０１０３】
図１２に示すように、エンベデッドコントローラ２２から起動要求（Ｉ）が発行され、キャンセル可能期間が経過してもフィードバック信号（Ｆ）がハイレベルのままである場合、エンベデッドコントローラ２２は、ＳＳＤ３０において、ＰＬＰ処理が開始されていないことを知ることができる。この場合、エンベデッドコントローラ２２は、発行した起動要求（Ｉ）をキャンセルし、再度、起動要求（Ｉ）を発行する。
【０１０４】
図１３に示すように、エンベデッドコントローラ２２は、起動要求（Ｉ）を発行すると（Ｓ３１）、キャンセル可能期間が経過したかどうかを判断する（Ｓ３２）。この結果、キャンセル可能期間が経過した場合（Ｓ３２、ＹＥＳ）、フィードバック信号がローレベルであるかどうかを判断する（Ｓ３３）。フィードバック信号がローレベルではない場合（Ｓ３３、ＮＯ）、起動要求（Ｉ）がキャンセルされ（Ｓ３５）、起動要求（Ｉ）が再度発行される（Ｓ３１）。
【０１０５】
一方、Ｓ３３において、フィードバック信号がローレベルであると判断された場合（Ｓ３３、ＹＥＳ）、フィードバック信号がハイレベルであるかどうかが判別される（Ｓ３４、ＮＯ）。フィードバック信号がハイレベルである場合（Ｓ３４、ＹＥＳ）、ＳＳＤ３０への電力の供給を停止する（Ｓ３６）。
【０１０６】
ＳＳＤ３０のＰＬＰコントローラ３６は、最初に発行された起動要求（Ｉ）を受け付けたもののＰＬＰ処理を実行できなかった場合、又は、最初に発行された起動要求（Ｉ）を受け付けることができなかった場合、再度発行された起動要求（Ｉ）に従って、例えば図９に示すような動作に従って、ＰＬＰ処理を実行する。
（第５実施形態の効果）
上記第５実施形態によれば、ＳＳＤ３０の原因により、発行された起動要求（Ｉ）に対してＰＬＰ処理を開始できなかった場合、エンベデッドコントローラ２２により、起動要求（Ｉ）を再度発行している。このため、電源喪失時、確実にＰＬＰ処理を実行することができ、情報処理装置１０の信頼性を向上することが可能である。
（第６実施形態）
上記各実施形態は、起動要求（Ｉ）をキャンセルする場合、起動要求（Ｉ）をハイレベルからローレベルに切換えた。しかし、これに限らず、起動要求（Ｉ）をハイレベルとした後、ホスト２０から起動要求（Ｉ）のキャンセルを示すキャンセル要求（Ｃ）をＳＳＤ３０に供給してもよい。ＳＳＤ３０は、キャンセル要求（Ｃ）を受けた場合、ＰＬＰ処理が実行されないように実装することも可能である。
【０１０７】
図１４は、第６実施形態の構成を示している。
【０１０８】
第６実施形態において、情報処理装置１０は、例えば３つのＳＳＤ３０−１、３０−２、３０−３を具備している。ＳＳＤの数は、３つに限定されるものではなく、１つ又は２つ或は４つ以上であってもよい。さらに、全てＳＳＤである必要はなく、ＳＳＤと例えばハードディスクドライブ（ＨＤＤ）などの組み合わせであってもよい。
【０１０９】
図１２において、エンベデッドコントローラ２２から発行された起動要求（Ｉ）は、例えば配線４１に供給される。配線４１には配線４２、４３が接続されており、起動要求（Ｉ）は、配線４１、４２、４３を用いてＳＳＤ３０−１、３０−２、３０−３にそれぞれ送信される。
【０１１０】
ＳＳＤ３０−１、３０−２、３０−３のそれぞれから配線５１、５２、５３を用いて出力されるフィードバック信号（Ｆ）は、例えば配線５１に集められ、エンベデッドコントローラ２２に送信される。すなわち、配線５１、５２、５３は、例えばワイヤード・オア回路を構成し、配線５１のフィードバック信号（Ｆ）は、ワイヤード・オア回路の出力信号としてエンベデッドコントローラ２２に送信される。
【０１１１】
ＳＳＤ３０−１、３０−２、３０−３の配線５１、５２、５３が接続されるピン３８−２の属性は、例えばオープン・ドレイン（open-drain）に設定されている。
【０１１２】
配線５１は、プルアップ抵抗６１によりハイレベルに保持されており、配線５１、５２、５３の少なくとも１つがローレベルとなると、配線５１によりエンベデッドコントローラ２２へ、ローレベルのフィードバック信号（Ｆ）を送信することができる。
【０１１３】
ピンの属性としてのオープン・ドレイン（open-drain）、又はプッシュ・プル(push-pull)は、ホスト２０から例えばSetFeatureコマンドを用いて設定することができる。
【０１１４】
さらに、例えばホスト２０とＳＳＤ３０−１、３０−２、３０−３は、配線７１、７２、７３により接続される。配線７１、７２、７３は、ＳＳＤ３０−１、３０−２、３０−３の例えば空きピン３８−３に接続される。
【０１１５】
起動要求（Ｉ）をキャンセルするためのキャンセル要求（Ｃ）は、専用の配線７１、７２、７３を用いて、ＳＳＤ３０−１、３０−２、３０−３に送信される。キャンセル要求（Ｃ）は、例えばＰＣＩｅコマンド、又はＳＭＢｕｓ（System Management Bus）コマンドを用いて発行される。
【０１１６】
キャンセル要求（Ｃ）は、エンベデッドコントローラ２２から発行してもよいし、メインコントローラ２１から発行してもよい。
【０１１７】
図１４は、ＳＳＤ３０−１、３０−２、３０−３への電力の供給が選択的に制御可能とされており、例えばＳＳＤ３０−１の電力の供給が停止され、ＳＳＤ３０−２、ＳＳＤ３０−３は、バッテリ２３から電力が継続して供給される場合を想定している。
【０１１８】
電源喪失が検知された場合、起動要求（Ｉ）は、電力の供給が停止されるＳＳＤ３０−１だけではなく、ＳＳＤ３０−２、ＳＳＤ３０−３にも送信される。電力が継続して供給されるＳＳＤ３０−２、ＳＳＤ３０−３は、ＰＬＰ処理の必要がない。このため、起動要求（Ｉ）をキャンセルするためのキャンセル要求（Ｃ）がＳＳＤ３０−２、ＳＳＤ３０−３に送信され、ＳＳＤ３０−１には、キャンセル要求（Ｃ）が送信されない。
【０１１９】
キャンセル要求（Ｃ）を受けたＳＳＤ３０−２及びＳＳＤ３０−３は、起動要求（Ｉ）がキャンセルされたものと判断し、キャンセル可能期間が経過し、起動要求（Ｉ）がハイレベルであっても、ＰＬＰ処理を実行しない。
【０１２０】
一方、キャンセル要求（Ｃ）を受けないＳＳＤ３０−１は、キャンセル可能期間が経過したとき、起動要求（Ｉ）がハイレベルである。このため、配線５１のフィードバック信号（Ｆ）をローレベルとして、ＰＬＰ処理を実行する。
【０１２１】
ＳＳＤ３０−１は、ＰＬＰ処理が終了すると、配線５１のフィードバック信号（Ｆ）のローレベル維持を解除する。
【０１２２】
エンベデッドコントローラ２２は、フィードバック信号（Ｆ）をモニタすることにより、ＳＳＤ３０−１、ＳＳＤ３０−２、ＳＳＤ３０−３の少なくとも１つにおいて、ＰＬＰ処理が開始されたこと、及びＳＳＤ３０−１、ＳＳＤ３０−２、ＳＳＤ３０−３の全てにおいて、ＰＬＰ処理が終了状態にあることを検知できる。
（第６実施形態の効果）
上記第６実施形態によれば、起動要求（Ｉ）のキャンセルを、起動要求（Ｉ）とは別のキャンセル要求（Ｃ）により行っている。このため、複数のＳＳＤ３０−１、３０−２、３０−３が実装され、これらＳＳＤ３０−１、３０−２、３０−３に共通に起動要求（Ｉ）を発行する場合において、ＰＬＰ処理を実行するＳＳＤと実行しないＳＳＤを選択的に指定することができる。
【０１２３】
また、ＳＳＤ３０−１、３０−２、３０−３のフィードバック信号（Ｆ）は、配線５１に集められ、配線５１を用いてホスト２０に通知される。このため、複数のＳＳＤ３０−１、３０−２、３０−３を用いる場合において、ホスト２０とＳＳＤ３０−１、３０−２、３０−３との間の配線数を削減できる。
（第７実施形態）
図１５は、第７実施形態の構成を示している。
【０１２４】
第７実施形態は、第６実施形態の変形例を示している。第６実施形態において、エンベデッドコントローラ２２から発行された起動要求（Ｉ）は、配線４１に供給され、配線４１、及び配線４１に接続された配線４２、配線４３を用いてＳＳＤ３０−１、３０−２、３０−３に送信された。
【０１２５】
これに対して、第７実施形態において、配線４１、配線４２、配線４３は、それぞれエンベデッドコントローラ２２とＳＳＤ３０−１、３０−２、３０−３の間に接続されている。エンベデッドコントローラ２２から発行された起動要求（Ｉ）は、配線４１、配線４２、配線４３を用いてＳＳＤ３０−１、３０−２、３０−３にそれぞれ送信される。その他の構成は、第６実施形態と同様である。
【０１２６】
尚、第７実施形態において、キャンセル要求（Ｃ）は、必須の構成ではなく、省略することも可能である。
（第７実施形態の効果）
上記第７実施形態によれば、エンベデッドコントローラ２２は、ＳＳＤ３０−１、３０−２、３０−３に起動要求（Ｉ）を選択的に発行することができ、キャンセル要求（Ｃ）をＳＳＤ３０−１、３０−２、３０−３に選択的に発行することができる。このため、複数のＳＳＤ３０−１、３０−２、３０−３が実装される場合において、ＰＬＰ処理を実行すべきＳＳＤと、ＰＬＰ処理を実行しないＳＳＤを選択的に指定することができる。
【０１２７】
しかも、例えば電源喪失時、ＳＳＤ３０−１、３０−２、３０−３の全てにＰＬＰ処理を実行する必要がある場合、ＳＳＤ３０−１、３０−２、３０−３に起動要求（Ｉ）を選択的に発行することができる。このため、ＳＳＤ３０−１、３０−２、３０−３それぞれのＰＬＰ処理時間のワースト値に従って起動要求（Ｉ）を発行すべきＳＳＤ３０−１、３０−２、３０−２を選択することも可能である。
【０１２８】
さらに、ＳＳＤ３０−１、３０−２、３０−３それぞれのＰＬＰ処理に要する時間を考慮して、起動要求（Ｉ）を発行すべきＳＳＤ３０−１、３０−２、３０−３を選択することも可能である。例えばバッテリ２３の残量が少ない場合、ＰＬＰ処理を短時間で実行できるＳＳＤにのみ起動要求（Ｉ）を発行し、ＰＬＰ処理に長時間を要するＳＳＤにはＰＬＰ処理をさせることをあきらめ、起動要求(I)を発行しないように制御することが可能である。ＰＬＰ処理に要する時間は、ホスト２０からIdentifyコマンドを発行し、図４に示すＰＬＰ処理のワースト値を取得すればよい。
（第８実施形態）
図１６は、第８実施形態の構成を示している。
【０１２９】
第８実施形態は、第７実施形態の変形例を示している。第７実施形態において、ＳＳＤ３０−１、３０−２、３０−３から出力されるフィードバック信号（Ｆ）は、配線５１、５２、５３により構成されたワイヤード・オア回路を通り、配線５１によりエンベデッドコントローラ２２に送信された。
【０１３０】
これに対して、第８実施形態において、配線５１、配線５２、配線５３は、それぞれエンベデッドコントローラ２２とＳＳＤ３０−１、３０−２、３０−３の間に接続されている。ＳＳＤ３０−１、３０−２、３０−３から出力されたフィードバック信号（Ｆ）は、配線５１、配線５２、配線５３を用いてエンベデッドコントローラ２２にそれぞれ送信される。配線５１、配線５２、配線５３には、それぞれプルアップ抵抗６１が接続されている。
【０１３１】
尚、ピンの属性がプッシュプルの場合、プルアップ抵抗６１は、省略することが可能である。その他の構成は、第７実施形態と同様である。
（第８実施形態の効果）
上記第８実施形態によれば、ＳＳＤ３０−１、３０−２、３０−３から出力されたフィードバック信号（Ｆ）は、配線５１、配線５２、配線５３を用いてエンベデッドコントローラ２２にそれぞれ送信することができる。このため、複数のＳＳＤ３０−１、３０−２、３０−３が実装される場合において、エンベデッドコントローラ２２は、ＳＳＤ３０−１、３０−２、３０−３から出力されるフィードバック信号（Ｆ）により、ＳＳＤ３０−１、３０−２、３０−３のＰＬＰ処理の実行状況をそれぞれ検知することができる。したがって、確実に情報処理装置１０の電源をシャットダウンすることが可能である。
（第９実施形態）
図１７は、第９実施形態の動作を示している。
【０１３２】
通常、ＳＳＤ３０への電力の供給が停止される場合、ＳＳＤ３０の揮発性メモリ内のデータを迅速に不揮発化する必要がある。一方、ホスト２０への電力の供給が停止される時、ホスト２０の揮発性メモリ内のデータをＳＳＤ３０に保存する必要もある。
【０１３３】
図１７に示す第９実施形態において、ホスト２０は、ホスト２０の揮発性メモリ内のデータをＳＳＤ３０に保存するため、キャンセル可能期間内に、例えばシステム保持に必要な最低限のデータを書き込むことを明示したライト要求（システムライト要求と称す）を発行する。
【０１３４】
システムライト要求は、例えば次のようなライトである。
【０１３５】
・ブート・パーティション・ライト（Boot Partition Write）
・ＦＵＡ（Force Unit Access）付きで高優先度付きのライト
・ＰＣＩｅのＢＡＲ（Base Address Register）で定義した特別な領域へのライト
ＳＳＤ３０のＰＬＰコントローラ３６は、キャンセル可能期間内にホスト２０からシステムライト要求を受信した場合、ＰＬＰ処理において、システムライト要求を実行する。システムライト要求を含むＰＬＰ処理が終了した場合、フィードバック信号（Ｆ）をハイレベルとして、ホスト２０にＰＬＰ処理の終了を通知する。
（第９実施形態の効果）
上記第９実施形態によれば、エンベデッドコントローラ２２から起動要求（Ｉ）が発行された後、キャンセル可能期間内にホスト２０からシステムライト要求が発行された場合、ＳＳＤ３０のＰＬＰコントローラ３６は、ＰＬＰ処理において、システムライト要求に係るデータをＰＬＰ処理の対象データとしている。このため、ホスト２０への電力の供給が停止される時に、ホスト２０の揮発性メモリ内のデータをＳＳＤ３０に保存することが可能である。したがって、情報処理装置１０の信頼性を向上することが可能である。
（第１０実施形態）
図１８は、第１０実施形態の動作を示している。
【０１３６】
ＳＳＤ３０は、例えばユーザデータを書き込むためのライト要求やシステムライト要求を受け付け、ライトバッファ３３ｃにデータを受信し終わると、ホスト２０に書き込みが完了したことを示す完了通知（completion）を送信する。しかし、この時点において、ＮＡＮＤフラッシュメモリ３５へのデータの書き込みが完了しているとは限らない。このため、ＮＡＮＤフラッシュメモリ３５へのデータの書き込みが完了する以前にＳＳＤ３０への電力の供給が停止されると、データの不整合が生じる。したがって、完了通知をホスト２０に通知したライト要求は、不揮発化処理の対象とされ、ＰＬＰ処理によってＮＡＮＤフラッシュメモリ３５へのデータの書き込みが完了される。
【０１３７】
一方、ＳＳＤ３０によりライト要求を受け付けたものの、完了通知をホスト２０に通知していないライト要求は、不揮発化処理の対象とされていなかった。
【０１３８】
第１０実施形態は、エンベデッドコントローラ２２から起動要求（Ｉ）が発行された後、キャンセル可能期間内にホスト２０から発行されたライト要求は、完了通知の送信、未送信に関わらず、ＰＬＰ処理の対象に含めるようにしている。
【０１３９】
図１８に示すように、ＳＳＤ３０は、エンベデッドコントローラ２２から起動要求（Ｉ）が発行された後、キャンセル可能期間内にホスト２０から発行されたライト要求を受付けた場合、ＳＳＤ３０は、ＰＬＰ処理の対象に含め、ライト要求を実行し、完了通知（completion）を送信する。ライト要求を含むＰＬＰ処理が終了した場合、フィードバック信号（Ｆ）をハイレベルとして、ホスト２０にＰＬＰ処理の終了を通知する。
（第１０実施形態の効果）
上記第１０実施形態によれば、エンベデッドコントローラ２２から起動要求（Ｉ）が発行された後、キャンセル可能期間内にホスト２０から発行されたライト要求は、完了通知の送信、未送信に関わらず、ＰＬＰ処理の対象に含めるようにしている。このため、ＳＳＤ３０への電力の供給が停止される時に、起動要求（Ｉ）が発行される前には不揮発化の対象ではなかったデータをＮＡＮＤフラッシュメモリ３５に保存することが可能である。したがって、情報処理装置１０の信頼性を向上することが可能である。
【０１４０】
上記第１実施形態乃至第１０実施形態は、ノートブックコンピュータやタブレットコンピュータを例として説明した。しかし、これに限定されるものではなく、ＳＳＤやＨＤＤなどの記録装置を搭載する他の電子機器に適用することが可能である。
【０１４１】
その他、本発明は上記各実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記各実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１４２】
１０…情報処理装置、２０…ホスト、２２…エンベデッドコントローラ（第１コントローラ）、２３…バッテリ、３０…ＳＳＤ（メモリシステム）、３６…ＰＬＰ（電源喪失保護）コントローラ（第２コントローラ）、３５…ＮＡＮＤフラッシュメモリ（不揮発性メモリ）、３７…ＤＲＡＭ（揮発性メモリ）。
【図１】
2019053616.tif 000003
【図２】
2019053616.tif 000004
【図３】
2019053616.tif 000005
【図４】
2019053616.tif 000006
【図５】
2019053616.tif 000007
【図６】
2019053616.tif 000008
【図７】
2019053616.tif 000009
【図８】
2019053616.tif 000010
【図９】
2019053616.tif 000011
【図１０】
2019053616.tif 000012
【図１１】
2019053616.tif 000013
【図１２】
2019053616.tif 000014
【図１３】
2019053616.tif 000015
【図１４】
2019053616.tif 000016
【図１５】
2019053616.tif 000017
【図１６】
2019053616.tif 000018
【図１７】
2019053616.tif 000019
【図１８】
2019053616.tif 000020