On 7/25/2011 8:03 AM, Orvar Korvar wrote:
"There is at least a common perception (misperception?) that devices cannot process
TRIM requests while they are 100% busy processing other tasks."
Just to confirm; SSD disks can do TRIM while processing other tasks?
I heard that Illumos is working on TRIM support for ZFS and will release
something soon. Anyone knows more?
SSDs do Garbage Collection when the controller has spare cycles. I'm not
certain if there is a time factor (i.e. is it periodic, or just when
there's time in the controller's queue). So, theoretically, TRIM helps
GC when the drive is at low utilization, but not when the SSD is under
significant load. Under high load, the SSD doesn't have the luxury of
searching the NAND for "unused" blocks, aggregating them, writing them
to a new page, and then erasing the old location. It has to allocate
stuff NOW, so it goes right to the dreaded read-modify-erase-write
cycle. Even under high load, the SSD can "process" the TRIM request
(i.e. it will mark a block as unused), but that's not useful until a GC
is performed (unless you are so lucky as to mark an *entire* page as
unused), so, it doesn't really matter. The GC run is what "fixes" the
NAND allocation, not the TRIM command itself.
I can't speak for the ZFS developers as to TRIM support. I *believe*
this would have to happen both at the device level and the filesystem
level. But, I certainly could be wrong. (IllumOS currently supports TRIM
in the SATA framework - not sure about the SAS framework)
--
Erik Trimble
Java Platform Group Infrastructure
Mailstop: usca22-317
Phone: x67195
Santa Clara, CA
Timezone: US/Pacific (UTC-0800)
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss