Posted on 21 May, 2021
With PC’s and servers demanding more and more storage capacity there comes the problem of keeping up whilst keeping costs low. How do you have the capacity you need and also enable the storage performance to keep pace? The team at Enmotus have engineered a unique solution to solve this issue that the Boston Labs team recently got a chance try it first hand.
Introducing the FuzeDrive P200
The Enmotus FuzeDrive P200 SSD is unique in the market as it is essentially 2 SSD’s combined into one volume. The P200 uses a combination of both SLC and QLC NAND flash to enhance its capacity and performance capabilities yet also deliver great write endurance. Whilst some other SSD vendors do use this combination of NAND memory, often the SLC portion is not available when the drive fills up and there is a hit to performance as the slower QLC NAND is all that’s left. Enmotus ensure the faster and more durable SLC NAND is always available for frequently accessed data – helping deliver the best performance more often (more on this later).
Using PCIe Gen 3 bus, the P200 has an M.2 2280 form factor and uses the performant NVMe interface. It comes in 2 capacity options a 900GB and a 1.6TB model which include 24GB and 128GB of the faster SLC NAND respectively. In this review we will be looking at the 1.6TB edition and putting it through it’s paces.
Enmotus FuzeDrive P200 Overview
Enmotus FuzeDrive Technical Specifications
Enmotus FuzeDrive M.2
Enmotus FuzeDrive M.2 Packaging
As mentioned in the introduction, Enmotus aims to give faster performance from the P200 by utilising both SLC and QLC NAND flash in tandem. There is a smaller, faster SLC portion for hot data and QLC for the mass/bulk storage element. It is worthwhile to explain a little bit about these technologies, as this in turn will help to understand the strategy deployed by Enmotus in the P200.
NAND flash memory is made up of cells and it is within these cells that hold the data, in bits. These type of cells can have different densities which in turn affect performance, endurance and the cost of manufacturing. The most common types seen in the market today are Single-Level Cell (SLC), Multi-Level Cell (MLC), Triple-Layer Cell (TLC) and Quad-Level Cell (QLC). Cost per bit and performance decreases as more levels are added, hence the combination of the fast and slow tiers creates a perfect hybrid option.
We will summarise the 2 technologies that Enmotus use, SLC and QLC below:
SLC - Single-Level Cell
The single level indicates that only 1 bit of data can be written to any 1 cell. The advantage of this is that it is faster and more durable but costs are high. It’s faster due to each cell having to only process a single bit of data per cell and this also means its less prone to error. As each cell is filled with less bits over time compared to other NAND, this results in longer drive endurance too, but the bits per die are less dense than other technologies. Drives with SLC are therefore more expensive than others, and for this reason tend to be used in enterprise solutions or for critical data. The SLC NAND part of the Enmotus FuzeDrive is the faster, more endurant tier.
QLC - Quad-Level Cell
This technology, as the name suggests, allows 4 bits of data to be written to each memory cell. Whilst this means the NAND can pack more data inside and offer bigger capacities, it does have some drawbacks. They are significantly slower in write performance than SLC and endurance takes a huge hit, meaning the drive will degrade and wear out more quickly. In the Enmotus FuzeDrive the idea is the data that’s not as frequently needed can be stored in the QLC NAND making a balance in price performance.
The FuzeDrive M.2 – SLC and QLC
As mentioned earlier, other SSD vendors do use a type of combination of SLC and QLC to achieve better performance but there are differences in approaches when compared to the P200. In fact, a typical QLC NVMe drive typically has a type of both SLC and QLC. For example, when a drive is empty, the QLC NAND is partially re-programmed as SLC and only 1 bit is stored per cell. This works well for a while, but as the drive fills up the SLC cells need to be re-programmed again back into QLC to utilise the unused cell capacity and increase this to 4. This means however that QLC NVMe drives will take a performance hit as the drive fills up and the faster SLC cells are depleted.
The difference in the Enmotus P200 is that despite the NAND also technically all being QLC, the part that is programmed into SLC is always available as SLC memory. So when the drive fills up, the faster SLC remains as just that, SLC. Additionally, Enmotus’ FuzionX software takes things a step further and allows you to combine multiple drives into one storage device. The software automatically moves frequently accessed data to the faster SLC and the rest in the QLC.
This additional software allows for a 3 tier storage of sorts. This allows for much larger capacities at more affordable prices. For example, the FuzeDrive M.2 can be paired with a regular mechanical Hard Disk Drive. The resulting combination, or Fuzion in this case, will be seen as a single storage device in Windows but occupies and gets the best elements from SLC, MLC and HDD devices.
This new tiered storage is called a FuzeDrive which does lead to some confusion with Enmotus’ naming convention – in that the M.2 hardware is called a FuzeDrive. FuzionX software is the package used to set up the extra 3rd tier and the resulting tiered storage of M.2/SATA is also called confusingly called a FuzeDrive.
The purpose of a 3 tiered storage drive is to allow the data that is the most frequently used to be moved over to the fastest tier of the FuzeDrive (the 128GB of SLC NAND flash). Then, any data that is not used so much or hasn’t been accessed in a while will be pushed to the 2nd slower ~1.4TB of QLC NAND (but still an NVMe M.2 so no slouch). The data that one may consider ‘cold’ or very rarely accessed will be pushed to the 3rd tier which in our test case is a SATA hard disk drive. If any file or data is residing on the hard drive then it will be promoted to the faster tier when accessed, and then subsequent access will be quicker.
So, the 3 tiers are made up of the faster SLC, then the QLC and finally the much slower mechanical SATA drive. You could use other options as the 3rd tier such as a cost effective SATA SSD for example, but for our testing we went with a 6TB hard drive to give a real price per GB advantage.
For the test system we used a Boston Intel X299 chipset based server coupled with an Intel Core i9-10920X CPU and 64GB of DDR4 RAM at 3200MHz and Windows 10 for the OS.
For the storage we had a few drives for testing:
- Western Digital WD6001F9YZ 6TB SATA HDD
- Enmotus P200 1600GB M.2 NVMe
- Micron 5100 Max 960GB SATA SSD
To create a FuzeDrive, Enmotus provide FuzionX software. It is a very simple process which we will outline below. You can create the FuzeDrive whilst retaining data on one of the existing drives or start with blank drives. As a caveat, only 1 drive can have data on it if you choose to retain existing data.
FuzionX software to create FuzeDrives
Once you have made a choice, it’s simply a case of selecting what drives you want to act as the fast and slow tiers. The fast tier being the P200 in our case, and the slower tier we chose a mechanical Hard Disk Drive (HDD from hereon in).
Selecting the drives to create a FuzeDrive
Once this has been selected, the software will show you a summary of the new FuzeDrive and which underlying storage it will be using.
At this point there is nothing else to do and the drive will be created. The process did not take very long, it was under a minute in our test system.
Finally, you get a summary screen showing some FuzeDrive information once the creation is complete.
The FuzeDrive has been created
Note - to provide accurate results in certain testing scenarios, we ensured the applications/test files were on the HDD drive prior to any tiered storage being created. This means that when we create the new tiered storage, we chose to retain existing data, so the resulting tiered FuzeDrive would still have the data on the slow portion.
So, for our FuzeDrive we have the mechanical HDD and the Enmotus P200. From here on in when we refer to FuzeDrive we're speaking about these paired drives. For comparison we also tested the P200 NVMe on its own (without it being attached to any FuzeDrive), which will be made clear in the results below, and refered to as the P200. When we mention HDD we are referring to the 6TB Hard Drive.
Our thoughts on testing the FuzeDrive are to try and use real world scenarios. This will allow us to see how the drive behaves and performs in typical computer tasks such as loading a game or copying files. We have also performed synthetic benchmarks, look out for those in a future article!
Final Fantasy XIV Benchmark
This benchmark is used to run a series of tests to check if a system can run this very system intensive game. We are not concerned with graphics performance in this article, but the benchmark does have a handy total load time score which we can use to gauge disk performance. This is broken down into the various scenes that are loaded for the game to be played, in this case we will take the total time taken as the comparison benchmark.
We started with the benchmark installed to the HDD drive and then proceeded to run the test 4 times to make sure we got a consistent figure. All results can be seen in the table below. As expected, the HDD the times were pretty much the same each time, around 37 seconds in total.
After this we ran the FuzionX software and created the FuzeDrive using the HDD and the Enmotus P200. As previously mentioned, we are creating the FuzeDrive when the data is initially on the slower HDD and choosing to retain data. If we had created the tiered FuzeDrive first and then installed the FFXIV benchmark, then the data would be on the faster storage already. The idea here is to have the data on the slower tier, then run the benchmark and see if the data moves to the faster tier and therefore improve load times. In theory, after running the benchmark a few times perhaps, the FuzionX software should move all FFXIV benchmark files over to the 128GB SLC portion of the FuzeDrive.
On the first run of the test, the result already performing better was a little surprising, it’s possible that FuzionX may have moved some files already but this will require further investigation. We had expected the score to be the same as the WD at 37 seconds but the first run came in at around 32.
After the first run we allowed the drive a couple of minutes to move the data over to the fast tier. At this point in FuzionX we see ~1.8GB of promoted data. The directory of the FFXIV benchmark is about 2GB so it seems to have moved most of the data after just 1 run of the benchmark. As you can see the subsequent runs were much faster.
As a comparison we ran the same test on the P200 by itself (no storage tiering). These results are very similar between the P200 and the FuzeDrive from the 2nd run onwards, so we can see that the FuzionX software has successfully moved the data to the fastest SLC portion of the FuzeDrive. The performance matched and in one score slightly outperformed the score when using just the P200.
We also ran the test with the FuzeDrive half filled with random data. Before doing this, we deleted the FuzeDrive so we could reset everything by putting the FFXIV Benchmark data back onto the HDD. We then created the FuzeDrive to ensure the data is on the HDD again at the time of creation. The previous tests had moved the data already to the fast SLC tier so this step was necessary to reset the test.
As can be seen in the table, we got the same result even when the drive is half full, in this case this was 3.4TB of random data on the 6.8TB FuzeDrive. After the first run the load times are on par with the standalone P200 - Quite impressive!
Copying and Opening Files
The next real world performance test involved moving and opening files. Copying a file is not inherently going to show the performance of the FuzeDrive as its not doing anything with the data in terms of moving it to the faster tier etc. But we thought it would be interesting to see what data transfer rates we would get. When transferring a file, we would expect it copy to the faster SLC/QLC part of the FuzeDrive if there is space.
So firstly, we wanted to test copying files and then extracting (using WinRAR), my test structure was as follows:
We used a folder which contains around 287GB of data. The folder contains a few compressed files which in turn contain thousands of small image files.
One of the files, let’s call it ‘File1’, is a 137GB zipped file which contains a further 1000 compressed files within. Each of those 1000 compressed files has 1300 image files inside.
For the tests we ran 3 different scenarios:
Copy Files Test
Copy the entire 287GB folder from a source Micron 5100 Max 960GB SSD to the destination drive.
Extract the 137GB ‘File1’ file to the same directory.
Extract Multiple Test
This test is to extract the 1000 compressed files previously extracted from ‘File1’ all into the same directory.
The fastest performance, as expected, was copying from the SSD to the P200. We can also see the FuzeDrive, when empty, performed significantly better than the HDD. When copying large amounts of data we can assume that its going straight to the faster tier rather than the slower HDD portion of our FuzeDrive where possible to give the best performance.
After filling the FuzeDrive half full and running the same test again we can see the performance dips and becomes closer to that of the native HDD. Presumable this is because the SLC and QLC are already filled so data has to be migrated or stored on the slower HDD. In such a scenario it is expected to see a drop off in performance when simply copying files in this way – it is interesting to see, however.
As previously mentioned, copying files is not necessarily the best scenario to show off the benefits of the FuzeDrive. Where the drive excels is use cases where we are accessing the same files regularly, where the drive can move blocks to the faster tier and in turn results in faster load times.
To try and see this behaviour we based the next tests on repeated file usage. We used a 6.5GB compressed file (let’s call this ‘File2’) that contained 50000 images and ran 2 different tests.
Open File Test
For this test we open the File2 in WinRAR and time how long it takes to open. This was run 5 times with a reboot in between to ensure RAM or any other caching wasn’t affecting results. Running 5 times allows FuzionX to move the data to the faster tier. We also leave a few minutes after the 1st run to allow the software to perform these tasks when testing Fuzedrive.
Open Multiple Files
For this test we open 10 compressed files at the same time in WinRAR. Each of these contain 1300 images and we timed how long it takes to open all files. On the faster drives the files open very quickly so the scores marked below with a * are give or take a few milliseconds. We're not using anything scientific to time these just a stopwatch on a cell phone, so there is a margin for error, but it does give a close indication of the time. Each test was ran 5 times with reboots in between.
The HDD took 39 seconds to open the file consistently across all 5 runs. This time is matched by the FuzeDrive’s 1st run. After running it for the 1st time on the FuzeDrive, we noticed the promoted storage increased by 6.5GB after around 3 minutes. So now the file should be in the faster SLC NAND. The subsequent scores reflect this as the file then opened in around 16 seconds. For comparison, this is the same speed as when we use the P200 on its own. So, we can see the performance is as fast as the P200 once the FuzionX software has relocated the file.
In the Open Multiple File test, the 1st run on the FuzeDrive was actually slightly slower than the HDD, but subsequent runs all matched the performance of the P200. Also, there are no performance hits if the drive is half filled with random data. This is because despite the FuzeDrive being half filled, the file used for out test was still moved to the fast SLC NAND.
The FuzeDrive is a compelling product that in our real-world testing has shown great performance. It is quite unique in that it can essentially give the performance of an NVMe drive despite the underlying drive using QLC NAND, or even with a 3rd tier of something as slow as a regular mechanical SATA drive. Our test results show that very quickly moved to the fastest SLC tier of the FuzeDrive (or P200 if using the M.2 as an individual drive). This essentially means you can have a large storage drive using typically slower technology but have the performance of a very fast SSD and reduce the overall cost. We can see this being very useful in any scenario or application where certain files are frequently used and need faster loading, but also a large storage volume is also required.
At the moment the 3-tiered FuzeDrive is not supported as a bootable device however Enmotus have stated that this feature will be enabled in a future software update. We will test this once the new software is released and see the effect on boot times. It would also be nice to see a PCIe gen 4 version of Enmotus FuzeDrive SSD’s but we're sure we will have something along these lines as we have been told that this is coming soon, so watch this space…
Boston Labs is our onsite R&D and test facility where we develop new products and evaluate the latest technology. New and improved technologies are emerging all the time, and this can be a daunting situation for customers planning their future projects. Making the right decision about new hardware is a difficult proposition, made even harder when clients are unable to test and understand the hardware first before making their purchase. Boston Labs enables our customers to test-drive the latest hardware on-premises or remotely. All the Enmotus technology mentioned in this article is available for testing right now!
The Fuze Drive is available from Boston Limited as part of our server and workstation range. If you’d like to know more please get in contact by emailing [email protected] or call us on 01727 876100 and one of our experienced sales engineers will gladly guide you through building the perfect solution just for you.
Sukhdip Mander, Field Application Engineer, Boston Limited