JP2010500682A - フラッシュメモリアクセス回路 - Google Patents
フラッシュメモリアクセス回路 Download PDFInfo
- Publication number
- JP2010500682A JP2010500682A JP2009524286A JP2009524286A JP2010500682A JP 2010500682 A JP2010500682 A JP 2010500682A JP 2009524286 A JP2009524286 A JP 2009524286A JP 2009524286 A JP2009524286 A JP 2009524286A JP 2010500682 A JP2010500682 A JP 2010500682A
- Authority
- JP
- Japan
- Prior art keywords
- flash memory
- instruction
- request
- access
- interrupt
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microcomputers (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Storage Device Security (AREA)
Abstract
システムは、プロセッサと、フラッシュメモリ装置と、フラッシュ制御乖離と、ワーキングメモリとを有する。インタラプトプログラムの命令は、フラッシュメモリ装置に格納維持される。命令プロセッサがインタラプト信号を受信すると、命令プロセッサは、フラッシュ制御回路にフラッシュメモリ装置からのインタラプトプログラムの命令をワーキングメモリにロードさせるロード命令を実行する。インタラプトプログラムの命令は、その後にワーキングメモリから命令プロセッサにより実行される。好ましくは、インタラプトプログラムの命令のコピーがインタラプト時にワーキングメモリに格納されているかテストされる。当該コピーが格納されていると判明した場合、コピーからの命令の実行が、インタラプト時に進捗していないアクセス命令の実行終了前にスタートされる。コピーが格納されていると判明しない場合、アクセス命令の実行がまず終了され、その後に命令プロセッサは、ロード命令を実行し、その後にワーキングメモリからインタラプトプログラムのコピーの命令の実行を行う。
Description
本発明は、フラッシュメモリアクセス回路と、フラッシュメモリアクセス回路の動作方法とに関する。
フラッシュメモリは、それ自体周知である。フラッシュメモリは、高密度不揮発性メモリを提供する。特に、NANDフラッシュは、高い回路密度を提供する。しかしながら、これは、最新のRAMメモリと比較して長いアクセス遅延と相対的に遅いアクセス速度とを犠牲にする。このため、処理システムのメインプロセッサによるフラッシュメモリの制御は、処理をかなり低速化する可能性がある。
US6,874,044は、フラッシュメモリとUSBバスとの間のデータ転送と、ローカルインテリジェンスとを制御するフラッシュメモリを開示する。データ転送のため、フラッシュカードリーダは、USBバスとインタフェースをとるシリアルエンジンと、フラッシュメモリに接続されるフラッシュカードリーダと、フラッシュカードコントローラとシリアルインタフェースとの間のデータをバッファリングするRAMバッファとを有する。フラッシュカードはまた、CPUとROM命令メモリとを含む。CPUは、ROMからの命令を実行する命令プロセッサである。これは、その機能を向上させるため、フラッシュカードリーダにおいてローカルにプログラムを実行することを可能にする。
US6,874,044は、CPUとフラッシュメモリとによるプログラム関連データ転送(命令ロード処理を含む)間のバスコンフリクトが速度を低下させることを回避するため、シリアルエンジンとフラッシュカードコントローラとの間で2つのバスを利用する。CPUとシリアルインタフェースの両方が、アクセスリクエストをフラッシュカードコントローラに送信することができる。フラッシュカードコントローラは、CPUとシリアルインタフェースが他のアクションを実行可能である間、これらのリクエストを自律的に処理する。
US2003156473は、コントローラと、システムのスタートアップ及び通常動作のためのファームウェアを格納する不揮発性メモリとを有するメモリシステムを開示する。コントローラは、揮発性メモリとプロセッサとを有し、コントローラによるハードウェア制御の下で、不揮発性メモリに格納されているスタートアップファームウェアが揮発性メモリにロードされ、プロセッサが停止されると、揮発性メモリのスタートアップファームウェアがプロセッサによりその後に実行されるように、システムの初期化又は設定中に動作するよう構成される。
US5881295は、オンチップイレーサブルかつプログラマブル不揮発性フラッシュプログラムメモリのプログラミング及びイレーシング中にインタラプトを制御するデータプロセッサを開示する。一般に、インタラプト又はアドレスエラーが発生すると、中央処理ユニットによる処理は、インタラプト処理ルーチン又は例外処理ルーチンに分岐される。インタラプト処理ルーチン又は例外処理ルーチンの先頭アドレスを示すベクトルアドレスが、中央処理ユニットによる処理をインタラプト処理ルーチン又は例外処理ルーチンに分岐するのに使用される。しかしながら、インタラプト又は例外処理が発生した場合、フラッシュメモリがプログラムメモリとして使用され、ユーザプログラムモード又はブートモードにおいてフラッシュメモリに対してイレーシング又はプログラミングが実行されると、中央処理ユニットは、フラッシュメモリのベクトルアドレス格納エリアに格納されている所望のベクトルアドレスを取得することができない。このため、プログラムメモリのデータがイレース又はプログラムされている間、インタラプトリクエスト又は例外処理リクエストが中央処理ユニットに行われると、処理対象となるインタラプト処理又は例外処理のためのベクトルアドレスデータが、プログラムメモリ以外のメモリの所定のエリアに以前に格納される。
本発明の課題は、特に命令プロセッサのプログラムのための格納を提供するのにより少ないオーバヘッドしか必要としないシンプルなフラッシュメモリアクセス回路を提供することである。本発明は、独立クレームにより規定される。従属クレームが、効果的な実施例を規定する。
一特徴によると、フラッシュメモリアクセス回路が提供される。当該回路では、命令プロセッサによる命令の実行は、フラッシュメモリ装置にアクセスするフラッシュ制御回路を制御するのに使用される。これは、フラッシュメモリの使用と組み合わされ、命令プロセッサに通知されるインタラプトを処理するためのインタラプトプログラムの命令を少なくとも有するプログラム命令を命令プロセッサに提供する。一実施例では、インタラプトは、USBスレーブ回路などのフラッシュメモリアクセス回路の通信回路により生成されるインタラプトを有する。
命令プロセッサは、フラッシュメモリからワーキングメモリにロードされたインタラプトプログラムの命令のコピーを利用して、ワーキングメモリからのインタラプトプログラムの命令を実行することによりインタラプトを処理する。命令プロセッサは、ワーキングメモリを直接アドレス指定してもよいし、又はメモリ管理ユニットは、フラッシュメモリの記憶位置のプロセッサにより発行されたアドレスをフラッシュメモリのコンテンツのコピーが格納されるワーキングメモリの位置にマップするのに使用されてもよい。インタラプトが生成され、インタラプトを処理する命令がワーキングメモリにないとき、命令プロセッサは、フラッシュメモリからインタラプトプログラムの命令をロードするためのロード命令をまず実行することによって、インタラプトを処理する。従って、インタラプトプログラムを格納するための命令メモリスペースの必要が回避され、インタラプトプログラムのための固定されたスペースが予めワーキングメモリに確保される必要がない。
典型的な実施例では、インタラプト処理は、他のインタラプトを自動的に不可にし(少なくとも同一及び下位の優先レベルのインタラプト)、当該他のインタラプトを不可にしたままインタラプト処理プログラムの命令の実行を実行し、その後にインタラプトを再実行することを含む。さらなる実施例では、フラッシュメモリ装置からロードされるコピーにおけるインタラプトプログラムの命令は、上記再実行前に実行される命令を有する。
一実施例では、インタラプトプログラムの命令のコピーが、インタラプトの受付前にすでにワーキングメモリに格納されているかテストされる。テストは、命令プロセッサ自体によって、又はメモリ管理ユニットなどによって実行されるかもしれない。さらなる実施例では、命令プロセッサがインタラプトプログラムの命令と、以前にスタートされたアクセスリクエストを終了させる命令とを実行する順序は、コピーが以前に格納されているか検出されるか否かに依存する。そうである場合、命令プロセッサは、まずインタラプトプログラムの命令を実行し、そうでない場合、命令プロセッサは、以前にスタートされたアクセスリクエストを処理するための命令の実行が終了した後まで、コピーのロード及び以降の実行を遅延させる。このように、インタラプトを処理するための最大速度が、以前のアクセスリクエストの処理を再スタートさせる必要のオーバヘッドなく、又は当該リクエストのデータを欠落させることなく実現可能である。
これらの実施例では、NANDフラッシュアクセスについて特に効果的である。なぜなら、それらは大きなアクセス遅延の効果を軽減するためである。
他の特徴によると、命令プロセッサは、フラッシュメモリ装置に対するアクセスリクエストのキューを規定する。一実施例では、インタラプトプログラムの命令のコピーが、以前のリクエストの後にキューにそれを実行するリクエストを配置し、命令プロセッサを使用して、インタラプトプログラムの命令のコピーをロードするリクエストを処理する前にキューにある以前のリクエストを処理し、インタラプトを処理することによりロードされる。
一実施例では、命令プロセッサは、キューにあるリクエストのパイプライン形式による処理を実行させるための命令を実行する。ここで使用される“パイプライン処理”とは、アクセスリクエストの処理が、アクセスデータに異なる処理が適用される連続するステージを有することを仮定する。パイプライン形式による処理は、異なるリクエストを処理する異なるステージが互いにパラレルに実行されることを意味する。異なるステージの具体例として、フラッシュメモリのメモリセルのブロックを消去し、メモリセルのブロックをプログラミングし、メモリセルのブロックを読み込み、フラッシュメモリチップとフラッシュコントローラとの間でデータを転送し、フラッシュコントローラとワーキングメモリとの間でデータを転送し、データブロックを誤り訂正符号(ECC)に符号化し、ECC(すなわち、誤り訂正)に従って復号化し、暗号化及び解読の実行などがあげられる。プログラミング及び読み込みは、フラッシュメモリの異なるバンクについてパラレルに実行されてもよいが、これが1つのリクエストのデータについて起こる限り、これは、異なるリクエストのパイプライン化された実行と呼ばれない。
アクセスリクエストを処理する異なるステージは、フラッシュ制御回路の異なる回路部分により実行されてもよいが、これら回路部分は、命令プロセッサにより実行される命令の制御の下で命令プロセッサからの各ステージをスタートする制御信号をプロセッサから受け付ける。従って、命令プロセッサは、異なるパイプラインステージが実行される時点を制御しさえすればよい。
一実施例では、リクエストに対する暗号化及びECCへの符号化は、1つのステージとして連続的に実行され、他のリクエストに対するプログラミングを伴うステージによりパイプライン処理される。この場合、何れか1つが1つのリクエストに対する暗号化及び符号化を実行するのに使用され、他方が他のリクエストについてプログラミングを実行するよう使用されるメモリのペアが設けられ、これらのメモリの役割が交互のリクエストについて交換される。暗号化及び符号化が互いにパイプライン処理されない場合であっても、最大速度が実現されるようなプログラミング速度となることが示された。
一実施例では、キューにおけるフラッシュリードリクエストとフラッシュプログラミングリクエストのパイプライン処理された実行をミックスすることが回避される。1つのタイプのリクエスト(リード又はプログラミング)の第1ステージの実行をスタートする前、異なるタイプ(プログラミング又はリード)の以前のリクエストのステージの実行のすべてのステージがまず終了される。これは、フラッシュメモリアクセスを大きく簡単化する。
上記及び他の課題並びに効果的な特徴が、以下の図面を用いて実施例の説明から明らかになるであろう。
図1は、命令プロセッサ10と、メモリ管理インタフェース12と、NANDフラッシュ制御回路14と、NANDフラッシュメモリ14aと、ローカルメモリ回路16と、通信インタフェース18とを有するフラッシュメモリシステムの実施例を示す。命令プロセッサ10は、メモリ管理インタフェース12を介しローカルメモリ回路16と通信インタフェース18とに接続される。さらに、メモリ管理インタフェース12は、NANDフラッシュ制御回路14とフラッシュメモリポート301とを介しNANDフラッシュメモリ14aに接続される。通信インタフェース18は、情報を送受信するためのターミナル19と、命令プロセッサ10のインタラプト入力に接続される出力とを有する。通信インタフェース18は、例えば、既知のUSB(Universal Serial Bus)による通信などをターミナル19を介しサポートするかもしれない。ローカルメモリ回路16は、SRAMやDRAMなどの揮発性メモリ回路であるかもしれない。システムのコンポーネントは、集積回路に集積されるかもしれない。一実施例では、NANDフラッシュメモリ14aを除くコンポーネントは集積回路に集積され、NANDフラッシュメモリ14aが1以上の個別の集積回路に集積される。本実施例では、フラッシュメモリポート301は、NANDフラッシュメモリ14aを除くコンポーネントが集積される集積回路のターミナルを有する。
動作について、命令プロセッサ10は、NANDフラッシュメモリ14aにより提供される命令のプログラムを実行する。命令プロセッサ10がこのような命令を実行する必要があるとき、それは、メモリ管理インタフェース12にNANDフラッシュメモリ14aからの複数の命令を含むプログラム又はプログラムセクションをローカルメモリ回路16にロードさせる。その後、命令プロセッサ10が命令のアドレスを発行すると、メモリ管理インタフェース12はこれらのアドレスをローカルメモリ回路16にマップし、命令プロセッサ10による実行のため、ローカルメモリ回路16からこれらの命令を抽出する。メモリ管理インタフェース12は、コピーなどを格納するためのワーキングメモリ位置を選択する完全なメモリ管理ユニットであってもよいし、又は命令プロセッサ10により管理が実行されてもよい。また、メモリ管理インタフェース12のすべての機能は、命令プロセッサ10により実現されてもよい(マッピングは、例えば、ベースアドレスポインタを利用することにより実現される)。メモリ管理の実行時、メモリ管理インタフェース12と命令プロセッサ10、又は命令プロセッサ自体をここではプロセッサと呼ぶ。
これらの命令は、NANDフラッシュメモリ14aとの間でデータを読み書きするための命令を含むかもしれない。NANDフラッシュメモリ14aの読み書きは、典型的には、ブロック単位で実行され、各ブロックはページやセクションなどの複数のアドレスのデータを含む。また、NANDフラッシュメモリ14aにおける読み書きは、典型的には、命令プロセッサ10の異なる命令の制御の下で実行される複数の連続するアクションをブロックに適用することを含む。
プログラム実行中、コマンドを実行させる信号が、ターミナル19に接続されるPC(Personal Computer)などの外部装置(図示せず)により生成されてもよい。通信インタフェース18がこのような信号を検出すると、それは命令プロセッサ10に通常プログラムの実行を中断させ、インタラプトプログラムの実行をスタートさせるため、命令プロセッサに対するインタラプトを生成する。インタラプトプログラムの命令は、NANDフラッシュメモリ14aに格納され、インタラプトプログラムの実行のため、ローカルメモリ回路16にコピーされる。
図2は、インタラプトの処理中の動作のフローチャートを示す。第1ステップ21において、処理回路10はインタラプトを受け付ける。このインタラプトのため、インタラプトプログラムが規定される。一実施例では、複数の異なるタイプのインタラプトが可能であり、それぞれが異なるインタラプトプログラムに関連付けされる(例えば、インタラプトベクトルテーブル又はジャンプテーブルなどにより)。第2ステップ22において、インタラプトのためのインタラプトプログラムが以前にローカルメモリ回路16にコピーされたか、そして依然としてローカルメモリ回路16に格納されているかテストされる。このステップは、命令プロセッサ10からのインタラプトプログラムのNANDフラッシュメモリアドレスに応答して、メモリ管理インタフェースなどにより実行されるかもしれない。インタラプトプログラムのコピーがローカルメモリ回路16に格納されている場合、第3ステップ23が実行され、命令プロセッサ10が、ローカルメモリ回路16からの命令を用いてインタラプトプログラムを実行する。インタラプトプログラムの完了後、命令プロセッサ10にインタラプト後に中断された部分から通常プログラムの実行を再開させる。
第2ステップ22において、コピーが格納されていないと検出された場合、第4ステップ24が実行され、命令プロセッサ10がインタラプト時にNANDフラッシュアクセス処理を実行していたかテストされる。そうである場合、第5ステップ25が実行され、中断されたプログラムのNANDフラッシュアクセス処理を終了させるための命令が実行される。第5ステップ25における上記終了は、少なくともNANDフラッシュメモリ14aのプログラミングユニットのためのプログラミングアクションのデータ要素の連続する書き込みの終了を含む。知られているように、NANDフラッシュのプログラミングは、他のユニットの読み書きの介入なくユニット毎に実行される必要がある。他のユニットがアクセスされると、前のユニットは、全体としてのみプログラム可能である。プログラミングアクションの完了後、インターラプトプログラムのロード後にプログラミングアクションの全体を繰り返すことは不要とされる。第5ステップ25における上記終了が実行された後、NANDフラッシュメモリ14aからのインタラプトプログラムをローカルメモリ回路16にロードする第6ステップ26が実行される。その後、第3ステップ23が実行される。
第4ステップ24において、命令プロセッサ10がインタラプト時にNANDフラッシュアクセス処理を実行していなかったと検出された場合、第6ステップ26が、中断されたプログラムからの命令の事前の実行なく第4ステップ24の直後に実行される。
このように、インタラプトプログラムのコピーがローカルメモリ回路16において利用可能である場合、インタラプトが即座に処理されるが、インタラプトプログラムがNANDフラッシュメモリ14aからロードされる必要があるとき、NANDフラッシュアクセス処理は、インタラプトプログラムの実行前に最初に終了されるかもしれない。従って、インタラプトプログラムの格納のため特別な不揮発性メモリは必要でなく、インタラプトプログラムのコピーが格納されるとき、インタラプトに対する高速レスポンスが利用可能である。
典型的には、ローカルメモリ回路16のアドレススペースのサイズは、NANDフラッシュメモリ14aのものよりはるかに小さい。NANDフラッシュメモリ14aに格納されているすべてのプログラムのすべての命令が、必ずしもローカルメモリ回路16に同時に格納可能であるとは限らない。従って、ローカルメモリ回路16にロードされる命令は、典型的には、他の命令が以前に格納されたメモリ位置に書き込まれ、これにより、これら他の命令は再び必要になるときに再ロードされる必要がある。一実施例では、インタラプトプログラムの一部分のみがロードされてもよい。この場合、中断されたフラッシュメモリアクセス処理は、たとえインタラプトプログラムのスタートがローカルメモリ回路16に格納されていても、好ましくは、インタラプトプログラムの実行前に終了される。しかしながらあるいは、インタラプトプログラムの格納されている部分は、インタラプトに応答して即座に実行されてもよく、インタラプトプログラムの格納されていない部分が以降においてロードされた場合、その前に中断されたフラッシュメモリアクセス処理が終了される。
第5ステップ25におけるアクセス命令の終了を確実にするため、各種手段が利用されるかもしれない。一実施例では、命令プロセッサ10のプログラムは、1以上のフラッシュメモリアクセス処理の進捗と、当該命令に関係するデータの位置とを示す状態情報を格納するよう構成される。本実施例では、インタラプトプログラムがローカルメモリ回路16にないとき、格納されている状態情報が、終了されるべきタイプのアクセス処理が進捗していることを示すかテストされる。そうである場合、状態情報は、第5ステップ25においてアクセス処理を終了させるのに利用され、状態情報が更新される。命令プロセッサ10の各プログラムが、フラッシュメモリアクセスに関する状態情報を含む状態情報セットを規定してもよいことに留意されたい。典型的には、状態情報セットのたのすべての部分が、インタラプト時に保存され、インタラプトの処理後にそれらの保存されている値に復元される。アクセス処理に関する状態情報は、インタラプト後であって中断されたプログラムの再開前に更新されるという点で、例外的なものである。
他の実施例では、第5ステップ25におけるアクセス命令の終了は、アクセス命令を示す情報を(命令プロセッサ10又はローカルメモリ回路16などに)格納するか、又は所定のアドレス範囲内のメモリ位置に当該アクセス命令を格納することによって実行されるかもしれない。この場合、中断時のプログラムカウンタ値は、格納されている情報又は所定のアドレス範囲と比較され、中断時の命令がアクセスに関するものであると検出された場合、アクセス命令の実行が継続される。アクセスに関する命令系列の終了時、第6ステップ26において実行を開始するため、インタラプト処理が継続中であるか検出するための命令がプログラムに含まれてもよい。
他の実施例では、命令プロセッサ10のプログラムは、命令プロセッサ10にNANDフラッシュアクセス処理のパイプラインを維持させるよう構成されてもよい。NANDフラッシュアクセス処理は、暗号化及び解読、誤り訂正符号化/復号化、ページアドレッシング、消去、NANDフラッシュ制御回路14とNANDフラッシュメモリ14aとの間のデータ転送、プログラミング及び読み込みなど、連続する各ステージに分割されてもよい。パイプラインは、例えば、それぞれが対応するステージが次に適用される必要があるアクセス処理を示し、各ステージのための連続するアクセス処理及びポインタセットのリストを格納することにより実現されてもよい。あるいは、リストの各リクエストが、当該リクエストに適用される必要がある次のステージを示すステージインジケータと組み合わされてもよい。あるいは、各リストが各ステージについて用意され、当該ステージが連続的に適用される必要があるアクセス処理を示す複数のリストが、利用されてもよい。(前のステージが適用されると、アクセス処理が次にステージのためリストに追加される。)
本実施例では、命令プロセッサは、他のプログラムに加えてパイプライン処理プログラムを実行する。その他のプログラムは、パイプラインに挿入されるNANDフラッシュアクセスリクエストを発行し、パイプライン処理プログラムが、パイプラインのNANDフラッシュアクセスリクエストへのステージの適用を制御する。アクセスリクエストを処理するパイプライン処理プログラムが終了すると、それはこれをその他のプログラムに通知し、これにより、アクセスに依存する実行の一部を継続することが可能とされる。
本実施例では、命令プロセッサは、他のプログラムに加えてパイプライン処理プログラムを実行する。その他のプログラムは、パイプラインに挿入されるNANDフラッシュアクセスリクエストを発行し、パイプライン処理プログラムが、パイプラインのNANDフラッシュアクセスリクエストへのステージの適用を制御する。アクセスリクエストを処理するパイプライン処理プログラムが終了すると、それはこれをその他のプログラムに通知し、これにより、アクセスに依存する実行の一部を継続することが可能とされる。
本実施例では、インタラプトに応答して、インタラプトプログラムがローカルメモリ回路16にないとき、インタラプトに応答してNANDフラッシュメモリ14aからインタラプトプログラムをロードするアクセス処理が、前にスタートされたアクセス処理の後にパイプラインに配置される。この場合、命令プロセッサによるパイプライン処理プログラムの命令の実行は、インタラプトプログラムがローカルメモリ回路16にない場合、インタラプトプログラムの実行のため中断されない。その代わりに、パイプライン処理命令の実行は、インタラプトプログラムがロードされるまで継続され、その後、インタラプトプログラムが実行される。しかしながら、インタラプト後、命令プロセッサ10は、インタラプトプログラムが実行されるまで、パイプライン処理プログラム以外のプログラムの実行をサスペンドする。
本実施例では、パイプライン処理の各種ステージをパラレルに実行する追加的な回路が設けられてもよい。このため、命令プロセッサ10は、当該追加的回路によりステージの実行が行われている間、他のプログラムを実行するよう構成されてもよい。あるいは、命令プロセッサ10は、ステージの実行が当該追加的回路により実行される間、他のステージを実行してもよい。
図3は、処理回路30とNANDフラッシュメモリ回路14aとを有するフラッシュメモリシステムの実施例を示す。処理回路30は、通信ポート300と、フラッシュメモリポート301と、ローカルバス302とを有する。NANDフラッシュメモリ回路14aは、フラッシュメモリポート301に接続される。処理回路30は、命令プロセッサ10と、ローカルメモリ回路16と、通信ポートインタフェース18と、DMA(Direct Memory Access)回路34と、NANDフラッシュメモリ制御回路36とを有し、そのすべてがローカルバス302に接続される。命令プロセッサ10は、メモリ管理インタフェース12を介しローカルバス302に接続される。通信ポートインタフェース18は、通信ポート300とローカルバス302との間に接続される。NANDフラッシュメモリ制御回路36は、フラッシュメモリポート301とローカルバス302との間に接続される。
一実施例では、図3の各種コンポーネントは、通信ポートNANDフラッシュインタフェース装置として使用するため、単一の集積回路装置に集積される。
動作について、メモリ管理インタフェース12は、ローカルバス302を介しローカルメモリ回路16からプログラム命令をロードし、命令プロセッサ10は、これらの命令を実行する。命令を含むプログラム部分は、この目的のため、NANDフラッシュメモリ14aからローカルメモリ回路16にロードされる。典型的には、命令プロセッサ10は、プログラム部分に対するリクエストを発行することによって、又は当該プログラム部分の最初の命令をアドレス指定することによって、ロード処理を開始する。メモリ管理インタフェース12は、これに応答して、NANDフラッシュメモリ制御回路36及びDMA回路34にコマンドを送信する。
これに応答して、NANDフラッシュメモリ制御回路36は、NANDフラッシュメモリ14aからプログラム部分を抽出し、それを復号化する。DMA回路34は、NANDフラッシュメモリ制御回路36からローカルメモリ回路16へのプログラム部分の転送を制御する。一実施例では、プロセッサ10は、メモリ管理インタフェース12から実行するための信号を受信した後、NANDフラッシュメモリ制御回路36とDMA回路34とを制御する。これは、NANDフラッシュメモリ制御回路36とDMA回路34の制御がソフトウェアにより実現可能であることを意味する。
通信ポートインタフェース18は、通信ポート300に接続されるホストプロセッサ(図示せず)からコマンドを受信する。このため、通信ポート300と通信ポートインタフェース18とは、例えば、既知のUSBインタフェースなどをサポートするようにしてもよい。あるタイプのコマンドを受信すると、通信ポートインタフェース18は、インタラプト信号を命令プロセッサ10に送信する。インタラプト信号に応答して、命令プロセッサ10は、現在のプログラム部分の実行から、中断を処理するための命令を有するインタラプトプログラムの実行にスイッチする。インタラプトルーティングの命令がローカルメモリ回路16に格納される場合、命令プロセッサ10は、それがインタラプトを付与すると、インタラプトルーチンをすぐに実行する。しかしながら、インタラプトルーティングの命令がローカルメモリ回路16に格納されない場合、命令プロセッサ10はまず、NANDフラッシュメモリ14aからのインタラプトルーチンの命令をローカルメモリ回路16にロードするリクエストを発行する。当該リクエストはパイプラインに追加され、パイプラインにおけるリクエストの処理が、インタラプトプログラムをロードするリクエストが処理されるまで継続される。このインタラプトプログラムは、ロードされると実行される。
複数のステージにおいて、NANDフラッシュメモリ14aにアクセスするリクエストの処理が実行される。一実施例では、読み込みのためのステージは、NANDフラッシュメモリ14aからのデータ転送、ECC(Error Correcting Code)復号化及び解読を含む。他の実施例では、プログラミングのためのステージは、暗号化、ECC符号化及びNANDフラッシュメモリ14aへのデータ転送を含む。
図4は、第1バッファメモリ40aと、第2バッファメモリ40bと、バスインタフェース41と、ECC処理回路42と、解読/暗号化処理回路44と、ローカルDMA回路46と、制御回路48とを含むNANDフラッシュメモリ制御回路34の実施例を示す。バスインタフェース41は、図3のDMA回路36(図示せず)の制御の下、バッファメモリ40a,40bとの間でデータを転送するよう構成される。ECC処理回路42と解読/暗号化処理回路44は、他方のバッファメモリ40a,40bへの自由なアクセスを残しながら、バッファメモリ40a,40bの選択可能な1つにおいてデータを処理するよう構成される。ローカルDMA回路46は、他方のバッファメモリ40a,40bへの自由なアクセスを残しながら、バッファメモリ40a,40bの選択可能な1つとNANDフラッシュメモリ14aとの間でデータを転送するよう構成される。
動作について、NANDフラッシュメモリ制御回路34は、NANDフラッシュメモリ14a、ECC復号化及び符号化、並びに解読/暗号化との間のデータ転送を実行する。一実施例では、図4の回路を利用して、パイプラインアクセス処理は、バッファメモリ40a,40bとの間の転送のさらなるステージを含む。
データブロックのプログラミング処理は、(1)バッファメモリ40a,40bの1つへのデータブロックのDMA転送、(2)暗号化、(3)ECC符号化、(4)バッファメモリからのデータを利用したNANDフラッシュメモリ14aのプログラミングの各ステージに関する。NANDフラッシュメモリ14aのプログラミングは、(1)NANDフラッシュメモリ14aへの所定のプログラムコマンドバイトと、その後のアドレスの書き込み、(2)ローカルDMAコントローラ46を介したNANDフラッシュメモリ14aへのデータの転送、(3)NANDフラッシュメモリ14aへのプログラム実行コマンドバイトの書き込み、(4)NANDフラッシュメモリ14aがコマンドを終了することを待機、(5)リード状態コマンドバイトのNANDフラッシュメモリ14aへの書き込み及び当該状態の読み返しの各ステップを含むかもしれない。暗号化及びECC符号化は、バッファメモリの1つにおけるデータの置換及び/又は追加により実行される。異なるステージが、バッファメモリ40a,40bの異なるものを利用して、異なるアクセスリクエストについてパラレルに実行可能である。
データブロックのための暗号化及びECC符号化が、当該データブロックを格納する同一のバッファメモリ40a,40bに対して実行される。あるいは、暗号化に対してデータが1つのバッファメモリから読み込まれ、結果が他のバッファメモリに書き込まれ、ECC符号化に対しても同様に行われるように、いくつかのバッファメモリがステージ間に含まれてもよい。しかしながら、暗号化とECC符号化の双方に対して1つのバッファメモリを使用することによって、バッファメモリスペースが節約可能であることが示されている。なぜなら、双方は、NANDフラッシュメモリとの間でデータブロックを転送するのに必要な時間において実行可能であるためである。
データブロックのリード処理は、NANDフラッシュメモリ14aにリードページコマンドをと、その後にアドレスバッファを送信し、(2)NANDフラッシュメモリ14aがリクエストされた情報を抽出するのを待機し、(3)NANDフラッシュメモリ14aからバッファメモリの1つにデータブロックを転送し、(4)ECC復号化(すなわち、誤り訂正)、(5)解読、及び(6)バッファメモリ40a,40bからバスへのデータブロックのDMA転送の各ステージを伴う。解読及びECC復号化は、バッファメモリの1つにおけるデータの置換及び/又は追加により実行される。異なるステージが、バッファメモリ40a,40bの異なるものを用いて異なるアクセスリクエストについてパラレルに実行可能である。
一実施例では、パイプライン処理が命令プロセッサ10により制御される。命令プロセッサ10は、パイプラインのリクエストの状態を記述した情報を維持する。この情報に基づき、命令プロセッサ10は、DMA回路36,ECC処理回路42、解読/暗号化処理回路44及びローカルDMA回路46に、あるユニットがフリーになり、パイプラインにおいて当該ユニットの処理対象のリクエストの順番になると、これらのユニットによるデータブロックの処理をトリガーする信号を送信する。命令プロセッサ10は、データブロックが処理された時点を決定し(例えば、ポーリング又はインタラプトベースにより)、パイプラインにおける各リクエストの状態を記述した情報を更新する。
一実施例では、1つのタイプのリクエストのみが(プログラミング又は読み込み)、一時にパイプライン処理される。第1タイプの1以上のリクエストがパイプライン処理され、第2の異なるタイプのリクエストが受け付けられると、第2タイプのリクエストの処理がスタートする前に、第1タイプの1以上のリクエストを処理するステージがまず終了される。これは、パイプライン処理を簡単化する。
上述した実施例は、本発明を限定するものでなく説明するためのものであり、当業者は添付した請求項の範囲から逸脱することなく他の多数の実施例を設計可能であることに留意すべきである。請求項において、括弧内の参照符号は請求項を限定するものとして解釈されるべきでない。“有する”という用語は、請求項に列記された以外の要素又はステップの存在を排除するものでない。要素に先行する“ある”という用語は、このような要素が複数存在することを排除するものでない。本発明は、複数の異なる要素を有するハードウェアによって、及び/又は適切にプログラムされたプロセッサによって実現可能である。複数の手段を列記した装置の請求項において、これらの手段のいくつかが1つの同一のハードウェアアイテムにより実現されてもよい。ある手段が互いに異なる従属項に記載されているという事実は、これらの手段の組み合わせが効果的に利用可能でないことを示すものでない。
Claims (21)
- フラッシュメモリ装置にアクセスするためのフラッシュインタフェースポートと、
前記フラッシュインタフェースに接続されるワーキングメモリと、
フラッシュ制御回路と、
前記ワーキングメモリと前記フラッシュ制御回路とに接続される命令プロセッサと、
を有するフラッシュメモリアクセス回路であって、
前記命令プロセッサは、インタラプト入力を有し、
前記命令プロセッサは、前記ワーキングメモリへの格納のため、前記フラッシュ制御回路に前記フラッシュメモリから前記フラッシュインタフェースを介しインタラプトプログラムの命令のコピーをロードさせるロード命令を実行することによって、前記インタラプト入力において通知されるインタラプトを処理し、その後、前記ワーキングメモリからの前記コピーの命令を実行することによって前記インタラプトを処理するようプログラムされるフラッシュメモリアクセス回路。 - 前記命令プロセッサは、リクエスト処理命令系列を実行することによって前記フラッシュメモリにアクセスするリクエストの処理を実行させるようプログラムされ、
前記命令プロセッサは、前記インタラプトの受付に応答して、前記インタラプト前に前記コピーが前記ワーキングメモリに格納されたかテストし、前記コピーが格納されていたと判明しなかった場合、前記リクエスト処理命令系列の実行終了後に前記ロード命令を実行するよう構成されるプロセッサに含まれ、
前記命令プロセッサは、前記インタラプトが前記リクエスト処理命令系列の実行開始後に行われる場合、前記コピーが以前に格納されていることが判明したか否かに応じて、前記リクエスト処理命令系列の実行終了の前後に、前記コピーの命令を実行することによって前記インタラプトを処理するようプログラムされる、請求項1記載のフラッシュメモリアクセス回路。 - 前記フラッシュメモリ装置は、前記フラッシュインタフェースに接続される、請求項1記載のフラッシュメモリアクセス回路。
- 前記フラッシュメモリ装置は、NANDフラッシュメモリ装置である、請求項3記載のフラッシュメモリアクセス回路。
- 外部通信インタフェースと、
前記外部通信インタフェースと前記ワーキングメモリとの間に接続される通信回路と、
を有し、
前記通信回路は、前記外部通信インタフェースにおけるリクエストの受信に応答して、前記インタラプトを生成するため前記インタラプト入力に接続される、請求項1記載のフラッシュメモリアクセス回路。 - 前記命令プロセッサは、前記フラッシュメモリ装置にアクセスするための連続的に受付されるリクエストのキューを表し、前記リクエストが前記キューに追加されたシーケンスにおける前記連続的に受付されるアクセスリクエストの処理を実行させるための複数のリクエスト処理命令系列を実行するようプログラムされる、請求項1記載のフラッシュメモリアクセス回路。
- 前記命令プロセッサは、前記インタラプトに応答して前記コピーが前記ワーキングメモリに検出されない場合、前記インタラプト信号の受付時に前記キューのエンドに前記インタラプトプログラムの命令をロードするリクエストを追加するようプログラムされる、請求項6記載のフラッシュメモリアクセス回路。
- 前記命令プロセッサは、前記キューのアクセスリクエストをパイプライン形式に処理させるようプログラムされる、請求項6記載のフラッシュメモリアクセス回路。
- 前記アクセスリクエストが前記フラッシュメモリ装置におけるデータブロックをプログラムするリクエストであるとき、前記アクセスリクエストの処理は、前記データブロックの前記フラッシュメモリ制御回路へのDMA転送、前記データブロックの暗号化、及び前記データブロックの誤り訂正符号への符号化の各アクションの少なくとも1つが先行する前記データブロックのプログラミングを有し、
前記命令プロセッサは、前記アクションと、パイプライン形式により実行されるべきデータブロックをプログラムする連続するアクセスリクエストのプログラミングを実行させるようプログラムされる、請求項8記載のフラッシュメモリアクセス回路。 - 前記フラッシュ制御回路は、暗号化手段と、誤り訂正符号のためのエンコーダとを有し、
前記命令プロセッサは、前記暗号化手段と前記エンコーダとに、先行するアクセスリクエストのデータブロックのプログラミングと並行してリクエストのデータブロックを処理させるようプログラムされる、請求項8記載のフラッシュメモリアクセス回路。 - 前記フラッシュ制御回路は、第1及び第2ローカルメモリを有し、
前記暗号化手段と前記エンコーダの両方が、前記第1及び第2ローカルメモリの1つに接続され、前記フラッシュ制御回路が前記第1及び第2ローカルメモリの他の1つについてデータを前記フラッシュメモリ装置にプログラムする間に、同一のデータブロックを連続的に処理する、請求項10記載のフラッシュメモリアクセス回路。 - 前記アクセスリクエストのそれぞれは、リードリクエストとプログラミングリクエストとを含む複数の異なるタイプのリクエストの1つに属し、
前記命令プロセッサは、追加される各リクエストを前記キューに追加すると、前記追加されたリクエストが前記キューの以前に追加されたリクエストのタイプの1つである第2タイプと異なるタイプの1つである第1タイプであるか検出し、そうである場合、前記追加されたリクエストの処理をスタートさせる前に、前記第2タイプのキューされているすべてのリクエストの処理を終了させるようプログラムされる、請求項6記載のフラッシュメモリアクセス回路。 - フラッシュメモリ装置にアクセスするためのフラッシュインタフェースポートと、
前記フラッシュインタフェースに接続されるワーキングメモリと、
フラッシュ制御回路と、
前記ワーキングメモリと前記フラッシュ制御回路とに接続される命令プロセッサと、
を有するフラッシュメモリアクセス回路であって、
前記命令プロセッサは、前記フラッシュメモリ装置にアクセスするための連続的に受け付けたリクエストのキューを表し、前記リクエストのそれぞれに応答して、リクエスト処理命令系列を実行するようプログラムされ、
前記リクエスト処理命令は、前記フラッシュ制御回路に前記アクセスリクエストを連続的に処理する各ステージを処理させるためのものであり、
前記命令プロセッサは、前記フラッシュ制御回路が前記リクエストが前記キューに追加されたシーケンスに従ってパイプライン形式により動作させるように、異なるリクエストに対して前記リクエスト処理命令の実行のシーケンスを選択するようプログラムされるフラッシュメモリアクセス回路。 - 前記アクセスリクエストのそれぞれは、リードリクエストとプログラミングリクエストとを含む複数の異なるタイプのリクエストの1つに属し、
前記命令プロセッサは、追加される各リクエストを前記キューに追加すると、前記追加されたリクエストが前記キューの以前に追加されたリクエストのタイプの1つである第2タイプと異なるタイプの1つである第1タイプであるか検出し、そうである場合、前記追加されたリクエストの処理をスタートさせる前に、前記第2タイプのキューされているすべてのリクエストの処理を終了させるようプログラムされる、請求項13記載のフラッシュメモリアクセス回路。 - 前記アクセスリクエストが前記フラッシュメモリ装置におけるデータブロックをプログラムするリクエストであるとき、前記アクセスリクエストの処理は、前記データブロックのフラッシュメモリ制御回路へのDMA転送、前記データブロックの暗号化、及び前記データブロックの誤り訂正符号への符号化の各アクションの少なくとも1つが先行する前記データブロックのプログラミングを有し、
前記命令プロセッサは、前記アクションと、パイプライン形式により実行されるべきデータブロックをプログラムする連続するアクセスリクエストのプログラミングを実行させるようプログラムされる、請求項13記載のフラッシュメモリアクセス回路。 - 前記アクセスリクエストが前記フラッシュメモリ装置におけるデータブロックをリードするリクエストであるとき、前記アクセスリクエストの処理は、前記データブロックの前記フラッシュメモリ制御回路へのDMA転送、前記データブロックの解読、及び前記データブロックの誤り訂正符号に従った復号化の各アクションの少なくとも1つが後続する前記データブロックのプログラミングを有し、
前記命令プロセッサは、前記アクションと、パイプライン形式により実行されるべきデータブロックをプログラムする連続するアクセスリクエストの読み込みを実行させるようプログラムされる、請求項13記載のフラッシュメモリアクセス回路。 - 命令プロセッサと、フラッシュメモリ装置と、フラッシュ制御回路と、ワーキングメモリとを有するシステムの動作方法であって、
前記フラッシュメモリ装置にインタラプトプログラムの命令を格納させ続けるステップと、
前記命令プロセッサにおいてインタラプト信号を受信するステップと、
前記インタラプト信号に応答して前記命令プロセッサによるロード命令の実行を利用して、前記フラッシュ制御回路に前記フラッシュメモリ装置から前記ワーキングメモリに前記インタラプトプログラムの命令をロードさせるステップと、
前記ワーキングメモリからの前記インタラプトプログラムの命令を前記命令プロセッサにより実行するステップと、
を有する方法。 - 少なくとも前記インタラプト信号の受信時に前記フラッシュメモリ装置にアクセスするためのリクエストを処理するため、前記命令プロセッサがアクセス命令系列の実行を進捗中であるとき、
当該方法は、
前記インタラプト信号に応答して、前記インタラプトプログラムの命令のコピーが前記ワーキングメモリに格納されているかテストするステップと、
前記コピーが格納されていると判明した場合、前記アクセス命令系列の実行の終了前に、前記コピーからの命令の実行をスタートするステップと、
前記コピーが格納されていると判明しない場合、前記アクセス命令系列の実行を終了し、その後に前記命令プロセッサを利用して、前記ロード命令を実行し、その後に前記命令プロセッサによる前記ワーキングメモリからの前記インタラプトプログラムのコピーの命令の実行が行われるステップと、
を有する、請求項17記載の方法。 - 前記フラッシュメモリ装置に対して連続的に受け付けたアクセスリクエストのキューを表すステップと、
前記リクエストが前記キューに追加されたシーケンスにおいて前記アクセスリクエストを処理するステップと、
をさらに有する、請求項17記載の方法。 - 前記コピーが検出されない場合、前記インタラプト信号の受信時に前記キューのエンドに前記インタラプトプログラムをロードするリクエストを追加するステップをさらに有する、請求項19記載の方法。
- 前記キューにおいて前記アクセスリクエストをパイプライン形式に処理するステップをさらに有する、請求項19記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06118935 | 2006-08-15 | ||
PCT/IB2007/053201 WO2008020389A2 (en) | 2006-08-15 | 2007-08-13 | Flash memory access circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010500682A true JP2010500682A (ja) | 2010-01-07 |
Family
ID=38926415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009524286A Withdrawn JP2010500682A (ja) | 2006-08-15 | 2007-08-13 | フラッシュメモリアクセス回路 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100169546A1 (ja) |
EP (1) | EP2054800A2 (ja) |
JP (1) | JP2010500682A (ja) |
CN (1) | CN101501639A (ja) |
WO (1) | WO2008020389A2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9342445B2 (en) | 2009-07-23 | 2016-05-17 | Hgst Technologies Santa Ana, Inc. | System and method for performing a direct memory access at a predetermined address in a flash storage |
CN101789265B (zh) * | 2009-12-31 | 2012-11-14 | 成都芯通科技股份有限公司 | 一种对PowerPC系统FLASH快速编程的方法 |
CN102184117B (zh) * | 2011-06-03 | 2014-09-17 | 展讯通信(上海)有限公司 | 系统在不同类型的Nandflash上的启动方法及装置 |
JP2013020682A (ja) * | 2011-07-14 | 2013-01-31 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5674630B2 (ja) * | 2011-12-02 | 2015-02-25 | 株式会社東芝 | 暗号化演算装置を搭載する不揮発性半導体記憶装置 |
US9053015B2 (en) * | 2013-06-17 | 2015-06-09 | Topcon Positioning Systems, Inc. | NAND flash memory interface controller with GNSS receiver firmware booting capability |
FR3069935A1 (fr) * | 2017-08-01 | 2019-02-08 | Maxim Integrated Products, Inc. | Dispositifs et procedes de protection de propriete intellectuelle de logiciel pour des plates-formes integrees |
JP2019164472A (ja) * | 2018-03-19 | 2019-09-26 | 株式会社東芝 | 半導体装置 |
CN111353595A (zh) * | 2018-12-20 | 2020-06-30 | 上海寒武纪信息科技有限公司 | 运算方法、装置及相关产品 |
EP4145320A1 (en) * | 2021-09-07 | 2023-03-08 | Secure Thingz Limited | Electronic chip and a method for provisioning such an electronic chip |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3292864B2 (ja) * | 1995-02-07 | 2002-06-17 | 株式会社日立製作所 | データ処理装置 |
JPH10177563A (ja) * | 1996-12-17 | 1998-06-30 | Mitsubishi Electric Corp | フラッシュメモリ内蔵マイクロコンピュータ |
US6874044B1 (en) * | 2003-09-10 | 2005-03-29 | Supertalent Electronics, Inc. | Flash drive/reader with serial-port controller and flash-memory controller mastering a second RAM-buffer bus parallel to a CPU bus |
JP2001350738A (ja) * | 2000-06-08 | 2001-12-21 | Mitsubishi Electric Corp | フラッシュメモリ内蔵マイクロコンピュータ |
US6915167B2 (en) * | 2001-01-05 | 2005-07-05 | Medtronic, Inc. | Method and apparatus for hardware/firmware trap |
GB0123422D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved memory controller |
US6687158B2 (en) * | 2001-12-21 | 2004-02-03 | Fujitsu Limited | Gapless programming for a NAND type flash memory |
KR100448905B1 (ko) * | 2002-07-29 | 2004-09-16 | 삼성전자주식회사 | 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치 |
US7269708B2 (en) * | 2004-04-20 | 2007-09-11 | Rambus Inc. | Memory controller for non-homogenous memory system |
-
2007
- 2007-08-13 US US12/377,675 patent/US20100169546A1/en not_active Abandoned
- 2007-08-13 CN CNA2007800301191A patent/CN101501639A/zh active Pending
- 2007-08-13 JP JP2009524286A patent/JP2010500682A/ja not_active Withdrawn
- 2007-08-13 EP EP07805387A patent/EP2054800A2/en not_active Withdrawn
- 2007-08-13 WO PCT/IB2007/053201 patent/WO2008020389A2/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2008020389A3 (en) | 2008-10-16 |
WO2008020389A2 (en) | 2008-02-21 |
US20100169546A1 (en) | 2010-07-01 |
EP2054800A2 (en) | 2009-05-06 |
CN101501639A (zh) | 2009-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2010500682A (ja) | フラッシュメモリアクセス回路 | |
US7234049B2 (en) | Computer system with NAND flash memory for booting and storage | |
US7340566B2 (en) | System and method for initializing a memory device from block oriented NAND flash | |
TWI641952B (zh) | 記憶體裝置、方法、及電腦程式產品 | |
JP5783809B2 (ja) | 情報処理装置、起動方法およびプログラム | |
US10776042B2 (en) | Methods for garbage collection and apparatuses using the same | |
US20090049232A1 (en) | Execute-in-place implementation for a nand device | |
JP2005071303A (ja) | プログラム起動装置 | |
KR100829788B1 (ko) | 커맨드 디코딩 시스템, 플래시 메모리 커맨드 디코딩시스템 및 이를 이용한 방법 | |
JP2005157528A (ja) | メモリ装置 | |
JP2007206933A (ja) | 情報処理装置、情報処理装置におけるブートローダ生成方法およびプログラム転送方法 | |
JP2006243780A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP5035227B2 (ja) | 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム | |
US20180011636A1 (en) | Information processing apparatus and method of accessing a memory | |
CN110825421B (zh) | 一种固件升级方法、系统及可读存储介质 | |
JP2007299249A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
US8117427B2 (en) | Motherboard, storage device and controller thereof, and booting method | |
JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
JPH11265283A (ja) | 記憶装置におけるファームウェアの修正方法及び記憶装置 | |
JP2001256044A (ja) | データ処理装置 | |
JP2006178909A (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP2010237770A (ja) | 情報処理装置、ブリッジ装置および情報処理方法 | |
US20060242351A1 (en) | Method and apparatus for loading instructions into high memory | |
JPH10312307A (ja) | コンピュータシステムに適用するエミュレータ | |
KR0181487B1 (ko) | 버퍼 램을 이용한 프로그램 구동 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100811 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20120113 |