The world of PCIe 4.0 is almost upon us, courtesy of AMD's new third-gen Ryzen 'Matisse' processors, but you can't buy any stupid-fast PCIe 4.0 devices. At least not yet.
Phison looks to change that with its new E16 NVMe SSD controller that it demoed at CES 2019. Phison sells its controllers openly to a wide range of SSD makers, so you'll see these controllers on a plethora of devices in the coming months.
Phison's demo SSD pulled down a blistering 4 GB/s of sequential read throughput and a beastly 4.2 GB/s of write performance during a CrystalBenchMark test. The company is currently using Micron's 96-layer TLC flash, but new E16-powered SSDs will also hit the market with Toshiba's BiCS 4 flash. Phison expects the faster flash to push speeds up to 4.8/4.4 GB/s of read/write throughput.
That will push around big file transfers at a blistering pace, but the E16's random performance, which is most noticeable as snappy responsiveness in the operating system and applications, weighs in north of 900,000 IOPS for both read and write workloads, setting yet another high watermark for performance.
Phison's new PCIe 4.0 x4 SSD controller is so bleeding edge that the company doesn't have a motherboard (that it can show publicly) that supports the faster standard. Instead, the company used a specialized PLDA Gen4HOST adapter card for the demo. The adapter converts the PCIe 3.0 x16 connection to a PCIe 4.0 x8 connection. No fears, though, as Phison has already certified its device as PCIe 4.0-compliant.
The PS5016-E16, as it's formally known, comes with a dual-core ARM controller paired with two of Phison's proprietary CO-X processor cores. The controller has eight addressable channels that can manage four flash packages apiece at 800 MT/s. The demo SSD was equipped with TLC flash, but Phison will also support QLC. Cheaper QLC flash isn't as endurant at TLC, but Phison's LDPC (Low-Density Parity Check) error correction will ensure that endurance is comparable to other devices.
SSDs have already begun to push the limits of the PCIe 3.0 x4 interface, so the step up to PCIe 4.0 will spur a new round of development that pushes SSD controller and flash development to the next level. Not to mention that it will allow you to fling files around at a record pace.
Phison says the SSDs will hit the market in Q3 2019.
The maximum speed of PCIe 3.0 x4 is 3.94 Gigabytes a second.
The maximum speed of PCIe 4.0 x4 is 7.88 Gigabytes a second.
PCIe 5.0 x4 which according to Wiki is going to be released in Q2 of 2019, doubles this again to 15.75 Gigabytes a second.
I was about to ask a question of what is absolute fastest a cpu could transfer data until I realized that the answer lied with the speed of the ram.
This should allow us to conclude a few things ... for example.
With a PCIe 4.0 X16 device you should be unable to realize its full potential due to its maximum speed being 31.5 Gigabytes a second, but the maximum speed of a respectable DDR4-3200 ram being 25.6 Gigabytes per second.
This brings up the unexpected and actually kind of funny scenario where you would need to overclock your ram to get the full performance from a PCIe 4.0 x16 SSD adapter.
Comes to mind from about a year ago which actually appears to saturate a PCIe 3.0 x8 at 7.88 gigabytes / second at a queue depth of 4 with 10% or so loss to overhead when reading.
Is this the correct way to think about this?
My understanding is running dual channel DDR4 3200 puts you in the 40-50GB/s range depending on you timings. Though I guess you could being going by single channel numbers. My point is that for now we should still have a little wiggle room with PCIe 4.0 vs DDR4 3200 bandwidth but your are correct in the numbers are getting closer. in another few generations an adjustment may need to be made.
https://ark.intel.com/products/126686/Intel-Core-i7-8700-Processor-12M-Cache-up-to-4_60-GHz i7 8700 listed at 41.6GB/s
Ahh thx, that makes perfect sense.
I thought my values were already best case scenario / dual channel.
Well at least this lets us know that in the future not using dual channel can really kill the performance of high end SSDs.
Even if we double DDR4-3200 from 25.6 gigabytes a second to 51.2 gigabytes a second it still wouldn't be fast enough to support the not released yet PCIe 5.0 x16 specification, 63 gigabytes / second.
Hypothetically they would need to release DDR5 ram (or overclock DDR4 ALOT) before they could fully support the speed of PCIe 5.0 x16
Exactly what i meant about a correction being a couple generations away. As you pointed out PCIe 5.0 is where things hit the fan so to speak. Hopefully DDR5 will be readily available by then.
If we look at this logically using the current 2700x it looks like this
The 2700X includes 20 PCIe lanes - 16 for a discrete graphics processor and 4 for storage (NVMe or 2 ports SATA Express). or the shorthand way of saying it would be 1x16 + 1x4.
Some Ryzen motherboards .. AM4 have a 2nd M.2 which shares bandwidth with the sata ports and isn't as fast as the main m.2 with the following being an example
Yours also being an example.
With the jump to PCIe 4.0 and assuming a similar 1x16 + 1x4 layout you would expect them to be able to budget more bandwidth due to all lanes doubling in bandwidth versus PCIe 3.0.
If they choose to they could split the link into 2 PCIe 4.0 x2 which would support the same speed as our current PCIe 3.0 x4
Of course if you wanted tons of PCIe lanes you could look at AMD Threadripper
2950x being my favorite with its combination of clockspeed and thread count.
Instead of 20 lanes in total, 16+4, Threadripper has 60 lanes allowing for a much more customizable and diverse set of motherboards.
No I don't believe that's how it works. Only the first PCIe slot *might* become PCIe 4.0 and rumor has it AMD has not made their mind up on whether or not to allow this functionality without a X500 series board. A bios update would be required and all AMD has to do is not sign off on the code for PCIe 4.0 on older boards for your hopes to die in regards to PCIe 4.0 on x300/x400 series chipsets..
Technically if the motherboard manufacturers wanted to they could create 2 PCIe 4.0 x2 slots that would have the same speed as our current PCIe 3.0 x4 slots.
It wouldn't be full speed at that time, but it would be full speed for our current time.
The current Ryzen 2000 series PCIe configuration is 1x16+1x4
And so the question becomes "How many lanes will the Ryzen 3xxx cpus and the new 500-series AMD chipsets support?"
Tom even poses a similar question in an article earlier today;
"We weren't told the specific lane allocations of the new chipset, but those faster lanes will be useful for numerous types of secondary I/O devices." (secondary I/O devices = SSD/GPU and other things)
If it supports 1x16+1x4 then we are in a similar boat as we are now.
If it supports 1x16+2x4 or higher then you may get your 2 full speed m.2 wish.