JP5631486B2 - Nandメモリのブロックベースファイルシステムへログベースバファリングを用いて書き込む方法 - Google Patents

Nandメモリのブロックベースファイルシステムへログベースバファリングを用いて書き込む方法 Download PDF

Info

Publication number
JP5631486B2
JP5631486B2 JP2013513196A JP2013513196A JP5631486B2 JP 5631486 B2 JP5631486 B2 JP 5631486B2 JP 2013513196 A JP2013513196 A JP 2013513196A JP 2013513196 A JP2013513196 A JP 2013513196A JP 5631486 B2 JP5631486 B2 JP 5631486B2
Authority
JP
Japan
Prior art keywords
data
block
blocks
page
nand 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.)
Active
Application number
JP2013513196A
Other languages
English (en)
Other versions
JP2013531291A (ja
Inventor
シアマック アーリヤ
シアマック アーリヤ
ドンシェン シン
ドンシェン シン
Original Assignee
グリーンライアント リミテッド ライアビリティ カンパニー
グリーンライアント リミテッド ライアビリティ カンパニー
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 グリーンライアント リミテッド ライアビリティ カンパニー, グリーンライアント リミテッド ライアビリティ カンパニー filed Critical グリーンライアント リミテッド ライアビリティ カンパニー
Publication of JP2013531291A publication Critical patent/JP2013531291A/ja
Application granted granted Critical
Publication of JP5631486B2 publication Critical patent/JP5631486B2/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/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • 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

Description

本発明は、NANDメモリコントローラを動作させる方法に関し、加えてNANDメモリコントローラとNAND集積回路チップを備えるメモリデバイスを動作させるための方法にも関する。本発明の方法は、NANDメモリの、ブロックベースのフラッシュファイルシステムについてのランダム書き込みを遂行する性能を高める。
NANDメモリ集積回路チップは当技術では周知である。NANDメモリチップでは、メモリは、複数のストレージブロックを有し、それぞれのブロックが複数のページを保有していることを特徴とする。ブロックは、最小消去可能単位である。故に、NANDストレージの或るブロックの或るページが既に書き込まれているか又はプログラムされていた場合、当該ページは、それが関連付けられているブロック全体が消去されるまでは、プログラムし直されることも書き直されることもできない。従って、ブロックベースのフラッシュファイルシステム(FFS)では、事前に書き込まれているブロックの一部分(例えばページなど)を差し替え又は上書きするときは、ブロックの上書きデータ部分と不変データ部分とが新しい消去済みのブロックへ併合されなくてはならない。故に、図1に示されている様に、原ブロックのページ2とページ3が上書きされようとする場合、それらのページの新しいデータはまず一時ブロックに保存され、次いで原ブロックの他のページと一体に併合ブロックへ編入される。従って、ページ0とページ1は原ブロックから、ページ2とページ3は一時ブロックから、そして残りページのページ4から原ブロックの最後までは原ブロックから、それぞれ併合ブロックへコピーされる。すると原ブロックと一時ブロックが今後の使用に備えて消去される。
NANDのブロックが128又は256のページを有している場合、併合動作は非常に長くなる恐れがあり、1つ1つのページを動かすのに何ミリ秒もかかるかもしれない。加えて、ブロックのサイズとプログラミング時間が増加することで、併合時間が増加することになる。
更に、NANDメモリ集積チップでは、ブロックの数は非常に多いが、一時ブロックとして割り付けられているブロックは僅かしかない。図2を参照すると、1000のブロックを有するNANDチップの概略的なレベル図が示されているが、それら1000のブロックのうち992のブロックはデータブロックと指定されてデータの記憶に割り付けられており、8のブロックが一時ブロックに割り付けられている。典型的な書き込み動作は次の様になろう。データのページがデータブロック0の既に事前書き込みデータがある場所へ書き込まれようとしていると仮定する。そうすると、上述の併合動作が遂行される代わりに、(単数又は複数の)新しいデータページは、まず一時ブロックへ、例えばブロック992へ書き込まれ、ブロック992がデータブロック0の関連先として割り当てられたことになる。
新しいデータのページがNANDチップによって受信され、それがデータブロック0−991のどこであれ消去済みのページ宛てであれば、新しいデータのページは当該場所へ書き込まれる。しかしながら、新しいデータのページがデータブロック0宛てで、別のデータページの上から書き込むことになるなら、その場合は一時ブロック992に記憶される。最後に、新しいデータのページが、データブロック0以外のデータブロック、例えばデータブロック4内のページ宛てであって、別のデータページを上書きすることになる場合は、新しいデータのページは一時ブロック993に記憶され、そして一時ブロック993はデータブロック4と関連付けられる。併合動作は、長い時間を要するので、可能な限り差し控えられる。これは、新しいデータのページを一時ブロックに記憶することによって行われている。しかしながら、先行技術では、できる限り多くのブロックをデータ用に使用したいがために、割り付けられている一時ブロックは数が非常に少なく(例えばデータブロック1000毎に8ブロック)、NANDメモリチップはたちまち一時ブロックを使い果たしてしまう。例えば、上の例では、新データのページについて、9番目の「書き込み」動作が受信され、9つ目の異なるデータブロックを上書きすることになる場合、一時ブロックを確保するために、まず併合動作が遂行されなくてはならない。NANDチップのストレージ容量が増加しブロック数が増加するにつれ、NANDチップが一時ブロックを確保するために早急に併合動作を求められる可能性は増大する。
NANDチップに係り新しいデータの(単数又は複数の)ページが書き込めるようになる前の併合動作の殆どない真のランダム書き込み動作になおいっそう迫真するという課題に対する1つの先行技術による解決策は、データブロックと同じほど多くの一時ブロックを持つというものであった。一時ブロック対データブロックが1:1の比であれば、併合動作の要求は劇的に減少する。しかしながら、この解決策では、ユーザーデータを記憶させるのに利用できるブロックがはるかに少なくなってしまう。それ故、新しい解決策が待望されている。
この制限は、NANDメモリチップのプログラミングを制御するためのコントローラを動作させる方法を示した本発明によって克服される。NANDメモリチップは、複数のブロックを有し、1つ1つのブロックは或る特定のストレージ量を有しているものであって、それぞれのブロック内のストレージ量は最小消去可能単位である。本方法は、データブロックよりも数の少ないデータグループであって、1つ1つがNANDメモリチップのブロックに記憶されることになっているデータグループの、第1の複数のデータグループを一時ストレージに記憶させる段階を備えている。それぞれのデータグループは、それが記憶されることになるブロックに対し索引付けされる。最後に、同じブロックと関連付けられているデータグループが同じプログラミング動作で同じブロックへプログラムされる。
先行技術の併合動作のブロック図である。 先行技術の書き込み動作中にデータを一時的に記憶させるために使用される一時ブロックのデータブロックに対する割り当てのブロック図である。 NANDメモリチップを制御するための本発明の方法で動作し、ホストデバイスからのコマンドを受信するコントローラのブロック図である。 本発明の方法で使用されているデータブロック及び一時ブロックを備えたNANDメモリチップのためのアドレス空間を示す図である。 本発明と共に使用される索引表の一例である。
図3を参照すると、本発明の方法で動作するNANDメモリコントローラ10のブロックレベル図が示されている。コントローラ10は、アドレスバス14、データバス16、及びコントロールバス18の様な周知のバスを通して、NANDメモリ集積回路チップ12とインターフェースし、その動作を制御している。NANDメモリ10について典型的には、アドレスバス14とデータバス16は同一物であり、即ちアドレスとデータは同じバスを介して伝送されている。本発明はメモリコントローラ10を動作させるための方法ではあるが、本発明は、メモリモジュールとして一体にパッケージ化されているか或いはなおのこと一体に集積化されているコントローラ10とNANDメモリチップ12を備えるメモリデバイスを動作させるのに使用することもできる。コントローラ10は、更に、揮発性メモリ30とインターフェースし、それに接続されている。その場合、アドレスバス14、データバス16、及びコントロールバス18も揮発性メモリ30へ接続されている。
コントローラ10は、PATA(パラレルATA)コマンドプロトコル又はSATA(シリアルATA)コマンドプロトコルの様な周知のプロトコルを通してホストデバイス20とインターフェースしている。
以上に説明されている様に、本発明は、ブロックベースの不揮発性メモリシステムにおけるランダム書き込み性能を改善するという課題を、併合動作の遂行頻度を減らすことによって解決している。
先に論じられている様に、NANDメモリチップ12の性質のせいで、データを或るブロックの事前に書き込まれている(単数又は複数の)ページへ書き込むためには、最初にブロック全体を消去しなくてはならない。本発明の方法では、新しいデータのページがデータブロックの事前に書き込まれているページへ書き込まれようとする場合、データブロック全体を消去するのではなしに、新しいデータのページは最初に一時ブロック内の次に利用できるページへ書き込まれる。先行技術同様、一時ブロックはNANDメモリチップ12内に在る。
しかしながら、それぞれの一時ブロックにデータブロックが関連付けられていた先行技術とは違い、本発明の方法を用いれば、当該データブロックと関連付けられているページのみを同じ一時ブロックへ書き込むことができ、同じ一時ブロック内のそれぞれのページは、異なるデータブロックに記憶されることになっているデータを記憶することになる。こうして、それぞれの一時ブロックを利用して、新しいデータのページをデータブロックへ書き込まなくてはならなくなる前に異なるデータブロック向けの多くのデータページを記憶させることができる。従って、一時ブロックに保存される複数ページに対して1の比を用いて併合動作の頻度を小さくすることができる。
例えば、図4に示されている様に、一時ブロック992のページ0はデータブロック0に記憶されることになっているデータを記憶することができる。同じ一時ブロック992内で、ページ1がデータブロック2に記憶されることになっている新しいデータを記憶することもできる。最後に、一時ブロック992内で、ページ2がデータブロック4に記憶されることになっているデータを記憶することもできる。こうして、先行技術とは違い、同じ一時ブロック内のページが異なるデータブロック宛てのデータを記憶することができる。また、データブロック(例えばデータブロック0)には一時ブロック992内のデータページ(例えばページ0)が既に記憶されることになっているが、そのデータブロック0に記憶されることになる新しいデータのページ(例えばページ1)を、一時ブロック993の様な異なる一時ブロックが記憶することもできる。換言すると、同じデータブロックに記憶されることになっているページを異なる一時ブロックに記憶させることができるということである。本発明の方法では、新しいデータページがデータブロックに記憶されようとしていて、当該場所が消去されていないと判定されると、新しいデータページは一時ブロックの集合体内の次に利用できるページに記憶される。こうして、一時ブロックは、データブロックへ書き込まれようとする新しいデータのページのログを維持する。
一時ブロック内のデータページとデータブロック内の記憶されるべき最終目的地の間の相関を追跡するために、索引表が作成される。索引付けは、物理アドレスによる又は論理アドレスによるなど多数の異なるやり方で行うことができる。一例が図5に示されている。図5は、物理アドレス索引表を示している。索引表のそれぞれの行は、一時ブロックに記憶されているデータのページを表現しており、ページが一時的に記憶されている物理アドレスとデータページの最終目的地のページアドレスに関する情報を保有している。これらのアドレスは、以下に説明されているブロックアドレス又はページアドレスの形態をとることができる。
「論理ページ番号」は、最終的にこの新しいデータのページで更新されることになる、データブロック内のページのことである。
「論理ブロックNo.」は、新しいデータのページが最終的に書き込まれることになる、データブロック内のブロック番号のことである。
「物理ブロックアドレス」は、新しいデータのページが保留されている一時ブロックの物理アドレスのことである。
「物理ページアドレス」とは、新しいデータをデータブロックへ更新するのに先立って、新しいデータを保留している一時ブロック内の物理ページアドレスのことである。
本発明の方法では、新しいデータページが、ホストデバイス20からNANDメモリコントローラ10によって受信される。コントローラ10は、新しいデータのページが書き込まれようとするデータブロック内の場所をチェックして、当該場所が消去済みのメモリセルを保有しているか或いは事前に書き込まれているデータを保有しているかを判定する。その場所が消去済みのメモリセルを保有していた場合、新しいデータのページは当該場所へ書き込まれる。また一方、その場所が事前に書き込まれているデータを保有していた場合、新しいデータのページは、一時ブロック内の次に利用できる消去済みページへ書き込まれる。コントローラ10は、次いで、新しいデータページがどこに書き込まれようとしているかについて、新しいデータページの論理アドレス及び新しいデータページが一時的に書き込まれることになる関連の物理アドレスを含め、索引表を更新する。NANDメモリデバイスの動作で慣行的な他の表及び当業者に周知されている他の表、例え論理ブロック対物理ブロックのマッピングや一時ブロック番号対物理ブロックのマッピングなど、も同様に維持され更新されなくてはならない。
それぞれの一時ブロックには固有データブロックが関連付けられていないため、先在データのある場所宛ての新しいデータの累積ページ数ははるかに大きくなることであろう。その結果、併合動作の頻度は小さくなる。256のページを有する一時ブロックなら、1つの一時ブロックが、256の異なるデータブロック宛ての256のページを記憶することもできるし、データブロック当たり複数ページを記憶することもできる。8つの一次ブロックがあれば、それら8つの一時ブロックがバッファ又は記憶区域として働くことのできる異なるデータブロックは2048という多さになろう。更に、これらの一時ブロックが128のデータブロックのために働いている場合、それぞれのデータブロックは、併合動作を遂行させなくてはならなくなる前に、平均16ページを一時ブロック内に累積させることができる。対照的に、先行技術では、一時ブロック1つがバッファとして働けるのはたった1つのデータブロックに対してであり、一時ブロック8つではバッファとして働けるのはたった8つの異なるデータブロックに対してである。当然ながらトレードオフは索引表作成の必要性である。索引表は、揮発性メモリ30に記憶させてもよいし、なおのことNANDメモリ12そのものに記憶させてもよい。索引表を揮発性メモリに記憶させることの利点は検索の速さである。不都合は揮発性であること、即ち、不意に電源が切れた場合にデータが失われてしまうことである。
新しいデータのページを一時ブロックからデータブロックへ併合するという動作は、日和見的に、NANDチップ12のリソースの要求が静まっているときに行われてもよいし、又は確定的に、指定された間隔で又は指定された事象時に行われてもよい。日和見的併合の場合は、併合動作はホストコマンドへの何らの遅延も引き起こすことなく遂行されることになろう。併合動作中、コントローラ10は、一時ブロックから、同じデータブロックに記憶されることになる新しいデータのページを全て集め、それら新しいデータページを同じブロックからの差し替えられないデータページと併合し、それらを消去済みのデータブロックへ書き込む。次いで原データブロックは消去され、新しいデータのページ及び関連付けられているデータ、例えばブロック番号、物理アドレス、及び論理アドレスなどが、次いで一時ブロック及び索引表から削除される。
併合動作は、2通りのやり方のうちの1つで起こる。1つの方式では、一時ブロック内のページは全てデータブロックへ書き込まれる。これに続けて、一時ブロック及び索引表の全てが消去される。この方式では、一時ブロック内に記憶されているページ数が多いために、併合動作は長時間かかることになろう。
2つ目の方式では、併合動作は、一度に1つのデータブロック又は数個のデータブロックだけを更新する。この動作方式では、同じデータブロック宛てのページであって、複数の異なる一時ブロック内に記憶されている場合もあるその様なページが、一時ブロックから選択されて、(単数又は複数の)同じデータブロックへ書き込まれる。とはいえ、この手法では、一時ブロックからのデータのページどれもが併合動作によってデータブロックへ書き込まれるとは限らないため、書き込まれたページしか一時ブロックから消去されないはずである。しかしながら、それぞれの一時ブロックはデータの「塊」でもあり、これは当該ブロック内のデータ全てがひと塊に消去されなくてはならないことを意味しているため、いわゆる「ガベージコレクション」動作が行われる必要がある。「ガベージコレクション」動作は当技術では周知されており、この動作では、同じ一時ブロック内の未併合のデータページが一時ブロックの完全消去済みブロックへ転送されて、一時ブロックを消去できるようになる。加えて、索引付け表では同様に、併合動作中に書き込まれたデータのページを参照するエントリがパージされるはずである。従って、たった1つ又は数個のデータブロックについてのページしか併合しない2番目の技法は、長ったらしい連続した併合動作こそ必要ないが、追加的な後続の「ガベージコレクション」プロセスがまさしく要求され、追加のオーバーヘッドが発生する。
新しいデータページがデータブロックへ併合される前に、コントローラ10へ読み出し要求がなされれば、コントローラ10は、ホストデバイス20によって読み出し要求の一部として供給された論理アドレスを使用して、新しいデータのページの場所を索引表から読み出す。論理アドレスが索引表の中に含まれていなければ、それは、データがデータブロックの中にあり、差し替えられていないということを示しており、コントローラ10は論理アドレスを使用し、データブロックを探してデータのページを読み出す。
上記から分かる様に、一時ブロックは新しいデータのページ1つ1つを保存しており、どれか1つの特定のデータブロックと関連付けられているのではないため、本発明の方法を用いれば、一時ブロックは、1つ又はそれ以上の併合動作を遂行させなくてはならなくなる前に、より多くの新しいデータのページを保留することができる。加えて、併合動作があった場合、同じ併合動作で同じ一時ブロックから記憶させることのできるページは先行技術に比べ多くなる。
10 NANDメモリコントローラ
12 NANDメモリ集積回路チップ
14 アドレスバス
16 データバス
18 コントロールバス
20 ホストデバイス
30 揮発性メモリ

Claims (8)

  1. 複数のブロックを有し、1つ1つのブロックが複数のストレージグループを有するNANDメモリチップであって、それぞれのブロック内のストレージ量は最少消去可能単位である、NANDメモリチップのプログラミングを制御するためのコントローラを動作させる方法において、
    一時ストレージの複数のブロックの1つの少なくとも2つのデータグループは、前記NANDメモリチップの前記複数のブロックの異なるブロックに記憶させることになり、前記一時ストレージの前記複数のブロックの異なるブロックの中の、少なくとも2つのデータグループは、前記NANDメモリチップの前記複数のブロックの同じブロックに記憶させることになっている、複数のデータグループを前記一時ストレージの複数のブロックに記憶させる段階と、
    索引表内で、前記一時ストレージ中の前記ブロック内のそれぞれのデータグループを、それが記憶されることになる前記NANDメモリチップの前記ブロックのストレージグループに対して索引付ける段階と、
    前記一時ストレージ内に記憶され、前記NANDメモリチップの複数のブロックの前記同じブロックに記憶させることになる全ての前記複数のデータグループを識別する段階と、
    前記一時ストレージから、全ての識別された前記データグループを、前記同じブロックに記憶されたデータと共に、前記NANDメモリチップの前記同じブロックとは異なる前記NANDメモリチップの消去されたブロックに書き込む段階と、
    前記一時ストレージから、消去されたブロックに書き込まれた前記データグループを削除する段階と、
    前記索引表から、前記一時ストレージから削除された前記データグループについての索引を削除する段階と、から成る方法。
  2. それぞれの前記複数のストレージグループは、ページである、請求項1に記載の方法。
  3. 前記索引付ける段階は、
    前記一時ストレージへ書き込まれる前記データグループの論理アドレス対物理アドレスの表を作成する段階を含んでいる、請求項1に記載の方法。
  4. 前記書き込む段階は、前記一時ストレージからの前記データグループを全て書き込む、請求項1に記載の方法。
  5. 前記データグループを削除する段階は、前記一時ストレージから前記データグループを全て削除する、請求項4に記載の方法。
  6. 前記索引表から削除する段階は、前記索引を全て削除する、請求項5に記載の方法。
  7. 前記データグループを削除する段階は、書き込まれた前記データグループのみを削除する段階と、ガベージコレクションステップを遂行して前記一時ストレージの残りの前記データグループをひとまとめにする段階を更に含んでいる、請求項1に記載の方法。
  8. 前記索引表から削除する段階は、書き込まれた前記データグループについての前記索引のみを削除する段階と、ガベージコレクションステップを遂行して前記索引表の残りの前記索引をひとまとめにする段階を更に含んでいる、請求項7に記載の方法。
JP2013513196A 2010-06-01 2011-05-16 Nandメモリのブロックベースファイルシステムへログベースバファリングを用いて書き込む方法 Active JP5631486B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/791,767 2010-06-01
US12/791,767 US8838878B2 (en) 2010-06-01 2010-06-01 Method of writing to a NAND memory block based file system with log based buffering
PCT/US2011/036664 WO2011152984A1 (en) 2010-06-01 2011-05-16 A method of writing to a nand memory block based file system with log based buffering

Publications (2)

Publication Number Publication Date
JP2013531291A JP2013531291A (ja) 2013-08-01
JP5631486B2 true JP5631486B2 (ja) 2014-11-26

Family

ID=45023068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013513196A Active JP5631486B2 (ja) 2010-06-01 2011-05-16 Nandメモリのブロックベースファイルシステムへログベースバファリングを用いて書き込む方法

Country Status (5)

Country Link
US (1) US8838878B2 (ja)
EP (1) EP2577469A4 (ja)
JP (1) JP5631486B2 (ja)
CN (1) CN103038753B (ja)
WO (1) WO2011152984A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103885889A (zh) * 2014-03-19 2014-06-25 广州市泰斗软核信息科技有限公司 一种基于nor flash的数据存储方法及系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6763424B2 (en) * 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
KR101085406B1 (ko) 2004-02-16 2011-11-21 삼성전자주식회사 불 휘발성 메모리를 제어하기 위한 컨트롤러
JP4713867B2 (ja) 2004-09-22 2011-06-29 株式会社東芝 メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
US7292476B2 (en) 2005-08-31 2007-11-06 Micron Technology, Inc. Programming method for NAND EEPROM
WO2007066720A1 (ja) * 2005-12-09 2007-06-14 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法
US7626866B2 (en) 2006-07-28 2009-12-01 Micron Technology, Inc. NAND flash memory programming
JP2008152464A (ja) 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
KR100885181B1 (ko) 2007-02-06 2009-02-23 삼성전자주식회사 그룹 맵핑 동작을 수행하는 메모리 시스템 및 그것의어드레스 맵핑 방법
US7804718B2 (en) * 2007-03-07 2010-09-28 Mosaid Technologies Incorporated Partial block erase architecture for flash memory
US7751245B2 (en) 2007-10-10 2010-07-06 Micron Technology, Inc. Programming sequence in NAND memory
TWI398770B (zh) 2008-07-08 2013-06-11 Phison Electronics Corp 用於快閃記憶體的資料存取方法、儲存系統與控制器

Also Published As

Publication number Publication date
US20110296080A1 (en) 2011-12-01
EP2577469A1 (en) 2013-04-10
CN103038753A (zh) 2013-04-10
CN103038753B (zh) 2016-04-06
EP2577469A4 (en) 2014-03-26
WO2011152984A1 (en) 2011-12-08
US8838878B2 (en) 2014-09-16
JP2013531291A (ja) 2013-08-01

Similar Documents

Publication Publication Date Title
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US7761655B2 (en) Storage system and method of preventing deterioration of write performance in storage system
US8578127B2 (en) Apparatus, system, and method for allocating storage
US8015371B2 (en) Storage apparatus and method of managing data storage area
EP1548599B1 (en) Faster write operations to nonvolatile memory by manipulation of frequently accessed sectors
US7657701B2 (en) System and method of flash memory wear leveling using distributed write cycles
US10061710B2 (en) Storage device
US20060218347A1 (en) Memory card
JP5364807B2 (ja) メモリコントローラ及び不揮発性記憶装置
US20070174578A1 (en) Method of controlling card-shaped memory device
WO2011143628A2 (en) Apparatus, system, and method for conditional and atomic storage operations
KR20110117099A (ko) 메모리 장치에서 맵핑 어드레스 테이블을 유지관리하는 방법
WO2015162758A1 (ja) ストレージシステム
US20140047164A1 (en) Physically Addressed Solid State Disk Employing Magnetic Random Access Memory (MRAM)
US9892034B2 (en) Semiconductor device and operating method thereof
US11513949B2 (en) Storage device, and control method and recording medium thereof
US20110320689A1 (en) Data Storage Devices and Data Management Methods for Processing Mapping Tables
US20100318726A1 (en) Memory system and memory system managing method
TW201727472A (zh) 資料儲存方法及其系統
JP5631486B2 (ja) Nandメモリのブロックベースファイルシステムへログベースバファリングを用いて書き込む方法
JP2000305818A (ja) チップカードのメモリ断片化解消(デフラグ)
JP6817340B2 (ja) 計算機
JP4582232B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2013196155A (ja) メモリシステム
CN111625477A (zh) 访问擦除块的读请求的处理方法与装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140814

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141007

R150 Certificate of patent or registration of utility model

Ref document number: 5631486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

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