JP5609683B2 - メモリ装置およびメモリシステム - Google Patents

メモリ装置およびメモリシステム Download PDF

Info

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
Application number
JP2011018909A
Other languages
English (en)
Other versions
JP2012159993A (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 JP2011018909A priority Critical patent/JP5609683B2/ja
Priority to US13/340,981 priority patent/US20120198186A1/en
Publication of JP2012159993A publication Critical patent/JP2012159993A/ja
Application granted granted Critical
Publication of JP5609683B2 publication Critical patent/JP5609683B2/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/7201Logical to physical mapping or translation of blocks or pages
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本発明は、データを書き換えるために一度データを消去する必要があるフラッシュメモリ等のメモリ装置およびメモリシステムに関するものである。
現在、不揮発性メモリの一つであるフラッシュメモリはメモリカードやUSBドライブとして、広く使われている。
フラッシュメモリはデータを書き換えるためには、一度消去する必要があるメモリで、図1に示すように、データの書き込みはページ単位PGで行われ、消去はページの集合であるブロックBLK単位で行われる。図1の例では、1ブロックBLKは128ページの集合で形成されている。
また、メモリコントローラがホスト装置からの論理アドレスをフラッシュメモリの物理アドレスに変換するシステム(論物変換)を採用するメモリシステムが知られている。
そして、メモリシステムにおいて、ホスト装置からの書き込みが発生すると、その論理アドレスに消去済みの物理ブロックを割り当て、消去を発生させずに、データの書き込みを優先させる技術が提案されている(特許文献1参照)。
WO2005/029311
ところが、一般的に、フラッシュメモリ、フラッシュメモリの制御コントローラと、書き込みデータを供給するホスト装置からなるメモリシステムにおいては、状況によって、書き込み速度が低下する場合がある。
たとえば、書き込もうとするフラッシュメモリのブロックにすでにデータが書き込まれている場合には、消去してからデータを書きこむため、消去済みのブロックにデータを書く場合に比べて速度が低下する。
また、特許文献1には、データ書き込み時に別チップの消去可能な物理ブロックの消去を行う技術が開示されている。
この技術では、論理アドレスの下位のアドレス空間をメモリチップAに割当て、論理アドレスの上位のアドレス空間をメモリチップBに割当てている。
この場合、一方のアドレス空間のデータに書き込みが集中し、一つのメモリチップ内で消去可能なブロックがなくなってしまうと、データを消去してから書き込む処理が必要となり、書き込み速度を低下させることになる(図2参照)。
一方、消去動作機器をホスト装置からのアクセスがないとき(以下、スタンバイ時)にメモリコンローラが任意のタイミングで不要ブロックを消去すると、スタンバイ時の消費電力を低くすることができなくなる。
また、ホスト機器がアクセスをしないときに、電源を遮断するようなシステムにおいては、実質的に消去ブロックが確保できなくなるおそれがある。
本発明は、書き込み時の論理アドレスによらず書き込み速度を低下させることなくデータを書き込むことが可能で、スタンバイ時の低消費電力化を図ることも可能なメモリ装置およびメモリシステムを提供することにある。
本発明の第1の観点の不揮発性メモリ装置は、データの書き換え時に消去が必要な複数の不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラと、を有し、前記メモリコントローラは、データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、前記消去済み物理ブロック管理部は、消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、前記消去可能物理ブロック管理部は、消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、データを受信すると、前記消去済み物理ブロック管理部は、消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、前記消去可能物理ブロック管理部は、消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、前記メモリ制御部は、前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
本発明の第2の観点のメモリシステムは、データの書き換え時に消去が必要な複数の不揮発性メモリと、前記不揮発性メモリを制御するメモリコントローラと、前記メモリコントローラに対して少なくともデータの書き込みを指示するホスト装置と、を有し、前記メモリコントローラは、データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、前記消去済み物理ブロック管理部は、消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、前記消去可能物理ブロック管理部は、消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、データを受信すると、前記消去済み物理ブロック管理部は、消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、前記消去可能物理ブロック管理部は、消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、前記メモリ制御部は、前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する


本発明によれば、書き込み時の論理アドレスによらず書き込み速度を低下させることなくデータを書き込むことができ、また、スタンバイ時の低消費電力化を図ることもできる。
フラッシュメモリの書き込みおよび消去単位を説明するための図である。 先行技術で書き込み速度が低下する場合があることを説明するための図である。 本第1の実施形態に係るメモリシステムの構成を示す図である。 第1の実施形態に係る論物変換テーブルの一例を示す図である。 論理アドレス境界について説明するための図である。 本実施形態に係る論物変換制御部における、論理アドレスから物理アドレスを生成する処理を説明するためのフローチャートである。 本実施形態に係る消去済み物理ブロック管理部が管理する消去済みブロックリストと消去可能物理ブロック管理部が管理する消去可能物理ブロックリストの一例を示す図である。 本第1の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。 本第1の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。 消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第1例を示す図である。 消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示す図である。 本第1の実施形態に係るメモリ制御部の具体的な制御動作を説明するためのフローチャートである。 メモリ制御部の制御動作において、論理アドレスに対して物理ブロックが割当てられていない場合を示す図である。 メモリ制御部の制御動作において、書き込み論理アドレスが論理アドレス境界であり、かつ書き込みサイズが物理ブロックサイズと等しい場合を示す図である。 メモリ制御部の制御動作において、論理アドレスに対する物理アドレスが設定済みであって、受信した論理アドレスに対応する物理アドレスAとデータ書き込み先の物理アドレスBを受信した場合の例を示す図である。 メモリ制御部の制御動作において、書き込み論理アドレスと書き込み要求サイズの和が物理ブロックの境界を超える場合を示す図である。 本第1の実施形態に係るメモリ制御部の具体的な読み出し制御動作を説明するためのフローチャートである。 本第2の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。 本第2の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。 本第3の実施形態に係るメモリシステムの構成を示す図である。 本第3の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。 本第3の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。 本第4の実施形態に係るメモリシステムの構成を示す図である。 本第5の実施形態に係るメモリシステムの構成を示す図である。 本第6の実施形態に係るメモリシステムの構成を示す図である。 本第6の実施形態における複数の物理ブロックを消去する処理を説明するためのフローチャートである。 本第6の実施形態に係る論物変換テーブルの一例を示す図である。 本第7の実施形態に係るメモリシステムの構成を示す図である。 本第8の実施形態に係るメモリシステムの構成を示す図である。 本第9の実施形態に係るメモリシステムを説明するための第1図である。 本第9の実施形態に係るメモリシステムを説明するための第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の構成例)
<1.第1の実施形態>
図3は、本第1の実施形態に係るメモリシステムの構成を示す図である。
本メモリシステム10は、ホスト装置100、メモリコントローラ200、および不揮発性メモリ300,301を含んで構成される。
ホスト装置100は、不揮発性メモリ300,301に書き込むデータとそのアドレス(以下、論理アドレス:LA)をメモリコントローラ200に送信する。
メモリコントローラ200は、ホスト装置100から受信した論理アドレスを不揮発性メモリ300,301のアドレスに変換し、ホスト装置100から受信したデータを不揮発性メモリ300,301に書き込む。
不揮発性メモリ300,301は、メモリコントローラ200から指定されたアドレスにデータを書き込む。
次に、メモリコントローラ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とのインターフェイスを制御する。
ホストI/F制御部201は、ホスト装置100から書き込みアドレス、書き込み要求サイズもしくは読み出し要求サイズからなる書き込みおよび読み出しコマンドを受信すると、その論理アドレスLAとそのサイズをメモリ制御部207に通知する。
ホストI/F制御部201は、書き込み要求の場合は受信した書き込みデータをホストデータバッファ202に転送し、読み出し要求の場合には、ホストデータバッファ202のデータをホストI/FHIFに出力する。
ホストデータバッファ202は、ホスト装置100から受信した書き込みデータ、メモリ制御部207から受信した読み出しデータを一時的に保持する。
論物変換制御部203は、論物変換テーブル(アドレス変換テーブル)204を有する。
図4は、論物変換テーブルの一例を示す図である。
論物変換テーブル204は、図4に示すように、論理アドレスLAを実際の不揮発性メモリ300,301の物理アドレスPAに変換した結果を保持するテーブルである。
論物変換制御部203は、この論物変換テーブル204を使って、メモリ制御部207から入力される論理アドレスLAを不揮発性メモリ300,301の物理アドレスPAに変換する。そして、論物変換制御部203は、論理アドレスLAが物理アドレスPAに未割当てであるか、割当てられていた場合にはその物理アドレスPAと、データ書き込み先の物理アドレスPAをメモリ制御部207に通知する。
図5は、論理アドレス境界について説明するための図である。
論理アドレスLAは消去単位である物理ブロックサイズ毎に割り当てられるため、以下では、図5に示すように、この物理ブロック(PBLK)サイズ毎の論理アドレスLAの区切りを論理アドレス境界と呼ぶ(図5)。
図6は、本実施形態に係る論物変換制御部における、論理アドレスから物理アドレスを生成する処理を説明するためのフローチャートである。
論物変換制御部203は、メモリ制御部207から論理アドレスLAを受信し(ST1)、論物変換テーブル204から論理アドレスLAに対応する物理アドレスPAが存在しているかを調べる(ST2)。
論物変換制御部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に追加する。
消去可能物理ブロック管理部205は、消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理する。
消去済み物理ブロック管理部206は、消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理する。
図7(A)および(B)は、本実施形態に係る消去済み物理ブロック管理部が管理する消去済みブロックリストと消去可能物理ブロック管理部が管理する消去可能物理ブロックリストの一例を示す図である。
図7(A)は消去済みブロックEDBLKのリストEDBLを、図7(B)消去可能ブロックEBBLKのリストEBBLを示している。
消去済みブロックリストEDBLおよび消去可能ブロックリストEBBLは、チャネルブロック番号CHx(本例ではX=0,1)およびブロック番号BLK[y]が対応付けてリストとして形成されている。
ここで、本第1の実施形態に係る消去可能物理ブロック管理部205における、消去可能物理ブロックアドレスの生成処理について説明する。
図8は、本第1の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。
消去可能物理ブロック管理部205は、図7(B)に示すように、消去可能ブロックEBBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去可能ブロック数を管理する。
そして、消去可能物理ブロック管理部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)。
次に、本第1の実施形態に係る消去済み物理ブロック管理部206における、消去済み物理ブロックアドレスの生成処理について説明する。
図9は、本第1の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
消去済み物理ブロック管理部206は、図7(A)に示すように、消去済みブロックEDBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去済みブロック数を管理する。
そして、消去済み物理ブロック管理部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)。
所定のチャネルに属する消去済みブロックの中から、次の書き込みに使用するブロックを選択する方法には2通りある。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
図10は、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第1例を示す図である。
図11は、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示す図である。
図10の例では、消去済み物理ブロック管理部206は、消去回数をカウントして消去回数の少ないブロックを選択する。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
メモリ制御部207は、基本的に次のような制御を行う。
メモリ制御部207は、ホスト装置100から受信した論理アドレスLAと書き込みおよび読み出しサイズに対して、書き込みおよび読み出しが論理アドレス境界を超える場合には、論理アドレス境界毎に論理アドレスLAを論物変換制御部203に出力する。そして、メモリ制御部207は、これに対応する物理アドレスPAを受信し、書き込みおよび読み出しサイズ分のデータの書き込みおよび読み出しを行う。
次に、メモリ制御部207の具体的な書き込み制御動作について説明する。
図12は、本第1の実施形態に係るメモリ制御部の具体的な制御動作を説明するためのフローチャートである。
図13は、メモリ制御部の制御動作において、論理アドレスに対して物理ブロックが割当てられていない場合を示す図である。
図14は、メモリ制御部の制御動作において、書き込み論理アドレスが論理アドレス境界であり、かつ書き込みサイズが物理ブロックサイズと等しい場合を示す図である。
図15は、メモリ制御部の制御動作において、論理アドレスに対する物理アドレスが設定済みであって、受信した論理アドレスに対応する物理アドレスAとデータ書き込み先の物理アドレスBを受信した場合の例を示す図である。
図16は、メモリ制御部の制御動作において、書き込み論理アドレスと書き込み要求サイズの和が物理ブロックの境界を超える場合を示す図である。
図13〜図16においては、論理アドレス空間LASと物理アドレス空間PASを対応付けて示されている。
メモリ制御部207は、ホスト装置100からデータの書き込み要求があると(ST000)、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超えているか否かを判別する(ST100)。
ステップST100において、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超えない場合、メモリ制御部207は書き込みサイズを書き込み要求サイズに設定し(ST200)、論理アドレスLAを論物変換制御部203に出力する。
ステップST100において、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超える場合、後述するステップST300の処理を実行する。そして、メモリ制御部207は、その論理アドレスLAを論物変換制御部203に出力する。
次に、メモリ制御部207は、論物変換制御部203から書き込み論理アドレスが物理アドレスに未割り当て(未設定)であるか否かの結果を受信する。
ステップST400で、図13に示すように、論理アドレスに対して物理ブロックが割当てられていない場合には、メモリ制御部207は、論物変換制御部203から書き込み物理ブロックアドレスCを受信する(ST500)。
次に、メモリ制御部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)。
このケースでは、書き込み要求サイズ=実際に書込んだデータサイズであるため、処理が終了する。
ステップST400で、書き込み論理アドレスが論理アドレス境界でありかつ図14に示すように書き込みサイズが物理ブロックサイズと等しい場合には、メモリ制御部207は書き込み論理アドレスを出力し、論物変換制御部203で変換された書き込み物理ブロックアドレスCを受信する(ST500)。
次に、メモリ制御部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は、ステップST400で論理アドレスに対する物理アドレスが設定済みであり、かつ書き込みサイズが物理ブロックサイズと等しくない場合、論物変換制御部203から、図15のように受信した論理アドレスに対応する物理アドレスAとデータ書き込み先の物理アドレスBを受信する(ST1200)。
メモリ制御部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)。
ステップST100において、図16に示すように、書き込み論理アドレスと書き込み要求サイズの和が論理アドレス境界を超える場合、メモリ制御部207は書き込みサイズを書き込み論理アドレスから次の論理境界までのサイズに設定する(ST300)。
そして、メモリ制御部207は、ステップST400からの処理を実行する。
ステップST1000において、書き込み要求サイズが実際に書込んだデータサイズに等しくない場合には、メモリ制御部207は次に処理を行う。
メモリ制御部207は、書き込み要求サイズを実際に書込んだデータサイズ分減算して新たな書き込み要求サイズとする。そして、メモリ制御部207は、書き込み論理アドレスに実際に書込んだデータサイズ分を加算して新たな書き込み論理アドレスとし、書き込み要求サイズがゼロになるまで、上述したステップST100からの処理を実行する。
次に、メモリ制御部207の具体的な読み出し制御動作について説明する。
図17は、本第1の実施形態に係るメモリ制御部の具体的な読み出し制御動作を説明するためのフローチャートである。
メモリ制御部207は、ホスト装置100からデータの読み出し要求の場合は、以下の処理を実行する。
メモリ制御部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)。
本第1の実施形態によれば、論理アドレス境界にアラインされた論理アドレスで、物理ブロックサイズの整数倍のサイズの書き込み要求に対しては、その書き込み時の論理アドレスによらずに、書き込み速度を落とさずに、データを書き込むことができる。
<2.第2の実施形態>
本第2の実施形態に係るメモリシステムは、基本的にシステム構成は第1の実施形態と同様である。
本第2の実施形態は、消去可能物理ブロックアドレスの生成処理と消去済み物理ブロックアドレスの生成処理が上述した第1の実施形態と異なる。
図18は、本第2の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。
図19は、本第2の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
なお、図18および図19において、理解を容易にするため、図8および図9と同様の処理については同じステップ番号を付与してある。
まず、本第2の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理について、図18に関連付けて説明する。
消去可能物理ブロック管理部205は、図7(B)に示すように、消去可能ブロックEBBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去可能ブロック数を管理する。
そして、消去可能物理ブロック管理部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)。
次に、本第2の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理について、図19に関連付けて説明する。
消去済み物理ブロック管理部206は、図7(A)に示すように、消去済みブロックEDBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去済みブロック数を管理する。
そして、消去済み物理ブロック管理部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)。
前述したように、所定のチャネルに属する消去済みブロックの中から、次の書き込みに使用するブロックを選択する方法には2通りある。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
前述したように、図10に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第1例を示している。
また、図11に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示している。
図10の例では、消去済み物理ブロック管理部206は、消去回数をカウントして消去回数の少ないブロックを選択する。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
<3.第3の実施形態>
図20は、本第3の実施形態に係るメモリシステムの構成を示す図である。
本第3の実施形態に係るメモリシステム10Aが第1の実施形態に係るメモリシステム10と異なる点は、次の通りである。
本第3の実施形態に係るメモリシステム10Aは、メモリコントローラ200Aに最終書き込みチャネル記録部220が新たに配置されている。
そして、第3の実施形態では、消去済み物理ブロックアドレスの生成処理と消去可能物理ブロックアドレスの生成処理が第1の実施形態と異なる。
メモリシステム10Aにおいては、メモリ制御部207は、書き込みを実行したチャネルがチャネルCH0かチャネルCH1のいずれかを示す信号を最終書き込みチャネル記録部220に出力する。
最終書き込みチャネル記録部220は、最後にデータの書き込みを行ったチャネルがどちらかを記録し、その情報を消去可能物理ブロック管理部205および消去済み物理ブロック管理部206に供給する。
図21は、本第3の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理を説明するためのフローチャートである。
図22は、本第3の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理を説明するためのフローチャートである。
なお、図21および図22において、理解を容易にするため、図8および図9と同様の処理については同じステップ番号を付与してある。
まず、本第3の実施形態に係る消去可能物理ブロック管理部における、消去可能物理ブロックアドレスの生成処理について、図21に関連付けて説明する。
消去可能物理ブロック管理部205は、図7(B)に示すように、消去可能ブロックEBBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去可能ブロック数を管理する。
そして、消去可能物理ブロック管理部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)。
次に、本第3の実施形態に係る消去済み物理ブロック管理部における、消去済み物理ブロックアドレスの生成処理について、図22に関連付けて説明する。
消去済み物理ブロック管理部206は、図7(A)に示すように、消去済みブロックEDBLKとそのブロックの属するチャネルの情報、それぞれのチャネルの消去済みブロック数を管理する。
そして、消去済み物理ブロック管理部206は、論物変換制御部203から消去ブロックアドレスの生成要求を受信する(ST21)。
消去済み物理ブロック管理部206は、最終チャネルが所定のチャネル(ここでは一例としてチャネルCH0)であるかを判別する(ST22b)。
消去済み物理ブロック管理部206は、最終チャネルがチャネルCH0の場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0とは異なるチャネルCH1に属する空ブロック(消去済みブロック)を選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST25a)。
消去済み物理ブロック管理部206は、最終チャネルがチャネルCH0でない場合に次の処理を行う。
消去済み物理ブロック管理部206は、チャネルCH0に属する空ブロック(消去済みブロック)を選択し、そのアドレスとチャネル番号CH1を論物変換制御部203に出力する(ST25a)。
前述したように、所定のチャネルに属する消去済みブロックの中から、次の書き込みに使用するブロックを選択する方法には2通りある。
消去済みブロックとして登録された順に使用ブロックとして選択する方法と、消去回数をカウントして消去回数の少ないブロックを選択する方法である。
前述したように、図10に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第1例を示している。
また、図11に、消去回数をカウントして消去回数の少ないブロックを選択する方法を採用した場合の消去済みブロックリストの第2例を示している。
図10の例では、消去済み物理ブロック管理部206は、消去回数をカウントして消去回数の少ないブロックを選択する。
図11の例では、図10の方法に、さらに最後に消去を行ったブロックを判別するためのフラグFLGを持ち、フラグFLGが設定されているブロック以外で、消去回数が最も少ないブロックを選択する。
<4.第4の実施形態>
図23は、本第4の実施形態に係るメモリシステムの構成を示す図である。
本第4の実施形態に係るメモリシステム10Bが第3の実施形態に係るメモリシステム10Aと異なる点は、次の通りである。
本第4の実施形態に係るメモリシステム10Bは、チャネルが複数のメモリI/F制御部を含んで構成されている。この場合、チャネル情報の中にどのメモリI/F制御部であるかを特定する情報を含む。
図23の例では、チャネルCH0は2つのメモリI/F制御部210−1,210−2を含み、メモリI/F制御部210−1に不揮発性メモリ300−1が接続され、メモリI/F制御部210−2に不揮発性メモリ300−2が接続されている。
同様に、チャネルCH1は2つのメモリI/F制御部211−1,211−2を含み、メモリI/F制御部211−1に不揮発性メモリ301−1が接続され、メモリI/F制御部211−2に不揮発性メモリ301−2が接続されている。
なお、このような構成は、最終書き込みチャネル記録部を含まない第1の実施形態や第2の実施形態にも適用可能である。
<5.第5の実施形態>
図24は、本第5の実施形態に係るメモリシステムの構成を示す図である。
本第5の実施形態に係るメモリシステム10Cが第3の実施形態に係るメモリシステム10Aと異なる点は、次の通りである。
本第5の実施形態に係るメモリシステム10Cは、チャネルが2つではさらに多くのチャネルを含んで構成されている。
図24の例では、4つのチャネルCH0〜CH3を含んで構成されている。
チャネル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が接続されている。
なお、このような構成は、最終書き込みチャネル記録部を含まない第1の実施形態や第2の実施形態にも適用可能である。
<6.第6の実施形態>
図25は、本第6の実施形態に係るメモリシステムの構成を示す図である。
本第6の実施形態に係るメモリシステム10Dが第1の実施形態に係るメモリシステム10と異なる点は、次の通りである。
本第6の実施形態に係るメモリシステム10Dは、メモリI/F制御部210が一つのみで構成されている。
メモリI/F制御部210には複数の不揮発性メモリが接続され、不揮発性メモリは2つ以上のグループ(GP0,GP1、・・・)に分類され、第1の実施形態でのチャネルがグループに置き換わっている。
図25の例では、メモリI/F制御部210にチャネルCH0を通して不揮発性メモリ300,301が接続されている。
そして、不揮発性メモリ300がグループGP0に分類され、不揮発性メモリ301がグループGP1に分類される。
この第6の実施形態において、複数の物理ブロックを消去する場合の処理は、前述した第1の実施形態(図12のステップST600〜ST900)と異なる。
このため、以下に、第6の実施形態における複数の物理ブロックを消去する処理を説明する。
図26は、第6の実施形態における複数の物理ブロックを消去する処理を説明するためのフローチャートである。
図27は、第6の実施形態に係る論物変換テーブルの一例を示す図である。
本第6の実施形態では、メモリインターフェイスに複数の不揮発性メモリが接続されている。このため、第6の実施形態では、ホスト装置100からのデータ書き込み最中に数ページのデータの書き込みが終了したら(ステップST704)、消去を行っているグループの消去の進行状態を監視し、消去動作が完了したら次の消去コマンドを送出する。
具体的には、図12のステップST500において、メモリ制御部207は、論物変換制御部203から書き込み物理ブロックアドレスを受信する。
次に、メモリ制御部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)。
<7.第7の実施形態>
図28は、本第7の実施形態に係るメモリシステムの構成を示す図である。
本第7の実施形態に係るメモリシステム10Eが第1の実施形態に係るメモリシステム10と異なる点は、次の通りである。
本メモリシステム10Eにおいて、各メモリI/F制御部に複数の不揮発性メモリが接続され、不揮発性メモリは2つ以上のグループ(GP0、GP1、・・・)に分類され、不揮発性メモリへの書き込み時の他のチャネルおよびグループの消去動作が制御される。
図28の例では、メモリI/F制御部210にチャネルCH0を通して不揮発性メモリ300−1,300−2が接続されている。
そして、不揮発性メモリ300−1がグループGP0に分類され、不揮発性メモリ300−2がグループGP1に分類される。
メモリI/F制御部211にチャネルCH1を通して不揮発性メモリ301−1,301−2が接続されている。
そして、不揮発性メモリ301−1がグループGP2に分類され、不揮発性メモリ301−2がグループGP3に分類される。
<8.第8の実施形態>
図29は、本第8の実施形態に係るメモリシステムの構成を示す図である。
本第8の実施形態に係るメモリシステム10Fは、メモリコントローラ200Fと複数の不揮発性メモリをメモリカード400として構成する例が示されている。
図29は、複数の不揮発性メモリの接続形態が図28と同様の構成となっているが、上述した第1〜第7の実施形態に係るメモリコントローラおよび不揮発性メモリの構成を含むメモリカード400として形成することが可能である。
本メモリカード400は、ホスト装置100からの指示により低消費電力モードに遷移する。
このメモリカード400とホスト装置100からなるシステムは、ホストの判断により電源が遮断されるメモリシステムとして構成される。
<9.第9の実施形態>
図30および図31は、本第9の実施形態に係るメモリシステムを説明するための図である。
本第9の実施形態に係るメモリシステム10Fにおいては、不揮発性メモリのチップイネーブル信号CEにより書き込みおよび消去を制御する。
この例では、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により制御される。
このような構成において、図30に示すように、書き込みコマンドがホスト装置からメモリコントローラ200Gに転送される。
メモリコントローラ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にデータが転送され、書き込みが行われる。
以上説明したように、本実施形態によれば、図32に示すように、論理アドレス境界にアラインされた論理アドレスで、物理ブロックサイズの整数倍のサイズの書き込み要求に対しては、その書き込み時の論理アドレスによらずに、書き込み速度を落とさずに、データを書き込むことができる。
ホスト装置からの動作に同期して消去を行い、ホスト装置の予期しないタイミングで消去動作を行わないことで、スタンバイ時の低消費電力化を実効あるものとすることが可能となる。
また、ホスト装置は任意のタイミングでメモリカード等への電力供給を停止することも可能になる。
また、以上詳細に説明した方法は、上記手順に応じたプログラムとして形成し、CPU等のコンピュータで実行するように構成することも可能である。
また、このようなプログラムは、半導体メモリ、磁気ディスク、光ディスク、フロッピー(登録商標)ディスク等の記録媒体、この記録媒体をセットしたコンピュータによりアクセスし上記プログラムを実行するように構成可能である。
10,10A〜10F・・・メモリシステム、100・・・ホスト装置、200,200A〜200F・・・メモリコントローラ、201・・ホストインタフェース(I/F)制御部、202・・・ホストデータバッファ、203・・・論物変換(論理アドレス・物理アドレス変換)制御部、204・・・論物変換テーブル、205・・・消去可能物理ブロック管理部、206・・・消去済み物理ブロック管理部、207・・・メモリ制御部、208・・・第1閾値設定部、209・・・第2閾値設定部、210・・・メモリI/F制御部、211・・・メモリI/F制御部、220・・・最終書き込みチャネル記録部。300〜304・・・不揮発性メモリ。

Claims (24)

  1. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
    前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    前記消去済み物理ブロック管理部は、
    消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、
    前記消去可能物理ブロック管理部は、
    消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、
    データを受信すると、
    前記消去済み物理ブロック管理部は、
    消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
    メモリ装置。
  2. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
    前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    最後に書き込みを実行したチャネルの情報を記録する最終書き込みチャネル記録部をさらに含み、
    前記消去済み物理ブロック管理部は、
    消去済みの物理ブロックアドレスとそのチャネルを管理し
    消去可能物理ブロック管理部は、
    消去可能物理ブロックアドレスとそのチャネルを管理し、
    データを受信すると、
    前記最終書き込みチャネル記録部は、前回書き込みを行ったチャネルを調べ、
    前記消去済み物理ブロック管理部は、
    前回書き込みを行っていないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    前回書き込みを行ったチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行し、データ書き込み後に、データの書き込みを実行したチャネルの情報を前記最終書き込みチャネル記録部に通知する
    メモリ装置。
  3. 前記メモリコントローラは、
    物理ブロックのサイズの境界を超える書き込みが要求された場合には、境界を超える前後で、書き込み先の物理ブロックと消去する物理ブロックを再度選択し直す
    請求項1または2記載のメモリ装置。
  4. 前記メモリコントローラは、
    物理ブロックへの書き込みデータのサイズが第1の閾値より大きい場合に、一のチャネルによる書き込みと並行して、他のチャネルで消去を実行し、第1の閾値は設定変更可能である
    請求項3記載のメモリ装置。
  5. 前記メモリコントローラは、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
    物理ブロックへの書き込みデータのサイズにより、一のチャネルによる書き込みと並行して、他のチャネルで複数のブロックの消去を実行する
    請求項4記載のメモリ装置。
  6. 前記消去済み物理ブロック管理部は、
    消去済みブロックとして最初に登録されたブロックを書き込みブロックとして選択する
    請求項1から5のいずれか一に記載のメモリ装置。
  7. 前記消去済み物理ブロック管理部は、
    消去回数の最も少ないブロックを書き込みブロックとして選択する
    請求項1から5のいずれか一に記載のメモリ装置。
  8. 前記メモリコントローラは、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
    各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを2つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    直前に消去した物理ブロックを書き込みブロックとして選択しない
    請求項6または7記載のメモリ装置。
  9. 前記メモリコントローラは、
    データ読み出し時に、ブロック当りの読み出しデータサイズが第2の閾値よりも大きい場合に、データの読み出しと並行して、消去可能物理ブロックリストを検索し、読み出しに使用されていないチャネルに属する消去可能ブロックを消去する
    請求項8記載のメモリ装置。
  10. 前記読み出しデータサイズの第2の閾値は設定変更可能である
    請求項9記載のメモリ装置。
  11. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
    1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
    前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    前記消去済み物理ブロック管理部は、
    消去済みの物理ブロックアドレスとそのグループ、グループ毎の消去済みの物理ブロック数を管理し、
    前記消去可能物理ブロック管理部は、
    消去可能物理ブロックアドレスとそのグループ、グループ毎の消去可能の物理ブロック数を管理し、
    データを受信すると、
    前記消去済み物理ブロック管理部は、
    消去済みの物理ブロック数が多いほうのグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    書き込み対象とならないグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
    メモリ装置。
  12. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
    1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
    前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    前記消去済み物理ブロック管理部は、
    各チャネル毎に消去済みの物理ブロックアドレスとそのグループ、グループ毎の消去済みの物理ブロック数を管理し、
    前記消去可能物理ブロック管理部は、
    各チャネル毎に消去可能物理ブロックアドレスとそのグループ、グループ毎の消去可能の物理ブロック数を管理し、
    データを受信すると、
    前記消去済み物理ブロック管理部は、
    消去対象とならないグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    消去可能の物理ブロックが多いほうのグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
    メモリ装置。
  13. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記メモリコントローラは、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを少なくとも一つ有し、
    1つのチャネルに複数の不揮発性メモリが接続され、前記不揮発性メモリは複数のグループに分類され、
    前記各グループにおいて1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    最後に書き込みを実行したグループの情報を記録する最終書き込みグループ記録部をさらに含み、
    前記消去済み物理ブロック管理部は、
    各チャネル毎に消去済みの物理ブロックアドレスとそのグループを管理し、
    消去可能物理ブロック管理部は、
    各チャネル毎に消去可能物理ブロックアドレスとそのグループを管理し、
    データを受信すると、
    前記最終書き込みグループ記録部は、前回書き込みを行ったグループを調べ、
    前記消去済み物理ブロック管理部は、
    前回書き込みを行っていないグループに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    前回書き込みを行ったグループに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行し、データ書き込み後に、データの書き込みを実行したチャネルの情報を前記最終書き込みチャネル記録部に通知する
    メモリ装置。
  14. 前記メモリコントローラは、
    物理ブロックのサイズの境界を超える書き込みがホストから要求された場合には、境界を超える前後で、書き込み先の物理ブロックと消去する物理ブロックを再度選択し直す
    請求項11から13のいずれか一に記載のメモリ装置。
  15. 前記メモリコントローラは、
    物理ブロックへの書き込みデータのサイズが第3の閾値より大きい場合に、一のグループでの書き込みと並行して、他のグループで消去を実行し、第3の閾値は設定変更可能である
    請求項14記載のメモリ装置。
  16. 前記メモリコントローラは、
    物理ブロックへの書き込みデータのサイズにより、一のグループでの書き込みと並行して、他のグループの消去実行状態を監視し、消去が完了した場合には、他のブロックのアドレスに消去コマンドを発行する
    請求項11から15のいずれか一に記載のメモリ装置。
  17. 前記消去済み物理ブロック管理部は、
    消去済みブロックとして最初に登録されたブロックを書き込みブロックとして選択する
    請求項11から16のいずれか一に記載のメモリ装置。
  18. 前記消去済み物理ブロック管理部は、
    消去回数の最も少ないブロックを書き込みブロックとして選択する
    請求項11から16のいずれか一に記載のメモリ装置。
  19. 前記メモリコントローラは、
    前記各グループにおいて、不揮発性メモリの消去単位である物理ブロックを2つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    直前に消去した物理ブロックを書き込みブロックとして選択しない
    請求項17または18記載のメモリ装置。
  20. 前記メモリコントローラは、
    データ読み出し時に、ブロック当りの読み出しデータサイズが第4の閾値よりも大きい場合に、データの読み出しと並行して、消去可能物理ブロックリストを検索し、読み出しに使用されていないグループに属する消去可能ブロックを消去する
    請求項19記載のメモリ装置。
  21. 前記読み出しデータサイズの第4の閾値は設定変更可能である
    請求項20記載のメモリ装置。
  22. 前記メモリコントローラは、
    複数のチャネルを有し、当該複数のチャネルをそれぞれが独立に制御可能であり、
    各チャネル当り2以上の不揮発性メモリが接続されている
    請求項1から21のいずれか一に記載のメモリ装置。
  23. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、を有し、
    前記メモリコントローラは、
    複数のチャネルを有し、当該複数のチャネルをそれぞれが独立に制御可能であり、
    各チャネル当り2以上の不揮発性メモリが接続され
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御するメモリ制御部と、を含み、
    前記不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    前記メモリ制御部は、
    前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行う
    メモリ装置。
  24. データの書き換え時に消去が必要な複数の不揮発性メモリと、
    前記不揮発性メモリを制御するメモリコントローラと、
    前記メモリコントローラに対して少なくともデータの書き込みを指示するホスト装置と、を有し、
    前記メモリコントローラは、
    データの書き込みで指定される論理アドレスを不揮発性メモリの物理アドレスに変換するアドレス変換テーブルと、
    消去済みの物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去済みの物理ブロック数を管理する消去済み物理ブロック管理部と、
    消去可能物理ブロックアドレスとその不揮発性メモリ、不揮発性メモリ毎の消去可能の物理ブロック数を管理する消去可能物理ブロック管理部と、
    前記複数の不揮発性メモリに対する書き込みおよび消去を制御し、前記消去済み物理ブロック管理部で管理される一の不揮発性メモリの第1の物理ブロックに受信したデータの書き込みを行い、当該書き込みと並行して前記消去可能物理ブロック管理部で管理される他の不揮発性メモリの第2の物理ブロックの消去を行うメモリ制御部と、を含み、
    前記不揮発性メモリと接続されるインターフェイスであるチャネルを複数有し、
    前記各チャネルにおいて、不揮発性メモリの消去単位である物理ブロックを不揮発性メモリ毎に1つ以上、論理アドレス空間に割当てられない物理ブロックとして持ち、
    前記消去済み物理ブロック管理部は、
    消去済みの物理ブロックアドレスとそのチャネル、チャネル毎の消去済みの物理ブロック数を管理し、
    前記消去可能物理ブロック管理部は、
    消去可能物理ブロックアドレスとそのチャネル、チャネル毎の消去可能の物理ブロック数を管理し、
    データを受信すると、
    前記消去済み物理ブロック管理部は、
    消去対象とならないチャネルに属する物理ブロックをその論理アドレスに対応する第1の物理ブロックとして割り当て、
    前記消去可能物理ブロック管理部は、
    消去可能の物理ブロックが多いほうのチャネルに属する物理ブロックを消去する第2の物理ブロックとして選択し、
    前記メモリ制御部は、
    前記第1の物理ブロックに受信データを書き込むのと並行して、前記第2の物理ブロックの消去を実行する
    メモリシステム。
JP2011018909A 2011-01-30 2011-01-31 メモリ装置およびメモリシステム Active JP5609683B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社東芝 メモリシステム

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