JPWO2009013879A1 - メモリーコントローラ、及びこれを用いた不揮発性記憶装置 - Google Patents

メモリーコントローラ、及びこれを用いた不揮発性記憶装置 Download PDF

Info

Publication number
JPWO2009013879A1
JPWO2009013879A1 JP2008551592A JP2008551592A JPWO2009013879A1 JP WO2009013879 A1 JPWO2009013879 A1 JP WO2009013879A1 JP 2008551592 A JP2008551592 A JP 2008551592A JP 2008551592 A JP2008551592 A JP 2008551592A JP WO2009013879 A1 JPWO2009013879 A1 JP WO2009013879A1
Authority
JP
Japan
Prior art keywords
page
data
physical
memory
time
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.)
Withdrawn
Application number
JP2008551592A
Other languages
English (en)
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
Publication of JPWO2009013879A1 publication Critical patent/JPWO2009013879A1/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1647Handling requests for interconnection or transfer for access to memory bus based on arbitration with interleaved bank access
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0607Interleaved addressing
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

多値メモリセルを物理ブロックに用いた第1及び第2のフラッシュメモリ(不揮発性メモリ)(3a、3b)の駆動制御を行うコントローラ(メモリーコントローラ)(2)において、複数の物理ブロック(8)に対して、これらの各物理ブロック(8)に設けられた物理ページ(9)を含んだページグループを64個設定するとともに、ページグループの境界が、第nページの物理ページ(9)の後に設けられるように、上記複数の物理ブロック(8)の物理ページ(9)をグループ化する。

Description

本発明は、フラッシュメモリ、特に2ビット以上の情報を記憶可能に構成された多値メモリセルが設けられた多値フラッシュメモリ等の不揮発性メモリの駆動制御を行うメモリーコントローラ、及びこれを用いた不揮発性記憶装置に関する。
近年、不揮発性記憶装置、例えばメモリーカードは、デジタルカメラや携帯電話に代表される携帯情報端末等の記憶媒体として使用されるようになってきており、その市場を拡大している。また、このような不揮発性記憶装置では、データを高速に書き込むために、フラッシュメモリ等の不揮発性メモリを複数設けるとともに、これら複数の不揮発性メモリに対し、インターリーブして並列にデータを書き込むことが提案されている。
具体的にいえば、従来の不揮発性記憶装置には、例えば特開平6−119128号公報に記載されているように、複数のフラッシュメモリの物理ブロックを組み合わせて、それぞれの同じ位置の物理ページを組みとしてトラックを構成する(例えば、図2参照。)。そして、この従来の不揮発性記憶装置では、トラックの順にデータを書き込むことにより、複数のフラッシュメモリに並列にデータを高速に書き込み可能なことが示されている。
また、不揮発性記憶装置では、上述の高速化以外に大容量化が要望されており、半導体プロセスでの微細化だけではなく、ひとつのメモリセルに2ビット以上の情報(データ)を記憶させる多値技術を使用した不揮発性メモリ、例えば多値メモリセルが設けられた多値フラッシュメモリも用いられるようになってきている。
具体的にいえば、従来の不揮発性記憶装置では、例えば特開2004−192789号公報に記載されているように、多値メモリセルに多値情報を書き込みための閾値電圧の割り当てについて示されている(例えば、図1参照。)。また、この従来の不揮発性記憶装置には、物理ページの書き込み動作において、第1ページに比べて第2ページでの閾値電圧の分布をより狭くして制御する必要があり、第2ページのプログラム時間が第1ページのプログラム時間よりも長くなることが記載されており(例えば、段落[0161]参照。)、メモリセルの多値化にて容量は倍になるが、書き込み時間が長くなるなどの課題が示唆されている。
また、従来の不揮発性記憶装置には、例えば特開2001−325796号公報に記載されているように、多値技術が適用された不揮発性メモリにおいて、キャッシュを使用することにより、書き込みの高速化を図ることが提案されている。また、この従来の不揮発性記憶装置では、キャッシュは下位ビットの書き込みのときに可能で、上位ビットの書き込みのときにはキャッシュを使用できないことが記載されている(例えば、図29及び段落[0115]参照。)。
ここで、図12及び図13を参照して、上記特開2004−192789号公報または特開2001−325796号公報に示されている、多値フラッシュメモリへのデータの書き込み動作について、具体的に説明する。
図12は従来の不揮発性記憶装置での多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図であり、図13は図12に示した多値フラッシュメモリへのデータの具体的な書き込み動作を示すタイミングチャートである。
図12に示すように、上記多値フラッシュメモリの物理ブロックは、それぞれページ番号0から127までの128個の物理ページからなる。また、同図12において、各ページ番号右側の枠内のデータ番号は、物理ブロックでのデータの書き込み順序を示している。すなわち、物理ブロックでは、物理ページのページ番号の順番にデータが書き込まれる。また、この物理ブロックでは、2ビットの情報を示すデータを書き込み可能な多値メモリセルが64個使用されている。具体的には、ページ番号0、1の物理ページは、ひとつの多値メモリセルによって構成されており、以降、連続する2つのページ番号がひとつの多値メモリセルに割り付けられて、128個の物理ページが64個の多値メモリセルに割り当てられている。さらに、この物理ブロックでは、各多値メモリセルの上記第1ページ及び第2ページに、連続する2つのページ番号が順次割り付けられている。つまり、例えば、ページ番号0、1の物理ページは、多値メモリセルの第1ページ及び第2ページにてそれぞれ構成されている。
そして、従来の不揮発性記憶装置では、図13に例示するように、物理ブロックの物理ページに対し、図示を省略したメモリーコントローラによってデータの書き込み動作が行われる。なお、図13では、(a)のデータ転送は多値フラッシュメモリに書き込みデータを転送する期間であり、(b)のプログラムは多値メモリセルに実際にデータをプログラムする期間である。また、(c)のビジー信号は多値フラッシュメモリへのデータ転送の可否を表しており、ハイレベル及びローレベルのときにそれぞれデータ転送が可能及びデータ転送が不可能であることを示している(後掲の図15においても、同様。)。
つまり、図13に示すように、多値フラッシュメモリでは、データ0が時点T100から時点T101までの期間に転送される。次に、データ0のプログラムが時点T101で開始される。このプログラムは多値メモリセルの第1ページへの書き込み処理であるので、多値フラッシュメモリでは、当該プログラムを行っている期間もデータ転送が許容される。それ故、従来の不揮発性記憶装置では、メモリーコントローラは、時点T101から時点T102までの期間に、データ0のプログラムとデータ1の転送とを並行して行わせる。
続いて、多値フラッシュメモリでは、データ1のプログラムが時点T102で開始される。このプログラムは多値メモリセルの第2ページへの書き込み処理であるので、多値フラッシュメモリでは、当該プログラムを行っている期間はデータ転送が許容されない。従って、従来の不揮発性記憶装置では、メモリーコントローラは、時点T102から時点T103までの期間に、後続のデータ2の転送を実行させずに、データ1のプログラムだけを行わせる。
以降、データ2、3の書き込み動作が時点T103から時点T106までの期間で同様に行われ、データ4、5の書き込み動作が時点T106から時点T109までの期間で同様に行われる。
次に、図14及び図15を参照して、従来の不揮発性記憶装置において、2つの多値フラッシュメモリに対し、データをインターリーブして並列に書き込む場合について具体的に説明する。
図14は従来の不揮発性記憶装置での2つの多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図であり、図15は図14に示した2つの多値フラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図14に示すように、従来の不揮発性記憶装置では、2つの多値フラッシュメモリ1、2の物理ブロックをまたがるように、各物理ブロックに含まれた同じページ番号の物理ページからなるページグループが構成されている。すなわち、ページグループ0は、多値フラッシュメモリ1、2のページ番号0の物理ページによって構成されている。以降、物理ページのページ番号に応じて、ページグループ1からページグループ127までの合計128個のページグループが多値フラッシュメモリ1、2に対して設けられている。
また、これらのページグループでは、ページグループの順にデータが書き込まれ、かつ、同一のページグループでは多値フラッシュメモリの順にデータが書き込まれるようになっている。つまり、データ0は多値フラッシュメモリ1のページ番号0の物理ページに、データ1は多値フラッシュメモリ2のページ0に、データ2は多値フラッシュメモリ1のページ番号1の物理ページに、データ3は多値フラッシュメモリ2のページ番号1の物理ページに順次書き込まれ、データ0からデータ255までの合計256個のデータが、128個のページグループのいずれかの物理ページに割り当てられて書き込まれる。
そして、従来の不揮発性記憶装置では、図15に例示するように、多値フラッシュメモリ1、2の物理ページに対し、図示を省略したメモリーコントローラによってデータの書き込み動作が行われる。
つまり、図15に示すように、時点T110から時点T111までの期間では、多値フラッシュメモリ1に対してデータ0が転送される。次に、時点T111でデータ0のプログラムが開始される。また、この時点T111から時点T112までの期間に、メモリーコントローラは、多値フラッシュメモリ2に対するデータ1の転送を行わせる。続いて、メモリーコントローラは、時点T112で、多値フラッシュメモリ2に対してデータ1のプログラムを開始させるとともに、当該時点T112から時点T113までの期間に、多値フラッシュメモリ1に対するデータ2の転送を行わせる。
次に、メモリーコントローラは、時点T113で、多値フラッシュメモリ1に対してデータ2のプログラムを開始させるとともに、当該時点T113から時点T114までの期間に、多値フラッシュメモリ2に対するデータ3の転送を行わせる。続いて、メモリーコントローラは、時点T114で、多値フラッシュメモリ2に対してデータ3のプログラムを開始させる。また、時点T114から時点T115までの期間は、多値フラッシュメモリ1、2ともに第2ページのプログラム期間であり、データ転送が許容されない期間である。それ故、従来の不揮発性記憶装置では、メモリーコントローラは、時点T114から時点T115までの期間では、多値フラッシュメモリ1、2に対するデータの転送を実行させない。その後、時点T115において、データ2のプログラムが終了すると、メモリーコントローラは、多値フラッシュメモリ1に対するデータ4の転送を当該時点T115から開始させる。
ところが、上記のような従来の不揮発性記憶装置では、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができないという問題点があった。具体的にいえば、従来の不揮発性記憶装置では、図14に示したように、多値フラッシュメモリ1、2において、同じページ番号の物理ページをひとつのグループとして128個のページグループを構成していた。このため、従来の不揮発性記憶装置では、多値メモリセルのデータ転送とプログラムの関係から、効率よくデータの転送を行うことができなかった。
より具体的にいえば、従来の不揮発性記憶装置では、図15の例えば時点T114から時点T115までの期間に、多値フラッシュメモリ1、2の第2ページに対するプログラム期間が設定されている。このため、この期間では、多値メモリセルのプログラム特性により、多値フラッシュメモリ1、2の双方にデータ転送が行うことができなかった。この結果、従来の不揮発性記憶装置では、多値フラッシュメモリ1、2に対するデータの書き込み動作の効率を向上させることはできなかった。
上記の課題に鑑み、本発明は、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びこれを用いた不揮発性記憶装置を提供することを目的とする。
上記の目的を達成するために、本発明にかかるメモリーコントローラは、2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリの駆動制御を行うメモリーコントローラであって、
複数の前記物理ブロックに対して、データをインターリーブして書き込み可能に構成された主制御部を備え、
前記複数の各物理ブロックには、第1〜第pのp個(pは、2以上の整数)の前記多値メモリセルが含まれ、
前記p個の各多値メモリセルには、第1ページと、前記第1ページに対して当該第1ページよりもデータの書き込み処理に要する時間が順次長くなる第nページ(nは、2以上の整数)までのn個のページが、データの書き込み単位としての物理ページとして設けられ、
前記複数の各物理ブロックでは、前記p個の多値メモリセルに設けられた全ての前記物理ページに対して、所定の順番でページ番号が順次割り付けられている場合に、
前記主制御部は、前記複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定するとともに、前記ページグループの境界が、前記第nページの物理ページの後に設けられるように、前記複数の物理ブロックの物理ページをグループ化することを特徴とするものである。
上記のように構成されたメモリーコントローラにおける主制御部は、データがインターリーブされて書き込まれる複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定している。また、主制御部は、ページグループの境界が第nページの物理ページの後に設けられるように、複数の物理ブロックの物理ページをグループ化している。これにより、上記従来例と異なり、データの書き込み動作に多値メモリセルのプログラム特性の悪影響が現れるのを防ぐことができ、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができる。
また、上記メモリーコントローラにおいて、前記主制御部は、前記複数の各ページグループにおいて、前記複数の各物理ブロックの同じページ番号の物理ページが含まれるように、前記複数の物理ブロックの物理ページをグループ化してもよい。
この場合、上記複数の物理ブロックに対する物理ページのグループ化を容易に行えるとともに、物理ページに書き込まれたデータの管理を簡単に行うことが可能となって、不揮発性メモリの駆動制御も容易に行うことができる。
また、上記メモリーコントローラにおいて、前記不揮発性メモリに書き込まれる書き込みデータが外部から入力された場合、前記主制御部は、前記ページグループに含まれた複数の物理ページのうち、第1ページの物理ページに対し書き込みデータの転送を行ったときには、当該物理ページと同一のページグループに含まれた同一の物理ブロックの他の物理ページに対し書き込みデータの転送を行い、かつ、第nページの物理ページに対し書き込みデータの転送を行ったときには、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対し書き込みデータの転送を行うことが好ましい。
この場合、第nページの物理ページに対するデータの書き込み処理を行わせているときに、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対して、書き込みデータの転送を行わせることができる。従って、より確実にデータを効率よくインターリーブして書き込むことができる。
また、本発明の不揮発性記憶装置は、2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリ、及び
上記いずれかのメモリーコントローラを備えていることを特徴とするものである。
上記のように構成された不揮発性記憶装置では、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラが用いられているので、データの書き込み処理を高速に行うことができる不揮発性記憶装置を容易に構成することができる。
本発明によれば、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びこれを用いた不揮発性記憶装置を提供することが可能となる。
本発明の一実施形態にかかるメモリーコントローラを用いたメモリーカードの要部構成を示すブロック図である。 図1に示したフラッシュメモリの要部構成を説明する図である。 図2に示した物理ブロックの構成を説明する図である。 2つの上記フラッシュメモリにおいて、図1に示した主制御部によってグループ化されたページグループの具体例を説明する図である。 上記2つの各フラッシュメモリでの具体的なページ割付を説明する図である。 上記2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 本発明の第2の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。 図7に示した2つの各フラッシュメモリでの具体的なページ割付を説明する図である。 図7に示した2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 本発明の第3の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。 図10に示した3つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 従来の不揮発性記憶装置での多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図である。 図12に示した多値フラッシュメモリへのデータの具体的な書き込み動作を示すタイミングチャートである。 従来の不揮発性記憶装置での2つの多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図である。 図14に示した2つの多値フラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
以下、本発明のメモリーコントローラ、及び不揮発性記憶装置の好ましい実施形態について、図面を参照しながら説明する。なお、以下の説明では、本発明を不揮発性記憶装置としてのメモリーカードに適用した場合を例示して説明する。
[第1の実施形態]
[不揮発性記憶装置の構成]
図1は、本発明の一実施形態にかかるメモリーコントローラを用いたメモリーカードの要部構成を示すブロック図である。図において、本実施形態のメモリーカード1は、本発明のメモリーコントローラを用いて構成されたコントローラ2と、m個(mは、2以上の整数)の第1、第2、…、第mのフラッシュメモリ3a、3b、…、3mが設けられた不揮発性メモリ群3とを備えている。不揮発性メモリ群3の第1〜第mの各フラッシュメモリ3a、3b、…、3mは、例えばNANDタイプの同一のフラッシュメモリが用いられており、コントローラ2によってデータの書き込み制御及び読み出し制御が行われるようになっている。また、第1〜第mの各フラッシュメモリ3a、3b、…、3mは、多値メモリセルを用いた多値フラッシュメモリである。すなわち、第1〜第mの各フラッシュメモリ3a、3b、…、3mには、複数個の物理ブロックが含まれており、さらに、各物理ブロックには、2ビットのデータ(情報)を記憶可能に構成された多値メモリセルが用いられている(詳細は後述。)。
また、メモリーカード1では、当該メモリーカード1に対して論理アドレスを指定したアクセス指示を行うホスト機器Hが接続可能に構成されており、メモリーカード1とホスト機器Hとの間で双方向のデータ転送が行えるようになっている。尚、これらメモリーカード1とホスト機器Hとは、例えばデジタルカメラやパーソナルコンピュータ等に組み込まれて、その内部でデータを記憶する不揮発性記憶システムを構築するようになっている。
コントローラ2は、不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに対し、外部からの論理アドレスを指定したデータの書き込み及び読み出しを行うように構成されている。すなわち、コントローラ2は、メモリーカード1の外部に設けられたホスト機器Hから論理アドレスを指定した書き込み要求とともに転送されてきたデータを不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに書き込んだり、ホスト機器Hから論理アドレスを指定した読み出し要求に応じて、データを不揮発性メモリ群3の対応する第1〜第mのフラッシュメモリ3a、3b、…、3mから読み出して当該ホスト機器Hに転送したりする。
また、コントローラ2は、主制御部4と、ホスト機器H側及び不揮発性メモリ群3側にそれぞれ設けられたインターフェースとしてのホストI/F 5及びメモリI/F 7と、これらのホストI/F 5とメモリI/F 7との間に設けられたバッファ6を備えている。
主制御部4には、CPUやDSPなどが用いられており、ホスト機器Hから上記書き込み要求及び読み出し要求が入力されるようになっている。そして、主制御部4は、入力された書き込み要求または読み出し要求に応じて、コントローラ2の各部の駆動制御を行うよう構成されている。また、主制御部4は、不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに対して、データをインターリーブして並列に書き込み可能に構成されている。
さらに、主制御部4は、後に詳述するように、第1〜第mのフラッシュメモリ3a、3b、…、3mに設定されているページ割付に基づいて、これらの第1〜第mのフラッシュメモリ3a、3b、…、3mの各物理ブロックに設けられた複数の物理ページを所定の手順で複数のページグループに振り分けてグループ化するようになっている。なお、主制御部4は、図示しないアドレス変換テーブルを参照することにより、ホスト機器Hからの論理アドレスと第1〜第mのフラッシュメモリ3a、3b、…、3mの対応する物理ページのアドレスとを相互に変換して、ホスト機器Hからのアクセス指示を適切に対処できるように構成されている。
ホストI/F 5は、主制御部4からの指示に従って、メモリーカード1とホスト機器Hとの間のインターフェースを制御するとともに、メモリーカード1とバッファ6との間のデータ転送を行う。バッファ6は、例えば揮発性のメモリによって構成されており、メモリーカード1に入出力されるデータを一時的に記憶する。メモリI/F 7は、主制御部4からの指示に従って、不揮発性メモリ群3の並列に接続された第1〜第mの各フラッシュメモリ3a、3b、…、3mを制御するとともに、バッファ6と不揮発性メモリ群3との間のデータ転送を行う。
次に、図2及び図3を参照して、第1〜第mのフラッシュメモリ3a、3b、…、3m及び物理ブロックについて具体的に説明する。尚、以下の説明では、同一に構成された第1〜第mのフラッシュメモリ3a、3b、…、3mのうち、第mのフラッシュメモリ3mを例示して説明する。
図2は図1に示したフラッシュメモリの要部構成を説明する図であり、図3は図2に示した物理ブロックの構成を説明する図である。
図2に示すように、第mのフラッシュメモリ3mには、例えばブロック番号0〜1023の1024個の物理ブロック8が設けられている。この物理ブロック8は、第mのフラッシュメモリ3mのデータの消去単位である。
各物理ブロック8には、図3に例示するように、例えばページ番号0〜127の128個の物理ページ9が設けられている。この物理ページ9は、第mのフラッシュメモリ3mのデータの書き込み単位であり、データの読み出し単位でもある。
続いて、図4及び図5を参照して、本実施形態での物理ブロックの物理ページのページグループの構成について具体的に説明する。なお、以下の説明では、説明の簡略化のために、第1及び第2のフラッシュメモリ3a、3bの物理ブロック8の物理ページ9に対して、主制御部4がグループ化して複数のページグループを構成する場合を例示して説明する。
図4は2つの上記フラッシュメモリにおいて、図1に示した主制御部によってグループ化されたページグループの具体例を説明する図であり、図5は上記2つの各フラッシュメモリでの具体的なページ割付を説明する図である。
まず、図5を参照して、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8に設けられた上記多値メモリセルに対するページ割付について具体的に説明する。図5において、第1及び第2の各フラッシュメモリ3a、3bでは、64個の多値メモリセルC1、C2、…、C64を基本単位として構成されている。複数の基本単位、例えば19896個の基本単位でひとつの物理ブロック8を構成する。多値メモリセルC1、C2、…、C64はそれぞれ異なる2つの物理ページ9に属する。言い換えると、同じ物理ブロック8に含まれる19896個の多値メモリセルC1は異なる2つの物理ページに属する。この多値メモリセルC1が属する2つの物理ページが第1ページP1と第2ページP2である。多値メモリセルC2、…、C64についても同様である。つまり各多値メモリセルC1、C2、…、C64には、第1ページP1と、この第1ページP1よりもデータのプログラム(データ書き込み処理)に要する時間が長い第2ページP2が設けられている。これらの第1ページP1及び第2ページP2は、上記物理ページ9を構成するものである。そして、各多値メモリセルC1、C2、…、C64では、第1ページP1及び第2ページP2の各々によって、0または1のデータを保持できるようになっている。
また、物理ブロック8では、各多値メモリセルC1、C2、…、C64の第1ページP1及び第2ページP2に対して、予め物理ページ9のページ番号が所定の順番で割り付けられている。具体的には、図5に示すように、多値メモリセルC1の第1ページP1及び第2ページP2には、物理ページ9のページ番号0及び1がそれぞれ割り付けられている。また、多値メモリセルC2の第1ページP1及び第2ページP2には、物理ページ9のページ番号2及び3がそれぞれ割り付けられている。以降、多値メモリセルC3、C4、…、C64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号4、5、6、7、…、126、127が順次割り付けられている。
また、メモリーカード1では、上記のような物理ブロック8での各多値メモリセルC1、C2、…、C64の第1ページP1及び第2ページP2に対する物理ページ9のページ番号のページ割付についてのページ割付情報は予め主制御部4に保持されている。そして、主制御部4では、保持されたページ割付情報に基づき、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8に対して、これらの各物理ブロック8に設けられた物理ページ9を含んだページグループを複数設定する。さらに、主制御部4は、ページグループの境界が、上記第2ページP2の後に設けられるように、複数の物理ブロック8の物理ページ9をグループ化する。
具体的には、図4に示すように、主制御部4は、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8の物理ページ9をグループ化して、これら2つの物理ブロック8に64個のページグループ0、1、…、63を設定している。すなわち、2つの各物理ブロック8のページ番号0、1の合計4個の物理ページ9をページグループ0に含めて、当該ページグループ0を構成している。以降、各物理ブロック8の連続する2つのページ番号の合計4個の物理ページ9により、ページグループ1〜63を順次構成している。
また、ページグループの境界、例えばページグループ0とページグループ1との境界は、各物理ブロック8の多値メモリセルC1と多値メモリセルC2との間に設定されており、多値メモリセルC1の第1ページP1(ページ番号0の物理ページ9)と、その次のページ番号1の物理ページ9、つまり多値メモリセルC1の第2ページP2は、同じページグループ0に属している。一方、この多値メモリセルC1の第2ページP2(ページ番号1の物理ページ9)の後には、ページグループ0とページグループ1との境界が定められている。
そして、主制御部4では、第1及び第2のフラッシュメモリ3a、3bに書き込まれる書き込みデータが外部から入力された場合、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1または第2の一方のフラッシュメモリ3a、3b)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、第1または第2の他方のフラッシュメモリ3a、3b)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ255までの合計256個のデータが、図4に示すように、第1及び第2のフラッシュメモリ3a、3bに対して、物理ページ9単位に書き込まれる。
以下、上記のように構成された本実施形態でのデータの処理動作について、図1〜図6を参照して具体的に説明する。尚、以下の説明では、上記のようにグループ化された第1及び第2のフラッシュメモリ3a、3bに対して、データをインターリーブして並列に書き込む書き込み動作について説明する。
[データの書き込み動作]
図6は、上記2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。なお、図6では、(a)及び(d)のデータ転送は対応する第1及び第2のフラッシュメモリ3a、3bに書き込みデータを転送する期間であり、(b)及び(e)のプログラムは対応する第1及び第2のフラッシュメモリ3a、3bに実際にデータをプログラムする期間である。また、(c)及び(f)のビジー信号は対応する第1及び第2のフラッシュメモリ3a、3bへのデータ転送の可否を表しており、ハイレベル及びローレベルのときにそれぞれデータ転送が可能及びデータ転送が不可能であることを示している(後掲の図9及び図11においても、同様。)。
図6に示すように、主制御部4は、時点T1から時点T2までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T2でデータ0のプログラムを開始させる。また、この時点T2から時点T3までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T2から時点T3までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
その後、時点T3でデータ1のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T3から時点T4までの期間に、第2のフラッシュメモリ3bに対してデータ2を転送する。次に、時点T4でデータ2のプログラムを開始させる。また、この時点T4から時点T5までのデータ2のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T4から時点T5までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ3を転送する。
続いて、時点T5でデータ3のプログラムを開始させて、第2のフラッシュメモリ3bからローレベルのビジー信号が入力され、かつ、データ1のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T5から時点T6までの期間に、第1のフラッシュメモリ3aに対してデータ4を転送する。次に、時点T6でデータ4のプログラムを開始させる。また、この時点T6から時点T7までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T6から時点T7までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。以降、主制御部4は、第1及び第2のフラッシュメモリ3a、3bに対して、同様なデータ転送を行って、データを書き込ませる。
以上のように、本実施形態のコントローラ(メモリーコントローラ)2では、主制御部4はデータがインターリーブされて書き込まれる第1及び第2のフラッシュメモリ(不揮発性メモリ)3a、3bの2つの物理ブロック8に対して、これらの各物理ブロック8に設けられた物理ページ9を含んだ64個のページグループ0〜63を設定している。また、主制御部4は、ページグループの境界が第2ページP2の物理ページ9の後に設けられるように、上記2つの物理ブロック8の物理ページ9をグループ化している。これにより、上記従来例と異なり、データの書き込み動作に多値メモリセルのプログラム特性の悪影響が現れるのを防ぐことができる。この結果、本実施形態のコントローラ2では、多値メモリセルC1〜C64を用いた第1及び第2のフラッシュメモリ3a、3bに対して、データを効率よくインターリーブして書き込むことができる。また、本実施形態では、データを効率よくインターリーブして書き込むことができるコントローラ2が用いられているので、データの書き込み処理を高速に行うことができるメモリーカード(不揮発性記憶装置)1を容易に構成することができる。
また、本実施形態では、例えば図6の時点T3から時点T5に示したように、第1のフラッシュメモリ3aの物理ブロック8の第2ページの物理ページ9に対するデータの書き込み処理を行わせているときに、第2のフラッシュメモリ3bの物理ブロック8の物理ページ9に対して、書き込みデータの転送を行わせているので、これら第1及び第2のフラッシュメモリ3a、3bに対して、より確実にデータを効率よくインターリーブして書き込むことができる。
[第2の実施形態]
図7は本発明の第2の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図であり、図8は図7に示した2つの各フラッシュメモリでの具体的なページ割付を説明する図である。図において、本実施形態と上記第1の実施形態との主な相違点は、多値メモリセルでの物理ページのページ割付が異なる場合に、主制御部がそのページ割付に応じて、物理ページのグループ化を変更して、ページグループの構成を変えた点である。なお、上記第1の実施形態と共通する要素については、同じ符号を付して、その重複した説明を省略する。
すなわち、本実施形態の第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8では、図8に示すように、各々1個の奇数番号の多値メモリセルと偶数番号の多値メモリセルを一組とし、これら2つの多値メモリセルに含まれた各々2個の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号が第1ページP1を優先した所定の順番で割り付けられている。具体的には、多値メモリセルC1の第1ページP1及び第2ページP2には、物理ページ9のページ番号0及び2がそれぞれ割り付けられている。また、多値メモリセルC2の第1ページP1及び第2ページP2には、物理ページ9のページ番号1及び3がそれぞれ割り付けられている。
以降、多値メモリセルC3の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号4及び6がそれぞれ割り付けられ、多値メモリセルC4の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号5及び7がそれぞれ割り付けられている。そして、多値メモリセルC63の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号124及び126がそれぞれ割り付けられ、多値メモリセルC64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号125及び127がそれぞれ割り付けられている。そして、この物理ブロック8でのページ割付情報は、主制御部4に予め保持されており、主制御部4は、保持されたページ割付情報に基づき第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8の物理ページ9についてグループ化する。
具体的には、本実施形態では、図7に示すように、主制御部4は、偶数番号のページグループに含まれる物理ページ9の構成数と奇数番号のページグループに含まれる物理ページ9の構成数とを互いに異ならせて、物理ページ9のグループ化を行っている。つまり、主制御部4は、2つの各物理ブロック8のページ番号0、1、2の合計6個の物理ページ9をページグループ0に含めて、当該ページグループ0を構成している。また、各物理ブロック8のページ番号3の合計2個の物理ページ9をページグループ1に含めて、当該ページグループ1を構成している。以降、各物理ブロック8の連続する3つのページ番号の合計6個の物理ページ9により、偶数番号のページグループ2、…、62を順次構成するとともに、各物理ブロック8のひとつのページ番号の合計2個の物理ページ9により、奇数番号のページグループ3、…、63を順次構成している。
また、本実施形態では、主制御部4は、多値メモリセルの第2ページP2の後に、ページグループの境界を定めている。つまり、例えばページグループ0とページグループ1との境界は、各物理ブロック8の多値メモリセルC1の第2ページP2の後に設けられている。また、ページグループ1とページグループ2との境界は、各物理ブロック8の多値メモリセルC2の第2ページP2の後に設けられている。
そして、主制御部4では、第1及び第2のフラッシュメモリ3a、3bに書き込まれる書き込みデータが外部から入力された場合、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1または第2の一方のフラッシュメモリ3a、3b)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、第1または第2の他方のフラッシュメモリ3a、3b)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ255までの合計256個のデータが、図7に示すように、第1及び第2のフラッシュメモリ3a、3bに対して、物理ページ9単位に書き込まれる。
[データの書き込み動作]
以下、図9を参照して、本実施形態でのデータの書き込み動作について説明する。
図9は、図7に示した2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図9に示すように、主制御部4は、時点T32から時点T33までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T33でデータ0のプログラムを開始させる。また、この時点T33から時点T34までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T33から時点T34までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
次に、時点T34でデータ1のプログラムを開始させる。また、この時点T34から時点T35までのデータ1のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T34から時点T35までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ2を転送する。
その後、時点T35でデータ2のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T35から時点T36までの期間に、第2のフラッシュメモリ3bに対してデータ3を転送する。次に、時点T36でデータ3のプログラムを開始させる。また、この時点T36から時点T37までのデータ3のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T36から時点T37までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ4を転送する。
次に、時点T37でデータ4のプログラムを開始させる。また、この時点T37から時点T38までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T37から時点T38までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。
その後、時点T38でデータ5のプログラムを開始させて、第2のフラッシュメモリ3bからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T38から時点T39までの期間に、第1のフラッシュメモリ3aに対してデータ6を転送する。次に、時点T39でデータ6のプログラムを開始させる。また、この時点T39から時点T41までのデータ6のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからローレベルのビジー信号が入力される。それ故、時点T39から時点T41までの期間では、第1のフラッシュメモリ3aに対して、データの転送を行うことができない。
一方、時点T40でデータ5のプログラムが終了して、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力されると、主制御部4は、第2のフラッシュメモリ3bがデータ転送可能な状態になったと判断して、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T40から時点T41までの期間に、第2のフラッシュメモリ3bに対してデータ7を転送する。その後、時点T41でデータ7のプログラムを開始させる。また、この時点T41から時点T43までのデータ7のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T41から時点T43までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T41でデータ6のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T41から時点T42までの期間に、第1のフラッシュメモリ3aに対してデータ8を転送する。以降、主制御部4は、第1及び第2のフラッシュメモリ3a、3bに対して、同様なデータ転送を行って、データを書き込ませる。
以上の構成により、本実施形態は、上記第1の実施形態のものと同様な作用効果を奏することができる。
[第3の実施形態]
図10は、本発明の第3の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。図において、本実施形態と上記第2の実施形態との主な相違点は、3個のフラッシュメモリが不揮発性メモリ群に用いられている場合に、主制御部がその不揮発性メモリ群に応じて、物理ページのグループ化を変更して、ページグループの構成を変えた点である。なお、上記第2の実施形態と共通する要素については、同じ符号を付して、その重複した説明を省略する。
すなわち、図10に示すように、本実施形態では、主制御部4は、不揮発性メモリ群3に含まれた第1〜第3の各フラッシュメモリ3a、3b、3cの物理ブロック8の物理ページ9についてグループ化している。また、これらの各フラッシュメモリ3a、3b、3cの物理ブロック8では、図8に示したページ割付により、多値メモリセルC1〜C64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号が割り付けられている。そして、本実施形態の主制御部4は、第2の実施形態と同様に、3つの各物理ブロック8の連続する3つのページ番号の合計9個の物理ページ9により、偶数番号のページグループ0、…、62を順次構成するとともに、各物理ブロック8のひとつのページ番号の合計2個の物理ページ9により、奇数番号のページグループ1、…、63を順次構成している。また、これらのページグループの境界は、第2の実施形態のものと同様に、多値メモリセルの第2ページP2の後に、定められている。
また、本実施形態の主制御部4では、第1〜第3のフラッシュメモリ3a〜3cに書き込まれる書き込みデータが外部から入力された場合、上記実施形態と同様に、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1〜第3のいずれかのフラッシュメモリ3a〜3c)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、上記第1〜第3のいずれかのフラッシュメモリ3a〜3cとは異なる他の第1〜第3のいずれかのフラッシュメモリ3a〜3c)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ383までの合計384個のデータが、図10に示すように、第1〜第3のフラッシュメモリ3a〜3cに対して、物理ページ9単位に書き込まれる。
[データの書き込み動作]
以下、図11を参照して、本実施形態でのデータの書き込み動作について説明する。
図11は、図10に示した3つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図11に示すように、主制御部4は、時点T60から時点T61までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T61でデータ0のプログラムを開始させる。また、この時点T61から時点T62までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T61から時点T62までの期間では、主制御部4は、第2または第3のフラッシュメモリ3b、3cへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
次に、時点T62でデータ1のプログラムを開始させる。また、この時点T62から時点T63までのデータ1のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T62から時点T63までの期間では、主制御部4は、第2または第3のフラッシュメモリ3b、3cへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ2を転送する。
その後、時点T63でデータ2のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を、例えば第2のフラッシュメモリ3bに切り替えて、当該時点T63から時点T64までの期間に、第2のフラッシュメモリ3bに対してデータ3を転送する。次に、時点T64でデータ3のプログラムを開始させる。また、この時点T64から時点T65までのデータ3のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T64から時点T65までの期間では、主制御部4は、第1または第3のフラッシュメモリ3a、3cへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ4を転送する。
次に、時点T65でデータ4のプログラムを開始させる。また、この時点T65から時点T66までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T65から時点T66までの期間では、主制御部4は、第1または第3のフラッシュメモリ3a、3cへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。
次に、時点T66でデータ5のプログラムを開始させる。また、この時点T66から時点T70までのデータ5のプログラム期間は、多値メモリセルC1の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T66から時点T70までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T67でデータ2のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T67から時点T68までの期間に、第1のフラッシュメモリ3aに対してデータ6を転送する。その後、時点T68でデータ6のプログラムを開始させる。また、この時点T68から時点T72までのデータ6のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからローレベルのビジー信号が入力される。それ故、時点T68から時点T71までの期間では、第1のフラッシュメモリ3aに対して、データの転送を行うことができない。
このため、主制御部4は、データの転送先を第3のフラッシュメモリ3cに切り替えて、時点T68から時点T69までの期間に、第3のフラッシュメモリ3aに対してデータ7を転送する。次に、時点T69でデータ7のプログラムを開始させる。また、この時点T69から時点T70までのデータ7のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからハイレベルのビジー信号が入力される。このため、当該時点T69から時点T70までの期間では、主制御部4は、第1または第2のフラッシュメモリ3a、3bへの切り替えを行うことなく、第3のフラッシュメモリ3cに対して、キャッシュプログラムを使用して連続的にデータ8を転送する。
次に、時点T70でデータ8のプログラムを開始させる。また、この時点T70から時点T71までのデータ8のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからハイレベルのビジー信号が入力される。このため、当該時点T70から時点T71までの期間では、主制御部4は、第1または第2のフラッシュメモリ3a、3bへの切り替えを行うことなく、第3のフラッシュメモリ3cに対して、キャッシュプログラムを使用して連続的にデータ9を転送する。
次に、時点T71でデータ9のプログラムを開始させる。また、この時点T71から時点T75までのデータ9のプログラム期間は、多値メモリセルC1の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからローレベルのビジー信号が入力される。それ故、時点T71から時点T75までの期間では、第3のフラッシュメモリ3cに対して、データの転送を行うことができない。
一方、時点T70でデータ5のプログラムが終了して、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力されているので、主制御部4は、第2のフラッシュメモリ3bがデータ転送可能な状態になったと判断して、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T71から時点T72までの期間に、第2のフラッシュメモリ3bに対してデータ10を転送する。その後、時点T72でデータ10のプログラムを開始させる。また、この時点T72から時点T76までのデータ10のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T72から時点T76までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T72でデータ6のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されるので、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、時点T72から時点T73までの期間に、第1のフラッシュメモリ3aに対してデータ7を転送する。以降、主制御部4は、第1〜第2のフラッシュメモリ3a〜3cに対して、同様なデータ転送を行って、データを書き込ませる。
以上の構成により、本実施形態は、上記第2の実施形態のものと同様な作用効果を奏することができる。
尚、上記の実施形態はすべて例示であって制限的なものではない。本発明の技術的範囲は特許請求の範囲によって規定され、そこに記載された構成と均等の範囲内のすべての変更も本発明の技術的範囲に含まれる。
例えば、上記の説明では、メモリーカード(不揮発性記憶装置)に本発明を適用した場合について説明したが、本発明のメモリーコントローラはこれに限定されるものではなく、フラッシュディスクなどの他の不揮発性記憶装置に適用することもできる。
また、上記の説明では、第1ページと第2ページとが設けられて、2ビットのデータ(情報)を各々記憶可能に構成された64個の多値メモリセルが物理ブロックに用いられた2個または3個のフラッシュメモリ(不揮発性メモリ)を有する不揮発性記憶装置に適用した場合について説明した。しかしながら、本発明のメモリーコントローラは、複数の各物理ブロックには、第1〜第pのp個(pは、2以上の整数)の多値メモリセルが含まれ、p個の各多値メモリセルには、第1ページと、第1ページに対して当該第1ページよりもデータの書き込み処理に要する時間が順次長くなる第nページ(nは、2以上の整数)までのn個のページが、データの書き込み単位としての物理ページとして設けられ、複数の各物理ブロックでは、p個の多値メモリセルに設けられた全ての物理ページに対して、所定の順番でページ番号が順次割り付けられている場合に、複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定するとともに、ページグループの境界が、第nページの物理ページの後に設けられるように、複数の物理ブロックの物理ページをグループ化するものであれば、多値メモリセルのページ構成、個数などは上記のものに何等限定されない。
また、上記の説明以外に、第1ページから上記第nページが多値メモリセルに設けられている場合では、主制御部は、ページグループに含まれた複数の物理ページのうち、第1ページの物理ページに対し書き込みデータの転送を行ったときには、当該物理ページと同一のページグループに含まれた同一の物理ブロックの他の物理ページに対し書き込みデータの転送を行い、かつ、第nページの物理ページに対し書き込みデータの転送を行ったときには、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対し書き込みデータの転送を行うことが好ましい。これにより、上記実施形態と同様に、第nページの物理ページに対するデータの書き込み処理を行わせているときに、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対して、書き込みデータの転送を行わせることができる。従って、より確実にデータを効率よくインターリーブして書き込むことができる。
また、上記の説明では、主制御部が、複数の各ページグループにおいて、複数の各物理ブロックの同じページ番号の物理ページが含まれるように、複数の物理ブロックの物理ページをグループ化する場合について説明したが、本発明の主制御部はこれに限定されるものでなく、複数の物理ブロックの互いに異なるページ番号の物理ページをひとつのページグループにまとめてグループ化することもできる。
但し、上記実施形態のように、同じページ番号の物理ページどうしをひとつのページグループにまとめる場合の方が、複数の物理ブロックに対する物理ページのグループ化を容易に行えるとともに、物理ページに書き込まれたデータの管理を簡単に行うことが可能となって、不揮発性メモリの駆動制御も容易に行うことができる点で好ましい。
また、上記の説明では、複数の各フラッシュメモリに含まれた複数の物理ブロックの物理ページが複数の各ページグループに含まれるように、主制御部が物理ページのグループ化を行う構成について説明したが、本発明はこれに限定されるものではなく、単一の不揮発性メモリに含まれた複数の物理ブロックの物理ページについてグループ化して、データを並列に書き込むこともできる。具体的には、異なる複数の物理ブロックに対しデータの書き込み動作を同時に実施可能に構成されたマルチプレーン構造などの不揮発性メモリにおいて、その単一の不揮発性メモリにおける、複数の物理ブロックの物理ページをグループ化することもできる。
また、上記の説明では、不揮発性メモリにNANDタイプのフラッシュメモリを用いた場合について説明したが、本発明はこれに限定されるものではなく、MONOS型やAND型などの他のタイプのフラッシュメモリにも適用することができる。
本発明は、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びメモリアクセスが高速化された不揮発性記憶装置に有用である。
本発明は、フラッシュメモリ、特に2ビット以上の情報を記憶可能に構成された多値メモリセルが設けられた多値フラッシュメモリ等の不揮発性メモリの駆動制御を行うメモリーコントローラ、及びこれを用いた不揮発性記憶装置に関する。
近年、不揮発性記憶装置、例えばメモリーカードは、デジタルカメラや携帯電話に代表される携帯情報端末等の記憶媒体として使用されるようになってきており、その市場を拡大している。また、このような不揮発性記憶装置では、データを高速に書き込むために、フラッシュメモリ等の不揮発性メモリを複数設けるとともに、これら複数の不揮発性メモリに対し、インターリーブして並列にデータを書き込むことが提案されている。
具体的にいえば、従来の不揮発性記憶装置には、例えば下記特許文献1に記載されているように、複数のフラッシュメモリの物理ブロックを組み合わせて、それぞれの同じ位置の物理ページを組みとしてトラックを構成する(例えば、図2参照。)。そして、この従来の不揮発性記憶装置では、トラックの順にデータを書き込むことにより、複数のフラッシュメモリに並列にデータを高速に書き込み可能なことが示されている。
また、不揮発性記憶装置では、上述の高速化以外に大容量化が要望されており、半導体プロセスでの微細化だけではなく、ひとつのメモリセルに2ビット以上の情報(データ)を記憶させる多値技術を使用した不揮発性メモリ、例えば多値メモリセルが設けられた多値フラッシュメモリも用いられるようになってきている。
具体的にいえば、従来の不揮発性記憶装置では、例えば下記特許文献2に記載されているように、多値メモリセルに多値情報を書き込みための閾値電圧の割り当てについて示されている(例えば、図1参照。)。また、この従来の不揮発性記憶装置には、物理ページの書き込み動作において、第1ページに比べて第2ページでの閾値電圧の分布をより狭くして制御する必要があり、第2ページのプログラム時間が第1ページのプログラム時間よりも長くなることが記載されており(例えば、段落[0161]参照。)、メモリセルの多値化にて容量は倍になるが、書き込み時間が長くなるなどの課題が示唆されている。
また、従来の不揮発性記憶装置には、例えば下記特許文献3に記載されているように、多値技術が適用された不揮発性メモリにおいて、キャッシュを使用することにより、書き込みの高速化を図ることが提案されている。また、この従来の不揮発性記憶装置では、キャッシュは下位ビットの書き込みのときに可能で、上位ビットの書き込みのときにはキャッシュを使用できないことが記載されている(例えば、図29及び段落[0115]参照。)。
ここで、図12及び図13を参照して、上記特許文献2、3に示されている、多値フラッシュメモリへのデータの書き込み動作について、具体的に説明する。
図12は従来の不揮発性記憶装置での多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図であり、図13は図12に示した多値フラッシュメモリへのデータの具体的な書き込み動作を示すタイミングチャートである。
図12に示すように、上記多値フラッシュメモリの物理ブロックは、それぞれページ番号0から127までの128個の物理ページからなる。また、同図12において、各ページ番号右側の枠内のデータ番号は、物理ブロックでのデータの書き込み順序を示している。すなわち、物理ブロックでは、物理ページのページ番号の順番にデータが書き込まれる。また、この物理ブロックでは、2ビットの情報を示すデータを書き込み可能な多値メモリセルが64個使用されている。具体的には、ページ番号0、1の物理ページは、ひとつの多値メモリセルによって構成されており、以降、連続する2つのページ番号がひとつの多値メモリセルに割り付けられて、128個の物理ページが64個の多値メモリセルに割り当てられている。さらに、この物理ブロックでは、各多値メモリセルの上記第1ページ及び第2ページに、連続する2つのページ番号が順次割り付けられている。つまり、例えば、ページ番号0、1の物理ページは、多値メモリセルの第1ページ及び第2ページにてそれぞれ構成されている。
そして、従来の不揮発性記憶装置では、図13に例示するように、物理ブロックの物理ページに対し、図示を省略したメモリーコントローラによってデータの書き込み動作が行われる。なお、図13では、(a)のデータ転送は多値フラッシュメモリに書き込みデータを転送する期間であり、(b)のプログラムは多値メモリセルに実際にデータをプログラムする期間である。また、(c)のビジー信号は多値フラッシュメモリへのデータ転送の可否を表しており、ハイレベル及びローレベルのときにそれぞれデータ転送が可能及びデータ転送が不可能であることを示している(後掲の図15においても、同様。)。
つまり、図13に示すように、多値フラッシュメモリでは、データ0が時点T100から時点T101までの期間に転送される。次に、データ0のプログラムが時点T101で開始される。このプログラムは多値メモリセルの第1ページへの書き込み処理であるので、多値フラッシュメモリでは、当該プログラムを行っている期間もデータ転送が許容される。それ故、従来の不揮発性記憶装置では、メモリーコントローラは、時点T101から時点T102までの期間に、データ0のプログラムとデータ1の転送とを並行して行わせる。
続いて、多値フラッシュメモリでは、データ1のプログラムが時点T102で開始される。このプログラムは多値メモリセルの第2ページへの書き込み処理であるので、多値フラッシュメモリでは、当該プログラムを行っている期間はデータ転送が許容されない。従って、従来の不揮発性記憶装置では、メモリーコントローラは、時点T102から時点T103までの期間に、後続のデータ2の転送を実行させずに、データ1のプログラムだけを行わせる。
以降、データ2、3の書き込み動作が時点T103から時点T106までの期間で同様に行われ、データ4、5の書き込み動作が時点T106から時点T109までの期間で同様に行われる。
次に、図14及び図15を参照して、従来の不揮発性記憶装置において、2つの多値フラッシュメモリに対し、データをインターリーブして並列に書き込む場合について具体的に説明する。
図14は従来の不揮発性記憶装置での2つの多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図であり、図15は図14に示した2つの多値フラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図14に示すように、従来の不揮発性記憶装置では、2つの多値フラッシュメモリ1、2の物理ブロックをまたがるように、各物理ブロックに含まれた同じページ番号の物理ページからなるページグループが構成されている。すなわち、ページグループ0は、多値フラッシュメモリ1、2のページ番号0の物理ページによって構成されている。以降、物理ページのページ番号に応じて、ページグループ1からページグループ127までの合計128個のページグループが多値フラッシュメモリ1、2に対して設けられている。
また、これらのページグループでは、ページグループの順にデータが書き込まれ、かつ、同一のページグループでは多値フラッシュメモリの順にデータが書き込まれるようになっている。つまり、データ0は多値フラッシュメモリ1のページ番号0の物理ページに、データ1は多値フラッシュメモリ2のページ0に、データ2は多値フラッシュメモリ1のページ番号1の物理ページに、データ3は多値フラッシュメモリ2のページ番号1の物理ページに順次書き込まれ、データ0からデータ255までの合計256個のデータが、128個のページグループのいずれかの物理ページに割り当てられて書き込まれる。
そして、従来の不揮発性記憶装置では、図15に例示するように、多値フラッシュメモリ1、2の物理ページに対し、図示を省略したメモリーコントローラによってデータの書き込み動作が行われる。
つまり、図15に示すように、時点T110から時点T111までの期間では、多値フラッシュメモリ1に対してデータ0が転送される。次に、時点T111でデータ0のプログラムが開始される。また、この時点T111から時点T112までの期間に、メモリーコントローラは、多値フラッシュメモリ2に対するデータ1の転送を行わせる。続いて、メモリーコントローラは、時点T112で、多値フラッシュメモリ2に対してデータ1のプログラムを開始させるとともに、当該時点T112から時点T113までの期間に、多値フラッシュメモリ1に対するデータ2の転送を行わせる。
次に、メモリーコントローラは、時点T113で、多値フラッシュメモリ1に対してデータ2のプログラムを開始させるとともに、当該時点T113から時点T114までの期間に、多値フラッシュメモリ2に対するデータ3の転送を行わせる。続いて、メモリーコントローラは、時点T114で、多値フラッシュメモリ2に対してデータ3のプログラムを開始させる。また、時点T114から時点T115までの期間は、多値フラッシュメモリ1、2ともに第2ページのプログラム期間であり、データ転送が許容されない期間である。それ故、従来の不揮発性記憶装置では、メモリーコントローラは、時点T114から時点T115までの期間では、多値フラッシュメモリ1、2に対するデータの転送を実行させない。その後、時点T115において、データ2のプログラムが終了すると、メモリーコントローラは、多値フラッシュメモリ1に対するデータ4の転送を当該時点T115から開始させる。
特開平6−119128号公報 特開2004−192789号公報 特開2001−325796号公報
ところが、上記のような従来の不揮発性記憶装置では、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができないという問題点があった。具体的にいえば、従来の不揮発性記憶装置では、図14に示したように、多値フラッシュメモリ1、2において、同じページ番号の物理ページをひとつのグループとして128個のページグループを構成していた。このため、従来の不揮発性記憶装置では、多値メモリセルのデータ転送とプログラムの関係から、効率よくデータの転送を行うことができなかった。
より具体的にいえば、従来の不揮発性記憶装置では、図15の例えば時点T114から時点T115までの期間に、多値フラッシュメモリ1、2の第2ページに対するプログラム期間が設定されている。このため、この期間では、多値メモリセルのプログラム特性により、多値フラッシュメモリ1、2の双方にデータ転送が行うことができなかった。この結果、従来の不揮発性記憶装置では、多値フラッシュメモリ1、2に対するデータの書き込み動作の効率を向上させることはできなかった。
上記の課題に鑑み、本発明は、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びこれを用いた不揮発性記憶装置を提供することを目的とする。
上記の目的を達成するために、本発明にかかるメモリーコントローラは、2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリの駆動制御を行うメモリーコントローラであって、
複数の前記物理ブロックに対して、データをインターリーブして書き込み可能に構成された主制御部を備え、
前記複数の各物理ブロックには、第1〜第pのp個(pは、2以上の整数)の前記多値メモリセルが含まれ、
前記p個の各多値メモリセルには、第1ページと、前記第1ページに対して当該第1ページよりもデータの書き込み処理に要する時間が順次長くなる第nページ(nは、2以上の整数)までのn個のページが、データの書き込み単位としての物理ページとして設けられ、
前記複数の各物理ブロックでは、前記p個の多値メモリセルに設けられた全ての前記物理ページに対して、所定の順番でページ番号が順次割り付けられている場合に、
前記主制御部は、前記複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定するとともに、前記ページグループの境界が、前記第nページの物理ページの後に設けられるように、前記複数の物理ブロックの物理ページをグループ化することを特徴とするものである。
上記のように構成されたメモリーコントローラにおける主制御部は、データがインターリーブされて書き込まれる複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定している。また、主制御部は、ページグループの境界が第nページの物理ページの後に設けられるように、複数の物理ブロックの物理ページをグループ化している。これにより、上記従来例と異なり、データの書き込み動作に多値メモリセルのプログラム特性の悪影響が現れるのを防ぐことができ、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができる。
また、上記メモリーコントローラにおいて、前記主制御部は、前記複数の各ページグループにおいて、前記複数の各物理ブロックの同じページ番号の物理ページが含まれるように、前記複数の物理ブロックの物理ページをグループ化してもよい。
この場合、上記複数の物理ブロックに対する物理ページのグループ化を容易に行えるとともに、物理ページに書き込まれたデータの管理を簡単に行うことが可能となって、不揮発性メモリの駆動制御も容易に行うことができる。
また、上記メモリーコントローラにおいて、前記不揮発性メモリに書き込まれる書き込みデータが外部から入力された場合、前記主制御部は、前記ページグループに含まれた複数の物理ページのうち、第1ページの物理ページに対し書き込みデータの転送を行ったときには、当該物理ページと同一のページグループに含まれた同一の物理ブロックの他の物理ページに対し書き込みデータの転送を行い、かつ、第nページの物理ページに対し書き込みデータの転送を行ったときには、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対し書き込みデータの転送を行うことが好ましい。
この場合、第nページの物理ページに対するデータの書き込み処理を行わせているときに、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対して、書き込みデータの転送を行わせることができる。従って、より確実にデータを効率よくインターリーブして書き込むことができる。
また、本発明の不揮発性記憶装置は、2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリ、及び
上記いずれかのメモリーコントローラを備えていることを特徴とするものである。
上記のように構成された不揮発性記憶装置では、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラが用いられているので、データの書き込み処理を高速に行うことができる不揮発性記憶装置を容易に構成することができる。
本発明によれば、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びこれを用いた不揮発性記憶装置を提供することが可能となる。
以下、本発明のメモリーコントローラ、及び不揮発性記憶装置の好ましい実施形態について、図面を参照しながら説明する。なお、以下の説明では、本発明を不揮発性記憶装置としてのメモリーカードに適用した場合を例示して説明する。
[第1の実施形態]
[不揮発性記憶装置の構成]
図1は、本発明の一実施形態にかかるメモリーコントローラを用いたメモリーカードの要部構成を示すブロック図である。図において、本実施形態のメモリーカード1は、本発明のメモリーコントローラを用いて構成されたコントローラ2と、m個(mは、2以上の整数)の第1、第2、…、第mのフラッシュメモリ3a、3b、…、3mが設けられた不揮発性メモリ群3とを備えている。不揮発性メモリ群3の第1〜第mの各フラッシュメモリ3a、3b、…、3mは、例えばNANDタイプの同一のフラッシュメモリが用いられており、コントローラ2によってデータの書き込み制御及び読み出し制御が行われるようになっている。また、第1〜第mの各フラッシュメモリ3a、3b、…、3mは、多値メモリセルを用いた多値フラッシュメモリである。すなわち、第1〜第mの各フラッシュメモリ3a、3b、…、3mには、複数個の物理ブロックが含まれており、さらに、各物理ブロックには、2ビットのデータ(情報)を記憶可能に構成された多値メモリセルが用いられている(詳細は後述。)。
また、メモリーカード1では、当該メモリーカード1に対して論理アドレスを指定したアクセス指示を行うホスト機器Hが接続可能に構成されており、メモリーカード1とホスト機器Hとの間で双方向のデータ転送が行えるようになっている。尚、これらメモリーカード1とホスト機器Hとは、例えばデジタルカメラやパーソナルコンピュータ等に組み込まれて、その内部でデータを記憶する不揮発性記憶システムを構築するようになっている。
コントローラ2は、不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに対し、外部からの論理アドレスを指定したデータの書き込み及び読み出しを行うように構成されている。すなわち、コントローラ2は、メモリーカード1の外部に設けられたホスト機器Hから論理アドレスを指定した書き込み要求とともに転送されてきたデータを不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに書き込んだり、ホスト機器Hから論理アドレスを指定した読み出し要求に応じて、データを不揮発性メモリ群3の対応する第1〜第mのフラッシュメモリ3a、3b、…、3mから読み出して当該ホスト機器Hに転送したりする。
また、コントローラ2は、主制御部4と、ホスト機器H側及び不揮発性メモリ群3側にそれぞれ設けられたインターフェースとしてのホストI/F 5及びメモリI/F 7と、これらのホストI/F 5とメモリI/F 7との間に設けられたバッファ6を備えている。
主制御部4には、CPUやDSPなどが用いられており、ホスト機器Hから上記書き込み要求及び読み出し要求が入力されるようになっている。そして、主制御部4は、入力された書き込み要求または読み出し要求に応じて、コントローラ2の各部の駆動制御を行うよう構成されている。また、主制御部4は、不揮発性メモリ群3の第1〜第mのフラッシュメモリ3a、3b、…、3mに対して、データをインターリーブして並列に書き込み可能に構成されている。
さらに、主制御部4は、後に詳述するように、第1〜第mのフラッシュメモリ3a、3b、…、3mに設定されているページ割付に基づいて、これらの第1〜第mのフラッシュメモリ3a、3b、…、3mの各物理ブロックに設けられた複数の物理ページを所定の手順で複数のページグループに振り分けてグループ化するようになっている。なお、主制御部4は、図示しないアドレス変換テーブルを参照することにより、ホスト機器Hからの論理アドレスと第1〜第mのフラッシュメモリ3a、3b、…、3mの対応する物理ページのアドレスとを相互に変換して、ホスト機器Hからのアクセス指示を適切に対処できるように構成されている。
ホストI/F 5は、主制御部4からの指示に従って、メモリーカード1とホスト機器Hとの間のインターフェースを制御するとともに、メモリーカード1とバッファ6との間のデータ転送を行う。バッファ6は、例えば揮発性のメモリによって構成されており、メモリーカード1に入出力されるデータを一時的に記憶する。メモリI/F 7は、主制御部4からの指示に従って、不揮発性メモリ群3の並列に接続された第1〜第mの各フラッシュメモリ3a、3b、…、3mを制御するとともに、バッファ6と不揮発性メモリ群3との間のデータ転送を行う。
次に、図2及び図3を参照して、第1〜第mのフラッシュメモリ3a、3b、…、3m及び物理ブロックについて具体的に説明する。尚、以下の説明では、同一に構成された第1〜第mの
フラッシュメモリ3a、3b、…、3mのうち、第mのフラッシュメモリ3mを例示して説明する。
図2は図1に示したフラッシュメモリの要部構成を説明する図であり、図3は図2に示した物理ブロックの構成を説明する図である。
図2に示すように、第mのフラッシュメモリ3mには、例えばブロック番号0〜1023の1024個の物理ブロック8が設けられている。この物理ブロック8は、第mのフラッシュメモリ3mのデータの消去単位である。
各物理ブロック8には、図3に例示するように、例えばページ番号0〜127の128個の物理ページ9が設けられている。この物理ページ9は、第mのフラッシュメモリ3mのデータの書き込み単位であり、データの読み出し単位でもある。
続いて、図4及び図5を参照して、本実施形態での物理ブロックの物理ページのページグループの構成について具体的に説明する。なお、以下の説明では、説明の簡略化のために、第1及び第2のフラッシュメモリ3a、3bの物理ブロック8の物理ページ9に対して、主制御部4がグループ化して複数のページグループを構成する場合を例示して説明する。
図4は2つの上記フラッシュメモリにおいて、図1に示した主制御部によってグループ化されたページグループの具体例を説明する図であり、図5は上記2つの各フラッシュメモリでの具体的なページ割付を説明する図である。
まず、図5を参照して、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8に設けられた上記多値メモリセルに対するページ割付について具体的に説明する。図5において、第1及び第2の各フラッシュメモリ3a、3bでは、64個の多値メモリセルC1、C2、…、C64を基本単位として構成されている。複数の基本単位、例えば19896個の基本単位でひとつの物理ブロック8を構成する。多値メモリセルC1、C2、…、C64はそれぞれ異なる2つの物理ページ9に属する。言い換えると、同じ物理ブロック8に含まれる19896個の多値メモリセルC1は異なる2つの物理ページに属する。この多値メモリセルC1が属する2つの物理ページが第1ページP1と第2ページP2である。多値メモリセルC2、…、C64についても同様である。つまり各多値メモリセルC1、C2、…、C64には、第1ページP1と、この第1ページP1よりもデータのプログラム(データ書き込み処理)に要する時間が長い第2ページP2が設けられている。これらの第1ページP1及び第2ページP2は、上記物理ページ9を構成するものである。そして、各多値メモリセルC1、C2、…、C64では、第1ページP1及び第2ページP2の各々によって、0または1のデータを保持できるようになっている。
また、物理ブロック8では、各多値メモリセルC1、C2、…、C64の第1ページP1及び第2ページP2に対して、予め物理ページ9のページ番号が所定の順番で割り付けられている。具体的には、図5に示すように、多値メモリセルC1の第1ページP1及び第2ページP2には、物理ページ9のページ番号0及び1がそれぞれ割り付けられている。また、多値メモリセルC2の第1ページP1及び第2ページP2には、物理ページ9のページ番号2及び3がそれぞれ割り付けられている。以降、多値メモリセルC3、C4、…、C64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号4、5、6、7、…、126、127が順次割り付けられている。
また、メモリーカード1では、上記のような物理ブロック8での各多値メモリセルC1、C2、…、C64の第1ページP1及び第2ページP2に対する物理ページ9のページ番号のページ割付についてのページ割付情報は予め主制御部4に保持されている。そして、主制御部4では、保持されたページ割付情報に基づき、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8に対して、これらの各物理ブロック8に設けられた物理ページ9を含んだページグループを複数設定する。さらに、主制御部4は、ページグループの境界が、上記第2ページP2の後に設けられるように、複数の物理ブロック8の物理ページ9をグループ化する。
具体的には、図4に示すように、主制御部4は、第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8の物理ページ9をグループ化して、これら2つの物理ブロック8に64個のページグループ0、1、…、63を設定している。すなわち、2つの各物理ブロック8のページ番号0、1の合計4個の物理ページ9をページグループ0に含めて、当該ページグループ0を構成している。以降、各物理ブロック8の連続する2つのページ番号の合計4個の物理ページ9により、ページグループ1〜63を順次構成している。
また、ページグループの境界、例えばページグループ0とページグループ1との境界は、各物理ブロック8の多値メモリセルC1と多値メモリセルC2との間に設定されており、多値メモリセルC1の第1ページP1(ページ番号0の物理ページ9)と、その次のページ番号1の物理ページ9、つまり多値メモリセルC1の第2ページP2は、同じページグループ0に属している。一方、この多値メモリセルC1の第2ページP2(ページ番号1の物理ページ9)の後には、ページグループ0とページグループ1との境界が定められている。
そして、主制御部4では、第1及び第2のフラッシュメモリ3a、3bに書き込まれる書き込みデータが外部から入力された場合、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1または第2の一方のフラッシュメモリ3a、3b)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、第1または第2の他方のフラッシュメモリ3a、3b)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ255までの合計256個のデータが、図4に示すように、第1及び第2のフラッシュメモリ3a、3bに対して、物理ページ9単位に書き込まれる。
以下、上記のように構成された本実施形態でのデータの処理動作について、図1〜図6を参照して具体的に説明する。尚、以下の説明では、上記のようにグループ化された第1及び第2のフラッシュメモリ3a、3bに対して、データをインターリーブして並列に書き込む書き込み動作について説明する。
[データの書き込み動作]
図6は、上記2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。なお、図6では、(a)及び(d)のデータ転送は対応する第1及び第2のフラッシュメモリ3a、3bに書き込みデータを転送する期間であり、(b)及び(e)のプログラムは対応する第1及び第2のフラッシュメモリ3a、3bに実際にデータをプログラムする期間である。また、(c)及び(f)のビジー信号は対応する第1及び第2のフラッシュメモリ3a、3bへのデータ転送の可否を表しており、ハイレベル及びローレベルのときにそれぞれデータ転送が可能及びデータ転送が不可能であることを示している(後掲の図9及び図11においても、同様。)。
図6に示すように、主制御部4は、時点T1から時点T2までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T2でデータ0のプログラムを開始させる。また、この時点T2から時点T3までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T2から時点T3までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
その後、時点T3でデータ1のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T3から時点T4までの期間に、第2のフラッシュメモリ3bに対してデータ2を転送する。次に、時点T4でデータ2のプログラムを開始させる。また、この時点T4から時点T5までのデータ2のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T4から時点T5までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ3を転送する。
続いて、時点T5でデータ3のプログラムを開始させて、第2のフラッシュメモリ3bからローレベルのビジー信号が入力され、かつ、データ1のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T5から時点T6までの期間に、第1のフラッシュメモリ3aに対してデータ4を転送する。次に、時点T6でデータ4のプログラムを開始させる。また、この時点T6から時点T7までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T6から時点T7までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。以降、主制御部4は、第1及び第2のフラッシュメモリ3a、3bに対して、同様なデータ転送を行って、データを書き込ませる。
以上のように、本実施形態のコントローラ(メモリーコントローラ)2では、主制御部4はデータがインターリーブされて書き込まれる第1及び第2のフラッシュメモリ(不揮発性メモリ)3a、3bの2つの物理ブロック8に対して、これらの各物理ブロック8に設けられた物理ページ9を含んだ64個のページグループ0〜63を設定している。また、主制御部4は、ページグループの境界が第2ページP2の物理ページ9の後に設けられるように、上記2つの物理ブロック8の物理ページ9をグループ化している。これにより、上記従来例と異なり、データの書き込み動作に多値メモリセルのプログラム特性の悪影響が現れるのを防ぐことができる。この結果、本実施形態のコントローラ2では、多値メモリセルC1〜C64を用いた第1及び第2のフラッシュメモリ3a、3bに対して、データを効率よくインターリーブして書き込むことができる。また、本実施形態では、データを効率よくインターリーブして書き込むことができるコントローラ2が用いられているので、データの書き込み処理を高速に行うことができるメモリーカード(不揮発性記憶装置)1を容易に構成することができる。
また、本実施形態では、例えば図6の時点T3から時点T5に示したように、第1のフラッシュメモリ3aの物理ブロック8の第2ページの物理ページ9に対するデータの書き込み処理を行わせているときに、第2のフラッシュメモリ3bの物理ブロック8の物理ページ9に対して、書き込みデータの転送を行わせているので、これら第1及び第2のフラッシュメモリ3a、3bに対して、より確実にデータを効率よくインターリーブして書き込むことができる。
[第2の実施形態]
図7は本発明の第2の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図であり、図8は図7に示した2つの各フラッシュメモリでの具体的なページ割付を説明する図である。図において、本実施形態と上記第1の実施形態との主な相違点は、多値メモリセルでの物理ページのページ割付が異なる場合に、主制御部がそのページ割付に応じて、物理ページのグループ化を変更して、ページグループの構成を変えた点である。なお、上記第1の実施形態と共通する要素については、同じ符号を付して、その重複した説明を省略する。
すなわち、本実施形態の第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8では、図8に示すように、各々1個の奇数番号の多値メモリセルと偶数番号の多値メモリセルを一組とし、これら2つの多値メモリセルに含まれた各々2個の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号が第1ページP1を優先した所定の順番で割り付けられている。具体的には、多値メモリセルC1の第1ページP1及び第2ページP2には、物理ページ9のページ番号0及び2がそれぞれ割り付けられている。また、多値メモリセルC2の第1ページP1及び第2ページP2には、物理ページ9のページ番号1及び3がそれぞれ割り付けられている。
以降、多値メモリセルC3の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号4及び6がそれぞれ割り付けられ、多値メモリセルC4の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号5及び7がそれぞれ割り付けられている。そして、多値メモリセルC63の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号124及び126がそれぞれ割り付けられ、多値メモリセルC64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号125及び127がそれぞれ割り付けられている。そして、この物理ブロック8でのページ割付情報は、主制御部4に予め保持されており、主制御部4は、保持されたページ割付情報に基づき第1及び第2の各フラッシュメモリ3a、3bの物理ブロック8の物理ページ9についてグループ化する。
具体的には、本実施形態では、図7に示すように、主制御部4は、偶数番号のページグループに含まれる物理ページ9の構成数と奇数番号のページグループに含まれる物理ページ9の構成数とを互いに異ならせて、物理ページ9のグループ化を行っている。つまり、主制御部4は、2つの各物理ブロック8のページ番号0、1、2の合計6個の物理ページ9をページグループ0に含めて、当該ページグループ0を構成している。また、各物理ブロック8のページ番号3の合計2個の物理ページ9をページグループ1に含めて、当該ページグループ1を構成している。以降、各物理ブロック8の連続する3つのページ番号の合計6個の物理ページ9により、偶数番号のページグループ2、…、62を順次構成するとともに、各物理ブロック8のひとつのページ番号の合計2個の物理ページ9により、奇数番号のページグループ3、…、63を順次構成している。
また、本実施形態では、主制御部4は、多値メモリセルの第2ページP2の後に、ページグループの境界を定めている。つまり、例えばページグループ0とページグループ1との境界は、各物理ブロック8の多値メモリセルC1の第2ページP2の後に設けられている。また、ページグループ1とページグループ2との境界は、各物理ブロック8の多値メモリセルC2の第2ページP2の後に設けられている。
そして、主制御部4では、第1及び第2のフラッシュメモリ3a、3bに書き込まれる書き込みデータが外部から入力された場合、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1または第2の一方のフラッシュメモリ3a、3b)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、第1または第2の他方のフラッシュメモリ3a、3b)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ255までの合計256個のデータが、図7に示すように、第1及び第2のフラッシュメモリ3a、3bに対して、物理ページ9単位に書き込まれる。
[データの書き込み動作]
以下、図9を参照して、本実施形態でのデータの書き込み動作について説明する。
図9は、図7に示した2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図9に示すように、主制御部4は、時点T32から時点T33までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T33でデータ0のプログラムを開始させる。また、この時点T33から時点T34までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T33から時点T34までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
次に、時点T34でデータ1のプログラムを開始させる。また、この時点T34から時点T35までのデータ1のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T34から時点T35までの期間では、主制御部4は、第2のフラッシュメモリ3bへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ2を転送する。
その後、時点T35でデータ2のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T35から時点T36までの期間に、第2のフラッシュメモリ3bに対してデータ3を転送する。次に、時点T36でデータ3のプログラムを開始させる。また、この時点T36から時点T37までのデータ3のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T36から時点T37までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ4を転送する。
次に、時点T37でデータ4のプログラムを開始させる。また、この時点T37から時点T38までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T37から時点T38までの期間では、主制御部4は、第1のフラッシュメモリ3aへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。
その後、時点T38でデータ5のプログラムを開始させて、第2のフラッシュメモリ3bからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T38から時点T39までの期間に、第1のフラッシュメモリ3aに対してデータ6を転送する。次に、時点T39でデータ6のプログラムを開始させる。また、この時点T39から時点T41までのデータ6のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからローレベルのビジー信号が入力される。それ故、時点T39から時点T41までの期間では、第1のフラッシュメモリ3aに対して、データの転送を行うことができない。
一方、時点T40でデータ5のプログラムが終了して、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力されると、主制御部4は、第2のフラッシュメモリ3bがデータ転送可能な状態になったと判断して、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T40から時点T41までの期間に、第2のフラッシュメモリ3bに対してデータ7を転送する。その後、時点T41でデータ7のプログラムを開始させる。また、この時点T41から時点T43までのデータ7のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T41から時点T43までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T41でデータ6のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T41から時点T42までの期間に、第1のフラッシュメモリ3aに対してデータ8を転送する。以降、主制御部4は、第1及び第2のフラッシュメモリ3a、3bに対して、同様なデータ転送を行って、データを書き込ませる。
以上の構成により、本実施形態は、上記第1の実施形態のものと同様な作用効果を奏することができる。
[第3の実施形態]
図10は、本発明の第3の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。図において、本実施形態と上記第2の実施形態との主な相違点は、3個のフラッシュメモリが不揮発性メモリ群に用いられている場合に、主制御部がその不揮発性メモリ群に応じて、物理ページのグループ化を変更して、ページグループの構成を変えた点である。なお、上記第2の実施形態と共通する要素については、同じ符号を付して、その重複した説明を省略する。
すなわち、図10に示すように、本実施形態では、主制御部4は、不揮発性メモリ群3に含まれた第1〜第3の各フラッシュメモリ3a、3b、3cの物理ブロック8の物理ページ9についてグループ化している。また、これらの各フラッシュメモリ3a、3b、3cの物理ブロック8では、図8に示したページ割付により、多値メモリセルC1〜C64の第1ページP1及び第2ページP2に対して、物理ページ9のページ番号が割り付けられている。そして、本実施形態の主制御部4は、第2の実施形態と同様に、3つの各物理ブロック8の連続する3つのページ番号の合計9個の物理ページ9により、偶数番号のページグループ0、…、62を順次構成するとともに、各物理ブロック8のひとつのページ番号の合計2個の物理ページ9により、奇数番号のページグループ1、…、63を順次構成している。また、これらのページグループの境界は、第2の実施形態のものと同様に、多値メモリセルの第2ページP2の後に、定められている。
また、本実施形態の主制御部4では、第1〜第3のフラッシュメモリ3a〜3cに書き込まれる書き込みデータが外部から入力された場合、上記実施形態と同様に、いずれかひとつのページグループに含まれた複数の物理ページ9のうち、第2ページP2以外の物理ページ9に対し書き込みデータの転送を行ったときには、当該物理ページ9と同一のページグループに含まれた同一の物理ブロック8(つまり、第1〜第3のいずれかのフラッシュメモリ3a〜3c)の他の物理ページ9に対し書き込みデータの転送を行うようになっている。さらに、主制御部4では、第2ページP2の物理ページ9に対し書き込みデータの転送を行ったときには、当該第2ページP2の物理ページ9の物理ブロック8とは異なる別の物理ブロック8(つまり、上記第1〜第3のいずれかのフラッシュメモリ3a〜3cとは異なる他の第1〜第3のいずれかのフラッシュメモリ3a〜3c)の物理ページ9に対し書き込みデータの転送を行うようになっている。また、このような書き込みデータの転送を行うことにより、データ0からデータ383までの合計384個のデータが、図10に示すように、第1〜第3のフラッシュメモリ3a〜3cに対して、物理ページ9単位に書き込まれる。
[データの書き込み動作]
以下、図11を参照して、本実施形態でのデータの書き込み動作について説明する。
図11は、図10に示した3つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。
図11に示すように、主制御部4は、時点T60から時点T61までの期間に、第1のフラッシュメモリ3aに対してデータ0を転送する。次に、時点T61でデータ0のプログラムを開始させる。また、この時点T61から時点T62までのデータ0のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T61から時点T62までの期間では、主制御部4は、第2または第3のフラッシュメモリ3b、3cへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ1を転送する。
次に、時点T62でデータ1のプログラムを開始させる。また、この時点T62から時点T63までのデータ1のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力される。このため、当該時点T62から時点T63までの期間では、主制御部4は、第2または第3のフラッシュメモリ3b、3cへの切り替えを行うことなく、第1のフラッシュメモリ3aに対して、キャッシュプログラムを使用して連続的にデータ2を転送する。
その後、時点T63でデータ2のプログラムを開始させて、第1のフラッシュメモリ3aからローレベルのビジー信号が入力されると、主制御部4は、データの転送先を、例えば第2のフラッシュメモリ3bに切り替えて、当該時点T63から時点T64までの期間に、第2のフラッシュメモリ3bに対してデータ3を転送する。次に、時点T64でデータ3のプログラムを開始させる。また、この時点T64から時点T65までのデータ3のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T64から時点T65までの期間では、主制御部4は、第1または第3のフラッシュメモリ3a、3cへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ4を転送する。
次に、時点T65でデータ4のプログラムを開始させる。また、この時点T65から時点T66までのデータ4のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力される。このため、当該時点T65から時点T66までの期間では、主制御部4は、第1または第3のフラッシュメモリ3a、3cへの切り替えを行うことなく、第2のフラッシュメモリ3bに対して、キャッシュプログラムを使用して連続的にデータ5を転送する。
次に、時点T66でデータ5のプログラムを開始させる。また、この時点T66から時点T70までのデータ5のプログラム期間は、多値メモリセルC1の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T66から時点T70までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T67でデータ2のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されると、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、当該時点T67から時点T68までの期間に、第1のフラッシュメモリ3aに対してデータ6を転送する。その後、時点T68でデータ6のプログラムを開始させる。また、この時点T68から時点T72までのデータ6のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第1のフラッシュメモリ3aからローレベルのビジー信号が入力される。それ故、時点T68から時点T71までの期間では、第1のフラッシュメモリ3aに対して、データの転送を行うことができない。
このため、主制御部4は、データの転送先を第3のフラッシュメモリ3cに切り替えて、時点T68から時点T69までの期間に、第3のフラッシュメモリ3aに対してデータ7を転送する。次に、時点T69でデータ7のプログラムを開始させる。また、この時点T69から時点T70までのデータ7のプログラム期間は、多値メモリセルC1の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからハイレベルのビジー信号が入力される。このため、当該時点T69から時点T70までの期間では、主制御部4は、第1または第2のフラッシュメモリ3a、3bへの切り替えを行うことなく、第3のフラッシュメモリ3cに対して、キャッシュプログラムを使用して連続的にデータ8を転送する。
次に、時点T70でデータ8のプログラムを開始させる。また、この時点T70から時点T71までのデータ8のプログラム期間は、多値メモリセルC2の第1ページP1に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからハイレベルのビジー信号が入力される。このため、当該時点T70から時点T71までの期間では、主制御部4は、第1または第2のフラッシュメモリ3a、3bへの切り替えを行うことなく、第3のフラッシュメモリ3cに対して、キャッシュプログラムを使用して連続的にデータ9を転送する。
次に、時点T71でデータ9のプログラムを開始させる。また、この時点T71から時点T75までのデータ9のプログラム期間は、多値メモリセルC1の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第3のフラッシュメモリ3cからローレベルのビジー信号が入力される。それ故、時点T71から時点T75までの期間では、第3のフラッシュメモリ3cに対して、データの転送を行うことができない。
一方、時点T70でデータ5のプログラムが終了して、第2のフラッシュメモリ3bからハイレベルのビジー信号が入力されているので、主制御部4は、第2のフラッシュメモリ3bがデータ転送可能な状態になったと判断して、データの転送先を第2のフラッシュメモリ3bに切り替えて、当該時点T71から時点T72までの期間に、第2のフラッシュメモリ3bに対してデータ10を転送する。その後、時点T72でデータ10のプログラムを開始させる。また、この時点T72から時点T76までのデータ10のプログラム期間は、多値メモリセルC2の第2ページP2に対するデータの書き込み期間であるため、主制御部4には、第2のフラッシュメモリ3bからローレベルのビジー信号が入力される。それ故、時点T72から時点T76までの期間では、第2のフラッシュメモリ3bに対して、データの転送を行うことができない。
一方、時点T72でデータ6のプログラムが終了して、第1のフラッシュメモリ3aからハイレベルのビジー信号が入力されるので、主制御部4は、第1のフラッシュメモリ3aがデータ転送可能な状態になったと判断して、データの転送先を第1のフラッシュメモリ3aに切り替えて、時点T72から時点T73までの期間に、第1のフラッシュメモリ3aに対してデータ7を転送する。以降、主制御部4は、第1〜第2のフラッシュメモリ3a〜3cに対して、同様なデータ転送を行って、データを書き込ませる。
以上の構成により、本実施形態は、上記第2の実施形態のものと同様な作用効果を奏することができる。
尚、上記の実施形態はすべて例示であって制限的なものではない。本発明の技術的範囲は特許請求の範囲によって規定され、そこに記載された構成と均等の範囲内のすべての変更も本発明の技術的範囲に含まれる。
例えば、上記の説明では、メモリーカード(不揮発性記憶装置)に本発明を適用した場合について説明したが、本発明のメモリーコントローラはこれに限定されるものではなく、フラッシュディスクなどの他の不揮発性記憶装置に適用することもできる。
また、上記の説明では、第1ページと第2ページとが設けられて、2ビットのデータ(情報)を各々記憶可能に構成された64個の多値メモリセルが物理ブロックに用いられた2個または3個のフラッシュメモリ(不揮発性メモリ)を有する不揮発性記憶装置に適用した場合について説明した。しかしながら、本発明のメモリーコントローラは、複数の各物理ブロックには、第1〜第pのp個(pは、2以上の整数)の多値メモリセルが含まれ、p個の各多値メモリセルには、第1ページと、第1ページに対して当該第1ページよりもデータの書き込み処理に要する時間が順次長くなる第nページ(nは、2以上の整数)までのn個のページが、データの書き込み単位としての物理ページとして設けられ、複数の各物理ブロックでは、p個の多値メモリセルに設けられた全ての物理ページに対して、所定の順番でページ番号が順次割り付けられている場合に、複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定するとともに、ページグループの境界が、第nページの物理ページの後に設けられるように、複数の物理ブロックの物理ページをグループ化するものであれば、多値メモリセルのページ構成、個数などは上記のものに何等限定されない。
また、上記の説明以外に、第1ページから上記第nページが多値メモリセルに設けられている場合では、主制御部は、ページグループに含まれた複数の物理ページのうち、第1ページの物理ページに対し書き込みデータの転送を行ったときには、当該物理ページと同一のページグループに含まれた同一の物理ブロックの他の物理ページに対し書き込みデータの転送を行い、かつ、第nページの物理ページに対し書き込みデータの転送を行ったときには、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対し書き込みデータの転送を行うことが好ましい。これにより、上記実施形態と同様に、第nページの物理ページに対するデータの書き込み処理を行わせているときに、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対して、書き込みデータの転送を行わせることができる。従って、より確実にデータを効率よくインターリーブして書き込むことができる。
また、上記の説明では、主制御部が、複数の各ページグループにおいて、複数の各物理ブロックの同じページ番号の物理ページが含まれるように、複数の物理ブロックの物理ページをグループ化する場合について説明したが、本発明の主制御部はこれに限定されるものでなく、複数の物理ブロックの互いに異なるページ番号の物理ページをひとつのページグループにまとめてグループ化することもできる。
但し、上記実施形態のように、同じページ番号の物理ページどうしをひとつのページグループにまとめる場合の方が、複数の物理ブロックに対する物理ページのグループ化を容易に行えるとともに、物理ページに書き込まれたデータの管理を簡単に行うことが可能となって、不揮発性メモリの駆動制御も容易に行うことができる点で好ましい。
また、上記の説明では、複数の各フラッシュメモリに含まれた複数の物理ブロックの物理ページが複数の各ページグループに含まれるように、主制御部が物理ページのグループ化を行う構成について説明したが、本発明はこれに限定されるものではなく、単一の不揮発性メモリに含まれた複数の物理ブロックの物理ページについてグループ化して、データを並列に書き込むこともできる。具体的には、異なる複数の物理ブロックに対しデータの書き込み動作を同時に実施可能に構成されたマルチプレーン構造などの不揮発性メモリにおいて、その単一の不揮発性メモリにおける、複数の物理ブロックの物理ページをグループ化することもできる。
また、上記の説明では、不揮発性メモリにNANDタイプのフラッシュメモリを用いた場合について説明したが、本発明はこれに限定されるものではなく、MONOS型やAND型などの他のタイプのフラッシュメモリにも適用することができる。
本発明は、多値メモリセルを用いた不揮発性メモリに対して、データを効率よくインターリーブして書き込むことができるメモリーコントローラ、及びメモリアクセスが高速化された不揮発性記憶装置に有用である。
本発明の一実施形態にかかるメモリーコントローラを用いたメモリーカードの要部構成を示すブロック図である。 図1に示したフラッシュメモリの要部構成を説明する図である。 図2に示した物理ブロックの構成を説明する図である。 2つの上記フラッシュメモリにおいて、図1に示した主制御部によってグループ化されたページグループの具体例を説明する図である。 上記2つの各フラッシュメモリでの具体的なページ割付を説明する図である。 上記2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 本発明の第2の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。 図7に示した2つの各フラッシュメモリでの具体的なページ割付を説明する図である。 図7に示した2つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 本発明の第3の実施形態にかかるメモリーコントローラの主制御部によってグループ化されたページグループの具体例を説明する図である。 図10に示した3つのフラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。 従来の不揮発性記憶装置での多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図である。 図12に示した多値フラッシュメモリへのデータの具体的な書き込み動作を示すタイミングチャートである。 従来の不揮発性記憶装置での2つの多値フラッシュメモリの物理ブロックへの書き込み順序を説明する図である。 図14に示した2つの多値フラッシュメモリに対するデータの具体的な書き込み動作を示すタイミングチャートである。

