JPWO2007000862A1 - メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 - Google Patents

メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 Download PDF

Info

Publication number
JPWO2007000862A1
JPWO2007000862A1 JP2007523364A JP2007523364A JPWO2007000862A1 JP WO2007000862 A1 JPWO2007000862 A1 JP WO2007000862A1 JP 2007523364 A JP2007523364 A JP 2007523364A JP 2007523364 A JP2007523364 A JP 2007523364A JP WO2007000862 A1 JPWO2007000862 A1 JP WO2007000862A1
Authority
JP
Japan
Prior art keywords
data
writing
page
physical unit
memory
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
JP2007523364A
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 JPWO2007000862A1 publication Critical patent/JPWO2007000862A1/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

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

メモリセルが複数のページのデータを保持する多値NANDフラッシュメモリ等の不揮発性メモリを用いる。不揮発性メモリ110にデータを書き込む際に、対になった複数のページ単位で物理ユニットを構成する。物理ユニットの全てに書き込めないときに、既に書き込まれている有効なデータを保持する旧物理ブロックからデータをコピーして、新物理ブロックに物理ユニットの終了まで書き込む。これにより次にデータを書き込むときに、新たな物理ユニットの最初から書き込むことができ、エラーを防ぐことができる。

Description

本発明は、書き換え可能な不揮発性メモリを備えた不揮発性記憶装置、及びこれを制御するメモリコントローラ、不揮発性記憶システム、及びデータ書き込み方法に関する。
書き換え可能な不揮発性の主記憶メモリを備えた不揮発性記憶装置は、半導体メモリカードを中心にその需要が広まっている。このメモリカードは、不揮発性メモリとしてフラッシュメモリを備え、それを制御するメモリコントローラを有している。メモリコントローラは、デジタルスチルカメラやパーソナルコンピュータ(PC)本体等のアクセス装置からの読み書き指示に応じて、フラッシュメモリに対する読み書き制御を行うものとなっている。
又不揮発性メモリを用いた不揮発性記憶装置において、データを追記的に書き換える装置が知られている(特許文献1)。この不揮発性記憶装置では、ホストからの書き込みデータが消去ブロック単位未満の場合に、消去ブロック単位ではなく不揮発性メモリの最小書き込み単位(セクタ又はページ)の単位に合わせて書き込みを行っていた。これによって連続した論理アドレスへのデータ書き込み動作時の無駄なコピー処理をなくし、書き込み性能を向上させ得るフラッシュストレージメディアを提供している。
さて、多値NANDフラッシュメモリは、低価格なフラッシュメモリとしての期待が大きく、今後メモリカードの主記憶メモリとして主流となる可能性が高い。特許文献2には、高速アクセスを実現するために、多値NANDフラッシュメモリのページ構造を改良した技術を開示している。2値のメモリである従来のフラッシュメモリは、ひとつのメモリセルはひとつのページのあるビットのデータを保持するものである。一方、多値NANDフラッシュメモリは、各メモリセルが複数のページ、例えば2つのページにまたがって構成される、即ち複数のビットのデータを保持するものである。
図1〜図3は、多値NANDフラッシュメモリのように一つのメモリセルに複数ビットの情報を保持するメモリセルを使用して不揮発性メモリを構成した場合に、物理ブロックにおける同一のメモリセルグループの情報が保持されているページの位置を表す構成図である。図1〜図3において、PNがページの番号を表し、物理ブロックに書き込みを行う際にはPNの番号順に書き込みを行う。また同一のグループ番号(GN)が付与されたページが、同一のメモリセルグループで保持されるデータが含まれる2つのページである。ハッチングを施していないページを同一のメモリセルグループにおいて先に書き込む第1ページとし、斜線でハッチングを施したページを後に書き込む第2ページとする。
例えば図1に示した多値NANDフラッシュメモリは、偶数ページと奇数ページが対となって、ひとつのメモリセルグループを構成する。図中GNで示すグループ番号が同じページが、1つのメモリセルグループで保持されるデータが含まれるページ対である。各ページ対において、アドレスが低順位のページを第1ページ、高順位のページ(ハッチングを施したページ)を第2ページとする。図1では、第1ページと第2ページが隣接しているが、図2,図3では、第1ページと第2ページが離れている。これは、既に書き込み済みのページに記憶されたデータが他のページへの書き込みによって生じる影響(ディスターブ)を少なくするために隔離されたものである。
しかし、ひとつのメモリセルが2つのページに跨って構成された場合、一方のページの書き込み中にエラーが発生すると、他方のページに記憶されていたデータが変化してしまうという問題がある。この問題について、以下図4〜図6を用いて説明する。
図4は、図1〜図3に示す多値NANDフラッシュメモリのメモリセルの閾値電圧の分布を表す特性図である。このメモリセルは2ビットの情報を記憶する。横軸がメモリセルの閾値電圧Vであり、縦軸はメモリセルの数Pであり、4つの曲線はメモリセルの閾値電圧が4箇所に分布していることを表す。
さて図4の4つの分布において、左から“11”、“10”、“00”、“01”のコードが割り当てられる。各コードの右側の桁(ビット)が第1ページに対応し、左側の桁(ビット)が第2ページに対応する。各メモリセルは消去済みの状態で“11”である。この状態から第1ページ側に書き込むと、正常に書き込めた場合は、各メモリセルは“11”の状態のままか、あるいは“11”から“10”の状態に遷移する。その後、第2ページ側に書き込むと、正常に書き込めた場合は、各メモリセルは“11”の状態から“11”の状態のままか、若しくは“01”の状態に遷移する。あるいは“10”から“10”のまま、若しくは“00”の状態に遷移することとなる。
図5は、メモリセルへ正常に書き込めた場合の状態を示す特性図である。図5において、第1ページと第2ページの書き込みによって、目標値である“01”の情報を書き込むことを想定する。書き込み過程としては、まず第1ページの書き込みによって、“11”の状態にし、次に第2ページの書き込みによって、“01”の状態にすることとなる。
図6は、メモリセルへ正常に書き込めなかった場合の状態を示す特性図である。図6では、第2ページの書き込みにおいて、メモリセルへの印加電圧が“11”の状態から“01”の状態に遷移する過程において、突然の電源遮断を含む電源電圧の変動や、メモリセル自身に発生する物性的な欠陥によって“10”又は“00”の状態にはまる(図中の矢印では“10”にはまる)ことを示している。このような状態になれば第2ページでの書き込みエラーが既に書き込み済みの第1ページに波及することとなる。
特開2004−62328号公報 特開2001−93288号公報
図1で示した多値NANDフラッシュメモリを従来の不揮発性記憶システムである特許文献1に示したフラッシュストレージメディアに適用した場合のシステム上の課題について説明する。まずホスト機器がフラッシュストレージメディアにセクタ0〜3の2kBのデータを書き込む場合には、フラッシュストレージメディアは先頭のページであるPN0にのみ書き込みを行い、その後ホスト機器に対して正常に書き込みが終了したことを知らせる。これを受けてホスト機器はセクタ0〜3の2kBのデータが正常に書きこめたものと認識する。さて次にホスト機器がフラッシュストレージメディアに新たにセクタ4〜7の2kBのデータを書き込む場合には、ページの順番にデータを書き込む必要があるため、次のページであるPN1にデータを書き込む。このPN0とPN1は図1に示すように同じグループ番号GN0を有している。そのためページ番号PN1、即ちセクタ番号4〜7の書き込む際にエラーが生じると、ページ番号PN1と同一グループのページ番号PN0のセクタ番号0〜3のデータが破壊される可能性がある。この場合にはこのデータを修復することができなくなる。フラッシュストレージメディアはホスト機器に対しては書き込みが終了したことを知らせないので、ホスト機器はセクタ4〜7の2kBのデータが正常に書きこめなかったことは正しく認識できる。しかし先の書き込みで正しく書き込みが行えたと認識しているセクタ0〜3の2kBのデータがフラッシュストレージメディア内部において破壊されていることは認識できないので、その後誤った認識の下でのフラッシュストレージメディアへの読出し・書き込みが継続されるという信頼性上の課題を有していた。
そこで、本発明は、上記問題点に鑑み、所定ページへの書き込み処理の失敗に起因して該所定ページと同一のメモリセルを構成する他のページに記憶されたデータが変化したとしても信頼性上の課題を生じることのないメモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法を提供することを目的とする。
この課題を解決するために、本発明のメモリコントローラは、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラであって、前記メモリは、複数のページから構成され、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。
この課題を解決するために、本発明の不揮発性記憶装置は、複数のページから構成される不揮発性メモリと、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有する不揮発性記憶装置であって、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記メモリコントローラは、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。
この課題を解決するために、本発明の不揮発性記憶システムは、アクセス装置と不揮発性記憶装置を具備する不揮発性記憶システムであって、前記アクセス装置は、前記不揮発性記憶装置に少なくとも書き込みコマンドとデータを送出するものであり、前記不揮発性記憶装置は、複数のページから構成される不揮発性メモリと、外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有するものであり、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記メモリコントローラは、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える。
この課題を解決するために、本発明のデータ書き込み方法は、外部から与えられる書き込みのコマンドとアドレスに基づいて、メモリに対してデータの書き込みを行うデータ書き込み方法であって、前記メモリは、複数のページから構成され、前記ページは、前記メモリにおける書き込み単位であり、一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込みステップを備える。
ここで前記メモリは、多値メモリセルを使用してデータを記憶するようにしてもよい。
ここで前記メモリは、不揮発性のメモリとしてもよい。
ここで前記物理ユニットは、連続する2n(n=1,2・・・)ページによって構成されるようにしてもよい。
ここで前記物理ユニット書き込み部は、前記外部からの1回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第1のデータを書き込む際に、既に書き込み済の物理ユニットから第2のデータをコピーすることにより、前記第1のデータと前記第2のデータで前記物理ユニットの単位でデータを書き込むようにしてもよい。
ここで前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備するようにしてもよい。
ここで前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在するようにしてもよい。
ここで前記書き込みが行われない領域は、前記ページグループの一部の領域であるようにしてもよい。
ここで前記物理ユニットは、不連続な複数のページから構成されるようにしてもよい。
ここで前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させるようにしてもよい。
本発明によれば、あるメモリセルが複数ページのデータを記憶するメモリに特有のエラーが発生してデータが変化してしまう状態が発生しても、外部のホスト機器がそのことを認識できないといった信頼性上の問題をあらかじめ避けることができる。そのため今後主流となる多値NANDなどのフラッシュメモリを適用した不揮発性記憶装置においても、メモリセルが1つのページのデータを記憶する従来のメモリを用いた不揮発性記憶装置と同等以上の高信頼性を確保することができるという効果が得られる。
図1は多値NAND不揮発性メモリを表す構成図である。 図2は多値NAND不揮発性メモリを表す構成図である。 図3は多値NAND不揮発性メモリを表す構成図である。 図4は多値NANDフラッシュメモリのメモリセルの電圧分布を表す特性図である。 図5はメモリセルへ正常に書き込めた場合の状態を示す特性図である。 図6はメモリセルへ正常に書き込めなかった場合の状態を示す特性図である。 図7は本発明の第1の実施の形態による不揮発性記憶システムのブロック図である。 図8は本実施の形態による不揮発性メモリの構成を示す図である。 図9は不揮発性メモリ110内に設けられた物理ブロックのフォーマットを示した説明図である。 図10は論理アドレスLAのフォーマットを示した説明図である。 図11は物理領域管理テーブル131のフォーマットを示した説明図である。 図12は論理物理変換テーブル132のフォーマットを示した説明図である。 図13は書き込み状況管理テーブルの一例を示す説明図である。 図14はページ情報テーブルのフォーマットを表すアドレスマップである。 図15は初期化処理を示したフローチャートである。 図16はデータ書き込み処理を示したフローチャートである。 図17はある物理ブロックにデータを書き込む際の書き込み例を示す図である。 図18はデータの追記書き込み処理の一例を示す図である。 図19は第2の実施の形態によるデータ書き込み処理を示したフローチャートである。 図20は第2の実施の形態による不揮発性記憶システムの不揮発性メモリの構成を示す図である。 図21Aは第2の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。 図21Bは第2の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。 図21Cは第2の実施の形態による不揮発性記憶システムのデータの書き込み状況を示す図である。 図22は第2の実施の形態の変形例による不揮発性記憶システムのデータの書き込み状況を示す図である。
符号の説明
100A 不揮発性記憶装置
101 アクセス装置
110 不揮発性メモリ
120A メモリコントローラ
122 CPU
125 バッファメモリ
126 アドレス管理部
127 読み書き制御部
128 ページ情報指示部
129 物理ユニット書き込み部
131 物理領域管理テーブル
132 論理物理変換テーブル
133 書き込み状況管理テーブル
141 ページ情報テーブル
(第1の実施の形態)
以下、本発明の第1の実施の形態による不揮発性記憶システムについて説明する。図7は、不揮発性記憶システムのブロック図である。不揮発性記憶システムは不揮発性記憶装置100Aとアクセス装置101とによって構成される。
不揮発性記憶装置100Aは、フラッシュメモリからなる不揮発性メモリ110とメモリコントローラ120Aとを有している。不揮発性メモリ110は、ひとつのメモリセルが2つのページに跨ってデータを保持する多値NANDフラッシュメモリである。不揮発性メモリ110は例えば図8に示すように、4096個の物理ブロックPB0〜PB4095から構成される。物理ブロックは消去の単位であって、夫々128ページから構成される。各ページはメモリコントローラ120Aからのアクセス単位であり、2112バイトの記憶容量をもつ。ここでは図1と同一のグループ構成のメモリとする。
アクセス装置101は、不揮発性記憶装置100Aにユーザデータ(以下、単にデータ)の読み書き命令と、そのデータが格納されている論理アドレスの送信と、データの送受信を行うものである。このアクセス装置101からの読み書き命令を受けて、メモリコントローラ120Aは、不揮発性メモリ110に受け取ったデータを書き込んだり、不揮発性メモリ110からデータを読み込み外部へ出力する。
次に、メモリコントローラ120Aの詳細について述べる。不揮発性記憶装置100Aに備えられたメモリコントローラ120Aは、ホストIF121と、メモリコントローラ120A全体の制御を行うCPU122とを備えている。また、CPU122の作業領域であるRAM123と、CPU122が実行するプログラムを格納したROM124とを有している。さらに、メモリコントローラ120Aは、不揮発性メモリ110へアクセスする際にデータを一時記憶するためのバッファメモリ125と、不揮発性メモリ110のアドレスを指定するアドレス管理部126とを有している。
読み書き制御部127は、アドレス管理部126が指定したアドレスに基づいて、不揮発性メモリ110内にデータを書き込んだり、不揮発性メモリ110内のデータを読み出したりするものである。
図9は、不揮発性メモリ110内の物理ブロックのフォーマットを示したものである。この図に示すように、1つの物理ブロックはページ番号(PN)0〜127までの128ページから構成され、各ページは4セクタ分のデータ領域と管理領域MRとからなる。1セクタは512バイト、1ページは4セクタで構成され、2048バイトである。管理領域MRは1ページ当たり64バイトである。1クラスタの情報を記憶するために必要なページ数は8ページである。なお、図9で左上からPSA0,PSA1,…,PSA511というように物理的な配置記号を付している。PSAとは物理セクタアドレス(Physical Sector Address)の頭文字をとった略号である。
図10は、論理アドレスLAのフォーマットを示した説明図である。この図に示すように、下位ビットから順に、セクタ番号、ページ番号、論理ブロックアドレスLBAとなっており、論理ブロックアドレスLBAに対応する12ビット分がアドレス変換の対象、すなわち論理物理変換テーブル132のアドレスに相当する。アクセス装置101のファイルシステムで規定されるセクタサイズは512バイト、クラスタサイズは16kバイトであるので、クラスタ番号のLSBはビット5(b5)に対応する。論理アドレスLAのb8〜b2がページ番号に対応する。
アドレス管理部126は、物理領域管理テーブル131と論理物理変換テーブル132、及び書き込み状況管理テーブル133を含む。アドレス管理部126は、これらのテーブルを参照しながら、アクセス装置101から転送されたデータの書き込み先の物理ブロックの選択や、当該物理ブロック内の書き込み先のページ、すなわちカレントページ番号の指示など、いわゆるアドレス管理を行うものである。物理領域管理テーブル131には、不揮発性メモリ110内における消去単位である物理ブロックの状態、すなわち有効なデータが記憶されているか否かのステータスフラグが記憶されている。論理物理変換テーブル132は、アクセス装置101が転送した論理アドレスを不揮発性メモリ110内の物理アドレスに変換するに必要なテーブルである。
図11は、物理領域管理テーブル131のフォーマットを示している。この図からわかるように、物理領域管理テーブル131のアドレスは不揮発性メモリ110の物理ブロックアドレスPBAに対応し、各物理ブロックのステータスフラグを記憶している。ステータスフラグとして、2進数で値00は有効なデータが記憶されている有効ブロックを示し、値11は消去済み又はデータが書き込まれているが不要である無効ブロックを示し、値10はメモリセル上のソリッドエラー等により使用できなくなった不良ブロックを示す。
図12は、論理物理変換テーブル132のフォーマットを示す。このテーブル132は、各論理ブロックアドレスLBAに対応する物理ブロックアドレスPBAを保持するテーブルである。
図13は書き込み状況管理テーブル133を示す図である。書き込み状況管理テーブル133は、ある論理ブロックのデータを1つの物理ブロックだけでなく、他の物理ブロック(新物理ブロック)にも書き込んでいる場合に、その論理ブロックのアドレスLBAと新物理ブロックのアドレスPBAとを記憶すると共に、その物理ブロックPBAへの書き込み済みページを保持する領域を有している。この書き込み状況管理テーブル133は複数の論理ブロックについて新旧の物理ブロックに対応することができるように複数設けておくことが好ましいが、最低限1つであってもよい。
ページ情報指示部128はページ情報テーブル141を有し、メモリセルに保持するデータのページに関するページ情報を記憶するものである。図14は、ページ情報指示部128に含まれるページ情報テーブル141のフォーマットを表すアドレスマップである。ページ情報テーブル141は129ワードからなり、先頭から128ワードはページ番号(PN)0〜127に対応している。各ワードにはページ番号関係情報141aとページ種別情報141bを記憶する。ページ番号関係情報141aは同一グループ内の他のページ番号を記憶する。ページ種別情報141bは、同一のメモリセルグループにおける第1ページか第2ページなのかを識別するフラグを記憶する。ここで“0”は第1ページ、“1”は第2ページを示す。なお、前述したとおり、第1ページと第2ページは多値メモリセルの同一のメモリセルグループにおける書き込み順序を表している。
ページ情報テーブル141の最終ワードには、1つのメモリセルによって構成されるページ数、ここでは2が記憶されている。なお、図14のページ情報テーブル141は、図8に示した多値NANDフラッシュメモリのページ構成をテーブル化したものであり、その内容は多値NANDフラッシュメモリの種類によって変わる。
なお、ページ情報テーブル141はSRAMなどの揮発性RAMや、強誘電体メモリ(FeRAM)などの不揮発性RAMあるいはROMで構成される。揮発性RAMの場合は、電源立ち上げ時の初期化処理においてCPU122が不揮発性メモリ110から読み込んだデバイスコードに基づいて、CPU122がSRAMなどに構成すればよい。具体的な構成方法のひとつとして、予めROM124などにデバイス種ごとに当該ページ情報テーブルを記憶しておき、デバイスコードに基づいて選択的にROM124からSRAMに転送してもよい。また、図1に示すような、比較的ページ構成が簡単な多値NANDフラッシュメモリであれば、偶数/奇数の関係性(規則性)があるので、ページ情報指示部128はページ情報テーブルを有する必要はなく、デバイスコードに基づいてビット演算でページ番号関係情報を算出することができる。具体的には、図1に示すような多値NANDフラッシュメモリであれば、数式(1)に基づいて算出することができる。ここで演算子^は、排他的論理和をとる演算子である。
ページ番号関係情報=ページ番号^0x01 ・・・(1)
物理ユニット書き込み部129はページ情報テーブル141に基づいて判定されたバウンダリの結果に基づいて、物理ブロックに物理ユニット単位以下の書き込み単位でデータを書き込む際に、そのデータと共に1つの物理ユニットを構成する他の領域のデータをその物理ユニットの書き込んでいない領域にコピーすることにより、物理ユニットの単位でデータを書き込むように制御するものである。
以下に、不揮発性記憶装置100Aの動作について説明する。
[電源立ち上げ時の初期化処理]
図15は電源投入後の処理を示すフローチャートである。電源が投入されると、まず、CPU122をリセットし、ROM124に記憶されたプログラムに基づいて初期化処理を行う(S101)。かかる初期化処理においては、まず、RAM123やバッファメモリ125をオールクリアする。読み書き制御部127を介して、不揮発性メモリ110内のシステム領域からデバイスコードを読み出し、当該デバイスコードに基づいて不揮発性メモリ110の種類や容量を特定する(S102)。
次いで不揮発性メモリ110から読み出したデバイスコ−ドに基づいて、ページ情報指示部128内にページ情報テーブル141を構成する(S103)。あるいはページ情報指示部128が当該デバイスコ−ドに基づいた演算機能(数式1に対応)によりページ構成情報を把握してもよい。
次に読み書き制御部127を介して、不揮発性メモリ110の全ての物理ブロックの先頭ページの管理領域を読み出す(S104)。その後、アドレス管理部126内に、物理領域管理テーブル131、論理物理変換テーブル132及び書き込み状況管理テーブル133を作成する(S105)。
その後、CPU122はS102で読み出したデバイスコードを基にして、不揮発性メモリ110のバウンダリを決定する(S106)。例えば図1に示す多値NANDフラッシュメモリでは、ページPN0とページPN1の4kBの領域が一つのメモリセルグループとして構成されている。この様に一つのメモリセルグループで構成される複数のページをページグループと定義する。従ってページPN0とPN1とで一つのページグループを構成する。また、物理ブロック内で、書き込み順に連続した領域に形成される少なくとも1つのページグループ単位からなり、かつページグループは複数の領域にまたがらずに完結する領域を1つの物理ユニットとする。以下同様にしてページPN2,3の4kBで1つのページグループから連続した領域が完結するので、1つの物理ユニットを構成し、その境界がバウンダリとなる。又図2に示す多値NANDフラッシュメモリでは、ページPN0〜PN3までの8kBの連続した領域で2つのページグループが完結するので、2つのページグループが1つの物理ユニットを構成する。以下同様にして、8kBが2つのページグループが完結するので、これらが1つの物理ユニットを構成し、その境界が1つのバウンダリとなる。このように物理ユニットは連続する2n(nは自然数)のページによって構成される。この情報はページ情報指示部128によって保持される。こうしてバウンダリを決定した後、アクセス装置100からのコマンドの受付を許可し(S107)、通常動作(S108)に移行する。
[通常動作時の処理]
次に、初期化後の通常動作時の処理について図16のフローチャートを用いて説明する。なお本発明は、書き込み処理における問題点である、同一メモリセルを構成する他のページへの影響を回避するために、アクセス装置101からの書き込みコマンドに対して必ず未書き込みの物理ユニットに対して書き込みを行うよう改善するものであるので、ここでも書き込み処理についてのみ説明する。
まずアクセス装置101が例えば論理アドレスLA0〜LA3の2kバイトの書き込みコマンドを不揮発性記憶装置100Aに転送する。ホストIF121は書き込みコマンドを受信すると、CPU122に受信したことを通知し、CPU122はアクセス装置101が書き込みを開始する先頭の論理アドレスの情報を保持する(ステップS201,S202)。
次にCPU122はアドレス管理部126に対してひとつの書き込み先の物理ブロックの取得を指示する(S203)。アドレス管理部126は書き込み状況管理テーブル133を参照し、その論理アドレスに対応する登録を検索する。論理アドレスに対応する登録がなければ、ランダムに選択された番地から昇順に無効の物理ブロックをサーチし、最初に見つかった無効の物理ブロックを書き込み対象の物理ブロックとする。この場合書き込み対象のページは先頭ページであるPN0となる。書き込み状況管理テーブル133に登録がある場合には、登録された物理ブロック(PBA)を書き込み対象の物理ブロックとする。この場合書き込み対象のページは書き込み状況管理テーブル133にされた書き込み済ページの次のページとなる。
次にCPU122はアクセス装置101が書き込みを開始するアドレスがバウンダリの先頭に相当するかどうかを確認し(S204)、バウンダリの先頭からの書き込みであれば、未書き込みの物理ユニットの先頭から書き込むことが可能なのでステップ205に進んで、アクセス装置101から転送される論理アドレスLA0〜LA3のデータを、バッファメモリ125を介して順次書き込む。
次にCPU122はステップS206でバウンダリの終了まで書き込みが行われたかどうかを確認する。このバウンダリの終了まで書き込みが行われた場合には、ステップS207に進んで物理領域管理テーブル131や論理物理変換テーブル132、書き込み状況管理テーブル133の必要な更新を行い、ホストのアクセス装置101に書き込み終了を応答して(S208)、処理を終える。ホストのアクセス装置101は不揮発性記憶装置100A書き込み終了応答を受けて、かかる書き込みコマンドによるデータの書き込みが正しく終了し、データが正しく書き込まれていると認識する。
さてステップS204においてバウンダリの先頭からの書き込みではない場合には、ステップS209において、旧物理ブロックの対応するページのアドレスを物理領域管理テーブル131に基づいて取得して、旧物理ブロックより対応データを読み出す(S209)そしてステップS210でアクセス装置101が書き込みを開始するアドレスの直前までを未書き込みの物理ユニットの先頭から順にコピー(前半巻き込み処理)する。そしてステップS205に戻る。
またステップS206においてバウンダリの終了までの書き込みでなければ、ステップS211において、旧物理ブロックの対応するページのアドレスを物理領域管理テーブル131に基づいて取得して、旧物理ブロックより対応データを読み出す(S211)。そしてステップS212に進んでバウンダリの終了までそのデータをコピー(後半巻き込み処理)する。そしてステップS207に戻る。このようにしてアクセス装置101からの1回の書き込みのコマンドに対応して、常にバウンダリの先頭からバウンダリの終了までの書き込みを行う。
次に具体的な書き込み例を用いて、バウンダリまでの書き込み処理について説明する。図17の物理ブロックPB8は、例えば図示のように全てのページにデータが書き込まれている物理ブロックとする。物理ブロックPB8内の数値はセクタ番号PSB0〜PSB511の番号のみを示している。またここでは図1に示す多値NANDフラッシュメモリを想定しているので、物理ユニットは、偶数・奇数の連続する2つのページからなる。さてこれと同一の論理ブロックアドレスのセクタ0〜3に新しいデータを書き込む場合について説明する。この場合には新たな物理ブロック、例えばPB11を書き込み対象物理ブロックとして選択する。これによって物理ブロックPB11が新物理ブロックとなり、これと同一の論理アドレスのデータが書き込まれた物理ブロックPB8が旧物理ブロックとなる。旧物理ブロックは論理物理変換テーブル132によって論理ブロックと関連付けられている。新物理ブロックは書き込み状況管理テーブル133より管理する。さて物理ブロックPB11のページPN0にセクタ0〜3までのデータを書き込む。次いで物理ブロックPB11のページPN0と共に物理ユニットを構成するページPN1にもデータを書き込む必要がある。そこで前述したように、旧物理ブロックであるPB8のページPN1に保持されている図中破線で示すセクタ4〜7のデータを、PB11のページPN1にコピー(巻き込み処理)する。これによってバウンダリの境界まで、即ち物理ユニット単位での書き込みを行うことができる。
続けて同じ論理ブロックのセクタ12,13にデータを書き込む場合について、図18を用いて説明する。セクタ12、13はバウンダリの先頭ではないので、まずバウンダリの先頭であるセクタ8からセクタ11まで(書き込みを開始するセクタ12の直前)のデータを旧物理ブロックPB8から物理ブロックPB11にコピーして書き込む。次に物理ブロックPB11にアクセス装置101からの書き込みデータであるセクタ12,13を追記して書き込む。そして旧物理ブロックPB8の物理セクタアドレス14,15をコピーして書き込む。こうして物理ユニットのバウンダリの先頭からバウンダリの終了までの書き込みを終える。以下同様にしてバウンダリ以内での書き込みであってもバウンダリ単位で書き込む。
以上、説明したように、本発明の実施の形態は、物理ユニットの単位で、即ち常にバウンダリの境界までデータを書き込むようにしたので、各メモリセルが2ページに跨ってデータを保持する不揮発性メモリ110の特有のエラー、すなわち第2ページの書き込みエラーによって第1ページに記憶されていたデータが変化してしまうエラーはホストであるアクセス装置101の複数回のコマンドにまたがって発生することはない。必ずアクセス装置101の1回のコマンドの処理において物理ユニット単位で完結しており、これを閉じているともいう。従ってアクセス装置101が正常に書き込めたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を解消することができる。
ここで不揮発性メモリ110は図1や図2のように物理ブロックが構成されている場合に限らず、複数のページ内で閉じており、データの書き込みエラーが他のページに波及しない単位を物理ユニットとし、その境界をバウンダリとすることができる。
また不揮発性メモリ110は、各メモリセルが2ページに跨ってデータを保持するタイプのメモリであったが、3ページに跨ってデータを保持するタイプのメモリであっても、本発明を適用することができる。
(第2の実施の形態)
次に本発明の第2の実施の形態について説明する。第2の実施の形態による不揮発性記憶システムの構成を示すブロックの構成は図1と同じであり、ブロックの構成についての説明は省略する。
図1,図2に示すように2ページ又は4ページで閉じており、ページグループが完結する多値型の不揮発性メモリの他に、図3に示すような多値型不揮発性メモリも存在する。図3に示すこの不揮発性メモリでは、特定の単位では第1の実施の形態における考え方である物理ユニットは閉じておらず、第1の実施の形態の不揮発性記憶システムを適用できない。このような場合にも書き込みによるデータの破壊を防ぐために、第2の実施の形態では物理ユニットの概念を拡張したものである。
次に第2の実施の形態における書き込み処理について、図19の書き込みフローチャートを用いて説明する。まずアクセス装置101が書き込みコマンドを不揮発性記憶装置100Aに発行する。ホストIF121は書き込みコマンドを受信すると、CPU122に受信したことを通知しCPU122はアクセス装置101が書き込みを開始する先頭の論理アドレスの情報を保持する(ステップS301,S302)。
次にCPU122はアドレス管理部126に対してひとつの書き込み先の物理ブロックの取得を指示する(S303)。アドレス管理部126は書き込み状況管理テーブル133を参照し、その論理アドレスに対応する登録を検索する。論理アドレスに対応する登録がなければ、ランダムに選択された番地から昇順に無効の物理ブロックをサーチし、最初に見つかった無効の物理ブロックを書き込み対象の物理ブロックとする。この場合書き込み対象のページは先頭ページであるPN0となる。書き込み状況管理テーブル133に登録がある場合には、登録された物理ブロック(PBA)を書き込み対象の物理ブロックとする。この場合書き込み対象のページは、書き込み状況管理テーブル133に記録された書き込み済ページ以降のページでかつ最初のページグループの第1ページとなる。第1ページか第2ページかを判定するために、ページ情報指示部128のページ種別情報141bを使用する。
次にCPU122はアクセス装置101が書き込みを開始するアドレスから順に1ページのデータを書き込む(S304)。その後S305において、CPU122は書き込みを行ったページと同じページグループの第2ページの位置をページ情報指示部128のページ番号関係情報141aから得て書き込み許可状態として保持する。ここで保持した第2ページのアドレスは、アクセス装置101の1回の書き込みコマンド期間中において書き込みが行われるまで有効に保持されるが、アクセス装置101の1回の書き込みコマンドを終了した際には放棄する。従ってS304で書き込みを行うページは、各々のページグループの第1ページか、または次のステップ305で保持されるページグループの第2ページのみである。即ちステップS305で保持されていないページグループの第2ページには書き込みは行わない。
次にステップS306でアクセス装置101の書き込みが終了したかどうかを判定し、終了していなければS304に戻って処理を継続し、終了していれば次のステップであるS307に進んで物理領域管理テーブル131や論理物理変換テーブル132、書き込み状況管理テーブル133の必要な更新を行い、ホストのアクセス装置101に書き込み終了を応答して(S308)、処理を終える。ホストのアクセス装置101は不揮発性記憶装置100Aの書き込み終了応答を受けて、かかる書き込みコマンドによるデータの書き込みが正しく終了し、データが正しく書き込まれていると認識する。
このように、ステップS304において書き込まれるページは各々のページグループの第1ページか、もしくはアクセス装置101の同じ1回の書き込みコマンドの処理中においてページグループの第1のページが書き込まれている第2ページのいずれかに限られる。従って、前の書き込みコマンドで書き込みが行われている第1ページと同じページグループをなす第2ページに書き込みを行うことはない。
図20は図3に示した多値NANDフラッシュメモリ110をページグループ毎に示した図である。左側にページグループのグループナンバーGNを、その行に対応する枠内の左側には第1ページのページ番号PNを、そして枠内の右側には対応する第2ページのページ番号を表している。最初の行にGNが0で枠内に0と2が示してあるのはページPN0とページPN2とでひとつのページグループを構成しており、そのグループナンバーをGN0としていることを表している。本図に示すようなグループが構成されている不揮発性メモリに対して書き込みコマンドに応じてどのように書き込むかについて以下に示す。
(1)例えばアクセス装置101からの1回の書き込みコマンドで4セクタ(1ページ)分のデータを書き込む際には、図21Aに示すようにハッチングで示す先頭のページであるページPN0にのみデータを書き込む。同じページグループを構成するページであるPN2には、今回のアクセス装置101からの書き込みコマンドでも、また以降のアクセス装置101からの書き込みコマンドでもページであるPN2への書き込みは行わない。この場合には、次にデータを書き込むときにはページPN0以降で最初に第1ページに相当するページPN1から、即ちGN1からデータを書き込む。この場合には最初の書き込みにおける拡張物理ユニットは1つのページグループGN0からなる単位となる。
(2)又アクセス装置101からの1回の書き込みコマンドで12セクタ(3ページ分)のデータを書き込む際には、同様の書き込みルールに従って書き込むことでページPN0からPN2までページ番号の順に図21Bに示すようにハッチングの領域にデータを書き込む。この場合には2つのページグループ、即ちGN0,GN1に書き込む。次にデータを書き込む際にはページPN2以降で最初に第1ページに相当するページPN3が含まれるGN2からデータを書き始め、GN1のPN4については以後の書き込み処理を行わない。この場合には拡張物理ユニットは2つのページグループGN0,GN1からなる単位となる。
(3)次にアクセス装置101からの1回の書き込みコマンドで16セクタ(4ページ分)のデータを書き込む際には、図21Cにハッチングで示すように、ページ番号GN0,GN1,GN2のページPN0〜PN3にデータを書き込む。次にデータを書き込む際にはページPN3以降で最初に第1ページに相当するページであるGN3のページPN5からPN7,PN8・・・のように書き込む。この場合にはページグループGN1,GN2の第1ページであるページPN1,PN3への書き込みは行わないので、ページPN4,PN6は使用しない。又この場合には拡張物理ユニットはGN0,GN1,GN2の3つのページグループによって構成される。
このようにアクセス装置101からの1回の書き込みのページ数に応じて拡張物理ユニットを適宜変更し、そのコマンドで構成される拡張物理ユニットには1回の書き込み処理のみを行い、余ったページについては以後書き込み処理を行わない。本発明の実施の形態は、データの書き込みを行った領域のページグループを必ず全て含む領域を拡張物理ユニットとした。そのため特定のページグループ単位で閉じた領域を構成できないような場合においても、多値NAND型不揮発性メモリ110の特有のエラー、すなわち第2ページの書き込みエラーによって第1ページに記憶されていたデータが変化してしまうエラーはホストであるアクセス装置101の複数回のコマンドにまたがって発生することはない。従ってアクセス装置101が正常に書き込みできたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を解消することができる。
次に本発明の変形例について説明する。不揮発性メモリは複数、例えば2つのメモリチップを並列に使用し、2つのメモリチップに同時にデータを書き込み及び読み出すことによって、高速で処理を行えるようにしたものもある。図22はこのような不揮発性メモリの構成を示しており、PB10は第1のメモリセルの物理ブロックの1つ、PB4105は第2のメモリセルの物理ブロックの1つである。これらの物理ブロックの対応するページに並列にデータを書き込み又は読み出すものとする。この場合にもPB10のPN0,PN4によって1つのページグループが形成されている。以下同様である。この場合には例えばPN0〜7に書き込む際には図22にハッチングで示す単位でデータを書き込む。この場合、拡張物理ユニットXPUはページPN0〜PN13までのものとなる。そして物理ブロックPB10のPN8,PN12、物理ブロックPB4105のPN9,PN13にはデータを書き込むことなく、次の書き込み時には新たな拡張物理ユニット単位で書き込みを行う。この場合にも他のページへのエラーの波及はアクセス装置101の1回の書き込みコマンドで閉じた範囲でのみ発生している。従って、アクセス装置101が正常に書き込みできたと認識しているデータが、実際には破壊されているといった信頼性上の不具合を防止することができる。
本発明にかかるメモリコントローラ、不揮発性記憶装置、不揮発性記憶システムは、多値NANDフラッシュメモリのように、各メモリセルが複数のページに跨ってデータを保持する不揮発性メモリを使用した装置において、信頼性を向上させることができる。本発明は、静止画記録再生装置や動画記録再生装置等のポータブルAV機器、あるいは携帯電話等のポータブル通信機器の記録媒体に適用することができる。

