- fart simpson
- Jul 2, 2005
-
DEATH TO AMERICA
|
this is a multi-dimensional question, op. so let’s look at its individual components.
for a spinning disk:
a fuller drive is likely to be more fragmented. this means non-contiguous reads and writes, which slows spinning disks considerably, since seek times are brutally slow.
a fuller drive also requires the heads to move further to find the data, as it may be on the inner sectors or the outer sectors of the disk. an emptier drive, properly defragged, is going to have all of the data in adjacent sectors to minimize head movement.
for ssds:
ssds are effectively copy on write, which can lead to lots of fragmentation in the physical block layer. when there are fewer empty pages to deal with, garbage collection often resorts to coalescing fragmented pages (I.e., copying the valid blocks to a new page so the current page can be erased). this is a lot of write amplification.
fuller drives, particularly fragmented ones, will have more complex flash translation layer (FTL) mapping tables. these translate logical block addresses to physical ones. finding a block may require reading more levels of entries, and rewriting one adds more maintenance effort to the ftl data structures.
while ssds are far better at scatter-gather IO than spinning disks, it is still suboptimal to linear IO, especially if blocks are interleaved on parallel nands chips (kind of a raid 1 setup)
for filesystems in general:
many file systems scale pretty poorly with many files or lots of files in a single directory. finding the index nodes for a file may require linear searches through long directory entries, meaning they need to be read, often with multiple layers of indirection, just to find the intended file. this is the slowdown we are used to when dealing with many small files.
so, in conclusion, disks suck and are bad. would not recommend.
nerd
|
#
¿
Jun 21, 2023 10:46
|
|
- Adbot
-
ADBOT LOVES YOU
|
|
#
¿
May 13, 2024 22:10
|
|