Skip to content

TCG Level 0 Discovery Data of Sumsung 990 PRO

ken-yossy edited this page Dec 26, 2022 · 1 revision

Retrieved data

Following data is retrieved from Samsung 990 PRO[1]. Firmware revision is 0B2QJXD7.

        00  01  02  03  04  05  06  07   08  09  0A  0B  0C  0D  0E  0F
        ---------------------------------------------------------------
 0x000  00  00  00  D8  00  00  00  01   00  00  00  00  00  00  00  00   ........ ........
 0x010  00  00  00  00  00  00  00  00   00  00  00  00  00  00  00  00   ........ ........
 0x020  00  00  00  00  00  00  00  00   00  00  00  00  00  00  00  00   ........ ........
 0x030  00  01  10  0C  11  00  00  00   00  00  00  00  00  00  00  00   ........ ........
 0x040  00  02  10  0C  09  00  00  00   00  00  00  00  00  00  00  00   ........ ........
 0x050  00  03  10  1C  01  00  00  00   00  00  00  00  00  00  02  00   ........ ........
 0x060  00  00  00  00  00  00  00  08   00  00  00  00  00  00  00  00   ........ ........
 0x070  02  00  10  10  10  04  00  04   00  00  00  00  00  00  00  00   ........ ........
 0x080  00  00  00  00  02  01  10  0C   00  00  00  09  04  00  00  00   ........ ........
 0x090  00  00  00  00  02  02  10  0C   00  00  00  09  00  A0  00  00   ........ ........
 0x0A0  00  00  00  01  02  03  10  10   10  04  00  04  00  00  04  00   ........ ........
 0x0B0  09  00  00  00  00  00  00  00   04  02  10  0C  02  01  00  00   ........ ........
 0x0C0  00  00  00  00  00  00  00  00   04  03  22  10  A0  00  00  00   ........ ..".....
 0x0D0  00  00  00  09  00  00  00  08   00  00  00  07  00  00  00  00   ........ ........

Content

Level 0 Discovery header (48 bytes) exists at the head of Level 0 Discovery Data.

After the header, Feature Descriptor(s) are located.

Each Feature Descriptor has own Feature Code, for example, the code of TPer Feature is 1h, so you can find what type of feature descriptor is located right after.

According to the TCG spec[2][3][4][5][6][7][8], this data is interpreted as follows.

Byte [47:0]: Level 0 Discovery Header (48 bytes)

The content of length field is different from that of 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
3:0 Length of Parameter Data D8h 216 Byte [219:4] = 216 bytes, B4h (180) in 970 EVO Plus
7:4 Data structure revision 1h 1
15:8 Reserved 0h
47:16 Vendor Specific 0h

Byte [63:48]: TPer Feature Descriptor (16 bytes)

All contents in this descriptor are the same as 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
49:48 Feature Code 1h 1 indicates TPer Feature Descriptor
50 3:0 Reserved 0h
7:4 Version 1h 1
51 Length Ch 12 Byte [63:52] = 12 bytes
52 0 Sync Supported 1h 1
1 Async Supported 0h 0
2 ACK/NAK Supported 0h 0
3 Buffer Mgmt Supported 0h 0
4 Streaming Supported 1h 1
5 Reserved 0h
6 ComID Mgmt Supported 0h 0
7 Reserved 0h
63:53 Reserved 0h

Byte [79:64]: Locking Feature Descriptor (16 bytes)

All contents in this descriptor are the same as 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
65:64 Feature Code 2h indicates Locking Feature Descriptor
66 3:0 Reserved 0h
7:4 Version 1h 1
67 Length Ch 12 Byte [79:68] = 12 Byte
68 0 Locking Supported 1h 1
1 Locking Enabled 0h 0
2 Locked 0h 0
3 Media Encryption 1h 1
4 MBR Enabled 0h 0
5 MBR Done 0h 0
7:6 Reserved 0h
79:69 Reserved 0h

Byte [111:80]: Geometry Reporting Feature Descriptor (32 bytes)

All contents in this descriptor are the same as 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
81:80 Feature Code 3h indicates Geometry Reporting Feature Descriptor
82 3:0 Reserved 0h
7:4 Version 1h 1
83 Length 1Ch 28 byte [111:84] = 28 bytes
84 0 ALIGN 1h 1
7:1 Reserved 0h
91:85 Reserved 0h
95:92 Logical Block Size 200h 512 sector size (in byte)
103:96 Alignment Granularity 8h 8 number of logical blocks
111:104 Lowest Aligned LBA 0h 0

Byte [131:112]: Opal SSC Feature Descriptor (20 bytes)

970 EVO Plus has only Opal SSC V2.00 Feature Descriptor, but 990 PRO has both Opal SSC and Opal SSC V2.00 Feature Descriptor.

Byte Bit Description Data (Hex) Data (Dec) Note
113:112 Feature Code 200h indicates Opal SSC Feature Descriptor
114 3:0 Reserved 0h
7:4 Version 1h 1
115 Length 10h 16 Byte [131:116] = 16 Byte
117:116 Base ComID 1004h 4100 vendor unique value
119:118 Number of ComIDs 4h 4
120 0 Range Crossing 0h 0 The SD supports commands addressing consecutive LBAs in more than one LBA range if all the LBA ranges addressed are unlocked.
7:1 Reserved 0h
131:121 Reserved 0h

Byte [147:132]: Single User Mode Feature Descriptor (16 bytes)

This descriptor is absent in 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
133:132 Feature Code 201h indicates Single User Mode Feature Descriptor
134 3:0 Reserved 0h
7:4 Version 1h 1
135 Length Ch 12 Byte [147:136] = 12 Byte
139:136 Number of Locking Objects Supported 9h 9
140 0 Any 0h 0
1 All 0h 0
2 Policy 1h 1 Admins authority maintains ownership of the RangeStart, RangeLength, and CommonName of Locking objects in Single User Mode, or if the Locking SP is in any life cycle state other than Manufactured or Issued.
140 7:3 Reserved 0h
147:141 Reserved 0h

Byte [163:148]: DataStore Table Feature Descriptor (16 bytes)

All contents in this descriptor are the same as 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
149:148 Feature Code 202h indicates DataStore Table Feature Descriptor
150 3:0 Reserved 0h
150 7:4 Version 1h 1
151 Length Ch 12 Byte [163:152] = 12 Byte
153:152 Reserved 0h
155:154 Maximum number of DataStore tables 9h 9
159:156 Maximum total size of DataStore tables A00000h 10485760 10 MiB
163:160 DataStore table size alignment 1h 1 in byte

Byte [183:164]: Opal SSC V2.00 Feature Descriptor (20 bytes)

Byte Bit Description Data (Hex) Data (Dec) Note
165:164 Feature Code 203h indicates Opal SSC V2.00 Feature Descriptor
166 3:0 Reserved 0h
7:4 Version 1h 1
167 Length 10h 16 Byte [147:132] = 16 Byte
169:168 Base ComID 1004h 4100 vendor unique value
171:170 Number of ComIDs 4h 4 1 in 970 EVO Plus
172 0 Range Crossing Behavior 0h 0 This SD supports commands addressing consecutive LBAs in more than one LBA range if all the LBA ranges addressed are unlocked.
7:1 Reserved 0h
174:173 Number of Locking SP Admin Authorities Supported 4h 4 `4' is minimum value
176:175 Number of Locking SP User Authorities Supported 9h 9 minimum value is `8'
177 Initial C_PIN_SID PIN Indicator 0h 0 Initial C_PIN_SID PIN value is equal to the C_PIN_MSID PIN value
178 Behavior of C_PIN_SID PIN upon TPer Revert 0h 0 The C_PIN_SID PIN value becomes the value of the C_PIN_MSID PIN column after successful invocation of Revert on the Admin SP's object in the SP table
183:179 Reserved 0h

Byte [199:184]: Block SID Authentication Descriptor (16 bytes)

All contents in this descriptor are the same as 970 EVO Plus.

Byte Bit Description Data (Hex) Data (Dec) Note
185:184 Feature Code 402h indicates Block SID Authentication Descriptor
186 3:0 Reserved 0h
7:4 Version 1h 1
187 Length Ch 12 Byte [199:188] = 12 Byte
188 0 SID Value State 0h 0 C_PIN_SID object's PIN column value is equal to the C_PIN_MSID object's PIN column value
1 SID Blocked State 1h 1 Authentication of the SID authority is currently blocked due to the Block SID Authentication command
7:2 Reserved 0h
189 0 Hardware Reset 1h 1 Hardware Reset was selected to be able to clear the SID Authentication block
7:1 Reserved 0h
199:190 Reserved 0h

Byte [219:200]: Configurable Namespace Locking Feature Descriptor (20 bytes)

Byte Bit Description Data (Hex) Data (Dec) Note
201:200 Feature Code 403h indicates Configurable Namespace Locking Feature Descriptor
202 3:0 Feature Set Minor Version Numver 2h 2 Configurable Locking for NVMe Namespaces and SCSI LUNs v1.02
7:4 Feature Descriptor Version Number 2h 2
203 Length 10h 16 Byte [219:204] = 16 Byte
204 4:0 Reserved 0h
5 SUM_C 1h 1 The SD supports the AssignToSUMRange parameter in the Assign method to support assigning namespaces to ranges that are activated in Single User Mode.
6 Range_P 0h 0
7 Range_C 1h 1 The SD supports Namespace Non-Global Range Locking objects
207:205 Reserved 0h
211:208 Maximum Key Count 9h 9
215:212 Unused Key Count 8h 8 9 in 970 EVO Plus
219:216 Maximum Ranges Per Namespace 7h 7 8 in 970 EVO Plus

Reference

[1] Samsung, "990 PRO", retrieved on December 26, 2022

[2] Trusted Computing Group, "TCG Storage Architecture Core Specification", Version 2.01, Revision 1.00, August, 2015

[3] Trusted Computing Group, "TCG Storage Security Subsystem Class: Opal", Version 1.00, Revision 3.00, February, 2010

[4] Trusted Computing Group, "TCG Storage Security Subsystem Class: Opal", Version 2.02, Revision 1.0, January, 2022

[5] Trusted Computing Group, "TCG Storage Opal SSC Feature Set: Single User Mode", Version 1.00, Revision 2.00, August, 2015

[6] Trusted Computing Group, "TCG Storage Opal SSC Feature Set: Additional DataStore Tables", Version 1.00, Revision 1.00, February, 2012

[7] Trusted Computing Group, "TCG Storage Feature Set: Block SID Authentication", Version 1.01, Revision 1.00, February, 2021

[8] Trusted Computing Group, "TCG Storage Opal SSC Feature Set: Configurable Namespace Locking", Version 1.00, Revision 1.31, Work in Progress, April, 2018