PRB: Tape Variable Blocksize Limited to 64K Bytes
Article ID: 152518
Article Last Modified on 11/21/2006
APPLIES TO
- Microsoft Win32 Application Programming Interface, when used with:
- Microsoft Windows NT 3.51 Service Pack 5
- Microsoft Windows 2000 Standard Edition
- Microsoft Windows XP Professional
This article was previously published under Q152518
SYMPTOMS
When using the Variable Blocksize technique of writing data to a tape
device on Microsoft Windows NT, Windows 2000, Windows XP, 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, Windows 2000, or Windows XP, 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 kbbackup kbkernbase kbprb KB152518