UFS之Power Mode
UFS支援7種Power Mode,其中4種基本模式和3種過渡模式。通過START STOP UNIT命令和其他一些屬性控制。電源模式獨立於上下行鏈路的狀態。
1、模式
下表列出了7種模式的一些基本資訊:
Mode |
Describe |
M-PHY status |
Mode transition |
Active |
執行命令或者後臺操作 |
STALL/HS-BURST,SLEEP/PWM_BURST |
From:Poweron、pre-actvie To:idle、pre-sleep、pre-powerdown |
Idle |
裝置沒有任何操作 |
STALL/SLEEP/ HIBERN8 |
From:active To:active |
Pre-active |
進入active前的過度態 |
|
From:Pre-Sleep, Sleep, Pre-PowerDown, or PowerDown. To:active |
Sleep |
顯著降低裝置的功耗 |
HIBERN8 |
From:pre-sleep To:pre-active、pre-powerdown |
Pre-sleep |
進入sleep模式的過渡態 |
|
From:Active To:sleep、pre_active |
Powerdown |
最節省功耗的模式 |
|
From:pre-powerdown To:pre-active |
Pre-powerdown |
進入powerdown模式前的過渡態 |
|
From:sleep/active To:PowerDown or Pre-Active. |
各個模式的狀態轉換如下圖所示:
狀態轉換 |
條件 |
Powered_On to Active |
裝置準備開始上電初始化時 |
Pre-Active to Active |
裝置滿足active模式下的條件時自動進入 |
Active to Idle |
裝置完成所有正在執行的操作時 |
Active to Pre-Sleep |
1、裝置初始化結束且bInitPowerMode=0; 2、裝置接到START STOP UNIT 命令且POWER CONDITION=2H; |
Active to Pre-PowerDown |
裝置接到START STOP UNIT 命令且POWER CONDITION=3H; |
Idle to Active |
裝置收到處理請求時 |
Pre-Sleep to Pre-Active |
START STOP UNIT命令IMMED=1時進入pre-sleep,之後START STOP UNIT命令的POWER CONDITION=1H; |
Pre-Sleep to Sleep |
滿足進入sleep模式的條件後自動進入 |
Sleep to Pre-Active |
裝置接到START STOP UNIT 命令且POWER CONDITION=1H; |
Sleep to Pre-PowerDown |
裝置接到START STOP UNIT 命令且POWER CONDITION=3H; |
Pre-PowerDown to Pre-Active |
START STOP UNIT命令IMMED=1時進入pre-powerdown,之後START STOP UNIT命令的POWER CONDITION=1H; |
Pre-PowerDown to PowerDown |
滿足進入powerdown模式的條件後自動進入 |
PowerDown to Pre-Active |
裝置接到START STOP UNIT 命令且POWER CONDITION=1H; |
各個模式下的命令響應:
不同的模式能夠響應的命令不同,下表列出了不同模式下能夠響應的SCSI命令和UPIU
裝置對SCSI命令的響應:
SSU命令
其他非SSU命令
2、SSU命令
SSU命令用來使能失能一個LU、將快取flush到裝置或者載入彈出裝置;電源管理命令START STOP UNIT傳送到UFS Device well-known logical unit可以控制裝置的power mode。
POWER CONDITION域用來選擇期望的模式。傳送到普通LU的命令POWER CONDITION會被忽略。
SSU fields
3、屬性
電源模式和電流等級
通過bCurrentPowerMode可以獲得當前裝置的power mode。bCurrentPowerMode是唯一一個可以在任何模式下響應主機命令的引數。
bActiveICCLevel屬性用來指定active模式下的電流等級。在active模式下,有16種電流配置,決定了裝置的最大功耗。在active mode下,選定了bActiveICCLevel後,在VCC、VCCQ和VCCQ2上的最大電流就決定了。假設bActiveICCLevel=N,那麼VCC、VCCQ和VCCQ2上的最大電流分別是wActiveICCLevelsVCC[N]、wActiveICCLevelsVCCQ[N]、wActiveICCLevelsVCCQ2[N].等級0功耗最低效能最差,等級15功耗最高效能最好。
引數格式:
bInitActiveICCLevel引數用來確定裝置上電後的電流等級。
彙總一下:
屬性 |
描述 |
bActiveICCLevel |
決定最大功耗等級 |
bInitActiveICCLevel |
決定上電後或者復位後的功耗等級 |
bInitPowerMode |
決定初始化後進入哪種電源模式 |
bCurrentPowerMode |
獲取當前功耗模式 |
相關文章
- UFS之復位
- UFS系列9:UFS資料安全
- UFS系列8:RPMB
- ufs runtime suspend/resume
- swarm mode叢集之service分組Swarm
- 迷之自信的Single_User Mode
- 155_模型_Power BI & Power Pivot 進銷存之安全庫存模型
- UFS之上電和下電
- 高速率儲存器UFS
- ORACLE基礎之oracle鎖(oracle lock mode)詳解Oracle
- javascript strict modeJavaScript
- IDBTransaction.mode
- Docker Swarm modeDockerSwarm
- 宏旺半導體解析UFS2.1比UFS2.0快?實際上真是如此嗎?
- 5G時代,eMMC5.1會被UFS3.0、UFS2.7儲存晶片完全取代嗎?S3晶片
- chmod命令(change mode)
- ORACLE LOCK MODE 1.2.3.4.5.6Oracle
- MySQL Strict SQL MODEMySql
- emacs go-modeMacGo
- 【Java】The Java Headless ModeJava
- Shichikuji and Power Grid
- 159_模型_Power BI 地理分析之形狀地圖模型地圖
- webcodecs mix-blend-modeWeb
- 3.3.4 Shutting Down with the Transactional Mode
- Docker Swarm Mode簡介DockerSwarm
- Bash 設定 vi mode
- LPDDR4 byte mode
- Leetcode 231 Power of TwoLeetCode
- E. Expected Power
- 傑裡之軟體可控是否進 sniff(power_down)睡眠【篇】
- Android Media Framework(五)Tunnel ModeAndroidFramework
- 【Book-24】The power of significanceNifi
- DRIVER_POWER_STATE_FAILUREAI
- CMD和power shell命令
- 填空題回答(Power Query)
- 精讀《Microsoft Power Fx》ROS
- Leetcode 231. Power of TwoLeetCode
- How to debug release mode program in visual studio