Adaptec is adding a NAND flash cache to its RAID controllers to speed up disk array read I/O. The company's MaxIQ product uses an Intel X25-E single level cell flash module which, Adaptec says, offers 1.2GB/sec throughout and 20,000 I/Os per second (IOPS) with a 3Gbit/s SAS interface and a PCIe 1.1 connection. It can be used on …
I see a possible downside to using an SSD as a read cache in the way described. It would seem that every uncached read from disk will get written to the SSD if the description is correct. Of course if the data is re-accessed later, then that's all fine and dandy. However, if there is an I/O pattern that frsutrates this - sequential reads, such as backups, being one example, then it will churn a lot of data through the cache without any effect. With a volitale RAM cache that only has the effect of wiping out data that might be usefully cached, but with an SSD cache that's a lot of write activity and flash has a limited number of write cycles.
There are ways of dealing with this sort of cache issue - one of the things that can be done is to detect large sequential reads and not cache them. Certainly this thing will depend heavily on the cache algorithms being used. Running a disk backup and re-writing the limited size SSD several times over would not be a great thing to do for either SSD longevity.
Oh yes - and if a disk controllet can do this sort of caching, then it can be done in a drive. Add a few gig of SSD flash and some clever cache algorithms into a standard drive and we might well have something of use to the average PC user. Whatever is done, this needs to be kept off of the motherboards and kept in the strorage devices.
@ Steven Jones
I don't disagree that there are issues with an SSD's limited write cycles.
But its a moot point.
The SSD is used for caching and if there becomes a problem, you can replace the SSD. (Assuming that these are not chips physically on the controller board but a plug in sub board or something similar.)
The other key point is that this is a lower cost alternative to other solutions. You have to admire that it works and is affordable.
While I am not an adaptec fanboi, I do admire their products and have used them for 15+ years in various machines.
"Oh yes - and if a disk controllet can do this sort of caching, then it can be done in a drive. Add a few gig of SSD flash and some clever cache algorithms into a standard drive and we might well have something of use to the average PC user"
http://en.wikipedia.org/wiki/Hybrid_drive - not many turned up though as the advantage wasn't huge, but the costs were.
Failing that, it's already in use to an extent in Vista/7:
Caching algorithms have improved over the years you know, and can actually recognise when large backups are in progress. CPU designers have honed caching algorithms for several decades now. The SSDs won't fail over night, they'll just gradually reduce in capacity. Data won't be lost, performance will just gradually drop. Building it into the drives will exhibit the same effect.
"The company's MaxIQ product uses an Intel X25-E single level cell flash module which, Adaptec says, offers 1.2GB/sec throughout and 20,000 I/Os per second (IOPS) with a 3Gbit/s SAS interface and a PCIe 1.1 connection... MaxIQ does a seemingly paltry 20,000 IOPS but costs $0.31/GB and $0.14 per I/O... The flash modules... will cost around $1295.00."
Something doesn't seem right. First, those advertised specs for the X25-E are far higher than anything I've seen. Intel says the X25-E has sequential read bandwidth of 250MB/sec; that's a far cry from 1.2GB/sec.
Then there's the price. Adaptec says the MaxIQ offers a cost/GB of $0.31. If that was accurate, then either the MaxIQ's true price is $9.92 (not $1295.00) or it has a capacity of 4,177GB (not 32GB). Considering the selling price of an X25-E SSD ranges from $400 to $900, I'll go out on a limb and say the advertised cost/GB is nowhere close to accurate.
@Ian Michael Gumby & Annihilator
Well thanks for that, but you hardly added anything to what I said and I was aware of those issues. Oracle for one can spot full table scans and avoid populating the cache with unwanted data, but that wasn't foolproof (and it's changed again in Oracle). No caching algorithm is perfect - they can only forecast the future from past behaviour.
I was also fully aware of hybrid hard drives and that they've not provided the expected benefit. However, that is surely just because of the state of technology. I'm no fan of requiring motherboard and operating system support for such things - they really ought to be transparent, much as the cache in the controller will be. Whilst the former might produce some improvements through optimising for the peculiarities of particular environments, it's usually a technological dead end as it gets locked into your particular server hardware. Much better to be able to swap out with a fast I/O device.
The particular issue here was over the special characteristics of limited write cycles on SSD. Now I've never much worried about it on "true" write activity, as most I/O on most systems is read (there are exceptions to that where state information is updated and where reads are readily serverd from cache in a DB). However, if this device really does turn a whole bunch of what would have been reads into writes to the SSD then it could wear out faster. I would always assume that the things would be fail safe, it's really the cost implications.