summaryrefslogtreecommitdiffstats
path: root/sys/dev/scd
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2008-10-18 16:17:04 +0000
committermav <mav@FreeBSD.org>2008-10-18 16:17:04 +0000
commit89dcfbd0c6f0311d75bc8a201be5d637230d4811 (patch)
tree5383942abf1ff4badcefd5fb68cef35ad34a25e6 /sys/dev/scd
parent0f9c2cf29a7ff9b5aececcfc618289f34b36d68f (diff)
downloadFreeBSD-src-89dcfbd0c6f0311d75bc8a201be5d637230d4811.zip
FreeBSD-src-89dcfbd0c6f0311d75bc8a201be5d637230d4811.tar.gz
Implement BIO_DELETE command with MMC and SD erase commands.
Erase operation gives card's logic information about unused areas to help it implement wear-leveling with lower overhead comparing to usual writing. Erase is much faster then write and does not depends on data bus speed. Also as result of hitting in-card write logic optimizations I have measured up to 50% performance boost on writing undersized blocks into preerased areas. At the same time there are strict limitations on size and allignment of erase operations. We can erase only blocks aligned to the erase sector size and with size multiple of it. Different cards has different erase sector size which usually varies from 64KB to 4MB. SD cards actually allow to erase smaller blocks, but it is much more expensive as it is implemented via read-erase-write sequence and so not sutable for the BIO_DELETE purposes. Reviewed by: imp@
Diffstat (limited to 'sys/dev/scd')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud