(57)【要約】【課題】  温度上昇を抑制しつつメモリにアクセスすることを可能とする。【解決手段】  不揮発性半導体メモリを複数備える。そして、これら不揮発性半導体メモリを制御するコントローラを備える。このコントローラと複数の不揮発性半導体メモリとは、それぞれバスで接続される。そして、高温時は、パラレル制御から、インターリーブ制御等に切り替える。温度が低下した場合、再びパラレル制御に切り替える。このように、温度に応じて、適切に、制御を切り替える。【選択図】  図１
2012018648.tif 000002
【特許請求の範囲】
【請求項１】
第１の不揮発性半導体メモリと、
第２の不揮発性半導体メモリと、
これら第１及び第２の不揮発性半導体メモリを制御するコントローラと、
このコントローラと前記第１の不揮発性半導体メモリとを接続する第１のバスと、
このコントローラと前記第２の不揮発性半導体メモリとを接続する第２のバスとを備え、
第１の温度の際に、前記第１及び第２の不揮発性半導体メモリに対し、前記第１及び第２
のバスを用いて同時にデータを入力する時間帯を備える第１の動作モードと、
この第１の温度よりも高い第２の温度の際に、前記第１の不揮発性半導体メモリに対し、
前記第１のバスを用いてデータを入力した後に、前記第２の不揮発性半導体メモリに対し
、前記第２のバスを用いてデータを入力する第２の動作モードと、
を備えるように構成されている不揮発性半導体装置。
【請求項２】
請求項１記載の不揮発性半導体装置において、前記第１の不揮発性半導体メモリは、第１
のＮＡＮＤフラッシュメモリを備え、前記第２の不揮発性半導体メモリは、第２のＮＡＮ
Ｄフラッシュメモリを備えることを特徴とする不揮発性半導体装置。
【請求項３】
請求項２記載の不揮発性半導体装置において、前記第１の動作モードにおいて前記第１の
バスを用いて入力されたデータと、前記第１の動作モードにおいて前記第２のバスを用い
て入力されたデータとは、同時にプログラムされるように構成されることを特徴とする不
揮発性半導体装置。
【請求項４】
請求項２記載の不揮発性半導体装置において、
第３の不揮発性半導体メモリと、
第４の不揮発性半導体メモリと、
前記コントローラと前記第３の不揮発性半導体メモリとを接続する第３のバスと、
前記コントローラと前記第４の不揮発性半導体メモリとを接続する第４のバスとを備え、
前記第１の温度よりも低い第３の温度において、前記第１、第２、第３及び第４の不揮発
性半導体メモリに対し、前記第１、第２、第３及び第４のバスを用いて同時にデータを入
力する第３の動作モードを備え、
前記第１の動作モードにおいて、前記第１及び第２の不揮発性半導体メモリに対し、前記
第１及び第２のバスを用いてデータを入力する前記時間帯に、前記第３及び第４のバスは
、前記第３及び第４の不揮発性半導体メモリに対しデータを入力しないように構成されて
いる不揮発性半導体装置。
【請求項５】
第１の不揮発性半導体メモリと、
第２の不揮発性半導体メモリと、
これら第１及び第２の不揮発性半導体メモリを制御するコントローラと、
このコントローラと前記第１の不揮発性半導体メモリとを接続する第１のバスと、
このコントローラと前記第２の不揮発性半導体メモリとを接続する第２のバスとを備え、
第１の温度の際に、前記第１の不揮発性半導体メモリに対し、前記第１のバスを用いてデ
ータを入力し、入力されたデータが第１の不揮発性半導体メモリにプログラムされている
間に、前期第２の不揮発性半導体メモリに対し、前記第２のバスを用いてデータを入力す
ることを開始する第１の動作モードと、
この第１の温度よりも高い第２の温度の際に、前記第１の不揮発性半導体メモリに対し、
前記第１のバスを用いてデータを入力し、このデータをプログラムした後に、前記第２の
不揮発性半導体メモリに対し、前記第２のバスを用いてデータを入力する第２の動作モー
ドと、
を備えるように構成されている不揮発性半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願明細書の開示は、メモリシステムに関する。
【背景技術】
【０００２】
メモリ制御装置（コントローラ）から、不揮発性半導体メモリへの高速アクセスを実現
する技術として、パラレル制御や、インターリーブ制御が知られている。パラレル制御は
、転送バスを分割し、コントローラと複数のメモリとをそれぞれバスで接続することによ
って、複数のメモリへの同時アクセスを可能にする。インターリーブ制御は、一方のメモ
リへのデータ書き込み終了を待たずに、他方のメモリへのアクセスを開始することで、Ｂ
ｕｓｙ時間を削減し、高速アクセスを可能にする。
しかしながら、パラレル制御や、インターリーブ制御を行なうと、消費電流が増加し、
温度上昇に伴う故障を発生する懸念がある。このような問題を未然に防ぐために、消費電
流の上限値を設定しておき、これを超えないように動作を制御する方法が考えうる。これ
により、温度上昇を抑制しつつ、アクセス速度の向上を図ることが出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２０７１５公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したように、消費電流が所定値以下になるように動作制御することで、温度上昇を
気にすることなく、メモリを動作させることが可能となり得るが、この方法がアクセス速
度向上のための最適な方法とは限らない。本出願は、アクセス速度の向上に寄与しうる新
たな手段を提供する方法を開示する。
【課題を解決するための手段】
【０００５】
実施形態の不揮発性半導体装置は、第１の不揮発性半導体メモリと、第２の不揮発性半
導体メモリと、これら第１及び第２の不揮発性半導体メモリを制御するコントローラと、
このコントローラと前記第１の不揮発性半導体メモリとを接続する第１のバスと、このコ
ントローラと前記第２の不揮発性半導体メモリとを接続する第２のバスとを備え、第１の
温度の際に、前記第１及び第２の不揮発性半導体メモリに対し、前記第１及び第２のバス
を用いて同時にデータを入力する時間帯を備える第１の動作モードと、この第１の温度よ
りも高い第２の温度の際に、前記第１の不揮発性半導体メモリに対し、前記第１のバスを
用いてデータを入力した後に、前記第２の不揮発性半導体メモリに対し、前記第２のバス
を用いてデータを入力する第２の動作モードと、を備える。ここで第１の動作モードは、
たとえば、いわゆるパラレル制御であって良い。また、第２の動作モードは、いわゆるイ
ンターリーブ制御であって良い。
【０００６】
パラレル制御の場合、典型的には、プログラムも同時に実行される。ただし、同時にデ
ータを入力するとは、開始と終了が同時であることは要さない。少なくとも一部の時間帯
において、同時に入力されていれば良い。同様に、プログラムについて同時実行とは、少
なくとも一部の時間帯において、少なくとも一部のデータが同時に実行されていれば良い
。プログラミングの開始もしくは終了が完全に同時であることを要さない。なお、プログ
ラムとは、前記入力されたデータをメモリセルに書き込む作業を言う。
【０００７】
また、これら不揮発性半導体メモリは、典型的には、ＮＡＮＤフラッシュメモリである
。
【０００８】
また、さらに第３の不揮発性半導体メモリと、第４の不揮発性半導体メモリと、前記コン
トローラと前記第３の不揮発性半導体メモリとを接続する第３のバスと、前記コントロー
ラと前記第４の不揮発性半導体メモリとを接続する第４のバスとを備え、前記第１の温度
よりも低い第３の温度において、前記第１、第２、第３及び第４の不揮発性半導体メモリ
に対し、前記第１、第２、第３及び第４のバスを用いて同時にデータを入力する第３の動
作モードを備え、前記第１の動作モードにおいて、前記第１及び第２の不揮発性半導体メ
モリに対し、前記第１及び第２のバスを用いてデータを入力する前記時間帯に、前記第３
及び第４のバスは、前記第３及び第４の不揮発性半導体メモリに対しデータを入力しない
ように構成しても良い。
【０００９】
また、実施形態の不揮発性半導体装置は、第１の不揮発性半導体メモリと、第２の不揮
発性半導体メモリと、これら第１及び第２の不揮発性半導体メモリを制御するコントロー
ラと、このコントローラと前記第１の不揮発性半導体メモリとを接続する第１のバスと、
このコントローラと前記第２の不揮発性半導体メモリとを接続する第２のバスとを備え、
第１の温度の際に、前記第１の不揮発性半導体メモリに対し、前記第１のバスを用いてデ
ータを入力し、入力されたデータが第１の不揮発性半導体メモリにプログラムされている
間に、前記第２の不揮発性半導体メモリに対し、前記第２のバスを用いてデータを入力す
ることを開始する第１の動作モードと、この第１の温度よりも高い第２の温度の際に、前
記第１の不揮発性半導体メモリに対し、前記第１のバスを用いてデータを入力し、このデ
ータをプログラムした後に、前記第２の不揮発性半導体メモリに対し、前記第２のバスを
用いてデータを入力する第２の動作モードと、を備えるように構成する。ここで第１の動
作モードは、典型的には、インターリーブ制御である。
【発明の効果】
【００１０】
開示された発明によれば、温度上昇を抑制しつつメモリにアクセスすることが可能にな
る。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係る半導体メモリシステム１００の構成を示す図である。
【図２】図２は、実施形態に係るチップ１４０の内部構成を示す図である。
【図３】図３は、実施形態に係るパラレル制御の概念図である。
【図４】図４は、実施形態に係るパラレル制御のタイミングチャートである。
【図５】図５は、実施形態に係る通常制御のタイミングチャートである。
【図６】図６は、実施形態に係るパラレル制御の概念図である。
【図７】図７は、実施形態に係るインターリーブ制御の概念図である。
【図８】図８は、実施形態に係るインターリーブ制御のタイミングチャートである。
【発明を実施するための形態】
【００１２】
（第１の実施形態）
第１の実施形態に係る半導体装置の構成について、図１を用いて説明する。図１は、第
１の実施の形態の半導体メモリシステム１００（Ｍｅｍｏｒｙ Ｓｙｓｔｅｍ、以下「メ
モリシステム」ともいう。）の構成を示す構成図である。メモリシステム１００は、これ
に接続されるホスト２００のデータを記憶する半導体メモリ部（以下、「メモリ部」とも
いう。）１３０と、メモリ部１３０にデータを書き込むプログラムを制御する半導体メモ
リコントローラ１００（Ｍｅｍｏｒｙ Ｃｏｎｔｒｏｌｌｅｒ、以下「メモリコントロー
ラ」もしくは「コントローラ」ともいう。）とを有している。メモリ部１３０は、チップ
０（１４０）、チップ１（１４１）、チップ２（１４２）、チップ３（１４３）の、４個
のチップから構成されている。それぞれのチップは、ＮＡＮＤ型フラッシュメモリを構成
しており、Ｎビットデータ（但しＮは２以上の整数）を記憶可能なメモリセルを多数備え
ている。
【００１３】
メモリコントローラ１１０は、外部インターフェース部１１２と、コマンド制御部１１
４と、データ制御部１１６と、ＭＰＵ１１８（Ｍｉｃｒｏ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉ
ｔ）と、ＲＯＭ１２０（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）と、ＲＡＭ１２２（Ｒａｎｄ
ｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）と、内部温度測定回路１２４と、メモリインタフェー
ス部１２６とを備えている。
【００１４】
外部インタフェース部１１２は、メモリコントローラ１１０とホスト機器２００との間
のインタフェース処理を行なう。具体的には、ＭＰＵ１１８の制御のもと、所定のプロト
コルに従ってコマンドあるいはデータの送受信等を行なう。メモリシステム１００は、図
示しないコネクタを備えており、このコネクタを介して、データ等は外部ホスト２００と
やり取りされる。
【００１５】
コマンド制御部１１４は、ホスト機器２００から送信されるコマンドＣＭＤを受け取り
、このコマンドＣＭＤをデコードする。また、コマンド制御部１１４は、コマンドＣＭＤ
に対する応答信号であるレスポンスＲＥＳを生成し、このレスポンスＲＥＳをホスト機器
２００に送信する。
【００１６】
データ制御部１１６は、ホスト機器２００から送信されるコマンドＣＭＤに基づいて、
データの送受信を行なう。また、データ制御部１１６は、メモリシステムの動作状態を示
すステータスデータを生成し、このステータスデータをホスト機器２００に送信する。
【００１７】
ＭＰＵ１１８は、メモリシステム１００全体の動作を制御する。ＭＰＵ１１８は、例え
ば、メモリシステム１００が電源供給を受けたときに、ＲＯＭ１２０もしくはメモリ部１
３０に格納されているファームウェアならびにシステム情報をＲＡＭ１２２に読み出し、
所定の処理を実行することにより、各種のテーブルをＲＡＭ１２２に作成する。このシス
テム情報には、後述する適正温度閾値データＴｒ、故障限界温度閾値データＴｂ、Ｔｒと
Ｔｂ間の温度閾値データＴ１を含む。更に、本実施の形態に開示される制御プログラムも
、ＲＯＭ１２０もしくはメモリ部１３０に格納することが出来る。このプログラムを読み
込むことにより、ＭＰＵ１１８は、後述するように、データ判別・メモリ処理決定部１２
７ならびにその決定結果に基づくコントローラ１２８としての機能も持つ。また、ＭＰＵ
１１８は、ホスト機器３００から出力される書き込みコマンド、読み出しコマンド、ある
いは消去コマンド等に基づいて、メモリ部１３０に対する所定の処理を実行したり、図示
しないバッファを通じたデータ転送処理を制御する。例えばデータ書き込みの際には、書
き込み命令をメモリインタフェース１２６に発行する。書き込み命令は、例えばＮＡＮＤ
インタフェースで規定されている８０Ｈや１０Ｈである。
【００１８】
ＲＯＭ１２０は、ＭＰＵ１１８により実行されるファームウェアなどを格納する。
【００１９】
ＲＡＭ１２２は、ＭＰＵ１１８の作業エリアとして利用され、ファームウェアや各種の
テーブルを記憶する。
【００２０】
メモリインタフェース部１２６は、メモリコントローラ１１０とメモリ部１３０とのイ
ンタフェース処理を行なう。
【００２１】
内部温度測定回路１２４は、熱源となるメモリ部周辺の温度を測定するためにメモリ部
１３０に近接して設けられる。内部温度測定回路１２４は、半導体のＰＮ接合部の電圧が
温度により変化する特性を利用した半導体温度センサである。ただし、サーミスタ等の他
の方式による温度センサを内部温度測定回路に替えて用いることも可能である。
【００２２】
また、メモリコントローラ１１０には、図示しないバッファが設けられており、ホスト
機器２００から送られてくるデータをメモリ部１３０へ書き込む際に、一定量のデータ（
例えば１ページ分）を一時的に記憶したり、メモリ部１３０から読み出されるデータをホ
スト機器２００へ出力する際に、一定量のデータを一時的に記憶することが出来る。
【００２３】
メモリ部１３０は、４つのチップ１４０、１４１、１４２、１４３を備えている。メモ
リコントローラ１１０はメモリ部１３０のチップ０（１４０）とは、選択信号線１５０、
Ｒｅａｄｙ／Ｂｕｓｙ信号線１６０及び例えば８ビットのメモリデータバス１７０により
接続されている。また、メモリコントローラ１１０はメモリ部１３０のチップ１（１４１
）とは、メモリデータバス１７１、選択信号線１５１及びＲｅａｄｙ／Ｂｕｓｙ信号線１
６１とにより接続されている。チップ２（１４２）、チップ３（１４３）も同様に、メモ
リコントローラ１１０と、メモリデータバス１７２、１７３、選択信号線１５２、１５３
及びＲｅａｄｙ／Ｂｕｓｙ信号線１６２、１６３とによって、それぞれ接続されている。
選択信号線１５０〜１５３は、チップ１４０〜１４３にそれぞれ選択信号を送信するため
に用いられる。また、Ｒｅａｄｙ／Ｂｕｓｙ信号線１６０〜１６３は、各チップ１４０〜
１４３の状態（ＢｕｓｙかＲｅａｄｙか）をそれぞれモニタするために用いられる。
【００２４】
このように、メモリコントローラ１１０と複数のチップ１４０〜１４３は、バス１７０
〜１７３を用いてそれぞれ直接に接続されている。このため、メモリコントローラ１１０
は、各チップ１４０〜１４３に対して同時にアクセスするパラレル制御が出来る。本実施
の形態において、チップ１４０〜１４３は、メモリコントローラ１１０との信号のやり取
りに用いられるバス１７０〜１７３ごとに存在する。したがって、異なるチップ同士１７
０〜１７３は、少なくとも一部（この実施形態においては、全て）が異なるバス１７０〜
１７３を用いてメモリコントローラ１１０と信号がやり取りされる。
【００２５】
なお、後に詳述するが、各チップ１４０〜１４３に対して更にＮＡＮＤ型フラッシュメ
モリを接続することも可能である。たとえば、各チップ１４０〜１４３にそれぞれ３１枚
のＮＡＮＤ型フラッシュメモリを積層させて合計３２×４チップ＝１２８枚のＮＡＮＤ型
フラッシュメモリからなるメモリシステムを構築することが出来る。この場合、例えば、
チップ０に従属する３１個のＮＡＮＤ型フラッシュメモリは、メモリデータバス１７０、
選択信号線１５０、Ｒｅａｄｙ／Ｂｕｓｙ線１６０を介して信号をやり取りする。
【００２６】
なお、図１においては、４つのメモリデータバス１７０〜１７３、選択信号線１５０〜
１５３、Ｒｅａｄｙ／Ｂｕｓｙ線１６０〜１６３が、それぞれメモリインターフェース部
１２６と接続しているが、途中から少なくとも一部を共通のバスとしてメモリインタフェ
ース部１２６と接続してもよい。
【００２７】
図２は、チップ０（１４０）の内部構成を概略的に示している。ただしチップ１〜３も
同等の構成である。図示されるように、チップ０は、メモリセルアレイ１８０、ロウデコ
ーダ１８２、カラムバッファ１８４（ページバッファ）、データキャッシュ１８６を備え
ている。メモリセルアレイ１８０は、たとえば３２個のメモリセルブロックＢＬＫを備え
ている。各メモリセルブロックＢＬＫは、複数のページ（０〜ｐ−１ページ、ｐは自然数
）から構成されている。ここで、ページとはデータの書き込み単位であり複数のメモリセ
ルから構成される。また、ブロックとはメモリの消去単位である。
【００２８】
ロウデコーダ１８２は、メモリコントローラ１１０からロウアドレスを受信し、デコー
ドする。ロウアドレスには、いずれかのメモリセルブロックＢＬＫを指定するブロックア
ドレスと、いずれかのページを指定するページアドレスとを含む。そして、ロウデコーダ
１８２はロウアドレスに基づいて、いずれかのメモリセルブロックＢＬＫにおけるいずれ
かのページを選択する。
【００２９】
データキャッシュ１８６は、ＲＡＭであり、バイト単位で１ページサイズ以下のデータを
一時的に保持できるる。データキャッシュ１８６は、メモリコントローラ１１０との間で
データの授受を行う。すなわち、データの読み出し時には、カラムバッファ１８４から与
えられるデータをメモリコントローラ１１０へ転送し、書き込み時にはメモリコントロー
ラ１１０から与えられるデータを受信し、これをカラムバッファ１８４へページ単位で転
送する。
【００３０】
カラムバッファ１８４は、ページサイズのデータを一時的に保持可能である。カラムバ
ッファ１８４は、データの読み出し時には、メモリセルアレイ１８０からページ単位で読
み出されたデータを一時的に保持し、これをデータキャッシュ１８６へ転送する。また書
き込み時には、データキャッシュ１８６から転送されたデータを図示しないビット線ＢＬ
０〜ＢＬｎに転送し、データのページ単位での書き込み（プログラム）を実行する。
【００３１】
次いでパラレル制御を、図３および図４を用いて説明する。図３は、パラレル制御を概
念的に示した図であり、ホスト機器２００から転送されたデータ（外部データ）が、各チ
ップに転送される様子を示す。また図４は、パラレル制御の基本的なタイミングチャート
であり、各チップについてのデータの入力、データ書き込み、及びＲｅａｄｙ／Ｂｕｓｙ
（Ｒ／Ｂ）信号を示す。なお、図３及び図４におけるチップの数（ｎ）は、本実施の形態
においてｎ＝４であり、Ｃｈｉｐ０〜ｎ−１（＝３）は、それぞれ図１における符号１４
０〜１４３に相当する。
【００３２】
図３に示されるように、パラレル制御では、ホスト機器２００から転送されたデータは
、複数に分割され、複数のチップのページに同時にデータに入力され、同時に書き込まれ
る。
【００３３】
具体的には、１ページ分のデータ（例えば５１２バイト）をチップ数（例えば４）で分
割したデータ（例えば５１２／４＝１２８バイト）が、各チップに同時に入力される。各
チップは、一時的に入力されたデータをデータキャッシュ（図２）に格納する（データキ
ャッシュ（ＲＡＭ）は、バイト単位でデータを格納することが出来る）。そして、１ペー
ジ分のデータが、各チップに入力され、データキャッシュに格納されたら、メモリセルに
データがプログラムされる。
【００３４】
なお、分割されたデータは、各チップ０〜ｎ−１に並列に転送されるが、転送開始のタ
イミングは、チップ間で完全に同じである必要は無く、多少の時間差は許容できる。また
、転送終了のタイミングも、完全に同じである必要は無く、時間差は許容できる。ただし
、複数のチップに対してメモリデータバス１７０〜１７３が同時にデータを転送している
時間帯が存在しなければならない。
【００３５】
図４に示すように、メモリコントローラ１１０は、時刻ｔ０から時刻ｔ１にかけて、デ
ータが書き込まれるチップ０からチップｎ−１に対してほぼ同じタイミングでデータの入
力を開始し、ほぼ同時に終了する。この際、各チップ０〜ｎ−１はアクセス可能な状態（
データ受信可能な状態）、すなわちＲｅａｄｙ状態であるので、各Ｒｅａｄｙ／Ｂｕｓｙ
信号線は、Ｈｉｇｈレベル（単にＨとも書く）のＲ／Ｂ信号を出力している。またデータ
入力期間中、各メモリデータバス１７０〜１７３は、同時並行的にデータを転送している
。
【００３６】
そして、時刻ｔ１においてメモリコントローラ１１０のＭＰＵ１１８は書き込み命令（
１０Ｈ）を発行する。これに応答して各チップ０〜ｎ−１は時刻ｔ１から時刻ｔ２にかけ
て、メモリセルへのデータの書き込み（プログラミング）を行う。この期間、各チップ０
〜ｎ−１はアクセス禁止の状態（データ受信禁止の状態）、すなわちＢｕｓｙ状態である
。このため、各Ｒｅａｄｙ／Ｂｕｓｙ信号線は、Ｌｏｗレベル（単にＬとも書く）のＲ／
Ｂ信号を出力している。なお、以下ではプログラミングを開始してから終了するまでの時
間をＢｕｓｙ時間と呼ぶ。本実施形態においては、簡単のためにＢｕｓｙ時間をチップの
プログラミング時間と同じとしている。
【００３７】
そして、各チップ０〜ｎ−１においてプログラミングが完了すると、各チップ０〜ｎ−
１はＲｅａｄｙ状態に復帰する。よってメモリコントローラ１１０は、時刻ｔ２から時刻
ｔ３にかけて各チップ０〜ｎ−１へのデータの入力を行う。具体的には、各Ｒｅａｄｙ／
Ｂｕｓｙ線１５０〜１５３が同時にＨのＲ／Ｂ信号を出力し、かつ、各メモリデータバス
１７０〜１７３は、同時にデータを送信する。以降同様にして、プログラミングおよびデ
ータの入力を繰り返す。
【００３８】
次いで通常制御を、図５を用いて説明する。通常制御は、上述したパラレル制御と比較
して、アクセス速度は遅い。
【００３９】
図５に示されるように、メモリコントローラ１１０は、時刻ｔ０から時刻ｔ１にかけて
、データが書き込まれるチップ０（１４０）に対してデータを入力する。この際、各チッ
プ０〜ｎ−１はアクセス可能な状態であるため、Ｒｅａｄｙ／Ｂｕｓｙ信号線１６０は、
Ｈ信号を出力している。メモリデータバス１７０は、データをチップ０に対し送信してい
る。他のメモリデータバス１７１〜１７３は、データを送信していない。次いで、時刻ｔ
１から時刻ｔ２にかけて、チップ０は、入力されたデータを書き込む。このため、Ｒｅａ
ｄｙ／Ｂｕｓｙ信号線１６０は、Ｌ信号を出力している。その後、時刻ｔ２から時刻ｔ３
にかけてメモリコントローラは待機する。この間、メモリデータバス１７０〜１７３は、
データをチップ０から３に送信しない。また、チップ０から３は、データをメモリセルに
書き込まない。その後、時刻ｔ３からｔ４にかけて、メモリデータバス１７１は、データ
をチップ１に対し送信している。そして時刻ｔ４から時刻ｔ５にかけて、チップ１は、入
力されたデータを書き込む。以下、同様である。
【００４０】
このような通常制御は、あるチップへの書き込みが完了してから、次のチップへのデー
タ入力が開始するため、アクセスが遅い。ただし、各時間帯において、動作しているチッ
プは、一つ以下であるため、消費電流を低減することが出来る。また、各時間帯において
、データを送信しているメモリバスは、一つ以下であるため、消費電流を低減することが
出来る。
【００４１】
なお、待機時間（ｔ２〜ｔ３）を設けない設定としても良い。
【００４２】
本実施形態において、温度データと、それに応じたメモリ制御の関係を表１に示す。こ
の表に示されるように、メモリ部１３０は、検出される温度情報に応じて、パラレル処理
、通常処理を切り替えることが出来る。以下、動作について説明する。
【表１】
2012018648.tif 000003
【００４３】
まず、ＭＰＵ１１８は、内部温度測定回路１２４から出力される温度データを所定時間
ごとに複数回取得し、その平均値Ｔを算出する。
【００４４】
次いで、ファームウェアに記憶されている処理を実行することによりデータ判別・メモ
リ処理決定部１２７として機能するＭＰＵ１１８は、ＲＯＭ１２０に元々格納されていた
Ｔｒ、Ｔ１、Ｔｂを取得し、次いで、これらの値をＴと比較する。
【００４５】
そして、Ｔ＜Ｔｒの場合、当該決定部１２７は、処理が決定した旨を、コントローラと
して機能する機能ブロック１２８に通知するとともに、全チップ１４０〜１４３へのパラ
レル処理の実行を示す値Ｄ１をコントローラ１２８に渡す。
【００４６】
コントローラ１２８は、Ｄ１に基づいて、全チップのパラレル処理を実行する命令をメ
モリインターフェース部１２６に出力する。メモリインターフェース部１２６は、与えら
れた命令に基づいて、図４に示されるパラレル処理を実行するための信号を、メモリ部１
３０に出力する。その結果、メモリデータバス１７０〜１７３は、同時に、それぞれデー
タをメモリ部１３０に出力し、メモリ部１３０の各チップ１４０〜１４３は、同時に入力
されたデータを各チップが備えるメモリセルに書き込む。
【００４７】
パラレル処理は、単位時間当たりの消費電流が大きいため、メモリ部１３０の温度は高
くなる。相当期間経過後、Ｔの値が、Ｔ１≦Ｔ＜Ｔｂを満足する状態になったとする。な
お、Ｔの値は、異常値を排除する目的で、所定期間における平均値になる。また、所定期
間ごとに得られる離散値であることから、特に急激に温度が上昇した場合、Ｔｒ≦Ｔ＜Ｔ
１の状態を経ずに、Ｔ１≦Ｔ＜Ｔｂを満足する場合も有り得ることを付記する。
【００４８】
そうすると、データ判別・メモリ処理決定部１２７は、再度、処理決定通知をコントロ
ーラとして機能する機能ブロック１２８に通知するとともに、通常処理を示す値Ｄ３をコ
ントローラ１２８に渡す。
【００４９】
コントローラ１２８は、Ｄ３に基づいて、通常処理を実行する命令をメモリインターフ
ェース部１２６に出力する。メモリインターフェース部１２６は、与えられた命令に基づ
いて、図５に示される処理を実行するための信号を、メモリ部１３０に出力する。
【００５０】
Ｄ１とＤ３を比較した場合、時間当たりの平均消費電流は、明らかにＤ３の場合の方が
小さい。このためＤ１の処理を継続した場合の平衡温度ＴＤ１と、Ｄ３の処理を継続した
場合の平衡温度ＴＤ３は、ＴＤ１＞ＴＤ３である。このため、Ｄ３の処理を継続すると次
第に温度Ｔは下降する。
【００５１】
相当期間経過後、Ｔの値が、Ｔｒ≦Ｔ＜Ｔｂを満足する状態になったとする。そうする
と、データ判別・メモリ処理決定部１２７は、再度、処理決定通知をコントローラ１２８
として機能する機能ブロックに通知するとともに、パラレル処理を示す値Ｄ２をコントロ
ーラ１２８に渡す。
【００５２】
図６に、Ｄ２に相当する制御を示す。この図に示されるように、データイン（時刻ｔ０
から時刻ｔ１）ならびに書き込み（時刻ｔ１から時刻ｔ２）に関して、チップ０とチップ
１は、同時に行なわれる。次いで、チップ２とチップ３に対するデータイン（時刻ｔ２か
ら時刻ｔ３）ならびに書き込み（時刻ｔ３から時刻ｔ４）が実行される。以下同様である
。
【００５３】
このＤ２の処理は、所定時間当たりの平均消費電流が、Ｄ１の場合より小さく、Ｄ３の
場合より大きい。このため、このＤ２の処理を継続した場合の平衡温度ＴＤ２は、ＴＤ１
＞ＴＤ２＞ＴＤ３の関係である。現在の温度Ｔと、ＴＤ２の関係ならびにその他諸条件に
応じて温度が上昇するか下降するかが決まることになる。たとえば、Ｔｒ＞ＴＤ２となる
ようにＴｒを設定した場合は、Ｄ２の制御を継続することで、Ｔ＜Ｔｒとなる。
【００５４】
再度、Ｔが、Ｔ＜Ｔｒとなった場合、処理決定部１２７より、Ｄ１処理に切り替える旨
の通知が出されるとともに、Ｄ１がコントローラ１２８に渡される。このため、全チップ
に対するパラレル制御に切り替わる。
【００５５】
以上のように、得られた温度情報に応じて、データの入力方法や書き込み方法を自動的
に変えることが出来る。複数チップ・複数バスを備える場合は通常実行しない通常処理（
あるいはインターリーブ制御）を、あえて活用することで、メモリアクセスを継続しつつ
、温度を調整することが可能になる。
【００５６】
なお、何らかの理由によりＴがＴｂを超えた場合は、処理決定部１２７より、動作停止
するようコントローラ１２８へ通知がなされ、コントローラ１２８は、この通知に応じて
メモリ制御の動作を停止（たとえば、メモリデータバス１７０〜１７３の動作ならびにメ
モリ部１３０内のメモリの書き込みの停止）する。その間も、内部温度測定回路１２４は
、温度データを取得し、処理決定部１２７にデータを渡す。その後、Ｔ＜Ｔｂになった際
に、ＭＰＵ１１８は、メモリ制御の動作を再開する。
【００５７】
このため、メモリセルや周辺回路の故障を未然に防ぐことが可能になるとともに、その
後に、自動的にメモリ制御を再開することが可能となる。
【００５８】
なお、Ｔ１とＴｒ間に、Ｔ２を設定し、Ｔｒ＜Ｔ＜Ｔ２の場合は、Ｄ２に対応する制御
を実行し、Ｔ２≦Ｔ＜Ｔ１の場合は、パラレル処理（チップ１、２）と通常処理（チップ
３、４）を交互に実行しても良い。この場合、チップ１、２に対しパラレル処理を施し、
同時にデータを入力し書き込んだ後、チップ３にデータを入力、書き込みし、その後、チ
ップ４にデータを入力し、書き込みをする。その後、チップ１、２に対しパラレル処理を
施す。このように、通常処理の際は、複数あるメモリデータバス１７０〜１７３のうち、
単一のメモリデータバスがデータを対応するチップに入力し、次いでそのチップが入力さ
れたデータをプログラムする。その期間中、他のチップにデータ入力されることは無い。
また、その期間中、他のチップがプログラムを実行することも無い。
【００５９】
以上のように、温度が高くなるにつれて、平均消費電流が低下するような処理を施すこ
とが望ましい。更に多段階の処理とすることも、当然可能である。
【００６０】
また、測定された温度Ｔは、メモリ部１３０と離間した位置で得られた情報であること
から、メモリの実際の温度と誤差がある。その点を加味して、Ｔ１などを調整して設定す
ることが望ましい。例えば、Ｔｂ＝８０度（摂氏。以下同じ）、Ｔ１＝４０度、Ｔｒ＝３
０度と設定することができる。逆に、Ｔに補正係数を乗じてＴ１等と比較することも可能
である。また、ＴやＴ１等は、温度そのものである必要は無く、例えば、温度を反映した
数値や情報であっても良い。
【００６１】
また、温度情報は、メモリコントローラ１１０もしくはＮＡＮＤメモリ部１３０周辺に
設けた温度センサを用いることが可能であるが、それに替えて、ホスト２００側から取得
することが可能である。例えば、ホスト２００が温度センサを備える場合に、ホストから
外部インタフェース部１１２を介して温度情報Ｔ（もしくは温度に応じて変化するデータ
など）を得ても良い。この場合、所定期間ごとに定期的に、外部インタフェース１１２を
介して更新された温度情報Ｔが得られる。また、閾値であるＴｒ、Ｔｂ、Ｔ１をホストか
ら得る構成とすることも可能である。
【００６２】
また、ＮＡＮＤフラッシュメモリと同一の半導体基板上に、温度測定回路を形成し、こ
の回路からの温度情報を得ることも出来る。たとえば、ＰＮ接合回路素子より構成される
シリコンダイオードを形成することが出来る。シリコンダイオードは、温度ドリフト特性
を持つため、周囲温度の上昇に伴ってアノード側の電圧が下降する。従ってこの電圧変化
を温度情報として取得することが出来る。
【００６３】
また、ＮＡＮＤフラッシュメモリへのプログラム方法としては、各チップに対して１ペ
ージ分（またはそれ以上）のデータキャッシュが蓄積されるまで、各チップのキャッシュ
にデータを格納し、１ページ分のデータキャッシュが蓄積された後に、ＮＡＮＤメモリセ
ルにプログラムする方法がある。
【００６４】
そのほかにも、外部ＲＡＭを設け、コントローラから出力されるデータを一時的に格納
するようにしても良い。この場合、チップ数×１ページ分のデータを外部ＲＡＭに格納さ
せ、その後に、同時に、各チップ（もしくは２以上のチップ）に対してデータを出力する
方法を採用することが出来る。この場合、メモリコントローラと、各チップとを接続する
データバスの中途に外部ＲＡＭというデータ格納手段が備わることになる。
【００６５】
また、チップ内のデータキャッシュに、該当ページのデータを読み出しておき、書き込
みたいページ内のカラムアドレスに対してデータを送信し、プログラムする方法を採用す
ることが出来る。この場合、データキャッシュには、当初、１ページ分のデータ（たとえ
ば、"＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠＠"。ここで、＠は、リードデータを示す）が、デ
ータキャッシュに読み出される。そして、データがチップに対して送信されるため、デー
タキャッシュのデータが書きかえられる（たとえば、"＠＠＠＠＠＠＠＊＊＊＊＠＠＠＠
＠"。ここで、＊は、チップ外部より、データキャッシュに対して送信されたデータ）。
最後に、データキャッシュのデータがメモリセルにプログラムされる。
【００６６】
合理的な範囲で、本実施の形態は、他の実施の形態と組み合わせることが可能である。
また、同様に他の実施の形態は、その他の実施の形態と組み合わせることが可能である。
【００６７】
（第２の実施の形態）
続いて、図面を用いて第２の実施形態に係るメモリシステムを説明する。本実施の形態
におけるメモリシステムは、第１のチップへのデータインがほぼ完了した後であって、こ
のデータがプログラムされている最中に、第２のチップへのデータインが開始されるとい
うインターリーブ制御を実行することが可能である。
【００６８】
インターリーブ制御を、図７および図８を用いて説明する。図７は、インターリーブ制
御を概略的に示した図であり、ホスト機器２００から転送された外部データが、各チップ
０〜ｎ−１（図ではｎ＝２）に転送される様子を示す。また、図８は、インターリーブ制
御の基本的なタイミングチャートであり、各チップ０〜ｎ−１（図ではｎ＝２）について
のデータの入力、データ書き込み、およびＲｅａｄｙ／Ｂｕｓｙ（Ｒ／Ｂ）信号を示す。
また、本実施形態では、一例として、チップ０およびチップ１の二つのチップに対してイ
ンターリーブ制御を行っている。また、システム構成は、図１に示されるものと同様のも
のを用いることが出来るため、以下では、同様の機能を持つ構成要素に、同じ記号を付し
て説明する。
【００６９】
図７に示すように、インターリーブ制御では、ホスト機器２００から転送されてきたデ
ータＤ´０をチップ０に転送し、データＤ´０をチップ０に書き込んでいる間に、ホスト
機器２００から転送されてきた新たなデータＤ´１をチップ０とは異なるチップ１に転送
し、書き込む。なお、データＤ´０〜Ｄ´２ｐ−１はそれぞれ異なるデータである。
【００７０】
図８に示すように、メモリコントローラ１１０は、時刻ｔ０から時刻ｔ１にかけてデー
タが書き込まれるチップ０に対してデータを入力する。この際、二つのチップ０およびチ
ップ１はＲｅａｄｙ状態であるので、ＨｉｇｈレベルのＲ／Ｂ信号を出力している。
【００７１】
そして、時刻ｔ１において、メモリコントローラ１１０は書き込み命令を（１０Ｈ）を
発行する。これに応答してチップ０は時刻ｔ１から時刻ｔ３にかけて、チップ０のデータ
の書き込みを行う。この期間、チップ０はアクセス禁止の状態（データ受信禁止の状態）
、すなわちＢｕｓｙ状態であるので、ＬｏｗレベルのＲ／Ｂ信号を出力している。また、
メモリコントローラ１１０は、チップ０からＬｏｗレベルのＲ／Ｂ信号を認識すると、チ
ップ１へのデータの入力を開始する。この期間、チップ１はＨｉｇｈレベルのＲ／Ｂ信号
を出力している。
【００７２】
そして、時刻ｔ２において、メモリコントローラ１１０は書き込み命令を（１０Ｈ）を
発行する。これに応答してチップ１は時刻ｔ２から時刻ｔ４にかけて、チップ１のデータ
の書き込みを行う。この期間、チップ１はＢｕｓｙ状態であるので、ＬｏｗレベルのＲ／
Ｂ信号を出力している。
【００７３】
次に、時刻ｔ３において、チップ０のデータの書き込みが完了すると、チップ０は、Ｒ
ｅａｄｙ状態に復帰する。これにより、メモリコントローラ１１０は、時刻ｔ３から時刻
ｔ４にかけてチップ０に対してデータを入力する。以降同様にして、プログラミングおよ
びデータの入力を繰り返す。
【００７４】
本実施形態において、温度データと、それに応じたメモリ制御の関係を表２に示す。こ
の表２に示されるように、取得された温度情報に応じて、インターリーブ制御、通常処理
を切り替えるように動作する。本実施形態における機能ブロック図は、図１に示されるも
のとほぼ同様であるため、説明は省略する。その他冗長な表現を避けるため、重複する説
明や、厳密には重複しない場合であっても当業者であれば理解できる差異については、説
明を省略する（以下、同じ）。
【表２】
2012018648.tif 000004
【００７５】
最初に、Ｔ＜Ｔｒの場合は、表に示されるように、チップ０−１間ならびにチップ２−
３間でそれぞれインターリーブ処理が実行される。すなわち、チップ０−１間でインター
リーブ処理を実行する。そして、チップ１に対する書き込み終了が、Ｒｅａｄｙ／Ｂｕｓ
ｙ線１６１を通じて検知された場合に、チップ２に対するデータインが開始される。チッ
プ２に対するデータ書き込みが開始されると、チップ３に対するデータインが開始するこ
とで、チップ３−４間のインターリーブ制御が実現される。チップ３に対するデータ書き
込み後、チップ０−１間でのインターリーブ処理が開始する。
【００７６】
その後、Ｔ１≦Ｔ＜Ｔｂとなった場合、図５に示されるように全チップに対する通常処
理が実行される。その結果、測定温度Ｔが下降する。
【００７７】
その後、Ｔｒ≦Ｔ＜Ｔ１となった場合、図８に示されるように、チップ０−１間でイン
ターリーブ処理が実行される。チップ２及び３は、チップ１への書き込み後、順次通常処
理によりデータプログラムが実行される。この処理を継続した場合の平衡温度を、Ｔｒ未
満となるようにＴｒを設定することで、相当期間経過後、Ｔ＜Ｔｒとなる。
【００７８】
再度、ＴがＴ＜Ｔｒになった場合、処理決定部は、制御Ｄ１’処理が再度設定された旨
の処理設定通知と、チップ１−２間ならびにチップ３−４間のインターリーブ処理を表す
Ｄ１’値をコントローラ１２８に通知する。コントローラ１２８は、受信したＤ１’に基
づいて、チップ０−１間のインターリーブ処理ならびにチップ２−３間のインターリーブ
処理を実行させるための命令をメモリインターフェース部１２６に送り、それに従って、
メモリ部１３０は動作する。
【００７９】
以上述べたように、本実施の形態によれば、２種類のインターリーブ処理と、通常処理
を温度情報に応じて切り替えることで、高速アクセスと、温度制御の両立を図ることが可
能になる。
【００８０】
（第３の実施の形態）
本実施形態において、温度データと、それに応じたメモリ制御の関係を表３に示す。
【表３】
2012018648.tif 000005
【００８１】
表３に示されるように、Ｔ＜Ｔｒの場合に、全チップに対するパラレル処理を実行する
ようにし、Ｔｒ≦Ｔの場合に、インターリーブ処理を実行するようにしても良い。時間当
たりの消費電流の多寡は、Ｄ１＞Ｄ２’＞Ｄ３＞Ｄ４である。このため、各処理の平衡温
度も、この処理の順となることが分かる。したがって、これら処理を温度状況に応じて切
り替えることにより、過度な温度上昇を抑制しつつ、高速なアクセスをすることが可能に
なる。
【００８２】
（第４の実施の形態）
本実施の形態は、メモリシステム１００、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖ
ｅ）を構成する。ＳＳＤは、図示しない基板を備え、この基板上に、メモリコントローラ
１１０ならびにメモリ部１３０が実装される。メモリ部１３０は、４つのチップから構成
される。各チップ０〜３には、それぞれ３１枚のＮＡＮＤフラッシュメモリが積層され、
電気的に信号の授受が可能な構成となっている。たとえば、チップ０には、チップ０−１
〜０−３１の３１枚のメモリが積層されている。この結果、合計１２８枚、５１２ＧＢの
ＮＡＮＤフラッシュメモリ（４チップ）をこのＳＳＤは備える。例えば、チップ０（１４
０）に積層されている３１枚のＮＡＮＤフラッシュメモリは、このチップ０に接続される
メモリデータバス１７０、Ｒｅａｄｙ/Ｂｕｓｙ線１６０及び選択信号線１５０を通じて
、信号等のやり取りを行なう。同様に、各チップ１〜３に積層される各３１枚のＮＡＮＤ
フラッシュメモリは、そのチップに接続されるメモリデータバス、Ｒｅａｄｙ／Ｂｕｓｙ
線及び選択信号線を用いて、メモリコントローラと、信号等をやり取りする。
【００８３】
基板に実装されるＮＡＮＤフラッシュメモリには、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓ
ｔｅｍ）等のプログラム、ユーザのソフトウェアの実行に基づいて作成されたデータ等を
読み書き可能に長期的に保存できる。このため、パーソナルコンピュータ等の情報処理装
置の起動ドライブとして、ＳＳＤを用いることが出来る。
【００８４】
基板上には、メモリ部１３０、メモリコントローラ１１０の他、図示しないＤＲＡＭ及
び電源回路も実装されている。また、ＳＳＤのサイズの狭小化のために、メモリ部１３０
は、基板の第１の主面（表面）上に実装され、メモリコントローラ１１０の大部分は、基
板の第２の主面（裏面）上に実装される。ただし、メモリコントローラ１１０は、内部温
度測定回路に加えて、図示しない第２の内部温度測定回路を備え、この第２の温度測定回
路は、表面側に実装され、ＭＰＵ１１８に入力可能な構成となっている。
【００８５】
ＭＰＵ１１８は、２つの内部温度測定回路から得られる情報を用いて、メモリ制御に活
用する。例えば、両者から得られる温度値（もしくは温度を反映した数値）を平均して得
られる値を用いて、表１に類する制御を行なって良い。ただし、Ｔｂに関しては、それぞ
れの温度値を独立に判断し、いずれかの温度情報が所定値を超えた際に、メモリ書き込み
のオペレーションを停止するように構成しても良い。
【００８６】
このような実施の形態の場合、熱源であるメモリコントローラ１１０の主要部と、同じ
く熱源であるＮＡＮＤメモリ部１３０の主要部が、基板の両面に分かれて実装されている
ため、放熱効果が大きい。また、両面に温度センサを設けたので、より正確な温度情報の
把握が可能になる。
【００８７】
ただし、メモリコントローラ１１０とＮＡＮＤメモリ部１３０の各主要部を、基板の一
方の面に実装しても良い。メモリコントローラ１１０と、ＮＡＮＤメモリ部１３０の間に
、温度センサを一つ設ける構成にしても良い。
【００８８】
また、ＳＳＤではなく、メモリカードに本実施形態もしくは他の実施形態に係るメモリ
システムを実装しても良い。
【符号の説明】
【００８９】
１１０  メモリコントローラ
１２４  内部温度測定回路
１３０  メモリ部
２００  ホスト機器
【図１】
2012018648.tif 000006
【図２】
2012018648.tif 000007
【図３】
2012018648.tif 000008
【図４】
2012018648.tif 000009
【図５】
2012018648.tif 000010
【図６】
2012018648.tif 000011
【図７】
2012018648.tif 000012
【図８】
2012018648.tif 000013