JP4954974B2 - 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム - Google Patents

少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム Download PDF

Info

Publication number
JP4954974B2
JP4954974B2 JP2008505857A JP2008505857A JP4954974B2 JP 4954974 B2 JP4954974 B2 JP 4954974B2 JP 2008505857 A JP2008505857 A JP 2008505857A JP 2008505857 A JP2008505857 A JP 2008505857A JP 4954974 B2 JP4954974 B2 JP 4954974B2
Authority
JP
Japan
Prior art keywords
volatile memory
data
memory
flash
block
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.)
Expired - Fee Related
Application number
JP2008505857A
Other languages
English (en)
Other versions
JP2008537828A (ja
Inventor
ペーター ヴィッテンブルク,イェンス
ブルーネ,トーマス
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of JP2008537828A publication Critical patent/JP2008537828A/ja
Application granted granted Critical
Publication of JP4954974B2 publication Critical patent/JP4954974B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、少なくとも一つの共通データI/Oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶し、それにより欠陥フラッシュ・ブロックのためのデータが別の場所に記憶される方法およびシステムに関する。
HDTV信号、デジタル映画などのリアルタイムのデジタル高帯域幅ビデオ信号における(業務用の)フィルムおよびビデオの記録または再生のためには、非常に高速なメモリが要求される。ストリーミングHDビデオ・データの記憶のためには、NANDフラッシュメモリに基づくシステムを使うことができる。フラッシュメモリ・デバイスは物理的にはページ指向モードでアクセスされる。ここで、1「ページ」はたとえば1024データ語および関係する誤り訂正符号(ecc)を含む。NANDフラッシュメモリは二つの基本的な欠点がある:
・書き込みアクセスがやや遅い;
・マスクされていない製造欠陥があり、寿命中にさらに多くの欠陥を生じる。要求されるエラー対処はユーザーの責任下にある。
特定のフラッシュメモリに対する消去動作は、ある大きさのデータ・ブロックのみに対して実行できる。これらのデータ・ブロックは、以下では「フラッシュ・ブロック(flash-block)」の用語で表す。フラッシュ・ブロックはたとえば64ページからなる。フラッシュメモリ・デバイス(たとえばNANDデバイス)における欠陥の検出はたとえば消去動作の間に発生する。ページ中に欠陥があると、フラッシュ・ブロック全体が使用できなくなるのである。ファイル・システムはそのような欠陥フラッシュ・ブロックを使用してはならない。
動作中の散発的な欠陥に取り組む既知の手法は冗長性を導入することである。冗長性は、たとえば対応するチャネル符号化によって、あるいはデータ再送信によって導入される。
ストリーミング・ビデオの記録のためには、関係するファイル・システムは、リアルタイム条件下で、未使用記憶スペースの「論理ブロック番号」と呼称されるアドレス値を与えなければならず、かつ欠陥メモリ・ブロックをアドレッシングしないよう配慮しなければならない。高精細度ビデオ記録システムでは、遅い書き込みアクセスのため、インターリーブされる並列的な多数のフラッシュメモリ・デバイスを用いなければならない。これは、いくつかのフラッシュ・デバイスが並列的にアクセスされるべきであり、要求されるストリーミング帯域幅を持続させるために同じバス上のすべてのデバイスが逐次順にアクセスされるべきであることを意味している。
しかしながら、冗長性を導入する上述の手法は、記憶デバイスのための追加的な帯域幅を要求するという欠点がある。しかし、フラッシュメモリ・ベースのストリーミング・ビデオ記録システムでは、フラッシュ・デバイスに帯域幅を追加することは、追加的な並列、すなわち追加的なシステム・サイズ、電力消費およびコストに対する需要につながるので、最も危機的かつ高価な資源である。
NANDフラッシュメモリへのアクセスは、20MHzバス・クロックを使って行える。最もリアルタイムが枢要なのは書き込み動作である。あるページ全体がメモリ・デバイスに入力されたのち、「プログラム」コマンド(すなわち書き込みコマンド)が発され、このコマンドがフラッシュメモリの内部ページ・レジスタから実際のフラッシュメモリ・セルへのデータのコピーを開始させる。そのようなページ・プログラム動作は最悪ケースにおいて700μsを必要とする。そのページ・レジスタには、この時間期間中にアクセスしてはならない。だが、同じバス上にある他のフラッシュメモリのページ・レジスタへのデータ転送はこの時間中も行ってよい。そのような700μsの時間期間内には、バス・インターリーブを使っているときには、データは同じバスに接続されている10ないし15個の他のフラッシュメモリに転送されることができる。
典型的なNANDフラッシュメモリは、あるページについての各プログラム動作すなわち書き込み動作のあとに、該動作が成功したかどうか、すなわち欠陥が発生したかどうかの状態情報を提供する。
本発明によって解決されるべき問題は、フラッシュメモリ・ベースの記憶システムのために、メモリ・データ・ブロック欠陥に起因する書き込みエラーの場合のための、対応するエラー対処を提供することである。この問題は請求項1に開示される方法によって解決される。この方法を利用する記憶システムは請求項2で開示される。
本発明によれば、上記したエラー報告機構が活用される。ビデオ・データは不揮発性フラッシュメモリに書き込まれるだけでなく、フラッシュメモリと並列的に動作している揮発性の一つまたは複数のSRAMまたはDRAMメモリにも書き込まれる。SRAMまたはDRAMへの並列アクセスは、そのようなメモリ・デバイスがフラッシュメモリに比べて十分以上の帯域幅を提供するので、危機的にはならない。ビデオ・データは、それぞれのデータを保持するフラッシュメモリがそのプログラム動作すなわち書き込み動作が成功したと報告するまで、揮発性メモリ中に保持される。ひとたびこの報告があれば、その揮発性メモリ中のデータは、メモリ容量節約のため、上書きされることができる。フラッシュメモリがエラーを報告した場合は、個別の論理データ・ブロックが「不良」とマークされ、記録されたテイク全体の終わりに達するまで上書きされない。終わりに達した時点で、フラッシュメモリへのバスはアイドルになり、帯域幅全体を使って、まず、個別のフラッシュメモリ(すなわち欠陥を報告したフラッシュメモリ)からのフラッシュ・ブロックのマークされたデータを、そのフラッシュメモリ内の予備の単数または複数のフラッシュ・ブロックにコピーし、次いで、SRAMまたはDRAMメモリからの対応する誤りのあった単数または複数のページを対応する単数または複数の予備のフラッシュ・ブロック中の単数または複数の対応するページにコピーすることができる。
有利なことに、ストリーミング・データの揮発性RAM(SRAMまたはDRAM)へのそのような並列記憶は帯域幅を無駄にしない。
好ましくは、論理的なファイル・システム・ブロックと物理的なメモリ・ブロックとは同じサイズではない。論理的なファイル・システム・ブロックは、記憶システム全体において使用される全フラッシュメモリ・デバイスからのフラッシュ・ブロックの総合である。そのような論理的なファイル・システム・ブロックは、ファイル・システム・テーブルを使用する際に、アドレッシング可能な最小のシステム・エンティティとなる。ファイル・システムは、不良ブロック再割り当て(remap)およびファイル・アロケーション(FAT)のために別個のテーブルを有する。不良ブロック割り当ては、「ブロック指示(indirection)テーブル」を使って単一フラッシュ・ブロック・レベル上に保たれる。該テーブルは、フラッシュメモリ・デバイスごとに一つある。
フラッシュメモリへの書き込みは単にページ・ベースで実行される。それにより、全フラッシュメモリ中において、同じページ番号Nが記憶システムの論理ページNをなす。
本発明は、フラッシュメモリへの追加的な帯域幅の必要なしに、記録中に発生したフラッシュメモリ欠陥の完全に透明なマスキングを容易にする。これはシステム・サイズ、電力消費およびコストを節減する。追加的なSRAM/DRAMが記憶システムに統合されなければならないが、そのような追加的なメモリは他の理由ですでに存在していることも多い。
原理的に、本発明の方法は、少なくとも一つの共通データI/Oバスに接続された複数の不揮発性メモリを含む記憶システム中で論理データ・ブロックを記憶するために好適であり、前記不揮発性メモリのそれぞれは、それぞれ複数のデータ語を含むメモリ・ページによって物理的にアクセスでき、前記不揮発性メモリのそれぞれは、それぞれ前記メモリ・ページの複数を含むフラッシュ・ブロックによって論理的にアクセスでき、前記方法は次のステップを含む:
・ページ・データ・ブロックを複数の不揮発性メモリのフラッシュ・ブロックに記憶し、並行して揮発性メモリ手段の対応するバッファ・スロットに巡回バッファ・スロット・アクセス序列で記憶するステップであって、前記揮発メモリ手段の個別に使用される記憶容量が前記不揮発性メモリの記憶容量よりも小さく、最後の空きバッファ・スロットが書き込まれたあとは前記序列が最初のバッファ・スロットに上書きすることによって再び開始され、
前記不揮発性メモリの一つまたは複数が、現在のページ・データ・ブロックを記録するときに、そのページ・データ・ブロックにおいてエラーが発生したことを合図する場合、前記揮発性メモリ手段――または関係するテーブル項目――中の対応する現在バッファ・スロットが対応してマークされ、前記序列のその後の回においては前記マークされたバッファ・スロット(単数または複数)はスキップされ、そこに記憶されたデータは不変に保たれるようなステップと、
・前記不揮発性メモリにテイクが記録されたのち、誤りのあったページ・データを含んでいる前記揮発性メモリ手段のフラッシュ・ブロック・データを対応するフラッシュメモリの空きフラッシュ・ブロックにコピーし、前記揮発性メモリ手段におけるどのバッファ・スロットあるいはどの関係したテーブル項目がマークされているかを検査して、前記揮発性メモリ手段の前記マークされたバッファ・スロットからの対応するページ・データ・ブロック・データを前記不揮発性メモリ中の前記空きフラッシュ・ブロックの対応するページにコピーするステップ。
原理的に、本発明の記憶システムは、少なくとも一つの共通データI/Oバスに接続された複数の不揮発性メモリ中に論理データ・ブロックを記憶し、前記不揮発性メモリのそれぞれは、それぞれ複数のデータ語を含むメモリ・ページによって物理的にアクセスでき、前記不揮発性メモリのそれぞれは、それぞれ前記メモリ・ページの複数を含むフラッシュ・ブロックによって論理的にアクセスでき、前記記憶システムは下記を含む:
・複数の不揮発性メモリと;
・揮発性メモリ手段と;
・ページ・データ・ブロックを複数の不揮発性メモリのフラッシュ・ブロックに記憶し、並行して揮発性メモリ手段の対応するバッファ・スロットに巡回バッファ・スロット・アクセス序列で記憶する手段であって、前記揮発メモリ手段の個別に使用される記憶容量が前記不揮発性メモリの記憶容量よりも小さく、最後の空きバッファ・スロットが書き込まれたあとは前記序列が最初のバッファ・スロットに上書きすることによって再び開始され、
前記不揮発性メモリの一つまたは複数が、現在のページ・データ・ブロックを記録するときに、そのページ・データ・ブロックにおいてエラーが発生したことを合図する場合、前記揮発性メモリ手段――または関係するテーブル項目――中の対応する現在バッファ・スロットが対応してマークされ、前記序列のその後の回においては前記マークされたバッファ・スロット(単数または複数)はスキップされ、そこに記憶されたデータは不変に保たれるような手段と、
・前記不揮発性メモリにテイクが記録されたのち、誤りのあったページ・データを含んでいる前記揮発性メモリ手段のフラッシュ・ブロック・データを対応するフラッシュメモリの空きフラッシュ・ブロックにコピーし、前記揮発性メモリ手段におけるどのバッファ・スロットあるいはどの関係したテーブル項目がマークされているかを検査して、前記揮発性メモリ手段の前記マークされたバッファ・スロットからの対応するページ・データ・ブロック・データを前記不揮発性メモリ中の前記空きフラッシュ・ブロックの対応するページにコピーする手段。
本発明の有利な追加的な実施形態はそれぞれの従属請求項において開示される。
本発明の例示的な実施形態は、付属の図面を参照しつつ記述される。
次のNANDフラッシュメモリを使うことができる:サムスンK9K2G16U0M-YCB000(2Gbit、16bit指向)、K9W4G08U0M-YCB000(4Gbit、8bit指向)、東芝TH58NVG2S3BFT00(4Gbit、8bit指向)およびMICRON MT29G08AAxxx(2Gbit、8bit指向)、MT29G16AAxxx(2Gbit、16bit指向)。
メモリ・デバイスの接続のためのバス構造が図1に示されている。各バスBS0、BS1、…、BSN−1はある数28のフラッシュメモリD0、D1、D2、…、DN−2、DN−1を備え、ここでは8つのバスが並列に動作しているので、合計224個のフラッシュメモリ・デバイスに相当する。各バスBS0、BS1、…、BSN−1は16ビット語IO0…15をメモリ・デバイスに書き込み、メモリ・デバイスから読み取り、20MHzで動作することができる。これらのデータ入力/出力は、コマンド、アドレスおよびデータを入力するために、および読み取り動作の間にデータを出力するために使われる。I/Oピンは、チップが選択解除されたときまたは出力が無効にされたときにhigh-sにフロートする。
(外1)
Figure 0004954974
はready/busy(使用可能/使用中)出力であり、デバイス動作の状態を示す。lowのときは、プログラム動作、消去動作またはランダム読み出し動作が進行中であり、完了に際してhigh状態に戻る。これはオープン・ドレイン出力であり、チップが選択解除されたときや出力が無効にされたときにhigh-s条件にフロートしない。
デバイス動作のこの状態および/またはIO0…15からのデータが、書き込み欠陥が発生したかどうかを判定するのに使うことができる。
(外2)
Figure 0004954974
は読み取りイネーブル(read enable)信号であり、
(外3)
Figure 0004954974
は書き込みイネーブル信号である。読み取りイネーブル入力はシリアル・データ出力制御であり、アクティブなとき、データをI/Oバス上にドライブする。データは、読み取りイネーブルの立ち下がりエッジ後に有効になる。読み取りイネーブルはまた、内部カラム・アドレス・カウンタを1だけインクリメントする。書き込みイネーブル入力はI/Oポートへの書き込みを制御する。コマンド、アドレスおよびデータは、書き込みイネーブル・パルスの立ち上がりエッジ上でラッチされる。
コマンド・ラッチ・イネーブル(command latch enable)入力CLEは、コマンド・レジスタに送られるコマンドについてのアクティブ化経路を制御する。アクティブhighなとき、コマンドは、書き込みイネーブル信号の立ち上がりエッジでI/Oポートを通じてコマンド・レジスタ中にラッチされる。
アドレス・ラッチ・イネーブル(address latch enable)入力ALEは、内部アドレス・レジスタへのアドレスについてのアクティブ化経路を制御する。アドレスは、ALEがhighな書き込みイネーブル信号の立ち上がりエッジでラッチされる。
(外4)
Figure 0004954974
はチップ・イネーブル(chip enable)入力を表し、デバイス選択制御のために使われる。デバイスがビジー状態にあるとき、CE highは無視され、デバイスはプログラム動作または消去動作において待機モードに戻らない。
上に掲げた信号を使って、メモリまたはマイクロコントローラ・ユニットMCTRLがすべてのフラッシュメモリ・デバイスを制御する。コントローラMCTRLは記録のためにビデオ・データVDを受け取り、あるいは記録されたビデオ・データVDを再生のために出力する。追加的なメモリ手段RAM(SRAMおよび/またはDRAM)がコントローラ・ユニットMCTRLに接続されており、現在ビデオ・データ、要求されるファイル・システム・テーブルおよび欠陥ブロック再割り当てテーブルを記憶する。
書き込むとき、各フラッシュメモリは、フラッシュ・ブロックごとに、そして各フラッシュ・ブロックにおいてはページごとにアクセスされる。メモリのバンクはメモリごと、ページごとにアクセスされる。
好ましくは、インターフェースをできるだけ単純に保つために、SRAM(たとえば2*2GBit)が用いられる。SRAMは80MHzの64ビット・バスとして編成される――よって、同一の帯域幅を与える。すべてのバッファ管理は、論理的なファイル・システム・ブロックのレベルで行われる。ここで、論理ブロックはフラッシュ・ブロックよりはるかに大きい。フラッシュメモリは、ページ・レベルでの各書き込み動作後にそのエラー状態を報告する。
SRAMは16個までの論理的なファイル・システム・ブロックを保持できる。結果として、システムは少なくとも16個の欠陥をマスクでき、複数の欠陥が同じ論理的なファイル・システム・ブロックにはいればより多くの欠陥をマスクできる。フラッシュメモリ・デバイスのエラー統計を考慮するとき、結果として得られる、本発明の記憶システムの平均故障時間は、有利なことに、ユーザーの心配をはるかに超えている。同じSRAMは上述のファイル・システム・テーブルおよびエラー対処テーブルを保持するためにも使うことができる。
図2は、その上部にフラッシュメモリおよびSRAMへの、記録されるべき(ページ)ビデオ・データVDの並列的な書き込みを示している。下部では、図2は、フラッシュメモリへの記録の間に書き込みエラーが発生した場合の、SRAMから予備のフラッシュ・ブロックへの(ページ)ビデオ・データのコピーを描いている。そのコピー動作は、対応するテイク記録動作が終わった直後に実行される。
図3のSRAMメモリ編成の原理は、それぞれが論理ファイル・システム・ブロックLFSBを含む複数のバッファ・スロットを示している。SRAMの各記憶領域は、スロットごとに、入来ビデオ・データで充填される。その処理は現在バッファ・アドレス序列(current buffer address sequence)CBASによって描かれる。空いている最後のバッファ・スロットに書き込まれたあとは、最初のバッファ・スロットに上書きすることをもって、序列は再び開始される。フラッシュメモリ・バンクが、現在の論理ファイル・システム・ブロックを記録するときに、フラッシュ・ブロックにおいてエラーが起こったことを合図した場合、SRAM中の対応する現在スロット(またはそれぞれのテーブル)は対応してマークされる。灰色または網掛けのスロットは、関係するフラッシュメモリの欠陥フラッシュ・ブロックに対応するデータを含んでいる論理ファイル・システム・ブロックFSBDをマークする。次の回には、SRAMスロット・アクセス序列はそのマークされたバッファ・スロット(および他のすべてのマークされたスロット)はスキップし、そこに記憶されているデータは不変に保たれる。
テイクがフラッシュメモリ・バンクD0、D1、D2、…、DN−2、DN−1に記録されたのち、ファイル・アロケーション・テーブルおよび不良ブロック再割り当てテーブルを使って、フラッシュメモリ中のどのフラッシュ・ブロックがさらなるビデオ・データを記憶できるかを検査する。その後、一つまたは複数のページ・エラーを含んでいるフラッシュ・ブロックに記憶されているビデオ・データは、フラッシュメモリ中の対応する空き(欠陥でない)フラッシュ・ブロックにコピーされる。次いで、SRAMのマークされたスロットからのSRAMに中間的に保存されている、要求されるエラーのないページ・データが、フラッシュメモリ中の空きフラッシュ・ブロックに記憶されたばかりのフラッシュ・ブロック・データにおける対応する誤りのあるページにコピーされる。
上記の論理的なブロック・レイアウトによれば、論理的なファイル・システム・ブロックは28メガバイトを含む。それに対し、現状技術での典型的なファイル・システムはキロバイトの範囲のブロック・サイズを特徴とする。ファイル・システムは、たとえば2048個の論理ブロックしか含まない。記憶システム上に記憶されうるファイルの最大数は256個に加えて空の論理ブロック・リストを表す追加ファイル1個である。しかしながら、典型的な量は<20である。最悪ケースでは、これは、各ファイルの終わりの部分的に埋まった論理ブロックが、全記憶容量の12.5%に上る未使用スペースにつながりうるということを意味する。だが、実際上は<2%の値がより現実的である。
記憶システムからビデオ・データを読むときは、論理的なファイル・システムによって制御されて、誤ったフラッシュ・ブロックの代わりに、フラッシュメモリからは代替フラッシュ・ブロック・データが読まれる。
本発明のメモリ・システムのブロック図である。 記録されるべきデータの並列的な取り込みおよびその後の予備フラッシュ・ブロックへのコピーの原理を示す図である。 SRAMメモリ編成およびアドレッシング序列の原理を示す図である。

Claims (14)

  1. 少なくとも一つの共通データI/Oバスに接続された複数の不揮発性メモリを含む記憶システム中で論理データ・ブロックを記憶する方法であって、前記不揮発性メモリのそれぞれは、それぞれ複数のデータ語を含むメモリ・ページによって物理的にアクセスでき、前記不揮発性メモリのそれぞれは、それぞれ前記メモリ・ページの複数を含むフラッシュ・ブロックによって論理的にアクセスでき、論理ファイル・システム・ブロックは前記記憶システムにおいて使われるすべての不揮発性メモリからの一つのフラッシュ・ブロックの組み合わせであり、前記記憶システムはさらにそれぞれ論理ファイル・システム・ブロックを含む複数のバッファ・スロットを保持する揮発性メモリ手段を含み、当該方法は:
    ・ページ・データを前記複数の不揮発性メモリの論理ファイル・システム・ブロックに記憶し、並行して前記ページ・データを前記揮発性メモリ手段の対応するバッファ・スロットに巡回バッファ・スロット・アクセス・シーケンスで記憶するステップであって、前記巡回バッファ・スロット・アクセス・シーケンスは複数のその後の回をもち、前記揮発メモリ手段の個別に使用される記憶容量が前記不揮発性メモリの記憶容量よりも小さく、最後の空きバッファ・スロットが書き込まれたあとは前記巡回バッファ・スロット・アクセス・シーケンスが最初のバッファ・スロットに上書きすることによって再び開始され、前記不揮発性メモリの一つまたは複数が、ページ・データを記録するときにエラーが発生したことを合図する場合、前記揮発性メモリ手段――または関係するテーブル項目――中の対応する現在バッファ・スロットが対応してマークされ、前巡回バッファ・スロット・アクセス・シーケンスのその後の回(単数または複数)においては前記マークされたバッファ・スロット(単数または複数)はスキップされ、前記マークされたバッファ・スロット(単数または複数)に記憶されたデータは不変に保たれるようなステップと、
    ・テク記動作ののち、誤りのあったページ・データを含んでいる前記揮発性メモリ手段のフラッシュ・ブロック・データを前記不揮発性メモリのうちの対応する不揮発性メモリ内の空きフラッシュ・ブロックにコピーし、前記揮発性メモリ手段におけるどのバッファ・スロットあるいはどの関係したテーブル項目がマークされているかを検査して、前記揮発性メモリ手段の前記マークされたバッファ・スロットから対応するページ・データを前記不揮発性メモリ中の前記空きフラッシュ・ブロックの対応するページにコピーするステップと含むことを特徴とする方法。
  2. 前記不揮発性メモリがNANDフラッシュメモリである、請求項1記載の方法。
  3. 前記記憶システムがストリーミング・ビデオ・データをリアルタイムで記憶または再生するために使用される、請求項1または2記載の方法。
  4. 前記不揮発性メモリへのアクセスが巡回的な逐次順に実行される、請求項1ないし3のうちいずれか一項記載の方法。
  5. 前記NANDフラッシュメモリのフラッシュ・ブロック中の欠陥をマスクするために、前記NANDフラッシュメモリのそれぞれに対して、ブロック指示テーブルが割り当てられている、請求項2ないし4のうちいずれか一項記載の方法。
  6. 前記記憶システムが、前記少なくとも一つの共通データI/Oバスを制御するメモリ制御手段を含んでおり、該メモリ制御手段には、前記ブロック指示テーブルを記憶するRAMメモリ手段が接続されている、請求項記載の方法。
  7. 前記揮発性メモリ手段がSRAMメモリである、請求項1ないし6のうちいずれか一項記載の方法。
  8. 少なくとも一つの共通データI/Oバスに接続された複数の不揮発性メモリ中に論理データ・ブロックを記憶する記憶システムであって、前記不揮発性メモリのそれぞれは、それぞれ複数のデータ語を含むメモリ・ページによって物理的にアクセスでき、前記不揮発性メモリのそれぞれは、それぞれ前記メモリ・ページの複数を含むフラッシュ・ブロックによって論理的にアクセスでき、論理ファイル・システム・ブロックは前記記憶システムにおいて使われるすべての不揮発性メモリからの一つのフラッシュ・ブロックの組み合わせであり、当該記憶システムは:
    ・複数の不揮発性メモリと
    それぞれ論理ファイル・システム・ブロックを含む複数のバッファ・スロットを保持する揮発性メモリ手段と
    ・ページ・データを前記複数の不揮発性メモリの論理ファイル・システム・ブロックに記憶し、並行して前記揮発性メモリ手段の対応するバッファ・スロットに巡回バッファ・スロット・アクセス・シーケンスで記憶する手段であって、前記巡回バッファ・スロット・アクセス・シーケンスは複数のその後の回をもち、前記揮発メモリ手段の個別に使用される記憶容量が前記不揮発性メモリの記憶容量よりも小さく、最後の空きバッファ・スロットが書き込まれたあとは前記巡回バッファ・スロット・アクセス・シーケンスが最初のバッファ・スロットに上書きすることによって再び開始され、前記不揮発性メモリの一つまたは複数が、ページ・データを記録するときにエラーが発生したことを合図する場合、前記揮発性メモリ手段――または関係するテーブル項目――中の対応する現在バッファ・スロットが対応してマークされ、前記巡回バッファ・スロット・アクセス・シーケンスのその後の回(単数または複数)においては前記マークされたバッファ・スロット(単数または複数)はスキップされ、前記マークされたバッファ・スロット(単数または複数)に記憶されたデータは不変に保たれるような手段とを有しており
    ページ・データを記憶する前記手段は、テイク記動作ののち、誤りのあったページ・データを含んでいる前記揮発性メモリ手段のフラッシュ・ブロック・データを前記不揮発性メモリのうちの対応する不揮発性メモリ内の空きフラッシュ・ブロックにコピーし、前記揮発性メモリ手段におけるどのバッファ・スロットあるいはどの関係したテーブル項目がマークされているかを検査して、前記揮発性メモリ手段の前記マークされたバッファ・スロットから対応するページ・データを前記不揮発性メモリ中の前記空きフラッシュ・ブロックの対応するページにコピーする、
    ステム。
  9. 前記不揮発性メモリがNANDフラッシュメモリである、請求項8記載のシステム。
  10. 前記記憶システムがストリーミング・ビデオ・データをリアルタイムで記憶または再生する、請求項8または9記載のシステム。
  11. 前記不揮発性メモリへのアクセスが巡回的な逐次順に実行される、請求項8ないし10のうちいずれか一項記載のシステム。
  12. 前記NANDフラッシュメモリのフラッシュ・ブロック中の欠陥をマスクするために、前記NANDフラッシュメモリのそれぞれに対して、ブロック指示テーブルが割り当てられている、請求項9ないし11のうちいずれか一項記載のシステム。
  13. 前記記憶システムが、前記少なくとも一つの共通データI/Oバスを制御するメモリ制御手段を含んでおり、該メモリ制御手段には、前記ブロック指示テーブルを記憶するRAMメモリ手段が接続されている、請求項12記載のシステム。
  14. 前記揮発性メモリ手段がSRAMメモリである、請求項8ないし13のうちいずれか一項記載のシステム。
JP2008505857A 2005-04-15 2006-03-20 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム Expired - Fee Related JP4954974B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP05090111.5 2005-04-15
EP05090111A EP1712985A1 (en) 2005-04-15 2005-04-15 Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data I/O bus
PCT/EP2006/060865 WO2006108755A1 (en) 2005-04-15 2006-03-20 Method and system for storing logical data blocks into flash-blocks in multiple non-volatile memories which are connected to at least one common data i/o bus

Publications (2)

Publication Number Publication Date
JP2008537828A JP2008537828A (ja) 2008-09-25
JP4954974B2 true JP4954974B2 (ja) 2012-06-20

Family

ID=36579583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008505857A Expired - Fee Related JP4954974B2 (ja) 2005-04-15 2006-03-20 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム

Country Status (7)

Country Link
US (1) US8301825B2 (ja)
EP (2) EP1712985A1 (ja)
JP (1) JP4954974B2 (ja)
KR (1) KR101252317B1 (ja)
CN (1) CN101156129B (ja)
TW (1) TWI346341B (ja)
WO (1) WO2006108755A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8170402B2 (en) * 2006-04-07 2012-05-01 Cinegest, Inc. Portable high capacity digital data storage device
US7554855B2 (en) * 2006-12-20 2009-06-30 Mosaid Technologies Incorporated Hybrid solid-state memory system having volatile and non-volatile memory
WO2008087082A1 (en) * 2007-01-15 2008-07-24 Thomson Licensing Method and apparatus for recording data into a matrix of memory devices
US8825939B2 (en) * 2007-12-12 2014-09-02 Conversant Intellectual Property Management Inc. Semiconductor memory device suitable for interconnection in a ring topology
US20090271564A1 (en) * 2008-04-25 2009-10-29 Hitachi, Ltd. Storage system
TWI381393B (zh) * 2008-10-06 2013-01-01 Phison Electronics Corp 區塊管理與更換方法、快閃記憶體儲存系統及其控制器
JP5193822B2 (ja) * 2008-11-19 2013-05-08 株式会社東芝 追記型メモリデバイス
KR101028929B1 (ko) * 2008-12-31 2011-04-12 성균관대학교산학협력단 실시간 시스템을 위한 로그 블록 연관성 분산 방법 및 이를수행하는 플래시 메모리 장치
US8180981B2 (en) * 2009-05-15 2012-05-15 Oracle America, Inc. Cache coherent support for flash in a memory hierarchy
EP2264604A1 (en) * 2009-06-15 2010-12-22 Thomson Licensing Device for real-time streaming of two or more streams in parallel to a solid state memory device array
EP2270662A1 (en) 2009-06-29 2011-01-05 Thomson Licensing Method and apparatus for dealing with write errors when writing information data into flash memory devices
CN102004701B (zh) * 2009-08-28 2013-01-09 炬才微电子(深圳)有限公司 一种次级内存的分配方法和装置
JP2011100518A (ja) * 2009-11-06 2011-05-19 Toshiba Corp 半導体装置及びその制御方法
CN101923578B (zh) * 2010-09-09 2012-07-25 成都雷思特电子科技有限责任公司 高速数据流文件式存取装置及方法
CN102541945B (zh) * 2010-12-31 2014-04-09 联芯科技有限公司 终端上的多项文件复制方法及装置
US9329996B2 (en) * 2011-04-27 2016-05-03 Veris Industries, Llc Branch circuit monitor with paging register
US9195581B2 (en) * 2011-07-01 2015-11-24 Apple Inc. Techniques for moving data between memory types
US9015404B2 (en) * 2012-09-28 2015-04-21 Intel Corporation Persistent log operations for non-volatile memory
KR102047495B1 (ko) 2013-02-22 2019-11-21 삼성전자주식회사 클라이언트에서 캐시를 이용하여 서버의 멀티 미디어 컨텐트를 스트리밍 재생하는 방법 및 이를 위한 장치
US9781225B1 (en) * 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US10055807B2 (en) * 2016-03-02 2018-08-21 Samsung Electronics Co., Ltd. Hardware architecture for acceleration of computer vision and imaging processing
US10847196B2 (en) * 2016-10-31 2020-11-24 Rambus Inc. Hybrid memory module
US10747659B2 (en) 2018-02-06 2020-08-18 Western Digital Technologies, Inc. Flash fast program mode for high definition video recording and high resolution camera burst mode recording
US11487654B2 (en) * 2020-03-02 2022-11-01 Silicon Motion, Inc. Method for controlling write buffer based on states of sectors of write buffer and associated all flash array server

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69430891T2 (de) * 1993-04-16 2003-03-13 Sony Corp., Tokio/Tokyo Vorrichtung zur informationsaufnahme und -übertragung.
JPH06301601A (ja) * 1993-04-16 1994-10-28 Sony Corp 情報記録装置及び情報転送装置
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
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
JP3589033B2 (ja) 1998-06-25 2004-11-17 東京エレクトロンデバイス株式会社 フラッシュメモリシステム
JP3893755B2 (ja) 1998-07-03 2007-03-14 株式会社デンソー 電子制御装置
JP4371524B2 (ja) * 2000-03-17 2009-11-25 株式会社東芝 メモリの不良エリア管理回路
JP4034947B2 (ja) 2001-05-31 2008-01-16 株式会社ルネサステクノロジ 不揮発性記憶システム
JP4812192B2 (ja) * 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
WO2003085677A1 (fr) * 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
JP2005025829A (ja) * 2003-06-30 2005-01-27 Toshiba Corp ディスク記憶装置及びデータストリーム制御方法
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US20050144516A1 (en) * 2003-12-30 2005-06-30 Gonzalez Carlos J. Adaptive deterministic grouping of blocks into multi-block units
US7152138B2 (en) * 2004-01-30 2006-12-19 Hewlett-Packard Development Company, L.P. System on a chip having a non-volatile imperfect memory
US20070005874A1 (en) * 2005-07-01 2007-01-04 Dan Dodge File system storing transaction records in flash-like media

Also Published As

Publication number Publication date
US20090043948A1 (en) 2009-02-12
TWI346341B (en) 2011-08-01
EP1869543A1 (en) 2007-12-26
KR20070119692A (ko) 2007-12-20
JP2008537828A (ja) 2008-09-25
TW200636747A (en) 2006-10-16
WO2006108755A1 (en) 2006-10-19
EP1712985A1 (en) 2006-10-18
KR101252317B1 (ko) 2013-04-08
US8301825B2 (en) 2012-10-30
EP1869543B1 (en) 2013-03-06
CN101156129A (zh) 2008-04-02
CN101156129B (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
JP4954974B2 (ja) 少なくとも一つの共通データi/oバスに接続された複数の不揮発性メモリ中における論理データ・ブロックをフラッシュ・ブロックに記憶する方法およびシステム
US8037232B2 (en) Data protection method for power failure and controller using the same
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
TWI399644B (zh) 非揮發記憶體區塊管理方法
US8275931B2 (en) Block management method for flash memory, and storage system and controller using the same
US20090198875A1 (en) Data writing method for flash memory, and controller and system using the same
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
JP5160448B2 (ja) 高速入力データをメモリ・デバイスのマトリクスに記録する方法および装置
JP2006031696A (ja) バッドブロック管理部を含むフラッシュメモリシステム
US7055013B2 (en) Spare data site allocation
JP2011221996A (ja) 不揮発性メモリコントローラ及び不揮発性記憶装置
WO2010115332A1 (zh) 闪存坏块的利用方法
CN101064193A (zh) 用于向闪速存储器执行写入的方法和设备
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
JP2000173281A (ja) 半導体記憶装置
EP1712984A1 (en) Method and system for accessing logical data blocks in a storage system that includes multiple memories which are connected to at least one common bus
JP2009282696A (ja) 半導体メモリの制御方法
KR20230142795A (ko) Zns 디바이스들에서의 상이한 기입 우선순위화
KR101635196B1 (ko) 플래시 메모리소자에 정보 데이터를 기입할 때 기입 오류를 처리하기 위한 방법 및 장치
JP2021163512A (ja) メモリシステムおよび情報処理システム
CN111488118B (zh) 管理闪存模块的方法及相关的闪存控制器与电子装置
JP2005292925A (ja) メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法
JP4177301B2 (ja) メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
JP3934659B1 (ja) メモリコントローラ及びフラッシュメモリシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111011

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111222

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: 20120228

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: 20120314

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees