本帖最后由 JDCTS5 于 2024-6-14 16:16 编辑  
 
PC-3000 Flash。用ID法确定芯片的某些参数 
 
 
在某些情况下,当您正在读取中芯片并看到检测到的芯片ID,但它无法应用于任务中。因此,它不允许从内存芯片读取转储文件。这种行为可能发生在: ► 芯片有物理损坏或在解焊过程中过热 
► 存储芯片参考书没有特定芯片ID的读取中参数。 当为新(未知)存储芯片添加读取参数时,以下信息将是有用的,并且是为理解NAND的主要原理的用户准备的。 
如果你是NAND数据恢复的新,我们建议首先学习这些原理。 
当然,你可以试着找到某个内存芯片的数据表,并从那里读取中参数。但有时不可能发现数据表或某些参数丢失(未描述)。 读取中参数检测是一个调查过程,需要一些特定的知识。在本文中,我们将概述一些在这个过程中对您有帮助的想法。无论如何,如果您在数据恢复过程中获得不受支持的NAND ID,我们强烈建议您联系我们的技术支持部门。 每个人都习惯了芯片ID由4个字节组成的事实, 
例如98DE9892,但实际上,完整的芯片ID由6个字节组成,例如98DE 9892-7656xxxx。 
在这种案例中,PC-3000 Flash读取器读取8个字节,但最后2个字节不重要,不考虑。 为了区分一个芯片和另一个存储器,ID本身是必要的。 
这就是为什么芯片的一些基本特征被提到/存储在ID中,一些非常重要的特征也隐藏在第5和第6字节中。 首先关闭,让我们看看哪个字节负责什么。 1–供应商ID,制造商的识别码。 
2–设备ID,设备识别码。但事实上,ID的第二个字节在很长一段时间内一直负责其他的事情。 
3-6个字节定义了芯片的特性,我们将在下面考虑。   第一字节 
它是供应商ID字节,可以是: 2C  
 | Micron  
 |  45  
 | Sandisk  
 |  89  
 | 英特尔  
 |  98  
 | 东芝  
 |  AD  
 | Hynix  
 |  EC  
 | 三星  
 |  
  
第二字节 
它是设备ID字节。 
这个字节是多功能的,它负责芯片的容量,在某些情况下,还负责存储器的位深度。 
查看内存芯片组容量与ID的第二个字节之间的依赖关系表(值以兆字节为单位): E6  
 | 8  
 | 88  
 | 8192  
 |  73  
 | 16  
 | D9  
 | 8192  
 |  75  
 | 32  
 | DE  
 | 8192  
 |  66  
 | 64  
 | CE  
 | 8192  
 |  76  
 | 64  
 | EE  
 | 8192  
 |  79  
 | 128  
 | 64  
 | 8192  
 |  F1  
 | 128  
 | AE  
 | 8192  
 |  01  
 | 128  
 | 50  
 | 8192  
 |  AA  
 | 256  
 | 4A  
 | 16384  
 |  DA  
 | 256  
 | A8  
 | 16384  
 |  CA  
 | 256  
 | 84  
 | 16384  
 |  DC  
 | 512  
 | 3A  
 | 16384  
 |  CC  
 | 512  
 | 4C  
 | 16384  
 |  29  
 | 512  
 | 1A  
 | 16384  
 |  D3  
 | 1024  
 | 2D  
 | 8192  
 |  38  
 | 1024  
 | 4D  
 | 8192  
 |  48  
 | 2048  
 | 6D  
 | 16384  
 |  D5  
 | 2048  
 | 78  
 | 4096  
 |  C5  
 | 2048  
 | 98  
 | 8192  
 |  28  
 | 4096  
 | 3C  
 | 32768  
 |  D7  
 | 4096  
 | C8  
 | 32768  
 |  68  
 | 4096  
 | A4  
 | 32768  
 |  C7  
 | 4096  
 | 4E  
 | 32768  
 |  E7  
 | 4096  
 | 3E  
 | 65536  
 |  44  
 | 4096  
 |  
 |  
 |  
 这张表可能并不完整,但它涵盖了大多数现代存储芯片。 
此外,值得一提的是,芯片ID的第二个字节决定了一个存储体的容量,而不是整个芯片的容量。 
换句话说,如果我们有一个第二个字节为“DE”的芯片(8192),同时这个内存芯片有4个部分,那么这个内存芯片的总容量是32768。 
但在PC-3000 Flash工具的参考书中,有必要增加一个Bank=8192的容量。 此外,第二字节允许确定存储器芯片的总线宽度(8位或16位)。 
例如,让我们以比特表示来比较2个字节D7和C7: D7=11010111C7=110001111 正如我们所看到的,第4位对于D7具有“1”值,对于C7具有“0”值。 
该位决定了东芝和Sandisk等美国制造商的芯片宽度,在某些情况下还决定了三星的芯片]宽度。 但同时,值得记住的是,如果指定的位=“0”, 
那么这并不意味着总线是16位。这只是一个迹象,或者我们可以说“支持”16位操作模式,例如,在实践中可能是16-8。 
然后使用16位数据总线的低8位。 此外,例如,如果我们有2个存储芯片: 45DE9892-725645CE9892-7256, 除了总线宽度之外,两个芯片的读取中参数将是相同的。   第三字节 
对于大多数芯片来说,它负责LUN的数量和内存的类型。 例如,我们有两个内存芯片: 
98DE9892和98DE9532 首先字节98–Toshibase 
第二字节DE–8192 MB每个银行 
第三字节二进制表示: 98 = 10011000 
95 = 10010101 最后2位(蓝色)表示LUN的数量,取值如下: 
0 0– 
10 1–21  
0–41  
1–8 该参数对于存储器芯片的特殊读取中规则是决定性的。 
在PC-3000 Flash软件中,在专门的读取中规则窗口中,它被称为“平面数”。 接下来的2位(红色)负责该类型,并取以下值: 
0 0–SLC 
(2级单元)0 1–MLC(4级单元) 
1 0–TLC(8级单元)11 
–QLC(16级单元) 根据存储器的类型,可以关闭潜在的不正确的读取中算法,从而大大减少细化读取中参数的时间。 
第三字节ID的剩余比特被保留用于某些其他事物,并且它们的用途是未知的。 第4个和第5个字节强烈“依赖于供应商”。 
每个制造商根据自己的概念确定参数,即使在同一制造商但不同代的芯片内,任命也可能不同。   第五字节 
它对平面的数量进行了编码(不要与第三个字节中的LUN数量混淆)。 平面的数量影响交叉的存在、不存在和类型(2路(单)/4路(双))。我们可以从ID的第五字节的比特2和3得到关于平面数量的信息: 0 0–1个平面 
0 1–2个平面 
1 0–4个平面 
1 1–8个平面 考虑两个存储芯片:的例子: 453C9A92-7Axxxxxx–ID=7A中的第五个字节,bin查看01111010, 
根据表10=4个平面, 
98DE9892-76xxxxxx–ID=76中的第5个字节,bin查看01110110, 
根据表01=2个平面。 因此,可以预见交叉的存在。 
逻辑上,如果芯片有2个或4个平面,那么很可能会有一个交叉——如果有2个平面,则为一个,如果有4个平面则为两个交织。 
如果芯片具有单个平面,也可以预见交叉的缺失。   第六字节 
它是最后一个在确定读取中参数方面感兴趣的字节。 
它允许确定读取中模式:DDR或SDR。 例如,以下是两个芯片ID: 98DE9892-725698DE9892-02d6 在钻头查看中: 56=01010110D6=11010110 正如我们所看到的,只有首先位不同:0和1。 
此位允许确定读取中模式。 1= 
DDR0=SDR 但是,有时,特别是在旧的Toshiba和Sandisk存储芯片上,此位定义了对DDR模式的支持,并且可以通过固件的特殊命令启用。尽管默认情况下,读取中模式是SDR。 还值得记住的是,除了读取中模式(SDR和DDR)之外,诸如98DE9892-7256和98DE9892-12D6的对中的存储器芯片的其余参数将是相同的。  |