Re: [opensuse]SSD alignement-option in partitioner usefull ?
On 18/04/11 14:55, Hans de Faber wrote:
On 18/04/11 11:50, Joachim Schrod wrote:
Cristian Rodríguez wrote:
El 17/04/11 13:32, Per Jessen escribió:
Hans de Faber wrote:
Now to my opinion,it is desirable that the opensuse partitioner has an ssd option to align partition and filesystem properly on this this type of devices. Is this a good idea and a reasonable expectation ?
It doesnt align SSD partitions automagically, IMHO it should do something like this
http://ldn.linuxfoundation.org/blog-entry/aligning-filesystems-ssd%E2 %80%99s-erase-block-size
Since I'm about to buy a (Thinkpad) laptop with an SSD, thanks for this hint.
Ted Ts'o wrote this in February 2009 -- did any changes happen in SSD technology or Linux kernel in the last 2 years, changes that make a difference for installation / system administration in that area?
Cheers, Joachim
The problem is in theory very simple. An ssd has 512kB eraseblocks. The filesystem writes in 4kB blocks. If the 4kB filesystemblocks cross (overlay) the eraseblock boundary than always 2 blocks of 512kB must be erased. This is unwanted. Therefore the partition should always start on block (512Bytes) 0 8 16 and so on. Next partition should start on position 0 of the first available eraseblock.
In my case I used the opensuse partitioner defaults and created my first partition and copied my OS. It worked fine and very quick. After that I did some study about ssd's and partitioning and saw that my first partition started at block 3, not correct. My story ends with the hdparm command --secure-set-pass NULL From that moment the drive was no longer accessible in native command-mode, even the bios did not see the drive. I switched back to ide mode and saw the drive again in the bios. But open suse won't start with the ssd on the bus. Systemrescue-cd starts but gives immediate after boot when first accessing the device endless loop read-errors . When I disconnect the drive and reconnect, the boot continues but I have no device designation at all (/dev/sda?).
Thats the end of the story, hans
This partioning is done in version 11.3 in august 2010 -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
I've been studying SSD structure recently. It is complex. More interspersed: On Mon, Apr 18, 2011 at 9:00 AM, Hans de Faber <hans.defaber@gmail.com> wrote:
On 18/04/11 14:55, Hans de Faber wrote:
<snip>
The problem is in theory very simple. An ssd has 512kB eraseblocks.
Yours may. 128KB is "typical", but it is based on the NAND chips on the SSD. You can get NANDs with multiple EB sizes.
The filesystem writes in 4kB blocks.
agreed
If the 4kB filesystemblocks cross (overlay) the eraseblock boundary than always 2 blocks of 512kB must be erased.
very false. Modern SSDs track usage / free at the sub-EB level. Lets call it a SSD-Page. If you send a SSD a group of random 4KB writes, it will often just mark the old SSD-Pages as invalid/unused/etc. and then allocate a single EB and store all those non-contiguous filesystem blocks in it. (Note a EB can't be erased until the full EB is invalid, so this causes EBs to be hanging around with partially valid data, and partially invalid.) So the performance alignment issue is not the EB size at all, it is the SSD-Pagesize. Trouble it, I've found no way to figure out what size that is. Considering many filesystems, including windows NTFS use the 4KB filesystem-blocksize, my "hope" is that SSD manufactures are using 4KB SSD-pagesize.
This is unwanted. Therefore the partition should always start on block (512Bytes) 0 8 16 and so on. Next partition should start on position 0 of the first available eraseblock.
Agree to you conclusion, but I'm not sure how you got there.
In my case I used the opensuse partitioner defaults and created my first partition and copied my OS. It worked fine and very quick. After that I did some study about ssd's and partitioning and saw that my first partition started at block 3, not correct.
If yast-partitioner from opensuse 11.3 created the first partition at sector 3, something is indeed wrong. Either the SSD is reporting something very strange, or there is a bug in either yast, or the libraries it depends on. I suspect its a bug in libpartd, but I'm guessing.
This partitioning is done in version 11.3 in august 2010
The above yast-partitioner logic was worked out in openFate early 2010. It shipped in 11.3 for the first time. I admit to not personally testing it, but I do know it was supposed to be there. Greg -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org
participants (2)
-
Greg Freemyer
-
Hans de Faber