[elektro] SMD NAND chip programozása (lehetőleg kiforrasztás nélkül)
Ferenc Toth
toferi2 at freemail.hu
Thu Apr 21 12:24:32 CEST 2011
Én már programoztam ilyet ,de csak kiforrasztva felprogramoztam és jó volt
amit csináltam igazából az valami pda vagy pna volt hozták a flasht meg a
tartalmat ,nekem meg csak a programozás volt a dolgom.Ha nagyon nemtalálsz
rá megoldást akkor magánban beszéljünk jövő héten,de ismétlem csak
kiforrasztva megy csiptető foglalatom az van hozzá.
Bemásolom a programozóm infóit erről a chipről ,arra emlékszem,minthja
különösen lassú lett volna a programozás 5-10perc
*******************************************************************
*******************************************************************
General Info:
The device contains 2048 blocks. Each block contains 64 pages which are
divided into 2048 bytes main page and 64 bytes spare area (control area).
The device may include some invalid blocks (IBs) when first shipped.
Additional invalid blocks may develop while being used. Therefore, some
level of data management is essential for this kind of device.
Description of ACCESS METHOD <Alt+S> menu:
INVALID BLOCK MANAGEMENT options:
IB management method says, how to handle invalid blocks. There are numerous
management methods available:
Treat All Blocks: Treats invalid blocks like being valid. It is possible to
read, verify and program entire device. Can be helpful for development
purposes, but can cause data and IB info loss while programming or erasing.
Verifying device fails in such case.
Skip IB: If invalid block is found, it is skipped. Relevant data are written
into next valid block. All device operations is allowed only within valid
blocks.
Skip IB with Map in 0-th Block: It is the same as above, but IB map is
programmed into 0-th block (for compatibility with older systems).
Skip IB with Excess Abandon: Equal to Skip IB, but if there are some data
remaining in buffer after User Area - Last Block is processed (due to
invalid blocks occurrence), they are abandoned and operation is considered
successful. This method is usable e.g. for programming some file system
and/or operating system headers into padding (not used) blocks in User Area.
RBA (Reserved Block Area): Invalid blocks are replaced with known valid
blocks from block reservoir. The reservoir can be located between User Area
and RBA table or between RBA table and the end of device, depending on user
settings. These replacements are stored in RBA table, that is written into
specified blocks in two copies (one original and one back-up copy).
Check IB without Access: Checks the number of invalid blocks in User Area
and reports error if treshold is exceeded. No other operation is performed
on device.
Note: Option is available on selected programmers only.
Check IB with Skip IB: Checks the number of invalid blocks in User Area and
reports error if treshold is exceeded. If OK, selected action is performed
on device.
Note: Option is available on selected programmers only.
Multiply Partition (with Skip IB): Basic partitioning method, uses Skip IB
inside of partition. Requires also spare area to be included in input data
file (can be added automatically on file load).
Note: Option is available on selected programmers only. For more
information, please, contact your dealer or read our application note
available at http://www.elnec.com/sw/an_elnec_nand_partitions.pdf .
Linux MTD compatible: Special partitioning method that emulates Linux MTD
driver. Apart from partitioning, it is capable to build and program Bad
Block Table and ECC.
Note: Option is available on selected programmers only. For more
information, please, contact your dealer or read our application note
available at http://www.elnec.com/sw/an_elnec_linux_mtd.pdf .
SPARE AREA USAGE options:
Spare area usage choice says, what have to be written into spare area. There
are several options available:
Do not Use: Spare area is not used (IB info is kept, entirely).
User Data: User data is written into spare area. It can cause IB info loss
while programming. Verifying device fails in such case. Reading device can
provide non-relevant memory image due to fake IB info.
User Data with IB Info Forced: User data is written into spare area. Bytes /
words carrying IB info are ignored, true IB info is forced instead.
ECC - Hamming (by Samsung): Double error found single error correction
Hamming algorithm is employed to ensure data area reliability. Algorithm
parameters are specified by Samsung - look at
http://www.samsung.com/global/business/semiconductor/products/flash/downloads/applicationnote/ecc_algorithm_for_web_512b.pdf.
(If the link is broken, look in Flash Application Note corner at Samsung's
web-site http://www.samsung.com or download from
http://www.elnec.com/sw/samsung_ecc_algorithm_for_512b.pdf .)
ECC - Hamming (2 x 256 Byte Frame) variant 1: Hamming ECC algorithm uses the
same computational kernel as is specified for SmartMedia cards. It splits
page into frames with 256 bytes in size, produces 3 bytes of control data
and is capable to cover 1 single bit error per frame. Spare area layout is
compatible with that one commonly used in Linux MTD driver. Also, control
data bytes ordering respects Linux ordering.
Note: Option is available on selected programmers only. For more
information, please, contact your dealer.
ECC - Hamming (2 x 256 Byte Frame) variant 2: This ECC algorithm is
identical to previous one (variant 1), but uses SmartMedia card original
control data bytes ordering. It means, bytes ECC[0] and ECC[1] are switched
in their respective positions.
Note: Option is available on selected programmers only. For more
information, please, contact your dealer.
ENABLE DEVICE INTERNAL ECC CONTROLLER check-box:
Some NAND flash devices' internal controller includes ECC unit that can
significantly reduce the host controller load. If enabled, this internal ECC
unit will compute ECC check sums and store them into spare area on
programming. Later, on read, it will compute the sums again from data area
and compare them with the sums stored in spare area. If any error is found,
the data are automatically restored according to ECC algorithm capabilities.
Note: This setting is displayed only if device contains internal ECC unit.
Note: Internal ECC unit will overwrite spare area data in some areas.
Please, consult your spare area data placement with device datasheet.
USER AREA specification:
Here you can specify the device area being accessed. Number of Blocks of
your buffer data will be written into device, starting from Start Block in
device and from beginning in buffer. Last Block represents the last block in
device, that is allowed to be used for user data. Within certain Invalid
Block Management methods, Max. Allowed Number of Invalid Blocks in User Area
is checked.
However, Erase and Blank Check operations will be performed on entire
device, independently on these settings.
REQUIRED VALID BLOCKS AREA specification:
Sometimes you can need the part of your data being exactly at specified
place and not interrupted by invalid block (e. g. boot code). You can
specify the Start Block and Number of Blocks, that have to be checked for
absence of invalid blocks. This area must be specified inside of User area.
The setting if accepted with Check Required Valid Blocks Area check-box
checked.
QUICK PROGRAM check-box:
NAND flash devices incorporate internal controller that automatically
performs programming action after loading the page data. This controller
provides also some level of verification (checks whether all bits that
should be '0' really are '0'). Having Quick Program enabled, only this check
is performed on Program action (fast operation). If Quick Program is
unchecked, additional verification of all bits is performed immediately
after programming every single block (much slower operation).
Note: This setting doesn't affect Verify after Programming functioning.
IF NEW INVALID BLOCK IS DEVELOPED option:
On device erasing and/or programming, there is a possibility for development
of new invalid blocks. This is natural characteristic of NAND flash medium.
The probability of new invalid block development increases with device
wearing-up. Typically, such block is marked invalid and not treated further.
Operation continues regarding to selected Invalid Block Management method.
This behaviour corresponds to mark it invalid and continue operation
setting.
Sometimes, new invalid blocks may be developed in error. Typically, this is
caused by poor contact between device and ZIF socket (dirt or oxide
contamination or package mechanical irregularity). In such case, one may
wish to halt operation immediately and reposition the device in ZIF socket.
This behaviour corresponds to abort operation immediately setting.
Note: Option is available on selected programmers only.
INCLUDE CHIP GAP INTO INVALID BLOCKS TABLES check-box:
If any algorithm that stores invalid blocks table into device is selected,
you can enable/disable including of blocks belonging to Chip Gap into the
table.
Note: Option is available only for devices containing Chip Gap.
RESERVED BLOCK AREA options:
You can specify area for successful programming of RBA table. The area of
Number of Blocks beginning from Start Block is reserved for RBA table. The
first two valid blocks from RBA Area are used to store two copies of RBA
table. RBA Area must be located behind the User Area, taking into account
the block reservoir for invalid blocks replacement.
INVALID BLOCK INDICATION options:
Using this option you can specify what value will be used in place of BI
byte / word to indicate invalid block - 00h or F0h.
TOLERANT VERIFICATION options:
This feature enable you to use your own ECC algorithm. You can specify ECC
frame size (usually 512 bytes) and number of single-bit errors in this frame
that your algorithm is capable to correct. Verify operation will tolerate
specified number of errors in range of defined frame. In spare area,
relative number of single-bit errors is tolerated (dependent on spare area
size).
BLOCK PROTECTION options:
Some devices support permanent data protection on a block-level basis.
Typically, the block can be prohibited from programming and/or from erasing.
You can specify a list of blocks for each kind of protection and other
parameters, if applicable. Please, see your device datasheet for more
informations about the applicable protections (if exist).
Note: Block protection settings are displayed only if any kind of protection
is available for the device.
ONE TIME PROTECT AREA options:
Some devices contain One Time Protect Area. It is possible to set the write
protection for individual pages, as well as default overlaying mode. The
data for One Time Protect Area are located at the end of the buffer,
starting from address equal to device size.
Note: Reading the device will affect the One Time Protect Area settings in
Access Method dialog.
Note: The settings of One Time Protect Area are displayed only if the device
contains One Time Protect Area.
LINUX MTD COMPATIBLE options:
This sections contains numerous settings for Linux MTD compatible invalid
blocks management method (available on selected programmers only). For more
information, please, contact your dealer or read our application note
available at http://www.elnec.com/sw/an_elnec_linux_mtd.pdf .
Description of DEVICE OPERATION OPTIONS <Alt+0> menu:
ERASE BEFORE PROGRAMMING option:
NAND flash devices are sold in erased state, so Erase before programming is
not compulsory. However, due to internal controller behaviour, one may
prefer erasing the device (generally in several seconds) to blank checking
the device (in several minutes to several hours, depending on device
capacity).
Note: Whole device will be erased, always.
BLANK CHECK BEFORE PROGRAMMING option:
This relates to Erase before programming very closely. If device is erased
firstly, the blank check operation is not necessary - it is done by device's
internal controller. Therefore, if Erase before programming is enabled,
Blank check before programming will be skipped to save the operation time.
Otherwise, whole device address range will be blank-checked.
VERIFY AFTER PROGRAMMING option:
You can enable or disable verification after programming. May be, you want
to save some time in development phase - you can disable the verification
after programming in such case (be aware of possible consequences). Don't
disable the verification after programming in mass-production in any case.
The programming operation would not be verified in any way!
TARGET DEVICE USES option:
This option relates to Invalid Block Indication options in Access Method
<Alt+S> dialog. To be able to recognise invalid blocks correctly, the
programmer must know the scheme used in actual device inserted in ZIF
socket.
Use manufacturer original invalid blocks indication scheme option for new
devices and/or if you don't use any special indication scheme.
Use customized invalid blocks indication scheme option if you have specified
any special indication scheme in Access Method <Alt+S> dialog.
Special NAND flash device commands (menu Device):
READ ONFI PARAMETER PAGE command:
If device supports ONFI standard, this command can be used for reading ONFI
paramater page from the device. Read data are decoded and saved to output
file in well arranged form. Please, see http://onfi.org/ for more info
regarding to ONFI standards. Details about particular device ONFI support
can be found in device datasheet.
Note: Option is available on selected programmers only.
CHECK INVALID BLOCKS command:
The command is useful for invalid blocks analysis. It checks the status of
all blocks in device and generates tabular summary of invalid blocks
distribution over the chips in device into output file.
Note: Option is available on selected programmers only.
Please, check regularly application notes corner at our web-site (see
http://www.elnec.com/support/application-notes/) for the latest versions of
NAND flash related documents. They will provide you with more valuable
informations as this brief help.
TROUBLESHOOTING:
In case of operation unreliability on this device, connect, please, one
22nF-100nF multilayer capacitor (that meets the EIA X7R or Z5U
specifications) between pins 12 (Vcc) and 13 (Vss) and another one between
pins 37 (Vcc) and 36 (Vss).
******************************************************************************
******************************************************************************
----- Original Message -----
From: "Gergely Kis" <gergely.kis at mattakis.com>
To: <elektro at tesla.hu>
Sent: Thursday, April 21, 2011 10:26 AM
Subject: [elektro] SMD NAND chip programozása (lehetőleg kiforrasztás
nélkül)
> Sziasztok!
>
> Van lehetőség arra, hogy egy SMD NAND chipet (konkrétan SAMSUNG
> K9F2G08U0B-PCB0, 48-pin TSOP1 tokozás)
> úgy programozzunk, hogy nem forrasztjuk ki a boardból? Van valakinek
> ehhez használható szerszáma / eszköze?
>
> Ha mindenképpen ki kell forrasztani, akkor létezik-e olyan "adapter",
> amivel az SMD forrasztott alkatrész forrasztás nélkül cserélhetővé /
> programozhatóvá válik?
>
> Vállal valaki ilyet (megfelelő díjazásért)? Ha minden igaz, akkor 1
> byte-ot kell átírni a NAND első lapján...
> A konkrét jelentkezéseket privátban várnám.
>
> Köszönettel,
> Gergely
>
> --
> Kis Gergely
> MattaKis Consulting
> Email: gergely.kis at mattakis.com
> Web: http://www.mattakis.com
> Phone: +36 70 408 1723
> Fax: +36 27 998 622
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list