Scripts and Specs Navigation
OpenNANDLab v2.0.0 completely overhauls how benchmark scripts, analytical evaluations, and device specifications are organized.
The specs/ Directory
The specs/ folder at the root of the project contains declarative firmware templates and device specifications defined in YAML format. These YAML files allow you to construct specialized hardware scenarios without altering the Python codebase.
Available Specifications
advanced_firmware_spec.yaml: Contains deep performance-tuning options including parallel queuing and specific wear-leveling algorithms.firmware_spec_standard_tlc_nand.yaml: Models an industry-standard TLC NAND architecture balancing capacity and durability.firmware_spec_high-density_qlc_nand.yaml: Designed for high-capacity but highly error-prone QLC cell configurations, aggressively utilizing LDPC.firmware_spec_small_mlc_nand.yaml: Represents high-endurance MLC arrays ideal for write-intensive operations.
Generating Custom Specifications
You can use examples/firmware_generation.py or the opennandlab CLI to programmatically generate your own combinations of NAND page sizes, cell types, and block constraints.
The CLI & Analytical Tools (Formerly scripts/)
In older versions of OpenNANDLab (v1.x.x), standalone utility scripts lived in the scripts/ folder. In v2.0.0, this folder has been completely deprecated in favor of a robust, unified command-line application based on the click library.
The functionality previously provided by the standalone scripts has been mapped as follows:
Old Script |
New OpenNANDLab CLI Equivalent |
Use Case |
|---|---|---|
|
|
Stress-testing IOPS and Latency against various workloads. |
|
|
Generating raw statistical distributions of erase counts and bad blocks. |
|
Included in |
Automatically integrated when loading configurations; asserts schema logic. |
You can execute these functions globally after running pip install -e .
opennandlab --help
opennandlab benchmark --config specs/firmware_spec_standard_tlc_nand.yaml
The underlying metrics and collection mechanisms backing these CLI tools have been reorganized securely into src/opennandlab/analytics/.