TW201734812A - 紀錄資料區塊的使用時間的方法及其裝置 - Google Patents

紀錄資料區塊的使用時間的方法及其裝置 Download PDF

Info

Publication number
TW201734812A
TW201734812A TW105110338A TW105110338A TW201734812A TW 201734812 A TW201734812 A TW 201734812A TW 105110338 A TW105110338 A TW 105110338A TW 105110338 A TW105110338 A TW 105110338A TW 201734812 A TW201734812 A TW 201734812A
Authority
TW
Taiwan
Prior art keywords
time
data
data block
write
difference
Prior art date
Application number
TW105110338A
Other languages
English (en)
Other versions
TWI576699B (zh
Inventor
周柏昇
江宗堯
Original Assignee
慧榮科技股份有限公司
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 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Priority to TW105110338A priority Critical patent/TWI576699B/zh
Priority to CN201610464257.1A priority patent/CN107291374B/zh
Priority to US15/219,227 priority patent/US10824366B2/en
Application granted granted Critical
Publication of TWI576699B publication Critical patent/TWI576699B/zh
Publication of TW201734812A publication Critical patent/TW201734812A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/0653Monitoring storage devices or systems
    • 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/0658Controller construction arrangements
    • 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
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

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)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種紀錄資料區塊的使用時間之方法,其步驟包括:使記憶體控制器接收並寫入一資料至資料區塊;使記憶體控制器將資料所對應的寫入時間與時間差寫入至資料區塊;其中,時間差為寫入時間與資料區塊之初始寫入時間的差值。

Description

紀錄資料區塊的使用時間的方法及其裝置
本發明是有關於一種紀錄資料區塊的使用時間的方法,尤其是有關於一種避免非揮發性記憶體的區塊長時間保持開啟導致儲存資料毀壞的紀錄資料區塊的使用時間的方法以及其裝置。
非揮發性記憶體為一種電子式記憶裝置,其具有不需額外電力維持資訊、快速資料讀取以及抗震等能力,因此被廣泛的應用於記憶卡、固態硬碟以及可攜式多媒體裝置等。非揮發性記憶體包括多個用以儲存資料的資料區塊(Block),資料區塊可依據其使用情況而稱之為使用中的資料區塊或者空白的資料區塊。空白的資料區塊係指資料區塊並未儲存任何資料,當其被寫入第一筆資料後,空白的資料區塊變更為使用中的資料區塊,並被用以寫入其他的資料直到使用中的資料區塊無法再寫入任何資料為止。此時,另一個空白的資料區塊將變更成使用中的資料區塊以接收並寫入資料。使用中的資料區通常處於字元線開啟(word line open)狀態;當使用中的資料區塊已無儲存空間以寫入資料,其切換至字元線閉合(word line close)狀態。其中,當資料區塊處於字元線開啟狀態的時間過長時,由於非揮發性記憶體本 身電性以及持續讀寫非揮發性記憶體對儲存電荷所造成的影響,會引發資料保存(data retention)的問題,即其儲存的資料易發生毀損的情況;相反的,資料區塊處於字元線閉合狀態時,其儲存的資料較不易引發資料保存的問題。針對資料區塊長期處於字元線開啟狀態所引發資料保存的問題,目前並無有效的解決方案。
因此,本發明的目的在於提出一種紀錄資料區塊的使用時間的方法以及其裝置,以避免資料區塊開啟時間過長而導致資料發生損壞的情況。
本發明提出一種紀錄資料區塊的使用時間的方法,資料區塊可為一使用中的資料區塊或一空白的資料區塊,其步驟包括:使記憶體控制器接收並寫入資料至資料區塊;以及使記憶體控制器將資料所對應的寫入時間與時間差寫入至資料區塊;其中,時間差為寫入時間與資料區塊之一初始寫入時間的差值。
本發明更提出一種管理資料區塊的方法,其步驟包括:依據紀錄資料區塊的使用時間的方法以產生資料區塊之一使用時間;當使用時間大於一門檻值,使一記憶體控制器將資料區塊儲存的複數資料寫入至一空白的資料區塊;其中,使用時間為一當前時間與該資料區塊之一初始寫入時間的差值。
本發明更提出一種資料儲存裝置,其包括有非揮發性記憶體以及記憶體控制器,非揮發性記憶體包括至少一資料區塊,資料區塊可為一使用中的資料區塊或一空白的資料區塊,記憶體控制器與非揮發性記憶體電性耦接,記憶體 控制器是用以寫入資料至資料區塊,記憶體控制器並將資料所對應的一寫入時間與一時間差寫入至資料區塊,其中,時間差為寫入時間與資料區塊之一初始寫入時間的差值。
本發明更提出一種記憶體控制器,其包括:第一通訊介面,用以與主機通訊以接收來自主機之寫入指令;第二通訊介面,用以與非揮發性記憶體通訊以存取非揮發性記憶體,非揮發性記憶體包括至少一資料區塊,資料區塊可為一使用中的資料區塊或一空白的資料區塊;以及一微處理器,與第一通訊介面以及第二通訊介面電性耦接,微處理器是用以寫入資料至資料區塊,微處理器並將資料所對應的寫入時間與時間差寫入至資料區塊,其中,時間差為寫入時間與資料區塊之初始寫入時間的差值。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例並配合所附圖式做詳細說明如下。
10‧‧‧資料儲存裝置
20‧‧‧主機
113‧‧‧微處理器
111‧‧‧第一通訊介面
112‧‧‧第二通訊介面
11‧‧‧記憶體控制器
12‧‧‧非揮發性記憶體
121‧‧‧資料區塊
122a、122b、122c、122n‧‧‧資料頁
123a、123b、123c、123n‧‧‧資料區
124a、124b、124c、124n‧‧‧備用區
PTa、PTb、PTc‧‧‧寫入時間
TIa、TIb、TIc‧‧‧時間差
201,203,205,206,207,209,211,213,301,303,305,307,309,311‧‧‧步驟
圖1A為本發明之資料儲存裝置實施例。
圖1B為本發明之非揮發性記憶體實施例。
圖2A為本發明之紀錄資料區塊的使用時間方法實施例一。
圖2B為本發明之紀錄資料區塊的使用時間方法實施例二。
圖3為應用本發明之紀錄資料區塊的使用時間方法來管 理資料區塊方法實施例。
請參考圖1A,圖1A為資料儲存裝置實施例,資料儲存裝置10是用以與一外部主機20通訊,並根據主機20所發送之寫入指令將所接收的資料儲存於資料儲存裝置10,所述主機20可以為桌上型電腦或平板電腦等電子裝置。資料儲存裝置10包括記憶體控制器11以及非揮發性記憶體12,非揮發性記憶體12例如為快閃記憶體(Flash Memory)12,記憶體控制器11與主機20以及非揮發性記憶體12電性耦接。記憶體控制器11更包括了第一通訊介面111、第二通訊介面112以及微處理器113,微處理器113與第一通訊介面111、第二通訊介面112電性耦接,記憶體控制器11可藉由第一通訊介面111與主機20通訊以接收上述的寫入指令以及資料,記憶體控制器11可藉由第二通訊介面112與非揮發性記憶體12通訊並存取非揮發性記憶體12。其中,上述之第一通訊介面111例如為SATA介面(Serial Advanced Technology Attachment)、通用序列匯流排(Universal Serial Bus,USB)、快捷外設互聯標準(PCI Express,Peripheral Component Interconnect Express)、非揮發性記憶體儲存裝置(NVMe,Non-Volatile Memory Express)、通用快閃記憶體儲存裝置(UFS,Universal Flash Storage)、多媒體記憶卡(eMMC,embededMultiMedia Card)以及SDIO介面(Secure Digital Input/Output),上述之第二通訊介面112例如為開放式NAND快閃記憶體介面(ONFI,Open NAND Flash Interface)或Toggle。
接著請參考圖1B,快閃記憶體12包含多個資料區塊(Block)121,每一資料區塊121包括多個資料頁(Page)122a-122n,a與n皆為自然數,例如a是1,b是2,c 是3而n是256。字元線是用以控制資料頁122a-122n的存取,以單層式儲存(SLC,Single-Level Cell)類型的快閃記憶體為例,每一個字元線可控制一個資料頁的存取;多層式儲存(MLC,Multi-Level Cell)及三層式儲存(TLC,Triple-Level Cell)類型的快閃記憶體,其每一字元線可分別控制二個及三個資料頁的存取,以此類推。以下將以SLC類型的快閃記憶體為例進行說明,但不以此為限。
由於技術的演進,每一資料頁122a-122n可儲存超過一筆資料,例如:每一資料頁122a-122n可儲存八筆512字元(Byte)長度的資料。為了簡化本發明之說明,每一資料頁122a-122n假設只能儲存一筆資料,但不以此為限。另外,資料頁122a-122n包括用以儲存資料的資料區123a-123n外,更包括用以儲存額外資料的備用區(spare area)124a-124n,本發明即利用備用區124a-124n以分別儲存資料頁122a-122n所對應的寫入時間(Program Time)以及時間差(Time Interval),所述時間差為在單一資料區塊中,第一筆資料的寫入時間與當前資料的寫入時間的差值。以圖1B為例,第一筆資料被寫入至資料頁122a,其對應的寫入時間PTa為00:00,第三筆資料被寫入至資料頁122c,其對應的寫入時間PTc為05:00,因此第三筆資料的時間差TIc為5(單位為小時),而第二筆資料的寫入時間PTb為03:00,第二筆資料的時間差TIb為3。可想而知地,計錄時間差所使用的位元數愈多,其能記錄的時間差愈準確,例如:單位為分鐘。
另外,資料之間具有連續性,資料區塊121乃依序接收並寫入資料至資料頁122a-122n中。例如,連續的三筆資料可分別稱之為先前(prior)資料、當前(current)資料以及後續(later)資料,分別寫入至先前資料頁、當前資料頁以及後續資料頁,例如:先前資料頁、當前資料頁以及後 續資料頁分別為資料頁122a、資料頁122b以及資料頁122c。此時,資料頁122a儲存先前寫入時間及先前時間差;資料頁122b儲存當前寫入時間及當前時間差;資料頁122c儲存後續寫入時間及後續時間差。為了簡化上述說明,如無特別需要,資料、寫入時間及時間差指的是當前資料、當前寫入時間及當前時間差。另外,假設資料區塊121中僅有三個資料頁有儲存資料時,第三個資料頁又可稱為最後(latest)資料頁。當下一筆(即第四筆)資料寫入第四個資料頁後,第四個資料頁將替代第三筆資料而被稱為最後一個資料頁,以此類推。
接著將配合圖1A、圖1B以及圖2A說明紀錄資料區塊的使用時間。首先,圖2A為紀錄資料區塊的使用時間實施例一,當資料儲存裝置10接收到主機20所傳送的寫入指令以及欲寫入資料頁的資料時,圖1A的微處理器113會執行資料寫入程序(步驟201),將資料寫入資料區塊121。微處理器113會判斷是否將資料寫入至空白的資料區塊(步驟203),當步驟203判斷為是,也就是資料將寫入於空白的資料區塊,因此微處理器113將資料寫入於空白的資料區塊121中的資料頁122a的資料區123a,並將對應資料頁122a或當前資料的時間差TIa重置為0(步驟205),再以當前時間來更新寫入時間PTa(步驟209),最後,微處理器113再將上述的時間差TIa以及寫入時間PTa儲存於資料頁122a的備用區124a(步驟211)。如圖1B所示,資料頁122a的備用區124a寫入了時間差TIa(值為0)以及寫入時間PTa(值為00:00),接著,微處理器113完成資料寫入程序(步驟213)。由於資料頁122a為空白的資料區塊121的第一筆儲存的資料,因此資料頁122a所對應的寫入時間PTa也就是此資料區塊121的初始寫入時間。由於資料區塊121已寫入資料,因而變更為使用中的資料區塊,後續的資料將繼續寫入資料區塊121,直到 其所有資料頁皆已寫入資料。
而若微處理器113於步驟203判斷資料應該寫入至使用中的資料區塊121,微處理器113進行步驟207,將資料寫入資料區塊121,例如,將資料寫入圖1B中資料頁122b的位置。此時,被寫入的資料可稱之為當前資料,當前資料頁為資料頁122b,先前資料頁為資料頁122a。假設當前時間為03:00,微處理器113計算當前時間與先前資料的寫入時間PTa的差值以產生時間間距(time gap)(值為3-0=3),並將時間間距與先前資料頁122a的時間差TIa相加以取得當前資料的時間差(值為3+0=3),即資料頁122b的時間差TIb(步驟207),最後執行步驟209,以當前時間來更新寫入時間PTb,因此,寫入時間PTb被更新為03:00,最後,將資料頁122b的寫入時間PTb以及時間差TIb寫入於資料頁122b的備用區124b。
當另一筆資料寫入資料頁122c時,重覆上述步驟207、209、211以及213,微處理器113即可得到資料頁122c的寫入時間PTc為05:00,時間差TIc為5,並將寫入時間PTc以及時間差TIc寫入資料頁122c的備用區(spare area)124c。根據以上所述,本發明之資料儲存裝置10可紀錄在單一資料區塊中每一筆資料頁寫入資料的寫入時間(或每一筆資料所對應的寫入時間),以及每一筆資料頁的寫入時間與初始寫入時間的時間差(或每一筆資料所對應的時間差),而時間差之值可視為資料區塊121的使用時間。
而在寫入資料的過程中,資料儲存裝置10可能發生斷電後重新給電的事件,在此情況下,上述之寫入時間以及時間差會因為斷電而消失或被重置為0,導致重新給電後無法正確計算資料區塊121的使用時間,因此本發明更提出了一種紀錄資料區塊的使用時間方法實施例二。請參考圖 2B,圖2B與圖2A的差別在於,當資料儲存裝置10發生斷電後重新啟動的事件時,於步驟203,若微處理器113判斷當前資料欲寫入使用中的資料區塊121中,微處理器113執行步驟206,即微處理器113判斷最後一個資料頁的位置,並讀取最後一個資料頁的寫入時間以及時間差(步驟206)。假設最後一個資料頁是資料頁122b,微處理器113讀取資料頁122b的寫入時間PTb以及時間差TIb,接著根據當前時間與寫入時間PTb的差值、以及時間差TIb來得到資料頁122c的時間差TIc(步驟207),並以當前時間來更新寫入時間PTc(步驟209),最後,再將寫入時間PTc以及時間差TIc寫入資料頁122c中的備用區124c(步驟211),完成並結束資料寫入程序(步驟213)。
由於微處理器113可輕易取得先前資料頁的相關資訊,因此,當寫入當前資料時,其時間差的計算乃參考先前資料頁的相關資訊。在實施例三中,資料頁122a僅記錄資料頁122a的寫入時間PTa(即初始寫入時間)。微處理器113計算當前時間與資料頁122a的寫入時間PTa的差值即可得到使用時間。此實施例省略了寫入時間以及時間差之計算以及節省儲存寫入時間以及時間差所需的空間。
請參考圖3,圖3為管理資料區塊的方法,其應用上述寫入時間、時間差以及當前時間以計算出資料區塊121的使用時間,並依據使用時間來判斷是否需要將使用中的資料區塊121的資料搬移或寫入至另一空白的資料區塊。首先微處理器113開始執行管理資料區塊的程序(步驟301),管理資料區塊的程序可以在資料儲存裝置10閒置、進入節電模式或執行資料讀取程序等情況時進行。微處理器113讀取資料資料頁122a-122n所儲存的資料以判斷最後一個資料頁的位置,並取得最後一個資料頁的寫入時間以及時間差(步驟 303),以圖1B為例,資料頁122c為最後一個資料頁。接著計算當前時間與寫入時間PTc的差值以得到時間間距(time gap)。例如當前時間為23:00,而資料頁122c的寫入時間PTc為05:00,則時間間距為18。時間間距與時間差TIc相加以即可得到使用時間(步驟305),也就是18加上資料頁122c的時間差TIc,也就是18+5=23,換句話說,當前時間距離此資料區塊121初始寫入時間為23小時,也就是此資料區塊121處於字元線開啟狀態下已經23小時了。接著,微處理器113判斷使用時間是否大於預設的門檻值(步驟307),此門檻值較佳為資料區塊處於字元線開啟狀態下仍可正常運作的時間長度有關,例如為240(單位為小時),其值更可以隨著抹寫次數(erase count)或讀取次數(read count)之增加而予以調整,例如,抹寫次數之值小於100或讀取次數小於10000時,門檻值為240;抹寫次數之大於100或讀取次數大於10000時,門檻值為120,但不以此為限。當判斷為是時,也就是使用時間大於門檻值,代表此資料區塊121處於字元線開啟狀態下過久,容易發生資料毀損的情況,因此微處理器113進行步驟309,將資料區塊121的所有資料寫入至另一個空白的資料區塊,以避免當前資料區塊121的資料損壞,並清除資料區塊121的所有內容,之後,資料區塊121即變更為一個空白的資料區塊並等待資料的寫入。若步驟307判斷為否,也就是資料區塊121的使用仍在正常或合理的範圍,因此,直接結束管理資料區塊的程序(步驟311)。
綜以上所述,由於使用中的資料區塊121除了儲存資料至資料頁外,更儲存每筆資料頁的寫入時間以及其與初始寫入時間的時間差的差值,因此資料儲存裝置的微處理器113可藉由初始寫入時間與當前時間的時間差來計算使用中的資料區塊121的使用時間,並判斷使用中的資料區塊121 的使用時間是否過長,是否有需要將使用中的資料區塊121的資料寫入至另一空白的資料區塊,並將使用中的資料區塊121所儲存的資料清除,以避免使用中的資料區塊121處於字元線開啟狀態下的時間過長而導致資料損壞的情況。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明之精神和範圍內,當可做些許之更動與潤飾,因此本發明之保護範圍當視後付之申請專利範圍所界定者為準。
201、203、205、207、209、211、213‧‧‧步驟

