9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Graham Gallagher <graham.gallagher@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] sheevaplug port available
Date: Wed, 10 Mar 2010 02:38:34 +1100	[thread overview]
Message-ID: <7f56b5561003090738x30c363eufa8047e93fc579c9@mail.gmail.com> (raw)
In-Reply-To: <20100308154243.GA21591@knaagkever.ueber.net>

> but i think inferno's logfs and ftl both assume 512 byte pages instead
> of 2048 byte pages that the sheevaplugs nand flash has (though it has
> writable subpages of 512 bytes), so i'm not sure how hard/easy an fs on
> it will be.

Some NAND flash definitions:
block = smallest erasable unit
page = smallest writable/readable unit.

Inferno's logfs limits the maximum number of pages per block to 32
because it uses a 32-bit integer bit mapping. The flash you're using,
has 64 pages per block.  You'll need to switch to vlong and change all
the associated bit bashing code.

>
> if anyone has tips & tricks for dealing with nand flashes, i'm interested
> in hearing them.  one question i have:  can you read the erase/program
> times from the chip? (hard-coding a table with properties based on data
> sheets isn't so great).  another: my new sheevaplug has samsung memory
> instead of hynix, so a different vendor id in the chip.  but the "device
> id" is the same (identifying chip properties (size, voltages, etc)).
> are those device id's standardized?  that would make a hard-coded table
> less annoying at least...

NAND flash technology is moving very quickly and new standards will
give you timing info. However, the hardware you mention will require
you to put the timing numbers in a table.

I don't know if device IDs are standardized, so I make no such assumption.

For Samsung chips, pure data retention is guaranteed for 10+ years.
Repetitive reading, without erasing the blocks is verified to 1E6
cycles. The number of program/erase operations is guaranteed up to 1E6
cycles if the system adopts ECC.

I've not seen much agreement with ECC and bad block mapping when it
comes to either linux or uboot. There are slabs of NAND specific code
in the linux tree that are never used. There are more slabs of code
that are used sometimes. You can do whatever you want.

I've only dealt with embedded systems and they're all different. Read
word size, write size,
it's all an experiment to what works. If you're lucky, you can put a
probe on a pin and look at a signal but normally it's just trial and
error.



  parent reply	other threads:[~2010-03-09 15:38 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-17 21:37 geoff
2009-11-17 21:43 ` David Leimbach
2009-11-17 22:04 ` Steve Simon
2009-11-17 23:51   ` Tharaneedharan Vilwanathan
2010-02-24 18:53 ` Jacob Todd
2010-02-24 20:22   ` geoff
2010-02-25  8:58     ` Francisco J Ballesteros
2010-02-28  5:11       ` kazumi iwane
2010-02-28  6:06         ` geoff
2010-02-28  8:02           ` kazumi iwane
2010-03-08 15:42     ` Mechiel Lukkien
2010-03-08 15:45       ` David Leimbach
2010-03-08 16:02         ` erik quanstrom
2010-03-09 15:38       ` Graham Gallagher [this message]
2010-03-09 15:57       ` Axel Belinfante
2010-03-09 16:30         ` Graham Gallagher
2010-10-19 19:14 ` James Chapman
2010-10-19 19:21   ` ron minnich
2010-10-19 19:45     ` Lyndon Nerenberg
2010-10-19 19:50       ` ron minnich
2010-10-19 20:00         ` Lyndon Nerenberg
2010-10-19 19:34   ` geoff
2010-10-20 20:11   ` Benjamin Huntsman
2010-10-20 20:22     ` Skip Tavakkolian
2010-10-20 20:29     ` erik quanstrom
2010-10-21  8:23       ` Benjamin Huntsman
2010-10-21  9:10         ` Steve Simon
2010-10-21 16:43           ` ron minnich
2010-10-21 18:09           ` Yaroslav
2010-10-21  9:35         ` Lucio De Re
2010-10-21 11:08         ` erik quanstrom
2010-10-21 16:53           ` Benjamin Huntsman
2010-10-21 17:37             ` Steve Simon
2010-10-21 18:04               ` Benjamin Huntsman
2010-10-21 18:17                 ` Yaroslav
2010-10-21 20:43                 ` Brian L. Stuart
2010-10-21 21:58                   ` Benjamin Huntsman
2010-10-22 17:19                     ` Benjamin Huntsman
2010-10-21 17:52             ` erik quanstrom
2010-10-21 20:40             ` Brian L. Stuart
2010-10-21 20:59               ` erik quanstrom
2010-10-21 15:30         ` ron minnich
     [not found] <<9c855ecc7b4384e9a3ecb9ca2416ecac@plan9.bell-labs.com>
2009-11-18 21:27 ` erik quanstrom
2009-11-18 23:26   ` geoff
2009-11-18 23:32   ` geoff
     [not found] <<3b93ad835e55404cc726f5314ee966fa@plan9.bell-labs.com>
2009-11-19  0:17 ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7f56b5561003090738x30c363eufa8047e93fc579c9@mail.gmail.com \
    --to=graham.gallagher@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).