Claims (38)

  1. 外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラであって、
    前記メモリは、複数のページから構成され、
    前記ページは、前記メモリにおける書き込み単位であり、
    一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、
    前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備えるメモリコントローラ。
  2. 前記メモリは、多値メモリセルを使用してデータを記憶する請求項1記載のメモリコントローラ。
  3. 前記メモリは、不揮発性のメモリである請求項2記載のメモリコントローラ。
  4. 前記物理ユニットは、連続する2n(n=1,2・・・)ページによって構成される請求項3記載のメモリコントローラ。
  5. 前記物理ユニット書き込み部は、前記外部からの1回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第1のデータを書き込む際に、既に書き込み済の物理ユニットから第2のデータをコピーすることにより、前記第1のデータと前記第2のデータで前記物理ユニットの単位でデータを書き込む請求項3記載のメモリコントローラ。
  6. 前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項3記載のメモリコントローラ。
  7. 前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項3記載のメモリコントローラ。
  8. 前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項7記載のメモリコントローラ。
  9. 前記物理ユニットは、不連続な複数のページから構成される請求項3記載のメモリコントローラ。
  10. 前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項3記載のメモリコントローラ。
  11. 複数のページから構成される不揮発性メモリと、
    外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有する不揮発性記憶装置であって、
    前記ページは、前記メモリにおける書き込み単位であり、
    一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、
    前記メモリコントローラは、
    前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える不揮発性記憶装置。
  12. 前記不揮発性メモリは、多値メモリセルを使用してデータを記憶する請求項11記載の不揮発性記憶装置。
  13. 前記物理ユニットは、連続する2n(n=1,2・・・)ページによって構成される請求項12記載の不揮発性記憶装置。
  14. 前記物理ユニット書き込み部は、前記外部からの1回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第1のデータを書き込む際に、既に書き込み済の物理ユニットから第2のデータをコピーすることにより、前記第1のデータと前記第2のデータで前記物理ユニットの単位でデータを書き込む請求項12記載の不揮発性記憶装置。
  15. 前記メモリコントローラは、前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項12記載の不揮発性記憶装置。
  16. 前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項12記載の不揮発性記憶装置。
  17. 前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項16記載の不揮発性記憶装置。
  18. 前記物理ユニットは、不連続な複数のページから構成される請求項12記載の不揮発性記憶装置。
  19. 前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項12記載の不揮発性記憶装置。
  20. アクセス装置と不揮発性記憶装置を具備する不揮発性記憶システムであって、
    前記アクセス装置は、
    前記不揮発性記憶装置に少なくとも書き込みコマンドとデータを送出するものであり、
    前記不揮発性記憶装置は、
    複数のページから構成される不揮発性メモリと、
    外部から与えられる書き込みおよび読み出しのコマンドとアドレスに基づいて、前記不揮発性メモリに対してデータの書き込み、データの読み出しを行うメモリコントローラと、を有するものであり、
    前記ページは、前記メモリにおける書き込み単位であり、
    一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、
    前記メモリコントローラは、
    前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込み部を備える不揮発性記憶システム。
  21. 前記不揮発性メモリは、多値メモリセルを使用してデータを記憶する請求項20記載の不揮発性記憶システム。
  22. 前記物理ユニットは、連続する2n(n=1,2・・・)ページによって構成される請求項21記載の不揮発性記憶システム。
  23. 前記物理ユニット書き込み部は、前記外部からの1回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第1のデータを書き込む際に、既に書き込み済の物理ユニットから第2のデータをコピーすることにより、前記第1のデータと前記第2のデータで前記物理ユニットの単位でデータを書き込む請求項21記載の不揮発性記憶システム。
  24. 前記メモリコントローラは、前記物理ユニットがどの前記複数のページから構成されるかの情報を保持したページ情報指示部を具備する請求項21記載の不揮発性記憶システム。
  25. 前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項21記載の不揮発性記憶システム。
  26. 前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項25記載の不揮発性記憶システム。
  27. 前記物理ユニットは、不連続な複数のページから構成される請求項21記載の不揮発性記憶システム。
  28. 前記物理ユニット書き込み部は、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項21記載の不揮発性記憶システム。
  29. 外部から与えられる書き込みのコマンドとアドレスに基づいて、メモリに対してデータの書き込みを行うデータ書き込み方法であって、
    前記メモリは、複数のページから構成され、
    前記ページは、前記メモリにおける書き込み単位であり、
    一方のページに対するデータ書き込みの際に、一時的に他方のページに対するデータの書き込み状態が変化する、第1,第2のページからなるページグループの少なくともひとつから物理ユニットを構成し、
    前記外部からの書き込みコマンドに対し、未書き込みの前記物理ユニットに対する書き込みを実行する物理ユニット書き込みステップを備えるデータ書き込み方法。
  30. 前記メモリは、多値メモリセルを使用してデータを記憶する請求項29記載のデータ書き込み方法。
  31. 前記メモリは、不揮発性のメモリである請求項30記載のデータ書き込み方法。
  32. 前記物理ユニットは、連続する2n(n=1,2・・・)ページによって構成される請求項31記載のデータ書き込み方法。
  33. 前記物理ユニット書き込みステップは、前記外部からの1回のコマンドでの書き込みが、前記物理ユニット単位以下の書き込みで第1のデータを書き込む際に、既に書き込み済の物理ユニットから第2のデータをコピーすることにより、前記第1のデータと前記第2のデータで前記物理ユニットの単位でデータを書き込む請求項31記載のデータ書き込み方法。
  34. 前記物理ユニットがどの前記複数のページから構成されるかの情報を保持する請求項31記載のデータ書き込み方法。
  35. 前記物理ユニットには、前記外部からの書き込みデータの書き込みが行われない領域が存在する請求項31記載のデータ書き込み方法。
  36. 前記書き込みが行われない領域は、前記ページグループの一部の領域である請求項35記載のデータ書き込み方法。
  37. 前記物理ユニットは、不連続な複数のページから構成される請求項31記載のデータ書き込み方法。
  38. 前記物理ユニット書き込みステップは、外部からの書き込コマンドに応じてメモリにデータを書き込む際に、前記物理ユニットのサイズを書き込みデータ容量に依存して変化させる請求項31記載のデータ書き込み方法。
