On 07.11.2017 03:01, Michael Stone wrote:
> On Tue, Nov 07, 2017 at 02:20:56AM +0500, Alexander V. Makartsev wrote:
>> As I know SSDs are different in a way HDDs write their data. HDDs write
>> directly to the free block and are done. SSDs on the other hand will
>> have to
>> erase free block first to get it ready for writing and then write to
>> it. This
>> is because how NAND work. It's even worse, if a destination block has
>> some data
>> on it already and there is some data needs to be written onto it,
>> then SSD will
>> copy data already written, then it will fully erase destination
>> block, then it
>> will concatenate copied data with data to be written and finally will
>> write
>> merged data to the block.
>
> This is mostly correct. The erasing is done in "erase block" size
> units (much larger than disk blocks), while writing is done in
> "pages", usually with hundreds of pages per erase block. So a 4kbyte
> write might trigger a multi-megabyte erase if there aren't erased
> pages available for writing. If an erase block has been partially
> written, a write can go to an unwritten page without any additional
> steps. In practice, most drive writes go immediately to already-erased
> blocks, with the garbage collector erasing blocks while the drive is
> idle (rather than actually reading, erasing, and writing for every
> write). The drive then keeps track of which physical address is
> associated with which logical address--that relationship changes as
> blocks are written and rewritten, and it is not the case that the data
> on the drive is physically ordered the same way it appears logically.
>
>> TRIM will erase blocks marked as deleted beforehand even if they are
>> not needed
>> for writing right now. This overhead is the reason that causes
>> increased drive
>> wear and decrease it's lifespan.
>
> No, TRIM does not cause extra erases that wear out a drive. If you
> don't TRIM blocks and mark them as unused, the garbage collector will
> still erase blocks it doesn't need yet in order to have pages
> available for future writes. (Either after the garbage collector
> decides to launch a read & rewrite cycle to consolidate free space, or
> when all the pages
> in the erase block have been rewritten to a new erase block and the
> old erase block is known to be empty) The only differences introduced
> by using TRIM is that the drive can skip the possible read & rewrite
> step, and the drive can increase the free pool so more new pages can
> be written before a garbage collection is forced. 
I still think there are scenarios where NAND ICs will suffer extra
writes, when TRIM is constantly used.
Also, can you explain what logic is behind this quote from "man 8 fstrim":
    "Running fstrim frequently, or even using mount -o discard, might
negatively
      affect  the  lifetime  of  poor-quality  SSD devices."

I think I will find my answers in this huge article on wikipedia when I
wade through it eventually, should be quite interesting read:
https://en.wikipedia.org/wiki/Write_amplification

-- 
With kindest regards, Alexander.

⢀⣴⠾⠻⢶⣦⠀ 
⣾⠁⢠⠒⠀⣿⡁ Debian - The universal operating system
⢿⡄⠘⠷⠚⠋⠀ https://www.debian.org
⠈⠳⣄⠀⠀⠀⠀ 

Reply via email to