PCIe based flash solutions remain a popular method for accelerating application performance. However, there’s a tendency to treat all these cards the same, which would be a mistake since there are vast differences between these offerings that can lead to better performance and longer flash life. The Huawei Tecal ES3000 is a good example of this. It combines a unique controller implementation with sophisticated flash and power management software to provide more consistent performance for the long haul.
PCIe Flash Requires Predictability
We all know that PCIe SSD solutions are ideal for environments that can benefit from reduced latency and increased application performance. But what happens to that latency when the PCIe Flash is placed under load? If the board has to start queuing application I/O so it can handle the flash management overhead, performance will become very unpredictable (and will certainly decrease). Users may assume this unpredictability is due to poor application performance and blame the application owner, who will then, of course, blame the storage administrator.
The unpredictable performance of a PCIe SSD while under load often occurs because the flash controller gets overwhelmed. This controller, as we explained in a the article “Pay Attention to Flash Controllers When Selecting SSD Systems”, does the hard work of managing NAND flash cells so write performance losses are mitigated and life expectancy is maximized. The more load that is placed on the system the more additional work there is for the flash controller to do.
Another culprit is increasing flash capacity per PCIe board. Several manufacturers can provide over 2TBs of flash capacity per board. The more capacity there is the more flash that needs to be managed by the flash controller.
This combination of heavier I/O workload and higher capacity per board leads to unpredictable performance. Remember, in a PCIe SSD microseconds matter, so mitigating latency is important. There are two ways PCIe SSD vendors can deliver more predictable latency.
Managing PCIe Flash Latency
The first method to reduce or manage latency is to leverage multiple controllers. Here is where Huawei excels; their PCIe SSD is divided up into a main board and a daughter card. The main board has a controller and the daughter board has two. Each is responsible for a section of NAND flash. Taking this divide-and-conquer approach allows predictable performance even under heavy workloads and high capacities.
The second method is to leverage a small amount of RAM to act as a buffer for write traffic, especially during large write operations. The risk of doing this is that if power is lost during the operation, data could be acknowledged to the application without being stored on nonvolatile flash. To overcome this Huawei provides capacitors that can supply more than enough power to the board so that buffers and flash metadata can be flushed to the flash storage area prior to complete power loss.
In this way Huawei’s Tecal ES3000 leverages both of these methods to deliver a very consistent performance profile. The full-height, half-length PCIe Flash card leverages MLC NAND and delivers up to 2.4TB per board as described above. Supported operating systems include MS Windows Server, Red Hat Linux, CentOS, Ubuntu and potentially most important, VMware.
Storage Swiss Take
When customers need server side flash solutions they are generally looking to eliminate as much latency as possible. The removal of network latency is obvious, the latency within the flash ecosystem may not be. Flash controllers and flash capacity can impact that latency and how predictable that latency is under load. Huawei’s Tecal ES3000 PCIe SSD has the ability to eliminate both from being a problem.
Huawei is not a client of Storage Switzerland