The storage industry has many applications that rely on storing data as objects. In fact, it’s the most popular way that unstructured data—for example photos, videos, and archived messages–is accessed.
At the drive level, however, the devil is in the details. Normally, storage devices like drives or storage systems store information as blocks, not objects. This means that there is some translation that goes on between the data as it is ingested or consumed (i.e., objects) and the data that is stored (i.e., blocks).
Naturally, storing objects from applications as objects on storage would be more efficient and means that there are performance boosts, and simplicity means that there are fewer things that can go wrong. Moving towards storing key value pairs that get away from the traditional block storage paradigm makes it easier and simpler to access objects. But nobody wants a marketplace where each storage vendor has their own key value API.
Both the NVM
Express
group and SNIA have done quite a bit of work in standardizing this
approach:

- NVM Express has completed standardization of the Key Value Command Set
- SNIA has standardized a Key Value API
- Spoiler alert: these two work very well together!
- How this approach is different than traditional block-based storage
- Why doing this makes sense for certain types of data (and, of course, why doing this may not make sense for certain types of data)
- How this simplifies the storage stack
- Who should care about this, why they should care about this, and whether or not you are in that group
Leave a Reply