[go: up one dir, main page]

TWI464581B - 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法 - Google Patents

非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法 Download PDF

Info

Publication number
TWI464581B
TWI464581B TW100125275A TW100125275A TWI464581B TW I464581 B TWI464581 B TW I464581B TW 100125275 A TW100125275 A TW 100125275A TW 100125275 A TW100125275 A TW 100125275A TW I464581 B TWI464581 B TW I464581B
Authority
TW
Taiwan
Prior art keywords
volatile memory
data
processor
controller
program
Prior art date
Application number
TW100125275A
Other languages
English (en)
Other versions
TW201235835A (en
Inventor
Nai Chi Doong
Original Assignee
Etron Technology 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 Etron Technology Inc filed Critical Etron Technology Inc
Publication of TW201235835A publication Critical patent/TW201235835A/zh
Application granted granted Critical
Publication of TWI464581B publication Critical patent/TWI464581B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/7211Wear leveling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Description

非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法
本發明揭露一種非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法,尤指一種使原本以非揮發性記憶體模組處理之各種程序得以更有效率的被執行之非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法。
一般非揮發性記憶體模組在連接於一主機端,以使該主機端得以存取該非揮發性記憶體模組內儲存之資料時,該非揮發性記憶體模組內包含之一控制器會用來處理該非揮發性記憶體模組所需之硬體程序與韌體程序。該些硬體程序包含有一錯誤校正碼(Error correction code)產生程序及一資料攪和(Data scrambling)程序,而該些韌體程序包含有一資料修復程序、一由邏輯位址至實體位址之位址轉換程序、及一耗損平均(Wear leveling)程序。
然而,隨著非揮發性記憶體模組在功能上需求的增加,上述由非揮發性記憶體模組本身所包含之控制器所負責執行之程序除了會越趨進步與複雜外,控制器所需之資源需求也會隨之增加,使得控制器在處理上述程序的能力與資源上也變得更捉襟見肘,反而會影響到非揮發性記憶體模組在維持其本身儲存資料之正確與否的能力。
本發明揭露一種非揮發性記憶體處理系統。該非揮發性記憶體處理系統包含一非揮發性記憶體模組及一處理器。該非揮發性記憶體模組包含一記憶體及一控制器。該控制器耦接於該記憶體,用以傳遞該記憶體之資料。該處理器經由一傳輸介面耦接於該控制器,用來對經由該控制器存取該記憶體之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、一由邏輯位址至實體位址之位址轉換程序、及一耗損平均程序中至少其中之一程序。
本發明揭露一種非揮發性記憶體模組。該非揮發性記憶體模組包含一記憶體及一控制器。該控制器耦接於該記憶體,用以傳遞該記憶體之資料。一外部之處理器經由一傳輸介面耦接於該控制器,且該外部之處理器用來對該記憶體經由該控制器傳來之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、一由邏輯位址至實體位址之位址轉換程序、及一耗損平均程序中至少其中之一程序。
本發明揭露一種非揮發性記憶體管理方法。該方法包含一外部之處理器對一非揮發性記憶體模組包含之一記憶體經由該非揮發性記憶體模組包含之一控制器傳來之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、由邏輯位址至實體位址之一位址轉換程序、及一耗損平均程序中至少其中之一程序。
本發明揭露一種非揮發性記憶體管理方法。該方法包含一外部之處理器對一非揮發性記憶體模組包含之一記憶體經由該非揮發性記憶體模組包含之一控制器傳來之資料進行一錯誤校正碼產生程序。
藉由本發明揭露之非揮發性記憶體模組、非揮發性記憶體處理系統、與非揮發性記憶體管理方法,上述一般非揮發性記憶體模組無法應付更趨複雜之程序的問題將獲得解決。
請參閱第1圖,其為本發明揭露之一非揮發性記憶體處理系統300的示意圖。如第1圖所示,非揮發性記憶體處理系統300包含一非揮發性記憶體模組200與一主機端100。主機端100內包含一處理器110,而非揮發性記憶體模組200包含一控制器210與一記憶體220。
在非揮發性記憶體模組200中,控制器210耦接於記憶體220,並用來傳遞記憶體220之資料或是處理操作記憶體220之指令,這些操作包含上述存取或寫入資料等資料存取操作。
處理器110經由一傳輸介面耦接於控制器210,使得控制器210可根據處理器110所使用之一作業系統,將記憶體220中儲存之至少一個裝置驅動程式載入於處理器110,其中該傳輸介面可為一USB介面、一SATA介面或其他傳輸介面。如此一來,處理器110可安裝該至少一個裝置驅動程式,並以模擬一光碟唯讀記憶體裝置(CD-ROM device)的方式來執行被載入之該至少一個裝置驅動程式。該至少一個裝置驅動程式即為用來進行錯誤校正碼產生程序、資料攪和程序、資料修復程序、位址轉換程序、及耗損平均程序中至少其中之一程序的媒介。
該錯誤校正碼產生程序是用來在該主機端寫入資料於記憶體220時,將錯誤校正碼加入於寫入之資料中,以使得日後讀取被寫入於記憶體220之資料時,可以藉由被加入之錯誤校正碼來確認被讀取之資料中是否存在有錯誤,並藉由將被加入之錯誤校正碼濾除來還原原本被寫入之資料。
該資料攪和程序是用來將寫入於記憶體220之資料進行一定程度的分散,以使得資料更易於儲存。
該資料修復程序包含將上述之錯誤校正碼濾除於原本被寫入於記憶體220之資料以還原該些資料之程序,並包含當記憶體220碰到斷電等易於影響資料正確性的突發狀況時,用來修復遇到該些突發狀況時正在被存取之資料的程序。
該位址轉換程序是用來在由該主機端寫入資料至記憶體220時,將該主機端對該筆資料設定之邏輯位址轉換為記憶體220中之實體位址,以使得日後欲存取記憶體220時,可依循該邏輯位置與該實體位址之間的對應關係,順利的存取到被寫入於記憶體220之該筆資料。
該耗損平均程序主要是用來避免記憶體220之存取過分集中於某些實體位址,以致於該些實體位址所在之記憶體較其他位於較少被存取之實體位址的記憶體提早毀損,並使記憶體220整體的生命週期(Life Cycle)縮短的現象。該耗損平均程序主要是藉由在上述之邏輯位址轉換為實體位址的過程中,平均分擔記憶體220中各實體位址被邏輯位址參照到的頻率來實現避免特定實體位址之記憶體提早毀損的效果。
藉由處理器110分擔原本由控制器210處理的至少一部分程序,控制器210可運用本身的資源更佳的處理這些變的進步與複雜的程序,而解決了先前技術中這些程序之進步給非揮發性記憶體模組帶來的問題。
在本發明之一實施例中,如第1圖所示,非揮發性記憶體模組200可另包含一殼體201,記憶體220及控制器210安裝於殼體201內;且非揮發性記憶體處理系統300可另包含一外殼101,並使處理器110安裝於外殼101內。
在本發明之一實施例中,記憶體220在儲存單一資料時,可先行將該資料拷貝出複數個複製資料,並將該複數個複製資料儲存於記憶體220之複數個最低有效位元頁面(Least significant bit page,LSB page);在稍後存取該筆資料時,處理器110可先行對該複數個資料進行一錯誤校正碼修復程序,並根據該複數個複製資料中不同數值之出現次數來決定該複數個複製資料之正確性。該實施例的做法除了可藉由最低有效位元頁面較佳的資料保持(Data Retention)特性來確保該些複製資料在稍後被存取時的資料正確性以外,在當該複數個資料保存於記憶體220的過程中發生非預期之資料錯誤時,藉由檢查該複數個複製資料中不同數值的出現次數,可決定該複數個複製資料之正確性。舉例來說,當記憶體220所儲存之資料的數值為二進位0時,所複製之複數個資料的數值應亦為二進位0;當非預期之資料錯誤發生並改寫一部份複製資料的值為二進位1時,只要比對該複數個資料的值,就可以發現數值為二進位0的複製資料遠多於數值為二進位1的複製資料,並可據此判斷原始資料之值應為二進位0,因而確保該原始資料之值被讀取時的正確性。
請參閱第2圖,其為根據本發明之一實施例與第1圖之敘述所揭露之非揮發性記憶體管理方法之流程圖。該非揮發性記憶體管理方法主要包含步驟如下:步驟302:處理器110對非揮發性記憶體模組200包含之記憶體220經由非揮發性記憶體模組200包含之控制器210傳來之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、由邏輯位址至實體位址之一位址轉換程序、及一耗損平均程序中至少其中之一程序。
請注意,將第2圖所示步驟加上本發明提及之各種限制條件所衍生之實施例,仍應視為本發明之實施例。
本發明揭露一種非揮發性記憶體處理系統、應用該非揮發性記憶體處理系統之一非揮發性記憶體模組、以及該非揮發性記憶體處理系統所應用之一非揮發性記憶體管理方法。藉由本發明所揭露之技術特徵,非揮發性記憶體模組所包含之控制器可運用本身的資源更佳的處理變的進步與複雜的錯誤校正碼產生程序、資料攪和程序、資料修復程序、位址轉換程序、或耗損平均程序,而解決了先前技術中這些程序之進步給非揮發性記憶體模組帶來的問題。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100...主機端
101...外殼
110...處理器
200...非揮發性記憶體模組
201...殼體
210...控制器
220...記憶體
300...非揮發性記憶體處理系統
302...步驟
第1圖為本發明揭露之一非揮發性記憶體處理系統的示意圖。
第2圖為根據本發明之一實施例與第1圖之敘述所揭露之非揮發性記憶體管理方法之流程圖。
100...主機端
101...外殼
110...處理器
200...非揮發性記憶體模組
201...殼體
210...控制器
220...記憶體
300...非揮發性記憶體處理系統

Claims (17)

  1. 一種非揮發性記憶體處理系統,包含:一非揮發性記憶體模組,包含:一記憶體;及一控制器,耦接於該記憶體,用以傳遞該記憶體之資料;及一處理器,位於該非揮發性記憶體模組外,且經由一傳輸介面耦接於該控制器,其中該控制器根據該處理器所使用的作業系統,將該記憶體中所儲存的至少一裝置驅動程式載入於該處理器,以及該處理器是利用該至少一裝置驅動程式對經由該控制器存取該記憶體之資料進行一錯誤校正碼(Error correction code)產生程序、一資料攪和(Data scrambling)程序、一資料修復程序、一由邏輯位址至實體位址之位址轉換程序及一耗損平均(Wear leveling)程序的一組合。
  2. 如請求項1所述之非揮發性記憶體處理系統,其中該控制器另用來處理操作該記憶體之指令。
  3. 如請求項1所述之非揮發性記憶體處理系統,其中該記憶體儲存一資料之複數個複製資料於該記憶體之複數個最低有效位元頁面(Least significant bit page,LSB page)。
  4. 如請求項3所述之非揮發性記憶體處理系統,其中該控制器將該複數個複製資料載入於該處理器;及其中該處理器對該複數個複製資料進行一錯誤校正碼修復程序,並根據該複數個複製資料中不同數值之出現次數來決定該複數個複製資料之正確性。
  5. 如請求項4所述之非揮發性記憶體處理系統,其中該處理器將該複數個複製資料中出現次數最多的數值當作該複數個複製資料之正確數值。
  6. 一種非揮發性記憶體模組,包含:一記憶體;及一控制器,耦接於該記憶體,用以傳遞該記憶體之資料;其中在該非揮發性記憶體模組外的一處理器經由一傳輸介面耦接於該控制器,其中該控制器根據該處理器所使用的作業系統,將該記憶體中所儲存的至少一裝置驅動程式載入於該處理器,且該處理器是利用該至少一裝置驅動程式對該記憶體經由該控制器傳來之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、一由邏輯位址至實體位址之位址轉換程序及一耗損平均程序的一組合。
  7. 如請求項6所述之非揮發性記憶體模組,其中該控制器另用來處理操作該記憶體之指令。
  8. 如請求項6所述之非揮發性記憶體模組,其中該記憶體儲存一資料之複數個複製資料於該記憶體之複數個最低有效位元頁面。
  9. 如請求項8所述之非揮發性記憶體模組,其中該控制器係將該複數個複製資料載入於該處理器;及其中該處理器係對該複數個複製資料進行一錯誤校正碼修正程序,並根據該複數個複製資料中不同數值之出現次數來決定該複數個複製資料之正確性。
  10. 如請求項9所述之非揮發性記憶體模組,其中該處理器係將該複數個複製資料中出現次數最多的數值當作該複數個複製資料之正確數值。
  11. 一種非揮發性記憶體管理方法,其中一應用於該非揮發性記憶體管理方法的非揮發性記憶體模組包含一記憶體和一控制器,該非揮發性記憶體管理方法包含:透過一傳輸介面耦接在該非揮發性記憶體模組外的一處理器於該控制器;該控制器根據該處理器所使用的一作業系統,將該記憶體內所儲存之至少一個裝置驅動程式載入於該處理器;及該處理器利用該至少一個裝置驅動程式對該記憶體經由該控制 器傳來之資料進行一錯誤校正碼產生程序、一資料攪和程序、一資料修復程序、由邏輯位址至實體位址之一位址轉換程序及一耗損平均程序的一組合。
  12. 如請求項11所述之非揮發性記憶體管理方法,另包含該控制器處理操作該記憶體之指令。
  13. 如請求項11所述之非揮發性記憶體管理方法,另包含:該記憶體儲存一資料之複數個複製資料於該記憶體之複數個最低有效位元頁面。
  14. 如請求項13所述之非揮發性記憶體管理方法,另包含:該控制器將該複數個複製資料載入於該處理器;該處理器對該複數個複製資料進行一錯誤校正碼修復程序;及該處理器根據該複數個複製資料中不同數值之出現次數來決定該複數個複製資料之正確性。
  15. 如請求項14所述之非揮發性記憶體管理方法,其中該處理器根據該複數個複製資料中不同數值之出現次數來決定該複數個複製資料之正確性包含:該處理器將該複數個複製資料中出現次數最多的數值當作該複數個複製資料之正確數值。
  16. 一種非揮發性記憶體管理方法,其中一應用於該非揮發性記憶體管理方法的非揮發性記憶體模組包含一記憶體和一控制器,該非揮發性記憶體管理方法包含:透過一傳輸介面耦接在該非揮發性記憶體模組外的一處理器於該控制器;該控制器根據該處理器所使用的一作業系統,將該記憶體內所儲存之至少一個裝置驅動程式載入於該處理器;及該處理器利用該至少一個裝置驅動程式對該記憶體經由該控制器傳來之資料進行一錯誤校正碼產生程序。
  17. 如請求項16所述之非揮發性記憶體管理方法,另包含:該處理器對該資料進行一資料攪和程序、一資料修復程序、由邏輯位址至實體位址之一位址轉換程序及一耗損平均程序的一組合。
TW100125275A 2011-02-21 2011-07-18 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法 TWI464581B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US201161445004P 2011-02-21 2011-02-21

Publications (2)

Publication Number Publication Date
TW201235835A TW201235835A (en) 2012-09-01
TWI464581B true TWI464581B (zh) 2014-12-11

Family

ID=46220822

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100125275A TWI464581B (zh) 2011-02-21 2011-07-18 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法

Country Status (3)

Country Link
US (1) US8726128B2 (zh)
CN (1) CN102508730B (zh)
TW (1) TWI464581B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102466412B1 (ko) 2016-01-14 2022-11-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
CN112908401B (zh) * 2019-12-04 2024-08-23 芯测科技股份有限公司 内存修复电路、内存模块及内存修复方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169750A1 (en) * 2008-12-30 2010-07-01 Yen Hsiang Chew Firmware verification using system memory error check logic
TW201039351A (en) * 2009-04-24 2010-11-01 A Data Technology Co Ltd An electronic memory device and data storage method thereof
TW201104439A (en) * 2009-06-10 2011-02-01 Numonyx Bv Suspension of memory operations for reduced write latency in memory arrays

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1274925B (it) * 1994-09-21 1997-07-29 Texas Instruments Italia Spa Architettura di memoria per dischi a stato solido
JPH09330273A (ja) * 1996-06-10 1997-12-22 Mitsubishi Electric Corp メモリカードおよびメモリカードにおける誤り訂正方法
CN1288658C (zh) * 2002-04-25 2006-12-06 三洋电机株式会社 数据处理装置
JP2004272070A (ja) * 2003-03-11 2004-09-30 Toshiba Corp 情報処理装置および表示装置の輝度調整方法
CN100353337C (zh) * 2005-06-01 2007-12-05 旺玖科技股份有限公司 闪存储存系统
US7975109B2 (en) * 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
CN101833483A (zh) * 2009-03-12 2010-09-15 纬创资通股份有限公司 嵌入式电子装置及数据储存方法
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100169750A1 (en) * 2008-12-30 2010-07-01 Yen Hsiang Chew Firmware verification using system memory error check logic
TW201039351A (en) * 2009-04-24 2010-11-01 A Data Technology Co Ltd An electronic memory device and data storage method thereof
TW201104439A (en) * 2009-06-10 2011-02-01 Numonyx Bv Suspension of memory operations for reduced write latency in memory arrays

Also Published As

Publication number Publication date
CN102508730B (zh) 2014-01-08
US20120216097A1 (en) 2012-08-23
US8726128B2 (en) 2014-05-13
TW201235835A (en) 2012-09-01
CN102508730A (zh) 2012-06-20

Similar Documents

Publication Publication Date Title
US9122498B2 (en) Firmware code loading method, memory controller and memory storage apparatus
US8230161B2 (en) Data backup method for a flash memory and controller and storage system using the same
CN101848000B (zh) 解码方法、编码方法及启动控制系统
TWI548990B (zh) 記憶體儲存裝置及其還原方法與記憶體控制器
TWI489466B (zh) 記憶體抹除方法、記憶體控制器與記憶體儲存裝置
US11869618B2 (en) Memory sub-system including an in-package sequencer to perform error correction and memory testing operations
US9721669B2 (en) Data protection method, memory control circuit unit and memory storage apparatus
CN112214346B (zh) 用于存储器子系统中的数据修改期间的错误检测的方法及装置
US20150039948A1 (en) Data storage device and operating method thereof
US20120297115A1 (en) Program code loading and accessing method, memory controller, and memory storage apparatus
US9213597B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
TWI464581B (zh) 非揮發性記憶體模組、非揮發性記憶體處理系統、與相關非揮發性記憶體管理方法
TW201835936A (zh) 資料保護方法、記憶體儲存裝置及記憶體控制電路單元
CN106484308B (zh) 数据保护方法、存储器控制电路单元及存储器储存装置
US11609855B2 (en) Bit masking valid sectors for write-back coalescing
US9009389B2 (en) Memory management table processing method, memory controller, and memory storage apparatus
KR102798097B1 (ko) 펌웨어 이미지의 부트 업 활성화를 위한 시스템들 및 방법
US12423090B2 (en) Memory system firmware update using virtual slots
TW201530310A (zh) 儲存裝置、電子裝置,以及燒錄記憶體的方法
US10162747B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
CN112086121A (zh) 存储器近接干扰管理
CN120020737A (zh) 响应于主机硬件恢复信号的存储器子系统恢复
JP2013037520A (ja) プログラムダウンロードの自動化システム