JP2010128697A - メモリシステム - Google Patents
メモリシステム Download PDFInfo
- Publication number
- JP2010128697A JP2010128697A JP2008301296A JP2008301296A JP2010128697A JP 2010128697 A JP2010128697 A JP 2010128697A JP 2008301296 A JP2008301296 A JP 2008301296A JP 2008301296 A JP2008301296 A JP 2008301296A JP 2010128697 A JP2010128697 A JP 2010128697A
- Authority
- JP
- Japan
- Prior art keywords
- data
- area
- memory
- error correction
- storage area
- 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.)
- Withdrawn
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】管理情報などを格納する特定領域のデータ信頼性を向上させる。
【解決手段】メモリシステム1は、第1の記憶領域22と第2の記憶領域21とを有する不揮発性メモリと、第2の記憶領域21への書き込み時に、第1の記憶領域22よりもエラー訂正能力を高くするコントローラ12とを含む。
【選択図】 図5
【解決手段】メモリシステム1は、第1の記憶領域22と第2の記憶領域21とを有する不揮発性メモリと、第2の記憶領域21への書き込み時に、第1の記憶領域22よりもエラー訂正能力を高くするコントローラ12とを含む。
【選択図】 図5
Description
本発明は、メモリシステムに係り、例えば、NAND型フラッシュメモリ等の不揮発性メモリを備えたメモリシステムに関する。
近年、PC(パーソナルコンピュータ)、携帯電話、デジタルカメラ、PDA(personal digital assistant)などの電子機器の記憶装置として、フラッシュメモリ等の不揮発性メモリが使用されている。特に、フラッシュメモリを電子機器に対して着脱可能な構成としたメモリカードが利用されている。
フラッシュメモリを構成するメモリセルは、半導体基板上にトンネル絶縁膜を介して電荷蓄積を目的とする浮遊ゲート電極、ゲート間絶縁膜、制御ゲート電極が順に積層形成された積層ゲート構造を有している。このような構成のフラッシュメモリは、書き込み時に過剰に電子が浮遊ゲート電極に注入され、メモリセルの閾値電圧が異常に高くなることにより、読み出しの際にビット不良が発生するオーバープログラムと呼ばれる不良や、浮遊ゲート電極に注入された電子が基板などにリークしたり、基板などからリークした電子が浮遊ゲート電極に注入されることで、元のデータが逆データに反転してしまうリテンション不良が起こることがある。
一方、フラッシュメモリへのデータの記録には、ファイルシステムが使用される。フラッシュメモリは、管理領域を設けてファイルシステムなどの管理情報を記憶し、この管理情報に基づいて、データの書き込み、読み出し、消去等を行う。そのため、管理領域のデータが壊れてしまうと、フラッシュメモリに記録したデータにアクセスすることができなくなってしまう。
また、この種の関連技術として、更新された管理情報の格納時に一対のブロックを使用することで、管理情報の書き込みエラーに対する耐性を高める方式が開示されている(特許文献1参照)。
特開2004−280752号公報
本発明は、管理情報などを格納する特定領域のデータ信頼性を向上させることが可能なメモリシステムを提供する。
本発明の一態様に係るメモリシステムは、第1の記憶領域と第2の記憶領域とを有する不揮発性メモリと、前記第2の記憶領域への書き込み時に、前記第1の記憶領域よりもエラー訂正能力を高くするコントローラとを具備する。
本発明によれば、管理情報などを格納する特定領域のデータ信頼性を向上させることが可能なメモリシステムを提供することができる。
以下、本発明の実施形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
[第1の実施形態]
不揮発性メモリ(例えばNAND型フラッシュメモリ)を備えたメモリシステムとしては、様々な形式のものが考えられる。その様々なメモリシステムの中で、本実施形態では、メモリカードを一例に挙げて説明する。メモリカードは、ホスト装置2に設けられたスロットに対して着脱可能なように構成されており、ホスト装置に装着された状態で動作する。しかし、本発明はメモリカードに限定されるものではなく、メモリシステム及びホスト装置を1つのLSI(Large-Scale Integrated Circuit)として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、メモリシステムを構成するコントローラ及び不揮発性半導体メモリが実装されるように構成してもよい。
不揮発性メモリ(例えばNAND型フラッシュメモリ)を備えたメモリシステムとしては、様々な形式のものが考えられる。その様々なメモリシステムの中で、本実施形態では、メモリカードを一例に挙げて説明する。メモリカードは、ホスト装置2に設けられたスロットに対して着脱可能なように構成されており、ホスト装置に装着された状態で動作する。しかし、本発明はメモリカードに限定されるものではなく、メモリシステム及びホスト装置を1つのLSI(Large-Scale Integrated Circuit)として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、メモリシステムを構成するコントローラ及び不揮発性半導体メモリが実装されるように構成してもよい。
[1.メモリシステム1の構成]
図1は、本発明の第1の実施形態に係るメモリシステム(メモリカード)1の構成を示すブロック図である。メモリカード1は、ホスト装置2に接続された時に電源供給を受けて動作し、ホスト装置2からのアクセス要求に応じた処理を行う。ホスト装置2は、バスインターフェースを介して接続されるメモリカード1に対してアクセスを行うためのハードウェア及びソフトウェアを備えている。また、ホスト装置2は、メモリカード1に電源を供給するための電源回路を備えている。
図1は、本発明の第1の実施形態に係るメモリシステム(メモリカード)1の構成を示すブロック図である。メモリカード1は、ホスト装置2に接続された時に電源供給を受けて動作し、ホスト装置2からのアクセス要求に応じた処理を行う。ホスト装置2は、バスインターフェースを介して接続されるメモリカード1に対してアクセスを行うためのハードウェア及びソフトウェアを備えている。また、ホスト装置2は、メモリカード1に電源を供給するための電源回路を備えている。
メモリカード1は、ホスト装置2との間でバスインターフェースを介してデータの授受を行う。メモリカード1は、不揮発性メモリの一種であるNAND型フラッシュメモリ11、及びNAND型フラッシュメモリ11を制御するメモリコントローラ12を備えている。なお、不揮発性メモリとしては、NAND型フラッシュメモリ11に限定されず、様々な種類の不揮発性メモリを使用することが可能である。
メモリコントローラ12は、NAND型フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスのデータが含まれているか、或いは、何処のブロックが消去状態であるか)を管理する。メモリコントローラ12は、ホストインターフェース(ホストI/F)13、CPU(Central Processing Unit)14、ROM(Read-only memory)15、RAM(Random access memory)16、バッファ17、メモリインターフェース(メモリI/F)18、第1のECC(Error Check and Correct)回路19、及び第2のECC回路20を備えている。
ホストインターフェース13は、所定のプロトコルに従ってメモリコントローラ12とホスト装置2との間のインターフェース処理を行う。メモリインターフェース18は、所定のプロトコルに従ってメモリコントローラ12とNAND型フラッシュメモリ11との間のインターフェース処理を行う。
ROM15は、CPU14によって使用される制御プログラム等を格納する。RAM16は、CPU14の作業エリアとして使用され、ROM15から読み出された制御プログラムや各種のテーブルを格納する。バッファ17は、ホスト装置2から送られてくるデータをNAND型フラッシュメモリ11に書き込む際に、ホストインターフェースに基づく一定量のデータを一時的に格納したり、NAND型フラッシュメモリ11から読み出されるデータをホスト装置2へ送る際に、一定量のデータを一時的に格納したりする。
CPU14は、メモリカード1全体の動作を制御する。CPU14は、メモリカード1がホスト装置2から電源供給を受けると、ROM15或いはNAND型フラッシュメモリ11に格納されている制御プログラムを読み出して所定の処理を実行したり、ROM15或いはNAND型フラッシュメモリ11から読み出したデータを用いて各種のテーブルをRAM16上に作成し、このテーブルを用いて所定の処理を実行したりする。また、CPU14は、ホスト装置2から書き込みコマンド、読み出しコマンド、及び消去コマンド等を受け、これらのコマンドに基づいてNAND型フラッシュメモリ11に対して書き込み処理、読み出し処理、及び消去処理等を実行する。
第1のECC回路19及び第2のECC回路20の各々は、ホスト装置2から送られる書き込みデータに対しては、所定のビット数(或いはバイト数)からなるデータ部分ごとにエラー訂正符号を生成する。各エラー訂正符号は、これに対応するデータ部分とともにNAND型フラッシュメモリ11に格納される。また、第1のECC回路19及び第2のECC回路20の各々は、NAND型フラッシュメモリ11から送られる読み出しデータに対しては、同時に読み出されるエラー訂正符号を用いて、データ部分ごとにエラーの検出及び訂正を行う。エラーの訂正を行った後、ECC回路は、エラー訂正符号を取り除いた状態でデータをバッファ17に送る。従って、ホスト装置2には、エラー訂正符号を含まない読み出しデータがメモリカード1から送られる。
図2は、NAND型フラッシュメモリ11の論理構成を示す概略図である。NAND型フラッシュメモリ11は、ファイルシステム管理領域21、及びユーザ領域22を備えている。先頭アドレス“0”からアドレス“X−1”までがファイルシステム管理領域21、アドレス“X”以降がユーザ領域22である。図2に示すアドレスは、論理アドレスを表している。
ユーザ領域22は、ユーザが自由に読み出し及び書き込みすることが可能なユーザデータ(文書、静止画、動画などのデータ)を格納するために使用される。
一方、ファイルシステム管理領域21は、ユーザ領域22に格納されたデータの管理情報や、NAND型フラッシュメモリ11に関する種々な管理情報(基本的にはユーザが自由に読み出し及び書き込みすることができず、NAND型フラッシュメモリ11の起動時等にホスト装置2やメモリコントローラ12が使用する情報)を格納するために使用される。また、ファイルシステム管理領域21は、NAND型フラッシュメモリ11に格納されるデータを管理する方式であるファイルシステムを格納する。ファイルシステムには、NAND型フラッシュメモリ11にファイルやフォルダ(ディレクトリ)を作成したり、これらを移動や削除したりする方法や、データを記録する方法、管理領域の場所や利用方法などが定められている。
図3は、NAND型フラッシュメモリ11の構造を示す概略図である。各ページは、例えば4224バイトを有しており、このうち、例えば、4096バイトがデータ領域、残りの128バイトが冗長領域として使用される。ページは、データの書き込み或いは読み出しの単位である。ブロックは、複数のページから構成されており、データの消去単位である。NAND型フラッシュメモリ11は、記憶領域以外に、ページ単位でデータを保持するページバッファを備えており、本実施形態では、ページバッファの記憶容量は、1ページの容量と同じ4224バイトである。このページバッファを介して、NAND型フラッシュメモリ11とメモリインターフェース18との間でデータの授受が行われる。
図4は、NAND型フラッシュメモリ11に含まれる1個のブロックの構成を示す等価回路図である。
ブロックは、X方向に沿って順に配置された(m+1)個のNANDストリングを備えている(mは、1以上の自然数)。各NANDストリングは、2個の選択トランジスタST1、ST2、及び(n+1)個のメモリセルトランジスタMTを備えている(nは、1以上の自然数)。(m+1)個のNANDストリングにそれぞれ含まれる選択トランジスタST1は、ドレインがビット線BL0〜BLmに接続され、ゲートが選択ゲート線SGDに共通接続されている。また、選択トランジスタST2は、ソースがソース線SLに共通接続され、ゲートが選択ゲート線SGSに共通接続されている。
各メモリセルトランジスタMTは、半導体基板上にゲート絶縁膜(トンネル絶縁膜)を介在して形成された積層ゲート構造を備えたMOSFET(metal oxide semiconductor field effect transistor)である。積層ゲート構造は、ゲート絶縁膜上に形成された電荷蓄積層(浮遊ゲート電極)と、電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極とを含んでいる。メモリセルトランジスタMTは、浮遊ゲート電極に注入される電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。
各NANDストリングにおいて、(n+1)個のメモリセルトランジスタMTは、選択トランジスタST1のソースと選択トランジスタST2のドレインとの間に、それぞれの電流経路が直列接続されるように配置されている。すなわち、複数のメモリセルトランジスタMTは、隣接するもの同士で拡散領域(ソース領域若しくはドレイン領域)を共有するような形でY方向に直列接続される。
そして、最もドレイン側に位置するメモリセルトランジスタMTから順に、制御ゲート電極がワード線WL0〜WLnにそれぞれ接続されている。従って、ワード線WL0に接続されたメモリセルトランジスタMTのドレインは選択トランジスタST1のソースに接続され、ワード線WLnに接続されたメモリセルトランジスタMTのソースは選択トランジスタST2のドレインに接続されている。
ワード線WL0〜WLnは、ブロック内のNANDストリング間で、メモリセルトランジスタMTの制御ゲート電極を共通に接続している。つまり、ブロック内において同一行にあるメモリセルトランジスタMTの制御ゲート電極は、同一のワード線WLに接続される。この同一のワード線WLに接続される(m+1)個のメモリセルトランジスタMTは1ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。
また、ビット線BL0〜BLmは、ブロック間で、選択トランジスタST1のドレインを共通に接続している。つまり、複数のブロック内において同一列にあるNANDストリングは、同一のビット線BLに接続される。
本実施形態に係るNAND型フラッシュメモリ11に含まれるメモリセルトランジスタMTは、2値(1ビット)を記憶するように構成されていてもよいし、多値(2ビット以上)を記憶するように構成されていてもよい。
[2.メモリカード1の動作]
次に、このように構成されたメモリカード1の動作について説明する。図5は、メモリカード1のデータ書き込み動作を示すフローチャートである。データ書き込み時には、ホスト装置2は、書き込みコマンド、アドレス、及び書き込みデータをメモリカード1に送る。メモリコントローラ12は、これら書き込みコマンド、アドレス、及び書き込みデータを受ける(ステップS100)。なお、ここでいうアドレスとは、論理アドレスを意味している。
次に、このように構成されたメモリカード1の動作について説明する。図5は、メモリカード1のデータ書き込み動作を示すフローチャートである。データ書き込み時には、ホスト装置2は、書き込みコマンド、アドレス、及び書き込みデータをメモリカード1に送る。メモリコントローラ12は、これら書き込みコマンド、アドレス、及び書き込みデータを受ける(ステップS100)。なお、ここでいうアドレスとは、論理アドレスを意味している。
続いて、メモリコントローラ12は、アドレスがファイルシステム管理領域21及びユーザ領域22のどちらを指しているか、すなわち、アドレスが“X”より小さいか否かを判定する(ステップS101)。本実施形態では、ファイルシステム管理領域21及びユーザ領域22のそれぞれに対して、書き込み処理の方法を変えている。アドレスが“X”より小さい場合は、メモリコントローラ12は、ファイルシステム管理領域21への書き込み処理を実行する(ステップS102)。一方、アドレスが“X”以上である場合は、メモリコントローラ12は、ユーザ領域22への書き込み処理を実行する(ステップS103)。
[2−1.ユーザ領域22への書き込み動作]
最初に、ステップS103におけるユーザ領域22への書き込み処理について説明する。図6は、ユーザ領域22への書き込み処理を示すフローチャートである。図7は、ユーザ領域22への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Y”に対して512バイトの書き込みアクセスが発生したものとする。アドレス“Y”は、アドレス“X”以上であり、よってこのアドレス“Y”はユーザ領域22を指している。
最初に、ステップS103におけるユーザ領域22への書き込み処理について説明する。図6は、ユーザ領域22への書き込み処理を示すフローチャートである。図7は、ユーザ領域22への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Y”に対して512バイトの書き込みアクセスが発生したものとする。アドレス“Y”は、アドレス“X”以上であり、よってこのアドレス“Y”はユーザ領域22を指している。
まず、メモリコントローラ12は、書き込みデータを例えば256バイト単位で分割する(ステップS200)。ホスト装置2とメモリカード1との間で扱われる最小データサイズが512バイトとすると、1ページ内のデータ領域には、それぞれが512バイトの8個のデータが格納され、また、1ページは、これら8個のデータに対応しかつそれぞれが16バイトの8個の冗長領域を含んでいる。本実施形態では、512バイトの書き込みデータをそれぞれが256バイトの2個のデータ部分に分割するため、1ページに含まれる4096バイトの全データ領域は、それぞれが256バイトの16個のデータ領域に分割されることになる。また、1ページに含まれる128バイトの全冗長領域は、それぞれが8バイトの16個の冗長領域に分割される。
続いて、第1のECC回路19は、256バイトのデータ部分ごとに、エラー訂正符号を生成する(ステップS201)。この場合のエラー訂正符号のサイズは、例えば3バイトである。第1のECC回路19は、それの訂正能力は1ビット、検出能力は2ビットであり、ランダムエラーを訂正可能である。よって、第1のECC回路19は、256バイトあたり1ビットのエラーを訂正することが可能である。
続いて、メモリコントローラ12は、256バイト単位で書き込みデータをユーザ領域22内のデータ領域に書き込む。さらに、メモリコントローラ12は、256バイトのデータ部分に対応するエラー訂正符号を、これに対応して設けられた8バイトの冗長領域に書き込む(ステップS202)。
具体的には、図7に示すように、ユーザ領域22内のページ“A”に512バイトの書き込みデータを書き込む場合、この書き込みデータがそれぞれが256バイトの2個のデータ部分に分割され、これらがそれぞれデータ領域1及びデータ領域2に格納される。また、第1のECC回路19によって1個目のデータ部分に対してエラー訂正符号ECC1が生成され、2個目のデータ部分に対してエラー訂正符号ECC2が生成されており、エラー訂正符号ECC1はデータ領域1に対応する8バイトの冗長領域に格納され、エラー訂正符号ECC2はデータ領域2に対応する8バイトの冗長領域に格納される。このようにして、ユーザ領域22への書き込み処理が行われる。
[2−2.ファイルシステム管理領域21への書き込み動作]
次に、ステップS102におけるファイルシステム管理領域21への書き込み処理について説明する。図8は、ファイルシステム管理領域21への書き込み処理を示すフローチャートである。図9は、ファイルシステム管理領域21への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Z”に対して512バイトの書き込みアクセスが発生したものとする。アドレス“Z”は、アドレス“X”より小さく、よってこのアドレス“Z”はファイルシステム管理領域21を指している。
次に、ステップS102におけるファイルシステム管理領域21への書き込み処理について説明する。図8は、ファイルシステム管理領域21への書き込み処理を示すフローチャートである。図9は、ファイルシステム管理領域21への書き込み処理を具体的に説明する概略図である。例えば、アドレス“Z”に対して512バイトの書き込みアクセスが発生したものとする。アドレス“Z”は、アドレス“X”より小さく、よってこのアドレス“Z”はファイルシステム管理領域21を指している。
まず、メモリコントローラ12は、書き込みデータを例えば32バイト単位で分割する(ステップS300)。ホスト装置2とメモリカード1との間で扱われる最小データサイズが512バイトとすると、1ページ内のデータ領域には、それぞれが512バイトの8個のデータが格納され、また、1ページは、これら8個のデータに対応しかつそれぞれが16バイトの8個の冗長領域を含んでいる。本実施形態では、512バイトの書き込みデータを32バイト単位で分割するため、512バイトのデータ領域は、それぞれが32バイトの16個のデータ領域に分割される。よって、1ページに含まれる4096バイトの全データ領域は、それぞれが32バイトの128個のデータ領域に分割されることになる。また、それぞれが32バイトの8個のデータ領域に対応して8バイトの冗長領域が設けられる。
続いて、第2のECC回路20は、32バイトのデータ部分ごとに、エラー訂正符号を生成する(ステップS301)。この場合のエラー訂正符号のサイズは、例えば2バイトである。第2のECC回路20は、それの訂正能力は1ビット、検出能力は2ビットであり、ランダムエラーを訂正可能である。よって、第2のECC回路20は、32バイトあたり1ビットのエラーを訂正することが可能である。
続いて、メモリコントローラ12は、32バイト単位で書き込みデータをファイルシステム管理領域21内のデータ領域に書き込む。すなわち、ファイルシステム管理領域21への書き込み時のデータサイズは、ユーザ領域22への書き込み時のデータサイズの1/8以下に設定される。さらに、メモリコントローラ12は、書き込みデータに対して生成された全てのエラー訂正符号を、ファイルシステム管理領域21内のデータ領域に書き込む(ステップS302)。
具体的には、図9に示すように、ファイルシステム管理領域21内のページ“B”に512バイトの書き込みデータを書き込む場合、この書き込みデータがそれぞれが32バイトの16個のデータ部分に分割され、これらがそれぞれデータ領域1乃至データ領域16に格納される。また、第2のECC回路20によって16個のデータ部分に対して16個のECC(ECC1乃至ECC16)が生成されており、これらECC1乃至ECC16は、例えばデータ領域113に格納される。このようにして、ファイルシステム管理領域21への書き込み処理が行われる。
[2−3.データ読み出し動作]
次に、メモリカード1のデータ読み出し動作について説明する。データ読み出し時には、ホスト装置2は、読み出しコマンド、及びアドレスをメモリカード1に送る。読み出しアクセスを受けた場合には、メモリコントローラ12は、アドレスに応じてデータの読み出し方法を変える。
次に、メモリカード1のデータ読み出し動作について説明する。データ読み出し時には、ホスト装置2は、読み出しコマンド、及びアドレスをメモリカード1に送る。読み出しアクセスを受けた場合には、メモリコントローラ12は、アドレスに応じてデータの読み出し方法を変える。
アドレスが“X”以上である場合は、メモリコントローラ12は、ユーザ領域22への読み出しアクセスであると判断する。この場合は図7で示すデータ領域及び冗長領域に読み出しデータ及びエラー訂正符号が書き込まれているため、メモリコントローラ12は、これらのデータ領域及び冗長領域から読み出しデータ及びエラー訂正符号を読み出す。なお、データ及びエラー訂正符号の格納場所は、例えばユーザ領域22内の冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。
続いて、第1のECC回路19は、エラー訂正符号を用いて、256バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ12は、エラー訂正された読み出しデータをホスト装置2に送る。
一方、アドレスが“X”より小さい場合は、メモリコントローラ12は、ファイルシステム管理領域21への読み出しアクセスであると判断する。この場合は図9で示すデータ領域に読み出しデータ及びエラー訂正符号が書き込まれているため、メモリコントローラ12は、これらのデータ領域から読み出しデータ及びエラー訂正符号を読み出す。データ及びエラー訂正符号の格納場所は、例えばファイルシステム管理領域21内の冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。
続いて、第2のECC回路20は、エラー訂正符号を用いて、32バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ12は、エラー訂正された読み出しデータをホスト装置2に送る。
以上詳述したように第1の実施形態では、NAND型フラッシュメモリ11がファイルシステム管理領域21及びユーザ領域22を備えており、これらファイルシステム管理領域21及びユーザ領域22に対して、メモリコントローラ12がデータの書き込み方法及び読み出し方法を変えるようにしている。すなわち、ユーザ領域22に対しては、第1のデータサイズ(例えば256バイト)単位でエラー訂正符号の生成及びエラー訂正処理を実行し、ファイルシステム管理領域21に対しては、第1のデータサイズより小さい第2のデータサイズ(例えば32バイト)単位でエラー訂正符号の生成及びエラー訂正処理を実行するようにしている。
従って第1の実施形態によれば、特定領域(ファイルシステム管理領域21)に対してエラー訂正能力を高めることが可能となり、特定領域に格納されているファイルシステムや管理情報などの重要なデータの信頼性を向上させることができる。これにより、メモリシステム全体の信頼性を向上させることが可能となる。また、ファイルシステム管理領域21の記憶容量が減少するのを抑えつつ、ファイルシステム管理領域21に対してエラー訂正能力を高めることが可能となる。
[第2の実施形態]
第2の実施形態は、ファイルシステム管理領域21へのエラー訂正符号の書き込み方法を変えており、このエラー訂正符号をファイルシステム管理領域21の冗長領域に格納するようにしている。
第2の実施形態は、ファイルシステム管理領域21へのエラー訂正符号の書き込み方法を変えており、このエラー訂正符号をファイルシステム管理領域21の冗長領域に格納するようにしている。
図10は、本発明の第2の実施形態に係るファイルシステム管理領域21内の1ページの構成を示す概略図である。
本実施形態のNAND型フラッシュメモリ11では、各ページは、例えば4480バイトを有しており、このうち、例えば、4096バイトがデータ領域、残りの384バイトが冗長領域として使用される。
ファイルシステム管理領域21へのデータ書き込み時、メモリコントローラ12は、書き込みデータを32バイト単位で分割する。ホスト装置2とメモリカード1との間で扱われる最小データサイズが512バイトとすると、1ページ内のデータ領域には、それぞれが512バイトの8個のデータが格納され、また、1ページは、これら8個のデータに対応しかつそれぞれが48バイトの8個の冗長領域を含んでいる。本実施形態でも、512バイトの書き込みデータを32バイト単位で分割するため、512バイトのデータ領域は、それぞれが32バイトの16個のデータ領域に分割される。よって、1ページに含まれる4096バイトの全データ領域は、それぞれが32バイトの128個のデータ領域に分割されることになる。また、1ページに含まれる384バイトの全冗長領域は、128個のデータ領域に対応しかつそれぞれが3バイトの128個の冗長領域に分割される。
ここで、図10に示すように、メモリコントローラ12は、第2のECC回路20によって512バイトの書き込みデータに対して生成された16個のECC(ECC1乃至ECC16)をそれぞれ、データ領域1乃至データ領域16に対応する16個の冗長領域に格納する。
データ読み出し時には、メモリコントローラ12は、データ領域及び冗長領域から読み出しデータ及びエラー訂正符号を読み出す。なお、データ及びエラー訂正符号の格納場所は、例えばファイルシステム管理領域21内のデータ領域或いは冗長領域に管理情報として予め格納しておき、この管理情報を確認することで判断することができる。そして、第2のECC回路20は、エラー訂正符号を用いて、32バイトのデータ部分ごとにエラー訂正を実行する。そして、メモリコントローラ12は、エラー訂正された読み出しデータをホスト装置2に送る。なお、ユーザ領域22への書き込み方法、及びユーザ領域22からの読み出し方法は、第1の実施形態と同じである。
以上詳述したように第2の実施形態によれば、第1の実施形態と同様に、特定領域(ファイルシステム管理領域21)に対してエラー訂正能力を高めることが可能となり、特定領域に格納されているファイルシステムや管理情報などの重要なデータの信頼性を向上させることができる。また、本実施形態では、エラー訂正符号をデータ領域に格納する必要がないため、ファイルシステム管理領域21のデータ領域の記憶容量が減少するのを防ぐことができる。
なお、上記各実施形態ではNAND型の不揮発性半導体メモリを例に挙げて説明したが、これ以外に、NOR型、AND型、DINOR(Divided bit-line NOR)型の不揮発性半導体メモリにも適用可能である。
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
MT…メモリセルトランジスタ、ST1,ST2…選択トランジスタ、SGD,SGS…選択ゲート線、SL…ソース線、WL…ワード線、BL…ビット線、1…メモリシステム、2…ホスト装置、11…NAND型フラッシュメモリ、12…メモリコントローラ、13…ホストインターフェース、14…CPU、15…ROM、16…RAM、17…バッファ、18…メモリインターフェース、19…第1のECC回路、20…第2のECC回路、21…ファイルシステム管理領域、22…ユーザ領域。
Claims (5)
- 第1の記憶領域と第2の記憶領域とを有する不揮発性メモリと、
前記第2の記憶領域への書き込み時に、前記第1の記憶領域よりもエラー訂正能力を高くするコントローラと、
を具備することを特徴とするメモリシステム。 - 前記第1の記憶領域への書き込み時に、第1のデータサイズ単位で第1のエラー訂正符号を生成する第1のECC(Error Check and Correct)回路と、
前記第2の記憶領域への書き込み時に、前記第1のデータサイズより小さい第2のデータサイズ単位で第2のエラー訂正符号を生成する第2のECC回路と、
をさらに具備することを特徴とする請求項1に記載のメモリシステム。 - 前記コントローラは、前記第1の記憶領域への書き込み時には書き込みデータを前記第1のデータサイズに分割して書き込み、前記第2の記憶領域への書き込み時には書き込みデータを前記第2のデータサイズに分割して書き込み、
前記第2のデータサイズは、前記第1のデータサイズの1/8以下であることを特徴とする請求項2に記載のメモリシステム。 - 前記コントローラは、前記第1のエラー訂正符号を前記第1の記憶領域の冗長領域に書き込み、前記第2のエラー訂正符号を前記第2の記憶領域の冗長領域に書き込むことを特徴とする請求項2又は3に記載のメモリシステム。
- 前記コントローラは、書き込み時に、アドレスに基づいて前記第1の記憶領域及び前記第2の記憶領域への書き込み方法を選択することを特徴とする請求項1乃至4のいずれかに記載のメモリシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008301296A JP2010128697A (ja) | 2008-11-26 | 2008-11-26 | メモリシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008301296A JP2010128697A (ja) | 2008-11-26 | 2008-11-26 | メモリシステム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010128697A true JP2010128697A (ja) | 2010-06-10 |
Family
ID=42329058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008301296A Withdrawn JP2010128697A (ja) | 2008-11-26 | 2008-11-26 | メモリシステム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010128697A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014086062A (ja) * | 2012-10-29 | 2014-05-12 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
JP2019049995A (ja) * | 2018-10-22 | 2019-03-28 | 東芝メモリ株式会社 | メモリシステムおよび不揮発性メモリの制御方法 |
JP2019057156A (ja) * | 2017-09-21 | 2019-04-11 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
WO2023185746A1 (zh) * | 2022-04-02 | 2023-10-05 | 武汉杰开科技有限公司 | 数据存储***及方法 |
-
2008
- 2008-11-26 JP JP2008301296A patent/JP2010128697A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014086062A (ja) * | 2012-10-29 | 2014-05-12 | Sony Corp | 記憶制御装置、記憶装置、情報処理システム、および、記憶制御方法 |
JP2019057156A (ja) * | 2017-09-21 | 2019-04-11 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP7065578B2 (ja) | 2017-09-21 | 2022-05-12 | キヤノン株式会社 | 情報処理装置、その制御方法、及びプログラム |
JP2019049995A (ja) * | 2018-10-22 | 2019-03-28 | 東芝メモリ株式会社 | メモリシステムおよび不揮発性メモリの制御方法 |
WO2023185746A1 (zh) * | 2022-04-02 | 2023-10-05 | 武汉杰开科技有限公司 | 数据存储***及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8621266B2 (en) | Nonvolatile memory system and related method of performing erase refresh operation | |
US9075740B2 (en) | Memory system | |
US8125825B2 (en) | Memory system protected from errors due to read disturbance and reading method thereof | |
KR101888009B1 (ko) | 저장 장치 | |
JP5142685B2 (ja) | メモリシステム | |
US8484409B2 (en) | Nonvolatile memory controller with logical defective cluster table | |
US9940063B2 (en) | Memory system and operating method thereof | |
US20170109276A1 (en) | Memory system and operation method thereof | |
US8760921B2 (en) | Storage device and control method of nonvolatile memory | |
JP5550386B2 (ja) | 不揮発性半導体記憶装置及びメモリシステム | |
US20160328155A1 (en) | Memory system and operating method thereof | |
TWI720985B (zh) | 記憶體系統及其操作方法 | |
US9916088B2 (en) | Memory system and operating method thereof | |
JP2010218637A (ja) | 半導体記憶装置およびその制御方法 | |
JP2011128984A (ja) | メモリシステム | |
JP2008090451A (ja) | 記憶装置 | |
JP2010128697A (ja) | メモリシステム | |
US9025379B2 (en) | Semiconductor device and method of operating the same | |
JP4637526B2 (ja) | メモリカードおよび不揮発性記憶装置 | |
TW200949840A (en) | Method for increasing reliability of data accessing for a multi-level cell type non-volatile memory | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP4194518B2 (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2011243116A (ja) | メモリシステム及びそのデータ転送方法 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4282410B2 (ja) | フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20120207 |