Nand Flash ID 识别错误

时间:2022-11-22 21:39:02
   一个朋友手上有些flash(闪存),因为无法正确读到ID(读出的ID中一些字节不对),也不能进行读,写以及擦出的操作,听说这种情况的flash能够通过改写ID后能实现基本的读写以及擦出操作,可以帮忙的朋友或者是有认识从事相关工作的朋友可以留个言,或者留个联系方式,详谈!谢谢!

13 个解决方案

#1


你的驱动是好的吗?

#2


引用 1 楼 yangzcc 的回复:
你的驱动是好的吗?


驱动什么的都没有问题,放心吧,同种类型的FLASH,有些能够正常操作,有些不可以正常操作,其中不能正常草所的就是读到的ID有些字节是不对的!

#3


flash id 出厂的时候就已经写好的,你这种情况看样子是芯片还没有工作正常,方便的话说个片子上mark 还有读出来的id,这方便判断你朋友这批flash 的情况

#4


引用 3 楼 foxxml 的回复:
flash id 出厂的时候就已经写好的,你这种情况看样子是芯片还没有工作正常,方便的话说个片子上mark 还有读出来的id,这方便判断你朋友这批flash 的情况


我也知道ID是出厂的时候写好的,不可以轻易改动,但是听闻业内人士说其实是可以改写了,只是要专用的工具(包括软件和硬件)。我这个朋友的这批货是toshiba的,这个可以确定,参数是8K Page,1024Block,1M/Block,
ID六个字节中前五个为 98 D5 84 32 76,正常情况下第三个BYTE应该是94.但是由于一些因素,导致读到的为84,
业内的朋友应该是很清楚的了。期望有人能帮帮小弟。重谢!

#5


1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义datasheet上并没有定义,因此应该是不影响使用的。但这颗flash需要接VCCQ(p34/p38)到VCC,如果没有接可能导致工作异常。

#6


印象中,东芝的flash管脚有细微差异

#7


引用 5 楼 foxxml 的回复:
1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义datasheet上并没有定义,因此应该是……


续前:

也有遇到过id稍微有差异的,但不至于不能读写,你要分清是否因为你的驱动读到不能匹配的id就直接返回了



#8


引用 7 楼 foxxml 的回复:
引用 5 楼 foxxml 的回复:

1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义……


非常感谢你的意见!有几个问题还是想请教一下各位
1.我的驱动时能认到id的,我确定不是因为ID不匹配而返回。
2.你说的那个mark是什么东西,我不太明白。
3.“VCCQ(p34/p38)到VCC”中的(p34/p38)是什么,电压大小吗?
4.如果真像你说的那样,因为接口的问题不能进行读写,那为什么同一批的产品,其它的ID能够正常操作呢?
5.你说要改id要在wafter级,封装好以后不能改,但是就我知道的情况,是可以改写的,应该是出厂的手留有后门的,但是的确是改写起来很麻烦.

#9


# mark 是打在flash 表明的那个标记,如你说的id对应的mark 是TC58NVG4D2ETA00
# p34/p38,PIN 34 /PIN 38, 见datasheet, 该flash 要求此两脚接到vcc(2.6~3.3 V),这个是必须的,如果都不接(至少应该接p34),id会读不对,但你说为什么有的可以有的不行,这个也许和你的硬件有关系,也许有的就存在一个弱上拉。
# 如果以上尝试了都不行,那就要拿到片子看才能下结论了,呵

#10


引用 9 楼 foxxml 的回复:
# mark 是打在flash 表明的那个标记,如你说的id对应的mark 是TC58NVG4D2ETA00
# p34/p38,PIN 34 /PIN 38, 见datasheet, 该flash 要求此两脚接到vcc(2.6~3.3 V),这个是必须的,如果都不接(至少应该接p34),id会读不对,但你说为什么有的可以有的不行,这个也许和你的硬件有关系,也许有的就存在一个弱上拉。
# 如……

我倒是没有注意到硬件上的差异,明天好好检查下PIN 34 /PIN 38有没有接到vcc(2.6~3.3 V)。存在一个弱上拉,这句话什么意思啊,太专业了,不懂能否说得详细点呢?
可以把片子给你看一下啊,但是怎么联系你呢?可否留一个联系方式

#11


+Q 17998139

#12


拿到你的片子 4pcs,chip 无mark,属于黑片,
焊接2pcs。
发0xff 命令reset,chip respond: 0xe3(chip/district 0/district 1 failed). 
发0x90 读id,如你所说是 98 D5 84 32 76
try block 0:
Write failed,status 命令返回 0xe3
Erase failed,status 命令返回 0xe3
Read, 返回 全0数据。



try erase all:
ALL blocks repond with 0xe3.

  STATUS  OUTPUT 
I/O1  Chip Status1 : Pass/Fail  Pass: 0  Fail: 1 
I/O2  District 0 Chip Status1 : Pass/Fail     Pass: 0  Fail: 1 
I/O3  District 1 Chip Status1 : Pass/Fail     Pass: 0  Fail: 1 
I/O4  District 0 Chip Status2 : Pass/Fail     Pass: 0  Fail: 1 
I/O5  District 1 Chip Status2 : Pass/Fail     Pass: 0  Fail: 1 
I/O6  Ready/Busy    Ready: 1  Busy: 0 
I/O7  Data Cache Ready/Busy            Ready: 1  Busy: 0 
I/O8  Write Protect  Protect: 0  Not Protect: 1 

所有命令有rb动作,说明内部电路有反应,但未接逻分看rb的时间是否够,从目前来kan ,这个busy的时间应该是不够的, (这个你可以试试,如果所有RB时间都很短,可以断定nand的控制电路没有执行相应的动作)

我的感觉是芯片内部的控制电路fail,如果说修改id就能解决此问题,看似不大可能,除非id是个开关,但这说不过去,既然都已经卖给你了,何苦还要设个开关来限制能用/不能用?

黑片基本上就是从原厂拿到test failed 的ink die 封装再卖,出现这些问题完全是预期之内。
应该检查的项目都已经confirm(除了接逻分看timing,建议你接着看看作为最后的try for confirm),看样子没什么好办法解决此问题。你朋友买的这批failed 的很多?




#13


你好,我用的是tq2440板子,3.5的屏幕,用的是jlink到tq2449板子,
然后转好驱动,装好jlink软件,
通过open project选择tq2440.jflash.
然后选择en29LV160ab,其他的option----project setting里面的内容不加修改,然后conect链接时
出现如下错误   Erasing sector 0
    - Erase operation completed successfully
- ERROR: Programming failed @ address 0x00000002 (item verification error)
- ERROR: Failed to program target
WARNING: Supply voltage too low, disconnecting target!
如果现则其他的例如amd的或者span的那个,也会出现相同的问题,怎么解决啊,求各位高手教教我啊

#1


你的驱动是好的吗?

#2


引用 1 楼 yangzcc 的回复:
你的驱动是好的吗?


驱动什么的都没有问题,放心吧,同种类型的FLASH,有些能够正常操作,有些不可以正常操作,其中不能正常草所的就是读到的ID有些字节是不对的!

#3


flash id 出厂的时候就已经写好的,你这种情况看样子是芯片还没有工作正常,方便的话说个片子上mark 还有读出来的id,这方便判断你朋友这批flash 的情况

#4


引用 3 楼 foxxml 的回复:
flash id 出厂的时候就已经写好的,你这种情况看样子是芯片还没有工作正常,方便的话说个片子上mark 还有读出来的id,这方便判断你朋友这批flash 的情况


我也知道ID是出厂的时候写好的,不可以轻易改动,但是听闻业内人士说其实是可以改写了,只是要专用的工具(包括软件和硬件)。我这个朋友的这批货是toshiba的,这个可以确定,参数是8K Page,1024Block,1M/Block,
ID六个字节中前五个为 98 D5 84 32 76,正常情况下第三个BYTE应该是94.但是由于一些因素,导致读到的为84,
业内的朋友应该是很清楚的了。期望有人能帮帮小弟。重谢!

#5


1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义datasheet上并没有定义,因此应该是不影响使用的。但这颗flash需要接VCCQ(p34/p38)到VCC,如果没有接可能导致工作异常。

#6


印象中,东芝的flash管脚有细微差异

#7


引用 5 楼 foxxml 的回复:
1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义datasheet上并没有定义,因此应该是……


续前:

也有遇到过id稍微有差异的,但不至于不能读写,你要分清是否因为你的驱动读到不能匹配的id就直接返回了



#8


引用 7 楼 foxxml 的回复:
引用 5 楼 foxxml 的回复:

1. id一般人改不了,改这个东西要在wafer级,比如有的公司会拿大厂的次品wafer 重新封装来卖,这个时候有可能改,封好之后再改不大可能(呵,也许人家留了后门我不知道)
2. 看了这款98 D5 94 32 76,对应的mark 应该是TC58NVG4D2ETA00,这个可以检查一下你买的mark和这个是不是对应。
3. 差异id的位代表的含义……


非常感谢你的意见!有几个问题还是想请教一下各位
1.我的驱动时能认到id的,我确定不是因为ID不匹配而返回。
2.你说的那个mark是什么东西,我不太明白。
3.“VCCQ(p34/p38)到VCC”中的(p34/p38)是什么,电压大小吗?
4.如果真像你说的那样,因为接口的问题不能进行读写,那为什么同一批的产品,其它的ID能够正常操作呢?
5.你说要改id要在wafter级,封装好以后不能改,但是就我知道的情况,是可以改写的,应该是出厂的手留有后门的,但是的确是改写起来很麻烦.

#9


# mark 是打在flash 表明的那个标记,如你说的id对应的mark 是TC58NVG4D2ETA00
# p34/p38,PIN 34 /PIN 38, 见datasheet, 该flash 要求此两脚接到vcc(2.6~3.3 V),这个是必须的,如果都不接(至少应该接p34),id会读不对,但你说为什么有的可以有的不行,这个也许和你的硬件有关系,也许有的就存在一个弱上拉。
# 如果以上尝试了都不行,那就要拿到片子看才能下结论了,呵

#10


引用 9 楼 foxxml 的回复:
# mark 是打在flash 表明的那个标记,如你说的id对应的mark 是TC58NVG4D2ETA00
# p34/p38,PIN 34 /PIN 38, 见datasheet, 该flash 要求此两脚接到vcc(2.6~3.3 V),这个是必须的,如果都不接(至少应该接p34),id会读不对,但你说为什么有的可以有的不行,这个也许和你的硬件有关系,也许有的就存在一个弱上拉。
# 如……

我倒是没有注意到硬件上的差异,明天好好检查下PIN 34 /PIN 38有没有接到vcc(2.6~3.3 V)。存在一个弱上拉,这句话什么意思啊,太专业了,不懂能否说得详细点呢?
可以把片子给你看一下啊,但是怎么联系你呢?可否留一个联系方式

#11


+Q 17998139

#12


拿到你的片子 4pcs,chip 无mark,属于黑片,
焊接2pcs。
发0xff 命令reset,chip respond: 0xe3(chip/district 0/district 1 failed). 
发0x90 读id,如你所说是 98 D5 84 32 76
try block 0:
Write failed,status 命令返回 0xe3
Erase failed,status 命令返回 0xe3
Read, 返回 全0数据。



try erase all:
ALL blocks repond with 0xe3.

  STATUS  OUTPUT 
I/O1  Chip Status1 : Pass/Fail  Pass: 0  Fail: 1 
I/O2  District 0 Chip Status1 : Pass/Fail     Pass: 0  Fail: 1 
I/O3  District 1 Chip Status1 : Pass/Fail     Pass: 0  Fail: 1 
I/O4  District 0 Chip Status2 : Pass/Fail     Pass: 0  Fail: 1 
I/O5  District 1 Chip Status2 : Pass/Fail     Pass: 0  Fail: 1 
I/O6  Ready/Busy    Ready: 1  Busy: 0 
I/O7  Data Cache Ready/Busy            Ready: 1  Busy: 0 
I/O8  Write Protect  Protect: 0  Not Protect: 1 

所有命令有rb动作,说明内部电路有反应,但未接逻分看rb的时间是否够,从目前来kan ,这个busy的时间应该是不够的, (这个你可以试试,如果所有RB时间都很短,可以断定nand的控制电路没有执行相应的动作)

我的感觉是芯片内部的控制电路fail,如果说修改id就能解决此问题,看似不大可能,除非id是个开关,但这说不过去,既然都已经卖给你了,何苦还要设个开关来限制能用/不能用?

黑片基本上就是从原厂拿到test failed 的ink die 封装再卖,出现这些问题完全是预期之内。
应该检查的项目都已经confirm(除了接逻分看timing,建议你接着看看作为最后的try for confirm),看样子没什么好办法解决此问题。你朋友买的这批failed 的很多?




#13


你好,我用的是tq2440板子,3.5的屏幕,用的是jlink到tq2449板子,
然后转好驱动,装好jlink软件,
通过open project选择tq2440.jflash.
然后选择en29LV160ab,其他的option----project setting里面的内容不加修改,然后conect链接时
出现如下错误   Erasing sector 0
    - Erase operation completed successfully
- ERROR: Programming failed @ address 0x00000002 (item verification error)
- ERROR: Failed to program target
WARNING: Supply voltage too low, disconnecting target!
如果现则其他的例如amd的或者span的那个,也会出现相同的问题,怎么解决啊,求各位高手教教我啊