Claims (4)

  1. 2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリの駆動制御を行うメモリーコントローラであって、
    複数の前記物理ブロックに対して、データをインターリーブして書き込み可能に構成された主制御部を備え、
    前記複数の各物理ブロックには、第1〜第pのp個(pは、2以上の整数)の前記多値メモリセルが含まれ、
    前記p個の各多値メモリセルには、第1ページと、前記第1ページに対して当該第1ページよりもデータの書き込み処理に要する時間が順次長くなる第nページ(nは、2以上の整数)までのn個のページが、データの書き込み単位としての物理ページとして設けられ、
    前記複数の各物理ブロックでは、前記p個の多値メモリセルに設けられた全ての前記物理ページに対して、所定の順番でページ番号が順次割り付けられている場合に、
    前記主制御部は、前記複数の物理ブロックに対して、これらの各物理ブロックに設けられた物理ページを含んだページグループを複数設定するとともに、前記ページグループの境界が、前記第nページの物理ページの後に設けられるように、前記複数の物理ブロックの物理ページをグループ化する、
    ことを特徴とするメモリーコントローラ。
  2. 前記主制御部は、前記複数の各ページグループにおいて、前記複数の各物理ブロックの同じページ番号の物理ページが含まれるように、前記複数の物理ブロックの物理ページをグループ化する請求項1に記載のメモリーコントローラ。
  3. 前記不揮発性メモリに書き込まれる書き込みデータが外部から入力された場合、前記主制御部は、前記ページグループに含まれた複数の物理ページのうち、第1ページの物理ページに対し書き込みデータの転送を行ったときには、当該物理ページと同一のページグループに含まれた同一の物理ブロックの他の物理ページに対し書き込みデータの転送を行い、かつ、第nページの物理ページに対し書き込みデータの転送を行ったときには、当該第nページの物理ページの物理ブロックとは異なる別の物理ブロックの物理ページに対し書き込みデータの転送を行う請求項1または2に記載のメモリーコントローラ。
  4. 2ビット以上のデータを記憶可能に構成された多値メモリセルを物理ブロックに用いた不揮発性メモリ、及び
    請求項1〜3のいずれか1項に記載のメモリーコントローラ
    を備えていることを特徴とする不揮発性記憶装置。
