(57)【要約】  論理セクタＬＳ０〜ＬＳ３の書き換え処理において、転送されたＬＳ０〜ＬＳ３のデータをメモリバッファ１２２に一時記憶しておき、バッファメモリ１２２がフルとなった時点でフラッシュメモリ１３０に書き込む。外部からの最小書き込み単位（セクタ）よりも容量の大きい書き込み単位（ページ）を備えたフラッシュメモリへの書き換え処理において、退避処理を削減し、データの書き換えを高速に行う。これにより、セクタ単位での書き換え時において発生していた、旧データの退避処理を合理化することができ、データの書き換え速度を向上できる。
2007105688.tif 000002
【特許請求の範囲】
【請求項１】
外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた不揮発性の主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラであって、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するメモリコントローラ。
【請求項２】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項１記載のメモリコントローラ。
【請求項３】
前記メモリコントローラは、
外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を具備する請求項１記載のメモリコントローラ。
【請求項４】
不揮発性の主記憶メモリと、前記主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラと、を有する不揮発性記憶装置であって、
前記主記憶メモリは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えており、
前記メモリコントローラは、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備する不揮発性記憶装置。
【請求項５】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項４記載の不揮発性記憶装置。
【請求項６】
前記メモリコントローラは、
外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項４記載の不揮発性記憶装置。
【請求項７】
不揮発性記憶装置と、アクセス装置とを有する不揮発性記憶システムであって、
前記アクセス装置は、前記不揮発性記憶装置にアクセスしてコマンド、論理アドレスとデータとを送出するものであり、
前記不揮発性記憶装置は、
外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた主記憶メモリと、
前記アクセス装置より転送された論理アドレスに応じて、前記主記憶メモリ内にデータを書き込み、前記主記憶メモリ内に記憶されたデータを読み出すメモリコントローラと、を具備し、
前記メモリコントローラは、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を有する不揮発性記憶システム。
【請求項８】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項７記載の不揮発性記憶システム。
【請求項９】
前記メモリコントローラは、
前記アクセス装置より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項７記載の不揮発性記憶システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き換え可能な不揮発性メモリを備えた不揮発性記憶装置、及びこれを制御するメモリコントローラ、及び不揮発性記憶システムに関する。
【背景技術】
【０００２】
書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。かかる半導体メモリカードには様々な種類があり、その一つとしてＳＤメモリカード（登録商標）がある。このＳＤメモリカードは、不揮発性の主記憶メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ（パソコン）等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。【０００３】
このようなＳＤメモリカードをパソコン等のアクセス装置に取り付けて、パソコン側からリムーバブルディスクと見なしてＦＡＴファイルシステムで管理し、データのアクセスを行うことを考える。【０００４】
そもそもＦＡＴファイルシステムは、記録デバイスへファイルやデータを記録する際にファイル・アローケション・テーブル（ＦＡＴ）を用いて、通常「クラスタ」ごとにデータ読み書きを指示するシステムである。クラスタは、データ書き込みの最小単位である「セクタ」を複数まとめた単位である。【０００５】
ＳＤメモリカードを構成するフラッシュメモリは、従来、フラッシュメモリの書き込み単位であるページサイズと、前述したデータ書き込みの最小単位であるセクタサイズとが例えば５１２バイトで同一であったが、近年、フラッシュメモリの大容量化と高速化のニーズに伴い、例えば多値ＮＡＮＤフラッシュメモリのようにページサイズが２ｋバイトのフラッシュメモリが主流になってきている。【０００６】
このようなフラッシュメモリで構成されるメモリカードにおいて、例えば論理セクタ番号（以下、ＬＳという）０の１セクタ分のデータを書き換えるとする。このときＬＳ０を〜ＬＳ３までの４セクタ分のデータがメモリカードに書き込み済みであった場合、ＬＳ１〜ＬＳ３までの３セクタ分のデータを読み出し、読み出した３セクタ分のデータとＬＳ０の１セクタ分の書き換え用のデータとを、まとめて消去済みの物理ブロックの先頭ページに新規に書き込む。この３セクタ分の読み出し及び書き込み処理のことを、以降、「退避処理」という。このような書き換え処理の技術としては、例えば、特許文献１に開示されたものがある。【０００７】
この「退避処理を伴う書き換え手法」の処理手順の概略は以下の通りである。なお、フラッシュメモリの物理ブロック内において、セクタは論理順すなわち物理ブロックの下位アドレス側（アドレス値が小さい方）から順番に、論理セクタ番号０，１，…となるように配置されていて、以下の手順でデータの書き込みが行われる。
１）アクセス装置から指定される論理アドレスを受取るステップ
２）論理アドレスを主記憶メモリ上の物理アドレスに変換するステップ
３）ページに記憶されているデータの１セクタ（例えばセクタ番号が０のデータ）のみを新データに書き換える場合、変更されない旧データ（例えばＬＳ１〜ＬＳ３のデータ）をフラッシュメモリからＳＲＡＭ等のバッファメモリに読み出すステップ
４）ＬＳ０の新データを、バッファメモリに書き込むステップ
５）バッファメモリに一時記憶されたデータＬＳ０〜ＬＳ３を、前記ページを含む物理ブロックとは別の消去済み物理ブロックに書き込むステップ
６）旧データが記録されていた物理ブロックを未使用の物理ブロックに割り当てるステップ
７）当該未使用の物理ブロックの内容を消去するステップ【０００８】
以上の説明からわかるように、「退避処理を伴う書き換え手法」は、１セクタの書き換えにもかかわらず、変更されない旧データについて退避処理が必要となる為、煩雑で時間のかかる処理となっている。【０００９】
このような問題に対応したものとして、例えば、特許文献２に開示されている技術がある。特許文献２には、前述したバッファメモリを不揮発性ＲＡＭに置き換えた技術について、開示されている。【００１０】
本手法が採用されるフラッシュメモリに関しては、物理ブロック内のセクタ配置順は論理順という制約はなく、書き込み指示がなされた順に物理ブロックの下位ページ側から書き込まれるようになっている。また、各セクタが書き込まれたページ毎に、有効データが書き込まれているか、あるいは旧データなので無効なのか、といったように、記録状態を管理するものであって、「追記型書き換え手法」と呼ぶことにする。【００１１】
この追記型書き換え手法では、アクセス装置からのデータ書き込み指示の都度、データの退避処理が発生しないので、書き込み自体は比較的高速に行われるが、あるタイミングで集約処理が必要となる。集約処理は所定ブロックから有効なセクタのみ集めて別の消去済みブロックに書き写し、無効となったブロックを消去する処理である。
【特許文献１】米国特許第６７６０８０５号明細書
【特許文献２】特開平５−２７９２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、前述した追記型書き換え手法における集約処理は比較的長い時間を要するものであり、これに費やす時間を考え合わせると、追記型書き換え手法のデータライト時の平均的なパフォーマンスは、それほど高いとは言い難い。【００１３】
そこで、本発明は、上記問題点に鑑み、退避処理を伴う書き換え手法において、従来よりも退避処理を合理化し、データ書き込みを高速に行うことができるメモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
この課題を解決するために、本発明のメモリコントローラは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた不揮発性の主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラであって、少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するものである。【００１５】
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。【００１６】
ここで前記メモリコントローラは、外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を具備するようにしてもよい。【００１７】
この課題を解決するために、本発明の不揮発性記憶装置は、不揮発性の主記憶メモリと、前記主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラと、を有する不揮発性記憶装置であって、前記主記憶メモリは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えており、前記メモリコントローラは、少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するものである。【００１８】
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。【００１９】
ここで前記メモリコントローラは、外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備するようにしてもよい。【００２０】
この課題を解決するために、本発明の不揮発性記憶システムは、不揮発性記憶装置と、アクセス装置とを有する不揮発性記憶システムであって、前記アクセス装置は、前記不揮発性記憶装置にアクセスしてコマンド、論理アドレスとデータとを送出するものであり、前記不揮発性記憶装置は、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であるページを複数備えた主記憶メモリと、前記アクセス装置より転送された論理アドレスに応じて、前記主記憶メモリ内にデータを書き込み、前記主記憶メモリ内に記憶されたデータを読み出すメモリコントローラと、を具備し、前記メモリコントローラは、少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を有するものである。【００２１】
ここで前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込むようにしてもよい。【００２２】
ここで前記メモリコントローラは、前記アクセス装置より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備するようにしてもよい。【００２３】
ここで補助記憶メモリは、不揮発性ＲＡＭとすることができ、例えば強誘電体メモリ（ＦｅＲＡＭ）、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、レジスタンスＲＡＭ（ＲＲＡＭ）のうちのいずれか１つで構成することができる。
【発明の効果】
【００２４】
本発明によれば、主記憶メモリに外部から与えられたデータを書き込むに際し、前記データを一時的に補助記憶メモリに記憶（バッファリング）し、その後、該補助記憶メモリ内の複数のデータをまとめて取り出した上で主記憶メモリに記憶させるようにしているために、退避処理を合理化でき、データ書き込みを高速に行うことが可能となる。不揮発性記憶メモリのページに一括して複数セクタを書き込めるので、ページの分割書き込みが保証されていない多値ＮＡＮＤフラッシュメモリに対しても、退避処理を削減することができる。
【図面の簡単な説明】
【００２５】
【図１】図１は本発明の実施例にかかる不揮発性記憶システムの構成を示すブロック図である。
【図２】図２は同実施例による不揮発性記憶装置のフラッシュメモリ内に複数設けられた物理ブロックのフォーマットを示した図である。
【図３】図３は同実施例による不揮発性記憶装置のバッファメモリのフォーマットを示した概念図である。
【図４】図４は同実施例による不揮発性記憶装置の読み書き制御部の書き込み処理を示すフローチャートである。
【図５】図５は同実施例による不揮発性記憶システムの書き換え処理の流れを示した模式図である。
【図６】図６は従来の不揮発性記憶システムの書き換え処理の流れを示した模式図である。
【符号の説明】
【００２６】
１００  アクセス装置
１１０  不揮発性記憶装置
１２０  メモリコントローラ
１２１  ＣＰＵ部
１２２  不揮発性の補助記憶メモリ（バッファメモリ）
１２３  読み書き制御部
１２４  書き込み完了通知部
１３０  不揮発性の主記憶メモリ（フラッシュメモリ）
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施例による不揮発性記憶システムについて図面を用いて説明する。図１は、本実施例による不揮発性記憶システムの構成を示すブロック図である。不揮発性記憶システムは、アクセス装置１００とアクセス装置１００に接続される不揮発性記憶装置１１０とを含んでいる。【００２８】
不揮発性記憶装置１１０は、メモリコントローラ１２０と、フラッシュメモリ１３０を有しており、その外部に設けられたアクセス装置１００とアクセス可能である。フラッシュメモリ１３０は不揮発性主記憶メモリであり、後述するように多数の物理ブロックから構成される。【００２９】
アクセス装置１００は、メモリコントローラ１２０を介してフラッシュメモリ１３０にユーザデータ（以下、単にデータという）の読み書き命令と、そのデータが格納されている論理アドレスの送信と、データの送受信とを行う。メモリコントローラ１２０は、アクセス装置１００からの読み書き命令を受けて、受け取ったデータをフラッシュメモリ１３０に書き込んだり、フラッシュメモリ１３０からデータを読み出してアクセス装置１００へ出力する。【００３０】
以下、不揮発性記憶装置１１０の詳細について述べる。不揮発性記憶装置１１０に備えられたメモリコントローラ１２０は、ＣＰＵ部１２１、バッファメモリ１２２、読み書き制御部１２３、及び書き込み完了通知部１２４を有している。ＣＰＵ部１２１はアクセス装置１００との送受信の制御やフラッシュメモリ１３０への読み書きにおけるアドレス管理等を行うものである。バッファメモリ１２２は、アクセス装置１００からフラッシュメモリ１３０へ書き込まれる前のデータや、フラッシュメモリ１３０から読み出したデータを一時的に記憶する不揮発性の補助記憶メモリである。【００３１】
バッファメモリ１２２は、不揮発性ＲＡＭで構成することが好ましく、例えば強誘電体メモリ（ＦｅＲＡＭ）、磁性記録式随時書き込み読み出しメモリ（ＭＲＡＭ）、オボニックユニファイドメモリ（ＯＵＭ）、レジスタンスＲＡＭ（ＲＲＡＭ）等とする。【００３２】
読み書き制御部１２３は、ＣＰＵ部１２１が指定した物理アドレスに基づいて、フラッシュメモリ１３０内にデータを書き込んだり、フラッシュメモリ１３０内のデータを読み出したりするものである。バッファメモリ１２２に記憶されているデータの読み書き制御も読み書き制御部１２３が行う。【００３３】
書き込み完了通知部１２４は、アクセス装置１００からデータの書き込みコマンドとデータが転送されたときにバッファメモリ１２２にデータを書き込んだ後、ストップコマンドが与えられる毎に書き込み完了をアクセス装置１００側に通知するものである。【００３４】
なお、ＣＰＵ部１２１が実行する論理物理変換処理、すなわち、アクセス装置１００が指定した論理アドレスをフラッシュメモリ１３０の物理アドレスに変換する処理などのアドレス管理処理には、一般的に公知の技術であるので簡単の為に説明を省略する。【００３５】
図２は、フラッシュメモリ１３０内に設けられる物理ブロックのフォーマットを示したものである。図２に示すように、物理ブロックはＰＮ０〜ＰＮ１２７までの１２８ページから構成される。各ページは４セクタ分のデータ領域と管理領域とからなる。本実施例においては、１セクタが５１２バイト、１ページは４セクタで構成され２０４８バイトである。管理領域はＣＰＵ部１２１のアドレス管理処理に必要な情報が記憶される領域であるが、詳細説明については省略する。【００３６】
なお、図２で左上からＰＳＮ０，ＰＳＮ１，…，ＰＳＮ５１１というように物理的な配置記号を付している。ＰＳＮとはPhysical Sector Numberの頭文字をとった略号である。【００３７】
図３は、バッファメモリ１２２のフォーマットを示したものである。この図に示すように、バッファメモリ１２２は物理ブロックの１ページ分のデータと論理アドレスを一時記憶できる容量を有しており、４つのワードに区分される。ここでワード番号ＷＮを０〜３とする。各ワードは、データ領域１２２ａ、論理アドレス領域１２２ｂ、及びバッファポインタフラグ領域１２２ｃに区分される。データ領域１２２ａには１セクタ、即ち５１２バイト分のデータが記憶され、論理アドレス領域には当該データの論理アドレスが記憶される。論理アドレスはセクタ単位のアドレスであり、１ＧＢｙｔｅ分のセクタを識別できるビット数（２１ビット）を有している。【００３８】
バッファポインタフラグ領域１２２ｃにはワード番号を識別するための１バイトのバッファポインタフラグが記憶される。バッファメモリ１２２にはアクセス装置１００から転送されたデータが一時記憶されるが、バッファポインタｂｐにより、次にどのワードに記憶させるかを識別できるようになっている。バッファポインタフラグは、バッファポインタｂｐがどのワード番号を指示しているかを示す情報であり、値１となっているワード番号をバッファポインタｂｐが指し示していることとする。なお、読み書き制御部１２３はバッファポインタｂｐが値１となっている位置をワード番号単位で移動させることによりワード番号単位でバッファポインタｂｐをインクリメントする。【００３９】
次に、本発明の実施例における不揮発性記憶システムの動作について、図面を用いて説明する。【００４０】
［初期状態］
まず、出荷直後におけるバッファメモリ１２２やフラッシュメモリ１３０の内容について説明する。なお、簡単のため、フラッシュメモリ１３０内に記憶されているメーカコードやセキュリティ情報等のシステム領域については説明を省略し、通常領域すなわちユーザがデータを読み書きする領域についてのみ説明する。【００４１】
出荷後のフラッシュメモリ１３０の良ブロック及びバッファメモリ１２２は全て消去された状態となっている。更にバッファメモリ１２２において、ワード番号ＷＮ０のバッファポインタフラグ領域に値１がセットされる。【００４２】
電源投入後の初期化時において、ＣＰＵ部１２１はフラッシュメモリ１３０において各物理ブロックの状態を管理できるように事前準備を行う。詳細については省略する。【００４３】
初期化処理が終了したら、メモリコントローラ１２０はアクセス装置１００からの読み書きコマンド等の受付状態に入る。【００４４】
［通常動作時の処理］
次に、初期化後の通常動作時の書き込み処理について説明する。具体的には、アクセス装置１００から転送されたデータをバッファメモリ１２２が一時記憶し、その後、一時記憶されたデータをフラッシュメモリ１３０に書き込む。図４は、読み書き制御部１２３における一連の書き込み処理のフローチャートを示したものである。【００４５】
図４において、不揮発性記憶装置１１０は、初期化処理終了後すぐに、アクセス装置１００からのコマンドの受信を待ち受ける。アクセス装置１００から転送されたコマンドがライトコマンド（以下、ＷＣＭＤという）であり、ＷＣＭＤに続けて、データ及びそのデータの論理アドレスを受信すると（Ｓ１００）、読み書き制御部１２３は、１セクタ分のデータと論理アドレスＬＡ（論理セクタ番号）をバッファメモリ１２２に一時記憶させる（Ｓ１０１）。次いでバッファポインタｂｐをインクリメントする（Ｓ１０２）。アクセス装置１００から転送終了コマンド（以下、ストップコマンドという）が転送されたかどうかをチェックする（Ｓ１０３）。ストップコマンドを受信した場合に、このデータの受信を確認するためメモリコントローラ１２０よりアクセス装置１００に書込完了通知部１２４によって書き込み完了を通知する（Ｓ１０４）。次にステップＳ１０５においてバッファメモリが全ての領域にデータが記憶されている（full）かどうかをチェックする。全ての領域に記憶されているのでなければ、ステップＳ１００に戻る。バッファメモリ１２２に４セクタ分全部が一時記憶されると、バッファメモリ１２２に更にデータを保持できないので、読み書き制御部１２３はバッファメモリ１２２からフラッシュメモリ１３０の所定物理ブロックのページに４セクタ分のデータを一括して書き込む（Ｓ１０６）。なお、所定物理ブロックとは、ＣＰＵ部１２１の論理物理変換などのアドレス管理処理によって指定した物理ブロックであり、どの物理ブロックを指定するかについては説明を省略する。【００４６】
又Ｓ１００においてライトコマンド（ＷＣＭＤ）でなければ、Ｓ１０７に進んでバッファメモリ１２２にデータが保持されているかどうかを確認する。データが保持されていればバッファメモリ１２２のデータをフラッシュメモリ１３０に書き込んで（Ｓ１０８）、退避処理を行う。そしてそのコマンドに応じた処理を行う（Ｓ１０９）。バッファメモリにデータがなければこの処理を行うことなく他の処理を行う。こうすればアクセス装置がリードコマンドを発行したときに、メモリコントローラ１２０はフラッシュメモリ１３０から読み出したデータをバッファメモリ１２２に一時保持することができる。【００４７】
尚、この実施例ではバッファメモリ１２２は不揮発性のメモリなので、１セクタ分のデータをバッファメモリ１２２に一時記憶し、ストップコマンドを受信した時点で、アクセス装置１００に対して書き込み完了を通知するようにしているが、バッファメモリ１２２に保持されると直ちに書き込み完了を通知してもよく、ストップコマンドの有無にかかわらずバッファメモリ１２２の全領域に書き込まれたときに、バッファメモリ１２２からフラッシュメモリ１３０にデータを書き込んでから、書き込み完了を通知してもよい。【００４８】
以上説明した読み書き制御部１２３の書き込み処理に基づき、アクセス装置１００が論理セクタ番号０〜３の４セクタ分のデータを書き換える例について説明する。なお、本発明の実施例と従来との差異を明確にするために、まず先に、図５を用いて本実施例の説明をし、次に図６を用いて従来の説明をする。【００４９】
図５は、本実施例における不揮発性記憶システムの書き換え処理の流れを模式的に示したものである。図５において、フラッシュメモリ１３０内の物理ブロックＰＢ５のページ０にＬＳ０〜ＬＳ３のデータが既に記憶されているものとする。またアクセス装置１００から転送される新規データは、フラッシュメモリ１３０内の消去済みブロックである物理ブロックＰＢ０のページ０に書き込まれるものとする。さて、アクセス装置１００からＷＣＭＤが２回転送されるものとし、最初のＷＣＭＤをＷＣＭＤ１、次のＷＣＭＤをＷＣＭＤ２と表記する。【００５０】
さて不揮発性記憶装置１１０はＷＣＭＤ１を受信し、次いで論理セクタ番号０のデータ（ＬＳ０）を受信すると、図５に示すようにバッファメモリ１２２に一時記憶する。アクセス装置１００は、ＬＳ０の１セクタ分を転送した後に、すぐにストップコマンド（ＳＴＯＰ）を転送するものとする。これに対しメモリコントローラ１２０は書き込み完了を通知する。【００５１】
その後、アクセス装置１００は、ＷＣＭＤ２を転送し、引き続き論理セクタ番号１〜３までの３セクタ分のデータ（ＬＳ１、ＬＳ２、ＬＳ３）を転送する。不揮発性記憶装置１１０はＬＳ０に続いて、ＬＳ１、ＬＳ２、ＬＳ３をバッファメモリ１２２に順番に一時記憶する。このときバッファポインタｂｐが順次インクリメントされる。【００５２】
ＬＳ３が記憶された時点で、バッファメモリ１２２はフルとなり、読み書き制御部１２３はフルになったことを認識して、バッファメモリ１２２に一時記憶されたＬＳ０〜ＬＳ３を一括して消去済みの物理ブロックＰＢ０のページ０に書き込む。なお、ＬＳ０〜ＬＳ３の旧データは物理ブロックＰＢ５のページ０に記憶されているが、ＬＳ０〜ＬＳ３の新データを一括して物理ブロックＰＢ０のページ０に書き込むため、旧データの退避処理は不要となる。その後ストップコマンドを受信すると、書き込み完了通知をアクセス装置１００に送信する。尚、旧データを記憶した物理ブロックＰＢ５のページ０はある適当なタイミングで消去されるが、消去動作については簡単のため省略する。【００５３】
次に図６を用いて従来の説明をする。従来の不揮発性記憶装置はバッファメモリとしてＳＲＡＭなどの揮発性メモリを使用しており、電源遮断を考慮して、ＷＣＭＤ〜ＳＴＯＰまでの処理単位毎にバッファメモリ２００からフラッシュメモリ２０１に書き込んでいた。またバッファメモリとしては、４セクタ分の容量とする。【００５４】
まず物理ブロックＰＢ５のページ０にＬＳ０〜ＬＳ３の旧データが既に記憶されているものとする。また新規データ書き込み予定の物理ブロックＰＢ０，ＰＢ１は消去済みブロックであるとする。【００５５】
図６において、ＷＣＭＤ１の受信後、ＬＳ０をバッファメモリ２００に一時記憶する。次いで、ストップコマンドを受信すると、バッファメモリ２００上のＬＳ０を物理ブロックＰＢ０のページ０のＰＳＮ０の位置に書き込むと同時に、物理ブロックＰＢ５のページ０に記憶されている旧データの内、ＬＳ１〜ＬＳ３を、物理ブロックＰＢ０のページ０のＰＳＮ１〜３の位置に破線で示すように書き込む。これにより退避処理を行う。【００５６】
その後、アクセス装置がＷＣＭＤ２を転送し、続けてＬＳ１〜ＬＳ３を順次送信すると、不揮発性記憶装置はこのデータＬＳ１〜ＬＳ３を逐次バッファメモリ２００に書き込む。更にストップコマンドを受信すると、実線で示すように不揮発性記憶装置は新たな物理ブロックＰＢ１のページ０の所定のセクタ記憶位置ＬＳ１〜ＬＳ３を書き込む。これと同時に、物理ブロックＰＢ０のページ０に記憶されている旧データのうちＬＳ０を破線で示すように物理ブロックＰＢ１のページ０に書き込む。【００５７】
以上、図５と図６を用いて、本発明の実施例の動作を従来例の動作と対比させながら書き換え処理の例について説明したが、本実施例の方が従来よりも退避処理が少なくなり、書き換え速度が速いことがわかる。具体的には、従来のＬＳ０〜ＬＳ３の書き換え例においては、従来は２回のページライトが必要であったのに対して、本実施例では、１回のページライトで済む。【００５８】
さて、図５に示した本発明の実施例における書き換え処理においては、アクセス装置より転送されたデータを一旦不揮発性のバッファメモリ１２２に一時記憶し、ストップコマンドが転送されたとき、及びバッファメモリ１２２がフルになった時点で一括してページに書き込むようにした。このため、例えば多値ＮＡＮＤフラッシュメモリなどの分割書き込みが保証されていないメモリに対しても、退避処理を削減するといった効果を奏することとなる。また、本発明の実施例においては、バッファメモリ１２２がフルになった時点でフラッシュメモリ１３０への書き込みを実施しているが、２セクタ以上の所定セクタ分一時記憶された時点でフラッシュメモリ１３０への書き込みを実施してもよい。この場合は退避処理が必要となるが、従来の書き換えに比べて退避処理の回数が少なくてすむ。また、バッファメモリ１２２は論理アドレス領域を備えているので、アクセス装置１００から論理アドレス順番でない、例えばＬＳ２→ＬＳ０→ＬＳ３→ＬＳ１の順に書き込み指示がきても、読み書き制御部１２３が論理アドレス領域に記憶された論理セクタ番号に基づいて論理順にバッファメモリ１２２から読み出しフラッシュメモリ１３０に転送すればよい。
【産業上の利用可能性】
【００５９】
本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムは、主記憶メモリとしてアクセス装置からの最小書き込み単位（セクタ）よりも容量の大きい書き込み単位（ページ）を備えたフラッシュメモリ等の不揮発性メモリを使用し、且つバッファメモリとして不揮発性メモリを用いて退避処理を合理化することにより高速なデータ書き込みを行うことができる。本発明にかかる装置は、静止画記録再生装置や動画記録再生装置等のポータブルＡＶ機器、あるいは携帯電話等のポータブル通信機器の記録媒体として利用可能である。
【図１】
2007105688.tif 000003
【図２】
2007105688.tif 000004
【図３】
2007105688.tif 000005
【図４】
2007105688.tif 000006
【図５】
2007105688.tif 000007
【図６】
2007105688.tif 000008
【手続補正書】
【提出日】平成19年8月2日(2007.8.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であり、且つ少なくとも前記セクタ単位で分割書き込みが保証されないページを複数備えた不揮発性の主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラであって、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備するメモリコントローラ。
【請求項２】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項１記載のメモリコントローラ。
【請求項３】
前記メモリコントローラは、
外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を具備する請求項１記載のメモリコントローラ。
【請求項４】
不揮発性の主記憶メモリと、前記主記憶メモリに外部から与えられるデータを書き込み、前記主記憶メモリからデータを読み出すメモリコントローラと、を有する不揮発性記憶装置であって、
前記主記憶メモリは、外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であり、且つ少なくとも前記セクタ単位で分割書き込みが保証されないページを複数備えており、
前記メモリコントローラは、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を具備する不揮発性記憶装置。
【請求項５】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項４記載の不揮発性記憶装置。
【請求項６】
前記メモリコントローラは、
外部より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項４記載の不揮発性記憶装置。
【請求項７】
不揮発性記憶装置と、アクセス装置とを有する不揮発性記憶システムであって、
前記アクセス装置は、前記不揮発性記憶装置にアクセスしてコマンド、論理アドレスとデータとを送出するものであり、
前記不揮発性記憶装置は、
外部からの最小書き込み単位であるセクタよりも容量の大きい書き込み単位であり、且つ少なくとも前記セクタ単位で分割書き込みが保証されないページを複数備えた主記憶メモリと、
前記アクセス装置より転送された論理アドレスに応じて、前記主記憶メモリ内にデータを書き込み、前記主記憶メモリ内に記憶されたデータを読み出すメモリコントローラと、を具備し、
前記メモリコントローラは、
少なくとも２セクタ以上のデータが記憶可能であり、前記主記憶メモリへ書き込まれる前のデータを一時的に記憶する不揮発性の補助記憶メモリと、
前記補助記憶メモリ内に一時的に記憶されたデータをまとめて読み出した上で、前記主記憶メモリに書き込む読み書き制御部と、を有する不揮発性記憶システム。
【請求項８】
前記読み書き制御部は、前記補助記憶メモリに論理的に連続したデータが複数セクタ分一時記憶された時点で該複数セクタ分のデータを前記主記憶メモリに書き込む請求項７記載の不揮発性記憶システム。
【請求項９】
前記メモリコントローラは、
前記アクセス装置より転送された少なくとも１セクタ分のデータを前記補助記憶メモリに一時記憶できた段階で書き込み完了を外部に通知する書き込み完了通知部を更に具備する請求項７記載の不揮発性記憶システム。
【国際調査報告】
2007105688.tif 000009
2007105688.tif 000010
2007105688.tif 000011
2007105688.tif 000012