本文描述的實(shí)施例總體涉及基于儲(chǔ)存設(shè)備的當(dāng)前消耗簡(jiǎn)檔來(lái)確定對(duì)不可用于用戶的儲(chǔ)存設(shè)備中的備用空間的調(diào)整。
背景技術(shù):
固態(tài)驅(qū)動(dòng)器(ssd)經(jīng)歷下述現(xiàn)象:其中,向設(shè)備的一個(gè)主機(jī)寫(xiě)入導(dǎo)致向ssd中的非易失性存儲(chǔ)器的多個(gè)寫(xiě)入。這發(fā)生的原因在于:關(guān)于諸如nand(與非)之類的非易失性存儲(chǔ)器,必須在數(shù)據(jù)可以被寫(xiě)入到頁(yè)面塊中的頁(yè)面之一中之前擦除該塊,這要求重寫(xiě)該塊中的頁(yè)面中的一些。通過(guò)向非易失性存儲(chǔ)器提交的寫(xiě)入與來(lái)自主機(jī)系統(tǒng)的寫(xiě)入之比來(lái)測(cè)量寫(xiě)入放大。
在ssd設(shè)備中,當(dāng)非易失性存儲(chǔ)器的塊中的頁(yè)面具有有效數(shù)據(jù)和過(guò)時(shí)數(shù)據(jù)(無(wú)效或不需要的數(shù)據(jù))二者時(shí),垃圾收集過(guò)程讀取具有有效數(shù)據(jù)的頁(yè)面,并將有效數(shù)據(jù)重寫(xiě)到經(jīng)擦除的空塊中,以將具有有效數(shù)據(jù)的頁(yè)面合并成更少的塊,以便具有可用于寫(xiě)入操作的更空閑的塊。在垃圾收集之后,從其寫(xiě)入了有效數(shù)據(jù)的塊然后是空閑的且可用于進(jìn)一步寫(xiě)入數(shù)據(jù)或垃圾收集。
垃圾收集過(guò)程增大了寫(xiě)入放大,并降低了系統(tǒng)性能,這是因?yàn)橹鳈C(jī)寫(xiě)入可能需要整個(gè)塊被收回,具有有效和過(guò)時(shí)數(shù)據(jù),并且所有有效數(shù)據(jù)在可以針對(duì)新主機(jī)寫(xiě)入而釋放塊之前被重新定位。為了減小寫(xiě)入放大的影響,ssd使用通過(guò)使作為備用空間的儲(chǔ)存空間的塊保持可用于垃圾收集操作而對(duì)非易失性存儲(chǔ)器的過(guò)度供給,其中備用空間不可用于用戶。過(guò)度供給的備用空間通過(guò)將備用空間中的塊用于垃圾收集以將塊釋放出來(lái)以便可用于寫(xiě)入操作,有助于降低寫(xiě)入放大。備用空間的量通過(guò)影響被回收的塊中有效和過(guò)時(shí)數(shù)據(jù)的期望量,來(lái)影響垃圾收集的效率。例如,具有更大備用容量的驅(qū)動(dòng)器將在其針對(duì)垃圾收集而選擇的塊中具有更多無(wú)效數(shù)據(jù),這是由于備用空間對(duì)應(yīng)于在垃圾收集的塊中存在多少總計(jì)無(wú)效塊。垃圾收集確保了始終存在可用于寫(xiě)入操作的空閑空間塊,使得垃圾收集不需要在寫(xiě)入操作期間被使用以使空間可用于將新數(shù)據(jù)寫(xiě)入到非易失性存儲(chǔ)器。制造商可以在ssd中的非易失性存儲(chǔ)器中配置不可用于用戶且被用于垃圾收集、耗損均衡和其他管理操作的備用空間。
此外,寫(xiě)入放大隨工作量而變化,并且諸如順序?qū)懭胫惖哪承┕ぷ髁恳话憬?jīng)歷比諸如隨機(jī)寫(xiě)入之類的其他工作量低的寫(xiě)入放大。此外,如果特定主機(jī)具有比期望低的主機(jī)寫(xiě)入活動(dòng)水平,則在nand上可以存在比期望少的耗損。
附圖說(shuō)明
參考附圖、作為示例而描述實(shí)施例,附圖不是按比例繪制的,其中相似附圖標(biāo)記指代類似元件。
圖1圖示了計(jì)算環(huán)境中的主機(jī)系統(tǒng)和儲(chǔ)存設(shè)備的實(shí)施例。
圖2圖示了在儲(chǔ)存設(shè)備中搜集的儲(chǔ)存設(shè)備元數(shù)據(jù)的實(shí)施例。
圖3圖示了對(duì)過(guò)度供給的備用空間在儲(chǔ)存設(shè)備中的百分比作為寫(xiě)入放大的函數(shù)進(jìn)行建模的寫(xiě)入放大函數(shù)的實(shí)施例。
圖4圖示了對(duì)儲(chǔ)存設(shè)備中的不可用于用戶的備用空間進(jìn)行調(diào)整的操作的實(shí)施例。
圖5圖示了確定對(duì)寫(xiě)入放大的調(diào)整的操作的實(shí)施例,該寫(xiě)入放大是在確定對(duì)備用空間的調(diào)整時(shí)使用的。
圖6圖示了由主機(jī)系統(tǒng)中的儲(chǔ)存設(shè)備驅(qū)動(dòng)器執(zhí)行以調(diào)整備用空間的操作的實(shí)施例。
圖7圖示了由儲(chǔ)存設(shè)備執(zhí)行以調(diào)整儲(chǔ)存設(shè)備的儲(chǔ)存陣列中的備用空間的操作的實(shí)施例。
具體實(shí)施方式
制造商必須平衡將備用空間提供給較低寫(xiě)入放大且減少寫(xiě)入的數(shù)目以延長(zhǎng)ssd和閃存的壽命的需要與將盡可能多的空間提供給用戶的需要。在本領(lǐng)域中存在針對(duì)下述改進(jìn)技術(shù)的需要:該改進(jìn)技術(shù)用于最優(yōu)地管理儲(chǔ)存設(shè)備中的備用空間。
在ssd中,具有有限數(shù)目的寫(xiě)入周期的非易失性存儲(chǔ)器(諸如nand)上的耗損是主機(jī)寫(xiě)入速率乘以寫(xiě)入放大的函數(shù),并且寫(xiě)入放大是向用戶隱藏的備用容量空間的量的函數(shù)。備用容量減小了寫(xiě)入放大的效果,且因而減小了ssd上的耗損。然而,必須將減小寫(xiě)入放大和寫(xiě)入耗損的該需要與用戶對(duì)最大化可用容量的興趣進(jìn)行平衡,這是因?yàn)閭溆每臻g不可用于用戶。
所描述的實(shí)施例力求通過(guò)提供下述技術(shù)來(lái)優(yōu)化非易失性存儲(chǔ)器中的備用空間和用戶可用空間的平衡:該技術(shù)基于驅(qū)動(dòng)器的當(dāng)前耗損軌跡來(lái)確定是否應(yīng)當(dāng)作出調(diào)整以減小或增大備用空間。耗損軌跡基于ssd消耗簡(jiǎn)檔,其包括ssd壽命期間的當(dāng)前主機(jī)寫(xiě)入水平、ssd的當(dāng)前開(kāi)機(jī)時(shí)間、ssd的所估計(jì)的生命期、以及針對(duì)ssd而定級(jí)的驅(qū)動(dòng)器寫(xiě)入的最大數(shù)目。所描述的實(shí)施例提供了用于執(zhí)行下述操作的技術(shù):如果當(dāng)前寫(xiě)入軌跡水平足夠低以使得以對(duì)驅(qū)動(dòng)器的歷史主機(jī)寫(xiě)入速率,寫(xiě)入放大可以增大且仍達(dá)到針對(duì)驅(qū)動(dòng)器而定級(jí)的最大寫(xiě)入內(nèi)的驅(qū)動(dòng)器的所估計(jì)的生命期,則確定減小備用空間且增大用戶可用空間的調(diào)整。
此外,所描述的實(shí)施例提供了用于執(zhí)行下述操作的技術(shù):如果當(dāng)前主機(jī)寫(xiě)入軌跡水平足夠高以使得以對(duì)驅(qū)動(dòng)器的歷史主機(jī)寫(xiě)入速率,寫(xiě)入放大需要減小以使儲(chǔ)存驅(qū)動(dòng)器達(dá)到驅(qū)動(dòng)器的所估計(jì)的生命期而不超過(guò)針對(duì)驅(qū)動(dòng)器而定級(jí)的最大驅(qū)動(dòng)器寫(xiě)入,則確定增大備用空間且減小用戶可用空間的調(diào)整。因此,當(dāng)當(dāng)前耗損水平足夠高以使得如果備用空間不增大,則驅(qū)動(dòng)器將具有比以當(dāng)前耗損速率估計(jì)的生命期更短的生命期時(shí),增大備用空間以降低寫(xiě)入放大延長(zhǎng)驅(qū)動(dòng)器的生命期。
所描述的實(shí)施例通過(guò)下述操作來(lái)確定對(duì)備用空間的調(diào)整的適當(dāng)水平:使用在儲(chǔ)存設(shè)備中維護(hù)的驅(qū)動(dòng)器消耗簡(jiǎn)檔以確定對(duì)寫(xiě)入放大的調(diào)整,并且然后使用寫(xiě)入放大函數(shù)以確定由于對(duì)寫(xiě)入放大的調(diào)整而可對(duì)備用空間作出的對(duì)應(yīng)調(diào)整。
另外的實(shí)施例提供了用于如增大用戶可用空間所需的那樣確定對(duì)備用空間的適當(dāng)調(diào)整的技術(shù)。該調(diào)整信息然后可以被呈現(xiàn)給主機(jī)系統(tǒng)處的儲(chǔ)存設(shè)備的用戶,以決定是否如儲(chǔ)存設(shè)備自身或在主機(jī)系統(tǒng)中運(yùn)行的儲(chǔ)存設(shè)備驅(qū)動(dòng)器所確定的那樣作出調(diào)整。
在以下描述中,闡述了諸如邏輯實(shí)現(xiàn)、操作碼、用于指定操作數(shù)的手段、資源分區(qū)/共享/復(fù)制實(shí)現(xiàn)、系統(tǒng)組件的類型和相互關(guān)系、以及邏輯分區(qū)/集成選擇之類的許多具體細(xì)節(jié),以便提供對(duì)本發(fā)明的更透徹理解。然而,本領(lǐng)域技術(shù)人員將領(lǐng)會(huì)的是,可以在沒(méi)有這樣的具體細(xì)節(jié)的情況下實(shí)踐本發(fā)明。在其他實(shí)例中,未詳細(xì)示出控制結(jié)構(gòu)、門(mén)級(jí)電路和全軟件指令序列,以便不使本發(fā)明模糊。在具有所包括的描述的情況下,本領(lǐng)域技術(shù)人員將能夠在沒(méi)有過(guò)度實(shí)驗(yàn)的情況下實(shí)現(xiàn)適當(dāng)功能。
說(shuō)明書(shū)中對(duì)“一個(gè)實(shí)施例”、“實(shí)施例”、“示例實(shí)施例”等的引用指示:所描述的實(shí)施例可以包括特定特征、結(jié)構(gòu)或特性,但可能不是每個(gè)實(shí)施例都必然包括該特定特征、結(jié)構(gòu)或特性。此外,這樣的短語(yǔ)不必然指代相同實(shí)施例。某些實(shí)施例涉及儲(chǔ)存設(shè)備電子組裝件。實(shí)施例包括用于形成電子組裝件的設(shè)備和方法二者。
圖1圖示了與儲(chǔ)存設(shè)備102通信的主機(jī)系統(tǒng)100的實(shí)施例。儲(chǔ)存設(shè)備102包括:非易失性存儲(chǔ)器控制器104,關(guān)于非易失性存儲(chǔ)器儲(chǔ)存陣列106執(zhí)行讀取、寫(xiě)入和故障恢復(fù)操作。主機(jī)100可以向儲(chǔ)存設(shè)備102發(fā)送關(guān)于非易失性存儲(chǔ)器儲(chǔ)存陣列106讀取和寫(xiě)入數(shù)據(jù)的主機(jī)讀取和寫(xiě)入請(qǐng)求。
儲(chǔ)存設(shè)備102可以包括閃存設(shè)備、spi閃存設(shè)備、固態(tài)儲(chǔ)存設(shè)備(ssd)、閃存控制器和閃存設(shè)備(例如,nand或nor(或非))、以及其他讀取/寫(xiě)入儲(chǔ)存類型設(shè)備,諸如存儲(chǔ)器設(shè)備、盤(pán)驅(qū)動(dòng)器等。儲(chǔ)存設(shè)備102可以包括將通過(guò)最優(yōu)地管理寫(xiě)入放大而受益的任何儲(chǔ)存設(shè)備。
儲(chǔ)存陣列106可以包括電可擦除和非易失性存儲(chǔ)器單元,諸如閃存儲(chǔ)存設(shè)備。例如,存儲(chǔ)器儲(chǔ)存陣列104可以包括存儲(chǔ)器單元的nand管芯。在一個(gè)實(shí)施例中,nand管芯可以包括:多級(jí)單元(mlc)nand閃存,其在每一個(gè)單元中記錄兩個(gè)比特值:下比特值和上比特值??商鎿Q地,nand管芯可以包括單級(jí)單元(slc)存儲(chǔ)器。儲(chǔ)存陣列106還可以包括但不限于mlcnand閃存、鐵電隨機(jī)存取存儲(chǔ)器(fetram)、基于納米線的非易失性存儲(chǔ)器、三維(3d)交叉點(diǎn)存儲(chǔ)器(諸如相變存儲(chǔ)器(pcm))、并入有憶阻器技術(shù)的存儲(chǔ)器、磁阻隨機(jī)存取存儲(chǔ)器(mram)、自旋轉(zhuǎn)移矩(stt)-mram、單級(jí)單元(slc)閃存以及其他電可擦除可編程只讀存儲(chǔ)器(eeprom)類型設(shè)備。所描述的實(shí)施例可以與任何類別的存儲(chǔ)器一起使用,這些存儲(chǔ)器要求垃圾收集且作為垃圾收集的效果而經(jīng)歷寫(xiě)入放大。
主機(jī)100包括處理器108和存儲(chǔ)器110,存儲(chǔ)器110具有由處理器108執(zhí)行的程序代碼,包括操作系統(tǒng)112,操作系統(tǒng)112具有儲(chǔ)存設(shè)備驅(qū)動(dòng)器116以將操作系統(tǒng)112與儲(chǔ)存設(shè)備102、一個(gè)或多個(gè)應(yīng)用117、顯示器119(諸如計(jì)算機(jī)監(jiān)視器)、輸入設(shè)備121(諸如鍵盤(pán)、鼠標(biāo)、觸摸屏等)和主機(jī)輸入/輸出(i/o)接口123進(jìn)行接口連接,主機(jī)輸入/輸出(i/o)接口123與儲(chǔ)存設(shè)備102中的對(duì)應(yīng)設(shè)備i/o接口125進(jìn)行接口連接和通信。主機(jī)100可以包括服務(wù)器、工作站、臺(tái)式計(jì)算機(jī)、虛擬機(jī)、膝上型電腦、平板電腦、智能電話以及本領(lǐng)域中已知的其他計(jì)算設(shè)備。儲(chǔ)存設(shè)備102可以處于主機(jī)100外殼內(nèi)作為內(nèi)部?jī)?chǔ)存設(shè)備102或者作為外部?jī)?chǔ)存設(shè)備102。
在一些實(shí)施例中,主機(jī)123和設(shè)備125i/o接口是串行高級(jí)技術(shù)附件(sata)接口,并包括將主機(jī)100和儲(chǔ)存設(shè)備102耦合的符合sata的總線。在其他實(shí)施例中,可以使用其他類型的i/o接口和總線互連,諸如串行附件小型計(jì)算機(jī)系統(tǒng)接口(scsi)(或簡(jiǎn)稱sas)、高速外圍組件互連(pcie)等。
控制器104包括:輸入/輸出(i/o)管理器118,管理來(lái)自主機(jī)100的讀取和寫(xiě)入請(qǐng)求;閃存轉(zhuǎn)換層120,將主機(jī)操作系統(tǒng)112所使用的邏輯地址轉(zhuǎn)換成儲(chǔ)存陣列106中的物理位置;備用塊信息122,指示包括過(guò)度供給的儲(chǔ)存的備用頁(yè)面塊,該過(guò)度供給的儲(chǔ)存不可用于用戶,且用在垃圾收集中以將塊中的頁(yè)面合并在用戶空間中;空閑塊信息124,指示不具有儲(chǔ)存且可用于用戶的頁(yè)面塊;以及儲(chǔ)存設(shè)備102的消耗簡(jiǎn)檔信息??刂破?04可以進(jìn)一步包括:備用空間調(diào)整模塊128,依賴于儲(chǔ)存設(shè)備102中的寫(xiě)入活動(dòng)(即,耗損水平)來(lái)調(diào)整在備用空間列表124中供給的備用空間或塊量。備用空間調(diào)整模塊128包括:寫(xiě)入放大函數(shù)300,其指示應(yīng)當(dāng)針對(duì)不同的所測(cè)量的寫(xiě)入放大而供給的備用空間的量。
備用空間(也被稱作預(yù)留容量)包括向用戶隱藏但對(duì)控制器104來(lái)說(shuō)可用于垃圾收集和其他管理操作的空間。用戶空間(也被稱作用戶容量),包括通過(guò)儲(chǔ)存設(shè)備驅(qū)動(dòng)器116和主機(jī)操作系統(tǒng)112而可用于主機(jī)系統(tǒng)100的用戶的存儲(chǔ)器空間。
在圖1中,備用空間調(diào)整模塊128被示出為包括在儲(chǔ)存設(shè)備102中。在另一實(shí)施例中,備用空間調(diào)整模塊128可以可替換地或附加地包括在儲(chǔ)存設(shè)備驅(qū)動(dòng)器116中,且在主機(jī)系統(tǒng)100中執(zhí)行。
圖2將消耗簡(jiǎn)檔信息200的實(shí)施例圖示為包括:開(kāi)機(jī)持續(xù)時(shí)間202,以小時(shí)、天、分鐘等指示儲(chǔ)存設(shè)備102已處于開(kāi)機(jī)狀態(tài)中的時(shí)間量;主機(jī)寫(xiě)入204,指示由主機(jī)發(fā)送以進(jìn)行寫(xiě)入的數(shù)據(jù)的量(諸如以吉字節(jié)(gb)為單位)或由主機(jī)100進(jìn)行的寫(xiě)入的數(shù)目;儲(chǔ)存寫(xiě)入206,指示向儲(chǔ)存設(shè)備102中的儲(chǔ)存陣列106(諸如nand單元)寫(xiě)入的數(shù)據(jù)的量或?qū)懭氲臄?shù)據(jù)的寫(xiě)入周期的數(shù)目;最大儲(chǔ)存寫(xiě)入208,諸如以字節(jié)為單位,或以可向儲(chǔ)存陣列106在其壽命內(nèi)寫(xiě)入的儲(chǔ)存寫(xiě)入的數(shù)目為單位;以及所估計(jì)的生命期200,指示儲(chǔ)存設(shè)備102的所估計(jì)的持續(xù)時(shí)間,諸如所擔(dān)?;蛩ǜ娴膲勖?。消耗簡(jiǎn)檔信息200可以包括由儲(chǔ)存設(shè)備控制器104搜集的s.m.a.r.t(自監(jiān)視、分析和報(bào)告技術(shù))。
圖3圖示了寫(xiě)入放大函數(shù)300的實(shí)施例,其示出總儲(chǔ)存陣列106的備用空間的百分比作為寫(xiě)入放大值的函數(shù)。寫(xiě)入放大可以被計(jì)算為儲(chǔ)存寫(xiě)入206除以主機(jī)寫(xiě)入204。寫(xiě)入放大函數(shù)300可以由儲(chǔ)存設(shè)備102制造商基于下述測(cè)試來(lái)創(chuàng)建:該測(cè)試針對(duì)不同寫(xiě)入放大而提供備用空間百分比,其通過(guò)提供足以最小化寫(xiě)入放大和耗損均衡且最大化可用用戶空間的備用空間來(lái)優(yōu)化性能。
圖4圖示了由備用空間調(diào)整模塊128執(zhí)行以調(diào)整儲(chǔ)存陣列106中的備用空間的操作的實(shí)施例。如所提及的那樣,備用空間調(diào)整模塊128可以被實(shí)現(xiàn)在主機(jī)系統(tǒng)儲(chǔ)存設(shè)備驅(qū)動(dòng)器116和/或儲(chǔ)存設(shè)備控制器104中。在發(fā)起(在框400處)調(diào)整備用空間的操作時(shí),備用空間調(diào)整模塊128基于儲(chǔ)存寫(xiě)入206和主機(jī)寫(xiě)入204(諸如,將儲(chǔ)存寫(xiě)入206除以主機(jī)寫(xiě)入204)來(lái)確定(在框401處)當(dāng)前寫(xiě)入放大?;谒烙?jì)的生命期210、最大寫(xiě)入208、儲(chǔ)存寫(xiě)入206和開(kāi)機(jī)持續(xù)時(shí)間202(該信息可以是從儲(chǔ)存設(shè)備100搜集的)來(lái)確定(在框402處)對(duì)當(dāng)前寫(xiě)入放大的調(diào)整。備用空間調(diào)整模塊128通過(guò)按所確定的調(diào)整對(duì)當(dāng)前寫(xiě)入放大進(jìn)行調(diào)整來(lái)確定(在框403處)經(jīng)調(diào)整的寫(xiě)入放大。圖5提供了關(guān)于可以如何確定對(duì)寫(xiě)入放大的調(diào)整的進(jìn)一步細(xì)節(jié)。
備用空間調(diào)整模塊128然后基于經(jīng)調(diào)整的寫(xiě)入放大(諸如,通過(guò)確定與針對(duì)經(jīng)調(diào)整的寫(xiě)入放大的寫(xiě)入放大函數(shù)300上的點(diǎn)相對(duì)應(yīng)的備用空間)來(lái)確定(在框404處)對(duì)備用空間的調(diào)整。備用空間調(diào)整模塊128確定(在框405處)實(shí)現(xiàn)備用空間調(diào)整(諸如,增大或減小作為儲(chǔ)存陣列106中的總空間的百分比的備用空間的量)所需的多個(gè)塊。增大備用空間的調(diào)整將導(dǎo)致減小可用于用戶的空閑空間,并且減小備用空間的調(diào)整將導(dǎo)致增大可用于用戶的空閑空間。
在某些實(shí)施例中,寫(xiě)入放大函數(shù)300是工作量的函數(shù),并且,不是所有工作量都具有完全相同的寫(xiě)入放大函數(shù)。為了解決該關(guān)注點(diǎn),在一個(gè)可替換實(shí)施例中,備用空間調(diào)整模塊128可以從寫(xiě)入放大函數(shù)的集合中選擇要使用的適當(dāng)寫(xiě)入應(yīng)用函數(shù),其在儲(chǔ)存設(shè)備102處提供專用于特定工作量或工作量范圍的寫(xiě)入放大函數(shù)。制造商可以將寫(xiě)入放大函數(shù)的該集合包括在儲(chǔ)存設(shè)備102中。
在涉及寫(xiě)入放大曲線的成比例使用的另一可替換實(shí)施例中,可以通過(guò)根據(jù)當(dāng)前工作量調(diào)整寫(xiě)入放大來(lái)使用單個(gè)寫(xiě)入放大函數(shù)300。例如,如果作出確定以按一因子(例如,加倍)調(diào)整寫(xiě)入放大函數(shù)300,則對(duì)與針對(duì)當(dāng)前備用空間量的寫(xiě)入放大曲線上的點(diǎn)相對(duì)應(yīng)的當(dāng)前寫(xiě)入放大作出確定。然后,按所確定的經(jīng)調(diào)整的寫(xiě)入放大的因子調(diào)整該當(dāng)前寫(xiě)入放大,以計(jì)算經(jīng)調(diào)整的寫(xiě)入放大。目標(biāo)備用空間量包括與針對(duì)所計(jì)算的經(jīng)調(diào)整的寫(xiě)入放大而定義的寫(xiě)入放大曲線上的點(diǎn)相對(duì)應(yīng)的備用空間量。備用空間模塊128然后可以將當(dāng)前備用空間量調(diào)整成所確定的目標(biāo)備用空間量。
如果(在框406處)調(diào)整減小備用空間(這在主機(jī)寫(xiě)入速率已經(jīng)相對(duì)較低時(shí)發(fā)生),則備用空間調(diào)整模塊128可以將備用空間信息122和空閑空間信息124配置(在框407處)成將備用空間中的所確定的多個(gè)塊轉(zhuǎn)換成空閑空間塊。備用空間調(diào)整模塊128可以通過(guò)將命令發(fā)布到控制器104來(lái)執(zhí)行配置操作。如果(在框406處)調(diào)整增大備用空間以便減少用于垃圾收集的儲(chǔ)存寫(xiě)入的數(shù)目(這在當(dāng)前主機(jī)寫(xiě)入速率太高時(shí)發(fā)生),則備用空間調(diào)整模塊128可以發(fā)起(在框408處)將備用空間信息122和空閑空間信息124配置成將空閑空間中的所確定的多個(gè)塊轉(zhuǎn)換成備用空間塊。為了將備用空間塊轉(zhuǎn)換成空閑空間塊,可以將備用空間信息122中的塊移動(dòng)到空閑空間信息124。
關(guān)于圖4的操作,如果到目前為止的儲(chǔ)存寫(xiě)入速率(耗損水平)相對(duì)較低,則可以增大寫(xiě)入放大,這可以是通過(guò)減小備用空間以增大可用于用戶的空閑空間的量并且提高儲(chǔ)存寫(xiě)入速率來(lái)完成的。如果到目前為止的儲(chǔ)存寫(xiě)入速率相對(duì)較高(意味著高耗損水平速率),則需要減小寫(xiě)入放大以降低儲(chǔ)存寫(xiě)入速率,這是通過(guò)增大備用空間來(lái)完成的。
圖5圖示了由備用空間調(diào)整模塊128執(zhí)行以確定對(duì)寫(xiě)入放大的調(diào)整的另外操作的實(shí)施例。在發(fā)起(在框500處)確定要對(duì)寫(xiě)入放大作出的調(diào)整的操作(諸如,在圖4中的框403中執(zhí)行)時(shí),備用空間調(diào)整模塊128確定(在框501處)作為下述各項(xiàng)函數(shù)的剩余寫(xiě)入速率:最大儲(chǔ)存寫(xiě)入208減去儲(chǔ)存寫(xiě)入206;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期210減去儲(chǔ)存設(shè)備100的開(kāi)機(jī)持續(xù)時(shí)間202。下面的等式(1)是剩余寫(xiě)入速率的計(jì)算的一個(gè)實(shí)施例:
(1)(最大儲(chǔ)存寫(xiě)入-儲(chǔ)存寫(xiě)入)/(所估計(jì)的生命期-開(kāi)機(jī)持續(xù)時(shí)間)。
備用空間調(diào)整模塊128進(jìn)一步確定(在框502處)作為儲(chǔ)存寫(xiě)入206和開(kāi)機(jī)持續(xù)時(shí)間202的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率。下面的等式(2)是當(dāng)前儲(chǔ)存寫(xiě)入速率的計(jì)算的一個(gè)實(shí)施例:
(2)儲(chǔ)存寫(xiě)入/開(kāi)機(jī)持續(xù)時(shí)間。
然后對(duì)調(diào)整因子作出(在框503處)確定,該調(diào)整因子在被應(yīng)用于當(dāng)前儲(chǔ)存寫(xiě)入速率時(shí)得到剩余儲(chǔ)存寫(xiě)入速率。該調(diào)整因子可以指示調(diào)整的方向。例如,在一個(gè)實(shí)施例中,如果當(dāng)前儲(chǔ)存寫(xiě)入速率低于剩余儲(chǔ)存寫(xiě)入速率,則該調(diào)整因子可以包括剩余儲(chǔ)存寫(xiě)入速率除以當(dāng)前儲(chǔ)存寫(xiě)入速率,并指示正方向以按該調(diào)整因子增大寫(xiě)入放大。如果當(dāng)前儲(chǔ)存寫(xiě)入速率大于剩余儲(chǔ)存寫(xiě)入速率,則該調(diào)整因子可以包括剩余寫(xiě)入速率除以當(dāng)前儲(chǔ)存寫(xiě)入速率,并指示負(fù)方向以按該調(diào)整因子減小寫(xiě)入放大。
備用空間調(diào)整模塊128然后基于所確定的調(diào)整值和調(diào)整的方向(增大或減小)來(lái)增大或減?。ㄔ诳?04處)當(dāng)前寫(xiě)入放大,以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大。
圖6圖示了當(dāng)備用空間調(diào)整模塊128被實(shí)現(xiàn)在儲(chǔ)存設(shè)備驅(qū)動(dòng)器116中時(shí)的操作的一個(gè)實(shí)施例。儲(chǔ)存設(shè)備驅(qū)動(dòng)器116可以響應(yīng)于用戶調(diào)用或根據(jù)周期性安排或事件(諸如,儲(chǔ)存設(shè)備102中的所使用的空間達(dá)到臨界水平)發(fā)起備用空間調(diào)整操作。響應(yīng)于發(fā)起(在框600處)備用空間管理操作,儲(chǔ)存設(shè)備驅(qū)動(dòng)器116向儲(chǔ)存設(shè)備102發(fā)送(在框601處)針對(duì)消耗簡(jiǎn)檔信息200的請(qǐng)求,消耗簡(jiǎn)檔信息200包括儲(chǔ)存寫(xiě)入206、最大寫(xiě)入208、所估計(jì)的生命期210和開(kāi)機(jī)持續(xù)時(shí)間202。在接收到(在框602處)所請(qǐng)求的信息時(shí),儲(chǔ)存設(shè)備驅(qū)動(dòng)器116執(zhí)行框401-405和圖5的操作以確定要對(duì)備用空間作出的調(diào)整。儲(chǔ)存設(shè)備驅(qū)動(dòng)器116利用圖形元件在用戶界面130(諸如,圖形用戶界面(gui))中呈送(在框604處)與所確定的對(duì)備用空間的調(diào)整有關(guān)的信息,以使用戶界面處的操作者能夠指示接受所確定的調(diào)整。
在從用戶界面130接收到(在框605處)圖形元件接受所確定的調(diào)整的選擇的指示時(shí),儲(chǔ)存設(shè)備驅(qū)動(dòng)器116向儲(chǔ)存設(shè)備102發(fā)送(在框606處)具有針對(duì)備用空間的調(diào)整量作為參數(shù)的調(diào)整大小命令。該調(diào)整大小命令使儲(chǔ)存設(shè)備控制器104按所確定的對(duì)備用空間的調(diào)整對(duì)備用空間進(jìn)行調(diào)整,以使控制器104調(diào)整在儲(chǔ)存陣列106中供給的備用空間和空閑空間的量。
在可替換實(shí)施例中,儲(chǔ)存設(shè)備驅(qū)動(dòng)器116可以自動(dòng)地執(zhí)行備用空間調(diào)整操作,而無(wú)需由用戶通過(guò)用戶界面130進(jìn)行提示。
圖7圖示了當(dāng)如圖1中所示的那樣備用空間調(diào)整模塊128被實(shí)現(xiàn)在儲(chǔ)存設(shè)備102的控制器106中時(shí)的操作的實(shí)施例。備用空間調(diào)整模塊128可以響應(yīng)于用戶調(diào)用或根據(jù)周期性安排或事件(諸如,儲(chǔ)存設(shè)備102中的所使用的空間達(dá)到臨界水平)發(fā)起備用空間調(diào)整操作。響應(yīng)于發(fā)起(在框700處)備用空間管理操作,控制器106執(zhí)行圖4和5中的操作以調(diào)整備用空間和空閑空間,并實(shí)現(xiàn)調(diào)整,諸如通過(guò)更新備用塊信息122和空閑塊信息124??刂破?04可以向儲(chǔ)存設(shè)備驅(qū)動(dòng)器116發(fā)送(在框702處)可用用戶空間的新量的消息,使得主機(jī)操作系統(tǒng)112可以將該信息并入到其對(duì)儲(chǔ)存設(shè)備102的管理中。
在另一實(shí)施例中,儲(chǔ)存設(shè)備驅(qū)動(dòng)器116可以針對(duì)可以暴露多少用戶容量而查詢儲(chǔ)存設(shè)備102。作為響應(yīng),儲(chǔ)存設(shè)備102中實(shí)現(xiàn)的備用空間調(diào)整模塊128確定可以增大多少用戶空間以及在可實(shí)踐的情況下可以減小多少備用空間,并將此報(bào)告給儲(chǔ)存設(shè)備驅(qū)動(dòng)器116。儲(chǔ)存設(shè)備驅(qū)動(dòng)器116然后可以響應(yīng)于用戶批準(zhǔn)或自動(dòng)確定而發(fā)送調(diào)整大小命令,以使儲(chǔ)存設(shè)備控制器104將備用空間122中的塊重新配置到空閑空間124。調(diào)整大小命令可以使儲(chǔ)存設(shè)備控制器104執(zhí)行圖4中的框405-408處的操作以重新配置備用空間和空閑空間。
應(yīng)當(dāng)領(lǐng)會(huì),遍及本說(shuō)明書(shū)對(duì)“一個(gè)實(shí)施例”或“實(shí)施例”的引用意味著:結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,要強(qiáng)調(diào)且應(yīng)當(dāng)領(lǐng)會(huì),本說(shuō)明書(shū)的各種部分中對(duì)“實(shí)施例”或“一個(gè)實(shí)施例”或“可替換實(shí)施例”的兩次或更多次引用不必然全部指代相同實(shí)施例。此外,可以如在本發(fā)明的一個(gè)或多個(gè)實(shí)施例中合適的那樣組合特定特征、結(jié)構(gòu)或特性。
類似地,應(yīng)當(dāng)領(lǐng)會(huì),在本發(fā)明的實(shí)施例的以上描述中,出于精簡(jiǎn)本公開(kāi)從而幫助理解各種發(fā)明方面中的一個(gè)或多個(gè)的目的,有時(shí)在單個(gè)實(shí)施例、附圖或其描述中將各種特征成組在一起。然而,該公開(kāi)方法不應(yīng)被解釋為反映下述意圖:所要求保護(hù)的主題要求比在每一個(gè)權(quán)利要求中明確記載的特征更多的特征。更確切地,如所附權(quán)利要求所反映,發(fā)明方面在于單個(gè)以上所公開(kāi)的實(shí)施例的并非所有特征。因此,遵循詳細(xì)描述的權(quán)利要求由此明確并入到該詳細(xì)描述中。
可以使用用于產(chǎn)生軟件、固件、硬件或其任何組合的標(biāo)準(zhǔn)編程和/或工程技術(shù),將備用空間調(diào)整模塊128、儲(chǔ)存設(shè)備驅(qū)動(dòng)器116和其他操作組件112、114、118等的所描述的操作實(shí)現(xiàn)為方法、設(shè)備或計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)。所描述的操作可以被實(shí)現(xiàn)為在“計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)”中維護(hù)的代碼或邏輯,其可以直接執(zhí)行功能,或者其中處理器可以讀取和執(zhí)行來(lái)自計(jì)算機(jī)儲(chǔ)存可讀介質(zhì)的代碼。計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)包括電子電路、儲(chǔ)存材料、無(wú)機(jī)材料、有機(jī)材料、生物材料、殼體、殼、涂層和硬件中的至少一個(gè)。計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)可以包括但不限于磁儲(chǔ)存介質(zhì)(例如,硬盤(pán)驅(qū)動(dòng)器、軟盤(pán)、帶等)、光學(xué)儲(chǔ)存器(cd-rom、dvd、光盤(pán)等)、易失性和非易失性存儲(chǔ)器設(shè)備(例如,eeprom、rom、prom、ram、dram、sram、閃存、固件、可編程邏輯等)、固態(tài)設(shè)備(ssd)等。計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)可以進(jìn)一步包括在硬件設(shè)備(例如,集成電路芯片、可編程邏輯設(shè)備、可編程門(mén)陣列(pga)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、專用集成電路(asic)等)中實(shí)現(xiàn)的數(shù)字邏輯。更進(jìn)一步,實(shí)現(xiàn)所描述的操作的代碼可以被實(shí)現(xiàn)在“傳輸信號(hào)”中,其中傳輸信號(hào)可以通過(guò)空間或通過(guò)傳輸介質(zhì)(諸如光纖、銅線等)進(jìn)行傳播。其中代碼或邏輯被編碼的傳輸信號(hào)可以進(jìn)一步包括無(wú)線信號(hào)、衛(wèi)星傳輸、無(wú)線電波、紅外信號(hào)、藍(lán)牙等。計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)上嵌入的程序代碼可以作為傳輸信號(hào)而從發(fā)射站或計(jì)算機(jī)傳輸?shù)浇邮照净蛴?jì)算機(jī)。計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)不是僅由傳輸信號(hào)組成,而是包括有形組件,諸如硬件元件。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,在不脫離本發(fā)明的范圍的情況下,可以對(duì)該配置作出許多修改,并且制造品可以包括本領(lǐng)域中已知的合適信息承載介質(zhì)。
示例
以下示例涉及另外實(shí)施例。
示例1是一種計(jì)算機(jī)程序產(chǎn)品,包括具有程序指令的計(jì)算機(jī)儲(chǔ)存介質(zhì),所述程序指令在被執(zhí)行時(shí)通過(guò)執(zhí)行操作來(lái)管理儲(chǔ)存設(shè)備中的備用空間,所述操作包括:基于在所述儲(chǔ)存設(shè)備處向介質(zhì)的儲(chǔ)存寫(xiě)入和從主機(jī)到所述儲(chǔ)存設(shè)備的主機(jī)寫(xiě)入來(lái)確定當(dāng)前寫(xiě)入放大;基于所述儲(chǔ)存設(shè)備的所估計(jì)的生命期、針對(duì)所述儲(chǔ)存設(shè)備的最大儲(chǔ)存寫(xiě)入、以及自所述儲(chǔ)存設(shè)備被開(kāi)機(jī)起所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入來(lái)確定對(duì)所述當(dāng)前寫(xiě)入放大的調(diào)整以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大;基于經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)所述備用空間的調(diào)整,其中所述備用空間包括過(guò)度供給的儲(chǔ)存空間,所述過(guò)度供給的儲(chǔ)存空間不包括用戶可訪問(wèn)儲(chǔ)存;以及發(fā)起下述操作:將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例2中,示例1的主題可以可選地包括:確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定作為下述各項(xiàng)的函數(shù)的剩余儲(chǔ)存寫(xiě)入速率:所述最大儲(chǔ)存寫(xiě)入減去所述儲(chǔ)存寫(xiě)入;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期減去所述儲(chǔ)存設(shè)備的開(kāi)機(jī)持續(xù)時(shí)間;以及確定作為所述儲(chǔ)存寫(xiě)入和所述開(kāi)機(jī)持續(xù)時(shí)間的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率,其中對(duì)所述寫(xiě)入放大的調(diào)整是根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率來(lái)確定的。
在示例3中,示例1和2的主題可以可選地包括:根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定調(diào)整因子,所述調(diào)整因子在被應(yīng)用于所述當(dāng)前儲(chǔ)存寫(xiě)入速率時(shí)得到所述剩余儲(chǔ)存寫(xiě)入速率。
在示例4中,示例1-3的主題可以可選地包括:所述調(diào)整因子指示對(duì)所述當(dāng)前儲(chǔ)存寫(xiě)入速率的增大,所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的增大,其導(dǎo)致所述備用空間的減小,并且其中當(dāng)所述調(diào)整因子指示對(duì)所述當(dāng)前寫(xiě)入速率的減小時(shí),所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的減小,其導(dǎo)致所述備用空間的增大。
在示例5中,示例1-4的主題可以可選地包括:所確定的對(duì)所述備用空間的調(diào)整由被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大的、備用空間對(duì)寫(xiě)入放大的寫(xiě)入放大函數(shù)引起。
在示例6中,示例1-5的主題可以可選地包括:所述操作進(jìn)一步包括:基于所述儲(chǔ)存設(shè)備處的當(dāng)前工作量來(lái)確定針對(duì)所述儲(chǔ)存設(shè)備處的不同工作量而提供的多個(gè)寫(xiě)入放大函數(shù)之一,其中所確定的寫(xiě)入放大函數(shù)被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大。
在示例7中,示例2-6的主題可以可選地包括:所述操作進(jìn)一步包括:根據(jù)所述寫(xiě)入放大函數(shù)和所述儲(chǔ)存設(shè)備處的當(dāng)前備用空間使用率,將所述調(diào)整因子應(yīng)用于所述寫(xiě)入放大,以獲得經(jīng)調(diào)整的寫(xiě)入放大;以及根據(jù)所述寫(xiě)入放大函數(shù)和經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)應(yīng)的目標(biāo)備用空間。
在示例8中,示例2-7的主題可以可選地包括:所述計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)被實(shí)現(xiàn)在與所述儲(chǔ)存設(shè)備通信的主機(jī)系統(tǒng)中,其中所述程序指令在所述主機(jī)系統(tǒng)中執(zhí)行,其中所述操作進(jìn)一步包括:向所述儲(chǔ)存設(shè)備發(fā)送針對(duì)與所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入有關(guān)的信息的請(qǐng)求;從所述儲(chǔ)存設(shè)備接收與所述儲(chǔ)存寫(xiě)入有關(guān)的信息,其中所接收的信息用于確定所述當(dāng)前寫(xiě)入放大,并且其中發(fā)起重新配置所述備用空間的操作包括:向所述儲(chǔ)存設(shè)備發(fā)送命令,所述命令按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整以調(diào)整在所述儲(chǔ)存設(shè)備中供給的備用空間的量。
在示例9中,示例2-8的主題可以可選地包括:所述操作進(jìn)一步包括:利用圖形元件在用戶界面中呈送與所確定的對(duì)所述備用空間的調(diào)整有關(guān)的信息,以使所述用戶界面處的操作者能夠指示接受所確定的對(duì)所述備用空間的調(diào)整;以及接收所述圖形元件接受所確定的對(duì)所述備用空間的調(diào)整的選擇的指示,其中響應(yīng)于接收到所述圖形元件接受所確定的調(diào)整的選擇的指示,將所述調(diào)整所述備用空間的命令發(fā)送到所述儲(chǔ)存設(shè)備。
在示例10中,示例2-9的主題可以可選地包括:所述計(jì)算機(jī)可讀儲(chǔ)存介質(zhì)被實(shí)現(xiàn)在所述儲(chǔ)存設(shè)備的控制器中,所述控制器被圍在所述儲(chǔ)存設(shè)備內(nèi),其中所述程序指令在所述控制器中執(zhí)行。
在示例11中,示例2-10的主題可以可選地包括:主機(jī)系統(tǒng)與所述儲(chǔ)存設(shè)備通信,并且其中所述操作進(jìn)一步包括:由所述主機(jī)系統(tǒng)向所述儲(chǔ)存設(shè)備發(fā)送調(diào)整大小命令,所述調(diào)整大小命令具有對(duì)所述備用空間的調(diào)整作為參數(shù);以及由所述儲(chǔ)存設(shè)備處理所述調(diào)整大小命令,以將可用于用戶的空閑空間和備用空間重新配置成按所述調(diào)整大小命令的參數(shù)中的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例12中,示例2-11的主題可以可選地包括:所述儲(chǔ)存設(shè)備包括具有nand存儲(chǔ)器單元的固態(tài)儲(chǔ)存設(shè)備,其中所述備用空間用于執(zhí)行垃圾收集,以將所述nand存儲(chǔ)器單元中的具有未使用頁(yè)面的塊中的活動(dòng)數(shù)據(jù)的頁(yè)面合并成更少的塊。
示例13是一種與主機(jī)系統(tǒng)通信的儲(chǔ)存設(shè)備,包括:儲(chǔ)存陣列,包括儲(chǔ)存介質(zhì);以及控制器,執(zhí)行用于執(zhí)行操作的邏輯,所述操作包括:基于在所述儲(chǔ)存設(shè)備處向介質(zhì)的儲(chǔ)存寫(xiě)入和從主機(jī)到所述儲(chǔ)存設(shè)備的主機(jī)寫(xiě)入來(lái)確定當(dāng)前寫(xiě)入放大;基于所述儲(chǔ)存設(shè)備的所估計(jì)的生命期、針對(duì)所述儲(chǔ)存設(shè)備的最大儲(chǔ)存寫(xiě)入、以及自所述儲(chǔ)存設(shè)備被開(kāi)機(jī)起所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入來(lái)確定對(duì)所述當(dāng)前寫(xiě)入放大的調(diào)整以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大;基于經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)備用空間的調(diào)整,其中所述備用空間包括過(guò)度供給的儲(chǔ)存空間,所述過(guò)度供給的儲(chǔ)存空間不包括用戶可訪問(wèn)儲(chǔ)存;以及將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例14中,示例13的主題可以可選地包括:確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定作為下述各項(xiàng)的函數(shù)的剩余儲(chǔ)存寫(xiě)入速率:所述最大儲(chǔ)存寫(xiě)入減去所述儲(chǔ)存寫(xiě)入;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期減去所述儲(chǔ)存設(shè)備的開(kāi)機(jī)持續(xù)時(shí)間;以及確定作為所述儲(chǔ)存寫(xiě)入和所述開(kāi)機(jī)持續(xù)時(shí)間的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率,其中對(duì)所述寫(xiě)入放大的調(diào)整是根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率來(lái)確定的。
在示例15中,示例13和14的主題可以可選地包括:所確定的對(duì)所述備用空間的調(diào)整由被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大的、備用空間對(duì)寫(xiě)入放大的寫(xiě)入放大函數(shù)引起。
在示例16中,示例13-15的主題可以可選地包括:所述操作進(jìn)一步包括:將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
示例17是一種與儲(chǔ)存設(shè)備通信的系統(tǒng),包括:處理器;以及計(jì)算機(jī)可讀儲(chǔ)存介質(zhì),具有由所述處理器執(zhí)行以執(zhí)行操作的計(jì)算機(jī)程序代碼,所述操作包括:基于在所述儲(chǔ)存設(shè)備處向介質(zhì)的儲(chǔ)存寫(xiě)入和從主機(jī)到所述儲(chǔ)存設(shè)備的主機(jī)寫(xiě)入來(lái)確定當(dāng)前寫(xiě)入放大;基于所述儲(chǔ)存設(shè)備的所估計(jì)的生命期、針對(duì)所述儲(chǔ)存設(shè)備的最大儲(chǔ)存寫(xiě)入、以及自所述儲(chǔ)存設(shè)備被開(kāi)機(jī)起所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入來(lái)確定對(duì)所述當(dāng)前寫(xiě)入放大的調(diào)整以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大;基于經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)備用空間的調(diào)整,其中所述備用空間包括過(guò)度供給的儲(chǔ)存空間,所述過(guò)度供給的儲(chǔ)存空間不包括用戶可訪問(wèn)儲(chǔ)存;以及向所述儲(chǔ)存設(shè)備發(fā)送命令,所述命令將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例18中,示例17的主題可以可選地包括:所述操作進(jìn)一步包括:向所述儲(chǔ)存設(shè)備發(fā)送針對(duì)與所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入有關(guān)的信息的請(qǐng)求;以及從所述儲(chǔ)存設(shè)備接收與所述儲(chǔ)存寫(xiě)入有關(guān)的信息,其中所接收的信息用于確定所述當(dāng)前寫(xiě)入放大。
在示例19中,示例17和18的主題可以可選地包括:所述操作進(jìn)一步包括:利用圖形元件在用戶界面中呈送與所確定的對(duì)所述備用空間的調(diào)整有關(guān)的信息,以使所述用戶界面處的操作者能夠指示接受所確定的對(duì)所述備用空間的調(diào)整;以及接收所述圖形元件接受所確定的對(duì)所述備用空間的調(diào)整的選擇的指示,其中響應(yīng)于接收到所述圖形元件接受所確定的調(diào)整的選擇的指示,將所述調(diào)整所述備用空間的命令發(fā)送到所述儲(chǔ)存設(shè)備。
在示例20中,示例17-19的主題可以可選地包括:發(fā)送命令包括:向所述儲(chǔ)存設(shè)備發(fā)送調(diào)整大小命令,所述調(diào)整大小命令具有對(duì)所述備用空間的調(diào)整作為參數(shù),其中所述調(diào)整大小命令使所述儲(chǔ)存設(shè)備:將可用于用戶的空閑空間和備用空間重新配置成按所述調(diào)整大小命令的參數(shù)中的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
示例21是一種設(shè)備,包括:用于基于在儲(chǔ)存設(shè)備處向介質(zhì)的儲(chǔ)存寫(xiě)入和從主機(jī)到所述儲(chǔ)存設(shè)備的主機(jī)寫(xiě)入來(lái)確定當(dāng)前寫(xiě)入放大的裝置;用于基于所述儲(chǔ)存設(shè)備的所估計(jì)的生命期、針對(duì)所述儲(chǔ)存設(shè)備的最大儲(chǔ)存寫(xiě)入、以及自所述儲(chǔ)存設(shè)備被開(kāi)機(jī)起所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入來(lái)確定對(duì)所述當(dāng)前寫(xiě)入放大的調(diào)整以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大的裝置;用于基于經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)所述備用空間的調(diào)整的裝置,其中所述備用空間包括過(guò)度供給的儲(chǔ)存空間,所述過(guò)度供給的儲(chǔ)存空間不包括用戶可訪問(wèn)儲(chǔ)存;以及用于發(fā)起下述操作的裝置:將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例22中,示例21的主題可以可選地包括:用于確定對(duì)所述寫(xiě)入放大的調(diào)整的裝置包括:用于確定作為下述各項(xiàng)的函數(shù)的剩余儲(chǔ)存寫(xiě)入速率的裝置:所述最大儲(chǔ)存寫(xiě)入減去所述儲(chǔ)存寫(xiě)入;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期減去所述儲(chǔ)存設(shè)備的開(kāi)機(jī)持續(xù)時(shí)間;以及用于確定作為所述儲(chǔ)存寫(xiě)入和所述開(kāi)機(jī)持續(xù)時(shí)間的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率的裝置,其中對(duì)所述寫(xiě)入放大的調(diào)整是根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率來(lái)確定的。
在示例23中,示例21和22的主題可以可選地包括:用于根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率確定對(duì)所述寫(xiě)入放大的調(diào)整的裝置包括:用于確定調(diào)整因子的裝置,所述調(diào)整因子在被應(yīng)用于所述當(dāng)前儲(chǔ)存寫(xiě)入速率時(shí)得到所述剩余儲(chǔ)存寫(xiě)入速率。
示例24是一種方法,包括:基于在儲(chǔ)存設(shè)備處向介質(zhì)的儲(chǔ)存寫(xiě)入和從主機(jī)到所述儲(chǔ)存設(shè)備的主機(jī)寫(xiě)入來(lái)確定當(dāng)前寫(xiě)入放大;基于所述儲(chǔ)存設(shè)備的所估計(jì)的生命期、針對(duì)所述儲(chǔ)存設(shè)備的最大儲(chǔ)存寫(xiě)入、以及自所述儲(chǔ)存設(shè)備被開(kāi)機(jī)起所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入來(lái)確定對(duì)所述當(dāng)前寫(xiě)入放大的調(diào)整以產(chǎn)生經(jīng)調(diào)整的寫(xiě)入放大;基于經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)所述備用空間的調(diào)整,其中所述備用空間包括過(guò)度供給的儲(chǔ)存空間,所述過(guò)度供給的儲(chǔ)存空間不包括用戶可訪問(wèn)儲(chǔ)存;以及發(fā)起下述操作:將可用于用戶的空閑空間和備用空間重新配置成按所確定的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例25中,示例24的主題可以可選地包括:確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定作為下述各項(xiàng)的函數(shù)的剩余儲(chǔ)存寫(xiě)入速率:所述最大儲(chǔ)存寫(xiě)入減去所述儲(chǔ)存寫(xiě)入;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期減去所述儲(chǔ)存設(shè)備的開(kāi)機(jī)持續(xù)時(shí)間;以及確定作為所述儲(chǔ)存寫(xiě)入和所述開(kāi)機(jī)持續(xù)時(shí)間的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率,其中對(duì)所述寫(xiě)入放大的調(diào)整是根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率來(lái)確定的。
在示例26中,示例24和25的主題可以可選地包括:根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定調(diào)整因子,所述調(diào)整因子在被應(yīng)用于所述當(dāng)前儲(chǔ)存寫(xiě)入速率時(shí)得到所述剩余儲(chǔ)存寫(xiě)入速率。
在示例27中,示例24-26的主題可以可選地包括:所述調(diào)整因子指示對(duì)所述當(dāng)前儲(chǔ)存寫(xiě)入速率的增大,所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的增大,其導(dǎo)致所述備用空間的減小,并且其中當(dāng)所述調(diào)整因子指示對(duì)所述當(dāng)前寫(xiě)入速率的減小時(shí),所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的減小,其導(dǎo)致所述備用空間的增大。
在示例28中,示例24-27的主題可以可選地包括:所確定的對(duì)所述備用空間的調(diào)整由被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大的、備用空間對(duì)寫(xiě)入放大的寫(xiě)入放大函數(shù)引起。
在示例29中,示例24-28的主題可以可選地包括:基于所述儲(chǔ)存設(shè)備處的當(dāng)前工作量來(lái)確定針對(duì)所述儲(chǔ)存設(shè)備處的不同工作量而提供的多個(gè)寫(xiě)入放大函數(shù)之一,其中所確定的寫(xiě)入放大函數(shù)被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大。
在示例30中,示例24-29的主題可以可選地包括:根據(jù)所述寫(xiě)入放大函數(shù)和所述儲(chǔ)存設(shè)備處的當(dāng)前備用空間使用率,將所述調(diào)整因子應(yīng)用于所述寫(xiě)入放大,以獲得經(jīng)調(diào)整的寫(xiě)入放大;以及根據(jù)所述寫(xiě)入放大函數(shù)和經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)應(yīng)的目標(biāo)備用空間。
在示例31中,示例24-30的主題可以可選地包括:所述方法在與所述儲(chǔ)存設(shè)備通信的主機(jī)系統(tǒng)中執(zhí)行,其中所述主機(jī)系統(tǒng)進(jìn)一步執(zhí)行:向所述儲(chǔ)存設(shè)備發(fā)送針對(duì)與所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入有關(guān)的信息的請(qǐng)求;從所述儲(chǔ)存設(shè)備接收與所述儲(chǔ)存寫(xiě)入有關(guān)的信息,其中所接收的信息用于確定所述當(dāng)前寫(xiě)入放大,并且其中發(fā)起重新配置所述備用空間的操作包括:向所述儲(chǔ)存設(shè)備發(fā)送命令,所述命令按所確定的對(duì)所述備用空間的調(diào)整對(duì)備用空間進(jìn)行調(diào)整以調(diào)整在所述儲(chǔ)存設(shè)備中供給的備用空間的量。
在示例32中,示例24-31的主題可以可選地包括:利用圖形元件在用戶界面中呈送與所確定的對(duì)所述備用空間的調(diào)整有關(guān)的信息,以使所述用戶界面處的操作者能夠指示接受所確定的對(duì)所述備用空間的調(diào)整;以及接收所述圖形元件接受所確定的對(duì)所述備用空間的調(diào)整的選擇的指示,其中響應(yīng)于接收到所述圖形元件接受所確定的調(diào)整的選擇的指示,將所述調(diào)整所述備用空間的命令發(fā)送到所述儲(chǔ)存設(shè)備。
在示例33中,示例24-32的主題可以可選地包括:所述方法被實(shí)現(xiàn)在所述儲(chǔ)存設(shè)備的控制器中,所述控制器被圍在所述儲(chǔ)存設(shè)備內(nèi)。
在示例34中,示例24-33的主題可以可選地包括:主機(jī)系統(tǒng)與所述儲(chǔ)存設(shè)備通信,進(jìn)一步包括:由所述主機(jī)系統(tǒng)向所述儲(chǔ)存設(shè)備發(fā)送調(diào)整大小命令,所述調(diào)整大小命令具有對(duì)所述備用空間的調(diào)整作為參數(shù);以及由所述儲(chǔ)存設(shè)備處理所述調(diào)整大小命令,以將可用于用戶的空閑空間和備用空間重新配置成按所述調(diào)整大小命令的參數(shù)中的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整。
在示例35中,示例24-34的主題可以可選地包括:所述儲(chǔ)存設(shè)備包括具有nand存儲(chǔ)器單元的固態(tài)儲(chǔ)存設(shè)備,其中所述備用空間用于執(zhí)行垃圾收集,以將所述nand存儲(chǔ)器單元中的具有未使用頁(yè)面的塊中的活動(dòng)數(shù)據(jù)的頁(yè)面合并成更少的塊。
示例36是一種包括代碼的機(jī)器可讀介質(zhì),所述代碼在被執(zhí)行時(shí)使機(jī)器執(zhí)行權(quán)利要求24-35中任一項(xiàng)的方法。
在示例37中,示例24的主題可以可選地包括下述至少一個(gè)步驟:
(1)其中確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定作為下述各項(xiàng)的函數(shù)的剩余儲(chǔ)存寫(xiě)入速率:所述最大儲(chǔ)存寫(xiě)入減去所述儲(chǔ)存寫(xiě)入;以及剩余持續(xù)時(shí)間,包括所估計(jì)的生命期減去所述儲(chǔ)存設(shè)備的開(kāi)機(jī)持續(xù)時(shí)間;以及確定作為所述儲(chǔ)存寫(xiě)入和所述開(kāi)機(jī)持續(xù)時(shí)間的函數(shù)的當(dāng)前儲(chǔ)存寫(xiě)入速率,其中對(duì)所述寫(xiě)入放大的調(diào)整是根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率來(lái)確定的;和/或
(2)其中根據(jù)所述剩余儲(chǔ)存寫(xiě)入速率和所述當(dāng)前儲(chǔ)存寫(xiě)入速率確定對(duì)所述寫(xiě)入放大的調(diào)整包括:確定調(diào)整因子,所述調(diào)整因子在被應(yīng)用于所述當(dāng)前儲(chǔ)存寫(xiě)入速率時(shí)得到所述剩余儲(chǔ)存寫(xiě)入速率;和/或
(3)其中當(dāng)所述調(diào)整因子指示對(duì)所述當(dāng)前儲(chǔ)存寫(xiě)入速率的增大時(shí),所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的增大,其導(dǎo)致所述備用空間的減小,并且其中當(dāng)所述調(diào)整因子指示對(duì)所述當(dāng)前寫(xiě)入速率的減小時(shí),所確定的調(diào)整指示對(duì)所述當(dāng)前寫(xiě)入放大的減小,其導(dǎo)致所述備用空間的增大;和/或
(4)其中所確定的對(duì)所述備用空間的調(diào)整由被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大的、備用空間對(duì)寫(xiě)入放大的寫(xiě)入放大函數(shù)引起;和/或
(5)基于所述儲(chǔ)存設(shè)備處的當(dāng)前工作量來(lái)確定針對(duì)所述儲(chǔ)存設(shè)備處的不同工作量而提供的多個(gè)寫(xiě)入放大函數(shù)之一,其中所確定的寫(xiě)入放大函數(shù)被應(yīng)用于經(jīng)調(diào)整的寫(xiě)入放大;和/或
(6)根據(jù)所述寫(xiě)入放大函數(shù)和所述儲(chǔ)存設(shè)備處的當(dāng)前備用空間使用率,將所述調(diào)整因子應(yīng)用于所述寫(xiě)入放大,以獲得經(jīng)調(diào)整的寫(xiě)入放大;以及根據(jù)所述寫(xiě)入放大函數(shù)和經(jīng)調(diào)整的寫(xiě)入放大來(lái)確定對(duì)應(yīng)的目標(biāo)備用空間;和/或
(7)其中所述方法在與所述儲(chǔ)存設(shè)備通信的主機(jī)系統(tǒng)中執(zhí)行,其中在所述主機(jī)系統(tǒng)中所述方法進(jìn)一步執(zhí)行:向所述儲(chǔ)存設(shè)備發(fā)送針對(duì)與所述儲(chǔ)存設(shè)備處的儲(chǔ)存寫(xiě)入有關(guān)的信息的請(qǐng)求;從所述儲(chǔ)存設(shè)備接收與所述儲(chǔ)存寫(xiě)入有關(guān)的信息,其中所接收的信息用于確定所述當(dāng)前寫(xiě)入放大,并且其中發(fā)起重新配置所述備用空間的操作包括:向所述儲(chǔ)存設(shè)備發(fā)送命令,所述命令按所確定的對(duì)所述備用空間的調(diào)整對(duì)備用空間進(jìn)行調(diào)整以調(diào)整在所述儲(chǔ)存設(shè)備中供給的備用空間的量;和/或
(8)利用圖形元件在用戶界面中呈送與所確定的對(duì)所述備用空間的調(diào)整有關(guān)的信息,以使所述用戶界面處的操作者能夠指示接受所確定的對(duì)所述備用空間的調(diào)整;以及接收所述圖形元件接受所確定的對(duì)所述備用空間的調(diào)整的選擇的指示,其中響應(yīng)于接收到所述圖形元件接受所確定的調(diào)整的選擇的指示,將所述調(diào)整所述備用空間的命令發(fā)送到所述儲(chǔ)存設(shè)備;和/或
(9)其中所述方法被實(shí)現(xiàn)在所述儲(chǔ)存設(shè)備的控制器中,所述控制器被圍在所述儲(chǔ)存設(shè)備內(nèi);和/或
(10)其中主機(jī)系統(tǒng)與所述儲(chǔ)存設(shè)備通信,并且進(jìn)一步包括:由所述主機(jī)系統(tǒng)向所述儲(chǔ)存設(shè)備發(fā)送調(diào)整大小命令,所述調(diào)整大小命令具有對(duì)所述備用空間的調(diào)整作為參數(shù);以及由所述儲(chǔ)存設(shè)備處理所述調(diào)整大小命令,以將可用于用戶的空閑空間和備用空間重新配置成按所述調(diào)整大小命令的參數(shù)中的對(duì)所述備用空間的調(diào)整對(duì)所述備用空間進(jìn)行調(diào)整;和/或
(11)權(quán)利要求1的方法,其中所述儲(chǔ)存設(shè)備包括具有nand存儲(chǔ)器單元的固態(tài)儲(chǔ)存設(shè)備,其中所述備用空間用于執(zhí)行垃圾收集,以將所述nand存儲(chǔ)器單元中的具有未使用頁(yè)面的塊中的活動(dòng)數(shù)據(jù)的頁(yè)面合并成更少的塊。
示例38是一種設(shè)備,包括用于執(zhí)行如任何前述權(quán)利要求24-37所述的方法的裝置。
示例39是一種包括機(jī)器可讀指令的機(jī)器可讀儲(chǔ)存器,所述機(jī)器可讀指令在被執(zhí)行時(shí)實(shí)現(xiàn)如任何前述權(quán)利要求24-37所述的方法或?qū)崿F(xiàn)如任何前述權(quán)利要求24-37所述的設(shè)備或系統(tǒng)。