The Object of My Affection

Why do we manage blocks? That construct is getting old.

You might say we manage blocks because disks have blocks and we build storage out of disks. But what if disks didn’t have blocks? No more block management. We’d simply manage . . . . OK, what would we manage?

Enter the object
Bruce Lee could make an entrance. Objects, not so much.

Like files, objects contain data. But they lack several things that would make them files. They don’t have:

  • Hierarchy. Not only are all objects created equal, they all remain at the same level. So you can’t put one object inside another.
  • Names. At least, not human-type names like Pamela Anderson, Claudia Schiffer, 2006 Taxes or Brad Pitt.
  • User access control. Objects just lie there like a dollar on the street, waiting to be picked up. Objects don’t know who they belong to.

The missing synch
A file system’s user-facing component provides those missing elements. You decide which files belong in which folders. You give the files names. You decide which users have access to which files and what those users can do with those files.

So objects all look alike. Some are bigger and some are smaller, but until we get them dressed and named, they aren’t files. Yet they are a lot closer to files than blocks are. Which means that if you choose to manage objects you no longer have to worry about blocks.

Is this going anywhere?
Patience, padawan. Object-based Storage Devices or OSD. OSD is a standards effort defining how storage devices, like disks, disk arrays or tape libraries could present a standard, SCSI-based, interface to serve objects to the user-facing file system component. This moves the processing required for figuring out which sectors contain a file’s data from the server to the storage device.

Here’s a diagram of the change from block-based to object-based storage:

OSD Model Diagram

The StorageMojo take
OSD is cool, if it ever comes to market. Moving processing off the main CPU frees up cycles for mission critical applications, like improving the frame rate in Quake.

Today’s disk drives have more computes, RAM and I/O bandwidth than $300,000 minicomputers did 25 years ago. Why let all that capability go to waste, especially as data volumes explode?

So the device will manage the objects and the server/workstation will manage the file user interface. We are still moving away from the model of the original disk drives where the CPU directly managed the head movement. OSD will help create more scalable and easily managed systems. This is another important step towards building the massive scale-out storage systems of tomorrow.

Comments welcome, as always. I think OSD is cool, but maybe you don’t. I’d like to know why.