JP2007048307A - 不揮発性メモリ制御 - Google Patents
不揮発性メモリ制御 Download PDFInfo
- Publication number
- JP2007048307A JP2007048307A JP2006260795A JP2006260795A JP2007048307A JP 2007048307 A JP2007048307 A JP 2007048307A JP 2006260795 A JP2006260795 A JP 2006260795A JP 2006260795 A JP2006260795 A JP 2006260795A JP 2007048307 A JP2007048307 A JP 2007048307A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- sector
- volatile memory
- data
- nonvolatile memory
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1615—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using a concurrent pipeline structrure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
- G06F13/4239—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】異なるフラッシュメモリアレイでの同時オペレーションを使用するように構成されたメモリシステムで、フラッシュメモリアクセスを制御し、異なるフラッシュアレイでの同時フラッシュオペレーションをサポートするシステムで、性能を簡単に変更できるようにする方法を提供する。
【解決手段】本発明の一実施形態によれば、不揮発性メモリと、複数の使用可能なアレイから一度にアクセスされる不揮発性メモリアレイの数を制限するためのコントローラとを有する、メモリシステム内で使用するための方法および装置が提供され、この方法は、不揮発性メモリアレイとの間でのデータを転送するためにパイプラインシーケンスを実施すること、および一度に動作するアクティブアレイの数を制限することを含み、コントローラはアレイのうちの少なくとも1つが完了するまで待機し、その後で他のアレイとの間の転送を開始するような配置構成である。
【選択図】図11
【解決手段】本発明の一実施形態によれば、不揮発性メモリと、複数の使用可能なアレイから一度にアクセスされる不揮発性メモリアレイの数を制限するためのコントローラとを有する、メモリシステム内で使用するための方法および装置が提供され、この方法は、不揮発性メモリアレイとの間でのデータを転送するためにパイプラインシーケンスを実施すること、および一度に動作するアクティブアレイの数を制限することを含み、コントローラはアレイのうちの少なくとも1つが完了するまで待機し、その後で他のアレイとの間の転送を開始するような配置構成である。
【選択図】図11
Description
本発明は、データの記憶および検索のためのソリッドステートメモリシステム、ならびにソリッドステートメモリシステムの不揮発性メモリへのアクセスを制御するためのメモリコントローラに関する。具体的に言えば、本発明は、フラッシュメモリアクセスの制御を含む、電力消費の精密な制御による、メモリシステムでのデータへの高速アクセス方法に関する。
コンピュータシステムにおいて磁気ディスク記憶デバイスをエミュレートしようとする場合に、ソリッドステートメモリシステムを使用することが知られている。磁気ディスク記憶をよりよくエミュレートするために、ソリッドステートメモリシステムのオペレーション速度を上げようとすることが、業界の目標である。
典型的なメモリシステムには、不揮発性(フラッシュ)メモリおよびコントローラが含まれる。メモリには、個々にアドレス指定可能なセクタがあり、ここでメモリセクタとは、1つの論理セクタを記憶するために割り振られるフラッシュメモリ位置のグループである。メモリセクタは、フラッシュメモリ内の物理区画でも隣接したフラッシュメモリ位置でもある必要はないため、メモリセクタアドレスは、コントローラが便利に使用する仮想アドレスであってよい。コントローラは、データ構造のメモリへの書込みおよびデータ構造のメモリから読取りを行い、さらにホストから受け取った論理アドレスを、メモリ内のメモリセクタの物理(仮想)アドレスに変換する。
こうしたメモリシステムの一例が示されている文献がある(例えば、特許文献1参照)。図1(従来技術)には、メモリシステム(特許文献1参照)に関して記述されたフラッシュアレイを形成するインタリーブ型フラッシュチップへの、マルチセクタの書込みに関連する、様々なオペレーションのタイミングが示されている。
しかしながら、多くのシステムでは、またポータブルコンピュータなどの特定のシステムでは、電流の最高レベルが、システムの設計、効率、およびコストを定義する非常に重要なパラメータである。メモリ記憶デバイスを含むシステムの場合、その時点でアクティブなフラッシュメモリチップの数が、電流のレベルを定義する重要な要素である。したがって、ピークが高くなり、ホストシステムの電源に対する要求基準を高くしてしまうのを避けるために、電流レベルの最大値を制御することが重要である。また、最高電流レベルを変更できること、および必要であれば性能について妥協できることも重要である。
本発明の目的は、異なるフラッシュメモリアレイでの同時オペレーションを使用するように構成されたメモリシステムで、フラッシュメモリアクセスを制御し、異なるフラッシュアレイでの同時フラッシュオペレーションをサポートするシステムで、性能を簡単に変更できるようにする方法を提供することである。
本発明によれば、不揮発性メモリと、複数の使用可能なアレイから一度にアクセスされる不揮発性メモリアレイの数を制限するためのコントローラとを有する、メモリシステム内で使用するための方法が提供され、この方法は、不揮発性メモリアレイとの間でのデータを転送するためにパイプラインシーケンスを実施すること、および一度に動作するアクティブアレイの数を制限することを含み、コントローラがアレイのうちの少なくとも1つが完了するまで待機し、その後で他のアレイとの間の転送を開始するような配置構成である。
さらに本発明は、複数のメモリアレイと、直前の段落の方法を実施するように配置構成されたコントローラを組み込んだ、不揮発性メモリを有するメモリシステムも提供する。
本発明のこれらおよび他の態様は、添付の図面と組み合わせて以下の説明を読めば明らかになるであろう。
図2に示されるように、フラッシュディスクデバイスは、ディスク記憶デバイスの論理的特徴をホストシステム12に提示し、フラッシュ半導体メモリ20をその物理データ記憶媒体として使用する、メモリシステムである。フラッシュディスクメモリシステム10は、ディスクの論理的特徴を形成するアルゴリズムに従って、システム10の物理記憶媒体を管理するように、コントローラ16に要求するものであり、この場合は、メモリシステム10を形成する、物理インタフェース18によって接続されるフラッシュメモリ20およびコントローラ16である。メモリシステム10のコントローラ16は、論理インタフェース14を介して、システム10をホスト12に接続する。
この場合、フラッシュメモリ20は、複数のフラッシュブロックからなる複数のフラッシュチップを含む。メモリシステム10への論理インタフェース14は、ランダムにアクセス可能な、それぞれ512バイトのデータを含むセクタと呼ばれる固定サイズの単位で、データをシステム10に書き込むことおよびシステム10から読み取ることを可能にするものである。各セクタは、この場合は逐次論理ブロックアドレス(Logical Block Address;LBA)である、論理アドレスによって識別される。
本配置構成では、たとえセクタがすでにデータを含んでいる場合であっても、データをセクタに書き込むことができる。論理インタフェース14でのプロトコルは、この場合、論理的に隣接したセクタアドレスのマルチセクタブロックでの、システムへのアクセスのサポート、読取り、または書込みが可能であり、これらのプロトコルは、ATA、CompactFlash、またはMultiMediaCardなどの業界標準に準拠したものであるため、メモリシステム10は様々なホストシステム間で交換可能となり、ホスト12での使用に限定されることはない。
コントローラ16からフラッシュメモリ20への物理インタフェース18は、ホストシステムからの512バイトのデータに加えて、コントローラ16によって付加される16バイトのオーバヘッドデータについて、典型的には十分な容量を有し、この場合には物理セクタと呼ばれ、それぞれにランダムにアクセス可能な、固定サイズの単位で、データのフラッシュメモリ20への書込みおよびフラッシュメモリ20からの読取りを可能にするものである。各物理セクタは、物理セクタアドレスによって識別され、通常、それぞれが、メモリサブシステム内のフラッシュチップ、フラッシュチップ内のフラッシュブロック、および物理セクタが書き込まれるメモリ20のフラッシュブロック内の物理セクタを識別する、別々の構成要素を有する。
図示されたシステム10内では、セクタが以前に消去されている場合に、データは物理セクタへのみ書込み可能である。フラッシュメモリ20は、物理インタフェースのコマンドに応答して、典型的には32の物理セクタを含むフラッシュブロックの単位で消去される。フラッシュシステム10内で、物理セクタを読み取り、物理セクタをプログラミングし、フラッシュブロックを消去するオペレーションを実行するための相対的な時間は、典型的には、1:20:200の比率である。
図2の配置構成では、コントローラ16はフラッシュ媒体管理コントローラであり、これは、使用の均一な配分を保証する方法が実施される循環(cyclic)記憶コントローラであって、この方法を実施する媒体管理アルゴリズムは、コントローラ内のプロセッサによってファームウェアとして実施される。
図3を参照すると、循環記憶コントローラ16に関して定義される、最適なハードウェアアーキテクチャが示されている。この場合、コントローラハードウェアは、別の集積回路内の専用アーキテクチャである。
コントローラ16は、ホストインタフェース制御ブロック22、マイクロプロセッサ24、フラッシュインタフェース制御ブロック26、ROM 28、SRAM 30、および拡張ポート32を備え、それぞれが、メモリアクセス制御バス34によって相互接続されている。
循環記憶フラッシュ媒体管理アルゴリズムは、マイクロプロセッサ24上で動作するファームウェアによって実施され、コントローラ16は、すべてのフラッシュ媒体管理機能およびホスト12へ示される論理インタフェース14の特徴に関して責務を負うものである。
ホストインタフェース制御ブロック22は、論理インタフェース14を介したホストシステム12との間のデータフローにパスを提供するものである。
この場合、コントローラ16は専用集積回路の形を取るため、ホストインタフェース制御ブロック22は、業界標準プロトコルに準拠した論理インタフェース14を提供し、ならびに、インタフェース14の論理的特徴を制御するためにマイクロプロセッサ24に経路を提供する、コマンドレジスタおよびタスクファイルレジスタのセットを提供する。
ホストインタフェース制御ブロック22は、データのセクタが、論理インタフェース14を横切って、ホストシステム12とコントローラのSRAM 30との間で、マイクロプロセッサ24からの介入なしに、直接メモリアクセス(DMA)オペレーションによって、どちらの方向にも転送できるようにするものでもある。
フラッシュインタフェース制御ブロック26は、フラッシュメモリ20との間のデータフローにパスを提供し、フラッシュメモリ20内で実行されるすべてのオペレーションを制御する。フラッシュメモリ20内で実行されるオペレーションは、パラメータおよびアドレス情報をフラッシュインタフェース制御ブロック26にロードするマイクロプロセッサ24によって、定義および開始される。
典型的に実行されるオペレーションのセットは、フラッシュメモリ20への物理セクタの転送、フラッシュメモリ20からの物理セクタの転送、フラッシュメモリ20への物理セクタのプログラミング、フラッシュブロックの消去、およびフラッシュメモリ20の状況の読取りである。
同様に、データの物理セクタは、物理インタフェース18を横切って、フラッシュメモリ20とコントローラのSRAM 30との間で、マイクロプロセッサ24からの介入なしにDMAオペレーションによって、どちらの方向にも転送可能である。フラッシュメモリ20に転送される物理セクタ内の、512バイトのホストデータおよび16バイトのオーバヘッドデータの編成は、マイクロプロセッサ24によってロードされるパラメータの制御の下で、フラッシュインタフェース制御ブロック26内で決定される。
フラッシュインタフェース制御ブロック26は、フラッシュメモリ20に転送され、各物理セクタ内でオーバヘッドデータとしてプログラミングされる、12バイトのエラー修正コード(ECC)も生成し、さらにこれは、フラッシュメモリ20から物理セクタが転送されるときに検証される。
マイクロプロセッサ24は、メモリアクセス制御バスまたはデータバス34を介したデータセクタの、あるいはコントローラ16のフローを制御し、セクタを定義するフラッシュ媒体管理アルゴリズムを実施し、フラッシュメモリ20内のデータ記憶編成を制御し、ホストシステム12に対して論理インタフェース14の特徴を定義する。この場合、マイクロプロセッサ24は、32ビットRISCプロセッサである。
メモリアクセス制御バス34は、マイクロプロセッサ24、ホストインタフェース制御ブロック22、およびフラッシュインタフェース制御ブロック26の間、ならびに、ホストインタフェース制御ブロック22、フラッシュインタフェース制御ブロック26、およびSRAM30の間での情報の転送を可能にする。
マイクロプロセッサ24、ホストインタフェース制御ブロック22、およびフラッシュインタフェース制御ブロック26は、それぞれ、メモリアクセス制御バス34上でのトランザクションに関するマスタであってよい。要求元マスタには、サイクルごとに、バスアクセスが認められる。
SRAMブロック30は、すべての一時情報をコントローラ16に格納し、この格納機能には、セクタデータのバッファリング、制御データ構造および変数ならびにファームウェアコードの格納が含まれる。
ROM 28は、マイクロプロセッサ24が実行するためのコード、または、コントローラ内の他のハードウェアブロックによって要求される情報を格納するために、コントローラ16に含まれる。
コントローラアーキテクチャに拡張ポート32を含めることによって、メモリシステム10から、外部ハードウェア機能、RAM、またはROMにアクセスすることができる。
コントローラのオペレーション中に、論理インタフェース14からホストシステム12の間、および物理インタフェース18からフラッシュメモリ20の間で転送される、すべてのセクタデータは、SRAM 30にバッファリングされる。SRAM 30では、ホストおよびフラッシュインタフェースでの連続するセクタの同時転送を可能にするために、データの2つのセクタをバッファリングするための十分な容量が割り振られる。論理ホストインタフェース14とSRAM 30との間のデータ転送は、バスマスタとして働くホストインタフェース制御ブロック22によるDMAによって実行される。
物理フラッシュインタフェース18とSARM 30との間のデータ転送は、バスマスタとして働くフラッシュインタフェース制御ブロック26によるDMAによって実行される。フラッシュメモリ20内のセクタに書き込まれるデータは、SRAMメモリ30に格納され、直接メモリアクセスにより、フラッシュインタフェース制御ブロック26の制御の下で、物理インタフェースを介してフラッシュメモリ20に転送される。セクタ内に書き込まれる512バイトのユーザデータは、論理インタフェース14を介してホストシステム12によって以前に供給され、直接メモリアクセスにより、ホストインタフェース制御ブロック22の制御の下で、SRAMメモリ30に転送されたものである。フラッシュメモリ20のセクタ内でのデータのプログラミングは、物理インタフェース18で、アドレスおよびコマンドシーケンス、それに続く528バイトのデータとECC、それに続くプログラムコマンドコードを送信することにより、コントローラ16によって実施される。
ホストシステムとコントローラのSRAM 30との間、およびSRAM 30とフラッシュメモリとの間での、セクタに関するデータの転送は、マイクロプロセッサ24上で実行されているファームウェアによって制御され、コントローラ16は、すべてのフラッシュ媒体管理機能およびホスト12へ示される論理インタフェース14の特徴に関して責務を負うものである。
コントローラ16は専用集積回路の形を取るため、ホストインタフェース制御ブロック22は、業界標準プロトコルに準拠した論理インタフェース、ならびに、インタフェース14の論理的特徴を制御するためにマイクロプロセッサ24に経路を提供する、コマンドレジスタおよびタスクファイルレジスタのセットを提供する。コマンド、アドレス、およびパラメータ情報は、ホスト12によってこれらのタスクファイルレジスタに書き込まれ、コマンドを実行するためにマイクロプロセッサ24によって読み取られる。情報は、ホスト12に戻すために、マイクロプロセッサ24によってレジスタにも書き込まれる。
図4には、循環記憶フラッシュ媒体管理オペレーションを実行する、ファームウェアの階層化構造が示されている。ファームウェアには3つの層があり、第1の層はホストインタフェース層40、第2の層42はセクタ転送シーケンサ42aおよび媒体管理層42bを有し、第3の層はフラッシュ制御層44である。
これら3つのファームウェア層40、42、および44は、論理インタフェース14からホスト12および物理インタフェース18からフラッシュメモリ20の間のデータセクタの転送を制御する。ただし、ファームウェア層が直接データを渡すのではなく、代わりにデータセクタはコントローラ16のハードウェアブロックによって転送されるため、マイクロプロセッサ24を介して渡されることはない。
ホストインタフェース層40は、ホストプロトコルに関するフルセットコマンドをサポートする。これは、ホストインタフェース14でコマンドを解釈し、ホストプロトコルに従ってインタフェース14の論理的挙動を制御し、データの転送に関連付けられていないホストコマンドを実行し、以下の層で呼び出されるフラッシュメモリ内のデータに関するホストコマンドを渡す。こうしたコマンドの例は、次のとおりである。
論理セクタ(単一または複数)読取り、
論理セクタ(単一または複数)書込み、
論理セクタ(単一または複数)消去、ならびに、他のディスクフォーマットおよび識別コマンド。
論理セクタ(単一または複数)書込み、
論理セクタ(単一または複数)消去、ならびに、他のディスクフォーマットおよび識別コマンド。
セクタ転送シーケンサ42aは、論理データセクタに関する解釈済みコマンドをホストインタフェース層40から受け取り、論理/物理変換オペレーションのためにフラッシュ媒体管理層42bを呼び出して、フラッシュメモリとの間の物理セクタの転送のためにフラッシュ制御層44を呼び出す。セクタ転送シーケンサ42aは、セクタバッファメモリ管理も実行する。シーケンサ42aの他の機能は、ホスト12から受け取ったコマンドおよびフラッシュメモリ20用に構成された現在のオペレーションのレベルに従って、ホストインタフェース14およびフラッシュメモリインタフェース18でのセクタ転送のシーケンス、ならびに媒体管理層42bでのオペレーションのシーケンスを作成することである。
媒体管理層42bは、単一論理セクタの書込み、読取り、または消去をサポートするために必要な、論理/物理変換オペレーションを実行する。この層は、循環記憶媒体管理アルゴリズムの実施に関する責務を負う。
フラッシュ制御層44は、セクタ転送シーケンサ42aまたは媒体管理層42bからの呼び出しに従ってオペレーションを実行するように、フラッシュインタフェース制御ブロック26のハードウェアを構成する。
コントローラファームウェアの媒体管理層42b内で実施される媒体管理機能は、フラッシュ半導体メモリ20を物理データ記憶媒体として使用する、メモリシステム10内のディスク記憶デバイスの論理的特徴を作成する。
媒体管理層42bの媒体管理機能によって実行される媒体管理の有効性は、メモリシステム10へのデータの持続書込み(sustained writing)を実行するためのその速度、異なるファイルシステムで、およびこの場合はホスト12で動作するときのその性能レベルを維持する効率、ならびに、フラッシュメモリ20の長期信頼性によって測られる。
データ書込み速度は、連続する大量のデータをメモリシステム10に書き込む際に持続可能な速度として定義される。場合によっては、メモリシステムの持続データ書込み速度がテストされる際に、書き込まれるデータの量がメモリシステム10の容量を超えるため、論理アドレスが繰り返されることがある。
持続書込み速度は、ホスト12への論理インタフェース14、およびフラッシュメモリ20への物理インタフェース18での、セクタデータ転送速度、ならびに、論理インタフェース14でホスト12によって書き込まれるデータセクタの格納に直接関連付けられていない、フラッシュページ読取りおよび書込みオペレーション、ならびにフラッシュブロック消去オペレーションに関する、物理インタフェース18でのフラッシュメモリ20へのアクセスのオーバヘッド割合によって決定される。この場合、使用される制御データ構造およびアルゴリズムは、制御機能に関するフラッシュメモリ20へのアクセスが、ホストセクタ書込みに関するものよりもかなり少ない頻度で要求されることを保証するものでなければならない。持続書込み速度は、媒体管理オペレーションに関するコントローラ16内での処理時間、ページ読取りおよびプログラム時間、ならびにフラッシュメモリ20内でのブロック消去時間によっても決定される。
様々な特徴を持つファイルシステムを有するメモリシステムを効率良く動作させるために、フラッシュメモリ20上のホストデータおよび制御データ構造の編成に関する媒体管理アルゴリズムが適切に定義され、データ書込み性能はそれぞれの環境で維持される。
第1の実施形態では、MS−DOS標準を実施しているファイルシステムには、ホスト12がマルチセクタ書込みコマンドを使用してデータセクタ群を書き込む、ホスト12が単一セクタ書込みコマンドを使用してデータセクタを書き込む、ホスト12がクラスタ化されたファイルデータと共用のアドレススペース内で単一セクタ書込みコマンドを使用して何らかのセクタを書き込む、ホスト12が単一セクタ書込みコマンドを使用してMS−DOSディレクトリおよびFATエントリに関する非隣接セクタを書き込む、ホスト12がファイルデータ用の隣接セクタが点在するMS−DOSディレクトリおよびFATエントリに関する非隣接セクタを書き込む、および/または、ホストが頻繁にMS−DOSディレクトリおよびFATエントリに関するセクタを書き換える可能性がある、という特徴のうちの少なくとも1つが与えられる。
セルの物理構造内に磨耗したメカニズムがあり、オペレーションの数が累積されていくと、それによってフラッシュメモリのブロックが障害を起こす可能性があるというのが、フラッシュメモリ、この場合はメモリシステム10のフラッシュメモリ20の特徴である。典型的には、これは100,000から1,000,000プログラム/消去サイクルの範囲である。このことに鑑みて、本配置構成の循環記憶コントローラ16は、フラッシュメモリ20の物理アドレススペース内に「ホットスポット」が発生しないこと、および、フラッシュブロックの使用がオペレーションの延長期間にわたって均一に分散されることを保証するために、磨耗均一化のプロセスを実施する。
循環記憶媒体管理アルゴリズムは、メモリシステム10内で実施され、システム10内の物理フラッシュメモリ20の媒体管理オペレーションを実行する。循環記憶媒体管理アルゴリズムは、ホスト情報を書き込む場所を制御するデータ書込みアルゴリズム、古くなった情報を含むフラッシュメモリ20の領域の消去を制御するブロック消去アルゴリズム、情報を格納するためのフラッシュブロックの使用シーケンスを制御するブロックシーケンシングアルゴリズム、ならびにホストの論理アドレスの物理メモリアドレスへのマッピングを制御するアドレス変換アルゴリズムという、4つの別々のアルゴリズムを含む。
これらのアルゴリズムによって実施される循環記憶媒体管理の方法は、データが書き込まれたシーケンスと同じ順序に従って、フラッシュメモリ20内の物理セクタ位置でデータが書き込まれるという原理を具体化するものである。これは、循環書込みポインタによって定義された物理セクタ位置で、各論理データセクタを書き込むことによって達成される。
循環記憶媒体管理方法の書込みオペレーションを示す概略図が、図5Aに示されている。書込みポインタ、この場合には書き込みポインタ(DWP)46は、フラッシュメモリ20内のフラッシュブロックXのセクタ位置を順番に通って移動し、ブロックシーケンシングアルゴリズムによって定義された方法で、ブロックYおよびZのチェーンを通って続行する。各ブロックX、Y、およびZは、フラッシュメモリ20の物理構造であり、この場合は、単一のオペレーションで消去可能な32のセクタ位置を含む。
図5Bに示されるように、論理データセクタは通常、ホスト12のファイルシステムによってファイルに書き込まれ、循環記憶データ書込みアルゴリズムは、前のファイルの最後のセクタに続く次の使用可能物理セクタ位置で、ファイルの第1のセクタを位置付けする。有効なデータがデバイス内にすでに存在する論理セクタを使用して、ホスト12がファイルを書き込む場合、前のバージョンのセクタは古くなり、それらを含むブロックは、ブロック消去アルゴリズムに従って消去される。古いファイルセクタを含むブロックを消去するためには、場合によっては、他のファイルの何らかの有効なセクタを再配置する必要がある。これは通常、ブロックがファイルのヘッドのセクタ、ならびに異なるファイルの末尾からの無関係な論理アドレスを備えたセクタを含む場合に発生する。
第2の書込みポインタ、この場合はデータ再配置ポインタDRP 47は、1つのファイルのセクタが他のファイルのセクタを含むブロックを断片化しないように、再配置されたセクタを書き込むために使用される。別々の再配置ポインタを使用すると、ファイルを含むブロックの断片化が大幅に削減され、その結果、セクタの再配置に関する要件が最小になり、ファイル書込み性能が最大になる。
DOSファイルシステムのディレクトリまたはFATセクタなどの、システム情報を含むセクタも書き込む、ホストファイルシステムが使用され、これらは通常、ファイルを形成するセクタグループの直前および直後に書き込まれる。別のシステムポインタである、システム書込みポインタSWP 48は、システムセクタをファイルデータセクタから分離し、それらが同じ方法で扱われることのないように、それらの論理アドレスによって識別されるシステムセクタの物理書込み位置を定義するために、このホストファイルシステムに対して使用される。これによって、システムセクタの小グループが、1つのファイルの末尾と他のファイルの先頭との間に「はさまれる」ことがない。これらのシステムセクタは多くのファイルに関する情報を含み、通常は、1つのファイルに関するデータよりもかなり高い頻度で書き換えられる。「はさまれた」システムセクタによって、ファイルデータセクタの頻繁な再配置が生じることになり、システムポインタSWP 48を使用することで、データセクタ再配置に関する要件が最小になり、ファイル書込み性能が最大になる。
4番目のポインタであるシステム再配置ポインタSRP 49は、ファイルデータセクタの再配置ポインタDRP 47に類似した、システムセクタの再配置に使用される。
要約すると、4つの書込みポインタは、
ホストシステムによって伝送されるファイルデータセクタを書き込むための物理位置を定義する際に使用される、データ書込みポインタ、DWP 46と、
使用中のホストファイルシステムの特徴に従って、論理アドレスによってシステムセクタが識別される、ホストシステムによって伝送されるシステムセクタを書き込むための物理位置を定義する際に使用される、システム書込みポインタ、SWP 48と、
古いファイルデータセクタによって占有されている容量を回復するために、ブロック消去の前に時折再配置しなければならない、ファイルデータセクタを書き込むための物理位置を定義する際に使用される、データ再配置ポインタ、DRP 47と、
古いシステムセクタによって占有されている容量を回復するためのブロック消去の前に再配置しなければならない、システムセクタを書き込むための物理位置を定義する際に使用される、システム再配置ポインタ、SRP 49である。
ホストシステムによって伝送されるファイルデータセクタを書き込むための物理位置を定義する際に使用される、データ書込みポインタ、DWP 46と、
使用中のホストファイルシステムの特徴に従って、論理アドレスによってシステムセクタが識別される、ホストシステムによって伝送されるシステムセクタを書き込むための物理位置を定義する際に使用される、システム書込みポインタ、SWP 48と、
古いファイルデータセクタによって占有されている容量を回復するために、ブロック消去の前に時折再配置しなければならない、ファイルデータセクタを書き込むための物理位置を定義する際に使用される、データ再配置ポインタ、DRP 47と、
古いシステムセクタによって占有されている容量を回復するためのブロック消去の前に再配置しなければならない、システムセクタを書き込むための物理位置を定義する際に使用される、システム再配置ポインタ、SRP 49である。
ブロックは、単一書込みポインタのみに関連付けられたデータを含まなければならず、その結果、各書込みポインタにつき1つずつ、すなわち4つの別々のブロックチェーンが存在することになる。ただし、循環記憶アルゴリズムの同じ書込みおよび再配置アルゴリズムが、各書込みポインタ46、47、48、および49に適用される。
複数の書込みポインタの使用と組み合わされた、先行セクタに続く最初の使用可能位置に書き込まれるセクタを位置付けるためのこのスキームは、完全にフレキシブルであり、単一セクタデータおよび任意のサイズのデータ群を含む、すべてのホスト書込み構成に関して、高い性能および完全な互換性を与えるものである。
ただし、循環記憶媒体管理方法が定義されるのは、多数の古いデータセクタの存在を許容するためでもなければ、ガーベージコレクションなどの機能のためのバックグラウンドオペレーションを実施するためでもない。典型的には、データ書込みポインタDWP 46およびシステム書込みポインタSWP 48のそれぞれについて、古いセクタを含む2つのブロックのみが存在可能であり、ブロック消去は、セクタ書込みシーケンス中にフォアグラウンドオペレーションとして実行される。
この管理方法は、大容量の古いデータが存在できるようにフラッシュメモリの論理容量を削減する必要がないこと、ホストによって開始されるパワーダウンによって中断されやすいバックグラウンドオペレーションがないことによって、データの整合性が大幅に改善されること、および、一度に1つのブロックについてのみ消去オペレーションが必要であるため、データ書込みシーケンス中の休止が短いことを意味する。
古いデータセクタが、いずれかの書込みポインタに関連付けられた新しいブロック内に作成されると、既存の「古いブロック」は消去によって削除され、その後、必要であればブロック内でセクタが再配置される。
ホスト12から送られるセクタ消去コマンドは、ターゲットセクタを古いものとしてマーク付けし、その後、ブロック消去アルゴリズムに従ってその消去を実行できるようにすることによってサポートされる。
循環記憶ブロックシーケンシングアルゴリズムは、新しいかまたは再配置されたデータの書込みにフラッシュメモリ20内のブロックが使用されるシーケンスを判定するものであり、したがって、使用されるフラッシュメモリシステム10に対して指定された持続時間を超えるいくつかの書込み/消去サイクルを経験するブロックがないことを保証する責務を負う。
論理セクタがホストによって書き込まれる場合、メモリシステム内に存在するどんな以前のバージョンも、古いデータとして取り扱われる。ブロック消去アルゴリズムは、古いデータセクタによって占有される容量を回復できるようにするために、これらのセクタを含むブロックが即時に消去されることを保証する。したがって、システム10の物理メモリ容量は、ホストによって書き込まれる論理セクタに関する有効データに加えて、少数の所有権を主張できる循環記憶制御データ構造およびいくつかの消去済みブロックによって占有される。フラッシュメモリ20の初期フォーマット化直後、メモリ20の容量は、ほぼすべてが消去済みブロックからなる。ホスト12が、その論理アドレススペース内のすべてのセクタに対して少なくとも1回書き込むと、デバイスは論理的にいっぱいであるとみなされ、その物理容量はほぼすべてが、正しいデバイスオペレーションのために維持される少数の消去済みブロックを備えた、有効なデータセクタで占有される。ホスト12が論理セクタを消去するためのコマンドを実行した場合にのみ、消去済みブロックの数が増えることになる。
書込みポインタのうちの1つによる使用のため、または制御データ構造を格納するために割り振られる消去済みブロックは、使用可能な消去済みブロックのプールから取り出される。ブロックは、その特定のブロックに対して書込みオペレーションを実行する必要性に応答して消去されるものでは決してなく、ブロックシーケンシングアルゴリズムは、消去済みプール内のブロックのデータ書込みオペレーションのための割振り順序を判定する。アルゴリズムに従って、要件が、書込みポインタのうちの1つによって使用されるためか、または制御データ構造用であるかにかかわらず、次に使用可能なブロックが割り振られる。
循環記憶媒体管理を実行するこれらのアルゴリズムを実施すると、フラッシュメモリ20の個々のセクタ上で動作すること、およびその論理アドレススペース内のあらゆるセクタの論理/物理アドレスマッピングを別々に追跡することによって、システムの柔軟性が増加する。あらゆる論理セクタの物理アドレスを含むセクタアドレステーブルは、フラッシュメモリ20内に維持される。さらに、あらゆるセクタは、その論理アドレスを含むヘッダと共に書き込まれ、セクタのアイデンティティを検証し最高のデータ保全性を保証する手段を提供する。
データ書込みアルゴリズムをその循環書込みポインタと共に使用すると、順次物理位置内のセクタのヘッダにある論理アドレスを使用して、セクタ書込みのシーケンスを追跡する機能が提供される。この機能は、たとえ、最近書き込まれたセクタに関する論理/物理アドレスマッピング記録が揮発性のコントローラのメモリSRAM 30内に一時的に保持され、フラッシュメモリ20内には保持されない場合であっても、トータルなデータセキュリティを提供する。こうした一時記録は、循環記憶アルゴリズムが実施されるシステム10が初期設定されるときに、フラッシュメモリ20内のデータセクタから再構築することができる。したがって、フラッシュメモリ20内のセクタアドレステーブルは、頻繁ではなく更新することが可能であり、制御データの書込みオペレーションのオーバヘッドの割合が下がり、データ書込みの持続率が上がることになる。
図6には、メモリシステム10で実行される3レベル階層のマッピング構造50を使用する、アドレス変換プロセスの概略図が示されている。
3レベル階層とは、セクタアドレステーブル52、一時セクタアドレステーブル54、およびセクタアドレスレコード56である。
マッピング構造の最上位階層はセクタアドレステーブル52であり、これは、システム10に格納されたあらゆる論理セクタに関する物理アドレスを含むマスタテーブルであり、フラッシュメモリ20に格納される。階層の2つの低位層54および56内の構造が、セクタアドレステーブルに対して書込みオペレーションを実行しなければならない頻度を減らすための手段を提供する。
セクタアドレスレコード56は、コントローラの揮発性メモリSRAM 30に格納された、システム10に書き込まれた論理的に隣接するセクタのリストである。このリストにより、フラッシュメモリ20にアクセスする必要なしに、それに含める任意の論理セクタの物理アドレスを判定することができる。これは、デバイスの初期設定時に、フラッシュメモリ20内で追跡可能な最近書き込まれたセクタのシーケンスから再構築することも可能である。中間の一時セクタアドレステーブル54は、フラッシュメモリ20内に含まれ、リストがいっぱいになったときに、セクタアドレスレコード56の内容を使用して更新される。中間の一時セクタアドレステーブル54は、セクタアドレステーブル52と同じ形式であり、より効率的なテーブル書込みプロセスが実行可能なように、セクタアドレステーブル52の特定のブロックに対する物理アドレスデータの更新を累算することができる。一時テーブル54は、セクタアドレステーブル52にアクセスする必要なしに、それに含める論理セクタの物理アドレスを判定できるようにするものである。
このマッピング構造階層50は、フラッシュメモリに対する書込みオペレーションの頻度が少ないという要件で維持され、たとえシステム10から電源が予期せずに除去された場合であっても、セクタアドレス情報のトータルなセキュリティが提供されるような方法で、論理/物理アドレス変換を効率的にサポートする。
循環記憶媒体管理アルゴリズムをサポートするために必要なデータ構造は、かなり制限された量の制御データのみを制御プロセッサの揮発性SRAM 30内に一時的に保持しながら、ホストデータセクタと共に主としてフラッシュメモリ20内に格納される。揮発性SRAM30内に保持された情報は重要ではなく、電源が中断された場合はフラッシュメモリ20から再構築することができる。
上記で述べたように、フラッシュメモリシステム10内のコントローラ16は、一度にフラッシュメモリ20内の1つのアレイ上でしか動作できない。各アレイは、フラッシュメモリ記憶セルのグループであり、その中では、一度に単一のセクタプログラムオペレーションまたはブロック消去オペレーションしか実行できない。この場合、アレイは完全なフラッシュチップである。コントローラは、異なるアレイ内のセクタ上でプログラムオペレーションを同時に実行できるか、または、異なるアレイ内のブロック上で消去オペレーションを同時に実行できるように設計される。コントローラ16は、フラッシュメモリ20内の任意のアレイの現在の状況を、他のアレイとは独立に、アドレス指定、プログラム、およびチェックすることができる。
各セクタは、単一オペレーションでプログラミングされるフラッシュメモリ20内の物理記憶の単位である。NANDフラッシュメモリチップを含む本配置構成では、フラッシュアレイ内のページと等価のセクタは、528バイトの容量を有する。この場合、各フラッシュチップは4つのアレイを含むとみなされ、それぞれが、いつでも1つのセクタでプログラミング可能である。
転送のスケジューリング、すなわちセクタデータの順序付けは、図4に示されたセクタ転送シーケンサブロック42aによって制御されるものであり、図7から11を参照しながら、より詳細に説明する。ホストインタフェース14でのデータの転送は、メモリシステム10のフラッシュメモリへの物理インタフェース18でのデータ転送とは独立しており、ホストインタフェースでのバースト転送速度は、ホスト12によって決定される。セクタデータの転送をスケジューリングするいくつかの異なる方法は、フラッシュメモリ20内のブロックおよびページがコントローラ16によってアドレス指定される方法に応じて、セクタ転送シーケンサファームウェアによって実施可能である。記載された方法は、セクタデータがホストによって供給され、前述のように、フラッシュメモリ20に転送するためにセクタデータを供給するのに十分な速度でSRAM 30内に格納されることを想定したものである。
図7を参照すると、コントローラがメモリシステム10内のブロックおよびページをアドレス指定するのに使用可能な、セクタデータの転送をスケジューリングする方法の第1の実施形態が示されており、フラッシュメモリ20は4つのフラッシュアレイ0、1、2、および3を含み、コントローラ16は、並行するページプログラムまたはブロック消去オペレーションを2つのアレイ内で同時に開始する必要がある。アレイはペアでリンクされており、リンクされたアレイ内で同じアドレスを持つ対応するブロック0は、単一の仮想ブロック0として扱われる。図に示されるように、フラッシュアレイ0内のブロック0は、フラッシュアレイ1内のブロック0とリンクされて、仮想ブロック0を形成する。フラッシュアレイ0および1のそれぞれにおいてN個のブロックがリンクされ、0からN−1までのラベルが付けられたN個の仮想ブロックを形成しており、さらに、フラッシュアレイ3および2のそれぞれにおいてN個のブロックがリンクされ、Nから2N−1までのラベルが付けられたN個の仮想ブロックをさらに形成している。各仮想ブロック内でのセクタの書込み順序は、仮想ブロック内のセクタを順に通過して移動する際に構成ブロック間で交互になる、書込みポインタの動きによって決められる。
図8では、メモリシステム10内のブロックおよびページをアドレス指定する際にコントローラが使用できる方法の第2の実施形態が示されており、フラッシュメモリ20は4つのフラッシュアレイを含み、コントローラ16は、4つのアレイでページプログラムまたはブロック消去オペレーションを並行して開始する必要がある。4つのアレイはすべてリンクされており、リンクされたアレイそれぞれで同じアドレスを持つ対応するブロックは、単一の仮想ブロックとして扱われる。図を見ればわかるように、フラッシュアレイ0から3内のブロック0がリンクされ、仮想ブロック0を形成している。フラッシュアレイ0から3のそれぞれにおいてN個のブロックがリンクされ、0からN−1のラベルが付けられたN個の仮想ブロックを形成している。仮想ブロック内でのセクタの書込み順序は、ブロック0から3の対応するセクタを通過して移動する書込みポインタの動きによって決められ、その後、仮想ブロック内のセクタを順に通過して移動する際に、ブロック0内の次のセクタへ増分する。
仮想ブロックを形成するためにリンクされた個々のフラッシュアレイ内のブロックは、それ自体が、互いに積み重ねられた複数の小さな隣接する物理ブロックを含む。
プログラムオペレーションは、仮想ブロックを形成する構成ブロックのそれぞれから、1つのセクタ上でほぼ同時に実行することができる。
図9を参照すると、図8のフラッシュアレイ0、1、2、および3に示されたセクタ0、1、2、および3を、同時にプログラミングする方法の第3の実施形態が示されている。セクタ0に関するデータは、フラッシュメモリ20への物理インタフェースを通って、フラッシュアレイ0へバイト順(byte serially)に転送され、その後、コントローラ16によって、プログラムオペレーションを開始するためのプログラムコマンドがフラッシュアレイ0に送られる。セクタ0がプログラミングされている間、コントローラ16はセクタ1に関するデータをフラッシュアレイ1に転送し、それに関するプログラムオペレーションを開始する。同じことがセクタ2および3について実行される。セクタ0から3は、フラッシュアレイ0から3内で互いにほぼ同時にプログラミングされ、フラッシュメモリ内のセクタにデータを転送してプログラミングする速度は、一度に1つのフラッシュアレイのみをプログラミングすることによって達成できる速度よりも、格段に早い。フラッシュアレイ0から3内でのプログラムオペレーションがすべて完了すると、このプロセスはセクタ4から7に対して繰り返される。すべてのアレイが、セクタ0から3のプログラミングを完了したとき、およびアクティブなフラッシュアレイがないときに、フラッシュアレイからの共用のビジー/レディ(busy/ready)回線を使用して、信号を送ることができる。ただし、別法として、すべてのアレイの状況を独立してポーリングすることができる。
図10には、フラッシュアレイ0から3で、セクタデータを転送するため、およびプログラミングオペレーションを開始するためのシーケンスの、第4の実施形態が示されている。図9を参照しながらセクタ0から3について説明したシーケンスが実行されるが、フラッシュアレイでのプログラミングオペレーションが完了すると、セクタデータは、そのアレイでの次のプログラミングオペレーションのために即時に転送される。アレイ内でのオペレーションが完了したことを見つけるために、各アレイの状況は独立してポーリングされる。あるいは、あらゆるアレイからの独立したビジー/レディ信号を使用することができる。このようにセクタデータの転送およびセクタプログラミングのパイプラインが増加すると、フラッシュメモリ内にセクタデータを書き込むための速度も増加する。
上記に記載された実施形態で詳細に述べたこれらの方法は、それぞれ、フラッシュメモリ内の他のセクタから再配置されるセクタデータ、ならびにホストシステムによって供給されたセクタデータを書き込むために使用することができる。
異なるフラッシュアレイ内に同時にプログラミングされるセクタの順序は、図8に示された順序に従う必要はなく、すなわち、逐次順を使用する必要はない。同じアレイからの2つのセクタが使用されていないことを条件として、フラッシュアレイからの任意のセクタを、他のアレイからの任意の他のセクタと同時にプログラムすることが可能である。例えば、図8の4つのセクタのグループを、セクタ10、セクタ3、セクタ1、次いでセクタ4の順で、転送およびプログラミングすることが可能となる。ただし、仮想ブロックのアドレスを順に通過して移動する循環書込みポインタを使用する場合は、セクタアドレスが逐次順となるのが最も一般的である。データが同時に転送およびプログラミングされる4つのセクタのグループの第1のセクタが、フラッシュアレイ0に配置されている必要はない。例えばセクタは、セクタ2、セクタ3、セクタ4、およびセクタ5の順に転送することができる。
セクタのクラスタに関する書込み時間は、セクタデータに関するフラッシュメモリ20への転送時間と、フラッシュメモリ20内のセクタに関するプログラミング時間の関数として表すことができる。プログラミング時間は通常200マイクロ秒であり、通常およそ30マイクロ秒である転送時間よりもかなり長い。コントローラによるフラッシュチップのアドレス指定およびデータの転送およびプログラミングの開始に関連付けられた時間は、通常は重要でない。図9に示された例では、クラスタ書込み時間は、
クラスタ書込み時間=8*セクタデータ転送時間+2*プログラミング時間
によって得られる。
クラスタ書込み時間=8*セクタデータ転送時間+2*プログラミング時間
によって得られる。
図10に示された例では、クラスタ書込み時間は、
クラスタ書込み時間=5*セクタデータ転送時間+2*プログラミング時間
によって得られる。
クラスタ書込み時間=5*セクタデータ転送時間+2*プログラミング時間
によって得られる。
上記で詳細に説明したように、4つのフラッシュメモリアレイすべてにアクセスしており、その結果、電流レベルが高くなり(=4*アレイ電流)、同時に性能が最大になる。
図11を参照すると、電流を制御するために、一度にアクセスされるフラッシュメモリアレイの数を制限することのできる方法の、第1の実施形態が示されている。図を見るとわかるように、図11は、フラッシュアレイ0から3で、セクタデータを転送するため、およびプログラミングオペレーションを開始するための、パイプラインシーケンスを示す図であるが、アクティブなフラッシュメモリアレイの最大数は3に限定されている。図9および10を参照しながらセクタ0から2について記述したシーケンスが実行されるが、その後、アクティブアレイの数が3に限定され、したがってコントローラ16は、アレイのうちの少なくとも1つ、この場合はチップ0が完了するのを待つ。アクティブアレイの数が3より少なくなると必ず、セクタデータは、次のチップでの後続のプログラミングオペレーションのために即時に転送される。言い換えれば、任意のフラッシュアレイにアクセスする前に、この場合は3である許容制限に照らして、現在アクティブなアレイの数が必ずチェックされる。このようにして、電流レベルが調整される。
図11に示された例では、クラスタ時間は
クラスタ書込み時間=4*セクタデータ転送時間+3*プログラミング時間
となる。
クラスタ書込み時間=4*セクタデータ転送時間+3*プログラミング時間
となる。
同様に、アクティブアレイの数を2または1に制限することもできる。アクティブアレイ制限が2である4ウェイのインタリーブ型メモリシステム(図示せず)の場合と同様に、そのクラスタ時間は、
クラスタ書込み時間=5*セクタデータ転送時間+4*プログラミング時間
となる。
クラスタ書込み時間=5*セクタデータ転送時間+4*プログラミング時間
となる。
システム10のフラッシュメモリ20が、異なるフラッシュオペレーションについて異なる電気パラメータを有する場合、すなわち読取り、転送、プログラミング、および消去オペレーションについての電気パラメータがすべて異なる場合、電流の制御を実行する、より複雑な方法を使用することができる。話を簡単にするために、アレイは前述と同様に、0から3の順にプログラムされるものとする。チップが完了した時間を見つけるために、あらゆるアレイの状況が独立してポーリングされる。そうでない場合は、あらゆるアレイからの独立したレディ/ビジー信号を使用することができる。この方法は同じパイプライン方法を使用するが、電気レベルを制限するために、特別に故意の遅延を作成する。
フラッシュアクセス制御をパイプラインと組み合わせることで、フラッシュメモリ性能をかなり効率良く使用することが可能となり、電力を制限しながらも、フラッシュメモリ内でセクタデータを書き込む速度は依然として高速のままである。この方法によって、ほぼ常に、定義されたアクティブアレイの数、この場合は3が可能である。同じ方法を、読取りおよび消去などの、任意の他のフラッシュオペレーションに適用することができる。
アクティブメモリアレイの最大数は、書込み性能と電流レベルとの間の比率を定義するために、ホストによってフレキシブルに変更/プログラミングすることができる。一部のホストは、標準定義の電力管理機能を実行可能にすること、および電力消費と性能との間の妥協レベルを定義することによって、これが実施可能である。ただし、一部のホストシステムは、電流レベルの低い低速のメモリデバイスを好むことがあり、場合によっては、同じホストシステムが異なるオペレーティングモードで異なる性能と電力消費の組合せを好むことさえもある。これらの配置構成には、それぞれ、上記の方法を使用して応えることができる。
本発明の範囲を逸脱することなく、前述の配置構成に様々な修正を行うことができる。例えば、フラッシュディスクデバイスを組み込んだシステムを、システムアーキテクチャに従って、いくつかの方法で物理的に区分することができるが、すべてのシステムは通常、上記で述べた構造に準拠する。例えば、フラッシュメモリ20は、図2では、メモリシステム10の一部であるものとして示されているが、代わりに、リムーバブルカード上にあり、前述のような工業規格プロトコルに準拠した論理インタフェース14を介してホストシステムに接続されていてもよい。こうした工業規格の例が、PCMCIA ATA、CompactFlash、およびMultiMediaCardである。こうした配置構成では、コントローラはリムーバブルカード上にあってよく、この場合、コントローラは通常、単一の集積回路である。フラッシュメモリ10は1つまたは複数の集積回路からなり、コントローラは、フラッシュメモリと同じ集積回路上に統合することができる。
ホストおよびフラッシュシステムが物理的に区分され、その結果、フラッシュメモリのみがリムーバブルカード上にあって、ホストシステムへの物理インタフェースを有するような場合も可能である。この配置構成の階層が、図12に示されている。こうしたリムーバブルフラッシュメモリカードの一例が、SmartMedia(登録商標)である。コントローラはホストシステム11内に配置され、集積回路または、ホストシステム内のプロセッサによって実行されるファームウェアの形をとることができる。
あるいは、本発明の方法を、ホストシステムから物理的にリムーバブルでない組込み型メモリシステムで実施することもできる。こうしたシステムは、リムーバブルカード上のメモリシステムに使用されるものと同じ区画を有することが可能であり、コントローラは集積回路の形を取り、論理インタフェースは工業規格プロトコルに準拠している。ただし、コントローラは、ホストシステム内の他の機能と統合することも可能である。
記載された配置構成では、各セクタはLBAによって識別されるが、本来は磁気ディスクデバイスで使用されるシリンダ/ヘッド/セクタ(CHS)形式のアドレスによって識別することもできる。さらに記載された配置構成では、コントローラハードウェアは、別々の集積回路における専用アーキテクチャであるが、マイクロプロセッサなどのコントローラハードウェアの要素を、ホストシステム内の他の機能と共用することができる。さらに、循環記憶管理アルゴリズムをホストシステム内のマイクロプロセッサで実施するか、または、専用のコントローラハードウェアなしに、標準マイクロプロセッサ入出力ポートを介してプロセスを実行することができる。コントローラが組込み型メモリシステムの一部であり、そのマイクロプロセッサをホストシステムの他の機能と共用している場合、メモリシステムの制御のための論理インタフェースは、プロセッサによって実行されるファームウェア内で直接実施することが可能であり、これは、ハードウェアレジスタを削除して、ファームウェアコード内のホスト関数と呼ばれることのあるコントローラ関数に、変数を直接渡すことができることを意味する。
上記で述べたフラッシュメモリシステムでは、ホストまたはフラッシュインタフェースとSRAMとの間のデータ転送はDMAによって実行されるが、代替の実施形態では、セクタデータのバッファリング専用に、別のメモリブロックを使用することができる。通常、このメモリブロックは、ホストインタフェース制御ブロックおよびフラッシュインタフェース制御ブロックによる独立したアクセスがポートに割り振られた、デュアルポートRAMであってよい。
記載された配置構成では、メモリセクタが配置されたメモリブロックが、16のセクタ位置を含むフラッシュメモリ内の物理構造であるものとして記載されたが、これらのメモリブロックは、32のフラッシュ位置を含むことも可能である。さらに別法として、メモリブロックは、複数のフラッシュチップ、またはコントローラによる単一オペレーションで消去される同じチップ内にある複数の独立アレイにわたって分散された物理ブロックを含む、仮想ブロックであってもよい。仮想ブロックがM個の物理ブロックを含み、それぞれがN個のセクタ容量を備えている場合、仮想ブロックの容量はM*Nセクタである。仮想ブロックは、循環記憶媒体管理アルゴリズムによって、物理ブロックとまったく同様に扱われる。
また、メモリシステムのROMおよびコントローラの拡張ポートは、オプションの機能であり、含まれる必要はないことに留意されたい。
さらに上記では、フラッシュメモリ内の各アレイが完全なフラッシュチップであるものとして説明したが、各アレイは、何らかの512MビットのNANDフラッシュデザインなどの何らかのフラッシュチップが、1つのチップ内に複数のアレイを組み込むようなチップの構成部分であってよく、別々のセクタプログラムオペレーションをチップ内の異なるアレイで独立して開始することができる場合もある。説明では、フラッシュアレイ内のページがセクタと等価であるように記述してきたが、一部のANDフラッシュメモリチップでは、ページは4つのセクタを含み、2112バイトの容量を有するものであってよく、どちらの場合も、ページは単一のオペレーションでプログラミングされる。さらに、セクタデータの各グループは、ファイルの最初の4セクタデータであるように記載してきたが、別法として、ファイル断片であってもよい。さらにホストシステムは、メモリシステムにデータをクラスタ単位で書き込むことも可能であり、各クラスタは、単一セクタとしてメモリシステムに書き込まれるデータとは反対に、整数(integral number)グループとしてのコントローラのように扱われることになる。
本発明は、メモリシステムのマイクロプロセッサ上で動作するコンピュータプログラムによって実施される。本発明の一態様は、上記に記載された方法を実施するためにプロセッサを制御するための、プロセッサ実施可能命令を格納する記憶媒体を提供する。
Claims (13)
- 不揮発性メモリアレイを有する不揮発性メモリと、該不揮発性メモリアレイへのアクセスを制御するためのコントローラとを有し、該コントローラが複数の不揮発性メモリアレイにアクセス可能な不揮発性メモリシステムで使用するための不揮発性メモリ制御方法であって、
(a)前記不揮発性メモリはブロックに編成されており、
(b)前記コントローラが、リンクされたアレイそれぞれで同じアドレスを持つ対応するブロックが単一の仮想ブロックとして扱われるように、M個の不揮発性メモリアレイの対応するブロックをリンクし、
(c)前記コントローラが、前記不揮発性メモリアレイとの間でデータを転送するためのパイプラインシーケンスを実施し、前記仮想ブロック内においてN個(N<M)の不揮発性メモリアレイに順にデータ転送の命令を開始し、前記N個の不揮発性メモリアレイの最先の1つが前記命令を完了するまで待機した後に新たな不揮発性メモリアレイへの前記命令を開始する
ことを特徴とする不揮発性メモリ制御方法。 - 前記ステップ(c)において、前記コントローラはNを可変可能である
ことを特徴とする請求項1に記載の不揮発性メモリ制御方法。 - 前記メモリシステムにホストが接続されており、前記ステップ(c)において、前記コントローラは該ホストからの指示によりNを可変可能である
ことを特徴とする請求項2に記載の不揮発性メモリ制御方法。 - 前記ステップ(c)において、前記コントローラは各不揮発性メモリアレイにポーリングし前記命令の完了を検知する
ことを特徴とする請求項1乃至3のいずれかに記載の不揮発性メモリ制御方法。 - 前記ステップ(c)において、前記コントローラは各不揮発性メモリアレイからのレディ/ビジー信号を使用し前記命令の完了を検知する
ことを特徴とする請求項1乃至3のいずれかに記載の不揮発性メモリ制御方法。 - 前記ステップ(c)において、前記コントローラは前記M個の不揮発性メモリアレイのうちの同じ不揮発性メモリアレイに重複して前記命令を開始しない
ことを特徴とする請求項1乃至5のいずれかに記載の不揮発性メモリ制御方法。 - 請求項1乃至6のいずれかに記載の不揮発性メモリ制御方法を実行するためにプロセッサを制御するためのプロセッサ実施可能命令を格納したことを特徴とするコンピュータ読み取り可能な記録媒体。
- 不揮発性メモリアレイを有する不揮発性メモリと、該不揮発性メモリアレイへのアクセスを制御するためのコントローラとを有し、該コントローラが複数の不揮発性メモリアレイにアクセス可能な不揮発性メモリシステムであって、
前記不揮発性メモリはブロックに編成されており、
前記不揮発性メモリシステムは、
前記コントローラが、リンクされたアレイそれぞれで同じアドレスを持つ対応するブロックが単一の仮想ブロックとして扱われるように、M個の不揮発性メモリアレイの対応するブロックをリンクする、リンク手段と、
前記コントローラが、前記不揮発性メモリアレイとの間でデータを転送するためのパイプラインシーケンスを実施するパイプラインシーケンス手段であって、前記仮想ブロック内においてN個(N<M)の不揮発性メモリアレイに順にデータ転送の命令を開始し、前記N個の不揮発性メモリアレイの最先の1つが前記命令を完了するまで待機した後に新たな不揮発性メモリアレイへの前記命令を開始する、パイプラインシーケンス手段とを備えた
ことを特徴とする不揮発性メモリシステム。 - 前記パイプラインシーケンス手段は、前記コントローラがNを可変可能である
ことを特徴とする請求項8に記載の不揮発性メモリシステム。 - 前記メモリシステムにホストが接続されており、前記パイプラインシーケンス手段は、前記コントローラが該ホストからの指示によりNを可変可能である
ことを特徴とする請求項9に記載の不揮発性メモリシステム。 - 前記パイプラインシーケンス手段は、前記コントローラが各不揮発性メモリアレイにポーリングし前記命令の完了を検知する
ことを特徴とする請求項8乃至10のいずれかに記載の不揮発性メモリシステム。 - 前記パイプラインシーケンス手段は、前記コントローラが各不揮発性メモリアレイからのレディ/ビジー信号を使用し前記命令の完了を検知する
ことを特徴とする請求項8乃至10のいずれかに記載の不揮発性メモリシステム。 - 前記パイプラインシーケンス手段は、前記コントローラが前記M個の不揮発性メモリアレイのうちの同じ不揮発性メモリアレイに重複して前記命令を開始しない
ことを特徴とする請求項8乃至12のいずれかに記載の不揮発性メモリシステム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0123416.0A GB0123416D0 (en) | 2001-09-28 | 2001-09-28 | Non-volatile memory control |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533096A Division JP2005504388A (ja) | 2001-09-28 | 2002-09-27 | 不揮発性メモリ制御 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007048307A true JP2007048307A (ja) | 2007-02-22 |
Family
ID=9922931
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533096A Pending JP2005504388A (ja) | 2001-09-28 | 2002-09-27 | 不揮発性メモリ制御 |
JP2006260795A Pending JP2007048307A (ja) | 2001-09-28 | 2006-09-26 | 不揮発性メモリ制御 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003533096A Pending JP2005504388A (ja) | 2001-09-28 | 2002-09-27 | 不揮発性メモリ制御 |
Country Status (5)
Country | Link |
---|---|
US (4) | US6751155B2 (ja) |
EP (2) | EP1451673B1 (ja) |
JP (2) | JP2005504388A (ja) |
GB (2) | GB0123416D0 (ja) |
WO (1) | WO2003029951A2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211232A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2010067263A (ja) * | 2008-07-18 | 2010-03-25 | Marvell World Trade Ltd | メモリへの選択的アクセス |
Families Citing this family (205)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845313A (en) * | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US8171203B2 (en) | 1995-07-31 | 2012-05-01 | Micron Technology, Inc. | Faster write operations to nonvolatile memory using FSInfo sector manipulation |
US7167944B1 (en) | 2000-07-21 | 2007-01-23 | Lexar Media, Inc. | Block management for mass storage |
GB0123421D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Power management system |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
US7231643B1 (en) | 2002-02-22 | 2007-06-12 | Lexar Media, Inc. | Image rescue system including direct communication between an application program and a device driver |
US7752294B2 (en) * | 2002-10-28 | 2010-07-06 | Netapp, Inc. | Method and system for dynamic expansion and contraction of nodes in a storage area network |
US6944063B2 (en) | 2003-01-28 | 2005-09-13 | Sandisk Corporation | Non-volatile semiconductor memory with large erase blocks storing cycle counts |
US20050185465A1 (en) * | 2003-03-11 | 2005-08-25 | Fujitsu Limited | Memory device |
KR100546348B1 (ko) * | 2003-07-23 | 2006-01-26 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그 데이터 저장 방법 |
DE10346144A1 (de) * | 2003-10-01 | 2005-04-28 | Bosch Rexroth Ag | Verfahren zur Istwertspeicherung |
DE10353938A1 (de) * | 2003-11-18 | 2005-06-23 | Fresenius Medical Care Deutschland Gmbh | Sensorkarte zur Bestimmung von Analyten in Flüssigkeits- oder Gasproben und Verfahren zur Herstellung einer solchen Sensorkarte |
US7433993B2 (en) | 2003-12-30 | 2008-10-07 | San Disk Corportion | Adaptive metablocks |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
CN100433195C (zh) * | 2003-12-31 | 2008-11-12 | 深圳市朗科科技股份有限公司 | 闪存介质数据写入方法 |
US7484070B1 (en) | 2004-01-09 | 2009-01-27 | Conexant Systems, Inc. | Selective memory block remapping |
CN1926616B (zh) * | 2004-01-19 | 2011-09-14 | 特科2000国际有限公司 | 使用存储器地址映射表的便携式数据存储设备 |
US7725628B1 (en) | 2004-04-20 | 2010-05-25 | Lexar Media, Inc. | Direct secondary device interface by a host |
US7370166B1 (en) | 2004-04-30 | 2008-05-06 | Lexar Media, Inc. | Secure portable storage device |
US7490283B2 (en) | 2004-05-13 | 2009-02-10 | Sandisk Corporation | Pipelined data relocation and improved chip architectures |
US7194596B2 (en) * | 2004-06-09 | 2007-03-20 | Simpletech Global Limited | Method of efficient data management with flash storage system |
US7177782B2 (en) * | 2004-06-18 | 2007-02-13 | Lenovo (Singapore) Pte. Ltd. | Methods and arrangements for capturing runtime information |
US8090916B2 (en) * | 2004-06-29 | 2012-01-03 | Macronix International Co., Ltd. | In-circuit programming architecture with processor and delegable flash controller |
US7406559B2 (en) * | 2004-08-23 | 2008-07-29 | Macronix International Co., Ltd. | In-circuit programming architecture with processor, delegable flash controller, and code generator |
US7464306B1 (en) | 2004-08-27 | 2008-12-09 | Lexar Media, Inc. | Status of overall health of nonvolatile memory |
US7594063B1 (en) | 2004-08-27 | 2009-09-22 | Lexar Media, Inc. | Storage capacity status |
JP2008033379A (ja) * | 2004-11-10 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置 |
US7565469B2 (en) * | 2004-11-17 | 2009-07-21 | Nokia Corporation | Multimedia card interface method, computer program product and apparatus |
US7120051B2 (en) | 2004-12-14 | 2006-10-10 | Sandisk Corporation | Pipelined programming of non-volatile memories using early data |
US7409473B2 (en) | 2004-12-21 | 2008-08-05 | Sandisk Corporation | Off-chip data relocation |
US7849381B2 (en) | 2004-12-21 | 2010-12-07 | Sandisk Corporation | Method for copying data in reprogrammable non-volatile memory |
DE102004062592B3 (de) * | 2004-12-24 | 2006-06-08 | Leica Microsystems Jena Gmbh | System zur Untersuchung eines scheibenförmigen Substrats |
US7212440B2 (en) | 2004-12-30 | 2007-05-01 | Sandisk Corporation | On-chip data grouping and alignment |
JP2006195569A (ja) * | 2005-01-11 | 2006-07-27 | Sony Corp | 記憶装置 |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
US9104315B2 (en) * | 2005-02-04 | 2015-08-11 | Sandisk Technologies Inc. | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage |
US9384818B2 (en) | 2005-04-21 | 2016-07-05 | Violin Memory | Memory power management |
US8200887B2 (en) * | 2007-03-29 | 2012-06-12 | Violin Memory, Inc. | Memory management system and method |
KR100666174B1 (ko) * | 2005-04-27 | 2007-01-09 | 삼성전자주식회사 | 3-레벨 불휘발성 반도체 메모리 장치 및 이에 대한구동방법 |
US7400549B2 (en) * | 2005-04-28 | 2008-07-15 | Micron Technology, Inc. | Memory block reallocation in a flash memory device |
US7748031B2 (en) | 2005-07-08 | 2010-06-29 | Sandisk Corporation | Mass storage device with automated credentials loading |
US7627733B2 (en) * | 2005-08-03 | 2009-12-01 | Sandisk Corporation | Method and system for dual mode access for storage devices |
US20070061597A1 (en) | 2005-09-14 | 2007-03-15 | Micky Holtzman | Secure yet flexible system architecture for secure devices with flash mass storage memory |
US8291295B2 (en) * | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7631245B2 (en) * | 2005-09-26 | 2009-12-08 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US7631162B2 (en) | 2005-10-27 | 2009-12-08 | Sandisck Corporation | Non-volatile memory with adaptive handling of data writes |
US7509471B2 (en) | 2005-10-27 | 2009-03-24 | Sandisk Corporation | Methods for adaptively handling data writes in non-volatile memories |
US7793068B2 (en) * | 2005-12-21 | 2010-09-07 | Sandisk Corporation | Dual mode access for non-volatile storage devices |
US7769978B2 (en) * | 2005-12-21 | 2010-08-03 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7747837B2 (en) | 2005-12-21 | 2010-06-29 | Sandisk Corporation | Method and system for accessing non-volatile storage devices |
US7423915B2 (en) * | 2006-01-17 | 2008-09-09 | Spansion Llc | Random cache read using a double memory |
US7809994B2 (en) * | 2006-05-17 | 2010-10-05 | Sandisk Corporation | Error correction coding for multiple-sector pages in flash memory devices |
US20070300130A1 (en) * | 2006-05-17 | 2007-12-27 | Sandisk Corporation | Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices |
JP4700562B2 (ja) | 2006-05-18 | 2011-06-15 | 株式会社バッファロー | データ記憶装置およびデータ記憶方法 |
US20080005449A1 (en) * | 2006-07-03 | 2008-01-03 | Phison Electronics Corp. | Generalized flash memory and method thereof |
KR100781196B1 (ko) * | 2006-07-27 | 2007-12-03 | 트렉 2000 인터네셔널 엘티디. | 메모리 어드레스 맵핑 테이블을 이용한 휴대용 데이터 저장장치 |
US7280398B1 (en) * | 2006-08-31 | 2007-10-09 | Micron Technology, Inc. | System and memory for sequential multi-plane page memory operations |
US7526619B1 (en) * | 2006-09-05 | 2009-04-28 | Nvidia Corporation | Method for providing emulated flexible magnetic storage medium using network storage services |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US8935302B2 (en) | 2006-12-06 | 2015-01-13 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8151082B2 (en) * | 2007-12-06 | 2012-04-03 | Fusion-Io, Inc. | Apparatus, system, and method for converting a storage request into an append data storage command |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US8074011B2 (en) * | 2006-12-06 | 2011-12-06 | Fusion-Io, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit |
CN101681282A (zh) | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
US9116823B2 (en) | 2006-12-06 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for adaptive error-correction coding |
US8161353B2 (en) | 2007-12-06 | 2012-04-17 | Fusion-Io, Inc. | Apparatus, system, and method for validating that a correct data segment is read from a data storage device |
US9495241B2 (en) | 2006-12-06 | 2016-11-15 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for adaptive data storage |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US7710777B1 (en) | 2006-12-20 | 2010-05-04 | Marvell International Ltd. | Semi-volatile NAND flash memory |
CN101611387B (zh) * | 2007-01-10 | 2013-03-13 | 移动半导体公司 | 用于增强外部计算设备的性能的自适应存储设备及方法 |
US20080189479A1 (en) * | 2007-02-02 | 2008-08-07 | Sigmatel, Inc. | Device, system and method for controlling memory operations |
US8713283B2 (en) * | 2007-06-08 | 2014-04-29 | Sandisk Technologies Inc. | Method of interfacing a host operating through a logical address space with a direct file storage medium |
US8122322B2 (en) | 2007-07-31 | 2012-02-21 | Seagate Technology Llc | System and method of storing reliability data |
WO2009039222A2 (en) * | 2007-09-19 | 2009-03-26 | Marvell World Trade Ltd. | Flexible sequencer design architecture for solid state memory controller |
KR101391881B1 (ko) * | 2007-10-23 | 2014-05-07 | 삼성전자주식회사 | 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 및 읽기방법 |
US8316277B2 (en) | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US8195912B2 (en) * | 2007-12-06 | 2012-06-05 | Fusion-io, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses |
US7971023B2 (en) * | 2008-04-30 | 2011-06-28 | Sandisk Corporation | Guaranteed memory card performance to end-of-life |
TWI374666B (en) * | 2008-10-29 | 2012-10-11 | Myson Century Inc | On-screen display circuit and method for controlling the same |
US8700840B2 (en) * | 2009-01-05 | 2014-04-15 | SanDisk Technologies, Inc. | Nonvolatile memory with write cache having flush/eviction methods |
US8040744B2 (en) * | 2009-01-05 | 2011-10-18 | Sandisk Technologies Inc. | Spare block management of non-volatile memories |
US20100174845A1 (en) * | 2009-01-05 | 2010-07-08 | Sergey Anatolievich Gorobets | Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques |
US8244960B2 (en) * | 2009-01-05 | 2012-08-14 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partition management methods |
US8094500B2 (en) * | 2009-01-05 | 2012-01-10 | Sandisk Technologies Inc. | Non-volatile memory and method with write cache partitioning |
US8255615B1 (en) | 2009-01-08 | 2012-08-28 | Marvell International Ltd. | Flexible sequence design architecture for solid state memory controller |
CA2749799C (en) | 2009-01-15 | 2018-05-29 | Electronic Warfare Associates, Inc. | Systems and methods of implementing remote boundary scan features |
US9323658B2 (en) * | 2009-06-02 | 2016-04-26 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Multi-mapped flash RAID |
KR20100133184A (ko) * | 2009-06-11 | 2010-12-21 | 삼성전자주식회사 | 고체 상태 드라이브 장치 |
KR101606880B1 (ko) * | 2009-06-22 | 2016-03-28 | 삼성전자주식회사 | 데이터 저장 시스템 및 그것의 채널 구동 방법 |
US20110010485A1 (en) * | 2009-07-08 | 2011-01-13 | Hou-Yuan Lin | Flash Memory Control Device |
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 |
US20110040924A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code |
US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US20110041039A1 (en) * | 2009-08-11 | 2011-02-17 | Eliyahou Harari | Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device |
WO2011031796A2 (en) | 2009-09-08 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for caching data on a solid-state storage device |
WO2011031903A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for allocating storage |
US9122579B2 (en) | 2010-01-06 | 2015-09-01 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for a storage layer |
US8289801B2 (en) | 2009-09-09 | 2012-10-16 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
US9021158B2 (en) | 2009-09-09 | 2015-04-28 | SanDisk Technologies, Inc. | Program suspend/resume for memory |
US8972627B2 (en) | 2009-09-09 | 2015-03-03 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
KR101056258B1 (ko) * | 2009-09-14 | 2011-08-11 | 삼성모바일디스플레이주식회사 | 유기전계발광 표시장치 및 그의 구동방법 |
US8335123B2 (en) | 2009-11-20 | 2012-12-18 | Sandisk Technologies Inc. | Power management of memory systems |
US8661184B2 (en) | 2010-01-27 | 2014-02-25 | Fusion-Io, Inc. | Managing non-volatile media |
JP2011154556A (ja) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | 半導体記憶装置 |
US8854882B2 (en) | 2010-01-27 | 2014-10-07 | Intelligent Intellectual Property Holdings 2 Llc | Configuring storage cells |
US9245653B2 (en) | 2010-03-15 | 2016-01-26 | Intelligent Intellectual Property Holdings 2 Llc | Reduced level cell mode for non-volatile memory |
WO2011128928A1 (en) * | 2010-04-12 | 2011-10-20 | Hitachi, Ltd. | Storage device |
WO2011143628A2 (en) | 2010-05-13 | 2011-11-17 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8522055B2 (en) | 2010-07-26 | 2013-08-27 | Apple Inc. | Peak power validation methods and systems for non-volatile memory |
US8555095B2 (en) | 2010-07-26 | 2013-10-08 | Apple Inc. | Methods and systems for dynamically controlling operations in a non-volatile memory to limit power consumption |
US8826051B2 (en) | 2010-07-26 | 2014-09-02 | Apple Inc. | Dynamic allocation of power budget to a system having non-volatile memory and a processor |
WO2012016089A2 (en) | 2010-07-28 | 2012-02-02 | Fusion-Io, Inc. | Apparatus, system, and method for conditional and atomic storage operations |
US8725934B2 (en) | 2011-12-22 | 2014-05-13 | Fusion-Io, Inc. | Methods and appratuses for atomic storage operations |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
WO2012082792A2 (en) | 2010-12-13 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for auto-commit memory |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
WO2012087971A2 (en) | 2010-12-20 | 2012-06-28 | Marvell World Trade Ltd. | Descriptor scheduler |
US9213594B2 (en) | 2011-01-19 | 2015-12-15 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for managing out-of-service conditions |
WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
US9141527B2 (en) | 2011-02-25 | 2015-09-22 | Intelligent Intellectual Property Holdings 2 Llc | Managing cache pools |
US20120221767A1 (en) | 2011-02-28 | 2012-08-30 | Apple Inc. | Efficient buffering for a system having non-volatile memory |
WO2012129191A2 (en) | 2011-03-18 | 2012-09-27 | Fusion-Io, Inc. | Logical interfaces for contextual storage |
US9563555B2 (en) | 2011-03-18 | 2017-02-07 | Sandisk Technologies Llc | Systems and methods for storage allocation |
US8595426B2 (en) * | 2011-04-11 | 2013-11-26 | Sandisk Il Ltd. | Handling commands within a write-once read-many storage device configuration |
TWI557746B (zh) * | 2011-05-10 | 2016-11-11 | 電子戰協會公司 | 實施微電腦為基的電路之內容驗證的系統及方法 |
US8645723B2 (en) | 2011-05-11 | 2014-02-04 | Apple Inc. | Asynchronous management of access requests to control power consumption |
US8694719B2 (en) | 2011-06-24 | 2014-04-08 | Sandisk Technologies Inc. | Controller, storage device, and method for power throttling memory operations |
TWI546692B (zh) | 2011-10-27 | 2016-08-21 | 電子戰協會公司 | 包括與已知電路板資訊有關之電路測試及驗證等特徵的裝置鑑別之系統及方法 |
US10133662B2 (en) | 2012-06-29 | 2018-11-20 | Sandisk Technologies Llc | Systems, methods, and interfaces for managing persistent data of atomic storage operations |
US9274937B2 (en) | 2011-12-22 | 2016-03-01 | Longitude Enterprise Flash S.A.R.L. | Systems, methods, and interfaces for vector input/output operations |
US8782344B2 (en) | 2012-01-12 | 2014-07-15 | Fusion-Io, Inc. | Systems and methods for managing cache admission |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
ITMI20120595A1 (it) * | 2012-04-12 | 2013-10-13 | St Microelectronics Srl | Gestione della cancellazione di pagine operative di un dispositivo di memoria flash tramite pagine di servizio |
CN104246732A (zh) * | 2012-06-28 | 2014-12-24 | 惠普发展公司,有限责任合伙企业 | 具有双端口缓冲器的存储器模块 |
US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
KR102012740B1 (ko) | 2012-07-18 | 2019-08-21 | 삼성전자주식회사 | 복수의 불휘발성 메모리 칩들을 포함하는 저장 장치 및 그것의 제어 방법 |
US10346095B2 (en) | 2012-08-31 | 2019-07-09 | Sandisk Technologies, Llc | Systems, methods, and interfaces for adaptive cache persistence |
US10509776B2 (en) | 2012-09-24 | 2019-12-17 | Sandisk Technologies Llc | Time sequence data management |
US10318495B2 (en) | 2012-09-24 | 2019-06-11 | Sandisk Technologies Llc | Snapshots for a non-volatile device |
US9146688B2 (en) | 2012-12-05 | 2015-09-29 | SanDisk Technologies, Inc. | Advanced groomer for storage array |
US9430339B1 (en) | 2012-12-27 | 2016-08-30 | Marvell International Ltd. | Method and apparatus for using wear-out blocks in nonvolatile memory |
US8995571B2 (en) * | 2013-03-14 | 2015-03-31 | Analog Devices Global | Baseband digital pre-distortion architecture |
US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
US10102144B2 (en) | 2013-04-16 | 2018-10-16 | Sandisk Technologies Llc | Systems, methods and interfaces for data virtualization |
US10558561B2 (en) | 2013-04-16 | 2020-02-11 | Sandisk Technologies Llc | Systems and methods for storage metadata management |
US9842128B2 (en) | 2013-08-01 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for atomic storage operations |
US10019320B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for distributed atomic storage operations |
US10019352B2 (en) | 2013-10-18 | 2018-07-10 | Sandisk Technologies Llc | Systems and methods for adaptive reserve storage |
US10073630B2 (en) | 2013-11-08 | 2018-09-11 | Sandisk Technologies Llc | Systems and methods for log coordination |
US9245590B2 (en) | 2014-02-28 | 2016-01-26 | Winbond Electronics Corporation | Stacked die flash memory device with serial peripheral interface |
US9666244B2 (en) | 2014-03-01 | 2017-05-30 | Fusion-Io, Inc. | Dividing a storage procedure |
US9214211B2 (en) | 2014-05-15 | 2015-12-15 | Winbond Electronics Corporation | Methods of and apparatus for determining unique die identifiers for multiple memory die within a common package |
US10114562B2 (en) | 2014-09-16 | 2018-10-30 | Sandisk Technologies Llc | Adaptive block allocation in nonvolatile memory |
US9933950B2 (en) | 2015-01-16 | 2018-04-03 | Sandisk Technologies Llc | Storage operation interrupt |
US9946607B2 (en) | 2015-03-04 | 2018-04-17 | Sandisk Technologies Llc | Systems and methods for storage error management |
JP5889462B2 (ja) * | 2015-03-26 | 2016-03-22 | 株式会社日立製作所 | 半導体装置、不揮発性メモリ装置の制御方法 |
US9772777B2 (en) * | 2015-04-27 | 2017-09-26 | Southwest Research Institute | Systems and methods for improved access to flash memory devices |
US10009438B2 (en) | 2015-05-20 | 2018-06-26 | Sandisk Technologies Llc | Transaction log acceleration |
JP6627346B2 (ja) * | 2015-09-09 | 2020-01-08 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよびメモリ制御方法 |
US11120884B2 (en) | 2015-09-30 | 2021-09-14 | Sunrise Memory Corporation | Implementing logic function and generating analog signals using NOR memory strings |
US9892800B2 (en) | 2015-09-30 | 2018-02-13 | Sunrise Memory Corporation | Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates |
US9842651B2 (en) | 2015-11-25 | 2017-12-12 | Sunrise Memory Corporation | Three-dimensional vertical NOR flash thin film transistor strings |
US10120583B2 (en) * | 2016-06-07 | 2018-11-06 | Facebook, Inc. | Performance penalty avoidance for solid state drive |
US9817593B1 (en) | 2016-07-11 | 2017-11-14 | Sandisk Technologies Llc | Block management in non-volatile memory system with non-blocking control sync system |
US10608008B2 (en) | 2017-06-20 | 2020-03-31 | Sunrise Memory Corporation | 3-dimensional nor strings with segmented shared source regions |
US10692874B2 (en) | 2017-06-20 | 2020-06-23 | Sunrise Memory Corporation | 3-dimensional NOR string arrays in segmented stacks |
JP7203054B2 (ja) | 2017-06-20 | 2023-01-12 | サンライズ メモリー コーポレイション | 3次元nor型メモリアレイアーキテクチャ及びその製造方法 |
US11593262B1 (en) | 2018-04-25 | 2023-02-28 | Seagate Technology Llc | Garbage collection command scheduling |
US10922014B1 (en) | 2018-06-05 | 2021-02-16 | Seagate Technology Llc | Die access order variation |
TWI713195B (zh) | 2018-09-24 | 2020-12-11 | 美商森恩萊斯記憶體公司 | 三維nor記憶電路製程中之晶圓接合及其形成之積體電路 |
US10795576B2 (en) * | 2018-11-01 | 2020-10-06 | Micron Technology, Inc. | Data relocation in memory |
JP7425069B2 (ja) | 2019-01-30 | 2024-01-30 | サンライズ メモリー コーポレイション | 基板接合を用いた高帯域幅・大容量メモリ組み込み型電子デバイス |
US11515309B2 (en) | 2019-12-19 | 2022-11-29 | Sunrise Memory Corporation | Process for preparing a channel region of a thin-film transistor in a 3-dimensional thin-film transistor array |
CN115413367A (zh) | 2020-02-07 | 2022-11-29 | 日升存储公司 | 具有低有效延迟的高容量存储器电路 |
WO2021173572A1 (en) | 2020-02-24 | 2021-09-02 | Sunrise Memory Corporation | Channel controller for shared memory access |
US11507301B2 (en) | 2020-02-24 | 2022-11-22 | Sunrise Memory Corporation | Memory module implementing memory centric architecture |
US11508693B2 (en) * | 2020-02-24 | 2022-11-22 | Sunrise Memory Corporation | High capacity memory module including wafer-section memory circuit |
CN111208713B (zh) * | 2020-03-17 | 2022-08-16 | 合肥芯碁微电子装备股份有限公司 | 处理曝光图形数据的方法、曝光控制单元和直写式曝光机 |
WO2022108848A1 (en) | 2020-11-17 | 2022-05-27 | Sunrise Memory Corporation | Methods for reducing disturb errors by refreshing data alongside programming or erase operations |
US11848056B2 (en) | 2020-12-08 | 2023-12-19 | Sunrise Memory Corporation | Quasi-volatile memory with enhanced sense amplifier operation |
WO2022173700A1 (en) | 2021-02-10 | 2022-08-18 | Sunrise Memory Corporation | Memory interface with configurable high-speed serial data lanes for high bandwidth memory |
TW202310429A (zh) | 2021-07-16 | 2023-03-01 | 美商日升存儲公司 | 薄膜鐵電電晶體的三維記憶體串陣列 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
JPH10320512A (ja) * | 1997-05-16 | 1998-12-04 | Oki Electric Ind Co Ltd | 不揮発性半導体ディスク装置 |
WO2000049488A1 (en) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Memory system |
Family Cites Families (288)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4198380A (en) * | 1975-11-24 | 1980-04-15 | Rockwell International Corporation | Absorption of sulfur oxides from hot gases |
JPS52130536A (en) | 1976-04-26 | 1977-11-01 | Toshiba Corp | Semiconductor memory unit |
US4099069A (en) | 1976-10-08 | 1978-07-04 | Westinghouse Electric Corp. | Circuit producing a common clear signal for erasing selected arrays in a mnos memory system |
US4398248A (en) | 1980-10-20 | 1983-08-09 | Mcdonnell Douglas Corporation | Adaptive WSI/MNOS solid state memory system |
GB2020437B (en) | 1978-04-14 | 1982-08-04 | Seiko Instr & Electronics | Voltage detecting circuit |
US4210959A (en) | 1978-05-10 | 1980-07-01 | Apple Computer, Inc. | Controller for magnetic disc, recorder, or the like |
FR2426938A1 (fr) | 1978-05-26 | 1979-12-21 | Cii Honeywell Bull | Dispositif de detection de secteurs defectueux et d'allocation de secteurs de remplacement dans une memoire a disques |
JPS559260A (en) | 1978-07-03 | 1980-01-23 | Nec Corp | Information processing system |
US4532590A (en) | 1980-04-25 | 1985-07-30 | Data General Corporation | Data processing system having a unique address translation unit |
US4355376A (en) | 1980-09-30 | 1982-10-19 | Burroughs Corporation | Apparatus and method for utilizing partially defective memory devices |
JPS5764383A (en) | 1980-10-03 | 1982-04-19 | Toshiba Corp | Address converting method and its device |
JPS57132256A (en) | 1981-02-09 | 1982-08-16 | Sony Corp | Memory device |
JPS5877034A (ja) | 1981-10-30 | 1983-05-10 | Hitachi Ltd | 記録方法 |
US4473878A (en) | 1981-11-23 | 1984-09-25 | Motorola, Inc. | Memory management unit |
US4476526A (en) | 1981-11-27 | 1984-10-09 | Storage Technology Corporation | Cache buffered memory subsystem |
US4468730A (en) | 1981-11-27 | 1984-08-28 | Storage Technology Corporation | Detection of sequential data stream for improvements in cache data storage |
US4450559A (en) | 1981-12-24 | 1984-05-22 | International Business Machines Corporation | Memory system with selective assignment of spare locations |
US4498146A (en) | 1982-07-30 | 1985-02-05 | At&T Bell Laboratories | Management of defects in storage media |
US4710871A (en) | 1982-11-01 | 1987-12-01 | Ncr Corporation | Data transmitting and receiving apparatus |
US4609833A (en) | 1983-08-12 | 1986-09-02 | Thomson Components-Mostek Corporation | Simple NMOS voltage reference circuit |
US4896262A (en) | 1984-02-24 | 1990-01-23 | Kabushiki Kaisha Meidensha | Emulation device for converting magnetic disc memory mode signal from computer into semiconductor memory access mode signal for semiconductor memory |
JPS618798A (ja) | 1984-06-21 | 1986-01-16 | Nec Corp | 不揮発性記憶装置 |
JPS6180597A (ja) | 1984-09-26 | 1986-04-24 | Hitachi Ltd | 半導体記憶装置 |
US4654847A (en) | 1984-12-28 | 1987-03-31 | International Business Machines | Apparatus for automatically correcting erroneous data and for storing the corrected data in a common pool alternate memory array |
JPS61208673A (ja) | 1985-03-12 | 1986-09-17 | Matsushita Electric Ind Co Ltd | 情報記録再生装置 |
US4744062A (en) | 1985-04-23 | 1988-05-10 | Hitachi, Ltd. | Semiconductor integrated circuit with nonvolatile memory |
US4829169A (en) | 1985-07-01 | 1989-05-09 | Toppan Moore Company, Inc. | IC card having state marker for record access |
JPH0635227B2 (ja) | 1985-07-31 | 1994-05-11 | トツパン・ム−ア株式会社 | 更新情報と履歴情報の読出し手段を有するicカ−ド |
JPS62102482A (ja) | 1985-10-28 | 1987-05-12 | Matsushita Electric Ind Co Ltd | 情報記録再生装置 |
US4800520A (en) | 1985-10-29 | 1989-01-24 | Kabushiki Kaisha Toshiba | Portable electronic device with garbage collection function |
JP2664137B2 (ja) | 1985-10-29 | 1997-10-15 | 凸版印刷株式会社 | Icカード |
US4752893A (en) * | 1985-11-06 | 1988-06-21 | Texas Instruments Incorporated | Graphics data processing apparatus having image operations with transparent color having a selectable number of bits |
US4746998A (en) | 1985-11-20 | 1988-05-24 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
US4924331A (en) | 1985-11-20 | 1990-05-08 | Seagate Technology, Inc. | Method for mapping around defective sectors in a disc drive |
DE3640238A1 (de) | 1985-11-30 | 1987-06-25 | Toshiba Kawasaki Kk | Tragbare elektronische vorrichtung |
US4757474A (en) | 1986-01-28 | 1988-07-12 | Fujitsu Limited | Semiconductor memory device having redundancy circuit portion |
SU1388877A1 (ru) | 1986-09-16 | 1988-04-15 | Таганрогский радиотехнический институт им.В.Д.Калмыкова | Устройство дл адресации блоков пам ти |
SU1408439A1 (ru) | 1986-10-20 | 1988-07-07 | Предприятие П/Я В-2129 | Устройство адресации дл автоматической конфигурации пам ти ЭВМ |
US4953122A (en) | 1986-10-31 | 1990-08-28 | Laserdrive Ltd. | Pseudo-erasable and rewritable write-once optical disk memory system |
JPS63198567U (ja) | 1987-06-12 | 1988-12-21 | ||
JPS6473430A (en) | 1987-09-14 | 1989-03-17 | Hudson Soft Co Ltd | Memory access control device |
US4870643A (en) * | 1987-11-06 | 1989-09-26 | Micropolis Corporation | Parallel drive array storage system |
JPH081760B2 (ja) | 1987-11-17 | 1996-01-10 | 三菱電機株式会社 | 半導体記憶装置 |
JPH01137817A (ja) | 1987-11-25 | 1989-05-30 | Toshiba Corp | 遅延回路 |
SU1515164A1 (ru) | 1988-01-12 | 1989-10-15 | Предприятие П/Я Г-4493 | Устройство дл адресации к пам ти |
SU1541619A1 (ru) | 1988-05-30 | 1990-02-07 | Предприятие П/Я Г-4173 | Устройство дл формировани адреса |
US5268870A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Flash EEPROM system and intelligent programming and erasing methods therefor |
US5198380A (en) | 1988-06-08 | 1993-03-30 | Sundisk Corporation | Method of highly compact EPROM and flash EEPROM devices |
US5168465A (en) | 1988-06-08 | 1992-12-01 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5268319A (en) * | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5268318A (en) | 1988-06-08 | 1993-12-07 | Eliyahou Harari | Highly compact EPROM and flash EEPROM devices |
US5293560A (en) | 1988-06-08 | 1994-03-08 | Eliyahou Harari | Multi-state flash EEPROM system using incremental programing and erasing methods |
US4914529A (en) | 1988-07-18 | 1990-04-03 | Western Digital Corp. | Data disk defect handling using relocation ID fields |
US5070474A (en) | 1988-07-26 | 1991-12-03 | Disk Emulation Systems, Inc. | Disk emulation system |
US5253351A (en) | 1988-08-11 | 1993-10-12 | Hitachi, Ltd. | Memory controller with a cache memory and control method of cache memory including steps of determining memory access threshold values |
SU1573458A2 (ru) | 1988-09-26 | 1990-06-23 | Войсковая Часть 32103 | Устройство дл адресации |
US5217917A (en) * | 1990-03-20 | 1993-06-08 | Hitachi, Ltd. | Semiconductor memory device with improved substrate arrangement to permit forming a plurality of different types of random access memory, and a testing method therefor |
US5535328A (en) * | 1989-04-13 | 1996-07-09 | Sandisk Corporation | Non-volatile memory system card with flash erasable sectors of EEprom cells including a mechanism for substituting defective cells |
EP1031992B1 (en) * | 1989-04-13 | 2006-06-21 | SanDisk Corporation | Flash EEPROM system |
US5226168A (en) | 1989-04-25 | 1993-07-06 | Seiko Epson Corporation | Semiconductor memory configured to emulate floppy and hard disk magnetic storage based upon a determined storage capacity of the semiconductor memory |
US5200959A (en) | 1989-10-17 | 1993-04-06 | Sundisk Corporation | Device and method for defect handling in semi-conductor memory |
SU1686449A2 (ru) | 1989-10-23 | 1991-10-23 | Войсковая Часть 32103 | Устройство дл адресации |
US5247658A (en) | 1989-10-31 | 1993-09-21 | Microsoft Corporation | Method and system for traversing linked list record based upon write-once predetermined bit value of secondary pointers |
US5218695A (en) | 1990-02-05 | 1993-06-08 | Epoch Systems, Inc. | File server system having high-speed write execution |
US5220518A (en) | 1990-06-07 | 1993-06-15 | Vlsi Technology, Inc. | Integrated circuit memory with non-binary array configuration |
US5303198A (en) | 1990-09-28 | 1994-04-12 | Fuji Photo Film Co., Ltd. | Method of recording data in memory card having EEPROM and memory card system using the same |
EP0489204B1 (en) | 1990-12-04 | 1995-08-16 | Hewlett-Packard Limited | Reprogrammable data storage device |
JPH04216392A (ja) | 1990-12-18 | 1992-08-06 | Mitsubishi Electric Corp | ブロックライト機能を備える半導体記憶装置 |
GB2251323B (en) | 1990-12-31 | 1994-10-12 | Intel Corp | Disk emulation for a non-volatile semiconductor memory |
GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
US5270979A (en) | 1991-03-15 | 1993-12-14 | Sundisk Corporation | Method for optimum erasing of EEPROM |
US5396468A (en) | 1991-03-15 | 1995-03-07 | Sundisk Corporation | Streamlined write operation for EEPROM system |
US5504760A (en) | 1991-03-15 | 1996-04-02 | Sandisk Corporation | Mixed data encoding EEPROM system |
US5663901A (en) * | 1991-04-11 | 1997-09-02 | Sandisk Corporation | Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems |
JP2582487B2 (ja) | 1991-07-12 | 1997-02-19 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 半導体メモリを用いた外部記憶システム及びその制御方法 |
US5430859A (en) | 1991-07-26 | 1995-07-04 | Sundisk Corporation | Solid state memory system including plural memory chips and a serialized bus |
DE69223099T2 (de) | 1991-08-09 | 1998-06-10 | Toshiba Kawasaki Kk | Aufzeichnungsgerät für eine Speicherkarte |
JP3229345B2 (ja) | 1991-09-11 | 2001-11-19 | ローム株式会社 | 不揮発性icメモリ |
US5438573A (en) | 1991-09-13 | 1995-08-01 | Sundisk Corporation | Flash EEPROM array data and header file structure |
US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
US5357462A (en) | 1991-09-24 | 1994-10-18 | Kabushiki Kaisha Toshiba | Electrically erasable and programmable non-volatile semiconductor memory with automatic write-verify controller |
US5778418A (en) * | 1991-09-27 | 1998-07-07 | Sandisk Corporation | Mass computer storage system having both solid state and rotating disk types of memory |
US5227714A (en) | 1991-10-07 | 1993-07-13 | Brooktree Corporation | Voltage regulator |
US5640528A (en) * | 1991-10-24 | 1997-06-17 | Intel Corporation | Method and apparatus for translating addresses using mask and replacement value registers |
US5315558A (en) | 1991-10-25 | 1994-05-24 | Vlsi Technology, Inc. | Integrated circuit memory with non-binary array configuration |
US5359569A (en) | 1991-10-29 | 1994-10-25 | Hitachi Ltd. | Semiconductor memory |
JPH05151097A (ja) | 1991-11-28 | 1993-06-18 | Fujitsu Ltd | 書換回数制限型メモリのデータ管理方式 |
JP3171901B2 (ja) | 1992-02-05 | 2001-06-04 | セイコーインスツルメンツ株式会社 | 不揮発性メモリカードの書換え方法 |
JPH05233426A (ja) | 1992-02-20 | 1993-09-10 | Fujitsu Ltd | フラッシュ・メモリ使用方法 |
EP0559213B1 (en) | 1992-03-05 | 1999-09-15 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
FR2688333B1 (fr) | 1992-03-06 | 1994-04-29 | Sgc Thomson Microelectronics S | Dispositif et procede d'effacement par secteurs d'une memoire flash eprom. |
TW231343B (ja) * | 1992-03-17 | 1994-10-01 | Hitachi Seisakusyo Kk | |
JP2830594B2 (ja) | 1992-03-26 | 1998-12-02 | 日本電気株式会社 | 半導体メモリ装置 |
US5267218A (en) | 1992-03-31 | 1993-11-30 | Intel Corporation | Nonvolatile memory card with a single power supply input |
JP3485938B2 (ja) * | 1992-03-31 | 2004-01-13 | 株式会社東芝 | 不揮発性半導体メモリ装置 |
US5384745A (en) * | 1992-04-27 | 1995-01-24 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor memory device |
US5594704A (en) * | 1992-04-27 | 1997-01-14 | Mitsubishi Denki Kabushiki Kaisha | Synchronous semiconductor memory device |
US5532962A (en) * | 1992-05-20 | 1996-07-02 | Sandisk Corporation | Soft errors handling in EEPROM devices |
US5381539A (en) | 1992-06-04 | 1995-01-10 | Emc Corporation | System and method for dynamically controlling cache management |
DE4219145C1 (de) | 1992-06-11 | 1994-03-17 | Emitec Emissionstechnologie | Verfahren und Vorrichtung zum Beloten eines metallischen Wabenkörpers |
JP3328321B2 (ja) | 1992-06-22 | 2002-09-24 | 株式会社日立製作所 | 半導体記憶装置 |
JPH0612863A (ja) | 1992-06-26 | 1994-01-21 | Toshiba Corp | デュアルポートdram |
US5592415A (en) * | 1992-07-06 | 1997-01-07 | Hitachi, Ltd. | Non-volatile semiconductor memory |
US5315541A (en) | 1992-07-24 | 1994-05-24 | Sundisk Corporation | Segmented column memory array |
JPH06103748A (ja) | 1992-09-16 | 1994-04-15 | Mitsubishi Electric Corp | Icメモリカードの電源制御回路 |
US5428621A (en) | 1992-09-21 | 1995-06-27 | Sundisk Corporation | Latent defect handling in EEPROM devices |
JP3105092B2 (ja) | 1992-10-06 | 2000-10-30 | 株式会社東芝 | 半導体メモリ装置 |
US5357475A (en) | 1992-10-30 | 1994-10-18 | Intel Corporation | Method for detaching sectors in a flash EEPROM memory array |
US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
US5341330A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for writing to a flash memory array during erase suspend intervals |
US5822781A (en) | 1992-10-30 | 1998-10-13 | Intel Corporation | Sector-based storage device emulator having variable-sized sector |
US5337275A (en) | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
US5734567A (en) * | 1992-11-06 | 1998-03-31 | Siemens Aktiengesellschaft | Diagnosis system for a plant |
JPH06236686A (ja) | 1993-01-22 | 1994-08-23 | Nec Corp | 半導体装置 |
US5581723A (en) | 1993-02-19 | 1996-12-03 | Intel Corporation | Method and apparatus for retaining flash block structure data during erase operations in a flash EEPROM memory array |
JP2856621B2 (ja) * | 1993-02-24 | 1999-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 一括消去型不揮発性メモリおよびそれを用いる半導体ディスク装置 |
EP0613151A3 (en) | 1993-02-26 | 1995-03-22 | Tokyo Shibaura Electric Co | Semiconductor memory system with flash EEPROM. |
JP3594626B2 (ja) | 1993-03-04 | 2004-12-02 | 株式会社ルネサステクノロジ | 不揮発性メモリ装置 |
US5404485A (en) | 1993-03-08 | 1995-04-04 | M-Systems Flash Disk Pioneers Ltd. | Flash file system |
JPH06266596A (ja) | 1993-03-11 | 1994-09-22 | Hitachi Ltd | フラッシュメモリファイル記憶装置および情報処理装置 |
JP3477781B2 (ja) | 1993-03-23 | 2003-12-10 | セイコーエプソン株式会社 | Icカード |
US5479638A (en) | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5388083A (en) | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5485595A (en) | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
KR970008188B1 (ko) | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JP3330187B2 (ja) | 1993-05-13 | 2002-09-30 | 株式会社リコー | メモリカード |
US5509134A (en) * | 1993-06-30 | 1996-04-16 | Intel Corporation | Method and apparatus for execution of operations in a flash memory array |
US5353256A (en) | 1993-06-30 | 1994-10-04 | Intel Corporation | Block specific status information in a memory device |
US5519847A (en) | 1993-06-30 | 1996-05-21 | Intel Corporation | Method of pipelining sequential writes in a flash memory |
US5329491A (en) | 1993-06-30 | 1994-07-12 | Intel Corporation | Nonvolatile memory card with automatic power supply configuration |
US5422842A (en) | 1993-07-08 | 1995-06-06 | Sundisk Corporation | Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells |
JP3228377B2 (ja) | 1993-07-19 | 2001-11-12 | 東京電力株式会社 | 溶融炭酸塩型燃料電池カソードとその溶解抑制方法 |
US5465338A (en) | 1993-08-24 | 1995-11-07 | Conner Peripherals, Inc. | Disk drive system interface architecture employing state machines |
US5566314A (en) * | 1993-08-30 | 1996-10-15 | Lucent Technologies Inc. | Flash memory device employing unused cell arrays to update files |
JP2922116B2 (ja) | 1993-09-02 | 1999-07-19 | 株式会社東芝 | 半導体記憶装置 |
JP3683915B2 (ja) | 1993-09-24 | 2005-08-17 | 株式会社東芝 | 半導体記憶装置 |
JP3215237B2 (ja) | 1993-10-01 | 2001-10-02 | 富士通株式会社 | 記憶装置および記憶装置の書き込み/消去方法 |
US5365127A (en) | 1993-10-18 | 1994-11-15 | Hewlett-Packard Company | Circuit for conversion from CMOS voltage levels to shifted ECL voltage levels with process compensation |
GB2283342B (en) * | 1993-10-26 | 1998-08-12 | Intel Corp | Programmable code store circuitry for a nonvolatile semiconductor memory device |
US6154850A (en) * | 1993-11-01 | 2000-11-28 | Beaufort River, Inc. | Data storage system and method |
GB9326499D0 (en) * | 1993-12-24 | 1994-03-02 | Deas Alexander R | Flash memory system with arbitrary block size |
JPH07235193A (ja) | 1993-12-28 | 1995-09-05 | Toshiba Corp | 半導体記憶装置 |
DE69428881T2 (de) | 1994-01-12 | 2002-07-18 | Sun Microsystems Inc | Logisch adressierbarer physikalischer Speicher für ein Rechnersystem mit virtuellem Speicher, das mehrere Seitengrössen unterstützt |
US5473765A (en) | 1994-01-24 | 1995-12-05 | 3Com Corporation | Apparatus for using flash memory as a floppy disk emulator in a computer system |
US6026027A (en) * | 1994-01-31 | 2000-02-15 | Norand Corporation | Flash memory system having memory cache |
US5661053A (en) * | 1994-05-25 | 1997-08-26 | Sandisk Corporation | Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers |
US5715423A (en) * | 1994-04-18 | 1998-02-03 | Intel Corporation | Memory device with an internal data transfer circuit |
US5603001A (en) * | 1994-05-09 | 1997-02-11 | Kabushiki Kaisha Toshiba | Semiconductor disk system having a plurality of flash memories |
US5696917A (en) * | 1994-06-03 | 1997-12-09 | Intel Corporation | Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory |
US5592435A (en) * | 1994-06-03 | 1997-01-07 | Intel Corporation | Pipelined read architecture for memory |
US5809558A (en) | 1994-09-29 | 1998-09-15 | Intel Corporation | Method and data storage system for storing data in blocks without file reallocation before erasure |
US5508971A (en) * | 1994-10-17 | 1996-04-16 | Sandisk Corporation | Programmable power generation circuit for flash EEPROM memory systems |
US5606660A (en) * | 1994-10-21 | 1997-02-25 | Lexar Microsystems, Inc. | Method and apparatus for combining controller firmware storage and controller logic in a mass storage system |
JP2669365B2 (ja) | 1994-11-24 | 1997-10-27 | 日本電気株式会社 | 書換え可能なromファイル装置 |
US5572482A (en) * | 1994-11-28 | 1996-11-05 | Motorola, Inc. | Block architected static RAM configurable for different word widths and associated method for forming a physical layout of the static RAM |
US5541551A (en) | 1994-12-23 | 1996-07-30 | Advinced Micro Devices, Inc. | Analog voltage reference generator system |
US5847552A (en) | 1995-01-24 | 1998-12-08 | Dell Usa, L.P. | Integrated circuit with determinate power source control |
JPH08212019A (ja) | 1995-01-31 | 1996-08-20 | Mitsubishi Electric Corp | 半導体ディスク装置 |
JPH08263361A (ja) | 1995-03-23 | 1996-10-11 | Mitsubishi Electric Corp | フラッシュメモリカード |
US5724592A (en) * | 1995-03-31 | 1998-03-03 | Intel Corporation | Method and apparatus for managing active power consumption in a microprocessor controlled storage device |
US5818350A (en) | 1995-04-11 | 1998-10-06 | Lexar Microsystems Inc. | High performance method of and system for selecting one of a plurality of IC chip while requiring minimal select lines |
JP4254994B2 (ja) | 1995-05-29 | 2009-04-15 | 株式会社日立製作所 | デイスポーザブルな反応容器を用いる分析装置 |
US6072796A (en) | 1995-06-14 | 2000-06-06 | Avid Technology, Inc. | Apparatus and method for accessing memory in a TDM network |
US5723990A (en) * | 1995-06-21 | 1998-03-03 | Micron Quantum Devices, Inc. | Integrated circuit having high voltage detection circuit |
US5552698A (en) | 1995-06-29 | 1996-09-03 | United Microelectronics Corp. | Voltage supply system for IC chips |
US5627416A (en) | 1995-07-21 | 1997-05-06 | Itt Corporation | Multi-voltage IC card host |
US5907856A (en) * | 1995-07-31 | 1999-05-25 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US6081878A (en) * | 1997-03-31 | 2000-06-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5845313A (en) | 1995-07-31 | 1998-12-01 | Lexar | Direct logical block addressing flash memory mass storage architecture |
US6978342B1 (en) | 1995-07-31 | 2005-12-20 | Lexar Media, Inc. | Moving sectors within a block of information in a flash memory mass storage architecture |
US5838614A (en) * | 1995-07-31 | 1998-11-17 | Lexar Microsystems, Inc. | Identification and verification of a sector within a block of mass storage flash memory |
US6728851B1 (en) * | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6757800B1 (en) | 1995-07-31 | 2004-06-29 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US5930815A (en) | 1995-07-31 | 1999-07-27 | Lexar Media, Inc. | Moving sequential sectors within a block of information in a flash memory mass storage architecture |
US5596526A (en) * | 1995-08-15 | 1997-01-21 | Lexar Microsystems, Inc. | Non-volatile memory system of multi-level transistor cells and methods using same |
JPH0954726A (ja) | 1995-08-18 | 1997-02-25 | Mitsubishi Electric Corp | 記憶装置 |
JPH0969295A (ja) | 1995-08-31 | 1997-03-11 | Sanyo Electric Co Ltd | 不揮発性多値メモリ装置 |
US5835935A (en) | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
US6125435A (en) | 1995-09-13 | 2000-09-26 | Lexar Media, Inc. | Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory |
GB2291991A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Disk drive emulation with a block-erasable memory |
GB2291990A (en) | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
US5809560A (en) | 1995-10-13 | 1998-09-15 | Compaq Computer Corporation | Adaptive read-ahead disk cache |
US5644531A (en) * | 1995-11-01 | 1997-07-01 | Advanced Micro Devices, Inc. | Program algorithm for low voltage single power supply flash memories |
KR100253868B1 (ko) | 1995-11-13 | 2000-05-01 | 니시무로 타이죠 | 불휘발성 반도체기억장치 |
US5818781A (en) | 1995-11-13 | 1998-10-06 | Lexar | Automatic voltage detection in multiple voltage applications |
US5799168A (en) | 1996-01-05 | 1998-08-25 | M-Systems Flash Disk Pioneers Ltd. | Standardized flash controller |
US5680341A (en) * | 1996-01-16 | 1997-10-21 | Invoice Technology | Pipelined record and playback for analog non-volatile memory |
JPH09212411A (ja) | 1996-02-06 | 1997-08-15 | Tokyo Electron Ltd | メモリシステム |
US5724303A (en) * | 1996-02-15 | 1998-03-03 | Nexcom Technology, Inc. | Non-volatile programmable memory having an SRAM capability |
US5787445A (en) | 1996-03-07 | 1998-07-28 | Norris Communications Corporation | Operating system including improved file management for use in devices utilizing flash memory as main memory |
US5822252A (en) | 1996-03-29 | 1998-10-13 | Aplus Integrated Circuits, Inc. | Flash memory wordline decoder with overerase repair |
GB9606927D0 (en) | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Data storage devices |
GB9606928D0 (en) | 1996-04-02 | 1996-06-05 | Memory Corp Plc | Memory devices |
US5991849A (en) | 1996-04-10 | 1999-11-23 | Sanyo Electric Co., Ltd | Rewriting protection of a size varying first region of a reprogrammable non-volatile memory |
US6018778A (en) * | 1996-05-03 | 2000-01-25 | Netcell Corporation | Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory |
GB9609301D0 (en) | 1996-05-03 | 1996-07-10 | Wallace & Tiernan Ltd | Measuring chlorine concentration |
GB9609833D0 (en) | 1996-05-10 | 1996-07-17 | Memory Corp Plc | Memory device |
US5959926A (en) | 1996-06-07 | 1999-09-28 | Dallas Semiconductor Corp. | Programmable power supply systems and methods providing a write protected memory having multiple interface capability |
JP3493096B2 (ja) * | 1996-06-07 | 2004-02-03 | 株式会社東芝 | 半導体集積回路、icカード、及びicカードシステム |
GB9613088D0 (en) | 1996-06-21 | 1996-08-28 | Memory Corp Plc | Memory device |
US5758100A (en) * | 1996-07-01 | 1998-05-26 | Sun Microsystems, Inc. | Dual voltage module interconnect |
GB9614551D0 (en) | 1996-07-11 | 1996-09-04 | Memory Corp Plc | Memory system |
JP3761635B2 (ja) | 1996-07-12 | 2006-03-29 | 株式会社ダックス | メモリボード、メモリアクセス方法及びメモリアクセス装置 |
US5757712A (en) * | 1996-07-12 | 1998-05-26 | International Business Machines Corporation | Memory modules with voltage regulation and level translation |
US6104658A (en) * | 1996-08-08 | 2000-08-15 | Neomagic Corporation | Distributed DRAM refreshing |
US5787484A (en) | 1996-08-08 | 1998-07-28 | Micron Technology, Inc. | System and method which compares data preread from memory cells to data to be written to the cells |
US6021408A (en) * | 1996-09-12 | 2000-02-01 | Veritas Software Corp. | Methods for operating a log device |
US5920884A (en) | 1996-09-24 | 1999-07-06 | Hyundai Electronics America, Inc. | Nonvolatile memory interface protocol which selects a memory device, transmits an address, deselects the device, subsequently reselects the device and accesses data |
US5860124A (en) * | 1996-09-30 | 1999-01-12 | Intel Corporation | Method for performing a continuous over-write of a file in nonvolatile memory |
US5754567A (en) * | 1996-10-15 | 1998-05-19 | Micron Quantum Devices, Inc. | Write reduction in flash memory systems through ECC usage |
US6047352A (en) * | 1996-10-29 | 2000-04-04 | Micron Technology, Inc. | Memory system, method and predecoding circuit operable in different modes for selectively accessing multiple blocks of memory cells for simultaneous writing or erasure |
US5890192A (en) * | 1996-11-05 | 1999-03-30 | Sandisk Corporation | Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM |
US5909586A (en) | 1996-11-06 | 1999-06-01 | The Foxboro Company | Methods and systems for interfacing with an interface powered I/O device |
US5745418A (en) | 1996-11-25 | 1998-04-28 | Macronix International Co., Ltd. | Flash memory mass storage system |
US5956473A (en) | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
JPH10154101A (ja) * | 1996-11-26 | 1998-06-09 | Toshiba Corp | データ記憶システム及び同システムに適用するキャッシュ制御方法 |
JPH10177797A (ja) | 1996-12-17 | 1998-06-30 | Toshiba Corp | 半導体記憶装置 |
JPH10187505A (ja) * | 1996-12-24 | 1998-07-21 | Toshiba Corp | 情報記憶システム及び同システムに適用するデータ配置方法 |
US5901086A (en) * | 1996-12-26 | 1999-05-04 | Motorola, Inc. | Pipelined fast-access floating gate memory architecture and method of operation |
US6279069B1 (en) | 1996-12-26 | 2001-08-21 | Intel Corporation | Interface for flash EEPROM memory arrays |
US5928370A (en) | 1997-02-05 | 1999-07-27 | Lexar Media, Inc. | Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure |
US5822245A (en) | 1997-03-26 | 1998-10-13 | Atmel Corporation | Dual buffer flash memory architecture with multiple operating modes |
US6122195A (en) | 1997-03-31 | 2000-09-19 | Lexar Media, Inc. | Method and apparatus for decreasing block write operation times performed on nonvolatile memory |
US6034897A (en) | 1999-04-01 | 2000-03-07 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US5953737A (en) | 1997-03-31 | 1999-09-14 | Lexar Media, Inc. | Method and apparatus for performing erase operations transparent to a solid state storage system |
US6411546B1 (en) | 1997-03-31 | 2002-06-25 | Lexar Media, Inc. | Nonvolatile memory using flexible erasing methods and method and system for using same |
US5831929A (en) | 1997-04-04 | 1998-11-03 | Micron Technology, Inc. | Memory device with staggered data paths |
US6345000B1 (en) * | 1997-04-16 | 2002-02-05 | Sandisk Corporation | Flash memory permitting simultaneous read/write and erase operations in a single memory array |
JP3592887B2 (ja) * | 1997-04-30 | 2004-11-24 | 株式会社東芝 | 不揮発性半導体記憶装置 |
US5892729A (en) * | 1997-07-25 | 1999-04-06 | Lucent Technologies Inc. | Power savings for memory arrays |
US6011322A (en) * | 1997-07-28 | 2000-01-04 | Sony Corporation | Apparatus and method for providing power to circuitry implementing two different power sources |
US6226708B1 (en) * | 1997-08-18 | 2001-05-01 | Texas Instruments Incorporated | Method and system for efficiently programming non-volatile memory |
JP3161384B2 (ja) * | 1997-09-16 | 2001-04-25 | 日本電気株式会社 | 半導体記憶装置とそのアクセス方法 |
JP3161385B2 (ja) * | 1997-09-16 | 2001-04-25 | 日本電気株式会社 | 半導体記憶装置 |
US6011323A (en) * | 1997-09-30 | 2000-01-04 | International Business Machines Corporation | Apparatus, method and article of manufacture providing for auxiliary battery conservation in adapters |
EP1046078B1 (en) | 1997-10-08 | 2004-05-12 | Hewlett-Packard Company, A Delaware Corporation | Liquid crystal device alignment and method of making such a device |
US5937425A (en) | 1997-10-16 | 1999-08-10 | M-Systems Flash Disk Pioneers Ltd. | Flash file system optimized for page-mode flash technologies |
JPH11224492A (ja) | 1997-11-06 | 1999-08-17 | Toshiba Corp | 半導体記憶装置、不揮発性半導体記憶装置及びフラッシュメモリ |
JPH11149786A (ja) * | 1997-11-18 | 1999-06-02 | Matsushita Electric Ind Co Ltd | 不揮発性半導体メモリ |
US6018265A (en) * | 1997-12-10 | 2000-01-25 | Lexar Media, Inc. | Internal CMOS reference generator and voltage regulator |
US6076137A (en) | 1997-12-11 | 2000-06-13 | Lexar Media, Inc. | Method and apparatus for storing location identification information within non-volatile memory devices |
US5995731A (en) * | 1997-12-29 | 1999-11-30 | Motorola, Inc. | Multiple BIST controllers for testing multiple embedded memory arrays |
GB9801373D0 (en) | 1998-01-22 | 1998-03-18 | Memory Corp Plc | Memory system |
US5969986A (en) | 1998-06-23 | 1999-10-19 | Invox Technology | High-bandwidth read and write architectures for non-volatile memories |
US6182162B1 (en) * | 1998-03-02 | 2001-01-30 | Lexar Media, Inc. | Externally coupled compact flash memory card that configures itself one of a plurality of appropriate operating protocol modes of a host computer |
US6016270A (en) * | 1998-03-06 | 2000-01-18 | Alliance Semiconductor Corporation | Flash memory architecture that utilizes a time-shared address bus scheme and separate memory cell access paths for simultaneous read/write operations |
US6040997A (en) * | 1998-03-25 | 2000-03-21 | Lexar Media, Inc. | Flash memory leveling architecture having no external latch |
GB9806687D0 (en) | 1998-03-27 | 1998-05-27 | Memory Corp Plc | Memory system |
US6314042B1 (en) * | 1998-05-22 | 2001-11-06 | Mitsubishi Denki Kabushiki Kaisha | Fast accessible semiconductor memory device |
US6229926B1 (en) * | 1998-07-24 | 2001-05-08 | Picsurf, Inc. | Memory saving wavelet-like image transform system and method for digital camera and other memory conservative applications |
US6055184A (en) * | 1998-09-02 | 2000-04-25 | Texas Instruments Incorporated | Semiconductor memory device having programmable parallel erase operation |
US6279114B1 (en) | 1998-11-04 | 2001-08-21 | Sandisk Corporation | Voltage negotiation in a single host multiple cards system |
US6490649B2 (en) | 1998-11-10 | 2002-12-03 | Lexar Media, Inc. | Memory device |
US6374337B1 (en) * | 1998-11-17 | 2002-04-16 | Lexar Media, Inc. | Data pipelining method and apparatus for memory control circuit |
US6134141A (en) * | 1998-12-31 | 2000-10-17 | Sandisk Corporation | Dynamic write process for high bandwidth multi-bit-per-cell and analog/multi-level non-volatile memories |
US6084483A (en) * | 1999-03-10 | 2000-07-04 | Lexar Media, Inc. | Internal oscillator circuit including a ring oscillator controlled by a voltage regulator circuit |
US6141249A (en) | 1999-04-01 | 2000-10-31 | Lexar Media, Inc. | Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time |
EP1729304B1 (en) | 1999-04-01 | 2012-10-17 | Lexar Media, Inc. | Space management for managing high capacity nonvolatile memory |
US6181118B1 (en) * | 1999-06-24 | 2001-01-30 | Analog Devices, Inc. | Control circuit for controlling a semi-conductor switch for selectively outputting an output voltage at two voltage levels |
JP4201927B2 (ja) * | 1999-08-25 | 2008-12-24 | 株式会社ルネサステクノロジ | データ処理管理装置 |
JP4268284B2 (ja) | 1999-09-20 | 2009-05-27 | 積水化学工業株式会社 | 光硬化性樹脂組成物、液晶注入口封止剤及び液晶表示セル |
US6278633B1 (en) * | 1999-11-05 | 2001-08-21 | Multi Level Memory Technology | High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations |
US6732203B2 (en) * | 2000-01-31 | 2004-05-04 | Intel Corporation | Selectively multiplexing memory coupling global bus data bits to narrower functional unit coupling local bus |
US6396744B1 (en) * | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
KR100399034B1 (ko) * | 2000-05-02 | 2003-09-22 | 한국과학기술원 | 효율적 메모리 셀 어레이 관리 방법 |
JP4332999B2 (ja) | 2000-06-08 | 2009-09-16 | 株式会社デンソー | クイズゲーム装置及びクイズゲーム機能付きナビゲーション装置 |
US6751034B1 (en) * | 2000-07-19 | 2004-06-15 | Texas Instruments Incorporated | Preamplifier read recovery parade |
US6567307B1 (en) * | 2000-07-21 | 2003-05-20 | Lexar Media, Inc. | Block management for mass storage |
US6307779B1 (en) * | 2000-07-28 | 2001-10-23 | Micron Technology, Inc. | Method and circuitry for bank tracking in write command sequence |
US6584034B1 (en) * | 2001-04-23 | 2003-06-24 | Aplus Flash Technology Inc. | Flash memory array structure suitable for multiple simultaneous operations |
JP2003015954A (ja) * | 2001-06-28 | 2003-01-17 | Sharp Corp | 半導体記憶装置および情報機器、半導体記憶装置のアクセス期間設定方法 |
US6628563B1 (en) * | 2001-07-09 | 2003-09-30 | Aplus Flash Technology, Inc. | Flash memory array for multiple simultaneous operations |
US7127559B2 (en) * | 2001-07-10 | 2006-10-24 | Micron Technology, Inc. | Caching of dynamic arrays |
TW539946B (en) * | 2001-08-07 | 2003-07-01 | Solid State System Company Ltd | Window-based flash memory storage system, and the management method and the access method thereof |
GB2411499B (en) | 2001-09-28 | 2006-02-08 | Lexar Media Inc | Method of writing data to non-volatile memory |
GB0123415D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Method of writing data to non-volatile memory |
GB0123412D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system sectors |
GB0123410D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Memory system for data storage and retrieval |
GB0123416D0 (en) | 2001-09-28 | 2001-11-21 | Memquest Ltd | Non-volatile memory control |
GB0123419D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Data handling system |
GB0123422D0 (en) * | 2001-09-28 | 2001-11-21 | Memquest Ltd | Improved memory controller |
US6950918B1 (en) | 2002-01-18 | 2005-09-27 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6957295B1 (en) | 2002-01-18 | 2005-10-18 | Lexar Media, Inc. | File management of one-time-programmable nonvolatile memory devices |
US6735106B2 (en) * | 2002-07-02 | 2004-05-11 | Agilent Technologies, Inc. | Accelerated fatigue testing |
US6973519B1 (en) | 2003-06-03 | 2005-12-06 | Lexar Media, Inc. | Card identification compatibility |
US20060203529A1 (en) * | 2003-09-05 | 2006-09-14 | William Radke | Cutting CAM peak power by clock regioning |
US7006404B1 (en) * | 2004-03-26 | 2006-02-28 | Cypress Semiconductor Corporation | Memory device with increased data throughput |
US7289354B2 (en) * | 2005-07-28 | 2007-10-30 | Texas Instruments Incorporated | Memory array with a delayed wordline boost |
-
2001
- 2001-09-28 GB GBGB0123416.0A patent/GB0123416D0/en not_active Ceased
-
2002
- 2002-09-27 GB GB0222530A patent/GB2384883B/en not_active Expired - Fee Related
- 2002-09-27 EP EP02762590.4A patent/EP1451673B1/en not_active Expired - Lifetime
- 2002-09-27 WO PCT/GB2002/004393 patent/WO2003029951A2/en active Application Filing
- 2002-09-27 EP EP10012010.4A patent/EP2275914B1/en not_active Expired - Lifetime
- 2002-09-27 US US10/260,074 patent/US6751155B2/en not_active Expired - Lifetime
- 2002-09-27 JP JP2003533096A patent/JP2005504388A/ja active Pending
-
2004
- 2004-06-14 US US10/867,800 patent/US7215580B2/en not_active Expired - Lifetime
-
2006
- 2006-09-26 JP JP2006260795A patent/JP2007048307A/ja active Pending
-
2007
- 2007-05-08 US US11/800,974 patent/US7944762B2/en not_active Expired - Lifetime
-
2011
- 2011-05-16 US US13/108,477 patent/US8208322B2/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07302176A (ja) * | 1994-05-09 | 1995-11-14 | Toshiba Corp | 半導体ディスク装置 |
JPH1069420A (ja) * | 1996-08-29 | 1998-03-10 | Sony Corp | 情報記録装置、情報記録再生装置、情報記録方法および情報再生方法 |
JPH10320512A (ja) * | 1997-05-16 | 1998-12-04 | Oki Electric Ind Co Ltd | 不揮発性半導体ディスク装置 |
WO2000049488A1 (en) * | 1999-02-17 | 2000-08-24 | Memory Corporation Plc | Memory system |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211232A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2010067263A (ja) * | 2008-07-18 | 2010-03-25 | Marvell World Trade Ltd | メモリへの選択的アクセス |
Also Published As
Publication number | Publication date |
---|---|
EP1451673A2 (en) | 2004-09-01 |
US20070274150A1 (en) | 2007-11-29 |
GB2384883A (en) | 2003-08-06 |
US8208322B2 (en) | 2012-06-26 |
US20110310683A1 (en) | 2011-12-22 |
JP2005504388A (ja) | 2005-02-10 |
GB0123416D0 (en) | 2001-11-21 |
GB2384883B (en) | 2005-10-19 |
WO2003029951A2 (en) | 2003-04-10 |
GB0222530D0 (en) | 2002-11-06 |
EP2275914A3 (en) | 2011-05-11 |
US20050018527A1 (en) | 2005-01-27 |
WO2003029951A3 (en) | 2004-06-03 |
US7215580B2 (en) | 2007-05-08 |
US6751155B2 (en) | 2004-06-15 |
US7944762B2 (en) | 2011-05-17 |
EP1451673B1 (en) | 2015-12-30 |
EP2275914B1 (en) | 2018-07-04 |
US20030123287A1 (en) | 2003-07-03 |
EP2275914A2 (en) | 2011-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6751155B2 (en) | Non-volatile memory control | |
US6898662B2 (en) | Memory system sectors | |
US9489301B2 (en) | Memory systems | |
US7127549B2 (en) | Disk acceleration using first and second storage devices | |
US8316176B1 (en) | Non-volatile semiconductor memory segregating sequential data during garbage collection to reduce write amplification | |
US20150363131A1 (en) | Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage | |
JP2009503729A (ja) | 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム | |
GB2411499A (en) | Maintaining erased blocks in a non-volatile memory | |
TWI726381B (zh) | 資料儲存裝置以及非揮發式記憶體控制方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100525 |