本帖最后由 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的对中的存储器芯片的其余参数将是相同的。 |