Lines Matching full:eraseblock
19 * header. The rest of the physical eraseblock contains only %0xFF bytes.
30 * If the WL sub-system fails to erase a physical eraseblock, it marks it as
34 * in a physical eraseblock, it has to be moved. Technically this is the same
38 * "free" or "used". Free eraseblock are kept in the @wl->free RB-tree, while
42 * When the WL sub-system returns a physical eraseblock, the physical
43 * eraseblock is protected from being moved for some "time". For this reason,
44 * the physical eraseblock is not directly moved from the @wl->free tree to the
46 * physical eraseblock is temporarily stored (@wl->pq).
52 * o there is a chance that the user will put the physical eraseblock very
59 * head of the queue on each erase operation (for any eraseblock). So the
62 * To put it differently, each physical eraseblock has 2 main states: free and
75 * eraseblock. This is surely not a scalable solution. But it appears to be good
81 * the sequence number of a logical eraseblock characterizes how old is it. For
107 * When a physical eraseblock is moved, the WL sub-system has to pick the target
108 * physical eraseblock to move to. The simplest way would be just to pick the
110 * to an unlimited wear of one or few physical eraseblock. Indeed, imagine a
111 * situation when the picked physical eraseblock is constantly erased after the
113 * counter of the free physical eraseblock to pick. Namely, the WL sub-system
136 * Note, we use (erase counter, physical eraseblock number) pairs as keys in
295 * prot_queue_add - add physical eraseblock to the protection queue.
297 * @e: the physical eraseblock to add
408 * Move the physical eraseblock to the protection queue where it will in wl_get_wle()
419 * prot_queue_del - remove a physical eraseblock from the protection queue.
421 * @pnum: the physical eraseblock to remove
443 * ubi_sync_erase - synchronously erase a physical eraseblock.
445 * @e: the physical eraseblock to erase
446 * @torture: if the physical eraseblock has to be tortured
516 * There may be several protected physical eraseblock to remove, in serve_prot_queue()
586 * @e: the WL entry of the physical eraseblock to erase
588 * @lnum: the last used logical eraseblock number for the PEB
589 * @torture: if the physical eraseblock has to be tortured
626 * @e: the WL entry of the physical eraseblock to erase
628 * @lnum: the last used logical eraseblock number for the PEB
629 * @torture: if the physical eraseblock has to be tortured
655 * This function copies a more worn out physical eraseblock to a less worn out
694 * triggered again when a free physical eraseblock appears.
737 * Now pick the least worn-out used physical eraseblock and a
738 * highly worn-out free physical eraseblock. If the erase
777 * Now we are going to copy physical eraseblock @e1->pnum to @e2->pnum.
778 * We so far do not know which logical eraseblock our physical
779 * eraseblock (@e1) belongs to. We have to read the volume identifier
1089 * __erase_worker - physical eraseblock erase worker function.
1093 * This function erases a physical eraseblock and perform torture testing if
1094 * needed. It also takes care about marking the physical eraseblock bad if
1163 * this physical eraseblock for erasure again would cause
1171 ubi_err(ubi, "bad physical eraseblock %d detected", pnum);
1251 * @lnum: the last used logical eraseblock number for the PEB
1252 * @pnum: physical eraseblock to return
1253 * @torture: if this physical eraseblock has to be tortured
1255 * This function is called to return physical eraseblock @pnum to the pool of
1289 * User is putting the physical eraseblock which was selected to
1302 * User is putting the physical eraseblock which was selected
1355 * ubi_wl_scrub_peb - schedule a physical eraseblock for scrubbing.
1357 * @pnum: the physical eraseblock to schedule
1359 * If a bit-flip in a physical eraseblock is detected, this physical eraseblock
1360 * needs scrubbing. This function schedules a physical eraseblock for
1381 * This physical eraseblock was used to move data to. The data
1421 * @lnum: the logical eraseblock number to flush for
1424 * logical eraseblock number pair. If either value is set to %UBI_ALL, then it
1426 * eraseblock numbers. It returns zero in case of success and a negative error
1495 * ubi_bitflip_check - Check an eraseblock for bitflips and scrub it if needed.
1497 * @pnum: the physical eraseblock to schedule
1500 * This function reads the given eraseblock and checks if bitflips occured.
1501 * In case of bitflips, the eraseblock is scheduled for scrubbing.
1502 * If scrubbing is forced with @force, the eraseblock is not read,
1994 * @pnum: the physical eraseblock number to check
1997 * This function returns zero if the erase counter of physical eraseblock @pnum
2096 * produce_free_peb - produce a free physical eraseblock.
2123 * ubi_wl_get_peb - get a physical eraseblock.
2126 * This function returns a physical eraseblock in case of success and a