(57)【要約】【課題】データの読み取りやすさを向上させる。【解決手段】メモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。メモリコントローラは、不揮発性メモリの温度情報を取得し、温度情報で示される温度が所定の条件を満たすか否かを判定し、所定の条件を満たしていないと判定した場合に、不揮発性メモリの温度を調整する制御を行う。【選択図】図１
2019057194.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、
前記不揮発性メモリの温度情報を取得し、
前記温度情報で示される温度が所定の条件を満たすか否かを判定し、
前記所定の条件を満たしていないと判定した場合に、前記不揮発性メモリの温度を調整する制御を行う、
メモリコントローラと、
を備えるメモリシステム。
【請求項２】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリの温度を調整する制御として、前記不揮発性メモリに対してパディング処理を行う、
請求項１に記載のメモリシステム。
【請求項３】
前記メモリコントローラは、
前記不揮発性メモリを構成する物理ブロックのうち、データが途中まで書き込まれた物理ブロックにおいて、当該データが書き込まれた領域に隣接する、データが書き込まれていない領域からパディング処理を行う、
請求項２に記載のメモリシステム。
【請求項４】
前記メモリコントローラは、
前記データが途中まで書き込まれた領域を含む物理ブロックに対するパディング処理が終了した後、前記温度情報で示される温度が前記所定の条件を満たしていない場合、さらに他の物理ブロックに対するパディング処理を行う、
請求項３に記載のメモリシステム。
【請求項５】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリの近傍に設けられた発熱部による発熱制御を行う、
請求項１に記載のメモリシステム。
【請求項６】
前記メモリコントローラは、前記発熱部として、前記不揮発性メモリのパッケージの内部に設けられたダイオードによる発熱制御を行う、
請求項５に記載のメモリシステム。
【請求項７】
前記メモリコントローラは、前記発熱部として、前記不揮発性メモリが備えられた基板上に配線された導線に電流を流すことで、発熱制御を行う、
請求項５に記載のメモリシステム。
【請求項８】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第２の温度より高いか否かを判定し、
前記第２の温度より高いと判定した場合に、前記不揮発性メモリに書き込むデータを圧縮し、圧縮したデータを前記不揮発性メモリに書き込む、
請求項１に記載のメモリシステム。
【請求項９】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第２の温度より高いか否かを判定し、
前記第２の温度より高いと判定した場合に、第１の記録方式で不揮発性メモリに対するデータの書き込みを行い、前記第２の温度より高くはないと判定した場合に、当該第１の記録方式と比べてセルに記録するビット数が多い第２の記録方式で不揮発性メモリに対するデータの書き込みを行う、
請求項１又は８に記載のメモリシステム。
【請求項１０】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリに対して電流を流すための制御を行う、
請求項１に記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記メモリコントローラ内の演算回路が所定の処理を繰り返し行う、
請求項１に記載のメモリシステム。
【請求項１２】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、ホストからの要求に従って、予め定められたデータ量を書き込む制御を行った後に、コンパクション及びリフレッシュのうちいずれか一つ以上を行う、
請求項１に記載のメモリシステム。
【請求項１３】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリのブロックに含まれている複数のワードラインを同時に書き込む、
請求項１に記載のメモリシステム。
【請求項１４】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリに対して第３の記録方式で書き込み制御を行った後に、前記不揮発性メモリに対して第３の記録方式と比べてセルに記録するビット数が多い第４の記録方式で書き込み制御を行う、
請求項１に記載のメモリシステム。
【請求項１５】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第１の温度より低いか否かを判定し、
前記第１の温度より低いと判定した場合に、前記不揮発性メモリの一つのブロックに含まれるワードラインに交互に書き込み制御を行う、
請求項１に記載のメモリシステム。
【請求項１６】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第２の温度より高いか否かを判定し、
前記第２の温度より高いと判定した場合に、前記不揮発性メモリのコンパクション制御及びリフレッシュ制御を抑止する、
請求項１に記載のメモリシステム。
【請求項１７】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第２の温度より高いか否かを判定し、
前記第２の温度より高いと判定した場合に、前記不揮発性メモリに対する処理にウェイトを挿入する、
請求項１に記載のメモリシステム。
【請求項１８】
前記メモリコントローラは、
前記温度情報で示される温度が、前記所定の条件として、第２の温度より高いか否かを判定し、
並列動作させるチャネルの数又はダイの数は、前記第２の温度以下と判定された場合と比べて、前記第２の温度より高いと判定された場合に、減少される、
請求項１に記載のメモリシステム。
【請求項１９】
不揮発性メモリの制御方法であって、
前記不揮発性メモリの温度情報を取得し、
前記温度情報で示される温度が所定の条件を満たすか否かを判定し、
前記所定の条件を満たしていないと判定した場合に、前記不揮発性メモリの温度を調整する制御を行う、
不揮発性メモリの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、メモリシステム、及び不揮発性メモリの制御方法に関する。
【背景技術】
【０００２】
従来から、ＮＡＮＤフラッシュメモリ等の不揮発性メモリは、信頼性が使用温度に依存する特性を有する。
【０００３】
例えば、不揮発性メモリのセルが高温状態の場合、セルのデータリテンション特性が常温時より悪化する。また、不揮発性メモリのセルが低温状態の場合、セルがリードディスターブ、プログラムディスターブの影響を常温時より受けやすい状態となる。
【０００４】
このように、高温時および低温時では、常温時に比べて、不揮発性メモリのセルの閾値電圧分布がシフトしやすくなる。換言すると、高温時および低温時では、データの読み取りやすさが悪化する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１６／０２３９２３５号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一つの実施形態は、データの読み取りやすさを向上させるメモリシステム、及び不揮発性メモリの制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、メモリシステムは、不揮発性メモリと、メモリコントローラと、を備える。メモリコントローラは、不揮発性メモリの温度情報を取得し、温度情報で示される温度が所定の条件を満たすか否かを判定し、所定の条件を満たしていないと判定した場合に、不揮発性メモリの温度を調整する制御を行う。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態のメモリシステムの構成を例示した図である。
【図２】図２は、第１の実施形態のＣＰＵによって実現される機能を例示したブロック図である。
【図３】図３は、第１の実施形態のＮＡＮＤパッケージにおける１論理ブロックの構成を例示した図である。
【図４】図４は、第１の実施形態のＮＡＮＤダイの構成を例示した図である。
【図５】図５は、第１の実施形態のＮＡＮＤダイを構成するプレーンのうち、書き込まれた領域と、書き込まれていない領域と、の詳細な構成を例示した図である。
【図６】図６は、第１の実施形態のメモリコントローラにおけるパディング処理の手順を示すフローチャートである。
【図７】図７は、第２の実施形態のＮＡＮＤパッケージの断面を示した図である。
【図８】図８は、第２の実施形態のＣＰＵによって実現される機能を例示したブロック図である。
【図９】図９は、第２の実施形態の変形例１のＮＡＮＤパッケージの断面を示した図である。
【図１０】図１０は、第２の実施形態の変形例２のメモリシステムの断面を示した図である。
【図１１】図１１は、第２の実施形態の変形例３のメモリシステムの断面を示した図である。
【図１２】図１２は、第３の実施形態のメモリシステムに配線された導線パターンを例示した図である。
【図１３】図１３は、第３の実施形態のＮＡＮＤパッケージ及び基板の部分断面図を例示した図である。
【図１４】図１４は、第４の実施形態のＣＰＵによって実現される機能を例示したブロック図である。
【図１５】図１５は、第４の実施形態のメモリコントローラにおけるライトデータの圧縮処理の手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、実施形態にかかるメモリシステム、及び不揮発性メモリの制御方法を詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【００１０】
（第１の実施形態）
メモリシステム１は、例えば、ＳＳＤ（Solid  State  Drive）であり、ホスト装置ＨＡと通信可能に接続されることが可能であり、ホスト装置ＨＡに対する外部記憶装置として機能し得る。ホスト装置ＨＡは、例えば、パーソナルコンピュータ、サーバ、ストレージボックスなどの情報処理装置、携帯電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなどの車載端末であってもよい。
【００１１】
図１は、第１の実施形態のメモリシステム１の構成を例示した図である。図１に示すように、メモリシステム１は、メモリコントローラ１００と、通信インターフェース１１０と、８個のＮＡＮＤパッケージ１２０、１２１、…、１２７と、を備える。なお、本実施形態は、ＮＡＮＤパッケージが８個の場合について説明するが、ＮＡＮＤパッケージの数を制限するものではなく、１個以上であれば良い。
【００１２】
通信インターフェース１１０は、ＣＰＵ１０１による制御に従って、ホスト装置ＨＡとの間の通信を制御する。通信インターフェース１１０は、ホスト装置ＨＡからコマンド（リードコマンドやライトコマンド）やライトするデータを受信する。また、通信インターフェース１１０は、リードコマンドに応じてリードされたデータをホスト装置ＨＡへ送信する。
【００１３】
ＮＡＮＤパッケージ１２０、１２１、…、１２７の各々は、１以上（本実施形態では４個）のＮＡＮＤダイ１３０＿１〜１３０＿４、１３１＿１〜１３１＿４、…、１３７＿１〜１３７＿４（以下、ＮＡＮＤダイ１３０、１３１、…、１３７とも称する）を備えている。なお、本実施形態は、ＮＡＮＤパッケージが有するＮＡＮＤダイの数が４個の場合について説明するが、４個に制限するものではなく、１個以上であれば良い。
【００１４】
本実施形態は、ＮＡＮＤパッケージ１２０、１２１、…、１２７で構成されるＮＡＮＤ型フラッシュメモリ（以下、ＮＡＮＤメモリと称する）を用いた例について説明するが、ＮＡＮＤメモリの代わりに任意の種類の不揮発性メモリを用いることができる。例えば、ＮＡＮＤメモリの代わりに、ＮＯＲ型のフラッシュメモリ、又は、立体構造のメモリセルを有するフラッシュメモリ、を適用可能である。
【００１５】
メモリコントローラ１００は、例えば、ＳｏＣ（System  on  a  Chip）パッケージとして実装される。メモリコントローラ１００は、メモリシステム１の各部を統括的に制御し、ホスト装置ＨＡとＮＡＮＤパッケージ１２０、１２１、…、１２７の間のデータ転送を実行する。
【００１６】
メモリコントローラ１００は、ＣＰＵ１０１と、ＮＡＮＤコントローラ１０２と、ＲＡＭ１０３と、ＮＡＮＤインターフェース１０４（０ｃｈ、１ｃｈ、…、７ｃｈ）と、を備える。ＣＰＵ１０１、ＮＡＮＤコントローラ１０２、及びＲＡＭ１０３は、バスで互いに接続されている。
【００１７】
ＲＡＭ１０３は、各種データを一時的に記憶する記憶領域として使用される。ＲＡＭ１０３には、ＤＲＡＭ（Dynamic  Random  Access  Memory）またはＳＲＡＭ（Static  Random  Access  Memory）を用いることが考えられる。
【００１８】
ＮＡＮＤコントローラ１０２は、ＣＰＵ１０１による制御に従って、ＮＡＮＤパッケージ１２０、１２１、…、１２７に対するアクセス制御を行う。アクセス制御とは、書き込み制御（ライト）、読み込み制御（リード）、および消去制御（イレース）を含むものとする。また、ＮＡＮＤコントローラ１０２は、同一チャネルに属するＮＡＮＤダイのまとまり（１３０＿１〜１３０＿４、１３１＿１〜１３１＿４、…、１３７＿１〜１３７＿４）毎にアクセス制御するためのＮＡＮＤインターフェース１０４（０ｃｈ、１ｃｈ、…、７ｃｈ）を備えている。これにより各チャネルに対する同時（並列）アクセスを実現できる。
【００１９】
ＣＰＵ１０１は、ファームウェアプログラムに基づいて動作する。例えば、ファームウェアプログラムはＮＡＮＤメモリに、メモリシステム１の製造・出荷時において予め格納されている。ＣＰＵ１０１は、起動時に、ＮＡＮＤメモリからＲＡＭ１０３にファームウェアプログラムをロードする。ＣＰＵ１０１は、ＲＡＭ１０３にロードされたファームウェアプログラムを実行することによって、各種機能部として機能する。
【００２０】
図２は、第１の実施形態のＣＰＵ１０１がファームウェアを実行することによって実現される機能を例示したブロック図である。ＣＰＵ１０１は、メモリコントローラ１００を制御する処理部２０１として機能する。処理部２０１は、温度取得部２０２と、判定部２０３と、アクセス制御部２０４と、を備える。
【００２１】
なお、処理部２０１の機能のうちの一部または全部は、ファームウェアを実行するＣＰＵ１０１ではなく、ハードウェア回路によって実現されてもよい。例えばメモリコントローラ１００は、ＦＰＧＡ（field-programmable  gate  array）またはＡＳＩＣ（application  specific  integrated  circuit）を備え、処理部２０１の機能のうちの一部または全部は、ＦＰＧＡまたはＡＳＩＣによって実行されてもよい。
【００２２】
温度取得部２０２は、ＮＡＮＤコントローラ１０２を介して、ＮＡＮＤダイ１３０、１３１、…１３７から、ＮＡＮＤダイ１３０、１３１、…１３７内の温度を示した温度情報を取得する。
【００２３】
本実施形態のＮＡＮＤダイ１３０、１３１、…１３７は、温度を測定する機構を備えているため、温度取得部２０２が、ＮＡＮＤダイ１３０、１３１、…１３７から温度情報を取得する例について説明する。なお、本実施形態は、温度の取得手法を、ＮＡＮＤダイ１３０、１３１、…１３７から取得する手法に制限するものではなく、メモリシステム１に設けられた温度センサから取得しても良い。
【００２４】
判定部２０３は、温度取得部２０２が取得した温度情報で示された温度が、低温閾値ＴＬより低いか否かを判定する。低温閾値ＴＬは、低温か否かを判定するための閾値であって、第１の温度の例とする。低温閾値ＴＬは、ＮＡＮＤパッケージ１２０、１２１、…、１２７の仕様など、実施態様に応じて設定される温度とする。
【００２５】
アクセス制御部２０４は、判定部２０３による判定結果に応じて、ＮＡＮＤパッケージ１２０、１２１、…、１２７に対するアクセス制御を行う。本実施形態においては、判定部２０３により温度取得部２０２が取得した温度情報で示された温度が、低温閾値ＴＬより低いと判定された場合に、アクセス制御部２０４は、ＮＡＮＤパッケージ１２０、１２１、…、１２７が備えるＮＡＮＤダイ１３０、１３１、…、１３７をアクティブにする制御を行う。
【００２６】
本実施形態においては、ＮＡＮＤダイ１３０、１３１、…、１３７をアクティブにする制御として、ＮＡＮＤダイ１３０、１３１、…、１３７に対するパディング処理を行う。パディング処理は、ＮＡＮＤダイ１３０、１３１、…、１３７のデータが書き込まれていない領域に任意のデータ（例えばゼロ）を書き込む処理とする。パディング処理を行うタイミングは、例えば、ホスト装置ＨＡからの要求に応じて、ＮＡＮＤダイ１３０、１３１、…、１３７にデータを書き込む前に行うが、書き込む前に制限するものではなく、例えば、ＮＡＮＤダイ１３０、１３１、…、１３７からデータを読み込む前に行っても良い。本実施形態においては、パディング処理を行うことで、ＮＡＮＤダイ１３０、１３１、…、１３７を発熱させて、ＮＡＮＤダイ１３０、１３１、…、１３７の温度を、常温（低温閾値ＴＬ以上）にまで上昇させることができる。
【００２７】
次に、本実施形態のアクセス制御部２０４が行うパディング処理について説明する。図３は、本実施形態のＮＡＮＤパッケージ１２０、１２１、…、１２７における１論理ブロックの構成を例示した図である。図３においては、例えばＮＡＮＤダイ１３０＿１においては、（データが書き込まれた）領域４５１及び（データが書き込まれていない）領域４５２で第１の物理ブロックを構成し、（データが書き込まれた）領域４５３及び（データが書き込まれていない）領域４５４で第２の物理ブロックを構成する。範囲４０１、４０２、…、４０７内も同様に、ＮＡＮＤダイ１３０、…、１３７毎の２個の物理ブロックを示している。本実施形態では、ＮＡＮＤダイ１３０＿１〜１３０＿４毎の２個の物理ブロック、ＮＡＮＤダイ１３１＿１〜１３１＿４毎の２個の物理ブロック、…、ＮＡＮＤダイ１３７＿１〜１３７＿４毎の２個の物理ブロックをまとめて１論理ブロックを形成する。
【００２８】
図３に示されるように、１論理ブロックは、ＮＡＮＤパッケージ１２０、１２１、…、１２７のＮＡＮＤダイ１３０＿１〜１３０＿４、ＮＡＮＤダイ１３１＿１〜１３１＿４、…、ＮＡＮＤダイ１３７＿１〜１３７＿４の各々に、２個の物理ブロックを分散して設けられている。
【００２９】
以下に示す例では、データが途中まで書き込まれた物理ブロックに任意のデータ（例えばゼロ）を書き込むことでパディング処理を行う例について説明するが、このような手法に制限するものではなく、書き込みがなされていない（空の）物理ブロックに対して任意のデータの書き込み処理を行うことで、パディング処理を行ってもよい。
【００３０】
図３に示される例は、論理ブロックのうち、データが途中まで書き込まれた物理ブロック（領域）を含む論理ブロックを示している。例えば、ＮＡＮＤダイ１３０＿１の２ブロックのうち、第１ブロックにおいて書き込まれた領域４５１と、書き込まれていない領域４５２と、が存在し、第２ブロックにおいて書き込まれた領域４５３と、書き込まれていない領域４５４と、が存在する。他のＮＡＮＤダイ１３０＿２〜１３０＿４、ＮＡＮＤダイ１３１＿１〜１３１＿４、…、ＮＡＮＤダイ１３７＿１〜１３７＿４についても同様とする。本実施形態のアクセス制御部２０４は、書き込まれていない領域４５２、４５４に対してパディング処理を行う。
【００３１】
図４は、本実施形態のＮＡＮＤダイ１３０＿１の構成を例示した図である。図４に示されるように、ＮＡＮＤダイ１３０＿１は、プレーン０と、プレーン１とで構成されている。本実施形態のＮＡＮＤダイ１３０＿１においては、プレーン０に含まれるブロック３０１と、プレーン１に含まれるブロック３０２と、が上述した論理ブロック１の一部を構成する。上述したように、ブロック３０１のうち、書き込まれた領域４５１と、書き込まれていない領域４５２と、が存在し、ブロック３０２のうち、書き込まれた領域４５３と、書き込まれていない領域４５４と、が存在する。
【００３２】
書き込まれた領域４５１、４５３のうち、書き込まれていない領域４５２、４５４に隣接する領域３０３、３０４は、他の領域よりリードエラーが生じやすい、つまりデータの読み取りやすさが悪くなるという問題がある。そこで、本実施形態においては、各論理ブロックのうち、データが途中まで書き込まれた物理ブロックを含む論理ブロックに対して、優先的にパディング処理を行うこととした。
【００３３】
図５は、本実施形態のＮＡＮＤダイを構成するプレーンのうち、書き込まれた領域と、書き込まれていない領域と、の詳細な構成を例示した図である。図５で示された例では、丸で示した領域が、読み込み及び書き込み可能なストリング（例えば３個のページの集合）を示している。本実施形態では、３個のページで構成される、同時に書き込み可能なページのまとまりをストリングと称する。本実施形態のストリングは、３個のページで構成される例とするが、ストリングを構成するページの数を制限するものではない。
【００３４】
図５に示されるように、ＮＡＮＤダイのブロックは、４個のストリングチャンクと、６４個のワードラインと、を乗算した数の、ストリングで構成されている。ストリングチャンクとは、ワードラインと直交する方向のストリングの数（集合）を示している。なお、本実施形態における、４個のストリングチャンクと、６４個のワードラインと、は例として用いたもので、ＮＡＮＤダイのブロックに含まれるストリングチャンク及びワードラインの数を制限するものではなく、ストリングチャンク及びワードラインが複数であればよい。
【００３５】
そして、斜線で示されたストリングが、すでにデータが書き込まれており、白で示されたストリングが、まだデータが書き込まれていないものとする。そして、すでにデータが書き込まれたストリングのうち、まだデータが書き込まれていないストリングに隣接するストリング群５０１においてリードエラー生じる可能性、つまりデータの読み取りやすさが悪くなる可能性が高い。そこで、本実施形態のアクセス制御部２０４は、データが書き込まれたストリング群５０１（領域）に隣接する、データが書き込まれていないストリング群５０２（領域）からパディング処理を行う。
【００３６】
このように、本実施形態のアクセス制御部２０４は、ＮＡＮＤダイの物理ブロックのうち、データが途中まで書き込まれた物理ブロックにおいて、当該物理ブロックのデータが書き込まれたストリングに隣接する、データが書き込まれていないストリングからパディング処理を行う。なお、本実施形態は、ストリング毎にパディング処理を行う例とするが、ストリング毎に制限するではなく、データが書き込まれる領域毎であれば良い。
【００３７】
これにより、ＮＡＮＤダイからデータを読み込む際のエラー率を低減させると共に、ＮＡＮＤダイをアクティブにすることで常温に近づけることができる。
【００３８】
また、アクセス制御部２０４は、データが途中まで書き込まれた物理ブロックを含む論理ブロックに対するパディング処理が終了した後、温度情報で示される温度が、低温閾値ＴＬより小さい場合、さらに他の論理ブロックに対するパディング処理を行う。低温閾値ＴＬより小さい場合に、パディング処理による発熱が行われるため、ＮＡＮＤダイを常温にすることができる。
【００３９】
次に、本実施形態のメモリコントローラ１００におけるパディング処理について説明する。図６は、本実施形態のメモリコントローラ１００における上述した処理の手順を示すフローチャートである。図６に示されるフローチャートは、例えば、ホスト装置ＨＡからの要求に応じて、ＮＡＮＤダイ１３０、１３１、…、１３７に対するリードアクセス又はライトアクセス前に行われるパディング処理を示したものとする。
【００４０】
まず、温度取得部２０２が、ＮＡＮＤダイ１３０、１３１、…、１３７から温度情報を取得する（Ｓ６０１）。本実施形態は、制御対象を制限するものではなく、例えば、ＮＡＮＤダイ１３０、１３１、…、１３７から取得した温度情報に基づいて、ＮＡＮＤダイ１３０、１３１、…、１３７毎に制御を行っても良いし、ＮＡＮＤダイ１３０、１３１、…、１３７のうちいずれか一つから取得した温度情報に基づいて、ＮＡＮＤダイ１３０、１３１、…、１３７全てを制御しても良い。
【００４１】
次に、判定部２０３が、温度情報で示された温度が、低温閾値ＴＬより低いか否かを判定する（Ｓ６０２）。温度情報で示された温度が、低温閾値ＴＬ以上と判定した場合（Ｓ６０２：Ｎｏ）、アクセス制御部２０４は、ＮＡＮＤダイ１３０、１３１、…、１３７に対して通常通りのリードアクセス又はライトアクセスを実行し（Ｓ６０９）、処理を終了する。
【００４２】
一方、判定部２０３が、温度情報で示された温度が、低温閾値ＴＬより低いと判定した場合（Ｓ６０２：Ｙｅｓ）、アクセス制御部２０４が、データが途中まで書き込まれた論理ブロックであって、データが書き込まれていないストリングのうち、データが書き込まれたストリング群５０１に隣接するストリング群５０２（４ストリング分）にパディング処理を行う（Ｓ６０３）。
【００４３】
その後、温度取得部２０２が、ＮＡＮＤダイ１３０、１３１、…、１３７から温度情報を再度取得する（Ｓ６０４）。
【００４４】
そして、判定部２０３が、温度情報で示された温度が、低温閾値ＴＬより低いか否かを判定する（Ｓ６０５）。温度情報で示された温度が、低温閾値ＴＬ以上と判定した場合（Ｓ６０５：Ｎｏ）、アクセス制御部２０４は、ＮＡＮＤダイ１３０、１３１、…、１３７に対して通常通りのリードアクセス又はライトアクセスを実行し（Ｓ６０９）、処理を終了する。
【００４５】
一方、判定部２０３が、温度情報で示された温度が、低温閾値ＴＬ未満と判定した場合（Ｓ６０５：Ｙｅｓ）、アクセス制御部２０４はパディング処理の対象の論理ブロック全てがパディング処理されたか否かを判定する（Ｓ６０６）。論理ブロック全てがパディング処理されたと判定された場合（Ｓ６０６：Ｙｅｓ）、パディング処理の対象を次の論理ブロックに変更する（Ｓ６０７）。
【００４６】
そして、アクセス制御部２０４は、論理ブロック全てがパディング処理されなかった場合（Ｓ６０６：Ｎｏ）及びＳ６０７でパディング処理の対象を変更した後、パディング処理の対象の論理ブロックに対して、１ストリング毎に、パディング処理を行う（Ｓ６０８）。その後、再び、Ｓ６０４から処理を行う。
【００４７】
本実施形態においては、常温まで温度を上昇させたいＮＡＮＤダイ１３０、１３１、…、１３７でパディング処理を行う例について説明した。しかしながら、同じＮＡＮＤパッケージ内であれば、一つのＮＡＮＤダイの温度が上昇した場合に、近傍のＮＡＮＤダイも暖めることができる。このように、ＮＡＮＤパッケージのうちいずれか一つのＮＡＮＤダイのパディング処理を行うようにしても良い。
【００４８】
本実施形態においては、ＮＡＮＤダイ１３０、１３１、…、１３７でパディング処理を行うことで、ＮＡＮＤダイ１３０、…、１３７を常温程度まで加熱できる。
【００４９】
従来、ＮＡＮＤダイが低温状態の場合、セルの閾値電圧分布がシフトしやすくなる。換言すると、低温状態で書き込まれたデータの読み取りやすさが悪化する。そして、データの読み取りやすさが悪化したために、データの読み込み時にフェイルした場合にリトライリードが行われる。さらには、リトライリードが行われたことによって、データの読み取りやすさが悪化したと判断された場合に、読み取りやすさが悪化したページのデータを、別のページに書き込むリフレッシュが行われる。リフレッシュとは、データのエラー訂正ができなくなる前に、当該データの再書き込みする処理とする。
【００５０】
これに対して、本実施形態では、ＮＡＮＤダイ１３０、…、１３７を常温程度まで加熱して、データの読み取りやすさが悪化するのを防ぐことで、外部温度起因で行われるリフレッシュなどのバックグラウンド処理増加による、メモリシステム１の性能悪化(リード,ライト速度の低減)を抑制できる。
【００５１】
（第１の実施形態の変形例１）
第１の実施形態においては、アクセス制御部２０４が、データが途中まで書き込まれた物理ブロックを含む論理ブロックに対して、優先的にパディング処理を行う例について説明した。しかしながら、第１の実施形態は、このような制御に制限するものでない。第１の実施形態の変形例１においては、他の手法を行う場合について説明する。
【００５２】
第１の実施形態の変形例１のアクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、ＮＡＮＤパッケージ１２０、１２１、…、１２７が備えるＮＡＮＤダイ１３０、１３１、…、１３７に対して電流を流すための制御を行う。電流を流すための制御としては、従来から用いられている手法を問わず、どのような手法を用いても良い。本変形例では、ＮＡＮＤダイ１３０、１３１、…、１３７に対して電流を流すことで、ＮＡＮＤダイ１３０、１３１、…、１３７を常温にまで温度を上昇させることができる。
【００５３】
（第１の実施形態の変形例２）
さらなる変形例について説明する。第１の実施形態の変形例２においては、メモリコントローラ１００内のＣＰＵ１０１のアクセス制御部２０４が、所定の処理を繰り返し行う例とする。
【００５４】
第１の実施形態の変形例２のアクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、例えば“while”文を用いたループ処理を行う。これにより、メモリシステム１内のＮＡＮＤダイ１３０、１３１、…、１３７の温度を常温にまで上昇させることができる。本変形例はＣＰＵ１０１が所定の処理を繰り返し行う例について説明したが、メモリコントローラ１００内の演算回路であればよい。
【００５５】
（第１の実施形態の変形例３）
さらなる変形例について説明する。第１の実施形態の変形例３においては、アクセス制御部２０４が、ガーベージコレクション（コンパクション）及びリフレッシュを行う例とする。コンパクションとは、ＮＡＮＤメモリにおいて、ブロック内の任意のページのデータが不要となった場合に、当該ブロック内の必要なデータが格納されたページを、他のブロックに転送（書き込み）し、必要なデータを転送した後のブロックをイレースする処理とする。
【００５６】
第１の実施形態の変形例３のアクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、ホスト装置ＨＡからの要求に従って、所定のデータ量についてライトアクセス（データの書き込み）を行った場合に、コンパクション及びリフレッシュを行う。つまり、コンパクション及びリフレッシュは、バックグラウンド処理であるため、実行が少し遅れたとしても、ホスト装置ＨＡから認識できない。そこで、本変形例では、ホスト装置ＨＡからの要求に従って、所定のデータ量のライトアクセスを行って、ＮＡＮＤダイ１３０、１３１、…、１３７の温度を上昇させた後に、コンパクション及びリフレッシュを行うこととした。なお、本実施形態は、コンパクション及びリフレッシュを行う手法に制限するものではなく、コンパクション及びリフレッシュのうちいずれか一方のみ行うようにしても良い。
【００５７】
（第１の実施形態の変形例４）
さらなる変形例について説明する。第１の実施形態の変形例４においては、アクセス制御部２０４が、複数のワードラインを同時に書き込む例とする。
【００５８】
第１の実施形態の変形例４のアクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、ホスト装置ＨＡからの要求に従って、ライトアクセス（データの書き込み）を行う際に、書き込むデータを、一時的に（図示しない）キャッシュに格納し、所定のデータ量がたまった後に、複数のワードラインに同時に書き込む制御を行う。アクセス制御部２０４が、同時に書き込む制御としては、複数のチャネルによる並列書き込みを行う、又は複数のダイに対する並列書き込みを行うことが考えられる。
【００５９】
このように、本変形例では、同時に書き込みで生じる発熱で、ＮＡＮＤダイ１３０、１３１、…、１３７を常温にまで温度を上昇させることができる。
【００６０】
（第１の実施形態の変形例５）
さらなる変形例について説明する。第１の実施形態の変形例５においては、アクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、ＮＡＮＤダイ１３０、１３１、…、１３７に対してＳＬＣ方式（第３の記録方式の例）で書き込み制御を行った後に、ＮＡＮＤダイ１３０、１３１、…、１３７に対して、ＳＬＣ方式よりセルに記録するビット数が多いＴＬＣ方式（第４の記録方式の例）で書き込み制御を行う。本実施形態においては、比較的エラーの生じにくいＳＬＣ方式による書き込み制御で、ＮＡＮＤダイ１３０、１３１、…、１３７を暖めた後、ＴＬＣ方式による書き込み制御を行うことで、ＮＡＮＤダイ１３０、１３１、…、１３７を常温にまで温度を上昇させる。
【００６１】
本変形例では、比較的エラーが生じやすいＴＬＣ方式で書き込みを行う前に、ＴＬＣ方式よりセルに記録するビット数が少なく比較的エラーが生じにくいＳＬＣ方式で書き込み制御を行って、ＮＡＮＤダイ１３０、１３１、…、１３７を上昇させることとした。これにより、本変形例は、エラー率を低減させ、信頼性を向上させることができる。
【００６２】
なお、本変形例では、記録方式として、ＴＬＣ方式で書き込み制御を行う例について説明したが、最初に書き込み制御を行った記録方式（例えば、ＳＬＣ方式）よりセルに記録するビット数が多い記録方式であれば良く、例えば、ＭＬＣ方式や、ＱＬＣ方式を用いてもよい。
【００６３】
（第１の実施形態の変形例６）
さらなる変形例について説明する。第１の実施形態の変形例６においては、ＣＰＵ１０１のアクセス制御部２０４が、ＮＡＮＤダイ１３０、１３１、…、１３７の一つのブロックに含まれるワードラインを交互に書き込み制御を行う例とする。
【００６４】
第１の実施形態の変形例６のアクセス制御部２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、ＮＡＮＤダイ１３０、１３１、…、１３７に含まれるブロックのうち、書き込み対象となるブロックを構成する複数のワードラインについて、一方のワードラインについて書き込み制御を行った後、他方のワードラインについて書き込み制御を行う。その後、アクセス制御部２０４は、一方のワードラインについて書き込み制御を行った後、他方のワードラインについて書き込み制御を行う。このように、ワードラインに対して交互に書き込み制御を行うことで、ＮＡＮＤダイ１３０、１３１、…、１３７から発熱が生じ、ＮＡＮＤダイ１３０、１３１、…、１３７を常温にまで温度を上昇させることができる。
【００６５】
（第２の実施形態）
第１の実施形態においては、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が低温閾値ＴＬより低い場合に常温まで上げるためにパディング処理を行う場合について説明した。しかしながら、第１の実施形態は、常温まで上げるための処理を、パディング処理等のソフトウェア制御に制限するものはなく、ハードウェア資源を用いて温度を上げる処理を行っても良い。そこで、第２の実施形態では、発光ダイオードを用いて温度を上昇させる場合について説明する。
【００６６】
本実施形態のＮＡＮＤパッケージ１２０、１２１、…、１２７は、パッケージ内に、熱伝導シートと、発光ダイオードと、が設けられている。
【００６７】
図７は、本実施形態のＮＡＮＤパッケージ１２０の断面を示した図である。図７に示されるように、ＮＡＮＤパッケージ１２０に設けられたＮＡＮＤダイ１３０＿１、…、１３０＿４を横断するように熱伝導シート７０１が設けられている。そして、ＮＡＮＤパッケージ１２０の内面のうち、熱伝導シート７０１に対向する面に、発光ダイオード７０２が設けられている。
【００６８】
そして、メモリコントローラ１００が、発光ダイオード７０２を発光させることで、熱伝導シート７０１を介してＮＡＮＤダイ１３０＿１、…、１３０＿４に熱が伝わるので、ＮＡＮＤダイ１３０＿１、…、１３０＿４を常温まで上昇させる。
【００６９】
図８は、本実施形態のＣＰＵ１０１がファームウェアを実行することによって実現される機能を示したブロック図である。ＣＰＵ１０１は、メモリコントローラ１００を制御する処理部８０１として機能する。処理部８０１は、温度取得部２０２と、判定部２０３と、温度制御部８０２と、を備える。なお、第１の実施形態と同様の構成については、同一の符号を割り当て、説明を省略する。
【００７０】
本実施形態の温度制御部８０２は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、発光ダイオード７０２を発光させるための制御を行う。これにより、ＮＡＮＤダイ１３０、…、１３７の温度を常温まで上昇させることができる。
【００７１】
本実施形態においては、発光ダイオード７０２を発光させることで、ＮＡＮＤダイ１３０、…、１３７を常温程度まで加熱できる。本実施形態では、ＮＡＮＤダイ１３０、…、１３７を常温程度まで加熱して、データの読み取りやすさが悪化するのを防ぐことで、外部温度起因で行われるリフレッシュなどのバックグラウンド処理増加による、メモリシステム１の性能悪化(リード,ライト速度の低減)を抑制できる。
【００７２】
（第２の実施形態の変形例１）
第２の実施形態では、熱伝導シート７０１を用いて、一つの発光ダイオード７０２で複数のＮＡＮＤダイ１３０＿１、…、１３０＿４を暖める例について説明した。しかしながら、第２の実施形態は、熱伝導シート７０１を用いる手法に制限するものではない。そこで、第２の実施形態の変形例１では、ＮＡＮＤダイ１３０＿１、…、１３０＿４毎に発光ダイオードを設けた場合について説明する。
【００７３】
図９は、本変形例のＮＡＮＤパッケージ１２０の断面を示した図である。図９に示されるように、ＮＡＮＤパッケージ１２０に設けられたＮＡＮＤダイ１３０＿１、…、１３０＿４毎に、発光ダイオード９０１、９０２、９０３、９０４が設けられている。
【００７４】
第２の実施形態と同様に、温度制御部８０２は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、発光ダイオード９０１、９０２、９０３、９０４を発光させるための制御を行う。これにより、ＮＡＮＤダイ１３０、…、１３７の温度を常温まで上昇させることができる。
【００７５】
（第２の実施形態の変形例２）
第２の実施形態及びその変形例においては、ＮＡＮＤパッケージ内に発光ダイオードを設ける手法について説明した。しかしながら、発光ダイオードを設ける位置を制限するものではない。そこで、第２の実施形態の変形例２においては、メモリシステム１全体を覆う筐体部に、発光ダイオードを設ける手法について説明する。なお、メモリシステムの構成については上述した実施形態と同様として、説明を省略する。
【００７６】
図１０は、本変形例のメモリシステムの断面を示した図である。図１０に示される例では、メモリシステム１を覆う筐体として、第１のカバー１４０２と、第２のカバー１４０３と、とが設けられている。そして、第１のカバー１４０２と、第２のカバー１４０３と、回路板１４０１と、がネジ１４０６、１４０７により固定されている例とする。
【００７７】
回路板１４０１上には、ＮＡＮＤパッケージ１２０、１２１、１２２、…が設けられている。そして、ＮＡＮＤパッケージ１２０、１２１、１２２、…の表面部を覆うように熱伝導シート１４０４が設けられている。そして、メモリシステム１の筐体の一部である第１のカバー１４０２であって、熱伝導シート１４０４に対向する面に、発光ダイオード１４０５が設けられている。
【００７８】
そして、メモリコントローラ１００が、発光ダイオード１４０５を発光させることで、熱伝導シート１４０４を介してＮＡＮＤパッケージ１２０、１２１、１２２、…に熱が伝わるので、ＮＡＮＤパッケージ１２０、１２１、１２２、…を常温まで上昇させる。なお、発光ダイオード１４０５を発光させるための制御手法については、第２の実施形態と同様として説明を省略する。これにより、第２の実施形態と同様の効果を奏することが可能となる。
【００７９】
（第２の実施形態の変形例３）
第２の実施形態の変形例２では、熱伝導シート１４０４を用いて、一つの発光ダイオード１４０５で複数のＮＡＮＤパッケージ１２０、１２１、１２２、…を暖める例について説明した。しかしながら、第２の実施形態の変形例２は、熱伝導シート１４０４を用いる手法に制限するものではない。そこで、第２の実施形態の変形例３では、ＮＡＮＤパッケージ１２０、１２１、１２２、…毎に発光ダイオードを設けた場合について説明する。
【００８０】
図１１は、本変形例のメモリシステムの断面を示した図である。図１１に示される例では、図１０と同一の構成について、同一の符号を割り当て、説明を省略する。そして、図１１に示されるように、メモリシステムに設けられたＮＡＮＤパッケージ１２０、１２１、１２２、…毎に、発光ダイオード１５００、１５０１、１５０２、…が設けられている。
【００８１】
そして、メモリコントローラ１００が、発光ダイオード１５００、１５０１、１５０２、…を発光させることで、ＮＡＮＤパッケージ１２０、１２１、１２２、…を常温まで上昇させる。なお、発光ダイオード１５００、１５０１、１５０２、…を発光させるための制御手法については、第２の実施形態と同様として説明を省略する。これにより、第２の実施形態と同様の効果を奏することが可能となる。
【００８２】
（第３の実施形態）
第２の実施形態では、発光ダイオードを発熱部として用いてＮＡＮＤダイ１３０、…、１３７の温度を常温まで上昇させる例について説明した。しかしながら、ＮＡＮＤダイ１３０、…、１３７の温度を常温まで上昇させるための発熱部（ハードウェア資源）を、発光ダイオードに制限するものではない。そこで、第３の実施形態では、導線に電流を流すことで、ＮＡＮＤダイ１３０、…、１３７を暖める場合について説明する。
【００８３】
図１２は、本実施形態のメモリシステム１に配線された導線パターンを例示した図である。図１２に示されるように、メモリコントローラ１００は、電源制御部１０００を備えている。電源制御部１０００から抵抗を介して、各ＮＡＮＤパッケージ１２０、１２１、１２２、…に導線１０１０、１０１１、１０１２、…がそれぞれ配線されている。
【００８４】
また、メモリコントローラ１００は、導線１０１０、１０１１、１０１２、…に対して選択的に電流が流す制御を可能とする。これにより、例えば、メモリコントローラ１００は、ＮＡＮＤパッケージ１２０、１２１、１２２、…のうち、低温と判断されたＮＡＮＤパッケージや、アクセス対象となるＮＡＮＤパッケージに限り、電流を流す制御が可能となる。
【００８５】
図１３は、ＮＡＮＤパッケージ１２０及び基板１０５０の部分断面図を例示した図である。図１３に示されるように、ＮＡＮＤパッケージ１２０の半田ボール１１０１の間であって、基板１０５０上に導線１０１０が配線されている。これにより、抵抗が設けられた導線１０１０に電流を流すことで、ＮＡＮＤパッケージ１２０の温度を上昇させることができる。
【００８６】
図１３で示した導線１０１０と同様に、他の導線１０１１、１０１２、…は、他のＮＡＮＤパッケージ１２１、１２２、…と、基板１０５０と、の間に配線されている。具体的には、他のＮＡＮＤパッケージ１２１、１２２、…が基板１０５０と接触している半田ボールの間に配線されている。
【００８７】
当該制御は、どの機能ブロックが行っても良いが、例えば、第２の実施形態の温度制御部８０２が行うことが考えられる。つまり、温度制御部８０２は、温度取得部２０２が取得した温度情報で示された温度が、判定部２０３によって低温閾値ＴＬより低いと判定された場合に、電源制御部１０００を介して、導線１０１０、１０１１、１０１２、…に電流を流す制御を行う。これにより、第２の実施形態と同様の効果を得ることができる。
【００８８】
本実施形態においては、ＮＡＮＤパッケージ１２０、１２１、１２２、…近傍に導線を配し、導線に電流を流すことで導線を発熱させることとした。これにより、ＮＡＮＤパッケージ１２０、１２１、１２２、…を常温程度まで加熱できる。本実施形態では、ＮＡＮＤパッケージ１２０、１２１、１２２、…を常温程度まで加熱して、データの読み取りやすさが悪化するのを防ぐことで、外部温度起因で行われるリフレッシュなどのバックグラウンド処理増加による、メモリシステム１の性能悪化(リード,ライト速度の低減)を抑制できる。
【００８９】
また、導線を発熱させて暖めるＮＡＮＤパッケージ１２０、１２１、１２２、…を特に制限するものではなく、ＮＡＮＤパッケージ１２０、１２１、１２２、…全て同時に暖めても良いし、ＮＡＮＤパッケージ１２０、１２１、１２２、…のうちリード・ライト制御が行われるパッケージのみを暖めても良い。
【００９０】
本実施形態においては、導線がＮＡＮＤパッケージ１２０、１２１、１２２、…の各々に設けられた例について説明したが、導線の配線パターンを制限するものではない。例えば、一つの導線がＮＡＮＤパッケージ１２０、１２１、１２２、…全てを通るように配線しても良い。さらに、本実施形態は、導線の配線手法を制限するものではなく、例えば、基板内(積層基板の最上位層など)に導線を配線してもよい。
【００９１】
上述した実施形態においては、導線や発光ダイオードを用いて、ＮＡＮＤパッケージ１２０、１２１、１２２、…又は、ＮＡＮＤパッケージ１２０、１２１、１２２、…内のＮＡＮＤダイ１３０、１３１、…、１３７に対する発熱制御を行う場合について説明した。しかしながら、上述した実施形態は、発熱制御を行う発熱部を制限するものではない。ＮＡＮＤパッケージ１２０、１２１、１２２、…又は、ＮＡＮＤパッケージ１２０、１２１、１２２、…内のＮＡＮＤダイ１３０、１３１、…、１３７の近傍に設けられた発熱部により発熱制御が可能であれば良い。
【００９２】
（第４の実施形態）
上述した実施形態及び変形例においては、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が、常温より低い場合について説明した。しかしながら、上述した実施形態及び変形例は、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が常温より低い場合に行う処理に制限するものではなく、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が常温より高い場合に、温度を調整するための処理を行ってもよい。そこで、第４の実施形態では、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が常温より高い場合に行う処理について説明する。
【００９３】
図１４は、本実施形態のＣＰＵ１０１がファームウェアを実行することによって実現される機能を示したブロック図である。ＣＰＵ１０１は、メモリコントローラ１００を制御する処理部１２０１として機能する。処理部１２０１は、温度取得部２０２と、判定部１２０２と、圧縮処理部１２０３と、アクセス制御部１２０４と、を備える。
【００９４】
判定部１２０２は、温度取得部２０２によって取得された温度情報で示された温度が、高温閾値ＴＨより高いか否かを判定する。高温閾値ＴＨは、高温か否かを判定するための閾値であって、第２の温度の例とする。高温閾値ＴＨは、ＮＡＮＤパッケージ１２０、１２１、…、１２７の仕様など、実施態様に応じて設定される温度とする。
【００９５】
温度取得部２０２が取得した温度情報で示された温度が、判定部１２０２によって高温閾値ＴＨより高いと判定された場合に、圧縮処理部１２０３は、ホスト装置ＨＡから受け取った、ＮＡＮＤメモリに書き込むデータ（以下、ライトデータと称する）に対して圧縮処理を行う。本実施形態においては、圧縮処理部１２０３がライトデータを圧縮することで、ＮＡＮＤダイ１３０、…、１３７に書き込まれるデータ量が削減される。これにより、ＮＡＮＤダイ１３０、…、１３７に書き込む際に消費されるエネルギーが削減されるので、温度上昇を抑止することができる。
【００９６】
アクセス制御部１２０４は、判定部１２０２による判定結果に応じて、ＮＡＮＤパッケージ１２０、１２１、…、１２７に対するアクセス制御を行う。本実施形態においては、温度取得部２０２が取得した温度情報で示された温度が、判定部１２０２によって高温閾値ＴＨより高いと判定された場合に、アクセス制御部１２０４は、圧縮処理部１２０３により圧縮されたライトデータを、ＮＡＮＤダイ１３０、…、１３７に対して、例えば、１セルあたりに２ビットの情報を保存する、ＭＬＣ（Multiple  Level  Cell）方式で書き込む処理を行う。そして、高温閾値ＴＨ以下と判定された場合に、アクセス制御部１２０４は、通常のライトデータを、ＮＡＮＤダイ１３０、…、１３７に対して、ＭＬＣ方式と比べてセルに記録するビット数が多いＴＬＣ(Triple  Level  Cell)方式で書き込む処理を行う。
【００９７】
このように、本実施形態のアクセス制御部１２０４は、ＮＡＮＤダイ１３０、…、１３７が常温と判定された場合には、圧縮処理部１２０３により圧縮されていない、通常のライトデータを、ＴＬＣ(Triple  Level  Cell)方式（第２の記録方式の例）で書き込み、ＮＡＮＤダイ１３０、…、１３７が高温と判定された場合には、圧縮処理部１２０３により圧縮されたライトデータを、ＭＬＣ（Multiple  Level  Cell）方式（第１の記録方式の例）で書き込むこととした。ＴＬＣ方式は、ＭＬＣ方式と比べて、書き込み量が多いため、ＮＡＮＤダイ１３０、…、１３７に放出される電子量が多くなる。換言すれば、記録方式を、ＴＬＣ方式から、ＭＬＣ方式に切り替えることで、ＮＡＮＤダイ１３０、…、１３７に放出される電子量を低減できる。これにより、書き込みに用いる総エネルギー量を低減できる。
【００９８】
なお、本実施形態は、データを記録する記録方式として、１セルあたりに３ビットの情報を保存するＴＬＣ方式と、１セルあたりに２ビットの情報を保存するＭＬＣ方式と、を切り替える例について説明した。しかしながら、本実施形態は、記録方式の切り替え方式を制限するものではなく、１セル当たりに保存するビット数が切り替え可能であれば良い。例えば、１セルあたり４ビットの情報を保存するＱＬＣ（Quad  Level  Cell）方式と１セルあたり１ビットの情報を保存するＳＬＣ（Single  Level  Cell）方式との切り替えや、ＴＬＣ方式とＳＬＣ方式との切り替えや、ＭＬＣ方式とＳＬＣ方式の切り替え等を行っても良い。
【００９９】
つまり、本実施形態は、温度取得部２０２によって取得された温度情報で示された温度が、高温閾値ＴＨより高いと判定された場合に、ライトデータを圧縮した上で、セルあたりに保存するビット数を低減させることで、ＮＡＮＤダイ１３０、…、１３７の発熱を抑えて、温度の低下を実現できる。
【０１００】
次に、本実施形態のメモリコントローラ１００におけるライトデータの圧縮処理について説明する。図１５は、本実施形態のメモリコントローラ１００における上述した処理の手順を示すフローチャートである。
【０１０１】
まず、温度取得部２０２が、ＮＡＮＤダイ１３０、１３１、…、１３７から温度情報を取得する（Ｓ１３０１）。
【０１０２】
次に、判定部１２０２が、温度情報で示された温度が、高温閾値ＴＨより高いか否かを判定する（Ｓ１３０２）。温度情報で示された温度が、高温閾値ＴＨ以下と判定された場合（Ｓ１３０２：Ｎｏ）、アクセス制御部１２０４は、ＮＡＮＤダイ１３０、１３１、…、１３７に対してライトデータをＴＬＣ方式で書き込み（Ｓ１３０５）、処理を終了する。
【０１０３】
一方、判定部１２０２が、温度情報で示された温度が、高温閾値ＴＨより高いと判定した場合（Ｓ１３０２：Ｙｅｓ）、圧縮処理部１２０３が、ライトデータの圧縮処理を行う（Ｓ１３０３）。そして、アクセス制御部１２０４が、圧縮されたライトデータを、ＭＬＣ方式で書き込む（Ｓ１３０４）。その後、再びＳ１３０１から処理を行う。
【０１０４】
本実施形態においては、上述した構成を備えることで、ＮＡＮＤダイ１３０、１３１、…、１３７の発熱を抑えて、温度を下げることができるので、書き込み時の温度に起因する性能の劣化を抑止できる。
【０１０５】
本実施形態においては、ＮＡＮＤダイ１３０、１３１、…、１３７の温度が高温閾値ＴＨより大きい場合に常温まで下げるための処理について説明した。本実施形態は、上述した処理のみに制限するものではなく、例えば、第１の実施形態及び第１の実施形態の変形例による、温度が低温閾値ＴＬより低い場合に、ＮＡＮＤダイ１３０、１３１、…、１３７をアクティブにすることで常温まで上げるための処理や、第２の実施形態や第３の実施形態で説明したハードウェア資源を用いてＮＡＮＤダイ１３０、１３１、…、１３７を暖める処理と、組み合わせても良い。
【０１０６】
本実施形態においては、ＮＡＮＤダイ１３０、１３１、…、１３７への書き込むデータ量を低減させることで、ＮＡＮＤダイ１３０、１３１、…、１３７の発熱を抑制し、高温状態にさらされることを抑制する。
【０１０７】
つまり、ＮＡＮＤダイが高温状態の場合、低温状態と同様に、セルの閾値電圧分布がシフトしやすくなる。換言すると、高温状態で書き込まれたデータの読み取りやすさが悪化する。
【０１０８】
本実施形態では、ＮＡＮＤダイ１３０、…、１３７の温度を下げることで、データの読み取りやすさが悪化するのを防ぐことで、外部温度起因で行われるリフレッシュなどのバックグラウンド処理増加による、メモリシステム１の性能悪化(リード、ライト速度の低減)を抑制できる。
【０１０９】
（第４の実施形態の変形例１）
第４の実施形態においては、アクセス制御部１２０４が、データの圧縮と、ＴＬＣ方式からＭＬＣ方式への切り替え処理と、を行う例について説明した。しかしながら、第４の実施形態は、このような制御に制限するものでない。第４の実施形態の変形例１においては、他の手法を行う場合について説明する。
【０１１０】
本変形例の変形例１のアクセス制御部１２０４は、ＮＡＮＤダイ１３０、…、１３７が常温に戻るまで、ＮＡＮＤダイ１３０、…、１３７に対するコンパクション制御及びリフレッシュ制御を抑止し、ホスト装置ＨＡからの要求に応じたＮＡＮＤダイ１３０、…、１３７に対するアクセス制御を優先する。
【０１１１】
第４の実施形態の変形例１のアクセス制御部１２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部１２０２によって高温閾値ＴＨより高いと判定された場合に、ＮＡＮＤダイ１３０、１３１、…、１３７に対するコンパクション制御及びリフレッシュ制御を抑止する。コンパクション制御及びリフレッシュ制御が抑止されるので、ＮＡＮＤダイ１３０、１３１、…、１３７からの発熱が低減されるので、ＮＡＮＤダイ１３０、１３１、…、１３７の温度を常温まで低下させることができる。なお、本変形例は、コンパクション制御及びリフレッシュ制御を抑止する例について説明したが、コンパクション制御及びリフレッシュ制御のうちいずれか一方の抑止でも良い。
【０１１２】
（第４の実施形態の変形例２）
さらなる変形例について説明する。第４の実施形態の変形例２のアクセス制御部１２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部１２０２によって高温閾値ＴＨより高いと判定された場合に、ＮＡＮＤダイ１３０、１３１、…、１３７に対するアクセスにウェイトを挿入する制御を行う。
【０１１３】
本変形例のアクセス制御部１２０４は、ＮＡＮＤダイ１３０、１３１、…、１３７に対して、リード、ライト、及びイレースを行う場合に、ウェイトを挿入する制御を行う。データのリード、データのライト、及びデータのイレースの待機が行われることで、発熱を抑制できる。なお、リード、ライト、及びイレースに対して挿入されるウェイトは、実施の態様に応じて、適切なウェイトが設定されるものとする。また、リード、ライト、及びイレースに対して挿入されるウェイトは、それぞれ異ならせても良いし、同じであっても良い。
【０１１４】
これにより、ＮＡＮＤダイ１３０、１３１、…、１３７に対してアクセスする間隔が長くなる。これにより、ＮＡＮＤダイ１３０、１３１、…、１３７からの発熱が低減されるので、ＮＡＮＤダイ１３０、１３１、…、１３７の温度を常温まで低下させることができる。
【０１１５】
（第４の実施形態の変形例３）
さらなる変形例について説明する。第４の実施形態の変形例３のアクセス制御部１２０４は、温度取得部２０２が取得した温度情報で示された温度が、判定部１２０２によって高温閾値ＴＨより高いと判定された場合に、ＮＡＮＤダイ１３０、１３１、…、１３７に対して同時に行われるアクセス数（書き込み数、読み込み数、又はイレースの数）を、高温閾値ＴＨ以下と判定された場合と比べて減少させる。
【０１１６】
アクセス数の減少とは、メモリシステム１において、並列動作させるチャネル数の減少、または、１つのチャネル内で並列動作(バンクインターリーブ)させるダイ数の減少ことを示すものとする。本変形例における、並列動作させる制御は、書き込み、読み込み、及びイレースが考えられるが、これら制御のうち、いずれか一つ以上であれば良い。
【０１１７】
換言すれば、並列動作させるチャネル数又はダイ数は、高温閾値ＴＨ以下と判定された場合と比べて、高温閾値ＴＨより高いと判定された場合に、アクセス制御部１２０４による制御で減少される。
【０１１８】
これにより、ＮＡＮＤダイ１３０、１３１、…、１３７からの発熱が低減されるので、ＮＡＮＤダイ１３０、１３１、…、１３７の温度を常温まで低下させることができる。
【０１１９】
本実施形態及び変形例においては、ＮＡＮＤダイが低温又は高温の場合に、ＮＡＮＤダイの温度を常温にまで調整する例について説明したが、常温にまで調整する手法に制限するものではなく、エラー率が低減できる温度まで調整できれば良い。例えば、ライト時の温度に応じて、エラーが少なくなると予想される温度(必ずしも常温とは限らない)まで、上述した実施形態及び変形例で用いた手法で制御した後、リードする等の制御を行っても良い。
【０１２０】
上述した実施形態及び変形例においては、不揮発性メモリの温度が、高温閾値ＴＨより高い場合、又は低温閾値ＴＬより低い場合について説明した。しかしながら、上述した実施形態及び変形例は、高温閾値ＴＨより高い場合、又は低温閾値ＴＬより低い場合に制限するものではなく、不揮発性メモリの温度が所定の条件を満たしている場合であればよい。例えば、温度の上昇率や下降率が所定の閾値を超える場合に、温度を調整する制御を行うようにしても良い。
【０１２１】
上述した実施形態及び変形例においては、ＮＡＮＤダイ１３０、１３１、…、１３７を、低温状態又は高温状態から、常温状態にするための制御を行うこととした。ところで、ＮＡＮＤダイ１３０、１３１、…、１３７等の不揮発性メモリにおいては、温度特性の影響により、低温・高温環境下では常温時に比べて性能劣化が生じやすい。
【０１２２】
例えば、不揮発性メモリが高温状態の場合、データリテンション特性が常温時より悪化する。一方、不揮発性メモリが低温状態の場合、リードディスターブ、プログラムディスターブの影響を常温時より受けやすい状態となる。
【０１２３】
不揮発性メモリは、上述した特性を備えるため、高温時および低温時では、常温時に比べて、不揮発性メモリのセルの閾値電圧分布がシフトしやすくなる。つまり、高温時および低温時では、データの読み取りやすさが悪化する。
【０１２４】
データの読み取りやすさが悪化した場合に、リフレッシュなどのバックグラウンド処理が増加することになるため、ホスト装置ＨＡからの命令に基づいた処理速度が低下し、換言すれば、リード速度やライト速度が低減する。
【０１２５】
これに対して、上述した実施形態及び変形例においては、低温状態又は高温状態から、常温状態にするための制御を行うことで、外部温度起因によるバックグラウンド処理の増加を抑止できるので、メモリシステム１の性能の劣化（リード、ライト速度の低下）を抑制できる。これにより、上述した実施形態及び変形例においては、データの読み取りやすさを向上させることができる。
【０１２６】
これにより、使用環境が変化しやすいノートＰＣ等に搭載されるようなクライアント向けのメモリシステムにおいて特に有効となる。
【０１２７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２８】
１  メモリシステム、１００  メモリコントローラ、１０１  ＣＰＵ、１０２  ＮＡＮＤコントローラ、１０３  ＲＡＭ、１１０  通信インターフェース、１２０、１２１、…、１２７  ＮＡＮＤパッケージ、１３０＿１、１３０＿２、１３０＿３、１３０＿４、１３１＿１、１３１＿２、１３１＿３、１３１＿４、…、１３７＿１、１３７＿２、１３７＿３、１３７＿４  ＮＡＮＤダイ、２０１、１２０１  処理部、２０２  温度取得部、２０３、１２０２  判定部、２０４、１２０４  アクセス制御部、７０１、１４０４  熱伝導シート、７０２  発光ダイオード、８０１  処理部、８０２  温度制御部、９０１、９０２、９０３、９０４、１４０５、１５０１、１５０１、１５０２、…  発光ダイオード、１０００  電源制御部、１１０１  半田ボール、１０１０、１０１１、１０１２、…  導線、１０５０  基板、１２０３  圧縮処理部、１４０１  回路板、１４０２  第１のカバー、１４０３  第２のカバー、１４０６、１４０７  ネジ。
【図１】
2019057194.tif 000003
【図２】
2019057194.tif 000004
【図３】
2019057194.tif 000005
【図４】
2019057194.tif 000006
【図５】
2019057194.tif 000007
【図６】
2019057194.tif 000008
【図７】
2019057194.tif 000009
【図８】
2019057194.tif 000010
【図９】
2019057194.tif 000011
【図１０】
2019057194.tif 000012
【図１１】
2019057194.tif 000013
【図１２】
2019057194.tif 000014
【図１３】
2019057194.tif 000015
【図１４】
2019057194.tif 000016
【図１５】
2019057194.tif 000017