Tag Archives: performance

Samsung SM951 NVMe on Asus x99 Deluxe – Baseclock <> CPU strap magic

Samsung SM951 M.2 2280 MZVPV512
Samsung SM951 M.2 2280 MZVPV512

 

“I did buy a new little toy, the Samsung SM951 NVMe 512 GB M.2 SSD Drive.”

 

I tested the Samsung SM951 NVMe M.2 on Windows 7 and Windows 10 by using the M.2 slot on the motherboard and by using the M.2 addon card which comes shipped together with the Asus x99 Deluxe.

System:

  • Asus x99 Deluxe BIOS 1901 @ ~ 125.5 MHz Baseclock (while 125 MHz CPU strap)*
  • i7-5930K @ ~ 4.4 GHz, 125 MHz Strap, 1.31 Vcore, 1.24 Vcache, 1.24 Vsysagent
  • NV GTX 770
  • 16 GB Corsair DDR4 @ ~ 3 Ghz, 1.35 Vmem
  • 2x  SSD OCZ Vertex 2 (Sata2) (Raid0)
  • 2x  Seagate HDD  3 TB/HDD (Raid1)
  • PSU Corsair AX1200i (why the heck an AX1200i?)
  • Corsair Obsidian 450 D

 

*The ‘Baseclock’ and the ‘CPU strap’ will become more important over time in this SSD benchmark drama-post. I couldn’t think of the Baseclocks offset to the CPU strap affecting the benchmarks. At first i thought its overclocking on this motherboard in general, which affects the benchmarks.
Theres is an old problem known to Windows 8 respecting system timers and clocks leading to incorrect benchmarks. Seems that Windows 10 and 7 are affected too.

 

Driver

 

Asus x99 Deluxe M.2 slot populated with unrelated m.2 device. Image source: http://rog.asus.com
Asus x99 Deluxe M.2 slot populated with unrelated m.2 device. Image source: http://rog.asus.com
Asus Hyperkit M.2 Addon Card. Image source: http://rog.asus.com
Asus Hyperkit M.2 Addon Card. Image source: http://rog.asus.com

 

IMAG1047“No matter which OS or which PCIe slot i use, the SSD seems to be throttled or bottlenecked.”

 

 

 

“As soon as the Baseclock is higher than my CPU strap. The benchmarks do no longer represent the correct values!”

“Baseclock frequency below CPU strap frequency may result in the same behaviour”

“You can say that any offset between the CPU strap and Baseclock may result in “bogus” or shifted benchmarks”

 

 


The trip to find the cause for the benchmark results:

 

 

“A bad driver can also act as a bottleneck.”

 

First ATTO run on Windows 7 – smells like bottleneck.

The SM951 M.2 2280 MZVPV512 NVMe SSD is using the Asus x99 Deluxe onboard M.2  slot.

Some people may not be able to see the device on OS side (Win 7 !). And those people may make their way through the internet and find a “Hotfix” by Microsoft (Windows6.1-KB2990941-v3-x64). I did  install the Hotfix. It may work for you but you may not get 100% out of your device.

Because of the “bad” results i got, i did install Windows 10. I did hope that i can get the drivers off the SSD when installing a fully UEFI compatible OS. But …

 

atto_first_run_nvme_samsung_2280_951_512_GB
SM951 M.2 2280 MZVPV512 NVMe SSD, Baseclock @ 125.5 MHz, CPU strap 125 MHz, not system drive, connected using onboard M.2 slot

 

 

 

“There is a throttle …”

 

 

There is a throttle

Keep in mind that the SM951 NVMe model indeed is able to throttle itself to prevent overheating. What if this throttle mechanic is not working properly? Keep that in mind. It is possible …

… but it’s not  threating us here. 🙂

 

 

“Expectation”

 

First ATTO run on Windows 10 – smells like bottleneck.

