Floppies for the New Millennium
Late in 2002, my wife bought me an Easy Disk USB flash memory device built around an NAND-type flash chip with an ARM7 controller. It's a cute little plastic thing about the size and shape of a stubby cigar or a wide pen, and I routinely keep it in my pocket for convenience. This particular one has a 32MB capacity and is sold at your local PC clone shop for about $10–$20 US, but various capacities are available, ascending by powers of two all the way up to 2GB for about $600. The sweet spot on today's market is probably 256MB for about $80–$90 US; though offerings and prices are in flux as manufacturers continue to expand the market (Table 1). The smaller units seem to be vanishing as stocks run out, and the 2GB ones are just now hitting the market.
Table 1. Typical Street Pricing
For some computer users, the gadget that finally made USB part of daily computing was a digital camera or scanner, or a USB mouse or keyboard. For me, it was this unassuming little widget. Why? Because it solves the same problems we used to solve with floppy disks, updated to modern performance and capacity standards.
Floppies themselves are obsolete on account of low capacity, speed and reliability, but the need exists more than ever for impromptu file transport between machines, especially for those of us who travel about with laptops. Ideally, everyone would have compatible 802.11a, b or g wireless or infrared networking or would be able to plug in to an available Ethernet hub, but that won't be reliably true in the near term. Even a crossover Ethernet cable, foolproof and compact as it is on the hardware level, requires software cooperation on both ends, which often doesn't happen.
Iomega Zip disks are lovely for capacities up to 100MB, but most people don't have the drives. CD-R/CD-RW drives are more of an archival medium than they are casual disk storage, because one must assemble and burn session data to create them. Floppies are, by modern standards, too slow, too fallible and too tiny. So, there's been a functionality gap into which USB flash memory drives step nicely. They're fast, spacious, nonvolatile, durable, compact, cheap and compatible with all recent PCs and Macs, regardless of operating system.
When USB first appeared on PCs, physically connecting devices like Easy Disks entailed the serious inconvenience of reaching around to the system unit's back panel to find the USB ports. You still will sometimes encounter this situation, especially on PCs whose USB ports have gone unused. People who use such ports regularly tend to attach USB hubs to them for ease of access, such as the hubs increasingly built in to current production monitors. Also, many of the newer workstation case designs move their USB ports to the front panel.
The storage medium inside the hard plastic shell is NAND-type flash memory, which is neither fish nor fowl. It's not volatile like the classic (but exotic) electronic disk drives. Material written to a flash disk will stay good for a decade or more, with no need for AC power or batteries. It's not fragile like a hard disk, nor are there moving parts as in hard, floppy and Zip disks. Its write operations, at about 1MB/s, are much slower than those of CD-R or even CD-RW drives and are poky compared to a hard drive's. Read operations, on the other hand, are about five times faster and don't wear the device.
The literature on NAND flash disks suggests that they wear out after about 10,000 erase/write cycles, which just might sneak up on you, given that you can't hear any signs of distress. Any write operation requires that the onboard controller chip first zero out a fairly large data block, typically 8 or 16KB. Eventual block failure will occur from fatigue after too many erase/write cycles, at best requiring that the controller chip's hardware-level ECC functions mark as bad that entire block, and at worst causing device failure, if key filesystem information was stored there.
The point is that, although the design encourages you to treat flash disks as random-access devices, their wear characteristics are more like those of sequential media, such as magnetic tape. Accordingly, when using flash disks as Linux mass storage, you should take measures at the software level to limit wear.
In addition to the USB form factor, you'll also find NAND-type flash memory in PC Card (PCMCIA) devices—plus in a half-dozen or so closely related physical formats commonly used for data storage in digital cameras, PDAs, cellular phones and the like: CF (CompactFlash), MMC (MultiMedia Card), SD (Secure Digital), SmartMedia, Memory Stic, XD-Picture, Microdrive and Memory Gate. Most and perhaps all of those latter flash types omit the logic circuitry that enables USB flash disks to self-monitor for ECC purposes, support boot code and so on, being closer to simple flash storage with a standard access port. Most mentions of flash devices you'll encounter will turn out to concern CF-type media or similar; take care not to confuse these with USB flash drives.
Given a 64MB USB flash disk, one should be able to put entire Linux mini-distributions, such as the LNX-BBC, on them. If your machines have BIOS support for booting from USB, it might be worthwhile to experiment.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
3 hours 43 min ago
- Please correct the URL for Salt Stack's web site
6 hours 54 min ago
- Android is Linux -- why no better inter-operation
9 hours 10 min ago
- Connecting Android device to desktop Linux via USB
9 hours 38 min ago
- Find new cell phone and tablet pc
10 hours 36 min ago
12 hours 5 min ago
- Automatically updating Guest Additions
13 hours 14 min ago
- I like your topic on android
14 hours 41 sec ago
- This is the easiest tutorial
20 hours 36 min ago
- Ahh, the Koolaid.
1 day 2 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?