Friday, March 30, 2007

Freescale i.MX31 Overview

The full specifications are available on the web, without needing an NDA. Freescale should be commended for their open attitude.

See below for the block diagram of the functions of this device, taken from the Freescale web site, a picture really is worth a thousand words in this case...

All this and the price is about $20 in small volume!

Thursday, March 29, 2007

Flash Solid State Disk (SSD) for Millicomputers

The days of keeping bits on spinning rust are coming to an end....

Both Samsung and SANdisk have announced 32GB SSDs. SANdisk's comsumes 0.9W max (competing disks take 1.9W) and fits in a 1.8 or 2.5" drive form factor with ATA interface. The sequential performance of these SSDs is similar to normal disks for reads, a bit slower for pure writes, but as soon as you start doing random reads or writes they are an order of magnitude faster than disks. The smaller the random accesses the bigger the relative speedup. The latest announcement from Samsung is a 1.8" 64GB version, and there is some discussion about the growth of this market in the press release.

This makes perfect sense for millcomputers. Small millicomputers can be directly connected to gigabytes of NAND flash via the SDIO interface, and larger millicomputers can use ATA interfaces to connect to flash-SSDs. The extra random performance of the SSD offsets the lack of disk spindles in a compact design and will make IO intensive workloads extremely competitive for millicomputing.

The MTBF (reliability) of SSDs is also far higher than disks. A mirrored pair of disks may be replaced with a single SSD since it has much higher reliability. This helps offset the current price premium paid for the SSD.

In the past SSDs have been built using technologies that were far more expensive than disks. Flash based SSDs have now reduced the gap, and the trend is that SSDs will eventually become bigger and cheaper than disks, the only question is when, and my answer is sooner than you think!

Update: here is a detailed benchmark review from

What is a Millicomputer? Why talk about Millicomputing?

While researching devices for my home brew mobile phone, I've realized that the current generation of CPUs for mobile devices are actually seriously powerful, very low cost and use almost no power. The performance per watt and per dollar seems to be an order of magnitude better than the PC-class CPUs that are common in commodity servers nowadays. The absolute performance and memory capacity is lower, but is comparable to common PC hardware from a few years ago, and could be useful for more than running a high end phone or portable games machine. Devices such as the Marvel PXA270 and Freescale i.MX31 run at over 500MHz, some include floating point units, they support at least 128MB of RAM (a single chip), and a myriad of I/O interfaces, with Linux 2.6 support.

While the current mainstream CPUs were driven by the development of the home PC market, this generation is driven by the development of the mobile, battery powered device market, which is a very large. For example the worldwide cellphone market is something like a billion devices a year.

I think that there could be some interesting general purpose computer systems built from low power devices (CPUs that use less than one watt). I looked around but wasn't sure what to search for... I do know about the systems that are sold for embedded use, but they are typically configured using lower speed and lower memory options.

Does anyone know of vendors selling general purpose millicomputer based systems?

I need a name for this class of system, so I'm going to call them Millicomputers, and I'm going to explore this area in public on this blog, and using the principles of open hardware that we have adopted for the homebrew mobile phone club, I expect to help build some.

I originally asked this question on my main blog, and asked a lot of people in person, but didn't find a pre-existing name or any objections to this concept.