JP4422652B2 - 漸進的マージ方法及びそれを利用したメモリシステム - Google Patents

漸進的マージ方法及びそれを利用したメモリシステム Download PDF

Info

Publication number
JP4422652B2
JP4422652B2 JP2005190651A JP2005190651A JP4422652B2 JP 4422652 B2 JP4422652 B2 JP 4422652B2 JP 2005190651 A JP2005190651 A JP 2005190651A JP 2005190651 A JP2005190651 A JP 2005190651A JP 4422652 B2 JP4422652 B2 JP 4422652B2
Authority
JP
Japan
Prior art keywords
merge
memory
merge operation
flash memory
completed
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
JP2005190651A
Other languages
English (en)
Other versions
JP2006018839A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006018839A publication Critical patent/JP2006018839A/ja
Application granted granted Critical
Publication of JP4422652B2 publication Critical patent/JP4422652B2/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
    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は貯蔵装置に係わり、さらに具体的にはフラッシュメモリのような不揮発性の消去可能な半導体メモリを含む半導体メモリ装置を効率的に管理する方法及び装置に関する。
最近の技術開発によれば、事務用デスクトップコンピュータと移動環境用ノートブックコンピュータのような様々な形態のパーソナルコンピュータが開発されて市場に出ている。一般的に、このようなコンピュータシステムはメインメモリと外部貯蔵装置とを含む。外部貯蔵装置が貯蔵容量の低い単位価格の大きいメモリ容量を有することが望ましい。
外部貯蔵装置はディスク貯蔵媒体を利用した従来のハードディスクドライブ(HDD)またはプロッピィー(登録商標)ディスクドライブ(FDD)であろう。このようなディスク貯蔵装置は一般的に低い価格で大きいメモリ容量を提供するが、磁気ヘッドで多様な動作(例えば、ディスク探索動作)を実行するためによほど纎細な機械的な技術を要求する。したがって、ディスク貯蔵装置は物理的な衝撃によって容易に損傷されやすいので、他の形態のメモリ装置より信頼性が低く見なされる。
過去に、DRAMまたはSRAMのような貯蔵媒体として半導体メモリを使用した外部メモリ装置はディスク貯蔵装置に対する実行可能な代案が提供されていない。たとえ半導体タイプの外部メモリ装置がディスクアクセス時間より速い処理速度を有し、物理的な衝撃に対してさらに影響を受けても、DRAMとSRAM技術と係わる根本的な短所によって大容量のストレージのためにSRAMとDRAM技術の使用が阻まれてきた。
一般的に、SRAMのメモリ容量当たり価格はSRAMを大容量ストレージ用途として 使用するのには費用効果的に(cost−effective)高過ぎる。さらに、DRAM内のデータを保存するために要求される追加的な電力は外部貯蔵装置の運用費用を増加させ、DRAMリフレッシュ動作と係わる電力消耗は減少した電力消耗が望ましい移動環境においてDRAMを具現しにくくする。
一方、フラッシュEEPROMのようなフラッシュメモリとして実現された外部半導体メモリ装置は任意の環境でディスク貯蔵装置に対する実行可能な代案を提供する。フラッシュメモリ装置は一回以上プログラムされる不揮発性メモリ装置である。さらに、フラッシュメモリ装置は容易に実現されることができる簡単な構造を有する。フラッシュメモリ装置が一般的に少ない電力を消耗し、コンパクトで、軽く、かつ物理的な衝撃により損傷されることが少ないものであるので、フラッシュメモリ装置はフラッシュメモリ装置と関連付けられたトレードオフ(trade−offs)にもかかわらず、たびたび移動環境に適する。このようなトレードオフはプログラム動作の以前に消去動作が実行されなければならないという要求条件、消去動作を実行するための高電圧(例えば、12Vまたは20V)の要求条件、そして数KBから数百KBの比較的大きいメモリユニットが同時に消去されなければならないという要求条件を含む。
コンピュータシステム(以下、“ホスト”という)は論理的なアドレスを指示することで外部貯蔵装置をアクセスする。論理的なアドレスは物理的な貯蔵位置と比べると、ホストソフトウェア(すなわち、運営システムまたはアプリケーション)が認識する論理的なメモリ空間のうちの任意の位置を参照する。したがって、論理的なアドレスは指定された物理的なメモリ空間をアクセスするために外部貯蔵装置の物理的なメモリ空間に対応する物理的なアドレスに変換される。
一般的に、フラッシュメモリを使用した外部貯蔵装置はアクセス動作の間ホストとの互換性を保障するためにディスクエミュレーションソフトウェア(disk emulation software)と呼ばれる追加的なソフトウェアを要する。アクセス動作の間ホストと外部フラッシュ貯蔵装置との間の互換性はFTL(flash translation layer)のような従来のファイルシステムを運営することで達成されることができる。すなわち、ホストは外部フラッシュメモリ装置をHDD/SRAMとして認識してHDD/SRAMと同一の方式で外部フラッシュメモリ装置をアクセスする。FTLは特定PCの運営システムによって使用されるファイルシステムにフラッシュメモリカードを連結し、同一のアドレスに消去なしに一度以上の書き込みを許与しない。
FTLの機能は論理アドレス−物理アドレスマッピング(mapping)情報管理、不良ブロック管理、予想できない電源遮断に起因したデータ保存管理、磨耗度管理などを含む。FTLの機能のうちの核心的な機能はマッピング技法に係わることで、例示的なマッピング技法が特許文献1、2、および3に開示されており、この出願の参照として含まれる。
フラッシュメモリがブロック単位でアクセスされる場合に、フラッシュメモリは複数のブロックに分割される。分割されたブロックに順次に割り当てられた番号は物理ブロック番号と呼ばれ、ユーザーが思う分割されたブロックの仮想番号は論理ブロック番号と呼ばれる。論理ブロック番号と物理ブロック番号との間のマッピングを提供する方法では、ブロックマッピング技法、セクタマッピング技法、およびログマッピング技法を含む。マッピング技法を利用したFTLでは論理的に連続されたアドレスを有するデータが物理的には互いに相異なっている位置に記録されることがあり得る。フラッシュメモリは書き込み(またはプログラム)単位より消去単位がさらに大きくて一定の限界に至れば、任意の空のブロックを利用して物理的に互いに相異なっている位置に分散している連続されたデータを同一のアドレス空間に集める作業を要し、このような過程をマージ動作という。
上述のブロックマッピング技法、セクタマッピング技法、およびログマッピング技法を利用したマージ動作が以下詳細に説明される。マージ動作を説明する前に、フラッシュメモリが複数個のメモリブロックに分割されており、各メモリブロックは複数個のページ(またはセクタ)で構成されると仮定する。記号“PBN”は物理ブロック番号を示し、、記号“PPN”は物理ページ番号を示し、記号“LPN”は論理ページ番号を示す。
ブロックマッピング技法
ブロックマッピング技法によるマージ動作が図1A及び図1Bを参照して以下説明される。ブロックマッピング技法によれば、任意のメモリブロックにデータを貯蔵する場合、メモリブロックのページに順次にデータが貯蔵される。物理ブロック番号が‘2'であるメモリブロック(例えば、PBN2)のi番目のページPPNiにデータをアップデートする/再書き込む場合、まず、アップデートが要請された物理ページ番号が‘i’であるページPPNiを除いた残りのページに貯蔵されたデータが空のメモリブロック(例えば、PBN3)の対応するページに各々伝送される/コピーされる。その次に、メモリブロックPBN2のページPPNiに貯蔵されるデータはメモリブロックPBN3のi番目のページにアップデートされる/再書き込まれる。以後、メモリブロックPBN2は消去されて空のメモリブロック(free memory block)になる。図1Bに示したように、マージ動作が実行された後セクタマッピングテーブルがアップデートされる。すなわち、論理メモリブロックLBN0に対応する物理メモリブロックが“PBN2”から“PBN3”に変更される。ブロックマッピング技法によれば、前に説明されたマージ動作はデータが貯蔵されたページに他のデータがアップデートされるごとに実行されなければならない。
セクタ(またはページ)マッピング技法
セクタマッピング技法によるマージ動作が図2A及び図2Bを参照して以下説明される。セクタ(またはページ)マッピング技法によれば、メモリブロックのページに順次にデータが書かれる。ここで、ページはセクタと同一の大きさを有するが、一つのページが複数のセクタで構成されることができることはこの分野の通常の知識を習得した者などに自明である。例えば、論理ページLPN0のデータは物理ページPPN0に貯蔵され、論理ページLPN1のデータは物理ページPPN1に貯蔵され、論理ページLPN2のデータは物理ページPPN2に貯蔵される。論理ページ(例えば、LPN1)にデータをアップデートしようとする場合、論理ページLPN1のデータは物理ページPPN3に貯蔵され、物理ページPPN1は無効データが貯蔵されたとして処理される(図2Aで“X”として表記する)。また、論理ページ(例えば、LPN0)にデータをアップデートしようとする場合、論理ページLPN0のデータは物理ページPPN4に貯蔵され、物理ページPPN0は無効データが貯蔵されたとして処理される(図2Aで “X”として表記する)。もしすべてのページに対して書き込み動作が実行されれば、すなわち、メモリブロックPBN0に空のページ(free page)が存在しない場合、メモリブロックPBN0に書き込み動作が要求されるとき、マージ動作が実行される。図2Aに示したように、メモリブロックPBN0の有効データだけすなわち、物理ページPPN2−PPN5が空のメモリブロックPBN1の対応するページPPN10−PPN13にコピーされ、書き込み動作が要求された論理ページLPN0のデータがメモリブロックPBN1の物理ページPPN14に貯蔵される。この際、メモリブロックPBN1の物理ページPPN0は無効データが貯蔵されたとして処理される(図2Aで“X”として表記する)。次に、メモリブロックPBN0は消去される。変更されるマッピングテーブルはFTLによって管理され、図2Bに示したように変更される。
ログマッピング技法
ログマッピング技法を利用したマージ動作が図3A乃至図3Dを参照して以下詳細に説明される。ログマッピング技法によれば、図3Aに示したように、メモリブロックはデータ領域、ログ領域、およびメタ領域に区分され、このようなマッピング情報のテーブルはFTLによって管理される。ログマッピング技法によれば、ログ領域のメモリブロックはデータ領域のメモリブロックのうちの一部のメモリブロックに各々指定される。例えば、フラッシュメモリが9個のメモリブロックPBN0−PBN8を含むと仮定すれば、メモリブロックが使用されない状態で、メモリブロックPBN0−PBN4はデータ領域として、メモリブロックPBN5−PBN7はログ領域として、そしてメモリブロックPBN8はメタ領域として各々定義されることができる。この際、ログ領域のメモリブロックPBN5、PBN6はデータ領域のメモリブロックPBN0、PBN2に各々指定され、ログ領域のメモリブロックPBN7は空のメモリブロックに指定される。上述のマッピング情報テーブル(ブロックマッピングテーブル、ログブロックマッピングテーブル、およびログマッピングテーブル)が図3Bに示されている。各メモリブロックは複数個のページ(または複数個のセクタ)で構成される。
メモリブロックPBN0にデータを書き込もうとする場合、データはメモリブロックPBN0に直接書き込まれるのではなく、メモリブロックPBN0に対応するログ領域のメモリブロックPBN5に貯蔵される。例えば、論理ページLPN2に対応するデータをメモリブロック PBN0に書き込もうとする場合、ログ領域のメモリブロックPBN5の物理ページPBN0にデータが書き込まれる。同様に、論理ページLPN0に対応するデータをメモリブロックPBN0に書き込もうとする場合、ログ領域のメモリブロックPBN5の物理ページPBN1にデータが書き込まれる。メモリブロックPBN1にデータを書き込もうとする場合、メモリブロックPBN1に対応するログ領域のメモリブロックが指定されていないので、下記のようにマージ動作が実行される。まず、空のメモリブロックがログ領域(またはデータ領域)に存在するか否かが判別される。ログ領域に空のメモリブロックがある場合、図3Bに示したように、ログ領域のメモリブロックPBN5、PBN6のうちのいずれか一つのメモリブロック(例えば、PBN5)に貯蔵された有効データが空のメモリブロックPBN7にコピーされる/移動される。そして、メモリブロックPBN5に対応するデータ領域のメモリブロックPBN0に貯蔵された有効データがメモリブロックPBN7にコピー/移動される。このようなコピー過程が図3Bに示している。メモリブロックPBN0、PBN5が消去された後、図3Cに示されているように、ログ領域のメモリブロックPBN5が空のメモリブロックに指定され、データ領域のメモリブロックPBN0がログ領域のメモリブロックに指定され、メモリブロックPBN7がデータ領域のメモリブロックに指定される。最後に、メモリブロックPBN1に書き込もうとするデータがログ領域のメモリブロックPBN0に書き込まれる。上述のマージ動作が実行される前後のマッピングテーブル(ブロックマッピングテーブル、ログブロックマッピングテーブル、ログマッピングテーブル)が図3Dに示されている。
上述のように、ログマッピング技法によるマージ動作を管理するためには三つのテーブルすなわち、ブロックマッピングテーブル、ログブロックマッピングテーブル、およびログマッピングテーブルが要求される。各テーブルのマッピング情報はFTLによって管理され、メタ領域PBN8に貯蔵される。
マージ動作の前後に変更されたマッピング情報の管理はFTLのマッピング方針(mapping policy)に従う。上述のマージ動作はFTLの必要によって自動に実行されることで、ホストはマージ動作が実行されているか否かを認識しない。そのような理由によって、ホストはフラッシュメモリを含んだ外部貯蔵装置に命令(例えば、読み出し、書き込みまたは消去命令)が出力され、一定時間が経過した後にも外部貯蔵装置から応答がないとき、外部貯蔵装置を初期化させる。上述の動作がホストタイムアウトと呼ばれる。タイムアウトを誘発する原因のうちの一つが上述のマージ動作である。メモリブロックサイズ(またはページサイズ)が大きくなるに従ってマージ動作を実行するのに必要な時間はさらに長くなるであろう。これはタイムアウトがもっと頻繁に誘発されることができることを意味する。すなわち、マージ動作が実行されているにもかかわらず、外部貯蔵装置が初期化されるので、外部貯蔵装置の信頼性を保障するのが難しい。
したがって、根本的にホストタイムアウトを回避することができる新しいマージスキームが切実に要求されている。
米国特許第5,404,485号明細書 米国特許第5,937,425号明細書 米国特許第6,381,176号明細書
本発明の目的はホストタイムアウトを回避することができるマージスキーム及びこれを利用したメモリシステムを提供することにある。
上述の諸般の目的を達成するための本発明の特徴によれば、フラッシュメモリを制御する方法が提供され、この方法は命令が入力されるとき、マージ状態情報が前記フラッシュメモリのマージ状態を示すか否かを判別する段階と、もし前記フラッシュメモリがマージ状態になければ、前記フラッシュメモリにマージ動作が要求されるか否かを判別する段階と、もしマージ動作が要求されなければ、前記入力された命令が処理されるように前記フラッシュメモリを制御する段階とを含む。
この実施形態において、前記フラッシュメモリのマージ動作は少なくとも二つの処理過程を含む。
この実施形態において、前記フラッシュメモリにマージ動作が要求されるとき、前記マージ動作の一番目の処理過程を実行する段階をさらに含み、前記マージ状態情報は前記マージ動作の次の処理過程を示すように変更される。
この実施形態において、前記マージ状態情報が前記フラッシュメモリのマージ状態を示すとき、前記マージ動作の何番目の処理過程が実行されなければならないかを判別する段階をさらに含む。
この実施形態において、前記判別された処理過程が実行された後、前記マージ状態情報が次の処理過程を示すように変更される。
この実施形態において、前記判別された処理過程が実行された後、前記マージ動作が完了したか否かを判別する段階をさらに含む。
この実施形態において、前記マージ動作が完了しなければ、前記入力された命令が処理される。
この実施形態において、前記マージ動作が完了すれば、前記マージ状態情報を初期化させる段階をさらに含む。
この実施形態において、前記マージ状態情報を初期化させた後、前記入力された命令が処理される。
この実施形態において、前記マージ動作が完了したか否かは有効なデータのコピーが完了したか否かによって判別される。
この実施形態において、前記マージ動作が完了したが否かは前記マージ動作の処理過程が全部実行されたか否かによって判別される。
この実施形態において、前記マージ動作が要求されるか否かは前記フラッシュメモリのメモリブロックのうちのいずれか一つに空のページが存在するか否かによって判別される。
この実施形態において、前記入力された命令が書き込み命令であるとき、前記マージ動作が実行される間、前記書き込み命令とともに伝送されるデータは一時的にバッファメモリに貯蔵される。
この実施形態において、前記バッファメモリに貯蔵されたデータは前記マージ動作が完了する命令入力サイクルで前記フラッシュメモリに貯蔵される。
本発明の他の特徴によれば、メモリシステムはホストと、フラッシュメモリと、前記フラッシュメモリのマージ状態情報を貯蔵するように構成されたインターフェース装置とを含む。前記インターフェース装置は前記ホストから命令が伝送されるとき、前記マージ状態情報によって漸進的(incremental)マージ動作を実行するか否かを判別する。
この実施形態において、前記インターフェース装置は前記フラッシュメモリがマージ状態にないとき、前記フラッシュメモリにマージ動作が要求されるか否かを判別する。
この実施形態において、前記マージ動作が要求されないとき、前記インターフェース装置は前記入力された命令が処理されるように前記フラッシュメモリを制御する。
この実施形態において、前記フラッシュメモリのマージ動作は少なくとも二つの処理過程を含む。
この実施形態において、前記フラッシュメモリにマージ動作が要求されるとき、前記インターフェース装置は前記マージ動作の一番目の処理過程を実行し、前記マージ動作の次の処理過程を示すように前記マージ状態情報が変更される。
この実施形態において、前記マージ状態情報が前記フラッシュメモリのマージ状態を示すとき、前記インターフェース装置は前記マージ状態情報に従って前記マージ動作の何番目の処理過程が実行されなければならないか否かを判別する。
この実施形態において、前記インターフェース装置は前記判別された処理過程が実行された後、次の処理過程を示すように前記マージ状態情報を変更する。
この実施形態において、前記判別された処理過程が実行された後、前記インターフェース装置は前記マージ動作が完了したか否かを判別する。
この実施形態において、前記マージ動作が完了しなければ、前記インターフェース装置は前記入力された命令が処理されるように前記フラッシュメモリを制御する。
この実施形態において、前記マージ動作が完了すれば、前記インターフェース装置は前記マージ状態情報を初期化させる。
この実施形態において、前記マージ状態情報を初期化させた後、前記インターフェース装置は前記入力された命令が処理されるように前記フラッシュメモリを制御する。
この実施形態において、前記マージ動作が完了したか否かは有効なデータのコピーが完了したか否かによって判別される。
この実施形態において、前記マージ動作が完了したか否かは前記マージ動作の処理過程が全部実行されたか否かによって判別される。
この実施形態において、前記マージ動作が要求されるか否かは前記フラッシュメモリのメモリブロックのうちのいずれか一つに空のページが存在するか否かによって判別される。
この実施形態において、前記インターフェース装置はバッファメモリを含み、前記入力された命令が書き込み命令であるとき、前記マージ動作が実行される間、前記書き込み命令とともに伝送されるデータは一時的にバッファメモリに貯蔵される。
この実施形態において、前記バッファメモリに貯蔵されたデータは前記マージ動作が完了する命令入力サイクルで前記フラッシュメモリに貯蔵される。
命令が入力されるごとにマージ動作を漸進的に/部分的に実行することでホストタイムアウトを回避することが可能である。
本発明の例示的な実施形態が参照図に基づいて以下詳細に説明される。本発明の新規なマージ方法によれば、ホストから命令が入力されるごとにマージ動作が実行されなければならないか否かが判別され、判別結果に従ってマージ動作が分散して漸進的に処理される。すなわち、マージ動作は入力された命令の処理サイクル内で一度に処理されるのではなく、以後に入力される命令の処理サイクル内で各々部分的に処理される。すなわち、入力された命令を処理して残った余分の時間の間マージ動作が部分的に実行される。これは以後詳細に説明される。したがって、マージ動作に必要な時間がホストタイムアウト時間を超過しても、マージ動作を漸進的に/部分的に実行することでホストタイムアウトを回避することが可能である。
図4は本発明によるメモリシステムを概略的に示すブロック図である。図4を参照すれば、本発明によるメモリシステム1000はホスト100と外部貯蔵装置200とを含む。外部貯蔵装置200はインターフェース装置300とフラッシュメモリ400で構成される。インターフェース装置300はホスト100からフラッシュメモリ400に対するアクセスが要請されるとき、フラッシュメモリ400を制御する。例えば、インターフェース装置300はフラッシュメモリ400の読み出し/書き込み/消去動作を制御する。それだけではなく、インターフェース装置300はホスト100がフラッシュメモリ400をSRAM/HDDのように読み出し/書き込み/消去動作が自由に実行される媒体として使用されるようにフラッシュメモリ400のマッピング情報を管理する。
インターフェース装置300はホストインターフェース310、中央処理装置(CPU)320、ワークメモリ330、バッファメモリ340、およびフラッシュコントローラ350を含む。ホストインターフェース310は外部貯蔵装置200とホスト100との間のインターフェース機能を提供し、中央処理装置320は外部貯蔵装置200の全般的な動作を制御する。ワークメモリ330はFTL機能を実行するのに必要なソフトウェアを貯蔵するのに使用される。ワークメモリ330はまたフラッシュメモリ400のマッピング情報を貯蔵するのに使用される。フラッシュメモリ400のマッピング情報はフラッシュメモリ400に任意の領域(例えば、メタ領域)に貯蔵され、パワーアップ時、ワークメモリ330に自動的にロードされる。また、FTL機能を実行するのに必要なソフトウェアはフラッシュメモリ400の任意の領域(例えば、ブートコード領域)に貯蔵され、パワーアップ時ワークメモリ330に自動的にロードされる。
さらに、ワークメモリ330には漸進的マージ状態を示すマージ状態情報が貯蔵される。中央処理装置320は所定命令(例えば、読み出し/書き込み/消去命令)がホスト100から伝送されるごとにワークメモリ330のマージ状態情報を参照して以後説明される漸進的マージスキームを制御する。バッファメモリ340はフラッシュメモリ400にデータを貯蔵しようとする場合、またはフラッシュメモリ400からデータを読み出す場合、一時的にデータを貯蔵するのに使用される。バッファメモリ340は、例えば、フラッシュメモリ400のページサイズに対応する貯蔵容量を有する。ワークメモリ320とバッファメモリ330は各々揮発性メモリ(例えば、SRAM)に実現されることができる。フラッシュコントローラ350は中央処理装置320の制御下でフラッシュメモリ400のアクセス動作(例えば、読み出し/書き込み/消去動作)を制御するように実現される。
ワークメモリ330及びバッファメモリ340が同一の機能を実行するように一つのメモリ(例えば、SRAM)に実現されることができることはこの分野の通常の知識を習得した者などに自明である。
フラッシュメモリ400は複数個のメモリブロックで構成されたメモリセルアレイを含み、各メモリブロックは複数のページで構成される。一つのページは一つのセクタに対応するか、複数のセクタに対応する。メモリセルアレイのメモリブロックは、上述のように、データ領域、ログ領域、およびメタ領域に区分される。また、メモリセルアレイには、一般的に、ブートコードそして/またはFTLを貯蔵するためのメモリブロックがさらに提供される。データフラッシュメモリ400のアレイ構造が以上の説明に限らないことは自明である。すなわち、FTLのマッピング技法に従ってメモリセルアレイの構造が多様に実現されることができることはこの分野の通常の知識を習得した者などに自明である。
図5は本発明による漸進的マージ方法を説明するためのフローチャートである。図1乃至図3に説明されたように、マージ動作は多様なマッピング技法(例えば、ブロックマッピング技法、セクタマッピング技法、ログマッピング技法など)を利用して実行される。どんなマッピング技法が外部貯蔵装置に適用されても本発明のマージ方法が適用されることができる。ログマッピング技法が適用されるメモリシステムを基礎にして本発明の漸進的マージ方法が以下詳細に説明される。ログマッピング技法を利用した一般的なマージ方法は図3A乃至図3Dに説明され、全般的なマージ動作は同一に実行される。本発明と従来技術の差異は任意のサイクル内でマージ動作が完了するか否かにある。これは以下より具体的に説明されるであろう。
段階S100では読み出し、消去、および書き込み命令のうちのいずれか一つの命令がホスト100から外部貯蔵装置200に伝送される。命令が入力されれば、ワークメモリ330に貯蔵されたマージ状態情報に従って外部貯蔵装置200が漸進的マージ状態にあるか否かが中央処理装置320によって判別される(S110)。もし漸進的マージ状態ではなければ、手続きは次の段階S120に進行する。S120段階ではログ領域のメモリブロックに対するマージ動作が実行されなければならないか否かが判別される。マージ動作を実行しなければならないか否かはログ領域のメモリブロックに空のページが存在するか否かに従って決められることができる。空のページがメモリブロック内に存在するか否かはマッピングテーブルを利用して決められることができる。空のページの数は多様に変更されることができる。例えば、一つの空のページだけがメモリブロックに存在するとき、マージ動作が実行されることができる。本発明の漸進的マージスキームが適用されるメモリシステム及びフラッシュメモリ容量に従って空のページの数が多様に変更されることができる。
もしマージ動作が実行される必要がなければ、入力された命令に対する動作が実行される(S130)。入力された命令が正常に処理された後、外部貯蔵装置200はホスト100に入力命令に対応する動作が終わったことを知らせる。この分野の通常の知識を習得した者などによく理解されることができるところのように、入力された命令に対応する動作が決められた時間(例えば、タイムアウト時間)内に正常に実行されれば、ホストタイムアウトは発生しない。もし入力された命令に対応する動作が決められた時間(例えば、タイムアウト時間)内に正常に実行されなければ、ホストタイムアウトが誘発され、外部貯蔵装置200は初期化される。
S120段階でメモリブロック野に対するマージ動作が実行されなければならないと判別される場合、手続きはS150_1段階に進行する。S150_1段階では漸進的マージ動作の一番目の処理過程が実行される。マージ動作は、上述のように、多数の処理過程を通じて実行される。例えば、ログマッピング技法によるマージ方法は大きく空のメモリブロックを準備する段階と、ログ領域のメモリブロックに貯蔵された有効データを空のメモリブロックにコピーする段階と、データ領域のメモリブロックに貯蔵された有効データを空のメモリブロックにコピーする段階と、マッピング情報を更新する段階と、などを含む。有効データを空のメモリブロックにコピーする段階はフラッシュメモリのページサイズに従って、再び2段階またはそれより多くの段階に区分されることができる。
この実施形態において、一番目の処理段階は空のメモリブロックを準備する段階とログ領域のメモリブロックに貯蔵された有効データを空のメモリブロックにコピーする段階とを含み、二番目の処理段階はデータ領域のメモリブロックに貯蔵された有効データを空のメモリブロックにコピーする段階とマッピング情報を更新する段階とを含む。マージ動作に必要な時間が有効データを空のメモリブロックにコピーするのに大部分かかるという点を考慮すると、メモリブロックのサイズ(または容量)が増加することに従って有効データをコピーするのに必要な時間が増加する。このような場合、漸進的マージ動作の処理段階が増加する。本発明の漸進的マージ動作が2回の処理過程を通じて実行されることもでき、それより多くの処理過程を通じて実行されることもできることはこの分野の通常の知識を習得した者などに自明である。
マージ動作の一番目の処理過程が実行された後、マージ状態情報は次の処理段階を示すように更新される。漸進的マージ動作の一番目の処理過程が実行された後、マージ動作が完了したか否かが判別される(S160)。例えば、決められた処理段階S150_1−S150_nが全部実行されるとき、マージ動作が完了したと判別されることができる。もしマージ動作が完了しなかったら、手続きはS130段階に進行する。マージ動作が完了した場合、ワークメモリ320に貯蔵されたマージ状態情報値は漸進的マージ状態から解除された(release)ことを示すように初期化される(S170)。以後、入力された命令がS130段階で正常に処理された後、外部貯蔵装置200はホスト100に入力命令に対応する動作が終わったことを知らせる。
その次に、任意の命令が再びホスト100から外部貯蔵装置200に伝送されれば(S100)、ワークメモリ330に貯蔵されたマージ状態情報に従って外部貯蔵装置200が漸進的マージ状態にあるか否かが中央処理装置320によって判別される(S110)。以前の命令の入力に従って一番目の処理過程が実行されたので、手続きはS140段階に進行してマージ動作の次の処理過程が実行される。二番目の処理過程が完了した後、マージ状態情報は次の処理段階を示すように更新される。その次に、手続きはマージ動作が完了したか否かが判別されるS160段階に進行する。マージ動作が完了しなかった場合、手続きはS130段階に進行する。マージ動作が完了した場合、ワークメモリ320に貯蔵されたマージ状態情報値は漸進的マージ状態から解除されたことを示すように初期化される(S170)。以後、入力された命令がS130段階で正常に処理された後、外部貯蔵装置200はホスト100に入力命令に対応する動作が終わったことを知らせる。上述の過程は漸進的マージ動作が完了するまで繰り返して実行される。
一旦、外部貯蔵装置200が漸進的マージ状態に進入すれば、外部貯蔵装置200は決められた処理段階のうちの一部処理段階を通じてマージ動作が完了したにもかかわらず、決められた処理段階が全部実行されるまでマージ状態にとどまっているようになる。これに反して、マージ動作が完了したか否かを空のメモリブロックに有効データが全部コピーされたか否かを基準にして判別する場合、決められた処理段階のうちの一部処理段階を通じてマージ動作が完了したとき、外部貯蔵装置200は漸進的マージ状態から解除されてくるようになる。また、漸進的マージ動作が2回の処理段階を通じて完了すると仮定すれば、マージ動作が完了したか否かはマージ状態情報を利用して判別されることができる。言及された判別方法の以外にも予想されることができるすべての判別方法が本発明に適用されることができることはこの分野の通常の知識を習得した者などに自明である。
入力された命令が書き込み、読み出しまたは消去命令の場合、S130段階では入力された命令に対応する書き込み/読み出し/消去動作が実行される。これに反して、入力された命令が書き込み命令の場合、S130段階では入力された命令に対応する書き込み動作が実行されないように漸進的マージ動作が実現されることができる。このような場合、書き込み命令とともに入力されたデータは一時的にバッファメモリ340に貯蔵される。次の書き込み命令が入力されれば、漸進的マージ動作の次の過程が実行される。この際、書き込み命令と入力されたデータは一時的にバッファメモリ340に貯蔵される。このような動作はバッファメモリ340が全部満たされるまで2回またはその以上繰り返して実行されることができる。漸進的マージ動作が完了した後、バッファメモリ340に貯蔵されたデータはフラッシュメモリ400に貯蔵される。
本発明による回路の構成及び動作を上述の説明及び図に従って示したが、これは例をあげて説明したことに過ぎず、本発明の技術的マッピング及び範囲を逸脱しない範囲内で多様な変化及び変更が可能であることはもちろんである。
一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 一般的なマージ方法を説明するための図である。 本発明によるメモリシステムを概略的に示すブロック図である。 本発明による漸進的マージ方法を説明するためのフローチャートである。
符号の説明
100 ホスト
200 外部貯蔵装置
300 インターフェース装置
400 フラッシュメモリ
310 ホストインターフェース
320 中央処理装置
330 ワークメモリ
340 バッファメモリ
350 フラッシュコントローラ

Claims (22)

  1. フラッシュメモリに対する命令に応答して漸進的マージ動作の多数のマージ段階のうちの一つを実行し、
    前記多数のマージ段階のうちの一つを実行することは、
    前記フラッシュメモリに対する命令の入力を受ける段階と、
    前記フラッシュメモリが漸進的マージ動作を実行しているか否かを判断する段階と、
    前記フラッシュメモリが漸進的マージ動作を実行している場合、漸進的マージ動作の次のマージ段階を実行することであり、
    前記フラッシュメモリが漸進的マージ動作を実行しないか、または前記入力された命令が読み出し命令であれば、前記入力された命令を実行する段階と、
    前記フラッシュメモリが漸進的マージ動作を実行する場合、入力された命令が書き込み命令であれば、前記フラッシュメモリへ連続的に書き込むことをホストプロセッサから要求されたデータを、バッファメモリへ貯蔵する段階と、
    前記命令完了を前記ホストプロセッサに伝達する段階とをさらに含む
    ことを特徴とするフラッシュメモリの制御方法。
  2. 前記漸進的マージ動作が完了したか否かを判断する段階と、
    前記漸進的マージ動作が完了すれば、前記貯蔵されたデータを前記フラッシュメモリに記録する段階とを含むことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  3. 前記フラッシュメモリが漸進的マージ動作を実行しているか否かを判断する段階はマージ状態情報を判断する段階を含み、
    前記方法は前記次のマージ段階の実行に応答して前記マージ状態情報をアップデートする段階をさらに含むことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  4. 漸進的マージ動作が前記入力された命令を実行するのに必要であるか否かを決める段階と、
    漸進的マージ動作が要求される場合、前記漸進的マージ動作の第1マージ段階を実行する段階とを含むことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  5. 前記フラッシュメモリが漸進的マージ動作を実行しているか否かを判断する段階はマージ状態情報を判断する段階を含み、
    前記方法は前記第1マージ段階の実行に応答して前記マージ状態情報をアップデートする段階をさらに含むことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  6. 前記漸進的マージ動作が完了したか否か判断する段階と、
    前記漸進的マージ動作が完了すれば、前記マージ状態情報をリセットする段階とを含むことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  7. 前記漸進的マージ動作が完了したか否かを判断する段階は有効データのコピーが完了したか否かに従って決められることを特徴とする請求項に記載のフラッシュメモリの制御方法。
  8. 前記漸進的マージ動作が完了したか否かを判断する段階は前記漸進的マージ動作のすべてのマージ段階が完了したか否かに従って決められることを特徴とする請求項に記載のフラッシュメモリの制御方法。
  9. 漸進的マージ動作が前記入力された命令を実行するのに必要であるか否かを決める段階は前記フラッシュメモリの少なくとも一つのメモリブロックに空のページが存在するか否かに基づくことを特徴とする請求項に記載のフラッシュメモリの制御方法。
  10. マージ動作を多数のマージ段階に分け、マージ段階の各々はホストプロセッサのタイムアウトタイム内に完了する段階と、
    前記ホストプロセッサからの命令入力に応答して前記マージ段階のうちの一つを実行する段階と、
    マージ動作が実行中であるか否かに基礎して前記ホストプロセッサから入力された前記命令を選択的に実行する段階と、
    前記ホストプロセッサのタイムアウトタイム内に前記ホストプロセッサに応答を与えるために前記入力された命令が完了したことを前記ホストプロセッサに知らせると共に、
    前記入力された命令を選択的に実行する段階は、
    前記入力された命令が読み出し命令の場合に読み出し動作を実行する段階と、
    前記入力された命令が書き込み命令であり、マージ動作が実行中の場合に書き込み命令のためにデータをバッファメモリへ貯蔵する段階とを含む
    ことを特徴とするフラッシュメモリの制御方法。
  11. 前記マージ動作が完了したか否か判断する段階と、
    前記マージ動作が完了した場合にフラッシュメモリに貯蔵されたデータを記録する段階をさらに含むことを特徴とする請求項10に記載のフラッシュメモリの制御方法。
  12. 前記マージ段階のうちの一つを実行する段階は
    前記入力された命令を実行するのにマージ動作を必要とするか否かを判断する段階と、 前記入力された命令を実行するのにマージ動作を必要とする場合に前記多数のマージ段階のうちの第1段階を実行する段階とを含むことを特徴とする請求項10に記載のフラッシュメモリの制御方法。
  13. 前記マージ段階のうちの一つを実行する段階は
    マージ動作がマージ段階情報に基づいて実行中であるか否かを判断する段階と、
    前記複数のマージ段階の次のマージ段階を決める段階と、
    前記複数のマージ段階のうち前記次のマージ段階を実行する段階と、
    前記次のマージ段階が実行されることに従って前記マージ段階情報をアップデートする段階とをさらに含むことを特徴とする請求項12に記載のフラッシュメモリの制御方法。
  14. フラッシュメモリと、
    ホストプロセッサからの命令入力に応答して漸進的マージ動作の複数のマージ段階のうちの一つを実行することを特徴とするインターフェース装置を含むと共に、
    前記インターフェース装置はホストプロセッサから命令を受けて、前記メモリシステムが漸進的マージ動作を実行しているか否かを判断し、前記メモリシステムが漸進的マージ動作を実行していれば、前記漸進的マージ動作の次の段階を実行し、
    前記インターフェース装置は前記メモリシステムが漸進的マージ動作を実行しないか、または前記入力された命令が読み出し命令である場合に前記入力された命令を実行し、前記メモリシステムが漸進的マージ動作を実行する場合に、前記入力された命令が書き込み命令であれば、前記フラッシュメモリの後続書き込み動作のためにデータをバッファメモリに貯蔵し、前記命令が完了したことを前記ホストに知らせる
    ことを特徴とするメモリシステム。
  15. 前記インターフェース装置は前記漸進的マージ動作が完了したか否かを判断し、前記漸進的マージ動作が完了すれば、前記フラッシュメモリに前記貯蔵されたデータを書き込むことを特徴とする請求項14に記載のメモリシステム。
  16. 前記インターフェース装置は動作メモリに貯蔵されたマージ状態情報を判断して前記フラッシュメモリが漸進的マージ動作を実行しているか否かを決め、前記次のマージ段階の実行に応答して前記マージ状態情報をアップデートすることを特徴とする請求項14に記載のメモリシステム。
  17. 前記インターフェース装置は漸進的マージ動作が前記入力された命令実行に必要であるか否かを判断し、前記漸進的マージ動作が必要な場合に前記漸進的マージ動作の第1段階を実行することを特徴とする請求項14に記載のメモリシステム。
  18. 前記インターフェース装置は動作メモリに貯蔵されたマージ状態情報を判断して前記フラッシュメモリが漸進的マージ動作を実行しているか否かを決め、前記第1マージ段階の実行に応答して前記マージ状態情報をアップデートすることを特徴とする請求項17に記載のメモリシステム。
  19. 前記インターフェース装置は前記漸進的マージ動作が完了したか否かを判断し、前記漸進的マージ動作が完了すれば、前記マージ状態情報をリセットすることを特徴とする請求項16に記載のメモリシステム。
  20. 前記インターフェース装置は有効データのコピーが完了したか否かを判断して前記漸進的マージ動作が完了したか否かを決める特徴とする請求項19に記載のメモリシステム。
  21. 前記インターフェース装置は前記漸進的マージ動作のすべてのマージ段階が完了したか否かを判断して前記漸進的マージ動作が完了したか否かを決めることを特徴とする請求項19に記載のメモリシステム。
  22. 前記インターフェース装置は前記フラッシュメモリの少なくとも一つのメモリブロックに空のページが存在するか否かに基づいて前記入力された命令の実行に漸進的マージ動作が必要であるか否かを決めることを特徴とする請求項17に記載のメモリシステム。
JP2005190651A 2004-06-30 2005-06-29 漸進的マージ方法及びそれを利用したメモリシステム Expired - Fee Related JP4422652B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040050507A KR100568115B1 (ko) 2004-06-30 2004-06-30 점진적 머지 방법 및 그것을 이용한 메모리 시스템

Publications (2)

Publication Number Publication Date
JP2006018839A JP2006018839A (ja) 2006-01-19
JP4422652B2 true JP4422652B2 (ja) 2010-02-24

Family

ID=35511655

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005190651A Expired - Fee Related JP4422652B2 (ja) 2004-06-30 2005-06-29 漸進的マージ方法及びそれを利用したメモリシステム

Country Status (6)

Country Link
US (1) US7529879B2 (ja)
JP (1) JP4422652B2 (ja)
KR (1) KR100568115B1 (ja)
CN (1) CN1722109B (ja)
DE (1) DE102005031525A1 (ja)
TW (1) TWI349192B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315917B2 (en) * 2005-01-20 2008-01-01 Sandisk Corporation Scheduling of housekeeping operations in flash memory systems
CA2621255A1 (en) * 2005-09-21 2007-04-05 Incyte Corporation Amido compounds and their use as pharmaceuticals
JP5002201B2 (ja) * 2006-06-30 2012-08-15 株式会社東芝 メモリシステム
CN100423001C (zh) * 2006-09-26 2008-10-01 北京北大方正电子有限公司 一种信息归并方法及系统
US20080091901A1 (en) * 2006-10-12 2008-04-17 Alan David Bennett Method for non-volatile memory with worst-case control data management
KR100843135B1 (ko) * 2006-11-20 2008-07-02 삼성전자주식회사 비휘발성 메모리 관리 방법 및 장치
JP2008152464A (ja) * 2006-12-15 2008-07-03 Toshiba Corp 記憶装置
KR101354152B1 (ko) * 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
KR100881597B1 (ko) * 2007-02-02 2009-02-03 지인정보기술 주식회사 읽기 요청 처리 시스템 및 방법
JP5087347B2 (ja) * 2007-09-06 2012-12-05 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US8082384B2 (en) 2008-03-26 2011-12-20 Microsoft Corporation Booting an electronic device using flash memory and a limited function memory controller
TWI385519B (zh) * 2008-04-18 2013-02-11 Phison Electronics Corp 資料寫入方法及使用此方法的快閃儲存系統與其控制器
KR101497074B1 (ko) * 2008-06-17 2015-03-05 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 데이터 관리 방법
KR100987251B1 (ko) * 2008-10-10 2010-10-12 한양대학교 산학협력단 완전 연관 섹터 변환 기법을 사용하는 플래시 변환 계층에서 합병연산을 줄이기 위한 플래시 메모리 관리 방법및 장치
KR101510120B1 (ko) * 2008-11-21 2015-04-10 삼성전자주식회사 메모리 장치 및 메모리 장치의 관리 방법
KR101581859B1 (ko) * 2009-02-27 2016-01-21 삼성전자주식회사 메모리 시스템 및 그것의 플래시 변환 계층의 데이터 관리 방법
US8364931B2 (en) * 2009-06-29 2013-01-29 Mediatek Inc. Memory system and mapping methods using a random write page mapping table
US9753847B2 (en) 2009-10-27 2017-09-05 Western Digital Technologies, Inc. Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping
US8417876B2 (en) * 2010-06-23 2013-04-09 Sandisk Technologies Inc. Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
KR101734200B1 (ko) 2010-12-03 2017-05-11 삼성전자주식회사 적응적 머지를 수행하는 메모리 시스템 및 그것의 데이터 쓰기 방법
US9396106B2 (en) * 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
TWI461913B (zh) * 2011-11-30 2014-11-21 Silicon Motion Inc 快閃記憶裝置及其資料讀取方法
KR102025263B1 (ko) 2012-10-05 2019-09-25 삼성전자주식회사 메모리 시스템 및 그것의 읽기 교정 방법
US8812744B1 (en) 2013-03-14 2014-08-19 Microsoft Corporation Assigning priorities to data for hybrid drives
US9626126B2 (en) 2013-04-24 2017-04-18 Microsoft Technology Licensing, Llc Power saving mode hybrid drive access management
US9946495B2 (en) 2013-04-25 2018-04-17 Microsoft Technology Licensing, Llc Dirty data management for hybrid drives
US10318987B2 (en) * 2014-02-18 2019-06-11 International Business Machines Corporation Managing cookie data
US9760481B2 (en) * 2014-06-13 2017-09-12 Sandisk Technologies Llc Multiport memory
JP6860965B2 (ja) * 2015-06-12 2021-04-21 任天堂株式会社 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
KR102709416B1 (ko) 2019-06-03 2024-09-24 삼성전자주식회사 3차원 메모리 장치

Family Cites Families (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1628505A (en) * 1927-05-10 Extension step
US653769A (en) * 1897-09-13 1900-07-17 Samuel B Fuller Car-step.
US823401A (en) * 1905-08-02 1906-06-12 Bucyrus Co Rope-fastening for winding-drums.
US981024A (en) * 1909-07-01 1911-01-10 Walter T Stall Interior detachable pad for garments.
US953733A (en) * 1909-07-30 1910-04-05 Edwin H Allfree Adjustable step and platform.
US961024A (en) * 1909-11-04 1910-06-07 Isaac H Saunders Car-platform closure.
US986103A (en) * 1910-07-19 1911-03-07 Adrian A Taylor Car-step.
US1102287A (en) * 1914-02-26 1914-07-07 Edvard M Moller Combination door and door-step for platforms of cars.
US1149482A (en) * 1914-11-05 1915-08-10 John A Stellner Swinging reversible car-steps.
US1168484A (en) * 1914-11-23 1916-01-18 Cilos C Dalton Folding shipping-crate for eggs.
US1141064A (en) * 1915-03-06 1915-05-25 John R Kunzelman Auxiliary step for car-platforms.
US1169140A (en) * 1915-11-08 1916-01-25 William H Cheever Foldable car-steps.
US1183707A (en) * 1915-12-20 1916-05-16 Elmer E Cressler Folding car-step and trap-door.
US1387134A (en) * 1920-04-20 1921-08-09 Dufek Louis Approachway for platforms of cars
US1419992A (en) * 1921-05-04 1922-06-20 Szczurek Joe Extension steps
US1425149A (en) * 1922-03-27 1922-08-08 Swanson Peter Auxiliary car step
US1685124A (en) * 1925-07-21 1928-09-25 American Car & Foundry Co Holding-means for car-vestibule trapdoors
US1868599A (en) * 1925-11-02 1932-07-26 Percy M Griffin Closure operating device
US1965387A (en) * 1933-01-27 1934-07-03 Mcdonald John Francis Keeper for fastening a platform to a door guide
US2082536A (en) * 1933-02-15 1937-06-01 Clark Equipment Co Rail car
US2162964A (en) * 1936-06-05 1939-06-20 American Car & Foundry Co Folding car step
US2123505A (en) * 1936-07-29 1938-07-12 Faries Robert Motor truck
US2190742A (en) * 1938-04-30 1940-02-20 American Car & Foundry Co Railway car
US2190708A (en) * 1938-07-30 1940-02-20 Chester L Fowler Vehicle transporting car
US2415341A (en) * 1943-11-08 1947-02-04 Budd Co Trap door and step arrangement
US2370427A (en) * 1944-07-24 1945-02-27 Henry A Sherry Portable ramp for vehicles
US2498375A (en) * 1946-09-19 1950-02-21 Francis W Moore Ladder lock
US2825582A (en) * 1953-06-25 1958-03-04 Albert W Mcdonald Foldable steps for trailer
US2828027A (en) * 1954-03-03 1958-03-25 George A Ramlose Foundation In Means of handling articles
US2951454A (en) * 1957-04-08 1960-09-06 Pullman Standard Car Mfg Co Vehicle folding step assembly
US2878533A (en) * 1958-01-13 1959-03-24 Youngstown Steel Door Co Doors for box cars
US2979327A (en) * 1958-11-17 1961-04-11 Gen Motors Corp Flush type vehicle window
US3086261A (en) * 1961-06-13 1963-04-23 Torjesen Inc Floor seal
US3138831A (en) * 1961-06-26 1964-06-30 American Seal Kap Corp Latching arrangements for sliding flush doors
US3166277A (en) * 1963-07-19 1965-01-19 Hiller Aircraft Company Inc Vehicle work platform
US3330329A (en) * 1965-09-13 1967-07-11 David R Ligh Hatch cover operating arrangement
US3374821A (en) * 1965-10-14 1968-03-26 New Castle Products Inc Movable space divider structure
US3468580A (en) * 1967-04-21 1969-09-23 Veseley Co Combination door and step for vehicle bodies
GB1214028A (en) * 1967-11-10 1970-11-25 Brownbuilt Ltd Storage facility
DE1755862B1 (de) * 1968-07-02 1970-12-23 Volkswagenwerk Ag Selbsttaetig ausfahrbares Trittbrett fuer Fahrzeuge,insbesondere Kraftfahrzeuge
US3651767A (en) * 1968-10-23 1972-03-28 Linke Hofmann Busch Multistep entry particularly for vehicles
US3672311A (en) * 1968-10-23 1972-06-27 Linke Hofmann Busch Movable stair mounting arrangement for vehicles
US3687186A (en) * 1969-05-02 1972-08-29 Hamilton Neil King Paton Boxcar full-side closure
US3572754A (en) * 1969-07-11 1971-03-30 Gen Motors Corp Vehicle step arrangement
US3675593A (en) * 1969-12-11 1972-07-11 Waggonfabrik Verdingen Ag Stairway for rail-mounted conveyances
US3724396A (en) * 1971-02-18 1973-04-03 Vapor Corp Door system for high low platforms
US3709155A (en) * 1971-03-22 1973-01-09 Pullman Inc Automobile hold-down device
US3788500A (en) * 1971-04-27 1974-01-29 J Lemelson Automatic transfer and transport system
US3715043A (en) * 1971-05-28 1973-02-06 Fmc Corp Loading and unloading conveyor
US3730361A (en) * 1971-07-28 1973-05-01 Zink R Vehicle ramp
US3799288A (en) * 1972-05-17 1974-03-26 L Manuel Rotatable stair assembly adapted for attachment to a vehicle platform
US3795205A (en) * 1972-08-28 1974-03-05 Vac Ind Inc Door system for a railway car
US3830332A (en) * 1972-12-01 1974-08-20 Fail Safe Brake Corp Automatic door lock
US3893697A (en) * 1973-05-16 1975-07-08 Blitz Corp Loading and unloading system for bus
US3870170A (en) * 1973-06-06 1975-03-11 Donald E Noble Loading ramp for pick-up trucks and the like
US4141179A (en) * 1974-03-21 1979-02-27 Westinghouse Brake & Signal Co., Ltd. Vehicle door arrangements
AU497070B2 (en) * 1974-03-21 1978-11-23 Westinghouse Brake And Signal Compan'i Limited Vehicle door arrangements
US4016991A (en) * 1974-04-10 1977-04-12 Oldford William G Railway loading and unloading system
US3957284A (en) * 1974-09-13 1976-05-18 The Boeing Company Movable steps for a transit vehicle
CA1025159A (en) * 1974-10-31 1978-01-31 Jacques Pradon Safety equipment for variable height vehicle access
US3955827A (en) * 1975-03-03 1976-05-11 Wonigar Joseph J Stowable step for vehicles
US4002891A (en) * 1975-08-13 1977-01-11 The B. F. Goodrich Company Mixer control system
US4251179A (en) * 1978-03-13 1981-02-17 Transportation Design & Technology, Inc. Wheelchair lift
US4081091A (en) * 1975-08-20 1978-03-28 Transportation Design & Technology, Inc. Wheelchair lift
US4015866A (en) * 1975-10-28 1977-04-05 Pullman Incorporated Operating mechanism for double sliding doors
US4018239A (en) * 1975-11-17 1977-04-19 Hobart Corporation Tray washer apparatus
US4039091A (en) * 1976-03-25 1977-08-02 Mb Associates Elevator type bus boarder
US4020920A (en) * 1976-06-28 1977-05-03 Abbott John D Retractable transit coach step
US4074786A (en) * 1976-08-10 1978-02-21 Steiger Tractor Inc. Self locking compartment for tractor
FR2405849A1 (fr) * 1977-10-13 1979-05-11 Faiveley Sa Marchepied escamotable, notamment pour une porte de voiture de chemins de fer
US4140327A (en) * 1977-12-30 1979-02-20 Hackney & Sons, Inc. Truck body bay doorway platform
US4216725A (en) * 1978-11-13 1980-08-12 Pullman Incorporated Combination door and emergency stairway exit
US4252491A (en) * 1979-03-30 1981-02-24 Jelco Service Co., Inc. Material lift platform
US4249634A (en) * 1979-09-12 1981-02-10 Eastman Kodak Company Safety floating step assembly for platform
US4275664A (en) * 1979-09-26 1981-06-30 Vapor Corporation Step-platform operation
US4273498A (en) * 1979-11-07 1981-06-16 The Budd Company Railway car trap door lift
DE2946531C2 (de) * 1979-11-17 1982-06-24 M.A.N. Maschinenfabrik Augsburg-Nürnberg AG, 8000 München Mehrstufiger, seitlich ausfahrbarer Einstieg für Fahrzeuge für den Personenverkehr, insbesondere Omnibusse
DE3004640A1 (de) * 1980-01-28 1981-07-30 SIG Schweizerische Industrie-Gesellschaft, 8212 Neuhausen am Rheinfall Einstiegtreppe fuer schienenfahrzeuge
JPS5876669A (ja) * 1981-10-29 1983-05-09 株式会社大井製作所 自動車等における自動扉開閉装置
US4453684A (en) * 1981-12-09 1984-06-12 Omac, Inc. Step operated locking mechanism for aircraft lower door
US4583466A (en) * 1982-11-08 1986-04-22 Vapor Corporation Step lift for railway cars
US4570962A (en) * 1984-01-16 1986-02-18 Chavira Salvador V Retractable vehicle step assembly
US4720116A (en) * 1986-11-24 1988-01-19 Williams Michael G Storable stairway and platform apparatus for recreational vehicles
US4759682A (en) * 1987-05-06 1988-07-26 Transpec Inc. Vehicle entrance ramp
US4850788A (en) * 1987-07-13 1989-07-25 Dickson Industries, Inc. Ramp assembly for trailers and the like
US5228707A (en) * 1991-08-16 1993-07-20 Carriage, Inc. Retractable vehicle step
DE4223320C1 (en) * 1992-07-16 1993-09-16 Deutsche Aerospace Airbus Gmbh, 21129 Hamburg, De Folding stairway between decks of large aircraft - has extending access housing at upper end to collapse into small unit for unimpeded emergency exit path
JPH06222986A (ja) 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5485595A (en) * 1993-03-26 1996-01-16 Cirrus Logic, Inc. Flash memory mass storage architecture incorporating wear leveling technique without using cam cells
JPH08212019A (ja) * 1995-01-31 1996-08-20 Mitsubishi Electric Corp 半導体ディスク装置
CA2146739C (en) * 1995-04-10 2002-06-18 Jacobus N. Hanemaayer Improved sewer discharge and stowing system for a recreation vehicle
US5878088A (en) * 1997-04-10 1999-03-02 Thomson Consumer Electronics, Inc. Digital variable symbol timing recovery system for QAM
US6125459A (en) * 1997-01-24 2000-09-26 International Business Machines Company Information storing method, information storing unit, and disk drive
US6179312B1 (en) * 1997-03-14 2001-01-30 Freightliner Llc Retractable stairway for entering and exiting a vehicle
US5876086A (en) * 1997-04-14 1999-03-02 The Budd Company Multi-piece door with hidden hinge
US5937425A (en) * 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US6178364B1 (en) * 1999-02-12 2001-01-23 Freightliner Corporation Method of controlling a retractable stairway assembly
US6263804B1 (en) * 1999-07-22 2001-07-24 Tekdata Inc. Dual level access door system for railway vehicles
KR100577380B1 (ko) 1999-09-29 2006-05-09 삼성전자주식회사 플래시 메모리와 그 제어 방법
US6401629B1 (en) * 1999-12-10 2002-06-11 Faiveley Transport Door for railroad car
AUPQ555700A0 (en) * 2000-02-11 2000-03-02 Canon Kabushiki Kaisha Fifo overflow management
KR100644602B1 (ko) 2000-10-11 2006-11-10 삼성전자주식회사 플래시메모리를 위한 재사상 제어방법 및 그에 따른플래시 메모리의 구조
KR100389867B1 (ko) 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
JP4812192B2 (ja) 2001-07-27 2011-11-09 パナソニック株式会社 フラッシュメモリ装置、及び、それに記憶されたデータのマージ方法
JP3967121B2 (ja) 2001-12-11 2007-08-29 株式会社ルネサステクノロジ ファイルシステム、ファイルシステム制御方法およびファイルシステムを制御するためのプログラム
US7035967B2 (en) 2002-10-28 2006-04-25 Sandisk Corporation Maintaining an average erase count in a non-volatile storage system

Also Published As

Publication number Publication date
US7529879B2 (en) 2009-05-05
KR20060001393A (ko) 2006-01-06
DE102005031525A1 (de) 2006-01-26
TW200602867A (en) 2006-01-16
JP2006018839A (ja) 2006-01-19
TWI349192B (en) 2011-09-21
US20060004971A1 (en) 2006-01-05
KR100568115B1 (ko) 2006-04-05
CN1722109A (zh) 2006-01-18
CN1722109B (zh) 2010-05-26

Similar Documents

Publication Publication Date Title
JP4422652B2 (ja) 漸進的マージ方法及びそれを利用したメモリシステム
JP4988215B2 (ja) 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム
US9928167B2 (en) Information processing system and nonvolatile storage unit
KR100771519B1 (ko) 플래시 메모리를 포함한 메모리 시스템 및 그것의 머지방법
KR100684887B1 (ko) 플래시 메모리를 포함한 데이터 저장 장치 및 그것의 머지방법
US8429358B2 (en) Method and data storage device for processing commands
JP4004468B2 (ja) 大きなページをサポートするようにさせるための方法およびシステム
JP5413572B2 (ja) メモリストレージ装置及びその制御方法
US7802054B2 (en) Apparatus and methods using invalidity indicators for buffered memory
US20070094445A1 (en) Method to enable fast disk caching and efficient operations on solid state disks
US8850105B2 (en) Method for controlling memory system, information processing apparatus, and storage medium
US20120254514A1 (en) Memory system, controller, and method for controlling memory system
JP4327585B2 (ja) 記憶装置
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
KR20120081351A (ko) Ftl을 수행하는 비휘발성 메모리 장치 및 그의 제어 방법
US20240330175A1 (en) Storage device for classifying data based on stream class number, storage system, and operating method thereof
KR101515621B1 (ko) 반도체 디스크 장치 및 그것의 랜덤 데이터 처리 방법
KR20220096247A (ko) 플래시 메모리의 가비지 콜렉션 방법 및 이를 이용하는 저장 장치
KR20240058637A (ko) 데이터 및 대응되는 맵을 선택적으로 저장하는 메모리 시스템 및 그 동작 방법
KR20240009065A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091019

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

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

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

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

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees