[go: up one dir, main page]

TWI674505B - 資料存取效率的預估方法 - Google Patents

資料存取效率的預估方法 Download PDF

Info

Publication number
TWI674505B
TWI674505B TW106141735A TW106141735A TWI674505B TW I674505 B TWI674505 B TW I674505B TW 106141735 A TW106141735 A TW 106141735A TW 106141735 A TW106141735 A TW 106141735A TW I674505 B TWI674505 B TW I674505B
Authority
TW
Taiwan
Prior art keywords
efficiency
data
flash memory
host
block
Prior art date
Application number
TW106141735A
Other languages
English (en)
Other versions
TW201926058A (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 宜鼎國際股份有限公司
Priority to TW106141735A priority Critical patent/TWI674505B/zh
Priority to US16/159,871 priority patent/US10678686B2/en
Publication of TW201926058A publication Critical patent/TW201926058A/zh
Application granted granted Critical
Publication of TWI674505B publication Critical patent/TWI674505B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • 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/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7205Cleaning, compaction, garbage collection, erase control

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本發明提供一種資料存取效率的預估方法,其應用在一電腦系統中,電腦系統包括一主機及一具有一控制器及複數個區塊的快閃記憶體裝置,當主機傳送一寫入效率詢問指令至快閃記憶體裝置時,若控制器判斷空閒區塊的資料空間能夠容納欲寫入資料量,回覆一最佳寫入效率至主機,若控制器判斷出空閒區塊的資料空間無法容納欲寫入資料量時,挑選至少一區塊執行一垃圾回收程序,計算挑選的區塊的有效資料佔欲寫入資料與有效資料的加總後的權重比例以便產生出一預估的寫入效率且將其回覆主機,且對於挑選的區塊執行垃圾回收程序以成為新的空閒區塊。

Description

資料存取效率的預估方法
本發明有關於一種資料存取效率的預估方法,尤指一種預估快閃記憶體裝置的資料存取效率的方法。
隨著半導體技術的演進,快閃記憶體裝置,例如固態硬碟(SSD,Solid State Disk)的容量越來越大,快閃記憶體裝置已漸漸被伺服主機或錄影裝置作為主要的資料儲存媒體。
由於伺服主機或錄影裝置常需要進行較大資料量的寫入或讀取,因此,快閃記憶體裝置的存取效率的好壞,將直接影響到伺服主機或錄影裝置對於資料的存取速度。以往伺服主機通常利用一測試軟體對於快閃記憶體裝置執行存取效率的測試。當伺服主機利用測試軟體對於快閃記憶體裝置執行存取效率的測試時,將會經由一資料傳輸介面傳輸一些測試資料至快閃記憶體裝置,並利用這些測試資料測試快閃記憶體裝置的讀寫速度,以便預估出快閃記憶體裝置的存取效率。然,伺服主機利用測試軟體預估快閃記憶體裝置的存取效率,容易因測試資料的傳輸延宕、傳輸干擾或一些外在突發狀況而影響到預估存取效率的結果。
有鑑於此,本發明將提供一種創新的預估快閃記憶體裝置的資料存取效率的方法,其存取效率的預估將由快閃記憶體裝置自行執行,以避免外在的突發狀況而影響到快閃記憶體裝置存取效率的預估,將會是本發明的目的。
本發明的一目的,在於提出一種資料存取效率的預估方法,其方法應用在一電腦系統中,電腦系統包括一主機及一快閃記憶體裝置,當主機欲對於快閃記憶體裝置執行一寫入效率的預估時,傳送一寫入效率詢問指令至快閃記憶體裝置,快閃記憶體裝置接收寫入效率詢問指令後進入一寫入效率的預估程序,在執行寫入效率的預估程序時,若快閃記憶體裝置判斷出內部的空閒區塊的資料空間能夠容納欲寫入資料量,回覆一最佳寫入效率至主機,若快閃記憶體裝置判斷出內部的空閒區塊的資料空間無法容納欲寫入資料量時,挑選至少一區塊執行一垃圾回收程序,且計算挑選的區塊中有效資料量佔欲寫入資料量與有效資料量加總的權重比例以換算出一預估的寫入效率,且將一包含有預估的寫入效率的回覆訊號傳送至主機。
本發明的又一目的,在於提出一種資料存取效率的預估方法,其快閃記憶體裝置記錄一平均的位移讀取重試次數且根據於位移讀取重試次數相對設定多個門檻區間,每一門檻區間分別對應有一預估的讀取效率,當主機欲對於快閃記憶體裝置執行一讀取效率的預估時,傳送一讀取效率詢問指令至快閃記憶體裝置,快閃記憶體裝置接收讀取效率詢問指令後進入一讀取效率的預估程序,在執行讀取效率的預估程序時,快閃記憶體裝置判斷目前平均的位移讀取重試次數所在的門檻區間以查詢出對應的一預估的讀取效率且將一包含預估的讀取效率的回覆訊號傳送至主機。
為達成上述目的,本發明提供一種資料存取效率的預估方法,其應用在一電腦系統中,電腦系統包括一主機及一快閃記憶體裝置,快閃記憶體裝置包括一控制器及至少一快閃記憶體模組,記憶體模組包括複數個區塊,那些區塊中存在有至少一未儲存資料的空閒區塊,預估方法步驟包括:令主機傳送一包含有一欲寫入資料量的寫入效率詢問指令至快閃記憶體裝置;及令快閃記憶體裝置的控制器接收寫入效率詢問指令後執行一寫入效率的預估程序,寫入效率的預估程序的步驟包括:判斷空閒區塊的資料空間是否足夠容納欲寫入資料量,若判斷出空閒區塊的資料空間足夠容納欲寫入資料量時,傳送一包含有一最佳寫入效率的回覆訊息至主機,反之,若判斷出空閒區塊的資料空間不夠容納欲寫入資料量時,執行一垃圾回收程序;執行垃圾回收程序步驟包括:從那些儲存有資料的區塊中挑選至少一區塊作為欲執行一垃圾回收程序的區塊;判斷挑選的區塊中的一有效資料量;計算挑選的區塊中的有效資料量佔欲寫入資料量與有效資料量加總的一權重比例且將最佳寫入效率減去權重比例以求得一預估的寫入效率;傳送一包含有預估的寫入效率的回覆訊息至主機;及對於挑選的區塊執行垃圾回收程序以將挑選的區塊中所有的有效資料搬移至其他的區塊中且抹除挑選的區塊中的所有資料以使挑選的區塊成為新的空閒區塊。
本發明一實施例中,其中控制器所挑選出欲執行垃圾回收程序的區塊為一具有最少有效資料量的區塊。
本發明一實施例中,尚包括下列步驟:令主機收到最佳寫入效率的回覆訊息或預估的寫入效率的回覆訊息後依序將資料寫入至快閃記憶體裝置的空閒區塊中。
本發明一實施例中,尚包括下列步驟:令控制器執行完垃圾回收程序後判斷是否從主機接收下一次的寫入效率詢問指令;及令控制器經由主機接收到下一次的寫入效率詢問指令後再度執行寫入效率的預估程序。
本發明一實施例中,其中每一區塊包括複數個頁面,控制器記錄每一頁面的一位移讀取重試次數及記錄一平均的位移讀取重試次數,平均的位移讀取重試次數為所有頁面的位移讀取重試次數的加總除於頁面的總數量。
本發明一實施例中,其中控制器設定有多個關於平均的位移重試讀取次數的門檻區間,各門檻區間分別對應一預估的讀取效率。
本發明一實施例中,預估方法尚包括下列步驟:令主機傳送一讀取效率詢問指令至快閃記憶體裝置;及令快閃記憶體裝置的控制器接收讀取效率詢問指令後執行一讀取效率的預估程序,讀取效率的預估程序的步驟包括:判斷平均的位移讀取重試次數所在的門檻區間以查詢出對應的預估的讀取效率;及傳送一包含有預估的讀取效率的回覆訊息至主機。
本發明一實施例中,尚包括下列步驟:令控制器執行完讀取效率的預估程序後判斷是否從主機接收下一次的讀取效率詢問指令;及令控制器在接收到下一次的讀取效率詢問指令後再度執行讀取效率的預估程序。
本發明又提供一種資料存取效率的預估方法,其應用在一電腦系統中,電腦系統包括一主機及一快閃記憶體裝置,快閃記憶體裝置包括一控制器及至少一快閃記憶體模組,記憶體模組包括複數個區塊,區塊包括複數個頁面,預估方法步驟包括:令控制器記錄每一頁面的一位移讀取重試次數及記錄快閃記憶體裝置的一平均的位移讀取重試次數,其中平均的位移讀取重試次數為所有頁面的位移讀取重試次數的加總除於頁面的總數量;令控制器根據於位移讀取重試次數相對設定多個門檻區間,其中每一門檻區間分別對應有一預估的讀取效率;令主機傳送一讀取效率詢問指令至快閃記憶體裝置;及令快閃記憶體裝置的控制器接收寫入效率詢問指令後執行一讀取效率的預估程序,讀取效率的預估程序的步驟包括:判斷平均的位移讀取重試次數所在的門檻區間以查詢出對應的預估的讀取效率;及傳送一包含有預估的讀取效率的回覆訊息至主機。
請參閱第1圖及第2圖,分別為本發明電腦系統的結構示意圖及本發明快閃記憶體裝置的快閃記憶體模組的資料結構示意圖。如第1圖及第2圖所示,本發明電腦系統100包括一主機10及一快閃記憶體裝置30,主機10將會對於快閃記憶體裝置30的資料存取效率(如寫入效率或讀取效率)執行預估的程序。快閃記憶體裝置30包括一控制器31及至少一快閃記憶體模組33。快閃記憶體模組33包括複數個區塊(Block)351、352、353、354、359。每一區塊351、352、353、354、359是由複數個頁面(Page)361所組成。每一頁面361的大小亦可為4k、8k、16k或32k。再者,在這些區塊351、352、353、354、359中存在有至少一未儲存有任何的資料的空閒區塊,例如區塊351、352。此外,本發明控制器31包括一韌體311及一暫存表313。控制器31利用韌體311操作資料存取效率的預估程序,而利用暫存表313記錄每一頁面361所儲存的資料為一有效資料或一無效資料。
請參閱第3圖及第4圖,為本發明電腦系統預估一資料存取效率的流程圖及本發明電腦系統預估一寫入效率的流程圖,並同時參閱第1圖及第2圖。首先,步驟S510,主機10欲對於快閃記憶體裝置30執行一寫入效率的預估時,將會傳送一寫入效率詢問指令101至快閃記憶體裝置30,此寫入效率詢問指令101包含有一主機10欲對於快閃記憶體裝置30寫入的資料量102的訊息。快閃記憶體裝置30接收寫入效率詢問指令101後,進入一寫入效率的預估程序S52。
在寫入效率的預估程序S52中,步驟S521,控制器31將會判斷空閒區塊351、352的資料空間是否足夠容納主機10欲寫入的資料量102。步驟S522,若控制器31判斷出目前空閒區塊351、352的資料空間足夠於容納主機10欲寫入的資料量102,將會傳送一包含有一最佳寫入效率(A1)322的回覆訊息321至主機10。在本發明中,最佳寫入效率(A1)322為一百分比的數值,其設定為100%。當主機10接收到最佳寫入效率(如A1=100%)322的回覆訊息321時,亦可得知目前空閒區塊351、352的資料空間足夠於容納主機10欲寫入的資料量102而能夠以最快的寫入速率(如快閃記憶體裝置30的最高寫入速率)將資料寫入至空閒區塊351、352中。
例如:快閃記憶體模組33的每一區塊351、352、353、354、359的資料空間分別為1GB。當主機10通知快閃記憶體裝置30欲寫入1GB的資料量102時,控制器31判斷出目前空閒資料空間為2GB(如空閒區塊351、352)其足夠於容納主機10欲寫入的1GB資料量102,並回覆100%的寫入效率給主機10,以使主機10得知這1GB的資料係能夠以最快的寫入速率寫入至空閒區塊351或352中。
反之,若控制器31判斷出目前空閒區塊351、352的資料空間無法容納主機10欲寫入的資料量102,將會對於一或多個儲存有資料的區塊353、354、359執行一垃圾回收(Garbage Collection)程序S53,以清出部分的區塊空間。例如:當主機10通知快閃記憶體裝置30欲寫入3GB的資料量102時,控制器31將判斷出目前空閒區塊僅為2GB(如空閒區塊351、352),尚缺1GB的空閒區塊的資料空間,此時,控制器31將對於至少一區塊353、354及/或359執行垃圾回收程序,以清出1GB以上的區塊空間。再者,在執行垃圾回收期間,快閃記憶體裝置30是需要對於欲執行垃圾回收的區塊進行有效資料的搬移,其將影響到主機10對於快閃記憶體裝置30寫入的速度,於此,本發明快閃記憶體裝置30將對於有效資料的搬移而受影響的寫入部分計算出來,且將最佳寫入效率(A1)322扣除這受影響的寫入部分,以便預估出快閃記憶體裝置30在垃圾回收期間實際的寫入效率。
在垃圾回收程序S53中,步驟S531,控制器31的韌體311從那些儲存有資料的區塊353、354、359中挑選至少一區塊(例如:區塊353)作為欲執行一垃圾回收程序的區塊。在本發明一較佳實施例中,控制器31的韌體311將會優先挑選最少有效資料量的區塊作為欲執行一垃圾回收程序的區塊。例如:區塊353的有效資料量為200MB,區塊354的有效資料量為300MB,區塊359的有效資料量為500MB,控制器31優先挑選有效資料量最少的區塊353作為執行垃圾回收程序的區塊。接續,步驟S532,控制器31判斷所挑選的區塊353中的一有效資料量,如200MB。步驟S533,控制器31計算挑選的區塊353中的有效資料量佔欲寫入資料量與有效資料量加總的權重比例,例如:  ,其中,X為區塊353中的有效資料量,Y為欲寫入資料量,Z為權重比例,之後,將最佳寫入效率(A1)322減去權重比例(Z)以獲得目前快閃記憶體裝置30運作在圾垃回收期間的一預估的寫入效率(A2)324,如A2=A1-Z=100%-6.25%=93.75%。在獲得預估的寫入效率(A2)324後,步驟S534,控制器31傳送一包含有預估的寫入效率(如A2=93.75%)324的回覆訊息323至主機10,主機10即可得知目前快閃記憶體裝置30運作在垃圾回收期間時的寫入效率。步驟S535,在送出回覆訊息313後,控制器31搬移所挑選的區塊353中所有的有效資料至其他的區塊359中,且抹除挑選的區塊353中的所有資料(如有效資料及無效資料)以使挑選的區塊353成為新的空閒區塊。此外,控制器31在對於挑選的區塊353執行垃圾回收程序的同時,主機10能夠以預估的寫入效率(A2)的速度將資料寫入至空閒區塊351、352或353中。當控制器31執行完垃圾回收程序後,回到步驟S510判斷是否從主機接收到下一次的寫入效率詢問指令101,若是,再度執行快閃記憶體裝置30的寫入效率的預估程序S52。
請參閱第5圖,本發明電腦系統預估一讀取效率的流程圖,並同時參閱第1圖及第3圖。一般而言,快閃記憶體裝置30的快閃記憶體模組33會隨著使用的時間逐漸老化,造成資料點的閥值電壓亦可能產生偏移,以致需要對於快閃記憶體模組33的頁面361執行多次的位移讀取重試(shift read retry)才能真正讀取出資料。為此,控制器31的韌體311將會記錄快閃記憶體模組33的每一頁面361的位移讀取重試次數3111,且控制器31計算所有頁面361的位移讀取重試次數的加總除於所有頁面361的總數量以取得目前快閃記憶體裝置30的一平均的位移讀取重試次數3113。再者,控制器31的韌體311根據於平均的位移讀取重試次數3113相對設定多個門檻區間3115,每一門檻區間3115分別對應有一預估的讀取效率(B1)326。平均的位移讀取重試次數3113越多,其對應的預估的讀取效率(B1)326將會越低。例如:第一門檻區間為0~1次的平均位移讀取重試次數,其對應預估的讀取效率(B1)326為100%;第二門檻區間為1~2次的平均位移讀取重試次數,其對應預估的讀取效率(B1)326為90%;第三門檻區間為2~3次的平均位移讀取重試次數,其對應預估的讀取效率(B1)326為80%;第四門檻區間為3~4次的平均位移讀取重試次數,其對應預估的讀取效率(B1)326為70%;或者,第n門檻區間為5次以上的平均位移讀取重試次數,其對應預估的讀取效率(B1)326低於50%等等。
步驟S510,主機10欲對於快閃記憶體裝置30執行一寫入效率或一讀取效率的預估時,將會傳送一寫入效率詢問指令101或一讀取效率詢問指令103至快閃記憶體裝置30。接續,步驟S511,當快閃記憶體裝置30的控制器31從主機10接收到一關於資料存取效率的詢問指令時,將會判斷詢問指令是否為一寫入效率詢問指令101。當控制器31判斷出所接收到的詢問指令為一寫入效率詢問指令101時,將進入寫入效率的預估程序S52;否則,進入讀取效率的預估程序S54。
在讀取效率的預估程序S54中,步驟S541,控制器31從韌體311中取得目前所記錄的快閃記憶體模組33的平均的位移讀取重試次數3113。步驟S542,控制器31判斷平均的位移讀取重試次數3113所在的門檻區間3115以查詢出對應的預估的讀取效率(B1)326。接著,步驟S543,控制器31傳送一包含有預估的讀取效率(B1)326的回覆訊息325至主機10,以使主機10能夠得知目前快閃記憶體裝置30的讀取效率而以預估的讀取效率(B1)326從快閃記憶體模組33中讀出資料,且主機10是可以根據預估的讀取效率(B1)326而得知快閃記憶體模組33的耗損。當控制器31執行完步驟S543後,回到步驟S510及S511判斷是否從主機10接收到下一次的讀取效率詢問指令103,若是,再度執行快閃記憶體裝置30的讀取效率的預估程序S54。
綜合上述,本發明電腦系統100提供一預估快閃記憶體裝置30的資料存取效率的機制,其寫入效率或讀取效率的預估將由快閃記憶體裝置30自行執行,以取得一較精準的寫入效率或讀取效率的預估結果,且寫入效率或讀取效率的預估結果將回報給主機10,以使主機10得知目前快閃記憶體裝置30的讀寫狀況。
以上所述者,僅為本發明之一較佳實施例而已,並非用來限定本發明實施之範圍,即凡依本發明申請專利範圍所述之形狀、構造、特徵及精神所為之均等變化與修飾,均應包括於本發明之申請專利範圍內。
100 電腦系統 10 主機 101 寫入效率詢問指令 102 欲寫入的資料量 103 讀取效率詢問指令 30 快閃記憶體裝置 31 控制器 311 韌體 3111 位移讀取重試次數 3113 平均的位移讀取重試次數 3115 門檻區間 313 暫存表 321 回覆訊息 322 最佳寫入效率 323 回覆訊息 324 預估的寫入效率 325 回覆訊息 326 預估的讀取效率 33 快閃記憶體模組 351 區塊 352 區塊 353 區塊 354 區塊 359 區塊 361 頁面
第1圖:本發明電腦系統的結構示意圖。
第2圖:本發明快閃記憶體裝置的快閃記憶體模組的資料結構示意圖。
第3圖:本發明電腦系統預估一資料存取效率的流程圖。
第4圖:本發明電腦系統預估一寫入效率的流程圖。
第5圖:本發明電腦系統預估一讀取效率的流程圖。

Claims (10)

  1. 一種資料存取效率的預估方法,其應用在一電腦系統中,該電腦系統包括一主機及一快閃記憶體裝置,該快閃記憶體裝置包括一控制器及至少一快閃記憶體模組,該記憶體模組包括複數個區塊,該些區塊中存在有至少一未儲存資料的空閒區塊,該預估方法步驟包括:令該主機傳送一包含有一欲寫入資料量的寫入效率詢問指令至該快閃記憶體裝置;及令該快閃記憶體裝置的該控制器接收該寫入效率詢問指令後執行一寫入效率的預估程序,該寫入效率的預估程序的步驟包括:判斷該空閒區塊的資料空間是否足夠容納該欲寫入資料量,若判斷出該空閒區塊的資料空間足夠容納該欲寫入資料量時,傳送一包含有一最佳寫入效率的回覆訊息至該主機,反之,若判斷出該空閒區塊的資料空間不夠容納該欲寫入資料量時,執行一垃圾回收程序;執行該垃圾回收程序步驟包括:從該些儲存有資料的該區塊中挑選至少一該區塊作為欲執行一垃圾回收程序的區塊;判斷該挑選的區塊中的一有效資料量;計算該挑選的區塊中的該有效資料量佔該欲寫入資料量與該有效資料量加總的一權重比例且將該最佳寫入效率減去該權重比例以求得一預估的寫入效率;傳送一包含有該預估的寫入效率的回覆訊息至該主機;及 對於該挑選的區塊執行該垃圾回收程序以將該挑選的區塊中所有的該有效資料搬移至其他的該區塊中且抹除該挑選的區塊中的所有資料以使該挑選的區塊成為新的該空閒區塊。
  2. 如申請專利範圍第1項所述的預估方法,其中該控制器所挑選出該欲執行該垃圾回收程序的區塊為一具有最少該有效資料量的區塊。
  3. 如申請專利範圍第1項所述的預估方法,尚包括下列步驟:令該主機收到該最佳寫入效率的回覆訊息或該預估的寫入效率的回覆訊息後依序將資料寫入至該快閃記憶體裝置的該空閒區塊中。
  4. 如申請專利範圍第1項所述的預估方法,尚包括下列步驟:令該控制器執行完該垃圾回收程序後判斷是否從該主機接收下一次的該寫入效率詢問指令;及令該控制器經由該主機接收到下一次的該寫入效率詢問指令後再度執行該寫入效率的預估程序。
  5. 如申請專利範圍第1項所述的預估方法,其中每一該區塊包括複數個頁面,該控制器記錄每一該頁面的一位移讀取重試次數及記錄一平均的位移讀取重試次數,該平均的位移讀取重試次數為所有該頁面的該位移讀取重試次數的加總除於該頁面的總數量。
  6. 如申請專利範圍第5項所述的預估方法,其中該控制器設定有多個關於該平均的位移重試讀取次數的門檻區間,各該門檻區間分別對應一預估的讀取效率。
  7. 如申請專利範圍第6項所述的預估方法,該預估方法尚包括下列步驟: 令該主機傳送一讀取效率詢問指令至該快閃記憶體裝置;及令該快閃記憶體裝置的該控制器接收該讀取效率詢問指令後執行一讀取效率的預估程序,該讀取效率的預估程序的步驟包括:判斷該平均的位移讀取重試次數所在的該門檻區間以查詢出對應的該預估的讀取效率;及傳送一包含有該預估的讀取效率的回覆訊息至該主機。
  8. 如申請專利範圍第7項所述的預估方法,尚包括下列步驟:令該控制器執行完該讀取效率的預估程序後判斷是否從該主機接收下一次的該讀取效率詢問指令;及令該控制器在接收到下一次的該讀取效率詢問指令後再度執行該讀取效率的預估程序。
  9. 一種資料存取效率的預估方法,其應用在一電腦系統中,電腦系統包括一主機及一快閃記憶體裝置,該快閃記憶體裝置包括一控制器及至少一快閃記憶體模組,該記憶體模組包括複數個區塊,該區塊包括複數個頁面,該預估方法步驟包括:令該控制器記錄每一該頁面的一位移讀取重試次數及記錄該快閃記憶體裝置的一平均的位移讀取重試次數,其中該平均的位移讀取重試次數為所有該頁面的該位移讀取重試次數的加總除於該頁面的總數量;令該控制器根據於該位移讀取重試次數相對設定多個門檻區間,其中每一該門檻區間分別對應有一預估的讀取效率; 令該主機傳送一讀取效率詢問指令至該快閃記憶體裝置;及令該快閃記憶體裝置的該控制器接收該讀取效率詢問指令後執行一讀取效率的預估程序,該讀取效率的預估程序的步驟包括:判斷該平均的位移讀取重試次數所在的該門檻區間以查詢出對應的該預估的讀取效率;及傳送一包含有該預估的讀取效率的回覆訊息至該主機。
  10. 如申請專利範圍第9項所述的預估方法,尚包括下列步驟:令該控制器執行完該讀取效率的預估程序後判斷是否從該主機接收下一次的該讀取效率詢問指令;及令該控制器在接收到下一次的該讀取效率詢問指令後再度執行該讀取效率的預估程序。
TW106141735A 2017-11-30 2017-11-30 資料存取效率的預估方法 TWI674505B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW106141735A TWI674505B (zh) 2017-11-30 2017-11-30 資料存取效率的預估方法
US16/159,871 US10678686B2 (en) 2017-11-30 2018-10-15 Estimation method for read and write access performance using average read retry times and a valid data weight ratio

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106141735A TWI674505B (zh) 2017-11-30 2017-11-30 資料存取效率的預估方法

Publications (2)

Publication Number Publication Date
TW201926058A TW201926058A (zh) 2019-07-01
TWI674505B true TWI674505B (zh) 2019-10-11

Family

ID=66634500

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106141735A TWI674505B (zh) 2017-11-30 2017-11-30 資料存取效率的預估方法

Country Status (2)

Country Link
US (1) US10678686B2 (zh)
TW (1) TWI674505B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI786288B (zh) * 2019-04-09 2022-12-11 韓商愛思開海力士有限公司 儲存裝置、儲存裝置的控制方法及記錄媒體
CN110399257A (zh) * 2019-07-04 2019-11-01 上海创功通讯技术有限公司 存储器的检测方法、电子设备及计算机可读存储介质
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
US20210055878A1 (en) * 2019-08-20 2021-02-25 Micron Technology, Inc. Data compaction within the same plane of a memory component
US11281392B2 (en) 2019-08-28 2022-03-22 Micron Technology, Inc. Garbage collection in a memory component using an adjusted parameter
CN110647479B (zh) * 2019-09-03 2020-11-10 宜鼎国际股份有限公司 双信道数据储存系统
KR20210051873A (ko) * 2019-10-31 2021-05-10 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템
US10841645B1 (en) 2019-12-09 2020-11-17 Western Digital Technologies, Inc. Storage system and method for video frame segregation to optimize storage
US11086804B2 (en) * 2019-12-09 2021-08-10 Western Digital Technologies, Inc. Storage system and method for reducing read-retry duration
US11704192B2 (en) 2019-12-12 2023-07-18 Pure Storage, Inc. Budgeting open blocks based on power loss protection
US11416144B2 (en) 2019-12-12 2022-08-16 Pure Storage, Inc. Dynamic use of segment or zone power loss protection in a flash device
US11526435B2 (en) 2020-02-04 2022-12-13 Western Digital Technologies, Inc. Storage system and method for automatic data phasing
US11562018B2 (en) 2020-02-04 2023-01-24 Western Digital Technologies, Inc. Storage system and method for optimized surveillance search
US11328511B2 (en) 2020-03-13 2022-05-10 Western Digital Technologies, Inc. Storage system and method for improved playback analysis

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI329804B (zh) * 2005-07-29 2010-09-01
TWI329805B (zh) * 2005-07-29 2010-09-01
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US20160283711A1 (en) * 2013-12-04 2016-09-29 Huawei Device Co., Ltd. eMMC Monitoring Method and Apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8356061B2 (en) * 2008-06-23 2013-01-15 Oracle America, Inc. Maximizing throughput for a garbage collector
CA2893286C (en) * 2012-12-28 2018-02-27 Huawei Technologies Co., Ltd. Data storage method and storage device
TWI512462B (zh) * 2015-02-11 2015-12-11 Phison Electronics Corp 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置
CN106201333B (zh) * 2015-06-01 2019-04-12 株式会社东芝 存储装置、控制器以及数据再读出方法
US9996268B2 (en) * 2015-12-18 2018-06-12 Toshiba Memory Corporation Memory system and control method of the same
US10102920B2 (en) * 2016-08-15 2018-10-16 Sandisk Technologies Llc Memory system with a weighted read retry table

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI329804B (zh) * 2005-07-29 2010-09-01
TWI329805B (zh) * 2005-07-29 2010-09-01
US20140173268A1 (en) * 2011-08-19 2014-06-19 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
TWI498726B (zh) * 2011-08-19 2015-09-01 Toshiba Kk 資訊處理機器、控制資訊處理機器之方法、儲存控制工具之非過渡性記錄媒體、主機裝置、儲存性能評估工具之非過渡性記錄媒體及外部記憶裝置用之性能評估方法
US9594611B2 (en) * 2011-08-19 2017-03-14 Kabushiki Kaisha Toshiba Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
US20160283711A1 (en) * 2013-12-04 2016-09-29 Huawei Device Co., Ltd. eMMC Monitoring Method and Apparatus

Also Published As

Publication number Publication date
TW201926058A (zh) 2019-07-01
US20190163622A1 (en) 2019-05-30
US10678686B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
TWI674505B (zh) 資料存取效率的預估方法
US11416161B2 (en) Zone formation for zoned namespaces
CN111176564B (zh) 确定ssd内数据摆放策略的方法及装置
KR102569783B1 (ko) 비순차적 구역 네임스페이스들
KR101894625B1 (ko) 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집
US8566553B1 (en) Techniques for automated evaluation and movement of data between storage tiers
JP5719013B2 (ja) フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング
KR101663066B1 (ko) 하이브리드 디바이스에서의 고체 상태 메모리 커맨드 큐
WO2018132396A1 (en) Directed sanitization of memory
WO2013191977A2 (en) Variability aware wear leveling
JP6119533B2 (ja) ストレージ装置,ステージング制御方法及びステージング制御プログラム
US9213646B1 (en) Cache data value tracking
JP5611909B2 (ja) 情報処理装置、性能評価ツール、外部記憶装置の性能評価方法
KR20130112210A (ko) 메모리 시스템 및 그것의 페이지 교체 방법
CN107608625B (zh) 一种提升固存储设备读性能的方法
CN104679668A (zh) 存储系统及其控制方法
JP2013041547A5 (zh)
CN109857330B (zh) 数据存取效率的预估方法
KR101146082B1 (ko) 비휘발성 메모리 저장 장치 및 비휘발성 메모리 저장 장치의 성능 향상 방법
JP7197783B2 (ja) 情報処理システム、管理装置および管理プログラム
US10169160B2 (en) Database batch update method, data redo/undo log producing method and memory storage apparatus
US20110185122A1 (en) Storage system and method of processing data using the same
JP2021111427A (ja) 記憶装置及びその制御方法
JP4245021B2 (ja) ストレージ装置、ストレージシステム、ストレージ装置の制御方法
CN116243870A (zh) 一种数据迁移方法、系统、设备及存储介质