TWI707232B - 快閃記憶體控制器及相關的存取方法及電子裝置 - Google Patents

快閃記憶體控制器及相關的存取方法及電子裝置 Download PDF

Info

Publication number
TWI707232B
TWI707232B TW107137849A TW107137849A TWI707232B TW I707232 B TWI707232 B TW I707232B TW 107137849 A TW107137849 A TW 107137849A TW 107137849 A TW107137849 A TW 107137849A TW I707232 B TWI707232 B TW I707232B
Authority
TW
Taiwan
Prior art keywords
data
block
flash memory
judgment result
module
Prior art date
Application number
TW107137849A
Other languages
English (en)
Other versions
TW202011201A (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 大陸商合肥沛睿微電子股份有限公司
Publication of TW202011201A publication Critical patent/TW202011201A/zh
Application granted granted Critical
Publication of TWI707232B publication Critical patent/TWI707232B/zh

Links

Images

Classifications

    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/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/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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

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)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本發明揭露一種快閃記憶體控制器,其包含有一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以自一主裝置接收一資料,並判斷該資料是屬於熱資料或是冷資料,以產生一判斷結果;以及該微處理器用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中,其中該第一區塊中每一個記憶單元所記憶的位元數不同於該第二區塊中每一個記憶單元所記憶的位元數。

Description