JP2008551592A 2007-07-20 2008-07-16 メモリーコントローラ、及びこれを用いた不揮発性記憶装置 Withdrawn JPWO2009013879A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007190004 2007-07-20
JP2007190004 2007-07-20
PCT/JP2008/001904 WO2009013879A1 (ja) 2007-07-20 2008-07-16 メモリーコントローラ、及びこれを用いた不揮発性記憶装置

Publications (1)

Publication Number Publication Date
JPWO2009013879A1 true JPWO2009013879A1 (ja) 2010-09-30

Family

ID=40281140

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008551592A Withdrawn JPWO2009013879A1 (ja) 2007-07-20 2008-07-16 メモリーコントローラ、及びこれを用いた不揮発性記憶装置

Country Status (3)

Country Link
US (1) US20100325342A1 (ja)
JP (1) JPWO2009013879A1 (ja)
WO (1) WO2009013879A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010020715A (ja) * 2008-07-14 2010-01-28 Toshiba Corp 半導体メモリコントローラおよび半導体メモリシステム
TWI425512B (zh) * 2009-06-16 2014-02-01 Phison Electronics Corp 快閃記憶體控制電路及其儲存系統與資料傳輸方法
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8180994B2 (en) * 2009-07-08 2012-05-15 Sandisk Technologies Inc. Optimized page programming order for non-volatile memory
JP4956593B2 (ja) * 2009-09-08 2012-06-20 株式会社東芝 メモリシステム
US9092340B2 (en) * 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
US20110153912A1 (en) * 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
US8417877B2 (en) * 2010-08-31 2013-04-09 Micron Technology, Inc Stripe-based non-volatile multilevel memory operation
TWI514141B (zh) * 2013-08-08 2015-12-21 Phison Electronics Corp 記憶體位址管理方法、記憶體控制器與記憶體儲存裝置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3105092B2 (ja) * 1992-10-06 2000-10-30 株式会社東芝 半導体メモリ装置
JP3922487B2 (ja) * 1998-02-04 2007-05-30 松下電器産業株式会社 メモリ制御装置および方法
EP0935199B1 (en) * 1998-02-04 2011-05-04 Panasonic Corporation Memory control unit and memory control method and medium containing program for realizing the same
US7934074B2 (en) * 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP4014801B2 (ja) * 2000-12-28 2007-11-28 株式会社ルネサステクノロジ 不揮発性メモリ装置
JP2003036681A (ja) * 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
US7290109B2 (en) * 2002-01-09 2007-10-30 Renesas Technology Corp. Memory system and memory card
JP4050548B2 (ja) * 2002-04-18 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data

Also Published As

Publication number Publication date
US20100325342A1 (en) 2010-12-23
WO2009013879A1 (ja) 2009-01-29

Similar Documents

Publication Publication Date Title
JPWO2009013879A1 (ja) メモリーコントローラ、及びこれを用いた不揮発性記憶装置
CN108572933B (zh) 用于直接存储器存取的数据缓冲器指针找取
CN101639808B (zh) 非易失性存储设备中的数据管理方法及非易失性存储系统
US8144515B2 (en) Interleaved flash storage system and method
US20080250220A1 (en) Memory system
US8654563B2 (en) Control and operation of non-volatile memory
JP5728672B2 (ja) ハイブリッドメモリ管理
EP2939100B1 (en) Method and system for asynchronous die operations in a non-volatile memory
US9069662B2 (en) Semiconductor device and method of controlling non-volatile memory device
US9465732B2 (en) Binning of blocks for dynamic linking
CN101593084A (zh) 存储器系统和操作存储器系统的方法
JP2008524706A5 (ja)
CN112201292A (zh) 控制器及其操作方法
US20140164679A1 (en) Dynamic Block Linking with Individually Configured Plane Parameters
JPWO2006051780A1 (ja) 不揮発性メモリ装置および不揮発性メモリ装置のアクセス方法
CN111796759B (zh) 多平面上的片段数据读取的计算机可读取存储介质及方法
CN101630289A (zh) 存储器控制器、存储器系统及用于存储器系统的控制方法
CN101976182A (zh) 一种固态硬盘预读取的方法及其装置
KR20200003055A (ko) Nand 버퍼를 갖는 nand 플래시 저장 디바이스
US10042553B2 (en) Method and system for programming a multi-layer non-volatile memory having a single fold data path
US8856425B2 (en) Method for performing meta block management, and associated memory device and controller thereof
CN101593556B (zh) 对非易失性存储器件进行编程的方法
US20150261448A1 (en) Memory system, memory controller and control method of non-volatile memory
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
WO2005038655A1 (ja) 半導体メモリ装置及びコントローラ並びにその読み書き制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110616

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20120206