TW202028987A - 快閃記憶體控制器及相關控制方法 - Google Patents

快閃記憶體控制器及相關控制方法 Download PDF

Info

Publication number
TW202028987A
TW202028987A TW109109865A TW109109865A TW202028987A TW 202028987 A TW202028987 A TW 202028987A TW 109109865 A TW109109865 A TW 109109865A TW 109109865 A TW109109865 A TW 109109865A TW 202028987 A TW202028987 A TW 202028987A
Authority
TW
Taiwan
Prior art keywords
data
blocks
flash memory
judgment result
unimportant
Prior art date
Application number
TW109109865A
Other languages
English (en)
Other versions
TWI820321B (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 TW202028987A publication Critical patent/TW202028987A/zh
Application granted granted Critical
Publication of TWI820321B publication Critical patent/TWI820321B/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
    • 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/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/061Improving I/O performance
    • 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/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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
    • G06N20/00Machine learning
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

Abstract

本發明揭露一種存取一快閃記憶體模組的存取控制方法,係應用於一快閃記憶體控制器。快閃記憶體模組包含多個第一區塊、多個暫存區塊以及多個第二區塊,其中第一區塊中每一個記憶單元所記憶的位元數低於第二區塊中每一個記憶單元所記憶的位元數。存取控制方法包含自一主裝置接收一資料;判斷來自主裝置的資料是屬於重要資料或是不重要資料,以產生一判斷結果;根據判斷結果以決定是否將資料寫入至快閃記憶體模組中的第一區塊的至少其一;以及若判斷結果指出資料是屬於不重要資料時,將資料暫時儲存在暫存區塊中的至少其一直至進行一垃圾收集操作。

Description

快閃記憶體控制器及相關控制方法
本發明係有關於記憶體技術,尤其是一種記憶體控制技術。
一般儲存媒體中的資料可以包含作業系統、檔案系統以及其他純資料(例如,圖片、影片…等等),而當儲存媒體中的資料發生遺失或毀損時,若是該資料屬於作業系統或是檔案系統,則很有可能會造成當機或是系統毀損的情況,甚至有可能需要重灌作業系統;另一方面,若是該資料屬於純資料的部分,則所造成的損失可能只是圖片無法讀取或是檔案無法打開,亦即造成的傷害相當輕微且是在可以控制的範圍內。
另一方面,當上述的儲存媒體是一個快閃記憶體模組時,由於快閃記憶體模組通常會包含多種不同儲存形式的區塊,例如單層式儲存(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。唯讀記憶體係用來儲存多個程式碼,而微處理器124則用來執行該些程式碼以控制對快閃記憶體模組130之存取,且快閃記憶體控制器120內的元件可透過圖式的匯流排來進行資料的傳遞。在本實施例中,快閃記憶體控制器120以及快閃記憶體模組130可視為一固態硬碟(Solid-state drive,SSD),電子裝置100可以是任何具有固態硬碟的電腦或伺服器,而主裝置110可以是用來透過快閃記憶體控制器120來存取快閃記憶體模組130的一處理器。
快閃記憶體模組130包含了至少一個快閃記憶體晶片,而每一個快閃記憶體晶片包含了多個區塊(block),且每一個區塊包含了多個資料頁(page)。在快閃記憶體的相關設計中,每一個區塊是一個最小的抹除單位,亦即區塊內的所有資料係一併被抹除而無法僅抹除一部分,且每一個資料頁係為一最小的寫入單位。此外,快閃記憶體模組130包含了具有較高資料保存力的多個第一區塊、具有較低資料保存力的多個第二區塊、以及多個暫存區塊,為了方便後續的說明,在以下第2圖所示的實施例中該多個第一區塊係為單層式儲存區塊、該多個第二區塊係為三層式儲存區塊、且該多個暫存區塊為單層式儲存區塊,但本發明並不以此為限。具體來說,參考第2圖,快閃記憶體模組130包含了多個單層式儲存區塊210_1~210_K、220_1~220_N以及多個三層式儲存區塊230_1~230_M,其中單層式儲存區塊210_1~210_K、220_1~220_N所包含的每一個記憶單元(亦即,一個浮閘電晶體(floating gate transistor))僅用來儲存一個位元,而三層式儲存區塊230_1~230_M所包含的每一個記憶單元可用來儲存三個位元。由於單層式儲存區塊210_1~210_K、220_1~220_N以及三層式儲存區塊230_1~230_M的寫入特性,單層式儲存區塊210_1~210_K、220_1~220_N中所儲存之資料的穩定度以及錯誤率比三層式儲存區塊230_1~230_M好很多,且三層式儲存區塊230_1~230_M可允許的抹除次數遠低於單層式儲存區塊210_1~210_K、220_1~220_N可允許的抹除次數,亦即三層式儲存區塊230_1~230_M的壽命較低。
在本實施例中,單層式儲存區塊220_1~220_N係用來作為暫存區塊,亦即單層式儲存區塊220_1~220_N係用來作為快閃記憶體控制器120將資料寫入至三層式儲存區塊230_1~230_M之前的暫存區塊,亦即單層式儲存區塊220_1~220_N中的有效資料會在後續進行垃圾收集(garbage collection)操作時搬移到三層式儲存區塊230_1~230_M中;此外,單層式儲存區塊210_1~210_K則作為資料區塊而非暫存區塊,亦即當資料寫入至單層式儲存區塊210_1~210_K後,便不會被搬移到三層式儲存區塊230_1~230_M中(亦即,若是其中的有效資料需要搬移也只會搬移到另一個單層式儲存區塊)。
在電子裝置100的操作中,當主裝置110需要將一資料寫入至快閃記憶體模組130中時,主裝置110會傳送一寫入命令以及該資料至快閃記憶體控制器120中的介面電路121,接著,人工智慧模組122先判斷該資料是屬於重要資料或是不重要資料,以產生一判斷結果,其中重要資料指的是作業系統、檔案系統、軟體檔案的相關資料,而不重要資料指的是純資料,例如影片、照片、文件檔案...等等。接著,微處理器124根據該判斷結果來決定是否將該資料直接寫入至單層式儲存區塊210_1~210_K中,具體來說,若是該判斷結果指出該資料為重要資料時,微處理器124會透過控制邏輯129中的編碼器(encoder)以及隨機產生電路(randomizer)的處理來將該資料直接寫入至單層式儲存區塊210_1~210_K中;而若是該判斷結果指出該資料為不重要資料時,微處理器124會透過控制邏輯129的處理來將該資料寫入至作為暫存區塊的單層式儲存區塊220_1~220_N,之後再透過垃圾收集操作將其中的有效資料搬移到三層式儲存區塊230_1~230_M中。
在本發明的另一個實施例中,快閃記憶體模組130可以不包含作為暫存區塊的單層式儲存區塊220_1~220_N,亦即若是該判斷結果指出該資料為不重要資料時,微處理器124會透過控制邏輯129的處理來將該資料直接寫入至三層式儲存區塊230_1~230_M中。
如上所述,由於重要資料會直接被寫入到資料較穩定且壽命較長的單層式儲存區塊210_1~210_K中,且在一實施例中儲存在單層式儲存區塊210_1~210_K的該資料不會因為快閃記憶體控制器120的其他任何操作而被搬移至不同於單層式儲存區塊的區塊(例如三層式儲存區塊)中,因此可以大幅降低這些重要資料毀損的機會。另外,由於不重要資料會直接被寫入到容量較高的三層式儲存區塊230_1~230_M中,故可以有效地利用快閃記憶體模組130的儲存空間。
在一第一實施例中,人工智慧模組122可以根據主裝置110要求寫入的該資料所關聯到之該快閃記憶體模組中的實體位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。具體來說,由於作業系統的相關資料是在快閃記憶體模組130一開始使用時便需要安裝寫入的,因此快閃記憶體模組130內實體位址較前面的區塊所儲存的可以被視為是重要資料,亦即人工智慧模組122可以判斷主裝置110要求寫入的該資料是否關連到快閃記憶體模組130內一定範圍內的實體位址的資訊,例如判斷該資料是否係用來更新快閃記憶體模組130內一定範圍內的實體位址的資訊,以產生該判斷結果。
在一第二實施例中,由於作業系統或是檔案系統內的資料通常會較常的被讀取及寫入,因此,人工智慧模組122可以根據主裝置110要求寫入的資料的存取頻率來判斷該資料是屬於重要資料或是不重要資料,舉例來說,人工智慧模組122可以根據該資料所對應到之邏輯位址在過去一段時間內(例如,幾小時或是一天內)的寫入/讀取次數來計算出該資料的存取頻率(亦即,同一個邏輯位址的寫入頻率),並當該資料的存取頻率高於一臨界值時判斷該資料為重要資料,以及當該資料的存取頻率不高於該臨界值時判斷該資料為不重要資料。
在一第三實施例中,人工智慧模組122可以根據主裝置110要求寫入的資料的大小來決定該資料是屬於重要資料或是不重要資料,以產生該判斷結果。具體來說,由於作業系統之相關資料的更新通常具有很小的資料量,因此若是當該資料的資料量為主裝置110所傳送的最小資料量時(例如,4千位元組),人工智慧模組122便可以判斷該資料為重要資料。
在一第四實施例中,人工智慧模組122可以根據主裝置110要求寫入的資料所對應的邏輯位址是否經常在電子裝置100進行開關機時寫入,來決定該資料是屬於重要資料或是不重要資料,以產生該判斷結果。舉例來說,由於電子裝置100在進行開關機時所寫入的資料通常是重要的系統或檔案資料,因此,假設該資料所對應的邏輯位址係經常(例如,寫入頻率或是次數高於一臨界值)在電子裝置100開機後一段時間內、或是關機前一段時間內寫入至快閃記憶體模組130中,則人工智慧模組122便判斷該資料為重要資料。
需注意的是,上述四個實施例可以同時被使用在人工智慧模組122判斷重要資料以及不重要資料的機制中,亦即只要該資料是關連到快閃記憶體模組130內一定範圍內的實體位址的資訊、該資料的存取頻率高於一臨界值、該資料的資料量為主裝置110所傳送的最小資料量、以及該資料所對應的邏輯位址經常在電子裝置100進行開關機時寫入中任一者成立,人工智慧模組122便會判斷該資料為重要資料。
在一實施例中,人工智慧模組122係在快閃記憶體控制器120處於一離線狀態(off-line)時進行訓練操作以決定出多個判斷邏輯,並在快閃記憶體控制器120處於一在線狀態(on-line)時使用該多個判斷邏輯以判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。舉例來說,當快閃記憶體控制器120處於離線狀態時(亦即,快閃記憶體控制器120尚未連結到快閃記憶體模組130),工程師可以透過將模擬的系統資料及/或其他的重要資料輸入到人工智慧模組122,以供人工智慧模組122進行訓練來決定出一部分的判斷邏輯,其中該些判斷邏輯可以是用以判斷重要資料在快閃記憶體模組130內的實體位址、及/或存取頻率的臨界值、及/或重要資料的資料量趨勢或分佈、及/或重要資料的存取時間點;類似地,工程師亦可以透過將模擬的圖片、影片及/或其他的不重要資料輸入到人工智慧模組122,以供人工智慧模組122進行訓練來決定出另一部分的判斷邏輯,判斷不重要資料的特性。
需注意的是,上述第2圖中快閃記憶體模組130僅包含單層式儲存區塊210_1~210_K、220_1~220_N以及三層式儲存區塊230_1~230_M,以及微處理器124根據人工智慧模組122的判斷結果將重要資料以及不重要資料分別寫入到單層式儲存區塊210_1~210_K以及三層式儲存區塊230_1~230_M的技術內容僅是範例說明,而並非是作為本發明的限制。在本發明的其他實施例中,快閃記憶體模組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_K、220_1~220_N:單層式儲存區塊 230_1~230_M:三層式儲存區塊 300~308:步驟
第1圖為根據本發明一實施例之電子裝置的示意圖。 第2圖為快閃記憶體模組中所包含之不同區塊的示意圖。 第3圖為根據本發明一實施例之存取快閃記憶體模組的方法的流程圖。
100:電子裝置
110:主裝置
120:快閃記憶體控制器
121:介面電路
122:人工智慧模組
124:微處理器
126:緩衝記憶體
128:唯讀記憶體
129:控制邏輯
130:快閃記憶體模組

Claims (10)

  1. 一種存取一快閃記憶體模組的存取控制方法,係應用於一快閃記憶體控制器,該快閃記憶體模組包含多個第一區塊、多個暫存區塊以及多個第二區塊,其中該些第一區塊中每一個記憶單元所記憶的位元數低於該些第二區塊中每一個記憶單元所記憶的位元數,該存取控制方法包含: 自一主裝置接收一資料; 判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生一判斷結果; 根據該判斷結果以決定是否將該資料寫入至該快閃記憶體模組中的該些第一區塊的至少其一;以及 若該判斷結果指出該資料是屬於不重要資料時,將該資料暫時儲存在該些暫存區塊中的至少其一直至進行一垃圾收集操作。
  2. 如請求項1所述之存取控制方法,其中根據該判斷結果以決定是否將該資料寫入至該快閃記憶體模組中的該些第一區塊的至少其一之步驟包含: 若該判斷結果指出該資料是屬於重要資料時,僅會將該資料儲存在該快閃記憶體模組中的該些第一區塊的至少其一,且儲存在該些第一區塊中的該資料不會因為該快閃記憶體控制器的其他任何操作而被搬移至不同於該些第一區塊的任一區塊中。
  3. 如請求項1所述之存取控制方法,更包含: 在進行該垃圾收集操作時,將儲存在該暫存區塊的該資料搬移到該些第二區塊的至少其一。
  4. 如請求項1至3中任一項所述之存取控制方法,其中該些暫存區塊與該些第一區塊係為相同儲存形式的區塊。
  5. 如請求項1至3中任一項所述之存取控制方法,其中該些暫存區塊與該些第二區塊係為不相同儲存形式的區塊。
  6. 如請求項1至3中任一項所述之存取控制方法,其中判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含: 根據該資料所關聯到之該快閃記憶體模組中的實體位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
  7. 如請求項1至3中任一項所述之存取控制方法,其中判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含: 根據該資料所對應到之邏輯位址的讀取及寫入頻率,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
  8. 如請求項1至3中任一項所述之存取控制方法,其中判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含: 根據該資料的大小來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
  9. 一種快閃記憶體控制器,耦接一快閃記憶體模組,該快閃記憶體模組包含多個第一區塊、多個暫存區塊以及多個第二區塊,該快閃記憶體控制器自一主裝置接收一資料,該快閃記憶體控制器包含: 一人工智慧模組,判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生一判斷結果;以及 一微處理器,耦接該人工智慧模組,根據該判斷結果以決定是否將該資料寫入至該快閃記憶體模組中的該些第一區塊的至少其一, 若該判斷結果指出該資料是屬於不重要資料時,該微處理器將該資料暫時儲存在該些暫存區塊中的至少其一直至進行一垃圾收集操作, 其中該些第一區塊與該些第二區塊係為不相同儲存形式的區塊,該些暫存區塊與該些第一區塊係為相同儲存形式的區塊,該些暫存區塊與該些第二區塊係為不相同儲存形式的區塊。
  10. 如請求項9所述之快閃記憶體控制器,其中該些暫存區塊中的每一個記憶單元的儲存位元數低於該些第二區塊中每一個記憶單元的儲存位元數。
TW109109865A 2018-09-03 2018-10-26 快閃記憶體控制器及相關控制方法 TWI820321B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811020330.1A CN110874184B (zh) 2018-09-03 2018-09-03 快闪记忆体控制器及相关电子装置
CN201811020330.1 2018-09-03

Publications (2)

Publication Number Publication Date
TW202028987A true TW202028987A (zh) 2020-08-01
TWI820321B TWI820321B (zh) 2023-11-01

Family

ID=69641234

Family Applications (2)

Application Number Title Priority Date Filing Date
TW107137854A TWI692688B (zh) 2018-09-03 2018-10-26 快閃記憶體控制器及相關電子裝置
TW109109865A TWI820321B (zh) 2018-09-03 2018-10-26 快閃記憶體控制器及相關控制方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW107137854A TWI692688B (zh) 2018-09-03 2018-10-26 快閃記憶體控制器及相關電子裝置

Country Status (3)

Country Link
US (1) US10712970B2 (zh)
CN (1) CN110874184B (zh)
TW (2) TWI692688B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI780697B (zh) * 2021-01-14 2022-10-11 慧榮科技股份有限公司 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
TWI793993B (zh) * 2021-09-17 2023-02-21 日商鎧俠股份有限公司 記憶體系統及記憶體控制方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI738359B (zh) * 2020-05-26 2021-09-01 慧榮科技股份有限公司 資料儲存裝置與資料處理方法
CN111949211B (zh) * 2020-07-10 2023-05-09 深圳宏芯宇电子股份有限公司 存储装置及存储控制方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US7953931B2 (en) * 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
US7743203B2 (en) * 2007-05-11 2010-06-22 Spansion Llc Managing flash memory based upon usage history
US20090043831A1 (en) * 2007-08-11 2009-02-12 Mcm Portfolio Llc Smart Solid State Drive And Method For Handling Critical Files
US7818610B2 (en) * 2007-09-27 2010-10-19 Microsoft Corporation Rapid crash recovery for flash storage
TWI485563B (zh) * 2008-09-17 2015-05-21 Silicon Motion Inc 快閃記憶裝置及其運作方法
TWI409633B (zh) * 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
TWI436363B (zh) * 2010-05-11 2014-05-01 Silicon Motion Inc 資料儲存裝置以及快閃記憶體之資料寫入方法
US8930647B1 (en) * 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
CN103455440A (zh) * 2012-06-04 2013-12-18 慧荣科技股份有限公司 快闪内存装置及快闪内存的数据存取方法
US20140122774A1 (en) * 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes
WO2015077795A1 (en) * 2013-11-25 2015-05-28 Perceptionicity Institute Corporation Systems, methods, and computer program products for strategic motion video
US9569120B2 (en) * 2014-08-04 2017-02-14 Nvmdurance Limited Adaptive flash tuning
KR102295208B1 (ko) * 2014-12-19 2021-09-01 삼성전자주식회사 프로그램 영역을 동적으로 할당하는 저장 장치 및 그것의 프로그램 방법
CN107239409B (zh) * 2017-05-08 2020-12-29 深圳大学 一种基于温度的重要数据分配方法及其系统
US10430329B2 (en) * 2017-06-23 2019-10-01 Western Digital Technologies, Inc. Quality of service aware storage class memory/NAND flash hybrid solid state drive
US10915791B2 (en) * 2017-12-27 2021-02-09 Intel Corporation Storing and retrieving training data for models in a data center

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI780697B (zh) * 2021-01-14 2022-10-11 慧榮科技股份有限公司 用以管理快閃記憶體模組的方法、快閃記憶體控制器與電子裝置
TWI793993B (zh) * 2021-09-17 2023-02-21 日商鎧俠股份有限公司 記憶體系統及記憶體控制方法
US11809708B2 (en) 2021-09-17 2023-11-07 Kioxia Corporation Memory system and memory control method

Also Published As

Publication number Publication date
CN110874184B (zh) 2023-08-22
CN110874184A (zh) 2020-03-10
TWI820321B (zh) 2023-11-01
TW202011194A (zh) 2020-03-16
US20200073582A1 (en) 2020-03-05
TWI692688B (zh) 2020-05-01
US10712970B2 (en) 2020-07-14

Similar Documents

Publication Publication Date Title
TWI707232B (zh) 快閃記憶體控制器及相關的存取方法及電子裝置
US8055873B2 (en) Data writing method for flash memory, and controller and system using the same
TWI820321B (zh) 快閃記憶體控制器及相關控制方法
US9239785B2 (en) Stochastic block allocation for improved wear leveling
US20090307413A1 (en) Data writing method for flash memory and storage system and controller using the same
US9880742B2 (en) Valid data merging method, memory controller and memory storage apparatus
US9213629B2 (en) Block management method, memory controller and memory stoarge apparatus
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
CN107402716B (zh) 数据写入方法、存储器控制电路单元与存储器储存装置
US8516184B2 (en) Data updating using mark count threshold in non-volatile memory
JPWO2007119267A1 (ja) フラッシュメモリ用のメモリコントローラ
JP2009217391A (ja) メモリシステム
TWI498899B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TWI421870B (zh) 用於快閃記憶體的資料寫入方法及其控制器與儲存系統
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
CN102890655B (zh) 存储器储存装置、其存储器控制器与有效数据识别方法
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN111324549A (zh) 一种存储器及其控制方法和装置
CN107193485B (zh) 储存装置、其控制单元、及可用于储存装置的数据储存方法
US11392310B2 (en) Memory system and controller
US20130246687A1 (en) Data writing method, memory controller and memory storage apparatus
KR20180121733A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20220130526A (ko) 메모리 시스템 및 그 동작 방법
TWI769193B (zh) 記憶體系統的操作方法