OCP_DatacenterSSD_2_0_UserInput
OCP_DCSSD_2_0_FormFactor_E1L_1CConnector.py
- This script will run the following tests:
Verify PCI Express Link Capabilities register (0Ch) lane width supports at least x4
Have the user verify the device only has a 1C connector
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1L-12
OCP_DCSSD_2_0_FormFactor_E1L_AmberLED.py
- This script will run the following tests:
Drive LED/activity pin high and have the user check that the LED is on
Drive LED/activity pin low and have the user check that the LED is off
Disconnect LED/activity pin by putting it in high impedance state and have the user check that the LED is off
Drive LED/activity pin high and have the user check that the LED is on
Assert PWRDIS, wait for device to shutdown, and have the user check that the LED is on
De-assert PWRDIS, wait for device to come up, and have the user check that the LED is on
Disable 12V supply and have the user check that the LED is on
Disable 3.3V supply and have the user check that the LED is on
Enable 12V and 3.3V supplies and have the user check that the LED is on
Drive LED/activity pin low and have the user check that the LED is off
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1L-7
- wait_assert(dut)
Wait for PWRDIS signal to be asserted
- Parameters:
dut (XML_API) – Device object under test
- Return type:
None
- wait_deassert(dut)
Wait for PWRDIS signal to be de-asserted
- Parameters:
dut (XML_API) – Device object under test
- Return type:
None
OCP_DCSSD_2_0_FormFactor_E1L_GreenLED.py
- This script will run the following tests:
Have the user check drive green activity LED is lit solidly
Start write I/O and have the user check drive green activity LED is flashing while I/O is running
Start read I/O and have the user check drive green activity LED is flashing while I/O is running
Power off drive and have the user check drive green activity LED is off
Power on drive and have the user check drive green activity LED is lit solidly
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1L-3/4
OCP_DCSSD_2_0_FormFactor_E1L_HotSwap.py
- This script will run the following tests:
Run sequential read and write I/O test for 5 minutes
Verify performance is within 5% of performance numbers supplied in adaptation parameters
Run sequential write I/O test
Have the user unplug and plugin the drive
Do a sequential read and verify there’s no miscompare
Stop sequential write I/O test
Run sequential read and write I/O test for 5 minutes
Verify performance is within 5% of performance numbers supplied in adaptation parameters
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
GFF-5
OCP_DCSSD_2_0_FormFactor_E1S_1CConnector.py
- This script will run the following tests:
Verify PCI Express Link Capabilities register (0Ch) lane width supports at least x4
Have the user verify the device only has a 1C connector
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1S-12
OCP_DCSSD_2_0_FormFactor_E1S_AmberLED.py
- This script will run the following tests:
Drive LED/activity pin high and have the user check that the LED is on
Drive LED/activity pin low and have the user check that the LED is off
Disconnect LED/activity pin by putting it in high impedance state and have the user check that the LED is off
Drive LED/activity pin high and have the user check that the LED is on
Assert PWRDIS, wait for device to shutdown, and have the user check that the LED is on
De-assert PWRDIS, wait for device to come up, and have the user check that the LED is on
Disable 12V supply and have the user check that the LED is on
Disable 3.3V supply and have the user check that the LED is on
Enable 12V and 3.3V supplies and have the user check that the LED is on
Drive LED/activity pin low and have the user check that the LED is off
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1S-7
- wait_assert(dut)
Wait for PWRDIS signal to be asserted
- Parameters:
dut (XML_API) – Device object under test
- Return type:
None
- wait_deassert(dut)
Wait for PWRDIS signal to be de-asserted
- Parameters:
dut (XML_API) – Device object under test
- Return type:
None
OCP_DCSSD_2_0_FormFactor_E1S_GreenLED.py
- This script will run the following tests:
Have the user check drive green activity LED is lit solidly
Start write I/O and have the user check drive green activity LED is flashing while I/O is running
Start read I/O and have the user check drive green activity LED is flashing while I/O is running
Power off drive and have the user check drive green activity LED is off
Power on drive and have the user check drive green activity LED is lit solidly
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFE1S-3/4
OCP_DCSSD_2_0_FormFactor_E1S_HotSwap.py
- This script will run the following tests:
Run sequential read and write I/O test for 5 minutes
Verify performance is within 5% of performance numbers supplied in adaptation parameters
Run sequential write I/O test
Have the user unplug and plugin the drive
Do a sequential read and verify there’s no miscompare
Stop sequential write I/O test
Run sequential read and write I/O test for 5 minutes
Verify performance is within 5% of performance numbers supplied in adaptation parameters
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
GFF-5
OCP_DCSSD_2_0_FormFactor_M2_LED.py
- This script will run the following tests:
Have the user check drive activity LED is lit solidly
Start write I/O and have the user check drive activity LED is flashing while I/O is running
Start read I/O and have the user check drive activity LED is flashing while I/O is running
Power off drive and have the user check drive activity LED is off
Power on drive and have the user check drive activity LED is lit solidly
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFM2-6/7
OCP_DCSSD_2_0_FormFactor_M2_ManualInspection.py
- This script will run the following tests:
Have the user check drive dimensions
Have the user check drive uses M key
Have the user check drive label placement
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FFM2-1/2/3/4/11
OCP_DCSSD_2_0_FormFactor_U2U3_LED.py
- This script will run the following tests:
Have the user check drive activity LED is off
Start write I/O and have the user check drive activity LED is flashing while I/O is running
Start read I/O and have the user check drive activity LED is flashing while I/O is running
Power off drive and have the user check drive activity LED is off
Power on drive and have the user check drive activity LED is off
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
FF8639-3/4
OCP_DCSSD_2_0_Labeling_Barcodes.py
- This script will run the following tests:
Have the user verify barcode-1 scanned value
Have the user verify model number is same between adaptation parameters, label, and barcode-1 scanned value
Have the user verify serial number is same between adaptation parameters, label, and barcode-1 scanned value
If adaptation parameter PSID Type is “unique”, have the user verify PSID is the same between label and barcode-2 scanned value
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
LABL-1/5/11/12/14/21
OCP_DCSSD_2_0_Labeling_IdentifyCommand.py
- This script will run the following tests:
Get various fields from Identify Controller
Have the user verify model number is same between identify controller, adaptation parameters, and label
Have the user verify serial number is same between identify controller, adaptation parameters, and label
Have the user verify firmware version is same between identify controller, adaptation parameters, and label
Have the user verify drive capacity is same between identify controller, adaptation parameters, and label
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
LABL-1/4/11/12
OCP_DCSSD_2_0_Labeling_ManualInspection.py
- This script will run the following tests:
Have the user check drive label placement
Have the user verify various fields are the same between adaptation parameters and label
Have the user verify PSID is either on or not on the label
Have the user verify either one or two barcodes are on the label
Have the user verify vendor logo and storage device text are on the label
Have the user check logos on the label
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
LABL-1/2/4/6/7/10/11/12/13/15/16/17/23
OCP_DCSSD_2_0_Thermal_CompositeTemperature.py
NOTE: Two identical drives are required to run this script – same vendor, same model, same capacity, same firmware version
- This script will run the following tests:
Precondition both drives with 128KiB sequential writes twice, followed by 4KiB random writes twice
Have the user insert DUT1 and power it on
Wait 10 minutes for DUT1 to reach idle steady state
Issue GetLogPage for LID 2h and record composite temperature
Start 100% 128KiB sequential writes and wait for steady state
Every 10 minutes for 2 hours, compute mininum, maximum, and average composite temperature values, and verify mininum and maximum delta is <= 2 degrees C
Stop I/O
Have the user replace DUT1 with DUT2 and power it on
Repeat steps 3-8
Verify delta for idle, mininum, maximum, and average composite temperature values, respectively, between both drives is <= 2 degrees C
Have the user replace DUT2 with DUT1 and power it on
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
TRPT-2/3
OCP_DCSSD_2_0_Thermal_Shutdown.py
- This script will run the following tests:
Precondition the drive twice with 128KiB sequential writes followed by 4KiB random writes
Verify CCTEMP is set to 85 degrees Celsius
Issue two asynchronous event requests
Have the user set the thermal chamber temperature to the maximum operating temperature as indicated in the adaptation data
Start running 128KiB sequential writes
Have the user increase the thermal chamber temperature by 1C/minute until it reaches WCTEMP+1
Verify asynchronous event notification details
Issue GetLogPage for LID 2h and verify the composite temperature is within WCTEMP+2
Issue GetLogPage for LID C0h and verify the throttling status reports the device is in a throttling state
Have the user increase the thermal chamber temperature by 1C/minute until it reaches CCTEMP
If drive hasn’t shutdown: i. Verify asynchronous event notification details ii. Issue GetLogPage for LID 2h and verify the composite temperature equals CCTEMP iii. Have the user increase the thermal chamber temperature by 1C/minute until it reaches the shutdown temperature as indicated in the adaptation data
Stop I/O
Have the user set the thermal chamber temperature to 25 degrees Celsius and allow it to cool down
Power the cycle the device
Verify Identify Controller is successful
Perform sequential reads over the entire capacity of the drive and verify there’s no data corruption
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
THRMS-1, TTHROTTLE-1/4/8
- wait_for_aen(dut, log_file, wait_time)
Verify asynchronous event request completed and has the correct info
- Parameters:
dut (XML_API) – Device object under test
log_file (file) – /var/log/messages output
wait_time (int) – Maximum number of minutes to wait for an AEN
- Returns:
aer_flag – 0 = AER was successful, 1 = AER failed
- Return type:
int
OCP_DCSSD_2_0_Thermal_TemperatureSensors.py
- This script will run the following tests:
Precondition the drive twice with 128KiB sequential writes and 4KiB random writes
Let drive reach idle steady state
Issue GetLogPage for LID 2h and record composite temperature field value
Based on temperature sensor count from adaptation data, verify temperature sensors are > 0
Have the user calculate composite temperature using vendor-specific equation and verify it agrees with composite temperature from LID 2h (15 minutes will be allowed to do this)
Perform 128KiB sequential writes
After workload reaches steady state, repeat steps 3-5
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
TRPT-1/4
- get_user_input_value(question)
Ask user a question and wait for input, and verify it’s an integer or float value
- Parameters:
question (str) – Question to ask the user
- Returns:
input_value – Value entered by the user
- Return type:
int or float
OCP_DCSSD_2_0_Thermal_Throttling.py
- This script will run the following tests:
Issue IdentifyController and verify WCTEMP and CCTEMP values
Issue AERs
Have the user set the oven temperature to 25 degrees Celsius
Issue GetLogPage for LID C0h and check thermal throttling status and count values
Perform 128KB sequential writes
Have the user increase the oven temperature 1 degree Celsius per minute
Issue GetLogPage for LID 2h and get composite temperature
Issue GetLogPage for LID C0h and check thermal throttling status and count values
Repeat steps 7-8 until composite temperature reaches 75 degrees Celsius
Have the user reduce oven temperature to 25 degrees Celsius
Have the user increase oven temperature to 76 degrees Celsius
Record composite temperature and thermal throttling status and count values
Verify device isn’t in a throttled state
Repeat steps 11-12 until composite temperature reaches 76 degrees Celsius
Have the user increase the oven temperature to 77 degrees Celsius
Verify AER completed successfully
Issue GetLogPage for LID 2h and verify critical warning bit 1 is set to 1
Check thermal throttling status and count values
Verify performance is reduced due to thermal throttling being active
Have the user reduce oven temperature to 70 degrees Celsius
Verify AER completed successfully
Issue GetLogPage for LID 2h and verify critical warning bit 1 is cleared to 0
Have the user increase the oven temperature to 79 degrees Celsius
Issue GetLogPage for LID 2h and record composite temperature until it’s >= 77 degrees Celsius
Record warning composite temperature time and wait 5 minutes
Record composite temperature and verify it’s 77-85 degrees Celsius
Verify warning composite temperature time has increased by 5
Have the user reduce oven temperature to 25 degrees Celsius
Stop I/O
NOTE: The user is required to run this script from the CLI as Yes/No questions will need to be answered
Pass/Fail: Script passes if all tests pass
Open Compute Project Datacenter NVMe SSD Spec v2.0 requirements referenced by this script:
TTHROTTLE-2/3/5/6/7/9/10/11, SMART-12
- wait_for_aen(dut, log_file, wait_time)
Verify asynchronous event request completed and has the correct info
- Parameters:
dut (XML_API) – Device object under test
log_file (file) – /var/log/messages output
- Returns:
aer_flag – 0 = AER was successful, 1 = AER failed
- Return type:
int