JP2007523364A 2005-06-24 2006-05-24 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 Withdrawn JPWO2007000862A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005184364 2005-06-24
JP2005184364 2005-06-24
PCT/JP2006/310323 WO2007000862A1 (ja) 2005-06-24 2006-05-24 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法

Publications (1)

Publication Number Publication Date
JPWO2007000862A1 true JPWO2007000862A1 (ja) 2009-01-22

Family

ID=37595119

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007523364A Withdrawn JPWO2007000862A1 (ja) 2005-06-24 2006-05-24 メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法

Country Status (6)

Country Link
US (1) US20100082878A1 (ja)
EP (1) EP1898312A4 (ja)
JP (1) JPWO2007000862A1 (ja)
CN (1) CN101194238B (ja)
TW (1) TW200709210A (ja)
WO (1) WO2007000862A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874441B1 (ko) * 2007-01-09 2008-12-17 삼성전자주식회사 멀티-비트 데이터를 저장할 수 있는 플래시 메모리 장치,그것을 제어하는 메모리 제어기, 그리고 그것을 포함한메모리 시스템
US8065468B2 (en) 2008-07-03 2011-11-22 Silicon Motion, Inc. Data storing methods and apparatus thereof
TWI390548B (zh) * 2008-07-03 2013-03-21 Silicon Motion Inc 資料儲存方法及其儲存裝置
WO2010000206A1 (en) * 2008-07-03 2010-01-07 Silicon Motion, Inc. Data storing methods and apparatus thereof
US8285970B2 (en) * 2008-11-06 2012-10-09 Silicon Motion Inc. Method for managing a memory apparatus, and associated memory apparatus thereof
JP4551958B2 (ja) * 2008-12-22 2010-09-29 株式会社東芝 半導体記憶装置および半導体記憶装置の制御方法
JP5300496B2 (ja) * 2009-01-07 2013-09-25 パナソニック株式会社 半導体記憶装置、ホスト機器及び半導体記憶システム
TWI408551B (zh) * 2009-10-28 2013-09-11 Phison Electronics Corp 快閃記憶體儲存系統及其控制器與資料處理方法
JP5556189B2 (ja) * 2010-01-20 2014-07-23 ソニー株式会社 記憶装置およびデータの書込み方法
US8549214B2 (en) 2010-02-17 2013-10-01 Marvell World Trade Ltd. Protection against data corruption for multi-level memory cell (MLC) flash memory
JP2011192239A (ja) * 2010-03-17 2011-09-29 Sony Corp 記憶装置および記憶システム
JP5917163B2 (ja) * 2011-01-27 2016-05-11 キヤノン株式会社 情報処理装置、その制御方法及びプログラム並びに記憶媒体
CN102650971B (zh) * 2011-02-24 2014-12-03 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器储存装置
US9032269B2 (en) 2011-07-22 2015-05-12 Sandisk Technologies Inc. Systems and methods of storing data
JP5674634B2 (ja) * 2011-12-28 2015-02-25 株式会社東芝 コントローラ、記憶装置およびプログラム
CN102789422B (zh) * 2012-06-25 2016-03-23 记忆科技(深圳)有限公司 固态硬盘的数据写入方法
US9389792B1 (en) 2015-12-07 2016-07-12 International Business Machines Corporation Reducing read-after-write errors in a non-volatile memory system using an old data copy
JP2019057178A (ja) * 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステムおよび制御方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3942807B2 (ja) * 2000-06-06 2007-07-11 株式会社ルネサステクノロジ ブロックアラインメント機能付き半導体記憶装置
US7174440B2 (en) * 2002-10-28 2007-02-06 Sandisk Corporation Method and apparatus for performing block caching in a non-volatile memory system
US6988175B2 (en) * 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
US7493457B2 (en) * 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate
US7308525B2 (en) * 2005-01-10 2007-12-11 Sandisk Il Ltd. Method of managing a multi-bit cell flash memory with improved reliablility and performance
JP4843222B2 (ja) * 2005-01-11 2011-12-21 株式会社東芝 半導体記憶装置の制御方法、メモリカード、及びホスト機器

Also Published As

Publication number Publication date
CN101194238A (zh) 2008-06-04
EP1898312A4 (en) 2008-10-08
WO2007000862A1 (ja) 2007-01-04
EP1898312A1 (en) 2008-03-12
CN101194238B (zh) 2010-05-19
US20100082878A1 (en) 2010-04-01
TW200709210A (en) 2007-03-01

Similar Documents

Publication Publication Date Title
JPWO2007000862A1 (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法
US9037782B2 (en) Method of programming memory cells and reading data, memory controller and memory storage apparatus using the same
US8621139B2 (en) Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same
US20100011153A1 (en) Block management method, and storage system and controller using the same
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
JPWO2005083573A1 (ja) 半導体メモリ装置
JP4866117B2 (ja) 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP5166118B2 (ja) 半導体メモリの制御方法
JP5592478B2 (ja) 不揮発性記憶装置及びメモリコントローラ
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP4308780B2 (ja) 半導体メモリ装置、メモリコントローラ及びデータ記録方法
JP4661497B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP4235646B2 (ja) メモリコントローラおよびフラッシュメモリシステム
JP2012068765A (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP4655034B2 (ja) メモリコントローラ及びフラッシュメモリシステム並びにフラッシュメモリの制御方法
JP2012068764A (ja) メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法
JP2008299455A (ja) データ記憶装置及びデータ管理方法
JP4697146B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP2006244017A (ja) データコピー方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090512

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20110721