[coreboot] Flash chips and "page" (Was: How to find out "page size" of a flash chip?)
FENG Yu Ning
fengyuning1984 at gmail.com
Sun Jan 4 10:20:44 CET 2009
On 11/19/08, Peter Stuge <peter at stuge.se> wrote:
> The page_size member is considered an eraseblock size by the code.
On Wed, Nov 19, 2008 at 8:36 PM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
> Yes. We should have one eraseblock_size member and one write_size member.
In the flashchips array, the value of page_size is page size if the
chip has page-write as the only write command. At other times, it is
just a parameter of the memory geometry - maybe erase block size,
maybe not.
I have made some investigation to figure out the above result. I am
attaching it below for convenience of further discussion.
Vendor Model Type Visibleness
-----------------------------------------------------------------------
S P L F Wr Wp
Px Ar Ap
Po 1p
Zp
?r ?p
S = SPI
P = Parallel
(did not seperate parallel into sub-types when investigating
those flash chips)
Px = Parallel, using JEDEC Single-Supply EEPROM like Command Set
(command preceded by addresses and data containing alternated 1
and 0 bits, i.e., 55, 555, 5555, AA, AAA, 2AA, 2AAA, etc.)
Po = Parallel, without preceded cycles
L = LPC
F = FWH
N = There is no page concept or page is not visible to host.
Wr = Page read can start at any address within a page and will wrap
back at page boundary in one page read instruction
Wp = Page program can start at any address within a page and will wrap
back at page boundary in one page program instruction
Ar = Automatically page boundary alignment for page read
Ap = Automatically page boundary alignment for page program
1p = Every byte in a page has to be specified in one page program
instruction
Zp = Page address is determined by the address of the last data to be
programmed.
?r = Host should guarantee page address consistency when reading. How
the flash chip behaves when inconsistency happens is unknown.
?p = Host should guarantee page address consistency when page
programming. How the flash chip behaves when inconsistency
happens is unknown.
Vendor Model Type Visibleness
-----------------------------------------------------------------------
AMD Am29F002 - Px - - - -
Am29F016D - Px - - - -
ATMEL AT25DF021 S - - - - Wp
AT25F512B S - - - - Wp
AT25FS010 S - - - - Wp
AT26DF041 S - - - - Wp
AT26F004 S - - - - -
AT29C020 - - - - - 1p
AT45CS1282 S - - - Wr Wp
AT45DB011D S - - - Wr Wp
AT49F002(N)(T) - P - - - -
AMIC A25L40P S - - - - Wp
A29002(1) - P - - - -
A29040B - P - - - -
A49LF040A - - L - - -
EMST F49B002UA - P - - - -
EON EN29F002(N) - P - - - -
Fujitsu MBM29F004BC/TC - P - - - -
MBM29F400BC/TC - P - - - -
Intel 82802AB/AC - - - F - -
Macronix MX25L512 S - - - - Wp
MX25L1005 S - - - - Wp
MX29F002(N)T/B - P - - - -
MX29LV040C - P - - - -
Numonyx M25PE10/20 S - - - - Wp
PMC Pm25LV512A S - - - - Wp
Pm25LV010A S - - - - Wp
Pm25LV020 S - - - - Wp
Pm25LV040 S - - - - Wp
Pm25LV080B/016B S - - - - Wp
Pm49FL002/004 - - L F - -
Sharp LHF00L04 - - - F ?r -
Spansion S25FL016A S - - - - ?p
SST SST25VF040B S - - - - -
SST25VF080B S - - - - -
SST25VF016B S - - - - -
SST25VF032B S - - - - -
SST28SF040A - - - - - -
SST29EE010 - P - - - Zp
SST29LE010 - P - - - Zp
SST29VE010 - P - - - Zp
SST29EE020A - P - - - Zp
SST29LE020A - P - - - Zp
SST29VE020A - P - - - Zp
SST39SF010A - P - - - -
SST39SF020A - P - - - -
SST39SF040 - P - - - -
SST39VF512 - P - - - -
SST39VF010 - P - - - -
SST39VF020 - P - - - -
SST39VF040 - P - - - -
SST49LF002A - P - F - -
SST49LF003A - P - F - -
SST49LF004A - P - F - -
SST49LF008A - P - F - -
SST49LF002B - P L F - -
SST49LF003B - P L F - -
SST49LF004B - P L F - -
SST49LF004C - - - F - Ap
SST49LF008C - - - F - Ap
SST49LF016C - - - F - Ap
SST49LF020A - P L - - -
SST49LF040 - P L - - -
SST49LF040B - P L - - -
SST49LF080A - P L - - -
SST49LF160C - - L - - Ap
ST M25P05-A S - - - - Wp
M25P10-A S - - - - Wp
M25P20 S - - - - Wp
M25P40 S - - - - Wp
M25P80 S - - - - Wp
M25P16 S - - - - Wp
M25P32 S - - - - Wp
M25P64 S - - - - Wp
M25P128 S - - - - Wp
M29F002T/NT/B - Px - - - -
M29F040B - Px - - - -
M29F400BT - Px - - - -
M29W010B - Px - - - -
M29W040B - Px - - - -
M50FLW040A/B - - L F Ar -
M50FLW080A/B - - L F Ar -
M50FW002 - Po - F - -
M50FW040 - Po - F - -
M50FW080 - Po - F - -
M50LPW116 - Po L - - -
SyncMOS S29C31004T - Px - - - -
S29C51001T - Px - - - -
S29C51002T - Px - - - -
S29C51004T - Px - - - -
Winbond W25x10 S - - - - Wp
W25x20 S - - - - Wp
W25x40 S - - - - Wp
W25x80 S - - - - Wp
W29C011A - Px - - - ?p
W29C020C - Px - - - ?p
W29C040 - Px - - - ?p
W29EE011 - Px - - - ?p
W39V040A - Px L - - -
W39V040B - Px L - - -
W39V040C - Px L - - -
W39V040FA - Px - F - -
W39V080A - Px L - - -
W49F002U - Px - - - -
W49V002A - Px L - - -
W49V002FA - Px - F - -
W39V080FA - Px - F - -
-------------- next part --------------
A non-text attachment was scrubbed...
Name: page
Type: application/octet-stream
Size: 6345 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20090104/d158f3c7/attachment.obj>
More information about the coreboot
mailing list