TW201633141A - 基於一儲存裝置的電流消耗設定檔判定在一儲存裝置中對一使用者爲不可取得之備用空間的調整之技術 - Google Patents

基於一儲存裝置的電流消耗設定檔判定在一儲存裝置中對一使用者爲不可取得之備用空間的調整之技術 Download PDF

Info

Publication number
TW201633141A
TW201633141A TW104133710A TW104133710A TW201633141A TW 201633141 A TW201633141 A TW 201633141A TW 104133710 A TW104133710 A TW 104133710A TW 104133710 A TW104133710 A TW 104133710A TW 201633141 A TW201633141 A TW 201633141A
Authority
TW
Taiwan
Prior art keywords
write
storage device
spare space
storage
adjustment
Prior art date
Application number
TW104133710A
Other languages
English (en)
Other versions
TWI585585B (zh
Inventor
納特S 格利斯拉得
Original Assignee
英特爾公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 英特爾公司 filed Critical 英特爾公司
Publication of TW201633141A publication Critical patent/TW201633141A/zh
Application granted granted Critical
Publication of TWI585585B publication Critical patent/TWI585585B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • 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)

Abstract

在此提供一種用於基於在一儲存裝置處至一媒體的儲存寫入與從一主機制該儲存裝置的主機寫入,來判定在一儲存裝置中對一使用者為不可取得的備用空間之調整的電腦程式軟體、系統與方法。一目前寫入放大係基於再一儲存裝置處至一媒體的儲存寫入以及從一主機制該儲存裝置的主機寫入。對目前寫入放大的一調整係基於該儲存裝置的一估計壽命、針對該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的儲存寫入,來判定以產生一經調整寫入放大。對備用空間之一調整的判定係基於經調整寫入放大而做出。該備用空間與對使用者為可取得的自由空間係重新組配以藉由對該備用空間之該經判定調整來調整備用空間。

Description

