JPWO2007105688A1 - メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム - Google Patents

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

Info

Publication number
JPWO2007105688A1
JPWO2007105688A1 JP2008505134A JP2008505134A JPWO2007105688A1 JP WO2007105688 A1 JPWO2007105688 A1 JP WO2007105688A1 JP 2008505134 A JP2008505134 A JP 2008505134A JP 2008505134 A JP2008505134 A JP 2008505134A JP WO2007105688 A1 JPWO2007105688 A1 JP WO2007105688A1
Authority
JP
Japan
Prior art keywords
data
memory
write
storage memory
main
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
Application number
JP2008505134A
Other languages
English (en)
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
Publication of JPWO2007105688A1 publication Critical patent/JPWO2007105688A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks

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)
  • Read Only Memory (AREA)

Abstract

論理セクタLS0〜LS3の書き換え処理において、転送されたLS0〜LS3のデータをメモリバッファ122に一時記憶しておき、バッファメモリ122がフルとなった時点でフラッシュメモリ130に書き込む。外部からの最小書き込み単位(セクタ)よりも容量の大きい書き込み単位(ページ)を備えたフラッシュメモリへの書き換え処理において、退避処理を削減し、データの書き換えを高速に行う。これにより、セクタ単位での書き換え時において発生していた、旧データの退避処理を合理化することができ、データの書き換え速度を向上できる。

Description

本発明は、書き換え可能な不揮発性メモリを備えた不揮発性記憶装置、及びこれを制御するメモリコントローラ、及び不揮発性記憶システムに関する。
書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。かかる半導体メモリカードには様々な種類があり、その一つとしてSDメモリカード(登録商標)がある。このSDメモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ(パソコン)等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。
このようなSDメモリカードをパソコン等のアクセス装置に取り付けて、パソコン側からリムーバブルディスクと見なしてFATファイルシステムで管理し、データのアクセスを行うことを考える。
そもそもFATファイルシステムは、記録デバイスへファイルやデータを記録する際にファイル・アローケション・テーブル(FAT)を用いて、通常「クラスタ」ごとにデータ読み書きを指示するシステムである。クラスタは、データ書き込みの最小単位である「セクタ」を複数まとめた単位である。
SDメモリカードを構成するフラッシュメモリは、従来、フラッシュメモリの書き込み単位であるページサイズと、前述したデータ書き込みの最小単位であるセクタサイズとが例えば512バイトで同一であったが、近年、フラッシュメモリの大容量化と高速化のニーズに伴い、例えば多値NANDフラッシュメモリのようにページサイズが2kバイトのフラッシュメモリが主流になってきている。
このようなフラッシュメモリで構成されるメモリカードにおいて、例えば論理セクタ番号(以下、LSという)0の1セクタ分のデータを書き換えるとする。このときLS0を〜LS3までの4セクタ分のデータがメモリカードに書き込み済みであった場合、LS1〜LS3までの3セクタ分のデータを読み出し、読み出した3セクタ分のデータとLS0の1セクタ分の書き換え用のデータとを、まとめて消去済みの物理ブロックの先頭ページに新規に書き込む。この3セクタ分の読み出し及び書き込み処理のことを、以降、「退避処理」という。このような書き換え処理の技術としては、例えば、特許文献1に開示されたものがある。
この「退避処理を伴う書き換え手法」の処理手順の概略は以下の通りである。なお、フラッシュメモリの物理ブロック内において、セクタは論理順すなわち物理ブロックの下位アドレス側(アドレス値が小さい方)から順番に、論理セクタ番号0,1,…となるように配置されていて、以下の手順でデータの書き込みが行われる。
1)アクセス装置から指定される論理アドレスを受取るステップ
2)論理アドレスを主記憶メモリ上の物理アドレスに変換するステップ
3)ページに記憶されているデータの1セクタ(例えばセクタ番号が0のデータ)のみを新データに書き換える場合、変更されない旧データ(例えばLS1〜LS3のデータ)をフラッシュメモリからSRAM等のバッファメモリに読み出すステップ
4)LS0の新データを、バッファメモリに書き込むステップ
5)バッファメモリに一時記憶されたデータLS0〜LS3を、前記ページを含む物理ブロックとは別の消去済み物理ブロックに書き込むステップ
6)旧データが記録されていた物理ブロックを未使用の物理ブロックに割り当てるステップ
7)当該未使用の物理ブロックの内容を消去するステップ
以上の説明からわかるように、「退避処理を伴う書き換え手法」は、1セクタの書き換えにもかかわらず、変更されない旧データについて退避処理が必要となる為、煩雑で時間のかかる処理となっている。
このような問題に対応したものとして、例えば、特許文献2に開示されている技術がある。特許文献2には、前述したバッファメモリを不揮発性RAMに置き換えた技術について、開示されている。
本手法が採用されるフラッシュメモリに関しては、物理ブロック内のセクタ配置順は論理順という制約はなく、書き込み指示がなされた順に物理ブロックの下位ページ側から書き込まれるようになっている。また、各セクタが書き込まれたページ毎に、有効データが書き込まれているか、あるいは旧データなので無効なのか、といったように、記録状態を管理するものであって、「追記型書き換え手法」と呼ぶことにする。
この追記型書き換え手法では、アクセス装置からのデータ書き込み指示の都度、データの退避処理が発生しないので、書き込み自体は比較的高速に行われるが、あるタイミングで集約処理が必要となる。集約処理は所定ブロックから有効なセクタのみ集めて別の消去済みブロックに書き写し、無効となったブロックを消去する処理である。
米国特許第6760805号明細書 特開平5−27924号公報
しかしながら、前述した追記型書き換え手法における集約処理は比較的長い時間を要するものであり、これに費やす時間を考え合わせると、追記型書き換え手法のデータライト時の平均的なパフォーマンスは、それほど高いとは言い難い。
そこで、本発明は、上記問題点に鑑み、退避処理を伴う書き換え手法において、従来よりも退避処理を合理化し、データ書き込みを高速に行うことができるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供することを目的とする。
この課題を解決するために、本発明のメモリコントローラは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた不揮発性の主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラであって、少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するものである。
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。
ここで前記メモリコントローラは、外部より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を具備するようにしてもよい。
この課題を解決するために、本発明の不揮発性記憶装置は、不揮発性の主記憶メモリと、前記主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラと、を有する不揮発性記憶装置であって、前記主記憶メモリは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えており、前記メモリコントローラは、少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するものである。
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。
ここで前記メモリコントローラは、外部より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備するようにしてもよい。
この課題を解決するために、本発明の不揮発性記憶システムは、不揮発性記憶装置と、アクセス装置とを有する不揮発性記憶システムであって、前記アクセス装置は、前記不揮発性記憶装置にアクセスしてコマンド、論理アドレスとデータとを送出するものであり、前記不揮発性記憶装置は、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた主記憶メモリと、前記アクセス装置より転送された論理アドレスに応じて、前記主記憶メモリ内にデータを書き込み、前記主記憶メモリ内に記憶されたデータを読み出すメモリコントローラと、を具備し、前記メモリコントローラは、少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を有するものである。
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。
ここで前記メモリコントローラは、前記アクセス装置より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備するようにしてもよい。
ここで補助記憶メモリは、不揮発性RAMとすることができ、例えば強誘電体メモリ(FeRAM)、磁性記録式随時書き込み読み出しメモリ(MRAM)、オボニックユニファイドメモリ(OUM)、レジスタンスRAM(RRAM)のうちのいずれか1つで構成することができる。
本発明によれば、主記憶メモリに外部から与えられたデータを書き込むに際し、前記データを一時的に補助記憶メモリに記憶(バッファリング)し、その後、該補助記憶メモリ内の複数のデータをまとめて取り出した上で主記憶メモリに記憶させるようにしているために、退避処理を合理化でき、データ書き込みを高速に行うことが可能となる。不揮発性記憶メモリのページに一括して複数セクタを書き込めるので、ページの分割書き込みが保証されていない多値NANDフラッシュメモリに対しても、退避処理を削減することができる。
図1は本発明の実施例にかかる不揮発性記憶システムの構成を示すブロック図である。 図2は同実施例による不揮発性記憶装置のフラッシュメモリ内に複数設けられた物理ブロックのフォーマットを示した図である。 図3は同実施例による不揮発性記憶装置のバッファメモリのフォーマットを示した概念図である。 図4は同実施例による不揮発性記憶装置の読み書き制御部の書き込み処理を示すフローチャートである。 図5は同実施例による不揮発性記憶システムの書き換え処理の流れを示した模式図である。 図6は従来の不揮発性記憶システムの書き換え処理の流れを示した模式図である。
符号の説明
100 アクセス装置
110 不揮発性記憶装置
120 メモリコントローラ
121 CPU部
122 不揮発性の補助記憶メモリ(バッファメモリ)
123 読み書き制御部
124 書き込み完了通知部
130 不揮発性の主記憶メモリ(フラッシュメモリ)
以下、本発明の実施例による不揮発性記憶システムについて図面を用いて説明する。図1は、本実施例による不揮発性記憶システムの構成を示すブロック図である。不揮発性記憶システムは、アクセス装置100とアクセス装置100に接続される不揮発性記憶装置110とを含んでいる。
不揮発性記憶装置110は、メモリコントローラ120と、フラッシュメモリ130を有しており、その外部に設けられたアクセス装置100とアクセス可能である。フラッシュメモリ130は不揮発性主記憶メモリであり、後述するように多数の物理ブロックから構成される。
アクセス装置100は、メモリコントローラ120を介してフラッシュメモリ130にユーザデータ(以下、単にデータという)の読み書き命令と、そのデータが格納されている論理アドレスの送信と、データの送受信とを行う。メモリコントローラ120は、アクセス装置100からの読み書き命令を受けて、受け取ったデータをフラッシュメモリ130に書き込んだり、フラッシュメモリ130からデータを読み出してアクセス装置100へ出力する。
以下、不揮発性記憶装置110の詳細について述べる。不揮発性記憶装置110に備えられたメモリコントローラ120は、CPU部121、バッファメモリ122、読み書き制御部123、及び書き込み完了通知部124を有している。CPU部121はアクセス装置100との送受信の制御やフラッシュメモリ130への読み書きにおけるアドレス管理等を行うものである。バッファメモリ122は、アクセス装置100からフラッシュメモリ130へ書き込まれる前のデータや、フラッシュメモリ130から読み出したデータを一時的に記憶する不揮発性の補助記憶メモリである。
バッファメモリ122は、不揮発性RAMで構成することが好ましく、例えば強誘電体メモリ(FeRAM)、磁性記録式随時書き込み読み出しメモリ(MRAM)、オボニックユニファイドメモリ(OUM)、レジスタンスRAM(RRAM)等とする。
読み書き制御部123は、CPU部121が指定した物理アドレスに基づいて、フラッシュメモリ130内にデータを書き込んだり、フラッシュメモリ130内のデータを読み出したりするものである。バッファメモリ122に記憶されているデータの読み書き制御も読み書き制御部123が行う。
書き込み完了通知部124は、アクセス装置100からデータの書き込みコマンドとデータが転送されたときにバッファメモリ122にデータを書き込んだ後、ストップコマンドが与えられる毎に書き込み完了をアクセス装置100側に通知するものである。
なお、CPU部121が実行する論理物理変換処理、すなわち、アクセス装置100が指定した論理アドレスをフラッシュメモリ130の物理アドレスに変換する処理などのアドレス管理処理には、一般的に公知の技術であるので簡単の為に説明を省略する。
図2は、フラッシュメモリ130内に設けられる物理ブロックのフォーマットを示したものである。図2に示すように、物理ブロックはPN0〜PN127までの128ページから構成される。各ページは4セクタ分のデータ領域と管理領域とからなる。本実施例においては、1セクタが512バイト、1ページは4セクタで構成され2048バイトである。管理領域はCPU部121のアドレス管理処理に必要な情報が記憶される領域であるが、詳細説明については省略する。
なお、図2で左上からPSN0,PSN1,…,PSN511というように物理的な配置記号を付している。PSNとはPhysical Sector Numberの頭文字をとった略号である。
図3は、バッファメモリ122のフォーマットを示したものである。この図に示すように、バッファメモリ122は物理ブロックの1ページ分のデータと論理アドレスを一時記憶できる容量を有しており、4つのワードに区分される。ここでワード番号WNを0〜3とする。各ワードは、データ領域122a、論理アドレス領域122b、及びバッファポインタフラグ領域122cに区分される。データ領域122aには1セクタ、即ち512バイト分のデータが記憶され、論理アドレス領域には当該データの論理アドレスが記憶される。論理アドレスはセクタ単位のアドレスであり、1GByte分のセクタを識別できるビット数(21ビット)を有している。
バッファポインタフラグ領域122cにはワード番号を識別するための1バイトのバッファポインタフラグが記憶される。バッファメモリ122にはアクセス装置100から転送されたデータが一時記憶されるが、バッファポインタbpにより、次にどのワードに記憶させるかを識別できるようになっている。バッファポインタフラグは、バッファポインタbpがどのワード番号を指示しているかを示す情報であり、値1となっているワード番号をバッファポインタbpが指し示していることとする。なお、読み書き制御部123はバッファポインタbpが値1となっている位置をワード番号単位で移動させることによりワード番号単位でバッファポインタbpをインクリメントする。
次に、本発明の実施例における不揮発性記憶システムの動作について、図面を用いて説明する。
[初期状態]
まず、出荷直後におけるバッファメモリ122やフラッシュメモリ130の内容について説明する。なお、簡単のため、フラッシュメモリ130内に記憶されているメーカコードやセキュリティ情報等のシステム領域については説明を省略し、通常領域すなわちユーザがデータを読み書きする領域についてのみ説明する。
出荷後のフラッシュメモリ130の良ブロック及びバッファメモリ122は全て消去された状態となっている。更にバッファメモリ122において、ワード番号WN0のバッファポインタフラグ領域に値1がセットされる。
電源投入後の初期化時において、CPU部121はフラッシュメモリ130において各物理ブロックの状態を管理できるように事前準備を行う。詳細については省略する。
初期化処理が終了したら、メモリコントローラ120はアクセス装置100からの読み書きコマンド等の受付状態に入る。
[通常動作時の処理]
次に、初期化後の通常動作時の書き込み処理について説明する。具体的には、アクセス装置100から転送されたデータをバッファメモリ122が一時記憶し、その後、一時記憶されたデータをフラッシュメモリ130に書き込む。図4は、読み書き制御部123における一連の書き込み処理のフローチャートを示したものである。
図4において、不揮発性記憶装置110は、初期化処理終了後すぐに、アクセス装置100からのコマンドの受信を待ち受ける。アクセス装置100から転送されたコマンドがライトコマンド(以下、WCMDという)であり、WCMDに続けて、データ及びそのデータの論理アドレスを受信すると(S100)、読み書き制御部123は、1セクタ分のデータと論理アドレスLA(論理セクタ番号)をバッファメモリ122に一時記憶させる(S101)。次いでバッファポインタbpをインクリメントする(S102)。アクセス装置100から転送終了コマンド(以下、ストップコマンドという)が転送されたかどうかをチェックする(S103)。ストップコマンドを受信した場合に、このデータの受信を確認するためメモリコントローラ120よりアクセス装置100に書込完了通知部124によって書き込み完了を通知する(S104)。次にステップS105においてバッファメモリが全ての領域にデータが記憶されている(full)かどうかをチェックする。全ての領域に記憶されているのでなければ、ステップS100に戻る。バッファメモリ122に4セクタ分全部が一時記憶されると、バッファメモリ122に更にデータを保持できないので、読み書き制御部123はバッファメモリ122からフラッシュメモリ130の所定物理ブロックのページに4セクタ分のデータを一括して書き込む(S106)。なお、所定物理ブロックとは、CPU部121の論理物理変換などのアドレス管理処理によって指定した物理ブロックであり、どの物理ブロックを指定するかについては説明を省略する。
又S100においてライトコマンド(WCMD)でなければ、S107に進んでバッファメモリ122にデータが保持されているかどうかを確認する。データが保持されていればバッファメモリ122のデータをフラッシュメモリ130に書き込んで(S108)、退避処理を行う。そしてそのコマンドに応じた処理を行う(S109)。バッファメモリにデータがなければこの処理を行うことなく他の処理を行う。こうすればアクセス装置がリードコマンドを発行したときに、メモリコントローラ120はフラッシュメモリ130から読み出したデータをバッファメモリ122に一時保持することができる。
尚、この実施例ではバッファメモリ122は不揮発性のメモリなので、1セクタ分のデータをバッファメモリ122に一時記憶し、ストップコマンドを受信した時点で、アクセス装置100に対して書き込み完了を通知するようにしているが、バッファメモリ122に保持されると直ちに書き込み完了を通知してもよく、ストップコマンドの有無にかかわらずバッファメモリ122の全領域に書き込まれたときに、バッファメモリ122からフラッシュメモリ130にデータを書き込んでから、書き込み完了を通知してもよい。
以上説明した読み書き制御部123の書き込み処理に基づき、アクセス装置100が論理セクタ番号0〜3の4セクタ分のデータを書き換える例について説明する。なお、本発明の実施例と従来との差異を明確にするために、まず先に、図5を用いて本実施例の説明をし、次に図6を用いて従来の説明をする。
図5は、本実施例における不揮発性記憶システムの書き換え処理の流れを模式的に示したものである。図5において、フラッシュメモリ130内の物理ブロックPB5のページ0にLS0〜LS3のデータが既に記憶されているものとする。またアクセス装置100から転送される新規データは、フラッシュメモリ130内の消去済みブロックである物理ブロックPB0のページ0に書き込まれるものとする。さて、アクセス装置100からWCMDが2回転送されるものとし、最初のWCMDをWCMD1、次のWCMDをWCMD2と表記する。
さて不揮発性記憶装置110はWCMD1を受信し、次いで論理セクタ番号0のデータ(LS0)を受信すると、図5に示すようにバッファメモリ122に一時記憶する。アクセス装置100は、LS0の1セクタ分を転送した後に、すぐにストップコマンド(STOP)を転送するものとする。これに対しメモリコントローラ120は書き込み完了を通知する。
その後、アクセス装置100は、WCMD2を転送し、引き続き論理セクタ番号1〜3までの3セクタ分のデータ(LS1、LS2、LS3)を転送する。不揮発性記憶装置110はLS0に続いて、LS1、LS2、LS3をバッファメモリ122に順番に一時記憶する。このときバッファポインタbpが順次インクリメントされる。
LS3が記憶された時点で、バッファメモリ122はフルとなり、読み書き制御部123はフルになったことを認識して、バッファメモリ122に一時記憶されたLS0〜LS3を一括して消去済みの物理ブロックPB0のページ0に書き込む。なお、LS0〜LS3の旧データは物理ブロックPB5のページ0に記憶されているが、LS0〜LS3の新データを一括して物理ブロックPB0のページ0に書き込むため、旧データの退避処理は不要となる。その後ストップコマンドを受信すると、書き込み完了通知をアクセス装置100に送信する。尚、旧データを記憶した物理ブロックPB5のページ0はある適当なタイミングで消去されるが、消去動作については簡単のため省略する。
次に図6を用いて従来の説明をする。従来の不揮発性記憶装置はバッファメモリとしてSRAMなどの揮発性メモリを使用しており、電源遮断を考慮して、WCMD〜STOPまでの処理単位毎にバッファメモリ200からフラッシュメモリ201に書き込んでいた。またバッファメモリとしては、4セクタ分の容量とする。
まず物理ブロックPB5のページ0にLS0〜LS3の旧データが既に記憶されているものとする。また新規データ書き込み予定の物理ブロックPB0,PB1は消去済みブロックであるとする。
図6において、WCMD1の受信後、LS0をバッファメモリ200に一時記憶する。次いで、ストップコマンドを受信すると、バッファメモリ200上のLS0を物理ブロックPB0のページ0のPSN0の位置に書き込むと同時に、物理ブロックPB5のページ0に記憶されている旧データの内、LS1〜LS3を、物理ブロックPB0のページ0のPSN1〜3の位置に破線で示すように書き込む。これにより退避処理を行う。
その後、アクセス装置がWCMD2を転送し、続けてLS1〜LS3を順次送信すると、不揮発性記憶装置はこのデータLS1〜LS3を逐次バッファメモリ200に書き込む。更にストップコマンドを受信すると、実線で示すように不揮発性記憶装置は新たな物理ブロックPB1のページ0の所定のセクタ記憶位置LS1〜LS3を書き込む。これと同時に、物理ブロックPB0のページ0に記憶されている旧データのうちLS0を破線で示すように物理ブロックPB1のページ0に書き込む。
以上、図5と図6を用いて、本発明の実施例の動作を従来例の動作と対比させながら書き換え処理の例について説明したが、本実施例の方が従来よりも退避処理が少なくなり、書き換え速度が速いことがわかる。具体的には、従来のLS0〜LS3の書き換え例においては、従来は2回のページライトが必要であったのに対して、本実施例では、1回のページライトで済む。
さて、図5に示した本発明の実施例における書き換え処理においては、アクセス装置より転送されたデータを一旦不揮発性のバッファメモリ122に一時記憶し、ストップコマンドが転送されたとき、及びバッファメモリ122がフルになった時点で一括してページに書き込むようにした。このため、例えば多値NANDフラッシュメモリなどの分割書き込みが保証されていないメモリに対しても、退避処理を削減するといった効果を奏することとなる。また、本発明の実施例においては、バッファメモリ122がフルになった時点でフラッシュメモリ130への書き込みを実施しているが、2セクタ以上の所定セクタ分一時記憶された時点でフラッシュメモリ130への書き込みを実施してもよい。この場合は退避処理が必要となるが、従来の書き換えに比べて退避処理の回数が少なくてすむ。また、バッファメモリ122は論理アドレス領域を備えているので、アクセス装置100から論理アドレス順番でない、例えばLS2→LS0→LS3→LS1の順に書き込み指示がきても、読み書き制御部123が論理アドレス領域に記憶された論理セクタ番号に基づいて論理順にバッファメモリ122から読み出しフラッシュメモリ130に転送すればよい。
本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムは、主記憶メモリとしてアクセス装置からの最小書き込み単位(セクタ)よりも容量の大きい書き込み単位(ページ)を備えたフラッシュメモリ等の不揮発性メモリを使用し、且つバッファメモリとして不揮発性メモリを用いて退避処理を合理化することにより高速なデータ書き込みを行うことができる。本発明にかかる装置は、静止画記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体として利用可能である。

Claims (9)

  1. 外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた不揮発性の主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラであって、
    少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
    前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するメモリコントローラ。
  2. 前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項1記載のメモリコントローラ。
  3. 前記メモリコントローラは、
    外部より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を具備する請求項1記載のメモリコントローラ。
  4. 不揮発性の主記憶メモリと、前記主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラと、を有する不揮発性記憶装置であって、
    前記主記憶メモリは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えており、
    前記メモリコントローラは、
    少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
    前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備する不揮発性記憶装置。
  5. 前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項4記載の不揮発性記憶装置。
  6. 前記メモリコントローラは、
    外部より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項4記載の不揮発性記憶装置。
  7. 不揮発性記憶装置と、アクセス装置とを有する不揮発性記憶システムであって、
    前記アクセス装置は、前記不揮発性記憶装置にアクセスしてコマンド、論理アドレスとデータとを送出するものであり、
    前記不揮発性記憶装置は、
    外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた主記憶メモリと、
    前記アクセス装置より転送された論理アドレスに応じて、前記主記憶メモリ内にデータを書き込み、前記主記憶メモリ内に記憶されたデータを読み出すメモリコントローラと、を具備し、
    前記メモリコントローラは、
    少なくとも2セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
    前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を有する不揮発性記憶システム。
  8. 前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項7記載の不揮発性記憶システム。
  9. 前記メモリコントローラは、
    前記アクセス装置より転送された少なくとも1セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項7記載の不揮発性記憶システム。
JP2008505134A 2006-03-16 2007-03-12 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム Withdrawn JPWO2007105688A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006072326 2006-03-16
JP2006072326 2006-03-16
PCT/JP2007/054828 WO2007105688A1 (ja) 2006-03-16 2007-03-12 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム

Publications (1)

Publication Number Publication Date
JPWO2007105688A1 true JPWO2007105688A1 (ja) 2009-07-30

Family

ID=38509508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008505134A Withdrawn JPWO2007105688A1 (ja) 2006-03-16 2007-03-12 メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム

Country Status (3)

Country Link
US (1) US20090210612A1 (ja)
JP (1) JPWO2007105688A1 (ja)
WO (1) WO2007105688A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5268617B2 (ja) * 2008-12-17 2013-08-21 キヤノン株式会社 画像形成装置、画像形成装置の制御方法及びコンピュータプログラム
JP2011128826A (ja) * 2009-12-17 2011-06-30 Hitachi Ulsi Systems Co Ltd 記憶装置と半導体不揮発性メモリの記憶方法
EP2559036A1 (en) 2010-04-15 2013-02-20 Ramot at Tel-Aviv University Ltd. Multiple programming of flash memory without erase
JP5569936B2 (ja) 2010-08-11 2014-08-13 国立大学法人 東京大学 制御装置およびデータ記憶装置
US9305142B1 (en) * 2011-12-19 2016-04-05 Western Digital Technologies, Inc. Buffer memory protection unit
US9076530B2 (en) * 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
JP5714681B2 (ja) 2013-10-25 2015-05-07 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2582487B2 (ja) * 1991-07-12 1997-02-19 インターナショナル・ビジネス・マシーンズ・コーポレイション 半導体メモリを用いた外部記憶システム及びその制御方法
JPH1185609A (ja) * 1997-09-09 1999-03-30 Mitsubishi Electric Corp 半導体記憶装置及びそのデータ管理方法
US6760805B2 (en) * 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
JP4256175B2 (ja) * 2003-02-04 2009-04-22 株式会社東芝 不揮発性半導体メモリ
CN100470585C (zh) * 2004-03-31 2009-03-18 松下电器产业株式会社 存储卡和存储卡系统
CN100407178C (zh) * 2004-05-19 2008-07-30 松下电器产业株式会社 存储器控制电路、非易失性存储装置及存储器控制方法
JP4768237B2 (ja) * 2004-06-25 2011-09-07 株式会社東芝 携帯可能電子装置及び携帯可能電子装置の制御方法
US8051270B2 (en) * 2005-05-23 2011-11-01 Panasonic Corporation Memory controller, nonvolatile storage device, nonvolatile storage system, and memory control method
JP4418439B2 (ja) * 2006-03-07 2010-02-17 パナソニック株式会社 不揮発性記憶装置およびそのデータ書込み方法

Also Published As

Publication number Publication date
WO2007105688A1 (ja) 2007-09-20
US20090210612A1 (en) 2009-08-20

Similar Documents

Publication Publication Date Title
US8037232B2 (en) Data protection method for power failure and controller using the same
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US20070214309A1 (en) Nonvolatile storage device and data writing method thereof
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
US8606987B2 (en) Data writing method for flash memory and controller using the same
US20080028132A1 (en) Non-volatile storage device, data storage system, and data storage method
US7702846B2 (en) Memory controller, nonvolatile storage device, nonvolatile storage system, and data writing method
US8327068B2 (en) Memory module, memory controller, nonvolatile storage, nonvolatile storage system, and memory read/write method
US7649794B2 (en) Wear leveling method and controller using the same
JP5480913B2 (ja) 記憶装置、およびメモリコントローラ
US20090100290A1 (en) Memory controller, nonvolatile memory device, nonvolatile memory system, and data writing method
WO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
JP2006048893A (ja) 不良ブロック管理機能を有するフラッシュメモリ装置及びフラッシュメモリ装置の不良ブロック管理方法
JPWO2005083573A1 (ja) 半導体メモリ装置
JPWO2007105688A1 (ja) メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
US20100241788A1 (en) Flash memory writing mtheod and stroage system and controller using the same
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
US8572350B2 (en) Memory management, memory control system and writing method for managing rewritable semiconductor non-volatile memory of a memory storage system
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP2007233838A (ja) メモリシステムの制御方法
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100119

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110520