PRB: Tape Variable Blocksize Limited to 64K Bytes

ID: Q152518

3.51 4.00 WINDOWS NT kbprg kbprb

The information in this article applies to:

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 reference words: 3.51 4.00 KBCategory: kbprg kbprb KBSubcategory: bseFileio

Keywords          : kbAPI kbKernBase kbGrpKernBase 
Version           : 3.51 4.00
Platform          : NT WINDOWS

Last Reviewed: June 19, 1996