Re: Need help regarding flash memory options



Ge0rge Marutz wrote:

I have an embedded application where I want to add up to 1GByte of
non-volatile memory.  The first product offering will require 256MByte
but I need room to expand.  The whole assembly must be extremely small
in size.

My first thought was to use NAND flash.  However, the micro I must use
does not have an external memory interface.  As far as I know this
rules out NAND flash.

The micro does have a SPI buss.  I tried looking for serial memories
designed to communicate over the SPI buss.  The problem is, the largest
memory I can find is 64Mbit (8MByte).  I would have to add numerous
devices on the SPI buss to obtain the memory density I require.  This
is not an option.

I recently found that SD Flash cards can communicate over a SPI buss in
the SPI/MMC mode.  I realize I could simply place a card reader slot on
the board and add a SD memory card.  However, I see this approach
adding un-necessary cost.  I would like to manufacture quite a few of
these devices.  I wish to keep cost down by any means possible.  I
tried searching for design information regarding what is inside a SD
memory card but come up with nothing.  My thought is that I would buy
whatever chip/chipset that is on the card and place this directly on my
board.  This would save the cost of the plastic case and circuit board
inside a SD flash card.  It would also save me the cost of the card
reader slot.  However, days of searching google has not yeilded the
information I need.

Do you have any ideas where I might start my search? Are the contents
of a SD flash card proprietary or does someone sell the chip/chipset?
Is a SD flash card simply a NAND flash cell plus some memory
controller? Can you think of a better option?
Any help you could offer would be deeply appreciated.


Gerb

It's been a while since I've looked but check the NAND flash specs -- they don't have a "normal" memory interface; what they have requires 11 lines or so (8 data & command, a few control lines). You'll have to bit-bang it anyway, so you don't have to feel bad about the lack of a "real" interface.

They'll require software to talk to -- they're more like disks in that they'll ship with bad sectors and it's up to you to format. Furthermore they expect you to implement error correcting codes, but when I was looking there weren't any white papers (at least not in English) on how to do it.

For the "chipset" a small PIC, AVR, or 8051 variant with SPI, a few GPIO lines, and some code ought to reduce the problem to mere software :).

--

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com
.



Relevant Pages

  • Re: Is there a guide to upgrading options?
    ... >it will cost to upgrade my system. ... - Video card. ... the cheapest 2 x 256MB memory pack with a brand name and warranty. ... Since the motherboard I selected has dual-channel memory it is best to ...
    (comp.sys.ibm.pc.hardware.chips)
  • Re: display memory extra
    ... card has 64MB video RAM, ... but not actual display memory itself...but that's just a guess there, ... actually wasn't as expected...and is why Windows still - on the ... via the device driver...and via the device driver _only_... ...
    (alt.lang.asm)
  • Need help regarding flash memory options
    ... does not have an external memory interface. ... I realize I could simply place a card reader slot on ... I wish to keep cost down by any means possible. ... of a SD flash card proprietary or does someone sell the chip/chipset? ...
    (sci.electronics.design)
  • new laptop for sale
    ... layer DVD drive ... card with up to 256 MB of shared memory ... Pre-installed with Windows Vista Home Premium (with Media Center ...
    (comp.periphs.printers)
  • Re: 2nd CPU on a Sun Blade 2000 problem
    ... memory) and left the original in the '0' slot? ... will only find in a Sun Fire 280R (uses the same CPUs and system board, ... but is a rack mount server, and the RSC card allows "LOM" (Lights Out ... framebuffer slot -- and there is no way to use a UPA framebuffer in the ...
    (comp.sys.sun.hardware)