背景技術(shù):
1.背景和相關(guān)技術(shù)
固態(tài)驅(qū)動(dòng)器(ssd)制造商經(jīng)?;谂c非(nand)數(shù)據(jù)表中的最大電流規(guī)范設(shè)計(jì)電源電路。與非數(shù)據(jù)表可以包括用于與非的最大均方根(rms)電流。然而,與非數(shù)據(jù)表通常包括關(guān)于與非的功率特性的很少(若有的話)附加信息。
在運(yùn)行期間,與非芯片的真實(shí)電流汲取頻繁展示接近3xrms電流的尖峰(甚至可能更高)。例如,跨ssd與非陣列中的若干管芯的電流尖峰可能同時(shí)出現(xiàn)。同時(shí)的電流尖峰可能破壞ssd的電源電路,使得ssd發(fā)生故障。僅基于與非數(shù)據(jù)表中的信息,電路設(shè)計(jì)者可能意識(shí)不到電流尖峰的潛在幅值。
標(biāo)準(zhǔn)測試技術(shù)可以用于獲得用于與非的一些附加功率特性信息。然而標(biāo)準(zhǔn)測試技術(shù)很少捕獲由于同時(shí)功率尖峰而引起的損壞功率情況,因?yàn)橹鳈C(jī)生成的工作負(fù)荷通常并不特別地一次影響多個(gè)(或所有)與非管芯。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明擴(kuò)展到用于測試存儲(chǔ)設(shè)備電源電路的方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。存儲(chǔ)設(shè)備控制器包括控制器固件和控制器存儲(chǔ)裝置。測試程序嵌在存儲(chǔ)設(shè)備控制器中。在一個(gè)方面中,存儲(chǔ)設(shè)備控制器接收發(fā)起功率測試的命令。存儲(chǔ)設(shè)備控制器響應(yīng)于接收命令執(zhí)行測試程序。測試程序訪問測試矩陣。測試矩陣包括多個(gè)存儲(chǔ)設(shè)備組件命令模式(例如,與非命令模式)。
測試程序使用測試矩陣來測試由多個(gè)存儲(chǔ)設(shè)備組件共享(例如,由與非快閃存儲(chǔ)器設(shè)備的陣列共享)的共享電源電路的功率性能。從控制器向多個(gè)存儲(chǔ)設(shè)備組件發(fā)布多個(gè)命令模式中的每個(gè)命令模式。標(biāo)識(shí)引起共享電源電路中的最大總電流汲取的命令模式。
在另一個(gè)方面中,存儲(chǔ)設(shè)備控制器接收發(fā)起所指定存儲(chǔ)設(shè)備組件命令模式(例如,所指定的與非命令模式)的命令。測試程序響應(yīng)于接收命令,訪問所指定的存儲(chǔ)設(shè)備組件命令模式。測試程序通過從存儲(chǔ)設(shè)備控制器向一個(gè)或多個(gè)存儲(chǔ)設(shè)備組件發(fā)布所指定的存儲(chǔ)設(shè)備組件命令模式來測試一個(gè)或多個(gè)存儲(chǔ)設(shè)備組件的功率特性。所指定的存儲(chǔ)設(shè)備組件命令模式可以被發(fā)布多次。
本發(fā)明內(nèi)容被提供為以簡化形式介紹下面在具體實(shí)施方式中進(jìn)一步描述的概念的選擇。該發(fā)明內(nèi)容不旨在標(biāo)識(shí)所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)主題的范圍。
本發(fā)明的另外特征和優(yōu)點(diǎn)將在下面的描述中闡述,并且部分將從描述變得明顯,或者可以通過實(shí)踐本發(fā)明來了解。本發(fā)明的特征和優(yōu)點(diǎn)可以借助于在所附權(quán)利要求中特別指出的手段和組合來實(shí)現(xiàn)并獲得。本發(fā)明的這些和其他特征將從以下描述和所附權(quán)利要求變得更充分明顯,或者可以通過如下文中闡述的本發(fā)明的實(shí)踐來了解。
附圖說明
為了描述可以獲得本發(fā)明的上述和其他優(yōu)點(diǎn)和特征的方式,將參照在附圖中圖示的本發(fā)明的具體實(shí)現(xiàn)來提出對上面簡略描述的本發(fā)明的更具體的描述。理解這些附圖僅描繪了本發(fā)明的一些實(shí)現(xiàn)且因此不被認(rèn)為限制本發(fā)明范圍,將通過使用附圖來另外具體且詳細(xì)地描述并說明本發(fā)明,附圖中:
圖1圖示了促進(jìn)測試存儲(chǔ)設(shè)備電源電路的示例計(jì)算機(jī)架構(gòu)。
圖2圖示了用于測試存儲(chǔ)設(shè)備電源電路的示例方法的流程圖。
圖3圖示了用于測試存儲(chǔ)設(shè)備電源電路的示例方法的流程圖。
具體實(shí)施方式
本發(fā)明擴(kuò)展到用于測試存儲(chǔ)設(shè)備電源電路的方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。在一個(gè)方面中,存儲(chǔ)設(shè)備控制器包括控制器固件和控制器存儲(chǔ)裝置。測試程序嵌在存儲(chǔ)設(shè)備控制器中。存儲(chǔ)設(shè)備控制器接收發(fā)起功率測試的命令。存儲(chǔ)設(shè)備控制器響應(yīng)于接收命令而執(zhí)行測試程序。測試程序訪問測試矩陣。測試矩陣包括多個(gè)存儲(chǔ)設(shè)備組件命令模式(例如,與非命令模式)。
測試程序使用測試矩陣來測試由多個(gè)存儲(chǔ)設(shè)備組件共享(例如,由與非快閃存儲(chǔ)器設(shè)備的陣列共享)的共享電源電路的功率性能。從控制器向多個(gè)存儲(chǔ)設(shè)備組件發(fā)布多個(gè)命令模式中的每個(gè)命令模式。標(biāo)識(shí)引起共享電源電路中的最大總電流汲取的命令模式。
在另一個(gè)方面中,存儲(chǔ)設(shè)備控制器接收發(fā)起所指定存儲(chǔ)設(shè)備組件命令模式(例如,所指定的與非命令模式)的命令。測試程序響應(yīng)于接收命令來訪問所指定的存儲(chǔ)設(shè)備組件命令模式。測試程序通過從存儲(chǔ)設(shè)備控制器向一個(gè)或多個(gè)存儲(chǔ)設(shè)備組件發(fā)布所指定的存儲(chǔ)設(shè)備組件命令模式來測試一個(gè)或多個(gè)存儲(chǔ)設(shè)備組件的功率特性。所指定的存儲(chǔ)設(shè)備組件命令模式可以被發(fā)布多次。
本發(fā)明的實(shí)現(xiàn)可以包括或使用專用或通用計(jì)算機(jī),該計(jì)算機(jī)包括計(jì)算機(jī)硬件,諸如例如,一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器,如下面更詳細(xì)討論的。本發(fā)明范圍內(nèi)的實(shí)現(xiàn)還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這種計(jì)算機(jī)可讀介質(zhì)可以是可以由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任意可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,用示例的方式且不限制,本發(fā)明的實(shí)現(xiàn)可以包括至少兩個(gè)明顯不同種類的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)和傳輸介質(zhì)。
計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)包括ram、rom、eeprom、cd-rom、固態(tài)驅(qū)動(dòng)器(“ssd”)、快閃存儲(chǔ)器、相變存儲(chǔ)器(“pcm”)、其他類型的存儲(chǔ)器、其他光盤存儲(chǔ)器、磁盤存儲(chǔ)器或其他磁存儲(chǔ)設(shè)備或可以用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼裝置且可以由通用或?qū)S糜?jì)算機(jī)訪問的任意其他介質(zhì)。
“網(wǎng)絡(luò)”被定義為使得能夠在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳送電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)通過網(wǎng)絡(luò)或另一通信連接(硬接線的、無線的或硬接線或無線的組合的)向計(jì)算機(jī)傳送或提供信息時(shí),計(jì)算機(jī)將連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可以包括網(wǎng)絡(luò)和/或可以用于承載計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的期望程序代碼裝置且可以由通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
進(jìn)一步地,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件時(shí),計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可以從傳輸介質(zhì)自動(dòng)傳送到計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈路接收的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可以被緩沖在網(wǎng)絡(luò)接口模塊(例如,“nic”)內(nèi)的ram中,然后最終被傳送到計(jì)算機(jī)系統(tǒng)ram和/或計(jì)算機(jī)系統(tǒng)處更不易失的計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。由此,應(yīng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)可以被包括在也(或甚至主要)使用傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。
計(jì)算機(jī)可執(zhí)行指令例如包括當(dāng)在處理器處執(zhí)行時(shí)使得通用計(jì)算機(jī)、專用計(jì)算機(jī)或?qū)S锰幚碓O(shè)備執(zhí)行特定功能或特定功能組的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令例如可以是二進(jìn)制、中間格式指令(諸如匯編語言甚至源代碼)。雖然已經(jīng)用特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語言描述了主題,但要理解,所附權(quán)利要求中定義的主題不是必須限于上面描述的所述特征或動(dòng)作。相反,所述特征和動(dòng)作被公開為實(shí)現(xiàn)權(quán)利要求的示例形式。
本領(lǐng)域技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置(包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持設(shè)備、可穿戴設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)pc、微計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、pda、平板電腦、尋呼機(jī)、手表、路由器、交換機(jī)等)的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐。本發(fā)明還可以在分布式系統(tǒng)環(huán)境中實(shí)踐,在分布式系統(tǒng)環(huán)境中,借助網(wǎng)絡(luò)(由硬接線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路或由硬接線和無線數(shù)據(jù)鏈路的組合)鏈接的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)這兩者執(zhí)行任務(wù)。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備兩者中。
本發(fā)明還可以實(shí)現(xiàn)在云計(jì)算環(huán)境中。在該描述和以下權(quán)利要求中,“云計(jì)算”被定義為用于使能對可配置計(jì)算資源的共享池的按需網(wǎng)絡(luò)訪問的模型。例如,可以在市場中采用云計(jì)算,以提供對可配置計(jì)算資源的共享池的普遍存在且方便的按需訪問。可配置計(jì)算資源的共享池可以經(jīng)由虛擬化被快速供應(yīng),并被發(fā)布為具有低的管理努力或服務(wù)供應(yīng)商交互,并然后被相應(yīng)地縮放。
云計(jì)算模型可以包括各種特性,諸如例如,按需自助服務(wù)、廣泛的網(wǎng)絡(luò)訪問、資源池化、快速彈性、可計(jì)量服務(wù)等。云計(jì)算模型還可以顯露各種服務(wù)模型,諸如例如,軟件即服務(wù)(“saas”)、平臺(tái)即服務(wù)(“paas”)以及基礎(chǔ)設(shè)施即服務(wù)(“iaas”)。云計(jì)算模型還可以使用不同部署模型(諸如私有云、社區(qū)云、公共云、混合云等)來部署。在該描述且在權(quán)利要求中,“云計(jì)算環(huán)境”是采用云計(jì)算的環(huán)境。
在該說明書且在以下權(quán)利要求中,“快閃存儲(chǔ)器”被定義為可以電擦除且重編程的電子非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。
在該說明書和以下權(quán)利要求中,“或非(nor)快閃存儲(chǔ)器”被定義為個(gè)體快閃存儲(chǔ)器單元的內(nèi)部特性呈現(xiàn)類似于或非門的特性的特性的快閃存儲(chǔ)器。
在該說明書和以下權(quán)利要求中,“與非(nand)快閃存儲(chǔ)器”被定義為獨(dú)立快閃存儲(chǔ)器單元的內(nèi)部特性成像類似于與非門的特性的特性的快閃存儲(chǔ)器。
在該說明書中且在以下權(quán)利要求中,“固態(tài)驅(qū)動(dòng)器”被定義為使用集成電路組件來永久存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)設(shè)備。固態(tài)驅(qū)動(dòng)器(ssd)的集成電路組件可以包括用于存儲(chǔ)數(shù)據(jù)的“與非”或“或非”快閃存儲(chǔ)器設(shè)備。
在該說明書且在以下權(quán)利要求中,“通用串行總線”(usb)快閃存儲(chǔ)器被定義為使用具有集成usb接口的與非快閃存儲(chǔ)器設(shè)備的數(shù)據(jù)存儲(chǔ)設(shè)備。
圖1圖示了促進(jìn)測試存儲(chǔ)設(shè)備電源電路的示例計(jì)算機(jī)架構(gòu)100。參照圖1,計(jì)算機(jī)架構(gòu)100包括固態(tài)驅(qū)動(dòng)器(ssd)101和計(jì)算機(jī)系統(tǒng)112。ssd101和計(jì)算機(jī)系統(tǒng)112中的每一個(gè)可以通過網(wǎng)絡(luò)(或其一部分)(諸如例如,系統(tǒng)總線、局域網(wǎng)(“l(fā)an”)、廣域網(wǎng)(“wan”)以及甚至因特網(wǎng))連接到彼此。因此,ssd101和計(jì)算機(jī)系統(tǒng)112中的每一個(gè)以及任意其他被連接的計(jì)算機(jī)系統(tǒng)及其組件可以通過網(wǎng)絡(luò)創(chuàng)建消息相關(guān)數(shù)據(jù)并交換消息相關(guān)數(shù)據(jù)(例如,系統(tǒng)總線消息、因特網(wǎng)協(xié)議(“ip”)數(shù)據(jù)電報(bào)以及使用ip數(shù)據(jù)電報(bào)的其他更高層協(xié)議(諸如傳輸控制協(xié)議(“tcp”)、超文本傳輸協(xié)議(“http”)、簡單郵件傳輸協(xié)議(“smtp”)等、其他非數(shù)據(jù)電報(bào)協(xié)議等))。
如所描繪的,固態(tài)驅(qū)動(dòng)器(ssd)101還包括控制器102、與非陣列108以及共享電源電路113。控制器102包括固件103和存儲(chǔ)裝置106。與非陣列108包括多個(gè)與非快閃存儲(chǔ)器設(shè)備(包括與非設(shè)備108a、108b、108c等)。與非設(shè)備108a、108b、108c等可以用于在ssd101處永久地存儲(chǔ)數(shù)據(jù)。與非設(shè)備108a、108b、108c等均從共享電源電路113接收功率。
控制器102可以是處理器,該處理器執(zhí)行固件級代碼以執(zhí)行各種功能,諸如例如,糾錯(cuò)、磨損均衡、壞塊映射、讀取擦洗、讀取和寫入緩存、垃圾收集等。
ssd101還包括輸入121、122、123以及124。
通常,其他設(shè)備可以通過輸入121向ssd101提交工作負(fù)荷。例如,計(jì)算機(jī)系統(tǒng)112可以通過輸入121向ssd101提交工作負(fù)荷119。工作負(fù)荷可以指示在與非陣列108內(nèi)存儲(chǔ)、移動(dòng)、復(fù)制、讀取、擦除、重寫等數(shù)據(jù)(例如,文件)。控制器102可以將工作負(fù)荷翻譯成對應(yīng)的與非命令。例如,控制器102可以將工作負(fù)荷119翻譯成一個(gè)或多個(gè)與非命令。控制器102可以向與非陣列108發(fā)送與非命令,以實(shí)現(xiàn)在工作負(fù)荷119中表達(dá)的意圖。用于實(shí)現(xiàn)工作負(fù)荷的與非命令可以包括讀取、寫入以及擦除以及在控制器和與非陣列之間傳送數(shù)據(jù)的任意其他命令。
固件103包括測試程序104。測試程序104可以被執(zhí)行為測試與非陣列108或內(nèi)部所包括的一個(gè)或多個(gè)與非設(shè)備的功率特性。在一個(gè)方面中,測試程序104包括用于在執(zhí)行期間生成測試矩陣的可執(zhí)行代碼。在另一個(gè)方面中,測試程序104指代存儲(chǔ)裝置106中的測試矩陣,諸如例如,測試矩陣107。
測試矩陣可以包含可以向與非陣列108或內(nèi)部包括的一個(gè)或多個(gè)與非設(shè)備發(fā)布的多個(gè)不同命令模式。每個(gè)不同命令模式可以包括要按指定順序和/或以指定時(shí)刻向與非陣列108或內(nèi)部包括的一個(gè)或多個(gè)與非設(shè)備發(fā)布的與非命令(例如,寫入、讀取、擦除等)的不同組合。與非陣列108可以接收命令模式并跨一個(gè)或多個(gè)(并且有可能為全部)與非設(shè)備實(shí)現(xiàn)命令模式。
在一個(gè)方面中,在測試矩陣中的不同命令模式中,至少一個(gè)命令模式相對于測試矩陣中的其他命令模式引起與非陣列108和/或共享電源電路113中的更高電流汲取。引起更高電流汲取的命令模式可以在被標(biāo)識(shí)并可能地單獨(dú)存儲(chǔ)在存儲(chǔ)裝置106中。在另一個(gè)方面中,在發(fā)布命令模式期間,命令模式可能引起使得與非陣列108和/或共享電源電路113發(fā)生故障或另外以不期望的方式運(yùn)行的足夠高的電流汲取。引起故障或非期望運(yùn)行的命令模式可以在被標(biāo)識(shí)并可能地單獨(dú)存儲(chǔ)在存儲(chǔ)裝置106中(例如,存儲(chǔ)在日志109中)。
其他設(shè)備(諸如例如,計(jì)算機(jī)系統(tǒng)112)可以向輸入122提交瀏覽測試矩陣中的命令模式的請求??刂破?02可以在輸入122處檢測請求,并且發(fā)起測試程序104,以瀏覽測試矩陣中的每個(gè)命令模式。其他設(shè)備(諸如例如,計(jì)算機(jī)系統(tǒng)112)可以向輸入123提交運(yùn)行指定命令模式(或命令模式的指定子集)的請求??刂破?02可以在輸入123處檢測請求,并且發(fā)起運(yùn)行特定命令模式(或命令模式的特定子集)的測試程序10。在一個(gè)方面中,當(dāng)在輸入123處檢測到請求時(shí),控制器102發(fā)起測試程序104,以運(yùn)行先前被標(biāo)識(shí)為引起與非陣列108和/或共享電源電路113中更高的電流汲取的命令模式。在另一個(gè)方面中,當(dāng)在輸入123處檢測到請求時(shí),控制器102發(fā)起測試程序104,以運(yùn)行先前被標(biāo)識(shí)為引起與非陣列108和/或共享電源電路113處的故障或非期望操作的命令模式。
測試程序104可以用于合格性設(shè)置或生產(chǎn)設(shè)置中,以測試與非陣列108和/或共享電源電路113的功率特性。外部監(jiān)測設(shè)備(諸如例如,儀表或鏡(scope))可以電連接到與非陣列108和/或共享電源電路113。當(dāng)在與非陣列處實(shí)現(xiàn)不同命令模式時(shí),外部監(jiān)測設(shè)備可以監(jiān)測與非陣列108和/或共享電源電路113的組件處的電特性。外部監(jiān)測設(shè)備可以向輸入124提交反饋??刂破?02可以在輸入124處從外部監(jiān)測設(shè)備接收反饋??刂破?02可以將反饋(或其部分)存儲(chǔ)在存儲(chǔ)裝置106中(諸如,例如,存儲(chǔ)在日志109中)。在一個(gè)方面中,命令模式連同在命令模式的實(shí)現(xiàn)期間監(jiān)測的與非108的功率特性一起存儲(chǔ)。
圖2圖示了用于測試存儲(chǔ)設(shè)備電源電路的示例方法200的流程圖。將關(guān)于計(jì)算機(jī)架構(gòu)100的組件和數(shù)據(jù)描述方法200。
方法200包括在控制器處接收發(fā)起功率測試的命令(201)。例如,計(jì)算機(jī)系統(tǒng)112可以向輸入122發(fā)送測試命令131??刂破?02可以在輸入122處接收測試命令131。方法200包括響應(yīng)于接收命令而執(zhí)行嵌在控制器中的測試程序(202)。例如,控制器102可以響應(yīng)于測試命令131執(zhí)行測試程序104(該程序嵌在固件103中)。
方法200包括測試程序訪問測試矩陣,該測試矩陣包括多個(gè)快閃存儲(chǔ)器命令模式(203)。例如,在一個(gè)方面中,測試程序104從存儲(chǔ)裝置106訪問測試矩陣107。如所述的,測試矩陣107包括命令模式107a、107b、107c等。另選地,在另一個(gè)方面中,測試程序104執(zhí)行可執(zhí)行代碼的一部分,以生成測試矩陣107。
方法200包括測試程序使用測試矩陣來測試快閃存儲(chǔ)器設(shè)備的陣列的功率性能(204)。例如,測試程序104可以使用測試矩陣107來測試與非陣列108和/或共享電源電路113的功率性能。
測試快閃存儲(chǔ)器設(shè)備的陣列的功率性能包括對于在多個(gè)快閃存儲(chǔ)器命令模式中的每個(gè)快閃存儲(chǔ)器命令模式,從控制器向快閃存儲(chǔ)器設(shè)備的陣列發(fā)布快閃存儲(chǔ)器命令模式(205)。例如,測試程序104可以向與非陣列108發(fā)布命令模式107a、107b、107c等中的每一個(gè)。與非陣列108可以嘗試在接收命令模式107a、107b、107c等中的每一個(gè)時(shí)實(shí)現(xiàn)命令模式107a、107b、107c等。如所述的,命令模式可以包括與非命令(包括讀取、寫入、擦除以及在控制器和與非陣列之間傳送數(shù)據(jù)的任意其他命令)的時(shí)間序列。
監(jiān)測設(shè)備141(諸如例如,儀表或鏡)可以電連接到共享電源電路113和/或個(gè)體與非設(shè)備108a、108b、108c等的電源電路。監(jiān)測設(shè)備141可以在實(shí)現(xiàn)命令模式時(shí)監(jiān)測共享電源電路113處和/或個(gè)體與非設(shè)備的電源電路處的功率特性。監(jiān)測設(shè)備141可以向輸入124和/或另一個(gè)計(jì)算機(jī)系統(tǒng)(例如,計(jì)算機(jī)系統(tǒng)112)發(fā)送反饋142(例如,電源電路上的所測量電流汲取)??刂破?02可以在輸入124處接收反饋142。測試程序124可以將命令模式和命令模式的對應(yīng)反饋記錄在日志109中。
監(jiān)測設(shè)備141可以被包括在計(jì)算機(jī)系統(tǒng)112中或與計(jì)算機(jī)設(shè)備112分離。
計(jì)算機(jī)系統(tǒng)112和/或另一個(gè)計(jì)算機(jī)系統(tǒng)還可以維持命令模式和對應(yīng)的反饋142,以供隨后使用和分析。
測試快閃存儲(chǔ)器設(shè)備的陣列的功率性能包括標(biāo)識(shí)引起快閃存儲(chǔ)器設(shè)備的陣列中的最大總電流汲取的快閃存儲(chǔ)器命令模式(206)。例如,基于各種不同命令模式的反饋142,測試程序104(或計(jì)算機(jī)系統(tǒng)112處或某一其他計(jì)算機(jī)系統(tǒng)處的模塊)可以將命令模式107c標(biāo)識(shí)為引起與非陣列108和/或共享電源電路113中的最大總電流汲取的命令模式。
測試程序104可以將命令模式107c單獨(dú)地存儲(chǔ)在存儲(chǔ)裝置106中(和/或可以向計(jì)算機(jī)系統(tǒng)112或某一其他計(jì)算機(jī)系統(tǒng)發(fā)送命令模式107c的指示)。命令模式107c然后可以用于更嚴(yán)格地測試與非陣列108的功率性能。例如,可以在一時(shí)間段期間以指定時(shí)間間隔(例如,在微秒或毫秒的量級上)向與非陣列108(重復(fù)地)發(fā)布命令模式107c。
由此可見,測試程序104可以實(shí)質(zhì)上搜索測試矩陣107,以標(biāo)識(shí)引起與非陣列108和/或共享電源電路113中的更高電流汲取的命令模式。測試程序104還可以搜索測試矩陣107,以標(biāo)識(shí)引起與非陣列108和/或共享電源電路113處故障或其他非期望操作的命令模式。例如,測試程序104可以系統(tǒng)地前進(jìn)穿過最大數(shù)量的運(yùn)行每種類型的操作(例如,讀取、寫入、擦除以及在控制器和與非陣列之間傳送數(shù)據(jù)的任意其他命令)的與非設(shè)備。
快閃存儲(chǔ)器設(shè)備的陣列(例如,與非陣列)在實(shí)現(xiàn)引起更高電流汲取的一個(gè)或多個(gè)命令模式中的任意一個(gè)時(shí)可以能夠如期望的運(yùn)行。由此可見,測試程序104可以標(biāo)識(shí)相對于其他命令模式引起快閃存儲(chǔ)器設(shè)備的陣列(例如,與非陣列)中的最高可能電流汲取的命令模式。另一方面,可以存在任意數(shù)目的命令模式,其在被實(shí)現(xiàn)時(shí)使得快閃存儲(chǔ)器設(shè)備的陣列(例如,與非陣列)和/或共享電源電路(例如,由于超過電組件的性能的電流汲取)發(fā)生故障或另外以非期望方式運(yùn)行。測試程序104可以標(biāo)識(shí)引起快閃存儲(chǔ)器設(shè)備的陣列和/或共享電源電路中的故障和/或其他非期望操作的任意命令模式。
在一個(gè)方面中,測試矩陣107被配置為實(shí)現(xiàn)如下情況,激活陣列(例如,與非陣列108)中的所有快閃存儲(chǔ)器設(shè)備,以便更完全地測試ssd101的電源電路設(shè)計(jì)。
圖3圖示了用于測試存儲(chǔ)設(shè)備電源電路的示例方法300的流程圖。將關(guān)于計(jì)算機(jī)架構(gòu)100的組件和數(shù)據(jù)描述方法300。
方法300包括在控制器處接收發(fā)起功率測試的命令,功率測試先前從用于測試快閃存儲(chǔ)器設(shè)備的陣列的功率特性的多個(gè)功率測試中標(biāo)識(shí),功率測試定義快閃存儲(chǔ)器命令的模式(301)。例如,計(jì)算機(jī)系統(tǒng)112可以向輸入123發(fā)送特定模式命令132??刂破?02可以在輸入123處接收特定模式命令132。特定模式命令132可以是發(fā)起先前從測試矩陣107標(biāo)識(shí)的所指定命令模式的命令。
在一個(gè)方面中,特定模式命令132請求發(fā)布引起更高電流汲取的命令模式。例如,特定模式命令132可以是發(fā)起命令模式107c的命令。特定模式命令132具體可以標(biāo)識(shí)命令模式107c。另選地,輸入123具體可以被配置用于當(dāng)在輸入123處檢測到請求時(shí)觸發(fā)所標(biāo)識(shí)更高電流汲取命令模式的發(fā)起。
在其他方面中,輸入123可以用于標(biāo)識(shí)在測試矩陣107中包含的任意命令模式(不管測試矩陣107是單獨(dú)存儲(chǔ)還是由測試程序104在運(yùn)行時(shí)生成)。
方法300包括響應(yīng)于接收命令執(zhí)行嵌在控制器中的測試程序(302)。例如,控制器102可以響應(yīng)于接收特定模式命令132而執(zhí)行測試程序104(該程序嵌在固件103中)。方法300包括測試程序訪問功率測試(303)。例如,測試程序104可以訪問命令模式107c(或某一其他指定的命令模式)。測試程序104可以從存儲(chǔ)器106訪問命令模式107c(或某一其他指定的命令模式)。另選地,測試程序104可以在運(yùn)行時(shí)生成命令模式107c(或某一其他指定的命令模式)。
方法300包括測試程序通過從控制器向一個(gè)或多個(gè)快閃存儲(chǔ)器設(shè)備發(fā)布命令的模式來測試在快閃存儲(chǔ)器設(shè)備的陣列中包括的一個(gè)或多個(gè)快閃存儲(chǔ)器設(shè)備的功率特性(304)。例如,控制器102可以向與非陣列108或內(nèi)部包括的一個(gè)或多個(gè)與非設(shè)備發(fā)布命令模式107c,以測試以下內(nèi)容中的一個(gè)或多個(gè):與非陣列108的功率特性、與非陣列中包括的一個(gè)或多個(gè)與非設(shè)備的功率特性以及共享電源電路113的功率特性。與非陣列108或內(nèi)部包括的一個(gè)或多個(gè)與非設(shè)備可以實(shí)現(xiàn)命令序列107c。如所述的,命令模式可以包括與非命令(包括讀取、寫入、擦除以及在控制器和與非陣列之間傳送數(shù)據(jù)的任意其他命令)的時(shí)間序列。
在一個(gè)方面中,控制器102以指定的時(shí)間間隔(例如,在微秒或毫秒的量級上)向與非陣列108重復(fù)發(fā)布命令模式107c。當(dāng)在與非陣列108處重復(fù)實(shí)現(xiàn)命令模式107c時(shí),監(jiān)測設(shè)備141可以監(jiān)測與非陣列108和/或共享電源電路113隨著時(shí)間的功率特性。監(jiān)測設(shè)備141可以向控制器102提供反饋。
本發(fā)明的方面還可以應(yīng)用于測試通用串行總線(usb)閃盤驅(qū)動(dòng)器中包括的與非陣列。測試程序可以嵌在usb控制器中。測試程序可以(可能從測試矩陣)向usb閃盤驅(qū)動(dòng)器中的與非設(shè)備發(fā)布命令模式??梢杂涗浺鸶唠娏骷橙 ⒁鸸收匣蛞鹌渌瞧谕僮鞯拿钅J?。
本發(fā)明的方面還可以用于測試其他類型的存儲(chǔ)設(shè)備(諸如例如,磁驅(qū)動(dòng)器、光驅(qū)動(dòng)器、基于或非(nor)的快閃存儲(chǔ)器等)的電源組件。在一個(gè)方面中,測試程序被嵌在磁硬盤驅(qū)動(dòng)器的控制器中的固件中。測試程序可以發(fā)布不同的命令模式,以使用在磁硬盤驅(qū)動(dòng)器的多個(gè)組件之中共享的共享電源電路。測試程序還可以使用不同命令模式來跨一個(gè)或多個(gè)磁盤片使用讀/寫頭??梢杂涗浺鸶唠娏骷橙 ⒐收匣蚱渌瞧谕僮鞯拿钅J?。
本發(fā)明的方面可以被調(diào)整為解釋存儲(chǔ)設(shè)備處的限制。測試開發(fā)人員在設(shè)計(jì)測試程序和/或測試矩陣時(shí)可以考慮對飛行中(in-flight)操作的數(shù)量的限制。例如,可以是控制器的緩沖器空間可以容納指定數(shù)量的飛行中讀取。由此可見,測試程序可以被設(shè)計(jì)為限制關(guān)于一種類型的操作(例如,讀取操作)有效的指定數(shù)量的與非設(shè)備,但具有關(guān)于其他類型的操作有效的其他與非設(shè)備。測試程序還可以被設(shè)計(jì)為考慮數(shù)據(jù)傳送和快閃存儲(chǔ)器操作是否使用同一功率軌。
本發(fā)明可以在不偏離其精神或必要特性的情況下以其他指定形式來實(shí)現(xiàn)。所述實(shí)施方式要在所有方面僅被認(rèn)為是說明性的而不是限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求而不是由前述描述來指示。進(jìn)入權(quán)利要求等同物的意義和范圍內(nèi)的所有變化要包含在它們的范圍內(nèi)。