[NTLUG:Discuss] Re: 'Real World' Hard-drive throughput - SATA vs Ultra160 SCSI
Bryan J. Smith
b.j.smith at ieee.org
Tue Aug 23 11:15:20 CDT 2005
[ NOTE: I should rehash this into a Blog entry. Until then,
if you get Sys Admin, see my 2004 article on "Dissecting ATA
RAID Options" -- which covers some of the same concepts. ]
David Simmons <dsimmons at powersmiths.com> wrote:
> Guys,
> Was hoping to get some 'real world' experience/numbers
> (trying hard to get around the marketing text of
operations)
> for SATA vs Ultra 160 SCSI.
Get out the specifications of _any_ hard drive, _regardless_
of interface, and you'll get the internal bit-rate of the
drive. That's the maximum data transfer rate (DTR).
BTW, interface has little to do with it at the _drive_ level.
SCSI adds standards for sector remapping (Integrated Drive
Electronics, IDE) is far less standard in this regard).
SCSI host adapters add queuing not on just a drive level, but
the _bus_wide_ level. Serial Attached SCSI (SAS) does the
same using the proven SCSI-2 protocol as well.
Only recently has the Advanced Technology Attachment (ATA)
added Native Command Queuing (NCQ) at the _drive_ level, and
it's still not the same. You need an "intelligent [hardware]
host adapter" and you still can't get that with Advanced Host
Control Interface (AHCI) which is just a 100% software
interface for controlling ATA channels.
> From what I understand, SATA (not SATA-II, etc) is
> 150MegaBytes/sec...and Ultra 160 SCSI is 160
> MegaBytes/sec.......
First off, interface speed which has *0* to do with DTR of
the disk itself. Most commodity capacities (160, 200, 250,
300, 320, 400, 500GB) can't break 80MBps yet, and most
enterprise capacities (36, 73, 146GB) are about 50MBps --
individually.
Although it _does_ become a consideration when your bus is
parallel with _multiple_ devices. I.e., an Low Voltage
Differential (LVD) SCSI parallel bus like Ultra2/80 (80MBps),
Ultra3/160 (160MBps) and Ultra4/320 (320MBps) has to share
all that DTR across all the devices on a channel.
Which is why 3GHz (300MBps using 8/10 encoding) Serial
Attached SCSI (SAS) is quickly going to replace SCSI. It
leverages the "point-to-point" of Serial ATA (SATA), but adds
the SCSI-2 protocol. So now instead of 1-2 channels typical
on a SCSI host or RAID card, you can have an intelligent
microcontroller/ASIC controlling 4-8 point-to-point
connections of a _full_ 300MBps (6GHz/600MBps planned).
SAS enforces the use of twisted pair cabling for lengths up
to 8m (~26'), while remaining compatible with SATA-I/II**
(1.5GHz/150MBps) and the new SATA-IO** (3GHz/300MBps) which
go 1m (~3.25'). I'm not sure if SATA with TP can go greater
than 1m, but I don't think so -- it might be a differential
or other signaling used (although I don't know how with only
7-conductors, 3 being ground).
[ **NOTE: SATA-II is now a _marketing_ term much like USB
2.0 is. You have to have a SATA-IO drive for 300MBps, just
like you have to have an EHCI controller for 480Mbps/60MBps
with USB 2.0. I haven't checked to see if SATA-IO requires a
twisted pair cable, but the original SATA committee expected
3 and 6GHz signaling to require it. This might be way they
have created the SATA-IO spec, whereas vendors are claiming
and shipping SCSI-II with only a 1.5GHz capable cable/EMF. ]
BTW, SAS can also be interconnected with hubs and other
concentrators, trunking 4 or even 8 x 3GHz lines for
1.2-2.4GBps. This is much, much cheaper to do than parallel
SCSI. SAS is purposely designed to not only replace parallel
SCSI, but to bring a more cost effective option than FC-AL,
and a far lower-overhead than iSCSI. But it's limitation is
the length, so it's good as long as you don't go outside of
the server room.
> say the SATA is from onboard controller and SCSI Ultra 160
> will be PCI add-on card.
You're comparing apples and oranges.
ATA (including SATA) is a _dumb_ bus arbitrator between
PCI[-X|e] and the Integrated Drive Electronics (IDE). ATA is
dead _dumb_ and other than some registers for bus
timing/configuration, it's the system memory/CPU talking to
the drive.
SCSI has its own _hardware_ host adapter with intelligent
management and queuing, plus a full command set. SCSI host
adapters are already half-way to a full, intelligent hardware
RAID design.
That's why ATAPI (ATA Peripheral Interface) was required for
non-simple block transfers like most optical drives require.
But even then, ATAPI is done in software, between the system
memory/CPU and the end-drive.
> Q: Would the drives be comparable in performance?
For what?
ATA provides dead _dumb_ block I/O without any blocking.
That's great for 1 drive at 1 operation, such as typical
desktop usage.
The second you start queuing a lot of operations, SCSI wins.
ATA can't service requests at all, it relies on the system
CPU/OS.
ATA with NCQ now adds it, but _only_ for one drive. That
means it's great for a desktop or even a workstation with 1
drive, but once you start adding drives, then NCQ loses it's
benefits. Because the SCSI host adapter is queuing for _all_
drives, not just 1.
Straight Just a Bunch of Disks (JBoD) really depends on the
application, and ATA is typically all you need today.
Things change once you start talking about an intelligent ATA
RAID controller. Now you have ATA with intelligence,
queuing, SRAM (non-blocking) or DRAM (buffering).
For RAID-0, 1 and 10 (simultaneous RAID-0 and 1 in hardware),
ATA with a non-blocking ASIC and SRAM is most ideal. That's
3Ware's legacy Escalade design (pre-9000 series), using the
direct I/O of ATA.
For RAID-3, a non-blocking ASIC and SRAM, plus a little DRAM
for extra XOR buffer, is also ideal -- especially when the
width of the bus matches the data channel (not including
parity). That' the NetCell SR3x00 (32-bit -- 2 drive +
partiy) and SR5x00 (64-bit -- 4 drive + parity). ATA is
still ideal because it's direct I/O.
For RAID-4 or RAID-5, you're now going blocks of (typically)
32KB striped, with dedicated parity (RAID-4) or striped
(RAID-5). Now you want a microcontroller with lots of buffer
(DRAM). ATA or SCSI doesn't matter -- the I/O isn't direct,
so non-block is useless. Furthermore, SCSI can have lots of
benefits with its higher spindles for response time
(especially for RAID-5), let alone other features (like
sector remapping standard**).
[ **NOTE: Many intelligent ATA RAID controllers, like 3Ware,
reserve parts of the ATA disk for sector remapping when they
use a block volume -- i.e. RAID-0, RAID-10, RAID-5. RAID-1
mirroring on 3Ware is the only time it uses the "raw"
(non-volume) disk. ]
In the end, the future is Serial Attached SCSI (SAS). Almost
_all_ new intelligent RAID controllers being designed are SAS
because they also do SATA. SAS is basically an intelligent
host SATA with SCSI-2 adopt.
In fact, LSI's new SAS host adapters actually have RAID-0, 1
and 1e (1 "enhanced" ~ RAID-10?) in the hardware for the
local 8 channels. They then sell software RAID add-ons for
multiple cards (RAID-0, 5, 6, etc...).
There is also the Broadcom BCM8506 IC (I believe that's the
P/N) that is available for $60 in quantity. It does
8-channel SAS with on-board hardware RAID (a little SRAM on
the IC, plus RAID-5 logic) and can glue upto 768MB of SDRAM
for buffer. I can also arbitrary to either PCIe or PCI-X
(and bridge in between for embedded designs). It should
launch a new set of sub-$300 SAS/SATA RAID cards sometime
late this year or early next year.
--
Bryan J. Smith | Sent from Yahoo Mail
mailto:b.j.smith at ieee.org | (please excuse any
http://thebs413.blogspot.com/ | missing headers)
More information about the Discuss
mailing list