Claims (22)

  1. 一種紀錄資料區塊的使用時間的方法,該資料區塊可為一使用中的資料區塊或一空白的資料區塊,其步驟包括:使一記憶體控制器接收並寫入一資料至該資料區塊;以及使該記憶體控制器將該資料所對應的一寫入時間與一時間差寫入至該資料區塊;其中,該時間差為該寫入時間與該資料區塊之一初始寫入時間的差值。
  2. 如請求項1所述之紀錄資料區塊的使用時間的方法,其中,使該記憶體控制器接收並寫入該資料至該資料區塊的步驟更包括:該記憶體控制器判斷該資料是否寫入該空白的資料區塊;以及當判斷為是,該記憶體控制器重置該時間差,以該當前時間來更新該寫入時間,且該當前時間為該初始寫入時間。
  3. 如請求項1所述之紀錄資料區塊的使用時間的方法,其中,該使記憶體控制器接收並寫入該資料至該資料區塊的步驟更包括:該記憶體控制器判斷該資料是否寫入該空白的資料區塊;以及當判斷為否,該記憶體控制器依據該當前時間與一先前寫入時間的差值而得到一時間間距,根據該時 間間距與一先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  4. 如請求項3所述之紀錄資料區塊的使用時間的方法,使該記憶體控制器接收並寫入該資料至該資料區塊的步驟更包括:該記憶體控制器判斷該資料是否寫入該空白的資料區塊;以及當判斷為否,該記憶體控制器把該資料區塊的一最後一筆資料頁當作一先前資料頁,該記憶體控制器讀取該先前資料頁之該先前寫入時間及該先前時間差,該記憶體控制器依據該當前時間與該先前寫入時間的差值而得到該時間間距,根據該時間間距與該先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  5. 一種管理資料區塊的方法,其步驟包括:依據一紀錄資料區塊的使用時間的方法以產生該資料區塊之一使用時間;以及當該使用時間大於一門檻值,使一記憶體控制器將該資料區塊儲存的複數資料寫入至一空白的資料區塊;其中,該使用時間為一當前時間與該資料區塊之一初始寫入時間的差值。
  6. 如請求項5所述之管理資料區塊的方法,其中,依據該紀錄資料區塊的使用時間的方法以產生該資料區塊之該使用時間的步驟更包括: 取得該資料區塊的一最後一個資料頁的一寫入時間以及一時間差;以及計算該當前時間與該寫入時間的差值以得到一時間間距,並依據該時間間距與該時間差以取得該使用時間。
  7. 一種紀錄資料區塊的使用時間的方法,該資料區塊為一空白的資料區塊,其步驟包括:寫入一資料至該資料區塊之一第一資料頁;寫入該資料的一寫入時間至該第一資料頁;計算一當前時間與該寫入時間之差值以取得一使用時間;以及當該使用時間大於一門檻值,將該資料區塊儲存的該資料寫入至另一空白的資料區塊。
  8. 一種紀錄資料區塊的使用時間的方法,其步驟包括:取得該資料區塊的一第一資料頁的一寫入時間;計算一當前時間與該寫入時間之差值以取得一使用時間;以及當該使用時間大於一門檻值,將該資料區塊儲存的該資料寫入至一空白的資料區塊。
  9. 一種資料儲存裝置,其包括有:一非揮發性記憶體,包括至少一資料區塊,該資料區塊可為一使用中的資料區塊或一空白的資料區塊;以及一記憶體控制器,與該非揮發性記憶體電性耦接,該記憶體控制器是用以寫入資料至該資料區塊,該記憶體控制器並將該資料所對應的一寫入時間與 一時間差寫入至該資料區塊,其中,該時間差為該寫入時間與該資料區塊之一初始寫入時間的差值。
  10. 如請求項9所述之資料儲存裝置,其中,當一使用時間大於一門檻值,該記憶體控制器將該資料區塊儲存的該些資料儲存至該空白的資料區塊,其中,該使用時間為一當前時間與該初始寫入時間的差值。
  11. 如請求項9所述之資料儲存裝置,其中,當該些資料欲寫入該空白的資料區塊時,該記憶體控制器重置該時間差,以該當前時間來更新該寫入時間,且此該當前時間為該初始寫入時間。
  12. 如請求項9所述之資料儲存裝置,其中,當該些資料欲寫入該使用中的該資料區塊,該記憶體控制器依據該當前時間與一先前寫入時間的差值而得到一時間間距,根據該時間間距與一先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  13. 如請求項12所述之資料儲存裝置,其中,當該些資料欲寫入該使用中的資料區塊時,該記憶體控制器把該資料區塊的一最後一筆資料頁當做一先前資料頁,該記憶體控制器讀取該先前資料頁的一先前寫入時間及一先前時間差,該記憶體控制器依據該當前時間與該先前寫入時間的差值而得到一時間間距,根據該時間間距與該先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  14. 如請求項9所述之資料儲存裝置,其中,該非揮發性記憶體包括多個該資料區塊,每一該資料區塊包括多個字元線,每一該字元線包括至少一資料頁,每一該字元線包括一備用區,該字元線用以儲存該些資料,該備用區用以儲存對應該資料的該寫入時間以及該時間差。
  15. 如請求項10所述之資料儲存裝置,其中,該記憶體控制器讀取該資料區塊中一最後一個資料頁的該寫入時間以及該時間差,該記憶體控制器根據該當前時間以及該寫入時間得到一時間間距,並根據該時間間距與該時間差得到該使用時間。
  16. 一種記憶體控制器,其包括:一第一通訊介面,用以與一主機通訊以接收來自該主機之一寫入指令;一第二通訊介面,用以與一非揮發性記憶體通訊以存取該非揮發性記憶體,該非揮發性記憶體包括至少一資料區塊,該資料區塊可為一使用中的資料區塊或一空白的資料區塊;以及一微處理器,與該第一通訊介面以及該第二通訊介面電性耦接,該微處理器是用以寫入資料至該資料區塊,該微處理器並將該資料所對應的一寫入時間與一時間差寫入至該資料區塊,其中,該時間差為該寫入時間與該資料區塊之一初始寫入時間的差值。
  17. 如請求項16所述之記憶體控制器,其中,當一使用時間大於一門檻值,該微處理器將該資料區塊儲存的 該些資料儲存至該空白的資料區塊,其中,該使用時間為一當前時間與該初始寫入時間的差值。
  18. 如請求項16所述之記憶體控制器,其中,當該些資料欲寫入該空白的資料區塊時,該微處理器重置該時間差,以該當前時間來更新該寫入時間,且此該當前時間為該初始寫入時間。
  19. 如請求項16所述之記憶體控制器,其中,當該些資料欲寫入該使用中的該資料區,該微處理器依據該當前時間與一先前寫入時間的差值而得到一時間間距,根據該時間間距與一先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  20. 如請求項19所述之記憶體控制器,其中,當該些資料欲寫入該使用中的資料區塊時,該微處理器把該資料區塊的一最後一筆資料頁當做一先前資料頁,該微處理器讀取該先前資料頁的一先前寫入時間及一先前時間差,該微處理器依據該當前時間與該先前寫入時間的差值而得到一時間間距,根據該時間間距與該先前時間差來更新該時間差,並以該當前時間來更新該寫入時間。
  21. 如請求項16所述之記憶體控制器,其中,每一該資料區塊包括多個資料頁,每一字元線包括至少一資料頁,每一該字元線包括一備用區,該字元線用以儲存該些資料,該備用區用以儲存對應該資料的該寫入時間以及該時間差。
  22. 如請求項17所述之記憶體控制器,其中,該微處理器讀取該資料區塊中一最後一個資料頁的該寫入時間以及該時間差,該微處理器根據該當前時間以及該寫入時間得到一時間間距,並根據該時間間距與該時間差得到該使用時間。
TW105110338A 2016-03-31 2016-03-31 紀錄資料區塊的使用時間的方法及其裝置 TWI576699B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW105110338A TWI576699B (zh) 2016-03-31 2016-03-31 紀錄資料區塊的使用時間的方法及其裝置
CN201610464257.1A CN107291374B (zh) 2016-03-31 2016-06-23 纪录数据区块的使用时间的方法及其装置
US15/219,227 US10824366B2 (en) 2016-03-31 2016-07-25 Method for recording duration of use of data block, method for managing data block using the same and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105110338A TWI576699B (zh) 2016-03-31 2016-03-31 紀錄資料區塊的使用時間的方法及其裝置

Publications (2)

Publication Number Publication Date
TWI576699B TWI576699B (zh) 2017-04-01
TW201734812A true TW201734812A (zh) 2017-10-01

Family

ID=59240769

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105110338A TWI576699B (zh) 2016-03-31 2016-03-31 紀錄資料區塊的使用時間的方法及其裝置

Country Status (3)

Country Link
US (1) US10824366B2 (zh)
CN (1) CN107291374B (zh)
TW (1) TWI576699B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255057B (zh) * 2018-09-18 2021-05-07 百度在线网络技术(北京)有限公司 区块生成方法、装置、设备及存储介质
TWI696074B (zh) 2019-01-24 2020-06-11 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
TWI768336B (zh) * 2019-01-24 2022-06-21 慧榮科技股份有限公司 管理快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置
CN112988040B (zh) * 2019-12-18 2023-02-24 深圳大普微电子科技有限公司 一种数据存储方法、装置、设备及可读存储介质
TWI733568B (zh) * 2020-08-27 2021-07-11 慧榮科技股份有限公司 記憶裝置、快閃記憶體控制器及其存取方法
CN116679891A (zh) * 2023-08-04 2023-09-01 青岛鼎信通讯股份有限公司 一种电能表事件总累计发生时间存储方法、装置及介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1543649A (zh) * 2001-02-02 2004-11-03 ���µ�����ҵ��ʽ���� 记录装置和方法、回放装置和方法、记录介质、程序以及计算机可读记录介质
JP4489455B2 (ja) * 2004-02-16 2010-06-23 株式会社日立製作所 ディスク制御装置及びディスク制御装置の制御方法
KR100622349B1 (ko) * 2004-08-04 2006-09-14 삼성전자주식회사 불량 블록 관리 기능을 가지는 플레시 메모리 장치 및플레시 메모리 장치의 불량 블록 관리 방법.
JP4537909B2 (ja) * 2005-08-08 2010-09-08 株式会社東芝 情報記録装置
US7516267B2 (en) * 2005-11-03 2009-04-07 Intel Corporation Recovering from a non-volatile memory failure
US7861122B2 (en) * 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
CN101303893B (zh) * 2007-05-09 2010-09-15 晶豪科技股份有限公司 非易失半导体存储装置及其编程方法
US7765426B2 (en) * 2007-06-07 2010-07-27 Micron Technology, Inc. Emerging bad block detection
TW200919448A (en) * 2007-10-17 2009-05-01 Silicon Motion Inc Storage device and method of accessing a status thereof
JP4838878B2 (ja) * 2009-12-04 2011-12-14 富士通株式会社 データ管理プログラム、データ管理装置、およびデータ管理方法
US8423517B2 (en) * 2010-02-09 2013-04-16 Google Inc. System and method for determining the age of objects in the presence of unreliable clocks
TWI471862B (zh) * 2011-08-19 2015-02-01 Silicon Motion Inc 快閃記憶體控制器
JP5536255B2 (ja) * 2012-06-04 2014-07-02 慧榮科技股▲分▼有限公司 データアクセス時間を短縮したフラッシュメモリ装置及びフラッシュメモリのデータアクセス方法
CN102880554B (zh) * 2012-10-09 2013-12-25 邹粤林 提高闪存芯片存储效率的方法、闪存存储系统及其控制器
CN103870399B (zh) * 2012-12-18 2017-03-01 群联电子股份有限公司 存储器管理方法、存储器控制器与存储器储存装置
CN103927272A (zh) * 2013-01-16 2014-07-16 建兴电子科技股份有限公司 固态储存装置及其数据保存方法
US9195396B2 (en) * 2013-03-14 2015-11-24 SanDisk Technologies, Inc. Estimating access frequency statistics for storage device
CN103927128B (zh) * 2013-07-11 2017-03-01 威盛电子股份有限公司 数据储存装置以及快闪存储器控制方法
US9448896B2 (en) * 2013-08-07 2016-09-20 Seagate Technology Llc Torn write mitigation
US9262316B2 (en) * 2013-12-09 2016-02-16 International Business Machines Corporation Recording dwell time in a non-volatile memory system
CN105242871B (zh) * 2014-06-06 2018-06-05 华为技术有限公司 一种数据写入方法及装置
US20160005749A1 (en) * 2014-07-01 2016-01-07 Qualcomm Incorporated Series ferroelectric negative capacitor for multiple time programmable (mtp) devices
JP6430039B2 (ja) * 2016-01-22 2018-11-28 株式会社日立製作所 記憶装置および記憶装置の制御方法
US10496289B2 (en) * 2016-06-16 2019-12-03 Nuvoton Technology Corporation System and methods for increasing useful lifetime of a flash memory device
US9953709B2 (en) * 2016-09-06 2018-04-24 Toshiba Memory Corporation Semiconductor memory device and memory system

Also Published As

Publication number Publication date
CN107291374A (zh) 2017-10-24
TWI576699B (zh) 2017-04-01
CN107291374B (zh) 2021-01-08
US10824366B2 (en) 2020-11-03
US20170286012A1 (en) 2017-10-05

Similar Documents

Publication Publication Date Title
TWI576699B (zh) 紀錄資料區塊的使用時間的方法及其裝置
TWI604455B (zh) 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
TWI467376B (zh) 資料保護方法、記憶體控制器與記憶體儲存裝置
CN111078149B (zh) 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI575374B (zh) 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
TWI483111B (zh) 資料儲存方法、記憶體控制器與記憶體儲存裝置
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9177656B2 (en) Data writing method, memory storage device and memory controlling circuit unit
US9268688B2 (en) Data management method, memory controller and memory storage apparatus
TWI498911B (zh) 記憶體管理方法、記憶體控制器與記憶體儲存裝置
TWI633428B (zh) 資料儲存裝置與記憶體裝置之資料處理方法
TW201931366A (zh) 資料儲存裝置以及非揮發式記憶體操作方法
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
CN103514103B (zh) 数据保护方法、存储器控制器与存储器储存装置
US9383929B2 (en) Data storing method and memory controller and memory storage device using the same
TWI540428B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
CN116204126A (zh) 固态硬盘的数据读写方法及装置、固态硬盘、存储介质
CN113885808B (zh) 映射信息记录方法以及存储器控制电路单元与存储装置
US9760456B2 (en) Memory management method, memory storage device and memory control circuit unit
US10210939B1 (en) Solid state storage device and data management method
TWI673646B (zh) 資料儲存裝置與資料儲存方法
JP2021118011A (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法
TWI501082B (zh) 電腦系統及其操作方法