Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

What Device_Number means? #47

Open
DanlinJia opened this issue Oct 23, 2020 · 5 comments
Open

What Device_Number means? #47

DanlinJia opened this issue Oct 23, 2020 · 5 comments

Comments

@DanlinJia
Copy link

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?

@DanlinJia
Copy link
Author

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?

@tavakara
Copy link

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.

@DanlinJia
Copy link
Author

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.

@LLLjun
Copy link

LLLjun commented Oct 30, 2022

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.

@RonShih
Copy link

RonShih commented Feb 7, 2023

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants