TWI463319B - 快閃儲存系統的記憶位址轉譯方法 - Google Patents

快閃儲存系統的記憶位址轉譯方法 Download PDF

Info

Publication number
TWI463319B
TWI463319B TW101147060A TW101147060A TWI463319B TW I463319 B TWI463319 B TW I463319B TW 101147060 A TW101147060 A TW 101147060A TW 101147060 A TW101147060 A TW 101147060A TW I463319 B TWI463319 B TW I463319B
Authority
TW
Taiwan
Prior art keywords
mapping table
level mapping
flash memory
entry point
information
Prior art date
Application number
TW101147060A
Other languages
English (en)
Other versions
TW201409235A (zh
Inventor
Chih Nan Yen
Original Assignee
Storart Technology 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 Storart Technology Co Ltd filed Critical Storart Technology Co Ltd
Publication of TW201409235A publication Critical patent/TW201409235A/zh
Application granted granted Critical
Publication of TWI463319B publication Critical patent/TWI463319B/zh

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/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

快閃儲存系統的記憶位址轉譯方法
本發明與快閃儲存系統的記憶位址轉譯方法有關,特別是關於一種動態邏輯到實體記憶映射方法以及均勻抹除方法,以延長快閃記憶體的壽命。
快閃記憶體係在最近幾年來最普遍的儲存媒介。其相對於硬碟的優點是低功率、低重量、以及低成本。而且,其主要的弱點是在使用壽命。
邏輯到實體記憶映射方法係可不同於多種基本映射單元。基本映射單元係可為位元組(byte)、字組(word)、雙字組(dword)、四字組(qword,64位元)、磁區(sector)、資料頁(page)、以及區塊(block)。因為快閃操作之實體特性,所以最後兩種映射單元,即資料頁與區塊,係通常使用在快閃記憶體。選擇如區塊之基本映射單元的優點,係有較小的映射表大小(尺寸)。另一方面,選擇如資料頁之基本映射單元的缺點,係有很大的映射表大小(尺寸)。
然而,此兩種映射單元的映射表大小(尺寸)係隨著快閃記憶體的密度之增加而增加。其係意謂顯而易見地需要一多級映射,特別是行動可攜式應用產品(mobile application)。行動可攜式系統(mobile system)係相對於快取記憶體(cache memory)之大小(尺寸)總是很敏感。快取記憶體越大,係意味對於映射表之管 理而言其消耗時間越少。
基於上述問題,發明人提出了一種快閃儲存系統的記憶位址轉譯方法,以克服現有技術的缺陷。
本發明目的在於提供一種快閃儲存系統的記憶位址轉譯方法,其係可將所有映射表(mapping table)儲存在快閃記憶體中,其係第一級映射表係總是存在於快取記憶體(cache memory)中,以可節省在快取記憶體與快閃記憶體之間映射表轉換的時間,以第二級映射表係可載入到快取記憶體以進一步進行邏輯到實體轉譯。
為達上述目的,本發明係提供一種快閃儲存系統的記憶位址轉譯方法,該快閃儲存系統具有一RAM及一快閃記憶體,該RAM包括一第一級映射表,該快閃記憶體包括一第二級映射表,該方法之步驟包括:將具有二資訊的至少一第一進入點儲存到該第一級映射表,該映射表係已儲存在該RAM中,該第一進入點的其中之一資訊係為該第一進入點的一驗證,而該第一進入點的另一資訊係為該第二級映射表的一位置;以及將具有二資訊的至少一第二進入點儲存到該第二級映射表,該第二級映射表係儲存在該快閃記憶體中,該第二進入點的其中之一資訊係為該第二進入點的一驗證,且該第二進入點的另一資訊係為在該快閃記憶體中之資料的一實體位置。
在某些實施例中,該第一級映射表係在該儲存系統於電源啟動成一初始階段進行動態重建。
在某些實施例中,在該第二級映射表中之每一第二進入點 之間的該實體位置的資訊是不同的。
在某些實施例中,該第二級映射表映射到之資料的大小,係為一位元組、一字組、一雙字組、一磁區、一實體資料頁、多個實體資料頁、一實體區塊、或者是多個實體區塊。
在某些實施例中,該資料與該第二級映射表兩者的實體位址係動態地決定。
在某些實施例中,當需要參考時,該第二級映射表係載入到該RAM,且假若該第二級映射表的一內容已更新的話,則該第二級映射表係儲存到該快閃記憶體。
雖然本發明使用了幾個較佳實施例進行解釋,但是下列圖式及具體實施方式僅僅是本發明的較佳實施例;應說明的是,下面所揭示的具體實施方式僅僅是本發明的例子,並不表示本發明限於下列圖式及具體實施方式。
使用壽命是快閃記憶體胞(flash memory cell)的一基本的弱點。為了克服此實體限制,係已發展出一動態邏輯到實體位址映射(dynamic logical to physical address mapping)。因為快閃記憶體之不同種類的應用,動態邏輯到實體位址映射(與映射表一樣短)係以不同方式設計。對一低階的應用(low performance required application)而言,映射表設計目標係在於加強記憶體胞的使用壽命。在此應用中,映射表的演算法係會更複雜。另一方面,對一高階應用(high performance application)而言,設計目標係在於降低映射表管理的消耗時間(overhead)。當然,儲存系統之 RAM(Random Access Memory,隨機存取記憶體)大小(尺寸)係可不同。
請參閱圖1,係表示本發明快閃儲存系統的方塊圖。微處理器3係為一般用途操作單元(general purpose operating unit)。ROM(Read Only Memory,唯讀記憶體)4係儲存韌體碼(FW code)以控制整個儲存系統1。RAM(Random Access Memory,隨機存取記憶體)5係使用當作資料隨機存取記憶體(data RAM)以管理韌體變數(FW variable)、映射表(mapping table)、資料雜湊(data hash)等等。快閃控制器6係與快閃記憶體7溝通。錯誤更正碼引擎(ECC engine)8係設計來加強快閃資料的資料完整性(data integrity)。主機控制器(host controller)2係用於處理不同主機界面協定(host interface protocols)。
請參閱圖2,係表示本發明具有二級映射之一動態邏輯到實體位址映射表的示意圖。此二級映射表的目的係在於降低映射表管理的消耗時間(overhead)。而在第一級映射表(level-one mapping table中有數個進入點(entries)。每個進入點係包含兩種資訊(information),其一是此進入點的驗證(validation),即有效標誌(Valid Mark);而另一則是第二級映射表(level-two mapping table)的位置(亦即,第一級的映射表為動態建立的映射表,不會存到快閃記憶體,只會在每次電源啟動的時候進行動態重建並放在揮發性記憶體上;第二級的映射表係因為太過龐大,所以被分割為很多張映射表,需要查詢或修改的時候,才會從非揮發性記憶體裡面讀出來;第二級的映射表的physical location係表示非揮發性記 憶體裡面的位置)。第一級映射表係總是位在RAM上,且絕不會儲存到快閃記憶體。而第一級映射表係在一儲存系統於電源啟動成一初始階段(initialization stage)進行動態重建(dynamic rebuilt)。第二級映射表係亦包含數個進入點。每個進入點係包含兩種資訊,其一為此進入點的驗證;另一為在快閃記憶體中之資料的實體位置(physical location)。在第二級映射表中的每個進入點之間的此實體位置的資訊是不同的。第二級映射表所映射到的資料大小(尺寸)係可為一位元組(byte)、一字組(word)、一雙字組(double word)、一磁區(sector)、一實體資料頁(physical page)、多個實體資料頁、一實體區塊(physical block)、或者是多個實體區塊。資料與第二級映射表兩者的實體位址係為動態決定的(dynamically determined)。當需要參考時,第二級映射表係載入到RAM,且假若其內容已更新的話,則第二級映射表係週期性地存入到快閃記憶體。
雖然本發明以相關的較佳實施例進行解釋,但是這並不構成對本發明的限制。應說明的是,本領域的技術人員根據本發明的思想能夠構造出很多其他類似實施例,這些均在本發明的保護範圍之中。
[本發明]
1‧‧‧儲存系統
2‧‧‧主機控制器
3‧‧‧微處理器
4‧‧‧唯讀記憶體
5‧‧‧隨機存取記憶體
6‧‧‧快閃控制器
7‧‧‧快閃記憶體
8‧‧‧錯誤更正碼引擎
圖1 係表示本發明快閃儲存系統的方塊圖。
圖2 係表示本發明具有二級映射之一動態邏輯到實體位址映射表的示意圖。
1‧‧‧儲存系統
2‧‧‧主機控制器
3‧‧‧微處理器
4‧‧‧唯讀記憶體
5‧‧‧隨機存取記憶體
6‧‧‧快閃控制器
7‧‧‧快閃記憶體
8‧‧‧錯誤更正碼引擎

Claims (6)

  1. 一種快閃儲存系統的記憶位址轉譯方法,該快閃儲存系統具有一RAM及一快閃記憶體,該RAM包括一第一級映射表,該快閃記憶體包括一第二級映射表,該方法之步驟包括:將具有二資訊的至少一第一進入點儲存到該第一級映射表,該映射表係已儲存在該RAM中,該第一進入點的其中之一資訊係為該第一進入點的一驗證,而該第一進入點的另一資訊係為該第二級映射表的一位置;以及將具有二資訊的至少一第二進入點儲存到該第二級映射表,該第二級映射表係儲存在該快閃記憶體中,該第二進入點的其中之一資訊係為該第二進入點的一驗證,且該第二進入點的另一資訊係為在該快閃記憶體中之資料的一實體位置。
  2. 依據申請專利範圍第1項所述的方法,其中,該第一級映射表係在該儲存系統於電源啟動成一初始階段進行動態重建。
  3. 依據申請專利範圍第1項所述的方法,其中,在該第二級映射表中之每一第二進入點之間的該實體位置的資訊是不同的。
  4. 依據申請專利範圍第1項所述的方法,其中,該第二級映射表映射到之資料的大小,係為一位元組、一字組、一雙字組、一磁區、一實體資料頁、多個實體資料頁、一實體區塊、或者是多個實體區塊。
  5. 依據申請專利範圍第1項所述的方法,其中,該資料與該第二級映射表兩者的實體位址係動態地決定。
  6. 依據申請專利範圍第1項所述的方法,其中,當需要參考時, 該第二級映射表係載入到該RAM,且假若該第二級映射表的一內容已更新的話,則該第二級映射表係週期性地儲存到該快閃記憶體。
TW101147060A 2012-08-18 2012-12-13 快閃儲存系統的記憶位址轉譯方法 TWI463319B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/589,124 US20140052899A1 (en) 2012-08-18 2012-08-18 Memory address translation method for flash storage system

Publications (2)

Publication Number Publication Date
TW201409235A TW201409235A (zh) 2014-03-01
TWI463319B true TWI463319B (zh) 2014-12-01

Family

ID=50100905

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101147060A TWI463319B (zh) 2012-08-18 2012-12-13 快閃儲存系統的記憶位址轉譯方法

Country Status (2)

Country Link
US (1) US20140052899A1 (zh)
TW (1) TWI463319B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9218294B1 (en) * 2012-06-06 2015-12-22 Sk Hynix Memory Solutions Inc. Multi-level logical block address (LBA) mapping table for solid state
US9653184B2 (en) 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
US20160019160A1 (en) * 2014-07-17 2016-01-21 Sandisk Enterprise Ip Llc Methods and Systems for Scalable and Distributed Address Mapping Using Non-Volatile Memory Modules
US20160048328A1 (en) * 2014-08-12 2016-02-18 Kabushiki Kaisha Toshiba Memory system
US9940287B2 (en) * 2015-03-27 2018-04-10 Intel Corporation Pooled memory address translation
US9921969B2 (en) 2015-07-14 2018-03-20 Western Digital Technologies, Inc. Generation of random address mapping in non-volatile memories using local and global interleaving
US10445232B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Determining control states for address mapping in non-volatile memories
US10452560B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10445251B2 (en) 2015-07-14 2019-10-15 Western Digital Technologies, Inc. Wear leveling in non-volatile memories
US10452533B2 (en) 2015-07-14 2019-10-22 Western Digital Technologies, Inc. Access network for address mapping in non-volatile memories
US10235287B2 (en) 2016-06-29 2019-03-19 Western Digital Technologies, Inc. Efficient management of paged translation maps in memory and flash
US11216361B2 (en) 2016-06-29 2022-01-04 Western Digital Technologies, Inc. Translation lookup and garbage collection optimizations on storage system with paged translation table
US10353813B2 (en) 2016-06-29 2019-07-16 Western Digital Technologies, Inc. Checkpoint based technique for bootstrapping forward map under constrained memory for flash devices
US10229048B2 (en) 2016-06-29 2019-03-12 Western Digital Technologies, Inc. Unified paging scheme for dense and sparse translation tables on flash storage systems
US10175896B2 (en) 2016-06-29 2019-01-08 Western Digital Technologies, Inc. Incremental snapshot based technique on paged translation systems
TWI650639B (zh) * 2016-11-07 2019-02-11 群聯電子股份有限公司 記憶體管理方法、記憶體控制電路單元與記憶體儲存裝置
US10540100B2 (en) 2018-04-10 2020-01-21 Western Digital Technologies, Inc. Mapping-based wear leveling for non-volatile memory
US10811112B2 (en) 2018-09-29 2020-10-20 Western Digital Technologies, Inc. Wear leveling with wear-based attack detection for non-volatile memory
FR3106422B1 (fr) * 2020-01-20 2021-12-10 Continental Automotive Passerelle de communication de trames de données pour véhicule automobile

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US20080301256A1 (en) * 2007-05-30 2008-12-04 Mcwilliams Thomas M System including a fine-grained memory and a less-fine-grained memory
US7849357B2 (en) * 2006-06-30 2010-12-07 Kabushiki Kaisha Toshiba Semiconductor memory device and control method thereof
TW201122812A (en) * 2009-09-03 2011-07-01 248 Solidstate Inc Page based management of flash storage
US20120198129A1 (en) * 2011-02-02 2012-08-02 Van Aken Stephen P At least semi-autonomous modules in a memory system and methods

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7124170B1 (en) * 1999-08-20 2006-10-17 Intertrust Technologies Corp. Secure processing unit systems and methods
US7100089B1 (en) * 2002-09-06 2006-08-29 3Pardata, Inc. Determining differences between snapshots
US7269708B2 (en) * 2004-04-20 2007-09-11 Rambus Inc. Memory controller for non-homogenous memory system
US7711923B2 (en) * 2006-06-23 2010-05-04 Microsoft Corporation Persistent flash memory mapping table
US8250350B2 (en) * 2008-08-26 2012-08-21 Texas Digital And Multimedia Systems Computer system with non-volatile write-protected memory based operating system and secure system architecture
US8566511B2 (en) * 2009-07-23 2013-10-22 Stec, Inc. Solid-state storage device with multi-level addressing
US9535849B2 (en) * 2009-07-24 2017-01-03 Advanced Micro Devices, Inc. IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect
DE112011102487T5 (de) * 2010-07-27 2013-05-29 International Business Machines Corporation Zuordnen von logischen zu physischen Adressen in Halbleiterspeichereinheiten aufweisenden Speichersystemen
US8938624B2 (en) * 2010-09-15 2015-01-20 Lsi Corporation Encryption key destruction for secure data erasure
US9104327B2 (en) * 2011-05-17 2015-08-11 Sandisk Technologies Inc. Fast translation indicator to reduce secondary address table checks in a memory device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070204128A1 (en) * 2003-09-10 2007-08-30 Super Talent Electronics Inc. Two-Level RAM Lookup Table for Block and Page Allocation and Wear-Leveling in Limited-Write Flash-Memories
US7849357B2 (en) * 2006-06-30 2010-12-07 Kabushiki Kaisha Toshiba Semiconductor memory device and control method thereof
US20080301256A1 (en) * 2007-05-30 2008-12-04 Mcwilliams Thomas M System including a fine-grained memory and a less-fine-grained memory
TW201122812A (en) * 2009-09-03 2011-07-01 248 Solidstate Inc Page based management of flash storage
US20120198129A1 (en) * 2011-02-02 2012-08-02 Van Aken Stephen P At least semi-autonomous modules in a memory system and methods

Also Published As

Publication number Publication date
TW201409235A (zh) 2014-03-01
US20140052899A1 (en) 2014-02-20

Similar Documents

Publication Publication Date Title
TWI463319B (zh) 快閃儲存系統的記憶位址轉譯方法
US11119940B2 (en) Sequential-write-based partitions in a logical-to-physical table cache
TWI457756B (zh) 記憶體系統及其操作方法
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US8417914B2 (en) Memory address translation
US9229876B2 (en) Method and system for dynamic compression of address tables in a memory
US7941692B2 (en) NAND power fail recovery
US8478796B2 (en) Uncorrectable error handling schemes for non-volatile memories
US8762622B2 (en) Enhanced MLC solid state device
AU2012205187B2 (en) Non-volatile temporary data handling
US10740251B2 (en) Hybrid drive translation layer
US20140006898A1 (en) Flash memory with random partition
US20140122774A1 (en) Method for Managing Data of Solid State Storage with Data Attributes
TWI625626B (zh) 管理記憶體裝置中記憶體單元的實體資訊的方法及系統
KR102216116B1 (ko) 메모리 모듈 및 그것의 동작 방법
CN111125447A (zh) 一种元数据访问方法、装置、设备及可读存储介质
US20120317365A1 (en) System and method to buffer data
JP2013137770A (ja) Lbaビットマップの使用
JP6140093B2 (ja) キャッシュメモリ、誤り訂正回路およびプロセッサシステム
US20220058138A1 (en) Facilitating sequential reads in memory sub-systems
US20180150390A1 (en) Data Storage Device and Operating Method Therefor
WO2020164064A1 (en) Partial caching of media address mapping data
WO2014047159A1 (en) Write cache sorting
US11144448B2 (en) Memory sub-system for managing flash translation layers table updates in response to unmap commands
CN105005510B (zh) 应用于固态硬盘阻变存储器缓存的纠错保护架构及方法