説明

メモリシステム

【課題】ホスト装置の電源供給能力に応じて最適な動作を行う。
【解決手段】消費電流及びアクセス性能に応じた複数の動作モードを有するメモリシステム1であって、動作モードの遷移履歴を格納する不揮発性メモリ11と、不揮発性メモリ11との間で、同一動作モードにて一定量のデータをアクセスするごとに前記遷移履歴に当該動作モードを追加し、かつ前記遷移履歴を用いて現在の動作モードを決定するコントローラ12とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリシステムに係り、例えば、NAND型フラッシュメモリ等の不揮発性メモリを備えたメモリシステムに関する。
【背景技術】
【0002】
不揮発性半導体メモリとこのメモリを制御するコントローラとを有するメモリシステム(例えば、メモリカード)が知られている。メモリカードは、ホスト装置に接続されて、ホスト装置からの要求に従って、データを記憶したり、記憶されたデータを出力したりする。また、メモリカードは、ホスト装置からの電源供給を受けて動作する。ホスト装置からの電源は、メモリカードのコントローラ及びメモリに供給される。
【0003】
ホスト装置として、ユーザの利便性に供するために様々の形態及び特徴を有する装置が存在し、例えば、デジタルカメラ、プリンタ、USB(universal serial bus)メモリ、PC(personal computer)カードリーダ/ライタ等があげられる。このような様々な形態のホスト装置が、様々なメーカーによって製造されている。
【0004】
ところで、メモリカードの動作(データの書き込み、読み出し等)の高速化に対するユーザからの要求は常に高まっている。この高速化要求を満たすために、様々な技術が提案、実用化されている。これら技術は、概して通常の動作よりも大きな電流を消費する。なお、どの程度の電流が消費されるかは、高速化技術によって異なる。このように、メモリカードの消費電流は上昇傾向にある。
【0005】
ホスト装置は、メモリカードに対して、規格により定められた電圧を印加できることが要請されている。しかしながら、メモリカードが大きな電流を消費すると、一部のホスト装置は、その電源供給回路の設計等に起因して、規定の電圧を供給することができない。供給電圧が規定値を下回ると、メモリカードは誤動作を起こし得る。ホスト装置の電源の消費電流に対する強度は、ホスト装置によって異なるため、ある消費電流に対して、一部のホスト装置は規定の電圧を供給することができるが、別のホスト装置では規定の電圧を供給できない、という事態が発生する。
【0006】
強度の弱い電源を有するホスト装置をもサポートするためには、メモリカードの消費電流を一律に抑制することが考えられる。しかし、この手法では、メモリカードが有し得る性能が発揮できない。また、この手法では、高い電源供給能力を有し且つメモリカードに対して高速のアクセスを行い得るホスト装置の性能も抑制されてしまう。
【0007】
また、この種の関連技術として、複数のプレーンを備えた半導体記憶装置において、書き込み速度の低下を防ぐための技術が開示されている(特許文献1参照)。
【特許文献1】特開2007−199905号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は、ホスト装置の電源供給能力に応じて最適な動作を行うことが可能なメモリシステムを提供する。
【課題を解決するための手段】
【0009】
本発明の一視点に係るメモリシステムは、消費電流及びアクセス性能に応じた複数の動作モードを有するメモリシステムであって、動作モードの遷移履歴を格納する不揮発性メモリと、前記不揮発性メモリとの間で、同一動作モードにて一定量のデータをアクセスするごとに前記遷移履歴に当該動作モードを追加し、かつ前記遷移履歴を用いて現在の動作モードを決定するコントローラとを具備する。
【発明の効果】
【0010】
本発明によれば、ホスト装置の電源供給能力に応じて最適な動作を行うことが可能なメモリシステムを提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、本発明の実施の形態について図面を参照して説明する。なお、以下の説明において、同一の機能及び構成を有する要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【0012】
本実施形態では、メモリシステムとしてメモリカードを一例に説明する。メモリカードは、例えば、ホスト装置に対して着脱可能なように構成される。しかし、本発明はメモリカードに限定されるものではなく、メモリシステム及びホスト装置を1つのLSI(Large-Scale Integrated Circuit)として構成してもよい。すなわち、ホスト装置が実装されたプリント基板上に、メモリシステムを構成するコントローラ及び不揮発性半導体メモリが実装されるようにしてもよい。
【0013】
図1は、本発明の一実施形態に係るメモリシステム(メモリカード)1の構成を示すブロック図である。メモリカード1は、ホスト装置2に接続された時に電源供給を受けて動作し、ホスト装置2からの要求に応じたアクセス処理を行う。ホスト装置2は、バスインターフェース14を介して接続されるメモリカード1に対しアクセスを行うためのハードウェア及びソフトウェアを備えている。また、ホスト装置2は、メモリカード1に電源を供給するための電源回路2Aを備えている。
【0014】
メモリカード1は、ホスト装置2との間でバスインターフェース14を介してデータの授受を行う。メモリカード1は、不揮発性メモリの一種であるNAND型フラッシュメモリ11、NAND型フラッシュメモリ11を制御するコントローラ12、及び信号ピン群(第1ピン乃至第9ピン)13を備えている。なお、不揮発性メモリとしては、NAND型フラッシュメモリ11に限定されず、様々な種類の不揮発性メモリを使用することが可能である。
【0015】
信号ピン群13は、コントローラ12と電気的に接続されている。信号ピン群13に含まれる第1ピン乃至第9ピンに対する信号の割り当ては、例えば図2に示すようになっている。図2は、信号ピン群13に含まれる第1ピン乃至第9ピンと、それらに割り当てられた信号との関係を示す図である。
【0016】
データ0乃至データ3は、第7ピン、第8ピン、第9ピン、及び第1ピンにそれぞれ割り当てられている。第1ピンは、また、カード検出信号に対しても割り当てられている。第2ピンはコマンドCMDに割り当てられ、第3ピン及び第6ピンは接地電圧Vssに、第4ピンは電源電圧Vddに、第5ピンはクロック信号CLKに割り当てられている。電源電圧Vdd及び接地電圧Vssは、ホスト装置2の電源回路2Aから供給される。
【0017】
メモリカード1は、ホスト装置2に設けられたスロットに対して挿抜可能なように構成されている。ホスト装置2に設けられたホストコントローラ(図示せず)は、これら第1ピン乃至第9ピンを介してメモリカード1内のコントローラ12と各種信号及びデータを通信する。
【0018】
例えば、メモリカード1にデータが書き込まれる際には、ホストコントローラは、書き込みコマンドを、第2ピンを介してコントローラ12にシリアルな信号として送る。このとき、コントローラ12は、第5ピンに供給されるクロック信号CLKを用いて、第2ピンに与えられる書き込みコマンドを取り込む。その後、ホストコントローラは、第7ピン、第8ピン、第9ピン、及び第1ピンを介して書き込みデータをコントローラ12に送る。このように、信号ピン群13とそれに対するバスインターフェース14とは、ホスト装置2内のホストコントローラとメモリカード1とが通信するのに使用される。
【0019】
これに対し、NAND型フラッシュメモリ11とコントローラ12との間の通信は、NAND型フラッシュメモリ用のインターフェースによって行われる。従って、ここでは図示しないが、NAND型フラッシュメモリ11とコントローラ12とは例えば8ビットの入出力(I/O)線により接続されている。
【0020】
例えば、コントローラ12がNAND型フラッシュメモリ11にデータを書き込む際には、コントローラ12は、これらI/O線を介してデータ入力コマンド80H、カラムアドレス、ページアドレス、データ、及びプログラムコマンド10HをNAND型フラッシュメモリ11に順次入力する。ここで、コマンド80Hの“H”は16進数を示すものであり、実際には“10000000”という8ビットの信号が、8ビットのI/O線にパラレルに与えられる。つまり、このNAND型フラッシュメモリ用のインターフェースでは、複数ビットのコマンドがパラレルに与えられる。
【0021】
また、NAND型フラッシュメモリ用のインターフェースでは、NAND型フラッシュメモリ11に対するコマンドとデータとが同じI/O線を共用して通信されている。このように、ホスト装置2内のホストコントローラとメモリカード1とが通信するインターフェースと、NAND型フラッシュメモリ11とコントローラ12とが通信するインターフェースとは異なる。
【0022】
次に、図1に示すメモリカード1が備えるコントローラ12の内部構成について説明する。図3は、コントローラ12の構成を示すブロック図である。
【0023】
コントローラ12は、NAND型フラッシュメモリ11内部の物理状態(例えば、何処の物理ブロックアドレスに、何番目の論理セクタアドレスのデータが含まれているか、或いは、何処のブロックが消去状態であるか)を管理する。コントローラ12は、ホストインターフェース回路(ホストI/F)21、メモリインターフェース回路(メモリI/F)22、MPU(Micro processing unit)23、ROM(Read-only memory)24、RAM(Random access memory)25、バッファ26、及びECC(Error Check and Correct)回路27を備えている。
【0024】
ホストインターフェース回路21は、コントローラ12とホスト装置2との間のインターフェース処理を行う。
【0025】
MPU23は、メモリカード1全体の動作を制御する。MPU23は、例えばメモリカード1が電源供給を受けたときに、ROM24に格納されているファームウェア(制御プログラム)をRAM25上に読み出して所定の処理を実行することにより、各種のテーブルをRAM25上に作成する。また、MPU23は、ホスト装置2から書き込みコマンド、読み出しコマンド、消去コマンド等を受け取り、NAND型フラッシュメモリ11に対して所定の処理を実行したり、バッファ26を通じたデータ転送処理を制御したりする。
【0026】
ROM24は、MPU23により制御される制御プログラム等を格納する。RAM25は、MPU23の作業エリアとして使用され、ROM24からロードされた制御プログラムや各種のテーブル(表)を記憶する。メモリインターフェース回路22は、コントローラ12とNAND型フラッシュメモリ11との間のインターフェース処理を行う。
【0027】
バッファ26は、ホスト装置2から送られてくるデータをNAND型フラッシュメモリ11に書き込む際に、ホストインターフェースに基づく一定量のデータを一時的に記憶したり、NAND型フラッシュメモリ11から読み出されるデータをホスト装置2へ送り出す際に、一定量のデータを一時的に記憶したりする。
【0028】
ECC回路27は、ホスト装置2から送られる書き込みデータに対しては、所定のビット数からなるデータ部分ごとにエラー訂正符号を生成する。各エラー訂正符号は、これに対応するデータ部分とともにNAND型フラッシュメモリ11に格納される。また、ECC回路27は、NAND型フラッシュメモリ11から送られる読み出しデータに対しては、エラー訂正符号を用いて、データ部分ごとにエラーの検出及び訂正を行う。エラーの訂正を行った後、ECC回路27は、エラー訂正符号を取り除いた状態でデータをバッファ26に送る。従って、ホスト装置2には、エラー訂正符号を含まない読み出しデータがメモリカード1から送られる。
【0029】
メモリカード1は、複数のNAND型フラッシュメモリ11(本実施形態では、一例として2個のNAND型フラッシュメモリ11−1及び11−2)を備えている。なお、NAND型フラッシュメモリ11の数は、3個以上であってもよいことは勿論である。以下、各NAND型フラッシュメモリを区別する必要がない場合は、包括的にNAND型フラッシュメモリ11と記載する。
【0030】
各NAND型フラッシュメモリ11は、高速アクセスを可能とするために、複数のプレーン(本実施形態では、一例として2個のプレーンP1及びP2)により構成されている。図4は、NAND型フラッシュメモリ11−1の構成を示すブロック図である。NAND型フラッシュメモリ11−2も同様の構成である。
【0031】
各プレーンPは、メモリセルアレイとしてのメモリ領域30と、メモリインターフェース回路22との間でデータを授受するデータキャッシュ32と、メモリ領域30或いはデータキャッシュ32からのデータを保持するページバッファ31とにより構成されている。また、メモリ領域30は、データ消去単位である複数のブロックから構成され、各ブロックは、データ書き込み単位(或いは、データ読み出し単位)である複数のページから構成される。
【0032】
各プレーンPは、データキャッシュ32とページバッファ31との2個のバッファを使用することにより、コントローラ12がデータキャッシュ32からデータを読み出している間に、NAND型フラッシュメモリ11が書き込み動作を行うことができるように構成されている。
【0033】
各ブロックは、行方向に沿って順に配列された複数のNANDストリングを備えている。各NANDストリングは、2個の選択トランジスタと、これらの間に直列に接続された複数個のメモリセルトランジスタから構成されている。
【0034】
各メモリセルトランジスタは、半導体基板上に形成された積層ゲート構造を備えたMOSFET(metal oxide semiconductor field effect transistor)から構成される。積層ゲート構造は、半導体基板上にゲート絶縁膜を介在して形成された電荷蓄積層(浮遊ゲート電極)、及び電荷蓄積層上にゲート間絶縁膜を介在して形成された制御ゲート電極を含んでいる。各メモリセルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じてデータを記憶する。
【0035】
各ブロックにおいて同一行に配列された複数のメモリセルトランジスタの制御ゲート電極は、同一のワード線に接続される。この同一のワード線に接続される複数のメモリセルトランジスタは1ページとして取り扱われ、このページごとにデータの書き込み及びデータの読み出しが行われる。また、複数のページから構成されるブロック単位でデータの消去が行われる。
【0036】
図5は、NAND型フラッシュメモリ11のメモリ領域30の構成を示す図である。前述したように、メモリ領域30は、それぞれが複数のページを含む複数のブロックから構成されている。
【0037】
各ページは、例えば2112バイト(B)(512B分のデータ領域×4+10B分のECC領域×4+24B分の管理データ領域)を有しており、例えば128ページ分がデータ消去単位であるブロック(256kB+8kB(ここで、kは1024))を構成している。従って、本実施形態では、ページバッファ31の記憶容量は、2112B(2048B+64B)である。
【0038】
ここで、NAND型フラッシュメモリ11は、データブロック及び集中管理ブロックを備えている。データブロックは、NAND型フラッシュメモリ11内に複数個存在し、ユーザデータ(ユーザが読み書きすることが可能な文書、静止画、動画などのデータ)を格納するために使用される。図6は、NAND型フラッシュメモリ11に含まれる1個のデータブロックの構成を示す概略図である。
【0039】
各データブロックは、128個のデータページ0〜127から構成される。各データページは、512バイトデータを格納するデータ領域を4個分含むとともに、4個のデータ領域にそれぞれ対応する4個のエラー訂正符号(ECC0〜ECC3)を格納しかつそれぞれが10バイトの4個のECC領域を含んでいる。また、データページ中の最後のデータ領域(4番目のデータ領域)の後には、24バイトの管理データ領域が設けられている。このため、データページ中の最後のECC領域(4番目のECC領域)は、4番目のデータ領域及び管理データ領域の両方に対応する構成となっている。管理データ領域には、論理ブロックアドレスや物理ブロックアドレス等を含む管理データが格納される。
【0040】
図7は、NAND型フラッシュメモリ11に含まれる集中管理ブロックの構成を示す概略図である。集中管理ブロックは、NAND型フラッシュメモリ11内に1個のみ(すなわち、NAND型フラッシュメモリ11−1及び11−2のいずれか一方に)設けられる。
【0041】
集中管理ブロックは、1つのCIS(Card Information Structure)ページ、及び複数の管理ページ(管理ページ0,1,2,3,…)から構成される。この集中管理ブロックは、NAND型フラッシュメモリ11に関する種々な管理情報(基本的にはユーザが自由に読み書きすることができず、NAND型フラッシュメモリ11の起動時等にホスト装置2やコントローラ12が使用する情報)を一括して記憶する特別なブロックである。
【0042】
集中管理ブロック中のCISページは、例えばNAND型フラッシュメモリ11が所定のメモリカードの物理フォーマット仕様に沿ってフォーマットされているか否かを見分けるために使用されるページである。
【0043】
集中管理ブロック中の各管理ページは、各々のデータブロックに対して、エラーを有するデータブロック(バッドブロック)であるか否か、空きブロックであるか否か、書かれているデータの論理ブロックアドレス、といった管理情報を格納する。さらに、管理ページは、後述する動作モードの遷移履歴33、及びデータの書き込みを開始する消去済みデータブロックの物理アドレスを格納する。
【0044】
各管理ページは、512バイト管理データを格納するデータ領域を4個分含むとともに、4個のデータ領域にそれぞれ対応する4個のエラー訂正符号(ECC0〜ECC3)を格納しかつそれぞれが10バイトの4個のECC領域を含んでいる。また、1バイトのID領域は、当該管理ページに書かれているデータの種類及びバッドブロック属性を記憶する領域である。領域「19B」及び「4B」は、空き領域(未使用領域)である。このため、管理ページ中の最後のECC領域(4番目のECC領域)は、4番目のデータ領域及びID領域の両方に対応する構成となっている。
【0045】
ところで、コントローラ12(MPU23)は、メモリカード1での高速なアクセス処理(すなわち、高速なデータ転送レート)を実現するために、NAND型フラッシュメモリ11へ様々なアクセス(データの書き込み、及びデータの読み出し)方法を実現できるように構成されている。
【0046】
コントローラ12のNAND型フラッシュメモリ11へのアクセス方法には、様々なものが現在存在し、また将来作り出されることが予想される。従って、本明細書で全てに触れることは不可能であるので、以下に幾つかを例示する。しかしながら、本発明の範囲は、アクセス方法そのものに限定されず、将来提案されるであろうアクセス方法が用いられる場合も含んでいる。本実施形態では、一例として、以下の3つの動作モードM1〜M3を定義する。
【0047】
動作モードM1は、2個のNAND型フラッシュメモリ(チップ)11−1及び11−2に同時にアクセスすることができる、いわゆる「2チップ同時アクセスあり」の動作モードである。すなわち、動作モードM1では、2個のNAND型フラッシュメモリ11−1及び11−2に、データの書き込み、或いはデータの読み出しを同時に行う。
【0048】
動作モードM2は、2個のNAND型フラッシュメモリ11−1及び11−2の一方のみにアクセスし、かつ2個のプレーンP1及びP2に同時にアクセスすることができる、いわゆる「2チップ同時アクセスなし、2プレーン同時アクセスあり」の動作モードである。すなわち、動作モードM2では、1個のNAND型フラッシュメモリ11に含まれる2個のプレーンP1及びP2に、データの書き込み、或いはデータの読み出しを同時に行う。
【0049】
動作モードM3は、2個のNAND型フラッシュメモリ11−1及び11−2の一方のみにアクセスし、かつ2個のプレーンP1及びP2の一方のみにアクセスする、「2チップ同時アクセスなし、2プレーン同時アクセスなし」である。すなわち、動作モードM3では、1個のNAND型フラッシュメモリ11に含まれる1個のプレーンにのみ、データの書き込み、或いはデータの読み出しを行う。
【0050】
動作モードM1は、アクセス性能が最も高く(データ転送レートが最も高く)、動作モードM2、M3の順に、アクセス性能が下がっていく。また、アクセス性能に比例して、動作モードM1は、消費電流が最も大きく、動作モードM2、M3の順に、消費電流が下がっていく。
【0051】
このように構成されたメモリカード1の動作について説明する。
初期状態(工場出荷状態)では、メモリカード1は、最も消費電流が少ない(最もアクセス性能が低い)動作モードM3に設定されているものとする。すなわち、初期状態では、NAND型フラッシュメモリ11内の集中管理ブロックに含まれる遷移履歴33に、動作モードとしてM3が書き込まれている。
【0052】
また、コントローラ12は、NAND型フラッシュメモリ11の消去済みデータブロックにデータの書き込みを開始する際に、当該データブロックの物理アドレスを集中管理ブロックに書き込んでおく。これにより、メモリカード1の起動時に、コントローラ12は、集中管理ブロックの管理情報を確認することで、最後に書き込みを行ったデータブロックを検索することが可能となる。
【0053】
図8及び図9は、メモリカード1の動作を示すフローチャートである。まず、ホスト装置2からメモリカード1への電源供給が開始されることで(ステップS101)、メモリカード1が起動する。この電源供給を受けて、コントローラ12は、集中管理ブロックに含まれる、動作モードの遷移履歴33をNAND型フラッシュメモリ11から読み出す(ステップS102)。
【0054】
続いて、コントローラ12は、遷移履歴33に含まれる、最後に追加された動作モード(最終動作モード)を、現在の動作モードに設定する(ステップS103)。続いて、コントローラ12は、最後に書き込みを行ったデータブロック(最終データブロック)の物理アドレスを集中管理ブロックから取得し、この物理アドレスを用いて、最終データブロックの全データをNAND型フラッシュメモリ11から読み出す(ステップS104)。
【0055】
続いて、コントローラ12は、最終データブロックに含まれる複数のデータページのうち、最後に書き込みを行ったデータページ(最終データページ)を検出する。続いて、コントローラ12の制御のもと、ECC回路27は、最終データページ内のエラーを検出する(ステップS105)。そして、ECC回路27は、最終データページ内のエラーの数が所定数以上であるか否かを判定する(ステップS106)。
【0056】
ステップS106においてエラーの数が所定数以上であると判定された場合、コントローラ12は、前回の起動時に異常電源遮断が発生した(例えば、データ書き込み中に電源遮断が発生した)と判断する(ステップS107)。異常電源遮断が発生する原因としては、メモリカード1の消費電流が大きくなったためにホスト装置2の電源回路2Aがこの消費電流を供給することができなくなった場合や、メモリカード1の消費電流が大きくなったために規格により定められた電圧を大きく下回った場合等が該当する。
【0057】
なお、ECC回路27は、512バイトデータを単位として1個のエラー訂正符号を生成する。すなわち、ECC回路27の計算単位が512バイト(一部分は536バイト)であり、1個のデータページ内には4個の計算単位が存在する。従って、上記エラーの数の上限は4個となり、この4個のうち所定数以上がエラーである場合(すなわち、エラー訂正不可能である場合)に、コントローラ12は、前回の起動時に異常電源遮断が発生した判断する。この所定数は、単なるビット不良のケースと、異常電源遮断であるケースとを切り分けるために用いられるものであり、ECCの訂正能力等によって変わってくるため任意に設定可能である。本実施形態では、例えば4個ともエラー訂正不可能である場合(所定数が4である場合)に、コントローラ12は異常電源遮断が発生したと判断する。
【0058】
一方、ステップS106においてエラーが所定数未満である判定された場合、コントローラ12は、前回の電源遮断が正常電源遮断であると判断する。そして、コントローラ12は、ステップ109に移行して、通常のアクセス動作(データの書き込み動作、読み出し動作等)を実行する。なお、正常電源遮断とは、例えばユーザの指示によりホスト装置2が正常なステップで電源遮断を行った場合であり、この場合はメモリカード1に対して正常なプログラム終了処理が実行される。
【0059】
続いて、コントローラ12は、遷移履歴33に含まれる最終動作モードが最下位の動作モード(本実施形態では、動作モードM3)であるか否かを判定する(ステップS108)。ステップ108において最下位の動作モードであると判定された場合、コントローラ12は、通常のアクセス動作を実行する(ステップS109)。そして、コントローラ12は、一定量のアクセスが行われるまで、通常のアクセス動作を実行する(ステップS110)。
【0060】
なお、一定量のアクセスとは、コントローラ12がNAND型フラッシュメモリ11に対して、一定量のデータの書き込み動作、或いは一定量のデータの読み出し動作を行うことを示している。また、一定量のデータの書き込み動作とは、複数のコマンドに対応する複数回(本実施形態では、例えば2回)のデータの書き込み動作を示している。同様に、一定量のデータの読み出し動作とは、複数のコマンドに対応する複数回のデータの読み出し動作を示している。以下の一定量のアクセスも、上記同様の動作を示すものとする。
【0061】
ステップS110において一定量のアクセスが行われたと判定された場合、コントローラ12は、現在の動作モードを遷移履歴33に追加する(ステップS111)。例えば、現在、動作モードM3でアクセス動作を行っているのであれば、「M3→M3」のように動作モードM3を遷移履歴33に追加する。
【0062】
続いて、コントローラ12は、同一動作モードで一定量のアクセスが行われるまで、通常のアクセス動作を実行する(ステップS112)。ステップS112において一定量のアクセスが行われたと判定された場合、コントローラ12は、後述するステップS118によって設定される動作モードの上限に達しているか否かを判定する(ステップS113)。ステップS113において動作モードの上限に達していると判定された場合、コントローラ12は、ステップS109に移行して、通常のアクセス動作を実行する。
【0063】
一方、ステップS113において動作モードの上限に達していないと判定された場合、コントローラ12は、現在の動作モードを1つ上げる(ステップS114)。そして、コントローラ12は、現在の動作モードを遷移履歴33に追加する(ステップS115)。その後、コントローラ12は、ステップS109に移行して、通常のアクセス動作を実行する。例えば、同一動作モードで2回のアクセス動作が行われた場合に動作モードを1つ上げるのであれば、「M3→M3→M2」のように動作モードM2を遷移履歴33に追加し、以後、動作モードM2でアクセス動作を行う。
【0064】
ステップS108において最下位の動作モードでないと判定された場合、コントローラ12は、現在の動作モードを最終動作モードより1つ下げる(ステップS116)。すなわち、遷移履歴33が「M1→M1」となっている状態で異常電源遮断を検出した場合は、以後、動作モードM2でアクセス動作を行うこととする。
【0065】
続いて、コントローラ12は、最終動作モードにおいて一定量のアクセスが行われたか否かを判定する(ステップS117)。ステップS117において一定量のアクセスが行われた場合、コントローラ12は、ステップS109に移行して、通常のアクセス動作を実行し、さらに動作モードを上げるためのステップS110〜S115を実行する。
【0066】
一方、ステップS117において最終動作モードにおいて一定量のアクセスが行われていない場合、コントローラ12は、現在の動作モードを動作モードの上限に設定する(ステップS118)。すなわち、現在接続されているホスト装置2に対しては、上限に設定された動作モードに固定される。これにより、以後、このホスト装置2に対しては、異常電源遮断が発生するのを防ぐことができる。その後、コントローラ12は、ステップS109に移行して、通常のアクセス動作を実行し、さらに、電源が遮断(異常電源遮断及び正常電源遮断を含む)されるまで、この通常のアクセス動作を繰り返す。
【0067】
このように、遷移履歴33を更新していき、動作モードを1つ上げた直後に異常電源遮断が検出された場合は、当該動作モードの1つ下の動作モードを上限とする。例えば、電源供給が開始されて異常電源遮断が検出され、この時の遷移履歴33が「M3→M3→M2」となっていた場合、動作モードM3からM2に上げた直後に異常電源遮断が発生したことが確認できる。このため、動作モードの上限をM3に設定し、以後、当該ホスト装置2に対しては動作モードをM3より上げないようにする。
【0068】
以上詳述したように本実施形態では、消費電流及びアクセス性能に応じた複数の動作モードを有するメモリカード1において、動作モードの遷移履歴33をNAND型フラッシュメモリ11(具体的には、集中管理ブロック)に格納する。そして、前回の起動時に異常電源遮断が発生した場合に、コントローラ12は、動作モードの遷移履歴33を用いて動作モードの切り替えを行うようにしている。
【0069】
従って本実施形態によれば、ホスト装置2ごとに最適な動作モード(すなわち、異常電源遮断の発生を防ぐことができる動作モード)を選択することが可能となる。この結果、異常電源遮断を防ぐことができつつ、アクセスの高速化が可能となる。
【0070】
また、異常電源遮断の発生を検出するために、ECC回路27を用いることで、最後に書き込みを行ったページのエラーの数の大小を判断材料に用いている。これにより、単なるビット不良のケースと、異常電源遮断であるケースとを識別することが可能となる。
【0071】
また、偶発的な理由により意図しない電源遮断が発生した場合に、動作モードを上げるための処理(ステップS117)を行うようにしている。これにより、偶発的な理由により意図しない電源遮断が発生した場合に、低速な動作モードで固定されるのを防ぐことができる。
【0072】
なお、本実施形態では、メモリカード1が複数のNAND型フラッシュメモリを備える場合を例に説明したが、メモリカード1が1個のみNAND型フラッシュメモリを備える場合にも本実施形態を適用可能であることは勿論である。すなわち、1個のNAND型フラッシュメモリに対して消費電流及びアクセス性能が異なる複数の動作モードを有するようなメモリカードにおいても、本実施形態を適用することで、ホスト装置2ごとに最適な動作モードを選択することが可能となる。
【0073】
本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲内で、構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を構成することができる。例えば、実施形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる実施形態の構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0074】
【図1】本発明の一実施形態に係るメモリカード1の構成を示すブロック図。
【図2】信号ピン群13に割り当てられた信号を示す図。
【図3】コントローラ12の構成を示すブロック図。
【図4】NAND型フラッシュメモリ11−1の構成を示すブロック図。
【図5】NAND型フラッシュメモリ11のメモリ領域30の構成を示す図。
【図6】NAND型フラッシュメモリ11に含まれる1個のデータブロックの構成を示す概略図。
【図7】NAND型フラッシュメモリ11に含まれる集中管理ブロックの構成を示す概略図。
【図8】メモリカード1の動作を示すフローチャート。
【図9】図8に続くメモリカード1の動作を示すフローチャート。
【符号の説明】
【0075】
1…メモリカード、2…ホスト装置、2A…電源回路、11…NAND型フラッシュメモリ、12…コントローラ、13…信号ピン群、14…バスインターフェース、21…ホストインターフェース回路、22…メモリインターフェース回路、23…MPU、24…ROM、25…RAM、26…バッファ、27…ECC回路、30…メモリ領域、31…ページバッファ、32…データキャッシュ、33…遷移履歴。

【特許請求の範囲】
【請求項1】
消費電流及びアクセス性能に応じた複数の動作モードを有するメモリシステムであって、
動作モードの遷移履歴を格納する不揮発性メモリと、
前記不揮発性メモリとの間で、同一動作モードにて一定量のデータをアクセスするごとに前記遷移履歴に当該動作モードを追加し、かつ前記遷移履歴を用いて現在の動作モードを決定するコントローラと
を具備することを特徴とするメモリシステム。
【請求項2】
前記コントローラは、消費電流の増加に起因する異常電源遮断が検出された場合に、前記異常電源遮断時の動作モードよりも消費電流が小さい動作モードを実行することを特徴とする請求項1に記載のメモリシステム。
【請求項3】
前記コントローラは、同一動作モードにて一定量のデータをアクセスするごとに、アクセス性能が高い動作モードに移行することを特徴とする請求項1又は2に記載のメモリシステム。
【請求項4】
前記不揮発性メモリは、データ消去単位である複数のブロックを含み、各ブロックは、データ書き込み単位である複数のページを含み、
前記コントローラは、前回の電源供給時において最後にデータの書き込みが行われたページのエラーの数が所定数以上である場合に、異常電源遮断が発生したと判断することを特徴とする請求項2に記載のメモリシステム。
【請求項5】
各ページを構成する複数のデータ部分ごとにエラー訂正符号を生成し、かつこのエラー訂正符号を用いて各データ部分のエラーを訂正するECC回路をさらに具備し、
前記コントローラは、前記ECC回路によるエラー訂正結果に基づいて、前記エラーの数を判定することを特徴とする請求項4に記載のメモリシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−122909(P2009−122909A)
【公開日】平成21年6月4日(2009.6.4)
【国際特許分類】
【出願番号】特願2007−295486(P2007−295486)
【出願日】平成19年11月14日(2007.11.14)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】