Samsung PM983 U.2 very slow write speeds

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

Darren_W

New Member
Jul 24, 2020
6
1
3
Long time lurker here but 1st post.

I recently bought a new Samsung PM983 U.2 drive MZQLB3T8HALS-00007 and have it mounted in a Startech PEX4SFF8639 U.2 to PCIe adaptor. The sequential read speeds are exactly what they should be with over 3300MB/s however the write speeds really suck and I'm lucky to see 280MB/s which I think is about 1/8-1/10th of what this drive should doing.

The drive appears to be operating in PCIe 3.0 x4 mode as reported by CrystalDiskInfo and I wouldn't be seeing those sort of read speeds if it wasn't. I've moved the card into couple of different machines as still get the same result. As this is my 1st foray into U.2 I don't have anything else directly compatible to test the drive and adaptor in separately. I do have a M.2 PCIe card and see respectable write speeds on that when used in the same machines.

I'm beginning to suspect this adaptor may not be providing enough power to the drive. This Startech adaptor doesn't rely on any auxiliary power connectors like some other cards have. It also seems devoid of any power circuitry on the card itself and looks very simple.

Besides sourcing an alternative U.2 adaptor to try can anyone else offer any suggestions ?
 

nickf1227

Active Member
Sep 23, 2015
197
128
43
33
What motherboard are you using and what other addin cards do you have?

My best guess would be that you are using an M.2 slot that is going through the chipset and not to the CPU itself, and you have other competing resources using up all of the bandwidth.
 

UhClem

just another Bozo on the bus
Jun 26, 2012
435
249
43
NH, USA
Is it possible that the drive's Volatile Write Cache (VWC) is disabled?
Not sure how to check on Windows, but on linux
Code:
nvme get-feature /dev/nvmeD -n N -f 6
will query the state of VWC for NVMe device D, namespace N.
 

Darren_W

New Member
Jul 24, 2020
6
1
3
Is it possible that the drive's Volatile Write Cache (VWC) is disabled?
Not sure how to check on Windows, but on linux
Code:
nvme get-feature /dev/nvmeD -n N -f 6
will query the state of VWC for NVMe device D, namespace N.
I was trying to use this card in one of the PCIe 3.0 x8 slots on a HP DL20 Gen10. I have since tried it in a couple of different desktop PC's with PCIe 2.0 and 3.0 slots. The read speed halves when operating at PCIe 2.0 as expected but the write speeds always remain low ~300MB/s.

I tried the command under Ubuntu Linux 20.04 but it seems is unsupported on this drive. I have downloaded the Samsung DCtoolkit utility so trying to work out how to query this setting using this utility.

The SMART reports all look fine.

Write speed is also similar under Linux
Code:
# dd if=/dev/nvme0n1 of=testfile1 bs=4G count=1 oflag=direct
0+1 records in
0+1 records out
2147479552 bytes (2.1 GB, 2.0 GiB) copied, 5.91409 s, 363 MB/s

# nvme -list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     S438NF0KB01143       SAMSUNG MZQLB3T8HALS-00007               1           0.00   B /   3.84  TB    512   B +  0 B   EDA5202Q

The command seems unsupported on this drive and returns an error

# nvme get-feature /dev/nvme0n1 -n 1 -f 6
NVMe status: INVALID_FIELD: A reserved coded value or an unsupported value in a defined field(0x2002)

The smart data doesnt seem to indicate any problems
# ./DCToolkitD --disk 0:c --nvme-get-log-pages --smart-extended
================================================================================================
Samsung DC Toolkit Version 2.1.L.Q.0
Copyright (C) 2017 SAMSUNG Electronics Co. Ltd. All rights reserved.
================================================================================================
---------------------------------------------------------------------------------------------------------
Disk Number: 0:c | Model Name: SAMSUNG MZQLB3T8HALS-00007 | Firmware Version: EDA5202Q
---------------------------------------------------------------------------------------------------------
| Bytes   | Description                                            | Value                              |
---------------------------------------------------------------------------------------------------------
| 11:0    | Life time Program Fail Cnt                             | 0x0000000000000000640000AB         |
| 23:12   | Life time Erase Fail Cnt                               | 0x0000000000000000640000AC         |
| 35:24   | Life time Wearlevel Cnt                                | 0x0000030005000200630000AD         |
| 47:36   | Life time E2E Error Cnt                                | 0x0000000000000000640000B8         |
| 59:48   | Life time CRC Error Cnt                                | 0x0000000000000000640000C7         |
| 71:60   | Media Wear Pctg                                        | 0x0000000000000000640000E2         |
| 83:72   | Host Read Pctg                                         | 0x0000000000005E00640000E3         |
| 95:84   | Worklod Timer                                          | 0x000000000007B200640000E4         |
| 107:96  | Life time Thermal Throttle Status                      | 0x0000000000006400640000EA         |
| 119:108 | Life time Retry Buffer Overflow Cnt                    | 0x000000000000000000000000         |
| 131:120 | Life time PLL Lock Loss Cnt                            | 0x000000000000000000000000         |
| 143:132 | Life time Physical Pages Written Cnt                   | 0x000000000000B300640000F4         |
| 155:144 | Life time Data Unit Written                            | 0x000000000066A700640000F5         |
| 259:256 | Lifetime write amplification factor                    | 0x0000000A                         |
| 263:260 | Trailing hour write amplification factor               | 0x0000001C                         |
| 279:264 | Lifetime user writes                                   | 0x00000000000000000000000066A6CB64 |
| 295:280 | Lifetime NAND writes                                   | 0x00000000000000000000000000B3E580 |
| 311:296 | Lifetime user reads                                    | 0x000000000000000000000001AB281A3B |
| 315:312 | Lifetime retired block count                           | 0x00000000                         |
| 317:316 | Current temperature                                    | 0x0132                             |
| 319:318 | Capacitor health                                       | 0x0000                             |
| 323:320 | Lifetime unused reserved block count                   | 0x00002C87                         |
| 331:324 | Read Reclaim Count                                     | 0x0000000000000000                 |
| 339:332 | Lifetime UECC count                                    | 0x0000000000000000                 |
| 343:340 | Lifetime Used Reserved Block                           | 0x00000000                         |
| 359:344 | Power on hours                                         | 0x00000000000000000000000000000020 |
| 375:360 | Lifetime clean shutdown count on power loss(NPO count) | 0x00000000000000000000000000000012 |
| 391:376 | Lifetime unclean shutdowns on power loss(SPO count)    | 0x00000000000000000000000000000039 |
| 395:392 | Perf Indicator                                         | 0x00000000                         |
| 399:396 | WearLevel Count                                        | 0x00000000                         |
---------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------
# ./DCToolkitD --disk 0:c --nvme-get-log-pages --smart
================================================================================================
Samsung DC Toolkit Version 2.1.L.Q.0
Copyright (C) 2017 SAMSUNG Electronics Co. Ltd. All rights reserved.
================================================================================================
------------------------------------------------------------------------------------------
Disk Number: 0:c | Model Name: SAMSUNG MZQLB3T8HALS-00007 | Firmware Version: EDA5202Q
------------------------------------------------------------------------------------------
| Bytes   | Description                             | Value                              |
------------------------------------------------------------------------------------------
| 0       | Critical Warning                        | 0x10                               |
| 2:1     | Composite Temperature                   | 0x0132                             |
| 3       | Available Spare                         | 0x64                               |
| 4       | Available Spare Threshold               | 0x0A                               |
| 5       | Percentage Used                         | 0x00                               |
| 47:32   | Data Units Read                         | 0x000000000000000000000000006D5A24 |
| 63:48   | Data Units Written                      | 0x000000000000000000000000001A4760 |
| 79:64   | Host Read Commands                      | 0x00000000000000000000000009FFEA99 |
| 95:80   | Host Write Commands                     | 0x00000000000000000000000000930C2C |
| 111:96  | Controller Busy Time                    | 0x000000000000000000000000000000C8 |
| 127:112 | Power Cycle                             | 0x0000000000000000000000000000004B |
| 143:128 | Power On Hours                          | 0x00000000000000000000000000000020 |
| 159:144 | Unsafe Shutdowns                        | 0x00000000000000000000000000000039 |
| 175:160 | Media and Data Integrity Errors         | 0x00000000000000000000000000000000 |
| 191:176 | Number of Error Information Log Entries | 0x00000000000000000000000000000056 |
| 195:192 | Warning Composite Temperature Time      | 0x00000000                         |
| 199:196 | Critical Composite Temperature Time     | 0x00000000                         |
| 201:200 | Temperature Sensor 1                    | 0x0132                             |
| 203:202 | Temperature Sensor 2                    | 0x0137                             |
| 205:204 | Temperature Sensor 3                    | 0x013F                             |
| 207:206 | Temperature Sensor 4                    | 0x0000                             |
| 209:208 | Temperature Sensor 5                    | 0x0000                             |
| 211:210 | Temperature Sensor 6                    | 0x0000                             |
| 213:212 | Temperature Sensor 7                    | 0x0000                             |
| 215:214 | Temperature Sensor 8                    | 0x0000                             |
------------------------------------------------------------------------------------------
 

Darren_W

New Member
Jul 24, 2020
6
1
3
I found this tech doc on the drive and it suggests these drives don't have a volatile write cache, see page 37. Reading a bit more that seems to be expected for enterprise grade SSD's.
 

Darren_W

New Member
Jul 24, 2020
6
1
3
I bought another PCIe U.2 adaptor this model IO-PCE4X-U2, this has and external SATA power connector so rule out my power theory. Pretty much the same results read ~3300MB/s, very slow write speeds persist and nothing above 280MB/s is ever seen, tested again on multiple computers.

I can only conclude the drive is faulty in some way.
 

Whaaat

Active Member
Jan 31, 2020
301
157
43
and nothing above 280MB/s is ever seen
Well, it is very decent result for this type of drives, some will only demonstrate 206MB/s of write speed, claiming sequential write "Up to" 2.2GB/s. You know the meaning of "up to", don't you? It means that you will be able to make some benchmarks while your drive is new to share those cool numbers with your pals, but once the drive is full, samsung's non-working garbage collection will reveal the true write speed. Looking at 50k random write iops as per datasheet one can say that such a drive doesn't like writing at all. The drive is not faulty in any way, just start with trimming, it seems that trim is the only hope for this piece of art
 

nickf1227

Active Member
Sep 23, 2015
197
128
43
33
@Whaaat brings up a good point. What are the testing methodologies used to determine the speed?
Are we talking about random, sequential, what's the QD, etc
 

Darren_W

New Member
Jul 24, 2020
6
1
3
Just to be clear this is a PM983 U.2 format NVMe drive not SATA.

I used CrystalDiskMark for bench marking this drive and also an existing well worn Samsung 970Pro for reference. The same clean install of Win10 on a separate SATA boot drive was used. The same PCIe 3.0 slot in an Asus B85M-E in both test cases, the 970Pro was attached to a PCIe x4 M2 adaptor card. The slow write speeds follow the drive when it's been moved to 3 other computers and the DL20 Gen10 I bought it for. I have also now tried two different PCIe x4 U.2 adaptors, a Startech direct mount and also now a cabled SFF8643 to SFF-8639 adaptor.

970Pro
970PRO.JPG
Code:
------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):  3285.636 MB/s [   3133.4 IOPS] <  2549.83 us>
Sequential 1MiB (Q=  1, T= 1):  2487.300 MB/s [   2372.1 IOPS] <   421.24 us>
    Random 4KiB (Q= 32, T=16):  1063.285 MB/s [ 259591.1 IOPS] <  1736.76 us>
    Random 4KiB (Q=  1, T= 1):    61.516 MB/s [  15018.6 IOPS] <    66.35 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):  2336.218 MB/s [   2228.0 IOPS] <  3581.60 us>
Sequential 1MiB (Q=  1, T= 1):  2316.702 MB/s [   2209.4 IOPS] <   451.95 us>
    Random 4KiB (Q= 32, T=16):   842.962 MB/s [ 205801.3 IOPS] <  2380.61 us>
    Random 4KiB (Q=  1, T= 1):   168.873 MB/s [  41228.8 IOPS] <    24.03 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2020/07/30 9:58:15
     OS: Windows 10 Professional [10.0 Build 19041] (x64)


PM983 (faulty ?)
PM983.JPG
Code:
------------------------------------------------------------------------------
CrystalDiskMark 7.0.0 x64 (C) 2007-2019 hiyohiyo
                                  Crystal Dew World: https://crystalmark.info/
------------------------------------------------------------------------------
* MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s]
* KB = 1000 bytes, KiB = 1024 bytes

[Read]
Sequential 1MiB (Q=  8, T= 1):  3210.894 MB/s [   3062.1 IOPS] <  2609.38 us>
Sequential 1MiB (Q=  1, T= 1):  2231.083 MB/s [   2127.7 IOPS] <   469.60 us>
    Random 4KiB (Q= 32, T=16):  1149.368 MB/s [ 280607.4 IOPS] <  1593.35 us>
    Random 4KiB (Q=  1, T= 1):    51.795 MB/s [  12645.3 IOPS] <    78.85 us>

[Write]
Sequential 1MiB (Q=  8, T= 1):   276.524 MB/s [    263.7 IOPS] < 30158.64 us>
Sequential 1MiB (Q=  1, T= 1):   140.648 MB/s [    134.1 IOPS] <  7443.72 us>
    Random 4KiB (Q= 32, T=16):    51.209 MB/s [  12502.2 IOPS] < 40589.02 us>
    Random 4KiB (Q=  1, T= 1):     1.144 MB/s [    279.3 IOPS] <  3576.63 us>

Profile: Default
   Test: 1 GiB (x5) [Interval: 5 sec] <DefaultAffinity=DISABLED>
   Date: 2020/07/30 10:22:16
     OS: Windows 10 Professional [10.0 Build 19041] (x64)

The PM983 was advertised as new and it's SMART info shows only host total writes of now 944 GB and 36 hours power on (pretty much all my testing).

For reference I even went as far as contacting somebody else with this drive for the same benchmarks, see below. These are what I would expect and pretty similar to the 970Pro. I really don't think the results I'm getting for my particular PM983 are anywhere near what they should be and I do not believe is my hardware and I'm out of ideas to prove it otherwise.

970pro.PNG
 
Last edited:

UhClem

just another Bozo on the bus
Jun 26, 2012
435
249
43
NH, USA
I can only conclude the drive is faulty in some way.
I agree with you. The only Crystal reports I found were for 960 & 1.92 models, and were Crystal v6; but the 4KB, Q1 scores (which are least likely to vary) were 45-55 MB/s read & 170-250 MB/s write. Your read result of 52 is fine (but you've never questioned your drive's read performance) but a write rate of 1.14 is, without question, ludicrous.

The storagereview test (for a 1.92 model) pointed out by @Whaaat is curious--it is a Seq Write, 64KB, Q8 test, getting 206 MB/s, BUT it is a homebrew test, with no corroboration/other users. (They do not offer any Crystal results.) Possibly of note:
Our testing process for these benchmarks fills the entire drive surface with data ...
Now, that could be bad for "toy drives", but I'd be surprised if it, alone, could cause a 90% drop in write-rate for this drive.
 

jmsq

Member
Dec 30, 2019
30
25
18
Is it possible that the drive's Volatile Write Cache (VWC) is disabled?
Not sure how to check on Windows, but on linux
Code:
nvme get-feature /dev/nvmeD -n N -f 6
will query the state of VWC for NVMe device D, namespace N.
This was a helpful tip for my (HPE-branded) P3700, as it was in fact disabled. What's more curious/concerning though is that nvme-cli doesn't appear to be able to re-enable it. Has anyone run across this issue before?
 

UhClem

just another Bozo on the bus
Jun 26, 2012
435
249
43
NH, USA
This was a helpful tip for my (HPE-branded) P3700, as it was in fact disabled. What's more curious/concerning though is that nvme-cli doesn't appear to be able to re-enable it. Has anyone run across this issue before?
In response to a
Code:
nvme id-ctrl /dev/nvmeD
command, what is the value of the vwc: field? [bit 0 (=1) indicates you have a VWC]. If so, then a
Code:
nvme set-feature /dev/nvmeD -n N -f 6 -v V
command should enable (V=1) or disable (V=0) it.
(That's "the theory"--I haven't tried it. Both my drives have VWC, and both are enabled. I don't look for trouble.)
 

Whaaat

Active Member
Jan 31, 2020
301
157
43
Now, that could be bad for "toy drives", but I'd be surprised if it, alone, could cause a 90% drop in write-rate for this drive.
It's not a toy drive, but 'entry' enterprise ssd. Performance of enterprise drives is always specified in steady state, when the surface is full, and drive didn't have time to collect the garbage. Performance in new condition can be several times higher. For example this drive is specified as having 50k iops in random write - and that's exactly what we see in 'homebrew' test of storagereview - drive couldn't hit 50k iops without enormous increase of latency, and that is top performance as manufacturer specified. Now let's look at Crystal report of 'healthy' 983: random write is 2014 MB/s that is 500k iops, so no surprises - exactly 90% drop during transition from new to steady state. And this is typical drop for nvme drives not limited by the bandwidth of interface such as sata or sas counterparts.
 

UhClem

just another Bozo on the bus
Jun 26, 2012
435
249
43
NH, USA
UhClem said:
Now, that could be bad for "toy drives", but I'd be surprised if it, alone, could cause a 90% drop in write-rate for this drive.
It's not a toy drive, but 'entry' enterprise ssd. ...
I'm sorry you were not able to parse my sentence. Obviously I am contrasting this drive/model with the class of "toy drives" (e.g. entry-level Kingston, PNY, etc.) [Apologies if English is not your native tongue.]

The rest of your blather is not applicable to the topic of the thread--"Is OP's PM983 defective?"

Remember, you stated:
Whaat said:
The drive is not faulty in any way, ...
and appear to still hold that opinion.

Even if you didn't take OP's statement that it was a "new drive" at face value, and even if you didn't catch the "Data units written" value in his smart report, OP has explicitly stated "host total writes of now 944 GB". Given that this is a 3.84 TB drive ... (need I go on?) For you, I probably do ...
(3840 - 944) / 944 = 3.06

All of OP's testing has been done on a drive that, at minimum, is 300% over-provisioned.
 
Last edited:

Whaaat

Active Member
Jan 31, 2020
301
157
43
Even if you didn't take OP's statement that it was a "new drive at face value, and even if you didn't catch the "Data units written" value "
'The PM983 was advertised as new' doesn't mean it was new. On almost every enterprise sas drive read/write/error statistics can be cleaned away as simple as a single command: "sg_logs -R". Voila, you have a drive that has never seen a single byte in its entire life. So this info usually means nothing to me. Apparently you can do similar trick with nvme, but I've never bothered to find out how. My advise was to manually retrim the drive to start with. Next step would be to find and update firmware.
Yet one string of the smart info has some hidden value. Content of those log entries could give some clues (or not)
Code:
| 191:176 | Number of Error Information Log Entries | 0x00000000000000000000000000000056 |

[Apologies if English is not your native tongue.]
Yep, you are right, English is not my mother tongue, apologies accepted
 

UhClem

just another Bozo on the bus
Jun 26, 2012
435
249
43
NH, USA
'The PM983 was advertised as new' doesn't mean it was new. On almost every enterprise sas drive read/write/error statistics can be cleaned away as simple as a single command: "sg_logs -R". Voila, you have a drive that has never seen a single byte in its entire life.
BS! (look it up)
First, the drive in question is NVMe, so the NVMe standards are in play. And those standards specify what information is resettable. POH and Data_units_written (& _read) are NOT resettable.

As for SAS drives, your -R does NOT affect POH (32 bits) or Bytes_written (64 bits) [or Bytes_read]

means nothing to me
Ain't that the truth. ("taking out of context" goes both ways)
 

Darren_W

New Member
Jul 24, 2020
6
1
3
Just letting everyone know the final outcome here.

I sourced another NVMe U2 drive, an Intel P4510 4TB and the write performance is now every bit as good as the read performance using the same Startech adaptor. So the issue appears to have definitely been with the Samsung PM983 drive which I have now sought a return on from the seller.
 
  • Like
Reactions: hmw

hmw

Active Member
Apr 29, 2019
570
226
43
I was deciding between the P4510 and the PM983 - decided to go for the PM983 on eBay - first thing I did was to test out the drive using fio. I got 3 gb/s and 2 gb/s speeds for sequential read and write respectively, so I believe there's something off about the drive that you got

Did you try doing a secure erase and reformatting the drive? Also, is the drive using 512e or 4kN sectors?
 
Last edited: