PRB: Tape Variable Blocksize Limited to 64K Bytes

ID: Q152518


The information in this article applies to:
  • Microsoft Win32 Application Programming Interface (API), used with:
    • Microsoft Windows NT versions 3.51, 4.0
    • Microsoft Windows 2000


SYMPTOMS

When using the Variable Blocksize technique of writing data to a tape device on Windows NT, block sizes may be limited to either 64K or 128K bytes.


CAUSE

SCSI Tape devices can only write to each tape block the number of bytes transferable over the SCSI Bus in a single I/O operation. Each Host Bus Adapter (HBA)-specific SCSI miniport driver specifies the maximum number of pages that the HBA can scatter/gather for the DMA transfer. Multiplying the page size times the number of scatter/gather entries will yield the effective limit to the number of bytes that can be transmitted in a single I/O operation.

On x86 Windows NT, PAGE_SIZE is 4K bytes and many popular SCSI HBAs (including Adaptec xx40) support a maximum of 16-17 pages, yielding a limit of 64K bytes transferred during a single I/O operation.

Some BusLogic HBAs support 31 scatter/gather entries yielding slightly less than 128K bytes per I/O.


STATUS

This behavior is by design.

Additional query words: 3.51 4.00

Keywords : kbAPI kbKernBase kbWinOS2000 kbTapeBackup kbDSupport kbGrpKernBase
Version : winnt:3.51,4.0
Platform : winnt
Issue type : kbprb


Last Reviewed: January 6, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.