快閃記憶體控制器及相關的存取方法及電子裝置
本發明係有關於快閃記憶體控制器。
在一般的快閃記憶體模組中,當其中所儲存的資料需要進行更新時,快閃記憶體控制器會將與原本資料具有相同的邏輯位址之更新後資料寫入到快閃記憶體模組的另一個實體位址,而原本儲存在快閃記憶體模組內的資料則變為無效資料。因此,若是所儲存的資料為作業系統經常存取且更新的熱資料(hot data)時,則由於該資料會不斷地被更新後寫入到快閃記憶體模組的不同實體位址,因此會造成資料寫入至快閃記憶體模組不久之後就變成無效資料,造成後續需要頻繁進行垃圾收集(garbage collection)操作以釋放出多餘空間,且也增加了快閃記憶體模組中寫入資料的寫入放大因子(write amplification factor),因而影響到快閃記憶體模組的壽命。
此外,一般快閃記憶體模組中可以具有兩種不同的區塊,例如單層式儲存(single level cell,SLC)區塊以及雙層式儲存(multi level cell,MLC)區塊以及三層式儲存(triple level cell,TLC)區塊以及四層式儲存(Quadruple level cell,QLC)區塊,其中三層式儲存區塊以及四層式儲存區塊係具有較大的儲存容量以及較短的壽命,因此,若是將上述頻繁更新的熱資料儲存在三層式儲存區塊或是四層式儲存區塊中,則會讓三層式儲存區塊或是四層式儲存區塊充滿無效資料,而可能因此觸發垃圾收集操作以將其中的有效資料搬移至其他的區塊,並抹除原本的內容以釋放出多餘空間。由於三層式儲存區塊以及四層式儲存區塊的抹除次數有一定的限制,故上述頻繁的抹除操作會對快閃記憶體模組的壽命造成不良影響。
因此,本發明的目的之一在於提供一種快閃記憶體控制器,其可以區分寫入資料是屬於熱資料或是冷資料,並將熱資料與冷資料分別寫入到適合的區塊之中,以解決先前技術中的問題。
在本發明的一個實施例中,揭露一種快閃記憶體控制器,其包含有一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以自一主裝置接收一資料,並判斷該資料是屬於熱資料或是冷資料,以產生一判斷結果;以及該微處理器用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中,其中該第一區塊中每一個記憶單元所記憶的位元數不同於該第二區塊中每一個記憶單元所記憶的位元數。
在本發明的另一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其包含有以下步驟:自一主裝置接收一資料;判斷該資料是屬於熱資料或是冷資料,以產生一判斷結果;以及根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中,其中該第一區塊中每一個記憶單元所記憶的位元數不同於該第二區塊中每一個記憶單元所記憶的位元數。
在本發明的另一個實施例中,揭露了一種電子裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器,而該快閃記憶體控制器包含有一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以自一主裝置接收一資料,並判斷該資料是屬於熱資料或是冷資料,以產生一判斷結果;以及該微處理器用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中,其中該第一區塊中每一個記憶單元所記憶的位元數不同於該第二區塊中每一個記憶單元所記憶的位元數。
第1圖為根據本發明一實施例之電子裝置100的示意圖。如第1圖所示,電子裝置100包含了一主裝置110、一快閃記憶體控制器120以及一快閃記憶體模組130,其中快閃記憶體控制器120包含了一介面電路121、一人工智慧模組122、一微處理器124、一緩衝記憶體126、一唯讀記憶體128以及一控制邏輯129。唯讀記憶體213係用來儲存多個程式碼,而微處理器122則用來執行該些程式碼以控制對快閃記憶體模組130之存取,且快閃記憶體控制器120內的元件可透過圖式的匯流排來進行資料的傳遞。在本實施例中,快閃記憶體控制器120以及快閃記憶體模組130可視為一固態硬碟(Solid-state drive,SSD),電子裝置100可以是任何具有固態硬碟的電腦或伺服器,而主裝置110可以是用來透過快閃記憶體控制器120來存取快閃記憶體模組130的一處理器。
快閃記憶體模組130包含了至少一個快閃記憶體晶片,而每一個快閃記憶體晶片包含了多個區塊(block),且每一個區塊包含了多個資料頁(page)。在快閃記憶體的相關設計中,每一個區塊是一個最小的抹除單位,亦即區塊內的所有資料係一併被抹除而無法僅抹除一部分,且每一個資料頁係為一最小的寫入單位。此外,快閃記憶體模組130包含了多個壽命較長的多個第一區塊以及壽命較短的多個第二區塊,為了方便後續的說明,在以下第2圖所示的實施例中該多個第一區塊係為單層式儲存區塊210_1~210_N、該多個第二區塊係為三層式儲存區塊220_1~220_M,其中單層式儲存區塊210_1~210_N所包含的每一個記憶單元(例如,一個浮閘電晶體(floating gate transistor))僅用來儲存一個位元,而三層式儲存區塊220_1~220_M所包含的每一個記憶單元可用來儲存三個位元。由於單層式儲存區塊210_1~210_N以及三層式儲存區塊220_1~220_M的寫入特性,三層式儲存區塊220_1~220_M可允許的抹除次數遠低於單層式儲存區塊210_1~210_N可允許的抹除次數,亦即三層式儲存區塊220_1~220_M的壽命較低。
在電子裝置100的操作中,當主裝置110需要將一資料寫入至快閃記憶體模組130中時,主裝置110會傳送一寫入命令以及該資料至快閃記憶體控制器120中的介面電路121,接著,人工智慧模組122先判斷該資料是屬於熱資料(hot data)或是冷資料(cold data),以產生一判斷結果,其中熱資料指示是經常需要更新的資料,例如作業系統或是檔案系統的資料,而冷資料指的是不常更新的資料,例如影片、照片、檔案...等等。接著,微處理器124根據該判斷結果來決定將該資料寫入至單層式儲存區塊210_1~210_N或是三層式儲存區塊220_1~220_M中,具體來說,若是該判斷結果指出該資料為熱資料時,微處理器124會透過控制邏輯129中的編碼器(encoder)以及隨機產生電路(randomizer)的處理來將該資料直接寫入至單層式儲存區塊210_1~210_N中;而若是該判斷結果指出該資料為冷資料時,微處理器124會透過控制邏輯129的處理來將該資料直接寫入至三層式儲存區塊220_1~220_M中。
如上所述,由於經常需要更新的熱資料會直接被寫入到壽命較長且允許抹除次數較多的單層式儲存區塊210_1~210_N中,因此在單層式儲存區塊210_1~210_N所儲存的資料大部分是熱資料的情形下,由於其中所儲存的大部分內容會因為資料更新而變為無效資料,因此在後續進行垃圾收集操作以回收舊有實體位址時所需要搬移的有效資料量便會降低,因此可以降低快閃記憶體模組130中會影響其壽命的寫入放大因子,進而延長快閃記憶體模組130的使用壽命。另外,由於不常更新的冷資料會直接被寫入到壽命較短但容量較高的三層式儲存區塊220_1~220_M中,故可以有效地利用快閃記憶體模組130的儲存空間。
在一實施例中,人工智慧模組122可以根據主裝置110要求寫入的資料的寫入頻率來判斷該資料是屬於熱資料或是冷資料,舉例來說,人工智慧模組122可以根據該資料所對應到之邏輯位址在過去一段時間內(例如,幾小時或是一天內)的寫入次數來計算出該資料的寫入頻率(亦即,同一個邏輯位址的寫入頻率),並當該資料的寫入頻率高於一臨界值時判斷該資料為熱資料,以及當該資料的寫入頻率不高於該臨界值時判斷該資料為冷資料。在另一實施例中,人工智慧模組122可以根據該資料的邏輯位址來判斷該資料是屬於熱資料或是冷資料,例如當該資料的邏輯位址位於某些範圍時判斷該資料是屬於熱資料,反之則判斷該資料是屬於冷資料。在另一實施例中,人工智慧模組122可以根據該資料的型態來判斷該資料是屬於熱資料或是冷資料,例如當該資料的資料量為主裝置110所傳送的最小資料量時(例如,4千位元組)判斷該資料是屬於熱資料,反之則判斷該資料是屬於冷資料。
在一實施例中,人工智慧模組122係在快閃記憶體控制器120處於一離線狀態(off-line)時進行訓練操作以決定出多個判斷邏輯,並在快閃記憶體控制器120處於一在線狀態(on-line)時使用該多個判斷邏輯以判斷該資料是屬於熱資料或是冷資料,以產生該判斷結果。舉例來說,當快閃記憶體控制器120處於離線狀態時(亦即,快閃記憶體控制器120尚未連結到快閃記憶體模組130),工程師可以透過將模擬的系統資料及/或其他的熱資料輸入到人工智慧模組122,以供人工智慧模組122進行訓練來決定出一部分的判斷邏輯,其中該些判斷邏輯可以是用以判斷熱資料之寫入頻率的臨界值,及/或熱資料的邏輯位址特性,及/或熱資料的資料型態或是資料量的分佈;類似地,工程師亦可以透過將模擬的圖片、影片及/或其他的冷資料輸入到人工智慧模組122,以供人工智慧模組122進行訓練來決定出另一部分的判斷邏輯,例如用以判斷冷資料之寫入頻率的臨界值,及/或冷資料的邏輯位址特性,及/或冷資料的資料型態或是資料量的分佈。
需注意的是,上述第2圖中快閃記憶體模組130僅包含單層式儲存區塊210_1~210_N以及三層式儲存區塊220_1~220_M,以及微處理器124根據人工智慧模組122的判斷結果將熱資料以及冷資料分別寫入到單層式儲存區塊210_1~210_N以及三層式儲存區塊220_1~220_M的技術內容僅是範例說明,而並非是作為本發明的限制。在本發明的其他實施例中,快閃記憶體模組130亦可以包含單層式儲存區塊、雙層式儲存區塊、三層式儲存區塊以及四層式儲存區塊中的任意至少兩種區塊,且微處理器124根據人工智慧模組122的判斷結果將熱資料寫入到每一個記憶單元所記憶的位元數較低的區塊,並將冷資料寫入到每一個記憶單元所記憶的位元數較高的區塊。舉例來說,假設快閃記憶體模組130包含了雙層式儲存區塊(每一個記憶單元記錄兩個位元)以及單層式儲存區塊,則微處理器124根據人工智慧模組122的判斷結果將熱資料以及冷資料分別寫入到單層式儲存區塊以及雙層式儲存區塊中;在另一例子中,假設快閃記憶體模組130包含了單層式儲存區塊、雙層式儲存區塊以及四層式儲存區塊(每一個記憶單元記錄四個位元),則微處理器124根據人工智慧模組122的判斷結果將冷資料寫入到四層式儲存區塊中,並將熱資料寫入至單層式儲存區塊及/或雙層式儲存區塊中;在另一例子中,假設快閃記憶體模組130包含了單層式儲存區塊、雙層式儲存區塊以及四層式儲存區塊,則微處理器124可以根據人工智慧模組122的判斷結果將冷資料寫入到雙層式儲存區塊以及四層式儲存區塊中,並將熱資料寫入至單層式儲存區塊中。
第3圖為根據本發明一實施例之存取快閃記憶體模組130的方法的流程圖。參考第1~2圖及其揭露內容,流程如下所述。
步驟300:流程開始。
步驟302:自一主裝置接收一資料。
步驟304:判斷該資料是屬於熱資料或是冷資料,以產生一判斷結果。當該判斷結果指出該資料為熱資料時,流程進入步驟306;而當該判斷結果指出該資料為冷資料時,流程進入步驟308。
步驟306:將該資料寫入至快閃記憶體模組中每一個記憶單元所記憶的位元數較低的區塊。
步驟308:將該資料寫入至快閃記憶體模組中每一個記憶單元所記憶的位元數較高的區塊。
簡要歸納本發明,在本發明之快閃記憶體控制器中,係包含了人工智慧模組以判斷來自主裝置的資料是熱資料或是冷資料,且微處理器根據人工智慧模組的判斷結果來將熱資料寫入至快閃記憶體模組中每一個記憶單元所記憶的位元數較低的區塊(例如,單層式儲存區塊),並將冷資料寫入至快閃記憶體模組中每一個記憶單元所記憶的位元數較高的區塊(例如,三層式儲存區塊)。透過本實施例的技術方法,可以延長快閃記憶體模組的使用壽命。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:電子裝置110:主裝置120:快閃記憶體控制器121:介面電路122:人工智慧模組124:微處理器126:緩衝記憶體128:唯讀記憶體129:控制邏輯130:快閃記憶體模組210_1~210_N:單層式儲存區塊220_1~220_M:三層式儲存區塊300~308:步驟
第1圖為根據本發明一實施例之電子裝置的示意圖。 第2圖為快閃記憶體模組中所包含之不同區塊的示意圖。 第3圖為根據本發明一實施例之存取快閃記憶體模組的方法的流程圖。
100:電子裝置
110:主裝置
120:快閃記憶體控制器
121:介面電路
122:人工智慧模組
124:微處理器
126:緩衝記憶體
128:唯讀記憶體
129:控制邏輯
130:快閃記憶體模組

Claims (8)

  1. 一種快閃記憶體控制器,包含有:一人工智慧模組,用以自一主裝置接收一資料,並根據該資料對應的邏輯位址在過去一段時間內的寫入次數是否高於一臨界值、該資料的邏輯位址是否位於特定範圍、以及該資料的型態來判斷該資料是屬於熱資料(hot data)或是冷資料(cold data),以產生一判斷結果;以及一微處理器,耦接於該人工智慧模組,用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中;其中,當該判斷結果指出該資料為熱資料時,該微處理器將該資料寫入至該快閃記憶體模組中的該第一區塊,當該判斷結果指出該資料為冷資料時,該微處理器將該資料寫入至該快閃記憶體模組中的該第二區塊,其中,該第一區塊中每一個記憶單元所記憶的位元數低於該第二區塊中每一個記憶單元所記憶的位元數。
  2. 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組根據該資料對應的邏輯位址在過去一段時間內的寫入次數是否高於該臨界值、該資料的邏輯位址是否位於特定範圍、該資料的型態以及該資料的資料量大小來判斷該資料是屬於熱資料或是冷資料,以產生該判斷結果。
  3. 如申請專利範圍第1或2項所述之快閃記憶體控制器,其中該第一區塊為一單層式儲存區塊,且該第二區塊為一雙層式儲存區塊;或是該第一區塊為該單層式儲存區塊或是該雙層式儲存區塊,且該第二區塊為一三層式儲存區塊或是一四層式儲存區塊。
  4. 如申請專利範圍第1或2項所述之快閃記憶體控制器,其中當該判斷結果指出該資料為熱資料時,該微處理器將該資料只寫入至該快閃記憶體 模組中的該第一區塊,當該判斷結果指出該資料為冷資料時,該微處理器將該資料只寫入至該快閃記憶體模組中的該第二區塊。
  5. 如申請專利範圍第1或2項所述之快閃記憶體控制器,其中該人工智慧模組係在該快閃記憶體控制器處於一離線狀態(off-line)時進行訓練操作以決定出多個判斷邏輯,並在快閃記憶體控制器處於一在線狀態(on-line)時使用該多個判斷邏輯以判斷該資料是屬於熱資料或是冷資料,以產生該判斷結果。
  6. 一種存取一快閃記憶體模組的方法,包含有:自一主裝置接收一資料;根據該資料對應的邏輯位址在過去一段時間內的寫入次數是否高於一臨界值、該資料的邏輯位址是否位於特定範圍、以及該資料的型態來判斷該資料是屬於熱資料(hot data)或是冷資料(cold data),以產生一判斷結果;以及根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中;其中,當該判斷結果指出該資料為熱資料時,將該資料寫入至一快閃記憶體模組中的該第一區塊,當該判斷結果指出該資料為冷資料時,將該資料寫入至該快閃記憶體模組中的該第二區塊,其中該第一區塊中每一個記憶單元所記憶的位元數低於該第二區塊中每一個記憶單元所記憶的位元數。
  7. 一種電子裝置,包含有:一快閃記憶體模組;以及 一快閃記憶體控制器,用以存取該快閃記憶體模組,且包含有:一人工智慧模組,用以自一主裝置接收一資料,並根據該資料對應的邏輯位址在過去一段時間內的寫入次數是否高於一臨界值、該資料的邏輯位址是否位於特定範圍、以及該資料的型態來判斷該資料是屬於熱資料(hot data)或是冷資料(cold data),以產生一判斷結果;以及一微處理器,耦接於該人工智慧模組,用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中;其中,當該判斷結果指出該資料為冷資料時,該微處理器將該資料寫入至該快閃記憶體模組中的該第二區塊,其中,該第一區塊中每一個記憶單元所記憶的位元數低於該第二區塊中每一個記憶單元所記憶的位元數。
  8. 一種快閃記憶體控制器,包含有:一人工智慧模組,用以自一主裝置接收一資料,並根據該資料對應的邏輯位址在過去一段時間內的寫入次數是否高於一臨界值、該資料的邏輯位址是否位於特定範圍、以及該資料的型態之其中至少二個來判斷該資料是屬於熱資料(hot data)或是冷資料(cold data),以產生一判斷結果;以及一微處理器,耦接於該人工智慧模組,用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中的一第一區塊或是一第二區塊中;其中,當該判斷結果指出該資料為熱資料時,該微處理器將該資料寫入至該 快閃記憶體模組中的該第一區塊,當該判斷結果指出該資料為冷資料時,該微處理器將該資料寫入至該快閃記憶體模組中的該第二區塊,其中,該第一區塊中每一個記憶單元所記憶的位元數低於該第二區塊中每一個記憶單元所記憶的位元數。
TW107137849A 2018-09-04 2018-10-26 快閃記憶體控制器及相關的存取方法及電子裝置 TWI707232B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811028072.1A CN110874186A (zh) 2018-09-04 2018-09-04 闪存控制器及相关的存取方法及电子装置
CN201811028072.1 2018-09-04

Publications (2)

Publication Number Publication Date
TW202011201A TW202011201A (zh) 2020-03-16
TWI707232B true TWI707232B (zh) 2020-10-11

Family

ID=69641090

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107137849A TWI707232B (zh) 2018-09-04 2018-10-26 快閃記憶體控制器及相關的存取方法及電子裝置

Country Status (3)

Country Link
US (1) US20200073591A1 (zh)
CN (1) CN110874186A (zh)
TW (1) TWI707232B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11334254B2 (en) * 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
CN110308876B (zh) * 2019-07-01 2024-05-17 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
CN110333770B (zh) * 2019-07-10 2023-05-09 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
TWI738359B (zh) * 2020-05-26 2021-09-01 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
CN111949211B (zh) 2020-07-10 2023-05-09 深圳宏芯宇电子股份有限公司 存储装置及存储控制方法
CN112035061B (zh) * 2020-08-17 2024-05-10 鹏城实验室 固态硬盘资源分配方法、装置和存储介质
US20220229552A1 (en) * 2021-01-15 2022-07-21 SK Hynix Inc. Computer system including main memory device having heterogeneous memories, and data management method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200912641A (en) * 2007-08-11 2009-03-16 Mcm Portfolio Llc Smart solid state drive and method for handling critical files
US20090157948A1 (en) * 2007-12-14 2009-06-18 Spansion Llc Intelligent memory data management
TW201308074A (zh) * 2011-05-17 2013-02-16 Sandisk Technologies Inc 具有熱/冷資料分類之區塊管理之非揮發性記憶體及方法
US9811288B1 (en) * 2011-12-30 2017-11-07 EMC IP Holding Company LLC Managing data placement based on flash drive wear level

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1936866A (zh) * 2006-08-18 2007-03-28 福昭科技(深圳)有限公司 具有资料还原功能的闪存记忆体存储机制
CN101996137A (zh) * 2009-08-20 2011-03-30 威刚科技(苏州)有限公司 存储装置与其资料处理方法
US9183134B2 (en) * 2010-04-22 2015-11-10 Seagate Technology Llc Data segregation in a storage device
US9417754B2 (en) * 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US8760922B2 (en) * 2012-04-10 2014-06-24 Sandisk Technologies Inc. System and method for micro-tiering in non-volatile memory
US9727249B1 (en) * 2014-02-06 2017-08-08 SK Hynix Inc. Selection of an open block in solid state storage systems with multiple open blocks
KR102295208B1 (ko) * 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
US9696935B2 (en) * 2015-04-24 2017-07-04 Kabushiki Kaisha Toshiba Storage device that secures a block for a stream or namespace and system having the storage device
US10372342B2 (en) * 2017-10-02 2019-08-06 Western Digital Technologies, Inc. Multi-level cell solid state device and method for transferring data between a host and the multi-level cell solid state device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200912641A (en) * 2007-08-11 2009-03-16 Mcm Portfolio Llc Smart solid state drive and method for handling critical files
US20090157948A1 (en) * 2007-12-14 2009-06-18 Spansion Llc Intelligent memory data management
TW201308074A (zh) * 2011-05-17 2013-02-16 Sandisk Technologies Inc 具有熱/冷資料分類之區塊管理之非揮發性記憶體及方法
US9811288B1 (en) * 2011-12-30 2017-11-07 EMC IP Holding Company LLC Managing data placement based on flash drive wear level

Also Published As

Publication number Publication date
US20200073591A1 (en) 2020-03-05
CN110874186A (zh) 2020-03-10
TW202011201A (zh) 2020-03-16

Similar Documents

Publication Publication Date Title
TWI707232B (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
TWI604455B (zh) 資料儲存裝置、記憶體控制器及其資料管理方法與資料區塊管理方法
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
US8825941B2 (en) SLC-MLC combination flash storage device
JP5728672B2 (ja) ハイブリッドメモリ管理
EP2565792A1 (en) Block management schemes in hybrid SLC/MLC memory
US8296504B2 (en) Data management method and flash memory storage system and controller using the same
TWI692688B (zh) 快閃記憶體控制器及相關電子裝置
US10936203B2 (en) Memory storage device and system employing nonvolatile read/write buffers
KR20070046864A (ko) 플래쉬 화일 시스템에서 가상-물리 주소 변환 방법 및시스템
TW201917581A (zh) 管理快閃記憶體模組的方法及相關的快閃記憶體控制器
US20140372668A1 (en) Data writing method, memory controller and memory storage apparatus
US20230214158A1 (en) Read performance of memory devices
US8037236B2 (en) Flash memory writing method and storage system and controller using the same
CN106445401B (zh) 表格更新方法、存储器储存装置及存储器控制电路单元
KR102113212B1 (ko) 플래시 메모리 시스템 및 그 제어 방법
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
CN114968096A (zh) 一种存储器的控制方法、存储器与存储系统
TWI748410B (zh) 用來針對非揮發性記憶體進行區塊管理的方法以及設備
CN111309642B (zh) 一种存储器及其控制方法与存储系统
US9830077B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR20220052353A (ko) 조정된 파라미터를 사용한 메모리 컴포넌트의 가비지 수집
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
CN110162493B (zh) 存储器管理方法及使用所述方法的储存控制器
CN109273037B (zh) 数据读取方法以及存储控制器