IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ レノボ・(ベイジン)・リミテッドの特許一覧

<>
  • 特開-情報処理装置、および、制御方法 図1
  • 特開-情報処理装置、および、制御方法 図2
  • 特開-情報処理装置、および、制御方法 図3
  • 特開-情報処理装置、および、制御方法 図4
  • 特開-情報処理装置、および、制御方法 図5
  • 特開-情報処理装置、および、制御方法 図6
  • 特開-情報処理装置、および、制御方法 図7
  • 特開-情報処理装置、および、制御方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024028145
(43)【公開日】2024-03-01
(54)【発明の名称】情報処理装置、および、制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20240222BHJP
   G06F 1/3206 20190101ALI20240222BHJP
   G06F 1/3234 20190101ALI20240222BHJP
   G06F 12/02 20060101ALI20240222BHJP
【FI】
G06F12/00 550E
G06F1/3206
G06F1/3234
G06F12/00 597U
G06F12/02 530E
【審査請求】有
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023119490
(22)【出願日】2023-07-21
(31)【優先権主張番号】202210985538.7
(32)【優先日】2022-08-17
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】523107950
【氏名又は名称】レノボ・(ベイジン)・リミテッド
(74)【代理人】
【識別番号】100108453
【弁理士】
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100205785
【弁理士】
【氏名又は名称】▲高▼橋 史生
(72)【発明者】
【氏名】菅原 隆
(72)【発明者】
【氏名】チョウ ティンティン
【テーマコード(参考)】
5B011
5B160
【Fターム(参考)】
5B011DA02
5B011EA10
5B011EB07
5B011JB04
5B011LL11
5B160AA10
(57)【要約】
【課題】BGCによる電池寿命への影響を低減または解消する。
【解決手段】電源回路、第1コントローラ、および、固体記憶装置を備え、固体記憶装置は第2コントローラと記憶媒体を備え、電源回路は、構成部材の動作に用いられる電力である動作電力を供給し、外部電源から電力が供給されるとき、供給される電力を動作電力に変換する第1電力供給モードを選択し、外部電源から交流電力が供給されないとき、二次電池からの電力を動作電力に変換する第2電力供給モードを選択し、第2コントローラは、第1電力供給モードが選択されるとき、第1コントローラから通知される動作モードに関わらず記憶媒体に対するガベージコレクションを実行し、第2電力供給モードが選択され、かつ、前記動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、記憶媒体に対するガベージコレクションの要否を判定する。
【選択図】図1
【特許請求の範囲】
【請求項1】
電源回路と、他の構成部材を備え、
前記構成部材は、少なくとも、第1コントローラと固体記憶装置を備え、
前記固体記憶装置は、第2コントローラと記憶媒体を備える情報処理装置であって、
前記電源回路は、前記構成部材の動作に用いられる電力である動作電力を供給し、
前記電源回路は、外部電源から電力が供給されるとき、前記電力を前記動作電力に変換する第1電力供給モードを選択し、
外部電源から電力が供給されないとき、二次電池からの電力を前記動作電力に変換する第2電力供給モードを選択し、
前記第2コントローラは、
前記第1電力供給モードが選択されるとき、
前記第1コントローラから通知される動作モードに関わらず、前記記憶媒体に対するガベージコレクションを実行し、
前記第2電力供給モードが選択され、かつ、前記動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、
前記記憶媒体に対するガベージコレクションの要否を判定する
情報処理装置。
【請求項2】
前記第2コントローラは、
前記第2電力供給モードが選択されるとき、
前記記憶媒体の空き領域の容量に基づいて、前記記憶媒体に対するガベージコレクションの要否を判定する
請求項1に記載の情報処理装置。
【請求項3】
前記固体記憶装置は、当該固体記憶装置の温度を検出する温度センサを備え、
前記第2コントローラは、
前記温度に基づいて前記第1電力供給モードと前記第2電力供給モードのいずれが選択されているかを推定する
請求項1または請求項2に記載の情報処理装置。
【請求項4】
前記第2コントローラは、
前記第2電力供給モードが選択され、かつ、前記第1コントローラから前記二次電池の残量が通知されるとき、
さらに前記残量に基づいて前記ガベージコレクションの要否を判定する
請求項1に記載の情報処理装置。
【請求項5】
前記第2コントローラは、
前記残量が予め定めた残量の下限より少ないとき、ガベージコレクション否と判定する
請求項4に記載の情報処理装置。
【請求項6】
前記第2コントローラは、
前記残量が予め定めた残量の下限以上であり、かつ、前記固体記憶装置の空き領域の容量が予め定めた容量の下限以上であるとき、ガベージコレクション否と判定し、
前記残量が前記残量の下限以上であり、かつ、前記空き領域の容量が前記容量の下限より少ないとき、ガベージコレクション要と判定する
請求項4に記載の情報処理装置。
【請求項7】
前記第1コントローラは、ホストシステムのプロセッサであり、
前記電源回路の電力供給モードと、前記二次電池の残量を前記第2コントローラに通知する
請求項4から請求項6のいずれか一項に記載の情報処理装置。
【請求項8】
前記第1コントローラは、ホストシステムのプロセッサとは別個のコントローラであり、
前記電源回路の電力供給モードと、前記二次電池の残量を前記第2コントローラに通知する
請求項4から請求項6のいずれか一項に記載の情報処理装置。
【請求項9】
電源回路と、他の構成部材を備え、
前記構成部材は、少なくとも、第1コントローラと固体記憶装置を備え、
前記固体記憶装置は、第2コントローラと記憶媒体を備える情報処理装置における制御方法であって、
前記電源回路は、前記構成部材の動作に用いられる動作電力を供給し、
前記電源回路が、外部電源から電力が供給されるとき、前記電力を前記動作電力に変換する第1電力供給モードを選択し、
外部電源から電力が供給されないとき、二次電池からの電力を前記動作電力に変換する第2電力供給モードを選択する第1のステップと、
前記第2コントローラが、
前記第1電力供給モードが選択されるとき、
前記第1コントローラから通知される動作モードに関わらず、前記記憶媒体に対するガベージコレクションを実行し、
前記第2電力供給モードが選択され、かつ、前記動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、
前記記憶媒体に対するガベージコレクションの要否を判定する第2のステップと、
を実行する制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および、制御方法、例えば、情報処理装置に備わる補助記憶装置に関する。
【背景技術】
【0002】
パーソナルコンピュータ(PC:Personal Computer)をはじめとする情報処理装置には、補助記憶装置として固体記憶装置(SSD:Solid State Drive)を備えるものがある。SSDは、不揮発性の半導体メモリを備える記憶装置である。SSDに備わる半導体メモリとして、主にNAND型フラッシュメモリが用いられる。そのため、従来から普及しているハードディスクドライブ(HDD:Hard Disk Drive)よりもアクセス速度が高速であり、消費電力が少ない。
【0003】
NAND型フラッシュメモリ(本願では、「NANDメモリ」と呼ぶことがある)は、複数のブロックとページレジスタを備え、個々のブロックが積層されたメモリアレイとして構成される。個々のブロックには、ページ単位でアクセスされる。また、個々のブロックは、複数ページのデータを保存できる容量を有する。
【0004】
ホストからNANDメモリへのデータの書き込みは、未使用のブロックになされる。しかし、たとえ1ページであっても有効なデータ(本願では、「有効データ」と呼ぶことがある)が保存されているブロックにはなされない。また、NANDメモリから消去されるデータは、ブロック単位よりも細かい単位であるページ単位で無効データとして残される。無効データが残されたブロックには、新たなデータを書き込むことができない。データの読み書きの繰り返しにより、有効データの有無に関わらず利用できないブロックが増加してしまう。無効データは、新たなデータの保存を阻む。そのため、無効データは、ガベージ(Garbage)とも呼ばれる。
【0005】
そこで、SSDのコントローラは、ガベージコレクション(GC:Garbage Collection)を実行して、NANDメモリの有効活用を図る。GCは、有効なデータと無効なデータの一方を断片的に保存ブロックから有効なデータを、未使用のブロックに複製して集中させる処理と、無効なデータを他の未使用のブロックに複製して集中させる処理と、無効データのみが残されるブロックを空き領域として開放する処理(ブロック消去)とを含む。
【0006】
GCは、データの読み書きとは並列にバックグラウンドで実行されることがある。バックグラウンドで実行されるGCは、特にバックグラウンドガベージコレクション(BGC:Background Garbage Collection)と呼ばれる。BGCの実行は、SSDの性能、例えば、アクセス速度の低下をもたらすことがある。そこで、SSDの性能を発揮するため、ホストの動作状態が待機状態(アイドル状態)であるときにBGCが実行され、活性状態(アクティブ状態)であるときにBGCの実行が制限されることがある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2019-199059号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、BGCは比較的多くの電力を消費する。BGCに係る消費電力は、しばしばアプリケーションプログラム(本願では、「アプリ」と呼ぶことがある)の実行に要する消費電力と同等以上になることもある。そのため、BGCが電池寿命に影響することがある。例えば、外部電源から電力が供給されない場合、比較的処理量が小さいアプリの実行の場合、などにおいて、ユーザの意図に関わらず蓄えられた電力が使い果たされるおそれがある。
【課題を解決するための手段】
【0009】
本発明は上記の課題を解決するためになされたものであり、本発明の一態様に係る情報処理装置は、電源回路と、他の構成部材を備え、前記構成部材は、少なくとも、第1コントローラと固体記憶装置を備え、前記固体記憶装置は、第2コントローラと記憶媒体を備える情報処理装置であって、前記電源回路は、前記構成部材の動作に用いられる電力である動作電力を供給し、前記電源回路は、外部電源から電力が供給されるとき、前記電力を前記動作電力に変換する第1電力供給モードを選択し、外部電源から電力が供給されないとき、二次電池からの電力を前記動作電力に変換する第2電力供給モードを選択し、前記第2コントローラは、前記第1電力供給モードが選択されるとき、前記第1コントローラから通知される動作モードに関わらず、前記記憶媒体に対するガベージコレクションを実行し、前記第2電力供給モードが選択され、かつ、前記動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、前記記憶媒体に対するガベージコレクションの要否を判定する。
【0010】
上記の情報処理装置において、前記第2コントローラは、前記第2電力供給モードが選択されるとき、前記記憶媒体の空き領域の容量に基づいて、前記記憶媒体に対するガベージコレクションの要否を判定してもよい。
【0011】
上記の情報処理装置において、前記固体記憶装置は、当該固体記憶装置の温度を検出する温度センサを備え、前記第2コントローラは、前記温度に基づいて前記第1電力供給モードと前記第2電力供給モードのいずれが選択されているかを推定してもよい。
【0012】
上記の情報処理装置において、前記第2コントローラは、前記第2電力供給モードが選択され、かつ、前記第1コントローラから前記二次電池の残量が通知されるとき、さらに前記残量に基づいて前記ガベージコレクションの要否を判定してもよい。
【0013】
上記の情報処理装置において、前記第2コントローラは、前記残量が予め定めた残量の下限より少ないとき、ガベージコレクション否と判定してもよい。
【0014】
上記の情報処理装置において、前記第2コントローラは、前記残量が予め定めた残量の下限以上であり、かつ、前記固体記憶装置の空き領域の容量が予め定めた容量の下限以上であるとき、ガベージコレクション否と判定し、前記残量が前記残量の下限以上であり、かつ、前記空き領域の容量が前記容量の下限より少ないとき、ガベージコレクション要と判定してもよい。
【0015】
上記の情報処理装置において、前記第1コントローラは、ホストシステムのプロセッサであり、前記電源回路の電力供給モードと、前記二次電池の残量を前記第2コントローラに通知してもよい。
【0016】
上記の情報処理装置において、前記第1コントローラは、ホストシステムのプロセッサとは別個のコントローラであり、前記電源回路の電力供給モードと、前記二次電池の残量を前記第2コントローラに通知してもよい。
【0017】
本発明の第2態様に係る制御方法は、電源回路と、他の構成部材を備え、前記構成部材は、少なくとも、第1コントローラと固体記憶装置を備え、前記固体記憶装置は、第2コントローラと記憶媒体を備える情報処理装置における制御方法であって、前記電源回路は、前記構成部材の動作に用いられる動作電力を供給し、前記電源回路が、外部電源から電力が供給されるとき、前記電力を前記動作電力に変換する第1電力供給モードを選択し、外部電源から電力が供給されないとき、二次電池からの電力を前記動作電力に変換する第2電力供給モードを選択する第1のステップと、前記第2コントローラが、前記第1電力供給モードが選択されるとき、前記第1コントローラから通知される動作モードに関わらず、前記記憶媒体に対するガベージコレクションを実行し、前記第2電力供給モードが選択され、かつ、前記動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、前記記憶媒体に対するガベージコレクションの要否を判定する第2のステップと、を実行する。
【発明の効果】
【0018】
本発明の実施形態によれば、BGCによる電池寿命への影響を低減または解消することができる。
【図面の簡単な説明】
【0019】
図1】本実施形態に係る情報処理装置のハードウェア構成を例示する概略ブロック図である。
図2】本実施形態に係るSSDの機能構成例を示す概略ブロック図である。
図3】本実施形態に係る情報処理装置の第1の機能構成例を示すブロック図である。
図4】本実施形態に係るBGCの制御例を示すフローチャートである。
図5】本実施形態に係る情報処理装置の第2の機能構成例を示すブロック図である。
図6】本実施形態に係る情報処理装置の第3の機能構成例を示すブロック図である。
図7】本実施形態に係るNANDメモリの構成例を示す図である。
図8】NANDメモリの管理を説明するための説明図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施形態について、図面を参照して説明する。まず、本発明の実施形態に係る情報処理装置10の概要について説明する。図1は、本実施形態に係る情報処理装置10のハードウェア構成を例示する概略ブロック図である。以下の説明では、情報処理装置10がノートブック型パーソナルコンピュータ(PC:Personal Computer)である場合を主とするが、これには限られない。情報処理装置10は、デスクトップ型PC、タブレット端末装置、多機能携帯電話機(スマートフォン)など、いずれの形態で実現されてもよい。
【0021】
情報処理装置10は、CPU(Central Processing Unit)11と、メインメモリ12と、GPU(Graphic Processing Unit)13と、ディスプレイ14と、チップセット21と、BIOS(Basic Input Output System)メモリ22と、USB(Universal Serial Bus)コネクタ24と、オーディオシステム25と、ネットワークカード26と、入力デバイス27と、放熱ファン28と、電源回路29と、EC(Embedded Controller)31と、SSDポート32と、SSD33と、バッテリ34と、AC(Alternating Current)アダプタ35と、を備える。
【0022】
CPU11は、メインメモリ12に記憶されたプログラムを実行して、種々の演算処理を実行し、情報処理装置10の各部の動作を実現および制御するプロセッサである。本願では、「プログラムを実行する」または「プログラムの実行」とは、プログラムに記述された命令により指示される処理を実行することを指す。
メインメモリ12は、CPU11が実行する処理の作業領域として機能する主記憶装置である。メインメモリ12には、CPU11が実行するプログラム、CPU11が実行する処理に用いられるデータ、CPU11の処理により生成されたデータ、などが記憶される。メインメモリ12に記憶されるデータには、ある処理により生成され、より後続する処理により用いられうる中間データも含まれうる。CPU11により実行されるプログラムには、例えば、OS(オペレーティングシステム、Operating System)、周辺機器などのハードウェアを操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。メインメモリ12は、1個または複数個のDRAM(Dynamic Random Access Memory)を備える。
【0023】
GPU13は、CPU11からの制御に基づいて画像表示(描画)に関する処理を実行する。GPU13は、ビデオメモリを備え、CPU11からの制御に基づき画像表示に関連する機能を有するプロセッサである。GPU13は、CPU11から出力された描画命令を処理し、得られた描画情報をビデオメモリに書き込む。GPU13は、ビデオメモリから新たに書き込まれた描画情報を読み出し、読み出した描画情報を、ディスプレイ14に描画データ(表示データ)として出力する。
ディスプレイ14は、GPU13から入力された描画データ(表示データ)に基づいて、表示画面を表示する。ディスプレイ14は、例えば、液晶ディスプレイである。
【0024】
チップセット21は、各種の機器(デバイス)を有線で接続するためのバスコントローラを備える。チップセット21は、接続のために、例えば、PCIe(登録商標)(Peripheral Component Interconnect Express)バスを用いる。チップセット21は、PCIe(登録商標)を用いて、少なくともCPU11、GPU13、および、EC31のそれぞれと、SSDポート32を経由してSSD33と接続可能とする。チップセット21は、USB、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、および、LPC(Low Pin Count)バスなどの、いずれか1種類、または、複数種類の方式を用い、他の機器と接続可能としてもよい。バスコントローラは、個々の方式に従って接続された機器とのデータの入出力を制御する。
【0025】
図1の例では、チップセット21は、周辺機器としてBIOSメモリ22、USBコネクタ24、オーディオシステム25、ネットワークカード26、EC31、および、SSDポート32と接続される。CPU11、メインメモリ12、および、チップセット21は、ホストデバイスとして機能する。ホストデバイスは、情報処理装置10のコンピュータシステムにおいて最小限のハードウェアとなる。
【0026】
BIOSメモリ22は、システムファームウェアを格納する不揮発性メモリを含んで構成される。不揮発性メモリとして、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどが用いられる。システムファームウェアは、コンピュータシステム全体の動作に関わり、ハードウェアとホストデバイスにおいて実行される各種のプログラムとのインタフェースを提供するためのプログラムである。システムファームウェアには、例えば、BIOS(Basic Input/Output System)がある。本願では、かかるシステムファームウェアを「BIOS」と総称することがある。
【0027】
USBコネクタ24は、USBを用いて周辺機器を着脱可能に接続するためのインタフェースである。USBコネクタ24は、情報処理装置10の筐体に固定して設置される。
オーディオシステム25は、音声データの入出力、記録、および、再生を実行可能とする機器である。
ネットワークカード26は、ネットワークに接続し、有線または無線でデータ通信を実行可能とする。ネットワークカード26は、無線LAN(Local Area Network)を用いて直接、または、さらに他のネットワークを経由して他の機器と接続可能としてもよい。
【0028】
SSDポート32は、SSD33と接続可能とするインタフェースである。図1の例では、SSDポート32の個数は1個であるが、2個以上となってもよい。2個以上のSSDポート32に、それぞれSSD33が接続されうる。
【0029】
SSD33は、不揮発性の半導体メモリを備え、各種のデータおよびプログラムを記憶する補助記憶装置である。不揮発性メモリとして、例えば、NANDメモリが用いられる。SSD33に記憶されるプログラムには、OS、ドライバ、サービス/ユーティリティ、アプリケーションプログラムなどが含まれる。SSD33には、自器の温度を測定する温度センサを内蔵または装着されてもよい。SSD33は、測定した温度をSSD温度として示す温度データをCPU11またはEC31にSSDポート32を経由して送信する。SSD33は、半導体ドライブ、メモリドライブ、などとも呼ばれることがある。SSD33は、さらにコントローラを備える。コントローラは、論理ホストLHと不揮発性メモリとの各種のデータの読み書きならびにガベージコレクションの実行を制御する。ガベージコレクションの制御については、後述する。
【0030】
本願では、論理ホストLHとは、SSD33と直接または間接的に各種のデータの読み書きを行うデバイスまたはそれらの集合を指す。論理ホストLHは、情報処理装置10の主たるコンピュータシステム(ホストシステム)を構成するホストデバイスとして、CPU11、メインメモリ12、および、チップセット21を含む。論理ホストLHは、ホストデバイスの他、EC31も含まれうる。本願では、ホストデバイスをなすコントローラと、SSD33に備わるコントローラを、それぞれ「第1コントローラ」、「第2コントローラ」と呼んで区別することがある。第2コントローラは、例えば、SoC(System-on-a-Chip)である。また、論理ホストLHからアクセス可能に記憶されるデータを「ユーザデータ」と呼ぶことがある。
【0031】
EC31は、情報処理装置10の動作状態(動作モード)に関わらず、各種デバイス(周辺機器やセンサなど)の状態を監視し、制御するマイクロコンピュータである。EC31は、例えば、CPU、ROM、RAM、複数チャネルのA/D(Analog to Digital)入力端子、D/A(Digital to Analog)出力端子、タイマ、および、デジタル入出力端子を備えるワンチップマイコン(One-chip microcomputer)として構成される(図示せず)。デジタル入出力端子には、例えば、入力デバイス27、放熱ファン28、および、電源回路29が接続される。
【0032】
EC31は、システムファームウェアとは別個の所定のファームウェア(本願では「ECFW」と呼ぶことがある)を実行し、その機能を発揮する。EC31は、温度管理機能と電源管理機能を有する。温度管理機能は、SSD温度としてSSD33の温度を示すSSD温度データを取得する機能と、SSD温度データに基づいて放熱ファン28の動作を制御する機能を含む。放熱ファン28の制御により、SSD33からの放熱量が制御される。電源管理機能は、電源回路29を制御して、情報処理装置10の各部で消費される電力を供給する機能である。EC31は、例えば、CPU11およびGPU13に供給する供給電力を制御する。
【0033】
入力デバイス27は、ユーザの操作を受け付け、受け付けた操作に応じた操作信号をEC31に出力する。操作信号により各種の情報または指令が指示される。入力デバイス27は、例えば、キーボード、タッチパッド、ポインティングデバイス、などのいずれであってもよい。
【0034】
放熱ファン28は、ファンと電動機(モータ)を含んで構成される。EC31により電動機に供給される電力量が制御され、電動機は供給される電力量に応じた速度でファンを回転させる。ファンの回転により生ずる気流によりSSD33からの放熱が促進される。SSD33からの放熱により、情報処理装置10の外部からSSD33の周囲に吸入された空気の温度が上昇する。温度が上昇した空気は、情報処理装置10の外部に排気される。
【0035】
電源回路29は、EC31の制御により、情報処理装置10の各部の動作に要求される電力を供給する。電源回路29は、例えば、充放電ユニットとDC(Direct Current)/DCコンバータを備える。充放電ユニットは、ACアダプタ35からの電力供給が検出されるとき、ACアダプタ35から供給される電力をDC/DCコンバータに供給する。ACアダプタ35から供給される電力のうち、消費されずに残った電力をバッテリ34に充電する。充放電ユニットは、電源回路29はACアダプタ35からの電力供給が検出されないとき、バッテリ34から放電される電力をDC/DCコンバータに供給する。
DC/DCコンバータは、自部に供給される電力の電圧を、電力の供給先となる部材の動作電圧に変換し、電圧を変換した電力をその部材に供給する。
【0036】
電源回路29には、EC31から入力される電力制御情報に基づいて、部材ごとの動作の要否を制御し、動作要とする部材の動作電圧を設定してもよい。例えば、電力制御情報により、ホストデバイスをなすCPU11とGPU13の動作電圧として、それらの動作モードに対応する動作電圧が通知されてもよい。動作モードとして、例えば、PCIe(登録商標)、ACPI(Advanced Configuration and Power Interface)などで規定された電力状態(power state)が適用されてもよい。また、動作モードに関わらず動作させる部材、例えば、EC31、入力デバイス27、などに対する動作電圧は、電源回路29に予め設定されてもよい。
【0037】
なお、電源回路29は、ACアダプタ35からの電力供給の有無を示す電源状態信号をEC31に出力する。電源回路29は、バッテリ34の正極端子と負極端子の間の電位差を起電力として測定し、測定した起電力を示す起電力信号をEC31に出力する。起電力は、バッテリ34の電池残量の推定に用いられる。
本願では、外部電源からの交流電力を動作電力に変換する電力供給モードを「第1電力供給モード」と呼ぶことがある。第1電力供給モードは、「ACモード」と呼ばれることもある。バッテリからの直流電力を動作電力に変換する電力供給モードを「第2電力供給モード」と呼ぶことがある。第2電力供給モードは、「バッテリモード」と呼ばれる。電源状態信号は、電力供給モードを通知する情報を搬送する信号とみなすこともできる。
【0038】
バッテリ34は、電源回路29の充放電ユニットから供給される電力を蓄積する二次電池である。バッテリ34は、蓄積された電力を放電し、充放電ユニットに供給する。バッテリ34は、例えば、リチウムイオン電池である。
ACアダプタ35は、外部電源(例えば、商用電源)から供給される交流電力を一定の電圧を有する直流電力に変換し、変換した直流電力を電源回路29に供給する。
【0039】
次に、本実施形態に係るSSD33の機能構成例について説明する。図2は、本実施形態に係るSSD33の機能構成例を示す概略ブロック図である。
SSD33は、論理ホストIF(interface)332、DRAM(Dynamic Random Access memory)333、SoC334、I/Oバッファ336、NANDメモリ337n、および、温度センサ338を備える。図2の例では、SoC334が第2コントローラに相当する。
【0040】
論理ホストIF332は、論理ホストLHとSoC334とを接続し、相互間で各種のデータの入出力を可能とする入出力インタフェースである。
DRAM333は、SoC334の作業領域をなす記憶装置として用いられる揮発性メモリの一例である。DRAM333には、例えば、NANDメモリ337nのページごとの論理アドレスと物理アドレスとの対応関係を示すマッピングテーブルが記憶される。また、SoC334の動作状態やリソースの状態を示す情報が変更される都度、その情報がDRAM333に記憶され、累積された情報がファームウェアログとして形成される。ファームウェアログには、例えば、個々のモジュールに提供されたコマンド、それらのコマンドの実行状態、コマンドの実行に伴うリソースの状態などの情報が含まれ、SSD33の動作状態を示す動作ログをなす。
【0041】
I/Oバッファ336は、NANDメモリ337nとのデータの入出力におけるバッファ(キャッシュ)として用いられるメモリである。
温度センサ338は、SSD33の筐体の内部に格納され、設置された部位における温度をSSD温度として検出する。温度センサ338は、SSD33の表面に装着されてもよい。温度センサ338は、検出したSSD温度を示す温度データをSoC334に出力する。
【0042】
NANDメモリ337nは、各種のデータを記憶する不揮発性メモリの例である。NANDメモリ337nは、複数のブロックを備え、それらのブロックを含んで構成される。NANDメモリ337nでは、ブロック単位でデータが消去される。個々のブロックの記憶領域は、複数のページに区分される。NANDメモリ337nは、論理ホストLHからアクセスされ、データの書き込み、消去、読み出し、などがページ単位で実行される。
【0043】
図7は、本実施形態に係るNANDメモリ337nの構成例を示す図である。図7の例では、NANDメモリ337nは、2048個のブロック337bと1個のページレジスタ337prを備える。2048個のブロック337bは積層され、NANDメモリ337n全体として1個のメモリアレイをなす。1個のブロック337bは、64ページのデータを保存可能とする。1個のページ337pは、2048バイトのデータ領域337dと64バイトのスペア領域337sを備える。ページレジスタ337prには、1ページ分の読み書き対象データと、そのデータに対する管理データを一時的に保持できる記憶領域を有する。ページレジスタ337prには、ホストにより指示される読み書き対象データが、ページごとにページレジスタ337prに一時的に格納される。ページレジスタには、書込対象データがホストからシリアル入力により取得され、指示されるページに取得したデータが保存される。また、ページレジスタには、指示されるページから読み出される読出対象のデータが一時的に保存される。保存されるデータは、シリアル出力によりホストに出力される。
【0044】
スペア領域337sは、予備(スペア)として設けられる記憶領域である。スペア領域には、管理データが保持される。管理データは、データ領域に保持されるデータの管理に用いられるデータである。管理データには、例えば、誤り検出符号、不良ブロック符号、などが含まれうる。スペア領域は、予期せずデータ量が増加したユーザデータや中間データの一時的な保存などに用いられることがある。なお、各ページの記憶容量、ブロック当たりのページ数、1個のメモリアレイ当たりのブロック数、などの仕様は、図7の例に限られない。これらの仕様は、機種によって異なりうる。
【0045】
NANDメモリ337nには、論理ホストLHから通知された書込コマンドに従って新たなユーザデータがNANDメモリ337nの空き領域に書き込まれることがある。ユーザデータは、書き込まれた時点では有効なデータ(本願では、「有効データ」と呼ぶことがある)として扱われる。また、論理ホストLHから通知された消去コマンドに従って指示された有効なユーザデータの一部が、無効(void)データとして設定される。この段階では、無効データは完全に消去されず、その無効データが保存されたページの論理アドレスがマッピングテーブルから消去される。BGCにより、無効データは特定の未使用のブロックに集約され、無効化されていない有効なユーザデータは、それ以外の特定の未使用のブロックに集約される。有効なユーザデータが残されず、全体を無効データで占有されるブロックに対して、ブロック消去により無効データが消去される。無効データが消去されたブロックは、空き領域として解放される。
【0046】
SoC334は、ホストアクセスコントローラ334hと、NANDアクセスコントローラ334nを備える(図2参照)。SoC334は、所定のファームウェアに記述された命令で示される処理を実行し、ホストアクセスコントローラ334hと、NANDアクセスコントローラ334nの機能を実現してもよい。
【0047】
ホストアクセスコントローラ334hは、主に論理ホストLHからのアクセス制御を実行する。ホストアクセスコントローラ334hは、DRAM333、NANDメモリ337n、および、SoC334などのリソースの使用状態を管理する。ホストアクセスコントローラ334hは、リソースの使用状態に基づいて論理ホストLHからのコマンドの実行の可否を判定し、実行可と判定したコマンドをNANDアクセスコントローラ334nに転送する。例えば、データの書き込みに利用可能なリソースとして、NANDメモリ337nの空き領域の論理アドレスが指示される。データの読み取り、または、消去に利用可能なリソースとして、NANDメモリ337nに有効なユーザデータが記憶されたページの論理アドレスが指示される。
【0048】
ホストアクセスコントローラ334hは、マッピングテーブルを用いて、NANDメモリ337nのページごとの使用状態を管理する。マッピングテーブルにおいて、論理アドレスが記述されているか否かにより、ページごとに使用中であるか否かが識別される。ホストアクセスコントローラ334hは、新たにデータを書き込むとき、データを書き込んだページの論理アドレスを維持する。ホストアクセスコントローラ334hは、データを消去するとき、消去が指示されるデータが記憶されたページの論理アドレスを消去する。この段階では、消去が指示されるデータは保存されたままであるが、論理アドレスが消去されたことで、保存されたデータが無効であることが表される。
【0049】
ホストアクセスコントローラ334hは、BGCにおいてブロック消去を行い、保存されたデータが消去されたページに対し、新たに論理アドレスを割り当て、そのページの物理アドレスと対応付けてマッピングテーブルに記録する。これにより、データが消去されたページが新たなデータを書き込み可能とする有効なページであることが表される。ホストアクセスコントローラ334hは、全ページが空き領域である未使用のブロックに対して、新たなデータを書き込み、たとえ、1ページでも有効データが保存されているブロックには書き込まない。
【0050】
次に、ホストアクセスコントローラ334hによるNANDメモリ337nの記憶領域の管理例について説明する。図8は、NANDメモリ337nの管理を説明するための説明図である。但し、図8の左列に例示されるように、ブロックbに64ページ分のデータが保存されている状況において、ホストから63ページ分の新たなデータを論理アドレスLBAn~n+62の領域への上書きが指示される場合を仮定する。データの上書きは、既存のデータの消去の処理と、新たなデータの保存の処理を含む。
【0051】
この場合、論理アドレスLBAn~n+62の領域に保存されるデータは無効データとして扱われ、論理アドレスLBAn+63で指示されるページに記憶されたデータは引き続き有効なデータとして保存される。ブロックbには新たなデータは書き込むことができないため、新たなデータは他の未使用のブロックとしてブロックb+3に書き込まれる。読み書きに係るデータ量は必ずしもブロック単位とはならないため、無効データが残される。無効データが残されたブロックには、新たなデータを書き込むことができない。データの読み書きが繰り返されることにより、利用できないブロックが増加してしまう。
【0052】
ホストアクセスコントローラ334hは、論理ホストLHから通知される電力状態情報に基づいてBGCの実行を制御する(図2参照)。後述するように、電力状態情報には、ホストデバイスの電力状態を示す電力状態情報が含まれる。電力状態情報には、ホストデバイスの動作モード、情報処理装置10の構成部材に対する電力供給モードの情報が含まれる。電力供給モードが第1電力供給モード(ACモード)であるとき、ホストアクセスコントローラ334hは、ホストデバイスの動作モードに関わらず、BGCを実行する。電力供給モードが第2電力供給モード(バッテリモード)であり、かつ、動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、NANDメモリ337nに対するBGCの要否を判定する。
【0053】
ホストアクセスコントローラ334hは、電力供給モードが第2電力供給モード(バッテリモード)であるとき、NANDメモリ337nの空き領域の容量に基づいて、BGCの要否を判定してもよい。ホストアクセスコントローラ334hは、マッピングテーブルを参照し、データが保存されていない未使用のページを空き領域と判定し、それらのページを含むブロックの個数を計数して空き領域の容量を把握することができる。
ホストアクセスコントローラ334hは、電力状態情報に電力供給モードの情報が含まれないとき、温度センサ338からの温度データに示される温度に基づいて、電力供給モードとして第1電力供給モードと第2電力供給モードのいずれが、電源回路29において選択されているかを推定してもよい。
【0054】
第2電力供給モードが通知されているとき、電力状態情報にバッテリ34の電池残量の情報がさらに含まれることがある。このとき、ホストアクセスコントローラ334hは、さらに通知された電池残量に基づいてBGCの要否を判定してもよい。
より具体的には、通知された電池残量が予め定めた残量の下限よりも少ないとき、ホストアクセスコントローラ334hは、BGC否と判定する。
また、通知された電池残量が残量の下限以上であり、かつ、NANDメモリ337nの空き領域の容量が予め定めた容量の下限以上であるとき、ホストアクセスコントローラ334hは、BGC否と判定する。
また、通知された電池残量が残量の下限以上であり、かつ、NANDメモリ337nの空き領域の容量が予め定めた容量の下限よりも少ないとき、ホストアクセスコントローラ334hは、BGC要と判定する。
【0055】
ホストアクセスコントローラ334hは、論理ホストLHから指示されるアクセス制御と、BGCとを並列に実行してもよい。ホストアクセスコントローラ334hは、BGCを実行するとき、複数のブロックを跨いで分布する無効データを特定の未使用のブロックに集約する。ホストアクセスコントローラ334hは、無効データを集約する際、集約元のページに記憶される無効データを、集約先の空き領域をなすページに複製する。そして、ホストアクセスコントローラ334hは、マッピングテーブルにおいて、集約元のページの論理アドレスを集約先の未使用のページと対応付けて複製し、集約元のページの論理アドレスを消去する。
【0056】
例えば、図8の左列に示すように、ブロックbに64ページ分のデータが保存されている状況下で、ホストから63ページ分の新たなデータを論理アドレスLBAn~n+62の領域への上書きが指示される場合を仮定する。上書きは、指示された論理アドレスで指示されるページにおける既存のデータを新たなデータに更新する処理に相当する。この場合、論理アドレスLBAn~n+62の領域に保存されるデータは無効データとして扱われ、論理アドレスLBAn+63で指示されるページに記憶されたデータは引き続き有効なデータとして保存される。ブロックbの論理アドレスLBAn~n+62の領域には、新たなデータは書き込むことができないため、新たなデータは他の未使用のブロックであるブロックb+3に書き込まれる。新たなデータが書き込まれるページの論理アドレスが、指示された論理アドレスLBAn~n+62に更新される。他方、無効データが保存されるブロックbの論理アドレスLBAn~n+62は、マッピングテーブルから消去される。
【0057】
なお、ホストアクセスコントローラ334hは、無効データが少ないブロック、または、有効データが少ないブロックほど優先して集約元のブロックとして選択してもよい(図2参照)。ホストアクセスコントローラ334hは、マッピングテーブルを参照し、ブロックごとに論理アドレスが設定されたページの個数を計数することで、有効データ、無効データ、それぞれの量を計数することができる。
【0058】
そして、ホストアクセスコントローラ334hは、BGCにおいて、全てのページに無効データが保存され、有効データが保存されているページが存在しないブロックに対し、ブロック消去を行い、そのブロックの全てのページを未使用の空き領域として解放(リリース)する。ホストアクセスコントローラ334hは、ブロック消去を行ったページごとに新たな論理アドレスを発行し、発行した論理アドレスをそのページの物理アドレスと対応付けて記憶する。
【0059】
図8の中列は、BGCにおいて、ブロックbの論理アドレスLBAn+63、ブロックb+1の論理アドレスLBAm、その他のブロックの論理アドレスLBAx、LBAy、のそれぞれに保存されたデータが、ブロックb+2の空き領域に集約される場合を例示する。この例では、もとのページに保存されたデータが、無効なデータとなる。また、ブロックb、b+1には、有効なデータが存在しなくなり、保存されるデータが全て無効となる。そして、ブロックb、b+1のそれぞれに保存されたデータは消去され(ブロック消去)、その後、空き領域として新たなデータを書き込み可能となる。
【0060】
ホストアクセスコントローラ334hは、DRAM333に記憶されたファームウェアログを参照し、SSDの動作状態を示す統計的ログを生成し、論理ホストLHに送信する(図2参照)。統計的ログには、SSDの状態を統計的に示す情報が記述される。かかる情報として、例えば、所定の単位時間当たりのNANDメモリ337nへの入出力アクセス回数、NANDメモリ337nにおける使用済みの記憶容量、などが含まれる。使用済みの記憶容量として、有効なユーザデータが記憶された記憶領域と、無効データが記憶された記憶領域の全体の記憶容量が集計されてもよい。ホストアクセスコントローラ334hは、論理ホストLHからのログ要求コマンドの受信に応じて統計的ログを生成および通知してもよいし、予め定めた時刻または時間間隔で自律的に統計的ログを生成し、生成した統計的ログを通知してもよい。
【0061】
なお、ホストアクセスコントローラ334hは、温度センサ338から入力される温度データを所定の方式を用いてEC31に送信する。ホストアクセスコントローラ334hは、例えば、温度データをSMART(Self-Monitoring and Reporting Technology)データに含めてもよい。SMARTデータは、統計的ログを含めて構成されてもよい。温度データは、EC31における温度管理機能に用いられる。
【0062】
NANDアクセスコントローラ334nは、主にNANDメモリ337nへのアクセスを制御する。NANDアクセスコントローラ334nは、論理ホストLHからホストアクセスコントローラ334hを経由して通知されるコマンドに従って、NANDメモリ337nにアクセスし、コマンドで指示された処理を行う。コマンドでは、記憶されているデータファイルとその名称と容量、ディレクトリ構成などの照会、データファイルの開放(オープン)または閉鎖(クローズ)、データの書き込み、データの読み取り、データの消去、などの処理が指示されうる。
【0063】
NANDアクセスコントローラ334nは、通知されるコマンドから、所定の種類のリソースを読み取り専用で保護してもよい。つまり、コマンドにより消去または変更が指示されるデータが、所定の種類のリソースに属する場合には、NANDアクセスコントローラ334nは、そのコマンドで指示される処理として、消去または変更を実行しない。所定の種類のリソースには、消去または変更により、情報処理装置10の機能に障害が生じる可能性があるリソースが含まれうる。かかるリソースは、例えば、OS(Operating System)の一部としてインストールされたシステムファイル、フォルダ、レジストリーキーなどが該当する。
【0064】
次に、本実施形態に係る情報処理装置10の機能構成例について説明する。図3は、本実施形態に係る情報処理装置10の機能構成例を示す概略ブロック図である。情報処理装置10は、電力制御部112と、電力状態通知部114と、電源回路29と、SoC334と、を備える。図3の例では、CPU11において電力制御部112と、電力状態通知部114との機能が実現される。CPU11は、所定のプログラムを実行し、電力制御部112と電力状態通知部114の機能を実現してもよい。CPU11は、電力制御部112の機能を実現するため、例えば、API関数として記述されたプログラムを実行してもよいし、専用の集積回路を備えてもよい。CPU11は、電力状態通知部114の機能を実現するため、例えば、所定のデバイスドライバを実行してもよい。
【0065】
電力制御部112は、ホストデバイスの動作状態と情報処理装置10に対する操作状態の一方または両方に基づいて、ホストデバイスの動作モードを定める。電力制御部112は、例えば、公知の手法を用いてホストデバイスをなすCPU11がとりうる複数段階の動作モードからいずれか1段階の動作モードを定め、定めた動作モードに従って動作させる。電力制御部112には、変更後の動作モードに対して予め遷移条件を設定しておき、動作状態または操作状態が設定された遷移条件を満足するとき、その遷移条件に対応する動作モードに変更する。複数段階の動作モードには少なくとも標準モードと省電力モードが含まれる。省電力モードは、標準モードよりも消費電力の定格値である定格電力が低い動作モードであり、完全に停止していない状態である。電力制御部112は、例えば、標準モードとして、PCIe(登録商標)におけるD0モードを適用し、省電力モードとしてD3モードおよびD4モードを適用することができる。電力制御部112は、例えば、標準モードとして、ACPIにおけるS0状態を適用し、省電力モードとしてS3状態およびS4状態を適用することができる。
【0066】
電力制御部112は、公知の手法を用いてホストデバイスをなすCPU11の動作モードを定めてもよい。電力制御部112は、CPU11の消費電力が標準モードにおける下限以下となる状態が一定期間以上継続するとき、または、入力デバイス27から操作信号が入力されない状態が一定期間以上継続するとき、動作モードを標準モードから省電力モードに変更する。電力制御部112は、CPU11の消費電力が標準モードにおける下限を超える状態が一定期間以上継続するとき、または、入力デバイス27から操作信号が入力されるとき、動作モードを省電力モードから標準モードに変更する。電力制御部112は、定めた動作モードが変更するタイミングで、定めた動作モードを示す動作モード情報を電力状態通知部114とEC31に出力する。EC31では、例えば、動作モード情報は、放熱ファン28の動作制御と部材ごとの動作電圧の制御に用いられてもよい。放熱ファン28の動作量は、消費電力が多い動作モードほど多くなるように制御される。
【0067】
電力状態通知部114には、電源回路29から電源状態信号で伝達される電力供給モード情報がEC31を経由して入力される。電力状態通知部114は、電力制御部112から動作モード情報が入力されるとき、入力される動作モード情報と電力供給モード情報を集約し、電力状態情報としてSSD33に出力する。電力状態通知部114には、電源回路29から起電力信号で伝達される起電力がEC31を経由して通知され、起電力と電池容量との関係を示す公知の関数を用いて、伝達された起電力からバッテリ34の電池残量を推定してもよい。電力状態通知部114は、推定した電池残量の情報を電力状態情報に含めてSSD33のSoC334に出力してもよい。電力状態通知部114は、例えば、IOCTLインタフェースを用いて電力状態情報を出力してもよい。電力状態通知部114は、IOCTLインタフェースにより、自器に接続しているデバイスとしてSoC334の動作パラメータの一部として電力状態情報を設定することができる。出力した電力状態情報は、BGCの実行制御に用いられる。
【0068】
次に、本実施形態に係るBGCの制御例について説明する。図4は、本実施形態に係るBGCの制御例を示すフローチャートである。
(ステップS102)電力状態通知部114は、ホストデバイスの動作モード情報、構成部材への電力供給モード情報、および、バッテリ34の電池残量情報を取得し、これらを電力状態情報としてSSD33のSoC334に通知する。
(ステップS104)SoC334のホストアクセスコントローラ334hは、通知された電力供給モードが第1電力供給モード(ACモード)であるか否かを判定する。第1電力供給モード(ACモード)である場合(ステップS104 YES)、ステップS106の処理に進む。第2電力供給モード(バッテリモード)である場合(ステップS104 NO)、ステップS110の処理に進む。
(ステップS106)ホストアクセスコントローラ334hは、BGCを実行する。その後、図4の処理を終了する。
【0069】
(ステップS110)ホストアクセスコントローラ334hは、通知された動作モードが省電力モードに変更されたか否かを判定する。省電力モードに変更された場合(ステップS110 YES)、ステップS112の処理に進む。省電力モードに変更されていない場合(ステップS110 NO)、BGCを実行せず、図4の処理を終了する。
(ステップS112)ホストアクセスコントローラ334hは、通知された電池残量が所定の電池残量の下限(例えば、満充電時の電池容量の10%)未満であるか否かにより、不足しているか否かを判定する。不足と判定される場合(ステップS112 YES)、NANDメモリ337nの空き領域が絶対的に不足(例えば、全記憶領域の1%未満)と判定されない限りBGCを実行せず、図4の処理を終了する。NANDメモリ337nの空き領域が絶対的に不足(例えば、全記憶領域の1%未満)と判定される場合には、ホストアクセスコントローラ334hは、空き領域の絶対的下限(例えば、全記憶領域の1%)に達するまでBGCを実行して、図4の処理を終了する。十分と判定される場合(ステップS112 NO)、ステップS114の処理に進む。
【0070】
(ステップS114)ホストアクセスコントローラ334hは、NANDメモリ337nの空き領域の容量が所定の空き領域の通常の下限(例えば、10%)以上であるか否かにより、十分か否かを判定する。十分と判定される場合(ステップS114 YES)、ホストアクセスコントローラ334hは、BGCを実行せずに、図4の処理を終了する。不足と判定される場合(ステップS114 NO)、ステップS106の処理に進み、所定の終了条件を満たすまでBGCを実行し、図4の処理を終了する。終了条件として、空き領域が通常の下限を超えること、ガベージ、つまり、無効データが存在しなくなることのいずれが適用されてもよい。
【0071】
(変形例)
本実施形態に係る情報処理装置10は、次のように変形されてもよい。図5は、本実施形態に係る情報処理装置10の第2の機能構成例を示すブロック図である。
情報処理装置10は、電力状態通知部114に代え、電力状態通知部314を備え、電源回路29と、SoC334と、をさらに備える。図5の例では、EC31により電力状態通知部314の機能が実現される。EC31は、所定のファームウェアに記述された指令で指示される処理を実行して、電力状態通知部314の機能を実現する。
電力状態通知部314は、電源回路29から電源状態信号で伝達される電力供給モード情報が入力される。電力状態通知部314は、電力制御部112(図3)から動作モード情報が入力されるとき、入力される動作モード情報と電力供給モード情報を集約し、電力状態情報としてSSD33に出力する。電力状態通知部314には、電源回路29から起電力信号で伝達される起電力が通知され、上記の手法を用いて伝達された起電力からバッテリ34の電池残量を推定してもよい。電力状態通知部314は、推定した電池残量の情報を電力状態情報に含めてSSD33のSoC334に出力してもよい。電力状態通知部314は、例えば、SMbus(登録商標)インタフェースを用いて電源状態情報を出力してもよい。電力状態通知部314は、ポーリングパケットを用いて電源状態情報を送信し、その応答として温度データを含むSMARTデータをSoC334から取得することができる。
【0072】
図6は、本実施形態に係る情報処理装置10の第3の機能構成例を示すブロック図である。図6の例では、電力状態通知部114、314を備えずに、SoC334のホストアクセスコントローラ334hが温度センサ338から入力される温度データを監視し、監視した温度データに基づいて、電源回路29による電力供給モードが第1電力供給モードと第2電力供給モードのいずれかであるかを推定する。ホストアクセスコントローラ334hは、推定した電力供給モードとホストデバイスから通知された動作モード情報を用いて、上記の手法を用いてBGCの実行を制御する。このとき、論理ホストLHから通知される電力状態情報には、電力供給モードの情報が含まれなくてもよい。
【0073】
ホストアクセスコントローラ334hは、例えば、温度データに示されるSSD温度の移動平均値が所定の基準温度(例えば、40~50[°C])を超える状態が一定の継続時間(例えば、10~180[秒])以上継続するとき、電源回路29による電力供給モードを第1電力供給モードと推定する。ホストアクセスコントローラ334hは、それ以外の場合、電源回路29による電力供給モードを第2電力供給モードと推定する。第2電力供給モードではホストデバイスでの消費電力を抑制するために、第1電力供給モードよりもSSD33へのアクセスを抑制または停止するためである。そして、SSD33は、ホストデバイスからのアクセス頻度またはアクセスに係るデータ量が多いほど、多くの処理を行うために消費電力が増加し、ひいては発熱量が多くなる。
【0074】
なお、図6に例示する場合に限らず、ホストアクセスコントローラ334hは、電池残量の情報を取得できない場合がある。その場合、図4に例示される処理において、電池残量の情報を要するステップS112の処理が省略される。そして、ステップS110において動作モードが省電力モードになった場合(ステップS110 YES)、ステップS114の処理に進めばよい。
【0075】
以上に説明したように、本実施形態に係る情報処理装置10は、電源回路29と、他の構成部材を備え、構成部材は、少なくとも、第1コントローラと固体記憶装置(例えば、SSD33)を備え、固体記憶装置は、第2コントローラ(例えば、SoC334)と記憶媒体(例えば、NANDメモリ337n)を備える。電源回路29は、構成部材の動作に用いられる電力である動作電力を供給し、電源回路29は、外部電源から電力が供給されるとき、電力を前記動作電力に変換する第1電力供給モード(例えば、ACモード)を選択し、外部電源から電力が供給されないとき、二次電池(例えば、バッテリ34)からの電力を動作電力に変換する第2電力供給モード(例えば、バッテリモード)を選択する。第2コントローラは、第1電力供給モードが選択されるとき、第1コントローラから通知される動作モードに関わらず、記憶媒体に対するガベージコレクション(例えば、BGC)を実行し、第2電力供給モードが選択され、かつ、動作モードとして標準の消費電力より少ない動作モードである省電力モードへの変更が指示されるとき、記憶媒体に対するガベージコレクションの要否を判定する。
【0076】
第1コントローラは、ホストシステムのプロセッサ(例えば、CPU11)と、ホストシステムのプロセッサとは別個のコントローラ(例えば、EC31)のいずれであってもよい。第1コントローラは、電源回路の電力モードと、二次電池の残量を第2コントローラに通知してもよい。
【0077】
この構成により、外部電源から交流電力が供給されるときは、動作モードに応じた消費電力に関わらずガベージコレクションが実行されるので、記憶媒体の有効活用が図られる。外部電源から交流電力が供給されず、標準の消費電力よりも少ない省電力モードに変更されるときガベージコレクションの要否が判定される。そのため、消費電力が少ない省電力モードのもとでは、ガベージコレクションの必要性が低くなるところ、多くの電力を消費するガベージコレクションの要否が判定されることで二次電池の電池寿命に対する影響を低減することができる。
【0078】
第2コントローラは、第2電力供給モードが選択されるとき、記憶媒体の空き領域の容量に基づいて、その記憶媒体に対するガベージコレクションの要否を判定してもよい。
この構成により、記憶媒体に対するガベージコレクションの要否の必要性が、その記憶媒体の空き領域の容量をもって定量的に判定することができる。
【0079】
固体記憶装置は、当該固体記憶装置の温度を検出する温度センサ(例えば、温度センサ338)を備え、第2コントローラは、温度センサが検出した温度に基づいて第1電力供給モードと第2電力供給モードのいずれが選択されているかを推定してもよい。
この構成により、固体記憶装置に備わる第2コントローラが自律的にガベージコレクションの要否を判定できる。固体記憶装置に接続される論理ホストにおいて、電力供給モードの情報を設定するための構成を備える必要がなくなる。そのため、経済的な実現を図ることができる。
【0080】
第2コントローラは、第2電力供給モードが選択され、かつ、第1コントローラから二次電池の残量(例えば、電池残量)が通知されるとき、さらに残量に基づいてガベージコレクションの要否を判定してもよい。
この構成により、記憶媒体に対するガベージコレクションの要否の必要性が、二次電池の残量をもって定量的に判定することができる。
【0081】
第2コントローラは、残量が予め定めた残量の下限より少ないとき、ガベージコレクション否と判定してもよい。
この構成により、残量が不十分な場合には、消費電力が多いガベージコレクションがなされないため、限られた電力のもとで情報処理装置10の動作を優先することができる。
【0082】
第2コントローラは、残量が予め定めた残量の下限以上であり、かつ、固体記憶装置の空き領域の容量が予め定めた容量の下限以上であるとき、ガベージコレクション否と判定し、残量がその下限以上であり、かつ、空き領域の容量がその下限より少ないとき、ガベージコレクション要と判定してもよい。
この構成により、残量が十分な場合には、空き領域の容量が不足しているか否かにより、ガベージコレクションの要否が判定される。そのため、空き領域の容量に基づいて定量的にガベージコレクションの要否が判定される。
【0083】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成は上述の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。上述の実施形態において説明した各構成は、任意に組み合わせることができる。
例えば、図1のチップセット21、EC31に接続されるデバイスの一部、例えば、USBコネクタ24、オーディオシステム25、ネットワークカード26、および、入力デバイス27の全部または一部が省略されていてもよい。また、それ以外のデバイスが情報処理装置10に接続されていてもよい。
【符号の説明】
【0084】
10…情報処理装置、11…CPU、12…メインメモリ、13…GPU、14…ディスプレイ、21…チップセット、22…BIOSメモリ、24…USBコネクタ、25…オーディオシステム、26…ネットワークカード、27…入力デバイス、28…放熱ファン、29…電源回路、31…EC、32…SSDポート、33…SSD、34…バッテリ、35…ACアダプタ、112…電力制御部、114、314…電力状態通知部、332…論理ホストIF、333…DRAM、334…SoC、334h…ホストアクセスコントローラ、334n…NANDアクセスコントローラ、336…I/Oバッファ、337n…NANDメモリ、338…温度センサ
図1
図2
図3
図4
図5
図6
図7
図8