The answer would appear to be heavily dependent on the generation of the SCSI protocol, as it has gone through a handful of revisions through its days of glory.
First, 512 bytes = 2^9 bytes.
The earliest SCSI protocols used 21-bit LBA. Using 512-byte blocks, this gives 2^21 * 2^9 bytes or 1 GiB addressable space. (2^21 * 2^9 = 2^30.) (source)
Newer SCSI variants allow for 32-bit LBA addresses, which gives you 2^41 bytes (2 TiB) addressable. (source) But also see below.
Current in ATA is LBA48, or 48-bit LBA, although I cannot find any definitive statement on whether any current variant of SCSI uses 48-bit LBA. (It makes sense, though, and some Googling provides some fairly strong indications that such is the case. If anyone has a definitive source either way, please comment.) This gives you 2^57 bytes (128 PiB) addressable over the protocol itself, assuming 512 byte blocks. If we are allowed to raise this to 4096 (2^12) byte blocks, that becomes 2^60 bytes = 1 EiB.
According to a comment left by JdeBP, in SCSI, 64-bit LBA support has been mandatory since the turn of the century. With 512 byte sectors and 64-bit addresses, that gives us 2^73 bytes addressable, or 8 ZiB. A ZiB is 1024^3 TiB.
So the realistic answer with current generation hardware is probably either 8 ZiB or 128 PiB maximum LUN size addressable over (i)SCSI, with the former being more likely.
While a total storage capacity of 128 PiB is possible to approach in really large setups, 8 ZiB seems to me to be well out of pretty much anyone's reach for now. Using these newfangled 8 TB drives, that would require approximately 1000^3 = 10^9 drives, for a power requirement for just keeping them spinning of approaching 10 MW.