MMC Get Event Status Notification and WindowsUpdated: February 27, 2008 On This Page
Purpose and RequirementsThis article provides information about how to implement the GET EVENT STATUS NOTIFICATION commands for Multi-Media Command Set-5 (MMC) compliant devices for all current versions of Microsoft Windows. This article provides vendors with guidelines for implementing these commands to take advantage of the built-in support provided in Windows. It is expected that the reader of this article is familiar with the MMC specification as relates to GET EVENT STATUS NOTIFICATION.
IntroductionThe Multi-Media Command Set-5 (MMC) and Mt. Fuji-7 specifications describe a command to help the operating system acquire information about device behavior changes. This GET EVENT STATUS NOTIFICATION command set applies to all Type 5 devices, including CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD+R, DVD+RW, HD DVD-ROM, HD DVD-R, HD DVD-RW, HD DVD-RAM, BD-ROM, BD-R, BD-RE and so on, which are referred to in this article as MMC-compliant storage devices. The proper implementation of these commands, together with operating system support, can result in improved autorun time, better user interface results, better time estimates for long operations, and many other user benefits. Historically, some incompatible or non-compliant methods of implementing this command resulted because of the lack of available tests and some ambiguity in the specification documents. This article, together with the Windows Hardware Cerification Kit (HCK) optical device test, is provided to help clarify the specification and to improve implementations for efficiency within the Windows operating systems. The following guidelines are based on these assumptions:
Functional Behavior GuidelinesTo ensure the best compatibility with Windows operating systems, the following functional behavior regarding the GET EVENT STATUS NOTIFICATION command is required.
To support such behavior early, the following high-level design of firmware to support GET EVENT STATUS NOTIFICATION should be considered. This does not preclude other implementations if the device behaves as expected by the operating system.
For each supported Event Class, have a queue of appropriate depth (typically 1) of events for that Event Class. For drives that support the Mt. Rainier format, the minimum appropriate queue depth is 2, and special handling should be given to both the BGFormatCompleted and BGFormatRestarted Media Events. To implement this more simply, and to avoid queue depths greater than one, logically use a queue depth of 1 for the Media Events unless one of the BGFormat events is supported. When an event is generated by the device, the device looks to see if the new event is of greater priority (per the MMC specification) than the current event that is stored of that class. If it is, the new event replaces the existing event in the 1-deep queue for that Event Class. Otherwise, the new event is discarded. In addition, in the case of the events { BGFormatCompleted, BGFormatRestarted }, these events must be placed into the "BGFormat," but never the "Media" queue. Similarly, other Media events must always go into the "Media," and never the "BGFormat" queue. When the device is searching for which event to report to the host, the "BGFormat" block may be logically considered an event of priority less than "Media." Any or all of the blocks mentioned may be removed if the related Event Class is not supported.
Windows Logo ProgramCurrent "Designed for Windows" Logo Program requirements for GET EVENT STATUS NOTIFICATION support are defined in the Microsoft Storage Devices logo requirement from Winqual logopoint.
Resources and Call to ActionCall to Action:
Feedback:
Resources:
|