Slashdot Mirror


Long Block Data Standard Finalized

An anonymous reader writes "IDEMA has finally released the LBD (Long Block Data) standard. This standard, in work since 2000, increases the length of the data blocks of each sector from 512 bytes to 4,096 bytes. This is an update that has been requested for some time by the hard-drive industry and the development of new drives will start immediately. The new standard offers many advantages — improved reliability and higher transfer rates are the two most obvious. While some manufacturers say the reliability may increase as much as tenfold, the degree of performance improvement to be expected is a bit more elusive. Overall improvements include shorter time to format and more efficient data transfers due to smaller overhead per block during read and write operations."

199 comments

  1. Higher Reliability? by MankyD · · Score: 3, Insightful

    How does larger block sizes result in better reliability? Intuitively, I would almost think the opposite, since a single byte corruption means a much larger block is now erroneous. I obviously am missing something though.

    --
    -dave
    http://millionnumbers.com/ - own the number of your dreams
    1. Re:Higher Reliability? by Anonymous Coward · · Score: 0

      I imagine having fewer seek points could make the head more reliable, due to not having to move around and switch the electromagnet on and off so bloody often. But I don't know too much about hard drives, so feel free to ignore me.

      What I wonder is, will this cause significantly more space to be wasted when a file takes up only part of a block? Is my tinfoil hat on just a little too tight, or could this be a DAMNED DIRTY CONSPIRACY by the hard drive industry to increase sales?

    2. Re:Higher Reliability? by longword · · Score: 1

      Bigger blocks means you can smear in a bit more redundancy so that an error in a single byte can be recovered instead of being fatal. CDs for example are highly resistant to bit errors and their block size for data is 2048 bytes.

    3. Re:Higher Reliability? by silas_moeckel · · Score: 3, Insightful

      I would think it has to do with the ability to have more bits for ecc type functions. Blocks would need to be terminated somehow so there is a fixed overhead per block. Reducing this overhead by a factor of 8 would leave more room for a larger parity type field and the more bits in there the larger failure that it can detect, fix and relocate. This would all assume they will not use the new space to push up sizing. Course this is all my rather speculative guesswork.

      --
      No sir I dont like it.
    4. Re:Higher Reliability? by 5pp000 · · Score: 5, Informative

      The longer block sizes add reliability because the error correcting codes have more to work with at a time (more data bits, but also more ECC bits).

      As for wasted space, that's under the filesystem's control, not the drive's.

      --
      Your god may be dead, but mine aren't!
    5. Re:Higher Reliability? by msauve · · Score: 2, Interesting

      I don't have access to the actual standard, but would guess that they're really claiming more reliability for the same storage capacity, not more reliable in absolute terms.

      They can take what would have been per-block overhead with smaller sector sizes and reuse that data space for more robust error correcting codes, while maintaining the same capacity.

      But, good question, since in terms of absolute reliability I can't picture anything in the current spec which would prevent private (not visible at the interface level) methods from being used (RAID within a drive?) with current drives.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    6. Re:Higher Reliability? by imsabbel · · Score: 1

      Sorry, but your operation systems FS works in 4k blocks anyways, so you dont actually save anything compared to 4k phys-layer blocks now.

      OTOH, maybe checksumming could improve from the larger blocksize.

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    7. Re:Higher Reliability? by drinkypoo · · Score: 1

      CDs for example are highly resistant to bit errors and their block size for data is 2048 bytes.

      At least half the reason that CDs are resistant to error is that the laser is not in focus when it passes through their surface.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    8. Re:Higher Reliability? by Anonymous Coward · · Score: 0

      Thanks, I knew there had to be something wrong with my reasoning.

    9. Re:Higher Reliability? by Anonymous Coward · · Score: 0

      The way I think of it is this: Larger block sizes = less number of blocks. The less things you have that can break, the less that WILL break.

    10. Re:Higher Reliability? by Anonymous Coward · · Score: 0

      Nope; each individual bit on a disk can break, and the total number of bits is the same.

    11. Re:Higher Reliability? by The_Wilschon · · Score: 1

      So, supposing your speculation is correct, then the longer block size doesn't actually enable better reliability, it just lowers the capacity cost for a given "amount" of reliability. They could build in as much reliability as they cared to with the current block size, but then they would have to decrease the capacity by more than they would have to with a larger block size.

      --
      SIGSEGV caught, terminating

      wait... not that kind of sig.
    12. Re:Higher Reliability? by GooberToo · · Score: 2, Insightful

      I don't have access to the actual standard, but would guess that they're really claiming more reliability for the same storage capacity, not more reliable in absolute terms.

      In the real world this translates into, "more reliability". Reliability has always been relative to dollars spent. This means given the same dollars you are more reliabile. This means, given absolute dollars, you are more reliable.

    13. Re:Higher Reliability? by Hell+O'World · · Score: 1

      the reliability may increase as much as tenfold
      I think ten-fold may be an exaggeration, but I could believe an eight fold increase.

    14. Re:Higher Reliability? by Lord+Crc · · Score: 1

      Sorry, but your operation systems FS works in 4k blocks anyways, so you dont actually save anything compared to 4k phys-layer blocks now.

      So when you write a 4k page, you get 8 512byte sectors in a row. Fair enough. But what happens when one of the sectors is about to fail? From my understanding, the HD will then move the data to a fresh sector and mark the failing one as bad. If so, you suddenly need to move the head possibly twice while reading that page.

      Then again, I'm no HD expert :)

    15. Re:Higher Reliability? by arivanov · · Score: 1

      Less seeks is the answer and lower number of address fields, lead bits and trailers. Less seeks - obvious. Adress fields, trailers, lead bits, etc - the entire formatting information on a block is not always error correctable (at least some of it isn't). As a result any deffect in it will immediately flag the sector as defective. Compared to that the data is ECC corrected and the industry is approaching a point where the drives function solely due to the ECC correction capabilities for data. Once upon a time the spec used to have an error code for "data read, but ECC corrrected". I have yet to see a post-2000 drive use this. All read and apply ECC silently.

      On another note, it will be entertaining to see how the most cretinous item in the POSIX standards - the du and other disk utilities output evolves after this one. Nothing has pissed me off more than having to use -k all the time to see it in kbytes than the mandated 512b blocks.

      So now, after the block size changed how does one comply to this standard? Or they will finally see the light and amend it back to K?

      --
      Baker's Law: Misery no longer loves company. Nowadays it insists on it
      http://www.sigsegv.cx/
    16. Re:Higher Reliability? by cerberusss · · Score: 2, Funny

      As for wasted space, that's under the filesystem's control, not the drive's.
      I use a raw device, you insensitive clod!
      --
      8 of 13 people found this answer helpful. Did you?
  2. Why 4096? by MBCook · · Score: 3, Insightful

    Is there a good reason why 4096 was chosen? Is that just an artifact of this being designed in 2000? At this point very few files on the average system would be smaller than this. It seems to me they could have quite safely chosen something like 16k which would have improved things more, future proofed them more, yet still have been small enough as to not waste a tremendous amount of space (like if they chose 512k).

    Why not make it variable, in that each drive can have it's own value (limited to a power of 2, between 512 and say 512k)? That way one drives today could be 4k, with drives in a few years being more without requiring another 7 years for a new standard?

    --
    Comment forecast: Bits of genius surrounded by a sea of mediocrity.
    1. Re:Why 4096? by 42forty-two42 · · Score: 5, Insightful

      Operating systems tend to use 4096-byte blocks already, as that's the size of a memory page on x86 and amd64. If you were to require 16kb transfers, then the block cache would have to start allocating contiguous four-page groups for DMA transfers and the like, which could be difficult if memory is fragmented; in comparison, pages are the basic allocation unit for RAM, so 4kb's easy to find.

    2. Re:Why 4096? by AKAImBatman · · Score: 4, Insightful

      Parent is correct. Pretty much every paging-capable microprocessor in existence uses 4K memory blocks, thus why they're the natural size for a hard disk. In the x86 world, the next step up is 4MB blocks. Burst performance of modern hard disks is quite good, but I have to wonder if 4MB blocks would be helpful or harmful to overall system performance? It might reduce the number of pages, that's for sure.

    3. Re:Why 4096? by geekoid · · Score: 5, Funny

      yeah, sure. Give a logical AND knowledgable answer.
      Way to ruin the curve.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    4. Re:Why 4096? by 5pp000 · · Score: 1

      Until a few years ago, a lot of SCSI drives were formattable with arbitrary sector sizes (I don't know if they could take absolutely any size in a given range, but it didn't have to be a power of 2). I have an old machine (from the mid-1980s) whose drive is formatted, IIRC, in 2560 byte sectors.

      16k is too big because it's larger than the page size used by most OSes. 4k is a good choice. The additional improvement in space efficiency from going to 16k vs. 4k would be small.

      --
      Your god may be dead, but mine aren't!
    5. Re:Why 4096? by 42forty-two42 · · Score: 3, Informative

      Using 4MB blocks for everything would kill memory performance - and more specifically, mmap performance. Each library loaded in your system would require at least 4MB of ram - probably more, as they have code, data, and zeroed data segments. Additionally, each process would require another 4MB*n. There's no gain for doing this either, except under specialized circumstances, as the OS can already request a batch of sectors from the drive in one operation.

    6. Re:Why 4096? by pchan- · · Score: 1, Informative

      Pretty much every paging-capable microprocessor in existence uses 4K memory blocks, thus why they're the natural size for a hard disk.

      AMD64/x86-64 uses 8KB pages. ARM uses 1KB pages.

    7. Re:Why 4096? by Afecks · · Score: 2, Funny

      It might reduce the number of pages, that's for sure

      You may be sure that it might but I'm unsure that it won't...

    8. Re:Why 4096? by major.morgan · · Score: 1

      From the press-release:

      Large blocks also provide a clear path for future gains through further increases in block size.

      Seems to imply that the standard does perhaps address variable block sizes.

    9. Re:Why 4096? by Scott+Wood · · Score: 3, Informative

      No, x64 and ARM both use 4K pages (though ARM has 1K subpages that you can set permissions on individually). Alpha and sparc64 use 8K pages, though.

    10. Re:Why 4096? by Anonymous Coward · · Score: 0

      All I have to say is this:
      Solaris on Sparc, my friend, Solaris.... (keyword VMPSS)

    11. Re:Why 4096? by Nutria · · Score: 1
      Each library loaded in your system would require at least 4MB of ram - probably more, as they have code, data, and zeroed data segments. Additionally, each process would require another 4MB*n.

      One word: Vista. :(

      --
      "I don't know, therefore Aliens" Wafflebox1
    12. Re:Why 4096? by macshit · · Score: 1

      Is there a good reason why 4096 was chosen? Is that just an artifact of this being designed in 2000? At this point very few files on the average system would be smaller than this.

      Do you actually have any data to back up that assertion? On my system there are tons of small (< 1 KB even) files around; of course lots of large files too, but it's certainly not obvious that your claim is true.

      Morever, even if say the average file was, say, 16KB, using smaller blocks helps reduce wasted space in file tail blocks; in order for that to be neglible the average file size would need to much larger than 16KB.

      There are also other reasons why 4096 is nice, such as matching the standard VM page size for the majority of processors in use today.

      All in all, 4096 seems a well-considered choice -- it's large enough to provide a noticeable improvement over 512-byte blocks, but not so large as to start causing other problems.

      --
      We live, as we dream -- alone....
    13. Re:Why 4096? by AKAImBatman · · Score: 1

      A very well reasoned argument. The only way such large page sizes would make sense is in the case of an object-oriented system where all memory is allocated on common heaps. e.g. Java-based or some other system that favors abstract references over fixed memory pointers. Combined with technologies like generational garbage collectors, the OS could potentially manage paging on a heap by heap basis. Of course, if you take that route it becomes just as easy to page based on the individual objects rather than their heap. (i.e. You'd keep a "storage" heap on disk.)

      The only problem with that approach is then you'd need to reinvent paging to provide memory map type of services. It would be feasible, and the logic could even be encapsulated in a ByteBuffer-type of class, but it would be more work for something we already have.

      Something to ponder, anyway.

    14. Re:Why 4096? by EvanED · · Score: 1

      Is that just an artifact of this being designed in 2000? At this point very few files on the average system would be smaller than this.

      Actually you are wrong.

      A FAST 2007 paper did a five-year longitudinal study of file system metadata within Microsoft. Keeping in mind then that this is highly workload dependent and probably rather OS dependent (though my experience is that this is probably even more true for Unix machines than Windows):

      * It's hard to tell from the graph [you should be looking at fig. 3], but somewhere between 10-15% of files are smaller than 512 bytes

      * About half of all files are smaller than 4K

      Now, if you look at the *size* that those files take up vs. file system size [fig. 5], then it's essentially nothing. But the number of small files isn't going down; it's actually increasing as time goes on.

    15. Re:Why 4096? by EvanED · · Score: 1

      I should probably qualify this by saying that their newest measurements are from 2004. However, there is almost no change over the time period 2000-2004, and what little movement there is *increased* the percentage of files 4K by a couple percent as time went on.

      Also, by "but the number of small files isn't going down; it's actually increasing as time goes on", this is because the total number of files is going up rather than the distribution is shifting to small files.

  3. Sounds like a good idea to me. by pair-a-noyd · · Score: 0

    It's a brave new world. The 10megabyte hard drive is long dead and gone.
    Files nowdays are on the average, huge. My HTPC has hundreds of files that are an average of 1 gigabyte and quite often, twice that size.

    NOTHING is 512 bytes anymore. Back in the early 80's IE DOS 2.11 it may have seemed a great idea.

    1. Re:Sounds like a good idea to me. by WarwickRyan · · Score: 2, Interesting

      > NOTHING is 512 bytes anymore.

      Shortcuts can easily be 512 bytes long.

      For example I've got a shortcut to a file on C:\, which is 391 bytes actual size, 4096 bytes on the disk.

    2. Re:Sounds like a good idea to me. by The+MAZZTer · · Score: 1

      It's not just 512 bytes, it's MULTIPLES of it. For example, on a usb flash drive, low cluster size is important to avoid wasting space and fitting as much data as possible.

      Which brings up the question, what's the difference between sector size and allocation cluster size? I assume the former is hardware while the latter is software, but anything else? Does the sector size limit the minimum allocation cluster size?

      As an example of the reason why you might want to keep cluster/sector size low, this one portable game I just downloaded the other day has 100 or so 1 byte files (don't ask me why). That's 51.1kb total wasted with 512 bytes per sector/cluster. Bump it up to 4096 and now it wastes 409.5kb total. Another example: A 513 byte file wastes as much space as a 1 byte file in 512 byte clusters.

      You can see how much space is wasted in Windows by viewing a file's properties. The "Size" is the actual file size. "Size on disk" includes the unused space in the last cluster (or however it's laid out... fragmentation and all that), although keep in mind "Size on disk" also takes NTFS compression into account if it's turned on, so it'll probably be SMALLER than "Size" for those files...

    3. Re:Sounds like a good idea to me. by garett_spencley · · Score: 2, Funny

      NOTHING is 512 bytes anymore

      Unless you've got a powerful fetish for ASCII pr0n

    4. Re:Sounds like a good idea to me. by peragrin · · Score: 1

      that's funny my computer is filled with files of a dozen kb. and web servers are filled with thousands of files only a few kb in size.

      --
      i thought once I was found, but it was only a dream.
    5. Re:Sounds like a good idea to me. by Animaether · · Score: 2, Informative

      In addition, it doesn't matter whether the file is less than 512 or, in this case, 4096 bytes. What matters is if the 'size % block_size' is non-zero. I.e. let's say the file is 4090 bytes. It will fit just fine, and you'll only waste 6 bytes. Now the file is 4100 bytes, only 4 bytes over. Except now you need 2 blocks, and thus waste 4092 bytes.

      Sure, on a multi-GB file that's not going to matter too much, as even on a TB drive you can only have a few hundred of those, and who's going to miss that 1MB?
      However, there's plenty of other files that hover between 1k and 10k, 10k and 100k, 100k and 1MB where those tiny fractions do add up.

      That said, GP is still right. Say you do have a TB drive.. unless you only have a few free MB left, you're not going to worry too much about the losses from block sizes.

    6. Re:Sounds like a good idea to me. by mi · · Score: 1

      For example I've got a shortcut to a file on C:\, which is 391 bytes actual size, 4096 bytes on the disk.

      Hopefully, the filesystems, which can pack multiple short files into a block, will become more popular... ReiserFS does this, supposedly — I wonder, if anything else does...

      --
      In Soviet Washington the swamp drains you.
    7. Re:Sounds like a good idea to me. by Kadin2048 · · Score: 1

      For example I've got a shortcut to a file on C:\, which is 391 bytes actual size, 4096 bytes on the disk.

      I think that sorta proves his point, though. With today's filesystems and other equipment, even a 391 byte file ends up taking over 4k bytes on disk, and nobody really seems to care. At least when you're talking about storage, virtually nothing is that small in terms of actual space-on-disk on a modern system.

      --
      "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
    8. Re:Sounds like a good idea to me. by Tridus · · Score: 1

      The Filesystem can't allocate a unit smaller then a Hard Drive sector without combining multiple files into a single sector, so yes. The sector size puts a lower limit on the FS block size.

      Honestly on a 200GB disk, how many file systems allocate blocks smaller then 4k right now? This seems like a good thing in general.

      --
      -- "So they told me that using the download page to download something was not something they anticipated." - Bill Gates
    9. Re:Sounds like a good idea to me. by mj01nir · · Score: 1
      --
      the no .sig .sig
    10. Re:Sounds like a good idea to me. by 644bd346996 · · Score: 1

      I think NTFS does something like that.

    11. Re:Sounds like a good idea to me. by cnettel · · Score: 1

      Even NTFS does it, to some degree (with the side effect that some 3rd party/open source implementations have special problems when it comes to accessing or writing such files). As a sibling post mentions, it's not only a matter of small files, though, it's also a matter of large files that are not a multiple of a suitable power of 2 in size.

    12. Re:Sounds like a good idea to me. by jgrahn · · Score: 1

      NOTHING is 512 bytes anymore. Back in the early 80's IE DOS 2.11 it may have seemed a great idea.
      Do you happen to use Windows, and not do much programming?

      find ~ -type f -size -512c |wc -l
      21% of the files in my home directory are less than 512 bytes. And I don't even use Maildir.
    13. Re:Sounds like a good idea to me. by sconeu · · Score: 1

      Didn't the Berkeley FFS do that back in the '80s?

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    14. Re:Sounds like a good idea to me. by Anonymous+Cowpat · · Score: 2, Informative

      My HTPC has hundreds of files that are an average of 1 gigabyte and quite often, twice that size.
      So... 2 gigabytes?
      --
      FGD 135
    15. Re:Sounds like a good idea to me. by Dan+Ost · · Score: 4, Insightful

      If that kind of lossage bothers you, use a file system that can pack multiple file tails into the same block (reiserfs for sure, ext4 will too, I think). If you've got lots of small files, the impact can be surprising (my portage tree shrunk by about 100MB just by moving it from ext3 to reiserfs!). I've never noticed a difference anywhere else, however.

      --

      *sigh* back to work...
    16. Re:Sounds like a good idea to me. by aliquis · · Score: 1

      Not that it matters but what kinds of asciiporn can you really get within 512 bytes?
      Sunet ascii-girl
      Sunet vicki
      Both around 8 kB.

    17. Re:Sounds like a good idea to me. by pair-a-noyd · · Score: 1

      I use EXT3 currently to be specific. I'm looking forward to trying ZFS. I don't need to boot from a ZFS disk, I can boot fine from an EXT3 disk and run everything else on ZFS.. I'm hoping to give it a trial run later this year.

      But as to the hardware itself, I don't know why they don't make the size user selectable by jumper or software. "One size fits all" is no longer relevant. Many people have many different needs, uses and applications. Some people have lots of little files. Some people have lots of BIG files.
      Ok fine. Make it so the user has the option to configure their drive in a way that best suits their needs.
      What's so hard about that?

    18. Re:Sounds like a good idea to me. by pair-a-noyd · · Score: 1

      I lost too much data to Reiser problems, I used it for about two years and I decided it sucks.
      It's EXT3 for me, at least right now. Like I said earlier, I hope to convert to ZFS sometime this year.

    19. Re:Sounds like a good idea to me. by pair-a-noyd · · Score: 0, Troll

      In case you haven't noticed, Novell = EVIL... I WAS a $$$ Suse customer for several years but their recent M$ antics have pissed me off and I'm converting my systems from Suse to Gentoo.

    20. Re:Sounds like a good idea to me. by AJWM · · Score: 1

      Didn't the Berkeley FFS do that back in the '80s?

      Yes it did, as of (if I recall correctly) BSD 4.2 for VAX -- at the same time it made the jump to a 4K block size.

      --
      -- Alastair
    21. Re:Sounds like a good idea to me. by Anonymous Coward · · Score: 0

      I wouldn't say NOTHING. I just did a root level find and 43% (73,963) of the files on one of our Solaris 10 servers are less than 512bytes.

    22. Re:Sounds like a good idea to me. by EvanED · · Score: 2, Informative

      Ask Wikipedia

      It's in the table "Allocation and layout policies". Look at both tail packing and block suballocation.

      There are a few others that do, but not many. (JFS, QFS, NWFS, and VMFS are marked yes; NTFS and ZFS are marked partial.)

    23. Re:Sounds like a good idea to me. by maxume · · Score: 1

      How much space would they waste if you switched to absurdly large block sizes? A megabyte? Two? Ten? Actually enough that you would care?

      --
      Nerd rage is the funniest rage.
    24. Re:Sounds like a good idea to me. by EvanED · · Score: 1

      Sorry, the Berkeley FFS and LFS too support block suballocation. Not sure why I didn't put them down first time through; maybe because some other people mentioned that it did it was on my mind.

    25. Re:Sounds like a good idea to me. by mj01nir · · Score: 1

      Sooo, when they became EVIL they dropped block suballocation? I wasn't making a statement about Novell's business practices, only making a minor point relevant to the discussion at hand. You should try it. You may even use shift-4 less.

      --
      the no .sig .sig
    26. Re:Sounds like a good idea to me. by Nutria · · Score: 1
      At least when you're talking about storage, virtually nothing is that small in terms of actual space-on-disk on a modern system.

      For standard usage, you are correct.

      Maildir-based IMAP servers are all that I can think of which would really benefit from tail packing, although there will also obviously be some custom apps that need or make use of millions of small files.

      --
      "I don't know, therefore Aliens" Wafflebox1
    27. Re:Sounds like a good idea to me. by Anonymous Coward · · Score: 0

      VAX used 512-byte pages, and perhaps other old-timey systems. The 512-byte block was probably established in the 1970s some time. Then lots of OSes were fixed on this size throughout the 80s. Quite a few old UNIX boxes (old Suns, HPs, Next I think, etc.) would only boot with CD-ROMs that can return 512-byte sectors (despite the CD using 2048-byte sectors). So, now drives tend to still return 512 byte sectors for compatibility with *that*.

    28. Re:Sounds like a good idea to me. by Wolfrider · · Score: 1

      Squid caches and root ( / ) filesystems. Everything in /etc (pretty much) is small.

      --
      .
      == WolfriderV6 == I'm willing to admit that *I just might* be wrong... Are you??
    29. Re:Sounds like a good idea to me. by PlusFiveTroll · · Score: 2, Interesting

      What's so hard about that?

      Go read the Linux Kernel mailing list, and you'll find interactions between the block layer and the virtual memory are one of the most difficult things to make work right in an operating system. The size of the block on the hard disk matters most to the driver, its mostly transparent to the rest of the operating system. The only thing it changes on actual file systems is the minimum filesystem block should be 4K minimum.

    30. Re:Sounds like a good idea to me. by Viol8 · · Score: 1

      If 21% of all the files in his filesystem suddenly went from using 512 bytes to 4MB I think he probably *would* care.

    31. Re:Sounds like a good idea to me. by maxume · · Score: 1

      Sure. I have about 120,000 files taking up 60 gigabytes of space on this laptop. That's an average of 535 KB per file, so waving my hands in the air and assuming that most of them are smaller than that, a sane block size will also be smaller than that. My point was that even on a little laptop hard disk, wasting a gigabyte or two wouldn't be a big deal, and assuming that I was wasting an entire block per file, that would give me an upper limit on block size of 17 KB. So going with 4 KB isn't anything worth worrying about for machines that actually have a person using them(I can see where you would care more about costs with something embedded), and even 8 KB wouldn't be that big a deal.

      --
      Nerd rage is the funniest rage.
    32. Re:Sounds like a good idea to me. by SuiteSisterMary · · Score: 1

      True, that. Good thing they're talking about from 512 bytes to 4096 bytes, not to 4096 kilobytes.

      --
      Vintage computer games and RPG books available. Email me if you're interested.
    33. Re:Sounds like a good idea to me. by Pollardito · · Score: 1

      and both files balloon up to 16k+ once you've added the requisite tentacles and hot grits to make them actually enticing

    34. Re:Sounds like a good idea to me. by AlgorithMan · · Score: 1

      My HTPC has hundreds of files that are an average of 1 gigabyte and quite often, twice that size
      so you are saying you have hundreds of ripped moves and quite often hd-rips?
      may I contact you via email?

      don't forget all those hundreds of thousands of small files in your system directories...
      --
      The MAFIAA is a bunch of mindless jerks who will be the first up against the wall when the revolution comes
  4. Discussed Since 2000? by hardburn · · Score: 1, Insightful

    I'm going to give them a benefit of a doubt and consider that there may be good technical reasons I don't know about that explains why a standards body can't slap something together in a few weeks that says "block sizes are now 4096 bytes instead of 512". There must be. Otherwise, I think we have a new benchmark for bureaucratic inefficiency.

    --
    Not a typewriter
    1. Re:Discussed Since 2000? by RingDev · · Score: 4, Insightful

      Saying 4096 was probably the easy part. Of course someone probably had to research what the largest (time efficient) and smallest (space efficient) block size would give the greatest advantage in space/time for current average files. But eventually you get into the issue of working with Hard Drive manufacturers who likely have to redesign some circuits and controls _from scratch_, BIOS developers who have to recode to detect and support two different standards, and OS/Driver developers who also have to deal with any low level changes...

      You're talking about interacting with likely hundreds of companies trying to come up with a single standard that 1) they can all agree on and 2) won't make any of them lose money. Good luck.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    2. Re:Discussed Since 2000? by HtR · · Score: 4, Funny

      Creating new standards takes time. After some searching, I found the minutes from their annual meetings since they started in 2000.

      2001 Chair: "How about we double it?" Vote: Nay

      2002 Chair: "How about we triple it?" Vote: Nay

      2003 Chair: "How about 4x?" Vote: Nay

      2004 Chair: "How about 5x?" Vote: Nay

      (minutes from intervening years were tragically lost)

      2007 Chair: "How's about 8x?" Vote: Yay

      --
      Have you tried turning it off and on again?
  5. Oh noes! by RingDev · · Score: 1, Funny

    All of my 400b files are now going to take up 10 times as much space!!!

    Heh, glad to see this is finally going through!

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Oh noes! by drinkypoo · · Score: 2, Informative

      Actually, they're going to take up eight times as much space... YOU FAIL IT! They will waste 3636b space unused in blocks, however, instead of only 112 bytes, so they'll be wasting over 32 times as much space. But then, won't ReiserFS already store multiple files in a single block in some cases?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    2. Re:Oh noes! by wexsessa · · Score: 2, Interesting

      With some probably minor inconvenience, you could fix that by using a Zipped archive. And someone will likely come up with a low-impact solution based on that.

    3. Re:Oh noes! by StikyPad · · Score: 1

      won't ReiserFS already store multiple files in a single block in some cases?

      Yeah, but when you ask it, it will deny any knowledge of the whereabouts of the file in question.

  6. Thats a lot a bits by rambag · · Score: 5, Funny

    Yeah why 4092 bytes? Why not 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 bytes? It seems to me to be the best option

    1. Re:Thats a lot a bits by Anonymous Coward · · Score: 0

      Is 09F911029D74E35BD84156C5635688C0 already a /. cliché joke?

    2. Re:Thats a lot a bits by Anonymous Coward · · Score: 0

      I'm waiting for someone to make it their user id (if that length is allowed).

    3. Re:Thats a lot a bits by nuzak · · Score: 1

      In soviet slashdot, D84156C5635688C0 09F911029D74E35B's you!

      --
      Done with slashdot, done with nerds, getting a life.
    4. Re:Thats a lot a bits by Anonymous Coward · · Score: 0

      011 371 021 002 235 164 343 133 330 101 126 305 143 126 210 300

  7. It took 7 years? by Anonymous Coward · · Score: 0

    To multiply 512 by 8?

  8. How do this affect format /HIUGESECTOR by Anonymous Coward · · Score: 0

    FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X]
    FORMAT volume [/V:label] [/Q] [/F:size]
    FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors]
    FORMAT volume [/V:label] [/Q]
    FORMAT volume [/Q]

        volume Specifies the drive letter (followed by a colon),
                                        mount point, or volume name. /FS:filesystem Specifies the type of the file system (FAT, FAT32, or NTFS). /V:label Specifies the volume label. /Q Performs a quick format. /C NTFS only: Files created on the new volume will be compressed
                                        by default. /X Forces the volume to dismount first if necessary. All opened
                                        handles to the volume would no longer be valid. /A:size Overrides the default allocation unit size. Default settings
                                        are strongly recommended for general use.
                                        NTFS supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K.
                                        FAT supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
                                        (128K, 256K for sector size > 512 bytes).
                                        FAT32 supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K,
                                        (128K, 256K for sector size > 512 bytes).

                                        Note that the FAT and FAT32 files systems impose the
                                        following restrictions on the number of clusters on a volume:

                                        FAT: Number of clusters = 65526
                                        FAT32: 65526 Number of clusters 4177918

                                        Format will immediately stop processing if it decides that
                                        the above requirements cannot be met using the specified
                                        cluster size.

                                        NTFS compression is not supported for allocation unit sizes
                                        above 4096. /F:size Specifies the size of the floppy disk to format (1.44) /T:tracks Specifies the number of tracks per disk side. /N:sectors Specifies the number of sectors per track.

  9. A lot of files are smaller than 512b... by benhocking · · Score: 1

    NOTHING is 512 bytes anymore.
    Perhaps, but you might be surprised at how many 0 byte size files there are. They now take up 8x as much space. A reasonable trade-off, but not completely undebatable.
    --
    Ben Hocking
    Need a professional organizer?
    1. Re:A lot of files are smaller than 512b... by Anonymous Coward · · Score: 0

      They now take up 8x as much space.

      You're assuming the file system block size is also 512 bytes.

    2. Re:A lot of files are smaller than 512b... by a_ghostwheel · · Score: 1

      Many modern file systems do not allocate space for 0 length files. NTFS, e.g., will store files up to 512 bytes (may be different number - not sure) directly in MFT. While I don't know details about ext3/hfs/zfs/jfs/etc, I would assume they have similar features.

    3. Re:A lot of files are smaller than 512b... by drinkypoo · · Score: 1

      Are there any filesystems that store empty files without using up blocks?

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  10. Answer: Better ECC by Anonymous Coward · · Score: 0
    The increased reliability is due to the fact that the standard uses better error-correcting code (ECC). Better ECC does require more space than, say, simply parity-based error detection. However, the additional space should be insignificant in the context of the total block size.

    What concerns me is why no one is working on improving density on my 3.5" microfloppy. I am running Windows 9.5 on an AMD-K5 HP box. I like to save Slashdot tirades, but typical Slashdot tirades consume more space than I have on my microfloppy.

  11. Mod it Funny/Redundant! by RingDev · · Score: 1

    I would love to see that post as +5 Redundant. We all know 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 is going to be waaaaaay over abused for ever now, but at least that post was a good use of it.

    -Rick

    --
    "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    1. Re:Mod it Funny/Redundant! by ConceptJunkie · · Score: 1

      I don't get it, what's the deal with those bytes? Why are people repeating them everywhere, almost as if... it makes someone mad to do so.

      --
      You are in a maze of twisty little passages, all alike.
  12. Not all good.... by RobertM1968 · · Score: 1

    It also means more wasted space on a Windows machine where the user wants a block size of say... 512bytes, or OS/2 and eComStation's HPFS that only uses 512bytes to prevent space waste. It doesnt seem like much, but it does add up if you have a lot of files (pr0n, music, data, images, etc).

    1. Re:Not all good.... by Anonymous Coward · · Score: 0

      Legacy systems like Vista and OS/2 should usually be running under emulation/virtualization hosted on a modern OS anyway. Let Reiserfs on Linux handle the file storage, then share it out via Samba or something over the internal virtual network.

    2. Re:Not all good.... by Kjella · · Score: 1

      it does add up if you have a lot of files (pr0n, music, data, images, etc).

      No, it doesn't. it'll be something like 0.1% of a 3.5MB MP3, which is probably saved by having smaller file allocation tables anyway. The only way it could possibly matter is if you have an extreme amount of small files, like say hundreds of megs of source code and even then it's a pittance on a HDD from the last decade.

      --
      Live today, because you never know what tomorrow brings
    3. Re:Not all good.... by RobertM1968 · · Score: 1

      Well, Vista I only use at work (because I have to), and OS/2 is still in active development under the name eComStation, and still has a better threading model than Linux (which from what I understand is being addressed by the Linux community, so that may change). Also, I prefer the WorkPlace Shell to any other GUI I have used (though OSX comes close) - I like being able to extend the GUI in an infinite number of ways with very small and simple coding, and I like the fact that it is object oriented unlike the Win GUI, and moreso than the various Linux GUIs I have played with. In addition, the servers I run fly on OS/2 & eComStation, but only perform very very well on Linux (far better than any variant of Windows, but nonetheless, Warp still outperforms Linux on the same hardware for the type of serving I do). Linux will hopefully catch up in that respect soon - especially with the changes planned in the threading model - but by then, yet another release of OS/2 (eComStation) will come out and that may be a moot point.

    4. Re:Not all good.... by RobertM1968 · · Score: 1

      Hmmmm, obviously you never stopped to do the math. Lets say I have 900,000 files (I have partitions with more actually). That is an average of 1,843,200,000 bytes wasted using a 4K block size. Compare that to a 512 byte block size with 230,400,000 bytes wasted.

      Please explain to me how:
      1.8GB
      is not much different than
      230MB

      Or are you claiming that the file allocation table on a 512byte sector drive would be over a gig and a half? Mine is using a whopping 80MB for file tables and extended attributes and reverse link information.

      Keep in mind that some filesystems such as HPFS (and I am sure others) rarely/barely fragment, which decreases the size of the file allocation table considerably. Perhaps you are thinking of an NTFS file system world anyway - but in those cases, the fs' default block size is 4K anyway, so this is still moot except for those who change that block size, or those who use other file systems that are more efficient.

    5. Re:Not all good.... by Blakey+Rat · · Score: 1

      NTFS is actually designed to put small files (smaller than the block size, IIRC) into the directory structure itself instead of wasting a bunch of space required to put them in individual files. So it already takes care of this issue with current drives, and will continue to do so with future drives.

      But, you know, good troll and all.

    6. Re:Not all good.... by RobertM1968 · · Score: 1

      Yes, but you are forgetting three factors...
      1 - Any file that doesnt end on a block size boundary (ie: multiples of 4096) will waste space (ie: a 6144 byte file - which is larger than the block size - wastes 2048 bytes).
      2 - What files nowadays are smaller than 4K? (keep in mind the quantity of files that fit that criteria and read #3)
      3 - The quantity of files is what exasperates the situation. (Quantity x free space at end of last block).

      NTFS does nothing to alleviate this.

      So, I guess my post wasnt a troll - especially since I was using NTFS as an example only (and indicated that users could and some do adjust the block size of a partition to prevent space waste). And I would also guess that you either didnt really read my post (or you would have seen that), and/or are a troll yourself, and/or just have no idea of what you are talking about and think spouting off one (totally irrelevant) fact will make it sound like you know something. Hopefully it's the first one, cause by something as simple and innocent as not enough coffee... but this is /. so maybe I should know better...

      Better luck next time...

    7. Re:Not all good.... by Anonymous Coward · · Score: 0

      Um, go take a look at what your block size is now. If you used the default settings and your volume is at least 2 GB, you're already using 4K blocks.

    8. Re:Not all good.... by RobertM1968 · · Score: 1

      Um, go read my post again where (1) I indicate my knowledge of the default block size and the ability to change it, and (2) indicate that on my eComStation servers, the default (and only) block size is 512 bytes.

      Sorry if my post confused you...

    9. Re:Not all good.... by EvanED · · Score: 1

      900,000?! What kind of load are you running?

    10. Re:Not all good.... by RobertM1968 · · Score: 1

      Multi-homed web server, tons of image scans running about 500K a piece, lotsa html for the static sites, some scripts and templates for the script driven sites, my music of course (gotta have music), numerous snapshot backups that I have been too lazy to compress into an archive, multiple running and testing versions of some of our sites (and all the related scans, other images, templates, scripts, etc) all in separate directory trees so we ensure that one code version or one script/program revision is isolated from the other scripts/programs and data.

      I could zip a lot of the older directory trees and drop that number down to a hundred thousand or so, but I havent felt like bothering...

      (what I was trying to point out was) even if it was 90,000 the difference in wasted space is still significant. A factor of 8 - for what people here seem to think is questionable reliability improvements.

    11. Re:Not all good.... by zevans · · Score: 1

      "It doesnt seem like much, but it does add up if you have a lot of files (pr0n, music, data, images, etc)."

      Surely all of those types of file are way over 512 bytes anyway?

      Unless you can fit a really really dirty story into 85 words or so of English?

      --
      "... and more and more now there are all kinds of electronic goodies available" -- Pink Floyd 1972
    12. Re:Not all good.... by Anonymous Coward · · Score: 0

      I don't think HPFS even supports sector sizes other than 512, so you probably can't even format one of these drives with HPFS.

      dom

    13. Re:Not all good.... by RobertM1968 · · Score: 1

      Exactly the problem - not too much of an issue since I can use JFS which supports different sector sizes, but HPFS (and HPFS386) dont frag, while JFS does. And HPFS386 is faster than JFS in my experiences.

      Though I am curious if the file systems can still do logical sector sizes of 512bytes...

  13. What about the MBR? by QuantumG · · Score: 4, Funny

    Trying to fit an entire virus into 512 bytes was always a challenge.. but 4096 bytes? That's too easy!

    --
    How we know is more important than what we know.
    1. Re:What about the MBR? by eddy · · Score: 1

      We can have really cool bootsector demos now!

      --
      Belief is the currency of delusion.
    2. Re:What about the MBR? by Godji · · Score: 3, Interesting

      The parent raises a point though: now that we have bigger sectors, are we finally getting a standard for partition tables with more than 4 entries without using logical partitions?

    3. Re:What about the MBR? by ottffssent · · Score: 3, Informative

      The word you're looking for is GPT. It has nothing to do with 4k hardware sectors, but it does support up to 128 partitions. Which ought to be enough for anybody (says the man with a 1 average number of partitions per disk in his household).

    4. Re:What about the MBR? by shawnce · · Score: 2, Informative
    5. Re:What about the MBR? by shawnce · · Score: 1

      It supports more (or less) then 128 partitions... the wikipedia entry just outlines what the Windows partitioning tool reserves.

  14. Yes, I (incorrectly) was by benhocking · · Score: 1

    As others have pointed out, most file systems already allocate 4K per block.

    --
    Ben Hocking
    Need a professional organizer?
  15. Plan for the future! by operagost · · Score: 2, Funny

    These kinds of incremental standards are simply not forward-looking! I propose that the data block size be set to a minimum of 2^32 bytes.

    --

    Gamingmuseum.com: Give your 3D accelerator a rest.
  16. Error correction better over larger blocks by EmbeddedJanitor · · Score: 4, Informative
    If you're working with a certain number of ecc bits per data bit, then the number of corrections you can perform increases with an increased data block size. Oversimplifying, just for explanation here:

    Let's suppose you can fix one error per 512 byte block or 6 errors per 4096 byte block. Intuitively that might seem like a step back because 6/8 is smaller than 1, but that is not so. If you have 512-byte blocks and get two errors in a 512-byte sequence then that block is corrupt. However if instead you're using 4096 byte blocks then a 512-byte sequence within that block can have two errors since we can tolerate up to 6 errors in the whole block.

    Or put another way, consider a 4 k sequence of data, represented by a sequence of digits dependent on the number of errors in each 512 bytes. 00000000 means no errors, 03010000 means 3 errors in the second block and 1 in the fourth block (ie a total of 4 errors in the whole 4096 bytes). With a scheme that can fix only one error per 512 bytes, the block with 3 errors cannot be corrected (because 3 > 1), but in the system which fixes up to 6 errors per 4096, the errors can be fixed because 4 6. This means that the ECC is far more reliable.

    --
    Engineering is the art of compromise.
    1. Re:Error correction better over larger blocks by Jartan · · Score: 1

      Let's suppose you can fix one error per 512 byte block or 6 errors per 4096 byte block. Intuitively that might seem like a step back because 6/8 is smaller than 1, but that is not so. If you have 512-byte blocks and get two errors in a 512-byte sequence then that block is corrupt. However if instead you're using 4096 byte blocks then a 512-byte sequence within that block can have two errors since we can tolerate up to 6 errors in the whole block.


      Parity data is parity data. It doesn't matter where it's stored. The thing that is confusing here is that block size really has nothing to do with improving error correction. They could take 8 512-byte blocks and strip all the parity data from the first 7 and put it all in the 8th block and get the same effect error correction benefits. That would require a new standard too though so why not go whole hog.

      The real answer though is that larger blocks have nothing to do with better error correction. The new format simply uses a better error correction method in addition to using larger block sizes as well.
    2. Re:Error correction better over larger blocks by hamanu · · Score: 2, Informative

      OK, yes you COULD move the parity dta around but you'd get shitty performance. Hard drives are made so that each sector is independent of another. That makes each sector a seperate codeword on disk. What you are proposing is to introduce dependency between sectors, and that would mean having to read adjacent sectors in order to write a single sector, which means goin through 2 revolution of the disk instead of one.

      --
      every _exit() is the same, but every clone() is different.
    3. Re:Error correction better over larger blocks by Ben+Hutchings · · Score: 1

      No, every block has to be independently writable. That's why they can't just use 4 Kbyte sectors on the disk and present them as 8 blocks through the ATA interface.

    4. Re:Error correction better over larger blocks by Anonymous Coward · · Score: 1, Informative

      Parity is an extremely bad error correction code. There are batter way and your limit is set by Shannon's source coding theorem, http://en.wikipedia.org/wiki/Source_coding_theorem . That is, one treat the disc surface -> computer memory as an information channel that has certain probability of errors and one want to add extra redundancy into the data so the probability of failure decreases to some practical value like only one error in 10 years.

      Shannon's theorem gives the theoretical minimal level of redundancy that is required to achieve this low overall probability. Practical error correction codes stays well above the minimal level meaning that more space is wasted on the disk than strictly necessary. But with bigger blocks it is easier to get closer to the limit so 4K blocks should allow for less wasteful redundancy.

    5. Re:Error correction better over larger blocks by InvalidError · · Score: 1

      The method is suitable for CD/DVD discs since they are typically written TAO/DAO but for HDDs and most other spindle-based random-write media (DVD-RAM, MO, floppies, etc.) but for HDDs, this would be a nightmare... it would make read/write operations much more complex and increase the sector latency by whatever the distance between the begining of the sector's data and the end of its distributed error-recovery information.

      If error-recovery information is spread over 32 sectors on the same cylinder, all single-sector reads would then incur 32x the single-sector read/write latency. This would be horrible for many benchmarks but most operations would still require only one rotation.

      Actually, going up to 4KB sectors may already be horrible for applications that routinely rewrite tiny pieces within files (update fixed-length fields within a binary file for example) thanks to larger read-modify-write operations.

    6. Re:Error correction better over larger blocks by tepples · · Score: 1

      every block has to be independently writable. That's why they can't just use 4 Kbyte sectors on the disk and present them as 8 blocks through the ATA interface. NAND flash memory cards already do this. As the density increases, the row length increases past 4096 bits, and the memory controller needs to do some sort of read-modify-write sequence in order to rewrite one of the sectors in a row on the chip. So did the Amiga, whose floppy disk physical interface used tracks as a primitive, not sectors like on the other systems. So why can't a hard drive read an entire track and do modify-writes when changing data?
    7. Re:Error correction better over larger blocks by Ben+Hutchings · · Score: 1

      Well, OK, they can read-modify-write (and do, for compatibility) but it does make single block writes much more expensive than would be expected. The device driver needs to know that it should rewrite 4 Kbyte blocks. Also the partition editor and filesystem should ensure 4 Kbyte alignment. (Windows Vista does this. I fear GNU/Linux is lagging.) In the Amiga case, the drives were dumb and it was up to the driver to write entire tracks.

    8. Re:Error correction better over larger blocks by Anonymous Coward · · Score: 1, Informative

      Most OS's coalesce small writes anyway (ref:delayed write), so you wouldn't get any performance degradation unless you are manually flushing the bytes to disk.

  17. Re:Not all good.... You said it! by freeze128 · · Score: 1

    The larger block size is bad if you have a lot of little files, but better if you have fewer large files.
    This will just encourage Microsoft to stop using INI and XML files and to store more settings the in the big REGISTRY...

  18. If you need to put millions of tiny files on disk by grahamsz · · Score: 1

    Then you should really be considering a database.

  19. CD error recovery unrelated to block size by _Shorty-dammit · · Score: 2, Informative

    Block size has absolutely nothing to do with how much redundancy you can build in, and I fail to see the logic in assuming so. Makes absolutely no sense. The 2048 bytes stored on a sector of a CD only refers to your data, and absolutely none of them have anything to do with the CD's error-correction mechanisms. They add lots of extra bits to make up their error-correction, over and above your 2048 bytes of data. But, the point is it doesn't matter how much space you reserve to hold user data, you can arbitrarily reserve any amount of space you want for error-correction bits. You can have 16-byte sectors with 16MB of error-correction. Now, *that* would be a lot of redundancy. But certainly something you could do if you want to, and there's not going to be very many people arguing that those 16-byte sectors weren't covered by much redundancy. I doubt anyone would ever use that much redundancy, obviously, but it's just an outrageous example to show that the amount of redundancy has absolutely nothing to do with how much user data is stored per sector.

    1. Re:CD error recovery unrelated to block size by longword · · Score: 1

      Spatial localization of bit errors.

    2. Re:CD error recovery unrelated to block size by _Shorty-dammit · · Score: 1

      Was this supposed to convey some bigger idea you had? Anyway, you need to do some more reading about just how error recovery works, and how user-data-block-size is irrelevant to how much redundancy you can/do have. You're wrong, and you don't know what you think you know. Go read about the actual bit layout of a CD, since that was your example.

    3. Re:CD error recovery unrelated to block size by hamanu · · Score: 2, Informative

      the rate of a code measure how much redundundacy it has, correct. But why do you think block length doesn't matter? Just because you have high redundancy doesn't mean your errors are going to magically be recoverable. To actually recover the data you need enough distance between valid codewords so that when a codeword is perturbed by errors you can still see which valid codeword it is closest to. With short block lengths you get small decoding distances, and low error correcting power. If you learn information theory a bit better you'll see Claude Shannon's channel "capacity" theory assumes infinite block length, and it does that for a REASON.

      --
      every _exit() is the same, but every clone() is different.
    4. Re:CD error recovery unrelated to block size by hamanu · · Score: 2, Informative

      I guess I should pre-emptively point out that for a hard drive you want to be able to modify each sector atomically, which means that a single sector corresponds to a single codeword, and increasing areal density means you need longer codewords to maintain error correction. So either you decrease the rate of the code, and use extra redundancy, which lower capacity and defeats the purpose of increasing areal density, or you us longer codewords at the same rate, which means using longer sectors.

      --
      every _exit() is the same, but every clone() is different.
    5. Re:CD error recovery unrelated to block size by SailorFrag · · Score: 1

      Perhaps they've discovered some new codes for larger block sizes that are closer to being perfect codes than the current ones they use. If the codeword size is 6x what it was before, then maybe the % of possible read vectors that get the "too many errors; don't know how to correct this" case will be smaller. Also, I'm not sure where you're going with your CD example: the coding they used in CDs is really obsolete by today's standards anyway.

    6. Re:CD error recovery unrelated to block size by ElecCham · · Score: 5, Interesting

      I can speak with some authority on this - I work for one of those aforementioned hard-drive manufacturers, and have been doing a small amount of work on this exact thing.

      The easy answer is this: in order to do ECC-like data checking on a larger set of data (say, a group of eight 512-byte sectors), it means that if you want to write sector three of that eight, you end up having to re-read the whole thing before you do anything else - thus basically giving you 4,096-byte "sector" anyway.

      The other half of that answer is this: do you know what the "real" storage capacity of a CD is, without all the error checking? It's a bit less than double. Even most of the enterprise folks wouldn't accept a 40% hit in data density in return for what works out to not that big an increase in reliability (data redundancy doesn't buy you that much unless that data is on different spindles). They'd just rather get the whole data space and do a RAID, especially since that's what they're going to do anyway.

      --
      Sig broken, watch for .finger
  20. 0 bytes = 0 blocks by benhocking · · Score: 1

    You are correct. I just looked at one of my 0-byte files and found that it occupied 0 blocks. I guess I'm a little out of touch with file systems.

    --
    Ben Hocking
    Need a professional organizer?
  21. Well you're already wasting your disk space.... by EmbeddedJanitor · · Score: 2, Funny

    ...if you have Windows loaded.

    --
    Engineering is the art of compromise.
    1. Re:Well you're already wasting your disk space.... by RobertM1968 · · Score: 1

      :-)

      Only on my gaming machine... my servers are all eComStation, and one or two will become some variant of Linux soon. Problem I will run into is that HPFS (eComStation) has a fixed block size of 512 bytes.

  22. Bootloader now 4096 bytes? by Kjella · · Score: 3, Interesting

    Did the space for the bootloader just increase to 4096 as well? For those unaware, the BIOS loads just the first sector of the disk into memory, the bootloader takes it from there. It would certainly let them get a lot more resilient, now they only barf if things are not as expected.

    --
    Live today, because you never know what tomorrow brings
  23. Oh great by Skapare · · Score: 1, Troll

    Now when I want to update just 256 bytes, instead of reading 512 bytes, changing 256 of them, and writing 512 back, I now have to do this with 4096 bytes. So I end up transferring 3584 more bytes than I otherwise needed to.

    They really could do this transparently. Let the driver write anything in any range. Then have the drive take care of reading the data for any sector partially written, update it, and write it back. With a method like that, we really won't have to know the physical sector size (which could even be allowed to vary depending on the position on the drive). It should also be made smart enough that if the driver writes a long sequence of smaller traditional 512 byte sectors, it will know which real physical sectors are totally written and won't make any effort to pre-read them.

    --
    now we need to go OSS in diesel cars
    1. Re:Oh great by avxo · · Score: 4, Informative

      Now when I want to update just 256 bytes, instead of reading 512 bytes, changing 256 of them, and writing 512 back, I now have to do this with 4096 bytes. So I end up transferring 3584 more bytes than I otherwise needed to.
      So, your O/S requires that you issue all read and write operations using the hard drive's native block size? That must suck. What else must you do? Setup DMA manually in your app? Solder a microcontroller onto the board perhaps? Sarcasm aside, you seem to have a fundamental misunderstanding of what this change achieves, who it will affect, and how. Other posters have addressed those very issues eloquently, so I won't go into that.

      They really could do this transparently. Let the driver write anything in any range.
      Sorry to burst your bubble but it already is done transparently. The O/S lets you write anything -- from a single byte, to gigabytes -- transparently; all you do is tell the O/S read n bytes of file F so and so into buffer at x, or write m bytes from buffer at y into file F, which is the interface that 99% of programmers use. And after what you wrote above, I find it hard to believe that you are writing the specialized software, low-level drivers and/or controller microcode that could potentially be affected by this change.
    2. Re:Oh great by Anonymous Coward · · Score: 0

      Now when I want to update just 256 bytes, instead of reading 512 bytes, changing 256 of them, and writing 512 back, I now have to do this with 4096 bytes. So I end up transferring 3584 more bytes than I otherwise needed to.

      Um, yes, that's rather obvious.

      Also now, when the OS needs to page out some data to the swap partition, it will be able to use one disk sector per RAM page instead of 4. And when you write a huge file to disk, the bigger sectors will make life easier for the block I/O driver layer. So you lose some and you win some, and the win some cases look like a net benefit to me.

      It should also be made smart enough that if the driver writes a long sequence of smaller traditional 512 byte sectors, it will know which real physical sectors are totally written

      Not a sensible idea. The new drives will work with new drivers; that's all you really need. Once the block I/O drivers of the OS grok the new drives, the drives will Just Work(tm).

      I really don't want my drive controller to be second-guessing the driver! That way lies madness. You want the drive controller simple and reliable; put the complexity in the drivers, which run on a real computer.

    3. Re:Oh great by Skapare · · Score: 2, Interesting

      If it's already transparent, then what is the big deal? If what you say is true, they could make blocks/sectors as long as they want and we won't need to know (except the driver writers need to know what constraints exist in the interface to send the read and write commands to the drive).

      Sorry to bust YOUR bubble, but I do know how the OS works, and how it's interface works. The issue depends on what blocksize the commands between driver and hardware require. If you cannot instruct the hardware at a finer resolution than 512 bytes at a time, then writing 256 bytes really does mean that the OS at some layer (maybe in the driver, maybe at a higher layer, depending on the OS) will read 512 bytes, update 256 of them, and write 512 back. If that interface is being changed to require 4096 bytes minimum per I/O operation, then it really does increase the needed transfer work going on between the driver and hardware.

      My post was meant in part to be humorous, and in part to raise an issue. The issue is the transparency of the driver to hardware interface. I do know from random encounterings that for IDE it really does require the driver do I/O operations in multiples of 512. That really does affect the 256 byte I/O request from userspace, but it's not really a serious request due to the caching nature of modern operating systems. And there is no reason in the world why they cannot have been doing 4096 byte or longer blocks for years or decades. If they have been doing it, there's no news (but that's typical Slashdot, so how would we know). Given the I/O command interface is in units of 512 bytes, it's probably convenience that whatever long block size the drive uses be an exact whole multiple of 512 bytes, even that is not essential. A couple decades ago I wrote a "driver" for a mainframe OS that handled I/O requests in units of 4096 bytes, with an on-disk blocksize of 18432 bytes. If you do your arithmetic, you can see that is 4.5x. So some I/O request blocks end up spanning physical blocks on disk. No big deal.

      Now I have not been following PC hardware technology very much, so I don't know how much has been added to the I/O interface capability. If they have added a new byte-level I/O command set, then fine. Do you even know if they have?

      --
      now we need to go OSS in diesel cars
    4. Re:Oh great by Skapare · · Score: 1

      Also now, when the OS needs to page out some data to the swap partition, it will be able to use one disk sector per RAM page instead of 4. And when you write a huge file to disk, the bigger sectors will make life easier for the block I/O driver layer. So you lose some and you win some, and the win some cases look like a net benefit to me.

      I agree there is a net benefit. My original post was meant to be humorous. Unfortunately a lot of people missed that because I forgot to explain to them that this was at the driver level when they were assuming it was at the user space level.

      Not a sensible idea. The new drives will work with new drivers; that's all you really need. Once the block I/O drivers of the OS grok the new drives, the drives will Just Work(tm).

      I'll have to disagree with this one. Adding new I/O commands wouldn't hurt. But the old ones need to continue to be supported. A request to write a group of 16 sectors of length 512 each to sector number 786 should end up being handled by the drive controller as if the request were to write a group of 2 sectors of length 4096 each to sector number 96. This is not hard to do. While the new command set might be ever so slightly more efficient, either could still write those 2 4096-byte sectors in the right place. Or they could write a single 8192-byte sector. By keeping the old command set, compatibility is maintained and new drivers are not needed. Then one can replace a drive without having to upgrade the software (which will almost certainly go through a few cycles of bugs that the mature older drivers have already gotten rid of).

      I really don't want my drive controller to be second-guessing the driver! That way lies madness. You want the drive controller simple and reliable; put the complexity in the drivers, which run on a real computer.

      There is not second guessing. When the I/O command is received, what the driver wanted done is clear and unambiguous. Sure, there would be more controller code nedeed to handle 2 sets of commands. But that's far far less of a burden today than the one command set was back when when this all started.

      It seems people are too ready to stuff all complexity on the main CPU. They forget that making smarter devices can make this overall faster for cheaper total cost (except several video card makers who do have this figured out and call it acceleration).

      --
      now we need to go OSS in diesel cars
  24. Re:If you need to put millions of tiny files on di by angst_ridden_hipster · · Score: 1

    Evidently, you don't think EFS3 is the right database?

    I mean, it's not relational, but it's pretty damn powerful.

    --
    Eloi, Eloi, lema sabachtani?
    www.fogbound.net
  25. Longer != Better by snoyberg · · Score: 4, Funny

    I have to disagree with the whole premise here. I know that people always say that longer is better when it comes to hard drives, but I've never had any reliability problems with my smaller one. Not only that, but I've had very fast transfer rates under all sorts of strenuous loads.

    Wait, we're talking about storage devices? Never mind...

    --
    Thank God for evolution.
  26. details here...or maybe not. by Aggrav8d · · Score: 1

    http://www.idema.org/_smartsite/modules/local/data _file/show_file.php?cmd=standards&cat=103&h=1#

    Long Data Block Standards->Approved Standards says "There are currently no approved standards for this committee". (as of 15:30 PST)

    Note to self: If I ever post anything to slashdot I will check I have my facts straight before hand. I wouldn't want to look like (any more of) a twit. It's the internet equivalent of giving a speech only to realize you're on stage in nothing but your underwear. ...and they're not that clean.

  27. Already Obsolete by Detritus · · Score: 1

    See the work on ANSI T10 Data Integrity Field, that provides end-to-end error detection. It bumps the standard block size from 512 to 520 bytes.

    --
    Mea navis aericumbens anguillis abundat
    1. Re:Already Obsolete by Wesley+Felter · · Score: 1

      520-byte sectors were a nice idea back in the day when all RAID arrays used SCSI/FC disks. But these days you have to support SATA and its 512-byte sectors, so you just find somewhere else to store the checksums.

    2. Re:Already Obsolete by Detritus · · Score: 1

      Why not bump the sector size up to 520 or 4104 for SATA drives? There's no hardware reason that restricts the drives to sectors that are equal to 2**N.

      --
      Mea navis aericumbens anguillis abundat
    3. Re:Already Obsolete by Wesley+Felter · · Score: 1

      The reason SATA drives are cheaper than SCSI is because they don't support all those crazy features.

  28. Mod Parent Funny! by FMota91 · · Score: 0

    This guy is a genius. C'mon.

    --
    09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C1 bottles of beer on the wall. Take one down, pass it round... Oh, umm...
  29. should be larger: 16K, at least by dltaylor · · Score: 1

    I've spent time optimizing block size, along with block offset, sparing strategies, etc. for SMD drives. 4K blocks worked well with System V on 68K, since it matched the page size (x86, commonly, too). There were also many more small files in those days.

    I find that 16K works better now, when I have been able to try it, either by reformatting SCSI drives or using virtual disks at various "stripe" sizes (virtual disks don't let me tinker with sparing, of course). There are tradeoffs in the number of bits required for ECC at different block sizes, and the sparing strategy must be carefully considered, but larger blocks are going to provide more data on the media and better throughput until they start conflicting with buffering and physical media geometry. Further, the proportion of small files (4k, or less) is dropping. "man" pages are getting larger, along with the "info" pages, and mail agents often aggregate messages in folders (or globally), rather than having a message-per-file. I suppose the proliferation of ".*rc" files brings up the proportion of small files a bit. If you're on a UFS, or equivalent, what proportion of your files are tucked into the inodes (yes, I know it's different, but remember why the facility exists)? One of my continual annoyances with ext2 is the stupidly small limitation on block size.

    Paging is about the only downside to 16K blocks, but that's really a small kernel tweak to schedule paging in media, in addition to CPU, block sizes. Even without the change, the read 4, merge 1, write 4 for paging ('specially if you can use a gather list for write DMA, since the "merge" is virtually ;-) free), is a smaller cost than having larger file system blocks matched to media blocks is a gain.

    1. Re:should be larger: 16K, at least by swilver · · Score: 1
      What does file size have to do with wasted space? Only the amount of files has any bearing on it (for most filesystems), as the wasted space on average is #_Of_Files * Block_Size / 2. So on of my 300 GB drives which holds around 300.000 files, with 4k blocks that is a waste of about 0.6 GB. Not that I care about it, but filesize has little to do with it (1000 files of 4096 + 1 bytes are just as wasteful as 1000 files of 1 byte).

      Filesystems that pack multiple tails of files together in a single block nicely reduce this waste, but its only really useful on drives with lots and lots of small files, which is something that is less and less used (news and mail were notorious for using lots of tiny files, but most solutions these days either store multiple messages in a larger file or use some kind of database for storage).

      I also wouldn't be so sure that having larger blocks when paging uses smaller blocks is only a small loss. It still means that writing a 4 kB page (to a 16 kB disk block) involves a read where before it involved no reads at all. For most harddrives that means an extra rotation or two of the media before you can move on to something else.

      Anyway, what's really interesting is something I found out years ago; hard drives take almost no penalty for reading blocks of data of 16 kB (and the modern ones can go to 128+ kB easily) as opposed to reading just 512 bytes when doing random accesses to the drive. The problem with using such large blocks (in memory for paging, or just for caching) is that memory efficiency goes down significantly when (often) only part of that block of 16 (or 128) kB is actually relevant (for caching a frequently used small file, or for paging back an idle loop of an idle application running in the background). It is far more efficient with smaller blocksizes because less memory is wasted on stuff that just happens to be loaded because of its proximity to the actual data you really need.

  30. Re:Not all good.... You said it! by RobertM1968 · · Score: 1

    Hopefully it will... but as I put my entire CD collection onto my machine, that will only alleviate MS's part in the wasted space issue... :-(

    Much of the other issues a larger sector size alleviate would also be addressed if MS would revise NTFS so it wouldnt fragment. They know how, as they have access to the HPFS internals (HPFS rarely exceeds 1 or 2% fragmentation). That is something else I dont understand... they have the answers to many complaints about Windows (that being only one of them) and do nothing about it. I guess it's a matter of economics (like the ability to sell "better"/"full function" defrag tools to supplement/replace the ones that come in Windows...

  31. Re:ATTENTION SLASHDOTTERS: ME == PIMP, YUO == HOE by EugeneK · · Score: 0

    I heard it on talk radio, but there weren't any more details.

  32. blocks and clusters by ceroklis · · Score: 4, Informative
    To all the posters complaining about the loss of space when they will be forced to use 4096 instead of 512 bytes to store their 20 bytes file:

    • The cluster size (unit of disk space allocation for files) need not be equal to the physical block size. It can be a multiple or even a fraction of the physical block size. It is fairly probable that you are already using 4K clusters (or bigger), so this will not change anything. This is for example the case if you have an NTFS filesystem bigger than 2GB.
    • Not all filesystems waste space in this manner. Reiserfs or EXT3 can pack several small files in a "cluster" .
    1. Re:blocks and clusters by ceroklis · · Score: 2, Informative

      s/EXT3/EXT4/

    2. Re:blocks and clusters by tepples · · Score: 1

      Not all filesystems waste space in this manner. Reiserfs or EXT3 can pack several small files in a "cluster" . But can I read or write Reiser* or Ext* on all desktop computers to which I might connect a USB hard drive?
    3. Re:blocks and clusters by petermgreen · · Score: 1

      thats true but his first comment still applies. its very unlikely your flash stick is formatted with a cluster size less than 4K anyway. Some of them actually don't use 512 byte sectors either (which can be a pain when booting off them).

      If its a big flash stick it may have much bigger clusters, a 2 gig fat16 stick will have 32K clusters, a 4 gig fat16 stick will have 64K ones. I'm not sure if the larger flash sticks tend to come formatted fat16 or not but even if they are formatted as fat32 i highly doubt they will have clusters smaller than 4K.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    4. Re:blocks and clusters by Anonymous Coward · · Score: 0

      The OS/programmer need not play with all 4k either it could still 'logically' look at it as 8 512 blocks. But if you play with the system that way you will be taking a speed hit...

      I see this more as a new way of moving bigger blocks around. Not a straight up change. Should give a ~10% boost just on packet overhead right away as more and more software takes advantage of the new modes.

      Just like today you can still use a SATA drive like it was an old IDE drive and it will respond correctly. But use the newer SATA stuff and the drive 'runs' faster.

    5. Re:blocks and clusters by Anonymous Coward · · Score: 0

      Not all filesystems waste space in this manner. Reiserfs or EXT3 can pack several small files in a "cluster" .

      NTFS also stores small files and directory entries directly in the MFT (Master File Table). I think the cutoff is somewhere around 1 to 1.5 kilobytes.

      In any case, all modern filesystems use a cluster size of 4 kB already so the change from 512 byte to 4 kB physical sectors doesn't make anything worse than the status quo; it only improves performance through the reduction in overhead.

  33. Flawed logic by Anonymous Coward · · Score: 0

    That can't be true, at least not like you stated it. If you can correct fewer than 1 error per 512 bytes, and if the locations of the errors are statistically independent, then you are worse off than before. So either: 1) you left out some critical information (namely, that the errors tend to occur in clusters), or 2) you are wrong. So, which is it?

    1. Re:Flawed logic by hamanu · · Score: 1

      the 1 error per 512 bits is not an EXPECTED error rate. It's a CORRECTABLE error rate. The actual error rate is going to be far below that, but due to bursts will sometimes be above it, which is why the extra block length is good.

      --
      every _exit() is the same, but every clone() is different.
  34. Sector Size vs Cluster Size by camperdave · · Score: 1

    Chances are you're reading 4096 bytes already. Disk access hasn't been sector oriented since before the turn of the century.

    --
    When our name is on the back of your car, we're behind you all the way!
  35. Thank you, Captain Obvious! by billcopc · · Score: 2, Interesting

    It's about effing time!

    512 bytes was good for floppy disks. I think we should have started upping the sector size around the same time as we hit the 528mb 1024-cylinder limit back in the early 90's. Considering that a modern hard drive has anywhere from one-half to two billion sectors, and that's some serious overhead for no reason. Error-correction is "easier" if it's spread over larger blocks. Why ? Because most files are quite large, and corrupting a 512 byte chunk is just as bad as corrupting a 4096 or 8192 byte chunk, because it's hosing the file either way. Might as well pool the ECC together and offer better protection for the large block, while still wasting less bits than the sum of all the small sectors' ECC. Even without the proposed ECC algorithm overhaul, larger blocks would allow more usable data per platter.

    The downside is that we've had 512 byte sectors for so long, everyone's hardcoded the number in their apps and drivers. The biggest risk involved is to patch all that software... one little glitch could hose a ton of data.

    --
    -Billco, Fnarg.com
  36. So it would be better to say... by Ayanami+Rei · · Score: 1

    4k is the common base of the most widely used operating system page sizes. :-)
    (1k being more popular for embedded systems that don't have HDs anyway)

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
  37. No, the logic is not flawed. by EmbeddedJanitor · · Score: 2, Informative
    Consider it this way

    Let's say you have 4096 bytes arranged as 8x512-byte blocks and each block can correct one error. Now lets say that we RANDOMLY (ie statisticly independently) introduce, say, 4 errors into that set of 8 blocks. Sometimes the errors will fall so that there are at most one error per block. That is correctable. Sometimes the errors will fall so that there are more than one per block. In that case data will be lost.

    However, if we can correct up to, say, 6 arbitrarily placed errors per 4096 bytes we can then have 4 errors anywhere in that block and we won't lose data. It does not matter whether they are spread out or clustered together we can always handle those errors.

    This makes for stronger correction.

    --
    Engineering is the art of compromise.
  38. About time by Duncan3 · · Score: 0

    Most RAID systems or databases (and even most filesystems) are using block sizes FAR larger then 4k already.

    The still tiny 4k is only used because Intel and most other VM paging systems all use 4k. I haven't run a machine with paging turned on in years tho, I don't think most people do since RAM is so cheap.

    --
    - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    1. Re:About time by Anonymous Coward · · Score: 0

      actually i don't think most people have a freakin clue how paging even relates to RAM, let alone why/how to turn it off in windows.

      most people being your average email + internet windows user... which im guessing is what most people are. you know, for the most part... ;)

    2. Re:About time by CCFreak2K · · Score: 1

      In its default configuration, Windows NT (at least from 5 up) pages unused memory out to disk. In fact, the Windows NT kernel functions best when it CAN page (as opposed to when paging is turned off), and it's vital to leave it on. I actually had a link to a web page that explained why, but unfortunately I lost it.

      --
      "Beware of he who would deny you access to information, for in his heart he dreams himself your master."
    3. Re:About time by hyc · · Score: 1

      How generous you are, giving away your ignorance so freely.

      The vast majority of people with computers on their desktops are using paging all the time. Even in Windows, when you turn off the paging file, executables are still demand-paged into memory instead of being loaded in all at once.

      --
      -- *My* journal is more interesting than *yours*...
  39. Slashdot Article in 2010 by /dev/trash · · Score: 2, Funny

    Debian Finally Supports Long Block Data

  40. This will be familiar to old programmers by clem.dickey · · Score: 1

    S/360 JCL (and the S/360 DCB macro) had a mechanism for 4096-byte blocks in 1964:

    RECFM=F,LRECL=4096

    The first IBM disk drive to hold 4096 bytes on a track was the 2314, introduced in 1965.

    1. Re:This will be familiar to old programmers by Fyzzler · · Score: 1

      S/360 JCL (and the S/360 DCB macro) had a mechanism for 4096-byte blocks in 1964:

      and 360 JCL should have been put out to pasture and abolished in 1974. I had the misfortune of having to learn it in the early 1990's for a Cobol class. The Cobol surprisingly was not that bad, but the 360 JCL was enough to drive me to drink and consider buying a gun to go hunt down and shoot anyone who had anything to do with creating 360 JCL.

      Seriously, having to specify which device, block and sector your files are located at beyond the year 1980 is totally messed up.

      --
      I have one question. If the Japanese Ministry of Agriculture is not in charge of Gundam, then who is?
    2. Re:This will be familiar to old programmers by clem.dickey · · Score: 1

      Seriously, having to specify which device, block and sector your files are located at beyond the year 1980 is totally messed up.

      If you don't want to specify the device, catalog the dataset: DISP=CATLG. If you don't want to specify the block, you can name each record instead: KEYLEN=8, e.g. Sector? There's no such beast in OS/360.

  41. But are the costs passed on? by tepples · · Score: 1

    I don't have access to the actual standard, but would guess that they're really claiming more reliability for the same storage capacity, not more reliable in absolute terms. In the real world this translates into, "more reliability". Reliability has always been relative to dollars spent. This means given the same dollars you are more reliabile. This means, given absolute dollars, you are more reliable. Or given absolute dollars, you get the same reliability, and the manufacturers' investors pocket the difference in cost.
  42. Internal fragmentation by tepples · · Score: 1

    Is there a good reason why 4096 was chosen? Is that just an artifact of this being designed in 2000? At this point very few files on the average system would be smaller than this. It seems to me they could have quite safely chosen something like 16k which would have improved things more There are still enough small files on a system that 4 KiB sectors reduce internal fragmentation. Because common PC file systems don't support tail packing, a 2 KiB C or C++ header file or a 2 KiB PNG image in a web browser's cache takes up 16 KiB under your scheme. I can take your argument to the other extreme: Why didn't we just stick with FAT16 and use 4 MiB sectors on a 250 GB hard drive?
  43. Wouldn't that basically be a hardlink? by Kadin2048 · · Score: 1

    Yes I think many, if not most, modern filesystems will. I don't really see why a zero-length file should be any harder to handle than a directory, and they generally don't take up any storage space on disk (they obviously do take some space, but not in the way most users think of it). Seems like you could just create an empty file by writing an inode to the table and specifying a zero-byte length, so it wouldn't be linked to or take up any actual data blocks on disk. It would be like a hard link, but pointing to nothing. That doesn't sound like it would be that hard to do, if you really wanted to -- if it's not possible, it's probably less because of infeasibility than because somebody thinks it would be a misfeature or cause problems.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  44. For USB hard drives? by tepples · · Score: 2, Interesting

    use a file system that can pack multiple file tails into the same block Which mainstream operating system can read such a file system? Or should I just abandon tail packing for use on a USB hard drive that will be used with multiple operating systems, at least one of which was made by Microsoft?
  45. Embedded systems by tepples · · Score: 1

    So, your O/S requires that you issue all read and write operations using the hard drive's native block size? That must suck. What else must you do? Setup DMA manually in your app? Solder a microcontroller onto the board perhaps? You try NES development. If you can't solder together your own devcart out of a gutted NES Game Pak (the analog of building your own lightsaber in the Star Wars universe), some prominent forum members will look down upon you as an "emulator weenie".

    The O/S lets you write anything -- from a single byte, to gigabytes -- transparently; all you do is tell the O/S read n bytes of file F so and so into buffer at x, or write m bytes from buffer at y into file F, which is the interface that 99% of programmers use. Unless it is your job to port an operating system to new hardware. Or unless you are programming for a microcontroller in a handheld device whose resources are limited. Perhaps each file descriptor is associated with only 512 bytes of buffer, and adding 3584 more bytes per open file would require drastic cuts to the maximum number of open files or a larger, more expensive RAM in the system-on-chip.
    1. Re:Embedded systems by Skapare · · Score: 1

      I was referring to doing a 256 byte write to a device that takes I/O commands in 512 byte units. You can figure out what the driver (or some higher layer of the OS) will need to do to achieve that.

      --
      now we need to go OSS in diesel cars
    2. Re:Embedded systems by tepples · · Score: 1

      I was referring to doing a 256 byte write to a device that takes I/O commands in 512 byte units. You can figure out what the driver (or some higher layer of the OS) will need to do to achieve that. It would need to read 512 bytes, change 256 bytes, and write 512 bytes. This is all well and good on hardware that uses 512 byte sectors. But once you get into 4096 byte sectors, your buffer needs to be eight times bigger. When your entire machine has 4096 bytes of RAM including video RAM, that becomes a problem.
    3. Re:Embedded systems by avxo · · Score: 1

      It's unlikely that hard drives that support only 512-byte sectors will become extinct tomorrow just because this standard was passed. It's unlikely that "HD512" will become extinct a year from now even. Just because something new comes along doesn't mean that the old instantly disappears. Case in point, consider the 80386 CPU from way back in 1985, when plastic earrings the size of hubcaps were all the rage. You'd imagine it's dead, right? Well, you'd be wrong. A whole lot of 80386 CPUs are still doing a fine job, providing the processing power for aircrafts that fly hundreds of thousands of people per year. And not just the "turn coffeepot on" type of processing power either: we're talking avionics. At least one flight warning system in active use today is based on an 80386. Other systems probably use equally antiquated technology, and you don't see the manufacturers having trouble buying a chip that's over 20 years old! Same thing with your 4MB device. "Short mode" hard drives will still be available for it for a while longer. At some point, when there's no longer sufficient market for such hard drives, they will, of course, become extinct of course. But at that point, it will not matter. -n

  46. Re:Not all good.... You said it! by shaitand · · Score: 1

    'Hopefully it will... but as I put my entire CD collection onto my machine, that will only alleviate MS's part in the wasted space issue... :-('

    They would never do it and the reason why is the answer to your next question.

    'Much of the other issues a larger sector size alleviate would also be addressed if MS would revise NTFS so it wouldnt fragment. They know how, as they have access to the HPFS internals (HPFS rarely exceeds 1 or 2% fragmentation). That is something else I dont understand... they have the answers to many complaints about Windows (that being only one of them) and do nothing about it.'

    You are right that it is a matter of economics but it isn't about a defrag tool. It is about hardware. If your drive gets fragmented and slows (and you don't know about fragmentation) you will think your computer is getting slow. For most people this takes a long time. If you have a slow computer, you buy a new one. That means you just bought a new computer and made the hardware manufacturers happy and bought a new copy of windows and made Microsoft happy.

    That is the same reason windows vista is so bloated, other systems implemented greater new functionality (read linux and macosx) using a small fraction of the system resources. Microsoft's top paid programmers really aren't that bad, the system is intentionally inefficient. Being inefficient means it sells more hardware. Selling more hardware makes PC manufacturers happy and they are the ones who provide Microsoft's bread and butter by preloading windows on PCs.

  47. finally Finalized ? Popycock ! by Anonymous Coward · · Score: 0

    Funny that I have to see some "finalisation" of something that has existed in DOS for ages (For reference : see DOS Int 13h, AH=05h. Sector-sizes from 128 to 1024 bytes could be choosen), but never has been used as such (I have been wondering why a kludge like "clusters" was used. The answer is probably that in that time MS could easier make software- than (to demand) hardware-changes)

  48. Re:Sounds like a good idea to me (...NOT!) by whit3 · · Score: 1

    It isn't something that 'no one seems to care about'; it's something that
    bugs me every time my (Unix) boots up. All those pesky little /etc and
    other minor files that get read on startup, are an occasion to wipe the disk
    head over 80 bytes of information and 4016 bytes of nulls.

    The disk throughput for small files thus is 80/4096 of its raw throughput,
    which means my three-minute boot time would be more like
    four seconds if the filesystem 'solved' this little performance issue.

    But the drive manufacturers have another issue to deal with- sectors
    are separated by a blank unwritten space, and bigger sectors
    mean fewer such (and that means more usable bits stored).

    So, the 'theoretical' storage goes up because the intersector gaps are
    reduced by a factor of eight. And the cost in small-file-access throughput
    isn't part of the marketing 'speed' numbers (nor should it be; there are
    buffering schemes that can mask it). So, the manufacturers see it as a win.

    If it also makes ECC with multibit correction feasible, then the manufacturers
    win in another way, too: instead of 1 bad bit causing a bad block (invalidating 512
    bytes means throwing away 4095 good bits and one bad bit), they can correct
    single-bit errors and 2-bit errors, and detect multibit errors, so can keep all the blocks
    with one bad bit, and only throw away if there's (for instance) three bad bits.
    Correction is slow, will occur in unpredictable patterns, and costs some processor
    power, BUT modern S.M.A.R.T. reporting and other technology makes it OK for
    the future. Didn't see anything in the article to indicate if ECC was gonna
    be part of the drive or was gonna be dumped onto the host OS's device
    driver. Or is ECC just someone's speculation?

  49. Shorter Format Times? by WgT2 · · Score: 1

    The mere mention of shorter format times immediately makes me think that Windows "might" benefit from this: I've never had a long disk format time for ReiserFS, Ext3/2, nor UFS. But FAT and NTFS: give me a break. The long format times really makes Microsoft look stupid.

    1. Re:Shorter Format Times? by Megane · · Score: 1

      The mere mention of shorter format times immediately makes me think that Windows "might" benefit from this: I've never had a long disk format time for ReiserFS, Ext3/2, nor UFS. But FAT and NTFS: give me a break. The long format times really makes Microsoft look stupid.

      That's because most of that time is not spent formatting. Microsoft's formatting utilities read the entire disk volume before declaring it usable. What is stupid is that this is not optional. The best solution would to allow the volume to be used while it was verified by a background process.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  50. Re:Answer: Better ECC by Megane · · Score: 1

    What concerns me is why no one is working on improving density on my 3.5" microfloppy. I am running Windows 9.5 on an AMD-K5 HP box. I like to save Slashdot tirades, but typical Slashdot tirades consume more space than I have on my microfloppy.

    They did already. The difference is that you get a whole new hard drive all at once, rather than swapping platters in and out like you do with a floppy.

    --
    #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
  51. Risks of large sector sizes by metamatic · · Score: 1

    The downside is that we've had 512 byte sectors for so long, everyone's hardcoded the number in their apps and drivers. The biggest risk involved is to patch all that software... one little glitch could hose a ton of data.

    Yup. I worked in data recovery during the late 80s. A number of manufacturers used larger sector sizes to allow for bigger hard drives in their MS-DOS machines. However, that meant they had to use a specially patched version of MS-DOS.

    Every now and again someone would decide to upgrade to Microsoft's regular MS-DOS, or run Norton defragment... and their entire hard drive would get trashed, and we'd be called in to try and recover whatever we could.

    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
    1. Re:Risks of large sector sizes by billcopc · · Score: 1

      (raises hand) Guilty. I had my own Dos-clone OS and despite my diligence, I still managed to hard-code some values in a few rarely-used routines. Luckily they were read-only operations but it was certainly frustrating to chase down every occurrence of "512" and figure out what the hell to do with it :P

      So one day I ported my app to Linux and quit worrying :)

      --
      -Billco, Fnarg.com
  52. Re:finally Finalized ? Popycock ! by metamatic · · Score: 1

    (For reference : see DOS Int 13h, AH=05h. Sector-sizes from 128 to 1024 bytes could be choosen), but never has been used as such


    It *was* used, back in the 80s. For instance, Tandon sold MS-DOS machines with larger sector sizes.

    The problem was there were lots of MS-DOS programs that accessed the disk directly, or didn't know about the sector size parameter. Hence people tended to end up with their data scrambled. (I worked in data recovery at the time.)
    --
    GCHQ Quantum Insert installed. If only our tongues were made of glass, how much more careful we would be when we speak
  53. Yes, way past time for this by hyc · · Score: 1

    The other benefit I'm looking forward to is that flash disks will most likely become 8x faster in the near term. Since they tend to be constructed with 512 byte sectors, it'll make sense to use 8 of them in parallel to get the 4K sector size. (Somewhere down the line they may decide to just increase the flash sector sizes, but they don't actually need to just yet...)

    --
    -- *My* journal is more interesting than *yours*...
  54. Cylinder Fragmentation gets worse by craighansen · · Score: 1

    Keep in mind that the number of blocks per cylinder must be an integer. Increasing block size from 512 to 4096 makes the amount of storage lost to fragmentation at the cylinder boundary much worse.

  55. Slashdot Article in 2015 by AlgorithMan · · Score: 1

    Microsoft to offer an "open" (eherm) alternative to Long Block Data...




    and tries to patent it

    --
    The MAFIAA is a bunch of mindless jerks who will be the first up against the wall when the revolution comes
  56. Re:Not all good.... You said it! by RobertM1968 · · Score: 1

    Excellent points and thanks for the reply!

    :-)

    -Rob