…even with Windows 10 i still do seem to be using the NVMe drivers provided by Windows (or worse the previously installed Hotfix).

The SM951 M.2 2280 MZVPV512 NVMe SSD is using the Asus x99 Deluxe onboard M.2  slot. Comparing with other tests on the internet you expect read speeds > 2.2 GB/s.

 

atto_first_run_windows_10_nvme_samsung_2280_951_512_GB
SM951 M.2 2280 MZVPV512 NVMe SSD, Baseclock @ 125.5 MHz, CPU strap 125 MHz, not system drive, connected using onboard M.2 slot

 

Second ATTO run on Windows 10 – smells like bottleneck.

The SM951 M.2 2280 MZVPV512 NVMe SSD is using the Asus x99 Deluxe onboard M.2  slot. This time i did set x4 mode manually and did disable a couple unneccessary stuff in the BIOS to make sure nothing weird is going on there. With no reward. Same results.

 

atto_second_run_4x_mode_manually_set_windows_10_nvme_samsung_2280_951_512_GB
SM951 M.2 2280 MZVPV512 NVMe SSD, Baseclock @ 125.5 MHz, CPU strap 125 MHz, not system drive, connected using onboard M.2 slot

 

 

“Alternative”

 

 

Third ATTO run on Windows 10 – smells like bottleneck.

This time i did use the Hyperkit Card shipped with the Asus x99 Deluxe. Same results.

 

atto_third_run_pci_express_m.2_addon_card_manually_set_windows_10_nvme_samsung_2280_951_512_GB
SM951 M.2 2280 MZVPV512 NVMe SSD, Baseclock @ 125.5 MHz, CPU strap 125 MHz, not system drive, connected using M.2 addon card for PCIe

 

IMAG1047
ASUS M.2 addon card “Hyper” for PCIe 3.0

 

 

 

The drivers Windows 10

Just for the records. Unfortunately i did not make screenshots of the Windows 7 drivers. The MS drivers were mentioned already in the past when it led to problems with NVMe like this. But they do pretty well now. They improved it

Storage Controller

Windows 10 Device Manager-> Storage Controller->Standard or Basic NVM Express-Controller->Properties->Driver->Driver details

 

Image4

Storage Device

 

hw_drv_properties_nvme_drive_sm951_2280_mzvpv512_samsung

 

hw_list_properties_volume_f_nvme_samsung_2280_sm951

 

BUT

“It’s not the drivers fault”

 

But it turned out, that it is not the driver who is causing these “bad” results.

Silence.

 

“The drama …”

 

 

The relief – no bottleneck

It was the fact that the System was overclocked. As soon as i lowered the Baseclock back to 100 MHz. The results became better. The Baseclock was previously set to 125.5 Mhz. I then had read results > 2.2 GB/s and write results > 1.7 GB/s with SM951 SSD used as non-system drive. Unfortunately i did not make a screenshot of it. (What i did not think of here is, that the CPU strap also was set back to 100 MHz – the same frequency the Baseclock is running at)

Last ATTO run on Windows 10 @ 100 MHz Baseclock (system drive!)

However i then did configure the Samsung SM951 NVMe SSD as system drive. The performance results would be a bit better when it is not used as system drive.

 

samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_100_mhz_no_overclock
SM951 M.2 2280 MZVPV512 NVMe SSD, Baseclock @ 100 MHz, system drive !, connected using onboard M.2 slot

 

(I noticed the following before i finally discovered that the baseclock<>CPU strap offset is causing the shifted benchmarks, but i then ignored it because of the Anti Virust software which came out as a potential cause when configured to be super sensitive)

What’s left to say?

If you multiply the old results with (Baseclock of 125.5  MHz) with 1.255 you get results matching pretty well with the results of Baseclock of 100 MHz.

For example the 8 MB result of the first run:

1398442 Write     x     1.255 = 1755044,71
1717986 Read     x     1.255 = 2156072,43

 

  • Was the higher Baseclock really throttling or bottlenecking  the SSD?

 

  • Or is it just the benchmark not being aware of a higher Baseclock  and mucking up the results? Possible that the realtime clock is affected by Baseclock?

 

  • Will i ever be able to overclock and enjoy the Samsung SM951 NVMe performance at the same time?

 

Apart from ATTO i sure did run other benchmarks on the overclocked system and they sure came up with not the same results because they dont “measure” all the same way but they all left you thinking of either a bottleneck or throttle. I unfortunately made no screenshots of the runs before but i will present some with stock clock speeds and Samsung SM951 as system drive.

 

Samsung SM951 NVMe M.2 SSD as system drive Windows 10 @ 100 MHz Baseclock
samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_100_mhz_no_overclock_qd32_th1 samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_100_mhz_no_overclock_qd32_th6
CrystalDiskMark: Queue depth 32 Threads 1 CrystalDiskMark: Queue depth 32 Threads 6
samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_100_mhz_no_overclock_qd64_th12 samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_100_mhz_no_overclock_qd128_th12
CrystalDiskMark: Queue depth 64 Threads 12 CrystalDiskMark: Queue depth 128 Threads 12

As system drive and some disturbing stuff going on the whole time in the background the results are OK.  But to answer the questions of “How did the Baseclock affect the benchmarks?”  or “Will i ever be able to overclock and enjoy the Samsung SM951 NVMe performance at the same time?” we would’ve to pick another route.

 



As soon as the Baseclock is higher than my CPU strap. The benchmarks do no longer represent the correct values!

No matter if the ‘useplatformclock’ is enabled or not. The benchmark results do look like the SSD was throttled or bottlenecked as soon as the ‘Baseclock’ is higher than the ‘CPU strap’. I thought i revealed my Anti Virus software to be the root of al evil but it was not.

The realtimeclock RTC

Just for the records:
The value for useplatformclock was initially set to Yes on Win 10
The default value on Win 7 may be unset or No

This fact was one thing that concerned me that i was right following the Baseclock- / hwclock- / timer-way

 

bcdedit_useplatformclock_yes_windows_10_cmd_shell
‘bcdedit’ output while not a single parameter was handed over

I did play with this setting with overclocked and non overclocked system. But it took some days to finally notice that it has something to do with the ‘Baseclock’ and ‘CPU strap’. I did step away from this setting, when i thought it had something to do with the Anti Virus software. However this setting does not help to solve the problem on systems with not equal Baseclocks and CPU straps.

 

“Finally i could narrow down the cause but i couldn’t solve it yet.”

 

 



 

 

What i thought and wrote, when it seemed to be the Anti Virus software compromising the benchmark results. I trapped myself when i quick-overclocked the system again (by leaving Baseclock and CPU strap the same) to test different situations:

OK folks.. scratch all that

i tend to play now with “useplatformclock” (bcdedit) and overclock the system again. But guess what. Neither overclocking nor playing with useplatformclock variable did make any difference to the benchmarks.

 
But i think i revealed who was in charge for the performance trouble in the beginning …

 

… it was …

… my freaking Anti Virus software!

 

I did compare the useplatformclock setting of a Windows 7 system to my Windows 10 system to make sure that this could be a true reason for the mucked up results and it turned out to really be a root for the mess. You now need to know that i went from Windows 7 to Windows 10, just because of this performance mess, by upgrading Windows 7 to Windows 10. There was a chance that some important settings wern’t migrated or merged correctly. Upgrading does leave room for a lot of mistakes at this level. Later on i made a complete fresh install of Windows 10 and this time i installed it directly on the SM951 NVMe SSD, but as i already mentioned, the results didnt change anymore no matter what i touched.

  • Because the Baseclock and CPU strap are equal during this period i never had any shifted benchmark results again

I was freaking out because i really need to know the cause for the performance drama at the beginning to wipe out any missconfigurations and make sure every component is running fine and smooth and then when i was almost giving up i took the Anti Virus software into account.

It’s not that i never was thinking about it but i did underestimate it and i also wasn’t aware anymore of the configuration of my Anti Virus software.

  • Apart from the Baseclock and CPU strap there was only one more thing that could form a bridge  between all these odd things.

As tired as i might be the Anti Virus software was the only thing that could “transport” or “connect” the performance mess from one OS to another – if you are changing the OS by upgrading it. The complete fresh install i mentioned earlier wasn’t affected by the Anti Virus software, because i didn’t install it, but the old Windows 7 and the upgraded Windows 10 installations both had the same Anti Virus installation running.

  • But they also had a Baseclock CPU strap offset

So i went ahead and installed the Anti Virus software. With said software running in the background i still did get normal results. Again that did hit me hard. I thought i got it. But in the same moment, i realized that i didn’t change it’s configuration.

With the configuration window infront of me the settings, i usually made, came into my mind and i set them according previous installations of this Anti Virus software. And guess what. I finally could reproduce the ‘BAD RESULTS’. With its settings set back to defaults, everything is fine. No performance issues.

THE END

samsung_sm951_nvme_2280_512_gb_windows_10_system_disk_baseclock_125_mhz_no_overclock_qd32_th4
CrystalDiskMark: Samsung SM951 NVMe M.2, Queue depth 32 Threads 4, Baseclock 125 MHz, system drive !, onboard M.2 (Baseclock and CPU strap are equal here!)

 

 

I know what some people will say. 🙂 All i can respond is, that i am aware of Anti * ware digging into things and some other things. My problem in this case relies more in the experience i had with this Anti Virus software. I’m using it for years now and never had any issues like denied or failed or interrupted installations due to scanning attempts or  or any kind of interruption that would ask for my attention or a closer look. It always had been the perfect Anti Virus software for me. “Install it and forget it”. Now it got its revenge for all the years not paying attention, not treating it like a tamagotchi and not taking care of it.

I promise i will treat you better now, dear Anti Virus.

But i can say now that i was right not believing my Anti Virus software to be the one compromising the results.

Kraken X60 Software – Kraken CAM vs Kraken Controls

Well, i’m using Kraken X60 water cooling system in my current 2011-v3 RIG with all that shiny stuff launched in september 2014, but initially i did use the “Kraken Controls” Software to configure and adjust my water cooling system.

 

Kraken X60 Software "Kraken Controls"
Kraken X60 Software “Kraken Controls”

 

When i installed the hardware and Kraken Controls these days, they had another software available to manage your cooling system. It’s called “CAM” or “Kraken CAM” and was at version 1.1.2, if i remember correctly.

 

Kraken LED when system powered off

If you want your LED flavoured Kraken/Watercooling Heatsink to not glow when the system is powered off, change the ErP Setting in the BIOS to “S4 + S5”.

 

Kraken CAM version 1.1.2 to 1.1.7

However the Kraken CAM version that was available didn’t work well with my new Intel i7-5930K and the Asus x99 Deluxe motherboard. The CPU temperature  couldn’t be read by the  software, like it can’t be read by Kraken Controls (see picture above: no CPU temperature) and the overall look and feel did remind me too much of Windows 8.x. So i sticked to Kraken Controls only and kept using it. Now, a month later, i gave it another try. The version of Kraken CAM is currently 1.1.7 and the CPU temperature is now being read by the software (picture below).

 

Kraken CAM Software
Kraken CAM Software 1.1.7

 

CPU temperature display not the only improvement?

The Kraken CAM software takes way more time to start than the Kraken Controls, which is a downside, but this will not be the point here. What i noticed first was, that it seeeeems to make my water cooling system run a lot smoother or lets say fluent :).  The fans do not spin up that much like they did before at almost equal temperatures results. Yes, there will be a difference in the fan curves between Controls and CAM, but the point are the temperatures. That can only mean, that the pump is being used more efficiently.

 

Chose Kraken CAM

No matter what they did here, i  write this post to just recommend you using the Kraken CAM software instead of Kraken Controls! I also doubt that they will put further development on the Kraken Controls software.

 

nokrakencontrols

GTX 770 and World of Tanks performance issues gone in 9.3?

In a previous post i was talking a bit of my problem with my EVGA GTX 770 and World of Tanks.

Today, after a couple of weeks of abstinence, when playing World of Tanks, which is now at version 9.3,  i do notice an enhancement with GTX 770 and World of Tanks but i can’t really tell why. Few days ago, NVIDIA released a new Driver Package especially for the new GTX 9 series. In World of Tanks 9.2 i could not notice any enhancements with this new driver. Today with World of Tanks 9.3 i noticed a great frame per second increase. Now you could say, the improvements have been made in  World of Tanks 9.3.

 

Hardware – no improvement after upgrading

I bought the EVGA GTX 770 like 2 or 3 months ago. These days i still had my i7-920 running at 2.66 GHz and some of the old DDR3 RAM at unreasonable frequency. Unfortunately i could not overclock these parts because of the OEM motherboard and BIOS they were mounted on. The idea of upgrading or purchasing a better board for this old components (sad but true, after 6 years these are OLD) was discarded. So i even took the hardware into account when dealing with the “World of Tanks” problem. On september 2nd i did a hardware overall refresh and could then tell: “Nope, its not a hardware problem”. The new i7-5930K and an Asus 2011-v3 board now rock the house. Just search for the CPU and you’ll find some more posts of it, even the overclocking journey.

 

Load – GTX 770 was not running at its full potential

Unlike in previous versions and drivers, my GPU now does hit the 100% load mark, which was not the case in the past and which was the actual problem. The GPU couldn’t perform to its limits, leaving the game running at 30-50 frame per second (FPS). EVGA has its own overclocking and monitoring tools like Precision X and OC Scanner, google for it or visit their website. To let you guys know what i mean here a screenshot: In the top left corner you can now see almost 80 (78) FPS at high resolution 1920 x 1080 and highest settings and 100% render level, which was between 30 and 50 before 9.3.

 

GTX 770 and World of Tanks 9.3 current framerate
GTX 770 and World of Tanks 9.3 current framerate 80 FPS (+- 10)

 

Framerate increased, what an improvement! But?

However i still do notice that the graphics cards load is bouncing sometimes. You could say this hapens because the area where the camera is pointing to requires less performance to get rendered. That would be true if the FPS is stable and take a guess – it’s not.

 

Who needs more than 30 or even 60 FPS at all?

80 FPS is a good rate i can live with for now. The main purpose of these is to make video capturing more comfortable and less eye bleeding when you watch the results. Recording today easily results in a 20-30 FPS drop, if you have no extra performance. If you run 2 graphics cards and limits the FPS to 60 you would’ve had an incredible amount of performance left for recording and other stuff. Now when i limit the FPS to 60, i have only the performance left that encloses or fills the gap between 60 FPS and 80 FPS.

 

GTX 770 and World of Tanks, save to get a 770 now?

Well, after spending thousands of €uros for new hardware and doing upgrades and updates i’m looking forward for future updates. Thank you Wargaming, it was about time.

The GTX 770 is not the best card on the market but its still a good one. With a bit of tweaking you can get her close to a GTX 780 or even a GTX 770 TI at their base settings and clocks.

If you plan to buy a GTX 770, i would say that its save now, when it comes to World of Tanks performance, but i can’t recommend it. The new line of NVIDIAs GTX 9 series made a big step forward in terms of power consumption AND performance. The GTX 770 will perform fine and sexy but you should be aware of that she delivers a higher electricity bill.

 

Two videos with pre World of Tanks 9.3 and pre NVIDIA 344 performance: