TWI627532B - 記憶體裝置的資料管理方法與系統 - Google Patents
記憶體裝置的資料管理方法與系統 Download PDFInfo
- Publication number
- TWI627532B TWI627532B TW106124877A TW106124877A TWI627532B TW I627532 B TWI627532 B TW I627532B TW 106124877 A TW106124877 A TW 106124877A TW 106124877 A TW106124877 A TW 106124877A TW I627532 B TWI627532 B TW I627532B
- Authority
- TW
- Taiwan
- Prior art keywords
- block
- time
- remaining
- save time
- memory device
- Prior art date
Links
Abstract
記憶體裝置的資料管理方法包括:計數一系統時間;當第一次存取或第一次更新或第一次程式化該記憶體裝置的一第一區塊的至少一部份時,或者每當該記憶體裝置的該第一區塊整體被存取或更新或程式化時,指定該區塊的一區塊編號指向一最大剩餘保存時間;當一第一降級觸發時間達到且該區塊編號目前指向至該最大剩餘保存時間,將該區塊編號指向一中間剩餘保存時間;當一第二降級觸發時間達到且該區塊編號目前指向至該中間剩餘保存時間,將該區塊編號指向一最小剩餘保存時間;以及一旦該區塊編號指向該最小剩餘保存時間,觸發該記憶體裝置以更新該區塊,以及將該區塊編號指向該最大剩餘保存時間。
Description
本發明是有關於一種記憶體裝置的資料管理方法與資料管理系統。
隨著半導體科技的發展,各種半導體記憶體不斷推陳出新。舉例來說,快閃記憶體(flash memory)、磁性記憶體(magnetic core memory)或相變化記憶體(phase change memories, PCM)均廣泛使用於電子裝置中。
相變化記憶體是一種非揮發性隨機存取記憶體。相變化記憶體的材料可以轉換成一結晶狀態(crystalline state)與一非結晶狀態(amorphous state),以儲存數位資料。當在讀取時,藉由判斷記憶體晶胞的阻值,來判斷該記憶體晶胞所儲存的數位資料是邏輯1或邏輯0。
然而,記憶體晶胞的阻值可能隨著時間經過而產生漂移(例如,由高阻值狀態漂移至低阻值態),如此一來,將誤判所讀取的資料。為避免資料讀取的誤判,目前的可行做法之一乃是經過一段時間後,對記憶體晶胞(或者是記憶體頁(memory page))進行更新(refresh),以解決阻值漂移。
本案提供一種記憶體裝置的資料管理方法與資料管理系統,以管理記憶體裝置的保存時間與更新時間。
根據本案一實例,提出一種記憶體裝置的資料管理系統,該記憶體裝置包括複數個區塊,該資料管理系統包括:一處理器,具有一系統計時器用以計數一系統時間,該處理器耦接至該記憶體裝置;以及一保存時間記憶體單元,耦接至該處理器,該保存時間記憶體單元包括一剩餘保存時間儲存區、一區塊編號儲存區與一保存模式參數儲存區,該保存模式參數儲存區包括一第一保存模式,該剩餘保存時間儲存區包括相關於該第一保存模式的一第一最大剩餘保存時間、一第一最小剩餘保時間與一第一中間剩餘保存時間,該區塊編號儲存區至少儲存該記憶體裝置的該些區塊中的一第一區塊的一第一區塊編號。當第一次存取或第一次更新或第一次程式化該記憶體裝置的該第一區塊的至少一部份時,或者每當該記憶體裝置的該第一區塊整體被存取或更新或程式化時,該處理器指定該第一區塊的該第一區塊編號指向至該第一保存模式的該第一最大剩餘保存時間。當一第一降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一最大剩餘保存時間,該處理器將該第一區塊的該第一區塊編號從該第一最大剩餘保存時間指向該第一中間剩餘保存時間。當一第二降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一中間剩餘保存時間,該處理器將該第一區塊的該第一區塊編號從該第一中間剩餘保存時間指向該第一最小剩餘保存時間。一旦該第一區塊的該第一區塊編號指向該第一最小剩餘保存時間,該處理器觸發該記憶體裝置以更新該第一區塊,以及該處理器將該第一區塊的該第一區塊編號從該第一最小剩餘保存時間指向該第一最大剩餘保存時間。
根據本案另一實例,提出一種記憶體裝置的資料管理方法,包括:計數一系統時間;當第一次存取或第一次更新或第一次程式化該記憶體裝置的一第一區塊的至少一部份時,或者每當該記憶體裝置的該第一區塊整體被存取或更新或程式化時,指定該第一區塊的一第一區塊編號指向至一第一保存模式的一第一最大剩餘保存時間,該第一保存模式包括該第一最大剩餘保存時間、一第一最小剩餘保存時間與一第一中間剩餘保存時間;當該第一最大剩餘保存時間的一第一降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一最大剩餘保存時間,將該第一區塊的該第一區塊編號從該第一最大剩餘保存時間指向該第一中間剩餘保存時間;當該第一中間剩餘保存時間的一第二降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一中間剩餘保存時間,將該第一區塊的該第一區塊編號從該第一中間剩餘保存時間指向該第一最小剩餘保存時間;以及一旦該第一區塊的該第一區塊編號指向該第一最小剩餘保存時間,觸發該記憶體裝置以更新該第一區塊,以及將該第一區塊的該第一區塊編號從該第一最小剩餘保存時間指向該第一最大剩餘保存時間。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下:
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
現請參考第1圖,其顯示根據本案一實施例的資料管理系統100的示意圖。資料管理系統100耦接至記憶體裝置150,用以管理記憶體裝置150的資料保存。亦即,資料管理系統100決定記憶體裝置150的複數個記憶體頁的剩餘保存時間與更新時間。
資料管理系統100包括:處理器110與保存時間記憶體單元120。處理器110更包括系統計時器(system time counter)115。處理器110耦接至記憶體裝置150與保存時間記憶體單元120。處理器110管理的記憶體裝置150的剩餘保存時間與更新時間,處理器110的操作細節將於底下說明之。系統計時器115用以計數系統時間。
現請參考第2圖,其顯示根據本案一實施例之保存時間記憶體單元120之示意圖。如第2圖所示,保存時間記憶體單元120包括:保存模式參數儲存區122、剩餘保存時間儲存區124與區塊編號儲存區126。
保存模式參數儲存區122用以儲存至少一保存模式參數。保存模式參數用以指示所對應的區塊的保存模式。在此,「區塊」是指記憶體裝置150的儲存區塊,例如是記憶體頁(memory page)。記憶體裝置150包括複數個區塊。在此實施例中,為方便解說,以記憶體裝置150的所有區塊對應至同一保存模式為例做說明,但當初本案並不受限於此。當第一次存取或第一次更新或第一次程式化記憶體裝置150的一區塊的一部份或全部時,處理器110預測該區塊的一預設保存時間並指定該區塊的一保存模式。在本案實施例中,當第一次存取或第一次更新或第一次程式化記憶體裝置150的該區塊的一部份或全部時,可能是最壞情況(worst case)。因為,這意味著該區塊內的第一次被存取或第一次被更新或第一次被程式化的相對應記憶體晶胞可能最快達到保存時間。在此,「第一次存取或第一次更新或第一次程式化」是指於記憶體裝置150製造完成後,記憶體裝置150的該區塊第一次被存取或第一次被更新或第一次被程式化。
在本案另一可能實施例中,每當記憶體裝置150的一區塊整體被存取或被更新或被程式化時,處理器110預測該區塊的預設保存時間並指定該區塊的保存模式。由於對整個區塊進行存取或更新或程式化,可以對該區塊的所有記憶體晶胞指定同樣的保存時間。
當保存模式為10000秒時,代表,所對應的區塊的最大剩餘保存時間為10000秒。也就是說,在本案實施例中,於該區塊被更新或存取之後,於保存時間到期之前,本案實施例對該區塊進行更新。相似地,如果保存模式為10
7秒,於該區塊被更新或存取之後,保存時間(10
7秒)到期之前,本案實施例對該區塊進行更新。
剩餘保存時間儲存區124用以指示各區塊所對應的目前剩餘保存時間。以保存模式為10000秒為例做說明,在本案實施例中,將10000秒分成10個群組,第1個群組代表10000秒,第2個群組代表9000秒,其餘可依此類推,當然本案不受限於此。在本案其他可能實施例中,可依照其他方式來將最大剩餘保存時間分割成複數個群組,例如,依照指數或對數的方式來將最大剩餘保存時間分割成複數個群組。
在本案實施例中,依照該些區塊的個別剩餘保存時間進行分群,具有相同剩餘保存時間的該些區塊屬於同一群組。
例如,在某個時間點,區塊P9的剩餘保存時間為10000秒,處理器110將區塊編號PP9(相關於區塊P9)歸為第1個群組;區塊P8的剩餘保存時間為9000秒,處理器110將區塊PP8(相關於區塊P8)歸為第2個群組,區塊P0的剩餘保存時間為1000秒,處理器110將區塊PP0(相關於區塊P0)歸為第10個群組,其餘依此類推。10000秒亦可稱為最大剩餘保存時間,1000秒亦可稱為最小剩餘保存時間,而2000秒-9000秒亦可稱為中間剩餘保存時間。
區塊編號區126用以儲存屬於記憶體裝置150的所有區塊的所有區塊編號。當更新或存取或程式化一區塊時,處理器110將該區塊的一區塊編號指向最大剩餘保存時間;而當降級條件觸發時,處理器110將符合降級條件的一區塊編號降級,以該區塊編號指向下一剩餘保存時間。在本案實施例中,各群組有各自的降級觸發條件。
現請參照第3A-3H圖,其顯示根據本案一實施例的保存時間管理示意圖。為方便解釋起見,在此從系統計時器115的系統時間(system time,ST)等於0秒(ST=0)開始做說明。請注意,在本案圖式中,出現於區塊編號儲存區126內的參考符號PP0-PP6乃是代表指向該些區塊P0-P6(未顯示出,該些區塊P0-P6位於記憶體裝置150內)的個別區塊編號,在實作上,區塊編號可以例如但不受限於,以「指標(pointer)」來實現,該指標指向記憶體裝置150內的相對應區塊。
如第3A圖所示,在系統時間等於0秒(ST=0)時,對區塊P0進行存取或更新,處理器110將區塊P0的剩餘保存時間設為10000秒,故而,處理器110將區塊P0的區塊編號PP0歸為第1個群組,而且,區塊P0的區塊編號PP0指向10000秒(這代表,區塊P0的剩餘保存時間為10000秒)。亦即,在本案實施例中,在系統時間為10000秒之前,第1個群組內的區塊編號所對應的區塊進行更新,以避免誤判該區塊的資料。
在本案實施例中,處理器110根據對該區塊的程式化或存取或更新的條件(如脈衝電壓)或者該記憶體裝置150的晶片溫度等,處理器110可以預測出該區塊的保存時間。例如,處理器110預測該區塊的一最差晶胞的保存時間,以當成該區塊的保存時間。至於如何預測保存時間,在本案實施例中則不加以特別限定之。
亦即,在本案實施例中,每個區塊對應至一保存模式。本案實施例可以有一個或多個保存模式。為方便解釋起見,在此以所有區塊對應至相同保存模式為例做說明,但當知本案並不受限於此。
如第3B圖所示,在系統時間等於1000秒(ST=1000)時,處理器110得知要觸發第1個群組的降級(亦即,第1個群組的降級條件已觸發),所以,處理器110將第1個群組的區塊編號PP0降級至第2個群組。在此,「降級」是指,處理器110將屬於同一個群組的區塊編號從指向目前群組改變成指向下一個群組。至於處理器110觸發「降級」的原則為,處理器110事先已知道每個群組所分別對應的剩餘保留時間,故而,當系統時間到達觸發時間時,處理器110即可進行觸發。以第1個群組為例,第1個群組的剩餘保存時間為10000秒,而第2個群組的剩餘保存時間為9000秒,所以,第1個群組的「群組剩餘保存時間間隔」為10000-9000=1000秒。當系統時間為1000秒、2000秒、… 、9000秒、10000秒、11000秒、12000秒…時,處理器110對第1個群組進行降級(亦即,每隔1000秒降級一次)。同樣地,以第2個群組為例,第2個群組的剩餘保存時間為9000秒,而第3個群組的剩餘保存時間為8000秒,所以,當系統時間為2000秒、3000秒、… 、9000秒、10000秒、11000秒、12000秒…時,處理器110對第2個群組進行降級。其餘可依此類推。也就是說,在本案實施例中,當降級條件觸發時,處理器110將該區塊的區塊編號從目前群組降級至下一群組,這代表,處理器110減少區塊的剩餘保存時間。
雖然在上例中,每個群組的「群組剩餘保存時間間隔」是相同的,但在本案其他可能實施例中,每個群組的「群組剩餘保存時間間隔」可以不同,此亦在本案精神範圍內。例如,在本案其他可能實施例中,以5個群組為例,第1個群組的剩餘保存時間為10000,第2個群組的剩餘保存時間為9000,第3個群組的剩餘保存時間為7500,第4個群組的剩餘保存時間為5500,第5個群組的剩餘保存時間為1000。在此情況下,根據為兩個群組的剩餘保存時間間隔的差值做為降級的依據。以上例來說,第1個群組的剩餘保存時間為10000,第2個群組的剩餘保存時間為9000,剩餘保存時間間隔的差值為1000秒,所以處理器110每隔1000秒對第1個群組降級。同樣地,處理器110每隔1500秒對第2個群組降級。其餘可依此類推。處理器110每隔2000秒對第3個群組降級。處理器110每隔4500秒對第4個群組降級。
如第3C圖所示,在系統時間等於1500秒(ST=1500)時,對區塊P1進行存取或更新,處理器110將區塊P1的剩餘保存時間設為10000秒,處理器110將區塊P1的區塊編號PP1歸為第1個群組(剩餘保存時間為10000秒),而區塊P0的區塊編號PP0仍為第2個群組(剩餘保存時間為9000秒)。
如第3D圖所示,在系統時間等於2000秒(ST=2000)時,處理器110觸發第1群組與第2群組的降級,所以,區塊P0的區塊編號PP0(原屬於第2個群組)降級為第3個群組(剩餘保存時間為8000秒),而區塊P1的區塊編號PP1(原屬於第1個群組)降級為第2個群組(剩餘保存時間設為9000秒)。
之後,當系統時間等於3000秒(ST=3000)時(未示出),處理器110觸發降級,所以,區塊P0的區塊編號PP0(原屬於第3個群組)降級為第4個群組(剩餘保存時間為7000秒),而區塊P1的區塊編號PP1(原屬於第2個群組)降級為第3個群組(剩餘保存時間為8000秒)。依此類推。當系統時間等於7000秒(ST=7000)時(未示出),處理器110觸發降級,所以,區塊P0的區塊編號PP0(原屬於第7個群組)降級為第8個群組(剩餘保存時間為3000秒),而區塊P1的區塊編號PP1(原屬於第6個群組)降級為第7個群組(剩餘保存時間為4000秒)。
如第3E圖所示,假設在系統時間等於7950秒(ST=7950)時,進行區塊P2-P4的存取或更新(更特別是,將區塊P2-P4的整個區塊的內部資料全部更新一次),處理器110將區塊P2-P4的剩餘保存時間設為10000秒,處理器110將區塊P2-P4的區塊編號PP2-PP4歸為第1個群組,而區塊P0的區塊編號PP0仍為第8個群組,區塊P1的區塊編號PP1仍為第7個群組。在此,對區塊P2-P4進行存取或更新的時間未必要完全同時。亦即,假設先對區塊P2進行存取或更新(但尚未對區塊P3及P4進行存取或更新),之後,在區塊P2的區塊編號PP2仍屬於第1個群組時,對區塊P3及P4進行存取或更新,則處理器110將區塊P2-P4的區塊編號PP2-PP4一起歸為第1個群組。
在系統時間等於8000秒(ST=8000)時(未示出),系統對區塊P0-P4的區塊編號PP0-PP4進行降級,處理器110將區塊P2-P4的區塊編號PP2-PP4降級為第2個群組(剩餘保存時間為9000秒),而將區塊P0的區塊編號PP0降級第9個群組(剩餘保存時間為2000秒),將區塊P1的區塊編號PP1降級為第8個群組(剩餘保存時間為3000秒)。
如第3F圖所示,在系統時間等於8950秒(ST=8950)時,對區塊P5進行存取或更新,處理器110將區塊P5的剩餘保存時間設為10000秒,處理器110將區塊P5的區塊編號PP5歸為第1個群組(剩餘保存時間為10000秒),而區塊P0的區塊編號PP0仍為第9個群組(剩餘保存時間為2000秒)、區塊P1的區塊編號PP1仍為第8個群組(剩餘保存時間為3000秒)、區塊P2-P4的區塊編號PP2-PP4仍為第2個群組(剩餘保存時間為9000秒)。
如第3G圖所示,在系統時間等於9000秒(ST=9000)時,區塊P6進行存取或更新,且處理器110對區塊P0-P5進行降級。處理器110將區塊P6的剩餘保存時間設為10000秒,處理器110將區塊P6的區塊編號PP6歸為第1個群組(剩餘保存時間為10000秒)。處理器110將區塊P5的區塊編號PP5降級為第2個群組(剩餘保存時間為9000秒),將區塊P2-P4的區塊編號PP2-PP4降級為第3個群組(剩餘保存時間為8000秒),將區塊P0的區塊編號PP0降級第10個群組(剩餘保存時間為1000秒),區塊P1的區塊編號PP1降級為第9個群組(剩餘保存時間為2000秒)。
在本案實施例中,當區塊編號被降級至最低群組時(亦即第10群組,剩餘保存時間為1000秒),處理器110觸發區塊編號升級,將該區塊編號從最低群組升級至第1個群組,同時,處理器110觸發記憶體裝置150,將相對應的區塊(其區塊編號從最低群組升級至第1個群組)進行更新。如第3H圖所示,在系統時間等於9000秒(ST=9000)時,處理器110觸發區塊P0的區塊編號PP0升級,將區塊P0的區塊編號PP0升級至第1個群組。由於此時的區塊P6的區塊編號PP6也為第1個群組,故而,處理器110可將區塊P0的區塊編號PP0指向區塊P6的區塊編號PP6,而區塊P6的區塊編號PP6則指向10000秒。
另外,在本案實施例中,由於將同一個群組內的該些區塊編號彼此指向,所以,在進行區塊更新時,可以很方便地知道哪些區塊該被更新。例如,區塊編號PP2-PP4屬同一個群組,當處理器110將區塊編號PP2-PP4降級至最後一個群組時,處理器110通知記憶體裝置150,以對區塊P2-P4進行更新。詳細地說,由於區塊編號PP2指向最低剩餘保存時間,區塊編號PP3指向區塊編號PP2,區塊編號PP4指向區塊編號PP3,透過這些指向關係,處理器110可以得知指向最低剩餘保存時間的該群組包括區塊編號PP2-PP4,故而,處理器110可以得知區塊編號PP2-PP4所對應的區塊P2-P4該被更新。在本案說明書中,在指向同一剩餘保存時間的一或多個區塊編號中,有一區塊編號乃是「直接指向」該剩餘保存時間(如第3E圖中的區塊編號PP2),而其餘的區塊編號則是「間接指向」該剩餘保存時間(如第3E圖中的區塊編號PP3-PP4,透過區塊編號PP2來指向剩餘保存時間)。
在本案實施例中,如果一區塊被存取或更新的話,則處理器110將該區塊的區塊編號升級至第1個群組,不論該區塊編號原本屬於哪一個群組。也就是說,如果一區塊被存取的話,則處理器110將該區塊的剩餘保存時間設為10000秒(亦即,最大剩餘保存時間)。此外,當該區塊被存取或更新之時,該區塊的區塊編號目前正指向至第1個群組,則該區塊的區塊編號仍維持指向至第1個群組。
另外,在本案實施例中,於進行降級後,如果有多個區塊編號同時指向最小保存時間,則處理器110依序觸發該些區塊的更新(亦即,該些區塊的更新時間可彼此不同)。例如,於進行降級後,區塊編號PP0與PP1同時指向最小保存時間(1000s)。於系統時間等於9000秒時,處理器110觸發記憶體裝置150更新區塊P0。於系統時間等於9050秒時,處理器110觸發記憶體裝置150更新區塊P1。如此一來,可在區塊P0與P1的剩餘保存時間未達0之前,更新區塊P0與P1,以避免區塊P0與P1的阻值漂移而被誤判。
簡言之,在本案實施例中,當存取或更新一區塊時,處理器將該區塊的區塊編號升級至第1個群組,以指向最大剩餘保存時間。另外,處理器將指向相同剩餘保存時間的多個區塊編號視為同一個群組,且屬於同一群組的該些區塊編號之中,其中一個區塊編號指向相對應的剩餘保存時間,而其餘的區塊編號則可以彼此指向(如第3F圖中的區塊編號PP2-PP4般,區塊編號PP2指向相對應的剩餘保存時間,區塊編號PP3指向區塊編號PP2,區塊編號PP4指向區塊編號PP3)。
當處理器得知一群組的「降級觸發時間點」已到達時,處理器將該群組內的所有區塊編號降級至下一群組。實務上,在處理器的控制下,該群組內的第1個區塊編號(例如,第3F圖中的區塊編號PP2)從目前剩餘保存時間指向下一個剩餘保存時間,而屬於同一群組的其他區塊編號(例如,第3F圖中的區塊編號PP3與PP4)的指向關係未被改變。故而,透過修改該群組內的第1個區塊編號的指向,即可改變該群組指向下一個剩餘保存時間。
第4圖顯示根據本案另一實施例的具有兩種保存模式的資料管理的示意圖。如第4圖所示,保存模式可以包括兩種:10
4秒與10
7秒。這些保存模式可以包括不同的剩餘保存時間。例如,10
4秒的保存模式包括:剩餘保存時間10000秒、9000秒、…、1000秒(區塊編號PP0、PP1與PP4分別指向10000秒、9000秒與1000秒);而10
7秒的保存模式包括:剩餘保存時間100天(D)、90天(D)、…、10天(D)(區塊編號PP5、PP6與PPn分別指向100D(天)秒、90D(天)與10D(天))。當然,本案其他可能實施例可以包括更多的保存模式,此皆在本案精神範圍內。
以第4圖為例,在進行區塊的程式化或存取或更新時,處理器110可預測該區塊的預設保存時間,據以找出所對應的保存模式。例如,以第4圖為例,當在存取區塊P0時,處理器110預測該區塊P0的保存時間可能為20000秒,故而,處理器110指定該區塊P0的保存模式為10000(10
4)秒,並讓該區塊P0的區塊編號PP0指向該保存模式(10
4秒)的最大剩餘保存時間(10000秒)。在另一例中,當在存取區塊P5時,處理器110預測該區塊P5的保存時間可能為150天,故而,處理器110指定該區塊P5的保存模式為10
7秒,並讓該區塊P5的區塊編號PP5指向該保存模式(10
7秒)的最大剩餘保存時間100D(天)。亦即,在本案實施例中,每個區塊對應至一保存模式。
請參照第5圖,其顯示根據本案一實施例的記憶體裝置的資料管理方法的流程圖。如第5圖所示,在步驟510中,計數一系統時間。在步驟520中,當第一次存取或第一次更新或第一次程式化記憶體裝置150的該第一區塊時的一部份或全部時(或者是對每當該第一區塊被全部存取或更新或程式化時),該處理器110指定該第一區塊的一第一區塊編號指向至一第一保存模式的一第一最大剩餘保存時間,該第一保存模式包括該第一最大剩餘保存時間、一第一最小剩餘保存時間與一第一中間剩餘保存時間。在步驟530A中,當該第一最大剩餘保存時間的一第一降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一最大剩餘保存時間,該處理器110將該第一區塊的該第一區塊編號從該第一最大剩餘保存時間指向該第一中間剩餘保存時間。在步驟530B中,當該第一中間剩餘保存時間的一第二降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一中間剩餘保存時間,該處理器110將該第一區塊的該第一區塊編號從該第一中間剩餘保存時間指向該第一最小剩餘保存時間。在步驟530C中, 一旦該第一區塊的該第一區塊編號指向該第一最小剩餘保存時間,該處理器110觸發該記憶體裝置以更新該第一區塊,以及將該第一區塊的該第一區塊編號從該第一最小剩餘保存時間指向該第一最大剩餘保存時間。
在本案實施例中,透過群組式管理記憶體裝置的區塊的剩餘保持時間,可以有效地在區塊的剩餘保持時間到期之前,對區塊進行更新,以避免因為區塊的阻值漂移所導致的資料錯誤讀取。此外,由於是群組式管理區塊的剩餘保持時間,管理機制可以大為簡化。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100‧‧‧資料管理系統
150‧‧‧記憶體裝置
110‧‧‧處理器
115‧‧‧系統計時器
120‧‧‧保存時間記憶體單元
122‧‧‧保存模式參數儲存區
124‧‧‧剩餘保存時間儲存區
126‧‧‧區塊編號儲存區
PP0-PPn‧‧‧區塊編號
510-530C‧‧‧步驟
150‧‧‧記憶體裝置
110‧‧‧處理器
115‧‧‧系統計時器
120‧‧‧保存時間記憶體單元
122‧‧‧保存模式參數儲存區
124‧‧‧剩餘保存時間儲存區
126‧‧‧區塊編號儲存區
PP0-PPn‧‧‧區塊編號
510-530C‧‧‧步驟
第1圖顯示根據本案一實施例的資料管理系統的示意圖。 第2圖顯示根據本案一實施例之保存時間記憶體單元之示意圖。 第3A-3H圖顯示根據本案一實施例的保存時間管理示意圖。 第4圖顯示根據本案另一實施例的具有兩種保存模式的資料管理的示意圖。 第5圖顯示根據本案一實施例的記憶體裝置的資料管理方法的流程圖。
Claims (8)
- 一種用於記憶體裝置的資料管理系統,該記憶體裝置包括複數個區塊,該資料管理系統包括: 一處理器,具有一系統計時器用以計數一系統時間,該處理器耦接至該記憶體裝置;以及 一保存時間記憶體單元,耦接至該處理器,該保存時間記憶體單元包括一剩餘保存時間儲存區、一區塊編號儲存區與一保存模式參數儲存區,該保存模式參數儲存區包括一第一保存模式,該剩餘保存時間儲存區包括相關於該第一保存模式的一第一最大剩餘保存時間、一第一最小剩餘保時間與一第一中間剩餘保存時間,該區塊編號儲存區至少儲存該記憶體裝置的該些區塊中的一第一區塊的一第一區塊編號; 其中: 當第一次存取或第一次更新或第一次程式化該記憶體裝置的該第一區塊的至少一部份時,或者每當該記憶體裝置的該第一區塊整體被存取或更新或程式化時,該處理器指定該第一區塊的該第一區塊編號指向至該第一保存模式的該第一最大剩餘保存時間; 當該第一最大剩餘保存時間的一第一降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一最大剩餘保存時間,該處理器將該第一區塊的該第一區塊編號從該第一最大剩餘保存時間指向該第一中間剩餘保存時間; 當該第一中間剩餘保存時間的一第二降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一中間剩餘保存時間,該處理器將該第一區塊的該第一區塊編號從該第一中間剩餘保存時間指向該第一最小剩餘保存時間;以及 一旦該第一區塊的該第一區塊編號指向該第一最小剩餘保存時間,該處理器觸發該記憶體裝置以更新該第一區塊,以及該處理器將該第一區塊的該第一區塊編號從該第一最小剩餘保存時間指向該第一最大剩餘保存時間。
- 如申請專利範圍第1項所述之資料管理系統,其中,在該第一區塊的該第一區塊編號仍指向至該第一最大剩餘保存時間之時,如果第一次存取或第一次更新或第一次程式化該記憶體裝置的一第二區塊的至少一部份,或者如果每次該記憶體裝置的該第二區塊整體被存取或更新或程式化,該處理器指定該第二區塊的一第二區塊編號指向該第一區塊的該第一區塊編號。
- 如申請專利範圍第1項所述之資料管理系統,其中,該保存模式參數儲存區更包括一第二保存模式, 當存取或更新或程式化該記憶體裝置的一第三區塊時,該處理器預測該第三區塊的一剩餘保存時間,並根據該第三區塊的該剩餘保存時間以指定該第二保存模式至該第三區塊的一第三區塊編號,且該處理器將該第三區塊的該第三區塊編號指向該第二保存模式下的一第二最大剩餘保存時間。
- 如申請專利範圍第1項所述之資料管理系統,其中,當該第一區塊的該第一區塊編號與一第四區塊的一第四區塊編號同時指向該第一最小剩餘保存時間時,該處理器觸發該記憶體裝置以在不同時間點更新該第一區塊與該第四區塊。
- 一種用於記憶體裝置的資料管理方法,該記憶體裝置包括複數個區塊,該資料管理方法包括: 計數一系統時間; 當第一次存取或第一次更新或第一次程式化該記憶體裝置的一第一區塊的至少一部份時,或者每當該記憶體裝置的該第一區塊整體被存取或更新或程式化時,指定該第一區塊的一第一區塊編號指向至一第一保存模式的一第一最大剩餘保存時間,該第一保存模式包括該第一最大剩餘保存時間、一第一最小剩餘保存時間與一第一中間剩餘保存時間; 當該第一最大剩餘保存時間的一第一降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一最大剩餘保存時間,將該第一區塊的該第一區塊編號從該第一最大剩餘保存時間指向該第一中間剩餘保存時間; 當該第一中間剩餘保存時間的一第二降級觸發時間達到且該第一區塊的該第一區塊編號目前指向至該第一中間剩餘保存時間,將該第一區塊的該第一區塊編號從該第一中間剩餘保存時間指向該第一最小剩餘保存時間;以及 一旦該第一區塊的該第一區塊編號指向該第一最小剩餘保存時間,觸發該記憶體裝置以更新該第一區塊,以及將該第一區塊的該第一區塊編號從該第一最小剩餘保存時間指向該第一最大剩餘保存時間。
- 如申請專利範圍第5項所述之資料管理方法,其中,在該第一區塊的該第一區塊編號仍指向至該第一最大剩餘保存時間之時,如果第一次存取或第一次更新或第一次程式化該記憶體裝置的一第二區塊的至少一部份,或者如果每次該記憶體裝置的該第二區塊整體被存取或更新或程式化,指定該第二區塊的一第二區塊編號指向該第一區塊的該第一區塊編號。
- 如申請專利範圍第5項所述之資料管理方法,其中, 當存取或更新或程式化該記憶體裝置的一第三區塊時,預測該第三區塊的一剩餘保存時間,並根據該第三區塊的該剩餘保存時間以指定一第二保存模式至該第三區塊的一第三區塊編號,且將該第三區塊的該第三區塊編號指向該第二指定保存模式下的一第二最大剩餘保存時間,該第二保存模式不同於該第一保存模式。
- 如申請專利範圍第5項所述之資料管理方法,其中,當該第一區塊的該第一區塊編號與一第四區塊的一第四區塊編號同時指向該第一最小剩餘保存時間時,觸發該記憶體裝置以在不同時間點更新該第一區塊與該第四區塊。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106124877A TWI627532B (zh) | 2017-07-25 | 2017-07-25 | 記憶體裝置的資料管理方法與系統 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW106124877A TWI627532B (zh) | 2017-07-25 | 2017-07-25 | 記憶體裝置的資料管理方法與系統 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI627532B true TWI627532B (zh) | 2018-06-21 |
TW201908972A TW201908972A (zh) | 2019-03-01 |
Family
ID=63256173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106124877A TWI627532B (zh) | 2017-07-25 | 2017-07-25 | 記憶體裝置的資料管理方法與系統 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI627532B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130194865A1 (en) * | 2012-01-30 | 2013-08-01 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing enhanced data read for multi-level cell (mlc) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
US20130198436A1 (en) * | 2012-01-30 | 2013-08-01 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing enhanced data partial-erase for multi-level cell (mlc) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
US8954654B2 (en) * | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
TWI546818B (zh) * | 2013-03-15 | 2016-08-21 | 晶天電子(深圳)有限公司 | 一種具有綠能資料持續模式的裝置驅動器 |
-
2017
- 2017-07-25 TW TW106124877A patent/TWI627532B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8954654B2 (en) * | 2008-06-18 | 2015-02-10 | Super Talent Technology, Corp. | Virtual memory device (VMD) application/driver with dual-level interception for data-type splitting, meta-page grouping, and diversion of temp files to ramdisks for enhanced flash endurance |
US20130194865A1 (en) * | 2012-01-30 | 2013-08-01 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing enhanced data read for multi-level cell (mlc) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
US20130198436A1 (en) * | 2012-01-30 | 2013-08-01 | Hitachi Global Storage Technologies Netherlands B.V. | Implementing enhanced data partial-erase for multi-level cell (mlc) memory using threshold voltage-drift or resistance drift tolerant moving baseline memory data encoding |
TWI546818B (zh) * | 2013-03-15 | 2016-08-21 | 晶天電子(深圳)有限公司 | 一種具有綠能資料持續模式的裝置驅動器 |
Also Published As
Publication number | Publication date |
---|---|
TW201908972A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5778807B2 (ja) | データ記憶装置およびデータを記憶するための方法 | |
JP5361158B2 (ja) | フラッシュメモリ装置及びメモリシステム | |
US20050273548A1 (en) | Memory system with user configurable density/performance option | |
US11836078B2 (en) | Trim setting determination on a memory device | |
US11854634B2 (en) | Selectable trim settings on a memory device | |
TW201443903A (zh) | 利用單位階單元分段之增強型動態讀取程序 | |
CN107102816B (zh) | 存储系统及其操作方法 | |
US11853207B2 (en) | Configurable trim settings on a memory device | |
US20220180954A1 (en) | Trim setting determination for a memory device | |
TWI627532B (zh) | 記憶體裝置的資料管理方法與系統 | |
CN108615539B (zh) | 用于编程可编程电阻性存储元件的方法与设备 | |
KR102630116B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US9564216B2 (en) | Stress trim and modified ISPP procedures for PCM | |
CN109300500B (zh) | 存储器装置的数据管理方法与系统 | |
CN108376551A (zh) | 存储装置及对其数据进行刷新的方法 | |
KR100764748B1 (ko) | 향상된 리프레쉬 기능을 갖는 플래시 메모리 장치 | |
US20190034118A1 (en) | Data management method and system for memory device | |
US9996458B1 (en) | Memory sector retirement in a non-volatile memory | |
US10891077B2 (en) | Flash memory device and controlling method thereof | |
TW201621915A (zh) | 使用一次性可程式化記憶體的設備及其方法 | |
CN113436659A (zh) | 基于浮栅电荷泄漏的信息记录方法及装置 | |
CN105702291A (zh) | 微处理器及其存储装置 | |
TW201837908A (zh) | 記憶體裝置、系統及其操作方法 |