JP5556189B2 - 記憶装置およびデータの書込み方法 - Google Patents

記憶装置およびデータの書込み方法 Download PDF

Info

Publication number
JP5556189B2
JP5556189B2 JP2010009890A JP2010009890A JP5556189B2 JP 5556189 B2 JP5556189 B2 JP 5556189B2 JP 2010009890 A JP2010009890 A JP 2010009890A JP 2010009890 A JP2010009890 A JP 2010009890A JP 5556189 B2 JP5556189 B2 JP 5556189B2
Authority
JP
Japan
Prior art keywords
data
page
write
memory
storage unit
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
JP2010009890A
Other languages
English (en)
Other versions
JP2011150461A (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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2010009890A priority Critical patent/JP5556189B2/ja
Priority to US13/004,987 priority patent/US8347056B2/en
Priority to CN201110007169.6A priority patent/CN102129409B/zh
Publication of JP2011150461A publication Critical patent/JP2011150461A/ja
Application granted granted Critical
Publication of JP5556189B2 publication Critical patent/JP5556189B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits

Landscapes

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

Description

本発明は、データを多値化して記憶する記憶装置およびデータの書込み方法に関する。
フラッシュメモリなどの記憶装置では、各セルに、2ビット以上のデータを多値化して記憶させることができる。たとえば、特許文献1の記憶装置では、2ビットのデータを多値化して各セルに記憶させている。
このように2ビット以上のデータを多値化して各セルに記憶させることにより、記憶装置の記憶容量を倍増できる。
特開2008−299919号公報
しかしながら、2ビット以上のデータを多値化して記憶する記憶装置において、データの書込みに失敗すると、記憶装置に既に記憶させたデータが消失する可能性がある。
特に、記憶装置においてページ単位でデータを書き込む場合、ページ単位でデータが消失する可能性がある。
ページ単位で消失したデータは、通常のエラー訂正処理などにより復旧することは難しい。
このように2ビット以上のデータを多値化して記憶する記憶装置では、データの書込み処理の信頼性を改善することが求められている。
本発明の第1の観点の記憶装置は、ページ単位でのデータ書き込みが可能な複数の記憶単位を有し、各記憶単位に複数ページ分の書込みデータを多値化して記憶可能なメモリと、前記メモリに対してデータを書き込む場合、前記メモリの複数の記憶単位から書き込み先の記憶単位を選択し、選択した前記メモリの各記憶単位に、当該書込みに係るデータのページを含む複数のページによる2ビット以上のデータを多値化して書き込む制御部とを有し、前記制御部は、複数ページ分の書込みデータを前記メモリに書き込む場合、当該複数ページ分の書込みデータを、ページ毎に多値化し、前記メモリの未使用の第1記憶単位群、または、前記メモリ以外の他のメモリの未使用の記憶単位群を仮想領域として、該仮想領域の互いに異なる未使用の複数の記憶単位前記多値化された複数ページ分の書込みデータを1ページずつ書き込み、前記仮想領域へのデータ書き込み後に、当該書き込まれたデータを前記メモリの前記第1記憶単位群とは異なる第2記憶単位群へコピーし、前記コピーの後に前記仮想領域のデータを消去する
以下、メモリの記憶単位も、データ単位であるページと同様、「ページ」と称する。
第1の観点では、複数ページ分の書込みデータをメモリに書き込む場合、当該複数ページ分の書込みデータは、メモリの互いに異なる未使用の複数のページに1ページずつ書き込まれる。
よって、第1の観点では、書込みデータの書込み処理において、既にデータが書き込まれているメモリのページに対して、書込みデータの別のページを書き込まない。
本発明の第2の観点のデータの書込み方法は、ページ単位でのデータ書き込みが可能な複数の記憶単位を有し、各記憶単位に複数ページ分の書込みデータを多値化して記憶可能なメモリに対して、複数ページ分の書込みデータを書き込む場合に、前記メモリの複数の記憶単位から、書き込み先となる未使用の第1記憶単位群を選択する工程と、前記書込みデータの各ページを、1ページずつ別々に多値化する工程と、前記書込みデータの各ページについて多値化されたデータを、選択した前記未使用の第1記憶単位群に1ページずつ書き込む工程と、前記第1記憶単位群へのデータ書き込み後に、当該書き込まれたデータを前記メモリの前記第1記憶単位群とは異なる第2記憶単位群へコピーする工程と、前記第2記憶単位群へのコピーの後に前記第1記憶単位群のデータを消去する工程と、を有する。
本発明では、2ビット以上のデータを多値化して記憶する記憶装置において、データ書込み処理の信頼性を改善できる。
図1は、本発明の第1実施形態に係る記憶装置を含むデータ処理システムのブロック図である。 図2は、図1のフラッシュメモリの概略ブロック図である。 図3は、図2のメモリアレイに書き込まれる4種類の閾値電圧の一例の説明図である。 図4は、図1のフラッシュメモリのページとブロックとの対応関係の説明図である。 図5は、2ページの書込みデータがフラッシュメモリの1ページに書き込まれる例でのページ対応関係の説明図である。 図6は、図5のページ対応関係の下でのデータ消失例の説明図である。 図7は、図1のフラッシュメモリへのデータ書込み時に使用する仮想ブロックの説明図である。 図8は、図1の記憶装置の書込み処理のフローチャートである。 図9は、図8のステップST4の詳細なフローチャートである。 図10は、本発明の第2実施形態での仮想ブロックのデータの移動処理のフローチャートである。 図11は、第2実施形態での書込み処理のフローチャートである。
以下、本発明の実施の形態を図面に関連付けて説明する。
説明は以下の順に行う。
1.第1実施形態(データの書込み時には不揮発性メモリの仮想ブロックへデータを書き込み、その後に仮想ブロックから最終的な格納先のブロックへデータを移動する例。)
2.第2実施形態(仮想ブロックから最終的な格納先のブロックへのデータ移動処理を、バックグランドで処理する例。)
<1.第1実施形態>
[記憶装置1の全体構成]
図1は、本発明の第1実施形態に係る記憶装置1を含むデータ処理システムの構成を示すブロック図である。
図1の記憶装置1は、インタフェース部(I/F部)11、CPU(Central Processing Unit)12、内部RAM(Random Access Memory)13、アクセス制御部14、バッファRAM15、およびフラッシュメモリ16を有する。
図1の記憶装置1は、ホスト装置2に接続して使用するカード型の記憶装置1である。ホスト装置2は、たとえばコンピュータ装置である。
カード型の記憶装置1には、たとえばホスト装置2に対して着脱可能に装着されるMemory Stick(登録商標)、SDなどがある。
そして、記憶装置1は、複数ページのデータを多値化してフラッシュメモリ16に記憶する。
また、記憶装置1は、複数のページのデータの書込み処理において、まず、複数のページの書込みデータを1ページずつ別々に多値化して仮想ブロックに書き込む。その後、記憶装置1は、仮想ブロックから実際の格納先のブロックへ書込みデータを移動する。
インタフェース部11は、コネクタを有し、ホスト装置2のインタフェース部11に接続される。
インタフェース部11は、たとえばMemory Stick(登録商標)、SDなどの規格に準拠したものである。
これにより、記憶装置1は、ホスト装置2に接続される。
ホスト装置2は、記憶装置1にアクセスし、記憶装置1にデータを書き込み、記憶装置1からデータを読み出す。
フラッシュメモリ16は、たとえばNAND型のフラッシュメモリ16、NOR型のフラッシュメモリ16などの不揮発性の半導体メモリである。
フラッシュメモリ16は、電源供給が遮断された後にも、書き込まれたデータを保持記憶する。
フラッシュメモリ16は、後述するように複数のセルからなるページ(Page)単位で、データの書込みおよび読出しが可能である。
また、フラッシュメモリ16は、複数のページからなるブロック(Block)単位でデータの消去(初期化)が可能である。
内部RAM13は、たとえばSRAM、DRAMなどである。
内部RAM13は、インタフェース部11と、アクセス制御部14とに接続される。
そして、内部RAM13は、記憶装置1とホスト装置2との間で送受するデータを記憶する。
たとえば内部RAM13は、ホスト装置2から記憶装置1に書き込まれた書込みデータを記憶する。
また、内部RAM13は、フラッシュメモリ16から読み出した読出しデータを記憶する。
なお、内部RAM13は、たとえばフラッシュメモリ16の1ブロック分のデータを記憶できる容量であればよい。
バッファRAM15は、たとえばSRAM、DRAMなどである。
バッファRAM15は、アクセス制御部14と、フラッシュメモリ16とに接続される。
そして、バッファRAM15は、フラッシュメモリ16に書き込むデータ、またはフラッシュメモリ16から読み出すデータを記憶する。
なお、バッファRAM15は、たとえばフラッシュメモリ16の1ページ分のデータを記憶できる容量であればよい。
アクセス制御部14は、CPU12、インタフェース部11、内部RAM13、およびバッファRAM15に接続される。
そして、アクセス制御部14は、フラッシュメモリ16へのアクセスを管理し実行する。
たとえばアクセス制御部14は、フラッシュメモリ16に対するページ単位での書込み処理、ページ単位での読み出し処理、ブロック単位での消去(初期化)処理を実行する。
具体的にはたとえば、CPU12からデータの書込みが指示されると、アクセス制御部14は、内部RAM13から書込みデータを読み込む。
また、アクセス制御部14は、フラッシュメモリ16の書き込み先のページを選択し、内部RAM13から読み込んだ書込みデータをバッファRAM15に書き込む。
フラッシュメモリ16は、バッファRAM15から書込みデータを読み込んで多値化し、アクセス制御部14により選択されたページに書込み保存する。
書込みデータをフラッシュメモリ16に書き込むと、アクセス制御部14は、論物変換テーブルを作成または更新する。
なお、論物変換テーブルは、データの論理アドレスをフラッシュメモリ16の物理アドレスへ変換するためのテーブルである。
論物変換テーブルは、たとえばバッファRAM15などに記憶される。
また、CPU12からデータの読出しが指示されると、アクセス制御部14は、フラッシュメモリ16から、読出しデータを含むページを読み込む。
具体的には、アクセス制御部14は、論物変換テーブルを用いて読出しデータのアドレスに対応するページを特定し、当該ページの読出しをフラッシュメモリ16に指示する。
フラッシュメモリ16は、読出しデータを含むページのデータをバッファRAM15に書き込む。
アクセス制御部14は、バッファRAM15から、読出しデータを読み込み、内部RAM13に書き込む。
また、アクセス制御部14は、フラッシュメモリ16の複数のブロックの使用状況を管理する。
そして、たとえば未使用の初期化されたブロックが不足している場合には、アクセス制御部14は、同一論理ページについての古いデータを記憶するブロックを探索し、当該ブロックからデータを消去する。
消去処理されたブロックは、初期化され、未使用のブロックになる。
CPU12は、アクセス制御部14とともに記憶装置1の制御部として機能する。
CPU12は、インタフェース部11と、アクセス制御部14とに接続される。
そして、CPU12は、インタフェース部11を通じてホスト装置2と通信し、ホスト装置2から受信したアクセスコマンドを解釈し、コマンドを実行する。
また、CPU12は、アクセス制御部14に対して、フラッシュメモリ16へのアクセスを指示する。
たとえばインタフェース部11から書込みコマンドが入力されると、CPU12は、アクセス制御部14に書き込み処理を指示する。
アクセス制御部14は、インタフェース部11から内部RAM13に保存された書込みデータをページ単位で読み込み、フラッシュメモリ16に書き込む。
アクセス制御部14による書込み処理が完了すると、CPU12は、インタフェース部11からホスト装置2へ書込み完了を通知する。
また、インタフェース部11から読み出しコマンドが入力されると、CPU12は、アクセス制御部14に読み出し処理を指示する。
アクセス制御部14は、フラッシュメモリ16から読出しデータを読み込み、内部RAM13に書き込む。
内部RAM13に読出しデータが保存されると、CPU12は、インタフェース部11からホスト装置2へ読出し準備完了を通知する。
[フラッシュメモリ16の構造]
図2は、図1のフラッシュメモリ16の概略ブロック図である。
フラッシュメモリ16は、メモリアレイ21、ロー回路 (Row Circuit) 22、カラム回路 (Column Circuit) 23、ウェル電圧制御回路24を有する。
これらの回路21〜24は、たとえば図2のレイアウトにより、図示しない半導体基板に形成される。
メモリアレイ21は、複数のブロックを有する。複数のブロックは、複数のページを有する。
図2のメモリアレイ21は、m個のブロックBLK(1)〜BLK(m)を有し、各ブロックはn個のページP(1)〜P(n)を有する。
通常、フラッシュメモリ16は、数千個のブロックを有する。
各ページは、図示しない複数のセルを有する。
セルは、フローティングゲートを有する複数のトランジスタを有する。
そして、セルは、このフローティングゲートにより、たとえば2ビットのデータが多値化された4種類の閾値電圧を保持する。
複数のセルは、半導体基板のメモリアレイ21の形成領域において、二次元マトリクスに配列される。
複数のセルには、その配列にしたがって複数のワード線WLが接続される。複数のワード線WLは、ロー回路22に接続される。
複数のセルには、その配列にしたがって複数のビット線BLが接続される。複数のビット線BLは、カラム回路23に接続される。
ロー回路22およびカラム回路23は、複数のメモリセルを、ページ単位またはブロック単位で選択する。
そして、カラム回路23は、たとえば選択したページの各セルの閾値電圧を読み込み、各セルの閾値電圧に対応する2ビットのデータを生成し、読出しデータとして出力する。
ウェル電圧制御回路24は、複数のセルが形成される、たとえばN型の半導体基板のPウェルの電圧を制御する。
Pウェルの電圧を制御することにより、各セルには、2ビットに対応する4種類の閾値電圧のいずれかの電圧が書き込まれる。
図3は、図2のメモリアレイ21の各セルに書き込まれる4種類の閾値電圧の一例の説明図である。
図3の縦軸は閾値電圧であり、横軸は複数のセルでの閾値電圧の分布割合である。
図3には、各セルに書き込む4種類の閾値電圧として、第1閾値電圧TH1、第2閾値電圧TH2、第3閾値電圧TH3、第4閾値電圧TH4が記載されている。
第1閾値電圧TH1は、0Vより低い閾値電圧であり、2ビットの値、たとえば「11」に対応する。
第1閾値電圧TH1は、ブロック単位での消去処理によりセルに書き込まれる。
第2閾値電圧TH2は、は、0Vより高い閾値電圧であり、2ビットの値、たとえば「10」に対応する。
第2閾値電圧TH2は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
第3閾値電圧TH3は、第2閾値電圧TH2より高い閾値電圧であり、2ビットの値、たとえば「01」に対応する。
第3閾値電圧TH3は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
第4閾値電圧TH4は、第3閾値電圧TH3より高い閾値電圧であり、2ビットの値、たとえば「00」に対応する。
第4閾値電圧TH4は、ページ単位でのデータ書込み処理によりセルに書き込まれる。
そして、書込みデータの書込み処理では、2ページのデータを多値化し、その多値化データに対応する閾値電圧をセルに保持させる必要がある。
そのため、2ビットを多値化したデータを書き込む処理では、第1閾値電圧TH1が書き込まれたセルに対して、第2閾値電圧TH2の第1サイクルと、第3閾値電圧TH3の第2サイクルと、第4閾値電圧TH4の第3サイクルとを実行する必要がある。
図4は、図1のフラッシュメモリ16のページとブロックとの対応関係の説明図である。
図4には、複数のブロックPhysical Block 0、Physical Block 1、・・・が図示されている。図4において、各行が1個のブロックに対応する。各行のブロックは、複数のページPhysical Page 0、Physical Page 1、・・・により構成されている。
そして、たとえば図4の最も上の第1行の左端2個のページは、多値化され、フラッシュメモリ16の共通するセル群に書き込まれる。すなわち、フラッシュメモリ16の1個のページに書込まれる。
たとえば、左端から1番目のページのビットの値が0であり、2番目のページのビットの値が1である場合、これら2ビットの値が書き込まれるセルには、図3の第3閾値電圧TH3が書き込まれる。
図5は、2ページ分の書込みデータがフラッシュメモリ16の1個のページに書き込まれる場合の一例のページ対応図である。
図5には、書込みデータの複数のページPhysical Page 0〜Physical Page 15が図示されている。
図5において、書込みデータの複数のページは、グループ1(Group 1)とグループ2(Group 2)とに分類される。図5において同一行に図示されたグループ1のページとグループ2のページとは、多値化され、フラッシュメモリ16の1個のページに書込まれる。
図5においては、16個の書込みデータのページPhysical Page 0〜Physical Page 15は、フラッシュメモリ16の8個のページP1〜P8に書き込まれる。
たとえば書込みデータのページ0(Physical Page 0)およびページ1(Physical Page 1)は、フラッシュメモリ16の第1ページP1に書き込まれる。
図6は、図5のページ対応関係の下でのデータ消失の一例の説明図である。
図6には、図5の16個の書込みデータのページ(Physical Page 0〜15)が、フラッシュメモリ16の1個のブロック(Physical Block)に対応するように展開して描画されている。
ここで仮に、アクセス制御部14は、たとえば書込みデータの第6ページ(Physical Page 6)を書き込んだ後に、第7ページ(Physical Page 7)を書き込むものとする。
この場合において書込みデータの第7ページ(Physical Page 7)の書込み処理に失敗すると、第7ページと共通するセル群に既に書き込まれた第6ページ(Physical Page 6)のデータは消失する可能性がある。
よって、書込みデータの第6ページ(Physical Page 6)は、書込みデータの第7ページ(Physical Page 7)の書込み処理の失敗によりダメージを受けることになる。
このように図5のGroup1とGroup2とで同じ行となっている組み合わせのページ(例:Physical Page0とPhysical Page1)は、フラッシュメモリ16上の同じページに保存される。よって、片方の書き込み時にエラーが発生すると、もう片方のデータも一緒に破損してしまう可能性がある。
また、図5において同じ行となっている組み合わせのページには、書き込みが早いページと、遅いページとが傾向的に存在する。
以下では、図5のGroup1のページの書き込みが、Group2のページよりも早く、最初に書き込みがなされるものとして説明する。
第1実施形態では、このようなデータ書込み時のデータ消失を防止するために、仮想ブロック (Virtual Block)を使用する。
図7は、図1のCPU12が、フラッシュメモリ16へのデータ書込み時に使用する仮想ブロック31の説明図である。
図7(A)および(B)は、フラッシュメモリ16についての初期化された未使用のブロックPhysical Block A,Physical Block Bである。
各ブロックは、16個の未使用のページP0〜P15で構成される。
そして、図7(C)に示すように、アクセス制御部14は、図7(A)および(B)のフラッシュメモリ16の未使用の2個のブロックについて、仮想ブロック31を生成する。
なお、アクセス制御部14は、フラッシュメモリ16の複数組のブロックについて、複数の仮想ブロック31を生成してもよい。
仮想ブロック31は、図7(A)のブロックAから選択された8個の未使用のページP0、P2、P4、P6、・・・、P14と、図7(B)のブロックBから選択された8個の未使用のページP0、P2、P4、P6、・・・、P14とで構成される。
ところで、仮想ブロック31は、フラッシュメモリ16の各組のブロックにおいて、書き込みの早いグループ(図5で言うグループ1)のページだけを使用して設定される。
これにより、フラッシュメモリ16の1個のブロックのすべてのページを仮想ブロック31に設定する場合より、各ページの平均的な書込み速度は、向上する。
また、フラッシュメモリ16の各ブロックについてデータが書き込まれるページを考えた場合、仮想ブロック31の各ページは、図5のグループ1とグループ2とのようにペアの関係に無い。
よって、仮想ブロック31の1個のページにおいて書込みエラーが仮に発生しても、その書き込み中のページのデータが破損するだけである。
仮想ブロック31の他のページのデータは、消失するおそれがない。
また、本実施形態とは異なり、3ビットを多値化してフラッシュメモリ16の各セルに閾値電圧を書き込む場合、仮想ブロック31は、フラッシュメモリ16の3個の未使用のブロックにより定義すればよい。
同様に、4ビットを多値化する場合には、仮想ブロック31は、フラッシュメモリ16の4個の未使用のブロックにより定義すればよい。
また、5ビットを多値化する場合には、仮想ブロック31は、フラッシュメモリ16の5個の未使用のブロックにより定義すればよい。
そして、CPU12は、新たな書込みデータをフラッシュメモリ16に書き込む場合、この未使用の仮想ブロック31に対してページ単位でのデータ書込みを実行する。
この未使用の仮想ブロック31に対する書込み処理を実行することにより、仮想ブロック31に対応するフラッシュメモリ16の未使用のブロックの各セル群には、当該各セル群に書き込み可能な2ページのデータ内の、第1ページ分のデータのみが書き込まれる。
なお、仮想ブロック31は、たとえば内部RAM13、バッファRAM15、フラッシュメモリ16などの記憶領域に、CPU12およびアクセス制御部14などの記憶装置1の制御部によりアクセス可能に保存されればよい。
[書込みデータの書込み処理]
次に、図1の記憶装置1の書込み処理について詳しく説明する。
図8は、図1の記憶装置1の書込みデータの書込み処理のフローチャートである。
ホスト装置2が記憶装置1へ書込みデータを出力すると、記憶装置1は、インタフェース部11により書込みデータを受信する(ステップST1)。
記憶装置1が受信した書込みデータは、内部RAM13に書き込まれる。
ホスト装置2が記憶装置1に書き込む書込みデータは、内部RAM13に蓄積保存される。
次に、記憶装置1のCPU12は、内部RAM13に蓄積された書込みデータをフラッシュメモリ16への書込み処理を開始する(ステップST2)。
CPU12は、たとえばホスト装置2からの書き込み指示がインタフェース部11から入力されたり、または内部RAM13に所定量以上のデータが蓄積されたりすることにより、書込み処理を開始する。
CPU12は、フラッシュメモリ16について設定された複数の仮想ブロック31から、未使用の仮想ブロック31を選択する。
そして、CPU12は、アクセス制御部14に、選択した仮想ブロック31へのデータ書込みを指示する。
未使用の仮想ブロック31は、データが消去されて初期化されたフラッシュメモリ16の複数のブロックにより構成されるブロックである。
よって、未使用の仮想ブロック31に対応するフラッシュメモリ16の複数のブロックは、書込みデータを記憶していない。
そして、アクセス制御部14は、内部RAM13に記憶された書込みデータを1ページずつ読み込み、仮想ブロック31の未使用の各ページに書込む。実際には、アクセス制御部14は、仮想ブロック31の未使用の各ページに対応するフラッシュメモリ16の各ページに、書込みデータを1ページずつ書き込む。
この仮想ブロック31の各ページへの書込み処理では、フラッシュメモリ16についての図5のグループ1のページのみに書込み、グループ2のページには書込まない。
このため、アクセス制御部14は、たとえば各書き込み処理において、第1閾値電圧TH1が書き込まれたセルに対して、たとえば図3に示す4個の閾値のうち、第3閾値電圧TH3をセルに書き込む書込みサイクルのみを実行すればよい。
これにより、書込み後のセルには、2ビットのデータ「01」に対応する第3閾値電圧TH3、または2ビットのデータ「11」に対応する第1閾値電圧TH1が保持される。
この場合、2ビットのデータの内の上位ビットが、内部RAM13から読み込んだデータのビットに対応する。
これにより、2ページ分を多値化して書込む場合のように、第3閾値電圧TH3の第2サイクルと、第4閾値電圧TH4の第3サイクルとを実行する必要が無くなり、仮想ブロック31の各ページへの書込み処理を高速化できる。
アクセス制御部14は、仮想ブロック31の各ページに対応するフラッシュメモリ16のページへの書込み処理を正常に終了すると、仮想ブロック31への書込み処理を終了する。
なお、いずれかのページでの書込み処理が正常に終了しなかった場合、アクセス制御部14は、当該ページを内部RAM13から再度読み込み、再書込み処理を実行する。
アクセス制御部14による仮想ブロック31への書込み処理が終了すると、CPU12は、ホスト装置2へ書込み完了を通知する(ステップST3)。
CPU12は、インタフェース部11からホスト装置2へ書込み完了通知を送信する。
仮想ブロック31への書込みデータの書込み処理を終了すると、アクセス制御部14は、仮想ブロック31から、フラッシュメモリ16のブロックへのデータの移動処理を実行する。
アクセス制御部14は、まず、仮想ブロック31からフラッシュメモリ16のブロックへのデータのコピー処理を実行する(ステップST4)。
図9は、図1のアクセス制御部14による仮想ブロック31からフラッシュメモリ16のブロックへのデータコピー処理(図8のステップST4)のフローチャートである。
データコピー処理において、アクセス制御部14は、まず、フラッシュメモリ16の未使用のブロックを選択する(ステップST11)。
そして、アクセス制御部14は、仮想ブロック31の有効ページを未使用のブロックへコピーする処理を開始する(ステップST12)。
具体的には、アクセス制御部14は、仮想ブロック31から、有効ページのデータを読み込む(ステップST13)。
また、アクセス制御部14は、読み込んだ有効ページのデータを、選択したフラッシュメモリ16の未使用のブロックに書き込む(ステップST14)。
なお、有効ページとは、同一論理アドレスの最新のページを意味する。
そして、仮想ブロック31のすべての有効ページのコピーが完了すると(ステップST15)、アクセス制御部14は、データコピー処理が成功したか否かを判断する(ステップST16)。
データコピー処理が成功している場合、アクセス制御部14は、当該処理を終了する。
いずれかの有効ページのデータコピー処理が成功していない場合、アクセス制御部14は、ステップST11からST16までの処理を繰り返す。
なお、コピーするデータがシステムデータである場合、アクセス制御部14は、仮想ブロック31からフラッシュメモリ16のブロックへのデータコピー処理は、1ページずつ多値化し、フラッシュメモリ16の各ページに1ページずつ書き込む。
よって、コピー後のシステムデータは、図7(A)および(B)のブロックと同様の状態で、フラッシュメモリ16の他のブロックにコピーされる。
仮想ブロック31からのデータコピー処理が完了すると、図8に示すように、アクセス制御部14は、仮想ブロック31の消去処理を実行する。
なお、データコピー処理に失敗したフラッシュメモリ16のブロックが存在する場合、アクセス制御部14は、仮想ブロック31とともに当該ブロックの消去処理を実行する(ステップST5)。
仮想ブロック31のデータの移動処理を完了すると、アクセス制御部14は、書き込んだデータの種類を判断する(ステップST6)。
そして、書き込んだデータがシステムデータである場合、アクセス制御部14は、コピー先のブロックについて、追加データの書込み禁止を設定する(ステップST7)。
なお、システムデータには、たとえばFAT、Directory Entry、システムのセキュリティデータなどがある。
システムデータが破損すると、記憶装置1に記憶させたファイルが見えなくなったり、記憶装置1を用いた起動処理ができなくなったりする可能性がある。
なお、図9のステップST14のコピー処理において、アクセス制御部14は、書込みデータを仮想ブロック31へ書込んだ場合のように、フラッシュメモリ16の各ブロックの未使用の第1ページ(図5を参照)のみに書き込みを行うようにしてもよい。
この場合には、アクセス制御部14は、図8のステップST6、ST7を実行する必要が無い。図8のステップST6、ST7のデータの種類に応じた特別な判断および処理をしなくとも、データが書込まれた第1ページと組になっている第2ページへのデータ追加書込みの失敗により、第1ページのデータが消失することはない。
以上のように、第1実施形態では、複数のページによる2ビット以上のデータを多値化して記憶装置1に記憶させるので、記憶装置1の記憶容量を倍増できる。
これにより、第1実施形態では、単位ビット当たりのコストを大幅に削減できる。
また、第1実施形態では、データ書込み時にはメモリの未使用のページ(仮想ブロック31)に対して1ページずつ書き込む。
しかも、第1実施形態では、仮想ブロック31への各ページのデータの書き込み時には書込みサイクルを省略することにより、書込みデータの単位ページ当たりの書込み時間を削減している。
よって、第1実施形態では、データを多値化して記憶する記憶装置1において不利となる書込み速度の低下を抑制し、かつ、書込み後のデータ保持の信頼性を向上できる。
また、第1実施形態では、複数ページ分の書込みデータをフラッシュメモリ16に書き込む場合、当該複数ページ分の書込みデータは、ページ毎にフラッシュメモリ16の別々の未使用のページに1ページずつ書き込まれる。
よって、第1実施形態では、書込み処理中に、メモリ中の既にデータを記憶しているページに対しての追加データの書込み処理が発生しない。
そのため、第1実施形態では、追加ページの書込み処理による、当該書込み対象のページからのデータ消失を防止できる。
フラッシュメモリ16に書き込んだデータは、フラッシュメモリ16への書き込み処理の完了時に消失することがなくなり、確実にフラッシュメモリ16に記憶される。
これに対して、たとえば複数ページ分の書込みデータを、フラッシュメモリ16の各ページに複数ページずつ書き込む場合に、各ページの2回目以降の書込みに失敗すると、当該各ページに既に書き込まれたデータがページ単位で消失する可能性がある。
また、第1実施形態では、データの書込み処理において、仮想ブロック31を用い、フラッシュメモリ16の未使用のページのみを使用して書き込みデータの各ページを書き込む。
よって、第1実施形態では、フラッシュメモリ16の各ページに対する書込み処理において、フラッシュメモリ16の各ページに対して最も効率の良い書込み処理を採用できる。
具体的には、第1実施形態では、フラッシュメモリ16の未使用のページに1ページ分のデータを書き込む場合、たとえば第3閾値の1種類の値の書込み処理を実行する。
すなわち、第1実施形態では、書込みデータの各ページの書込み処理において、フラッシュメモリ16の各ページに対して1ビット分のデータのみを書き込む場合と同様の1サイクルの書込み処理を採用する。
このため、第1実施形態では、フラッシュメモリ16の各ページへの書込み処理において、多値データがとり得る値(ここでは4個)のすべての値の書込みサイクル(たとえば3サイクル)を実行する必要が無くなる。
その結果、第1実施形態では、フラッシュメモリ16の各ページに対して書込みデータの複数のページを書き込む場合に比べて、書き込みデータの1ページ当たりの書込み時間を短縮できる。
第1実施形態では、複数ページの書込みデータをフラッシュメモリ16に書き込む場合の書込み時間を総合的に短縮できる。
また、第1実施形態では、システムデータを記憶するフラッシュメモリ16のブロックに対して、他のページのデータの追加書き込みをしない。
これにより、第1実施形態では、システムデータと他のデータとを混在して記憶する記憶装置1において、システムデータの保持の信頼性をさらに向上できる。
これに対して、システムデータ以外のデータを記憶するページについては、他のページのデータの追加書き込みがされる
そのため、このページについては、通常通り、他のページのデータが追加書込みされる。
よって、第1実施形態では、多値化による記憶容量の倍増効果を損なうことなく、システムデータの信頼性を向上できる。
また、第1実施形態では、仮想ブロック31に一時記憶させたデータを、フラッシュメモリ16の他のブロックへ移動する。
この際、第1実施形態では、仮想ブロック31に一時記憶させたデータについての他のブロックへの書き込みが完了した後に、仮想ブロック31から当該データが消去される。
よって、第1実施形態では、仮想ブロック31から他のブロックへのデータの移動処理中には、フラッシュメモリ16に書き込まれたデータが仮想ブロック31において存在する。
そのため、第1実施形態では、当該他のブロックへのデータ移動に失敗し、当該他のブロックに既に書き込んだデータが消失することがあっても、仮想ブロック31に保持しているデータを用いて、当該他のブロックに対して消失したデータを再書込みできる。
第1実施形態では、この一連の処理により、フラッシュメモリ16に書き込む1ブロック分の書込みデータを、フラッシュメモリ16の1つのブロックに保存することができる。
<2.第2実施形態>
第2実施形態に係る記憶装置1の構成は、図1から図7に示す第1実施形態の記憶装置1と同様である。
ただし、仮想ブロック31の消去処理と、書込みデータの書込み処理とが、第1実施形態と異なる。
具体的には、仮想ブロック31からフラッシュメモリ16の他のブロックへのデータ移動処理を、データ書込み処理とは別のバックグランド処理により実行する。
なお、第2実施形態に係る記憶装置1の各構成要素は、第1実施形態の同名の構成要素と同じ機能を有するものであり、第1実施形態と同一の符号を使用してその説明を省略する。
図10は、本発明の第2実施形態のアクセス制御部14による仮想ブロック31のデータ移動処理のフローチャートである。
アクセス制御部14は、図10の処理を、書込み処理とは別に繰り返し実行する。
仮想ブロック31のデータ移動処理において、アクセス制御部14は、まず、すべての仮想ブロック31について使用状況を確認する(ステップST21)。
そして、アクセス制御部14は、空いている未使用の空きの仮想ブロック31が存在するか否かを判断する(ステップST22)。
未使用の仮想ブロック31が残存する場合、アクセス制御部14は、仮想ブロック31のデータコピー処理を終了する。
これに対して、空いている未使用の仮想ブロック31が無い場合、アクセス制御部14は、書き込みが一番古い仮想ブロック31を選択する(ステップST23)。
アクセス制御部14は、選択した仮想ブロック31のデータを、フラッシュメモリ16の他のブロックへのコピー処理を実行する(ステップST24)。
このコピー処理は、図9に示すコピー処理でよい。
仮想ブロック31のデータについてのフラッシュメモリ16の他のブロックへのコピー処理が完了すると、アクセス制御部14は、当該仮想ブロック31の消去処理を実行する(ステップST25)。
これにより、アクセス制御部14は、未使用の仮想ブロック31を生成する。
図11は、第2実施形態に係る記憶装置1の書込み処理のフローチャートである。
記憶装置1がホスト装置2から書込みデータを受信すると(ステップST31)、記憶装置1は、インタフェース部11により書込みデータを受信し、内部RAM13に蓄積保存する。
次に、記憶装置1のCPU12は、内部RAM13に蓄積された書込みデータをフラッシュメモリ16への書込み処理を開始する。
CPU12は、たとえばホスト装置2からの書き込み指示がインタフェース部11から入力されたり、または内部RAM13に所定量以上のデータが蓄積されると、フラッシュメモリ16へ書込み処理を開始する。
CPU12は、まず、仮想ブロック31をチェックし、未使用の空きとなる仮想ブロック31が残っているか否かを判断する(ステップST32、ST33)。
そして、未使用の空きとなる仮想ブロック31が残っていない場合、CPU12は、書込み処理とは別の指示により、仮想ブロック31のデータ移動処理をアクセス制御部14に指示する。
アクセス制御部14は、図10の処理により、仮想ブロック31のデータをフラッシュメモリ16の他のブロックへコピーする(ステップST34)。
また、アクセス制御部14は、当該仮想ブロック31のデータを消去する(ステップST35)。
これにより、アクセス制御部14は、未使用の仮想ブロック31を生成する。
未使用の仮想ブロック31が残っている場合、または、未使用の仮想ブロック31が生成されると、CPU12は、仮想ブロック31への書込みデータの書込み処理を開始する。
CPU12は、まず、未使用の仮想ブロック31を選択し、選択した仮想ブロック31へのデータ書込みをアクセス制御部14に指示する(ステップST36)。
アクセス制御部14による仮想ブロック31への書込み処理が終了すると、CPU12は、ホスト装置2へ書込み完了を通知する(ステップST37)。
CPU12は、インタフェース部11からホスト装置2へ書込み完了通知を送信する。
なお、図11の仮想ブロック32への書込み処理を実行するためには、原則、複数の仮想ブロック31が予め準備されている必要がある。
この場合、CPU12は、たとえばフラッシュメモリ16のすべてのブロックについて仮想ブロック31を設定すればよい。
これにより、書込みデータの書込み処理では、アクセス制御部14は、フラッシュメモリ16の約半分の容量の仮想ブロック31について順番に且つ高速に大量のデータを書き込むことができる。
また、アクセス制御部14は、必要に応じて適宜、図10の未使用の仮想ブロック31の生成処理を実行することにより、データロストを避けつつ、データの書込み速度の向上を図ることができる。
以上のように、第2実施形態では、仮想ブロック31へのデータ書込み完了により、フラッシュメモリ16へのデータ書込み処理を終了する。
すなわち、フラッシュメモリ16へのデータ書込み時の書き込み処理は、フラッシュメモリ16に対する1回の書込み処理により終了する。
よって、第2実施形態では、フラッシュメモリ16への書込みデータの書込み時間を短縮できる。
これに対して、第1実施形態では、仮想ブロック31への書込みデータの書込み処理と、仮想ブロック31からフラッシュメモリ16の他のブロックへのデータ移動処理とをシーケンシャルに実施しているため、1つのデータについて2回の書込み処理が発生する。
上記各実施形態は、本発明の好適な実施形態の例であるが、本発明はこれに限定されるものではなく、発明の要旨を逸脱しない範囲において種々の変形または変更が可能である。
たとえば上記実施形態では、書込みデータの2ページについての2ビットのデータを多値化し、フラッシュメモリ16に記憶させている。
この他にも例えば、フラッシュメモリ16は、書込みデータの3ページ以上についての3ビット以上のデータを多値化し、フラッシュメモリ16に記憶させてもよい。
この場合、制御部は、フラッシュメモリ16の未使用のページに最初に書込まれる第1ページを組み合わせて仮想ブロック31を準備し、書込みデータの書込み処理においては、この仮想ブロック31に対してデータを書き込めばよい。
上記実施形態では、CPU12などの制御部は、仮想ブロック31を用いて、書込みデータの書込み処理を実行している。
この他にも例えば、制御部は、仮想ブロック31によらずに、フラッシュメモリ16の未使用のページを個別に選択し、選択した当該ページに対して、1ページ分の書込みデータを書き込んでもよい。
上記実施形態では、書込みデータを仮想ブロック31へ書き込む場合、制御部は、仮想ブロック31の各ページとともに多値化される他のページの書込みデータが所定の固定値(たとえば1)であるとしてデータを多値化している。
この他にも例えば、制御部は、仮想ブロック31の各ページとともに多値化される他のページの書込みデータが任意の値であるとしてデータを多値化してもよい。
さらに他にも例えば、制御部は、仮想ブロック31の各ページに対応するフラッシュメモリ16のページに、多値化処理していない1ビットのデータを書き込んでもよい。
上記実施形態の記憶装置1は、フラッシュメモリ16を有し、このフラッシュメモリ16に書込みデータを書き込んで保持する。
この他にも例えば、記憶装置1は、UV−EPROM、EEPROMなどの不揮発性メモリを有し、これらの不揮発性メモリにデータを書き込んで保持してもよい。
また、記憶装置1は、RAMなどの揮発性メモリを有し、この揮発性メモリにデータを書き込んでもよい。
上記実施形態の記憶装置1は、カード型の記憶装置1である。
この他にも例えば、記憶装置1は、USBメモリ、SSD、eMMCなどの内蔵型の記憶モジュールなどであってもよい。eMMCには、ブート可能な記憶モジュールがある。
上記実施形態のホスト装置2は、たとえばコンピュータ装置である。
この他にも例えば、ホスト装置2は、携帯電話機、電子機器などであってもよい。
1・・・記憶装置、12・・・CPU(制御部)、14・・・アクセス制御部(制御部)、16・・・フラッシュメモリ(メモリ)、31・・・仮想ブロック、P(1)〜P(n)・・・フラッシュメモリのページ、BLK(1)〜BLK(m)・・・フラッシュメモリのブロック

Claims (7)

  1. ページ単位でのデータ書き込みが可能な複数の記憶単位を有し、各記憶単位に複数ページ分の書込みデータを多値化して記憶可能なメモリと、
    前記メモリに対してデータを書き込む場合、前記メモリの複数の記憶単位から書き込み先の記憶単位を選択し、選択した前記メモリの各記憶単位に、当該書込みに係るデータのページを含む複数のページによる2ビット以上のデータを多値化して書き込む制御部と
    を有し、
    前記制御部は、
    複数ページ分の書込みデータを前記メモリに書き込む場合、当該複数ページ分の書込みデータを、ページ毎に多値化し、
    前記メモリの未使用の第1記憶単位群、または、前記メモリ以外の他のメモリの未使用の記憶単位群を仮想領域として、該仮想領域の互いに異なる未使用の複数の記憶単位前記多値化された複数ページ分の書込みデータを1ページずつ書き込み、
    前記仮想領域へのデータ書き込み後に、当該書き込まれたデータを前記メモリの前記第1記憶単位群とは異なる第2記憶単位群へコピーし、
    前記コピーの後に前記仮想領域のデータを消去する、
    記憶装置。
  2. 前記制御部は、
    前記第2記憶単位群へのデータのコピーに際し、未使用の記憶単位群を選択して、選択した未使用の記憶単位群に第1記憶単位群に書き込まれているデータをコピーする、
    請求項1記載の記憶装置。
  3. 前記書込みデータの種類を判断し、当該書込みデータがシステムデータである場合、当該システムデータが1ページずつ書き込まれる前記メモリの第2記憶単位群に対して、他のページのデータの追加書き込みをしない
    請求項1または2記載の記憶装置。
  4. 前記制御部は、
    前記複数のページによる2ビット以上のデータを多値化して書き込む場合に、当該多値がとり得る複数の値のうちの1個の値の書込み処理として前記仮想領域の各未使用の第1記憶単位群に前記書込みデータを1ページずつ書き込む
    請求項1から3のいずれか一項記載の記憶装置。
  5. 前記制御部は、
    複数ページ分の書込みデータを前記メモリの複数のページに1ページずつ書き込む場合、前記多値化された複数ページ分の書込みデータを、前記メモリの前記第1記憶単位群で構成される仮想ブロックへ1ページずつ書き込み、
    前記仮想ブロックに書き込まれたデータを、前記メモリの前記仮想ブロックに属さない前記第2記憶単位群で構成される他のブロックにコピーし、当該他のブロックへのコピーが完了した後に前記仮想ブロックからデータを消去する
    請求項1からのいずれか一項記載の記憶装置。
  6. 前記制御部は、
    前記メモリに対する複数ページ分の書込みデータの書込み処理を、前記仮想ブロックへの書込み完了により終了し、
    前記書込み処理以外のバックグランド処理により、前記仮想ブロックから前記他のブロックへデータを移動する
    請求項記載の記憶装置。
  7. ページ単位でのデータ書き込みが可能な複数の記憶単位を有し、各記憶単位に複数ページ分の書込みデータを多値化して記憶可能なメモリに対して、複数ページ分の書込みデータを書き込む場合に、前記メモリの複数の記憶単位から、書き込み先となる未使用の第1記憶単位群を選択する工程と、
    前記書込みデータの各ページを、1ページずつ別々に多値化する工程と、
    前記書込みデータの各ページについて多値化されたデータを、選択した前記未使用の第1記憶単位群に1ページずつ書き込む工程と
    前記第1記憶単位群へのデータ書き込み後に、当該書き込まれたデータを前記メモリの前記第1記憶単位群とは異なる第2記憶単位群へコピーする工程と、
    前記第2記憶単位群へのコピーの後に前記第1記憶単位群のデータを消去する工程と、
    を有するデータの書込み方法。
JP2010009890A 2010-01-20 2010-01-20 記憶装置およびデータの書込み方法 Active JP5556189B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010009890A JP5556189B2 (ja) 2010-01-20 2010-01-20 記憶装置およびデータの書込み方法
US13/004,987 US8347056B2 (en) 2010-01-20 2011-01-12 Storage apparatus and data writing method
CN201110007169.6A CN102129409B (zh) 2010-01-20 2011-01-13 存储装置和数据写入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010009890A JP5556189B2 (ja) 2010-01-20 2010-01-20 記憶装置およびデータの書込み方法

Publications (2)

Publication Number Publication Date
JP2011150461A JP2011150461A (ja) 2011-08-04
JP5556189B2 true JP5556189B2 (ja) 2014-07-23

Family

ID=44267496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010009890A Active JP5556189B2 (ja) 2010-01-20 2010-01-20 記憶装置およびデータの書込み方法

Country Status (3)

Country Link
US (1) US8347056B2 (ja)
JP (1) JP5556189B2 (ja)
CN (1) CN102129409B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9190162B2 (en) * 2012-03-13 2015-11-17 Micron Technology, Inc. Nonconsecutive sensing of multilevel memory cells
KR102431238B1 (ko) * 2017-10-11 2022-08-11 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2003022687A (ja) * 2001-07-09 2003-01-24 Mitsubishi Electric Corp 半導体記憶装置
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
JP2006114078A (ja) * 2004-10-12 2006-04-27 Toshiba Corp 不揮発性半導体記憶装置及びその動作方法
CN101194238B (zh) * 2005-06-24 2010-05-19 松下电器产业株式会社 存储器控制器、非易失性存储装置、非易失性存储系统及数据写入方法
CN101176074B (zh) * 2005-12-09 2010-12-15 松下电器产业株式会社 非易失性存储器件,写入数据的方法,和读出数据的方法
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
JP4805696B2 (ja) * 2006-03-09 2011-11-02 株式会社東芝 半導体集積回路装置およびそのデータ記録方式
JP4866117B2 (ja) * 2006-03-22 2012-02-01 パナソニック株式会社 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
KR101185617B1 (ko) * 2006-04-04 2012-09-24 삼성전자주식회사 외부 메모리의 부하를 줄일 수 있는 웨어 레벨링 기법에의한 플래시 파일 시스템의 동작 방법
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
JP2008077810A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
KR100799688B1 (ko) * 2007-01-03 2008-02-01 삼성전자주식회사 백업 회로를 갖는 메모리 시스템 및 그것의 프로그램 방법
JP2008299919A (ja) * 2007-05-30 2008-12-11 Sony Corp 記憶装置及びデータの書き込み方法
JP2009104729A (ja) * 2007-10-24 2009-05-14 Toshiba Corp 不揮発性半導体記憶装置
JP2009129477A (ja) * 2007-11-20 2009-06-11 Toshiba Corp 不揮発性半導体記憶装置
JP5142685B2 (ja) * 2007-11-29 2013-02-13 株式会社東芝 メモリシステム
JP2009230407A (ja) * 2008-03-21 2009-10-08 Toshiba Corp データの更新方法、メモリシステムおよびメモリデバイス
US8331168B2 (en) * 2009-04-30 2012-12-11 International Business Machines Corporation Increased capacity heterogeneous storage elements
JP2012212487A (ja) * 2011-03-30 2012-11-01 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
CN102129409B (zh) 2015-08-19
US20110179244A1 (en) 2011-07-21
CN102129409A (zh) 2011-07-20
JP2011150461A (ja) 2011-08-04
US8347056B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
CN109542675B (zh) 存储器系统及其操作方法
CN107957961B (zh) 存储设备、存储系统和计算设备
CN107025178B (zh) 存储器控制器、非易失性存储器系统及其操作方法
US9805799B2 (en) Devices and methods of managing nonvolatile memory device having single-level cell and multi-level cell areas
US9239782B2 (en) Nonvolatile memory device and program method thereof
KR101861170B1 (ko) 마이그레이션 관리자를 포함하는 메모리 시스템
KR101635446B1 (ko) 반도체 메모리 장치의 블록 병합 방법
US10168940B2 (en) Data storage using SLC and TLC memory banks and data maintenance method thereof
US20080239811A1 (en) Method for controlling a non-volatile semiconductor memory, and semiconductor storage system
CN103137199A (zh) 存储器系统、数据存储设备、存储卡和固态驱动器
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20220277802A1 (en) Grown bad block management in a memory sub-system
CN113031856A (zh) 存储器子系统中的断电数据保护
KR20200086143A (ko) 저장 장치 및 그것의 데이터 처리 방법
JP4843222B2 (ja) 半導体記憶装置の制御方法、メモリカード、及びホスト機器
JP2009048680A (ja) 記憶装置
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN115145755A (zh) 用于重新映射存储器子系统中的不良块的系统和方法
CN115454327A (zh) 基于存储器单元的健康特性进行媒体管理操作
JP5556189B2 (ja) 記憶装置およびデータの書込み方法
CN111338995B (zh) 数据存储装置及操作数据存储装置的方法
CN113936721A (zh) 存储器系统、存储器装置和操作存储器装置的方法
CN114981785A (zh) 基于改变高速缓存中数据块的写入模式执行媒体管理操作
CN109753230B (zh) 控制数据存储装置运作的方法及数据存储装置及其控制器
JP4558052B2 (ja) メモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140414

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R151 Written notification of patent or utility model registration

Ref document number: 5556189

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250