JP2008158991A - Nand型フラッシュメモリの制御システム - Google Patents

Nand型フラッシュメモリの制御システム Download PDF

Info

Publication number
JP2008158991A
JP2008158991A JP2006350203A JP2006350203A JP2008158991A JP 2008158991 A JP2008158991 A JP 2008158991A JP 2006350203 A JP2006350203 A JP 2006350203A JP 2006350203 A JP2006350203 A JP 2006350203A JP 2008158991 A JP2008158991 A JP 2008158991A
Authority
JP
Japan
Prior art keywords
flash memory
nand flash
data
nand
memory controller
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
JP2006350203A
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 JP2006350203A priority Critical patent/JP2008158991A/ja
Publication of JP2008158991A publication Critical patent/JP2008158991A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Read Only Memory (AREA)

Abstract

【課題】NAND型フラッシュメモリコントローラを種々のNAND型フラッシュメモリに対応可能とし、機能やスペックを落とさずに制御基板を長いライフサイクルで使えるようにする。
【解決手段】システム電源をONして、メインCPUを起動させると共に、NAND型フラッシュメモリコントローラ12を起動させる。NAND型フラッシュメモリコントローラ12の起動においては、NAND型フラッシュメモリ13からNAND ID20を読み込んで、メモリアクセスに必要な個別仕様を設定すると共に、コンフィグデータ21を読み込んで、メモリアクセス時におけるスピード(アクセスタイム)を設定する。そして、NAND型フラッシュメモリ13のユーザデータ22をDRAMへコピーして、メインCPUがメインプログラムを実行する。
【選択図】 図2

Description

本発明は、NAND型フラッシュメモリの制御システムに関し、より詳しくは、プログラムデータを格納するNAND型フラッシュメモリに対してNAND型フラッシュメモリコントローラを用いて制御を行うNAND型フラッシュメモリの制御システムに関する。
従来、複写機、ファクシミリ、プリンタ等の機器において、メモリに格納されたプログラムデータを実行する場合、ランダムアクセス可能なメモリであることが必須であるため、プログラム格納用の不揮発メモリとしてはNOR型フラッシュメモリを採用するのが一般的であった。
しかし、最近では各機器におけるアプリケーションの増大によりプログラム容量が肥大化してきており、単位ビットあたりの単価が安く、書き込み速度の速いNAND型フラッシュメモリをプログラム格納用に採用するケースが増えている。
但し、NAND型フラッシュメモリの採用にあたっては、不良ブロックの管理、論理物理アドレスの変換、ブロックの均一化(ウエアレベリング)等の機能が必要になってくる。そこで、これらの機能をホスト側のソフトウェアを用いて行うことも可能であるが、ソフトドライバ処理の負荷を低減させるため、上記機能が搭載された汎用のNAND型フラッシュメモリコントローラが使われている。
そして、このNAND型フラッシュメモリには、メモリの仕様を示すデバイスIDがあって、接続されているNAND型フラッシュメモリコントローラがこのデバイスIDを読み込むことで、NAND型フラッシュメモリの仕様に合わせた設定を行っている。
特開2003−308525号公報 特開2003−330743号公報
このようなNAND型フラッシュメモリは、チップサイズを縮小するプロセスシュリンクによって大容量化と高速化が達成できるが、これを制御するNAND型フラッシュメモリコントローラの仕様を最新のNAND型フラッシュメモリが使える様にスケーラブルに対応させることが要請されている。
しかしながら、NAND型フラッシュメモリで使われているデバイスIDは、メーカによって微妙に異なり、サイズが限られていることから(例えば、4Byte)、拡張機能等のスペックを読み取ることができないという課題があった。そこで、NAND型フラッシュメモリの進化と共にデバイスIDのスペックが拡張されると、NAND型フラッシュメモリコントローラの開発時に未定義の情報が必要となる場合が出てくる。
また、NAND型フラッシュメモリの変動要素には、容量、ブロックサイズ、ページサイズ、アクセス速度、あるいはバス幅などがあるが、これらを設定するにあたり、NAND型フラッシュメモリコントローラの外部端子、あるいは、他の不揮発性デバイス(例えば、EEPROM等)から設定可能な冗長的な仕様にすると、NAND型フラッシュメモリコントローラのコストアップにつながるという課題があった。
さらに、NAND型フラッシュメモリコントローラ内のファームウェアをマスクROMからフラッシュROMに変えることによって、ハードウェアを変更せずに機能を拡張することが可能になるが、フラッシュROMへの変更はNAND型フラッシュメモリコントローラをコストアップさせるという課題があった。
また、汎用のNAND型メモリモジュール(SDカード、USBメモリ)は、ライフサイクルが短いため、製品毎にNAND型コントロールICを見直すことで対応が可能である。しかし、複写機や複合機等にNAND型フラッシュメモリを組み込む場合は、機器のライフサイクルが長い上、コントローラの共通化により、後発のモデルでは最新の容量や速度を持ったNAND型フラッシュメモリの搭載を検討することが必要となるが、その時にNAND型フラッシュメモリコントローラの仕様が対応していないと、NAND型フラッシュメモリの変更によって評価や品質保証をやり直さなければならず、都合が悪いという課題があった。
本発明は、上記に鑑みてなされたものであって、NAND型フラッシュメモリコントローラを幅広いNAND型フラッシュメモリに対応可能にすると共に、機能やスペックを落とすことなく制御基板を長いライフサイクルで使用することのできるNAND型フラッシュメモリの制御システムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、発明は、プログラムデータを格納するNAND型フラッシュメモリに対してNAND型フラッシュメモリコントローラを用いて制御を行うNAND型フラッシュメモリの制御システムであって、前記NAND型フラッシュメモリコントローラは、前記NAND型フラッシュメモリの特定領域に格納された設定データを読み込むことにより、当該NAND型フラッシュメモリに応じた動作仕様に変更することを特徴とする。
また、本発明の好ましい態様によれば、前記NAND型フラッシュメモリに対して外部メディアからプログラムデータを書き込む際に、前記外部メディアに格納されている設定データを前記特定領域に書き込むことが望ましい。
また、本発明の好ましい態様によれば、前記NAND型フラッシュメモリの設定データが格納された書込み治具をさらに備え、前記書込み治具を前記NAND型フラッシュメモリのインターフェースに接続し、前記特定領域へ設定データを書き込むことが望ましい。
また、本発明の好ましい態様によれば、前記NAND型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート後に前記NAND型フラッシュメモリコントローラがプログラムデータ内の設定データをコピーして、前記NAND型フラッシュメモリの特定領域に書き込むことが望ましい。
また、本発明の好ましい態様によれば、前記NAND型フラッシュメモリコントローラが前記NAND型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、前記NAND型フラッシュメモリコントローラをリセットしてリブートすることにより、設定データの設定値を反映させることが望ましい。
また、本発明の好ましい態様によれば、前記設定データにフラグを設け、該設定データをコピーする否かをフラグに基づいて判断することが望ましい。
また、本発明の好ましい態様によれば、前記設定データにバージョン情報を設け、該設定データを更新する否かをバージョン情報に基づいて判断することが望ましい。
本発明によれば、プログラムデータを格納するNAND型フラッシュメモリとNAND型フラッシュメモリコントローラとを備え、NAND型フラッシュメモリコントローラがNAND型フラッシュメモリの特定領域に格納された設定データを読み込むことで、当該NAND型フラッシュメモリの動作仕様に応じた設定変更を行うようにする。このように、個々のNAND型フラッシュメモリの設定データを、自身の特定領域に格納することにより、従来のデバイスIDのような容量やデータ形式による制約が無くなり、接続されたNAND型フラッシュメモリコントローラがNAND型フラッシュメモリ内の特定領域の設定データを読み込んで、様々なNAND型フラッシュメモリに応じた動作仕様に容易に設定を変更することができるという効果を奏する。
また、本発明によれば、外部メディアを使ってNAND型フラッシュメモリに対しプログラムデータを書き込む場合は、その外部メディアに格納されている設定データを特定領域に書き込むようにする。このように、製品化後に外部メディアを使ってNAND型フラッシュメモリにプログラムデータを書き込む場合は、その外部メディアに格納された設定データを特定領域に書き込み、NAND型フラッシュメモリコントローラがここから設定データを読み込むことによって、NAND型フラッシュメモリに合った動作仕様に容易に設定を変更することができるという効果を奏する。
また、本発明によれば、NAND型フラッシュメモリの設定データが格納された書込み治具を具備し、その書込み治具を使って製品化後のNAND型フラッシュメモリのインターフェースに接続し、書込み治具に格納されている設定データをNAND型フラッシュメモリの特定領域に書き込むようにする。このように、NAND型フラッシュメモリコントローラは、NAND型フラッシュメモリの特定領域に書き込まれた設定データを読み込むことによって、NAND型フラッシュメモリに合った動作仕様に容易に設定を変更することができるという効果を奏する。
また、本発明によれば、NAND型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート(起動)後にNAND型フラッシュメモリコントローラがNAND型フラッシュメモリのプログラムデータ内の設定データをコピーして、特定領域へ書き込むようにする。このように、NAND型フラッシュメモリコントローラは、プログラムデータ内に格納された設定データを、システムの通常起動時に特定領域へ書き込むことができるという効果を奏する。
また、本発明によれば、NAND型フラッシュメモリコントローラがNAND型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、NAND型フラッシュメモリコントローラをリセットしてリブート(再起動)することにより、設定データの設定値を反映させるようにする。このように、設定データの設定値を反映させる場合、システム全体の電源をON/OFFさせてブートするのではなく、NAND型フラッシュメモリコントローラにのみリセットをかけ、リブートすることにより、設定データの設定値の反映を効率良く行うことができるという効果を奏する。
また、本発明によれば、設定データをコピーしてNAND型フラッシュメモリの特定領域に書き込むか否かを判断するフラグを設定データに設け、NAND型フラッシュメモリコントローラが設定データのフラグの状態を見て、特定領域への設定データの書き込み判断を行うようにする。このように、フラグを使って設定データの特定領域への書き込み判断を行うため、これまで通常起動時毎に設定データの書き込み処理を行っていた無駄な処理を無くすことができるという効果を奏する。
また、本発明によれば、設定データにバージョン情報を設け、NAND型フラッシュメモリコントローラが設定データのバージョン情報に基づいて、設定データを更新する否かの判断を行うようにする。このように、バージョン情報を使って設定データの更新判断を行うため、これまで通常起動時毎に設定データの書き込み処理を行っていた無駄な処理を無くすことができるという効果を奏する。
以下に、本発明にかかるNAND型フラッシュメモリの制御システムの実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
(第1の実施の形態)
図1は、本実施の形態にかかる複写機の制御基板の概略構成を説明するブロック図である。図1に示す制御基板は、CPU10、DRAM11、NAND型フラッシュメモリコントローラ12、NAND型フラッシュメモリ13、NOR型フラッシュメモリ14、SDカード15、およびHDD16などにより構成されている。
CPU10は、複写機全体の制御を行う制御部である。DRAM11は、NAND型フラッシュメモリ13などに格納されたプログラムデータをコピーし、このDRAM上でプログラムの実行に用いられるメモリである。NAND型フラッシュメモリコントローラ12とNAND型フラッシュメモリ13は、本発明の制御システムを構成する主要部であって、NANDインターフェース(I/F)を介して接続されている。NOR型フラッシュメモリ14は、CPU10の起動用プログラムが格納されていて、システムの電源ON時にCPU10がNOR型フラッシュメモリ14のプログラムにより起動する。SDカード15は、プログラムデータや設定データとしてのコンフィグデータを格納する着脱可能な外部メディアである。HDD16は、CPU10とATAを介して接続され、種々のデータを格納できる大容量の不揮発性メモリである。
図2は、図1のNAND型フラッシュメモリコントローラとNAND型フラッシュメモリとの詳細構成図である。図2に示すように、NAND型フラッシュメモリコントローラ12は、NANDインターフェースを介してNAND型フラッシュメモリ13と接続され、NAND型フラッシュメモリ13に対する制御を行うものである。NAND型フラッシュメモリコントローラ12は、CPU121、ROM122、RAM123、NANDコントローラモジュール124、USBインターフェース125、および汎用入出力ポートとしてのGPIO(General purpose Input/Output)126などを備えている。また、NAND型フラッシュメモリ13は、デバイスIDとしてのNAND ID20を格納するブロック、拡張デバイスIDとして設定データなどのコンフィグデータ(Config Data)21を格納するブロック、およびプログラムデータなどのユーザデータ22を格納するブロックなどを備えている。
図3は、図2のNAND型フラッシュメモリのNAND IDの構成を説明する図である。NAND ID20は、図3の上表に示すように、メーカコード、デバイスコード、ページサイズ、ブロックサイズ、バス幅、およびスピード(アクセスタイム)などで構成されている。そして、これらのNAND IDは、図3の下表に示すように、4バイト内に収められている。
図4は、図2のNAND型フラッシュメモリのコンフィグデータの構成を説明する図である。このコンフィグデータ21は、NAND型フラッシュメモリコントローラ12で決められたNAND型フラッシュメモリ13の特定領域に書き込まれる。図4の上表では、コンフィグデータ21に読み出し(Read)タイミングと書き込み(Write)タイミングのデータが書き込まれていることを示し、図4の下表では、NAND型フラッシュメモリ毎のタイミング仕様とそれに対する設定値との関係を示している。図5は、コンフィグデータをNAND型フラッシュメモリコントローラからNAND型フラッシュメモリの特定領域に書き込む際に必要な専用のコマンド構成図である。図5の専用コマンドを使ってコンフィグデータの書き込みを行うと、通常のフォーマットされたメモリ空間からはアクセスできなくなる。
図12は、第1の実施の形態にかかるNAND型フラッシュメモリの制御システムの動作を説明するフローチャートであり、図13は、図12のステップS101のサブルーチンを示すフローチャートである。図12に示すように、システムの電源がONされると、図1のCPU10がNOR型フラッシュメモリ14からの起動(boot)処理が行われると共に(ステップS100)、本発明のNAND型フラッシュメモリコントローラ12の起動(boot)処理が行われる(ステップS101)。
NAND型フラッシュメモリコントローラ12における起動処理では、図13に示すように、NAND型フラッシュメモリコントローラ12がNAND型フラッシュメモリ13からNAND ID20を読み込むことによって、メモリアクセスに必要な個別仕様(例えば、ページサイズ、ブロックサイズ、バス幅、アクセスタイム)を設定することができる(ステップS1010)。
続いて、NAND型フラッシュメモリコントローラ12は、図13に示すように、NAND型フラッシュメモリ13からコンフィグデータ21を読み込むことにより、メモリアクセス時におけるスピード(アクセスタイム)を設定する(ステップS1011)。
例えば、NAND型フラッシュメモリ13のアクセスタイムが20nsで、NAND ID20からはその情報が得られない場合、あるいは、得られたとしてもNAND型フラッシュメモリコントローラ12のファームウェアがその20nsという追加された情報を認識する仕様になっていない場合は、コンフィグデータのByte1に図4下表の0x3Bをセットすることにより、アクセスタイムに応じた最大速度30MHzの動作周波数に切替えることができる。
続くステップS102では、NAND型フラッシュメモリ13のユーザデータ22を図1のDRAM11へコピーする。そして、DRAM11上のアドレスにプログラムカウンタをジャンプさせてCPU10がメインプログラムを実行する(ステップS103)。そして、システムのパワーOFFによって処理が終了する(ステップS104)。
このように、本発明の第1の実施の形態によれば、NAND型フラッシュメモリコントローラ12は、NAND型フラッシュメモリ13の特定領域に格納された設定データとしてのコンフィグデータ21を読み込むことにより、様々なNAND型フラッシュメモリ13に応じた動作仕様に変更することができる。
(第2の実施の形態 )
第2の実施の形態では、プログラムデータと設定データ(コンフィグデータ)が格納された外部メディアとしてのSDカードを用いて、NAND型フラッシュメモリ13にプログラムデータを書き込む場合に、設定データも特定領域に書き込むようにする点に特徴がある。
図6は、SDカードを用いてNAND型フラッシュメモリにデータを書き込む第2の実施の形態にかかる概略構成図である。図6に示すように、SDカード15には、プログラムデータ23とコンフィグデータ21とが格納されている。これを図1に示すSDインターフェース(I/F)を介してSDカード15を制御基板に挿入した状態でシステムの電源がONされると、CPU10とNAND型フラッシュメモリコントローラ12とが起動され、SDカード15内のデータ(プログラムデータ23とコンフィグデータ21)がDRAM11にコピーされる。そして、DRAM11内のプログラムデータ23をNAND型フラッシュメモリ13にコピーすると共に、DRAM11内のコンフィグデータ21もNAND型フラッシュメモリ13の特定領域へ専用コマンドを使って書き込むものである。以下、図14を用いて動作を説明する。
図14は、第2の実施の形態にかかるNAND型フラッシュメモリの制御システムの動作を説明するフローチャートである。SDカード15を制御基板に挿入した状態でシステムの電源がONされると、図14に示すように、CPU10がNOR型フラッシュメモリ14から起動処理を行うと共に(ステップS200)、NAND型フラッシュメモリコントローラ12の起動処理が行われる(ステップS201)。
ここで、SDカード15内のプログラムデータ23の有無が判断され(ステップS202)、プログラムデータ23が有る場合は、SDカード15のデータ(プログラムデータ23とコンフィグデータ21)をDRAM11へコピーする(ステップS203)。
そして、DRAM11内のプログラムデータ23をNAND型フラッシュメモリ13のユーザデータ22の領域へDMA転送にてコピーする(ステップS204)。
次いで、DRAM11内のコンフィグデータ21をNAND型フラッシュメモリ13のコンフィグデータ21用の特定領域へ専用コマンドを使って書き込み(ステップS205)、パワーOFFにより終了する(ステップS206)。
また、上記ステップS202において、SDカード15内にプログラムデータ23が無い場合は、通常起動と初期化が行われ(ステップS207)、NAND型フラッシュメモリ13のユーザデータ22であるプログラムデータ23をDMA転送にてDRAM11へコピーする(ステップS208)。
そして、CPU10は、DRAM11上のアドレスにプログラムカウンタをジャンプさせて、プログラムを実行する(ステップS209)。
このように、本発明の第2の実施の形態によれば、製品化後に外部のSDカード15のプログラムデータとコンフィグデータ21とをNAND型フラッシュメモリ13に書き込むことができる。これにより、NAND型フラッシュメモリコントローラ12は、起動時にNAND型フラッシュメモリ13のコンフィグデータ21を読み込むことで、NAND型フラッシュメモリ13に応じた動作仕様に設定変更することができる。
(第3の実施の形態)
第3の実施の形態では、設定データ(コンフィグデータ21)を格納したコンフィグデータ書込み治具30をさらに備えている点に特徴がある。
図7は、コンフィグデータ書込み治具を用いてNAND型フラッシュメモリの特定領域にコンフィグデータの書き込みを行う第3の実施の形態にかかる概略構成図である。制御基板のフィクスチャーを使い、NANDI/Fにコンフィグデータ書込み治具21を接続し、コンフィグデータ書込み治具21のコンフィグデータ21をNAND型フラッシュメモリ13の特定領域(コンフィグデータ21の領域)へ直接書き込むことができる。
このように、本発明の第3の実施の形態によれば、製品化時にコンフィグデータ書込み治具21を使うことにより、所望のコンフィグデータ21をNAND型フラッシュメモリ13の特定領域に書き込むことができる。これにより、NAND型フラッシュメモリコントローラ12は、起動時にNAND型フラッシュメモリ13のコンフィグデータ21を読み込むことで、NAND型フラッシュメモリ13に応じた動作仕様に設定変更することができる。
(第4の実施の形態)
第4の実施の形態では、NAND型フラッシュメモリ13に書き込まれるプログラムデータの一部に設定データ(コンフィグデータ24)が含まれている点に特徴がある。
図8は、コンフィグデータを含むプログラムデータがNAND型フラッシュメモリに書き込まれた場合の第4の実施の形態にかかる概略構成図である。図8に示すように、ROMライター40やSDカード15などを使って、コンフィグデータ24を含むプログラムデータ23をNAND型フラッシュメモリ13に書き込むことが可能である。
図15は、第4〜第6の実施の形態の動作を説明するフローチャートである。第4の実施の形態では、システムの電源がONされると、図15に示すように、CPU10がNOR型フラッシュメモリ14から起動処理を行うと共に(ステップS300)、NAND型フラッシュメモリコントローラ12の起動処理が行われる(ステップS301)。
ここで、制御基板にバージョンアップ用のSDカード15が挿入されている場合は、そのSDカード15内のプログラムデータの有無を判断し(ステップS302)、プログラムデータが有る場合は、SDカード15内にあるコンフィグデータ24を含むプログラムデータ23をDRAM11へコピーする(ステップS303)。
そして、DRAM11内のコンフィグデータ24を含むプログラムデータ23をNAND型フラッシュメモリ13のユーザデータ22の領域へDMA転送にてコピーし(ステップS304)、パワーOFFにより終了する(ステップS305)。
また、システムの製造工程にあっては、ROMライター40を使ってNAND型フラッシュメモリ13のユーザデータ22の領域へコンフィグデータ24を含むプログラムデータ23を書き込むようにしても良い。
NAND型フラッシュメモリ13のユーザデータ22領域に書き込まれたコンフィグデータ24を含むプログラムデータ23は、図15で再度システムの電源がONされ、通常起動が行われると(ステップS300および301)、NAND型フラッシュメモリコントローラ12がユーザデータ22内のコンフィグデータ24を読み込み、専用コマンドを使ってNAND型フラッシュメモリ13の特定領域にコンフィグデータ21が書き込まれる(図8中の破線矢印参照)。
このように、本発明の第4の実施の形態によれば、コンフィグデータ24を含むプログラムデータ23がNAND型フラッシュメモリ13のユーザデータ22領域に書き込まれている場合、システムの通常起動時にNAND型フラッシュメモリコントローラ12がNAND型フラッシュメモリ13のユーザデータ22内のコンフィグデータ24を読み込んで、特定領域のコンフィグデータ21が書き込まれる。これにより、NAND型フラッシュメモリコントローラ12は、起動時にNAND型フラッシュメモリ13の特定領域に書き込まれたコンフィグデータ21を読み込んで、NAND型フラッシュメモリ13に応じた動作仕様に設定を変更することができる。
(第5の実施の形態)
第5の実施の形態では、上記第4の実施の形態において、システムの通常起動時にユーザデータ22内のコンフィグデータ24を読み込み、専用コマンドを使って特定領域に書き込んだコンフィグデータ21の設定値を反映させる手段に特徴がある。
すなわち、専用コマンドを使ってNAND型フラッシュメモリ13の特定領域に書き込んだコンフィグデータ21の設定値を反映させる際に、制御基板全体の電源をON/OFFして再起動させても良い。しかし、これでは特定領域内のコンフィグデータ21の設定値を反映させる以外の起動処理も行われるため、非効率となる。そこで、第5の実施の形態では、NAND型フラッシュメモリコントローラ12にのみリセットをかけ、再起動(リブート)することで、コンフィグデータ21の設定値を反映させつつ、不必要な起動処理が行われないため、効率良く処理することができる。
このように、本発明の第5の実施の形態によれば、NAND型フラッシュメモリ13の特定領域に書き込んだコンフィグデータ21の設定値を反映させる場合は、NAND型フラッシュメモリコントローラ12にのみリセットをかけて再起動させるため、コンフィグデータ21の設定値を反映させることができると共に、制御基板全体の電源をON/OFFする必要が無いことから、効率良く処理することができる。
(第6の実施の形態)
第6の実施の形態では、上記第4の実施の形態において、NAND型フラッシュメモリ13のユーザデータ22の領域に格納されたプログラムデータ23に含まれるコンフィグデータ24を通常起動時毎に特定領域へコピーしていたが、非効率であるため、コンフィグデータにコピーをするか否かを判断するフラグを設けた点に特徴がある。
図10は、第6の実施の形態にかかるFLAGビットを含むコンフィグデータの構成図である。図10に示すように、FLAGビットは、コンフィグデータ内のByte7のbit7に設けられていて、初期値が「1」である。
上記第4の実施の形態において、CPU10は、コンフィグデータ24内のFLAGビットを読み込んで確認する(図15のステップS307)。FLAGビットが「1」の場合は(ステップS308)、ユーザデータ内のコンフィグデータ24を読み込み、NAND型フラッシュメモリ13のコンフィグデータ21に専用コマンドで書き込む(ステップS309)。その後、FLAGビットに「0」を書き込んでクリアする(ステップS310)。FLAGビットが「0」の場合は、コンフィグデータ21への書き込みが行われず、通常のメインプログラムの実行に移る。
すなわち、CPU10は、NAND型フラッシュメモリコントローラ12をリセットし(ステップS311)、NAND型フラッシュメモリコントローラ12の起動と初期化を行って(ステップS312)、NAND型フラッシュメモリ13のユーザデータ22をDRAM11へコピーし(ステップS313)、DRAM11上のアドレスにプログラムカウンタをジャンプさせ、メインプログラムを実行する。
このように、本発明の第6の実施の形態によれば、通常起動時にNAND型フラッシュメモリ13のユーザデータ内のコンフィグデータ24を特定領域のコンフィグデータ21へコピーするか否かを判断するフラグをコンフィグデータに設けることにより、無駄なコピー動作を省略して、処理を効率化することができる。
(第7の実施の形態)
第7の実施の形態では、上記第4の実施の形態において、NAND型フラッシュメモリ13のユーザデータ22の領域に格納されたプログラムデータ23に含まれるコンフィグデータ24を通常起動時毎に特定領域へコピーしていたが、非効率であるため、コンフィグデータを更新する必要があるか否かをコンフィグデータのバージョン情報を使って判断するようにした点に特徴がある。
図9は、第7の実施の形態にかかるNAND型フラッシュメモリコントローラとNAND型フラッシュメモリとの詳細構成図であり、図11は、第7の実施の形態にかかるバージョン情報を含むコンフィグデータの構成図である。まず、図9に示すように、NAND型フラッシュメモリ13のユーザデータ22内にコンフィグバージョン25というブロックが設けられる(初期値は「0」とする)。また、図9のユーザデータ22内のコンフィグデータ24には、図11に示すように、コンフィグデータ24内のByte7にバージョン情報としてのVersionデータが設けられる(初期値は「1」とする)。
第7の実施の形態では、このように構成されており、図15のステップS306に相当する通常起動時において、CPU10が図9のコンフィグデータ24内のVersionデータ(図11参照)を読み込む(このバージョン値をAとする)。
続いて、CPU10は、NAND型フラッシュメモリ13内のユーザデータ22内のコンフィグバージョン25を読み込む(このバージョン値をBとする)。そして、両方のバージョン値を比較して、A>Bの場合のみコンフィグデータ24を読み込み、NAND型フラッシュメモリ13のコンフィグデータ21に専用コマンドで書き込む(ステップS309に相当)。
その後、バージョン値Aをコンフィグバージョン25に書き込むことによって、バージョン値Bが更新される。更新時点では、A=Bとなるため、通常起動時にNAND型フラッシュメモリ13のユーザデータ内のコンフィグデータ24は、特定領域のコンフィグデータ21へコピーされない。
このように、本発明の第7の実施の形態によれば、通常起動時であってもコンフィグデータのバージョン情報を見ることにより、コンフィグデータのバージョンが更新された場合のみコンフィグデータ24を特定領域のコンフィグデータ21へコピーすることが許可され、無駄なコピー動作を省略することによって、処理を効率化することができる。
本発明に係るNAND型フラッシュメモリの制御システムは、プログラムデータを格納する種々のNAND型フラッシュメモリに応じて動作仕様が変更可能なNAND型フラッシュメモリコントローラを備えた画像形成装置やネットワーク機器などに有用である。特に、NAND型フラッシュメモリのデバイスIDでは機能拡張できなかった仕様変更にも対応することのできるNAND型フラッシュメモリの制御システムに適している。
本実施の形態にかかる複写機の制御基板の概略構成を説明するブロック図である。 図1のNAND型フラッシュメモリコントローラとNAND型フラッシュメモリとの詳細構成図である。 図2のNAND型フラッシュメモリのNAND IDの構成を説明する図である。 図2のNAND型フラッシュメモリのコンフィグデータの構成を説明する図である。 コンフィグデータをNAND型フラッシュメモリコントローラからNAND型フラッシュメモリの特定領域に書き込む際に必要な専用のコマンド構成図である。 SDカードを用いてNAND型フラッシュメモリにデータを書き込む第2の実施の形態にかかる概略構成図である。 コンフィグデータ書込み治具を用いてNAND型フラッシュメモリの特定領域にコンフィグデータの書き込みを行う第3の実施の形態にかかる概略構成図である。 コンフィグデータを含むプログラムデータがNAND型フラッシュメモリに書き込まれた場合の第4の実施の形態にかかる概略構成図である。 第7の実施の形態にかかるNAND型フラッシュメモリコントローラとNAND型フラッシュメモリとの詳細構成図である。 第6の実施の形態にかかるFLAGビットを含むコンフィグデータの構成図である。 第7の実施の形態にかかるバージョン情報を含むコンフィグデータの構成図である。 第1の実施の形態にかかるNAND型フラッシュメモリの制御システムの動作を説明するフローチャートである。 図12のステップS101のサブルーチンを示すフローチャートである。 第2の実施の形態にかかるNAND型フラッシュメモリの制御システムの動作を説明するフローチャートである。 第4〜第6の実施の形態の動作を説明するフローチャートである。
符号の説明
10 CPU
11 DRAM
12 NAND型フラッシュメモリコントローラ
13 NAND型フラッシュメモリ
14 NOR型フラッシュメモリ
15 SDカード
20 NAND ID
21 コンフィグデータ
22 ユーザデータ
23 プログラムデータ
24 コンフィグデータ
30 コンフィグデータ書込み治具
40 ROMライター
50 コンフィグバージョン
121 CPU
122 ROM
123 RAM
124 NANDコントローラモジュール
125 USBインターフェース
126 GPIO

