IntelliWrite Makes Writes Happen Far More Intelligently
IntelliWrite® is one of a suite of technologies that optimize the Windows Storage I/O subsystem so that Applications can get to and from the Storage layer much faster and process a lot more data. Remember when we used to talk about Data Processing? Processing data is WHY you bought your hardware. Oh, I know some people have to have the latest and greatest shiny new toys. But few people can slide that by their bosses as everyone wants to maximize production while limiting their costs. IntelliWrite works with our other patented technologies to get you more data processed with less resources.
As the name implies, we make writes happen far more intelligently. For some of you reading this article, your mind immediately jumps to write caching. Not an unreasonable assumption, especially given our state of the art read caching technology – IntelliMemory®. However, IntelliWrite isn’t even in that same ballpark. IntelliWrite gets involved before the first write even happens. It doesn’t cache or defer writes. It makes writes, and subsequent reads, larger and less random. With IntelliWrite, writes flow to and from Storage without delay or risk. IntelliWrite is safe because it is not altering or changing the data content and the Windows file system is still in control of handling the I/O request.
Highly Efficient and Effective File Allocations
The beauty of IntelliWrite is that it accomplishes this with very little overhead. It sits between your applications and the Windows File System, using the Microsoft Filter Manager, to ensure that file allocations are done in a highly efficient and effective manner. This corrects a serious problem few people are aware of, or even stop to think about, long before data flows to and from the Storage I/O stack. As a result, writes and subsequent read flow to Storage even faster, and hit Storage quicker, because of what IntelliWrite does. Plus, you are getting the optimal performance from your storage because all storage, HDDs and SSDs, process the data faster and more efficiently with the larger reads and writes.
The Filesystem Issues
Are you ready for that peek behind the curtain? What does IntelliWrite do that contributes to the overall amazing results of our Storage I/O optimization software? Before we get right to it, let’s just visit a little bit of history. We invented live file system optimization (defragmentation) so cleanup could be done without having to take your storage offline. When Windows NT was coming out, Microsoft asked us to do it for them. A long time ago in some long lost galaxy, we realized that the layer in the operating system that took care of dynamic data allocation/deallocation (the filesystem), while doing a great job solving that problem, was having issues with how users created and deleted data. And, the problem was only going to get worse.
Over time, free space became much more fragmented. As storage got larger and cheaper, your demands for it grew exponentially. Imagine if the filesystem decided to keep in RAM all the data about where available space on your volume was so it could try to deal with that problem better. The people who built the file system were really smart. They realized it would become a fool’s errand. So, they created caches for most recently deleted data to make it easy to find a convenient place to put the new piece of data you wanted to save to the dynamically allocated storage.
Besides being the first to do live defragmentation, we were the first to realize you couldn’t move all the data on a volume to repair the damage done during the normal course of creating/deleting/writing data. After all, even though our software is awesome, you didn’t buy that flashy hardware to run our software – you bought it to process your data. So, we started creating technologies to get in front of the explosion of data stored. In fact, we are still inventing technologies in our labs to get in front of the next generation of problems you will face before they cause you too many headaches.
IntelliWrite is one of those technologies. The magic behind it is that it helps prevent the issues related to how data gets stored and used before it even becomes a problem. This isn’t done by caching writes. It’s done by knowing how that new piece of data you want to save to Storage is going to get used before the very first write goes down to Storage. Through Artificial Intelligence and Data Analytics, we figure out how much data you are likely to be wanting to read/write in a single operation to that piece of data you want to save (write/allocate). We take what we have learned, and we tell the filesystem to not default to its normal allocation algorithm. Instead, we tell it that this data is going to be utilized in larger pieces than what the file system wants to default allocations to. We tell it how you intend to use it before you even get there, causing Windows to make better dynamic allocation choices.
Processing More Data
What happens as a result? Windows allocates the dynamic disk storage in a more contiguous manner. Windows in essence says:
“Thank you very much. My users will now be able to process a lot more data and do it a lot faster because I don’t have to break up all those data requests into much smaller and more random requests.”
And we say:
“You’re very welcome. By the way, we’ve got some other technologies that will handle more of these kinds of issues and let your users process even more data even faster and prevent all that cross-talk sometimes referred to as the “I/O Blender Effect”. And, in case you didn’t notice, Windows, IntelliWrite already lessened the I/O Blender Effect before our other technologies even got involved.”
Of course, that’s a discussion for another time.
Rick Cadruvi, Chief Architect
Published on: May 15, 2020. Last updated Feb 8, 2022.