All,
My question concerns a device driver for a storage controller. To
support different ACPI power
states (S1, S3, S4, S5), the driver also has to support wakeup
requirements from the sleep states.
After the system (Windows XP) wakes up (Our device cannot wakeup the
system) from S1, the
requirement is that the controller be ready to accept I/O requests
within 3.8 seconds. Our hardware
and driver can be ready within that time.
But, the hard disks attached to the controller might not be ready by
that time. They take too long to
spin up. Also, the controller does not kick off a simultaneous spin up
of disks due to the amount of
power required to spin up the disks.
Here’s the question:
If the driver and controller accept an I/O request after 3.8 seconds of
wakeup, and complete these
requests within the next 20 seconds is it OK? does the driver pass WHQL
tests. I am especially
concerned about any paged I/O requests that come in just after 3.8
seconds and that need to
be completed within a short period of time (less than 10 seconds). If
these requests take longer the
OS might crash.
I could not find the answer (nor this timing requirement) in HCT
documentation.
Any help is appreciated.
Thanks,
-chandra nelogal
Hi Chandra,
I don’t have any answers wrt WHQL, but I can clear up some fear
regarding the crashing you mention below.
If you successfully complete all requests sent to your disk/storage
driver, there should be no reason to crash even if it sometimes takes
longer than expected to complete the request. In addition, CLASSPNP.SYS
(and therefore cdrom and disk) has retry logic that will retry a request
5 times when the appropriate sense data is returned from a device that
is 02/04/01 (not ready, becoming ready) – the default action is to
retry those requests after 10 seconds.
Hth,
.
-----Original Message-----
From: xxxxx@Dell.com [mailto:xxxxx@Dell.com]
Sent: Sunday, March 20, 2005 1:13 PM
Subject: WHQL requirements for power state transition.
All,
My question concerns a device driver for a storage controller. To
support different ACPI power
states (S1, S3, S4, S5), the driver also has to support wakeup
requirements from the sleep states.
After the system (Windows XP) wakes up (Our device cannot wakeup the
system) from S1, the
requirement is that the controller be ready to accept I/O requests
within 3.8 seconds. Our hardware
and driver can be ready within that time.
But, the hard disks attached to the controller might not be ready by
that time. They take too long to
spin up. Also, the controller does not kick off a simultaneous spin up
of disks due to the amount of
power required to spin up the disks.
Here’s the question:
If the driver and controller accept an I/O request after 3.8 seconds of
wakeup, and complete these
requests within the next 20 seconds is it OK? does the driver pass WHQL
tests. I am especially
concerned about any paged I/O requests that come in just after 3.8
seconds and that need to
be completed within a short period of time (less than 10 seconds). If
these requests take longer the
OS might crash.
I could not find the answer (nor this timing requirement) in HCT
documentation.
Any help is appreciated.
Thanks,
-chandra nelogal