Bagikan melalui


Manajemen Daya untuk Perangkat Keras Penyimpanan

Pengantar

Dokumen ini dimaksudkan sebagai panduan untuk OEM dan produsen perangkat menggunakan driver SATA dan NVMe dalam kotak Microsoft pada versi OS Pembaruan Windows 10 Mei 2019 atau yang lebih baru. Panduan umum Microsoft adalah menyediakan solusi dalam kotak yang "hanya berfungsi" dalam hal menyeimbangkan performa, responsivitas, dan efisiensi daya. Seperti halnya dengan performa sistem secara keseluruhan, perangkat keras perangkat yang berperilaku buruk dapat membahayakan efisiensi keseluruhan dan masa pakai baterai. Secara umum, sistem mencoba menyeimbangkan efisiensi daya dengan performa.

Diagram di bawah ini menggambarkan status daya perangkat yang ditentukan ACPI D0 (berfungsi) ke D3 (nonaktif). Perhatikan bahwa saat perangkat beralih ke status daya yang lebih dalam, konsumsi daya berkurang, tetapi latensi meningkat. Perhatikan juga bahwa Windows mendukung berbagai status fungsional (F-States), yang dapat digunakan untuk mengontrol fungsionalitas dan daya tingkat halus dalam status D0. Ini dapat berguna untuk manajemen daya runtime di mana sistem harus tetap sangat responsif, tetapi masih perlu menghemat daya.

Keadaan daya

ACPI-Defined Sleep State Power Management

Ketika sistem tidak digunakan, Windows dapat secara oportunis menempatkan sistem dalam keadaan tidur yang ditentukan ACPI untuk menghemat energi. Demikian juga, Windows dapat memilih status tidur yang dalam dari waktu ke waktu untuk menghemat lebih banyak daya. Misalnya, sistem dapat beralih ke S3 selama satu periode, dan akhirnya beralih ke S4 Hibernate. Ketika sistem beralih ke status tidur, aturan umum praktis adalah menempatkan perangkat dalam status D sedalam mungkin, kecuali perangkat mampu bangun, dan dipersenjatai untuk bangun. Dalam kondisi ini, status D yang dangkal mungkin sesuai. Demikian juga, ketika sistem bangun, perangkat akan beralih kembali ke D0.

Manajemen Daya Runtime

Untuk mencapai efisiensi daya maksimum, beberapa komponen akan menerapkan logika menganggur yang sangat halus untuk menentukan kapan perangkat dapat dimatikan, bahkan ketika sistem dalam penggunaan aktif. Misalnya, perangkat penyimpanan kelas atas dapat menonaktifkan blok fungsional tertentu selama runtime jika driver menganggap bahwa mereka belum digunakan selama beberapa periode waktu. Ini hanya mungkin jika blok fungsional tersebut dapat dibawa kembali online dan dibuat berfungsi dengan cukup cepat sehingga pengguna tidak dikenakan latensi yang terlihat.

Manajemen Daya Siaga Modern

Ketika sistem tidak digunakan, Windows dapat mematikan daya secara oportunis ke beberapa set perangkat untuk menghemat energi. Dalam Modern Standby, sistem tetap berada di S0. Bahkan saat berada di S0, semua perangkat periferal akhirnya dapat dimatikan karena batas waktu menganggur. Status ini didefinisikan sebagai "S0 Low Power Idle". Setelah semua perangkat dalam keadaan berdaya rendah, bahkan lebih banyak infrastruktur sistem (misalnya bus, timer, ...) dapat dimatikan. Aturan umum praktis adalah menempatkan perangkat dalam D-state sedalam mungkin ketika diam, bahkan ketika status sistem adalah S0. Tergantung pada detail implementasi desain prosesor yang kompleks dan platform, perangkat periferal mungkin diperlukan untuk pergi ke status F, D3 Hot, atau D3 Cold (daya dipotong). Untuk mengurangi kebutuhan driver fungsi untuk mengelola detail implementasi ini, driver harus pergi ke status perangkat yang paling dalam yang sesuai untuk memaksimalkan masa pakai baterai.

Dukungan D3

Ketika sistem tidak digunakan, Windows dapat mematikan daya secara oportunis ke beberapa set perangkat untuk menghemat energi. Dalam Modern Standby, sistem tetap berada di S0. Bahkan saat berada di S0, semua perangkat periferal akhirnya dapat dimatikan karena batas waktu menganggur. Status ini didefinisikan sebagai "S0 Low Power Idle". Setelah semua perangkat dalam keadaan berdaya rendah, bahkan lebih banyak infrastruktur sistem (misalnya bus, timer, ...) dapat dimatikan. Aturan umum praktis adalah menempatkan perangkat dalam D-state sedalam mungkin ketika diam, bahkan ketika status sistem adalah S0. Tergantung pada detail implementasi desain prosesor yang kompleks dan platform, perangkat periferal mungkin diperlukan untuk pergi ke status F, D3 Hot, atau D3 Cold (daya dipotong). Untuk mengurangi kebutuhan driver fungsi untuk mengelola detail implementasi ini, driver harus pergi ke status perangkat yang paling dalam yang sesuai untuk memaksimalkan masa pakai baterai.

ASL Copy  
Name (_DSD, Package () { 
     
          ToUUID("5025030F-842F-4AB4-A561-99A5189762D0"), 
     
            Package () { 
 
                Package (2) {"StorageD3Enable", 1}, // 1 - Enable; 0 - Disable 
 
            } 
        } 
 ) 

ACPI _DSD di atas adalah cara yang disukai untuk memilih atau keluar dari dukungan D3 untuk perangkat penyimpanan. Namun, ada juga kunci registri global yang dapat digunakan untuk memodifikasi dukungan D3 jika diperlukan.

  • Nama: StorageD3InModernStandby
  • Jenis: REG_DWORD
  • Jalur: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Storage\
  • Nilai:
    • 0 – Nonaktifkan dukungan D3
    • 1 – Aktifkan dukungan D3

Jika kunci registri tidak dikonfigurasi, maka Storport akan memeriksa konfigurasi _DSD untuk menentukan apakah akan mengaktifkan D3. Jika _DSD tidak diimplementasikan, maka Storport akan memeriksa apakah platform berada di daftar yang diizinkan untuk dukungan D3.

Hubungan Induk/Anak untuk Manajemen Daya

Selama power-up, hubungan induk/anak selalu diberlakukan untuk perangkat penyimpanan. Selama power-down, satu-satunya kasus di mana hubungan daya induk/anak tidak diberlakukan adalah jika pengontrol hanya mendukung D3Hot, dan perangkat melaporkan F1 ke PoFx (yaitu DEVSLP didukung atau itu adalah SSD dalam sistem Siaga Modern), maka pengontrol diizinkan untuk memasuki D3 saat perangkat berada di F1.

Di bagian ini

Topik Deskripsi

NVMe

Topik ini mencakup panduan manajemen daya untuk perangkat penyimpanan NVMe.

SATA/AHCI

Topik ini mencakup panduan manajemen daya untuk perangkat penyimpanan SATA/AHCI.