JP5612508B2 - 不揮発性メモリコントローラ及び不揮発性記憶装置 - Google Patents

不揮発性メモリコントローラ及び不揮発性記憶装置 Download PDF

Info

Publication number
JP5612508B2
JP5612508B2 JP2011039857A JP2011039857A JP5612508B2 JP 5612508 B2 JP5612508 B2 JP 5612508B2 JP 2011039857 A JP2011039857 A JP 2011039857A JP 2011039857 A JP2011039857 A JP 2011039857A JP 5612508 B2 JP5612508 B2 JP 5612508B2
Authority
JP
Japan
Prior art keywords
nonvolatile memory
deterioration
data
block
memory
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.)
Expired - Fee Related
Application number
JP2011039857A
Other languages
English (en)
Other versions
JP2011222107A (ja
Inventor
本多 利行
利行 本多
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011039857A priority Critical patent/JP5612508B2/ja
Publication of JP2011222107A publication Critical patent/JP2011222107A/ja
Application granted granted Critical
Publication of JP5612508B2 publication Critical patent/JP5612508B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis

Description

本発明は、フラッシュメモリ等の不揮発性メモリを制御する不揮発性メモリコントローラ、及び、該不揮発性メモリコントローラを用いた不揮発性記憶装置に関する。
近年、書き換え可能な不揮発性メモリであるNANDタイプのフラッシュメモリを搭載した不揮発性記憶装置として、メモリーカードがデジタルカメラや携帯電話の記憶媒体に使用され、その市場が拡大している。
また、不揮発性記憶装置は、半導体プロセスの微細化に伴い、ビット単価が下がり、安価な記憶デバイスとして、メモリーカード以外の市場、例えば、HDD(Hard Disk Drive)と置き換えられるSSD(Solid State Drive)や、ホスト機器に直接搭載するエンベデッドシステムのメモリに用いられ、その適用が拡がっている。
ここで、NANDタイプのフラッシュメモリの特徴として、以下の項目が挙げられる。
・半導体メモリの中で最も容量が大きく、低ビットコストの不揮発性メモリである
・半導体プロセスの微細化に伴い、データの信頼性が低下している
・2値や多値の複数のタイプのメモリセルがある
以下、それぞれについて順に説明する。
NANDタイプのフラッシュメモリは、半導体プロセスの最小加工寸法をFとすると、(2F)の2乗の大きさで1つのメモリセルを構成できる。このことが、NANDタイプのフラッシュメモリを、半導体メモリの中で最も低ビットコストとし、且つ最も大容量なメモリとしている。
また、ここ数年は、プロセスドライバーとして、半導体プロセスの最も進んだプロセスルールを使用して、NANDタイプのフラッシュメモリの製造が行なわれている。これにより、NANDタイプのフラッシュメモリは、他のメモリを用いていたシステムにも、使用され始めている。
例えば、高速なランダムアクセスが要求されるプログラムコードは、NORタイプのフラッシュメモリに格納され、大きな容量が要求されるユーザデータは、NANDタイプのフラッシュメモリに格納されていたシステムが、単一のNANDフラッシュメモリのみに置き換わっている。
これは、搭載するNANDタイプのフラッシュメモリの容量が、必要なNORタイプのフラッシュメモリの容量に比べて十分小さく、また、NORタイプのフラッシュメモリに搭載していたプログラムコードをNANDタイプのフラッシュメモリに格納しても、その影響が少なく、NANDタイプのフラッシュメモリを使用する工夫を盛り込んだとしても、NORタイプのフラッシュメモリをなくすことができるコストメリットが大きいためである。
また、NANDタイプのフラッシュメモリの大容量化は、半導体プロセスの微細化によるものが大きい。しかし、半導体プロセスの微細化は、メリットばかりではなく、データの信頼性の低下が問題になっている。すなわち、微細化が進むと、データ保持特性は低下し、書き換え処理による特性劣化が進む。
ここで、フラッシュメモリのメモリセルは、MOS(Metal Oxide Semiconductor)タイプトランジスタのコントロールゲートと基盤との間に、電子を不揮発で保持するフローティングゲートを持つ構成をとり、基盤とフローティングゲートとの間で電子をやり取りすることにより、データの消去及び書き込みを行う。また、フラッシュメモリを構成するトランジスタに流れる電流量を判定することにより、フラッシュメモリのメモリセルからデータが読み出される。
上記のように、フラッシュメモリのメモリセルに対して、データの消去及び書き込みを繰り返すと、基盤とフローティングゲートとの間を電子が移動し、基盤とフローティングゲートとの間の絶縁膜(以降、ゲート絶縁膜)が劣化してしまう。ゲート絶縁膜が劣化すると、ゲート絶縁膜中に存在する欠陥を経由してフローティングゲートから基盤に電子が漏れ、ゲート絶縁膜中の欠陥にトラップされた電子の影響で書き込みの効率が低下して、データの信頼性が低下する要因となる。
こういったデメリットはあるが、圧倒的なビット単価を強みとすることができるので、データの信頼性を向上させる工夫を盛り込んででも、微細化の進んだフラッシュメモリの用途は拡がっている。
また、フラッシュメモリのデータの信頼性を検討する上で重要な要素は、データの書き込みに対するメモリセルの取り扱いである。すなわち、2値のメモリセルとしてデータを書き込んでいるのか、多値のメモリセルとしてデータを書き込んでいるのかによって、データの信頼性は大きく異なり、2値のメモリセルとしてデータを書き込む方が、データの信頼性が高くなる。一方、当然であるが、多値のメモリセルとしてデータを書き込む方が、メモリの容量を大きくすることが可能になり、同時にビット単価を低下させることができる。
以上のようなNANDタイプのフラッシュメモリの特徴から、フラッシュメモリに対してデータを格納する際に書き込み方式の異なる複数の書き込み方式を用いることがある。例えば、信頼性に対する要求が高いプログラムコードを2値のメモリセルとして書き込む2値書き込みを行い、容量に対する要求が高いユーザデータを多値のメモリセルとして書き込む多値書き込みを行うことが考えられる。
次に、2値書き込みと多値書き込みとの比較をする。以下、簡単のために、2値書き込みの場合と4値書き込みの場合について、図を用いて説明する。
図12は、2値書き込みした場合のメモリセルのしきい値電圧が、どのように分布するかを示す図である。図12の左側の分布が、消去状態のメモリセルのしきい値電圧の分布を示し、図12の右側の分布が、書き込み状態のメモリセルのしきい値電圧の分布を示している。2値書き込みの場合、メモリセルのしきい値電圧が、左の分布にあるか、右の分布にあるかで1ビットの情報を記憶する。
図13は、4値書き込みした場合のメモリセルのしきい値電圧が、どのように分布するかを示す図である。図13の左側の分布が、消去状態のメモリセルのしきい値電圧の分布を示し、図13の右側の3つの分布が、それぞれ異なった書き込み状態のメモリセルのしきい値電圧の分布を示している。4値書き込みの場合、メモリセルのしきい値電圧が4つの分布のどこにあるかで2ビットの情報を記憶する。
図12及び図13から、2値書き込みの場合のしきい値電圧の分布の間隔1201に比べて、4値書き込みの場合のしきい値電圧の分布の間隔1301は狭くなっている。このように、分布の間隔が狭くなることにより、メモリセルのしきい値電圧の変動に対してのマージンが小さくなる。つまり、4値書き込みの方が、2値書き込みに比べて、データ保持期間が短くなる。
また、2値書き込みの場合のしきい値電圧の分布の幅1202に比べて、4値書き込みの場合のしきい値電圧の分布の幅1302を狭くする必要がある。このように、メモリセルのしきい値電圧の分布を狭くするためには、メモリセルへの書き込みにおける細かな制御を繰り返し実行することが必要となる。結果として、メモリセルへの書き込みストレスを印加する回数が多くなったり、印加する期間が長くなることになり、書き換え時におけるゲート絶縁膜の劣化が進み、書き換え回数が少なくなる。
図14は、8値書き込みの場合のメモリセルのしきい値電圧が、どのように分布するかを示す図である。8値書き込みの場合、4値書き込みの場合に比べてさらに、しきい値電圧の分布の間隔1401と、しきい値電圧の分布の幅1402とがそれぞれ狭くなっていることが分かる。つまり、8値書き込みを行った場合には、書き換え回数はさらに少なく、データ保持期間はさらに短くなる。
また、特許文献1には、2値書き込みの領域と、多値書き込みの領域とを持った不揮発性記憶装置において、メモリセルアレイを2値書き込みの領域として使用する領域と、16値(すなわち、多値)書き込みの領域として使用する領域とに物理的に分割して管理することにより、それぞれの領域において最適なブロック管理を行う技術が示されている。
特開2008−257773号公報
しかしながら、上記の特許文献1のような構成においては、2値書き込みの領域として使用する領域と、16値書き込みの領域として使用する領域とを物理的に区別して管理しているために、2値書き込み領域のみを繰り返し使用した場合に、2値書き込み領域の物理ブロックの書き換え回数のみが増えて劣化していくが、多値書き込み領域の物理ブロックは使用されないために劣化しないままであり、結果として、全体の物理ブロックを均等に使用することができないという課題がある。
また、それぞれの劣化の程度を書き換え回数のみで管理している。そのために、本来は劣化度合いが異なる2値の書き込みと16値の書き込みとについて、共通の劣化の尺度を持ち得ないために、それぞれの領域の相互利用を阻害する要因となる。
本発明の目的は、任意に2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を必要とせず、不揮発性メモリの全てのブロックを有効に利用することが可能な不揮発性メモリコントローラ及び不揮発性記憶装置を提供することである。
本発明に係る不揮発性メモリコントローラは、不揮発性メモリを制御する不揮発性メモリコントローラであって、前記不揮発性メモリは、複数のブロックを含み、前記ブロックは、複数のメモリセルを含み、前記不揮発性メモリにおけるデータの消去単位であり、前記メモリセルは、それぞれNビット(Nは1以上の整数)の情報を記録可能であり、前記メモリセルの特性の劣化量は、記録する情報量に応じて異なり、前記不揮発性メモリコントローラは、前記不揮発性メモリに対してデータの読み出し、書き込み、及び消去の制御を行う制御部と、前記ブロック単位で前記メモリセルの劣化度合いを記録するためのストレステーブルとを備え、前記制御部は、前記ブロックに対する消去のサイクル毎に、前記ストレステーブルに、前記メモリセルに格納する情報量に応じて前記メモリセルの劣化度合いを記録する。
この不揮発性メモリコントローラにおいては、データの消去単位となる不揮発性メモリのブロック単位で、ブロックに対する消去のサイクル毎に、メモリセルに格納する情報量に応じてメモリセルの劣化度合いをストレステーブルに記録しているので、ブロック別に2値書き込みと多値書き込みとが可能な不揮発性記憶装置において、2値書き込みを行った場合の劣化と、多値書き込みを行った場合の劣化とを共通の尺度で管理する仕組みを導入することにより、不揮発性メモリの劣化の均等化を図り、不揮発性メモリの劣化を抑えることができるとともに、不揮発性メモリの全てのブロックを有効に利用することができる。この結果、任意に2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を必要とせず、不揮発性メモリの全てのブロックを有効に利用することができる。
前記メモリセルに記録する情報量は、前記ブロックの単位で同じビット数であることが好ましい。
この場合、メモリセルに記録する情報量がブロックの単位で同じビット数であるので、ブロック単位でデータの消去及び書き込みを行う不揮発性メモリにおいて、2値書き込みを行った場合の劣化と、多値書き込みを行った場合の劣化とを共通の尺度で管理する仕組みを導入することができる。
前記制御部は、前記書き込みの制御において、前記ストレステーブルを参照し、前記メモリセルの劣化度合いが少ないブロックにデータを書き込むことが好ましい。
この場合、書き込みの制御において、ストレステーブルを参照し、メモリセルの劣化度合いが少ないブロックにデータを書き込んでいるので、全てのブロックを均等に使用することができる。
前記制御部は、前記ブロックからデータを消去した後、前記ブロックにデータを書き込む前に、前記ストレステーブルに前記メモリセルの劣化度合いを記録することが好ましい。
この場合、ブロックを消去した後、ブロックにデータを書き込む前に、ストレステーブルにメモリセルの劣化度合いを記録しているので、ブロックに対する消去のサイクル毎に、メモリセルの劣化度合いをストレステーブルに確実に記録することができる。
前記不揮発性メモリコントローラの外部から指定されるアドレスを論理アドレスとし、前記不揮発性メモリの前記ブロックのアドレスを物理アドレスとして、前記論理アドレスと前記物理アドレスとの対応情報を格納するアドレス変換テーブルをさらに備えることが好ましい。
この場合、不揮発性メモリコントローラの外部から指定されるアドレスを論理アドレスとし、不揮発性メモリのブロックのアドレスを物理アドレスとして、論理アドレスと物理アドレスとの対応情報を格納するアドレス変換テーブルを用いて、2値書き込みを行った場合の劣化と、多値書き込みを行った場合の劣化とを共通の尺度で管理しながら、外部から指定される論理アドレスに対応する物理アドレスを有する不揮発性メモリのブロックにデータを書き込むことができる。
前記論理アドレスに対応して、前記メモリセルに記録する情報量を決定するための領域指定テーブルをさらに備えることが好ましい。
この場合、領域指定テーブルを用いて、不揮発性メモリコントローラの外部から指定される論理アドレスに対するメモリセルに記録する情報量を決定することができるので、決定した情報量に応じた書き込み方式でデータを書き込むことができる。この結果、2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を設けることなく、不揮発性メモリの全てのブロックを有効に利用することができる。
前記領域指定テーブルは、前記不揮発性メモリコントローラの外部から書き換え可能なことが好ましい。
この場合、領域指定テーブルの内容を不揮発性メモリコントローラの外部から書き換えることができるので、任意に2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を設けることなく、不揮発性メモリの全てのブロックを有効に利用することができる。
前記メモリセルの劣化度合いは、前記メモリセルに書き込まれたデータの保持期間を基準として決定されることが好ましい。
この場合、メモリセルの劣化度合いが、メモリセルに書き込まれたデータの保持期間を基準として決定されているので、2値書き込み領域及び多値書き込み領域ともに、データの信頼性を向上することができる。
本発明に係る不揮発性記憶装置は、上記いずれかの不揮発性メモリコントローラと、前記不揮発性メモリとを備える。
前記不揮発性メモリは、NANDタイプのフラッシュメモリを含むことが好ましい。
この場合、NANDタイプのフラッシュメモリを用いているので、容量が大きく、低ビットコストの不揮発性記憶装置を提供することができるとともに、データの信頼性を向上することができる。
本発明によれば、任意に2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を必要とせず、不揮発性メモリのブロックを有効に利用することが可能な不揮発性メモリコントローラ及び不揮発性記憶装置を提供することができる。
本発明の一実施の形態のメモリーカードの構成を示す図である。 図1に示すメモリーカードのアドレス変換テーブルの構成の一例を示す図である。 図1に示すメモリーカードの無効ブロックテーブルの構成の一例を示す図である。 図1に示すメモリーカードの領域指定テーブルの構成の一例を示す図である。 図1に示すメモリーカードの劣化度テーブルの構成の一例を示す図である。 図1に示すメモリーカードの書き込み処理のフローチャートである。 図1に示すメモリーカードの劣化度テーブルの更新後の状態の一例を示す図である。 図1に示すメモリーカードのアドレス変換テーブルの更新後の状態の一例を示す図である。 図1に示すメモリーカードの無効ブロックテーブルの更新後の状態の一例を示す図である。 図1に示すメモリーカードの書き込み処理の各処理における各テーブルの参照及び更新の有無を示す図である。 図1に示すメモリーカードのフラッシュメモリ部の書き換え回数とデータ保持期間との関係を示す図である。 2値書き込みした場合のメモリセルのしきい値電圧の分布を示す図である。 4値書き込みした場合のメモリセルのしきい値電圧の分布を示す図である。 8値書き込みした場合のメモリセルのしきい値電圧の分布を示す図である。
以下、図面を参照して、本発明の一実施の形態のメモリーカードについて説明する。図1は、本発明の一実施の形態のメモリーカードの構成を示すブロック図である。
<1.メモリーカードの構成>
メモリーカード101は、外部のホスト機器200と接続され、ホスト機器200と双方向に通信を行うことにより、ホスト機器200からの指示に応じてデータの読み出し及び/又は書き込みを行う。
メモリーカード101は、コントローラ102と、フラッシュメモリ部103とを備える。コントローラ102は、メモリーカード101とホスト機器200とのインターフェースの制御を行うと共に、フラッシュメモリ部103の制御を行う。
フラッシュメモリ部103は、不揮発性メモリの一例であるフラッシュメモリからなる。図示しないが、フラッシュメモリは、NANDタイプのフラッシュメモリであり、複数の物理ブロックからなる。物理ブロックは、複数のメモリセルからなる。物理ブロックは、フラッシュメモリにおけるデータの消去単位である。メモリセルの各々は、それぞれNビット(Nは1以上の整数)の情報を記録可能であり、メモリセルの特性の劣化量は、記録する情報量に応じて異なる。
ここで、メモリーカード101が不揮発性記憶装置の一例であり、コントローラ102が不揮発性メモリコントローラの一例であり、フラッシュメモリ部103が不揮発性メモリの一例である。また、ホスト機器200の一例としては、デジタルカメラ、携帯電話、ビデオレコーダ、コンピュータ等が該当する。
メモリーカード101は、メモリーカード101の外部のホスト機器200からのアドレスを指定したデータの書き込みや読み出しの制御に対応して、フラッシュメモリ部103にデータを書き込み、又は、フラッシュメモリ部103からデータを読み出す。
コントローラ102は、ホストインターフェース部104、フラッシュメモリ制御部105、バッファメモリ106、ECC107、制御部108、アドレス変換テーブル109、無効ブロックテーブル110、不良ブロックテーブル111、領域指定テーブル112、及び劣化度テーブル113を備える。
ホストインターフェース部104は、ホスト機器200とのインターフェースを制御する。フラッシュメモリ制御部105は、フラッシュメモリ部103の制御を行う。バッファメモリ106は、ホスト機器200からの書き込みデータや、ホスト機器200への読み出しデータをフラッシュメモリ部103との間で転送する際に、一時的にデータを格納するための揮発性のバッファメモリである。
ECC107は、ECC(エラー検出訂正)回路であり、フラッシュメモリ部103にデータを書き込む際に付加するECC(Error Correcting Code:誤り訂正符号)を生成し、フラッシュメモリ部103からデータを読み出す際に、読み出したデータの訂正を行う。
制御部108は、図示を省略した配線により各ブロックに接続され、各ブロックの動作を制御することにより、コントローラ102内部全体の制御を行う。また、制御部108は、フラッシュメモリ部103に対してデータの読み出し、書き込み、及び消去の制御を行う。
アドレス変換テーブル109は、ホスト機器200から指定されるアドレス(論理アドレス)と、フラッシュメモリ部103の物理ブロックのアドレス(物理アドレス)との対応を記録する。すなわち、アドレス変換テーブル109は、コントローラ102の外部からの指定されるアドレスを論理アドレスとし、フラッシュメモリ部103の物理ブロックのアドレスを物理アドレスとして、論理アドレスと物理アドレスとの対応情報を格納する。
無効ブロックテーブル110は、フラッシュメモリ部103において有効なデータが書き込まれておらず、且つ、不良ブロックでない(不良ブロックテーブル111で管理されていない)物理ブロックのアドレスのリストを記録する。すなわち、無効ブロックテーブル110は、論理アドレスに対応するデータが格納されておらず、新たなデータの書き込みが可能な物理ブロックの物理アドレスを格納しており、データの書き込みに使用可能な物理ブロックが無効ブロックテーブル110に登録されている。
不良ブロックテーブル111は、フラッシュメモリ部103における不良ブロックの物理アドレスのリストを記録する。
領域指定テーブル112は、ホスト機器200から指定される論理アドレスを複数の領域に分割し、それぞれの分割された領域のデータに対してデータの書き込み方法を示すテーブルである。領域指定テーブル112は、ホスト機器200から指定される論理アドレスに対応して、フラッシュメモリ部103の物理ブロックのメモリセルに記録する情報量を決定するために使用され、コントローラ102の外部、例えば、ホスト機器200からテーブルの内容を書き換え可能に構成されている。
ここで、メモリセルに記録する情報量としては、2値、又は3値以上の多値(例えば、4値、8値、16値)があり、書き込み方式を特定するための書き込み種別の情報として、2値書き込みを示す情報又は多値書き込みを示す情報が、任意の論理アドレス範囲毎に領域指定テーブル112に記憶される。
例えば、領域指定テーブル112は、データを書き換え可能な揮発性メモリ又は不揮発性メモリから構成され、ホスト機器200が、論理アドレス範囲と、当該論理アドレス範囲に適用される書き込み方式を特定するための書き込み種別の情報とを含む領域指定テーブル書き換え命令をメモリーカード101へ送信すると、制御部108は、領域指定テーブル書き換え命令により指定された論理アドレス範囲と、当該論理アドレス範囲に適用される書き込み種別の情報とを領域指定テーブル112に格納する。
なお、複数の多値を使用する場合、多値ごとに当該多値を示す情報を領域指定テーブル112に記録するようにしてもよく、例えば、4値の場合に、4値書き込みを示す情報を記録し、8値の場合に、8値書き込みを示す情報を記録するようにしてもよい。
劣化度テーブル113は、フラッシュメモリ部103に含まれる全ての物理ブロックの劣化度合いを示すテーブルであり、ブロック単位でメモリセルの劣化度合いを記録するためのストレステーブルの一例である。制御部108は、ブロックに対する消去処理のサイクル毎に、劣化度テーブル113に、メモリセルに格納する情報量に応じてメモリセルの劣化度合いを記録する。
<2.各種テーブルの構成例>
図2は、アドレス変換テーブル109の構成の一例を示す図である。アドレス変換テーブル109は、論理ブロックアドレス201の情報と、物理ブロックアドレス202の情報とを対応付けて記憶している。ここで、論理アドレスの範囲を、フラッシュメモリ部103の物理ブロックの容量と等量の単位の論理ブロックに分割し、各論理ブロックを特定するための論理アドレスの情報を、論理ブロックアドレス201の情報とする。一方、物理ブロックアドレス202の情報は、物理ブロックを特定するための物理アドレスの情報である。アドレス変換テーブル109では、1つの論理ブロックアドレス201と、それに対応するフラッシュメモリ部103の物理ブロックアドレス202との組で一つのレコードが構成されている。
例えば、論理ブロックアドレス「0000h」に対応するデータは、物理ブロックアドレス「0000h」の物理ブロックすなわちフラッシュメモリ部103のアドレス「0000h」の物理ブロックに格納され、論理ブロックアドレス「0001h」に対応するデータは、物理ブロックアドレス「0010h」の物理ブロックすなわちフラッシュメモリ部103のアドレス「0010h」の物理ブロックに格納されていることを示す。また、論理ブロックアドレスとして、0000hから1F39hまでの範囲のアドレスが管理されている。
図3は、無効ブロックテーブル110の構成の一例を示す図である。無効ブロックテーブル110は、フラッシュメモリ部103における無効なデータを格納する物理ブロックのアドレスである物理ブロックアドレスの情報、例えば、0123h、0456h、…を記憶している。なお、フラッシュメモリ部103の物理ブロックのアドレスの範囲は、0000h〜1FFFhの範囲とし、2000hは、無効ブロックテーブル110における無効な値として取り扱う。
不良ブロックテーブル111の構成は、上記の無効ブロックテーブル110と同様であり、フラッシュメモリ部103における不良データの物理ブロックのアドレスを格納する。すなわち、不良ブロックテーブル111は、不良ブロックの物理ブロックアドレスの情報を格納し、2000hを無効値として取り扱う。
図4は、領域指定テーブル112の構成の一例を示す図である。領域指定テーブル112では、先頭論理アドレス401の情報と、最終論理アドレス402の情報と、書き込み種別403の情報との組で1つのレコードが構成される。書き込み種別403は、先頭論理アドレス401から最終論理アドレス402までのアドレス領域に対する書き込み種別を定義する。
例えば、先頭論理アドレス401の「0000h」から最終論理アドレス402の「0001h」までの論理アドレスに対応するデータの書き込み種別403の情報は、2値書き込みであり、2値書き込みを表す「2値」が格納される。先頭論理アドレス401の「0002h」から最終論理アドレス402の「1F29h」までの論理アドレスに対応するデータの書き込み種別403は、多値書き込みであり、多値書き込みを表す「多値」が格納される。先頭論理アドレス401の「1F30h」から最終論理アドレス402の「1F39h」までの論理アドレスに対応するデータの書き込み種別403は、2値書き込みであり、2値書き込みを表す「2値」が格納される。
なお、領域指定テーブル112の情報は、メモリーカード101の外部、例えば、ホスト機器200から書き換えることにより、任意に設定可能な構成をとる。また、書き込み種別403として記憶される情報は、上記の例に特に限定されず、メモリーカード101が2値書き込みであるか、多値書き込みであるかを判別可能であれば、種々の情報を用いることができる。
図5は、劣化度テーブル113の構成の一例を示す図である。劣化度テーブル113は、物理ブロックアドレス501の情報と、メモリセルの劣化度合いを表す劣化度合い502の情報とを対応付けて記憶している。ここで、劣化度合い502の情報は、フラッシュメモリ部103の全ての物理ブロックに対応して、その物理ブロックがデータの消去と書き込みとの繰り返しである書き換えストレスによってどの程度劣化しているかを示す値を用いることができる。
例えば、書き込み種別の劣化度合い502の値としては、全く劣化していない状態を初期値となる「00000000h」とし、データの書き換えが行われる毎に、その書き込みが2値書き込みなのか多値書き込みなのかに対応した所定のストレス量(例えば、2値書き込みが「1」、多値書き込みが「3」)を前回の劣化度合いの値に加算する。書き込み種別のフラッシュメモリ部103の物理ブロック「0000h」の劣化度合い502の値は、「00000001h」であり、物理ブロック「0001h」の劣化度合い502の値は、「00000100h」であり、物理ブロック「1FFFh」の劣化度合い502の値は「00000010h」である。
<3.書き込み処理におけるテーブル更新>
次に、領域指定テーブル112と劣化度テーブル113の使用方法を説明するために、メモリーカード101におけるデータの書き込み処理を説明する。図6は、メモリーカード101に対するデータの書き込み処理における制御部108の動作のフローチャートである。メモリーカード101は、ホスト機器200からの論理アドレスを指定した書き込み命令によって書き込み処理を開始する。
まず、処理601を説明する。制御部108は、書き込み先物理ブロックを決定し、書き込み先物理ブロックの消去を行う。具体的には、制御部108は、無効ブロックテーブル110及び劣化度テーブル113を参照して、無効ブロックテーブル110に登録されている物理ブロックアドレスの中から、劣化度テーブル113に示されている劣化度合いが最も少ない物理ブロックアドレスを選択し、選択した物理ブロックアドレスの物理ブロックを書き込み先物理ブロックとして決定する。次に、制御部108は、フラッシュメモリ部103に対して書き込み先物理ブロックの物理アドレスを指定してデータを消去する消去命令を発行し、書き込み先物理ブロックのデータを消去する。
図3及び図5に示す例では、無効ブロックテーブル110に登録されている物理ブロックアドレスのうち、最も劣化度合いの少ない物理ブロックアドレスは、劣化度合いが「00000010h」の物理ブロックアドレス「1FFFh」となり、物理ブロックアドレス「1FFFh」の物理ブロックが書き込み先物理ブロックとなる。なお、物理ブロックアドレス「0000h」の物理ブロックの方が、物理ブロックアドレス「1FFFh」に比べて、劣化度合いが小さいが、物理ブロックアドレス「0000h」は、無効ブロックテーブル110に登録されていないので、物理ブロックアドレス「0000h」の物理ブロックは、選択対象とはならない。
次に、処理602を説明する。制御部108は、劣化度テーブル113の更新を行う。具体的には、制御部108は、領域指定テーブル112を参照して、ホスト機器200から指定された論理アドレスがどの先頭論理アドレスから最終論理アドレスまでの範囲に入るかを判断し、ホスト機器200から指定された論理アドレスが入る範囲に対応する書き込み種別を取得し、取得した書き込み種別に応じて、処理601で決定した書き込み先物理ブロックに対応する劣化度テーブル113の劣化度合いの値を更新する。
例えば、ホスト機器200が指定した論理アドレスが「0001h」であるとすると、制御部108は、論理アドレス「0001h」が含まれる領域の書き込み種別として、2値書き込みを得る。従って、制御部108は、劣化度テーブル113の物理ブロックアドレス「1FFFh」に対応する劣化度合いの値に「1」を加算する。
図7は、更新後の劣化度テーブル113の状態の一例を示している。図7に示すように、劣化度テーブル113の物理ブロックアドレス「1FFFh」に対応する劣化度合いの値は、前回の値「00000010h」に「1」が加算され、「00000011h」となる。なお、書き込み種別に対応した劣化度合いの加算量(ストレス量)については、後で説明する。
次に、処理603を説明する。制御部108は、ホスト機器200からのデータの書き込みを行う。具体的には、制御部108は、ホスト機器200から指定された論理アドレスを基に領域指定テーブル112を参照して、対応する書き込み種別を取得し、取得した書き込み種別を用いて、ホスト機器200から転送される書き込みデータをフラッシュメモリ部103に転送し、処理601で決定した書き込み先物理ブロックアドレス、例えば、「1FFFh」に書き込む。
このとき、ホスト機器200からの書き込みデータが物理ブロック単位に満たないときには、制御部108は、フラッシュメモリ部103に既書き込みのデータを使用して、物理ブロック単位のデータを作成し、このデータをフラッシュメモリ部103に書き込む。このような処理を行う必要があるのは、フラッシュメモリ部103のデータの消去単位でしか、データを書き換えることができないためである。従って、本実施の形態では、メモリセルに記録する情報量は、データの消去単位である物理ブロックの単位で同じビット数となる。
次に、処理604を説明する。制御部108は、アドレス変換テーブル109及び無効ブロックテーブル110の更新を行う。具体的には、制御部108は、ホスト機器200から指定された論理アドレスである論理ブロックアドレスに対応するアドレス変換テーブル109の物理ブロックアドレスと、処理601において選択され、処理603においてホスト機器200からの書き込みデータを書き込んだ物理アドレスである無効ブロックテーブル110の物理ブロックアドレスとを入れ替えて、アドレス変換テーブル109及び無効ブロックテーブル110を更新する。
図8は、更新後のアドレス変換テーブル109の状態の一例を示し、図9は、更新後の無効ブロックテーブル110の状態の一例を示している。図8及び図9に示すように、制御部108は、ホスト機器200が指定した論理ブロックアドレス「0001h」に対応する物理ブロックアドレス「0010h」と、処理601で選択した物理ブロックアドレス「1FFFh」とを交換し、アドレス変換テーブル109の論理ブロックアドレスは、「1FFFh」となり、無効ブロックテーブル110では、「1FFFh」が削除され、新たに「0010h」が追加される。
図10は、図6に示すフローチャートの各処理において、どのテーブルが参照及び更新されるか示している。なお、図10では、テーブルの参照を「R」で示し、テーブルの更新を「W」で示している。
図10に示すように、処理601では、無効ブロックテーブル110及び劣化度テーブル113が参照され、処理602では、領域指定テーブル112が参照され、劣化度テーブル113が更新され、処理603では、領域指定テーブル112が参照され、必要に応じてアドレス変換テーブル109が参照され、処理604では、アドレス変換テーブル109が参照され、アドレス変換テーブル109及び無効ブロックテーブル110が更新される。
<4.劣化度合いの算定>
次に、劣化度テーブル113の劣化度合いの更新における、各書き込み種別における加算値について説明する。加算値を決定するためには、メモリーカード101に使用するフラッシュメモリ部103の特性を評価する必要がある。つまり、メモリーカード101に使用するフラッシュメモリ部103の特性によって、加算値は異なってくる。例えば、フラッシュメモリ部103のデータ保持特性は、フラッシュメモリ部103を製造したプロセスルールやフラッシュメモリメーカーによって異なり、また、2値書き込みか、又は、多値書き込みか、さらに、多値書き込みが4値なのか、8値なのか、16値なのかによっても異なる。
図11は、フラッシュメモリ部103の書き換え回数とデータ保持期間との関係を示す図である。図11では、横軸には書き換え回数を、縦軸にはデータ保持期間をとり、書き換え回数は、2値又は多値を問わず、共通の書き換え回数で示している。また、フラッシュメモリ部103の評価結果として、2値書き込みによる2値書き換えのみを実行した場合を実線で示し、多値書き込みによる多値書き換えのみを実行した場合を破線で示している。
つまり、2値書き込みで10回、100回、1000回、5000回書き換えた後のデータ保持期間をプロットすることにより、2値書き換えの線である実線が引け、また、多値書き込みで10回、100回、1000回、5000回書き換えた後のデータ保持期間をプロットすることにより、多値書き換えの線である破線が引ける。また、書き込み種別である2値書き込みや多値書き込みによらず、共通の書き込み方式でデータを書き込んだ後に、フラッシュメモリ部103のフラッシュメモリを放置して、ビットエラーが所定のビット数に達するまでの期間をデータ保持期間とする。このデータ保持期間の評価は、高温環境で実施する加速評価を行うことが一般的である。
図11に示すように、メモリーカード101の目標とする所定の目標データ保持期間を設定する。次に、2値書き換えの線と多値書き換えの線とが、それぞれ目標データ保持期間と交わる書き換え回数の比を求める。例えば、2値書き込みによる書き換え回数Sが、多値書き込みによる書き換え回数Mの約3倍であるとする。この場合の2値書き換え劣化量及び多値書き換え劣化量を、書き換え回数の逆数の簡単な整数比で設定し、2値書き換え劣化量と多値書き換え劣化量との比に基づいて加算値を決定する。つまり、2値書き換え劣化量:多値書き換え劣化量=1/3:1=1:3となり、2値書き込みを行う場合の加算量として「1」が得られ、多値書き込みを行う場合の加算量として「3」が得られる。
なお、加算量は、上記の例に特に限定されず、種々の変更が可能であり、多値ごとに異なる値を用いてもよく、例えば、4値書き込みを行う場合の加算量や8値書き込みを行う場合の加算量をそれぞれ設定してもよい。この場合、2値書き込みを行う場合の加算量は、4値書き込みを行う場合の加算量より小さく、4値書き込みを行う場合の加算量は、8値書き込みを行う場合の加算量より小さく設定することが好ましい。
以上のような構成のメモリーカード101では、2値書き込みにおける劣化と、多値書き込みにおける劣化とを共通の尺度で管理する仕組みを導入している。それによって、2値書き込みと多値書き込みとが可能なメモリーカード101において、それぞれの書き込みに対する領域を個別に設定する必要がなく、メモリーカード101の劣化の均等化を図り、メモリーカード101の劣化を抑えることができるとともに、メモリーカード101の全ての物理ブロックを有効に利用することができる。結果として、2値書き込みと多値書き込みとが可能なメモリーカード101において、任意に2値書き込み領域と多値書き込み領域とを設けた上で、それぞれの領域に対して物理的な領域制限を必要とせず、全ての物理ブロックを双方の書き込みに対して有効に使用することが可能になる。
本発明は、書き込み種別によって異なる書き込み方法でデータを記憶する不揮発性記憶装置において、全ての物理ブロックの劣化を均等化することができ、結果として、データの信頼性を実効的に向上することが可能なユーザ利便性の高い不揮発性記憶装置を提供することができるので、不揮発性メモリを用いた不揮発性記憶装置、及び不揮発性メモリを制御する不揮発性メモリコントローラに有用である。
101 メモリーカード
102 コントローラ
103 フラッシュメモリ部
104 ホストインターフェース部
105 フラッシュメモリ制御部
106 バッファメモリ
107 ECC
108 制御部
109 アドレス変換テーブル
110 無効ブロックテーブル
111 不良ブロックテーブル
112 領域指定テーブル
113 劣化度テーブル

Claims (10)

  1. 不揮発性メモリを制御する不揮発性メモリコントローラであって、
    前記不揮発性メモリは、複数のブロックを含み、
    前記ブロックは、複数のメモリセルを含み、前記不揮発性メモリにおけるデータの消去単位であり、
    前記メモリセルは、書き込み種別として2値書き込みと多値書き込みとが可能であり、それぞれNビット(Nは1以上の整数)の情報を記録可能であり、
    前記メモリセルの特性の劣化量は、記録する情報量に応じて異なり、
    前記不揮発性メモリコントローラは、
    前記不揮発性メモリに対してデータの読み出し、書き込み、及び消去の制御を行う制御部と、
    前記ブロック単位で前記メモリセルの劣化度合いを記録するためのストレステーブルとを備え、
    前記制御部は、前記ストレステーブルの劣化度合いの値に、前記書き込み種別に対応した劣化度合いの加算量を加算することにより、前記ブロックに対する消去のサイクル毎に、前記ストレステーブルに、前記メモリセルに格納する情報量に応じて前記メモリセルの劣化度合いを記録することを特徴とする不揮発性メモリコントローラ。
  2. 前記メモリセルに記録する情報量は、前記ブロックの単位で同じビット数であることを特徴とする請求項1記載の不揮発性メモリコントローラ。
  3. 前記制御部は、前記書き込みの制御において、前記ストレステーブルを参照し、前記不揮発性メモリ前記メモリセルの劣化度合いが少ないブロックにデータを書き込むことを特徴とする請求項1記載の不揮発性メモリコントローラ。
  4. 前記制御部は、前記ブロックからデータを消去した後、前記ブロックにデータを書き込む前に、前記ストレステーブルに前記メモリセルの劣化度合いを記録することを特徴とする請求項1記載の不揮発性メモリコントローラ。
  5. 前記不揮発性メモリコントローラの外部から指定されるアドレスを論理アドレスとし、前記不揮発性メモリの前記ブロックのアドレスを物理アドレスとして、前記論理アドレスと前記物理アドレスとの対応情報を格納するアドレス変換テーブルをさらに備えることを特徴とする請求項1記載の不揮発性メモリコントローラ。
  6. 前記論理アドレスに対応して、前記メモリセルに記録する情報量を決定するための領域指定テーブルをさらに備えることを特徴とする請求項5記載の不揮発性メモリコントローラ。
  7. 前記領域指定テーブルは、前記不揮発性メモリコントローラの外部から書き換え可能なことを特徴とする請求項6記載の不揮発性メモリコントローラ。
  8. 前記メモリセルの劣化度合いは、前記メモリセルに書き込まれたデータの保持期間を基準として決定されることを特徴とした請求項1記載の不揮発性メモリコントローラ。
  9. 請求項1から8のいずれか1項に記載の不揮発性メモリコントローラと、
    前記不揮発性メモリとを備えることを特徴とする不揮発性記憶装置。
  10. 前記不揮発性メモリは、NANDタイプのフラッシュメモリを含むことを特徴とする請求項9記載の不揮発性記憶装置。
JP2011039857A 2010-03-25 2011-02-25 不揮発性メモリコントローラ及び不揮発性記憶装置 Expired - Fee Related JP5612508B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011039857A JP5612508B2 (ja) 2010-03-25 2011-02-25 不揮発性メモリコントローラ及び不揮発性記憶装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010069602 2010-03-25
JP2010069602 2010-03-25
JP2011039857A JP5612508B2 (ja) 2010-03-25 2011-02-25 不揮発性メモリコントローラ及び不揮発性記憶装置

Publications (2)

Publication Number Publication Date
JP2011222107A JP2011222107A (ja) 2011-11-04
JP5612508B2 true JP5612508B2 (ja) 2014-10-22

Family

ID=44657644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011039857A Expired - Fee Related JP5612508B2 (ja) 2010-03-25 2011-02-25 不揮発性メモリコントローラ及び不揮発性記憶装置

Country Status (2)

Country Link
US (1) US8583858B2 (ja)
JP (1) JP5612508B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8892808B2 (en) * 2011-04-22 2014-11-18 Hewlett-Packard Development Company, L.P. Retention-value associated memory
JP5659178B2 (ja) * 2012-03-16 2015-01-28 株式会社東芝 不揮発性記憶装置及び不揮発性メモリの制御方法
JP6104676B2 (ja) * 2013-04-01 2017-03-29 株式会社東芝 メモリシステム、制御システムおよび寿命予測方法
JP6266479B2 (ja) * 2014-09-12 2018-01-24 東芝メモリ株式会社 メモリシステム
KR102282962B1 (ko) 2014-12-22 2021-07-30 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR102637160B1 (ko) 2016-04-14 2024-02-19 삼성전자주식회사 불휘발성 메모리 장치 및 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
JPH09330598A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp 記憶装置及びその特性劣化状態判定方法
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
JP4688584B2 (ja) * 2005-06-21 2011-05-25 株式会社日立製作所 ストレージ装置
US7853749B2 (en) * 2005-09-01 2010-12-14 Cypress Semiconductor Corporation Flash drive fast wear leveling
US7752382B2 (en) * 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7827346B2 (en) * 2006-08-14 2010-11-02 Plankton Technologies, Llc Data storage device
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
JP2008257773A (ja) 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
US7882301B2 (en) * 2007-05-09 2011-02-01 Stmicroelectronics S.R.L. Wear leveling in storage devices based on flash memories and related circuit, system, and method
JP5259138B2 (ja) * 2007-08-15 2013-08-07 株式会社日立超エル・エス・アイ・システムズ 記憶装置
US7941592B2 (en) * 2008-08-14 2011-05-10 Bonella Randy M Method and apparatus for high reliability data storage and retrieval operations in multi-level flash cells

Also Published As

Publication number Publication date
US8583858B2 (en) 2013-11-12
US20110238895A1 (en) 2011-09-29
JP2011222107A (ja) 2011-11-04

Similar Documents

Publication Publication Date Title
KR101454817B1 (ko) 반도체 메모리 장치 및 그것의 마모도 관리 방법
US9448868B2 (en) Data storing method, memory control circuit unit and memory storage apparatus
US20170160942A1 (en) Data storage device and flash memory control method
US9665481B2 (en) Wear leveling method based on timestamps and erase counts, memory storage device and memory control circuit unit
US8493782B2 (en) Memory device and program method thereof
JP5612508B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
JP2008123330A (ja) 不揮発性半導体記憶装置
US10126970B2 (en) Paired metablocks in non-volatile storage device
JP2008009919A (ja) カードコントローラ
US7773417B2 (en) Semiconductor memory device with memory cell having charge accumulation layer and control gate and memory system
US20160078966A1 (en) Method of performing wear management in non-volatile memory devices
US11163494B2 (en) Memory system, memory controller and operating method
JP2009048680A (ja) 記憶装置
KR20210026431A (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
JP6730604B2 (ja) 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法
KR20220105303A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP5494086B2 (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
CN115145755A (zh) 用于重新映射存储器子系统中的不良块的系统和方法
US11360885B2 (en) Wear leveling based on sub-group write counts in a memory sub-system
US11487655B2 (en) Method for managing flash memory module and associated flash memory controller and electronic device based on timing of dummy read operations
CN105761754B (zh) 存储单元编程方法、存储器控制电路单元与存储装置
JP2021026448A (ja) 記憶部システム、記憶部制御装置および記憶部制御方法
US11789861B2 (en) Wear leveling based on sub-group write counts in a memory sub-system
US20230031193A1 (en) Memory system and operating method thereof
US11288007B2 (en) Virtual physical erase of a memory of a data storage device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140904

R151 Written notification of patent or utility model registration

Ref document number: 5612508

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees