JP2014006902A - フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ - Google Patents

フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ Download PDF

Info

Publication number
JP2014006902A
JP2014006902A JP2013127611A JP2013127611A JP2014006902A JP 2014006902 A JP2014006902 A JP 2014006902A JP 2013127611 A JP2013127611 A JP 2013127611A JP 2013127611 A JP2013127611 A JP 2013127611A JP 2014006902 A JP2014006902 A JP 2014006902A
Authority
JP
Japan
Prior art keywords
address
data
location
memory
ram
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013127611A
Other languages
English (en)
Other versions
JP2014006902A5 (ja
Inventor
S Scouller Ross
エス.スクーラー ロス
K Baker Frank Jr
ケイ.ベイカー ジュニア フランク
J Shizudeku Ronald
ジェイ.シズデク ロナルド
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.)
NXP USA Inc
Original Assignee
Freescale Semiconductor 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 Freescale Semiconductor Inc filed Critical Freescale Semiconductor Inc
Publication of JP2014006902A publication Critical patent/JP2014006902A/ja
Publication of JP2014006902A5 publication Critical patent/JP2014006902A5/ja
Pending legal-status Critical Current

Links

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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

【課題】コマンドに迅速に応答するメモリシステムを提供する。
【解決手段】メモリシステム100は、メモリコントローラ104と、メモリコントローラ104に結合されたアドレスRAM106と、メモリコントローラ104に結合された不揮発性メモリ108とを備える。不揮発性メモリ108は、アドレス部とデータ部を有する。不揮発性メモリ108のアドレス部は、有効データのデータ部アドレスとデータ部アドレスをメモリコントローラ104に供給する。メモリコントローラ104は、データ部アドレスをロードしてアドレスRAM108にてデータ部アドレスを有効データのデータ部アドレスによって定義されるアドレスRAM106内のロケーションに記憶する。メモリコントローラ104は、アドレスRAM106内のデータ部アドレスおよびデータブロックのロケーションを使用して不揮発性メモリ108のデータ部内のデータブロックを位置特定する。
【選択図】図1

Description

