JP5299493B2 - メモリシステム - Google Patents

メモリシステム Download PDF

Info

Publication number
JP5299493B2
JP5299493B2 JP2011242648A JP2011242648A JP5299493B2 JP 5299493 B2 JP5299493 B2 JP 5299493B2 JP 2011242648 A JP2011242648 A JP 2011242648A JP 2011242648 A JP2011242648 A JP 2011242648A JP 5299493 B2 JP5299493 B2 JP 5299493B2
Authority
JP
Japan
Prior art keywords
wear leveling
rewritten
data
block
address
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
JP2011242648A
Other languages
English (en)
Other versions
JP2012022725A (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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2011242648A priority Critical patent/JP5299493B2/ja
Publication of JP2012022725A publication Critical patent/JP2012022725A/ja
Application granted granted Critical
Publication of JP5299493B2 publication Critical patent/JP5299493B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、不揮発性半導体記憶装置を用いたメモリメモリシステムに係り、特に頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域が混在するメモリシステムにおけるウェアー・レベリング(Wear-leveling)制御方式の改善技術に関するものである。
半導体記憶装置の一つとして、電気的書き換えを可能としたフラッシュメモリが知られている。なかでも、メモリセルを複数個直列接続してNANDセル・ブロックを構成するNAND型フラッシュメモリは、高集積化ができるものとして注目されている。
NAND型フラッシュメモリの1つのメモリセルは、半導体基板上に絶縁膜を介して浮遊ゲート(電荷蓄積層)と制御ゲートが積層されたFETMOS構造を有し、複数個のメモリセルが隣接するもの同士でソース・ドレインを共有する形で直列接続されてNANDセルを構成する。このようなNANDセルがマトリクス配列されてメモリセルアレイが構成される。
メモリセルアレイの列方向に並ぶNANDセルの一端側のドレインは、それぞれ選択ゲートトランジスタを介してビット線に共通接続され、他端側ソースはやはり選択ゲートトランジスタを介して共通ソース線に接続されている。メモリセルトランジスタのワード線及び選択ゲートトランジスタのゲート電極は、メモリセルアレイの行方向にそれぞれワード線(制御ゲート線)、選択ゲート線として共通接続されている。
このようなNAND型フラッシュメモリは、たとえば非特許文献1,2に開示されている。
図1は、2値2GbitNAND型フラッシュメモリのブロックおよびページ配置を示す図である。
図1に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
また、上記のようなNAND型フラッシュメモリを用いたシステムとしては、たとえば特許文献1,2,3に開示されたシステムが知られている。
フラッシュメモリを用いたメモリシステムにおいて、特定物理アドレスブロックに書き換えが集中しないようにウェアー・レベリング(Wear-leveling)制御を行っている。
フラッシュメモリは、記憶データを書き換える際に書き込みの前に消去を行わないとならない。そして、既に不必要となった古いブロックを予め消去しておき、その消去されたブロックに新しいデータを書き込み、そのブロックの論理ブロックアドレスを更新する。
一方、NAND型フラッシュメモリの書き換え回数寿命は、一つのメモリセルに1ビットのデータを格納する2値品で、0.3〜1×10回と言われている。
したがって、ウェアー・レベリング制御とは、ある特定の物理アドレスのブロックに書き換えが集中しないように制御することを目的としている。
ウェアー・レベリング制御には、大きくは二通りの方式がある。
書き換えを行わない物理アドレスのブロックは、そのまま放置しておき、書き換えを行う物理アドレスのブロックのみを書き換えを行う際に消去済みの任意の物理アドレスのブロックと交換して行き、自動的にウェアー・レベリング制御が行えるようにしたパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御方式と、書き換えを行わない物理アドレスのブロックも含め、全ての物理アドレスのブロックにおいて、書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御方式と、がある。
アクティブ・ウェアー・レベリング制御に関しては、たとえば、特許文献4に開示されている。
E. Harari et al., “Flash EEPROM System,” USP5,602,987, Feb. 11, 1997. P. Estakhri et al., “Moving Sectors Within A Block Of Information In A Flash Memory Mass Storage Architecture,” USP5,907,856, May 25, 1999. D. Moran et al., “Flash Memory System Providing Both Bios and User Storage Capability,” USP5,519,843, May 21, 1996. K. M. J. Lofgren al., “Wear Leveling Techniques for Flash EEPROM Systems,” USP6,594,183 B1, Jul. 15, 2003.
K.-D. Suh et al., "A 3.3V 32Mb NAND Flash Memory with Incremental Step Pulse Programming Scheme," IEEE J. Solid-State Circuits, vol.30, pp.1149-1156, Nov. 1995. Y. Iwata et al., "A 35ns Cycle Time 3.3V Only 32Mb NAND Flash EEPROM," IEEE J. Solid-State Circuits, vol.30, pp.1157-1164, Nov. 1995.
ところで、特許文献4においては、「書き換えを重ねるうちに、書き換え回数の不均一性が生じる不揮発性メモリシステムにおいて、互いに消去可能な複数のメモリセルグループに分かれた構成で、ホストから第1の論理アドレスとデータを受け取り、第1の論理アドレスを第1の物理アドレスへの論物変換を行い、第1の物理アドレスへデータを書き込む。さらに第2のデータと第1の論理アドレスをホストから受けた際に、第1の消去単位があらかじめ定めた書き換え回数を上回っているときに、第1の論理アドレスを異なるメモリセルグループの第2の物理アドレスへ変換する。」という定義がある。
したがって、アクティブ・ウェアー・レベリング制御においては、書き換えを行う必要の無いブロックにおいても平均的に書き換えが行われる。これは、結果として、不必要に多くの書き換えを行ってしまう場合がある。
図2および図3は、NAND型フラッシュメモリの実使用の例を示す図である。そして、図2は、NAND型フラッシュメモリ容量の大半のブロックが、頻繁に書き換えを行うブロックWBLKで占められている場合を、また、逆に図3は、NAND型フラッシュメモリ容量の大半のブロックが、殆ど書き換えを行わないブロックREWBLKで占められている場合をそれぞれ示している。
図2の場合は、アクティブ・ウェアー・レベリング制御を行ってしまうと、大半のブロックが書き換えを頻繁に行って自動的にウェアー・レベリング制御を行っているにもかかわらず、さらに全てのブロックにおいて書き換え回数を平均化するために不必要な書き換えを行ってしまい、この結果、書き換え回数寿命に全体のブロックが早く到達してしまう。
一方、図3の場合は、パッシブ・ウェアー・レベリング制御を行ってしまうと、自動的にウェアー・レベリングが行われるのは、頻繁に書き換えを行う数少ないブロックに対してであり、これらのブロックは直ぐに書き換え回数寿命に達してしまう。
したがって、図2の場合には、パッシブ・ウェアー・レベリング制御が、また、図3の場合には、アクティブ・ウェアー・レベリング制御が最適と言える。
また、図4は、たとえば2048個のブロックがあり、その幾つかが消去済みブロックERDBLKになっている場合を示す図である。
この際、データ書き換えを行う場合、まず消去済みブロックERDBLKを探すのであるが、物理ブロックのアドレスが小さい順に探していくため、どうしても物理ブロックのアドレスが小さいブロックに書き換えが集中し、書き換え回数が多くなってしまう不利益がある。
本発明の目的は、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、システムの書き換え回数の実効的な寿命を大幅に改善することが可能なメモリシステムを提供することにある。
本発明の第1の観点は、不揮発性半導体記憶装置を用いたメモリシステムであって、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、制御部と、を有し、上記制御部は、上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する。
好適には、上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく。
好適には、上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている。
好適には、制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う。
本発明の第2の観点は、不揮発性半導体記憶装置を用いたメモリシステムにおいて、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部と、を有し、上記制御部は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、上記不揮発性メモリ部には、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されている。
好適には、上記制御部は、上記不揮発性メモリ部の半分以上のブロックに書き換えを頻繁に行わないデータを格納する場合には、上記アクティブ・ウェアー・レベリング制御方式を選択し、上記不揮発性メモリ部の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、上記パッシブ・ウェアー・レベリング制御方式を選択する。
好適には、ページバッファを有し、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される。
好適には、上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である。
本発明によれば、頻繁に書き換えを行う第1データ領域と殆ど書き換えを行わない第2データ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、不揮発性半導体記憶装置を用いたメモリシステムの書き換え回数の実効的な寿命を大幅に改善することができる。
システムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
一般的な2値2GbitNAND型フラッシュメモリのブロックおよびページ配置例を示す図である。 NAND型フラッシュメモリの実使用の例を示す図であって、NAND型フラッシュメモリ容量の大半のブロックが、頻繁に書き換えを行うブロックで占められている場合を示す図である。 NAND型フラッシュメモリの実使用の例を示す図であって、NAND型フラッシュ、メモリ容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示すである。 一般的なフラッシュメモリにおける消去済みブロックの例を示す図である。 本発明の実施形態に係るメモリシステム(記憶装置)を示す構成図である。 本実施形態に係るNAND型フラッシュメモリにおけるデータ領域の構成例を示す図である。 図6の対応する論理ブロックアドレスLAを物理ブロックアドレスPAに変換して見た例を示す図である。 殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2にフラグ*を設けた例を示す図である。 頻繁に書き換えを行うデータを格納している論理ブロックアドレスLA1にフラグ*を設けた例を示す図である。 殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2および頻繁に書き換えを行うデータを格納している論理ブロックアドレスLA1にフラグ*を設けた例を示す図である。 消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化されるようにした例を示す図である。 本実施形態に係るNAND型フラッシュメモリの1ブロックにおけるメモリセルアレイおよびロウデコーダを示す図である。 アクティブ・ウェアー・レベリングおよびパッシブ・ウェアー・レベリングの条件設定値をNAND型フラッシュメモリに格納しておく例を示す図である。 第1データ領域への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。 図14の処理フローにおいて、第1データ領域B(111)の論理ブロックB−3に書き換えがあった場合の書き換え前と後の状態を示す図である。 図14の処理フローにおいて、図15のように第1データ領域B(111)の論理ブロックB−3に書き換え後に、論理ブロックB−4に書き換えがあった場合の書き換え前と後の状態を示す図である。 第1データ領域への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。 書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
以下、本発明の実施形態を図面に関連付けて説明する。
図5は、本発明の実施形態に係るメモリシステム(記憶装置)を示す構成図である。
図5のメモリシステム(記憶装置)10は、不揮発性メモリ部としてのNAND型フラッシュメモリ11、ページバッファ12、制御部13、インターフェース回路(I/F)14、および内部データバス15を、主構成要素として有している。
メモリシステム10は、内部データバス15には、たとえば16ビットの入出力を持つ1チップのNAND型フラッシュメモリ11が並列接続されている。
ページバッファ12は、アクセスされたページデータを内部バス15を介して一時記憶するものであり、外部とのインターフェース回路14に接続されている。
制御部13は、改善したウェアー・レベリング制御方式に基づき、フラッシュメモリ11へのアクセス制御を行い、後で説明するように、フラッシュメモリ11における頻繁に書き換えを行う第1データ領域と、殆ど書き換えを行わない第2データ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御を実現している。
本実施形態のNAND型フラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111と殆ど書き換えを行わない第2データ領域112とを有する。
そして、フラッシュメモリ11は、制御部13により、頻繁に書き換えを行うデータ領域の新しい書き換え先の物理ブロックアドレス(PA:PHISICAL ADDRESS)は、殆ど書き換えを行わない第2データ領域の論理ブロックドレス(LA:LOGICAL ADDRESS)が順次選択され、その論理ブロックアドレスLAに対応する物理ページアドレスPAに更新される。
図6は、本実施形態に係るNAND型フラッシュメモリにおけるデータ領域の構成例を示す図である。
図6に示すように、本実施形態のフラッシュメモリ11は、頻繁に書き換えを行う第1データ領域111、および殆ど書き換えを行わない第2データ領域112を有している。
図6の例では、フラッシュメモリ11の記憶容量の大半のブロックが、殆ど書き換えを行わないブロックで占められている場合を示している。なお、図2は、論理ブロックアドレスLAで示した例である。
図7は、図6の対応する論理ブロックアドレスLAを物理ブロックアドレスPAに変換して見た例を示す図である。
図7においては、頻繁に書き換えを行う第1データ領域111の新しい書き換え先の物理ブロックアドレスPAは、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAを順次選択し、その論理ブロックアドレスLAに対応する物理ブロックアドレスPAに更新される様子が示されている。
また、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わない第2データ領域112の論理ブロックアドレスLAに格納されたデータは、消去済みのブロックにコピーされた後、コピー元のブロックは消去しておくように制御され、管理される。
そして、本実施形態のNAND型フラッシュメモリ11は、殆ど書き換えを行わないデータを格納している第2データ領域112の論理ブロックアドレスLA2、若しくは、頻繁に書き換えを行うデータを格納している第1領域111の論理ブロックアドレスLA1、若しくは、それぞれにはフラグを設けており、それぞれを識別可能にしている。
また、図8は、殆ど書き換えを行わないデータを格納している論理ブロックアドレスLA2にフラグ*を設けた例を示しており、図9は、頻繁に書き換えを行うデータを格納している論理ブロックアドレスにLA1フラグ*を設けた例を示しており、図10は、それぞれにはフラグを設けた例を示している。
また、本実施形態のNAND型フラッシュメモリ11において、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化される。
図11は、消去済みのブロックに消去後すぐに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、消去済み論理ブロックアドレスに従って、順次書き換えを行い、特定の物理ブロックに書き換えが集中し、特定の物理ブロックの書き換え回数のみが増加しないように平均化されるようにした例を示している。
図11は、2値2GbitNAND型フラッシュメモリのブロックおよびページ配置を示している。
図11に示すように、2Gbitチップには、128KBのブロックBLKが2048個あり、2Gb=256MB=128KB×2048で構成されている。また、各ブロックBLK0〜BLK2047には、2KBのページが64個あり、128KB=2KB×64で構成されている。
ここで、以上のようにデータ領域が第1データ領域111と第2データ領域112とを有し、制御部13の制御下でアクセスされるNAND型フラッシュメモリ11の具体的な構成例について説明する。
図12は、本実施形態に係るNAND型フラッシュメモリの1ブロックにおけるメモリセルアレイおよびロウデコーダを示す図である。
メモリセルアレイ113は、図12に示すように、直列に接続された複数、たとえば16個のメモリセルトランジスタM0〜M15およびその両端に直列に接続された2個の選択ゲートトランジスタST0,ST1により構成されたメモリセルユニット(メモリセルユニット)MCUT00,MCUT01,MCUT04223がマトリクス状に配置されている。
なお、図12では、図面の簡単化のため、1行4224列の4224個のメモリセルユニットMCUT00〜MCUT04223が配列された1行のブロックBLK0のみについて示しているが、実際には、ブロックBLK0と同様の構成を有する複数(m個)のブロックBLK1〜BLKmがさらに配列される。
また、図12の例では、ビット線本数は、通常512バイトに予備の16バイトを加えた528バイト、つまり4224本としている。
メモリセルユニットMCUT00のメモリセルトランジスタM0のドレインに接続された選択ゲートトランジスタST0がビット線BL0に接続され、メモリセルユニットMCUT01のメモリセルトランジスタM0のドレインがビット線BL1に接続され、同様にして、メモリセルユニットMCUT04223のメモリセルトランジスタM0のドレインがビット線BL4223に接続されている。
また、各メモリセルユニットMCUT00〜04223のメモリセルトランジスタM15のソースが接続された選択ゲートトランジスタST1が共通のソース線SRLに接続されている。
また、同一行に配置されたメモリセルユニットMCUT00,MCUT01〜MCUT04223のメモリセルトランジスタのゲート電極が共通のワード線WL0〜WL15に接続され、選択ゲートトランジスタST0のゲート電極が共通の選択ゲート線DSGに接続され、選択ゲートトランジスタST1のゲート電極が共通の選択ゲート線SSGに接続されている。
ロウデコーダ114は、ブロックアドレスデコーダ115により導通状態が制御される転送ゲート群1141、図示しないワード線デコーダから供給されるワード線および選択ゲート線用駆動電圧供給線VCG0〜VCG15,VDSG,VSSGを有している。
なお、図12では、図面の簡単化のため、ブロックBLK0に対応するブロックアドレスデコーダ部分並びに転送ゲート群を示しているが、実際には、複数配列される図示しないブロックに対応してブロックアドレスデコーダ部分並びに転送ゲート群が設けられる。
ロウデコーダ114は、ワード線(制御ゲート線)を選択する機能を有し、リード(読み出し)、ライト(書き込み、プログラム)、あるいはイレーズ(消去)の動作を示すコントロール信号に応じて、アドレスレジスタに保持されたアドレスから動作に応じて図示しない昇圧回路により昇圧されたあるいは昇圧されていない電源電圧Vccまたはそれ以下の駆動電圧が駆動電圧供給線VCG0〜VCG15,VDSG,VSSGに供給する。
転送ゲート群1141は、転送ゲートTW0〜TW15,TD0およびTS0により構成されている。
転送ゲート群11141は、ブロックアドレスデコーダ115でデコードされたブロックアドレスに応答して生成され、対応するブロックの選択ゲート線およびワード線を駆動するための信号BSELによって導通状態に保持させる。
具体的には、ブロックBLK0がアドレス指定されていた場合、各転送ゲートTW0〜TW15は、それぞれブロックアドレスデコーダ115の出力信号BSEL0に応じてワード線WL0〜WL15と駆動電圧供給線VCG0〜VCG15とを作動的に接続し、転送ゲートTD0,TS0は同じくブロックアドレスデコーダ19の出力信号BSEL0に応じて選択ゲート線DSG,SSGと駆動電圧供給線VDSG,VSSGとを作動的に接続する。
ブロックアドレスデコーダ115は、図示しないアドレスレジスタの保持されたアドレスからブロックアドレスをデコードし、デコードしたブロックアドレスに応答して、ロウデコーダ114の対応するブロックの選択ゲート線およびワード線を駆動するための転送ゲート群2221を信号BSELによって導通状態に保持させる。
図1のページバッファ12は、フラッシュメモリ11のメモリセルアレイ113からのリードデータ(読み出しデータ)あるいはメモリセルアレイ11へのライトデータ(書き込みデータ)をページ単位でラッチする。
そして、ページバッファ12には、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的に読み出される。
本実施形態のメモリシステム10において、制御部13は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とを行う。
パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリン制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値をフラッシュメモリ11に格納しておき、ユーザが自由に両ウェアー・レベリング制御の方式選択および条件設定を行えるように構成される。
そして、このパッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、フラッシュメモリ11の第一のページに格納され、電源投入時に自動的にページバッファ12に読み出される。
制御部13は、フラッシュメモリに対して特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、フラッシュメモリ11の半分以上のブロックに、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択する。
一方、制御部13は、フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択する。
図13は、アクティブ・ウェアー・レベリングおよびパッシブ・ウェアー・レベリングの条件設定値をNAND型フラッシュメモリに格納しておく例を示す図である。
たとえば、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行わないデータを格納する場合には、アクティブ・ウェアー・レベリング制御方式を選択し、一方、NAND型フラッシュメモリ11の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、パッシブ・ウェアー・レベリング制御方式を選択されるように両ウェアー・レベリングの条件設定値をNAND型フラッシュメモリ11に格納しておく。
また、図13において、パッシブ・ウェアー・レベリング制御およびアクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、NAND型フラッシュメモリの第一のページに格納され、電源投入時に自動的にページバッファ13に読み出されることを示している。
次に、制御部13におけるウェアー・レベリング(Wear-leveling)制御動作について説明する。
ここでは、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合、および書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を例について順を追って説明する。
まず、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明する。
図14は、第1データ領域111への書き換え時に毎回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
なお、以下は、第1データ領域111をデータ領域Bとし、第2データ領域112をデータ領域Aとして説明する。
この場合、処理済物理ブロックXを取得し(ST1)、データ書き換えはデータ領域B(第1データ領域111)であるか否かの判別を行う(ST2)。
ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST3)。
次に、物理ブロックYを消去する(ST4)、書き換えデータを物理ブロックYへ書き込む(ST5)。
一方、ステップST2において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST6)。
ステップST5またはステップST6の処理後、書き換えデータに対応した物理ブロックZを消去する(ST7)。
図15は、図14の処理フローにおいて、第1データ領域B(111)の論理ブロックB−3に書き換えがあった場合の書き換え前と後の状態を示す図である。
図15の例においては、第1データ領域B(111)が論理ブロックB−1〜B−mを含み、第2データ領域A(112)が論理ブロックA−1〜A−nを含む場合である。
第2データ領域A(112)の論理ブロックA−1〜A−nが物理ブロック1〜nとなり、第1データ領域B(111)が論理ブロックB−1〜B−mが物理ブロック(n+1)〜(n+m)となり、開き領域が物理ブロック(n+m+1)〜(n+m+k)となっている。
この書き換え前の状態から、第1データ領域B(111)の論理ブロックB−3を書き換えする場合には、第2データ領域A(112)の論理ブロックA−1に対応する物理ブロックも一緒に入れ替える。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+1)であり、第2データ領域A(112)の物理ブロックは1であり、書き換えデータに対応していた物理ブロックZは(n+3)であり、この物理ブロック(n+3)は空領域となる。
図16は、図14の処理フローにおいて、図15のように第1データ領域B(111)の論理ブロックB−3に書き換え後に、論理ブロックB−4に書き換えがあった場合の書き換え前と後の状態を示す図である。
図15の書き換え後に生じた書き換え前の状態から、第1データ領域B(111)の論理ブロックB−4を書き換えする場合には、第2データ領域A(112)の論理ブロックA−2に対応する物理ブロックも一緒に入れ替える。
この例の書き換え後の状態では、消去済物理ブロックXは(n+m+2)であり、第2データ領域A(112)の物理ブロックは2であり、書き換えデータに対応していた物理ブロックZは(n+4)であり、この物理ブロック(n+4)は空領域となる。
次に、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明する。
図17は、第1データ領域111への書き換え時にN回に1回アクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
この場合、処理済物理ブロックXを取得し(ST11)、データ書き換えはデータ領域B(第1データ領域111)であるか否かの判別を行う(ST12)。
ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)であると判別すると、所定数Jが0になったか否かの判別を行う(ST13)。
ステップST13においてJが0に達したと判別すると、Jから1をデクリメントして次の処理に移行する。
ステップST13においてJが0に達したと判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST15)。
次に、物理ブロックYを消去する(ST16)、書き換えデータを物理ブロックYへ書き込む(ST17)。そして、JをNとする(ST18)。
一方、ステップST12において、データを書き換えるべき領域がデータ領域B(第1データ領域111)でないと判別した場合、またはステップST14でJから1からデクリメントした場合には、書き換えデータを物理ブロックXへ書き込む(ST19)。
ステップST18またはステップST19の処理後、書き換えデータに対応した物理ブロックZを消去する(ST20)。
次に、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明する。
図18は、書き換え時にホストコマンドによりアクティブ・ウェアー・レベリングを行う場合を説明するためのフローチャートである。
この場合、処理済物理ブロックXを取得し(ST21)、データ書き換えはアクティブ・ウェアー・レベリングであるか否かの判別を行う(ST22)。
ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングであると判別すると、データ領域A(第2データ領域112)に対応する物理ブロックYのデータを消去済物理ブロックXへ移動する(ST23)。
次に、物理ブロックYを消去する(ST24)、書き換えデータを物理ブロックYへ書き込む(ST25)。
一方、ステップST22において、データ書き換えがアクティブ・ウェアー・レベリングでないと判別すると、書き換えデータを物理ブロックXへ書き込む(ST26)。
ステップS2T5またはステップST26の処理後、書き換えデータに対応した物理ブロックZを消去する(ST27)。
以上説明したように、本実施形態によれば、頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含むフラッシュメモリ11と、頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、この選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部13と、を有し、制御部13は、特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、フラッシュメモリ11には、パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されていることから、以下の効果を得ることができる。
すなわち、不揮発性半導体記憶装置を用いたシステムにおいて、ウェアー・レベリング制御方式を大幅に改善することができ、頻繁に書き換えを行うデータ領域と殆ど書き換えを行わないデータ領域とが混在するデータを格納している際にも常に最適なウェアー・レベリング制御が行うことが可能となり、不揮発性半導体記憶装置を用いたメモリシステムの書き換え回数の実効的な寿命を大幅に改善することができる利点がある。
メモリシステムの書き換え回数が増加することにより、より信頼性の高いシステムを提供できることは言うまでも無く、さらに書き換え回数寿命が延びたことにより、システムの低コスト化に繋がる。
10・・・メモリシステム、11・・・不揮発性メモリ部としてのNAND型フラッシュメモリ12・・・ページバッファ、13・・・制御部、14・・・インターフェース回路(I/F)、15・・・内部データバス。

Claims (10)

  1. 不揮発性半導体記憶装置を用いたメモリシステムであって、
    頻繁に書き換えを行う第1データ領域および殆ど書き換えを行わない第2データ領域を含む不揮発性メモリ部と、
    上記頻繁に書き換えを行う第1データ領域の新しい書き換え先の物理ブロックアドレスを、上記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスを順次選択し、当該選択した論理ブロックアドレスに対応する物理ブロックアドレスに更新する制御部と、を有し、
    上記制御部は、
    特定物理アドレスブロックに書き換えが集中しないウェアー・レベリング(Wear-leveling)制御を行う際、書き換えを行わない物理アドレスブロックは、そのまま放置しておくパッシブ・ウェアー・レベリング(Passive-wear-leveling)制御と、書き換えを行わない物理アドレスブロックも全ての物理アドレスブロックの書き換え回数が平均化されるように書き換えを行うアクティブ・ウェアー・レベリング(Active-wear-leveling)制御とが可能であり、
    上記不揮発性メモリ部には、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値が格納されている
    メモリシステム。
  2. 上記制御部は、
    上記不揮発性メモリ部の半分以上のブロックに書き換えを頻繁に行わないデータを格納する場合には、上記アクティブ・ウェアー・レベリング制御方式を選択し、
    上記不揮発性メモリ部の半分以上のブロックには、書き換えを頻繁に行うデータを格納する場合には、上記パッシブ・ウェアー・レベリング制御方式を選択する
    請求項1記載のメモリシステム。
  3. ページバッファを有し、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
    請求項1記載のメモリシステム。
  4. ページバッファを有し、
    上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、若しくは、両ウェアー・レベリングの条件設定値は、上記不揮発性メモリ部の第一のページに格納され、電源投入時に自動的にページバッファに読み出される
    請求項2記載のメモリシステム。
  5. 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
    請求項1記載のメモリシステム。
  6. 上記パッシブ・ウェアー・レベリング制御および上記アクティブ・ウェアー・レベリング制御の方式選択、および、両ウェアー・レベリングの条件設定値は任意に設定可能である
    請求項3記載のメモリシステム。
  7. 上記制御部は、前記殆ど書き換えを行わない第2データ領域の論理ブロックアドレスに格納されたデータを、消去済みのブロックにコピーした後、コピー元のブロックは消去しておく
    請求項1記載のメモリシステム。
  8. 上記制御部は、上記殆ど書き換えを行わないデータを格納している論理ブロックアドレス、および、上記頻繁に書き換えを行うデータを格納している論理ブロックアドレスの少なくともいずれかに一方に識別用フラグを設けている
    請求項7記載のメモリシステム。
  9. 上記制御部は、消去済みのブロックに消去後、直ちに消去済み論理ブロックアドレスを書き込み、書き換えを行うブロックは、上記消去済み論理ブロックアドレスに従って、順次書き換えを行う
    請求項1から8のいずれか一項に記載のメモリシステム。
  10. 上記不揮発性半導体記憶装置は、書き換え可能な不揮発性メモリセルを複数個直列接続したNAND型フラッシュメモリを含む
    請求項1から9のいずれか一項に記載のメモリシステム。
JP2011242648A 2011-11-04 2011-11-04 メモリシステム Expired - Fee Related JP5299493B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011242648A JP5299493B2 (ja) 2011-11-04 2011-11-04 メモリシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011242648A JP5299493B2 (ja) 2011-11-04 2011-11-04 メモリシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005326414A Division JP2007133683A (ja) 2005-11-10 2005-11-10 メモリシステム

Publications (2)

Publication Number Publication Date
JP2012022725A JP2012022725A (ja) 2012-02-02
JP5299493B2 true JP5299493B2 (ja) 2013-09-25

Family

ID=45776888

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011242648A Expired - Fee Related JP5299493B2 (ja) 2011-11-04 2011-11-04 メモリシステム

Country Status (1)

Country Link
JP (1) JP5299493B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3507132B2 (ja) * 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US6732221B2 (en) * 2001-06-01 2004-05-04 M-Systems Flash Disk Pioneers Ltd Wear leveling of static areas in flash memory
JP4059002B2 (ja) * 2001-06-13 2008-03-12 株式会社日立製作所 メモリ装置
JP2003141880A (ja) * 2001-11-02 2003-05-16 Matsushita Electric Ind Co Ltd 不揮発性半導体メモリ装置
JP3892751B2 (ja) * 2002-04-23 2007-03-14 日本電信電話株式会社 Icカードに搭載されたフラッシュメモリの管理方法及びシステム
US6985992B1 (en) * 2002-10-28 2006-01-10 Sandisk Corporation Wear-leveling in non-volatile storage systems

