本文描述的示例大體上涉及處理非易失性雙列直插式存儲(chǔ)器模塊(NVDIMM)中持久存儲(chǔ)器的錯(cuò)誤。
背景技術(shù):
與計(jì)算平臺(tái)或系統(tǒng)耦合的存儲(chǔ)器模塊(例如配置為服務(wù)器的那些)可包括雙列直插式存儲(chǔ)器模塊(DIMM)。DIMM可包括這種動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的易失性存儲(chǔ)器類型或其他類型的存儲(chǔ)器,例如非易失性存儲(chǔ)器。隨著DRAM和其他類型的存儲(chǔ)器技術(shù)發(fā)展到包括具有越來越高密度的存儲(chǔ)器單元,DIMM的存儲(chǔ)器容量也大大增加。因?yàn)镈RAM是易失性存儲(chǔ)器,如果不是所有數(shù)據(jù)在斷電或復(fù)位時(shí)都維持在DRAM中,斷電或復(fù)位可能導(dǎo)致丟失數(shù)據(jù)中的大部分。一些非易失性存儲(chǔ)器技術(shù)還可能利用加密方案,其在斷電或復(fù)位后可能導(dǎo)致丟失加密信息并且因?yàn)榧用軘?shù)據(jù)可能由于丟失加密信息而不能訪問,對(duì)于這些技術(shù)的非易失性存儲(chǔ)器從而可能充當(dāng)某種易失性存儲(chǔ)器。此外,這些類型的存儲(chǔ)器技術(shù)的大存儲(chǔ)器容量對(duì)操作系統(tǒng)(OS)或應(yīng)用(例如,設(shè)備驅(qū)動(dòng)器)感測(cè)斷電且試圖防止或減少數(shù)據(jù)丟失方面提出挑戰(zhàn)。
附圖說明
圖1圖示示例第一系統(tǒng)。
圖2圖示示例第二系統(tǒng)。
圖3圖示示例第三系統(tǒng)。
圖4圖示示例過程。
圖5圖示示例第一狀態(tài)機(jī)。
圖6圖示示例第二狀態(tài)機(jī)。
圖7圖示對(duì)于第一裝置的示例框圖。
圖8圖示第一邏輯流的示例。
圖9圖示第一存儲(chǔ)介質(zhì)的示例。
圖10圖示第二裝置的示例框圖。
圖11圖示第二邏輯流的示例。
圖12圖示第二存儲(chǔ)介質(zhì)的示例。
圖13圖示示例計(jì)算平臺(tái)。
圖14圖示示例非易失性雙列直插式存儲(chǔ)器模塊控制器。
具體實(shí)施方式
在一些示例中,為了在斷電或復(fù)位情況下減輕或減少數(shù)據(jù)丟失,開發(fā)包括易失性存儲(chǔ)器和非易失性存儲(chǔ)器兩者的這樣類型的存儲(chǔ)器模塊。該類型的存儲(chǔ)器模塊統(tǒng)稱為非易失性DIMM(NVDIMM)。典型地,NVDIMM可以是DRAM和某一類型的非易失性存儲(chǔ)器(例如NAND閃速存儲(chǔ)器)的組合或可以是DRAM和某一類型的非易失性存儲(chǔ)器技術(shù)(例如3D交叉點(diǎn)存儲(chǔ)器)的組合,其既可以充當(dāng)易失性又可以充當(dāng)非易失性存儲(chǔ)器。NVDIMM可以經(jīng)由使用非易失性存儲(chǔ)器在由于有意或無意系統(tǒng)或部件/設(shè)備復(fù)位而對(duì)NVDIMM斷電后通過捕捉易失性存儲(chǔ)器內(nèi)容的圖像(例如,校驗(yàn)指示)來提供持久存儲(chǔ)器。超級(jí)電容器封裝可以與NVDIMM耦合來持續(xù)長(zhǎng)到足以將易失性存儲(chǔ)器內(nèi)容的圖像捕捉到非易失性存儲(chǔ)器的時(shí)間維持對(duì)NVDIMM供電。
根據(jù)一些示例,包括非易失性存儲(chǔ)器來對(duì)NVDIMM處的存儲(chǔ)器類型(例如DRAM或一些類型的非易失性存儲(chǔ)器(例如,3D交叉點(diǎn)存儲(chǔ)器))提供持久存儲(chǔ)器的NVDIMM在易失性存儲(chǔ)器中可以具有大體上不可恢復(fù)的未校正錯(cuò)誤。然而,因?yàn)殄e(cuò)誤是由于數(shù)據(jù)錯(cuò)誤引起或與NVDIMM耦合的計(jì)算平臺(tái)的基本輸入/輸出系統(tǒng)(BIOS)可以導(dǎo)致被視為錯(cuò)誤的存儲(chǔ)器地址易于映射到系統(tǒng)存儲(chǔ)器外,這些未校正錯(cuò)誤在NVDIMM重啟或復(fù)位時(shí)可消失。然而,對(duì)于用作持久存儲(chǔ)器的非易失性存儲(chǔ)器的未校正錯(cuò)誤在重啟或復(fù)位時(shí)可不消失。因?yàn)榭沙霈F(xiàn)數(shù)據(jù)丟失,BIOS可不能夠清除這些未校正錯(cuò)誤。因此,用作持久存儲(chǔ)器的非易失性存儲(chǔ)器中的未校正錯(cuò)誤可能有可導(dǎo)致“土撥鼠日”情景的可能性,“土撥鼠日”情景可導(dǎo)致計(jì)算系統(tǒng)處的系統(tǒng)一直不能訪問具有未校正錯(cuò)誤的非易失性存儲(chǔ)器地址位點(diǎn)。例如操作系統(tǒng)(OS)或設(shè)備驅(qū)動(dòng)器等軟件需要用作持久存儲(chǔ)器的非易失性存儲(chǔ)器中的未校正錯(cuò)誤的先驗(yàn)知識(shí),因此可以做出不映射或訪問具有未校正錯(cuò)誤的持久存儲(chǔ)器地址位點(diǎn)的決定。
在一些示例中,對(duì)于耦合于NVDIMM的計(jì)算平臺(tái)的OS或設(shè)備驅(qū)動(dòng)器可因?yàn)檫@些地址保持在NVDIMM內(nèi)并且不暴露于OS或設(shè)備驅(qū)動(dòng)器而可能不能訪問設(shè)備物理地址(DPA)。系統(tǒng)物理地址(SPA)也可包含多個(gè)NVDIMM和/或交叉NVDIMM,而DPA是設(shè)備特定的。因此,識(shí)別的具有DPA的未校正錯(cuò)誤需要轉(zhuǎn)換成SPA使得OS或設(shè)備驅(qū)動(dòng)器可決定不映射或訪問具有未校正錯(cuò)誤的持久存儲(chǔ)器地址位點(diǎn)。關(guān)于這些和其他挑戰(zhàn)需要本文描述的示例。
用于處理NVDIMM中包括的持久存儲(chǔ)器中的錯(cuò)誤的技術(shù)可以經(jīng)由一個(gè)或多個(gè)示例方法實(shí)現(xiàn)。第一示例方法可以包括駐存在NVDIMM上的控制器接收錯(cuò)誤掃描請(qǐng)求。響應(yīng)于錯(cuò)誤掃描請(qǐng)求,NVDIMM處能夠?qū)VDIMM提供持久存儲(chǔ)器的非易失性存儲(chǔ)器的DPA范圍可以由控制器掃描??梢栽谠揇PA范圍中識(shí)別未校正錯(cuò)誤并且具有識(shí)別的未校正錯(cuò)誤的DPA地址可以被指示給與NVDIMM耦合的計(jì)算平臺(tái)的BIOS。
第二示例可以包括設(shè)置成被主機(jī)計(jì)算平臺(tái)處的電路實(shí)現(xiàn)的BIOS。BIOS可以向耦合于主機(jī)計(jì)算平臺(tái)的NVDIMM上駐存的控制器發(fā)送錯(cuò)誤掃描請(qǐng)求。NVDIMM可以具有能夠?qū)VDIMM提供持久存儲(chǔ)器的非易失性存儲(chǔ)器。對(duì)于該第二示例方法,BIOS可以能夠確定控制器完成響應(yīng)于錯(cuò)誤掃描請(qǐng)求對(duì)非易失性存儲(chǔ)器的DPA范圍的掃描并且訪問NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來讀取具有由控制器在掃描DPA范圍期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于該第二示例方法,BIOS也可以能夠?qū)⒕哂凶R(shí)別的未校正錯(cuò)誤的DPA轉(zhuǎn)換成具有識(shí)別的不可校正錯(cuò)誤的SPA。
圖1圖示示例第一系統(tǒng)。如在圖1中示出的,示例第一系統(tǒng)包括系統(tǒng)100。在一些示例中,如在圖1中示出的,系統(tǒng)100包括主機(jī)計(jì)算平臺(tái)110,其耦合于NVDMM 120-1至120-n,其中“n”是值大于3的任意正整數(shù)。對(duì)于這些示例,NVDIMM 120-1至120-n可以經(jīng)由通信通道115-1至115-n耦合于主機(jī)計(jì)算平臺(tái)110,如在圖1中示出的。主機(jī)計(jì)算平臺(tái)110可以包括但不限于服務(wù)器、服務(wù)器陣列或服務(wù)器場(chǎng)、web服務(wù)器、網(wǎng)絡(luò)服務(wù)器、互聯(lián)網(wǎng)服務(wù)器、工作站、微型計(jì)算機(jī)、主計(jì)算機(jī)、超級(jí)計(jì)算機(jī)、網(wǎng)絡(luò)電器、web電器、分布式計(jì)算系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)或其組合。
在一些示例中,如在圖1中示出的,NVDIMM 120-1至120-n可以包括相應(yīng)的控制器122-1至122-n、易失性存儲(chǔ)器124-1至124-n和非易失性存儲(chǔ)器126-1至126-n。通信通道115-1至115-n可以包括存儲(chǔ)器通道、通信和/或控制鏈路,其在主機(jī)計(jì)算平臺(tái)110的元件與相應(yīng)NVDIMM 120-1至120-n之間耦合來能夠與這些相應(yīng)NVDIMM的元件通信和/或?qū)ζ湓L問。如在下文更多描述的,主機(jī)計(jì)算平臺(tái)(例如主機(jī)計(jì)算平臺(tái)110)的元件之間的通信可以允許處理位于能夠?qū)︸v存在NVDIMM上的易失性存儲(chǔ)器(例如,易失性存儲(chǔ)器124-1)類型提供持久存儲(chǔ)器的非易失性存儲(chǔ)器(例如,非易失性存儲(chǔ)器126-1)中的未校正錯(cuò)誤。
在一些示例中,盡管未在圖1中示出,通信通道115-1至115-n所包括的至少一些存儲(chǔ)器通道可以交叉來對(duì)主機(jī)計(jì)算平臺(tái)的元件提供增加的帶寬來訪問易失性存儲(chǔ)器124-1至124-n。
圖2圖示示例第二系統(tǒng)。如在圖2中示出的,示例第二系統(tǒng)包括系統(tǒng)200。在一些示例中,如在圖2中示出的,系統(tǒng)200包括主機(jī)計(jì)算平臺(tái)210,其經(jīng)由通信通道215與NVDIMM 205耦合。同樣在圖2中示出的,電容器組270可以經(jīng)由電力鏈路277耦合于NVDIMM 205。在一些示例中,如在圖2中示出的,NVDIMM 205還可以包括主機(jī)接口220、控制器230、控制開關(guān)240、易失性存儲(chǔ)器250或非易失性存儲(chǔ)器260。
在一些示例中,主機(jī)計(jì)算平臺(tái)210可以包括電路212,其能夠執(zhí)行主機(jī)計(jì)算平臺(tái)110的各種功能元件,這些功能元件可以包括但不限于基本輸入/輸出系統(tǒng)(BIOS)214、操作系統(tǒng)(OS)215、設(shè)備驅(qū)動(dòng)器216或應(yīng)用(App)218。主機(jī)計(jì)算平臺(tái)210還可以包括數(shù)據(jù)結(jié)構(gòu)213。如在下文更多描述的,數(shù)據(jù)結(jié)構(gòu)213可以對(duì)主機(jī)計(jì)算平臺(tái)210的元件(例如BIOS 214或OS 215)可訪問并且可以設(shè)置成至少暫時(shí)存儲(chǔ)與未校正位點(diǎn)信息關(guān)聯(lián)的SPA,用于由非易失性存儲(chǔ)器260對(duì)易失性存儲(chǔ)器250提供的持久存儲(chǔ)器。
根據(jù)一些示例,如在圖2中示出的,NVDIMM 205處的主機(jī)接口220可以包括控制器接口222和存儲(chǔ)器接口224。在一些示例中,控制器接口222可以是SMBus接口,其與2000年8月發(fā)布的SMBus規(guī)范、版本2.0(“SMBus規(guī)范”)兼容地設(shè)計(jì)或操作。對(duì)于這些示例,主機(jī)計(jì)算平臺(tái)210的元件可以通過控制器接口222與控制器230通信。主機(jī)計(jì)算平臺(tái)210的元件還可以通過存儲(chǔ)器接口224通過控制通道227、通過控制開關(guān)240并且然后通過控制通道247訪問易失性存儲(chǔ)器250。在一些示例中,響應(yīng)于NVDIMM 205的NVDIMM 205的缺電或復(fù)位,對(duì)易失性存儲(chǔ)器250的訪問可以由控制開關(guān)240切換到控制器230(通過控制通道237)以使用在易失性存儲(chǔ)器250與非易失性存儲(chǔ)器260之間的耦合的存儲(chǔ)器通道255以將易失性存儲(chǔ)器250的內(nèi)容從非易失性存儲(chǔ)器260恢復(fù)或保存到非易失性存儲(chǔ)器260。通過在缺電或復(fù)位之前保存或恢復(fù)易失性存儲(chǔ)器250的內(nèi)容,非易失性存儲(chǔ)器260可以能夠?qū)VDIMM 205提供持久存儲(chǔ)器。
根據(jù)一些示例,如在圖2中示出的,控制器230可以包括數(shù)據(jù)結(jié)構(gòu)232和電路234。電路234可以能夠執(zhí)行部件或特征以從主機(jī)計(jì)算平臺(tái)210的元件(例如BIOS 214)接收錯(cuò)誤掃描請(qǐng)求。如在下文更多描述的,錯(cuò)誤掃描請(qǐng)求可以關(guān)于掃描非易失性存儲(chǔ)器260的DPA范圍。特征或部件還可以能夠識(shí)別DPA范圍中的未校正錯(cuò)誤并且然后對(duì)BIOS 214指示具有識(shí)別的未校正錯(cuò)誤的DPA。
在一些示例中,數(shù)據(jù)結(jié)構(gòu)232可以包括寄存器,其可以選擇性地被認(rèn)定為對(duì)BIOS 214指示具有識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,BIOS 214可通過控制器接口222訪問這些寄存器。寄存器還可以選擇性地被斷言對(duì)BIOS 214指示錯(cuò)誤掃描狀態(tài)和/或指示數(shù)據(jù)結(jié)構(gòu)232的容量是否足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的全部。
在一些示例中,BIOS 214可以包括由電路212實(shí)現(xiàn)來向控制器230發(fā)送錯(cuò)誤掃描請(qǐng)求的邏輯和/或特征。對(duì)于這些示例,BIOS 214的邏輯和/或特征可以能夠訪問數(shù)據(jù)結(jié)構(gòu)232來確定控制器230是否完成對(duì)非易失性存儲(chǔ)器260的DPA范圍的掃描并且還訪問數(shù)據(jù)結(jié)構(gòu)來讀取具有由控制器在掃描DPA范圍期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的DPA。
根據(jù)一些示例,BIOS 214可以從數(shù)據(jù)結(jié)構(gòu)232訪問DPA和/或具有從數(shù)據(jù)結(jié)構(gòu)232讀取DPA的能力。主機(jī)計(jì)算平臺(tái)210的其他元件(例如OS 215、設(shè)備驅(qū)動(dòng)器216或App 218)可沒有從數(shù)據(jù)結(jié)構(gòu)232訪問或讀取DPA的能力。對(duì)于這些示例,BIOS 214的邏輯和/或特征可以能夠?qū)⒕哂凶R(shí)別的未校正錯(cuò)誤的DPA轉(zhuǎn)換成具有識(shí)別的未校正錯(cuò)誤的SPA。BIOS 214然后可以促使將具有識(shí)別的未校正錯(cuò)誤的SPA存儲(chǔ)到主機(jī)計(jì)算平臺(tái)210處的數(shù)據(jù)結(jié)構(gòu)213。數(shù)據(jù)結(jié)構(gòu)213可以對(duì)主機(jī)計(jì)算平臺(tái)210的其他元件可訪問并且SPA也可以對(duì)這些其他元件可讀。例如,OS 215、設(shè)備驅(qū)動(dòng)器216或App 218可以能夠使用具有識(shí)別的未校正錯(cuò)誤的SPA以避免將主機(jī)計(jì)算平臺(tái)210的系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些SPA。
在一些示例中,BIOS 214還可以從數(shù)據(jù)結(jié)構(gòu)232讀取DPA并且使用對(duì)于這些DPA的識(shí)別的未校正錯(cuò)誤以避免將任何BIOS相關(guān)活動(dòng)映射到這些DPA以便系統(tǒng)200和/或NVDIMM 205的當(dāng)前或后續(xù)啟動(dòng)或復(fù)位。
在一些示例中,數(shù)據(jù)結(jié)構(gòu)213可以包括寄存器,其可以由BIOS 214選擇性地?cái)嘌詫?duì)OS 215、設(shè)備驅(qū)動(dòng)器216或App 218指示具有識(shí)別的未校正錯(cuò)誤的SPA。寄存器還可以選擇性地被斷言指示控制器230的錯(cuò)誤掃描狀態(tài)、具有識(shí)別的未校正錯(cuò)誤的DPA通過BIOS 214到具有識(shí)別的未校正錯(cuò)誤的SPA的任何轉(zhuǎn)換的狀態(tài)和/或指示對(duì)于轉(zhuǎn)換的SPA是否不包括至少一些未校正錯(cuò)誤(例如,由于數(shù)據(jù)結(jié)構(gòu)232的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的全部)。
在一些示例中,易失性存儲(chǔ)器250可以包括易失性存儲(chǔ)器,其與各種類型的易失性存儲(chǔ)器(例如DRAM)關(guān)聯(lián)的一個(gè)或多個(gè)標(biāo)準(zhǔn)或規(guī)范(其包括后代或變體)兼容地設(shè)計(jì)或操作。例如,DRAM類型(例如同步雙數(shù)據(jù)速率DRAM(DDR DRAM))可以包括在易失性存儲(chǔ)器250中并且與DDR DRAM關(guān)聯(lián)的標(biāo)準(zhǔn)或規(guī)范可以包括JEDEC固態(tài)技術(shù)協(xié)會(huì)(“JEDEC”)對(duì)各種DDR代(例如DDR2、DDR3、DDR4或未來DDR代)發(fā)布的那些。一些示例標(biāo)準(zhǔn)或規(guī)范可以包括但不限于在2012年7月發(fā)布的JESD79-3F-“DDR3 SDRAM標(biāo)準(zhǔn)”,或2012年9月發(fā)布的JESD79-4-“DDR4 SDRAM標(biāo)準(zhǔn)”。
根據(jù)一些示例,非易失性存儲(chǔ)器260可以包括一個(gè)或多個(gè)類型的非易失性存儲(chǔ)器以包括但不限于NAND閃速存儲(chǔ)器、NOR閃速存儲(chǔ)器、3D交叉點(diǎn)存儲(chǔ)器、鐵電存儲(chǔ)器、硅-氧化物-氮化物-氧化物-硅(SONOS)存儲(chǔ)器、聚合物存儲(chǔ)器(例如鐵電聚合物存儲(chǔ)器)、鐵電晶體管隨機(jī)存取存儲(chǔ)器(FeTRAM或FeRAM)、奧氏存儲(chǔ)器或納米線。在一些示例中,非易失性存儲(chǔ)器260還可以包括足夠的存儲(chǔ)器容量來接收易失性存儲(chǔ)器250的全部?jī)?nèi)容或易失性存儲(chǔ)器250的內(nèi)容的可能多個(gè)副本。
在一些示例中,電容器組270可以包括一個(gè)或多個(gè)電容器以經(jīng)由電力鏈路277向NVDIMM 205提供至少暫時(shí)電力。一個(gè)或多個(gè)電容器可以能夠存儲(chǔ)足夠能量以持續(xù)足夠時(shí)間對(duì)NVDIMM 205供電以便如果突然斷電或系統(tǒng)復(fù)位導(dǎo)致對(duì)NVDIMM 205的主電力供應(yīng)被切斷或關(guān)斷則使控制器230促使將易失性存儲(chǔ)器250中維持的數(shù)據(jù)保存到非易失性存儲(chǔ)器260。數(shù)據(jù)內(nèi)容由于突然斷電或系統(tǒng)復(fù)位而保存到非易失性存儲(chǔ)器260可以稱為“災(zāi)難性保存”。
圖3圖示示例第三系統(tǒng)。如在圖3中示出的,示例第三系統(tǒng)包括系統(tǒng)300。在一些示例中,如在圖3中示出的,系統(tǒng)300包括主機(jī)計(jì)算平臺(tái)310,其經(jīng)由通信通道315與NVDIMM 305耦合。同樣在圖3中示出的,電容器組370可以經(jīng)由電力鏈路377耦合于NVDIMM 305。在一些示例中,如在圖3中示出的,NVDIMM 305還可以包括主機(jī)接口320、控制器330、控制開關(guān)340或存儲(chǔ)器池350(其具有易失性存儲(chǔ)器352部分和持久存儲(chǔ)器354部分)。
在一些示例中,主機(jī)計(jì)算平臺(tái)310可以包括電路312,其能夠執(zhí)行主機(jī)計(jì)算平臺(tái)110的各種功能元件,這些功能元件可以包括但不限于BIOS 314、OS 315、設(shè)備驅(qū)動(dòng)器316或App 318。主機(jī)計(jì)算平臺(tái)310還可以包括數(shù)據(jù)結(jié)構(gòu)313。如在下文更多描述的,數(shù)據(jù)結(jié)構(gòu)313可以對(duì)主機(jī)計(jì)算平臺(tái)310的元件(例如BIOS 314或OS 315)可訪問,并且可以設(shè)置成至少暫時(shí)存儲(chǔ)與持久存儲(chǔ)器354的未校正錯(cuò)誤位點(diǎn)信息關(guān)聯(lián)的SPA。
根據(jù)一些示例,如在圖3中示出的,NVDIMM 305處的主機(jī)接口320可以包括控制器接口322和存儲(chǔ)器接口324。在一些示例中,控制器接口322可以是SMBus接口。對(duì)于這些示例,主機(jī)計(jì)算平臺(tái)310的元件可以通過控制器接口322與控制器330通信。主機(jī)計(jì)算平臺(tái)310的元件還可以通過存儲(chǔ)器接口324通過控制通道327、通過控制開關(guān)340并且然后通過控制通道347訪問易失性存儲(chǔ)器352。在一些示例中,響應(yīng)于NVDIMM 305缺電或復(fù)位,對(duì)易失性存儲(chǔ)器352的訪問可以由控制開關(guān)340切換到控制器330(通過控制通道337)來將易失性存儲(chǔ)器352的內(nèi)容從持久存儲(chǔ)器354恢復(fù)或保存到持久存儲(chǔ)器354。通過在缺電或復(fù)位之前保存或恢復(fù)易失性存儲(chǔ)器352的內(nèi)容,持久存儲(chǔ)器354可以能夠?qū)VDIMM 305提供持久存儲(chǔ)器。
根據(jù)一些示例,如在圖3中示出的,控制器330可以包括數(shù)據(jù)結(jié)構(gòu)332和電路334。電路334可以能夠執(zhí)行部件或特征以從主機(jī)計(jì)算平臺(tái)310的元件(例如BIOS 314)接收錯(cuò)誤掃描請(qǐng)求。如在下文更多描述的,錯(cuò)誤掃描請(qǐng)求可以關(guān)于掃描持久存儲(chǔ)器354的DPA范圍。部件或特征還可以能夠識(shí)別DPA范圍中的未校正錯(cuò)誤并且然后對(duì)BIOS 314指示具有識(shí)別的未校正錯(cuò)誤的DPA。
在一些示例中,數(shù)據(jù)結(jié)構(gòu)332可以包括寄存器,其可以選擇性地被斷言對(duì)BIOS 314指示具有識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,BIOS 314可以通過控制器接口322訪問這些寄存器。寄存器還可以選擇性地被斷言對(duì)BIOS 314指示錯(cuò)誤掃描狀態(tài)和/或指示數(shù)據(jù)結(jié)構(gòu)332的容量是否足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的全部。
在一些示例中,BIOS 314可以包括由電路312實(shí)現(xiàn)來向控制器330發(fā)送錯(cuò)誤掃描請(qǐng)求的邏輯和/或特征。對(duì)于這些示例,BIOS 314的邏輯和/或特征可以能夠訪問數(shù)據(jù)結(jié)構(gòu)332來確定控制器330是否完成對(duì)持久存儲(chǔ)器354的DPA范圍的掃描并且還訪問數(shù)據(jù)結(jié)構(gòu)332來讀取具有由控制器330在掃描DPA范圍期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的DPA。
根據(jù)一些示例,BIOS 314可以從數(shù)據(jù)結(jié)構(gòu)332訪問DPA和/或具有從數(shù)據(jù)結(jié)構(gòu)332讀取DPA的能力。主機(jī)計(jì)算平臺(tái)310的其他元件(例如OS 315、設(shè)備驅(qū)動(dòng)器316或App 318)可沒有從數(shù)據(jù)結(jié)構(gòu)332訪問或讀取DPA的能力。對(duì)于這些示例,BIOS 314的邏輯和/或特征可以能夠?qū)⒕哂凶R(shí)別的未校正錯(cuò)誤的DPA轉(zhuǎn)換成具有識(shí)別的未校正錯(cuò)誤的SPA。BIOS 314然后可以促使將具有識(shí)別的未校正錯(cuò)誤的SPA存儲(chǔ)到主機(jī)計(jì)算平臺(tái)310處的數(shù)據(jù)結(jié)構(gòu)313。數(shù)據(jù)結(jié)構(gòu)313可以對(duì)主機(jī)計(jì)算平臺(tái)310的其他元件可訪問并且SPA還可以對(duì)這些其他元件可讀。例如,OS 315、設(shè)備驅(qū)動(dòng)器316或App 318可以能夠使用具有識(shí)別的未校正錯(cuò)誤的SPA以避免將主機(jī)計(jì)算平臺(tái)310的系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些SPA。
在一些示例中,BIOS 314還可以從數(shù)據(jù)結(jié)構(gòu)332讀取DPA并且使用對(duì)于這些DPA的識(shí)別的未校正錯(cuò)誤以避免將任何BIOS相關(guān)活動(dòng)映射到這些DPA以便系統(tǒng)300和/或NVDIMM 305的當(dāng)前或后續(xù)啟動(dòng)或復(fù)位。
在一些示例中,數(shù)據(jù)結(jié)構(gòu)313可以包括寄存器,其可以選擇性地被BIOS 314斷言對(duì)OS 315、設(shè)備驅(qū)動(dòng)器316或App 318指示具有識(shí)別的未校正錯(cuò)誤的SPA。寄存器還可以選擇性地被斷言指示控制器330的錯(cuò)誤掃描狀態(tài)、具有識(shí)別的未校正錯(cuò)誤的DPA通過BIOS 214到具有識(shí)別的未校正錯(cuò)誤的SPA的任何轉(zhuǎn)換的狀態(tài)和/或指示對(duì)于轉(zhuǎn)換的SPA是否不包括至少一些未校正錯(cuò)誤(例如,由于數(shù)據(jù)結(jié)構(gòu)232的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的全部)。
在一些示例中,存儲(chǔ)器池350可以包括某一類型的非易失性存儲(chǔ)器,例如但不限于3D交叉點(diǎn)存儲(chǔ)器。在一些示例中,持久存儲(chǔ)器354還可以包括足夠的存儲(chǔ)器容量來接收易失性存儲(chǔ)器352的全部?jī)?nèi)容或易失性存儲(chǔ)器352的內(nèi)容的可能多個(gè)副本。
在一些示例中,電容器組370可以包括一個(gè)或多個(gè)電容器以經(jīng)由電力鏈路377對(duì)NVDIMM 305提供至少暫時(shí)電力。一個(gè)或多個(gè)電容器可以能夠存儲(chǔ)足夠能量以便持續(xù)足夠時(shí)間對(duì)NVDIMM 305供電以便如果突然斷電或系統(tǒng)復(fù)位導(dǎo)致對(duì)NVDIMM 305的主電力供應(yīng)被切斷或關(guān)斷則使控制器330促使將易失性存儲(chǔ)器352中維持的數(shù)據(jù)保存到持久存儲(chǔ)器354。數(shù)據(jù)內(nèi)容由于突然斷電或系統(tǒng)復(fù)位而保存到持久存儲(chǔ)器354可以稱為“災(zāi)難性保存”。
圖4圖示示例過程400。在一些示例中,系統(tǒng)(例如圖1-3中示出的系統(tǒng)100、200或300)的元件可以實(shí)現(xiàn)過程400以利用數(shù)據(jù)結(jié)構(gòu)(例如數(shù)據(jù)結(jié)構(gòu)232/332或213/313)來識(shí)別和傳達(dá)能夠?qū)VDIMM(例如NVDIMM 120-1至120-n或NVDIMM 205/305)提供持久存儲(chǔ)器的非易失性或持久存儲(chǔ)器(例如非易失性存儲(chǔ)器260或持久存儲(chǔ)器354)處的錯(cuò)誤位點(diǎn)。示例不限于系統(tǒng)(例如圖1-3中示出的系統(tǒng)100、200或300)的元件,預(yù)想圖1-3中未示出的主機(jī)計(jì)算平臺(tái)或NVDIMM的其他元件。
根據(jù)一些示例,響應(yīng)于來自BIOS(例如,BIOS 214/314)的錯(cuò)誤掃描請(qǐng)求,控制器(例如,控制器230/330)的邏輯和/或特征可以能夠掃描非易失性或持久存儲(chǔ)器(例如,非易失性存儲(chǔ)器260/持久存儲(chǔ)器254)的DPA范圍并且識(shí)別DPA范圍中的未校正錯(cuò)誤??刂破鞯倪壿嫼?或特征然后可以經(jīng)由圖4中示出為數(shù)據(jù)結(jié)構(gòu)232/332的第一數(shù)據(jù)結(jié)構(gòu)來指示具有識(shí)別的未校正錯(cuò)誤的DPA。例如,對(duì)于第一識(shí)別的未校正錯(cuò)誤位點(diǎn)的第一DPA可以在數(shù)據(jù)結(jié)構(gòu)232/332中在字段420-1中指示,對(duì)于第二識(shí)別的未校正錯(cuò)誤位點(diǎn)的第二DPA可以在字段420-2中指示并且對(duì)于第m個(gè)識(shí)別的未校正錯(cuò)誤位點(diǎn)的第m個(gè)DPA可以在字段420-m中指示,其中“m”等于大于2的任意正整數(shù)。對(duì)于這些示例,數(shù)據(jù)結(jié)構(gòu)323/332可以具有限制“m”個(gè)字段的數(shù)量的容量來指示具有識(shí)別的未校正錯(cuò)誤的DPA。響應(yīng)于DPA具有超出“m”個(gè)字段的數(shù)量的識(shí)別的未校正錯(cuò)誤,控制器的邏輯和/或特征可以利用溢出標(biāo)志字段430來指示第一數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的至少一些。
在一些示例中,如在圖4中示出的,數(shù)據(jù)結(jié)構(gòu)232/332還可以包括錯(cuò)誤掃描狀態(tài)410。對(duì)于這些示例,控制器的邏輯和/或特征可以能夠經(jīng)由錯(cuò)誤掃描狀態(tài)字段410對(duì)BIOS指示錯(cuò)誤掃描狀態(tài)。錯(cuò)誤掃描狀態(tài)可以包括但不限于閑置、在進(jìn)行中或完成錯(cuò)誤掃描狀態(tài)。狀態(tài)字段410中包括的掃描狀態(tài)可以被BIOS定期輪詢和/或控制器可以向BIOS發(fā)送系統(tǒng)管理中斷(SMI)來指示掃描狀態(tài)。
根據(jù)一些示例,BIOS的邏輯和/或特征可以能夠讀取數(shù)據(jù)結(jié)構(gòu)232/332的各種字段來確定控制器是否完成錯(cuò)誤掃描請(qǐng)求、具有識(shí)別的未校正錯(cuò)誤的DPA或控制器是否指示溢出標(biāo)志。對(duì)于這些示例,在確定控制器完成錯(cuò)誤掃描時(shí),BIOS的邏輯和/或特征然后可以將字段420-1至420-m中的DPA轉(zhuǎn)換成SPA并且促使將這些SPA存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)213/313。SPA可以存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)213/313的字段450-1至450-m中來指示具有識(shí)別的未校正錯(cuò)誤的SPA。在一些示例中,主機(jī)計(jì)算平臺(tái)處的OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用可以訪問這些字段并且使用該訪問以避免將系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些SPA。
在一些示例中,如在圖4中示出的,數(shù)據(jù)結(jié)構(gòu)213/313還可以包括錯(cuò)誤掃描狀態(tài)字段440。對(duì)于這些示例,BIOS的邏輯和/或特征可以能夠經(jīng)由錯(cuò)誤掃描狀態(tài)字段440對(duì)OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用指示錯(cuò)誤掃描狀態(tài)。錯(cuò)誤掃描狀態(tài)可以包括但不限于閑置狀態(tài)、控制器當(dāng)前在實(shí)施錯(cuò)誤掃描的指示、控制器完成錯(cuò)誤掃描并且DPA到SPA轉(zhuǎn)換在進(jìn)行中的指示或控制器已經(jīng)完成錯(cuò)誤掃描并且結(jié)果準(zhǔn)備供讀取的指示。
根據(jù)一些示例,BIOS的邏輯和/或特征可以能夠在溢出標(biāo)志字段460中指示控制器是否指示對(duì)于具有存儲(chǔ)在數(shù)據(jù)結(jié)構(gòu)213/313中的識(shí)別未校正錯(cuò)誤的SPA不包括至少一些未校正錯(cuò)誤。如上文提到的,具有識(shí)別的未校正錯(cuò)誤的DPA中的至少一些可以由于DPA具有超出大于“m”值的計(jì)數(shù)值的識(shí)別的未校正錯(cuò)誤而未包括在字段420-1至420-m中。對(duì)于這些示例,如果溢出標(biāo)志字段460指示字段450-1至450-m中對(duì)于SPA不包括一些未校正錯(cuò)誤,OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用可以讀取或復(fù)制這些字段中的SPA。OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用然后可以請(qǐng)求BIOS促使控制器實(shí)施一個(gè)或多個(gè)額外錯(cuò)誤掃描來指示具有之前由于數(shù)據(jù)結(jié)構(gòu)232/332的溢出問題而未被指示的所識(shí)別的未校正錯(cuò)誤的那些DPA或如果那些DPA由控制器存儲(chǔ)但由于溢出問題而未被指示則提供它們。BIOS可以將這些額外DPA轉(zhuǎn)換成SPA,如上文提到的。
圖5圖示示例第一狀態(tài)狀態(tài)機(jī)。在一些示例中,如在圖5中示出的,第一狀態(tài)狀態(tài)機(jī)包括狀態(tài)狀態(tài)機(jī)500。在一些示例中,NVDIMM(例如NVDIMM 205/305)的元件可以具有控制器,例如在圖2-3中示出的控制器230/330。例如,控制器230/330可以包括電路234/334來實(shí)現(xiàn)邏輯和/或特征以根據(jù)狀態(tài)狀態(tài)機(jī)500指示錯(cuò)誤掃描工作的狀態(tài)。錯(cuò)誤掃描可以識(shí)別和傳達(dá)非易失性存儲(chǔ)器(例如能夠?qū)VDIMM 205/305提供持久存儲(chǔ)器的非易失性/持久存儲(chǔ)器260/354)處的錯(cuò)誤位點(diǎn)。
根據(jù)一些示例,狀態(tài)狀態(tài)機(jī)500在狀態(tài)510(閑置)開始,由電路實(shí)現(xiàn)以用于完成非易失性存儲(chǔ)器的錯(cuò)誤掃描的邏輯和/或特征可以具有閑置狀態(tài)。對(duì)于這些示例,如在圖5中示出的,閑置狀態(tài)可以在NVDIMM的NVDIMM復(fù)位(例如,由于電力循環(huán))后。閑置狀態(tài)可以在NVDIMM處在數(shù)據(jù)結(jié)構(gòu)(例如數(shù)據(jù)結(jié)構(gòu)232/332)中指示。
從狀態(tài)510移到狀態(tài)520(錯(cuò)誤掃描在進(jìn)行中),由電路實(shí)現(xiàn)的邏輯和/或特征可以具有錯(cuò)誤掃描進(jìn)行中狀態(tài),其包括響應(yīng)于BIOS(例如BIOS 214/314)請(qǐng)求錯(cuò)誤掃描來掃描對(duì)于非易失性存儲(chǔ)器的DPA范圍。在一些實(shí)施例中,錯(cuò)誤掃描進(jìn)行中狀態(tài)可以在數(shù)據(jù)結(jié)構(gòu)中指示。
從狀態(tài)520移到狀態(tài)530(錯(cuò)誤掃描完成),由電路實(shí)現(xiàn)的邏輯和/或特征可以具有錯(cuò)誤掃描完成狀態(tài)。在一些示例中,在達(dá)到該狀態(tài)時(shí),邏輯和/或特征可以對(duì)BIOS觸發(fā)系統(tǒng)管理中斷(SMI)。對(duì)于這些系統(tǒng),在數(shù)據(jù)結(jié)構(gòu)中指示具有未校正錯(cuò)誤的DPA后可以達(dá)到狀態(tài)530處的完成狀態(tài)使得BIOS可以響應(yīng)于觸發(fā)的SMI訪問那些DPA。由電路實(shí)現(xiàn)的邏輯和/或特征然后可以響應(yīng)于另一個(gè)NVDMM復(fù)位而移回狀態(tài)510的閑置狀態(tài)。
圖6圖示示例第二狀態(tài)狀態(tài)機(jī)。在一些示例中,如在圖6中示出的,第二狀態(tài)狀態(tài)機(jī)包括狀態(tài)狀態(tài)機(jī)600。在一些示例中,主機(jī)計(jì)算平臺(tái)的BIOS(例如如圖2-3中示出的主機(jī)計(jì)算平臺(tái)210/310的BIOS 214/314)的邏輯和/或特征可以具有邏輯和/或特征來指示控制器的錯(cuò)誤掃描工作的狀態(tài),例如具有能夠?qū)VDIMM提供持久存儲(chǔ)器的非易失性存儲(chǔ)器(例如,非易失性或持久存儲(chǔ)器260/354)的NVDIMM(例如,NVDIMM 205/305)上駐存的控制器230/330。指示的狀態(tài)還可以包括在完成錯(cuò)誤掃描工作后DPA到SAP轉(zhuǎn)換的狀態(tài)和結(jié)果何時(shí)被主機(jī)計(jì)算平臺(tái)的其他元件(例如OS 215/315、設(shè)備驅(qū)動(dòng)器216/316或App 218/318,如在圖2-3中示出的)讀取的指示。
根據(jù)一些示例,狀態(tài)狀態(tài)機(jī)600在狀態(tài)610(閑置)開始,BIOS的邏輯和/或特征可以指示NVDIMM處的非易失性或持久存儲(chǔ)器的錯(cuò)誤掃描處于閑置狀態(tài)。對(duì)于這些示例,如在圖6中示出的,閑置狀態(tài)可以在NVDIMM的NVDIMM復(fù)位之后。閑置狀態(tài)可以在計(jì)算平臺(tái)處的第一數(shù)據(jù)結(jié)構(gòu)(例如數(shù)據(jù)結(jié)構(gòu)213/313)中由這些邏輯和/或特征指示。
從狀態(tài)610移到狀態(tài)620(NVDIMM錯(cuò)誤掃描在進(jìn)行中),BIOS的邏輯和/或特征可以指示NVDIMM錯(cuò)誤掃描通過控制器在進(jìn)行中。在一些示例中,如在圖6中示出的,在BIOS請(qǐng)求錯(cuò)誤掃描后可以進(jìn)入該狀態(tài)。對(duì)于這些示例,邏輯和/或特征可以指示在第一數(shù)據(jù)結(jié)構(gòu)中NVDIMM錯(cuò)誤掃描在進(jìn)行中。
從狀態(tài)620移到狀態(tài)630(NVDIMM錯(cuò)誤掃描完成,DPA到SPA轉(zhuǎn)換在進(jìn)行中),BIOS的邏輯和/或特征可以指示控制器已經(jīng)完成NVDIMM錯(cuò)誤掃描并且DPA到SPA轉(zhuǎn)換在進(jìn)行中。在一些示例中,在BIOS輪詢控制器處的第二數(shù)據(jù)結(jié)構(gòu)(例如,數(shù)據(jù)結(jié)構(gòu)232/332)來確定完成錯(cuò)誤掃描時(shí)或在BIOS從控制器接收指示完成的SMI時(shí)可以進(jìn)入該狀態(tài)。
從狀態(tài)630移到狀態(tài)640(NVDIMM完成,結(jié)果準(zhǔn)備供讀?。?,BIOS的邏輯和/或特征可以指示已經(jīng)完成NVDIMM錯(cuò)誤掃描并且結(jié)果準(zhǔn)備供主機(jī)計(jì)算平臺(tái)的元件(例如OS 215/315、設(shè)備驅(qū)動(dòng)器216/316或App 218/318)讀取。根據(jù)一些示例,在完成具有識(shí)別的未校正錯(cuò)誤的DPA到具有識(shí)別的未校正錯(cuò)誤的SPA的轉(zhuǎn)換后可以進(jìn)入該狀態(tài)。對(duì)于這些示例,具有識(shí)別的未校正錯(cuò)誤的SPA可以存儲(chǔ)到第一數(shù)據(jù)結(jié)構(gòu),其可以對(duì)主機(jī)計(jì)算平臺(tái)的這些元件的OS、設(shè)備驅(qū)動(dòng)器或App可訪問以讀取并且然后可能使用來避免將系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些SPA。BIOS的邏輯和/或特征然后可以響應(yīng)于另一個(gè)NVDIMM復(fù)位來指示NVDIMM的錯(cuò)誤掃描的閑置狀態(tài)。
圖7圖示第一裝置700的示例框圖。如在圖7中示出的,第一裝置包括裝置700。盡管圖7中示出的裝置700在某一拓?fù)渲芯哂杏邢迶?shù)量的元件,可以意識(shí)到裝置700可以對(duì)于指定實(shí)現(xiàn)根據(jù)期望在備選拓?fù)渲邪ǜ嗷蚋俚脑?/p>
裝置700可以由用于可耦合于主機(jī)計(jì)算平臺(tái)的NVDIMM的控制器處所維持的電路720支持。電路720可以設(shè)置成執(zhí)行一個(gè)或多個(gè)軟件或固件實(shí)現(xiàn)的部件722-a。值得注意的是“a”和“b”和“c”以及如本文使用的相似指示符規(guī)定為代表任意正整數(shù)的變量。從而,例如,如果實(shí)現(xiàn)設(shè)置a=5的值,則部件722-a的軟件或固件的完整集可以包括部件722-1、722-2、722-3、722-4或722-5。呈現(xiàn)的示例在該上下文中不受限制并且貫穿使用的不同變量可以代表相同或不同整數(shù)值。
根據(jù)一些示例,電路720可以包括處理器或處理器電路。該處理器或處理器電路可以是各種市售處理器中的任一個(gè),其無限制地包括AMD? Athlon?、Duron?和Opteron?處理器;ARM?應(yīng)用、嵌入式和安全處理器;IBM?和Motorola? DragonBall?和PowerPC?處理器;IBM和Sony? Cell處理器;Intel? Atom?、Celeron?、Core(2)Duo?、Core i3、Core i5、Core i7、Itanium?、Pentium?、Xeon?、Xeon Phi?和XScale?處理器;和相似的處理器。根據(jù)一些示例,電路720也可以是專用集成電路(ASIC)并且至少一些部件722-a可以實(shí)現(xiàn)為ASIC的硬件元件。
根據(jù)一些示例,裝置700可以包括接收部件722-1。接收部件722-1可以由電路720執(zhí)行以接收錯(cuò)誤掃描請(qǐng)求。對(duì)于這些示例,錯(cuò)誤掃描請(qǐng)求可以包括在掃描請(qǐng)求710中并且可以從主機(jī)計(jì)算平臺(tái)的BIOS接收。BIOS可以通過控制器接口(其可以包括SMBus接口)與控制器通信耦合。錯(cuò)誤掃描請(qǐng)求可以是針對(duì)掃描NVDIMM處的非易失性存儲(chǔ)器,其能夠?qū)VDIMM提供持久存儲(chǔ)器。
在一些示例中,裝置700還可以包括錯(cuò)誤部件722-2。錯(cuò)誤部件722-2可以由電路720執(zhí)行以響應(yīng)于錯(cuò)誤掃描請(qǐng)求掃描非易失性存儲(chǔ)器的DPA范圍并且識(shí)別該DPA范圍中的未校正錯(cuò)誤。對(duì)于這些示例,掃描可以包括掃描通過DPA范圍來產(chǎn)生數(shù)據(jù)值,其可以用于確定在范圍中包括的一個(gè)或多個(gè)DPA處是否出現(xiàn)未校正錯(cuò)誤。未校正錯(cuò)誤和它們的關(guān)聯(lián)DPA然后可以基于錯(cuò)誤校正電路不能校正可能使用一個(gè)或多個(gè)類型的錯(cuò)誤校正代碼(例如Reed-Solomon代碼)編碼的錯(cuò)誤而識(shí)別。具有識(shí)別的未校正錯(cuò)誤的DPA可以至少暫時(shí)與錯(cuò)誤位點(diǎn)信息723-a一起被維持(例如,維持在查找表(LUT)中)。
根據(jù)一些示例,裝置700還可以包括指示部件722-3。指示部件722-3可以由電路720執(zhí)行來對(duì)主機(jī)計(jì)算平臺(tái)的BIOS指示具有識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,指示部件722-3可以訪問錯(cuò)誤位點(diǎn)信息723-a并且可以在控制器處對(duì)BIOS也可訪問的數(shù)據(jù)結(jié)構(gòu)中指示具有未校正錯(cuò)誤的DPA。位點(diǎn)730可以包括具有識(shí)別的未校正錯(cuò)誤的那些DPA。指示部件722-3還可以在控制器處的數(shù)據(jù)結(jié)構(gòu)中指示錯(cuò)誤部件722-2的錯(cuò)誤掃描的狀態(tài)。狀態(tài)740可以包括狀態(tài)指示。
在一些示例中,裝置700還可以包括中斷部件722-4。中斷部件722-4可以由電路720執(zhí)行以響應(yīng)于完成DPA范圍的掃描向BIOS發(fā)送SMI。對(duì)于這些示例,SMI可以包括在SMI 750中。
在一些示例中,裝置700還可以包括標(biāo)志部件722-5。標(biāo)志部件722-5可以由電路720執(zhí)行來設(shè)置標(biāo)志以指示數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的DPA中的至少一些。對(duì)于這些示例,標(biāo)志可以對(duì)BIOS指示具有識(shí)別的未校正錯(cuò)誤的DPA中的一些未在數(shù)據(jù)結(jié)構(gòu)中指示。標(biāo)志可以包括在標(biāo)志760中。
本文包括代表用于執(zhí)行公開的架構(gòu)的新穎方面的示例方法的邏輯流集。盡管為了解釋的簡(jiǎn)單性目的,本文示出的一個(gè)或多個(gè)方法示出且描述為一系列動(dòng)作,本領(lǐng)域內(nèi)技術(shù)人員將理解并且意識(shí)到這些方法不受動(dòng)作順序的限制。一些動(dòng)作可據(jù)此而采用與本文示出且描述的其他動(dòng)作不同的順序和/或與來自本文示出且描述的其他動(dòng)作同時(shí)出現(xiàn)。例如,本領(lǐng)域內(nèi)技術(shù)人員將理解并且意識(shí)到方法可以備選地表示為一系列相互關(guān)聯(lián)的狀態(tài)或事件,例如在狀態(tài)圖中。此外,對(duì)于新穎的實(shí)現(xiàn)可并不需要方法中圖示的所有動(dòng)作。
邏輯流可以在軟件、固件和/或硬件中實(shí)現(xiàn)。在軟件和固件實(shí)施例中,邏輯流可以由存儲(chǔ)在至少一個(gè)非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì)(例如光、磁或半導(dǎo)體存儲(chǔ))上的計(jì)算機(jī)可執(zhí)行指令實(shí)現(xiàn)。實(shí)施例在該上下文中不受限制。
圖8圖示第一邏輯流的示例。如在圖8中示出的,第一邏輯流包括邏輯流800。邏輯流800可以代表由本文描述的一個(gè)或多個(gè)邏輯、特征或設(shè)備(例如裝置700)執(zhí)行的操作中的一些或全部。更特定地,邏輯流800可以由接收部件722-1、錯(cuò)誤部件722-2、指示部件722-3、中斷部件722-4或標(biāo)志部件722-5實(shí)現(xiàn)。
根據(jù)一些示例,邏輯流800在框802處可以在NVDIMM上駐存的控制器處接收錯(cuò)誤掃描請(qǐng)求。對(duì)于這些示例,接收部件722-1可以接收錯(cuò)誤掃描請(qǐng)求。
在一些示例中,邏輯流800在框804處可以響應(yīng)于錯(cuò)誤掃描請(qǐng)求掃描NVDIMM處的非易失性存儲(chǔ)器的DPA范圍,該非易失性存儲(chǔ)器能夠?qū)VDIMM提供持久存儲(chǔ)器。對(duì)于這些示例,錯(cuò)誤部件722-2可以掃描DPA范圍。
根據(jù)一些示例,邏輯流800在框806處可以識(shí)別DPA范圍中的未校正錯(cuò)誤。對(duì)于這些示例,錯(cuò)誤部件722-2可以對(duì)DPA范圍中的未校正錯(cuò)誤來識(shí)別DPA。
在一些示例中,邏輯流800在框808處可以對(duì)與NVDIMM耦合的主機(jī)計(jì)算平臺(tái)的BIOS指示具有識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,指示部件722-3可以在對(duì)BIOS可訪問的數(shù)據(jù)結(jié)構(gòu)中指示DPA。
圖9圖示第一存儲(chǔ)介質(zhì)的示例。如在圖9中示出的,第一存儲(chǔ)介質(zhì)包括存儲(chǔ)介質(zhì)900。該存儲(chǔ)介質(zhì)900可以包括制造物品。在一些示例中,存儲(chǔ)介質(zhì)900可以包括任何非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì),例如光、磁或半導(dǎo)體存儲(chǔ)。存儲(chǔ)介質(zhì)900可以存儲(chǔ)各種類型的計(jì)算機(jī)可執(zhí)行指令,例如實(shí)現(xiàn)邏輯流800的指令。計(jì)算機(jī)可讀或機(jī)器可讀存儲(chǔ)介質(zhì)的示例可以包括能夠存儲(chǔ)電子數(shù)據(jù)的任何有形介質(zhì),其包括易失性存儲(chǔ)器或非易失性存儲(chǔ)器、可移動(dòng)或不可移動(dòng)存儲(chǔ)器、可擦除或不可擦除存儲(chǔ)器、可寫或可重寫存儲(chǔ)器,等。計(jì)算機(jī)可執(zhí)行指令的示例可以包括任何適合類型的代碼,例如源代碼、編譯代碼、解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼、面向?qū)ο蟮拇a、可視代碼及類似物。示例在該上下文中不受限制。
圖10圖示第二裝置的示例框圖。如在圖10中示出的,第二裝置包括裝置1000。盡管圖10中示出的裝置1000在某一拓?fù)浠蚺渲弥芯哂杏邢迶?shù)量的元件,可以意識(shí)到裝置1000可以對(duì)于指定實(shí)現(xiàn)根據(jù)期望在備選配置中包括更多或更少的元件。
裝置1000可以被主機(jī)計(jì)算平臺(tái)處維持的電路1020支持來實(shí)現(xiàn)主機(jī)計(jì)算平臺(tái)的BIOS的邏輯和/或特征。電路1020可以設(shè)置成執(zhí)行一個(gè)或多個(gè)軟件或固件實(shí)現(xiàn)的部件1022-a。值得注意的是“a”和“b”和“c”以及如本文使用的相似指示符規(guī)定為代表任意正整數(shù)的變量。從而,例如,如果實(shí)現(xiàn)設(shè)置a=7的值,則部件1022-a的軟件或固件的完整集可以包括部件1022-1、1022-2、1022-3、1022-4、1022-5、1022-6或1022-7。呈現(xiàn)的示例在該上下文中不受限制并且貫穿使用的不同變量可以代表相同或不同整數(shù)值。
在一些示例中,如在圖10中示出的,裝置1000包括電路1020。電路1020大體上可以設(shè)置成執(zhí)行一個(gè)或多個(gè)軟件和/或固件部件1022-a。電路1020可以是主機(jī)計(jì)算平臺(tái)的電路的部分,其包括處理核(例如,用作中央處理單元(CPU))。備選地,電路1020可以是主機(jī)計(jì)算平臺(tái)的芯片集中的電路的部分。在任一情景中,電路1020可以是各種市售處理器中的任一個(gè)的一部分以包括但不限于之前對(duì)裝置700的電路720提到的那些。電路1020還可以是雙微處理器、多核處理器和其他多處理器架構(gòu)的部分。根據(jù)一些示例,電路1020還可以是ASIC并且部件1022-a可以實(shí)現(xiàn)為ASIC的硬件元件。
根據(jù)一些示例,裝置1000可以包括請(qǐng)求部件1022-1。請(qǐng)求部件1022-1可以由電路1020執(zhí)行以向與主機(jī)計(jì)算平臺(tái)(其包括裝置1000)耦合的NVDIMM上駐存的控制器發(fā)送錯(cuò)誤掃描請(qǐng)求。NVDIMM可以具有非易失性存儲(chǔ)器,其能夠?qū)VDIMM提供持久存儲(chǔ)器。錯(cuò)誤掃描請(qǐng)求可以是針對(duì)對(duì)未校正錯(cuò)誤掃描非易失性存儲(chǔ)器。對(duì)于這些示例,請(qǐng)求部件1022-1可以經(jīng)由NVDIMM處的控制器接口來訪問NVDIMM處的數(shù)據(jù)結(jié)構(gòu)(例如,寄存器)并且可以響應(yīng)于NVDIMM復(fù)位1005來發(fā)送掃描請(qǐng)求1010,其包括錯(cuò)誤掃描請(qǐng)求。
在一些示例中,裝置1000還可以包括狀態(tài)部件1022-2。狀態(tài)部件1022-2可以由電路1020執(zhí)行以基于輪詢NVDIMM處的數(shù)據(jù)結(jié)構(gòu)的字段或寄存器來確定控制器是否已經(jīng)完成錯(cuò)誤掃描。對(duì)于這些示例,NVDIMM狀態(tài)1015可以包括這樣的對(duì)數(shù)據(jù)結(jié)構(gòu)輪詢的結(jié)果。
根據(jù)一些示例,裝置1000還可以包括SMI部件1022-3。SMI部件1022-3可以由電路1020執(zhí)行來接收由控制器在完成錯(cuò)誤掃描并且識(shí)別具有未校正錯(cuò)誤的DPA時(shí)發(fā)送的SMI。對(duì)于這些示例,SMI可以包括在SMI 1040中。
在一些示例中,裝置1000還可以包括讀取部件1022-4。讀取部件1022-4可以由電路1020執(zhí)行來訪問NVDIMM處的數(shù)據(jù)結(jié)構(gòu)以讀取具有由控制器在掃描DPA范圍期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,讀取DPA可以包括在DPA位點(diǎn)1035中。
根據(jù)一些示例,裝置1000還可以包括轉(zhuǎn)換部件1022-5。轉(zhuǎn)換部件1022-5可以由電路1020執(zhí)行來將具有識(shí)別的未校正錯(cuò)誤的DPA轉(zhuǎn)換成具有識(shí)別的未校正錯(cuò)誤的SPA。對(duì)于這些示例,轉(zhuǎn)換部件1022-5可以至少使這些SPA與錯(cuò)誤位點(diǎn)信息1023-a一起維持(例如,在LUT中)。
根據(jù)一些示例,裝置1000還可以包括存儲(chǔ)部件1022-6。存儲(chǔ)部件1022-6可以由電路1020執(zhí)行來將具有識(shí)別的未校正錯(cuò)誤的SPA存儲(chǔ)到主機(jī)計(jì)算平臺(tái)處的數(shù)據(jù)結(jié)構(gòu)。主機(jī)計(jì)算平臺(tái)處的該數(shù)據(jù)結(jié)構(gòu)可以對(duì)主機(jī)計(jì)算平臺(tái)的OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用可訪問。對(duì)于這些示例,存儲(chǔ)部件1022-6可以首先從錯(cuò)誤位點(diǎn)信息1023-a獲得SPA并且在SPA位點(diǎn)1045中包括具有識(shí)別的未校正錯(cuò)誤的SPA。
根據(jù)一些示例,裝置1000還可以包括標(biāo)志部件1022-7。標(biāo)志部件1022-7可以由電路1020執(zhí)行以確定NVDIMM處的控制器經(jīng)由標(biāo)志1050在NVDIMM處的數(shù)據(jù)結(jié)構(gòu)中設(shè)置標(biāo)志,該標(biāo)志1050指示NVDIMM處的數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有未校正的錯(cuò)誤的DPA中的至少一些。標(biāo)志部件1022-7然后可以經(jīng)由指示該相同信息的標(biāo)志1055在主機(jī)計(jì)算平臺(tái)處設(shè)置另一個(gè)標(biāo)志。對(duì)于這些示例,OS、設(shè)備驅(qū)動(dòng)器或應(yīng)用可以使用標(biāo)志1055來確定對(duì)于SPA位點(diǎn)1045未包括所有未校正錯(cuò)誤并且主機(jī)計(jì)算平臺(tái)的這些元件可以相應(yīng)地作出反應(yīng)。
裝置1000的各種部件和主機(jī)計(jì)算平臺(tái)(其包括裝置1000)可以通過各種類型的通信介質(zhì)而彼此通信耦合來協(xié)調(diào)操作。協(xié)調(diào)可以牽涉單向或雙向信息交換。例如,部件可以采用通過通信介質(zhì)傳達(dá)的信號(hào)的形式傳達(dá)信息。信息可以實(shí)現(xiàn)為對(duì)各種信號(hào)線分配的信號(hào)。在這樣的分配中,每個(gè)消息是信號(hào)。然而,另外的實(shí)施例可以備選地采用數(shù)據(jù)消息。這樣的數(shù)據(jù)消息可以跨各種部件發(fā)送。示例連接包括并行接口、串行接口和總線接口。
本文包括代表用于執(zhí)行公開的架構(gòu)的新穎方面的示例方法的邏輯流集。盡管為了解釋的簡(jiǎn)單性目的,本文示出的一個(gè)或多個(gè)方法示出且描述為一系列動(dòng)作,本領(lǐng)域內(nèi)技術(shù)人員將理解并且意識(shí)到這些方法不受動(dòng)作順序的限制。一些動(dòng)作可據(jù)此而采用與本文示出且描述的其他動(dòng)作不同的順序和/或與來自本文示出且描述的其他動(dòng)作同時(shí)出現(xiàn)。例如,本領(lǐng)域內(nèi)技術(shù)人員將理解并且意識(shí)到方法可以備選地表示為一系列相互關(guān)聯(lián)的狀態(tài)或事件,例如在狀態(tài)圖中。此外,對(duì)于新穎的實(shí)現(xiàn)可并不需要方法中圖示的所有動(dòng)作。
邏輯流可以在軟件、固件和/或硬件中實(shí)現(xiàn)。在軟件和固件實(shí)施例中,邏輯流可由存儲(chǔ)在至少一個(gè)非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì)(例如光、磁或半導(dǎo)體存儲(chǔ))上的計(jì)算機(jī)可執(zhí)行指令實(shí)現(xiàn)。實(shí)施例在該上下文中不受限制。
圖11圖示第二邏輯流的示例。如在圖11中示出的,第二邏輯流包括邏輯流1100。邏輯流1100可以代表由本文描述的一個(gè)或多個(gè)邏輯、特征或設(shè)備(例如裝置1000)執(zhí)行的操作中的一些或全部。更特定地,邏輯流1100可以由請(qǐng)求部件1022-1、狀態(tài)部件1022-2、SMI部件1022-3、讀取部件1022-4、轉(zhuǎn)換部件1022-5、存儲(chǔ)部件1022-6或標(biāo)志部件1022-7實(shí)現(xiàn)。
在圖11中示出的圖示示例中,邏輯流1100在框1102處可以從設(shè)置成實(shí)現(xiàn)主機(jī)計(jì)算平臺(tái)的BIOS的電路向耦合于主機(jī)計(jì)算平臺(tái)的NVDIMM上駐存的控制器發(fā)送錯(cuò)誤掃描請(qǐng)求,該NVDIMM具有能夠?qū)VDIMM提供持久存儲(chǔ)器的非易失性存儲(chǔ)器。對(duì)于這些示例,請(qǐng)求部件1022-1可以促使發(fā)送狀態(tài)請(qǐng)求。
根據(jù)一些示例,邏輯流1100在框1104處可以確定控制器完成響應(yīng)于錯(cuò)誤掃描請(qǐng)求對(duì)非易失性存儲(chǔ)器的DPA范圍的掃描。對(duì)于這些示例,狀態(tài)部件1022-2可以做出該確定。
根據(jù)一些示例,邏輯流1100在框1106處可以訪問NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來讀取具有由控制器在掃描DPA范圍期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的DPA。對(duì)于這些示例,讀取部件1022-3可以訪問第一數(shù)據(jù)結(jié)構(gòu)來讀取DPA。
在一些示例中,邏輯流1100在框1108處可以將具有識(shí)別的未校正錯(cuò)誤的DPA轉(zhuǎn)換成具有識(shí)別的不可校正錯(cuò)誤的SPA。對(duì)于這些示例,轉(zhuǎn)換部件1022-5可以將DPA轉(zhuǎn)換成SPA。
根據(jù)一些示例,邏輯流1100在框1110處可以將具有識(shí)別的不可校正錯(cuò)誤的SPA存儲(chǔ)到對(duì)主機(jī)計(jì)算設(shè)備的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問的第二數(shù)據(jù)結(jié)構(gòu)。對(duì)于這些示例,存儲(chǔ)部件1022-6可以促使將SPA存儲(chǔ)到第二數(shù)據(jù)結(jié)構(gòu)。
圖12圖示第二存儲(chǔ)介質(zhì)的示例。如在圖12中示出的,第二存儲(chǔ)介質(zhì)包括存儲(chǔ)介質(zhì)1200。存儲(chǔ)介質(zhì)1200可以包括制造物品。在一些示例中,存儲(chǔ)介質(zhì)1200可以包括任何非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)或機(jī)器可讀介質(zhì),例如光、磁或半導(dǎo)體存儲(chǔ)。存儲(chǔ)介質(zhì)1200可以存儲(chǔ)各種類型的計(jì)算機(jī)可執(zhí)行指令,例如實(shí)現(xiàn)邏輯流1100的指令。計(jì)算機(jī)可讀或機(jī)器可讀存儲(chǔ)介質(zhì)的示例可以包括能夠存儲(chǔ)電子數(shù)據(jù)的任何有形介質(zhì),其包括易失性存儲(chǔ)器或非易失性存儲(chǔ)器、可移動(dòng)或不可移動(dòng)存儲(chǔ)器、可擦除或不可擦除存儲(chǔ)器、可寫或可重寫存儲(chǔ)器,等。計(jì)算機(jī)可執(zhí)行指令的示例可以包括任何適合類型的代碼,例如源代碼、編譯代碼、解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼、面向?qū)ο蟮拇a、可視代碼及類似物。示例在該上下文中不受限制。
圖13圖示示例計(jì)算平臺(tái)1300。在一些示例中,如在圖13中示出的,計(jì)算平臺(tái)1300可以包括處理部件1340、其他平臺(tái)部件或通信接口1360。根據(jù)一些示例,計(jì)算平臺(tái)1300可以是主機(jī)計(jì)算平臺(tái)的部分,如上文提到的。
根據(jù)一些示例,處理部件1340可以執(zhí)行對(duì)于裝置1000和/或存儲(chǔ)介質(zhì)1200的處理操作或邏輯。處理部件1340可以包括各種硬件元件、軟件元件或兩者的組合。硬件元件的示例可以包括設(shè)備、邏輯設(shè)備、部件、處理器、微處理器、電路、處理器電路、電路元件(例如,晶體管、電阻器、電容器、電感器,等)、集成電路、專用集成電路(ASIC)、可編程邏輯設(shè)備(PLD)、數(shù)字信號(hào)處理器(DSP)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、存儲(chǔ)器單元、邏輯門、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片集等。軟件元件的示例可以包括軟件部件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、設(shè)備驅(qū)動(dòng)器、系統(tǒng)程序、軟件開發(fā)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件部件、例程、子例程、函數(shù)、方法、規(guī)程、軟件接口、應(yīng)用程序接口(API)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任何組合。確定示例是否使用硬件元件和/或軟件元件實(shí)現(xiàn)可以根據(jù)許多因素而變化,例如期望計(jì)算速率、功率水平、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度和其它設(shè)計(jì)或性能約束,如對(duì)于指定示例所期望。
在一些示例中,其他平臺(tái)部件1350可以包括共同計(jì)算元件,例如一個(gè)或多個(gè)處理器、多核處理器、協(xié)同處理器、存儲(chǔ)器單元、芯片集、控制器、外設(shè)、接口、振蕩器、定時(shí)設(shè)備、視頻卡、音頻卡、多媒體輸入/輸出(I/O)部件(例如,數(shù)字顯示器)、電力供應(yīng)等。存儲(chǔ)器單元的示例可以無限制地包括采用一個(gè)或多個(gè)更高速存儲(chǔ)器單元形式的各種類型的計(jì)算機(jī)可讀和機(jī)器可讀存儲(chǔ)介質(zhì),例如只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)RAM(DRAM)、雙數(shù)據(jù)速率DRAM(DDRAM)、同步DRAM(SDRAM)、靜態(tài)RAM(SRAM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、閃速存儲(chǔ)器、聚合物存儲(chǔ)器(例如鐵電聚合物存儲(chǔ)器)、奧氏存儲(chǔ)器、相變或鐵電存儲(chǔ)器、硅-氧化物-氮化物-氧化物-硅(SONOS)存儲(chǔ)器、磁或光卡、例如獨(dú)立盤冗余陣列(RAID)驅(qū)動(dòng)器等設(shè)備陣列、固態(tài)存儲(chǔ)器設(shè)備(例如,USB存儲(chǔ)器)、固態(tài)驅(qū)動(dòng)器(SSD)和適合于存儲(chǔ)信息的任何其他類型的存儲(chǔ)介質(zhì)。
在一些示例中,通信接口1360可以包括邏輯和/或特征來支持通信接口。對(duì)于這些示例,通信接口1360可以包括一個(gè)或多個(gè)通信接口,其根據(jù)各種通信協(xié)議或標(biāo)準(zhǔn)操作以通過直接或網(wǎng)絡(luò)通信鏈路通信。直接通信可以經(jīng)由使用在一個(gè)或多個(gè)工業(yè)標(biāo)準(zhǔn)(其包括子代和變體)中描述的通信協(xié)議或標(biāo)準(zhǔn)而發(fā)生,例如與SMBus規(guī)范、PCI Express規(guī)范關(guān)聯(lián)的那些。網(wǎng)絡(luò)通信可以經(jīng)由使用通信協(xié)議或標(biāo)準(zhǔn)而發(fā)生,例如在電氣和電子工程師協(xié)會(huì)(IEEE)頒布的一個(gè)或多個(gè)以太網(wǎng)標(biāo)準(zhǔn)中描述的那些。例如,一個(gè)這樣的以太網(wǎng)標(biāo)準(zhǔn)可以包括2008年12月發(fā)布的IEEE 802.3-2008:載波感測(cè)多址沖突檢測(cè)(CSMA/CD)接入法和物理層規(guī)范(在下文“IEEE 802.3”)。
計(jì)算平臺(tái)1300可以是計(jì)算設(shè)備的部分,其例如可以是服務(wù)器、服務(wù)器陣列或服務(wù)器場(chǎng)、web服務(wù)器、網(wǎng)絡(luò)服務(wù)器、互聯(lián)網(wǎng)服務(wù)器、工作站、微型計(jì)算機(jī)、主計(jì)算機(jī)、超級(jí)計(jì)算機(jī)、網(wǎng)絡(luò)電器、web電器、分布式計(jì)算系統(tǒng)、多處理器系統(tǒng)、基于處理器的系統(tǒng)或其組合。因此,如適當(dāng)期望的,本文描述的計(jì)算平臺(tái)1300的功能和/或特定配置可以包括在計(jì)算平臺(tái)1300的各種實(shí)施例中或在其中省略。
計(jì)算平臺(tái)1300的部件和特征可以使用分立電路、專用集成電路(ASIC)、邏輯門和/或單芯片架構(gòu)的任何組合實(shí)現(xiàn)。此外,在適當(dāng)情況下,計(jì)算平臺(tái)1300的特征可以使用微控制器、可編程邏輯陣列和/或微處理器或前述的任何組合來實(shí)現(xiàn)。注意硬件、固件和/或軟件元件可以在本文共同或單獨(dú)稱為“邏輯”或“電路”。
應(yīng)意識(shí)到在圖13的框圖中示出的示例計(jì)算平臺(tái)1300可以代表許多潛在實(shí)現(xiàn)的一個(gè)功能描述示例。因此,在附圖中描繪的塊功能的劃分、省略或包含并未推斷用于實(shí)現(xiàn)這些功能的硬件部件、電路、軟件和/或元件將必定在實(shí)施例中劃分、省略或包括。
圖14圖示示例NVDIMM控制器1400。在一些示例中,如在圖14中示出的,NVDIMM控制器1400可以包括處理部件1440、其他平臺(tái)部件1450或通信接口1460。根據(jù)一些示例,NVDIMM控制器1400可以在耦合于主機(jī)計(jì)算平臺(tái)的NVDIMM上駐存或與之一起駐存的NVDIMM控制器中實(shí)現(xiàn)。
根據(jù)一些示例,處理部件1440可以執(zhí)行對(duì)于裝置700和/或存儲(chǔ)介質(zhì)900的處理操作或邏輯。處理部件1440可以包括各種硬件元件、軟件元件或兩者的組合。硬件元件的示例可以包括設(shè)備、邏輯設(shè)備、部件、處理器、微處理器、電路、處理器電路、電路元件(例如,晶體管、電阻器、電容器、電感器,等)、集成電路、專用集成電路(ASIC)、可編程邏輯設(shè)備(PLD)、數(shù)字信號(hào)處理器(DSP)、現(xiàn)場(chǎng)可編程門陣列(FPGA)、存儲(chǔ)器單元、邏輯門、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片集等。軟件元件的示例可以包括軟件部件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、設(shè)備驅(qū)動(dòng)器、系統(tǒng)程序、軟件開發(fā)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、規(guī)程、軟件接口、應(yīng)用程序接口(API)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任何組合。確定示例是否使用硬件元件和/或軟件元件實(shí)現(xiàn)可以根據(jù)許多因素而變化,例如期望計(jì)算速率、功率水平、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度和其它設(shè)計(jì)或性能約束,如對(duì)于指定示例所期望的。
在一些示例中,其他控制器部件1450可以包括共同計(jì)算元件,例如一個(gè)或多個(gè)處理器、多核處理器、協(xié)同處理器、存儲(chǔ)器單元、接口、振蕩器、定時(shí)設(shè)備等。存儲(chǔ)器單元的示例可以無限制地包括采用一個(gè)或多個(gè)更高速存儲(chǔ)器單元形式的各種類型的計(jì)算機(jī)可讀和機(jī)器可讀存儲(chǔ)介質(zhì),例如ROM、RAM、DRAM、DDRAM、SDRAM、SRAM、PROM、EPROM、EEPROM、閃速存儲(chǔ)器或適合于存儲(chǔ)信息的任何其他類型的存儲(chǔ)介質(zhì)。
在一些示例中,通信接口1460可以包括邏輯和/或特征來支持通信接口。對(duì)于這些示例,通信接口1460可以包括一個(gè)或多個(gè)通信接口,其根據(jù)各種通信協(xié)議或標(biāo)準(zhǔn)操作以通過通信鏈路或通道通信。通信可以經(jīng)由使用在一個(gè)或多個(gè)工業(yè)標(biāo)準(zhǔn)(其包括子代和變體)中描述的通信協(xié)議或標(biāo)準(zhǔn)而發(fā)生,例如與PCI Express規(guī)范或SMBus規(guī)范關(guān)聯(lián)的那些。
NVDIMM控制器1400的部件和特征可以使用分立電路、專用集成電路(ASIC)、邏輯門和/或單芯片架構(gòu)的任何組合實(shí)現(xiàn)。此外,在適當(dāng)情況下,NVDIMM控制器1400的特征可以使用微控制器、可編程邏輯陣列和/或微處理器或前述的任何組合來實(shí)現(xiàn)。注意硬件、固件和/或軟件元件可以在本文共同或單獨(dú)稱為“邏輯”或“電路”。
應(yīng)意識(shí)到在圖14的框圖中示出的示例NVDIMM控制器1400可以代表許多潛在實(shí)現(xiàn)的一個(gè)功能描述示例。因此,在附圖中描繪的塊功能的劃分、省略或包含并未推斷用于實(shí)現(xiàn)這些功能的硬件部件、電路、軟件和/或元件將必定在實(shí)施例中劃分、省略或包括。
至少一個(gè)示例的一個(gè)或多個(gè)方面可以由存儲(chǔ)在至少一個(gè)機(jī)器可讀介質(zhì)上的代表性指令來實(shí)現(xiàn),該機(jī)器可讀介質(zhì)代表處理器內(nèi)的各種邏輯,其在被機(jī)器、計(jì)算設(shè)備或系統(tǒng)讀取時(shí)促使該機(jī)器、計(jì)算設(shè)備或系統(tǒng)制造邏輯來執(zhí)行本文描述的技術(shù)。這樣的表示可以存儲(chǔ)在有形的機(jī)器可讀介質(zhì)上并且供應(yīng)給各種客戶或制造設(shè)施來裝入實(shí)際上制作邏輯或處理器的制造機(jī)器。
各種示例可以使用硬件元件、軟件元件或兩者的組合來實(shí)現(xiàn)。在一些示例中,硬件元件可以包括設(shè)備、部件、處理器、微處理器、電路、電路元件(例如,晶體管、電阻器、電容器、電感器,等)、集成電路、ASIC、PLD、DSP、FPGA、存儲(chǔ)器單元、邏輯門、寄存器、半導(dǎo)體器件、芯片、微芯片、芯片集等。在一些示例中,軟件元件可以包括軟件部件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、規(guī)程、軟件接口、API、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任何組合。確定示例是否使用硬件元件和/或軟件元件實(shí)現(xiàn)可根據(jù)許多因素而變化,例如期望計(jì)算速率、功率水平、耐熱性、處理周期預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線速度和其它設(shè)計(jì)或性能約束,如對(duì)于給定實(shí)現(xiàn)所期望的。
一些示例可以包括制造物品或至少一個(gè)計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以包括非暫時(shí)性存儲(chǔ)介質(zhì)來存儲(chǔ)邏輯。在一些示例中,非暫時(shí)性存儲(chǔ)介質(zhì)可以包括能夠存儲(chǔ)電子數(shù)據(jù)的一個(gè)或多個(gè)類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其包括易失性存儲(chǔ)器或非易失性存儲(chǔ)器、可移動(dòng)或不可移動(dòng)存儲(chǔ)器、可擦除或不可擦除存儲(chǔ)器、可寫或可重寫存儲(chǔ)器,等。在一些示例中,邏輯可以包括各種軟件元件,例如軟件部件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例程、子例程、函數(shù)、方法、規(guī)程、軟件接口、API、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任何組合。
根據(jù)一些示例,計(jì)算機(jī)可讀介質(zhì)可以包括非暫時(shí)性存儲(chǔ)介質(zhì)來存儲(chǔ)或維持指令,其在由機(jī)器、計(jì)算設(shè)備或系統(tǒng)執(zhí)行時(shí)促使該機(jī)器、計(jì)算設(shè)備或系統(tǒng)根據(jù)描述的示例執(zhí)行方法和/或操作。指令可以包括任何適合類型的代碼,例如源代碼、編譯代碼、解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼及類似物。指令可以根據(jù)預(yù)定義計(jì)算機(jī)語言、方式或語法實(shí)現(xiàn),用于指示機(jī)器、計(jì)算設(shè)備或系統(tǒng)執(zhí)行某一功能。指令可以使用任何適合的高級(jí)、低級(jí)、面向?qū)ο?、視覺、編譯和/或解釋性編程語言來實(shí)現(xiàn)。
一些示例可以使用表達(dá)“在一個(gè)示例中”或“示例”連同它們的派生物來描述。這些術(shù)語意指連同示例描述的特定特征、結(jié)構(gòu)或特性包括在至少一個(gè)示例中。短語“在一個(gè)示例中”在說明書中的各種地方中的出現(xiàn)不一定都指相同示例。
一些示例可以使用表達(dá)“耦合”和“連接”連同它們的派生物來描述。這些術(shù)語不一定規(guī)定為彼此的同義詞。例如,使用術(shù)語“連接”和/或“耦合”的描述可以指示兩個(gè)或以上元件彼此直接物理或電接觸。然而,術(shù)語“耦合”還可以意指兩個(gè)或以上元件彼此不直接接觸,但仍彼此共同操作或交互。
下列示例關(guān)于本文公開的技術(shù)的額外示例。
示例1. 示例裝置可以包括NVDIMM上駐存的控制器處的電路。該裝置還可以包括接收部件以供電路執(zhí)行來接收錯(cuò)誤掃描請(qǐng)求。裝置還可以包括錯(cuò)誤部件以供電路執(zhí)行。響應(yīng)于錯(cuò)誤掃描請(qǐng)求,錯(cuò)誤部件可以掃描NVDIMM處的非易失性存儲(chǔ)器的設(shè)備物理地址范圍并且識(shí)別該設(shè)備物理地址范圍中的未校正錯(cuò)誤。對(duì)于該示例,非易失性存儲(chǔ)器可以能夠?qū)VDIMM提供持久存儲(chǔ)器。裝置還可以包括指示部件以供電路執(zhí)行來對(duì)與NVDIMM耦合的計(jì)算平臺(tái)的BIOS指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址。
示例2. 示例1的裝置還可以包括中斷部件以供電路執(zhí)行以響應(yīng)于完成設(shè)備物理地址范圍的掃描而向BIOS發(fā)送系統(tǒng)管理中斷。
示例3. 示例1的裝置,指示部件指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址可以包括經(jīng)由NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來指示。對(duì)于該示例,BIOS可以能夠訪問第一數(shù)據(jù)結(jié)構(gòu)來讀取指示的設(shè)備物理地址并且將設(shè)備物理地址轉(zhuǎn)換成系統(tǒng)物理地址,其然后維持在對(duì)計(jì)算平臺(tái)的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問的第二數(shù)據(jù)結(jié)構(gòu)中。
示例4. 示例3的裝置,第一數(shù)據(jù)結(jié)構(gòu)可以包括駐存在NVDIMM上的第一寄存器,其對(duì)控制器和BIOS可訪問。對(duì)于該示例,第二數(shù)據(jù)結(jié)構(gòu)可以包括駐存在計(jì)算平臺(tái)上的第二寄存器,其對(duì)BIOS和操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例5. 示例3的裝置,指示部件可以經(jīng)由第一數(shù)據(jù)結(jié)構(gòu)對(duì)BIOS指示錯(cuò)誤掃描狀態(tài),其包括閑置狀態(tài)、進(jìn)行中狀態(tài)或完成狀態(tài)中的一個(gè)。
示例6. 示例3的裝置還可以包括標(biāo)志部件以供電路執(zhí)行來設(shè)置標(biāo)志以指示數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址中的至少一些。
示例7. 示例1的裝置,接收部件可以在計(jì)算平臺(tái)的電力循環(huán)或NVDIMM復(fù)位后接收錯(cuò)誤掃描請(qǐng)求。
示例8. 示例1的裝置,非易失性存儲(chǔ)器可以包括3維交叉點(diǎn)存儲(chǔ)器、閃速存儲(chǔ)器、鐵電存儲(chǔ)器、SONOS、聚合物存儲(chǔ)器、納米線、FeTRAM或FeRAM中的至少一個(gè)。
示例9. 方法可以包括在NVDIMM上駐存的控制器處接收錯(cuò)誤掃描請(qǐng)求。該方法還可以包括響應(yīng)于錯(cuò)誤掃描請(qǐng)求掃描NVDIMM處的非易失性存儲(chǔ)器的設(shè)備物理地址范圍。對(duì)于該示例,非易失性存儲(chǔ)器可以能夠?qū)VDIMM提供持久存儲(chǔ)器。方法還可以包括識(shí)別設(shè)備物理地址范圍中的未校正錯(cuò)誤并且對(duì)與NVDIMM耦合的計(jì)算平臺(tái)的BIOS指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址。
示例10. 示例9的方法還可以包括響應(yīng)于完成設(shè)備物理地址范圍的掃描來向BIOS發(fā)送系統(tǒng)管理中斷。
示例11. 示例9的方法,指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址可以包括經(jīng)由NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來指示。對(duì)于該示例,BIOS可以能夠訪問第一數(shù)據(jù)結(jié)構(gòu)來讀取指示的設(shè)備物理地址并且將設(shè)備物理地址轉(zhuǎn)換成系統(tǒng)物理地址,其然后維持在對(duì)計(jì)算平臺(tái)的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問的第二數(shù)據(jù)結(jié)構(gòu)中。
示例12. 示例11的方法,第一數(shù)據(jù)結(jié)構(gòu)可以包括駐存在NVDIMM上的第一寄存器,其對(duì)控制器和BIOS可訪問。對(duì)于該示例,第二數(shù)據(jù)結(jié)構(gòu)可以包括駐存在計(jì)算平臺(tái)上的第二寄存器,其對(duì)BIOS和操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例13. 示例11的方法還可以包括經(jīng)由第一數(shù)據(jù)結(jié)構(gòu)對(duì)BIOS指示錯(cuò)誤掃描狀態(tài),其包括閑置狀態(tài)、進(jìn)行中狀態(tài)或完成狀態(tài)中的一個(gè)。
示例14. 示例11的方法還可以包括設(shè)置標(biāo)志來指示數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址中的至少一些。
示例15. 示例的方法,在計(jì)算平臺(tái)的電力循環(huán)或NVDIMM復(fù)位后接收錯(cuò)誤掃描請(qǐng)求。
示例16. 示例9的方法,非易失性存儲(chǔ)器可以包括3維交叉點(diǎn)存儲(chǔ)器、閃速存儲(chǔ)器、鐵電存儲(chǔ)器、SONOS、聚合物存儲(chǔ)器、納米線、FeTRAM或FeRAM中的至少一個(gè)。
示例17. 至少一個(gè)機(jī)器可讀介質(zhì)可以包括多個(gè)指令,其響應(yīng)于被NVDIMM上駐存的控制器執(zhí)行而可以促使控制器實(shí)施根據(jù)示例9至16中的任一個(gè)的方法。
示例18. 裝置可以包括用于執(zhí)行示例9至16中的任一個(gè)的方法的部件。
示例19. 至少一個(gè)機(jī)器可讀介質(zhì),其包括多個(gè)指令,這些指令響應(yīng)于被非易失性雙列直插式存儲(chǔ)器模塊NVDIMM上駐存的控制器執(zhí)行而可以促使控制器接收錯(cuò)誤掃描請(qǐng)求。指令還可以促使控制器響應(yīng)于錯(cuò)誤掃描請(qǐng)求掃描NVDIMM處的非易失性存儲(chǔ)器的設(shè)備物理地址范圍。對(duì)于該示例,非易失性存儲(chǔ)器可以能夠?qū)VDIMM提供持久存儲(chǔ)器。指令還可以促使控制器識(shí)別設(shè)備物理地址范圍中的未校正錯(cuò)誤并且對(duì)與NVDIMM耦合的計(jì)算平臺(tái)的BIOS指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址。
示例20. 示例19的至少一個(gè)機(jī)器可讀介質(zhì),指令還可以促使控制器響應(yīng)于完成設(shè)備物理地址范圍的掃描來向BIOS發(fā)送系統(tǒng)管理中斷。
示例21. 示例19的至少一個(gè)機(jī)器可讀介質(zhì),指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址可以包括經(jīng)由NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來指示。對(duì)于該示例,BIOS可以能夠訪問第一數(shù)據(jù)結(jié)構(gòu)來讀取指示的設(shè)備物理地址并且將設(shè)備物理地址轉(zhuǎn)換成系統(tǒng)物理地址,其然后維持在對(duì)計(jì)算平臺(tái)的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問的第二數(shù)據(jù)結(jié)構(gòu)中。
示例22. 示例21的至少一個(gè)機(jī)器可讀介質(zhì),第一數(shù)據(jù)結(jié)構(gòu)可以包括駐存在NVDIMM上的第一寄存器,其對(duì)控制器和BIOS可訪問。第二數(shù)據(jù)結(jié)構(gòu)可以包括駐存在計(jì)算平臺(tái)上的第二寄存器,其對(duì)BIOS和操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例23. 示例21的至少一個(gè)機(jī)器可讀介質(zhì),指令還可以促使控制器經(jīng)由第一數(shù)據(jù)結(jié)構(gòu)對(duì)BIOS指示錯(cuò)誤掃描狀態(tài),其包括閑置狀態(tài)、進(jìn)行中狀態(tài)或完成狀態(tài)中的一個(gè)。
示例24. 示例21的至少一個(gè)機(jī)器可讀介質(zhì),指令還可以促使控制器設(shè)置標(biāo)志以指示數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址中的至少一些。
示例25. 示例19的至少一個(gè)機(jī)器可讀介質(zhì),在計(jì)算平臺(tái)的電力循環(huán)或NVDIMM復(fù)位后接收錯(cuò)誤掃描請(qǐng)求。
示例26. 示例19所述的至少一個(gè)機(jī)器可讀介質(zhì),非易失性存儲(chǔ)器包括3維交叉點(diǎn)存儲(chǔ)器、閃速存儲(chǔ)器、鐵電存儲(chǔ)器、SONOS、聚合物存儲(chǔ)器、納米線、FeTRAM或FeRAM中的至少一個(gè)。
示例27. 方法可以包括從設(shè)置成實(shí)現(xiàn)計(jì)算平臺(tái)的BIOS的電路向耦合于計(jì)算平臺(tái)的NVDIMM上駐存的控制器發(fā)送錯(cuò)誤掃描請(qǐng)求。對(duì)于該示例,NVDIMM可以具有非易失性存儲(chǔ)器,其能夠?qū)VDIMM提供持久存儲(chǔ)器。方法還可以包括確定控制器完成響應(yīng)于錯(cuò)誤掃描請(qǐng)求對(duì)非易失性存儲(chǔ)器的設(shè)備物理地址范圍的掃描。方法還可以包括訪問NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來讀取具有由控制器在設(shè)備物理地址范圍的掃描期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址并且將具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址轉(zhuǎn)換成具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址。
示例28. 示例27的方法還可以包括將具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址存儲(chǔ)到第二數(shù)據(jù)結(jié)構(gòu),其對(duì)計(jì)算平臺(tái)的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例29. 示例28的方法,操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可以能夠使用具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址以避免將對(duì)于計(jì)算平臺(tái)的系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些系統(tǒng)物理地址。
示例30. 示例28的方法,第一數(shù)據(jù)結(jié)構(gòu)可以包括駐存在NVDIMM上的第一寄存器,其對(duì)控制器和BIOS可訪問。對(duì)于該示例,第二數(shù)據(jù)結(jié)構(gòu)可以包括駐存在計(jì)算平臺(tái)上的第二寄存器,其對(duì)BIOS和操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例31. 示例28的方法,確定控制器完成掃描可以基于輪詢第一數(shù)據(jù)結(jié)構(gòu)。對(duì)于該示例,第一數(shù)據(jù)結(jié)構(gòu)可以能夠在輪詢時(shí)對(duì)BIOS指示錯(cuò)誤掃描狀態(tài)。對(duì)于該示例,錯(cuò)誤掃描狀態(tài)還可以包括進(jìn)行中狀態(tài)或完成狀態(tài)中的一個(gè)。
示例32. 示例28的方法還可以包括確定控制器在第一數(shù)據(jù)結(jié)構(gòu)中設(shè)置標(biāo)志,其指示第一數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有未校正錯(cuò)誤的設(shè)備物理地址中的至少一些。方法還可以包括對(duì)操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器指示對(duì)于存儲(chǔ)在第二數(shù)據(jù)結(jié)構(gòu)中的具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址不包括至少一些未校正的錯(cuò)誤。
示例33. 示例27的方法,發(fā)送錯(cuò)誤掃描請(qǐng)求可以在計(jì)算平臺(tái)的電力循環(huán)或NVDIMM復(fù)位后。
示例34. 示例27的方法,非易失性存儲(chǔ)器可以包括3維交叉點(diǎn)存儲(chǔ)器、閃速存儲(chǔ)器、鐵電存儲(chǔ)器、SONOS、聚合物存儲(chǔ)器、納米線、FeTRAM或FeRAM中的至少一個(gè)。
示例35. 至少一個(gè)機(jī)器可讀介質(zhì)可以包括多個(gè)指令,其響應(yīng)于被計(jì)算平臺(tái)處的系統(tǒng)執(zhí)行而可以促使該系統(tǒng)實(shí)施根據(jù)示例27至34中的任一個(gè)的方法。
示例36. 裝置可以包括用于執(zhí)行示例27至34中的任一個(gè)的方法的部件。
示例37. 至少一個(gè)機(jī)器可讀介質(zhì)可以包括多個(gè)指令,其響應(yīng)于被系統(tǒng)執(zhí)行而可以促使該系統(tǒng)向耦合于計(jì)算平臺(tái)的NVDIMM上駐存的控制器發(fā)送錯(cuò)誤掃描請(qǐng)求,該系統(tǒng)具有設(shè)置成實(shí)現(xiàn)計(jì)算平臺(tái)的BIOS的電路。對(duì)于該示例,NVDIMM可以具有非易失性存儲(chǔ)器,其能夠?qū)VDIMM提供持久存儲(chǔ)器。指令還可以促使系統(tǒng)確定控制器完成響應(yīng)于錯(cuò)誤掃描請(qǐng)求對(duì)非易失性存儲(chǔ)器的設(shè)備物理地址范圍的掃描。指令還可以促使系統(tǒng)訪問NVDIMM處駐存的第一數(shù)據(jù)結(jié)構(gòu)來讀取具有由控制器在設(shè)備物理地址范圍的掃描期間識(shí)別的所識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址并且將具有識(shí)別的未校正錯(cuò)誤的設(shè)備物理地址轉(zhuǎn)換成具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址。
示例38. 示例37的至少一個(gè)機(jī)器可讀介質(zhì),指令還可以促使系統(tǒng)將具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址存儲(chǔ)到對(duì)計(jì)算平臺(tái)的操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問的第二數(shù)據(jù)結(jié)構(gòu)。
示例39. 示例38的至少一個(gè)機(jī)器可讀介質(zhì),操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可以能夠使用具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址以避免將對(duì)于計(jì)算平臺(tái)的系統(tǒng)存儲(chǔ)器映射到具有識(shí)別的未校正錯(cuò)誤的那些系統(tǒng)物理地址。
示例40. 示例38的至少一個(gè)機(jī)器可讀介質(zhì),第一數(shù)據(jù)結(jié)構(gòu)可以包括駐存在NVDIMM上的第一寄存器,其對(duì)控制器和BIOS可訪問。對(duì)于該示例,第二數(shù)據(jù)結(jié)構(gòu)可以包括駐存在計(jì)算平臺(tái)上的第二寄存器,其對(duì)BIOS和操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器可訪問。
示例41. 示例38的至少一個(gè)機(jī)器可讀指令,指令可以進(jìn)一步促使系統(tǒng)基于輪詢第一數(shù)據(jù)結(jié)構(gòu)確定控制器完成掃描。對(duì)于該示例,第一數(shù)據(jù)結(jié)構(gòu)可以能夠在輪詢時(shí)對(duì)BIOS指示錯(cuò)誤掃描狀態(tài)。錯(cuò)誤掃描狀態(tài)還可以包括進(jìn)行中狀態(tài)或完成狀態(tài)中的一個(gè)。
示例42. 示例38的至少一個(gè)機(jī)器可讀介質(zhì),指令還可以促使系統(tǒng)確定控制器在第一數(shù)據(jù)結(jié)構(gòu)中設(shè)置標(biāo)志,其指示第一數(shù)據(jù)結(jié)構(gòu)的容量不足以指示具有未校正錯(cuò)誤的設(shè)備物理地址中的至少一些。指令還可以促使系統(tǒng)對(duì)操作系統(tǒng)或設(shè)備驅(qū)動(dòng)器指示對(duì)于在第二數(shù)據(jù)結(jié)構(gòu)中存儲(chǔ)的具有識(shí)別的未校正錯(cuò)誤的系統(tǒng)物理地址不包括至少一些未校正的錯(cuò)誤。
示例43. 示例37的至少一個(gè)機(jī)器可讀介質(zhì),可以在計(jì)算平臺(tái)的電力循環(huán)或NVDIMM復(fù)位后發(fā)送錯(cuò)誤掃描請(qǐng)求。
示例44. 示例37的至少一個(gè)機(jī)器可讀介質(zhì),非易失性存儲(chǔ)器可以包括3維交叉點(diǎn)存儲(chǔ)器、閃速存儲(chǔ)器、鐵電存儲(chǔ)器、SONOS、聚合物存儲(chǔ)器、納米線、FeTRAM或FeRAM中的至少一個(gè)。
強(qiáng)調(diào)提供本公開的摘要以遵守37 C.F.R.章節(jié)1.72(b),從而需要將允許讀者快速弄清本技術(shù)公開的本質(zhì)的摘要。提交摘要要理解為它將不用于解釋或限制權(quán)利要求的范圍或含義。另外,在前面的詳細(xì)描述中,可以看到為了簡(jiǎn)化公開的目的而在單個(gè)實(shí)施例中將各種特征組合在一起。該公開的方法不解釋為反映要求保護(hù)的示例比在每個(gè)權(quán)利要求中明確詳述的特征要求更多特征這樣的意圖。相反,如下列權(quán)利要求反映的,發(fā)明性主旨在于比單個(gè)公開的示例的所有特征要少。從而,下列權(quán)利要求以此并入詳細(xì)描述,其中每個(gè)權(quán)利要求立足于它自身作為獨(dú)立的示例。在附上的權(quán)利要求中,術(shù)語“包括”和“在…中”分別用作相應(yīng)術(shù)語“包含”和“其中”的簡(jiǎn)明語言等同物。此外,術(shù)語“第一”、“第二”、“第三”等僅用作標(biāo)號(hào),并且不意在對(duì)它們的對(duì)象施加數(shù)值要求。
盡管主旨已經(jīng)以結(jié)構(gòu)特征和/或方法行為特定的語言描述,要理解在附上的權(quán)利要求中限定的主旨不一定局限于上文描述的特定特征或動(dòng)作。相反,上文描述的特定特征和動(dòng)作作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開。