Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspberry Pi SSD #679

Open
geerlingguy opened this issue Oct 24, 2024 · 9 comments
Open

Raspberry Pi SSD #679

geerlingguy opened this issue Oct 24, 2024 · 9 comments

Comments

@geerlingguy
Copy link
Owner

Raspberry Pi is now selling the Raspberry Pi SSD, a 2230-size NVMe SSD rated at PCIe Gen 3 speed.

raspberry-pi-ssd

I have a 256 GB model to test, and they are also releasing a 512 GB model. The product data sheet doesn't list certain specs like MTBF, TBW, shock ratings, or how many lanes of PCIe Gen 3 are supported (assuming you put it on a device other than a Pi 5).

I would like very much to find those things out, so once I get it hooked up, I'll post the full lspci output here.

geerlingguy added a commit that referenced this issue Oct 24, 2024
@geerlingguy
Copy link
Owner Author

@geerlingguy
Copy link
Owner Author

lspci output:

0000:01:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980 (prog-if 02 [NVM Express])
	Subsystem: Samsung Electronics Co Ltd NVMe SSD Controller 980 (DRAM-less)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Interrupt: pin A routed to IRQ 38
	Region 0: Memory at 1b80000000 (64-bit, non-prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
	Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
		Address: 0000000000000000  Data: 0000
	Capabilities: [70] Express (v2) Endpoint, MSI 00
		DevCap:	MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
			ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
		DevCtl:	CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
			RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
			MaxPayload 256 bytes, MaxReadReq 512 bytes
		DevSta:	CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
		LnkCap:	Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
			ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
		LnkCtl:	ASPM L1 Enabled; RCB 64 bytes, Disabled- CommClk+
			ExtSynch- ClockPM+ AutWidDis- BWInt- AutBWInt-
		LnkSta:	Speed 8GT/s, Width x1 (downgraded)
			TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
		DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
			 10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
			 EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
			 FRS- TPHComp- ExtTPHComp-
			 AtomicOpsCap: 32bit- 64bit- 128bitCAS-
		DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
			 AtomicOpsCtl: ReqEn-
		LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
		LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
			 Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
			 Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
		LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete+ EqualizationPhase1+
			 EqualizationPhase2+ EqualizationPhase3+ LinkEqualizationRequest-
			 Retimer- 2Retimers- CrosslinkRes: unsupported
	Capabilities: [b0] MSI-X: Enable+ Count=13 Masked-
		Vector table: BAR=0 offset=00003000
		PBA: BAR=0 offset=00002000
	Capabilities: [100 v2] Advanced Error Reporting
		UESta:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UEMsk:	DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
		UESvrt:	DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
		CESta:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
		CEMsk:	RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
		AERCap:	First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
			MultHdrRecCap+ MultHdrRecEn- TLPPfxPres- HdrLogCap-
		HeaderLog: 00000000 00000000 00000000 00000000
	Capabilities: [148 v1] Device Serial Number 00-00-00-00-00-00-00-00
	Capabilities: [158 v1] Power Budgeting <?>
	Capabilities: [168 v1] Secondary PCI Express
		LnkCtl3: LnkEquIntrruptEn- PerformEqu-
		LaneErrStat: 0
	Capabilities: [188 v1] Latency Tolerance Reporting
		Max snoop latency: 0ns
		Max no snoop latency: 0ns
	Capabilities: [190 v1] L1 PM Substates
		L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
			  PortCommonModeRestoreTime=10us PortTPowerOnTime=10us
		L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
			   T_CommonMode=0us LTR1.2_Threshold=26016ns
		L1SubCtl2: T_PwrOn=10us
	Kernel driver in use: nvme

It looks like it's a Samsung NVMe controller, and here are more details:

pi@pi5:~ $ sudo apt install nvme-cli

pi@pi5:~ $ sudo nvme list
Node                  Generic               SN                   Model                                    Namespace Usage                      Format           FW Rev  
--------------------- --------------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1          /dev/ng0n1            S73YNX0X234088       SAMSUNG MZ9LQ256HBJD-00BVL               1           0.00   B / 256.06  GB    512   B +  0 B   FXM71V1Q

pi@pi5:~ $ sudo nvme id-ctrl /dev/nvme0n1
NVME Identify Controller:
vid       : 0x144d
ssvid     : 0x144d
sn        : S73YNX0X234088      
mn        : SAMSUNG MZ9LQ256HBJD-00BVL              
fr        : FXM71V1Q
rab       : 2
ieee      : 002538
cmic      : 0
mdts      : 9
cntlid    : 0x5
ver       : 0x10400
rtd3r     : 0x7a120
rtd3e     : 0x7a1200
oaes      : 0x200
ctratt    : 0x10
rrls      : 0
cntrltype : 1
fguid     : 00000000-0000-0000-0000-000000000000
crdt1     : 0
crdt2     : 0
crdt3     : 0
nvmsr     : 0
vwci      : 0
mec       : 0
oacs      : 0x17
acl       : 7
aerl      : 3
frmw      : 0x16
lpa       : 0xf
elpe      : 63
npss      : 4
avscc     : 0x1
apsta     : 0x1
wctemp    : 356
cctemp    : 358
mtfa      : 0
hmpre     : 16384
hmmin     : 4096
tnvmcap   : 256,060,514,304
unvmcap   : 0
rpmbs     : 0
edstt     : 35
dsto      : 0
fwug      : 4
kas       : 0
hctma     : 0x1
mntmt     : 318
mxtmt     : 356
sanicap   : 0x60000002
hmminds   : 16
hmmaxd    : 1024
nsetidmax : 0
endgidmax : 1
anatt     : 0
anacap    : 0
anagrpmax : 0
nanagrpid : 0
pels      : 0
domainid  : 0
megcap    : 0
sqes      : 0x66
cqes      : 0x44
maxcmd    : 0
nn        : 1
oncs      : 0x57
fuses     : 0
fna       : 0
vwc       : 0x7
awun      : 1023
awupf     : 0
icsvscc   : 1
nwpc      : 0
acwu      : 0
ocfs      : 0
sgls      : 0
mnan      : 0
maxdna    : 0
maxcna    : 0
subnqn    : nqn.1994-11.com.samsung:nvme:PM991a:M.2:S73YNX0X234088      
ioccsz    : 0
iorcsz    : 0
icdoff    : 0
fcatt     : 0
msdbd     : 0
ofcs      : 0
ps      0 : mp:5.36W operational enlat:0 exlat:0 rrt:0 rrl:0
            rwt:0 rwl:0 idle_power:- active_power:-
            active_power_workload:-
ps      1 : mp:4.47W operational enlat:0 exlat:0 rrt:1 rrl:1
            rwt:1 rwl:1 idle_power:- active_power:-
            active_power_workload:-
ps      2 : mp:2.23W operational enlat:0 exlat:500 rrt:2 rrl:2
            rwt:2 rwl:2 idle_power:- active_power:-
            active_power_workload:-
ps      3 : mp:0.0500W non-operational enlat:210 exlat:1200 rrt:3 rrl:3
            rwt:3 rwl:3 idle_power:- active_power:-
            active_power_workload:-
ps      4 : mp:0.0050W non-operational enlat:1000 exlat:9000 rrt:4 rrl:4
            rwt:4 rwl:4 idle_power:- active_power:-
            active_power_workload:-

pi@pi5:~ $ sudo nvme smart-log /dev/nvme0n1
Smart Log for NVME device:nvme0n1 namespace-id:ffffffff
critical_warning			: 0
temperature				: 25°C (298 Kelvin)
available_spare				: 100%
available_spare_threshold		: 10%
percentage_used				: 0%
endurance group critical warning summary: 0
Data Units Read				: 10 (5.12 MB)
Data Units Written			: 0 (0.00 B)
host_read_commands			: 138
host_write_commands			: 0
controller_busy_time			: 0
power_cycles				: 2
power_on_hours				: 0
unsafe_shutdowns			: 0
media_errors				: 0
num_err_log_entries			: 0
Warning Temperature Time		: 0
Critical Composite Temperature Time	: 0
Temperature Sensor 1           : 25°C (298 Kelvin)
Thermal Management T1 Trans Count	: 0
Thermal Management T2 Trans Count	: 0
Thermal Management T1 Total Time	: 0
Thermal Management T2 Total Time	: 0

@geerlingguy
Copy link
Owner Author

geerlingguy commented Oct 24, 2024

Benchmarking... here's a listing on harddrivebenchmark.com for the Samsung.

And on the Pi 5, running my disk-benchmark.sh:

Benchmark Result
iozone 4K random read 58.76 MB/s
iozone 4K random write 186.04 MB/s
iozone 1M random read 748.70 MB/s
iozone 1M random write 724.94 MB/s
iozone 1M sequential read 800.15 MB/s
iozone 1M sequential write 728.29 MB/s

Also running PiBenchmarks.com:

     Category                  Test                      Result      
HDParm                    Disk Read                 805.98 MB/sec            
HDParm                    Cached Disk Read          752.55 MB/sec            
DD                        Disk Write                511 MB/s                 
FIO                       4k random read            182857 IOPS (731428 KB/s)
FIO                       4k random write           90220 IOPS (360881 KB/s) 
IOZone                    4k read                   223680 KB/s              
IOZone                    4k write                  169696 KB/s              
IOZone                    4k random read            61596 KB/s               
IOZone                    4k random write           188887 KB/s              

                          Score: 46855                                       

@geerlingguy
Copy link
Owner Author

@Steve-Tech
Copy link

Hey Jeff, I was just curious if this supported 4K Native Advanced Format.

You can check using either nvme id-ns -H /dev/nvme0n1 or smartctl -c /dev/nvme0n1, and it'll be down the bottom as LBA Format or Sizes.

For example my WD Black (which does) has this:

LBA Format  0 : Metadata Size: 0   bytes - Data Size: 512 bytes - Relative Performance: 0x2 Good
LBA Format  1 : Metadata Size: 0   bytes - Data Size: 4096 bytes - Relative Performance: 0x1 Better (in use)

@leander091
Copy link

hi @Steve-Tech,

Have some RPI SSD's myself and it does not like it support 4k blocks as shown below:
LBA Format 0 : Metadata Size: 0 bytes - Data Size: 512 bytes - Relative Performance: 0 Best (in use)

@Steve-Tech
Copy link

Hi @leander091, alright, thanks for checking!

@ned14
Copy link

ned14 commented Jan 22, 2025

Here is a newly purchased Raspberry Pi 512Gb SSD. It no longer claims to be a Samsung, but is rather is a Biwin SSD. It was purchased from a big brand well known very respectable supplier, and if it is a fake, it's an extremely good one. The packaging and label all look perfect.

I wouldn't personally associate Biwin SSDs nor its "KingSpec" controller with quality like I would with Samsung, but if this is genuine I assume the RaspPi Foundation know what they're doing.

I'll tell you this: power consumption is remarkably low with this SSD. Like, crazy low.

PCIe 2.0:

dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=10000 oflag=direct
10485760000 bytes (10 GB, 9.8 GiB) copied, 26.7882 s, 391 MB/s

Write load is 0.5 watts. Wow.

dd of=/dev/null if=/dev/nvme0n1 bs=1M count=10000 iflag=direct
10485760000 bytes (10 GB, 9.8 GiB) copied, 24.0597 s, 436 MB/s

Read load is 0.7 watts.

PCIe 2.0 throughput performance is very competitive.

PCIe 3.0:

dd if=/dev/zero of=/dev/nvme0n1 bs=1M count=10000 oflag=direct
10485760000 bytes (10 GB, 9.8 GiB) copied, 14.5891 s, 719 MB/s

Write load is 0.9 watts.

dd of=/dev/null if=/dev/nvme0n1 bs=1M count=10000 iflag=direct
10485760000 bytes (10 GB, 9.8 GiB) copied, 13.4262 s, 781 MB/s

Read load is 0.8 watts.

PCIe 3.0 throughput performance is nothing to be sniffed at. DRAMful SSDs have a bit faster reads.

Other details:

0000:01:00.0 Non-Volatile memory controller: Biwin Storage Technology Co., Ltd. KingSpec NX series NVMe SSD (DRAM-less) (rev 01) (prog-if 02 [NVM Express])
        Subsystem: Biwin Storage Technology Co., Ltd. KingSpec NX series NVMe SSD (DRAM-less)
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 41
        Region 0: Memory at 1b00020000 (64-bit, non-prefetchable) [size=16K]
        Expansion ROM at 1b00000000 [virtual] [disabled] [size=128K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
                Address: 0000000000000000  Data: 0000
                Masking: 00000000  Pending: 00000000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 512 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
                DevCtl: CorrErr+ NonFatalErr+ FatalErr+ UnsupReq+
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop- FLReset-
                        MaxPayload 512 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr- NonFatalErr- FatalErr- UnsupReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
                        ClockPM- Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 17s to 64s, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -6dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [b0] MSI-X: Enable+ Count=9 Masked-
                Vector table: BAR=0 offset=00002000
                PBA: BAR=0 offset=00003000
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [148 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [168 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [170 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=10us PortTPowerOnTime=10us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=26016ns
                L1SubCtl2: T_PwrOn=10us
        Capabilities: [180 v1] Vendor Specific Information: ID=0001 Rev=1 Len=038 <?>
        Kernel driver in use: nvme
        Kernel modules: nvme
NVME Identify Controller:
vid       : 0x1dee
ssvid     : 0x1dee
sn        : 2446143801757       
mn        : BIWIN CE430T5D100-512G                  
fr        : 1.4.7.67
rab       : 2
ieee      : 50c68e
cmic      : 0
mdts      : 5
cntlid    : 0
ver       : 0x10400
rtd3r     : 0x124f80
rtd3e     : 0x2191c0
oaes      : 0
ctratt    : 0
rrls      : 0
cntrltype : 1
fguid     : 00000000-0000-0000-0000-000000000000
crdt1     : 0
crdt2     : 0
crdt3     : 0
nvmsr     : 0
vwci      : 0
mec       : 0
oacs      : 0x17
acl       : 3
aerl      : 3
frmw      : 0x18
lpa       : 0x2
elpe      : 63
npss      : 4
avscc     : 0x1
apsta     : 0x1
wctemp    : 358
cctemp    : 360
mtfa      : 0
hmpre     : 16384
hmmin     : 3072
tnvmcap   : 512110190592
unvmcap   : 0
rpmbs     : 0
edstt     : 5
dsto      : 1
fwug      : 1
kas       : 0
hctma     : 0x1
mntmt     : 323
mxtmt     : 360
sanicap   : 0
hmminds   : 256
hmmaxd    : 64
nsetidmax : 0
endgidmax : 0
anatt     : 0
anacap    : 0
anagrpmax : 0
nanagrpid : 0
pels      : 0
domainid  : 0
megcap    : 0
sqes      : 0x66
cqes      : 0x44
maxcmd    : 0
nn        : 1
oncs      : 0x14
fuses     : 0
fna       : 0
vwc       : 0x7
awun      : 0
awupf     : 0
icsvscc   : 1
nwpc      : 0
acwu      : 0
ocfs      : 0
sgls      : 0x70001
mnan      : 0
maxdna    : 0
maxcna    : 0
oaqd      : 0
subnqn    : 
ioccsz    : 0
iorcsz    : 0
icdoff    : 0
fcatt     : 0
msdbd     : 0
ofcs      : 0
ps      0 : mp:3.00W operational enlat:100 exlat:600 rrt:0 rrl:0
            rwt:0 rwl:0 idle_power:- active_power:-
            active_power_workload:-
ps      1 : mp:2.80W operational enlat:150 exlat:700 rrt:1 rrl:1
            rwt:1 rwl:1 idle_power:- active_power:-
            active_power_workload:-
ps      2 : mp:2.70W operational enlat:200 exlat:1000 rrt:2 rrl:2
            rwt:2 rwl:2 idle_power:- active_power:-
            active_power_workload:-
ps      3 : mp:0.2100W non-operational enlat:1000 exlat:13000 rrt:3 rrl:3
            rwt:3 rwl:3 idle_power:- active_power:-
            active_power_workload:-
ps      4 : mp:0.0090W non-operational enlat:2000 exlat:19000 rrt:4 rrl:4
            rwt:4 rwl:4 idle_power:- active_power:-
            active_power_workload:-
Smart Log for NVME device:nvme0 namespace-id:ffffffff
critical_warning                        : 0
temperature                             : 51 °C (324 K)
available_spare                         : 100%
available_spare_threshold               : 10%
percentage_used                         : 0%
endurance group critical warning summary: 0
Data Units Read                         : 21 (10.75 MB)
Data Units Written                      : 0 (0.00 B)
host_read_commands                      : 494
host_write_commands                     : 0
controller_busy_time                    : 0
power_cycles                            : 1
power_on_hours                          : 0
unsafe_shutdowns                        : 1
media_errors                            : 0
num_err_log_entries                     : 0
Warning Temperature Time                : 0
Critical Composite Temperature Time     : 0
Temperature Sensor 1           : 59 °C (332 K)
Temperature Sensor 2           : 51 °C (324 K)
Thermal Management T1 Trans Count       : 0
Thermal Management T2 Trans Count       : 0
Thermal Management T1 Total Time        : 0
Thermal Management T2 Total Time        : 0

The claimed power use states do seem to very much correlate with empirically measured power consumption.

More info about the KingSpec NX SSD controller can be found at https://www.techpowerup.com/ssd-specs/kingspec-nx-series-1-tb.d1082

@ned14
Copy link

ned14 commented Jan 22, 2025

disk_benchmark.sh for this Biwin based official Raspberry Pi SSD, running on a Raspberry Pi 5:

| Benchmark                  | Result |
| -------------------------- | ------ |
| iozone 4K random read      | 57.91 MB/s |
| iozone 4K random write     | 166.35 MB/s |
| iozone 1M random read      | 754.69 MB/s |
| iozone 1M random write     | 677.44 MB/s |
| iozone 1M sequential read  | 753.37 MB/s |
| iozone 1M sequential write | 679.47 MB/s |

That is a bit less than the Samsung based SSD.

In case it was a fake and I've been diddlied, I tried filling the drive to full:

dd if=/dev/zero of=testfile bs=1M
dd: error writing 'testfile': No space left on device
502905593856 bytes (503 GB, 468 GiB) copied, 2039.26 s, 247 MB/s

No i/o errors. Looks true sized. Obviously it ran out of SLC cache, that made it slow down to about one quarter peak write speed. I noticed that power consumption went up to 2.7 watts too, so running out of SLC cache does increase write power consumption considerably.

smartctl -a /dev/nvme0
smartctl 7.4 2023-08-01 r5530 [aarch64-linux-6.8.0-1017-raspi] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Number:                       BIWIN CE430T5D100-512G
Serial Number:                      2446143801757
Firmware Version:                   1.4.7.67
PCI Vendor/Subsystem ID:            0x1dee
IEEE OUI Identifier:                0x50c68e
Total NVM Capacity:                 512,110,190,592 [512 GB]
Unallocated NVM Capacity:           0
Controller ID:                      0
NVMe Version:                       1.4
Number of Namespaces:               1
Namespace 1 Size/Capacity:          512,110,190,592 [512 GB]
Namespace 1 Formatted LBA Size:     512
Local Time is:                      Wed Jan 22 01:12:36 2025 GMT
Firmware Updates (0x18):            4 Slots, no Reset required
Optional Admin Commands (0x0017):   Security Format Frmw_DL Self_Test
Optional NVM Commands (0x0014):     DS_Mngmt Sav/Sel_Feat
Log Page Attributes (0x02):         Cmd_Eff_Lg
Maximum Data Transfer Size:         32 Pages
Warning  Comp. Temp. Threshold:     85 Celsius
Critical Comp. Temp. Threshold:     87 Celsius

Supported Power States
St Op     Max   Active     Idle   RL RT WL WT  Ent_Lat  Ex_Lat
 0 +     3.00W       -        -    0  0  0  0      100     600
 1 +     2.80W       -        -    1  1  1  1      150     700
 2 +     2.70W       -        -    2  2  2  2      200    1000
 3 -   0.2100W       -        -    3  3  3  3     1000   13000
 4 -   0.0090W       -        -    4  4  4  4     2000   19000

Supported LBA Sizes (NSID 0x1)
Id Fmt  Data  Metadt  Rel_Perf
 0 +     512       0         3

=== START OF SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

SMART/Health Information (NVMe Log 0x02)
Critical Warning:                   0x00
Temperature:                        43 Celsius
Available Spare:                    100%
Available Spare Threshold:          10%
Percentage Used:                    0%
Data Units Read:                    115,054 [58.9 GB]
Data Units Written:                 1,152,533 [590 GB]
Host Read Commands:                 1,212,961
Host Write Commands:                5,279,038
Controller Busy Time:               35
Power Cycles:                       2
Power On Hours:                     1
Unsafe Shutdowns:                   1
Media and Data Integrity Errors:    0
Error Information Log Entries:      0
Warning  Comp. Temperature Time:    0
Critical Comp. Temperature Time:    0
Temperature Sensor 1:               61 Celsius
Temperature Sensor 2:               43 Celsius

Error Information (NVMe Log 0x01, 16 of 64 entries)
No Errors Logged

Self-test Log (NVMe Log 0x06)
Self-test status: No self-test in progress
No Self-tests Logged

That also agrees that the entire drive was filled.

I see from searching the web that the Biwin-made drives appear to have become the default OEM for official RaspPi SSDs from Nov-Dec last year onwards. Multiple people report the same. I guess it's legit so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants