Switching to NVMe SSD

Samsung 970 EVO Plus NVMe M.2 SSD (image credit: Samsung).

I made a significant upgrade to my main gaming and home workstation in Christmas 2015. That setup is soon thus four years old, and there are certainly some areas where the age is starting to show. The new generations of processors, system memory chips and particularly the graphics adapters are all significantly faster and more capable these days. For example, my GeForce GTX 970 card is now two generations behind the current state-of-the-art graphics adapters; NVIDIA’s current RTX cards are based on the new “Turing” architecture that is e.g. capable of much more advanced ray tracing calculations than the previous generations of consumer graphics cards. What this means in practice is that rather than just applying pre-generated textures to different objects and parts of the simulated scenery, the ray tracing graphics attempts to simulate how actual rays of light would bounce and create shadows and reflections in this virtual scene. Doing this kind of calculations in real-time for millions of light rays in an action-filled game scene is an extremely computationally intensive thing, and the new cards are packed with billions of transistors, in multiple specialised processor cores. You can have a closer look at this technology, with some video samples e.g. from here: https://www.digitaltrends.com/computing/what-is-ray-tracing/ .

I will probably update my graphics card, but only a little later. I am not a great fan of 3D action games to start with, and my home computing bottlenecks are increasingly in other areas. I have been actively pursuing my photography hobby, and with the new mirrorless camera (EOS M50) moving to using the full potentials of RAW file formats and Adobe Lightroom post-processing. With photo collection sizes growing into multiple hundreds of thousands, and the file size of each RAW photo (and it’s various-resolution previews) growing larger, it is the disk, memory and speed of reading and writing all that information that matters most now.

The small update that I made this summer was focused on speeding up the entire system, and the disk I/O in particular. I got Samsung 970 EVO Plus NVMe M.2 SSD (1 Tb size) as the new system disk (for more info, see here: https://www.samsung.com/semiconductor/minisite/ssd/product/consumer/970evoplus/). The interesting part here is that “NVMe” technology. That stands for “Non-Volatile Memory” express interface for solid stage memory devices like SSD disks. This new NVMe disk looks though nothing like my old hard drives: the entire terabyte-size disk is physically just a small add-on circuit board, which fits into the tiny M.2 connector in the motherboard (technically via a PCI Express 3.0 interface). The entire complex of physical and logical interface and connector standards involved here is frankly a pretty terrible mess to figure out, but I was just happy to notice that the ASUS motherboard (Z170-P) which I had bought in December 2015 was future-proof enough to come with a M.2 connector which supports “x4 PCI Express 3.0 bandwidth”, which is apparently another way of saying that it has NVMe support.

I was actually a bit nervous when I proceeded to install the Samsung 970 EVO Plus NVMe into the M.2 slot. At first I updated the motherboard firmware to the latest version, then unplugged and opened the PC. The physical installation of the tiny M.2 chip actually became one of the trickiest parts of the entire operation. The tiny slot is in an awkward, tight spot in the motherboard, so I had to remove some cables and the graphics card just to get my hands into it. And the single screw that is needed to fix the chip in place is not one of the regular screws that are used for computer case installations. Instead, this is a tiny “micro-screw” which is very hard to find. Luckily I finally located my original Z170-P sales box, and there it was: the small plastic pack with a tiny mounting bolt and the microscopic screw. I had kept the box in my storage shelves all these years, without even noticing the small plastic bag and tiny screws in the first place (I read from the Internet that there are plenty of others who have thrown the screw away with the packaging, and then later been forced to order a replacement from ASUS).

There are some settings that are needed to set up in BIOS to get the NVMe drive running. I’ll copy the steps that I followed below, in case they are useful for some others (please follow them only with your own risk – and, btw, you need to start by creating the Windows 10 installation USB media from the Microsoft site, and by pluggin that in before trying to reboot and enter the BIOS settings):

In your bios in Advanced Setup. Click the Advanced tab then, PCH Storage Configuration

Verify SATA controller is set to – Enabled
Set SATA Mode to – RAID

Go back one screen then, select Onboard Device Configuration.

Set SATA Mode Configuration to – SATA Express

Go back one screen. Click on the Boot tab then, scroll down the page to CSM. Click on it to go to next screen.

Set Launch CSM to – Disabled
Set Boot Device Control to – UEFI only
Boot from Network devices can be anything.
Set Boot from Storage Devices to – UEFI only
Set Boot from PCI-E PCI Expansion Devices to – UEFI only

Go back one screen. Click on Secure Boot to go to next screen.

Set Secure Boot state to – Disabled
Set OS Type to – Windows UEFI mode

Go back one screen. Look for Boot Option Priorities – Boot Option 1. Click on the down arrow in the outlined box to the right and look for your flash drive. It should be preceded by UEFI, (example UEFI Sandisk Cruzer). Select it so that it appears in this box.
(Source: https://rog.asus.com/forum/showthread.php?106842-Required-bios-settings-for-Samsung-970-evo-Nvme-M-2-SSD)

Though, in my case if you put “Launch CSM” to “Disabled”, then the following settings in that section actually vanish from the BIOS interface. Your mileage may vary? I just backspaced at that point, made the next steps first, then made the “Launch CSM” disable step, and then proceeded further.

Another interesting part is how to partition and format the SSD and other disks in one’s system. There are plenty of websites and discussions around related to this. I noticed that Windows 10 will place some partitions to other (not so fast) disks if those are physically connected during the first installation round. So, it took me a few Windows re-installations to actually get the boot order, partitions and disks organised to my liking. But when everything was finally set up and running, the benchmark reported that my workstation speed had been upgraded the “UFO” level, so I suppose everything was worth it, in the end.

Part of the quiet and snappy, effective performance of my system after this installation can of course be just due to the clean Windows installation in itself. Four years of use with all kinds of software and driver installations can clutter the system so that it does not run reliably or smoothly, regardless of the underlying hardware. I also took the opportunity to physically clean the PC inside-out thoroughly, fix all loose and rattling components, organise cables neatly, etc. After closing the covers, setting the PC case back to its place, and plugging in a sharp, 4K monitor and a new keyboard (Logitech K470 this time), and installing just a few essential pieces of software, it was pleasure to notice how fast everything now starts and responds, and how cool the entire PC is running according to the system temperature sensor data.

Cool summer, everyone!

Vivobook SSD upgrade

My ASUS Vivobook X202E is an excellent little machine – I really appreciate it’s compact form factor, good keyboard and bright multitouch screen. However, with the slow HDD, display driver and processor it has also its clear limitations. There is not much I can do with the processor or display driver – the reality is that as more and more of people will adopt laptop computers as their primary home PCs, rather than desktop ones, the fixability and maintainability of ICT keeps going down. However, I wanted to try upgrading the HDD into a SSD, since there was evidence online that this could be done.

The first choice concerned identifying the right Solid State Drive to fit the purpose. Samsung’s 840 EVO series was finally an obvious choice, since it was 7 mm thin, so it did fit physically, it was rather fast, and also optimized in terms of power efficiency, so that it did suit the purpose as a laptop upgrade. I picked the 250 GB version, while being tempted also with the 500 GB one; I did consider the cost, however, still being prohibitive in the larger model. Smaller than 250 GB on the other hand did not make sense in terms of fitting in my OS, applications and the necessary working documents.

Samsung 840 EVO SSD
Samsung 840 EVO SSD

The first steps involved re-partitioning the original HDD so that it could be cloned to the SSD. I removed all data that I could later sync from our home server or from the cloud services, deleted the data partition entirely, and tried moving the recovery partition to the middle of the disk. I installed and used the free version of “EaseUS Partition Master” (be careful to deselect all freebie crapware options during its installation, though). As to the actual data or disk cloning, Samsung EVO SSD comes with the necessary SATA-USB3 adapter cable and “Samsung Data Migration” software that seemed to do it job (I have not yet tested the recovery partition, though, so I am not sure whether it made through the cloning). But the new SSD disk boots, it is recognized automatically by the UEFI (Windows 8 BIOS system), and the Windows as well as Office 2013 installations still authenticate as legitimate.

Samsung 840 EVO SSD
Samsung 840 EVO SSD

If your goal is not to clone the old system with its Windows 8 Starter Edition, but rather to install another, more featured OS, Linux, OS X or some multiboot setup, then I recommend doing some further research before going ahead with the SSD operation. People have had mixed success and you need to start by disabling UEFI, disabling “Secure Boot”, then enabling “Legacy Boot” in the BIOS. I am also not sure whether e.g. Linux will have all the drivers to get the touchscreen, touchpad, hotkeys and all the other features working as intented – but I am interested to hear about the experiments in those directions.

Opening the case of Vivobook
Opening the case of Vivobook

As to the actual physical part of opening the Vivobook, removing the old HDD and installing the SSD, there is a good visual guide by Neil Berman here: http://www.durhamcomputerservices.com/theonbutton-blog/asus-vivobook-x202e-s200e-q200e-ssd-hard-drive-upgrade.html

Opening the case of Vivobook
Opening the case of Vivobook

After putting everything back in, the reboot will kick Windows into a prolonged startup phase during which it will apparently install some SSD related drivers or settings. I did also install and run the “Samsung Magician” tool, which claims to provide various optimization options for running the Windows OS over a SSD.

The actual speed gain is noticeable, and the relevant figure in the Windows experience index showed the rise from c. 5 to over 8 when tests were re-run after the SSD installation. But this will not of course magically trasform the 500 euro budget laptop into a 1500 euro ultrabook. The slow processor, bit clumsy form factor, lack of keyboard backlight – all those issues still remain. But the upgrade will definitely make the Vivobook more usable and responsive, which was the main goal at least in my case.

Vivobook X202E with Samsung 840 EVO SSD
Vivobook X202E with Samsung 840 EVO SSD