Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Data Storage Intel Upgrades Hardware

Intel and Micron Unveil 128Gb NAND Chip 133

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.'"
This discussion has been archived. No new comments can be posted.

Intel and Micron Unveil 128Gb NAND Chip

Comments Filter:
  • by malakai ( 136531 ) on Wednesday December 07, 2011 @01:28PM (#38292662) Journal

    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 >

    • by ksd1337 ( 1029386 ) on Wednesday December 07, 2011 @01:34PM (#38292742)
      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.
      • Re: (Score:3, Informative)

        by AmiMoJo ( 196126 )

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

        • by A12m0v ( 1315511 )

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

      • Re: (Score:2, Interesting)

        by David_Hart ( 1184661 )

        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.

        Of course the biggest offender of relying on Moores Law is JAVA...

      • by timeOday ( 582209 ) on Wednesday December 07, 2011 @02:17PM (#38293218)
        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 [answers.com]) and was written in assembly language for speed. (I hope the connection there is not lost on anybody).
        • by billcopc ( 196330 ) <vrillco@yahoo.com> on Wednesday December 07, 2011 @03:17PM (#38293988) Homepage

          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.

          • 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?

            • 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.

            • Do you still use assembler as often as you did back then?

              There are still people coding video games for 8- and 16-bit platforms that don't lend themselves well to the abstractions of C. These platforms include retro consoles, Chinese SoCs, and Chinese SoCs compatible with retro consoles.

            • 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

          • 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.

            Speak for yourself.

            I started out writing programs in hexadecimal. Assembly language simply wasn't practical on the machines I was using.

            Then we got floppy disks...but I still did another four or five years of assembly language programming before I ever saw a compiler.

      • by blair1q ( 305137 ) on Wednesday December 07, 2011 @02:36PM (#38293450) Journal

        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.

      • by ArcherB ( 796902 ) on Wednesday December 07, 2011 @02:38PM (#38293482) Journal

        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.

        • It does not hurt the bottom line if a customer has to wait 1.5 seconds for program to launch or 3.

          What does hurt the bottom line is device makers who reject a slow-launching application from the device's official application repository because the repo curator feels slow-launching applications reflect poorly on the platform. In such a case, an application developer has to at least put up a splash screen while the program is launching.

        • That and not everyone can afford hot rods.

      • you know, if done correctly, as apple did it, "eye candy" can be quite efficient. Unless you like your video card sitting there, doing nothing, being /efficient/ (rolls eyes)

        • "eye candy" can be quite efficient. Unless you like your video card sitting there, doing nothing, being /efficient/ (rolls eyes)

          A line like "System requirements: Intel integrated graphics not supported" means lost sales unless an application is such a killer app that people will buy a new laptop just to get AMD or NV graphics.

          • but apple's implementation runs on that! and intel's offering is more powerful then what's in smartphones now anyway. (at least for the moment). What's your point?

      • by GreatBunzinni ( 642500 ) on Wednesday December 07, 2011 @03:27PM (#38294134)

        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.

        • Yeah, I guess it is pretty naive. I'm just tired of new versions of software running slower and slower on my older hardware. (Web browsers especially. And operating systems.)
        • by Kjella ( 173770 )

          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

      • by Belial6 ( 794905 )
        Writing inefficient bloated code more often than not has nothing to do with being lazy. It frequently has to do with looking at the big picture. Spending $100k in developer time to optimize code that could run unoptimized on $100 worth of extra hardware isn't being industrious. It is wasting resources.

        There are plenty of places that optimization makes sense, but more often than not, ease of future maintenance should be much higher on the list of priorities.
        • Spending $100k in developer time to optimize code that could run unoptimized on $100 worth of extra hardware isn't being industrious. It is wasting resources.

          Not if at least 1,000 copies of the software will be sold.

          • by Calos ( 2281322 )

            Yeah, but the you're wasting the consumer's resources, not yours. In other words, profit! :)

            • by tepples ( 727027 )
              Not if the consumer ends up choosing the product of another company that respects the consumer's resources.
              • by Belial6 ( 794905 )
                It is true that consumers might choose a competitor if your software runs too slow. They might also not see any difference in speed because their equipment is fast enough that your software runs faster than they use it. Then when you add the extra cost of optimization, and the delay to market, you can just as easily find the consumer choosing the product of another company BECAUSE you decided to optimize your code.
          • by Belial6 ( 794905 )
            Most software written isn't sold. It is customer written for a single company. Your comment doesn't even work when the software is sold to the public. If the same decision is made by 1000 different software companies since the extra $100 that each customer pays will allow every software development company to save on developer cost for optimization.

            Software sold to the public is not a one to many relationship. It is a many to many relationship.
        • Indeed, as Carmack said in an interview once, more important than computer hours these days are programmer hours. He's rather use super high-powered CPUs rather than fiddle around with less costly GPGPU implementations simply because of developer time constraints.

      • Lazy programmers aren't writing efficient code, they're just relying on Moore's Law to push them through.

        Wrong.

        It's not about lazy programmers, it's all about calculating managers.

        To cite one of my managers during a project review:
        Next time you're not going to perfect our code like you did on this project. If we measure software quality on an A to F scale, and if our client is satisfied with quality level C, then stop improving your code once you hit that C level. Going for the A will only increase project cost, but not our revenues..

        • if our client is satisfied with quality level C, then stop improving your code once you hit that C level.

          Comeback: "We have another possible client that wants B." Or "We have a competitor offering B."

          (Not that B [wikia.com], or that /b/ either [wikipedia.org].)

          • Nope.

            Fixed price contract for custom software - so no competitors for that project, and no other clients for that piece of software.

            A better argument would be: Delivering a B would hurt our long term reputation.
            Works only with managers who think long term (next project and beyond), not short term (next bonus).

            It all comes down to managing your manager - this can be much harder than writing level A code :-) .

            • Of course if you volunteered to pay for the increased project costs out of your own wallet, maybe you would have a case. But since you have already been told it won't increase your revenue, much less your profit, I don't see anyone going for that deal. So why should your boss? There is a reason you trained as a programmer and not as a manager/businessman. Get back inside the box.
    • 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.

    • So? Who cares how inefficient an app is, as long as it works? If better hardware, instead of better software, makes the switch from 10 seconds of swapping to just 1, the problem is solved.

      Sorry, this is my knee-jerk reaction to rants... :P

      • You are absolutely right... on the desktop. On laptops/tablets/phones you have the battery to contend with. Most of the time when I notice my battery bar go down really fast on my laptop it is some stupid flash thing hogging the CPU in an open web page. Sometimes it is some other poorly written application running wild. I can close it, but by then I've already lost time.

      • Who cares? It might be a truism, but the people who care, care. As a programmer, there's a balance between maintainability, performance, and ease of development that I care deeply about. I'm proud of my work and I'm not willing to slap something together with no regard for efficiency or longevity.

        If I were making a game, I would probably be willing to sacrifice some ease of development for the sake of better efficiency. If I were making a prototype to demo UI concepts, ease of development might be paramount

      • by geekoid ( 135745 )

        People who like efficiency care. People who understand a computer has many apps working alongside and with each other care.
        Efficient saves money in the long run.

        You're attitude is why the industry is a shithole compared to other engineering disciplines.

        Sorry, this is my knee Jerk rant to small minded, unthinking responses.

        • Ha! My reaction is opposition, not really debate ;) . Most rants are overreactions, so I don't take them seriously.

          Of course I care about efficiency, and I can tell a software patch that brings O(n) to O(sqrt(n)) is instantaneously better and cheaper than spending extra bucks in chips and power.

          My point still applies, though: adding horsepower to your machine can be a faster solution than optimizing your code, if you have the resources available and need a solution *today*. I did it one or two times, when I

        • Agreed. It is even more frustrating when you know how little effort would be required to drastically improve performance in many of these apps.

          There's one app I love to pick on, because it is legendary in its inefficiencies, and that is Cubase - the multitrack audio production tool. Just to launch it on this $10k PC takes about 15 seconds, because it looks through a few directories for a number of plugins, does god-knows-what with each of them, and eventually presents a blank workspace for me to actually

      • by Nethemas the Great ( 909900 ) on Wednesday December 07, 2011 @02:46PM (#38293632)

        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.

      • It's not though, because were that software properly written in the first place, we would already be at the 1 second swap on the "old" hardware, and the SSD would make it 1/10th of a second. If all these dramatic improvements in hardware performance are met with equal regressions in the software, then why the heck are we upgrading in the first place ?

        Does Firefox need 10 seconds and 400mb of Ram just to launch ? Yes, it does, but according to the functionality it provides, this should be possible with les

      • by Belial6 ( 794905 )
        Don't say sorry. Your right. Spending $100k on code optimization to avoid spending an extra $100 on hardware makes no sense at all. Code optimization makes sense if $1000 worth of development time will save $10000 in new hardware, sure. But using the sky rocketing of hardware speed and plummeting of hardware prices to avoid large amounts of development cost is certainly a valid path.
    • 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.

      • by tepples ( 727027 )
        CDs, DVDs, and BDs need even more such contortion. And until high-speed Internet reaches rural areas of the United States, distributing really big applications on optical disc isn't going anywhere soon..
    • 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.
      • by geekoid ( 135745 )

        "Is that bad?"
        Yes.

        The fact that people in the software industry think bloat security and usability are separate independent things and not related is a horrible thinking. People keep doing designed like they aren't related to each other. This i sloppy engineering.

    • by Kjella ( 173770 )

      On the other end of the scale you have this [thedailywtf.com]. Why solve a problem the really, really hard way?

      • If it's a one-off, and the upgrade route actually does only cost $50 for more memory, yeah, sure, add the Ram. The problem with the Wilhelm anecdote is that nobody sane would have overlooked that simple detail, unless it's one really stupid dead-dumb-and-blind company.

        If your software is being deployed to thousands of machines, which would each require an upgrade, you'd better optimize the crap out of it.

        If your software is being deployed to a group of servers, where an 8% reduction in CPU and memory usage

      • I can think of a few cases where "pick up another 2GB of memory for fifty, sixty bucks and install that in the server" wouldn't solve everything:
        • If the application you maintain is distributed to the public, or if you have it running on a big server farm, multiply $50 by the number of installations, as billcopc mentioned.
        • Some servers may have all RAM slots filled already, or they may be leased from a hosting provider that doesn't allow RAM upgrades except at a contract renewal.
        • So long as maintainability is
    • by ccguy ( 1116865 )

      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 th

      • 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?" ?

        Sometimes, yes. There's one game in particular, that I play a fair bit. It has roughly Xbox (1) era graphics, yet manages to stutter on my balls-to-the-wall quad-SLI GTX 295 system. Even just one of those GPUs should be able to run the stupid game at 300 fps, but the engine is such a mess that it somehow wastes all that time doing nothing useful. I'm also going to mention that the entire game is only 2.5 gigabytes, yet takes about a minute to load one level. With my absurd hardware, I can copy the enti

    • 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.

      By any chance do those companies also sell the hardware where their software is supposed to run at peak efficiency? And do those companies also sell support contracts to maintain and tweak those systems? Because if they do then I bet dollars to doughnuts that their main motivation isn't technical perfection but the maximization of their company's bottom line.

    • This is what I thought when I bought a Mac, not long ago. My initial impression was that this overpowered laptop was running a lot slower than it should. I don't know what OSX does under the hood, but goddamn that thing was slow. Then I threw one of those hybrid drives at it, with the 4GB of SSD cache, and now it feels "normal". Maybe it's because I'm spoiled by the truly ridiculous SSDs in my PC, or maybe Mac users are accustomed to things being a bit laggy, but to me it screamed of excess background I

    • Even though it sounds like "market speak," there are lots of hard problems out their that require efficient code skill (DNA sequencing/analysis, anyone?). Your efficient coding will just shine that much more now.
    • How do you know those are bad applications? Is optimizing for rotational media really the measure of a well-written program? What about programs that run well on spinning disks, but destroy SSDs? What about when SSDs are our primary storage medium, or arrays of squid with eidetic memories and pizeoelectric tentacles? Should every program be optimized for rotational media, SSDs, and EMPTS? Or is rotational media the end-all-be-all of a program's optimal storage environment?

  • by Anonymous Coward on Wednesday December 07, 2011 @03:01PM (#38293808)

    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?

    • by tlhIngan ( 30335 )

      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 s

    • by Xygon ( 578778 ) on Wednesday December 07, 2011 @03:30PM (#38294180)
      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.

Math is like love -- a simple idea but it can get complicated. -- R. Drabek

Working...