Slashdot Mirror


Intel and Micron Unveil 128Gb NAND Chip

ScuttleMonkey writes "A joint venture between Intel and Micron has given rise to a new 128 Gigabit die. While production wont start until next year, this little beauty sets new bars for capacity, speed, and endurance. 'Die shrinks also tend to reduce endurance, with old 65nm MLC flash being rated at 5,000-10,000 erase cycles, but that number dropping to 3,000-5,000 for 25nm MLC flash. However, IMFT is claiming that the shrink to 20nm has not caused any corresponding reduction in endurance. Its 20nm flash uses a Hi-K/metal gate design which allows it to make transistors that are smaller but no less robust. IMFT is claiming that this use of Hi-K/metal gate is a first for NAND flash production.'"

29 of 133 comments (clear)

  1. Get ready for a new wave of poorly coded software by malakai · · Score: 4, Insightful

    I love SSDs, especially for development work. Nothing like having a dev VM per client each on their own little SSD isolated from your non-work related default operating system. But SSD's are dangerous...

    SSD's are like crack to bad applications. The magically make them feel better, while masking the underlying problem. I'm worried what the future is going to hold when the average desktop comes with an SSD drive. Already I've already seem some development companies demo financial software on striped SSD's as if that's what everyone runs these days. I guess it's no difference then an abundance of RAM and an abundance of CPU power. < Insert in my day rant here >

  2. Re:Get ready for a new wave of poorly coded softwa by ksd1337 · · Score: 5, Insightful

    Well, that's the problem, isn't it? Lazy programmers aren't writing efficient code, they're just relying on Moore's Law to push them through. Of course, I don't think the average consumers understand much about efficiency, seeing as eyecandy is so popular, even a selling point.

  3. Re:Get ready for a new wave of poorly coded softwa by ByOhTek · · Score: 2

    I'm worried what the future is going to hold when the average desktop comes with an SSD drive.

    Same thing that has happened with every change that has provided a significant performance improvement with a given resource...

    Applications that have a little more functionality, and lot more waste.

    --
    Self proclaimed typo king, and inventor of the bear destroying coffee table (patent not pending).
  4. Re:Get ready for a new wave of poorly coded softwa by Unknown+Lamer · · Score: 2

    It could be argued that the problem lies with hard disks and not the applications. SSDs are nice because you aren't forced to artificially contort data access to fit the slow-seek/fast-linear-throughput model of magnetic hard disks. Removing an arbitrary restriction on program style is a good thing.

    --

    HAL 7000, fewer features than the HAL 9000, but just as homicidal!
  5. Re:Blah, Blah by Microlith · · Score: 2

    They're available. They just cost significantly more and are way lower density. Search the Micron P300/P320.

  6. Re:Get ready for a new wave of poorly coded softwa by Charliemopps · · Score: 2

    This is nothing new. There was a time that I vividly remember in which memory cost over $200 a meg (and it cost even more before that.) A single line of redundant code was considered a sin. The price of memory and hard drive space came down and now software is more bloated as programmers focus on other things like security and usability. Is that bad? Yes and no. Like all things, the effect of an improvement in something is many fold. There are positives and negatives... we just hope it's mostly positive.

  7. Re:Get ready for a new wave of poorly coded softwa by malakai · · Score: 4, Interesting

    This isn't about storage size. That war is lost for the desktop ( see Bloatware ). If it wasn't for smart phones and tablets cause people to still think about storage size for some applications, it would be even worse.

    When we talk about SSD drives vs HDD drives, were are primarily talking about drive bandwidth and access times. SSD's have no seek time, no spin up time, and their bandwidth in read/writes are at least 2x as fast, and can be up to 4x or 5x as fast.

    Think of the engineering and time that goes into making an application 'snappy' to load. Like say Chrome or Word or Photoshop. Now weight that engineering cost vs simply installing an SSD. Now you see how this is going to affect future software development.

    But GP ( or uncle, or 2nd cousin) is right, this is a Rant. Each of these Moore's law watermarks tend to have similar effects on software development. I think bleeding edge apps ( including games ) generally herald what is to come....

    Buy stock in SSD manuf I guess.

  8. Re:Get ready for a new wave of poorly coded softwa by AmiMoJo · · Score: 2, Informative

    Not all programmers are doing that. Android and Windows have both been getting faster on the same hardware.

    --
    const int one = 65536; (Silvermoon, Texture.cs)
    SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
  9. Re:Get ready for a new wave of poorly coded softwa by Anonymous Coward · · Score: 3, Informative
    No, it couldn't. Most drives - even those with bad write lifetimes - could be continually overwritten for a period of many years before needing to be replaced. Reference: http://www.storagesearch.com/ssdmyths-endurance.html

    As a sanity check - I found some data from Mtron (one of the few SSD oems who do quote endurance in a way that non specialists can understand). In the data sheet for their 32G product - which incidentally has 5 million cycles write endurance - they quote the write endurance for the disk as "greater than 85 years assuming 100G / day erase/write cycles" - which involves overwriting the disk 3 times a day.

    That's for old-ish tech and a smallish drive. For consumers, large drives get written to exponentially less. Consider, the vast bulk of consumer "big" drives are and movies. These are big, chunky files that don't get overwritten very much. As a consequence the vast majority of your drive stays clean. For most people, they'll want or need to buy a new hard drive long before the old one wears out. Please read up on the facts before spouting nonsense.

  10. Re:Get ready for a new wave of poorly coded softwa by ccguy · · Score: 2

    Already I've already seem some development companies demo financial software on striped SSD's as if that's what everyone runs these days.

    I think it's a fair assumption if you are selling financial software to a financial company that they will buy a SSD if that's a requirement. Just because developers aren't optimizing for a small footprint these days it doesn't mean there's no optimization being done. It just means that they optimize for something else (development cost, feature set, or whatever their business plan says is most important).

    By the way when you see a computer game demo these days, do you think "These guys are on crack if they think everyone's got one of those cards?", or "With these recommended specs what is this written in, VisualBasic?" ?

  11. Re:Get ready for a new wave of poorly coded softwa by Microlith · · Score: 2

    I haven't had a desktop system with only 256MB of RAM in 10 years. Even my Athlon 64 system had 1GB to start. Sounds like you were being punished or something.

  12. Re:Get ready for a new wave of poorly coded softwa by timeOday · · Score: 4, Insightful

    This moralistic spin ("lazy" programmers) is absurd. The tradeoff between development cost and hardware requirements is obviously affected by cheaper yet higher-spec hardware. If you want to run WordPerfect for DOS at insane speeds on modern hardware, go right ahead. That piece of that software cost $495 in 1983 (cite) and was written in assembly language for speed. (I hope the connection there is not lost on anybody).

  13. Re:Get ready for a new wave of poorly coded softwa by blair1q · · Score: 3, Insightful

    They aren't lazy, they're productive, and taking advantage of the resources available.

    When they're tired of putting the first-to-market markup and the bleeding-edge markup in their bank accounts, then they'll address reports of sluggishness or resource starvation in less-profitable market segments.

    Right now, though, the fruit that are hanging low are fat and ripe and still fit in their basket.

  14. Re:Get ready for a new wave of poorly coded softwa by ArcherB · · Score: 3, Insightful

    Well, that's the problem, isn't it? Lazy programmers aren't writing efficient code, they're just relying on Moore's Law to push them through. Of course, I don't think the average consumers understand much about efficiency, seeing as eyecandy is so popular, even a selling point.

    Most of the programmers I know don't care about timelines, eyecandy, popularity or selling points. These guys are computer nerds. Just as car nerds want their hot rods to purr when idle and roar when pushed, most programmers want their code to run fast, efficient and clean. The problem is that programmers are under thumb of timelines and feature bloat put on them by management and sales.

      This is not necessarily a bad thing as if it were not for deadlines, no programs would ever be finished. Yes, code is more inefficient, but that is only because the hardware has allowed it to be. It does not hurt the bottom line if a customer has to wait 1.5 seconds for program to launch or 3. The bottom line is what management cares about, and to be fair, it is what drives business and keeps Red Bull stocked in the break room fridge.

    --
    There is no "I disagree" mod for a reason. Flamebait, Troll, and Overrated are not substitutes.
  15. Re:Get ready for a new wave of poorly coded softwa by Nethemas+the+Great · · Score: 3, Insightful

    I understand what you're saying but at the same time software that wastes compute resources is also wasting dollars. Dollars needlessly spend on employee hours (waiting for operations to complete), new/upgraded hardware to cope, and one that many people might not realize extra software development, maintenance and support costs. Inefficient software quite often reflects a poor implementation under the hood and frequently behind the wheel. One thing nearly every engineering discipline recognizes is that the fewer moving parts a system has the inherently more reliable and maintainable that system becomes. This is no different with software. Software bloat is the bane of those trying to implement features to support new requirements and a nightmare for those trying to ensure quality control. Software bloat often shows up in the user interface as well in poorly implemented workflows that further slow down productivity.

    Contrary to popular opinion, fancy GUIs replete with eye-candy generally aren't the problem--normally they're built on top of highly abstracted, well optimized and tested frameworks--it's evolution. One of the more common sources of inefficiency is software bloat. Bloat can even plague software that was initially well constructed. Over time, after several iterations of evolution the feature requests, the various modifications and the resulting baggage train required to support them can grow substantially and weigh down a system. It isn't that the bloat is a requirement of a given feature set per-se but rather reflects a set of compromises made necessary by an initial architecture that wasn't designed to support them. Management and even sometimes the engineers have a hard time accepting that a significant or even complete tear down and reconstruction with a new architecture is the best and most appropriate choice. One of the easiest and most notable places this problem can be recognized is in web browsers. Take a trip down memory lane and compare the features, bloat, and usability of the various web browser throughout time.

    --
    Two of my imaginary friends reproduced once ... with negative results.
  16. Re:Get ready for a new wave of poorly coded softwa by Tanktalus · · Score: 2

    I'm not sure that these "large files" prove what you think it does. Then again, I'm not entirely confident that the opposite is true, either. Even if it doesn't prove what you think it does, I think your point still largely stands.

    Let's say I have a 32G SSD device. If I put some movies on here, I'm left with, say, 16G, of "active" disk space usage. If I then go and use what's left very actively, the write endurance for that section falls given the same usage patterns. For example, at 100GB/day erase/write cycles, I've cut it down to ~43 years. If I can interleave the deletion/replacement of the movies into the mix, then I should trend back up to around 85 years, but I don't think that the life span will be extended beyond that, again, assuming constant usage.

    Where your point largely still stands is how much less than 100GB/day a consumer will use their disk. By storing 16G of movies/music and only going through 50GB of erase/write cycles, we get back up to 85 years. And both of these numbers are still way too high for consumer usage - 3GB/day might be stretching it as an average for consumers.

  17. A question about flash and SSDs by Anonymous Coward · · Score: 3, Interesting

    A lot of the tablets, etc. are coming out with eMMC type flash instead of raw flash for internal nonvolatile memory. How come?

    I would think eMMC would be more expensive (has built-in controller) than raw flash chips. And slower, too, because eMMC has no concept of file-systems and therefore cannot do optimal space selection or wear-levelling. I'm sure the teeny, tiny controller in the eMMC does the best that it can, but I'm also sure that JFFS2 and YAFFS manage flash chips a lot better. The only savings I see are is that the device manufacturer has to layout and route a fewer traces on a circuit board when using eMMC.

    Does anyone really know why eMMC is being used?

    1. Re:A question about flash and SSDs by Xygon · · Score: 5, Informative

      Speaking as someone in the NAND industry...

      NAND does not have its own reliability controls on-die. Items such as wear-leveling, file management, and ECC mechanisms need to be handled somewhere. So the options are in software, which would then need to be validated and designed for each NAND manufacturer, die, and process; and would consume CPU and batter power from the tablet OS, or it can be done via a separate off-die controller.

      And as to the choice of eMMC, it's a cost/performance/reliability trade-off. eMMC is relatively inexpensive (very small die), and includes all of the aforementioned reliability mechanisms at a low-power, and low-cost method, in an I/O language supported by most mobile architectures (SD/MMC). However, it severely lacks in relative performance to an SSD. The other option is an optimized SSD controller, which may cost many times more, but has much higher performance. The problem is how to include a $100 SSD in a $100-200 tablet BOM... impossible.

  18. Re:Get ready for a new wave of poorly coded softwa by billcopc · · Score: 4, Insightful

    There are some of us who are quite proficient with assembly language. We also had some very sloppy compilers back then, so the two went hand-in-hand.

    Back then, I would build a first prototype in straight C (or whatever), then identify the bottlenecks and rewrite those functions in assembly. Heck, in school I wrote a few QBasic games/apps that linked in some assembly calls. Sometimes I'd get cocky and copy the assembled code directly into a QBasic variable, then execute it. For common stuff like blits and mouse calls, I could type those opcodes from memory. You wouldn't think a QB game could handle 3D graphics as 320x200 on a 386, with sound effects and digital (MOD) music, but with a modest application of hand-tuned code, you can write the script-like glue in whatever language you want with only a minimal impact on final performance.

    I'm not saying we need to write all apps in raw assembly, that's absurd. We rarely did that back in the day, except for extreme situations and bragging rights. Today's compilers seem to do a good-enough job, but the faster they get, the more our so-called developers push into truly wasteful practices like nested script interpreters - most PHP and Ruby frameworks fall into that category. Do we really need 16-core machines with 48gb of Ram to push a few pages of text ? Not if we were writing actual computer code, and not this navel-gazing techno poetry that's more for humans than machines.

    --
    -Billco, Fnarg.com
  19. Re:Get ready for a new wave of poorly coded softwa by KingMotley · · Score: 4, Interesting

    Not exactly. The older SSDs didn't do write leveling. Also, most OSs don't force a write to disk when a single byte in a sector changes (perhaps it does on linux, I don't know). Most SSDs also have write caching today so even if the OS was silly enough to request a write to disk, it would quickly get invalidated by the next request to write to the same sector before it even hit the flash portion of the SSD.

    Lastly, even if you disregard all of that, then you also must realize that you don't need to do an erase if all the changes you are making are turning bits on. In that case, you just do a write instead of erase and write, and that doesn't wear out the SSD at all (I believe).

    Also, there is nothing keeping the SSD from periodically moving data with low write counts to the high write count portions of the disk in the background in hopes that the semi-static data will remain semi-static.

  20. Re:Get ready for a new wave of poorly coded softwa by GreatBunzinni · · Score: 3, Insightful

    Well, that's the problem, isn't it? Lazy programmers aren't writing efficient code, they're just relying on Moore's Law to push them through. Of course, I don't think the average consumers understand much about efficiency, seeing as eyecandy is so popular, even a selling point.

    Your comment is either naive or disingenuous. There are plenty of reasons that lead a specific software to do a good job under a specific scenario but do poorly under another which is completely different, and all this without incompetence being a factor. Let me explain.

    Consider one of the most basic subjects which is taught right at the start of any programming 101 course: writing data to a file. For that task, a programmer relies on standard interfaces, either de-facto standards such as platform-specific interfaces or those defined in international standards such as POSIX. This means that a programmer tends to not be aware of any specification regarding the file system or even the underlying hardware when developing a routine that dumps data to a file. Basically, what tends to be taught is to open a file, write to it and then close it. This tends to be acceptable in most scenarios, but this is a dangerous thing to do. After all, just because some data is written to a file it doesn't mean the data is immediately written to that file. The underlying platform may rely on IO buffers to be able to run things with a bit more efficiency. This means that even though your call to write() does succeed, and even though your program can successfully read your data back, that data isn't in fact stored in your file system. This means that if your program is killed/crashed or if your computer dies then you risk losing your data and corrupting the file. If this happens, does it mean that the programmer is incompetent?

    This problem can be mitigated by flushing the data to a file. Yet, calling flush() doesn't guarantee that every single bit of your data will be successfully stored in your file system. The thing is, this only guarantees that, when flush() returns, the data is flushed. If the system dies while your program is still writing away your data then you quite possibly lose all your data, and no call to flush() can save you from that. If this happens, does it mean that the programmer is incompetent?

    Some clever people took a bit of time to think about this, and came up with some techniques which avoided any the risk of corrupting your data. One of the techniques is to dump the data to temporary files and then, after they succeed in saving the data, the old file is deleted/renamed to a backup file name and the newly created temporary file is renamed back to the original name. With this technique, even if the system dies then the only file which might have been corrupted is the newly created temporary file, while the original file is kept in its original state. With this approach, the programmer guarantees that the user's data is preserved. Yet, this also has the nasty consequence of storing what's essentially the same file in entirely different inodes. This screws with a lot of stuff. For example, it renders hard links useless and screws around with the way versioning file systems work. If this happens, does it mean that the programmer is incompetent?

    So, no. This hasn't anything to do with what you arrogantly referred to as "lazy programmers" or even incompetence. Times change, technical requirements change, hardware requirements change, systems change.... And you expect that the software someone designed a couple of years ago will run flawlessly and avoid each and every issue which are only being discovered today and might only be discovered tomorrow. How can programmers avoid these issues, if they don't even have a working crystal ball? This isn't realistic, and you can only make such claims by being completely clueless and out of touch with reality. So, please tone down your arrogance and spend a moment thinking about this issue.

    --
    Slashdot, fix your code or at least hire someone who is competent at it to do it for you.
  21. Re:Get ready for a new wave of poorly coded softwa by billcopc · · Score: 3, Informative

    If you have 12GB in your PC, and you're using it normally, you can disable swap entirely. Sure, your commit rate will jump a bit, but you still have several times more Ram than you need. Swap space has a usefulness even when you have memory available, because a properly tuned VMM will treat it as low-priority commit fodder - meaning if an app requests 10 gigs of buffer space, but has not yet put anything in there, the VMM will earmark swap first, so as to not tie up physical RAM until it is actually needed (if at all). In a sense, it's an accounting trick that allows the OS to "borrow" memory without necessarily using it. It's like a line of credit for memory; you're best to avoid using it, but if you need a security deposit for something, that mastercard is ideal. Swap is like that mastercard. It can help swing you through tight spots, but if you abuse it, you enter a world of pain...

    --
    -Billco, Fnarg.com
  22. Re:Get ready for a new wave of poorly coded softwa by Neon+Spiral+Injector · · Score: 4, Funny

    Yeah, Java 1.2 ran like crap on my 133 MHz 5x68 with 16 MB of RAM in 1998, but today's Java isn't too bad on my dual Six Core CPUs with 32 GB of RAM.

  23. Re:Get ready for a new wave of poorly coded softwa by Joce640k · · Score: 2

    In light of the grandparent, my questions for you are:

    1) Do you still use assembler as often as you did back then?
    2) If not, is it because you weren't "lazy" then but now are?

    No, it's because I write much larger programs.

    The amount of time/effort needed to write assembly language programs grows exponentially as they grow larger. It's simply not worth it to gain a few percent of speed compared to a good compiler.

    Much better to learn to disassemble critical code every now and again and learn what makes your compiler happy.

    --
    No sig today...
  24. Re:Get ready for a new wave of poorly coded softwa by A12m0v · · Score: 2

    So does iOS and so does most browsers. Usually the main offenders are application software developers and not system software developers.

    --
    GENERATION 25: The first time you see this, copy it into your sig on any forum and add 1 to the generation.
  25. Re:Get ready for a new wave of poorly coded softwa by Rockoon · · Score: 5, Informative

    Except with SSD write lifetimes falling with every generation

    Except this isnt true. Flash lifetimes are dropping due to process shrinks, but SSD lifetimes are remaining steady due to increasing capacity made possible by those process shrinks.

    This is the problem with you SSD critics. You get that one nugget of information and then gleefully go on spitting bullshit at everyone on forums like this one. To be quite clear, YOU DO NOT KNOW WHAT YOU ARE TALKING ABOUT.

    Why do you volunteer to talk about a subject that we both know that you are poorly informed about? You dont see me talking about JAVA performance because... guess what... even though I know a couple things about JAVA, I refuse to make declarative statements about topics where I know that I only know a couple of things about.

    If you are an expert in something... wait for that topic before you act like an expert.

    --
    "His name was James Damore."
  26. Re:Get ready for a new wave of poorly coded softwa by billcopc · · Score: 2

    I occasionally do use assembly, but not for the entire program. I just apply it sparingly where it yields the greatest benefits. Most C compilers have gotten quite good at automatic optimization, but there are some scenarios where a bit of hand-tuning still helps.

    I kind of got into a pro-assembly rant there, but what I meant to say is that assembly was a tool, to be used where appropriate. The only times I wrote software in pure assembly were when I had nothing but DEBUG.COM, or if I was participating in a 256 or 4096-byte competition (for kicks). Today, we write lots of software using scripting languages and bloated frameworks, so the proper approach now might be to rewrite the most-used functions as C code and link that in as an external plugin. Just look at Facebook, they have that HipHop tool that translates PHP to C++ and compiles it. I think that's a perfectly valid approach, as it lets the developer continue using the relatively easy PHP (with some restrictions), then turns it into native x64 code that can really scream. Any time you can avoid an interpreter, you'll see significant performance leaps.

    My point is we should be using all this computing power to help us write better software more quickly, by making use of code generators and optimizing compilers. The manufacturing industry makes extensive use of robotics, where one tool helps to create the next progressive iteration of that tool. We should apply that same methodology to software. Use current tools to make the next generation of tools better/faster/easier.

    --
    -Billco, Fnarg.com
  27. Re:Get ready for a new wave of poorly coded softwa by Kjella · · Score: 2

    Some clever people took a bit of time to think about this, and came up with some techniques which avoided any the risk of corrupting your data. One of the techniques is to dump the data to temporary files and then, after they succeed in saving the data, the old file is deleted/renamed to a backup file name and the newly created temporary file is renamed back to the original name. With this technique, even if the system dies then the only file which might have been corrupted is the newly created temporary file, while the original file is kept in its original state. With this approach, the programmer guarantees that the user's data is preserved.

    Actually, you don't - this is what caused massive data corruption under the development of ext4. Write to temp file, rename over, crash, boom 0 byte file. There's no guarantee in POSIX that the data is written before the rename happens, even though this is a common technique and broke hundreds of applications. The "solution" was to call flush() before every rename(), which would put your application on hold until the file system returns every time. Eventually they realized everyone wasn't going to fix their application and implemented ordered mode like ext3 - if you rename it, the data is flushed before the rename. But that's not required behavior.

    --
    Live today, because you never know what tomorrow brings
  28. Re:Get ready for a new wave of poorly coded softwa by marcosdumay · · Score: 2

    And do you see no problem when you read that post and your previous one again?