If the restriction comes from the host only using SCSI Read(6)
commands then the limit is a 21-bit Logical Block Address (LBA) field.
SCSI Read(10), Read(12), and Read(16) have larger LBA fields.
http://en.wikipedia.org/wiki/SCSI_Read_Commands
With a 21-bit LBA the host can access 2,097,152 blocks.
If those blocks are 512 bytes each that works out to a total of
1,073,741,824 bytes.
That figure looks familiar. This used to be covered in the VMS FAQ.
IIRC attempts to read or write to higher block numbers by the console firmware
result in the address wrapping rather than an outright failure.
It should be possible to arrange the files on a larger disk so that the code
that the firmware needs to access for booting is located below the limit.
However, this is not as easy as it sounds as VMS BACKUP restores files in
alphabetical order and some of the critical bits are located under the
VMS$COMMON directory which may end up getting written late in the restore.
Special care needs to be taken of the dumpfile (or pagefile if used for
dumping). A system crash will result in the firmware writing to it and this
can be very bad news if part of the file is located beyond the limit which
will cause the address to wrap and something near the beginning of the disk
to get overwritten.
Disks that are not used for booting or system dumps are not affected by this
limitation so a system can have a small boot disk and a much larger data disk.
Regards,
Peter Coghlan.