lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <1309542015.5364.24.camel@werner-t410>
Date:	Fri, 01 Jul 2011 19:40:15 +0200
From:	Werner Fischer <devlists@...i.net>
To:	Greg Freemyer <greg.freemyer@...il.com>
Cc:	linux-ext4@...r.kernel.org
Subject: Re: -E stride and stripe-width necessary for best performace of
 SSDs?

Hi Greg,

thanks for your feedback,
On Fri, 2011-07-01 at 12:03 -0400, Greg Freemyer wrote:
> On Fri, Jul 1, 2011 at 5:30 AM, Werner Fischer <devlists@...i.net> wrote:
> > * I want to optimize ext4 on my SSD (Intel 320 Series 160 GB).
> > * There are some sites recommending the use of the -E stride and -E
> >  stripe-width paramaters, like
> >  http://searchenterpriselinux.techtarget.com/tip/Optimizing-Linux-for-SSD-usage
> > * I know these parameters are useful for RAIDs, but I don't think that
> >  they have any advantages for SSDs.
> >
> > Can anybody with deeper ext4 knowledge confirm if I'm right?
> That article is highly simplistic, and I dare say inaccurate due to
> the simplifications.
> 
> For most of us SSDs are magic boxes we push data into and pull data out of.
> 
> We know the data gets stored on NAND chips and that many (most?) NAND
> chips have 128KB Erase Blocks.
Meanwhile Block sizes have increased up to 2 MiB: 256 pages รก 8 KiB for
current 25nm NAND from Intel/Micron (which is used also in my SSD)
http://www.anandtech.com/show/2928

> But we have no knowledge of how the data itself is organized.
> Assuming that a Erase Block contains contiguous sectors is wrong in
> most cases.
I agree, AFAIK this was only true for the very first SSDs on the market.

> There is sophisticated logic going on that is re-mapping
> the data.  Those algorithms are NOT public. We definitely don't know
> enough to know what stride etc. is optimal.
>
> I personally think using 1MB for partition boundaries 
I agree

> and a stride
> which is a multiple of 4KB is probably best, but there really is no
> good way to know other than performance testing the specific make /
> model / firmware release you are working with.
For the 25nm NAND from Intel/Micron we know its page size = 8 KiB. 
For an Ext4 file system with block size 4 KiB (4096 Byte) I could
imagine that using
  stride=2        (2 file system blocks = 8 KiB) and
  stripe-width=2  (also 2 file system blocks = 8 KiB)
would make sense? (just taking the page size into account)

> Here's two wiki pages I wrote that may give you some background:
> http://en.opensuse.org/SDB:SSD_Idle_Time_Garbage_Collection_support
> http://en.opensuse.org/SDB:SSD_discard_%28trim%29_support
> You might want to read them both, then read them both again because
> the topics depend on each other.
Thank a lot, I already came across them - they've been valuable to me!

Werner
> And I just noticed this one:
> http://en.opensuse.org/SDB:SSD_performance
> I have no idea how accurate the last article is.  (I have not read/reviewed it.)
> 
> Greg


--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