本開示は、一般的にはメモリシステムに関し、より具体的には、エミュレート電気的消去可能(EEE)メモリに関する。
エミュレート電気的消去可能(Emulated electrically erasable:EEE)メモリは一般的に、ランダム・アクセス・メモリ(RAM)と同等のサイズの標準的な不揮発性メモリの改善された耐久性を有するメモリシステムを提供するように組み合わされたRAMと、電気的に消去可能であるフラッシュメモリのような不揮発性メモリとを使用する。これは、RAMよりもはるかに大規模な不揮発性メモリを使用して達成されるが、EEEメモリはあたかもRAMのサイズしかないように動作する。したがって、EEEメモリは、EEEメモリによって使用されるものからサイズが低減されているが耐久性は向上している電気的消去可能メモリをエミュレートする。
米国特許出願公開第2007/0140007号明細書 米国特許出願公開第2007/0143528号明細書 米国特許出願公開第2009/0106487号明細書 米国特許出願公開第2010/0011155号明細書 米国特許出願公開第2010/0306604号明細書 米国特許出願公開第2011/0107009号明細書 米国特許出願公開第2011/0173373号明細書 米国特許第5784611号明細書 米国特許第6904400号明細書 米国特許第7058755号明細書 米国特許第7600090号明細書
EEEメモリは、RAMを使用してエミュレートされたメモリの内容を示すが、対象のエミュレートされたEEpromが大きくなると非競合的になる。RAMがなくなるということは、検索ベースの手順を介してアクセス時間が遅くなることを意味する。
したがって、不揮発性フラッシュメモリが電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)と競合可能にするために、上記の問題を改善するEEEメモリを提供することが必要とされている。
本発明の一側面は、メモリシステムである。メモリシステムは、メモリコントローラと、前記メモリコントローラに結合されたアドレス・ランダム・アクセス・メモリ(RAM)と、前記メモリコントローラに結合された不揮発性メモリ(NVM)とを備え、前記不揮発性メモリは、アドレス部とデータ部とを有し、前記不揮発性メモリの前記アドレス部は、有効データのデータ部アドレスおよびルックアップアドレスを前記メモリコントローラに供給し、前記メモリコントローラは、前記データ部アドレスをロードして、前記有効データのルックアップアドレスによって定義される前記アドレスRAM内のロケーションに前記データ部アドレスを記憶し、前記メモリコントローラは、前記アドレスRAM内の前記データ部アドレス、およびデータ・ブロック・アドレスのロケーションを使用して前記不揮発性メモリのデータ部内のデータブロックを位置特定する。
フラッシュ・メモリ・アレイからデータを読み出すのに有用なシステムの一実施形態を示すブロック図。 図1のシステム内で使用されることができるフルアドレスのレコードの一実施形態を示す図。 図1のシステム内で使用されることができるアドレス・システム・レコードの一実施形態を示す図。 図1のシステム内で使用されることができるアドレス・ランダム・アクセス・メモリの一実施形態を示す図。 図1のシステム内で使用されることができるフラッシュ・メモリ・アレイのデータ部の一実施形態を示す図。 図5のフラッシュ・メモリ・アレイのデータ部内で使用されることができるレコード・ステータス・フォーマットの一実施形態を示す図。 図5のフラッシュ・メモリ・アレイのデータ部内で使用されることができるデータブロックのためのフォーマットの一実施形態を示す図。 フラッシュ・メモリ・アレイへデータを書き込むのに有用なシステムの別の実施形態を示すブロック図。 図8のシステムを使用して書き込み動作を実行するための方法の一実施形態を示す流れ図。
本発明は例として示されており、添付の図面によって限定されない。図面において、同様の参照符号は類似の要素を示す。図面内の要素は簡潔かつ明瞭にするために示されており、必ずしも原寸に比例して描かれてはいない。
一態様では、エミュレート電気的消去可能(EEE)メモリは、複数のセクタに分割された不揮発性メモリ(NVM)と、NVMのためのアドレス情報を記憶するためのランダム・アクセス・メモリ(RAM)とを有する。アドレス情報は、2クロックサイクルにおいてNVM内に保持されているデータレコードにアクセスすることを可能にするタイプのRAMメモリ内に記憶される。NVMおよびアドレスRAMは協働して、レコード作成(record creation)中の電源のサージおよび電源の降下の間に発生する可能性があるデータの損失に対して保護する。コマンドに迅速に応答することを可能にするために、バースト・プログラム・モードと併せて、分散圧縮/消去動作が実施されることができる。これは、図面および以下の記載を参照することによってより良好に理解される。
一実施形態では、フラッシュメモリがNVMとして使用される。一例では、本明細書において使用された場合、プログラミングとは、ビットセルに論理レベル0を記憶することを指し、消去とは、ビットセルに論理レベル1を記憶することを指す。しかしながら、代替の実施形態では、プログラミングがビットセルに論理レベル1を記憶することを指してもよく、消去がビットセルに論理レベル0を記憶することを指してもよい。論理レベル0は論理ローと称される場合もあり、論理レベル1は論理ハイと称される場合もある。
「アサート」または「セット」および「ネゲート」(または「アサート停止」もしくは「クリア」)という用語は、本明細書においては、信号、ステータスビット、または類似の装置をそれぞれ、その論理的に真または論理的に偽の状態にレンダリングすることを指す場合に使用される。論理的に真の状態が論理レベル1である場合、論理的に偽の状態は論理レベル0である。そして、論理的に真の状態が論理レベル0である場合、論理的に偽の状態は論理レベル1である。
図1は、プロセッサ102と、不揮発性フラッシュ・メモリ・アレイ108およびアドレスRAM106を使用するEEEメモリシステム114とを含み、フラッシュメモリ108からデータを読み出すのに有用な処理システム100の一実施形態をブロック図形式で示す。EEEメモリシステム114は、メモリコントローラ104と、アドレスRAM106と、フラッシュアレイ108(NVMアレイと称される場合もあり、任意のタイプのNVMがフラッシュメモリの代わりに使用されてよい)とを含む。フラッシュアレイ108は、1つまたは複数のデータセクション(data section)110と、1つまたは複数のアドレスシステム112とを含むことができる。揮発性メモリとみなされ得るRAM106は、メモリコントローラ104に双方向的に結合される。メモリコントローラ104は、プロセッサ102からフルアドレス(full address)のレコード(record)を受信するように、且つアドレスシステム112から更新されたデータ・ブロック・アドレスを受信するように結合される。メモリコントローラ104は、ルックアップアドレス(lookup address)をアドレスRAM106に供給するように、且つ対応するデータ部ロケーション(data portion location)をゲート116に供給するようにさらに結合される。リセット信号が、プロセッサ102およびメモリコントローラ104に供給される。このリセット信号は、たとえば、システム100に対する全体的なリセット信号であり得る。ゲート116は、アドレスRAM106からデータ部アドレス(data portion address)を受信し、データ部アドレスをデータブロック内の対応するロケーションと組み合わせて、結合アドレス/ブロックロケーション信号を送信して、データセクション110内の対応するデータブロック、および指定されるデータブロック内のロケーションにアクセスする。
プロセッサ102は、マイクロプロセッサ、デジタル信号プロセッサなどのような任意のタイプのプロセッサであってもよく、または、EEEメモリシステム114にアクセスすることができる任意の他のタイプの相互接続マスタであってもよい。システム100は、システムバス、もしくは、たとえば、クロスバー、二地点間接続、ならびに光および無線伝送構成要素のような他の形態の相互接続、他のメモリ、1つまたは複数の追加のプロセッサ、1つまたは複数の周辺機器、1つまたは複数の入出力(I/O)デバイスなどのような、図1に示されていない構成要素も含むことができる。代替的には、他のモジュールまたは構成要素はシステム100内に存在しなくてもよい。
動作時、プロセッサ102は、アクセス要求(読み出しまたは書き込みアクセス要求)をメモリシステム114に送信することができる。プロセッサ102からのアクセス要求は、フルアドレスを含み、書き込み要求の場合には関連書き込みデータを含み、メモリコントローラ104に供給される。フルアドレスは、ルックアップアドレス、および、ルックアップアドレスに関連付けられるデータブロック内の対応するロケーションを含む。アドレスRAM106は、ルックアップアドレスを対応するデータ部アドレスに変換するテーブルを含む。読み出しアクセスの場合、データセクション110は、フルアドレスによって指定されるロケーションに対応するデータをプロセッサ102に供給する。書き込みアクセスの場合には、データセクション110は、受信された書き込みデータを新たなレコード(record)として受信されたアドレスのロケーションに記憶する。書き込みアクセスの場合、メモリコントローラ104は、フラッシュアレイ108の更新を検出して、アドレスシステム112から更新されたデータ・ブロック・アドレスをアドレスRAM106に供給する。
アドレスシステム112が32ビットのレコードを使用する例として、上位16ビットが128kのEEEイメージ(EEE image)内の64バイトのロケーションを保持することができる。下位16ビットがデータ部110内の64バイトのブロックの物理ロケーションを指し示す。64バイトのブロックを有する128kのEEEイメージに関して、8kのフラッシュメモリは、アドレスシステム112内のアドレスロケーションのための2kを含むことになる。システム全体は2つ以上のEEEイメージを含むことができ、各EEEイメージに対して8kのフラッシュメモリを必要とすることになる。
全部で64バイトのブロックの物理アドレスが、上位ワード内の64バイトのオフセットに対応するアドレスにおいてアドレスRAM内に転送される。転送プロセスは、8kのアドレスシステム112内でレコードあたり1サイクルのオーバヘッドを有するテストロジックを使用して自動化されることができる。したがって、8kのアドレスシステム112を有するシステムに関してアドレスRAM106を更新するには、25mHzのクロック速度で10μsが必要になることになる。
データ部110内のブロックは、(1)ルックアップアドレスから上位アドレスビットを除去してアドレスRAM106内のデータ部アドレスを判定するステップと、(2)データ部アドレスをデータセクション110内のデータのロケーションと組み合わせてデータセクション110内の特定のデータにアクセスするステップとを含む2つの自動ステップにおいて標準的な電気的消去可能プログラマブル読み出し専用メモリとして読み出されることができる。自動ステップは各々1クロックサイクルを必要とする。
図2は、図1のシステム100内で使用されることができるフルアドレス200の一実施形態を示す。フルアドレス200はプロセッサ102から読み出し要求または書き込み要求とともにメモリコントローラ104に送信され、ルックアップアドレス、およびアクセス先のデータブロック内のロケーションを含む。ルックアップアドレスは、アドレスRAM106においてデータ部アドレスに変換される。データ部アドレスとデータブロック内のロケーションとはゲート116によって組み合わされて、フラッシュアレイ108のデータセクション110内のデータブロック内の特定のロケーションにアクセスするために使用される。
図3は、図1のシステム100内で使用されることができるアドレス・システム・レコード300の一実施形態を示す。アドレス・システム・レコード300は、アドレスシステム112(図1)内に実装されることができる複数のアドレス・システム・レコード300のうちの1つであり、ルックアップ・アドレス・フィールド、データ部アドレスフィールド、ステータスフィールド、およびブロック選択フィールドを含むことができる。ルックアップ・アドレス・フィールドおよびデータブロック内のロケーションからの情報がアドレスRAM106によって提供され、レコード300内のルックアップアドレスおよびデータ部アドレスフィールドにデータ投入される。レコード300内のステータスフィールドおよびデータ部アドレスフィールドに対する情報はメモリコントローラ104によって提供される。限定ステータスビット(qualifying status bit)は、アドレスシステム112内にレコードが存在するかどうかを判定するのに使用されることができ、したがって、すべて0であるとレコードがないことを指示することができる。
図4は、ルックアップアドレス(0)〜(n)および対応するデータ部アドレス(0)〜(n)のテーブルを含む、図1のシステム内で使用されることができるアドレスRAM106の一実施形態を示す。アドレスRAM106がメモリコントローラ104からルックアップアドレスを受信すると、アドレスRAM106は対応するデータ部アドレスを取り出し、当該データ部アドレスをゲート116に送信する。なお、データ部アドレスおよびデータブロック内のロケーションは、ゲート116を介する代わりに別個にデータセクション110に送信されることができる。ルックアップアドレスおよびデータ部アドレスの数およびサイズは、フラッシュアレイ110のサイズに基づくことができる。
図5は、ステータスレコード500およびデータブロック(0)〜(n)を含み、図1のシステム100内で使用されることができるフラッシュ・メモリ・アレイ108のデータ部110の一実施形態を示す。ステータスレコード500は、セクタ識別フィールド502と、レコード・ステータス・フィールド504〜508と、未使用バイト510とを含むことができる。セクタ識別フィールド502は、フラッシュ・メモリ・アレイ108内のセクタを識別する。レコード・ステータス・フィールド504〜508は、フラッシュ・メモリ・アレイ108内の対応するブロックへの書き込みが開始または完了したか否かに関する情報を含む。
図6は、図5に示されるフラッシュ・メモリ・アレイのデータ部110内で使用されることができるレコード・ステータス・フィールド504〜508のためのフォーマットの一実施形態を示す。一例として、レコード・ステータス・フィールド508は4ビットを有することができ、2ビットは書き込みコマンドのような動作が開始したか否かを指示するために確保され、もう2ビットは動作が完了したか否かを指示するために確保される。レコード・ステータス・フィールド504〜508のための他の適切なフォーマットが使用されることができる。
未使用バイト510は、データ部110のサイズに応じて、セクタ消去カウントを追跡する追加のブロックのためのレコード・ステータス・フィールドとして使用されるか、または、未使用のままにすることができる。
図7は、図5のフラッシュ・メモリ・アレイ108のデータ部110内で使用されることができるデータブロック(0)のためのフォーマットの一実施形態を示す。なお、データブロック(1)〜(n)に同じフォーマットを使用することができる。データブロック(0)はデータ部アドレスを使用してアクセスされ、データブロック(0)内の各バイトは、ゲート116(図1)または他の適切な方法またはメカニズムによって提供されるような、データブロック(0)内のロケーションを使用してアクセスされることができる。データブロック(0)は64バイトを有するものとして図示されているが、データブロック(0)、ならびにデータブロック(1)〜(n)は、任意の適切なバイト数を有することができる。
図8は、フラッシュメモリ108へデータを書き込むのに有用なシステム100の別の実施形態をブロック図形式で示す。プロセッサ102は、メモリコントローラ104にデータを書き込むように、書き込まれることになるデータをアドレスとともに供給する。メモリコントローラ104は、データをフラッシュアレイ108内のデータ部110の所望のアドレスに送信する。特定のデータブロックに関する書き込みが開始または完了したか否かのようなステータス情報も、データ部110に送信される。データ部110の経過を追うために、ルックアップおよびデータ部アドレスならびにステータス情報は、フラッシュアレイ108のアドレスシステム112にも送信されることができる。メモリコントローラ104は、アドレスRAM106とも通信して、システムリセット、または、1つまたは複数のルックアップアドレスおよび/もしくは対応するデータ部アドレスの更新を必要とする他の事象の後に、更新されたデータ・ブロック・アドレスを供給することができる。
図9は、図8のシステム100を使用して書き込み動作を実行するための方法900の一実施形態のフロー図を示す。プロセス902は、フラッシュ・メモリ・アレイ108へのデータの書き込みを含むレコードコマンドを生成することを含むことができる。レコードコマンドは、データおよびアドレスとともにプロセッサ102からメモリコントローラ104へコマンドを送信することによって生成されることができる。
プロセス904は、書き込み動作が進行中であることを指示するためにレコード・ステータス・フィールド504〜508(図5)に関する設定を決定することを含み、書き込み動作が完了すると、対応するブロック内で更新されたデータが利用可能になる。
プロセス906は、データブロックに対するプログラミングまたは書き込みを含むことができる。なお、データはフラッシュアレイ内の単一のビットに書き込まれることができるか、または、バースト・プログラム・モードを使用して一群のビットに書き込むことができ、アドレスは、アドレスによって識別されるブロック内で書き込まれるべき開始ビットを与える。対応するレコード・ステータス・フィールド502〜508も、プロセス906の一部としてデータ部110内に書き込まれることができる。単一の書き込み動作は、バースト書き込みモードとは対照的に、レコード・ステータス・フィールド502〜508のうちの1つに書き込むように使用されることができる。
プロセス908は、データ部アドレスおよびデータブロック内のロケーションをアドレスシステム112に書き込むことを含むことができる。データ部アドレスおよびデータブロック内のロケーションは、データ部110に書き込まれているデータに対応する。なお、データ部アドレスはアドレスシステム112においてルックアップアドレスを使用して容易に決定されるため、この情報を決定するために検索は必要ない。
プロセス909において、メモリコントローラ104はレコードステータスを完了に変更し、更新されたレコードステータスをフラッシュアレイ108に送信する。
プロセス910は、圧縮動作が実行されるべきか否か、または消去動作が実行されるべきか否かを判定することを含むことができる。プロセス910における圧縮動作が実行されることになるという判定に従って、プロセス912は、所定の圧縮アルゴリズムに従って入力データを圧縮することができ、それによって、メモリブロック内に記憶されるデータのサイズが低減される。プロセス910における消去動作が実行されることになるという判定に従って、プロセス914は消去動作を実行し、その間に、単一のブロック内の1つまたは複数のページ内に記憶されているデータが順次消去される。
プロセス912もしくは914が実行された後、または、プロセス910が書き込み動作によって圧縮動作も消去動作も実行されるべきでないと判定した後、プロセス916は、アドレスシステム112からの更新されたルックアップアドレスを用いてメモリコントローラ104およびアドレスRAM106を更新することを含む。
一例として、下記の表1は方法900を実行するのに必要とされる時間を示す。

システム100がコピーダウンプロセス(copy down process)に使用された場合、データ部アドレスおよび対応するルックアップアドレスがアドレスRAM106に供給される必要があり、これは、アドレスシステム112内のアクティブなセクタ内のレコードをアドレスRAM106にコピーすることのみによって達成されることができる。データレコードのロケーションはアドレスRAM106から取得することができるため、検索は必要ない。アドレスレコードは一意であり、したがって、圧縮中に容易に追加および区別されることができる。
ここまでで、データ部110内のEEEイメージ(複数の場合もあり)を管理するためにアドレスおよびデータに対して別個の記録システムを使用するシステムおよび方法が提供されたことを理解されたい。データ部110に対する読み出しアクセスはアドレスRAM106を介して実行され、それによって、より大きなEEスペースが、大規模なRAMを用いることなくエミュレートされるとともに、依然として高速の読み出しアクセスを有することが可能になる。レコード・ステータス・フィールド504〜508が、電力サージまたは降下の間にデータ部110が確実に破壊されないようにするのを助ける。加えて、リセット時にアドレスレコードをコピーする必要があるのみであるため、データに関するコピーダウンがなくなる。1つまたは複数のEEEイメージ内の最近のデータを求める検索は、システム100においていかなる時点においても行われる必要がない。したがって、システム100は、既知のEEPROMアレイを上回って性能を向上しながら、既に可能なよりもはるかに大規模なEEEシステムをエミュレートする。
いくつかの実施形態では、メモリシステムは、メモリコントローラ104と、メモリコントローラ104に結合されたアドレスRAM106と、メモリコントローラに結合された不揮発性メモリ108とを備える。不揮発性メモリは、アドレス部112とデータ部110とを有する。不揮発性メモリ108のアドレス部112は、有効データのデータ部アドレスおよびルックアップアドレスをメモリコントローラに供給する。メモリコントローラは、データ部アドレスをロードして、アドレスRAMにおいてデータ部アドレスを有効データのデータ部アドレスによって定義されるアドレスRAM内のロケーションに記憶する。メモリコントローラは、アドレスRAM内のデータ部アドレス、およびデータブロックのロケーションを使用して不揮発性メモリのデータ部内のデータブロックを位置特定する。
別の態様では、メモリシステムは、不揮発性メモリのデータ部に結合されたプロセッサをさらに備えることができる。プロセッサによって提供されるシステムアドレスに応答して、アドレスRAMは、不揮発性メモリに、システムアドレスによって選択されるアドレスRAM内のロケーションからのデータ部アドレスを供給する。
別の態様では、システムアドレスは、アドレスRAM内のロケーションを識別するルックアップアドレスを含むことができる。
別の態様では、システムアドレスはデータ部アドレスをさらに含み、メモリシステムは、アドレスRAMから提供されるデータ部アドレスを、上記データ部アドレスと組み合わせてデータ部110から有効データを選択する論理ゲート116をさらに備えることができる。
他の実施形態では、不揮発性メモリ(NVM)を有するメモリシステム100を動作させる方法は、NVM内の第1のNVMロケーションを識別することであって、第1のNVMロケーションは第1の有効データを有する、前記識別すること、アドレスRAM106の第1のRAMロケーションにおいて、第1のNVMロケーションのアドレスをロードすること、第1のRAMロケーションを選択するためのシステムアドレスを供給すること、第1のRAMロケーションを選択するためのシステムアドレスに応答して、第1のNVMロケーションのアドレスをアドレスRAMからNVMに提供すること、アドレスRAMからの第1のNVMロケーションのアドレスの受信に応答して、第1のNVMロケーションから第1の有効データを提供することを含むことができる。
別の態様では、第1のNVMロケーションを識別することは、第1のNVMロケーションが追加の有効データを有することをさらに特徴とし、システムアドレスを提供することは、システムアドレスが、第1のRAMロケーションを選択するための第1の部分と、第1の有効データおよび追加の有効データの中から第1の有効データを選択するための第2の部分とを有することをさらに特徴とする。
別の態様では、方法は、バースト動作の一部として、第1の有効データおよび追加の有効データをNVMロケーション内に書き込むことをさらに含むことができる。
別の態様では、方法は、無効データを含むセクタからの有効データを、有効データのみを含む1つまたは複数のセクタ内にコピーすることによって、NVM内の有効データを圧縮すること、無効データのみを含むセクタの各々に対するステータス識別子を変更することをさらに含むことができる。
別の態様では、方法は、NVMに書き込まれることになる第2の有効データを、対応するシステムアドレスを用いてメモリコントローラに供給すること、NVMのアドレスシステムを使用して、第2の有効データをNVMのデータ部内の第2のNVMロケーション内に書き込むことをさらに含むことができる。
別の態様では、方法は、アドレスRAMに、第2の有効データのロケーションをロードすることをさらに含むことができる。
別の態様では、方法は、第2の有効データに対応するアドレスを提供すること、アドレスRAMから第2の有効データのロケーションを取得すること、NVMから第2の有効データを取得するために、アドレスRAMから取得された第2の有効データのロケーションをNVMに提供することをさらに含むことができる。
別の態様では、第2の有効データは、NVMのデータ部110から取得されることができる。
別の態様では、データ部はステータス情報を含むことができる。
別の態様では、データ部はデータブロックを備えることができ、特定のロケーションに対するアクセスは、データブロックおよびデータブロック内のロケーションの識別の組み合わせを含む。
別の態様では、読み出しの間、データブロック内のロケーションはシステムアドレスによって供給され、データブロックの識別情報はアドレスRAMから供給される。
また他の実施形態では、メモリシステム100は、データ部110およびアドレスシステム112を有する不揮発性メモリ108と、システムアドレスに従ってデータをデータ部に書き込むデータプロセッサ102と、不揮発性メモリおよびプロセッサに結合されてシステムアドレスおよびデータを受信するメモリコントローラ104と、メモリコントローラに結合され、且つシステムアドレスに対応するルックアップアドレスを供給するアドレスRAM106とを備える。メモリコントローラは、ルックアップアドレスをアドレスシステムに供給することができ、ルックアップアドレスによって選択されるデータ部内のロケーションにデータを書き込む。
別の態様では、データ部はステータス情報を記憶することができる。
別の態様では、データ部はセクタID情報を記憶する。
別の態様では、データプロセッサは、システムアドレスに従ってデータ部からデータを読み出すことができ、メモリコントローラは、システムアドレスに対応するアドレスRAMからデータ部アドレスを取得することができ、データ部アドレスをアドレスシステムに供給して読み出しのためにデータ部内のロケーションを識別し、データ部は、データ部アドレスに対応するロケーションからデータをプロセッサに供給することができる。
別の態様では、データ部はデータブロックを有することができ、アドレスは各々、データブロック部分およびデータブロック部分内のロケーションを有することができる。
別の態様では、読み出しの間、不揮発性メモリは、システムアドレスからのデータブロック内のロケーションとRAMアドレスからのデータブロック部分との組み合わせ116である選択アドレスを受信することができる。
本発明を実装する装置は、大部分について、当業者に既知の電子コンポーネントおよび回路から成っているため、本発明の基礎となる概念の理解および評価のために、ならびに本発明の教示を分かりにくくせず当該教示から注意を逸らさせないために、回路の詳細は上記で例示されているように必要と考えられる範囲を超えては説明されない。
上記の実施形態のうちのいくつかは、規定通り、さまざまな異なる情報処理システムを使用して実装することができる。たとえば、図1およびその説明は、例示的な情報処理アーキテクチャを記載しているが、この例示的なアーキテクチャは本発明のさまざまな態様の説明における有用な参照を提供するためにのみ提示されている。無論、このアーキテクチャの記載は説明の目的のために簡略化されており、これは、本発明に従って使用することができる多くの異なる種類の適切なアーキテクチャのうちのほんの1つにすぎない。論理ブロック間の境界は例示にすぎないこと、および、代替的な実施形態は、論理ブロックもしくは回路要素を融合し、またはさまざまな論理ブロックもしくは回路要素に対する代替的な機能の分解を課してもよいことを、当業者は認識しよう。
本明細書において、具体的な実施形態を参照して本発明を説明したが、添付の特許請求の範囲に明記されているような本発明の範囲から逸脱することなくさまざまな改変および変更を為すことができる。したがって、本明細書および図面は限定的な意味ではなく例示とみなされるべきであり、すべてのこのような改変が本発明の範囲内に含まれることが意図されている。本明細書において具体的な実施形態に関して記載されているいかなる利益、利点、または問題に対する解決策も、任意のまたはすべての請求項の重要な、必要とされる、または基本的な特徴または要素として解釈されるようには意図されていない。
本明細書において使用される場合、「結合されている」という用語は、直接結合または機械的結合に限定されるようには意図されていない。
別途記載されない限り、「第1の」および「第2の」のような用語は、そのような用語が説明する要素間で適宜区別するように使用される。したがって、これらの用語は必ずしも、このような要素の時間的なまたは他の優先順位付けを示すようには意図されていない。
100…メモリシステム、104…メモリコントローラ、106…アドレス・ランダム・アクセス・メモリ、108…不揮発性メモリ。

Claims (21)

  1. メモリシステムであって、
    メモリコントローラと、
    前記メモリコントローラに結合されたアドレス・ランダム・アクセス・メモリ(RAM)と、
    前記メモリコントローラに結合された不揮発性メモリ(NVM)とを備え、
    前記不揮発性メモリは、アドレス部とデータ部とを有し、
    前記不揮発性メモリの前記アドレス部は、有効データのデータ部アドレスおよびルックアップアドレスを前記メモリコントローラに供給し、
    前記メモリコントローラは、前記データ部アドレスをロードして、前記有効データのルックアップアドレスによって定義される前記アドレスRAM内のロケーションに前記データ部アドレスを記憶し、
    前記メモリコントローラは、前記アドレスRAM内の前記データ部アドレス、およびデータ・ブロック・アドレスのロケーションを使用して前記不揮発性メモリのデータ部内のデータブロックを位置特定する、メモリシステム。
  2. 前記不揮発性メモリの前記データ部に結合されたプロセッサをさらに備え、
    前記プロセッサによって供給されたシステムアドレスに応答して、前記アドレスRAMは、ルックアップアドレスによって選択された前記アドレスRAM内のロケーションからのデータ部アドレスを前記不揮発性メモリに供給する、請求項1に記載のメモリシステム。
  3. 前記システムアドレスは、前記アドレスRAM内のロケーションを識別する前記ルックアップアドレスを含む、請求項2に記載のメモリシステム。
  4. 前記システムアドレスは、データ部アドレスをさらに含み、
    前記メモリシステムは、前記アドレスRAMから供給されたデータ部アドレスを、前記データブロック内の前記ロケーションと組み合わせて前記データ部から有効データを選択する論理ゲートをさらに備える、請求項2に記載のメモリシステム。
  5. 不揮発性メモリ(NVM)を有するメモリシステムを動作させる方法であって、
    前記NVM内の第1のNVMロケーションを識別することであって、該第1のNVMロケーションは第1の有効データを有する、前記識別すること、
    アドレス・ランダム・アクセス・メモリ(RAM)の第1のRAMロケーションにおいて、前記第1のNVMロケーションのアドレスをロードすること、
    前記第1のRAMロケーションを選択するためのシステムアドレスを供給すること、
    前記第1のRAMロケーションを選択するための前記システムアドレスに応答して、前記第1のNVMロケーションの前記アドレスを前記アドレスRAMから前記NVMに供給すること、
    前記アドレスRAMからの前記第1のNVMロケーションの前記アドレスの受信に応答して、前記第1のNVMロケーションから前記第1の有効データを供給することを備える、方法。
  6. 前記第1のNVMロケーションを前記識別することは、
    前記第1のNVMロケーションが追加の有効データを有することをさらに特徴とし、
    前記システムアドレスを前記提供することは、前記システムアドレスが、前記第1のRAMロケーションを選択するための第1の部分と、前記第1の有効データおよび前記追加の有効データの中から前記第1の有効データを選択するための第2の部分とを有することをさらに特徴とする、請求項5に記載の方法。
  7. バースト動作の一部として、前記第1の有効データおよび前記追加の有効データを前記NVMロケーション内に書き込むことをさらに含む、請求項6に記載の方法。
  8. 無効データを含むセクタからの前記有効データを、前記有効データのみを含む1つまたは複数のセクタ内にコピーすることによって、前記NVM内の有効データを圧縮すること、
    前記無効データのみを含む前記セクタの各々に対するステータス識別子を変更することをさらに含む、請求項7に記載の方法。
  9. 前記NVMに書き込まれることになる第2の有効データを、対応するシステムアドレスを用いて前記メモリコントローラに供給すること、
    前記NVMのアドレスシステムを使用して、前記第2の有効データを前記NVMのデータ部内の第2のNVMロケーション内に書き込むことをさらに含む、請求項5に記載の方法。
  10. 前記アドレスRAMに、前記第2の有効データの前記ロケーションをロードすることをさらに含む、請求項9に記載の方法。
  11. 前記第2の有効データに対応する前記アドレスを供給すること、
    前記アドレスRAMから前記第2の有効データの前記ロケーションを取得すること、
    前記NVMから前記第2の有効データを取得するために、前記アドレスRAMから取得された前記第2の有効データの前記ロケーションを前記NVMに供給することをさらに含む、請求項10に記載の方法。
  12. 前記第2の有効データは、前記NVMのデータ部から取得される、請求項11に記載の方法。
  13. 前記データ部はステータス情報を含む、請求項12に記載の方法。
  14. 前記データ部はデータブロックを備え、
    特定のロケーションに対するアクセスは、前記データブロックおよび前記データブロック内のロケーションの識別の組み合わせである、請求項13に記載の方法。
  15. 読み出しの間、前記データブロック内の前記ロケーションが、前記システムアドレスによって供給され、前記データブロックの識別情報が、前記アドレスRAMから供給される、請求項14に記載の方法。
  16. メモリシステムであって、
    データ部およびアドレスシステムを有する不揮発性メモリと、
    システムアドレスに従ってデータを前記データ部に書き込むデータプロセッサと、
    前記不揮発性メモリおよび前記プロセッサに結合されて、前記システムアドレスおよび前記データを受信するメモリコントローラと、
    前記メモリコントローラに結合され、且つシステムアドレスに対応するルックアップアドレスを供給するアドレス・ランダム・アクセス・メモリ(RAM)とを備え、
    前記メモリコントローラは、前記ルックアップアドレスを前記アドレスシステムに供給し、前記ルックアップアドレスによって選択される前記データ部内のロケーションにデータを書き込む、メモリシステム。
  17. 前記データ部は、ステータス情報を記憶する、請求項16に記載のメモリシステム。
  18. 前記データ部は、セクタID情報を記憶する、請求項17に記載のメモリシステム。
  19. 前記データプロセッサは、システムアドレスに従って前記データ部からデータを読み出し、
    前記メモリコントローラは、システムアドレスに対応する前記アドレスRAMからデータ部アドレスを取得し、前記データ部アドレスを前記アドレスシステムに供給して読み出しのために前記データ部内のロケーションを識別し、
    前記データ部は、前記データ部アドレスに対応するロケーションからデータを前記プロセッサに供給する、請求項16に記載のメモリシステム。
  20. 前記データ部は、データブロックを有し、
    前記アドレスは各々、データブロック部分およびデータブロック部分内のロケーションを有する、請求項19に記載のメモリシステム。
  21. 読み出しの間、前記不揮発性メモリは、前記システムアドレスからの前記データブロック内のロケーションと前記RAMアドレスからの前記データブロック部分との組み合わせである選択アドレスを受信する、請求項20に記載のメモリシステム。
JP2013127611A 2012-06-22 2013-06-18 フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ Pending JP2014006902A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/530,169 2012-06-22
US13/530,169 US20130346680A1 (en) 2012-06-22 2012-06-22 Emulated electrically erasable memory having an address ram for data stored in flash memory

Publications (2)

Publication Number Publication Date
JP2014006902A true JP2014006902A (ja) 2014-01-16
JP2014006902A5 JP2014006902A5 (ja) 2016-08-04

Family

ID=49775424

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013127611A Pending JP2014006902A (ja) 2012-06-22 2013-06-18 フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ

Country Status (3)

Country Link
US (1) US20130346680A1 (ja)
JP (1) JP2014006902A (ja)
CN (1) CN103514953B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563491B2 (en) * 2014-09-12 2017-02-07 Nxp Usa, Inc. High voltage failure recovery for emulated electrically erasable (EEE) memory system
US9996458B1 (en) * 2017-07-12 2018-06-12 Nxp Usa, Inc. Memory sector retirement in a non-volatile memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06150673A (ja) * 1992-11-12 1994-05-31 Casio Electron Mfg Co Ltd 不揮発メモリのアクセス制御装置
JP2002073409A (ja) * 2000-08-28 2002-03-12 Toshiba Corp メモリカード及び同カードに適用されるアドレス変換方法
US20070106835A1 (en) * 2005-11-10 2007-05-10 Realtek Semiconductor Corp. Display controller and method of updating parameters of the same
JP2007199828A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのアドレス管理方法
JP2008287398A (ja) * 2007-05-16 2008-11-27 Toshiba Corp 主記憶装置、主記憶装置の制御方法、およびこの主記憶装置を用いた情報処理装置
US20120159058A1 (en) * 2010-12-17 2012-06-21 Kabushiki Kaisha Toshiba Memory system and method for writing data into memory system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7130958B2 (en) * 2003-12-02 2006-10-31 Super Talent Electronics, Inc. Serial interface to flash-memory chip using PCI-express-like packets and packed data for partial-page writes
JP2009003783A (ja) * 2007-06-22 2009-01-08 Toshiba Corp 不揮発性メモリの制御装置及び制御方法及び記憶装置
TWI457940B (zh) * 2009-05-15 2014-10-21 Macronix Int Co Ltd 區塊為基礎快閃記憶體之位元組存取
US8271719B2 (en) * 2009-10-29 2012-09-18 Freescale Semiconductor, Inc. Non-volatile memory controller device and method therefor

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06150673A (ja) * 1992-11-12 1994-05-31 Casio Electron Mfg Co Ltd 不揮発メモリのアクセス制御装置
JP2002073409A (ja) * 2000-08-28 2002-03-12 Toshiba Corp メモリカード及び同カードに適用されるアドレス変換方法
US20070106835A1 (en) * 2005-11-10 2007-05-10 Realtek Semiconductor Corp. Display controller and method of updating parameters of the same
JP2007199828A (ja) * 2006-01-24 2007-08-09 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのアドレス管理方法
JP2008287398A (ja) * 2007-05-16 2008-11-27 Toshiba Corp 主記憶装置、主記憶装置の制御方法、およびこの主記憶装置を用いた情報処理装置
US20120159058A1 (en) * 2010-12-17 2012-06-21 Kabushiki Kaisha Toshiba Memory system and method for writing data into memory system
JP2012128816A (ja) * 2010-12-17 2012-07-05 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
CN103514953A (zh) 2014-01-15
US20130346680A1 (en) 2013-12-26
CN103514953B (zh) 2018-04-10

Similar Documents

Publication Publication Date Title
US9842030B2 (en) Data storage device and flash memory control method
US10628319B2 (en) Methods for caching and reading data to be programmed into a storage unit and apparatuses using the same
KR102510384B1 (ko) 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
US9396107B2 (en) Memory system having memory controller with cache memory and NVRAM and method of operating same
CN104699417B (zh) 数据储存装置以及其数据存取方法
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9058296B2 (en) Data processing method, memory storage device and memory control circuit unit
US11630766B2 (en) Memory system and operating method thereof
US9563551B2 (en) Data storage device and data fetching method for flash memory
US8510502B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
US8954705B2 (en) Memory space management method and memory controller and memory storage device and memory storage using the same
JP2011022657A (ja) メモリシステムおよび情報処理装置
US9170893B2 (en) Method and system for selecting region of a nonvolatile memory
US9235534B2 (en) Data protecting method, memory controller and memory storage apparatus
US9213631B2 (en) Data processing method, and memory controller and memory storage device using the same
CN110389908A (zh) 存储器系统、数据处理系统和存储器系统的操作方法
US20130290609A1 (en) Memory formatting method, memory controller, and memory storage apparatus
CN106649144A (zh) 数据储存设备及其操作方法
CN109521944A (zh) 数据储存装置以及数据储存方法
JP2014006902A (ja) フラッシュメモリ内に記憶されるデータのためのアドレスramを有するエミュレート電気的消去可能メモリ
US8589620B2 (en) Data writing method, memory controller, and memory storage apparatus
US11720276B2 (en) Memory system and controller for managing write status
US9710374B2 (en) Data writing method, memory controller and memory storage device
US20130290603A1 (en) Emulated electrically erasable memory parallel record management

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170626

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171205