From: Frank Steinmetzger <Warp_7@gmx.de>
To: gentoo-user@lists.gentoo.org
Subject: Re: [gentoo-user] Finally got a SSD drive to put my OS on
Date: Tue, 18 Apr 2023 10:03:53 +0200 [thread overview]
Message-ID: <ZD5O6djXqItt65eh@moby> (raw)
In-Reply-To: <CAK2H+ec3j3AiF65O41n-+T6VPd=vo_FpNf0PcUofW99w+PbZKg@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3123 bytes --]
Am Mon, Apr 17, 2023 at 10:45:46AM -0700 schrieb Mark Knecht:
> And I don't know that formatting ext4 or some other FS to 16K
> really helps the write amplification issue but it makes sense to
> me to match the file system blocks to the underlying flash
> block size.
The problem is finding out the write block size. This 7-year-old post says
it’s reached 16 K: https://superuser.com/questions/976257/page-sizes-ssd
So I would say don’t bother. If everything is trimmed, there is no
amplification. And if the disk becomes full and you get WA when writing
itsy-bitsy 4 K files, you probably still won’t notice much difference, as
random 4 K writes are slow anyways and how often do you write thousands of
4 K files outside of portage?
Erase block sizes probably go into the megabytes these days:
https://news.ycombinator.com/item?id=29165202
Some more detailed explanation:
https://spdk.io/doc/ssd_internals.html
“For each erase block, each bit may be written to (i.e. have its bit
flipped from 0 to 1) with bit-granularity once. In order to write to the
erase block a second time, the entire block must be erased (i.e. all bits
in the block are flipped back to 0).”
This sounds like my initial statement was partially wrong – trimming does
cause writing zeroes, because that’s what an erase does. But it still
prevents write amplification (and one extra erase cycle) because
neighbouring blocks don’t need to be read and written back.
> Real speed testing would be required to ensure reading
> 16K blocks doesn't slow him down though.
Here are some numbers and a conclusion gathered from a read test:
https://superuser.com/questions/728858/how-to-determine-ssds-nand-erase-block-size
Unless I positively need the speed for high-performance computing, I’d
rather keep the smaller granularity for more capacity at low file sizes.
A problem is what some call “parts lottery” these days: manufacturers
promise some performance on the data sheet (“up to xxx”), but not with which
parts they want to achieve this (types of flash chips, TLC/QLC, controller,
DRAM and so on). Meaning during the lifetime of a product, its internals may
change and as a consequence those specs are not in the data sheet:
https://unix.stackexchange.com/questions/334804/is-there-a-way-to-find-out-ssd-page-size-on-linux-unix-what-is-physical-block
“There is no standard way for a SSD to report its page size or erase block
size. Few if any manufacturers report them in the datasheets. (Because
they may change during the lifetime of a SKU, for example because of
changing suppliers.)
For practical use just align all your data structures (partitions, payload
of LUKS containers, LVM logical volumes) to 1 or 2 MiB boundaries. It's an
SSD after all--it is designed to cope with usual filesystems, such as NTFS
(which uses 4 KiB allocation units).”
--
Grüße | Greetings | Qapla’
Please do not share anything from, with or about me on any social network.
The worst disease is indifference. So what?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2023-04-18 8:04 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-15 22:47 [gentoo-user] Finally got a SSD drive to put my OS on Dale
2023-04-15 23:24 ` Mark Knecht
2023-04-15 23:44 ` thelma
2023-04-16 1:47 ` William Kenworthy
2023-04-16 7:18 ` Peter Humphrey
2023-04-16 8:43 ` William Kenworthy
2023-04-16 15:08 ` Mark Knecht
2023-04-16 15:29 ` Dale
2023-04-16 16:10 ` Mark Knecht
2023-04-16 16:54 ` Dale
2023-04-16 18:14 ` Mark Knecht
2023-04-16 18:53 ` Dale
2023-04-16 19:30 ` Mark Knecht
2023-04-16 22:26 ` Dale
2023-04-16 23:16 ` Frank Steinmetzger
2023-04-17 1:14 ` Dale
2023-04-17 9:40 ` Wols Lists
2023-04-17 17:45 ` Mark Knecht
2023-04-18 0:35 ` Dale
2023-04-18 8:03 ` Frank Steinmetzger [this message]
2023-10-07 7:22 ` Dale
2023-04-16 17:46 ` Jorge Almeida
2023-04-16 18:07 ` Frank Steinmetzger
2023-04-16 20:22 ` Mark Knecht
2023-04-16 22:17 ` Frank Steinmetzger
2023-04-17 0:34 ` Mark Knecht
2023-04-18 14:52 ` [gentoo-user] " Nikos Chantziaras
2023-04-18 15:05 ` Dale
2023-04-18 15:36 ` Nikos Chantziaras
2023-04-18 20:01 ` Dale
2023-04-18 20:53 ` Wol
2023-04-18 22:13 ` Frank Steinmetzger
2023-04-18 23:08 ` Wols Lists
2023-04-19 1:15 ` Dale
2023-04-18 20:57 ` Mark Knecht
2023-04-18 21:15 ` Dale
2023-04-18 21:25 ` Mark Knecht
2023-04-19 1:36 ` Dale
2023-04-18 22:18 ` Frank Steinmetzger
2023-04-18 22:41 ` Frank Steinmetzger
2023-04-19 1:45 ` Dale
2023-04-19 8:00 ` Nikos Chantziaras
2023-04-19 9:42 ` Dale
2023-04-19 10:34 ` Peter Humphrey
2023-04-19 17:14 ` Mark Knecht
2023-04-19 17:59 ` Dale
2023-04-19 18:13 ` Mark Knecht
2023-04-19 19:26 ` Dale
2023-04-19 19:38 ` Nikos Chantziaras
2023-04-19 20:00 ` Mark Knecht
2023-04-19 22:13 ` Frank Steinmetzger
2023-04-19 23:32 ` Dale
2023-04-20 1:09 ` Mark Knecht
2023-04-20 4:23 ` Dale
2023-04-20 4:41 ` eric
2023-04-20 9:48 ` Dale
2023-04-20 23:02 ` Wol
2023-04-20 8:55 ` Frank Steinmetzger
2023-04-20 8:52 ` Frank Steinmetzger
2023-04-20 9:29 ` Dale
2023-04-20 10:08 ` Peter Humphrey
2023-04-20 10:59 ` Dale
2023-04-20 13:23 ` Nikos Chantziaras
2023-04-20 12:23 ` Frank Steinmetzger
2023-04-20 9:46 ` Peter Humphrey
2023-04-20 9:49 ` Dale
2023-04-18 17:52 ` Mark Knecht
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZD5O6djXqItt65eh@moby \
--to=warp_7@gmx.de \
--cc=gentoo-user@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox