JP7472324B2 - 論理-物理(l2p)テーブルにキャッシュするためのオンダイスタティックランダムアクセスメモリ(sram) - Google Patents

論理-物理(l2p)テーブルにキャッシュするためのオンダイスタティックランダムアクセスメモリ(sram) Download PDF

Info

Publication number
JP7472324B2
JP7472324B2 JP2022579004A JP2022579004A JP7472324B2 JP 7472324 B2 JP7472324 B2 JP 7472324B2 JP 2022579004 A JP2022579004 A JP 2022579004A JP 2022579004 A JP2022579004 A JP 2022579004A JP 7472324 B2 JP7472324 B2 JP 7472324B2
Authority
JP
Japan
Prior art keywords
flash memory
information
die
controller
storage device
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.)
Active
Application number
JP2022579004A
Other languages
English (en)
Other versions
JP2023532235A (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.)
Yangtze Memory Technologies Co Ltd
Original Assignee
Yangtze Memory Technologies 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 Yangtze Memory Technologies Co Ltd filed Critical Yangtze Memory Technologies Co Ltd
Publication of JP2023532235A publication Critical patent/JP2023532235A/ja
Application granted granted Critical
Publication of JP7472324B2 publication Critical patent/JP7472324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • 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/7208Multiple device management, e.g. distributing data over multiple flash devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本開示は一般にフラッシュメモリの分野に関し、より詳細には、フラッシュメモリデバイスの動作における待ち時間を短くするためのシステムおよび方法に関する。
メモリセルは、処理技術、回路設計、プログラミングアルゴリズムおよび製造プロセスを改善することによって、より小さいサイズにスケーリングされる。多くのサーバおよびモバイルデバイスでは、その高い記憶密度および比較的短いアクセス待ち時間のため、NANDフラッシュメモリ(あるタイプの不揮発性記憶技術)が主不揮発性記憶デバイスとして広く使用されている。記憶密度をさらに高くし、かつ、製造コストをさらに低減するために三次元(3D)NANDフラッシュメモリが開発されている。しかしながら、より小さいデバイスサイズが著しく改善された記憶容量の利益を提供するにつれて、効果的に、また、タイムリーにデータをメモリデバイスから読み出し、データをメモリデバイスに書き込むことが増々難しくなっている。
本開示は、フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップを含む、フラッシュメモリからデータを読み出すための方法を含む。読出し要求はデータの論理アドレスを含む。複数のフラッシュメモリダイの個々のフラッシュメモリダイは、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶デバイスを含む。方法はまた、論理-物理(L2P)情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶装置を識別するステップ、および論理アドレスに対応するデータの物理アドレスを獲得するためにL2P情報を探索するステップを含む。方法は、物理アドレスを使用して、フラッシュメモリダイのフラッシュメモリアレイからデータを検索するステップをさらに含む。
本開示はまた、フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップを含む、フラッシュメモリからデータを読み出すための方法を含む。読出し要求はデータの論理アドレスを含み、また、フラッシュメモリコントローラはコントローラ記憶装置を含む。複数のフラッシュメモリダイの個々のフラッシュメモリダイは、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶装置を含む。方法はまた、論理-物理(L2P)情報を求めてコントローラ記憶装置を探索するステップを含む。L2P情報がコントローラ記憶装置に存在していることに応答して、方法は、L2P情報を使用してデータの物理アドレスを獲得するステップ、および物理アドレスを使用して、複数のフラッシュメモリダイからデータを検索するステップを含む。L2P情報がコントローラ記憶装置に存在していないことに応答して、方法は、L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップ、および論理アドレスに対応する物理アドレスを獲得するためにL2P情報を探索するステップを含む。方法は、物理アドレスを使用して、フラッシュメモリダイのフラッシュメモリアレイからデータを検索するステップをさらに含む。
本開示は、複数のフラッシュメモリダイを有するフラッシュメモリシステムをさらに含む。個々のフラッシュメモリダイは、1つまたは複数のNANDメモリアレイおよび1つまたは複数のオンダイSRAM記憶デバイスを含む。フラッシュメモリシステムはまた、コントローラ記憶装置および1つまたは複数のプロセッサを含むフラッシュメモリコントローラを含む。1つまたは複数のプロセッサは、命令を実行すると、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るように構成され、読出し要求はデータの論理アドレスを含む。1つまたは複数のプロセッサは、論理-物理(L2P)情報を含んでいるオンダイSRAM記憶装置を識別するようにさらに構成され、オンダイSRAM記憶デバイスは複数のフラッシュメモリダイのうちの1つのフラッシュメモリダイの上に形成される。1つまたは複数のプロセッサは、論理アドレスに対応するデータの物理アドレスを獲得するためにL2P情報を探索するようにさらに構成される。フラッシュメモリコントローラはまた、物理アドレスを使用して、フラッシュメモリダイのNANDメモリアレイからデータを検索するように構成される。
本開示の態様は、添付の図と共に読めば、以下の詳細な説明から最も良好に理解される。業界の一般的な実践に従って、様々な特徴はスケール通りには描かれていないことに留意されたい。実際、様々な特徴の寸法は、例証および考察を明確にするために、任意に大きくし、または小さくすることができる。
本開示のいくつかの実施形態によるフラッシュメモリシステムを示すブロック図である。 本開示のいくつかの実施形態によるフラッシュメモリアレイを示す概略回路図である。 本開示のいくつかの実施形態によるフラッシュメモリシステムの動作を示すフローチャートである。
特定の構成および配置が考察されているが、それは、単に例証を目的としてなされているにすぎないことを理解されたい。当業者は、本開示の精神および範囲を逸脱することなく、他の構成および配置を使用することができることを認識することになる。本開示は様々な他の用途にも使用することができることは当業者には明らかであろう。
本明細書における「一実施形態」、「実施形態」、「例示的実施形態」、「いくつかの実施形態」、等々に対する参照は、説明されている実施形態は特定の特徴、構造または特性を含むことができるが、必ずしもすべての実施形態がこれらの特定の特徴、構造または特性を含んでいるわけではないことを示していることに留意されたい。さらに、このような語句は必ずしも同じ実施形態を意味しているわけではない。さらに、特定の特徴、構造または特性がある実施形態に関連して説明されている場合、明確に説明されている、いないにかかわらず、他の実施形態に関連してこのような特徴、構造または特性を実施することは当業者の知識の範囲内であろう。
一般に、専門用語は、少なくとも部分的に、文脈における使用法から理解され得る。例えば、少なくとも部分的に文脈に応じて本明細書において使用されている「1つまたは複数」という用語は、単数形の意味における何らかの特徴、構造または特性を記述するために使用され得、あるいは複数形の意味における特徴、構造または特性の組合せを記述するために使用され得る。同様に、「a」、「an」、「the」などの用語も、やはり少なくとも部分的に文脈に応じて、単数形の使用法を伝えるものとして理解されても、または複数形の使用法を伝えるものとして理解されてもよい。
本開示における「~の上」、「~の上方」および「~の真上」の意味は、「~の上」は何か「の直接上」を意味するだけでなく、中間特徴または層が間に介在する何か「の上」の意味をも含むよう、また、「~の上方」または「~の真上」は、何か「の上方」または何か「の真上」の意味を意味するだけでなく、中間特徴または層が間に介在しない何か「の上方」または何か「の真上」(すなわち何かの直接上)に存在しているという意味も含むことができるよう、最も広義の方法で解釈されるべきであることは容易に理解されるべきである。
さらに、「~の真下」、「~の下方」、「下部」、「~の上方」、「上部」、等々などの空間的に関連する用語は、本明細書においては、図に示されている1つの要素または特徴の、別の要素または特徴に対する関係を記述するための説明を容易にするために使用され得る。空間的に関連する用語には、図に描写されている配向に加えて、使用中または動作中のデバイスの異なる配向を包含することが意図されている。装置は描写されている以外の配向も可能であり(90度回転させる、または他の配向で配向する)、また、本明細書において使用されている空間的に関連する説明も同様にそれに対応して解釈され得る。
本明細書において使用される場合、「基板」という用語は、後続する材料層がその上に加えられる材料を意味している。基板は頂部表面および底部表面を備えている。半導体デバイスは基板の頂部表面に形成され、したがって半導体デバイスは基板の頂部側に形成される。底部表面は頂部表面の反対側であり、したがって基板の底部側は基板の頂部側の反対側である。基板自体をパターン化することができる。基板の頂部に加えられる材料は、パターン化することも、または非パターン化状態を維持することも可能である。さらに、基板は、ケイ素、ゲルマニウム、ヒ化ガリウム、リン化インジウム、等々などの多様な半導体材料を含むことができる。別法として、基板は、ガラス、プラスチックまたはサファイヤウェーハなどの非導電性の材料からできていてもよい。
本明細書において使用される場合、「層」という用語は、厚さを有する領域を含む材料部分を意味している。層は、下に横たわる構造または上に横たわる構造全体に渡って延在することができ、あるいは下に横たわる構造または上に横たわる構造の広さ未満の広さを有することができる。さらに、層は、連続構造の厚さ未満の厚さを有する均質または非均質の連続構造の領域であってもよい。例えば層は、連続構造の頂部表面と底部表面の間の水平方向の平面の任意の対の間、または連続構造の頂部表面および底部表面に配置することができる。層は、水平方向、垂直方向、および/または斜めの表面に沿って延在することができる。基板は、層であってもよく、1つまたは複数の層をその中に含むことができ、ならびに/あるいは1つまたは複数の層をその上、その上方および/またはその下方に有することができる。層は複数の層を含むことができる。例えば相互接続層は、1つまたは複数の導体および接触層(その中にコンタクト、相互接続線および/またはビアが形成される)、ならびに1つまたは複数の誘電体層を含むことができる。
本明細書において使用される場合、「名目上の/名目上は」という用語は、製品またはプロセスの設計段階の間に設定される、構成要素またはプロセス操作のための特性またはパラメータの所望の値または目標値を意味し、その所望の値の上方および/または下方の値の範囲を伴う。値の範囲は、製造プロセスまたは製造公差のわずかな変化によるものであってもよい。本明細書において使用される場合、「約」という用語は、本半導体デバイスと関連する特定の技術ノードに基づいて変更することができる所与の量の値を示している。特定の技術ノードに基づいて、「約」という用語は、例えばその値の10~30%以内(例えばその値の±10%、±20%または±30%)で変化する所与の量の値を示すことができる。
本明細書において使用される場合、「3D NANDメモリデバイス」(本明細書においては「メモリデバイス」と呼ばれる)という用語は、メモリストリングが基板に対して垂直方向に延在するよう、横方向配向基板の上に3D NANDメモリセルトランジスタの垂直配向ストリング(本明細書においては、NANDストリングまたは3D NANDストリングなどの「メモリストリング」と呼ばれる)を有する半導体デバイスを意味している。本明細書において使用される場合、「垂直方向の/垂直方向に」という用語は、名目上は基板の横方向の表面に対して直角であることを意味している。
ソリッドステートドライブ(「SSD」)はデータを記録することができる記憶デバイスである。例えばSSDデバイスは不揮発性メモリ構成要素を使用してデータを記憶し、検索することができる。ユーザまたはデバイスインタフェースにより、他のシステムはSSDデバイスの記憶容量にアクセスすることができる。データを継続的に記憶するために、フラッシュに基づくメモリなどの様々なタイプの不揮発性メモリを使用することができる。3D NANDメモリデバイスは、データ記憶容量を大きくするために開発された不揮発性メモリデバイスの一タイプである。フラッシュメモリデバイスは、浮遊ゲートを有するNORまたはNAND論理ゲートなどのいくつかの異なるタイプの集積回路技術を使用して製造することができる。フラッシュメモリデバイスは、用途に応じてアレイの形態で配置することができ、また、ブロック、ページ、ワードおよび/またはバイトとしてアクセスされるように構成することができる。個々のページは2バイトを含むことができ、Nは整数であり、また、典型的なページサイズは、例えばページ当たり2,048バイト(2kb)、4,096バイト(4kb)、8,192バイト(8kb)またはそれ以上であってもよい。ページはブロックの形態で配置することができる。例えばブロックは、64ページ、128ページまたはそれ以上のページを含むことができる。NANDメモリデバイスのための読出しおよび書込み操作はページ毎を基本として実施されるが、消去操作はブロック毎を基本として実施することができる。
ハードディスクは論理アドレス(例えば論理ブロックアドレス)によって直線的にアドレス指定され、一方、NANDデバイスは物理アドレス(例えばページ番号)によってメモリ記憶装置をアドレス指定する。したがって、フラッシュメモリデバイスは、通常、個々の論理ブロックアドレスのマッピングの記録を維持するために、コントローラ回路機構の一部を、データが記憶されている現在のページ番号に割り当てる。この記録マッピングは、2つのアドレスをマッピングするための論理-物理(L2P)テーブルを提供することができるフラッシュ翻訳層(FTL)によって管理することができる。FTLは、フラッシュメモリコントローラ回路機構の割り当てられた部分および制御ソフトウェアを使用して実現することができる。特定のデータ片を検索するために、ホストデバイスは目標データの論理アドレスを提供することができ、また、フラッシュメモリコントローラは、L2Pマッピングテーブルを利用して、不揮発性メモリデバイス中の目標データの物理ページアドレスを識別し、記憶されているデータを検索することができる。
いくつかの手法を使用してL2Pマッピングテーブルを記憶し、維持することができる。1つのこのような手法は、単一レベル直接L2Pマッピングである。このようなマッピングスキームの下では、マッピングテーブルは、論理ブロックアドレス情報を含んでいる個々のブロックの終わりに、ページ毎のエントリおよびメタデータのためのサマリーページを含む。L2Pマッピングテーブルは、フラッシュメモリコントローラ内のメモリデバイスに記憶することができる。例えばL2Pマッピングテーブルは、スタティックランダムアクセスメモリ(SRAM)デバイスに記憶することができる。単一レベル直接L2Pマッピングは、フラッシュメモリデバイス全体のためのマッピング情報を含むことができる。したがって単一レベル直接ページマッピングスキームにはL2Pマッピングテーブルを記憶するための大量の記憶空間が必要であり(ユーザ記憶装置のGB当たり1~2MB程度)、これは、大容量フラッシュ記憶メモリデバイスにとって課題であり得る。
L2Pマッピングテーブルを記憶し、維持するための別の手法は多重レベルマッピングスキームである。例えば多重レベルマッピングスキームは多数の隣接する論理ブロックをまとめてグループ化することができ、また、グループ化されたブロック毎のページグローバルディレクトリを含むことができる。ページグローバルディレクトリは、速やかなアクセスのために、フラッシュメモリコントローラ内のメモリデバイス(例えばSRAM)に記憶することができる。このマッピングスキームはまた、NANDメモリデバイスの予備領域にメモリセルレベルにおいて配置されたページに記憶され、維持されるページミドルディレクトリおよびページテーブルを含む。ページテーブルはデータの物理ブロック番号および物理ページ番号を含む。
フラッシュ翻訳層(「FTL」)は、論理アドレスを物理アドレスに翻訳するためのフラッシュメモリ制御モジュールに配置することができる。単一レベル直接L2Pマッピングの下では、FTLは、フラッシュメモリコントローラ内に記憶されているL2Pマッピングテーブルを読み出し、走査することができる。多重レベルマッピングスキームの下では、FTLは、フラッシュメモリコントローラに記憶されているページグローバルディレクトリを読み出し、また、要求されたデータアドレスを検索するために、ページミドルディレクトリおよびページテーブルのためのNANDメモリデバイスの予備メモリセルにアクセスすることになる。FTLは、フラッシュメモリコントローラモジュール中のスタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)に記憶されたモジュールであってもよい。フラッシュメモリ内のSRAMおよびNANDメモリデバイスの予備メモリセルへのアクセス速度は異なっていてもよい。例えばフラッシュメモリコントローラモジュール内のSRAMの読出し待ち時間は数マイクロ秒程度であり得、一方、NANDメモリデバイスのセルレベルからの読出し待ち時間は一桁程度長くなり、例えば数十マイクロ秒になり得る。
3D NANDメモリなどのメモリデバイスの記憶容量が大きくなるにつれて、L2Pテーブルのサイズが著しく大きくなっており、L2Pテーブルを記憶し、また、データをバッファするなどのアクセス操作のための著しい量の記憶空間が必要になっている。詳細には、DRAM記憶装置を含んでいないモバイルデバイスでは、フラッシュメモリコントローラSRAM記憶装置の中で単一レベル直接L2Pテーブルを実現すると、デバイスサイズがより大きくなり、また、製造コストがより高くなることになり得る。一方、L2Pテーブルの記憶構成要素をフラッシュメモリコントローラと不揮発性メモリデバイスの予備メモリセルとに記憶することによって多重レベルマッピングスキームを実現すると、待ち時間が長くなり、また、デバイス性能が低下することになり得る。
上記欠点に対処するために、本明細書において説明される実施形態は、デバイスフットプリントを拡張することなく、フラッシュメモリシステムにおける待ち時間を短くするためのシステムおよび方法を対象としている。より詳細には、本開示は、NANDフラッシュメモリアレイと同じダイの上に配置されるSRAM記憶装置、すなわちオンダイSRAMへのL2Pテーブルのキャッシュを対象としている。例えばフラッシュメモリコントローラによる速やかなアクセスのために、オンダイSRAMにページミドルディレクトリおよびページテーブルを記憶することができる。方法は、目標データのアドレス情報を含んでいるL2Pテーブルの記憶場所を提供するための指示フラグを実現するプログラムコードおよび/またはアルゴリズムを含むことができる。例えば指示フラグは、目標L2PテーブルがオンダイSRAM記憶装置に記憶されていることを示す第1の状態、または目標L2PテーブルがフラッシュメモリコントローラのSRAMに記憶されていることを示す第2の状態を表示することができる。フラッシュメモリシステムは2つ以上のフラッシュメモリダイを含むことができるため、指示フラグは、目標L2Pテーブルを記憶しているオンダイSRAMを含んでいるフラッシュメモリダイも指示することができる。さらに、方法はまた、様々なオンダイSRAMとフラッシュメモリコントローラSRAMの間のスワッピングL2Pテーブルを含むことができる。本出願において説明される構造および構成要素は、ハードウェア、ファームウェア、ソフトウェアまたはそれらの任意の組合せの上で実現することができる。本開示において説明される方法およびシステムは、3D NANDフラッシュメモリデバイスの読出し待ち時間を90%を超えて短くすることができる。
図1は、いくつかの実施形態によるフラッシュメモリシステム100のブロック図を示したものである。フラッシュメモリシステム100は、フラッシュメモリコントローラ110およびフラッシュメモリダイ160のアレイを含むことができる。フラッシュメモリコントローラ110はインタフェース104を介してホストコントローラ102と通信している。ホストコントローラ102は、インタフェース104を介してコマンドおよび/またはデータを送ることにより、フラッシュメモリダイ160の読出し、プログラムおよび消去操作を実施するようにフラッシュメモリコントローラに要求するように動作することができる。フラッシュメモリコントローラ110は、1つまたは複数のフラッシュメモリダイ160(例えばフラッシュメモリデバイスのアレイ)からデータを検索し、そのデータをデータバスを介してホストコントローラ102に送るように構成することができる。検索されたデータはホストコントローラ102によって、図には示されていないホストコンピュータまたは他のシステム構成要素に伝送することができる。フラッシュメモリデバイスのアレイは、要素170として以下で紹介されるNANDフラッシュメモリの1つまたは複数のアレイを含むことができる。
ホストコントローラ102は、フラッシュメモリダイ160において記憶されるデータを送り、またはフラッシュメモリダイ160からデータを読み出すようにフラッシュメモリコントローラ110に命令することによってデータを検索する。ホストコントローラ102は、ホストコンピュータ(図1には示されていない)から受け取ったI/O要求を処理し、データ完全性および有効な記憶を保証し、また、フラッシュメモリダイ160を管理することができる。インタフェース106はデータを提供することができ、また、データバスを介したフラッシュメモリコントローラ110とフラッシュメモリダイ160の間の通信を制御することができる。
フラッシュメモリコントローラ110は、符号器/復号器ユニット120、制御論理130、コントローラ記憶装置132、フラッシュ翻訳層(FTL)140、およびページバッファ150を含むことができる。フラッシュメモリコントローラ110には他の適切な構成要素を含めることができるが、簡潔にするために本明細書においては図示も、説明もされない。いくつかの実施形態では、FTL140は、L2Pマッピング情報または任意の他の適切な情報を記憶するための記憶領域(例えばSRAM)をさらに含むことができる。
符号器/復号器ユニット120は、フラッシュメモリコントローラ110によって処理されたデータの符号化および復号化を提供することができる。符号器/復号器ユニット120は、誤り訂正符号(ECC)およびメモリ管理のためのメタデータを生成し、かつ、記憶することも可能である。符号器/復号器ユニット120を使用して、記憶されているデータの誤りを検出し、訂正することができる。
制御論理130は、ホストコントローラ102から命令を受け取り、また、インタフェース106を介してコマンドおよび/またはデータをフラッシュメモリダイ160との間で伝送することにより、当業者(POSA)によく理解されているように、フラッシュメモリダイ160の読出し、プログラムおよび消去操作を実施するように構成された任意の適切な集積回路機構(例えば1つまたは複数のプロセッサ)であってもよい。例えば制御論理130は、ホストコントローラ102を介して、読出しまたは書込み操作などのフラッシュ媒体アクセスのための要求を1つまたは複数の外部デバイスから受け取る。制御論理130は、フラッシュメモリコントローラ110の他の構成要素と通信して制御するようにさらに構成することができる。例えば制御論理130は、マッピング情報に関して内部メモリ記憶装置を走査するようにFTLに命令することができ、また、FTLからのアドレス-マッピング情報を送る/受け取ることができる。制御論理130は、符号器/復号器ユニット120、ページバッファ150、およびフラッシュメモリコントローラ110の他の適切な構成要素とさらに通信することができる。
コントローラ記憶装置132を使用して、制御論理130の動作のためのコマンドを記憶することができる。いくつかの実施形態では、コントローラ記憶装置132はマッピング情報を記憶するための記憶媒体であってもよい。例えばコントローラ記憶装置132は、フラッシュメモリダイ160のセクタのための単一レベル直接L2Pマッピングテーブルを含むことができる。いくつかの実施形態では、コントローラ記憶装置132は、フラッシュメモリダイ160のためのページグローバルディレクトリ情報を含むことができる。ページグローバルディレクトリ情報はランダムアクセスメモリデバイス(RAM)に記憶することができ、また、マッピングデータの高速ルックアップを提供するための疑似キャッシュとして使用することができる。ページグローバルディレクトリについてはPOSAによってよく理解されており、簡潔にするために本明細書においては詳細に説明されない。いくつかの実施形態では、コントローラ記憶装置132は、ソフトウェアコード、コマンド、コンピュータ論理、ファームウェア、任意の適切な情報を含むことができる。いくつかの実施形態では、コントローラ記憶装置132はSRAMデバイスであってもよい。
フラッシュ翻訳層(FTL)140は、論理アドレスを物理アドレスに変換するためのL2Pマッピングテーブルを提供するように構成することができる。制御論理130によって受け取られる、フラッシュ媒体にアクセスするための要求は、ユーザデータが読み出され、または書き込まれることになる1つまたは複数の論理ブロックアドレスを含むことができる。FTL140は、様々なL2Pテーブルを介して走査することにより、所望のデータの論理ブロックアドレスを物理アドレスに翻訳するように構成することができる。例えばFTL140は、L2Pマッピング情報を生成し、このような情報をコントローラ記憶装置132などのフラッシュメモリコントローラ110に配置されている記憶媒体に送ることができる。FTL140は、マッピング情報をオンダイSRAMまたはメモリセルなどのフラッシュメモリダイ160の上に配置されている記憶媒体に送ることも可能である。FTL140は、フラッシュメモリコントローラ110によって要求されると、L2P情報を求めて上記記憶媒体を探索することも可能である。
ページバッファ150は、データのセクションを記憶するための1つまたは複数のレジスタ回路機構を含むことができる。例えばツーパスプログラミングスキームの下では、ページバッファ150は、下部ページデータ、中間ページデータおよび上部ページデータなどのデータを記憶することができる。ホストコントローラ102とフラッシュメモリダイ160のアレイの間のデータ転送は、一時的にページバッファ150に記憶することができる。ページバッファ150の構造および機能についてはPOSAによってよく理解されており、簡潔にするために本明細書においては詳細に説明されない。
フラッシュメモリダイ160はユーザデータを記憶するように構成することができ、また、フラッシュメモリコントローラ110と通信するため、およびL2Pマッピング情報を記憶するための回路機構構成要素を含むことができる。いくつかの実施形態では、個々のフラッシュメモリダイ160は、データキャッシュ162、オンダイSRAM164およびNANDフラッシュメモリアレイ170のアレイを含むことができる。フラッシュメモリダイ160は、メモリチップ(パッケージ)、メモリダイまたはメモリダイの任意の部分であってもよい。いくつかの実施形態では、個々のフラッシュメモリダイ160は、1つまたは複数のオンダイSRAM164あるいは1つまたは複数のNANDフラッシュメモリアレイ170を含むことができる。追加のオンダイSRAM164およびNANDフラッシュメモリアレイ170は、簡潔にするために図1には示されていない。
データキャッシュ162は、フラッシュメモリコントローラ110とNANDフラッシュメモリアレイ170の間で伝送されるデータを一時的に記憶するように構成することができる。例えば記憶されているユーザデータにNANDフラッシュメモリアレイ170からアクセスするための読出し操作の間、データキャッシュ162は、検索されたデータをフラッシュメモリコントローラ110に送る前に、その検索されたデータを一時的に記憶するように構成することができる。
オンダイSRAM164は、フラッシュメモリコントローラ110による速やかなアクセスのためにL2Pマッピング情報を記憶するように構成することができる。例えば多重レベルマッピングスキームの下では、ページミドルディレクトリおよびページテーブルなどのL2Pマッピング情報は、オンダイSRAM164に記憶して、インタフェース106を介してフラッシュメモリコントローラ110のFTL140によってアクセスすることができる。SRAM記憶媒体からのデータの読出しは、NANDフラッシュメモリアレイの予備メモリセルにおけるL2P情報の記憶と比較すると、NANDフラッシュメモリセルからのデータの読出しよりも場合によっては数桁早いため、このような情報をオンダイSRAM164に記憶することにより、とりわけデータ読出し待ち時間を短くする利点を提供することができる。いくつかの実施形態では、オンダイSRAM164は、NANDフラッシュメモリセルよりも速い速度を有する任意の他の適切なメモリデバイスであってもよい。いくつかの実施形態では、オンダイSRAM164と同様の機能を実施するために、ダイナミックRAM(DRAM)などの媒体記憶装置をフラッシュメモリダイ160の中で実現することができる。
NANDフラッシュメモリアレイ170は1つまたは複数のメモリプレーンを含むことができ、メモリプレーンの各々は複数のメモリブロックを含むことができる。全く同一の同時の操作を個々のメモリプレーンにおいて生じさせることができる。メガバイト(MB)のサイズであってもよいメモリブロックは、消去操作を実施するための最小サイズである。個々のメモリブロックは複数のメモリセルを含むことができ、個々のメモリセルは、ビット線およびワード線などの相互接続を介してアドレス指定することができる。ビット線およびワード線は、直交してレイアウトして(例えばそれぞれ行および列でレイアウトして)、金属線のアレイを形成することができる。分かりやすくするために、メモリブロックは「メモリアレイ」または「アレイ」とも呼ばれる。メモリアレイは、記憶機能を実施するメモリデバイスにおけるコア領域である。
図2は、本開示のいくつかの実施形態によるフラッシュメモリセル配置を示す概略回路図である。NANDフラッシュメモリアレイ170は、図2によって示されているようにアレイ配置で展開されるフラッシュメモリセル172のアレイを含むことができる。NANDフラッシュメモリアレイ170は、基板の真上に配置されたゲート電極のスタックを含む3D NANDフラッシュメモリアレイであってもよく、半導体チャネルが基板の中へ貫通してワード線と交差している。底部/下部ゲート電極は底部/下部選択ゲートとして機能している。頂部/上部ゲート電極は頂部/上部選択ゲートとして機能している。頂部/上部選択ゲート電極と底部/下部ゲート電極の間のワード線/ゲート電極はワード線として機能している。ワード線と半導体チャネルの交点はメモリセルを形成している。頂部/上部選択ゲートは、行を選択するためにワード線に接続されており、また、底部/下部選択ゲートは、列を選択するためにビット線に接続されている。3D NANDフラッシュメモリデバイスの例、および3D NANDフラッシュメモリデバイスを形成するための方法は、参照によりその全体が本明細書に組み込まれている、「Memory Device and Forming Method Thereof」という名称の米国特許第10,559,592号に見出すことができる。
NANDフラッシュメモリセル172の各々は、中に記憶されている1つまたは複数のビット値を示している。詳細には、個々のNANDフラッシュメモリセル172は、電荷を蓄積する浮遊ゲートを有するトランジスタを含むことができる。NANDフラッシュメモリセル172は、複数の直列ストリング174の形態で結合されており、メモリセルのドレインは、それぞれ別のNANDフラッシュメモリセル172のソースに結合されている。NANDフラッシュメモリアレイ170はワード線WL0~WLNを含むことができる。ワード線WL0~WLNの各々は、1行のNANDフラッシュメモリアレイ170の個々のNANDフラッシュメモリセル172の制御ゲートに接続することができ、また、NANDフラッシュメモリセル172の制御ゲートを行でバイアスするために利用することができる。NANDフラッシュメモリアレイ170はまた、ビット線BL0~BLKを含む。ビット線BL0~BLKの各々は直列ストリング174に結合されており、また、データキャッシュ162に結合されている。知覚回路機構(示されていないがPOSAには明らかである)は、ビット線BL0~BLKのうちの特定のビット線の電圧または電流を知覚することによって個々のNANDフラッシュメモリセル172の状態を検出するために、制御論理130によって制御することができる。
図2の概略回路図には他の適切な回路機構構成要素を含めることができるが、簡潔にするために示されていない。例えば選択ゲート、知覚回路機構、アドレス復号器、駆動回路、他のサポート論理/回路および任意の適切な回路機構構成要素を含めることができるが、簡潔にするためにここでは省略されている。
図3は、本開示のいくつかの実施形態による、データ読出し待ち時間を短くするためのオンダイSRAMを実現するフラッシュメモリシステムの動作を示すフローチャートである。方法300は網羅的なものではないこと、また、示されている何らかの操作ステップの前、後または間に他の操作ステップを実施することも可能であることを理解されたい。いくつかの実施形態では、方法300のいくつかの操作ステップを省略することができ、または簡潔にするためにここでは説明されていない他の操作ステップを含めることができる。いくつかの実施形態では、方法300の操作ステップは異なる順序で実施することができ、および/または操作ステップを変更することができる。方法300は、図1および図2で説明したフラッシュメモリデバイスおよび回路機構を使用して実施することができる。
方法300は操作ステップ310で開始し、本開示のいくつかの実施形態によれば、ホストコントローラがユーザデータ読出し要求を開始する。図1を参照すると、ホストコントローラ102は、インタフェース104を介して、フラッシュメモリコントローラ110に対するユーザデータ要求コマンドを開始し、フラッシュメモリアレイ170に記憶されている特定のユーザデータ片を要求することができる。いくつかの実施形態では、要求コマンドは、要求されたユーザデータの1つまたは複数の論理アドレスを含むことができる。
方法300は操作ステップ320を継続し、本開示のいくつかの実施形態によれば、フラッシュメモリコントローラがフラッシュメモリコントローラの媒体記憶装置(例えばSRAM)を走査して、L2Pテーブルを探索する。図1を参照すると、フラッシュメモリコントローラ110は、ホストコントローラからユーザデータ要求を受け取り、フラッシュメモリコントローラ110のコントローラ記憶装置132を捜して、コントローラ記憶装置132が要求されたユーザデータのマッピング情報を含んでいるかどうかを決定するよう、FTL140に命令するように構成することができる。いくつかの実施形態では、コントローラ記憶装置132は、ユーザデータの選択の単一レベル直接L2Pマッピングを含むことができる。例えば読出し待ち時間を短くするために、フラッシュメモリコントローラ110の記憶媒体は、ユーザによって頻繁にアクセスされるユーザデータのための単一レベル直接L2Pマッピング情報を含むことができる。いくつかの実施形態では、フラッシュメモリコントローラ110の記憶媒体はまた、L2Pマッピング情報のセクタを含むことができる。例えば多重レベルマッピングスキームの下では、コントローラ記憶装置132はページグローバルディレクトリを含むことができ、また、FTL140はページグローバルディレクトリを探索するように構成することができる。
方法300は操作ステップ330を継続し、本開示のいくつかの実施形態によれば、FTLは、L2Pデータがコントローラ媒体記憶装置に記憶されているかどうかを決定するように構成されている。いくつかの実施形態では、ホストコントローラによって開始されたユーザデータ要求は、要求されたデータの論理アドレス情報を含むことができる。図1を参照すると、FTL140は、論理アドレス情報に対応するL2Pアドレス情報がコントローラ媒体記憶装置またはフラッシュメモリダイに記憶されているかどうかを決定するように構成することができる。
L2Pアドレス情報がフラッシュコントローラ記憶装置に記憶されていることをFTLが決定すると、方法300は操作ステップ340を継続し、本開示のいくつかの実施形態によれば、FTLがフラッシュコントローラ記憶装置からL2P情報のセクタを読み出す。図1を参照すると、FTL140は、コントローラ記憶装置132の内容を捜して、ホストコントローラ102から受け取った論理アドレス情報に対応するL2Pマッピングデータのセクタを識別するように構成することができる。方法300は操作ステップ342を継続し、L2Pデータの読出し値に基づいて物理アドレスが検索される。単一レベル直接L2Pマッピングスキームの下では、FTL140は、L2Pマッピングテーブルの物理アドレスをルックアップして、ホストコントローラ102から受け取った論理アドレスの対応する物理アドレスを獲得することができる。
方法300は操作ステップ380を継続し、フラッシュメモリコントローラ110の制御論理130が、ユーザデータの物理アドレスに基づいてNANDフラッシュメモリアレイ170からユーザデータを検索する。次に方法300は操作ステップ390を継続し、フラッシュメモリコントローラがホストコントローラにデータを伝送する。例えばフラッシュメモリコントローラ110はフラッシュメモリダイ160からユーザデータを受け取り、そのユーザデータをインタフェース104を介してホストコントローラ102に伝送する前に、ユーザデータをページバッファ150に一時的に記憶する。
一方、操作ステップ330で、L2Pアドレス情報がフラッシュコントローラ記憶装置に記憶されていないことをFTLが決定すると、方法300は操作ステップ350を継続し、指示フラグが検査されて、L2Pアドレス情報が記憶されている場所を決定する。例えば指示フラグの第1の状態(例えば状態0)は、対応するL2Pアドレス情報がフラッシュメモリダイ160の1つのダイの中の予備セルに記憶されていることをフラッシュメモリコントローラ110に知らせることができる。指示フラグは、フラッシュメモリダイのうちのL2Pアドレス情報が記憶されているダイの識別などの情報を提供するビットの列であってもよい。例えば指示フラグは、コントローラ記憶装置132に記憶されている情報の1つまたは複数のビットであってもよい。指示フラグは、L2Pマッピング情報がNANDフラッシュメモリアレイ170に記憶されているか、またはオンダイSRAM164に記憶されているかどうかのブロック情報を含むことも可能である。L2Pアドレス情報がNANDフラッシュメモリアレイ170の予備セルに記憶されている場合、方法300は操作ステップ360を継続し、FTL140は、NANDフラッシュメモリアレイ170の予備セルに記憶されているL2Pデータから物理アドレスを検索するように構成することができる。指示フラグは、L2Pデータを含んでいる特定のダイにフラッシュメモリコントローラ110を導く情報を含むことができる。
別法として、指示フラグの第2の状態(例えば状態1)は、対応するL2Pアドレス情報がオンダイSRAMに記憶されていることをフラッシュメモリコントローラ110に知らせることができる。指示フラグは、オンダイSRAMが上に配置されているダイ番号などのオンダイSRAMの識別を含むように構成することも可能である。指示フラグは、L2Pマッピング情報の関連する部分がその上に記憶されているオンダイSRAMのセクタの識別をさらに含むことができる。このようなシナリオでは、方法300は操作ステップ370を継続し、本開示のいくつかの実施形態によれば、FTLは、オンダイSRAMからコントローラ記憶装置の上まで、L2Pマッピングデータのセクタを掃引するように構成することができる。指示フラグによって提供される情報に基づいて、FTLはフラッシュメモリダイ160の特定のオンダイSRAMのセクタを識別し、オンダイSRAM164からコントローラ記憶装置132まで、L2Pマッピングデータのセクタを掃引することができる。いくつかの実施形態では、L2Pマッピングデータのセクタの掃引は、オンダイSRAM164からフラッシュメモリコントローラ110へのL2Pマッピングデータのセクタの伝送、およびコントローラ記憶装置132へのL2Pマッピングデータのセクタの記憶を含む。方法300は操作372を継続し、本開示のいくつかの実施形態によればFTLが指示フラグを更新する。図1を参照すると、FTL140は、コントローラ記憶装置132に現在記憶されているL2Pマッピングデータのセクタの情報を含むように指示フラグを更新することができる。記憶されている情報は、後続する読出し要求のために利用可能であり得る。方法300は操作374を継続し、本開示のいくつかの実施形態によれば、L2Pデータから物理アドレスを検索することができる。FTL140は、コントローラ記憶装置132の上まで掃引されたL2Pデータを走査して読み出し、かつ、ホストコントローラ102によって提供された論理アドレスに対応する物理アドレスを獲得するように構成することができる。指示フラグは、1つまたは複数の追加的な適切な状態を含むことができる。
方法300は、次に、操作ステップ380を継続し、本開示のいくつかの実施形態によれば、メモリセルからデータが読み出される。FTL140によって獲得された物理アドレスに基づいて、フラッシュメモリコントローラ110の制御論理130は、ユーザデータの物理アドレスに基づいてNANDフラッシュメモリアレイ170からユーザデータを検索する。
方法300は、次に、操作ステップ390を継続し、フラッシュメモリコントローラがホストコントローラにデータを伝送する。例えばフラッシュメモリコントローラ110はフラッシュメモリダイからユーザデータを受け取り、そのユーザデータをインタフェース104を介してホストコントローラ102に伝送する。
本開示の様々な実施形態は、デバイスフットプリントを拡張することなく、フラッシュメモリシステムにおける待ち時間を短くするためのシステムおよび方法を対象としている。例えばフラッシュメモリダイは、NANDフラッシュメモリアレイと同じダイの上に配置されるSRAM記憶装置を含むことができる。方法は、目標データのためのアドレスマッピング情報を含んでいるL2Pテーブルの場所を提供するための1つまたは複数の指示フラグを実現するプログラムコードおよび/またはアルゴリズムを含むことができる。例えば指示フラグは、目標L2PテーブルがオンダイSRAM記憶装置に記憶されていることを示す第1の状態、または目標L2PテーブルがフラッシュメモリコントローラのSRAMに記憶されていることを示す第2の状態を表示することができる。
いくつかの実施形態では、フラッシュメモリからデータを読み出すための方法は、フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップを含む。読出し要求はデータの論理アドレスを含む。複数のフラッシュメモリダイの個々のフラッシュメモリダイは、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶デバイスを含む。方法はまた、論理-物理(L2P)情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶装置を識別するステップ、および論理アドレスに対応するデータの物理アドレスを獲得するためにL2P情報を探索するステップを含む。方法は、物理アドレスを使用して、フラッシュメモリダイのフラッシュメモリアレイからデータを検索するステップをさらに含む。
いくつかの実施形態では、フラッシュメモリからデータを読み出すための方法は、フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップを含む。読出し要求はデータの論理アドレスを含み、また、フラッシュメモリコントローラはコントローラ記憶装置を含む。複数のフラッシュメモリダイの個々のフラッシュメモリダイは、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶装置を含む。方法はまた、論理-物理(L2P)情報を求めてコントローラ記憶装置を探索するステップを含む。L2P情報がコントローラ記憶装置に存在していることに応答して、方法は、L2P情報を使用してデータの物理アドレスを獲得するステップ、および物理アドレスを使用して、複数のフラッシュメモリダイからデータを検索するステップを含む。L2P情報がコントローラ記憶装置に存在していないことに応答して、方法は、L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップ、および論理アドレスに対応する物理アドレスを獲得するためにL2P情報を探索するステップを含む。方法は、物理アドレスを使用して、フラッシュメモリダイのフラッシュメモリアレイからデータを検索するステップをさらに含む。
いくつかの実施形態では、フラッシュメモリシステムは複数のフラッシュメモリダイを含む。個々のフラッシュメモリダイは、1つまたは複数のNANDメモリアレイおよび1つまたは複数のオンダイSRAM記憶デバイスを含む。フラッシュメモリシステムはまた、コントローラ記憶装置および1つまたは複数のプロセッサを含むフラッシュメモリコントローラを含む。1つまたは複数のプロセッサは、命令を実行すると、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るように構成され、読出し要求はデータの論理アドレスを含む。1つまたは複数のプロセッサは、論理-物理(L2P)情報を含んでいるオンダイSRAM記憶装置を識別するようにさらに構成され、オンダイSRAM記憶デバイスは複数のフラッシュメモリダイのうちの1つのフラッシュメモリダイの上に形成されている。1つまたは複数のプロセッサは、論理アドレスに対応するデータの物理アドレスを獲得するためにL2P情報を探索するようにさらに構成される。フラッシュメモリコントローラはまた、物理アドレスを使用して、フラッシュメモリダイのNANDメモリアレイからデータを検索するように構成される。
特定の実施形態についての以上の説明は、本開示の一般的な性質を完全に明らかにしており、したがって他者は、当業者の技術の範囲内における知識を適用することにより、過度の実験を経ることなく、本開示の一般的な概念から逸脱することなく、様々な用途のためにこのような特定の実施形態を容易に修正し、および/または適合させることができる。したがってこのような適合および修正は、本明細書において提示されている教示および手引きに基づく、開示されている実施形態の等価物の意味および範囲の範疇であることが意図されている。本明細書における語法または専門用語は、本明細書における専門用語または語法が教示および手引きに照らして当業者によって解釈されるよう、説明を目的としたものであり、制限するものではないことを理解されたい。
以上、本開示の実施形態について、明記されている機能およびそれらの関係の実施態様を示す機能ビルディングブロックの助けを借りて説明した。これらの機能ビルディングブロックの境界は、説明の便宜上、本明細書において任意に定められている。明記されている機能およびそれらの関係が適切に実施される限り、代替境界を定めることができる。
発明の概要および要約書の節は、本発明者が企図した本開示の、すべてではなく、1つまたは複数の例示的実施形態を示すことができ、したがって本開示および添付の特許請求の範囲を制限することは全く意図されていない。
本開示の広さおよび範囲は、上で説明した例示的実施形態のいずれによっても制限されず、唯一、以下の特許請求の範囲およびそれらの等価物に従って定義されるものとする。
100 フラッシュメモリシステム
102 ホストコントローラ
104 インタフェース
106 インタフェース
110 フラッシュメモリコントローラ
120 符号器/復号器ユニット
130 制御論理
132 コントローラ記憶装置
140 フラッシュ翻訳層(FTL)
150 ページバッファ
160 フラッシュメモリダイ
162 データキャッシュ
164 オンダイSRAM
170 NANDフラッシュメモリアレイ
172 フラッシュメモリセル
174 ストリング

Claims (19)

  1. フラッシュメモリからデータを読み出すための方法であって、
    フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップであって、
    前記読出し要求が前記データの論理アドレスを含み、
    前記複数のフラッシュメモリダイの個々のフラッシュメモリダイが、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶デバイスを含む、
    読出し要求を受け取るステップと、
    前記フラッシュメモリコントローラのコントローラ記憶装置内で論理-物理(L2P)情報を探索するステップと、
    前記L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップと、
    前記論理アドレスに対応する前記データの物理アドレスを獲得するために前記L2P情報を探索するステップと、
    前記物理アドレスを使用して、前記フラッシュメモリダイのフラッシュメモリアレイから前記データを検索するステップと
    を含む方法。
  2. 前記L2P情報が前記コントローラ記憶装置に存在していないことに応答して、前記L2P情報を含んでいるフラッシュメモリダイを識別するステップをさらに含む、請求項に記載の方法。
  3. 前記L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップが、L2Pマッピングテーブルのセクタを決定するステップを含む、請求項に記載の方法。
  4. 前記L2P情報が前記コントローラ記憶装置に存在していないことに応答して指示フラグを検査するステップをさらに含む、請求項に記載の方法。
  5. 前記L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップが、前記指示フラグから情報を得るステップを含む、請求項に記載の方法。
  6. 前記指示フラグからの前記得られた情報に基づいてL2Pマッピングテーブルのセクタを決定するステップをさらに含む、請求項に記載の方法。
  7. 前記オンダイSRAM記憶デバイスから前記コントローラ記憶装置まで前記L2Pマッピングテーブルの前記セクタを掃引するステップをさらに含む、請求項に記載の方法。
  8. 前記L2Pマッピングテーブルの前記セクタに関連する情報で前記指示フラグを更新するステップをさらに含む、請求項7に記載の方法。
  9. 前記L2Pマッピングテーブルの前記セクタを掃引するステップが、
    前記オンダイSRAM記憶デバイスから前記フラッシュメモリコントローラへ前記L2Pマッピングテーブルの前記セクタを伝送するステップと、
    前記コントローラ記憶装置に前記L2Pマッピングテーブルの前記セクタを記憶するステップと
    を含む、請求項に記載の方法。
  10. フラッシュメモリからデータを読み出すための方法であって、
    フラッシュメモリコントローラによって、複数のフラッシュメモリダイに記憶されているデータに対する読出し要求を受け取るステップであって、
    前記読出し要求が前記データの論理アドレスを含み、
    前記フラッシュメモリコントローラがコントローラ記憶装置を備え、
    前記複数のフラッシュメモリダイの個々のフラッシュメモリダイが、1つまたは複数のフラッシュメモリアレイおよび1つまたは複数のオンダイスタティックランダムアクセスメモリ(SRAM)記憶デバイスを備える、
    読出し要求を受け取るステップと、
    論理-物理(L2P)情報を求めて前記コントローラ記憶装置を探索するステップと、
    前記L2P情報が前記コントローラ記憶装置に存在していることに応答して、
    前記L2P情報を使用して前記データの物理アドレスを獲得するステップと、
    前記物理アドレスを使用して、前記複数のフラッシュメモリダイから前記データを検索するステップと、
    前記L2P情報が前記コントローラ記憶装置に存在していないことに応答して、
    前記L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップと、
    前記論理アドレスに対応する物理アドレスを獲得するために前記L2P情報を探索するステップと、
    前記物理アドレスを使用して、前記フラッシュメモリダイのフラッシュメモリアレイから前記データを検索するステップと
    を含む方法。
  11. 前記L2P情報が前記コントローラ記憶装置に存在していないことに応答して指示フラグを検査するステップをさらに含む、請求項10に記載の方法。
  12. 前記L2P情報を含んでいるフラッシュメモリダイのオンダイSRAM記憶デバイスを識別するステップが、前記指示フラグから情報を得るステップを含む、請求項11に記載の方法。
  13. 前記指示フラグからの前記得られた情報に基づいてL2Pマッピングテーブルのセクタを決定するステップをさらに含む、請求項12に記載の方法。
  14. 前記オンダイSRAM記憶デバイスから前記コントローラ記憶装置まで前記L2Pマッピングテーブルの前記セクタを掃引するステップをさらに含む、請求項13に記載の方法。
  15. フラッシュメモリシステムであって、
    複数のフラッシュメモリダイであって、個々のフラッシュメモリダイが、
    1つまたは複数のNANDメモリアレイと、
    1つまたは複数のオンダイSRAM記憶デバイスと
    を備える、複数のフラッシュメモリダイと、
    フラッシュメモリコントローラであって、
    コントローラ記憶装置と、
    1つまたは複数のプロセッサであって、命令を実行すると、
    前記複数のフラッシュメモリダイに記憶されているデータに対する読出し要求であって、前記データの論理アドレスを含む読出し要求を受け取り、
    論理-物理(L2P)情報が前記コントローラ記憶装置に記憶されているかどうかを決定し、
    前記L2P情報が前記コントローラ記憶装置に記憶されていないことを決定すると、前記L2P情報を含んでいるオンダイSRAM記憶デバイスであって、前記複数のフラッシュメモリダイのうちの1つのフラッシュメモリダイの上に形成されたオンダイSRAM記憶デバイスを識別し、
    前記論理アドレスに対応する前記データの物理アドレスを獲得するために前記L2P情報を捜し、
    前記物理アドレスを使用して、前記フラッシュメモリダイのNANDメモリアレイから前記データを検索する
    ように構成された1つまたは複数のプロセッサと
    を備える、フラッシュメモリコントローラと
    を備える、フラッシュメモリシステム。
  16. 前記フラッシュメモリコントローラが、前記データの前記物理アドレスを獲得するように構成されたフラッシュ翻訳層(FTL)をさらに備える、請求項15に記載のフラッシュメモリシステム。
  17. 前記フラッシュメモリコントローラが、前記L2P情報の場所を含んでいる指示フラグをさらに含む、請求項15に記載のフラッシュメモリシステム。
  18. 前記場所が前記オンダイSRAM記憶デバイスのアドレスを含む、請求項17に記載のフラッシュメモリシステム。
  19. 前記L2P情報が多重レベルマッピングスキームを含む、請求項15に記載のフラッシュメモリシステム。
JP2022579004A 2021-02-08 2021-02-08 論理-物理(l2p)テーブルにキャッシュするためのオンダイスタティックランダムアクセスメモリ(sram) Active JP7472324B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/075939 WO2022165828A1 (en) 2021-02-08 2021-02-08 On-die static random-access memory (sram) for caching logical to physical (l2p) tables

Publications (2)

Publication Number Publication Date
JP2023532235A JP2023532235A (ja) 2023-07-27
JP7472324B2 true JP7472324B2 (ja) 2024-04-22

Family

ID=76233926

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022579004A Active JP7472324B2 (ja) 2021-02-08 2021-02-08 論理-物理(l2p)テーブルにキャッシュするためのオンダイスタティックランダムアクセスメモリ(sram)

Country Status (7)

Country Link
US (2) US11755471B2 (ja)
EP (1) EP4147134A4 (ja)
JP (1) JP7472324B2 (ja)
KR (1) KR20230010754A (ja)
CN (2) CN115458008A (ja)
TW (1) TWI803842B (ja)
WO (1) WO2022165828A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110187828B (zh) * 2019-04-12 2023-03-28 深圳市金泰克半导体有限公司 Nand闪存的垃圾回收方法及nand闪存
US20240062833A1 (en) * 2022-08-19 2024-02-22 Macronix International Co., Ltd. Page buffer counting for in-memory search

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117299A (ja) 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
JP2012174086A (ja) 2011-02-23 2012-09-10 Hitachi Ltd 記憶装置およびそれを搭載した計算機
US20170090794A1 (en) 2015-09-29 2017-03-30 CNEXLABS, Inc. a Delaware Corporation Method and Apparatus for Providing a Shared Nonvolatile Memory System Using a Distributed FTL Scheme
US10409511B1 (en) 2018-06-30 2019-09-10 Western Digital Technologies, Inc. Multi-device storage system with distributed read/write processing
JP2020046917A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 メモリシステム、ストレージシステム、および制御方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050144509A1 (en) * 2003-12-24 2005-06-30 Fernando Zayas Cache search accelerator method
US7461229B2 (en) * 2006-05-23 2008-12-02 Dataram, Inc. Software program for managing and protecting data written to a hybrid solid-state disk drive
CN101344867A (zh) * 2007-07-13 2009-01-14 深圳市江波龙电子有限公司 提高Nand型快闪存储器数据存取速度的方法
US8688894B2 (en) * 2009-09-03 2014-04-01 Pioneer Chip Technology Ltd. Page based management of flash storage
US9218281B2 (en) * 2012-05-04 2015-12-22 Seagate Technology Llc Maintaining ordering via a multi-level map of a solid-state media
US9207880B2 (en) * 2013-12-27 2015-12-08 Intel Corporation Processor with architecturally-visible programmable on-die storage to store data that is accessible by instruction
US10013352B2 (en) * 2014-09-26 2018-07-03 Intel Corporation Partner-aware virtual microsectoring for sectored cache architectures
CN106775466A (zh) * 2016-12-05 2017-05-31 深圳市金泰克半导体有限公司 一种无dram的ftl读缓存管理方法及装置
KR102524676B1 (ko) * 2017-12-21 2023-04-24 마이크론 테크놀로지, 인크. Nand 논리 대 물리 테이블 영역 트랙킹
US10572391B2 (en) * 2018-02-09 2020-02-25 Western Digital Technologies, Inc. Methods and apparatus for implementing a logical to physical address mapping in a solid state drive
US10592141B2 (en) * 2018-03-06 2020-03-17 Western Digital Technologies, Inc. Error characterization for control of non-volatile memory
CN108519858B (zh) * 2018-03-22 2021-06-08 雷科防务(西安)控制技术研究院有限公司 存储芯片硬件命中方法
CN110765156A (zh) 2018-07-09 2020-02-07 慧荣科技股份有限公司 链表搜索装置及方法
KR20200025184A (ko) 2018-08-29 2020-03-10 에스케이하이닉스 주식회사 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
US11301369B2 (en) * 2019-01-24 2022-04-12 Western Digital Technologies, Inc. Logical to physical mapping management using low-latency non-volatile memory
WO2020232574A1 (en) 2019-05-17 2020-11-26 Yangtze Memory Technologies Co., Ltd. Data buffering operation of three-dimensional memory device with static random-access memory
CN110291631A (zh) * 2019-05-17 2019-09-27 长江存储科技有限责任公司 具有静态随机存取存储器的三维存储器件
KR20210001508A (ko) * 2019-06-28 2021-01-06 에스케이하이닉스 주식회사 메모리 시스템의 MLC(Multi Level Cell)영역에 데이터를 안전하게 저장하기 위한 장치 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008117299A (ja) 2006-11-07 2008-05-22 Fuji Xerox Co Ltd 記憶媒体制御装置
JP2012174086A (ja) 2011-02-23 2012-09-10 Hitachi Ltd 記憶装置およびそれを搭載した計算機
US20170090794A1 (en) 2015-09-29 2017-03-30 CNEXLABS, Inc. a Delaware Corporation Method and Apparatus for Providing a Shared Nonvolatile Memory System Using a Distributed FTL Scheme
US10409511B1 (en) 2018-06-30 2019-09-10 Western Digital Technologies, Inc. Multi-device storage system with distributed read/write processing
JP2020046917A (ja) 2018-09-19 2020-03-26 キオクシア株式会社 メモリシステム、ストレージシステム、および制御方法

Also Published As

Publication number Publication date
EP4147134A4 (en) 2023-08-23
CN112955956A (zh) 2021-06-11
US20220253379A1 (en) 2022-08-11
KR20230010754A (ko) 2023-01-19
TW202331528A (zh) 2023-08-01
CN112955956B (zh) 2022-09-30
US11755471B2 (en) 2023-09-12
TW202232325A (zh) 2022-08-16
JP2023532235A (ja) 2023-07-27
WO2022165828A1 (en) 2022-08-11
TWI803842B (zh) 2023-06-01
CN115458008A (zh) 2022-12-09
US20230350800A1 (en) 2023-11-02
EP4147134A1 (en) 2023-03-15

Similar Documents

Publication Publication Date Title
US10162748B2 (en) Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US20180293014A1 (en) Folding operations in memory systems with single address updates
US10656842B2 (en) Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US20230350800A1 (en) On-die static random-access memory (sram) for caching logical to physical (l2p) tables
US11221771B2 (en) Distribution of logical-to-physical address entries across bank groups
US10656840B2 (en) Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US11386005B2 (en) Memory system, memory controller, and method of operating memory system for caching journal information for zone in the journal cache
US11360908B2 (en) Memory-efficient block/object address mapping
EP3422353A1 (en) Stacked memory chip device with enhanced data protection capability
CN114489466A (zh) 存储器系统及其操作方法
US9858003B2 (en) Storage system that reliably stores lower page data
US20240152422A1 (en) Firmware repair for three-dimensional nand memory
CN113632170A (zh) 三维存储器装置中的页缓冲器电路
CN113590502A (zh) 一种非挥发性记忆体存储设备的垃圾回收方法与垃圾回收系统
CN113590503A (zh) 一种非挥发性记忆体存储器的垃圾回收方法与垃圾回收系统
TWI834542B (zh) 快閃記憶體控制器、快閃記憶體及快閃記憶體系統
CN114968856A (zh) 存储器系统及其操作方法
CN113678204A (zh) 三维存储器装置中的页缓冲器电路
US20230205687A1 (en) Controller and operating method thereof
US20240061778A1 (en) Memory sub-system cache extension to page buffers of a memory array
JP2019057074A (ja) メモリシステム
US20200294598A1 (en) Routing Bad Block Flag for Reducing Routing Signals
TW202326419A (zh) 資料儲存裝置及其操作方法
KR20230071699A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
CN115881177A (zh) 基于菊花链拓扑结构的存储装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240227

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240410

R150 Certificate of patent or registration of utility model

Ref document number: 7472324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150