1 Protocol Insight® Test Executive™ Universal Flash Storage (UFS) UFS Compliance Test - Methods of Implementation UFSA Compliance Test Matrix v1.0 The Protocol Insight Test Executive provides complete protocol debug and analysis of UFS devices, including compliance testing, margin and stress testing, and custom test creation and execution. In this MOI, UFS Test Executive is used to execute the JESD224 Test Standard to verify compliance with the UFSA Compliance Test Matrix v1.0. Test Executive uses the Keysight Technologies U4431A packet generator to execute a range of CTS test cases, and analyzes the captured results. Test Executive: Automatically sets up the analyzer, generator and DUT for each test Allows auto-configuration and reconfiguration of speeds, link widths and LUNs during the testing process Allows users to select and run individual or multiple CTS tests Allows creation of custom test cases to test the thresholds at which marginal or critical warnings appear Provides detailed information for each test that has been run Creates a printable PDF report and CSV export file of the tests that have been run
16
Embed
Universal Flash Storage (UFS) Insight UFS MOI v1.32.pdf · 2019. 2. 26. · Note: Reset signal is only applicable for JESD220B and JESD220C embedded UFS 1. Connect the DUT reset cable
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
Protocol Insight® Test Executive™
Universal Flash Storage (UFS)
UFS Compliance Test - Methods of Implementation
UFSA Compliance Test Matrix v1.0
The Protocol Insight Test Executive provides complete protocol debug and analysis of UFS
devices, including compliance testing, margin and stress testing, and custom test creation and
execution.
In this MOI, UFS Test Executive is used to execute the JESD224 Test Standard to verify
compliance with the UFSA Compliance Test Matrix v1.0. Test Executive uses the Keysight
Technologies U4431A packet generator to execute a range of CTS test cases, and analyzes the
captured results.
Test Executive:
Automatically sets up the analyzer, generator and DUT for each test
Allows auto-configuration and reconfiguration of speeds, link widths and LUNs during the testing process
Allows users to select and run individual or multiple CTS tests
Allows creation of custom test cases to test the thresholds at which marginal or critical warnings appear
Provides detailed information for each test that has been run
Creates a printable PDF report and CSV export file of the tests that have been run
2
Contents Required Test Instrumentation ..................................................................................................................... 3
System Setup and Operation ........................................................................................................................ 3
Group and Summarize test results ......................................................................................................... 10
Sort and Filter test results ....................................................................................................................... 11
Note: not all PC have BIOSs can handle the enumeration of the Keysight AXIe chassis. If an off-the-shelf PC is used, Keysight has a list of laptops and PCs that are known to be compatible with the AXIe chassis at http://literature.cdn.keysight.com/litweb/pdf/5990-7632EN.pdf?id=2023354
2. Required Software and Firmware
Windows 7 64 bit operating system with minimum 12GB RAM
Protocol Insight UFS20COMP UFS Test Executive version 1.0 or later
Keysight technologies U4431A application software version 6.1 or later
Keysight Technologies U4431A option 613 Command Line Packet Generator (CLPG). Go to http://www.protocolinsight.com/sw-compatibility/ for information on compatible SW/FW versions. Contact your local Keysight FE or AE to obtain the latest compatible SW and FW.
For information on how to install and configure Keysight AXIe based Logic Analysis and
Protocol Test contact your local FE or AE, or refer to this installation guide:
3. Configure Device and LUN parameters by entering in all the parameters for your device and save
the configuration. See APPENDIX C: HOW TO FIND DEVICE CONFIGURATION VALUES for tips on how
to poll your device for this information if it is not already known.
4. Press the “Online” button to boot the device thru UniPro and UFS.
Step 3: Configure and Run Tests in the Test Matrix 1. Open Test Matrix tab (see FIGURE 3: TEST MATRIX).
2. Select which LUNs, Speeds, and Link Widths to test
3. Under Miscellaneous in Device Configuration in the Device tab make the following selections:
bConfigDescrLock=0 = selected
bOutOfOrderDataEn has been written = not selected
bRefClkFreq has been written = not selected
bConfigDescrLock has been written = not selected
Enable Write Once Attribute Test Cases = selected
4. Select and Run the following test cases in any order
7.8.4 (requires fPermanentWPEn = 0x00, will write to 1)
8.4.14 (requires bConfigDescr = 0)
8.6.25 (requires bOutOfOrderDataEn = 0)
8.6.36 ((requires bRefClkFreq = 0) (only PWM)
8.6.38 (requires bConfigDescr = 0)
5. Generate a Report and save results – See GENERATING A UFSA
COMPLIANCE REPORT.
6. Select and Run the following test cases in any order, these will write
the above parameters
8.6.24 (writes bOutOfOrderDataEn)
8.6.35 (writes bRefClkFreq = 2) (only PWM)(Not a valid value for cards)
8.6.37 (writes bConfigDescr)
7. Generate a Report and save results – See GENERATING A UFSA COMPLIANCE REPORT.
8. Under Miscellaneous in Device Configuration in the Device tab make the following selections:
bConfigDescrLock=0 = not selected
bOutOfOrderDataEn has been written = selected
bRefClkFreq has been written = selected
bConfigDescrLock has been written = selected
Enable Write Once Attribute Test Cases = not selected
9. Select and Run all test cases defined in the CTM
(deselect the 8 tests listed above so they won’t be run a second time)
10. Generate a Report and save results – See GENERATING A UFSA
COMPLIANCE REPORT.
Step 4: Configure Stress Testing in Test Matrix (optional) 1. Test Run Order controls the order in which tests are executed.
a. Loop Order: loop order specifies the nested order of test
execution. Tests will be run from the bottom up, with all tests in
each loop executed before the next higher loop is begun. So if
Figure 3: Test Matrix
6
the Loop Order is Speeds, Link Widths, LUNs, Tests then all Tests will be completed for a
LUN before being executed for the next LUN, etc. The loop order can be adjusted by
dragging categories up or down in the Loop Order box.
b. Ascending, Descending, Random Seed: this specifies which order the tests are executed
within the Loop. If Random Seed is selected a value can be entered to generate a
random but reproducible test order based on the seed value.
2. To test all permutations of all tests, from the main menu select TestSelect All Tests to run all
valid test configurations.
Step 5: Configure Run Control in Test Matrix (optional) Test Run Control specifies the number of iterations of the Test Matrix to run, dictated by Test Run
Order. Test execution will stop after the specified Number of Loops (outer loops on Test Run Control),
Failures or Warnings have occurred. Note that the Failure and Warning counters count test case
warnings and failures, not packet inspection rule warnings or failures.
The user can specify the number of Test Matrix loops to run OR
the number of Failures OR Warnings to allow before terminating
the test run. When Number of Failures and Number of Warnings
fields are blank or 0, tests are run for the given number of loops.
If values are provided for all three conditions, then tests are run
until any ONE of the three conditions is met.
All test results are stored in application memory, with a limit of
1,000,000 unique test case configurations allowed for each test
run. A test case configuration is a defined as 1 Test Case x 1 Speed x 1 LUN x 1 Link Width, so 1 Test x 2
Speeds x 1 LUN x 1 Link Width counts as two test case configurations for the purposes of calculating the
maximum number of loops. Thus, if a total of 2 test case configurations are selected in the Test Matrix,
then the maximum number of loops allowed are (1,000,000/2) or 500,000 loops. And if 2000 test case
configurations are selected, then the maximum number of loops allowed are (1,000,000/2000) or 500
loops.
The number of loops that can be run is calculated, based on the Test Matrix selections, and shown in the
tool tip for the Number of Loops variable input field. This value is automatically adjusted when any of
the LUNS, Link Widths, Speed or Tests are Selected/Deselected.
Figure 4: Test Run Control
7
Interpreting Packet Inspection Results The Rule Checker engine performs deep packet inspection with
four possible status results for each rule check:
Failure
Any response packet that does not meet a rule specified in
JESD224
Warning
Any response packet that does not conform to a “shall”
specified in JESD220
Pass
Any response packet that conforms to both JESD220 and
JESD224
Info
For those packets not inspected, the reason no evaluation
was done
The results of the deep packet inspection are listed in the Test Results pane and can be grouped,
summed, sorted and filtered by various test parameters or packet characteristics. See GROUP AND
SUMMARIZE test results and SORT AND FILTER test results for more information.
8
Generating a UFSA Compliance Report To create a UFSA Compliance Report the Test Results pane is modified to reflect the required
information and then a PDF report is created from that view.
To create the UFSA Compliance Report view in the Test Results pane:
1. If necessary, drag columns to order them by Category, Test, LUN, Link Width and Speed
2. Right click in the column header and select only Category, Test, LUN, Link Width and Speed as
below:
3. Group the results by Test by clicking on the Test column header and dragging it into the Test
Results field. See GROUP AND SUMMARIZE test results for more information.
4. Sort results in ascending order by the Test column. See SORT AND FILTER test results for more
information.
5. From the Results menu select ResultsExpand All to display all test results.
6. Double click on the column dividers to expand column widths to show all description
information.
To generate the UFSA Compliance PDF report:
1. From the Reports menu select ReportsTest ResultsPrint Preview…
2. Select a PDF printer.
3. Set Page Orientation to Landscape.
4. Print the results to a file.
9
The resulting UFSA Compliance report should look like this before printing:
10
Supplemental Analysis The Test Results pane allows extensive quantitative analysis of results data. Results can be grouped and
summarized, sorted, and filtered by any header column:
By test parameters
1. Status
2. Category
3. Test#
4. Loop#
5. Test Order
6. Packet Inspection Rule
By packet characteristics
1. Failure Value
2. Packet
3. Byte position
4. Configured LUN
5. Link Speed
6. Link width
Group and Summarize test results To group and summarize, click on any column header and drag into the Test Results field. This will
summarize the results with an item count of occurrences. Multiple column headers can be dragged into
the Test Results field (1) to create tiered groupings for analysis:
Appendix B: Configuring the Keysight Technologies U4431A GUI 1. In U4431A software select the “Data Gen + Analyzer” link mode on the Connection Setup tab. 2. Choose “Both Sublinks” on the Connection Setup tab so both the TX and RX data is captured. 3. Choose the correct Sublink Width for your Device.
4. On the Analyzer Setup tab choose the correct rate series for your Device.
o All values for this can be found by looking at the response of test case ModeSense_06
LUN Configuration pane: o Some values for this can be found by looking at the response of test case
ReadDescriptor_03 o Select all configured LUNs in the Test Matrix
Set the correct values for the following: bProvisioning set to 0x2 or 0x3 MaxContextID=0 can be found from wContextCapabilities, bits [3:0] is
MaxContextID Run test case ReadCapacity_10 and set the MAX addressable LBA, qLogicalBlockCount and
bLogicalBlockSize in the LUN Configuration pane Min Page code should be fine at 0x02 (Vendor Specific) IMMD (Vendor Specific) “Mode Page PS Values” and “Mode Saveable”
o All values for this can be found by looking at the response of test case ModeSense_02,06,10
Read-Write Recovery Mode Page are vendor specific, default to unselected