three blocks

Analysis

Compellent's controller cleverness

posted on 13 May 2008 05:50


Blocks and memory and bridges

Compellent's Storage Center has a controller which moves active data blocks to higher speed storage and less active blocks to slower storage. It also doesn't have different drive array controllers for Fibre Channel and SATA disks. How does it do these things? What does it mean for drive utilization?

Dynamic Block Architecture
Other suppliers, such as Pillar Data, can move active volumes to higher speed storage, tier 1, and inactive ones to slower and less expensive storage tiers. Pillar even moves these columes to the outer, faster tracks of drives, 'short-stroking', as does Compellent.

But Compellent moves disk blocks, saying that a volume may well contain a mixture of active and inactive blocks. How does Compellent's Dynamic Block Architecture work? Larry Aszmann, Compellent's CTO, says that the 80:20 rule applies with some 20 percent of data (disk blocks) being active and the remaining 80 percent less active: "This enables us to use two different drive technologies; enterprise level drives (Fibre Channel) and nearline drives (SATA)."

The Storage Center product runs an operating system called ECOS on its X86 hardware. This is an open source, real-time operating system (RTOS) that was designed specifically for embedded applications, and contains no Linux code. It maintains disk block-level meta data, including tracking the activity count per 2MB page, a page being a collection of 512 byte blocks, about 4,000 of them. Storage Center is a storage area network (SAN) and doesn't know about files and doesn't want to know about the activity level of volumes.

It wants to maximise the utilisation of fast and expensive storage by having only active data stored on it and it wants to be quite granular about this and so operates at the disk block level. ECOS tracks block-level activity and uses its internal settings to decide if a block is active or not. Active blocks are moved from SATA nearline drives to FC enterprise drives and inactive blocks move the other way.

Should users vary these settings? Aszmann says not: "We recomend users usethe automated settings."

The block activity metadata is stored in Storage Center's main memory, not on disk, Aszmann saying: "Whenever we need to look at block data it's a memory look up. Nobody else does this."

ECOS monitors the block access count and the access in a time period and also the RAID level of a block (volume).

Aszmann said: "Replay and snapshots gives us the option to play with RAID levels. Take a snapshot; all that data is now readonl and can be switched from RAID 10 to RAID 5, which is more space efficient. If you add new data it's RAID 10 and kept in a separate place."

This block-level monitoring is not a big burden on the Storage Center processor. It is, after all and by definition, almost always waiting on disk I/O. There is plenty of time whilst waiting for that to complete to trawl the memory block tables for each tier of storage and mark blocks for moves up or down tiers.

Combined FC and SATA controller

Storage Center can have both FC and SATA drives but doesn't have separate controllers for them. How does that work? First of all Compellent doesn't make or buy in drive arrays. It gets JBODs (just a bunch of disks) from Xyratex.

So a FC JBOD connects to a QLogic HBA which plugs in to the ECOS server's PCI bus. A SATA JBOD is fitted with an Emulex SATA-to-FC bridge and so it can connect to the same QLogic HBA which just sees FC JBODs, but ECOS 'knows' that one is fast Fibre Channel and the other slower, cheaper, more capacious SATA.

When SAS JBODS are supported by Compellent then a single LSI PCI card can interface ECOS to  both SATA and SAS JBODs or to a single JBOD containing both SATA and SAS drives.

SATA as tier 1 storage

What does Aszmann think bout the idea of using SATA drives for primary, tier one storage, as 3PAR is doing with its Nearline for Online scheme?

"I'm sceptical that a SATA drive can really be brought to the enterprise level. Maybe you're giving yourself up to problems. We think SATA could be appropriate for tier 1 as long as its not used beyond its duty cycle."

Disk utilization level

With Storage Center 4.0 and its thin provisioning feature, Compellent thinks disk utilization could approach 100 percent, but Aszmann says you need headroom for the transfers of large numbers of blocks. He recommends 15 to 20 percent, meaning that Compellent can provide 80 to 85 percent utlization of its disk drives.

----

Storage Center has built a loyal and enthusiastic following and Compellent's customers are spreading the good news by word of mouth. Tracking block-level access data might seem an unrealistic and processor-intensive thing to do but Compellent has realised that a disk-bound storage array processor has lots of spare capacity that can be put to useful work. It's own utilization is probably a lot higher as a result too.

[Chris Mellor.]


tags:  DBA