segunda-feira, 2 de dezembro de 2013

SATA AHCI HIPM/DIPM (II)

No post SATA AHCI HIPM/DIPM, falei sobre o comportamento do driver Intel RST e do Linux. Neste, falarei do MSAHCI (o driver genérico do Windows) e do driver AHCI da AMD.

Não precisamos adicionar chaves no registro para fazer aparecer a opção de configuração no Painel de Controle. Existe um comando para isso:

powercfg -attributes SUB_DISK 0b2d69d7-a2a1-449c-9680-f91c70521c60 -ATTRIB_HIDE

que escreve 0 no seguinte valor REG_DWORD:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60\Attributes

OK. Tendo a opção disponível, vamos em frente.


Ao modificar a opção "AHCI Link Power Management - HIPM/DIPM" (Painel de Controle → Opções de Energia → Alterar configurações do plano → Alterar configurações de energia avançadas → Disco rígido), o Windows cria/edita um valor REG_DWORD ACSettingIndex (AC) ou DCSettingIndex (bateria) contendo a configuração pedida em

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Power\User\PowerSchemes\<PLANO>\<SUBGRUPO>\<CONFIGURAÇÃO>

(substituindo <PLANO>, <SUBGRUPO>, <CONFIGURAÇÃO>, pelos GUIDs apropriados)

"Restaurar padrões do plano" apaga as subchaves a partir de <SUBGRUPO> nesse mesmo local e o padrão do driver assume, de acordo com o plano.

GUIDs que interessam:
(ver powercfg -aliases)

Planos de energia
381b4222-f694-41f0-9685-ff5bb260df2e (ou SCHEME_BALANCED) - Equilibrado
a1841308-3541-4fab-bc81-f71556f20b4a (ou SCHEME_MAX) - Economia de energia
8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c (ou SCHEME_MIN) - Alto desempenho

SCHEME_CURRENT é um atalho para o atual plano em uso.

Subgrupo "Disco rígido"
0012ee47-9041-4b5d-9b77-535fba8b1442 (ou SUB_DISK)

Configuração "AHCI Link Power Management - HIPM/DIPM"
0b2d69d7-a2a1-449c-9680-f91c70521c60

Para configurar via linha de comando, usamos:

REM AC
powercfg -setacvalueindex <PLANO> SUB_DISK 0b2d69d7-a2a1-449c-9680-f91c70521c60 <NUM>

REM BATERIA
powercfg -setdcvalueindex <PLANO> SUB_DISK 0b2d69d7-a2a1-449c-9680-f91c70521c60 <NUM>

Substituindo <PLANO> pelo GUID do plano de energia e <NUM> pela configuração, que pode ser um dos números:

***************************************
                MSAHCI
Standard AHCI 1.0 Serial ATA Controller
***************************************

0 - Active (Neither Host or Device initiated allowed)
1 - HIPM (Host initiated allowed only)
2 - HIPM+DIPM (Both Host and Device initiated allowed)

Cujos padrões são:

Equilibrado
AC      - 1
Bateria - 1

Economia de energia
AC      - 2
Bateria - 2

Alto desempenho
AC      - 0
Bateria - 1

*******************
AMD SATA Controller
(versão 1.2.1.349)
*******************

0 - Active (Neither Host or Device initiated allowed)
1 - HIPM (Host initiated allowed only)
2 - HIPM+DIPM (Both Host and Device initiated allowed)
3 - DIPM (Device initiated allowed only)
4 - Lowest (HIPM+DIPM+DEVSLP)

Cujos padrões são:

Equilibrado
AC      - 2
Bateria - 2

Economia de energia
AC      - 2
Bateria - 2

Alto desempenho
AC      - 0
Bateria - 1

Os padrões podem ser vistos em:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60\DefaultPowerSchemeValues\<PLANO>

Como comentado no post anterior sobre o assunto, o Linux, em sua configuração medium_power, habilita apenas HIPM. Acredito ser uma boa configuração geral. Quem quiser o máximo de economia de energia, ao custo de maior latência, fique com HIPM+DIPM, ou "Lowest" do driver da AMD, que equivaleria ao min_power do Linux.

Reinicie para entrar em vigor.

Informações baseadas no Windows 7. Devem aplicar-se a versões posteriores.

[Atualização - 23/12/2013] Adicionados atalhos SCHEME_*.

Nenhum comentário:

Postar um comentário