What exactly is the difference between (Storage (2.5" SATA)) and (M.2 (NGFF) SSD) for the end user? Also, between the available options for M.2 NGFF, there are two with peak 0.5GB/s and one with peak 2GB/s. What’s the read/write/access time for each? Also does having a higher peak necessarily make it faster? If so, how noticeable is it?
What exactly is the difference between (Storage (2.5″ SATA)) and (M.2 (NGFF) SSD) for the end user?
There’s a bunch of resources on the internet to answer your question, but basically (as I understand) it comes to this: M.2 is newer and “future proof” interface, intended to be more compact and elegant. Performance gain is negligible with the current controllers.
Also, between the available options for M.2 NGFF, there are two with peak 0.5GB/s and one with peak 2GB/s. What’s the read/write/access time for each?
SATAs and M.2 250/500 GB: http://www.samsung.com/semiconductor/minisite/ssd/product/consumer/850evo.html
M.2 512 GB: http://www.samsung.com/semiconductor/minisite/ssd/product/consumer/950pro.html
Also does having a higher peak necessarily make it faster? If so, how noticeable is it?
This is sequential read/write, and I honestly don’t know if this means the disk is faster in real-time conditions, where sequentials are 50% of a typical users disk access . I guess it depends on your usage pattern. Try searching on some benchmarking websites for more info.
Also does having a higher peak necessarily make it faster?
Reading Wikipedia page on IOPS, we can see that high-end Enterprise SAS drive have capacity of around 200 IOPS :
I just tested my M.2 250 Samsung 850 evo drive in my Librem 15 - and it showed an awesome speed of 74.000+ IOPS !
So, answering your question, if you only used mechanical disks before - it doesn’t matter which SSD you choose, it will be MUCH faster
Test result available below.
sufehmi@HSZ:/tmp$ fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randwrite test: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=64 fio-2.10 Starting 1 process test: Laying out IO file(s) (1 file(s) / 4096MB) Jobs: 1 (f=1): [w(1)] [100.0% done] [0KB/292.2MB/0KB /s] [0/74.8K/0 iops] [eta 00m:00s] test: (groupid=0, jobs=1): err= 0: pid=20789: Mon Nov 14 06:38:10 2016 write: io=4096.0MB, bw=340862KB/s, iops=85215, runt= 12305msec bw (KB /s): min=271296, max=362288, per=100.00%, avg=342160.67, stdev=29210.88 cpu : usr=13.23%, sys=65.47%, ctx=892762, majf=0, minf=10 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0% issued : total=r=0/w=1048576/d=0, short=r=0/w=0/d=0, drop=r=0/w=0/d=0 latency : target=0, window=0, percentile=100.00%, depth=64 Run status group 0 (all jobs): WRITE: io=4096.0MB, aggrb=340861KB/s, minb=340861KB/s, maxb=340861KB/s, mint=12305msec, maxt=12305msec Disk stats (read/write): sdb: ios=0/1040049, merge=0/9393, ticks=0/736420, in_queue=736164, util=99.16%