Also Published As

Publication number Publication date
JP2012022725A (ja) 2012-02-02

Similar Documents

Publication Publication Date Title
JP2007133683A (ja) メモリシステム
JP4834676B2 (ja) オンチップ不揮発性メモリ書き込みキャッシュを使用するシステムおよび方法
JP4787266B2 (ja) スクラッチパッドブロック
US8364884B2 (en) Memory system with a memory controller controlling parallelism of driving memories
US8046525B2 (en) Nonvolatile semiconductor memory device with advanced multi-page program operation
KR100939146B1 (ko) 비휘발성 반도체 메모리 시스템 및 그 데이터 기입 방법
JP2003030993A (ja) 半導体記憶装置
US11262939B2 (en) Memory system, memory controller, and operation method
EP1443521A2 (en) Memory read and write operations with address scrambling
JP2012519347A (ja) マルチレベルの行デコーディングを用いるnandフラッシュアーキテクチャ
JP2007164318A (ja) 記憶装置
TWI626658B (zh) 記憶體裝置及其操作方法
US12072809B2 (en) Memory system, memory controller, and operation method of memory system for loading and updating mapping information to host memory area
US11315650B2 (en) Memory system, memory controller, and method of operating memory system
US20210389902A1 (en) Memory system, memory controller, and operation method of memory system
TWI758888B (zh) 記憶體系統
US9507706B2 (en) Memory system controller including a multi-resolution internal cache
CN1540670A (zh) 更新非易失性内存的方法与系统
JP5299493B2 (ja) メモリシステム
US11221945B2 (en) Semiconductor memory device
JP2006323499A (ja) 半導体装置
JP4661748B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US11404137B1 (en) Memory system and operating method of memory system
JP4304167B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006040168A (ja) フラッシュメモリシステム及びフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111104

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130430

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130603

R151 Written notification of patent or utility model registration

Ref document number: 5299493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees