MQSim is a fast and accurate simulator modeling the performance of modern multi-queue (MQ) SSDs as well as traditional SATA based SSDs. MQSim faithfully models new high-bandwidth protocol implementations, steady-state SSD conditions, and the full end-to-end latency of requests in modern SSDs. It is described in detail in the FAST 2018 paper by Arash Tavakkol et al., "MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices" (https://people.inf.ethz.ch/omutlu/pub/MQSim-SSD-simulation-framework_fast18.pdf)
The handle_transaction_serviced_signal_from_PHY() in
GC_and_WL_Unit_Base.cpp works on hanging GC request of a Block after
USERIO, MAPPING or CACHE transactions are processed on the block.
However, the function does not add the Stats::Total_gc_executions
counter before submitting erasure command to TSU. This patch fixes
the bug by adding the counter before preparing the ER transaction.
The handle_transaction_serviced_signal_from_PHY() in GC_and_WL_Unit_Base.cpp works on hanging GC request of a Block after USERIO, MAPPING or CACHE transactions are processed on the block. However, the function does not add the Stats::Total_gc_executions counter before submitting erasure command to TSU. This patch fixes the bug by adding the counter before preparing the ER transaction.