linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Greg Freemyer <greg.freemyer@gmail.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	"Martin K. Petersen" <martin.petersen@oracle.com>,
	Matthew Wilcox <matthew@wil.cx>, Theodore Tso <tytso@mit.edu>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
	sandeen@redhat.com
Subject: Re: ATA support for 4k sector size
Date: Wed, 18 Mar 2009 14:33:39 +0000	[thread overview]
Message-ID: <1237386819.3350.15.camel@localhost.localdomain> (raw)
In-Reply-To: <87f94c370903160751t6de5ed2t40163a6590ba633@mail.gmail.com>

On Mon, 2009-03-16 at 10:51 -0400, Greg Freemyer wrote: 
> On Thu, Feb 26, 2009 at 5:02 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> > Martin K. Petersen wrote:
> >>>>>>>
> >>>>>>> "hpa" == H Peter Anvin <hpa@zytor.com> writes:
> >>
> >>>> Quick answer from one of my contacts.  Desktop drives will indeed
> >>>> ship with an alignment of 1(*).  The alignment is hardwired at time
> >>>> of manufacture and can't be changed.
> >>>>
> >>
> >> hpa> Oh God.
> >>
> >> hpa> This is a disaster.
> >>
> >> Rationale being that modern Microsoft operating systems know how to
> >> interpret the alignment bits.  Legacy XP will work without changes
> >> thanks to the shifted alignment.  And Vista+ will do the right thing to
> >> align partition 1 to what the drive reports.
> >>
> >> Also note that Windows only aligns the first partition.  That's
> >> something we need to be aware of when setting up dual boot systems.
> >>
> >
> > Yeah, but all of this completely breaks the disk image abstraction, which is
> > a very powerful paradigm.
> >
> >        -hpa
> >
> If the reported geometry of these drives was changed to have sectors /
> track be a multiple of 8, wouldn't that fix most of the issues.
> 
> ie. If the drive were to report 56 sectors per track, then a
> traditional partitioning tool would start the first partition as
> sector 56 and a Vista like partitioning tool would place the first
> partition at sector 2048.  Both would have the same 4K sector
> alignment.
> 
> If my logic is sound, anyway to get this recommendation upstream to
> hardware manufacturers.  It seems like an almost trivial change for
> them.

This is Ted Ts'o's proposed fix for the problem as well ... we do the
C/H/S translation in scsicam.c and it's then stored in the DOS partition
label.  The only problems are that changing this on the fly might be
problematic for things that believe scsicam_bios_param without first
checking the DOS label (because they'll then be mismatched).  And also,
if the vendors use their power to offset the first 4k block, we'll be
mismatched again.  Plus, once the values are written in the label we
can't update them.

> FYI: It sounds to me like partitioning tools should totally drop
> efforts to align with cylinders, instead they should start asking what
> the unit of atomic read/writes is at the physical layer and if any
> offsets are needed to align the partition with the atomic write areas.
> 
> That would fit better for both SSD technology and for this 4K sectors
> issue than trying to continue to support cylinders at all.

The DOS label is the problematic one ... all the rest have (mostly) more
sensible schemes.  The problem is that the DOS label is the most
prevalent one.

James



  parent reply	other threads:[~2009-03-18 14:33 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-25 22:24 ATA support for 4k sector size Matthew Wilcox
2009-02-25 22:24 ` [PATCH 1/2] ata: Define new commands from ATA8 Matthew Wilcox
2009-02-25 22:24 ` [PATCH 2/2] ata: Add support for Long Logical Sectors and Long Physical Sectors Matthew Wilcox
2009-02-25 22:53 ` ATA support for 4k sector size H. Peter Anvin
2009-02-25 23:27   ` Martin K. Petersen
2009-02-25 23:33     ` H. Peter Anvin
2009-02-25 23:51       ` Martin K. Petersen
2009-02-26 12:43       ` Karel Zak
2009-02-26 15:17         ` H. Peter Anvin
2009-02-25 23:42     ` H. Peter Anvin
2009-02-25 23:55       ` Martin K. Petersen
2009-02-25 23:57         ` H. Peter Anvin
2009-02-26  0:07           ` Martin K. Petersen
2009-02-26  0:10             ` H. Peter Anvin
2009-02-26  0:17               ` Martin K. Petersen
2009-02-25 23:49     ` david
2009-02-26  0:04       ` Martin K. Petersen
2009-02-26  0:13         ` david
2009-02-26  0:20           ` Martin K. Petersen
2009-02-26  2:50     ` Theodore Tso
2009-02-26  3:05       ` Martin K. Petersen
2009-02-26  3:07       ` Matthew Wilcox
2009-02-26  3:23         ` Martin K. Petersen
2009-12-11  7:05           ` James Andrewartha
2009-12-11  7:26             ` H. Peter Anvin
2009-12-11  7:32             ` Martin K. Petersen
2009-02-26  5:16         ` Martin K. Petersen
2009-02-26 12:36           ` Matthew Wilcox
2009-02-26 15:32           ` H. Peter Anvin
2009-02-26 20:35             ` Martin K. Petersen
2009-02-26 21:02               ` H. Peter Anvin
2009-03-16 14:51                 ` Greg Freemyer
2009-03-16 16:27                   ` H. Peter Anvin
2009-03-16 17:37                     ` Greg Freemyer
2009-03-16 18:11                       ` H. Peter Anvin
2009-03-22  1:20                         ` Bill Davidsen
2009-03-18 14:33                   ` James Bottomley [this message]
2009-02-26 18:22 ` hdparm-9.12 released Mark Lord

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=1237386819.3350.15.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=greg.freemyer@gmail.com \
    --cc=hpa@zytor.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    --cc=matthew@wil.cx \
    --cc=sandeen@redhat.com \
    --cc=tytso@mit.edu \
    /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;
as well as URLs for NNTP newsgroup(s).