Lines Matching full:logical
9 can be backed by up to 256TB of storage, and can present a logical size of
30 maps from logical block addresses to the actual storage location of the
266 The block map contains the logical to physical mapping. It can be thought
267 of as an array with one entry per logical address. Each entry is 5 bytes,
269 the given logical address. The other 4 bits are used to indicate the nature
270 of the mapping. Of the 16 possible states, one represents a logical address
274 slots in the compressed block contains the data for this logical address.
280 There are 60 radix trees which are assigned to "logical zones" in round
281 robin fashion. (If there are L logical zones, tree n will belong to zone n
282 mod L.) At each level, the trees are interleaved, so logical addresses
283 0-811 belong to tree 0, logical addresses 812-1623 belong to tree 1, and so
286 for a large number of possible logical zone counts. The storage for the 60
289 need to pre-allocate space for the entire set of logical mappings and also
290 makes growing the logical size of a vdo relatively easy.
293 the entire leaf level of the trees in memory, so each logical zone
304 remapping, the journal records the logical address affected and its old and
317 reconstruct the logical to physical mappings after an unexpected
346 2. The data_vio places a claim (the "logical lock") on the logical address
348 same logical address, because deduplication involves sharing blocks.
350 the logical address and the value is a pointer to the data_vio
354 already operating on that logical address, it waits until the previous
357 for a logical lock will flush the previous lock holder out of the
362 appropriate logical zone to prevent concurrent modifications of the
368 the leaf page for its logical address. If any interior tree page is
375 lock, like the logical block lock in step 2, is a hashtable entry
379 The implicit logical zone lock is released while the allocation is
380 happening, in order to allow other operations in the same logical
386 (step 11), and reacquires the implicit logical zone lock to add the
396 logical zone lock.
412 added to a hashtable like the logical block locks in step 2. This
435 tracked in a hashtable similar to the way logical block locks are
504 the same logical block address. A data_vio may also be evicted from
533 9. The data_vio determines the previous mapping of the logical address.
539 finds the current physical address for this logical address (the "old
541 on the block map cache structures, covered by the implicit logical zone
545 logical block address, the old physical mapping, and the new physical
564 acquires the implicit logical zone lock and updates the
565 logical-to-physical mapping in the block map to point to the new
576 The data_vio then acquires the implicit logical zone lock and releases
577 the logical block lock acquired in step 2.
585 1 and 2 in the write path to obtain a data_vio and lock its logical
586 address. If there is already a write data_vio in progress for that logical
589 logical-to-physical mapping by traversing the block map tree as in step 3,
593 yet, the logical block map address must still be unmapped and the read
595 acknowledgment as in step 13, although it only needs to release the logical