Open DanlinJia opened 3 years ago
For example, I have 100 devices on a host, must I specify the device number from 0-99? Could I use a hundred nonconsecutive indexes?
Hi @DanlinJia!
You can ignore the device number field. If you need to make the trace file on your own, you can fill it with some arbitrary integer number. This column (maybe with a similar name) is found in many ASCII storage trace files like the column ASU in the UMASS format specification: http://skulddata.cs.umass.edu/traces/storage/SPC-Traces.pdf.
The simulator accepts it as input but doesn't apply it to the simulations.
Thanks for replying! I recommend modifying your README to state this point clearly. Otherwise, it's misleading for users to simulate multiple devices in a single workload.
By the way, do you know what "sector" in Request_Size_In_Sectors refers to? And what's the difference between it and "page" here? thanks.
@LLLjun
Sector (or LBA) is the basic unit of host system, while page (or LPA) is the basic unit of flash memory (SSD).
Usually a LBA is smaller than a LPA, e.g., a 512B LBA and a 8KB LPA (default setting of MQSim).
Before getting into FTL, it transforms start_LBA and length (how many sectors you request, or Request_Size_In_Sectors
)
into LPA and offset (where a specific LBA locates in this LPA).
For more details, check function segment_user_request()
in class Input_Stream_Manager_NVMe
or Input_Stream_Manager_SATA
.
Hi,
I notice that in a trace_based workload, the columns of input trace file has following names: 1.Request_Arrival_Time 2.Device_Number 3.Starting_Logical_Sector_Address 4.Request_Size_In_Sectors 5.Type_of_Requests[0 for write, 1 for read].
I wonder what Device_Number refers to? Does that mean we can simulate multiple storage devices, and the host may send requests to different devices?