TWI385518B - 用於快閃記憶體的資料儲存方法及儲存系統 - Google Patents
用於快閃記憶體的資料儲存方法及儲存系統 Download PDFInfo
- Publication number
- TWI385518B TWI385518B TW098109172A TW98109172A TWI385518B TW I385518 B TWI385518 B TW I385518B TW 098109172 A TW098109172 A TW 098109172A TW 98109172 A TW98109172 A TW 98109172A TW I385518 B TWI385518 B TW I385518B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- storage
- written
- logical blocks
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本發明是有關於一種資料儲存方法及資料儲存系統,且特別是有關於一種用於在快閃記憶體中寫入資料的資料儲存方法及使用此資料儲存方法的資料儲存系統。
數位相機、手機與MP3在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於快閃記憶體(Flash Memory)具有資料非揮發性、省電、體積小與無機械結構等的特性,適合可攜式應用,最適合使用於這類可攜式由電池供電的產品上。固態硬碟就是一種以NAND快閃記憶體作為儲存媒體的儲存裝置。
一般來說,快閃記憶體儲存裝置中的快閃記憶體模組會具有多個實體區塊,且這些實體區塊會由快閃記憶體儲存裝置的快閃記憶體控制器邏輯地分組為系統區(system area)、資料區(data area)、備用區(spare area)與取代區(replacement area)。系統區的實體區塊是用以儲存快閃記憶體儲存裝置的相關重要資訊,而取代區的實體區塊是用以取代資料區或備用區中已損壞的實體區塊損壞,因此在一般存取狀態下,主機系統是無法存取系統區與取代區中的實體區塊。至於歸類為資料區的實體區塊中會儲存由寫入指令所寫入的有效資料,而備用區中的實體區塊是用以在執行寫入指令時替換資料區中的實體區塊。具體來說,當快閃記憶體儲存裝置接受到主機系統的寫入指令而欲對資料區的實體區塊進行寫入時,快閃記憶體儲存裝置會從備用區中提取一實體區塊並且將在資料區中欲寫入的實體區塊中的有效舊資料與欲寫入的新資料寫入至從備用區中提取的實體區塊中並且將已寫入新資料的實體區塊邏輯地關聯為資料區,並且將原本資料區的實體區塊進行抹除並邏輯地關聯為備用區。為了能夠讓主機系統能夠順利地存取以輪替方式儲存資料的實體區塊,快閃記憶體儲存裝置會提供邏輯區塊給主機系統。也就是說,快閃記憶體儲存裝置會透過在邏輯位址-實體位址對映表(logical address-physical address mapping table)中記錄與更新邏輯區塊與資料區的實體區塊之間的對映關係來反映實體區塊的輪替,所以主機系統僅需要針對所提供邏輯區塊進行寫入而快閃記憶體儲存裝置會依據邏輯位址-實體位址對映表對所對映的實體區塊進行讀取或寫入資料。
在上述快閃記憶體儲存裝置的運作架構下,倘若電腦系統在一快閃記憶體儲存位址中經常性地反覆地寫入與更新資料量較小的資料時,快閃記憶體憶體儲存系統會需要執行上述資料搬移與抹除動作,特別是當所需搬移的資料量較大時,快閃記憶體儲存裝置的存取速度會大幅的降低。此外,實體區塊的抹除次數是有限的(例如,實體區塊抹除一萬次後就會損壞),因此在頻繁地抹除實體區塊下快閃記憶體儲存裝置的壽命將大幅縮短。
然而,習知快閃記憶體儲存裝置無法辨識電腦系統對於每一快閃記憶體儲存位址的使用態樣(例如,所寫入的資料是否為經常性地反覆地更新的小資料),因此習知快閃記憶體儲存裝置無法依據不同的使用特性來在快閃記憶體儲存位址中執行資料的儲存,因此會使得快閃記憶體儲存裝置產生存取速度大幅降低及壽命大幅縮短等問題。
本發明提供一種資料儲存方法,其能夠有效地提升快閃記憶體儲存裝置的儲存速度並延長快閃記憶體儲存裝置的壽命。
本發明提供一種資料儲存系統,其能夠有效地提升儲存速度並延長使用壽命。
本發明提出一種資料儲存方法,此方法包括提供一儲存裝置與一態樣分析單元,其中所提供之儲存裝置具有一控制電路與多個快閃記憶體儲存位址,並且此態樣分析單元是由一主機控制。此方法還包括在上述控制電路中配置一態樣識別單元。方法更包括使用態樣分析單元來記錄每一快閃記憶體儲存位址的使用態樣,透過態樣識別單元接收態樣分析單元中所傳送之資訊,以與識別每一快閃記憶體儲存位址的使用態樣,以及依據每一快閃記憶體儲存位址的使用態樣來儲存欲寫入至每一快閃記憶體儲存位址的資料。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一快閃記憶體儲存位址的使用態樣的步驟包括:使用態樣分析單元來記錄每一邏輯區塊是否屬於一頻繁更新態樣。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一邏輯區塊是否屬於頻繁更新態樣的步驟包括:將儲存檔案系統表的每一邏輯區塊識別為頻繁更新態樣。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一邏輯區塊是否屬於頻繁更新態樣的步驟包括:將寫入次數超過一寫入次數門檻值的每一邏輯區塊識別為該頻繁更新態樣。
在本發明之一實施例中,上述之快閃記憶體儲存裝置具有一緩衝儲存區,其中依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:當欲寫入資料的邏輯區塊屬於上述頻繁更新態樣時,則將資料暫時地儲存在緩衝儲存區中。
在本發明之一實施例中,上述之實體區塊具有多個下頁與多個上頁,其中依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:當欲寫入資料的邏輯區塊屬於頻繁更新態樣時,則僅在下頁中寫入資料。
在本發明之一實施例中,上述之依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:當欲寫入資料的邏輯區塊屬於頻繁更新態樣時,則以一混亂寫入模式來將資料寫入至實體區塊中。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一快閃記憶體儲存位址的使用態樣的步驟包括:使用態樣分析單元來記錄每一邏輯區塊是否屬於一連續儲存態樣。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一邏輯區塊是否屬於連續儲存態樣的步驟包括:當邏輯區塊的一大資料寫入次數大於一小資料寫入次數時,則將對應的邏輯區塊識別為連續儲存態樣。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一邏輯區塊是否屬於連續儲存態樣的步驟包括:當寫入至邏輯區塊的資料長度大於一資料量門檻值時,則將對應的邏輯區塊識別為連續儲存態樣。
在本發明之一實施例中,上述之依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:當欲寫入資料的邏輯區塊屬於上述連續儲存態樣時,則將資料直接地寫入至欲寫入資料的邏輯區塊所對映的實體區塊中。
在本發明之一實施例中,上述之快閃記憶體儲存裝置具有一緩衝儲存區,其中依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:當欲寫入資料的邏輯區塊不屬於連續儲存態樣時,則將資料寫入至緩衝儲存區或以一混亂寫入模式寫入至實體區塊中。
在本發明之一實施例中,上述之儲存裝置為一快閃記憶體模組,上述之主機為一快閃記憶體控制器,並且上述之快閃記憶體儲存位址為多個實體區塊。
在本發明之一實施例中,上述之使用態樣分析單元來記錄每一快閃記憶體儲存位址的使用態樣的步驟包括:使用態樣分析單元來記錄欲寫入之資料的一資料排列態樣。
在本發明之一實施例中,上述之依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料的步驟包括:依據欲寫入之資料的資料排列態樣來編碼轉換此資料,並且將編碼轉換後的資料寫入至上述實體區塊中。
本發明提出一種資料儲存系統,其包括主機、儲存裝置以及態樣分析單元。儲存裝置是耦接至主機,其中此儲存裝置具有控制電路與多個快閃記憶體儲存位址,並且控制電路具有一態樣識別單元。態樣分析單元是由主機控制以記錄每一快閃記憶體儲存位址的使用態樣,其中態樣識別單元會接收態樣分析單元所傳送之訊息,以識別每一快閃記憶體儲存位址的使用態樣並且控制電路會依據每一快閃記憶體儲存位址的使用態樣儲存欲寫入至每一快閃記憶體儲存位址的資料。
在本發明之一實施例中,上述之儲存裝置為具有一快閃記憶體模組的一快閃記憶體儲存裝置,上述之主機為一電腦系統,並且上述之快閃記憶體儲存位址為多個邏輯區塊,其中快閃記憶體模組具有多個實體區塊並且每一邏輯區塊對映至少一個實體區塊。
在本發明之一實施例中,上述之態樣分析單元用以記錄每一邏輯區塊是否屬於一頻繁更新態樣作為每一邏輯區塊的使用態樣。
在本發明之一實施例中,上述之態樣分析單元識別儲存一檔案系統表的邏輯區塊為該頻繁更新態樣。
在本發明之一實施例中,當邏輯區塊的寫入次數超過一寫入次數門檻值時,則態樣分析單元會識別對應的邏輯區塊為頻繁更新態樣。
在本發明之一實施例中,上述之快閃記憶體儲存裝置具有一緩衝儲存區,其中當態樣識別單元識別欲寫入資料的邏輯區塊屬於頻繁更新態樣時,則快閃記憶體控制器會將欲寫入之資料暫時地儲存在緩衝儲存區中。
在本發明之一實施例中,上述之實體區塊具有多個下頁與多個上頁,其中當態樣識別單元識別欲寫入資料的邏輯區塊屬於頻繁更新態樣時,則快閃記憶體控制器會僅在下頁中寫入資料。
在本發明之一實施例中,當欲寫入資料的邏輯區塊屬於頻繁更新態樣時,則快閃記憶體控制器會以一混亂寫入模式來將資料寫入至實體區塊。
在本發明之一實施例中,上述之緩衝儲存區包括一動態隨機存取記憶體或一快閃記憶體暫存區,其中快閃記憶體暫存區是由上述之實體區塊的至少其中之一所組成。
在本發明之一實施例中,上述之態樣分析單元記錄每一邏輯區塊是否屬於一連續儲存態樣作為每一邏輯區塊的使用狀態。
在本發明之一實施例中,當邏輯區塊的一大資料寫入次數大於一小資料寫入次數時,則態樣分析單元會將對應的邏輯區塊識別為連續儲存態樣。
在本發明之一實施例中,當寫入至邏輯區塊的資料長度大於一資料量門檻值時,則態樣分析單元會將對應的邏輯區塊識別為連續儲存態樣。
在本發明之一實施例中,當上述之態樣識別單元識別欲寫入資料的邏輯區塊屬於連續儲存態樣時,則快閃記憶體控制器會將欲寫入之資料直接地寫入至欲寫入此資料的邏輯區塊所對映的實體區塊中。
在本發明之一實施例中,當態樣識別單元識別欲寫入資料的邏輯區塊不屬於連續儲存態樣時,則快閃記憶體控制器會將資料寫入至緩衝儲存區或以一混亂寫入模式寫入至實體區塊中。
在本發明之一實施例中,上述之儲存裝置為一快閃記憶體模組,上述之主機為一快閃記憶體控制器,並且上述之快閃記憶體儲存位址為多個實體區塊。
在本發明之一實施例中,上述之態樣分析單元用以記錄欲寫入之資料的一資料排列態樣作為每一實體區塊的使用態樣。
在本發明之一實施例中,上述之控制電路會依據欲寫入之資料的資料排列態樣來編碼轉換欲寫入之資料,並且將已編碼轉換後的資料寫入至實體區塊中。
基於上述,本發明能夠依據每一快閃記憶體儲存位址的使用態樣以及欲寫入資料之態樣來使用不同之處理方式來儲存資料,由此可有效地提升儲存系統的儲存速度及延長儲存系統的使用壽命。
為讓本發明之上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
本發明所提出的資料儲存方法中,主機會執行一態樣分析單元以記錄每一快閃記憶體儲存位址的使用態樣,並且透過在儲存裝置與主機之間所配置的態樣識別單元來將所記錄的使用態樣傳送給儲存裝置的控制電路。之後,儲存裝置的控制電路能夠依據主機對於每一快閃記憶體儲存位址的使用態樣來儲存資料,由此提升儲存裝置的存取速度與使用壽命。以下將以數個範例實施例並配合圖式來詳細說明本發明。
圖1是根據本發明第一範例實施例所繪示的資料儲存系統。
請參照圖1,資料儲存系統300包括快閃記憶體儲存裝置100、電腦主機200、態樣分析單元150。快閃記憶體儲存裝置100是與電腦主機200連接,以使電腦主機200可將資料寫入至快閃記憶體儲存裝置100或從快閃記憶體儲存裝置100中讀取資料。在本範例實施例中,快閃記憶體儲存裝置100為固態硬碟(Solid State Drive,SSD)。但必須瞭解的是,在本發明另一實施例中快閃記憶體儲存裝置100亦可以是記憶卡或隨身碟,此外,在本範例實施例中,態樣分析單元150是以一軟體型式安裝於電腦主機200來實作,然而,態樣分析單元150亦可以一韌體型式或硬體型式來實作。
快閃記憶體儲存裝置100包括快閃記憶體控制器110與快閃記憶體130。
快閃記憶體控制器110會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據電腦主機200的指令在快閃記憶體130中進行資料的寫入、讀取與抹除等。
快閃記憶體控制器110包括微處理器單元110a、記憶體管理單元110b、快閃記憶體介面單元110c、主機介面單元110d與態樣識別單元110e。。
微處理器單元110a用以與記憶體管理單元110b、快閃記憶體介面單元110c、主機介面單元110d與態樣識別單元110e等協同合作以進行快閃記憶體儲存裝置100的各種運作。
記憶體管理單元110b是耦接至微處理器單元110a,並且用以執行根據本範例實施例的區塊管理機制與資料寫入機制。
在本實施例中,記憶體管理單元110b是以一韌體型式實作在控制器110中。例如,將包括多個程式指令的記憶體管理模組110b燒錄至一程式記憶體(例如,唯讀記憶體(Read Only Memory,ROM))中並且將此程式記憶體嵌入在快閃記憶體控制器110中,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個機器指令會由微處理器單元110a來執行以完成根據本發明實施例的區塊管理機制與資料寫入機制。
在本發明另一實施例中,記憶體管理單元110b的控制指令亦可以軟體型式儲存於快閃記憶體130的特定區域(例如,快閃記憶體中專用於存放系統資料的系統區)中。同樣的,當快閃記憶體儲存裝置100運作時,記憶體管理單元110b的多個控制指令會由微處理器單元110a來執行。此外,在本發明另一實施例中,記憶體管理單元110b亦可以一硬體型式實作在快閃記憶體控制器110中。
快閃記憶體介面單元110c是耦接至微處理器單元110a並且用以存取快閃記憶體130。也就是說,欲寫入至快閃記憶體130的資料會經由快閃記憶體介面單元110c轉換為快閃記憶體130所能接受的格式。
主機介面單元110d是耦接至微處理器單元110a並且用以接收與識別電腦主機200所傳送的指令。也就是說,電腦主機200所傳送的指令與資料會透過主機介面單元110d來傳送至微處理器單元110a。在本範例實施例中,主機介面單元110d為SATA介面。然而,必須瞭解的是本發明不限於此,主機介面單元110d亦可以是USB介面、IEEE 1394介面、PCI Express介面、MS介面、MMC介面、SD介面、CF介面、IDE介面或其他適合的資料傳輸介面。
態樣識別單元110e是耦接至微處理器單元110a並且用以接收與識別態樣分析單元150所傳送關於使用態樣的資料。
此外,雖未繪示於本實施例,但快閃記憶體控制器110亦更包括緩衝記憶體、錯誤校正單元與電源管理單元等用於控制快閃記憶體的一般功能模組。
緩衝儲存區120是耦接至快閃記憶體控制器110並且用以暫時地儲存電腦主機200欲寫入的資料。在本範例實施例中,緩衝儲存區120為動態隨機存取記憶體(Dynamic Random Access memory,DRAM)。然而,必須瞭解的是,本發明不限於此,磁阻式記憶體(Magnetoresistive Random Access Memory,MRAM)、相變化記憶體(Phase Change Random Access Memory,PRAM)、單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體或其他適合的記憶體亦可應用於本發明。特別是,緩衝儲存區120亦可以快閃記憶體130中的部分實體區塊來實作。
快閃記憶體130是電性連接至快閃記憶體控制器110。快閃記憶體130包括多個實體區塊130-0~130-N用以儲存資料。在本實施中快閃記憶體130為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體。然而,必須瞭解的是,本發明不限於此。在本發明另一實施例中,單層記憶胞(Single Level Cell,SLC)NAND快閃記憶體亦可應用於本發明。
在快閃記憶體130中,實體區塊為抹除之最小單位。亦即,每一實體區塊含有最小數目之一併被抹除之記憶胞。每一實體區塊通常會分割為數個頁面(page),例如一個實體區塊具有128個頁面。由於在本範例實施例中,快閃記憶體130為MLC NAND快閃記憶體,因此,頁面為程式化(program)的最小單元。換言之,頁面為寫入資料或讀取資料的最小單元。每一頁面通常包括資料位元區D與冗餘位元區R。資料位元區用以儲存一般資料,而冗餘位元區用以儲存系統資料(例如,錯誤檢查與校正碼(Error Checking and Correcting Code,ECC Code)。在本範例實施例中,快閃記憶體130的每一頁面具有8個扇區的容量,一般來說,一個扇區為512位元組,因此一個頁面為4千位元組(kilo byte,KB)。
值得一提的是,快閃記憶體130為多層記憶胞(Multi Level Cell,MLC)NAND快閃記憶體,因此快閃記憶體130之實體區塊的程式化可分為多階段。例如,以4層記憶胞為例,實體區塊的程式化可分為2階段。第一階段是下頁位址的寫入部分,其物理特性類似於單層記憶胞儲存單元,在完成第一階段之後才會程式化上頁,其中下頁位址的寫入速度會快於上頁位址。因此,每一實體區塊的頁面位址可區分為慢速頁面(即,上頁)與快速頁面(即,下頁)。類似地,在8層記憶胞或16層記憶胞的案例中,記憶胞會包括更多個頁面位址並且會以更多階段來寫入。在此,將寫入速度最快的頁面稱為下頁,其他寫入速度較慢的頁面統稱為上頁。
此外,特別說明的是,在其他快閃記憶體設計中(例如,SLC NAND快閃記憶體),最小的程式化單位亦可為一個扇區,也就是說,以一個扇區為程式化的最小單元。此外,在本發明另一範例實施例中,快閃記憶體130中的實體區塊也可被分組為數個區域(zone),以每一獨立的區域來管理實體區塊可增加操作執行的平行程度且簡化管理的複雜度。
圖2A~2C是根據本發明第一範例實施例所繪示之快閃記憶體的運作示意圖。
必須瞭解的是,在此描述快閃記憶體實體區塊的運作時,以“提取”、“搬移”、“交換”、“替換”、“輪替”、“分組”等詞來操作快閃記憶體130的實體區塊是邏輯上的概念。也就是說,快閃記憶體之實體區塊的實際位置並未更動,而是邏輯上對快閃記憶體的實體區塊進行操作。值得一提的是,下述的運作是由快閃記憶體控制器110所完成。
請參照圖2A,記憶體管理單元110b會將快閃記憶體130的實體區塊130-0~130-N邏輯地分組為儲存區210以及取代區220。
在儲存區210中的實體區塊130-0~130-P是快閃記憶體儲存裝置100中正常被使用的實體區塊。也就是說,記憶體管理單元110b會將資料寫入至屬於儲存區210的實體區塊。
在取代區220中的實體區塊130-(P+1)~130-(N)是替代實體區塊。例如,快閃記憶體130於出廠時會預留4%的實體區塊作為更換使用。也就是說,當儲存區210中的實體區塊損毀時,預留於取代區220中的實體區塊可用以取代損壞的實體區塊(即,壞的實體區塊(bad block))。因此,倘若取代區220中仍存有可用之實體區塊時,若發生實體區塊損毀,記憶體管理模組110b會從取代區220中提取可用的實體區塊來更換損毀的實體區塊。倘若取代區220中無可用之實體區塊且發生實體區塊損毀時,快閃記憶體儲存裝置100將會被宣告無法再使用。
請參照圖2B,快閃記憶體控制器110會將儲存區210的實體區塊邏輯地分組成系統區202、資料區204與備用區206。
系統區202包括實體區塊130-(0)~實體區塊130-(S),資料區204包括實體區塊130-(S+1)~實體區塊130-(S+M),並且備用區206包括實體區塊130-(S+M+1)~實體區塊130-(P)。在本實施例中,上述S、M與P為不大於N的正整數,其代表各區配置的實體區塊數量,其可由快閃記憶體儲存裝置的製造商依據所使用的快閃記憶體模組的容量而設定。
邏輯上屬於系統區202中的實體區塊是用以記錄系統資料,此系統資料包括關於快閃記憶體晶片的製造商與型號、每一快閃記憶體模組的區域數、每一區域的實體區塊數、每一實體區塊的頁面數等。
邏輯上屬於資料區204中的實體區塊用以儲存使用者的資料,一般來說就是電腦主機200所存取之邏輯區塊所對映的實體區塊。也就是說,資料區204的實體區塊為儲存有效資料的區塊。
邏輯上屬於備用區206中的實體區塊是用以輪替資料區204中的實體區塊,因此在備用區206中的實體區塊為空或可使用的單元,即無記錄資料或標記為已沒用的無效資料。也就是說,資料區204與備用區206的實體區塊會以輪替方式來儲存電腦主機200對快閃記憶體儲存裝置100寫入的資料。
如前所述,快閃記憶體130的實體區塊會以輪替方式提供電腦主機200來儲存資料,因此邏輯區塊250-1~250-M會提供給電腦主機200以進行資料存取,並且透過維護邏輯位址-實體位址對映表(logical address-physical address mapping table)來記錄邏輯區塊所對映的實體區塊。
請同時參照圖2B與圖2C,例如,當主機系統欲寫入資料至邏輯區塊250-1時,快閃記憶體控制器110會透過邏輯位址-實體位址對映表得知邏輯區塊250-1目前是對映邏輯上屬於資料區204的實體區塊130-(S+1)。因此,記憶體管理單元110b會對實體區塊130-(S+1)中的資料進行更新,期間,快閃記憶體控制器110會從備用區206中提取實體區塊130-(S+M+1)來輪替資料區204的實體區塊130-(S+1)。然而,當記憶體管理單元110b將新資料寫入至實體區塊130-(S+M+1)的同時,記憶體管理單元110b不會立刻將實體區塊130-(S+1)中的所有有效資料搬移至實體區塊.130-(S+M+1)而抹除實體區塊130-(S+1)。具體來說,快閃記憶體控制器110會將實體區塊130-(S+1)中欲寫入頁面之前的有效資料(即,頁P0與P1)複製至實體區塊130-(S+M+1)(如圖2C的(a)),並且將新資料(即,實體區塊130-(S+M+1)的頁P2與P3)寫入至實體區塊130-(S+M+1)(如圖2C的(b))。此時,快閃記憶體控制器110即完成寫入的動作。因為實體區塊130-(S+1)中的有效資料有可能在下個操作(例如,寫入指令)中變成無效,因此立刻將實體區塊130-(S+1)中的所有有效資料搬移至替換實體區塊130-(S+M+1)可能會造成無謂的搬移。在此案例中,實體區塊130-(S+1)與實體區塊130-(S+M+1)的內容整合起來才是所對映邏輯區塊250-1的完整內容。此等母子暫態關係(即,實體區塊130-(S+1)與實體區塊130-(S+M+1))的數目是依據快閃記憶體控制器110中緩衝記憶體(未繪示)的大小而定,而暫時地維持此種暫態關係的動作一般稱為開啟(open)母子區塊。
之後,當需要將實體區塊130-(S+1)與實體區塊130-(S+M+1)的內容真正合併時,快閃記憶體控制器110才會將實體區塊130-(S+1)與實體區塊130-(S+M+1)整併為一個實體區塊,由此提升區塊的使用效率,此合併的動作又可稱為關閉(close)母子區塊。例如,如圖2C的(c)所示,當進行關閉母子區塊時,快閃記憶體控制器110會將實體區塊130-(S+1)中剩餘的有效資料(即,頁P4~PN)複製至替換實體區塊130-(S+M+1),然後將實體區塊130-(S+1)抹除並關聯為備用區206,同時,將實體區塊130-(S+M+1)關聯為資料區204,並且在邏輯位址-實體位址對映表中將邏輯區塊250-1的對映更改為實體區塊130-(S+M+1),由此完成關閉母子區塊的動作。
此外,由於快閃記憶體130的程式化規格要求必須從每一實體區塊的第一頁開始寫入至最後一頁並且在每個位元僅能程式一次(即由僅能“1”變為“0”)的條件下,一旦記憶體實體區塊的頁面位址寫入資料後,若欲更新已寫入的資料就必須如圖2B所示從備用區206中提取一實體區塊重新進行圖2C所示的步驟。因此,當實體區塊在未進行圖2C的(c)所示之關閉動作之前(即處於圖2C的(b)所示的暫態),而發生必須更新剛搬移的資料(例如圖2C的(a)所示的P0~P1)時,則所搬移的舊資料就必須再搬移一次,此稱為混亂模式寫入。當執行混亂模式寫入時,記憶體管理單元110b會從備用區206中提取一個實體區塊並直接寫入新資料而不進行圖2C的(a)所示的動作,並且,當混亂寫入模式結束後再從備用區206中提取另一實體區塊來寫入所有的有效資料。
在本範例實施例中,態樣分析單元150會判斷邏輯區塊250-1~250-M之中哪些邏輯區塊是頻繁寫入邏輯區塊,在本範例實施例中,態樣分析單元150會判斷邏輯區塊250-1~250-M是否儲存檔案系統表、目錄(Directory)等資訊的邏輯區塊,其中檔案系統表包含檔案配置表(File Allocation Table,FAT)、NT檔案系統(NT File System,NTFS)或其他檔案管理系統。由於電腦主機200會頻繁地更新檔案系統表(File System Table)、目錄(Directory)等資訊,且所更新的資料多數為不滿一個頁面的小資料,因此,態樣分析單元150會將儲存此類資訊的邏輯區塊識別為頻繁更新態樣。例如,若電腦主機200為FAT系統時,在電腦主機200與快閃記憶體儲存裝置100耦接後,態樣分析單元150為先偵測快閃記憶體中之邏輯區塊位址0(LBA0)中之資料,其中,此位址是內定為儲存主要開機磁區(master boot record,MBR)之邏輯位址,依據主要開機磁區中所儲存之資料,可找到磁碟分割開機記錄(partition boot record,PBR),然後依據此磁碟分割開機記錄可找到FAT1,FAT2及根目錄(Root directory)等資訊的邏輯區塊。故,態樣分析單元150可確認儲存檔案系統表、目錄(Directory)等資訊的邏輯區塊,而將儲存此類資訊的邏輯區塊識別為頻繁更新態樣。此外,態樣分析單元150會利用電腦主機200的記憶體(未繪示)記錄電腦主機200對每一邏輯區塊250-1~250-M的寫入歷程。具體來說,態樣分析單元150會記錄電腦主機200在每一邏輯區塊250-1~250-N中寫入資料的次數以及每次寫入之資料的資料量。例如,若在所記錄的寫入歷程中顯示某一邏輯區塊的寫入次數高於一寫入次數門檻值(例如,所有邏輯區塊之寫入次數的平均值)時,則態樣分析單元150會識別此邏輯區塊為頻繁更新態樣。再例如,若在寫入歷程中顯示某一邏輯區塊中寫入大資料(例如,大於1個頁面之資料量的資料)的次數大於寫入小資料(例如,小於1個頁面之資料量的資料)的次數時,則將此邏輯區塊識別為連續儲存態樣。在另一實施例中,若寫入的資料長度大於一資料量門檻值,則標記為連續儲存態樣。
特別是,在本範例實施例中,態樣分析單元150會將所分析的資訊(即,每一邏輯區塊的使用態樣)透過更新使用態樣指令傳送至態樣識別單元110e中,並且態樣識別單元110e會識別此些資訊並傳送給記憶體管理單元110b。在本範例實施例中,態樣分析單元150會在每當電腦主機200於快閃記憶體儲存裝置100中寫入之資料的資料量超過一預定資料量或寫入指令超過一預定次數時透過更新使用態樣指令將所分析的資訊傳送給快閃記憶體儲存裝置100。必須瞭解的是,上述預定資料量或預定次數可由使用者自行設定任何適當的值,在本範例實施例中,預定資料量為100萬位元組(megabyte,MB),而預定次數為100次。
在另一範例實施例中,此更新使用態樣指令亦可標示於每一寫入指令中,亦即,每當電腦主機200欲對該快閃記憶體儲存裝置100寫入一資料時,資料當態樣分析單元150會對該資料欲寫入之邏輯位址進行分析,其中若該邏輯位址屬於頻繁更新態樣或連續儲存態樣時,會將該等態樣相對應之更新使用態樣指令於傳送寫入指令前,或後,或同時傳送至快閃記憶體儲存裝置100。而態樣識別單元110e於識別該更新使用態樣指令後,即會傳送一相對應該更新使用態樣指令之訊息至微處理器單元110a,微處理器單元110a於接收該訊息後,記憶體管理單元110b會將該筆資料寫入至相應該訊息之實體位址。
例如,倘若態樣識別單元110e識別該筆資料屬於頻繁更新態樣時,則記憶體管理單元110b會將該筆資料寫入於緩衝暫存區120,反之,則記憶體管理單元110b將資料寫入至對映之實體區塊中。
此外,在另一範例實施例中,倘若態樣識別單元110e識別該筆資料屬於頻繁更新態樣時,記憶體管理單元110b亦可僅使用快閃記憶體130的下頁來寫入該筆資料;反之,則記憶體管理單元110b會使用快閃記憶體130的下頁的上頁來寫入該筆資料。
再者,在另一範例實施例,倘若態樣識別單元110e識別該筆資料屬於頻繁更新態樣時,則記憶體管理單元110b會以一混亂寫入模式來寫入該筆資料,反之,則記憶體管理單元110b會以圖2B與圖2C所示之步驟來寫入該筆資料。在另一實施例中,躺若態樣識別單元110e識別該筆資料屬於非連續儲存態樣時,則記憶體管理單元110b會將該筆資料寫入緩衝暫存區120或以一混亂模式寫入。
圖3A是根據本發明第一範例實施例繪示記錄與傳送使用態樣的流程圖。
請參照圖3A,當電腦主機200將資料寫入至快閃記憶體儲存裝置100時,在步驟S301中態樣分析單元150會記錄與分析關於邏輯區塊之使用態樣的資訊,並且計數累積計數值以記錄電腦主機200寫入至快閃記憶體儲存裝置100之資料量。之後,在步驟S303中會判斷累積計數值是否大於預定資料量。倘若累積計數值大於預定資料量時,則在步驟S305中態樣分析單元150傳送更新使用態樣指令與關於使用態樣的資訊至快閃記憶體儲存裝置100。最後,在步驟S307中重置累積計數值(例如,將累積計數值歸零)。
必須瞭解的是,本發明不限於此,在本發明另一實施例中,態樣分析單元150會於一預定時間間隔將所分析的資訊傳送給快閃記憶體儲存裝置100,例如使用者可設定態樣分析單元150於每30秒時將所分析的資訊傳送給快閃記憶體儲存裝置100。
在本範例實施例中,倘若態樣識別單元110e識別欲寫入資料的邏輯區塊屬於上述頻繁更新態樣時,則記憶體管理單元110b會將欲寫入之資料暫時地儲存在緩衝儲存區120中。另外,倘若態樣識別單元110e識別欲寫入資料的邏輯區塊屬於上述連續儲存態樣時,則記憶體管理單元110b會執行開啟與關閉母子區塊的程序(如圖2C所示)以將資料寫入至對映的實體區塊中。
圖3B是根據本發明第一範例實施例所繪示快閃記憶體儲存裝置執行寫入指令與更新使用態樣指令的流程圖。必須瞭解的是,在本範例實施例中雖然僅繪示快閃記憶體儲存裝置100處理寫入指令與更新使用態樣指令的步驟,但快閃記憶體儲存裝置100亦會接收與執行其他指令(例如,抹除指令、讀取指令)。
請參照圖3B,當快閃記憶體儲存裝置100連接於電腦主機200並從電腦主機200中接收到指令時,在步驟S309中快閃記憶體控制器110會識別所接收的指令。倘若所接收到的指令為更新使用態樣指令時,則在步驟S311中態樣識別單元110e會依據所接收到的分析資訊更新每一邏輯區塊的使用態樣。
倘若所接收到的指令為寫入指令時,則在步驟S313中記憶體管理單元110b會判斷欲寫入資料之邏輯區塊的使用態樣是否為頻繁更新態樣並且非為連續儲存態樣,倘若欲寫入資料之邏輯區塊的使用態樣為頻繁更新態樣並且非為連續儲存態樣時,則在步驟S315中記憶體管理單元110b會將欲寫入的資料暫時地儲存在緩衝儲存區120中;反之,則在步驟S317中記憶體管理單元110b會將資料寫入至對映的實體區塊中。
圖4是根據本發明第二範例實施例所繪示的資料儲存系統。
請參照圖4,資料儲存系統400包括快閃記憶體模組410與快閃記憶體控制器420
資料儲存系統400是可分離地連接於主機系統600,以使主機系統600可將資料寫入至資料儲存系統400或從資料儲存系統400中讀取資料。在本範例實施例中,資料儲存系統400為固態硬碟(Solid State Drive,SSD)。但必須瞭解的是,在本發明另一實施例中資料儲存系統400亦可以是記憶卡或隨身碟。
快閃記憶體模組410包括控制電路412與實體區塊414-0~414-N。
控制電路412是用以根據快閃記憶體控制器420的指令將資料傳送至實體區塊414-0~414-N或從實體區塊414-0~414-N中讀取資料。此外,在本範例實施例中,控制電路412會將欲寫入至實體區塊414-0~414-N中的資料進行編碼轉換,或者將從實體區塊414-0~414-N中所讀取的資料進行反編碼轉換。值得一提的是,執行此類編碼轉換的原因主要是快閃記憶體相鄰的記憶胞皆被程式化成相同電位時會較容易發生錯誤,因此以特殊的編碼轉換規則將欲寫入的資料進行編碼轉換後再進行寫入可增加資料儲存系統400的穩定性。
特別是,控制電路412可執行多種的編碼轉換規則。例如,將所輸入之資料的每一位元進行一反相轉換(即,“0”變“1”或“1”變“0”),或者將所輸入的資料分為數個子資料,並且以子資料為單位將前後的子資料進行對調。
實體區塊414-0~414-N的結構與運作方式是相同於第一範例實施例的實體區塊130-0~130-N,在此不重複說明。
快閃記憶體控制器420會執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令,並且根據主機系統600的指令在快閃記憶體模組410中進行資料的寫入、讀取與抹除等。
快閃記憶體控制器420包括微處理器單元420a、記憶體管理單元420b、快閃記憶體介面單元420c、主機介面單元420d與態樣分析單元420e。
微處理器單元420a、快閃記憶體介面單元420c與主機介面單元420d的結構與功能是相同於第一範例實施例的微處理器單元110a、快閃記憶體介面單元110c與主機介面單元110d,在此不重複描述。
記憶體管理單元420b耦接至微處理器器單元420a並且用以根據本範例實施例的管理與寫入機制對實體區塊414-0~414-N執行寫入、讀取、抹除等運作。例如,記憶體管理單元420b會執行如圖2A~2C所示的運作。類似第一範例實施例的記憶體管理單元110b,記憶體管理單元-420b是以一韌體型式來實作,然而,記憶體管理單元420b亦可以一軟體型式或硬體型式來實作。
態樣分析單元420e耦接至微處理器器單元420a並且會分析記憶體管理單元420b欲寫入至快閃記憶體模組410之資料的資料排列態樣。此外,態樣分析單元420e會將此分析資訊透過資料態樣指令傳送至控制電路412。具體來說,在本範例實施例中,控制電路412具有態樣識別單元416,用以從態樣分析單元420e中接收與識別關於使用態樣的資料(即,上述分析資料)。
特別是,在本範例實施例中,控制電路412會根據態樣識別單元416的識別結果而使用其中一種編碼轉換規則將欲寫入的資料進行編碼轉換後才傳送至實體區塊414-0~414-N。
此外,在本發明另一範例實施例中,快閃記憶體控制器420更包括錯誤校正單元(未繪示)以執行一錯誤校正程序,並且態樣分析單元420e會根據錯誤校正單元的執行結果為每一實體區塊414-0~414-N記錄關於是否發生位元錯誤及位元錯誤數的使用態樣。同樣的,態樣分析單元420e會將此些分析資訊傳送給態樣識別單元416。
圖5是根據本發明第二範例實施例所繪示的資料儲存步驟的流程圖。必須瞭解的是,在圖5的流程圖中雖然僅繪示資料儲存系統400處理寫入指令的步驟,但資料處理系統400亦會接收與執行其他指令(例如,抹除指令、讀取指令)。
請參照圖5,當資料儲存系統400連接於主機系統600並接收到寫入指令與欲寫入之資料時,在步驟S501中快閃記憶體控制器420的態樣分析單元420e會分析欲寫入之資料的資料排列態樣,並且在步驟S503中記憶體管理單元420b會將欲寫入之資料傳送至控制電路412,並且態樣分析單元420e會將分析之結果傳送至態樣識別單元416。
之後,在步驟S505中,控制電路412會依據態樣識別單元416的識別結果使用其中一種編碼轉換規則將欲寫入的資料進行編碼轉換。最後,在步驟S507中控制電路412會將已編碼轉換之資料寫入至實體區塊414-0~414-N中。
必須瞭解的是,由於寫入至實體區塊414-0~414-N已經過編碼轉換,因此當主機系統600欲讀取儲存在資料儲存系統400中的資料時,控制電路412會依據對應的編碼轉換規則對欲讀取的資料進行反編碼轉換後,由快閃記憶體控制器420將正確的資料傳送給主機系統600。
綜上所述,本發明提供態樣分析單元使得資料儲存系統的寫入端可分析快閃記憶體儲存位址與欲寫入之資料的使用態樣,並且木發明提供態樣識別單元使得儲存端可依據寫入端的分析資訊使用對應的處理模式儲存欲寫入的資料,由此可有效地提升儲存系統的儲存速度及延長儲存系統的使用壽命。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作些許之更動與潤飾,故本發明之保護範圍當視後附之申請專利範圍所界定者為率。
100‧‧‧快閃記憶體儲存裝置
110、420‧‧‧快閃記憶體控制器
110a、420a‧‧‧微處理器單元
110b、420b‧‧‧記憶體管理單元
110c、420c‧‧‧快閃記憶體介面單元
110d、420d‧‧‧主機介面單元
110e、416‧‧‧態樣識別單元
120‧‧‧緩衝儲存區
130、410‧‧‧快閃記憶體
130-0~130-N、414-0~414-N‧‧‧實體區塊
150、420e‧‧‧態樣分析單元
200‧‧‧電腦主機
202‧‧‧系統區
204‧‧‧資料區
206‧‧‧備用區
210‧‧‧儲存區
220‧‧‧取代區
250-1~250-M‧‧‧邏輯區塊
300、400‧‧‧資料儲存系統
S301、S303、S305、S307‧‧‧記錄與傳送使用態樣的步驟
S309、S311、S313、S315、S317‧‧‧資料儲存的步驟
412‧‧‧控制電路
S501、S503、S505、S507‧‧‧資料儲存的步驟
600‧‧‧主機系統
圖1是根據本發明第一範例實施例所繪示的資料儲存系統。
圖2A~2C是根據本發明第一範例實施例所繪示之快閃記憶體的運作示意圖。
圖3A是根據本發明第一範例實施例繪示記錄與傳送使用態樣的流程圖。
圖3B是根據本發明第一範例實施例所繪示快閃記憶體儲存裝置執行寫入指令與更新使用態樣指令的流程圖。
圖4是根據本發明第二範例實施例所繪示的資料儲存系統。
圖5是根據本發明第二範例實施例所繪示的資料儲存步驟的流程圖。
100...快閃記憶體儲存裝置
110...快閃記憶體控制器
110a...微處理器單元
110b...記憶體管理單元
110c...快閃記憶體介面單元
110d...主機介面單元
110e...態樣識別單元
120...緩衝儲存區
130...快閃記憶體
130-0~130-N...實體區塊
150...態樣分析單元
200...電腦主機
Claims (33)
- 一種資料儲存方法,包括:提供一儲存裝置,其中該儲存裝置具有一控制電路與多個快閃記憶體儲存位址;提供一態樣分析單元,其中該態樣分析單元是由一主機來控制;在該控制電路中配置一態樣識別單元;使用該態樣分析單元來記錄每一該些快閃記憶體儲存位址的一使用態樣;透過該態樣識別單元接收該態樣分析單元傳送之訊息,以辯識該些快閃記憶體儲存位址的使用態樣;以及依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料。
- 如申請專利範圍第1項所述之資料儲存方法,其中該儲存裝置為具有一快閃記憶體模組的一快閃記憶體儲存裝置,該主機為一電腦系統,並且該些快閃記憶體儲存位址為多個邏輯區塊,其中該快閃記憶體模組具有多個實體區塊並且每一邏輯區塊對映至少一個實體區塊。
- 如申請專利範圍第2項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些快閃記憶體儲存位址的使用態樣的步驟包括:使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一頻繁更新態樣。
- 如申請專利範圍第3項所述之資料儲存方法,其中 使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一頻繁更新態樣的步驟包括:將儲存一檔案系統表的每一該些邏輯區塊識別為該頻繁更新態樣。
- 如申請專利範圍第3項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一頻繁更新態樣的步驟包括:將寫入次數超過一寫入次數門檻值的每一該些邏輯區塊識別為該頻繁更新態樣。
- 如申請專利範圍第3項所述之資料儲存方法,其中該快閃記憶體儲存裝置具有一緩衝儲存區,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括:當欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則將該資料暫時地儲存在該緩衝儲存區中。
- 如申請專利範圍第3項所述之資料儲存方法,其中該些實體區塊具有多個下頁與多個上頁,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括:當欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則僅在該些下頁中寫入該資料。
- 如申請專利範圍第3項所述之資料儲存方法,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括: 當欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則以一混亂寫入模式來將該資料寫入至該些實體區塊中。
- 如申請專利範圍第2項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些快閃記憶體儲存位址的使用態樣的步驟包括:使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一連續儲存態樣。
- 如申請專利範圍第9項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一連續儲存態樣的步驟包括:當該些邏輯區塊的一大資料寫入次數大於一小資料寫入次數時,則將對應的該些邏輯區塊識別為該連續儲存態樣。
- 如申請專利範圍第9項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些邏輯區塊是否屬於一連續儲存態樣的步驟包括:當寫入至該些邏輯區塊的資料長度大於一資料量門檻值時,則將對應的該些邏輯區塊識別為該連續儲存態樣。
- 如申請專利範圍第9項所述之資料儲存方法,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括:當欲寫入該資料的該些邏輯區塊屬於該連續儲存態樣時,則將該資料直接地寫入至欲寫入該資料的該些邏輯 區塊所對映的實體區塊中。
- 如申請專利範圍第9項所述之資料儲存方法,其中該快閃記憶體儲存裝置具有一緩衝儲存區,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括:當欲寫入該資料的該些邏輯區塊不屬於該連續儲存態樣時,則將該資料寫入至該緩衝儲存區或以一混亂寫入模式寫入至該些實體區塊中。
- 如申請專利範圍第1項所述之資料儲存方法,其中該儲存裝置為一快閃記憶體模組,該主機為一快閃記憶體控制器,並且該些快閃記憶體儲存位址為多個實體區塊。
- 如申請專利範圍第14項所述之資料儲存方法,其中使用該態樣分析單元來記錄每一該些快閃記憶體儲存位址的使用態樣的步驟包括:使用該態樣分析單元來記錄欲寫入之該資料的一資料排列態樣。
- 如申請專利範圍第15項所述之資料儲存方法,其中依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料的步驟包括:依據欲寫入之該資料的該資料排列態樣來編碼轉換該資料,並且將已編碼轉換的該資料寫入至該些實體區塊中。
- 一種資料儲存系統,包括:一主機; 一儲存裝置,耦接至該主機,該儲存裝置具有一控制電路與多個快閃記憶體儲存位址,並且該控制電路具有一態樣識別單元;以及一態樣分析單元,由該主機控制以記錄每一該些快閃記憶體儲存位址的一使用態樣,其中該態樣識別單元會接收該態樣分析單元傳送之訊息,以識別每一該些快閃記憶體儲存位址的使用態樣並且該控制電路會依據每一該些快閃記憶體儲存位址的使用態樣儲存欲寫入至每一該些快閃記憶體儲存位址的資料。
- 如申請專利範圍第17項所述之資料儲存系統,其中該儲存裝置為具有一快閃記憶體模組的一快閃記憶體儲存裝置,該控制電路為一快閃記憶體控制器,該主機為一電腦系統,並且該些快閃記憶體儲存位址為多個邏輯區塊,其中該快閃記憶體模組具有多個實體區塊並且每一邏輯區塊對映至少一個實體區塊。
- 如申請專利範圍第18項所述之資料儲存系統,其中該態樣分析單元用以記錄每一該些邏輯區塊是否屬於一頻繁更新態樣作為每一該些邏輯區塊的使用態樣。
- 如申請專利範圍第19項所述之資料儲存系統,其中該態樣分析單元識別儲存一檔案系統表的該些邏輯區塊為該頻繁更新態樣。
- 如申請專利範圍第19項所述之資料儲存系統,其中當該些邏輯區塊的寫入次數超過一寫入次數門檻值時,則該態樣分析單元識別對應的該些邏輯區塊為該頻繁更新 態樣。
- 如申請專利範圍第19項所述之資料儲存系統,其中該快閃記憶體儲存裝置具有一緩衝儲存區,其中當該態樣識別單元識別欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則該快閃記憶體控制器會將該資料暫時地儲存在該緩衝儲存區中。
- 如申請專利範圍第19項所述之資料儲存系統,其中該些實體區塊具有多個下頁與多個上頁,其中當該態樣識別單元識別欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則該快閃記憶體控制器會僅在該些下頁中寫入該資料。
- 如申請專利範圍第19項所述之資料儲存系統,其中當欲寫入該資料的該些邏輯區塊屬於該頻繁更新態樣時,則該快閃記憶體控制器會以一混亂寫入模式來將該資料寫入至該些實體區塊。
- 如申請專利範圍第22項所述之資料儲存系統,其中該緩衝儲存區包括一動態隨機存取記憶體或一快閃記憶體暫存區,其中該快閃記憶體暫存區是由該些實體區塊的至少其中之一所組成。
- 如申請專利範圍第18項所述之資料儲存系統,其中該態樣分析單元記錄每一該些邏輯區塊是否屬於一連續儲存態樣作為每一該些邏輯區塊的使用狀態。
- 如申請專利範圍第26項所述之資料儲存系統,其中當該些邏輯區塊的一大資料寫入次數大於一小資料寫入次數時,則該態樣分析單元會將對應的該些邏輯區塊識別 為該連續儲存態樣。
- 如申請專利範圍第26項所述之資料儲存系統,其中當寫入至該些邏輯區塊的資料長度大於一資料量門檻值時,則該態樣分析單元會將該些邏輯區塊識別為該連續儲存態樣。
- 如申請專利範圍第26項所述之資料儲存系統,其中當該態樣識別單元識別欲寫入該資料的該些邏輯區塊屬於該連續儲存態樣時,則該快閃記憶體控制器會將該資料直接地寫入至欲寫入該資料的該些邏輯區塊所對映的實體區塊中。
- 如申請專利範圍第26項所述之資料儲存系統,其中當該態樣識別單元識別欲寫入該資料的該些邏輯區塊不屬於該連續儲存態樣時,則該快閃記憶體控制器會將該資料寫入至一緩衝儲存區或以一混亂寫入模式寫入至該些實體區塊中。
- 如申請專利範圍第17項所述之資料儲存系統,其中該儲存裝置為一快閃記憶體模組,該主機為一快閃記憶體控制器,並且該些快閃記憶體儲存位址為多個實體區塊。
- 如申請專利範圍第31項所述之資料儲存系統,其中該態樣分析單元用以記錄欲寫入之該資料的一資料排列態樣作為每一該些實體區塊的使用態樣。
- 如申請專利範圍第32項所述之資料儲存系統,其中該控制電路會依據欲寫入之該資料的該資料排列態樣來編碼轉換該資料,並且將編碼轉換後的該資料寫入至該些實體區塊中。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098109172A TWI385518B (zh) | 2009-03-20 | 2009-03-20 | 用於快閃記憶體的資料儲存方法及儲存系統 |
| US12/488,220 US8214578B2 (en) | 2009-03-20 | 2009-06-19 | Method of storing data into flash memory according to usage patterns of addresses and data storage system using the same |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW098109172A TWI385518B (zh) | 2009-03-20 | 2009-03-20 | 用於快閃記憶體的資料儲存方法及儲存系統 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201035757A TW201035757A (en) | 2010-10-01 |
| TWI385518B true TWI385518B (zh) | 2013-02-11 |
Family
ID=42738602
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW098109172A TWI385518B (zh) | 2009-03-20 | 2009-03-20 | 用於快閃記憶體的資料儲存方法及儲存系統 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US8214578B2 (zh) |
| TW (1) | TWI385518B (zh) |
Families Citing this family (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI423022B (zh) * | 2011-02-15 | 2014-01-11 | Phison Electronics Corp | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 |
| TWI454911B (zh) * | 2011-10-12 | 2014-10-01 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
| TWI454912B (zh) * | 2012-01-06 | 2014-10-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
| US9230620B1 (en) * | 2012-03-06 | 2016-01-05 | Inphi Corporation | Distributed hardware tree search methods and apparatus for memory data replacement |
| EP2923358A4 (en) * | 2012-11-20 | 2016-06-29 | Charles I Peddle | SSD ARCHITECTURES |
| US11037625B2 (en) * | 2012-11-20 | 2021-06-15 | Thstyme Bermuda Limited | Solid state drive architectures |
| US9355022B2 (en) * | 2012-12-07 | 2016-05-31 | Sandisk Technologies Inc. | Systems and methods for intelligent flash management |
| US9715445B2 (en) | 2013-03-14 | 2017-07-25 | Sandisk Technologies Llc | File differentiation based on data block identification |
| US9547459B1 (en) * | 2013-06-27 | 2017-01-17 | EMC IP Holding Company LLC | Techniques for data relocation based on access patterns |
| CN107423231B (zh) * | 2013-08-05 | 2020-11-20 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
| CN104346292B (zh) | 2013-08-05 | 2017-10-24 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法、记忆装置与控制器 |
| US9208074B2 (en) * | 2013-08-30 | 2015-12-08 | Silicon Motion, Inc. | Updating address mapping in sub-intervals in a flash memory data storage device |
| US10931776B2 (en) * | 2013-12-31 | 2021-02-23 | International Business Machines Corporation | Adaptive data fetching from network storage |
| US9678760B2 (en) * | 2014-08-01 | 2017-06-13 | Samsung Electronics Co., Ltd. | Memory card and storage system having authentication program and method for operating thereof |
| KR102804489B1 (ko) * | 2016-12-30 | 2025-05-09 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작 방법 |
| US11210028B2 (en) * | 2020-04-22 | 2021-12-28 | Silicon Motion, Inc. | Method for accessing flash memory module and associated flash memory controller and electronic device |
| CN117409843B (zh) * | 2023-12-14 | 2024-03-22 | 合肥康芯威存储技术有限公司 | 快闪存储器的质量分析方法、装置、电子设备及介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| US20060294306A1 (en) * | 2002-12-17 | 2006-12-28 | Samsung Electronics, Co., Ltd. | Folding USB flash memory device for providing memory storage capacity |
| TW200907677A (en) * | 2007-07-04 | 2009-02-16 | Samsung Electronics Co Ltd | Data tree storage methods, systems and computer program products using page structure of flash memory |
-
2009
- 2009-03-20 TW TW098109172A patent/TWI385518B/zh active
- 2009-06-19 US US12/488,220 patent/US8214578B2/en active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060294306A1 (en) * | 2002-12-17 | 2006-12-28 | Samsung Electronics, Co., Ltd. | Folding USB flash memory device for providing memory storage capacity |
| US20050144361A1 (en) * | 2003-12-30 | 2005-06-30 | Gonzalez Carlos J. | Adaptive mode switching of flash memory address mapping based on host usage characteristics |
| TW200907677A (en) * | 2007-07-04 | 2009-02-16 | Samsung Electronics Co Ltd | Data tree storage methods, systems and computer program products using page structure of flash memory |
Also Published As
| Publication number | Publication date |
|---|---|
| US20100241789A1 (en) | 2010-09-23 |
| US8214578B2 (en) | 2012-07-03 |
| TW201035757A (en) | 2010-10-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI385518B (zh) | 用於快閃記憶體的資料儲存方法及儲存系統 | |
| TWI408551B (zh) | 快閃記憶體儲存系統及其控制器與資料處理方法 | |
| TWI381274B (zh) | 用於快閃記憶體的區塊管理方法、儲存系統與控制器 | |
| TWI435219B (zh) | 資料保護方法、記憶體控制器及可攜式記憶體儲存裝置 | |
| TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
| TWI592800B (zh) | 記憶體管理方法及使用所述方法的儲存控制器 | |
| TWI537728B (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI407441B (zh) | 快閃記憶體寫入方法及使用此方法的儲存系統與控制器 | |
| CN101464834B (zh) | 闪存数据写入方法及使用此方法的控制器 | |
| CN106776376B (zh) | 缓冲存储器管理方法、存储器控制电路单元及存储装置 | |
| TWI435329B (zh) | 快閃記憶體管理方法、快閃記憶體控制器與儲存系統 | |
| TW201437807A (zh) | 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置 | |
| CN103377143B (zh) | 存储器管理方法、存储器控制器与存储器存储装置 | |
| CN101859278B (zh) | 用于闪存的数据储存方法及储存系统 | |
| TWI571882B (zh) | 平均磨損方法、記憶體控制電路單元及記憶體儲存裝置 | |
| CN101630233B (zh) | 用于闪存的数据存取方法、储存系统与控制器 | |
| TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
| TW201719415A (zh) | 緩衝記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
| TWI656531B (zh) | 平均磨損方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI517165B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
| TWI417884B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
| CN101625661B (zh) | 用于闪存的数据管理方法、储存系统与控制器 | |
| CN101727397B (zh) | 区块管理与更换方法、闪存储存系统及其控制器 | |
| TWI451247B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
| TWI414940B (zh) | 區塊管理與資料寫入方法、快閃記憶體儲存系統與控制器 |