Claims (7)

  1. プログラムデータを格納するNAND型フラッシュメモリに対してNAND型フラッシュメモリコントローラを用いて制御を行うNAND型フラッシュメモリの制御システムであって、
    前記NAND型フラッシュメモリコントローラは、前記NAND型フラッシュメモリの特定領域に格納された設定データを読み込むことにより、当該NAND型フラッシュメモリに応じた動作仕様に変更することを特徴とするNAND型フラッシュメモリの制御システム。
  2. 前記NAND型フラッシュメモリに対して外部メディアからプログラムデータを書き込む際に、前記外部メディアに格納されている設定データを前記特定領域に書き込むことを特徴とする請求項1に記載のNAND型フラッシュメモリの制御システム。
  3. 前記NAND型フラッシュメモリの設定データが格納された書込み治具をさらに備え、
    前記書込み治具を前記NAND型フラッシュメモリのインターフェースに接続し、前記特定領域へ設定データを書き込むことを特徴とする請求項1に記載のNAND型フラッシュメモリの制御システム。
  4. 前記NAND型フラッシュメモリに格納されたプログラムデータに設定データが含まれている場合は、システムのブート後に前記NAND型フラッシュメモリコントローラがプログラムデータ内の設定データをコピーして、前記NAND型フラッシュメモリの特定領域に書き込むことを特徴とする請求項1に記載のNAND型フラッシュメモリの制御システム。
  5. 前記NAND型フラッシュメモリコントローラが前記NAND型フラッシュメモリの特定領域に設定データをコピーして書き込んだ後、前記NAND型フラッシュメモリコントローラをリセットしてリブートすることにより、設定データの設定値を反映させることを特徴とする請求項4に記載のNAND型フラッシュメモリの制御システム。
  6. 前記設定データにフラグを設け、該設定データをコピーする否かをフラグに基づいて判断することを特徴とする請求項4に記載のNAND型フラッシュメモリの制御システム。
  7. 前記設定データにバージョン情報を設け、該設定データを更新する否かをバージョン情報に基づいて判断することを特徴とする請求項4に記載のNAND型フラッシュメモリの制御システム。
JP2006350203A 2006-12-26 2006-12-26 Nand型フラッシュメモリの制御システム Pending JP2008158991A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006350203A JP2008158991A (ja) 2006-12-26 2006-12-26 Nand型フラッシュメモリの制御システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006350203A JP2008158991A (ja) 2006-12-26 2006-12-26 Nand型フラッシュメモリの制御システム

Publications (1)

Publication Number Publication Date
JP2008158991A true JP2008158991A (ja) 2008-07-10

Family

ID=39659798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006350203A Pending JP2008158991A (ja) 2006-12-26 2006-12-26 Nand型フラッシュメモリの制御システム

Country Status (1)

Country Link
JP (1) JP2008158991A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061371A (ja) * 2008-09-03 2010-03-18 Fujitsu Ltd フラッシュメモリ制御装置、フラッシュメモリ制御方法及びフラッシュメモリ制御プログラム
JP2012507763A (ja) * 2008-11-04 2012-03-29 モサイド・テクノロジーズ・インコーポレーテッド 構成可能な仮想ページサイズを有するブリッジデバイス
JP2012099096A (ja) * 2010-11-03 2012-05-24 Nvidia Corp プログラム可能メモリコントローラ
US8737105B2 (en) 2008-10-14 2014-05-27 Conversant Intellectual Property Management Inc. Bridge device architecture for connecting discrete memory devices to a system
US9208108B2 (en) 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301831A (ja) * 2004-04-14 2005-10-27 Renesas Technology Corp 不揮発性記憶装置、半導体記憶装置及び記憶システム
WO2006101123A1 (ja) * 2005-03-23 2006-09-28 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及び不揮発性記憶装置の制御情報のロード方法
JP2006331233A (ja) * 2005-05-27 2006-12-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005301831A (ja) * 2004-04-14 2005-10-27 Renesas Technology Corp 不揮発性記憶装置、半導体記憶装置及び記憶システム
WO2006101123A1 (ja) * 2005-03-23 2006-09-28 Matsushita Electric Industrial Co., Ltd. 不揮発性記憶装置及び不揮発性記憶装置の制御情報のロード方法
JP2006331233A (ja) * 2005-05-27 2006-12-07 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061371A (ja) * 2008-09-03 2010-03-18 Fujitsu Ltd フラッシュメモリ制御装置、フラッシュメモリ制御方法及びフラッシュメモリ制御プログラム
US8737105B2 (en) 2008-10-14 2014-05-27 Conversant Intellectual Property Management Inc. Bridge device architecture for connecting discrete memory devices to a system
JP2012507763A (ja) * 2008-11-04 2012-03-29 モサイド・テクノロジーズ・インコーポレーテッド 構成可能な仮想ページサイズを有するブリッジデバイス
US9977731B2 (en) 2008-11-04 2018-05-22 Conversant Intellectual Property Management Inc. Bridging device having a configurable virtual page size
US9208108B2 (en) 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US9594675B2 (en) 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
JP2012099096A (ja) * 2010-11-03 2012-05-24 Nvidia Corp プログラム可能メモリコントローラ
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices

Similar Documents

Publication Publication Date Title
US20060075395A1 (en) Flash card system
TWI397007B (zh) 系統支援儲存及電腦系統
JPWO2008117520A1 (ja) メモリコントローラ、不揮発性メモリシステムおよびホスト装置
US20060047938A1 (en) Method and apparatus to initialize CPU
JP2007206885A (ja) コンピュータシステム及びシステム起動方法
JP2008158991A (ja) Nand型フラッシュメモリの制御システム
JP2004133881A (ja) カード型メモリのインターフェイス回路、その回路を搭載したasic、およびそのasicを搭載した画像形成装置
JP2005157528A (ja) メモリ装置
JP5970867B2 (ja) 情報処理装置、画像形成装置およびプログラム
JP2005182812A (ja) コンピュータシステムにおいてイメージファイルを格納するシステムおよび方法
JP2008009799A (ja) 画像形成装置
JP2004220575A (ja) カード型メモリのインターフェース回路、その回路を搭載したasic、及びそのasicを搭載した画像形成装置
JP2009211537A (ja) 画像処理装置及びアクセス制御方法
JP5468061B2 (ja) 電子機器システム及び電子機器
JP2001195246A (ja) 情報処理装置、基本データ書込み装置、基本データ書込みシステム、及び基本データ書込み方法
JP2006126987A (ja) 画像処理装置
US11722616B2 (en) Control device, startup method, and electric apparatus
JP7516126B2 (ja) 制御装置及びその起動方法、ならびに電気機器
JP5321438B2 (ja) 電子装置、起動制御方法、起動制御プログラム及び記録媒体
JP2008059522A (ja) 情報処理装置、情報処理モジュール、制御方法、及びプログラム
JP2008269380A (ja) 情報処理装置
JP2006344022A (ja) 機器及びプログラム起動方法
US10768846B2 (en) Information processing apparatus and control method of information processing apparatus
JP4009653B2 (ja) コンピュータシステム
JP2006155391A (ja) 画像形成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090723

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120529