Windows Phone Thoughts: What is NAND Memory, Like That of the New HP iPAQ h1910?

Be sure to register in our forums! Share your opinions, help others, and enter our contests.


Digital Home Thoughts

Loading feed...

Laptop Thoughts

Loading feed...

Android Thoughts

Loading feed...



Monday, December 2, 2002

What is NAND Memory, Like That of the New HP iPAQ h1910?

Posted by Ed Hansberry in "ARTICLE" @ 06:00 AM

In the links provided by our discussion of the new HP iPAQ h1910 FAQ there are two questions on the 1910's ROM.

How much nonvolatile memory space (iPAQ File Store) is available?
• The h1910 features 16MB NAND Flash, which is not user accessible. Files can be stored and transferred using SD memory cards via the built-in SD memory slot.

How is the nonvolatile memory technology different between the h1910 and previous iPAQ series (3600, 3700, 3800, 3900)? (As well as the new 5400 series)
• The h1910 NAND Flash offers a lower cost memory architecture, thus passing these savings on to the customer, as well as faster write performance. Previous iPAQ Flash memory technology offers execute-in-place, allowing the operating system and applications to run directly from the nonvolatile memory space.



So, what exactly is NAND Flash ROM? Why is 18MB of RAM unusable by the end user? Well, with the help of Brian Dipert I hope to be able to answer some of these questions.

Brian Dipert is the Technical Editor of Mass Storage, Memory, Multimedia, PC Core Logic and Peripherals, and Programmable Logic at EDN Magazine and the Contributing Editor at Commverge Magazine. He is co-author of Designing with Flash Memory (affiliate link) available at Amazon. On top of that, he was with Intel's Flash Memory Group when StrataFlash was rolled out. :werenotworthy: Let us just say that Brian probably knows more about flash memory than the rest of us combined. ;)

First of all, what does your Pocket PC have? Well, unless you have a new 1910 or one of the older non-flashable Pocket PCs, like the Casio E115 or HP Jornada 545, you probably have NOR Flash. This is what Intel's StrataFlash memory is, found in devices with Intel's X-Scale and StrongARM processors. NOR flash is usually more expensive than NAND flash memory. For those interested in NAND performance specs, you can visit SanDisk's NAND product site. It's not possible to direct-execute out of NAND flash, one key differentiator between it and NOR flash. Its pseudo-serial interface is analogous to a hard drive, as is its tendency to develop bad blocks and bad bits over time and extended erase cycling. All of which means that code (again, as with a hard disk drive in a PC) must be shadowed to RAM and executed there, versus direct-executed out of the flash memory. This is likely why you see the "64 MBytes DRAM, 46 MBytes usable" specs on the new HP 1910. It's analogous to low-end PCs with graphics integrated in the core logic, where a portion of system RAM is used for graphics frame buffer and you therefore see specs like "128 MBytes of SDRAM, 96 MBytes available to the system."

Some of the EDN readers that design in this type of memory have contacted Brian and say that single-level-cell NAND flash is quite price competitive with multi-level-cell (MLC, i.e. Intel's StrataFlash, and AMD and Fujitsu's MirrorBit) NOR flash. MLC NAND flash, such as recently announced by Samsung and by development partners Sandisk and Toshiba, should further improve NAND cost competitiveness (albeit at some tradeoff of even slower random read speed, slower write speed, larger block size, etc). NAND's cost competitiveness derives from the 'chained' serial arrangement of the internal array 'bit' storage transistors which enables them to be closely packed together. There are other factors as well, such as fewer I/O buffers due to the simpler interface to the outside world, and the assumption of bad bits and blocks with NAND which boosts NAND testing yields, but the array size difference compared to NOR is the big one. Look at the big picture, though....the need for redundant memory for code execution makes the TOTAL memory cost for NAND-plus-DRAM vs NOR-plus-DRAM closer.

Getting a 22MB Operating System in a 16MB ROM?

So, how does the 1910 get the full OS into 16MB of ROM? Does it copy out the full OS at boot and put it into that 18MB of non-usable RAM and then copy out other components as necessary when you launch an app? Well, I don't know. I put that question to Brian and here was his educated guess - not working at HP and actually knowing what they did meant he had to speculate.

"Just as in a PC, where software is paged off the hard drive into RAM as required. In your comment above, though, is one remaining item of confusion for me. Isn't a build of the Pocket PC 2002 O/S and app suite quite a bit larger than 16MBytes? (EdH: Yes, 22MB in fact before OEM enhancements.) Since you're not direct-executing out of NAND, you could compress the stuff in NAND and on-the-fly decompress it as part of the transfer-to-DRAM process (with a requisite overall performance drop due to the decompression overhead) but pure-or-nearly code is highly random and therefore doesn't compress well at all. Try it for yourself; find an EXE or DLL and run it through WinZip. Compare that with a TXT file, a BMP or something else with so-called low entropy. (EdH: There was a full version that did put approximately 22MB into 16MB, but as far as I know, it was only used internally for testing and is doubtful it would leave much room, if any, for OEM specific apps like Storage Card backup utilities and other apps. That said, the Pocket PC OS seems to compress rather well compared to other DLLs and EXEs. The recently released EUU3 came in an 8MB self extracting ZIP file. Using normal ZIP compression, WinZip took it from 12.9MB to just over 7.5MB. Assuming the rest of the OS had a 41% compression ratio, you could get 27MB in 16MB of space. Perhaps it is the 32bit RISC code in the Windows CE based OS versus its Win32 CISC counterpart on your desktop that just compresses better.)

"One possible answer is that HP is in fact using multi-level NAND flash (which in fact is now ramping into production), and trying to keep it quiet. 16 MBytes of flash could in fact mean a chip with 16x1,024,768x8 transistors, each of those transistors storing two bits of information. Doesn't a 32 MByte O/S build, or something somewhat larger than this but compressed, sound more likely to you?

"If true, though, then this is somewhat at odds with NAND flash's tendency to drop a bit here and there, because now with every transistor that temporarily or permanently goes out of whack you've altered TWO bits' worth of information. It can be gotten around, mind you, and is particularly not-a-concern in code apps like this one. I mean, how many times is someone going to update their O/S? 'Dropping a bit' happens with increasing frequency at high erase cycle counts, such as with a 'flash drive', the internal 'File Store' capability of prior-generation iPaqs, etc."

One final note. From an end user standpoint, there really wouldn't be much functional difference. All the technical wizardry is interesting, but the bottom line is you still have a Pocket PC 2002 device, albeit with 46MB of memory and HP can still provide user installable upgrades/XIPs for service packs and future OS revisions.

Well, my head is spinning. ;) But I definitely have a better understanding now about what NAND flash is and how it differs from NOR flash found in my trusty 3970. Again, a HUGE thanks to Brian Dipert for this information. I have sent him a link to this and hope he will monitor this thread for any questions you might have.

You can read more about Intel's StrataFlash product here and Google has a ton of flash memory links.

Tags:

Reviews & Articles

Loading feed...

News

Loading feed...

Reviews & Articles

Loading feed...

News

Loading feed...

Reviews & Articles

Loading feed...

News

Loading feed...

Reviews & Articles

Loading feed...

News

Loading feed...

Reviews & Articles

Loading feed...

News

Loading feed...