NVMe_Resets
FLR_io_randRead_4k256.py
Create 1 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 PCIe Functional resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 256
Start 100% Random 50% read profile with transfer size=4K
With background IO, trigger a PCIe Functional Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
FLR_io_seqRead_256k1.py
Create 1 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 PCIe Functional resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 2
Start 100% Sequential 100% read profile with transfer size=256K and QD=2
With background IO, trigger a PCIe Functional Reset every 5s
Note
If any of the operations are not supported, the test will be skipped.
Pass/Fail: Test will pass if all tests pass
FLR_io_seqRead_4k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 PCIe Functional resets.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=4K and QD=256
With background IO, trigger a PCIe Functional Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
NSSR_io_randRead50_8QD256.py
Create a 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe Subsystem Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 256
Start 100% Random 50% read profile with transfer size=8K and QD=256
With background IO, trigger an NVMe Subsystem Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
NSSR_io_seqRead_05k1.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 NVMe Subsystem Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 2
Start 100% Sequential 100% read profile with transfer size=0.5K and QD=2
Issue NSSR and wait for controller ready
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
NSSR_io_seqRead_3m256_pwrCycle.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe Subsystem Resets. Normal Shutdown. Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 256
Start 100% Sequential 100% read profile with transfer size=3M and QD=256
With background IO, trigger an NVMe Subsystem Reset every 7sec.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
NSSR_io_seqRead_645k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe Subsystem Resets.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=64.5K and QD=256
With background IO, trigger an NVMe Subsystem Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
NVMe_Controller_Reset.sh
Objective:
Run an IO test, issue desired reset during the test, verify IO is still running
Pass/Fail:
Depends on the result of the IO test
NVMe_Function_Level_Reset.sh
Objective:
Run an IO test, issue desired reset during the test, verify IO is still running
Pass/Fail:
Depends on the result of the IO test
NVMe_PCIe_Conventional_Reset.sh
Objective:
Run an IO test, issue desired reset during the test, verify IO is still running
Pass/Fail:
Depends on the result of the IO test
NVMe_Subsystem_Reset.sh
Objective:
Run an IO test, issue desired reset during the test, verify IO is still running
Pass/Fail:
Depends on the result of the IO test
PCIreset_io_randRead50_645k256.py
Create 1 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 PCIe Hot Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 256
Start 100% Random 50% read profile with transfer size=64.5K and QD=256
With background IO, trigger a PCIe Hot Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
PCIreset_io_seqRead50_645k1_pwrCycle.py
Create 6 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 PCIe Hot Resets. Normal Shutdown. Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 2
Start 100% Sequential 50% read profile with transfer size=64.5K and QD=1
With background IO, trigger a PCIe hot reset every 13sec.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
PCIreset_io_seqRead_05k1_pwrCycle.py
Create 6 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 PCIe Hot Resets. Normal Shutdown. Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 2
Start 100% Sequential 100% read profile with transfer size=0.5K and QD=1
With background IO, trigger a PCIe hot reset for every 13sec.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
PCIreset_io_seqRead_05k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 PCIe Hot Resets.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=0.5K and QD=256
With background IO, trigger a PCIe Hot Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
PCIreset_io_seqRead_645k1.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 PCIe Hot Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 2
Start 100% Sequential 100% read profile with transfer size=64.5K and QD=2
With background IO, trigger a PCIe Hot Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_05k256_seqReadDlc_pwrCycle.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Run a 5 minute dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 256
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic for duration of 5min
-IO profile is 100% sequential 100% Read with QD=256 and transfer size=0.5K
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_2097k1_seqReadDlc_lba10gb_pwrCycle.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Run a 5 minute dealocate test with extra traffic. Perform a normal shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create a 1:1 IO Queue Pair and Set Queue Depth to 2
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic and Read/Write/Trim Ratios set to 100% Trim for duration of 5min.
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_256k1_randReadDlc_lba10gb_pwrCycle.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Run a 5 minute dealocate test with extra traffic. Perform a normal shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create a 1:1 IO Queue Pair and Set Queue Depth to 2
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic and Read/Write/Trim Ratios set to 100% Trim for duration of 5min.
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_256k1_seqRead50Dlc_pwrCycle.py
Create 6 1:1 IO Queue Pairs and set Queue depth to 2. Run a 5 minute dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 2
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic for duration of 5min.
IO profile is 100% sequential 50% Read with QD=1 and transfer size=256K
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_3m1_seqReadDlc_pwrCycle.py
Create 6 1:1 IO Queue Pair and set Queue depth to 2. Run a 5 minute dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 2
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic for duration of 5 min.
IO profile is 100% sequential 100% Read with QD=1 and transfer size=3M
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
admin_io_8k256_seqReadDlc_lba10gb_pwrCycle.py
Create 1 1:1 IO Queue Pair and set Queue depth to 256. Run a 5 minute dealocate test with extra traffic. Perform a normal shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create a 1:1 IO Queue Pair and Set Queue Depth to 256
Start an IO profile ‘R0W0D1’ with 90% IO and 10% extra traffic for a duration of 5 minutes
Issue Admin commands as extra traffic:
AER, Identify controller,
Identify namespace,
Get log page,
Get features
NVMe commands such as Flush and compare.
Wait for 5 minute Deallocation to Complete.
Perform Normal Shutdown (set Shutdown Notification (CC.SHN) field to 01b to indicate normal shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
ctrlReset_io_randRead50_05k256.py
Create 1 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe controller resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=8K and QD=256
With background IO, trigger an NVMe Controller Reset every 5s
Note
If any of the operations are not supported, the test will be skipped.
Pass/Fail : Test will pass if all tests pass
ctrlReset_io_seqRead_4k1.py
Create 1 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 NVMe controller resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 2
Start 100% Sequential 100% read profile with transfer size=8K and QD=256
With background IO, trigger an NVMe Controller Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
ctrlReset_io_seqRead_8k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe controller resets.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=8K and QD=256
With background IO, trigger an NVMe Controller Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
io_randDlc_05k1_lba10gb_pwrCycle.py
Create 12 1:1 IO Queue Pair and set Queue depth to 2. Run a 10GB dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 12 1:1 IO Queue Pairs and Set Queue Depth to 2
Start 100% Random 100% deallocate profile with transfer size=0.5K and QD=1 for LBA range=10GB
Wait for 10GB Deallocation to Complete
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
io_seqDlc_2097k1_lba10gb_pwrCycle.py
Create 12 1:1 IO Queue Pair and set Queue depth to 2. Run a 10GB dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 12 1:1 IO Queue Pairs and Set Queue Depth to 2
Start 100% Sequential 100% deallocate profile with transfer size=2097K and QD=1 for LBA range=10GB
Wait for 10GB Deallocation to Complete
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
io_seqDlc_4k256_lba10gb_pwrCycle.py
Create 12 1:1 IO Queue Pair and set Queue depth to 256. Run a 10GB dealocate test with extra traffic. Perform an abrupt shutdown then a Hot Plug Cycle.
Create a namespace if none exists (drive capacity)
Create 12 1:1 IO Queue Pairs and Set Queue Depth to 256
Start 100% Sequential 100% deallocate profile with transfer size=4K and QD=256 for LBA range=10GB
Wait for 10GB Deallocation to Complete
Perform Abrupt Shutdown (set Shutdown Notification (CC.SHN) field to 10b to indicate an abrupt shutdown operation)
Wait for Shutdown Complete (verify if Shutdown Status (CSTS.SHST) field is been set to 10b)
Hot Plug Cycle Device and Wait For Controller Ready
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_ctrlReset_io_randDlc_3m1_lba10gb.py
Create a 12:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform NVMe controller resets every 11 seconds and hot plug cycles every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 12:1 IO Queue Pair and Set Queue Depth to 2
Start 100% Random 100% deallocate profile with transfer size=3M and QD=1 for LBA range=10GB
With background IO, trigger an NVMe Controller Reset every 11 sec.
Hot plug cycle the drive every 60 seconds.
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_ctrlReset_io_seqDlc_2097k1_lba10gb.py
Create a 12:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform NVMe controller resets every 10 seconds and hot plug cycles every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 12:1 IO Queue Pair and Set Queue Depth to 2
Start 100% Sequential 100% deallocate profile with transfer size=2097K and QD=1 for LBA range=10GB
With background IO, trigger an NVMe Controller Reset every 10 sec.
Hot plug cycle the drive every 60 seconds.
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_ctrlReset_io_seqDlc_4k256_lba10gb.py
Create a 12:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform NVMe controller resets every 11 seconds and hot plug cycles every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 12:1 IO Queue Pair and Set Queue Depth to 256
Start 100% Sequential 100% deallocate profile with transfer size=4K and QD=256 for LBA range=10GB
With background IO, trigger an NVMe Controller Reset every 11 sec.
Hot plug cycle the drive every 60 seconds.
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_io_seqRead50_05k1.py
Create 12 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform a hot plug cycle every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 12 1:1 IO Queue Pairs and Set Queue Depth to 2
Start 100% Sequential 50% read profile with transfer size=0.5K and QD=1
With background IO, hot plug cycle the drive every 60s.
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_io_seqRead_05k1.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Hot plug cycle the device every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO Queue Pair and Set Queue Depth to 2
Start 100% Sequential 100% read profile with transfer size=0.5K and QD=1
With background IO, Hot Plug Cycle Deviceevery 60 seconds
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
pwrCycle_io_seqRead_2097k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform a hot plug cycle every 60 seconds.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO Queue Pairs and Set Queue Depth to 256
Start 100% Sequential 100% read profile with transfer size=2097K and QD=256
With background IO, hot plug cycle the drive every 60s.
- Pass/Fail:
All actions must succeed and IO must pass
Note
If any of the operations are not supported, the test will be skipped.
queueReset_io_randRead50_256k256.py
Create a 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe Queue Level Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 256
Start 100% Random 50% read profile with transfer size=256K and QD=256
With background IO, trigger an NVMe Queue Level Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
queueReset_io_seqRead_256k256.py
Create 6 1:1 IO Queue Pair and set Queue depth to 256. Start I0. Perform 5 NVMe Queue Level Resets.
Create a namespace if none exists (drive capacity)
Create 6 1:1 IO queue pair and set queue depth to 256
Start 100% Sequential 100% read profile with transfer size=256K and QD=256
With background IO, trigger an NVMe Queue Level Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.
queueReset_io_seqRead_8k1.py
Create a 1:1 IO Queue Pair and set Queue depth to 2. Start I0. Perform 5 NVMe Queue Level Resets.
Create a namespace if none exists (drive capacity)
Create 1:1 Single IO queue pair and set queue depth to 2
Start 100% Sequential 100% read profile with transfer size=8K and QD=2
With background IO, trigger an NVMe Queue Level Reset every 5s
- Pass/Fail:
Test will pass if all tests pass
Note
If any of the operations are not supported, the test will be skipped.