804 lines
31 KiB
HTML
804 lines
31 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
|
<HTML>
|
|
<HEAD>
|
|
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
|
|
<TITLE>HOWTO: Multi Disk System Tuning: Drive Technologies</TITLE>
|
|
<LINK HREF="Multi-Disk-HOWTO-4.html" REL=next>
|
|
<LINK HREF="Multi-Disk-HOWTO-2.html" REL=previous>
|
|
<LINK HREF="Multi-Disk-HOWTO.html#toc3" REL=contents>
|
|
</HEAD>
|
|
<BODY>
|
|
<A HREF="Multi-Disk-HOWTO-4.html">Next</A>
|
|
<A HREF="Multi-Disk-HOWTO-2.html">Previous</A>
|
|
<A HREF="Multi-Disk-HOWTO.html#toc3">Contents</A>
|
|
<HR>
|
|
<H2><A NAME="s3">3. Drive Technologies</A></H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!technologies
|
|
-->
|
|
|
|
A far more complete discussion on drive technologies for IBM PCs
|
|
can be found at the home page of
|
|
<A HREF="http://thef-nym.sci.kun.nl/~pieterh/storage.html">The Enhanced IDE/Fast-ATA FAQ</A>
|
|
which is also regularly posted on Usenet News.
|
|
There is also a site dedicated to
|
|
<A HREF="http://ata-atapi.com">ATA and ATAPI Information and Software</A>.
|
|
<P>Here I will just present what is needed to get an understanding
|
|
of the technology and get you started on your setup.
|
|
<P>
|
|
<H2><A NAME="ss3.1">3.1 Drives</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!drives
|
|
-->
|
|
|
|
This is the physical device where your data lives and although the
|
|
operating system makes the various types seem rather similar they
|
|
can in actual fact be very different. An understanding of how it
|
|
works can be very useful in your design work. Floppy drives fall
|
|
outside the scope of this document, though should there be a big
|
|
demand I could perhaps be persuaded to add a little here.
|
|
<P>
|
|
<H2><A NAME="ss3.2">3.2 Geometry</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!geometry
|
|
-->
|
|
|
|
Physically disk drives consists of one or more platters containing
|
|
data that is read in and out using sensors mounted on movable heads
|
|
that are fixed with respects to themselves. Data transfers therefore
|
|
happens across all surfaces simultaneously which defines a cylinder
|
|
of tracks. The drive is also divided into sectors containing a
|
|
number of data fields.
|
|
<P>Drives are therefore often specified in terms of its geometry: the
|
|
number of Cylinders, Heads and Sectors (CHS).
|
|
<P>For various reasons there is now a number of translations between
|
|
<UL>
|
|
<LI>the physical CHS of the drive itself</LI>
|
|
<LI>the logical CHS the drive reports to the BIOS or OS</LI>
|
|
<LI>the logical CHS used by the OS</LI>
|
|
</UL>
|
|
<P>Basically it is a mess and a source of much confusion. For more
|
|
information you are strongly recommended to read the
|
|
<EM>Large Disk mini-HOWTO</EM>
|
|
<P>
|
|
<H2><A NAME="ss3.3">3.3 Media</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!media
|
|
-->
|
|
|
|
The media technology determines important parameters such as
|
|
read/write rates, seek times, storage size as well as if it is
|
|
read/write or read only.
|
|
<P>
|
|
<H3><A NAME="magnetic-drives"></A> Magnetic Drives </H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!media!magnetic
|
|
-->
|
|
|
|
This is the typical read-write mass storage medium, and as
|
|
everything else in the computer world, comes in many flavours
|
|
with different properties. Usually this is the fastest technology
|
|
and offers read/write capability. The platter rotates with a
|
|
constant angular velocity (CAV) with a variable physical sector
|
|
density for more efficient magnetic media area utilisation.
|
|
In other words, the number of bits per unit length is kept
|
|
roughly constant by increasing the number of logical sectors
|
|
for the outer tracks.
|
|
<P>Typical values for rotational speeds are 4500 and 5400 RPM, though
|
|
7200 is also used. Very recently also 10000 RPM has entered
|
|
the mass market.
|
|
Seek times are around 10 ms, transfer rates quite variable from
|
|
one type to another but typically 4-40 MB/s.
|
|
With the extreme high performance drives you should remember that
|
|
performance costs more electric power which is dissipated as heat,
|
|
see the point on
|
|
<A HREF="Multi-Disk-HOWTO-20.html#power-heating">Power and Heating</A>.
|
|
<P>
|
|
<P>Note that there are several kinds of transfers going on here, and
|
|
that these are quoted in different units. First of all there is
|
|
the platter-to-drive cache transfer, usually quoted in
|
|
Mbits/s. Typical values here is about 50-250 Mbits/s. The second
|
|
stage is from the built in drive cache to the adapter, and this
|
|
is typically quoted in MB/s, and typical quoted values here is
|
|
3-40 MB/s. Note, however, that this assumed data is already in
|
|
the cache and hence for maximum readout speed from the drive the
|
|
effective transfer rate will decrease dramatically.
|
|
<P>
|
|
<P>
|
|
<H3>Optical Drives</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!media!optical
|
|
-->
|
|
|
|
Optical read/write drives exist but are slow and not so common. They
|
|
were used in the NeXT machine but the low speed was a source for much
|
|
of the complaints. The low speed is mainly due to the thermal nature
|
|
of the phase change that represents the data storage. Even when using
|
|
relatively powerful lasers to induce the phase changes the effects are
|
|
still slower than the magnetic effect used in magnetic drives.
|
|
<P>Today many people use CD-ROM drives which, as the
|
|
name suggests, is read-only. Storage is about 650 MB, transfer speeds
|
|
are variable, depending on the drive but can exceed 1.5 MB/s. Data is
|
|
stored on a spiraling single track so it is not useful to talk about
|
|
geometry for this. Data density is constant so the drive uses constant
|
|
linear velocity (CLV). Seek is also slower, about 100 ms, partially due
|
|
to the spiraling track. Recent, high speed drives, use a mix of
|
|
CLV and CAV in order to maximize performance. This also reduces access
|
|
time caused by the need to reach correct rotational speed for readout.
|
|
<P>A new type (DVD) is on the horizon, offering up to about 18 GB on a
|
|
single disk.
|
|
<P>
|
|
<H3>Solid State Drives</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!media!solid state
|
|
-->
|
|
|
|
This is a relatively recent addition to the available technology and
|
|
has been made popular especially in portable computers as well as in
|
|
embedded systems. Containing no movable parts they are very fast
|
|
both in terms of access and transfer rates. The most popular type is
|
|
flash RAM, but also other types of RAM is used. A few years ago many
|
|
had great hopes for magnetic bubble memories but it turned out to be
|
|
relatively expensive and is not that common.
|
|
<P>In general the use of RAM disks are regarded as a bad idea as it is
|
|
normally more sensible to add more RAM to the motherboard and let the
|
|
operating system divide the memory pool into buffers, cache, program
|
|
and data areas. Only in very special cases, such as real time systems
|
|
with short time margins, can RAM disks be a sensible solution.
|
|
<P>Flash RAM is today available in several 10's of megabytes
|
|
in storage and one might be tempted to use it for fast, temporary
|
|
storage in a computer. There is however a huge snag with this: flash
|
|
RAM has a finite life time in terms of the number of times you can
|
|
rewrite data, so putting
|
|
<CODE>swap</CODE>, <CODE>/tmp</CODE> or <CODE>/var/tmp</CODE> on such
|
|
a device will certainly shorten its lifetime dramatically.
|
|
Instead, using flash RAM for directories that are read often but
|
|
rarely written to, will be a big performance win.
|
|
<P>In order to get the optimum life time out of flash RAM you will
|
|
need to use special drivers that will use the RAM evenly and
|
|
minimize the number of block erases.
|
|
<P>This example illustrates the advantages of splitting up your directory
|
|
structure over several devices.
|
|
<P>Solid state drives have no real cylinder/head/sector addressing but for
|
|
compatibility reasons this is simulated by the driver to give a uniform
|
|
interface to the operating system.
|
|
<P>
|
|
<H2><A NAME="ss3.4">3.4 Interfaces</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces
|
|
-->
|
|
|
|
There is a plethora of interfaces to chose from widely ranging in
|
|
price and performance. Most motherboards today include IDE interface
|
|
which are part of modern chipsets.
|
|
<P>Many motherboards also include a SCSI interface chip made by Symbios
|
|
(formerly NCR) and that is connected directly to the PCI bus. Check
|
|
what you have and what BIOS support you have with it.
|
|
<P>
|
|
<H3>MFM and RLL</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!MFM
|
|
-->
|
|
|
|
<!--
|
|
disk!interfaces!RLL
|
|
-->
|
|
|
|
Once upon a time this was the established technology, a time when
|
|
20 MB was awesome, which compared to todays sizes makes you think
|
|
that dinosaurs roamed the Earth with these drives. Like the dinosaurs
|
|
these are outdated and are slow and unreliable compared to what we
|
|
have today. Linux does support this but you are well advised to
|
|
think twice about what you would put on this. One might argue that
|
|
an emergency partition with a suitable vintage of DOS might be
|
|
fitting.
|
|
<P>
|
|
<H3>ESDI</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!ESDI
|
|
-->
|
|
|
|
Actually, ESDI was an adaptation of the very widely used SMD interface used on
|
|
"big" computers to the cable set used with the ST506 interface, which was more
|
|
convenient to package than the 60-pin + 26-pin connector pair used with SMD.
|
|
The ST506 was a "dumb" interface which relied entirely on the controller and
|
|
host computer to do everything from computing head/cylinder/sector locations
|
|
and keeping track of the head location, etc. ST506 required the controller to
|
|
extract clock from the recovered data, and control the physical location of
|
|
detailed track features on the medium, bit by bit. It had about a 10-year life
|
|
if you include the use of MFM, RLL, and ERLL/ARLL modulation schemes. ESDI,
|
|
on the other hand, had intelligence, often using three or four separate
|
|
microprocessors on a single drive, and high-level commands to format a track,
|
|
transfer data, perform seeks, and so on. Clock recovery from the data stream
|
|
was accomplished at the drive, which drove the clock line and presented its
|
|
data in NRZ, though error correction was still the task of the controller.
|
|
ESDI allowed the use of variable bit density recording, or, for that matter,
|
|
any other modulation technique, since it was locally generated and resolved at
|
|
the drive. Though many of the techniques used in ESDI were later incorporated
|
|
in IDE, it was the increased popularity of SCSI which led to the demise of ESDI
|
|
in computers. ESDI had a life of about 10 years, though mostly in servers and
|
|
otherwise "big" systems rather than PC's.
|
|
<P>
|
|
<P>
|
|
<H3>IDE and ATA</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!IDE
|
|
-->
|
|
|
|
<!--
|
|
disk!interfaces!ATA
|
|
-->
|
|
|
|
Progress made the drive electronics migrate from the ISA slot
|
|
card over to the drive itself and Integrated Drive Electronics
|
|
was borne. It was simple, cheap and reasonably fast so the BIOS
|
|
designers provided the kind of snag that the computer industry is
|
|
so full of. A combination of an IDE limitation of 16 heads
|
|
together with the BIOS limitation of 1024 cylinders gave us the
|
|
infamous 504 MB limit. Following the computer industry traditions
|
|
again, the snag was patched with a kludge and we got all sorts of
|
|
translation schemes and BIOS bodges. This means that you need to
|
|
read the installation documentation very carefully and check up
|
|
on what BIOS you have and what date it has as the BIOS has to
|
|
tell Linux what size drive you have. Fortunately with Linux you
|
|
can also tell the kernel directly what size drive you have with
|
|
the drive parameters, check the documentation for LILO and Loadlin,
|
|
thoroughly. Note also that IDE is equivalent to ATA, AT Attachment.
|
|
IDE uses CPU-intensive Programmed Input/Output (PIO) to transfer
|
|
data to and from the drives and has no capability for the more
|
|
efficient Direct Memory Access (DMA) technology. Highest transfer
|
|
rate is 8.3 MB/s.
|
|
<P>
|
|
<H3>EIDE, Fast-ATA and ATA-2</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!EIDE
|
|
-->
|
|
|
|
<!--
|
|
disk!interfaces!Fast-ATA
|
|
-->
|
|
|
|
<!--
|
|
disk!interfaces!ATA-2
|
|
-->
|
|
|
|
These 3 terms are roughly equivalent, fast-ATA is ATA-2 but EIDE
|
|
additionally includes ATAPI. ATA-2 is what most use these days
|
|
which is faster and with DMA. Highest transfer rate is increased
|
|
to 16.6 MB/s.
|
|
<P>
|
|
<P>
|
|
<H3>Ultra-ATA</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!Ultra-ATA
|
|
-->
|
|
|
|
A new, faster DMA mode that is approximately twice the speed of EIDE PIO-Mode 4
|
|
(33 MB/s). Disks with and without Ultra-ATA can be mixed on the same cable
|
|
without speed penalty for the faster adapters. The Ultra-ATA interface is
|
|
electrically identical with the normal Fast-ATA interface, including the
|
|
maximum cable length.
|
|
<P>
|
|
<P>The ATA/66 was superceeded by ATA/100 and very recently we have
|
|
now gotten ATA/133. While the interface speed has iproved dramatically
|
|
the disks are often limited by platter-to-cache limites which today
|
|
stands at about 40 MB/s.
|
|
<P>For more information read up on these overviews and whitepapers from Maxtor:
|
|
<A HREF="http://www.maxtor.com/products/FastDrive/default.htm">Fast Drives Technology</A> on the ATA/133 interface
|
|
and
|
|
<A HREF="http://www.maxtor.com/products/BigDrive/default.htm">Big Drives Technology</A> on breaking the 137 GB limit.
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<H3>Serial-ATA</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!Serial-ATA
|
|
-->
|
|
|
|
A new, standard has been agreed upon, the <CODE>Serial-ATA</CODE>
|
|
interface, backed by the
|
|
<A HREF="http://www.serial-ata.org/">The Serial ATA</A>
|
|
group who made the announcement in August 2001.
|
|
<P>Advantages are numerous: simple, thin connectors rather than old
|
|
cumbersome cable mats that also obstructued air flow, higher speeds
|
|
(about 150 MB/s) and backward compatibility.
|
|
<P>
|
|
<P>
|
|
<H3>ATAPI</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!ATAPI
|
|
-->
|
|
|
|
The ATA Packet Interface was designed to support CD-ROM drives
|
|
using the IDE port and like IDE it is cheap and simple.
|
|
<P>
|
|
<H3>SCSI</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!interfaces!SCSI
|
|
-->
|
|
|
|
The Small Computer System Interface is a multi purpose interface
|
|
that can be used to connect to everything from drives, disk arrays,
|
|
printers, scanners and more. The name is a bit of a misnomer as it
|
|
has traditionally been used by the higher end of the market as well
|
|
as in work stations since it is well suited for multi tasking
|
|
environments.
|
|
<P>The standard interface is 8 bits wide and can address 8 devices.
|
|
There is a wide version with 16 bit that is twice as fast on the
|
|
same clock and can address 16 devices. The host adapter always
|
|
counts as a device and is usually number 7.
|
|
It is also possible to have 32 bit wide busses but this usually
|
|
requires a double set of cables to carry all the lines.
|
|
<P>The old standard was 5 MB/s and the newer fast-SCSI increased this
|
|
to 10 MB/s. Recently ultra-SCSI, also known as Fast-20, arrived
|
|
with 20 MB/s transfer rates for an 8 bit wide bus.
|
|
New low voltage differential (LVD) signalling allows
|
|
these high speeds as well as much longer cabling than before.
|
|
<P>Even more recently an even faster standard has been introduced:
|
|
SCSI 160 (originally named SCSI 160/m) which is capable of a monstrous 160 MB/s
|
|
over a 16 bit wide bus. Support is scarce yet but for a few
|
|
10000 RPM drives that can transfer 40 MB/s sustained.
|
|
Putting 6 such drives on a RAID will keep such a bus saturated
|
|
and also saturate most PCI busses. Obviously this is only for
|
|
the very highest end servers per today. More information on
|
|
this standard is available at
|
|
<A HREF="http://www.ultra160-scsi.com/">The Ultra 160 SCSI home page</A><P>Adaptec just announced a Linux driver for their SCSI 160 host adapter.
|
|
More information will come when more information becomes available.
|
|
<P>Now also SCSI/320 is available.
|
|
<P>The higher performance comes at a cost that is usually higher than for
|
|
(E)IDE. The importance of correct termination and good quality cables
|
|
cannot be overemphasized. SCSI drives also often tend to be of a higher
|
|
quality than IDE drives. Also adding SCSI devices tend to be easier
|
|
than adding more IDE drives: Often it is only a matter of plugging
|
|
or unplugging the device; some people do this without powering down
|
|
the system. This feature is most convenient when you have multiple
|
|
systems and you can just take the devices from one system to the
|
|
other should one of them fail for some reason.
|
|
<P>There is a number of useful documents you should read if you use
|
|
SCSI, the SCSI HOWTO as well as the SCSI FAQ posted on Usenet News.
|
|
<P>SCSI also has the advantage you can connect it easily to tape drives
|
|
for backing up your data, as well as some printers and scanners. It
|
|
is even possible to use it as a very fast network between computers
|
|
while simultaneously share SCSI devices on the same bus. Work is under
|
|
way but due to problems with ensuring cache coherency between the
|
|
different computers connected, this is a non trivial task.
|
|
<P>SCSI numbers are also used for arbitration. If several drives request
|
|
service, the drive with the lowest number is given priority.
|
|
<P>Note that newer SCSI cards will simultaneously support an array
|
|
of different types of SCSI devices all at individually optimized
|
|
speeds.
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="ss3.5">3.5 Cabling</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!cabling
|
|
-->
|
|
<P>I do not intend to make too many comments on hardware but I feel I
|
|
should make a little note on cabling. This might seem like a
|
|
remarkably low technological piece of equipment, yet sadly it is the
|
|
source of many frustrating problems. At todays high speeds one should
|
|
think of the cable more of a an RF device with its inherent demands on
|
|
impedance matching. If you do not take your precautions you will get a
|
|
much reduced reliability or total failure. Some SCSI host adapters are
|
|
more sensitive to this than others.
|
|
<P>Shielded cables are of course better than unshielded but the price is
|
|
much higher. With a little care you can get good performance from a
|
|
cheap unshielded cable.
|
|
<P>
|
|
<UL>
|
|
<LI>For Fast-ATA and Ultra-ATA, the maximum cable length is specified
|
|
as 45cm (18"). The data lines of both IDE channels are connected on many
|
|
boards, though, so they count as <B>one</B> cable. In any case EIDE cables
|
|
should be as short as possible. If there are mysterious crashes or
|
|
spontaneous changes of data, it is well worth investigating your cabling.
|
|
Try a lower PIO mode or disconnect the second channel and see if the problem
|
|
still occurs.
|
|
</LI>
|
|
<LI>For <CODE>Cable Select</CODE> (ATA drives) you set the drive jumpers
|
|
to cable select and use the cable to determine master and slave. This
|
|
is not much used.
|
|
</LI>
|
|
<LI>Do not have a slave on an ATA controller (primary or secondary)
|
|
without a master on the same controller, behaviour in these cases is
|
|
undetermined.
|
|
</LI>
|
|
<LI> Use as short cable as possible, but do not forget the
|
|
30 cm minimum separation for ultra SCSI
|
|
and 60 cm separation for differential SCSI.
|
|
</LI>
|
|
<LI> Avoid long stubs between the cable and the drive, connect
|
|
the plug on the cable directly to the drive without an extension.
|
|
</LI>
|
|
<LI> SCSI Cabling limitations:
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
Bus Speed (MHz) | Max Length (m)
|
|
--------------------------------------------------
|
|
5 | 6
|
|
10 (fast) | 3
|
|
20 (fast-20 / ultra) | 3 (max 4 devices), 1.5 (max 8 devices)
|
|
xx (differential) | 25 (max 16 devices
|
|
--------------------------------------------------
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
|
|
</LI>
|
|
<LI> Use correct termination for SCSI devices and at the correct
|
|
positions: both ends of the SCSI chain. Remember the host adapter
|
|
itself may have on board termination.
|
|
</LI>
|
|
<LI> Do not mix shielded or unshielded cabling, do not wrap
|
|
cables around metal, try to avoid proximity to metal parts along
|
|
parts of the cabling. Any such discontinuities can cause impedance
|
|
mismatching which in turn can cause reflection of signals which
|
|
increases noise on the cable.
|
|
This problems gets even more severe in the case of multi channel
|
|
controllers.
|
|
Recently someone suggested wrapping bubble plastic around the cables
|
|
in order to avoid too close proximity to metal, a real problem inside
|
|
crowded cabinets.</LI>
|
|
</UL>
|
|
<P>More information on SCSI cabling and termination can be found at
|
|
various
|
|
web pages around the net.
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="ss3.6">3.6 Host Adapters</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!adapters
|
|
-->
|
|
|
|
<!--
|
|
disk!host adapters
|
|
-->
|
|
<P>This is the other end of the interface from the drive, the part
|
|
that is connected to a computer bus. The speed of the computer
|
|
bus and that of the drives should be roughly similar, otherwise
|
|
you have a bottleneck in your system. Connecting a RAID 0
|
|
disk-farm to a ISA card is pointless. These days most computers
|
|
come with 32 bit PCI bus capable of 132 MB/s transfers which
|
|
should not represent a bottleneck for most people in the near
|
|
future.
|
|
<P>As the drive electronic migrated to the drives the remaining part
|
|
that became the (E)IDE interface is so small it can easily fit into
|
|
the PCI chip set. The SCSI host adapter is more complex and often
|
|
includes a small CPU of its own and is therefore more expensive and
|
|
not integrated into the PCI chip sets available today. Technological
|
|
evolution might change this.
|
|
<P>Some host adapters come with separate caching and intelligence but as
|
|
this is basically second guessing the operating system the gains are
|
|
heavily dependent on which operating system is used. Some of the more
|
|
primitive ones, that shall remain nameless, experience great gains.
|
|
Linux, on the other hand, have so much smarts of its own that the
|
|
gains are much smaller.
|
|
<P>Mike Neuffer, who did the drivers for the DPT controllers, states that
|
|
the DPT controllers are intelligent enough that given enough cache
|
|
memory it will give you a big push in performance and suggests that
|
|
people who have experienced little gains with smart controllers just
|
|
have not used a sufficiently intelligent caching controller.
|
|
<P>
|
|
<H2><A NAME="ss3.7">3.7 Multi Channel Systems</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!multi-channel
|
|
-->
|
|
|
|
In order to increase throughput it is necessary to identify the most
|
|
significant bottlenecks and then eliminate them. In some systems, in
|
|
particular where there are a great number of drives connected, it is
|
|
advantageous to use several controllers working in parallel, both for
|
|
SCSI host adapters as well as IDE controllers which usually have 2
|
|
channels built in. Linux supports this.
|
|
<P>Some RAID controllers feature 2 or 3 channels and it pays to spread
|
|
the disk load across all channels. In other words, if you have two
|
|
SCSI drives you want to RAID and a two channel controller, you should
|
|
put each drive on separate channels.
|
|
<P>
|
|
<H2><A NAME="ss3.8">3.8 Multi Board Systems</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!multi-board
|
|
-->
|
|
|
|
In addition to having both a SCSI and an IDE in the same machine
|
|
it is also possible to have more than one SCSI controller. Check
|
|
the SCSI-HOWTO on what controllers you can combine. Also you will
|
|
most likely have to tell the kernel it should probe for more than
|
|
just a single SCSI or a single IDE controller. This is done using
|
|
kernel parameters when booting, for instance using LILO.
|
|
Check the HOWTOs for SCSI and LILO for how to do this.
|
|
<P>Multi board systems can offer significant speed gains if you
|
|
configure your disks right, especially for RAID0. Make sure you
|
|
interleave the controllers as well as the drives, so that you
|
|
add drives to the md RAID device in the right order.
|
|
If controller 1 is connected to drives <CODE>sda</CODE> and <CODE>sdc</CODE>
|
|
while controller 2 is connected to drives <CODE>sdb</CODE> and <CODE>sdd</CODE>
|
|
you will gain more paralellicity by adding in the order of
|
|
<CODE>sda - sdc - sdb - sdd</CODE> rather than <CODE>sda - sdb - sdc - sdd</CODE>
|
|
because a read or write over more than one cluster will be more
|
|
likely to span two controllers.
|
|
<P>
|
|
<A NAME="drive-names"></A> <P>The same methods can also be applied to IDE. Most motherboards
|
|
come with typically 4 IDE ports:
|
|
<UL>
|
|
<LI> <CODE>hda</CODE> primary master</LI>
|
|
<LI> <CODE>hdb</CODE> primary slave</LI>
|
|
<LI> <CODE>hdc</CODE> secondary master</LI>
|
|
<LI> <CODE>hdd</CODE> secondary slave</LI>
|
|
</UL>
|
|
|
|
where the two primaries share one flat cable and the secondaries
|
|
share another cable. Modern chipsets keep these independent.
|
|
Therefore it is best to RAID in the order <CODE>hda - hdc - hdb - hdd</CODE>
|
|
as this will most likely parallelise both channels.
|
|
<P>
|
|
<H2><A NAME="ss3.9">3.9 Speed Comparison</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!speed comparison
|
|
-->
|
|
|
|
The following tables are given just to indicate what speeds are
|
|
possible but remember that these are the theoretical maximum
|
|
speeds. All transfer rates are in MB per second
|
|
and bus widths are measured in bits.
|
|
<P>
|
|
<P>
|
|
<H3>Controllers</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!speed comparison!controllers
|
|
-->
|
|
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
IDE : 8.3 - 16.7
|
|
Ultra-ATA : 33 - 66
|
|
|
|
SCSI :
|
|
Bus width (bits)
|
|
|
|
Bus Speed (MHz) | 8 16 32
|
|
--------------------------------------------------
|
|
5 | 5 10 20
|
|
10 (fast) | 10 20 40
|
|
20 (fast-20 / ultra) | 20 40 80
|
|
40 (fast-40 / ultra-2) | 40 80 --
|
|
--------------------------------------------------
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
<P>
|
|
<P>
|
|
<H3>Bus Types</H3>
|
|
|
|
<P>
|
|
<!--
|
|
disk!speed comparison!bus types
|
|
-->
|
|
|
|
<BLOCKQUOTE><CODE>
|
|
<PRE>
|
|
|
|
ISA : 8-12
|
|
EISA : 33
|
|
VESA : 40 (Sometimes tuned to 50)
|
|
|
|
PCI
|
|
Bus width (bits)
|
|
|
|
Bus Speed (MHz) | 32 64
|
|
--------------------------------------------------
|
|
33 | 132 264
|
|
66 | 264 528
|
|
--------------------------------------------------
|
|
</PRE>
|
|
</CODE></BLOCKQUOTE>
|
|
<P>
|
|
<H2><A NAME="ss3.10">3.10 Benchmarking</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!benchmarking
|
|
-->
|
|
|
|
<!--
|
|
disk!benchmarking!bonnie
|
|
-->
|
|
|
|
<!--
|
|
disk!benchmarking!iozone
|
|
-->
|
|
|
|
<!--
|
|
disk!Bonnie Raitt
|
|
-->
|
|
|
|
This is a very, very difficult topic and I will only make a few
|
|
cautious comments about this minefield. First of all, it is more
|
|
difficult to make comparable benchmarks that have any actual meaning.
|
|
This, however, does not stop people from trying...
|
|
<P>Instead one can use benchmarking to diagnose your own system, to
|
|
check it is going as fast as it should, that is, not slowing down.
|
|
Also you would expect a significant increase when switching from
|
|
a simple file system to RAID, so a lack of performance gain will
|
|
tell you something is wrong.
|
|
<P>When you try to benchmark you should not hack up your own, instead
|
|
look up <CODE>iozone</CODE> and <CODE>bonnie</CODE> and read the documentation very
|
|
carefully. In particular make sure your buffer size is bigger than
|
|
your RAM size, otherwise you test your RAM rather than your disks
|
|
which will give you unrealistically high performance.
|
|
<P>A very simple benchmark can be obtained using <CODE>hdparm -tT</CODE> which
|
|
can be used both on IDE and SCSI drives.
|
|
<P>For more information on benchmarking and software for a number of
|
|
platforms, check out
|
|
<A HREF="http://www.acnc.com/benchmarks.html">ACNC</A>
|
|
benchmark page
|
|
as well as
|
|
<A HREF="http://spin.ch/~tpo/bench/">this one</A>
|
|
and also
|
|
<A HREF="http://www.linuxdoc.org/HOWTO/Benchmarking-HOWTO.html">The Benchmarking-HOWTO</A>.
|
|
<P>There are also official home pages for
|
|
<A HREF="http://www.textuality.com/bonnie/">bonnie</A>,
|
|
<A HREF="http://www.coker.com.au/bonnie++/">bonnie++</A>
|
|
and
|
|
<A HREF="http://www.iozone.org">iozone</A>.
|
|
<P>Trivia: Bonnie is intended to locate bottlenecks, the name is a tribute
|
|
to Bonnie Raitt, "who knows how to use one" as the author puts it.
|
|
<P>
|
|
<H2><A NAME="ss3.11">3.11 Comparisons</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!comparisons
|
|
-->
|
|
|
|
SCSI offers more performance than EIDE but at a price. Termination
|
|
is more complex but expansion not too difficult. Having more than
|
|
4 (or in some cases 2) IDE drives can be complicated, with wide SCSI
|
|
you can have up to 15 per adapter. Some SCSI host adapters have
|
|
several channels thereby multiplying the number of possible drives
|
|
even further.
|
|
<P>For SCSI you have to dedicate one IRQ per host adapter which can
|
|
control up to 15 drives. With EIDE you need one IRQ for each
|
|
channel (which can connect up to 2 disks, master and slave)
|
|
which can cause conflict.
|
|
<P>RLL and MFM is in general too old, slow and unreliable to be of much
|
|
use.
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="ss3.12">3.12 Future Development</A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!future development
|
|
-->
|
|
<P>SCSI-3 is under way and will hopefully be released soon. Faster
|
|
devices are already being announced, recently an 80 MB/s
|
|
and then a 160 MB/s monster specification has been proposed and
|
|
also very recently became commercially available.
|
|
These are based around the Ultra-2 standard (which used a 40 MHz clock)
|
|
combined with a 16 bit cable.
|
|
<P>Some manufacturers already announce SCSI-3
|
|
devices but this is currently rather premature as the standard is not
|
|
yet firm. As the transfer speeds increase the saturation point of the
|
|
PCI bus is getting closer. Currently the 64 bit version has a limit of
|
|
264 MB/s. The PCI transfer rate will in the future be increased from the
|
|
current 33 MHz to 66 MHz, thereby increasing the limit to 528 MB/s.
|
|
<P>The ATA development is continuing and is increasing the performance
|
|
with the new ATA/100 standard. Since most ATA drives are slower in
|
|
sustained transfer from platter than this the performance increase
|
|
will for most people be small.
|
|
<P>More interesting is the Serial ATA development, where the flat cable
|
|
will be replaced with a high speed serial link. This makes cabling
|
|
far simpler than today and also it solves the problem of cabling
|
|
obstructing airflow over the drives.
|
|
<P>Another trend is for larger and larger drives. I hear it is possible
|
|
to get 75 GB on a single drive though this is rather expensive.
|
|
Currently the optimum storage for your money is about 30 GB but also
|
|
this is continuously increasing. The introduction of DVD will in the
|
|
near future have a big impact, with nearly 20 GB on a single disk you
|
|
can have a complete copy of even major FTP sites from around the
|
|
world. The only thing we can be reasonably sure about the future
|
|
is that even if it won't get any better, it will definitely be bigger.
|
|
<P>Addendum: soon after I first wrote this I read that the maximum useful
|
|
speed for a CD-ROM was 20x as mechanical stability would be too great
|
|
a problem at these speeds. About one month after that again the first
|
|
commercial 24x CD-ROMs were available... Currently you can get 40x and
|
|
no doubt higher speeds are in the pipeline.
|
|
<P>A project to encapsulate SCSI over TCP/IP, called
|
|
<A HREF="http://www.ietf.org/internet-drafts/draft-ietf-ips-iscsi-06.txt">iSCSI</A>
|
|
has started, and one
|
|
<A HREF="http://www.cs.uml.edu/~mbrown/iSCSI">Linux iSCSI implementation</A>
|
|
has appeared.
|
|
<P>
|
|
<P>
|
|
<H2><A NAME="recommendations"></A> <A NAME="ss3.13">3.13 Recommendations </A>
|
|
</H2>
|
|
|
|
<P>
|
|
<!--
|
|
disk!recommendations
|
|
-->
|
|
|
|
My personal view is that EIDE
|
|
or Ultra ATA is the best way to start out on your
|
|
system, especially if you intend to use DOS as well on your machine.
|
|
If you plan to expand your system over many years or use it as a
|
|
server I would strongly recommend you get SCSI drives. Currently
|
|
wide SCSI is a little more expensive. You are generally more likely
|
|
to get more for your money with standard width SCSI. There is also
|
|
differential versions of the SCSI bus which increases maximum length
|
|
of the cable. The price increase is even more substantial and cannot
|
|
therefore be recommended for normal users.
|
|
<P>In addition to disk drives you can also connect some types of
|
|
scanners and printers and even networks to a SCSI bus.
|
|
<P>Also keep in mind that as you expand your system you will draw ever
|
|
more power, so make sure your power supply is rated for the job and
|
|
that you have sufficient cooling. Many SCSI drives offer the option
|
|
of sequential spin-up which is a good idea for large systems.
|
|
See also
|
|
<A HREF="Multi-Disk-HOWTO-20.html#power-heating">Power and Heating</A>.
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<P>
|
|
<HR>
|
|
<A HREF="Multi-Disk-HOWTO-4.html">Next</A>
|
|
<A HREF="Multi-Disk-HOWTO-2.html">Previous</A>
|
|
<A HREF="Multi-Disk-HOWTO.html#toc3">Contents</A>
|
|
</BODY>
|
|
</HTML>
|