JP2021507373A - マルチレベルアドレッシング - Google Patents
マルチレベルアドレッシング Download PDFInfo
- Publication number
- JP2021507373A JP2021507373A JP2020532688A JP2020532688A JP2021507373A JP 2021507373 A JP2021507373 A JP 2021507373A JP 2020532688 A JP2020532688 A JP 2020532688A JP 2020532688 A JP2020532688 A JP 2020532688A JP 2021507373 A JP2021507373 A JP 2021507373A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- address
- level
- address level
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7206—Reconfiguration of flash memory system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
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)
Abstract
Description
Claims (22)
- マルチレベルアドレッシングスキームを使用して初期化プロセス中に装置の不揮発性ストレージメモリ内の特定の情報の位置に対応する開始アドレスを決定することであって、マルチレベルアドレッシングスキームを使用することは、
それぞれのアドレスレベルにおいて前記ストレージメモリの複数の読み込みを実行し、前記特定の情報の前記位置に対応する前記開始アドレスを決定すること、
を含む、前記決定すること、
を備える、方法。 - 前記初期化プロセス中に、前記開始アドレスによってアドレス指定される前記ストレージメモリ内の前記位置から前記特定の情報を揮発性メモリに読み込むことをさらに備える、請求項1に記載の方法。
- 前記マルチレベルアドレッシングスキームは、初期アドレスレベル、最終アドレスレベル、及び前記初期アドレスレベルと前記最終アドレスレベルとの間に少なくとも1つの中間アドレスレベルを含み、
前記特定の情報の前記位置に対応する前記開始アドレスは、前記最終アドレスレベルにある、請求項1及び2のいずれか1項に記載の方法。 - 複数の読み込みを実行することは、
前記初期アドレスレベルにおけるセグメントの読み込みを実行し、前記少なくとも1つの中間アドレスレベルにおけるセグメントのアドレスを決定することと、
前記少なくとも1つの中間アドレスレベルにおける前記セグメントの読み込みを実行し、前記最終アドレスレベルにおけるセグメントのアドレスを決定することであって、前記最終アドレスレベルにおける前記セグメントは前記特定の情報の前記位置に対応する前記開始アドレスを示す、前記決定することと、
を備える、請求項3に記載の方法。 - 前記初期アドレスレベルにおける前記セグメントのアドレスは、固定され、前記装置の各初期化の間に使用される、請求項4に記載の方法。
- 閾値回数、前記特定の情報を格納するために使用されるセグメントに上書きすることに応答して、
前記特定の情報を格納するために使用される前記セグメントを、異なる開始アドレスを有する異なるセグメントに変更することと、
前記セグメントが前記異なる開始アドレスを示すように、前記最終アドレスレベルにおいて前記セグメントを更新することと、
閾値回数、前記最終アドレスレベルにおいて前記セグメントを更新することに応答して、
前記最終アドレスレベルにおける前記セグメントを、前記最終アドレスレベルにおける異なるセグメントに変更することと、
前記セグメントが前記最終アドレスレベルにおいて前記異なるセグメントのアドレスのインディケーションを格納するように、前記少なくとも1つの中間レベルにおいて前記セグメントを更新することと、
をさらに備える、請求項4に記載の方法。 - 閾値回数、前記特定の情報を格納するために使用される前記セグメントに上書きすること、及び、閾値回数、前記最終アドレスレベルにおいて前記セグメントを更新することは、
同じ回数、前記特定の情報を格納するために使用される前記セグメントに上書きすること、及び前記最終アドレスレベルにおいて前記セグメントを更新することを備える、請求項6に記載の方法。 - 前記初期化プロセス中に前記マルチレベルアドレッシングスキームを使用する部分として、前記少なくとも1つの中間アドレスレベルに対応するセグメントのウェアレベリングを実行することをさらに備える、請求項3に記載の方法。
- 前記少なくとも1つの中間アドレスレベルの前記ウェアレベリングを実行することは、それぞれの回数、前記少なくとも1つの中間アドレスレベルに対応する複数のセグメントの各それぞれのセグメントに上書きして、同じ回数、前記それぞれのセグメントが書き込まれることを備え、
前記少なくとも1つの中間レベルに対応する前記複数のセグメントのうちの少なくとも1つは、前記特定の情報を格納するために使用されるセグメントが変更される毎に上書きされる、請求項8に記載の方法。 - 複数の読み込みを実行することは、
前記ストレージメモリの第一部分の第一アドレスレベルにおける第一セグメントセットのセグメントのアドレスを、前記ストレージメモリの第二部分の初期アドレスレベルにおけるセグメントから読み込むことと、
前記ストレージメモリの前記第一部分の第二アドレスレベルにおける第二セグメントセットのセグメントのアドレスを、前記第一セグメントセットの前記セグメントから読み込むことと、
前記ストレージメモリの第三部分の最終アドレスレベルにおけるセグメントセットのセグメントのアドレスを、前記第二セグメントセットの前記セグメントから読み込み、前記最終アドレスレベルにおける前記特定の情報の前記位置を決定することと、
を備える、請求項1及び2のいずれか1項に記載の方法。 - 前記開始アドレスは、論理から物理へのマッピング情報の開始アドレスを含み、
前記方法は、
前記論理から物理へのマッピング情報の前記開始アドレスを、前記最終アドレスレベルの前記セグメントセットの前記セグメントから読み込むことと、
前記開始アドレスを使用して、前記第一部分の第三セグメントセットのセグメントにおいて論理から物理へのマッピング情報にアクセスすることと、
をさらに備える、請求項10に記載の方法。 - 前記論理から物理へのマッピング情報を使用して、ホストからのユーザデータに対応する論理アドレスを、前記第三部分の追加セグメントの物理アドレスにマッピングすることをさらに備える、請求項11に記載の方法。
- ユーザデータを前記追加セグメントに格納することをさらに備える、請求項12に記載の方法。
- 前記第一セグメントセットの前記第一セグメントの前記アドレスのコピーを、前記第二部分の前記初期アドレスレベルにおける追加セグメントに書き込むことをさらに備える、請求項10に記載の方法。
- 初期アドレスレベル、最終アドレスレベル、及び前記初期アドレスレベルと前記最終アドレスレベルとの間に少なくとも1つの中間アドレスレベルを含む不揮発性ストレージメモリと、
前記ストレージメモリに結合されるコントローラと、
を備える装置であって、
前記コントローラは、
マルチレベルアドレッシングスキームに従い複数の読み込みを実行し、前記装置の初期化中に初期化情報の位置を決定するように構成され、
前記複数の読み込みは、
前記初期アドレスレベルにおいて初期アドレスから中間アドレスを読み込むことと、
前記少なくとも1つの中間アドレスレベルにおいて前記中間アドレスから最終アドレスを読み込み、前記初期化情報の前記位置を決定することと、
を含む、前記装置。 - 前記情報は、論理から物理へのマッピングテーブルの開始アドレスを含む、請求項15に記載の装置。
- 前記複数の読み込みを実行するように構成される前記コントローラは、前記ストレージメモリに格納される命令に応答して前記複数の読み込みを実行するように構成される前記コントローラを含み、
前記コントローラは、前記命令を更新するように構成される、
請求項15に記載の装置。 - 前記初期アドレスは、前記中間アドレスを格納する、前記中間アドレスレベルにおけるセグメントセットのセグメントのアドレスであり、
前記コントローラは、前記装置の寿命全体を通して中間アドレスを格納するために、前記セグメントセットを前記中間アドレスレベルに割り振るように構成される、請求項15から17のいずれか1項に記載の装置。 - 前記初期アドレスは、前記中間アドレスを格納する、特定のセグメントセットのセグメントのアドレスであり、
前記コントローラは、特定のセグメントセットの各セグメントが同じ特定の回数書き込まれるまで中間アドレスを格納するために前記特定のセグメントセットを前記中間アドレスレベルに割り振るように、そして前記特定のセグメントセットの各セグメントが前記同じ特定の回数書き込まれることに応答して、中間アドレスを格納するために別のセグメントセットを前記中間アドレスレベルに割り振るように構成される、請求項15から17のいずれか1項に記載の装置。 - 不揮発性ストレージメモリと、
前記メモリに結合されるコントローラと、を備える装置であって、
前記コントローラは、
前記装置の初期化中に、前記装置の動作に重要な情報を格納する前記メモリ中の位置を見つける、マルチレベルアドレッシングを実装するように構成され、
前記コントローラは、
初期アドレスを格納するように構成される初期アドレスレベルに、前記メモリの第一部分を割り当てることと、
前記位置を含む最終アドレスレベルに前記メモリの第二部分を割り当てることと、
前記複数のセグメントセットのそれぞれの前のセグメントセットの各セグメントが同じ回数書き込まれることに応答して、前記初期アドレスレベルと前記最終アドレスレベルとの間の中間アドレスレベルに、前記メモリの第三部分の複数のセグメントセットの異なるセグメントセットを動的に割り当てることであって、前記複数のセグメントセットの各セグメントは前記初期アドレスによってアドレス指定されるように構成され、前記位置のアドレスを格納するように構成される、前記割り当てることと、
によって、前記マルチレベルアドレッシングを実装するように構成される、前記装置。 - 前記コントローラは、
前記それぞれの前のセグメントセットの各それぞれのセグメントが以前に書き込まれた回数を判定し、以前に最も多い回数書き込まれた前記それぞれの前のセットの特定のセグメントを決定することと、
前記最も多い回数と、前記特定のセグメントが上書きされる固定された回数との総和である前記同じ回数を決定すること、
によって、前記同じ回数を決定するように構成される、請求項20に記載の装置。 - 前記コントローラは、前記それぞれの前のセグメントセットの各それぞれのセグメントに格納されるそれぞれの書き込みカウントを読み込むことによって、前記それぞれの前のセグメントセットの各それぞれのセグメントが以前に書き込まれた回数を決定するように構成される、請求項21に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/841,378 US10860474B2 (en) | 2017-12-14 | 2017-12-14 | Multilevel addressing |
US15/841,378 | 2017-12-14 | ||
PCT/US2018/061201 WO2019118125A1 (en) | 2017-12-14 | 2018-11-15 | Multilevel addressing |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021507373A true JP2021507373A (ja) | 2021-02-22 |
JP6908789B2 JP6908789B2 (ja) | 2021-07-28 |
Family
ID=66816044
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020532688A Active JP6908789B2 (ja) | 2017-12-14 | 2018-11-15 | マルチレベルアドレッシング |
Country Status (6)
Country | Link |
---|---|
US (2) | US10860474B2 (ja) |
EP (1) | EP3724769A4 (ja) |
JP (1) | JP6908789B2 (ja) |
KR (1) | KR20200089338A (ja) |
CN (1) | CN111433748A (ja) |
WO (1) | WO2019118125A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10732881B1 (en) * | 2019-01-30 | 2020-08-04 | Hewlett Packard Enterprise Development Lp | Region cloning for deduplication |
TWI761748B (zh) | 2020-01-06 | 2022-04-21 | 慧榮科技股份有限公司 | 多階層映射資訊管理之資料儲存裝置以及非揮發式記憶體控制方法 |
CN113535089B (zh) * | 2020-05-22 | 2024-05-17 | 长江存储科技有限责任公司 | 用于ssd的映射表的刷新方法 |
US11487456B1 (en) | 2021-04-23 | 2022-11-01 | Vmware, Inc. | Updating stored content in an architecture utilizing a middle map between logical and physical block addresses |
US11579786B2 (en) * | 2021-04-23 | 2023-02-14 | Vmware, Inc. | Architecture utilizing a middle map between logical to physical address mapping to support metadata updates for dynamic block relocation |
CN114448890B (zh) * | 2021-12-22 | 2023-10-10 | 天翼云科技有限公司 | 寻址方法、装置、电子设备及存储介质 |
US11797214B2 (en) * | 2022-01-04 | 2023-10-24 | Vmware, Inc. | Micro-batching metadata updates to reduce transaction journal overhead during snapshot deletion |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8341332B2 (en) * | 2003-12-02 | 2012-12-25 | Super Talent Electronics, Inc. | Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices |
JP4679581B2 (ja) | 2005-07-29 | 2011-04-27 | パナソニック株式会社 | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及び不揮発性メモリのアドレス管理方法 |
CN101479745B (zh) | 2006-07-26 | 2011-08-03 | 松下电器产业株式会社 | 非易失性存储装置、存取装置及非易失性存储系统 |
JP4349532B2 (ja) | 2007-04-11 | 2009-10-21 | エヌイーシーコンピュータテクノ株式会社 | メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 |
US20090089515A1 (en) * | 2007-10-02 | 2009-04-02 | Qualcomm Incorporated | Memory Controller for Performing Memory Block Initialization and Copy |
US8166277B2 (en) | 2008-02-01 | 2012-04-24 | International Business Machines Corporation | Data prefetching using indirect addressing |
KR101548175B1 (ko) * | 2008-11-05 | 2015-08-28 | 삼성전자주식회사 | 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법 |
US8180995B2 (en) * | 2009-01-21 | 2012-05-15 | Micron Technology, Inc. | Logical address offset in response to detecting a memory formatting operation |
US8566511B2 (en) * | 2009-07-23 | 2013-10-22 | Stec, Inc. | Solid-state storage device with multi-level addressing |
US20110283048A1 (en) | 2010-05-11 | 2011-11-17 | Seagate Technology Llc | Structured mapping system for a memory device |
US8341340B2 (en) | 2010-07-21 | 2012-12-25 | Seagate Technology Llc | Multi-tier address mapping in flash memory |
US8417914B2 (en) * | 2011-01-06 | 2013-04-09 | Micron Technology, Inc. | Memory address translation |
US8631212B2 (en) * | 2011-09-25 | 2014-01-14 | Advanced Micro Devices, Inc. | Input/output memory management unit with protection mode for preventing memory access by I/O devices |
EP2761464B1 (en) | 2011-09-30 | 2018-10-24 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
-
2017
- 2017-12-14 US US15/841,378 patent/US10860474B2/en active Active
-
2018
- 2018-11-15 KR KR1020207020187A patent/KR20200089338A/ko not_active Application Discontinuation
- 2018-11-15 JP JP2020532688A patent/JP6908789B2/ja active Active
- 2018-11-15 CN CN201880078165.7A patent/CN111433748A/zh not_active Withdrawn
- 2018-11-15 EP EP18888075.1A patent/EP3724769A4/en not_active Withdrawn
- 2018-11-15 WO PCT/US2018/061201 patent/WO2019118125A1/en unknown
-
2020
- 2020-12-04 US US17/112,268 patent/US11461228B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20200089338A (ko) | 2020-07-24 |
JP6908789B2 (ja) | 2021-07-28 |
US20190188124A1 (en) | 2019-06-20 |
US11461228B2 (en) | 2022-10-04 |
EP3724769A4 (en) | 2021-09-08 |
US20210089443A1 (en) | 2021-03-25 |
US10860474B2 (en) | 2020-12-08 |
EP3724769A1 (en) | 2020-10-21 |
CN111433748A (zh) | 2020-07-17 |
WO2019118125A1 (en) | 2019-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6908789B2 (ja) | マルチレベルアドレッシング | |
US9842030B2 (en) | Data storage device and flash memory control method | |
CN110781096B (zh) | 用于通过预测需求时间来执行垃圾收集的设备和方法 | |
EP1559016B1 (en) | Maintaining erase counts in non-volatile storage systems | |
KR101383853B1 (ko) | 빠른 웨어 레벨링 플래쉬 드라이브 | |
KR101110785B1 (ko) | 프로그램 가능한 내구력을 가진 플래시 메모리 | |
US8095724B2 (en) | Method of wear leveling for non-volatile memory and apparatus using via shifting windows | |
US20070255889A1 (en) | Non-volatile memory device and method of operating the device | |
CN108959112B (zh) | 存储系统及使用其的损耗均衡方法 | |
EP1559015A1 (en) | Method and apparatus for managing an erase count block | |
EP1559112A1 (en) | Maintaining an average erase count in a non-volatile storage system | |
WO2011086732A1 (en) | Storage device management device and method for managing storage device | |
CN112740189B (zh) | 非易失性存储器的多级损耗均衡 | |
CN112534415B (zh) | 非易失性存储器中的数据有效性跟踪 | |
CN112689829A (zh) | 用于就地数据替代媒体的混合式耗损均衡 | |
CN107045423B (zh) | 存储器装置及其数据存取方法 | |
CN112445733A (zh) | 存储器系统、存储器控制器以及操作方法 | |
CN107301015B (zh) | 用于减少存储器设备上的压力的系统和方法 | |
JP4488048B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP7042930B2 (ja) | センチネルセルに基づくデータ整合性の判断 | |
US8762623B2 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
JP2020017134A (ja) | 記憶装置及び記憶制御方法 | |
CN107025062B (zh) | 数据储存方法及其系统 | |
US20110055459A1 (en) | Method for managing a plurality of blocks of a flash memory, and associated memory device and controller thereof | |
CN112230845B (zh) | 存储器子系统中基于子组写计数的损耗均衡 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200629 Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200630 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200630 |
|
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: 20210608 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210701 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6908789 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |