NVME Micron 7450 how to reduce power consumption

Is there a way to reduce the power consumption of the Micron 7450 when it is idle?

right now they are both using 8.25watts, I would like to reduce the consumption when idling.

my hardware is the HL15 2.0 using the ASRock ROMED8-2T mother board

You can try to get the power state down to 3 or 4, but that might introduce some unexpected latency. I’m not sure which OS you are running and how the NVME drives are being used. Here are some instructions I got for changing the power state, but I don’t have the motherboard or NVME, so I can’t vouch for their accuracy, just repeating them as it may point you in the right direction even if they aren’t completely correct.

You need to allow the drives to enter lower power states (PS3 or PS4) or enable PCIe Active State Power Management (ASPM). Here is the step-by-step guide to lowering consumption.

Phase 1: BIOS Configuration (The Foundation)

The ASRock ROMED8-2T defaults to “Performance” which disables power-saving features that might cause latency. You must manually enable them.

  1. Enter BIOS (Press Del or F2 during boot).
  2. Navigate to Advanced > AMD CBS > NBIO Common Options.
  3. Look for PCIe Ten Bit Tag Support and PCIe ASPM Support:
  • Set PCIe ASPM to L1 (or “Auto” if L1 isn’t explicit). L1 is the critical sleep state for NVMe drives.
  1. Navigate to Advanced > ACPI Configuration.
  • Ensure Enable ACPI Auto Configuration is Enabled.
  1. Save and Reboot.

Phase 2: Verify & Modify Drive State (Linux/TrueNAS)

If you are running a Linux-based OS (TrueNAS Scale, Rocky, Ubuntu) check if the drive knows it is allowed to sleep.

1. Check Supported Power States Run the following command to see what your drive supports:

sudo nvme id-ctrl /dev/nvme0n1

Replace /dev/nvme0n1 with your actual device identifier.

Look for the section “Power State Descriptors” (usually near the bottom). You will see a list like this:

  • PS0: Max Power: 8.25W (Operational)
  • PS1: Max Power: 6.00W (Operational)
  • PS2: Max Power: 4.00W (Operational)
  • PS3: Max Power: 0.05W (Non-Operational) <— This is the goal

2. Check Current Power State See which state the drive is currently using:

sudo nvme get-feature /dev/nvme0n1 -f 2

If the result is Current value: 00000000, you are in PS0 (Max Power).

3. Enable Autonomous Power State Transition (APST) This feature tells the drive “If I don’t ask you to do anything for X milliseconds, go to sleep.”

sudo nvme set-feature /dev/nvme0n1 -f 0x0c -v 1

(Note: Some enterprise drives ignore this command if the firmware is hard-coded for performance).

Phase 3: Force ASPM (If BIOS doesn’t work)

If the BIOS settings didn’t drop the power usage, you can force the Linux kernel to override the motherboard’s hesitation.

Warning: This can occasionally cause instability on older enterprise drives, though the Micron 7450 is modern and usually handles it well.

  1. Edit your GRUB configuration:sudo nano /etc/default/grub
  2. Find the line GRUB_CMDLINE_LINUX_DEFAULT and add this parameter to the end inside the quotes:pcie_aspm=force
  3. Update GRUB:
  • Debian/Ubuntu/TrueNAS Scale: sudo update-grub
  • RHEL/Rocky: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  1. Reboot.

Summary of Expectations

  • Current (PS0): ~8.25W
  • Goal (PS3/PS4): < 2.0W (often milliwatts)

Important Trade-off: When an enterprise drive enters a “Non-Operational” state (PS3/PS4), it takes time to wake up (exit latency).

  • PS0/PS1: Instant response.
  • PS3/PS4: ~50ms - 100ms wakeup delay. If you are running a high-frequency database or ZFS SLOG on these drives, the wakeup latency might hurt performance.
1 Like

I was able to change the power state PS4, but it doesn’t go back to PS0 on it’s own

also I have 2 Samsung NVME that work just fine, when not use they go down to 0.4watts

and when use they go up to 9.8watts

the other are micron 7450 and they don’t seems to have the option to go to sleep

this is what I got for the power stage

ps 0 : mp:8.25W operational enlat:0 exlat:0 rrt:0 rrl:0
rwt:0 rwl:0 idle_power:- active_power:-
active_power_workload:-
emergency power fail recovery time: -
forced quiescence vault time: -
emergency power fail vault time: -
ps 1 : mp:7.00W operational enlat:0 exlat:0 rrt:1 rrl:1
rwt:1 rwl:1 idle_power:- active_power:-
active_power_workload:-
emergency power fail recovery time: -
forced quiescence vault time: -
emergency power fail vault time: -
ps 2 : mp:6.00W operational enlat:0 exlat:0 rrt:2 rrl:2
rwt:2 rwl:2 idle_power:- active_power:-
active_power_workload:-
emergency power fail recovery time: -
forced quiescence vault time: -
emergency power fail vault time: -
ps 3 : mp:5.00W operational enlat:0 exlat:0 rrt:3 rrl:3
rwt:3 rwl:3 idle_power:- active_power:-
active_power_workload:-
emergency power fail recovery time: -
forced quiescence vault time: -
emergency power fail vault time: -
ps 4 : mp:4.00W operational enlat:0 exlat:0 rrt:4 rrl:4
rwt:4 rwl:4 idle_power:- active_power:-
active_power_workload:-
emergency power fail recovery time: -
forced quiescence vault time: -
emergency power fail vault time: -

I think the crucial details in your output are the words operational and enlat:0 exlat:0.

  • Normal Behavior: On a drive that sleeps, PS3 and PS4 are marked non-operational. This tells the OS, “I am shutting down; I will use almost zero power (<1W), but I need time to wake up.”
  • Your Drive: It lists PS4 as operational with 4.00W power.
  • Translation: Your specific Micron 7450 firmware is hard-coded for “Data Center High Performance.” It effectively tells the system: “I refuse to sleep. I will only throttle myself down to 4 Watts, but I will stay awake to ensure 0ms latency.”

Because there are no “Non-Operational” states, the Automatic Sleep (APST) fails because the drive never truly offers a “sleep” state to transition into. You cannot make this drive “sleep” to <1W like your consumer Samsung drive without changing the firmware (which is risky and an alternate firmware probably isn’t offered). If you save 74 kWh/year at a national average of $0.18 per kWh is the $13.72 really something to stress over? Maybe. Or maybe you should sell the Microns and get some more Samsungs if they behave more to your usage pattern. Are you using the Enterprise features of the Micron (DWPD, overprovisioning, PLP) despite wanting to shut them down when not in use? I doubt it if you have a high concern for squeezing the minimal cost out of 148 kWh/year.


The Partial Solution: “Static Throttling” (The 50% Savings)

You can try to force the drive to stay in PS4 permanently.

  • Pros: You drop from 8.25W to 4.00W per drive. That is a savings of ~8.5W total for two drives (approx. 74 kWh/year savings).
  • Cons: Your maximum throughput (MB/s) will be capped. The drive will act like a slower SSD, but for a NAS with 1GbE or 10GbE network you likely won’t notice the speed cap unless you are doing local compilations or heavy database work.

How to set PS4 Permanently (Persistent on Boot)

Since you can’t rely on “auto” switching, you need to force the low-power state every time the server turns on.

1. Create a Systemd Service (The Clean Way) This will automatically apply the setting every time you boot.

Create a new service file:

sudo nano /etc/systemd/system/force-nvme-ps4.service

Paste the following content (adjusting /dev/nvme0n1 and /dev/nvme1n1 if you have multiple):

`[Unit]
Description=Force NVMe drives to Power State 4 to save power
After=multi-user.target

[Service]
Type=oneshot

Set Controller 0 to PS4

ExecStart=/usr/sbin/nvme set-feature /dev/nvme0n1 -f 2 -v 4

Set Controller 1 to PS4 (if you have a second one)

ExecStart=/usr/sbin/nvme set-feature /dev/nvme1n1 -f 2 -v 4

[Install]
WantedBy=multi-user.target`

2. Enable and Start the Service

sudo systemctl daemon-reload sudo systemctl enable force-nvme-ps4.service sudo systemctl start force-nvme-ps4.service

3. Verify Run your check command again:

sudo nvme get-feature /dev/nvme0n1 -f 2

It should return a value corresponding to PS4 (usually 4 or 0x4).

1 Like

Thanks for the help and the information, that will fix somewhat the problem.

1 Like