JP5612514B2 - 不揮発性メモリコントローラ及び不揮発性記憶装置 - Google Patents

不揮発性メモリコントローラ及び不揮発性記憶装置 Download PDF

Info

Publication number
JP5612514B2
JP5612514B2 JP2011048907A JP2011048907A JP5612514B2 JP 5612514 B2 JP5612514 B2 JP 5612514B2 JP 2011048907 A JP2011048907 A JP 2011048907A JP 2011048907 A JP2011048907 A JP 2011048907A JP 5612514 B2 JP5612514 B2 JP 5612514B2
Authority
JP
Japan
Prior art keywords
logical
address
data
block
physical
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.)
Expired - Fee Related
Application number
JP2011048907A
Other languages
English (en)
Other versions
JP2011221996A (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2011048907A priority Critical patent/JP5612514B2/ja
Publication of JP2011221996A publication Critical patent/JP2011221996A/ja
Application granted granted Critical
Publication of JP5612514B2 publication Critical patent/JP5612514B2/ja
Expired - Fee Related 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、フラッシュメモリ等の不揮発性メモリを制御する不揮発性メモリコントローラ、及び、該不揮発性メモリコントローラを用いた不揮発性記憶装置に関する。
近年、書き換え可能な不揮発性メモリであるNANDタイプのフラッシュメモリを搭載した不揮発性記憶装置として、メモリーカードがデジタルカメラや携帯電話の記憶媒体に使用され、その市場が拡大している。
また、不揮発性記憶装置は、年々下がるビット単価に伴い、安価な記憶デバイスとしてメモリーカード以外の市場、例えば、HDD(Hard Disk Drive)と置き換えられるSSD(Solid State Drive)にも用いられ、その適用が拡がっている。
上記のフラッシュメモリのメモリセルは、MOS(Metal Oxide Semiconductor)タイプトランジスタのコントロールゲートと基盤との間に電子を不揮発で保持するフローティングゲートを持つ構成をとり、基盤とフローティングゲートとの間で電子をやり取りすることにより、データの消去及び書き込みを行う。また、フラッシュメモリを構成するトランジスタに流れる電流量を判定することにより、フラッシュメモリのメモリセルからデータが読み出される。
上記のように、フラッシュメモリのメモリセルに対して、データの消去及び書き込みを繰り返すので、基盤とフローティングゲートとの間を電子が移動し、基盤とフローティングゲートとの間の絶縁膜(以降、ゲート絶縁膜)が劣化してしまう。ゲート絶縁膜が劣化すると、ゲート絶縁膜中に存在する欠陥を経由して、フローティングゲートから基盤に電子が漏れ、ゲート絶縁膜中の欠陥にトラップされた電子の影響により、書き込みの効率が低下して、消去や書き込みの不良を発生させる要因となる。
上記の消去や書き込みのエラーが発生したブロックのことを不良ブロックというが、フラッシュメモリにおいて、不良ブロックの存在は不可避である。フラッシュメモリを制御するコントローラは、不良ブロックが発生すると、該不良ブロックのデータを他の正常なブロックに退避すると共に、不良ブロックに対して新たなデータの消去や書き込みを行わないように制御する必要がある。
また、他の従来技術として、特許文献1には、フラッシュメモリにおいて、不良ブロックが発生した際の処理が開示されている。
特開2002−197890号公報
上記のように、フラッシュメモリには不良ブロックが存在するため、メモリーカードは、メモリーカードに搭載するフラッシュメモリの容量よりも少ない容量しか持たないことを、ホスト機器に通知する必要がある。例えば、実際に市場に流通する1Gバイトの容量を有するメモリーカードやUSBフラッシュの有効容量は、1Gバイトよりも小さい。
このように、予め不良ブロックの存在や発生を見越してメモリーカードの有効容量を決定しているが、データの書き換えを繰り返すことにより不良ブロックが多発した場合には、メモリーカードが接続されているホスト機器に通知している有効容量を維持することができなくなり、全く書き込みが行えなくなってしまうという課題がある。
本発明の目的は、不良ブロックが発生しても、新たなデータの書き込みが可能な不揮発性メモリコントローラ及び不揮発性記憶装置を提供することである。
本発明に係る不揮発性メモリコントローラは、複数の物理ブロックで構成される不揮発性メモリを制御する不揮発性メモリコントローラであって、外部機器からの最小論理アドレスから最大論理アドレスまでの有効論理アドレス範囲内の論理アドレスに基づいて前記物理ブロックに対するデータの書き込み及び/又は読み出しを制御する制御部と、前記論理アドレスに対してデータの書き込みの反映を不可とする、前記有効論理アドレス範囲内の1箇所以上の部分領域を論理不良クラスタとし、当該論理不良クラスタの論理アドレスの情報を格納する論理不良クラスタテーブルと、前記物理ブロックに格納されるデータの、前記有効論理アドレス範囲の論理アドレスと前記物理ブロックの物理アドレスとの対応情報を格納するアドレス変換テーブルとを備え、前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からのデータの書き込み命令を受けた場合、当該論理アドレスに対するデータの前記物理ブロックへの書き込みの反映を不可とする。
この不揮発性メモリコントローラにおいては、有効論理アドレス範囲内の1箇所以上の部分領域を論理不良クラスタとし、当該論理不良クラスタの論理アドレスの情報を論理不良クラスタテーブルに格納し、論理不良クラスタテーブルに格納された論理アドレスに対する外部機器からのデータの書き込み命令を受けた場合、当該論理アドレスに対するデータの物理ブロックへの書き込みの反映を不可とし、また、有効論理アドレス範囲の論理アドレスと前記物理ブロックの物理アドレスとの対応情報をアドレス変換テーブルに格納し、論理不良クラスタテーブルに格納されていない論理アドレスに対する外部機器からのデータの書き込み命令を受けた場合、アドレス変換テーブルを用いて、外部機器からの論理アドレスを物理ブロックの物理アドレスに変換し、当該物理アドレスを用いて、外部機器からのデータを物理ブロックに書き込むことができる。したがって、不良ブロックが発生しても、外部機器に通知している不揮発性メモリの有効容量を維持することができるので、新たなデータの書き込みを行うことが可能になる。
前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からデータの読み出し命令を受けた場合、所定の固定値データを出力することが好ましい。
この場合、論理不良クラスタテーブルに格納された論理アドレスに対する外部機器からデータの読み出し命令を受けた場合、所定の固定値データを外部機器に出力しているので、外部機器が固定値データを識別することにより、当該論理アドレスがアクセス不能であることを外部機器に通知することができる。
前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からデータの読み出し命令を受けた場合、データの出力を行わないことが好ましい。
この場合、論理不良クラスタテーブルに格納された論理アドレスに対する外部機器からデータの読み出し命令を受けた場合、データが出力されないので、データが出力されないことを外部機器が認識することにより、当該論理アドレスがアクセス不能であることを外部機器に通知することができる。
前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からのデータの書き込み命令を受けた場合、前記外部機器に書き込みエラーの発生を通知することが好ましい。
この場合、論理不良クラスタテーブルに格納された論理アドレスに対する外部機器からデータの書き込み命令を受けた場合、外部機器に書き込みエラーの発生を通知しているので、当該論理アドレスにデータが書き込めないことを外部機器に通知することができる。
前記不揮発性メモリコントローラは、さらに、前記論理アドレスに対応するデータが格納されておらず、新たなデータの書き込みが可能な物理ブロックの物理アドレスを格納する無効ブロックテーブルを備え、前記制御部は、前記物理ブロックへのアクセス時に不良ブロックが発生し、前記外部機器からデータを書き込むことができる物理ブロックが所定値以上ないときに、前記外部機器からのアクセスを不可とする論理アドレスを決定して前記論理不良クラスタテーブルに登録し、登録した論理アドレスに対するデータの前記物理ブロックへの書き込みの反映を不可とし、前記物理ブロックへのデータの書き込みの反映を不可とした論理アドレスに対応する前記アドレス変換テーブルの物理アドレスの情報を、前記無効ブロックテーブルに登録することが好ましい。
この場合、論理アドレスに対応するデータが格納されておらず、新たなデータの書き込みが可能な物理ブロックの物理アドレスが無効ブロックテーブルに格納され、物理ブロックへのアクセス時に不良ブロックが発生し、外部機器からデータを書き込むことができる物理ブロックが所定値以上なくなったときに、外部機器からのアクセスを不可とする論理アドレスを決定して論理不良クラスタテーブルに登録し、登録した論理アドレスに対するデータの物理ブロックへの書き込みの反映を不可とするとともに、物理ブロックへのデータの書き込みの反映を不可とした論理アドレスに対応するアドレス変換テーブルの物理アドレスの情報を、無効ブロックテーブルに登録しているので、不良ブロックが多発した場合でも、無効ブロックテーブルに新たなデータの書き込みが可能な物理ブロックの物理アドレスを登録することができ、この物理ブロックを書き込み可能な書き込み先物理ブロックとして使用し、外部機器からのデータの書き込みを継続することができる。
前記制御部は、前記外部機器からのアクセスを不可とする論理アドレスとして、有効なデータが書き込まれていない論理アドレスを選択することが好ましい。
この場合、有効なデータが書き込まれていない論理アドレスを論理不良クラスタテーブルに登録し、登録した論理アドレスに対応するアドレス変換テーブルの物理アドレスの情報を無効ブロックテーブルに登録することができるので、書き込み可能な書き込み先物理ブロックを確保することができる。
前記制御部は、前記外部機器からのアクセスを不可とする論理アドレスとして、前記アドレス変換テーブルに格納されている論理アドレスの中から、有効な物理アドレスと対応しない論理アドレスを選択することが好ましい。
この場合、アドレス変換テーブルに格納されている論理アドレスの中の、有効な物理アドレスと対応しない論理アドレスを論理不良クラスタテーブルに登録し、登録した論理アドレスに対応するアドレス変換テーブルの物理アドレスの情報を無効ブロックテーブルに登録することができるので、書き込み可能な書き込み先物理ブロックを確保することができる。
前記物理ブロックへのアクセスは、前記物理ブロックに対するデータの書き込み又は消去を含むことが好ましい。
この場合、物理ブロックに対するデータの書き込み又は消去により、多数の不良ブロックが発生したとしても、外部機器に通知している不揮発性メモリの有効容量を維持することができるので、新たなデータの書き込みを行うことが可能になる。
本発明に係る不揮発性記憶装置は、上記いずれかの不揮発性メモリコントローラと、前記不揮発性メモリを有する記憶部とを備える。
前記不揮発性メモリは、フラッシュメモリを含むことが好ましい。
この場合、フラッシュメモリに不良ブロックが発生したとしても、外部機器に通知しているフラッシュメモリの有効容量を維持することができるので、新たなデータの書き込みを行うことが可能になる。
本発明によれば、不良ブロックが発生しても、新たなデータの書き込みが可能な不揮発性メモリコントローラ及び不揮発性記憶装置を提供することができる。
本発明の一実施の形態のメモリーカードの構成を示す図である。 図1に示すメモリーカードのアドレス変換テーブルの構成の一例を示す図である。 図1に示すメモリーカードの無効ブロックテーブルの構成の一例を示す図である。 図1に示すメモリーカードの論理不良クラスタテーブルの構成の一例を示す図である。 図1に示すメモリーカードのフラッシュメモリ部の構成の一例を示す図である。 図1に示すメモリーカードのフラッシュメモリ部の物理ブロック内部の構成を説明する模式図である。 図1に示すメモリーカードの読み出し処理のフローチャートである。 図1に示すメモリーカードの書き込み処理のフローチャートである。 図1に示すメモリーカードの書き込み処理による更新前の各テーブルの状態を示す図である。 図1に示すメモリーカードの書き込み処理による更新後の各テーブルの状態を示す図である。 図1に示すメモリーカードのデータ書き込みのフローチャートである。 図1に示すメモリーカードの不良ブロック発生時の更新後の各テーブルの状態を示す図である。 図11に示す論理不良クラスタの判定処理の詳細なフローチャートである。 図1に示すメモリーカードの論理不良クラスタ登録の更新前の各テーブルの状態を示す図である。 図1に示すメモリーカードの論理不良クラスタ登録の更新後の各テーブルの状態を示す図である。
以下、図面を参照して、本発明の一実施の形態のメモリーカードについて説明する。図1は、本発明の一実施の形態のメモリーカードの構成を示すブロック図である。
<1.メモリーカードの構成>
メモリーカード101は、外部のホスト機器200と接続され、ホスト機器200と双方向に通信を行うことにより、ホスト機器200からの指示に応じてデータの読み出し及び/又は書き込みを行う。
メモリーカード101は、コントローラ102と、フラッシュメモリ部103とを備える。コントローラ102は、メモリーカード101とホスト機器200とのインターフェースの制御を行うと共に、フラッシュメモリ部103の制御を行う。
フラッシュメモリ部103は、不揮発性メモリの一例であるフラッシュメモリからなる。図示しないが、フラッシュメモリは、複数の物理ブロックからなり、物理ブロックは、複数のメモリセルからなる。物理ブロックは、フラッシュメモリにおけるデータの消去単位である。
ここで、メモリーカード101が不揮発性記憶装置の一例であり、コントローラ102が不揮発性メモリコントローラの一例であり、フラッシュメモリ部103が書き換え可能な不揮発性メモリを有する記憶部の一例である。また、ホスト機器200の一例としては、デジタルカメラ、携帯電話、ビデオレコーダ、コンピュータ等が該当する。
メモリーカード101は、外部のホスト機器200からのアドレスを指定したデータの書き込み又は読み出しの制御に対応して、フラッシュメモリ部103にデータを書き込み、又は、フラッシュメモリ部103からデータを読み出す。外部からのアドレス指定は、メモリーカード101が備える、最小論理アドレスから最大論理アドレスまでの一連のアドレス範囲(以降、「有効論理アドレス範囲」という)に限定して行われる。
コントローラ102は、ホストインターフェース部104、フラッシュメモリ制御部105、バッファメモリ106、ECC107、制御部108、アドレス変換テーブル109、無効ブロックテーブル110、不良ブロックテーブル111、及び論理不良クラスタテーブル112を備える。
ホストインターフェース部104は、ホスト機器200とのインターフェースを制御する。フラッシュメモリ制御部105は、フラッシュメモリ部103の制御を行う。バッファメモリ106は、ホスト機器200からの書き込みデータや、ホスト機器200への読み出しデータをフラッシュメモリ部103との間で転送する際に、一時的にデータを格納するための揮発性のバッファメモリである。
ECC107は、ECC(エラー検出訂正)回路であり、フラッシュメモリ部103にデータを書き込む際に付加するECC(Error Correcting Code:誤り訂正符号)を生成し、フラッシュメモリ部103からデータを読み出す際に、読み出したデータの訂正を行う。
制御部108は、図示を省略した配線により各ブロックに接続され、各ブロックの動作を制御することにより、コントローラ102内部全体の制御を行う。また、制御部108は、ホスト機器200から指定された有効論理アドレス範囲内の論理アドレスに基づいてフラッシュメモリ部103の物理ブロックに対するデータの書き込み及び/又は読み出しを制御する。
アドレス変換テーブル109は、ホスト機器200から指定されるアドレス(論理アドレス)と、フラッシュメモリ部103の物理ブロックのアドレス(物理アドレス)との対応情報を記録する。ここでの論理アドレスの範囲は、上記の有効論理アドレス範囲に相当し、アドレス変換テーブル109は、物理ブロックに格納されるデータの、有効論理アドレス範囲の論理アドレスと物理ブロックの物理アドレスとの対応情報を格納している。
無効ブロックテーブル110は、フラッシュメモリ部103において有効なデータが書き込まれておらず、且つ、不良ブロックでない(不良ブロックテーブル111で管理されていない)物理ブロックのアドレスのリストを記録する。すなわち、無効ブロックテーブル110は、論理アドレスに対応するデータが格納されておらず、新たなデータの書き込みが可能な物理ブロックの物理アドレスを格納しており、データの書き込みに使用可能な物理ブロックが無効ブロックテーブル110に登録されている。
不良ブロックテーブル111は、フラッシュメモリ部103における不良ブロックの物理アドレスのリストを記録する。
論理不良クラスタテーブル112は、有効論理アドレス範囲内において、メモリーカード101がホスト機器200からのアクセスを不能にする論理アドレスを定義するテーブルである。
具体的には、論理不良クラスタテーブル112は、論理アドレスに対してデータの書き込みの反映を不可とする、有効論理アドレス範囲内の1箇所以上の部分領域を論理不良クラスタとし、当該論理不良クラスタの論理アドレスの情報を格納している。また、制御部108は、論理不良クラスタテーブル112に格納された論理アドレスに対するホスト機器200からのデータの書き込み命令を受けた場合、当該論理アドレスに対するデータの、フラッシュメモリ部103の物理ブロックへの書き込みの反映を不可とする。
<2.各種テーブルの構成例>
図2は、アドレス変換テーブル109の構成の一例を示す図である。アドレス変換テーブル109は、論理ブロックアドレス201の情報と、物理ブロックアドレス202の情報とを対応付けて記憶している。ここで、論理アドレスの範囲(有効論理アドレス範囲)を、フラッシュメモリ部103の物理ブロックの容量と等量の単位の論理ブロックに分割し、各論理ブロックを特定するための論理アドレスの情報を、論理ブロックアドレス201の情報とする。一方、物理ブロックアドレス202の情報は、物理ブロックを特定するための物理アドレスの情報である。アドレス変換テーブル109では、1つの論理ブロックアドレス201と、それに対応するフラッシュメモリ部103の物理ブロックアドレス202との組で一つのレコードが構成されている。
例えば、論理ブロックアドレス「0000h」に対応するデータは、物理ブロックアドレス「0000h」の物理ブロックすなわちフラッシュメモリ部103のアドレス「0000h」の物理ブロックに格納され、論理ブロックアドレス「0001h」に対応するデータは、物理ブロックアドレス「0010h」の物理ブロックすなわちフラッシュメモリ部103のアドレス「0010h」の物理ブロックに格納されていることを示す。また、論理ブロックアドレスとして、0000hから1F39hまでの範囲のアドレスが管理されている。
図3は、無効ブロックテーブル110の構成の一例を示す図である。無効ブロックテーブル110は、フラッシュメモリ部103における無効なデータを格納する物理ブロックのアドレスである物理ブロックアドレスの情報、例えば、0123h、0456h、…を記憶している。なお、フラッシュメモリ部103の物理ブロックのアドレスの範囲は、0000h〜1FFFhの範囲とし、2000hは、無効ブロックテーブル110における無効な値として取り扱う。
不良ブロックテーブル111の構成は、上記の無効ブロックテーブル110と同様であり、フラッシュメモリ部103における不良データの物理ブロックのアドレスを格納する。すなわち、不良ブロックテーブル111は、不良ブロックの物理ブロックアドレスの情報を格納し、2000hを無効値として取り扱う。
図4は、論理不良クラスタテーブル112の構成の一例を示す図である。メモリーカード101がホスト機器200からのアクセスを不能とする論理ブロックのアドレスの情報、すなわち、論理不良クラスタの論理アドレスの情報を、論理ブロックアドレスとして格納する。なお、論理不良クラスタテーブル112でも、無効ブロックテーブル110と同様に、2000hを無効値として取り扱う。図4の例では、全てが無効な論理ブロックアドレスの状態である。
<3.フラッシュメモリ部の構成例>
図5は、フラッシュメモリ部103の構成の一例を示す図である。フラッシュメモリ部103内部には、データを不揮発で記憶する複数のメモリセルからなるメモリセルアレイ501がある。メモリセルアレイ501に記憶可能な容量が、フラッシュメモリ部103の記憶容量となる。メモリセルアレイ501は、複数の物理ブロック502からなる。物理ブロック502は、フラッシュメモリ部103におけるデータの消去単位である。
本実施の形態において、物理ブロックのアドレスとして、0000h〜1FFFhをとるので、2000h個(8192個)の物理ブロック502がある場合を例として説明している。
フラッシュメモリ部103は、メモリセルのデータを読み出すためのセンスアンプ503と、メモリセルのデータを消去したり、メモリセルにデータを書き込むための書き込み・消去制御部504と、ページバッファ505と、制御回路506とを備える。
センスアンプ503で読み出したデータや、書き込み・消去制御部504で書き込みを行うためのデータは、フラッシュメモリ部103内部において、ページバッファ505に一時的に格納される。また、コントローラ102がフラッシュメモリ部103に対して読み出し又は書き込みを行うデータは、ページバッファ505に格納される。
制御回路506は、フラッシュメモリ部103全体を制御する。制御回路506は、フラッシュメモリ部103内部を制御することにより、コントローラ102からのデータの書き込み及び読み出しを可能にする。
図6は、物理ブロック502内部の構成を説明する模式図である。物理ブロック502は、複数の物理ページ601からなる。物理ブロック502は、フラッシュメモリ部103におけるデータの消去単位であったが、物理ページ601は、フラッシュメモリ部103におけるデータの書き込み単位である。
<4.書き込み・読み出し処理>
<4.1読み出し処理>
図7は、メモリーカード101に対するデータの読み出し処理における制御部108の動作を示すフローチャートである。メモリーカード101は、ホスト機器200からの論理アドレスを指定した読み出し命令によって読み出し処理を開始する。
まず、判定処理701を説明する。制御部108は、論理不良クラスタテーブル112を参照して、ホスト機器200からの論理アドレスが論理ブロックアドレスとして論理不良クラスタテーブル112に登録されているか否かを判定する。論理ブロックアドレスが登録されている時には、ホスト機器200からの論理アドレスはアクセス不能とすべきアドレスであるから、制御部108は、読み出し処理をそのまま終了して、ホスト機器200に対してデータを出力しない。
一方、論理ブロックアドレスが登録されていない時には、制御部108は、処理702を実施し、読み出し元物理ブロックを決定する。具体的には、制御部108は、アドレス変換テーブル109を参照し、ホスト機器200から指定された論理ブロックアドレスに対応するアドレス変換テーブル109の物理ブロックアドレスの物理ブロックを、読み出し元物理ブロックとして決定する。
次に、処理703を説明する。制御部108は、処理702で決定されたフラッシュメモリ部103の読み出し元物理ブロックからデータを読み出し、フラッシュメモリ部103の読み出し元物理ブロックからのデータをホスト機器200へ転送する。
なお、論理不良クラスタテーブル112が、図4の例の場合、即ち登録されている論理ブロックアドレスが全て無効値の場合には、判定処理701でアクセス不能にする判定は行わない。
また、判定処理701で論理ブロックアドレスが論理不良クラスタテーブル112に登録されている場合には、ホスト機器200に対してデータを出力しないとしたが、所定の固定値を出力する構成としても構わない。また、論理ブロックアドレスが論理不良クラスタテーブル112に登録されている場合、登録されている論理ブロックアドレスに対して、アドレス変換テーブル109には、有効な物理ブロックアドレスが登録されていないので、有効な物理ブロックアドレスがなくても行える処理であれば、他の処理を行うようにしてもよい。
<4.2書き込み処理>
図8は、メモリーカード101に対するデータの書き込み処理における制御部108の動作のフローチャートである。メモリーカード101は、ホスト機器200からの論理アドレスを指定した書き込み命令によって書き込み処理を開始する。
まず、判定処理801を説明する。制御部108は、論理不良クラスタテーブル112を参照して、ホスト機器200からの論理アドレスが論理ブロックアドレスとして論理不良クラスタテーブル112に登録されているかどうかを判定する。論理ブロックアドレスが登録されている時には、ホスト機器200からの論理アドレスはアクセス不能とすべきアドレスであるから、制御部108は、書き込み処理をそのまま終了する。
一方、論理ブロックアドレスが登録されていない時には、制御部108は、処理802を実施し、書き込み先物理ブロックを決定する。具体的には、制御部108は、無効ブロックテーブル110を参照し、無効ブロックテーブル110に登録されている物理ブロックアドレスから、新たなデータの書き込みが可能な物理ブロックを選択し、選択した物理ブロックを書き込み先物理ブロックとして決定する。
次に、処理803を説明する。制御部108は、ホスト機器200からのデータの書き込みを行う。具体的には、制御部108は、ホスト機器200から転送される書き込みデータを、処理802で決定されたフラッシュメモリ部103の書き込み先物理ブロックに転送して書き込む。この時、ホスト機器200からの書き込みデータが物理ブロック単位に満たないときには、フラッシュメモリ部103に既書き込みのデータを使用することにより、書き込みデータを物理ブロック単位のデータにして、フラッシュメモリ部103に書き込む。このような処理を行う必要があるのは、後述するように、フラッシュメモリ部103のデータの消去単位でしか、データを書き換えることができないためである。
次に、処理804を説明する。制御部108は、アドレス変換テーブル109及び無効ブロックテーブル110の更新を行う。具体的には、制御部108は、ホスト機器200から指定された論理ブロックアドレスに対応するアドレス変換テーブル109の物理ブロックアドレスと、書き込み先物理ブロックの物理ブロックアドレス(処理802で選択された無効ブロックテーブル110の物理ブロックアドレス)とを入れ替えてアドレス変換テーブル109及び無効ブロックテーブル110を更新する。
ここで、処理804における書き込み処理におけるテーブル更新の処理を具体例で説明する。図9は、書き込み処理による更新前の各テーブルの状態を示す図である。図9では、アドレス変換テーブル109は、図2と同じ状態であり、無効ブロックテーブル110は、図3と同じ状態であり、論理不良クラスタテーブル112は、図4と同じ状態である。不良ブロックテーブル111の不良ブロックアドレス(物理ブロックアドレス)は、全て無効値であるとする。
この状態からホスト機器200からのアドレス指定が論理ブロックアドレス「0001h」であり、処理802で、書き込み先物理ブロックとして、無効ブロックテーブル110の物理ブロックアドレス「0123h」が選択された場合には、以下のように、処理804で各テーブルが更新される。
図10は、書き込み処理による更新後の各テーブルの状態を示す図である。制御部108は、アドレス変換テーブル109の、ホスト機器200が指定した論理ブロックアドレスに対応する物理ブロックアドレス「0010h」と、無効ブロックテーブル110の物理ブロックアドレス「0123h」とを交換する。この結果、図10に示すように、アドレス変換テーブル109の論理ブロックアドレスに対応する物理ブロックアドレスが「0123h」となり、無効ブロックテーブル110の物理ブロックアドレスが「0010h」となる。
なお、判定処理801で論理ブロックアドレスが論理不良クラスタテーブル112に登録されている場合には、そのまま書き込み処理を終了するとした。これは、ホスト機器200がデータ書込み後にデータの読み出しを行うことで、正しくデータの書き込みが行えたかどうかを確認することを想定しているためである。
しかしながら、メモリーカード101が、ホスト機器200に対してエラーを通知することで、正しくデータの書き込みが行えなかったことをホスト機器200が認識できる仕組みでも構わない。例えば、判定処理801において、制御部108は、ホスト機器200からの論理ブロックアドレスが論理不良クラスタテーブル112に登録されていると判定した場合に、書き込み処理を終了し、正しくデータの書き込みが行えなかったことを通知するための書き込みエラー情報をホスト機器200へ送信するようにしてもよい。
<4.3書き込み処理時の不良ブロック登録>
図11は、図8に示したフローチャートのデータ書き込み処理803の詳細なフローチャートである。
まず、処理1101を説明する。制御部108は、書き込み先物理ブロックの消去を行う。具体的には、制御部108は、フラッシュメモリ部103に対して書き込み先物理ブロックの物理アドレスを指定してデータを消去するコマンドを発行する。フラッシュメモリ部103の制御回路506は、書き込み・消去制御部504を使用して該当する物理ブロックのデータを消去する。
但し、フラッシュメモリ部103への消去処理において、後発性の不良ブロックの発生の可能性がある。この可能性は低い確率ではあるものの、物理ブロックのデータの消去に失敗する場合がある。この場合、フラッシュメモリ部103は、消去に失敗したことをステータスとして制御部108へ出力する。そこで、以下の判定処理1102を実施する。
次に、判定処理1102を説明する。制御部108は、フラッシュメモリ部103からステータス、例えば、消去処理が成功したことを示すステータス、又は、消去処理が失敗したことを示すステータスを取得することにより、処理1101での消去処理が成功したのか、失敗して不良ブロックとして管理する必要があるのかを判定する。消去処理が成功している場合には、処理1103へ移行し、失敗している場合には、処理1106へ移行する。
次に、処理1103を説明する。制御部108は、ホスト機器200からのデータをフラッシュメモリ部103の書き込み単位である物理ページ単位で書き込みを行う。
但し、フラッシュメモリ部103へのデータの書き込み処理においても、消去処理と同様に後発性の不良ブロックの可能性がある。そこで、判定処理1104を実施する。制御部108は、フラッシュメモリ部103からステータス、例えば、書き込み処理が成功したことを示すステータス、又は、書き込み処理が失敗したことを示すステータスを取得することにより、処理1103での書き込み処理が成功したのか、失敗して不良ブロックとして管理する必要があるのかを判定する。書き込み処理が成功している場合には、判定処理1105へ移行し、失敗している場合には処理1106へ移行する。
次に、判定処理1105を説明する。制御部108は、全ての書き込み処理が完了したかどうかを判定する。まだ未書き込みのデータが残っている場合には、処理1103へ戻り、全てのデータの書き込みが完了している場合には、処理を終了する。
次に、処理1106を説明する。制御部108は、無効ブロックテーブル110及び不良ブロックテーブル111の更新を行う。具体的には、制御部108は、不良ブロックとして管理する必要のある書き込み先物理ブロックの物理アドレスを物理ブロックアドレスとして不良ブロックテーブル111に移動する。この物理ブロックアドレスの移動処理は、無効ブロックテーブル110の書き込み先物理ブロックの物理ブロックアドレスを無効値に差し替えて、不良ブロックテーブル111の無効値を書き込み先物理ブロックの物理ブロックアドレスに差し替えて行う。
次に、処理1107を説明する。制御部108は、論理不良クラスタの判定処理を行い、論理不良クラスタの判定処理の後に、書き込み処理を終了する。ここでの書き込み処理の終了は、ホスト機器200からの書き込みデータを正しく書き込み処理できていないので、処理804を行わずに書き込み処理を終了する。上記の論理不良クラスタの判定処理については、後で説明する。
次に、図11のフローチャートで示した書き込み処理における処理1106による各テーブルの更新処理の具体例を説明する。処理1106を行う前のテーブルの状態が図10で示されるとする。この状態から書き込み先物理ブロックの物理ブロックアドレスとして「1FFFh」が選択されている場合、以下のようにしてテーブルを更新する。
図12は、不良ブロック発生時の更新後の各テーブルの状態を示す図である。制御部108は、無効ブロックテーブル110の書き込み先物理ブロックの物理ブロックアドレス「1FFFh」を無効値「2000h」に差し替え、不良ブロックテーブル111の不良ブロックアドレス(物理ブロックアドレス)の無効値「2000h」を、消去又は書き込み不良が発生した不良ブロックの物理ブロックアドレス「1FFFh」に差し替える。
<4.4論理不良クラスタの登録>
図13は、図11に示す論理不良クラスタを判定する処理1107の詳細なフローチャートである。不良ブロックが多発した場合に、無効ブロックテーブル110の有効な値の物理ブロックアドレスがなくなってしまい、書き込み処理における処理802で書き込み先物理ブロックを決定することができなくなる場合がある。書き込み先物理ブロックを決定することができなくなると、ホスト機器200からのデータの書き込みが一切できなくなってしまう。この状態を回避するために、論理不良クラスタの判定処理を行っている。
まず、処理1301を説明する。制御部108は、ワークブロックの確認を行う。ワークブロックとは、ホスト機器200からの書き込みデータを書き込むことのできる物理ブロックのことである。有効なデータが書かれている物理ブロックでないと共に、不良ブロックでないことが、ワークブロックであることの条件である。このワークブロックの確認は、制御部108が無効ブロックテーブル110ではなく、不良ブロックテーブル111を参照することで行う。
上記では説明しなかったが、上記のように無効ブロックテーブル110を参照して判断しないのは、以下の理由による。すなわち、ホスト機器200からの新たなデータを書き込むためには、無効ブロックテーブル110の有効な物理ブロックアドレス(データの書き込みに使用可能な物理ブロック)がなくならないように、メモリーカード101を制御する必要があるが、アドレス変換テーブル109に登録されている物理ブロックアドレスが無効値「2000h」である論理ブロックアドレスに対してデータの書き込みが行われる場合には、消去又は書き込みの不良が発生しないにもかかわらず、無効ブロックテーブル110の物理ブロックアドレスが無効値「2000h」に差し変わるからである。このため、本実施の形態では、不良ブロックの数を確認できる不良ブロックテーブル111を参照して、無効ブロックテーブル110の有効な物理ブロックアドレスの数が足りているかどうか、すなわち、ワークブロックが規定値以上あるかどうかを判定する。
次に、判定処理1302を説明する。制御部108は、ワークブロックが規定値以上あるかどうかを判定する。規定値以上のワークブロックがあると判断した場合には、処理を終了し、ワークブロックが規定値に満たない場合には、処理1303へ移行する。ここで、規定値としては、種々の所定値を用いることができ、例えば、有効論理アドレス範囲、フラッシュメモリ部103の物理ブロック数等を考慮することにより、適宜決定される。
次に、処理1303を説明する。ワークブロックが規定値以上ない場合、制御部108は、ワークブロック候補の論理ブロックを決定する。ワークブロック候補の論理ブロックの決定とは、ホスト機器200からアクセスを不能にする論理ブロックの論理アドレスを論理ブロックアドレスとして決定することである。
この時の論理ブロックアドレスの決定において、制御部108は、メモリーカード101に書き込まれているデータに使用されているファイルシステムを理解して、ファイルシステム上の使用可能な連続したクラスタ(有効論理アドレス範囲内の1箇所以上の部分領域)を論理不良クラスタとして選択し、当該論理不良クラスタの論理アドレスをワークブロック候補の論理ブロックアドレスとして決定する。
また、制御部108は、メモリーカード101に書き込まれているデータのファイルシステムを解釈できないときには、アドレス変換テーブル109に登録されている物理ブロックアドレスが無効値の論理ブロックアドレスを、ワークブロック候補の論理ブロックアドレスとして選択する。
いずれも候補がないときには、制御部108は、任意の論理ブロックアドレスを選択する。このように、処理1303で選択した論理ブロックアドレス(以降、論理不良ブロックアドレス)に対しては、制御部108は、以下の処理により、今後のホスト機器200からの読み出し及び書き込みを不能にする。
次に、処理1304を説明する。制御部108は、アドレス変換テーブル109及び無効ブロックテーブル110の更新を行う。具体的には、制御部108は、アドレス変換テーブル109の論理不良ブロックアドレスの物理ブロックアドレスと、無効ブロックテーブル110の無効値とを入れ替えて更新する。
次に、処理1305を説明する。制御部108は、論理不良クラスタテーブル112の更新を行う。具体的には、制御部108は、論理不良クラスタテーブル112に論理不良ブロックアドレスを書き込むことにより、論理不良クラスタを登録し、処理を終了する。
次に、処理1304及び処理1305による各テーブルの更新処理を具体例で説明する。図14は、論理不良クラスタ登録の更新前の各テーブルの状態を示す図であり、図15は、論理不良クラスタ登録の更新後の各テーブルの状態を示す図である。
図14に示すように、更新前のテーブルの状態から処理1303により論理不良ブロックアドレスを「1F39h」と決定した場合には、図15に示す更新後の状態に各テーブルを更新する。すなわち、制御部108は、アドレス変換テーブル109の論理ブロックアドレス「1F39h」にあった物理ブロックアドレス「1000h」と、無効ブロックテーブル110の無効値「2000h」とを交換し、論理不良クラスタテーブル112に論理不良ブロックアドレス「1F39h」を新たに書き込む。
以上の処理を行うことにより、有効論理アドレス範囲に無効な論理アドレスを設けることができる。従って、新たな不良ブロックが発生しても、無効な論理アドレスを増やすことにより、無効ブロックテーブル110の有効な物理ブロックアドレスの数を増やすことができる。この結果、本実施の形態では、不良ブロックが発生しても、ホスト機器200に通知しているメモリーカード101の有効容量を維持することができるので、新たなデータの書き込みを行うことが可能になる。
なお、上記の説明では、1個の論理ブロックの論理アドレスに1個の物理ブロックの物理アドレスを対応させたが、この例に特に限定されず、1個の論理ブロックの論理アドレスに2個以上の物理ブロックの物理アドレスを対応させてもよく、例えば、1個の論理ブロックの論理アドレスに2個又は4個の物理ブロックの物理アドレスを対応させてもよい。具体的には、1個の論理ブロックに2個の物理ブロックが対応する場合、アドレス変換テーブルは、1個の論理ブロックの論理アドレスに2個の物理ブロックの物理アドレスを対応付けて記憶し、ホスト機器200が指定した1個の論理ブロックの論理アドレスを、当該論理ブロックの論理アドレス(1個の論理ブロックアドレス)に対応付けられている2個の物理ブロックの物理アドレス(2個の物理ブロックアドレス)に変換するようにしてもよい。このように、論理ブロックに対応する物理ブロックの数等に応じて、上記の処理を適宜変更することにより、1個の論理ブロックの論理アドレスが2個以上の物理ブロックの物理アドレスに対応する場合も、本発明を上記と同様に適用することができる。
本発明は、不良ブロックが多発しても、書き込み不能とはならないユーザ利便性の高い不揮発性記憶装置を提供することができるので、不揮発性メモリを用いた不揮発性記憶装置、及び不揮発性メモリを制御する不揮発性メモリコントローラに有用である。
101 メモリーカード
102 コントローラ
103 フラッシュメモリ部
104 ホストインターフェース部
105 フラッシュメモリ制御部
106 バッファメモリ
107 ECC
108 制御部
109 アドレス変換テーブル
110 無効ブロックテーブル
111 不良ブロックテーブル
112 論理不良クラスタテーブル
501 メモリセルアレイ
502 物理ブロック
503 センスアンプ
504 書き込み・消去制御部
505 ページバッファ
506 制御回路

Claims (10)

  1. 複数の物理ブロックで構成される不揮発性メモリを制御する不揮発性メモリコントローラであって、
    外部機器からの最小論理アドレスから最大論理アドレスまでの有効論理アドレス範囲内の論理アドレスに基づいて前記物理ブロックに対するデータの書き込み及び/又は読み出しを制御する制御部と、
    前記論理アドレスに対してデータの書き込みの反映を不可とする、前記有効論理アドレス範囲内の1箇所以上の部分領域を論理不良クラスタとし、当該論理不良クラスタの論理アドレスの情報を格納する論理不良クラスタテーブルと、
    前記物理ブロックに格納されるデータの、前記有効論理アドレス範囲の論理アドレスと前記物理ブロックの物理アドレスとの対応情報を格納するアドレス変換テーブルとを備え、
    前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からのデータの書き込み命令を受けた場合、当該論理アドレスに対するデータの前記物理ブロックへの書き込みの反映を不可とし、
    前記制御部は、前記物理ブロックへのアクセス時に不良ブロックが発生し、前記外部機器からデータを書き込むことができる物理ブロックが所定値以上ないときに、前記外部機器からのアクセスを不可とする論理アドレスを決定して前記論理不良クラスタテーブルに登録し、登録した論理アドレスに対するデータの前記物理ブロックへの書き込みの反映を不可とすることを特徴とする不揮発性メモリコントローラ。
  2. 前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からデータの読み出し命令を受けた場合、所定の固定値データを出力することを特徴とする請求項1に記載の不揮発性メモリコントローラ。
  3. 前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からデータの読み出し命令を受けた場合、データの出力を行わないことを特徴とする請求項1に記載の不揮発性メモリコントローラ。
  4. 前記制御部は、前記論理不良クラスタテーブルに格納された論理アドレスに対する前記外部機器からのデータの書き込み命令を受けた場合、前記外部機器に書き込みエラーの発生を通知することを特徴とする請求項1に記載の不揮発性メモリコントローラ。
  5. 前記不揮発性メモリコントローラは、さらに、
    前記論理アドレスに対応するデータが格納されておらず、新たなデータの書き込みが可能な物理ブロックの物理アドレスを格納する無効ブロックテーブルを備え、
    前記制御部は、前記物理ブロックへのデータの書き込みの反映を不可とした論理アドレスに対応する前記アドレス変換テーブルの物理アドレスの情報を、前記無効ブロックテーブルに登録することを特徴とする請求項1に記載の不揮発性メモリコントローラ。
  6. 前記制御部は、前記外部機器からのアクセスを不可とする論理アドレスとして、有効なデータが書き込まれていない論理アドレスを選択することを特徴とする請求項5に記載の不揮発性メモリコントローラ。
  7. 前記制御部は、前記外部機器からのアクセスを不可とする論理アドレスとして、前記アドレス変換テーブルに格納されている論理アドレスの中から、有効な物理アドレスと対応しない論理アドレスを選択することを特徴とする請求項5に記載の不揮発性メモリコントローラ。
  8. 前記物理ブロックへのアクセスは、前記物理ブロックに対するデータの書き込み又は消去を含むことを特徴とする請求項5に記載の不揮発性メモリコントローラ。
  9. 請求項1から8のいずれか1項に記載の不揮発性メモリコントローラと、
    前記不揮発性メモリを有する記憶部とを備えることを特徴とする不揮発性記憶装置。
  10. 前記不揮発性メモリは、フラッシュメモリを含むことを特徴とする請求項9に記載の不揮発性記憶装置。
JP2011048907A 2010-03-24 2011-03-07 不揮発性メモリコントローラ及び不揮発性記憶装置 Expired - Fee Related JP5612514B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011048907A JP5612514B2 (ja) 2010-03-24 2011-03-07 不揮発性メモリコントローラ及び不揮発性記憶装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010067595 2010-03-24
JP2010067595 2010-03-24
JP2011048907A JP5612514B2 (ja) 2010-03-24 2011-03-07 不揮発性メモリコントローラ及び不揮発性記憶装置

Publications (2)

Publication Number Publication Date
JP2011221996A JP2011221996A (ja) 2011-11-04
JP5612514B2 true JP5612514B2 (ja) 2014-10-22

Family

ID=44657647

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011048907A Expired - Fee Related JP5612514B2 (ja) 2010-03-24 2011-03-07 不揮発性メモリコントローラ及び不揮発性記憶装置

Country Status (2)

Country Link
US (1) US8484409B2 (ja)
JP (1) JP5612514B2 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013171343A (ja) * 2012-02-17 2013-09-02 Toshiba Corp ストレージデバイス
US9128822B2 (en) 2012-06-22 2015-09-08 Winbond Electronics Corporation On-chip bad block management for NAND flash memory
US9201784B2 (en) 2012-09-07 2015-12-01 Kabushiki Kaisha Toshiba Semiconductor storage device and method for controlling nonvolatile semiconductor memory
CN103871447B (zh) * 2012-12-14 2017-03-01 华邦电子股份有限公司 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
US9324450B2 (en) 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US20140289454A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Storage device and controller
KR20140124547A (ko) * 2013-04-17 2014-10-27 에스케이하이닉스 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
KR102254392B1 (ko) 2014-05-12 2021-05-25 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템
US9959203B2 (en) * 2014-06-23 2018-05-01 Google Llc Managing storage devices
US9442798B2 (en) 2014-07-31 2016-09-13 Winbond Electronics Corporation NAND flash memory having an enhanced buffer read capability and method of operation thereof
US9367392B2 (en) 2014-08-01 2016-06-14 Winbond Electronics Corporation NAND flash memory having internal ECC processing and method of operation thereof
DE112016000926T5 (de) 2015-02-26 2017-11-09 Semiconductor Energy Laboratory Co., Ltd. Speichersystem und Informationsverarbeitungssystem
US9589611B2 (en) 2015-04-01 2017-03-07 Semiconductor Energy Laboratory Co., Ltd. Memory device, semiconductor device, and electronic device
JP6901831B2 (ja) 2015-05-26 2021-07-14 株式会社半導体エネルギー研究所 メモリシステム、及び情報処理システム
US10540102B2 (en) 2016-09-30 2020-01-21 Amazon Technologies, Inc. Physical media aware spacially coupled journaling and replay
US10613973B1 (en) * 2016-12-28 2020-04-07 Amazon Technologies, Inc. Garbage collection in solid state drives
JP7074453B2 (ja) * 2017-10-30 2022-05-24 キオクシア株式会社 メモリシステムおよび制御方法
US10628076B1 (en) 2018-10-01 2020-04-21 Micron Technology, Inc. Data erasure in memory sub-systems
US11323275B2 (en) 2019-03-25 2022-05-03 Micron Technology, Inc. Verification of identity using a secret key
US11218330B2 (en) * 2019-03-25 2022-01-04 Micron Technology, Inc. Generating an identity for a computing device using a physical unclonable function
US11233650B2 (en) 2019-03-25 2022-01-25 Micron Technology, Inc. Verifying identity of a vehicle entering a trust zone
US11361660B2 (en) 2019-03-25 2022-06-14 Micron Technology, Inc. Verifying identity of an emergency vehicle during operation

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3151985B2 (ja) 1993-01-06 2001-04-03 日本電気株式会社 光磁気ディスク制御装置
JP2001056777A (ja) * 1999-08-18 2001-02-27 Toshiba Video Products Japan Kk デジタルデータ記録再生装置
US7111190B2 (en) * 2001-02-23 2006-09-19 Intel Corporation Method and apparatus for reconfigurable memory
JP4323707B2 (ja) 2000-10-25 2009-09-02 富士通マイクロエレクトロニクス株式会社 フラッシュメモリの欠陥管理方法
JP2002197890A (ja) 2000-12-26 2002-07-12 Mitsubishi Electric Corp 不揮発性半導体メモリ
JP3979826B2 (ja) * 2001-11-14 2007-09-19 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリの制御方法
JP2005293363A (ja) * 2004-04-01 2005-10-20 Toshiba Corp ディスクアレイコントローラおよび情報処理装置
US20080250509A1 (en) * 2007-04-04 2008-10-09 Nokia Corporation Write Protection For Memory Devices
US7991942B2 (en) * 2007-05-09 2011-08-02 Stmicroelectronics S.R.L. Memory block compaction method, circuit, and system in storage devices based on flash memories
TWI426528B (zh) * 2009-09-30 2014-02-11 Phison Electronics Corp 用於快閃記憶體的區塊管理方法、控制器與儲存系統

Also Published As

Publication number Publication date
US20110238898A1 (en) 2011-09-29
US8484409B2 (en) 2013-07-09
JP2011221996A (ja) 2011-11-04

Similar Documents

Publication Publication Date Title
JP5612514B2 (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
US8037232B2 (en) Data protection method for power failure and controller using the same
US8046526B2 (en) Wear leveling method and controller using the same
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
US8621139B2 (en) Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same
US8131911B2 (en) Data writing method, and flash storage system and controller using the same
US8103820B2 (en) Wear leveling method and controller using the same
US7529879B2 (en) Incremental merge methods and memory systems using the same
US9280460B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
US7649794B2 (en) Wear leveling method and controller using the same
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
TWI668573B (zh) 用於在突然斷電時降低功率消耗之資料儲存方法和資料儲存設備
JP5300496B2 (ja) 半導体記憶装置、ホスト機器及び半導体記憶システム
JP2009037317A (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置並びに不揮発性記憶システム
US9778862B2 (en) Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus
US20090210612A1 (en) Memory controller, nonvolatile memory device, and nonvolatile memory system
JP4829202B2 (ja) 記憶装置及びメモリ制御方法
JP5494086B2 (ja) 不揮発性記憶装置および不揮発性メモリコントローラ
JP2012521032A (ja) Ssdコントローラおよびssdコントローラの動作方法
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN112394883A (zh) 数据整并方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131211

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140904

R151 Written notification of patent or utility model registration

Ref document number: 5612514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees