FS是手機(jī)存儲(chǔ)設(shè)備,因此對(duì)功耗要求很高。我們來(lái)看看UFS的電源管理。
三個(gè)供電電壓,VCC,VCCQ和VCCQ2,分別給UFS設(shè)備模塊供電。UFS設(shè)備主要包括三部分:前端UFS接口(M-PHY),UFS控制器和閃存介質(zhì)(圖中的Memory模塊)。VCC給閃存介質(zhì)供電,VCCQ一般給閃存輸入輸出接口和UFS控制器供電,VCCQ2一般給M-PHY或其它一些低電壓模塊供電。
UFS2.1中,三者電壓值為:
我們知道,UFS協(xié)議采用MIPI的M-PHY作為物理層和UniPro作為其數(shù)據(jù)鏈路層。M-PHY有高速模式(High Speed Mode, HS-MODE)和低速模式 (Low Speed Mode, LS-MODE)。其中,高速模式下,M-PHY有兩種狀態(tài):STALL和HS-BURST。
低速模式下,M-PHY有三種狀態(tài):LINE-CFG,SLEEP和PWM-BURST。
當(dāng)鏈路上沒(méi)有數(shù)據(jù)傳輸時(shí),M-PHY會(huì)自動(dòng)切換到STALL或者SLEEP狀態(tài)下,這兩種狀態(tài)為省電狀態(tài)。
除此之外,M-PHY還有一種更加省電的狀態(tài),那就是HIBERN8 (Hibernate,休眠狀態(tài)),這種狀態(tài)下,M-PHY極為省電。UFS主機(jī)和UFS設(shè)備不可能一直交互數(shù)據(jù),總有閑下來(lái)的時(shí)候。當(dāng)UFS主機(jī)沒(méi)有讀寫(xiě)UFS設(shè)備,它會(huì)讓彼此鏈路進(jìn)入休眠狀態(tài),即HIBERN8。那UFS主機(jī)如何通知M-PHY切換到休眠狀態(tài)呢?
前面提到,設(shè)備管理器可以略過(guò)傳輸層,直接管理與控制互聯(lián)層:
主機(jī)設(shè)備管理器可以通過(guò)原語(yǔ)(Primitive)直接與UFS互聯(lián)層(UIC,即MIPI的UniPro和M-PHY)通信。除了上圖中所示的reset原語(yǔ),UFS還包括讓UIC進(jìn)入和退出休眠的原語(yǔ):DME_HIBERNATE_ENTER和DME_HIBERNATE_EXIT。
這是UFS主機(jī)和設(shè)備之間鏈路的省電模式,對(duì)UFS設(shè)備來(lái)說(shuō),鏈路只是整個(gè)UFS設(shè)備的一部分。一個(gè)UFS設(shè)備是否省電,除了看其鏈路,還需要考慮UFS控制器、存儲(chǔ)介質(zhì)等是否省電,即看整個(gè)UFS設(shè)備是否有好的電源管理。
UFS定義了4種基本功耗模式:Active,Idle,Power Down和Sleep(簡(jiǎn)稱AIDS),外加3個(gè)過(guò)渡功耗模式:Pre-Active, Pre-Sleep和Pre-PowerDown,一共是7種功耗模式。非常4+3!
Active模式:UFS設(shè)備在執(zhí)行命令或者做后臺(tái)任務(wù)(Background Operation)時(shí)處于這種狀態(tài);
Idle模式:UFS設(shè)備空閑時(shí),即既沒(méi)有來(lái)自UFS主機(jī)的命令,自身也沒(méi)有后臺(tái)任務(wù)需要處理,設(shè)備就處于該狀態(tài);
Sleep模式:閑得瞌睡了。睡眠模式下,VCC電源可能被切斷(取決UFS設(shè)備設(shè)計(jì))。VCC一般給閃存供電,即切斷閃存供電。
Power Down模式:掉電模式下,所有電源供電VCC, VCCQ和VCCQ2都可能被掐斷(取決UFS設(shè)備設(shè)計(jì)),該模式是最省電的功耗模式了。
這些模式之間的轉(zhuǎn)換如下圖:
我們看到,觸發(fā)模式之間轉(zhuǎn)換的很多是SSU,那么什么是SSU? SSU是Start Stop Unit的縮寫(xiě),它是UFS協(xié)議中的一個(gè)基本命令,主機(jī)用它來(lái)切換UFS設(shè)備的功耗模式。
具體命令可以參看UFS spec。
注意,UFS設(shè)備的這些功耗狀態(tài),和前面說(shuō)的M-PHY接口的STALL,SLEEP或者HIBERN8狀態(tài)是獨(dú)立的,兩者沒(méi)有必然聯(lián)系。比如,當(dāng)前M-PHY處于HIBERN8狀態(tài),UFS設(shè)備可以處于以上狀態(tài)中的任何一種,比如UFS設(shè)備可以是處于Active狀態(tài),沒(méi)有要求說(shuō)你休眠了我也得跟著休眠。
一個(gè)優(yōu)秀的員工,不是老板push一下,然后才往前走一步,而是能主動(dòng)的去承擔(dān)一些任務(wù)。一個(gè)好的UFS設(shè)備,不是等著主機(jī)發(fā)功耗切換命令來(lái)進(jìn)入省電模式,而是自己能主動(dòng)做一些事情來(lái)省電。
下面就是一個(gè)優(yōu)秀UFS設(shè)備需要具備的素質(zhì)。
比如,UFS剛上電時(shí),UFS進(jìn)入Active狀態(tài),一段時(shí)間如果沒(méi)有來(lái)自主機(jī)的命令,自己內(nèi)部也沒(méi)有后臺(tái)任務(wù)要處理,UFS設(shè)備將進(jìn)入Idle狀態(tài)。Idle意味著無(wú)事可做,這時(shí)候主機(jī)也沒(méi)有發(fā)任何SSU命令要求UFS設(shè)備進(jìn)入指定的狀態(tài)(老板也沒(méi)有叫你去做什么),好的UFS設(shè)備,這個(gè)時(shí)候就要想想怎么去省電。舉例來(lái)說(shuō),如果當(dāng)前M-PHY處于HIBERN8狀態(tài),說(shuō)明主機(jī)目前不會(huì)訪問(wèn)UFS設(shè)備,因此,UFS設(shè)備可以做一些節(jié)能設(shè)計(jì):比如把當(dāng)前UFS設(shè)備的軟硬件上下文保存到閃存,然后切斷所有電源以達(dá)到省電目的。待M-PHY接口退出HIBERN8狀態(tài),UFS設(shè)備上電,然后把軟硬件上下文加載運(yùn)行。
老板沒(méi)有叫你去干活,你主動(dòng)的去把活干了,這樣的員工哪個(gè)老板不喜歡?
省電和用戶體驗(yàn)(命令響應(yīng)快慢)其實(shí)是個(gè)矛盾。因?yàn)槿绻鸘FS設(shè)備休眠了,它就不能及時(shí)的響應(yīng)主機(jī)的命令,因?yàn)樗枰韧顺鲂菝撸ū热缧枰研菝咧氨4娴纳舷挛闹匦录虞d,這往往比較花時(shí)間),然后再響應(yīng)主機(jī)命令。睡覺(jué)是個(gè)技術(shù)活,在追求最大節(jié)能的同時(shí),還要兼顧用戶體驗(yàn)。
-
電源管理
+關(guān)注
關(guān)注
115文章
6185瀏覽量
144627 -
UFS
+關(guān)注
關(guān)注
6文章
104瀏覽量
24081
原文標(biāo)題:蛋蛋讀UFS之十:UFS電源管理
文章出處:【微信號(hào):SSDFans,微信公眾號(hào):SSDFans】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論