Elektroda.com
Elektroda.com
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.com

Flash NAND Lite memory programmer! TSOP48

funak 208458 389
This content has been translated » The original version can be found here
  • #31
    tplewa
    Level 38  
    @funak

    Maybe some other way how to send content. If something comes in handy, I can download and send ... unfortunately I do not have your programmer.
    Unless you can run a program without it :)
  • #32
    funak
    Level 24  
    You are installing the application from the previous post:
    http://software.progelo.pl/NANDLite/publish.htm

    Or you download the version without installation, go to the tabs ripples, click Add file ...
    you select files and that's how ... upload is automatic, just have the NANDLite application enabled.
    You can close the application at any time, after re-enabling, the shipment is resumed.

    Each file, regardless of the size of either 2GB or 16GB, is divided into fragments of 1MB and checked on the server. If a given fragment exists, it is skipped, thus faster shipping occurs.

    Added after 33 [minutes]:

     The presence of a physical programmer is not required.
  • #33
    tplewa
    Level 38  
    funak wrote:

    Added after 33 [minutes]:

     No physical programmer is required.


    Luz :) that's what I wanted to do :) How will I have some equipment I will try to send the ripples.
    Maybe others join the project because I mentioned cool :)
  • #34
    funak
    Level 24  
    There may even be memory chips that do not work - that is, faulty. Any gold file.

    On days, I will also add a description field to each batch to provide additional information, e.g. from what TV it has been read, what memory to use, whether it is functional or not what the symptoms are.

    Looking through memory batches K9GAG08U0E I see that it has two memory maps of damaged blocks. One of the batches is the lack of a copy of the map. It also gives food for thought. The hypothesis is that during write of the damaged blocks map a write error may occur and here may be a problem - hence the TV may not start - we will verify it soon.

    Added after 4 [minutes]:

     I already recognize 5 partitions, addresses and their sizes in the batch. Each partition is preceded by a few to a dozen or so blocks of mysterious content (I suspect that some kind of FTL - Flash Translation Layer), then the header of the correct FAT32 partition begins.
  • #35
    Sprut
    Level 8  
    This layout on the TV Samsung K9GAG08U0E necessary, because this shift blot dampe and puts a mark
  • #36
    funak
    Level 24  
    I spent the whole four days trying to finally work out BCH. But it worked.
    The problem resulted from the correct calculation of the Galois Field function.

    GF (2 ^ m)

    where:
    m = 13 for a block of 512 bytes
    m = 14 for a block of 1024 bytes.

    And in the Linux documentation, we find such primitive polynomials for m = 5 .. 15:

    Code:

       /* default primitive polynomials */
       static const unsigned int prim_poly_tab[] = {
          0x25, 0x43, 0x83, 0x11d, 0x211, 0x409, 0x805, 0x1053, 0x201b,
          0x402b, 0x8003}


    Where the algorithm for m = 13 worked properly, while for m = 14 "it spilled out". It turned out that it is very important what primitive polynomials will apply and if it is not correct then the whole counting is fruitless.

    Out of curiosity, I will say that, for example, Atmel ( Link < br />) in the SAM9G15 / G25 / G35 / X25 / X35 processors has BCH hardware support with the GF (2 ^ 13) and GF (2 ^ 14) functions but with m = 14 it uses a different primimitive polynomials 0x4443.

    Determining BCH bits is necessary to make changes to the NAND memory image. At the moment I know where the bitmap is with damaged memory blocks, where are the partitions, how they are arranged, and most importantly where to enter values to include damaged blocks in the new memory.
    All you have to do is to put it together and add it as a function to the NANDLite programmer.

    And of course, finally to test whether the loaded batch will work on the TV, because that's all we want.

    Added after 1 [minutes]:

     For curiosity, I will write:

    The calculation of GF (2 ^ 14) takes about 88 seconds.

    Fortunately, this function counts only once.
  • #37
    Sprut
    Level 8  
    This software from tv samsung ue32d5500 in the archive are two files 11 1 is considered the second only to erase them .in the 2bed block
    The ue.5500 firmware archive works.
    Is it possible to fit the chip deleted?
    There is a television for experiments.
    We apologize for the clumsy Polish writing in Russian and translate the GOOGL translator.
    Э т о п р о ш и в к и с tv samsung ue32d5500 в а р х и в е 11 д в а ф а й л а 1 с ч и т а н н ы й в т о р о й п о с л е с т и р а н и я . в н и х 2bed block
    А р х и в ue.5500 р а б о ч а я п р о ш и в к & # 1072 ;.
    М о ж н о е ё п о д о г н а т ь п о д с т е р т у ю м и к р о с х е м у ?
    Е с т ь tv д л я э к с п е р и м е н т о & # 1074 ;.
    И з в и н я ю с ь з а к о р я в ы й П о л ь с к и й п и ш у н а р у с с к о м и п е р е в о ж у googl п е р е в о д ч и к о & # 1084 ;.
    https://drive.google.com/file/d/0B3udCQkp0OogMTdyNFc3SVA2Q0k/view?usp=drivesdk
    https://drive.google.com/file/d/0B3udCQkp0OogNXN6ZF9kTHgwdms/view?usp=drivesdk
  • #38
    funak
    Level 24  
    @Sprut

    Enter the numbers of the damaged blocks in the new memory.

    EN: List the corrupt blocks in the new memory K9GAG08U0E,
  • #40
    funak
    Level 24  
    Hello

    Today, I made an algorithm that verifies the correctness of data blocks in a batch taken from the K9GAG08U0E memory.

    On the 65 blocks of memory read, I will remind everyone consists of 128 pages, and each page is divided into 8 fragments, the statistics are as follows:


     STAT: OK = 42220 COR = 32 FF = 23704 00 = 0 ERR = 0 ERR24 = 604

    where:

    OK - the correct fragment was found, the calculated BCH agrees with that which is contained in the memory
    COR - the sum was wrong, but the bits have been corrected, i.e. recreated
    FF - all bytes contain 0xFF
    00 - all bytes contain 0x00
    ERR - attempt to play bits failed
    ERR24 - the number of incorrect bits is greater than 24

    Added after 10 [hours] 55 [minutes]: < br />

     Hello

    Today is the statistics update:
    STAT: OK = 123574 COR = 1038 FF = 506936 00 = 2048 ERR = 0 ERR24 = 35076

    00 - we have 2048, which means two full damaged blocks.

    Please look at the large number of ERR24, here is an example:

    Code:

    BCH: T:1 L:0 B:653 P:30 Offset:0 Count bit:166 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:1 Count bit:162 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:2 Count bit:158 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:3 Count bit:175 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:4 Count bit:169 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:5 Count bit:159 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:6 Count bit:176 ERR BIT>24
    BCH: T:1 L:0 B:653 P:30 Offset:7 Count bit:160 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:0 Count bit:182 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:1 Count bit:150 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:2 Count bit:174 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:3 Count bit:165 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:4 Count bit:162 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:5 Count bit:172 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:6 Count bit:175 ERR BIT>24
    BCH: T:1 L:0 B:653 P:32 Offset:7 Count bit:159 ERR BIT>24
    BCH: T:1 L:0 B:653 P:33 Offset:7 Count bit:1 OK
    BCH: T:1 L:0 B:653 P:34 Offset:0 Count bit:163 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:1 Count bit:151 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:2 Count bit:182 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:3 Count bit:166 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:4 Count bit:158 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:5 Count bit:166 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:6 Count bit:172 ERR BIT>24
    BCH: T:1 L:0 B:653 P:34 Offset:7 Count bit:169 ERR BIT>24
    BCH: T:1 L:0 B:653 P:35 Offset:5 Count bit:177 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:0 Count bit:153 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:1 Count bit:167 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:2 Count bit:188 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:3 Count bit:179 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:4 Count bit:172 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:5 Count bit:178 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:6 Count bit:165 ERR BIT>24
    BCH: T:1 L:0 B:653 P:36 Offset:7 Count bit:172 ERR BIT>24


    Differing bits indicate that the data in this passage has been abandoned and saved elsewhere. According to the specificity of Wear Leveling.

    I do not yet find a position where information about which fragments are currently used is stored - that is, they are relevant.

    Added after 9 [hours] 15 [minutes]: < br />

     Today I have done a statistic of some charge to K9GAG08U0E labeled OK: GQ5X_K9GAG08U0E_D5500_OK.bin.
    Due to a small error in the program, only 2064 blocks were calculated, instead of 2074, nevertheless, the following conclusions can be drawn:


    STAT Block: 2064 OK = 768953 COR = 13780 FF = 1104967 00 = 24576 ERR = 0 ERR24 = 201260

    And below, the statistics of the number of fragments with differing bits (0- means that the bits do not differ):
    STAT: 0 = 768953
    STAT: 1 = 13125
    STAT: 2 = 632
    STAT: 3 = 22
    STAT: 4 = 1

    The conclusion is that theoretically efficient memory had 13780 fragments with incorrect bits, but it was possible to correct them. Most were 4 bits incorrect in a single fragment.

    But more strange is that there are fragments that do not have the correctness of parity bits and there are a lot of them, as much as 9.5% of the entire capacity. If, statistically speaking, the number of erroneous parity bits remains in the range of about 150-180 bits.

    At the moment I am not able to explain why this is happening and where is the logic here. Even if I consider this data as irrelevant, i.e. previously saved, but no longer valid, because there is a new version of data stored in another area of memory, including Wear Leveling, I still can not understand why parity bits do not match. The more that this memory has the NOP (Number of programming) parameter is 1.

    Attached the whole file from the batch analysis process.
  • #41
    lukasis6
    Level 17  
    I warmly welcome. Are the K9GAG08U0E bones 2GB batch programming for Samsung TVs already programmed correctly?
  • #42
    funak
    Level 24  
    At the moment, the algorithms are prepared and are waiting to be introduced to the NAND Lite application. Later on TV tests.
  • #43
    lukasis6
    Level 17  
    funak wrote:
    At the moment, the algorithms are prepared and are waiting to be introduced to the NAND Lite application. Later on TV tests.

    Ok - I am waiting impatiently - I have some new bones, a good load and TV ;)
  • #44
    funak
    Level 24  
    Hello

    I will buy / borrow the TOSHIBA memory to test the algorithms in the NANDLite programmer:

    TC58NVG6T2FTA00
    The memory is 64Gbit = 8GB

    If someone has such a memory, please contact me
  • #46
    lukasis6
    Level 17  
    funak wrote:
    At the moment, the algorithms are prepared and are waiting to be introduced to the NAND Lite application. Later on TV tests.

    Something on the subject?
  • #47
    funak
    Level 24  
    There is a new version of the application: 1.0.1014.79.

    http://software.progelo.pl/NANDLite/publish.htm

    And in the new version, the long-awaited functionality of K9GAG08U0E memory programming used in SAMSUNG's D5500 TV sets.
    They say D5700 too.

    To do this:

    1. Start the NAND Lite application!
    2. Connect to the programmer
    3. Detect the system, indicate the correct one from the list -> K9GAG08U0E
    4. Go to the Transfer tab
    5. Delete the memory
    6. Press the Prepare file D5500 button
    7. Indicate the source file with a "good" TV batch
    8. Indicate the file to which you want to save the "new" batch
    9. Wait for the function button to finish (about 2-5 minutes)
    10. Click Save to memory and select the save input
    11. Program
    12. Optionally verify, although it is MLC memory, therefore bit-breaking is a normal thing
    12. Check whether the TV's memory works

    Screenshot of memory erase:
    Flash NAND Lite memory programmer! TSOP48

    A screenshot of the preparation of a new batch that takes into account the damaged blocks of the new memory:
    Flash NAND Lite memory programmer! TSOP48

    As the first analysis file I downloaded from my colleague Sprut.
    One damaged block is visible in it marked in the BBT table.

    And LOG applications:
    Code:
    Rozpoczęto przytowanie pliku do zapisu
    
    Ustawiam parametry kodera BCH
    Generuję tablicę BCH
    Obliczam GF
    Postęp GF:530
    Postęp GF:659
    Postęp GF:752
    Postęp GF:822
    Postęp GF:875
    Postęp GF:921
    Postęp GF:960
    Postęp GF:995
    Postęp GF:1026
    Postęp GF:1054
    Postęp GF:1081
    Postęp GF:1105
    Postęp GF:1125
    Postęp GF:1140
    Postęp GF:1154
    Postęp GF:1167
    Postęp GF:1178
    Zakończono obliczanie GF
    Wykonuję kopię pliku
    Szukam tablicy partycji
    Znaleziono tablicę partycji. Blok:2046
    Liczba partycji:5
    1. Start block:0 Length:214
    2. Start block:214 Length:256
    3. Start block:470 Length:214
    4. Start block:684 Length:1040
    5. Start block:1724 Length:200
    Zakończono szukanie tablicy partycji
    Szukam tablicy uszkodzonych bloków
    Znaleziono tablicę uszkodzonych bloków. Blok:2045
    Liczba uszkodzonych bloków w tablicy:1
    1. Block:1131 Replace to:2043
    Zakończono szukanie tablicy uszkodzonych bloków
    Koryguję bloki danych
    Move block. From: 2043 To: 1131
    Zakończono korygowanie bloków danych
    Aktualizuję tablicę uszkodzonych bloków
    Zakończono aktualizację tablicy uszkodzonych bloków
    Tworze tablice uszkodzonych blokow
    Uszkodzony blok: 411
    Uszkodzony blok: 1172
    Uszkodzony blok: 2040
    Uszkodzony blok: 2073
    Move block. From: 411 To: 2043
    Move block. From: 1172 To: 2042
    Move block. From: 2040 To: 2041
    Zakończono tworzenie tablicy uszkodzonych blokow
    Aktualizuję tablicę uszkodzonych bloków
    Zakończono aktualizację tablicy uszkodzonych bloków
    Plik gotowy do zaprogramowania pamięci:
    M:\tmp\15_K9GAG08U0E-SCB0_20170818_170742.bin


    Memory verification here:
      weryfika..a.txt Download (60.48 kB)

    Based on the verification, it can be stated that the memory has been properly programmed and verified. Differences occurring max. 2 bits are within the normal range, where the standard here is at least 24 bits.

    This is the first version of this functionality, so I apologize in advance for the rush of information. As time goes by, I'll put in chaos.

    In the meantime, I invite you to test and see if it really works.

    I am also asking you to send me the dumps, because they generally have two versions circulating in the network, the first one with one BBT board, and the second with two BBT tables.
    I only had one version with two BBTs, which is probably incorrect in my opinion, because I did not agree with the logical-structural.
  • #48
    waldix

    Level 18  
    Hello

    Tomorrow when I manage I will let you know how it went because I have just two TV sets on the table to do.

    I greet Waldek
  • #49
    funak
    Level 24  
    waldix wrote:
    Tomorrow when I'm done I'll let you know how it went because I have just two TV sets on the table to do.

    The revelation, please attach the LOG from the preparation of the file, and possibly send the source batch to me.

    Added after 6 [minutes]:

     Analysis of sent batches:

    ue32d5500-1023.bin
    Spoiler:
    Code:

    Rozpoczęto przytowanie pliku do zapisu
    Ustawiam parametry kodera BCH
    Generuję tablicę BCH
    Obliczam GF
    Postęp GF:520
    Postęp GF:658
    Postęp GF:748
    Postęp GF:820
    Postęp GF:873
    Postęp GF:924
    Postęp GF:971
    Postęp GF:1012
    Postęp GF:1047
    Postęp GF:1079
    Postęp GF:1106
    Postęp GF:1129
    Postęp GF:1145
    Postęp GF:1160
    Postęp GF:1172
    Postęp GF:1180
    Zakończono obliczanie GF
    Wykonuję kopię pliku
    Szukam tablicy partycji
    Znaleziono tablicę partycji. Blok:2046
    Liczba partycji:5
    1. Start block:0 Length:214
    2. Start block:214 Length:256
    3. Start block:470 Length:214
    4. Start block:684 Length:1040
    5. Start block:1724 Length:200
    Zakończono szukanie tablicy partycji
    Szukam tablicy uszkodzonych bloków
    Znaleziono tablicę uszkodzonych bloków. Blok:2045
    Liczba uszkodzonych bloków w tablicy:2
    1. Block:594 Replace to:2043
    2. Block:944 Replace to:2042
    Znaleziono tablicę uszkodzonych bloków. Blok:2044
    Liczba uszkodzonych bloków w tablicy:3
    1. Block:594 Replace to:2043
    2. Block:944 Replace to:2042
    3. Block:1483 Replace to:2041
    Zakończono szukanie tablicy uszkodzonych bloków
    Koryguję bloki danych
    Move block. From: 2043 To: 594
    Move block. From: 2042 To: 944
    Zakończono korygowanie bloków danych
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Tworze tablice uszkodzonych blokow
    Uszkodzony blok: 411
    Uszkodzony blok: 1172
    Uszkodzony blok: 2040
    Uszkodzony blok: 2073
    Move block. From: 411 To: 2043
    Move block. From: 1172 To: 2042
    Move block. From: 2040 To: 2041
    Zakończono tworzenie tablicy uszkodzonych blokow
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Plik gotowy do zaprogramowania pamięci:
    A:\DUMP-NAND\ue32d5500-1023_K9GAG08U0E-SCB0_20170821_171946.bin


    NANDLite_D5500_K9GAG08U0E-SCB0_2_OK.bin
    Also two BBT boards
    Spoiler:
    Code:

    Rozpoczęto przytowanie pliku do zapisu
    Wykonuję kopię pliku
    Szukam tablicy partycji
    Znaleziono tablicę partycji. Blok:2046
    Liczba partycji:5
    1. Start block:0 Length:214
    2. Start block:214 Length:256
    3. Start block:470 Length:214
    4. Start block:684 Length:1040
    5. Start block:1724 Length:200
    Zakończono szukanie tablicy partycji
    Szukam tablicy uszkodzonych bloków
    Znaleziono tablicę uszkodzonych bloków. Blok:2045
    Liczba uszkodzonych bloków w tablicy:1
    1. Block:531 Replace to:2043
    Znaleziono tablicę uszkodzonych bloków. Blok:2038
    Liczba uszkodzonych bloków w tablicy:6
    1. Block:0 Replace to:2042
    2. Block:531 Replace to:2043
    3. Block:2039 Replace to:2038
    4. Block:2040 Replace to:2039
    5. Block:2041 Replace to:2040
    6. Block:2044 Replace to:2038
    Zakończono szukanie tablicy uszkodzonych bloków
    Koryguję bloki danych
    Move block. From: 2043 To: 531
    Zakończono korygowanie bloków danych
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Tworze tablice uszkodzonych blokow
    Uszkodzony blok: 411
    Uszkodzony blok: 1172
    Uszkodzony blok: 2040
    Move block. From: 411 To: 2043
    Move block. From: 1172 To: 2042
    Move block. From: 2040 To: 2041
    Zakończono tworzenie tablicy uszkodzonych blokow
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Plik gotowy do zaprogramowania pamięci:
    A:\DUMP-NAND\NANDLite_D5500_K9GAG08U0E-SCB0_2_OK_K9GAG08U0E-SCB0_20170821_172427.bin
  • #50
    waldix

    Level 18  
    Hello

    Two batches, one of which is NandLit-matched with a new memory that works normally when it's mounted to the TV.
    Two different televisions and two different old ones (original ones that were mounted on the TV) memory and restarts as they were.
    Either a bad copy or bad programming. I have access to a working TV and if nothing is explained, I can still make copies and program again, but this is only after Wednesday.
    I sent NandLit to the server for the rips and logs.
    One is with the input on 100% copied from the working memory because I look at the TV every day, the other I did cleanly for the experiment and I do not remember where I have.

    I greet Waldek
  • #51
    Lensmen
    Level 11  
    The TV will work, but if you update the software and connect the Smart function? The presence of damaged blocks affects the functions of the TV after updating and connecting the internet.
  • #52
    funak
    Level 24  
    I received such feeds and their LOGs:


    Code:

    Kasowanie pamięci
    ID                   : EC D5 84 72 50 42 EC D5
    Manufacturer         : SAMSUNG
    Model                : K9GAG08U0E-SCB0
    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:3 P:0
    Error erase block: T:1 L:0 B:297 P:0
    Error erase block: T:1 L:0 B:388 P:0
    Error erase block: T:1 L:0 B:757 P:0
    Error erase block: T:1 L:0 B:865 P:0
    Error erase block: T:1 L:0 B:923 P:0
    Error erase block: T:1 L:0 B:999 P:0
    Error erase block: T:1 L:0 B:2073 P:0
    Kasowanie zakończone
    Czas rozpoczęcia     : 2017-08-21 14:29:29
    Czas zakończenia     : 2017-08-21 14:29:33
    Szybkość             : 528661,959 kB/s


    The memory has 8 damaged blocks.

    Analysis:
    Code:

    Rozpoczęto przytowanie pliku do zapisu
    Ustawiam parametry kodera BCH
    Generuję tablicę BCH
    Obliczam GF
    Postęp GF:506
    Postęp GF:628
    Postęp GF:710
    Postęp GF:778
    Postęp GF:833
    Postęp GF:873
    Postęp GF:900
    Postęp GF:937
    Postęp GF:970
    Postęp GF:1000
    Postęp GF:1027
    Postęp GF:1052
    Postęp GF:1075
    Postęp GF:1096
    Postęp GF:1116
    Postęp GF:1130
    Postęp GF:1143
    Postęp GF:1155
    Postęp GF:1167
    Postęp GF:1177
    Zakończono obliczanie GF
    Wykonuję kopię pliku
    Szukam tablicy partycji
    Znaleziono tablicę partycji. Blok:2046
    Liczba partycji:5
    1. Start block:0 Length:214
    2. Start block:214 Length:256
    3. Start block:470 Length:214
    4. Start block:684 Length:1040
    5. Start block:1724 Length:200
    Zakończono szukanie tablicy partycji
    Szukam tablicy uszkodzonych bloków
    Znaleziono tablicę uszkodzonych bloków. Blok:2045
    Liczba uszkodzonych bloków w tablicy:1
    1. Block:531 Replace to:2043
    Znaleziono tablicę uszkodzonych bloków. Blok:2044
    Liczba uszkodzonych bloków w tablicy:2
    1. Block:531 Replace to:2043
    2. Block:944 Replace to:2042
    Zakończono szukanie tablicy uszkodzonych bloków
    Koryguję bloki danych
    Move block. From: 2043 To: 531
    Zakończono korygowanie bloków danych
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Tworze tablice uszkodzonych blokow
    Uszkodzony blok: 3
    Uszkodzony blok: 297
    Uszkodzony blok: 388
    Uszkodzony blok: 757
    Uszkodzony blok: 865
    Uszkodzony blok: 923
    Uszkodzony blok: 999
    Uszkodzony blok: 2073
    Move block. From: 3 To: 2043
    Move block. From: 297 To: 2042
    Move block. From: 388 To: 2041
    Move block. From: 757 To: 2040
    Move block. From: 865 To: 2039
    Move block. From: 923 To: 2038
    Move block. From: 999 To: 2037
    Zakończono tworzenie tablicy uszkodzonych blokow
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Plik gotowy do zaprogramowania pamięci:
    D:\internet\samsung_40D5500RX_K9GAG08U0E-SCB0_20170821_143105.bin


    After the initial review, you can see that the memory has two BBT tables. In processing, I have included only one. Thus block 944 is still not repaired.


    Second load:
    Code:

    Kasowanie pamięci
    ID                   : EC D5 84 72 50 42 EC D5
    Manufacturer         : SAMSUNG
    Model                : K9GAG08U0E-SCB0
    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:854 P:0
    Error erase block: T:1 L:0 B:937 P:0
    Error erase block: T:1 L:0 B:2073 P:0
    Kasowanie zakończone
    Czas rozpoczęcia     : 2017-08-21 13:53:48
    Czas zakończenia     : 2017-08-21 13:53:52
    Szybkość             : 501597,354 kB/s


    And processing:
    Code:

    Rozpoczęto przytowanie pliku do zapisu
    Ustawiam parametry kodera BCH
    Generuję tablicę BCH
    Obliczam GF
    Postęp GF:512
    Postęp GF:636
    Postęp GF:722
    Postęp GF:789
    Postęp GF:842
    Postęp GF:885
    Postęp GF:923
    Postęp GF:958
    Postęp GF:990
    Postęp GF:1017
    Postęp GF:1041
    Postęp GF:1064
    Postęp GF:1085
    Postęp GF:1105
    Postęp GF:1122
    Postęp GF:1135
    Postęp GF:1147
    Postęp GF:1159
    Postęp GF:1169
    Postęp GF:1178
    Zakończono obliczanie GF
    Wykonuję kopię pliku
    Szukam tablicy partycji
    Znaleziono tablicę partycji. Blok:2046
    Liczba partycji:5
    1. Start block:0 Length:214
    2. Start block:214 Length:256
    3. Start block:470 Length:214
    4. Start block:684 Length:1040
    5. Start block:1724 Length:200
    Zakończono szukanie tablicy partycji
    Szukam tablicy uszkodzonych bloków
    Znaleziono tablicę uszkodzonych bloków. Blok:2045
    Liczba uszkodzonych bloków w tablicy:1
    1. Block:531 Replace to:2043
    Znaleziono tablicę uszkodzonych bloków. Blok:2040
    Liczba uszkodzonych bloków w tablicy:4
    1. Block:214 Replace to:2042
    2. Block:531 Replace to:2043
    3. Block:2041 Replace to:2040
    4. Block:2044 Replace to:2040
    Zakończono szukanie tablicy uszkodzonych bloków
    Koryguję bloki danych
    Move block. From: 2043 To: 531
    Zakończono korygowanie bloków danych
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Tworze tablice uszkodzonych blokow
    Uszkodzony blok: 854
    Uszkodzony blok: 937
    Uszkodzony blok: 2073
    Move block. From: 854 To: 2043
    Move block. From: 937 To: 2042
    Zakończono tworzenie tablicy uszkodzonych blokow
    Aktualizuję tablicę uszkodzonych bloków
    Biorę pod uwagę tablicę nr 1
    Zakończono aktualizację tablicy uszkodzonych bloków
    Plik gotowy do zaprogramowania pamięci:
    D:\internet\K9GAG08U0E\odczyt1_nowa_pamiec_K9GAG08U0E-SCB0_20170821_135413.bin


    The processing showed that the batch also has 2 BBT tables, but unfortunately the second board with strange entries.

    In summary, both processing may not work properly.
    In the first one should take into account both BBT tables, while the second load looks like it was wrong. Correctly read but not logically correct.
  • #53
    waldix

    Level 18  
    Hello

    I do not know if it matters, but as I sent files to the server, in one of them I attached the batch before processing and in the second after processing, I just let it know.
    We need to master the topic because the third TV is already going to me.

    In conclusion, it comes out that if at this point we even assumed that both batches are 100% well copied and functional, they may not work because of poor processing? I understand correctly?

    If so, then as I said before, I can make a copy of the working TV and there will be 3 pieces to test but only after Wednesday. Well, as funak fellow will of course have time to improve the algorithm.

    I greet Waldek
  • #54
    funak
    Level 24  
    After careful analysis, it looks like the charge: samsung_40D5500RX.bin is a good batch.
    Only during processing did I not include entries in the second BBT table, so that the actual content of block 944 is overwritten with the content of block 297, i.e. the batch destroyed.

    I will make a correction for the second board this afternoon based on the samsung_40D5500RX.bin feed.

    I conclude that both BBTs differ only by one entry in the BBT block that occurred later in time. I assume that the processor (on the TV) to add a new block to the BBT list must:

    1. Delete BBT1
    2. Copy the contents of BBT2 to BBT1
    3. Delete BBT2
    4. I only add a new block to the BBT2 list.

    Because the K9GAG08U0E memory can be programmed only once. That is, the NOP parameter = 1. To save again, you must first delete the block.

    Added after 1 [minutes]:

     
    waldix wrote:
    Hello
    If so, then as I said before, I can make a copy of the working TV and there will be 3 pieces to test but only after Wednesday. Well, as funak fellow will of course have time to improve the algorithm.


    I would ask for a copy of a working TV.
    In total, I'd like to ask you to do two readings of the same bone.
    I will compare the content bit by the way to check. whether the content is also correctly read.
  • #55
    Lensmen
    Level 11  
    С е й ч а с н а с т о л е е с т ь 2 т е л е в и з о р с K9GAG08U0E, е с т ь т а к ж е о т л и ч н ы й д у м & # 1087 ;, н о н е т в а ш е г о п р о г е р & # 1072 ;.
    У д а л я т ь б и т ы е б л о к и н е н у ж н & # 1086 ;, и х н у ж н о с м е щ а т ь
  • #56
    funak
    Level 24  
    I would also like to inform you that the batches sent to me are anonymous. Due to the protection of personal data, etc.
    The only thing that distinguishes them is the file name and the MD5 checksum.
    So I am asking for info about the analysis.
  • #57
    waldix

    Level 18  
    Hello

    "samsung_40D5500RX.bin is a good batch." - I think so too, I did a dropping with NandLit from a working bone.
    On Thursday, when I manage to do it, I will take two readings from the working bone and throw NandLit on the server.

    I greet Waldek
  • #59
    funak
    Level 24  
    New version of the application: 1.0b1014.84

    In the new version:
    - a large number of signatures of new systems have been added
    - the K9GAG08U0E programming algorithm (D5500) has been corrected for testing
    - anonymous sending of statistical data about the use of the application was added, above all sending the LOG from the performed functions Read / Write / Delete

    I also include an offline version
  • #60
    Lensmen
    Level 11  
    В н о в о й в е р с и и р а з м е р о к н а н е п р а в и л ь н ы & # 1081 ;, с л и ш к о м б о л ь ш о & # 1081 ;. Н у ж н о о с т а в и т ь т о л ь к о producer, symbol, id
    Я з ы к т а к ж е н е п е р е к л ю ч а е т с & # 1103 ;.