Definition of SMARTDrive Double Buffering

Last reviewed: November 23, 1994
Article ID: Q63914
The information in this article applies to:
  • Microsoft Windows operating system versions 3.0, 3.0a

SUMMARY

Microsoft Windows version 3.0 does not run properly in enhanced mode on machines equipped with Bus Master cards unless SMARTDrive is also running. The new SCSI drive controllers are an example of such a system. If SMARTDrive is not running, Windows 3.0 may stop responding (hang or crash) in enhanced mode on these systems.

SMARTDrive provides double buffering when Windows is running in enhanced mode, which resolves this problem.

MORE INFORMATION

Double buffering is a concept that addresses some problems with certain types of hardware. The definition of double buffering, in the case of SMARTDrive, is as follows:

   ALL read/write operations to any SMARTDrive managed drive
   will always be done through the SMARTDrive-managed low-
   memory buffer regardless of any other parameters of the
   read/write. In other words, the read/write address for the
   operation passed to the hardware will ALWAYS be the address
   of a buffer inside SMARTDrive. The data is transferred from/to
   the real address for the operation, to/from the SMARTDrive
   buffer at an appropriate time (before or after the request) for
   the operation.

This is important because a Bus Master DMA hard disk controller does NOT use the system DMA controller, (that's why it's called a BUS master card). For Windows enhanced mode, this would normally be a problem. Since the Bus Master hardware is not "virtualized," like the system DMA controller is, the correct linear to physical address mapping isn't performed for the read/write operation.

This means that the read/write may be performed to the incorrect physical address and the system will crash. By turning on double buffering in SMARTDrive (this is done automatically by enhanced-mode Windows), all read/write operations to the drive are transferred through a low-memory SMARTDrive buffer where the following is true:

   linear address = physical address

As a result the Bus Master disk hardware needs to be virtualized because it's been arranged, through SMARTDrive double buffering, for all read/write operations to the disk to occur at an address where Linear=Physical. Most of the new SCSI drive controllers are examples of such Bus Master Cards. If you don't load SMARTDrive, these disks do NOT work with enhanced-mode Windows. If you load SMARTDrive, they DO work. The reason is the double buffering that SMARTDrive is told to do when enhanced mode is operating.

Double buffering has a performance impact on overall disk performance. This cost is judged to be "worth the benefit" of getting the product to work on a broader range of MS-DOS platforms.

If you want to learn more about the importance/relevance of Linear versus Physical addresses, and how this impacts the operation of transfers to/from a hardware device in the MS-DOS context, check the local bookstore for a book on the operation of virtual memory, in paging operating systems, that uses an operating system operating on the Intel 80386 processor as its standard "working example." An example is "The 80386 Book," by Ross P. Nelson, published by Microsoft Press.


KBCategory: kbother
KBSubcategory: win30
Additional reference words: 3.00 3.0 3.0a 3.00a SmartDrive.sys winmem
win30


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: November 23, 1994
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.