Configuration Files
Warning
Under construction
This page is not finished yet.
In this page, we will explain each options in configuration files.
SimpleSSD
In this section, we will explain each options in SimpleSSD configuration file. You can download validated configuration files in SSD Configuration Files. Also, you can find sample configuration file which contains all possible options in following paths:
SimpleSSD-FullSystem:
src/dev/storage/simplessd/config/sample.cfg
SimpleSSD-Standalone:
simplessd/config/sample.cfg
Host Interface Specific Options
NVMe Specific
Configuration header: [nvme]
Following options are related to PCI Express and FIFO queue between system bus and PCIe PHY. The FIFO queue and PCIe model are based on Xilinx PCIe IP. The size of queue is fixed as 8KB.
- PCIEGeneration=<int>
Set generation of PCI Express.
Possible values:
0: PCI Express 1.x (2.5GT/s/lane)1: PCI Express 2.x (5GT/s/lane)2: PCI Express 3.x (8GT/s/lane)
- PCIELane=<int>
Set total number of lanes in PCI Express. Recommanded values:
1
,2
,4
,8
,16
, and32
.
- AXIBusWidth=<int>
Set bus width of AXI4 bus.
Possible values:
0: 32Bit1: 64Bit2: 128Bit3: 256Bit4: 512Bit5: 1024Bit
- AXIClock=<int>
Set clock of AXI4 bus in Hz.
- FIFOTransferUnit=<int>
Default transfer unit of FIFO queue in bytes.
Following options are related to NVMe specification.
- MaxIOCQueue=<int>
Maximum number of I/O Completion Queues.
- MaxIOSQueue=<int>
Maximum number of I/O Submission Queues.
- WRRHigh=<int>
Set parameter of weighted-round-robin.
Medium-priority command will inserted after specified number of high-priority commands inserted.
- WRRMedium=<int>
Set parameter of weighted-round-robin.
Low-priority command will inserted after specified number of medium-priority commands inserted.
- DefaultNamespace=<bool>
If true, create a default and full-sized namespace. If false, no namespace will be created by default. You need to create namespace using
nvme create-ns
before any I/O.
SATA Specific
Configuration header: [sata]
UFS Specific
Configuration header: [ufs]
Common Options
Following options are related to request handling.
- WorkInterval=<int>
Interval of request handling. Controller will check arrival of new request periodically in specified interval.
- MaxRequestCount=<int>
Maximum number of requests can be handled in one work interval. Controller will try to handle specified number of requests in one period.
- LBASize=<int>
Set logical block size. This should be one of
512
,1024
,2048
and4096
.
Following options are related to disk image.
- EnableDiskImage=<bool>
Enable disk image. You can access disk image file through block device created by SimpleSSD in guest OS if enabled.
- StrictSizeCheck=<bool>
If true, the size of disk image should be same with the size of SimpleSSD block device.
- DiskImageFile=<string>
Path to disk image. Relative to working directory, not
$M5_PATH
. If file does not exists, zero-filled file will be created.
- UseCopyOnWriteDisk=<bool>
If true, write to the block device will not applied to disk image. (disk image is read-only, modifications are stored in memory)