Flash_Block_Manager_Base.cpp
Closed this issue · 2 comments
I find a small issue, in Flash_Block_Manager_Base.cpp, the function Get_min_max_erase_difference() and Get_coldest_block_id(), there are two algorithms that find the max/min erase block, here is the code:
/for (unsigned int i = 1; i < block_no_per_plane; i++)
{
if (plane_record->Blocks[i].Erase_count > plane_record->Blocks[i].Erase_count)//here i think should be Block[i]>Block[i-1]
max_erased_block = i;
if (plane_record->Blocks[i].Erase_count < plane_record->Blocks[i].Erase_count)
min_erased_block = i;
}/
/for (unsigned int i = 1; i < block_no_per_plane; i++)
{
if (plane_record->Blocks[i].Erase_count < plane_record->Blocks[i].Erase_count)//get coldest block, here i think should be Block[i]<Block[i+1]
min_erased_block = i;
}/
And i still have a trouble, i run MQSim(Dubeg mode) in my computer(i5-6200U) need at least 4 hours, is too long, so i want to ask how do you test this simulator, if really need several hours.
thanks.
Dear @UtopianFuture,
Do you still face the execution time problem? If yes, please send us:
- your updated MQSim source file(s),
- the SSD configuration file, and
- the work definition file(s),
so that we can investigate the issue.
Thanks,
Arash
The problem with the Get_min_max_erase_difference erase function has been resolved in the latest commit.