JP2018055759A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2018055759A JP2018055759A JP2017065622A JP2017065622A JP2018055759A JP 2018055759 A JP2018055759 A JP 2018055759A JP 2017065622 A JP2017065622 A JP 2017065622A JP 2017065622 A JP2017065622 A JP 2017065622A JP 2018055759 A JP2018055759 A JP 2018055759A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- temperature
- controller
- memory chip
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims description 111
- 238000012545 processing Methods 0.000 description 47
- 230000004044 response Effects 0.000 description 24
- 238000012937 correction Methods 0.000 description 19
- 238000006243 chemical reaction Methods 0.000 description 18
- 238000012986 modification Methods 0.000 description 13
- 230000004048 modification Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 9
- 238000009792 diffusion process Methods 0.000 description 7
- 239000000758 substrate Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 239000012535 impurity Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 1
- 101100481704 Arabidopsis thaliana TMK3 gene Proteins 0.000 description 1
- 238000005056 compaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Detection And Correction Of Errors (AREA)
- Memory System (AREA)
Abstract
【課題】本発明が解決しようとする課題は、読み出しエラーの発生頻度を低減させたメモリシステムを提供することである。【解決手段】実施形態のメモリシステムは、複数のメモリチップを有する不揮発性メモリと、前記不揮発性メモリを制御するコントローラと、を備える。前記コントローラは、前記コントローラの温度が第1の温度より高い場合または前記複数のメモリチップのうち第1のメモリチップの温度が第2の温度より高い場合に、前記第1のメモリチップへアクセスする。【選択図】図1
Description
本発明の実施形態は、メモリシステムに関する。
NAND型フラッシュメモリのような不揮発性メモリと、メモリコントローラと、を備
えるメモリシステムが提供されている。
えるメモリシステムが提供されている。
本発明が解決しようとする課題は、読み出しエラーの発生頻度を低減させたメモリシス
テムを提供することである。
テムを提供することである。
上記課題を達成するために、実施形態のメモリシステムは、複数のメモリチップを有す
る不揮発性メモリと、前記不揮発性メモリを制御するコントローラと、を備える。前記コ
ントローラは、前記コントローラの温度が第1の温度より高い場合または前記複数のメモ
リチップのうち第1のメモリチップの温度が第2の温度より高い場合に、前記第1のメモ
リチップへアクセスする。
る不揮発性メモリと、前記不揮発性メモリを制御するコントローラと、を備える。前記コ
ントローラは、前記コントローラの温度が第1の温度より高い場合または前記複数のメモ
リチップのうち第1のメモリチップの温度が第2の温度より高い場合に、前記第1のメモ
リチップへアクセスする。
以下、発明を実施するための実施形態について図面を参照して説明する。
(第1の実施形態)
図1は、第1の実施形態に係るメモリシステムの構成例を示すブロック図である。メモ
リシステム1は、ホスト装置2と通信線で接続され、ホスト装置2の外部記憶装置として
機能する。ホスト装置2は、例えば、パーソナルコンピュータなどの情報処理装置、携帯
電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯
端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなど
の車載端末であってもよい。
図1は、第1の実施形態に係るメモリシステムの構成例を示すブロック図である。メモ
リシステム1は、ホスト装置2と通信線で接続され、ホスト装置2の外部記憶装置として
機能する。ホスト装置2は、例えば、パーソナルコンピュータなどの情報処理装置、携帯
電話、撮像装置であってもよいし、タブレットコンピュータやスマートフォンなどの携帯
端末であってもよいし、ゲーム機器であってもよいし、カーナビゲーションシステムなど
の車載端末であってもよい。
不揮発性メモリ100は、データを不揮発に記憶するメモリである。不揮発性メモリ1
00は、例えば、複数個のメモリチップであるメモリチップ#1 110−1、・・・、
メモリチップ#N 110−Nを備える不揮発性半導体メモリである。なお、Nは任意の
自然数である。
00は、例えば、複数個のメモリチップであるメモリチップ#1 110−1、・・・、
メモリチップ#N 110−Nを備える不揮発性半導体メモリである。なお、Nは任意の
自然数である。
以下の説明において、複数のメモリチップ110−1、・・・、110−Nのうち1つ
を特定する必要がある場合は符号110−1、・・・、110−Nを使用するが、任意の
メモリチップを指す場合や、あるメモリチップを他のメモリチップと区別しない場合は、
符号110を使用する。
を特定する必要がある場合は符号110−1、・・・、110−Nを使用するが、任意の
メモリチップを指す場合や、あるメモリチップを他のメモリチップと区別しない場合は、
符号110を使用する。
メモリチップ110の各々は、例えば互いに独立して動作可能であり、その一例として
はNAND型フラッシュメモリチップである。NAND型フラッシュメモリでは、一般に
、ページと呼ばれるデータ単位で、書き込みおよび読み出しが行われ、ブロックと呼ばれ
るデータ単位で消去が行われる。
はNAND型フラッシュメモリチップである。NAND型フラッシュメモリでは、一般に
、ページと呼ばれるデータ単位で、書き込みおよび読み出しが行われ、ブロックと呼ばれ
るデータ単位で消去が行われる。
なお、不揮発性メモリ100としてNAND型フラッシュメモリを用いる例を説明する
が、不揮発性メモリ100として3次元構造フラッシュメモリ、ReRAM(Resistance
Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)等のN
AND型フラッシュメモリ以外の記憶手段を用いてもよい。また、ここでは、記憶手段と
して半導体メモリを用いる例を説明するが、半導体メモリ以外の記憶手段を用いてもよい
。
が、不揮発性メモリ100として3次元構造フラッシュメモリ、ReRAM(Resistance
Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)等のN
AND型フラッシュメモリ以外の記憶手段を用いてもよい。また、ここでは、記憶手段と
して半導体メモリを用いる例を説明するが、半導体メモリ以外の記憶手段を用いてもよい
。
メモリシステム1は、メモリコントローラ200と不揮発性メモリ100が1つのパッ
ケージとして構成されるメモリカードであってもよいし、SSD(Solid State Drive)
であってもよい。
ケージとして構成されるメモリカードであってもよいし、SSD(Solid State Drive)
であってもよい。
メモリコントローラ200は、ホスト装置2からの書き込み要求に従って不揮発性メモ
リ100への書き込みを制御する。本実施形態において、要求とは、例えば、命令、コマ
ンドである。また、ホスト装置2からの読み出し要求に従って不揮発性メモリ100から
の読み出しを制御する。メモリコントローラはコントローラとも称される。
リ100への書き込みを制御する。本実施形態において、要求とは、例えば、命令、コマ
ンドである。また、ホスト装置2からの読み出し要求に従って不揮発性メモリ100から
の読み出しを制御する。メモリコントローラはコントローラとも称される。
メモリコントローラ200は、ホストインターフェース(ホストI/F)210、制御
部220、データバッファ230、符号化部/復号部(Encoder/Decoder)240、メモ
リインタフェース(メモリI/F)250および温度センサインターフェース(温度セン
サI/F)260を備える。ホストI/F210、制御部220、データバッファ230
、符号化部/復号部240、メモリI/F250および温度センサI/F260は、内部
バス270で接続されている。
部220、データバッファ230、符号化部/復号部(Encoder/Decoder)240、メモ
リインタフェース(メモリI/F)250および温度センサインターフェース(温度セン
サI/F)260を備える。ホストI/F210、制御部220、データバッファ230
、符号化部/復号部240、メモリI/F250および温度センサI/F260は、内部
バス270で接続されている。
ホストI/F210は、ホスト装置2との間のインターフェース規格に従った処理を実
施し、ホスト装置2から受信した要求、ユーザデータなどを内部バス270に出力する。
また、ホストI/F210は、不揮発性メモリ100から読み出されたユーザデータ、制
御部220からの応答などをホスト装置2へ送信する。なお、本実施の形態では、ホスト
装置2からの書き込み要求により不揮発性メモリ100へ書き込むデータをユーザデータ
と呼ぶ。
施し、ホスト装置2から受信した要求、ユーザデータなどを内部バス270に出力する。
また、ホストI/F210は、不揮発性メモリ100から読み出されたユーザデータ、制
御部220からの応答などをホスト装置2へ送信する。なお、本実施の形態では、ホスト
装置2からの書き込み要求により不揮発性メモリ100へ書き込むデータをユーザデータ
と呼ぶ。
制御部220は、メモリシステム1の各構成要素を統括的に制御する。制御部220は
、ハードウェアにより実現されてもよいし、CPU(Central Processing Unit)等のプ
ロセッサがファームウェアを実行することにより実現されてもよい。後者の場合、例えば
、プロセッサが、メモリシステム1が電源供給を受けたときに、図示しないROMに格納
されているファームウェア(制御プログラム)をバッファ230または制御部220内の
図示しないRAM上に読み出して所定の処理を実行することにより、制御部220の処理
が実現される。ここで、プロセッサは、コアまたはプロセッサコアとも称される。
、ハードウェアにより実現されてもよいし、CPU(Central Processing Unit)等のプ
ロセッサがファームウェアを実行することにより実現されてもよい。後者の場合、例えば
、プロセッサが、メモリシステム1が電源供給を受けたときに、図示しないROMに格納
されているファームウェア(制御プログラム)をバッファ230または制御部220内の
図示しないRAM上に読み出して所定の処理を実行することにより、制御部220の処理
が実現される。ここで、プロセッサは、コアまたはプロセッサコアとも称される。
制御部220は、ホスト装置2からホストI/F210経由で要求を受けた場合に、そ
の命令に従った制御を行う。例えば、制御部220は、ホスト装置2からの要求に従って
、不揮発性メモリ100へのユーザデータおよびパリティの書き込みをメモリI/F25
0へ指示する。また、制御部220は、ホスト装置2からの要求に従って、不揮発性メモ
リ100に対する命令をメモリI/F250へ指示する。
の命令に従った制御を行う。例えば、制御部220は、ホスト装置2からの要求に従って
、不揮発性メモリ100へのユーザデータおよびパリティの書き込みをメモリI/F25
0へ指示する。また、制御部220は、ホスト装置2からの要求に従って、不揮発性メモ
リ100に対する命令をメモリI/F250へ指示する。
また、制御部220は、ホスト装置2から書き込み要求を受信した場合、データバッフ
ァ230に蓄積されるユーザデータに対して、不揮発性メモリ100上の格納領域(メモ
リ領域)を決定する。すなわち、制御部220は、ユーザデータの書込み先を管理する。
ホスト装置2から受信したユーザデータの論理アドレスと当該ユーザデータが格納される
不揮発性メモリ100上の格納領域を示す物理アドレスとの対応はアドレス変換テーブル
として格納される。
ァ230に蓄積されるユーザデータに対して、不揮発性メモリ100上の格納領域(メモ
リ領域)を決定する。すなわち、制御部220は、ユーザデータの書込み先を管理する。
ホスト装置2から受信したユーザデータの論理アドレスと当該ユーザデータが格納される
不揮発性メモリ100上の格納領域を示す物理アドレスとの対応はアドレス変換テーブル
として格納される。
また、制御部220は、ホスト装置2から読み出し要求を受信した場合、読み出し要求
により指定された論理アドレスを上述のアドレス変換テーブルを用いて物理アドレスに変
換し、該物理アドレスからの読み出しをメモリI/F250へ指示する。
により指定された論理アドレスを上述のアドレス変換テーブルを用いて物理アドレスに変
換し、該物理アドレスからの読み出しをメモリI/F250へ指示する。
データバッファ230は、メモリコントローラ200がホスト装置2から受信したユー
ザデータを、不揮発性メモリ100へ記憶するまでの間、一時格納する。また、データバ
ッファ230は、不揮発性メモリ100から読み出したユーザデータをホスト装置2へ送
信するまでに一時格納する。データバッファ230は、例えば、SRAM(Static Rand
om Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモ
リで構成される。また、データバッファ230は、メモリコントローラ200内部に搭載
されてもよく、メモリコントローラ200の外にメモリコントローラ200とは独立して
搭載されてもよい。
ザデータを、不揮発性メモリ100へ記憶するまでの間、一時格納する。また、データバ
ッファ230は、不揮発性メモリ100から読み出したユーザデータをホスト装置2へ送
信するまでに一時格納する。データバッファ230は、例えば、SRAM(Static Rand
om Access Memory)やDRAM(Dynamic Random Access Memory)などの汎用メモ
リで構成される。また、データバッファ230は、メモリコントローラ200内部に搭載
されてもよく、メモリコントローラ200の外にメモリコントローラ200とは独立して
搭載されてもよい。
符号化部/復号部240は、符号化回路241と復号回路242とを備える。符号化部
/復号部はECC(Error Correcting Code)回路とも称される。符号化回路241は、
データバッファ230に保持されたデータを符号化して、データと冗長部(パリティ)と
を有する符号語を生成する。符号化回路241は、第1のデータ長のユーザデータを符号
化(誤り訂正符号化)して第2のデータ長の符号語を生成する。符号化回路241が行う
符号化では、例えば、BCH(Bose-Chaudhuri-Hocquenghem)符号、RS(Reed-Solomon
)符号、LDPC(Low Density Parity Check)符号等を用いることができる。なお、符
号化回路241が用いる誤り訂正符号はこれらに限定されない。復号回路242は、不揮
発性メモリ100から読み出されたデータである符号語をメモリI/F250経由で取得
し、取得した符号語を復号する。復号回路242は、復号時に誤り訂正に失敗した場合は
、制御部220に誤り訂正失敗を通知する。
/復号部はECC(Error Correcting Code)回路とも称される。符号化回路241は、
データバッファ230に保持されたデータを符号化して、データと冗長部(パリティ)と
を有する符号語を生成する。符号化回路241は、第1のデータ長のユーザデータを符号
化(誤り訂正符号化)して第2のデータ長の符号語を生成する。符号化回路241が行う
符号化では、例えば、BCH(Bose-Chaudhuri-Hocquenghem)符号、RS(Reed-Solomon
)符号、LDPC(Low Density Parity Check)符号等を用いることができる。なお、符
号化回路241が用いる誤り訂正符号はこれらに限定されない。復号回路242は、不揮
発性メモリ100から読み出されたデータである符号語をメモリI/F250経由で取得
し、取得した符号語を復号する。復号回路242は、復号時に誤り訂正に失敗した場合は
、制御部220に誤り訂正失敗を通知する。
メモリI/F250は、不揮発性メモリ110を制御する。メモリI/F250は、制
御部220等の制御に従って符号化回路241から出力された符号語を不揮発性メモリ1
10に書き込む。また、メモリI/F250は、制御部220等の制御に従って不揮発性
メモリ110からデータを読み出し、バッファ230経由で復号回路242に転送する。
更にメモリI/F250は、制御部220等の制御に従って、不揮発性メモリ110に保
存されているデータを消去する。
御部220等の制御に従って符号化回路241から出力された符号語を不揮発性メモリ1
10に書き込む。また、メモリI/F250は、制御部220等の制御に従って不揮発性
メモリ110からデータを読み出し、バッファ230経由で復号回路242に転送する。
更にメモリI/F250は、制御部220等の制御に従って、不揮発性メモリ110に保
存されているデータを消去する。
メモリI/F250と各メモリチップ110との間は、NANDインターフェースに従
ったバスによって接続される。このバス上で送受信される信号は、例えばチップイネーブ
ル信号/CE、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号C
LE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及び入出力信号I/
O等である。信号/CEはメモリチップ110をイネーブルにするための信号である。信
号ALEは、入力信号がアドレスであることをメモリチップ110に通知する信号である
。信号CLEは、入力信号がコマンドであることをメモリチップ110に通知する信号で
ある。信号/WEは、入力信号をメモリチップ110に取り込ませるための信号である。
信号/REは、出力信号をメモリI/F250に取り込ませるための信号である。入出力
信号I/Oは、正味のコマンド、アドレス、及びデータ等の信号である。
ったバスによって接続される。このバス上で送受信される信号は、例えばチップイネーブ
ル信号/CE、アドレスラッチイネーブル信号ALE、コマンドラッチイネーブル信号C
LE、ライトイネーブル信号/WE、リードイネーブル信号/RE、及び入出力信号I/
O等である。信号/CEはメモリチップ110をイネーブルにするための信号である。信
号ALEは、入力信号がアドレスであることをメモリチップ110に通知する信号である
。信号CLEは、入力信号がコマンドであることをメモリチップ110に通知する信号で
ある。信号/WEは、入力信号をメモリチップ110に取り込ませるための信号である。
信号/REは、出力信号をメモリI/F250に取り込ませるための信号である。入出力
信号I/Oは、正味のコマンド、アドレス、及びデータ等の信号である。
温度センサ300は、メモリコントローラ200の温度を測定するためのセンサで、メ
モリコントローラ200の近傍に配置される。なお、以降の説明において「メモリコント
ローラ200の温度」とは、温度センサ300が搭載された位置で計測された温度であり
、温度センサ300で測定された温度情報を含む。温度センサI/F260は、メモリコ
ントローラ200と温度センサ300との間の通信インターフェースの機能を有し、制御
部220は、温度センサ300で測定された温度情報を、温度センサI/F260を介し
て取得する。
モリコントローラ200の近傍に配置される。なお、以降の説明において「メモリコント
ローラ200の温度」とは、温度センサ300が搭載された位置で計測された温度であり
、温度センサ300で測定された温度情報を含む。温度センサI/F260は、メモリコ
ントローラ200と温度センサ300との間の通信インターフェースの機能を有し、制御
部220は、温度センサ300で測定された温度情報を、温度センサI/F260を介し
て取得する。
温度センサ300は、温度情報を温度センサI/F260経由で制御部220へ自発的
に出力してもよいし、温度センサI/F260が制御部220からの要求に応じて温度セ
ンサ300から取得した測定情報を制御部220へ送信してもよい。後者の場合は、制御
部220から温度センサI/F260へ温度情報を取得するためのコマンドが送信され、
温度センサI/F260が当該コマンドに対する応答として温度センサ300から取得し
た温度情報を制御部220へ送信する。
に出力してもよいし、温度センサI/F260が制御部220からの要求に応じて温度セ
ンサ300から取得した測定情報を制御部220へ送信してもよい。後者の場合は、制御
部220から温度センサI/F260へ温度情報を取得するためのコマンドが送信され、
温度センサI/F260が当該コマンドに対する応答として温度センサ300から取得し
た温度情報を制御部220へ送信する。
メモリシステム1は、温度センサ300を複数搭載してもよい。複数の温度センサ30
0の各々に対して各々の温度センサI/F260が設けられて制御部220が各々の温度
センサI/F260を介して温度情報を取得してもよいし、複数の温度センサ300に対
して1つの温度センサI/F260が設けられて制御部220が温度センサI/F260
を介して複数の温度センサ300各々が測定した温度情報を取得してもよい。制御部22
0は、温度センサI/F260を介して取得した複数の温度センサ300で測定された温
度情報に基づいて、メモリコントローラ200の温度を確定させる。メモリコントローラ
200の温度を確定させる方法としては、例えば、複数の温度センサ300で測定された
各々の温度情報の平均値を使用する場合や、各々の温度情報の中央値を使用する場合や、
複数の温度センサ300の特定の温度センサ300で測定された温度情報を使用する場合
等がある。
0の各々に対して各々の温度センサI/F260が設けられて制御部220が各々の温度
センサI/F260を介して温度情報を取得してもよいし、複数の温度センサ300に対
して1つの温度センサI/F260が設けられて制御部220が温度センサI/F260
を介して複数の温度センサ300各々が測定した温度情報を取得してもよい。制御部22
0は、温度センサI/F260を介して取得した複数の温度センサ300で測定された温
度情報に基づいて、メモリコントローラ200の温度を確定させる。メモリコントローラ
200の温度を確定させる方法としては、例えば、複数の温度センサ300で測定された
各々の温度情報の平均値を使用する場合や、各々の温度情報の中央値を使用する場合や、
複数の温度センサ300の特定の温度センサ300で測定された温度情報を使用する場合
等がある。
なお、温度センサ300がメモリコントローラ200内に搭載されてもよい。また、温
度センサ300がメモリコントローラ200内に搭載され、温度センサ300と制御部2
20がバス270経由で接続され、温度センサ300が制御部220の要求に応じて温度
情報を制御部220へ送信してもよい。また、温度センサ300がメモリコントローラ2
00内に複数搭載されてもよい。温度センサ300がメモリコントローラ200内に複数
搭載される場合、制御部220は、複数の温度センサ300から得られた温度情報に基づ
いて、メモリコントローラ200の温度を確定させる。メモリコントローラ200の温度
を確定させる方法としては、例えば、複数の温度センサ300から得られた各々の温度情
報の平均値を使用する場合や、各々の温度情報の中央値を使用する場合や、複数の温度セ
ンサ300の特定の温度センサ300から得られた温度情報を使用する場合等がある。
度センサ300がメモリコントローラ200内に搭載され、温度センサ300と制御部2
20がバス270経由で接続され、温度センサ300が制御部220の要求に応じて温度
情報を制御部220へ送信してもよい。また、温度センサ300がメモリコントローラ2
00内に複数搭載されてもよい。温度センサ300がメモリコントローラ200内に複数
搭載される場合、制御部220は、複数の温度センサ300から得られた温度情報に基づ
いて、メモリコントローラ200の温度を確定させる。メモリコントローラ200の温度
を確定させる方法としては、例えば、複数の温度センサ300から得られた各々の温度情
報の平均値を使用する場合や、各々の温度情報の中央値を使用する場合や、複数の温度セ
ンサ300の特定の温度センサ300から得られた温度情報を使用する場合等がある。
図2及び図3は、メモリシステム1とホスト装置2が組み込まれたシステム3の例を示
す。システム3は、電子機器の一例である。
す。システム3は、電子機器の一例である。
図2に示すように、メモリシステム1は、例えばサーバ等のシステム3内に記憶装置と
して組み込まれる。システム3は、メモリシステム1とメモリシステム1が装着されたホ
スト装置2とを含む。ホスト装置2は、例えば上方に開口した複数のコネクタ4を有する
。コネクタ4は、例えば、スロットである。図2に示す例では、メモリシステム1は、基
板400を含み、基板400に、不揮発性メモリ100とメモリコントローラ200が搭
載される。複数のメモリシステム1は、ホスト装置2のコネクタ4に其々装着され、略鉛
直方向に起立した姿勢で互いに並べて支持される。このような構成によれば、複数のメモ
リシステム1をコンパクトに纏めて実装可能であり、ホスト装置2の小型化を図ることが
できる。
して組み込まれる。システム3は、メモリシステム1とメモリシステム1が装着されたホ
スト装置2とを含む。ホスト装置2は、例えば上方に開口した複数のコネクタ4を有する
。コネクタ4は、例えば、スロットである。図2に示す例では、メモリシステム1は、基
板400を含み、基板400に、不揮発性メモリ100とメモリコントローラ200が搭
載される。複数のメモリシステム1は、ホスト装置2のコネクタ4に其々装着され、略鉛
直方向に起立した姿勢で互いに並べて支持される。このような構成によれば、複数のメモ
リシステム1をコンパクトに纏めて実装可能であり、ホスト装置2の小型化を図ることが
できる。
また、メモリシステム1は、例えばノートブック型ポータブルコンピュータやタブレッ
ト端末、その他デタッチャブルノートPC(personal computer)のような電子機器のス
トレージデバイスとして使用されるものでもよい。図3に示すように、メモリシステム1
は、例えば、ホスト装置2に対応するポータブルコンピュータに実装される。ここでは、
メモリシステム1を含むポータブルコンピュータ全体がシステム3となる。
ト端末、その他デタッチャブルノートPC(personal computer)のような電子機器のス
トレージデバイスとして使用されるものでもよい。図3に示すように、メモリシステム1
は、例えば、ホスト装置2に対応するポータブルコンピュータに実装される。ここでは、
メモリシステム1を含むポータブルコンピュータ全体がシステム3となる。
ポータブルコンピュータは、本体301と、表示ユニット302と、を備える。表示ユ
ニット302は、ディスプレイハウジング303と、このディスプレイハウジング303
に収容された表示装置304と、を備える。
ニット302は、ディスプレイハウジング303と、このディスプレイハウジング303
に収容された表示装置304と、を備える。
本体301は、筐体305と、キーボード306と、ポインティングデバイスであるタ
ッチパッド307と、を備える。筐体305は、メイン回路基板、ODD(Optical Disk
Device)ユニット、カードスロット308など、を含む。
ッチパッド307と、を備える。筐体305は、メイン回路基板、ODD(Optical Disk
Device)ユニット、カードスロット308など、を含む。
カードスロット308は、筐体305の側面に設けられる。ユーザは、筐体305の外
部から追加デバイス309をカードスロット308に挿入することが可能である。
部から追加デバイス309をカードスロット308に挿入することが可能である。
メモリシステム1は、HDD(Hard disk drive)の置き換えとして、ポータブルコン
ピュータ内部に実装された状態で使用してもよいし、追加デバイス309として使用して
もよい。
ピュータ内部に実装された状態で使用してもよいし、追加デバイス309として使用して
もよい。
図4は、第1実施形態に係るメモリシステムの外観の一例を示す斜視図である。この例
では、メモリシステム1は、基板400を含む。基板400には、メモリチップ110−
1、110−2、110−3、110−4、110−5、110−6、110−7、11
0−8、ホストI/F210に含まれる接続部211、メモリコントローラ200、バッ
ファ230としてのDRAM、および温度センサ300が搭載されてよいが、これに限定
されない。
では、メモリシステム1は、基板400を含む。基板400には、メモリチップ110−
1、110−2、110−3、110−4、110−5、110−6、110−7、11
0−8、ホストI/F210に含まれる接続部211、メモリコントローラ200、バッ
ファ230としてのDRAM、および温度センサ300が搭載されてよいが、これに限定
されない。
なお、ホストI/F210は、接続部211(端子部)を有し、図4に示すメモリシス
テム1では、接続部211はメモリコントローラ200の外にメモリコントローラ200
と独立して搭載される。接続部211は、例えば複数の接続端子(金属端子)を有する。
接続部211は、例えば、ホスト装置2のコネクタ4に差し込まれ、コネクタ4に電気的
に接続される。ホストI/F210は、接続部211を介してホスト装置2との間で信号
をやり取りする。
テム1では、接続部211はメモリコントローラ200の外にメモリコントローラ200
と独立して搭載される。接続部211は、例えば複数の接続端子(金属端子)を有する。
接続部211は、例えば、ホスト装置2のコネクタ4に差し込まれ、コネクタ4に電気的
に接続される。ホストI/F210は、接続部211を介してホスト装置2との間で信号
をやり取りする。
また、図4に示すメモリシステム1では、メモリチップ110は、他のメモリチップ1
10、メモリコントローラ200、バッファ230としてのDRAM、または温度センサ
300と側面が任意の長さの間隙を介して向き合うように配置され、温度センサ300は
、メモリコントローラ200、NANDメモリ110−1、・・・、110−8、バッフ
ァ230としてのDRAMに囲まれた位置に配置されているが、NANDメモリ110−
1、110−2、110−3、110−4、110−5、110−6、110−7、11
0−8、ホストインターフェース210、メモリコントローラ200、バッファ230と
してのDRAM、および温度センサ300の配置は一例であり、これに限定されない。
10、メモリコントローラ200、バッファ230としてのDRAM、または温度センサ
300と側面が任意の長さの間隙を介して向き合うように配置され、温度センサ300は
、メモリコントローラ200、NANDメモリ110−1、・・・、110−8、バッフ
ァ230としてのDRAMに囲まれた位置に配置されているが、NANDメモリ110−
1、110−2、110−3、110−4、110−5、110−6、110−7、11
0−8、ホストインターフェース210、メモリコントローラ200、バッファ230と
してのDRAM、および温度センサ300の配置は一例であり、これに限定されない。
次に、上記メモリチップ110の構成について説明する。図5は、本実施形態に係るメ
モリチップ110のブロック図である。前述の通り、メモリチップ110は例えばNAN
D型フラッシュメモリチップであり、本実施態様では、メモリセルが半導体基板上方に三
次元に積層された三次元積層型NAND型フラッシュメモリである。
モリチップ110のブロック図である。前述の通り、メモリチップ110は例えばNAN
D型フラッシュメモリチップであり、本実施態様では、メモリセルが半導体基板上方に三
次元に積層された三次元積層型NAND型フラッシュメモリである。
メモリチップ110は、I/O(Input/Output)コントローラ111と、コマンド/信号
バッファ112と、アドレスバッファ113と、電圧コントローラ114と、電圧発生器
115と、ドライバ116と、センスアンプ117と、ロウデコーダ118と、メモリセ
ルアレイ119と、ページバッファ120と、チップ温度センサ121と、を備える。
バッファ112と、アドレスバッファ113と、電圧コントローラ114と、電圧発生器
115と、ドライバ116と、センスアンプ117と、ロウデコーダ118と、メモリセ
ルアレイ119と、ページバッファ120と、チップ温度センサ121と、を備える。
メモリセルアレイ119は、それぞれがワード線及びビット線に関連付けられた複数の
不揮発性メモリセルの集合である複数のブロックBLK(BLK0、BLK1、BLK2
、…)を備えている。ブロックBLKはデータの消去単位となり、同一ブロックBLK内
のデータは一括して消去される。ブロックBLKの各々は、メモリセルが直列接続された
NANDストリング131の集合である複数のストリングユニットSU(SU0、SU1
、SU2、…)を備えている。もちろん、メモリセルアレイ119内のブロック数や、1
ブロックBLK内のストリングユニット数は任意である。
不揮発性メモリセルの集合である複数のブロックBLK(BLK0、BLK1、BLK2
、…)を備えている。ブロックBLKはデータの消去単位となり、同一ブロックBLK内
のデータは一括して消去される。ブロックBLKの各々は、メモリセルが直列接続された
NANDストリング131の集合である複数のストリングユニットSU(SU0、SU1
、SU2、…)を備えている。もちろん、メモリセルアレイ119内のブロック数や、1
ブロックBLK内のストリングユニット数は任意である。
I/Oコントローラ111は、入力信号に基づき、メモリI/F250からのコマンド
をコマンド/信号バッファ112に出力し、アドレスをアドレスバッファ113に出力す
る。また、I/Oコントローラ111は、メモリチップ110に対する書き込みコマンド
を受信する場合にデータをページバッファ120に送り、メモリチップ110に対する読
み出しコマンドを受信する場合にデータをページバッファ120から受ける。
をコマンド/信号バッファ112に出力し、アドレスをアドレスバッファ113に出力す
る。また、I/Oコントローラ111は、メモリチップ110に対する書き込みコマンド
を受信する場合にデータをページバッファ120に送り、メモリチップ110に対する読
み出しコマンドを受信する場合にデータをページバッファ120から受ける。
コマンド/信号バッファ112は、I/Oコントローラ111から出力されたコマンド
をデコードし、そのコマンドが示す動作(例えば、読み出し、書き込み、消去など)を実
現させるための指示を電圧コントローラ114に出力する。アドレスバッファ113は、
I/Oコントローラ111から出力されたアドレスをデコードし、そのアドレスをドライ
バ116に出力する。
をデコードし、そのコマンドが示す動作(例えば、読み出し、書き込み、消去など)を実
現させるための指示を電圧コントローラ114に出力する。アドレスバッファ113は、
I/Oコントローラ111から出力されたアドレスをデコードし、そのアドレスをドライ
バ116に出力する。
電圧コントローラ114は、コマンド/信号バッファ112から出力されたコマンドの
指示に従って、メモリセルアレイ119に対するアクセス動作を制御する。
指示に従って、メモリセルアレイ119に対するアクセス動作を制御する。
電圧発生器115は、電圧コントローラ114からの制御信号CGPVDACに基づき、例え
ば、書き込み動作を実現するためのプログラム電圧CGPVを発生する。電圧発生器115は
、電圧コントローラ114からの制御信号CGRVDACに基づき、例えば、読み出し動作を実
現するための読み出し電圧CGRVを発生する。
ば、書き込み動作を実現するためのプログラム電圧CGPVを発生する。電圧発生器115は
、電圧コントローラ114からの制御信号CGRVDACに基づき、例えば、読み出し動作を実
現するための読み出し電圧CGRVを発生する。
チップ温度センサ121は、メモリチップ110の温度を計測し、計測した温度の情報
をメモリチップ温度情報として電圧コントローラ114に出力する。チップ温度センサ1
21はメモリチップ110内に搭載されてもよいし、メモリチップ110の近傍に配置さ
れてもよい。
をメモリチップ温度情報として電圧コントローラ114に出力する。チップ温度センサ1
21はメモリチップ110内に搭載されてもよいし、メモリチップ110の近傍に配置さ
れてもよい。
電圧コントローラ114は、チップ温度センサ121から出力されたメモリチップ温度
情報を、コマンド/信号バッファ112、I/Oコントローラ111を介して、メモリコ
ントローラ200へ出力する。電圧コントローラ114は、チップ温度センサ121から
出力されたメモリチップ温度情報を取得し、取得したメモリチップ温度情報を用いてプロ
グラム電圧を発生させるための制御信号CGPVDACを補正してもよい。
情報を、コマンド/信号バッファ112、I/Oコントローラ111を介して、メモリコ
ントローラ200へ出力する。電圧コントローラ114は、チップ温度センサ121から
出力されたメモリチップ温度情報を取得し、取得したメモリチップ温度情報を用いてプロ
グラム電圧を発生させるための制御信号CGPVDACを補正してもよい。
ドライバ116は、アドレスバッファ113からのアドレスと電圧コントローラ114
からの指示と、に基づき、センスアンプ117、ロウデコーダ118、及び、メモリセル
アレイ119の動作を制御する。
からの指示と、に基づき、センスアンプ117、ロウデコーダ118、及び、メモリセル
アレイ119の動作を制御する。
ロウデコーダ118は、ブロックアドレスやページアドレスをデコードして、対応する
ブロックBLKのいずれかのワード線を選択する。そしてロウデコーダ118は、選択ワ
ード線及び非選択ワード線等に、適切な電圧を印加する。
ブロックBLKのいずれかのワード線を選択する。そしてロウデコーダ118は、選択ワ
ード線及び非選択ワード線等に、適切な電圧を印加する。
センスアンプ117は、データの読み出し時には、メモリセルからビット線に読み出さ
れたデータをセンスする。またデータの書き込み時には、書き込みデータをメモリセルに
転送する。
れたデータをセンスする。またデータの書き込み時には、書き込みデータをメモリセルに
転送する。
次に、上記メモリセルアレイ119の備えるブロックBLKの構成について、図6を用
いて説明する。図6は、ブロックBLKの回路図である。
いて説明する。図6は、ブロックBLKの回路図である。
図示するように、ブロックBLKは例えば4つのストリングユニットSU(SU0〜S
U3)を含む。また各々のストリングユニットSUは、複数のNANDストリング131
を含む。
U3)を含む。また各々のストリングユニットSUは、複数のNANDストリング131
を含む。
NANDストリング131の各々は、例えば8個のメモリセルトランジスタMT(MT
0〜MT7)と、選択トランジスタST1、ST2とを含んでいる。メモリセルトランジ
スタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持
する。なお、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、6
4個、128個等であってもよく、その数は限定されるものではない。メモリセルトラン
ジスタMTは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるよ
うにして配置されている。この直列接続の一端側のメモリセルトランジスタMT7の電流
経路は選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトラン
ジスタMT0の電流経路は選択トランジスタST2の電流経路の一端に接続されている。
0〜MT7)と、選択トランジスタST1、ST2とを含んでいる。メモリセルトランジ
スタMTは、制御ゲートと電荷蓄積層とを含む積層ゲートを備え、データを不揮発に保持
する。なお、メモリセルトランジスタMTの個数は8個に限られず、16個や32個、6
4個、128個等であってもよく、その数は限定されるものではない。メモリセルトラン
ジスタMTは、選択トランジスタST1、ST2間に、その電流経路が直列接続されるよ
うにして配置されている。この直列接続の一端側のメモリセルトランジスタMT7の電流
経路は選択トランジスタST1の電流経路の一端に接続され、他端側のメモリセルトラン
ジスタMT0の電流経路は選択トランジスタST2の電流経路の一端に接続されている。
ストリングユニットSU0〜SU3の各々の選択トランジスタST1のゲートは、それ
ぞれセレクトゲート線SGD0〜SGD3に共通接続される。他方で、選択トランジスタ
ST2のゲートは、複数のストリングユニット間で同一のセレクトゲート線SGSに共通
接続される。また、同一のブロックBLK0内にあるメモリセルトランジスタMT0〜M
T7の制御ゲートはそれぞれワード線WL0〜WL7に共通接続される。
ぞれセレクトゲート線SGD0〜SGD3に共通接続される。他方で、選択トランジスタ
ST2のゲートは、複数のストリングユニット間で同一のセレクトゲート線SGSに共通
接続される。また、同一のブロックBLK0内にあるメモリセルトランジスタMT0〜M
T7の制御ゲートはそれぞれワード線WL0〜WL7に共通接続される。
すなわち、ワード線WL0〜WL7及びセレクトゲート線SGSは同一ブロックBLK
内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレ
クトゲート線SGDは、同一ブロックBLK内であってもストリングユニットSU0〜S
U3毎に独立している。
内の複数のストリングユニットSU0〜SU3間で共通に接続されているのに対し、セレ
クトゲート線SGDは、同一ブロックBLK内であってもストリングユニットSU0〜S
U3毎に独立している。
また、メモリセルアレイ119内でマトリクス状に配置されたNANDストリング13
1のうち、同一行にあるNANDストリング131の選択トランジスタST1の電流経路
の他端は、いずれかのビット線BL(BL0〜BL(L−1)、(L−1)は1以上の自
然数)に共通接続される。すなわちビット線BLは、複数のブロックBLK間でNAND
ストリング131を共通に接続する。また、選択トランジスタST2の電流経路の他端は
ソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間でNA
NDストリング131を共通に接続する。
1のうち、同一行にあるNANDストリング131の選択トランジスタST1の電流経路
の他端は、いずれかのビット線BL(BL0〜BL(L−1)、(L−1)は1以上の自
然数)に共通接続される。すなわちビット線BLは、複数のブロックBLK間でNAND
ストリング131を共通に接続する。また、選択トランジスタST2の電流経路の他端は
ソース線SLに共通に接続されている。ソース線SLは、例えば複数のブロック間でNA
NDストリング131を共通に接続する。
前述の通り、同一のブロックBLK内にあるメモリセルトランジスタMTのデータは、
一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロッ
クBLKのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通
に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。メモリセル
がシングルレベルセル(SLC)である場合は、この一括して行われる単位が1ページに
対応する。
一括して消去される。これに対してデータの読み出し及び書き込みは、いずれかのブロッ
クBLKのいずれかのストリングユニットSUにおける、いずれかのワード線WLに共通
に接続された複数のメモリセルトランジスタMTにつき、一括して行われる。メモリセル
がシングルレベルセル(SLC)である場合は、この一括して行われる単位が1ページに
対応する。
図7は、本実施形態に係るメモリセルアレイ119の一部領域の断面図である。図示す
るように、p型ウェル領域20上に複数のNANDストリング131が形成されている。
すなわち、ウェル領域20上には、セレクトゲート線SGSとして機能する複数の配線層
27、ワード線WLとして機能する複数の配線層23、及びセレクトゲート線SGDとし
て機能する複数の配線層25が形成されている。
るように、p型ウェル領域20上に複数のNANDストリング131が形成されている。
すなわち、ウェル領域20上には、セレクトゲート線SGSとして機能する複数の配線層
27、ワード線WLとして機能する複数の配線層23、及びセレクトゲート線SGDとし
て機能する複数の配線層25が形成されている。
そして、これらの配線層25、23、及び27を貫通してウェル領域20に達するメモ
リホール26が形成されている。メモリホール26の側面には、ブロック絶縁膜28、電
荷蓄積層29(絶縁膜)、及びゲート絶縁膜30が順次形成され、更にメモリホール26
内を導電膜31が埋め込んでいる。導電膜31は、NANDストリング131の電流経路
として機能し、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の
動作時にチャネルが形成される領域である。
リホール26が形成されている。メモリホール26の側面には、ブロック絶縁膜28、電
荷蓄積層29(絶縁膜)、及びゲート絶縁膜30が順次形成され、更にメモリホール26
内を導電膜31が埋め込んでいる。導電膜31は、NANDストリング131の電流経路
として機能し、メモリセルトランジスタMT並びに選択トランジスタST1及びST2の
動作時にチャネルが形成される領域である。
各NANDストリング131において、複数(本例では4層)設けられた配線層27は
、電気的に共通に接続されて、同一のセレクトゲート線SGSに接続される。すなわち、
この4層の配線層27は、実質的に1つの選択トランジスタST2のゲート電極として機
能する。これは選択トランジスタST1(4層のセレクトゲート線SGD)についても同
様である。
、電気的に共通に接続されて、同一のセレクトゲート線SGSに接続される。すなわち、
この4層の配線層27は、実質的に1つの選択トランジスタST2のゲート電極として機
能する。これは選択トランジスタST1(4層のセレクトゲート線SGD)についても同
様である。
以上の構成により、各NANDストリング131において、ウェル領域20上に選択ト
ランジスタST2、複数のメモリセルトランジスタMT、及び選択トランジスタST1が
順次積層されている。
ランジスタST2、複数のメモリセルトランジスタMT、及び選択トランジスタST1が
順次積層されている。
なお、図7の例では選択トランジスタST1及びST2は、メモリセルトランジスタM
Tと同様に電荷蓄積層29を備えている。しかし選択トランジスタST1及びST2は、
実質的にデータを保持するメモリセルとして機能するものでは無く、スイッチとして機能
する。この際、選択トランジスタST1及びST2がオン/オフする閾値は、電荷蓄積層
29に電荷を注入することによって制御されても良い。
Tと同様に電荷蓄積層29を備えている。しかし選択トランジスタST1及びST2は、
実質的にデータを保持するメモリセルとして機能するものでは無く、スイッチとして機能
する。この際、選択トランジスタST1及びST2がオン/オフする閾値は、電荷蓄積層
29に電荷を注入することによって制御されても良い。
導電膜31の上端には、ビット線BLとして機能する配線層32が形成される。ビット
線BLは、センスアンプ117に接続される。
線BLは、センスアンプ117に接続される。
更に、ウェル領域20の表面内には、n+型不純物拡散層33及びp+型不純物拡散層
34が形成されている。拡散層33上にはコンタクトプラグ35が形成され、コンタクト
プラグ35上には、ソース線SLとして機能する配線層36が形成される。ソース線SL
は、図示しないソース線ドライバに接続される。また拡散層34上にはコンタクトプラグ
37が形成され、コンタクトプラグ37上には、ウェル配線CPWELLとして機能する
配線層38が形成される。ウェル配線CPWELLは、図示しないウェルドライバに接続
される。配線層36及び38は、セレクトゲート線SGDよりも上層であり、且つ配線層
32よりも下層のレイヤに形成されるが、この構造は一例であり、これに限定されない。
34が形成されている。拡散層33上にはコンタクトプラグ35が形成され、コンタクト
プラグ35上には、ソース線SLとして機能する配線層36が形成される。ソース線SL
は、図示しないソース線ドライバに接続される。また拡散層34上にはコンタクトプラグ
37が形成され、コンタクトプラグ37上には、ウェル配線CPWELLとして機能する
配線層38が形成される。ウェル配線CPWELLは、図示しないウェルドライバに接続
される。配線層36及び38は、セレクトゲート線SGDよりも上層であり、且つ配線層
32よりも下層のレイヤに形成されるが、この構造は一例であり、これに限定されない。
以上の構成が、図7を記載した紙面の奥行き方向に複数配列されており、奥行き方向に
並ぶ複数のNANDストリング131の集合によってストリングユニットSUが形成され
る。また、同一のストリングユニットSU内に含まれる複数のセレクトゲート線SGSと
して機能する配線層27は、互いに共通に接続されている。つまり、隣接するNANDス
トリング131間のウェル領域20上にもゲート絶縁膜30が形成され、拡散層33に隣
接する半導体層27及びゲート絶縁膜30は、拡散層33近傍まで形成される。
並ぶ複数のNANDストリング131の集合によってストリングユニットSUが形成され
る。また、同一のストリングユニットSU内に含まれる複数のセレクトゲート線SGSと
して機能する配線層27は、互いに共通に接続されている。つまり、隣接するNANDス
トリング131間のウェル領域20上にもゲート絶縁膜30が形成され、拡散層33に隣
接する半導体層27及びゲート絶縁膜30は、拡散層33近傍まで形成される。
従って、選択トランジスタST2がオン状態とされる際には、そのチャネルはメモリセ
ルトランジスタMT0と拡散層33とを電気的に接続する。また、ウェル配線CPWEL
Lに電圧を印加することで、導電膜31に電位を与えることが出来る。
ルトランジスタMT0と拡散層33とを電気的に接続する。また、ウェル配線CPWEL
Lに電圧を印加することで、導電膜31に電位を与えることが出来る。
なお、メモリセルアレイ119の構成についてはその他の構成であっても良い。すなわ
ちメモリセルアレイ119の構成については、例えば、“三次元積層不揮発性半導体メモ
リ”という2009年3月19日に出願された米国特許出願12/407,403号に記
載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日
に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその
製造方法”という2010年3月25日に出願された米国特許出願12/679,991
号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許
出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明
細書において参照により援用されている。
ちメモリセルアレイ119の構成については、例えば、“三次元積層不揮発性半導体メモ
リ”という2009年3月19日に出願された米国特許出願12/407,403号に記
載されている。また、“三次元積層不揮発性半導体メモリ”という2009年3月18日
に出願された米国特許出願12/406,524号、“不揮発性半導体記憶装置及びその
製造方法”という2010年3月25日に出願された米国特許出願12/679,991
号“半導体メモリ及びその製造方法”という2009年3月23日に出願された米国特許
出願12/532,030号に記載されている。これらの特許出願は、その全体が本願明
細書において参照により援用されている。
次に、第1の実施形態に係るメモリシステムの不揮発性メモリ100に格納されたデー
タに対するアクセス処理について説明する。
タに対するアクセス処理について説明する。
第1の実施形態に係るメモリシステムでは、メモリシステム1がホスト装置2から読み
出し要求、書き込み要求、データ消去要求、トリムコマンドのようなデータ削除要求等を
受信した場合や、バックグラウンドでメモリコントローラ200が、ガベージコレクショ
ンや、リフレッシュや、ウェアレベリングや、パトロールリード等を実行する場合に、メ
モリコントローラ200は不揮発性メモリ100にアクセスする。
出し要求、書き込み要求、データ消去要求、トリムコマンドのようなデータ削除要求等を
受信した場合や、バックグラウンドでメモリコントローラ200が、ガベージコレクショ
ンや、リフレッシュや、ウェアレベリングや、パトロールリード等を実行する場合に、メ
モリコントローラ200は不揮発性メモリ100にアクセスする。
ガベージコレクションは、コンパクションとも称される。不揮発性メモリ100は、デ
ータの消去単位とデータの読み書き単位が異なるため、不揮発性メモリ100の書き換え
が進むと、無効データによって、ブロックが断片化され、このような断片化されたブロッ
クが増えると、使用可能なブロックが少なくなる。ガベージコレクションは、使用可能な
ブロックを増加させるための処理で、例えば、有効データおよび無効データが含まれてい
る複数のアクティブブロックから有効データを集めて、別のブロックに書き直し、フリー
ブロックを確保する処理を意味する。
ータの消去単位とデータの読み書き単位が異なるため、不揮発性メモリ100の書き換え
が進むと、無効データによって、ブロックが断片化され、このような断片化されたブロッ
クが増えると、使用可能なブロックが少なくなる。ガベージコレクションは、使用可能な
ブロックを増加させるための処理で、例えば、有効データおよび無効データが含まれてい
る複数のアクティブブロックから有効データを集めて、別のブロックに書き直し、フリー
ブロックを確保する処理を意味する。
アクティブブロックは、有効データが記録されているブロックを示す。フリーブロック
は、有効データが記録されていないブロックを示す。フリーブロックは、消去した後、消
去済みブロックとして再利用可能である。フリーブロックは、本実施形態では、有効デー
タが記録されていない消去前のブロックと、消去済みブロックとの両方を含んでいる。有
効データとは、論理アドレスと対応付けられているデータであり、無効データとは論理ア
ドレスが対応付けられていないデータである。消去済みブロックは、データが書き込まれ
ると、アクティブブロックとなる。
は、有効データが記録されていないブロックを示す。フリーブロックは、消去した後、消
去済みブロックとして再利用可能である。フリーブロックは、本実施形態では、有効デー
タが記録されていない消去前のブロックと、消去済みブロックとの両方を含んでいる。有
効データとは、論理アドレスと対応付けられているデータであり、無効データとは論理ア
ドレスが対応付けられていないデータである。消去済みブロックは、データが書き込まれ
ると、アクティブブロックとなる。
リフレッシュは、例えば、誤り訂正処理における訂正ビット数が増加する等のようにあ
るブロック内のデータの劣化が検出された場合に、当該ブロック内のデータを別のブロッ
クに書き直す処理である。
るブロック内のデータの劣化が検出された場合に、当該ブロック内のデータを別のブロッ
クに書き直す処理である。
ウェアレベリングは、例えば、書き換え回数や消去回数が多いブロックに記憶されてい
るデータと、書き換え回数や消去回数の少ないブロックに記憶されているデータとを入れ
替えることで、不揮発性メモリ100のブロックの書き換え回数を平準化する処理である
。
るデータと、書き換え回数や消去回数の少ないブロックに記憶されているデータとを入れ
替えることで、不揮発性メモリ100のブロックの書き換え回数を平準化する処理である
。
パトロールリードは、エラーの増加したブロックを検出するために、例えば、不揮発性
メモリ100に記憶されているデータを所定単位ずつ読み出し、当該読み出されたデータ
を復号回路242での誤り訂正結果に基づいてテストする処理である。このテスト処理で
は、例えば、読み出されたデータの誤りビット数を閾値と比較し、誤りビット数が閾値を
越えたデータをリフレッシュの対象とする。
メモリ100に記憶されているデータを所定単位ずつ読み出し、当該読み出されたデータ
を復号回路242での誤り訂正結果に基づいてテストする処理である。このテスト処理で
は、例えば、読み出されたデータの誤りビット数を閾値と比較し、誤りビット数が閾値を
越えたデータをリフレッシュの対象とする。
なお、以下の説明では、ホスト装置2から読み出し要求を受け取った場合のメモリシス
テム1の処理、及び、ホスト装置2からデータ書き込み要求を受け取った場合のメモリシ
ステム1の処理、及び、メモリコントローラ200が不揮発性メモリ100の所定のブロ
ックを消去することに決定した場合のメモリシステム1の処理を、メモリコントローラ2
00が不揮発性メモリ100に格納されたデータに対するアクセス処理の例として説明す
る。
テム1の処理、及び、ホスト装置2からデータ書き込み要求を受け取った場合のメモリシ
ステム1の処理、及び、メモリコントローラ200が不揮発性メモリ100の所定のブロ
ックを消去することに決定した場合のメモリシステム1の処理を、メモリコントローラ2
00が不揮発性メモリ100に格納されたデータに対するアクセス処理の例として説明す
る。
図8は、第1の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に対
する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。このフ
ローチャートは、ホスト装置2から読み出し要求を受け、要求のあったデータを不揮発性
メモリ100から読み出し、読み出し結果をホスト装置2へ送信する処理を示している。
する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。このフ
ローチャートは、ホスト装置2から読み出し要求を受け、要求のあったデータを不揮発性
メモリ100から読み出し、読み出し結果をホスト装置2へ送信する処理を示している。
前述した読み出し要求では、ホスト装置2がメモリシステム1に対して読み出したいデ
ータの量やデータの読み出し位置を示したアドレス情報等が指定されている。メモリシス
テム1は、読み出し要求の受信が可能か否かを判断し、読み出し要求の受信が可能である
場合に、ホスト装置2から読み出し要求を受信してもよい。図8のフローチャートではこ
の過程を省略し、読み出し要求の受信が可能であるとして、メモリシステム1のメモリコ
ントローラ200がホスト装置2からホストI/F210経由で読み出し要求を受信した
段階から説明を行う。
ータの量やデータの読み出し位置を示したアドレス情報等が指定されている。メモリシス
テム1は、読み出し要求の受信が可能か否かを判断し、読み出し要求の受信が可能である
場合に、ホスト装置2から読み出し要求を受信してもよい。図8のフローチャートではこ
の過程を省略し、読み出し要求の受信が可能であるとして、メモリシステム1のメモリコ
ントローラ200がホスト装置2からホストI/F210経由で読み出し要求を受信した
段階から説明を行う。
ホスト装置2から読み出し要求を受ける(ステップ801)と、メモリコントローラ2
00の制御部220は、読み出し要求の対象となるデータの格納場所を特定するためにア
ドレス変換テーブルを使用して読み出し要求で指定されたアドレスである論理アドレスを
物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するためにどのメモリチ
ップ110のどの物理アドレスへアクセスすればよいかを解決する(ステップ802)。
00の制御部220は、読み出し要求の対象となるデータの格納場所を特定するためにア
ドレス変換テーブルを使用して読み出し要求で指定されたアドレスである論理アドレスを
物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するためにどのメモリチ
ップ110のどの物理アドレスへアクセスすればよいかを解決する(ステップ802)。
本実施形態では、ホスト装置2からの読み出し要求で指定された論理アドレスに対する
アクセス先のメモリチップ110がメモリチップ110−1であるとして説明する。
アクセス先のメモリチップ110がメモリチップ110−1であるとして説明する。
次に、メモリコントローラ200の制御部220は、メモリコントローラ200の温度
を、温度センサI/F260を介して取得する(ステップ803)。
を、温度センサI/F260を介して取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第1の温度より高いかどうかを判定する(ステップ804)。
度が所定の第1の温度より高いかどうかを判定する(ステップ804)。
メモリコントローラ200の温度が所定の第1の温度より高くない場合(ステップ80
4:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ1
10−1からのメモリチップ温度情報読み出しをメモリI/F250へ指示し、メモリI
/F250経由で当該メモリチップ110−1からメモリチップ温度情報を取得する(ス
テップ805)。
4:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ1
10−1からのメモリチップ温度情報読み出しをメモリI/F250へ指示し、メモリI
/F250経由で当該メモリチップ110−1からメモリチップ温度情報を取得する(ス
テップ805)。
メモリコントローラ200の制御部220は、メモリチップ110−1からメモリチッ
プ温度情報を取得するために、メモリI/F250経由で、メモリチップ110−1へコ
マンドを送信する。
プ温度情報を取得するために、メモリI/F250経由で、メモリチップ110−1へコ
マンドを送信する。
図9は、メモリチップ110のメモリチップ温度情報を取得するために、メモリI/F
250を経由してメモリコントローラ200からメモリチップ110へ送信される信号を
示すコマンドシーケンスの例を示す。図9では、入出力信号I/Oとして送信される信号
と、メモリチップ110−1のレディ/ビジー状態を示すR/B信号のみを示しており、
その他の信号/CE、ALE、CLE、/WE、及び/REの図示を省略している。
250を経由してメモリコントローラ200からメモリチップ110へ送信される信号を
示すコマンドシーケンスの例を示す。図9では、入出力信号I/Oとして送信される信号
と、メモリチップ110−1のレディ/ビジー状態を示すR/B信号のみを示しており、
その他の信号/CE、ALE、CLE、/WE、及び/REの図示を省略している。
図9に示すように、メモリコントローラ200が入出力信号I/Oとしてメモリチップ
温度情報取得コマンド(XXh)を送信すると、メモリチップ110はビジー状態となり
、R/B信号は“L”レベルとなる。そして、メモリチップ110にてメモリチップ温度
情報の取得動作が開始される。メモリチップ110のメモリチップ温度情報がメモリコン
トローラ200に出力され、メモリチップ110がレディ状態に復帰すると、R/B信号
は“H”レベルとなる。この結果、メモリチップの温度情報が、メモリコントローラ20
0に読み出される。
温度情報取得コマンド(XXh)を送信すると、メモリチップ110はビジー状態となり
、R/B信号は“L”レベルとなる。そして、メモリチップ110にてメモリチップ温度
情報の取得動作が開始される。メモリチップ110のメモリチップ温度情報がメモリコン
トローラ200に出力され、メモリチップ110がレディ状態に復帰すると、R/B信号
は“H”レベルとなる。この結果、メモリチップの温度情報が、メモリコントローラ20
0に読み出される。
図9で説明した動作は、1つのメモリチップ110に対してのみ行われる。すなわち、
例えば、メモリコントローラ200は、メモリチップ110−1、・・・、メモリチップ
110−Nに対してそれぞれメモリチップ温度情報取得コマンドを発行することにより、
メモリコントローラ200はメモリチップ110−1、・・・、メモリチップ110−N
それぞれの温度情報を取得でき、メモリチップ110−1、・・・、メモリチップ110
−Nそれぞれの温度を認識できる。
例えば、メモリコントローラ200は、メモリチップ110−1、・・・、メモリチップ
110−Nに対してそれぞれメモリチップ温度情報取得コマンドを発行することにより、
メモリコントローラ200はメモリチップ110−1、・・・、メモリチップ110−N
それぞれの温度情報を取得でき、メモリチップ110−1、・・・、メモリチップ110
−Nそれぞれの温度を認識できる。
メモリコントローラ200の制御部220は、メモリチップ110−1から取得したメ
モリチップ温度情報からメモリチップ110−1の温度を特定し、メモリチップ110−
1の温度が所定の第2の温度より高いかどうかを判定する(ステップ806)。所定の第
2の温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
モリチップ温度情報からメモリチップ110−1の温度を特定し、メモリチップ110−
1の温度が所定の第2の温度より高いかどうかを判定する(ステップ806)。所定の第
2の温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
メモリチップ110−1の温度が所定の第2の温度より高くない場合(ステップ806
:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステップ
807)。
:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステップ
807)。
この昇温処理の実行は、メモリコントローラ200の温度およびメモリチップ110の
温度を上げるために実行する処理である。昇温処理の実行は、例えば、メモリコントロー
ラ200の制御部220が、図示しないヒータ等の昇温部を駆動させることでもよいし、
メモリコントローラ200の制御部220が符号化部/復号部240を駆動させることで
あってもよい。また、メモリシステム1のメモリコントローラ200の温度およびメモリ
チップ110の温度を上げられるのであれば、メモリコントローラ200の制御部220
は、昇温部の駆動、符号化部/復号部240の駆動とは別の処理を実行してもよい。なお
、メモリシステム1が昇温部を実装する場合、昇温部は基板400に実装され得る。また
、昇温部は、昇温回路、昇温器、昇温モジュールとも称される。
温度を上げるために実行する処理である。昇温処理の実行は、例えば、メモリコントロー
ラ200の制御部220が、図示しないヒータ等の昇温部を駆動させることでもよいし、
メモリコントローラ200の制御部220が符号化部/復号部240を駆動させることで
あってもよい。また、メモリシステム1のメモリコントローラ200の温度およびメモリ
チップ110の温度を上げられるのであれば、メモリコントローラ200の制御部220
は、昇温部の駆動、符号化部/復号部240の駆動とは別の処理を実行してもよい。なお
、メモリシステム1が昇温部を実装する場合、昇温部は基板400に実装され得る。また
、昇温部は、昇温回路、昇温器、昇温モジュールとも称される。
ここで、符号化部/復号部240を駆動させるとは、復号回路242を駆動させず符号
化回路241を駆動させること、または、符号化回路241と復号回路242をともに駆
動させること、または、符号化回路241を駆動させず復号回路242を駆動させること
を含む。
化回路241を駆動させること、または、符号化回路241と復号回路242をともに駆
動させること、または、符号化回路241を駆動させず復号回路242を駆動させること
を含む。
符号化回路241を駆動させるとは、例えば、ダミーデータを符号化回路241へ出力
し、符号化回路241により符号化されたダミーデータを破棄(無視)することである。
ここで、ダミーデータとは、メモリチップ110へユーザデータとして書き込まれないデ
ータであればよく、オールゼロ、オール1等の任意の値でよい。
し、符号化回路241により符号化されたダミーデータを破棄(無視)することである。
ここで、ダミーデータとは、メモリチップ110へユーザデータとして書き込まれないデ
ータであればよく、オールゼロ、オール1等の任意の値でよい。
復号回路242を駆動させるとは、例えば、ダミーデータを復号回路242へ出力し、
復号回路242による復号結果を破棄(無視)することである。ここでもダミーデータと
は、メモリチップ110へユーザデータとして書き込まれないデータであればよく、オー
ルゼロ、オール1等の任意の値でよい。ここで、復号回路242がダミーデータを復号で
きた場合はダミーデータの復号後のデータが、復号回路242が復号できなかった場合、
つまり復号回路242が誤り訂正に失敗した場合は誤り訂正失敗が、復号結果となる。
復号回路242による復号結果を破棄(無視)することである。ここでもダミーデータと
は、メモリチップ110へユーザデータとして書き込まれないデータであればよく、オー
ルゼロ、オール1等の任意の値でよい。ここで、復号回路242がダミーデータを復号で
きた場合はダミーデータの復号後のデータが、復号回路242が復号できなかった場合、
つまり復号回路242が誤り訂正に失敗した場合は誤り訂正失敗が、復号結果となる。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第1の温度より高い場合(ステップ804:
Yes)、または、メモリチップ110−1の温度が所定の第2の温度より高い場合(ス
テップ806:Yes)、メモリコントローラ200の制御部220は、メモリチップ1
10−1からのデータ読み出しをメモリI/F250へ指示し、メモリI/F250経由
でメモリチップ110−1からデータを読み出す(ステップ808)。
Yes)、または、メモリチップ110−1の温度が所定の第2の温度より高い場合(ス
テップ806:Yes)、メモリコントローラ200の制御部220は、メモリチップ1
10−1からのデータ読み出しをメモリI/F250へ指示し、メモリI/F250経由
でメモリチップ110−1からデータを読み出す(ステップ808)。
次に、メモリコントローラ200は、メモリチップ110−1から読み出したデータを
復号する(ステップ809)。メモリコントローラ200の制御部220は、メモリチッ
プ110−1からデータを読み出したデータの復号を復号回路242に対して指示し、復
号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号
結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復
号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通
知する。
復号する(ステップ809)。メモリコントローラ200の制御部220は、メモリチッ
プ110−1からデータを読み出したデータの復号を復号回路242に対して指示し、復
号回路242は制御部220から指示されたデータを復号する。復号回路242は、復号
結果を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復
号されたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通
知する。
その後、制御部220は、誤り訂正に成功の場合は復号されたデータであるユーザデー
タを、誤り訂正失敗が通知された場合は読み出しエラーをホストI/F210経由でホス
ト装置2へ送信する(ステップ810)。
タを、誤り訂正失敗が通知された場合は読み出しエラーをホストI/F210経由でホス
ト装置2へ送信する(ステップ810)。
図8に示すフローチャートでは、メモリコントローラ200の温度が所定の第1の温度
より高くなく、かつ、メモリチップ110−1の温度が所定の第2の温度より高くない限
り、メモリコントローラ200の制御部220がメモリチップ110−1からデータを読
み出さないようになっているが、メモリコントローラ200の制御部220は、タイムア
ウトを検出したら、つまり、所定の時間を経過したら、メモリコントローラ200の制御
部220がメモリチップ110−1からデータを読み出して復号されたデータをホスト装
置2へ送信するようにしてもよい。または、メモリコントローラ200は、タイムアウト
を検出したら、つまり、所定の時間を経過したらメモリコントローラ200がホスト装置
2へ読み出しエラーを送信するようにしてもよい。
より高くなく、かつ、メモリチップ110−1の温度が所定の第2の温度より高くない限
り、メモリコントローラ200の制御部220がメモリチップ110−1からデータを読
み出さないようになっているが、メモリコントローラ200の制御部220は、タイムア
ウトを検出したら、つまり、所定の時間を経過したら、メモリコントローラ200の制御
部220がメモリチップ110−1からデータを読み出して復号されたデータをホスト装
置2へ送信するようにしてもよい。または、メモリコントローラ200は、タイムアウト
を検出したら、つまり、所定の時間を経過したらメモリコントローラ200がホスト装置
2へ読み出しエラーを送信するようにしてもよい。
タイムアウトを検出する際の所定の時間の開始タイミングは、任意のタイミングでよく
、例えば、メモリシステム1がホスト装置2から読み出し要求を受信したタイミングや、
昇温処理の実行を開始するタイミング等でよい。
、例えば、メモリシステム1がホスト装置2から読み出し要求を受信したタイミングや、
昇温処理の実行を開始するタイミング等でよい。
図10は、第1の実施形態に係るメモリシステムのホスト装置2からの書き込み要求に
対して不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図10において、図8の構成と同一部分は同一符号で示す。
対して不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図10において、図8の構成と同一部分は同一符号で示す。
前述した書き込み要求では、ユーザデータやユーザデータのアドレス情報等が指定され
ている。メモリシステム1は、書き込み要求の受信が可能か否かを判断し、書き込み要求
の受信が可能である場合に、ホスト装置2から書き込み要求を受信してもよい。図10の
フローチャートではこの過程を省略し、書き込み要求の受信が可能であるとして、メモリ
システム1のメモリコントローラ200がホスト装置2からホストI/F210経由で書
き込み要求を受信した段階から説明を行う。
ている。メモリシステム1は、書き込み要求の受信が可能か否かを判断し、書き込み要求
の受信が可能である場合に、ホスト装置2から書き込み要求を受信してもよい。図10の
フローチャートではこの過程を省略し、書き込み要求の受信が可能であるとして、メモリ
システム1のメモリコントローラ200がホスト装置2からホストI/F210経由で書
き込み要求を受信した段階から説明を行う。
ホスト装置2から書き込み要求を受けると(ステップ1001)、メモリコントローラ
200の制御部220は、書き込み要求で指定された論理アドレスに対応する物理アドレ
スを決定し、決定された物理アドレスをアドレス変換テーブルへ反映させる(ステップ1
002)。そして、メモリコントローラ200の制御部220は、書き込み要求で指定さ
れた書き込み対象のユーザデータの符号化を符号化回路241へ指示し、符号化回路24
1は書き込み対象のユーザデータを符号化する(ステップ1003)。
200の制御部220は、書き込み要求で指定された論理アドレスに対応する物理アドレ
スを決定し、決定された物理アドレスをアドレス変換テーブルへ反映させる(ステップ1
002)。そして、メモリコントローラ200の制御部220は、書き込み要求で指定さ
れた書き込み対象のユーザデータの符号化を符号化回路241へ指示し、符号化回路24
1は書き込み対象のユーザデータを符号化する(ステップ1003)。
本実施形態では、ホスト2からの書き込み要求で指定された論理アドレスに対して決定
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
次に、メモリコントローラ200の制御部220は、メモリコントローラ200の温度
を、温度センサI/F260経由で取得する(ステップ803)。
を、温度センサI/F260経由で取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第3の温度より高いかどうかを判定する(ステップ1004)。所定の第3の
温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
度が所定の第3の温度より高いかどうかを判定する(ステップ1004)。所定の第3の
温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
メモリコントローラ200の温度が所定の第3の温度より高くない場合(ステップ10
04:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ
110−1のメモリチップ温度情報を取得するためにメモリチップ温度情報の読み出しを
メモリI/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1か
らメモリチップ温度情報を取得する(ステップ805)。メモリコントローラ200の制
御部220によるメモリチップ110−1からのメモリチップ温度情報取得処理は、ホス
ト装置2から読み出し要求を受けた場合における処理と同様である。
04:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ
110−1のメモリチップ温度情報を取得するためにメモリチップ温度情報の読み出しを
メモリI/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1か
らメモリチップ温度情報を取得する(ステップ805)。メモリコントローラ200の制
御部220によるメモリチップ110−1からのメモリチップ温度情報取得処理は、ホス
ト装置2から読み出し要求を受けた場合における処理と同様である。
メモリコントローラ200の制御部220は、メモリチップ110−1から取得したメ
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第4の温度より高いかどうかを判定する(ステップ1005)。
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第4の温度より高いかどうかを判定する(ステップ1005)。
所定の第4の温度は所定の第2の温度と同じであってもよいし、異なる温度であっても
よい。また、所定の第4の温度は所定の第3の温度と同じであってもよいし、異なる温度
であってもよい。
よい。また、所定の第4の温度は所定の第3の温度と同じであってもよいし、異なる温度
であってもよい。
メモリチップ110−1の温度が所定の第4の温度より高くない場合(ステップ100
5:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
5:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
昇温処理の実行として符号化部/復号部240を駆動させる場合、メモリシステム1が
ホスト装置2からの読み出し要求に対して不揮発性メモリ100からデータを読み出す場
合と同様に、メモリコントローラ200の制御部220が符号化回路241だけを駆動さ
せるのではなく符号化回路241と復号回路242をともに駆動させることでもよいし、
符号化回路241を駆動させず復号回路242を駆動させることでもよい。
ホスト装置2からの読み出し要求に対して不揮発性メモリ100からデータを読み出す場
合と同様に、メモリコントローラ200の制御部220が符号化回路241だけを駆動さ
せるのではなく符号化回路241と復号回路242をともに駆動させることでもよいし、
符号化回路241を駆動させず復号回路242を駆動させることでもよい。
メモリコントローラ200の温度が所定の第3の温度より高い場合(ステップ1004
:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高い場合(
ステップ1005:Yes)、メモリコントローラ200の制御部220は、メモリチッ
プ110−1への符号化されたデータの書き込みをメモリI/F250へ指示し、メモリ
I/F250経由でメモリチップ110−1へデータを書き込む(ステップ1006)。
:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高い場合(
ステップ1005:Yes)、メモリコントローラ200の制御部220は、メモリチッ
プ110−1への符号化されたデータの書き込みをメモリI/F250へ指示し、メモリ
I/F250経由でメモリチップ110−1へデータを書き込む(ステップ1006)。
次に、メモリコントローラ200は、メモリチップ110−1へのデータ書き込み結果
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
図10に示すフローチャートでは、メモリコントローラ200の温度が所定の第3の温
度より高くなく、かつ、メモリチップ110−1の温度が所定の第4の温度より高くない
と、メモリコントローラ200の制御部220がメモリチップ110−1へデータを書き
込まないようになっているが、メモリコントローラ200は、タイムアウトを検出したら
、つまり、所定の時間を経過したら、メモリコントローラ200の制御部220がメモリ
チップ110−1へ符号化されたデータを書き込むようにしてもよい。または、メモリコ
ントローラ200は、タイムアウトを検出したら、つまり、所定の時間を経過したらメモ
リコントローラ200がホスト装置2へ書き込みエラーを送信するようにしてもよい。
度より高くなく、かつ、メモリチップ110−1の温度が所定の第4の温度より高くない
と、メモリコントローラ200の制御部220がメモリチップ110−1へデータを書き
込まないようになっているが、メモリコントローラ200は、タイムアウトを検出したら
、つまり、所定の時間を経過したら、メモリコントローラ200の制御部220がメモリ
チップ110−1へ符号化されたデータを書き込むようにしてもよい。または、メモリコ
ントローラ200は、タイムアウトを検出したら、つまり、所定の時間を経過したらメモ
リコントローラ200がホスト装置2へ書き込みエラーを送信するようにしてもよい。
タイムアウトを検出する際の所定の時間の開始タイミングは、任意のタイミングでよく
、例えば、メモリシステム1がホスト装置2から書き込み要求を受信したタイミング、昇
温処理の実行を開始するタイミング等でよい。
、例えば、メモリシステム1がホスト装置2から書き込み要求を受信したタイミング、昇
温処理の実行を開始するタイミング等でよい。
図11は、第1の実施形態に係るメモリシステムのホスト装置2からの書き込み要求に
対する不揮発性メモリ100へのデータの書き込み処理の変形例のフローチャートである
。このフローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で
指定されたユーザデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置
2へ送信する処理を示している。図11において、図8、図10の構成と同一部分は同一
符号で示す。
対する不揮発性メモリ100へのデータの書き込み処理の変形例のフローチャートである
。このフローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で
指定されたユーザデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置
2へ送信する処理を示している。図11において、図8、図10の構成と同一部分は同一
符号で示す。
本変形例に係るメモリシステムでは、メモリチップ110の温度が所定の第4の温度よ
り高くない場合(ステップ1005:No)、メモリコントローラ200の制御部220
が昇温処理を実行するのではなく、メモリチップ110−1とは別のメモリチップ110
であるメモリチップ110−2、・・・、メモリチップ110−Nの温度を取得する(ス
テップ1101)。
り高くない場合(ステップ1005:No)、メモリコントローラ200の制御部220
が昇温処理を実行するのではなく、メモリチップ110−1とは別のメモリチップ110
であるメモリチップ110−2、・・・、メモリチップ110−Nの温度を取得する(ス
テップ1101)。
そして、メモリコントローラ200の制御部220が、メモリチップ110−2、・・
・、メモリチップ110−Nのうち温度が第4の基準値よりも高いメモリチップが存在す
るか判定する(ステップ1102)。
・、メモリチップ110−Nのうち温度が第4の基準値よりも高いメモリチップが存在す
るか判定する(ステップ1102)。
温度が第4の基準値よりも高いメモリチップが存在しない場合(ステップ1102:N
o)、メモリコントローラ200の制御部220は、昇温処理を実行し(ステップ807
)、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
o)、メモリコントローラ200の制御部220は、昇温処理を実行し(ステップ807
)、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
温度が第4の基準値よりも高いメモリチップが存在する場合(ステップ1102:Ye
s)、メモリコントローラ200の制御部220が、書き込み要求で指定された論理アド
レスに対応する物理アドレスを変更し、変更後の物理アドレスをアドレス変換テーブルへ
反映させる(ステップ1103)。
s)、メモリコントローラ200の制御部220が、書き込み要求で指定された論理アド
レスに対応する物理アドレスを変更し、変更後の物理アドレスをアドレス変換テーブルへ
反映させる(ステップ1103)。
本変形例では、変更後の物理アドレスに対応するメモリチップ110がメモリチップ1
10−2であると仮定して、すなわち、メモリチップ110−2、・・・、メモリチップ
110−Nのうち温度が第4の温度よりも高いメモリチップ110がメモリチップ110
−2であると仮定して説明する。
10−2であると仮定して、すなわち、メモリチップ110−2、・・・、メモリチップ
110−Nのうち温度が第4の温度よりも高いメモリチップ110がメモリチップ110
−2であると仮定して説明する。
メモリコントローラ200の制御部220は、変更後の物理アドレスをアドレス変換テ
ーブルへ反映させる際(ステップ1103)、変更後の物理アドレスがメモリチップ11
0−2に対応する物理アドレスとなるようにアドレス変換テーブルを変更する。
ーブルへ反映させる際(ステップ1103)、変更後の物理アドレスがメモリチップ11
0−2に対応する物理アドレスとなるようにアドレス変換テーブルを変更する。
メモリコントローラ200の制御部220は、変更後の物理アドレスをアドレス変換テ
ーブルへ反映させた(ステップ1103)後、メモリチップ110−2への符号化された
データの書き込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチッ
プ110−2へデータを書き込む(ステップ1006)。
ーブルへ反映させた(ステップ1103)後、メモリチップ110−2への符号化された
データの書き込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチッ
プ110−2へデータを書き込む(ステップ1006)。
次に、メモリコントローラ200は、メモリチップ110−2へのデータ書き込み結果
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
一方で、メモリコントローラ200の温度が所定の第3の温度より高い場合(ステップ
1004:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高
い場合(ステップ1005:Yes)、メモリコントローラ200の制御部220は、メ
モリチップ110−1への符号化されたデータの書き込みをメモリI/F250へ指示し
、メモリI/F250経由でメモリチップ110−1へデータを書き込み(ステップ10
06)、メモリコントローラ200は、メモリチップ110−1へのデータ書き込み結果
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
1004:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高
い場合(ステップ1005:Yes)、メモリコントローラ200の制御部220は、メ
モリチップ110−1への符号化されたデータの書き込みをメモリI/F250へ指示し
、メモリI/F250経由でメモリチップ110−1へデータを書き込み(ステップ10
06)、メモリコントローラ200は、メモリチップ110−1へのデータ書き込み結果
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
本変形例では、メモリチップ温度情報を取得する前に、ホスト装置2の書き込み要求で
指定された論理アドレスに対応する物理アドレスを決定しているが(ステップ1002)
、メモリチップ温度情報を取得する前に書き込み要求で指定された論理アドレスに対応す
る物理アドレスを決定するのではなく、メモリチップ温度情報を取得して、取得したメモ
リチップ温度情報に基づいて書き込み要求で指定された論理アドレスに対応する物理アド
レスを決定してもよい。
指定された論理アドレスに対応する物理アドレスを決定しているが(ステップ1002)
、メモリチップ温度情報を取得する前に書き込み要求で指定された論理アドレスに対応す
る物理アドレスを決定するのではなく、メモリチップ温度情報を取得して、取得したメモ
リチップ温度情報に基づいて書き込み要求で指定された論理アドレスに対応する物理アド
レスを決定してもよい。
すなわち、本変形例では、メモリチップ110−1、・・・、メモリチップ110−N
のメモリチップ温度情報を取得して、メモリチップ110−1の温度が所定の第4の温度
より高くないが、メモリチップ110−2の温度が所定の第4の温度より高い場合に、メ
モリチップ110−2をデータ書き込み先のメモリチップ110に決定して、メモリチッ
プ110−2に対応する物理アドレスをアドレス変換テーブルへ反映させてもよい。
のメモリチップ温度情報を取得して、メモリチップ110−1の温度が所定の第4の温度
より高くないが、メモリチップ110−2の温度が所定の第4の温度より高い場合に、メ
モリチップ110−2をデータ書き込み先のメモリチップ110に決定して、メモリチッ
プ110−2に対応する物理アドレスをアドレス変換テーブルへ反映させてもよい。
図12は、第1の実施形態に係るメモリシステムの不揮発性メモリ100の所定のブロ
ックの消去処理のフローチャートである。図12のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図12において、図8の構成と同一部分は同一符号で示す。
ックの消去処理のフローチャートである。図12のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図12において、図8の構成と同一部分は同一符号で示す。
本実施形態では、消去対象となる所定のブロックを含むメモリチップ110がメモリチ
ップ110−1であるとして説明する。
ップ110−1であるとして説明する。
メモリコントローラ200の制御部220は、メモリコントローラ200の温度を、温
度センサI/F260経由で取得する(ステップ803)。
度センサI/F260経由で取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第5の温度より高いかどうかを判定する(ステップ1201)。所定の第5の
温度は、所定の第1の温度または所定の第3の温度と同じであってもよいし、異なる温度
であってもよい。
度が所定の第5の温度より高いかどうかを判定する(ステップ1201)。所定の第5の
温度は、所定の第1の温度または所定の第3の温度と同じであってもよいし、異なる温度
であってもよい。
メモリコントローラ200の温度が所定の第5の温度より高くない場合(ステップ12
01:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ
110−1のメモリチップ温度情報を取得するためにメモリチップ温度情報の読み出しを
メモリI/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1か
らメモリチップ温度情報を取得する(ステップ805)。メモリコントローラ200の制
御部220によるメモリチップ110−1からのメモリチップ温度情報取得処理は、ホス
ト装置2から読み出し要求を受けた場合における処理と同様である。
01:No)、メモリコントローラ200の制御部220は、アクセス先のメモリチップ
110−1のメモリチップ温度情報を取得するためにメモリチップ温度情報の読み出しを
メモリI/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1か
らメモリチップ温度情報を取得する(ステップ805)。メモリコントローラ200の制
御部220によるメモリチップ110−1からのメモリチップ温度情報取得処理は、ホス
ト装置2から読み出し要求を受けた場合における処理と同様である。
メモリコントローラ200の制御部220は、メモリチップ110−1から取得したメ
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第6の温度より高いかどうかを判定する(ステップ1202)。
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第6の温度より高いかどうかを判定する(ステップ1202)。
所定の第6の温度は、所定の第2の温度または所定の第4の温度と同じであってもよい
し、異なる温度であってもよい。また、所定の第6の温度は所定の第5の温度と同じであ
ってもよいし、異なる温度であってもよい。
し、異なる温度であってもよい。また、所定の第6の温度は所定の第5の温度と同じであ
ってもよいし、異なる温度であってもよい。
メモリチップ110−1の温度が所定の第6の温度より高くない場合(ステップ120
2:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
2:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
昇温処理の実行として符号化部/復号部240を駆動させる場合、メモリシステム1が
ホスト装置2からの読み出し要求に対して不揮発性メモリ100からデータを読み出す場
合と同様に、メモリコントローラ200の制御部220が符号化回路241だけを駆動さ
せるのではなく符号化回路241と復号回路242をともに駆動させることでもよいし、
符号化回路241を駆動させず復号回路242を駆動させることでもよい。
ホスト装置2からの読み出し要求に対して不揮発性メモリ100からデータを読み出す場
合と同様に、メモリコントローラ200の制御部220が符号化回路241だけを駆動さ
せるのではなく符号化回路241と復号回路242をともに駆動させることでもよいし、
符号化回路241を駆動させず復号回路242を駆動させることでもよい。
メモリコントローラ200の温度が所定の第5の温度より高い場合(ステップ1201
:Yes)、または、メモリチップ110−1の温度が所定の第6の温度より高い場合(
ステップ1202:Yes)、メモリコントローラ200の制御部220は、所定のブロ
ックの消去をメモリI/F250へ指示する(ステップ1203)。
:Yes)、または、メモリチップ110−1の温度が所定の第6の温度より高い場合(
ステップ1202:Yes)、メモリコントローラ200の制御部220は、所定のブロ
ックの消去をメモリI/F250へ指示する(ステップ1203)。
次に、メモリコントローラ200は、メモリチップ110−1に対するブロック消去結
果を、消去ブロックを管理する管理テーブルへ反映してもよい。
果を、消去ブロックを管理する管理テーブルへ反映してもよい。
図12に示すフローチャートでは、メモリコントローラ200の温度が所定の第5の温
度より高くなく、かつ、メモリチップ110−1の温度が所定の第6の温度より高くない
と、メモリコントローラ200の制御部220がメモリチップ110−1のブロックを消
去しないようになっているが、メモリコントローラ200は、タイムアウトを検出したら
、つまり、所定の時間を経過したら、メモリコントローラ200の制御部220がメモリ
チップ110−1の所定のブロックを消去してもよい。または、メモリコントローラ20
0は、タイムアウトを検出したら、つまり、所定の時間を経過したらメモリコントローラ
200がメモリチップ110−1の所定のブロックの消去を断念してもよい。
度より高くなく、かつ、メモリチップ110−1の温度が所定の第6の温度より高くない
と、メモリコントローラ200の制御部220がメモリチップ110−1のブロックを消
去しないようになっているが、メモリコントローラ200は、タイムアウトを検出したら
、つまり、所定の時間を経過したら、メモリコントローラ200の制御部220がメモリ
チップ110−1の所定のブロックを消去してもよい。または、メモリコントローラ20
0は、タイムアウトを検出したら、つまり、所定の時間を経過したらメモリコントローラ
200がメモリチップ110−1の所定のブロックの消去を断念してもよい。
タイムアウトを検出する際の所定の時間の開始タイミングは、任意のタイミングでよく
、例えば、メモリコントローラ200が不揮発性メモリ100の所定のブロックを消去す
ることを決定したタイミング、昇温処理の実行を開始するタイミング等でよい。
、例えば、メモリコントローラ200が不揮発性メモリ100の所定のブロックを消去す
ることを決定したタイミング、昇温処理の実行を開始するタイミング等でよい。
以上のように、第1の実施形態によれば、メモリシステム1において、メモリコントロ
ーラ200の温度が所定の温度より高くなく、アクセス先のメモリチップ110の温度が
所定の温度より高くない場合、メモリコントローラ200は、メモリコントローラ200
の温度やメモリチップ110の温度を上げるために昇温処理を実行する。昇温処理を実行
した後、メモリコントローラ200の温度が所定の温度より高くなるか、アクセス先のメ
モリチップ110の温度が所定の温度より高くなった場合に、メモリコントローラ200
は、メモリチップ110へアクセスする。
ーラ200の温度が所定の温度より高くなく、アクセス先のメモリチップ110の温度が
所定の温度より高くない場合、メモリコントローラ200は、メモリコントローラ200
の温度やメモリチップ110の温度を上げるために昇温処理を実行する。昇温処理を実行
した後、メモリコントローラ200の温度が所定の温度より高くなるか、アクセス先のメ
モリチップ110の温度が所定の温度より高くなった場合に、メモリコントローラ200
は、メモリチップ110へアクセスする。
本実施形態に係るメモリシステムでは、メモリコントローラ200の温度またはメモリ
チップ110の温度がそれぞれに対応する所定の温度よりも高くない場合、メモリコント
ローラ200の温度またはメモリチップ110の温度がそれぞれに対応する所定の温度に
達するのを待ってから不揮発性メモリ110へのアクセスが行われるため、不揮発性メモ
リ110が低温動作に弱い場合であっても、不揮発性メモリ110のメモリセルのストレ
スを減らすことが出来、不揮発性メモリ110に保存されるデータ、不揮発性メモリ11
0から読み出すデータの信頼性を向上させることが出来、不揮発性メモリ110からの読
み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻度を減らすことが
出来る。
チップ110の温度がそれぞれに対応する所定の温度よりも高くない場合、メモリコント
ローラ200の温度またはメモリチップ110の温度がそれぞれに対応する所定の温度に
達するのを待ってから不揮発性メモリ110へのアクセスが行われるため、不揮発性メモ
リ110が低温動作に弱い場合であっても、不揮発性メモリ110のメモリセルのストレ
スを減らすことが出来、不揮発性メモリ110に保存されるデータ、不揮発性メモリ11
0から読み出すデータの信頼性を向上させることが出来、不揮発性メモリ110からの読
み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻度を減らすことが
出来る。
(第2の実施形態)
図13は、第2の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図1
3において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
図13は、第2の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図1
3において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
本実施形態では、第1の実施形態と同様に、ホスト装置2からの読み出し要求で指定さ
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
第2の実施形態に係るメモリシステムが、第1の実施形態に係るメモリシステムと異な
る点は、メモリコントローラ200の制御部220が、読み出し要求で指定されたアドレ
スである論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリチップ110−1からデータを読み出し、読み出
しが成功した場合、つまり読み出したデータを復号できた場合は、メモリコントローラ2
00の温度やメモリチップ110の温度を取得すること無く、復号されたデータをホスト
装置2へ送信することにある。
る点は、メモリコントローラ200の制御部220が、読み出し要求で指定されたアドレ
スである論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリチップ110−1からデータを読み出し、読み出
しが成功した場合、つまり読み出したデータを復号できた場合は、メモリコントローラ2
00の温度やメモリチップ110の温度を取得すること無く、復号されたデータをホスト
装置2へ送信することにある。
メモリコントローラ200の制御部220は、読み出し要求で指定されたアドレスであ
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決すると(
ステップ802)、メモリチップ110−1からのデータ読み出しをメモリI/F250
へ指示し、メモリI/F250経由でメモリチップ110−1からデータを読み出す(ス
テップ1301)。
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決すると(
ステップ802)、メモリチップ110−1からのデータ読み出しをメモリI/F250
へ指示し、メモリI/F250経由でメモリチップ110−1からデータを読み出す(ス
テップ1301)。
そして、メモリコントローラ200は、メモリチップ110−1から読み出したデータ
を復号する(ステップ1302)。メモリコントローラ200の制御部220は、メモリ
チップ110−1から読み出したデータの復号を復号回路242に対して指示し、復号回
路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果
を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号さ
れたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知す
る。
を復号する(ステップ1302)。メモリコントローラ200の制御部220は、メモリ
チップ110−1から読み出したデータの復号を復号回路242に対して指示し、復号回
路242は制御部220から指示されたデータを復号する。復号回路242は、復号結果
を制御部220に対して出力する。すなわち、復号時に誤り訂正に成功した場合は復号さ
れたデータを、復号時に誤り訂正に失敗した場合は誤り訂正失敗を制御部220に通知す
る。
メモリコントローラ200の制御部220は、復号回路242による復号が成功した場
合(ステップ1303:Yes)、つまり、復号時に誤り訂正に成功した場合、復号され
たデータであるユーザデータをホストI/F210経由でホスト装置2へ送信する(ステ
ップ810)。
合(ステップ1303:Yes)、つまり、復号時に誤り訂正に成功した場合、復号され
たデータであるユーザデータをホストI/F210経由でホスト装置2へ送信する(ステ
ップ810)。
メモリコントローラ200の制御部220は、復号回路242による復号が成功しなか
った場合(ステップ1303:No)、つまり、復号回路242から誤り訂正失敗が通知
された場合、メモリコントローラ200の温度を、温度センサI/F260経由で取得し
(ステップ803)、以降は、第1の実施形態に係るメモリシステムと同様の処理を実行
する。
った場合(ステップ1303:No)、つまり、復号回路242から誤り訂正失敗が通知
された場合、メモリコントローラ200の温度を、温度センサI/F260経由で取得し
(ステップ803)、以降は、第1の実施形態に係るメモリシステムと同様の処理を実行
する。
上述した第2の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110から
読み出すデータの信頼性を向上させることが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110から
読み出すデータの信頼性を向上させることが出来る。
また、第2の実施形態によれば、ホスト装置2からの読み出し要求に対して、メモリチ
ップ110からの読み出しが成功した場合は、メモリコントローラ200の温度、メモリ
チップ110の温度を取得する処理を実行しないため、メモリコントローラ200の温度
、メモリチップ110の温度を取得する場合に比べてレイテンシが短くなる。
ップ110からの読み出しが成功した場合は、メモリコントローラ200の温度、メモリ
チップ110の温度を取得する処理を実行しないため、メモリコントローラ200の温度
、メモリチップ110の温度を取得する場合に比べてレイテンシが短くなる。
(第3の実施形態)
図14は、第3の実施形態に係るメモリシステムのホスト装置2からのデータ書き込み
要求に対して不揮発性メモリ100へのデータの書き込み処理のフローチャートである。
図14において、図10の構成と同一部分は同一符号で示す。尚、本実施形態の説明にお
いて、第1実施形態と同様の構成および動作については、重複する説明を省略する。また
、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする
。
図14は、第3の実施形態に係るメモリシステムのホスト装置2からのデータ書き込み
要求に対して不揮発性メモリ100へのデータの書き込み処理のフローチャートである。
図14において、図10の構成と同一部分は同一符号で示す。尚、本実施形態の説明にお
いて、第1実施形態と同様の構成および動作については、重複する説明を省略する。また
、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする
。
本実施形態では、第1の実施形態と同様に、ホスト装置2からの書き込み要求で指定さ
れた論理アドレスに対して決定された物理アドレスに対応するメモリチップ110がメモ
リチップ110−1であるとして説明する。
れた論理アドレスに対して決定された物理アドレスに対応するメモリチップ110がメモ
リチップ110−1であるとして説明する。
第3の実施形態に係るメモリシステムが、第1の実施形態に係るメモリシステムと異な
る点は、メモリコントローラ200の制御部220が、書き込み要求で指定された書き込
み対象のユーザデータを符号化した(ステップ1003)後、メモリチップ110−1に
対して符号化されたデータを書き込み、書き込みが成功した場合にホスト装置2へ書き込
みが成功したこと示す応答を送信することにある。
る点は、メモリコントローラ200の制御部220が、書き込み要求で指定された書き込
み対象のユーザデータを符号化した(ステップ1003)後、メモリチップ110−1に
対して符号化されたデータを書き込み、書き込みが成功した場合にホスト装置2へ書き込
みが成功したこと示す応答を送信することにある。
メモリコントローラ200の制御部220は、書き込み要求で指定された書き込み対象
のユーザデータの符号化を符号化回路241へ指示し、符号化回路241が書き込み対象
のユーザデータを符号化する処理を実行した(ステップ1003)後、メモリコントロー
ラ200の制御部220は、メモリチップ110−1に対する符号化されたデータの書き
込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチップ110−1
へデータを書き込む(ステップ1401)。
のユーザデータの符号化を符号化回路241へ指示し、符号化回路241が書き込み対象
のユーザデータを符号化する処理を実行した(ステップ1003)後、メモリコントロー
ラ200の制御部220は、メモリチップ110−1に対する符号化されたデータの書き
込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチップ110−1
へデータを書き込む(ステップ1401)。
メモリコントローラ200の制御部220は、メモリチップ110−1への書き込みが
成功した場合(ステップ1402:Yes)、ホスト装置2へ書き込みが成功したこと示
す応答を送信する(ステップ1007)。メモリコントローラ200の制御部220は、
メモリチップ110−1への書き込みが成功したか否かを、例えば、メモリチップ110
−1に対するデータの書き込み指示に対してメモリチップ110−1からメモリI/F2
50経由で出力された応答により判定する。
成功した場合(ステップ1402:Yes)、ホスト装置2へ書き込みが成功したこと示
す応答を送信する(ステップ1007)。メモリコントローラ200の制御部220は、
メモリチップ110−1への書き込みが成功したか否かを、例えば、メモリチップ110
−1に対するデータの書き込み指示に対してメモリチップ110−1からメモリI/F2
50経由で出力された応答により判定する。
メモリコントローラ200の制御部220は、メモリチップ110−1への書き込みが
成功しなかった場合(ステップ1402:No)、メモリコントローラ200の温度を、
温度センサI/F260経由で取得し(ステップ803)、以降は、ステップ1401で
のデータの書き込み先の物理アドレスとは別の物理アドレスへデータを書き込むことを除
いて、第1の実施形態に係るメモリシステムと同様の処理を実行する。
成功しなかった場合(ステップ1402:No)、メモリコントローラ200の温度を、
温度センサI/F260経由で取得し(ステップ803)、以降は、ステップ1401で
のデータの書き込み先の物理アドレスとは別の物理アドレスへデータを書き込むことを除
いて、第1の実施形態に係るメモリシステムと同様の処理を実行する。
メモリコントローラ200の制御部220は、メモリチップ110−1への書き込みが
成功しなかった場合(ステップ1402:No)、メモリコントローラ200の温度を、
温度センサI/F260経由で取得した(ステップ803)後、メモリコントローラ20
0の温度が所定の第3の温度より高いかどうかを判定する(ステップ1004)。
成功しなかった場合(ステップ1402:No)、メモリコントローラ200の温度を、
温度センサI/F260経由で取得した(ステップ803)後、メモリコントローラ20
0の温度が所定の第3の温度より高いかどうかを判定する(ステップ1004)。
メモリコントローラ200の温度が所定の第3の温度より高くない場合(ステップ10
04:No)、メモリコントローラ200の制御部220は、メモリI/F250経由で
メモリチップ110−1からメモリチップ温度情報を取得する(ステップ805)。
04:No)、メモリコントローラ200の制御部220は、メモリI/F250経由で
メモリチップ110−1からメモリチップ温度情報を取得する(ステップ805)。
メモリコントローラ200の制御部220は、メモリチップ110−1から取得したメ
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第4の温度より高いかどうかを判定する(ステップ1005)。
モリチップ温度情報によりメモリチップ110−1の温度を特定し、メモリチップ110
−1の温度が所定の第4の温度より高いかどうかを判定する(ステップ1005)。
メモリチップ110−1の温度が所定の第4の温度より高くない場合(ステップ100
5:No)、メモリコントローラ200の制御部220は、昇温処理を実行して(ステッ
プ807)、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度セ
ンサI/F260経由で取得する(ステップ803)。
5:No)、メモリコントローラ200の制御部220は、昇温処理を実行して(ステッ
プ807)、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度セ
ンサI/F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第3の温度より高い場合(ステップ1004
:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高い場合(
ステップ1005:Yes)、メモリコントローラ200の制御部220は、書き込み要
求で指定された論理アドレスに対応する物理アドレスを変更し、変更後の物理アドレスを
アドレス変換テーブルへ反映させる(ステップ1403)。
:Yes)、または、メモリチップ110−1の温度が所定の第4の温度より高い場合(
ステップ1005:Yes)、メモリコントローラ200の制御部220は、書き込み要
求で指定された論理アドレスに対応する物理アドレスを変更し、変更後の物理アドレスを
アドレス変換テーブルへ反映させる(ステップ1403)。
メモリコントローラ200の制御部220は、変更後の物理アドレスをアドレス変換テ
ーブルへ反映させる際(ステップ1403)、変更後の物理アドレスが、ステップ140
1にてデータ書き込みを実行した物理アドレスとは別の物理アドレスとなるようにする。
ーブルへ反映させる際(ステップ1403)、変更後の物理アドレスが、ステップ140
1にてデータ書き込みを実行した物理アドレスとは別の物理アドレスとなるようにする。
その後、メモリコントローラ200の制御部220は、ステップ1403で変更された
物理アドレスに対するデータ書き込みをメモリI/F250へ指示し、メモリI/F25
0経由でメモリチップ110−1へデータを書き込む(ステップ1404)。
物理アドレスに対するデータ書き込みをメモリI/F250へ指示し、メモリI/F25
0経由でメモリチップ110−1へデータを書き込む(ステップ1404)。
上述した第3の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110に保
存されるデータの信頼性を向上させることが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110に保
存されるデータの信頼性を向上させることが出来る。
また、第3の実施形態によれば、ホスト装置2からの書き込み要求に対して、メモリチ
ップ110への書き込みが成功した場合は、メモリコントローラ200の温度、メモリチ
ップ110の温度を取得する処理を実行しないため、メモリコントローラ200の温度、
メモリチップ110の温度を取得する場合に比べてレイテンシが短くなる。
ップ110への書き込みが成功した場合は、メモリコントローラ200の温度、メモリチ
ップ110の温度を取得する処理を実行しないため、メモリコントローラ200の温度、
メモリチップ110の温度を取得する場合に比べてレイテンシが短くなる。
(第4の実施形態)
図15は、第4の実施形態に係るメモリシステムの不揮発性メモリ100の所定のブロ
ックの消去処理のフローチャートである。図15のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図15において、図12の構成と同一部分は同一符号で示す。尚、本実施形
態の説明において、第1実施形態と同様の構成および動作については、重複する説明を省
略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7
と同様とする。
図15は、第4の実施形態に係るメモリシステムの不揮発性メモリ100の所定のブロ
ックの消去処理のフローチャートである。図15のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図15において、図12の構成と同一部分は同一符号で示す。尚、本実施形
態の説明において、第1実施形態と同様の構成および動作については、重複する説明を省
略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7
と同様とする。
本実施形態では、消去対象となる所定のブロックを含むメモリチップ110がメモリチ
ップ110−1であるとして説明する。
ップ110−1であるとして説明する。
第4の実施形態に係るメモリシステムが、第1の実施形態に係るメモリシステムと異な
る点は、メモリコントローラ200の制御部220が、メモリコントローラ200が不揮
発性メモリ100の所定のブロックを消去することに決定した後、メモリコントローラ2
00の温度等を取得せずに所定のブロックを消去し、消去が成功しなかった場合にメモリ
コントローラ200の温度等を取得することにある。
る点は、メモリコントローラ200の制御部220が、メモリコントローラ200が不揮
発性メモリ100の所定のブロックを消去することに決定した後、メモリコントローラ2
00の温度等を取得せずに所定のブロックを消去し、消去が成功しなかった場合にメモリ
コントローラ200の温度等を取得することにある。
メモリコントローラ200の制御部220は、所定のブロックの消去をメモリI/F2
50へ指示する(ステップ1501)。
50へ指示する(ステップ1501)。
メモリコントローラ200の制御部220は、メモリチップ110−1に対するブロッ
ク消去が成功したか否かを、例えば、メモリチップ110−1に対するブロック消去指示
に対してメモリチップ110−1からメモリI/F250経由で出力された応答により判
定する(ステップ1502)。
ク消去が成功したか否かを、例えば、メモリチップ110−1に対するブロック消去指示
に対してメモリチップ110−1からメモリI/F250経由で出力された応答により判
定する(ステップ1502)。
メモリコントローラ200の制御部220は、メモリチップ110−1に対するブロッ
ク消去が成功した場合(ステップ1502:Yes)、図15に示すフローチャートは終
了する。メモリコントローラ200の制御部220は、メモリチップ110−1に対する
ブロック消去が成功した場合、ブロック消去結果を、消去ブロックを管理する管理テーブ
ルへ反映してもよい。
ク消去が成功した場合(ステップ1502:Yes)、図15に示すフローチャートは終
了する。メモリコントローラ200の制御部220は、メモリチップ110−1に対する
ブロック消去が成功した場合、ブロック消去結果を、消去ブロックを管理する管理テーブ
ルへ反映してもよい。
メモリコントローラ200の制御部220は、メモリチップ110−1に対するブロッ
ク消去が成功しなかった場合(ステップ1502:No)、メモリコントローラ200の
温度を、温度センサI/F260経由で取得し(ステップ803)、以降は、第1の実施
形態に係るメモリシステムと同様の処理を実行する。
ク消去が成功しなかった場合(ステップ1502:No)、メモリコントローラ200の
温度を、温度センサI/F260経由で取得し(ステップ803)、以降は、第1の実施
形態に係るメモリシステムと同様の処理を実行する。
上述した第4の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来る。
また、第4の実施形態によれば、所定のブロックの消去が成功した場合は、メモリコン
トローラ200の温度、メモリチップ110の温度を取得する処理を実行しないため、メ
モリコントローラ200の温度、メモリチップ110の温度を取得する場合に比べてブロ
ック消去にかかる時間が短くなる。
トローラ200の温度、メモリチップ110の温度を取得する処理を実行しないため、メ
モリコントローラ200の温度、メモリチップ110の温度を取得する場合に比べてブロ
ック消去にかかる時間が短くなる。
(第5の実施形態)
図16は、第5の実施形態に係るメモリシステムのメモリコントローラの処理のフロー
チャートである。図16において、図8の構成と同一部分は同一符号で示す。尚、本実施
形態の説明において、第1実施形態と同様の構成および動作については、重複する説明を
省略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図
7と同様とする。
図16は、第5の実施形態に係るメモリシステムのメモリコントローラの処理のフロー
チャートである。図16において、図8の構成と同一部分は同一符号で示す。尚、本実施
形態の説明において、第1実施形態と同様の構成および動作については、重複する説明を
省略する。また、本実施形態におけるメモリシステム1の外観及び構成等は、図1乃至図
7と同様とする。
第5の実施形態に係るメモリシステムが、第1の実施形態に係るメモリシステムと異な
る点は、メモリコントローラ200の制御部220が、ホスト装置2から不揮発性メモリ
100へのアクセスが必要な要求を受信すること等とは関係なく、メモリコントローラ2
00の温度やメモリチップ110の温度を取得して、昇温処理を実行することにある。
る点は、メモリコントローラ200の制御部220が、ホスト装置2から不揮発性メモリ
100へのアクセスが必要な要求を受信すること等とは関係なく、メモリコントローラ2
00の温度やメモリチップ110の温度を取得して、昇温処理を実行することにある。
図16に示すフローチャートは、メモリコントローラ200の制御部220が、所定の
タイミングで、メモリコントローラ200の温度やメモリチップ110のメモリチップ温
度情報を取得し、取得した温度に応じて、昇温処理を実行する処理を示している。ここで
、所定のタイミングとは、例えば、メモリシステム1がホスト装置2からの要求を受信し
ていない場合、メモリコントローラ200が、ガベージコレクションや、リフレッシュや
、ウェアレベリングや、パトロールリード等を実行していない場合をいう。
タイミングで、メモリコントローラ200の温度やメモリチップ110のメモリチップ温
度情報を取得し、取得した温度に応じて、昇温処理を実行する処理を示している。ここで
、所定のタイミングとは、例えば、メモリシステム1がホスト装置2からの要求を受信し
ていない場合、メモリコントローラ200が、ガベージコレクションや、リフレッシュや
、ウェアレベリングや、パトロールリード等を実行していない場合をいう。
メモリコントローラ200の制御部220は、所定のタイミングで、メモリコントロー
ラ200の温度を温度センサI/F260を介して取得し(ステップ803)、取得した
メモリコントローラ200の温度が所定の第7の温度より高いかどうかを判定する(ステ
ップ1601)。所定の第7の温度は、第1の実施形態のメモリコントローラ200の処
理における所定の第1の温度または所定の第3の温度または所定の第5の温度と同じであ
ってもよいし、異なる温度であってもよい。
ラ200の温度を温度センサI/F260を介して取得し(ステップ803)、取得した
メモリコントローラ200の温度が所定の第7の温度より高いかどうかを判定する(ステ
ップ1601)。所定の第7の温度は、第1の実施形態のメモリコントローラ200の処
理における所定の第1の温度または所定の第3の温度または所定の第5の温度と同じであ
ってもよいし、異なる温度であってもよい。
メモリコントローラ200の温度が所定の第7の温度より高くない場合(ステップ16
01:No)、メモリコントローラ200の制御部220は、メモリチップ110−1、
・・・、メモリチップ110−Nそれぞれに対してメモリチップ温度情報読み出しをメモ
リI/F250へ指示し、メモリI/F250経由で各々のメモリチップ温度情報を取得
する(ステップ1602)。
01:No)、メモリコントローラ200の制御部220は、メモリチップ110−1、
・・・、メモリチップ110−Nそれぞれに対してメモリチップ温度情報読み出しをメモ
リI/F250へ指示し、メモリI/F250経由で各々のメモリチップ温度情報を取得
する(ステップ1602)。
メモリコントローラ200の制御部220は、メモリチップ110−1、・・・、メモ
リチップ110−Nの中に、温度が所定の第8の温度より高いメモリチップ110が存在
するかどうかを判定する(ステップ1603)。所定の第8の温度は、第1の実施形態の
メモリコントローラ200の処理における所定の第2の温度または所定の第4の温度また
は所定の第6の温度と同じであってもよいし、異なる温度であってもよい。また、所定の
第8の温度は、所定の第7の温度と同じであってもよいし、異なる温度であってもよい。
リチップ110−Nの中に、温度が所定の第8の温度より高いメモリチップ110が存在
するかどうかを判定する(ステップ1603)。所定の第8の温度は、第1の実施形態の
メモリコントローラ200の処理における所定の第2の温度または所定の第4の温度また
は所定の第6の温度と同じであってもよいし、異なる温度であってもよい。また、所定の
第8の温度は、所定の第7の温度と同じであってもよいし、異なる温度であってもよい。
メモリチップ110−1、・・・、メモリチップ110−Nの中に、温度が所定の第8
の温度より高いメモリチップ110が存在しない場合(ステップ1603:No)、メモ
リコントローラ200の制御部220は、昇温処理を実行する(ステップ807)。
の温度より高いメモリチップ110が存在しない場合(ステップ1603:No)、メモ
リコントローラ200の制御部220は、昇温処理を実行する(ステップ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第7の温度より高い場合(ステップ1601
:Yes)、または、メモリチップ110−1、・・・、メモリチップ110−Nの中に
温度が所定の第8の温度より高いメモリチップ110が存在する場合(ステップ1603
:Yes)、図16に示すフローチャートは終了する。
:Yes)、または、メモリチップ110−1、・・・、メモリチップ110−Nの中に
温度が所定の第8の温度より高いメモリチップ110が存在する場合(ステップ1603
:Yes)、図16に示すフローチャートは終了する。
図16に示すフローチャートでは、メモリコントローラ200の温度が所定の第7の温
度より高くなく、かつ、メモリチップ110−1、・・・、メモリチップ110−Nの中
に温度が所定の第8の温度より高いメモリチップ110が存在しない限り、メモリコント
ローラ200の制御部220が昇温処理を実行し続けることになっているが、メモリコン
トローラ200の制御部220は、タイムアウトを検出したら、昇温処理の実行を止める
ようにしてもよい。
度より高くなく、かつ、メモリチップ110−1、・・・、メモリチップ110−Nの中
に温度が所定の第8の温度より高いメモリチップ110が存在しない限り、メモリコント
ローラ200の制御部220が昇温処理を実行し続けることになっているが、メモリコン
トローラ200の制御部220は、タイムアウトを検出したら、昇温処理の実行を止める
ようにしてもよい。
メモリコントローラ200の制御部220は、例えば、メモリシステム1がホスト装置
2から要求を受信した場合や、メモリコントローラ200がガベージコレクションやリフ
レッシュやウェアレベリングやパトロールリード等を実行する場合に、タイムアウトを検
出してもよい。また、任意のタイミングから任意の時間が経過したら、メモリコントロー
ラ200がタイムアウトを検出するようにしてもよい。
2から要求を受信した場合や、メモリコントローラ200がガベージコレクションやリフ
レッシュやウェアレベリングやパトロールリード等を実行する場合に、タイムアウトを検
出してもよい。また、任意のタイミングから任意の時間が経過したら、メモリコントロー
ラ200がタイムアウトを検出するようにしてもよい。
また、図16に示すフローチャートでは、メモリコントローラ200の制御部220は
、メモリチップ110−1、・・・、メモリチップ110−Nの中に温度が所定の第8の
温度より高いメモリチップ110が存在する場合に昇温処理を実行しないようにしている
が、昇温処理を実行しない条件を適宜変更してもよい。
、メモリチップ110−1、・・・、メモリチップ110−Nの中に温度が所定の第8の
温度より高いメモリチップ110が存在する場合に昇温処理を実行しないようにしている
が、昇温処理を実行しない条件を適宜変更してもよい。
例えば、メモリコントローラ200の制御部220は、メモリチップ110−1、・・
・、メモリチップ110−Nの中に温度が所定の第8の温度より高いメモリチップ110
が所定の個数以上存在する場合に昇温処理を実行しないようにしてもよい。
・、メモリチップ110−Nの中に温度が所定の第8の温度より高いメモリチップ110
が所定の個数以上存在する場合に昇温処理を実行しないようにしてもよい。
また、例えば、メモリコントローラ200の制御部220は、メモリチップ110−1
、・・・、メモリチップ110−Nの中に温度が所定の第8の温度より高いメモリチップ
110が所定の第1の個数以上存在し、メモリチップ110−1、・・・、メモリチップ
110−Nの中に温度が所定の第9の温度より高いメモリチップ110が所定の第2の個
数以上存在する場合に昇温処理を実行しないようにしてもよい。ここで、所定の第9の温
度は所定の第8の温度とは異なり、第2の個数は第1の個数と同じであってもよいし異な
ってもよい。
、・・・、メモリチップ110−Nの中に温度が所定の第8の温度より高いメモリチップ
110が所定の第1の個数以上存在し、メモリチップ110−1、・・・、メモリチップ
110−Nの中に温度が所定の第9の温度より高いメモリチップ110が所定の第2の個
数以上存在する場合に昇温処理を実行しないようにしてもよい。ここで、所定の第9の温
度は所定の第8の温度とは異なり、第2の個数は第1の個数と同じであってもよいし異な
ってもよい。
上述した第5の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110に保
存されるデータの信頼性を向上させることが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110に保
存されるデータの信頼性を向上させることが出来る。
また、第5の実施形態によれば、メモリコントローラ200は、ホスト装置2から要求
を受信していない場合や、ガベージコレクションやリフレッシュやウェアレベリングやパ
トロールリード等を実行していない場合に、メモリコントローラ200の温度、メモリチ
ップ110の温度を上げるための処理を実行し、ホスト装置2から要求を受信する場合に
、メモリコントローラ200の温度、メモリチップ110の温度を上げるための処理を実
行しない。そのため、ホスト装置2から要求を受信した場合におけるホスト装置2の要求
に対するレイテンシが短くなる。
を受信していない場合や、ガベージコレクションやリフレッシュやウェアレベリングやパ
トロールリード等を実行していない場合に、メモリコントローラ200の温度、メモリチ
ップ110の温度を上げるための処理を実行し、ホスト装置2から要求を受信する場合に
、メモリコントローラ200の温度、メモリチップ110の温度を上げるための処理を実
行しない。そのため、ホスト装置2から要求を受信した場合におけるホスト装置2の要求
に対するレイテンシが短くなる。
(第6の実施形態)
図17は、第6の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図1
7において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
図17は、第6の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図1
7において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
本実施形態では、第1の実施形態と同様に、ホスト装置2からの読み出し要求で指定さ
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200の制御部220は、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリチップ110の温度を取得すること無く、メモリ
コントローラ200の温度に基づいて、メモリチップ110からのデータ読み出し処理ま
たは昇温処理を実行する。
、メモリコントローラ200の制御部220は、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリチップ110の温度を取得すること無く、メモリ
コントローラ200の温度に基づいて、メモリチップ110からのデータ読み出し処理ま
たは昇温処理を実行する。
メモリコントローラ200の制御部220は、読み出し要求で指定されたアドレスであ
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決すると(
ステップ802)、メモリコントローラ200の温度を、温度センサI/F260を介し
て取得する(ステップ803)。
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決すると(
ステップ802)、メモリコントローラ200の温度を、温度センサI/F260を介し
て取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第9の温度より高いかどうかを判定する(ステップ1701)。所定の第9の
温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
度が所定の第9の温度より高いかどうかを判定する(ステップ1701)。所定の第9の
温度は所定の第1の温度と同じであってもよいし、異なる温度であってもよい。
メモリコントローラ200の温度が所定の第9の温度より高くない場合(ステップ80
4:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
4:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第9の温度より高い場合(ステップ1701
:Yes)、メモリコントローラ200は、メモリチップ110−1からデータを読み出
し(ステップ808)、以降は第1の実施形態に係るメモリシステムと同様の処理を実行
する。
:Yes)、メモリコントローラ200は、メモリチップ110−1からデータを読み出
し(ステップ808)、以降は第1の実施形態に係るメモリシステムと同様の処理を実行
する。
図18は、第6の実施形態に係るメモリシステムのホスト装置2からの書き込み要求に
対する不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図18において、図10の構成と同一部分は同一符号で示す。
対する不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図18において、図10の構成と同一部分は同一符号で示す。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200の制御部220は、書き込み要求で指定された書き込み対象
のユーザデータを符号化した(ステップ802)後、メモリチップ110の温度を取得す
ること無く、メモリコントローラ200の温度に基づいて、メモリチップ110へのデー
タ書き込み処理または昇温処理を実行する。
、メモリコントローラ200の制御部220は、書き込み要求で指定された書き込み対象
のユーザデータを符号化した(ステップ802)後、メモリチップ110の温度を取得す
ること無く、メモリコントローラ200の温度に基づいて、メモリチップ110へのデー
タ書き込み処理または昇温処理を実行する。
メモリコントローラ200の制御部220は、書き込み要求で指定された論理アドレス
に対応する物理アドレスを決定し、決定された物理アドレスをアドレス変換テーブルへ反
映させる(ステップ1002)。そして、メモリコントローラ200の制御部220は、
書き込み要求で指定された書き込み対象のユーザデータの符号化を符号化回路241へ指
示し、符号化回路241は書き込み対象のユーザデータを符号化する(ステップ1003
)。
に対応する物理アドレスを決定し、決定された物理アドレスをアドレス変換テーブルへ反
映させる(ステップ1002)。そして、メモリコントローラ200の制御部220は、
書き込み要求で指定された書き込み対象のユーザデータの符号化を符号化回路241へ指
示し、符号化回路241は書き込み対象のユーザデータを符号化する(ステップ1003
)。
本実施形態では、ホスト2からの書き込み要求で指定された論理アドレスに対して決定
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
次に、メモリコントローラ200の制御部220は、メモリコントローラ200の温度
を、温度センサI/F260経由で取得する(ステップ803)。
を、温度センサI/F260経由で取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第10の温度より高いかどうかを判定する(ステップ1801)。所定の第1
0の温度は所定の第3の温度と同じであってもよいし、異なる温度であってもよい。
度が所定の第10の温度より高いかどうかを判定する(ステップ1801)。所定の第1
0の温度は所定の第3の温度と同じであってもよいし、異なる温度であってもよい。
メモリコントローラ200の温度が所定の第10の温度より高くない場合(ステップ1
801:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ス
テップ807)。
801:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ス
テップ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第10の温度より高い場合(ステップ180
1:Yes)、メモリコントローラ200の制御部220がメモリI/F250経由でメ
モリチップ110−1へ符号化されたデータを書き込み(ステップ1006)、以降は第
1の実施形態に係るメモリシステムと同様の処理を実行する。
1:Yes)、メモリコントローラ200の制御部220がメモリI/F250経由でメ
モリチップ110−1へ符号化されたデータを書き込み(ステップ1006)、以降は第
1の実施形態に係るメモリシステムと同様の処理を実行する。
図19は、第6の実施形態に係るメモリシステムの不揮発性メモリ100の所定のブロ
ックの消去処理のフローチャートである。図19のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図19において、図12の構成と同一部分は同一符号で示す。
ックの消去処理のフローチャートである。図19のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図19において、図12の構成と同一部分は同一符号で示す。
本実施形態では、消去対象となる所定のブロックを含むメモリチップ110がメモリチ
ップ110−1であるとして説明する。
ップ110−1であるとして説明する。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200の制御部220は、メモリチップ110の温度を取得するこ
と無く、メモリコントローラ200の温度に基づいて、メモリチップ110の所定のブロ
ックの消去処理または昇温処理を実行する。
、メモリコントローラ200の制御部220は、メモリチップ110の温度を取得するこ
と無く、メモリコントローラ200の温度に基づいて、メモリチップ110の所定のブロ
ックの消去処理または昇温処理を実行する。
メモリコントローラ200の制御部220は、メモリコントローラ200の温度を、温
度センサI/F260経由で取得する(ステップ803)。
度センサI/F260経由で取得する(ステップ803)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第11の温度より高いかどうかを判定する(ステップ1901)。所定の第1
1の温度は、所定の第5の温度と同じであってもよいし、異なる温度であってもよい。
度が所定の第11の温度より高いかどうかを判定する(ステップ1901)。所定の第1
1の温度は、所定の第5の温度と同じであってもよいし、異なる温度であってもよい。
メモリコントローラ200の温度が所定の第11の温度より高くない場合(ステップ1
901:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ス
テップ807)。
901:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ス
テップ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
後、ステップ803に戻り、再度、メモリコントローラ200の温度を、温度センサI/
F260経由で取得する(ステップ803)。
メモリコントローラ200の温度が所定の第11の温度より高い場合(ステップ190
1:Yes)、メモリコントローラ200の制御部220は、所定のブロックの消去をメ
モリI/F250へ指示する(ステップ1203)。
1:Yes)、メモリコントローラ200の制御部220は、所定のブロックの消去をメ
モリI/F250へ指示する(ステップ1203)。
上述した第6の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来、不揮発性メモリ110に保存されるデータ、不
揮発性メモリ110から読み出すデータの信頼性を向上させることが出来、不揮発性メモ
リ110からの読み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻
度を減らすことが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来、不揮発性メモリ110に保存されるデータ、不
揮発性メモリ110から読み出すデータの信頼性を向上させることが出来、不揮発性メモ
リ110からの読み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻
度を減らすことが出来る。
(第7の実施形態)
図20は、第7の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図2
0において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
図20は、第7の実施形態に係るメモリシステムのホスト装置2からの読み出し要求に
対する不揮発性メモリ100からのデータの読み出し処理のフローチャートである。図2
0において、図8の構成と同一部分は同一符号で示す。尚、本実施形態の説明において、
第1実施形態と同様の構成および動作については、重複する説明を省略する。また、本実
施形態におけるメモリシステム1の外観及び構成等は、図1乃至図7と同様とする。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200の制御部220は、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリコントローラ200の温度を取得すること無く、
メモリチップ110の温度に基づいて、メモリチップ110からのデータ読み出し処理ま
たは昇温処理を実行する。
、メモリコントローラ200の制御部220は、ホスト装置2からの読み出し要求を処理
するためにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決す
る処理(ステップ802)の後、メモリコントローラ200の温度を取得すること無く、
メモリチップ110の温度に基づいて、メモリチップ110からのデータ読み出し処理ま
たは昇温処理を実行する。
メモリコントローラ200の制御部220は、読み出し要求で指定されたアドレスであ
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決する(ス
テップ802)。
る論理アドレスを物理アドレスに変換し、ホスト装置2からの読み出し要求を処理するた
めにどのメモリチップ110のどの物理アドレスへアクセスすればよいかを解決する(ス
テップ802)。
本実施形態では、第1の実施形態と同様に、ホスト装置2からの読み出し要求で指定さ
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
れた論理アドレスに対するアクセス先のメモリチップ110がメモリチップ110−1で
あるとして説明する。
アクセス先のメモリチップ110−1からのメモリチップ温度情報読み出しをメモリI
/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1からメモリ
チップ温度情報を取得する(ステップ805)。
/F250へ指示し、メモリI/F250経由で当該メモリチップ110−1からメモリ
チップ温度情報を取得する(ステップ805)。
その後、メモリコントローラ200の制御部220は、メモリチップ110−1の温度
が所定の第12の温度より高いかどうかを判定する(ステップ2001)。所定の第12
の温度は所定の第2の温度と同じであってもよいし、異なる温度であってもよい。
が所定の第12の温度より高いかどうかを判定する(ステップ2001)。所定の第12
の温度は所定の第2の温度と同じであってもよいし、異なる温度であってもよい。
メモリチップ110−1の温度が所定の第12の温度より高くない場合(ステップ80
4:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
4:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステッ
プ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ803に戻り、再度、メモリチップ110−1の温度を、温度センサI/F
260経由で取得する(ステップ805)。
後、ステップ803に戻り、再度、メモリチップ110−1の温度を、温度センサI/F
260経由で取得する(ステップ805)。
メモリチップ110−1の温度が所定の第12の温度より高い場合(ステップ2001
:Yes)、メモリコントローラ200は、メモリI/F250経由でメモリチップ11
0−1からデータを読み出し(ステップ808)、以降は第1の実施形態に係るメモリシ
ステムと同様の処理を実行する。
:Yes)、メモリコントローラ200は、メモリI/F250経由でメモリチップ11
0−1からデータを読み出し(ステップ808)、以降は第1の実施形態に係るメモリシ
ステムと同様の処理を実行する。
図21は、第7の実施形態に係るメモリシステムのホスト装置2からの書き込み要求に
対する不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図21において、図10の構成と同一部分は同一符号で示す。
対する不揮発性メモリ100へのデータの書き込み処理のフローチャートである。このフ
ローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で指定され
たデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置2へ送信する処
理を示している。図21において、図10の構成と同一部分は同一符号で示す。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200の制御部220は、書き込み要求で指定された書き込み対象
のユーザデータを符号化した(ステップ802)後、メモリコントローラ200の温度を
取得すること無く、メモリチップ110の温度に基づいて、メモリチップ110へのデー
タ書き込み処理または昇温処理を実行する。
、メモリコントローラ200の制御部220は、書き込み要求で指定された書き込み対象
のユーザデータを符号化した(ステップ802)後、メモリコントローラ200の温度を
取得すること無く、メモリチップ110の温度に基づいて、メモリチップ110へのデー
タ書き込み処理または昇温処理を実行する。
ホスト装置2から書き込み要求を受けると(ステップ1001)、メモリコントローラ
200の制御部220は、書き込み要求で指定された論理アドレスに対応する物理アドレ
スを決定し、決定された物理アドレスをアドレス変換テーブルへ反映させる(ステップ1
002)。そして、メモリコントローラ200の制御部220は、書き込み要求で指定さ
れた書き込み対象のユーザデータの符号化を符号化回路241へ指示し、符号化回路24
1は書き込み対象のユーザデータを符号化する(ステップ1003)。
200の制御部220は、書き込み要求で指定された論理アドレスに対応する物理アドレ
スを決定し、決定された物理アドレスをアドレス変換テーブルへ反映させる(ステップ1
002)。そして、メモリコントローラ200の制御部220は、書き込み要求で指定さ
れた書き込み対象のユーザデータの符号化を符号化回路241へ指示し、符号化回路24
1は書き込み対象のユーザデータを符号化する(ステップ1003)。
本実施形態では、ホスト2からの書き込み要求で指定された論理アドレスに対して決定
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
された物理アドレスに対応するメモリチップ110がメモリチップ110−1であるとし
て説明する。
次に、メモリコントローラ200の制御部220は、アクセス先のメモリチップ110
−1からのメモリチップ温度情報読み出しをメモリI/F250へ指示し、メモリI/F
250経由で当該メモリチップ110−1からメモリチップ温度情報を取得する(ステッ
プ805)。
−1からのメモリチップ温度情報読み出しをメモリI/F250へ指示し、メモリI/F
250経由で当該メモリチップ110−1からメモリチップ温度情報を取得する(ステッ
プ805)。
その後、メモリコントローラ200の制御部220は、メモリチップ110−1の温度
が所定の第13の温度より高いかどうかを判定する(ステップ1801)。所定の第13
の温度は所定の第4の温度と同じであってもよいし、異なる温度であってもよい。
が所定の第13の温度より高いかどうかを判定する(ステップ1801)。所定の第13
の温度は所定の第4の温度と同じであってもよいし、異なる温度であってもよい。
メモリチップ110−1の温度が所定の第13の温度より高くない場合(ステップ18
01:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステ
ップ807)。
01:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステ
ップ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/F25
0経由で取得する(ステップ805)。
後、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/F25
0経由で取得する(ステップ805)。
メモリチップ110−1の温度が所定の第13の温度より高い場合(ステップ2101
:Yes)、メモリコントローラ200は、メモリチップ110−1へ符号化されたデー
タを書き込み(ステップ1006)、以降は第1の実施形態に係るメモリシステムと同様
の処理を実行する。
:Yes)、メモリコントローラ200は、メモリチップ110−1へ符号化されたデー
タを書き込み(ステップ1006)、以降は第1の実施形態に係るメモリシステムと同様
の処理を実行する。
図22は、第7の実施形態に係るメモリシステムのホスト装置2からの書き込み要求に
対する不揮発性メモリ100へのデータの書き込み処理の変形例のフローチャートである
。このフローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で
指定されたユーザデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置
2へ送信する処理を示している。図22において、図10、図11、図21の構成と同一
部分は同一符号で示す。
対する不揮発性メモリ100へのデータの書き込み処理の変形例のフローチャートである
。このフローチャートは、ホスト装置2からデータ書き込み要求を受け、書き込み要求で
指定されたユーザデータを不揮発性メモリ100へ書き込み、書き込み結果をホスト装置
2へ送信する処理を示している。図22において、図10、図11、図21の構成と同一
部分は同一符号で示す。
本変形例に係るメモリシステムでは、メモリチップ110−1の温度が所定の第13の
温度より高くない場合(ステップ2101:No)、メモリコントローラ200の制御部
220が昇温処理を実行するのではなく、メモリチップ110−1とは別のメモリチップ
110であるメモリチップ110−2、・・・、メモリチップ110−Nの温度を取得す
る(ステップ1101)。
温度より高くない場合(ステップ2101:No)、メモリコントローラ200の制御部
220が昇温処理を実行するのではなく、メモリチップ110−1とは別のメモリチップ
110であるメモリチップ110−2、・・・、メモリチップ110−Nの温度を取得す
る(ステップ1101)。
そして、メモリコントローラ200の制御部220が、メモリチップ110−2、・・
・、メモリチップ110−Nのうち温度が所定の第13の温度よりも高いメモリチップが
存在するか判定する(ステップ2201)。
・、メモリチップ110−Nのうち温度が所定の第13の温度よりも高いメモリチップが
存在するか判定する(ステップ2201)。
温度が所定の第13の温度よりも高いメモリチップが存在しない場合(ステップ220
1:No)、メモリコントローラ200の制御部220は、昇温処理を実行し(ステップ
807)、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/
F250経由で取得する(ステップ805)。
1:No)、メモリコントローラ200の制御部220は、昇温処理を実行し(ステップ
807)、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/
F250経由で取得する(ステップ805)。
温度が所定の第13の温度よりも高いメモリチップが存在する場合(ステップ2201
:Yes)、メモリコントローラ200の制御部220が、書き込み要求で指定された論
理アドレスに対応する物理アドレスを変更し、変更後の物理アドレスをアドレス変換テー
ブルへ反映させる(ステップ1103)。
:Yes)、メモリコントローラ200の制御部220が、書き込み要求で指定された論
理アドレスに対応する物理アドレスを変更し、変更後の物理アドレスをアドレス変換テー
ブルへ反映させる(ステップ1103)。
本変形例では、変更後の物理アドレスに対応するメモリチップ110がメモリチップ1
10−2であると仮定して、すなわち、メモリチップ110−2、・・・、メモリチップ
110−Nのうち温度が所定の第13の温度よりも高いメモリチップ110がメモリチッ
プ110−2であると仮定して説明する。
10−2であると仮定して、すなわち、メモリチップ110−2、・・・、メモリチップ
110−Nのうち温度が所定の第13の温度よりも高いメモリチップ110がメモリチッ
プ110−2であると仮定して説明する。
メモリコントローラ200の制御部220は、変更後の物理アドレスをアドレス変換テ
ーブルへ反映させる際(ステップ1103)、変更後の物理アドレスがメモリチップ11
0−2に対応する物理アドレスとなるようにアドレス変換テーブルを変更する。
ーブルへ反映させる際(ステップ1103)、変更後の物理アドレスがメモリチップ11
0−2に対応する物理アドレスとなるようにアドレス変換テーブルを変更する。
メモリコントローラ200の制御部220は、変更後の物理アドレスをアドレス変換テ
ーブルへ反映させた(ステップ1103)後、メモリチップ110−2への符号化された
データの書き込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチッ
プ110−2へデータを書き込む(ステップ1006)。
ーブルへ反映させた(ステップ1103)後、メモリチップ110−2への符号化された
データの書き込みをメモリI/F250へ指示し、メモリI/F250経由でメモリチッ
プ110−2へデータを書き込む(ステップ1006)。
次に、メモリコントローラ200は、メモリチップ110−2へのデータ書き込み結果
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
をホストI/F210経由でホスト装置2へ送信する(ステップ1007)。
一方で、メモリチップ110−1の温度が所定の第13の温度より高い場合(ステップ
2101:Yes)、メモリコントローラ200は、メモリI/F250経由でメモリチ
ップ110−1へ符号化されたデータを書き込み(ステップ1006)、以降は第1の実
施形態に係るメモリシステムと同様の処理を実行する。
2101:Yes)、メモリコントローラ200は、メモリI/F250経由でメモリチ
ップ110−1へ符号化されたデータを書き込み(ステップ1006)、以降は第1の実
施形態に係るメモリシステムと同様の処理を実行する。
本変形例では、メモリチップ温度情報を取得する前に、ホスト装置2の書き込み要求で
指定された論理アドレスに対応する物理アドレスを決定しているが(ステップ1002)
、メモリチップ温度情報を取得する前に書き込み要求で指定された論理アドレスに対応す
る物理アドレスを決定するのではなく、メモリチップ温度情報を取得して、取得したメモ
リチップ温度情報に基づいて書き込み要求で指定された論理アドレスに対応する物理アド
レスを決定してもよい。
指定された論理アドレスに対応する物理アドレスを決定しているが(ステップ1002)
、メモリチップ温度情報を取得する前に書き込み要求で指定された論理アドレスに対応す
る物理アドレスを決定するのではなく、メモリチップ温度情報を取得して、取得したメモ
リチップ温度情報に基づいて書き込み要求で指定された論理アドレスに対応する物理アド
レスを決定してもよい。
すなわち、本変形例では、メモリチップ110−1、・・・、メモリチップ110−N
のメモリチップ温度情報を取得して、メモリチップ110−1の温度が所定の第13の温
度より高くないが、メモリチップ110−2の温度が所定の第13の温度より高い場合に
、メモリチップ110−2をデータ書き込み先のメモリチップ110に決定して、メモリ
チップ110−2に対応する物理アドレスをアドレス変換テーブルへ反映させてもよい。
のメモリチップ温度情報を取得して、メモリチップ110−1の温度が所定の第13の温
度より高くないが、メモリチップ110−2の温度が所定の第13の温度より高い場合に
、メモリチップ110−2をデータ書き込み先のメモリチップ110に決定して、メモリ
チップ110−2に対応する物理アドレスをアドレス変換テーブルへ反映させてもよい。
図23は、第7の実施形態に係るメモリシステムの不揮発性メモリ100の所定のブロ
ックの消去処理のフローチャートである。図23のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図23において、図12の構成と同一部分は同一符号で示す。
ックの消去処理のフローチャートである。図23のフローチャートでは、メモリコントロ
ーラ200が不揮発性メモリ100の所定のブロックを消去することに決定した段階から
説明を行う。図23において、図12の構成と同一部分は同一符号で示す。
本実施形態では、消去対象となる所定のブロックを含むメモリチップ110がメモリチ
ップ110−1であるとして説明する。
ップ110−1であるとして説明する。
本実施形態に係るメモリシステムでは、第1の実施形態に係るメモリシステムと異なり
、メモリコントローラ200は、メモリコントローラ200の温度を取得すること無く、
メモリチップ110の温度に基づいて、メモリチップ110の所定のブロックの消去処理
または昇温処理を実行する。
、メモリコントローラ200は、メモリコントローラ200の温度を取得すること無く、
メモリチップ110の温度に基づいて、メモリチップ110の所定のブロックの消去処理
または昇温処理を実行する。
メモリコントローラ200の制御部220は、メモリチップ110−1の温度を、メモ
リI/F250経由で取得する(ステップ805)。
リI/F250経由で取得する(ステップ805)。
その後、メモリコントローラ200の制御部220は、メモリコントローラ200の温
度が所定の第14の温度より高いかどうかを判定する(ステップ2301)。所定の第1
4の温度は、所定の第6の温度と同じであってもよいし、異なる温度であってもよい。
度が所定の第14の温度より高いかどうかを判定する(ステップ2301)。所定の第1
4の温度は、所定の第6の温度と同じであってもよいし、異なる温度であってもよい。
メモリチップ110−1の温度が所定の第14の温度より高くない場合(ステップ23
01:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステ
ップ807)。
01:No)、メモリコントローラ200の制御部220は、昇温処理を実行する(ステ
ップ807)。
メモリコントローラ200の制御部220は、昇温処理を実行した(ステップ807)
後、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/F25
0経由で取得する(ステップ805)。
後、ステップ805に戻り、再度、メモリチップ110−1の温度を、メモリI/F25
0経由で取得する(ステップ805)。
メモリコントローラ200の温度が所定の第14の温度より高い場合(ステップ230
1:Yes)、メモリコントローラ200の制御部220は、所定のブロックの消去をメ
モリI/F250へ指示する(ステップ1203)。
1:Yes)、メモリコントローラ200の制御部220は、所定のブロックの消去をメ
モリI/F250へ指示する(ステップ1203)。
上述した第7の実施形態によれば、メモリシステム1において、第1の実施形態と同様
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来、不揮発性メモリ110に保存されるデータ、不
揮発性メモリ110から読み出すデータの信頼性を向上させることが出来、不揮発性メモ
リ110からの読み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻
度を減らすことが出来る。
に、不揮発性メモリ110が低温動作に弱い場合であっても、不揮発性メモリ110のメ
モリセルのストレスを減らすことが出来、不揮発性メモリ110に保存されるデータ、不
揮発性メモリ110から読み出すデータの信頼性を向上させることが出来、不揮発性メモ
リ110からの読み出しエラー、不揮発性メモリ110に対する書き込みエラーの発生頻
度を減らすことが出来る。
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱
しない範囲内において種々変更を加え得ることは勿論である。
しない範囲内において種々変更を加え得ることは勿論である。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の
さまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲
や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれ
るものである。
のであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の
さまざまな形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の
省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲
や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれ
るものである。
1・・・メモリシステム
2・・・ホスト装置
3・・・システム
4・・・コネクタ
100・・・不揮発性メモリ
110・・・メモリチップ
200・・・メモリコントローラ
210・・・ホストI/F
220・・・制御部
230・・・データバッファ
240・・・符号化部/復号部
250・・・メモリI/F
260・・・温度センサI/F
270・・・内部バス
300・・・温度センサ
400・・・基板
2・・・ホスト装置
3・・・システム
4・・・コネクタ
100・・・不揮発性メモリ
110・・・メモリチップ
200・・・メモリコントローラ
210・・・ホストI/F
220・・・制御部
230・・・データバッファ
240・・・符号化部/復号部
250・・・メモリI/F
260・・・温度センサI/F
270・・・内部バス
300・・・温度センサ
400・・・基板
Claims (10)
- 複数のメモリチップを有する不揮発性メモリと、
前記不揮発性メモリを制御するコントローラと、
を備え、
前記コントローラは、
前記コントローラの温度が第1の温度より高い場合または前記複数のメモリチップのう
ち第1のメモリチップの温度が第2の温度より高い場合に、前記第1のメモリチップへア
クセスするメモリシステム。 - 前記コントローラは、前記コントローラの温度が前記第1の温度より高くなく、かつ、
前記第1のメモリチップの温度が前記第2の温度より高くない場合に、昇温処理を実行す
る請求項1に記載のメモリシステム。 - 前記コントローラは、前記昇温処理を実行した後、前記コントローラの温度が前記第1
の温度より高くなった場合または前記第1のメモリチップの温度が前記第2の温度より高
くなった場合に、前記第1のメモリチップへアクセスする請求項1または請求項2に記載
のメモリシステム。 - 前記アクセスは、ホスト装置から受信した読み出し要求に基づく前記第1のメモリチッ
プからのデータ読み出し処理である請求項1乃至請求項3の何れか1項に記載のメモリシ
ステム。 - 前記コントローラは、データを符号化または復号するECC回路を備え、
前記昇温処理は前記ECC回路を駆動させることである請求項2または請求項3に記載
のメモリシステム。 - 前記ECC回路は、データを符号化する符号化回路を備え、
前記コントローラは、ダミーデータを前記符号化回路に符号化させることにより、前記
ECC回路を駆動させる請求項5に記載のメモリシステム。 - 前記ECC回路は、符号化されたデータを復号する復号回路を備え、
前記コントローラは、ダミーデータを前記復号回路に復号させることにより、前記EC
C回路を駆動させる請求項5に記載のメモリシステム。 - 前記コントローラは、ホスト装置から受信した書き込み要求で指定されたデータを前記
符号化回路により符号化し、
前記アクセスは、前記符号化されたデータを書き込む処理である請求項6に記載のメモ
リシステム。 - 前記コントローラは、前記コントローラの温度が前記第1の温度より高くなく、かつ、
前記第1のメモリチップの温度が前記第2の温度より高くない場合に、前記第1のメモリ
チップと異なる第2のメモリチップを前記書き込み要求で指定されたデータが保存される
メモリチップとして決定し、前記第2のメモリチップの温度が第2の温度より高い場合に
、前記第2のメモリチップへ前記符号化されたデータを書き込む請求項8に記載のメモリ
システム。 - 前記アクセスは、前記第1のメモリチップに含まれるブロックの消去処理である請求項
1乃至請求項3の何れか1項に記載のメモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/694,601 US10373656B2 (en) | 2016-09-26 | 2017-09-01 | Memory system that carries out temperature-based access to a memory chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016187376 | 2016-09-26 | ||
JP2016187376 | 2016-09-26 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018055759A true JP2018055759A (ja) | 2018-04-05 |
Family
ID=61835932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017065622A Pending JP2018055759A (ja) | 2016-09-26 | 2017-03-29 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018055759A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019200831A (ja) * | 2018-05-14 | 2019-11-21 | 慧榮科技股▲分▼有限公司 | データストレージシステム、および、不揮発性メモリの操作方法 |
CN111724827A (zh) * | 2019-03-20 | 2020-09-29 | 东芝存储器株式会社 | 存储器***及非易失性存储器 |
CN113168213A (zh) * | 2018-10-23 | 2021-07-23 | 美光科技公司 | 存储器装置的受控加热 |
JP2021522638A (ja) * | 2018-05-03 | 2021-08-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 廃熱を使用するフラッシュメモリ保持時間の増加 |
JP2023517524A (ja) * | 2020-06-30 | 2023-04-26 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 半導体装置 |
US11853599B2 (en) | 2020-03-31 | 2023-12-26 | Kioxia Corporation | Memory system and information processing system |
JP7467088B2 (ja) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | 情報処理装置、情報処理装置の処理方法およびプログラム |
-
2017
- 2017-03-29 JP JP2017065622A patent/JP2018055759A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021522638A (ja) * | 2018-05-03 | 2021-08-30 | マイクロソフト テクノロジー ライセンシング,エルエルシー | 廃熱を使用するフラッシュメモリ保持時間の増加 |
JP2019200831A (ja) * | 2018-05-14 | 2019-11-21 | 慧榮科技股▲分▼有限公司 | データストレージシステム、および、不揮発性メモリの操作方法 |
US10789995B2 (en) | 2018-05-14 | 2020-09-29 | Silicon Motion, Inc. | Data storage system and operating method for non-volatile memory |
CN113168213A (zh) * | 2018-10-23 | 2021-07-23 | 美光科技公司 | 存储器装置的受控加热 |
CN113168213B (zh) * | 2018-10-23 | 2024-06-11 | 美光科技公司 | 存储器装置的受控加热 |
CN111724827A (zh) * | 2019-03-20 | 2020-09-29 | 东芝存储器株式会社 | 存储器***及非易失性存储器 |
JP7467088B2 (ja) | 2019-12-03 | 2024-04-15 | キヤノン株式会社 | 情報処理装置、情報処理装置の処理方法およびプログラム |
US11853599B2 (en) | 2020-03-31 | 2023-12-26 | Kioxia Corporation | Memory system and information processing system |
JP2023517524A (ja) * | 2020-06-30 | 2023-04-26 | チャンシン メモリー テクノロジーズ インコーポレイテッド | 半導体装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10373656B2 (en) | Memory system that carries out temperature-based access to a memory chip | |
JP2018055759A (ja) | メモリシステム | |
US10157007B2 (en) | Memory system and operating method thereof | |
KR102664674B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
US10770147B2 (en) | Memory system including a memory device that can determine optimum read voltage applied to a word line | |
US11294814B2 (en) | Memory system having a memory controller and a memory device having a page buffer | |
US10248560B2 (en) | Storage device that restores data lost during a subsequent data write | |
CN110032471B (zh) | 存储器***及其操作方法 | |
US10424352B2 (en) | Memory system and method for operating the same | |
US10777285B2 (en) | Memory system capable of preventing read fail, including reading a second memory block through a dummy read operation, when an erase operation is performed to a first memory block, and operating method thereof | |
CN110489271B (zh) | 存储器***及其操作方法 | |
KR20190117117A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
KR20200100167A (ko) | 정정 불가능 ecc | |
KR102479483B1 (ko) | 메모리 시스템 및 이의 동작 방법 | |
TW201911025A (zh) | 記憶體系統及其操作方法 | |
CN111208936B (zh) | 存储装置及其操作方法 | |
US10748638B2 (en) | Memory controller and memory system having the same | |
US11288202B2 (en) | Memory controller and method of operating the same | |
US10803960B2 (en) | Memory device and operation method thereof | |
US10678471B2 (en) | Memory controller, memory system having the memory controller, and operating method of the memory controller | |
CN112053711A (zh) | 存储器装置以及该存储器装置的操作方法 | |
US10754571B2 (en) | Storage device and method of operating the same | |
KR20200113387A (ko) | 메모리 시스템 및 그것의 동작방법 | |
JP7087013B2 (ja) | メモリシステムおよび不揮発性メモリの制御方法 | |
US11961559B2 (en) | Storage device and operating method of storage device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20170531 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20170821 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180907 |
|
RD07 | Notification of extinguishment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7427 Effective date: 20180907 |