TWI820321B - 快閃記憶體控制器及相關控制方法 - Google Patents
快閃記憶體控制器及相關控制方法 Download PDFInfo
- Publication number
- TWI820321B TWI820321B TW109109865A TW109109865A TWI820321B TW I820321 B TWI820321 B TW I820321B TW 109109865 A TW109109865 A TW 109109865A TW 109109865 A TW109109865 A TW 109109865A TW I820321 B TWI820321 B TW I820321B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- blocks
- flash memory
- judgment result
- important
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000013473 artificial intelligence Methods 0.000 claims description 27
- 239000002356 single layer Substances 0.000 description 22
- 239000010410 layer Substances 0.000 description 20
- 238000012549 training Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000014759 maintenance of location Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Selective Calling Equipment (AREA)
- Read Only Memory (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所述之存取控制方法,更包含:在進行該垃圾收集操作時,將儲存在該暫存區塊的該資料搬移到該些第二區塊的至少其一。
- 如請求項1至2中任一項所述之存取控制方法,其中該些暫存區塊與該些第一區塊係為相同儲存形式的區塊。
- 如請求項1至2中任一項所述之存取控制方法,其中該些暫存區塊與該些第二區塊係為不相同儲存形式的區塊。
- 如請求項1至2中任一項所述之存取控制方法,其中 判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含:根據該資料所關聯到之該快閃記憶體模組中的實體位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 如請求項1至2中任一項所述之存取控制方法,其中判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含:根據在該主裝置進行開關機時存取資料所對應到之邏輯位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 如請求項1至2中任一項所述之存取控制方法,其中判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生該判斷結果之步驟包含:根據該資料的大小來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 一種快閃記憶體控制器,耦接一快閃記憶體模組,該快閃記憶體模組包含多個第一區塊、多個暫存區塊以及多個第二區塊,該快閃記憶體控制器自一主裝置接收一資料,該快閃記憶體控制器包含:一人工智慧模組,判斷來自該主裝置的該資料是屬於重要資料或是不重要資料,以產生一判斷結果;以及一微處理器,耦接該人工智慧模組,若該判斷結果指出該資料是屬於重要資料時,僅會將該資料寫入至該快閃記憶體模組中的該些第一區塊的至少其一,且該微處理器在執行具有資料搬移的操作時,維持儲存在該些第一區塊中的該資料於該些第一區塊中, 若該判斷結果指出該資料是屬於不重要資料時,該微處理器將該資料暫時儲存在該些暫存區塊中的至少其一直至進行一垃圾收集操作,其中該些第一區塊與該些第二區塊係為不相同儲存形式的區塊,該些暫存區塊與該些第一區塊係為相同儲存形式的區塊,該些暫存區塊與該些第二區塊係為不相同儲存形式的區塊。
- 如請求項8所述之快閃記憶體控制器,其中該些暫存區塊中的每一個記憶單元的儲存位元數低於該些第二區塊中每一個記憶單元的儲存位元數。
- 如請求項8所述之快閃記憶體控制器,其中,該人工智慧模組根據在該主裝置進行開關機時存取資料所對應的邏輯位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811020330.1 | 2018-09-03 | ||
CN201811020330.1A CN110874184B (zh) | 2018-09-03 | 2018-09-03 | 快闪记忆体控制器及相关电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202028987A TW202028987A (zh) | 2020-08-01 |
TWI820321B true 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) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI738359B (zh) * | 2020-05-26 | 2021-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置與資料處理方法 |
CN111949211B (zh) | 2020-07-10 | 2023-05-09 | 深圳宏芯宇电子股份有限公司 | 存储装置及存储控制方法 |
US20220222008A1 (en) * | 2021-01-14 | 2022-07-14 | Silicon Motion, Inc. | Method for managing flash memory module and associated flash memory controller and memory device |
JP2023044471A (ja) | 2021-09-17 | 2023-03-30 | キオクシア株式会社 | メモリシステム及びメモリ制御方法 |
Citations (5)
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 |
US20090089610A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Rapid crash recovery for flash storage |
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
CN103019958A (zh) * | 2012-10-31 | 2013-04-03 | 香港应用科技研究院有限公司 | 使用数据属性来管理固态存储器里的数据的方法 |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
Family Cites Families (12)
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 |
TWI403906B (zh) * | 2008-09-17 | 2013-08-01 | 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 | 資料儲存裝置以及快閃記憶體之資料寫入方法 |
CN103455440A (zh) * | 2012-06-04 | 2013-12-18 | 慧荣科技股份有限公司 | 快闪内存装置及快闪内存的数据存取方法 |
US10163359B2 (en) * | 2013-11-25 | 2018-12-25 | 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 |
-
2018
- 2018-09-03 CN CN201811020330.1A patent/CN110874184B/zh active Active
- 2018-10-26 TW TW107137854A patent/TWI692688B/zh active
- 2018-10-26 TW TW109109865A patent/TWI820321B/zh active
- 2018-10-30 US US16/174,301 patent/US10712970B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7743203B2 (en) * | 2007-05-11 | 2010-06-22 | Spansion Llc | Managing flash memory based upon usage history |
TW200912641A (en) * | 2007-08-11 | 2009-03-16 | Mcm Portfolio Llc | Smart solid state drive and method for handling critical files |
US20090089610A1 (en) * | 2007-09-27 | 2009-04-02 | Microsoft Corporation | Rapid crash recovery for flash storage |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
CN103019958A (zh) * | 2012-10-31 | 2013-04-03 | 香港应用科技研究院有限公司 | 使用数据属性来管理固态存储器里的数据的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW202011194A (zh) | 2020-03-16 |
CN110874184B (zh) | 2023-08-22 |
US10712970B2 (en) | 2020-07-14 |
TWI692688B (zh) | 2020-05-01 |
CN110874184A (zh) | 2020-03-10 |
TW202028987A (zh) | 2020-08-01 |
US20200073582A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI707232B (zh) | 快閃記憶體控制器及相關的存取方法及電子裝置 | |
TWI820321B (zh) | 快閃記憶體控制器及相關控制方法 | |
US9996297B2 (en) | Hot-cold data separation method in flash translation layer | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US9880742B2 (en) | Valid data merging method, memory controller and memory storage apparatus | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
TWI470431B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
JPWO2007119267A1 (ja) | フラッシュメモリ用のメモリコントローラ | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11645006B2 (en) | Read performance of memory devices | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
CN106445401B (zh) | 表格更新方法、存储器储存装置及存储器控制电路单元 | |
TWI459198B (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
TW201526006A (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
KR20220052353A (ko) | 조정된 파라미터를 사용한 메모리 컴포넌트의 가비지 수집 | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
KR20220130526A (ko) | 메모리 시스템 및 그 동작 방법 | |
CN112765050B (zh) | NFTL算法适配NAND Flash的方法、存储设备 | |
US20240028230A1 (en) | Storage Access Communications and Data Placement for Improved Performance and Reduced Write Amplification | |
US20240028231A1 (en) | Random Storage Access and Data Erasure for Improved Performance and Reduced Write Amplification | |
WO2024036505A1 (en) | Atomicity assurance in write through mode | |
US20230143926A1 (en) | Dynamic Controller Buffer Management and Configuration | |
CN106326131B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
US10169224B2 (en) | Data protecting method for preventing received data from losing, memory storage apparatus and memory control circuit unit |