(57)【要約】      （修正有）【課題】書き込み単位の大きな不揮発性メモリを制御するために容量の大きなバッファメモリを搭載した不揮発性記憶装置において、短時間での読み出しデータの出力を実現する。【解決手段】データを一時的に格納するためにバッファメモリを、外部装置とのデータの転送単位にあわせた第１のバッファメモリと、不揮発性メモリの書き込み単位にあわせた第２のバッファメモリの２段階で構成する。外部からのデータは、第１のバッファメモリと第２のバッファメモリを経由して不揮発性メモリとの間を転送する。第１のバッファメモリは外部装置から印加されるクロックと不揮発性記憶装置内部のクロックとを切り替えて動作する。第２のバッファメモリは不揮発性記憶装置内部のクロックで動作する。【選択図】図１
2011013736.tif 000002
【特許請求の範囲】
【請求項１】
不揮発性メモリと、第１のバッファメモリと、第２のバッファメモリとデータコントローラと発振器とからなる不揮発性記憶装置において、
前記不揮発性記憶装置は前記不揮発性記憶装置外部からのデータの書き込み・読み出しが可能で、
前記不揮発性記憶装置外部からのデータの書き込み・読み出しのための、前記不揮発性記憶装置外部と前記第１のバッファメモリとの第１のデータの転送が、前記不揮発性記憶装置外部から供給されるクロックに同期して行われ、
前記第１のバッファメモリと前記第２のバッファメモリとの間の第２のデータ転送、
および前記第２のバッファメモリと前記不揮発性メモリとの間の第３のデータ転送が、前記データコントローラによって、前記発振器で生成するクロックに同期して行われる
ことを特徴とする不揮発性記憶装置。
【請求項２】
前記第１のバッファメモリの容量が前記不揮発性記憶装置外部と前記不揮発性記憶装置とのデータ転送単位の整数倍の容量を持ち
前記第２のバッファメモリの容量が前記不揮発性メモリのデータ書き込み単位の整数倍の容量を持つ
ことを特徴とする請求項１に記載の不揮発性記憶装置
【請求項３】
前記不揮発性記憶装置は、前記不揮発性記憶装置外部から供給される電源を前記不揮発性記憶装置内部に対して部分的に供給を制限可能な電源制御回路をさらに備え、
前記電源制御回路は前記第２のデータ転送および、前記第３のデータ転送が行われていない期間に前記第２のバッファメモリの電源の供給を制限する
ことを特徴とする請求項１に記載の不揮発性記憶装置
【請求項４】
前記第１のバッファメモリは前記外部装置のデータ転送単位のデータを記憶する第１のセクターメモリおよび第２のセクターメモリからなり、
前記第１のセクターメモリに対して前記第１のデータ転送を行っているときには前記第２のセクターメモリに対して前記第２のデータ転送を行い、
前記第２のセクターメモリに対して前記第１のデータ
転送を行っているときには前記第１のセクターメモリに対して前記第２のデータ転送を行う
ことを特徴とする請求項１に記載の不揮発性記憶装置
【請求項５】
前記不揮発性記憶装置はデータ演算部をさらに備え、
前記データコントローラはさらに
前記データ演算部を用いて前記第１のバッファメモリと前記第２のバッファメモリとの間でデータ演算を処理しながらデータの転送を行う第４のデータ転送を制御する
ことを特徴とする請求項１に記載の不揮発性記憶装置
【請求項６】
第１のバッファメモリと、第２のバッファメモリとデータコントローラと発振器とからなり、不揮発性メモリを制御可能な不揮発性メモリコントローラにおいて、
前記不揮発性メモリコントローラは前記不揮発性メモリをデータの記憶領域とすることで、前記メモリコントローラ外部からのデータの書き込み・読み出しが可能で、
前記不揮発性メモリコントローラ外部からのデータの書き込み・読み出しのための、前記不揮発性メモリコントローラ外部と前記第１のバッファメモリとの第１のデータの転送が、前記不揮発性メモリコントローラ外部から供給されるクロックに同期して行われ、
前記第１のバッファメモリと前記第２のバッファメモリとの間の第２のデータ転送、
および前記第２のバッファメモリと前記不揮発性メモリとの間の第３のデータ転送が、前記データコントローラによって、前記発振器で生成するクロックに同期して行われる
ことを特徴とする不揮発性メモリコントローラ。
【請求項７】
前記第１のバッファメモリの容量が前記不揮発性メモリコントローラ外部と前記不揮発性メモリコントローラとのデータ転送単位の整数倍の容量を持ち
前記第２のバッファメモリの容量が前記不揮発性メモリのデータ書き込み単位の整数倍の容量を持つ
ことを特徴とする請求項６に記載の不揮発性メモリコントローラ
【請求項８】
前記不揮発性メモリコントローラは、前記不揮発性メモリコントローラ外部から供給される電源を前記不揮発性メモリコントローラ内部に対して部分的に供給を制限可能な電源制御回路をさらに備え、
前記電源制御回路は前記第２のデータ転送および、前記第３のデータ転送が行われていない期間に前記第２のバッファメモリの電源の供給を制限する
ことを特徴とする請求項６に記載の不揮発性メモリコントローラ
【請求項９】
前記第１のバッファメモリは前記不揮発性メモリコントローラ外部からの転送されるデータ転送単位のデータを記憶する第１のセクターメモリおよび第２のセクターメモリからなり、
前記第１のセクターメモリに対して前記第１のデータ転送を行っているときには前記第２のセクターメモリに対して前記第２のデータ転送を行い、
前記第２のセクターメモリに対して前記第１のデータ
転送を行っているときには前記第１のセクターメモリに対して前記第２のデータ転送を行う
ことを特徴とする請求項６に記載の不揮発性メモリコントローラ
【請求項１０】
前記不揮発性メモリコントローラはデータ演算部をさらに備え、
前記データコントローラはさらに
前記データ演算部を用いて前記第１のバッファメモリと前記第２のバッファメモリとの間でデータ演算を処理しながらデータの転送を行う第４のデータ転送を制御する
ことを特徴とする請求項６に記載の不揮発性メモリコントローラ
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリ等の不揮発性メモリを用いた不揮発性記憶装置及びその不揮発性メモリを制御する不揮発性メモリコントローラに関する。
【背景技術】
【０００２】
不揮発性メモリを搭載した不揮発性記憶装置は、メモリカードとして実用化されており、デジタルカメラや携帯電話のメモリカードとして市場を拡大している。メモリカードはデジタルカメラの高画素化や、携帯電話での動画記録等の用途へ向けて大容量化の拡がりを見せている。
【０００３】
メモリカードで使用されている主な不揮発性メモリはフラッシュメモリである。フラッシュメモリはプロセスルールを微細化すること、およびメモリセルを多値化することで大容量化を実現している。大容量化はフラッシュメモリのデータの書き込み単位の拡大につながる。これは、半導体メモリチップの面積に占めるメモリセルの面積率を維持することで微細化による容量の増加を維持するためである。仮に書き込み単位を維持したままで大容量化を行った場合には、結果として周辺回路部を含むメモリセル領域以外の面積の割合を増加させることになり、プロセスの微細化による大容量化の恩恵を十分には得られないことになる。
【０００４】
この書き込み単位の拡大に伴い不揮発性メモリを制御するコントローラに備えている書き込み単位の容量を持つバッファメモリの容量も増加させる必要がある。特許文献１では、書き込み単位のバッファメモリを持つ構成について開示されている。単純に書き込み単位のバッファメモリを持つ構成をとった場合には、バッファメモリのサイズの増加に伴い、データの読み出し時における最初のデータの出力までの長時間化や、静止時電流の増加につながる。この課題については後で説明する。
【０００５】
なお、特許文献１にあげられている発明として挙げられている技術は、別の視点で必要となる処理を実現出来ないという問題点がある。不揮発性メモリの大容量化に伴うデータの消去単位の増加に対応して、書き込み性能を向上維持させるためのデータの管理方法として特許文献２および特許文献３に記載の手段を使用する場合に、不揮発性メモリのある物理ブロックに格納したデータの一部を異なる物理ブロックにコピーするという処理が必要になる。この処理を実現するためには不揮発性メモリを制御するコントローラに不揮発性メモリの書き込み単位のデータを一時的に格納するためのバッファメモリをさらに備えることが必須になるからである。
【０００６】
特許文献１に挙げられている従来の技術を使用して構成した不揮発性記憶装置を図７に示す。
【０００７】
外部装置１１００は後述する不揮発性記憶装置１１０１に対してアドレスを指定したコマンドを発行することで不揮発性記憶装置１１０１に対してデータの書き込みおよびデータの読み出しを行う。
【０００８】
不揮発性記憶装置１１０１は内部にデータを不揮発で記憶することが可能であると共に、外部に接続する外部装置１１００からのアドレスを指定した書き込みまたは読み出しの命令に応じてデータを格納または出力する。
【０００９】
不揮発性記憶装置１１０１は、不揮発性メモリ部１１０２、制御部１１０３、ホストＩ／Ｆ部１１０４、不揮発性メモリＩ／Ｆ１１０５、ＶＣＯ１１０７、クロック制御部１１０８、バッファメモリ部１１１０で構成される。
【００１０】
不揮発性メモリ部１１０２は不揮発性記憶装置１１０１に内部においてデータを不揮発性で記憶する。不揮発性メモリ部１１０２は一般的にはＮＡＮＤタイプのフラッシュメモリを使用することが多い。従って不揮発性メモリ部１１０２はデータの書き込み単位は固定である。ここではデータの書き込み単位、一般的にフラッシュメモリのページサイズと同一であるが、この値を約４ＫＢとして説明する。ここで、正確に４ＫＢではなく約４ＫＢとなるのは、一般的にＮＡＮＤタイプのフラッシュメモリにおいては、各ページに誤り訂正符号等を含む管理データを書き込む領域が数１０バイトから数１００バイト存在するためである。
【００１１】
制御部１１０３は不揮発性記憶装置１１０１内部の制御を行うことで外部装置１１００から不揮発性記憶装置１１０１に入力されるデータを不揮発性メモリ部１１０２に書き込む、また不揮発性メモリ部１１０２に書き込まれたデータを読み出して不揮発性記憶装置１１０１から外部装置１１００に出力する。
【００１２】
ホストＩ／Ｆ部１１０４は不揮発性記憶装置１１０１内部において外部装置１１００からのコマンドを受け付けると共に、外部装置１１００からのデータの入力および外部装置１１００へのデータの出力を制御する。
【００１３】
不揮発性メモリＩ／Ｆ１１０５は不揮発性記憶装置１１０１内部において不揮発性メモリ部１１０２へのデータの書き込みおよび、不揮発性メモリ１１０２からのデータの読み出しを制御する。
【００１４】
ＶＣＯ（Ｖｏｌｔａｇｅ  ｃｏｎｔｒｏｌｌｅｄ  ｏｓｃｉｌｌａｔｏｒ）１１０７は不揮発性記憶装置１１０１内部で使用するクロックを制御する発振器である。
【００１５】
クロック制御部１１０８は外部装置１１００から供給されるクロック（以降外部クロックと表記）とＶＣＯ１１０７から供給されるクロックを基にして生成するクロック（以降内部クロックと表記）を選択して不揮発性記憶装置１１０１内部の各機能部に供給する。クロック制御部１１０８は不揮発性記憶装置１０１内部を外部クロックと内部クロックの領域を明確に分割して管理している。
【００１６】
バッファメモリ部１１１０は不揮発性メモリ部１１０２の書き込み単位もしくは書き込み単位を格納可能な容量の整数個のメモリからなる。ここでは不揮発性メモリ部１１０２の書き込み単位を約４ＫＢとしているので約４ＫＢの容量のバッファメモリ２つからなる。
【００１７】
バッファメモリ部１１１０の詳細を図８に示す。図８（ａ）に示すようにバッファメモリ部１１１０は１２０１のバッファメモリＡと、１２０２のバッファメモリＢからなる。ホストＩ／Ｆ部１１０４との間にはセレクタ１２０３が、不揮発性メモリＩ／Ｆ１１０５との間にはセレクタ２０４がある。クロック制御部１１０８はバッファメモリ部１１１０に対して外部クロックと内部クロックの双方を供給する。
【００１８】
図８（ｂ）はセレクタ１２０３がホストＩ／Ｆ部１１０４とバッファメモリＡ１２０１とを接続し、セレクタ１２０４が不揮発性メモリＩ／Ｆ１１０５とバッファメモリＢ１２０２とを接続した時の図である。点線よりも上側の領域にはクロック制御部１１０８が外部クロックを供給する。点線よりも下側の領域にはクロック制御部１１０８が内部クロックを供給する。
【００１９】
図８（ｃ）はセレクタ２０３がホストＩ／Ｆ部１０４とバッファメモリＢ１２０２とを接続し、セレクタ２０４が不揮発性メモリＩ／Ｆ１１０５とバッファメモリＡ１２０１とを接続した時の図である。点線よりも上側の領域にはクロック制御部１１０８が内部クロックを供給する。点線よりも下側の領域にはクロック制御部１１０８が外部クロックを供給する。
【００２０】
以上のように異なるクロックの供給を可能にするために、バッファメモリＡ１２０１とバッファメモリＢ１２０２とは物理的に別個のバッファメモリで構成する。このように明確にクロックの領域を分割する構成をとることで、外部クロックと内部クロックという周波数の異なるクロックでの制御の容易化を実現している。
【００２１】
図９に不揮発性記憶装置１１０１からのデータの読み出し時におけるタイミングチャートを示す。
【００２２】
図９には上から順に
・外部装置１１００からのコマンドおよび読み出しデータの出力
・不揮発性メモリＩ／Ｆ部１１０５による不揮発性メモリ部１１０２からバッファメモリ部１１１０へのデータの転送（バッファメモリＡ１２０１とバッファメモリＢ１２０２別）
・バッファメモリ部１１１０における格納データを、バッファメモリに書き込みを行ってからバッファメモリから読み出すまで
・ホストＩ／Ｆ部１１０４によるバッファメモリ部１１１０から外部装置１１００へのデータ転送（バッファメモリＡ１２０１とバッファメモリＢ１２０２別）
またタイミングチャートにおいて枠内に記載の数字は不揮発性記憶装置１１０１から外部装置１１００に読み出されるデータの論理的な順番を示す番号である。
【００２３】
最初に外部装置１１００が不揮発性記憶装置１１０１に対してアクセスしていないときには、バッファメモリ部１１１０における接続状態およびクロックの状態は図８（ｃ）の状態であるとする。
【００２４】
時間ｔ１３０１で、外部装置１１００は不揮発性記憶装置１１０１に対してアドレスを指定した読み出しのコマンドを発行する。それを受けて不揮発性記憶装置１１０１内部では不揮発性メモリＩ／Ｆ１１０５は不揮発性メモリ部１１０２に対してデータの読み出しを指示する。
【００２５】
時間ｔ１３０２は、不揮発性メモリ部１１０２からのデータの読み出しが可能になるタイミングである。不揮発性メモリＩ／Ｆ１１０５は不揮発性メモリ部１１０２からデータを読み出してバッファメモリ部１１１０への転送を開始する。
【００２６】
時間ｔ１３０３は、不揮発性メモリＩ／Ｆ１１０５によって不揮発性メモリ部１１０２からバッファメモリ部１１１０のバッファメモリＡ１２０１対して４ＫＢのデータ転送を終えたタイミングである。バッファメモリＡ１２０１にデータが転送されたことを受けて、制御部１１０３はセレクタ１２０３およびセレクタ１２０４の接続状態を切り替える。同時にクロック制御部１１０８はバッファメモリ部１１１０に対するクロックの供給を切り替える。その結果バッファメモリ部１１１０における接続状態およびクロックの状態は図８（ｂ）の状態となる。つまり不揮発性メモリ部１１０２から読み出したデータはバッファメモリＡ１２０１に格納されており、バッファメモリＡ１２０１はホストＩ／Ｆ部１１０４と接続されている。この時間ｔ１３０３以降、ホストＩ／Ｆ部１１０４を経由して不揮発性記憶装置１１０１から外部装置１１００にデータ出力が開始される。
【００２７】
以降不揮発性記憶装置１１０１は外部装置１１００に対してデータの出力を継続する。ここで、ｔ１３０１の読み出しコマンドからｔ１３０３の最初のデータの出力開始までの時間は
（１）．不揮発性メモリ部１１０２に読み出しを指定してから読み出しが可能になるまで
（２）．不揮発性メモリＩ／Ｆ部１１０４による不揮発性メモリ部１１０２からバッファメモリ部１１１０への４ＫＢのデータの転送
からなる。
【００２８】
（１）の読み出しが可能になるまでの時間（以降ｔＲと表記）は、従来の不揮発性メモリでは数十μｓであったが、メモリセルの多値化が進むに従い数百μｓにまで長くなってきている。
（２）は不揮発性メモリＩ／Ｆ１０５の性能に依存するが、バス幅を８ビット、サイクルタイムを３０ｎｓとしてオーバヘッドも考慮して１２８μｓ程度。
【００２９】
合計でｔＲ＋１２８μｓ程度となる。
【００３０】
図１０に不揮発性記憶装置１１０１からのデータの書き込み時におけるタイミングチャートを示す。
【００３１】
図１０には上から順に
・外部装置１００からのコマンドおよび書き込みデータの入力
・ホストＩ／Ｆ部１１０４による外部装置１１００からバッファメモリ部１１１０へのデータ転送（バッファメモリＡ１２０１とバッファメモリＢ１２０２別）
・バッファメモリ部１１１０における格納データを、バッファメモリに書き込みを行ってからバッファメモリから読み出すまで
・不揮発性メモリＩ／Ｆ部１１０５によるバッファメモリ部１１１０から不揮発性メモリ部１１０２へのデータの転送（バッファメモリＡ３０１とバッファメモリＢ３０２別）
を示している。またタイミングチャートにおいて枠内に記載の数字は外部装置１１００から不揮発性記憶装置１１０１に書き込まれるデータの論理的な順番を示す番号である。
【００３２】
最初にバッファメモリ部１１１０における接続状態およびクロックの状態は図８（ｂ）の状態であるとする。
【００３３】
時間ｔ１４０１で、外部装置１１００は不揮発性記憶装置１１０１に対してアドレスを指定した書き込みのコマンドを発行する。そして外部装置１１００は不揮発性記憶装置１１０１に対して書き込みデータの転送を開始する。ホストＩ／Ｆ部１１０４は外部装置１１００から入力されるデータをバッファメモリＡ１２０１に転送する。
【００３４】
この時、外部装置１１００からは書き込みのコマンド発行直後に書き込みデータがバッファメモリ部１１１０に転送されるのでバッファメモリＡ１２０１は常に使用可能な状態である必要がある。
【００３５】
時間ｔ１４０２は、ホストＩ／Ｆ部１１０４によって外部装置１１００からバッファメモリＡ１２０１への４ＫＢのデータの転送が終了したタイミングである。バッファメモリ部１１１０の外部クロック領域にあるバッファメモリＡ１２０１にデータが格納されたことを受けて、制御部１１０３はセレクタ１２０３およびセレクタ１２０４の接続状態を切り替える。同時にクロック制御部１１０８はバッファメモリ部１１１０に対するクロックの供給を切り替える。その結果バッファメモリ部１１１０における接続状態およびクロックの状態は図８（ｃ）の状態となる。つまり外部装置１１００から転送されたデータはバッファメモリＡ１２０１に格納されており、バッファメモリＡ１２０１は不揮発性メモリＩ／Ｆ１１０５に接続されている。
【００３６】
この４ＫＢは不揮発性メモリ部１１０２の書き込み単位に相当する容量である。不揮発性メモリ部１１０２の書き込み単位のデータが準備できたことを受けて、不揮発メモリＩ／Ｆ１１０５はバッファメモリＡ１２０１から不揮発性メモリ１１０２にデータの転送を開始する。
【００３７】
またホストＩ／Ｆ部１０４と接続されたバッファメモリＢ１２０２はまだ外部装置１１００からの書き込みデータが転送されていない状態である。従って、ホストＩ／Ｆ部１０４は外部装置１１００から続く４ＫＢのデータのバッファメモリＢ１２０２への転送を継続する。
【先行技術文献】
【特許文献】
【００３８】
【特許文献１】特開２００２−２８８０３４号公報
【特許文献２】特開２００１−１５４９０９号公報
【特許文献３】国際公開第２００５／１０６６７３号
【発明の概要】
【発明が解決しようとする課題】
【００３９】
特許文献２および特許文献３に示される管理方法を使用するために、不揮発性メモリの書き込み単位もしくはそれ以上のバッファメモリを不揮発性記憶装置に備えた場合には、書き込み単位のデータがバッファメモリに格納されるまで待つ必要があるために不揮発性記憶装置からデータを読み出す際に最初のデータの出力までの時間が長くなるという課題があった。
【００４０】
また、当該バッファメモリはデータの書き込みのためにも使用する。一般的なデータの不揮発性記憶装置のデータの書き込みにおいては、書き込みのコマンドと同時に書き込みデータの転送が行われる。そのため、バッファメモリは常に使用可能な状態を維持する必要があり、結果として不揮発性記憶装置の静止時電流が増加するという課題もあった。
【課題を解決するための手段】
【００４１】
この課題を解決するために、本発明の不揮発性記憶装置は、不揮発性メモリと、第１のバッファメモリと、第２のバッファメモリとデータコントローラと発振器とからなり、外部からのデータの書き込み・読み出しが可能で、不揮発性記憶装置外部からのデータの書き込み・読み出しのための、外部と第１のバッファメモリとの第１のデータの転送が、外部から供給されるクロックに同期して行われ、第１のバッファメモリと第２のバッファメモリとの間の第２のデータ転送、および第２のバッファメモリと不揮発性メモリとの間の第３のデータ転送が、データコントローラによって、発振器で生成するクロックに同期して行われる。
【００４２】
また本発明の不揮発性メモリコントローラは、バッファメモリと、バッファメモリとデータコントローラと発振器とからなり、不揮発性メモリの制御を行い、不揮発性メモリコントローラは不揮発性メモリをデータの記憶領域とすることで、メモリコントローラ外部からのデータの書き込み・読み出しが可能で、不揮発性メモリコントローラ外部からのデータの書き込み・読み出しのための、外部と第１のバッファメモリとの第１のデータの転送が、外部から供給されるクロックに同期して行われ、第１のバッファメモリと第２のバッファメモリとの間の第２のデータ転送、および第２のバッファメモリと不揮発性メモリとの間の第３のデータ転送が、データコントローラによって、発振器で生成するクロックに同期して行われる。
【発明の効果】
【００４３】
本発明によれば、不揮発性記憶装置内の不揮発性メモリへの書き込み・読み出しのデータを一時的に格納するためにバッファメモリを、外部装置とのデータの転送単位にあわせた第１のバッファメモリと、不揮発性メモリの書き込み単位にあわせた第２のバッファメモリの２段階で構成する。第１のバッファメモリは外部装置から印加されるクロックと不揮発性記憶装置内部のクロックとを切り替えて動作する。第２のバッファメモリは不揮発性記憶装置内部のクロックで動作する。そうすることで不揮発性メモリから読み出したデータを外部装置とのデータの転送単位で扱うことができるため、不揮発性メモリの書き込み単位の増加によることなく短時間での読み出しデータの出力を実現できる。
【図面の簡単な説明】
【００４４】
【図１】本発明の不揮発性記憶装置の構成図
【図２】本発明の不揮発性記憶装置の第１のバッファメモリの構成図
【図３】本発明の不揮発性記憶装置の第２のバッファメモリの構成図
【図４】本発明の不揮発性記憶装置のデータ読み出しのタイミングチャートを示す図
【図５】本発明の不揮発性記憶装置のデータ書き込みのタイミングチャートを示す図
【図６】本発明の不揮発性記憶コントローラの構成図
【図７】本発明の不揮発性記憶装置の構成図
【図８】本発明の不揮発性記憶装置のバッファメモリ部の構成図
【図９】本発明の不揮発性記憶装置のデータ読み出しのタイミングチャートを示す図
【図１０】本発明の不揮発性記憶装置のデータ書き込みのタイミングチャートを示す図
【発明を実施するための形態】
【００４５】
図面を参照して本発明に係わる不揮発性記憶装置の実施形態について説明する。
図１に本発明の不揮発性記憶装置の構成を示す。
【００４６】
不揮発性記憶装置１０１は、不揮発性メモリ部１０２、データコントローラ１０３、ホストＩ／Ｆ部１０４、不揮発性メモリＩ／Ｆ１０５、電源制御部１０６、ＶＣＯ１０７、クロック制御部１０８、第１のバッファメモリ１０９、第２のバッファメモリ１１０、データ演算部１１１で構成される。不揮発性記憶装置１０１は内部にデータを不揮発で記憶することが可能であると共に、外部に接続する外部装置１００からのアドレスを指定した書き込みまたは読み出しの命令に応じてデータを格納または出力する。不揮発性記憶装置１０１は一般的には小型のメモリカードやＵＳＢフラッシュメモリであり、外部装置１００に対して着脱可能な構成をとる。
【００４７】
外部装置１００は不揮発性記憶装置に対してアドレスを指定したコマンドを発行することで不揮発性記憶装置に対してデータの書き込みおよびデータの読み出しを行う。
【００４８】
不揮発性メモリ部１０２は不揮発性記憶装置１０１に内部においてデータを不揮発性で記憶する。不揮発性メモリ部１０２は一般的にはＮＡＮＤタイプのフラッシュメモリを使用することが多い。従って不揮発性メモリ部１０２はデータの書き込み単位は固定である。ここではデータの書き込み単位、一般的にフラッシュメモリのページサイズと同一であるが、この値を約４ＫＢとして説明する。ここで、正確に４ＫＢではなく約４ＫＢとなるのは、一般的にＮＡＮＤタイプのフラッシュメモリにおいては、各ページに誤り訂正符号等を含む管理データを書き込む領域が数１０バイトから数１００バイト存在するためである。
【００４９】
データコントローラ１０３は不揮発性記憶装置１０１内部の制御を行うことで外部装置１００から不揮発性記憶装置１０１に入力されるデータを不揮発性メモリ部１０２に書き込む、また不揮発性メモリ部１０２に書き込まれたデータを読み出して不揮発性記憶装置１０１から外部装置１００に出力する。
【００５０】
ホストＩ／Ｆ部１０４は不揮発性記憶装置１０１内部において外部装置１００からのコマンドを受け付けると共に、外部装置１００からのデータの入力および外部装置１００へのデータの出力を制御する。
【００５１】
不揮発性メモリＩ／Ｆ１０５は不揮発性記憶装置１０１内部において不揮発性メモリ部１０２へのデータの書き込みおよび、不揮発性メモリ１０２からのデータの読み出しを制御する。
【００５２】
電源制御部１０６は外部装置１００から供給される電源を制御して不揮発性記憶装置１０１の各部に供給する。また、外部装置１００から不揮発性記憶装置１０１に対するデータの書き込み・読み出しが発生しない場合には、電源制御部１０６は必要に応じて不揮発性制御部１０１内部の一部の機能部や一部のメモリ部に対する電源供給を停止する。そうすることで不揮発性記憶装置１０１の静止時電流を低減する。
【００５３】
ＶＣＯ１０７は不揮発性記憶装置１０１内部で使用するクロックを生成する発振器である。
【００５４】
クロック制御部１０８は外部装置１００から供給されるクロック（以降外部クロックと表記）とＶＣＯ１０７から供給されるクロックを基にして生成するクロック（以降内部クロックと表記）を選択して不揮発性記憶装置１０１内部の各機能部に供給する。内部クロックは1種類だけではなく複数種類のクロック周波数があり、それぞれのクロック周波数は簡単な整数の比となる。
【００５５】
本実施形態においては様々な種類の外部装置１００に対して対応可能なおける不揮発性記憶装置１０１を想定している。従って外部装置１００から供給される外部クロックの周波数は固定でなない。外部クロックの周波数が変化しても、間欠クロックとして供給されても問題ない構成をとる。その為に後で説明するが、不揮発性記憶装置１０１内部では外部クロックと内部クロックの領域を明確に分割して管理している。
【００５６】
第１のバッファメモリ１０９は２つのバッファメモリからなる。それぞれのバッファメモリは外部装置１００と不揮発性記憶装置１０１との間のデータの転送単位もしくは転送単位を格納可能な容量を持つ。ここでは外部装置１００と不揮発性記憶装置１０１とのデータの転送単位を５１２Ｂとして５１２Ｂの容量のバッファメモリの２つからなる。
【００５７】
第２のバッファメモリ１１０は不揮発性メモリ部１０２の書き込み単位もしくは書き込み単位を格納可能な容量の整数個のメモリからなる。ここでは不揮発性メモリ部１０２の書き込み単位を約４ＫＢとしているので約４ＫＢの容量のバッファメモリ２つからなる。
【００５８】
データ演算部１１１は第１のバッファメモリ１０９と第２のバッファメモリ１１０との間のデータの転送を行うと共に、データコントローラ１０３の制御に従い、必要に応じてデータの暗号化・復号化を目的としたデータの演算を行う。演算の必要がない場合にはデータの転送のみを行う。
【００５９】
第１のバッファメモリ１０９の詳細を図２に示す。図２（ａ）に示すように第１のバッファメモリ１０９は２０１のバッファメモリａと、２０２のバッファメモリｂからなる。ホストＩ／Ｆ部１０４との間にはセレクタ２０３が、データ演算部１１１との間にはセレクタ２０４がある。クロック制御部１０８は第１のバッファメモリ１０９に対して外部クロックと内部クロックの双方を供給する。
【００６０】
図２（ｂ）はセレクタ２０３がホストＩ／Ｆ部１０４とバッファメモリａ２０１とを接続し、セレクタ２０４がデータ演算部１１１とバッファメモリｂ２０２とを接続した時の図である。点線よりも上側の領域にはクロック制御部１０８が外部クロックを供給する。点線よりも下側の領域にはクロック制御部１０８が内部クロックを供給する。
【００６１】
図２（ｃ）はセレクタ２０３がホストＩ／Ｆ部１０４とバッファメモリｂ２０２とを接続し、セレクタ２０４がデータ演算部１１１とバッファメモリａ２０１とを接続した時の図である。点線よりも上側の領域にはクロック制御部１０８が内部クロックを供給する。点線よりも下側の領域にはクロック制御部１０８が外部クロックを供給する。
【００６２】
以上のように異なるクロックの供給を可能にするために、バッファメモリａ２０１とバッファメモリｂ２０２とは物理的に別個のバッファメモリで構成する。このように明確にクロックの領域を分割する構成をとることで、外部クロックと内部クロックという周波数の異なるクロックでの制御の容易化を実現している。
【００６３】
第２のバッファメモリ１１０の詳細を図３に示す。図３に示すように第２のバッファメモリ１１０は３０１のバッファメモリAと３０２のバッファメモリBとからなる。それぞれ５１２Bの領域の８個からなり容量は約４KBであり、バッファメモリＡ３０１とバッファメモリＢ３０２とを併せて８ＫＢの容量になる。
【００６４】
ここで第２のバッファメモリの容量を不揮発性メモリ部１０２の書き込み単位の２倍の値にしているのは、ＮＡＮＤタイプのフラッシュメモリには２ページを同時に書き込みする機能を有するものがあり、そういった機能を有する不揮発性メモリ部１０２への対応のためである。
【００６５】
クロック制御部１０８が第２のバッファメモリ１１０に供給するクロックは内部クロックのみである。従ってデータ演算部１１１からのデータの転送と不揮発性メモリＩ／Ｆ１０５からのデータ転送とは内部クロックに同期して接続を切り替えることで、容易に双方からの書き込みおよび読み出しを実現することが出来る。
【００６６】
従って、第２のバッファメモリを構成する単位としてここで示した５１２Ｂという単位は、アドレスによる論理的な分割であり、物理的に異なるバッファメモリで構成する必要はない。むしろ大きな容量の１つのバッファメモリで構成する方が半導体チップにおけるバッファメモリの面積を小さくすることができるので望ましい。
【００６７】
電源制御部１０６は、外部装置１００から不揮発性記憶装置１０１に対するデータの書き込み・読み出しが発生しない場合には、第２のバッファメモリへの電源の供給を停止することで不揮発性記憶装置１０１の静止時電流を低減する。
【００６８】
一般的に揮発性のメモリは論理回路や不揮発性のメモリに対して静止時電流が大きいので、第２のバッファメモリ１１０への電源の供給を停止することは、半導体記憶装置１０１の静止時電流の低減に大きく寄与する。
【００６９】
図４に本発明の不揮発性記憶装置１０１からのデータの読み出し時におけるタイミングチャートを示す。
【００７０】
図４には上から順に
・外部装置１００からのコマンドおよび読み出しデータの出力
・不揮発性メモリＩ／Ｆ部１０５による不揮発性メモリ部１０２から第２のバッファメモリ１１０へのデータの転送（バッファメモリＡ３０１とバッファメモリＢ３０２別）
・第２のバッファメモリ１１０における格納データを、バッファメモリに書き込みを行ってからバッファメモリから読み出すまで
・データ演算部１１１による第２のバッファメモリ１１０から第１のバッファメモリ１０９へのデータの転送（バッファメモリａ２０１とバッファメモリｂ２０２別）
・ホストＩ／Ｆ部１０４による第１のバッファメモリ１０９から外部装置１００へのデータ転送（バッファメモリａ２０１とバッファメモリｂ２０２別）
・電源制御部１０６が第２のバッファメモリ１１０に供給する電圧
を示している。またタイミングチャートにおいて枠内に記載の数字は不揮発性記憶装置１０１から外部装置１００に読み出されるデータの論理的な順番を示す番号である。
【００７１】
最初に外部装置１００が不揮発性記憶装置１０１に対してアクセスしていないときには電源制御部１０６は第２のバッファメモリ１１０に対する電源の供給を停止している。そうすることで、不揮発性記憶装置１０１の静止時電流を低減している。またこの時、第１のバッファメモリ１０９における接続状態およびクロックの状態は図２（ｃ）の状態であるとする。
【００７２】
時間ｔ４０１で、外部装置１００は不揮発性記憶装置１０１に対してアドレスを指定した読み出しのコマンドを発行する。それを受けて不揮発性記憶装置１０１内部では電源制御部１０６が第２のバッファメモリ１１０に対する電源の供給を開始する。また不揮発性メモリＩ／Ｆ１０５は不揮発性メモリ部１０２に対してデータの読み出しを指示する。
【００７３】
時間ｔ４０２は、電源制御部１０６による第２のバッファメモリ１１０に対する電源の供給が安定するタイミングである。第２のバッファメモリ１１０が使用可能になったことを受けて不揮発性メモリＩ／Ｆ１０５は不揮発性メモリ部１０２からデータを読み出して第２のバッファメモリ１１０への転送を開始する。
【００７４】
時間ｔ４０３は、不揮発性メモリＩ／Ｆ１０５によって不揮発性メモリ部１０２から第２のバッファメモリ１１０対して５１２Ｂのデータ転送を終えたタイミングである。この５１２Ｂは第１のバッファメモリ１０９の容量に相当する。第２のバッファメモリ１１０に、バッファメモリａ２０１の容量に相当するデータが転送されたことを受けてデータ演算部１１１は第２のバッファメモリ１１０からバッファメモリａ２０１へデータの転送を開始する。
【００７５】
また、不揮発性メモリＩ／Ｆ１０５による第２のバッファメモリ１１０に対するデータの転送は、不揮発性メモリ部１０２からデータを読み出し可能、かつ第２のデータバッファ１１０にデータの転送が可能である限り継続する。
【００７６】
時間ｔ４０４は、データ演算部１１１によって第２のバッファメモリ１１０からバッファメモリａ２０１への５１２Ｂのデータの転送が終了したタイミングである。第１のバッファメモリ１０９の内部クロック領域にあるバッファメモリａ２０１にデータが格納されたことを受けて、データコントローラ１０３はセレクタ２０３およびセレクタ２０４の接続状態を切り替える。同時にクロック制御部１０８は第１のバッファメモリ１０９に対するクロックの供給を切り替える。その結果第１のバッファメモリ１０９における接続状態およびクロックの状態は図２（ｂ）の状態となる。つまり不揮発性メモリ部１０２から読み出した最初のデータはバッファメモリａ２０１に格納されており、バッファメモリａ２０１はホストＩ／Ｆ部１０４と接続されている。この時間ｔ４０４以降、ホストＩ／Ｆ部１０４を経由して不揮発性記憶装置１０１から外部装置１００にデータ出力が開始される。
【００７７】
また、データ演算部１１１による第２のデータバッファ１１０から第１のデータバッファ１０９へのデータの転送は、第２のデータバッファ１１０に転送すべきデータがあり、かつ第１のデータバッファ１０９にデータ転送が可能である限り継続する。このタイミングではデータ演算部１１１に接続されたバッファメモリｂ２０２にデータ転送可能なので、転送を継続する。
【００７８】
時間ｔ４０５はホストＩ／Ｆ部１０４を経由してバッファメモリａ２０１から外部装置１００にデータの出力が完了したタイミングである。第１のバッファメモリ１０９の外部クロック領域にあるバッファメモリａ２０１のデータを外部装置１００に出力済みであること、および第１のバッファメモリ１０９の内部クロック領域にあるバッファメモリｂ２０２にデータが格納されたことを受けて、データコントローラ１０３およびクロック制御部１０８は第１のバッファメモリ１０９の接続状態およびクロックの状態を図２（ｃ）の状態にする。
【００７９】
以降不揮発性記憶装置１０１は外部装置１００に対してデータの出力を継続する。
【００８０】
ここで、ｔ４０１の読み出しコマンドからｔ４０４の最初のデータの出力開始までの時間は
（１）．電源制御部１０５による第２のバッファメモリ１１０への電源供給の安定まで、または不揮発性メモリ部１０２に読み出しを指示してから読み出しが可能になるまで
（２）．不揮発性メモリＩ／Ｆ部１０４による不揮発性メモリ部１０２から第２のバッファメモリ１１０への５１２Ｂのデータの転送
（３）．データ演算部１１１による第２のバッファメモリ１１０から第１のバッファメモリ１０９への５１２Ｂのデータの転送
からなる。
【００８１】
（１）の電源供給の安定までは第２のバッファメモリ１１０の規模や不揮発性記憶装置１０１を製造する半導体のプロセスルールに依存するが約２００μｓ程度である。読み出しが可能になるまでの時間（以降ｔＲと表記）は、従来の不揮発性メモリでは数十μｓであったが、メモリセルの多値化が進むに従い数百μｓにまで長くなってきている。そのために電源供給の安定までの時間よりもｔＲの方が長く支配的である。
（２）は不揮発性メモリＩ／Ｆ１０５の性能に依存するが、バス幅を８ビット、サイクルタイムを３０ｎｓとしてオーバヘッドも考慮して１６μｓ程度。（３）はバス幅を３２ビット、サイクルタイムを６０ｎｓとして８μｓ程度。
【００８２】
合計でｔＲ＋３２μｓ程度となる。
【００８３】
これは従来例でのｔＲ＋１２８μｓと比べて、最初のデータの出力までの時間が大幅に短縮できている。また、今後の傾向としてさらに大容量化が進んだ場合には、さらに短縮効果が大きくなる。
【００８４】
図５に本発明の不揮発性記憶装置１０１へのデータの書き込み時におけるタイミングチャートを示す。
【００８５】
図５には上から順に
・外部装置１００からのコマンドおよび書き込みデータの入力
・ホストＩ／Ｆ部１０４による外部装置１００から第１のバッファメモリ１０９へのデータ転送（バッファメモリａ２０１とバッファメモリｂ２０２別）
・データ演算部１１１による第１のバッファメモリ１０９から第２のバッファメモリ１１０へのデータの転送（バッファメモリａ２０１とバッファメモリｂ２０２別）
・第２のバッファメモリ１１０における格納データを、バッファメモリに書き込みを行ってからバッファメモリから読み出すまで
・不揮発性メモリＩ／Ｆ部１０５による第２のバッファメモリ１１０から不揮発性メモリ部１０２へのデータの転送（バッファメモリＡ３０１とバッファメモリＢ３０２別）
・電源制御部１０６が第２のバッファメモリ１１０に供給する電圧
を示している。またタイミングチャートにおいて枠内に記載の数字は外部装置１００から不揮発性記憶装置１０１に書き込まれるデータの論理的な順番を示す番号である。
【００８６】
最初に外部装置１００が不揮発性記憶装置１０１に対してアクセスしていないときには電源制御部１０６は第２のバッファメモリ１１０に対する電源の供給を停止している。そうすることで、不揮発性記憶装置１０１の静止時電流を低減している。またこの時、第１のバッファメモリ１０９における接続状態およびクロックの状態は図２（ｂ）の状態であるとする。
【００８７】
時間ｔ５０１で、外部装置１００は不揮発性記憶装置１０１に対してアドレスを指定した書き込みのコマンドを発行する。それを受けて不揮発性記憶装置１０１内部では電源制御部１０６が第２のバッファメモリ１１０に対する電源の供給を開始する。また外部装置１００は不揮発性記憶装置１０１に対して書き込みデータの転送を開始する。ホストＩ／Ｆ部１０４は外部装置１００から入力されるデータをバッファメモリａ２０１に転送する。
【００８８】
この時、外部装置１００は不揮発性記憶装置１０１の内部の一部の領域である第２のバッファメモリ１１０の電源が供給されていない状態であるにもかかわらず、書き込みのコマンド発行直後に書き込みデータを不揮発性記憶装置１０１に転送することが可能である。これは不揮発性記憶装置１０１におけるバッファメモリが、容量が小さいので静止時電流が小さく常時電源が供給される第１のバッファメモリ１０９と、容量が大きいために静止時電流が大きく電源の供給が停止されている第２のバッファメモリ１１０の２段階の構成をとっていることによる。
【００８９】
時間ｔ５０２は、ホストＩ／Ｆ部１０４によって外部装置１００からバッファメモリａ２０１への５１２Ｂのデータの転送が終了したタイミングである。第１のバッファメモリ１０９の外部クロック領域にあるバッファメモリａ２０１にデータが格納されたことを受けて、データコントローラ１０３はセレクタ２０３およびセレクタ２０４の接続状態を切り替える。同時にクロック制御部１０８は第１のバッファメモリ１０９に対するクロックの供給を切り替える。その結果第１のバッファメモリ１０９における接続状態およびクロックの状態は図２（ｃ）の状態となる。つまり外部装置１００から転送された最初のデータはバッファメモリａ２０１に格納されており、バッファメモリａ２０１はデータ演算部１１１接続されている。またホストＩ／Ｆ部１０４と接続されたバッファメモリｂ２０２はまだ外部装置１００からの書き込みデータが転送されていない状態である。従って、ホストＩ／Ｆ部１０４は外部装置１００から次の５１２Ｂのデータのバッファメモリｂ２０２への転送を開始する。
【００９０】
時間ｔ５０３は、電源制御部１０６による第２のバッファメモリ１１０に対する電源の供給が安定するタイミングである。第２のバッファメモリ１１０が使用可能になったことを受けてデータ演算部１１１は第１のバッファメモリ１０９から第２のバッファメモリ１１０への転送を開始する。
【００９１】
時間ｔ５０４は、データ演算部１１１によって第１のバッファメモリ１０９から第２のバッファメモリ１１０対して５１２Ｂのデータ転送を終えたタイミングである。第１のバッファメモリ１０９の内部クロック領域にあるバッファメモリａ２０１のデータを第２バッファメモリ１１０に転送したこと、および第１のバッファメモリ１０９の外部クロック領域にあるバッファメモリｂ２０２にデータが格納済みであることを受けて、データコントローラ１０３はセレクタ２０３およびセレクタ２０４の接続状態を切り替える。同時にクロック制御部１０８は第１のバッファメモリ１０９に対するクロックの供給を切り替える。その結果第１のバッファメモリ１０９における接続状態およびクロックの状態は図２（ｂ）の状態となる。
【００９２】
このようにして第１のバッファメモリ１０９の接続状態を５１２Ｂのデータの転送毎に切り替えながら外部装置１００からの書き込みデータを第２のバッファメモリ１１０に転送する。
【００９３】
時間ｔ５０５は、外部装置１００から入力されたデータが第１のバッファメモリ１０９を経由してバッファメモリＡ３０１に４ＫＢ分転送されたタイミングである。この４ＫＢは不揮発性メモリ部１０２の書き込み単位に相当する容量である。不揮発性メモリ部１０２の書き込み単位のデータが準備できたことを受けて、不揮発メモリＩ／Ｆ１０５はバッファメモリＡ３０１から不揮発性メモリ１０２にデータの転送を開始する。
【００９４】
以上のように、不揮発性記憶装置内の不揮発性メモリへの書き込み・読み出しのデータを一時的に格納するためにバッファメモリを、外部装置とのデータの転送単位にあわせた第１のバッファメモリと、不揮発性メモリの書き込み単位にあわせた第２のバッファメモリの２段階で構成する。第１のバッファメモリは２つの領域を持ち、それぞれの領域に対して、外部装置から印加されるクロックと不揮発性記憶装置内部のクロックとを切り替えて動作する。第２のバッファメモリは不揮発性記憶装置内部のクロックで動作する。そうすることで不揮発性メモリから読み出したデータを外部装置とのデータの転送単位で扱うことができるため、不揮発性メモリの書き込み単位の増加によることなく短時間での読み出しデータの出力を実現できる。
【００９５】
また、同様のバッファ構成をとることにより、データの書き込み時においても外部装置から転送されるデータを第１のバッファメモリに格納可能なため、不揮発性メモリの書き込み単位の増加によって容量が増加する第２のバッファメモリは電源を落としておくことができるため、静止時電流の低減を実現できる。
【００９６】
次に本発明に係わる不揮発性記憶コントローラの構成を図６に示す。図６において図１と同じ構成を示すものは図１と同じ番号を付与している。６０１は不揮発性記憶コントローラであり、図１の不揮発性記憶装置１０１から不揮発性メモリ部１０２を除いた構成をとる。不揮発性記憶コントローラ６０１は外部にＮＡＮＤタイプのフラッシュメモリを始めとする不揮発性メモリを接続することで不揮発性記憶装置を形成することができる。
【００９７】
不揮発性記憶コントローラ６０１と不揮発性メモリとによって構成される不揮発性記憶装置の動作については図１〜５を使用して説明した内容と同じである。
【産業上の利用可能性】
【００９８】
本発明にかかる不揮発性記憶装置は、より大容量の不揮発性メモリを使用して実現できる大容量の不揮発性記憶装置における性能を向上させることができ、デジタルカメラや携帯電話の記憶媒体に適用することができる。
【符号の説明】
【００９９】
１００    外部装置  
１０１    不揮発性記憶装置
１０２    不揮発性メモリ部
１０３    データコントローラ
１０４    ホストＩ／Ｆ部
１０５    不揮発性メモリＩ／Ｆ
１０６    電源制御部
１０７    ＶＣＯ
１０８    クロック制御部
１０９    第１のバッファメモリ
１１０    第２のバッファメモリ
１１１    データ演算部
２０１    バッファメモリａ
２０２    バッファメモリｂ
２０３    セレクタ
２０４    セレクタ
３０１    バッファメモリＡ
３０２    バッファメモリＢ
６０１    不揮発性記憶コントローラ
１１００    外部装置
１１０１    不揮発性記憶装置
１１０２    不揮発性メモリ部
１１０３    制御部
１１０４    ホストＩ／Ｆ部
１１０５    不揮発性メモリＩ／Ｆ
１１０７    ＶＣＯ
１１０８    クロック制御部
１１１０    バッファメモリ部
【図１】
2011013736.tif 000003
【図２】
2011013736.tif 000004
【図３】
2011013736.tif 000005
【図４】
2011013736.tif 000006
【図５】
2011013736.tif 000007
【図６】
2011013736.tif 000008
【図７】
2011013736.tif 000009
【図８】
2011013736.tif 000010
【図９】
2011013736.tif 000011
【図１０】
2011013736.tif 000012