Question

  • Creator
    Topic
  • #2207802

    What is the size of I/O operations from simple disk controller ?

    Locked

    by superkikim ·

    I’m working on undertsanding deep the alignment issues.

    I understand that if you have a RAID array or a RAID controller using 64KB chunks, which is default for the majority of them, you will have an alignement issue because of the “missing” sector, and it will have to r/m/w two chunks to access data spanned over two chunks.

    But what about a simple 512B sector disk (not talking about AF disks) in a simple computer without RAID ? These disk have cache. Sectors on these disks are 512 bytes. Do the physical I/O operations size 512 bytes ? If so, why would alignement be an issue ?

    If not… what is the damn size ? I’ve googled for quite a while now, and I can’t find an answer… I guess the disk manufacturer are putting data in the disk cache, and then, write data to the disk in chunk, and I think it would be stupid in that case to use 512 bytes operations…. But where can I find a reference about this ?

    Any help welcome.

All Answers

  • Author
    Replies
    • #2439904

      Clarifications

      by superkikim ·

      In reply to What is the size of I/O operations from simple disk controller ?

      Clarifications

    • #2439883

      Not sure if this clarifies things but

      by robo_dev ·

      In reply to What is the size of I/O operations from simple disk controller ?

      Remember, the alignment issue is only that the XP partition utility only knows about 512B blocks, so it messes it up on a drive whose block size is different. If you format a AF disk with Win7, then install XP on it, it’s aligned.

      There is no alignment issue on a 512Byte block size drive with an OS that expects that block size.

      My understanding of interfaces is that, if we ignore cacheing, since the block size of the data can vary, the physical block size retrieved by the controller I/O is the same as what is on the drive, as there is no advantage to retrieving/cacheing sectors you don’t need. The precise answer to this depends on whether you are talking about physical layer, link layer, transport layer, etc.

      Of course the transfer rate of that data depends on the interface (SATA, eSATA, PATA,

      • #2439820

        Reponse To Answer

        by superkikim ·

        In reply to Not sure if this clarifies things but

        As long as I know, you are mistaken about any OS expecting a 512B block size.

        First of all, it’s not about operating system, but file system. Then, default block size for many file system is 4KB. In any case, as long as you use MBR format for your disk, you will have an alignment issue.

        If windows 7 and Windows server 2008 fixes this, it is on purpose, not just because they expect the disk.

        If I got it correctly, with true 4KB (AF) disks, the alignment is not an issue, because the MBR will reserve the 1st sector (4KB) and the partitions will be aligned at the second 4KB sector. This is not true for a 512B cluster disk of for a 512e AF disk where the used sector size is still 512B. That’s why as long as we do not use real 4K drives with no emulation (which are currently not supported by any operating system), the alingment issue exists. Editors just worked it around by aligning partitions by default on the latests file systems: Windows 7, Windows XP, vSphere ESXi 4 and 5 as long as you make the datastores from vCenter…

        Well, anyway, it does not answer the question at the end 🙂

      • #2439815

        Reponse To Answer

        by superkikim ·

        In reply to Not sure if this clarifies things but

        Is there a way to delete a reply ? my previous reply contain mistakes.

        It’s not only about the MBR, but about the 63 sectors reserved for MBR and FS stuff. This is 32KB, where the default chunck size used by many controllers manufacturer is 64KB. That’s where is the misalignement. Therefore, on a 4KB drive, we still have the same issue. Again, as long as MBR is used, there is no way to avoid misalignment unles it is handled manually, or by the operating system (once again, W7, W2K8, and so on). The way Microsoft handle this is by aligning the 1st partition to a cluster of a multiple of 4KB. Therefore if your disk makes it possible to put a partition at sector 63, Microsoft will create the 1st partition automatically at the next 4KB boundary….

        Well. All this is quite hard to apprehend. I wish I could find a real and efficient online training about disk fundamentals. So far, all I found explain part of the problem, but never the whole story

Viewing 1 reply thread