JP2004505374A - 不揮発性メモリがデータ格納/処理デバイスとして動作する状態でコード実行可能な装置および方法 - Google Patents
不揮発性メモリがデータ格納/処理デバイスとして動作する状態でコード実行可能な装置および方法 Download PDFInfo
- Publication number
- JP2004505374A JP2004505374A JP2002515579A JP2002515579A JP2004505374A JP 2004505374 A JP2004505374 A JP 2004505374A JP 2002515579 A JP2002515579 A JP 2002515579A JP 2002515579 A JP2002515579 A JP 2002515579A JP 2004505374 A JP2004505374 A JP 2004505374A
- Authority
- JP
- Japan
- Prior art keywords
- chip
- code execution
- logic circuit
- code
- cpu
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7814—Specially adapted for real time processing, e.g. comprising hardware timers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/12—Reading and writing aspects of erasable programmable read-only memories
- G11C2216/20—Suspension of programming or erasing cells in an array in order to read other cells in it
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
自動一時停止および再開動作をサポート可能なハードウエア構造を備え、不揮発性メモリを用いてコード実行およびデータ格納/処理を同時に実行させることが可能な装置および方法が提供される。本構造は、一時停止ロジック回路および再開ロジック回路(26および27)をチップハードウエアに集積、または、チップと組み合わせて動作することができるような方法でロジックチップを常駐させる必要がある。本装置および方法は、フラッシュメモリチップ(24)が消去/プログラム動作を処理した状態で、通常このような装置を破壊する衝突を防いでコード実行処理を可能にする。これは、チップおよびCPU/バス(20)アクティビティの動作状態を検出し、読み取り要求と衝突しないようにするために、フラッシュメモリデバイスに一時停止および/またはVS再開プログラム/消去動作を適切なときに命令することで達成される。
Description
【0001】
【発明の分野および背景】
本発明は、不揮発性メモリにデータ格納デバイスとして動作した状態でコードを実行させることのできる装置に関する。
【0002】
不揮発性メモリはまず第一にコードの実行に使われる。不揮発性コード格納メモリの市場では、フラッシュメモリが、コスト面で優れており、製造が容易であり、集積密度が高いために、各種ROM(読み出し専用格納素子)ファミリー(ROM、PROM、EPROM、EEPROM)に取って代わりつつある。フラッシュメモリが、スタンドアロンのデバイスおよび内臓式メモリとして広く使用されている。この市場では、デバイスのコストを下げるために、小さなシリコン領域に情報ビットを詰め込むことにしのぎを削っている。コード実行分野に使われる最も一般的なフラッシュメモリのタイプは、NORフラッシュメモリと呼ばれる。NORフラッシュメモリは、アドレスのおのおのにランダムにアクセスできるので、そこからコード実行ができる。したがって、NORフラッシュメモリは、XIPメモリと呼ばれ、ここでXIPは、「適切に実行可能」ということを意味する。
【0003】
これまでフラッシュメモリのコード実行面を説明してきたが、もう一つ成長し主流になりつつあるのが、データ格納に関する市場である。データ格納に使うフラッシュメモリは、フラッシュメモリディスクと呼ばれ、H/W(フラッシュメモリ)およびS/Wパッケージ(ファイルシステムマネージメント、OSインターフェース、など)から構成されている。
【0004】
通常現在のアプリケーションでは、フラッシュメモリはコード実行およびデータ格納の双方に使われる。今日、各種機能を別個のデバイス(すなわちデバイス組)で構成する構造が最も多い。アプリケーションのデータとコードの双方を、同一のデバイス(単一のデバイス)を用いて格納できると非常に価値がある。その主な利点は、不動産要件、チップ数、シリコンサイズ、消費電力の削減にある。次の筋書きは、この方法の主な問題点を説明する。例えば、アプリケーションのOSで、二つのタスクが実行されていると仮定しよう。第1のタスク(T1)は、データ格納ドライバタスクである。これは、アプリケーションデータのすべてをフラッシュメモリに格納する役目をする。第2のタスク(T2)は、フラッシュメモリ(勿論、同一のフラッシュメモリ)から実行されるあるコードである。筋書きとして、まずデータ管理要求の一部として、フラッシュメモリのある領域へ消去コマンドを発行する。NORフラッシュメモリの典型的な消去時間は1秒である。この時間帯(この1秒以内)に、OSはT2にタイムスロットを与え、T2はフラッシュメモリからコード実行を開始する。この時点で、オペレーションは障害を起こし、すべてのアプリケーションを障害に追い込む。その理由は、フラッシュメモリが読み取り動作不可能で(例えば、コード実行)、他の部分の消去/プログラミングに忙しいからである。OSもT2も、フラッシュメモリが現在使用不可能なことを認識しない。OSもT2もフラッシュメモリに格納されているコードは常に実行可能であると予期しているが、実際はそうではないからである。上述のように、フラッシュメモリが格納されたコードを実行不可能ということは、よくあることであり、実際にはむしろT1要求に続く部分の消去/プログラミングに忙しいときはいつも例外なく実行不可能である。
【0005】
【既知のソリューション】
1.データ格納用と、コード格納用(XIP)の二つのデバイスを使用。上述のように、これが今日用いられている一般的な構成である。図1がこのソリューションを具体的に示している。このソリューションは、より高い不動産要件、チップ数、シリコンサイズ、消費電力という難点がある。
【0006】
2.マルチバンク構造を備える1個のデバイスを用いると、読み取りおよび消去/プログラムを同時にアクセスすることが可能である。フラッシュメモリメーカー数社が、マルチバンク(通常、デュアルバンク)構造のフラッシュメモリデバイスを製造し始めた。この方法をとると、不動産要件は減り、チップ数も一つに減るが、欠点は、シリコン製造経費が増えることである(マルチバンク設計による)。この設計によると製造経費増は、通常の設計に比べて30%と予想され、実際にはシリコンチップのこの追加的な機能に代価を払わなければならない。この方法は、不動産要件の厳しいアプリケーションには好評である。図2はこのソリューションを具体的に説明している。
【0007】
3.装置のタスクをすべて制御しスケジュールする、例えば、インテルのPSMのような特別なシステムソフトウエアを備えた単一のデバイスを使用する。このソリューションは、デバイスの二つの機能を可能にするために、フラッシュメモリの一時中断および再開のS/Wコマンドを使用する。このソリューションで、認識をしないという問題点は解決されるが、そのコストは複雑に膨れ上がる。すなわち、明らかにすべてのCPUおよび/またはOSに合致したソリューションが必要になる。特別な装置S/WがOSに加えられて、すべてのタスクおよび割り込みの制御とスケジューリングを行う。複雑度が高いため、このソリューションを統合して開発する時間は過度に長くなる。加えて、この方法は、ある隙間市場に適する非常に立ち入った取り組み方である。
【0008】
したがって、不揮発性メモリを、コード実行およびデータ格納の双方を同時に行うことができる装置が明らかに必要であり、又その機能を備えると極めて大きな利点がある。
【0009】
本発明は、データ格納/処理およびコード実行の両方に使える単一の不揮発性(フラッシュメモリ)デバイス(または、一組のデバイス)の問題を解決するもう一つの方法を提供する。このソリューションは、双方の用途に使用可能な独特の機能を提供し、特に、ある部分の消去/プログラミングにフラッシュメモリが忙しいときも含め、いつでもフラッシュメモリからコードを実行できる。
【0010】
本発明は、フラッシュメモリデバイスを効率的な方法で製造し動作可能にし、フラッシュメモリをコード実行およびデータ格納/処理に同時に使うことを可能にするハードウエアアプリケーションである。
【0011】
【発明の概要】
本発明に基づき、不揮発性メモリ、とりわけ、フラッシュメモリが、コード実行およびデータ格納/処理を可能にする装置は次のものを備える。
・ CPU/バス/コントローラ
・ 不揮発性アレイ
・ 不揮発性デバイス回路
・ ロジック回路
ここで、前記ロジック回路は、自動一時停止および再開動作をサポート可能なハードウエア装置である。
【0012】
本発明は、自動一時停止および再開動作をサポート可能なオンチップのH/W構造を設計、実施可能にする。本ソリューションによりどのようなCPU/OSの集積化も容易にできる。
【0013】
本発明は、フラッシュメモリチップのような不揮発性メモリチップが、消去/プログラム動作をした状態で、コード実行処理ができるようにする。これは、チップの動作状態およびCPU/バスのアクティビティを検知し、読み取り要求と衝突しないように、適切なときに、一時停止および/または再開プログラム/消去動作をフラッシュメモリに命令することによって達成される。それによって、本装置は、チップがプログラム/消去動作を処理した状態で、CPU/バス/コントローラを読み取り命令実行からバッファする。
【0014】
添付の図面を参照し、本発明を例示としてのみ以下に説明する。
【0015】
【好適な実施形態の説明】
本発明は、不揮発性メモリチップを用いて、コード実行並びにデータ格納および処理を同時に可能にする装置と方法である。
【0016】
具体的には、本発明は、同一のチップ上に格納されたデータを同時に処理した状態で、フラッシュメモリチップ上のコードを実行するために用いることが可能である。これは、自動一時停止および自動再開動作を利用することに基づいている。
【0017】
本発明によるこのような装置の動作原理は、添付の図面および説明を参照してよりよく理解されよう。
【0018】
図3および図4は、本発明の実施形態における基本的な構成要素および動作を説明する。一つの論理回路(すなわち、数個の回路)である本発明のハードウエア構造は、次の方法による自動一時停止およびプログラムの自動再開および/または消去動作を可能にするように設計されている。例えば、アクティブな消去/プログラム命令10がメモリデバイスに発行されると仮定する。メモリデバイスは、消去/プログラム動作15を実行し、同時に読み取り要求11が登録される。読み取り要求が実行不可能で装置をクラッシュ(強制停止)する現行の方法とは対照的に、本発明は一時的にプログラム/消去動作15を停止12する。停止モード12では、CPU/バスは、読み取り要求を自由に継続できる。その後続いて、タイムアウト13(読み取り動作がない所定の時間帯)を検出するために、読み取り動作が監視される。検出すると同時に、それは再開動作14に命令を発し、プログラム/消去動作15が継続できるようにする。より詳細には、装置は以下のように動作する。
【0019】
1.一時停止動作は、次の条件で自動的に実行する。
1.1 デバイスが消去/プログラム動作15にかかりきりである。
1.2 デバイス11が読み取りを試みる。
【0020】
2.使用中信号22(図4)がデバイスの一時停止状態12(一時停止待ち時間と呼ばれる)への移行を指示する。CPU/バスに対するある物理的信号である使用中信号が、プラットフォーム上で使われ、フラッシュメモリチップ上に格納されたコードがすぐに実行可能であることを合図する。ホストCPU/バス/コントローラ20、または、ホストバス21は、この信号を使い、その標準の保留/再試行メカニズム、または、CPU/バス/コントローラによって提供されるその他の手段を用いて、動作を保留/再試行し、読み取り試行の失敗に起因するクラッシュを回避する。
【0021】
3.読み取りサイクルがすべて完了すると、ただちに再開動作14が自動的に実行される。タイムアウト検出13(読み取り動作が行われない所定の時間帯)を使用して完了したことが検出される。所定の時間間隔、または、その他の選択された方法のような代替的要素に基づいて、一時停止動作の実行が命令される。
【0022】
【利 点】
まず第一に、本発明は、1個の不揮発性チップ、または、一つにまとめられたチップとして動作するチップバンクを、データ格納/処理およびコード実行の両方に使用可能にする。このようにして、それは不動産要件、チップ数、シリコンサイズ、消費電力を大幅に削減できる。本発明を市場のその他のソリューションと比較すると、インテルのPSM(他のソリューション:aおよびbは、はるかにコストが高い)は、フラッシュメモリデバイス(H/WおよびS/W)をプラットフォーム環境(CPU、バスおよびOS)に容易に集積できるという大きな利点がある。このソリューションを使うと、OSコンポーネント(例えば、スケジューラ)および他のソフトウエア要素とのインターフェースが不要である。その元で実行されているOSとタスクのすべては、フラッシュメモリの条件にまったく気づかずに、その条件に無関係にそれをアクセス可能である。唯一集積しなければならないのは、一時停止待ち時間中に生じる動作を、CPU、バス、コントローラが保留/再試行できるようにする簡単なH/Wの集積である。通常の一般的な保留/再試行メカニズム、または、読み取り/取り出しサイクルの実行時間を遅らせる可能性があるCPU/バス上に存在するその他のメカニズムを実行する上で、このハードウエアの集積が必要である。一個のチップ上で、データ格納およびコード実行の二つの動作を通知して可能にするためには、ロジック回路をメモリチップ内に組み込むか、外部ロジックとして付加するかのいずれかが必要となり、その結果として、自動再開および一時停止を容易にする。
【0023】
【自動一時停止メカニズム】
このセクションでは、自動一時停止機能のメカニズムと実行について説明する。
自動一時停止ロジック26(図4)は、消去またはプログラム動作が開始15(図3)するときに動作する。これらの動作(消去またはプログラム)のうちの一つが検出されたときに、自動一時停止ロジック26がトリガされる。この瞬間以降、ロジックはデバイスからの読み取り動作11を待つ(ステータスビットまたは同様のものとは対照的な実質的なデータを出力するデバイスを必要とする読み取り動作)。読み取り動作11を受信する前に消去/プログラム動作15が完了すると、ロジックおよびチップは双方ともアイドル状態17に戻る。読み取り動作は、デバイスから供給される(例えば、コントロール信号、アドレス信号、読み取り命令)手段に基づいて認識される。読み取り動作11が検出された瞬間、自動一時停止ロジック26はデバイスを一時停止状態12に移行させるプロセスを実行する。このロジックは、デバイス内に存在するメカニズムを用いて、このタスク(例えば、あるデバイスで使用可能な一時停止命令)を実行する。その上、このロジックは、デバイスが自動一時停止状態12に入ったある箇所(例えば、I/Oポートまたは専用のレジスタ)にマークを付ける。このマークは、ファイルシステムマネージメントS/Wによって使うことができる。その上、外部信号(使用中信号)22を用いて自動一時停止状態12に近づいているということを、デバイスが示すこともできる。この信号はプラットフォームによって使われ、読み取り動作11試行、または、読み取り/取り出しサイクルの実行を遅延させる可能性のあるCPU/バス内のその他のメカニズムを保留/再試行するのに使うこともできる。このロジックは、又、デバイスが実際に自動一時停止状態12に移行したことを確認する役目も果たす。確認段階の後、使用中信号22は停止し、デバイスが自動一時停止状態12に移行したことを示す。この瞬間以降、デバイスは必要に応じて読み取り要求を実行できる状態にある。
【0024】
【自動再開メカニズム】
デバイスが自動一時停止状態12に移行したときに、自動再開ロジック27が動作を開始する。このロジックの目的は、自動一時停止ロジック26によってインタラプトされたプログラム/消去動作15を再開することである。このロジックは、例えば、自動一時停止ロジック26と同様の技術を用いて、デバイスで行われる読み取り動作を監視しなければならない。このロジックは、一時停止動作を再開する役目がある。デバイスの読み取り動作の中断を待つ必要がある。中断が十分長い場合は(アプリケーションおよび環境に依存する)、このロジックは、デバイスがプログラム/消去動作15を再開するプロセスを実行する(例えば、あるデバイスで使える再開命令を実行する)。このロジックは、中断が本当のものか、または、単に一時的中断かを決定するメカニズムを含む(例えば、読み取り動作をしていない時間を計数するタイマ)。このロジックは、又、デバイスが自動一時停止状態12に移行したことを示す(例えば、I/Oポートまたは専用のレジスタ)マークを停止する役目がある。
【0025】
本発明を、限定された数の実施形態で説明したが、本発明の多様な変形、改善、その他のアプリケーションを実施してもよい。
【図面の簡単な説明】
【図1】コード実行およびデータ処理のために、二つの別個のデバイスがメモリチップに組み込まれた現在もっとも一般的なソリューションの説明図である。
【図2】マルチバンク構造が使われているフラッシュメモリチップでコード実行およびデータ処理を達成する代替的なソリューションの説明図である。
【図3】本発明の装置基本動作の説明図である。
【図4】本発明の装置の基本部品のフローチャートである。
【発明の分野および背景】
本発明は、不揮発性メモリにデータ格納デバイスとして動作した状態でコードを実行させることのできる装置に関する。
【0002】
不揮発性メモリはまず第一にコードの実行に使われる。不揮発性コード格納メモリの市場では、フラッシュメモリが、コスト面で優れており、製造が容易であり、集積密度が高いために、各種ROM(読み出し専用格納素子)ファミリー(ROM、PROM、EPROM、EEPROM)に取って代わりつつある。フラッシュメモリが、スタンドアロンのデバイスおよび内臓式メモリとして広く使用されている。この市場では、デバイスのコストを下げるために、小さなシリコン領域に情報ビットを詰め込むことにしのぎを削っている。コード実行分野に使われる最も一般的なフラッシュメモリのタイプは、NORフラッシュメモリと呼ばれる。NORフラッシュメモリは、アドレスのおのおのにランダムにアクセスできるので、そこからコード実行ができる。したがって、NORフラッシュメモリは、XIPメモリと呼ばれ、ここでXIPは、「適切に実行可能」ということを意味する。
【0003】
これまでフラッシュメモリのコード実行面を説明してきたが、もう一つ成長し主流になりつつあるのが、データ格納に関する市場である。データ格納に使うフラッシュメモリは、フラッシュメモリディスクと呼ばれ、H/W(フラッシュメモリ)およびS/Wパッケージ(ファイルシステムマネージメント、OSインターフェース、など)から構成されている。
【0004】
通常現在のアプリケーションでは、フラッシュメモリはコード実行およびデータ格納の双方に使われる。今日、各種機能を別個のデバイス(すなわちデバイス組)で構成する構造が最も多い。アプリケーションのデータとコードの双方を、同一のデバイス(単一のデバイス)を用いて格納できると非常に価値がある。その主な利点は、不動産要件、チップ数、シリコンサイズ、消費電力の削減にある。次の筋書きは、この方法の主な問題点を説明する。例えば、アプリケーションのOSで、二つのタスクが実行されていると仮定しよう。第1のタスク(T1)は、データ格納ドライバタスクである。これは、アプリケーションデータのすべてをフラッシュメモリに格納する役目をする。第2のタスク(T2)は、フラッシュメモリ(勿論、同一のフラッシュメモリ)から実行されるあるコードである。筋書きとして、まずデータ管理要求の一部として、フラッシュメモリのある領域へ消去コマンドを発行する。NORフラッシュメモリの典型的な消去時間は1秒である。この時間帯(この1秒以内)に、OSはT2にタイムスロットを与え、T2はフラッシュメモリからコード実行を開始する。この時点で、オペレーションは障害を起こし、すべてのアプリケーションを障害に追い込む。その理由は、フラッシュメモリが読み取り動作不可能で(例えば、コード実行)、他の部分の消去/プログラミングに忙しいからである。OSもT2も、フラッシュメモリが現在使用不可能なことを認識しない。OSもT2もフラッシュメモリに格納されているコードは常に実行可能であると予期しているが、実際はそうではないからである。上述のように、フラッシュメモリが格納されたコードを実行不可能ということは、よくあることであり、実際にはむしろT1要求に続く部分の消去/プログラミングに忙しいときはいつも例外なく実行不可能である。
【0005】
【既知のソリューション】
1.データ格納用と、コード格納用(XIP)の二つのデバイスを使用。上述のように、これが今日用いられている一般的な構成である。図1がこのソリューションを具体的に示している。このソリューションは、より高い不動産要件、チップ数、シリコンサイズ、消費電力という難点がある。
【0006】
2.マルチバンク構造を備える1個のデバイスを用いると、読み取りおよび消去/プログラムを同時にアクセスすることが可能である。フラッシュメモリメーカー数社が、マルチバンク(通常、デュアルバンク)構造のフラッシュメモリデバイスを製造し始めた。この方法をとると、不動産要件は減り、チップ数も一つに減るが、欠点は、シリコン製造経費が増えることである(マルチバンク設計による)。この設計によると製造経費増は、通常の設計に比べて30%と予想され、実際にはシリコンチップのこの追加的な機能に代価を払わなければならない。この方法は、不動産要件の厳しいアプリケーションには好評である。図2はこのソリューションを具体的に説明している。
【0007】
3.装置のタスクをすべて制御しスケジュールする、例えば、インテルのPSMのような特別なシステムソフトウエアを備えた単一のデバイスを使用する。このソリューションは、デバイスの二つの機能を可能にするために、フラッシュメモリの一時中断および再開のS/Wコマンドを使用する。このソリューションで、認識をしないという問題点は解決されるが、そのコストは複雑に膨れ上がる。すなわち、明らかにすべてのCPUおよび/またはOSに合致したソリューションが必要になる。特別な装置S/WがOSに加えられて、すべてのタスクおよび割り込みの制御とスケジューリングを行う。複雑度が高いため、このソリューションを統合して開発する時間は過度に長くなる。加えて、この方法は、ある隙間市場に適する非常に立ち入った取り組み方である。
【0008】
したがって、不揮発性メモリを、コード実行およびデータ格納の双方を同時に行うことができる装置が明らかに必要であり、又その機能を備えると極めて大きな利点がある。
【0009】
本発明は、データ格納/処理およびコード実行の両方に使える単一の不揮発性(フラッシュメモリ)デバイス(または、一組のデバイス)の問題を解決するもう一つの方法を提供する。このソリューションは、双方の用途に使用可能な独特の機能を提供し、特に、ある部分の消去/プログラミングにフラッシュメモリが忙しいときも含め、いつでもフラッシュメモリからコードを実行できる。
【0010】
本発明は、フラッシュメモリデバイスを効率的な方法で製造し動作可能にし、フラッシュメモリをコード実行およびデータ格納/処理に同時に使うことを可能にするハードウエアアプリケーションである。
【0011】
【発明の概要】
本発明に基づき、不揮発性メモリ、とりわけ、フラッシュメモリが、コード実行およびデータ格納/処理を可能にする装置は次のものを備える。
・ CPU/バス/コントローラ
・ 不揮発性アレイ
・ 不揮発性デバイス回路
・ ロジック回路
ここで、前記ロジック回路は、自動一時停止および再開動作をサポート可能なハードウエア装置である。
【0012】
本発明は、自動一時停止および再開動作をサポート可能なオンチップのH/W構造を設計、実施可能にする。本ソリューションによりどのようなCPU/OSの集積化も容易にできる。
【0013】
本発明は、フラッシュメモリチップのような不揮発性メモリチップが、消去/プログラム動作をした状態で、コード実行処理ができるようにする。これは、チップの動作状態およびCPU/バスのアクティビティを検知し、読み取り要求と衝突しないように、適切なときに、一時停止および/または再開プログラム/消去動作をフラッシュメモリに命令することによって達成される。それによって、本装置は、チップがプログラム/消去動作を処理した状態で、CPU/バス/コントローラを読み取り命令実行からバッファする。
【0014】
添付の図面を参照し、本発明を例示としてのみ以下に説明する。
【0015】
【好適な実施形態の説明】
本発明は、不揮発性メモリチップを用いて、コード実行並びにデータ格納および処理を同時に可能にする装置と方法である。
【0016】
具体的には、本発明は、同一のチップ上に格納されたデータを同時に処理した状態で、フラッシュメモリチップ上のコードを実行するために用いることが可能である。これは、自動一時停止および自動再開動作を利用することに基づいている。
【0017】
本発明によるこのような装置の動作原理は、添付の図面および説明を参照してよりよく理解されよう。
【0018】
図3および図4は、本発明の実施形態における基本的な構成要素および動作を説明する。一つの論理回路(すなわち、数個の回路)である本発明のハードウエア構造は、次の方法による自動一時停止およびプログラムの自動再開および/または消去動作を可能にするように設計されている。例えば、アクティブな消去/プログラム命令10がメモリデバイスに発行されると仮定する。メモリデバイスは、消去/プログラム動作15を実行し、同時に読み取り要求11が登録される。読み取り要求が実行不可能で装置をクラッシュ(強制停止)する現行の方法とは対照的に、本発明は一時的にプログラム/消去動作15を停止12する。停止モード12では、CPU/バスは、読み取り要求を自由に継続できる。その後続いて、タイムアウト13(読み取り動作がない所定の時間帯)を検出するために、読み取り動作が監視される。検出すると同時に、それは再開動作14に命令を発し、プログラム/消去動作15が継続できるようにする。より詳細には、装置は以下のように動作する。
【0019】
1.一時停止動作は、次の条件で自動的に実行する。
1.1 デバイスが消去/プログラム動作15にかかりきりである。
1.2 デバイス11が読み取りを試みる。
【0020】
2.使用中信号22(図4)がデバイスの一時停止状態12(一時停止待ち時間と呼ばれる)への移行を指示する。CPU/バスに対するある物理的信号である使用中信号が、プラットフォーム上で使われ、フラッシュメモリチップ上に格納されたコードがすぐに実行可能であることを合図する。ホストCPU/バス/コントローラ20、または、ホストバス21は、この信号を使い、その標準の保留/再試行メカニズム、または、CPU/バス/コントローラによって提供されるその他の手段を用いて、動作を保留/再試行し、読み取り試行の失敗に起因するクラッシュを回避する。
【0021】
3.読み取りサイクルがすべて完了すると、ただちに再開動作14が自動的に実行される。タイムアウト検出13(読み取り動作が行われない所定の時間帯)を使用して完了したことが検出される。所定の時間間隔、または、その他の選択された方法のような代替的要素に基づいて、一時停止動作の実行が命令される。
【0022】
【利 点】
まず第一に、本発明は、1個の不揮発性チップ、または、一つにまとめられたチップとして動作するチップバンクを、データ格納/処理およびコード実行の両方に使用可能にする。このようにして、それは不動産要件、チップ数、シリコンサイズ、消費電力を大幅に削減できる。本発明を市場のその他のソリューションと比較すると、インテルのPSM(他のソリューション:aおよびbは、はるかにコストが高い)は、フラッシュメモリデバイス(H/WおよびS/W)をプラットフォーム環境(CPU、バスおよびOS)に容易に集積できるという大きな利点がある。このソリューションを使うと、OSコンポーネント(例えば、スケジューラ)および他のソフトウエア要素とのインターフェースが不要である。その元で実行されているOSとタスクのすべては、フラッシュメモリの条件にまったく気づかずに、その条件に無関係にそれをアクセス可能である。唯一集積しなければならないのは、一時停止待ち時間中に生じる動作を、CPU、バス、コントローラが保留/再試行できるようにする簡単なH/Wの集積である。通常の一般的な保留/再試行メカニズム、または、読み取り/取り出しサイクルの実行時間を遅らせる可能性があるCPU/バス上に存在するその他のメカニズムを実行する上で、このハードウエアの集積が必要である。一個のチップ上で、データ格納およびコード実行の二つの動作を通知して可能にするためには、ロジック回路をメモリチップ内に組み込むか、外部ロジックとして付加するかのいずれかが必要となり、その結果として、自動再開および一時停止を容易にする。
【0023】
【自動一時停止メカニズム】
このセクションでは、自動一時停止機能のメカニズムと実行について説明する。
自動一時停止ロジック26(図4)は、消去またはプログラム動作が開始15(図3)するときに動作する。これらの動作(消去またはプログラム)のうちの一つが検出されたときに、自動一時停止ロジック26がトリガされる。この瞬間以降、ロジックはデバイスからの読み取り動作11を待つ(ステータスビットまたは同様のものとは対照的な実質的なデータを出力するデバイスを必要とする読み取り動作)。読み取り動作11を受信する前に消去/プログラム動作15が完了すると、ロジックおよびチップは双方ともアイドル状態17に戻る。読み取り動作は、デバイスから供給される(例えば、コントロール信号、アドレス信号、読み取り命令)手段に基づいて認識される。読み取り動作11が検出された瞬間、自動一時停止ロジック26はデバイスを一時停止状態12に移行させるプロセスを実行する。このロジックは、デバイス内に存在するメカニズムを用いて、このタスク(例えば、あるデバイスで使用可能な一時停止命令)を実行する。その上、このロジックは、デバイスが自動一時停止状態12に入ったある箇所(例えば、I/Oポートまたは専用のレジスタ)にマークを付ける。このマークは、ファイルシステムマネージメントS/Wによって使うことができる。その上、外部信号(使用中信号)22を用いて自動一時停止状態12に近づいているということを、デバイスが示すこともできる。この信号はプラットフォームによって使われ、読み取り動作11試行、または、読み取り/取り出しサイクルの実行を遅延させる可能性のあるCPU/バス内のその他のメカニズムを保留/再試行するのに使うこともできる。このロジックは、又、デバイスが実際に自動一時停止状態12に移行したことを確認する役目も果たす。確認段階の後、使用中信号22は停止し、デバイスが自動一時停止状態12に移行したことを示す。この瞬間以降、デバイスは必要に応じて読み取り要求を実行できる状態にある。
【0024】
【自動再開メカニズム】
デバイスが自動一時停止状態12に移行したときに、自動再開ロジック27が動作を開始する。このロジックの目的は、自動一時停止ロジック26によってインタラプトされたプログラム/消去動作15を再開することである。このロジックは、例えば、自動一時停止ロジック26と同様の技術を用いて、デバイスで行われる読み取り動作を監視しなければならない。このロジックは、一時停止動作を再開する役目がある。デバイスの読み取り動作の中断を待つ必要がある。中断が十分長い場合は(アプリケーションおよび環境に依存する)、このロジックは、デバイスがプログラム/消去動作15を再開するプロセスを実行する(例えば、あるデバイスで使える再開命令を実行する)。このロジックは、中断が本当のものか、または、単に一時的中断かを決定するメカニズムを含む(例えば、読み取り動作をしていない時間を計数するタイマ)。このロジックは、又、デバイスが自動一時停止状態12に移行したことを示す(例えば、I/Oポートまたは専用のレジスタ)マークを停止する役目がある。
【0025】
本発明を、限定された数の実施形態で説明したが、本発明の多様な変形、改善、その他のアプリケーションを実施してもよい。
【図面の簡単な説明】
【図1】コード実行およびデータ処理のために、二つの別個のデバイスがメモリチップに組み込まれた現在もっとも一般的なソリューションの説明図である。
【図2】マルチバンク構造が使われているフラッシュメモリチップでコード実行およびデータ処理を達成する代替的なソリューションの説明図である。
【図3】本発明の装置基本動作の説明図である。
【図4】本発明の装置の基本部品のフローチャートである。
Claims (16)
- 不揮発性メモリデバイスを用いてデータ処理動作中にコードを実行する装置であって、
前記メモリデバイスを制御するCPU/バス/コントローラと、
前記装置のコードおよびデータを保留する不揮発性アレイと、
前記不揮発性アレイの内容およびアクティビティを制御する不揮発性デバイス回路と、
動作の自動一時停止および/または自動再開を可能にするロジック回路とを備えるコード実行装置。 - 動作の前記一時停止および/または再開がハードウエア手段で開始されることを特徴とする請求項1記載のコード実行装置。
- 前記不揮発性メモリデバイスがフラッシュメモリデバイスであることを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路が、単一のシリコンダイを有する単一チップデバイス内にコード実行およびデータ格納/処理機能を可能にすることを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路が、単一のシリコンダイを有する単一メモリチップの一バンク内にコード実行およびデータ格納/処理機能を可能にすることを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路がメモリチップに組み込まれていることを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路がメモリチップの外部から機能することを特徴とする請求項1記載のコード実行装置。
- 複数の前記ロジック回路がメモリチップに組み込まれていることを特徴とする請求項1記載のコード実行装置。
- 複数の前記ロジック回路が、メモリチップの外部で機能することを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路が、前記メモリチップ内の現動作状態を監視可能であることを特徴とする請求項1記載のコード実行装置。
- 前記ロジック回路が、OS/アプリケーション/ファイルマネージメントソフトウエアで読み取り可能なように、現チップ動作状態にマークを付けることが可能であることを特徴とする請求項1記載のコード実行装置。
- 前記CPU/バス/コントローラが、前記メモリチップに対しCPU/バス/コントローラ読み取り動作を遅延するように合図することにより、前記メモリチップに対し動作を一時停止および/または再開させることを特徴とする請求項1記載のコード実行装置。
- 不揮発性メモリデバイス上でデータ処理中にコードを実行する方法であって、
i.不揮発性メモリデバイスで動作するために、少なくとも一つのロジック回路を追加するステップと、
ii.前記メモリチップ内の現動作状態を監視するステップと、
iii.前記チップがコード実行可能である場合にCPU/バスに合図をするステップと、
iv.CPU/バスアクティビティを監視するステップと、
v.チップ動作を一時停止および/または再開するようチップに命令するステップとを含むコード実行方法。 - 不揮発性メモリデバイス上でデータ処理中にコードを実行する方法であって、
i.不揮発性メモリチップと連動するために少なくとも一つのロジック回路を追加するステップと、
ii.チップがプログラム/消去モード/動作中の状態で読み取り要求を検出するステップと、
iii.プログラムおよび/または消去動作を自動的に一時停止モードに移行する自動移行ステップと、
iv.さらなる読み取り/取り出し命令を実行する前にCPU/バスに対し待機するように合図するステップと、
v.CPU/バスが(自動的に)読み取り/取り出し命令を継続できるように合図を停止するステップと、
vi.プログラム/消去動作を継続するために前記チップを再開動作に移行するステップとを含むコード実行方法。 - 一時停止モードへの前記移行ステップが、チップ内のOS/アプリケーション/ファイルマネージメントソフトウエアによって読み取るための状態にマークを付けるステップを含むことを特徴とする請求項14記載のコード実行方法。
- データ処理動作をハードウエア主導で一時停止することが可能な一時停止ロジック回路と、
データ処理動作をハードウエア主導で再開することが可能な再開ロジック回路とを備える単一フラッシュメモリデバイス。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/629,966 US7032081B1 (en) | 2000-07-31 | 2000-07-31 | System and method for enabling non-volatile memory to execute code while operating as a data storage/processing device |
PCT/US2001/019419 WO2002010921A1 (en) | 2000-07-31 | 2001-06-18 | System and method for enabling non-volatile memory to execute code while operating as a data storage/processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004505374A true JP2004505374A (ja) | 2004-02-19 |
Family
ID=24525212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002515579A Pending JP2004505374A (ja) | 2000-07-31 | 2001-06-18 | 不揮発性メモリがデータ格納/処理デバイスとして動作する状態でコード実行可能な装置および方法 |
Country Status (9)
Country | Link |
---|---|
US (1) | US7032081B1 (ja) |
EP (1) | EP1305713A1 (ja) |
JP (1) | JP2004505374A (ja) |
KR (1) | KR100469569B1 (ja) |
CN (1) | CN1300700C (ja) |
AU (1) | AU2001266987A1 (ja) |
IL (2) | IL148619A0 (ja) |
TW (1) | TW550455B (ja) |
WO (1) | WO2002010921A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009528609A (ja) * | 2006-03-28 | 2009-08-06 | ノキア コーポレイション | 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1323359C (zh) * | 2003-05-20 | 2007-06-27 | 群联电子股份有限公司 | 以共用汇流排方式启动外部只读存储器的单晶片快闪存储器控制系统 |
US7228377B2 (en) * | 2003-06-06 | 2007-06-05 | Renesas, Technology Corp. | Semiconductor integrated circuit device, IC card, and mobile terminal |
ITMI20050063A1 (it) * | 2005-01-20 | 2006-07-21 | Atmel Corp | Metodo e sistema per la gestione di una richiesta di sospensione in una memoria flash |
KR20050107369A (ko) * | 2005-10-27 | 2005-11-11 | 서운식 | 모바일 기기를 위한 코드 직접 수행기능을 갖는 대용량저장장치 및 제어 방법 |
KR100834738B1 (ko) * | 2006-08-31 | 2008-06-05 | 삼성전자주식회사 | 상변화 메모리 장치의 구동 방법 및 그 방법을 사용하는상변화 메모리 장치 |
US7818610B2 (en) * | 2007-09-27 | 2010-10-19 | Microsoft Corporation | Rapid crash recovery for flash storage |
US8751760B2 (en) * | 2009-10-01 | 2014-06-10 | Dell Products L.P. | Systems and methods for power state transitioning in an information handling system |
TWI486966B (zh) * | 2010-02-04 | 2015-06-01 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與寫入管理方法 |
KR101903095B1 (ko) | 2011-11-21 | 2018-10-02 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법 |
KR102083490B1 (ko) | 2012-08-08 | 2020-03-03 | 삼성전자 주식회사 | 비휘발성 메모리 장치, 이를 포함하는 메모리 시스템 및 비휘발성 메모리 장치의 커맨드 실행 제어 방법 |
US9813080B1 (en) | 2013-03-05 | 2017-11-07 | Microsemi Solutions (U.S.), Inc. | Layer specific LDPC decoder |
US10230396B1 (en) | 2013-03-05 | 2019-03-12 | Microsemi Solutions (Us), Inc. | Method and apparatus for layer-specific LDPC decoding |
KR102226367B1 (ko) | 2014-01-02 | 2021-03-12 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것을 포함하는 불휘발성 메모리 시스템 |
US9336391B2 (en) * | 2014-06-17 | 2016-05-10 | International Business Machines Corporation | Verification of intellectual property core trusted state |
US10332613B1 (en) | 2015-05-18 | 2019-06-25 | Microsemi Solutions (Us), Inc. | Nonvolatile memory system with retention monitor |
US9799405B1 (en) | 2015-07-29 | 2017-10-24 | Ip Gem Group, Llc | Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction |
GB2543804A (en) * | 2015-10-29 | 2017-05-03 | Nordic Semiconductor Asa | Microprocessor interfaces |
US9886214B2 (en) | 2015-12-11 | 2018-02-06 | Ip Gem Group, Llc | Nonvolatile memory system with erase suspend circuit and method for erase suspend management |
US9892794B2 (en) | 2016-01-04 | 2018-02-13 | Ip Gem Group, Llc | Method and apparatus with program suspend using test mode |
US9899092B2 (en) | 2016-01-27 | 2018-02-20 | Ip Gem Group, Llc | Nonvolatile memory system with program step manager and method for program step management |
US10291263B2 (en) | 2016-07-28 | 2019-05-14 | Ip Gem Group, Llc | Auto-learning log likelihood ratio |
US10157677B2 (en) | 2016-07-28 | 2018-12-18 | Ip Gem Group, Llc | Background reference positioning and local reference positioning using threshold voltage shift read |
US10236915B2 (en) | 2016-07-29 | 2019-03-19 | Microsemi Solutions (U.S.), Inc. | Variable T BCH encoding |
US10157139B2 (en) * | 2016-09-19 | 2018-12-18 | Qualcomm Incorporated | Asynchronous cache operations |
US10817200B2 (en) * | 2017-10-26 | 2020-10-27 | Silicon Laboratories Inc. | Memory interface for a secure NOR flash memory |
CN109669729B (zh) * | 2018-12-26 | 2022-11-01 | 杭州迪普科技股份有限公司 | 一种处理器的启动引导方法 |
US20190163403A1 (en) * | 2019-01-31 | 2019-05-30 | Intel Corporation | Solid state drive with reduced host oversight of high priority read command |
KR200490551Y1 (ko) | 2019-09-03 | 2019-11-28 | 유제록 | 굴삭기용 안전 집게발 조립체 |
KR20210061171A (ko) | 2019-11-19 | 2021-05-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN112466384B (zh) * | 2020-11-12 | 2023-02-28 | 苏州浪潮智能科技有限公司 | 一种闪存编程挂起特性的测试方法、测试装置及测试设备 |
US20230418472A1 (en) * | 2022-06-23 | 2023-12-28 | Texas Instruments Incorporated | Methods and apparatus to schedule memory operations |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5333300A (en) * | 1991-02-11 | 1994-07-26 | Intel Corporation | Timing circuitry and method for controlling automated programming and erasing of a non-volatile semiconductor memory |
FR2672709B1 (fr) * | 1991-02-11 | 1994-09-30 | Intel Corp | Machine d'etat d'ordre. |
TW241346B (ja) * | 1991-10-15 | 1995-02-21 | Bull Hn Information Syst | |
US6189070B1 (en) * | 1997-08-28 | 2001-02-13 | Intel Corporation | Apparatus and method for suspending operation to read code in a nonvolatile writable semiconductor memory |
-
2000
- 2000-07-31 US US09/629,966 patent/US7032081B1/en not_active Expired - Lifetime
-
2001
- 2001-06-14 TW TW090114463A patent/TW550455B/zh not_active IP Right Cessation
- 2001-06-18 JP JP2002515579A patent/JP2004505374A/ja active Pending
- 2001-06-18 KR KR10-2002-7004167A patent/KR100469569B1/ko active IP Right Grant
- 2001-06-18 IL IL14861901A patent/IL148619A0/xx active IP Right Grant
- 2001-06-18 CN CNB018022537A patent/CN1300700C/zh not_active Expired - Fee Related
- 2001-06-18 EP EP01944595A patent/EP1305713A1/en not_active Withdrawn
- 2001-06-18 WO PCT/US2001/019419 patent/WO2002010921A1/en active IP Right Grant
- 2001-06-18 AU AU2001266987A patent/AU2001266987A1/en not_active Abandoned
-
2002
- 2002-03-11 IL IL148619A patent/IL148619A/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009528609A (ja) * | 2006-03-28 | 2009-08-06 | ノキア コーポレイション | 不揮発性メモリの読み出し待ち時間を減少させる方法及びデバイス |
Also Published As
Publication number | Publication date |
---|---|
IL148619A (en) | 2007-06-03 |
KR20020047199A (ko) | 2002-06-21 |
CN1386224A (zh) | 2002-12-18 |
IL148619A0 (en) | 2002-09-12 |
TW550455B (en) | 2003-09-01 |
WO2002010921A1 (en) | 2002-02-07 |
KR100469569B1 (ko) | 2005-02-02 |
AU2001266987A1 (en) | 2002-02-13 |
CN1300700C (zh) | 2007-02-14 |
EP1305713A1 (en) | 2003-05-02 |
US7032081B1 (en) | 2006-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004505374A (ja) | 不揮発性メモリがデータ格納/処理デバイスとして動作する状態でコード実行可能な装置および方法 | |
US8327161B2 (en) | Command decoder for microcontroller based flash memory digital controller system | |
TWI443519B (zh) | 用於直接記憶體存取之系統、用於實行一資料傳輸之方法及微控制器 | |
JPH08137763A (ja) | フラッシュメモリ制御装置 | |
JP2012529692A (ja) | メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止 | |
JP2003150574A (ja) | マイクロコンピュータ | |
JP4869713B2 (ja) | マルチチップパッケージデバイス | |
JP2004334486A (ja) | ブートコードを用いた起動システム、及び起動方法 | |
JP2009054083A (ja) | プロセッサ、データ転送ユニット及びマルチコアプロセッサシステム | |
KR20060013829A (ko) | 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템 | |
US20140223077A1 (en) | Memory system | |
US6968410B2 (en) | Multi-threaded processing of system management interrupts | |
KR101735150B1 (ko) | Frdy 풀-업 저항기 작동 | |
US6549469B2 (en) | Semiconductor memory system | |
JP4411160B2 (ja) | 電源断サポートを有するデータ処理装置に診断操作を実行する装置と方法 | |
JP2006221606A (ja) | データプロセッサ | |
JP3956305B2 (ja) | 不揮発性半導体記憶装置およびデータ処理装置 | |
US20050149771A1 (en) | Processor control circuit, information processing apparatus, and central processing unit | |
JP2016026345A (ja) | メモリアレイにおける読み出し待ち時間を短縮するためのメモリ操作の一時停止 | |
TWI676987B (zh) | 資料處理系統與資料處理方法 | |
US7487287B2 (en) | Time efficient embedded EEPROM/processor control method | |
JP5073434B2 (ja) | マイコン装置 | |
JP2569694B2 (ja) | ディスク制御装置 | |
JP4587000B2 (ja) | チップセレクト回路 | |
JP2004110407A (ja) | シリアルeepromインターフェイス |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040924 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041116 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050510 |