or Connect
AppleInsider › Forums › Mobile › iPad › Inside Anobit: Why Apple is investing in flash RAM technology
New Posts  All Forums:Forum Nav:

Inside Anobit: Why Apple is investing in flash RAM technology

post #1 of 43
Thread Starter 
Apple's investments in acquiring flash memory expertise and technology appear to be centered around packing more storage capacity into Macs and iOS devices at lower prices, with the same level of component reliability and longevity.

This week, Apple was both reported to be close to acquiring flash memory chip designer Anobit and engaging in plans to set up a semiconductor development center in Israel, where Anobit is located.

Apple already uses Anobit components in is iOS devices and the MacBook Air. The firm's unique flash memory technology, dubbed MSP or "Memory Signal Processing," is designed to enhance the reliability, performance, efficiency and endurance of flash memory.

The pros and cons of flash memory

Unlike DRAM, which stores memory bits using the state of electrical capacitors which must be continuously refreshed with power, NAND flash memory stores bits using floating gate transistors, which do not need to be continually refreshed to maintain their state.

This makes flash memory more energy efficient during operation, and allows it to retain its information even after the device is shut down. The use of flash memory storage in iOS devices and the MacBook Air provides long term storage of software, documents, music and movies without needing a conventional magnetic hard drive for disk storage.



The use of flash storage not only makes these devices quick to boot up and launch apps, but also slimmer, more battery efficient and less fragile than compatible devices using a conventional hard drive for persistent storage. Particularly on iOS devices, the use of fast flash memory also limits the need for large amounts of DRAM, further increasing the devices' battery life.

On the flip side however, flash memory storage is more expensive compared to disk storage, as well as being less reliable and having a shorter life span. The individual cells of flash memory chips eventually wear out and stop working reliably, requiring specialized software to manage their use.

Strengthening flash memory

Earlier this year, Apple incorporated TRIM support in Mac OS X Lion. TRIM is an OS level software technology designed to manage the flakey, short lived nature of flash memory used in Solid State Drives like the MacBook Air's (pictured below).

Anobit's MSP technology attacks the same issues, but does so on firmware level, using sophisticated monitoring of flash memory cells to accurately determine if they are failing or no longer able to reliably store data. These technologies also enable flash memory to continue to function longer than previously possible by simply working around failures.

In addition to enabling flash memory to live longer, MSP also promises to make components faster; it enables data to be pushed to flash memory at speeds that generate more errors, but can then detect and correct the errors.



Cheaper SSDs and flash memory

A second primary benefit to the MSP technology is that it makes less expensive types of flash memory usable for a wider range of applications. Most flash memory used in high speed storage holds one bit per memory cell, known as SLC or "single level cell" memory.

A cheaper type of flash memory known as MLC or "multi level cell" can store two bits per memory cell, making it less expensive to manufacture because it has a higher memory density. A primary problem with MLC is that is more prone to error, requiring more sophisticated management to make it useful.

MSP promises to make cheaper MLC memory components as accurate over the same lifespan as conventional SLC, something that would dramatically change how much storage Apple could pack into its devices and computers at the same price. That would have a huge impact on Apple's ability to compete, as flash memory storage is a significant part of the bill of materials in the devices it builds.

NAND flash is the second most expensive component of the iPad (after the touchscreen display), according to iSuppli, accounting for around ten percent of its total component cost. For the MacBook Air, 64GB of SSD flash memory is similarly estimated to be its second most expensive component (again, after the screen) and roughly the same price as its Intel CPU at a similar 10 percent of the total materials cost.
post #2 of 43
Apple is diversifying its capability geographically and technologically, a smart move.
Where are we on the curve? We'll know once it goes asymptotic!
Reply
Where are we on the curve? We'll know once it goes asymptotic!
Reply
post #3 of 43
Thanks Dan.
I was wondering what this deal was about. Good explanation and good to know.
post #4 of 43
There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

RAM = Random Access Memory

The flash memory used in Apples devices is NOT random access. That is a significant error that is seen far to often on the net. Beyond that Flash is used as secondary storage in these machines. Real RAM is primary storage, directly addressable by the processor and is seldom used for secondary storage. Access to flash has more in common with accessing a disk drive than it does RAM.
post #5 of 43
Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

