數(shù)據(jù)存儲(chǔ)裝置(DSD)常常用于將數(shù)據(jù)記錄到存儲(chǔ)介質(zhì)上或從存儲(chǔ)介質(zhì)復(fù)制數(shù)據(jù)。一些DSD包括多種類型的存儲(chǔ)介質(zhì)。例如,在固態(tài)混合硬盤(SSHD)的情況中,除旋轉(zhuǎn)磁盤外,可以使用非易失性半導(dǎo)體存儲(chǔ)器(NVSM)來存儲(chǔ)數(shù)據(jù),例如固態(tài)硬盤(SSD)、閃存、和/或NAND存儲(chǔ)器。
主機(jī)可以相對頻繁地訪問SSHD中的NVSM。寫入放大率(WA)是與NVSM有關(guān)的不良特點(diǎn),寫入到NVSM的物理數(shù)據(jù)的實(shí)際量大于主機(jī)將要寫入的邏輯量。WA可以歸因于各種因素,包括在NVSM中重新寫數(shù)據(jù)和/或不止一次地移動(dòng)(或重新寫)數(shù)據(jù)之前擦除數(shù)據(jù)。由于NVSM的實(shí)際可使用壽命被限制到有限數(shù)量的程序擦除周期(PEC),所以通過在NVSM壽命期間增加所需的寫入次數(shù),WA縮短了NVSM的實(shí)際壽命。如果主機(jī)和/或控制器頻繁地訪問NVSM和/或WA太高,NVSM可能過早地遭受明顯的或突然的性能下降。
附圖說明
當(dāng)結(jié)合附圖時(shí),本公開的實(shí)施例的特點(diǎn)和優(yōu)點(diǎn)從以下闡述的詳細(xì)描述中將變得更明顯。提供附圖和相關(guān)描述是為了說明本公開的實(shí)施例并且不用于限制要求保護(hù)的范圍。
圖1的方框圖描述了根據(jù)一個(gè)實(shí)施例的一種具有數(shù)據(jù)存儲(chǔ)裝置(DSD)的系統(tǒng)。
圖2的方框圖描述了根據(jù)一個(gè)實(shí)施例的圖1的DSD。
圖3的方框圖描述了根據(jù)一個(gè)實(shí)施例的被主機(jī)請求寫入的數(shù)據(jù)與物理寫入到非易失性半導(dǎo)體存儲(chǔ)器(NVSM)的數(shù)據(jù)之間的關(guān)系。
圖4的流程圖描述了根據(jù)一個(gè)實(shí)施例的用于從NVSM向磁盤組重新定向數(shù)據(jù)的NVSM壽命延長過程。
圖5的流程圖描述了根據(jù)一個(gè)實(shí)施例的用于從NVSM向磁盤組重新定向數(shù)據(jù)的具有多個(gè)階段的NVSM壽命延長過程。
圖6的流程圖描述了根據(jù)一個(gè)實(shí)施例的基于多個(gè)因子的從NVSM向磁盤組重新定向數(shù)據(jù)的NVSM壽命延長過程。
圖7的流程圖描述了根據(jù)一個(gè)實(shí)施例的基于數(shù)據(jù)優(yōu)先級的從NVSM向磁盤組重新定向數(shù)據(jù)的NVSM壽命延長過程。
圖8的圖比較了根據(jù)一個(gè)實(shí)施例使用NVSM壽命延長過程的DSD的歸一化性能和現(xiàn)有技術(shù)中已知的DSD的歸一化性能。
具體實(shí)施方式
在以下詳細(xì)說明中,闡述許多具體細(xì)節(jié)以提供本公開的全面理解。然而,對本領(lǐng)域普通技術(shù)人員之一將明顯的是,所公開的不同實(shí)施例可以在不具有這些具體細(xì)節(jié)中的一些的情況下實(shí)踐。在其他實(shí)例中,并未詳細(xì)示出眾所周知的結(jié)構(gòu)和技術(shù),以避免不必要地混淆各種實(shí)施例。
圖1根據(jù)一個(gè)實(shí)施例示出了系統(tǒng)100,該系統(tǒng)包括主機(jī)101、輸入裝置102、顯示裝置104和數(shù)據(jù)存儲(chǔ)裝置(DSD)106。例如,系統(tǒng)100可以是計(jì)算機(jī)系統(tǒng)(例如,服務(wù)器、臺(tái)式機(jī)、移動(dòng)式/筆記本電腦、平板電腦、智能手機(jī)等)或其他電子裝置,例如數(shù)字視頻錄像機(jī)(DVR)。就這一點(diǎn)而言,系統(tǒng)100可以是一個(gè)獨(dú)立系統(tǒng)或網(wǎng)絡(luò)(例如網(wǎng)絡(luò)50)的一部分,例如該網(wǎng)絡(luò)可以是局域網(wǎng)或廣域網(wǎng)或因特網(wǎng)。
本領(lǐng)域的普通技術(shù)人員將認(rèn)識(shí)到的是,系統(tǒng)100能夠包括比圖1所示的那些元件更多或更少的元件,并且所公開的過程能夠在其他環(huán)境中實(shí)施。
輸入裝置102能夠是鍵盤、滾輪、或定點(diǎn)裝置,它允許系統(tǒng)100的用戶向系統(tǒng)100輸入信息和命令,或允許用戶操縱顯示裝置104上顯示的對象。在其他實(shí)施例中,輸入裝置102和顯示裝置104可以結(jié)合到單一組件中,例如顯示對象并接收用戶輸入的觸摸屏。
在圖1的實(shí)施例中,主機(jī)101包括中央處理單元(CPU)108,中央處理單元(CPU)108能夠使用用于執(zhí)行指令的一個(gè)或更多個(gè)處理器來實(shí)施,這些處理器包括微控制器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、硬連線邏輯、模擬電路系統(tǒng)和/或其組合。CPU 108與主機(jī)總線112接合。還與主機(jī)總線112接合的是隨機(jī)訪問存儲(chǔ)器(RAM)110、輸入裝置102的輸入接口114、顯示裝置104的顯示器接口116、只讀存儲(chǔ)器(ROM)118、網(wǎng)絡(luò)接口111、以及DSD 106的數(shù)據(jù)存儲(chǔ)接口119。
RAM 110是主機(jī)101的易失性存儲(chǔ)器,它與主機(jī)總線112接合以便在執(zhí)行軟件程序(例如操作系統(tǒng)(OS)10、DSD驅(qū)動(dòng)器12、或應(yīng)用程序16)中的指令期間向CPU 108提供RAM 110中存儲(chǔ)的信息。更具體地,CPU 108首先將計(jì)算機(jī)可執(zhí)行指令從DSD 106或另一個(gè)DSD加載到RAM 110的區(qū)域中。然后CPU 108能夠執(zhí)行來自RAM 110的已存儲(chǔ)的過程指令。數(shù)據(jù)(諸如將要存儲(chǔ)在DSD 106中的數(shù)據(jù)或從DSD 106檢索的數(shù)據(jù))還能夠存儲(chǔ)在RAM 110中,這樣該數(shù)據(jù)能夠在執(zhí)行軟件程序期間由CPU 108訪問,只要這些軟件程序需要訪問和/或修改數(shù)據(jù)。
如圖1所示,DSD 106能夠被配置為存儲(chǔ)以下內(nèi)容的一個(gè)或更多個(gè):OS 10、DSD驅(qū)動(dòng)器12、DSD固件14、以及應(yīng)用程序16。DSD驅(qū)動(dòng)器12在主機(jī)101上為DSD 106提供軟件接口。DSD固件14包括用于DSD 106的計(jì)算機(jī)可執(zhí)行指令,在由DSD 106的控制器(例如圖2中的控制器120)執(zhí)行時(shí),該指令控制DSD 106的操作。
例如,應(yīng)用程序16能夠是由主機(jī)101使用的程序,該程序作為工具用于接合DSD 106或DSD 106的一部分。在一個(gè)實(shí)施方式中,應(yīng)用程序16是用于DSD 106的輔助存儲(chǔ)裝置的應(yīng)用程序,該輔助存儲(chǔ)裝置包括固態(tài)存儲(chǔ)器(即圖2中的非易失性半導(dǎo)體存儲(chǔ)器(NVSM)142)和用于固態(tài)存儲(chǔ)器的控制器(即圖2中的控制器120)。在這種實(shí)施方式中,應(yīng)用程序16的使用能夠?yàn)橹鳈C(jī)101提供與DSD 106的固態(tài)存儲(chǔ)器有關(guān)的診斷和使用信息。
數(shù)據(jù)存儲(chǔ)接口119被配置為將主機(jī)101與DSD 106接合并且根據(jù)串行高級技術(shù)附件(SATA)標(biāo)準(zhǔn)來接合。在其他實(shí)施例中,數(shù)據(jù)存儲(chǔ)接口119能夠利用其他標(biāo)準(zhǔn)與DSD 106相接合,例如串行總線(PCI express)(PCIe)或串行附接SCSI(SAS)。
盡管圖1描述主機(jī)101和DSD 106位于同一處,但在其他實(shí)施例中這兩者不需要物理上位于同一處。在這種實(shí)施例中,DSD 106可以遠(yuǎn)離主機(jī)101并通過網(wǎng)絡(luò)接口(例如網(wǎng)絡(luò)接口111)連接至主機(jī)101。
圖2根據(jù)一個(gè)實(shí)施例示出了電子系統(tǒng)100,該系統(tǒng)包括主機(jī)101和與主機(jī)101進(jìn)行通信的數(shù)據(jù)存儲(chǔ)裝置(DSD)106。
在圖2的實(shí)施例中,DSD 106是固態(tài)混合硬盤(SSHD),其包括磁性記錄介質(zhì)(例如,磁盤組134中的磁盤)和固態(tài)記錄介質(zhì)(例如,用于存儲(chǔ)數(shù)據(jù)的NVSM 142)。在其他實(shí)施例中,除了一個(gè)或更多個(gè)磁盤組134之外,DSD 106能夠包括至少一個(gè)SSHD。在其他實(shí)施例中,磁盤組134的每一個(gè)或NVSM 142可以分別由多個(gè)硬盤驅(qū)動(dòng)器(HDD)或多個(gè)固態(tài)硬盤(SSD)替代,因此DSD 106包括HDD和/或SSD池。
盡管本文的描述通常指的是固態(tài)存儲(chǔ)器,但應(yīng)當(dāng)理解的是固態(tài)存儲(chǔ)器可包括各種類型存儲(chǔ)裝置中的一個(gè)或更多個(gè),例如閃速集成電路、硫系化合物RAM(C-RAM)、相變存儲(chǔ)器(PC-RAM或PRAM)、可編程金屬化單元RAM(PMC-RAM或PMCm)、相變化記憶體(OUM)、電阻RAM(RRAM)、NAND存儲(chǔ)器(例如,單層單元(SLC)存儲(chǔ)器、多層單元(MLC)存儲(chǔ)器、或其任意組合)、NOR存儲(chǔ)器、EEPROM、鐵電存儲(chǔ)器(FeRAM)、磁阻RAM(MRAM)、其他分立NVM(非易失存儲(chǔ)器)芯片、或其任意組合。
DSD 106包括控制器120,該控制器120包括用于執(zhí)行指令的電路系統(tǒng)(例如一個(gè)或更多個(gè)處理器),并且能夠包括微控制器、DSP、ASIC、FPGA、硬連線邏輯、模擬電路系統(tǒng)和/或其組合。在一個(gè)實(shí)施方式中,控制器120能夠包括片上系統(tǒng)(SoC)。在一個(gè)實(shí)施例中,可以使用NVSM控制器,該NVSM控制器與控制器120協(xié)同操作。
主機(jī)接口126被配置為接合DSD 106和主機(jī)101并且可以根據(jù)例如串行總線(PCIe)、串行高級技術(shù)附件(SATA)、或串行附接SCSI(SAS)的標(biāo)準(zhǔn)來連接。如本領(lǐng)域的普通技術(shù)人員將會(huì)理解的是,主機(jī)接口126能夠作為控制器120的一部分被包含。盡管圖2描述主機(jī)101和DSD 106位于同一處,但在其他實(shí)施例中這兩者不需要物理上位于同一處。在這種實(shí)施例中,DSD 106可以遠(yuǎn)離主機(jī)101并通過網(wǎng)絡(luò)接口連接至主機(jī)101。
在圖2的示例中,DSD 106包括布置在磁盤組134中的旋轉(zhuǎn)磁盤,該磁盤組由主軸電機(jī)(SM)138來轉(zhuǎn)動(dòng)。DSD 106還包括連接至致動(dòng)器130的末端的頭堆組件(HSA)136,致動(dòng)器130由音圈電機(jī)(VCM)132來轉(zhuǎn)動(dòng)以便相對于磁盤組134定位(position)HSA 136。控制器120能夠包括伺服控制電路系統(tǒng)(未示出)以分別利用VCM控制信號30和SM控制信號34來控制HSA 136的位置和磁盤組134的旋轉(zhuǎn)。DSD 106可以包括存儲(chǔ)在磁盤組134和/或NVSM 142上的固件。固件能夠包括計(jì)算機(jī)可讀指令,這些計(jì)算機(jī)可讀指令由DSD 106使用以控制DSD 106的操作。
磁盤組134包括多個(gè)磁盤,它們徑向?qū)R以便圍繞SM 138旋轉(zhuǎn)。磁盤組134中的每個(gè)磁盤包括用于存儲(chǔ)數(shù)據(jù)的若干徑向間隔的、同軸磁道。HSA 136包括多個(gè)磁頭,每個(gè)磁頭被排列以從磁盤組134中的相應(yīng)磁盤表面讀取數(shù)據(jù)并向其寫入數(shù)據(jù)。
數(shù)據(jù)還可以存儲(chǔ)在包括非易失性緩存18的NVSM 142中。在一個(gè)實(shí)施例中,非易失性緩存18用于存儲(chǔ)緩存的數(shù)據(jù),緩存數(shù)據(jù)可以是與磁盤組134上的邏輯塊地址(LBA)的所選范圍的數(shù)據(jù)相同的數(shù)據(jù)或是其最新的備份。緩存數(shù)據(jù)能夠包括僅存儲(chǔ)在NVSM 142中的數(shù)據(jù)和/或是針對具體邏輯地址(諸如LBA)的最新寫入的數(shù)據(jù)版本。這些緩存數(shù)據(jù)可以稱為“臟數(shù)據(jù)”,通過將臟數(shù)據(jù)寫入針對邏輯地址的磁盤組134,臟數(shù)據(jù)與磁盤組134周期性地同步。在一個(gè)示例中,臟數(shù)據(jù)可以由延遲的寫操作產(chǎn)生,其中將要寫入磁盤組134的數(shù)據(jù)首先存儲(chǔ)在NVSM 142中。
DSD 106還可以包括易失性存儲(chǔ)器140。易失性存儲(chǔ)器140能夠包括例如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),該存儲(chǔ)器能夠由DSD 106使用以暫時(shí)存儲(chǔ)數(shù)據(jù)。易失性存儲(chǔ)器140中存儲(chǔ)的數(shù)據(jù)能夠包括從非易失性存儲(chǔ)器(NVM)(其可以包括磁盤組134和NVSM 142)讀取的數(shù)據(jù)、將要寫入到NVM的數(shù)據(jù)、從固件加載用于由控制器120執(zhí)行的指令、和/或執(zhí)行固件時(shí)使用的數(shù)據(jù)。
在操作中,主機(jī)接口126通過主機(jī)接口126從主機(jī)101接收主機(jī)讀命令和寫命令以便從NVM(諸如NVSM 142和磁盤組134)讀取數(shù)據(jù)并向其寫入數(shù)據(jù)。響應(yīng)于來自主機(jī)101的寫命令,控制器120可以在易失性存儲(chǔ)器140中針對該寫命令緩沖將要寫入的數(shù)據(jù)。
對于將要寫入磁盤組134的數(shù)據(jù),控制器120的讀/寫信道(未示出)隨后可以將緩沖數(shù)據(jù)編碼為寫信號32,寫信號32被提供給HSA 136的磁頭用于磁性地將數(shù)據(jù)寫到磁盤組134的磁盤表面。
響應(yīng)于對存儲(chǔ)在磁盤組134的磁盤表面上的數(shù)據(jù)的讀命令,控制器120控制HSA 136的磁頭以磁性地讀取存儲(chǔ)在磁盤組134的表面上的數(shù)據(jù)并作為讀信號32發(fā)送讀取的數(shù)據(jù)。然后控制器120的讀/寫信道124能夠解碼數(shù)據(jù)并將其緩沖至易失性存儲(chǔ)器140中用于通過主機(jī)接口126傳輸至主機(jī)101。
對于在NVSM 142中存儲(chǔ)的數(shù)據(jù),控制器120從主機(jī)接口126接收數(shù)據(jù)并可以在易失性存儲(chǔ)器140中緩沖數(shù)據(jù)。在一個(gè)實(shí)施方式中,隨后將該數(shù)據(jù)編碼為電荷值,用于對NVSM 142的單元(cell)(未示出)進(jìn)行充電以存儲(chǔ)數(shù)據(jù)。
響應(yīng)于對存儲(chǔ)在NVSM 142中的數(shù)據(jù)的讀命令,在一個(gè)實(shí)施方式中,控制器120讀取NVSM 142中的單元的當(dāng)前值并將當(dāng)前值解碼為數(shù)據(jù),該數(shù)據(jù)能夠傳送至主機(jī)101。在通過主機(jī)接口126向主機(jī)101傳送該數(shù)據(jù)之前,該數(shù)據(jù)可以由控制器120緩沖。
圖3的框圖根據(jù)一個(gè)實(shí)施例描述在系統(tǒng)300中被主機(jī)101請求寫入的數(shù)據(jù)(Ch)與實(shí)際寫入到NVSM 142的結(jié)果數(shù)據(jù)(Cn)之間的關(guān)系。
在一個(gè)實(shí)施方式中,主機(jī)101和/或控制器120可以頻繁地訪問NVSM 142以讀取或?qū)懭隢VSM 142中存儲(chǔ)的被頻繁訪問的某些文件。主機(jī)101可以每天請求將一定平均量的數(shù)據(jù)(例如,Ch千兆字節(jié)(GB)的數(shù)據(jù))寫入到DSD106。例如,Ch可以依賴于主機(jī)的用戶請求被寫入的數(shù)據(jù)??刂破?20從主機(jī)101接收數(shù)據(jù)寫請求??刂破?20試圖將Chn數(shù)據(jù)寫到NVSM 142以及將Chd數(shù)據(jù)寫入到磁盤組134。實(shí)際寫入到磁盤組134的數(shù)據(jù)量是Cd。由于系統(tǒng)寫入放大率(SWAF),實(shí)際寫在NVSM 142上的數(shù)據(jù)量(例如,物理地寫到NVSM 142的數(shù)據(jù)是Cn GB)大于主機(jī)101或控制器120請求寫在NVSM 142上的數(shù)據(jù)量(Chn)。在一個(gè)實(shí)施例中,可以基于Ch和Cn或基于Chn和Cn適應(yīng)性地確定寫入放大率。
NVSM 142的壽命依賴于寫在NVSM 142上的總寫入放大率因子(WAFt)。WAFt定義Chn和Cn之間的關(guān)系如下:Cn=Chn*WAFt,因此WAFt是Cn/Chn的比率。在其他實(shí)施例中,反比例或至少Cn與Chn之間的數(shù)學(xué)和/或邏輯關(guān)系可用于確定WAFt。除了WAFt的寫入放大率因子可以影響Cn與Chn或Cn與Chn之間的關(guān)系??商娲?,另一個(gè)寫入放大率因子可以基于Cn與Ch或Cn與Chn之間的關(guān)系來確定,該關(guān)系可以合并在主機(jī)101請求寫數(shù)據(jù)與數(shù)據(jù)物理寫入到NVSM 142之間的不同階段上的各種因子。例如,寫入放大率因子可以考慮WAFt 150、WAFn 148(以下進(jìn)一步定義)、緩存寫入放大率、固件寫入放大率因子(即,WAFfm 144,以下進(jìn)一步定義)、其他放大率參數(shù)、和/或它們的組合。
在圖3的實(shí)施例中,控制器120操作固件用于寫一定量的數(shù)據(jù)(例如,Cf GB的數(shù)據(jù))至NVSM 142中。由于操作(諸如修剪指令(Trim Command)、數(shù)據(jù)遷移、或延期的寫入的執(zhí)行)造成的固件寫入放大率,Cf大于將要被寫入到NVSM 142的Ch的一部分(例如,Chn)。例如,修剪指令可以允許OS通知NVSM 142數(shù)據(jù)的哪些區(qū)塊不再考慮使用并且當(dāng)在NVSM 142中存儲(chǔ)無效或廢棄數(shù)據(jù)時(shí)進(jìn)行標(biāo)記。然而,在更新NVSM的間接表時(shí),執(zhí)行這種修剪指令能夠帶來額外的寫開銷。在一個(gè)實(shí)施例中,可以將WAFfm 144定義為Cf/Chn的比率。在其他實(shí)施例中,反比例或Cf與Chn或Cf與Chn之間的數(shù)學(xué)和/或邏輯關(guān)系可用于確定WAFfm 144。
部分由于WAFn 148,物理寫入到NVSM 142的數(shù)據(jù)(例如,每天Cn GB的數(shù)據(jù))大于Cf。更具體地,可以將WAFn 148定義為Cn/Cf的比率。由此,在Cn、Ch、與寫入放大率因子之間可以存在以下關(guān)系:
Cn=Cf*WAFn,Cf=Chn*WAFfm,Cn=Chn*WAFfm*WAFn,以及WAFt=WAFfm*WAFn。
在其他實(shí)施例中,至少Cn與Cf之間的不同數(shù)學(xué)和/或邏輯關(guān)系可用于分析NVSM 142的寫入放大率和/或WAFn 148。
控制器120可以獲得與NVSM 142有關(guān)的某些信息以確定以上寫入放大率因子(例如,WAFt 150)。在一個(gè)實(shí)施方式中,監(jiān)控系統(tǒng)用于監(jiān)控、檢測和上報(bào)各種可靠性指標(biāo),這些指標(biāo)能夠用于預(yù)料NVSM 142和/或磁盤組134中的故障。在這種實(shí)施方式中,能夠從第一參數(shù)和第二參數(shù)計(jì)算WAFn 148(以及因此計(jì)算WAFt 150),監(jiān)控系統(tǒng)可以提供與NVSM 142有關(guān)的第一參數(shù)和第二參數(shù)。這種監(jiān)控系統(tǒng)可以是定制系統(tǒng),或可以基于標(biāo)準(zhǔn)化的協(xié)議,例如自我監(jiān)控、分析及報(bào)告技術(shù)(SMART)。例如,第一參數(shù)可以對應(yīng)于編程擦除周期(PEC)的百分率。例如,第一參數(shù)可以是以0.01%為單位的。寫入到NVSM 142的總字節(jié)數(shù)可以被確定為(PEC%)*(NVSM 142的容量)*(PEC規(guī)格),其中對于多層單元分區(qū),PEC規(guī)格可以是常數(shù),例如1500。如本領(lǐng)域的普通技術(shù)人員理解的是,在不同實(shí)施方式中能夠使用其他參數(shù)。
從固件或控制器120的角度看,SMART提供的第二參數(shù)可以是例如寫入的總LBA??刂破?20可以用作主機(jī),以請求寫入到NVSM 142的信息??刂破?20請求寫入的總數(shù)據(jù)量能夠被定義為第二參數(shù)乘以扇區(qū)大小。
可以基于PEC的閾值數(shù)進(jìn)一步確定NVSM 142的實(shí)際壽命。就此而言,當(dāng)達(dá)到PEC的閾值數(shù)時(shí),NVSM 142到達(dá)了其實(shí)際壽命的終點(diǎn)。NVSM 142的壽命可以依賴于以上討論的寫入放大率因子以及如何頻繁地訪問NVSM 142。例如,一旦PEC的數(shù)達(dá)到PEC的總數(shù)的95%(例如第一參數(shù)),NVSM 142就可能到達(dá)了壽命模式的終點(diǎn)。在這種實(shí)施方式中,NVSM 142的耐用度可以定義為:
耐用度=95%*(NVSM 142的容量)*PEC規(guī)格。
在其他實(shí)施方式中,可以使用其他閾值、百分率、或值來定義NVSM 142的壽命終點(diǎn)。
例如,如果主機(jī)101每天向DSD 106寫ChGB的數(shù)據(jù),實(shí)際上向NVSM 142寫入了Cn GB的數(shù)據(jù)??梢詫VSM 142的壽命(按照天數(shù)Z)計(jì)算為:
Z=(NVSM耐用度)/Cn=(95%*(NVSM 142容量)*1500)/(Ch*WAFfm*WAFn)。
例如,如果NVSM 142的數(shù)據(jù)容量是16GB,PEC規(guī)格為1500,耐用度可以定義如下:95%*16G*1500=22兆兆字節(jié)寫入(TBW)。在這種示例中,WAFfm 144可以是0.73,Ch是20GB/天,并且WAFn范圍從1.1到2.2。在此示例中,NVSM 142的實(shí)際壽命范圍可以計(jì)算如下:
NVSM 142的實(shí)際壽命的上界=(22TB*1024)/(20GB*0.73*1.1)=1402天=3.8年。
NVSM 142的實(shí)際壽命的下界=(22TB*1024)/(20GB*0.73*2.2)=701天=1.9年。
如以下更為詳細(xì)討論的,通過監(jiān)控以上討論的放大率因子并引導(dǎo)被請求寫到NVSM 142的數(shù)據(jù)的一部分寫到磁盤組134上來延長NVSM 142的壽命,這通常是可能的。在一個(gè)實(shí)施例中,可以通過改變WAFn 148并由此改變WAFt 150來延長NVSM 142的壽命。
圖4的流程圖根據(jù)一個(gè)實(shí)施例描述了用于從NVSM向磁盤組重新定向數(shù)據(jù)的NVSM壽命延長過程。在框402,控制器120從主機(jī)101接收寫請求以便將數(shù)據(jù)寫到DSD 106,該數(shù)據(jù)包括被請求寫到NVSM 142的數(shù)據(jù)。在框404,基于先前寫入NVSM 142的數(shù)據(jù)量以及先前被請求寫入到DSD 106的數(shù)據(jù)量和先前被請求寫入到NVSM 142的數(shù)據(jù)量中的至少一個(gè),控制器120確定寫入放大率因子。在框406,基于確定的寫入放大率因子,控制器120將被請求寫到NVSM的數(shù)據(jù)的至少一部分重新定向至磁盤。在一些實(shí)施例中,主機(jī)上的處理器可以執(zhí)行類似的過程,并且可以將DSD 106配置為提供數(shù)據(jù),這些數(shù)據(jù)是支持該處理器所執(zhí)行動(dòng)作所必需的。
圖5的流程圖根據(jù)一個(gè)實(shí)施例描述了控制器120能夠執(zhí)行的NVSM壽命延長過程500。如圖5所示,NVSM壽命延長過程500包括用于將數(shù)據(jù)從NVSM 142重新定向到磁盤組134的多個(gè)階段。換言之,要寫入到NVSM 142的數(shù)據(jù)可以重新定向?qū)懙叫D(zhuǎn)介質(zhì),例如磁盤組134。因?yàn)閿?shù)據(jù)重新定向至磁盤組134可能影響DSD 106的性能,所以重新定向可以在圖5中所示的各種階段中執(zhí)行。在圖5的實(shí)施例中,相比于較早階段,重新定向數(shù)據(jù)的量在后面的階段中逐漸增加。在其他實(shí)施例中,重新定向數(shù)據(jù)的量可以保持不變或相比于較早階段在后面階段中降低。例如,在后面階段中保持或降低重新定向的數(shù)據(jù)的決定可以是基于確定的寫入放大率因子、數(shù)據(jù)碎片、性能目標(biāo)、和/或功耗目標(biāo)的。
如框502所示,NVSM壽命延長過程500可以包括初始階段,在初始階段中數(shù)據(jù)不從NVSM 142重新定向至磁盤組134。在DSD 106最初用于用戶和/或主機(jī)101寫入時(shí)可以開始初始階段。在初始階段中,NVSM壽命延長過程500采集信息以確定以上針對圖5所討論的寫入放大率因子。例如,可以采集信息以確定WAFn 148和/或WAFt 150。
如框504中所示,NVSM壽命延長過程500確定是否請求將一定量的數(shù)據(jù)x寫到DSD 106。當(dāng)該一定量的數(shù)據(jù)x寫到DSD 106時(shí),NVSM壽命延長過程500從初始階段(即框502)移至第一階段(即框506)以便將數(shù)據(jù)從NVSM 142重新定向至磁盤組134。
x的值是設(shè)計(jì)選擇,并且可以是預(yù)定的或自適應(yīng)的。在一個(gè)實(shí)施例中,在框502中的x對應(yīng)于寫入到NVSM 142的數(shù)據(jù)量??梢詫的值設(shè)置的足夠高,這樣能夠獲得足夠的信息來計(jì)算寫入放大率因子。在最初用于解釋性能的退化和/或由重新定向數(shù)據(jù)導(dǎo)致的額外功耗過程中,確定的一個(gè)寫入放大率因子或更多個(gè)寫入放大率因子在降低NVSM 142的壽命方面可以不會(huì)有太大問題。例如,從NVSM 142向磁盤組134重新定向數(shù)據(jù)可以增加磁盤組134的總旋轉(zhuǎn)時(shí)間,從而在整體上磁盤組134和DSD 106產(chǎn)生較高的功耗。另外,從磁盤組134訪問重定向數(shù)據(jù)可能比從其在NVSM 142中的最初意向位置訪問數(shù)據(jù)要耗費(fèi)更長時(shí)間。因此,如果確定的一個(gè)寫入放大率因子或更多個(gè)寫入放大率因子未證明重新定向數(shù)據(jù)是合理的,就可以在初始階段避免功耗上不必要的增加和/或性能上的下降。
如圖5所示,NVSM壽命延長過程500可以周期地檢查數(shù)據(jù)量x是否已經(jīng)寫到DSD 106,并且如果此條件未滿足,可以不將數(shù)據(jù)重定向至磁盤組134。例如,可以將x確定為1兆兆字節(jié)(TB),以便寫入放大率因子被確定并與目標(biāo)寫入放大率閾值相比較,如果平均日使用是20GB,寫入放大率因子大概每51天與目標(biāo)寫入放大率閾值相比較。在圖5的實(shí)施例中,x可以從主機(jī)101的視角來確定(例如,從x的上一次確定之后,根據(jù)被主機(jī)101請求寫入的數(shù)據(jù))。在其他實(shí)施例中,代替x或除x以外,可以考慮從最初使用DSD 106的時(shí)段。例如,NVSM壽命延長過程500可以識(shí)別從最初使用DSD 106已經(jīng)過去了51天,并且可以從最初階段移至階段1。仍然在其他實(shí)施例中,可以分析x和時(shí)段兩者以確定NVSM壽命延長過程500是否應(yīng)該移至下一個(gè)階段。
在框506,一旦框504中的條件滿足,NVSM壽命延長過程500進(jìn)入階段1。在階段1,被請求寫入到NVSM 142的數(shù)據(jù)的一部分可以重新定向?qū)懭氪疟P組134。例如,第一階段重新定向的部分可以依據(jù)被請求寫入到NVSM 142的數(shù)據(jù)的百分比(記為y1%)。例如,當(dāng)DSD 106位于第一階段1(框506)時(shí),主機(jī)101可以請求15GB的數(shù)據(jù)寫入到NVSM 142。如果y1%被設(shè)置在20%,那么就將15GB數(shù)據(jù)的3GB或20%重新定向?qū)懭氲酱疟P組134。在另一個(gè)實(shí)施例中,y1%可以是10%。本發(fā)明的各種實(shí)施例不限于本文描述的百分率值,這些百分率值僅作為示例提供??梢允褂没谠O(shè)計(jì)關(guān)注的各種其他部分或百分率,例如它們在性能和/或功耗上的預(yù)期效果。
在框508,NVSM壽命延長過程500周期地檢查當(dāng)前確定的寫入放大率因子是否滿足目標(biāo)寫入放大率值。如圖5的框508中所示,確定的寫入放大率因子例如可以是WAFt 150。在其他實(shí)施例中,還可以考慮緩存寫入放大率因子和/或其他寫入放大率因子,并且如以上針對圖3討論的,將緩存寫入放大率因子和/或其他寫入放大率因子與目標(biāo)寫入放大率值進(jìn)行比較。
參考框508,WAFt 150可以與目標(biāo)寫入放大率值進(jìn)行比較。如果WAFt 150小于目標(biāo)寫入放大率值,NVSM壽命延長過程500保留在當(dāng)前階段以防止不必要的性能退化和/或功耗增加。
如以上參考框504討論的,WAFt 150的確定和/或WAFt 150與目標(biāo)寫入放大率值的比較可以從上一次計(jì)算和比較開始有一定量的數(shù)據(jù)已經(jīng)寫入DSD 106或NVSM 142之后執(zhí)行。例如,在主機(jī)101請求x數(shù)據(jù)量寫入到DSD 106之后,可以從控制器120向NVSM 142(或NVSM 142的控制器)發(fā)送請求,并且NVSM 142可以回報(bào)自從先前的請求之后實(shí)際寫入到NVSM 142的數(shù)據(jù)量。還可以確定自從先前的請求之后被請求寫入到NVSM 142的數(shù)據(jù)量。例如WAFt和/或其他寫入放大率因子可以基于以上參考圖3所討論的前述值進(jìn)行更新。
在其他實(shí)施例中,從WAFt 150的先前計(jì)算或WAFt 150與目標(biāo)寫入放大率值的先前比較之后,在已經(jīng)經(jīng)過預(yù)定時(shí)間量之后,控制器120可以在框508中重新計(jì)算WAFt 150。仍然在其他實(shí)施例中,可以分析預(yù)定時(shí)間和數(shù)據(jù)量x以確定是否移向下一個(gè)階段。
參考框508,如果確定的當(dāng)前WAFt 150大于目標(biāo)寫入放大率值,NVSM壽命延長過程500可以移至階段2以便在未達(dá)到目標(biāo)寫入放大率值時(shí)重新定向較高百分率的數(shù)據(jù)。數(shù)據(jù)的百分率可以是例如y2%,該百分率表示在階段2中重新定向至磁盤134的期望寫入NVSM 142的數(shù)據(jù)的一部分。如框510中所示,在階段2中數(shù)據(jù)的y2%(其大于y1%)被重新定向至磁盤組134。
在以上針對框504討論的實(shí)施例中,在x寫入和/或經(jīng)過預(yù)定時(shí)間量之后,NVSM壽命延長過程500從初始階段移至階段1。在另一個(gè)實(shí)施例中,類似于以上針對于框508描述的過程,在x寫入和/或經(jīng)過預(yù)定時(shí)間量之后,如果未達(dá)到目標(biāo)寫入放大率值,在x寫入和/或經(jīng)過預(yù)定時(shí)間量之后NVSM壽命延長過程500從初始階段移至階段1。在這種實(shí)施例中,如果達(dá)到了目標(biāo)寫入放大率值,NVSM壽命延長過程500保留在初始階段中。
在框512,可以如以上針對框508所討論的來確定WAFt 150或其他寫入放大率因子。目標(biāo)寫入放大率值對于階段1和2可以是相同的。在另一個(gè)實(shí)施例中,基于設(shè)計(jì)參數(shù),例如性能和功耗目標(biāo)(其在階段1和2之間可能存在差異),對于階段2目標(biāo)寫入放大率值可以是不同的。
如圖5中所示,框516中的階段N是NVSM壽命延長過程500的最后階段。在圖5的實(shí)施例中,在每個(gè)階段上重新定向的百分率逐漸增加,直到到達(dá)最后一個(gè)階段,其中在該最后階段中yn%=100%,所有的數(shù)據(jù)都重新定向到磁盤組134。在另一個(gè)實(shí)施例中,yn%可以小于數(shù)據(jù)的100%,這樣NVSM 142仍然可操作用于寫數(shù)據(jù)。
盡管以上討論了控制器120進(jìn)行的數(shù)據(jù)重新定向,但相反在其他實(shí)施例中,數(shù)據(jù)可以由主機(jī)101重新定向至磁盤組134以延長NVSM 142的壽命。
NVSM壽命延長過程500的各種參數(shù)可以提前確定或基于DSD 106的操作自適應(yīng)地調(diào)整。例如,可以基于當(dāng)前性能和/或功耗調(diào)整各種參數(shù)。在初始階段(例如,框502),將數(shù)據(jù)重新定向至磁盤之前,NVSM 142和磁盤組134可能消耗一定量的功率。由于更多的數(shù)據(jù)定向至磁盤組134,操作磁盤組134所消耗的功率可能增加,因?yàn)槔鏢M 138必須消耗較高的能量以旋轉(zhuǎn)磁盤組134從而寫入額外的重定向數(shù)據(jù)。在某個(gè)階段(例如,框516的階段N),寫操作可以完全轉(zhuǎn)移到磁盤。另外,可以基于功耗和性能目標(biāo)來調(diào)整x或?qū)懭敕糯舐室蜃記Q定之間的時(shí)間量。
如圖5中所示,NVSM壽命延長過程500只是在一個(gè)方向上向后面的階段進(jìn)行。在另一個(gè)實(shí)施例中,如果確定當(dāng)前階段從NVSM 142向磁盤組134重新定向了太多數(shù)據(jù),NVSM壽命延長過程可以移至先前階段。例如,移至先前階段的決定可以基于確定的寫入放大率因子、數(shù)據(jù)碎片、性能目標(biāo)、和/或功耗目標(biāo)。
圖6的流程圖根據(jù)一個(gè)實(shí)施例描述了基于多個(gè)因子(f1、f2、...fn)的用于從NVSM 142向磁盤組134重新定向數(shù)據(jù)的NVSM壽命延長過程600。
在框652,對DSD 106供電以便讀和/或?qū)憯?shù)據(jù)至DSD 106。在框654,控制器120和/或主機(jī)101可以加載與NVSM壽命延長過程600有關(guān)的設(shè)置。加載的設(shè)置可以包括存儲(chǔ)的統(tǒng)計(jì)數(shù)據(jù)和先前存儲(chǔ)到DSD 106的信息。例如,可以加載當(dāng)前階段和確定的寫入放大率因子。
類似于框508,框608可以確定是否達(dá)到了目標(biāo)寫入放大率值。例如,在框660,如以上針對圖5所討論的,NVSM壽命延長過程600確定是否已經(jīng)寫入數(shù)據(jù)量x。如果是,NVSM壽命延長過程600移至框662。在框662,如果當(dāng)前確定的WAFt 150大于目標(biāo)或期望的寫入放大率值,NVSM壽命延長過程600移至框610。
在框610,可以考慮并分析各種因子(f1、f2、...、fn)以確定應(yīng)該從NVSM 142重新定向什么類型的數(shù)據(jù)和多少數(shù)據(jù)量至磁盤組134。例如,如果數(shù)據(jù)的y%將在給定階段重新定向,可以考慮因子f1、f2、...、fn來明確地確定哪些數(shù)據(jù)應(yīng)當(dāng)重新定向至磁盤組134。例如,除了或替代以下針對圖5所討論的優(yōu)先級信息,可以考慮數(shù)據(jù)使用的頻率來確定重新定向至磁盤組134的數(shù)據(jù)的類型。
重新定向數(shù)據(jù)的量和/或類型還可以是基于NVSM 142的延遲需求。當(dāng)從磁盤組134而非從NVSM 142訪問數(shù)據(jù)時(shí),訪問數(shù)據(jù)的延遲可能增加。例如,通過確定當(dāng)前電源模式,數(shù)據(jù)的重新定向還可以是基于NVSM 142和/或磁盤組134的功率要求。例如,如果磁盤當(dāng)前不旋轉(zhuǎn),可以不從NVSM 142重新定向以節(jié)約電能。
重新定向數(shù)據(jù)的量和/或類型還可以是基于命令的空間位置的。例如,數(shù)據(jù)可以不重新定向至磁盤組134以避免碎片和/或其他不良的效果。數(shù)據(jù)的重新定向可以依賴于各種其他因素,例如緩存算法和策略。
在框672,在DSD 106斷電之前,更新或保存NVM設(shè)置的統(tǒng)計(jì)數(shù)據(jù)和信息。這些設(shè)置可以涉及例如確定的f1、f2、...、fn和/或先前重新定向的數(shù)據(jù)的數(shù)量或類型的特征。例如,可以更新并保存以上針對框652討論的加載信息以備當(dāng)DSD 106再次供電時(shí)用于將來使用。
圖7的流程圖根據(jù)一個(gè)實(shí)施例描述了基于數(shù)據(jù)優(yōu)先級的用于從NVSM 142向磁盤組134重新定向數(shù)據(jù)的NVSM壽命延長過程700。如以上針對圖5和6討論的,數(shù)據(jù)的優(yōu)先級可以從主機(jī)101(例如通過驅(qū)動(dòng)器)發(fā)送至控制器120。如圖7中所示,NVSM壽命延長過程700基于優(yōu)先級信息來確定在每個(gè)階段中被重新定向的數(shù)據(jù)的類型。因?yàn)閿?shù)據(jù)被重新定向到磁盤組134,DSD 106的性能或功耗最初作為延長NVSM 142的壽命的交換可能受到負(fù)面影響。
通過首先將較低優(yōu)先級數(shù)據(jù)重新定向到磁盤組134,相比于不考慮優(yōu)先級信息而重新定向數(shù)據(jù),NVSM壽命延長過程700能夠提高性能和/或降低功耗。
在框752,例如,如以上針對圖6的框652所討論的,為DSD 106供電。在框754,例如,如以上針對圖6的框654所討論的,加載NVSM壽命延長過程700的設(shè)置和參數(shù)。這些設(shè)置和參數(shù)可以包括先前存儲(chǔ)的優(yōu)先級信息。
類似于框508和608,框708可以定期地確定是否達(dá)到了目標(biāo)寫入放大率因子。主機(jī)101可以發(fā)送請求,以便如以上針對圖6討論的將數(shù)據(jù)和與數(shù)據(jù)相關(guān)的優(yōu)先級信息一起寫到DSD 106。例如,可以有從0(最低優(yōu)先級)到7(最高優(yōu)先級)分層的多層優(yōu)先級?;谠O(shè)計(jì)需求,可以使用其他優(yōu)先級層和優(yōu)先級信息類型。例如,可以指示系統(tǒng)文件具有比用戶數(shù)據(jù)高的優(yōu)先級。主機(jī)101可以指示向可執(zhí)行文件(例如,*.exe文件)和/或動(dòng)態(tài)鏈接庫(*.dll)文件分配高優(yōu)先級。
在定義優(yōu)先級時(shí),還可以考慮數(shù)據(jù)使用的頻率,以便給予更頻繁被訪問的數(shù)據(jù)以較高優(yōu)先級。然而,可以為某些類型的數(shù)據(jù)分配高優(yōu)先級,而不管它的訪問頻率,例如用于啟動(dòng)主機(jī)101的數(shù)據(jù),可以為該數(shù)據(jù)分配較高優(yōu)先級,即使主機(jī)101的啟動(dòng)可能不經(jīng)常發(fā)生。優(yōu)先級信息還可以是基于緩存算法和策略的。
參考框758,NVSM壽命延長過程700記錄每個(gè)階段中的每個(gè)優(yōu)先級等級的比率。例如,能夠根據(jù)主機(jī)101和/或控制器120請求寫入到NVSM 142的總數(shù)據(jù)量來表示該比率。
參考框760,如以上針對圖5和6所討論的,NVSM壽命延長過程700可以確定是否已經(jīng)寫入數(shù)據(jù)量x。如果是,NVSM壽命延長過程700移至框762。在框762,如果當(dāng)前確定的WAFt150大于目標(biāo)或期望的寫入放大率值,NVSM壽命延長過程700移至框710。
在框710,在每個(gè)階段基于優(yōu)先級信息重新定向數(shù)據(jù)。如以上針對圖6的框610所討論的,優(yōu)先級信息可以包括f1、f2、...、fn因子中的一個(gè)。
參考框764,在每個(gè)階段,將欲寫入NVSM 142的一定百分率(y%)的數(shù)據(jù)重新定向至磁盤組134。例如,如以上針對圖5和6所討論的,y%可以是分別對應(yīng)于階段1、2、...、N的y1%,y2%,...,yn%的任何一個(gè)。為了重新定向y%的數(shù)據(jù),NVSM壽命延長過程500首先重新定向與最低優(yōu)先級有關(guān)的數(shù)據(jù)。在圖7中,P1%對應(yīng)于具有最低優(yōu)先級的意在寫入NVSM 142的數(shù)據(jù)的百分率。
在框766,NVSM壽命延長過程700確定是否具有足夠的最低優(yōu)先級的數(shù)據(jù)滿足意在寫入到NVSM 142的y%數(shù)據(jù)。如果是,NVSM壽命延長過程700可以在此階段不重新定向較高優(yōu)先級數(shù)據(jù)至磁盤組134。
參考框768,如果P1%的數(shù)據(jù)小于意在重新定向至NVSM 142的y%數(shù)據(jù),那么就同樣重新定向具有下一個(gè)較高優(yōu)先級的數(shù)據(jù)。P2%對應(yīng)于具有第二最低優(yōu)先級的意在寫入NVSM 142的數(shù)據(jù)的百分率。如果重新定向最低優(yōu)先級數(shù)據(jù)和第二最低優(yōu)先級數(shù)據(jù)對重新定向y%的總數(shù)據(jù)是足夠的,在此階段NVSM壽命延長過程700可以不重新定向任意較高優(yōu)先級數(shù)據(jù)至磁盤組134。
參考框770,如果較低優(yōu)先級數(shù)據(jù)的重新定向?qū)τ谥匦露ㄏ騳%的數(shù)據(jù)是不夠的,NVSM壽命延長過程700可以繼續(xù)分析較高優(yōu)先級數(shù)據(jù)級,直到它到達(dá)最高優(yōu)先級。參考框772,在DSD 106斷電之前,更新或保存NVM設(shè)置以備當(dāng)再次對DSD 106供電時(shí)用于將來使用。
以上描述的NVSM壽命延長過程通常會(huì)提高DSD 106的長期可靠性,同時(shí)基于設(shè)計(jì)需求保持了性能和功率節(jié)約。沒有這種NVSM壽命延長過程,NVSM 142可能很快達(dá)到了它的實(shí)際使用壽命的終點(diǎn)。
在一些實(shí)施例中,控制器120執(zhí)行固件以實(shí)現(xiàn)以上針對圖3-圖7所描述的框。固件能夠訪問與NVSM 142有關(guān)的信息,以便確定一個(gè)寫入放大率因子或更多個(gè)寫入放大率因子。在其他實(shí)施例中,主機(jī)101的處理器實(shí)現(xiàn)以上針對圖3-圖7所描述的框,例如通過執(zhí)行用于DSD 106的驅(qū)動(dòng)器。仍在其他實(shí)施例中,可以使用主機(jī)101和控制器120兩者以實(shí)現(xiàn)以上針對圖3-圖7所描述的框。
圖8的曲線圖比較了(1)根據(jù)一個(gè)示例實(shí)施例的使用NVSM壽命延長過程的DSD 106的歸一化性能804和(2)不使用NVSM壽命延長過程的傳統(tǒng)DSD的歸一化性能802。圖8中所示的性能表示每秒平均輸入/輸出操作(IOPS),對于兩個(gè)DSD已經(jīng)在最初使用時(shí)將IOPS歸一化至1。如圖8所示,傳統(tǒng)DSD的歸一化性能802最初保持較高水平的性能,但由于寫入放大率,大約在NVSM使用的1.5年至2年之間突然變差。在圖8所示的示例中,在第一個(gè)2.5年期間,期望至少是0.3的歸一化性能。然而,通過使用NVSM壽命延長過程,歸一化性能804表明根據(jù)一個(gè)實(shí)施例的相應(yīng)DSD 106在使用2年后保持較高水平的性能,并且性能是逐漸降低的,以避免歸一化性能802中所見的突然下降。3年后,歸一化性能804在磁盤組134的性能水平上仍然基本恒定(例如,在4年和5年期間),因?yàn)樵诖耸纠?年后可能不再使用NVSM 142。NVSM 142的壽命期間的性能可以基于以上針對圖1-圖7討論的設(shè)計(jì)參數(shù)和基于DSD 106的各種特性而變化。圖8是作為NVSM 142的使用壽命延長的示例而提供的,目的是展示盡管在壽命延長過程下的性能可能較早地稍微下降,但通常防止了性能上的突然且過早的下降。
本領(lǐng)域那些普通技術(shù)人員將要認(rèn)識(shí)到是,結(jié)合本文公開的示例所描述的各種示例性邏輯框、模塊和過程可以實(shí)施為電子硬件、計(jì)算機(jī)軟件、或兩者的結(jié)合。而且,前述過程能夠在使處理器或計(jì)算機(jī)實(shí)施或執(zhí)行某些功能的計(jì)算機(jī)可讀介質(zhì)上體現(xiàn)。
為了清晰地展示硬件和軟件的可交換性,以上已經(jīng)就其功能概述了各種示例性組件、框和模塊。是否將這些功能實(shí)施為硬件或軟件依賴于具體應(yīng)用和施加在整個(gè)系統(tǒng)上的設(shè)計(jì)約束。那些本領(lǐng)域普通技術(shù)人員可以針對于每個(gè)具體應(yīng)用以不同的方式實(shí)施描述的功能,但不應(yīng)當(dāng)將這些實(shí)施決策解釋為導(dǎo)致偏離本公開的范圍。
與本文公開的示例相關(guān)聯(lián)描述的各種示例性的邏輯框、單元、模塊和控制器可以利用通用處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其他可編程邏輯裝置、分立的門或晶體管邏輯電路、分立的硬件組件、或設(shè)計(jì)用于實(shí)現(xiàn)本文描述的功能的它們的任意組合來實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替代形式中,處理器可以是任意常規(guī)的處理器、控制器、微控制器、或狀態(tài)機(jī)。還可以將處理器實(shí)施為計(jì)算裝置的組合,例如DSP和微處理器的組合、多個(gè)微處理器,一個(gè)或更多個(gè)微處理器結(jié)合DSP核,或任意其他這類配置。
與本文公開的示例相關(guān)聯(lián)描述的方法或過程的動(dòng)作可以直接以硬件、以處理器執(zhí)行的軟件模塊、或以兩者結(jié)合的形式來體現(xiàn)。方法或算法的步驟還可以采用示例中提供的那些順序的替代順序來執(zhí)行。軟件模塊可以駐留在RAM存儲(chǔ)器、閃存、ROM存儲(chǔ)器、EPROM存儲(chǔ)器、EEPROM存儲(chǔ)器、寄存器、硬盤、可移除介質(zhì)、光介質(zhì)、或本領(lǐng)域已知的任意其他形式的存儲(chǔ)介質(zhì)中。示例性存儲(chǔ)介質(zhì)連接至處理器,這樣處理器能夠從存儲(chǔ)介質(zhì)讀取信息并向其寫入信息。在替代形式中,存儲(chǔ)介質(zhì)可以集成到處理器上。處理器和存儲(chǔ)介質(zhì)可以駐留在專用集成電路(ASIC)中。
提供公開的示例實(shí)施例的前述描述是為了使得本領(lǐng)域普通技術(shù)人員中的任意個(gè)人能夠制作或使用本公開中的實(shí)施例。對這些示例的各種修改對本領(lǐng)域的普通技術(shù)人員將是很顯然的,并且在不偏離本公開的精神或范圍的情況下本文公開的原理可以應(yīng)用于其他示例。應(yīng)當(dāng)在所有方面將所描述的實(shí)施例考慮為僅作為本公開的范圍的說明而非限制。