Samsung Unveils First PCIe 3.0 x4-Based M.2 SSD, Delivering Speeds of Over 2GB/s
Deathspawner writes: Samsung's SM951 is an unassuming gumstick SSD — it has no skulls or other bling — but it's what's underneath that counts: PCIe 3.0 x4 support. With that support, Samsung is able to boast speeds of 2,150MB/s read and 1,550MB/s write. But with such speeds comes an all-too-common caveat: you'll probably have to upgrade your computer to take true advantage of it. For comparison, Samsung says a Gen 2 PCIe x4 slot will limit the SM951 to just 1,600MB/s and 1,350MB/s (or 130K/100K IOPS), respectively. Perhaps now is a bad time to point out a typical Z97 motherboard only has a PCIe 2nd Gen x2 (yes, x2) connection to its M.2 slot, meaning one would need to halve those figures again.
It's curious how many relatively recent high-end PCs from prestige-brands don't have PCIe 3.0 slots. Alienware are a particular offender here - they were very slow adopters, quite possibly because a lot of their customers don't actually think to check for this when speccing up a machine.
That said, it's questionable how much it really matters in the real world at the moment. Performance tests on the latest video cards (which can take advantage of PCIe 3.0) have found very little performance gap between 3.0 and 2.0 (and even 1.0) with the likes of the Nvidia 980. The gap is most apparent at extremely high (150+) framerates - which is unlikely to constrain the average gamer, who probably just turns up the graphical settings until his PC can't sustain his target framerate (probably somewhere in the 40-60fps rate) any more.
"My opinions are my own, and I've got *lots* of them!"
Then max out the RAM and create a RAM drive.
On my 2010 iMac, I have a 16 GB RAM drive that gets between 3 and 4 GB/s and still have 16 GB of RAM available for my apps.
Check this terminal command out before entering it just to be safe.
diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://33554432`
Under Mac OS 10.6.8, and 10.9 the above creates a 17 GB RAM disk.
diskutil erasevolume HFS+ 'RAM Disk' `hdiutil attach -nomount ram://8388608`
This creates a 4.27 GB RAM disk. Enjoy the speed.
- Zav - Imagine a Beowulf cluster of insensitive clods...
No! I would say: FORTUNATELY I don't think that's going to happen.
2000MB/s is still one or two orders of magnitude slower than DDR3/4 (between 20000 and 60000MB/s) so I clearly don't want direct mapping.
Let the OS cache the SSD sectors in RAM pages and everything will be fine (and from the user point of view, that won't change anything)
Something that held back PCIe 3 support in many high end systems was the X79 chipset. If you want an E series, Intel's ultra high end desktop, processor, you have to use a different chipset. They don't rev that every generation though. So The X79 came out with the Sandy Bridge-E processors, and then the Ivy Bridge-E runs on the same thing.
There is a new chipset now, the X99, that works with the Haswell-E, but that just launched a few months ago.
Also with the high end processors, they are out of cycle with the normal ones. So the Haswell CPUs launched a good while ago, but the Haswell-E only launched now as Broadwell is launching.
Hence you can have a situation where for things like PCIe and USB the high end stuff is behind.
Now we only need to get them memory mapped and good OS support for not loading constant data to volatile memory.
Even with PCIe 3 access times for RAM vs an SSD still favors RAM extremely heavily. Enjoy your system slowing to a crawl by doing that.
Because that's just so terrible, right? :p
There's nothing unfortunate about it. Access times for SSD is around .1 ms vs at worst around 15 nanoseconds for DDR3 RAM. You do realize how significant of a performance impact that would be, right?
Currently sitting in front of a pretty bog-standard server for a small school, with the disks writing 130MB/s (yes, bytes) when they're just replicating VM's across the network. Not even particularly high-end, not a particularly brilliant network, in the middle of the working day, just normal load, pretty quiet - the servers are on 5% CPU and 10% RAM.
Pretty sure if I had 10Gbit network and a serious amount of users, I could push them even further just on that simple task. 3-500GB/s write is not unusual with even a standard consumer SSD, however.
If you think that people aren't in need of 2GB/s write rates, or couldn't sustain them, you're thinking far too small. These things aren't for grandma or your single-PCIe-slot home machine.
Honestly, if you can afford the 1Tb version of something this tiny and fast and new, you already have hardware capable of making it the bottleneck.
How long can you sustain these kinds of I/O rates before burning the thing out?
Awesome it is so fast yet like LTE with tiny data caps utility appears to be substantially constrained by limitations on use.
For subset of people with workloads actually needing this kind of performance how useful is this? Reads can be cached by DRAM which is quite cheap.
For those who don't really need it I can understand how it would be nice to have.
The big news here is that this is pretty much the first consumer available SSD that supports NVME! There are some super-expensive pro devices that do NVME but they likely alone cost more than your whole high-end gaming rig.
http://en.wikipedia.org/wiki/NVM_Express
NVME is the interface that replaces AHCI, which was designed for spinning rust devices that can really only read and write one bit at a time. Flash based devices don't have to wait for moving parts and thus can access many things at once.
AHCI was designed for magnetic drives attached to SATA. NVME is explicitly designed to accommodate fast devices directly connected to PCI express. Take a look at the comparison table on the wikipedia page linked above. Multiple, deep, queues and lots of other features to remove bottlenecks that don't' apply to flash based storage.
How useful NVME currently is to consumers, though, is different. Only really new operating systems can boot from NVME devices. (Windows 8.1 or later. Don't know the current state of linux support but I bet at least someone's got a patched version of the kernel and grub if there's not mainline support already) And most most motherboards don't properly support NVME booting yet either. (Ive heard reports that some do with a BIOS/firmware update but it's currently really spotty)
More boards come with a 16x PCI-E 3.0 port for graphics than a 3.0-capable 4x slot. In fact, the big ones built for multiple graphics cards have 16x slots that reduce to 8x when both are in use or sometimes just the 2nd slot runs at 8x. They're all PCI-E 3.0 though. The problem is, you drop in that SSD in more basic but modern boards and there goes your aftermarket graphics card. You can never add one because you're taking up the only PCI-E slot that isn't 1x or 2.0.
If you are not doing any data processing then simply increasing the RAM and using an SSD has a huge impact. I have a 2.9 GHz i7-920 and I can not see the difference between it and a more modern system. It was an excellent buy - 5 years and it is still great. The addition of an SSD was key to keeping it fast.
Sounds like you know what you're doing with respect to storage but using a modern SSD and maxing out the RAM will likely help. Video cards have also improved significantly in the past 5 years and might warrant an upgrade. Doubt you would notice much of a speed difference between it and a new computer.
1. These are sequential speeds. They're only relevant when you're dealing with large files. Unless your job is working with video or disk images or other large files, the vast majority of your files are going to be small, and the IOPS matters more. 130k/100k IOPS is really good, but only about a 10%-20% improvement over SATA3 SSDs. It translates into 520/400 MB/s at queued 4k read/writes best case. Current SATA3 drives are already surpassing 400 MB/s queued 4k read/writes.
2. Like car MPG, the units here are inverted from what actually matters. You don't say "gee, I have 5 gallons in the tank I need to use today, how many miles can I drive with it?", which is what MPG tells you. You say "I need to drive 100 miles, how many gallons will it take?" which is gal/100 miles. Yes they're just a mathematical inverse, but using the wrong one means the scaling is not linear. If you've got a 100 mile trip:
A 12.5 MPG vehicle will use 8 gallons
A 25 MPG vehicle will use 4 gallons (a 4 gallon savings for a 12.5 MPG improvement)
A 50 MPG vehicle will use 2 gallons (a 2 gallon savings for a 25 MPG improvement)
A 100 MPG vehicle will use 1 gallon (a 1 gallon savings for a 50 MPG improvement)
See how the fuel saved is inversely proportional to the MPG gain? As you get higher and higher MPG, it matters less and less because MPG is the wrong unit. If you do it in gal/100 miles it's linear. (This is why the rest of the world uses liters / 100 km.)
An 8 gal/100 mile vehicle will use 8 gallons.
A 4 gal/100 mile vehicle uses 4 gallons (a 4 gallon savings for a 4 gal/100 mi improvement)
a 2 gal/100 mile vehicle uses 2 gallons (a 2 gallon savings for a 2 gal/100 mi improvement)
a 1 gal/100 mile vehicle uses 1 gallon (a 1 gallon savings for a 1 gal/100 mi improvement)
The same thing is true for disk speeds. Unless you've got a fixed amount of time and need to transfer as much data as you can in that time, MB/s is the inverse of what you want. The vast majority of use cases are a fixed amount of MB that needs to be read/written, and the time it takes to do that is what you're interested in because that's time you spend twiddling your thumbs. If a game needs to read 1 GB to start up:
A 100 MB/s HDD will read it in 10 sec
a 250 MB/s SATA2 SSD will read it in 4 sec (a 6 sec savings for a 150 MB/s improvement)
A 500 MB/s SATA3 SSD will read it in 2 sec (a 2 sec savings for a 250 MB/s improvement)
A 1 GB/s PCIe SSD will read it in 1 sec (a 1 sec savings for a 500 MB/s improvement)
This 2 GB/s PCIe SSD will read it in 0.5 sec (a 0.5 sec savings for a 1000 MB/s improvement
Again, the actual time savings is inverted from the units we're using to measure. We really should be benchmarking HDDs and SSDs by sec/MB.
A 10 sec/MB HDD will read 1 GB in 10 sec
A 4 sec/MB SATA2 SSD will read it in 4 sec (a 6 sec savings for a 6 sec/MB improvement)
A 2 sec/MB SATA3 SSD will read it in 2 sec (a 2 sec savings for a 2 sec/MB improvement)
A 1 sec/MB PCIe SSD will read it in 1 sec (a 1 sec savings for a 1 sec/MB improvement)
This 0.5 sec/MB PCIe SSD will read it in 0.5 sec (a 0.5 sec savings for a 0.5 sec/MB improvement)
That's nice and linear. You see that the vast majority of your speedup comes from switching from a HDD to a SSD - any SSD, even the old slow first gen ones. The next biggest savings is switching to a SATA3 SSD. Beyond that the extra speed is nice, but don't be mislead by the huge MB/s figures - the speedup from PCIe drives will never be as big as those first two steps from a HDD to a SATA SSD. Manufacturers just report performance in MB/s (instead of sec/MB) because it exaggerates the importance of tiny increases in time saved, and thus helps them sell new and improved (and more expensive) products. Review sites also report in MB/s because if you report in sec/MB, the benchmark graphs are boring and the speedup from these shiny new SSDs is barely perceptible.
A Linux RAM disk (tmpfs) just stores files in the page cache, so there's really no difference. OK, it can also write out those files to the swap partition if you run out of RAM, but you usually shouldn't be using a RAM disk unless you have plenty of RAM.
And that's a big improvement over some old-style RAM disks where you told it you wanted 500MB and it grabbed those 500MB and didn't let anyone else use it.
This matters to me more than your claims of "all modern operating systems taking full advantage of the RAM". If the operating system takes full advantage of the RAM, it may not be to my best benefit.
tl;dr: If you don't know what you're doing (or like me are too lazy to care) with respect to memory management (most Mac users) then the OS is likely a better steward than you. For everyone else, there are RAM drives :)
Why someone would criticize you for using a RAM drive ....doesn't make sense to me.
Make sure everyone's vote counts: Verified Voting
Memory-mapped I/O is already a thing. Of course, it is a way to read and write from/to a file with less overhead.
According to TFA, it's being release to oem's only. I think Samsung did that for their previous gen PCIe 2.0 ssd also. Does anyone have an idea where to look for these, or an idea when they might become available to individual system builders? BTW, the Asus X99 MB's have a slot for these. Probably other brands of X99 MB's too.
Memory-mapped I/O is already a thing.
Yes, it is ancient. So what?
Of course, it is a way to read and write from/to a file with less overhead.
Sure, different memory-mapped I/O methods can eliminate certain overheads. DMA eliminates CPU overhead. mmap allows you to pull in data from internal/external storage into RAM so that you can access it faster, but you're still suffer the overhead of accessing the SSD whenever things are paged into and out of memory. Neither one magically changes the fact that accessing an SSD over RAM, which is what the person I responded to wanted, is 1000s of times slower than accessing RAM.
Memory mapping the disk will remove the read and throw away part.
Wrong. Assuming by "memory mapping" you mean "mmap", it pages things in and out of memory all the time.
Your argument is that since memory is faster than disk IO it is better to do (1 disk read + 1 memory write + 1 memory read + 1 conversion) rather than (1 disk read + 1 conversion)
It is. It's magnitudes faster to keep things in RAM.
FINALLY I haven't needed to build a new computer for a while. But INTEL's next gen (Skylake, due 2015 supposedly) includes PCIe 4.0 support right from the processor/bridge. Skylake + PCIe 3.0/4.0 SSD + displayport 1.3 for 4K monitors (also due 2015) = finally a reason to build a new system Skylake also supports DDR4, so we're finally attacking the problem of getting enough data to the processor fast enough!