[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