The first challenge when choosing solid-state disk (SSD) or solid-state storage (SSS) systems is how to take full advantage of its potential performance. Solid state changes everything, and to get full performance out of it requires a well-tuned application, an optimized storage network, and powerful storage system. That is a lot if you just need to fix a particular performance problem, so there is another option--go simple and use PCIe SSD.
PCIe SSD places flash memory on a PCIe board along with the appropriate flash controller technology. It not only has the advantage of low cost, because the vendor can leverage the capabilities within the server, it also is not limited to the connectivity performance that an SSD or even Fibre Channel-attached SSS would have to use. Even local-attached SSD has to connect via either SATA or SAS. PCIe provides SSS more direct access to the CPU.
Most importantly, PCIe SSD can be installed without changes to the infrastructure. It can be seen as a one-off upgrade for a particular application server. This allows an application owner or a storage manager to solve a performance problem at its heart and not have to design or re-design an elaborate new storage infrastructure to take advantage of the solid-state investment.
Another use case is in the scale-out compute infrastructures popular in cloud and high-performance computing (HPC). In many of these installations, hard disk storage is locally attached by design, so adding internal storage via a PCIe slot is ideal.
The low cost of PCIe SSD, at least in relation to other SSS, also makes it attractive. In most cases the cost can be justified as an "application upgrade," avoiding the protracted discussion about a storage infrastructure's investments.
The challenge with adding local storage is how to integrate it into the data protection strategy. PCIe SSDs are ideal for data sets that don't need to be backed up, files that are temporal in nature, for example. These are typically files like log files and swap files; files that are created, discarded, and easily re-created.
Another use case is to use PCIe SSD as a local systems cache, as we discuss in our article "What is Server Based Solid State Caching" these systems can be implemented in a variety of ways and can boost local storage performance. Some products now can provide read and write caching and do so across multiple storage protocols, not just locally attached hard disk.
Beyond temporal data, there are ways to store production data on PCIe SSD and still easily keep that data protected. As we discuss in "Integrating SSD and Maintaining Disaster Recovery", mirrors that support preferred read paths are ideal because data is written to both solid-state drives and mechanical hard drives, but read exclusively from the fast SSD.
A final option is to look at software services that can bridge the gap. As we discussed in our recent briefing report "I/O Bottleneck Solved" there is software available that can automatically distribute data across multiple PCIe-based SSDs installed in physically different servers.
All PCIe SSDs are not created equal though. In a future entry we will discuss what to look for in PCIe-based SSD.
Follow Storage Switzerland on Twitter