How Fast Can USB 2.0 Thumb Drives Be?
What if you aggregated a bunch of 4GB USB 2.0 thumb drives and made a RAID-5 configuration (software RAID)? Would this have faster drive read/write than RAID-5 on regular hard drives?
Why do I ask? Well, I saw an advertisement in my supervisor's Processor.com magazine for a 2U rackmount web server that costs $65,000 and runs on non-volatile solid-state memory. It only has 128GB of memory. However, the ad said it could give you a website that's 1500% faster. The cash register in my brain started ringing...
* You take an ordinary OEM 2U rackmount web server with a single hard drive inside, 2GB of RAM, USB 2.0 port, CDROM, 2 10/100/1000 NIC cards, and 2 power supplies. The motherboard is a little small so that stuff can be attached to the chassis with machine screws.
* You get on the Internet and purchase a sheet of thin aluminum and another of thick aluminum. In your wood shop, you take a scroll saw and put a special blade on it that cuts metal really well. You cut the aluminum into the shape of an L, but the small end is a little fatter and you can drill holes in it. You then do this again. You then drill holes in such a way to attach the two L pieces together and then fashion a lid and a bottom to stay snug. You now have an aluminum box. You drill a hole such that a single, extremely high quality USB 2.0 cable can fit in there.
* Inside the aluminum box, you put 32 4GB thumb drives through a series of USB hubs in such a way that only the USB cable comes out. Then, to make it even better, you gently remove the chip drives from their casing, along with the USB hubs from their casing, and you gently attach this to the aluminum with really fine machine screws.
* Now take the aluminum box with the USB cable coming out and attach it to the chassis of the 2U rackmount server. Connect the USB cable to the motherboard's USB slot connector.
* Using the internal hard drive on it, now put Ubuntu Server Linux on it and build a web interface with PHP to administer it. Throw Mambo, PHP4 (cgi mode), PHP5 (module mode), and Apache2, PostgreSQL, MySQL, SSH, OpenSSL, and Postfix on it. Implement iptables firewall (and license it from Netfilter, grrr). Because web servers are sometimes in DMZs and don't have proper Internet access, make it so that in order to update it, one has to insert a CDR and connect to a web page to tell it to do an apt-get update; apt-get upgrade; from it. One gets the CDR through subscription. If you want to go nuts, put a download source for common dev tools from it and install Zend Accelerator.
* Mount the USB thumb drives as one great big 128 GB RAID-5 drive on ReiserFS.
* Make the web admin piece of it allow one to use the NICs on separate IP addresses, or aggregate the 2 NICs together on the same IP address for increased bandwidth.
* Let one use SCP to securely copy files to the web server, or perhaps enable FTP.
* Sell it for $40,000 (USA dollars). Your cost? Perhaps $6K to $8K (USA dollars) once you start to build on volume. If you sell 31 of these, you're a millionaire. Your customer? Go after the Fortune 500. They'd eat this stuff up in a heartbeat without even blinking.
- These drives only last 10 years, so you have to tell the customer upfront and give them a renewal option that they can purchase now and store the renewal kit (with instructions) for that day, or they can just wait until that day comes and hope that you still have renewal kits available.
- You can only store 128 GB. If the customer wants more than that, cheaply, then they'll have to connect to another database instead of using the local one, or migrate some of the lesser-used tables to another database server. And of course that may slow down the app a little.
- If one drive blows in the RAID-5 configuration, and the 90 day warranty is up, they'll have to call out a technician from your company, expenses-paid, to replace it at some time before the second drive blows. (That is, unless you can figure out how to rip out the drives from hot-swappable disk bays and make the USB thumb drives work with that.)