Although the core issues with thin provisioning revolve around communication, it presents unique challenges to the storage array as well. We talked about granularity of pages, and the comments for that piece were extremely enlightening. Now let’s consider another key factor: Scheduling.
If WRITE_SAME can be a semaphore for thin un-provisioning, what about TRIM? It sounds like a perfect fit, and has wider implementation to boot! Let’s take a deeper look.
What happens in the telephone game is that a little bit of information gets lost at each step along the path, and at the end of the chain you’ve basically lost all the information. And this happens all the time in computers, especially in data storage. Thin reclamation is the core technical challenge to thin provisioning, and the telephone game is the reason.
One of the biggest problems for thin provisioning is not the provisioning part: It’s fairly easy for a storage array to allocate on request: “I need a block; here’s some data I want you to write.” And the storage array just starts allocating, and allocating. But, the operating system never goes back and says “I don’t need that block anymore.”
Last week, I lauded Symantec for introducing an API in Storage Foundation which will interact with the thin storage capabilities of supported arrays. Since then, I’ve learned more about this capability, and I am writing this update to share that knowledge. As I noted last week, the press release was a bit hard to follow and […]