JP2005182793A - 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作 - Google Patents

頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作 Download PDF

Info

Publication number
JP2005182793A
JP2005182793A JP2004360522A JP2004360522A JP2005182793A JP 2005182793 A JP2005182793 A JP 2005182793A JP 2004360522 A JP2004360522 A JP 2004360522A JP 2004360522 A JP2004360522 A JP 2004360522A JP 2005182793 A JP2005182793 A JP 2005182793A
Authority
JP
Japan
Prior art keywords
block
sector
sector information
information
fsinfo
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.)
Granted
Application number
JP2004360522A
Other languages
English (en)
Other versions
JP4588431B2 (ja
JP2005182793A5 (ja
Inventor
Petro Estakhri
エスタクリ ペトロ
Sam Nemazie
ネマジー サム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Lexar Media Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lexar Media Inc filed Critical Lexar Media Inc
Publication of JP2005182793A publication Critical patent/JP2005182793A/ja
Publication of JP2005182793A5 publication Critical patent/JP2005182793A5/ja
Application granted granted Critical
Publication of JP4588431B2 publication Critical patent/JP4588431B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • G11C29/765Masking faults in memories by using spares or by reconfiguring using address translation or modifications in solid state disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/82Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for EEPROMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 ディジタル機器システムのシステム性能を改善すること
【解決手段】 本発明のディジタル機器システムは、セクタ情報を有するファイルを書込むためのランダム書込み命令を送信するホストと、その命令に応答してFSInfoセクタ情報を書込み、更新するコントローラとを含む。そのコントローラは、複数のブロックに区分された不揮発性メモリシステム(不揮発性メモリの例は当業者にとって公知であるフラッシュメモリである)を制御し、各ブロックはセクタ情報を格納するための複数のセクタを含み、特定の空きブロックがFSInfoセクタ情報を格納するように指定される。FSInfoセクタが更新されると、更新されたFSInfoセクタ情報は、専用のブロックの次の空のセクタに書込まれ、それによって特定のブロックのセクタを他のブロックに移すことを回避し、その結果システム性能を改善する。
【選択図】 図2

Description

本発明は、一般に不揮発性メモリを利用しているシステムの書込み動作の速度を減少させる方法および装置に関し、特に、ランダム書込み動作を実行しているときに、この種のシステムの書込み動作速度を減少させることに関する。
(関連出願の参照)
本出願は、米国特許出願第09/620,544号、「Moving Sectors Within A Block of Information In A Flash Memory Mass Storage Architecture」の名称で、2000年7月21日に出願された私の先の米国特許出願の一部継続出願であり、それは、米国特許出願第09/264,340号、「Moving Sectors Within A Block of Information In A Flash Memory Mass Storage Architecture」の名称で、1999年3月8日に出願された特許出願の継続出願であり、それは、米国特許出願第08/831,266号、「Moving Sectors Within A Block of Information In A Flash Memory Mass Storage Architecture」の名称で、1997年3月31日に出願された洗願特許出願の継続出願であり、それは、米国特許出願第08/509,706号、「Direct Logic Block Addressing Flash Memory Mass Storage Architecture」の名称で、1995年7月31
日に出願された特許出願の一部継続出願である。出願番号第08/831,266号および同第08/509、706号は、本願明細書に援用されている。
(従来技術の説明)
ディジタル情報革命の出現とともに、不揮発性メモリ(またはFLASHメモリまたはEEPROMメモリ)は10年もたたない期間内で相当な人気を享受した。これは主に、当業者にとって公知である不揮発性メモリの特定の特性(例えば、電源が遮断されるかまたは接続を外されたときでも情報を維持すること)に起因するものと考えられる。
不揮発性メモリは、広く多様な用途を有している。その用途は、デジタルカメラとパーソナルコンピュータ(PC)とを含む。デジタルカメラでは、不揮発性メモリは、後の編集またはどこかにロードするためにデジタル形式で写真を格納するために用いられる。パーソナルコンピュータ(PC)では、不揮発性メモリは、様々なタイプのデジタル情報を格納するために用いられる。
不揮発性メモリを使用することに興味がある者に対して恒常的なチャレンジを提起している問題のうちの1つは、読出しおよび書込み動作の速度であることが知られている。論理的な1つの状態にまだあるセルのみの状態を変えることを伴う各書込み動作の後に、同じ位置に対する次の書込み動作を行う前に消去動作が必要であるので、書込み動作の速度に対するいかなる改善も、全体的なシステム性能に対する印象的な改善になることは明らかである。
不揮発性メモリの内で情報が編成される方法の簡単なバックグラウンドとして、1つ以上の集積回路であり得る(典型的には1個より多い集積回路であるメモリは、複数のブロックに予め区分されている。各ブロックは、所定数のセクタを含み。各セクタは、所定数のバイトを含む。セクタは、論理ブロックアドレス(LBA)によってシステムによって識別されるが、不揮発性メモリに書込まれたり、もしくは、不揮発性メモリから読み出される場合には、セクタは物理ブロックアドレス(PBA)によって識別される。一般に、LBAとPBAとの間には公知の対応関係があり、それはランダムアクセスメモリ(RAM)において保持され得る。
個々のブロックまたは個々のセクタは、ユーザに依存して消去可能なユニットとして定義され得る。例えば、セクタは、512バイトのデータと16バイトのオーバーヘッド情報とを含むことができ(典型的にはそれらを含み)、与えられたアプリケーションにおいて、消去動作の間、多くのセルを含む全体のセクタが消去され得る。実際、多くのセクタは一度に消去され得る。この場合、ユーザはおそらく1以上のブロックが一緒に消去されるようにシステムを設計している。
不揮発性メモリを用いる既存のシステムでは、2つのタイプのデータが格納される。1つのタイプは、ファイルシステムデータであり、もう1つのタイプはユーザシステムデータである。ファイルシステムデータは、オペレーティングシステムにユーザデータを含むファイルの在る位置に関する情報を提供する。ユーザシステムデータはファイルの内容である。各ファイルは、一般に、シーケンシャルな書込み動作を典型的に必要とする大きなデータブロックを含む。シーケンシャルな書込み動作において、LBAはシーケンシャルな順序で出現する。すなわち、シーケンシャルなセクタはそこに書込まれる。
書込み動作は、一般に、メモリに対する情報の入出力を管理するコントローラと相互作用するホストによって開始される。ホストによって識別されたセクタは、メモリに書込まれる。大容量格納アプリケーションにおいて、ホストは2種類の書込み動作を始め得る、1つは前述のシーケンシャルな書込み動作であり、もう1つはランダム書込み動作である。ランダム書込み動作の1つの方法は、一般に、ファイルシステムデータを更新する場合に実行される。
大部分のPCおよびワークステーションに使われているより最近のWindows(登録商標)オペレーティングシステムでは、「FAT32」(File Allocation Table 32)と呼ばれる新規なファイルシステムが利用されている。それは、2ギガバイトより大きいサイズのファイルシステムを可能にする。FAT32を用いて可能になる利点は、ディジタルカメラのような種々のアップリケーションに使用するカードをフォーマットすることを含み、従来のファイルシステムにより可能であったより更に大きい容量を有することである。
FAT32タイプのファイルシステムでは、「FSInfo」(File System Information)と呼ばれる特別なセクタが使用される。FSInfoセクタは、次の空クラスターの位置に関する情報によって継続的に更新される。実際、このことは、時間の掛かる作業である可能性のある、空クラスターの位置を求めてFATを検索しなければならないことからファイルシステムソフトウェア(オペレーティングシステム)を救う。一般に、FSInfoセクタのみならずあるタイプのセクタも同様にセクタのタイプより更に頻繁に書込み又は再書込みされる。
しかしながら、他より頻繁に書込まれるこれらのあるのセクタに継続的に書込みまたは更新することは、システム性能を減速する副作用を有し、一般には、それによって同時に不揮発性メモリスペースをより多く使用することとなり、不揮発性メモリを使用する際の非効率性の原因となる。
上述したように、不揮発性メモリは複数のセクタに区分されており、いくつかのセクタのグループがブロックを構成する。セクタは、典型的には、512バイトのユーザデータと16バイトのオーバーヘッド情報とを含み、ブロックは256のセクタを含み得るが、セクタは異なる数のバイトを有し得るし、ブロックは異なる数のセクタを有し得る。
既存の不揮発性メモリシステムでは、セクタが書込まれる場合に、空き(free)ブロックの位置が最初に決定される。論理ブロックアドレス(LBA)値は、不揮発性メモリ中の空きか利用可能な(available)ブロックをアドレス指定する新規な物理ブロックアドレス(PBA)に関連付けられている。この点で、空きであると判ったブロックは「オープン(open)」もしくは「ペンディング(pending)」であると考えられる、すなわち、セクタ情報による書込みを受ける。議論の目的のために、「オープン」もしくは「ペンディング」状態を有している空きであると判ったブロックをブロック0と呼ぶこととし、VLBA 0によって識別されるものとする。
次に、その書込まれた次のセクタが調べられ、仮に、次のセクタがシーケンシャルであるかもしくは関連付けられているVLBAブロックに属している、すなわちブロック0(PBA 0である)、と判明した場合には、セクタ情報は同じブロックのセクタ位置に書込まれる。関連付けられているVLBAブロック、すなわちブロック0、に属している情報の後続するセクタは、ブロック0がもはや空でなく、どんな空の位置も有さなくなるまで書込まれ続ける。その場合には、異なる空きブロック、例えば、VLBA 10(PBA 10)によって識別されたブロック10が書込まれるために指定される。さて、仮にブロック0の既に書込まれたブロック0の更なる書込みまたは更新がある場合には、それらはブロック10に書込まれるかまたは格納される。この場合には、更新されなかったセクタ情報の全ては、ブロック0からブロック10に移動され、ブロック0は「閉じられ(closed)」消去を保留する。
前述の実施例において、ブロック0がもはや空でなくなった後に、新規の書込み命令がセクタ情報を有し、それが同じVLBAブロック(すなわち、ブロック0)に属し、現在更新されつつあると仮定する。この場合には、異なる空きブロック(例えば、VLBA 0とVPBA 10とによって識別されるブロック10)がそこに書込まれるように指定され、更新されたセクタ情報を格納するように使用される。この点で、ブロック0およびブロック10は「ペンディング」もしくは「オープン」である。もし、ブロック0に属せず、VLBA 0以外のLBAに対応するセクタ情報の更新を指令する更にもう1つの書込み命令が受け取られた場合には、更にもう1つの空きブロック(すなわち、VLBA 1とVPBA 20とによって識別されたブロック20)が、このような更新を格納するために使用される。同じVLBAブロックに属さないセクタ情報の例は、ブロック0またはブロック10に格納されているそれらのセクタに対して非シーケンシャルなセクタである。この例では、もし、ブロック0および、したがってブロック10の各々がセクタ0〜255(LBA 0〜LBA 255)を格納するように指定された場合には、セクタ614(LBA 614)に対する書込みがブロック0またはブロック10と同じVLBAブロックに属さないセクタに対する書込みと考えられる。しかしながら、更新されなかったセクタ情報の全ては、ブロック0からブロック10に移される。この場合には、ブロック10および20は「オープン」もしくは「ペンディング」になり、ブロック0は「クローズ(closed)」になる。「Moving Sector Within A Block of Information In A Flash Memory Mass Storage Architecture」と題し、2000年7月21日出願の米国特許出願第09/620544号、および「Direct Logical Block Addressing Flash Memory Mass Storage Architecture」と題し、1998年12月1日に出願した米国特許第5,845,313号において述べた通りである。
上述したのと同じ実施例を使用しながら、更にもう1つのシナリオは次の場合である。ブロック0の空スペースがなくなる前でさえ、すなわち、空きまたは利用可能なセクタ位置が残っている間に、もし、新規な書込み命令が既に1度更新されたセクタに対する書込み動作である場合には、再度、他のブロック、例えばブロック10は、既に一度更新されたセクター情報の第2の更新を格納するように使用される。続きのセクターは、それらがシーケンシャルな順序の範囲および/またはブロック0と同じLBAグループに属する限り、ブロック10の対応するセクタ位置に書込まれる。ブロック0の更新されなかったセクタはその結果ブロック10に移され、ブロック0は「クローズ」となり。ブロック10は「オープン」もしくは「ペンディング」のままである。
このために、1ブロックが、例えば、256セクタを含む場合には、最大で255のセクタ情報の移動動作が実行されなければならず、それは全く時間が掛かり、システム性能を劣化させるものである。
このことは、ハイレベルブロックダイアグラムの形式で図1で示されている。図1では、不揮発性メモリシステム10は、セクタ情報を格納するブロック12を含むように示されている。もしこれらのセクタがシーケンシャルである(これらのセクタがシーケンシャルである範囲で)、ブロック12は最初は空であり、続いてセクタ情報で満たされる。一旦非シーケンシャルなセクタが書込まれると、最近または「良好な(good)」情報を含むセクタはブロック12と共に、矢印16で示すようにブロック14に移される。それは、255の移動動作(古いか過去のブロックからの255セクタの読込み動作、および新規のブロックに対する同数の書込み動作)の可能性がある。前ブロックの良いまたは非更新セクターの新規ブロックへの移動動作は、不揮発性メモリシステムのシステム性能を50%低速にすることが知られている。
このように、不揮発性メモリのファイルシステム領域において、非シーケンシャルなセクタの書込み動作を実行するために必要な時間を最小にするためのシステムと方法が必要とされる。
簡潔にいうと、本発明の実施形態は、セクタ情報を有するファイルを書込むためのランダム書込み命令を送信するホストと、その命令に応答してFSInfoセクタ情報を書込み、更新するコントローラとを有するディジタル機器システムを含む。そのコントローラは、複数のブロックに区分された不揮発性メモリシステム(不揮発性メモリの例は当業者にとって公知であるフラッシュメモリである)を制御し、各ブロックはセクタ情報を格納するための複数のセクタを含み、特定の空きブロックがFSInfoセクタ情報を格納するように指定される。FSInfoセクタが更新されると、更新されたFSInfoセクタ情報は、専用のブロックの次の空のセクタに書込まれ、それによって特定のブロックのセクタを他のブロックに移すことを回避し、その結果システム性能を改善する。
本発明のディジタル機器システムは、a.セクタ情報を有するファイルを書込む書込み命令を送信するホストと、b.該命令に応答するコントロール装置であって、FSInfoセクタ情報を書込み更新するコントロール装置とを備え、該コントロール装置は、複数のブロックに区分された不揮発性メモリシステムであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、特定の空きブロックがFSInfoセクタ情報を格納するために指定される、不揮発性メモリシステムを含み、該FSInfoセクタが更新されると、該更新されたFSInfoセクタ情報が該専用のブロックの次の空きセクタに書き込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する。
前記特定のブロックは、該特定のブロックの前記セクタ位置のそれぞれへの書込みを該ブロックが満杯になるまで続けることによって前記FSInfoセクタ情報で満たされてもよい。
前記特定のブロックは、それが満杯になった後に消去されてもよい。
前記特定のブロック以外の空いているか利用可能なブロックが、該特定のブロックが満杯である場合にFSInfoセクタ情報の更新を格納するために指定されてもよい。
前記空きブロックが指定されると、更新されたFSInfoセクタ情報は、前記特定のブロック以外の前記空いているか利用可能なブロックのセクタ位置に書込まれ続けてもよい。
前記FSInfoセクタ情報が最初に書込まれる際は、前記特定のブロックの第1の位置に書込まれてもよい。
本発明の不揮発性メモリシステムは、複数のブロックに区分された複数の不揮発性メモリ格納位置であって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、特定の空きブロックがFSInfoセクタ情報を格納するために指定される、複数の不揮発性メモリ格納位置を備え、該FSInfoセクタが更新されると、該更新されたFSInfoセクタ情報が該専用のブロックの次の空きセクタに書き込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する。
前記特定のブロックは、該特定のブロックの前記セクタ位置のそれぞれへの書込みを該ブロックが満杯になるまで続けることによって前記FSInfoセクタ情報で満たされてもよい。
前記特定のブロックは、それが満杯になった後に消去されてもよい。
前記特定のブロック以外の空いているか利用可能なブロックが、該特定のブロックが満杯である場合にFSInfoセクタ情報の更新を格納するために専用化されてもよい。
前記特定のブロックが満杯であると、更新されたFSInfoセクタ情報は、前記特定のブロック以外の前記空いているか利用可能なブロックに格納され続けてもよい。
前記FSInfoセクタ情報が最初に書込まれる際は、前記特定のブロックの第1の位置に書込まれてもよい。
本発明の方法は、複数の不揮発性メモリ格納位置を含む不揮発性メモリシステムに対する書込み動作の速度を増加させる方法であって、該方法は、該複数の不揮発性メモリ格納位置を複数のブロックに区分することであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含む、ことと、FSInfoセクタ情報を格納するための複数のセクタ位置を有する特定の空きブロックを指定することと、該特定のブロックの該複数セクタ位置の該セクタ位置のうちの1つにFSInfoセクタ情報を書込むことと、更新されたFSInfoセクタ情報を受け取ることと、該特定のブロックの次の空いているセクタ位置に該更新されたFSInfoセクタ情報を書込むことによって該FSInfoセクタ情報を更新することと、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良することとを包含する。
前記書込みステップは、前記特定のブロックの第1の位置に対して実行されてもよい。
本発明の不揮発性メモリシステムは、複数のブロックに区分された複数の不揮発性メモリ格納位置であって、仮想論理ブロックアドレス(VLBA)によって識別される各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、各セクタ位置が物理ブロックアドレス(PBA)によって識別され、第1のLBAによって識別され、かつ、N PBAによって識別されるN個のセクタ位置を有する特定の空きブロックが特定のタイプのセクタ情報を格納するために指定され、該特定のタイプのセクタ情報が他のセクタ情報と比較して頻繁にアクセスされたかまたは更新されたとして検出される特定のタイプのセクタ情報である、複数の不揮発性メモリ格納位置を備え、該特定のタイプのセクタ情報が更新されると、該更新された特定のタイプのセクタ情報が、該第1のLBAによって識別される該専用のブロックの次の空セクタに書込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する。
前記特定のタイプのセクタ情報が更新されるたびに、それが前記N個の位置の全てが書込まれるまで前記専用ブロックの前記N個の位置のうちの1つに書込まれ、その後に、前記特定のタイプのセクタ情報が、第2のLBAによって識別されるブロックに書込まれ、その後に、毎回、前記特定のタイプのセクタ情報に対する前記更新が、後者が満杯になるまで該第2のLBAによって識別される前記ブロックに書込まれてもよい。
前記特定のタイプのセクタ情報は、どのセクタが他のセクタより多くアクセスされたか決定するためにしきい値を用いて識別され、セクタがアクセスされた回数がしきい値を超えた場合に、そのセクタを前記の特定タイプのセクタ情報として指定してもよい。
ファームウェアが、前記不揮発性メモリシステムを管理するように実行され、前記しきい値が該ファームウェアの中にプログラムされていてもよい。
前記特定のタイプのセクタ情報が、FSInfoセクタ情報であってもよい。
前記特定のタイプのセクタ情報が更新されるたびに、異なる専用ブロックに書込まれてもよい。
前記特定のタイプのセクタ情報が、オーバーヘッド部分を含み、アクセスカウンタ値が、前記特定のセクタがアクセスされた回数を保持するために用いられ、該アクセスカウンタ値は該オーバーヘッド部分に格納されていてもよい。
本発明の方法は、複数の不揮発性メモリ格納位置を含む不揮発性メモリシステムに対する書込み動作の速度を増加させる方法であって、該方法は、該複数の不揮発性メモリ格納位置を複数のブロックに区分することであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含む、ことと、頻繁にアクセスされたセクタ情報を格納するための複数のセクタ位置を有する特定の空きブロックを指定することと、該特定のブロックの該複数セクタ位置の該セクタ位置のうちの1つに該頻繁にアクセスされたセクタ情報を書込むことと、更新された頻繁にアクセスされたセクタ情報を受け取ることと、該特定のブロックの次の空きセクタ位置に該更新された頻繁にアクセスされたセクタ情報を書込むことによって該頻繁にアクセスされたセクタ情報を更新することと、該特定のブロックの該セクタを他のブロックに移動させることを回避し、それによって、システム性能を改良することとを包含する。
前記頻繁にアクセスされたセクタ情報は、FSInfoセクタ情報であってもよい。
本発明の前述および他の目的、特徴および利点は以下の添付図面中の図を参照した好ましい実施形態の詳細な説明から明らかである。
(好ましい実施形態の詳細な説明)
図2を参照して、本発明の実施形態に従って、不揮発性メモリシステム20は、前ブロック22と空きブロック24とを含むように示されている。不揮発性メモリシステム20は、複数のブロックに区分された複数の不揮発性メモリ格納位置を含む。各ブロックは、セクタ情報を格納するための複数のセクタ位置からなるグループを含む。セクタ情報は、一般に、ユーザデータとオーバーヘッドデータとを含む。ユーザデータは、写真、音楽などのようなユーザによって格納されることを意図したデータである。オーバーヘッドデータは、ユーザデータに関連する情報(例えば、その位置および/またはエラー情報など)である。さまざまなタイプのセクタ情報は、当業者にとって公知であり、そのうちの1つがFSInfoセクタである。
前ブロック22は、特定のタイプのセクタ、すなわち、他より頻繁にアクセスされるセクタを格納することに専門化されている。このタイプのセクタは、セクタがアクセスされる回数の所定のしきい値を使用して検出され、セクタがアクセスされる回数がしきい値を上回る場合には、以下に議論されるように、それは異なって処理される。しきい値は、固定値としてプログラムされており、コントローラの中で、不揮発性メモリシステムの動作を指示しているファームウェアまたはソフトウェアによって使用される。本発明の1つの実施形態において、アクセスカウンタはセクタがアクセスされた回数のトラックを保持するために用いられる。
図2において、ブロック22の第1セクタのオーバーヘッド部分25中に、アクセスカウンタ値21の例が示されている。このセクタはまた、ユーザデータ部23を含むように示されている。アクセスカウンタは不揮発性メモリを制御するコントローラの中に物理的に位置し、その実施例は、図3で示されるフラッシュコントローラブロック532に結合されるアクセスカウンタ521で示される。あるいは、アクセスカウンタはコントローラの外に配置され得る。
これらのタイプのセクタを識別する他の方法は、各々と関連してアクセスされた回数の比較による方法であり、セクタがそのように他に比較して多くアクセスされたカテゴリであると検出された場合は、セクタは下記のように特別に処理される。これらの方法の両方において、カウンタ(すなわち、アクセスカウンタ)は、セクタがアクセスされる度ごとに回数を計数するために用いられる。1つの実施形態では、各セクタのカウンタ値は、不揮発性メモリのセクタ情報のオーバーヘッド部分に一般的に格納される。
本発明の1つの実施形態において、例えばFAT 32の例のように、システムトラフィック(system traffic)は分析され、FSInfoセクタのように他のセクタに比べより頻繁にアクセスされたセクタは、頻繁にアクセスされたセクタとして、またはそのセクタがVLBAブロックに属しているか否かを検出され、ファイルを書込む間に繰り返しアクセスされる。FSInfoセクタは、このタイプのセクタの1つの例である。以下の議論は大部分がFSInfoセクタに関係している一方、本発明は、いかなるタイプのセクタが他より頻繁にアクセスされようとも適用され、それはFSInfoセクタに限られていない点、ならびに後者は本発明の単になる例示の実施形態にすぎない点に留意する必要がある。FSInfoセクタに関する議論が先に記載されるているが、そのうちの一部分(すなわち、FSInfoセクタの機能)については以下に繰り返し記載される。
FAT32タイプのファイルシステムでは、「FSInfo」と称される特別なセクタが使用される。FSInfoセクタは、最新の空きクラスタの位置に関する情報によって継続的に更新される。実際に、このことは、時間の掛かる作業であり得る空きクラスタの位置を求めてFATを検索しなければならないことからファイルシステムソフトウェア(オペレーティングシステム)を救う。
上述したように、FSInfoセクタは、頻繁にアクセスされるセクタの単なる一例である。本発明は、他のセクタより頻繁にアクセスされると検出されるか知られているいかなるタイプのセクタにも適用され、データの全てが更新されておらず同じVLBAブロックに属する場合に不必要な移動の原因となり得るいかなるタイプのセクタにも適用される。与えられたいかなる時間においても、ブロック22の位置の1つは、FSInfoセクタの現在のバージョンを格納する。例えば、FSInfoセクタの第1バージョンはブロック22の位置26に格納され得、FSInfoセクタが更新されるときに、更新されたバージョンは位置28に格納され得、ブロック22の全ての位置が、例えば、ブロック当たり256セクタあるケースの256のように整数である「n」を有するブロック22の位置「n」で格納されている最新バージョンを有するFSInfoセクタのさまざまなバージョンによってそれに対して書込まれるまで、依然としてFSInfoセクタの次のバージョンはブロック22の位置30等々に格納されることがあり得る。このように、FSInfoセクタが更新されるたびに、それはブロック22中の新しい(または、次の位置である必要はないが次の)セクタ位置に書込まれ、前のセクタ位置は「古い(old)」と指定される。読込み動作に際し、この指示により、FSInfoセクタの最新バージョンが容易に識別し得る。すなわち、FSInfoセクタの最新バージョンを含むセクタ位置は、「古い」以外の指示を有する一方、FSInfoセクタの前バージョンを含む全てのセクタ位置は、「古い」の指示を有する。FSInfoセクタの最新バージョンを識別する他の方法がある。一つの方法は、FSInfoセクタの最新バージョンを含むセクタ位置を識別するLBA値を見逃さないことである。
一旦ブロック22がになると、すなわち、そのセクタ位置の全てがFSInfoセクタの種々のバージョンによって、それに対し書込みされると、ブロック24がそれに書込みされ、ブロック22は消去される準備が整い、同じ「古い」の指示が行われる。再び、ブロック24に関して、ブロック22と同様に、FSInfoセクタが更新される度に、FSInfoセクタがそれのセクタ位置に書込まれる。前述のように、従来の技術のFSInfoセクタのアップデーティングである繰返し(reiterate)は、前のブロックの「良い」セクタを他のブロックに移すこと(すなわち読込み及び書込み)を必要とし、時間の掛かる動作、すなわち多くの読出しおよび書込み動作、になっていたが、この繰返し動作は本発明においては行う必要がない。
本発明において、FSInfoセクタが更新される場合には、1ブロックの「良い」セクタの全てを他のブロックに移すことはなく、従って、従来技術のシステムでは存在していたような、例えばセクタ255をブロック22からブロック24に移すような必要がない。
図2の実施形態において、新規のブロック内のセクタよりむしろ、同じブロック22内の次の空いているセクタ位置が、FSInfoセクタの更新されたかまたはごく最近のバージョンを格納するために使用される。
本発明において、FSInfoセクタが更新されるたびに、書込み動作が発生する。本発明において、ブロック22のセクタをブロック24に移す、すなわち、読込み及び書込みを行う必要がない。ブロック22は、FSInfoセクタ以外のいかなる他のタイプのセクタをも格納せず、FSInfoセクタのみを格納することに専任する。ブロック22のセクタ位置の全てに対する書込みが完了し、かつ、FSInfoセクタの次の更新を受信し、それを新規のブロックに格納すると、ブロック22は消去される。
本発明の他の実施形態において、1つ以上のセクタが異なるように扱われる。すなわち、他よりもより頻繁にアクセスされ、常に1ブロックを専用にする1タイプ以上のセクタがある。これは、おそらく実施例を用いることにより最も良く理解される。
LBA 0およびLBA 50によって識別されるそのセクタが他に比べより頻繁にアクセスされる場合には、LBA 0が書込まれる度に、それは不揮発性メモリ内の特定のブロックに書込まれ、それに続きLBA 50が書込まれる場合に、それがまた特定のブロックに書込まれて、また再度LBA 0が再書込みされるときに、従来の技術によって実行されるように異なるブロックに書込まれるよりはむしろ、特定のブロック(最初の2つの位置がLBA 0およびLBA 50への最初の書込みによって占有されているので、おそらく、第3の位置に)に書込まれる。次に、セクタ50の再書込みにより、それも、特定のブロックのすべてのセクタがそこに書込まれるまでは、特定のブロック等などに書込まれる。その後、異なるブロックは、LBA 0およびLBA 50の次の再書込みが実行され、特定のブロックが消去されることに専任する。
本発明の別の実施形態は、他のセクタより頻繁にアクセスされたと認められる特定のセクタを、それが書込まれる度に、同じ専用のブロックに対するのとは反対に、異なるブロックに書込むことを包含する。
この種の実施形態の実施例を、図2aに示す。図2aでは、ブロック44、46および48は、他より頻繁にアクセスを受ける特別なセクタとして指定されている。この場合において、例えば、LBA 0によって識別されるセクタ情報は頻繁にアクセスされ、書込まれるたびに、それは異なるブロックに書込まれる。それが最初に書込まれるときは、ブロック44のセクタ位置50に書込まれ、2回目に書込まれるときは、例えばブロック48の位置54に対する情報他の書込みのようにブロック46の位置52などに書込まれる。これは、いかなる移動動作を回避し、それによってシステム性能を増加させる。欠点は、多くのブロックを処理する場合には、すなわち、LAB 0セクタ情報が書込まれる44、46および48のようなブロック数が非常に多い場合には、多くのブロックは、「空」のままかまたはそれに対して書込まれていて、このように、ある時点でそれらが「閉鎖(closed)」されるか、または、更なる使用をしないことを宣言し、再び使用される前に消去されるまで、他のタイプの情報を書込むために用いることができない。
図2bは、不揮発性メモリシステム20によって頻繁にアクセスされたセクタの処理を示す。図2bで、システム20はブロック0、ブロック1およびブロックMを含むことを示しており、多くのブロックが使用され得る。ブロック0、1およびMが説明の便宜上図示してある。
各ブロックは、セクタ情報(すなわち、ユーザデータおよびオーバーヘッド情報)を格納するための所定数(例えば、16)のセクタ格納位置を含む。ブロック0は、VPBA 0によって識別されるかまたはアドレス指定され、ブロック1は、VPBA 1によって識別され、ブロックMは、例えば、VPBA 17によって識別される。セクタ格納位置のそれぞれは、特定のPBAによって識別される。例えば、ブロック0の最初のセクタ格納位置60は、PBA 0によって識別され、ブロック0の最後のセクタ格納位置62はPBA 15によって識別されるかまたはアドレス指定される。図示されていないが、図2bの残りのブロックは、それぞれのセクタ格納位置の類似なPBAアドレス指定を包含する。
図2bの実施例において、LBA 15は、ホストによってそれについて頻繁にアクセスするために選択され、このようにこの議論の主なる目標である。前述で議論したように、他のいかなるセクタも、頻繁にアクセスされたセクタに指定されることがあり得る点に留意する必要がある。セクタ15として、時々引用されるブロックMは、LBA 15によって識別されるセクタに対する更新を格納するための専用のブロックとして機能する。
まず、セクタは、ブロック0のセクタ格納位置に書込まれる。これらのセクタが再書込みされる際、それらは、セクタ15以外のブロック1のセクタ、またはLBA 15によって識別されるセクタに書込まれる。すなわち、セクタ15をブロック1に書込むよりも、セクタ15に対する次の更新として専用ブロック、この場合にはブロックM、に書込まれる。このように、セクタ15が、セクタの連続番号の一部、すなわちセクタ0〜15としてか、さもなくば、ランダム書込み動作のように更新されるたびに、ブロックM内の未使用または使用可能なセクタ位置に書込まれる。最初に更新されると、セクタ位置66に書込まれ得、次に更新されるとき、それがセクタ位置68に書込まれ得る等々それはセクタ位置70に書込まれるまで続く。その後で、他の利用可能なブロックは、セクタ15の更新を含むように割り当てられる。
図3は、本発明の実施形態を使用する、例えば、ディジタルカメラ、パーソナルコンピュータ等のディジタルシステム500を表す。ディジタルシステム500は、ディジタルシステムで一般に使用されているいかなる汎型のパーソナルコンピュータ(PC)もしくは単なるプロセッサであり得るホスト502を含むように図示されており、不揮発性メモリ装置508に格納し、不揮発性メモリユニット508からの情報を取出すコントローラ回路506に接続されている。本発明の1つの実施形態において、メモリユニット508は、図2の不揮発性メモリシステム20を含み、前述の先行図に関して記載されているのと同様に管理される。
コントローラ回路506は、半導体(さもなければ「集積回路」または「チップ」と呼ばれる)またはさまざまな電子部品の任意選択の組合せであり得る。好ましい実施形態において、コントローラ回路はシングルチップデバイスとして描かれている。不揮発性メモリ装置508は1つ以上のメモリ装置で構成され、それは各々フラッシュまたはEEPROMタイプのメモリであり得る。図3の好ましい実施形態において、メモリ装置508は複数のフラッシュメモリ装置510〜512を含み、各々のフラッシュ装置は、情報を格納する個々にアドレス指定可能な位置を包含する。図3の実施形態の好ましい応用において、このような情報は、複数のブロックに区分される。各ブロックは、1つ以上のセクタのデータを有する。そのデータに加えて、格納されている情報は、フラグフィールド(flag field)、アドレス情報などのデータブロックに関するステータス情報を更に含み得る。
ホスト502は、コントローラ回路506にホスト情報信号504を通じて結合されている。ホスト情報信号は、コントローラ回路506に対する命令、データおよび他のタイプの情報を通信するためのアドレスおよびデータバスとコントロール信号を含み、フラシュアドレスバス512、フラシュデータバス514、フラシュ信号516およびフラシュステータス信号518(508および512〜516は集合的に信号538と呼ばれる)を通じて交互にその種の情報をメモリ装置508に格納する。信号538は、コントローラ506と格納装置508との間の命令、データおよびステータス情報を提供し得る。
コントローラ506は、高水準機能ブロック、例えば、ホストインタフェースブロック520と、バッファーRAMブロック522と、フラッシュコントローラブロック532と、マイクロプロセッサブロック524と、マイクロプロセッサコントローラブロック528と、マイクロプロセッサメモリ装置ブロック530と、マイクロプロセッサROMブロック534と、ECCロジックブロック540と、スペース管理者ブロック544とを含むように示される。ホストインタフェースブロック520は、ホスト情報信号504を通じ、バッファーRAMブロック522とマイクロプロセッサブロック524とからホスト502にデータおよびステータス情報を提供するホスト情報信号504を受信する。ホストインタフェースブロック520は、アドレスバスと、データバスと、制御信号とを含むマイクロプロセッサ情報信号526を介してマイクロプロセッサブロック524に結合されている。
マイクロプロセッサブロック524は、図示のようにマイクロプロセッサコントローラブロック528と、マイクロプロセッサメモリ装置ブロック530と、マイクロプロセッサROMブロック534とに結合されており、マイクロプロセッサメモリブロック530およびマイクロプロセッサROMブロック534に格納されているプログラム命令を実行することによってコントローラ506の中で図3で示される種々の機能ブロックの動作を指示する役目をする。マイクロプロセッサ524は、時々、不揮発性メモリ領域であるマイクロプロセッサROMブロック534からのプログラム命令(またはコード)を実行することがあり得る。他方、マイクロプロセッサの格納ブロック530は、揮発性(すなわち、読み書きメモリ(RAM)のタイプ)、もしくは、不揮発性(すなわち、EEPROMという格納メモリのタイプ)のいずれかであり得る。集合的にプログラムコードと呼ばれるマイクロプロセッサブロック524によって実行される命令は、本発明システムの動作を開始する前のある時に格納ブロック530に格納される。初めに、マイクロプロセッサ格納位置530からのプログラムコードの実行の前に、プログラムコードは、メモリ装置508に格納され得、その後、信号538を通じてメモリブロック530にダウンロードされ得る。この初期化の間、マイクロプロセッサブロック524は、ROMブロック534からの命令を実行することができる。
コントローラ506は、マイクロプロセッサの指示のもとにメモリユニットから及びメモリユニットへ情報を提供し受信するために、マイクロプロセッサ情報信号526を通じマイクロプロセッサブロック524に結合されるフラッシュコントローラブロック532を更に包含する。データのような情報は、マイクロプロセッサ信号526を通じてフラッシュコントローラブロック532からそこに格納する(単なる一時格納であり得る)ために、バッファーRAMブロック522に提供され得る。同様に、マイクロプロセッサ信号526を通じ、データはフラッシュコントローラブロック532によってバッファーRAMブロック522から取出される得る。
ECCロジックブロック540は、信号542を通じてバッファーRAMブロック522に接続されおり、更に、マイクロプロセッサ信号526を通じてマイクロプロセッサブロック524に接続されている。ECCロジックブロック540は、一般に実行しているエラーコーディング(error coding)および訂正機能のための回路(circuitry)を包含する。さまざまなECC装置およびアルゴリズムは、商業的に入手可能で、ECCロジックブロック540の中で必要とされる機能を実行するために使用され得ることを当業者によってよく理解されなければならない。簡潔にいうと、これらの機能は、多項式から伝送されているデータまで全ての強い目的のために独自に生成されるコードを追加すること(appending)を含み、データが受信された場合には、データを壊したかも知れない所定のエラー回数を検出し、潜在的に矯正するために受信データから他のコードを生成するために同じ多項式を使用することを含む。ECCロジックブロック540は、格納装置508に格納されているデータまたはホスト502から受信しているデータにつきエラー検出および/または訂正動作を実行する。
スペース管理者ブロック544は、他の図を参照して本願明細書において更に説明するように、1群の情報を格納するフラッシュメモリ装置のうちの1つの中で次の未使用の(または空いている)格納ブロックを見つけるため好ましい装置およびアルゴリズムを使用する。前に検討したように、フラッシュメモリ装置の1台中のブロックのアドレスは、VPBAと呼ばれ、それはホストから受け取るLBAの翻訳を実行することによってスペース管理者により決定される。種々の装置および方法は、この翻訳を達成するために使用され得る。この種の計画の実施例は米国特許第5,845,313号において、「Direct Logic Block Addressing Flash Memory Mass Storage Architecture」という題名で開示され、その明細書はここに援用されている。他のLBAからPBAへの翻訳方法および装置は、本発明の範囲および趣旨から逸脱することなく同様に使用し得る。
スペース管理者ブロック544はSPM RAMブロック548およびSPM制御ブロック546を含み、後者の2つのブロックは一つに結合されている。SPM RAMブロック548は、SPM制御ブロック546の制御のもとでLBA‐PBAマッピング情報(本願明細書において他には翻訳テーブル、マッピングテーブル、マッピング情報またはテーブルと呼ばれている)を格納する。このマッピングは、また、不揮発性メモリにおいても保持することができる。または、SPM RAMブロック548は、RAMアレー(array)100に関して図3に示すようにコントローラの外側に位置することがあり得る。
RAMメモリは、ホストによって提供されたLBAと同じアドレスによってアドレス指定可能に配置さてれいる。RAMのこの種の各々のアドレス可能位置は、ホストによって予想される不揮発性大容量格納のデータの実アドレスを保持するフィールドを包含する。
最終的に、ブロックが不揮発性メモリでアドレス指定を受ける方法は、各々のブロック毎に変更を加えられたLBAである仮想論理ブロックアドレス(VLBA)によってである。セクタが各々のブロックでアドレス指定を受ける方法は、仮想物理ブロックアドレス(VPBA)の使用によってである。VPBA位置は、一般に特定のLBA値に対応するPBA値を示す情報を格納するためのものである。
動作において、例えば、コントローラ506を介し読込み動作または書込み動作の行為中に、ホスト502がメモリ装置508から及びメモリ装置508に情報を書込みを行い、読込みを行う。それによって、ホスト502はホスト信号504を通じコントローラ506にLBAを供給する。LBAは、ホストインターフェースブロック520によって受信される。マイクロプロセッサブロック524の指示によって、LBAはPBAに対する翻訳およびその格納のためにスペース管理者ブロック544へ最終的に供給される。本件は以下でもっと詳細に議論される。
マイクロプロセッサブロック524の指示によって、データおよび他の情報は、PBAによって識別されフラッシュコントローラブロック532を介してフラシュメモリ装置510〜512の1つの範囲の格納域に書込まれるかまたはその格納域から読み込まれる。フラッシュメモリ装置内に格納される情報は、前述において議論したよう、先に消去されなければ新しい情報で上書きされ得ない。他方、1ブロックの情報の消去は(常に書込まれる以前の)、時間と力を非常に消費する手段である。これは、時々書込み前消去動作と呼ばれる。好ましい実施形態では、この種の動作を連続的で、しかも効率的に1セクタ(または複数セクタ)の情報をブロック内で移すことにより避けている、すなわち、これはメモリ装置508内で、フラッシュメモリ内のPBA位置から未使用PBA位置へ再書込みされることであり、それによって頻繁な消去動作を避けている。1ブロックの情報は、16または32セクタのような1以上のセクタから構成されることがあり得る。1ブロックの情報は、個々に消去可能な情報のユニットであるために更に定義される。過去において、従来技術システムは、前に書込まれていたフラッシュメモリ装置に格納されたブロックをフラシュメモリ装置の空いている(または未使用の)位置に移していた。しかし、そのようなシステムは、そのブロック内のたった1つのセクタの情報が再書込されるときでさえも全てのブロックを移行していた。換言すれば、ブロック内の全数より少ないセクタが再書込みされる際、フラッシュメモリ内でブロック全体の内容を移すことによる両格納容量の無駄があり、同じく時間の無駄もあった。本願明細書において議論されるように、本発明の好ましい実施形態は、1ブロック未満の情報の「移動」を可能にし、それによって事前に書込まれたセクタの移行動作の数を減少させ、結果として、消去動作の数を減少させている。
本発明が特有の実施形態に関して記載されていたにもかかわらず、本発明の変更および修正が間違いなく当業者にとって明らかになることを期待している。それ故、本願の請求の範囲は、そのようなすべての変更および修正を包含し、それらは本発明の真の精神および範囲に含まれる。
従来技術である不揮発性メモリシステム10を示す図 本発明の実施形態に従ったディジタル機器システム50を示す図 本発明の他の実施形態を示す図 不揮発性メモリシステム20によって頻繁にアクセスされたセクタの処理を示す図 本発明の実施形態に従い、ディジタルカメラのように図2の不揮発性メモリシステム20を使用するディジタルシステム500のハイレベルのブロック図

Claims (23)

  1. a.セクタ情報を有するファイルを書込む書込み命令を送信するホストと、
    b.該命令に応答するコントロール装置であって、FSInfoセクタ情報を書込み更新するコントロール装置と
    を備え、
    該コントロール装置は、
    複数のブロックに区分された不揮発性メモリシステムであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、特定の空きブロックがFSInfoセクタ情報を格納するために指定される、不揮発性メモリシステムを含み、
    該FSInfoセクタが更新されると、該更新されたFSInfoセクタ情報が該専用のブロックの次の空きセクタに書き込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する、ディジタル機器システム。
  2. 前記特定のブロックは、該特定のブロックの前記セクタ位置のそれぞれへの書込みを該ブロックが満杯になるまで続けることによって前記FSInfoセクタ情報で満たされる、請求項1に記載のディジタル機器システム。
  3. 前記特定のブロックは、それが満杯になった後に消去される、請求項2に記載のディジタル機器システム。
  4. 前記特定のブロック以外の空いているか利用可能なブロックが、該特定のブロックが満杯である場合にFSInfoセクタ情報の更新を格納するために指定される、請求項2に記載のディジタル機器システム。
  5. 前記空きブロックが指定されると、更新されたFSInfoセクタ情報は、前記特定のブロック以外の前記空いているか利用可能なブロックのセクタ位置に書込まれ続ける、請求項4に記載のディジタル機器システム。
  6. 前記FSInfoセクタ情報が最初に書込まれる際は、前記特定のブロックの第1の位置に書込まれる、請求項1に記載のディジタルの機器システム。
  7. 複数のブロックに区分された複数の不揮発性メモリ格納位置であって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、特定の空きブロックがFSInfoセクタ情報を格納するために指定される、複数の不揮発性メモリ格納位置
    を備え、
    該FSInfoセクタが更新されると、該更新されたFSInfoセクタ情報が該専用のブロックの次の空きセクタに書き込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する、不揮発性メモリシステム。
  8. 前記特定のブロックは、該特定のブロックの前記セクタ位置のそれぞれへの書込みを該ブロックが満杯になるまで続けることによって前記FSInfoセクタ情報で満たされる、請求項7に記載の不揮発性メモリシステム。
  9. 前記特定のブロックは、それが満杯になった後に消去される、請求項8に記載の不揮発性メモリシステム。
  10. 前記特定のブロック以外の空いているか利用可能なブロックが、該特定のブロックが満杯である場合にFSInfoセクタ情報の更新を格納するために専用化される、請求項8に記載の不揮発性メモリシステム。
  11. 前記特定のブロックが満杯であると、更新されたFSInfoセクタ情報は、前記特定のブロック以外の前記空いているか利用可能なブロックに格納され続ける、請求項10に記載の不揮発性メモリシステム
  12. 前記FSInfoセクタ情報が最初に書込まれる際は、前記特定のブロックの第1の位置に書込まれる、請求項7に記載のディジタルの機器システム。
  13. 複数の不揮発性メモリ格納位置を含む不揮発性メモリシステムに対する書込み動作の速度を増加させる方法であって、該方法は、
    該複数の不揮発性メモリ格納位置を複数のブロックに区分することであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含む、ことと、
    FSInfoセクタ情報を格納するための複数のセクタ位置を有する特定の空きブロックを指定することと、
    該特定のブロックの該複数セクタ位置の該セクタ位置のうちの1つにFSInfoセクタ情報を書込むことと、
    更新されたFSInfoセクタ情報を受け取ることと、
    該特定のブロックの次の空いているセクタ位置に該更新されたFSInfoセクタ情報を書込むことによって該FSInfoセクタ情報を更新することと、
    該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良することと
    を包含する、方法。
  14. 請求項13の前記書込みステップは、前記特定のブロックの第1の位置に対して実行される、請求項13に記載の書込み動作の速度を増加させる方法。
  15. 複数のブロックに区分された複数の不揮発性メモリ格納位置であって、仮想論理ブロックアドレス(VLBA)によって識別される各ブロックがセクタ情報を格納するための複数のセクタ位置を含み、各セクタ位置が物理ブロックアドレス(PBA)によって識別され、第1のLBAによって識別され、かつ、N PBAによって識別されるN個のセクタ位置を有する特定の空きブロックが特定のタイプのセクタ情報を格納するために指定され、該特定のタイプのセクタ情報が他のセクタ情報と比較して頻繁にアクセスされたかまたは更新されたとして検出される特定のタイプのセクタ情報である、複数の不揮発性メモリ格納位置
    を備え、
    該特定のタイプのセクタ情報が更新されると、該更新された特定のタイプのセクタ情報が、該第1のLBAによって識別される該専用のブロックの次の空セクタに書込まれ、これにより、該特定のブロックの該セクタを他のブロックに移動させることを回避し、その結果、システム性能を改良する、不揮発性メモリシステム。
  16. 前記特定のタイプのセクタ情報が更新されるたびに、それが前記N個の位置の全てが書込まれるまで前記専用ブロックの前記N個の位置のうちの1つに書込まれ、その後に、前記特定のタイプのセクタ情報が、第2のLBAによって識別されるブロックに書込まれ、その後に、毎回、前記特定のタイプのセクタ情報に対する前記更新が、後者が満杯になるまで該第2のLBAによって識別される前記ブロックに書込まれる、請求項15に記載の不揮発性メモリシステム。
  17. 前記特定のタイプのセクタ情報は、どのセクタが他のセクタより多くアクセスされたか決定するためにしきい値を用いて識別され、セクタがアクセスされた回数がしきい値を超えた場合に、そのセクタを前記の特定タイプのセクタ情報として指定する、請求項15に記載の不揮発性メモリシステム。
  18. ファームウェアが、前記不揮発性メモリシステムを管理するように実行され、前記しきい値が該ファームウェアの中にプログラムされている、請求項17に記載の不揮発性メモリシステム。
  19. 前記特定のタイプのセクタ情報が、FSInfoセクタ情報である、請求項15に記載の不揮発性メモリシステム。
  20. 前記特定のタイプのセクタ情報が更新されるたびに、異なる専用ブロックに書込まれる、請求項15に記載の不揮発性メモリシステム。
  21. 前記特定のタイプのセクタ情報が、オーバーヘッド部分を含み、アクセスカウンタ値が、前記特定のセクタがアクセスされた回数を保持するために用いられ、該アクセスカウンタ値は該オーバーヘッド部分に格納されている、請求項15に記載の不揮発性メモリシステム。
  22. 複数の不揮発性メモリ格納位置を含む不揮発性メモリシステムに対する書込み動作の速度を増加させる方法であって、該方法は、
    該複数の不揮発性メモリ格納位置を複数のブロックに区分することであって、各ブロックがセクタ情報を格納するための複数のセクタ位置を含む、ことと、
    頻繁にアクセスされたセクタ情報を格納するための複数のセクタ位置を有する特定の空きブロックを指定することと、
    該特定のブロックの該複数セクタ位置の該セクタ位置のうちの1つに該頻繁にアクセスされたセクタ情報を書込むことと、
    更新された頻繁にアクセスされたセクタ情報を受け取ることと、
    該特定のブロックの次の空きセクタ位置に該更新された頻繁にアクセスされたセクタ情報を書込むことによって該頻繁にアクセスされたセクタ情報を更新することと、
    該特定のブロックの該セクタを他のブロックに移動させることを回避し、それによって、システム性能を改良することと
    を包含する、方法。
  23. 前記頻繁にアクセスされたセクタ情報は、FSInfoセクタ情報である、請求項22に記載の不揮発性メモリシステム。
JP2004360522A 2003-12-19 2004-12-13 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作 Active JP4588431B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/741,129 US8171203B2 (en) 1995-07-31 2003-12-19 Faster write operations to nonvolatile memory using FSInfo sector manipulation

Publications (3)

Publication Number Publication Date
JP2005182793A true JP2005182793A (ja) 2005-07-07
JP2005182793A5 JP2005182793A5 (ja) 2008-01-10
JP4588431B2 JP4588431B2 (ja) 2010-12-01

Family

ID=34552805

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004360522A Active JP4588431B2 (ja) 2003-12-19 2004-12-13 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作

Country Status (6)

Country Link
US (1) US8171203B2 (ja)
EP (1) EP1548599B1 (ja)
JP (1) JP4588431B2 (ja)
CN (1) CN1658171B (ja)
AT (1) ATE476707T1 (ja)
DE (1) DE602004028437D1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503730A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 記憶装置用デュアルモードアクセスのための方法およびシステム
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
WO2010092483A1 (en) * 2009-02-13 2010-08-19 Alexey Raevsky Devices and methods for optimizing data-parallel processing in multi-core computing systems
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
KR20180034079A (ko) * 2016-09-27 2018-04-04 삼성전자주식회사 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
JP4480064B2 (ja) 2002-01-31 2010-06-16 パナソニック株式会社 メモリ管理装置およびメモリ管理方法
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
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7509471B2 (en) 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
WO2007081598A2 (en) * 2005-10-27 2007-07-19 Sandisk Corporation Adaptive handling data writes in non-volatile memories
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
US7747837B2 (en) * 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US20080313364A1 (en) 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9116823B2 (en) 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
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
US20080307156A1 (en) * 2007-06-08 2008-12-11 Sinclair Alan W System For Interfacing A Host Operating Through A Logical Address Space With A Direct File Storage Medium
US8239639B2 (en) * 2007-06-08 2012-08-07 Sandisk Technologies Inc. Method and apparatus for providing data type and host file information to a mass storage system
CN101452512B (zh) * 2007-12-03 2011-03-30 联想(北京)有限公司 实现文件安全存储的方法、装置和文件读取装置
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
CN101526920B (zh) * 2008-12-31 2011-04-27 北京飞天诚信科技有限公司 写入数据的方法及装置
US8239614B2 (en) 2009-03-04 2012-08-07 Micron Technology, Inc. Memory super block allocation
JP5999645B2 (ja) 2009-09-08 2016-10-05 ロンギチュード エンタープライズ フラッシュ エスエイアールエル ソリッドステート記憶デバイス上にデータをキャッシングするための装置、システム、および方法
JP5538970B2 (ja) * 2010-03-25 2014-07-02 キヤノン株式会社 情報処理装置、データ処理方法、プログラム
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
CN102081580B (zh) * 2011-02-24 2012-07-04 华中科技大学 一种磁盘数据保护方法
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
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
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
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
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
CN107608630B (zh) * 2017-09-07 2020-09-04 四川九洲北斗导航与位置服务有限公司 数据读写方法及装置
US11659380B1 (en) 2021-05-05 2023-05-23 T-Mobile Usa, Inc. UE-capability-based system information block transmission

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179599A (ja) * 1995-12-27 1997-07-11 Olympus Optical Co Ltd 音声記録再生装置
JPH1031611A (ja) * 1996-07-15 1998-02-03 Advantest Corp 不揮発性メモリ記憶媒体用ファイルシステム
JPH1091362A (ja) * 1996-06-05 1998-04-10 Internatl Business Mach Corp <Ibm> 頻繁にアクセスされ、ランダムにアドレス指定されるデータの適応局所化方法及び装置
JPH11110245A (ja) * 1997-10-03 1999-04-23 Fujitsu Ltd エバリュエーションパッケージ
JPH11512544A (ja) * 1995-09-13 1999-10-26 レクサー・マイクロシステムズ・インコーポレーテッド 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2002032256A (ja) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd 端末装置
JP2003272391A (ja) * 2003-02-03 2003-09-26 Toshiba Corp 不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法

Family Cites Families (262)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US430682A (en) 1890-06-24 Door-check
US309627A (en) 1884-12-23 johnson
US465338A (en) 1891-12-15 Sliding weather-strip for doors
US723990A (en) 1902-08-25 1903-03-31 Hermann Claassen Process of boiling sugar solutions.
US758100A (en) 1904-01-16 1904-04-26 Imp Pneumatic Tool Company Handle for pneumatic tools.
US768195A (en) 1904-03-25 1904-08-23 John J Quackenbush Shutter-fastener.
US809515A (en) 1905-06-29 1906-01-09 Milton H Loudon Electrical railway signaling system.
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
US4468730A (en) 1981-11-27 1984-08-28 Storage Technology Corporation Detection of sequential data stream for improvements in cache data storage
US4476526A (en) 1981-11-27 1984-10-09 Storage Technology Corporation Cache buffered memory subsystem
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カード
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
JPH081760B2 (ja) 1987-11-17 1996-01-10 三菱電機株式会社 半導体記憶装置
JPH01137817A (ja) 1987-11-25 1989-05-30 Toshiba Corp 遅延回路
US5303148A (en) * 1987-11-27 1994-04-12 Picker International, Inc. Voice actuated volume image controller and display controller
SU1515164A1 (ru) 1988-01-12 1989-10-15 Предприятие П/Я Г-4493 Устройство дл адресации к пам ти
SU1541619A1 (ru) 1988-05-30 1990-02-07 Предприятие П/Я Г-4173 Устройство дл формировани адреса
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
US5198380A (en) 1988-06-08 1993-03-30 Sundisk Corporation Method of highly compact EPROM and flash EEPROM devices
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5268319A (en) 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US5168465A (en) 1988-06-08 1992-12-01 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
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 Устройство дл адресации
DE69034227T2 (de) 1989-04-13 2007-05-03 Sandisk Corp., Sunnyvale EEprom-System mit Blocklöschung
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
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 ブロックライト機能を備える半導体記憶装置
GB2251324B (en) 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
GB2251323B (en) 1990-12-31 1994-10-12 Intel Corp Disk emulation for a non-volatile semiconductor memory
US5270979A (en) 1991-03-15 1993-12-14 Sundisk Corporation Method for optimum erasing of EEPROM
US5504760A (en) 1991-03-15 1996-04-02 Sandisk Corporation Mixed data encoding EEPROM system
US5396468A (en) 1991-03-15 1995-03-07 Sundisk Corporation Streamlined write operation for 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 書換回数制限型メモリのデータ管理方式
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
JP3171901B2 (ja) 1992-02-05 2001-06-04 セイコーインスツルメンツ株式会社 不揮発性メモリカードの書換え方法
JPH05233426A (ja) 1992-02-20 1993-09-10 Fujitsu Ltd フラッシュ・メモリ使用方法
US5371702A (en) 1992-03-05 1994-12-06 Kabushiki Kaisha Toshiba Block erasable nonvolatile 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 株式会社東芝 不揮発性半導体メモリ装置
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
JPH06195258A (ja) * 1992-07-08 1994-07-15 Nec Corp 半導体記憶装置
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 株式会社東芝 半導体メモリ装置
JP3641280B2 (ja) 1992-10-30 2005-04-20 インテル・コーポレーション フラッシュeepromアレイのクリーン・アップすべきブロックを決定する方法
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
US5357475A (en) 1992-10-30 1994-10-18 Intel Corporation Method for detaching sectors in a flash EEPROM memory array
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5341330A (en) 1992-10-30 1994-08-23 Intel Corporation Method for writing to a flash memory array during erase suspend intervals
US5734567A (en) 1992-11-06 1998-03-31 Siemens Aktiengesellschaft Diagnosis system for a plant
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カード
US5388083A (en) 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5479638A (en) 1993-03-26 1995-12-26 Cirrus Logic, Inc. Flash memory mass storage architecture incorporation wear leveling technique
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 株式会社リコー メモリカード
US5329491A (en) 1993-06-30 1994-07-12 Intel Corporation Nonvolatile memory card with automatic power supply configuration
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
US5422842A (en) 1993-07-08 1995-06-06 Sundisk Corporation Method and circuit for simultaneously programming and verifying the programming of selected EEPROM cells
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 株式会社東芝 半導体記憶装置
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
JPH07235193A (ja) 1993-12-28 1995-09-05 Toshiba Corp 半導体記憶装置
SG45399A1 (en) 1994-01-12 1998-01-16 Sun Microsystems Inc Logically addressable physical memory for a virtual memory computer system that support multiple page sizes
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
US5553261A (en) * 1994-04-01 1996-09-03 Intel Corporation Method of performing clean-up of a solid state disk while executing a read command
US5603001A (en) 1994-05-09 1997-02-11 Kabushiki Kaisha Toshiba Semiconductor disk system having a plurality of flash memories
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ファイル装置
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 フラッシュメモリカード
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
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
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
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
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
US8171203B2 (en) 1995-07-31 2012-05-01 Micron Technology, Inc. Faster write operations to nonvolatile memory using FSInfo sector manipulation
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
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
US5845313A (en) 1995-07-31 1998-12-01 Lexar Direct logical block addressing flash memory mass storage architecture
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
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 不揮発性多値メモリ装置
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
GB2291990A (en) 1995-09-27 1996-02-07 Memory Corp Plc Flash-memory management system
GB2291991A (en) 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5809560A (en) 1995-10-13 1998-09-15 Compaq Computer Corporation Adaptive read-ahead disk cache
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
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
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
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
US6411546B1 (en) 1997-03-31 2002-06-25 Lexar Media, Inc. Nonvolatile memory using flexible erasing methods and method and system for using same
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
US6034897A (en) 1999-04-01 2000-03-07 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
US5831929A (en) 1997-04-04 1998-11-03 Micron Technology, Inc. Memory device with staggered data paths
JP3592887B2 (ja) 1997-04-30 2004-11-24 株式会社東芝 不揮発性半導体記憶装置
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
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
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
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 半導体記憶装置、不揮発性半導体記憶装置及びフラッシュメモリ
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
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
JP3714969B2 (ja) 1998-03-02 2005-11-09 レクサー・メディア・インコーポレイテッド 改良されたオペレーティングモード検出機能を備えたフラッシュメモリーカード及びユーザフレンドリなインターフェーシングシステム
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
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
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
AU1729100A (en) 1998-11-17 2000-06-05 Lexar Media, Inc. Method and apparatus for memory control circuit
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6041001A (en) 1999-02-25 2000-03-21 Lexar Media, Inc. Method of increasing data reliability of a flash memory device without compromising compatibility
US6084483A (en) 1999-03-10 2000-07-04 Lexar Media, Inc. Internal oscillator circuit including a ring oscillator controlled by a voltage regulator circuit
EP1729304B1 (en) 1999-04-01 2012-10-17 Lexar Media, Inc. Space management for managing high capacity nonvolatile memory
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
US6282605B1 (en) * 1999-04-26 2001-08-28 Moore Computer Consultants, Inc. File system for non-volatile computer 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
US20030003471A1 (en) * 1999-07-12 2003-01-02 Famodu Omolayo O. cDNAs encoding polypeptides
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6721843B1 (en) 2000-07-07 2004-04-13 Lexar Media, Inc. Flash memory architecture implementing simultaneously programmable multiple flash memory banks that are host compatible
US6567307B1 (en) 2000-07-21 2003-05-20 Lexar Media, Inc. Block management for mass storage
US6772274B1 (en) * 2000-09-13 2004-08-03 Lexar Media, Inc. Flash memory system and method implementing LBA to PBA correlation within flash memory array
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
US20030046482A1 (en) 2001-08-28 2003-03-06 International Business Machines Corporation Data management in flash memory
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123415D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123419D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Data handling system
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB2411499B (en) 2001-09-28 2006-02-08 Lexar Media Inc Method of writing data to non-volatile memory
GB0123422D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0129286D0 (en) 2001-12-06 2002-01-23 Optek Ltd Improvements relating to the coupling of optical waveguides
TWI240861B (en) 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
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
US20030163633A1 (en) * 2002-02-27 2003-08-28 Aasheim Jered Donald System and method for achieving uniform wear levels in a flash memory device
US6901499B2 (en) * 2002-02-27 2005-05-31 Microsoft Corp. System and method for tracking data stored in a flash memory device
US7085879B2 (en) * 2002-02-27 2006-08-01 Microsoft Corporation Dynamic data structures for tracking data stored in a flash memory device
ATE372578T1 (de) * 2002-10-28 2007-09-15 Sandisk Corp Automatischer abnutzungsausgleich in einem nicht- flüchtigen speichersystem
US6973519B1 (en) 2003-06-03 2005-12-06 Lexar Media, Inc. Card identification compatibility

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11512544A (ja) * 1995-09-13 1999-10-26 レクサー・マイクロシステムズ・インコーポレーテッド 半導体不揮発性大容量記憶メモリ内の自動摩耗レベリングによるシステム・データ制御の方法およびアーキテクチャ
JPH09179599A (ja) * 1995-12-27 1997-07-11 Olympus Optical Co Ltd 音声記録再生装置
JPH1091362A (ja) * 1996-06-05 1998-04-10 Internatl Business Mach Corp <Ibm> 頻繁にアクセスされ、ランダムにアドレス指定されるデータの適応局所化方法及び装置
JPH1031611A (ja) * 1996-07-15 1998-02-03 Advantest Corp 不揮発性メモリ記憶媒体用ファイルシステム
JPH11110245A (ja) * 1997-10-03 1999-04-23 Fujitsu Ltd エバリュエーションパッケージ
JP2001154909A (ja) * 1999-11-25 2001-06-08 Casio Comput Co Ltd フラッシュメモリ管理装置及び記録媒体
JP2002032256A (ja) * 2000-07-19 2002-01-31 Matsushita Electric Ind Co Ltd 端末装置
JP2003272391A (ja) * 2003-02-03 2003-09-26 Toshiba Corp 不揮発性半導体メモリ装置及びその制御方法、不揮発性半導体メモリ装置システム及びその制御方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009503730A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 記憶装置用デュアルモードアクセスのための方法およびシステム
JP2009259145A (ja) * 2008-04-21 2009-11-05 Tdk Corp メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
WO2010092483A1 (en) * 2009-02-13 2010-08-19 Alexey Raevsky Devices and methods for optimizing data-parallel processing in multi-core computing systems
JP2011154547A (ja) * 2010-01-27 2011-08-11 Toshiba Corp メモリ管理装置及びメモリ管理方法
KR20180034079A (ko) * 2016-09-27 2018-04-04 삼성전자주식회사 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템
KR102611638B1 (ko) 2016-09-27 2023-12-08 삼성전자주식회사 스토리지 장치의 동작 방법 및 스토리지 장치를 포함하는 데이터 저장 시스템

Also Published As

Publication number Publication date
CN1658171A (zh) 2005-08-24
CN1658171B (zh) 2010-04-28
JP4588431B2 (ja) 2010-12-01
EP1548599A3 (en) 2007-02-28
ATE476707T1 (de) 2010-08-15
EP1548599A2 (en) 2005-06-29
US20050055497A1 (en) 2005-03-10
EP1548599B1 (en) 2010-08-04
DE602004028437D1 (de) 2010-09-16
US8171203B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
JP4588431B2 (ja) 頻繁にアクセスされたセクタの動作による不揮発性メモリに対するより速い書込み動作
EP1739683B1 (en) Space management for managing high capacity nonvolatile memory
JP5035636B2 (ja) フラッシュメモリ内のブロックにおける移動セクタ
EP1729304B1 (en) Space management for managing high capacity nonvolatile memory
US5860124A (en) Method for performing a continuous over-write of a file in nonvolatile memory
US5953737A (en) Method and apparatus for performing erase operations transparent to a solid state storage system
US8443167B1 (en) Data storage device employing a run-length mapping table and a single address mapping table
JP4695801B2 (ja) 不揮発性メモリ上で実行されるブロック書き込み動作時間を低減させる方法および装置
US5907856A (en) Moving sectors within a block of information in a flash memory mass storage architecture
US6327639B1 (en) Method and apparatus for storing location identification information within non-volatile memory devices
EP1036364B1 (en) Alignment of cluster address to block addresses within a semiconductor non-volatile mass storage memory
US7529879B2 (en) Incremental merge methods and memory systems using the same
US20110099323A1 (en) Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US20070016721A1 (en) Flash file system power-up by using sequential sector allocation
US8838877B2 (en) File system derived metadata for management of non-volatile memory
JP2004342126A (ja) 複数のデバイスへ同時書き込み操作を行うことにより高まるフラッシュメモリデバイスにおけるメモリ性能
WO2005059966A2 (en) Rotational use of memory to minimize write cycles
US20210181960A1 (en) Solid state storage device with quick boot from nand media
US20050204115A1 (en) Semiconductor memory device, memory controller and data recording method
JP2003242788A (ja) 不揮発性半導体メモリ装置及びその制御方法
CN115079928A (zh) 跳跃式资料清除方法与资料储存***

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100816

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100908

R150 Certificate of patent or registration of utility model

Ref document number: 4588431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250