Solidigm Synergy 2.0 Amplifies P41 Plus and P44 Pro Performance with Custom Driverby Ganesh T S on May 3, 2023 10:00 AM EST
Solidigm has been active in the PC client SSD market with the QLC-based P41 Plus and the traditional TLC-based P44 Pro for the high-end market. While introducing the P41 Plus, Solidigm had also talked about the implementation of a read cache using the pSLC segment of the drive. This required the installation of Solidigm Synergy software. Over the last few quarters, the company has been hard at work perfecting the Solidigm Synergy 2.0 software release, with the promise of delivering even better performance for real-world workloads (compared to performance at launch) when used with the P41 Plus and the P44 Pro. While most SSD vendors work at the hardware and firmware levels, Solidigm believes there is performance benefits to be exploited at the software / driver level also.
Solidigm's Synergy 2.0 has two components - a Synergy Toolkit, and a Synergy Driver. While the toolkit taps into the SMART support and Windows performance counters and supports a variety of SSDs, the Synergy Driver is obviously supported only on Solidigm's client SSDs.
The toolkit itself is similar to the ones released by almost every other SSD vendor for the purpose of storage monitoring and maintenance. It collates a bunch of features that are spread over multiple tools and may be useful as a one-stop shop for mainstream users. The more interesting component is actually the Solidigm Synergy Driver that operates at the kernel level. Currently, this driver works only with Windows 10 or 11. Solidigm claims much better performance with its custom driver, with the QLC-based drive seeing significant improvement.
The driver is able to achieve this performance improvement using three different aspects:
- Dynamic Queues
- Prefetch for QD1 accesses
- FastLane (host-managed caching)
Out of these three, FastLane is available only for the P41 Plus currently. This host-managed caching scheme was already discussed in detail in our launch coverage of the P41 Plus, though it didn't have the FastLane moniker at that time.
Read caching is of help only when the drive is not full enough to actually make the cache size too small to be of good use. Solidigm claims that this technique helps most in drives that are between 25% to 75% full
The Synergy Driver includes a feature that analyzes the storage trace of an application in real-time to detect predictable read operations. When the access queue depth is low and operations are sequential in nature, it is possible to predict the next access and prefetch it prior to the actual application request. This can increase responsiveness from an user experience perspective.
The driver allows up to 8 streams to be fetched, each with a buffer size of 512KB and maximum request size of 128KB. [Update: These numbers can obviously be changed by Solidigm in a future driver release]. The driver's prefetch behavior can be controlled via a registry parameter [Update: Solidigm does not intend this key to be accessed by end users].
On systems with a large number of CPU cores, Solidigm claims that their driver can do a better job at routing I/O requests to relatively idle cores compared to the native Windows driver. The driver taps into the I/O request load, request size, and I/O processing times with / without CPU core redirection to decide whether to activate the dynamic queues. This process is dynamic - if the driver detects that the redirection makes completion times worse, or there is a change in workload, the dynamic queueing behavior is dropped. Similar to the smart prefetching, this aspect can also be deactivated using the registry [Update: Solidigm does not intend this key to be accessed by end users].
Solidigm's approach to delivering value additions to their client SSD customers after purchase is a marked departure from other vendors who rely solely on firmware updates - mostly for bug fixes. Providing better performance over time with driver releases is welcome from the end-user viewpoint. A point to keep in mind here is that these features help with real-world workloads - and not for use-cases primarily dealing with large sequential transfers, and measured using ATTO or CrystalDiskMark.