基於一儲存裝置的電流消耗設定檔判定在一儲存裝置中對一使用者為 不可取得之備用空間的調整之技術
在此描述的實施例大致關於基於一儲存裝置之電流消耗設定檔來判定在對一使用者為不可取得之一儲存裝置中備用空間的調整。
發明背景
固體狀態驅動機(SSD)遭受了一種現象,在此一主機寫入裝置導致了在SSD中非暫態記憶體的多個寫入。這是因為以諸如NAND的非依電性記憶體,頁面的方塊必須在可被寫入之前抹除而發生,這需要重新寫入在該方塊的頁面。寫入放大係由承諾至非依電性記憶體之寫入與來自主機系統之寫入的比率來衡量。
在SSD裝置中,當在非依電性記憶體之一區塊中的頁面具有有效資料以及過期資料(無效或者不需要的資料)兩者,廢料收集程序讀取具有有效資料的頁面且重新寫入有效資料進入一被抹除空方塊以聯合具有有效資料的頁 面成為較少的區塊,來具有更多可得以用於寫入操作的自由區塊。在廢料收集之後,有效資料來自於其的區塊被寫入接著被釋放且可得以用於進一步寫入資料或廢料收集。
廢料收集程序增加了寫入放大且減少了系統性能,因為一主機寫入可能需要一完整的區塊被回收,具有有效與過期資料以及所有有效資料在該黑(區塊)被釋放前被重新定位,以用於新的主機寫入。為了減少寫入放大的衝擊,SSD藉由將儲存空間的區塊留下以作為提供給廢料收集操作的備用空間,來使用非依電性記憶體的過度供應,在此備用空間並非對使用者為可得的。過度供應備用空間藉由使用在該備用空間中的用以廢料收集之區塊,以釋放對於寫入操作為可得的區塊,來幫助了減少寫入放大。備用空間的數量藉由衝擊了在被回收的該區塊中預期之有效與過期資料的數量,衝擊了廢料收集的效能。例如,由於備用空間對應於在區塊中存在有多少被廢料收集之無效區塊的總量,具有較大備用容量的一驅動機在一方塊中將具有較多無效資料,該方塊被選擇用於廢料收集。廢料收集確保了總是有自由的空間區塊可取得以用於寫入操作,因此廢料收集在寫入操作期間不需要被使用,來使空間可取得以寫入新資料至非依電性記憶體。製造商可組配SSD中的非依電性記憶體之備用空間,其對使用者為不可取得的,且係用來廢料收集、損耗均平以及其他管理操作。
更進一步地,寫入放大隨著工作負載與某些工作負載改變,諸如順序寫入通常經歷了相較於諸如隨機寫入 之其他工作負載較低的寫入放大。更進一步地,若一特定主機具有一較低於預期之主機寫入活動等級,那麼在NAND上會有較預期少的損耗。
根據本發明的一實施例,本發明係特地提出一種電腦程式產品,包含一電腦儲存媒體具有程式指令,當其被執行時藉由進行操作以管理在一儲存裝置中備用空間,該等操作包含以下動作:基於在該儲存裝置處至一媒體的儲存寫入與自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的該儲存寫入,來判定對該目前寫入放大的一調整以產生一經調整寫入放大;基於該經調整寫入放大來判定對該備用空間的一調整,其中該備用空間包含了不包含使用者可存取儲存之預留儲存空間;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
100‧‧‧主機系統
102‧‧‧儲存裝置
104‧‧‧非依電性記憶體控制器
106‧‧‧非依電性記憶體儲存陣列
108‧‧‧處理器
112‧‧‧作業系統
114‧‧‧操作元件
118‧‧‧操作元件
116‧‧‧儲存裝置驅動器
117‧‧‧應用程式
118‧‧‧輸入/輸出(I/O)管理器
119‧‧‧顯示器
120‧‧‧快閃轉譯層
121‧‧‧輸入裝置
122‧‧‧備用方塊資訊
123‧‧‧主機輸入/輸出(I/O)介面
124‧‧‧自由方塊資訊
125‧‧‧裝置I/O介面
128‧‧‧備用空間調整模組
130‧‧‧使用者介面
200‧‧‧消耗設定檔資訊
202‧‧‧通電期間
204‧‧‧主機寫入
206‧‧‧儲存寫入
208‧‧‧最大儲存寫入
210‧‧‧估計壽命
300‧‧‧寫入放大函數
400~410‧‧‧方塊
500~504‧‧‧方塊
600~606‧‧‧方塊
700、702‧‧‧方塊
實施例以範例的方式描述,參照附加圖式,其並非照比例匯出,其中類似的元件標號係指類似的元件。
圖1例示說明在一計算環境中一主機系統與儲存裝置的一實施例;圖2例示說明在該儲存裝置中聚集之儲存裝置元資料(metadata)的一實施例; 圖3例示說明寫入放大函數之一實施例,模擬備用空間的百分比以在一儲存裝置中過度提供以作為寫入放大的一函數;圖4例示說明用以調整在該儲存裝置中對使用者為不可取得之備用空間的操作之一實施例;圖5例示說明用以判定對用以判定對備用空間之一調整的寫入放大之一調整的操作之一實施例;圖6例示說明在一主機系統中由一儲存裝置驅動器進行的操作以調整備用空間之一實施例;圖7例示說明由該儲存裝置進行的操作以調整在該儲存裝置的儲存陣列中之備用空間之一實施例。
較佳實施例之詳細說明
製造商必須平衡提供備用空間給較低寫入放大之需求以及減少寫入次數以延長SSD以及快閃記憶體的壽命,且需要提供盡可能多的空間給使用者。在本領域有必要改進技術中以最佳管理在儲存裝置中的備用空間。
在具有寫入週期有限次數一SSD中,諸如NAND的非依電性記憶體上的損耗,為主機寫入率乘以寫入放大的一函數,且寫入放大為對使用者為隱藏之備用容量空間的數量之一函數。備用空間減少了寫入放的的效果且因此在SSD上損耗。然而,因為備用空間對使用者為不可取得的,需要減少寫入放大且寫入損耗必須與使用者在最大化可得容量之利益上做平衡。
描述之實施例尋求藉由提供一種用以基於硬碟目前損耗軌跡來判定是否應該做出減少或增加備用空間之調整的技術,在一非依電性記憶體中將備用空間與使用者可取得空間最佳化。損耗軌跡係基於SSD消耗設定檔,包括在該SSD壽命期間目前主機寫入層級、SSD目前啟動時間、SSD估計壽命以及針對SSD之最大數量硬碟寫入率。描述實施例提供用以判定對於備用空間之減少以及使用者可取得空間之增加的調整之技術,若目前寫入軌跡層級足夠低使得在對硬碟的歷史主機寫入率處,該寫入放大可增加且在針對該硬碟的最大寫入率之內仍然達到硬碟估計壽命。
更進一步的,描述實施例提供用以判定增加備用空間以及減少使用者可取得空間的技術,若目前主機寫入軌跡層級足夠高使得在對硬碟的歷史主機寫入率處,寫入放大需要為了儲存硬碟達到該硬碟的估計壽命被減少,而不需要超過針對硬碟之最大寫入率。若備用空間沒有增加,當目前耗損層級足夠高使得硬碟將會具有較於目前耗損率處估計短之壽命,增加備用空間以減少寫入放大因此延長了硬碟的使用壽命。
描述實施例藉由使用維持在儲存裝置中的驅動消耗設定檔以判定對於寫入放大的調整且接著使用寫入放大函數以判定可以對備用空間做出對應之調整以作為對寫入放大的調整之結果,來判定了對備用空間恰當的調整層級。
進一步實施例提供用於判定根據需要增加使用 者可取得空間以對於備用空間恰當調整的技術。此調整資訊可接著於一主機系統被呈現給儲存裝置的使用者,以決定是否要做出由儲存裝置本身判定或者在主機系統中運行之一儲存裝置硬碟之調整。
為了提供本發明更透徹的理解,在以下的描述中,許多特定細節諸如邏輯實施、運算碼、用以指定運算元的構件、資源分隔/共享/複製之建置、系統組件的類型與連動性、以及邏輯分隔/整合之選擇係在以下提出。然而,可以理解的是,本發明可由習於此技藝者在不需此等特定細節下實施。在其他範例中,為了不要模糊本發明,控制結構、閘級位準電路、以及完整的軟體指令序列並未示出。習於此技藝者將可以以包括在此之描述不需過多實驗而恰當地實施函數。
說明書中提及「一實施例」、「一個實施例」、「一範例」等等,指示所描述實施例可包括一特定特徵、結構或特性,但並非每一實施例必要地包括該特定特徵、結構或特性。更進一步地,此等片語並非必要指稱同樣的實施例。特定實施例關於儲存裝置電子總成。實施例包括用以形成電子總成之裝置與方法兩者。
圖1例示說明一主機系統100與一儲存裝置102的一實施例。儲存裝置102包括一非依電性記憶體控制器104,用以進行對於一非依電性記憶體儲存陣列106讀取、寫入與錯誤恢復操作。主機100可發送主機讀取與寫入請求至儲存裝置102以對於非依電性記憶體儲存陣列106讀取與寫入資 料。
儲存裝置102可包含一快閃裝置、一SPI快閃裝置、一固體狀態儲存硬碟(SSD)、一快閃控制器以及快閃裝置(例如NAND或NOR),以及其他讀取/寫入儲存類型裝置,諸如一記憶體裝置、磁碟機等等。儲存裝置102可包含將會藉由最佳化地管理寫入放大而有利之任何儲存裝置。
儲存陣列106可以包括電可抹除性和非依電性記憶體單元,諸如快閃儲存設備。例如,儲存器儲存陣列104可以包括記憶體單元的NAND晶粒。在一實施例中,NAND晶粒可包含多級單元(MLC)NAND快閃記憶體,其在每個單元記錄2位元值,一較低的位元值和一較高位元值。可替代地,NAND晶粒可包含單級單元(SLC)記憶體。儲存陣列106也可以包括,但不限於,MLC NAND快閃記憶體、鐵電隨機存取記憶體(FeTRAM),基於奈米線的非依電性記憶體、諸如相變記憶體(PCM)之三維(3D)交叉點記憶體,併入憶阻器技術之記憶體、磁阻隨機存取記憶體(MRAM)、自旋轉移力矩(STT)-MRAM、單級單元(SLC)快閃記憶體,以及其他電可抹除可編程僅讀記憶體(EEPROM)型裝置。所描述的實施例可用於任何類的需要廢料收集和經歷寫入放大以作為廢料收集的效果的的記憶體。
主機100包括一處理器108與一記憶體110,記憶體110具有由該處理器108執行之程式碼且包括一作業系統112,該作業系統具有一儲存裝置驅動器116以將該作業系統112與該儲存裝置102、一或多個應用程式117、諸如一電 腦監視器的一顯示器119、諸如鍵盤、滑鼠、觸控螢幕等等之輸入裝置121、以及一主機輸入/輸出(I/O)介面123介接,以與在該儲存裝置102中一對應裝置I/O介面125介接與通訊。主機100可包含一伺服器、一工作站、一桌上型電腦、一虛擬機器、一膝上型電腦、一瓶版電腦、智慧型手機以及已知的習知其他計算裝置。儲存裝置102可在主機100之內被包圍作為一內部儲存裝置102或一外部儲存裝置102。
在一些實施例中,主機123與裝置125 I/O介面為一序列先進技術附接(SATA)介面且包括一SATA兼容匯流排將主機100與該儲存裝置102耦接。在其他實施方案中,可使用其他類型的I/O介面與匯流排互連件,諸如串列附接小型電腦系統介面(SCSI)(或簡稱SAS),快速周邊組件互連(PCIe)等等。
控制器104包括一輸入/輸出(I/O)管理器118用以管理來自主機100的讀取與寫入請求,一快閃轉譯層120用以轉譯由主機作業系統112使用之邏輯位址成為在儲存陣列106中的實體位置;備用方塊資訊122指示頁面的備用方塊,其包含不可由使用者取得且用於在廢料收集中使用的預留區域儲存器,以聯合在使用者空間中方塊的頁面;自由方塊資訊124指示頁面的方塊,其不具有儲存器且對使用者為可取得的;以及儲存裝置102的消耗設定等資訊。控制器104可進一步包括一備用空間調整模組128,用以取決於儲存裝置102中之寫入活動(亦即,耗損層級)來調整在備用空間清單124當中所提供之備用空間或者方塊的數量。備用 空間調整模組128包括一寫入放大函數300,其指示應該要提供以用於不同量測寫入放大之備用空間的數量。
備用空間,亦被稱為保留容量,包含對使用者為隱藏但控制器104可取得的空間,以用於廢料收集和其他管理操作。使用者空間,亦被稱為使用者容量,包含對主機系統100之使用者透過該儲存裝置驅動器116與該主機作業系統112為可取得的記憶體空間。
在圖1中,備用空間調整模組128係顯示為被包括在儲存裝置102中。在進一步實施例中,備用空間調整模組128可替代地或附加地被包括在儲存裝置驅動器116中且在主機系統100中執行。
圖2例示說明消耗設定檔資訊200的一實施例,為包括指示儲存裝置102已經在通電狀態的時間之數量、小時、天數、分鐘等等之一通電期間202;主機寫入204指示由該主機發送以寫入資料之數量,諸如十億位元(GB)或者由該主機100寫入之數目;儲存寫入206指示寫入之資料的一數量或者用於寫入資料至該儲存裝置102的該儲存陣列106之寫入週期的數目,諸如NAND單元;一最大儲存寫入208,諸如可以位元或在其壽命寫入至儲存陣列106之儲存寫入的數目;以及一估計壽命200指示該儲存裝置102的一估計期間,諸如保固或者廣告壽命。該消耗設定檔資訊200可包含由該儲存裝置控制器104所收集的S.M.A.R.T.(自我監控、分析以及回報技術)。
圖3例示說明寫入放大函數300的一實施例,顯示 總儲存陣列106之備用空間的百分比係為寫入放大值的一函數。寫入放大可被計算為由主機寫入204所分割的儲存寫入206。寫入放大300可由儲存裝置102製造商基於測試來創造,測試提供了用於不同寫入放大的備用空間百分比,其藉由提供足夠的備用空間以最小化寫入放大與耗損層級且最大化可得使用者空間來最佳化性能。
圖4例示說明進行備用空間調整模組128之操作以調整在儲存陣列106中的備用空間之一實施例。如所提及者,備用空間調整模組128可在主機系統儲存裝置驅動器116及/或儲存裝置控制器104中實施。在啟動(於方塊400)一操作以調整備用空間後,備用空間調整模組128基於儲存寫入206與該主機寫入204來判定(於方塊401)一目前寫入放大,諸如由該主機寫入204來分割儲存寫入206。對目前寫入放大的一調整係(於方塊402處)基於估計壽命210、最大寫入208、儲存寫入206以及通電期間202,其資訊可自儲存裝置100收集。備用空間調整模組128(於方塊403)藉由該經判定調整來調整目前寫入放大以判定一調整寫入放大。圖5提供對寫入放大之調整如何被判定的更進一步細節。
備用空間調整模組128接著(於方塊404)基於調整寫入放大來判定對一備用空間的一調整,諸如藉由判定對應至再寫入放大函數300上用於調整寫入放大的點之備用空間。備用空間調整模組128(於方塊405)判定實施備用空間調整所需之方塊的數目,諸如增加或減少備用空間的數量如在儲存陣列106中總空間的一百分比。增加備用空間的 一調整將會導致減少對使用者可取得的自由空間且對於減少備用空間的一調整將會增加使用者可取得的自由空間。
在特定實施例中,寫入放大函數300為工作負載的一函數且並非所有工作負載具有確切相同寫入放大函數。為了處理此考量,在一替代實施例中,備用空間調整模組128可自一組寫入放大函數選擇恰當寫入放大函數來使用,該組寫入放大函數其提供了寫入放大函數予專用於該儲存裝置102處之一特定工作負載或者工作負載。製造商可將此組寫入放大函數包括在該儲存裝置102中。
在涉及寫入放大曲線之成比例使用之更進一步可替代實施例中,一單一寫入放大函數300可藉由根據目前工作負載以調整該寫入放大來被使用。例如,若做出以一因數調整寫入放大函數300的一判定,例如,兩倍,那麼做出對應至用於目前備用空間數量之在該寫入放大曲線上的一個點之目前寫入放大的一判定。接著該曲線寫入放大係由經判定調整寫入放大之因數來調整以計算一調整寫入放大。目標備用空間數量包含定義來用於經計算調整寫入放大之對應至在寫入放大曲線上的一點之備用空間數量。備用空間模組128可接著調整目前備用空間數量為經判定目標備用空間數量。
若(在方塊406處)該調整係減少備用空間,其在當該主機寫入率已經相對低時發生,那麼備用空間調整模組128將(在方塊407處)組態該備用空間122與自由空間124以轉換在該備用空間中之經判定數目方塊為自由空間方塊。 備用空間調整模組128可藉由頒佈指令至該控制器104來進行組態操作。若該調整(在方塊406處)係增加備用空間以減少用於廢料收集之儲存寫入的數目,其在當該目前主機寫入率為過高時發生,那麼備用空間調整模組128將會(在方塊408處)啟動備用空間122與自由空間124之組態,以轉換在自由空間中經判定數目的方塊成為備用空間方塊。為了轉換備用空間方塊至自由空間方塊,在該備用空間資訊122中的方塊可被移動至自由空間資訊124。
以圖4的操作,若最新(to date)該儲存寫入率(耗損層級)為相對低,那麼寫入放大可被增加,其可由減少備用空間以增加對使用者可取得之自由空間的數量以及增加儲存寫入率而完成。若最新儲存寫入率為相對高,代表一高損耗層級率,那麼需要減少寫入放大以減少儲存寫入率,此係藉由增加備用空間而完成。
圖5例示說明由該備用空間調整模組128進行之進一步操作的一實施例,以判定對寫入放大的調整。在(於方塊500處)啟動用以判定對該寫入放大做出之調整的操作後,諸如在圖4中的方塊403處所進行者,備用空間調整模組128(在方塊501)以最大儲存寫入208減去儲存寫入206以及一剩餘期間的一函數來判定一剩餘寫入率,該剩餘期間包含該估計壽命210減去該儲存裝置100之一通電期間202。以下的方程式(1)為計算剩餘寫入率的一實施例:
(1)(最大儲存寫入-儲存寫入)/(估計壽命-通電期間)
備用空間調整模組128進一步(在方塊502處)以該儲存 寫入206與該通電期間202的一函數來判定一目前儲存寫入率。以下的方程式(2)為計算目前儲存寫入率的一實施例:
(2)儲存寫入/通電期間
接著(在方塊503處)做出一調整因數的一判定,當施加至目前儲存寫入率時導致剩餘儲存寫入率。調整因數可只是該調整的一方向。舉例而言,再一實施例中,若目前儲存寫入率係低於勝於儲存寫入率,那麼調整因數將包含由目前儲存寫入率分割的勝於儲存寫入率且對藉由該調整因數之增加寫入放大指示一正面方向。若目前儲存寫入率係大於剩餘儲存寫入率,那麼調整因數將包含由目前儲存寫入率分割的剩餘寫入率,且藉由該調整因數對減少寫入放大指示一負面方向。
備用空間調整模組128接著(在方塊504處)基於經判定調整值與調整的方向(增加或減少)來增加或減少目前寫入放大,以產生一經調整寫入放大。
圖6例示說明當備用空間調整模組128係在儲存裝置驅動器116中實施時之操作的一實施例。儲存裝置驅動器116可響應於使用者調用或根據諸如在儲存裝置102中使用空間到達一臨界層級之一週期性排程或事件,來啟動備用空間調整之操作。響應於(在方塊600處)啟動備用空間管理操作,儲存裝置驅動器116(在方塊601處)發送一請求至儲存裝置102以消耗設定檔資訊200,包括儲存寫入206、最大寫入208、估計壽命210以及通電期間202。在(在方塊602處) 接收該請求資訊後,儲存裝置驅動器116進行方塊401至405的操作且圖5以判定要對備用空間做出之調整。儲存裝置驅動器116(於方塊604)在諸如一圖形使用者介面(GUI)之一使用者介面130中呈現(render),在對於備用空間之經判定調整上的資訊具有一圖形元件以使在使用者介面處的一操作者可以指示來接受該經判定調整。
在(方塊605處)接收來自使用者介面130的指示後,該指示為選定圖形元件以接受經判定調整,該儲存裝置驅動器116發送(於方塊606處)一重調大小命令至儲存裝置102,重調大小命令具有調整數量以作為用於備用空間之一參數。此重調大小命令使得儲存裝置控制器104藉由對備用空間之該經判定調整來調整備用空間,以使得該控制器104調整在儲存陣列106中提供之備用空間以及自由空間的數量。
在一替代實施例中,儲存裝置驅動器116可自動地進行備用空間調整操作而不需要使用者透過使用者介面130的提示。
圖7例示說明當備用空間調整模組128係在如圖1顯示之儲存裝置102中的控制器106中實施時之操作的一實施例。備用空間調整模組128可響應於使用者調用或者根據諸如在儲存裝置102中已使用空間到達一臨界層級之一週期性排程或事件,來啟動備用空間調整操作。響應於(在方塊700處)啟動備用空間管理操作,控制器106進行圖4與5中的操作以調整備用空間與自由空間,且實施諸如藉由更新 備用方塊資訊122與自由方塊資訊124之調整。控制器104可(在方塊702處)發送一訊息至儲存裝置驅動器116,該訊息為可得使用者空間的新數量,因此主機作業系統112可併入該資訊進入其對該儲存裝置102之管理。
在一進一步實施例中,儲存裝置驅動器116可查詢儲存裝置102關於多少使用者容量可陳列。作為回應,若可實施,在儲存裝置102中實施的備用空間調整模組128判定可以增加多少使用者空間以及減少備用空間,且將此回報至儲存裝置驅動器116。儲存裝置驅動器116可接著回應於使用者認可或自動判定,發送一重調大小命令以引起儲存裝置控制器104組態在備用空間122中的方塊至自由空間124。重調大小命令可引起儲存裝置控制器104進行在圖4中方塊405-408處的操作以重新組態備用與自由空間。
應該理解的是,在此說明書中提及「一實施例」與「一個實施例」代表連同該實施例描述之一特定特徵、結構或特性係被包括在本發明的至少一實施例之中。因此,需強調且應可理解的是,在此說明書中各種部分中提到二或多個關於「一實施例」或「一個實施例」或「一替代實施例」並非必要地指稱同一實施例。進一步地,特定特徵、結構或特性若適合可在一或多個實施例中結合。
類似地,為了簡化本揭露且幫助對一或多個發明態樣的理解之目的,應當理解的是本發明的實施例之前述描述、各種特徵為有時被群聚在一起於一單一實施例、圖式或者其等之描述。然而,此揭露方法不應當被解釋為反 映所請求標的需要較在各個申請專利範圍中所明確地提及者更多的特徵。相反地,如以下申請專利範圍所反映的,發明態樣存在於較前述揭露的實施例的所有特徵較少特徵。因此,詳細說明後的申請專利範圍在此被明確地併入此詳細說明中。
所描述之備用空間調整模組128、儲存裝置驅動器116與其他操作元件112、114、118等等之操作可使用標準程式化及/或工程技術以產生軟體、韌體、硬體或者其等之組合,來實施為一方法、設備或者電腦可讀儲存媒體。所描述操作可實施為維持在「電腦可讀儲存媒體」中之編碼或邏輯組件,其可直接地執行函數或者其中一處理器可讀取且執行來自該電腦可讀儲存媒體之編碼。電腦可讀儲存媒體包括電子電路、儲存材料、無機材料、有機材料、生物材料、一殼體、一外殼、一塗層以及硬體的其中至少一者。一種計算機可讀儲存媒體可以包括,但不限於,磁儲存媒體(例如,硬碟驅動器、軟碟、磁帶等等)、光儲存器(CD-ROM、DVD、光碟等),依電性和非依電性記憶體裝置(如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、快閃記憶體、韌體、可編程邏輯等)、固態裝置(SSD)等。電腦可讀儲存媒體還可以包括在硬體裝置中實現的數位邏輯(例如,積體電路晶片、可編程邏輯裝置、可編程閘陣列(PGA)、場可編程閘陣列(FPGA)、專用積體電路,等等)。更進一步,實施所描述操作之編碼可以在「傳輸信號」中實施,其中傳輸信號可以透過空間或透過一傳輸媒體,如 光纖、銅線等等傳播。傳輸信號其中編碼或邏輯係被編碼可以進一步包含無線訊號、衛星傳輸、無線電波、紅外線訊號,藍牙等。嵌入在電腦可讀儲存媒體上的程序碼可以被發送以作為來自發送站或電腦到接收站或電腦的發送信號。一種電腦可讀儲存媒體未被單獨地包含在傳輸訊號中,但包括有形組件,例如硬體元件。習於此領域技術人員將可認知,在不脫離本發明的主旨的範圍內可以對此種配置做出許多修改,並且製造的產品可以包含在本領域中已知之合適的訊息承載媒體。
範例
以下範例關於更進一步實施例。
範例1為一種電腦程式產品,包含一電腦儲存媒體具有程式指令,當其被執行時藉由進行操作以管理在一儲存裝置中備用空間,該等操作包含以下動作:基於在該儲存裝置處至一媒體的儲存寫入與自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的該儲存寫入,來判定對該目前寫入放大的一調整以產生一經調整寫入放大;基於該經調整寫入放大來判定對該備用空間的一調整,其中該備用空間包含了不包含使用者可存取儲存之預留儲存空間;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
在範例2中,範例1的標的可選擇性地包括對該寫入放大之調整的判定動作包含:判定一剩餘儲存寫入率作為減去該儲存寫入之最大儲存寫入以及包含減去該儲存裝置之一通電期間的估計壽命之一剩餘期間的一函數;以及判定一目前儲存寫入率作為該儲存寫入與該通電期間的一函數,其中對該寫入放大的該調整係經來自剩餘儲存寫入率與該目前儲存寫入率來判定。
在範例3中,範例1及2的標的可選擇性地包括經來自剩餘儲存寫入率與該目前儲存寫入率來對該寫入放大之調整的判定動作包含判定一調整因數,當其施加至目前寫入率造成剩餘寫入儲存寫入率。
在範例4中,範例1至3的標的可選擇性地包括該調整因數指示對該目前儲存寫入率的一增加,該經判定調整指示對目前寫入放大的一增加,其導致了該備用空間中的一減少,且其中當該調整因數指示對該目前寫入率的一減少,該經判定調整指示對該目前寫入放大的一減少,其導致了該備用空間中的一減少。
在範例5中,範例1至4的標的可選擇性地包括對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數導致,該寫入放大施加至該經調整寫入放大。
在範例6中,範例1至5的標的可選擇性地包括該等操作進一步包含以下動作:基於在該儲存裝置處的一目前工作負載來判定於該儲存裝置處用於不同工作負載之複 數個寫入放大函數的其中一者,其中該經判定寫入放大函數係施加至該經調整寫入放大。
在範例7中,範例2至6的標的可選擇性地包括該等操作進一步包含以下動作:根據跟寫入放大函數與在該儲存裝置處的一目前備用空間之使用來施加該調整因數至該寫入放大,以獲得一經調整寫入放大;以及根據該寫入放大函數與該經調整寫入放大調整一目標備用空間對應。
在範例8中,範例2至7的標的可選擇性地包括該電腦可讀儲存媒體係在與該儲存裝置通訊之一主機系統中實施,其中該程式指令係在該主機系統中執行,其中該等指令進一步包含:等操作進一步包含以下動作:針對在該儲存裝置處之在該儲存寫入上的資訊發送一請求至該儲存裝置;自該儲存裝置接收在該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大,且其中啟動該操作以重新組態該備用空間包含發送一命令至該儲存裝置以藉由對於該備用空間之該經判定調整來調整該備用空間,以調整在該儲存裝置中所提供之該備用空間的數量。
在範例9中,範例2至8的標的可選擇性地包括該等操作進一步包含以下動作:以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使在該使用者介面處的一操作者可以指示來接受對該備用空間之經判定調整;以及接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發 送至該儲存裝置以接受該經判定調整。
在範例10中,範例2至9的標的可選擇性地包括該電腦可讀儲存媒體係在該儲存裝置的一控制器中實施,封裝於該儲存裝置內,其中該程式指令係於該控制器內執行。
在範例11中,範例2至10的標的可選擇性地包括一主機系統係與該儲存裝置通訊,且其中該等操作更進一步包含以下動作:由該主機系統發送一重調大小命令至該儲存裝置,該儲存裝置具有如同一參數之對該備用空間的調整;以及由該儲存裝置處理該重調大小命令以重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中的該參數對該備用空間之調整來調整該備用空間。
在範例12中,範例2至11的標的可選擇性地包括該儲存裝置包含具有NAND記憶體單元的一固體狀態儲存裝置,其中該備用空間係用以進行廢料收集以聯合在具有未受使用頁面之該NAND記憶體單元中的方塊中的活動資料之頁面成為較少的方塊。
範例13為一種與一主機系統通訊的儲存裝置,包含:一儲存陣列包含一儲存媒體;以及一控制器執行邏輯用以進行操作,該等操作包含以下動作:基於在該儲存裝置處至一媒體的儲存寫入以及自一主機至該儲存裝置的主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對該儲存裝置的一最大儲存寫入,以及從該儲存裝 置被通電開始在該儲存裝置處的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對備用空間的一調整,其中該備用空間包含了不包含使用者可存取儲存之預留儲存空間;以及重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
在範例14中,範例13的標的可選擇性地包括對該寫入放大之調整之判定的動作包含:判定一剩餘儲存寫入率作為減去儲存寫入之最大儲存寫入以及包含減去該儲存裝置之一通電期間之該估計壽命之一剩餘期間的一函數,;以及判定一目前儲存寫入率作為該儲存寫入與該通電期間的一函數,其中對該寫入放大的該調整係經來自剩餘儲存寫入率與該目前儲存寫入率來判定。
在範例15中,範例13與14的標的可選擇性地包括對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數導致,該寫入放大施加至該經調整寫入放大。
在範例16中,範例13至15的標的可選擇性地包括該等操作進一步包含以下動作:重新組態該備用空間與對該使用者為可取得的該自由空間以藉由對該備用空間之該經判定調整來調整該備用空間。
範例17為一種與一儲存裝置通訊的系統,包含:一處理器;以及一電腦可讀儲存媒體,具有由該處理器執行之電腦程式碼以進行操作,該等操作包含以下動作:基 於在該儲存裝置處至一媒體的儲存寫入與自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對備用空間的一調整,其中該備用空間包含了未包含有使用者可存取儲存之預留儲存空間;以及發送一命令至該儲存裝置以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
在範例18中,範例17的標的可選擇性地包括該等操作進一步包含以下動作:針對在該儲存裝置處之在該儲存寫入上的資訊發送一請求至該儲存裝置;自該儲存裝置接收在該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大。
在範例19中,範例17與18的標的可選擇性地包括該等操作進一步包含以下動作:以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使在該使用者介面處的一操作者可以指示來接受對該備用空間之經判定調整;以及接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發送至該儲存裝置以接受該經判定調整。
在範例20中,範例17至19的標的可選擇性地包括 該命令之發送包含以下動作:發送一重調大小命令至該儲存裝置,該儲存裝置具有如同一參數之對該備用空間的調整;其中該重調大小命令引起該儲存裝置重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中的該參數對該備用空間之調整來調整該備用空間。
範例21是一種設備,包含:基於在該儲存裝置處至一媒體的儲存寫入與自一主機至該儲存裝置的一主機寫入,用於判定一目前寫入放大之構件;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的該儲存寫入,用於判定對該目前寫入放大的一調整以產生一經調整寫入放大的構件;基於該經調整寫入放大來判定對該備用空間的一調整的構件,其中該備用空間包含了不包含使用者可存取儲存之預留儲存空間;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間的構件,以藉由對該備用空間之該經判定調整來調整該備用空間。
在範例22中,範例21的標的可選擇地包括:判定一剩餘儲存寫入率作為減去該儲存寫入之最大儲存寫入以及包含減去該儲存裝置之一通電期間的估計壽命之一剩餘期間的一函數之構件;以及判定一目前儲存寫入率作為該儲存寫入與該通電期間的一函數之構件,其中對該寫入放大的該調整係經來自剩餘儲存寫入率與該目前儲存寫入率來判定。
在範例23中,範例21與22的標的可選擇地包括經來自剩餘儲存寫入率與該目前儲存寫入率來判定對該寫入放大之調整的構件,包含判定一調整因數,當其施加至目前寫入率造成剩餘寫入儲存寫入率。
範例24為一種方法,包含:基於在該儲存裝置處至一媒體的儲存寫入與來自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入以及從該儲存裝置被通電開始在該儲存裝置處的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對該備用空間的一調整,其中該備用空間包含有不包含使用者可存取儲存之預留儲存空間;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
在範例25中,範例24的標的可選擇地包括對該寫入放大之調整的判定動作包含:判定一剩餘儲存寫入率作為減去該儲存寫入之最大儲存寫入以及包含減去該儲存裝置之一通電期間的估計壽命之一剩餘期間的一函數;以及判定一目前儲存寫入率作為該儲存寫入與該通電期間的一函數,其中對該寫入放大的該調整係經來自剩餘儲存寫入率與該目前儲存寫入率來判定。
在範例26中,範例24與25的標的可選擇地包括經來自剩餘儲存寫入率與該目前儲存寫入率來對該寫入放大 之調整的判定動作包含一調整因數,當其施加至目前寫入率造成剩餘寫入儲存寫入率。
在範例27中,範例24至26的標的可選擇地包括該調整因數指示對該目前儲存寫入率的一增加時,該經判定調整指示對該目前寫入放大的一增加,其導致了該備用空間中的一減少,且其中當該調整因數指示對該目前寫入率的一減少時,該經判定調整指示對該目前寫入放大的一減少,其導致了該備用空間中的一減少。
在範例28中,範例24至27的標的可選擇地包括對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數導致,該寫入放大施加至該經調整寫入放大。
在範例29中,範例24至28的標的可選擇地包括基於在該儲存裝置處的一目前工作負載來判定於該儲存裝置處用於不同工作負載之複數個寫入放大函數的其中一者,其中該經判定寫入放大函數係施加至該經調整寫入放大。
在範例30中,範例24至29的標的可選擇地包括根據跟寫入放大函數與在該儲存裝置處的一目前備用空間之使用來施加該調整因數至該寫入放大,以獲得一經調整寫入放大;以及根據該寫入放大函數與該經調整寫入放大調整一目標備用空間對應。
在範例31中,範例24至30的標的可選擇地包括係在一主機系統中實施為與該儲存裝置通訊,其中該程式指令係在該主機系統中執行,其中該等指令進一步包含:等 操作進一步包含以下動作:針對在該儲存裝置處之在該儲存寫入上的資訊發送一請求至該儲存裝置;自該儲存裝置接收在該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大,且其中啟動該操作以重新組態該備用空間包含發送一命令至該儲存裝置以藉由對於該備用空間之該經判定調整來調整該備用空間,以調整在該儲存裝置中所提供之該備用空間的數量。
在範例32中,範例24至31的標的可選擇地包括以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使在該使用者介面處的一操作者可以指示來接受對該備用空間之經判定調整;以及接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發送至該儲存裝置以接受該經判定調整。
在範例33中,範例24至32的標的可選擇地包括該方法係於該儲存裝置的一控制器中實施,封裝於該儲存裝置內。
在範例34中,範例24至33的標的可選擇地包括一主機系統係與該儲存裝置通訊,且更進一步包含以下動作:由該主機系統發送一重調大小命令至該儲存裝置,該儲存裝置具有如同一參數之對該備用空間的調整;以及由該儲存裝置處理該重調大小命令以重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中 的該參數對該備用空間之調整來調整該備用空間。
在範例35中,範例24至34的標的可選擇地包括該儲存裝置包含具有NAND記憶體單元的一固體狀態儲存裝置,其中該備用空間係用以進行廢料收集以聯合在具有未受使用頁面之該NAND記憶體單元中的方塊中的活動資料之頁面成為較少的方塊。
範例36為一種包括編碼的機器可讀媒體,當執行時用以導致一機器進行申請專利範圍第24至35任一者之方法。
在範例37中,範例24的標的可選擇地包含以下步驟至少一者:(1)其中對該寫入放大之調整之判定包含:判定一剩餘儲存寫入率作為減去該儲存寫入之最大儲存寫入以及包含減去存裝置之一通電期間的估計壽命之一剩餘期間的一函數,;以及判定一目前儲存寫入率作為該儲存寫入與該通電期間的一函數,其中對該寫入放大的該調整係經來自剩餘儲存寫入率與該目前儲存寫入率來判定;及/或(2)其中對該寫入放大之調整之判定包含經來自剩餘儲存寫入率與該目前儲存寫入率來對該寫入放大之調整的判定動作包含判定一調整因數,當其施加至目前寫入率造成剩餘寫入儲存寫入率;及/或(3)其中當該調整因數指示對該目前儲存寫入率的一增加,該經判定調整指示對目前寫入放大的一增加,其導致了該備用空間中的一減少,且其中當該調整因數指示對該 目前寫入率的一減少,該經判定調整指示對該目前寫入放大的一減少,其導致了該備用空間中的一減少;及/或(4)其中對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數導致,該寫入放大施加至該經調整寫入放大;及/或(5)基於在該儲存裝置處的一目前工作負載來判定於該儲存裝置處用於不同工作負載之複數個寫入放大函數的其中一者,其中該經判定寫入放大函數係施加至該經調整寫入放大;及/或(6)根據跟寫入放大函數與在該儲存裝置處的一目前備用空間之使用來施加該調整因數至該寫入放大,以獲得一經調整寫入放大;以及根據該寫入放大函數與該經調整寫入放大調整一目標備用空間對應;及/或(7)其中該方法在與該儲存裝置通訊之一主機系統中實施,其中該程式指令係在該主機系統中執行,其中該等指令進一步包含:等操作進一步包含以下動作:針對在該儲存裝置處之在該儲存寫入上的資訊發送一請求至該儲存裝置;自該儲存裝置接收在該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大,且其中啟動該操作以重新組態該備用空間包含發送一命令至該儲存裝置以藉由對於該備用空間之該經判定調整來調整該備用空間,以調整在該儲存裝置中所提供之該備用空間的數量;及/或(8)以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使在該使用者介面處的一操 作者可以指示來接受對該備用空間之經判定調整;以及接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發送至該儲存裝置以接受該經判定調整;及/或(9)其中該方法在該儲存裝置的一控制器中實施,封裝於該儲存裝置內;及/或(10)其中一主機系統係與該儲存裝置通訊,且更進一步包含以下動作:由該主機系統發送一重調大小命令至該儲存裝置,該儲存裝置具有如同一參數之對該備用空間的調整;以及由該儲存裝置處理該重調大小命令以重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中的該參數對該備用空間之調整來調整該備用空間;及/或(11)請求項1之方法,其中該儲存裝置包含具有NAND記憶體單元的一固體狀態儲存裝置,其中該備用空間係用以進行廢料收集以聯合在具有未受使用頁面之該NAND記憶體單元中的方塊中的活動資料之頁面成為較少的方塊。
範例38為一種設備,包含用以進行前述申請專利範圍24-37任一者中所請求之一方法的構件。
範例39為一種包括機器可讀指令之機器可讀儲存器,當執行實用以實施如進行前述申請專利範圍24-37任一者中所請求之一方法或實現一種設備或系統。
100‧‧‧主機系統
102‧‧‧儲存裝置
104‧‧‧控制器
106‧‧‧儲存陣列
108‧‧‧處理器
112‧‧‧作業系統
114‧‧‧記憶體
116‧‧‧儲存裝置驅動器
117‧‧‧應用程式
118‧‧‧I/O管理器
119‧‧‧顯示器
120‧‧‧快閃轉譯層
121‧‧‧輸入裝置
122‧‧‧備用方塊資訊
123‧‧‧I/O介面
124‧‧‧自由方塊資訊
125‧‧‧裝置I/O介面
128‧‧‧備用空間調整模組
130‧‧‧使用者介面
200‧‧‧消耗設定檔資訊
300‧‧‧寫入放大函數

