TWI592943B - 資料儲存裝置、記憶體控制器及其資料管理方法 - Google Patents
資料儲存裝置、記憶體控制器及其資料管理方法 Download PDFInfo
- Publication number
- TWI592943B TWI592943B TW105125096A TW105125096A TWI592943B TW I592943 B TWI592943 B TW I592943B TW 105125096 A TW105125096 A TW 105125096A TW 105125096 A TW105125096 A TW 105125096A TW I592943 B TWI592943 B TW I592943B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- storage space
- storage device
- subsequent
- page
- Prior art date
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明是有關於一種資料管理方法,尤其是有關於一種減少非揮發性記憶體讀取次數且增進資料讀取速率的資料管理方法,以及所對應的資料儲存裝置及記憶體控制器。
非揮發性記憶體為一種電子式記憶裝置,其具有不需額外電力維持資訊、快速資料讀取以及抗震等能力,因此被廣泛的應用於記憶卡、固態硬碟以及可攜式多媒體裝置等。當儲存於非揮發性記憶體中的資料被多次重複讀取時,非揮發性記憶體可能會出現讀取擾動(Read Disturbance)的情況,進而導致儲存資料不正確,因此非揮發性記憶體在此時就必須進行刷新(Refresh),然非揮發性記憶體進行刷新將會影響到其使用壽命。
為了解決上述之缺憾,本發明提出一種資料管理方法,以及對應之資料儲存裝置與記憶體控制器,以減少非揮發性記憶體的讀取次數,並增進資料讀取效率。
本發明提出一種資料儲存裝置的資料管理方法實施例,其步驟包括:接收讀取指令;當讀取指令對應的目標資料儲存於非揮發性記憶體,由非揮發性記憶體中讀取包含目標資料的資料頁;判斷資料頁之讀取次數是否大於讀取門檻值;當判斷為否,儲存至少一後續資料至一資料暫時儲存裝置的第一儲存空間;以及當判斷為是,儲存至少一後續資料至資料暫時儲存裝置的第二儲存空間;其中,目標資料與至少一後續資料皆儲存於資料頁,且目標資料與至少一後續資料在資料讀取上有前後之關係。
本發明提出另一種資料儲存裝置的資料管理方法實施例,其步驟包括: 接收讀取指令;根據讀取指令由一非揮發性記憶體讀取包含目標資料的資料頁;判斷資料頁之一讀取次數是否大於一讀取門檻值;當判斷為否,紀錄至少一後續資料至一資料暫時儲存裝置的一第一儲存空間;以及當判斷為是,紀錄至少一後續資料至資料暫時儲存裝置的一第二儲存空間;其中,目標資料與至少一後續資料皆儲存於資料頁,且目標資料與至少一後續資料在資料讀取上有前後之關係。
本發明並提出一種用於資料管理方法的資料儲存裝置實施例,其包括:非揮發性記憶體、資料暫時儲存裝置以及記憶體控制器。資料暫時儲存裝置包括第一儲存空間以及第二儲存空間,記憶體控制器與非揮發性記憶體以及資料暫時儲存裝置電性耦接,記憶體控制器是用以接收對應目標資料的讀取指令,當目標資料儲存於非揮發性記憶體,記憶體控制器由非揮發性記憶體讀取包含目標資料的資料頁,記憶體控制器並判斷資料頁之一讀取次數是否大於一讀取門檻值,當判斷為否,記憶體控制器儲存至少一後續資料至資料暫時儲存裝置的第一儲存空間,當判斷為是,記憶體控制器儲存至少一後續資料至資料暫時儲存裝置的第二儲存空間,其中,目標資料與至少一後續資料皆儲存於資料頁,且目標資料與至少一後續資料在資料讀取上有前後之關係。
本發明並提出一種用於資料管理方法的記憶體控制器實施例,其包括:第一通訊介面、第二通訊介面、第三通訊介面以及微處理器。第一通訊介面是用以與非揮發性記憶體通訊以存取非揮發性記憶體,第二通訊介面是用以與資料暫時儲存裝置通訊以存取資料暫時儲存裝置的第一儲存空間以及第二儲存空間,第三通訊介面是用以與主機通訊以接收來自主機之一讀取指令,微處理器與第一通訊介面、第二通訊介面以及第三通訊介面電性耦接,微處理器用以根據讀取指令由非揮發性記憶體讀取包含目標資料的資料頁,微處理器並用以判斷資料頁之讀取次數是否大於讀取門檻值,當判斷為否,微處理器紀錄至少一後續資料至資料暫時儲存裝置的第一儲存空間,當判斷為是,微處理器紀錄至少一後續資料至資料暫時儲存裝置的第二儲存空間,其中,目標資料與至少一後續資料儲存於資料頁,且目標資料與至少一後續資料在資料讀取上有前後之關係。
綜以上所述,由於本發明可根據資料頁的讀取次數與讀取門檻值的關係而將後續資料儲存於不同的儲存空間,因此讀取次數大於讀取門檻值的資料頁所對應的資料不會頻繁的被讀取次數等於或小於讀取門檻值的資料頁所取代,而由資料暫時儲存裝置中移除。此外,讀取次數大於讀取門檻值代表此資料頁相較於其他資料頁更頻繁的被讀取,因此提高由資料暫時儲存裝置讀取對應資料的次數,更可有效減少由非揮發性記憶體讀取資料的次數,以達到延長非揮發性記憶體使用壽命的目的。
為讓本發明之上述和其他目的、特徵和優點能更明顯易懂,下文特舉較佳實施例並配合所附圖式做詳細說明如下。
請參考圖1,圖1為本發明之資料儲存裝置實施例示意圖,資料儲存裝置10是用以與外部主機20通訊,並根據主機20所發送之讀取指令讀取儲存於資料儲存裝置10之資料,所述資料可以是用以顯示的影像資料或者為音訊資料等,所述主機20可以為桌上型電腦或平板電腦等電子裝置。資料儲存裝置10包括記憶體控制器11、非揮發性記憶體12以及資料暫時儲存裝置13,記憶體控制器11與主機20、非揮發性記憶體12以及資料暫時儲存裝置13電性耦接,非揮發性記憶體12包含多個資料區塊(Block),每一資料區塊並包括多個資料頁(Page),每一資料頁用以儲存所述資料,非揮發性記憶體12例如為快閃記憶體(Flash Memory) 、磁阻式隨機存取記憶體(Magnetoresistive RAM)、相變記憶體(Phase-change memory)、或鐵電隨機存取記憶體(Ferroelectric RAM)等具有長時間資料保存之資料儲存媒體。資料暫時儲存裝置13則包括用以暫存所述資料的第一儲存空間131以及第二儲存空間132,資料暫時儲存裝置13例如為動態隨機存取記憶體(Dynamic Random Access Memory, DRAM),但不以此為限。記憶體控制器11更包括了第一通訊介面111、第二通訊介面112、第三通訊介面113以及微處理器114,微處理器114與第一通訊介面111、第二通訊介面112以及第三通訊介面113電性耦接,記憶體控制器11可藉由第一通訊介面111與非揮發性記憶體12通訊並存取非揮發性記憶體12,記憶體控制器11可藉由第二通訊介面112與資料暫時儲存裝置13通訊並存取資料暫時儲存裝置13,記憶體控制器11可藉由第三通訊介面113與主機20通訊。此外,上述之第一通訊介面111例如為開放式NAND快閃記憶體介面(ONFI,Open NAND Flash Interface)或Toggle。上述之第二通訊介面112例如為DFI介面(DDR PHY Interface)。上述之第三通訊介面113例如為SATA介面(Serial Advanced Technology Attachment)、通用序列匯流排(Universal Serial Bus, USB)、快捷外設互聯標準(PCI Express,Peripheral Component Interconnect Express)、序列式小型電腦系統介面(Serial Attached SCSI,SAS)、通用快閃記憶體儲存裝置(UFS,Universal Flash Storage)、多媒體記憶卡(eMMC,embeded MultiMedia Card)以及SDIO介面(Secure Digital Input/Output)。
為了提供較佳的資料儲存裝置10的系統效能並減少非揮發性記憶體12被讀取的次數,本發明揭露一種資料管理方法,將非揮發性記憶體12中對應讀取指令而被讀取的目標資料的後續資料預先儲存至資料暫時儲存裝置13,如此一來,當主機20發出對應後續資料的讀取指令時,資料儲存裝置10可以快速地回應主機20之讀取指令,使資料儲存裝置10的系統效能提升。以下將配合圖1、圖2A、圖2B、圖2C、圖2D、圖3A、圖3B、圖3C、圖3D以及圖3E來說明本發明之資料管理方法實施例,為了簡化說明,非揮發性記憶體12包含複數個資料頁,例如圖3A所示的資料頁P1到資料頁P12以及其他資料頁(省略),每一資料頁包含3個區段,區段為資料儲存的最小單位,也是資料定址(addressing)的依據。每一區段的大小對應至一個邏輯資料區塊位址(LBA,Logical Block Address)的大小,每一LBA之大小較佳為512位元組(Byte)。然而,使用者可依據其實際需求而設定每個資料頁的大小,例如:4096位元組或8192位元組,或設定每一資料頁所包含的區段的數目,例如8個區段或32個區段,或設定每一邏輯資料區塊位址的大小,例如:1024位元組或4096位元組,技術上而言皆為可行,故不以此為限。另外,為了資料管理的方便性,資料暫時儲存裝置13包括第一儲存空間131以及第二儲存空間132,第一儲存空間131以及第二儲存空間132係分別用以儲存不常用以及常用的資料。
以下將以非揮發性記憶體12儲存有四個檔案為例進行說明,每一個檔案被予以一個特定的檔案識別碼(File ID)。由於每一個檔案都有一個特定的檔案識別碼,微處理器114依據此檔案識別碼記錄特定檔案的所有資料頁的起始位址;或者,儲存特定檔案的第一個資料頁的起始位址,再藉由第一個資料頁的內容得知後續資料頁的起始位址,直到找到檔案結束的符號。一般而言,檔案通常為不連續儲存,然而,製造商可事先將每一個檔案依序並連續地儲存至資料暫時儲存裝置13,在此情況下,每一個檔案的所有資料頁為相鄰且依序儲存。由於起始位址已知,依據每一資料在每一資料頁的相對位址即能得知每一資料的絕對位址。
請先參考圖2A,圖2A為本發明之資料管理方法實施例一,圖3A為資料頁實施例示意圖,如圖3A所示,檔案a儲存於資料頁P1、P2以及P3,資料頁P1、P2以及P3為相鄰的資料頁且資料頁P2以及P3為資料頁P1的後續資料頁。資料頁P1包含3筆資料,即資料a11、資料a12及資料a13,資料a12及資料a13為資料a11的後續資料;資料頁P2包含3筆資料,即資料a21、資料a22及資料a23,資料a22及資料a23為資料a21的後續資料;資料頁P3包含3筆資料,即資料a31、資料a32及資料a33,資料a32及資料a33為資料a31的後續資料。檔案b儲存於資料頁P4、資料頁P5以及資料頁P6,資料頁P4、資料頁P5以及資料頁P6為相鄰的資料頁且資料頁P5以及資料頁P6為資料頁P4的後續資料頁。資料頁P4包含3筆資料,即資料b11、資料b12及資料b13,資料b12及資料b13為資料b11的後續資料;資料頁P5包含3筆資料,即資料b21、資料b22及資料b23,資料b22及資料b23為資料b21的後續資料;資料頁P6包含3筆資料,即資料b31、資料b32以及資料b33,資料b22及資料b23為資料b31的後續資料。檔案c儲存於資料頁P7、資料頁P8以及資料頁P9,資料頁P7、資料頁P8以及資料頁P9為相鄰的資料頁且資料頁P8以及資料頁P9為資料頁P7的後續資料頁。資料頁P7包含3筆資料,即資料c11、資料c12及資料c13,資料c12及資料c13為資料c11的後續資料;資料頁P8包含3筆資料,即資料c21、資料c22及資料c23,資料c22及資料c23為資料c21的後續資料;資料頁P9包含3筆資料,即資料c31、資料c32及資料c33,資料c32及資料c33為資料c31的後續資料。檔案d儲存於資料頁P10、資料頁P11、資料頁P12,資料頁P10包含3筆資料,即資料d11、資料d12及資料d13,資料d12及資料d13為資料d11的後續資料;資料頁P11包含3筆資料,即資料d21、資料d22及資料d23,資料d22及資料d23為資料d21的後續資料;資料頁P12包含3筆資料,即資料d31、資料d32及資料d33,資料d32及資料d33為資料d31的後續資料。
首先,步驟S201,接收讀取指令。當圖1所述的主機20欲讀取資料儲存裝置10所儲存的目標資料,例如為圖3A的資料a11時,主機20會發送上述之讀取指令至資料儲存裝置10,資料儲存裝置10之微處理器114透過第三通訊介面113接收到主機20所傳送的讀取指令。
步驟S203,判斷讀取指令所對應之目標資料,是否儲存於資料暫時儲存裝置13中。微處理器114接收到讀取指令後,會根據讀取指令所包含的位址資訊得到目標資料的儲存位址,並根據儲存位址至非揮發性記憶體12或資料暫時儲存裝置13的第一儲存空間131或第二儲存空間132讀取對應的目標資料,如果步驟S203判斷為是則執行步驟S227;如果步驟S203判斷為否則執行步驟S205。其中,資料暫時儲存裝置13較佳為動態隨機存取記憶體(Dynamic Random Access Memory,DRAM),亦可為靜態隨機存取記憶體(Static Random Access Memory,SRAM)等平均讀取速度優於非揮發性記憶體12之資料暫存器或資料緩衝器。假設檔案a的資料a11僅儲存於非揮發性記憶體12,並未儲存於資料暫時儲存裝置13,因此,執行步驟S205。
步驟S205,讀取包含目標資料的資料頁,將目標資料回傳主機20。微處理器114根據讀取指令所對應之儲存位址而至非揮發性記憶體12讀取儲存於資料頁P1的資料a11,微處理器114並透過第三通訊介面113將資料a11回傳至主機20。
步驟S206,增加包含目標資料的資料頁的讀取次數。微處理器114增加所述資料a11所對應的資料頁P1的讀取次數,所述讀取次數為資料頁P1被微處理器114讀取的次數,讀取次數可儲存於所述資料暫時儲存裝置13,但不以此為限。例如:資料頁P1所儲存的任一資料因為讀取指令而被讀取時,微處理器114將資料頁P1所對應的讀取次數增加1,但不以此為限。使用者可依實際之需求而調整步驟S206的位置,例如,將步驟S206置於步驟S213及步驟S219之後,一樣可以達到本發明之目的。
步驟S207,判斷讀取次數是否大於讀取門檻值。微處理器114接著判斷目標資料所對應的資料頁的讀取次數是否大於讀取門檻值,此讀取門檻值即為讀取次數的門檻值,例如為50,當步驟S207判斷為否,這表示目標資料或目標資料所對應的資料頁所儲存的後續資料並不是常用資料,因此,讀取次數較小使的讀取次數小於讀取門檻值,因此執行步驟S213,儲存資料於第一儲存空間131;反之,當步驟S207判斷為是,這表示目標資料或目標資料所對應的資料頁所儲存的資料為常用資料,故其讀取次數大於讀取門檻值,因此執行步驟219,儲存資料於第二儲存空間132,最後,結束本發明之資料管理方法流程,或回到步驟S201。
為了有效率地管理第一儲存空間131的空間,本發明之第一儲存空間資料管理方法包括步驟S213以及其他的步驟。如圖2B所示,首先,執行步驟S209,判斷第一儲存空間131是否有足夠空間。由於在步驟S207時判斷為否,因此微處理器114準備將對應目標資料的後續資料儲存至第一儲存空間131,在微處理器114將後續資料儲存至第一儲存空間131前,微處理器114先判斷第一儲存空間131目前是否有足夠的空間來儲存後續資料,例如:判斷第一儲存空間131中的儲存位址是否皆已儲存資料。其中,後續資料與目標資料較佳儲存於同一個資料頁中,且後續資料與目標資料於非揮發性記憶體12中的儲存位址為連續,以圖3A為例,若資料頁P1的資料a11為所述的目標資料,則後續資料可為單筆資料,例如:資料a12或資料a13;後續資料亦為多筆資料,例如:資料a12以及資料a13,當步驟S209判斷為否,進行步驟S211,反之,進行步驟S213。
步驟S211,移除第一儲存空間131的舊資料。當步驟S209判斷為否,也就是第一儲存空間131沒有足夠空間儲存後續資料,因此微處理器114移除原本第一儲存空間131中的資料(即舊資料)並儲存後續資料至第一儲存空間131,其中,移除第一儲存空間131的資料量較佳等於後續資料的資料量。例如第一儲存空間131已儲存有資料頁P2、資料頁P3、資料頁P4以及資料頁P5。資料頁P2所對應的讀取次數為51,資料頁P3所對應的讀取次數為52,資料頁P4所對應的讀取次數為53,資料頁P5所對應的讀取次數為54。為了將資料頁P1的後續資料儲存至第一儲存空間131中,微處理器114會刪除讀取次數最小的資料頁P2,使第一儲存空間131具有足夠的空間來儲存資料頁P1,如圖3B以及圖3C所示,資料頁P1儲存至刪除資料頁P2所釋放的儲存空間。此外,在此步驟中,微處理器114並同時將資料頁P2的所有資料的儲存位址更新為非揮發性記憶體12中的儲存位址,而資料頁P2的讀取次數將繼續進行累計。被刪除的資料頁P2的其中之一資料若被讀取時,微處理器114將根據紀錄的儲存位址由非揮發性記憶體12中讀取資料,並根據儲存於資料暫時儲存裝置13中的讀取次數繼續計數資料頁P2的讀取次數。
步驟S213,儲存資料於第一儲存空間131。當步驟S209判斷為是或者完成步驟S211時,也就是當前第一儲存空間131仍有足夠空間儲存剩餘資料,因此微處理器114將資料儲存至第一儲存空間131中,完成步驟S213後,微處理器114回到步驟S201,繼續等待下一個讀取指令。
為了有效率地管理第二儲存空間的空間,本發明之第二儲存空間資料管理方法包括步驟S219以及其他的步驟。如圖2C所示,首先,執行步驟S215,判斷第二儲存空間132是否有足夠空間。當步驟S207判斷為是,也就是目標資料所對應的資料頁P1的讀取次數超過了讀取門檻值,因此微處理器114會準備將資料頁P1中的後續資料儲存至第二儲存空間132中。在微處理器114將後續資料儲存至第二儲存空間132前,微處理器114會先判斷第二儲存空間132是否具有足夠的儲存空間來儲存後續資料。當在步驟S215判斷為否,進行步驟S217,反之,進行步驟S219。
步驟S217,移除第二儲存空間132的舊資料。由於在此步驟中,第二儲存空間132已沒有足夠空間來儲存後續資料,因此,微處理器114會移除第二儲存空間132所儲存的資料(即舊資料),例如移除具有最小讀取次數的資料頁的所有資料,如上述的步驟S211。
步驟S219,儲存資料於第二儲存空間132。由於第二儲存空間132具有足夠的儲存空間,因此微處理器114將後續資料儲存至第二儲存空間132中。
在執行完步驟S219後,除了可以結束程序之執行之外,亦可執行步驟S221以達到避免過於頻繁的將資料儲存至資料暫時儲存裝置13的第二儲存空間132的目的。
步驟S221,判斷資料是否儲存至第二儲存空間132的最後位址。微處理器114判斷第二儲存空間132是否所有位址都已經儲存了資料,其判斷的依據為後續資料是否儲存至最後一個位址。例如位址00、01、10、11皆已儲存了資料頁,且在上述步驟S219中後續資料儲存至第二儲存空間132的最後一個位址11中。當判斷結果為是,進行步驟S223,反之,進行步驟S225。
步驟S223,更新讀取門檻值。微處理器114將上述之讀取門檻值與一個預設值相加以更新讀取門檻值,預設值的數值可為任一自然數,較佳為正整數,例如為50,但不以此為限。若當前讀取門檻值為50,加上此預設值50後讀取門檻值將被更新為100,這表示當某一資料頁被讀取超過100次時,微處理器114才會再度將此資料頁之後續資料儲存至資料暫時儲存裝置13的第二儲存空間132,之後,結束程序之執行或回到步驟201。
步驟S225,增加讀取門檻值。當步驟S221判斷為否,也就是後續資料並非儲存至第二儲存空間132的最後一個位址,因此微處理器114將讀取門檻值增加一個累數值,例如加1,但不以此為限,以增加讀取門檻值,若當前讀取門檻值為50,與1相加後讀取門檻值會被更新為51,因此當目標資料的資料頁被讀取超過51次後,微處理器114才會將含有目標資料的資料頁的後續資料儲存至第二儲存空間132,之後,結束程序之執行或回到步驟S201,等待下一讀取指令。其中,步驟S223以及步驟S225的目的在於,藉由儲存資料後增加或更新上述讀取門檻值的數值之方式來避免發生同時有多筆資料頁的讀取次數符合上述條件而需要儲存至第二儲存空間132,使微處理器114需花費一段時間移除第二儲存空間132所儲存的資料以及將後續資料儲存至第二儲存空間132的情況,此外,更可延長同筆資料儲存於第二儲存空間132的時間,增加資料由第二儲存空間132讀取的機會,可有效減少非揮發性記憶體12被讀取的次數,另外,上述的預設值大於上述的累數值的目的在於,當第二儲存空間132的所有位址皆儲存了資料時,藉由較大的預設值更大幅減少第二儲存空間132移除/儲存資料的次數,增加當前資料儲存於第二儲存空間132的時間。
當步驟S203的判斷結果為是時,則執行步驟S227,由資料暫時儲存裝置13讀取對應的資料頁以及目標資料。由於讀取指令欲讀取的目標資料已儲存在資料暫時儲存裝置13的第一儲存空間131或第二儲存空間132,微處理器114即根據儲存位址至第一儲存空間131或第二儲存空間132讀取目標資料並回傳主機20,結束程序之執行或回到步驟S201,繼續等待下一個讀取指令。
在其他實施例中,微處理器114亦可同時將目標資料以及後續資料儲存至第一儲存空間131或第二儲存空間132,不儲存目標資料至資料暫時儲存裝置13的優點是可以節省資料暫時儲存裝置13的空間使用量;相反的,儲存目標資料至資料暫時儲存裝置13的優點是當目標資料被重覆讀取時,微處理器114可以直接從資料暫時儲存裝置13回傳目標資料至主機20,增加資料讀取的效能。使用者可依據其實際需求而選擇不同的實施方式,並不以此為限。
在其他實施例中,步驟S205可變更為讀取包含目標資料的資料頁以及後續資料頁,例如:包括資料頁P1及P2,並將步驟S206變更為增加包含目標資料的資料頁以及後續資料頁的讀取次數。在此實施例中,由於讀取的資料包含後續資料頁,因此,在執行步驟S211或步驟S217時需刪除比其他實施例更多的資料以容納包含目標資料的資料頁以及後續資料頁的資料,如圖3D以及圖3E所示。
為了加速資料讀取的效率,本發明之資料預先讀取方法包括步驟S227以及其他的步驟。請參考圖2D,圖2D為本發明之資料預先讀取方法流程實施例一示意圖,如果圖2D與圖2A中的步驟具有相同編號,則為相同步驟。
步驟S229,判斷儲存於資料暫時儲存裝置13的剩餘資料的資料量是否大於資料門檻值,其中,剩餘資料為部份的後續資料且目標資料與後續資料在資料讀取上有前後之關係,並由於後續資料的第一筆資料可能為下一個讀取指令的目標資料,在下一個讀取指令期間,後續資料減去目標資料等於剩餘資料,依此類推。完成上述的步驟S227後,在本實施例中接著進行步驟S229,假設資料門檻值是一個區段,目標資料為資料a11,當資料a11因為讀取指令被傳送至主機20,後續資料,包括資料a12以及資料a13,被儲存至資料暫時儲存裝置13。在下一個讀取指令期間,步驟S227執行時,目標資料已更新為資料a12且目標資料被傳送至主機20,因此,儲存於資料暫時儲存裝置13且尚未傳送至主機20的剩餘資料僅剩下資料a13,其僅為一個區段大小而不大於資料門檻值,因此,步驟S229的判斷結果為否,故執行步驟S231。相反的,如果步驟S229的判斷結果為是則回到步驟S201等待下一個讀取指令。在另一實施例中,門檻值可為資料量的大小,例如1024位元組或其他數值,較佳為一個區段大小的整數倍。另外,剩餘資料的資料量亦可由位址的差值來表示,例如,剩餘資料的最大位址值減去最小位址值的值即為位址的差值,在此情況下,門檻值較佳為小於資料頁所包含的區段的數目,例如整數2,但不以此為限。
步驟S231,讀取後續資料頁,並增加後續資料頁的讀取次數。在步驟S229中,當微處理器114判斷為否,也就是剩餘資料的資料量小於或等於門檻值,微處理器114依據檔案識別碼而取得目前資料頁以及後續資料頁的位址,依據後續資料頁的位址即能從非揮發性記憶體12讀取後續資料頁,並增加後續資料頁的讀取次數;或者,微處理器114可以直接讀取目前資料頁的後續資料頁(二個資料頁為物理上相鄰)並增加其讀取次數,例如資料頁P2,讀取完後續資料頁並增加其讀取次數後,接著執行上述之步驟S207,以判斷後續資料頁儲存至第一儲存空間131或第二儲存空間132。當資料a21、資料a22以及資料a23根據上述之步驟S207以及其後續步驟而儲存至資料暫時儲存裝置13後,加上原本就已儲存的資料a13,剩餘資料的資料量變更為4個區段而大於門檻值。最後,回到步驟S201等待下一個讀取指令。在另一實施例中,步驟S231變更為讀取後續多個資料頁的資料,例如,資料頁P2及資料頁P3。假設主機20欲讀取連續數筆資料時,在步驟S231中讀取後續多個資料頁並根據上述圖2A的步驟將後續多個資料頁的資料儲存至暫時儲存裝置13,除了可以降低微處理器114執行步驟S231的次數,亦可增加資料讀取的效率。
接著以圖4A以及圖4B再次說明本發明之資料管理方法實施例。接著請先參考圖4A,圖4A為未使用本發明之資料管理方法示意圖,圖中橫軸為時間Time,元件符號401所指的為主機20藉由讀取指令向記憶體控制器11所要求的目標資料,元件符號402所指的為記憶體控制器11根據讀取指令儲存至資料暫時儲存裝置13的資料(資料頁),元件符號403所指的為由資料暫時儲存裝置13移除的資料(資料頁),此實施例中,並以資料暫時儲存裝置13具有七個資料頁容量的儲存容量為例來進行說明。當主機20在時間T1發出第一個讀取指令,且為讀取檔案a的資料a11的讀取指令時,記憶體控制器11從非揮發性記憶體12讀取資料頁P1並將包括資料a11、資料a12以及資料a13的資料頁P1儲存至資料暫時儲存裝置13中。接著在時間T2,主機20發出了讀取檔案b的資料b11的讀取指令,此時記憶體控制器11仍在進行資料頁P1的處理而無法處理此讀取指令。直到時間T3,記憶體控制器11從非揮發性記憶體12讀取資料頁P4並將包括資料b11、資料b12以及資料b13儲存於資料暫時儲存裝置13中。在時間T3時,主機20發出了讀取檔案a的資料a12的讀取指令,因此時資料頁P1僅剩下資料a13尚未被讀取,而為了增進資料讀取速率,記憶體控制器11讀取後續資料頁,即資料頁P2,並將後續資料頁所包括的資料a21、資料a22以及資料a23預先儲存至資料暫時儲存裝置13中,但此時記憶體控制器11正進行資料頁P4的處理,因此直到時間T5,記憶體控制器11才從非揮發性記憶體12讀取後續資料頁並將資料a21、資料a22以及資料a23儲存於資料暫時儲存裝置13中。記憶體控制器11並以相同方式根據資料b12的讀取指令,於時間T7時由非揮發性記憶體12讀取後續資料頁,即資料頁P5,並將後續資料頁之資料b21、資料b22以及資料b23儲存至資料暫時儲存裝置13中。在時間T7,記憶體控制器11將根據讀取檔案c的資料c11的讀取指令準備讀取資料頁P7並將資料頁P7所包括的資料c11、資料c12以及資料c13儲存至資料暫時儲存裝置13中,但此時記憶體控制器11正進行資料頁P5的處理,因此直到時間T9,記憶體控制器11才從非揮發性記憶體12讀取資料頁P7並將資料c11、資料c12以及資料c13儲存於資料暫時儲存裝置13中。在時間T10,記憶體控制器11將根據讀取檔案d的資料d11的讀取指令準備讀取資料頁P10並將資料頁P10所包括的資料d11、資料d12以及資料d13儲存至資料暫時儲存裝置13中,但此時記憶體控制器11正進行資料頁P7的處理,因此直到時間T11,記憶體控制器11才從非揮發性記憶體12讀取資料頁P10並將資料d11、資料d12以及資料d13儲存於資料暫時儲存裝置13中。在時間T11,記憶體控制器11將根據讀取檔案c的資料c12的讀取指令準備讀取後續資料頁,即資料頁P8,並將後續資料頁所包括的資料c21、資料c22以及資料c23儲存至資料暫時儲存裝置13中,但此時記憶體控制器11正進行資料頁P10的處理,因此直到時間T13,記憶體控制器11才從非揮發性記憶體12讀取後續資料頁並將資料c21、資料c22以及資料c23儲存於資料暫時儲存裝置13中。在時間T12,記憶體控制器11將根據讀取檔案a的資料a22的讀取指令準備讀取後續資料頁,即資料頁P3,並將後續資料頁所包括的資料a31、資料a32以及資料a33儲存至資料暫時儲存裝置13中,但此時記憶體控制器11正進行資料頁P10的處理,且尚有後續資料頁等待被儲存至資料暫時儲存裝置13中,因此直到時間T15,記憶體控制器11才準備從非揮發性記憶體12讀取後續資料頁,然由於資料暫時儲存裝置13在此時點已經存滿了七個資料頁的資料量,即資料頁P1、資料頁P4、資料頁P2、資料頁P5、資料頁P7、資料頁P10以及資料頁P8,因此記憶體控制器11必須移除當前儲存於資料暫時儲存裝置13的資料,例如資料頁P1的資料,因此資料暫時儲存裝置13才具有足夠的空間儲存資料頁P3的資料a31、資料a32以及資料a33。同樣在時間T17,記憶體控制器11準備將後續資料頁,即資料頁P6,以及其所包含的資料b31、資料b32以及資料b33儲存至資料暫時儲存裝置13,然同時資料暫時儲存裝置13已經存滿了七個資料頁的資料量,因此記憶體控制器11必須先移除資料,例如資料頁P4的資料,記憶體控制器11才能將資料頁P6以及其所包含的資料b31、資料b32以及資料b33儲存至資料暫時儲存裝置13中。同樣的,在時間T19,記憶體控制器11必須先移除資料頁P2的資料,記憶體控制器11才能將後續資料頁,即資料頁P11,以及其所包含的資料d21、資料d22以及資料d23儲存至資料暫時儲存裝置13中。在時間T21時,主機20再次發出了讀取檔案b的資料b11的讀取指令,但對應資料b11的資料頁P4在時間T17被記憶體控制器11由資料暫時儲存裝置13移除,因此當主機20在時間T21需要再次讀取資料b11時,記憶體控制器11需要再次從非揮發性記憶體12讀取資料頁P4,因而增加讀取非揮發性記憶體12的次數。
接著請參考圖4B,圖4B為使用本發明之資料管理方法示意圖。圖中橫軸為時間Time,其中,元件符號401所指的為主機20藉由讀取指令向記憶體控制器11所要求的目標資料,元件符號402a所指的為記憶體控制器11根據讀取指令儲存至資料暫時儲存裝置13的第一儲存空間131的多個資料頁,元件符號402b所指的為記憶體控制器11根據讀取指令儲存至資料暫時儲存裝置13的第二儲存空間132的多個資料頁,元件符號403所指的為由資料暫時儲存裝置13移除的資料以及資料頁,此實施例中,資料暫時儲存裝置13例如具有七個資料頁的儲存容量,第一儲存空間131具有五個資料頁的儲存容量,第二儲存空間132具有二個資料頁的儲存容量,並以此為例來進行說明。圖4A與圖4B中相同的時間元件符號指的為相同時點,例如圖4A中的時間T1的時點與圖4B的時間T1相同,以此類推其他相同的時間元件符號。
首先與圖4A雷同,記憶體控制器11根據主機20讀取檔案a的資料a11的讀取指令從非揮發性記憶體12讀取資料頁P1,而由於資料頁P1的讀取次數在上述的步驟S207被判斷為小於或等於讀取門檻值,因此記憶體控制器11將資料頁P1所包含的資料a11、資料a12以及資料a13儲存至上述的第一儲存空間131。在時間T3,記憶體控制器11根據主機20讀取檔案b的資料b11的的讀取指令從非揮發性記憶體12讀取資料頁P4,而由於資料頁P4的讀取次數在上述的步驟S207被判斷為大於讀取門檻值,因此記憶體控制器11將資料頁P4所包含的資料b11、資料b12以及資料b13儲存至上述的第二儲存空間131。在時間T5時,與圖4A相同,記憶體控制器11準備根據資料a12的讀取指令將後續資料頁,即資料頁P2,從非揮發性記憶體12預先儲存至資料暫時儲存裝置13中,由於後續資料頁在上述的步驟S207被判斷為小於或等於讀取門檻值,因此記憶體控制器11將資料頁P2所包含的資料a21、資料a22以及資料a23儲存至上述的第一儲存空間131。在時間T7,記憶體控制器11準備根據資料b12的讀取指令將後續資料頁,即資料頁P5,從非揮發性記憶體12預先儲存至資料暫時儲存裝置13中,由於後續資料頁P5在上述的步驟S207被判斷為大於讀取門檻值,因此記憶體控制器11將資料頁P5所包含的資料b21、資料b22以及資料b23儲存至上述的第二儲存空間131。接著記憶體控制器11根據上述方式依序讀取資料頁P7、資料頁P10以及資料頁P8,且由於資料頁P7、資料頁P10以及資料頁P8在上述的步驟S207中,被判斷為小於或等於讀取門檻值,因此記憶體控制器11將資料c11、資料c12、資料c13、資料d11、資料d12、資料d13、資料c21、資料c22以及資料c23儲存至上述的第一儲存空間131。在時間T15,第一儲存空間131儲存了資料頁P1、資料頁P2、資料頁P7、資料頁P10以及資料頁P8,也就是說第一儲存空間131在時間T15已儲存了五個資料頁容量的資料量,因此當時間T15,記憶體控制器11根據主機20的讀取指令讀取資料a22的後續資料頁,即資料頁P3,且後續資料頁於上述的步驟S207被判斷為小於或等於讀取門檻值時,記憶體控制器11需移除先前儲存於第一儲存空間131的資料頁,例如為資料頁P1後,才能將資料頁P3儲存於第一儲存空間131。在時間T17,記憶體控制器11根據主機20的讀取指令讀取資料b22的後續資料頁,即資料頁P6,且後續資料頁之讀取次數於上述的步驟S207被判斷為小於或等於讀取門檻值時,記憶體控制器11需移除先前儲存於第一儲存空間131的資料頁,例如資料頁P2後,才能將資料頁P6儲存於第一儲存空間131。在時間T19,記憶體控制器11根據主機20的讀取指令讀取資料d12的後續資料頁,即資料頁P11,且後續資料頁之讀取次數於上述的步驟S207被判斷為小於或等於讀取門檻值時,記憶體控制器11需移除先前儲存於第一儲存空間131的資料頁,例如資料頁P7後,才能將資料頁P11儲存於第一儲存空間131。在時間T21時,記憶體控制器11根據主機20的讀取指令讀取資料b11時,相較於圖4A的實施例需要再次由非揮發性記憶體12中讀取資料b11所對應的資料頁P4,在本實施例中,記憶體控制器11可直接由第二儲存空間132讀取資料b11,而不用再次由非揮發性記憶體12中讀取資料b11,因此本實施例相較於圖4A的實施例,可有效減少非揮發性記憶體11讀取的次數。
本發明藉由資料頁的讀取次數區分為較常被讀取的資料頁以及較少被讀取的資料頁,並將較常被讀取的資料頁所對應的資料儲存於特定空間,如上述之第二儲存空間132,且藉由上述步驟S223以及步驟S225,降低此特定空間的資料的移除/寫入頻率,增加資料儲存於特定空間的時間,因此當較常被讀取的資料(資料頁)再次被讀取時,記憶體控制器11可直接由資料暫時儲存裝置13讀取,而有效減少非揮發性記憶體被讀取的次數。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何熟習此技術者,在不脫離本發明之精神和範圍內,當可做些許之更動與潤飾,因此本發明之保護範圍當視後付之申請專利範圍所界定者為準。
10‧‧‧資料儲存裝置
11‧‧‧記憶體控制器
111‧‧‧第一通訊介面
112‧‧‧第二通訊介面
113‧‧‧第三通訊介面
114‧‧‧微處理器
12‧‧‧非揮發性記憶體
13‧‧‧資料暫時儲存裝置
131‧‧‧第一儲存空間
132‧‧‧第二儲存空間
20‧‧‧主機
S201、S203、S205、S206、S207、S209、S211、S213、S215、S217、S219、S221、S223、S225、S227、S229、S231‧‧‧步驟
P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12‧‧‧資料頁
a11、a12、a13、a21、a22、a23、a31、a32、a33、b11、b12、b13、b21、b22、b23、b31、b32、b33、c11、c12、c13、c21、c22、c23、c31、c32、c33、d11、d12、d13、d21、d22、d23、d31、d32、d33‧‧‧資料
401‧‧‧目標資料
402‧‧‧資料頁
402a‧‧‧資料頁
402b‧‧‧資料頁
403‧‧‧資料頁
T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21‧‧‧時間
11‧‧‧記憶體控制器
111‧‧‧第一通訊介面
112‧‧‧第二通訊介面
113‧‧‧第三通訊介面
114‧‧‧微處理器
12‧‧‧非揮發性記憶體
13‧‧‧資料暫時儲存裝置
131‧‧‧第一儲存空間
132‧‧‧第二儲存空間
20‧‧‧主機
S201、S203、S205、S206、S207、S209、S211、S213、S215、S217、S219、S221、S223、S225、S227、S229、S231‧‧‧步驟
P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12‧‧‧資料頁
a11、a12、a13、a21、a22、a23、a31、a32、a33、b11、b12、b13、b21、b22、b23、b31、b32、b33、c11、c12、c13、c21、c22、c23、c31、c32、c33、d11、d12、d13、d21、d22、d23、d31、d32、d33‧‧‧資料
401‧‧‧目標資料
402‧‧‧資料頁
402a‧‧‧資料頁
402b‧‧‧資料頁
403‧‧‧資料頁
T1、T2、T3、T4、T5、T6、T7、T8、T9、T10、T11、T12、T13、T14、T15、T16、T17、T18、T19、T20、T21‧‧‧時間
圖1為本發明之資料儲存裝置實施例示意圖。 圖2A為本發明之資料管理方法流程實施例一示意圖。 圖2B為本發明之第一儲存空間資料管理方法流程實施例一示意圖。 圖2C為本發明之第二儲存空間資料管理方法流程實施例一示意圖。 圖2D為本發明之資料預先讀取方法流程實施例一示意圖。 圖3A為本發明之資料頁實施例示意圖。 圖3B為本發明之資料暫時儲存裝置儲存實施例一之示意圖。 圖3C為本發明之資料暫時儲存裝置儲存實施例一之另一示意圖。 圖3D為本發明之資料暫時儲存裝置儲存實施例二之示意圖。 圖3E為本發明之資料暫時儲存裝置儲存實施例二之另一示意圖。 圖4A為資料管理方法實施例示意圖。 圖4B為本發明之資料管理方法實施例示意圖。
S201、S203、S205、206、S207、S213、S219、S227‧‧‧步驟
Claims (32)
- 一種資料儲存裝置的資料管理方法,其步驟包括: 接收一讀取指令; 當該讀取指令對應的一目標資料儲存於一非揮發性記憶體,由該非揮發性記憶體中讀取包含該目標資料的一資料頁; 判斷該資料頁之一讀取次數是否大於一讀取門檻值; 當判斷為否,儲存至少一後續資料至一資料暫時儲存裝置的一第一儲存空間;以及 當判斷為是,儲存至少一該後續資料至該資料暫時儲存裝置的一第二儲存空間; 其中,該目標資料與至少一該後續資料皆儲存於該資料頁,且該目標資料與至少一該後續資料在資料讀取上有前後之關係。
- 如第1項所述之資料管理方法,其中,當判斷為否,儲存至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間之步驟包括: 判斷該第一儲存空間是否具有足夠的儲存空間;以及 當判斷為否,移除該第一儲存空間的一舊資料以儲存至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間。
- 如第1項所述之資料管理方法,其中,當判斷為是,儲存至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間之步驟包括: 判斷該第二儲存空間是否具有足夠的儲存空間;以及 當判斷為否,移除該第二儲存空間中的一舊資料以儲存至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第1項所述之資料管理方法,其中當該讀取指令對應的該目標資料儲存於該非揮發性記憶體,由該非揮發性記憶體中讀取包含該目標資料的該資料頁之步驟更包括: 當該目標資料儲存於該資料暫時儲存裝置,由該第一儲存空間或該第二儲存空間讀取該目標資料。
- 如第1項所述之資料管理方法,其中,判斷該資料頁之該讀取次數是否大於該讀取門檻值之步驟更包括: 增加該目標資料所對應之該資料頁的該讀取次數。
- 如第4項所述之資料管理方法,其中,當該目標資料儲存於該資料暫時儲存裝置,由該第一儲存空間或該第二儲存空間讀取該目標資料之步驟更包括: 判斷儲存於該資料暫時儲存裝置的一剩餘資料的一資料量是否大於一資料門檻值,其中,該剩餘資料為部份的至少一該後續資料; 當判斷為否,讀取一後續資料頁; 判斷該後續資料頁之該讀取次數是否大於該讀取門檻值; 當判斷為否,儲存該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間;以及 當判斷為是,儲存該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第6項所述之資料管理方法,其中,當判斷為否,讀取該後續資料頁之步驟更包括: 增加該後續資料頁的該讀取次數。
- 如第1項所述之資料管理方法,其中,該非揮發性記憶體包括多個資料區塊,每一該等資料區塊包括多個該資料頁,該目標資料以及至少一該後續資料儲存於其中之一該等資料頁。
- 一種資料儲存裝置的資料管理方法,其步驟包括: 接收一讀取指令; 根據該讀取指令由一非揮發性記憶體讀取包含一目標資料的一資料頁; 判斷該資料頁之一讀取次數是否大於一讀取門檻值; 當判斷為否,紀錄至少一後續資料至一資料暫時儲存裝置的一第一儲存空間;以及 當判斷為是,紀錄至少一該後續資料至該資料暫時儲存裝置的一第二儲存空間; 其中,該目標資料與至少一該後續資料皆儲存於該資料頁,且該目標資料與至少一該後續資料在資料讀取上有前後之關係。
- 如第9項所述之資料管理方法,其中,當判斷為否,紀錄至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間之步驟包括: 判斷該第一儲存空間是否具有足夠的儲存空間; 當判斷為否,移除該第一儲存空間的一舊資料,以紀錄至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間。
- 如第9項所述之資料管理方法,其中,當判斷為是,紀錄至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間的步驟包括: 判斷該第二儲存空間是否具有足夠的儲存空間; 當判斷為否,移除該第二儲存空間中的一舊資料,以紀錄至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第9項所述之資料管理方法,其中,根據該讀取指令由該非揮發性記憶體讀取包含該目標資料的該資料頁之步驟更包括: 根據該讀取指令由該資料暫時儲存裝置的該第一儲存空間或該第二儲存空間讀取該目標資料。
- 如第9項所述之資料管理方法,其中,判斷該資料頁之該讀取次數是否大於該讀取門檻值之步驟更包括: 增加該目標資料所對應之該資料頁的該讀取次數。
- 如第12項所述之資料管理方法,其中,根據該讀取指令由該資料暫時儲存裝置的該第一儲存空間或該第二儲存空間讀取該目標資料之步驟更包括: 判斷儲存於該資料暫時儲存裝置的一剩餘資料的一資料量是否大於一資料門檻值,其中,該剩餘資料為部份的至少一該後續資料; 當判斷為否,讀取一後續資料頁; 判斷該後續資料頁之該讀取次數是否大於該讀取門檻值; 當判斷為否,紀錄該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間;以及 當判斷為是,紀錄該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第14項所述之資料管理方法,其中,當判斷為否,讀取該後續資料頁之步驟更包括: 增加該後續資料頁的該讀取次數。
- 如第9項所述之資料管理方法,其中,該非揮發性記憶體包括多個資料區塊,每一該等資料區塊包括多個該資料頁,該目標資料以及至少一該後續資料儲存於其中之一該等資料頁。
- 一種用於資料管理方法的資料儲存裝置,其包括: 一非揮發性記憶體; 一資料暫時儲存裝置,該資料暫時儲存裝置包括一第一儲存空間以及一第二儲存空間;以及 一記憶體控制器,該記憶體控制器與該非揮發性記憶體、以及該資料暫時儲存裝置電性耦接,該記憶體控制器是用以接收對應一目標資料的一讀取指令,當該目標資料儲存於該非揮發性記憶體,該記憶體控制器由該非揮發性記憶體讀取包含該目標資料的一資料頁,該記憶體控制器並判斷該資料頁之一讀取次數是否大於一讀取門檻值,當判斷為否,該記憶體控制器儲存至少一後續資料至該資料暫時儲存裝置的該第一儲存空間,當判斷為是,該記憶體控制器儲存至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間,其中,該目標資料與至少一該後續資料皆儲存於該資料頁,且該目標資料與至少一該後續資料在資料讀取上有前後之關係。
- 如第17項所述之資料儲存裝置,其中,該記憶體控制器用以判斷該第一儲存空間是否具有足夠的儲存空間,當判斷為否,該記憶體控制器移除該第一儲存空間的一舊資料以儲存至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間。
- 如第17項所述之資料儲存裝置,其中,該記憶體控制器是用以判斷該第二儲存空間是否具有足夠的儲存空間,當判斷為否,該記憶體控制器移除該第二儲存空間中的一舊資料以儲存至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第17項所述之資料儲存裝置,其中,當該目標資料儲存於該資料暫時儲存裝置,該記憶體控制器由該第一儲存空間或該第二儲存空間讀取該目標資料。
- 如第17項所述之資料儲存裝置,其中,該記憶體控制器用以增加該目標資料所對應之該資料頁的該讀取次數。
- 如第17項所述之資料儲存裝置,其中,該記憶體控制器用以判斷儲存於該資料暫時儲存裝置的一剩餘資料的一資料量是否大於一資料門檻值,其中,該剩餘資料為部份的至少一該後續資料,當判斷為否,該記憶體控制器讀取一後續資料頁,該記憶體控制器並判斷該後續資料頁之該讀取次數是否大於該讀取門檻值,當判斷為否,該記憶體控制器儲存該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間,當判斷為是,該記憶體控制器儲存該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第22項所述之資料儲存裝置,其中,該記憶體控制器用以增加該後續資料頁的該讀取次數。
- 如第17項所述之資料儲存裝置,其中,該非揮發性記憶體包括多個資料區塊,每一該等資料區塊包括該等資料頁,該目標資料以及至少一該後續資料儲存於其中之一該等資料頁。
- 一種用於資料管理方法的記憶體控制器,其包括: 一第一通訊介面,用以與一非揮發性記憶體通訊以存取該非揮發性記憶體; 一第二通訊介面,用以與一資料暫時儲存裝置通訊以存取該資料暫時儲存裝置的一第一儲存空間以及一第二儲存空間; 一第三通訊介面,用以與一主機通訊以接收來自該主機之一讀取指令;以及 一微處理器,與該第一通訊介面、該第二通訊介面以及該第三通訊介面電性耦接,該微處理器用以根據該讀取指令由該非揮發性記憶體讀取包含一目標資料的一資料頁,該微處理器並用以判斷該資料頁之一讀取次數是否大於一讀取門檻值,當判斷為否,該微處理器紀錄至少一後續資料至該資料暫時儲存裝置的該第一儲存空間,當判斷為是,該微處理器紀錄至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間,其中,該目標資料與至少一該後續資料儲存於該資料頁,且該目標資料與至少一該後續資料在資料讀取上有前後之關係。
- 如第25項所述之記憶體控制器,其中,該微處理器用以判斷該第一儲存空間是否具有足夠的儲存空間,當判斷為否,該微處理器移除該第一儲存空間的一舊資料以紀錄至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間。
- 如第25項所述之記憶體控制器,其中,該微處理器用以判斷該第二儲存空間是否具有足夠的儲存空間,當判斷為否,該微處理器移除該第二儲存空間中的一舊資料以紀錄至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第25項所述之記憶體控制器,其中,該微處理器用以根據該讀取指令由該第一儲存空間或該第二儲存空間讀取該目標資料。
- 如第25項所述之記憶體控制器,其中,該微處理器用以增加該目標資料所對應之該資料頁的該讀取次數。
- 如第25項所述之記憶體控制器,其中,該微處理器用以判斷紀錄於該資料暫時儲存裝置的一剩餘資料的一資料量是否大於一資料門檻值,其中,該剩餘資料為部份的至少一該後續資料,當判斷為否,該微處理器讀取一後續資料頁,該微處理器並判斷該後續資料頁之該讀取次數是否大於該讀取門檻值,當判斷為否,該微處理器紀錄該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第一儲存空間,當判斷為是,該微處理器紀錄該後續資料頁的至少一該後續資料至該資料暫時儲存裝置的該第二儲存空間。
- 如第30項所述之記憶體控制器,其中,該微處理器用以增加該後續資料頁的該讀取次數。
- 如第25項所述之記憶體控制器,其中,該非揮發性記憶體包括多個資料區塊,每一該等資料區塊包括該些資料頁,該目標資料以及至少一該後續資料儲存於其中之一該等資料頁。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105125096A TWI592943B (zh) | 2016-08-08 | 2016-08-08 | 資料儲存裝置、記憶體控制器及其資料管理方法 |
CN201710077455.7A CN107203476B (zh) | 2016-03-18 | 2017-02-14 | 数据储存装置、存储器控制器及其数据管理方法 |
US15/437,401 US10353589B2 (en) | 2016-03-18 | 2017-02-20 | Data storage device and data management method for data storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105125096A TWI592943B (zh) | 2016-08-08 | 2016-08-08 | 資料儲存裝置、記憶體控制器及其資料管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI592943B true TWI592943B (zh) | 2017-07-21 |
TW201805937A TW201805937A (zh) | 2018-02-16 |
Family
ID=60048654
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105125096A TWI592943B (zh) | 2016-03-18 | 2016-08-08 | 資料儲存裝置、記憶體控制器及其資料管理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI592943B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389716A (zh) * | 2018-04-19 | 2019-10-29 | 慧荣科技股份有限公司 | 数据存储装置及应用其的预防数据错误方法 |
-
2016
- 2016-08-08 TW TW105125096A patent/TWI592943B/zh active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110389716A (zh) * | 2018-04-19 | 2019-10-29 | 慧荣科技股份有限公司 | 数据存储装置及应用其的预防数据错误方法 |
CN110389716B (zh) * | 2018-04-19 | 2022-11-25 | 慧荣科技股份有限公司 | 数据存储装置及应用其的预防数据错误方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201805937A (zh) | 2018-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2631916B1 (en) | Data deletion method and apparatus | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
US20150058534A1 (en) | Managing method for cache memory of solid state drive | |
US10203899B2 (en) | Method for writing data into flash memory apparatus, flash memory apparatus, and storage system | |
US10067873B2 (en) | Data storage device and operating method thereof | |
EP3142014B1 (en) | Method, device and user equipment for reading/writing data in nand flash | |
CN106557428B (zh) | 数据存储设备的映射系统选择 | |
US11269783B2 (en) | Operating method for data storage device | |
US11537328B2 (en) | Method and apparatus for executing host commands | |
EP3869343B1 (en) | Storage device and operating method thereof | |
US20190130135A1 (en) | Memory system and storage device capable of permanently deleting data stored in a non-volatile memory | |
US9552289B1 (en) | Bitwise addressing of entries in a forward lookup table | |
CN111880723A (zh) | 数据储存装置与数据处理方法 | |
US9524236B1 (en) | Systems and methods for performing memory management based on data access properties | |
JP6975202B2 (ja) | 瞬断からの回復処理方法及び装置、並びにコンピュータ読み取り可能な記憶媒体 | |
US9928177B2 (en) | Managing method for cache memory of solid state drive | |
US9880930B2 (en) | Method for operating controller and method for operating device including the same | |
US20170269834A1 (en) | Data storage device and data management method thereof | |
TWI592943B (zh) | 資料儲存裝置、記憶體控制器及其資料管理方法 | |
CN107203476B (zh) | 数据储存装置、存储器控制器及其数据管理方法 | |
CN112825025A (zh) | 控制器及其操作方法 | |
EP2381354A2 (en) | Data recording device | |
TW201814527A (zh) | 非依電性記憶體裝置及其位址分類方法 | |
TWI604306B (zh) | 資料儲存裝置、記憶體控制器及其資料管理方法 | |
CN107203332B (zh) | 数据储存装置、闪存控制器及其操作方法 |