Block Reclamation: Difference between revisions
No edit summary |
No edit summary |
||
| Line 112: | Line 112: | ||
<h2>Contents <a href="javascript:void(0);" class="hide-link" onclick="toggleTOC()">[hide]</a></h2> | <h2>Contents <a href="javascript:void(0);" class="hide-link" onclick="toggleTOC()">[hide]</a></h2> | ||
<ul> | <ul> | ||
<li><a href="#section1"> Background information</a></li> | |||
<li><a href="#section1"> | |||
<li><a href="#section3"> Flow chart of order of operations</a></li> | <li><a href="#section3"> Flow chart of order of operations</a></li> | ||
<li><a href="#section5"> Related Topics</a></li> | <li><a href="#section5"> Related Topics</a></li> | ||
<li><a href="#section6"> Further reading</a></li> | <li><a href="#section6"> Further reading</a></li> | ||
| Line 127: | Line 119: | ||
</div> | </div> | ||
<!-- background information --> | <!-- background information --> | ||
<h1> Background information </h1> | <h1 id="section1"> Background information </h1> | ||
<p> Block Reclamation is part of Garbage collection but is complex enough to warrant its own page</br> | <p> Block Reclamation is part of Garbage collection but is complex enough to warrant its own page</br> | ||
It is responsible for making sure that there is enough storage space to avoid write operation failures</br> | It is responsible for making sure that there is enough storage space to avoid write operation failures</br> | ||
| Line 142: | Line 134: | ||
</ul> | </ul> | ||
</p> | </p> | ||
<h1 id="section3">Flow chart of order of operations</h1> | <h1 id="section3">Flow chart of order of operations</h1> | ||
<p>Insert a flow chart of steps and actions for each task (create using diagram)</p> | <p>Insert a flow chart of steps and actions for each task (create using diagram)</p> | ||
<h1 id="section5">Related Topics</h1> | <h1 id="section5">Related Topics</h1> | ||
Revision as of 16:04, 15 January 2025
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 wrriten 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 a amount of invaild data that reach the threshold or have the lowst P/E count are Identified
- 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
- 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
- Reference 1: Source details
- Reference 2: Source details