Windows 11 OS issue, host violate NVMe SPEC with update non-operational power state.

胡家源 0 Reputation points
2023-09-01T08:28:33.0733333+00:00

Tag PCIE, NVMe 1.4,

Dear Microsoft engineers,

I am Chia-Yuan, one of an SSD firmware engineer working in Realtek, Taiwain.

Recently we have encountered an issue while having our drives on the S4 test in Win11 OS.

It is highly probable that the drive would fail with BSoD. This issue is seen both on a laptop

and tablet computer, but this is not the case in Win10 OS.

After hard investigation, we have found that if the device supports NVMe Non-Operational Power State (NOPS)

Config Feature, the host would send a Set Feature command of NOPS while pluging and unpluging power adapter.

The problem is that this Set Feature command is configured before Controller Status Ready bit (refer to NVMe spec) is set to 1 during S4 wake up.

Such behavior violates the NVMe spec. Not only does our drives face this issue, but also those from other companies

which support this feature fail with the same scenario.

We would like to make a request on fixing this issue. To further clarify the problem we have met, here is the test flow:

1.Unplug the power adapter before entering S4 sleep. (NOPPME bit being clear to 0)

2.Plug the power adapter after entering S4 sleep.

3.Keep the power adapter plugged while the device wake up from the S4 state. (NOPPME bit being set to 1)

The following is our recorded traffic packet during S4 wakeup.

a. Host set CC.EN bit to 0. Host updates SQ doorbell (whose command id corresponds to Set Feature command of NOPS) even if RDY bit is still 0.

a

b. Host configures Set Features of NOPS before Set Features of number of Queues.

b

c. Host configures four Create CQ / SQ instead of eight.

c

d. Host updates SQ doorbell with index 7, which violates NVMe SPEC since there are only four SQ. Device reply with error status “Write to Invalid Doorbell ”

d

e

e1

We are looking forward to your support.

Windows for business | Windows Client for IT Pros | User experience | Other
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Limitless Technology 44,766 Reputation points
    2023-09-05T09:44:32.5466667+00:00

    Hello there,

    This forum might not be the right place to report bugs, you might need to send your reports via the feedback hub.

    You can collect the Event logs and share them with the Microsoft team to get this sorted or obtain an appropriate workaround for this.

    -Download the process monitor tool.

    • Get a dump from the crashing process and share it through the feedback hub.

    Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry, and process/thread activity. You can get the tool from here https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

    You can raise feedback to the Microsoft team. The Feedback Hub app lets you tell Microsoft about any problems you run into https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332

    Hope this resolves your Query !!

    --If the reply is helpful, please Upvote and Accept it as an answer–

    1 person found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.