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

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

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

<>
  • 特許-情報処理装置、及び制御方法 図1
  • 特許-情報処理装置、及び制御方法 図2
  • 特許-情報処理装置、及び制御方法 図3
  • 特許-情報処理装置、及び制御方法 図4
  • 特許-情報処理装置、及び制御方法 図5
  • 特許-情報処理装置、及び制御方法 図6
  • 特許-情報処理装置、及び制御方法 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-09-28
(45)【発行日】2022-10-06
(54)【発明の名称】情報処理装置、及び制御方法
(51)【国際特許分類】
   G06F 12/00 20060101AFI20220929BHJP
   G06F 11/30 20060101ALI20220929BHJP
【FI】
G06F12/00 550E
G06F11/30 189
G06F11/30 158
【請求項の数】 3
(21)【出願番号】P 2021137985
(22)【出願日】2021-08-26
【審査請求日】2021-08-26
(73)【特許権者】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(74)【代理人】
【識別番号】100169764
【弁理士】
【氏名又は名称】清水 雄一郎
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100206081
【弁理士】
【氏名又は名称】片岡 央
(72)【発明者】
【氏名】平良 優介
(72)【発明者】
【氏名】菅原 隆
【審査官】北村 学
(56)【参考文献】
【文献】特開2005-135350(JP,A)
【文献】特表2020-506480(JP,A)
【文献】特開2015-184792(JP,A)
【文献】特表2006-524373(JP,A)
【文献】特表2016-515244(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 11/30 - 11/36
G06F 12/00 - 12/06
(57)【特許請求の範囲】
【請求項1】
第1筐体と、
前記第1筐体に対してヒンジ機構を介して回動可能に連結された第2筐体と、
前記第1筐体と前記第2筐体との前記ヒンジ機構による回動角度を検出するためのセンサと、
ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、
前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、
前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、
前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する第2のプロセッサと、
温度センサと、書き換え可能な第3のメモリと、前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置と、
を備え、
前記第1のプロセッサは、
前記第1のメモリに記憶された前記第1のプログラムを実行することにより、
第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行い、
前記第2のプロセッサは、
前記第2のメモリに記憶された前記第2のプログラムを実行することにより、
前記センサの検出結果に基づいて、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行う、
情報処理装置。
【請求項2】
前記第2のプロセッサは、
前記閾値選択処理において、前記センサの検出結果に基づく前記回動角度が所定の角度範囲内であるか否かに基づいて前記複数の温度閾値の中から前記所定の温度閾値とする温度閾値を選択する、
請求項1に記載の情報処理装置。
【請求項3】
第1筐体と、前記第1筐体に対してヒンジ機構を介して回動可能に連結された第2筐体と、前記第1筐体と前記第2筐体との前記ヒンジ機構による回動角度を検出するためのセンサと、ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する第2のプロセッサと、温度センサと書き換え可能な第3のメモリと前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置とを備える情報処理装置における制御方法であって、
前記第1のプロセッサが、前記第1のメモリに記憶された前記第1のプログラムを実行することにより、第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行うステップと、
前記第2のプロセッサが、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、前記センサの検出結果に基づいて、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行うステップと、
を含む制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、及び制御方法に関する。
【背景技術】
【0002】
近年、アクセス速度の高速化に有利なSSD(Solid State Drive)などのメモリドライブ装置が使用されるようになってきている。これにより、パフォーマンスの向上が図れる半面、発生する熱量が増加するという問題がある。発生する熱量が大きくなると、メモリドライブ装置が搭載された情報処理装置の筐体の表面温度が上昇する。筐体の表面温度はUL規格などの安全規格で一定温度以下に定められているため、温度上昇を抑制する必要がある。
【0003】
例えばSSD内に温度センサを設け、温度をモニタリングすることにより所定の温度閾値に達すると温度上昇を抑制するようにメモリへのアクセスを制御することで温度上昇を抑制する機能(例えばサーマルスロットリング機能)が設けられている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2020-106931号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、温度上昇を抑制するようにメモリへのアクセスを制御する場合、アクセス速度が低下するため、ユーザが情報処理装置を使用する際にパフォーマンスが低下する可能性がある。
【0006】
本発明は上記した事情に鑑みてなされたもので、メモリドライブ装置の温度上昇を抑えつつ、パフォーマンスの低下を抑制する情報処理装置、及び制御方法を提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
本発明は上記の課題を解決するためになされたものであり、本発明の第1態様に係る情報処理装置は、ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する前記第2のプロセッサと、温度センサと、書き換え可能な第3のメモリと、前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置と、を備え、前記第1のプロセッサは、前記第1のメモリに記憶された前記第1のプログラムを実行することにより、第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行い、前記第2のプロセッサは、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行う。
【0008】
上記情報処理装置において、前記第2のプロセッサは、前記閾値選択処理において、自情報処理装置の使用状態に基づいて前記複数の温度閾値の中から前記所定の温度閾値とする温度閾値を選択してもよい。
【0009】
上記情報処理装置において、前記第2のプロセッサは、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、自情報処理装置の特定領域へユーザが接触可能な状態であるか否かを判定する判定処理をさらに行い、前記閾値選択処理において、前記判定処理による判定結果に基づいて、前記複数の温度閾値の中から前記所定の温度閾値とする温度閾値を選択してもよい。
【0010】
上記情報処理装置において、自情報処理装置の動きを検出するための動きセンサをさらに備え、前記第2のプロセッサは、前記判定処理において、前記動きセンサの検出結果に基づいて自情報処理装置の特定領域へユーザが接触可能な状態であるか否かを判定してもよい。
【0011】
上記情報処理装置において、前記第2のプロセッサは、前記判定処理により、自情報処理装置の特定領域へユーザが接触可能な状態から接触不可能な状態へ変化したと判定した場合、前記閾値選択処理において、現在設定されている温度閾値より高い温度閾値を選択する前記選択情報を前記メモリコントローラへ送信してもよい。
【0012】
上記情報処理装置において、前記第2のプロセッサは、前記判定処理により、自情報処理装置の特定領域へユーザが接触不可能な状態から接触可能な状態へ変化したと判定した場合、前記閾値選択処理において、現在設定されている温度閾値より低い温度閾値を選択する前記選択情報を前記メモリコントローラへ送信してもよい。
【0013】
上記情報処理装置において、前記第1のインタフェースは、NVMe(Non Volatile Memory Express)インタフェースであり、前記第2のインタフェースは、SMBus(System Management Bus)インタフェースであってもよい。
【0014】
上記情報処理装置において、前記第1のプログラムは、BIOSのプログラムであってもよい。
【0015】
本発明の第2態様に係る情報処理装置は、ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する前記第2のプロセッサと、温度センサと、書き換え可能な第3のメモリと、前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置と、自情報処理装置の動きを検出するための動きセンサと、を備え、前記第1のプロセッサは、前記第1のメモリに記憶された前記第1のプログラムを実行することにより、第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行い、前記第2のプロセッサは、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、前記動きセンサの検出結果に基づいて、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行う。
【0016】
本発明の第3態様に係る、ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する前記第2のプロセッサと、温度センサと書き換え可能な第3のメモリと前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置とを備える情報処理装置における制御方法は、前記第1のプロセッサが、前記第1のメモリに記憶された前記第1のプログラムを実行することにより、第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行うステップと、前記第2のプロセッサが、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行うステップと、を含む。
【0017】
本発明の第4態様に係る、ハードウェアの起動を制御する第1のプログラムを記憶する第1のメモリと、前記第1のメモリに記憶された前記第1のプログラムを実行する第1のプロセッサと、前記第1のプログラムと異なる第2のプログラムを記憶する第2のメモリと、前記第1のプロセッサと異なり、前記第2のメモリに記憶された前記第2のプログラムを実行する前記第2のプロセッサと、温度センサと書き換え可能な第3のメモリと前記温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように前記第3のメモリへのアクセスを制御するメモリコントローラとを備えるメモリドライブ装置と、自情報処理装置の動きを検出するための動きセンサとを備える情報処理装置における制御方法は、前記第1のプロセッサが、前記第1のメモリに記憶された前記第1のプログラムを実行することにより、第1のインタフェースを介して、前記所定の温度閾値の選択肢となる複数の温度閾値の情報を前記メモリコントローラへ送信する閾値設定処理を行うステップと、前記第2のプロセッサが、前記第2のメモリに記憶された前記第2のプログラムを実行することにより、前記動きセンサの検出結果に基づいて、第2のインタフェースを介して、前記複数の温度閾値の選択肢の中から前記所定の温度閾値とする温度閾値を選択する選択情報を前記メモリコントローラへ送信する閾値選択処理を行うステップと、を含む。
【発明の効果】
【0018】
本発明の上記態様によれば、メモリドライブ装置の温度上昇を抑えつつ、パフォーマンスの低下を抑制することができる。
【図面の簡単な説明】
【0019】
図1】実施形態に係る情報処理装置の外観の一例を示す斜視図。
図2】実施形態に係る情報処理装置の機器筐体の内部を模式的に示した平面図。
図3】SSDの温度変化とパフォーマンスの関係の一例を示す図。
図4】実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図。
図5】実施形態に係る情報処理装置の機能構成の一例を示すブロック図。
図6】実施形態に係るDITT設定処理の一例を示すフローチャート。
図7】実施形態に係る情報処理装置の3種類の使用状態(使用形態)の例を示す図。
【発明を実施するための形態】
【0020】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
まず、本実施形態に係る情報処理装置の概要について説明する。
【0021】
[情報処理装置の概要]
図1は、本実施形態に係る情報処理装置の外観を示す斜視図である。
図示する情報処理装置10は、クラムシェル型のノートPC(Personal Computer)である。情報処理装置10は、表示部14(ディスプレイ)が搭載されたディスプレイ筐体101と、キーボード32が搭載された機器筐体102と、ヒンジ機構103とを備えている。ディスプレイ筐体101及び機器筐体102は、略四角形の板状(例えば、平板状)の筐体である。
【0022】
ディスプレイ筐体101の側面の一つと機器筐体102の側面の一つとがヒンジ機構103を介して結合(連結)されており、ヒンジ機構103がなす回転軸の周りにディスプレイ筐体101と機器筐体102とが相対的に回動可能である。ディスプレイ筐体101と機器筐体102との回転軸の周りの開き角θが略0°の状態が、ディスプレイ筐体101と機器筐体102とが重なり合って閉じた状態(「閉状態」と称する)である。閉状態に対してディスプレイ筐体101と機器筐体102とが開いた状態のことを「開状態」と称する。開状態とは、開き角θが予め設定された閾値(例えば、10°)より大きくなるまで、ディスプレイ筐体101と機器筐体102とが相対的に回動された状態である。この図1に示す情報処理装置10の外観は、開状態の一例を示している。
【0023】
ここでは、ディスプレイ筐体101の表示部14が設けられている面をディスプレイ面101a、ディスプレイ面101aに対して反対側の面をトップ面101bと称する。また、機器筐体102のキーボード32が設けられている面をキーボード面102a、キーボード面102aに対して反対側の面をボトム面102bと称する。閉状態においてディスプレイ面101aとキーボード面102aとは互いに対面する側の面である。図示する例において、キーボード32は、ユーザの操作を受け付ける複数のキー(操作子の一例)が配列された物理的なキーボードである。なお、キーボード面102aには、キーボード32以外にタッチパッドなどが設けられてもよい。
【0024】
閉状態では、ディスプレイ筐体101のディスプレイ面101aと機器筐体102のキーボード面102aとが対面して重なり合うため、表示部14が視認できない状態、且つキーボード32への操作ができない状態となる。一方、開状態では、表示部14が視認可能な状態、且つキーボードへの操作が可能な状態となる。
【0025】
図2は、本実施形態に係る情報処理装置10の機器筐体102の内部を模式的に示した平面図であり、機器筐体102の内部には、マザーボードMB、バッテリ60、及び放熱ファン35などが配置されている。マザーボードMBには、例えば、CPU(Central Processing Unit)11、メインメモリ12、ビデオサブシステム13、チップセット21、BIOS(Basic Input Output System)メモリ22、エンベデッドコントローラ31、電源回路33、及びSSD(Solid State Drive)40などが実装されている。
【0026】
CPU11は、CPU及びGPU(Graphics Processing Unit)、又はそれらのうちの何れかであってもよい。CPU11はCPUとGPUを同一のコアに形成するタイプでもよい。さらにCPU11はCPUとGPUを別々のコアで形成し負荷を分担するタイプでもよい。また、CPU11は複数でもよい。
【0027】
SSD40は、情報処理装置10のストレージ領域(記憶領域)として接続されているメモリドライブ装置である。SSD40は、HDD(Hard Disk Drive)に比較してアクセス速度が速くパフォーマンスの向上が図れる半面、パフォーマンスの向上に伴って発生する熱量も増加する。SSD40の温度が高くなると、SSD40自身の故障やユーザの安全を確保するために、SSD40のパフォーマンスを低下させて温度上昇を抑制する(温度を低下させる)制御が一般的に行われている。例えば、情報処理装置10は、SSD40内に設けられている温度センサを用いて温度をモニタリングし、所定の温度閾値に達するとパフォーマンスを低下させて温度上昇を抑制する機能(以下、「サーマルスロットリング機能」と称する)を備えている。
【0028】
図3は、SSD40の温度変化とパフォーマンスの関係の一例を示す図である。この図において、横軸は時間を示し、縦軸はSSD40の温度とSSD40へのアクセス時のパフォーマンス(アクセス速度)とを示す。PCIe Gen3(PCI Express 3.0)のSSD40の温度変化を符号201が示す実線で示し、対応するパフォーマンスを符号202が示す実線で示している。ユーザの安全が確保される温度(User safety limit temp)になるまではパフォーマンスに制限を設けず、SSD40はアクセスに応じて徐々に温度が上昇する。時刻T1においてSSD40の温度が所定の温度閾値(以下、「DITT:Device Initiated Thermal Throttling Threshold:」と称する)に達すると、ユーザの安全が確保される温度を超えないように、サーマルスロットリング機能を用いて段階的にSSD40のパフォーマンスを低下させ、SSD40の温度を低下させる。
【0029】
PCIe Gen3よりもアクセス速度が高速のPCIe Gen4(PCI Express 4.0)のSSD40を用いた場合、発生する熱量が大きく温度上昇がより早くなる傾向にある。PCIe Gen4のSSD40の温度変化を符号301が示す破線で示し、対応するパフォーマンスを符号302が示す破線で示している。図示するように、PCIe Gen4のSSD40では、PCIe Gen3のSSD40の場合よりも早いタイミング(時刻T2)でSSD40の温度がDITTに達するため、早いタイミングでSSD40のパフォーマンスを低下させる必要がある。SSD40のパフォーマンスを低下させた場合、目標とするパフォーマンスを下回ってユーザの使用時の快適性が損なわれることがある。
【0030】
ユーザの安全を確保するための温度に関する規格として例えばUL規格では、人が接触可能な部分と接触不可能な部分とで、異なる温度限度値(最高温度)の規格値が規定されている。人が接触可能な部分の温度限度値は、人体への影響が考慮され、接触不可能な部分の温度限度値に比較して低い値に規定されている。機器筐体102の内部に配置されているSSD40(図2参照)が熱を発生して温度が上昇すると、主に機器筐体102のボトム面102bの温度が上昇する。例えば、ユーザが情報処理装置10を机に載置して使用している場合、ボトム面102bは机の面と接触しているためユーザが接触不可能な部分となる。一方、ユーザが情報処理装置10を膝の上などにおいて使用している場合、ボトム面102bはユーザの膝と常に接触している状態となる。このように、SSD40が発生する熱の影響を最も受けるボトム面102bは、情報処理装置10の使用状態によって、ユーザが接触可能な部分となることも、接触不可能な部分となることもある。
【0031】
しかしながら、従来のサーマルスロットリング機能を備えた情報処理装置では、DITTをシステムの起動時に設定した後に変更することが困難であったため、安全を考慮して低い方の温度限度値(人が接触可能な部分の温度限度値)を超えないようにDITTが設定されていた。これにより、従来はどのような使用状態であっても、人が接触可能な部分の温度限度値を超えないように設定されたDITTにSSD40の温度が達すると、SSD40のパフォーマンスが低下することとなり、ユーザの使用時の快適性が損なわれる可能性が高かった。
【0032】
そこで、本実施形態に係る情報処理装置10は、ユーザにより情報処理装置10の使用状態などによってDITTを動的に切り替えることを可能とし、SSD40の温度上昇を抑えつつ、パフォーマンスの低下を抑制するようにする。例えば、情報処理装置10は、使用状態によってボトム面102bへユーザが接触可能な状態であるか否かを判定し、判定結果に基づいてDITTを切り替えることで、UL規格を満たしつつ、SSD40のパフォーマンスをなるべく低下させないようにすることができる。以下、情報処理装置10の具体的な構成について説明する。
【0033】
[情報処理装置10のハードウェア構成]
図4は、本実施形態に係る情報処理装置10の主要なハードウェア構成の一例を示すブロック図である。図4に示すように、情報処理装置10は、メイン制御部50と、SSD40と、電力を供給するバッテリ60とを備えている。メイン制御部50は、CPU11と、メインメモリ12と、ビデオサブシステム13と、表示部14と、チップセット21と、BIOSメモリ22と、エンベデッドコントローラ31と、キーボード32と、電源回路33と、加速度センサ34と、放熱ファン35とを備える。
【0034】
CPU11は、プログラム制御により種々の演算処理を実行し、情報処理装置10の全体を制御している。例えば、CPU11は、OS(Operating System)やBIOSなどのプログラムに基づく処理を実行する。
【0035】
メインメモリ12は、CPU11の実行プログラムの読み込み領域として、又は、実行プログラムの処理データを書き込む作業領域として利用される書き込み可能メモリである。メインメモリ12は、例えば、複数個のDRAM(Dynamic Random Access Memory)チップで構成される。この実行プログラムには、OS、周辺機器類をハードウェア操作するための各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム等が含まれる。
【0036】
ビデオサブシステム13は、画像表示に関連する機能を実現するためのサブシステムであり、ビデオコントローラを含んでいる。このビデオコントローラは、CPU11からの描画命令を処理し、処理した描画情報をビデオメモリに書き込むとともに、ビデオメモリからこの描画情報を読み出して、表示部14に描画データ(表示データ)として出力する。
【0037】
表示部14は、例えば、液晶ディスプレイや有機ELディスプレイであり、ビデオサブシステム13から出力された描画データ(表示データ)に基づく表示画面を表示する。
【0038】
チップセット21は、USB(Universal Serial Bus)、シリアルATA(AT Attachment)、SPI(Serial Peripheral Interface)バス、PCI(Peripheral Component Interconnect)バス、PCI-Expressバス、及びLPC(Low Pin Count)バスなどのコントローラを備えており複数のデバイスが接続される。図4では、複数のデバイスの例として、BIOSメモリ22と、SSD40と、エンベデッドコントローラ31とがチップセット21に接続されている。
【0039】
BIOSメモリ22は、例えば、EEPROM(Electrically Erasable Programmable Read Only Memory)やフラッシュROMなどの電気的に書き換え可能な不揮発性メモリで構成される。BIOSメモリ22は、BIOS、及びエンベデッドコントローラ31などを制御するためのシステムファームウェアなどを記憶する。
【0040】
SSD40は、書き換え可能な不揮発性メモリを有するメモリドライブ装置の一例であり、OS、各種ドライバ、各種サービス/ユーティリティ、アプリケーションプログラム、及び各種データを記憶する。情報処理装置10は、SSD40が記憶するデータを利用して各種情報処理を実行する。SSD40は、例えば、PCIeバスにより、チップセット21に接続されている。また、SSD40は、例えば、SMBus(System Management Bus)により、エンベデッドコントローラ31と接続されている。
【0041】
図4に示すように、SSD40は、複数のフラッシュメモリ41と、メモリコントローラ42と、温度センサ43とを備える。フラッシュメモリ41は、例えば、NANDフラッシュメモリであり、書き換え可能な不揮発性メモリの一例である。
【0042】
メモリコントローラ42は、例えば、不図示のCPU、ROM、RAMなどを含むプロセッサであり、SSD40を統括的に制御する。メモリコントローラ42は、チップセット21とエンベデッドコントローラ31とのそれぞれと異なるインタフェースで通信を行う。例えば、メモリコントローラ42は、PCIeバスで接続されたチップセット21と通信するためのNVMe(Non Volatile Memory Express)インタフェースを備えている。メモリコントローラ42は、例えばCPU11で実行されるBIOSとチップセット21を介してNVMeインタフェース(NVMeI/F)を用いて通信する。また、メモリコントローラ42は、SMBusで接続されたエンベデッドコントローラ31と通信するためのSMBusインタフェース(SMBusI/F)を備えている。メモリコントローラ42は、例えばエンベデッドコントローラ31とSMBusインタフェースを用いて通信する。
【0043】
また、メモリコントローラ42は、フラッシュメモリ41とメモリインタフェース(メモリI/F)を用いて、フラッシュメモリ41へのデータの書き込みやフラッシュメモリ41からのデータの読み出しなどのアクセス制御を行う。また、メモリコントローラ42は、SSD40に設けられている温度センサ43による検知温度をモニタリングし、上述したサーマルスロットリング機能を実行する。例えば、メモリコントローラ42は、BIOSの起動に応じて送信された複数(例えば2種類)のDITTの選択肢を取得する。
【0044】
そして、メモリコントローラ42は、取得した複数種類のうちのいずれかのDITTをデフォルトとして使用してサーマルスロットリング機能を実行し、温度センサ43による検知温度がDITTに達すると、温度上昇を抑制するようにフラッシュメモリ41へのアクセスを制限する。また、メモリコントローラ42は、BIOSの起動後、エンベデッドコントローラ31からの指示に応じて、サーマルスロットリング機能に使用するDITTを切り替える。これにより、SSD40は、BIOSの起動後にDITTを動的に切り替えることを可能となる。このDITTの切り替え制御について詳しくは後述する。
【0045】
エンベデッドコントローラ31は、OSやBIOSの処理を実行するCPU11とは別のプロセッサとして、各種デバイス(周辺装置やセンサ等)を監視して制御するワンチップマイコン(One-Chip Microcomputer)である。エンベデッドコントローラ31は、不図示のCPU、ROM、RAM、複数チャネルのA/D入力端子、D/A出力端子、タイマ、及びデジタル入出力端子を備える。エンベデッドコントローラ31には、それぞれの入力端子を介して、例えば、キーボード32、電源回路33、加速度センサ34、及び放熱ファン35などが接続されている。例えば、エンベデッドコントローラ31は、キーボード32からの入力情報(操作信号)や、加速度センサ34からのセンサ信号を受け取る。また、エンベデッドコントローラ31は、電源回路33、放熱ファン35などの動作を制御する。また、エンベデッドコントローラ31は、SMBusを備えており、SMBusでSSD40と接続されている。
【0046】
キーボード32は、ユーザの操作を受け付ける複数のキー(操作子の一例)が配列された入力デバイスである。キーボード32は、図1に示すように、機器筐体102のキーボード面102aに設けられている。キーボード32は、ユーザの操作により入力された入力情報(例えば、キーボードに対して操作されたキーを示す操作信号)をエンベデッドコントローラ31へ出力する。なお、キーボード32以外の入力デバイスとして、ポインティング・デバイス、タッチパッドなどの任意の入力デバイスが任意の場所に設けられてもよい。
【0047】
電源回路33は、例えば、DC/DCコンバータ、充放電ユニット、AC/DCアダプタなどを含んで構成されている。例えば、電源回路33は、外部電源又はバッテリ60から供給される直流電圧を、情報処理装置10を動作させるために必要な複数の電圧に変換する。また、電源回路33は、エンベデッドコントローラ31からの制御に基づいて、情報処理装置10の各部に電力を供給する。
【0048】
加速度センサ34は、情報処理装置10の動きを検出するためのセンサであり、情報処理装置10の筐体(例えば、機器筐体102)の内部に設けられている。加速度センサ34は、情報処理装置10の姿勢や動きに応じて方向及び加速度を検出し、検出結果を含むセンサ信号を出力する。エンベデッドコントローラ31は、この加速度センサ34のセンサ信号を取得することにより、情報処理装置10の動きや傾きなどの情報を取得することができる。
【0049】
[情報処理装置10の機能構成]
次に、図5を参照して、本実施形態に係るサーマルスロットリング機能のDITT設定に関する情報処理装置10の機能構成について説明する。
図5は、本実施形態に係る情報処理装置10の機能構成の一例を示すブロック図である。なお、この図5では、本実施形態に係るDITT設定に関する主要な機能構成のみを記載している。情報処理装置10は、メイン制御部50と、SSD40とを備える。メイン制御部50は、BIOS51と、エンベデッドコントローラ(EC)31と、加速度センサ34とを備える。
【0050】
BIOS51は、BIOSメモリ22が記憶するBIOSのプログラムをCPU11が実行することにより実現される機能構成であり、情報処理装置10のハードウェアの起動を制御する。例えば、BIOS51は、インタフェースIF1を介して、DITTの選択肢となる複数の温度閾値が含まれるDITT設定情報(Set DITT)をメモリコントローラ42へ送信する。ここで、インタフェースIF1は、前述したように、例えばNVMeインタフェースである。BIOS51は、起動処理において、インタフェースIF1を介してDITT設定情報をメモリコントローラ42へ送信する。
【0051】
ここでは、DITT設定情報には、第1の温度閾値であるDITT#1と第2の温度閾値であるDITT#2との2種類のDITTがサーマルスロットリング機能で使用可能なDITTとして含まれる例を示している。DITT#1は、例えばUL規格における人が接触可能な部分の温度限度値に対応して予め設定された温度閾値であり、当該温度限度値以下の値に設定されている。DITT#2は、例えばUL規格における人が接触不可能な部分の温度限度値に対応して予め設定された温度閾値であり、当該温度限度値以下の値に設定されている。DITT#1は、DITT#2よりも低い温度閾値に設定されている。
【0052】
メモリコントローラ42は、インタフェースIF1を介してDITT設定情報を取得すると、取得したDITT設定情報に含まれるDITT#1及びDITT#2をサーマルスロットリング機能で使用可能なDITTとして設定する。また、メモリコントローラ42は、例えば、デフォルトのDITTとしてDITT#1をアクティブに設定する。これにより、メモリコントローラ42は、DITT#1を使用してサーマルスロットリング機能を実行する。なお、デフォルトでアクティブに設定するDITTは、任意に設定することができる。
【0053】
エンベデッドコントローラ31は、インタフェースIF2を介して、メモリコントローラ42に設定されている複数のDITTの選択肢の中からサーマルスロットリング機能で使用するDITTを選択するDITT選択情報をメモリコントローラ42へ送信する。例えば、エンベデッドコントローラ31は、サーマルスロットリング機能で使用するDITTを選択するDITT選択情報として、現在のDITTから変更する際に、DITTを切り替える指示を示すDITT切替コマンド(Switch command)を、インタフェースIF2を介してメモリコントローラ42へ送信する。ここで、インタフェースIF2は、前述したように、例えばSMBusインタフェースである。DITT切替コマンドには、アクティブにするDITTを選択する選択情報が少なくとも含まれる。一例として、DITT#1へ切り替える指示を示すDITT切替コマンドには少なくともDITT#1を示す情報が含まれ、DITT#2へ切り替える指示を示すDITT切替コマンドには少なくともDITT#2を示す情報が含まれる。
【0054】
例えば、エンベデッドコントローラ31は、情報処理装置10のボトム面102bへユーザが接触可能な状態であるか否かを判定する。そして、エンベデッドコントローラ31は、ボトム面102bへユーザが接触可能な状態であるか否かの判定結果に基づいて、メモリコントローラ42に設定されているDITT#1とDITT#2の中からサーマルスロットリング機能で使用するDITTを選択する。
【0055】
例えば、デフォルトの人が接触可能な部分の温度限度値に対応するDITT#1がアクティブな状態において、エンベデッドコントローラ31は、ボトム面102bへユーザが接触不可能な状態であると判定した場合、DITT#1からDITT#2へ切り替えるDITT切替コマンドを、インタフェースIF2を介してメモリコントローラ42へ送信する。また、DITT#2がアクティブな状態において、エンベデッドコントローラ31は、ボトム面102bへユーザが接触可能な状態であると判定した場合、DITT#2からDITT#1へ切り替えるDITT切替コマンドを、インタフェースIF2を介してメモリコントローラ42へ送信する。
【0056】
メモリコントローラ42は、インタフェースIF2を介してDITT切替コマンドを取得すると、取得したDITT切替コマンドに基づいてアクティブにするDITTを設定する。例えば、メモリコントローラ42は、DITT#2に切り替えるDITT切替コマンドを取得した場合には、アクティブにするDITTをDITT#2に設定する。また、メモリコントローラ42は、DITT#1に切り替えるDITT切替コマンドを取得した場合には、アクティブにするDITTをDITT#1に設定する。
【0057】
次に、エンベデッドコントローラ31がボトム面102bへユーザが接触可能な状態であるか否かを判定する判定方法について説明する。例えば、エンベデッドコントローラ31は、情報処理装置10の使用状態を検出することにより、ボトム面102bへユーザが接触可能な状態であるか否かを判定する。
【0058】
一例として、図5に示すように、エンベデッドコントローラ31は、加速度センサ34のセンサ信号を取得してモニタリングすることにより、加速度センサ34の検出結果に基づいて情報処理装置10の使用状態を判定する。エンベデッドコントローラ31は、情報処理装置10の動きが所定値未満であって静止している状態と判定できる場合には、ユーザが情報処理装置10を机などに載置して使用している状態、即ちボトム面102bへユーザが接触不可能な状態であると判定する。
【0059】
一方、エンベデッドコントローラ31は、情報処理装置10の動きが所定値以上であって静止していない状態(わずかながらでも動いている状態)と判定できる場合には、ユーザが情報処理装置10を膝の上などにおいて使用している状態、即ちボトム面102bへユーザが接触可能な状態であると判定する。
【0060】
つまり、エンベデッドコントローラ31は、加速度センサ34の検出結果に基づいて、ボトム面102bへユーザが接触可能な状態であるか否かを判定し、ボトム面102bへユーザが接触可能な状態であるか否かの状態が変化した場合、DITT切替コマンドを、インタフェースIF2を介してメモリコントローラ42へ送信する。
【0061】
[DITT設定処理の動作]
次に、図6を参照して、情報処理装置10が実行するDITT設定処理の動作について説明する。図6は、本実施形態に係るDITT設定処理の一例を示すフローチャートである。
【0062】
まず、BIOS51は、起動処理を開始すると、インタフェースIF1(MVMeインタフェース)を介してSSD40へ初期化要求コマンドを送信する(ステップS101)。SSD40は、BIOS51から送信された初期化要求コマンドを取得すると、初期化処理を開始する(ステップS102)。
【0063】
次に、BIOS51は、起動処理において、DITT設定情報(Set DITT)を、インタフェースIF1(MVMeインタフェース)を介してSSD40へ送信する(ステップS103)。例えば、BIOS51は、DITT#1及びDITT#2の2種類のDITTの選択肢を設定するためのDITT設定情報をSSD40へ送信する。
【0064】
SSD40は、BIOS51から送信されたDITT設定情報を取得すると、取得したDITT設定情報に含まれるDITT#1及びDITT#2をサーマルスロットリング機能で使用可能なDITTとして設定する(ステップS104)。また、SSD40は、例えば、デフォルトのDITTとしてDITT#1をアクティブに設定する。
【0065】
SSD40は、初期化処理を終了すると、インタフェースIF2を介してエンベデッドコントローラ31と通信可能な状態となる(ステップS105)。
【0066】
一方、エンベデッドコントローラ31は、起動すると、加速度センサ34のセンサ信号を所定周期で取得してモニタリングを開始する(ステップS106)。
【0067】
エンベデッドコントローラ31は、加速度センサ34の検出結果に基づいて情報処理装置10の使用状態が変化したか否かを判定する(ステップS107)。例えば、エンベデッドコントローラ31は、情報処理装置10の動きが所定値未満であって静止している状態と判定できる場合には、ユーザが情報処理装置10を机などに載置して使用している状態、即ちボトム面102bへユーザが接触不可能な状態であると判定する。一方、エンベデッドコントローラ31は、情報処理装置10の動きが所定値以上であって静止していない状態(わずかながらでも動いている状態)と判定できる場合には、ユーザが情報処理装置10を膝の上などにおいて使用している状態、即ちボトム面102bへユーザが接触可能な状態であると判定する。
【0068】
エンベデッドコントローラ31は、情報処理装置10の使用状態が変化していないと判定した場合(ステップS107:NO)、ステップS107の判定処理を繰り返す。
【0069】
一方、エンベデッドコントローラ31は、情報処理装置10の使用状態が変化したと判定した場合(ステップS107:YES)、インタフェースIF2(SMBusインタフェース)を介してDITT切替コマンド(Switch command)をSSD40へ送信する(ステップS108)。例えば、エンベデッドコントローラ31は、ユーザが情報処理装置10を膝の上などにおいて使用している状態(即ちボトム面102bへユーザが接触可能な状態)からユーザが情報処理装置10を机などに載置して使用している状態(即ちボトム面102bへユーザが接触不可能な状態)へ変化したと判定した場合、DITT#2へ切り替える指示を示すDITT切替コマンドをSSD40へ送信する。また、エンベデッドコントローラ31は、ユーザが情報処理装置10を机などに載置して使用している状態(即ちボトム面102bへユーザが接触不可能な状態)からユーザが情報処理装置10を膝の上などにおいて使用している状態(即ちボトム面102bへユーザが接触可能な状態)へ変化したと判定した場合、DITT#1へ切り替える指示を示すDITT切替コマンドをSSD40へ送信する。エンベデッドコントローラ31は、DITT切替コマンドを送信した後、ステップS107の判定処理を繰り返す。
【0070】
なお、エンベデッドコントローラ31は、起動後の最初のステップS107における判定では、SSD40においてデフォルトでDITT#1が設定されているため、ユーザが情報処理装置10を膝の上などにおいて使用している状態(即ちボトム面102bへユーザが接触可能な状態)をデフォルトとして、ユーザが情報処理装置10を机などに載置して使用している状態(即ちボトム面102bへユーザが接触不可能な状態)と判定した場合には状態が変化したものとしてDITT切替コマンドをSSD40へ送信する。
【0071】
SSD40は、エンベデッドコントローラ31から送信されたDITT切替コマンドを取得すると、DITT切替コマンドに基づく切り替え指示に応じてDITTを切り替える(ステップS109)。例えば、SSD40は、DITT#1からDITT#2へ切り替える指示を示すDITT切替コマンドを取得した場合、アクティブにするDITTをDITT#2に設定する。一方、SSD40は、DITT#2からDITT#1へ切り替える指示を示すDITT切替コマンドを取得した場合、アクティブにするDITTをDITT#1に設定する。
【0072】
以上説明したように、本実施形態に係る情報処理装置10は、BIOSメモリ22(第1のメモリの一例)と、CPU11(第1のプロセッサの一例)と、エンベデッドコントローラ31(第2のプロセッサの一例)と、を備える。BIOSメモリ22は、ハードウェアの起動を制御するBIOSのプログラム(第1のプログラムの一例)を記憶する。
CPU11(第1のプロセッサの一例)は、BIOSメモリ22に記憶されたBIOSのプログラムを実行する。また、BIOSメモリ22は、BIOSのプログラムとは異なるプログラムとしてエンベデッドコントローラ31が実行するプログラム(第2のプログラムの一例)を記憶する。エンベデッドコントローラ31は、CPU11と異なるプロセッサであり、BIOSメモリ22に記憶されたエンベデッドコントローラ31が実行するプログラムを実行する。なお、BIOSのプログラムとエンベデッドコントローラ31が実行するプログラムとは異なるメモリに記憶されてもよい。
また、情報処理装置10は、温度センサ43と、書き換え可能なフラッシュメモリ41(第3のメモリの一例)と、温度センサ43による検知温度が所定のDITT(温度閾値の一例)に達すると温度上昇を抑制するようにフラッシュメモリ41へのアクセスを制御するメモリコントローラ42とを備えるSSD40(メモリドライブ装置の一例)を備える。そして、CPU11は、BIOSのプログラムを実行することにより、インタフェースIF(第1のインタフェースの一例)を介して、所定のDITTの選択肢となる複数のDITTの情報(例えば、DITT設定情報)をSSD40のメモリコントローラ42へ送信する閾値設定処理を行う。また、エンベデッドコントローラ31は、インタフェースIF2(第2のインタフェースの一例)を介して、複数のDITTの選択肢の中から所定のDITTとするDITTを選択する選択情報(例えば、DITT切替コマンド)をSSD40のメモリコントローラ42へ送信する閾値選択処理を行う。
【0073】
これにより、情報処理装置10は、サーマルスロットリング機能におけるDITTをBIOSの起動時に設定した後も動的に変更することができるため、SSD40の温度上昇を抑えつつ、パフォーマンスの低下を抑制することができる。
【0074】
例えば、エンベデッドコントローラ31は、上記閾値選択処理において、情報処理装置10の使用状態に基づいて複数のDITTの中から所定のDITTとするDITTを選択する。
【0075】
これにより、情報処理装置10は、SSD40の温度上昇を抑えつつ、情報処理装置10の使用状態によってパフォーマンスの低下を抑制することができる。
【0076】
例えば、エンベデッドコントローラ31は、情報処理装置10のボトム面102b(特定領域の一例)へユーザが接触可能な状態であるか否かを判定する判定処理をさらに行う。そして、エンベデッドコントローラ31は、上記閾値選択処理において、上記判定処理による判定結果に基づいて、複数のDITTの中から所定のDITTとするDITTを選択する。
【0077】
これにより、情報処理装置10は、ユーザが接触可能な状態であるか否かに応じてUL規格などの安全規格を満たすようにSSD40の温度上昇を抑えつつ、情報処理装置10の使用状態によってパフォーマンスの低下を抑制することができる。
【0078】
また、情報処理装置10は、情報処理装置10の動きを検出するための加速度センサ34(動きセンサの一例)を備える。そして、エンベデッドコントローラ31は、加速度センサ34の検出結果に基づいて情報処理装置10のボトム面102bへユーザが接触可能な状態であるか否かを判定する。
【0079】
これにより、情報処理装置10は、情報処理装置10の動きを検出することにより、ユーザが情報処理装置10を机に載置して使用している状態であるか、或いはユーザが情報処理装置10を膝の上などにおいて使用している状態であるかを判定し、ボトム面102bへユーザが接触可能な状態であるか否かを判定することができる。
【0080】
なお、加速度センサ34は、動きセンサの一例であってこれに限定されるものではない。例えば、情報処理装置10は、加速度センサ34に代えて又は加えて、ジャイロセンサや傾斜センサなどを用いてもよい。
【0081】
具体的には、例えばエンベデッドコントローラ31は、情報処理装置10のボトム面102bへユーザが接触可能な状態から接触不可能な状態へ変化したと判定した場合、上記閾値選択処理において、現在設定されているDITT(例えば、DITT#1)より高いDITT(例えば、DITT#2)を選択する選択情報(例えば、DITT切替コマンド)をSSD40のメモリコントローラ42へ送信する。
【0082】
これにより、情報処理装置10は、ボトム面102bへユーザが接触可能な状態から接触不可能な状態へ変化した場合、UL規格に応じて、接触可能な状態でのDITTより高いDITTに動的に切り替えることができるため、接触可能な状態でのDITTに固定する場合に比較して、パフォーマンスの低下を抑制することができる。
【0083】
また、エンベデッドコントローラ31は、情報処理装置10のボトム面102bへユーザが接触不可能な状態から接触可能な状態へ変化したと判定した場合、上記閾値選択処理において、現在設定されているDITT(例えば、DITT#2)より低いDITT(例えば、DITT#1)を選択する選択情報(例えば、DITT切替コマンド)をSSD40のメモリコントローラ42へ送信する。
【0084】
これにより、情報処理装置10は、ボトム面102bへユーザが接触不可能な状態から接触可能な状態へ変化した場合、UL規格に応じて、接触不可能な状態でのDITTより低いDITTに動的に切り替えることができるため、UL規格などの安全規格を満たすようにSSD40の温度上昇を抑えることができる。
【0085】
例えば、インタフェースIF1は、NVMe(Non Volatile Memory Express)インタフェースである。また、インタフェースIF2は、SMBus(System Management Bus)インタフェースである。
【0086】
これにより、情報処理装置10は、NVMeインタフェースを介してBIOSからSSD40に複数のDITTを設定した後に、SMBusインタフェースを介してエンベデッドコントローラ31から複数のDITTのうちのいずれかのDITTを選択することができるため、既存のハードウェア及びインタフェースを利用して、SSD40の温度上昇を抑えつつ、パフォーマンスの低下を抑制することができる。
【0087】
なお、BIOSがSMM(System Management Mode)を使用することにより、エンベデッドコントローラ31に代わってDITTを切り替えることができる可能性もあるが、非常に制御が複雑であり、ハングアップやBSoD(Blue Screen of Death)の原因となる。また、Windows(登録商標)システムまたはWindows(登録商標)上で動作するDPTF(Dynamic Platform and Thermal Framework)を用いてDITTを切り替えることもできるが、ドライバなどをインストールするために必要なソフトウェアのインストールが必要であり、またLinux(登録商標)など他のOSでは利用できないことがある。本実施形態によれば、既存のハードウェアを用いてソフトウェアに依存しないDITTの制御を行うことができる。
【0088】
また、情報処理装置10における制御方法は、CPU11(第1のプロセッサの一例)が、BIOSのプログラム(第1のプログラムの一例)を実行することにより、インタフェースIF(第1のインタフェースの一例)を介して、所定のDITT(温度閾値の一例)の選択肢となる複数のDITTの情報(例えば、DITT設定情報)をSSD40(メモリドライブ装置の一例)のメモリコントローラ42へ送信する閾値設定処理を行うステップと、エンベデッドコントローラ31(第2のプロセッサの一例)が、インタフェースIF2(第2のインタフェースの一例)を介して、複数のDITTの選択肢の中から所定のDITTとするDITTを選択する選択情報(例えば、DITT切替コマンド)をSSD40のメモリコントローラ42へ送信する閾値選択処理を行うステップと、を含む。
【0089】
これにより、情報処理装置10は、サーマルスロットリング機能におけるDITTをBIOSの起動時に設定した後も動的に変更することができるため、SSD40の温度上昇を抑えつつ、パフォーマンスの低下を抑制することができる。
【0090】
なお、上記実施形態において、2種類のDITT(DITT#1、DITT#2)を切り替える例を説明したが、3種類以上のDITTをSSD40に設定して切り替える構成としてもよい。例えば、情報処理装置10は、使用状態(使用形態)に応じて3種類のDITTを切り替えて、サーマルスロットリング機能を実行してもよい。具体的には一例として、情報処理装置10は、使用状態(使用形態)がクラムシェルモード、テントモード、及びタブレットモードのいずれであるかによって、3種類のDITTを切り替えてもよい。
【0091】
図7は、情報処理装置10の3種類の使用状態(使用形態)の一例を示す図である。図7(A)は、クラムシェルモードのときの使用状態(使用形態)を例示する。クラムシェルモードでは、図1に示す情報処理装置10の使用状態に対応し、例えば、情報処理装置10は、一例として開き角θが10°<θ≦180°の場合にクラムシェルモードであると判定する。情報処理装置10は、開き角θを角度センサ(不図示)などを用いて検出する。図7(B)は、テントモードのときの使用状態(使用形態)を例示する。例えば、情報処理装置10は、一例として開き角θが180°<θ≦330°の場合にテントモードであると判定する。図7(C)は、タブレットモードのときの使用状態(使用形態)を例示する。タブレットモードは、典型的には開き角θが360°であるが、情報処理装置10は、一例として開き角θ330°<θ≦360°の場合にタブレットモードであると判定する。
【0092】
クラムシェルモードの場合、机の上に載置されて使用されることが一般的である。また、タブレットモードの場合、ユーザが持って使用されることが多い。テントモードの場合、机の上に載置されている使用されることが一般的であるが、クラムシェルモードと違ってボトム面102bが載置されている面で隠れていないため、ユーザが接触不可能なわけでない。クラムシェルモードの温度閾値をDITT#a、テントモードの温度閾値をDITT#b、及びタブレットモードの温度閾値をDITT#cとして使用状態(使用形態)に応じて3種類のDITTを切り替える場合、例えば「DITT#a>DITT#b>DITT#C」の関係となるようにそれぞれのDITTの値が設定される。
【0093】
以上、図面を参照してこの発明の実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【0094】
なお、エンベデッドコントローラ31は、CPU11とは異なるプロセッサとしてのマイクロコンピュータの一例であって、これに限定されるものではない。
【0095】
また、上記実施形態において、インタフェースIF1の一例として、MVMeインタフェースを用いる例を説明したが、これに限定されるものではなく、接続されるSSD40の仕様に応じた他のインタフェースであってもよい。また、インタフェースIF2の一例として、SMBusインタフェースを用いる例を説明したが、これに限定されるものではなく、例えば、I2C(アイツ―シー)バスなどの他のインタフェースであってもよいし、電圧の変化や電圧パルスなどを用いたインタフェースであってもよい。
【0096】
また、上述した情報処理装置10は、内部にコンピュータシステムを有している。そして、上述した情報処理装置10のそれぞれが備える各構成の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述した情報処理装置10(10A)のそれぞれが備える各構成における処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD-ROM等の非一過性の記録媒体であってもよい。
【0097】
また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部又は外部に設けられた記録媒体も含まれる。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に情報処理装置10が備える各構成で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0098】
また、上述した実施形態における情報処理装置10が備える各機能の一部、または全部を、LSI(Large Scale Integration)等の集積回路として実現してもよい。各機能は個別にプロセッサ化してもよいし、一部、又は全部を集積してプロセッサ化してもよい。また、集積回路化の手法はLSIに限らず専用回路、または汎用プロセッサで実現してもよい。また、半導体技術の進歩によりLSIに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いてもよい。
【符号の説明】
【0099】
10 情報処理装置、101 ディスプレイ筐体、101a ディスプレイ面、101b トップ面、102 機器筐体、102a キーボード面、102b ボトム面、103 ヒンジ機構、11 CPU、12 メインメモリ、13 ビデオサブシステム、14 表示部、21 チップセット、22 BIOSメモリ、31 エンベデッドコントローラ、32 キーボード、33 電源回路、34 加速度センサ、35 放熱ファン、40 SSD、41 フラッシュメモリ、42 メモリコントローラ、43 温度センサ、50 メイン制御部、51 BIOS、60 バッテリ、IF1,IF2 インタフェース
【要約】
【課題】メモリドライブ装置の温度上昇を抑えつつ、パフォーマンスの低下を抑制すること。
【解決手段】情報処理装置は、起動を制御する第1のプログラムを実行する第1のプロセッサと、第2のプログラムを実行する第2のプロセッサと、メモリドライブ装置とを備える。メモリドライブ装置は、温度センサと、書き換え可能なメモリと、温度センサによる検知温度が所定の温度閾値に達すると温度上昇を抑制するように該メモリへのアクセスを制御するメモリコントローラとを備える。第1のプロセッサは、第1のインタフェースを介して、所定の温度閾値の選択肢となる複数の温度閾値の情報をメモリコントローラへ送信する。第2のプロセッサは、第2のインタフェースを介して、複数の温度閾値の選択肢の中から所定の温度閾値とする温度閾値を選択する選択情報をメモリコントローラへ送信する。
【選択図】図5
図1
図2
図3
図4
図5
図6
図7