Slashdot Mirror


Can SSDs Be Used For Software Development?

hackingbear writes "I'm considering buying a current-generation SSD to replace my external hard disk drive for use in my day-to-day software development, especially to boost the IDE's performance. Size is not a great concern: 120GB is enough for me. Price is not much of a concern either, as my boss will pay. I do have concerns on the limitations of write cycles as well as write speeds. As I understand, the current SSDs overcome it by heuristically placing the writes randomly. That would be good enough for regular users, but in software development, one may have to update 10-30% of the source files from Subversion and recompile the whole project, several times a day. I wonder how SSDs will do in this usage pattern. What's your experience developing on SSDs?"

480 comments

  1. Umm... by addaon · · Score: 1, Insightful

    If you're not good enough at arithmetic to understand that this isn't an issue, should you really be developing software?

    --

    I've had this sig for three days.
    1. Re:Umm... by Rockoon · · Score: 4, Funny

      Math is hard! Lets buy both!

      --
      "His name was James Damore."
    2. Re:Umm... by InvisibleClergy · · Score: 0

      So how about that wikipedia article? Cheaper drives (which mgmt is sure to require) have 1,000 write cycles (assuming the worst). For certain high-traffic files, that means (assuming 30 writes in a day) a whole 33 days of use.

      This is why most SSD manufacturers say you should leave a certain percentage of the memory as a backup.

    3. Re:Umm... by Tetsujin · · Score: 4, Insightful

      If you're not good enough at arithmetic to understand that this isn't an issue, should you really be developing software?

      Maybe you can explain why it isn't an issue, then?

      One thing about flash in general is that in order to rewrite a small amount of data, you need to (at the low level) erase and rewrite a relatively large amount of data. So depending on how extensively the filesystem is cached, where the files are located, etc., rebuilding a medium-sized project could wind up re-writing a large portion of the SSD...

      --
      Bow-ties are cool.
    4. Re:Umm... by InvisibleClergy · · Score: 0

      Also, seriously. How the hell did the grandparent get +5 insightful? It's a valid issue with SSD drives, because cheap ones die fast.

    5. Re:Umm... by JamesP · · Score: 3, Funny

      I'd say: "Programming is hard let's do Java"

      --
      how long until /. fixes commenting on Chrome?
    6. Re:Umm... by blueg3 · · Score: 4, Insightful

      Neither he nor you have attempted to answer the question quantitatively. Look at how big a block is, a bit about their write-leveling strategy, how large your source files are, the quantity of data you overwrite and how frequently, and what the lifetime of SSD blocks is, and figure out how long the SSD should last. Even an order-of-magnitude calculation would be better than nothing.

      You both are approaching the problem qualitatively: SSDs have limited rewrite lifetimes, and I'm doing a lot of rewriting -- isn't that bad? You don't know! Figure it out!

    7. Re:Umm... by clone53421 · · Score: 1

      For certain high-traffic files

      Well, there's your incorrect assumption. The hardware will not re-save the file in the same location every time; it will save it in empty space elsewhere that has experienced relatively low usage.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    8. Re:Umm... by Joce640k · · Score: 1, Interesting

      Show me a manufacturer which makes a drive which simultaneously:

      a) Competes with hard drives for speed
      b) Uses the cheapest possible MLC memory in it

      Grandparent is correct: If you're not clever enough to figure out if this will be a problem, you shouldn't be a programmer.

      Scary thought: Hard drives don't last forever either....

      --
      No sig today...
    9. Re:Umm... by Anonymous Coward · · Score: 2, Funny

      Java is hard, let's use Python.

    10. Re:Umm... by clone53421 · · Score: 1

      Well, common sense would dictate that the filesystem would be laid out in such a manner that rewriting a single file would affect as few other files as possible. In other words, arrange your data into "blocks", so that any edit to any part of one block will require the entire thing to be rewritten, and then store exactly one file per block, one or more blocks per file.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    11. Re:Umm... by Hurricane78 · · Score: 0, Offtopic

      Python is hard. Let's use Visual Basic.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    12. Re:Umm... by hosecoat · · Score: 1

      visual basic is hard, so many bugs.

    13. Re:Umm... by tepples · · Score: 1

      arrange your data into "blocks", so that any edit to any part of one block will require the entire thing to be rewritten, and then store exactly one file per block, one or more blocks per file.

      File systems already support "clusters". But as I understand it, most formatting tools that come with PC operating systems still do not try to make a file system's cluster size match an SSD's erase block size, or even align the start of a partition to an erase block boundary. Or has this changed in recent versions of Windows and Linux?

    14. Re:Umm... by corbettw · · Score: 1

      Yes he should, and he should be committing all of his revs to TheDailyWTF for our enjoyment.

      --
      God invented whiskey so the Irish would not rule the world.
    15. Re:Umm... by gandhi_2 · · Score: 2, Insightful

      You are confusing programming and computer science.

    16. Re:Umm... by thetoadwarrior · · Score: 1, Insightful

      Java only appears to be easier because it's syntax isn't complete shit.

      Considering that a bad thing is like considering using your hands to hold a pencil inferior to using your ass cheeks.

    17. Re:Umm... by digitalunity · · Score: 1

      Visual Basic is hard. Let's use Perl.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    18. Re:Umm... by Joce640k · · Score: 5, Interesting

      Before we start, let me make a prediction: You never asked about the MTBF of your hard disk, right...?

      http://www.intel.com/design/flash/NAND/mainstream/

      a) When Intel says "new level of ... reliability", maybe it means they thought about this problem when they designed the drive.

      b) When they say "NAND flash", maybe it means they're not using the cheapest MLC memory as mentioned in that scary wikipedia article.

      c) When their datasheet says "Minimum useful life of five years, assuming 20Gb/day of writing", maybe they got those numbers from real engineers, with degrees.

      d) When their datasheet also says, "Should the host system attempt to exceed 20 GB writes per day by a large margin for an extended period, the drive will enable the endurance management feature to adjust write performance, this feature enables the device to have, at a minimum, a five year useful life", maybe they were really really paranoid about saying 'five years' because they know people will start class-action lawsuits if it doesn't work out.

      So, um, how this even got greenlighted in 2009 is beyond me. It's like 1999 called wanting its flash-myths thread back.

      --
      No sig today...
    19. Re:Umm... by clone53421 · · Score: 1

      File systems already support "clusters".

      Yes, I'm fully aware.

      most formatting tools that come with PC operating systems still do not try to make a file system's cluster size match an SSD's erase block size, or even align the start of a partition to an erase block boundary

      They needn't. It could be seamlessly handled by the firmware on the device itself. Even if the filesystem blocks didn't line up with the logical blocks on the device, they could still be consecutively ordered so you'd never have to write more than one or two blocks containing unmodified data (one at the beginning and one at the end of the block the filesystem is trying to write to).

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    20. Re:Umm... by Anonymous Coward · · Score: 5, Funny

      The English language has syntax, too. It concerns things like proper placement and use of apostrophes.

    21. Re:Umm... by EQ · · Score: 1, Offtopic

      VB is hard, lets outsource it.

      --
      Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo! http://goo.gl/J9bkO
    22. Re:Umm... by vux984 · · Score: 5, Informative

      Cheaper drives (which mgmt is sure to require) have 1,000 write cycles (assuming the worst). For certain high-traffic files, that means (assuming 30 writes in a day) a whole 33 days of use.

      If that were true. Then an SSD hard drive couldn't run a linux mail server for a small business for more than a couple minutes thanks to the various log files.

      1) The maximum write cycles for a block was around 10,000 in 1994. And about 100,000 in 1997. But in 2009 you think 1000? No. Its currently in the millions, even for the cheap SSDs.

      2) Look up wear levelling.

      3) Look up the MTBF on an SSD vs a spinning platters type.

      I've seen studies that have calculated that modern drives will could write continuously at maximum speed for 50+ years before exhausting wear levelling and hitting write cycle limits.

      The odds of it failing from something else long before then are much greater. Getting a mere 5+ years of life and easily beating your average spinning disk hard drive is a no brainer.

    23. Re:Umm... by Dan+Ost · · Score: 1

      So what's your beef with Python?

      --

      *sigh* back to work...
    24. Re:Umm... by dgatwood · · Score: 2, Insightful

      Perl is hard. Let's use brainf*ck.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    25. Re:Umm... by 91degrees · · Score: 1

      Why? Most of the software developers I know are pretty abysmal at arithmetic.

      There's really not a lot of mathematics involved in most software development. The main exceptions are statistical software, cryptography, compression, graphics and physics simulations. Even then we've often let someone else do the hard work and wrapped it up in a library for us.

    26. Re:Umm... by clone53421 · · Score: 1

      In fact this is already done: When the OS writes a file to block X on a flash drive, it is dynamically mapped to a block on the device that hasn't been written as many times as the rest of the free space. Reading the block will give you the data it contains, but writing to it will move it to an entirely new location. That's why a "secure delete" doesn't work on flash disks – you have to completely fill the device to ensure that the block is actually overwritten.

      (Overwriting the file with a "secure delete" tool will, however, move the mapped location. The blocks that contain your data will then be randomly located amongst the free blocks on the device... if you read every block that was marked free, you'd eventually find your data. However, an undelete tool that simply read the blocks previously assigned to the file would recover only the data written by the secure delete tool.)

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    27. Re:Umm... by Fulcrum+of+Evil · · Score: 1

      So how does a NAND flash SSD compare to a raid-1 or raid-10 array for compile speeds? I'd like to see the difference, as the code that I work on takes about 1.5 hours to build on a single disk, and incrementals are iffy at best.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    28. Re:Umm... by bluesk1d · · Score: 5, Insightful

      This is why it's almost pointless to ask a question on Slashdot. You get 100s of replies in a 50/50 distribution of random tech-word ramblings and flat out useless contempt, leaving you feeling stupid and your question unanswered.

    29. Re:Umm... by berend+botje · · Score: 2, Insightful

      Please also factor in the amount of static files on the drive. This has been, historically, forgotten. You do not have the whole drive to do 'swap-the-crappy-block' on.

    30. Re:Umm... by edmudama · · Score: 1

      The Intel X25-M uses MLC and is faster than a rotating drive for most common operations, significantly faster in random IO.

      --
      More data, damnit!
    31. Re:Umm... by gerstena · · Score: 1

      A lot of people don't know the difference between the drives with SLC or MLC's, so the question is valid.

    32. Re:Umm... by ITJC68 · · Score: 1

      How about we stop slamming someone for asking a question and try to give them an honest answer. I bet the truth be told most of the people who left these rude comments don't have a friggin clue either. Instead of trying to answer the question they slam the person who asked. From documentation on the subject if you are doing alot of large rewrites it would probably be more cost efficient to use standard hard drives although slower in I/O. Most standard hard drives these days have 3 year warranties so if you burn one out send it back to the company that made it and get a new one. SSD is still a new technology and it may not be worth the risk versus cost for your project.

    33. Re:Umm... by dgatwood · · Score: 5, Informative

      The whole "millions" thing may be true for SLC parts. MLC parts (which are much cheaper) have much lower write counts. The best MLC flash I'm aware of is only rated for a million write cycles. Thousands or tens of thousands is more typical for MLC flash parts. Write amplification makes this even more fun, since it means that a write of one disk block can require rewriting many, many blocks that otherwise would not have been written. If the wear leveling algorithm is optimal, then it's a moot point. If the wear leveling is nowhere near optimal, you can create artificial workloads that will burn out a few cells on the flash part in hours, which is a bit problematic. There is no clear-cut answer for this sort of question, unfortunately, at least not with the current crop of MLC tech.

      Consider a log-structured filesystem, perhaps....

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    34. Re:Umm... by 644bd346996 · · Score: 1, Informative

      It's also far from cheap.

    35. Re:Umm... by Jeffrey+Baker · · Score: 4, Informative

      If you build is really IOPS-bound, then an SSD will utterly smoke a single disk. Even a whopping great expensive disk can only muster 300 iops under the best possible circumstances, and typically 100 iops under real conditions. A cheapo SSD can deliver 1000 mixed iops, and a good SSD can deliver 100,000 mixed iops. Ever since switching to an SSD on my dev machine I no longer have to suffer through things like a :wq in vim taking 5-10 seconds, or loading a file taking several seconds, etc. One of the benchmarks I did was starting Firefox during a build. On the machine with a disk, it actually took more than ONE MINUTE to start Firefox under a build load. With the SSD, there is no measurable difference between the Firefox startup on an idle machine and a machine with a build happening. The difference is massive.

    36. Re:Umm... by Anonymous Coward · · Score: 0

      So if you use half the drive space, you can double that number to 66 days. Still not impressive.

    37. Re:Umm... by kelnos · · Score: 1

      That's only with zero wear-leveling done.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    38. Re:Umm... by kelnos · · Score: 2, Insightful

      No, he's confusing software development with basic math skills.

      --
      Xfce: Lighter than some, heavier than others. Just right.
    39. Re:Umm... by Joce640k · · Score: 1

      Listen to your hard disk while compiling. If it's thrashing, get an SSD.

      --
      No sig today...
    40. Re:Umm... by Joce640k · · Score: 1

      No it isn't. Intel is using the worst possible technology (in theory) - MLC NAND.

      If that's the WORST, there's nothing to worry about.

      --
      No sig today...
    41. Re:Umm... by Anonymous Coward · · Score: 3, Funny

      Visual Basic is hard. Let's use Powerpoint.

    42. Re:Umm... by Anonymous Coward · · Score: 0

      Then re-write the code because the people you outsourced it too f$#@$( it up...

    43. Re:Umm... by eleuthero · · Score: 1

      What if he is the outsource?

    44. Re:Umm... by Anonymous Coward · · Score: 0

      There ARE no static files on most SSDs. It's not just writes that get moved around when the opportunity arises, but ALL files.

      This has been historically forgotten because it's a solved problem.

      Remember when you had to take multiple pairs of shoes just to last the thousands of miles walking from LA to NYC? No you don't, it's a solved problem, you fly or drive.

    45. Re:Umm... by mustafap · · Score: 1

      >Most standard hard drives these days have 3 year warranties so if you burn one out send it back to the company that made it and get a new one

      And reload from a backup. You do backup, right? :o)

      --
      Open Source Drum Kit, LPLC deve board - mjhdesigns.com
    46. Re:Umm... by eleuthero · · Score: 1

      Why then is the hard drive (spinning or otherwise) always the first thing to die on my stationary system (I understand the issue of constantly moving around a laptop affecting stability)? NB - I'm not a programmer and this may be completely obvious to most.

    47. Re:Umm... by Anonymous Coward · · Score: 1, Insightful

      brainf*ck.

      What's with the auto-censorshit? Or are you just a sissy too shy to use expletive? And why the fuck should I care?

    48. Re:Umm... by Anonymous Coward · · Score: 0

      Perhaps modern SSD's are capable of grouping several small writes into one bigger write? Just a hunch, would explain the dramatically increased random write speeds and all..

    49. Re:Umm... by Anonymous Coward · · Score: 0

      Ummm?

      let's is correct

    50. Re:Umm... by Anonymous Coward · · Score: 0

      Then re-write the code because the people you outsourced it to fucked it up...

      FTFY

    51. Re:Umm... by uofitorn · · Score: 1

      Criticizing someone's grammar on the Internet. That's hilarious.

      --
      "What kind of music do pirates listen to?" -Paul Maud'dib
      "Yeeeaaarrrrr n' Bee!!" -Stilgar, Leader of Sietch Tabr
    52. Re:Umm... by dhanson865 · · Score: 1

      Troll?

      parent (644bd346996) mentioned it was far from cheap.

      grandparent (edmudama) mentioned Intel SSD used MLC.

      grandgrandparent (Joce640k) used the phrase "cheapest possible MLC"

      MLC does not equal "cheapest possible MLC".

      Not using enough words or quoted material to make it clear doesn't make what he said false.

      I'd say the grandgrandparent was right with his entire post and deserves a 3 or 4 insightful and the so called trolling parent was modded down incorrectly. At worst his post should get a +1 or +2 and be ignored by most but it sure shouldn't be a -1 and marked troll.

      Somebody needs to check the logs and metamod the moderator that marked that post as trolling.

    53. Re:Umm... by maxume · · Score: 1

      Depends on the wear leveling. It certainly could move static blocks, I've no idea if the performance trade off would be worth it.

      --
      Nerd rage is the funniest rage.
    54. Re:Umm... by adisakp · · Score: 2, Interesting

      One thing about flash in general is that in order to rewrite a small amount of data, you need to (at the low level) erase and rewrite a relatively large amount of data.

      The technical term for small write requests actually causing large writes is "Write Amplification". This is one reason the Intel SSD drives are so fast. They have a Write Amplification (WA) factor of 1.1 (done by combining small writes) while many other drives have a WA as high as 20. They also use an "intelligent" wear-leveling algorithm that can reduce spurious writing by nearly a factor of 3.

    55. Re:Umm... by Anonymous Coward · · Score: 1, Funny

      Maybe he was saying that Java IS syntax. Did you even consider that possibility? True, in that case he's missing other punctuation and maybe a word or two, but still... it is possible.

    56. Re:Umm... by Dare+nMc · · Score: 1

      actually they probably do. you don't have to move it all at once, good wear leveling will move chunks of the nearly static files into heavy wear areas, and not keep any memory static forever (unless you run the drive at well over 90% capacity.)

      So the amount of data on the drive makes little difference, only the rate at which data is changed.

      Life ~= K* (capacity of drive/ rate of data change)

    57. Re:Umm... by Anonymous Coward · · Score: 0

      java is horrible. that was a bad post. you should feel bad

    58. Re:Umm... by averner · · Score: 1

      >If you're not good enough at arithmetic to understand that this isn't an issue, should you really be developing software?

      Arithmetic? How about some real world evidence?

      --
      Member of the 7 Digit UID Club
    59. Re:Umm... by gnasher719 · · Score: 1

      The best MLC flash I'm aware of is only rated for a million write cycles.

      The guy is worrying about updating files several times a day from CVS. If he updates ever single byte on the drive 20 times a day, a million write cycles last for 140 years.

      And who says magnetic drives have an infinite number of write cycles?

    60. Re:Umm... by gnasher719 · · Score: 1

      On my iMac, a clean build consisted of about two seconds disk activity, followed by eight minutes two CPUs running at hundred percent, followed by two seconds disk activity for the linker and symbol files. Probably less than two seconds.

    61. Re:Umm... by An+Onerous+Coward · · Score: 1

      The English language has' syntax, too. It concern's things like proper placement and use of apostrophe's''.

      Fixed that for you!

      --

      You want the truthiness? You can't handle the truthiness!

    62. Re:Umm... by Tolkien · · Score: 1

      Don't know what you're on, but I'm staying away from you.

    63. Re:Umm... by Anonymous Coward · · Score: 0

      Pythons bite when they suck, and those razor-sharp teeth really hurt!

    64. Re:Umm... by aproposofwhat · · Score: 1

      Well smart-arse - the next time you write a 60 gig project, please publish the details.

      Arse.

      --
      One swallow does not a fellatrix make
    65. Re:Umm... by makapuf · · Score: 2, Informative

      PPT is hard. Let's yell.

    66. Re:Umm... by Matheus · · Score: 1

      Agree.. not necessarily that all programmers are bad at math but that for a vast amount of development work you're not doing much that's that interesting.

      Between my EE and my CS degree I took something like 30 math classes (5 theoretical and 25 practical) Since graduating, I haven't needed anything beyond the Algebra I learned in 8th grade. Ergo, I'm really, really rusty at anything more advanced. Were I programming in a different field then maybe my higher-level math skills would be getting better use.

      That all being said you don't need advanced math to figure out whether your drive will last for you. +-/* will do the job just fine.

    67. Re:Umm... by Anonymous Coward · · Score: 0

      Don't you mean "Brainfuck is easy. Let's use Perl" ?

    68. Re:Umm... by migla · · Score: 1

      Mod parent.

      --
      Some of my favourite people are from th US; Vonnegut, Chomsky, Bill Hicks.
    69. Re:Umm... by Fulcrum+of+Evil · · Score: 1

      From the tomshardware review I dug up, SSD are slow compared to DRAM based disks, and I can get an acard for $250 + ram costs. I'd probably go with that and store things like redo logs on there.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    70. Re:Umm... by dgatwood · · Score: 1

      Now let's come back to reality. A million write cycles is not typical of most flash parts that are commonly used in devices these days. The ones that last that long are relatively expensive. If your OS uses the same block every time and if the wear leveling is on a per-flash-part rather than per-device basis, a more typical MLC flash write cycle limit of 10,000 writes can be exhausted in days if you're unlucky.

      Start by writing a file, then write the file after it. The OS sends the writes. The drive interprets them. If the second set of writes isn't close enough to get grouped with the first, you've now erased and rewritten the flash block that contains those two files twice. If the wear leveling is done with a fairly lightweight scheme---say maintaining a 10% pool of extra flash blocks and cycling them in when the write count exceeds a threshold, and if the wear leveling is per part, and if each part is 64 megabytes with a 512KB flash block size and you have 10% extra (6 megs) then you only have 13 times as many writes as if you had no wear leveling at all. 10,000 writes * 13 = 130,000 writes before you experience a failure on average. At 20 times per day times two erasures per CVS operation, that's a mere 9 years, and you're describing a fairly light load. If instead of two files, you have 50 files that all end up in the same flash block, you're potentially down to a little over four months.

      So the answer to the question of whether a SSD would be suitable or not is pretty complex and depends highly on how well the wear leveling is implemented and on the write count of the flash parts in question. If we were seeing 1,000,000 write count MLC parts being used in most SSDs, the answer would be a lot clearer, though I'd rather see more on the order of 10,000,000 write cycles. Either way, that's not what SSDs typically use, and basing decisions on that could easily lead to very wrong assessments of usability.

      You're right that magnetic drives don't have infinite life. They are more likely to fail due to a limited number of park cycles, but point taken. In the medium term, I suspect flash parts will replace hard drives (and particularly in laptops, where HDs have such poor life expectancy). I'm not quite ready to give them my complete trust yet, though.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    71. Re:Umm... by pla · · Score: 1

      Thousands or tens of thousands is more typical for MLC flash parts.

      Tens of thousands - Per cell.

      Wear leveling means that unless you have a filesystem 99% statically full with a small number of blocks constantly changing, those 10,000 writes will take tens to hundreds of trillions of actual writes to use up.

      For some hard numbers, at 120GB, with 8GB of reserved cells, 4k cells, a cell lifetime of a mere 10k writes, and 50% static usage, you have 83 billion writes before you damage even a single cell. As the spec'd write lifetime represents a few SD south in a normal distribution, you can expect literally hundreds of trillions of writes before the wear levelling will realistically fail to keep the drive functional.

      For comparison to the original question, I currently do most of my development on a rather inefficient .NET project with roughly 25MB spread over a few thousand small files (not my choice, beyond the fact that I like my job in general), almost a worst-case scenario for impacting write lifetimes. Getting the full source from our repository and compiling (which effectively makes two temp files and one output file per source file) uses roughly 25k cell-writes.

      If I did a full get-and-compile once per minute (ignoring the fact that a full get takes around 5 minutes and a compile takes almost 15 minutes), it would take me 19 years just to reach the above-mentioned 83 billion cell-writes. To actually "wear out the device" in terms of writes, I could not possibly live long enough.

    72. Re:Umm... by blueg3 · · Score: 1

      It depends on if you do static or dynamic wear-leveling.

      Some wear-leveling restricts block-trading to rather small bands, too -- there are multiple ways of doing wear-leveling that, with the wrong kind of usage patterns, can result in your lifetime estimates being way off.

    73. Re:Umm... by Khyber · · Score: 1

      Hell, that's why it's almost pointless for noobs to ask for help when they try Linux.

      --
      Still waiting on Serviscope_minor to wake up to fucking reality and realize that Jessica Price isn't going to fuck him.
    74. Re:Umm... by Velox_SwiftFox · · Score: 3, Informative

      My own experience with a pair of Intel X25-M SLC 32GB drives: after less than a month of moderate use one began reporting unrecoverable read errors at an increasing rate.

      We have RMAed the drive and gotten a replacement, but based on the approximately 1500 hours real-world MTBF we had to that point, instead of the claimed 3 million hours MTBF/1 petabyte write lifetime, and unrecoverable bit read error rate on the order of 1/10^15 which lured us into having to repair the resulting database damage.

    75. Re:Umm... by shutdown+-p+now · · Score: 2, Interesting

      Perl is hard. Let's use brainf*ck.

      That's not Funny, that's Insightful. Brainfuck by itself is indeed very easy - why, just 8 basic operators! The irony is that Java is "simpler" than C++ by the same measure (less language features). In practice, this just shows how pointless the measure is in general.

    76. Re:Umm... by maxume · · Score: 1

      There have been plenty "It will work fine" posts, many of which included "Here's why".

      --
      Nerd rage is the funniest rage.
    77. Re:Umm... by Hurricane78 · · Score: 0, Offtopic

      I found it to lack very important functionality. Like access control of class functions from other class functions. Or implicit instance variable inside methods. of much other stuff. It really is a language for simple quick scripting. But when you start to do serious work, better use a real programming language like Haskell for high-level, or C for low level stuff.

      And while Ruby is much stronger typed cleaner, and hat a prettier syntax, it's still only a slow scripting language. Or a bad imperative implementation of Haskell/OCaml/Lisp. ^^

      Don't ask about PHP. We keep it in the basement, right next to the mutated guy from the Goonies.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    78. Re:Umm... by Hurricane78 · · Score: 1

      Brainfuck is hard. Let's use Butterflies and cosmic rays.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    79. Re:Umm... by dgatwood · · Score: 1

      You're making a lot of assumptions about the wear leveling algorithm that while generally correct, aren't guaranteed. As for me, I find myself very uncomfortable knowing that the reliability of my data depends on a smart controller that uses tricks to extend the life of the parts by many orders of magnitude and that without such tricks, I'd start losing data in hours.

      That said, you're right that under a typical workload, it should last years, assuming the wear leveling algorithm is good.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    80. Re:Umm... by Hurricane78 · · Score: 1

      Why would that change a thing?
      No matter how cheap you are. There is always a cheaper retard, who will not realize that he can't feed himself from it, until he dragged half of the industrial sector with him.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    81. Re:Umm... by Hurricane78 · · Score: 1

      Yelling is hard. Let's use BRAWNDO!

      BRAWNDO will make you WIN! AT! YELLING!

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    82. Re:Umm... by Hurricane78 · · Score: 1

      Oh my... I really am tired form being sick. I'm sorry for the linguistic mess up there. I better go to bed.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    83. Re:Umm... by mysidia · · Score: 1

      Proper SSD devices also generally have more than smart controller... RAM cache + battery, i.e. 1 or so of DDR in front of the flash, to reduce the total number of actual writes, and plenty of spare cells.

      How about you combine the high-quality SSD drive with the ZFS filesystem, use ditto blocks, and three drives (2 in mirror config + 1 ZIL) instead of one?

      Sure, it's more expensive, but you're using SSDs, it means you want your equipment to be as fast as possible, but the risk of data loss is probably not desired.

      It's true SSD drives have a limited number of times every cell can be written.

      Mechanical drives have a limited number of times they can be written to as well (before the mechanical parts wear out).

      The question shouldn't be.. is that number higher... the question will be... which one do you manage to perform more writes on (during average usage), before the drive fails?

      And is it a serious problem with the SSD drive, if you have above-average writes...

      Perhaps you like imaging your system a lot, or DD'ing an image onto it frequently, a few times a day (so every sector's gotta be written)

      This might be reasonable for a test system.

      Yes, you'll run into a problem with SSDs... but you might run into a problem more often with the mechanical drive, it just depends on what type of mechanical drive you have, or what type of SSD you have.

    84. Re:Umm... by Hal_Porter · · Score: 2, Funny

      brainf*ck.

      What's with the auto-censordoody? Or are you just a sissy - too shy to use the expletive? And why the heck should I care?

      Fixed that for you.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    85. Re:Umm... by AllynM · · Score: 2, Interesting

      d) When their datasheet also says, "Should the host system attempt to exceed 20 GB writes per day by a large margin for an extended period, the drive will enable the endurance management feature to adjust write performance, this feature enables the device to have, at a minimum, a five year useful life"...

      You make many good points, but I should point out that the quoted feature never made it into the retail product. When conducting the testing for my article, I wrote several TB per day to my X25-M and experienced no drop in write speeds - provided those writes were more sequential than random.

      Constantly hitting an X25-M with small writes will net you at most an average 50% drop in sequential write speeds. The drive will eventually reach an equilibrium based on the mix of write sizes you hit it with. The M has larger flash blocks and has to track a relatively higher level of write combining, and it is possible for it to get 'stuck' at some very low write speeds (see the article for more detail). This is a unique condition that Intel is currently looking into.

      Getting back to the quoted section: The write speed slow downs seen in my testing resulted only from the ratio of small/large files written and had nothing to do with the rate / volume of data written over any particular time period.

      Article in question:
      http://hardware.slashdot.org/article.pl?sid=09/02/13/2337258
      http://www.pcper.com/article.php?aid=669

      In response to the post, I would recommend either an MLC SSD with very high IOPS (Intel), one of the newer MLC SSD's with on-board SRAM cache (OCZ Vertex / 3rd gen Samsung), or for the highest overall read/write throughput, a pair of SLC SSD's in RAID-0. For SLC, the Intel drive is very good, but there are much cheaper alternatives out there (i.e. G.Skill rebranded Samsung SLC). Note that the X25-E uses write combining, and will take that same 50% worst-case sequential write hit. Other SLC units are not as fast at small writes (no combining), but their performance remains rock steady regardless of what you hit them with.

      The G.Skill SLC drive I mentioned:
      http://www.newegg.com/Product/Product.aspx?Item=N82E16820231186

      Regards,
      Allyn Malventano
      Storage Editor, PCPer.com

      --
      this sig was brought to you by the letter /.
    86. Re:Umm... by Jimmy_B · · Score: 1

      You're making a lot of assumptions about the wear leveling algorithm that while generally correct, aren't guaranteed. As for me, I find myself very uncomfortable knowing that the reliability of my data depends on a smart controller that uses tricks to extend the life of the parts by many orders of magnitude and that without such tricks, I'd start losing data in hours.

      If the tiny chance of failure due to wear worries you, then spinning hard drives should terrify you. Flash disks wearing out is a theoretical problem that doesn't ever happen in practice. Mechanical failure happens all the time. There is always some risk of losing data if you don't have backups, but it's much, much lower with SSDs.

    87. Re:Umm... by dgatwood · · Score: 1

      Spinning drives do terrify me. I lost four drives last year (three in a week), which just two drives shy of being every single hard drive I owned and used regularly at the time. The fourth failure was my Time Machine backup drive. After that whole experience, I'm rather paranoid about storage technology.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    88. Re:Umm... by Anonymous Coward · · Score: 0

      You mean to tell me that Wikipedia isn't the fair, balanced, and most factual source of information on the web? You mean to tell me that it is lies? Say it ain't so. :(

    89. Re:Umm... by Eskarel · · Score: 1

      The reason why it isn't an issue is that the math(at least as far as I've seen) indicates that, presuming reasonably random writes(which can be handled by the drive, and has nothing at all to do with what you're writing), if you write the volume of the disk a day it will last for about 30 years.

      That increases and decreases as your writing decreases and increases, but realistically, but given that most regular hard drives only last 3-4 years you would have to be writing more than a terabyte a day to have the 120 GB flash last less time than a regular physical drive.

    90. Re:Umm... by Anonymous Coward · · Score: 0

      I run artificial work loads all the time! It's piratically all I do on all my servers all day long.

    91. Re:Umm... by wwahammy · · Score: 1

      Is it actually dying or are you screwing up the filesystem in some way? I've done the latter but the former has happened once in 15 years.

      The reasons hard drives go first is due to the fact that they're mechanical. Look at the size of a hard drive. Inside there you've got these incredibly tiny read heads hovering tens of nanometers above platters, which spin at 7200 rpm. The acceleration at the head reaches 250g's. That's an astounding amount of pressure on tiny parts. Additionally the motor has to run at 7200 rpms consistently while the computer is being used. For geeks like us, that can be 8 hours or more per day. Taking all that into account and you can see the stresses that hard drives have to deal with.

      Everything else in your computer (excluding fans) is stationary. They don't have motors to fail and parts with huge amounts of pressure put upon them relative to their size. I think its astounding that hard drives last as long as they do.

    92. Re:Umm... by beguyld · · Score: 1

      Ever since switching to an SSD on my dev machine I no longer have to suffer through things like a :wq in vim taking 5-10 seconds, or loading a file taking several seconds, etc.

      5-10 seconds to write out a source file? Is this a million line source file, or were you using a floppy disk before?

    93. Re:Umm... by beguyld · · Score: 1

      My own experience with a pair of Intel X25-M SLC 32GB drives: after less than a month of moderate use one began reporting unrecoverable read errors at an increasing rate.

      Finally, some real world usage data, which is what the person asking the quetsion actually asked for -- not to be abused for not doing more calculations.

      Do the manufacturers claims and the calculations actually hold up? It appears at least in one case, the answer is NO.

      calculated_reality != real_world_experience

    94. Re:Umm... by Anonymous Coward · · Score: 0

      Heh heh heh he said 'piratically' heh heh like pirate heh heh

    95. Re:Umm... by Jeffrey+Baker · · Score: 1

      No, it's just because Linux sucks at scheduling i/o during a heavy writeout load. It always prefers to starve readers while serving writers, so if you need to save your file, and therefore you need to read a temporary file or directory, you're waiting. The SSD mitigates this problem by being 1000x faster at random i/o.

    96. Re:Umm... by rbgrn · · Score: 1

      I'd say: "Programming is hard let's do Java"

      "Java is hard. Let's do PHP."

    97. Re:Umm... by Anonymous Coward · · Score: 0

      the problem is, of course, that in modern capitalist amerikka every spec you will be able to find on these drives will be outrageously exaggerated or simplified to the point of uselessness for serious calculations.

      also, most the data you will need about FS structures and the pattern of file usage for $your_os$ and $your_apps$ are unknown and/or unknowable.

    98. Re:Umm... by syousef · · Score: 1

      I'd say: "Programming is hard let's do Java"

      Clearly you've never used a common Java framework like Hibernate or Spring. The easiest things made complex. Job security guaranteed!!!

      --
      These posts express my own personal views, not those of my employer
    99. Re:Umm... by rbrausse · · Score: 1

      brainfuck is hard. Let's use Java

      Ha! I closed the loop :)

    100. Re:Umm... by Anonymous Coward · · Score: 0

      How about this scenario. 25% of the drive is considered static (~30GB) which leaves about 90 GB for blocks to be swapped around. Flash block sizes tend to be 64K, 128K, 256K but we'll throw in 512K and 1024K as well. Now we'll also assume this is really crappy MLC and has only 1000 write cycles per cell and that the drive has no extra overhead cells (very unlikely) to add to the write pool.

      (90GB/64K)*1000 = 1,474,560,000
      (90GB/128K)*1000 = 737,280,000
      (90GB/256K)*1000 = 368,640,000
      (90GB/512K)*1000 = 184,320,000
      (90GB/1024K)*1000 = 92,160,000

      So in the worst case scenario you have 92 million writes available (since most source files will be much smaller than 1024K). Assuming that your OS isn't optimized for SSD and doesn't do any file caching if you were writing to the drive continuously at 50MB/s (same set of files over and over) you'd be able to do so for 1,843,200 seconds, or about 21 days. Since you probably are at most writing a half hour per day (and that would be a lot of writing, ~88GB of data), that is about 2.1% duty cycle, the drive would last about 3 years before you had writing problems and that is a pretty worst case scenario (if all the math is right). Given a more typical scenario I'd expect that drive to last as a development drive for > 6 years. So go ahead and get it for development, just don't do a lot of video editing on it.

    101. Re:Umm... by shokk · · Score: 1

      As opposed to the tricks manufacturers currently use of standing the magnetic particles on their end on a platter that spins 5400 to 15000 rpm beneath a magnet, floating on a cushion of air, suspending on a moving arm. All that physics is so much less tricky than an algorithm.

      How many drives from 5 years ago do most of us still use?

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

      Butterflies and cosmic rays are hard. Let us set the universal constants at the start so it evolves to contain the disk with the data we want.
      (/xkcd)

      --
      Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
    103. Re:Umm... by raynet · · Score: 2, Insightful

      I did calculate the worst case scenario once, gonna try it again on 128GB flash-drive.

      So, 128GB SSD has 128GiB flash but user gets usually 128GB or 120GB so that there are cells that can be used for wear leveling and also for badblocks so they get better yields (SSDs can ship with several broken cells). Lets assume a 128GB SSD, thus it has: 8.79GiB reserved for wear leveling.

      First we need to fill up the drive, otherwise it can use the unused cells for wear leveling. So, first we need to write 119GiB.

      Now we can began killing the drive, we write 1 byte to random sectors, assuming Intel SSD, each 1 byte write requires the SSD to erase 512KiB block (erase always erases multiple pages, on Intel SSDs, it is 512KiB). There are 18+ million blocks to wear level on.

      MLC can handle 10k writes, SLC 100k writes. Thus we get minimum amount to write in 1byte random writes to kill a flash is:

      MLC: 171GiB + initial 119GiB
      SLD: 1716GiB + initial 119GiB

      For 120GB SSD the write amounts are about twice as much.

      Comparing to eg. 50% full drive:

      MLC: 13TiB + initial 59GiB
      SLD: 130TiB + initial 59GiB

      This ofcourse assumes a brain-dead write leveling algorithm where as eg. the Intel SSD will wait until it has 512KiB of pages in the cache before commiting them on disk so the drive will last even longer.

      And ofcourse the OS will cache writes and when compiling apps you rarely write 1 byte blocks as files usually are much larger than that, just assuming couple KiB files created by the compilation you would have to write 2671TiB to the drive before it fails, and even at continous advertised 130MB/s speeds it would take 249days to kill the drive (at random 2KiB writes).

      Puuh, I hope I rememberer it all correctly and didn't make any math errors.

      --
      - Raynet --> .
    104. Re:Umm... by Pentium100 · · Score: 1

      Except the drive does not know how muxh free space it has (do you expect a SSD to understand whatever filesystem you will be using?)

      The SSD either has some unused blocks that are used only for wear leveling (like spare sectors for a hard drive) or it somehow moves the data around using the whole space for wear leveling.
      The benefit is that the SSD will work longer and a hard drive filesystem will not make a hole where the FAT or MFT is ruining the whole SSD.
      The disadvantages of this is (1) Since data is moving around a lot, if there is a power failure while the SSD is writing, you may lose not only the data you have been writing, but some other random data as well and (2) When the sectors start to fail, you have to rely on the microcontroller of the SSD to stop using them, you can't just mark them as bad sectors and continue the use of the rest of the SSD.

    105. Re:Umm... by vux984 · · Score: 1

      The odds of your worst case scenario actually happening though would be like being hit by lightning, an asteroid, and a falling piano simultaneously on the day you won the lottery.

      The MLC/SLC write cycles are the "guarnateed minimums". Both SLCs and MLCs typically last 4-5x longer than those minimums. And the curve stretches the other way too, with many reaching 10x longer than the minimum. The odds of getting an a drive that was up exclusively of of "minimum write" cells is simply non-existent.

      So your your 249 days is probably more like 1245 days for that VAST majority of hard drives. (5x249). or 3 and half years, which isn't bad at all compared to a hard drive.

    106. Re:Umm... by Anonymous Coward · · Score: 0

      also, a flash drive with all its limitations will wear out in a predictable fashion, while a spinning drive could die "anytime now". don't know about the current generation, but I hope they added some info of the wear level inside the disk smart monitor.

    107. Re:Umm... by Anonymous Coward · · Score: 1, Funny

      Perl is hard. Let's use brainf*ck.

      is there a difference?

    108. Re:Umm... by raynet · · Score: 1

      Yup, and as it is the worst case scenario, the flash drive should last much longer. Also I am pretty sure that a normal HDD might die quite fast under similar load.

      --
      - Raynet --> .
    109. Re:Umm... by owlstead · · Score: 1

      About a logging file system: I was thinking the same thing. It seems that e.g. the ZFS filesystem is not directly the best match for SSD, because it still writes a lot of writes at the same place. This is just a rumor I found on internet, but it seemed at the time to be convincing enough. So you may consider it fine, but do research to make sure that it really works. It's very hard to find reliable information about these issues.

    110. Re:Umm... by Anonymous Coward · · Score: 0

      One word: The forced indentation of code.

    111. Re:Umm... by __aaclcg7560 · · Score: 1

      Visual Basic is hard, let's use Logo.

    112. Re:Umm... by Dan+Ost · · Score: 1

      You'll never notice it.

      Seriously.

      It only applies at the beginning of statements, so it doesn't interferre with function arguments, list elements, or just about anything else that you're likely to want to control the indentation of.

      --

      *sigh* back to work...
    113. Re:Umm... by MadKeithV · · Score: 1

      But who will outsource the outsourced?
      (BTW does anyone else think that out-sourcing sounds like a programmer competition?)

    114. Re:Umm... by ByOhTek · · Score: 1

      apparently somemoddy doesn't get why the sig is mathematically infeasible when applied to reality.

      --
      Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  2. I'm not seating it by timeOday · · Score: 5, Insightful

    I'm using the Intel SSD and I think it's great - fast and silent. Will it last? I'd argue you never know about any particular model of hard drive or SSD until a few years after it is released. On the other hand, I'd also argue it doesn't matter much. Say one drive has a 3% failure rate in the 3rd year and another has a 6% rate. That's a huge difference percentage-wise (100% increase). And yet it's only a 3% extra risk - and, most importantly, you need a backup either way.

    1. Re:I'm not seating it by Zebra_X · · Score: 5, Interesting

      The real key here is this: when an SSD drive can no longer execute a write - the disk you will let you know. Reads do not cause appreciable wear so you will end up with a read only disk when the drive has reached the end of it's life. This is vastly superior to the drive just dying becuase it's had enough of this cruel world.

      I'd be interested to see some statistics on electrical failure of these drives though... but it seems that isn't as much of an issue.

    2. Re:I'm not seating it by Anonymous Coward · · Score: 0

      Sorry, but that's make believe. What happens during writes is:

      0) Controller tells flash chip to unlock a sector/bank
      1) Controller tells a flash chip to erase a sector/bank (some hardware docs say bank, some say sector, others say both)
      2) Chip attempts to erase the requested sector.
      3) Checks to see if sector is erased by reading back to ensure all bits are on or off (most flash chips is where erase/reset state is all bits on, therefore you're writing zeros for it to store).
      4) Chip reports back to controller erase success or fail
      5) Controller checks status and continues if success, else *reports error back to OS.
      6) Controller writes data to flash sector linearly.
      7) Controller tells flash chip to relock the sector or simply resets the flash session state back to default which is all sectors are locked.

      Anyway, the make believe part is your thinking that by failing a write then your data is still readable which in fact majority of cases its dead Jim. By attempting to issue an erase it is possible for all bits to be erased except a few to cause that entire sector to be flagged as a failure and considered dead.

      * But one particular scheme involves the flash drive controller to just simply ignore that dead sector and try another one that is unused. Which is nothing new on the stand point with current magnetic drives.

      Now what if your flash drive ran out of unused sectors to recover by? Well you'll end up with the same classic result, a bad drive with missing data due to lack of free sectors.

    3. Re:I'm not seating it by berend+botje · · Score: 2, Funny

      You haven't actually done much work with these drives have you? I can tell because of the pixels and the amount of nonsense you display....

      Point is, for significant use, SSD's crap out in less than a year.

      And yes, I have statistics and anecdotal evidence both on my side.

    4. Re:I'm not seating it by Zebra_X · · Score: 3, Insightful

      "Anyway, the make believe part is your thinking that by failing a write then your data is still readable which in fact majority of cases its dead Jim"

      Are you sure about this - based on your previous flow:
      "4) Chip reports back to controller erase success or fail"
      is when the OS is notified by the drive that the write failed. Presumably, the drive or the OS might try another part of the bank, sector or what have you. At no point are you earsing non-free sectors.

      It is fundamentally the write operation that causes the bits to fail, not the read. So the rest of the contents of the disk are fine - make an image and transfer to a new drive. Easy.

    5. Re:I'm not seating it by raddan · · Score: 0, Redundant

      And yes, I have statistics and anecdotal evidence both on my side.

      Link?

    6. Re:I'm not seating it by sofar · · Score: 1

      And yes, I have statistics and anecdotal evidence both on my side.

      so where are the facts ?

    7. Re:I'm not seating it by larry+bagina · · Score: 3, Funny
      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    8. Re:I'm not seating it by Haeleth · · Score: 4, Insightful

      "Anecdotal evidence" is an oxymoron.

      Point is, I could just as easily claim that SSDs last ten years, and since neither of us has provided a shred of evidence to support our assertions, neither of us has any credibility whatsoever.

    9. Re:I'm not seating it by Surt · · Score: 1

      It's harder to imagine that you've had a functioning SSD for ten years than it is to imagine that he's had one hundred fail in less than a year.

      --
      "Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
    10. Re:I'm not seating it by Raffaello · · Score: 1

      or...

      the plural of "anecdote" is not "data."

    11. Re:I'm not seating it by fm6 · · Score: 3, Funny

      "Anecdotal evidence" is an oxymoron.

      Do you have any evidence?

    12. Re:I'm not seating it by fm6 · · Score: 1

      On the other hand, I'd also argue it doesn't matter much.

      If you don't care about the cost of replacing the damn thing.

      Oh wait, the questioner said he didn't. Never mind!

    13. Re:I'm not seating it by Anonymous Coward · · Score: 3, Interesting

      Warning: I'm an Intel employee

      But I've been using the 80GB Intel MLC drive since mid-year 2008 and it's great. Very fast and silent -- I refuse to go back to a mechanical drive again. It's perfect for a client workload (99.9% of users) but not perfect for a transaction heavy server (use the SLC drive).

      My workload is writing code and generating/parsing very large data sets from fab (1 - 4 GB).

      Here is the "insider" information from my drive:

      6.3TB written total (roughly 9 months of usage)
      58 cycles (average) on each block of Nand

      Given that the component Nand is qualified out to 10K, that's clearly long enough for at least 5 years of usage.

    14. Re:I'm not seating it by Matheus · · Score: 1

      SO.. I have a Dell XPS that I decided to waste $$ and buy the 64GB SSD (as my primary disk.. SATA for disk 2).

      I bought this laptop in January of '08. It is now March of '09. 14months > 12months and my drive is still working fine.

      You lose.

    15. Re:I'm not seating it by tytso · · Score: 4, Interesting

      So interested people want to know --- how do you get the "insider" information from an X25-M (ie., total amount of writes written, and number of cycles for each block of NAND)?

      I've added this capability to ext4, and on my brand-spanking new X25-M (paid for out of my own pocket because Intel was to cheap to give one to the ext4 developer :-), I have:

      <tytso@closure> {/usr/projects/e2fsprogs/e2fsprogs} [maint]
      568% cat /sys/fs/ext4/dm-0/lifetime_write_kbytes
      51960208

      Or just about 50GB written to the disk (I also have a /boot partition which has about half a GB of writes to it).

      But it would be nice to be able to get the real information straight from the horse's mouth.

    16. Re:I'm not seating it by fm6 · · Score: 1

      It. Was. A. Joke. I asked if you had any evidence that anecdotal evidence was a oxymoron. Get it? Guess not.

    17. Re:I'm not seating it by Zebra_X · · Score: 1

      So you are saying that you letters are really big? Clap for 800x600.

      I'll chat with you in 6 months after my laptop has traveled another 20,000 miles and I'll let you know how my Intel M-25 has fared.

    18. Re:I'm not seating it by Anonymous Coward · · Score: 0

      Reads do not cause appreciable wear so you will end up with a read only disk when the drive has reached the end of it's life. This is vastly superior to the drive just dying becuase it's had enough of this cruel world.

      /quote>

      What do you do with a read-only hard drive with a half-finished software project on it ? ;)

    19. Re:I'm not seating it by Anonymous Coward · · Score: 0

      But what if the write fails right in the middle of a file? or worst: in the middle of updating the file table? you'll end up having a corrupted FS.

    20. Re:I'm not seating it by Catalina588 · · Score: 1

      Ran two Intel X-25's for five months in RAID 0 under Vista Ultimate (32 bit) before they went down with symptoms of Windows Update installation taking longer than 24 hours to complete. Unable to recover or reinstall Windows on the RAID pair, so I yanked them. Too bad because the read performance is phenomenal.

    21. Re:I'm not seating it by drinkypoo · · Score: 1

      It's harder to imagine that you've had a functioning SSD for ten years than it is to imagine that he's had one hundred fail in less than a year.

      The classic DoC ("Disk on Chip") SSD has been around at least that long and there are various RAM-based examples which have been around at least that long. Many of those old DoCs are still working - though many of them are pretty low-capacity and were almost exclusively read. The RAM-based units ought to still be working if they were stuffed with quality RAM, but they'd be pretty damned low-capacity too.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    22. Re:I'm not seating it by setagllib · · Score: 1

      His is at least possible. SSDs as they are now have only been around for a very short time, much shorter than 10 years. We can certainly start to say how early the failed ones failed, but not how long it would take for currently running ones to fail, until the dots start appearing on the plot.

      --
      Sam ty sig.
    23. Re:I'm not seating it by Doppler00 · · Score: 1

      The OS would not be responsible for re-issuing the write. The wear leveling of the SSD should do this automatically and mark the sector as bad.

      What should happen is a SMART status update telling the host OS that the drive is running out of writable sectors due to a high % of bad sectors.

    24. Re:I'm not seating it by Anonymous Coward · · Score: 0

      Just curious, when the time comes and the SSD can no longer be written you now have a development environment/source code (proprietary data) on a drive that cannot be scrubbed.

      Has anyone thought of how we dispose of these drives (besides using a hammer)?

      At least the current technology can be blown away w/DBAN or similar tools (assuming its not trashed, then the hammer is your best bet).

      AC

  3. Swap? by qoncept · · Score: 3, Interesting

    Do you have a swap file/partition? You're talking hundreds of writes a day, tops. That sounds like a big number, but in reality it just ain't. I would question why you feel the need for an SSD, though. I know the difference between $300 and $50 isn't that big in the grand scheme of things, what benefit are you expecting?

    --
    Whale
    1. Re:Swap? by timeOday · · Score: 5, Informative

      The main difference is a good SSD is much, much faster than any hard drive. If discussions about the topic don't give that impression, it's only because people fixate on sustained transfer - where there is still some competition between slower SSDs and hard drives - rather than seek time, which is often more important, and where SSDs blow the doors off hard drives. To me, suddenly widening the biggest bottleneck in PC performance for the first time in a couple decades is pretty exciting.

    2. Re:Swap? by Mad+Merlin · · Score: 3, Informative

      Yeah, except only the SLC SSDs are worth having. MLC SSDs are junk and extremely common, you're better off with a spinning platter drive. However, I can't recommend SLC SSDs enough, they're substantially faster than conventional spinning platter drives in all ways.

    3. Re:Swap? by Anonymous Coward · · Score: 2, Interesting

      Would you care to explain your opinion that MLC SSDs are junk? I know some people have gotten a bad impression of MLC SSDs because Windows' default configuration doesn't play nicely with them. However if you tune Windows, MLCs work great. If you use OS X, just about everything is, by accident, property tuned and they work great. My guess, with Linux they will just work great.

      Three days in with my new SSD and OS X, and I love it. The almost total elimination of disk latency has made it a whole new experience. I can't even measure launch times in icon bounces any more; on average the windows appear before the icon has even finished its first jump off the dock.

    4. Re:Swap? by afidel · · Score: 4, Insightful

      The best bet if your project is smaller than about 20GB is to buy a box full of ram and use a FAT32 formatted ramdrive. Orders of magnitude faster than even an SSD.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    5. Re:Swap? by clone53421 · · Score: 1

      Who said anything about USB?

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    6. Re:Swap? by Anonymous Coward · · Score: 0

      On modern developers workstation (16GB or more RAM) why would you need swap?

    7. Re:Swap? by fuzzyfuzzyfungus · · Score: 1

      Depending on the application, using a filesystem with such niceties as, oh, file permissions might be a good idea...

    8. Re:Swap? by Big+Boss · · Score: 1

      Where do you work? I had to piss and moan to get 2GB of RAM! I would kill for 16GB.

    9. Re:Swap? by afidel · · Score: 4, Informative

      NTFS has a fairly high overhead for a compile, lots of small temp files that all have to be created and deleted having their ACL's added to the MFT and then removed. I've seen compile time drop to 1/4th the time by switching from NTFS to FAT32 on the same hardware.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    10. Re:Swap? by Dan+Ost · · Score: 1, Insightful

      Holy crap! If you think a developer needs 16G of RAM, you're NUTS!

      Graphic artists and people editing videos need that kind of RAM, but a developer doesn't. I've got 2G of RAM in my machine and according to top, that's about twice what I use (and most of that is firefox and evolution). Granted, I don't use a heavy-weight IDE, but I hardly think Eclipse would require 14G of RAM to function (please correct me if I'm wrong).

      --

      *sigh* back to work...
    11. Re:Swap? by wtbname · · Score: 2, Informative

      I Have the 80 gig MLC SSD from intel, and it's not junk. It's freaking fast.

    12. Re:Swap? by zergl · · Score: 1

      The best bet if your project is smaller than about 20GB is to buy a box full of ram and use a FAT32 formatted ramdrive. Orders of magnitude faster than even an SSD.

      I kinda see a minor nuisance with data loss in case of a power failure unless you have some kind of battery backup or UPS. And it will have to be completely written from/to a non-volatile storage medium everytime you power up/down the workstation.

      If you could just configure it to be some kind of an advanced cache that constantly reads and writes to the hard disk and just takes the hit from the I/O spikes off it, I could see it being awesome.

    13. Re:Swap? by Fulcrum+of+Evil · · Score: 1

      I don't know where you've been, but a FS on ram is just like an FS on disk. Of course, linux is so aggressive on caching that you might be able to just get a pile of RAM and use the buffer cache.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    14. Re:Swap? by clone53421 · · Score: 1

      What sort of IDEs are you using that don't play nice with FAT32 filesystems?

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    15. Re:Swap? by Anonymous Coward · · Score: 0

      This sounds great until your box has a kernel panic or shuts off unexpectedly.

    16. Re:Swap? by Anonymous Coward · · Score: 0

      Hey, my WS has 24GB and 10-12 of them are always used.Consider few virtual sessions of Linux, few MSVS 2008, few board emulators and very soon you would ask for 32 GB. If all your needs fit into puny 2 GB, I question your professionalism ;)

    17. Re:Swap? by afidel · · Score: 1

      The source lives in CVS/Subversion/whatever and is built locally, at most you have lost the work since your last checkin which should be small so patch notes are readable.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    18. Re:Swap? by Anonymous Coward · · Score: 0

      I wouldn't say this is a good idea, time to copy files over would probably be too oong to be useful, even for some good-ish UPSs.

      If anything, you should just buy / build a RamDrive at 8Gigs actually copy the OS over to it at bootup, there are quite a few guides online about that.

      Then have a Flash SSD for file saves. (put hiberfil on here and symlink it, should solve the hibernation problem.. hopefully, this parts kinda messy...)

      Then of course, an HDD / tape-drive for backups.

      This is my dream system, i shall build it one day... one day.

    19. Re:Swap? by larry+bagina · · Score: 1

      and case sensitivity.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    20. Re:Swap? by Anonymous Coward · · Score: 0

      Get out of Mom's basement and get a real job in the real world. Over there you will need all gigabytes you can get.

    21. Re:Swap? by Haeleth · · Score: 4, Funny

      Holy crap! If you think a developer needs 16G of RAM, you're NUTS!

      Or using Java/Haskell/Ruby and/or Eclipse/VS.NET/Emacs (delete according to prejudice).

    22. Re:Swap? by afidel · · Score: 2, Informative

      If you are relying on case sensitivity to differentiate files that's a big old bag of fail. NTFS is case preserving but will not allow the same filename with different cases, there are plenty of protocols and code that are either case preserving or case blind so you should never really rely on it for much of anything but your own neumonic of sorts.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    23. Re:Swap? by IllForgetMyNickSoonA · · Score: 1

      Now, EMACS is a big boy, but puting it in the same memory-hogging-basket with Eclipse is really unfair... :-)

    24. Re:Swap? by Mad+Merlin · · Score: 0

      Random write speeds on MLC SSDs range from mediocre to abysmal, generally tending towards the latter. In this case, spinner platter drives are much better. Add in the fact that random writes are a very common workload and you end up with MLC SSDs being junk.

    25. Re:Swap? by Anonymous Coward · · Score: 0

      this guy is talking about development, not production. i can see a case where you'd want file permissions in your development environment, i just don't see it very close to anywhere I've ever sat before.

    26. Re:Swap? by Anonymous Coward · · Score: 2, Insightful

      Where do you work? I had to piss and moan to get 2GB of RAM! I would kill for 16GB.

      I think the better question is where do YOU work that 2GB was such an ordeal. 4GB of desktop ram is $50 at newegg. If you work in the US... it's a shitty tech environment. That said, I bought a 24" LCD 3 years ago for myself and brought it into work when I wanted one that match my home display :)

    27. Re:Swap? by jaavaaguru · · Score: 1

      What do IDEs have to do with filesystems? Being able to have the compiler set the execute permission for the file it has created would be sensible though.

    28. Re:Swap? by jaavaaguru · · Score: 2, Insightful

      Virtual machines.

      I have 3 running right now because I have two VPN connections to different networks using the Cisco VPN client, and another VM for testing client software on. Even then, I'm using just over half of the 4GB RAM the computer has.

    29. Re:Swap? by Anonymous Coward · · Score: 0

      Even with 14G of RAM, Eclipse still won't be fast.

    30. Re:Swap? by quanticle · · Score: 1

      If you could just configure it to be some kind of an advanced cache that constantly reads and writes to the hard disk and just takes the hit from the I/O spikes off it, I could see it being awesome.

      And how would that be different from just a regular disk cache (as implemented by Linux or Windows)?

      --
      We all know what to do, but we don't know how to get re-elected once we have done it
    31. Re:Swap? by Anonymous Coward · · Score: 0

      haha. gee. My laptop, which is a glorified dumb terminal to connect to my linux box, has like 3GB of RAM. And the LInux box is just crawling along.. it's an 8-way system with 32GB of RAM. And I don't use emacs or anything exotic - just vim/gvim, and gcc to compile. make, etc. But the program chews up a lot of resources to just test the damn thing!

    32. Re:Swap? by nabsltd · · Score: 2, Interesting

      I have 3 running right now because I have two VPN connections to different networks using the Cisco VPN client

      The security rules of some VPN connections (that force everything through the VPN and effectively cut you off from the local network) meant that you had to have a lot of boxes just to make up your "workstation".

      Now, with VMs, you can have the VPN connection, get to the local network, and be able to transfer data from the local network to the other end of the VPN. This has basically restored my sanity (and made the flash drives I had purchased for sneakernet much less useful).

    33. Re:Swap? by Megane · · Score: 1

      Except that anyone working on a project which involves the Linux kernel has to deal with this "big old bag of fail". Some bright spark working on the netfilter code decided that it would be a cute idea to abuse case-sensitive filenames, probably as some sort of WTF guerilla advocacy against closed-source operating systems. If you want to try to get Linus to commit a change to remove this, go right ahead, but it's been at least five years now, and it's not likely to happen until Linux 2.7/2.8, which is in itself unlikely to happen.

      --
      #naabhaprzrag, #sverubfr-000, #agi-fcbafberq, negvpyr[pynff*=' negvpyr-ary-'] { qvfcynl: abar !vzcbegnag; }
    34. Re:Swap? by node159 · · Score: 1

      As a full time developer I can tell you that I need as much RAM as I can get, my main development box is running the following with ram usages, which is a usual workday:

      1Gb 2xIDE (one for client side project one for server side)
      1Gb Oracle
      1Gb Tracing tools.
      0.5Gb SQL development IDE's
      1Gb 3xApp servers
      1Gb Other (email, web, word docs, modeling tools etc)
      0.5Gb OS

      Total 6Gb/8Gb

      Now if I can add a 8Gb ram disk to that, it would significantly improve productivity (complete rebuild takes 5min).

      Just because your needs are trivial never assume that others aren't.

      --
      GPLv2: I want my rights, I want my phone call! DRM: What use is a phone call, if you are unable to speak?
    35. Re:Swap? by Anonymous Coward · · Score: 0

      Do you have a swap file/partition?

      With today's machines 64 bit arch and RAM extremely affordable, does anyone ever actually have their swap used?

    36. Re:Swap? by Anonymous Coward · · Score: 1, Interesting

      You're quite clueless and/or you only develop small, wee-tiny assembler or even microcontroller-related projects.
      The most stuff i program certainly has the ability to eat up more than just half of my 8 gigs RAM.

      Example: I'm writing a pythonic archive management system. The indexing process alone (I do store that in memory, because hdd would be a) in use by the process itself and b) way too slow anyway) eats roughly 2 gigs of RAM for a 2 TB dataset.

      Then i have a Firefox open with lots of current news, documentation and (i admit) webcomics. It currently eats about 700 megs.

      RAM is like screen-real-estate - you cannot have enough. And i wasn't even talking about HPC or distributed stuff.

      Clueless wit, you - please stop claiming that you're a "developer".

    37. Re:Swap? by jsiren · · Score: 1

      EGACS: Eight Gigabytes And Constantly Swapping.

      --
      Usage: km/h for speed (kilometers per hour); kph for very slow impulses (kilopond hours).
    38. Re:Swap? by Anonymous Coward · · Score: 0

      As a developer, I think you don't *need* very much of anything (a simple text editor is quite cheap).

      On the other hand, I find that I seem to use what is available so if there is only a text editor i'll work with that.. But if i have a quad core with 16G ram then there are soon some virtual machines etc running and the system is getting on its limit either way :)

    39. Re:Swap? by Anonymous Coward · · Score: 0

      can't you just change your routing tables manually so that anything destined for work goes through the tunnel and anything else goes to the local network. you can even script it like the following...

      # get ifconfig.
      # look for line of tun0 and include next 4 lines
      # look for line containing 'inet' and print the second column
      # remove the addr

      dynip_tun=`/sbin/ifconfig | grep -A 4 tun0 | awk '/inet/ { print $2 } ' | sed -e s/addr://`
      # eth can be eth0 or eth1 depending if using wireless or wired
      dynip_eth=`/sbin/ifconfig | grep -A 4 eth | awk '/inet/ { print $2 } ' | sed -e s/addr://`

      route del default
      route add default gw $default_eth
      # 172.x.x.x. goes to work vi the tunnel
      route add -net 172.0.0.0 netmask 255.0.0.0 gw $dynip_tun

      you can even do something like that with your /etc/resolv.conf file as well. DNS lookup can be a pain, but nothing you can't solve by adding a few /etc/hosts entries

    40. Re:Swap? by setagllib · · Score: 1

      You fail at math.

      80Mb/s * 8bits/byte = 640MB/s.

      480MB/s / 8bits/byte = 60Mb/s.

      --
      Sam ty sig.
    41. Re:Swap? by gatesvp · · Score: 1

      ...I don't use a heavy-weight IDE...

      And that's the problem right there. The primary purpose of the IDE is to leverage computer power to improve developer productivity. If you're not using an IDE with re-factoring tools and test suites and code generation and maybe some handy UIs... then you don't need that much RAM.

      Of course, it could also be argued that you're wasting a lot of money. RAM is cheap, your time isn't supposed to be.

    42. Re:Swap? by bluefoxlucid · · Score: 1

      The bus is fast enough. The hardware is 19MB/s read often enough. The problem is operating systems are optimized for read-ahead and bulk read speeds are much more significant than seek time these days, especially with low fragmentation.

    43. Re:Swap? by Anonymous Coward · · Score: 0

      We're talking about software development. fuzzyfuzzyfungus' nit-pick about permissions doesn't make any sense in the context of development unless he's using an IDE that doesn't like that.

    44. Re:Swap? by Dan+Ost · · Score: 1

      I have never experienced productivity gains in my experiments with Eclipse (the only IDE I've messed with since turbo C++).

      In addition to that, in the handful of times I've been on teams with a mix of IDE users and nonusers, the IDE users have always been the least productive team members. The IDEs are clearly not to blame, but it is interesting to me that it is the less capable developers who use IDEs while the more capable developers tend to ignore them.

      I understand that a capable developer making use of a powerful IDE is probably a wonder to behold, but I've just never seen it. In my admittedly narrow experience, IDEs are simply crutches for mediocre developers.

      --

      *sigh* back to work...
    45. Re:Swap? by jgrahn · · Score: 1

      I have never experienced productivity gains in my experiments with Eclipse (the only IDE I've messed with since turbo C++).

      TurboPascal and AmigaBASIC in my case. I've never touched Eclipse or any other recent IDE. I use Emacs and the Unix shell as my only development environment since fifteen years. Possibly I could become more productive in Eclipse by year 2015 or so (if I switched now). Let's just say it's not at the top of my list.

      In addition to that, in the handful of times I've been on teams with a mix of IDE users and nonusers, the IDE users have always been the least productive team members. The IDEs are clearly not to blame, but it is interesting to me that it is the less capable developers who use IDEs while the more capable developers tend to ignore them.

      Roughly my experience too -- newbies tend to look for tools which can automagically solve their problems, and really dedicated programmers chose editor when they were in their teens.

      (But to be fair, an inept vi(m) user is also an ugly sight.)

  4. Sandisk SSD G3 by ErikZ · · Score: 1

    Does anyone know when the Sandisk SSD G3 are coming out?

    --
    Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
  5. should be fine by MagicMerlin · · Score: 3, Informative

    Unless you type like The Flash, even MLC SSDs from the better vendors (Intel) should be fine for anything outside of server applications. Simple math should back this up (how many GB total the drive can write over its lifetime vs how much you produce each day). merlin

    1. Re:should be fine by Tetsujin · · Score: 4, Funny

      Unless you type like The Flash, even MLC SSDs from the better vendors (Intel) should be fine for anything outside of server applications. Simple math should back this up (how many GB total the drive can write over its lifetime vs how much you produce each day).

      I don't know who this "The Flash" is... But this reminds me of some odd invoices I've seen here lately at Star Labs. Someone special-ordered a custom keyboard rated to one hundred times the usual keystroke impact, an 80MHz keyboard controller, and a built-in 1MiB keystroke buffer. Pretty ridiculous, huh? The usual 10ms polling rate for a USB keyboard should be enough for anybody - no need for all that fancy junk.

      --
      Bow-ties are cool.
    2. Re:should be fine by clone53421 · · Score: 2, Insightful

      how many GB total the drive can write over its lifetime vs how much you produce each day

      It's not as simple as that. Make a small change (insertion or deletion) near the beginning of a large source code file, and the entire file – from the edit onward – must be written over. Then, any source code file that has been modified must be read and built, overwriting the previous binary files for those source codes. Finally, all the binary files must be re-linked into the executable.

      So you're not just writing ___ bytes of code. You're writing ___ bytes of code, re-writing ___ bytes of code because it followed code that was added or modified, and overwriting ___ of the object, library, debug, executable, etc. etc. files that are created when the project is built. In a large project that's probably in the order of megabytes. That is what TFS meant by:

      in software development, one may have to update 10-30% of the source files from Subversion and recompile the whole project, several times a day. I wonder how SSDs will do in this usage pattern.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    3. Re:should be fine by ultrabot · · Score: 1

      It's not as simple as that. Make a small change (insertion or deletion) near the beginning of a large source code file, and the entire file – from the edit onward – must be written over.

      It's not like any normal editor actually opens the file in edit mode and only patches in bytes that have been modified. They all rely on the simple solution of actually writing the whole file at once.

      --
      Save your wrists today - switch to Dvorak
    4. Re:should be fine by clone53421 · · Score: 1

      I don't know who this "The Flash" is...

      http://lmgtfy.com/?q=%22The+Flash%22

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    5. Re:should be fine by __aasqbs9791 · · Score: 3, Funny

      Find who ordered that keyboard and I think you'll find out who the Flash is.

    6. Re:should be fine by hoosier_geek · · Score: 1

      Hmmm. Follow up on that? I for one welcome our new robo-typist overlords.

    7. Re:should be fine by Jeffrey+Baker · · Score: 1

      Yes, you're right, but only because the article submitter is ignorant of how SSDs work. Writes to the same offset (from the operating system's perspective) never or rarely go to the same erase block on the flash device itself. Even static data is moved around to prevent hot spots. For MLC you can write 10,000 times the capacity of the disk before you would expect the disk to fail. With SLC you can write the capacity times 100,000. That's 12PB of writing for a 120GB SLC.

      More to the point, when an SSD fails it becomes read-only, which is a VERY desirable failure mode. When a disk fails it's just trash. SSDs are clearly superior to disks for anyone who cares about keeping their data.

    8. Re:should be fine by edmudama · · Score: 1

      It's still a relatively trivial usage for today's good SSDs, even MLC ones. They can handle tens or in some cases hundreds of gigabytes of writes per day, depending on the model.

      I don't think most people realize just how little data they write to their drives in normal usage.

      --
      More data, damnit!
    9. Re:should be fine by Mprx · · Score: 1

      I modified my Linux kernel to poll my keyboard every 2ms.

    10. Re:should be fine by Tetsujin · · Score: 2, Funny

      I don't know who this "The Flash" is...

      http://lmgtfy.com/?q=%22The+Flash%22

      "But this reminds me of some odd invoices I've seen here lately at Star Labs."

      --
      Bow-ties are cool.
    11. Re:should be fine by CAIMLAS · · Score: 2, Informative

      So? Find out how much is actually being written. It's trivial (at least in Windows). If this is a linux machine, you can either use iostat or look at the actual files within /sys which denote this information and do some basic arithmetic.

      So, say you rewrite (say) 2Gb of data a day. Set the disk cache to be high. The SSD should last a year or two, minimum, at this rate of writing because it balances the writes across the disk.

      Another approach which could be taken is not use the SSD for daily compiling use. Use a RAM disk. RAM is cheap. Load the project you're working on into a ramdisk, and you don't have to worry about it. At the end of the day, move the project back to storage.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    12. Re:should be fine by clone53421 · · Score: 1

      If you make insertions or deletions, the following data will be shifted. Unless it's shifted by exactly one sector (4 KB, on the computer I'm currently using), every following sector will have to be re-written.

      Unless the filesystem allows a partial sector in the middle of a file. E.g. your file is allocated as sectors 3, 7, 8, and part of 12, and you insert data to sector 7, whereupon your file is allocated as "all of sectors 3 and 7, 47 bytes of sector 13, all of sector 8, and 350 bytes from sector 12". I have no idea whether that would be possible in any particular filesystem, though.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    13. Re:should be fine by ultrabot · · Score: 1

      If you make insertions or deletions, the following data will be shifted.

      My point was that no editor does insertions or deletions. They always write out the whole file. Editors really have no idea how a file was "edited" unless they do a diff vs. the old file, which I don't think is used in practice.

      Some editors may open, truncate and write out the same file (which is a bit unsafe), while some create & write a new file, move over the old one and rename the new file as the old one.

      --
      Save your wrists today - switch to Dvorak
    14. Re:should be fine by Anonymous Coward · · Score: 0

      Congratulations: you got the joke. Collect your prize anytime, it's wedged between the rail lines at your nearest train station.

    15. Re:should be fine by Dr_Barnowl · · Score: 1

      In addition, with SSD, a write cycle erases the whole block before filling it, so the actual number of blocks written is typically larger than data-size/block-size.

    16. Re:should be fine by Anonymous Coward · · Score: 0

      ha! I just imagined that scene from "Bruce Almighty" where he goes to town typing "YES" on his prayer computer

  6. Get an enterprise drive (SLC, not MLC) by vlad_petric · · Score: 4, Insightful

    If they're good enough for Databases (frequent writes), they should be just fine for devel.

    OTOH, You should be a lot more concerned about losing data because of a) software bugs or b) mechanical failures in a conventional drive

    --

    The Raven

    1. Re:Get an enterprise drive (SLC, not MLC) by Z00L00K · · Score: 1

      It also depends on what type of filesystem you use. A journaling filesystem like ext3 can wear down a disk a lot faster than a non-journaling filesystem.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:Get an enterprise drive (SLC, not MLC) by vlad_petric · · Score: 1

      Do you actually have some data (specific to proper SSDs) to support this statement?

      --

      The Raven

    3. Re:Get an enterprise drive (SLC, not MLC) by clone53421 · · Score: 1

      Database edits don't propagate through the database the way a code edit propagates through the files in your project. In addition to the source code itself, object files, dlls, and executables will probably have to be re-written if you change a source code file.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    4. Re:Get an enterprise drive (SLC, not MLC) by afidel · · Score: 1

      Uh, my lightly used Oracle server does 100GB of writes a day just to it's log partitions which are only 8GB in size. I doubt your compiler can even chew on code fast enough to do more than that.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    5. Re:Get an enterprise drive (SLC, not MLC) by Mad+Marlin · · Score: 1

      It also depends on what type of filesystem you use. A journaling filesystem like ext3 can wear down a disk a lot faster than a non-journaling filesystem.

      This is incorrect. Don't put swap on an SSD though, that is really bad; this is probably what the parent poster is mis-remembering.

    6. Re:Get an enterprise drive (SLC, not MLC) by ultrabot · · Score: 1

      Database edits don't propagate through the database the way a code edit propagates through the files in your project.

      The database is often in one (compact) file, and if you are editing just one byte of it you will have to erase & rewrite an entire flash block when you commit your data.

      To my mind, database seems like a horrible application for flash write patterns. Anything that can work by just appending & creating files is a much friendlier environment.

      Does anyone know if any existing database optimizes for flash write patterns? Do the commit journals take care of this problem?

      In addition to the source code itself, object files, dlls, and executables will probably have to be re-written if you change a source code file.

      Object code is pretty small & tight. The entire linux kernel w/ initrd image is 8 megs...

      --
      Save your wrists today - switch to Dvorak
    7. Re:Get an enterprise drive (SLC, not MLC) by clone53421 · · Score: 1

      The database is often in one (compact) file, and if you are editing just one byte of it you will have to erase & rewrite an entire flash block when you commit your data.

      Not so compact as you seem to think. Delete a record from the top of a multi-gigabyte database and I guarantee you the database won't be completely overwritten to collapse the gap. That's why databases have a compact function, and that's why you don't call it after every change.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    8. Re:Get an enterprise drive (SLC, not MLC) by clone53421 · · Score: 1

      Actually now I'm thinking that you were saying you'd have to overwrite the block containing modified bytes. However, there's still no advantage to using multiple files in that case: the entire flash block has to be overwritten anyway to change any part of it.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    9. Re:Get an enterprise drive (SLC, not MLC) by ultrabot · · Score: 1

      Not so compact as you seem to think. Delete a record from the top of a multi-gigabyte database and I guarantee you the database won't be completely overwritten to collapse the gap.

      Of course not. Nothing does that. I meant that the database file format is rather compact compared to sparse ways of storing the data (e.g. different files on a file system). You will see integer fields next to each other, etc.

      --
      Save your wrists today - switch to Dvorak
    10. Re:Get an enterprise drive (SLC, not MLC) by edmudama · · Score: 1

      The database is often in one (compact) file, and if you are editing just one byte of it you will have to erase & rewrite an entire flash block when you commit your data.

      Only if you buy a crappy flash drive with a crappy controller. The good ones are worth the extra money.

      --
      More data, damnit!
    11. Re:Get an enterprise drive (SLC, not MLC) by ultrabot · · Score: 1

      The database is often in one (compact) file, and if you are editing just one byte of it you will have to erase & rewrite an entire flash block when you commit your data.

      Only if you buy a crappy flash drive with a crappy controller. The good ones are worth the extra money.

      Care to explain how they do it? Any good links?

      --
      Save your wrists today - switch to Dvorak
    12. Re:Get an enterprise drive (SLC, not MLC) by ultrabot · · Score: 1

      Actually now I'm thinking that you were saying you'd have to overwrite the block containing modified bytes. However, there's still no advantage to using multiple files in that case: the entire flash block has to be overwritten anyway to change any part of it.

      The good side about multiple files (over a database) is that you can just keep appending to the files if it makes sense for your application. If a file has its own block, you don't need to erase at all, but just append data to the block. This minimizes the amount of erase cycles.

      --
      Save your wrists today - switch to Dvorak
    13. Re:Get an enterprise drive (SLC, not MLC) by larry+bagina · · Score: 1

      Yes. He understands what journaling is.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    14. Re:Get an enterprise drive (SLC, not MLC) by Fulcrum+of+Evil · · Score: 1

      Here you go. Seems SSD isn't so fast when compared to DDR ramdrives. Of course, the limited capacity means that it's mostly useful for pshop and redo logs on your DB server.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    15. Re:Get an enterprise drive (SLC, not MLC) by Haeleth · · Score: 1

      Yeah, I believed that once, as well. Then (after the power failure and tedious system rebuild) I realised that filesystem integrity is probably a more important thing to be concerned about.

    16. Re:Get an enterprise drive (SLC, not MLC) by Limecron · · Score: 1

      Or even more likely (c) human error.

    17. Re:Get an enterprise drive (SLC, not MLC) by tytso · · Score: 1

      It also depends on what type of filesystem you use. A journaling filesystem like ext3 can wear down a disk a lot faster than a non-journaling filesystem.

      Not true. If you have a decent SSD that doesn't have Write Amplification problems (such as the X25-M), the extra overhead of journalling really isn't that bad. I wrote about this quite recently on my blog.

    18. Re:Get an enterprise drive (SLC, not MLC) by drinkypoo · · Score: 1

      The database is often in one (compact) file, and if you are editing just one byte of it you will have to erase & rewrite an entire flash block when you commit your data.

      That's why you stuff your database server with memory and tune the RDBMS to delay writes as long as possible, AND you have a big disk cache which delays them even further. This increases the penalty for power or effectively similar failure so you need to design your system intelligently and probably utilize replication to minimize faults. But then, lots of people are doing that kind of thing already, any time you depend on the availability of the database you're pretty much doing either this or using virtualization with physical devices or some kind of SAN for storage.

      Object code is pretty small & tight. The entire linux kernel w/ initrd image is 8 megs...

      More relevantly, only changed files need to be recompiled. Unless you're deleting everything every time as part of your build process (in which case, why? ever heard of rsync, let alone real source code management?) then this should be a non-issue.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  7. Backups by RonnyJ · · Score: 4, Informative

    If you're worried about losing work, I think your backup solution is what you need to improve instead.

    1. Re:Backups by Joce640k · · Score: 1

      The great thing about SSDs is that when they die you only lose a few cells, not the entire thing.

      Also, they verify their writes and tell you when they're no longer able to comply.

      All in all, they're far better than an HD, even in death.

      --
      No sig today...
    2. Re:Backups by raddan · · Score: 1

      If he's using SVN, then he's already got that covered, at least, for the paying stuff.

  8. How do raids perform? by wjh31 · · Score: 2, Interesting

    could a raid structure give the performance boost i assume you are after? ive no experiance with them but i gather they can offer higher read/write rates. Can someone with more experiance say exactly how much of a performace boost they give, a set of small HDD's could be the same price without the concerns over cycle limits

    1. Re:How do raids perform? by Grindar · · Score: 1

      He specified an external drive. An external raid would be unncecesarily bulky, most likely, and given the use of an external drive that's frequently used, I'd be willing to bet this is for a laptop, so mobility counts a lot. If it is a mobile solution, then the SSD's probably the way to go. He said he's using subversion, so the code should be backed up to a server. You avoid the whole "oops I jostled my hard drive that grinding sound can't be good" scenario. And given a reasonably large drive, he should have plenty of space to allow for the occasional bad location in memory. Once again, allowing for an external drive, his read/write speed is going to be more throttled by the USB than the performance of the drive, in my experience.

    2. Re:How do raids perform? by Anonymous Coward · · Score: 0

      could a raid structure give the performance boost i assume you are after? ive no experiance with them but i gather they can offer higher read/write rates. Can someone with more experiance say exactly how much of a performace boost they give, a set of small HDD's could be the same price without the concerns over cycle limits

      Better idea, mdadm -C /dev/md0 -n2 -l1 /dev/ssd --write-behind --write-mostly /dev/loop0

      Raid1 with a ramdisk and the SSD, ramdisk will queue up writes and flush them to disk, if you happen to accumulate writes to the same portion, both of them won't happen to the ssd :)

      For an added bonus, try xfs with its delayed write stuff on top of this. Bound to cause loss if your machine dies, but it'll be damn funny to see a floppy disk get 100MB/s write speeds until all the buffers fill up.

    3. Re:How do raids perform? by Guspaz · · Score: 1

      RAID can increase throughput, but it can't reduce access latencies. Of course, if you can read two different things at the same time, that has a similar effect to halving the effective access time. But it'd take a lot of Raptors to get the effective access time down from ~7ms to ~0.1ms.

    4. Re:How do raids perform? by larry+bagina · · Score: 1

      writing to /dev/null is faster than xfs and just as safe.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

    5. Re:How do raids perform? by PitaBred · · Score: 1, Troll

      but it'll be damn funny to see a floppy disk get 100MB/s write speeds until all the buffers fill up.

      Damn funny? Really? I think you need to get out more often...

    6. Re:How do raids perform? by Anonymous Coward · · Score: 0

      OOH, someone mod him "redundant"

      PLEASE

    7. Re:How do raids perform? by Anonymous Coward · · Score: 0

      Most RAID arrays give far better read performance than write performance. Some, with distributed parity striping like RAID 5 are particularly I/O bound during writes, having to write to all disks in the array for each write job in the queue. RAID 1 is much faster for reads, but still suffers for writes from having to do 2 writes for each job in the queue, so there is very little benefit.

      The fastest RAID sets for read or write functions are stripe sets with no parity, which I would not find acceptable for coding, unless you performed a RAID 10 set from 2 such RAID 0 arrays. But now we're now talking about a solution which costs several times the budget we're discussing.

      Alternatively, why not consider placing an extra SCSI drive in the local file server, which can queue up and retrieve data far more efficiently than an SATA drive and which, presumably, is backed-up to SATA disks or tape nightly? The key is, this disk would need to be dedicated to your use because the update function is writing large blocks of serialized write assignments which just KILL performance of a random-access data array or drive unless that is ALL that is happening on that drive. Anyway, that's my solution.

    8. Re:How do raids perform? by gagol · · Score: 1

      There is many factors to consider when building performance storage, especially raid.

      Basically, it all boils down to the usage. I have had a couple of experiences with raids. I am a multimedia worker, my biggest workload is video editing. That workload is not picky on the seek time, because it usually strams datat continously in huge chunks. Your programming workload is completely different and relies more on seek time.

      For that reason I suggest using ssd technology, in doubt you need more performance, buy four small ones, and plug them in raid 0. Be sure to use a good reliable hardware raid controller, as you shound achieve something around 600mb/s data transfers.

      Avoid pci controllers, the bus is not fast enough, consider using pci-e x8 cards for optimal performance.

      If reliabality is an issue, use RAID 5 instead. It "wear levels" the checksum information of blocks data and will survive failure of one drive.

      Have fun !

      --
      Tomorrow is another day...
    9. Re:How do raids perform? by Doppler00 · · Score: 1

      RAID0 with MLC is nice. 0.1ms access time and 300Mbyte/sec read/write throughput. It's the access time I think you would worry about with compilers and lots of random reads.

  9. as an external drive? by mediocubano · · Score: 1

    I'm not sure you will be able to take advantage of the best of the speeds for an external drive. Won't your interface be the limiting factor?

    Probably better to buy more RAM.

    Good luck with that though.

  10. Non-comperable experience by Dishwasha · · Score: 1

    We actually just had a DNS appliance go south on us because the flash-card used went bad (older, non-SLC flash). We suffered complete data loss on the card with major I/O errors to the point where linux would not recognize it as a hdX or sdX. Having a couple sectors on a hard drive go bad can be a pain, but at least you can recover some data. On the other hand, it had been running for several years, so I would recommend that if you plan on using an SSD, try to trade it in or upgrade it on a regular basis to avoid this because when they fail, they FAIL!

    1. Re:Non-comperable experience by vertinox · · Score: 1

      On the other hand, it had been running for several years, so I would recommend that if you plan on using an SSD, try to trade it in or upgrade it on a regular basis to avoid this because when they fail, they FAIL!

      I dunno. The majority of the time when my standard HDDs have died its either all or nothing and rarely a slow death.

      Maybe one out of a hundred drives I had in my lifetime has had bad sectors giving me enough time to backup data.

      Most of the time either I boot the system and hear a nasty clicking sound or all of a sudden I'll hear a beep on a the raid and then the drive is pretty much dead as a doorknob.

      No warning from SMART or any other sign. Usually not worth spending thousands to get the data recovered since I do backups anyways.

      That said, HDD are usually faithful after the first 100 hours of use if you keep them cool enough and the bad ones usually die during the burn in and the rest last for years of use.

      Don't know about SSD, but I'm under the impression that they will be more stable regardless.

      --
      "I am the king of the Romans, and am superior to rules of grammar!"
      -Sigismund, Holy Roman Emperor (1368-1437)
  11. IDE? by Hatta · · Score: 4, Funny

    You should get an SATA SSD instead.

    --
    Give me Classic Slashdot or give me death!
    1. Re:IDE? by Anonymous Coward · · Score: 0

      He wasn't talking about the hard drive interface. He was referring to the Integrated Development Environment (IDE) that he uses.

    2. Re:IDE? by Hatta · · Score: 1

      It was a poor attempt at humor. You know it's an obvious joke when you're the first person to make it, and you still get modded redundant. :)

      --
      Give me Classic Slashdot or give me death!
    3. Re:IDE? by clone53421 · · Score: 1

      Either that, or it was non-obvious to the degree that the mods didn't get the joke and thought you were saying SATA is faster than IDE.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  12. Answer: by BitZtream · · Score: 1, Insightful

    Yes, a SSD can be used for development.

    A better question to ask is should you use a SSD for development.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  13. Best bang for the buck in software development by Anonymous Coward · · Score: 0, Offtopic

    Would be 2 overclocked ATI HD4870s in crossfire mode.

    That's my story and I'm sticking to it.

    1. Re:Best bang for the buck in software development by AndrewNeo · · Score: 1

      Why don't you just get an HD4870x2? Or.. two of them?

    2. Re:Best bang for the buck in software development by larry+bagina · · Score: 1

      my best bang for the buck was 2 chicks at once.

      --
      Do you even lift?

      These aren't the 'roids you're looking for.

  14. X300 by Hougaard · · Score: 1

    I have been using my Thinkpad X300 for developing for the last several month without any problems !

  15. Lifetime is not an issue :p by AlmondMan · · Score: 1

    Current SSDs have a lifetime of somewhere around 10.000 years. I think that's enough.

    1. Re:Lifetime is not an issue :p by Tetsujin · · Score: 4, Funny

      Current SSDs have a lifetime of somewhere around 10.000 years. I think that's enough.

      10000 years or 100000 writes, whichever comes first. :D

      --
      Bow-ties are cool.
    2. Re:Lifetime is not an issue :p by tulcod · · Score: 1

      No, they have an MTBF of 10000 years or so. MTBF != lifetime.

  16. You're already doing backups, no real worries by BitZtream · · Score: 1

    Since you're asking about it and mentioning revision control up front, I'm going to assume that you'll be committing your changes frequently to the revision control system.

    If thats the case, you've already got a backup system in place to deal with hard disk failures thats probably better than any other solution for a workstation. Not only do you get backups of your source, you get (assuming your commits are good) nice checkpoints of working code rather than a backup of some random stuff you were working on and don't recall EXACTLY what your thoughts were during that backup.

    My revision control system is my backup for my development machine. I commit (with comments) many times a day, the automated backups only run once a night and have no comments.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:You're already doing backups, no real worries by Anonymous Coward · · Score: 0

      My revision control system is my backup for my development machine.

      Congratulations, you just gave the CowboyNeal option for backing up.

      You're lying to yourself. Revision control != backup.

      Same as raid != backup.

      Back up your repository to a different machine via rsync. Then, if you need version n-x, you have it even when (not if) your main repository dies.

    2. Re:You're already doing backups, no real worries by Timothy+Brownawell · · Score: 1

      Revision control != backup.

      Revision control > backup.

      Especially with certain distributed versioning systems that give everyone a copy of the full history. But even without that, there's the up-to-date copy on people's dev machines plus the history on the server, which would be about as good as having one normal backup that's guaranteed to be whichever version you were looking for.

  17. SSDs = productivity by Civil_Disobedient · · Score: 5, Interesting

    I use SSDs for my (both) development systems--the first was for the work system, and after seeing the improvements I decided I would never use spinning-platter technology again.

    The biggest performance gains are in my IDE (IntelliJ). My "normal" sized projects tend to link to hundreds of megs of JAR files, and the IDE is constantly performing inspections to validate the code is correct. No matter how fast the processor, you quickly become IO-bound as the computer struggles to parse through tens of thousands of classes. After upgrading to SSD, I no longer find the IDE struggling to keep up.

    I ended up going with SSD after reading this suggestion for increasing IDE performance. The general jist: the only way to improve the speed of your programming environment is to get rid of your file access latency.

    1. Re:SSDs = productivity by Slacksoft · · Score: 1

      I'd probably notice a difference too if I switched from my 1TB drive to a 64gig SSD drive when it comes to IO response. Just like I'd save more money riding a bike compared to driving. Neat tech, but i'll wait till the size/price catches up with conventional drives.

    2. Re:SSDs = productivity by rhsanborn · · Score: 1

      Hmm...I might liken it to the difference between driving a very fast motorcycle compared to a large truck. My motorcycle is considerably faster but is very limited in terms of cargo capacity and range. The motorcycle may be impractical for a very great many things, but if you fall into the class of people who can suffice with the motorcycle, go for it.

    3. Re:SSDs = productivity by rzei · · Score: 1

      What if you just bought 8GB ram, or is 64-bit system out of question?

      Having worked with eclipse for the past year with mid-level pc (some core2 duo with 32-bit linux, 2GB ram, basic SATA hd) I've been thinking that maximizing the available ram would have the same benefits than SSD in the best scenario (regarding the performance penalty reported in ./ not long ago) and possibly be even a better choice in the long run...

    4. Re:SSDs = productivity by ZerdZerd · · Score: 1

      Have you tried creating a ramdisk? Wouldn't it give most of the same benefits, if the ramdisk is big enough to contain the files you use to compile?

      --
      I'm not insane! My mother had me tested.
    5. Re:SSDs = productivity by jonnyt886 · · Score: 1
      Why not use a ramdisk, in that case?

      Or even just increase your read cache size? Isn't performance the point of a read cache?

    6. Re:SSDs = productivity by hackingbear · · Score: 1

      This is exactly my configuration and what I try to improve. Thanks for the info!

    7. Re:SSDs = productivity by kestasjk · · Score: 1

      Silence! The question is stupid! You're stupid!

      --
      // MD_Update(&m,buf,j);
    8. Re:SSDs = productivity by krilli · · Score: 1

      Have you increased the heap size available to IntelliJ? Makes a big difference. Try 1 gig.

      --
      Jag pratar lite svenska.
    9. Re:SSDs = productivity by Anonymous Coward · · Score: 0

      So you're recommending a SSD to compensate for a bad IDE?

      There's also this guy who puts his tower in front of his screen. He recommends a very big screen.

    10. Re:SSDs = productivity by Civil_Disobedient · · Score: 1

      Wouldn't it give most of the same benefits, if the ramdisk is big enough to contain the files you use to compile?

      Sure it would, but then you'd have to copy over your files every time you boot up, and you wouldn't have the safety of persistence if the power goes out.

    11. Re:SSDs = productivity by Civil_Disobedient · · Score: 1

      My idea.vmoptions file has been pretty extensively tweaked. Currently, my configuration looks like this:

      -Xms400m
      -Xmx800m
      -XX:MaxPermSize=200m
      -XX:NewRatio=4
      -XX:MaxGCPauseMillis=10
      -XX:MaxHeapFreeRatio=70
      -XX:+UseConcMarkSweepGC
      -XX:+CMSIncrementalPacing-ea
      -server
      -Dsun.awt.keepWorkingSetOnMinimize=true

      But this effectively only means you have more room for compiling larger targets. Running Hibernate queries in the built-in editor, for example, can easily take out huge swaths of available memory. It doesn't help with code inspections because IntelliJ still has to run those off actual files. Even if it were redesigned to aggressively cache files in memory (which would be silly, because that would mean less memory for everything else) you still have the problem of filling that cache... i.e., you still have to load the files from a hard drive at some point to even fill the cache.

    12. Re:SSDs = productivity by Civil_Disobedient · · Score: 1

      The problem is a project can have dozens of library dependencies, each with thousands of classes, each with dozens of methods and properties, scattered all over your file system.

      Now, if your idea of a "project" is a blog about your cat, I can understand why you might think these sorts of costly (performance-wise) code inspections are overkill. But when you're dealing with projects that are a few orders of magnitude bigger, you quickly start to appreciate having the IDE perform these sanity checks on your code.

    13. Re:SSDs = productivity by Civil_Disobedient · · Score: 1

      Well, at least you used an apostrophe.

    14. Re:SSDs = productivity by DrJimbo · · Score: 1

      I don't know anything about IntelliJ, but from your description of the performance issues you are up against with hundreds of thousands (1,000 x 12 x 12) of method checks per sanity check, I can't help but wonder if the performance could be drastically improved if the sanity checks were normally only performed on the code that has changed since the last sanity check.

      ISTM that 99% of the checks being performed are redundant.

      --
      We don't see the world as it is, we see it as we are.
      -- Anais Nin
    15. Re:SSDs = productivity by Anonymous Coward · · Score: 0

      I'd probably notice a difference too if I switched from my 1TB drive to a 64gig SSD drive when it comes to IO response.

      You'd also notice a difference if you put a 64 GB partition on a 1 TB drive and only used that. There are lots of ways to reduce seek time.

    16. Re:SSDs = productivity by owlstead · · Score: 1

      It seems to work for the JAR problem, at least in 64 bit Linux. Note that this is only for consecutive builds. A restart will require all the data to be cached again - basically letting you start over all again. I am using suspend to RAM, which basically leaves the MB in cache. At work, where I only have 2 GB on 32 bit Windows (meaning: lots of restarts as well) this scheme won't work. The other thing there is that I rely on 3rd party, buggy, alpha/beta state drivers quite a lot, so restarting is more common for that reason alone.

      Another thing: copying library files is much faster than randomly looking into them (at least on my Windows system - I'm amazed about the zipping speed on my Linux system). So copying the library files into RAM first may significantly speed things up, at least initially. Of course that does means that you have to make changes to your environment.

      Another advantage for SSD is that you may not have to change the configuration for your project or OS, you just receive a speedup, period. Of course you could easily combine forces, have an SSD + a sizable amount of RAM. If you make sure you don't write too fast to SSD you would get a reasonable amount of speedup.

    17. Re:SSDs = productivity by krilli · · Score: 1

      Nice - Thought you might have!

      Btw - Thanks for sharing the config, VM parameter tuning is still a black art. (A fun little black art.)

      Have you tried the JRockit realtime JRE? It is REALLY nice, it makes Eclipse feel snappier than most C++ programs on my box. It's a free download too. It's worth it if you can toss 100-200 extra MB at the IDE. Link: http://blogs.oracle.com/hirt/2008/08/running_eclipseworkshop_on_jro.html

      --
      Jag pratar lite svenska.
  18. Is it worth the money for you? by Zakabog · · Score: 3, Informative

    The company I'm working at thought about using SSDs, but we were thinking more on the server end (to allow faster database access.) You don't have to worry about the write limits as it's highly unlikely you will hit them within the lifetime of a standard hard drive.

    The main issue we ran into was cost, the drives we were looking at started around $3,000 for something like 80 gigs. That just wasn't worth it for us, though if you personally feel that the added cost (and I doubt you're looking at a $3,000 SSD, more likely you're looking at the $300 drives) is worth the performance gains then go for it. Though I think even for $300 it won't make a worthwhile difference.

    There are other bottlenecks to consider, is your CPU fast enough, do you have enough RAM, could the hard drive your software and OS is on use an upgrade, etc. Perhaps even buy an internal SATA drive (if you can) to replace the external you're using, those external enclosures generally aren't known for their performance. If you've exhausted all of those options and you still need more speed, then I'd say go for the SSD.

    1. Re:Is it worth the money for you? by jon3k · · Score: 1

      At $3,000 for 80GB you're referring to Fusion's ioDrive. We're talking about something like an Intel X25-E SLC drive. The difference is in the host bus interface - the Fusion ioDrive uses the PCI-e bus for transfer whereas normal NAND flash-based SSD's (like the Intel) use the SATA[II] interface and are _DRAMATICALLY_ cheaper.

      Here's a 32GB Intel X25-E for $419.99: http://www.newegg.com/Product/Product.aspx?Item=N82E16820167013

      $13.12/GB for the Intel SATA SSD
      $37.50/GB for the Fusion ioDrive

      Another thing: "those external enclosures generally aren't known for their performance."

      That's very misleading - it depends on the interface. eSATA and SATA are exactly the same.

    2. Re:Is it worth the money for you? by aunt_jamima_sr · · Score: 1

      There are other bottlenecks to consider, is your CPU fast enough, do you have enough RAM, could the hard drive your software and OS is on use an upgrade, etc.

      If your swapfile is stored on a SSD, how much does it still matter that you ran out of RAM? And if you're not asking your CPU to do as many I/O waits, maybe you can squeeze more useful cycles and therefore performance out of it. A SSD should be a sure way to improve system performance... a reasonable way to spend $300.

    3. Re:Is it worth the money for you? by Zakabog · · Score: 1

      Another thing: "those external enclosures generally aren't known for their performance."

      That's very misleading - it depends on the interface. eSATA and SATA are exactly the same.

      Well, it also depends on the hard drive inside the enclosure. My point was that generally external enclosures are purchased for extra storage, not increased performance. So disk manufacturers don't have much incentive to put their fastest hard drives in external enclosures.

      You could buy an external enclosure and put in a high performance drive but you're still adding another component between the hard drive and the rest of the system which will increase latency.

    4. Re:Is it worth the money for you? by Zakabog · · Score: 1

      If your swapfile is stored on a SSD, how much does it still matter that you ran out of RAM? And if you're not asking your CPU to do as many I/O waits, maybe you can squeeze more useful cycles and therefore performance out of it. A SSD should be a sure way to improve system performance... a reasonable way to spend $300.

      You can buy 4 gigs of ram for less than $50 and remove your swap file.

      You can get a 2.3GHz quad core AMD CPU and motherboard for $169.

      You can get both for $219, which is still cheaper than a $300 SSD and could give you a much greater increase in performance. It really all depends on the hardware currently being used. If it's a really high end system (4+ GB RAM, quad core CPU, WD Raptor drives for the OS) using an external IDE drive as storage then yes a SSD would noticeably increase the performance, though if the system is low end (single core CPU, 512MB RAM, IDE hard drives for the OS) then there are a number of other cheaper options that would give a far greater increase in performance than just getting a SSD.

  19. oh no! several times per day! by Cajun+Hell · · Score: 1

    That would be good enough for regular users, but in software development, one may have to update 10-30% of the source files from Subversion and recompile the whole project, several times a day

    I couldn't help but notice, that you said several times per day, rather than several times per second.

    Are you worried that after you die of old age, in the unlikely event that your great grandkids start to have problems with their inherited flash drive, they won't be able to replace it?

    --
    "Believe me!" -- Donald Trump
    1. Re:oh no! several times per day! by MichaelSmith · · Score: 2, Funny

      I used to worry about rewrites on my eeepc. But I have installed ubuntu twice in the last month and the disk seems to be exactly the same as it was initially so I don't worry any more.

  20. buy 2 by HeyBob! · · Score: 1

    hey, if your boss is paying for it, buy a couple and replace them when they wear out
    (or just tell him you'll need a better, bigger, faster one in a year)

  21. You probably just need a server. by Colin+Smith · · Score: 1

    Something that'll handle 30+Gb of RAM. Then it pretty much doesn't matter.

     

    --
    Deleted
  22. Will it help? by 91degrees · · Score: 1

    Is disk access time really the limiting factor for development time? I'd suggest what you really need is heaps of RAM and a big disk cache.

    The primary advantage of an SSD is that it's cool. This is a good enough reason to buy any piece of tech but the thing will possibly wear out in a year or so, which will probably outweigh the cool factor.

  23. Run regular backups and go for performance. by Zoson · · Score: 1

    I find that a large part of my programming experience deals with VM images.

    SSD's kick serious butt for VM's. So if you're a serious programmer that works with multiple environments - go for the performance and just back your stuff up daily.

  24. make backups? by bzipitidoo · · Score: 1, Insightful

    You do back up your work, don't you? You know, in case it's lost, stolen, destroyed, etc.? An SSD going bad is hardly the only danger. So why not try out an SSD, and if you're especially worried, backup more frequently and keep more backups?

    --
    Intellectual Property is a monopolistic, selfish, and defective concept. It is "tyranny over the mind of man"
  25. SSD, maybe not right now.. MacBook Air developers? by jacksinn · · Score: 1

    I'm not completely sold on using SSD for development (yet) as well because of the write-cycle problem but do think that the consumer SSD device in the near future will eliminate the write wear. If you must use a solid state device, I'd suggest getting one that is much larger than the projected development size and has better write cycle/wear numbers to help alleviate any premature data loss. I primarily use SSD's for backups. Any Apple Developers on a MacBook Air out there?

    --
    Life==Jeopardy. All the answers are right in front us - the hard part is coming up with the correct question.
  26. Re:My experience by Anonymous Coward · · Score: 1, Informative

    LOL. On the plus side, you can only get herpes once :)

  27. Developers should use *slow* machines by petes_PoV · · Score: 4, Insightful
    That way it'll encourage them to write efficient implementations.

    If you give your programmers an 8-way 4GHz m/b with 64GB of memory (if sucha thing exists yet), they'll use all the processing power in dumb, inefficient algorithms, just because the development time is reduced. While those of us in the real world have to get by on "normal" machines.

    When we complain about poor performance, they just shrug and say "well it works fine on my nuclear-powered, warp-10, so-fast-it-can-travel-back-in-time" machine"

    However, if they were made to develop the software on boxes that met the minimum recommended spec. for their operating system, they'd have to give some thought to making the code run efficiently. If it extended the development time and reduced the frequency of updates, well that wouldn't be a bad thing either.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 4, Insightful

      compile time has nothing to do with inefficient algorithms slowing down programs.

    2. Re:Developers should use *slow* machines by vadim_t · · Score: 5, Insightful

      Disagree. This problem went away for the most part.

      First, performance isn't nearly the problem it used to be. We aren't using anymore the kind of hardware that needs the programmer to squeeze every last drop of performance out of it. In fact, we can afford to be massively wasteful by using languages like Perl and Python, and still get things done, because for most things, the CPU is more than fast enough.

      Second, we're not coding as much in C anymore. In C I could see this argument, lazy programmer writing bubble sort or something dumb like that because for him waiting half a second on his hardware isn't such a problem. But most of this has been abstracted these days. Libraries, and high level languages contain highly optimized algorithms for sorting, searching and hashes. It's a rare need to have to code your own implementation of a basic data structure.

      Third, the CPU is rarely the problem anymore, I/O is. Programs spend most of their time waiting for user input, the database, the network, or in rare cases, the hard disk. A lot of code written today is shinier versions of things written 20 years ago, and which would run perfectly fine on a 486. Also for web software the performance of the client is mostly meaningless, since heavy lifting is server-side.

      Also, programming has a much higher resource requirement than running the result. People code on 8GB boxes because they want to: run the IDE, the application, the build process with make -j4, and multiple VMs for testing. On Windows you're going to want to test your app on XP and Vista, on Linux you may need to try multiple distributions. VMs are also extremely desirable for testing installers, as it's easy to forget to include necessary files.

      I'd say that giving your developer a 32 core box would actually be an extremely good idea, because the multicore CPUs have massively caught on, but applications capable of taking advantage of them are few. Since coding threaded code is not lazy but actually takes effort, giving the programmers reasons to write it sounds like a very good idea to me.

    3. Re:Developers should use *slow* machines by twiddlingbits · · Score: 1

      Development environments need to be fast due to turnaround time of fix bugs needing to be minimal. When you can complile, link, load in the debugger in half the time with a fast machine that translates into quicker time to market. However you should TEST on what is considered the minimum supported platform (CPU, Memory, Disk, Video) and if it work within spec there, ship it.

    4. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Insightful my butt! Dev shouldn't use slow machines. If i had a slow machine with low mem, how the heck am i supposed to run a DB, a webserver and access the front end through firefox at once?

      The correct answer is Dev should develop on fast machines and have slow machines to test on.

    5. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Obviously you are not a coder. If you were then you would have experienced the frustration of waiting 15 seconds for a build to complete.

      From an article by a real coder (h**p://www.joelonsoftware.com/articles/fog0000000043.html)

      "Writing code in a compiled language is one of the last things that still can't be done instantly on a garden variety home computer. If your compilation process takes more than a few seconds, getting the latest and greatest computer is going to save you time. If compiling takes even 15 seconds, programmers will get bored while the compiler runs and switch over to reading The Onion, which will suck them in and kill hours of productivity."

    6. Re:Developers should use *slow* machines by rimugu · · Score: 1

      You mean you only test your apps in your machine?
      I develop in my machine and then test in like two or three different server based environments. Why would I consider good a test done in my machine. The customer is not going to use my machine. It is better if I replicate their environment (physical or virtual) and test it there.
      In the mean time I want my machine to be fast. I want to be able to query the db, have the IDE, see documentation, investigate in internet, transfer files, compile and do basic office stuff without my machine having handling it.

    7. Re:Developers should use *slow* machines by glwtta · · Score: 4, Insightful

      That way it'll encourage them to write efficient implementations.

      That's just stupid - I'm going to write better code because my compiles take longer?

      There seem to be a lot of these posts on Slashdot with down-home folk wisdom on how to educate the smug and indifferent programmer, who is so clearly divorced from reality that he doesn't even know what computers his customers use. I get the sneaking suspicion that the authors know very little about actual programming.

      There are two reasons for bad software:

      a) incompetent programmers
      b) bad project management

      The latter includes things like unrealistic timelines and ill defined scope and requirements. I'm not sure which one is the bigger culprit, but both are pervasive.

      In neither case, though, are you going to fix the problem with gimmicky bullshit like inadequate equipment.

      --
      sic transit gloria mundi
    8. Re:Developers should use *slow* machines by ultrabot · · Score: 4, Informative

      That way it'll encourage them to write efficient implementations.

      Actually, the opposite is true.

      If development is painful (which it is, if your workflow is hampered by slow builds), you will produce crappier code. It's all about retaining focus & flow. Sad thing is, compilation still takes too long; you can still check your gmail or refresh slashdot.

      How many of you are reading this article while automake is checking the version of your fortran compiler in order to run gcc on a .c file?

      --
      Save your wrists today - switch to Dvorak
    9. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 1, Insightful

      Developers should use *slow* machines...That way it'll encourage them to write efficient implementations.

      Signed,

      Someone who doesn't do any sort of real software development and who has no insight into the practical performance issues of modern software.

    10. Re:Developers should use *slow* machines by pebs · · Score: 2, Insightful

      That way it'll encourage them to write efficient implementations.

      If you give your programmers an 8-way 4GHz m/b with 64GB of memory (if sucha thing exists yet), they'll use all the processing power in dumb, inefficient algorithms, just because the development time is reduced. While those of us in the real world have to get by on "normal" machines.

      I hear this all the time, and its completely silly because it only applies to a subset of software being developed. For example, most of the software I develop at my current job is deployed to hardware that actually has much higher specs than the hardware I am developing on, because I write mostly server-side software that is deployed to servers with generous resources. I work on the client-side as well (though a much smaller percentage), but the performance bottlenecks are not there anyway, they are when hitting the database. Of course, my development environment is unrealistic for a different reason -- it doesn't simulate the load that occurs in production. I don't think using a machine with pitiful specs for development is going to accurately simulate what happens when more than one user uses a system.

      In any case, us developers need fast machines because we actually have to build/rebuild the software constantly. And sometimes our tools are resource hungry, like servers that we have to restart frequently, or heavy-weight IDE's that are fucking slow even on the badass hardware we have (yes, there are different choices that can be made here, but not everyone gets to make those choices). The end users don't have this problem; the software is already built for them, the servers started up, and the caches warmed.

      --
      #!/
    11. Re:Developers should use *slow* machines by psnyder · · Score: 5, Insightful

      A similar argument was used in World War II to keep bolt action sniper rifles in use in some countries instead of 'upgrading' to 'auto-loading' rifles. With bolt action, after shooting, you had to physically lift the bolt, cock it in place, and push it down again before you could fire another shot.

      The argument was, if the snipers knew they couldn't fire again immediately, they would be more careful lining up and aiming that first shot. With an 'auto-loading' rifle, you could keep your eye in the scope and fire off more rounds.

      It seems quite obvious, that if you're in the field, the seconds after that first shot are very important. If you need to take your eye away from the scope, and spend the time reloading the chamber, the outcome could be completely different than if you were able to fire off a few rounds immediately.

      A good sniper would have aimed that first shot up carefully no matter what rifle they were using, in the same way a good programmer will make efficient, elegant algorithms no matter what machine they're using. You'd only have to 'limit' your programmers if you think they're bad programmers. If a supervisor is thinking along these lines, they've already hired bad programmers and are setting both themselves and their team up for failure. The faster the machines, the less time wasted. You don't need forced limits reminding them about efficiency, because any decent programmer will already be thinking about it.

    12. Re:Developers should use *slow* machines by PitaBred · · Score: 1

      Compile it remotely, run it locally.

    13. Re:Developers should use *slow* machines by Thaelon · · Score: 1

      I can't believe something so short sighted is modded insightful.

      If a developer's machine takes too long for some non-interactive activity, they'll stop paying attention (probably to read the onion or something #9). Or *cough* post on Slashdot, then lose track of time and not get back to work for hours.

      So what if a for loop isn't as optimal as it could be? These days the difference between optimal code and good code is usually too small to be measured in anything but milliseconds; and thus, not very important (link quotes Martin Fowler's PDF).

      Contrast this with losing hours of usefulness from extremely expensive equipment (read: good developers).

      --

      Question everything

    14. Re:Developers should use *slow* machines by rossz · · Score: 2, Interesting

      I worked in the game industry in the past and I felt this was one of their problems. The developers all had the latest greatest processors and the cutting edge overpriced video cards. The games ran just fine, of course. On a typical system, however, the game performance would suck big time. I refuse to replace my computer every year just to play the latest game.

      You can continue to give the developers cutting edge hardware, but make sure your QA people are running "typical" systems.

      My experience was from years ago when a 386 system was standard. I don't know what it's like today.

      --
      -- Will program for bandwidth
    15. Re:Developers should use *slow* machines by BotnetZombie · · Score: 1

      The question was about disk io, not cpu or ram.
      Anyway, some of us develop server software that should run on these nuclear-powered, warp-10, FTL machines - if only reality were that rosy. And no, at my workplace we only have mediocre dual-cores with 2-4GB RAM.

    16. Re:Developers should use *slow* machines by 0xABADC0DA · · Score: 1

      However, if they were made to develop the software on boxes that met the minimum recommended spec. for their operating system, they'd have to give some thought to making the code run efficiently.

      That assumes developers are using the software on those slow boxes. If they aren't eating their own dog food then you just end up with the developers getting less work done. That means cutting more corners, which means the most expedient algorithms and so slower, junkier code.

      A developer isn't going to make a program more efficient because it's slow for them. They'll comment out parts needed to get to what they need tested, or just not test it properly. For instance if the spelling dictionary takes 3 seconds to load they'll just disable spellcheck while developing.

      I've found the single best thing is to have a CPU% monitor going all the time. For instance, gnome's system monitor is nice because it's attractive, unobtrusive on the taskbar, and shows a history graph so you can see the total 'volume' of CPU time used. This gives a nice gut feeling for how efficient the software is.

    17. Re:Developers should use *slow* machines by merreborn · · Score: 4, Insightful

      Developers should use *slow* machines
      That way it'll encourage them to write efficient implementations.
      If you give your programmers an 8-way 4GHz m/b with 64GB of memory (if sucha thing exists yet), they'll use all the processing power in dumb, inefficient algorithms, just because the development time is reduced. While those of us in the real world have to get by on "normal" machines.

      No, developers should develop on fast machines... and test on slow machines.

      It's a waste of money to pay your programmers $50/hr to sit and wait for compiles to complete, IDEs to load, etc. That hurts the employer, and the additional cost gets passed on to the customer. It's in everyone's best interest that developers are maximally productive.

      Give them fast development environments, and realistic test environments.

    18. Re:Developers should use *slow* machines by Fulcrum+of+Evil · · Score: 1

      However, if they were made to develop the software on boxes that met the minimum recommended spec. for their operating system, they'd have to give some thought to making the code run efficiently.

      They tried that at MS years ago. It didn't work and was roundly regarded as a retarded move. You can't get an 8 way 4Ghz 64G box today, but you can get an 8 way 2.5Ghz 32G box for reasonable scratch.

      --
      "We returned the General to El Salvador, or maybe Guatemala, it's difficult to tell from 10,000 feet"
    19. Re:Developers should use *slow* machines by try_anything · · Score: 1

      Software has to be designed to scale up and down through an acceptable range of hardware. If fast dev boxes spawn software that doesn't scale down, then slow dev boxes in the hands of the same developers just create the opposite problem: software that doesn't scale up to take advantage of multiple cores and gigs of RAM.

      Wouldn't you rather piss off stingy customers than rich ones who are spending money on technology?

    20. Re:Developers should use *slow* machines by Haeleth · · Score: 1

      First, performance isn't nearly the problem it used to be. We aren't using anymore the kind of hardware that needs the programmer to squeeze every last drop of performance out of it. In fact, we can afford to be massively wasteful by using languages like Perl and Python [...]

      People keep saying this like it's somehow new and special. In reality, it has always been the case that interpreted languages were fast enough for many jobs.

      Remember the 8-bit era? Most home computers had two options. If it needed to be fast, you wrote raw machine code. If it didn't need to be fast, you wrote interpreted BASIC.

      Remember Smalltalk? LISP? Icon? SNOBOL? awk? Basically, people have been using interpreted languages for almost as long as compiled languages. They've always been fast enough for many things, and the things they've been too slow for (like implementing interpreters ;) are still mostly done in C today.

    21. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      First of all, a good sniper will not fire shots in rapid succession, because his first shot will be lethal and he will not fire again to prevent his position from being noticed. Furthermore, you don't need to take your eye from the scope to reload a bolt action rifle and a trained operator can reload really, really quickly from a supported position. Also, a bolt action rifle is more powerful (since no energy is used from the fired round to reload), more accurate, more reliable, lighter and reduces the risk of exposing the sniper by auto-ejecting shells at inopportune times. There is a good reason why bolt action rifles (like the M24) are still popular with snipers long after regular infantry switched to (semi-)auto's.

    22. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      A similar argument was used in World War II to keep bolt action sniper rifles in use in some countries instead of 'upgrading' to 'auto-loading' rifles. With bolt action, after shooting, you had to physically lift the bolt, cock it in place, and push it down again before you could fire another shot.

      The argument was, if the snipers knew they couldn't fire again immediately, they would be more careful lining up and aiming that first shot. With an 'auto-loading' rifle, you could keep your eye in the scope and fire off more rounds.

      It seems quite obvious, that if you're in the field, the seconds after that first shot are very important. If you need to take your eye away from the scope, and spend the time reloading the chamber, the outcome could be completely different than if you were able to fire off a few rounds immediately.

      A good sniper would have aimed that first shot up carefully no matter what rifle they were using, in the same way a good programmer will make efficient, elegant algorithms no matter what machine they're using. You'd only have to 'limit' your programmers if you think they're bad programmers. If a supervisor is thinking along these lines, they've already hired bad programmers and are setting both themselves and their team up for failure. The faster the machines, the less time wasted. You don't need forced limits reminding them about efficiency, because any decent programmer will already be thinking about it.

      If you can't reload your rifle without looking, then you need to back to basic training son.

      An added detail could be that close to all modern sniper rifles are bolt action. But then maybe that's because we still value that extra round?

    23. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      This is clearly wrong. Using the fastest machines available gives us an advantage in that we develop software that can maximize the potential of future hardware.

      - Vista development team

    24. Re:Developers should use *slow* machines by aproposofwhat · · Score: 1

      Are you paying $50 per hour for your developers' typing?

      Or are you paying them $50 per hour for their intellect?

      Long compile times, in my experience, give an opportunity to nip off for a coffee or a cigarette, both of which tend to lead to greater productivity because you actually interact with co-workers.

      Most of my programming problems have been solved during coffee or smoke breaks - yes it's frustrating to wait for a recompile, but the benefits of chewing the fat with other developers far outweigh the perceived loss in efficiency.

      --
      One swallow does not a fellatrix make
    25. Re:Developers should use *slow* machines by jon3k · · Score: 1

      That's a horrible, HORRIBLE idea. Hardware is cheap and developers are expensive, slowing them down is like shoveling money into a fire place. You just need to be a cheap, shitty test environment that they can run their compiled code on.

    26. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      How many of you are reading this article while automake is checking the version of your fortran compiler in order to run gcc on a .c file?

      Obligatory...

    27. Re:Developers should use *slow* machines by virtue3 · · Score: 2, Interesting

      I read all my slashdot during "build time". The worst part is, my work machine is so crappy, I'm in C# and I still have time to at least read the summary before it finishes JITing.

    28. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      First of all, a good sniper will not fire shots in rapid succession, because his first shot will be lethal and he will not fire again to prevent his position from being noticed.

      Lethal for one target. A skilled sniper could take out a whole squad, but not with only one shot.

    29. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      That way it'll encourage them to write efficient implementations.
      [...]

      Sorry but you can't really believe this if you have any real amount of experience. What you'll end up with is code that still sucks ass but that has taken 4 times as long to produce.

    30. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      That happened in my house also,

      My parents said I had to have lack of computers because I was supposed to appreciate things.

      Now after 19 years, I earn $300,000 and speak Spanish, English, German, Russian, Hindi, C, Java, FORTRAN, COBOL, Perl, PHP, Ruby....

    31. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Yeah! Let's unnecessarily slow down development time because we think our programmers are morons!

      No fucking way. They just want good IO performance so they can get their work done. If your programmers are using bad algorithms, you need better programmers, and bad hardware doesn't magically make you a better programmer.

    32. Re:Developers should use *slow* machines by wrook · · Score: 2, Interesting

      A friend of mine was a sniper. He told me that he only ever carried 3 bullets. The first was for the target. The second was in case he missed with the first shot. The third was for himself: if he had to use the second bullet he didn't have enough time to get away.

    33. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      compile time has nothing to do with inefficient algorithms slowing down programs.

      Are you sure you've used a compiler before?

    34. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      There are two reasons for bad software:

        a) incompetent programmers

        b) bad project management

      The latter includes things like unrealistic timelines and ill defined scope and requirements. I'm not sure which one is the bigger culprit, but both are pervasive.

      Don't forget that you can have both good programmers and good project managers but the client paying for this software can insist on implementing things in such a way that no sane person could say it works well.

      I just got off a $14m project that went exactly like that. It's not to say all 50 developers were really good but it certainly wasn't their fault or the PM's fault that the software sucked.

    35. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      I'd agree. For developing you need the fastest and best equipment you can get (obviously resticted by things like budgets etc)

      If it only takes 1/3 of the time to do your stuff, the other 2/3 can be used to carry on with a productivity task.

      But, when it comes to testing, that's where the computers that your customers are going to be used should be, well, tested :-)

    36. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      >That's just stupid - I'm going to write better code because my compiles take longer?

      I think what the parent meant was giving the developers lower spec. machines so that their
      TESTING would perform slower, and they would then be more mindful of resource constraints
      when developing.

      I think you also forgot another reason for bad software :-
        c) Bad Design

      which comes from assuming that RAM and CPU are cheap resources that can
      always be scaled up without me thinking too much about how I implement
      feature X. So loading about 4 different XML implementations, and 2 different
      HTML rendering libs is really no biggie.

      It happens.

    37. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      I find your lack of taste disturbing.

    38. Re:Developers should use *slow* machines by Uzik2 · · Score: 1

      One of the problems with bad management is they are unable or unwilling to delve into the detailed technical issues.

      At one place I worked their trusted technology guy decided SOA was a good architecture. So he implemented field level validation on user input forms via SOA using microsoft web services. Every field validation required:
      * an xml encode
      * a trip across a network to the web services server
      * an xml decode
      * another xml encode to call to a biztalk server (to implement the business rules)
      * a call to a database server to get the rules (dunno how that's encoded)
      * a business decision by executing the rules
      * an xml encode to return the results
      * a trip back across the network
      * an xml decode to instantiate the results

      As you can probably guess an 4.77mhz IBM PC made this shiny expensive tech look like garbage.
      If this person had been forced to use old garbage computers to develop on I think they might gotten something that would have performed better on normal machines.

      --
      -- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
    39. Re:Developers should use *slow* machines by Jeremi · · Score: 1

      However, if they were made to develop the software on boxes that met the minimum recommended spec. for their operating system, they'd have to give some thought to making the code run efficiently.

      The problem with giving a developer a slow machine is that it makes development slow. If a recompile of my code takes 5 times longer, that means I can recompile 5 times less during the day. Slow recompiles means there is less time for experimenting and testing with various options, and in the end, the code quality suffers.

      If you had said that the testing/QA department should be running on minimum spec machines, I would totally agree with you. But upgrading to an 8-core development machine made me much more productive than I was on my previous dual core machine.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    40. Re:Developers should use *slow* machines by Jeremi · · Score: 1

      Long compile times, in my experience, give an opportunity to nip off for a coffee or a cigarette, both of which tend to lead to greater productivity because you actually interact with co-workers.

      Oh c'mon, who're you trying to kid? Long compile times give everyone here an excuse to read Slashdot on company time.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    41. Re:Developers should use *slow* machines by bheading · · Score: 3, Insightful

      The reality in any organization is that there are good programmers and not-so-good programmers. And from time to time, even the good ones make mistakes. Different programmers have different strengths and weaknesses. That is why programming languages have things like type checking, and why software developers employ principles like encapsulation and data hiding. Your argument is that these practices are "restricting" clever programmers by making the software inflexible.

      Taking your argument to its logical conclusion, you might say it isn't necessary to add debugging information or logging to programs if you higher decent programmers who never make mistakes.

    42. Re:Developers should use *slow* machines by Chibi+Merrow · · Score: 1

      The main application I'm working on currently takes 20 minutes or more to do a clean compile on my 4-core 8GB of RAM machine, even with the job count jacked up on make appropriately. Don't even try to tell me I should be "developing on a slow machine." We have machines for testing already, MY box doesn't have to be one of those. And being paid 1/3 of my hourly rate to read Slashdot (or swordfight) while waiting on compiles doesn't do anything to improve code quality. Never-mind how helpful having a powerful machine is when it comes to running the application I'm developing as well as local development copies of the other five supporting applications/servers it depends on that would normally be run on separate machines in a production environment...

      Then there's the fact that more power isn't used for letting you get away with crappy code, but in fact getting better performance out of good code... Not all of us out here are writing spreadsheet applications. Some of us are actually writing high-performance apps that benefit from all this power.

      So, to sum up, you're a moron and you know a lot less about development (and what will improve code quality) than the average bus driver.

      --
      Maxim: People cannot follow directions.
      Increases in truth directly with the length of time spent explaining them
    43. Re:Developers should use *slow* machines by psnyder · · Score: 1

      Different programmers have different strengths and weaknesses. That is why programming languages have things like type checking, and why software developers employ principles like encapsulation and data hiding. Your argument is that these practices are "restricting" clever programmers by making the software inflexible.

      I'm sorry for the misunderstanding. This was not my intended point at all.

      My argument was not that programmers never make mistakes, nor that there shouldn't be layers of checking, debugging, etc. The original post wanted people to work on slow MACHINES, and had nothing to do with the logical things you're mentioning.

      My point was merely that forcing decent programmers to work on slow machines 'to remind them to write efficient code' is unnecessary, as decent programmers don't need to be reminded. Bad programmers, perhaps, but a decent programmer will keep things like efficiency and legacy support in their minds. They'll know what things are incompatible or slow on older machines, and they will also test their designs on lower-end machines. This does not mean that their working environment needs to be hindered by artificial limitations that may, in fact, actually lower productivity by slowing down compiling and other functions.

    44. Re:Developers should use *slow* machines by sribe · · Score: 1

      Of course, a good sniper would never take his eye away from the scope while working the bolt, but, uh, what were we talking about???

    45. Re:Developers should use *slow* machines by glwtta · · Score: 1

      If this person had been forced to use old garbage computers to develop on I think they might gotten something that would have performed better on normal machines.

      I don't see how. That person made design decisions by fiat, without consideration of performance issues, and ended up with something that performs badly - doesn't seem like he cared about performance to begin with.

      Besides, as wasteful as all that XML serialization is, it's still dwarfed by the multiple network trips - the client hardware probably wouldn't make much difference either way.

      --
      sic transit gloria mundi
    46. Re:Developers should use *slow* machines by glwtta · · Score: 1

      I think what the parent meant was giving the developers lower spec. machines so that their TESTING would perform slower, and they would then be more mindful of resource constraints when developing.

      I know what the parent meant, I was just saying that it's a little odd for people who know nothing about a subject to proclaim this sort of smug generalizations.

      I think you also forgot another reason for bad software :-
      c) Bad Design


      I was incorporating that under "incompetent programmers", perhaps I should've said "incompetent developers".

      The point was that if performance is a concern, you need to set specific goals and test for them, not cripple the development environment.

      Odd as it may seem, efficient implementations are often more complex than naive (slow) ones, which means more subtle code, which means more build-test cycles, which your programmers are less likely to have time for since you've adopted this whole "humility at the expense of productivity" approach.

      --
      sic transit gloria mundi
    47. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      My experience says let them do the development on the uber fast machines ... but the testing should be at the other end of the spectrum. That keeps the developers on high performance boxes to do their compiles faster, and the slow machine help identify where the app is too slow.

    48. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      I generally agree with the sentiment that many programmers often tend to neglect efficiency if there's not immediate value to be gained from it, i.e. we don't necessarily always develop in "ideal/optimized thinking mode" because there doesn't appear to be a necessity to do so, so we just settle for the quick & easy "solution".

      I do however disagree with the conclusion that we as developers should be forced to work on corresponding low-end systems consequently, I tend to agree more with "merreborn" who is suggesting that development should take place on high performance systems while testing, benchmarks and profiling should probably be best done on lower end systems.

      On the other hand, I do share the assumption that the quality of today's mainstream software would be higher if were more restricted in the use of available computing/hardware resources, and I think in fact that this is backed up by those periods in the history of computers when hardware resources were truly limited - but when software developers for example still managed to write exemplary software that had to run on 8 bit processors with just some kilobytes of memory (more on the below).

      I know that I personally would become very frustrated if I had to work on a low end development platform, in fact I know that for a fact out of personal experience. Indeed, I can tell you -also from experience- that it is a tremendous pleasure to be able to develop on multi-core/multi-gb systems.

      It really is such more "fun" and -ironically- also "effective", but not necessarily so due to the performance that I get to see when running my own compiled code, but moreso due to the *workflow* that such a environment facilitates:

      I mean let's face it, while most of us do enjoy the process of developing software to a greater or lesser extent, we usually cannot really appreciate the "lateral", "chore" work associated with doing it, no matter if that means *waiting* for your SCM/RCS to complete a checkout/commit/merge, or *waiting* for your build to finally complete.

      In other words, I don't mind spending really significant amounts of time (think hours) troubleshooting a problem or developing a piece of code - but if external factors, that are beyond my control, render me unproductive this is really starting to make me feel, bored or even *aggressive*.

      As a programmer, I am interested in making the machine do something that I need to get done, so I am results-oriented when developing software.

      The faster I get to see the results (that motivated me to write the software in the first place), the more I appreciate the whole experience of developing software.

      If developing software inevitably implied that I have to wait several minutes to get to see my results, it's starting to get frustrating: software development is a dynamic process that benefits from a certain workflow, it certainly does for me!

      In my case, if this workflow is interrupted, I am no longer as productive as before any more - and I know for a fact that this also applies to many other software developers who I know: It's all about your mental state during the process of developing software.

      This is probably similar to air traffic controllers, who refer to this as "getting the flick" when they have total overview and know their airspace and current traffic situation in and out, distractions during this work - no matter how related or not, are not good for the worfklow and the overall process.

      Any unprovoked events during the development process are actually an unappreciated distraction, I am sure many of you agree.

      However, settling for less-than-ideal designs and implementations isn't generally unheard of in many settings, regardless of your level of professionalism or the type of setup you are using.

      In fact, just a couple of minutes ago I stumbled on a blog entry from 2006, appropriately titled "Efficiency Will Always Matter" http://www.spinellis.gr/cgi-bin/comme

    49. Re:Developers should use *slow* machines by Uzik2 · · Score: 1

      I think the point of this that people are missing is that developers, even those who are technically competent, make bad decisions based on poorly considered viewpoints. Forcing them to develop on poor hardware "games their human failings" in such a way that it will achieve the desired outcome. It's the same thing as people setting their watch to the wrong time on purpose or overpaying their taxes so they'll get a large refund instead of wasting the small amounts from each check.

      --
      -- Programming with boost is like building a house with lego. It's a cool but I wouldn't want to live in it
    50. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      he's talking about interpreted languages, not compiled. so the build is testing the algorithms

    51. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Or,

      Perhaps we could save by giving developers basic boxes and use the money saved to setup decent machines for the end users. There seems to be an assumption when this questions is asked/answered everywhere, as it regularly is, that developers have greater need of speedy boxers than end users. Why?

      And secondly as Vadim said
      "Programs spend most of their time waiting for user input, the database, the network, or in rare cases, the hard disk.". Perhaps by throttling the developers machines we might encourage developers to consider what they can do in their applications to avoid some or all of these delays

    52. Re:Developers should use *slow* machines by vadim_t · · Score: 1

      Because:

      Developing has higher resource requirements than running the application. This is trivial. IDE + debugger + compiler + application uses more RAM than just the application.

      Making the developer wait gains you nothing. You risk missing a deadline and have to pay the developer more for the same work. Also, it's very possible that the user has to wait for the developer. If the user needs a bug to be fixed, and the developer has to take extra 2 hours to get it done due to slow hardware, that's extra 2 hours the user has to wait as well.

      Good developers are hard to find. You don't want to piss off the guy who spent 5 years working on your system and knows it in and out without a good reason. Users are easily replaceable in comparison.

    53. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Long compile times, in my experience, give an opportunity to nip off for a coffee or a cigarette, both of which tend to lead to greater productivity because you actually interact with co-workers.

      Most of my programming problems have been solved during coffee or smoke breaks - yes it's frustrating to wait for a recompile, but the benefits of chewing the fat with other developers far outweigh the perceived loss in efficiency.

      Aye. Sometimes it really does help to step away for a few minutes. I do some of my best programming laying in bed, or in the shower. Taking breaks definitely aids creative thinking.

      But it's probably better to take those breaks at your leisure, rather than have them thrust upon you at arbitrary times by your build process.

    54. Re:Developers should use *slow* machines by Anonymous Coward · · Score: 0

      Why?
      You don't know about cross-platform compilers?
      Why would you hobble yourself with a crappy development
      machine? That ought to be the fastest machine you
      run (at your desk).
      Typically I have two or three development machines.
      And I ssh between all of them. One of them, the fastest,
      will have the build environment.

      The machines that get deployed, that run the code, they
      don't have to be as fast.

      Really, you can't be a developer of any merit yet.
      I suggest you become someone's apprentice, someone
      who knows what they are doing.

      Typically the development machine is not the one
      that gets deployed.

      And PS: the debug code that you link in slows things
      down to an extent as well. You don't build that into
      a shipping product.
      Really, as far as speed goes, there are a lot various considerations.
      It depends on the type of code.

      Initialization code (run once at boot) can be slow for a machine that
      doesn't reboot a lot (users expect a long time between cold start
      and being able to use the system).
      So you don't profile and optimize the initialization.
      For the periodic aspects you really do want to profile and
      optimize.

      were you a troll?
      did you really mean that developers should use
      slow machines for testing?
      Developers should use real-world machines
      for testing. If your code runs on XYZ processor
      with configuration W, then that is the platform
      you need to test on. Otherwise you will have
      product failure. But your development machine needs
      to be lickity split, un-hobbled.

  28. Depends upon the source by InsaneGeek · · Score: 1

    It really depends upon the size of the sutff you are doing. If you are going to recompile the same stuff over and over and the dataset will fit in memory... you most likely will get little to no benefit. Linux (Vista and others) cache every single file until some app needs memory and pushes it out. It sounds like he's doing it on a box by himself (not a server shared by 5000 other people), and with memory so cheap... unless you are compiling something huge I'd guess that you probably not have to disk again after the first time it read it in (as long as there isn't another app ran that eats up all the memory, forcing out cached files from buffer cache and at some point freed up all the memory again and the compile is ran again).

    For a point app for a single user, spending less on SSD and buying more memory would probably give you much more benefits.

  29. I've been doing just this by SanityInAnarchy · · Score: 4, Interesting

    Just got one in a Dell laptop, came with Ubuntu. A subjective overview:

    I have no idea how well it performs with swap. I'm not even really sure why I have swap -- I don't have quite enough to suspend properly, but I also never seem to run out of my 4 gigs of RAM.

    It's true, the write speed is slower. However, I also frequently transfer files over gigabit, and the bottleneck is not my SSD, it's this cheap Netgear switch, or possibly SSH -- I get about 30 megabytes per second either way.

    So, is there gigabit between you and the SVN server? If so, you might run into speed issues. Maybe. Probably not.

    Also worth mentioning: Pick a good filesystem if a lot of small files equals a lot of writes for you. A good example of this would be ReiserFS' tail packing -- make whatever "killer FS" jokes you like, it really isn't a bad filesystem. But any decent filesystem should at least be trying to pack writes together, and I only expect the situation to improve as filesystems are tuned with SSDs in mind.

    It also boots noticeably faster than my last machine. This one is 2.5 ghz with 4 gigs of RAM; last one was 2.4 ghz with 2 gigs, so not much of a difference there. It becomes more obvious with actual use, like launching Firefox -- it's honestly hard to tell whether or not I've launched it before (and thus, it's already cached in my massive RAM) -- it's just as fast from a cold boot. The same is true of most things -- for another test, I just launched OpenOffice.org for the first time this boot, and it took about three seconds.

    It's possible I've been out of the loop, and OO.o really has improved that much since I last used it, but that does look impressive to me.

    Probably the biggest advantage is durability -- no moving parts to be jostled -- and silence. To see that in action, just pick out a passively-cooled netbook -- the thing makes absolutely no discernible noise once it's on, other than out of the speakers.

    All around, I don't see much of a disadvantage. However, it may not be as much of an advantage as you expect. Quite a lot of things will now be CPU-bound, and there are even the annoying bits which seem to be wallclock-bound.

    --
    Don't thank God, thank a doctor!
    1. Re:I've been doing just this by digitalunity · · Score: 1

      Yes, I've noticed OO.org loads much faster than previous versions. I'm using 3.0.1 right now and really haven't had any issues with it, aside from a bizarre Rich Text Format file export formatting issue.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    2. Re:I've been doing just this by PitaBred · · Score: 1

      Just FYI, a 2.5GHz Core 2 Duo is roughly 10% faster than a 2.5GHz Core Duo. Same clock speed. So a 15% bump in speed is not unheard of if you switched from one core architecture to another.

    3. Re:I've been doing just this by 0xABADC0DA · · Score: 1

      So, is there gigabit between you and the SVN server? If so, you might run into speed issues. Maybe. Probably not.

      Speaking of which, the single best thing you could do to prolong the life of the SSD -or- improve the performance of the hard drive is to switch to a better version control system, like Mercurial for instance. Subversion stores about 8 files average per file you have version controlled. It also updates these files a lot. It's really a pig.

      Mercurial is really the way to go here, whether on SSD or not.

    4. Re:I've been doing just this by phillips321 · · Score: 1

      Just to make you feel good about all the money you spent on that laptop.

      2.2GHz C2D, 2Gb Ram, Naff 160Gb Sata = 9 secs to load oopenoffice after boot.

      Most people here would rather wait the extra 6seconds and use it to chink all that saved cash in their pocket!

    5. Re:I've been doing just this by SanityInAnarchy · · Score: 1

      This is a Core 2 Duo, last one was an Athlon 64 x2. I ran both 64-bit.

      The RAM is slower on this machine, too.

      --
      Don't thank God, thank a doctor!
    6. Re:I've been doing just this by SanityInAnarchy · · Score: 1

      I'd have said Git, but yes, that's very true.

      Unfortunately, the best solution may be something like git-svn, depending on whether management will budge.

      --
      Don't thank God, thank a doctor!
    7. Re:I've been doing just this by SanityInAnarchy · · Score: 1

      Most people here would rather wait the extra 6seconds and use it to chink all that saved cash in their pocket!

      Fair enough, but keep in mind, three seconds versus nine seconds is a threefold increase.

      So, that six seconds may not matter, because OpenOffice isn't as bloated as it used to be. But it does mean that in general, launching applications is CPU-bound, rather than disk-bound, and I never have to wait more than five seconds for an app to start -- usually it's under a second.

      Honestly, the sensible solution is probably buying more RAM. Until the price comes down, this is really more of a luxury item. Even so, the part that I really don't miss is having the hard drive fail -- I seem to be particularly rough on laptop hard drives.

      And I actually feel fine about the money I spent on it -- at the time, I was making more money than I could spend. Now that I'm unemployed, there's a bit of regret, but it's irrelevant -- I need a laptop anyway, so I'm not selling this one, and wishing I hadn't spent the money won't get it back.

      --
      Don't thank God, thank a doctor!
    8. Re:I've been doing just this by ultrabot · · Score: 1

      Speaking of which, the single best thing you could do to prolong the life of the SSD -or- improve the performance of the hard drive is to switch to a better version control system, like Mercurial for instance. Subversion stores about 8 files average per file you have version controlled. It also updates these files a lot. It's really a pig.

      Mercurial is really the way to go here, whether on SSD or not.

      Mercurial stores the full project history on disk, so it may be a bit expensive.

      However, mercurial also operates in fashion where it only appends to repo files (?), which should be pretty close to ideal operation in flash environment.

      --
      Save your wrists today - switch to Dvorak
    9. Re:I've been doing just this by aproposofwhat · · Score: 1

      Just launched OO.o on my cheap netbook (533 MHz Atom, 512 MB RAM, no swap, Linux and a little 8GB SSD) and it only took 8 seconds.

      So yes, OO is much faster to load than it used to be :)

      --
      One swallow does not a fellatrix make
    10. Re:I've been doing just this by PitaBred · · Score: 1

      Then you're definitely not comparing apples to apples. The Athlon X2 isn't nearly as fast per clock as the Core 2 is.

    11. Re:I've been doing just this by SanityInAnarchy · · Score: 1

      Mercurial stores the full project history on disk, so it may be a bit expensive.

      I can't speak for Mercurial, but SVN is just downright shameful, and Git is the proof.

      A typical Git checkout is actually smaller than a typical SVN checkout, even considering the Git checkout has the project's entire version history. This is on the same project, by the way, ported with git-svn.

      It's not hard to imagine that Mercurial might work the same way.

      mercurial also operates in fashion where it only appends to repo files (?)

      Again, I don't know much about Mercurial. My experience with Git has been that it only appends to files, or creates new ones, during normal operation. It does, however, have several repacking commands, my personal favorite being 'git gc', which repacks the entire repository -- though I suspect rewriting the entire file is still going to be better than random writes inside a file.

      --
      Don't thank God, thank a doctor!
    12. Re:I've been doing just this by Anonymous Coward · · Score: 0

      It's true, the write speed is slower. However, I also frequently transfer files over gigabit, and the bottleneck is not my SSD, it's this cheap Netgear switch, or possibly SSH -- I get about 30 megabytes per second either way.

      That smells like slow a harddrive. I can get 50-60MB/sec with SSH on a cheap netgear 1gbps switch moving raw DV files (minimum 1GB) around, and that's just using SATA2 7200rpm generic drives. 30MB doesn't fit the limits for switches, if yours is slow, jump to 1gpbs, they're so cheap and your network will be faster than harddrives can feed it.

    13. Re:I've been doing just this by Anonymous Coward · · Score: 0

      A typical Git checkout is actually smaller than a typical SVN checkout, even considering the Git checkout has the project's entire version history.

      Mercurial also does this, and is also smaller with the entire repository than SVN checkout of just the head.

      My experience with Git has been that it only appends to files, or creates new ones, during normal operation.

      Same with Mercurial.

      Mercurial is a lot like git except that it works the same on every system, including Windows. So if you ever have to deal with windows systems it's better to go with hg.

  30. Why not use both? by Anonymous Coward · · Score: 0

    Take your local storage zpool and add the SSD as a cache device.

    # zpool add (pool-name) cache (device path)

  31. If you really want blistering performance... by Mysticalfruit · · Score: 2, Insightful

    If price isn't an option, then he should get himself 4 ANS-9010's and set them up as a hardware RAID0 hanging off the back of good fast raid controller.

    If he filled each of them with 4GB DIMMs he'd have 128GB of storage space.

    Volatile? Hell yeah... But also just crazy fast...

    --
    Yes Francis, the world has gone crazy.
    1. Re:If you really want blistering performance... by Anonymous Coward · · Score: 0

      For those who didn't get the reference, the ANS-9010 is also know as the Hyperdrive5, which is the somewhat friendlier (DDR2 and integrated CF backup slot) RAM drive. Though it may be potentially slower than the Hyperdrive4 since it uses a low end ASIC instead of an FPGA for the controller (can't saturate the SATA bus for instance).

      Also, yes it has an internal battery backup so it can auto dump to the CF card. Or not, if you are really paranoid about keeping your data out of the hands of others.

  32. Simple arithmetics by MathFox · · Score: 4, Insightful
    A typical flash cell easily lasts 10.000 writes. Let's assume that every compile (or svn update) only touches 10% of your SSD space, that gives you 100.000 "cou" (compiles or updates). If you do 20 cou per day, the SDD will last 5000 working days, or 20 year.

    Now find a hard disk that'll last that long.

    --
    extern warranty;
    main()
    {
    (void)warranty;
    }
    1. Re:Simple arithmetics by Anonymous Coward · · Score: 0

      Yes, because my disk never does anything when I'm not doing a compile or an update.

    2. Re:Simple arithmetics by Rockoon · · Score: 1

      This is spot-on.

      You can do a FULL WRITE to a 10,000 write SSD every day for 27 years. In the case of a 128GB drive, we are talking about a writable limit at 1280TB. Given that a typical performance drive today will write something on the order of 100MB per second at best, it will take 148 days of 24/7 full blast highly optimized write activity in order to wear the drive out.

      The reliability fear is irrational, even in the case of liberal swapping.

      But are these SSD's really worth $3-$8 per gigabyte? How about just within the affordable $3/GB budget? You get 30+ times more storage for your buck with conventional drives, so its not easy to pick SSD's if conventional drives are still good enough performance-wise.

      --
      "His name was James Damore."
    3. Re:Simple arithmetics by owlstead · · Score: 1

      This all assuming that you use the flash only for the build. Also note that many IDE's now use real time parsing, basically making hundreds of small changes. Only on a few files normally, but it does distort your mathematics. The mathematics are not that unreasonable, but keep in mind that real life is slightly more complicated than this.

  33. Nope by dvh.tosomja · · Score: 1

    Only for porn, move along.

  34. Software Development? Really? by Greyfox · · Score: 1
    How much do you hit ^X^S? And are you really going to notice a few ms difference between loading your source file off the drive? If you were using it as a database server with frequent writes that'd be one thing, but software development?

    If your boss is willing to shell out for one, then go for it. If you actually do the math on the write limit, you'll find that you'll be dead of old age long before the drive runs out of writes in any given cell (Last time I checked it was something like 160 years of constant writes.)

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    1. Re:Software Development? Really? by digitalunity · · Score: 1

      You don't seem to know much about software development.

      Say the update you make is an edit to a structure or class definition in a commonly included header file. Now rebuilding your project might require rebuilding a large portion of your project.

      Also, file access latency if a huge killer in software development. In some languages like C and C++, there are dozens or hundreds of header files that need to be read and parsed for each source file you compile.

      There is a lot to be said for using SSD's. Another good option really is to just get enough ram to alleviate hitting the hard drive frequently, since as others have noted, all modern operating systems use available ram for file caching.

      --
      You can't legislate goodness. Let each to his own destiny, by will of his freely made choices.
    2. Re:Software Development? Really? by Greyfox · · Score: 2, Funny
      Oh wah wah you might have to wait an hour or so for your project to compile.

      I had to fucking type my boot sequence in octal to get the system to jump to the correct sector on an 8" floppy. Kids these days. Honestly...

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    3. Re:Software Development? Really? by jon3k · · Score: 1

      And it's our constant complaining and desire for improvement that drug us out of those dark ages by our bootstraps.

      You're welcome.

    4. Re:Software Development? Really? by voxel · · Score: 1

      I had to use a piece of coal on some flattened bark to write the first word on parchment in human history.

      If you have an 8" floppy, I'd hate to see it hard.
       

      --
      Modesty is one of life's greatest attributes
  35. RAM disk ? by smoker2 · · Score: 2, Interesting

    Can't you just load up on RAM and create a RAM drive for working stuff and keep the slow HDD for shutdown time ? Cheaper than SSD and no write cycle issues. You can also get RAM based IDE and SATA drives.

    1. Re:RAM disk ? by Microlith · · Score: 1

      While fine for temporary files, RAM disks tend to be small and extremely volatile.

      Not exactly a place where you want to host files from your current project, which is what OP wants.

    2. Re:RAM disk ? by Anonymous Coward · · Score: 0

      If you're developing software, you don't want to lose all your changes on a crash. A RAM disk will get wiped if you need to do a hard reset, and you will lose all your changes that occured between the last boot and the crash.

    3. Re:RAM disk ? by bwindle2 · · Score: 1

      Forget a ram disk or a SSD drive; your operating system should cache frequently-accessed files in RAM anyway. So after the first time you read the file in, it'll be cached (barring memory pressure, of course). RAM is cheap, much cheaper than a SSD drive.

    4. Re:RAM disk ? by ZerdZerd · · Score: 1

      Make a copy to the hard drive whenever you're not compiling.

      --
      I'm not insane! My mother had me tested.
    5. Re:RAM disk ? by jon3k · · Score: 1

      RAM is not cheaper than SSD why the fuck do people keep saying this? Can you not do simple math? The cheapest 2GB DDR2-800 DIMM on newegg is $17.99. Now let's forget the fact that you can only get, at most, about 8 of these things in a PC for a total of 16GB (which includes system memory). Trust me, you don't want to go to 4GB or 8GB DIMMs, it will just make you look even worse.

      That would cost you: $143.92
      Remaining expansion? None.

      Here's a 16GB MLC Super Talent for $74.99 (HALF THE PRICE OF THE RAM):

      http://www.newegg.com/Product/Product.aspx?Item=N82E16820609330
      Remaining expansion? LOTS

    6. Re:RAM disk ? by k8to · · Score: 1

      You could also just set your filesystem to full async mode.. buhhh.

      --
      -josh
  36. Adaptec confirms it... by guruevi · · Score: 3, Informative

    Although they use an SSD for another purpose, they said currently SSD's last about 6 months under heavy read/write conditions (cache on a RAID controller) even with leveling techniques. Hard drives last a whole lot longer for those purposes I would say.

    I think SSD in a desktop-type system would be all right however I would suggest you invest in some fast disks instead of SSD until SSD matures and more lifetime data is available. Remember MTBF doesn't always mean that a piece of hardware will last that long. Most likely it will die long before that.

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
    1. Re:Adaptec confirms it... by gwbennett · · Score: 0

      MOST likely it will die before the mean time before failure? Doesn't the definition of mean mean that 50/50 it MIGHT die before then?

      --
      Where is this free beer everyone on Slashdot keeps talking about?
    2. Re:Adaptec confirms it... by Anonymous Coward · · Score: 0

      Please stop introducing substantive information into the discussion. This is FOX NE^h^h^h^h^h^h Slashdot, darn it, and the objective is to flame, cajole, criticize, speculate, pontificate and make uniformed and idiotic statements.

      Thank goodness Slashdot has a moderation system to allow suppression of informative and enlightening posts from the likes of you and promotion of knee-jerk uninformed "go get 'em dude" flames that say idiotic, clueless things like "do the math, dimwit or you shouldn't be a programmer"!

      --------------

      By strange coincidence, my catchpa is "cajole". Do I win a prize?

    3. Re:Adaptec confirms it... by fast+turtle · · Score: 1

      that's what the "-pipe" flag does for the gcc toolchain. Instead of relying on temp files (writes to disk) it keeps as much as possible in RAM, which speeds things up quite a bit.

      --
      Mod me up/Mod me down: I wont frown as I've no crown
    4. Re:Adaptec confirms it... by Anonymous Coward · · Score: 0

      > Most likely it will die long before that.

      No. By definition, it's "Mean Time Before Failure." _mean_.

    5. Re:Adaptec confirms it... by Haeleth · · Score: 1

      No, since you ask.

      Consider a product for which 80% of units die after 1 year, and 20% last 10 years. The MTBF is 2.8 years. 80% of units will barely make it a third of the way!

    6. Re:Adaptec confirms it... by jon3k · · Score: 1

      "Although they use an SSD for another purpose, they said currently SSD's last about 6 months under heavy read/write conditions"

      Link please.

    7. Re:Adaptec confirms it... by Anonymous Coward · · Score: 0

      Man, I wish I had mod points for you.

      I keep hearing people talk about how wear leveling and millions of write cycles will last longer than hard-drives. However, my first hand experience contradicts all this crap people are spouting. On real work machines. developer workstations with VMware, SSD's have a much shorter lifespan than hard-drives. Period.

      I don't know why they fail but every single SSD I have ever used on a database server or developer workstation has died within a year. I don't give a flying crap what anyone says otherwise, I know this to be true. The current generation of SSD hardware is not as reliable as hard-drives. I hate hard-drives too. With a passion. I can't wait for good SSD's to come along.

    8. Re:Adaptec confirms it... by toddestan · · Score: 1

      Typically, MTBF is calculated using what is considered normal levels of use, so you'll find the same thing for harddrives. Put a bunch of desktop drives in a situation where they are constantly being accessed 24/7 and you'll find the MTBF will be much shorter than the spec.

    9. Re:Adaptec confirms it... by Anonymous Coward · · Score: 0

      Actually MTBF, means Mean Time Before Failure. Or to put in other words is that average time that product will last. You are just as likely to have a piece of hardware last longer than the MTBF as compared to it dieing before the MTBF. Otherwise the mean would be lower.

  37. How about ramdisks? by ultrabot · · Score: 2, Interesting

    Sometimes I wonder whether it would make sense to optimize the disk usage for flash drives by writing transient files to ramdisk instead of hard disk. E.g. in compilation, intermediate files could well reside on ramdisk. If you rely on "make clean" a lot (e.g. when you are rebuilding "clean" .debs all the time), you won't have that much attachment to your object files.

    Of course this may require more work than what it's really worth, but it's a thought.

    --
    Save your wrists today - switch to Dvorak
    1. Re:How about ramdisks? by Simetrical · · Score: 1

      Sometimes I wonder whether it would make sense to optimize the disk usage for flash drives by writing transient files to ramdisk instead of hard disk. E.g. in compilation, intermediate files could well reside on ramdisk. If you rely on "make clean" a lot (e.g. when you are rebuilding "clean" .debs all the time), you won't have that much attachment to your object files.

      Of course this may require more work than what it's really worth, but it's a thought.

      Can't you just instruct your compiler to place temporary files in /tmp, and make that a tmpfs?

      --
      MediaWiki developer, Total War Center sysadmin
    2. Re:How about ramdisks? by ultrabot · · Score: 1

      Can't you just instruct your compiler to place temporary files in /tmp, and make that a tmpfs?

      There is no catch-all way to do this. For example, often the object files are "fixed" to appear at certain place by whatever build system is being used.

      If build descriptions were just a list of "compile these files, producing these target files", there would be more leevay to easily tweak the details. Unfortunately, build systems are a mess.

      --
      Save your wrists today - switch to Dvorak
    3. Re:How about ramdisks? by Anonymous Coward · · Score: 0

      How about writing it to a ramdisk, and additionally writing transparently storing it to disc, just in case the power gets turned of.

      I will call this complex scheme "caching".

      He is using an external harddrive? Maybe even USB? That are two problems:
      a) USB sucks CPU.
      b) Under Windows, write caching for external harddisk is disabled by default, in order to allow you to remove the disk without losing much data.

      My advice: Give your computer 4-8Gig more RAM and your whole project will fit into memory. The latency of the HDD should be effectively hidden.
      Under linux, place the project on a partition with the noatime option enabled.

      > That would be good enough for regular users, but in software development, one may have to update 10-30% of the source files from Subversion and recompile the whole project, several times a day

      This sounds like you project is in dire need of some refactoring, as there seem to be either too many dependencies.

    4. Re:How about ramdisks? by ultrabot · · Score: 1

      How about writing it to a ramdisk, and additionally writing transparently storing it to disc, just in case the power gets turned of.

      I will call this complex scheme "caching".

      Your sarcasm would be appreciated if it was related to discussion at hand.

      The problem discussed was wear leveling, and the whole point was to avoid disk writes.

      --
      Save your wrists today - switch to Dvorak
    5. Re:How about ramdisks? by Anonymous Coward · · Score: 0

      On Linux, TMPfs, lots of ram, and put temp files in /tmp. Bob's your uncle.

    6. Re:How about ramdisks? by Minwee · · Score: 1

      The problem discussed was wear leveling, and the whole point was to avoid disk writes.

      % man 2 sync
      % man 8 update

      You can stop reading when you start to realize the connection between file system caching and avoiding disk writes. It's kindof the whole point, you see.

    7. Re:How about ramdisks? by Anonymous Coward · · Score: 0

      The OS already does that. It's caching the writes you do and if you create an object file and then delete the object file again seconds after that, it's not ever written to disk and so you have your "ramdisk" already (on Linux; no idea how it is on Windows).

    8. Re:How about ramdisks? by ultrabot · · Score: 1

      The problem discussed was wear leveling, and the whole point was to avoid disk writes.

      % man 2 sync

        % man 8 update

      You can stop reading when you start to realize the connection between file system caching and avoiding disk writes. It's kindof the whole point, you see.

      Have you ever kissed a girl?

      --
      Save your wrists today - switch to Dvorak
    9. Re:How about ramdisks? by Anonymous Coward · · Score: 0

      Having a large ramdisk-based cache inside an SSD would be helpful to help avoid redundant/unnecessary writes, after all we only care about the stored data in the end (i.e. when we shutdown and reboot afterwards) and not all intermediate revisions of it, if the latter is relevant we are likely to use an RCS anyway, so we don't need to waste precious write cycles while working on the machine.

      This would need to be based on statistics, so that frequently accessed [=written] files are prioritized for a special "write cache", instead of unnecessarily writing such files onto the flash drive each time.

      However, introducing such large ramdisk-based cache would inevitably also bring new challenges regarding data loss scenarios in SSD - for example in situations where the RAM state isn't yet stored onto the flash drive during a power failure.

      This would need to be handled similarly to how heavily-cached RAID controllers in servers handle this scenario: using an independent power source (battery or separate AC) in order to be able to write back RAM state onto the flash drive even when the main power source should go down.

      Such a mechanism could be re-charged at runtime when the machine is running.

  38. Re:My experience by Anonymous Coward · · Score: 0

    Not to be negative, but there's also no guarantee that she hasn't caught other new and exciting bugs in the time since you've last encountered her.

  39. Intel or bust by Chris+Snook · · Score: 2, Informative

    Developing on a conventional SSD with large user-visible erase blocks is PAINFUL. The small writes caused by creating temporary files in the build process absolutely destroy performance. There are ludicrously expensive enterprise products which work around this in software, but at the laptop/desktop scale, you want something that's self-contained. As far as I'm aware, Intel's X25 drives are the only ones actually on the market now that hide the erase blocks effectively at the firmware level. The MLC ones should be fine.

    --
    There's no failure quite as dissatisfying as a complete and total solution to the wrong problem.
    1. Re:Intel or bust by Henk+Poley · · Score: 1

      OCZ just released it's Vertex. It should deliver about the same r/w speed as the X25-M, only cheaper.

    2. Re:Intel or bust by Henk+Poley · · Score: 1

      Holy shit, I wrote an s..

      (or, how in Dutch you use apostrophes a lot more)

  40. Writes aren't placed randomly. by Anonymous Coward · · Score: 0

    There are very precise wear-leveling algorithms behind the scenes that take care of the fact that any one cell can only handle so many cycles. And on that note, technically, you count a cycle when the cell is erased, not written (though most writes mandate an erasure). It follows that SSDs offer predictable failure (firmwares don't tell you this, however, because in practice you will replace any SSD drive long before you approach the limit of erase cycles, even for MLC drives).

    The reason MLC drives offer so many fewer cycles is right there in the name. There are multiple bits stored within a single cell, and to erase any one bit, you need to erase the entire cell.

  41. Just did some build speedups by tthomas48 · · Score: 1

    This was on ant, but I think they're fairly applicable elsewhere:

    1) Making the build less object oriented. Code reuse is not as important as speed in a build. Try to limit the creep of including all sorts of build task libraries.
    2) Map your build and dist directories to a tmpfs.

    I halved our build time just with these two steps.

  42. SLC will last longer than your computer. by Anonymous+Freak · · Score: 1

    SLC can handle millions of write cycles; and it's fast. With modern wear-leveling, you could erase and re-write to an SLC drive at maximum speed continuously for years before you would hit the maximum write cycle cap.

    The best one at present appears to be the Intel X25-E, which is a whopping $800 street price for the largest 64 GB model. If that isn't large enough, then yo'll have to wait for the 128 GB model.

    Intel's X25-M MLC model claims to have way better wear leveling algorithms than most MLC drives; and has demonstratedly better read and write performance than pretty much all other MLC drives; and is available at 160 GB. Even it had a predicted lifespan longer than most rotating drives.

    --
    Another non-functioning site was "uncertainty.microsoft.com."
    The purpose of that site was not known.
  43. Work from RAM, only write occasionally by RAMMS+EIN · · Score: 1

    Just to float an idea, why not do it like this:

      - Build a computer with flash storage and lots of RAM
      - Use RAM to store the code and data you're using for development
      - Write commits to flash
      - Write to flash occasionally to prevent data loss

    Flash drives may be faster than disks, but RAM is still _much_ faster. An extra 4 or 8 GB of RAM doesn't cost that much, and is probably enough to hold the code and some test data for most projects. If you spend a lot of time compiling, you'll probably recover the cost of the RAM in no time, thanks to increased developer productivity.

    --
    Please correct me if I got my facts wrong.
    1. Re:Work from RAM, only write occasionally by OrangeTide · · Score: 1

      Yes. you can just change the swapiness and pdflush dirty writeback rate. then you don't have to setup some artificial stack of ram disks and and flash flushing.

      --
      “Common sense is not so common.” — Voltaire
    2. Re:Work from RAM, only write occasionally by alexibu · · Score: 1

      Is'nt this exactly what modern operating systems do ?

      After the first read, the files are cached in memory, and unless they are pushed out of the cache, will be there next time you compile ...

    3. Re:Work from RAM, only write occasionally by dltaylor · · Score: 1

      Sounds a bit like my early Amiga A1000 development system (2 MB A2000 DRAM card added, so plenty of usable storage):

      Load work environment from diskette to RAM disk (best RAM disk ever; resized automatically as needed), and switch to it as system disk.

      Load the source code from another diskette, and edits/complies were fast checkpoint to diskette, as appropriate.

    4. Re:Work from RAM, only write occasionally by RAMMS+EIN · · Score: 1

      ``Is'nt this exactly what modern operating systems do ?''

      No, not exactly. You are correct that data will be cached in RAM, so it will be available quickly. But, without doing anything further, you will still be writing to the disk a lot. I am proposing to limit disk writes, too. For example, I would be fine with writing only when I commit, and every couple of minutes.

      --
      Please correct me if I got my facts wrong.
    5. Re:Work from RAM, only write occasionally by owlstead · · Score: 1

      Sorry, but I would prefer using tmpfs (I've already done this). Tweaking development is not the same as tweaking the whole computer.

      PS. we're talking Linux here

    6. Re:Work from RAM, only write occasionally by Anonymous Coward · · Score: 0

      What you said doesn't make much sense.

  44. Silly question by BigZaphod · · Score: 1

    I've been developing iPhone apps on my 15" SSD MacBook Pro since they were released in September-ish? The SSD is awesome-fast compared to normal laptop HDDs. I have a friend who installed his own SSD before Apple was selling them as a BTO and his is still running fine, too. You'll likely upgrade before you hit any SSD writing limits anyway. It's not something I'm even remotely worried about. If the drive does happen to fail, that's what AppleCare and backups are for. :)

  45. If Cost is no issue... by Anarke_Incarnate · · Score: 0, Offtopic

    Then forget the SSD drive, unless you are worried about head crashing during a fall. Get yourself a 4+ bay ESATA enclosure and do a Raid 1+0. You will pin the bus for throughput and have fault tolerance out the wazoo. I would recommend larger drives, simply for the larger outer tracks (Larger, meaning high density, not necessarily greatest total capacity).

    1. Re:If Cost is no issue... by SiliconSorcerer · · Score: 1

      Well Almost bingo, I actually would go with a raid 10 sas (vs sata) and you can NEVER have to much memory in a machine... That will fly not as fast a as FIRST write to and intel SSD but from then on it will... OF course if you want rocket speed there DDR SSD with 8 disk raid 10 lazy writes but that's a bit pricey.

    2. Re:If Cost is no issue... by Anarke_Incarnate · · Score: 1

      in the case of something like this, the difference between SAS and SATA becomes negligible, except for added cost. Sure, the controller will have more fancy logic, however, I would recommend software RAID -OR- A good RAID controller (Not LSI/PERC). The costs start to add up as you go into Areca/3ware, and above-land. If you go software RAID, then make sure you have at least a decent dual core CPU, or your build time will suffer. A dual socket quad or dual socket dual would be preferred, and the more RAM, the merrier, as stated.

      Now, even if you go SSD RAID 10, you don't get much more performance until you start using 4x PCI-e or better. You will likely have no real use for that kind of read speed, as it will hit a logical plateau for compile speed.

      If speed were a real concern and no price mattered, everybody would sit with a 20 disk multipath fiber channel system feeding a Sun x4600 M2 box with 32 cores and 128GB of RAM.

      Something like that would almost compile before you hit commit.

    3. Re:If Cost is no issue... by jon3k · · Score: 1

      Two Intel X25-E SLC can pump out more than the SATAII bus can handle and it can do it for ~$840 using a simple onboard raid controller. Your solution to saturate the SATA bus (which a _fraction_ of the non-sequential transfer speed) requires:

      - 4 Hard Disk Drives
      - 1 External enclosure
      - RAID controller that supports RAID10
      - Power and noise

      And still can't deliver the same random read performance of a pair of of SSD's.

    4. Re:If Cost is no issue... by Anarke_Incarnate · · Score: 1

      My enclosure cost me $199. I bought 4 1TB drives for $90 each. The enclosure came with a card for ESATA (and the enclosure is whisper quiet) and I am doing RAID in software with Linux. Also, I got WD10EADS drives, which are some of the lowest power drives on the market, as the platter density is high and the throughput of 4 drives is more than the 1x pci-e can sustain anyhow.
      I also enabled 7 second TLER in the firmware on each drive.
      Your SSD drives can't handle as much fault tolerance as 4 drives. If the bus is pinned on throughput, the only difference is seek and IO, in so much as the controller can handle on either end.

      The demands of the application will dictate the ultimate decision. I merely opened for alternatives, to decide if it was simply an issue of feeding the chain in sequential data, or strict IO bound issues for the build process.

      I do believe I came well under in cost....

    5. Re:If Cost is no issue... by jon3k · · Score: 1

      I'm not sure where you found them for $90 but MSRP is closer to $100-$110. There's really no point in comparing anything other than MSRP or this would go on forever, trading ebay links back and forth.

      His concerns are IOPS and latency. For my money, I'll take two OCZ MLC 60GB SSD's in RAID0 for $300 for a total of 120GB, just as he requires. It would provide vastly better performance for his workload. Of course, as he said, price isn't even a concern so really how about 4x64GB Intel SLC SSD in RAID10 for $3,396. I'd love to see how many spinning disks it would take to provide the same IOPS - obviously you won't ever achieve the same latency with spinning magnetic disks.

      I'd also backup my work frequently like I would with any disk setup. You're much more likely to have a "human" error (accidentally deleting a file) than you will a hardware failure in either case. No RAID can save you from: $rm -rf . /

    6. Re:If Cost is no issue... by Anarke_Incarnate · · Score: 1

      Are you 100% sure his problems are IO bound? I agree that human error is something to take a careful look at, however there are multiple ways to skin this cat. Sure, SSD will help if the issue is IO bound, however, there are other things to think about, such as whether or not the concern is truly IOPS or throughput. If it is throughput, then 4+ spinning disks will be easily as fast, as the bus is the limiting factor and not the "spinning" parts. If he really wants speed, why not take things off the workstation, and have a build server with 8 sockets (dual or quad core) and >64GB RAM and then simply check out the executable code........?

  46. Cat got your tongue? (something important seems to by Anonymous Coward · · Score: 0

    http://www.theinquirer.net/inquirer/news/293/1051293/ocz-1tb-ssd-raid-module

    If you're out for performance, this could be very interesting.

  47. right, because java makes your puddy sore by Anonymous Coward · · Score: 0

    EOM

  48. Can SSDs Be Used For Software Development? by TheCreeep · · Score: 1


    No man, but they do make dandy soap holders.

  49. I don't know enough about SSDs by Daimanta · · Score: 2, Interesting

    yet, but I am eager to learn. What happens if you exceed the limit of writes? How does usage degrade the disks? Is heat bad? Does using the SSD as virtual memory degrade the disk fast?

    What about bad sectors, how do they compare with HDDs? Are SSDs generally more sturdy(longer lifespans) than HDDs?

    Inquiring minds want to know.

    --
    Knowledge is power. Knowledge shared is power lost.
    1. Re:I don't know enough about SSDs by owlstead · · Score: 1

      "What happens if you exceed the limit of writes?"
      You may loose a block for writing. It will be tagged, but the data won't be lost.

      "How does usage degrade the disks?"
      Doing many writes, and especially many small writes may hurt performance - a lot. You can reset some SSD's and reinstall. This will reset the counters, but they should be spreading the writes in the first place.

      "Is heat bad?"
      No, up to a certain temperature of course, but SSD's are probably better resistant to heat than disks. Flash is pretty hard to kill.

      "Does using the SSD as virtual memory degrade the disk fast?"
      Faster, yes, but it depends on the amount of swaps, obviously. Setting a high amount of swap space on my 8 GB of RAM with swappiness low won't do a thing to the life time of any hardware, it could just as easily be a tape drive. Personally I would rather worry about "temporary internet files".

      "What about bad sectors, how do they compare with HDDs?"
      Better. You *know* when you have a bad sector. Most of the time you will still be able to read the block. Otherwise, you should not compare sectors with HDD's (sorry, couldn't resist).

      "Are SSDs generally more sturdy(longer lifespans) than HDDs?"
      For a desktop system this may be the case. But not all applications will have the same characteristics.

      Note that not all controllers are created equal; you *need* to do research on that before buying an SSD, since most use the bad ones. Bad controllers can slow down writes to a crawl, way worse than HDD's. This depends on the number of writes you perform (not the amount of free space).

      PS. I haven't bought an SSD yet, this is from a few days of research into the matter.

  50. Erase write cycles - wear leveling by Anonymous Coward · · Score: 0

    They could be using random positions to write to, but more likely it is sequential and on a loop.

    The first block is the one guaranteed for a number of erase write cycles.

    System files will probably not change as often as your project files and the loop will happen over the available space as you erase, truncate or add to your project files.

    The first failure will happen on a block in the available space, and the available space will tend to have more cycles (wear) than the system space.

    So, one trick is to flip the system every now and again and help out the wear levelling yourself.

    You can zap a block quite easily, by just filling up the available space and then just repeatedly erasing and writing to one block. It wouldn't be wise to do that to the boot sector though.

  51. make -j2 or higher by tepples · · Score: 1

    RAID can increase throughput, but it can't reduce access latencies.

    Prefetch can. If you keep your project on a loopback file system smaller than RAM, the disk cache makes read latencies tend toward negligible.

    Of course, if you can read two different things at the same time

    Which requires a build tool that can multitask. Fortunately, GNU Make can: make -j2 tells Make to build two files at once if the dependency graph allows. In my experience, the number of simultaneous jobs should generally be the number of cores plus the number of spindles (e.g. 6 for a dual-core with a RAID 10 or a quad-core with a RAID 1), so that each CPU and each disk has something to do if possible.

  52. Wear leveling question by Stephen+Ma · · Score: 2, Interesting
    As I understand it, flash drives use wear leveling to spread the writing burden over many sectors of the disk. So each time I overwrite the same sector, say logical sector 100, the data goes to a different spot on the drive. That makes sense.

    However, suppose I fill up the drive with data, then free half of it. My question is: how does the drive know that half its sectors are free again for use in wear leveling? As far as the drive knows, all of its sectors still hold data from when the drive was full, and no sectors are available for levelling purposes.

    Is there some protocol for telling the drive that "sectors x, y, z are now free"? Or does the drive itself understand the disk layout of the zillions of different filesystems out there?

    1. Re:Wear leveling question by Jeffrey+Baker · · Score: 1

      The SSD doesn't know about the free space. There is an proposed specification in one of the committees (SCSI or ATA or somebody) to inform a storage device that blocks have been freed, thereby giving them back to the wear leveling pool. SSDs today do not care about used vs. free space. If the operating system calls for write to offset 123, the disk writes to logical offset 123, and rearranges the underlying translation layer so it knows the physical location of logical offset 123. SSDs typically have 10-20% extra physical space above and beyond their advertised logical capacity, so they never truly "run out of space".

    2. Re:Wear leveling question by Stephen+Ma · · Score: 1

      No free space notification? Damn, I was hoping for a different answer. SSDs are not looking as good as I thought they were.

  53. I wouldn't touch SSD's right now by billcopc · · Score: 2, Interesting

    Everyone's going SSD-crazy, but I'm not yet convinced. They're not _that_ much faster than spinning platters of death, at least not yet, and I'd much rather throw a ton of Ram at the disk cache for the same amount of money.

    If you're really worried about performance, invest in a true Ramdisk - the kind that has DDR memory slots on one side and a SATA connector on the other. You can write a 2-line script to mount and format it on boot, and even backup its contents upon shutdown (if needed). That's the ultimate /tmp drive, and it will not wear out no matter how hard you pound it.

    --
    -Billco, Fnarg.com
    1. Re:I wouldn't touch SSD's right now by Yvan256 · · Score: 2, Funny

      it will not wear out no matter how hard you pound it.

      That's what SHE said.

    2. Re:I wouldn't touch SSD's right now by jon3k · · Score: 1

      Depends on the workload. When you try and compare nothing other than total throughput it doesn't look as impressive. Try comparing IOPS sometime :)

    3. Re:I wouldn't touch SSD's right now by owlstead · · Score: 1

      Or just use a (proprietary) program in Windows to work with your local RAM or use tmpfs under linux. I've just compiled the OpenJDK in no time at all to a RAM drive. My 8 GB of RAM already had the openjdk itself cached, but the output files still had to be written (all ~ 1.1 GB of them).

      I'm trying to see if I could load my Eclipse workspaces in RAM as well. I could save using version control and/or an automated backup script (e.g. rsync once in a while). Eclipse itself stays on the drive. Once you've started it once, it is in memory anyway, and copying it into RAM would only take time (locking the RAM for other uses as well, cache may be reused when running out of memory).

      You can buy motherboards for 16 GB of RAM. But even 8 GB of RAM is plenty for even the biggest workspace.

  54. What about the superblock? by Lost+Found · · Score: 1

    Why would you worry about doing software development when filesystem journals and superblocks are likely to be written far more frequently (generally without ever relocating, which file blocks could do from time to time). This is why write-leveling algorithms exist. If drives (and/or filesystems) didn't perform write-leveling, they would be largely impractical for R/W for this reason.

  55. In a word... by Zebra_X · · Score: 1

    Yes.

  56. WARNING google "intel ssd fragmentation" by BobSixtyFour · · Score: 3, Interesting

    Serious Long-Term Fragmentation Problems...

    Potential buyers BEWARE, and do some research first. Google the term "intel ssd fragmentation" before purchasing this drive to understand this potential long-term issue. Chances are it won't impact most people, but if you plan on using this drive to house lots of smaller files, think again.

    Also
    Absolutely avoid using defragmentation tools on this drive! They will only decrease the life of the drive.

    1. Re:WARNING google "intel ssd fragmentation" by owlstead · · Score: 1

      You can also reset the entire drive once in a while and put a previously saved image back (e.g. the one you were just working on). Most performance problems would go away, and it only costs you a single clear for each sector.

  57. Re:SSD, maybe not right now.. MacBook Air develope by aegis17 · · Score: 2, Funny

    I primarily use SSD's for backups.

    Yeah, I primarily use my Learjet as a backup in case my civic breaks down too.

  58. SD chip Temp space for laptop by peterofoz · · Score: 1
    I've been using an 8 GB SD chip ($46 SanDisk Ultra II) in my Toshiba laptops SD reader drive for TEMP and TMP space. Just plug one in and update the user and system environment variables. You can also move the browser cache there and limit the cache size to about 15MB.

    Its rated for 15 MB/s - not exactly a screamer, but it sure makes my AV run faster on ZIP files, and minimized disk fragmentation on C:

  59. Server RAMdisk by peterofoz · · Score: 1
    For our servers, I've installed a 4GB GC RamDisk i-RAM from http://www.gigabyte.com.tw/ along with a SATA drive controller to access it. It even has a battery backup so RAM is preserved across short (up to a few days) power outages.

    It hosts 2GB of swap space, TMP and TEMP.

  60. An SSD walks into a bar... by Wraithlyn · · Score: 0

    150 odd comments about "SSDs", and not a single bad Star Wars joke? Very disappointing. Here I'll start...

    Use SSDs for software development? Why, I'd think you could use a super star destroyer for just about anything you wanted to.

    Ba dum ching.

    --
    "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    1. Re:An SSD walks into a bar... by Yvan256 · · Score: 2, Funny

      And what does that have to do with Solar System Dynamics?

  61. SSD are the way to go by d_leiderman · · Score: 1

    Since there are no moving parts, there is no difference in latency for reading different sectors. This is the reason you simply don't care about fragmentation. Regarding limitations on lifespan, there are many systems using SSD for databases indexes, where the index is updated hundredth times a day and the drive is specified to work for several years.

    from personal experience, the build process is limited by I/O capabilities, and this is where the SSD is just way beyond any mechanical disk. Real life performance information give about 100 IOPS for Fiber channel / SAS disks, and 80 IOPS for SATA disks. for SSD the numbers go up to 5,000 IOPS - about 50 times increase.

    design to last - blog on system engineering

  62. Mixed solution SSD+HDD by orzetto · · Score: 1

    Odd that no one suggested this yet, but you could keep your current HDD as a working area, and install the OS (and programs) on the SSD. I have been thinking about doing something like this in the past few weeks. I have no direct experience but, browsing forums, it seems a popular layout.

    On Linux, you would install / on the SSD, then mount /var and /home on two HDD partitions; on Windows I suppose that you would place C: on the SSD and put a link from C:\...\Documents and Settings to D:, the HDD.

    This way, you get lots of storage in your home folder (where you need it), and you can write, delete, rewrite as usual; plus, you get fast system and application start-up, because those files are on the SSD, where you do not write as often but where you also like things to go a bit faster. You can also get away with a ludicrously tiny SSD (e.g. 16 GB for Ubuntu system files are waaay more than enough: at my place / is 6 GB, of which /var is already 1.4GB), so you can invest on speed rather than capacity.

    As someone already suggested, working on a SSD may make you write I/O intensive software that will not fare as well when you run the program on a HDD; but if you have your SVN checkout and your build on a HDD, you will not risk this error to begin with. In any case, most read/write-intensive file operations on user partitions are sequential (storing backups, playing MP3s or movies...), and HDDs are still quite fast on sequential files (assuming no or negligible fragmentation, granted).

    --
    Victims of 9/11: <3000. Traffic in the US: >30,000/y
  63. yes, but why? by saiha · · Score: 1

    I'm curious to know what type of day to day development would gain benefit from flash over just getting some more ram since it seems the files are stored locally anyway instead of being on a shared resource.

  64. Can LSDs Be Used For Software Development? by Yvan256 · · Score: 1

    They sure can, but it doesn't make debugging any easier.

  65. Re:*SSD is Dying by Anonymous Coward · · Score: 0

    I lolled a little at this. In my pants. I know I shouldn't but I couldn't help it.

  66. my Intel SSD logging info by Anonymous Coward · · Score: 2, Informative

    Warning: I'm an Intel employee

    But I've been using the 80GB Intel MLC drive since mid-year 2008 and it's great. Very fast and silent -- I refuse to go back to a mechanical drive again. It's perfect for a client workload (99.9% of users) but not perfect for a transaction heavy server (use the SLC drive).

    My workload is writing code and generating/parsing very large data sets from fab (1 - 4 GB).

    Here is the "insider" information from my drive:

    6.3TB written total (roughly 9 months of usage)
    58 cycles (average) on each block of Nand

    Given that the component Nand is qualified out to 10K, that's clearly long enough for at least 5 years of usage

    1. Re:my Intel SSD logging info by ColaMan · · Score: 1

      6.3TB written total (roughly 9 months of usage)
      58 cycles (average) on each block of Nand

      Having little to do with SSD's, can you pull that info out with SMART or something similar?
      I'd presume that certain smart parameters would be set as the disk approaches it's end of life and thus it's a simple thing to monitor, rendering the whole "OMG DONT USE SSD MY DISK WORE OUT WITHOUT WARNING AND LOST MY DATA IM SUING INTEL!!1!" argument moot.

      --

      You are in a twisty maze of processor lines, all alike.
      There is a lot of hype here.
  67. Let me be an obnoxious git that for you... by Tetsujin · · Score: 1

    I don't know who this "The Flash" is...

    http://lmgtfy.com/?q=%22The+Flash%22

    "But this reminds me of some odd invoices I've seen here lately at Star Labs."

    Crap. Let me try that again.

    "But this reminds me of some odd invoices I've seen here lately at Star Labs."

    --
    Bow-ties are cool.
  68. Use the RAM you have or should have.. by Anonymous Coward · · Score: 0

    Theres a lot of talk here about the statistics on SSD being better than HD, but a well tuned system with a lot of RAM (lot == >= 4GB) hardly ever goes to disk except on writes. One can fine tune the write activity in various ways, or use system level tools like dtrace or ktrace or kprobes to look at what is really happening. I know Linux does a good job, but it has a long way to go .. still.

  69. development on flash devices by neonsignal · · Score: 1

    I do development on embedded devices where the code is stored in flash. During the development, we would typically download code to the test devices dozens of times a day (obviously with no wear leveling) over a year or two. Haven't seen any problems with dead flashes yet. Maybe we will see failures after a few more years, but if any development took that long then I'm sure we could afford to throw away the test device and build another one!

    Your mileage may vary with an SSD drive, but if you have enough RAM to avoid too much swapping, then you should be able to get a couple of years use out of it, and probably a lot more.

  70. good Anandtech article by MajorJuggler · · Score: 1
    You should read anandtech's review (September 2008) of the Intel X25-M:

    http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3403

    They showed that the non-Intel MLC drives can have some serious performance issues, so I'de stick with an Intel MLC. If designed correctly, an SSD is actually more reliable than a standard HD, since you know exctly when it's going to fail. Here's some key points from the article on reliability:

    page 4: OEMs wanted assurances that a user could write 20GB of data per day to these drives and still have them last, guaranteed, for five years. ... Intel went one step further and delivered 5x what the OEMs requested. Thus Intel will guarantee that you can write 100GB of data to one of its MLC SSDs every day, for the next five years, and your data will remain intact. Intel actually includes additional space on the drive, on the order of 7.5 - 8% more (6 - 6.4GB on an 80GB drive) specifically for reliability purposes. If you start running out of good blocks to write to (nearing the end of your drive's lifespan), the SSD will write to this additional space on the drive.

    page 5: Intel's SSDs are designed so that when they fail, they attempt to fail on the next erase - so you don't lose data. If the drive can't fail on the next erase, it'll fail on the next program - again, so you don't lose existing data. You'll try and save a file and you'll get an error from the OS saying that the write couldn't be completed. The beauty here is that the SSD knows exactly when it can't erase/program a block, and if the drive knows, then you can use software to ask the drive what it knows. In the near future Intel will be releasing its own SSD tool that will let you query two SMART attributes on the drive: one telling you how close you are to the rated cycling limit, and one telling you when you've run out of reallocating blocks. The latter is the most important because Intel fully expects these drives to outlast their rated limits. As bad blocks develop, the SSD will mark them as such and write to new ones - by telling you when it has run out of bad blocks (or nearly run out of bad blocks), you'll know exactly when you need a new hard drive.

  71. Netbeans on Eee PC starting faster than on C2 Duo by Anonymous Coward · · Score: 0

    I have been using Netbeans on my Eee from time to time, and it is actually starting much faster than on my "big" and powerful laptop. SSD is def. great thing for developers, as all IDEs and most programming tools rely on multiple small-size files. Wether it's parser, linker, compiler, interpreter or documentation generator - it'll be quicker because it can reach different small files with no delay.

    On the other hand if you do sequential reads like editing big files of videos/audio/graphics, a good HDD will do the work.

  72. Linux /tmpfs or Vista ReadyBoost by billstewart · · Score: 2, Insightful

    If your main problem is speeding up your development environment's use of temporary disk storage (because Linux is already caching a lot), use /tmpfs, which stores the files in virtual memory, and if the system needs to page them out, it does that - it's really useful for files that are going to get created for short periods but don't need to get kept for long.

    Windows Vista Readyboost is doing something fancy and semi-automatic with caching in USB flash disks - get yourself a USB2 memory stick and turn it on. The stuff is so cheap these days that you might as well buy a large fast ReadyBoost stick, but you'll probably get a lot of payoff even from adding small drives - 8GB is now $20-40, and 32GB is ~$60-120 depending on how extreme you want to get.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  73. If you are concerned about this by Anonymous Coward · · Score: 0

    Then just create a RAM drive and check out the code into that cache when you want to work on it. I use tmpfs and put the cache for my firefox browser into /tmp on my Eee 4G for that very reason.

  74. Flash is so cheap you Just Don't Care\(tm by billstewart · · Score: 1

    Yeah, you might get faster performance if you spend twice as much money to get SLC instead of MLC, and you may want to do that, but as far as write counts go, the stuff is so cheap you Just Don't Care\(tm. Suppose a $20 8GB USB stick burns out in a year - you've wasted more money than that reading this Slashdot discussion, and if it saves you a few hours a month you win, and when it's burned out you'll have to spend $10 replacing it with 16-32GB.

    If you're doing something like Vista ReadyBoost, a $10 couple of gigabytes will let Vista do some decent caching, plus it'll cache your development tools and frequently used files (in case RAM wasn't doing that adequately) on one non-rotating spindle so the rotating disk can spend all its time supporting the files that are actually changing and therefore spend a lot less seek time.

    If you're using Linux, you could use it for /tmp (if you're not using /tmpfs) or if it's fast enough flash you could probably even get away with using it for swap, or there's probably some appropriate fancy union filesystem thing you can do which will let you keep the more frequently used bits of your environment on flash and the less-used bits on rotating disk.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  75. Use a RAM Disk - You dont need SSD by Anonymous Coward · · Score: 0

    Duhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh.

    Look, it's time to start filtering stupid question from /. or I'm going to unbookmark it.

  76. Dear /. Admins by koutbo6 · · Score: 0, Offtopic

    I find the contributions of Anonymous Coward to be most valuable. I can't imagine that anyone exists who thinks otherwise.
    It will be a big lose to /. and certainly to all its users if he were to unbookmark /.
    I for one will unbookmark /. as well should Anonymous Coward disappear, as will probably half the /. population.

    Best Regards,

    A very concerned /. user

    ps: Power Point is hard, Let's use notepad

    --
    You speak London? I speak London very best.
  77. Yes by lnxpilot · · Score: 2, Interesting

    I've been using a Patriot Warp V2 64GB SSD for a relatively large project (~400k lines of C code).
    The "write stutter" is a bit annoying, especially when I do a full "make clean", but it's not too bad.

  78. practical answer by Anonymous Coward · · Score: 1, Informative

    with high read/write rates (speed and cycles) you need an SLC type SSD, avoid the MLCs for enterprise purposes as they are not as reliable by design, though many now have ECC features built in..

    you will pay a premium for the SLC drives.

    Some of the other options offered are very viable ways to do what you are trying for, most notably the ramdrive option, if storage volatility is not a problem.
    If it is, then (money no object) i'd go with a SATA SLC-SSD RAID5 array..
    or in the same vein but cheaping out, just a SATA SLC-SSD

    the following site has a ton of good comparison info of different SSDs and their speeds

    http://www.storagesearch.com/ssd-buyers-guide.html

  79. Experience using DOM by gdshaw · · Score: 1

    I tried this about a year ago with a mid-range disc-on-module device. For most purposes it worked well, and I use DOM in several of my servers now, but not in what was then my development machine. Subversion was one of the reasons - it was slower by more than a factor of two - but I could probably have lived with that. Much more serious was the effect on build times, which was not as large but happens much more often. Extrapolating from my results I suspect that the Intel X25-M or similar would probably be OK, in the sense of not being worse than a conventional hard drive, but I've not tested it yet.

  80. no problems at all by Anonymous Coward · · Score: 0

    I use MLC SSDs for development for a long time now, and I have no hard disks at all. I am very happy and I have had no problems. I also prefer MLCs over SLCs because I prefer to replace them and upgrade often than to keep an SSD for too long.

  81. Not sure if you've gotten an answer yet... by mybrainrunslinux · · Score: 1

    I've seen many people offering their experience, which is good, but this is spinning off into a variety of arguments. As far as I can understand, the original question was: Are SSDs suitable for development?

    I would say the most important thing to remember in this case is: you get what you pay for. And in this case, the cost-benefit analysis may not be worth it over, say a regular 10k or 15k rpm disk (or array), or perhaps a nifty "hybrid SSD" like the one in the MSI netbook? It's (usually) a 2.5" SATA disk with a smaller SSD "buffer" - giving better IOPS with less of a price hike (and write issues).

    If you are ok with paying on the order of $600+ for a single drive, check out DRAM Flash technologies - doesn't get much faster than using memory as disk! But realistically, I'd say stick with fast (and cheap) regular disks for now - maybe store some frequently read, but not often edited files on a small test SSD to try it out first.

    And if you do decide to invest in some sort of SSD or hybrid, I would recommend going with one that uses either Samsung or Intel chips.

    --
    Please keep hands and feet inside the Internet at all times.
  82. Well, you won't be wearing the same 10-30%... by Anonymous Coward · · Score: 0

    Well, the important thing to know with this, you won't be wearing the same 10-30%. Even if you update the "same" files over and over, the wear-leveling will move those "same" blocks for that file each time you write them... you will still be wearing the SSD evenly, not wearing out some hot spot while the rest of the disk is pristine.

              Several times a day? That's nothing. Make sure you don't put (heavily-used) swap on there and I think it'll be hopelessly obsolete before it wears out.

  83. RAID your RAM disk with a loopback FS by tepples · · Score: 1

    Wouldn't [a ramdisk] give most of the same benefits, if the ramdisk is big enough to contain the files you use to compile?

    Sure it would, but then you'd have to copy over your files every time you boot up, and you wouldn't have the safety of persistence if the power goes out.

    Unless you create a RAID-1 with a RAM disk and a loopback file system. That would act like a big-ass dedicated disk cache as long as you can get all the reads to go to the RAM disk.

  84. Prefetch by tepples · · Score: 1

    you still have the problem of filling that cache... i.e., you still have to load the files from a hard drive at some point to even fill the cache.

    Cache designers call this situation a "compulsory miss", and the common workaround for compulsory misses is to hide them with prefetching. Have a background thread load all the files on which the current file depends.

  85. Short stroking by dave420 · · Score: 1

    Short stroking will help speed up development, and without the write cycle issues of flash. It's also much cheaper.

  86. Way to read FUD as the truth. by BitZtream · · Score: 1

    You realize that because the seek time on SSDs is the same regardless of the seek involved that fragmentation is not really an issue, right?

    Reading the block after the one you are currently reading takes the same amount of time as reading the first block on the disk followed by the last block on the disk.

    Fragmentation is irrelevant, and because it is irrelevant you can get by with wear leveling technologies that place data scattered all over the disk without worrying about its relationship to other data.

    Okay, so its a bit more complex than that, but the point is that regardless where the data is physically stored on the device, it gets returned at the same rate.

    Just think of an SSD as a slower and persistent form of RAM. Does your RAM getting 'fragmented' make your applications slower? No, at least not directly, it can make the allocator take a more time, but thats due to the allocator itself, not because it takes longer to read block 0 followed by block 25 than it does to read block 1 right after 0.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    1. Re:Way to read FUD as the truth. by BitZtream · · Score: 1

      Having just read the 'tests' that were done to conclude there was a performance problem I can safely say you need to be a little more conservative about where you get your information from.

      As much as I'm going to sound like an Intel sales man, their tests were flawed at best, in reality they were pretty much useless. Their fix indicates more ignorance on their part. They seemed to have missed about 30 years of hard disk development and understanding to know why their tests were flawed. As a general rule, it helps when your claiming the disk itself is the issue, that you not use a flawed filesystem on top of it and require all your rights to go through that filesystem. Once you add a filesystem that is suspectable to fragmentation and is infact known for needing to be defragged regularly by even the common user, it seems a little silly to talk about how performance declines over time based on the disk itself.

      If the filesystem itself can't keep the data groupped properly, then the disk can't fix it. The exact same slowdown they 'experienced' would occur on any disk because you can no longer send one command and get a 20meg block back for instance, you have to send thousands of commands to get tiny chunks back and then reassemble them. You've just introduced a ton of inefficiency due to just operational overhead on the ATA bus.

      Their 'low level format' option could also be accomplished by a nice cat /dev/zero > /dev/sdaWHATEVERYOURDRIVEIS

      If they were correct in their statements, you could likely fix the remaping table pretty easy with a dd if=/dev/sda0 of=/dev/sda0 bs=32M.

      This would be a little more complex on windows, but entirely doable.

      Bad tests don't make an actual problem :/

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager