Elektroda.com
Elektroda.com
X

Flash NAND Lite Memory Programmer! TSOP48

funak 322956 466
This content has been translated flag-pl » flag-en View the original version here.
  • Flash NAND Lite Memory Programmer! TSOP48
    The assumption of the project was to create from scratch a programmer for popular Flash NAND memories to fill the gap in the market in the segment of low-cost programmers. Sometimes there is a need to read the Flash NAND chip, for example, in a flash drive, but also various types of navigations, modems, routers, TVs, etc. And it is not necessarily right to buy a professional tool for a price at least 5x more to read / program one system. I have been dealing with NAND Flash memories for a relatively long time, it can be said for a little over 3 years. When I used such a memory for the designed device for the first time, I saw only advantages: low price, high capacity, ease of use. After years of use, I also see disadvantages, but more on that in a moment.

    The programmer designed by me, due to cost cutting, contains only one socket for the Flash NAND memory in the TSOP48 housing, permanently soldered.

    Flash NAND Lite Memory Programmer! TSOP48

    The whole is powered from the USB port with 5.0V, and the FlashNAND memory system and the processor are powered by 3.3V from the TPS781330220 LDO stabilizer. The advantage of this stabilizer is the built-in 150mA overcurrent protection, which works great in the case of inverted insertion of the chip into the socket, which does not damage the memory chip, as well as the fact that I had a large amount of them in my warehouse.

    I added two LEDs indicating 5.0V (D5) and 3.3V (D1) voltage, after which you can quickly check if everything is ok.

    I used the full system of FlashNAND memory connections, in which there are four CE lines, and four RB lines, thanks to which it is possible to support all types of memory available in the TSOP48 housing, and the power supply (3.3V) is supplied only to the VSS pins (13 , 36). VCC (12.37).

    The entire programmer is managed by the XMEGA-A4U processor, which fits perfectly in terms of the number of pins with which the software on the PC communicates through the USB FT245 converter.
    I used a very interesting solution based on a parallel bus, connecting the DATA0-7 data lines of the FT245 chip directly to the XMEGA processor port, additionally connecting them to the FlashNAND memory chip.

    This resulted in a high data transmission speed and great freedom of communication.
    The obtained results surprised me:

    FT245 XMEGA = 980kB / s
    NAND XMEGA = 2.7MB / s

    So the example communication then looks like this:
    1. PC -> XMEGA - reading command from NAND memory
    2. PC NAND - read preparation, sequence execution
    3. PC

    Cool? Ranking DIY
    About Author
    funak
    Level 26  
    Offline 
    funak wrote 868 posts with rating 353, helped 80 times. Live in city Dębica. Been with us since 2005 year.
  • #2
    Hetii
    Level 16  
    Hello and welcome .

    I have the following questions:

    1. Do you have PCB / TSOP48 for resale?
    2. For what purpose was FT245 used, wouldn't it be easier to use avra with hardware USB or v-usb support?
    3. Do you plan to release source codes or write software for Linux?

    Regards.
  • #3
    funak
    Level 26  
    And I have these answers:

    1. I collect orders on a popular auction site.
    2. FT245 has been used to speed up the transfer from NAND to PC, it is a solution towards FT232H, so that in the next programmer revision you can get 8MB / s without changing the software on the PC. The second thing is to use VID / PID. When I buy FT245, I have the matter settled.
    3. I don't plan to share the source codes, although it may change someday. Unfortunately, I am not able to write software under Linux.
  • #4
    Hetii
    Level 16  
    I have already found the programmer on a well-known auction site :)
    As for the software, I am able to support the project and port it for linux.
  • #5
    funak
    Level 26  
    I am very happy about it, you will have to wait a bit, because version 2.0 will be planned, in which, unfortunately, you will have to reorganize the page reading commands and their addressing due to the fact that not all memories are addressed in the same way.

    For example, TOSHIBA figured out to address pages in a block using an additional command, for example:
    TC58NVG7T2JTA00
    https://www.elektroda.pl/rtvforum/viewtopic.php?p=15967618&highlight=#15967618

    The blocks are addressed 0..8311 and that's fine here, but the pages in the block are addressed as follows:
    Page: 0..85, and it is known that there are 258 pages in the block. And the selection of these three groups of pages within a block is made with the help of an additional command sent to the FlashNAND memory.

    As a result, the entire memory area and its addressing is a discontinuous space.


    At the moment I plan to work out correction codes. For this purpose, I need sample batches from the devices so that I can practice a little on them and check exactly how the correction data is located.

    My intention is to load the batch from memory, press the Analyze button and wait for the program to calculate all the codes, detect the type, whether it is ECC, BCH, ReedSolomon, correct wrong bits and save a completely healthy batch to a file, which will later be used to save in the new memory .
  • #6
    satanistik
    Level 27  
    The programmer is well conceived and made. I have a factory programmer for these memories, but its price was lethal. There is only a problem because 32M and more memories can be read, only because of bad blocks it cannot be copied very much. You could use software that could mount the filesystem used in memory. For example, the ubifs system could be handled in Linux using the software nand memory emulator. Additionally, reading files from a damaged flash drive from the bin itself is not easy because file systems mix data in order to save cells. Another problem is the different ways of implementing bad sector marking in separation areas and / or the bad sector table.
  • #7
    funak
    Level 26  
    Thank you for the positive words.

    As for file systems, I have read about UBIFS, but so far I do not have any input to confront the acquired knowledge with the actual content of FlashNAND memory. According to the documentation, there is not a high level of complexity with UBIFS, it is quite well described, so there are opportunities and a future to work it out.

    When it comes to data recovery from a flash drive, at the moment I have made one experiment consisting in writing a CompactFlash 8GB card with specially prepared content, in which each sector of 512 bytes was numbered. Then I desoldered the memory from the card and read its contents by inserting it into the programmer. And indeed the sectors are very confused, but there seems to be some order and order in it. But to start analyzing such content, however, you need to start checking redundant bits to make sure that the data we read is correct.

    If anyone can send me any dunks for diagnostic and research purposes, I use my specially prepared forum or the appropriate FTP account. I have unlimited capacity and high speed connection.

    In fact, data recovery comes down to mathematical calculations, if everything is correct, we are 100% sure that we have everything recovered.


    The price of the factory programmer is also dictated by the possibilities. Such a programmer is much faster and you know - universal, so we will put both the TSOP48 system on a voltage of 3.3V, but also 1.8V and 1.2V if necessary. You pay for it here, so it has to cost.
  • #8
    michal_aniol
    Level 33  
    An interesting project, but in my opinion it will only be suitable for copying flash from one die to another (after the development of the error correction algorithm), with relatively small dice, because the speed is not too high.

    If you want to recover data, it is a breach of an open door, because the solutions are ready (of course they cost money, but unfortunately it is the result of a huge amount of work).
    I would like to draw your attention to the problems that you will encounter if you want to recover something after reading:
    1. Current TSOP48 bones are powered by many more legs. Reading after the standard VCC (12.37) is largely insufficient
    2. TOSP48 is a system less and less often mounted on mass memories. The industry is shifting to BGA and monoliths.
    3. Sometimes it takes 2-7 days to work on one bone to correct mistakes :)
    4. Currently, every controller uses hundreds of XORs (controllers and XORs).
    5. Data is mixed very differently depending on the controller model.
    6. The block translation algorithm is different for different controllers.
    7. There are a lot of refurbished bones and controllers on the market - which have various pathological solutions.
    8. In a large part of the dumps there are inserts in various places (redundant bytes of data) that are managed by the controller by software or hardware. You need to delete your data for data recovery.
    9. Many many other nuances.

    I agree that data recovery is math. But you also need to add cryptology (also mathematics) and algorithmics (also).
  • #9
    funak
    Level 26  
    As if the project developed, I am ready to make the second and third generation of the programmer. The second one with a speed of up to 8MB / s, the third one up to 50MB / s.

    I was given access to the latest documentation from Micron under certain conditions. However, while browsing the PDFs, you can draw interesting conclusions. First of all, the stunning NAND capacity, up to 6Tbit. The second thing is actually multi-banking, and a greater number of lines to control, and power supply up to 1.2V.

    As for the memories in TSOP48, the ONFI documentation clearly says that if the memory is powered from 3.3V, and the I / O voltage is also 3.3V, it is internally connected, so there is no need for an additional power supply. In all other cases, two supply voltages must be used.

    I agree that when reading the memory with this programmer, for example 8GB, the time is about 3 hours, however, it was supposed to be a cheap programmer, so the parameters were a bit weaker.

    Moreover, the target group of this programmer are amateurs who want to do something occasionally. And if the only compromise is time in relation to price, I consider it a good solution. Otherwise, they would be investing a lot of money.
  • #10
    michal_aniol
    Level 33  
    Yes, the amount of memory and controllers is gruesome to handle. Hence, most laboratories just let go of Flash ...
    ONFI standard standard, but life is life :)
  • #11
    funak
    Level 26  
    Since it's giving up flash memory, then it's a good idea to get on with it :)
  • #12
    michal_aniol
    Level 33  
    funak wrote:
    Since it's giving up flash memory, then it's a good idea to get on with it :)


    Of course. Except you are not aware of what you are writing about now :)
    I do it on a daily basis. I have quite a lot of experience in this matter, so I wrote you about potential problems.
    The cheapest professional nand flash reader can be purchased for about PLN 800. That's why I wrote about breaking open doors ;)
  • #13
    tplewa
    Level 39  
    funak wrote:

    The worst thing is with the TSOP48 socket, which unfortunately has to be imported from China.


    Nice project - admittedly, I've only seen sales announcements and offers on the Allegro here before - nice to find out more :)

    However, as for the TSOP48 sockets, they are available in Poland, for example, Semicon has them - but the price is known to be PLN 180 as far as I remember (but branded) ... on the other hand, the cheap Chinese TSOP48 (a few dollars) from my experience are g ... worth it, i.e. in my DIP48 to TSOP48 transceiver is already ailing (and a lot of memory has not been made) - although now the original TNM5000 adapter on the YAMAICHI stand (we will see how it works) - also cheaper than with us stand.

    However, as for USB and speed, it may be worth taking an interest in Cypress systems :)
  • #14
    mariomario
    Level 18  
    michal_aniol wrote:
    funak wrote:
    Since it's giving up flash memory, then it's a good idea to get on with it :)


    Of course. Except you are not aware of what you are writing about now :)
    I do it on a daily basis. I have quite a lot of experience in this matter, so I wrote you about potential problems.
    The cheapest professional nand flash reader can be purchased for about PLN 800. That's why I wrote about breaking open doors ;)


    Flash Extractor?
    Pretty cool with the intuitive dump software.


    But the PC-3000 Flash is better, although the price, including all add-ons, can go up to about 15k PLN. We will do almost all the flashes, as long as we can set up all options and times of the flash dice ourselves, when it will not be possible to detect the type of dice automatically.
  • #15
    tplewa
    Level 39  
    mariomario wrote:

    But the PC-3000 Flash is better, although the price, including all add-ons, can go up to about 15k PLN.


    and the price is probably like that because it's called "Data Recovery" ;)

    However, let's face it, the programmer described here is equipment for amateurs with a small budget for a hobby or "businessmen" who hold theories "buy shit because better equipment will not return" ;) Let's face it, this programmer is at the price (or even lower) of a good TSOP48 socket for any programmer with DIL48 ...

    So there is nothing to demand ... both a hobbyist and a professional with money will find something suitable for themselves ... A nice project for me, because hobbyists with less money have a chance to play with such memories ...
  • #16
    grala1
    VAG group specialist
    Can the author comment on the quality of the Chinese stand he used?
  • #17
    funak
    Level 26  
    Of course, before I started assembling the stands, I ordered three Chinese for a trial (I waited 21-27 days) and among them I chose one, which in my opinion provides good quality TSOP48 stands. They differed primarily in the inaccurate casting of plastic. I don't have photos so I can't present it.

    As for durability, I have had my only one from the beginning of the project and it still works. The effects of wear are manifested in the fact that the base springs a little less, but all the contacts still work. I can see that the lower contacts, which are not connected to anything, are slightly dirty. This is the effect of packing the circuits straight from the outlet without cleaning the leads.

    There is a way to do this:
    Flash NAND Lite Memory Programmer! TSOP48

    I ordered 2 pieces for testing and I rate the quality of the socket for the TSOP48 socket very high. Turned, round contacts fit perfectly into the plate, they are very even, in a perfect raster.

    Now I am collecting capital to order more such sockets to equip them in a new revision. In addition, there are TSOP48 to BGA / LGA adapters at a staggering price, so it would be possible to operate it in a different housing than TSOP48.
  • #18
    funak
    Level 26  
    I added today in NANDLite programming! generating statistics from transfers (Version 1.0.1014.50).

    The results surprised again how fast FlashNAND can be erased.

    Two examples:
    Deleting K9GAG08U0E-SIB0
    Kasowanie pamięci
    ID                	: EC D5 84 72 50 42 EC D5
    Manufacturer      	: SAMSUNG
    Model             	: K9GAG08U0E-SIB0
    Konfiguracja: 
    Target count      	: 1
    LUN count         	: 1
    Block per LUN     	: 2076
    Page per Block    	: 128
    Page size         	: 8192+436
    Rozmiar całkowity 	: 2 292 701 184 bajtów
    Error erase block: T:1 L:0 B:411 P:0
    Error erase block: T:1 L:0 B:1172 P:0
    Error erase block: T:1 L:0 B:2040 P:0
    Error erase block: T:1 L:0 B:2073 P:0
    Kasowanie zakończone
    Czas rozpoczęcia  	: 2016-10-14 12:05:08
    Czas zakończenia  	: 2016-10-14 12:05:13
    Szybkość          	: 442666,551 kB/s
    


    Deleting MT29F64G08CBAAAWP
    Kasowanie pamięci
    ID                	: 2C 88 04 4B A9 00 00 00
    Manufacturer      	: MICRON
    Model             	: MT29F64G08CBAAAWP
    Konfiguracja: 
    Target count      	: 1
    LUN count         	: 1
    Block per LUN     	: 4096
    Page per Block    	: 256
    Page size         	: 8192+448
    Rozmiar całkowity 	: 9 059 696 640 bajtów
    Error erase block: T:1 L:0 B:49 P:0
    Error erase block: T:1 L:0 B:90 P:0
    Error erase block: T:1 L:0 B:91 P:0
    Error erase block: T:1 L:0 B:3855 P:0
    Error erase block: T:1 L:0 B:3999 P:0
    Error erase block: T:1 L:0 B:4011 P:0
    Error erase block: T:1 L:0 B:4043 P:0
    Kasowanie zakończone
    Czas rozpoczęcia  	: 2016-10-14 12:06:00
    Czas zakończenia  	: 2016-10-14 12:06:19
    Szybkość          	: 485044,625 kB/s
    
  • #19
    funak
    Level 26  
    NAND Flash memory test: NAND512W3A2CN6 in TSOP48 housing.

    This memory has sectors of 512 + 16 bytes.
    Total capacity of 69,206,016 bytes.

    Memory erasing
    
    Kasowanie pamięci
    ID                    : 20 76 20 76 20 76 20 76
    Manufacturer          : ST
    Model                 : NAND512W3A2CN6
    Konfiguracja:
    Target count          : 1
    LUN count             : 1
    Block per LUN         : 4096
    Page per Block        : 32
    Page size             : 512+16
    Rozmiar całkowity     : 69 206 016 bajtów
    Error erase block: T:1 L:0 B:12 P:0
    Error erase block: T:1 L:0 B:2739 P:0
    Error erase block: T:1 L:0 B:3898 P:0
    Kasowanie zakończone
    Czas rozpoczęcia      : 2016-11-17 07:49:25
    Czas zakończenia      : 2016-11-17 07:49:39
    Szybkość              : 4819,756 kB/s
    


    Save to memory
    
    Zapis do pamięci
    ID                    : 20 76 20 76 20 76 20 76
    Manufacturer          : ST
    Model                 : NAND512W3A2CN6
    Konfiguracja:
    Target count          : 1
    LUN count             : 1
    Block per LUN         : 4096
    Page per Block        : 32
    Page size             : 512+16
    Rozmiar całkowity     : 69 206 016 bajtów
    Zapis zakończony
    Czas rozpoczęcia      : 2016-11-17 07:52:35
    Czas zakończenia      : 2016-11-17 07:55:14
    Szybkość              : 434,204 kB/s
    


    Memory content verification
    
    Weryfikacja zawartości pamięci
    ID                    : 20 76 20 76 20 76 20 76
    Manufacturer          : ST
    Model                 : NAND512W3A2CN6
    Konfiguracja:
    Target count          : 1
    LUN count             : 1
    Block per LUN         : 4096
    Page per Block        : 32
    Page size             : 512+16
    Rozmiar całkowity     : 69 206 016 bajtów
    Error verify page: T:1 L:0 B:12 P:0 Count bit:1758
    Error verify page: T:1 L:0 B:2739 P:0 Count bit:2272
    Error verify page: T:1 L:0 B:3898 P:0 Count bit:4170
    Weryfikacja zakończona
    Czas rozpoczęcia      : 2016-11-17 07:58:43
    Czas zakończenia      : 2016-11-17 08:00:27
    Szybkość              : 666,346 kB/s
    


    Reading from memory
    
    Odczyt z pamięci
    ID                    : 20 76 20 76 20 76 20 76
    Manufacturer          : ST
    Model                 : NAND512W3A2CN6
    Konfiguracja:
    Target count          : 1
    LUN count             : 1
    Block per LUN         : 4096
    Page per Block        : 32
    Page size             : 512+16
    Rozmiar całkowity     : 69 206 016 bajtów
    Odczyt zakończony
    Czas rozpoczęcia      : 2016-11-17 08:03:53
    Czas zakończenia      : 2016-11-17 08:05:35
    Szybkość              : 680,553 kB/s
    
  • #21
    Rogatka
    Level 1  
    Hello dear author! I decided to repeat the programmer. Facing this problem. I can't program the ATXMega hex file. AtmelStudio 7 Flip and say the wrong amount of hex file. Please help me explain this problem. Thanks Constantine.
  • #22
    funak
    Level 26  
    Hello.

    Work continued on the programmer.
    At the moment, I have already developed a BCH correction code algorithm that allows correction of up to 4 bits in a space of 512 bytes. I will officially join the NANDLite app soon. However, at the moment I found these codes in only one batch of NAND Flash memory which is the UBI file system.

    So I'm still looking for any batch to analyze the structure. Soon it will also be possible to directly upload batches from the NANDLite application.

    Current software version 1.0.1014.63 - attached.
  • #23
    tplewa
    Level 39  
    funak wrote:
    Hello.
    However, at the moment I found these codes in only one batch of NAND Flash memory which is the UBI file system.


    I don't know if this kind of searching in the dark makes any sense ;) Take a look, for example, at the NAND support in the U-Boot:
    http://git.denx.de/?p=u-boot.git;a=tree;f=drivers/mtd/nand;h=cbff4295e8b5faa1f06eca04653f1e7a2b8b422b;hb=2a48b3a2c4ec0f1775deeac5cfe7e8961072b6

    specifically in nand_base.c you can take a look at the choice of correction:

    http://git.denx.de/?p=u-boot.git;a=blob;f=drivers/mtd/nand/nand_base.c;h=d9e5fc95f5c8a616dd516a353fba5f708430587b;hb=2a48b3a2c4ec0f1775d896105cfe1775d896105cfe

    If we have Linux in our device (and in this case we also use U-Boot most often), we can infer a little about the applied corrections, including BCH. In the case of using other systems in devices, it may look quite different, and most of them are commercial, unfortunately closed systems (VxWorks, etc.) and here it can be different ...
  • #24
    funak
    Level 26  
    The programmer continues to develop, as evidenced by the next version of the software.

    The new version is ready to choose the interface language, the only thing left to do is to do the translations.

    In addition, drivers have been added to the application supporting the programmer, it is no longer necessary to search the Internet for the appropriate FTDI chip.

    The function of uploading batches to the NAND Lite server is currently being tested. This will greatly improve the further work on the programmer, especially the handling of bad blocks, bit correction, etc., where it is simply necessary to test the developed algorithms for handling the above-mentioned issues in a practical way.

    I realize it is problematic to send 8GB and more over the internet. Hence the idea to save the programmer users and perform the automatic collation function according to the principle: select files, click send and that's it.

    Below is the current list of user-verified supported systems:

    Spoiler:
    EON EN27LN1G08-25TCP
    EON EN27LN1G08-25TIP
    EON EN27LN2G08-25TCP
    EON EN27LN2G08-25TIP
    EON EN27LN4G08-25TCP
    EON EN27LN4G08-25TIP
    HYNIX HY27US08121B-T
    HYNIX HY27US08121B-TP
    HYNIX HY27US08281A-T
    HYNIX HY27US08281A-TP
    HYNIX H27UBG8T2BTR-BC
    HYNIX H27UBG8T2CTR-BC
    HYNIX H27UCG8T2ATR-BC
    HYNIX H27UCG8T2BTR-BC
    HYNIX H27U4G8F2DTR-BC
    HYNIX H27U4G8F2ETR-BI
    HYNIX H27U1G8F2BTR-BC
    HYNIX H27U1G8F2CTR-BC
    HYNIX H27U2G8F2CTR-BC
    MACRONIX MX30LF1G18AC
    MACRONIX MX30LF1G08AA-TI
    MACRONIX MX30LF4G18AC
    MICRON MT29F64G08CBAAAWP
    MICRON MT29F1G08ABADAWP
    MICRON MT29F1G08ABAEAWP
    MICRON MT29F2G08ABAEAWP
    MICRON MT29F4G08ABAEAWP
    MICRON MT29F4G08ABADAWP
    MICRON MT29F4G08AAC
    MICRON MT29F8G08ABABAWP
    MICRON MT29F64G08CBABAWP
    SAMSUNG K9G8G08U0A-PCB0
    SAMSUNG K9G8G08U0A-PIB0
    SAMSUNG K9GAG08U0E-SCB0
    SAMSUNG K9GAG08U0E-SIB0
    SAMSUNG K9GAG08U0F-SCB0
    SAMSUNG K9GAG08U0F-SIB0
    SAMSUNG K9GAG08U0M-PCB0
    SAMSUNG K9GAG08U0M-PIB0
    SAMSUNG K9LBG08U0E-SCB0
    SAMSUNG K9LBG08U0E-SIB0
    SAMSUNG K9HCG08U1E-SCB0
    SAMSUNG K9HCG08U1E-SIB0
    SAMSUNG K9F1G08U0A-PCB0
    SAMSUNG K9F1G08U0A-PIB0
    SAMSUNG K9F1G08U0D-SCB0
    SAMSUNG K9F1G08U0D-SIB0
    SAMSUNG K9F2G08U0B-PCB0
    SAMSUNG K9F2808U0C-YIB0
    SAMSUNG K9F2808U0C-PIB0
    SAMSUNG K9F5608U0A-YCB0
    SAMSUNG K9F5608U0A-YIB0
    SAMSUNG K9F5608U0A-PCB0
    SAMSUNG K9F5608U0A-PIB0
    SAMSUNG K9F5608U0B-YCB0
    SAMSUNG K9F5608U0B-YIB0
    SAMSUNG K9F5608U0B-PCB0
    SAMSUNG K9F5608U0B-PIB0
    SAMSUNG K9F5608U0C-YCB0
    SAMSUNG K9F5608U0C-YIB0
    SAMSUNG K9F5608U0C-PCB0
    SAMSUNG K9F5608U0C-PIB0
    SAMSUNG K9F5608U0D-PCB0
    SAMSUNG K9F5608U0D-PIB0
    SAMSUNG K9F1208U0C-XCB0
    SAMSUNG K9F1208U0C-XIB0
    SAMSUNG K9K4G08U0M-PCB0
    ST NAND128W3A
    ST NAND256W3A
    ST NAND512W3A
    ST NAND512W3A2CN6
    ST NAND512W3A2SN6
    ST NAND01GW3A
    ST NAND01GW3B2CN6
    ST NAND04GW3B2DN6
    TOSHIBA TC58NVG2S3ETA00
    TOSHIBA TC58DVM92A5TA00
    TOSHIBA TC58NVG1S3ETA00
    TOSHIBA TC58DVG3S0ETA00
    Toshiba TC58NVG0S3HTA00
  • #25
    Sprut
    Level 9  
    hi collected the programmer came so XMEGA hex firmware file. checksum counted for you, but still a mistake. if you can help me send the hex firmware operating mail. djsprut(_at_)mail.ru
  • #26
    leonow32
    Level 30  
    Hey, I don't quite understand the purpose of inserting XMEGA and FT245. Wouldn't it be easier to do everything on the FT2232 or USB straight from XMEGA? There are some fancy drivers for the FT2232 and most programmers, e.g. for FPGA, use the same chip.
  • #27
    funak
    Level 26  
    Yes, I considered the possibility to control with FDTI and bit-bang, but the freedom to configure the pins connected to XMEGA prevailed.

    The second thing is that in XMEGA I can use the hardware read / write / erase time measurement.

    The third thing is, from the level of the PC application, I send a command to XMEGA to perform a specific task and wait for the result. It is convenient for me.

    The fourth thing is that the programmer will be expanded with additional functionalities, so such an extensive design of the FTDI - XMEGA - NAND was also thought out in this respect.

    Added after 7 [minutes]:

    Sprut wrote:
    hi collected programmer came yes XMEGA hex firmware file. checksum counted for you, but still a mistake. if you can help me send the hex firmware operating mail. djsprut(_at_)mail.ru


    The attachment is XMEGA version 1024a fimware.
  • #28
    Sprut
    Level 9  
    If you add a task to the wrong block, this is the best budget solution.
  • #29
    funak
    Level 26  
    Hello

    Feel free to download the latest version of the NANDLite programmer application.
    Link

    Version 1.0b1014.78
    + Added test functionality of sending batches to the server for structure analysis.


    Flash NAND Lite Memory Programmer! TSOP48

    The Wsady tab has appeared, where you can add files with a batch, which will be easily sent to the server for analysis.

    Currently, the server capacity is 200GB, with time its capacity will expand.

    The sent batches will help me to work out data structures for bypassing bad memory blocks, as well as to test ECC data correction algorithms.

    Of course, the sent files are anonymous and only available to me.

    I attach the version of the NANDLite application without installation, in the attachment.
  • #30
    funak
    Level 26  
    Thanks for fast reaction. Until today I have received from you 5 batches for the K9GAG08U0E chip with a capacity of 2 GB. Two things are related to this:
    - the upload system is working properly
    - I will start the analysis of BAD BLOCKS from these systems.

    I already have some information worked out, incl. that the BCH type ECC error correction algorithm was applied.
    Each 8kB page is fragmented into 1036 bytes chunks, which are backed up by an additional 42 bytes of data, allowing 24 bits to be corrected. So there may be 192 erroneous bits in total on a page and you will still be able to read the information correctly. So, in my opinion: Not bad :)
    Samsung system used: FSR: Flex Sector Remapper.
    There is the right thing to look for, i.e. a map with the relocation of damaged blocks, in which I hope that the sent batches will help me.

    Thus, at the same time, I am asking you to send any batches for further analysis.
    Soon it will be possible to download uploaded batches, direct programming from the Internet and many, many other nice features.

    Thank you for supporting NAND Lite!