Block Reclamation: Difference between revisions

From datarecoverywiki.com
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 124: Line 124:
in order to do this it constantly monitors the free block pool(which lists all the free blocks) if the number</br>
in order to do this it constantly monitors the free block pool(which lists all the free blocks) if the number</br>
falls below a certain thread hold then the Flash translation layer triggers the following steps to avoid issues.</br>  
falls below a certain thread hold then the Flash translation layer triggers the following steps to avoid issues.</br>  
A Block can not be wrriten too unless it has previously been cleared, in order to write to a block the following steps must happen</br>
A Block can not be written too unless it has previously been cleared, in order to write to a block the following steps must happen</br>
<ul>
<ul>
<li>Data needs to be written</li>
<li>Data needs to be written</li>
<li>blocks with a amount of invaild data that reach the threshold or have the lowst P/E count are Identified </li>
<li>blocks with an amount of invalid data that reach the threshold or have the lowest P/E count are Identified </li>
<li>Garbage collection locates a block with enough invalid data to meet its requirement, copies the vaild data to a free block. wipes the block and then marks it as free</li>  
<li>Garbage collection locates a block with enough invalid data to meet its requirement, copies the valid data to a free block. Wipes the block and then marks it as free</li>  
<li>clear block is now moved to the free block pool and its P/E counter updated</li>
<li>clear block is now moved to the free block pool and its P/E counter updated</li>
<li>Block is now ready to be reused</li>
<li>Block is now ready to be reused</li>

Latest revision as of 13:39, 10 March 2025

Data Recovery Resources

Background information

Block Reclamation is part of Garbage collection but is complex enough to warrant its own page
It is responsible for making sure that there is enough storage space to avoid write operation failures
in order to do this it constantly monitors the free block pool(which lists all the free blocks) if the number
falls below a certain thread hold then the Flash translation layer triggers the following steps to avoid issues.
A Block can not be written too unless it has previously been cleared, in order to write to a block the following steps must happen

  • Data needs to be written
  • blocks with an amount of invalid data that reach the threshold or have the lowest P/E count are Identified
  • Garbage collection locates a block with enough invalid data to meet its requirement, copies the valid data to a free block. Wipes the block and then marks it as free
  • clear block is now moved to the free block pool and its P/E counter updated
  • Block is now ready to be reused
  • Depending on the wearing, levelling algorithm, it is notified of the change.

Flow chart of order of operations

Insert a flow chart of steps and actions for each task (create using diagram)

Related Topics

Topics such as desoldering to chip off or firmware dumping for disk PCB repairs

Further reading

External references in wiki references can just be cited through the keyword link

  1. Reference 1: Source details
  2. Reference 2: Source details