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

メモリシステム Download PDF

Info

Publication number
JP4751163B2
JP4751163B2 JP2005283388A JP2005283388A JP4751163B2 JP 4751163 B2 JP4751163 B2 JP 4751163B2 JP 2005283388 A JP2005283388 A JP 2005283388A JP 2005283388 A JP2005283388 A JP 2005283388A JP 4751163 B2 JP4751163 B2 JP 4751163B2
Authority
JP
Japan
Prior art keywords
data
block
address
written
original block
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.)
Active
Application number
JP2005283388A
Other languages
English (en)
Other versions
JP2007094764A (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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2005283388A priority Critical patent/JP4751163B2/ja
Priority to CNB2006800013096A priority patent/CN100527097C/zh
Priority to PCT/JP2006/319828 priority patent/WO2007037507A1/en
Priority to KR1020077012008A priority patent/KR100899242B1/ko
Priority to TW095136289A priority patent/TWI316207B/zh
Publication of JP2007094764A publication Critical patent/JP2007094764A/ja
Priority to US11/758,035 priority patent/US7872922B2/en
Priority to US12/967,769 priority patent/US8130557B2/en
Application granted granted Critical
Publication of JP4751163B2 publication Critical patent/JP4751163B2/ja
Priority to US13/368,693 priority patent/US8310896B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Description

本発明は、メモリシステムに関し、例えば、カードコントローラによるメモリへの書き込み方法に関する。
音楽データや映像データの記録メディアとしてフラッシュメモリ等の不揮発性半導体メモリを用いたメモリカードが使われている。メモリカードに使用されるフラッシュメモリの代表例としては、NANDフラッシュTMメモリが挙げられる。
メモリ内のデータの管理は、メモリカードを挿入されるホスト機器中のファイルシステムが、アプリケーション等からの書き込み要求に応じて行う。ファイルシステムは、書き込まれるファイルをクラスタ単位の大きさのデータに分割し、分割された各データに論理アドレスを割り当て、論理アドレス順に、書き込まれていないクラスタにデータを割り当てる。メモリカードは、各データの論理アドレスと、この論理アドレスのデータを書き込む物理アドレスの対応をメモリ上に実現された表等で管理しながら、メモリにデータを書き込む。
このようなファイルシステムを使用した場合、メモリにデータを書き込む際、書き込みデータ以外に、ルートディレクトリエントリの情報やFATなどの管理データも一緒に更新する必要がある。しかし、NANDフラッシュTMメモリは、1)データの書き込みはページ単位で行われる、2)データの消去はブロックと呼ばれる複数のページをまとめた単位で行われる、3)データの上書きができない、という特徴を有する。このため、ページ単位にデータを更新する場合、消去済みのブロックを用いて、以下の処理が行われる。すなわち、更新されるデータ(新データ)がデータの書き込まれていない新ブロックに書き込まれ、次に、旧データ(新データに書き換えられるデータ)を含んでいる旧ブロックから、更新されない残りのデータが新ブロックにコピーされる。このため、1つのページのデータの更新にかなりの時間がかかる場合がある。
上記のように、管理データの更新は、ファイルの書き込みの度に発生するために、頻繁に行なわれる。このため、フラッシュメモリとFATファイルシステムが併用されたメモリカードでは、データの書き込み、書き換え速度が低下する場合がある。
書き込み速度の低下を回避するために、FATファイルシステム等の管理データに対して、キャッシュブロック(サブブロック)と呼ばれる追記専用のブロックが設けられることがある。キャッシュブロックは、各論理アドレスのデータが本来書き込まれるブロック(オリジナルブロック)に加えて設けられる。あるデータの書き込み要求が来た際、このデータは、オリジナルブロックに書き込まれる。そして、オリジナルブロックに書き込み済みのデータの更新要求が来る度に、このデータはサブブロックに順次書き込まれる。このとき、メモリカードは、ある論理アドレスの最新のデータがサブブロックのどこのページに書き込まれているかを示す対応表を作成しておく。
カードは、所定のタイミングで、オリジナルブロックの再構成を行う。再構成とは、対応表を参照しながら、サブブロック内の各論理アドレスの最新のデータを、オリジナルブロックにまとめる作業である。
しかしながら、オリジナルブロックの再構成の際に以下に示す問題が発生する。例えば、図16に示すように、ブロックB1が、アドレス0乃至アドレス5のデータを記憶するためのオリジナルブロックであったとする。そして、ブロックB1が、アドレス0乃至アドレスA5の各旧データを格納しており、オリジナルブロックB1用のサブブロックSBが、アドレス0乃至アドレスA5の各最新データを格納している。この状態から、アドレス0乃至アドレス5用のオリジナルブロックを再構成する場合、次の手順が取られる。すなわち、消去済みのブロックB2が準備され、サブブロックの第5ページからアドレス0の最新データが読み出され、ブロックB2の第1ページに書き込まれる。
次に、サブブロックの第4ページからアドレス1の最新データが読み出され、ブロックB2の第2ページに書き込まれる。この作業が繰り返されることにより、図16に示すように、ブロックB2にアドレス0乃至アドレス5の各最新データが書き込まれる。最後に、ブロックB2が、アドレス0乃至アドレスA5用のオリジナルブロックとして、対応付けされる。
以上のような処理のため、1つのオリジナルブロックに割り当てられたアドレスと同数(図の例では、6)の読み出しおよび書き込み処理が繰り返される。再構成を行っている間、メモリカードはホスト機器にビジー信号を出し続ける。ビジー信号の出ている期間が、ホスト機器に設定されている時間を超えると、ホスト機器はメモリカードが故障していると判断する可能性がある。技術の進歩に伴いページの容量が大きくなると、この問題は、より顕著になる。
この出願の発明に関連する先行技術文献情報としては次のものがある。
特開2002-280822号公報
本発明は、サブブロック内のデータを再構成する時間の短いメモリカードを提供しようとするものである。
本発明の第1の視点によるメモリシステムは、n(nは自然数)個の書き込み単位領域からなる第1オリジナルブロックと、n個の前記書き込み単位領域からなる第2オリジナルブロックと、複数の前記書き込み単位領域からなる第1サブブロックと、複数の前記書き込み単位領域からなる第2サブブロックと、を含む不揮発性半導体メモリと、第1アドレス乃至第p(pはp<nを満たす自然数)アドレスのいずれかを付されたデータを前記第1オリジナルブロックに書き込み、第p+1アドレス乃至第m(mはp+2≦m≦nを満たす自然数)アドレスのいずれかを付されたデータを前記第2オリジナルブロックに書き込み、前記第1アドレス乃至前記第pアドレスのいずれかの第1書き込みアドレスを付されたデータの書き込み要求を受け且つ前記第1書き込みアドレスを付されたデータが前記第1オリジナルブロックに書き込み済みの場合に前記第1書き込みアドレスを付された書き込み要求対象のデータを前記第1サブブロックに書き込み、前記第p+1アドレス乃至前記第mアドレスのいずれかの第2書き込みアドレスを付されたデータの書き込み要求を受け且つ前記第2書き込みアドレスを付されたデータが前記第2オリジナルブロックに書き込み済みの場合に前記第2書き込みアドレスを付された書き込み要求対象のデータを前記第2サブブロックに書き込むコントローラと、を具備することを特徴とする。
本発明によれば、サブブロック内のデータを再構成する時間の短いメモリカードを提供できる。
以下に本発明の実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
なお、以下、本発明の実施形態に係るメモリシステムの一例としてメモリカードを用いて説明を行う。
図1は、本発明の一実施形態に係るメモリカードの構成を示す概略図である。メモリカード1は、ホスト機器2とバスインタフェース14を介して情報の授受を行う。メモリカード1は、NANDフラッシュTMメモリ(以下、単にフラッシュメモリと記載する)チップ11、このフラッシュメモリチップ11を制御するカードコントローラ12、および複数の信号ピン(第1ピン乃至第9ピン)13を備えている。
複数の信号ピン13は、カードコントローラ12と電気的に接続されている。複数の信号ピン13における第1ピン乃至第9ピンに対する信号の割り当ては、例えば図2に示すようになっている。
データ0乃至データ3は、第7ピン、第8ピン、第9ピン、および第1ピンにそれぞれ割り当てられている。第1ピンは、また、カード検出信号に対しても割り当てられている。さらに、第2ピンはコマンドに割り当てられ、第3ピンおよび第6ピンは接地電位Vssに、第4ピンは電源電位Vddに、第5ピンはクロック信号に割り当てられている。
また、メモリカード1は、ホスト機器2に設けられたスロットに対して挿抜可能なように形成されている。ホスト機器2に設けられたホストコントローラ(図示せず)は、これら第1ピン乃至第9ピンを介してメモリカード1内のカードコントローラ12と各種信号およびデータを通信する。例えば、メモリカード1にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第2ピンを介してカードコントローラ12にシリアルな信号として送出する。このとき、カードコントローラ12は、第5ピンに供給されているクロック信号に応答して、第2ピンに与えられる書き込みコマンドを取り込む。
ここで、前述したように、書き込みコマンドは、第2ピンのみを利用してカードコントローラ12にシリアルに入力される。コマンドの入力に割り当てられている第2ピンは、図2に示すように、データ3用の第1ピンと接地電位Vss用の第3ピンとの間に配置されている。複数の信号ピン13とそれに対するバスインタフェース14は、ホスト機器2内のホストコントローラとメモリカード1とが通信するのに使用される。
これに対し、フラッシュメモリ11とカードコントローラ12との間の通信は、NANDフラッシュTMメモリ用のインタフェースによって行われる。したがって、ここでは図示しないが、フラッシュメモリ11とカードコントローラ12とは8ビットの入出力(I/O)線により接続されている。
例えば、カードコントローラ12がフラッシュメモリ11にデータを書き込む際には、カードコントローラ12は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、およびプログラムコマンド10Hをフラッシュメモリ11に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNANDフラッシュTMメモリ用のインタフェースでは、複数ビットのコマンドがパラレルに与えられる。
また、NANDフラッシュTMメモリ用のインタフェースでは、フラッシュメモリ11に対するコマンドとデータが同じI/O線を共用して通信されている。このように、ホスト機器2内のホストコントローラとメモリカード1とが通信するインタフェースと、フラッシュメモリ11とカードコントローラ12とが通信するインタフェースとは異なる。
図3は、本発明の一実施形態に係るメモリカードのハード構成を示すブロック図である。
ホスト機器2は、バスインタフェース14を介して接続されるメモリカード1に対しアクセスを行うためのハードウェアおよびソフトウェアを備えている。メモリカード1は、ホスト機器2に接続された時に電源供給を受けて動作し、ホスト機器2からのアクセスに応じた処理を行う。
メモリカード1は、前述したように、フラッシュメモリ11およびカードコントローラ12を含む。フラッシュメモリ11は、消去時の消去ブロックサイズ(消去単位のブロックサイズ)が所定サイズ(例えば、256kB)に定められている。また、このフラッシュメモリ11に対して、ページと称する単位(例えば、2kB)でデータの書き込みおよび読み出しが行われる。
カードコントローラ12は、フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスデータが含まれているか、あるいは、何処のブロックが消去状態であるか)を管理する。カードコントローラ12は、ホストインタフェースモジュール21、MPU(Micro processing unit)22、フラッシュコントローラ23、ROM(Read-only memory)24、RAM(Random access memory)25、およびバッファ26を有する。
ホストインタフェースモジュール21は、カードコントローラ12とホスト機器2との間のインタフェース処理を行い、レジスタ部27を含む。図4に、レジスタ部27の詳細な構成を示す。レジスタ部27は、カードステータスレジスタ、およびCID、RCA、DSR、CSD、SCR、OCRの各種レジスタを有する。
これらレジスタは、以下のように定義されている。カードステータスレジスタは、通常動作において使用され、例えば後述するエラー情報が記憶される。CID、RCA、DSR、CSD、SCR、およびOCRは、主にメモリカードの初期化時に使用される。
CID(Card identification number)には、メモリカード1の個体番号が記憶される。RCA(Relative card address)には、相対カードアドレス(初期化時にホスト機器が動的に決める)が記憶される。DSR(Driver stage register)には、メモリカード1のバス駆動力等が記憶される。
CSD(Card specific data)には、メモリカード1の特性パラメータ値が記憶され、第1実施形態の、バージョン情報、性能識別コード、性能パラメータを保持する。
SCR(SD configuration data register)には、メモリカード1のデータ配置が記憶される。OCR(Operation condition resister)には、動作範囲電圧に制限のあるメモリカードの場合の動作電圧が記憶される。
MPU22は、メモリカード1全体の動作を制御する。MPU22、例えばメモリカード1が電源供給を受けたときに、ROM24に格納されているファームウェア(制御プログラム)をRAM25上に読み出して所定の処理を実行することにより、各種のテーブルをRAM25上に作成する。
MPU22は、また、ホスト機器2から書き込みコマンド、読み出しコマンド、消去コマンドを受け取り、フラッシュメモリ11に対して所定の処理を実行したり、バッファ26を通じたデータ転送処理を制御したりする。
ROM24は、MPU22により制御される制御プログラムなどを格納する。RAM25は、MPU22の作業エリアとして使用され、制御プログラムや各種のテーブル(表)を記憶する。フラッシュコントローラ23は、カードコントローラ12とフラッシュメモリ11との間のインタフェース処理を行う。
バッファ26は、ホスト機器2から送られてくるデータをフラッシュメモリ11へ書き込む際に、一定量のデータ(例えば、1ページ分)を一時的に記憶したり、フラッシュメモリ11から読み出されるデータをホスト機器2へ送り出す際に、一定量のデータを一時的に記憶したりする。
図5は、メモリカード1内のフラッシュメモリ11におけるデータ配置を示している。フラッシュメモリ11の各ページは、2112B(512B分のデータ記憶部×4+10B分の冗長部×4+24B分の管理データ記憶部)を有しており、例えば128ページ分が1つの消去単位(256kB+8kB(ここで、kは1024))である。なお、以下の説明においては、便宜上、このフラッシュメモリ11の消去単位を256kBとする。
また、フラッシュメモリ11は、フラッシュメモリ11へのデータ入出力を行うためのページバッファ11Aを備えている。ページバッファ11Aの記憶容量は、2112B(2048B+64B)である。データ書き込みなどの際、ページバッファ11Aは、フラッシュメモリ11に対するデータ入出力処理を、自身の記憶容量に相当する1ページ分の単位で実行する。
フラッシュメモリ11の記憶容量が例えば1Gビットである場合、256kBブロック(消去単位)の数は、512個となる。
また、図5においては消去単位が256kBブロックである場合を例示しているが、消去単位が例えば16kBブロックとなるように構築することも実用上有効である。この場合、各ページは528B(512B分のデータ記憶部+16B分の冗長部)を有しており、32ページ分が1つの消去単位(16kB+0.5kB)である。
フラッシュメモリ11のデータが書き込まれる領域(データ記憶領域)は、図3に示すように、保存されるデータに応じて複数の領域に区分けされている。フラッシュメモリ11は、データ記憶領域として、管理データ領域32と、機密データ領域32と、保護データ領域33と、ユーザデータ領域34と、を備えている。
管理データ領域31は、主にメモリカードに関する管理情報を格納し、すなわち、メモリカード1のセキュリティ情報やメディアIDなどのカード情報を格納する。
機密データ領域32は、暗号化に用いる鍵情報や認証時に使用する機密データを格納し、ホスト機器2からはアクセス不可能な領域である。
保護データ領域33は、重要なデータを格納し、メモリカード1に接続されたホスト機器2との相互認証によりホスト機器2の正当性が証明された場合にのみアクセスが可能となる領域である。
ユーザデータ領域34は、ユーザデータを格納し、メモリカード1を使用するユーザが自由にアクセスおよび使用することが可能な領域である。
また、本実施形態では、メモリカード1の動作モードがSD4bitモードである場合を例に説明するが、SD1bitモード、SPIモードである場合にも適用できる。図6に、SD4bitモード、SD1bitモード、およびSPIモードにおける信号ピンに対する信号割り当てを示す。
メモリカード1の動作モードは、SDモードとSPIモードに大別される。SDモードにおいては、メモリカード1はホスト機器2からのバス幅変更コマンドによって、SD4bitモードまたはSD1bitモードに設定される。
ここで、4つのデータ0ピン(DAT0)乃至データ3ピン(DAT3)に着目すると、4ビット幅単位でデータ転送を行うSD4bitモードでは、4つのデータ0ピン乃至データ3ピンが全てデータ転送に用いられる。
1ビット幅単位でデータ転送を行うSD1bitモードでは、データ0ピン(DAT0)のみがデータ転送に使用され、データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、データ3ピン(DAT3)は、例えばメモリカード19からホスト機器2への非同期割り込み等のために使用される。
SPIモードでは、データ0ピン(DAT0)が、メモリカード1からホスト機器2へのデータ信号線(DATA OUT)に用いられる。コマンドピン(CMD)はホスト機器2からメモリカード19へのデータ信号線(DATA IN)に用いられる。データ1ピン(DAT1)、データ2ピン(DAT2)は全く使用されない。また、SPIモードでは、データ3ピン(DAT3)は、ホスト機器2からメモリカード1へのチップセレクト信号CSの送信に用いられる。
ホスト機器2は、ファイルシステムを搭載している。ファイルシステムは、メモリに記録されているファイル(データ)を管理する方式であり、メモリに設けられた管理領域や管理情報を示している。また、ファイルシステムには、メモリにおけるファイルやフォルダなどのディレクトリ情報の作成方法、ファイルやフォルダなどの移動方法や削除方法、データの記録方式、管理領域の場所や利用方法などが定められている。
図7は、クラスタサイズが16kバイトのFAT(File Allocation Table)ファイルシステムの一例を示している。このファイルシステムは、管理領域701、複数のクラスタA、B、C、D(702乃至705)…により構成されている。ファイルシステム管理領域701は、例えばブート情報を記憶するブート領域711、パーティション情報などを記憶する領域702、ルートディレクトリエントリの情報を記憶するルートディレクトリエントリ領域713、FAT1、FAT2(714、715)を有している。
例えばクラスタAおよびクラスタCが使用された状態において、ファイル名が「AAA.txt」で、ファイルサイズが32kバイトのファイルを記憶装置に書き込むとする。このファイルのサイズは、クラスタサイズより大きいため、ファイルはクラスタ単位のサイズに分割され、記憶装置の空いているクラスタに記憶される。つまり、書き込むべきファイルサイズが32kバイトであるため、2つのクラスタを使用してファイルが書き込まれる。クラスタは連続している必要がないため、例えばクラスタBとクラスタDを使用してファイルが記憶される。1つのファイルを構成する各データには、通常、連続する論理アドレスが割り当てられるため、ファイルシステムがアドレスの連続しないクラスタにファイルを構成する各データを割り当てたとしても、各データに割り当てられた論理アドレスは連続している。
書き込むべきファイルがどのクラスタに分割して記憶されたかを管理するための管理データがFAT1、FAT2に記憶される。FAT1、FAT2には、同一のデータが記憶されており、一方のFATに欠陥が生じた場合、他方のFATを用いてデータの修復が可能とされている。FAT1、FAT2は、ファイルに割り当てられたクラスタの情報を記憶しており、記憶装置中のクラスタのリンクの関係を記憶している。FAT1、FAT2に記憶された情報をトレースすることにより、元のファイルへと復元することができる。
この場合、分割されたファイルのうち、前半の16kバイトがクラスタBに記憶され、後半の16kバイトがクラスタDに記憶されるため、FAT1、FAT2には、クラスタBの次にクラスタDがリンクされることを示す情報が記憶される。2つのクラスタに分割されたファイルを読み出す際、FAT1、FAT2に記憶されたこれらの情報をチェイン接続することにより、ファイルが元に復元される。
ルートディレクトリエントリ領域713は、ファイル名又はフォルダ名、ファイルサイズ、属性及びファイルの更新日時などとともに、FAT1、FAT2に示されたどのクラスタがファイルの先頭クラスタであるかを示すフラグを記憶する。この例の場合、ルートディレクトリエントリ領域713に記憶される情報は、ファイル名が「AAA.txt」、ファイルサイズが32kバイト、先頭クラスタがクラスタBである。
図8は、FAT1、FAT2、ルートディレクトリエントリ内のデータの一例を示している。図8に示すように、ルートディレクトリ領域には、ファイルエントリとして各ファイル「FILE1.txt」、「FILE2.txt」、「FILE3.txt」、の先頭のクラスタの位置情報が示されている。「FILE1.txt」、「FILE2.txt」、「FILE3.txt」、の各先頭クラスタは、クラスタ0002、0005、0007である。
また、FAT(FAT1、FAT2)には、各クラスタの次に接続されるべきクラスタの番号が記載されている。例えば、「FILE1.txt」の場合、先頭のクラスタ0002のデータに続くデータを格納するクラスタはクラスタ0003で、クラスタ0003のデータに続くデータを格納するクラスタはクラスタ0004であることが分かる。そしてクラスタ0002、0003、0004のデータを接続することにより、「FILE1.txt」のファイルが復元される。
図9は、本発明の一実施形態に係るメモリカードのメモリの構成を示している。図9に示すように、ユーザデータ領域は、通常のデータ記憶用のオリジナルブロックと、サブブロック(キャッシュブロック)SBとを含んでいる。各ブロックOB、SBは、フラッシュOBメモリの消去単位に対応する。各オリジナルブロックOBには、所定の範囲に亘って連続する論理アドレスのデータが、論理アドレス順に書き込まれることになっている。これは、連続して読み出されるであろうデータを、1つのブロックにまとめておくことによって、読み出しを効率的に行うことを可能にするためである。各オリジナルブロックOBはページOPを有し、各サブブロックSBはページSPを有する。
一般に、オリジナルブロックOBには、論理アドレス順に、オリジナルブロックOB内の低位の物理アドレスのページから高位の物理アドレスのページOPに向かってデータが書き込まれている。
オリジナルブロックOBは、データ用オリジナルブロックOBD1乃至OBDnと管理データ用オリジナルブロックOBM1乃至OBMnとを含んでいる。データ用オリジナルブロックOBD1乃至OBDnは、ファイルを構成する実データ(以下、単にデータと称する)を格納し、管理データ用オリジナルブロックOBM1乃至OBMnは、FAT等の管理データを格納する。
データ用オリジナルブロックOBD1乃至OBDnには、このオリジナルブロックOBD1乃至OBDnが有するページ数と同数のデータまたは管理データが書き込まれるようになっている。例えば1つのブロックが128個のページから構成されている場合、データ用オリジナルブロックには、最大で、アドレスが連続する128個のデータが書き込まれる。
一方、管理データ用オリジナルブロックOBM1乃至OBMnは、このオリジナルブロックOBM1乃至OBMnが有するページ数より少ない数の管理データが書き込まれるようになっている。そして、幾つかの管理データ用オリジナルブロックOBMによって、n(nは、1つのブロックが含むページの数、例えば128)個のアドレスのデータが記憶される。例えば、1つの管理データ用オリジナルブロックOBMのページ数が128であるとすると、128のうちの幾つかのアドレスのデータが、1つの管理データ用オリジナルブロックOBMに格納され、128のうちの残りのアドレスのデータが、他の管理データ用オリジナルブロックOBMに格納される。
例えば、2つの管理データ用オリジナルブロックOBMで、管理用データを記憶するとすると、管理用データの各論理アドレスA0乃至Anのうち、論理アドレスA0乃至Apのデータが、第1の管理用データオリジナルブロックに格納される。ここで、pはn未満の自然数である。また、論理アドレスAp+1乃至Anのデータが、第2の管理用データオリジナルブロックに格納される。最も典型的な例として、各管理データ用オリジナルブロックは、このオリジナルブロックが有するページ数の半分のアドレスのデータを格納する。このため、各管理データ用オリジナルブロックには、未使用ページが存在する。以下、同じ管理データ用オリジナルブロックに属するべき複数の論理アドレスをグループと称する。
同様に、3つの管理データ用オリジナルブロックOBMで、管理用データを記憶するとすると、管理用データの各論理アドレスA0乃至Anのうち、論理アドレスA0乃至Apのデータが、第1の管理用データオリジナルブロックに割り当てられる。第2の管理用データオリジナルブロックは、論理アドレスAp+1乃至Aqのデータ(qは、p+2以上n未満の自然数)を記憶し、第3の管理用データオリジナルブロックは、論理アドレスAq+1乃至Anのデータを記憶する。4つ以上の管理データ用オリジナルブロックOBMを用いる場合も同様である。
また、管理データ用オリジナルブロックOBM1乃至OBMnごとに、サブブロック(キャッシュブロック)SB1乃至SBnが設けられる。各サブブロックSBには、各サブブロックSBが対応する管理データ用オリジナルブロックOBMに書き込まれるべきデータが、論理アドレスの順番によらずに、低位の物理アドレスのページから高位の物理アドレスのページに向かって順次追記される。
次に、上記構成のメモリカードへの書き込み方法について図10乃至図13を参照して説明する。図10、図11、図12は、本発明の一実施形態に係るメモリカードへの書き込み方法を説明するための図である。図13は、本発明の一実施形態に係るメモリカードへの書き込み動作を示すフローチャートであり、1回の書き込み要求に対する動作を示している。
カードコントローラ12は、以下に示す方法に従って、フラッシュメモリ11にデータを書き込む。すなわち、カードコントローラ12は、ホスト機器2からの書き込み要求があったデータの論理アドレスと、この論理アドレスのデータを書き込む物理アドレスの対応を例えばRAM上に実現された対応表等で管理しながら、後述の方法に従ってフラッシュメモリ11にデータを書き込む。
図10の例では、説明の簡略化のために各オリジナルブロックOBが6個のページからなり、各管理データ用オリジナルブロックOBMが、6個の半分の3個のアドレスのデータを記憶するように、カードコントローラ11が動作するものとする。
まず、アドレスA0、A1、A2の管理データは、1回目の書き込み要求の際、アドレスA0、A1、A2の管理データを格納すべく設定された管理データ用オリジナルブロックOBM1のページOP11、OP12、OP13に順次書き込まれる。すなわち、アドレスA0、A1、A2の管理データが書き込まれた管理データ用オリジナルブロックが存在するか否かが判定される(ステップS1)。このような管理データオリジナルブロックが存在しない場合、書き込み要求対象の管理データ(書き込みデータ)のアドレスが判定される(ステップS2)。アドレスがA0、A1、A2のいずれかの場合、処理はステップS3に移行する。
ステップS3において、アドレスA0の管理データが、消去済みのブロックOBM1に書き込まれる。そして、管理データ用オリジナルブロックOBM1を、アドレスA0、A1、A2の管理データを格納するためのブロックとして用いて、以降、アドレスA0と同じグループに属するアドレスA1、A2の1回目の書き込み要求時の管理データは、オリジナルブロックOBM1に書き込まれる。すなわち、ステップS1で偽と判定され、ステップS2で真と判定された場合、書き込みデータは、管理データ用オリジナルブロックOBM1に書き込まれる。なお、ページOP14、OP15、OP16は使用されない。
一方、アドレスA3、A4、A5の管理データは、1回目の書き込み要求の際、アドレスA3、A4、A5の管理データを格納すべく設定された管理データ用オリジナルブロックOBM2のページOP21、OP22、OP23に順次書き込まれる。すなわち、ステップS1、ステップS2において順次、偽と判定された場合、処理はステップS4に移行する。
ステップS4において、アドレスA3の管理データが、消去済みのブロックOBM2に書き込まれる。そして、管理データ用オリジナルブロックOBM2を、アドレスA3、A4、A5の管理データを格納するためのブロックとして用いて、以降、アドレスA3と同じグループに属するアドレスA4、A5の1回目の書き込み要求時の管理データは、オリジナルブロックOBM2に書き込まれる。すなわち、ステップS1、ステップS2で順次、偽と判定された場合、書き込みデータは、管理データ用オリジナルブロックOBM2に書き込まれる。なお、ページOP24、OP25、OP26は使用されない。
管理データ用オリジナルブロックOBM1に書き込まれている、論理アドレスA0、A1、A2のいずれかの管理データの更新要求が来た場合、図11に示すように、この管理データは、論理アドレスの順番によらずに、サブブロックSB1に書き込まれる。すなわち、ステップS1で真と判定された場合、処理は、ステップS5に移行する。ステップS5において、書き込みデータのアドレスが判定される。アドレスがA0、A1、A2のいずれかの場合、書き込みデータは、サブブロックSB1のページSP11からSP16に向かって、書き込み要求の来た順に書き込まれる(ステップS6)。
同様に、管理データ用オリジナルブロックOBM2に書き込まれている、論理アドレスA3、A4、A5のいずれかの管理データの更新要求が来た場合、この管理データは、論理アドレスの順番によらずに、サブブロックSB2に書き込まれる。すなわち、ステップS1で真と判定され、ステップS5において偽と判定された場合、書き込みデータは、サブブロックSB2のページSP21からSP26に向かって、書き込み要求の来た順に順次書き込まれる(ステップS7)。
次に、図12に示すように、サブブロックSB1が満杯になった際等の所定のタイミングで、サブブロックSB1内の各論理アドレスの最新の管理データを用いて、アドレスA0、A1、A2の管理データ用の管理用データオリジナルブロックの再構成が行なわれる(ステップS8)。すなわち、消去済みの管理データ用オリジナルブロックOBM3が準備され、この管理データ用オリジナルブロックOBM3に、論理アドレスA0、A1、A2の最新の管理データが、論理アドレス順になるように、すなわち、ページOP31、OP32、OP33にそれぞれ順にコピーされる。
そして、論理アドレスA0、A1、A2と、これらの管理データを格納する、管理データ用ブロックOBM3の各ページOP31、OP32、OP33とがそれぞれ対応するように対応表が書き換えられる。管理データ用ブロックOBM1内のデータは、その後、所定のタイミングで消去される。
1回のオリジナルブロックの再構成に必要な、データの読み出しおよび書き込みのサイクルは、1つのオリジナルブロックが格納すべきとして割り当てられたアドレスの数と一致する。本実施形態によれば、n個のページを含む管理データ用オリジナルブロックOBMに割り当てられるアドレスの数は、n未満である。このため、管理データ用オリジナルブロックOBMを1つ再構成する際の読み出しおよび書き込みのサイクルは、n未満である。
サブブロックSB2に関しても同様の処理が行なわれる。すなわち、消去済みの管理データ用オリジナルブロックOBM4が準備され、この管理データ用オリジナルブロックOBM4に、論理アドレスA3、A4、A5の最新の管理データが、ページOP41、OP42、OP43にそれぞれ順にコピーされる。そして、論理アドレスA3、A4、A5と、これらの管理データを格納する、管理データ用ブロックOBM4の各ページOP41、OP42、OP43とがそれぞれ対応するように対応表が書き換えられる。
フラッシュメモリ11のメモリセルが多値(多ビット、例えば2ビット)の情報を記録できる場合、以下の手法を取ることが可能である。すなわち、管理データ用オリジナルブロックOBMのメモリセルには、多値で情報が書き込まれ、サブブロックSBには、2値モードと呼ばれる方法で情報が書き込まれる。以下、このことについて、図14、図15を参照して説明する。図14は、2値メモリと多値メモリの記憶状態を概略的に示す図である。図15は、多値メモリの2値モードで記憶状態を概略的に示す図である。
NAND型フラッシュメモリは、2値メモリと、多値メモリとに区別することができる。図14(a)に示すように、2値メモリでは、1つのメモリセルMCが、論理“0”または論理“1”の1ビットのデータのみ記憶する。これに対して、図14(b)に示すように、多値メモリでは、1つのメモリセルMCが、例えば2ビットのデータを記憶できる。
例えば、「01101111」なる8ビットのデータの書き込み要求が来た場合、2値メモリの場合、例えば物理アドレスの連続する8個のメモリセルMCのそれぞれが、8ビットのデータの1ビットの記憶を受け持つ。そして、この8個のビットの塊に1つのページアドレスが割り当てられる。
一方、多値メモリの場合は、例えばメモリセルのそれぞれが、2ビットのデータの記憶を受け持つ。そして、各2ビットのデータには相互に異なるページアドレスが割り当てられる。例えば、各メモリセルMCの上位ビットの塊に対して1つのページアドレスが割り当てられ、下位ビットの塊に対して1つのページアドレスが割り当てられる。上位ビット群に割り当てられたページは、例えば、アッパーページ(upper page)と呼ばれ、下位ビット群に割り当てられたページは、例えば、ロアーページ(lower page)と呼ばれる。
多値メモリの1つのメモリセルMCに2ビットのデータが書き込まれる場合、2回の書き込みが行なわれる。すなわち、ロアーページアドレスに対するデータの書き込みと、アッパーページアドレスに対するデータの書き込みが行なわる。
現在の多値メモリの書き込み規則として、ロアーページを書き込んだ後に、アッパーページを書き込むことは可能で、アッパーページを書き込んだ後にロアーページを書き込むことは禁止されていることがある。この規則に従った場合、ロアーページの書き込み時に、何らかの異常事態(電源の瞬断など)が発生し、メモリセルMCの記憶状態が破壊された場合、アッパーページのデータは書き込まれていないので、破壊されるデータはロアーページに書き込まれるべきデータのみである。
しかしながら、アッパーページの書き込みに失敗し、メモリセルの記憶状態を破壊した場合、既書き込みのロアーページのデータも一緒に破壊されてしまう。破壊されたデータは、一般にフラッシュメモリ11内には残っておらず、残っているとしてもホスト機器2内のみである。したがって、ホスト機器2からデータを再送することを除けば(好ましい処理ではない)、フラッシュメモリ11内では完全にデータが失われてしまう。
上記のように、FATなどの管理データは、クラスタ単位に分割されたデータを元のファイルへと復元するために必要なデータである。このため、管理データが破壊されると、元のファイルを復元することができなくなってしまう。
そこで、管理データがサブブロックSBに書き込まれる際は、多値のメモリセルが2値のメモリセルとして使用される。こうすることにより、多値のデータが書き込まれる場合よりメモリセル当たりの記憶容量は低下するが、アッパーページに書き込まれる際に、既書き込みのロアーページの管理データが破壊されることが防止される。この書き込み方法は、例えば「2値モード」等と呼ばれる。
多値メモリセルを2値メモリセルとして使用する方法は、例えば、図15にも示すように、以下の2通りが考えられる。1つは、アッパーページおよびロアーページのうち一方にのみデータが書き込まれる(図15(a))。もう1つは、アッパーページとロアーページとの両方に、同一のデータが書き込まれる(図15(b))。このように2通りの方法があるが、いずれの方法によっても、1つのメモリセルに1ページ分のデータ(1ビット分のデータ)しか書き込まれない。このため、データの書き込みに失敗した場合に、既書き込みのデータまでもが破壊されることが防止される。
なお、管理データ用オリジナルブロックOBのメモリセルには、データ用オリジナルブロックOBDと同様、多値のデータが記憶され(多値モードで書き込まれる)、2値モードで書き込まれない。この理由について説明する。すなわち、管理データ用オリジナルブロックOBのメモリセルMCには、多値モードで書き込まれるため、再構成の場合等にアッパーページのデータの書き込みに失敗したことによって、ロアーページのデータが破壊される可能性がある。しかしながら、その場合でも、破壊された管理データ用オリジナルブロックOBのロアーページのデータは、サブブロックSBに記憶されている。このため、管理データ用オリジナルブロックOBの場合、アッパーページの書き込みに失敗しても、管理データが完全に失われることはない。
本発明の一実施形態に係るメモリカードによれば、管理データを格納する管理データ用オリジナルブロックが、ブロックが含むページ数nより少ない数のアドレスのデータを格納し、n個のアドレス分の管理データが複数の管理データ用オリジナルブロックに割り振られる。このため、管理データ用オリジナルブロックOBMを1つ再構成する際の読み出しおよび書き込みのサイクルはn未満である。
サブブロック内の各アドレスの最新の管理データの全てを、いずれかの管理データ用オリジナルブロックOBMへとコピーするのに要する時間の総計は、1つの管理データ用オリジナルブロックに割り当てられたアドレスの数によらず一定である。しかしながら、少なくとも、本実施形態によれば、1回の再構成に要する時間は、各管理データ用オリジナルブロックに管理データ用オリジナルブロックが含むページ数と同数のアドレスが割り当てられた場合より少ない。このため、再構成の際にビジー信号の持続時間が規定の時間を超えることを回避できる。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明の実施形態のメモリカードの構成を示す概略図。 本発明の実施形態のメモリカードにおける信号ピンに対する信号割り当てを示す図。 本発明の実施形態のメモリカードのハード構成を示すブロック図。 本発明の実施形態のメモリカードにおけるレジスタ部の詳細な構成を示す図。 本発明の実施形態のメモリカード内のフラッシュメモリにおけるメモリセルとバッファの構造を示す図。 各動作モードにおけるSDバス信号ピンに対する信号割り当てを示す図。 FATファイルシステムを示す構成図。 FAT、ルートディレクトリエントリ内のデータの一例を示す図。 本発明の実施形態のメモリカードのメモリの構成を示す図。 本発明の実施形態のメモリカードへの書き込み方法を説明するための図。 本発明の実施形態のメモリカードへの書き込み方法を説明するための図。 本発明の実施形態のメモリカードへの書き込み方法を説明するための図。 本発明の実施形態のメモリカードへの書き込み動作を示すフローチャート。 2値メモリと多値メモリの記憶状態を概略的に示す図。 多値メモリの2値モードで記憶状態を概略的に示す図。 従来のメモリカードへの書き込み方法を説明するための図。
符号の説明
1…メモリカード、2…ホスト機器、11…フラッシュメモリ、12…カードコントローラ、13…信号ピン、OBD1乃至OBDn…データ用オリジナルブロック、OBM1乃至OBMn…管理データ用オリジナルブロック、SB1乃至SBn…サブブロック、OP、SP…ページ。

Claims (5)

  1. n(nは自然数)個の書き込み単位領域からなる第1オリジナルブロックと、n個の前記書き込み単位領域からなる第2オリジナルブロックと、複数の前記書き込み単位領域からなる第1サブブロックと、複数の前記書き込み単位領域からなる第2サブブロックと、を含む不揮発性半導体メモリと、
    第1アドレス乃至第p(pはp<nを満たす自然数)アドレスのいずれかを付されたデータを前記第1オリジナルブロックに書き込み、第p+1アドレス乃至第m(mはp+2≦m≦nを満たす自然数)アドレスのいずれかを付されたデータを前記第2オリジナルブロックに書き込み、前記第1アドレス乃至前記第pアドレスのいずれかの第1書き込みアドレスを付されたデータの書き込み要求を受け且つ前記第1書き込みアドレスを付されたデータが前記第1オリジナルブロックに書き込み済みの場合に前記第1書き込みアドレスを付された書き込み要求対象のデータを前記第1サブブロックに書き込み、前記第p+1アドレス乃至前記第mアドレスのいずれかの第2書き込みアドレスを付されたデータの書き込み要求を受け且つ前記第2書き込みアドレスを付されたデータが前記第2オリジナルブロックに書き込み済みの場合に前記第2書き込みアドレスを付された書き込み要求対象のデータを前記第2サブブロックに書き込むコントローラと、
    を具備することを特徴とするメモリシステム。
  2. n個の前記書き込み単位領域からなる第3オリジナルブロックと、n個の前記書き込み単位領域からなる第4オリジナルブロックと、をさらに含み、
    前記コントローラが、前記第1サブブロック内の前記第1乃至第pアドレスをそれぞれ付された第1データ乃至第pデータのそれぞれの最新のものを、前記第3オリジナルブロックに書き込み、
    前記コントローラが、前記第2サブブロック内の前記第p+1乃至第mアドレスをそれぞれ付された第p+1データ乃至第nデータのそれぞれの最新のものを、前記第4オリジナルブロックに書き込む、
    ことを特徴とする請求項1に記載のメモリシステム。
  3. 前記第1オリジナルブロック、第2オリジナルブロックに書き込まれるデータが、前記不揮発性半導体メモリに書き込まれる実体的なデータの管理情報を含むことを特徴とする請求項1に記載のメモリシステム。
  4. 前記コントローラが、
    前記第1オリジナルブロックおよび前記第2オリジナルブロックには、前記書き込み要求対象のデータの論理アドレス順に、前記第1オリジナルブロックおよび前記第2オリジナルブロックの低位の前記アドレスの前記書き込み単位領域から高位の前記アドレスの前記書き込み単位領域に向かって前記データを書き込み、
    前記第1サブブロックおよび前記第2サブブロックには、前記書き込み要求対象のデータの前記アドレスの順番によらずに、前記第1サブブロックおよび前記第2サブブロックの低位の前記アドレスの前記書き込み単位領域から高位の前記アドレスの前記書き込み単位領域に向かって前記書き込み要求対象のデータを書き込む、
    ことを特徴とする請求項1に記載のメモリシステム。
  5. 前記不揮発性半導体メモリのメモリセルが多ビットを記憶し、
    前記コントローラが、前記第1サブブロックおよび前記第2サブブロックを構成する前記メモリセルに、1ビットの情報を書き込む、
    ことを特徴とする請求項1に記載のメモリシステム。
JP2005283388A 2005-09-29 2005-09-29 メモリシステム Active JP4751163B2 (ja)

Priority Applications (8)

Application Number Priority Date Filing Date Title
JP2005283388A JP4751163B2 (ja) 2005-09-29 2005-09-29 メモリシステム
PCT/JP2006/319828 WO2007037507A1 (en) 2005-09-29 2006-09-27 Memory system and method of writing into nonvolatile semiconductor memory
KR1020077012008A KR100899242B1 (ko) 2005-09-29 2006-09-27 메모리 시스템 및 불휘발성 반도체 메모리 기입 방법
CNB2006800013096A CN100527097C (zh) 2005-09-29 2006-09-27 存储器系统以及写入非易失性半导体存储器中的方法
TW095136289A TWI316207B (en) 2005-09-29 2006-09-29 Memory system and method of writing into nonvolatile semiconductor memory
US11/758,035 US7872922B2 (en) 2005-09-29 2007-06-05 Memory system and method of writing into nonvolatile semiconductor memory
US12/967,769 US8130557B2 (en) 2005-09-29 2010-12-14 Memory system and method of writing into nonvolatile semiconductor memory
US13/368,693 US8310896B2 (en) 2005-09-29 2012-02-08 Memory system and method of writing into nonvolatile semiconductor memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005283388A JP4751163B2 (ja) 2005-09-29 2005-09-29 メモリシステム

Publications (2)

Publication Number Publication Date
JP2007094764A JP2007094764A (ja) 2007-04-12
JP4751163B2 true JP4751163B2 (ja) 2011-08-17

Family

ID=37899914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005283388A Active JP4751163B2 (ja) 2005-09-29 2005-09-29 メモリシステム

Country Status (6)

Country Link
US (3) US7872922B2 (ja)
JP (1) JP4751163B2 (ja)
KR (1) KR100899242B1 (ja)
CN (1) CN100527097C (ja)
TW (1) TWI316207B (ja)
WO (1) WO2007037507A1 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7702846B2 (en) * 2005-03-15 2010-04-20 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
JP4356782B2 (ja) * 2007-09-12 2009-11-04 ソニー株式会社 メモリ装置、メモリ制御方法、およびプログラム
US8429329B2 (en) 2007-10-17 2013-04-23 Micron Technology, Inc. Serial interface NAND
US7814276B2 (en) * 2007-11-20 2010-10-12 Solid State System Co., Ltd. Data cache architecture and cache algorithm used therein
TWI368223B (en) * 2007-12-07 2012-07-11 Phison Electronics Corp Flash memory data writing method and controller using the same
JP5032371B2 (ja) 2008-03-01 2012-09-26 株式会社東芝 メモリシステム
KR101067457B1 (ko) * 2008-03-01 2011-09-27 가부시끼가이샤 도시바 메모리 시스템
JP4558054B2 (ja) * 2008-03-11 2010-10-06 株式会社東芝 メモリシステム
TWI399651B (zh) * 2008-09-12 2013-06-21 Communication protocol method and system for input / output device
US8438325B2 (en) * 2008-10-09 2013-05-07 Cadence Design Systems, Inc. Method and apparatus for improving small write performance in a non-volatile memory
TWI413984B (zh) 2008-10-16 2013-11-01 Silicon Motion Inc 快閃記憶體裝置以及資料更新方法
JP2010152778A (ja) * 2008-12-26 2010-07-08 Hitachi Ulsi Systems Co Ltd 半導体記憶装置
US8724401B2 (en) * 2009-09-29 2014-05-13 Seagate Technology Llc Data stripes and addressing for flash memory devices
US20120324182A1 (en) * 2010-03-04 2012-12-20 Nec Software Tohoku, Ltd. Storage device
JP4818453B1 (ja) * 2010-07-30 2011-11-16 株式会社東芝 電子機器およびデータ読み出し方法
JP2012133416A (ja) * 2010-12-17 2012-07-12 Toshiba Corp メモリシステム
US9076528B2 (en) * 2011-05-31 2015-07-07 Micron Technology, Inc. Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
CN102279820A (zh) * 2011-08-24 2011-12-14 四川和芯微电子股份有限公司 基于spi接口的数据存储装置及控制方法
US9298606B2 (en) 2011-09-30 2016-03-29 Intel Corporation Statistical wear leveling for non-volatile system memory
US9305112B2 (en) * 2012-09-14 2016-04-05 International Business Machines Corporation Select pages implementing leaf nodes and internal nodes of a data set index for reuse
CN104008069B (zh) * 2013-02-22 2018-06-15 中兴通讯股份有限公司 一种数据保护方法、装置及设备
EP2965318B1 (en) * 2013-03-07 2018-05-02 Charles I. Peddle High speed flash controllers
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US10157680B2 (en) * 2015-12-22 2018-12-18 Sandisk Technologies Llp Sub-block mode for non-volatile memory
CN107818808B (zh) * 2016-09-14 2023-09-12 群联电子股份有限公司 数据写入方法、存储器控制电路单元与存储器存储装置
JP7109949B2 (ja) * 2018-03-23 2022-08-01 キオクシア株式会社 メモリシステム及びメモリシステムの制御方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP2003233993A (ja) * 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の書き換え方法
JP3699942B2 (ja) 2002-03-25 2005-09-28 株式会社東芝 メモリ管理方式およびメモリ管理装置
JP2004086991A (ja) 2002-08-27 2004-03-18 Renesas Technology Corp 不揮発性記憶装置
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
JP4218406B2 (ja) 2003-04-25 2009-02-04 富士フイルム株式会社 情報記録再生方法
TW200504577A (en) * 2003-07-16 2005-02-01 Matsushita Electric Ind Co Ltd Management method for data storage in data recording medium, and information processing device using the same
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
KR20060134011A (ko) * 2003-12-30 2006-12-27 쌘디스크 코포레이션 메모리 플레인 배열을 갖춘 비휘발성 메모리 및 방법
KR20070005730A (ko) * 2004-04-28 2007-01-10 마츠시타 덴끼 산교 가부시키가이샤 불휘발성 기억장치 및 데이터 기록방법
JP4157501B2 (ja) 2004-06-30 2008-10-01 株式会社東芝 記憶装置
JP4561246B2 (ja) * 2004-08-31 2010-10-13 ソニー株式会社 メモリ装置
JP4192129B2 (ja) 2004-09-13 2008-12-03 株式会社東芝 メモリ管理装置

Also Published As

Publication number Publication date
US7872922B2 (en) 2011-01-18
US20070245181A1 (en) 2007-10-18
WO2007037507A1 (en) 2007-04-05
TWI316207B (en) 2009-10-21
US20110087831A1 (en) 2011-04-14
US8310896B2 (en) 2012-11-13
TW200721016A (en) 2007-06-01
KR20070085481A (ko) 2007-08-27
JP2007094764A (ja) 2007-04-12
US20120144100A1 (en) 2012-06-07
WO2007037507A9 (en) 2007-05-24
CN101069163A (zh) 2007-11-07
US8130557B2 (en) 2012-03-06
KR100899242B1 (ko) 2009-05-27
CN100527097C (zh) 2009-08-12

Similar Documents

Publication Publication Date Title
JP4751163B2 (ja) メモリシステム
JP4991320B2 (ja) ホスト装置およびメモリシステム
US7392343B2 (en) Memory card having a storage cell and method of controlling the same
US8566504B2 (en) Dynamic metablocks
US7890732B2 (en) Memory card and semiconductor device
KR101060089B1 (ko) 온-칩 데이터 그룹화 및 정렬
US8307172B2 (en) Memory system including memory controller and separately formatted nonvolatile memory to avoid “copy-involving write” during updating file data in the memory
KR100687151B1 (ko) 메모리 카드, 반도체 장치, 및 반도체 메모리의 제어 방법
US20080046639A1 (en) Memory system with nonvolatile semiconductor memory
JP4956068B2 (ja) 半導体記憶装置およびその制御方法
JP2010026933A (ja) メモリシステム、ホスト装置
WO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US20060026340A1 (en) Memory card, card controller mounted on the memory card, and device for processing the memory card
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
CN108231119B (zh) 用每单元分数比特低延迟读取快闪存储设备的方法和装置
KR20070061543A (ko) 메모리 관리 방법, 메모리 장치 및 컴퓨터 판독 가능 저장매체
CN114625323A (zh) 一种安全nand闪存设备
US8713242B2 (en) Control method and allocation structure for flash memory device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110520

R151 Written notification of patent or utility model registration

Ref document number: 4751163

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350