TWI703442B - 快閃記憶體控制器及相關的存取方法及電子裝置 - Google Patents
快閃記憶體控制器及相關的存取方法及電子裝置 Download PDFInfo
- Publication number
- TWI703442B TWI703442B TW107130648A TW107130648A TWI703442B TW I703442 B TWI703442 B TW I703442B TW 107130648 A TW107130648 A TW 107130648A TW 107130648 A TW107130648 A TW 107130648A TW I703442 B TWI703442 B TW I703442B
- Authority
- TW
- Taiwan
- Prior art keywords
- flash memory
- user behavior
- memory module
- behavior pattern
- module
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more 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
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7211—Wear leveling
-
- 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)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明揭露一種快閃記憶體控制器,其包含一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;以及當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
Description
本發明係有關於快閃記憶體控制器。
在目前的快閃記憶體控制器中,其對於快閃記憶體模組所採用的控制策略是工程師根據預先假定的使用者行為所設定的,以設定好相關的演算法及參數。舉例來說,快閃記憶體控制器不管在甚麼情況都是採用相同的垃圾收集觸發條件、相同的耗損平均操作以及相同的讀取掃描操作的觸發機制,然而,不同使用者的使用行為可能具有很大的差異,且同一使用者的使用行為也有可能隨著時間不同而有所變化,因此,若是採用同一種控制策略來控制快閃記憶體模組可能無法達到系統效能的最佳化。
舉例來說,家庭主婦或是上班族可能大部分時間都只是在上網或是讀取資料,因此所追求的比較偏向是快閃記憶體模組之讀取行為的最佳化;而學生可能常常會下載檔案或是撰寫文件,因此所追求的比較偏向是快閃記憶體模組之寫入行為的最佳化。此外,除了讀取和寫入效能的考慮之外,不同的使用者行為對於快閃記憶體模組的破壞情況也不相同,因此針對不同使用者行為作潛在破壞情況的預先防治與事後補救是一個重要的課題。
因此,本發明的目的之一在於提供一種快閃記憶體控制器,其可以根據使用者行為來採取不同的控制策略來控制快閃記憶體模組的操作,以對快閃記憶體模組的效能及壽命有最佳的處理方式,以解決先前技術中所述的問題。
在本發明的一個實施例中,揭露了一種快閃記憶體控制器,其包含一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;以及當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
在本發明的另一個實施例中,揭露了一種存取一快閃記憶體模組的方法,其包含有以下步驟:根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
在本發明的另一個實施例中,在本發明的另一個實施例中,揭露了一種電子裝置,其包含有一快閃記憶體模組以及一快閃記憶體控制器,且該快閃記憶體控制器包含有一人工智慧模組以及一微處理器。在該快閃記憶體控制器的操作中,該人工智慧模組用以根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;以及當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
第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)。在快閃記憶體的相關設計中,每一個區塊是一個最小的抹除單位,亦即區塊內的所有資料係一併被抹除而無法僅抹除一部分,且每一個資料頁係為一最小的寫入單位。參考第2圖,其繪示了快閃記憶體模組130中包含了多個區塊210_1~210_K,且每一個區塊包含了多個資料頁P1~PN。
在電子裝置100的操作中,人工智慧模組122係用來判斷目前電子裝置100的使用者的一使用者行為模式以產生一判斷結果,且微處理器124根據該判斷結果來產生對應的控制策略來控制快閃記憶體模組130,以最佳化快閃記憶體控制器120以及快閃記憶體模組130的效能。舉例來說,人工智慧模組122可以判斷使用者操作電子裝置100具有一第一使用者行為模式或是一第二使用者行為模式以產生該判斷結果,其中該第一使用者行為模式用以表示使用者操作電子裝置100的主要行為是讀取快閃記憶體模組130的內容,而很少去將資料寫入到快閃記憶體模組130中,例如使用者大部分的時間都是在上網看資料、或是讀取儲存在快閃記憶體模組130中的檔案資料,而很少從網路上下載大量資料或是使用電子裝置100來長時間的建立編輯檔案,這類使用者類似部分家庭主婦或是回到家的上班族;而該第二使用者行為模式用以表示使用者操作電子裝置100具有一定程度的操作,例如使用者有部分的時間會自網路上下載大量資料,或是使用電子裝置100來長時間的建立編輯檔案,這類使用者類似部分學生或是工程師。
在本實施例中,人工智慧模組122可以根據來自主裝置110的多個存取命令以及/或是快閃記憶體模組130的多個參數,以決定出使用者操作電子裝置100是偏向讀取操作(亦即,上述的該第一使用者行為模式)或是偏向寫入操作(亦即,上述的該第二使用者行為模式),並據以產生該判斷結果。在第一個例子中,人工智慧模組122根據來自主裝置110的一讀取命令發生頻率以及一寫入命令發生頻率,以產生該判斷結果。具體來說,人工智慧模組122可以計算在一段時間內主裝置110發送多少個寫入命令以及多少個讀取命令至快閃記憶體控制器120,以計算出該讀取命令發生頻率以及該寫入命令發生頻率。在一範例中,當個寫該入命令發生頻率低於一臨界值時且該讀取命令發生頻率高於另一臨界值時,人工智慧模組122判斷使用者操作電子裝置100是偏向讀取操作並決定出該第一使用者行為模式以作為該判斷結果;以及當該寫入命令發生頻率高於該臨界值時,或是當該寫入命令發生頻率高於該臨界值時且該讀取命令發生頻率低於該另一臨界值時,人工智慧模組122判斷使用者操作電子裝置100是偏向寫入操作並決定出該第二使用者行為模式以作為該判斷結果。
在第二個例子中,人工智慧模組122可以根據快閃記憶體模組130中多個區塊210_1~210_K的讀取次數,以產生該判斷結果。具體來說,在電子裝置100的操作過程中,快閃記憶體控制器120會持續記錄每一個區塊210_1~210_K被快閃記憶體控制器120讀取的讀取次數,並記錄在緩衝記憶體126中,之後再儲存至快閃記憶體模組130。需注意的是,上述的讀取次數指的是該區塊在有資料寫入之後才開始計算的讀取次數,亦即當該區塊被抹除之後,該區塊的讀取次數會重新開始計算。因此,人工智慧模組122可以根據多個區塊210_1~210_K之至少一部分區塊的讀取次數來判斷使用者操作電子裝置100是否偏向讀取操作。舉例來說,當多個區塊210_1~210_K之至少一部分區塊的讀取次數高於一臨界值,或是多個區塊210_1~210_K之至少一部分區塊的讀取次數的平均值高於一臨界值,亦或是任何可以表示區塊讀取次數的參數高於一臨界值,則人工智慧模組122判斷使用者操作電子裝置100是偏向讀取操作並決定出該第一使用者行為模式以作為該判斷結果。
在第三個例子中,人工智慧模組122可以根據快閃記憶體模組130中每個用來儲存資料之區塊210_1~210_K的生成時間差異,以產生該判斷結果。具體來說,在快閃記憶體控制器120將資料寫入到快閃記憶體模組130的過程中,若是快閃記憶體模組130目前被寫入的區塊的所有資料頁P1~PN即將被寫滿,則快閃記憶體模組130會另外建立下一個區塊以供資料繼續寫入,而區塊建立的時間差則稱為區塊的生成時間差異。如上所述,當主裝置110不斷發出寫入命令以將資料寫入到快閃記憶體模組130時,則由於不斷有新的區塊被建立以儲存資料,因此區塊210_1~210_K的生成時間差異會很短;另外,當主裝置110很少發出寫入命令以將資料寫入到快閃記憶體模組130時,則區塊210_1~210_K的生成時間差異會很短。因此,若是區塊210_1~210_K的生成時間差異較長(例如,一段時間內區塊生成時間差異的平均值),則人工智慧模組122判斷使用者操作電子裝置100是偏向讀取操作並決定出該第一使用者行為模式以作為該判斷結果;而若是此區塊210_1~210_K的生成時間差異較短,則人工智慧模組122判斷使用者操作電子裝置100是偏向寫入操作並決定出該第二使用者行為模式以作為該判斷結果。
在第四個例子中,人工智慧模組122可以根據快閃記憶體模組130中執行耗損平均(wear leveling)操作的次數或頻率,以產生該判斷結果。具體來說,當執行耗損平均操作的次數或頻率較高時代表快閃記憶體模組130中的空間可能不足或是有過多的無效資料,亦即快閃記憶體模組130的寫入次數或許很頻繁。因此,當執行耗損平均操作的次數或頻率高於一臨界值時,人工智慧模組122判斷使用者操作電子裝置100是偏向寫入操作並決定出該第二使用者行為模式以作為該判斷結果;或是當執行耗損平均操作的次數或頻率低於一臨界值時,人工智慧模組122判斷使用者操作電子裝置100是偏向讀取操作並決定出該第一使用者行為模式以作為該判斷結果。
需注意的是,以上四個例子可以混合使用,亦即人工智慧模組122根據來自主裝置110的多個讀取命令以及多個寫入命令的發生頻率、區塊210_1~210_K的讀取次數、區塊210_1~210_K的生成時間差異、以及快閃記憶體模組130中執行耗損平均操作的次數或頻率的至少其二,以產生該判斷結果。此外,上述四個例子僅作為範例說明,人工智慧模組122亦可參考其他可用來使用者操作電子裝置100是偏向讀取操作或是偏向寫入操作的相關參數來產生該判斷結果,而這些設計上的變化均應隸屬於本發明的範疇。
接著,在人工智慧模組122判斷出使用者操作電子裝置100是偏向讀取操作(亦即,上述的該第一使用者行為模式)或是偏向寫入操作(亦即,上述的該第二使用者行為模式)之後,微處理器124便可採用相對應的控制策略來控制快閃記憶體模組130。具體來說,當該判斷結果指出使用者操作電子裝置100是屬於該第一使用者行為模式時,由於使用者行為偏向讀取操作,因此快閃記憶體模組130內的資料或許會因為長時間沒有更新而有資料保存(data retention)上的問題而損壞,且快閃記憶體模組130內的某些區塊或許有讀取干擾(read disturbance)的問題,因此微處理器124所採用的第一控制策略可以包含較高頻率的讀取掃描操作,以較積極地讀取某些區塊的所有資料頁P1~PN以判斷其資料品質是否符合標準,並當資料品質不符合標準時將區塊內的資料搬移至另一個區塊中,以確保這些長時間沒有更新的資料不會發生錯誤;另外,由於使用者行為具有較少的寫入操作,因此微處理器124所採用的第一控制策略可以包含較不積極的垃圾收集(garbage collection)操作,例如需要較長的時間或是較多個無效資料頁才會觸發垃圾收集操作,或是第一控制策略可以包含較寬鬆的耗損平均操作,例如可以允許區塊之間有較高的抹除次數差異。此外,由於具有該第一使用者行為模式的使用者通常也會有長時間中斷使用電子裝置100的情形,因此微處理器124所採用的第一控制策略可以包含或是較積極的省電模式,亦即當快閃記憶體控制器120以及快閃記憶體模組130可以較快速地進入到省電模式或休眠模式。
另一方面,當該判斷結果指出使用者操作電子裝置100是屬於該第二使用者行為模式時,由於使用者行為偏向寫入操作,因此快閃記憶體模組130比較不會遭遇到資料保存以及讀取干擾的問題,因此微處理器124所採用的第二控制策略可以包含較低頻率的讀取掃描操作;另外,由於使用者行為具有較多的寫入操作,因此微處理器124所採用的第二控制策略可以包含較積極的垃圾收集操作,例如需要較短的時間或是較少個無效資料頁便才會觸發垃圾收集操作,或是第二控制策略可以包含較積極的耗損平均操作,亦即所允許區塊之間的抹除次數差異較低。此外,由於具有該第二使用者行為模式的使用者通常不會有長時間中斷使用電子裝置100的情形,因此微處理器124所採用的第二控制策略可以包含或是較不積極的省電模式。
在以上的實施例中,係僅以兩個使用者行為模式以及兩個控制策略來作為說明,然而此並非是本發明的限制。在其他的實施例中,快閃記憶體控制器120亦可包含多個其他的使用者行為模式,例如不正常斷電的發生次數或頻率、或是快閃記憶體控制器120與快閃記憶體模組130的平均閒置時間,且微處理器124亦可產生對應的控制策略,以對快閃記憶體模組的效能及壽命有最佳的處理方式。
在一實施例中,人工智慧模組122係在快閃記憶體控制器120處於一離線狀態(off-line)時進行訓練操作以決定出多個判斷邏輯,並在快閃記憶體控制器120處於一在線狀態(on-line)時使用該多個判斷邏輯以判斷使用者行為模式,以產生該判斷結果。舉例來說,當快閃記憶體控制器120處於離線狀態時(亦即,快閃記憶體控制器120尚未連結到快閃記憶體模組130),工程師可以透過將模擬的存取命令以及模擬的快閃記憶體模組130的參數輸入到人工智慧模組122,以供人工智慧模組122進行訓練來決定出一部分的判斷邏輯,其中該些判斷邏輯可以是用以判斷使用者行為的模式。
第3圖為根據本發明一實施例之存取快閃記憶體模組130的方法的流程圖。參考第1~2圖及其揭露內容,流程如下所述。
步驟300:流程開始。
步驟302:根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式以產生一判斷結果,其中當判斷結果為該第一使用者行為模式時,流程進入步驟304;以及當判斷結果為該第二使用者行為模式時,流程進入步驟306。
步驟304:採用第一控制策略來控制快閃記憶體模組,其中第一控制策略包含了較不積極的垃圾收集操作、較高頻率的讀取掃描操作、較寬鬆的耗損平均操作、或是較積極的省電模式。
步驟306:採用第二控制策略來控制該快閃記憶體模組,其中第二控制策略包含了較積極的垃圾收集操作、較低頻率的讀取掃描操作、較積極的耗損平均操作、或是較寬鬆的省電模式。
簡要歸納本發明,在本發明的快閃記憶體控制器中,係採用人工智慧模組以判斷出電子裝置的使用者的一使用者行為模式,且微處理器會根據所決定的使用者行為模式來選擇適合的控制策略,以對快閃記憶體模組的效能及壽命有最佳的處理方式,且也可以針對不同使用者行為作潛在破壞情況的預先防治與事後補救。 以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
第1圖為根據本發明一實施例之電子裝置的示意圖。 第2圖繪示了快閃記憶體模組中包含了多個區塊,以及每一個區塊包含了多個資料頁的示意圖。 第3圖為根據本發明一實施例之存取快閃記憶體模組的方法的流程圖。
Claims (10)
- 一種快閃記憶體控制器,包含有: 一人工智慧模組,用以根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;以及 一微處理器,耦接於該人工智慧模組,其中當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該人工智慧模組根據來自該主裝置的一存取命令發生頻率,以決定出該第一使用者行為模式或是該第二使用者行為模式,並據以產生該判斷結果。
- 如申請專利範圍第2項所述之快閃記憶體控制器,其中該存取命令發生頻率包含了一讀取命令發生頻率以及一寫入命令發生頻率,以及該人工智慧模組至少根據該寫入命令發生頻率,以決定出該第一使用者行為模式或是該第二使用者行為模式,並據以產生該判斷結果。
- 如申請專利範圍第3項所述之快閃記憶體控制器,其中當該寫入命令發生頻率低於一臨界值時且該讀取命令發生頻率高於另一臨界值時,該人工智慧模組決定該第一使用者行為模式;以及當該寫入命令發生頻率高於該臨界值時,該人工智慧模組決定該第二使用者行為模式。
- 如申請專利範圍第4項所述之快閃記憶體控制器,其中當該判斷結果為該第一使用者行為模式時,該微處理器所使用之該第一控制策略包含了較不積極的垃圾收集操作、較高頻率的讀取掃描操作、較寬鬆的耗損平均操作、或是較積極的省電模式;以及當該判斷結果為該第二使用者行為模式時,該微處理器所使用之該第二控制策略包含了較積極的垃圾收集操作、較低頻率的讀取掃描操作、較積極的耗損平均操作、或是較寬鬆的省電模式。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該多個參數包含了該快閃記憶體模組中多個區塊的讀取次數、或是該快閃記憶體模組中每個用來儲存資料之區塊的生成時間差異。
- 如申請專利範圍第6項所述之快閃記憶體控制器,其中當該快閃記憶體模組中多個區塊的讀取次數高於一臨界值、或是該快閃記憶體模組中每個用來儲存資料之區塊的生成時間差異高於另一臨界值時,該微處理器所使用之該第一控制策略包含了較不積極的垃圾收集操作、較高頻率的讀取掃描操作、較寬鬆的耗損平均操作、或是較積極的省電模式;以及當該快閃記憶體模組中多個區塊的讀取次數低於該臨界值、或是該快閃記憶體模組中每個用來儲存資料之區塊的生成時間差異低於該另一臨界值時,該微處理器所使用之該第二控制策略包含了較積極的垃圾收集操作、較低頻率的讀取掃描操作、較積極的耗損平均操作、或是較寬鬆的省電模式。
- 如申請專利範圍第1項所述之快閃記憶體控制器,其中該多個參數包含了該快閃記憶體模組中執行耗損平均操作的次數或頻率、不正常斷電的發生次數或頻率、或是該快閃記憶體控制器與該快閃記憶體模組的平均閒置時間。
- 一種存取一快閃記憶體模組的方法,包含有: 根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果; 當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及 當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
- 一種電子裝置,包含有: 一快閃記憶體模組;以及 一快閃記憶體控制器,用以存取該快閃記憶體模組,且包含有: 一人工智慧模組,用以根據來自一主裝置的多個存取命令以及/或是由該快閃記憶體控制器所控制之一快閃記憶體模組的多個參數,以決定出一第一使用者行為模式或是一第二使用者行為模式,並據以產生一判斷結果;以及 一微處理器,耦接於該人工智慧模組,其中當該判斷結果為該第一使用者行為模式時,該微處理器採用一第一控制策略來控制該快閃記憶體模組;以及當該判斷結果為該第二使用者行為模式時,該微處理器採用不同於該第一控制策略的一第二控制策略來控制該快閃記憶體模組。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130648A TWI703442B (zh) | 2018-08-31 | 2018-08-31 | 快閃記憶體控制器及相關的存取方法及電子裝置 |
US16/520,514 US20200073571A1 (en) | 2018-08-31 | 2019-07-24 | Memory controller and associated accessing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107130648A TWI703442B (zh) | 2018-08-31 | 2018-08-31 | 快閃記憶體控制器及相關的存取方法及電子裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202011207A TW202011207A (zh) | 2020-03-16 |
TWI703442B true TWI703442B (zh) | 2020-09-01 |
Family
ID=69639533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107130648A TWI703442B (zh) | 2018-08-31 | 2018-08-31 | 快閃記憶體控制器及相關的存取方法及電子裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20200073571A1 (zh) |
TW (1) | TWI703442B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210001414A (ko) * | 2019-06-28 | 2021-01-06 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 그 저장 방법 |
CN112233715B (zh) * | 2019-07-15 | 2024-06-18 | 美光科技公司 | 用于存储器***的维护操作 |
US11281578B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory sub-system during a low battery state |
US11726869B2 (en) | 2019-08-20 | 2023-08-15 | Micron Technology, Inc. | Performing error control operation on memory component for garbage collection |
US11282567B2 (en) | 2019-08-20 | 2022-03-22 | Micron Technology, Inc. | Sequential SLC read optimization |
US11281392B2 (en) * | 2019-08-28 | 2022-03-22 | Micron Technology, Inc. | Garbage collection in a memory component using an adjusted parameter |
KR20220063335A (ko) * | 2020-11-10 | 2022-05-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
CN113190173A (zh) * | 2021-04-09 | 2021-07-30 | 北京易华录信息技术股份有限公司 | 一种基于机器学习的低能耗数据冷磁存储方法及装置 |
US11907123B2 (en) * | 2021-04-20 | 2024-02-20 | International Business Machines Corporation | Flash memory garbage collection |
US11599298B1 (en) * | 2021-09-23 | 2023-03-07 | Western Digital Technologies, Inc. | Storage system and method for prediction-based pre-erase of blocks to improve sequential performance |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929224A (en) * | 2007-12-31 | 2009-07-01 | Phison Electronics Corp | Data writing method for flash memory and controller thereof |
TW200931412A (en) * | 2008-01-07 | 2009-07-16 | Phison Electronics Corp | Flash memory storage apparatus, flash memory controller and switching method thereof |
TW201113887A (en) * | 2009-10-12 | 2011-04-16 | Phison Electronics Corp | Data writing method for a flash memory, and controller and storage system using the same |
TW201120750A (en) * | 2009-08-13 | 2011-06-16 | Yahoo Inc | System and method for precaching information on a mobile device |
TW201626843A (zh) * | 2015-01-06 | 2016-07-16 | 宏碁股份有限公司 | 在鄰近服務限制探索中分群的方法和通訊系統 |
-
2018
- 2018-08-31 TW TW107130648A patent/TWI703442B/zh active
-
2019
- 2019-07-24 US US16/520,514 patent/US20200073571A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200929224A (en) * | 2007-12-31 | 2009-07-01 | Phison Electronics Corp | Data writing method for flash memory and controller thereof |
TW200931412A (en) * | 2008-01-07 | 2009-07-16 | Phison Electronics Corp | Flash memory storage apparatus, flash memory controller and switching method thereof |
TW201120750A (en) * | 2009-08-13 | 2011-06-16 | Yahoo Inc | System and method for precaching information on a mobile device |
TW201415366A (zh) * | 2009-08-13 | 2014-04-16 | Yahoo Inc | 於行動裝置上預載資訊之系統與方法 |
TW201113887A (en) * | 2009-10-12 | 2011-04-16 | Phison Electronics Corp | Data writing method for a flash memory, and controller and storage system using the same |
TW201626843A (zh) * | 2015-01-06 | 2016-07-16 | 宏碁股份有限公司 | 在鄰近服務限制探索中分群的方法和通訊系統 |
Also Published As
Publication number | Publication date |
---|---|
US20200073571A1 (en) | 2020-03-05 |
TW202011207A (zh) | 2020-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI703442B (zh) | 快閃記憶體控制器及相關的存取方法及電子裝置 | |
TWI447735B (zh) | 記憶體管理與寫入方法及其可複寫式非揮發性記憶體控制器與儲存系統 | |
TWI595492B (zh) | 資料傳輸方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN106909314B (zh) | 存储器***及控制方法 | |
US8812784B2 (en) | Command executing method, memory controller and memory storage apparatus | |
CN111090398A (zh) | 固态硬盘的垃圾回收方法、装置、设备及可读存储介质 | |
TWI459400B (zh) | 記憶體儲存裝置、及其記憶體控制器與電源控制方法 | |
TWI707232B (zh) | 快閃記憶體控制器及相關的存取方法及電子裝置 | |
TWI454916B (zh) | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 | |
TWI466121B (zh) | 用來進行區塊管理之方法以及記憶裝置及控制器 | |
US9721669B2 (en) | Data protection method, memory control circuit unit and memory storage apparatus | |
CN105556485A (zh) | 基于相邻体和基于动态热阈值的热数据识别 | |
US20160342355A1 (en) | Memory erasing method, memory controller, and memory storage apparatus | |
TW201933369A (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
CN107179880B (zh) | 储存装置、其控制单元、及可用于储存装置的数据搬移方法 | |
TWI820321B (zh) | 快閃記憶體控制器及相關控制方法 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
TW201303584A (zh) | 記憶體儲存裝置、其記憶體控制器與有效資料識別方法 | |
CN111949220A (zh) | 存储设备异常断电恢复方法及存储设备 | |
CN110888589B (zh) | 快闪记忆体控制器及相关的存取方法及电子装置 | |
TWI738235B (zh) | 用來進行恢復管理的方法以及記憶裝置及其控制器以及電子裝置 | |
JP2019164659A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2019164630A (ja) | 推定装置、推定方法およびプログラム | |
CN105138294B (zh) | 一种硬盘设备及信息处理方法 | |
TWI662554B (zh) | 儲存裝置及其控制單元、可用於儲存裝置的資料搬移方法 |