免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: armips
打印 上一主题 下一主题

[其它] 三星Nand Flash的版权保护 唯一序列号,有人用过么 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2011-06-27 10:49 |只看该作者
本帖最后由 crifan 于 2011-06-27 10:51 编辑

回复 10# armips


一般来说,多数厂家的nand flash,多数命令都是一样的。所以,很可能你的三星的slc的nand的otp命令,和micron是一样的,估计也是A0h+10h。

你的此处举例用到的OneNand,不是普通的nand,其实内部是SLC的Nand Flash但是却是Nor Flash的接口:
http://www.samsung.com/global/bu ... brochure_200609.pdf
http://blog.csdn.net/yjy889/archive/2009/08/17/4456906.aspx

所以其操作命令,应该和Nor Flash接近,所以肯定和上面所说的Nand Flash的操作命令不同的,才会是图中的0065h的这种。

刚才忘了说了,普通的nand的OTP的用法,可以参考Micron的:
http://download.micron.com/pdf/technotes/nand/tn2911.pdf
   
无论如何,我这里也只是推测,对于你的三星的slc的nand,otp命令到底是啥,那真得像你说的,去三星才知道。:wink:

顺便问问你的slc的nand的型号是?

论坛徽章:
0
12 [报告]
发表于 2011-06-27 11:58 |只看该作者
本帖最后由 armips 于 2011-06-27 12:00 编辑

回复 11# crifan

多谢! 有建设性!

    型号:K9F1G08U

论坛徽章:
0
13 [报告]
发表于 2011-06-27 16:45 |只看该作者
回复  crifan

多谢! 有建设性!

    型号:K9F1G08U
armips 发表于 2011-06-27 11:58



K9F1G08U不是完整的型号,完整的是K9F1G08U0M,K9F1G08U0A之类的,相关的pdf,网上找了下,应该是这个吧:
http://pdf1.alldatasheet.com/dat ... UNG/K9F1G08U0A.html
里面的确是有说到“Unique ID for Copyright Protection”,却无详细解释。

在联系三星问细节之前,建议自己尝试用那个micron的AFh+30h去读取OTP的数据,个人估计,很可能是可以成功读取数据的。

论坛徽章:
0
14 [报告]
发表于 2011-06-27 18:19 |只看该作者
本帖最后由 armips 于 2011-06-27 18:21 编辑
K9F1G08U不是完整的型号,完整的是K9F1G08U0M,K9F1G08U0A之类的,相关的pdf,网上找了下,应该是这个 ...
crifan 发表于 2011-06-27 16:45



    是这个片子, K9F1G08U0M-PCB0 大概是这样

参照Micron的片子MT29F1G08AACWP,容量 封装都和三星的一样, 手册上有唯一id和otp操作的说明

其中read unique ID的命令是 0xed,按照时序读取,返回数据不像



然后遍历所有 从0--255,去掉标准读写复位等命令,但是数据也不像:

cmd= 0x01:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x02:
0x11 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xbb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x03:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x04:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x06:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x07:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x08:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x09:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0a:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0b:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0c:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0d:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0e:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x0f:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x10:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x11:
cmd= 0x12:
cmd= 0x13:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x14:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x15:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x16:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x17:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x18:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x19:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x1a:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x1b:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x1c:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x1d:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x1e:
cmd= 0x1f:
cmd= 0x20:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x21:
0x08 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xbb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x22:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x23:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x24:
cmd= 0x25:
cmd= 0x26:
0x45 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x27:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x28:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x29:
0x00 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xbb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x2a:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x2b:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x2c:
cmd= 0x2d:
cmd= 0x2e:
cmd= 0x2f:
cmd= 0x30:
cmd= 0x31:
cmd= 0x32:
cmd= 0x33:
0x45 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x34:
cmd= 0x35:
cmd= 0x36:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x37:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x38:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x39:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x3a:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x3b:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x3c:
cmd= 0x3d:
cmd= 0x3e:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x3f:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x40:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x41:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x42:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x43:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x44:
0x00 0x00 0x00 0x00 0x00 0x20 0xbe 0xfe 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x45:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x46:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x47:
cmd= 0x48:
0x11 0x11 0x11 0x11 0x11 0x11 0x15 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x49:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x4a:
cmd= 0x4b:
cmd= 0x4c:
cmd= 0x4d:
cmd= 0x4e:
cmd= 0x4f:
0x45 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x50:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x51:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x52:
cmd= 0x53:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x54:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x55:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x23 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x56:
0x00 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xbb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x57:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x58:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb 0xfb
cmd= 0x59:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x23 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x5a:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff
cmd= 0x5b:
0xff 0x03 0x03 0x03 0x03 0x03 0x03 0x03 0xfb 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff

.....

1.JPG (25.08 KB, 下载次数: 60)

1.JPG

论坛徽章:
0
15 [报告]
发表于 2011-06-28 09:05 |只看该作者
本帖最后由 crifan 于 2011-06-28 09:08 编辑

回复 14# armips

找到了MT29F1G08AACWP对应的datasheet:
    http://download.siliconexpert.co ... l/m58a_1gb_nand.pdf
先问一句,datasheet中的在page 38处关于0xED的解释,你都看懂了吧?

根据其说明,只需要发送0xED+0x00,然后设备就绪后,读出32个字节,用前16个和后16个XOR一下,得到16个0xFF,说明读出的数据是对的,即可。
即使错了,继续读,但是也最多读16而已,再多也没用啊。

对于你的回复,“然后遍历所有 从0--255,去掉标准读写复位等命令”,是你address发送的依次是01-0xFF?然后读了256次,发现数据也还是不对?

方便的话,贴出你的代码看看。

论坛徽章:
0
16 [报告]
发表于 2011-06-28 09:11 |只看该作者
本帖最后由 armips 于 2011-06-28 09:19 编辑
回复  armips

找到了MT29F1G08AACWP对应的datasheet:
   
先问一句,datasheet中的在page 38处关于 ...
crifan 发表于 2011-06-28 09:05



   
感谢crifan回复

我是用MT29F1G08AACWP的读唯一id命令来读三星的片子,
MT的命令的意思是读16个,再读16个 异或运算为ff就对了, 而三星的是不是这样异或全凭碰运气, 所以我就读了32字节,看数据就不是异或关系的

然后我假设三星的命令不是0xed, 就编写个代码循环假设命令是0x** 这样 都假设了,也不像

昨天的代码被我恢复原样了,没了。

补充说明: 遍历的读法是 命令从 01----ff(去掉标准命令); 地址都是00的试验方法 分别读取32字节

           如果三星的片子的地址不是00,那探测起来就太难了,数据量太大了

论坛徽章:
0
17 [报告]
发表于 2011-06-28 09:39 |只看该作者
本帖最后由 crifan 于 2011-06-28 09:45 编辑

回复 16# armips


    哦,了解你的做法了。
不过,接下来要说的,估计要让你失望了。
刚找到一个老帖子:
Intel 主導的 Open NAND Flash Interface & Read Unique ID
http://kunyichen.wordpress.com/2 ... ace-read-unique-id/
中提到的,Read Unique ID的0xED这样的命令,是属于
几家nand flash厂商(Hynix,Intel,Micron,Phison ,SanDisk,Sony ,Spansion)制定的规范ONFI。
(ONFI 规范 可以在官网中下载到,比如:
http://onfi.org/wp-content/uploads/2010/08/ONFI-2_3-Gold.zip

ONFI中规定了Read Unique ID Definition,而上面说到micron的Read Unique ID,就是遵循了此ONFI的规范。
即,Unique ID用在安全方面的应用。每个厂家自己决定unique id的内容,nand flash出厂时候就烧写好了。
然后用户用 0xED +0x00去读取这个unique id,其内容是一共16个copy的32字节,每个copy共32字节,没32个字节,前面16个字节=128bit是unique id,后面16个字节是unique id的补码,即unique id每一位取反的结果。读取的时候,读出32个字节,然后用前16个字节异或后16个字节,得到16个0xFF,说明unique id是对的。

但是,上述ONFI规范中,nand flash方面的两大厂商,Toshiba & Samsung,却没加入。

意思就是,nand flash的老大之一samsung,并没有参与规范制定,结果其他一些相对来说是nand flash的小厂们,却联合在一起,弄了个ONFI规范。。。
后来则是Toshiba自己弄了个LBA的nand flash规范。。。。

回到话题,samsung关于unique id做法,和ONFI规范完全不同,也就是我们前面所摘录的:
http://hitmen.c02.at/files/docs/psp/ds_k9f5608u0b_rev13.pdf
“6. Unique ID for Copyright Protection is available
-The device includes one block sized OTP(One Time Programmable), which can be used to increase system security or to provide identification capabilities. Detailed information can be obtained by contact with Samsung”
即利用一个独立的block来存放此Unique ID,此block是特殊的OTP类型的。

因此,上述用于针对Micron的nand的unique id的做法,属于ONFI的规范,无法用于samsung的nand。
你只能按其说的去做:“Detailed information can be obtained by contact with Samsung”  {:2_175:}

论坛徽章:
0
18 [报告]
发表于 2011-06-28 09:46 |只看该作者
回复  armips


    哦,了解你的做法了。
不过,接下来要说的,估计要让你失望了。
刚找到一个老帖子 ...
crifan 发表于 2011-06-28 09:39



    结果令人沮丧

不过非常感谢crifan的热心回复,  看到了你的回复让我想到了几个关键字 google、百度、bing等,你就是个搜索引擎,回复速度快、资料全且权威

谢谢这两天的支持!

论坛徽章:
0
19 [报告]
发表于 2013-10-25 13:29 |只看该作者
回复 17# crifan
你的帖子太好了,关于Unique ID。我正在研究eMMC的读取方法,也要像你一样发贴分享。

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP