(57)【要約】      （修正有）【課題】効率的に性能を制御するメモリシステムを提供する。【解決手段】メモリシステム１は、第１メモリチップ２１ａ〜２１ｐとメモリコントローラ１０とを備える。第１メモリチップは、第１の温度センサ２０１を備える。メモリコントローラは、第２の温度センサ１５を備える。メモリコントローラは、第１の温度センサまたは第２の温度センサによる第１の検出温度を取得して、取得された第１の検出温度に基づいて性能の制御を実行する。メモリコントローラは、第１のタイミングで取得される第１の検出温度である第２の検出温度に基づいて第１のタイミングよりも後に取得される第１の検出温度である第３の検出温度を第１の温度センサおよび第２の温度センサの何れから取得するかを決定する。【選択図】図１
2020144589.tif 000002
【特許請求の範囲】
【請求項１】
第１の温度センサを備える第１メモリチップと、
第２の温度センサを備え、前記第１の温度センサまたは前記第２の温度センサによる第１の検出温度を取得して、取得された前記第１の検出温度に基づいて性能の制御を実行し、第１のタイミングで取得される第１の検出温度である第２の検出温度に基づいて前記第１のタイミングよりも後に取得される第１の検出温度である第３の検出温度を前記第１の温度センサおよび前記第２の温度センサの何れから取得するかを決定するメモリコントローラと、
を備えるメモリシステム。
【請求項２】
前記メモリコントローラは、前記第２の検出温度と第１のしきい値とを比較し、前記第２の検出温度が前記第１のしきい値よりも高い場合、前記第１の温度センサから前記第３の検出温度を取得し、前記第２の検出温度が前記第１のしきい値よりも低い場合、前記第２の温度センサから前記第３の検出温度を取得する、
請求項１に記載のメモリシステム。
【請求項３】
前記メモリコントローラは、前記第３の検出温度が第２のしきい値よりも高い場合、前記第３の検出温度が前記第２のしきい値よりも低い場合より前記性能を低くする、
請求項２に記載のメモリシステム。
【請求項４】
前記第２のしきい値は、前記第１のしきい値よりも大きい、請求項３に記載のメモリシステム。
【請求項５】
前記第２のしきい値は、前記第１メモリチップの動作保証温度範囲（guaranteed  range  of  operating  temperature）の上限値に対応する、
請求項４に記載のメモリシステム。
【請求項６】
前記メモリコントローラは、前記第１メモリチップに前記第３の検出温度を要求するコマンドを送信し、
前記第１メモリチップは、前記コマンドに応答して前記第３の検出温度を前記メモリコントローラに送信する、
請求項１に記載のメモリシステム。
【請求項７】
それぞれは前記第１メモリチップに該当する複数の第２メモリチップを備え、
前記メモリコントローラは、前記複数の第２メモリチップから第３メモリチップを選択し、前記第３メモリチップのみに前記コマンドを送信する、
請求項６に記載のメモリシステム。
【請求項８】
前記第３メモリチップは、固定されている、
請求項７に記載のメモリシステム。
【請求項９】
前記メモリコントローラは、前記複数の第２メモリチップのそれぞれの前記第１の温度センサから第４の検出温度を取得して、前記第４の検出温度に基づいて前記第３メモリチップを選択する、
請求項７に記載のメモリシステム。
【請求項１０】
前記メモリコントローラは、前記複数の第２メモリチップのそれぞれに対するアクセス頻度に基づいて前記第３メモリチップを選択する、
請求項７に記載のメモリシステム。
【請求項１１】
前記メモリコントローラは、前記複数の第２メモリチップのそれぞれに対するアクセス頻度と、前記第４の検出温度と、に基づいて前記第３メモリチップを選択する、
請求項９に記載のメモリシステム。
【請求項１２】
それぞれは第１の温度センサを備える複数の第１メモリチップと、
前記第１の温度センサによる検出温度を要求するコマンドを前記複数の第１メモリチップのうちの一部である第２メモリチップのみに送信して、前記コマンドに応答して前記第２メモリチップから出力された検出温度に基づいて性能の制御を実行する、メモリコントローラと、
を備えるメモリシステム。
【請求項１３】
前記第２メモリチップは、固定されている、
請求項１２に記載のメモリシステム。
【請求項１４】
前記メモリコントローラは、前記複数の第１メモリチップのそれぞれに前記コマンドを送信して、前記コマンドに応じて前記複数の第１メモリチップのそれぞれから出力された検出温度に基づいて前記第２メモリチップを選択する、
請求項１２に記載のメモリシステム。
【請求項１５】
前記メモリコントローラは、前記複数の第１メモリチップのそれぞれに対するアクセス頻度を取得し、前記アクセス頻度に基づいて前記第２メモリチップを選択する、
請求項１２に記載のメモリシステム。
【請求項１６】
前記メモリコントローラは、前記複数の第１メモリチップのそれぞれに対するアクセス頻度を取得し、前記コマンドに応じて前記複数の第１メモリチップのそれぞれから出力された前記検出温度と前記アクセス頻度とに基づいて前記第２メモリチップを選択する、
請求項１４に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、メモリシステムに関する。
【背景技術】
【０００２】
従来、不揮発性メモリのメモリチップを備えるメモリシステムが知られている。メモリチップは、正常に動作する温度範囲が仕様で定められている。メモリシステムは、メモリチップの温度が上記の温度範囲の上限値を超えないように、性能の制御を実行する。例えば、メモリチップの温度が上記の温度範囲の上限値を超えそうな場合には、メモリシステムは、自身の性能を抑制することによってメモリチップの発熱量を低減させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許出願公開第２０１５／０３０１９３２号明細書
【特許文献２】米国特許第８８７３３２３号明細書
【特許文献３】米国特許第９２０１７１７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一つの実施形態は、効率的に性能を制御することができるメモリシステムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
一つの実施形態によれば、メモリシステムは、第１メモリチップとメモリコントローラとを備える。第１メモリチップは、第１の温度センサを備える。メモリコントローラは、第２の温度センサを備える。メモリコントローラは、第１の温度センサまたは第２の温度センサによる第１の検出温度を取得して、取得された第１の検出温度に基づいて性能の制御を実行する。メモリコントローラは、第１のタイミングで取得される第１の検出温度である第２の検出温度に基づいて第１のタイミングよりも後に取得される第１の検出温度である第３の検出温度を第１の温度センサおよび第２の温度センサの何れから取得するかを決定する。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１の実施形態にかかるメモリシステムの構成を示す図である。
【図２】図２は、第１の実施形態にかかるデータの転送速度の上限値の設定方法の一例を説明するための図である。
【図３】図３は、第１の実施形態にかかる各メモリチップの構成を説明する例示的かつ模式的なブロック図である。
【図４】図４は、第１の実施形態にかかるメモリシステムの動作の一例を示すフローチャートである。
【図５】図５は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法の一例を示すフローチャートである。
【図６】図６は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法の別の一例を示すフローチャートである。
【図７】図７は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。
【図８】図８は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。
【発明を実施するための形態】
【０００７】
以下に添付図面を参照して、実施形態にかかるメモリシステムを詳細に説明する。なお、これらの実施形態により本発明が限定されるものではない。
【０００８】
（第１の実施形態）
図１は、第１の実施形態にかかるメモリシステムの構成を示す図である。メモリシステム１は、ホスト２と接続可能である。メモリシステム１とホスト２との間の通信路の規格は、特定の規格に限定されない。一例では、ＳＡＳ（Serial  Attached  SCSI）が採用され得る。
【０００９】
ホスト２は、例えばパーソナルコンピュータ、携帯情報端末、またはサーバなどが該当する。メモリシステム１は、ホスト２からアクセスコマンド（リードコマンドおよびライトコマンド）を受け付けることができる。
【００１０】
メモリシステム１は、メモリコントローラ１０と、ＮＡＮＤ型のフラッシュメモリ（ＮＡＮＤメモリ）２０と、電源回路３０と、を備えている。
【００１１】
ＮＡＮＤメモリ２０は、１以上のメモリチップ２１によって構成される。ここでは、ＮＡＮＤメモリ２０は、１以上のメモリチップ２１として、１６個のメモリチップ２１ａ〜２１ｐを備える。以降、１６個のメモリチップ２１ａ〜２１ｐのそれぞれを、メモリチップ２１と表記する。
【００１２】
ＮＡＮＤメモリ２０を構成する１６個のメモリチップ２１は、それぞれ、４つのチャネル（ｃｈ．０〜ｃｈ．３）の何れかを介してメモリコントローラ１０に接続されている。図１の例に従えば、メモリチップ２１ａ〜２１ｄは、チャネル０（ｃｈ．０）に接続されている。メモリチップ２１ｅ〜２１ｈは、チャネル１（ｃｈ．１）に接続されている。メモリチップ２１ｉ〜２１ｌは、チャネル２（ｃｈ．２）に接続されている。メモリチップ２１ｍ〜２１ｐは、チャネル３（ｃｈ．３）に接続されている。
【００１３】
各チャネルは、Ｉ／Ｏ信号線および制御信号線を含む、配線群によって構成される。Ｉ／Ｏ信号線は、例えば、データ、アドレス、およびコマンドを送受信するための信号線である。制御信号線は、例えば、ＷＥ（ライトイネーブル）信号、ＲＥ（リードイネーブル）信号、ＣＬＥ（コマンドラッチイネーブル）信号、ＡＬＥ（アドレスラッチイネーブル）信号、ＷＰ（ライトプロテクト）信号等を送受信するための信号線である。
【００１４】
メモリコントローラ１０は、各チャネルを個別に制御することができる。メモリコントローラ１０は、４つのチャネルを同時に制御することによって、それぞれ接続されたチャネルが異なる合計４つのメモリチップ２１を同時に動作させることができる。
【００１５】
なお、メモリシステム１に具備されるチャネルの数は、４つに限定されない。また、各チャネルに接続されているメモリチップ２１の数は、４つに限定されない。また、ＮＡＮＤメモリ２０を構成するメモリチップ２１の数は、１６個に限定されない。
【００１６】
電源回路３０は、メモリコントローラ１０およびＮＡＮＤメモリ２０を駆動するための電力を生成し、生成した電力をメモリコントローラ１０およびＮＡＮＤメモリ２０のそれぞれに供給する。
【００１７】
メモリコントローラ１０は、内部に備える各構成要素の協働によって、メモリシステム１全体の制御を実行する。
【００１８】
例えば、メモリコントローラ１０は、ホスト２とＮＡＮＤメモリ２０との間のデータ転送を実行する。メモリコントローラ１０は、ホスト２からリードコマンドを受信した場合、当該リードコマンドによって要求されたデータを保持するメモリチップ２１から当該データを読み出す。そして、メモリコントローラ１０は、当該読み出されたデータをホスト２に送信する。また、メモリコントローラ１０は、ホスト２からライトコマンドを受信した場合、ライトコマンドによって要求されたデータの書き込み先のメモリチップ２１を決定して、決定されたメモリチップ２１に当該データを書き込む。
【００１９】
ここで、各メモリチップ２１は、正常に動作する温度範囲が仕様で定められている。この温度範囲を、動作保証温度範囲（guaranteed  range  of  operating  temperature）と表記する。メモリコントローラ１０は、何れのメモリチップ２１も動作保証温度範囲の上限を超えないように、メモリシステム１の性能を制御する。
【００２０】
メモリチップ２１へのアクセスの頻度が高いほど、メモリチップ２１での消費電力量が大きいため、メモリチップ２１での発熱量が増加する。つまり、メモリチップ２１での発熱量は、メモリチップ２１へのアクセス頻度と正の相関がある。また、メモリチップ２１へのアクセスの頻度は、ホスト２とメモリシステム１との間のデータの転送速度（rate  of  transferring  data）と正の相関がある。
【００２１】
ここでは一例として、メモリシステム１は、ホスト２とメモリシステム１との間のデータの転送速度を制御する。つまり、制御される性能は、ホスト２とメモリシステム１との間のデータの転送速度である。以降、特に断りが無い限り、データの転送速度は、ホスト２とメモリシステム１との間のデータの転送速度を意味する。
【００２２】
データの転送速度の制御方法は、特定の方法に限定されない。例えば、メモリコントローラ１０は、ホスト２からのアクセスコマンドに対する応答の送信のタイミングを調整することで、データの転送速度の制御を実現してもよい。別の例では、メモリコントローラ１０は、各メモリチップ２１に対するリードおよびライトの実行の間隔を調整することで、データの転送速度の制御を実現してもよい。さらに別の例では、メモリコントローラ１０は、ＮＡＮＤメモリ２０またはメモリコントローラ１０自身を駆動するクロック周波数を調整することで、データの転送速度の制御を実現してもよい。
【００２３】
メモリコントローラ１０は、性能に上限値を設定する。つまり、メモリコントローラ１０は、データの転送速度が上限値を越えないように、ホスト２とメモリシステム１とのデータ転送を実行する。そして、メモリコントローラ１０は、メモリシステム１内に設けられた温度センサを用いて温度を検出し、検出温度に応じて上限値を設定する。
【００２４】
図２は、第１の実施形態にかかるデータの転送速度の上限値の設定方法の一例を説明するための図である。本図では、横軸は検出温度を示し、縦軸はデータの転送速度の上限値を示す。
【００２５】
図２の例によれば、温度に応じた４つのステートが定義されている。４つのステートは、しきい値Ｔ０より低い温度範囲に対応する第１ステートと、しきい値Ｔ０からしきい値Ｔ１までの温度範囲に対応する第２ステートと、しきい値Ｔ１からしきい値Ｔ２までの温度範囲に対応する第３ステートと、しきい値Ｔ２より高い温度範囲に対応する第４ステートと、を含む。
【００２６】
各ステートには、データの転送速度に関する上限値が対応付けられている。具体的には、第１ステートにはＰ１が上限値として対応付けられており、第２ステートにはＰ２が上限値として対応付けられており、第３ステートにはＰ３が上限値として対応付けられており、第４ステートにはＰ４が上限値として対応付けられている。ただし、Ｐ１〜Ｐ４は、Ｐ１＞Ｐ２＞Ｐ３＞Ｐ４の関係を満たす。つまり、この例によれば、メモリシステム１は、温度の上昇に応じてデータの転送速度の上限値が段階的に引き下げられる。
【００２７】
なお、Ｐ１としては、メモリシステム１が実現し得るデータの転送速度の最大値よりも大きい値が設定されてもよい。その場合には、メモリシステム１は、第１ステートでは、自身が有する最大の性能を発揮することができる。
【００２８】
また、温度Ｔ２は、動作保証温度範囲の上限値に対応する。よって、Ｐ４としては、発熱量をおよそゼロとするような非常に小さい値が設定される。つまり、第４ステートでは、ホスト２は、メモリシステム１との間でデータの送受信をほとんど実行できなくなる。
【００２９】
メモリシステム１は、温度の検出のために２種類の温度センサを備える。２種類の温度センサのうちの１種類は、メモリコントローラ１０が有する温度センサ（図１の温度センサ１５）である。２種類の温度センサのうちの他の種類は、メモリチップ２１内に設けられた温度センサ（図１，図３の温度センサ２０１）である。
【００３０】
メモリチップ２１内に設けられた温度センサ２０１は、メモリチップ２１の正確な温度を検出することができる。しかしながら、メモリコントローラ１０が当該温度センサ２０１による検出温度を取得するためには、当該メモリチップ２１に対するライトやリードなどのアクセスを中断して、検出温度を取得するためのコマンドを当該メモリチップ２１に送信する必要がある。したがって、温度センサ２０１を使用する場合、メモリチップ２１の正確な温度を取得することができるが、メモリチップ２１へのアクセスがしばしば中断されることから、ホスト２とメモリシステム１との間のデータの転送速度が若干低下する。検出温度を取得するためのコマンドを、温度取得コマンドと表記する。
【００３１】
これに対し、メモリコントローラ１０内に設けられた温度センサ１５を利用する場合、メモリチップ２１へのアクセスを必要としない。よって、データの転送速度を犠牲にすることなく検出温度を取得することができる。しかしながら、温度センサ１５は、メモリチップ２１から離間した位置に設けられているため、メモリチップ２１の正確な温度を検出することができない。温度センサ１５の検出温度とメモリチップ２１の温度との対応関係は、例えば、メモリチップ２１とメモリコントローラ１０との位置関係や、メモリシステム１が設置された環境の温度や、メモリシステム１の外部に設けられた電源ユニットなどの発熱体とメモリシステム１との位置関係、など、種々の要因によって、変動し得る。
【００３２】
温度センサ１５の検出温度とメモリチップ２１の温度との対応関係は、変動するから、温度センサ１５を用いて性能の制御を実行する場合、ワーストケースに備えるために、動作保証温度範囲の上限値とステート境界のしきい値Ｔ２との間にマージンを設けることが必要となる。よって、ワーストケースに該当しない場合、性能の不必要な抑制がおこる。
【００３３】
例えば、メモリチップ２１の動作保証温度範囲の上限値が摂氏８５度である場合を考える。製造者は、実験または計算により、温度センサ１５の検出温度と、メモリチップ２１の温度と、の関係を種々の使用条件下で決定する。そして、メモリチップ２１の温度が摂氏８５度であるときの温度センサ１５の検出温度が使用条件に応じて摂氏８１度から摂氏８４度までの範囲でばらつくことが判明した場合、製造者は、温度センサ１５の検出温度のばらつきの範囲の最低値である摂氏８１度をしきい値Ｔ２として設定する。これによって、ワーストケースでもメモリチップ２１の温度が摂氏８５度を越えないように性能を制御することが可能となる。
【００３４】
しかしながら、ワーストケース以外のケース、例えば温度センサ１５の検出温度が摂氏８４度に至るまで上限値をＰ３に維持したとしてもメモリチップ２１の温度を動作保証温度範囲以内とすることができるケースがある。そのようなケースでは、温度センサ１５の検出温度が摂氏８４度よりも低いうちから性能にブレーキがかけられることになる。つまり、性能が必要以上に抑制される。
【００３５】
第１の実施形態では、性能の制御の効率化を図るために、メモリコントローラ１０は、メモリコントローラ１０が有する温度センサ１５と、メモリチップ２１内に設けられた温度センサ２０１と、のうちの何れの温度センサを使用するかを、検出温度に基づいて決定する。
【００３６】
メモリチップ２１の温度が動作保証温度範囲の上限値よりも十分に低い温度領域にある場合、検出温度は正確である必要はない。よって、例えば、取得された検出温度がしきい値Ｔ１よりも低い場合、即ち温度制御のステートが第１ステートかまたは第２ステートに該当する場合、メモリコントローラ１０は、次の検出温度の取得の際にはメモリコントローラ１０が有する温度センサ１５を使用する、と決定する。温度センサ１５を使用する場合、検出温度の取得のためのメモリチップ２１への温度取得コマンドの送信が不要であるので、高速なデータ転送が可能となる。
【００３７】
メモリチップ２１の温度が動作保証温度範囲の上限値の近傍の温度領域にある場合、性能の制御によって、データの転送速度がすでに大きく抑制されている。性能の制御によるデータの転送速度の低下量に比べれば、メモリチップ２１から検出温度を取得することによるデータの転送速度の低下量は無視し得る。よって、例えば、取得された検出温度がしきい値Ｔ１よりも高い場合、即ち温度制御のステートが第３ステートかまたは第４ステートに該当する場合、メモリコントローラ１０は、次の検出温度の取得の際にはメモリチップ２１内に設けられた温度センサ２０１を使用する、と決定する。これによって、動作保証温度範囲の上限付近での不必要な性能の抑制が防止される。
【００３８】
上記のように温度センサを検出温度に応じて選択することで、データの転送速度の平均の向上が期待できる。つまり、効率的な性能の制御が実現される。
【００３９】
図３は、第１の実施形態にかかる各メモリチップ２１の構成を説明する例示的かつ模式的なブロック図である。
【００４０】
メモリチップ２１は、温度センサ２０１、Ｉ／Ｏ信号処理回路２０２、制御信号処理回路２０３、チップ制御回路２０４、コマンドレジスタ２０５、アドレスレジスタ２０６、メモリセルアレイ２０７、カラムデコーダ２０８、データレジスタ２０９、センスアンプ２１０、ロウデコーダ２１１、およびＲＹ／ＢＹ生成回路２１２を備える。
【００４１】
制御信号処理回路２０３は、各種制御信号を受信して、受け付けた制御信号に基づいて、前記Ｉ／Ｏ信号処理回路２０２が受け付けたＩ／Ｏ信号の格納先のレジスタの振り分けを実行する。また、制御信号処理回路２０３は、受け付けた制御信号をチップ制御回路２０４に転送する。
【００４２】
チップ制御回路２０４は、制御信号処理回路２０３を介して受信する各種制御信号に基づいて状態（ステート）遷移する状態遷移回路（ステートマシン）である。チップ制御回路２０４は、各種制御信号に基づいてメモリチップ２１全体の動作を制御する。
【００４３】
Ｉ／Ｏ信号処理回路２０２は、Ｉ／Ｏ信号線を介してメモリコントローラ１０との間でＩ／Ｏ信号を送受信するためのバッファ回路である。Ｉ／Ｏ信号処理回路２０２がＩ／Ｏ信号として取り込んだコマンド、アドレス（物理アドレス）、データ（ライトデータ）は、夫々、アドレスレジスタ２０６、コマンドレジスタ２０５、データレジスタ２０９に振り分けられて格納される。
【００４４】
温度センサ２０１は、温度を検出するセンサである。コマンドレジスタ２０５に温度取得コマンドが格納された場合には、チップ制御回路２０４は、温度センサ２０１の出力を検出温度として取得する。検出温度は、Ｉ／Ｏ信号処理回路２０２に送られて、Ｉ／Ｏ信号処理回路２０２からメモリコントローラ１０へ出力される。
【００４５】
アドレスレジスタ２０６に格納されたアドレスは、ロウアドレスおよびカラムアドレスを含む。ロウアドレスはロウデコーダ２１１、カラムアドレスはカラムデコーダ２０８に夫々読み出される。
【００４６】
メモリセルアレイ２０７は、複数のメモリセルが配列された構成を有している。メモリセルアレイ２０７には、ホスト２から受信したライトデータが格納される。
【００４７】
メモリセルアレイ２０７は、複数のブロックを備える。１つのブロックに格納された全てのデータは、一括して消去（イレース）される。各ブロックは、複数のページを備える。メモリセルアレイ２０７に対するデータのライトおよびデータのリードは、ページ単位で実行される。つまり、メモリチップ２１へのアクセスは、ページ単位で実施される。
【００４８】
ロウデコーダ２１１、カラムデコーダ２０８、センスアンプ２１０は、チップ制御回路２０４による制御に基づいて、メモリセルアレイ２０７に対するアクセスを実行する。
【００４９】
具体的には、データのライトの際には、ロウデコーダ２１１は、ロウアドレスに対応したワード線を選択して、選択したワード線を活性化する。カラムデコーダ２０８は、カラムアドレスに対応したビット線を選択して活性化する。センスアンプ２１０は、カラムデコーダ２０８により選択されたビット線に電圧を印加して、ロウデコーダ２１１が選択したワード線とカラムデコーダ２０８が選択したビット線との交点に位置する、対象のメモリセルに、データレジスタ２０９に格納されているデータを書き込む。
【００５０】
また、データのリードの際には、ロウデコーダ２１１は、ロウアドレスに対応したワード線に１以上のリードレベルを印加する。センスアンプ２１０は、対象のメモリセルが導通状態であるか非導通状態であるかを、ロウデコーダ２１１がワード線に印加したリードレベル毎にセンスし、リードレベル毎のセンス結果に基づいて対象のメモリセルに格納されたデータを判定し、判定によって得られたデータをデータレジスタ２０９に格納する。データレジスタ２０９に格納されたデータは、データ線を通してＩ／Ｏ信号処理回路２０２に送られ、Ｉ／Ｏ信号処理回路２０２からメモリコントローラ１０へ転送される。
【００５１】
ＲＹ／ＢＹ生成回路２１２は、チップ制御回路２０４による制御の下でＲＹ／ＢＹ信号線の状態をレディー状態（ＲＹ）とビジー状態（ＢＹ）との間で遷移させる。
【００５２】
図１に説明を戻す。
【００５３】
メモリコントローラ１０は、ＣＰＵ（Central  Processing  Unit）１１と、ホストインタフェースコントローラ（ホストＩ／Ｆコントローラ）１２と、ＲＡＭ（Random  Access  Memory）１３と、ＮＡＮＤコントローラ１４と、温度センサ１５と、備える。
【００５４】
ＲＡＭ１３は、キャッシュ、バッファ、およびワーキングエリアとして機能するメモリである。例えば、ＲＡＭ１３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）、ＳＲＡＭ（Static  Random  Access  Memory）、またはこれらの組み合わせによって構成される。ＲＡＭ１３は、メモリコントローラ１０の外部に配置されてもよい。
【００５５】
ホストインタフェースコントローラ１２は、ホスト２とメモリコントローラ１０との間の情報（コマンド、データ）の送受信を制御する。例えば、ホストインタフェースコントローラ１２は、ホスト２から受信したデータをＲＡＭ１３に書き込んだり、ＮＡＮＤコントローラ１４によってＮＡＮＤメモリ２０からＲＡＭ１３に読み出されたデータをホスト２に送信したりする。
【００５６】
ＮＡＮＤコントローラ１４は、ＣＰＵ１１による制御下で、ＮＡＮＤメモリ２０に対するアクセスを実行する。例えば、ＮＡＮＤコントローラ１４は、ＲＡＭ１３に格納されているデータをＮＡＮＤメモリ２０に書き込んだり、ＮＡＮＤメモリ２０に格納されているデータを読み出して、読み出したデータをＲＡＭ１３に書き込んだりする。
【００５７】
ＣＰＵ１１は、予めメモリシステム１に内蔵されるプログラム（ファームウェアプログラム）に基づいて動作するプロセッサである。ファームウェアプログラムは、例えばＮＡＮＤメモリ２０の所定位置に格納されている。ＣＰＵ１１は、メモリシステム１のスタートアップ時に、ＮＡＮＤメモリ２０からＲＡＭ１３にファームウェアプログラムをロードする。そして、ＣＰＵ１１は、ＲＡＭ１３にロードされたファームウェアプログラムを実行する。
【００５８】
温度センサ１５は、温度を検出するセンサである。温度センサ１５の出力は、ＣＰＵ１１によって、検出温度として取得される。
【００５９】
ＣＰＵ１１は、ファームウェアプログラムに従って、メモリコントローラ１０の種々の機能を実現する。特に、ＣＰＵ１１は、前述した性能の制御を実施する。
【００６０】
なお、ホストＩ／Ｆコントローラ１２、およびＮＡＮＤコントローラ１４の機能のうちの一部または全部は、ＣＰＵ１１によって実現されてもよい。また、ＣＰＵ１１の機能のうちの一部または全部は、例えばＦＰＧＡ（field-programmable  gate  array）やＡＳＩＣ（application  specific  integrated  circuit）などの、コンピュータプログラムを要しないハードウェア回路によって構成されてもよい。つまり、メモリコントローラ１０は、ハードウェア、ソフトウェア、またはこれらの組み合わせによって構成され得る。なお、メモリコントローラ１０は、ＳｏＣ（System-On-a-Chip）として構成され得る。メモリコントローラ１０は、複数のチップによって構成されてもよい。
【００６１】
図４は、第１の実施形態にかかるメモリシステム１の動作の一例を示すフローチャートである。
【００６２】
まず、ＣＰＵ１１は、温度を測定するタイミングが到来したか否かを判定する（Ｓ１０１）。温度を測定するタイミングは、任意に設定される。例えば、１秒毎など、所定の周期で温度を測定するタイミングが設定される。ＣＰＵ１１は、温度を測定するタイミングをハードウェアカウンタ（不図示）からのカウント信号に基づいて判断してもよい。
【００６３】
温度を測定するタイミングが到来していない場合（Ｓ１０１：Ｎｏ）、Ｓ１０１の判断処理が再び実行される。温度を測定するタイミングが到来した場合（Ｓ１０１：Ｙｅｓ）、ＣＰＵ１１は、現在の温度制御のステートが第３ステートまたは第４ステートに該当するか否かを判定する（Ｓ１０２）。
【００６４】
現在のステートが第３ステートまたは第４ステートに該当する場合（Ｓ１０２：Ｙｅｓ）、ＣＰＵ１１は、１以上のメモリチップ２１から温度センサ２０１による検出温度を取得する（Ｓ１０３）。Ｓ１０３では、ＣＰＵ１１は、１以上のメモリチップ２１にＮＡＮＤコントローラ１４を介して温度取得コマンドを送信することによって、当該１以上のメモリチップ２１のそれぞれに温度センサ２０１による検出温度を出力させる。
【００６５】
なお、検出温度を出力させる１以上のメモリチップ２１は、任意に選択される。検出温度を出力させる１以上のメモリチップ２１を選択する具体的な方法の例は、第２の実施形態にて説明される。
【００６６】
現在のステートが第１ステートまたは第２ステートに該当する場合（Ｓ１０２：Ｎｏ）、ＣＰＵ１１は、メモリコントローラ１０が有する温度センサ１５によって検出された検出温度を取得する（Ｓ１０４）。
【００６７】
Ｓ１０３またはＳ１０４の後、ＣＰＵ１１は、検出温度としきい値（Ｔ０、Ｔ１、およびＴ２）との比較に基づいて、温度制御のステートを更新する（Ｓ１０５）。
【００６８】
具体的には、検出温度がしきい値Ｔ０よりも低い場合、ＣＰＵ１１は、温度制御のステートを現在のステートから第１ステートに遷移させる。検出温度がしきい値Ｔ０よりも高くかつしきい値Ｔ１より低い場合、ＣＰＵ１１は、温度制御のステートを現在のステートから第２ステートに遷移させる。検出温度がしきい値Ｔ１よりも高くかつしきい値Ｔ２より低い場合、ＣＰＵ１１は、温度制御のステートを現在のステートから第３ステートに遷移させる。検出温度がしきい値Ｔ２よりも高い場合、ＣＰＵ１１は、温度制御のステートを現在のステートから第４ステートに遷移させる。
【００６９】
なお、Ｓ１０３において複数のメモリチップ２１から検出温度が取得された場合、ＣＰＵ１１は、複数のメモリチップ２１から取得された複数の検出温度のうちからしきい値との比較に用いる値を取得することができる。比較に用いる値の取得方法は、特定の方法に限定されない。例えば、ＣＰＵ１１は、複数の検出温度のうちの最大値を、Ｓ１０５での比較に用いることができる。別の例では、ＣＰＵ１１は、複数の検出温度の平均値を、Ｓ１０５での比較に用いることができる。ＣＰＵ１１は、複数の検出温度のうちから比較に用いる値の取得方法を、温度制御のステートに応じて切り替えてもよい。
【００７０】
また、検出温度がしきい値と等しい場合、ＣＰＵ１１は、温度制御のステートを現在のステートから当該しきい値によって区分される隣接する２つのステートのうちの低温側のステートに遷移させてもよいし、現在のステートから当該２つのステートのうちの高温側のステートに遷移させてもよい。
【００７１】
また、検出温度としきい値（Ｔ０、Ｔ１、およびＴ２）との比較に基づいて判断されるステートが現在のステートと同じ場合、ＣＰＵ１１は、温度制御のステートの更新を実行しなくてもよい。
【００７２】
Ｓ１０５の後、ＣＰＵ１１は、現在のステートに対応した上限値でデータの転送速度をクランプする（Ｓ１０６）。そして、Ｓ１０１の処理が再び実行される。
【００７３】
このように、第１の実施形態によれば、メモリコントローラ１０は、Ｓ１０３またはＳ１０４において、温度センサ１５または温度センサ２０１から検出温度を取得する。そして、メモリコントローラ１０は、取得された検出温度としきい値（Ｔ０、Ｔ１、Ｔ２）との比較に基づいてステートを更新する（Ｓ１０５）。その後、メモリコントローラ１０は、現在のステートが第３ステートまたは第４ステートに該当するか否かに基づいて（Ｓ１０２）、次に温度センサ１５および温度センサ２０１の何れから検出温度を取得するかを決定する。
【００７４】
つまり、メモリコントローラ１０は、Ｓ１０３またはＳ１０４のタイミング（第１のタイミング）において温度センサ１５または温度センサ２０１から検出温度を取得し、取得された当該検出温度に基づいて、そのタイミングよりも後に取得される検出温度を温度センサ１５および温度センサ２０１の何れから取得するかを決定する。
【００７５】
この構成により、メモリチップ２１の温度が動作保証温度範囲の上限値よりも十分に低い温度領域にある場合、温度センサ１５を使用することで高速にデータの転送をし、メモリチップ２１の温度が動作保証温度範囲の上限値の近傍の温度領域にある場合、温度センサ２０１を使用することで不必要な性能の抑制を防止する、といった制御が可能となる。つまり、効率的な性能の制御が実現される。
【００７６】
また、第１の実施形態によれば、メモリコントローラ１０は、Ｓ１０５とその後に実行されるＳ１０２によって、検出温度としきい値Ｔ１との比較に基づいて温度センサの選択を実行する。具体的には、検出温度がしきい値Ｔ１よりも高い場合には、メモリコントローラ１０は、温度センサ２０１を使用すると決定する。検出温度がしきい値Ｔ１よりも低い場合には、メモリコントローラ１０は、温度センサ１５を使用すると決定する。
【００７７】
これによって、効率的な性能の制御が実現される。
【００７８】
また、第１の実施形態によれば、メモリコントローラ１０は、Ｓ１０５とＳ１０６とによって、検出温度がしきい値Ｔ２よりも高い場合、検出温度がしきい値Ｔ２よりも低い場合よりも性能を低くする。しきい値Ｔ２は、動作保証温度範囲の上限値の近傍に対応し、しきい値Ｔ１よりも大きい。
【００７９】
これによって、動作保証温度範囲の上限値の近傍での性能の制御が、メモリチップ２１の正確な温度を示す検出温度に基づいて実行される。その結果、動作保証温度範囲の上限値の近傍での不必要な性能の抑制が防止される。
【００８０】
仮に、動作保証温度範囲の上限値の近傍での性能の制御を温度センサ１５の検出温度に基づいて実行しようとした場合、前述したように、温度センサ１５の検出温度と各メモリチップ２１の温度との対応関係を予め求めておく作業が必要となる。第１の実施形態では、動作保証温度範囲の上限値の近傍では、メモリチップ２１の正確な温度を示す検出温度を使用することができるので、上記の作業を不要とすることができる。
【００８１】
メモリコントローラ１０は、メモリチップ２１に温度取得コマンドを送信することによって、温度センサ２０１による検出温度を取得することができる。つまり、メモリチップ２１は、温度取得コマンドに応じて検出温度をメモリコントローラ１０に送信する。
【００８２】
なお、上述した説明では、メモリコントローラ１０は、検出温度が動作保証温度範囲の上限値に近づくに応じて性能を段階的に低下させた。性能の制御方法はこれに限定されない。例えば、メモリコントローラ１０は、動作保証温度範囲の上限値に対応した値と検出温度との偏差に基づいてデータの転送速度の上限値を制御してもよい。当該偏差に基づく制御の方法としては、Ｐ制御、ＰＩ制御、ＰＩＤ制御などの、任意の制御方法が採用され得る。
【００８３】
また、上述した説明では、メモリコントローラ１０は、データの転送速度を制御した。制御対象の性能は、データの転送速度に限定されない。メモリコントローラ１０は、メモリチップ２１の発熱量に対応する任意の量を、性能として制御し得る。
【００８４】
また、上述した説明では、メモリコントローラ１０が有する温度センサ１５はメモリコントローラ１０内に設けられているとした。メモリコントローラ１０が有する温度センサ１５は、メモリコントローラ１０の外部の、メモリチップ２１から離間した位置に設けられ、メモリコントローラ１０に専用の信号線で接続されてもよい。
【００８５】
（第２の実施形態）
Ｓ１０３では、ＣＰＵ１１は、全てのメモリチップ２１から検出温度を取得してもよい。しかしながら、全てのメモリチップ２１から検出温度を取得する場合、Ｓ１０３の処理に長い時間を要する。
【００８６】
第２の実施形態では、ＣＰＵ１１は、１６個のメモリチップ２１の全てを検出温度の取得の対象とするのではなく、検出温度の取得の対象の数を１６個よりも少ない数に絞る。これによって、検出温度の取得に要する時間の短縮を図る。以降では、検出温度の取得の対象の数を絞るいくつかの方法を説明する。
【００８７】
図５は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法の一例を示すフローチャートである。
【００８８】
本図に示される例では、Ｎ（０＜Ｎ＜１６）個のメモリチップ２１が検出温度の取得の対象として予め製造者により決定され、当該Ｎ個のメモリチップ２１の識別情報が設定情報に記録されている。設定情報は、所定の不揮発性の記憶領域に格納されている。当該記憶領域は、例えばＮＡＮＤメモリ２０である。
【００８９】
製造者によって検出温度の取得の対象を決定する方法は、特定の方法に限定されない。一例では、実験または計算を行うことにより、１６個のメモリチップ２１のうちの温度が高くなりやすいメモリチップ２１から順番にＮ個のメモリチップ２１を特定し、特定されたＮ個のメモリチップ２１を検出温度の取得の対象として決定してもよい。
【００９０】
ＣＰＵ１１は、温度制御を開始する前などに、設定情報に基づいて、検出温度の取得の対象を特定する（Ｓ２０１）。そして、検出温度の取得の対象の数を絞る動作が終了する。
【００９１】
このように、１６個のメモリチップ２１のうちの一部のメモリチップ２１が、予め検出温度の取得の対象として設定されている。つまり、検出温度の取得の対象は、固定されている。このような方法で検出温度の取得の対象の数を絞ることが可能である。
【００９２】
図６は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法の別の一例を示すフローチャートである。なお、本図において、図４で説明された処理と同様の処理には、図４と同じ符号を付している。
【００９３】
ＣＰＵ１１は、まず、温度を測定するタイミングが到来したか否かを判定する（Ｓ１０１）。温度を測定するタイミングが到来していない場合（Ｓ１０１：Ｎｏ）、Ｓ１０１の判断処理が再び実行される。温度を測定するタイミングが到来した場合（Ｓ１０１：Ｙｅｓ）、ＣＰＵ１１は、現在の温度制御のステートが第３ステートまたは第４ステートに該当するか否かを判定する（Ｓ１０２）。
【００９４】
現在のステートが第１ステートまたは第２ステートに該当する場合（Ｓ１０２：Ｎｏ）、ＣＰＵ１１は、メモリコントローラ１０が有する温度センサ１５によって検出された検出温度を取得する（Ｓ１０４）。そして、ＣＰＵ１１は、検出温度の取得の対象の数を絞る制御に供される所定のフラグを１に設定する（Ｓ３０１）。
【００９５】
Ｓ３０１に続いて、ＣＰＵ１１は、検出温度としきい値（Ｔ０、Ｔ１、およびＴ２）との比較に基づいて、温度制御のステートを更新する（Ｓ１０５）。そして、ＣＰＵ１１は、現在のステートに対応した上限値でデータの転送速度をクランプする（Ｓ１０６）。そして、Ｓ１０１の処理が再び実行される。
【００９６】
現在のステートが第３ステートまたは第４ステートに該当する場合（Ｓ１０２：Ｙｅｓ）、ＣＰＵ１１は、フラグが１であるか否かを判定する（Ｓ３０２）。フラグが１である場合（Ｓ３０２：Ｙｅｓ）、ＣＰＵ１１は、全てのメモリチップ２１、つまり１６個のメモリチップ２１から温度センサ２０１による検出温度を取得する（Ｓ３０３）。Ｓ３０３では、ＣＰＵ１１は、１６個のメモリチップ２１にＮＡＮＤコントローラ１４を介して温度取得コマンドを送信することによって、当該１６個のメモリチップ２１のそれぞれに温度センサ２０１による検出温度を出力させる。
【００９７】
Ｓ３０３に続いて、ＣＰＵ１１は、１６個のメモリチップ２１のうちの出力した検出温度が高い方からＮ個（０＜Ｎ＜１６）のメモリチップ２１のみを次回の検出温度の取得の対象として設定する（Ｓ３０４）。そして、ＣＰＵ１１は、フラグを０にクリアする（Ｓ３０５）。Ｓ３０５の処理の後、Ｓ１０５の処理が実行される。
【００９８】
なお、複数個のメモリチップ２１から得られた検出温度のＳ１０５の処理における扱い方は任意である。例えば複数個のメモリチップ２１から得られた検出温度の最大値が、しきい値（Ｔ０、Ｔ１、およびＴ２）との比較の対象とされる。
【００９９】
フラグが０である場合（Ｓ３０２：Ｎｏ）、ＣＰＵ１１は、Ｓ３０４の処理によって検出温度の取得の対象として設定されたＮ個のメモリチップ２１から温度センサ２０１による検出温度を取得する（Ｓ３０６）。その後、Ｓ１０５の処理が実行される。
【０１００】
このように、ＣＰＵ１１は、１６個のメモリチップ２１の全てから検出温度を取得して、取得された検出温度に基づいて１６個のメモリチップ２１の一部を次回の検出温度の取得の対象として設定してもよい。これによって、検出温度の取得の対象の数を絞ることが可能となる。
【０１０１】
なお、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。ＣＰＵ１１は、１６個のメモリチップ２１の全てから検出温度を取得して、取得された検出温度に基づいて１６個のメモリチップ２１の一部を次回の検出温度の取得の対象に設定する処理を、任意のタイミングで実行することができる。例えば、ＣＰＵ１１は、当該処理を、温度制御のステートに依存しないタイミングで実行することができる。ＣＰＵ１１は、当該処理を、所定の時間間隔で実行してもよい。
【０１０２】
また、図６の例では、検出温度の取得の対象の数を絞った後にステートが第１ステートまたは第２ステートに戻った場合、ＣＰＵ１１は、検出温度の取得の対象の設定を、１６個のメモリチップ２１に戻した。検出温度の取得の対象の設定を１６個のメモリチップ２１に戻すタイミングはこれに限定されない。また、ＣＰＵ１１は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
【０１０３】
図７は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。
【０１０４】
メモリチップ２１の発熱量は、アクセス頻度と正の相関を有する。つまり、メモリチップ２１へのアクセス頻度が高いほど、当該メモリチップ２１の温度が高くなる。図７の例では、ＣＰＵ１１は、アクセス頻度に応じて検出温度の取得の対象を選択する。
【０１０５】
アクセス頻度の取得方法は、特定の方法に限定されない。例えば、ＣＰＵ１１は、データのライト、データのリード、またはデータのイレースを実行した回数をメモリチップ２１毎に集計する。ＣＰＵ１１は、データのライトを実行した回数のみを集計してもよいし、データのリードを実行した回数のみを集計してもよい。ＣＰＵ１１は、データのイレースを実行した回数のみを集計してもよい。ＣＰＵ１１は、集計によって得られた回数を、各メモリチップ２１のアクセス頻度として使用することができる。
【０１０６】
図７に示される一連の処理は、Ｓ３０４の替わりにＳ４０１を含む点で図６に示される一連の処理と異なっている。ここでは、Ｓ４０１のみについて説明する。
【０１０７】
Ｓ４０１では、ＣＰＵ１１は、１６個のメモリチップ２１のうちのアクセス頻度が高い方からＮ個のメモリチップ２１のみを次回の検出温度の取得の対象として設定する。
【０１０８】
このように、ＣＰＵ１１は、アクセス頻度に基づいて１６個のメモリチップ２１の一部を検出温度の取得の対象として設定してもよい。アクセス頻度が高いメモリチップ２１を優先的に検出温度の取得の対象として設定することで、検出温度の取得の対象を、温度が高くなると推定されるメモリチップ２１のみに限定することができる。
【０１０９】
なお、図６のケースと同様に、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。また、検出温度の取得の対象の設定を１６個のメモリチップ２１に戻すタイミングは温度制御のステートが第３ステートまたは第４ステートから第１ステートまたは第２ステートに遷移したタイミングに限定されない。また、ＣＰＵ１１は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
【０１１０】
図８は、第２の実施形態にかかる検出温度の取得の対象の数を絞る方法のさらに別の一例を示すフローチャートである。本図に示される一連の処理は、Ｓ３０４の替わりにＳ５０１を含む点で図６に示される一連の処理と異なっている。ここでは、Ｓ５０１のみについて説明する。
【０１１１】
Ｓ５０１では、ＣＰＵ１１は、検出温度とアクセス頻度とに基づいてＮ個のメモリチップのみを検出温度の取得の対象として設定する。
【０１１２】
例えば、識別番号がｉであるメモリチップ２１の検出温度およびアクセス頻度をそれぞれＴｄｅｔ＿ｉ、Ｆ＿ｉとすると、ＣＰＵ１１は、識別番号がｉであるメモリチップ２１の評価値Ｅ＿ｉを下記の式（１）を用いて算出する。
Ｅ＿ｉ＝ｗ１＊Ｔｄｅｔ＿ｉ＋ｗ２＊Ｆ＿ｉ      （１）
【０１１３】
ここで、ｗ１およびｗ２は、重み付け係数である。ｗ１およびｗ２は、例えば正の整数である。
【０１１４】
ＣＰＵ１１は、１６個のメモリチップ２１のそれぞれについて評価値Ｅを算出する。そして、評価値Ｅが大きい方からＮ個のメモリチップ２１のみを次回の検出温度の取得の対象として選択する。
【０１１５】
なお、評価値Ｅの算出方法は上記に限定されない。評価値Ｅは、検出温度およびアクセス頻度を変数として含む任意の関数を用いて算出され得る。
【０１１６】
また、評価値Ｅを用いた検出温度の取得の対象の選択方法は、上記に限定されない。例えば、検出温度が高いほど評価値Ｅが小さくなり、かつ、アクセス頻度が高いほど評価値Ｅが小さくなるような関数が、評価値Ｅを算出するための関数として使用される場合、ＣＰＵ１１は、評価値Ｅが小さい方からＮ個のメモリチップ２１のみを検出温度の取得の対象として選択してもよい。
【０１１７】
このように、ＣＰＵ１１は、検出温度とアクセス頻度とに基づいて１６個のメモリチップ２１の一部を検出温度の取得の対象として設定してもよい。
【０１１８】
なお、図６のケースと同様に、検出温度の取得の対象を絞るタイミングは、上記されたタイミングに限定されない。また、ＣＰＵ１１は、いったん検出温度の取得の対象の数を絞った後は、検出温度の取得の対象を変更しないように構成されてもよい。
【０１１９】
以上述べたように、第２の実施形態によれば、メモリコントローラ１０は、１６個のメモリチップ２１のうちの一部を検出温度の取得の対象として選択する。これによって、１６個のメモリチップ２１の全てを検出温度の取得の対象とする場合に比べて検出温度の取得に要する時間を短縮することが可能となる。
【０１２０】
なお、第２の実施形態の技術は、単独でメモリシステムに適用することが可能である。例えば、メモリコントローラ１０は、メモリチップ２１内に設けられた温度センサ２０１のみを用いて性能の制御を実施する。メモリコントローラ１０は、設定情報、検出温度、アクセス頻度、または検出温度とアクセス頻度との組み合わせ、などに基づいて１６個のメモリチップ２１のうちの一部を検出温度の取得の対象として選択する。これによって、検出温度の取得に要する時間を短縮することが可能である。また、メモリコントローラ１０から温度センサ１５を廃することが可能となる。
【０１２１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１２２】
１  メモリシステム、２  ホスト、１０  メモリコントローラ、１１  ＣＰＵ、１２  ホストインタフェースコントローラ、１３  ＲＡＭ、１４  ＮＡＮＤコントローラ、１５  温度センサ、２０  ＮＡＮＤメモリ、２１  メモリチップ、３０  電源回路、２０１  温度センサ、２０２  Ｉ／Ｏ信号処理回路、２０３  制御信号処理回路、２０４  チップ制御回路、２０５  コマンドレジスタ、２０６  アドレスレジスタ、２０７  メモリセルアレイ、２０８  カラムデコーダ、２０９  データレジスタ、２１０  センスアンプ、２１１  ロウデコーダ、２１２  ＲＹ／ＢＹ生成回路。
【図１】
2020144589.tif 000003
【図２】
2020144589.tif 000004
【図３】
2020144589.tif 000005
【図４】
2020144589.tif 000006
【図５】
2020144589.tif 000007
【図６】
2020144589.tif 000008
【図７】
2020144589.tif 000009
【図８】
2020144589.tif 000010