Claims (25)

  1. 一種電腦程式產品,其包含具有程式指令的一電腦儲存媒體,當該等程式指令被執行時藉由進行操作以管理在一儲存裝置中的備用空間,該等操作包含:基於在該儲存裝置至一媒體的儲存寫入以及自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入、以及從該儲存裝置被通電開始在該儲存裝置的該儲存寫入,來判定對該目前寫入放大的一調整以產生一經調整寫入放大;基於該經調整寫入放大來判定對該備用空間的一調整,其中該備用空間包含預留儲存空間,該預留儲存空間不包含使用者可存取之儲存;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
  2. 如請求項1之電腦程式產品,其中對該寫入放大之調整的判定之操作包含:以該最大儲存寫入減去該儲存寫入以及一剩餘期間的一函數來判定一剩餘儲存寫入率,該剩餘期間包含該估計壽命減去該儲存裝置之一通電期間;以及 以該儲存寫入與該通電期間的一函數來判定一目前儲存寫入率,其中對該寫入放大的該調整係從該剩餘儲存寫入率與該目前儲存寫入率來判定。
  3. 如請求項2之電腦程式產品,其中從剩餘儲存寫入率與該目前儲存寫入率來對該寫入放大之調整的判定之操作包含判定一調整因數,當該調整因數施加至該目前寫入率造成該剩餘儲存寫入率。
  4. 如請求項3之電腦程式產品,其中當該調整因數指示對該目前儲存寫入率的一增加時,該經判定調整則指示對該目前寫入放大的一增加,其導致該備用空間中的一減少,且其中當該調整因數指示對該目前寫入率的一減少,該經判定調整則指示對該目前寫入放大的一減少,其導致該備用空間中的一增加。
  5. 如請求項1之電腦程式產品,其中對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數所導致,該寫入放大係施加至該經調整寫入放大。
  6. 如請求項5之電腦程式產品,其中該等操作進一步包含:基於在該儲存裝置的一目前工作負載來判定供給該儲存裝置之不同工作負載的複數個寫入放大函數的其中一者,其中該經判定寫入放大函數係施加至該經調整寫入放大。
  7. 如請求項5之電腦程式產品,其中該等操作進一步包含:根據跟寫入放大函數以及在該儲存裝置處的一目前備用空間使用來施加該調整因數至該寫入放大,以獲得一經調整寫入放大;以及根據該寫入放大函數與該經調整寫入放大來判定一目標備用空間對應。
  8. 如請求項1之電腦程式產品,其中該電腦可讀儲存媒體係實施於與該儲存裝置通訊之一主機系統之中,其中該等程式指令係在該主機系統中執行,其中等操作進一步包含:針對在該儲存裝置處之該儲存寫入上的資訊,發送一請求至該儲存裝置;自該儲存裝置接收該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大,且其中啟動該操作以重新組態該備用空間之操作包含發送一命令至該儲存裝置以藉由對於該備用空間之該經判定調整來調整該備用空間,以調整在該儲存裝置中所提供之該備用空間的數量。
  9. 如請求項8之電腦程式產品,該等操作進一步包含:以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使得該使用者介面的一操作者能夠指示來接受對該備用空間之經判定調整;以及 接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發送至該儲存裝置以接受該經判定調整。
  10. 如請求項1之電腦程式產品,其中該電腦可讀儲存媒體係實施於封裝於該儲存裝置內之該儲存裝置的一控制器之中,其中該程式指令係於該控制器內執行。
  11. 如請求項1之電腦程式產品,其中一主機系統係與該儲存裝置通訊,且其中該等操作更進一步包含:由該主機系統發送一重調大小命令至該儲存裝置,具有如同一參數之對該備用空間的調整;以及由該儲存裝置處理該重調大小命令以重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中的該參數對該備用空間之調整來調整該備用空間。
  12. 如請求項1之電腦程式產品,其中該儲存裝置包含具有NAND記憶體單元的一固體狀態儲存裝置,其中該備用空間係用以進行廢料收集以聯合在具有未受使用頁面之該NAND記憶體單元中的方塊中的活動資料之頁面成為較少的方塊。
  13. 一種與一主機系統通訊的儲存裝置,包含:一儲存陣列,其包含一儲存媒體;以及一控制器,其執行邏輯用以進行操作,該等操作包 含:基於在該儲存裝置處至一媒體的儲存寫入以及自一主機至該儲存裝置的主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對該儲存裝置的一最大儲存寫入、以及從該儲存裝置被通電開始在該儲存裝置的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對備用空間的一調整,其中該備用空間包含預留儲存空間,該預留儲存空間不包含使用者可存取之儲存;以及重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
  14. 如請求項13之儲存裝置,其中對該寫入放大之調整之判定的操作包含:以該最大儲存寫入減去該儲存寫入以及一剩餘期間的一函數來判定一剩餘儲存寫入率,該剩餘期間包含該估計壽命減去該儲存裝置之一通電期間;以及以該儲存寫入與該通電期間的一函數來判定一目前儲存寫入率,其中對該寫入放大的該調整係從該剩餘儲存寫入率與該目前儲存寫入率來判定。
  15. 如請求項13之儲存裝置,其中對該備用空間之該經判定 調整係由於用以寫入放大之備用空間之一寫入放大函數所導致,該寫入放大係施加至該經調整寫入放大。
  16. 如請求項13之儲存裝置,其中該等操作進一步包含:重新組態該備用空間與對該使用者為可取得的該自由空間以藉由對該備用空間之該經判定調整來調整該備用空間。
  17. 一種與一儲存裝置通訊的系統,包含:一處理器;以及一電腦可讀儲存媒體,其具有由該處理器執行以進行操作的之電腦程式碼,該等操作包含:基於在該儲存裝置至一媒體的儲存寫入以及來自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大;基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入、以及從該儲存裝置被通電開始在該儲存裝置的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對備用空間的一調整,其中該備用空間包含預留儲存空間,該預留儲存空間不包含使用者可存取之儲存;以及發送一命令至該儲存裝置以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
  18. 如請求項17之系統,其中該等操作進一步包含:針對在該儲存裝置處於該儲存寫入上的資訊,發送一請求至該儲存裝置;自該儲存裝置接收該儲存寫入上的該資訊,其中該接收資訊係用來判定該目前寫入放大。
  19. 如請求項17之系統,其中該等操作進一步包含:以一圖形元件在一使用者介面中呈現對該備用空間之該經判定調整上的資訊,以使得該使用者介面的一操作者能夠指示來接受對該備用空間之經判定調整;以及接收該圖形元件之選擇的一指示以接受對該備用空間的該經判定調整,其中用以調整該備用空間的該命令係響應於接收該圖形元件之選擇的該指示,發送至該儲存裝置以接受該經判定調整。
  20. 如請求項17之系統,其中該命令之發送包含:發送一重調大小命令至該儲存裝置,具有如同一參數之對該備用空間的調整;其中該重調大小命令引起該儲存裝置重新組態該備用空間與對使用者為可取得的該自由空間,以藉由在該重調大小命令中的該參數對該備用空間之調整來調整該備用空間。
  21. 一種方法,其包含下列步驟:基於在該儲存裝置至一媒體的儲存寫入以及來自一主機至該儲存裝置的一主機寫入來判定一目前寫入放大; 基於該儲存裝置的一估計壽命、對於該儲存裝置的一最大儲存寫入、以及從該儲存裝置被通電開始在該儲存裝置的該儲存寫入,判定對該目前寫入放大的一調整來產生一經調整寫入放大;基於該經調整寫入放大來判定對該備用空間的一調整,其中該備用空間包含預留儲存空間,該預留儲存空間不包含使用者可存取之儲存;以及啟動一操作以重組態該備用空間與對使用者為可取得的自由空間,以藉由對該備用空間之該經判定調整來調整該備用空間。
  22. 如請求項21的方法,其中對該寫入放大之調整的判定之步驟包含下列步驟:以該最大儲存寫入減去該儲存寫入以及一剩餘期間的一函數來判定一剩餘儲存寫入率,該剩餘期間包含該估計壽命減去該儲存裝置之一通電期間;以及以該儲存寫入與該通電期間的一函數來判定一目前儲存寫入率,其中對該寫入放大的該調整係從該剩餘儲存寫入率與該目前儲存寫入率來判定。
  23. 如請求項22的方法,其中經來自剩餘儲存寫入率與該目前儲存寫入率來對該寫入放大之調整的判定之步驟包含一調整因數,當該調整因數施加至該目前寫入率造成該剩餘儲存寫入率。
  24. 如請求項23的方法,其中當該調整因數指示對該目前儲 存寫入率的一增加時,該經判定調整則指示對該目前寫入放大的一增加,其導致了該備用空間中的一減少,且其中當該調整因數指示對該目前寫入率的一減少時,該經判定調整則指示對該目前寫入放大的一減少,其導致了該備用空間中的一增加。
  25. 如請求項21之方法,其中對該備用空間之該經判定調整係由於用以寫入放大之備用空間之一寫入放大函數所導致,該寫入放大係施加至該經調整寫入放大。
TW104133710A 2014-12-09 2015-10-14 基於儲存裝置的目前消耗設定檔判定在儲存裝置中對使用者爲不可用之備用空間的調整之技術 TWI585585B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/565,352 US9678677B2 (en) 2014-12-09 2014-12-09 Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device

Publications (2)

Publication Number Publication Date
TW201633141A true TW201633141A (zh) 2016-09-16
TWI585585B TWI585585B (zh) 2017-06-01

Family

ID=56094368

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104133710A TWI585585B (zh) 2014-12-09 2015-10-14 基於儲存裝置的目前消耗設定檔判定在儲存裝置中對使用者爲不可用之備用空間的調整之技術

Country Status (6)

Country Link
US (2) US9678677B2 (zh)
EP (1) EP3230871B1 (zh)
KR (3) KR102579790B1 (zh)
CN (1) CN107148613B (zh)
TW (1) TWI585585B (zh)
WO (1) WO2016094004A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI643127B (zh) * 2017-02-28 2018-12-01 日商東芝記憶體股份有限公司 Memory system and control method
TWI803940B (zh) * 2018-03-08 2023-06-01 日商東芝記憶體股份有限公司 在固態儲存驅動器陣列中的工作量適應超容量快取

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9678677B2 (en) 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device
US11086775B2 (en) * 2014-12-11 2021-08-10 Toshiba Memory Corporation Information processing device, non-transitory computer readable recording medium, and information processing system
US9747177B2 (en) * 2014-12-30 2017-08-29 International Business Machines Corporation Data storage system employing a hot spare to store and service accesses to data having lower associated wear
US10545684B2 (en) * 2015-05-13 2020-01-28 Hitachi, Ltd. Storage device
TWI563507B (en) * 2015-07-01 2016-12-21 Phison Electronics Corp Memory management method, memory control circuit unit and memry storage apparatus
US9678684B2 (en) * 2015-10-07 2017-06-13 Sandisk Technologies Llc Systems and methods for performing an adaptive sustain write in a memory system
US9804787B2 (en) * 2015-11-03 2017-10-31 Samsung Electronics Co., Ltd. Mitigating GC effect in a raid configuration
US10140034B2 (en) * 2015-11-24 2018-11-27 International Business Machines Corporation Solid-state drive assignment based on solid-state drive write endurance
JP6448571B2 (ja) 2016-03-08 2019-01-09 東芝メモリ株式会社 ストレージシステム、情報処理システムおよび制御方法
US10289317B2 (en) * 2016-12-31 2019-05-14 Western Digital Technologies, Inc. Memory apparatus and methods thereof for write amplification aware wear leveling
US10120578B2 (en) 2017-01-19 2018-11-06 International Business Machines Corporation Storage optimization for write-in-free-space workloads
JP2018151776A (ja) * 2017-03-10 2018-09-27 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US10452536B2 (en) * 2017-06-12 2019-10-22 Western Digital Technologies, Inc. Dynamic management of garbage collection and overprovisioning for host stream storage
US20190042142A1 (en) * 2017-12-29 2019-02-07 Intel Corporation Statistics and priority-based control for storage device
US11023352B2 (en) * 2018-01-19 2021-06-01 Seagate Technology Llc Wear mitigation in a data storage system through data migration
KR102545229B1 (ko) * 2018-05-04 2023-06-21 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US10795810B2 (en) * 2018-09-10 2020-10-06 Micron Technology, Inc. Wear-leveling scheme for memory subsystems
US10795576B2 (en) * 2018-11-01 2020-10-06 Micron Technology, Inc. Data relocation in memory
KR20200068147A (ko) 2018-12-04 2020-06-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10963332B2 (en) 2018-12-17 2021-03-30 Western Digital Technologies, Inc. Data storage systems and methods for autonomously adapting data storage system performance, capacity and/or operational requirements
KR102202107B1 (ko) * 2018-12-28 2021-01-12 (주)글루시스 사용자 개별 서비스 환경을 위한 스토리지 장치 제어 방법 및 스토리지 컨트롤러
US11054993B2 (en) 2019-05-28 2021-07-06 Intel Corporation Mass storage system having peer-to-peer data movements between a cache and a backend store
CN110308876B (zh) * 2019-07-01 2024-05-17 合肥兆芯电子有限公司 存储器管理方法、存储器存储装置及存储器控制电路单元
US11662943B2 (en) * 2020-06-16 2023-05-30 Micron Technology, Inc. Adjustable media management
KR20230023477A (ko) 2021-08-10 2023-02-17 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3809870B2 (ja) 2003-07-25 2006-08-16 インターナショナル・ビジネス・マシーンズ・コーポレーション 容量変更プログラムとその記録媒体、容量変更方法、及び容量変更機能を有する情報処理装置
US7681007B2 (en) * 2004-04-15 2010-03-16 Broadcom Corporation Automatic expansion of hard disk drive capacity in a storage device
CN101646994B (zh) * 2006-12-06 2016-06-15 才智知识产权控股公司(2) 利用内存库交错管理固态存储器的命令的装置、系统及方法
US9183133B2 (en) 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
US8554983B2 (en) 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US8412880B2 (en) * 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8412909B2 (en) 2009-04-08 2013-04-02 Samsung Electronics Co., Ltd. Defining and changing spare space and user space in a storage apparatus
US8712751B2 (en) 2009-05-08 2014-04-29 Qualcomm Incorporated System and method of verification of analog circuits
US8291131B2 (en) * 2009-07-06 2012-10-16 Micron Technology, Inc. Data transfer management
US8479080B1 (en) * 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8214580B2 (en) * 2009-10-23 2012-07-03 International Business Machines Corporation Solid state drive with adjustable drive life and capacity
US9021185B2 (en) * 2009-11-23 2015-04-28 Amir Ban Memory controller and methods for enhancing write performance of a flash device
EP2715510B1 (en) 2011-05-24 2018-05-02 Marvell World Trade Ltd. Method for storage devices to achieve low write amplification with low over provision
US8954689B2 (en) * 2011-06-30 2015-02-10 Seagate Technology Llc Limiting activity rates that impact life of a data storage media
KR20130007380A (ko) * 2011-07-01 2013-01-18 주식회사 케이티 네트워크 폭주/과부하 상태에서 mtc 디바이스의 트리거를 수행하는 방법 및 장치
US8762798B2 (en) * 2011-11-16 2014-06-24 Stec, Inc. Dynamic LDPC code rate solution
US20130185487A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd Memory system and mobile device including host and flash memory-based storage device
US20130185482A1 (en) * 2012-01-18 2013-07-18 Samsung Electronics Co., Ltd. Memory system using a storage having firmware with a plurality of features
US9251086B2 (en) * 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
CN103019615B (zh) * 2012-07-19 2015-08-26 中国人民解放军国防科学技术大学 一种基于负载控制的提高闪存固态硬盘持久性方法
US8799561B2 (en) 2012-07-27 2014-08-05 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
KR20140031688A (ko) * 2012-09-05 2014-03-13 삼성전자주식회사 스토리지 시스템을 위한 마모 관리 장치 및 방법
US9411718B2 (en) * 2012-12-21 2016-08-09 Seagate Technology Llc Method to apply fine grain wear leveling and garbage collection
US20140359198A1 (en) * 2013-05-28 2014-12-04 Apple Inc. Notification of storage device performance to host
US9678677B2 (en) 2014-12-09 2017-06-13 Intel Corporation Determining adjustments to the spare space in a storage device unavailable to a user based on a current consumption profile of a storage device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI643127B (zh) * 2017-02-28 2018-12-01 日商東芝記憶體股份有限公司 Memory system and control method
TWI803940B (zh) * 2018-03-08 2023-06-01 日商東芝記憶體股份有限公司 在固態儲存驅動器陣列中的工作量適應超容量快取
US11693568B2 (en) 2018-03-08 2023-07-04 Kioxia Corporation Workload-adaptive overprovisioning in solid state storage drive arrays

Also Published As

Publication number Publication date
EP3230871B1 (en) 2020-12-09
KR102579790B1 (ko) 2023-09-19
US20170322739A1 (en) 2017-11-09
US20160162205A1 (en) 2016-06-09
EP3230871A4 (en) 2018-07-25
CN107148613A (zh) 2017-09-08
EP3230871A1 (en) 2017-10-18
US9678677B2 (en) 2017-06-13
KR20220151227A (ko) 2022-11-14
CN107148613B (zh) 2020-08-25
KR20170092538A (ko) 2017-08-11
KR102462407B1 (ko) 2022-11-03
KR20230135172A (ko) 2023-09-22
TWI585585B (zh) 2017-06-01
WO2016094004A1 (en) 2016-06-16
US10180797B2 (en) 2019-01-15

Similar Documents

Publication Publication Date Title
TWI585585B (zh) 基於儲存裝置的目前消耗設定檔判定在儲存裝置中對使用者爲不可用之備用空間的調整之技術
TWI746510B (zh) 用於在資料儲存裝置上管理不可變資料之技術
EP3709175A1 (en) Storage device and computing device including storage device
KR102595233B1 (ko) 데이터 처리 시스템 및 그것의 동작 방법
TW201918885A (zh) 記憶體系統及非揮發性記憶體之控制方法
US20230244394A1 (en) Gradually Reclaim Storage Space Occupied by a Proof of Space Plot in a Solid State Drive
KR20150044655A (ko) 데이터 저장 장치
CN111936961A (zh) 基于性能目标对存储器系统的优化
US11775188B2 (en) Communications to reclaim storage space occupied by proof of space plots in solid state drives
CN110286847B (zh) 数据存储装置及其操作方法
US11960756B2 (en) Management of storage space in solid state drives to support proof of space activities
US20220129206A1 (en) Resource allocation in memory systems based on operation modes
EP4345595A1 (en) Method and device for data storage
KR20200067035A (ko) 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템
WO2020237637A1 (zh) 一种数据读取方法、存储控制器及电子设备
US20240037027A1 (en) Method and device for storing data
KR20210101062A (ko) 모델 정보를 저장하는 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템 및 스토리지 시스템의 동작 방법
KR20170141468A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20160119607A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102609473B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20190041082A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20180121733A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20240002004A (ko) 워크로드 등급에 따른 파라미터 값을 최적화하기 위한 메모리 시스템 및 이를 포함하는 데이터 처리 시스템
KR20240014315A (ko) 전자 장치, 이를 위한 데이터 저장 장치 및 그 동작 방법