One of the more promising technologies for improving applications and databases performance is the PCIe Flash card. This technology uses a standard half or full-height PCI-e interface card with a Solid State Disk mounted on it. It allows SSD to be added to a workstation or server by simply plugging a card into an available PCIe bus slot.
What makes PCIe Flash card approach superior to array-based SSD is its close proximity to the system memory and the elimination of latency-adding components to the I/O stream. In a normal SAN or NAS array, data is transferred to storage across the SAN fabric. Bytes of data move across the systems PCIe I/O bus, where it is read by the HBAs (or NICs if it’s NAS), translated into the appropriate protocol, converted to a serial stream, and sent across the SAN fabric. In most SANs the signal is read and retransmitted one or more times by edge switches and directors, then sent to disk array controllers. From there it is converted from a serial stream to a parallel data, translated from the SAN fabric protocol, given a block-level addressing, possibly stored in array cache, re-serialized for transmission to the disks, received and re-ordered by disks for efficient write processes, and finally written to the devices. For a data read, the process is reversed via a similar process.
Like other technologies, however, there are pros and cons to using PCIe Flash storage:
- Plugs directly into the PCIe bus, eliminating latency from the HBAs, network protocols, SAN fabric, array controller latencies, and disk tray connections.
- PCIe is a point-to-point architecture, so each device connects to the host with its own serial link
- PCIe Gen 2 supports 8Gbps/sec., which is 25% faster than the 6Gbps SAS interface
- Little or no additional infrastructure is required to capitalize on flash storage performance
- Very simple to deploy and configure
- Extremely low power consumption, as compared with traditional 3.5-inch hard disks.
- Positions data in very close proximity to the system processors and cache structure
- Requires no additional physical space in the storage equipment rack
- The number of SSD storage deployed is limited by the physical number of slots
- Some PCIe Flash cards are “tall” enough to block the availability of an adjacent slot
- Recent PCIe bus technology is required to support top performance (x4 or above)
- Internal PCIe storage cannot be shared by other servers like a shared SAN resource
- May require specialized software for the server to utilize it as internal cache or mass storage
- PCIe Flash may suffer quality issues if an Enterprise-Grade product is not purchased
- If the server goes down, content on the installed PCIe Flash becomes inaccessible
Like other SSD devices, Flash PCIe cards are expensive when compared to traditional disk storage. In Qtr4 of 2012, representative prices for 800GB of PCIe Flash storage are in the range of $3800 to $4500 each. Since a 15K RPM hard disk of similar capacity sells for $300 to $450 each, Flash memory remains about ten times more expensive on a cost-per-GB basis. However, since Solid State Disk (SSD) is about 21 times faster than electro-mechanical disk, it may be worth the investment if extremely fast performance is of upmost importance.