JP4946102B2 - 不揮発性メモリシステムおよび不揮発性メモリの管理方法 - Google Patents

不揮発性メモリシステムおよび不揮発性メモリの管理方法 Download PDF

Info

Publication number
JP4946102B2
JP4946102B2 JP2006066623A JP2006066623A JP4946102B2 JP 4946102 B2 JP4946102 B2 JP 4946102B2 JP 2006066623 A JP2006066623 A JP 2006066623A JP 2006066623 A JP2006066623 A JP 2006066623A JP 4946102 B2 JP4946102 B2 JP 4946102B2
Authority
JP
Japan
Prior art keywords
address
block
memory
defective
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
JP2006066623A
Other languages
English (en)
Other versions
JP2007241896A (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 JP2006066623A priority Critical patent/JP4946102B2/ja
Priority to US11/713,725 priority patent/US7783825B2/en
Priority to KR1020070023498A priority patent/KR20070092668A/ko
Priority to CNB2007100855635A priority patent/CN100524248C/zh
Publication of JP2007241896A publication Critical patent/JP2007241896A/ja
Application granted granted Critical
Publication of JP4946102B2 publication Critical patent/JP4946102B2/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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups

Description

本発明は、コントローラとフラッシュメモリ等の不揮発性メモリにより構成される不揮発性メモリシステムおよび不揮発性メモリの管理方法に関するものである。
通常、複数のメモリバンクを持つ不揮発メモリシステムのアドレス管理において、各メモリバンクを独立して管理する方法と、複数のバンクをまとめて管理する方法(たとえば特許文献1参照)が知られている。
USP6,757,800
各メモリバンクを独立して管理する方法では、メモリバンク数が増えるとそれに比例してアドレス管理に必要なテーブルサイズが増加するため、必要なRAMサイズが増大したり、一度に全ての情報をRAMに置くことができないなどの問題があり、コスト増やパフォーマンス低下の原因となっていた。
一方、複数のバンクをまとめて管理する方法(USP6、757、800など)では、テーブルサイズの増加は抑えられる。
しかしながら、まとめた範囲内で各メモリバンクの同一アドレスのブロックを等しく扱うために、図1のようにどれか一つのブロックに不良が発生して使用不可となると、同じアドレスを持つ全てのメモリバンクのブロックを使用不可としなければならず、見かけ上の不良ブロック数が実際の不良ブロック数のメモリバンク数倍にも増加するという不利益があった。
本発明は、複数のバンクをまとめて管理する方法を取りながらバンクごとに不良ブロックの代替処理を行うことで、アドレス管理に必要なテーブルサイズを小さく保ちつつ、見かけ上の不良ブロック数を実際の不良ブロック数から大きく増大させることのない不揮発性メモリシステムおよび不揮発性メモリの管理方法を提供することにある。
本発明の第1の観点の不揮発性メモリシステムは、複数のバンクを含む不揮発性メモリと、アドレス変換テーブルの管理情報に基づいて上記不揮発性メモリを管理するコントローラと、を有し、上記不揮発性メモリの各バンクは、バンク内アドレスが割り当てられた複数のメモリブロックを含み、上記コントローラの上記アドレス変換テーブルは、仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割され、上記コントローラは、上記アドレス変換テーブルの管理情報に基づいて生成したアドレスに応じて各バンクにアクセス可能で、同じバンク内アドレスを持つ異なるバンクにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理する機能と、上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理する機能と、を含み、上記アドレス変換テーブルにおいて、上記基本テーブルは、上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成され、上記差分情報テーブルは、不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成され、上記コントローラは、上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
また、本発明の第1の観点の不揮発性メモリシステムは、それぞれ異なるチップに形成された複数の不揮発性メモリと、アドレス変換テーブルの管理情報に基づいて上記不揮発性メモリを管理するコントローラと、を有し、上記各不揮発性メモリは、チップ内アドレスが割り当てられた複数のメモリブロックを含み、上記コントローラの上記アドレス変換テーブルは、仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割され、上記コントローラは、上記アドレス変換テーブルの管理情報に基づいて生成したアドレスに応じて各チップにアクセス可能で、同じチップ内アドレスを持つ異なるチップにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理する機能と、上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理する機能と、を含み、上記アドレス変換テーブルにおいて、上記基本テーブルは、上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成され、上記差分情報テーブルは、上記差分情報テーブルは、不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成され、上記コントローラは、上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
好適には、記コントローラは、上記論物変換テーブル上で上記フラグをたてた上記仮想ブロックアドレスに、アクセスアドレス交換を行う物理アドレスフィールドに対応する変換テーブルのインデックスを付加する
好適には、記コントローラは、対応するメモリブロックに一つ以上の不良が発生した仮想ブロックにおいては、実際に不良として扱う仮想ブロックと不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
好適には、上記コントローラは、対応するメモリブロックに不良が発生していない仮想ブロックを不良として扱う仮想ブロックとし、対応するメモリブロックに一つ以上の不良が発生した仮想ブロックを不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
好適には、上記コントローラは、不良でないブロックと不良ブロックの交換を、バンクまたはチップ内、あるいは、バンクまたはチップを跨いで行う
本発明の第2の観点は、バンク内アドレスが割り当てられた複数のメモリブロックを含む複数のバンクを有する不揮発性メモリへのアクセスをアドレス変換テーブルの管理情報に基づいて管理する不揮発性メモリの管理方法であって、上記アドレス変換テーブルを、仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割し、同じバンク内アドレスを持つ異なるバンクにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理するとともに、上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理し、上記アドレス変換テーブルにおいて、上記基本テーブルを、上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成し、上記差分情報テーブルを、不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成し、上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
本発明の第2の観点は、それぞれ異なるチップに形成され、チップ内アドレスが割り当てられた複数のメモリブロックを含む複数の不揮発性メモリへのアクセスをアドレス変換テーブルの管理情報に基づいて管理する不揮発性メモリの管理方法であって、上記アドレス変換テーブルを、仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割し、同じチップ内アドレスを持つ異なるチップにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてチップ間でまとめて管理するとともに、上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理し、上記アドレス変換テーブルにおいて、上記基本テーブルを、上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成し、上記差分情報テーブルを、不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成し、上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
本発明によれば、管理テーブルサイズを小さく維持したまま細かな管理を行うことが可能になる。
たとえば、見かけ上の不良ブロック数を大幅に減少させることが可能になり、ブロックの利用効率が大幅に改善される。利用効率が改善されることにより実効容量が増加し、システムの低コスト化に繋がる。
また、管理テーブルサイズを小さく維持したまま利用効率を落とさずに管理対象とするブロック数を増加させることが可能になり、大容量の不揮発メモリシステム構築が可能になる。
以下、本発明の実施形態を添付図面に関連付けて説明する。
図2は、本発明の実施形態に係る不揮発性メモリシステムの構成例を示すブロック図である。
本不揮発性メモリシステム1は、図2に示すように、複数のメモリバンク2−1〜2−n(図2の例ではn=4)を有する不揮発性メモリユニット(以下、単にメモリユニットという場合もある)2と、図示しないホストからの要求に応じてメモリユニット2へのアクセスを制御するコントローラ3により構成されている。
各メモリバンク2−1(A),2−2(B),2−3(C),2−4(D)は、それぞれ同様の構成を有し、メモリセルアレイ21(−1〜−4)、アドレスデコーダ22(−1〜−4)、およびページバッファ23(−1〜−4)を含んで構成されている。
メモリセルアレイ21は、たとえばNAND型フラッシュメモリセルアレイにより形成される。
メモリバンク2−1のアドレスデコーダ22−1はアドレス線ADRL1によりコントローラ3と接続されている。同様に、メモリバンク2−2のアドレスデコーダ22−2はアドレス線ADRL2によりコントローラ3と接続され、メモリバンク2−3のアドレスデコーダ22−3はアドレス線ADRL3によりコントローラ3と接続され、メモリバンク2−4のアドレスデコーダ22−4はアドレス線ADRL4によりコントローラ3と接続されている。
メモリバンク2−1のページバッファ23−1はデータ線DTL1によりコントローラ3と接続されている。同様に、メモリバンク2−2のページバッファ23−2はデータ線DTL2によりコントローラ3と接続され、メモリバンク2−3のページバッファ23−3はデータ線DTL3によりコントローラ3と接続され、メモリバンク2−4のページバッファ23−4はデータ線DTL4によりコントローラ3と接続されている。
各メモリバンク2−1〜2−4は、アドレス線ADRL1〜ADRL4を通して受け取ったアドレスを用いて不揮発メモリのセルアレイ21−1〜21−4にアクセスを行い、コントローラ3から受け取ったデータを該当する箇所に書き込んだり、該当する箇所から読み出したデータをコントローラ3に送出したりする。
図2では、コントローラ3がアドレスを送出するアドレス線と、コントローラ3との間でデータをやり取りするデータ線が別になっているが、通常のNANDフラッシュメモリのようにマルチプレクスして同じ線を共有しても良い。この場合はコントローラとメモリユニットの間の信号線数が削減できるというメリットがある。
また、バンク選択の方法を別途用いることで、信号線を複数のバンク間で共有することもできる。
図3は、図2のメモリユニット2のメモリ領域を概念的に示す図である。
メモリユニット2は、図3に示すように、各メモリバンク(以下、単にバンクという場合もある)2−1〜2−4は複数のメモリブロックBLK1〜BLKmを有する。
そして、各メモリバンク2−1〜2−4の同じメモリバンク内アドレスにあるブロックをまとめた複数のブロック(束ねた複数ブロック)により仮想ブロックVBLK(1〜m)が形成されている。
この仮想ブロックVBLKは、後述するように、コントローラ3において管理単位として扱われる。
ここで、メモリバンクは複数のメモリブロックを持つ互いに同じ構造のものであれば何でも良く、それぞれ別のチップであっても、同じチップの中の別の領域であっても良い。
コントローラ3は、管理情報に基づいて不揮発性メモリユニット2を管理する。コントローラ3の管理情報は、複数のブロックに束ねて管理する基本テーブルと、ブロック間の差分情報とに分割される。そして、コントローラ3は、複数のブロックを基本テーブルで束ねて管理し、束ねられた範囲で異なる部分を差分情報を用いて管理する。
コントローラ3は、束ねられたブロックのうち1つ以上のブロックを差分情報により他のブロックと代替する。
本実施形態においては、上述したように、不揮発性メモリユニット2は、複数のメモリバンク2−1〜2−4を有し、コントローラ3はアドレスに基づいて各メモリバンク2−1〜2−4ごとにアクセス可能で、同じバンク内アドレスを持つ異なるバンクにおける複数のブロックを仮想ブロックVBLKとしてバンク間で束ねる。
コントローラ3は、図2に示すように、アドレス生成部31、アドレス変換テーブル32、およびデータ処理部33を有する。
アドレス生成部31は、アドレス変換テーブル32の管理情報に基づいて不揮発性メモリユニット2にアクセスするためのアドレスを生成し、生成したアドレスをアドレス線ADRL1〜ADRL4を介して各メモリバンク2−1〜2−4に転送する。アドレス生成部31は、複数のメモリバンクに対して異なるアドレスを送出することができる。
各メモリバンク2−1〜2−4は、受け取ったアドレスを用いて不揮発メモリのセルアレイにアクセスを行い、コントローラ3から受け取ったデータを該当する箇所に書き込んだり、該当する箇所から読み出したデータをコントローラ3に送出したりする。
データ処理部33は、ホストからから受け取ったデータを不揮発性メモリユニット2のアドレス指定されたメモリバンク2−1〜2−4の該当する箇所に書き込むためにデータ線DTL1〜DTL4に送出し、また、該当する箇所から読み出したデータをホスト側に送出したりする。
アドレス変換テーブル32は、管理情報が複数のブロックに束ねて管理する基本テーブルと、ブロック間の差分情報とに分割されている。
以下に、本実施形態のコントローラ3の構成および管理情報に基づく制御機能について具体的に説明する。
本実施形態に係るコントローラ3の特徴は、図4に示すように、そのまま保持するとサイズが大きくなってしまう不揮発メモリの管理情報を、図5に示すように、複数ブロック/バンクを束ねて管理する基本テーブル321とブロック/バンク間の差分情報テーブル322とに分割することでサイズを小さくすることである。
たとえば、複数のバンクがある不揮発メモリユニット2を、管理情報サイズを小さくするために単純にバンクを束ねて管理すると不良ブロックが見かけ上増えてしまうが、差分情報を用いてバンクごとに不良ブロックと良ブロックの置き換えをすることで、管理情報サイズを抑えたまま見かけ上の不良ブロックサイズを増やさないという効果がある。
図6は、本実施形態において論理アドレスLAから仮想ブロックアドレスVBAへの変換および、仮想ブロックアドレスVBAから各メモリバンク2−1〜2−4へのアクセス時に使用するアドレスへの変換の様子を示したものである。
通常の、対応するメモリブロックBLKに不良が発生していない仮想ブロックVBLKにおいては、仮想ブロックVBLKのアドレスにバンクを表す識別子を加えてメモリアクセスを行う。
ここで、バンクを表す識別子とはバンクアドレスやチップセレクト信号、チャネル番号などバンクを表すものであれば何でも良い。
一方、対応するメモリブロックBLKに一つ以上の不良が発生した仮想ブロックVBLKにおいては、実際に不良として扱う仮想ブロックVBLK−Nと不良としない仮想ブロックVBLK−Gに分け、不良として扱う仮想ブロックの不良でないブロック(AfffやDfff)と不良としない仮想ブロックの不良ブロック(AgggやDhhh)を同じバンク内で交換する。
これにより、不良としない仮想ブロックVBLK−Gは対応するブロックが全て不良でないブロックとなるので、それらのアドレスを用いてメモリアクセスを行う。
なお、対応するメモリブロックに不良が発生していない仮想ブロックを不良として扱うことも可能である。この場合、あらかじめ決められた仮想ブロックを不良とすることが可能になる。
また、不良でないブロックと不良ブロックの交換をバンクを跨いで行うことも可能である。この場合、バンク間で不良ブロック数に偏りがある場合でも均等に不良ブロックが発生したのと同じ取り扱いが可能になる。
図7、図8、および図9は不良ブロックと不良でないブロックの交換の対応を表すテーブルを示したものである。
図7は、全仮想ブロックアドレスに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。
不良ブロックのない仮想ブロックVBLK−G、たとえば仮想ブロックアドレス000hでは対応する各バンクのアクセスアドレスは全て同じ000hとなる。
不良ブロックのある仮想ブロックVBLK−Nについては、仮想ブロックアドレスfffに対応するバンクAのアクセスアドレスをggg、バンクDのアクセスアドレスをhhhとして、それぞれ仮想ブロックアドレスgggおよびhhhの対応するエントリと入れ替える。
これにより、仮想ブロックアドレスgggおよびhhhには不良でないブロックのアクセスアドレスが割り当てられ、不良でない仮想ブロックとして扱うことができる。仮想ブロックアドレスfffは不良として使用禁止とする。
図8は、ブロックの交換が発生する仮想ブロックアドレスと、それに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。
不良ブロックは発生数に限りがあるため、全仮想ブロックについてテーブルを持つ必要はなく、交換の発生する仮想ブロックアドレスについてのみでも良い。
この場合、アドレス生成部31がある仮想ブロックアドレスVBAについて、このテーブルの仮想アドレスの列にそのアドレスが含まれるかどうかを判断して、含まれる場合にはアクセスアドレス交換を行う必要がある。
図9は、不良として扱う仮想ブロックアドレスと、それに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。
アドレス交換をする際は不良として扱う仮想ブロックと不良としない仮想ブロックの間での交換となるため、不良として扱う仮想ブロックについてのみテーブルをもつことも可能である。
この場合、ある仮想ブロックアドレスについて、各バンクのアクセスアドレスの中にそのアドレスが含まれるかどうかを判断して、含まれる場合にはアクセスアドレス交換を行う必要がある。
図10および図11は、論理アドレス-物理アドレス(=仮想ブロックアドレス)変換を行うシステムにおいて、アクセスアドレス交換を行う仮想ブロックアドレスに論物テーブル上でマークすることで変換の有無を表す様子を示したものである。
図10は、論物テーブルの物理アドレスフィールドに1ビット(bit)のフラグを設けた例を示す図である。
このフラグFLGが「0」の物理アドレスでは、アドレスをそのまま各バンクのアクセスアドレスとして用い、このフラグが「1」の物理アドレスでは図8や図9のようなテーブルを用いてアクセスアドレス交換を行う。
図11は、論物テーブルのアクセスアドレス交換を行う物理アドレスフィールドに対応するテーブルのインデックスを追加した例を示す図である。
アクセスアドレス交換を行う物理アドレスにおいて、このフィールドに示されたインデックスIDXを用いて対応するテーブルを参照することで、交換すべきアクセスアドレスを得ることが可能となる。
図12は、本実施形態に係る差分情報を用いた不良ブロックの代替処理の一例を説明するための図である。
図12に示す例は、不揮発メモリ上に不良ブロックがあったときにそのブロックをスキップして、以降のアドレスへのアクセスに対してアドレスをシフトすることで不良ブロックの代替処理を行うこととし、そのための情報を差分情報として保持するものである。
図13は、図12に示す不良ブロックの代替処理における差分情報の例を示す図である。
図13の例においては、差分情報322は各バンクの不良ブロックのアドレスを小さな順に並べたリストとなっている。
リストの最後はEOL(End Of List)を示すものであり、該当バンクの最大アドレスより大きな値を使用するものでも良い。
図14は、この差分情報を用いた場合のアドレス変換フローを示す図である。
図14のアドレス変換処理は、現在のバンクをA、基本テーブル321で得られたブロックアドレスをM、不良ブロックリストの該当バンクの先頭をポインタPとする(ST1〜ST3)。
そして、ポインタPの示す位置の内容が基本テーブル321で得られたブロックアドレスMより大きいか否かの判別を行う(ST4)。
ステップST4において、ポインタPの示す位置の内容が基本テーブル321で得られたブロックアドレスMより大きくないと判別すると、Mに1を加え、Pを1つ進め(ST5)、ステップST4の判別処理を再び行う。
一方、ステップST4において、ポインタPの示す位置の内容が基本テーブル321で得られたブロックアドレスMより大きいと判別すると、該当バンクで実際にアクセスするアドレスをMとする(ST6)。
次に、現在のバンクが最終バンクであるか否かを判別する(ST7)。
ステップST7において、現在のバンクが最終バンクでないと判別すると、現在のバンクを次のバンクとしてステップST2からの処理に移行する。
ステップST7において、現在のバンクが最終バンクであると判別すると、処理を終了する。
上記処理を要約すると、基本テーブル321において得られた各バンク共通のブロックアドレスに対して、差分情報として持っている不良ブロックのリストと比較しながら必要な数だけアドレスをインクリメントして、バンクごとに実際にアクセスする時のアドレスを作成する。
これにより、不良ブロックをスキップしてアドレスをシフトする操作が行える。
以上説明したように、本実施形態によれば、管理情報に基づいて不揮発性メモリユニット2を管理するコントローラ3を有し、コントローラ3の管理情報は、複数のブロックに束ねて管理する基本テーブルと、ブロック間の差分情報とに分割され、コントローラ3は、複数のブロックを基本テーブルで束ねて管理し、束ねられた範囲で異なる部分を差分情報を用いて管理することから、以下の効果を得ることができる。
不揮発性メモリを用いたシステムにおいてアドレス管理方式の大幅な改良により、管理テーブルサイズを小さく維持したまま細かな管理を行うことが可能になる。
たとえば、見かけ上の不良ブロック数を大幅に減少させることが可能になり、ブロックの利用効率が大幅に改善される。利用効率が改善されることにより実効容量が増加し、システムの低コスト化に繋がる。
また、管理テーブルサイズを小さく維持したまま利用効率を落とさずに管理対象とするブロック数を増加させることが可能になり、大容量の不揮発メモリシステム構築が可能になる。
課題を説明するための図である。 本発明の実施形態に係る不揮発性メモリシステムの構成例を示すブロック図である。 図2のメモリユニットのメモリ領域を概念的に示す図である。 一般的なフラッシュ管理テーブルの例を示す図である。 本実施形態に係る管理情報が基本テーブルと差分情報テーブルを含むことを説明するための図である。 本実施形態において論理アドレスから仮想ブロックアドレスへの変換および、仮想ブロックアドレスから各メモリバンクへのアクセス時に使用するアドレスへの変換の様子を示す図である。 全仮想ブロックアドレスに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。 ブロックの交換が発生する仮想ブロックアドレスと、それに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。 不良として扱う仮想ブロックアドレスと、それに対応した各バンクのアクセスアドレスを内容とした物物(物理−物理)アドレス変換テーブルを示す図である。 論物テーブルの物理アドレスフィールドに1ビット(bit)のフラグを設けた例を示す図である。 論物テーブルのアクセスアドレス交換を行う物理アドレスフィールドに対応するテーブルのインデックスを追加した例を示す図である。 本実施形態に係る差分情報を用いた不良ブロックの代替処理の一例を説明するための図である。 図12に示す不良ブロックの代替処理における差分情報の例を示す図である。 差分情報を用いた場合のアドレス変換フローを示す図である。
符号の説明
1・・・不揮発性メモリシステム、2・・・メモリユニット、2−1〜2−n・・・メモリバンク、21(−1〜−4)・・・メモリセルアレイ、22(−1〜−4)・・・アドレスデコーダ、23(−1〜−4)・・・ページバッファ、3・・・コントローラ、31・・・アドレス生成部、32・・・アドレス変換テーブル、321・・・基本テーブル、322・・・差分情報テーブル、33・・・データ処理部。

Claims (12)

  1. 複数のバンクを含む不揮発性メモリと、
    アドレス変換テーブルの管理情報に基づいて上記不揮発性メモリを管理するコントローラと、を有し、
    上記不揮発性メモリの各バンクは、
    バンク内アドレスが割り当てられた複数のメモリブロックを含み、
    上記コントローラの上記アドレス変換テーブルは、
    仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割され、
    上記コントローラは、
    上記アドレス変換テーブルの管理情報に基づいて生成したアドレスに応じて各バンクにアクセス可能で、
    同じバンク内アドレスを持つ異なるバンクにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理する機能と、
    上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理する機能と、を含み、
    上記アドレス変換テーブルにおいて、
    上記基本テーブルは、
    上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成され、
    上記差分情報テーブルは、
    不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成され、
    上記コントローラは、
    上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
    不揮発性メモリシステム。
  2. それぞれ異なるチップに形成された複数の不揮発性メモリと、
    アドレス変換テーブルの管理情報に基づいて上記不揮発性メモリを管理するコントローラと、を有し、
    上記各不揮発性メモリは、
    チップ内アドレスが割り当てられた複数のメモリブロックを含み、
    上記コントローラの上記アドレス変換テーブルは、
    仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割され、
    上記コントローラは、
    上記アドレス変換テーブルの管理情報に基づいて生成したアドレスに応じて各チップにアクセス可能で、
    同じチップ内アドレスを持つ異なるチップにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理する機能と、
    上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理する機能と、を含み、
    上記アドレス変換テーブルにおいて、
    上記基本テーブルは、
    上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成され、
    上記差分情報テーブルは、
    不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成され、
    上記コントローラは、
    上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
    不揮発性メモリシステム。
  3. 記コントローラは、
    上記論物変換テーブル上で上記フラグをたてた上記仮想ブロックアドレスに、アクセスアドレス交換を行う物理アドレスフィールドに対応する変換テーブルのインデックスを付加する
    請求項1または2記載の不揮発性メモリシステム。
  4. 記コントローラは、
    対応するメモリブロックに一つ以上の不良が発生した仮想ブロックにおいては、実際に不良として扱う仮想ブロックと不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
    請求項1から3のいずれか一に記載の不揮発性メモリシステム。
  5. 上記コントローラは、
    対応するメモリブロックに不良が発生していない仮想ブロックを不良として扱う仮想ブロックとし、対応するメモリブロックに一つ以上の不良が発生した仮想ブロックを不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
    請求項1から3のいずれか一に記載の不揮発性メモリシステム。
  6. 上記コントローラは、
    不良でないブロックと不良ブロックの交換を、バンクまたはチップ内、あるいは、バンクまたはチップを跨いで行う
    請求項1から5のいずれか一に記載の不揮発性メモリシステム。
  7. バンク内アドレスが割り当てられた複数のメモリブロックを含む複数のバンクを有する不揮発性メモリへのアクセスをアドレス変換テーブルの管理情報に基づいて管理する不揮発性メモリの管理方法であって、
    上記アドレス変換テーブルを、
    仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割し、
    同じバンク内アドレスを持つ異なるバンクにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてバンク間でまとめて管理するとともに、
    上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理し、
    上記アドレス変換テーブルにおいて、
    上記基本テーブルを、
    上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成し、
    上記差分情報テーブルを、
    不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成し、
    上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
    不揮発性メモリの管理方法
  8. それぞれ異なるチップに形成され、チップ内アドレスが割り当てられた複数のメモリブロックを含む複数の不揮発性メモリへのアクセスをアドレス変換テーブルの管理情報に基づいて管理する不揮発性メモリの管理方法であって、
    上記アドレス変換テーブルを、
    仮想ブロックを管理するための基本テーブルと、不良メモリブロックと良メモリブロックの置き換えを行うための差分情報テーブルとに分割し、
    同じチップ内アドレスを持つ異なるチップにおける複数のメモリブロックを一つの上記仮想ブロックとして、上記アドレス変換テーブルの基本テーブルの情報に基づいてチップ間でまとめて管理するとともに、
    上記仮想ブロックの少なくとも1つ以上の不良メモリブロックを上記差分情報により他の仮想ブロックの良メモリブロックと置き換えを行うように管理し、
    上記アドレス変換テーブルにおいて、
    上記基本テーブルを、
    上記仮想ブロックの論理アドレスを物理アドレスに変換する論理アドレス−物理アドレス(論物)変換テーブルにより形成し、
    上記差分情報テーブルを、
    不良メモリブロックの物理アドレスと良メモリブロックの物理アドレスの変換を行う物理アドレス−物理アドレス(物物)変換テーブルにより形成し、
    上記論物変換テーブル上でメモリブロックの置き換えのための上記物物変換の対象となる仮想ブロックアドレスにフラグをたてる
    不揮発性メモリの管理方法
  9. 上記論物変換テーブル上で上記フラグをたてた上記仮想ブロックアドレスに、アクセスアドレス交換を行う物理アドレスフィールドに対応する変換テーブルのインデックスを付加する
    請求項7または8記載の不揮発性メモリの管理方法
  10. 対応するメモリブロックに一つ以上の不良が発生した仮想ブロックにおいては、実際に不良として扱う仮想ブロックと不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
    請求項7から9のいずれか一に記載の不揮発性メモリの管理方法
  11. 対応するメモリブロックに不良が発生していない仮想ブロックを不良として扱う仮想ブロックとし、対応するメモリブロックに一つ以上の不良が発生した仮想ブロックを不良としない仮想ブロックに分け、不良として扱う仮想ブロックの不良でないメモリブロックと不良としない仮想ブロックの不良メモリブロックを交換する
    請求項7から9のいずれか一に記載の不揮発性メモリの管理方法
  12. 不良でないブロックと不良ブロックの交換を、バンクまたはチップ内、あるいは、バンクまたはチップを跨いで行う
    請求項7から11のいずれか一に記載の不揮発性メモリの管理方法。
JP2006066623A 2006-03-10 2006-03-10 不揮発性メモリシステムおよび不揮発性メモリの管理方法 Expired - Fee Related JP4946102B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006066623A JP4946102B2 (ja) 2006-03-10 2006-03-10 不揮発性メモリシステムおよび不揮発性メモリの管理方法
US11/713,725 US7783825B2 (en) 2006-03-10 2007-03-05 Nonvolatile memory system and management method for nonvolatile memory
KR1020070023498A KR20070092668A (ko) 2006-03-10 2007-03-09 비휘발성 메모리 시스템 및 비휘발성 메모리의 관리 방법
CNB2007100855635A CN100524248C (zh) 2006-03-10 2007-03-12 非易失存储系统和非易失存储器的管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006066623A JP4946102B2 (ja) 2006-03-10 2006-03-10 不揮発性メモリシステムおよび不揮発性メモリの管理方法

Publications (2)

Publication Number Publication Date
JP2007241896A JP2007241896A (ja) 2007-09-20
JP4946102B2 true JP4946102B2 (ja) 2012-06-06

Family

ID=38480269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006066623A Expired - Fee Related JP4946102B2 (ja) 2006-03-10 2006-03-10 不揮発性メモリシステムおよび不揮発性メモリの管理方法

Country Status (4)

Country Link
US (1) US7783825B2 (ja)
JP (1) JP4946102B2 (ja)
KR (1) KR20070092668A (ja)
CN (1) CN100524248C (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009013877A1 (ja) * 2007-07-20 2009-01-29 Panasonic Corporation メモリコントローラ、メモリカード、不揮発性メモリシステム
US8144517B2 (en) 2008-02-22 2012-03-27 Samsung Electronics Co., Ltd. Multilayered nonvolatile memory with adaptive control
US8214579B2 (en) 2008-09-30 2012-07-03 Tdk Corporation Memory controller, flash memory system with memory controller, and method of controlling flash memory
JP4632180B2 (ja) 2008-10-15 2011-02-16 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2010092200A (ja) * 2008-10-07 2010-04-22 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4582232B2 (ja) 2008-09-30 2010-11-17 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4720891B2 (ja) * 2008-09-30 2011-07-13 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4762323B2 (ja) 2009-03-03 2011-08-31 富士通株式会社 アクセス制御装置、情報処理装置、アクセス制御プログラム及びアクセス制御方法
KR20120134919A (ko) 2011-06-03 2012-12-12 삼성전자주식회사 메모리 장치
US8799598B2 (en) * 2012-02-17 2014-08-05 Spansion Llc Redundancy loading efficiency
TWI489272B (zh) * 2012-04-03 2015-06-21 Phison Electronics Corp 保護資料的方法、記憶體控制器與記憶體儲存裝置
KR102264757B1 (ko) * 2014-11-11 2021-06-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6693181B2 (ja) 2016-03-09 2020-05-13 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
KR20190006314A (ko) * 2017-07-10 2019-01-18 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
JP7385113B2 (ja) 2019-10-21 2023-11-22 株式会社バッファロー 半導体メモリ装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6757800B1 (en) 1995-07-31 2004-06-29 Lexar Media, Inc. Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices
JP2000099408A (ja) * 1998-09-24 2000-04-07 Nec Corp Feepromデイスク管理システム及びその管理方法並びにその制御プログラムを記録した記録媒体
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
JP4248164B2 (ja) * 2001-06-14 2009-04-02 株式会社東芝 ディスクアレイのエラー回復方法、ディスクアレイ制御装置及びディスクアレイ装置
KR100572328B1 (ko) * 2004-07-16 2006-04-18 삼성전자주식회사 배드 블록 관리부를 포함하는 플래시 메모리 시스템
JP4982971B2 (ja) * 2004-09-29 2012-07-25 ソニー株式会社 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム

Also Published As

Publication number Publication date
CN100524248C (zh) 2009-08-05
JP2007241896A (ja) 2007-09-20
US20070214310A1 (en) 2007-09-13
KR20070092668A (ko) 2007-09-13
CN101034372A (zh) 2007-09-12
US7783825B2 (en) 2010-08-24

Similar Documents

Publication Publication Date Title
JP4946102B2 (ja) 不揮発性メモリシステムおよび不揮発性メモリの管理方法
TWI700586B (zh) 計算機系統及儲存裝置之控制方法
US9405485B2 (en) Method and apparatus for writing data to a flash memory
US7363420B2 (en) Method and file structures for managing data on a flash disk
US7962685B2 (en) Portable data storage device incorporating multiple flash memory units
TWI484334B (zh) 非揮發記憶體的區域式管理方法
KR20140124537A (ko) 스토리지 시스템 및 스토리지 시스템의 쓰기 데이터 처리 방법
KR20070046864A (ko) 플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템
JP2012033002A (ja) メモリ管理装置およびメモリ管理方法
KR101543246B1 (ko) 데이터 저장 장치의 동작 방법 및 이에 따른 데이터 저장 장치
TWI473100B (zh) Flash memory system and its operation method
CN101064191A (zh) 闪存装置和闪存的访问方法
JP2008527581A (ja) 論理ブロックアドレスをフラッシュメモリにある実ブロックアドレスに変換する方法
KR20150142583A (ko) 플래시 저장 장치의 어드레스 매핑 테이블 정리 방법
KR101061483B1 (ko) 메모리 회로 및 메모리 회로의 엑세스 방법, 메모리 관리 시스템 및 메모리 관리방법
CN114527931A (zh) 存储器系统
US11347637B2 (en) Memory system and non-transitory computer readable recording medium
US7649774B2 (en) Method of controlling memory system
JP6100927B2 (ja) 情報処理装置
CN101692211B (zh) 一种Flash数据管理方法
JP2007094765A (ja) メモリシステム
KR20090106221A (ko) 병렬 구조를 가지는 플래시 메모리 시스템 및 그 데이터기록방법 및 플래시 메모리
WO2016056290A1 (ja) メモリコントローラ、メモリシステム、記憶装置、情報処理システムおよび記憶制御方法
JP2007249662A (ja) メモリカード及びメモリカードの制御方法
JP4636046B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111202

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150316

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees