logo elektroda
logo elektroda
X
logo elektroda

Flash NAND Lite Memory Programmer! TSOP48

funak 384060 551
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
  • ADVERTISEMENT
  • #453 20538738
    funak
    Level 27  
    NOR type memory, not enough GPIO pins, unfortunately it will not read this memory.
  • #454 20580188
    thematush
    Level 7  
    Will version 1.0/1.1 support W29N01HV memory?
  • #456 20580343
    thematush
    Level 7  
    cool :D
    Any progress with version 2.0?
  • ADVERTISEMENT
  • #457 20580357
    funak
    Level 27  
    Prototype stage, there are two versions being tested.

    And version 3.0 is quite postponed due to the high cost of components.

    Added after 45 [minutes]:

    In June, a new version of the software should appear, it will have a lot of news and improvements that have not been available so far.
    Traditionally, the application will show more than is needed for the inquisitive :)

    Perhaps there will be a digital signature of the application, so far I am collecting capital for its purchase, and it turns out that these are not cheap things.
    In the era of all ransomware and other threats, such a signature seems to be mandatory in the application.

    I am also waiting for suggestions on what is missing in the application, perhaps it will be included in the June edition.
  • #458 20638397
    ptv55316
    Level 2  
    can any friend give me Gerber file to make pcb?

    thanks
  • #459 20638646
    funak
    Level 27  
    ptv55316 wrote:
    can any friend give me Gerber file to make pcb?

    thanks


    I do not share PCB files.
  • #460 20646500
    ptv55316
    Level 2  
    y sir if you give software free than share garbar file..to help peopls..
  • #461 20646643
    funak
    Level 27  
    The layout is so simple that it can be assembled on a breadboard, so I provided a schematic and NANDLite support software to assemble it myself.

    I will write again, I do not provide Gerber files to create a copy of NANDLite. But you can buy it from me.
  • #464 20673425
    ptv55316
    Level 2  
    Dear sir,

    i have RT809H PROGRAMER BUT HE NOT HAVE THIS FLASH NO:FORESEE-FS33ND04GS108TFI0

    HOW TO ADD THIS ?

    THANKS
  • #465 20700595
    Vsky
    Level 1  
    Good morning! Is it possible to force adding bad blocks (for the K9GAG08U0E-SCB0 chip)? Based on verification results.
    Thank you for your answer.
  • ADVERTISEMENT
  • #466 20700608
    funak
    Level 27  
    There will be a possibility. A new version of the software will be released in September.
  • #467 20736056
    kirejan
    Level 9  
    >>20673425
    Hello,

    I have the same problem and I also have an RT809H programmer!
    Have you found a solution?
  • #468 20781452
    masterdums
    Level 2  
    Hello. How are things going with the new version of the software?
  • #469 20795867
    masterdums
    Level 2  
    funak wrote:
    There will be such a possibility. A new version of the software will be released in September.


    Is the project stuck?
  • #470 20795875
    funak
    Level 27  
    I'm at a crossroads. Please be patient. Because, I'm planning to release a completely new version of the software.
  • #471 20840133
    tatalika
    Level 1  
    Programmer
    Do you nand program MT29F64G08CBABAWP and flash? Is there a list?
    Can you give me information and where can I download
    the software? I want to buy
  • #472 20873140
    Szymon Tarnowski
    Level 27  
    I really like this project, I`ve always wanted to do something like this myself, but I still don`t have the time, maybe one day. Great idea to connect Flash directly to FTDI, maybe I`ll steal this idea someday ;)

    As for the new version, I understand the pain of FPGA shortages, even before COVID hit supply chains, FPGAs for hobbyists were hard to come by. The delay between market introduction and availability for amateurs is on the order of 10-15 years, today CPLD level circuits operating at 3.3/5V are readily available :D Unfortunately, instead of one die that would solve the entire design problem, it ends with a bucket of gates and transistors, as in some programmers.

    As for FLASH systems, in my opinion it is a mistake to combine the type of system with the method of data protection. The manufacturer of the system is responsible for the FLASH system and its reading/writing method, and the manufacturer of the controller system is responsible for data protection. The same FLASH system in different applications has different data protection methods, and different FLASH systems with the same controller have the same correction data recording scheme.

    As for the program, the current distribution method is a mistake. On my Win11 laptop it took me 20 minutes to install it due to dotNET problems and it would probably have taken me longer if I hadn`t used special spells. My advice is to generate a normal EXE.

    I don`t know if you already have these data checksum formats, but I will share my recent discovery, elnec has a nice application note where it describes methodologies for dealing with bad blocks and checksums, there are also source materials for Samsung`s mystical formats, link to the note https:// www.elnec.com/sw/an_programming_nand_flash_using_elnec_programmers.pdf
  • #473 20876533
    Szymon Tarnowski
    Level 27  
    While exploring the topic of TSOP48 sockets, I found another version of NandLite built only on the ARM processor. The seller directs you to this thread in the description. Is this some kind of prototype version or just a hoax?

    Close-up of a PCB with an ARM STMicroelectronics processor and TSOP48 socket.
  • #474 20876718
    funak
    Level 27  
    This is not my version, developed by someone and named identically to mine. Additionally, it works with my application.
    I could disable support for this programmer with one software update, but the entire project was intended for research and development purposes, so I haven`t done it yet.

    Added after 4 [minutes]:

    Szymon Tarnowski wrote:
    I really like this project, I`ve always wanted to do something like this myself, but I still don`t have the time, maybe one day. Great idea to connect Flash directly to FTDI, maybe I`ll steal this idea someday ;)

    As for the program, the current distribution method is a mistake. On my Win11 laptop it took me 20 minutes to install it due to dotNET problems and it would probably have taken me longer if I hadn`t used special spells. My advice is to generate a normal EXE.


    In fact, the idea was to be able to run the application on older machines that we usually have in the workshop, but it`s time to change that, the equipment has become cheaper, everything has moved forward.

    Szymon Tarnowski wrote:
    I don`t know if you already have these data checksum formats, but I will share my recent discovery, elnec has a nice application note where it describes methodologies for dealing with bad blocks and checksums, there are also source materials for Samsung`s mystical formats, link to the note https:// www.elnec.com/sw/an_programming_nand_flash_using_elnec_programmers.pdf


    Thank you, a mine of knowledge :)
  • #475 20938679
    gigimorphe
    Level 1  
    >>17878783
    hi dear friend where can i get the programmer?
    could you please advice any of the link?

    many thanks

    regards

    gigi
  • ADVERTISEMENT
  • #476 20938895
    funak
    Level 27  
    I sent a private message.
  • #477 20963273
    Folxs
    Level 13  
    Hello, I would like to ask about programming the SAMSUNG K9GAG08U0E NAND memory for SAMSUNG SMART TV LED D5500 series (UE37D5500 motherboard BN41-01660B BN41-01605A) - my forum thread or even two:
    1. https://www.elektroda.pl/rtvforum/topic4035837.html#20960188
    2. https://www.elektroda.pl/rtvforum/topic4035851.html#20960287

    My procedure is this:
    "New" memory from Aliexpress, I delete it - the programmer collects the Bad Block map, then I prepare the .ISO file for the given chip using the "Prepare file D5500 - Not tested on TV" button and I upload the file later by clicking "Save to memory" - it loads approximately 1 hour and then verification...

    It doesn`t pass verification - or should it? Whether it is from a previously prepared file or from the original, verification always differs.

    So it has to be? Windows software bugs?

    I will add that I have this programmer from China, I didn`t know then that there was such a thing as an "original" - I just bought it and that`s it - I`m very sorry to the creator and author of this place :(

    I uploaded the batch I added in the thread: https://www.elektroda.pl/rtvforum/topic4035851.html#20960287 and it got the TV back on its feet, but when I tried to update the TV firmware or the smart TV function - the TV stopped resets immediately. Online updates even 0%, 12% or 24% and reset - randomly.

    I uploaded another batch from the forum: https://www.elektroda.pl/rtvforum/topic3444413.html#17116318 - it still had logo bootloops.

    So I`m wondering if my NAND is programmed wrong? Or is the second NAND BGA defective? Or a BGA "processor"?

    Can anyone suggest something?
  • #478 20963348
    funak
    Level 27  
    I gave advice in private.
  • #479 20963867
    funak
    Level 27  
    A short spontaneous lecture about NAND memories:

    NANDs are not NORs, so the manufacturer assumed that we would make memories that would have a higher packing density on the silicon wafer, but there are leakages on the gates, defects in the silicon, generally bad. So what to do here? Invite a mathematician to work, let him generate some repair data and put it in an additional memory area (they conventionally call it SpareArea).

    And this is the whole nuance with NAND memories.

    At the beginning, these were NAND SLC memories.
    SLC indicated that this means that 1 bit of data is stored in one memory cell, i.e. specifically for memory powered by 3.3V, a memory cell can store the state of a transistor that has a voltage of 0V or 3.3V on it.

    Then someone came up with an idea. Hello, hello, since the memory in the transistor is stored in the form of voltage, is it possible to send just a little bit of charge to the gate so that the transistor is half-on?

    Ha! It worked, this is how MLC type memories were created, which in one transistor stores 2 memory bits that indicate 4 voltage levels, for example 0V, 1V, 2V, 3V.

    And the chase began. Can you do more? Of course you can, TLC and QLC were created (4 bits, i.e. 16 voltage levels, on the same surface, because it is one transistor).

    So what to do next? How to increase memory capacity when it is difficult to miniaturize a transistor?

    Go up, like in blocks. They started making layers and instead of 1 silicon wafer, there are, for example, 100, 200, and probably 300 layers.
    Now I read that by 2024 Samsung expects to apply 280 layers.
    https://www.purepc.pl/samsung-przygotujemy-si...sh-o-najwiekzym-zageszczenia-komorek-w-branzy

    And how to control it when there are more and more defects?

    Use better mathematical operations, whatever you write will save, but if the bits get corrupted during reading, mathematics will recreate them. There are processors, let them grind data, that`s what they are for.

    And for example, for the K9GAG08U0E NAND memory, the catalog note says:

    ECC Requirement: 24bit/(1K +54.5)Byte

    Which more or less means that correction codes should be used such that they are capable of correcting 24 arbitrary bits for 1kB of space on the page.

    And since the page size is 8192+436 bytes, it actually requires the use of 8 separate ECC codes, each with 24 bit correction capacity.

    And it`s nice here for now, because we`re getting a handle on it, but we also have something written there:

    Table showing NAND memory parameters for various models, including minimum, typical, and maximum number of blocks.

    And this is where my hands, ears and everything fall off.

    How so! Entire blocks damaged?
    A memory block is a space composed of pages, so for K9GAG..., each damaged block is (8192+436)*128 = 1104384 bytes, i.e. just over 1MB is forgotten.

    Now the whole problem is, how to save data to such a leaky memory?

    The software method comes in handy - you create a table in some block and indicate that block number 1536 is damaged, then don`t go there, but use 2043 instead.

    And now the magic begins! Because every manufacturer, every memory, does it differently, one will use Hamming correction codes, another BCH, another RS, it does not matter which data he takes into the correction codes and in what order - it`s up to him.

    The topic of BB is also a "free American woman" because there is no standard here either, so everyone does what they want.. One skips damaged blocks and saves after order, while the other writes in a certain block/page number in the form of an array in a form known only to him.

    To sum up, NAND memories are very interesting in terms of the hardware and software solutions used.

Topic summary

The discussion centers on the development and use of a low-cost Flash NAND memory programmer designed specifically for TSOP48 packaged NAND Flash chips. The programmer targets applications such as reading and programming NAND Flash from devices like flash drives, TVs, routers, and modems, offering an affordable alternative to expensive professional tools. The design includes a permanently soldered TSOP48 socket and uses an FT245 USB interface combined with an Atmel XMEGA microcontroller for flexible control and hardware timing measurements. Software development focuses on supporting various NAND Flash memory types, including multi-die ("4 die") memories, and implementing error correction algorithms such as BCH capable of correcting multiple bit errors per 512-byte sector. The NANDLite application supports reading, writing, erasing, and batch uploading of NAND dumps for analysis and algorithm improvement, including handling bad block tables (BBT) and ECC data correction. Specific NAND Flash models like Samsung K9GAG08U0E and Toshiba TC58NVG6T2FTA00 are extensively tested, especially in relation to Samsung D5500 series TVs. Challenges discussed include addressing discontinuous memory spaces, bad block management, different addressing schemes (e.g., Toshiba's additional page addressing commands), and the complexity of NAND file systems like UBIFS. The project is evolving with plans for faster data transfer rates (up to 50MB/s in future versions), improved software interface, multilingual support, and expanded memory support including eMMC in the future. Comparisons with commercial programmers such as RT809H and Lens-Men highlight differences in speed, functionality, and openness of software. The community contributes NAND dumps for analysis to enhance error correction and bad block handling algorithms. The discussion also touches on hardware considerations like the quality of Chinese TSOP48 sockets, USB driver compatibility (including Windows XP support), and the limitations of TSOP48 packaging as industry shifts toward BGA and FBGA packages, suggesting ISP programming as a future direction.
Summary generated by the language model.
ADVERTISEMENT