JP2008225576A - Nand型フラッシュメモリの制御装置 - Google Patents

Nand型フラッシュメモリの制御装置 Download PDF

Info

Publication number
JP2008225576A
JP2008225576A JP2007059072A JP2007059072A JP2008225576A JP 2008225576 A JP2008225576 A JP 2008225576A JP 2007059072 A JP2007059072 A JP 2007059072A JP 2007059072 A JP2007059072 A JP 2007059072A JP 2008225576 A JP2008225576 A JP 2008225576A
Authority
JP
Japan
Prior art keywords
flash memory
nand flash
partition
program
program code
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.)
Pending
Application number
JP2007059072A
Other languages
English (en)
Inventor
Takeshi Aihara
剛 相原
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007059072A priority Critical patent/JP2008225576A/ja
Publication of JP2008225576A publication Critical patent/JP2008225576A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】NAND型フラッシュメモリの転送速度と長寿命化を両立させる。
【解決手段】NAND型フラッシュメモリの1つのパーティションに、プログラムコードのみを格納しておく。他のパーティションに、プログラムコード以外の各種データのみを格納しておく。適当なタイミングにおいてプログラムコードをパーティション単位で他のパーティションに移動させる。例えば、主電源ON時や省エネモード移行時やタイマー割込み時や移動指示操作入力時を、移動タイミングとする。あるいは、プログラムコード量に対する各種データの量の比率と、各種データの更新回数とに基づいて、プログラムコードの移動タイミングを決める。
【選択図】図1

Description

本発明は、NAND型フラッシュメモリの制御装置に関し、特に、コピー機やFAXやプリンタに用いるNAND型フラッシュメモリの制御装置に関する。
従来、プログラムの実行にはランダムアクセスが必須であるため、プログラム格納用不揮発メモリとしては、NOR型フラッシュメモリが採用されている。最近では、機器のアプリケーションが増大したことにより、プログラム容量も肥大化している。そのため、大容量でビット単価が安いNAND型フラッシュメモリをプログラム格納に採用するケースが増えてきている。プログラム格納の他にも、システムの設定データやユーザーデータや画像データ等のデータ格納としても使われている。
NAND型フラッシュメモリは、ブロック単位で高速に消去するので書込みが速いが、ランダムアクセスができないことや、ブロック単位での消去(書換え)回数に制限があり、寿命の尽きたバッドブロックが存在するという不利な点がある。1つのブロックは、10万回程度の書換えで寿命が尽きる。すると、そのブロックはバッドブロックになって使えなくなり、使用可能なブロック(容量)が減ってしまう。これに対処するために、バッドブロックを管理し、論理アドレスと物理アドレスを変換し、各ブロックの書換え回数を均一化するウエアレベリングを行い、ガーベージコレクションを行う等の手段が使われている。これらをホスト側のソフトウエアで行うと、ドライバソフトウエアの処理負荷が重くなり、システムのパフォーマンスが低下するため、これらの機能が搭載されている汎用のNAND型フラッシュメモリ用コントロールICを使う。
NAND型フラッシュメモリのブロック均一化(ウエアレベリング)方式には2つある。動的制御(ダイナミックウエアレベリング)と静的制御(スタティックウエアレベリング)である。スタティックウエアレベリングは、静的領域(プログラムデータ等の書換えのない領域)も随時移動し、パーティションに跨る領域も最適化を行うことで、メモリ全体のブロックを有効に使用できるようにする方法である。ダイナミックウエアレベリングより、フラッシュメモリを長寿命化できる。以下に、これに関連する従来技術の例をあげる。
特許文献1に開示された「システム」は、一様なウエアレベルをフラッシュメモリメディアで達成するためのシステムである。システムが、アドレス指定可能な位置を有するフラッシュメモリをサポートする。このシステムはコンパクタを使用する。ブロックとして編成されたフラッシュメモリ位置の円形シーケンス中を周期的に進む。メモリ位置中を進むときにブロックをクリアする。システムが書込ポインタを使用し、これはフラッシュメモリ位置の円形シーケンス中を進む。書込ポインタは、データを受信するために空いている1つまたは複数のメモリ位置を、書込ポインタが進んだ後に指示する。したがって、クリアおよび書込オペレーションが、連続かつ反復する円形の方法で処理されて、一様なウエアレベリングがフラッシュメモリメディア中で達成される。
特許文献2に開示された「画像形成装置」は、フラッシュメモリのプログラムバージョンアップ動作時以外では、その空き領域を他のデバイスのアドレス空間として割り当てることにより、CPUのアドレス空間の有効利用を図るものである。ICカード接続検知手段とプログラム書き換え実行設定手段とを有し、ICカードが接続され且つプログラム書き換えが設定されている場合のみICカードとフラッシュメモリをCPUのアドレス空間上に割り当て、それ以外の状態ではICカードあるいはフラッシュメモリ何れか一方のみをCPUのアドレス空間上に割り当て、使用されないアドレス空間には画像メモリ領域を拡張して割り当てる。
特許文献3に開示された「フラッシュROM制御装置」は、同一論理アドレスに対する書換え回数を世代番号で管理することによって、処理の高速化とフラッシュROMの製品寿命を長くすることのできるものである。ホストとフラッシュROM間に論理→物理変換テーブルと物理→論理変換テーブルとを設け、論理→物理変換テーブルには、同一論理クラスタアドレス(同一論理アドレス)に対応する物理クラスタ番号(物理アドレス)を記憶し、これをクラスタデータの書換えごとに変更していくとともに、さらに、物理クラスタ番号の変更回数を世代番号として記憶する。世代番号が最大値になると物理→論理変換テーブルを参照して対応の物理クラスタ番号を全て無効化する無効化処理を行う。
特開2003-256289号公報 特開2003-308525号公報 特開2005-115561号公報
しかし、従来のウエアレベリング方法には、次のような問題がある。データの移動中に電源断があっても、プログラムコードや各種データが消失しないように保証するためには、複雑な制御が必要である。そのために、NAND型フラッシュメモリのパフォーマンスが低下して、実効的な転送速度が下がる。
本発明の目的は、上記従来の問題を解決して、NAND型フラッシュメモリの転送速度と長寿命化を両立させることである。
上記の課題を解決するために、本発明では、NAND型フラッシュメモリの制御装置を、プログラムコードを格納するためのパーティションとプログラムコード以外の各種データを格納するためのパーティションとを作成する区域分割手段と、プログラムコードをパーティション単位で他のパーティションに移動する移動制御手段と、プログラムコードを移動する移動タイミングを決定するタイミング手段とを具備する構成とした。
また、タイミング手段は、主電源のON時を移動タイミングとする手段か、省エネモード移行時を移動タイミングとする手段か、タイマー割込み時を移動タイミングとする手段か、省エネモードでのタイマー割込み時を移動タイミングとする手段か、操作入力による移動指示時を移動タイミングとする手段か、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいてプログラムコードの移動タイミングを決定する手段を備える。さらに、NAND型フラッシュメモリ内のプログラムコードの格納位置を示すパーティションテーブルを備える。移動制御手段は、複数のNAND型フラッシュメモリ間でプログラムコードの移動を行う手段を備える。区域分割手段は、プログラムコード量が各種データの量より多い場合にプログラムコードを格納するための複数のパーティションを作成する手段を備える。
上記のように構成したことにより、NAND型フラッシュメモリの転送速度を落とすことなく、各種データの書換え回数を多くできる。
以下、本発明を実施するための最良の形態について、図1〜図9を参照しながら詳細に説明する。
本発明の実施例は、NAND型フラッシュメモリに格納されたプログラムコードを、適当なタイミングにおいてパーティション単位で別のパーティションに移動させるNAND型フラッシュメモリ制御装置である。
図1は、本発明の実施例におけるNAND型フラッシュメモリ制御装置を利用する装置の機能ブロック図と、NAND型フラッシュメモリ制御装置とNAND型フラッシュメモリの接続図である。図1において、CPU100は、利用装置の全体を制御する演算制御装置である。DRAM101は、一時メモリである。NAND CTL102は、NAND型フラッシュメモリ制御装置である。NAND Flash103は、NAND型フラッシュメモリである。NOR Flash104は、NOR型フラッシュメモリである。SDカード105は、外部接続の不揮発性メモリカードである。
図2は、ソフトウエア構成図と、NAND型フラッシュメモリの論理−物理メモリマップの概念図である。図3は、ウエアレベリングの比較を示す図と、プログラム領域移動の概念図である。図4は、プログラムを複数クラスタサイズで分割したプログラムブロック図と、パーティションの内容を示すパーティションテーブルである。図5は、プログラム移動概要図である。図6は、プログラムをブロック単位で移動する手順を示す図である。図7は、プログラムブロック移動の処理手順を示すフローチャートである。図8は、省エネモードでのプログラムブロック移動の処理手順を示す流れ図である。図9は、バージョンアップ時のプログラムブロック移動の処理手順を示す流れ図である。
上記のように構成された本発明の実施例におけるNAND型フラッシュメモリ制御装置の機能と動作を説明する。最初に、機能の概要を説明する。ブロック単位(ハード消去単位)で記憶データが消去されるNAND型フラッシュメモリを、NAND型フラッシュメモリコントローラで制御する。NAND型フラッシュメモリの記憶領域を、複数のパーティションに分割する。プログラムコードと各種データを、同一サイズの別のパーティションに格納する。プログラムコードを、適当な移動タイミングにおいてパーティション単位で別のパーティションに移動させる。1つのパーティションのすべてのデータを、他のパーティションに移動させるが、移動の際には、ブロック単位でコピーと消去を繰り返す。移動タイミングとしては、主電源のON時か、省エネモード移行時か、タイマー割込み時か、省エネモード中のタイマー割込み時か、オペレーションパネルからの移動指示時などとする。または、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいて、プログラムコードの移動タイミングを決める。具体的には例えば、各種データ量の比率が小さければ、各種データの更新回数が少なくても移動を行う。こうすることにより、各パーティションの平均の更新回数を少なくできる。
NAND型フラッシュメモリコントローラに複数のNAND型フラッシュメモリが接続されているときでも、それらの間で物理的デバイスを跨いでプログラムコードの移動を行う。プログラムコード量が各種データの量より多い時は、プログラムコード用のパーティションを複数に分割する。分割されたパーティション間でプログラムコードを移動する。プログラムを外部媒体により更新する時、外部媒体に格納されている更新プログラムローダーは、NAND型フラッシュメモリ内のプログラムエリア位置を示すパーティションテーブルから、プログラムを書き込む位置を識別して、プログラムを更新する。
次に、図1を参照しながら、NAND型フラッシュメモリ制御装置について説明する。図1(a)は、利用装置の制御基板の構成を示す機能ブロック図である。装置全体を制御するCPU100に、データを一時的に記憶するDRAM101と、不揮発性メモリカードであるSDカード105と、NOR型フラッシュメモリであるNOR Flash104と、NAND型フラッシュメモリを制御するNAND CTL102と、NAND型フラッシュメモリであるNAND Flash103が接続されている。NAND CTL102とNAND Flash103は、図1(b)に示す構成をしている。NAND Flash103は、記憶データがブロック単位で消去される。NAND CTL102は、NAND Flash103に対して、データの書込みと読出しと消去とを行う。NAND CTL102は、NAND Flash103に、プログラムコードを格納するためのパーティションと、プログラムコード以外の各種データを格納するためのパーティションとを作成する。プログラムコードのみをあるパーティションに格納する。各種データを別のパーティションに格納する。1つのパーティションには、プログラムコードのみかデータのみを格納し、混在させることはない。プログラムコードを移動する移動タイミングを決定して、プログラムコードをパーティション単位で他のパーティションに移動する。
次に、図2を参照しながら、ソフトウエア構成と、一般的NANDメモリの論理−物理メモリマップについて説明する。図2(a)のソフトウエア構成図に示すように、フラッシュドライバとFFS(FATファイルシステム)は、一般的にはNAND CTL102内のファームウエアに実装される。ホスト側とは、OS若しくはローダー部で接続され、その中にメモリ管理部(パーティションテーブル、プログラム移動モジュール部)が実装されている。
図2(b)は、一般的な論理−物理アドレスマップ図である。ホスト側のFFS上の論理的なメモリマップでは、データがクラスタという単位で扱われる。クラスタサイズは4KB〜32KBである。クラスタサイズは小さい方が領域を有効に扱えるが、Disk最大容量は小さくなる。ここでは、クラスタサイズを8KBとして説明する。一方、フラッシュメモリは、ハード消去単位のブロックと、書込み単位のページエリアから構成される。ラージブロックフラッシュとスモールブロックフラッシュが存在する。半導体プロセスシュリンクと大容量化に伴い、ラージブロック品が主流になりつつある。ここでは、ラージブロック(128KB)を例にして説明する。ソフトウエアで扱う単位はクラスタ(8KB)であるため、物理的には、フラッシュメモリの1ブロック内には、16個のクラスタが存在することになる。この論理クラスタと物理的なクラスタの関係は、フラッシュドライバソフト内の論理−物理アドレス変換テーブルで管理される。データ更新があると、FFS又はNAND CTL102のハードウエアは、NAND型フラッシュメモリのブロック寿命を延ばす目的と書込み速度を向上させる目的で、随時この変換テーブルを書き換えて最適化を行っている。これをウエアレベリングと呼ぶ。
次に、図3を参照しながら、ウエアレベリングの概念を説明する。データ領域をパーティション1に割り当て、プログラム領域をパーティション2に割り当てた場合、動的ウエアレベリングでは、パーティション内でのレベリングになるため、データ更新が頻繁にあるパーティション1内での最適化動作となる。静的ウエアレベリングでは、パーティションに関係なく、フラッシュ領域全体でブロック最適化を行うため、ブロック利用の長寿命化が可能になる。ただし、パーティションを跨いでブロックを置換する動作では、データコヒーレンシを確保する等の複雑な処理が必要である。例えば、置換処理中に電源が遮断されても、プログラムコード等の重要データの信頼性を確保できるように、データを2重化する処理が加わるので、データ転送速度が遅くなる。
次に、図4を参照しながら、プログラムブロックについて説明する。図4(a)は、プログラムのブロック化の説明図である。あるパーティション内に格納されているプログラムコードを任意のサイズに分割して、プログラムコードの置換を容易にする。プログラムブロックサイズ=1MBとする。1プログラムブロックは、8個のフラッシュメモリ物理ブロックで構成される。図4(b)に、パーティションテーブルを示す。NAND型フラッシュメモリのあるエリアに格納される。パーティションを大きく分類すると、予備(空き)エリアと、データエリアと、プログラム領域になる。
次に、図5を参照しながら、パーティションの作成方法を説明する。図5(a)は、プログラムサイズがデータ領域より小さい場合のプログラム移動(置換)の概略図である。データ領域をパーティション1に、プログラム領域をパーティション2にアサインし、各パーティションのサイズを、データ領域サイズ(n)とした場合である。プログラム移動は、パーティション1とパーティション2の間を、トグルで移動するように行われる。図5(b)は、プログラムサイズがデータ領域より大きい場合のプログラム移動(置換)の概略図である。プログラムデータは、データ領域のパーティション(PAT1)サイズで分割される。分割された1つのプログラム領域を、1つのパーティションに格納する。プログラム移動は、パーティション単位で実行される。最初は、プログラム領域1とデータ領域間の置換となる。次は、プログラム領域2とデータ領域2の置換となる。この動作を、プログラム領域Nまで繰り返し、またプログラム領域1の置換に戻る。
次に、図6を参照しながら、プログラムブロック移動の詳細を説明する。PAT0を空きエリア、PAT1をデータエリア、PAT2をプログラムエリアとアサインする。PAT1とPAT2は、任意のブロック単位で分割される。この場合、プログラムブロックサイズ=1MBとする。プログラムサイズが50MBのときは、ブロック数は50となる。PAT0は、データ置換を行う際に使用する空きブロックである。最低1プログラムブロックサイズ(この場合1MB=8物理ブロック)必要になる。説明を分かりやすくするために、各プログラムブロックやデータブロックが連続した構成となっているが、実際は、ウエアレベリング等により、ブロック番号は連続しないようになる。ただ、ホスト側のソフトウエアからみた論理アドレスは連続している。また、実際のプログラムブロックの置換の流れの<1>〜<6>は、図7に示すフローチャートの通りである。
次に、図7を参照しながら、プログラムブロック移動の手順を説明する。ステップ1で、ブートローダによりブート処理を行う。ステップ2で、システムを起動する。ステップ3で、プログラム移動フラグを調べる。フラグが1であれば、ステップ12〜19で、プログラムコードを移動する。フラグが0であれば、ステップ4で、ジョブがあるかどうか調べる。ジョブがあれば、ステップ5で、各ジョブを処理する。ジョブがなければ、ステップ3に戻る。ジョブの処理が終れば、ステップ6で、NAND型フラッシュメモリのデータが更新されたかどうか調べる。データ更新は、ユーザーデータ更新や、機器情報更新や、画像蓄積などである。更新されていなければ、ステップ3に戻る。更新されていれば、ステップ7で、NAND型フラッシュメモリにデータを書き込む。ステップ8で、NAND型フラッシュメモリのアクセスカウンタを更新する。ステップ9で、NAND型フラッシュメモリのアクセスカウンタの値が、書換え回数リミット値を超えているかどうか調べる。超えていなければ、ステップ3に戻る。超えていれば、ステップ10で、プログラム移動フラグを1にする。ステップ11で、電源OFFかどうか調べる。電源OFFでなければ、ステップ3に戻る。電源OFFであれば終了する。
ステップ12で、データブロック0を、PAT0の空きエリアにコピーする。ステップ13で、パーティションテーブルを更新する。ステップ14で、もとのパーティション1のデータブロック0のデータを消去し、そのエリアにパーティション2のプログラムブロック0をコピーする。ステップ15で、パーティションテーブルを更新する。ステップ16で、もとのパーティション2のデータブロック0のデータを消去し、そのエリアにパーティション0のプログラムブロック0をコピーする。ステップ17で、パーティションテーブルを更新する。ステップ18で、プログラムブロックが最終ブロックかどうか調べる。最終ブロックでなければ、ステップ12に戻り、次のデータブロックを処理する。最終ブロックであれば、ステップ19で、プログラム移動フラグを0にして、パーティションテーブルを更新し、ステップ4に行く。
次に、図8を参照しながら、省エネモードの場合の処理手順を説明する。置換の割込みのタイマーとして、CPU100等に内蔵されたRTC(リアルタイムクロック)に、予め割込み周期を設定しておく。電源をONしてシステムを起動した後、機器の省エネモードに移行すると、RTCの置換割込みビットを参照する。割込みが入っていると、NAND型フラッシュメモリ等の不揮発媒体に格納されているプログラム移動FLAGビットをON(“1”)にする。省エネ中にプログラム移動FLAGビットが立つと、プログラム移動モジュールに移り、<1>〜<6>の手順でプログラムデータの移動を行う。
ステップ21で、ブートローダによりブート処理を行う。ステップ22で、システムを起動する。ステップ23で、省エネモードに移行するかどうか調べる。省エネモードに移行するのでなければ、ステップ23に戻る。省エネモードに移行するのであれば、ステップ24で、省エネモードに移行する。ステップ25で、プログラム移動フラグを調べる。フラグが1であれば、ステップ12〜19で、プログラムコードを移動する。この処理は、図7と同じである。フラグが0であれば、ステップ26で、置換割込みがあるかどうか調べる。割込みがあれば、ステップ27で、プログラム移動フラグを1にする。ステップ28で、省エネから復帰するかどうか調べる。復帰するのでなければ、ステップ25に戻る。復帰するのであれば、ステップ29で、電源OFFかどうか調べる。電源OFFでなければ、ステップ23に戻る。電源OFFであれば終了する。
次に、図9を参照しながら、バージョンアップの場合の処理手順を説明する。外部記憶媒体(例えばSDカード)からNAND型フラッシュメモリ中のプログラムを更新する際、まず、電源ON後に、NOR Flash104からブートし、SDカード内の更新プログラムローダーがコールされて実行される。複数のプログラムを更新する場合、まず、1番目のプログラム本体のNOと一致するプログラム領域をパーティションテーブルから読み出し、そのパーティション領域に1番目のプログラムを書き込む。その処理をプログラムN個分実施する。
ステップ31で、ブートローダによりブート処理を行う。ステップ32で、外部のバージョンアッププログラムローダを起動する。ステップ33で、プログラムナンバーNのパーティションテーブルを読み込む。ステップ34で、プログラムナンバーNの本体を、パーティションテーブルが示すパーティションエリアに書き込む。ステップ35で、全プログラムの更新が終了したかどうか調べる。終了していなければ、ステップ33に戻る。終了していれば、ステップ36で、電源OFFかどうか調べる。電源OFFでなければ、ステップ36に戻る。電源OFFであれば終了する。
上記のように、本発明の実施例では、NAND型フラッシュメモリ制御装置を、NAND型フラッシュメモリに格納されたプログラムコードを、適当なタイミングにおいてパーティション単位で別のパーティションに移動させる構成としたので、NAND型フラッシュメモリの転送速度を低下させることなく、データの書換え回数を多くできる。
本発明のNAND型フラッシュメモリの制御装置は、コピーやFAXやプリンタに用いるNAND型フラッシュメモリの制御装置として最適である。PCやネットワーク機器やモバイル機器やデジタル家電機器のNAND型フラッシュメモリの制御装置としても使用できる。
本発明の実施例におけるNAND型フラッシュメモリ制御装置の機能ブロック図と、NANDコントロールICとNANDフラッシュメモリの接続構成図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置のソフトウエア構成図と、一般的NANDメモリの論理−物理メモリマップ概念図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置のウエアレベリングの比較及びプログラム領域移動の全体概念図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置のプログラムを複数クラスタサイズで分割したプログラムブロック図と、パーティションの内容を示すパーティションテーブルである。 本発明の実施例におけるNAND型フラッシュメモリ制御装置のプログラム移動概要図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置で、プログラムをブロック単位で移動する処理手順を示す図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置で、プログラムブロックを移動する処理手順を示す流れ図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置で、省エネモードの場合にプログラムブロックを移動する処理手順を示す流れ図である。 本発明の実施例におけるNAND型フラッシュメモリ制御装置で、バージョンアップする場合のプログラムブロック移動の処理手順を示す流れ図である。
符号の説明
100…CPU、101…DRAM、102…NAND CTL、103…NAND Flash、104…NOR Flash、105…SDカード。

Claims (10)

  1. プログラムコードのみを格納するためのパーティションとプログラムコード以外の各種データのみを格納するためのパーティションとを同一サイズでNAND型フラッシュメモリに作成する区域分割手段と、プログラムコードをパーティション単位で他のパーティションに移動するとともに各種データをパーティション単位で他のパーティションに移動する移動制御手段と、プログラムコードを移動する移動タイミングを決定するタイミング手段とを具備することを特徴とするNAND型フラッシュメモリの制御装置。
  2. 前記タイミング手段は、主電源のON時を移動タイミングとする手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  3. 前記タイミング手段は、省エネモード移行時を移動タイミングとする手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  4. 前記タイミング手段は、タイマー割込み時を移動タイミングとする手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  5. 前記タイミング手段は、省エネモードでのタイマー割込み時を移動タイミングとする手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  6. 前記タイミング手段は、操作入力による移動指示時を移動タイミングとする手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  7. 前記タイミング手段は、プログラムコード量に対する各種データ量の比率と各種データの更新回数とに基づいてプログラムコードの移動タイミングを決定する手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  8. NAND型フラッシュメモリ内のプログラムコードの格納位置を示すパーティションテーブルを備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  9. 前記移動制御手段は、複数のNAND型フラッシュメモリ間でプログラムコードの移動を行う手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
  10. 前記区域分割手段は、プログラムコード量が各種データの量より多い場合にプログラムコードを格納するための複数のパーティションを作成する手段を備えることを特徴とする請求項1記載のNAND型フラッシュメモリの制御装置。
JP2007059072A 2007-03-08 2007-03-08 Nand型フラッシュメモリの制御装置 Pending JP2008225576A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007059072A JP2008225576A (ja) 2007-03-08 2007-03-08 Nand型フラッシュメモリの制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007059072A JP2008225576A (ja) 2007-03-08 2007-03-08 Nand型フラッシュメモリの制御装置

Publications (1)

Publication Number Publication Date
JP2008225576A true JP2008225576A (ja) 2008-09-25

Family

ID=39844168

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007059072A Pending JP2008225576A (ja) 2007-03-08 2007-03-08 Nand型フラッシュメモリの制御装置

Country Status (1)

Country Link
JP (1) JP2008225576A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269499A (ja) * 2007-04-24 2008-11-06 Kyoto Software Research Inc バッドブロックマークの保存方法
JP2011175377A (ja) * 2010-02-23 2011-09-08 Renesas Electronics Corp フラッシュメモリ制御装置及び方法
US9384837B2 (en) 2013-10-16 2016-07-05 Samsung Electronics Co., Ltd. Method of erasing memory cells when changing their mode of operation within a nonvolatile memory device
JP2021506024A (ja) * 2017-12-12 2021-02-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ストレージクラスメモリシステムのウェアレベリングスキーム及び実装
CN113157599A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种闪存交换分区控制方法及移动设备
US11907049B2 (en) 2021-01-13 2024-02-20 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium with features for updating code and data areas of non-volatile memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020405A (ja) * 1998-06-29 2000-01-21 Matsushita Graphic Communication Systems Inc フラッシュメモリ制御装置及び方法
JP2000035919A (ja) * 1998-07-17 2000-02-02 Victor Co Of Japan Ltd フラッシュ型メモリ、その管理装置、その管理方法
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003203016A (ja) * 1991-11-28 2003-07-18 Hitachi Ltd 記憶装置
JP2000020405A (ja) * 1998-06-29 2000-01-21 Matsushita Graphic Communication Systems Inc フラッシュメモリ制御装置及び方法
JP2000035919A (ja) * 1998-07-17 2000-02-02 Victor Co Of Japan Ltd フラッシュ型メモリ、その管理装置、その管理方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008269499A (ja) * 2007-04-24 2008-11-06 Kyoto Software Research Inc バッドブロックマークの保存方法
JP2011175377A (ja) * 2010-02-23 2011-09-08 Renesas Electronics Corp フラッシュメモリ制御装置及び方法
US9384837B2 (en) 2013-10-16 2016-07-05 Samsung Electronics Co., Ltd. Method of erasing memory cells when changing their mode of operation within a nonvolatile memory device
US9767912B2 (en) 2013-10-16 2017-09-19 Samsung Electronics Co., Ltd. Nonvolatile memory system that erases memory cells when changing their mode of operation
US10115466B2 (en) 2013-10-16 2018-10-30 Samsung Electronics Co., Ltd. Nonvolatile memory system that erases memory cells when changing their mode of operation
JP2021506024A (ja) * 2017-12-12 2021-02-18 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ストレージクラスメモリシステムのウェアレベリングスキーム及び実装
CN113157599A (zh) * 2020-01-22 2021-07-23 华为技术有限公司 一种闪存交换分区控制方法及移动设备
CN113157599B (zh) * 2020-01-22 2023-12-15 华为技术有限公司 一种闪存交换分区控制方法及移动设备
US11907049B2 (en) 2021-01-13 2024-02-20 Canon Kabushiki Kaisha Information processing apparatus, method of controlling the same, and storage medium with features for updating code and data areas of non-volatile memory

Similar Documents

Publication Publication Date Title
TWI643066B (zh) 用來於一記憶裝置中重新使用關於垃圾收集的一目的地區塊之方法、記憶裝置及其控制器以及電子裝置
JP4844639B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
TWI385669B (zh) 用於快閃記憶體的平均磨損方法、儲存系統與控制器
JP5336060B2 (ja) 不揮発性メモリ装置およびそれを動作させる方法
EP1909184B1 (en) Mapping information managing apparatus and method for non-volatile memory supporting different cell types
JP2018049522A (ja) メモリシステム及び制御方法
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US20090172255A1 (en) Wear leveling method and controller using the same
US20100011153A1 (en) Block management method, and storage system and controller using the same
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
US20100042775A1 (en) Block management method for flash memory, and storage system and controller using the same
JP2005242897A (ja) フラッシュディスク装置
US20150277786A1 (en) Method, device, and program for managing a flash memory for mass storage
JP2006350430A (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
CN101923518A (zh) 存储器***、操作方法和数据加载的方法
JP4666081B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2008225576A (ja) Nand型フラッシュメモリの制御装置
JP2011070365A (ja) メモリシステム
JP2009205689A (ja) フラッシュディスク装置
CN101025711B (zh) 控制闪存的设备和方法
JP5858081B2 (ja) メモリコントローラ、メモリシステム及びメモリ制御方法
JP6004923B2 (ja) 情報処理装置及びその制御方法とプログラム
JP4488048B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP2019199059A (ja) 画像形成装置、画像形成装置の制御方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091216

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120321

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130222