The number one bottleneck in servers
today seems to be the harddrives
themselves, incapable of performing high
IOPS without striping due to high seek
times and rotational latency. Compared to
the CPU and RAM, reading 10K off even a
15K SCSI drive is unbearably slow.
I prpose a system that
utilizes the
burgeoning market of low cost USB Flash
Drives in a simple RAID array to provide
hughe throughput with zero latency - only
raw tthroughput would be meaningful.
Each subcontroller would be a simple
embedded CPU (e.g., an ARM920) with
some ROM and RAM (only a tiny amount of
both is needed, the design will be
cacheless). To the CPU would be sixteen
independant USB2.0 master ports - each
capable of 480Mbits/s. This would only
need to be a partial USB2.0 implement as
each master only supports one device and
only one type of device, a memory stick.
All sixteen need to be the same, and it
provides RAID6 across them (so only
fourteen provide data). With 4GB sticks,
that would provide 56GB of data per
module. Each module could provide about
280 to 420MB/s bandwidth with near-zero
overhead.
Modules would be interconnected with
either a simple paralell bus, and about 6
could be placed inside a 1U rackmount
case with redundant powersupplies, fans,
etc. Or alternatively, each module could
convert the data to SATA-II and then use a
more standard host board.
This would aggregate to 1.6 to 2.5GB/s
which could saturate a 10GbE uplink!
There would then be a seventh board
connected on the bus that is the host
controller with 4 SFP/GbE ports for
connection to the network, as well as a
10/100bTX port for management.
Depending on the implementation of the
module boards, this could simply be a
SATA-II RAID controller (so you could even
RAID5 the modules themselves which are
also RAID6 - though for speed RAID0
would be better).
Now, with current prices for flash at about
$80/GB (retail, bulk could be cheaper,
don't know), a stuffed unit with 4GB
modules would cost $30K for just the
memory (and probably about $4K for the
subsystem), placing it rather high on the
SAN $/GB level. However, on the $/IO it
would beat every harddrive solution there
is.