(57)【要約】【課題】半導体記憶装置の表面温度に関する情報をホスト機器に送出することができる半導体記憶装置を実現する。【解決手段】半導体記憶装置は、第１の面と第１の面の反対側に位置する第２の面とを有する。半導体記憶装置は、不揮発性メモリと、前記不揮発性メモリを制御するコントローラと、信号の伝送に用いられる複数の信号端子を含み、前記第１の面で露出した複数の端子とを含む。コントローラは、温度センサによって検知される前記コントローラの温度を表す第１データと、前記コントローラの温度と前記第１の面の温度との間の温度差を表す第２データと、前記コントローラの温度と前記第２の面の温度との間の温度差を表す第３データをホスト機器に送出する。【選択図】図９
2020161098.tif 000002
【特許請求の範囲】
【請求項１】
ホスト機器に装着可能な半導体記憶装置であって、
前記半導体記憶装置は第１の面と前記第１の面の反対側に位置する第２の面とを有し、
不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
信号の伝送に用いられる複数の信号端子を含み、前記第１の面で露出した複数の端子と
を具備し、
前記コントローラは、温度センサによって検知される前記コントローラの温度を表す第１データと、前記コントローラの温度と前記第１の面の温度との間の温度差を表す第２データと、前記コントローラの温度と前記第２の面の温度との間の温度差を表す第３データを前記複数の信号端子の少なくとも一つの端子を用いて前記ホスト機器に送出するように構成されている、半導体記憶装置。
【請求項２】
前記コントローラは、前記半導体記憶装置の消費電力に相関する熱抵抗モデルに基づいて、前記第２データと前記第３データを算出する請求項１に記載の半導体記憶装置。
【請求項３】
前記第２データは前記コントローラと前記第１の面との間の第１熱抵抗と前記半導体記憶装置の消費電力の積により算出され、前記第３データは前記コントローラと前記第２の面との間の第２熱抵抗と前記半導体記憶装置の消費電力の積により算出される請求項１または請求項２に記載の半導体記憶装置。
【請求項４】
前記半導体記憶装置の消費電力は、前記コントローラの消費電力と前記不揮発性メモリの消費電力との和によって計算され、
前記第１熱抵抗は、前記半導体記憶装置の消費電力に対する前記コントローラの消費電力の割合を示すパワー比の一次関数である第１一次関数によって表され、
前記第２熱抵抗は、前記パワー比の一次関数である第２一次関数によって表される請求項３に記載の半導体記憶装置。
【請求項５】
前記パワー比は、前記不揮発性メモリからデータを読み出すリード動作における前記半導体記憶装置の消費電力に対する前記リード動作における前記コントローラの消費電力の割合と、前記不揮発性メモリにデータを書き込むライト動作における前記半導体記憶装置の消費電力に対する前記ライト動作における前記コントローラの消費電力の割合と、所定期間内に実行された前記リード動作の回数および前記ライト動作の回数とに基づいて算出される請求項４に記載の半導体記憶装置。
【請求項６】
前記半導体記憶装置の前記消費電力は、前記不揮発性メモリからデータを読み出すリード動作における前記コントローラの消費電力と、前記リード動作における前記不揮発性メモリの消費電力と、前記不揮発性メモリにデータを書き込むライト動作における前記コントローラの消費電力と、前記ライト動作における前記不揮発性メモリの消費電力と、所定期間内に実行された前記リード動作の回数および前記ライト動作の回数とに基づいて算出される請求項４に記載の半導体記憶装置。
【請求項７】
前記半導体記憶装置は前記ホスト機器とＮＶＭｅ規格に準拠して接続され、
前記コントローラは、前記ホスト機器から受信したＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを取得する要求に対して、前記第１データと、前記第２データと、前記第３データを含むＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを前記ホスト機器に送出するように構成されている請求項１、請求項２、請求項３、請求項４、請求項５、または請求項６のいずれか１つに記載の半導体記憶装置。
【請求項８】
前記半導体記憶装置は前記ホスト機器とＮＶＭｅ規格に準拠して接続され、
前記コントローラは、前記ホスト機器から受信したＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを取得する要求に対して、前記第１データがＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定され、前記第２データと前記第３データがさらに設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを前記ホスト機器に送出するように構成されている請求項１、請求項２、請求項３、請求項４、請求項５、または請求項６のいずれか１つに記載の半導体記憶装置。
【請求項９】
前記ホスト機器は、前記半導体記憶装置から送出された前記ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  ＩｎｆｏｒｍａｔｉｏｎのＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅに設定されている前記第１データと、前記ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎに設定されている前記第２データおよび前記第３データと、を読み出し、前記半導体記憶装置の消費電力を前記第１の面に分配する第１分配比と前記読み出した第２データとの積を前記読み出した第１データから引くことによって得られる前記第１の面の温度と、前記半導体記憶装置の消費電力を前記第２の面に分配する第２分配比と前記読み出した３データとの積を前記読み出した第１データから引くことによって得られる前記第２の面の温度と、を計算するように構成されている、請求項８に記載の半導体記憶装置。
【請求項１０】
前記第１分配比と前記第２分配比は前記ホスト機器の放熱機構によって決定される請求項９に記載の半導体記憶装置。
【請求項１１】
前記コントローラは、データ転送に使用するＰＣＩｅのレーン数、前記不揮発性メモリのスタック数、前記半導体記憶装置のパワーステートによって、前記パワー比を算出する請求項４または請求項５に記載の半導体記憶装置。
【請求項１２】
前記半導体記憶装置はカード形状のパッケージとして実現されている請求項１、請求項２、請求項３、請求項４、請求項５、請求項６、請求項７、請求項８、請求項９、請求項１０、または請求項１１のいずれか１つに記載の半導体記憶装置。
【請求項１３】
ホスト機器に装着可能な半導体記憶装置であって、
前記半導体記憶装置は第１の面と前記第１の面の反対側に位置する第２の面とを有し、
不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
信号の伝送に用いられる複数の信号端子を含み、前記第１の面で露出した複数の端子と
を具備し、
前記コントローラは、温度センサによって検知される前記コントローラの温度を表す第１データと、前記半導体記憶装置内の熱が前記第１の面を通して前記半導体記憶装置の外側に抜ける場合における前記第２の面の温度を表す第２データと、前記半導体記憶装置内の熱が前記第１の面を通して前記半導体記憶装置の外側に抜け、さらに前記半導体記憶装置内の熱が前記第２の面を介して前記半導体記憶装置の外側に抜ける場合における前記第２の面の温度を表す第３データを前記複数の信号端子の少なくとも一つの端子を用いて前記ホスト機器に送出するように構成されている、半導体記憶装置。
【請求項１４】
前記コントローラは、前記第１データと、前記半導体記憶装置の消費電力に相関する熱抵抗モデルに基づいて、前記第２データと前記第３データを算出する請求項１３に記載の半導体記憶装置。
【請求項１５】
前記第２データは、前記半導体記憶装置内の熱が前記第１の面を通して前記半導体記憶装置の外側に抜ける場合に前記コントローラと前記第２の面との間に温度差を発生させる第１熱抵抗と前記半導体記憶装置の消費電力の積を前記コントローラの温度から引くことによって算出され、
前記第３データは、前記半導体記憶装置内の熱が前記第１の面を通して前記半導体記憶装置の外側に抜け、さらに前記半導体記憶装置内の熱が前記第２の面を通して前記半導体記憶装置の外側に抜ける場合に前記第２の面の温度を前記第２データよりも低下させる第２熱抵抗と前記半導体記憶装置の消費電力の積を、前記第２データから引くことによって算出される請求項１３または請求項１４に記載の半導体記憶装置。
【請求項１６】
前記半導体記憶装置の消費電力は、前記コントローラの消費電力と前記不揮発性メモリの消費電力との和によって計算され、
前記第１熱抵抗は、前記半導体記憶装置の消費電力に対する前記コントローラの消費電力の割合を示すパワー比の一次関数である第１一次関数によって表され、
前記第２熱抵抗は、前記パワー比の一次関数である第２一次関数によって表される請求項１５に記載の半導体記憶装置。
【請求項１７】
前記パワー比は、前記不揮発性メモリからデータを読み出すリード動作における前記半導体記憶装置の消費電力に対する前記リード動作における前記コントローラの消費電力の割合と、前記不揮発性メモリにデータを書き込むライト動作における前記半導体記憶装置の消費電力に対する前記ライト動作における前記コントローラの消費電力の割合と、所定期間内に実行された前記リード動作の回数および前記ライト動作の回数とに基づいて算出される請求項１６に記載の半導体記憶装置。
【請求項１８】
前記半導体記憶装置の前記消費電力は、前記不揮発性メモリからデータを読み出すリード動作における前記コントローラの消費電力と、前記リード動作における前記不揮発性メモリの消費電力と、前記不揮発性メモリにデータを書き込むライト動作における前記コントローラの消費電力と、前記ライト動作における前記不揮発性メモリの消費電力と、所定期間内に実行された前記リード動作の回数および前記ライト動作の回数とに基づいて算出される請求項１６に記載の半導体記憶装置。
【請求項１９】
前記半導体記憶装置は前記ホスト機器とＮＶＭｅ規格に準拠して接続され、
前記コントローラは、前記ホスト機器から受信したＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを取得する要求に対して、前記第１データと、前記第２データと、前記第３データを含むＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを前記ホスト機器に送出するように構成されている請求項１３、請求項１４、請求項１５、請求項１６、請求項１７、または請求項１８のいずれか１つに記載の半導体記憶装置。
【請求項２０】
前記半導体記憶装置は前記ホスト機器とＮＶＭｅ規格に準拠して接続され、
前記コントローラは、前記ホスト機器から受信したＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを取得する要求に対して、前記第１データがＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定され、前記第２データと前記第３データがさらに設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを前記ホスト機器に送出するように構成されている請求項１３、請求項１４、請求項１５、請求項１６、請求項１７、または請求項１８のいずれか１つに記載の半導体記憶装置。
【請求項２１】
前記第１熱抵抗は、前記第１熱抵抗と前記半導体記憶装置の消費電力の積が前記コントローラの温度と前記第２の面の温度との間の温度差を表すように算出されている請求項１５に記載の半導体記憶装置。
【請求項２２】
前記半導体記憶装置はカード形状のパッケージとして実現されている請求項１３、請求項１４、請求項１５、請求項１６、請求項１７、請求項１８、請求項１９、請求項２０、または請求項２１のいずれか１つに記載の半導体記憶装置。
【請求項２３】
前記第２データと前記第３データは前記第１データよりも小さく、前記第３データは前記第２データよりも小さく、前記第２データと前記第３データは前記半導体記憶装置の周囲温度を表すデータよりも大きい請求項１３、請求項１４、請求項１５、請求項１６、請求項１７、請求項１８、請求項１９、請求項２０、請求項２１、または請求項２２のいずれか１つに記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、半導体記憶装置に関する。
【背景技術】
【０００２】
近年、ＮＡＮＤ型フラッシュメモリのような不揮発性メモリの技術改良に伴い、不揮発性メモリの記憶容量は増大している。これに伴い、ソリッドステートドライブ（ＳＳＤ）のような半導体記憶装置の小型化、薄型化、高速化が要求されている。
【０００３】
ところで、高速な半導体記憶装置の発熱量は大きい。このため、高速な半導体記憶装置が搭載されるホスト機器は、高速な半導体記憶装置の熱を逃がすための放熱機構を実装することが必要である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２６９３７９号公報
【特許文献２】特開２０１６−１６７１６７号公報
【特許文献２】国際公開第２００８／０９３６０６号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、半導体記憶装置の表面温度に関する情報をホスト機器に送出することができる半導体記憶装置を提供することである。
【課題を解決するための手段】
【０００６】
実施形態によれば、ホスト機器に装着可能な半導体記憶装置は、第１の面と前記第１の面の反対側に位置する第２の面とを有する。前記半導体記憶装置は、不揮発性メモリと、前記不揮発性メモリを制御するコントローラと、信号の伝送に用いられる複数の信号端子を含み、前記第１の面で露出した複数の端子とを具備する。前記コントローラは、温度センサによって検知される前記コントローラの温度を表す第１データと、前記コントローラの温度と前記第１の面の温度との間の温度差を表す第２データと、前記コントローラの温度と前記第２の面の温度との間の温度差を表す第３データを前記複数の信号端子の少なくとも一つの端子を用いて前記ホスト機器に送出するように構成されている。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態に係る半導体記憶装置の外観と複数の端子の配置を示す例示的な平面図。
【図２】第１の実施形態の半導体記憶装置を示す例示的な側面図。
【図３】第１の実施形態の半導体記憶装置の複数の端子の配置の他の例を示す平面図。
【図４】第１の実施形態の半導体記憶装置の複数の端子に対する信号割り当ての一例を示す図。
【図５】第１の実施形態の半導体記憶装置の構成を示す図。
【図６】第１の実施形態の半導体記憶装置がホスト機器内のコネクタに装着された状態の例を示す図。
【図７】第１の実施形態の半導体記憶装置がホスト機器内のコネクタに装着された状態の他の例を示す図。
【図８】第１の実施形態の半導体記憶装置の表面温度を算出するために使用される熱抵抗モデルを示す図。
【図９】第１の実施形態の半導体記憶装置において実行される温度情報出力処理の手順を示すシーケンス図。
【図１０】第１の実施形態の半導体記憶装置の構成例を示すブロック図。
【図１１】第１の実施形態の半導体記憶装置によってホスト機器に報告されるＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す図。
【図１２】レーン数、スタック数、リード動作、ライト動作と第１の実施形態の半導体記憶装置内のコントローラおよび不揮発性メモリそれぞれの消費電力との関係を示す図。
【図１３】不揮発性メモリに対するリード回数およびライト回数に基づいて、コントローラと不揮発性メモリのパワー比と、半導体記憶装置全体の総消費電力とを算出する処理の手順の例を示すフローチャート。
【図１４】第１の実施形態の半導体記憶装置によってホスト機器に報告されるＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す図。
【図１５】第２の実施形態の半導体記憶装置がホスト機器内のコネクタに装着された状態の例を示す図。
【図１６】ＴＩＭ無しのコネクタに対応する放熱モデルを説明するための図。
【図１７】ＴＩＭ有りのコネクタに対応する放熱モデルを説明するための図。
【図１８】第２の実施形態の半導体記憶装置によってホスト機器に報告されるＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す図。
【図１９】第２の実施形態の半導体記憶装置において実行される温度情報出力処理の手順を示すシーケンス図。
【図２０】所定期間内に実行されたリード動作の回数と所定期間内に実行されたライト動作の回数を求める処理の手順を示すフローチャート。
【図２１】不揮発性メモリに対するリード回数およびライト回数に基づいて、コントローラと不揮発性メモリのパワー比と、半導体記憶装置全体の総消費電力とを算出する処理の手順の例を示すフローチャート。
【図２２】サーマルマネージメントを示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して、実施形態を説明する。  
（第１の実施形態）
図１は、第１の実施形態に係る半導体記憶装置の外観および半導体記憶装置の複数の端子の配置の例を示す例示的な平面図である。図２は、半導体記憶装置の例示的な平面図である。
【０００９】
この半導体記憶装置は、不揮発性メモリとこの不揮発性メモリを制御するコントローラとを含む。この半導体記憶装置は、不揮発性メモリにデータを書き込み、不揮発性メモリからデータを読み出すように構成されたストレージデバイスである。
【００１０】
この半導体記憶装置は、例えば、ソリッドステートドライブ（ＳＳＤ）として実現されてもよい。この場合、このＳＳＤは、ホスト機器として機能するパーソナルコンピュータ、モバイルデバイスといった様々な情報処理装置のデータストレージとして使用される。
【００１１】
この半導体記憶装置はカード形状を有しており、ホスト機器内のコネクタ（カードコネクタとも称する）に装着可能なリムーバブルＳＳＤとして機能し得る。以下では、この半導体記憶装置はストレージデバイス（またはカード型ストレージデバイス）１０として参照される。
【００１２】
各図に示されるように、本明細書において、Ｘ軸、Ｙ軸及びＺ軸が定義される。Ｘ軸とＹ軸とＺ軸とは、互いに直交する。Ｘ軸は、ストレージデバイス１０の幅に沿う。Ｙ軸は、ストレージデバイス１０の長さに沿う。Ｚ軸は、ストレージデバイス１０の厚さに沿う。
【００１３】
ストレージデバイス１０は、筐体１１と、プリント回路基板１２と、ＮＡＮＤ型フラッシュメモリ１３と、コントローラ１４と、保護シート１５とを有する。ＮＡＮＤ型フラッシュメモリ１３は、不揮発性メモリの一例である。
【００１４】
ストレージデバイス１０及び筐体１１は、例えば、Ｙ軸方向に延びた略矩形の板状に形成される。Ｙ軸方向は、ストレージデバイス１０及び筐体１１の長手方向である。
【００１５】
図２に示すように、筐体１１は、板状であって、第１の面２１と、第２の面２２と、外縁２３とを有する。第１の面２１及び第２の面２２は、Ｙ軸方向に延びた略四角形（矩形）状に形成される。すなわち、Ｙ軸方向は、第１の面２１及び第２の面２２の長手方向でもある。
【００１６】
第１の面２１は、Ｚ軸の正方向に向く略平坦な面である。図２に示すように、第２の面２２は、第１の面２１の反対側に位置し、Ｚ軸の負方向に向く略平坦な面である。
【００１７】
外縁２３は、第１の面２１と第２の面２２との間に設けられ、第１の面２１の縁と第２の面２２の縁とに接続される。図１に示すように、外縁２３は、第１の縁３１と、第２の縁３２と、第３の縁３３と、第４の縁３４と、第１の角部３５と、第２の角部３６と、第３の角部３７と、第４の角部３８とを有する。
【００１８】
第１の縁３１は、Ｘ軸方向に延び、Ｙ軸の正方向に向く。Ｘ軸方向は、ストレージデバイス１０、筐体１１、第１の面２１、及び第２の面２２の短手方向であって、Ｘ軸の正方向と、Ｘ軸の負方向とを含む。
【００１９】
第２の縁３２は、Ｙ軸方向に延び、Ｘ軸の負方向に向く。第３の縁３３は、第２の縁３２の反対側に位置してＹ軸方向に延び、Ｘ軸の正方向に向く。第４の縁３４は、第１の縁３１の反対側に位置してＸ軸方向に延び、Ｙ軸の負方向に向く。
【００２０】
第２の縁３２及び第３の縁３３のそれぞれの長さは、第１の縁３１及び第４の縁３４のそれぞれの長さよりも長い。第１の縁３１及び第４の縁３４は、略矩形のストレージデバイス１０の短辺を形成し、第２の縁３２及び第３の縁３３は、略矩形のストレージデバイス１０の長辺を形成する。
【００２１】
第１の角部３５は、第１の縁３１と第２の縁３２との間の角部分であり、第１の縁３１のＸ軸の負方向における端と、第２の縁３２のＹ軸の正方向における端とを接続する。
【００２２】
第１の角部３５は、第１の縁３１のＸ軸の負方向における端と、第２の縁３２のＹ軸の正方向における端との間で直線状に延びる。第１の縁３１と第２の縁３２との角が、いわゆるＣ１．１の角面取りに設定されることで、第１の角部３５が設けられる。別の表現によれば、第１の角部３５は、第１の縁３１と第２の縁３２との間に形成された角面取り部Ｃである。
【００２３】
第２の角部３６は、第１の縁３１と第３の縁３３との間の角部分であり、第１の縁３１のＸ軸の正方向における端と、第３の縁３３のＹ軸の正方向における端とを接続する。第２の角部３６は、第１の縁３１のＸ軸の正方向における端と、第３の縁３３のＹ軸の正方向における端との間で円弧状に延びる。第１の縁３１と第３の縁３３との角が、いわゆるＲ０．２の丸面取りに設定されることで、第２の角部３６が設けられる。このように、第１の角部３５の形状と第２の角部３６の形状とは、互いに異なる。
【００２４】
第３の角部３７は、第２の縁３２のＹ軸の負方向における端と、第４の縁３４のＸ軸の負方向における端とを接続する。第４の角部３８は、第３の縁３３のＹ軸の負方向における端と、第４の縁３４のＸ軸の正方向における端とを接続する。第３の角部３７及び第４の角部３８はそれぞれ、第２の角部３６と同様に円弧状に延びる。
【００２５】
ストレージデバイス１０、筐体１１、第１の面２１、及び第２の面２２は、Ｙ軸方向における長さが約１８±０．１ｍｍに設定され、Ｘ軸方向における長さが約１４±０．１ｍｍに設定される。すなわち、Ｙ軸方向における第１の縁３１と第４の縁３４との間の距離が約１８±０．１ｍｍに設定され、Ｘ軸方向における第２の縁３２と第３の縁３３との間の距離が約１４±０．１ｍｍに設定される。なお、ストレージデバイス１０、筐体１１、第１の面２１、及び第２の面２２のＸ軸方向及びＹ軸方向の長さは、この例に限られない。
【００２６】
図２に示すように、筐体１１は、傾斜部３９をさらに有する。傾斜部３９は、第１の面２１と第１の縁３１との間の角部分であり、第１の面２１のＹ軸の正方向における端と、第１の縁３１のＺ軸の正方向における端との間で直線状に延びる。
【００２７】
図１に示すように、プリント回路基板１２、ＮＡＮＤ型フラッシュメモリ１３、及びコントローラ１４は、筐体１１の内部に設けられる。プリント回路基板１２、ＮＡＮＤ型フラッシュメモリ１３、及びコントローラ１４は、箱型の筐体１１に収容されても良いし、筐体１１に埋め込まれても良い。ＮＡＮＤ型フラッシュメモリ１３及びコントローラ１４は、プリント回路基板１２の表面上に実装される。
【００２８】
なお、プリント回路基板１２の裏面が露出されるようにプリント回路基板１２が筐体１１の一部を構成してもよい。この場合、プリント回路基板１２の裏面が第１の面２１として機能することができる。
【００２９】
コントローラ１４は、ＮＡＮＤ型フラッシュメモリ１３、及び当該ＮＡＮＤ型フラッシュメモリ１３を含むストレージデバイス１０の全体を制御する。例えば、コントローラ１４は、ＮＡＮＤ型フラッシュメモリ１３へのリード／ライト制御及び外部との通信制御を行うことができる。この通信制御には、ＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）（ＰＣＩｅ）に対応したプロトコル制御が含まれる。
【００３０】
保護シート１５は、第１の面２１に貼り付けられる。保護シート１５は、例えば、第１の面２１に露出するテスト用の端子等を封じる。
【００３１】
ストレージデバイス１０は、複数の端子Ｐをさらに有する。端子Ｐはピンまたはパッドとも称される場合がある。第１の実施形態において、ストレージデバイス１０は、２６個または３９個の端子Ｐを有する。なお、端子Ｐの数はあくまで一例であって、この例に限られない。すなわち、端子Ｐの数は、２６個より少なくても良いし、３９個より多くても良い。複数の端子Ｐは、例えば、プリント回路基板１２の裏面に設けられる。複数の端子Ｐはプリント回路基板１２上に構成され、第１の面２１で露出される。第１の実施形態において、第２の面２２は、端子Ｐが設けられず、例えば印刷面や放熱面に利用され得る。Ｒ１１およびＲ１２はひとつの列にＰＣＩｅ  ２レーンが実装できるパッド数１３本を採用している。
【００３２】
複数の端子Ｐは三列に並べられ、列Ｒ１１，Ｒ１２及び列Ｒ２１を形成する。列Ｒ１１，Ｒ１２に属する端子群は、ＰＣＩｅ規格に準拠した、４レーン分の差動信号ペアを伝達するための信号端子として利用される。列Ｒ２１に属する端子群は、主に、電源端子および他の信号端子として利用される。なお、ストレージデバイス１０によってサポートされるレーン数が２である場合には、図３に示すように、ストレージデバイス１０は、二列に並べられて列Ｒ１１及び列Ｒ２１を形成する２６個の端子Ｐを有しても良い。列Ｒ１１に属する端子群は、２レーン分の差動信号ペアを伝達するための信号端子として利用される。
【００３３】
図１に示すように、列Ｒ１１は、第４の縁３４よりも第１の縁３１に近い位置で互いに間隔を介してＸ軸方向に並べられた１３個の端子Ｐ１０１〜Ｐ１１３を含む。端子Ｐ１０１〜Ｐ１１３は、第１の縁３１の近傍で、当該第１の縁３１に沿ってＸ軸方向に並べられる。
【００３４】
列Ｒ１２は、第４の縁３４よりも第１の縁３１に近い位置で互いに間隔を介してＸ軸方向に並べられた１３個の端子Ｐ１１４〜Ｐ１２６を含む。列Ｒ１２を形成する端子Ｐ１１４〜Ｐ１２６は、列Ｒ１１よりも第１の縁３１から離れた位置で並べられる。このため、列Ｒ１２は、列Ｒ１１よりも第１の縁３１から離れている。列Ｒ１１と列Ｒ１２とは、所定の短い間隔を介して、Ｙ軸方向に並べられる。
【００３５】
列Ｒ２１は、第１の縁３１よりも第４の縁３４に近い位置で互いに間隔を介してＸ軸方向に並べられた１３個の端子Ｐ１２７〜Ｐ１３９を含む。列Ｒ２１を形成する端子Ｐ１２７〜Ｐ１３９は、第１の縁３１よりも第４の縁３４に近い位置にある。別の表現によれば、列Ｒ２１を形成する端子Ｐ１２７〜Ｐ１３９は、Ｙ軸方向におけるストレージデバイス１０及び筐体１１の中心線（一点鎖線で示される）と、第４の縁３４との間に配置される。このため、列Ｒ１２と列Ｒ２１との間の間隔は広くなる。第１の実施形態において、列Ｒ２１を形成する複数の端子Ｐは、中心線から離間する。
【００３６】
Ｘ軸方向における隣接する端子Ｐの間の距離は、第２の縁３２と第３の縁３３との間の長さが一定の場合、例えば、端子Ｐの数に応じて決められる。さらに、Ｘ軸方向における隣接する端子Ｐの間の最小の距離により、Ｘ軸方向に並べられる端子Ｐの最大数が決められる。Ｘ軸方向における複数の端子Ｐの間の距離は、均等であっても良いし、異なっても良い。第１の実施形態において、列Ｒ１１，Ｒ１２及び列Ｒ２１のそれぞれの端子Ｐの数が同一である。このため、全ての端子Ｐの間の距離は一定である。
【００３７】
列Ｒ１１，Ｒ１２及び列Ｒ２１のそれぞれにおいて、端子Ｐは、当該端子ＰのＹ軸の負方向における端が揃うように並べられる。
【００３８】
列Ｒ１１及び列Ｒ１２の信号端子Ｐにおいて、端子ＰのＹ軸方向における長さは、同一に設定される。これにより、列Ｒ１１と列Ｒ１２のデータ転送用の端子Ｐの電気的特性を類似させることができる。
【００３９】
さらに、一つの端子Ｐが、他の端子ＰのＹ軸の正方向における端よりもＹ軸の正方向に張り出しても良い。例えば電源用の端子Ｐ及びＧＮＤ用の端子Ｐが、信号端子Ｐよりも張り出すことで、ストレージデバイス１０をＹ軸正方向に挿入する横挿しコネクタの場合に電源用及びＧＮＤ用の端子Ｐが信号端子Ｐよりも先にコネクタのリードフレームに接触する。これにより、ホスト機器のＧＮＤレベルとストレージデバイス１０のＧＮＤレベルとが等価になり、コントローラ１４の電気的レベルを安定させることができる。
【００４０】
横刺しタイプのコネクタは、多数の信号を引き出すのが難しいため、Ｒ１２はデータ転送に使用しない想定である。そのためＲ１１とＲ２１だけGNDと電源端子が長くなっている。
【００４１】
図４は、複数の端子Ｐに対する信号割り当ての一例を示す。図４に示すように、第１の実施形態において、列Ｒ１１及び列Ｒ１２の複数の端子Ｐには、ＰＣＩｅの高速シリアルデータ転送に用いられる信号が割り当てられる。ＰＣＩｅでは、データ転送に差動信号ペアを用いることができる。
【００４２】
列Ｒ１１において、端子Ｐ１０１，Ｐ１０４，Ｐ１０７，Ｐ１１０，Ｐ１１３にグランド（ＧＮＤ）が割り当てられ、端子Ｐ１０２，Ｐ１０３，Ｐ１０８，Ｐ１０９に受信差動信号ＰＥＲｐ０，ＰＥＲｎ０，ＰＥＲｐ１，ＰＥＲｎ１が割り当てられ、端子Ｐ１０５，Ｐ１０６，Ｐ１１１，Ｐ１１２に送信差動信号ＰＥＴｐ０，ＰＥＴｎ０，ＰＥＴｐ１，ＰＥＴｎ１が割り当てられる。
【００４３】
列Ｒ１２において、端子Ｐ１１４，Ｐ１１７，Ｐ１２０，Ｐ１２３，Ｐ１２６にグランド（ＧＮＤ）が割り当てられ、端子Ｐ１１５，Ｐ１１６，Ｐ１２１，Ｐ１２２に受信差動信号ＰＥＲｐ２，ＰＥＲｎ２，ＰＥＲｐ３，ＰＥＲｎ３が割り当てられ、端子Ｐ１１８，Ｐ１１９，Ｐ１２４，Ｐ１２５に送信差動信号ＰＥＴｐ２，ＰＥＴｎ２，ＰＥＴｐ３，ＰＥＴｎ３が割り当てられる。
【００４４】
受信差動信号ＰＥＲｐ０，ＰＥＲｎ０が割り当てられた一対の端子Ｐ１０２，Ｐ１０３は、グランドが割り当てられた二つの端子Ｐ１０１，Ｐ１０４の間に位置し、これら二つの端子Ｐ１０１，Ｐ１０４に挟まれる。送信差動信号ＰＥＴｐ０，ＰＥＴｎ０が割り当てられた一対の端子Ｐ１０５，Ｐ１０６は、グランドが割り当てられた二つの端子Ｐ１０４，Ｐ１０７の間に位置し、これら二つの端子Ｐ１０４，Ｐ１０７に挟まれる。
【００４５】
受信差動信号ＰＥＲｐ１，ＰＥＲｎ１が割り当てられた一対の端子Ｐ１０８，Ｐ１０９は、グランドが割り当てられた二つの端子Ｐ１０７，Ｐ１１０の間に位置し、これら二つの端子Ｐ１０７，Ｐ１１０に挟まれる。送信差動信号ＰＥＴｐ１，ＰＥＴｎ１が割り当てられた一対の端子Ｐ１１１，Ｐ１１２は、グランドが割り当てられた二つの端子Ｐ１１０，Ｐ１１３の間に位置し、これら二つの端子Ｐ１１０，Ｐ１１３に挟まれる。
【００４６】
受信差動信号ＰＥＲｐ２，ＰＥＲｎ２が割り当てられた一対の端子Ｐ１１５，Ｐ１１６は、グランドが割り当てられた二つの端子Ｐ１１４，Ｐ１１７の間に位置し、これら二つの端子Ｐ１１４，Ｐ１１７に挟まれる。送信差動信号ＰＥＴｐ２，ＰＥＴｎ２が割り当てられた一対の端子Ｐ１１８，Ｐ１１９は、グランドが割り当てられた二つの端子Ｐ１１７，Ｐ１２０の間に位置し、これら二つの端子Ｐ１１７，Ｐ１２０に挟まれる。
【００４７】
受信差動信号ＰＥＲｐ３，ＰＥＲｎ３が割り当てられた一対の端子Ｐ１２１，Ｐ１２２は、グランドが割り当てられた二つの端子Ｐ１２０，Ｐ１２３の間に位置し、これら二つの端子Ｐ１２０，Ｐ１２３に囲まれる。送信差動信号ＰＥＴｐ３，ＰＥＴｎ３が割り当てられた一対の端子Ｐ１２４，Ｐ１２５は、グランドが割り当てられた二つの端子Ｐ１２３，Ｐ１２６の間に位置し、これら二つの端子Ｐ１２３，Ｐ１２６に挟まれる。
【００４８】
ＰＣＩｅでは、一組の送信差動信号ＰＥＴｐ０，ＰＥＴｎ０及び受信差動信号ＰＥＲｐ０，ＰＥＲｎ０で１レーンを構成することができる。また、ＰＣＩｅでは、一組の送信差動信号ＰＥＴｐ１，ＰＥＴｎ１及び受信差動信号ＰＥＲｐ１，ＰＥＲｎ１でさらに１レーンを構成することができる。同様に、一組の送信差動信号ＰＥＴｐ２，ＰＥＴｎ２及び受信差動信号ＰＥＲｐ２，ＰＥＲｎ２でさらに１レーンを構成することができ、一組の送信差動信号ＰＥＴｐ３，ＰＥＴｎ３及び受信差動信号ＰＥＲｐ３，ＰＥＲｎ３でさらに１レーンを構成することができる。
【００４９】
第１の実施形態では、列Ｒ１１を形成する複数の端子Ｐに２レーンが割り当てられ、列Ｒ１２を形成する複数の端子Ｐに２レーンが割り当てられる。
【００５０】
ＰＣＩｅの差動信号以外の制御信号は、列Ｒ２１の複数の端子Ｐに割り当てられる。列Ｒ２１において、端子Ｐ１２７，Ｐ１３０にＧＮＤが割り当てられ、端子Ｐ１２８，Ｐ１２９にレファレンス差動クロック信号ＲＥＦＣＬＫｐ，ＲＥＦＣＬＫｎが割り当てられ、端子Ｐ１３１，Ｐ１３２に第２の電源（パワーレール）ＰＷＲ２が割り当てられ、端子Ｐ１３３にリセット信号ＰＥＲＳＴ＃が割り当てられ、端子Ｐ１３４に第１の電源（パワーレール）ＰＷＲ１が割り当てられ、端子Ｐ１３５にクロック制御信号ＣＬＫＲＥＱ＃が割り当てられ、端子Ｐ１３６，Ｐ１３９に制御信号ＣＮＴＡ，ＣＮＴＢが割り当てられ、端子Ｐ１３７，Ｐ１３８に第３の電源（パワーレール）ＰＷＲ３が割り当てられる。
【００５１】
電源端子として複数の端子Ｐが設けられることにより、電流が分散し、一つの端子当たりに流れる電流が小さくなり、ホスト機器の電源回路から電源端子までの間に存在する抵抗成分によるドロップ電圧を小さくすることができる。
【００５２】
ＰＣＩｅレファレンス差動クロック信号ＲＥＦＣＬＫｐ／ｎは、差動クロック信号を構成する。ホスト機器から端子Ｐ１２８，Ｐ１２９に周波数がＭＨｚ帯のクロック信号を伝送することにより、ストレージデバイス１０は、高精度なクロック発振器の実装が不要となり、当該ストレージデバイス１０が装着されたホスト機器との同期を容易化することができる。また、端子Ｐ１２８，Ｐ１２９が伝送に用いられるクロック信号の周波数を低くし正弦波に近い波形にすることでＥＭＩの発生を低くできる。ＳＳＣ（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｃｌｏｃｋｉｎｇ）と呼ばれるクロックに揺らぎを付けてスペクトルを分散しＥＭＩを下げる方法も採用することができる。ストレージデバイス１０は、受信したクロックをＰＬＬ回路で逓倍することで、端子Ｐ１０２，Ｐ１０３，Ｐ１０５，Ｐ１０６，Ｐ１０８，Ｐ１０９，Ｐ１１１，Ｐ１１２，Ｐ１１５，Ｐ１１６，Ｐ１１８，Ｐ１１９，Ｐ１２１，Ｐ１２２，Ｐ１２４，Ｐ１２５が伝送に用いられる差動信号の高い周波数を生成する。
【００５３】
リセット信号ＰＥＲＳＴ＃は、ＰＣＩｅ規格に準拠して通信するストレージデバイス１０をホスト機器が起動及びリセットするために用いられる。クロック制御信号ＣＬＫＲＥＱ＃は、レファレンス差動クロックの供給をホスト機器に要求する制御信号である。この信号は、ストレージデバイス１０に電源が投入された後は一旦Ｈｉｇｈレベル（オープンドレインのためプルアップでＨｉｇｈとなる）に設定されるが、ストレージデバイス１０の内部の電源電圧が安定しストレージデバイス１０がクロックを受信可能になった段階でＬｏｗレベルにドライブされる。ホスト機器はＣＬＫＲＥＱ＃がＬｏｗレベルになったことを検出するとレファレンスクロックの供給を開始する。またホスト機器はこの信号を、ストレージデバイス１０のパワーセービングモードへの遷移とパワーセービングモードから復帰を制御する信号として用いることができる。ストレージデバイス１０は、ＮＡＮＤ型フラッシュメモリ１３へのコントローラ１４によるアクセスであるメモリアクセスを行っていないアイドル状態にあるとき、パワーセービングモードに入ることでＰＨＹの消費電力を下げることができる。パワーセービングモードで、ホスト機器はＰＣＩｅレファレンス差動クロック信号ＲＥＦＣＬＫｐ／ｎを停止させることができ、またストレージデバイス１０はＰＨＹのコモン電源を切ることができるモードも有し、大幅に消費電力を低減することができる。
【００５４】
リセット信号ＰＥＲＳＴ＃及びクロック制御信号ＣＬＫＲＥＱ＃は、シングルエンド信号であり、ＰＣＩｅのサイドバンド信号として定義されている。
【００５５】
ホスト機器は、端子Ｐ１３４に、第１の電源としての電源電圧ＰＷＲ１を供給することができる。電源電圧ＰＷＲ１は、第１の実施形態において、３．３Ｖに設定される。ホスト機器は、端子Ｐ１３１，Ｐ１３２に、第２の電源としての電源電圧ＰＷＲ２を供給することができる。電源電圧ＰＷＲ２は、第１の実施形態において、１．８Ｖに設定される。ホスト機器は、端子Ｐ１３７、Ｐ１３８に、第３の電源としての電源電圧ＰＷＲ３を供給することができる。電源電圧ＰＷＲ３は、第１の実施形態において、１．２Ｖに設定される。
【００５６】
ストレージデバイス１０は、ホスト機器内のコネクタに装着される。このコネクタはカード形状のストレージデバイス１０をホスト機器のシステム基板に接続するためのカードコネクタであり、例えば、このコネクタは、プッシュプッシュタイプのコネクタであってもよいし、プッシュプルタイプのコネクタであってもよいし、ヒンジタイプのコネクタであってもよい。
【００５７】
ストレージデバイス１０がホスト機器内のコネクタに挿入されると、図２に示すように、コネクタのリードフレーム１０１，１０２，１０３が、列Ｒ１１，Ｒ１２及び列Ｒ２１を形成する複数の端子Ｐのそれぞれに接触する。
【００５８】
リードフレーム１０１，１０２，１０３が端子Ｐに接触すると、ホスト機器のシステム基板上に配置されたコントローラ（以下、ホストコントローラと称する）と、ストレージデバイス１０のコントローラ１４とが電気的に接続される。ホスト機器とストレージデバイス１０とを相互接続するためのインターフェースとしては、ＮＶＭ  Ｅｘｐｒｅｓｓ（ＮＶＭｅ）（登録商標）を使用し得る。この場合、ストレージデバイス１０は、ホスト機器とＮＶＭｅ規格に準拠して接続される。
【００５９】
図５は、ストレージデバイス１０の構成例を示す。  
ストレージデバイス１０においては、プリント回路基板１２上に、ＮＡＮＤ型フラッシュメモリ１３とコントローラ１４とが配置される。ＮＡＮＤ型フラッシュメモリ１３は、積層された複数のＮＡＮＤ型フラッシュメモリチップを含んでいてもよい。通常、これらＮＡＮＤ型フラッシュメモリチップはインターリーブ動作によって交互に動作する。コントローラ１４はＳｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ（ＳｏＣ）のようなＬＳＩである。
【００６０】
ストレージデバイス１０はカード形状を有するパッケージ（メモリパッケージ）として実現されており、ＮＡＮＤ型フラッシュメモリ１３とコントローラ１４は、ストレージデバイス１０のボディ（筐体１１）を形成するように成形されたモールド樹脂４０によって覆われ且つ封止されている。
【００６１】
コントローラ１４は温度センサ１１１を含む。温度センサ１１１は、例えば、コントローラ１４に内蔵されたサーミスタとＡ／Ｄコンバータとから構成されてもよい。温度センサ１１１は、コントローラ１４の温度（ジャンクション温度とも称される）を検知することができる。
【００６２】
ＮＡＮＤ型フラッシュメモリチップはインターリーブ動作によって交互に動作するのに対し、コントローラ１４は常時動作し続ける。このため、コントローラ１４の温度は、ＮＡＮＤ型フラッシュメモリ１３の温度よりも高くなる傾向がある。
【００６３】
温度センサ１１１はコントローラ１４内に設けられているので、温度センサ１１１は最も高温となるコントローラ１４内の温度を検知することができる。
【００６４】
ストレージデバイス１０は、消費電力および性能が互いに異なる複数のパワーステートから選択される任意のパワーステートで動作することができる。例えば、ストレージデバイス１０は、パワーステート０、パワーステート１、パワーステート２を有していてもよい。パワーステート０は、パワーステート１よりも消費電力が大きい。また、パワーステート１は、パワーステート２よりも消費電力が大きい。消費電力が大きいほどストレージデバイス１０の性能は高くなる。
【００６５】
第１の実施形態のストレージデバイス１０はカード形状の高速デバイスであるので、その発熱量は比較的大きい。発熱量の大きいストレージデバイス１０を使用する場合、このストレージデバイス１０の熱を逃がすためにホスト機器は放熱機構を実装することが必要となる。
【００６６】
ストレージデバイス１０が最大性能で動作している時にストレージデバイス１０の発熱量は最大となるので、ストレージデバイス１０の筐体１１の表面温度も最大となる。
【００６７】
一般に、ホスト機器においては、ホスト機器の筐体の表面温度をある閾値温度以下に抑えることが必要とされる。このため、ストレージデバイス１０が最大性能で動作している時にホスト機器の筐体の表面温度が閾値温度を超えないようにホスト機器の放熱機構を設計することが必要となる。
【００６８】
コネクタ（カードコネクタ）に温度センサを設置すれば、ストレージデバイス１０の表面温度を測定可能である。しかし、コネクタに温度センサを実装することは容易ではなく、また製品のコスト増ともなる。
【００６９】
このため、ホスト機器の放熱機構の設計においては、ホスト機器は、このホスト機器に装着されたストレージデバイス１０が最大性能で動作するようにストレージデバイス１０を連続的にリード／ライトアクセスしながら、ストレージデバイス１０からその温度を示す情報を定期的に取得してストレージデバイス１０の温度の変化を観測してもよい。この場合、通常は、ストレージデバイス１０からホスト機器に報告される温度は、温度センサ１１１によって検知されるコントローラ１４の温度である。
【００７０】
しかし、コントローラ１４の温度は、ホスト機器の放熱機構を最適化するための情報としては十分ではない。また、ホスト機器側では、コントローラ１４の温度から、ストレージデバイス１０の表面温度を推定するのは難しい。
【００７１】
ストレージデバイス１０は、自身の高温による破壊や寿命の低下を防ぐために、「サーマルスロットリング」と呼ばれる、メモリアクセス頻度を落とすことにより、温度上昇を防ぐ機能を実装している。この温度はストレージデバイス１０の最大表面温度であり、ストレージデバイス１０固有の仕様として提供される。ストレージデバイス１０が発熱してこの最大表面温度に近づくと、メモリアクセス性能を低下させて発熱量を少なくすることで、ストレージデバイス１０自体が最大表面温度を超えないように制御する。ストレージデバイス１０を最大性能で使う場合は、ホストは最大表面温度を超えないようにストレージデバイス１０の熱を外部に逃す必要がある。
【００７２】
また、これに対し多くのホスト機器は、ＮＶＭ  Ｅｘｐｒｅｓｓ  Ｖｅｒｓｉｏｎ１．３の「ｈｏｓｔ  ｃｏｎｒｏｌｌｅｄ  ｔｈｅｒｍａｌ  ｍａｎｅｇｅｍｅｎｔ」と称される機能を使用することができる。すなわち、ホスト機器は、ストレージデバイス１０の性能に対する影響を最小限に維持しつつストレージデバイス１０の温度を低下させるための軽めスロットリング（ｌｉｇｈｔ  ｔｈｒｏｔｔｌｉｎｇ）をストレージデバイス１０が開始する時のサーマルマネージメント温度ＴＭＴ１と、ストレージデバイス１０の性能に対する影響とは関係なくストレージデバイス１０の温度を低下させるための重いスロットリング（ｈｅａｖｙ  ｔｈｒｏｔｔｌｉｎｇ）をストレージデバイス１０が開始する時のサーマルマネージメント温度ＴＭＴ２の２つの温度しきい値をストレージデバイス１０に指定できる。２段階に分けて除々にストレージデバイス１０の性能を落とすことで突然の大幅な性能低下を防ぐことができ、熱的な平衡状態が作り易くなり安定に動作させることができる。一般的に温度制御を開始してから遅れてストレージデバイス１０の温度が変り始めるため、動的な制御でストレージデバイス１０の温度を安定化させるのは難しい。ＴＭＴ１とＴＭＴ２は、ストレージデバイス１０の内部温度（ジャンクション温度）で指定する。またＴＭＴ１とＴＭＴ２は、ストレージデバイス１０自身の高温による破壊や寿命の低下を防ぐためのサーマルスロットリングが開始される温度より低い温度に設定される。この温度閾値を決定するために、ホスト機器は、温度を取得するための要求を、ホスト機器に収容されているストレージデバイス１０に送出し、これによってストレージデバイス１０の内部温度を取得する。ストレージデバイス１０の温度がサーマルマネージメント温度ＴＭＴ１またはＴＭＴ２を超えた場合、ストレージデバイス１０は消費電力が少ないパワーステートに遷移させるなどの対応を取ることができる。
【００７３】
ストレージデバイス１０は、ホスト機器からの要求に応じて、温度センサ１１１によって検知されるコントローラ１４の温度自体をホスト機器に報告してもよい。
【００７４】
しかし、ホスト機器の筐体の表面温度に影響を与えるのはストレージデバイス１０の筐体１１の表面温度、特に筐体１１の上面（第２の面２２）上の表面温度（ケース表面温度、またはケース温度ともいう）と筐体１１の下面（第１の面２１）下の表面温度（ケース表面温度、またはケース温度ともいう）である。
【００７５】
通常、温度センサ１１１によって検知されるコントローラ１４の温度は、第２の面２２上の表面温度よりも高い。これは、ストレージデバイス１０のコントローラ１４の熱がホスト機器の放熱機構側に抜けるからである。熱が内から外に流れることにより内部が高温で外部が低温となる温度勾配が発生する。温度勾配の大きさは筐体などの材料の熱の伝え易さに依存する。
【００７６】
したがって、温度センサ１１１によって検知されるコントローラ１４の温度そのものをホスト機器に報告するという構成が用いられた場合には、例えば、第２の面２２上の表面温度がサーマルマネージメント温度よりも実際には低いにもかかわらず、ストレージデバイス１０を低電力のパワーステートに遷移させるサーマルマネージメント（サーマルスロットリング）がホスト機器によって開始されてしまう場合がある。この場合、ストレージデバイス１０の性能の低下、ひいてはストレージデバイス１０とホスト機器とを含むシステム全体の性能の低下が引き起こされる可能性がある。
【００７７】
このように、コントローラ１４の温度は、ホスト機器の放熱機構を最適化するための情報としては十分ではなく、またコントローラ１４の温度を使用したサーマルマネージメントはストレージデバイス１０の性能を必要以上に下げてしまう要因にもなる。
【００７８】
温度センサを第２の面２２近傍に配置するという構成を使用することも考えられる。しかし、この構成は、ＮＡＮＤ型フラッシュメモリ１３およびコントローラ１４に加え、これらＮＡＮＤ型フラッシュメモリ１３およびコントローラ１４とは別個の部品である温度センサをストレージデバイス１０内に搭載することが必要となる。このため、この構成は、カード形状のメモリパッケージとして実現されているストレージデバイス１０への適用には不向きである。
【００７９】
そこで、第１の実施形態では、温度を取得するための要求をホスト機器から受信した場合、コントローラ１４は、このコントローラ１４から筐体１１の外側に抜ける熱に関する熱抵抗モデルに基づいて、コントローラ１４の温度（つまり、温度センサ１１１によって検知される温度）から第２の面２２上の表面温度を算出する。そして、コントローラ１４は、第２の面２２上の表面温度をホスト機器に送出する。
【００８０】
この場合、第２の面２２上の表面温度としては、コントローラ１４の上部に位置する、第２の面２２上の位置の表面温度（図５のＴｃ）を取得することができる。上述したように、コントローラ１４の温度は、ＮＡＮＤ型フラッシュメモリ１３の温度よりも高くなる傾向がある。このため、コントローラ１４の上部（例えば真上）に位置する第２の面２２上の位置の表面温度は、ＮＡＮＤ型フラッシュメモリ１３の上部（例えば真上）に位置する第２の面２２上の位置の表面温度よりも高くなる傾向がある。
【００８１】
したがって、第１の実施形態では、コントローラ１４は、このコントローラ１４の温度から、コントローラ１４の上部に位置する、第２の面２２上の位置の表面温度（図５のＴｃ）を算出し、このＴｃをホスト機器に報告する。これにより、第２の面２２上の最も高い温度をホスト機器に報告することが可能となる。
【００８２】
図６は、ストレージデバイス１０がホスト機器内のコネクタに装着された状態の例を示す。  
上述したように、コネクタのタイプは限定されないが、ここでは、ヒンジタイプのコネクタ２００を一例として説明する。このコネクタ２００はストレージデバイス１０をホスト機器内のシステム基板に接続するために用いられる。限定されないが、コネクタ２００は、ベース部２０１、配線基板２０２、およびコネクタカバー２０３を含んでいてもよい。
【００８３】
コネクタカバー２０３は、例えば、配線基板２０２上が露出される開放位置と配線基板２０２がコネクタカバー２０３で覆われる閉塞位置との間を、ヒンジ部として機能する軸Ａを支点に回動するようにベース部２０１に取り付けられていてもよい。コネクタカバー２０３が開放位置に起こされた状態で、ストレージデバイス１０がコネクタカバー２０３に挿入される。そしてコネクタカバー２０３が閉塞位置に閉じられると、図６に示すように、ストレージデバイス１０は配線基板２０２とコネクタカバー２０３とによって挟まれた状態となる。ストレージデバイス１０の第１の面２１に配置されている複数の端子Ｐが配線基板２０２上のリードフレーム１０１，１０２，１０３とそれぞれ接続される。
【００８４】
コネクタカバー２０３の内面には、熱伝導材料（ｔｈｅｒｍａｌ  ｉｎｔｅｒｆａｃｅ  ｍａｔｅｌｉａｌ：ＴＩＭ）３０１が配置されていてもよい。この場合、ストレージデバイス１０の第２の面２２はＴＩＭ３０１に密着した状態となる。
【００８５】
なお、図７に示すように、ＴＩＭ３０１が設けられていないコネクタ２００’が使用される場合もある。
【００８６】
また、ここでは、ヒンジタイプのコネクタ２００、コネクタ２００’を例示して説明したが、プッシュプッシュタイプのコネクタまたはプッシュプルタイプのコネクタが使用されてもよい。
【００８７】
図８は、ストレージデバイス１０の第２の面２２上の表面温度を算出するために使用される熱抵抗モデルを示す。
【００８８】
ストレージデバイス１０の上面（第２の面２２）の表面温度Ｔｃは、コントローラ１４（図８の発熱源３００）から第１の面２１側に抜ける熱に関する熱抵抗θｊｂ’と、コントローラ１４から第２の面２２側に抜ける熱に関する熱抵抗θｊｃ’とを含む２熱抵抗モデルに基づいて算出することができる。
【００８９】
第１の実施形態では、温度Ｔｃ１は、例えば、コントローラ１４の上方に位置する第２の面２２上の位置の温度である。温度Ｔｃ２は、例えば、コントローラ１４の下方に位置する第１の面２１上の位置の温度である。この場合、熱抵抗θｊｂ’、熱抵抗θｊｃ’は、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎの比（パワー比）の一次関数によってそれぞれ表すことができる。ここで、パワー比は、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎとの和（Ｐｃ＋Ｐｎ）に対するコントローラ１４の消費電力Ｐｃの割合を示す。したがって、コントローラ１４とＮＡＮＤ型フラッシュメモリ１３のパワー比ｒは、以下のように表される。  
ｒ＝Ｐｃ／（Ｐｃ＋Ｐｎ）
熱抵抗θｊｂ’は、パワー比ｒの一次関数（第１の一次関数とも称する）によって近似することができる。したがって、熱抵抗θｊｂ’は、以下のように表される。  
θｊｂ’＝（ａ×ｒ＋ｂ）［℃／Ｗ］  
ここで、ａ、ｂは、ストレージデバイス１０の構造、材料、特に第１の面２１側近傍の構造、材料等に基づいて求められる定数である。
【００９０】
熱抵抗θｊｃ’も、パワー比ｒの一次関数（第２の一次関数とも称する）によって近似することができる。したがって、熱抵抗θｊｃ’は、以下のように表される。  
θｊｃ’＝（ｃ×ｒ＋ｄ）［℃／Ｗ］  
ここで、ｃ、ｄは、ストレージデバイス１０の構造、材料、特に第２の面２２側近傍の構造、材料等に基づいて求められる定数である。
【００９１】
本来は、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎが外部に流れるルートは別々に考慮すべきであるが、そうすると熱計算が複雑化してしまう問題がある。計算を簡略化するために、図８に示すように、上下ひとつずつの熱抵抗θｊｂ’、熱抵抗θｊｃ’に統合したモデルにしている。したがってこの熱抵抗に流れる電力はＰｃとＰｎを合わせたデバイスの総電力となる。熱抵抗θｊｂ’、熱抵抗θｊｃ’は固定値ではなく、パワー比ｒによって可変する熱抵抗モデルである。
【００９２】
また、パワー比ｒを定義することでＮＡＮＤ型フラッシュメモリ１３の温度センサを不要にしている。コントローラ１４の内部温度Ｔｊが測定可能な温度であるが、Ｔｊとコントローラ１４の消費電力Ｐｃとは相関関係があるため、Ｔｊとそのときのパワーステートやメモリアクセス状況を考慮することでＰｃは予測可能であり、そのときのパワー比ｒを使ってＰｎも予測可能となる。そのため総消費電力Ｐｔをひとつの温度センサで予測することができる。パワー比ｒも、メモリアクセス状況やカードの動作状態から予測することができる。
【００９３】
図６と図７に示すように、上面および下面の両方から放熱する場合を想定する。
【００９４】
コントローラ１４（発熱源３００）からの熱は、第１の面２１を介してコネクタ２００の配線基板２０２に抜けるだけでなく、第２の面２２を介してコネクタカバー２０３にも抜ける。図６と図７の違いはＴＩＭ３０１の有無であるが、ＴＩＭがあると熱伝導率が改善されるため、上側から放熱される比率は図６の方が図７より高くなる。つまりカード（ストレージデバイス１０）から発生する総消費電力Ｐｔが上側放熱される比率と下側放熱される比率に違いがある。これはホストが実装する放熱機構によって決まるパラメータであり、上側放熱される電力の比率を放熱分配比ｈと呼ぶことにする。上側に分配される電力Ｐ１と下側に分配される電力Ｐ２は、次のように表される。  
Ｐ１＝ｈ×Ｐｔ  
Ｐ２＝（１−ｈ）×Ｐｔ
図８において、上面表面温度Ｔｃ１と下面表面温度Ｔｃ２は、以下のように表される。  
Ｔｃ１＝Ｔｊ−Ｔｃ’  
Ｔｃ２＝Ｔｊ−Ｔｂ’  
Ｔｊはコントローラ１４の温度（ジャンクション温度）、Ｔｂ’は熱抵抗θｊｂ’に流れる電力成分Ｐ２により熱抵抗θｊｂ’の両端に発生する温度差、Ｔｃ’は熱抵抗θｊｃ’に流れる電力成分Ｐ１により熱抵抗θｊｃ’の両端に発生する温度差である。
【００９５】
Ｔｂ’、Ｔｃ’は、以下のように表される。  
Ｔｂ’＝θｊｂ’×Ｐｔ  
Ｔｃ’＝θｊｃ’×Ｐｔ  
ここで、Ｐｔはストレージデバイス１０全体の総消費電力である。すなわち、Ｔｂ’は総消費電力すべてが下側に流れた場合の温度差を示し、Ｔｃ’は総消費電力すべてが上側に流れた場合の温度差を示す。両極端の場合の温度差を示している。
【００９６】
実際には、ホスト機器の放熱機構によって上側と下側のバランスが異なるため、ある配分で電力が上側に分配される。前記放熱分配比ｈは、Ｐｔ、Ｐ１、Ｐ２と次のような関係がある。  
ｈ  ＝  Ｐ１／（Ｐ１＋Ｐ２）＝ Ｐ１／Ｐｔ  
ホスト機器は、Ｔｊ、Ｔｂ’とＴｃ’をストレージデバイス１０から取得することにより、次の計算式で上側表面温度ＴＣ１と下側表面温度ＴＣ２が計算できる。  
Ｔｃ１＝Ｔｊ −ｈ×Ｔｃ’  
Ｔｃ２＝ Ｔｊ− （１−ｈ）×Ｔｂ’
このように、ホスト機器は、ストレージデバイス１０の消費電力を下面（第１の面）２１に分配する第１分配比（＝１−ｈ）とＴｂ’との積をＴｊから引くことによって得られる第１の面２１の温度と、ストレージデバイス１０の消費電力を上面（第２の面）２２に分配する第２分配比（＝ｈ）とＴｃ’との積をＴｊから引くことによって得られる第２の面２２の温度とを計算する。
【００９７】
ストレージデバイス１０が複数のパワーステートを有し、パワーステート毎に総消費電力の値が予め測定されて分かっている場合、ストレージデバイス１０の現在のパワーステートに対応する総消費電力がストレージデバイス１０全体の総消費電力Ｐｔとして使用されてもよい。総消費電力Ｐｔは、単に「ストレージデバイス１０の消費電力」とも称する。また、コントローラ１４の消費電力およびＮＡＮＤ型フラッシュメモリ１３の消費電力もパワーステート毎に予め測定されていてもよい。この場合、基本的には、ストレージデバイス１０の現在のパワーステートに対応するコントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力とによって定められるパワー比がパワー比ｒとして使用されてもよい。なお、パワー比ｒ自体が予め算出されていてもよい。
【００９８】
このように、第１の実施形態では、コントローラ１４の温度Ｔｊと、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎとの和に対するコントローラ１４の消費電力Ｐｃの割合を示すパワー比ｒの一次関数によって表される熱抵抗θ（熱抵抗θは、熱抵抗θｊｂ’のみ、または熱抵抗θｊｂ’と熱抵抗θｊｃ’の双方）と、ストレージデバイス１０全体の総消費電力Ｐｔとに基づいて、温度差Ｔｃ’とＴｂ’が算出される。ホストは、温度Ｔｊと温度差Ｔｃ’とＴｂ’と放熱分配比ｈから上側表面温度Ｔｃ１と下側表面温度Ｔｃ２を計算することができる。
【００９９】
ストレージデバイス１０は、温度Ｔｊと温度差Ｔｃ’とＴｂ’の値を読み出す機能を有し、ホスト機器が使用できるようにする。
【０１００】
上述したように、温度差Ｔｂ’は、（１）ストレージデバイス１０全体の総消費電力Ｐｔと、（２）コントローラ１４から第１の面２１側に抜ける電力の熱抵抗θｊｂ’との積で表され、熱抵抗θｊｂ’（＝ａ×ｒ＋ｂ）は、パワー比ｒの第１の一次関数によって表される。同様に温度差Ｔｃ’は、（３）ストレージデバイス１０全体の総消費電力Ｐｔと、（４）コントローラ１４から第２の面２２側に抜ける電力の熱抵抗θｊｃ’との積で表され、熱抵抗θｊｃ’（＝ｃ×ｒ＋ｄ）は、パワー比ｒの第２の一次関数によって表される。
【０１０１】
ホスト機器の放熱機構の設計者は、ホスト機器に搭載されたコネクタカバー２０３にＴＩＭ３０１のような放熱材が貼り付けられているか否かを知っているので、ホスト機器の放熱機構の構造に適した上側放熱として分配される放熱分配比ｈを用いて表面温度Ｔｃ１とＴｃ２を計算することができる。
【０１０２】
したがって、Ｔｊ、Ｔｃ’およびＴｂ’をホスト機器に報告することにより、ＴＩＭ付きのコネクタまたはＴＩＭ無しのコネクタのどちらがホスト機器に採用されている場合であっても、ホスト機器の放熱機構の設計に有用な表面温度の情報をホスト機器に提供することが可能となる。ホストの放熱機構によって決まる放熱分配比ｈを算出することにより、ホストは任意の放熱分配比ｈに対して上側表面温度と下側表面温度を求めることができる。
【０１０３】
図９は、温度情報出力処理の手順を示す。  
ストレージデバイス１０は、Ｓ．Ｍ．Ａ．Ｒ．Ｔ．（Ｓｅｌｆ−ＭｏｎｉｔｏｒｉｎｇＡｎａｌｙｓｉｓ ａｎｄ Ｒｅｐｏｒｔｉｎｇ Ｔｅｃｈｎｏｌｏｇｙ）情報を報告する機能を有している。ＮＶＭ  Ｅｘｐｒｅｓｓ（ＮＶＭｅ）（登録商標）仕様においては、「ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ」が規定されている。Ｔｃ’およびＴｂ’は、「ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ」に含まれる様々なステータスの一部としてホスト機器に報告される。
【０１０４】
（１）ホスト機器は、「ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ」を取得するためのコマンド（Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ）をストレージデバイス１０に送出する。  
（２）コントローラ１４は、温度センサ１１１によって検知された温度を取得するための命令（Ｇｅｔ  Ｔｅｍｐｅｒａｔｕｒｅ）を実行する。
【０１０５】
（３）コントローラ１４は、温度センサ１１１によって検知された温度を、コントローラ１４の温度Ｔｊ（ジャンクション温度）として取得する。  
（４）コントローラ１４は、上述の２熱抵抗モデルに基づいて、Ｔｃ’，Ｔｂ’を算出する。  
（５）ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎはリザーブ領域を含む。コントローラ１４は、Ｔｃ’，Ｔｂ’をＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎのリザーブ領域に設定し、Ｔｃ’，Ｔｂ’がリザーブ領域に設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出する。
【０１０６】
なお、コントローラ１４は、このコントローラ１４の温度Ｔｊ（ジャンクション温度）を常にポーリングによって監視してもよく、コマンド（Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ）を受信した場合に、現在の総消費電力ＰｔからＴｃ’，Ｔｂ’を算出してもよい。
【０１０７】
ｈｏｓｔ  ｃｏｎｒｏｌｌｅｄ  ｔｈｅｒｍａｌ  ｍａｎｅｇｅｍｅｎｔで設定した２つの温度閾値は、下記のフィールドから読み出すことができる。  
227:224 Total Time For Thermal Management Temperature 1 （ＴＭＴ１）  
231:228 Total Time For Thermal Management Temperature 2 （ＴＭＴ２）
また、ストレージデバイス１０が動作中に上記温度を超えた回数が下記フィールドに表示される。  
219:216 Thermal Management Temperature 1 Transition Count  
223:220 Thermal Management Temperature 2 Transition Count
ホストはこの回数値によってコントローラ１４の内部温度Ｔｊが閾値温度ＴＭＴ２を超えた回数が分かるので、この回数変化によりストレージデバイス１０をもっと冷却すべきかどうかが判定できる。
【０１０８】
図１０は、ストレージデバイス１０の構成例を概略的に示すブロック図である。  
コントローラ１４は、インターフェース回路（Ｉ／Ｆ）５１と、物理層及びメモリコントローラ５２と、二つのレギュレータ５３，５４と、電源チェック回路５５と、ＣＰＵ５６と、温度センサ１１１とを含む。
【０１０９】
インターフェース回路（Ｉ／Ｆ）５１は、ＰＥＲＳＴ＃、ＣＬＫＲＥＱ＃、ＣＮＴＡ、ＣＮＴＢのようなシングルエンド信号を送受信することができる。物理層及びメモリコントローラ５２は、レシーバ及びトランスミッタを含む。レシーバは、受信差動信号ＰＥＲｐ０，ＰＥＲｎ０，ＰＥＲｐ１，ＰＥＲｎ１，ＰＥＲｐ２，ＰＥＲｎ２，ＰＥＲｐ３，ＰＥＲｎ３を受信する回路を含む。トランスミッタは、データを送信差動信号ＰＥＴｐ０，ＰＥＴｎ０，ＰＥＴｐ１，ＰＥＴｎ１，ＰＥＴｐ２，ＰＥＴｎ２，ＰＥＴｐ３，ＰＥＴｎ３として送信する回路等を含む。  物理層及びメモリコントローラ５２は、また、シリアル／パラレル変換、パラレル／シリアル変換、及びデータのシンボル化などを行うことができる。当該シンボル化は、データの０又は１が連続する時に、８ｂ１０ｂや１２８ｂ／１３０ｂなどのコードの中から、０又は１が連続しないシンボルに置き換えることで、同じ値の連続回数を所定値以下に抑える処理である。このシンボル化により、データ伝送時の電圧レベルの偏りを抑えることができる。また、同一シンボルパターンを繰り返し転送すると、特定の周波数の高周波が大きくなってしまうが、繰り替えしパターンにならないようにパターンが異なる複数のシンボルに切り替えることで、特定の周波数の高調波が大きくならないようにすることができる。つまり、ＥＭＩの発生を抑えることができる。
【０１１０】
ＰＣＩｅのトランザクション層では、データをパケット化して送受信したり、メッセージ送受信したりすることができる。ＰＣＩｅのデータリンク層では、トランザクション層から受けとったパケットにシーケンス番号を付加したり、ＣＲＣ符号を付加したりすることができる。シーケンス番号は、パケットの送達確認などに用いることができる。
【０１１１】
ＰＣＩｅは複数レーンで構成可能であるが、ホスト機器とストレージデバイス１０とを接続した各レーンは、独立して初期化される。初期化が完了し通信が可能なレーンのみが使用される。第１の実施形態の場合、最大４レーンが使用されるが、１レーン又は２レーンのみが使用されても良い。
１レーン：ＰＥＲｐ０，ＰＥＲｎ０，ＰＥＴｐ０，ＰＥＴｎ０、又は、  
ＰＥＲｐ１，ＰＥＲｎ１，ＰＥＴｐ１，ＰＥＴｎ１  
２レーン：ＰＥＲｐ０，ＰＥＲｎ０，ＰＥＴｐ０，ＰＥＴｎ０，  
ＰＥＲｐ１，ＰＥＲｎ１，ＰＥＴｐ１，ＰＥＴｎ１  
４レーン：ＰＥＲｐ０，ＰＥＲｎ０，ＰＥＴｐ０，ＰＥＴｎ０，  
ＰＥＲｐ１，ＰＥＲｎ１，ＰＥＴｐ１，ＰＥＴｎ１，  
ＰＥＲｐ２，ＰＥＲｎ２，ＰＥＴｐ２，ＰＥＴｎ２，  
ＰＥＲｐ３，ＰＥＲｎ３，ＰＥＴｐ３，ＰＥＴｎ３
電源電圧ＰＷＲ１（３．３Ｖ）は、ＮＡＮＤ型フラッシュメモリ１３及びコントローラ１４に供給される。第１の実施形態において、電源電圧ＰＷＲ１は、主としてＮＡＮＤ型フラッシュメモリ１３のリード／ライトのような、ＮＡＮＤ型フラッシュメモリ１３の動作に使用される。電源電圧ＰＷＲ１を昇圧することで、ＮＡＮＤ型フラッシュメモリ１３の書き込み電圧が生成される。また電源電圧ＰＷＲ１は、他の用途に使うこともできる。
【０１１２】
ホスト機器とストレージデバイス１０とが３．３Ｖ信号電圧で接続される場合、Ｉ／Ｏ電源に電源電圧ＰＷＲ１が用いられる。ホスト機器とストレージデバイス１０とが１．８Ｖ信号電圧で接続される場合であっても、電源電圧ＰＷＲ１がＩ／Ｏ電源として用いられても良い。これにより、ストレージデバイス１０が高耐圧化され、入力回路が保護される。ストレージデバイス１０は、例えば、電源電圧ＰＷＲ１が２．５Ｖに設定されると２．５Ｖ耐圧、電源電圧ＰＷＲ１が３．３Ｖに設定されれば３．３Ｖ耐圧とされ得る。
【０１１３】
電源電圧ＰＷＲ２（１．８Ｖ）は、ＮＡＮＤ型フラッシュメモリ１３及びコントローラ１４に供給される。第１の実施形態において、電源電圧ＰＷＲ２は、ロジック回路の電源として用いられる。また、電源電圧ＰＷＲ２は、ＮＡＮＤ型フラッシュメモリ１３とコントローラ１４との間のインターフェース電圧としても用いられる。
【０１１４】
ホスト機器とストレージデバイス１０とが１．８Ｖ信号電圧で接続される場合、Ｉ／Ｏ電源に電源電圧ＰＷＲ２が用いられても良い。この場合、ストレージデバイス１０は、１．８Ｖ耐圧とされ得る。
【０１１５】
電源電圧ＰＷＲ３（１．２Ｖ）は、コントローラ１４に供給される。第１の実施形態において、電源電圧ＰＷＲ３は、差動信号回路の物理層（ＰＨＹ）やアナログ回路の電源として用いられる。
【０１１６】
一般的に、アナログ動作する差動信号回路には、ノイズの少ない電源が用いられ、デジタル電源とは分離される。第１の実施形態において、ホスト機器から供給される電源電圧ＰＷＲ３は、十分安定化されてノイズが少ない電源である。
【０１１７】
以上のように、ストレージデバイス１０では、例えば三つの電源電圧ＰＷＲ１，ＰＷＲ２、ＰＷＲ３が分離されて供給される。すなわち、三つの電源電圧ＰＷＲ１，ＰＷＲ１、ＰＷＲ３が用途によって使い分けられる。この場合、デバイス１０の電源回路は簡単になるが、その代わりホスト側の電源回路が３回路必要になってしまう。なお、電源電圧ＰＷＲ１，ＰＷＲ２、ＰＷＲ３は、上述の例に限定されず、他の態様で使用されても良い。
【０１１８】
例えば、電源電圧ＰＷＲ１のみを供給する１電源方式、ＰＷＲ１とＰＷＲ２を供給する２電源方式などがある。この場合、ストレージデバイス１０内部の電源回路としてダウンコンバータ型のボルテージレギュレータが用いられ、入力電圧より低い電源電圧は高効率で生成することができる。ストレージデバイス１０内部に電源回路は必要となるが、ノイズの少ない安定化した電源を利用でき、ホスト機器の電源回路が簡単になるメリットがある。
【０１１９】
例えば、図１０において、電源電圧ＰＷＲ１またはＰＷＲ２をレギュレータ５３，５４に供給されて、ＰＷＲ１からＰＷＲ１より低い電圧が生成でき、ＰＷＲ２からＰＷＲ２より低い電圧が生成できる。
【０１２０】
電源チェック回路５５には電源電圧ＰＷＲ１，ＰＷＲ２，ＰＷＲ３が入力される。電源チェック回路５５は、電源電圧ＰＷＲ１，ＰＷＲ２，ＰＷＲ３によってストレージデバイス１０が動作可能である場合、ＣＬＫＲＥＱ＃をＬｏｗレベルにする。一方、電源チェック回路５５は、電源電圧ＰＷＲ１，ＰＷＲ２によってストレージデバイス１０が動作可能でない場合（レギュレータ無しの構成）、ＣＬＫＲＥＱ＃を＝Ｈｉｇｈレベルのままとする。
【０１２１】
ＣＰＵ５６はコントローラ１４の各要素を制御するプロセッサであり、図示しないＲＯＭまたはＮＡＮＤ型フラッシュメモリ１３に格納されたプログラム（ファームウェア）を実行することによって様々な処理を実行することができる。たとえば、コマンド（Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ）がホスト機器から受信された場合、ＣＰＵ５６は、温度センサ１１１から温度（ジャンクション温度）を取得する処理、総消費電力ＰｔからＴｃ’，Ｔｂ’を算出する処理、Ｔｃ’，Ｔｂ’を含むＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出してストレージデバイス１０の様々なステータスをホスト機器に報告する処理等を実行する。
【０１２２】
図１１は、ストレージデバイス１０によってホスト機器に報告されるＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す。
【０１２３】
ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎは５１２バイトのサイズを有する。ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの［２：１］のバイト位置に対応するフィールドにおいては、温度センサ１１１によって検知されたコントローラ１４の温度（ジャンクション温度）がＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値としてケルビンで記録される。
【０１２４】
ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの末尾の２８０バイト［５１１：２３２］はリザーブ領域である。このため、Ｔｃ’，Ｔｂ’はこのリザーブ領域に設定される。
【０１２５】
例えば、［３７３：３７２］にＴｃ’が設定され、［３７５：３７４］にＴｂ’が設定されてもよい。この場合、［３７３：３７２］のフィールドにおいてはＴｃ’がケルビンで記録され、［３７５：３７４］のフィールドにおいてはＴｂ’がケルビンで記録される。
【０１２６】
一般的には、このＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅがｈｏｓｔ  ｃｏｎｒｏｌｌｅｄ  ｔｈｅｒｍａｌ  ｍａｎｅｇｅｍｅｎｔのために使用されるが、第１の実施形態では、Ｔｊ，Ｔｃ’，Ｔｂ’がホスト機器に報告されるので、ホスト機器は、ホスト機器の放熱機構の設計、放熱機構の性能評価、等に使用することができる。
【０１２７】
このように、第１の実施形態では、リザーブ領域にＴｃ’，Ｔｂ’が設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをストレージデバイス１０からホスト機器に送出することにより、ホスト機器は、ホスト機器の放熱機構の設計のために、コントローラ１４の温度（ジャンクション温度）ではなく、ストレージデバイス１０の上面（第２の面２２）の表面温度を計算することができる。したがって、ストレージデバイス１０の最大動作温度は、表面温度で規定することが可能となるので、ストレージデバイス１０の最大動作温度の定義に関する標準化が可能となる。ストレージデバイス１０の実装の仕方でその内部温度は変わるので、内部温度で最大動作温度を定義することができないためである。そのためホスト機器がサーマルマネージメントを実行するときは、コントローラ１４の温度（ジャンクション温度）ではなく、ストレージデバイス１０の上面（第２の面２２）の表面温度を使用することで、温度制御の標準化が可能となる。
【０１２８】
この場合、ホスト機器は、ホストの放熱機構によって決まる放熱分配比ｈを算出することにより、ホストは任意の放熱分配比ｈに対して上側表面温度Ｔｃ１と下側表面温度Ｔｃ２を求めることができる。
【０１２９】
ストレージデバイス１０は最大消費電力で動作することで最大性能が得られるため、ホスト機器の放熱機構の設計では、最大消費電力の場合にストレージデバイス１０の表面温度が最大動作表面温度Ｔｃ（ｍａｘ．）を超えないことを確認する必要がある。例えば、ホスト機器は、ストレージデバイス１０を最大消費電力で動作させ、表面温度をバランス状態にするめに、ストレージデバイス１０に対するリード／ライトアクセスを実行しながら、ホスト機器の放熱機構の構造に適したストレージデバイス１０の上面（第２の面２２）の表面温度Ｔｃ１と下面（第１の面２１）の表面温度Ｔｃ２を観察することができる。
【０１３０】
さらに、第１の実施形態では、図１１で説明したように、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎには、コントローラ１４の温度（ジャンクション温度）もＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定されている。
【０１３１】
したがって、例えば、ホスト機器は、ストレージデバイス１０に対するリード／ライトアクセスを実行しながら、ジャンクション温度の推移と、このホスト機器の放熱機構の構造に適したストレージデバイス１０の上面温度差Ｔｃ’と下面温度差Ｔｂ’の推移との双方を観察することもでき、上面表面温度Ｔｃ１と下面表面温度Ｔｃ２を計算することによってホスト機器の放熱機構の性能を容易に評価することができる。
【０１３２】
図１２は、レーン数、スタック数、リード動作におけるコントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力との関係、ライト動作におけるコントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力との関係を示す。総消費電力Ｐｔやコントローラとフラッシュメモリのパワー比ｒは、これらのパラメータ（つまり、レーン数、スタック数、リード動作におけるコントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力との関係、ライト動作におけるコントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力との関係）によって決まり、これらのパラメータを考慮することで、より正確な表面温度計算が可能となる。これらのパラメータは動的に変化するので、総消費電力Ｐｔとパワー比ｒは、ストレージデバイス１０の動作状態によりリアルタイムに変化する。しかしホスト機器は、ある定常的な動作状態を作ることで、ストレージデバイス１０の発熱とホスト機器の放熱がバランスし表面温度を一定にすることができる。動作状態が一定になってから表面温度が一定になるまではある程度の時間差が発生するので、この時間差も考慮する必要がある。
【０１３３】
基本的には、パワー比は、データ転送に使用するＰＣＩｅのレーン数、前記不揮発性メモリのスタック数、ストレージデバイス１０のパワーステートに基づいて計算することができる。
【０１３４】
ストレージデバイス１０に含まれるレーンの数の増加に応じて、ホスト機器とストレージデバイス１０との間のデータ転送レートは増加する。このため、ストレージデバイス１０に含まれるレーンの数の増加に応じて、コントローラ１４の消費電力Ｐｃ［ｍＷ］およびＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎ［ｍＷ］はともに増加する傾向となる。この結果、ストレージデバイス１０全体の総消費電力Ｐｔ［ｍＷ］も増加する。
【０１３５】
ＮＡＮＤ型フラッシュメモリ１３のスタック数は、ＮＡＮＤ型フラッシュメモリ１３に含まれる、積層されたＮＡＮＤ型フラッシュメモリチップの数を示す。ＮＡＮＤ型フラッシュメモリ１３に含まれるＮＡＮＤ型フラッシュメモリチップの数が増えるほど、ＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎは増加する傾向となる。
【０１３６】
ＮＡＮＤ型フラッシュメモリ１３に対するリード動作とライト動作とでは、コントローラ１４の消費電力Ｐｃは異なる。同様に、ＮＡＮＤ型フラッシュメモリ１３に対するリード動作とライト動作とでは、ＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎも異なる。リード動作の場合のコントローラ１４の消費電力Ｐｃは、ライト動作の場合のコントローラ１４の消費電力Ｐｃよりも大きくなる傾向がある。この理由の一つとしては、リード動作では、ＮＡＮＤ型フラッシュメモリ１３から読み出されたデータの誤りを訂正するためのデコード処理をコントローラ１４内で実行することが必要となることが挙げられる。
【０１３７】
一方、ライト動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎは、リード動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎよりも大きくなる傾向がある。
【０１３８】
したがって、リード動作の場合のコントローラ１４とＮＡＮＤ型フラッシュメモリ１３のパワー比は、ライト動作の場合のコントローラ１４とＮＡＮＤ型フラッシュメモリ１３のパワー比と異なる。
【０１３９】
このように、リード動作の場合のパワー比とライト動作の場合のパワー比が互いに異なるので、第１の実施形態では、所定期間、例えば直近１秒間、に実行されたリード動作の回数とライト動作の回数と、リード動作の場合のパワー比と、ライト動作の場合のパワー比とに基づいて、Ｔｃ’，Ｔｂ’の算出に使用されるべきパワー比ｒが算出される。
【０１４０】
以下は、リードとライトが混在した場合の計算例を示す。リード動作の場合のパワー比をｒｒ、ライト動作の場合のパワー比をｒｗ、直近１秒間に実行されたリード動作の回数をｃｒ、直近１秒間に実行されたライト動作の回数をｃｗとすると、パワー比ｒは、以下のように表される。
【０１４１】
ｒ＝ｒｒ×ｃｒ／（ｃｒ＋ｃｗ）＋ｒｗ×ｃｗ／（ｃｒ＋ｃｗ）
また、ストレージデバイス１０全体の総消費電力Ｐｔは、リード動作の場合のコントローラ１４の消費電力と、リード動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力と、ライト動作の場合のコントローラ１４の消費電力と、ライト動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力と、所定期間内に実行されたリード動作の回数およびライト動作の回数とに基づいて算出される。
【０１４２】
ｒｃｐ：ｎ回リード動作した場合のコントローラ１４の消費電力  
ｒｎｐ：ｎ回リード動作した場合のＮＡＮＤ型フラッシュメモリ１３の消費電力  
ｗｃｐ：ｎ回ライト動作した場合のコントローラ１４の消費電力  
ｗｎｐ：ｎ回ライト動作した場合のＮＡＮＤ型フラッシュメモリ１３の消費電力  
とすると、総消費電力Ｐｔは、以下となる。  
Ｐｔ＝（ｒｃｐ＋ｒｎｐ）×ｃｒ／ｎ＋（ｗｃｐ＋ｗｎｐ）×ｃｗ／ｎ  
回数ｎは、連続的にリード／ライト可能な上限回数と考えることができ、リード回数の上限値とライト回数の上限値は異なる場合もあるが、ここでは簡単化のためリードとライトで同じ上限回数としている。したがってｃｒ＜＝ｎ、ｃｗ＜＝ｎ、ｃｒ＋ｃｗ＜＝ｎという関係がある。
ｃｒとｃｗによってストレージデバイス１０のパワーステートの遷移を制御することができる。つまり、ｃｒとｃｗが最大回数に近い場合は、ストレージデバイス１０は最大性能のパワーステートで動作し、最小回数となる場合は、ストレージデバイス１０は一番低い消費電力のパワーステートで動作する。なお、リード／ライト動作が行われない休止中のパワーステートもある。なお、ｒｃｐ、ｒｎｐ、ｗｃｐ、ｗｎｐの値としては、パワーステート毎に予め測定された値を使用することができる。
【０１４３】
図１３のフローチャートは、リード回数およびライト回数に基づいてパワー比と総消費電力とを算出する処理の手順の例を示す。  
コントローラ１４のＣＰＵ５６は、ＮＡＮＤ型フラッシュメモリ１３に対して実行されるべきリード／ライトアクセスがリード動作またはライト動作のいずれであるかを判定する（ステップＳ１０１）。ステップＳ１０１では、例えば、ＣＰＵ５６は、ＮＡＮＤ型フラッシュメモリ１３にリード指示（ＮＡＮＤリードコマンド）またはライト指示（ＮＡＮＤプログラムコマンド）を発行する度に、このＮＡＮＤコマンドがＮＡＮＤリードコマンドまたはＮＡＮＤプログラムコマンドのいずれであるかを判定してもよい。
【０１４４】
実行されるべきリード／ライトアクセスがリード動作である場合、ＣＰＵ５６は、ｃｒの値を１インクリメントする（ステップＳ１０２）。一方、実行されるべきリード／ライトアクセスがライト動作である場合、ＣＰＵ５６は、ｃｗの値を１インクリメントする（ステップＳ１０３）。ステップＳ１０１〜Ｓ１０３の処理が繰り返されることにより、所定期間（例えば１秒）毎のリード動作の回数およびライト動作の回数がカウントされる。
【０１４５】
Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器から受信した場合（ステップＳ１０４のＹＥＳ）、ＣＰＵ５６は、直近１秒間に実行されたリード動作の回数ｃｒとライト動作の回数ｃｗとに基づいてパワー比ｒを算出する（ステップＳ１０５）。ＣＰＵ５６は、直近１秒間に実行されたリード動作の回数ｃｒとライト動作の回数ｃｗとに基づいてストレージデバイス１０全体の総消費電力Ｐｔを算出する（ステップＳ１０６）。ＣＰＵ５６は、コントローラ１４の温度Ｔｊと、パワー比ｒの第１の一次関数で表される熱抵抗θｊｂ’と、パワー比ｒの第２の一次関数によって表される熱抵抗θｊｃ’と、総消費電力Ｐｔとに基づいて、Ｔｃ’，Ｔｂ’を算出する（ステップＳ１０７）。
【０１４６】
そして、ＣＰＵ５６は、コントローラ１４の温度ＴｊがＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定され、Ｔｃ’，Ｔｂ’がリザーブ領域に設定されたＳＭＡＲＴ  ／  ＨＥＡＬＴＨ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出する（ステップＳ１０８）。
【０１４７】
ホスト機器は、ホスト機器の放熱機構によって決まる放熱分配比ｈと、ストレージデバイス１０から読み出したＴｊ，Ｔｃ’，Ｔｂ’を用いて表面温度Ｔｃ１とＴｃ２を計算する。この場合、ホスト機器は、ストレージデバイス１０から送出されたＳＭＡＲＴ  ／  ＨＥＡＬＴＨ  ＩｎｆｏｒｍａｔｉｏｎのＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅに設定されているＴｊと、ＳＭＡＲＴ  ／  ＨＥＡＬＴＨ  Ｉｎｆｏｒｍａｔｉｏｎに設定されているＴｃ’，Ｔｂ’とを読み出し、ストレージデバイス１０の消費電力を下面（第１の面）２１に分配する第１分配比（＝１−ｈ）とＴｂ’との積をＴｊから引くことによって得られる第１の面２１の温度と、ストレージデバイス１０の消費電力を上面（第２の面）２２に分配する第２分配比（＝ｈ）とＴｃ’との積をＴｊから引くことによって得られる第２の面２２の温度とを計算する。
【０１４８】
以上説明したように、第１の実施形態によれば、ストレージデバイス１０のコントローラ１４の発熱による温度そのものがホスト機器に報告されるのではなく、熱抵抗モデルに基づいて、コントローラ１４の温度とＮＡＮＤ型フラッシュメモリ１３の温度を考慮した上面（第２の面２２）とコントローラ１４の間の温度差と、下面（第１の面２１）とコントローラ１４の間の温度差を示す情報がホスト機器に送出される。換言すれば、コントローラ１４は、ホスト機器から受信される温度を取得する要求に対して、コントローラ１４内の温度センサ１１１によって検知される温度Ｔｊを表す温度データと、温度Ｔｊと第１の面２１の温度との間の温度差Ｔｂ’を表す温度データと、温度Ｔｊと第２の面２２の温度との間の温度差Ｔｃ’を表す温度データを複数の信号端子ｐの少なくとも一つの信号端子を用いてホスト機器に送出する。この場合、コントローラ１４は、コントローラ１４からストレージデバイス１０の外側に抜ける熱に関する熱抵抗モデル（ストレージデバイス１０の消費電力（総消費電力）に相関する熱抵抗モデル）に基づいて、温度差Ｔｂ’を表す温度データと、温度差Ｔｃ’を表す温度データを算出する。温度差Ｔｂ’を表す温度データは、コントローラ１４と下面（第１の面２１）との間の熱抵抗θｊｂ’とストレージデバイス１０の消費電力（総消費電力）Ｐｔとの積、つまりθｊｂ’×Ｐｔ、によって表され、温度差Ｔｃ’を表す温度データは、コントローラ１４と上面（第２の面２２）との間の熱抵抗θｊｃ’とストレージデバイス１０の消費電力（総消費電力）Ｐｔとの積、つまりθｊｃ’×Ｐｔ、によって表される。よって、ホスト機器は、温度Ｔｊ、温度差Ｔｂ’、温度差Ｔｃ’を使用してホスト機器の放熱性能を正しく評価することができる。
【０１４９】
これにより、ストレージデバイス１０の上面（第２の面２２）近傍に温度センサを設けること無く、コントローラ１４の温度を検知する温度センサを用いてホスト機器がその放熱機構を最適化するために有用なストレージデバイス１０の上下面の表面温度を計算するための情報をホスト機器に報告することが可能となる。さらに、ホスト機器は、コネクタに温度センサを設置することなく、ストレージデバイス１０の上面の表面温度を知ることができる。またさらに、ホスト機器は、ストレージデバイス１０のパワーステートを変更する熱管理（ｈｏｓｔ  ｃｏｎｒｏｌｌｅｄ  ｔｈｅｒｍａｌ  ｍａｎｅｇｅｍｅｎｔ）を、ストレージデバイス１０のジャンクション温度と表面温度の関係に基づいて行うこともできる。
【０１５０】
算出される表面温度は、コントローラ１４の上部に位置する、第２の面２２上の位置の表面温度と、第１の面２１上の位置の表面温度を示している。
【０１５１】
また、第１の実施形態では、コントローラ１４の消費電力とＮＡＮＤ型フラッシュメモリ１３の消費電力との和に対するコントローラ１４の消費電力の割合を示すパワー比ｒの一次関数によって熱抵抗が表される。これにより、コントローラ１４の上部に位置する、第２の面２２上の位置の表面温度を、コントローラ１４の動作状況と内部温度から算出することができる。
【０１５２】
また、第１の実施形態では、コントローラ１４が内部温度Ｔｊ、パワー比ｒ、総消費電力Ｐｔから上側温度差Ｔｃ’と下側温度差Ｔｂ’を算出し、ホスト機器に送出する。ホストは、コントローラ１４から読み出した内部温度Ｔｊ、上側温度差Ｔｃ’と下側温度差Ｔｂ’から、ホストの放熱機構で決まる放熱分配比ｈを用いて上側表面温度Ｔｃ１と下側表面温度Ｔｃ２を計算することで、ホスト機器の放熱機構の最適化に有用な温度の情報を得ることが可能となる。
【０１５３】
なお、第１の実施形態では、不揮発性メモリとしてＮＡＮＤ型フラッシュメモリを例示した。しかし、第１の実施形態の機能は、例えば、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、又は、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）のような他の様々な不揮発性メモリにも適用できる。
【０１５４】
（第１の実施形態の変形例）
上述したように、Ｔｃ’，Ｔｂ’は、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎに含まれる様々なステータスの一部としてホスト機器に報告可能である。
【０１５５】
図１４は、リサーブ領域以外のＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ内のフィールドにそれぞれＴｃ’およびＴｂ’が設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す。ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの［２０１：２００］のフィールド、［２０３：２０２］のフィールド、［２０５：２０４］のフィールド、［２０７：２０６］のフィールド、［２０９：２０８］のフィールド、［２１１：２１０］のフィールド、［２１３：２１２］のフィールド、［２１５：２１４］のフィールドは、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  １」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ２」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ３」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ４」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ５」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ６」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ７」フィールド、「Ｔｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒ  ８」フィールドとして使用される。これら８個のフィールドの各々は、ＮＶＭｅデバイスの温度をホスト機器に報告するために使用される。報告される温度の測定方法は自由である。したがって、Ｔｃ’およびＴｂ’は、これら８個のＴｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒフィールドの内の２個のフィールドにそれぞれ設定されてもよい。
【０１５６】
図１４では、Ｔｃ’およびＴｂ’が、８個のＴｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒフィールドの内の先頭の２個のフィールド、つまり［２０１：２００］フィールドおよび［２０３：２０２］フィールドにそれぞれ設定される場合が例示されている。コントローラ１４は、コントローラ１４の温度ＴｊがＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定され、Ｔｃ’およびＴｂ’が８個のＴｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒフィールドの内の先頭の２個のフィールドにそれぞれ設定されたＳＭＡＲＴ  ／  ＨＥＡＬＴＨ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出することができる。
【０１５７】
（第２の実施形態）
次に、ストレージデバイス１０内の熱が主に下面（第１の面２１）を通してストレージデバイス１０の外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ２と、ストレージデバイス１０内の熱が下面（第１の面２１）を通してストレージデバイス１０の外側に抜けるだけでなく、さらにストレージデバイス１０内の熱が上面（第２の面２２）を通してストレージデバイス１０の外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ１を、ストレージデバイス１０の上面（第２の面２２）の温度Ｔｃとしてホスト機器に報告する構成を第２の実施形態として説明する。これら温度Ｔｃ１、Ｔｃ２はコントローラ１４からストレージデバイス１０の外側に抜ける熱に関する熱抵抗モデル（ストレージデバイス１０の消費電力（総消費電力）に相関する熱抵抗モデル）に基づいて算出される。
【０１５８】
第２実施形態に係るストレージデバイス１０のハードウェア構成（形状、ピン配置、回路構成、等）は第１の実施形態と同様である。以下では、主に、第１の実施形態と異なる部分を説明する。
【０１５９】
まず、図１５を参照して、第２の実施形態において想定される熱モデルについて説明する。図１５は、ホスト機器内のコネクタ２００”にストレージデバイス１０が装着されている状態を示している。
【０１６０】
コネクタ２００”は、配線基板２０２’、およびコネクタカバー２０３’を含んでいてもよい。コネクタカバー２０３’は、例えば、配線基板２０２’上が露出される開放位置と配線基板２０２’がコネクタカバー２０３で覆われる閉塞位置との間を、ヒンジ部として機能する軸Ａ’を支点に回動するようにホスト機器のシステム基板（プリント回路基板ＰＣＢ）２０１’に取り付けられていてもよい。コネクタカバー２０３’が開放位置に起こされた状態で、ストレージデバイス１０がコネクタカバー２０３’に挿入される。そしてコネクタカバー２０３’が閉塞位置に閉じられると、図１５に示すように、ストレージデバイス１０がコネクタ２００”に装着された状態となる。
【０１６１】
ストレージデバイス１０内の発熱源として、コントローラ１４とＮＡＮＤ型フラッシュメモリ１３の２つがある。ストレージデバイス１０の動作モードによって、コントローラ１４とＮＡＮＤ型フラッシュメモリ１３との間の発熱比率が変わるので、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎの比（パワー比ｒ）というパラメータが用いられる。このパワー比ｒは、第１の実施形態で説明したように、ストレージデバイス１０の総消費電力Ｐｔ（Ｐｔ＝Ｐｃ＋Ｐｎ）に対するコントローラ１４の消費電力Ｐｃの割合（Ｐｃ／（Ｐｃ＋Ｐｎ））を示す。
【０１６２】
第１の実施形態と同様に、コントローラ１４は、コントローラ１４の内部温度Ｔｊを測定できる温度センサ１１１を含んでおり、ホスト機器は、温度センサ１１１によって検知された温度Ｔｊをストレージデバイス１０から読み出すことができる。コントローラ１４は、コントローラ１４からストレージデバイス１０の外側に抜ける熱に関する熱抵抗モデルに基づいて、主にコントローラ１４から下面（第１の面２１）の外側に熱が抜ける場合における上面（第２の面２２）の温度Ｔｃ２と、コントローラ１４から下面（第１の面２１）の外側および上面（第２の面２２）の外側の双方に熱が抜ける場合における上面（第２の面２２）の温度Ｔｃ１を、上面（第２の面２２）の温度Ｔｃとして算出する。ここで、温度Ｔｃは、コントローラ１４の上部（例えば真上）に位置する、第２の面２２上の位置の表面温度である。
【０１６３】
薄いカード形状を有しているストレージデバイス１０においては、その中心付近の温度が一番高く、外周に向かって温度が下がっていく、という温度勾配が生じると想定できる。図１５では、ストレージデバイス１０内の温度勾配はハッチングの密度の違いによって表されている。クロスハッチングで示されている部分の温度が最も高く、クロスハッチングで示されている部分を囲む高密度のシングルハッチングで示されている部分の温度が２番目に高く、高密度のシングルハッチングで示されている部分を囲む中密度のシングルハッチングで示されている部分の温度が３番目に高く、中密度のシングルハッチングで示されている部分を囲む低密度のシングルハッチングで示されている部分の温度が最も低い。なお、ここでは、４レベルのハッチングに対応する４レベルの温度によってストレージデバイス１０内の温度勾配を簡略的に示しているが、実際はストレージデバイス１０内の温度は連続的に変化している。
【０１６４】
ストレージデバイス１０は、コネクタ２００”を介してホスト機器のＰＣＢ２０１’に接続される。ストレージデバイス１０の第１の面２１には多数の端子Ｐが配置されている。これら端子Ｐは、コネクタ２００”のコンタクト（リードフレーム）を介してＰＣＢ２０１’に電気的に接続される。コンタクトの熱伝導による放熱効果は十分に高い。
【０１６５】
コネクタカバー２０３’とストレージデバイス１０の上面（第２の面２２）との間には隙間が存在する場合がある。この場合、ストレージデバイス１０の上面（第２の面２２）の一部はコネクタカバー２０３’に接するものの、上面（第２の面２２）の大部分は、熱伝導が悪い空気層と接することになる。このように、下面（第１の面２１）は熱伝導が高いコンタクト（リードフレーム）を介してＰＣＢ２０１’に電気的に接続される一方で、上面（第２の面２２）は熱伝導が悪い空気層と接しているため、多くの熱はストレージデバイス１０の下面（第１の面２１）から放熱されると想定される。つまり、多くの熱はストレージデバイス１０の下面（第１の面２１）の外側に抜ける。
【０１６６】
したがって、図１５に示すようにコネクタ２００”上にＴＩＭ３０１’が配置されている場合であっても、下面からの放熱の方が支配的であり、ＴＩＭ３０１’による放熱は補助的な効果として考えられる。
【０１６７】
図１６は、ＴＩＭ無しのコネクタに対応する放熱モデルを説明するための図である。図１６ではコネクタ２００”が省略された放熱モデルが簡素に描かれている。
【０１６８】
ストレージデバイス１０の上面（第２の面２２）とコネクタカバー２０３’との間に大きな隙間が存在する場合のようにストレージデバイス１０の上面（第２の面２２）の上側が空気である場合、主としてコントローラ１４（図１６の発熱源３００）の熱はストレージデバイス１０の下面（第１の面２１）を介してＰＣＢ２０１’に逃げるが、これによって上面（第２の面２２）の表面温度Ｔｃも低下する。第２の実施形態では、ＴＩＭ無しの場合における上面（第２の面２２）の表面温度Ｔｃ、つまり熱が主に下面（第１の面２１）からストレージデバイス１０の外側に抜ける場合における上面（第２の面２２）の表面温度Ｔｃが、Ｔｃ２として定義される。
【０１６９】
Ｔｃ２は、以下の式で表すことができる。  
Ｔｃ２＝Ｔｊ−Ｐｔ×θｂ  
Ｔｊ：コントローラ１４内の温度センサ１１１によって検知されるジャンクション温度
Ｐｔ：ストレージデバイス１０の消費電力（総消費電力）
θｂ：θｂは、ストレージデバイス１０の消費電力Ｐｔによる発熱が、主にストレージデバイス１０の下面（第１の面２１）を通して外側に抜ける場合に、外側に流れ出る消費電力Ｐｔによってコントローラ１４と上面（第２の面２２）との間に温度差を発生させる熱抵抗成分である。
コントローラ１４からストレージデバイス１０の下面（第１の面２１）の外側に逃げる熱（下面に流れる電力Ｐｔに相当）よってストレージデバイス１０全体が冷却されるが、Ｐｔ×θｂは、コントローラ１４（発熱源３００）の温度Ｔｊと下面の温度との間の温度差ではなく、Ｔｊと上面（第２の面２２）の温度Ｔｃ２との間の温度差を表すように、θｂは、ストレージデバイス１０のベンダーによって予め算出されている。
【０１７０】
下面に逃げる熱と上面に逃げる熱の比率はコネクタ２００”の構造によるところが大きく、その比率は、コネクタ２００”の構造解析や実験によって予測することができる。
【０１７１】
熱抵抗θｂは、基本的には、以下のように、パワー比ｒの一次関数である第１一次関数によって表すことができる。  
θｂ＝（ａ×ｒ＋ｂ）［℃／Ｗ］
ここで、ａ、ｂは、ストレージデバイス１０の構造、材料、コネクタ２００”の構造などに基づいて求められる固定的なパラメータである。パワー比ｒは、ストレージデバイス１０の動作モード等に基づいて動的に変化するパラメータである。
【０１７２】
Ｐｔが最大となる動作を継続させてストレージデバイス１０内部の温度勾配がその温度勾配に変化が起こらないバランス状態になれば、Ｔｃ２の値も安定する。
【０１７３】
図１７は、ＴＩＭ有りのコネクタに対応する放熱モデルを説明するための図である。図１７ではコネクタ２００”が省略して放熱モデルが簡素に描かれている。
【０１７４】
上面（第２の面２２）上に熱伝導率の高いＴＩＭ３０１’が実装されている場合においては、上面（第２の面２２）からの放熱効果により、上面（第２の面２２）の表面温度Ｔｃがさらに低下する。例えば、ストレージデバイス１０の上面（第２の面２２）とコネクタカバー２０３’との間に隙間がほとんど存在しないように上面（第２の面２２）と接触するコネクタカバー２０３’上に、熱伝導率の高いＴＩＭ３０１’が配置されていてもよい。このＴＩＭ３０１’は、コネクタ２００”の熱をＰＣＢ２０１’に伝達する。このＴＩＭ３０１’は、コネクタカバー２０３’とＰＣＢ２０１’の両方に渡って貼り付けられた熱伝導シートによって実現されていてもよい。あるいは、第１の実施形態の図６と同様に、コネクタカバー２０３’の内面に熱伝導率の高いＴＩＭ３０１’が配置されるというコネクタ構造を利用することも可能である。
【０１７５】
第２の実施形態では、ＴＩＭありの場合における上面（第２の面２２）の表面温度Ｔｃ、つまりコントローラ１４（発熱源３００）の熱が下面（第１の面２１）からストレージデバイス１０の外側に抜けるだけでなく、コントローラ１４（発熱源３００）の熱が上面（第２の面２２）からストレージデバイス１０の外側にも抜ける場合における上面（第２の面２２）の表面温度Ｔｃは、Ｔｃ１として定義される。
【０１７６】
Ｔｃ１は、以下の式で表すことができる。  
Ｔｃ１＝Ｔｊ−Ｐｔ×θｂ−Ｐｔ×θｃ  
Ｔｊ：コントローラ１４内の温度センサ１１１によって検知されるジャンクション温度
Ｐｔ：ストレージデバイス１０の消費電力（総消費電力）
θｂ：θｂは、ストレージデバイス１０の消費電力Ｐｔによる発熱が、主にストレージデバイス１０の下面（第１の面２１）を通して外側に抜ける場合に、外側に流れる消費電力Ｐｔによってコントローラ１４と上面（第２の面２２）との間に温度差を発生させる熱抵抗成分である。
θｃ：θｃは、ＴＩＭの追加によりストレージデバイス１０の消費電力Ｐｔによる発熱の一部がストレージデバイス１０の上面（第２の面２２）を通して外側に抜けることにより、第２の面２２の表面温度をＴｃ２よりも低下させる熱抵抗成分である。
この式の前半（Ｔｊ−Ｐｔ×θｂ）は、ＴＩＭなしの場合のＴｃ（＝Ｔｃ２）を表す。ＴＩＭありの場合のＴｃ（＝Ｔｃ１）は、Ｔｃ１＝Ｔｃ２−Ｐｔ×θｃである。
【０１７７】
Ｔｃは、ＴＩＭなしの場合の表面温度Ｔｃ２よりも、熱伝導率の高いＴＩＭの追加により、ある温度差だけ低下する。Ｐｔ×θｃがこの温度差を表すように、熱抵抗θｃはストレージデバイス１０のベンダーによって予め算出されている。したがって、Ｔｃ１＜Ｔｃ２という関係になる。
【０１７８】
熱抵抗θｃは、基本的には、以下のように、パワー比ｒの一次関数である第２一次関数によって表すことができる。  
θｃ＝（ｃ×ｒ＋ｄ）［℃／Ｗ］
ここで、ｃ、ｄは、ストレージデバイス１０の構造、材料、コネクタ２００”の構造などに基づいて求められる固定的なパラメータである。パワー比ｒは、ストレージデバイス１０の動作モード等に基づいて動的に変化するパラメータである。
【０１７９】
Ｐｔが最大となる動作を継続させてストレージデバイス１０内部の温度勾配がその温度勾配に変化が起こらないバランス状態になれば、Ｔｃ１の値も安定する。
【０１８０】
明らかにＴｃ１＜Ｔｃ２＜Ｔｊである。ホスト機器に装着された状態のストレージデバイス１０の実際の表面温度Ｔｃを温度計によって測定した場合を想定すると、この測定によって得られる実際の表面温度Ｔｃは、Ｔｃ１＝＜Ｔｃ＝＜Ｔｃ２の範囲（温度バラツキ範囲とも称する）にあることが理解されよう。コントローラ１４は２つの温度Ｔｃ１，Ｔｃ２を上面の表面温度（ケース温度）Ｔｃとしてホスト機器に報告することで、実際のＴｃは温度Ｔｃ１と温度Ｔｃ２の間（温度バラツキ範囲）にあることをホスト機器に通知することができる。ホスト機器の放熱機構の設計者は、実際のＴｃは温度Ｔｃ１と温度Ｔｃ２の間（温度バラツキ範囲）にあることが分かるので、ストレージデバイス１０から報告される２つの値（Ｔｃ１、Ｔｃ２）によって規定されるこの温度バラツキ範囲を使用してホスト機器の放熱機構の性能を評価してもよい。あるいは、ホスト機器の放熱機構の設計者は、上面（第２の面２２）上に熱伝導率の高いＴＩＭ３０１’が実装されているか否かを知っているので、ホスト機器の放熱機構の構造に適した表面温度（Ｔｃ１またはＴｃ２の一方）を選択し、選択した表面温度（Ｔｃ１またはＴｃ２の一方）を使用してホスト機器の放熱機構の性能を評価してもよい。あるいは、下面に逃げる熱と上面に逃げる熱の比率を考慮することで、ホスト機器は、実際の表面温度Ｔｃは、前記比率から求められる、Ｔｃ１とＴｃ２の中間値であると推定することもできる。
【０１８１】
なお、ひとつの表面温度Ｔｃ１だけをホスト機器に報告することも可能である（Ｔｃ２＝０とする）。この場合は、実際のＴｃの値はＴｃ１からＴｃ１＋α％までの範囲内の値であることを指定するようにしてもよい。α％は実際のＴｃの値のバラツキを示すパラメータであり、例えば、α％は２０％であってもよい。また、ひとつの表面温度Ｔｃ２だけをホスト機器に報告することも可能である（Ｔｃ１＝０とする）。
【０１８２】
図１８は、ストレージデバイス１０によってホスト機器に報告されるＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの例を示す。
【０１８３】
第２の実施形態では、コントローラ１４は、Ｔｊ、Ｔｃ１、Ｔｃ２を含むＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを生成し、このＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出する。
【０１８４】
ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎの［２：１］のバイト位置に対応するフィールドにおいては、Ｔｊ（カード内部温度）が、Ｃｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値としてケルビンで記録される。
【０１８５】
カードケース温度（Ｔｃ１）は、８個のＴｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒフィールドの内の先頭の［２０１：２００］のフィールドにケルビンで記録される。カードケース温度（Ｔｃ２）は、８個のＴｅｍｐｅｒａｔｕｒｅ  Ｓｅｎｓｏｒフィールドの内の２番目の［２０３：２０２］のフィールドにケルビンで記録される。
【０１８６】
一般的には、Ｔｃ１＜Ｔｊ，Ｔｃ２＜Ｔｊであり、第２の実施形態の場合はさらに、Ｔｃ１＜Ｔｃ２＜Ｔｊという関係がある。
【０１８７】
したがって、Ｔｊを表す温度データに加え、２つの温度予測値、つまりＴｃ１を表す温度データとＴｃ２を表す温度データをホスト機器に送出することで、実際のＴｃの値がＴｃ１〜Ｔｃ２の範囲であることをホスト機器に通知することができる。ホスト機器は、このホスト機器のコネクタ２００”の構造（ＴＩＭあり、またはＴＩＭなし）に応じて、Ｔｃ１またはＴｃ２の一方を上面の表面温度として選択してもよい。なお、ひとつの表面温度Ｔｃ１だけをホスト機器に報告してもよい。Ｔｃ２を報告しない場合は、［２０３：２０２］のフィールドに０ｈが設定される。
【０１８８】
図１９は、ストレージデバイス１０において実行される温度情報出力処理の手順を示すシーケンス図である。
【０１８９】
（１）ホスト機器は、「ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ」を取得するためのコマンド（Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ）をストレージデバイス１０に送出する。  
（２）コントローラ１４は、温度センサ１１１によって検知された温度を取得するための命令（Ｇｅｔ  Ｔｅｍｐｅｒａｔｕｒｅ）を実行する。
【０１９０】
（３）コントローラ１４は、温度センサ１１１によって検知された温度を、コントローラ１４の温度Ｔｊ（ジャンクション温度）として取得する。  
（４）コントローラ１４は、上述の熱抵抗θｂ、熱抵抗θｃを使用した２熱抵抗モデルに基づいて、Ｔｊと現在の総消費電力Ｐｔから、Ｔｃ１，Ｔｃ２を算出する。Ｔｃ２は、ストレージデバイス１０内の熱が主に第１の面２１から放熱される場合の第２の面２２の温度であり、例えば、ストレージデバイス１０の消費電力Ｐｔと相関のある、第２の面２２の表面温度とＴｊとの間の温度差Ｔｊ−Ｔｃ２を計算することにより、コントローラ１４の内部温度Ｔｊを基にＴｃ２が計算できる。Ｔｃ１は、ストレージデバイス１０内の熱が第１の面２１と第２の面２２の双方から放熱される場合の第２の面２２の温度であり、例えば、Ｔｃ２からさらに低下する温度を計算することにより、Ｔｃ１が計算できる。
【０１９１】
Ｔｃ２は、コントローラ１４と第２の面２２との間の熱抵抗θｂと主に第１の面２１から放熱されるストレージデバイス１０の消費電力Ｐｔの積（θｂ×Ｐｔ）を、Ｔｊから引くことによって算出される。Ｔｃ１は第２の面２２から放熱されることによって低下する表面温度θｃ×Ｐｔ（熱抵抗θｃとストレージデバイス１０の消費電力Ｐｔの積）を、Ｔｃ２から引くことによって算出される。ストレージデバイス１０の消費電力Ｐｔ（総消費電力）はストレージデバイス１０の動作状態に依存し、コントローラ１４の消費電力ＰｃとＮＡＮＤ型フラッシュメモリ１３の消費電力Ｐｎとの和によって表され、θｂはパワー比ｒの一次関数である第１一次関数によって表される。θｃはパワー比ｒの一次関数である第２一次関数によって表される。
【０１９２】
（５）コントローラ１４は、Ｔｊがｃｏｍｐｏｓｉｔｅ  ｔｅｍｐｅｒａｔｕｒｅ（カード内部温度））として設定され、さらにＴｃ１，Ｔｃ２がストレージデバイス１０のカードケース温度として設定されたＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出する。
【０１９３】
なお、コントローラ１４は、このコントローラ１４の温度Ｔｊ（ジャンクション温度）を常にポーリングによって監視してもよく、コマンド（Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎ）を受信した場合に、Ｔｊと現在の総消費電力ＰｔからＴｃ１，Ｔｃ２を算出してもよい。
【０１９４】
図２０のフローチャートは、所定期間内に実行されたリード動作の回数を示すｃｒと所定期間内に実行されたライト動作の回数を示すｃｗを求める処理の手順を示す。
ここでは、リードカウンタとライトカウンタがコントローラ１４内に設けられている場合を想定する。これらリードカウンタおよびライトカウンタはリード回数（リード動作の回数）およびライト回数（ライト動作の回数）をそれぞれカウントする。コントローラ１４のＣＰＵ５６は、例えば１秒毎に、図２０のフローチャートで示される割り込み処理を実行する。割り込み処理においては、ＣＰＵ５６は、まず、リードカウンタおよびライトカウンタから現在のリードカウンタ値および現在のライトカウンタ値をそれぞれ取得する（ステップＳ１１１）。ＣＰＵ５６は、前回のリードカウンタ値と現在のリードカウンタ値との差分を求めることによってｃｒを算出し、算出したｃｒをコントローラ１４内のメモリ領域に保存する（ステップＳ１１２）。ステップＳ１１２では、さらに、ＣＰＵ５６は、前回のライトカウンタ値と現在のライトカウンタ値との差分を求めることによってｃｗを算出し、算出したｃｗをメモリ領域に保存する。
そして、ＣＰＵ５６は、ステップＳ１１１で取得した現在のリードカウンタ値および現在のライトカウンタ値をメモリ領域に保存する（ステップＳ１１３）。これら保存された現在のリードカウンタ値および保存された現在のライトカウンタ値は、次回の割り込み処理において前回のリードカウンタ値および前回のライトカウンタ値としてそれぞれ使用される。
【０１９５】
図２１のフローチャートは、リード回数およびライト回数に基づいてパワー比と総消費電力とを算出する処理の手順の例を示す。  
第１の実施形態と同様に、パワー比は、ＮＡＮＤ型フラッシュメモリ１３からデータを読み出すリード動作におけるパワー比（リード動作におけるストレージデバイス１０の消費電力（総消費電力）に対するリード動作におけるコントローラ１４の消費電力の割合）と、ＮＡＮＤ型フラッシュメモリ１３にデータを書き込むライト動作におけるパワー比（ストレージデバイス１０の消費電力（総消費電力）に対するライト動作におけるコントローラ１４の消費電力の割合）と、所定期間内に実行されたリード動作の回数およびライト動作の回数とに基づいて算出される。したがって、パワー比ｒは、第１の実施形態と同じく、以下のように表される。  
ｒ＝ｒｒ×ｃｒ／（ｃｒ＋ｃｗ）＋ｒｗ×ｃｗ／（ｃｒ＋ｃｗ）
ここで、ｒｒは、リード動作の場合のパワー比、つまりリード動作の場合のコントローラ１４の消費電力とリード動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力の和（＝リード動作におけるストレージデバイス１０の消費電力（総消費電力））に対するリード動作の場合のコントローラ１４の消費電力の割合を示す。
【０１９６】
ｒｗは、ライト動作の場合のパワー比、つまりライト動作の場合のコントローラ１４の消費電力とライト動作の場合のＮＡＮＤ型フラッシュメモリ１３の消費電力の和（＝ライト動作におけるストレージデバイス１０の消費電力（総消費電力））に対するライト動作の場合のコントローラ１４の消費電力の割合を示す。
【０１９７】
ｃｒは直近１秒間に実行されたリード動作の回数を示し、ｃｗは直近１秒間に実行されたライト動作の回数を示す。
【０１９８】
また、第１の実施形態と同様に、総消費電力Ｐｔは、以下のように表される。  
Ｐｔ＝（ｒｃｐ＋ｒｎｐ）×ｃｒ／ｎ＋（ｗｃｐ＋ｗｎｐ）×ｃｗ／ｎ  
ｒｃｐ：ｎ回リード動作をした場合のコントローラ１４の消費電力  
ｒｎｐ：ｎ回リード動作をした場合のＮＡＮＤ型フラッシュメモリ１３の消費電力  
ｗｃｐ：ｎ回ライト動作をした場合のコントローラ１４の消費電力  
ｗｎｐ：ｎ回ライト動作をした場合のＮＡＮＤ型フラッシュメモリ１３の消費電力  
回数ｎは、連続的にリード／ライト可能な上限回数と考えることができ、リード回数の上限値とライト回数の上限値は異なる場合もあるが、ここでは簡単化のためリードとライトで同じ上限回数としている。したがってｃｒ＜＝ｎ、ｃｗ＜＝ｎ、ｃｒ＋ｃｗ＜＝ｎという関係がある。
ｃｒとｃｗによってストレージデバイス１０のパワーステートの遷移を制御することができる。つまり、ｃｒとｃｗが最大回数に近い場合は、ストレージデバイス１０は最大性能のパワーステートで動作し、最小回数となる場合は、ストレージデバイス１０は一番低い消費電力のパワーステートで動作する。なお、リード／ライト動作が行われない休止中のパワーステートもある。
【０１９９】
Ｇｅｔ  ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器から受信した場合（ステップＳ１２１のＹＥＳ）、ＣＰＵ５６は、まず、直近１秒間に実行されたリード動作の回数ｃｒとライト動作の回数ｃｗをメモリ領域から取得し、ｃｒとｃｗとに基づいてパワー比ｒを算出する（ステップＳ１２２）。ＣＰＵ５６は、直近１秒間に実行されたリード動作の回数ｃｒとライト動作の回数ｃｗとに基づいてストレージデバイス１０全体の総消費電力Ｐｔを算出する（ステップＳ１２３）。ＣＰＵ５６は、コントローラ１４の温度Ｔｊと、パワー比ｒの一次関数である第１一次関数で表される熱抵抗θｂと、パワー比ｒの一次関数である第２一次関数によって表される熱抵抗θｃと、ストレージデバイス１０の消費電力Ｐｔとに基づいて、Ｔｃ１，Ｔｃ２を算出する（ステップＳ１２４）。
【０２００】
そして、ＣＰＵ５６は、コントローラ１４の温度ＴｊをＣｏｍｐｏｓｉｔｅ  Ｔｅｍｐｅｒａｔｕｒｅの値として設定し、Ｔｃ１，Ｔｃ２を第２の面２２の温度（ケース温度）の値として設定し、温度Ｔｊ、Ｔｃ１およびＴｃ２が設定されたＳＭＡＲＴ  ／  ＨＥＡＬＴＨ  Ｉｎｆｏｒｍａｔｉｏｎをホスト機器に送出する（ステップＳ１２５）。
【０２０１】
なお、第１の実施形態においても、第２の実施形態と同様に、図２０に示した割り込み処理を用いてｃｒおよびｃｗを取得してもよい。
【０２０２】
次に、第１の実施形態および第２の実施形態の各々において実行されるサーマルスロットリングおよびサーマルマネージメントの仕組みについて説明する。
【０２０３】
＜サーマルスロットリング＞
通常、コントローラ１４およびＮＡＮＤ型フラッシュメモリ１３それぞれの内部温度（ジャンクション温度）は異なる。また一般的に、コントローラ１４の最大動作温度Ｔｊ（ｍａｘ．１）よりも、ＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．２）の方が低い。このため、ストレージデバイス１０が最大の動作モード（最大消費電力）であってもＮＡＮＤ型フラッシュメモリ１３の内部温度（ジャンクション温度）がＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．２）を超えないように、Ｔｃ（ｍａｘ．）は、ストレージデバイス１０のベンダーによって予め算出されている。
もしＮＡＮＤ型フラッシュメモリ１３の内部温度（ジャンクション温度）がＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．２）を超えると、ＮＡＮＤ型フラッシュメモリ１３のデータ保持能力に影響が及ぼされる可能性がある。
【０２０４】
通常、コントローラ１４がＮＡＮＤ型フラッシュメモリ１３のジャンクション温度をリアルタイムに取得することは困難である。このため、コントローラ１４は、パワー比とコントローラ１４のジャンクション温度Ｔｊを用いて、ＮＡＮＤ型フラッシュメモリ１３のジャンクション温度を計算し、ＮＡＮＤ型フラッシュメモリ１３のジャンクション温度がＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．２）を超えないように、ＮＡＮＤ型フラッシュメモリ１３に対するリード／ライト回数を減らす動作（スロットリング）を制御する。
ここで、ＮＡＮＤ型フラッシュメモリ１３のジャンクション温度を算出する方法について説明する。  
上述したように、パワー比ｒは以下の式で表すことができる。
ｒ＝Ｐｃ／（Ｐｃ＋Ｐｎ）
ここで、Ｐｃはコントローラ１４の消費電力、ＰｎはＮＡＮＤ型フラッシュメモリ１３の消費電力を示す。
したがって、Ｐｎは以下の式で表すことができる。  
Ｐｎ＝Ｐｃ×（１−ｒ）／ｒ
消費電力と温度は相関するので、ＮＡＮＤ型フラッシュメモリ１３のジャンクション温度であるＴｊ（ｍ）は、コントローラ１４のジャンクション温度Ｔｊを用いて、以下の式で表すことができる。  
Ｔｊ（ｍ）＝Ｔｊ×（１−ｒ）／ｒ
【０２０５】
パワー比とコントローラ１４のジャンクション温度Ｔｊから計算されるＮＡＮＤ型フラッシュメモリ１３のジャンクション温度Ｔｊ（ｍ）がＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．）に近づくと、コントローラ１４は、ＮＡＮＤ型フラッシュメモリ１３に対するリード／ライト回数を減らすスロットリングを実行して、ストレージデバイス１０の消費電力Ｐｔを低下させる。ＮＡＮＤ型フラッシュメモリ１３の最大動作温度Ｔｊ（ｍａｘ．）はストレージデバイス１０のベンダーによって予め決定されている固定値である。
また、コントローラ１４は、算出されたＴｃ２がＴｃ（ｍａｘ．）に近い場合に、ＮＡＮＤ型フラッシュメモリ１３に対するリード／ライト回数を減らすスロットリングを開始してもよい。Ｔｃ（ｍａｘ．）はストレージデバイス１０のベンダーによって予め決定されている固定値である
スロットリングの開始からＴｊ，Ｔｃが下がるまでにはある時間がかかる。このレイテンシーを考慮し、コントローラ１４は、所定期間内のリード／ライト回数（ｃｒ、ｃｗ）が一定になるようにリード／ライト回数を制御する。スロットリングが実行中であるか否かは、例えば、ＣＰＵ５６が、（１）連続リード中にｃｒを取得し、ｃｒとｃｒの最大値ｎとを比較することによって、あるいは、（２）連続ライト中にｃｗを取得し、ｃｗとｃｗの最大値ｎとを比較することによって判定することができる。ｃｒの最大値ｎは、スロットリングが実行されていない場合に、所定時間内に実行可能なＮＡＮＤ型フラッシュメモリ１３のリード動作の最大回数を示す。ｃｗの最大値ｎは、スロットリングが実行されていない場合に、所定時間内に実行可能なＮＡＮＤ型フラッシュメモリ１３のライト動作の最大回数を示す。通常、ｃｒの最大値ｎとｃｗの最大値ｎは互いに異なる値である。
【０２０６】
＜サーマルマネージメント＞
図２２は、ストレージデバイス１０において実行されるサーマルマネージメントを示している。
ホスト機器は、ＴＭＴ１，ＴＭＴ２の温度をケルビンでコントローラ１４に対して設定することができる。コントローラ１４のジャンクション温度ＴｊがＴＭＴ１を超えるまでは、コントローラ１４は、スロットリングを実行しない。
【０２０７】
コントローラ１４のジャンクション温度ＴｊがＴＭＴ１を超えると、コントローラ１４は、ストレージデバイス１０の性能に対する影響を最小限に維持しつつストレージデバイス１０の温度を低下させるために、軽めスロットリング（ｌｉｇｈｔ  ｔｈｒｏｔｔｌｉｎｇ）を開始する。
【０２０８】
コントローラ１４のジャンクション温度ＴｊがＴＭＴ２を超えると、コントローラ１４は、ストレージデバイス１０の性能に対する影響とは関係なくストレージデバイス１０の温度を低下させるために、重いスロットリング（ｈｅａｖｙ  ｔｈｒｏｔｔｌｉｎｇ）を開始する。
【０２０９】
第１の実施形態および第２の実施形態においては、ＴＭＴ１＜ＴＭＴ２＜Ｔｃ（ｍａｘ．）の関係があるので、ストレージデバイス１０の急激な性能低下を防止することができる。ジャンクション温度ＴｊがＴＭ１を超えた回数と時間、ジャンクション温度ＴｊがＴＭ２を超えた回数と時間は、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎに設定されている。したがって、ホスト機器は、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎを取得することによって、ジャンクション温度ＴｊがＴＭ１を超えた回数と時間、ジャンクション温度ＴｊがＴＭ２を超えた回数と時間を知ることができる。
【０２１０】
以上説明したように、第２の実施形態によれば、コントローラ１４は、ホスト機器から受信される温度を取得する要求に対して、温度センサ１１１によって検知される温度Ｔｊを表すデータと、ストレージデバイス１０内の熱が下面（第１の面２１）を通してストレージデバイス１０の外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ２を表すデータと、ストレージデバイス１０内の熱が下面（第１の面２１）を通してストレージデバイス１０の外側に抜け、さらにストレージデバイス１０内の熱が上面（第２の面２２）を通してストレージデバイス１０の外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ１を表すデータを複数の信号端子ｐの少なくとも一つの信号端子を用いてホスト機器に送出する。Ｔｊを表すデータ、Ｔｃ１を表すデータ、Ｔｃ２を表すデータはＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎによってホスト機器に報告することができる。これらデータの値は次の条件を満たしている。Ｔｃ１を表すデータとＴｃ２を表すデータは、Ｔｊを表すデータよりも小さい（Ｔｃ１＜Ｔｊ、Ｔｃ２＜Ｔｊ）。Ｔｃ１を表すデータはＴｃ２を表すデータよりも小さい（Ｔｃ１＜Ｔｃ２）。Ｔｃ１を表すデータとＴｃ２を表すデータは、ストレージデバイス１０の周囲温度（Ｔａ）を表すデータよりも大きい（Ｔｃ１＞Ｔａ、Ｔｃ２＞Ｔａ）。Ｔｃ１＞Ｔａ、Ｔｃ２＞Ｔａは、ストレージデバイス１０内の熱を外部に放熱するために必要な条件である。ストレージデバイス１０はホスト機器に装着された状態で動作するので、ストレージデバイス１０の周囲温度（Ｔａ）は、ホスト機器内におけるストレージデバイス１０の周囲環境の温度である。例えば、ストレージデバイス１０がホスト機器内のコネクタに装着されている状態においては、コネクタに装着されたストレージデバイス１０を囲む空気の温度、またはコネクタを囲む空気の温度、等が、ストレージデバイス１０の周囲温度（Ｔａ）となり得る。
Ｔｊを表すデータ、Ｔｃ１を表すデータ、Ｔｃ２を表すデータがこれら条件（Ｔｃ１＜Ｔｊ、Ｔｃ１＜Ｔｊ、Ｔｃ１＜Ｔｃ２、Ｔｃ１＞Ｔａ、Ｔｃ２＞Ｔａ）を満たしているか否かに応じて、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎによってホスト機器に報告されるこれら温度（Ｔｃ１、Ｔｃ２、Ｔｊ）のデータの有効性を検証することもできる。例えば、ホスト機器は、ホスト機器内のコネクタに装着されたストレージデバイス１０に対するリード／ライトアクセスを実行しながら、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎをストレージデバイス１０から取得し、さらに、ホスト機器に設けられた温度センサを用いて、ストレージデバイス１０の周囲温度を表すデータを取得してもよい。これにより、ホスト機器は、ＳＭＡＲＴ  ／  Ｈｅａｌｔｈ  Ｉｎｆｏｒｍａｔｉｏｎによって報告される、Ｔｊを表すデータ、Ｔｃ１を表すデータ、Ｔｃ２を表すデータが条件（Ｔｃ１＜Ｔｊ、Ｔｃ１＜Ｔｊ、Ｔｃ１＜Ｔｃ２、Ｔｃ１＞Ｔａ、Ｔｃ２＞Ｔａ）を満たしているか否かを判定することができる。
【０２１１】
コントローラ１４は、温度Ｔｊを表すデータと、コントローラ１４からストレージデバイス１０の外側に抜ける熱に関する熱抵抗モデル（ストレージデバイス１０の消費電力（総消費電力）Ｐｔに相関する熱抵抗モデル）とに基づいて、温度Ｔｃ１を表すデータと、温度Ｔｃ２を表すデータを算出する。温度Ｔｃ２を表すデータは、上面にＴＩＭがない場合の上面（第２の面２２）とのコントローラ１４との間の熱抵抗θｂとストレージデバイスの消費電力（総消費電力）Ｐｔとの積、つまりθｂ×Ｐｔ、を温度Ｔｊから引くことによって算出される。換言すれば、温度Ｔｃ２を表すデータは、ストレージデバイス１０内の熱が第１の面２１を介してストレージデバイス１０の外側に抜ける場合にコントローラ１４と第２の面２２との間に温度差を発生させる熱抵抗θｂとストレージデバイス１０の消費電力（総消費電力）Ｐｔとの積、つまりθｂ×Ｐｔ、を温度Ｔｊから引くことによって算出される。温度Ｔｃ１を表すデータは、上面（第２の面２２）にＴＩＭが追加された場合に上面（第２の面２２）の温度を下げる熱抵抗成分θｃとストレージデバイス１０の消費電力（総消費電力）Ｐｔとの積、つまりθｃ×Ｐｔ、とを、温度Ｔｃ２から引くことによって算出される。換言すれば、温度Ｔｃ１を表すデータは、ストレージデバイス１０内の熱が第１の面２１を通してストレージデバイス１０の外側に抜け、さらにストレージデバイス１０内の熱が第２の面２２を通してストレージデバイス１０の外側に抜ける場合に第２の面２２の温度を温度Ｔｃ２よりも低下させる熱抵抗θｃとストレージデバイス１０の消費電力の積とを、温度Ｔｃ２から引くことによって算出される。
【０２１２】
これにより、例えば、ホスト機器は、Ｔｃ１とＴｃ２とによって規定される温度バラツキ範囲（Ｔｃ１およびＴｃ２の双方）を使用することにより、あるいはＴｃ１、Ｔｃ２から、このホスト機器の放熱機構の構造に適した一方の温度を選択して使用することにより、放熱機構の設計に有用なストレージデバイス１０内の第２の面２２の温度を容易に観測することができる。例えば、ホスト機器は、ストレージデバイス１０に対するリード／ライトアクセスを実行しながら、ジャンクション温度Ｔｊの推移と、このホスト機器の放熱機構の構造に適したストレージデバイス１０の上面の温度の推移（例えば、Ｔｃ１およびＴｃ２の双方の推移、またはＴｃ１またはＴｃ２の一方の推移）との双方を観察することもでき、ホスト機器の放熱機構の性能を効率よく評価することができる。
【０２１３】
以上説明したように、コントローラ１４は、（１）温度センサ１１１によって検知されるコントローラ１４の温度Ｔｊを表すデータと、温度差Ｔｂ’を表すデータと、温度差Ｔｃ’を表すデータ、または（２）温度センサ１１１によって検知されるコントローラ１４の温度Ｔｊを表すデータと、ストレージデバイス１０内の熱が下面（第１の面２１）を通して外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ２を表すデータと、ストレージデバイス１０内の熱が下面（第１の面２１）を通して外側が抜け、さらにストレージデバイス１０内の熱が上面（第２の面２２）を通して外側に抜ける場合における上面（第２の面２２）の温度Ｔｃ１を表すデータを、複数の信号端子の少なくとも一つの端子を用いてホスト機器に送出する。よって、コントローラ１４は、ホスト機器の放熱機構の設計に有用なストレージデバイス１０の表面温度に関する情報をホスト機器に提供することが可能となる。
【０２１４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０２１５】
１０…ストレージデバイス、１１…筐体、２１…第１の面、２２…第２の面、１３…ＮＡＮＤ型フラッシュメモリ、１４…コントローラ、１１１…温度センサ。
【図１】
2020161098.tif 000003
【図２】
2020161098.tif 000004
【図３】
2020161098.tif 000005
【図４】
2020161098.tif 000006
【図５】
2020161098.tif 000007
【図６】
2020161098.tif 000008
【図７】
2020161098.tif 000009
【図８】
2020161098.tif 000010
【図９】
2020161098.tif 000011
【図１０】
2020161098.tif 000012
【図１１】
2020161098.tif 000013
【図１２】
2020161098.tif 000014
【図１３】
2020161098.tif 000015
【図１４】
2020161098.tif 000016
【図１５】
2020161098.tif 000017
【図１６】
2020161098.tif 000018
【図１７】
2020161098.tif 000019
【図１８】
2020161098.tif 000020
【図１９】
2020161098.tif 000021
【図２０】
2020161098.tif 000022
【図２１】
2020161098.tif 000023
【図２２】
2020161098.tif 000024