TWI692688B - 快閃記憶體控制器及相關電子裝置 - Google Patents
快閃記憶體控制器及相關電子裝置 Download PDFInfo
- Publication number
- TWI692688B TWI692688B TW107137854A TW107137854A TWI692688B TW I692688 B TWI692688 B TW I692688B TW 107137854 A TW107137854 A TW 107137854A TW 107137854 A TW107137854 A TW 107137854A TW I692688 B TWI692688 B TW I692688B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- flash memory
- blocks
- judgment result
- memory controller
- Prior art date
Links
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/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/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/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
- 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
- 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。唯讀記憶體213係用來儲存多個程式碼,而微處理器122則用來執行該些程式碼以控制對快閃記憶體模組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,之後再透過垃圾收集操作將其中的有效資料搬移到三層式儲存區塊220_1~220_M中。
在本發明的另一個實施例中,快閃記憶體模組130可以不包含作為暫存區塊的單層式儲存區塊220_1~220_N,亦即若是該判斷結果指出該資料為不重要資料時,微處理器124會透過控制邏輯129的處理來將該資料直接寫入至三層式儲存區塊220_1~220_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:將該資料寫入至快閃記憶體模組中的一暫存區塊,並在後續進行一垃圾收集操作時將儲存在該暫存區塊的該資料搬移到一三層式儲存區塊或是一四層式儲存區塊。
簡要歸納本發明,在本發明之快閃記憶體控制器中,係包含了人工智慧模組以判斷來自主裝置的資料是重要資料或是不重要資料,且微處理器根據人工智慧模組的判斷結果來將重要資料寫入至快閃記憶體模組中具有較佳資料保存力的區塊(例如,單層式儲存區塊)。透過本實施例的技術方法,可以大幅降低重要資料發生遺失毀損的機率。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
第1圖為根據本發明一實施例之電子裝置的示意圖。 第2圖為快閃記憶體模組中所包含之不同區塊的示意圖。 第3圖為根據本發明一實施例之存取快閃記憶體模組的方法的流程圖。
Claims (9)
- 一種快閃記憶體控制器,包含有:一人工智慧模組,用以自一主裝置接收一資料,並判斷該資料是屬於重要資料或是不重要資料,以產生一判斷結果;一微處理器,耦接於該人工智慧模組,用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中,其中該快閃記憶體模組包含多個第一區塊以及多個第二區塊,其中該多個第一區塊中每一個記憶單元所記憶的位元數低於該多個第二區塊中每一個記憶單元所記憶的位元數;其中當該判斷結果指出該資料是屬於重要資料時,該微處理器僅會將該資料儲存在該多個第一區塊中的至少其一;其中當該判斷結果指出該資料是屬於不重要資料時,該微處理器將該資料儲存在該快閃記憶體模組的一暫存區塊中,且該微處理器在後續進行一垃圾收集操作時將儲存在該暫存區塊的該資料搬移到該多個第二區塊的至少其一。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該多個第一區塊為快閃記憶體模組中的單層式儲存(single level cell,SLC)區塊,且該多個第二區塊為雙層式儲存(Multi level cell,MLC)區塊、三層式儲存(triple level cell,TLC)區塊或是式四層式儲存(Quadruple level cell,QLC)區塊;或是,該多個第一區塊為快閃記憶體模組中的單層式儲存區塊或是雙層式儲存區塊,而該多個第二區塊為三層式儲存區塊或是四層式儲存區塊。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該當該判斷結果指出該資料是屬於重要資料時,該微處理器僅會將該資料儲存在該快閃 記憶體模組中的該多個第一區塊,且儲存在該多個第一區塊中的該資料不會因為該快閃記憶體控制器的其他任何操作而被搬移至不同於該多個第一區塊的任一區塊中。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該暫存區塊為一單層式儲存區塊。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組根據該資料所關聯到之該快閃記憶體模組中的實體位址,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組根據該資料所對應到之邏輯位址的讀取及寫入頻率,來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組根據該資料的大小來判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組係在該快閃記憶體控制器處於一離線狀態(off-line)時進行訓練操作以決定出多個判斷邏輯,並在快閃記憶體控制器處於一在線狀態(on-line)時使用該多個判斷邏輯以判斷該資料是屬於重要資料或是不重要資料,以產生該判斷結果。
- 一種具有快閃記憶體之電子裝置,包含有:一快閃記憶體模組;以及一快閃記憶體控制器,用以存取該快閃記憶體模組,且包含有:一人工智慧模組,用以自一主裝置接收一資料,並判斷該資料是屬於重要資料或是不重要資料,以產生一判斷結果;一微處理器,耦接於該人工智慧模組,用以根據該判斷結果以決定將該資料寫入至一快閃記憶體模組中,其中該快閃記憶體模組包含多個第一區塊以及多個第二區塊,其中該多個第一區塊中每一個記憶單元所記憶的位元數低於該多個第二區塊中每一個記憶單元所記憶的位元數;其中當該判斷結果指出該資料是屬於重要資料時,該微處理器僅會將該資料儲存在該多個第一區塊中的至少其一;其中當該判斷結果指出該資料是屬於不重要資料時,該微處理器將該資料儲存在該快閃記憶體模組的一暫存區塊中,且該微處理器在後續進行一垃圾收集操作時將儲存在該暫存區塊的該資料搬移到該多個第二區塊的至少其一。
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 |
---|---|
TW202011194A TW202011194A (zh) | 2020-03-16 |
TWI692688B true TWI692688B (zh) | 2020-05-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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109865A TWI820321B (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 |
US8930647B1 (en) * | 2011-04-06 | 2015-01-06 | P4tents1, LLC | Multiple class memory systems |
US20160306570A1 (en) * | 2014-08-04 | 2016-10-20 | Conor Maurice Ryan | Offline Characterization for Adaptive Flash Tuning |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953931B2 (en) * | 1999-08-04 | 2011-05-31 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
US8078794B2 (en) * | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
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 | 資料儲存裝置以及快閃記憶體之資料寫入方法 |
JP5536255B2 (ja) * | 2012-06-04 | 2014-07-02 | 慧榮科技股▲分▼有限公司 | データアクセス時間を短縮したフラッシュメモリ装置及びフラッシュメモリのデータアクセス方法 |
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 |
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 |
US20160306570A1 (en) * | 2014-08-04 | 2016-10-20 | Conor Maurice Ryan | Offline Characterization for Adaptive Flash Tuning |
Also Published As
Publication number | Publication date |
---|---|
TW202011194A (zh) | 2020-03-16 |
CN110874184A (zh) | 2020-03-10 |
TWI820321B (zh) | 2023-11-01 |
TW202028987A (zh) | 2020-08-01 |
CN110874184B (zh) | 2023-08-22 |
US10712970B2 (en) | 2020-07-14 |
US20200073582A1 (en) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI707232B (zh) | 快閃記憶體控制器及相關的存取方法及電子裝置 | |
US20180260317A1 (en) | Method for managing the copying and storing of data in garbage collection, memory storage device and memory control circuit unit using the same | |
TWI692688B (zh) | 快閃記憶體控制器及相關電子裝置 | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
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 | |
EP2565792A1 (en) | Block management schemes in hybrid SLC/MLC memory | |
US20100011154A1 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8516184B2 (en) | Data updating using mark count threshold in non-volatile memory | |
US10437520B2 (en) | Method for performing writing management in a memory device, and associated memory device and controller thereof | |
TWI498899B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
US11645006B2 (en) | Read performance of memory devices | |
US20140372668A1 (en) | Data writing method, memory controller and memory storage apparatus | |
TW201917581A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器 | |
US20180373433A1 (en) | Method for managing flash memory module and associated flash memory controller | |
TWI421870B (zh) | 用於快閃記憶體的資料寫入方法及其控制器與儲存系統 | |
US9122583B2 (en) | Memory controller and memory storage device and data writing method | |
CN107924700B (zh) | 自适应多阶段擦除 | |
US9378130B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
US8832358B2 (en) | Data writing method, memory controller and memory storage apparatus | |
KR20220130526A (ko) | 메모리 시스템 및 그 동작 방법 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
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 | |
CN106326131B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 |