JP5609683B2 - メモリ装置およびメモリシステム - Google Patents
メモリ装置およびメモリシステム Download PDFInfo
- Publication number
- JP5609683B2 JP5609683B2 JP2011018909A JP2011018909A JP5609683B2 JP 5609683 B2 JP5609683 B2 JP 5609683B2 JP 2011018909 A JP2011018909 A JP 2011018909A JP 2011018909 A JP2011018909 A JP 2011018909A JP 5609683 B2 JP5609683 B2 JP 5609683B2
- Authority
- JP
- Japan
- Prior art keywords
- physical block
- erased
- memory
- physical
- erasable
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
フラッシュメモリはデータを書き換えるためには、一度消去する必要があるメモリで、図1に示すように、データの書き込みはページ単位PGで行われ、消去はページの集合であるブロックBLK単位で行われる。図1の例では、1ブロックBLKは128ページの集合で形成されている。
そして、メモリシステムにおいて、ホスト装置からの書き込みが発生すると、その論理アドレスに消去済みの物理ブロックを割り当て、消去を発生させずに、データの書き込みを優先させる技術が提案されている(特許文献1参照)。
たとえば、書き込もうとするフラッシュメモリのブロックにすでにデータが書き込まれている場合には、消去してからデータを書きこむため、消去済みのブロックにデータを書く場合に比べて速度が低下する。
この技術では、論理アドレスの下位のアドレス空間をメモリチップAに割当て、論理アドレスの上位のアドレス空間をメモリチップBに割当てている。
この場合、一方のアドレス空間のデータに書き込みが集中し、一つのメモリチップ内で消去可能なブロックがなくなってしまうと、データを消去してから書き込む処理が必要となり、書き込み速度を低下させることになる(図2参照)。
また、ホスト機器がアクセスをしないときに、電源を遮断するようなシステムにおいては、実質的に消去ブロックが確保できなくなるおそれがある。
なお、説明は以下の順序で行う。
1.第1の実施形態(メモリシステムの第1の構成例)
2.第2の実施形態(メモリシステムの第2の構成例)
3.第3の実施形態(メモリシステムの第3の構成例)
4.第4の実施形態(メモリシステムの第4の構成例)
5.第5の実施形態(メモリシステムの第5の構成例)
6.第6の実施形態(メモリシステムの第6の構成例)
7.第7の実施形態(メモリシステムの第7の構成例)
8.第8の実施形態(メモリシステムの第8の構成例)
9.第9の実施形態(メモリシステムの第9の構成例)
図3は、本第1の実施形態に係るメモリシステムの構成を示す図である。
メモリコントローラ200は、ホスト装置100から受信した論理アドレスを不揮発性メモリ300,301のアドレスに変換し、ホスト装置100から受信したデータを不揮発性メモリ300,301に書き込む。
不揮発性メモリ300,301は、メモリコントローラ200から指定されたアドレスにデータを書き込む。
メモリコントローラ200は、ホストインタフェース(I/F)制御部201、ホストデータバッファ202、論物変換(論理アドレス・物理アドレス変換)制御部203、および論物変換テーブル204を有する。
メモリコントローラ200は、消去可能物理ブロック管理部205、消去済み物理ブロック管理部206、メモリ制御部207、第1閾値設定部208、第2閾値設定部209、メモリI/F制御部210、メモリI/F制御部211を有する。
ホストI/F制御部201は、ホスト装置100から書き込みアドレス、書き込み要求サイズもしくは読み出し要求サイズからなる書き込みおよび読み出しコマンドを受信すると、その論理アドレスLAとそのサイズをメモリ制御部207に通知する。
ホストI/F制御部201は、書き込み要求の場合は受信した書き込みデータをホストデータバッファ202に転送し、読み出し要求の場合には、ホストデータバッファ202のデータをホストI/FHIFに出力する。
図4は、論物変換テーブルの一例を示す図である。
論物変換テーブル204は、図4に示すように、論理アドレスLAを実際の不揮発性メモリ300,301の物理アドレスPAに変換した結果を保持するテーブルである。
論物変換制御部203は、この論物変換テーブル204を使って、メモリ制御部207から入力される論理アドレスLAを不揮発性メモリ300,301の物理アドレスPAに変換する。そして、論物変換制御部203は、論理アドレスLAが物理アドレスPAに未割当てであるか、割当てられていた場合にはその物理アドレスPAと、データ書き込み先の物理アドレスPAをメモリ制御部207に通知する。
論理アドレスLAは消去単位である物理ブロックサイズ毎に割り当てられるため、以下では、図5に示すように、この物理ブロック(PBLK)サイズ毎の論理アドレスLAの区切りを論理アドレス境界と呼ぶ(図5)。
論物変換制御部203は、論理アドレスLAに対応する物理アドレスPAが存在する場合には、ステップST3の処理を行う。
ステップST3において、論物変換制御部203は、論理アドレスLAに対する物理アドレスPAが設定されていること、受信した論理アドレスLAに対応する物理アドレスPAと、データ書き込み先の物理アドレスPAをメモリ制御部207に通知する。
論物変換制御部203は、メモリ制御部207でのデータ書き込み処理が終了するのを待って、論理アドレスLAと新たな物理アドレスPAの関係を論物変換テーブル204に更新する(ST4、ST5)。
ステップST2において、論理アドレスに対応する物理アドレスが存在しない場合には、論物変換制御部203は、消去済み物理ブロック管理部206に空きブロックアドレスの生成を要求する(ST6)。
論物変換制御部203は、消去済み物理ブロック管理部206から空きブロックアドレスとそのチャネルの情報を受信し、メモリ制御部207に通知し(ST7)、ステップST4の処理に移行する。
そして、上記したように、ステップST4において、論物変換制御部203は、メモリ制御部207でのデータ書き込み処理が終了するのを待って、ステップST5において、新たな論理アドレスと物理アドレスの関係を論物変換テーブル204に追加する。
消去済み物理ブロック管理部206は、消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理する。
図7(A)は消去済みブロックEDBLKのリストEDBLを、図7(B)消去可能ブロックEBBLKのリストEBBLを示している。
消去済みブロックリストEDBLおよび消去可能ブロックリストEBBLは、チャネルブロック番号CHx(本例ではX=0,1)およびブロック番号BLK[y]が対応付けてリストとして形成されている。
図8は、本第1の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。
そして、消去可能物理ブロック管理部205は、メモリ制御部207から消去ブロックのアドレス生成要求を受信する(ST11)。
そして、消去可能物理ブロック管理部205は、書き込みコマンドを受信して書き込み動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、消去済み物理ブロック管理部206から次に書き込みを行うチャネルの情報を受信する。
消去可能物理ブロック管理部205は、受信したチャネルとは異なるチャネルに属するブロックから消去可能ブロックを選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST13,ST14,ST15)。そして、消去可能物理ブロック管理部205は、そのチャネルの消去可能ブロック数から1減算する(ST16,ST17)。
図8では、一例として、ステップST13で、受信チャネルがチャネルCH0であるかどうかを判別し、チャネルCH0でない場合は、ステップST14においてチャネルCH0に属する消去可能ブロックを選択する。ステップST13で、チャネルCH0である場合は、ステップST15においてチャネルCH1に属する消去可能ブロックを選択する。
また、消去可能物理ブロック管理部205は、ステップST12において、読み出しコマンドを受信して読み出し動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、読み出しチャネルとして使用していないチャネルに属する物理ブロックを消去可能ブロックとして選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST18)。
図9は、本第1の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
そして、消去済み物理ブロック管理部206は、論物変換制御部203から消去ブロックアドレスの生成要求を受信する(ST21)。
消去済み物理ブロック管理部206は、複数のチャネル(ここでは一例として2つのチャネルCH0、CH1)において消去済みブロック数の多いチャネルがCH1であるかCH0であるかを判別する(ST22)。
消去済み物理ブロック管理部206は、消去済みブロック数の多いチャネルがチャネルCH1の場合に次の処理を行う。消去済み物理ブロック管理部206は、チャネルCH1に属する消去済みブロックを次の書き込みブロックとして選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST23)。そして、消去済み物理ブロック管理部206は、そのチャネルCH1の消去済みブロック数を1減算する(ST24)。
消去済み物理ブロック管理部206は、消去済みブロック数の多いチャネルがチャネルCH0の場合に次の処理を行う。消去済み物理ブロック管理部206は、チャネルCH0に属する消去済みブロックを次の書き込みブロックとして選択し、そのアドレスとチャネル番号CH0を論物変換制御部203に出力する(ST25)。そして、消去済み物理ブロック管理部206は、そのチャネルCH0の消去済みブロック数を1減算する(ST26)。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
図11は、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示す図である。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
メモリ制御部207は、ホスト装置100から受信した論理アドレスLAと書き込みおよび読み出しサイズに対して、書き込みおよび読み出しが論理アドレス境界を超える場合には、論理アドレス境界毎に論理アドレスLAを論物変換制御部203に出力する。そして、メモリ制御部207は、これに対応する物理アドレスPAを受信し、書き込みおよび読み出しサイズ分のデータの書き込みおよび読み出しを行う。
図12は、本第1の実施形態に係るメモリ制御部の具体的な制御動作を説明するためのフローチャートである。
図13は、メモリ制御部の制御動作において、論理アドレスに対して物理ブロックが割当てられていない場合を示す図である。
図14は、メモリ制御部の制御動作において、書き込み論理アドレスが論理アドレス境界であり、かつ書き込みサイズが物理ブロックサイズと等しい場合を示す図である。
図15は、メモリ制御部の制御動作において、論理アドレスに対する物理アドレスが設定済みであって、受信した論理アドレスに対応する物理アドレスAとデータ書き込み先の物理アドレスBを受信した場合の例を示す図である。
図16は、メモリ制御部の制御動作において、書き込み論理アドレスと書き込み要求サイズの和が物理ブロックの境界を超える場合を示す図である。
図13〜図16においては、論理アドレス空間LASと物理アドレス空間PASを対応付けて示されている。
ステップST100において、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超えない場合、メモリ制御部207は書き込みサイズを書き込み要求サイズに設定し(ST200)、論理アドレスLAを論物変換制御部203に出力する。
ステップST100において、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超える場合、後述するステップST300の処理を実行する。そして、メモリ制御部207は、その論理アドレスLAを論物変換制御部203に出力する。
次に、メモリ制御部207は、論物変換制御部203から書き込み論理アドレスが物理アドレスに未割り当て(未設定)であるか否かの結果を受信する。
次に、メモリ制御部207は、書き込みデータサイズWSZがあらかじめ第1閾値設定部208に設定された第1閾値TH1より大きいか否かの判別を行う(ST600)。
メモリ制御部207は、書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きい場合には、消去可能物理ブロック管理部205から通知されるチャネルの物理ブロックに消去コマンドを発行し、物理ブロックを1つ以上消去する(ST700)。メモリ制御部207は、消去コマンドの発行と並行して、もう一方のチャンネルに対して、ホスト装置100からの書き込みデータを物理ブロックアドレスに書き込む(ST800)。
書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きくない場合(小さい場合)、メモリ制御部207は、消去を行わず、ホスト装置100からの書き込みデータを物理ブロックアドレスに書込む(ST800)。
メモリ制御部207は、データの書き込みが終了したことを論物変換制御部203に通知する(ST900)。
ここで、メモリ制御部は、書き込み要求サイズが実際に書込んだデータサイズと等しいか否かを判別する(ST1000)。
このケースでは、書き込み要求サイズ=実際に書込んだデータサイズであるため、処理が終了する。
次に、メモリ制御部207は、書き込みデータサイズがあらかじめ第1閾値設定部208に設定された第1閾値TH1より大きいか否かの判別を行う(ST600)。
メモリ制御部207は、書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きい場合には、消去可能物理ブロック管理部205から通知されるチャネルの物理ブロックに消去コマンドを発行し、物理ブロックを1つ以上消去する(ST700)。メモリ制御部207は、消去コマンドの発行と並行して、もう一方のチャンネルに対して、ホスト装置100からの書き込みデータを物理ブロックアドレスに書き込む(ST800)。
書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きくない場合、メモリ制御部207は、消去を行わず、ホスト装置100からの書き込みデータを物理ブロックアドレスに書込む(ST800)。
メモリ制御部207は、データの書き込みが終了したことを論物変換制御部203に通知する(ST900)。
ここで、メモリ制御部は、書き込み要求サイズが実際に書込んだデータサイズと等しいか否かを判別する(ST1000)。
このケースでは、書き込み要求サイズ=実際に書込んだデータサイズであるため、処理が終了する。
メモリ制御部207は、物理アドレスAの物理ブロックのデータの中で書換えないデータを物理アドレスBの物理ブロックにコピー(ST1300)する。以下、上記コピー処理をガベージ処理と呼ぶ。
次に、メモリ制御部207は、書き込みデータサイズWSZがあらかじめ第1閾値設定部208に設定された第1閾値TH1より大きいか否かの判別を行う(ST1400)。
メモリ制御部207は、書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きい場合には、消去可能物理ブロック管理部205から通知されるチャネルの物理ブロックに消去コマンドを発行し、物理ブロックを1つ以上消去する(ST1500)。そして、メモリ制御部207は、この消去コマンドの発行と並行して、もう一方のチャンネルに対して、ホスト装置100からの書き込みデータを物理ブロックBに書き込む(ST1600)。
書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きくない場合、メモリ制御部207は、消去を行わず、ホスト装置100からの書き込みデータを物理ブロックBに書込む(ST1600)。
メモリ制御部207は、データの書き込みが終了したことを論物変換制御部203に通知する(ST900)、このケースでは、書き込み要求サイズ=実際に書込んだデータサイズであるため、処理が終了する(ST1000)。
そして、メモリ制御部207は、ステップST400からの処理を実行する。
ステップST1000において、書き込み要求サイズが実際に書込んだデータサイズに等しくない場合には、メモリ制御部207は次に処理を行う。
メモリ制御部207は、書き込み要求サイズを実際に書込んだデータサイズ分減算して新たな書き込み要求サイズとする。そして、メモリ制御部207は、書き込み論理アドレスに実際に書込んだデータサイズ分を加算して新たな書き込み論理アドレスとし、書き込み要求サイズがゼロになるまで、上述したステップST100からの処理を実行する。
図17は、本第1の実施形態に係るメモリ制御部の具体的な読み出し制御動作を説明するためのフローチャートである。
メモリ制御部207は、ホスト装置100から読み出し論理アドレス、読み出し要求サイズとデータを受信する(ST2000)。
メモリ制御部207は、読み出し論理アドレスと読み出し要求サイズの和が物理ブロックの境界を超えるか否かを判別する(ST2100)。
ステップST2100において、読み出し論理アドレスと読み出し要求サイズの和が物理ブロックの境界を超ない場合には、メモリ制御部207は、読み出しサイズとして読み出し要求サイズを設定する(ST2200)。
ステップST2100において、読み出し論理アドレスと読み出し要求サイズの和が物理ブロックの境界を超える場合には、メモリ制御部207は、読み出しの先頭論理アドレスから次の論理アドレス境界までを読み出しサイズに設定する(S2300)。
メモリ制御部207は、論理アドレスを論物変換制御部203に出力し、論物変換制御部203から読み出し先の物理アドレスを受信する(ST2400)。
そして、メモリ制御部207は、読み出しデータサイズRSZがあらかじめ第2閾値設定部209に設定された第2閾値TH2より大きいか否かの判別を行う(ST2500)。
メモリ制御部207は、読み出しデータサイズが第2閾値設定部209の第2閾値TH2より大きい場合には、消去可能物理ブロック管理部205から通知されるチャネルの物理ブロックに消去コマンドを発行し、物理ブロックを1つ以上消去する(ST2600)。
メモリ制御部207は、消去後、論物変換制御部203から受信した読み出し論理アドレスに対応するチャネルと物理アドレスに対しメモリI/F制御部210を通じてデータを読み出し、読み出しデータをホストデータバッファ202に出力する(ST2700)。
読み出しデータサイズが第2閾値設定部209の第2閾値TH2より大きくない場合(小さい場合)、メモリ制御部207は、消去を行わず、不揮発性メモリからデータを読み出し、読み出しデータをホストデータバッファ202に出力する(ST2700)。
次に、メモリ制御部207は、読み出し要求サイズが実際に読み出したデータサイズに等しいか否かを判別する(ST2800)。
ステップST2800において、読み出し要求サイズが実際に読み出したデータサイズに等しくない場合には、メモリ制御部207は、読み出し要求サイズを実際に読み出しデータサイズ分減算して新たな読み出し要求サイズとする。
そして、メモリ制御部207は、読み出し論理アドレスに実際に読み出したデータサイズ分を加算して新たな読み出し論理アドレスとし、読み出し要求サイズが実際に読み出したデータサイズに等しくなるまで、上記処理を実行する(ST2800、ST2900)。
本第2の実施形態に係るメモリシステムは、基本的にシステム構成は第1の実施形態と同様である。
本第2の実施形態は、消去可能物理ブロックアドレスの生成処理と消去済み物理ブロックアドレスの生成処理が上述した第1の実施形態と異なる。
図19は、本第2の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
なお、図18および図19において、理解を容易にするため、図8および図9と同様の処理については同じステップ番号を付与してある。
そして、消去可能物理ブロック管理部205は、メモリ制御部207から消去ブロックのアドレス生成要求を受信する(ST11)。
そして、消去可能物理ブロック管理部205は、書き込みコマンドを受信して書き込み動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、消去可能ブロック数が多いチャネルに属するブロックから消去可能ブロックを選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST13a,ST14a,ST15a)。そして、消去可能物理ブロック管理部205は、そのチャネルの消去可能ブロック数から1減算する(ST16,ST17)。
図18では、一例として、ステップST13aで、チャネルCH1の消去可能ブロック数がチャネルCH0の消去可能ブロック数が多いかどうかを判別する。チャネルCH0の消去ブロック数が多い場合は、ステップST14aにおいてチャネルCH0に属する消去可能ブロックを選択する。ステップST13aで、チャネルCH1の消去ブロック数が多い場合は、ステップST15aにおいてチャネルCH1に属する消去可能ブロックを選択する。
また、消去可能物理ブロック管理部205は、ステップST12において、読み出しコマンドを受信して読み出し動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、読み出しチャネルとして使用していないチャネルに属する物理ブロックを消去可能ブロックとして選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST18)。
そして、消去済み物理ブロック管理部206は、論物変換制御部203から消去ブロックアドレスの生成要求を受信する(ST21)。
消去済み物理ブロック管理部206は、次の消去ブロックの属するチャネルが所定のチャネル(ここでは一例としてチャネルCH0)であるかを判別する(ST22a)。
消去済み物理ブロック管理部206は、次の消去ブロックに属するチャネルがチャネルCH0の場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0とは異なるチャネルCH1に属する空ブロック(消去済みブロック)を次の書き込みブロックとして選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST23a)。そして、消去済み物理ブロック管理部206は、そのチャネルCH1の消去済みブロック数を1減算する(ST24)。
消去済み物理ブロック管理部206は、次の消去ブロックに属するチャネルがチャネルCH0でない場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0に属する空ブロック(消去済みブロック)を次の書き込みブロックとして選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST25a)。そして、消去済み物理ブロック管理部206は、そのチャネルCH0の消去済みブロック数を1減算する(ST26)。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
また、図11に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示している。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
図20は、本第3の実施形態に係るメモリシステムの構成を示す図である。
本第3の実施形態に係るメモリシステム10Aは、メモリコントローラ200Aに最終書き込みチャネル記録部220が新たに配置されている。
そして、第3の実施形態では、消去済み物理ブロックアドレスの生成処理と消去可能物理ブロックアドレスの生成処理が第1の実施形態と異なる。
最終書き込みチャネル記録部220は、最後にデータの書き込みを行ったチャネルがどちらかを記録し、その情報を消去可能物理ブロック管理部205および消去済み物理ブロック管理部206に供給する。
図22は、本第3の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
なお、図21および図22において、理解を容易にするため、図8および図9と同様の処理については同じステップ番号を付与してある。
そして、消去可能物理ブロック管理部205は、メモリ制御部207から消去ブロックのアドレス生成要求を受信する(ST11)。
そして、消去可能物理ブロック管理部205は、書き込みコマンドを受信して書き込み動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、最終書き込みチャネル記録部220から出力される最後にデータの書き込みを行ったチャネルの情報を受信する。
そして、消去可能物理ブロック管理部205は、最後に書き込みチャネルとして使用したチャネルに属するブロックから消去可能ブロックを選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST13b,ST14b,ST15b)。
図21では、一例として、ステップST13bで、最終書き込みチャネルがチャネルCH0であるかどうかを判別し、チャネルCH0である場合は、ステップST14bにおいてチャネルCH0に属する消去可能ブロックを選択する。ステップST13bで、チャネルCH0でない場合は、ステップST15bにおいてチャネルCH1に属する消去可能ブロックを選択する。
また、消去可能物理ブロック管理部205は、ステップST12において、読み出しコマンドを受信して読み出し動作を行う場合は(ST12)、次の処理を行う。
消去可能物理ブロック管理部205は、読み出しチャネルとして使用していないチャネルに属する物理ブロックを消去可能ブロックとして選択し、メモリ制御部207にその物理ブロックとチャネルの情報を出力する(ST18)。
そして、消去済み物理ブロック管理部206は、論物変換制御部203から消去ブロックアドレスの生成要求を受信する(ST21)。
消去済み物理ブロック管理部206は、最終チャネルが所定のチャネル(ここでは一例としてチャネルCH0)であるかを判別する(ST22b)。
消去済み物理ブロック管理部206は、最終チャネルがチャネルCH0の場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0とは異なるチャネルCH1に属する空ブロック(消去済みブロック)を選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST25a)。
消去済み物理ブロック管理部206は、最終チャネルがチャネルCH0でない場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0に属する空ブロック(消去済みブロック)を選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST25a)。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
また、図11に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示している。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
図23は、本第4の実施形態に係るメモリシステムの構成を示す図である。
本第4の実施形態に係るメモリシステム10Bは、チャネルが複数のメモリI/F制御部を含んで構成されている。この場合、チャネル情報の中にどのメモリI/F制御部であるかを特定する情報を含む。
同様に、チャネルCH1は2つのメモリI/F制御部211−1,211−2を含み、メモリI/F制御部211−1に不揮発性メモリ301−1が接続され、メモリI/F制御部211−2に不揮発性メモリ301−2が接続されている。
図24は、本第5の実施形態に係るメモリシステムの構成を示す図である。
本第5の実施形態に係るメモリシステム10Cは、チャネルが2つではさらに多くのチャネルを含んで構成されている。
チャネルCH0はメモリI/F制御部210を含み、メモリI/F制御部210に不揮発性メモリ300が接続されている。
チャネルCH1はメモリI/F制御部211を含み、メモリI/F制御部211に不揮発性メモリ301が接続されている。
チャネルCH2はメモリI/F制御部212を含み、メモリI/F制御部212に不揮発性メモリ302が接続されている。
チャネルCH3はメモリI/F制御部213を含み、メモリI/F制御部213に不揮発性メモリ303が接続されている。
図25は、本第6の実施形態に係るメモリシステムの構成を示す図である。
本第6の実施形態に係るメモリシステム10Dは、メモリI/F制御部210が一つのみで構成されている。
メモリI/F制御部210には複数の不揮発性メモリが接続され、不揮発性メモリは2つ以上のグループ(GP0,GP1、・・・)に分類され、第1の実施形態でのチャネルがグループに置き換わっている。
そして、不揮発性メモリ300がグループGP0に分類され、不揮発性メモリ301がグループGP1に分類される。
このため、以下に、第6の実施形態における複数の物理ブロックを消去する処理を説明する。
図26は、第6の実施形態における複数の物理ブロックを消去する処理を説明するためのフローチャートである。
図27は、第6の実施形態に係る論物変換テーブルの一例を示す図である。
次に、メモリ制御部207は、書き込みデータサイズがあらかじめ第1閾値設定部208に設定された第1閾値TH1より大きいか否かの判別を行う(ST600)。
メモリ制御部207は、書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きい場合には、図26に示す処理を行う。
まず、ページデータカウンタの値を0に設定し(ST701)、消去可能物理ブロック管理部205から通知されるチャネルの物理ブロックに消去コマンドを発行し、物理ブロックを1つ以上消去する(ST700A)。
次に、1ページのデータの書き込み(ST702)、ページデータカウンタに1を加算する(ST703)。
そして、ホスト装置100からのデータ書き込み最中に数ページのデータの書き込みが終了したら(ステップST704)、消去を行っているグループの消去の進行状態を監視し、消去動作が完了したら次の消去コマンドを送出する(ST705,ST706)。
書き込みサイズ分のデータの書き込みが終了すると、メモリ制御部207は、データの書き込みが終了したことを論物変換制御部203に通知する(ST900A)。
書き込みデータサイズが第1閾値設定部208の第1閾値TH1より大きくない場合(小さい場合)、メモリ制御部207は、消去を行わず、ホスト装置100からの書き込みデータを物理ブロックアドレスに書込む(ST800A)。
メモリ制御部207は、データの書き込みが終了したことを論物変換制御部203に通知する(ST900A)。
図28は、本第7の実施形態に係るメモリシステムの構成を示す図である。
本メモリシステム10Eにおいて、各メモリI/F制御部に複数の不揮発性メモリが接続され、不揮発性メモリは2つ以上のグループ(GP0、GP1、・・・)に分類され、不揮発性メモリへの書き込み時の他のチャネルおよびグループの消去動作が制御される。
そして、不揮発性メモリ300−1がグループGP0に分類され、不揮発性メモリ300−2がグループGP1に分類される。
メモリI/F制御部211にチャネルCH1を通して不揮発性メモリ301−1,301−2が接続されている。
そして、不揮発性メモリ301−1がグループGP2に分類され、不揮発性メモリ301−2がグループGP3に分類される。
図29は、本第8の実施形態に係るメモリシステムの構成を示す図である。
図29は、複数の不揮発性メモリの接続形態が図28と同様の構成となっているが、上述した第1〜第7の実施形態に係るメモリコントローラおよび不揮発性メモリの構成を含むメモリカード400として形成することが可能である。
本メモリカード400は、ホスト装置100からの指示により低消費電力モードに遷移する。
図30および図31は、本第9の実施形態に係るメモリシステムを説明するための図である。
この例では、4チャネルCH0〜CH3を含み、各チャネルCH0〜CH3には2つの不揮発性メモリ(フラッシュメモリ)300−1,300−2、301−1,301−2、302−1,302−2、303−1,303−2が接続されている。
そして、第1グループGP1の不揮発性メモリ300−1,301−1,302−1,303−1がチップイネーブル信号CE0により制御される。
第2グループGP2の不揮発性メモリ300−2,301−2,302−2,303−2がチップイネーブル信号CE1により制御される。
メモリコントローラ200Gは、チップイネーブル信号CE0により制御されるグループGP1の不揮発性メモリの消去すべきブロックがある場合、これらの不揮発性メモリ300−1〜303−1に消去コマンドが送信される。
不揮発性メモリ300−1〜303−1が消去中でビジー状態にあるとき、チップイネーブル信号CE1により制御されるグループGP2の不揮発性メモリ300−2〜303−2にデータが転送され、書き込みが行われる。
さらに、図31に示すように、書き込みデータがブロックサイズより大きい場合、あるいは次の書き込みコマンドが送信される場合、次の処理が行われる。
すなわち、メモリコントローラ200Gは、チップイネーブル信号CE1により制御されるグループGP2の不揮発性メモリの消去すべきブロックがある場合、これらの不揮発性メモリ300−2〜303−2に消去コマンドが送信される。
不揮発性メモリ300−2〜303−2が消去中でビジー状態にあるとき、チップイネーブル信号CE0により制御されるグループGP1の不揮発性メモリ300−1〜303−1にデータが転送され、書き込みが行われる。
ホスト装置からの動作に同期して消去を行い、ホスト装置の予期しないタイミングで消去動作を行わないことで、スタンバイ時の低消費電力化を実効あるものとすることが可能となる。
また、ホスト装置は任意のタイミングでメモリカード等への電力供給を停止することも可能になる。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
Claims (24)
- データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
前記消去済み物理ブロック管理部は、
消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、
前記消去可能物理ブロック管理部は、
消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、
データを受信すると、
前記消去済み物理ブロック管理部は、
消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
メモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
最後に書き込みを実行したチャネルの情報を記録する最終書き込みチャネル記録部をさらに含み、
前記消去済み物理ブロック管理部は、
消去済みの物理ブロックアドレスとそのチャネルを管理し、
消去可能物理ブロック管理部は、
消去可能物理ブロックアドレスとそのチャネルを管理し、
データを受信すると、
前記最終書き込みチャネル記録部は、前回書き込みを行ったチャネルを調べ、
前記消去済み物理ブロック管理部は、
前回書き込みを行っていないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
前回書き込みを行ったチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行し、データ書き込み後に、データの書き込みを実行したチャネルの情報を前記最終書き込みチャネル記録部に通知する
メモリ装置。 - 前記メモリコントローラは、
物理ブロックのサイズの境界を超える書き込みが要求された場合には、境界を超える前後で、書き込み先の物理ブロックと消去する物理ブロックを再度選択し直す
請求項1または2記載のメモリ装置。 - 前記メモリコントローラは、
物理ブロックへの書き込みデータのサイズが第1の閾値より大きい場合に、一のチャネルによる書き込みと並行して、他のチャネルで消去を実行し、第1の閾値は設定変更可能である
請求項3記載のメモリ装置。 - 前記メモリコントローラは、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
物理ブロックへの書き込みデータのサイズにより、一のチャネルによる書き込みと並行して、他のチャネルで複数のブロックの消去を実行する
請求項4記載のメモリ装置。 - 前記消去済み物理ブロック管理部は、
消去済みブロックとして最初に登録されたブロックを書き込みブロックとして選択する
請求項1から5のいずれか一に記載のメモリ装置。 - 前記消去済み物理ブロック管理部は、
消去回数の最も少ないブロックを書き込みブロックとして選択する
請求項1から5のいずれか一に記載のメモリ装置。 - 前記メモリコントローラは、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを2つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
直前に消去した物理ブロックを書き込みブロックとして選択しない
請求項6または7記載のメモリ装置。 - 前記メモリコントローラは、
データ読み出し時に、ブロック当りの読み出しデータサイズが第2の閾値よりも大きい場合に、データの読み出しと並行して、消去可能物理ブロックリストを検索し、読み出しに使用されていないチャネルに属する消去可能ブロックを消去する
請求項8記載のメモリ装置。 - 前記読み出しデータサイズの第2の閾値は設定変更可能である
請求項9記載のメモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
前記消去済み物理ブロック管理部は、
消去済みの物理ブロックアドレスとそのグループ、グループ毎の消去済みの物理ブロック数を管理し、
前記消去可能物理ブロック管理部は、
消去可能物理ブロックアドレスとそのグループ、グループ毎の消去可能の物理ブロック数を管理し、
データを受信すると、
前記消去済み物理ブロック管理部は、
消去済みの物理ブロック数が多いほうのグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
書き込み対象とならないグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
メモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
前記消去済み物理ブロック管理部は、
各チャネル毎に消去済みの物理ブロックアドレスとそのグループ、グループ毎の消去済みの物理ブロック数を管理し、
前記消去可能物理ブロック管理部は、
各チャネル毎に消去可能物理ブロックアドレスとそのグループ、グループ毎の消去可能の物理ブロック数を管理し、
データを受信すると、
前記消去済み物理ブロック管理部は、
消去対象とならないグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
消去可能の物理ブロックが多いほうのグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
メモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記メモリコントローラは、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
最後に書き込みを実行したグループの情報を記録する最終書き込みグループ記録部をさらに含み、
前記消去済み物理ブロック管理部は、
各チャネル毎に消去済みの物理ブロックアドレスとそのグループを管理し、
消去可能物理ブロック管理部は、
各チャネル毎に消去可能物理ブロックアドレスとそのグループを管理し、
データを受信すると、
前記最終書き込みグループ記録部は、前回書き込みを行ったグループを調べ、
前記消去済み物理ブロック管理部は、
前回書き込みを行っていないグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
前回書き込みを行ったグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行し、データ書き込み後に、データの書き込みを実行したチャネルの情報を前記最終書き込みチャネル記録部に通知する
メモリ装置。 - 前記メモリコントローラは、
物理ブロックのサイズの境界を超える書き込みがホストから要求された場合には、境界を超える前後で、書き込み先の物理ブロックと消去する物理ブロックを再度選択し直す
請求項11から13のいずれか一に記載のメモリ装置。 - 前記メモリコントローラは、
物理ブロックへの書き込みデータのサイズが第3の閾値より大きい場合に、一のグループでの書き込みと並行して、他のグループで消去を実行し、第3の閾値は設定変更可能である
請求項14記載のメモリ装置。 - 前記メモリコントローラは、
物理ブロックへの書き込みデータのサイズにより、一のグループでの書き込みと並行して、他のグループの消去実行状態を監視し、消去が完了した場合には、他のブロックのアドレスに消去コマンドを発行する
請求項11から15のいずれか一に記載のメモリ装置。 - 前記消去済み物理ブロック管理部は、
消去済みブロックとして最初に登録されたブロックを書き込みブロックとして選択する
請求項11から16のいずれか一に記載のメモリ装置。 - 前記消去済み物理ブロック管理部は、
消去回数の最も少ないブロックを書き込みブロックとして選択する
請求項11から16のいずれか一に記載のメモリ装置。 - 前記メモリコントローラは、
前記各グループにおいて、不揮発性メモリの消去単位である物理ブロックを2つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
直前に消去した物理ブロックを書き込みブロックとして選択しない
請求項17または18記載のメモリ装置。 - 前記メモリコントローラは、
データ読み出し時に、ブロック当りの読み出しデータサイズが第4の閾値よりも大きい場合に、データの読み出しと並行して、消去可能物理ブロックリストを検索し、読み出しに使用されていないグループに属する消去可能ブロックを消去する
請求項19記載のメモリ装置。 - 前記読み出しデータサイズの第4の閾値は設定変更可能である
請求項20記載のメモリ装置。 - 前記メモリコントローラは、
複数のチャネルを有し、当該複数のチャネルをそれぞれが独立に制御可能であり、
各チャネル当り2以上の不揮発性メモリが接続されている
請求項1から21のいずれか一に記載のメモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、を有し、
前記メモリコントローラは、
複数のチャネルを有し、当該複数のチャネルをそれぞれが独立に制御可能であり、
各チャネル当り2以上の不揮発性メモリが接続され、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御するメモリ制御部と、を含み、
前記不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
前記メモリ制御部は、
前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行う
メモリ装置。 - データの書き換え時に消去が必要な複数の不揮発性メモリと、
前記不揮発性メモリを制御するメモリコントローラと、
前記メモリコントローラに対して少なくともデータの書き込みを指示するホスト装置と、を有し、
前記メモリコントローラは、
データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
前記消去済み物理ブロック管理部は、
消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、
前記消去可能物理ブロック管理部は、
消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、
データを受信すると、
前記消去済み物理ブロック管理部は、
消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
前記消去可能物理ブロック管理部は、
消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
前記メモリ制御部は、
前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
メモリシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018909A JP5609683B2 (ja) | 2011-01-31 | 2011-01-31 | メモリ装置およびメモリシステム |
US13/340,981 US20120198186A1 (en) | 2011-01-30 | 2011-12-30 | Memory device and memory system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011018909A JP5609683B2 (ja) | 2011-01-31 | 2011-01-31 | メモリ装置およびメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012159993A JP2012159993A (ja) | 2012-08-23 |
JP5609683B2 true JP5609683B2 (ja) | 2014-10-22 |
Family
ID=46578378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011018909A Active JP5609683B2 (ja) | 2011-01-30 | 2011-01-31 | メモリ装置およびメモリシステム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120198186A1 (ja) |
JP (1) | JP5609683B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI559141B (zh) * | 2013-01-31 | 2016-11-21 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
KR102285462B1 (ko) * | 2014-03-26 | 2021-08-05 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템의 동작 방법 |
JP6323393B2 (ja) * | 2015-05-28 | 2018-05-16 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置 |
US10282097B2 (en) * | 2017-01-05 | 2019-05-07 | Western Digital Technologies, Inc. | Storage system and method for thin provisioning |
JP2019057172A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2768618B2 (ja) * | 1992-08-28 | 1998-06-25 | シャープ株式会社 | 半導体ディスク装置 |
US7020739B2 (en) * | 2000-12-06 | 2006-03-28 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
JP2003308247A (ja) * | 2002-04-15 | 2003-10-31 | Matsushita Electric Ind Co Ltd | メモリーカード |
CN100371873C (zh) * | 2003-09-18 | 2008-02-27 | 松下电器产业株式会社 | 半导体存储卡、半导体存储器控制装置以及半导体存储器控制方法 |
KR100526190B1 (ko) * | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
JP2007199905A (ja) * | 2006-01-25 | 2007-08-09 | Toshiba Corp | 半導体記憶装置の制御方法 |
JP2008234746A (ja) * | 2007-03-19 | 2008-10-02 | Toshiba Corp | 不揮発性メモリ情報蓄積装置とそのサイクリック収録方法 |
JP5489434B2 (ja) * | 2008-08-25 | 2014-05-14 | 株式会社日立製作所 | フラッシュメモリ搭載ストレージ装置 |
CN102257482B (zh) * | 2008-12-19 | 2015-06-03 | 惠普开发有限公司 | 用于一致读取等待时间的冗余数据存储 |
US8447915B2 (en) * | 2009-07-23 | 2013-05-21 | Hitachi, Ltd. | Flash memory device for allocating physical blocks to logical blocks based on an erase count |
US8904085B2 (en) * | 2010-01-14 | 2014-12-02 | Lenovo (Singapore) Pte. Ltd. | Solid-state memory management |
JP4987997B2 (ja) * | 2010-02-26 | 2012-08-01 | 株式会社東芝 | メモリシステム |
-
2011
- 2011-01-31 JP JP2011018909A patent/JP5609683B2/ja active Active
- 2011-12-30 US US13/340,981 patent/US20120198186A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20120198186A1 (en) | 2012-08-02 |
JP2012159993A (ja) | 2012-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109240938B (zh) | 存储***以及控制非易失性存储器的控制方法 | |
KR101083673B1 (ko) | 반도체 스토리지 시스템 및 그 제어 방법 | |
JP6524039B2 (ja) | メモリシステム及び制御方法 | |
JP5609683B2 (ja) | メモリ装置およびメモリシステム | |
WO2017000658A1 (zh) | 存储***、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US8769189B2 (en) | Method and apparatus for byte-access in block-based flash memory | |
JP6403164B2 (ja) | メモリシステム | |
JP7010667B2 (ja) | メモリシステムおよび制御方法 | |
US20140189202A1 (en) | Storage apparatus and storage apparatus control method | |
JP6455900B2 (ja) | ストレージシステムおよびシステムガベージコレクション方法 | |
KR101201838B1 (ko) | 프로그램 시간을 감소시킨 비휘발성 메모리 장치 | |
TW201005536A (en) | Solid state storage system with data attribute wear leveling and method of controlling the solid state storage system | |
JP2018022275A (ja) | 半導体記憶装置 | |
JPWO2015052811A1 (ja) | ストレージシステムおよびデータ記憶方法 | |
US20140328127A1 (en) | Method of Managing Non-Volatile Memory and Non-Volatile Storage Device Using the Same | |
KR20120084906A (ko) | 비휘발성 메모리 시스템 및 그 관리 방법 | |
JP2007233896A (ja) | ストレージ装置及びその制御方法 | |
TW201824010A (zh) | 資訊處理裝置及記憶體存取方法 | |
JP2018142240A (ja) | メモリシステム | |
JP2011090460A (ja) | データ記憶装置およびデータ記憶装置における制御方法 | |
US20130339583A1 (en) | Systems and methods for transferring data out of order in next generation solid state drive controllers | |
CN106326132B (zh) | 存储***、存储管理装置、存储器、混合存储装置及存储管理方法 | |
US20190065395A1 (en) | Storage device and data arrangement method | |
TWI457941B (zh) | 區塊為基礎快閃記憶體之位元組存取的方法與裝置 | |
JP2004326165A (ja) | メモリ制御装置およびメモリ制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140127 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140425 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140520 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140714 |
|
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: 20140805 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140818 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5609683 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 |