RAM = Random Access Memory

The flash memory used in Apples devices is NOT random access. That is a significant error that is seen far to often on the net. Beyond that Flash is used as secondary storage in these machines. Real RAM is primary storage, directly addressable by the processor and is seldom used for secondary storage. Access to flash has more in common with accessing a disk drive than it does RAM.

Yet I remember using RAM to create .... RAM disks. Virtual disks that acted like hard drives but were in fact in RAM. So isn't this all a bit esoteric?
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
Use duckduckgo.com with Safari, not Google Search
Been using Apples since 1978 and Macs since 1984
Long on AAPL so biased. Strong advocate for separation of technology and politics on AI.
Reply
post #6 of 43
Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!...

I've designed with Flash and completely overlooked the language that Dan used. \

However, perhaps unified memory isn't too far away - http://cacm.acm.org/news/104104-ncsu...evice/fulltext
Where are we on the curve? We'll know once it goes asymptotic!
Reply
Where are we on the curve? We'll know once it goes asymptotic!
Reply
post #7 of 43
Nice article. Good move by Apple.
post #8 of 43
There will be a law suit over this. I know, the article doesn't say anything about it but rest assured some company will find a way to sue Apple for the technological knowhow.
An Apple man since 1977
Reply
An Apple man since 1977
Reply
post #9 of 43
This is a good thing. As soon as they offer 512 Gig in a MB Air, I'm sold...
post #10 of 43
Quote:
Originally Posted by AppleInsider View Post

... to set up a semiconductor development center in Isreal ...

Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

oh, stop it. next thing we know you'll be wanting them to proof-read their own articles and check them for spelling and grammar.
post #11 of 43
I think it's great that apple is becoming more vertically integrated. I can definitely see how this fits into possible long-term plans. Flash-based hard drives, online app and music stores minimizing the need for optical drives, I definitely see Apple's computers getting much lighter and thinner in the next few years.

I do wonder though, if there is any kind of anti-trust, anti-competition issue that comes from being too vertically integrated. If Apple makes the best Flash memory hardware (theoretically) and uses everything it makes, that's one thing. Could Apple decline to sell it's hardware to competitors? Probably, but I'm not sure. If Apple does sell to competitors and it puts other Flash hardware makers out of business, would Apple end up with a legal obligation to keep selling its Flash hardware to competitors. It seems unlikely, but when corporations become too vertically integrated, weirds stuff starts to happen.
post #12 of 43
Quote:
Originally Posted by acrobratt View Post

I think it's great that apple is becoming more vertically integrated. I can definitely see how this fits into possible long-term plans. Flash-based hard drives, online app and music stores minimizing the need for optical drives, I definitely see Apple's computers getting much lighter and thinner in the next few years.

I do wonder though, if there is any kind of anti-trust, anti-competition issue that comes from being too vertically integrated. If Apple makes the best Flash memory hardware (theoretically) and uses everything it makes, that's one thing. Could Apple decline to sell it's hardware to competitors? Probably, but I'm not sure. If Apple does sell to competitors and it puts other Flash hardware makers out of business, would Apple end up with a legal obligation to keep selling its Flash hardware to competitors. It seems unlikely, but when corporations become too vertically integrated, weirds stuff starts to happen.

Apple doesn't sell its' hardware to competitors now.
Apple is never going to put the MANY other flash manufacturers out of business.
Artificial intelligence is no match for natural stupidity.

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Reply
Artificial intelligence is no match for natural stupidity.

"A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
Reply
post #13 of 43
On the other hand I work with technicians and engineers on a daily basis, by that standard Appleinsider does really well.

Quote:
Originally Posted by Pooch View Post

oh, stop it. next thing we know you'll be wanting them to proof-read their own articles and check them for spelling and grammar.
post #14 of 43
Quote:
Originally Posted by IQatEdo View Post

I've designed with Flash and completely overlooked the language that Dan used. \

It really bothers ne because every time something like that shows up in print a few more people get totally confused.
Quote:
However, perhaps unified memory isn't too far away - http://cacm.acm.org/news/104104-ncsu...evice/fulltext

I can't get to that specific article at the moment, so I will hope that we are ont the same page here. The first issue that comes up is address space, for things like iPad you would need a 64 bit machine. Not that that is far off at all.

For small embedded systems this is a more common situation. At one time the ARM Linux guys where attempting to up implement expected in place for the Linux kernel. I'm not sure if they ever got anywhere with that. Of course on 32 bit hardware that can be limiting.

The biggest problem with unified memory systems is what do you do if something get corrupted. You can't just flip a switch for a reboot
post #15 of 43
Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

RAM = Random Access Memory

The flash memory used in Apples devices is NOT random access. That is a significant error that is seen far to often on the net. Beyond that Flash is used as secondary storage in these machines. Real RAM is primary storage, directly addressable by the processor and is seldom used for secondary storage. Access to flash has more in common with accessing a disk drive than it does RAM.

This isn't the first time an article by Dan has blatantly pushed this particular technical inaccuracy. Just filter the article in your mind, replacing every instance of the phrase "Flash RAM" with "Flash storage", and your anger level will probably come down a few degrees. I know mine usually does.
post #16 of 43
This article implies apple currently uses SLC flash -- I doubt this is true.
post #17 of 43
Quote:
Originally Posted by tmedia1 View Post

This is a good thing. As soon as they offer 512 Gig in a MB Air, I'm sold...

Why do you need 512 GB in an Air? Genuine question.
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #18 of 43
Quote:
Originally Posted by acrobratt View Post

I do wonder though, if there is any kind of anti-trust, anti-competition issue that comes from being too vertically integrated.

Absolutely not. Apple owes Intel nothing, for example.
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
Citing unnamed sources with limited but direct knowledge of a rumoured device - Comedy Insider (Feb 2014)
Reply
post #19 of 43
Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

RAM = Random Access Memory

This is probably nit-picking at definitions, but what about accessing a flash memory device does not make it a "random access memory"? At the device level, you give it an address and it returns the data in roughly constant time, like a DRAM or SRAM, and unlike a disk or tape. At the software level it can be accessed with read()s and write()s like file IO, but you can also just mmap() it in and use it that way. I think one of the memory vendors actually came out with a flash-backed DRAM DIMM (ecoram or something like that) a while ago.

I agree that we tend to use it more like we use disks, right now, but there is no inherent reason that has to be the case, especially if you, say, buy a group of NAND designers and have them reduce the block size and trade off some density for better latency. :-)
post #20 of 43
This article mentions AirBook and iOS devices, but what about iMac? Does Apple's BTO iMac with solid state drive use NAND or DRAM? Or is a solid state drive totally different? Requires more power? Offers more storage? Please help me understand the difference. Thanks!
post #21 of 43
Quote:
Originally Posted by Ireland View Post

Why do you need 512 GB in an Air? Genuine question.

To have it serve as a primary (or only) computer. Seriously, if we see that rumored 15" redesign to make it an Air, hard drive capacity will be the last remaining argument against being able to have one as a primary machine.

Quote:
Originally Posted by egold44 View Post

This article mentions AirBook and iOS devices, but what about iMac? Does Apple's BTO iMac with solid state drive use NAND or DRAM? Or is a solid state drive totally different? Requires more power? Offers more storage? Please help me understand the difference. Thanks!

This is what's in a MacBook Air:



This is what's in a MacBook Pro or iMac:

Originally Posted by asdasd

This is Appleinsider. It's all there for you but we can't do it for you.
Reply

Originally Posted by asdasd

This is Appleinsider. It's all there for you but we can't do it for you.
Reply
post #22 of 43
Quote:
Originally Posted by afrodri View Post

This is probably nit-picking at definitions, but what about accessing a flash memory device does not make it a "random access memory"? At the device level, you give it an address and it returns the data in roughly constant time, like a DRAM or SRAM, and unlike a disk or tape. At the software level it can be accessed with read()s and write()s like file IO, but you can also just mmap() it in and use it that way. I think one of the memory vendors actually came out with a flash-backed DRAM DIMM (ecoram or something like that) a while ago.

You can mmap() NAND Flash in much the same way that you would mmap() a swapfile on a magnetic disk. The resulting storage space is often colloquially referred to as "virtual RAM".

