Closed yunchih closed 4 years ago
Hi,
That is the bug of TraceReplayer
and I found that the bug is already fixed in our internal version (v2.1).
I will backport the patch to public version (v2.0).
Thank you for the report.
Hi,
Please check the latest version.
0: info: SIL::None::Driver: Total SSD capacity: 51539607552 bytes
0: info: SIL::None::Driver: Logical Page Size: 65536 bytes
1492500: HIL: WRITE | REQ 1 | LCA 0 + 1 | BYTE 0 + 24576
1492500: ICL::GenericCache: WRITE | REQ 1-1 | LCA 0 | SIZE 24576
1492500: FTL: WRITE | LPN 0
1492500: PAL::PALOLD: WRITE | Block 0 | Page 0
1492500: PAL::PALOLD: WRITE | C 0 | W 0 | D 0 | P 0 | B 0 | P 0
1492500: FTL::PageMapping: WRITE | LPN 0 | 1492500 - 544760760 (543268260)
1492500: ICL: WRITE | LCA 0 + 1 | 1492500 - 549258260 (547765760)
200492500: HIL: WRITE | REQ 2 | LCA 0 + 1 | BYTE 40960 + 4096
200492500: ICL::GenericCache: WRITE | REQ 2-1 | LCA 0 | SIZE 4096
200492500: FTL: WRITE | LPN 0
200492500: PAL::PALOLD: WRITE | Block 1 | Page 0
200492500: PAL::PALOLD: WRITE | C 1 | W 0 | D 0 | P 0 | B 0 | P 0
200492500: FTL::PageMapping: WRITE | LPN 0 | 200492500 - 743760760 (543268260)
200492500: ICL: WRITE | LCA 0 + 1 | 200492500 - 744758260 (544265760)
15000492500: HIL: READ | REQ 3 | LCA 0 + 1 | BYTE 40960 + 4096
15000492500: ICL::GenericCache: READ | REQ 3-1 | LCA 0 | SIZE 4096
15000492500: FTL: READ | LPN 0
15000492500: PAL::PALOLD: READ | Block 1 | Page 0
15000492500: PAL::PALOLD: READ | C 1 | W 0 | D 0 | P 0 | B 0 | P 0
15000492500: FTL::PageMapping: READ | LPN 0 | 15001192500 - 15081975877 (80783377)
15000492500: ICL: READ | LCA 0 + 1 | 15000492500 - 15082273377 (81780877)
15082625877: CPU: Begin CPU power calculation
Thanks.
Thanks for the fix!
Execution information
Explain what you want to ask here:
Here's a simple trace:
Here's the output of SimpleSSD run with the above configurations using the trace:
Note that the read happens at
15000
us, far away from the previous write. But because the current tick of the simulator is displaced by one slot, PAL mistakenly calculate the response time as if it has encountered a resource conflict (blocked by the previous write).There is one
doNextEvent
missing here. The expected output is:Thanks for your help!