-       if (IsDataRead == DATA_READ)
-         VirtualFAT_ReadBlocks(BlockAddress, TotalBlocks);
-       else
-         VirtualFAT_WriteBlocks(BlockAddress, TotalBlocks);
+       for (uint16_t i = 0; i < TotalBlocks; i++)
+       {
+               if (IsDataRead == DATA_READ)
+                 VirtualFAT_ReadBlock(BlockAddress + i);
+               else
+                 VirtualFAT_WriteBlock(BlockAddress + i);
+       }