You can, indeed treat NOR flash as truly random-access for reading purposes. Just like you could treate traditional ROM as random-access for reading purposes. But nobody ever referred to traditional ROM as "RAROM" (Random Access Read Only Memory".

However, you cannot write to either NAND or NOR flash in a truly random access fashion. Rather, you must erase an entire block of typically 64 KB or more, every time any single bit within the block needs to change, and write bytes in purely sequential (not random) order, with no more than 1 page (typically on the order of 256 to 512 bytes) being written at a time.

The fact that these restrictions can be abstracted away in software to create a memory array with the appearance of RAM is a credit to the state of software engineering and CPU memory management units. But that doesn't make the Flash storage itself any more "RAM"-like than any other mass storage medium.
post #23 of 43
Quote:
Originally Posted by tmedia1 View Post

This is a good thing. As soon as they offer 512 Gig in a MB Air, I'm sold...

Why wait? Just buy a third-party module.
post #24 of 43
Quote:
Originally Posted by chabig View Post

Why wait? Just buy a third-party module.

Because they don't come in 512

Originally Posted by asdasd

This is Appleinsider. It's all there for you but we can't do it for you.
Reply

Originally Posted by asdasd

This is Appleinsider. It's all there for you but we can't do it for you.
Reply
post #25 of 43
Quote:
Originally Posted by wizard69 View Post

There is no such thing as Flash RAM, Appleinsider needs to strive for at least a bit of technical accuracy!

RAM = Random Access Memory

The flash memory used in Apples devices is NOT random access. That is a significant error that is seen far to often on the net. Beyond that Flash is used as secondary storage in these machines. Real RAM is primary storage, directly addressable by the processor and is seldom used for secondary storage. Access to flash has more in common with accessing a disk drive than it does RAM.

Flash is so random access. The Flash memory discusses is NAND Flash RAM. Every cell in the array is accessible at essentially constant time, therefore properly called Random Access Memory. The fact the RAM is used in secondary storage does not change the fact that architecturally it operates as constant access, especially when compared to rotating storage technologies.

So it is you who is confusing the label of a specific technology attribute -- RAM, with the system engineering requirement -- primary memory or secondary storage. RAM is just the lazy persons shortcut to saying primary memory and it could't be more incorrect as there are all kinds of RAM used in many different places other than primary memory.
.
Reply
.
Reply
post #26 of 43
Quote:
Originally Posted by IQatEdo View Post

I've designed with Flash and completely overlooked the language that Dan used. \

Good, because he was wrong. Got his own terminology turned inside out.
.
Reply
.
Reply
post #27 of 43
Quote:
Originally Posted by Tallest Skil View Post

Because they don't come in 512…

And 480 isn't close enough? Actually, I think they are the same. OWC quotes capacity after over-provisioning. I'm not sure Apple does. So OWCs module really is a 512GB module.
post #28 of 43
Quote:
Originally Posted by lfmorrison View Post

This isn't the first time an article by Dan has blatantly pushed this particular technical inaccuracy. Just filter the article in your mind, replacing every instance of the phrase "Flash RAM" with "Flash storage", and your anger level will probably come down a few degrees. I know mine usually does.

AAARRRGGGHHH!!!!!!!!!


Out of the mouths of __________. Get one riled up and the rest join in. The sad part is this is just mob mentality reinforcing an incorrect answer.

NAND Flash (a specific technical flavor of NVRAM: non-volatile RAM) IS RAM people! As far as any memory technology is, because exactly none of the existing memory technologies are truly constant access time for any cell, but to the current and foreseeable bus clock frequencies the first byte latency is constant access in all of the solid state flavors of memories.

RAM -- Random Access Memory, an attribute that describes the variability in accessing different parts of the memory.

RAM is not the computer's main memory, that is just the place that uses a particular flavor of it (currently DRAM) most visibly. When you stop using that bad RAM shortcut and use the proper terms properly you won't make such a public spectacle of yourselves!
.
Reply
.
Reply
post #29 of 43
Quote:
Originally Posted by afrodri View Post

This is probably nit-picking at definitions, but what about accessing a flash memory device does not make it a "random access memory"? At the device level, you give it an address and it returns the data in roughly constant time, like a DRAM or SRAM, and unlike a disk or tape. At the software level it can be accessed with read()s and write()s like file IO, but you can also just mmap() it in and use it that way. I think one of the memory vendors actually came out with a flash-backed DRAM DIMM (ecoram or something like that) a while ago.

I agree that we tend to use it more like we use disks, right now, but there is no inherent reason that has to be the case, especially if you, say, buy a group of NAND designers and have them reduce the block size and trade off some density for better latency. :-)

You are correct, and you weren't nit picking. It was just another anti-Daniel mob that lost it's own technical way despite previously decent reputations. And I'm not saying that to generally defend Dan, he can fight his own opinion battles without me. But the slam on his use of the term RAM was completely incorrect.
.
Reply
.
Reply
post #30 of 43
Quote:
Originally Posted by lfmorrison View Post


However, you cannot write to either NAND or NOR flash in a truly random access fashion. Rather, you must erase an entire block of typically 64 KB or more, every time any single bit within the block needs to change, and write bytes in purely sequential (not random) order, with no more than 1 page (typically on the order of 256 to 512 bytes) being written at a time.

The fact that these restrictions can be abstracted away in software to create a memory array with the appearance of RAM is a credit to the state of software engineering and CPU memory management units. But that doesn't make the Flash storage itself any more "RAM"-like than any other mass storage medium.

True but, you could say the same for DRAM at the lowest levels. Whenever you write a single bit to a DDR DRAM you are erasing a block of memory when you discharge the DRAM cells into the sense amps, then writing bytes back in a sequential order as you burst data in. The only difference is the size of block you are moving.

And the limitations are not a fundamental feature of flash, they are just an implementation choice. Just like you could make a DRAM with a 64KB row buffer, you could make a flash with a very small buffer. Its just a tradeoff in latencies and density.

In any case, it is essentially a definitional argument. If one defines the key feature of "Random Access" as being able to access a given piece of memory in roughly constant time, independent of the location of that memory, then I would say flash is definitely random access. If the key feature is the size of the memory block, then it might not be.
post #31 of 43
Quote:
Originally Posted by digitalclips View Post

Yet I remember using RAM to create .... RAM disks. Virtual disks that acted like hard drives but were in fact in RAM. So isn't this all a bit esoteric?

Yeah... Old skool brah... RamDisks. Those were the days. A 4MB super fast D: Drive. Aww yeah...
post #32 of 43
Yeah don't forget Video RAM. VRAM. Now in Gigabytes and GDDR5 or more. When 128MB was MASSIVE just a five years ago and Intels still use only 256MB of "shared" (read: lousy regular slower normal) RAM.

Darn it it's so sad how Nvidia and AMD/ATI dropped the GPU ball. We could have 32nm 2GB DEDICATED GPUs doing all sorts of amazing graphics AND OpenCL stuff. Ah well, time for PowerVR to step up. Until the iPad I didn't even know they were still around, let alone solvent.

Quote:
Originally Posted by Hiro View Post

Flash is so random access. The Flash memory discusses is NAND Flash RAM. Every cell in the array is accessible at essentially constant time, therefore properly called Random Access Memory. The fact the RAM is used in secondary storage does not change the fact that architecturally it operates as constant access, especially when compared to rotating storage technologies.

So it is you who is confusing the label of a specific technology attribute -- RAM, with the system engineering requirement -- primary memory or secondary storage. RAM is just the lazy persons shortcut to saying primary memory and it could't be more incorrect as there are all kinds of RAM used in many different places other than primary memory.
post #33 of 43
Quote:
Originally Posted by egold44 View Post

This article mentions AirBook and iOS devices, but what about iMac? Does Apple's BTO iMac with solid state drive use NAND or DRAM? Or is a solid state drive totally different? Requires more power? Offers more storage? Please help me understand the difference. Thanks!

AFAIK it's the same... NAND, flash memory, flash RAM, solid state drives, whatever you want to call it.

The main difference at this stage is the form factor. The iMac would have the "flash storage" (the official Apple term, I think) packaged like a regular disk drive. The MacBook Air, as seen above, has them "separated out" so that it takes up less space.

Now, as to more technical differences, you'll have to read up Anandtech or something similar that delves into it.

Long story short, if Apple starts making their own flash storage controllers and memory cells, etc ... it can only be a good thing. Though, you would see iPad and MacBook Air be the models that will benefit first, ie. they would have this newer technology before the iMac.

Anyone else, feel free to chime in.
post #34 of 43
Quote:
Originally Posted by Hiro View Post

AAARRRGGGHHH!!!!!!!!!


Out of the mouths of __________. Get one riled up and the rest join in. The sad part is this is just mob mentality reinforcing an incorrect answer.

NAND Flash (a specific technical flavor of NVRAM: non-volatile RAM) IS RAM people! As far as any memory technology is, because exactly none of the existing memory technologies are truly constant access time for any cell, but to the current and foreseeable bus clock frequencies the first byte latency is constant access in all of the solid state flavors of memories.

RAM -- Random Access Memory, an attribute that describes the variability in accessing different parts of the memory.

RAM is not the computer's main memory, that is just the place that uses a particular flavor of it (currently DRAM) most visibly. When you stop using that bad RAM shortcut and use the proper terms properly you won't make such a public spectacle of yourselves!

Whatever. I write embedded firmware on a daily basis that interfaces with SRAM, SDRAM, Flash storage, EEPROM, and CPU registers at the so-called "bare metal" level (ie. without a high-level OS and memory management unit abstracting things away on my behalf) on 5 different CPU architectures. My degree and 8 years in the industry inform me that I can ignore what you have to say on the matter.
post #35 of 43
Quote:
Originally Posted by lfmorrison View Post

You can mmap() NAND Flash in much the same way that you would mmap() a swapfile on a magnetic disk. The resulting storage space is often colloquially referred to as "virtual RAM".

You can, indeed treat NOR flash as truly random-access for reading purposes. Just like you could treate traditional ROM as random-access for reading purposes. But nobody ever referred to traditional ROM as "RAROM" (Random Access Read Only Memory".

However, you cannot write to either NAND or NOR flash in a truly random access fashion. Rather, you must erase an entire block of typically 64 KB or more, every time any single bit within the block needs to change, and write bytes in purely sequential (not random) order, with no more than 1 page (typically on the order of 256 to 512 bytes) being written at a time.

The fact that these restrictions can be abstracted away in software to create a memory array with the appearance of RAM is a credit to the state of software engineering and CPU memory management units. But that doesn't make the Flash storage itself any more "RAM"-like than any other mass storage medium.

You incorrectly restrict the term random access. Each of those blocks is write accessed in essentially constant time. Doesn't matter that you are write accessing a bunch of blocks or just one, the constant time part remains as true as it does for burt read/written DRAM arrays. You are quibbling about an implementation issue in grouping, not the access timing.

None of that requires abstracting away in hardware to remain constant tome access.
.
Reply
.
Reply
post #36 of 43
Quote:
Originally Posted by lfmorrison View Post

Whatever. I write embedded firmware on a daily basis that interfaces with SRAM, SDRAM, Flash storage, EEPROM, and CPU registers at the so-called "bare metal" level (ie. without a high-level OS and memory management unit abstracting things away on my behalf) on 5 different CPU architectures. My degree and 8 years in the industry inform me that I can ignore what you have to say on the matter.

Just because you are successful at programming doesn't make your commentary any better. Wrong is wrong. You just happen to be lucky that this particular terminology snafu on your part doesn't/can't affect what you program. Pat yourself on the back and get back to coding, what you claim you are good at.
.
Reply
.
Reply
post #37 of 43
Quote:
Originally Posted by afrodri View Post

In any case, it is essentially a definitional argument. If one defines the key feature of "Random Access" as being able to access a given piece of memory in roughly constant time, independent of the location of that memory, then I would say flash is definitely random access. If the key feature is the size of the memory block, then it might not be.

You're correct. Random Access does have a specific meaning though when used in terms of memories, so alternate definitions that try to add extra layers of restrictions on top of the accepted "essentially constant access time to any cell in the array" only serve to confuse the issue. Best we all stay away from definition du jour or nobody will ever know exactly what anyone else is referring to, and then engineers would need lawyers to read requirements specs. Ungh....
.
Reply
.
Reply
post #38 of 43
Quote:
Originally Posted by Hiro View Post

Flash is so random access. The Flash memory discusses is NAND Flash RAM. Every cell in the array is accessible at essentially constant time, therefore properly called Random Access Memory. The fact the RAM is used in secondary storage does not change the fact that architecturally it operates as constant access, especially when compared to rotating storage technologies.

So it is you who is confusing the label of a specific technology attribute -- RAM, with the system engineering requirement -- primary memory or secondary storage. RAM is just the lazy persons shortcut to saying primary memory and it could't be more incorrect as there are all kinds of RAM used in many different places other than primary memory.

This !
post #39 of 43
It really isn't random access and has more in common with writing to a disk drive. The data is "saved" into the chip in blocks or sectors if you will. The approach is very similar to what is done with a disk drive. You can't randomly write a byte to NAND flash. Beyond that you have erase cycles that need to be taken care of.

Quote:
Originally Posted by afrodri View Post

This is probably nit-picking at definitions, but what about accessing a flash memory device does not make it a "random access memory"? At the device level, you give it an address and it returns the data in roughly constant time, like a DRAM or SRAM, and unlike a disk or tape. At the software level it can be accessed with read()s and write()s like file IO, but you can also just mmap() it in and use it that way. I think one of the memory vendors actually came out with a flash-backed DRAM DIMM (ecoram or something like that) a while ago.

I agree that we tend to use it more like we use disks, right now, but there is no inherent reason that has to be the case, especially if you, say, buy a group of NAND designers and have them reduce the block size and trade off some density for better latency. :-)

OK it is obvious you understand some of what is going on and why I find this frustrating, you don't have bocks in random access memory. Depending on the RAM you request a byte you get a byte, you write a byte a byte gets written. Now some RAM, with the corresponding controller will have features to fill a cache line with X number of bytes but access is still random.

As to the NAND designers you will get closer to random access with NOR based devices.
post #40 of 43
You might want to read the Flash 101 here: http://www.eetimes.com/design/memory...-to-NAND-flash. If you do I can't see how one could possibly call NAND Flash Random Access Memory. You can't even do a random access cycle randomly.
Quote:
Originally Posted by Hiro View Post

AAARRRGGGHHH!!!!!!!!!


Out of the mouths of __________. Get one riled up and the rest join in. The sad part is this is just mob mentality reinforcing an incorrect answer.

The answer is correct, NAND flash is far from what most engineers would call random access.
Quote:
NAND Flash (a specific technical flavor of NVRAM: non-volatile RAM) IS RAM people!

This isn't NOR memory we are talking about here. I'd even go so far as to say NAND flash was specifically designed to replace other secondary storage methods.
Quote:
As far as any memory technology is, because exactly none of the existing memory technologies are truly constant access time for any cell, but to the current and foreseeable bus clock frequencies the first byte latency is constant access in all of the solid state flavors of memories.

So what you are saying is that it is impossible for a processor to have single cycle access to its RAM array? If so that is very likely to surprise a bunch of embedded hardware engineers. Not all RAM arrays are DRAM.
Quote:
RAM -- Random Access Memory, an attribute that describes the variability in accessing different parts of the memory.

From my perspective it is pretty much what it says it is - Random Access Memory. That means the processor can randomly generate and address and get or write data to that address.
Quote:
RAM is not the computer's main memory,

Seriously? What college did you attend because I'd like to know what they called main memory. This actually bothers me more than your claim that NAND Flash is random access memory. If RAM isn't main memory than what is?
Quote:
that is just the place that uses a particular flavor of it (currently DRAM) most visibly.

BS! Main memory is the computers primary memory that CPU or memory manager directly addresses when executing programs or accessing data. It can be DRAM or SRAM if you want timely read write access. It can also be NOR flash if writing to that storage isn't required. Beyond that there are other new technologies that allow for non volatile read write access. NAND flash isn't one of these, the normal way to use NAND is to load RAM with data from the NAND flash much like a disk access.
Quote:
When you stop using that bad RAM shortcut and use the proper terms properly you won't make such a public spectacle of yourselves!

Yeah that would be helpful. It would be especially helpful if people understood what main memory is.
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: iPad
AppleInsider › Forums › Mobile › iPad › Inside Anobit: Why Apple is investing in flash RAM technology