免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13962 | 回复: 18

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

论坛徽章:
0
发表于 2011-06-22 17:44 |显示全部楼层
K9F1G08U芯片手册中提到:

Unique ID for Copyright Protection

这个有人读取出来了么, 有谁知道读取该id号的特殊命令?

有了这个可以用于产品的加密 版权保护等。

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:52:242015元宵节徽章
日期:2015-03-06 15:50:39NBA常规赛纪念章
日期:2015-05-04 22:32:032015七夕节徽章
日期:2015-08-21 09:20:10综合交流区版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2011-06-22 22:21 |显示全部楼层
回复 1# armips


    手册里面没提到相应的命令吗?你仔细看看手册呢。

论坛徽章:
0
发表于 2011-06-23 09:01 |显示全部楼层
手册中只有产品的id号的,同一个芯片是一样的

这个版权保护的 唯一id号是每个芯片都是不一样的

手册中没有说明如何读取

论坛徽章:
0
发表于 2011-06-23 09:39 |显示全部楼层
网上搜了下“Unique ID for Copyright Protection”,找到唯一的相关的解释是:
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”

从这点说明,看起来是,samsung,在nand里面有个专门留了个block,此特殊的block是只允许烧写一次的,所以,应该是在留给客户在出厂的时候,自己烧写一些相关的信息到里面,之后上层程序就可以读取这个block以获得对应的信息了。而烧进去的信息,取决于你自己的考虑,比如烧写进去一些特殊的加密信息,就可以实现其所说的“increase system security”,烧进去一些产品ID等信息的话,就实现了“provide identification capabilities”,即通过此信息去区分不同产品。

而具体如何读取这些信息,其没具体说明,但是个人的理解是,既然也是一个block,应该也和读取普通的block的操作,是一样的。而读取普通的block,就是一个page一个page的读取的,即可。

以上只是个人理解,实际情况,以samsung官方解释为准。

评分

参与人数 2可用积分 +13 收起 理由
T-Bagwell + 8 精品文章
bitmilong + 5 鼓励

查看全部评分

论坛徽章:
0
发表于 2011-06-23 13:05 |显示全部楼层
回复 4# crifan


    不错,学习了

论坛徽章:
0
发表于 2011-06-23 14:34 |显示全部楼层
回复 4# crifan


    多谢!多谢!,看来还得三星支持才能知道在哪儿了或啥命令

论坛徽章:
0
发表于 2011-06-23 17:14 |显示全部楼层
回复  crifan


    多谢!多谢!,看来还得三星支持才能知道在哪儿了或啥命令
armips 发表于 2011-06-23 14:34



    如果我之前的理解没错的话,那就还是没太懂我的意思。。。
如果只是普通的block,那么对此block写入啥内容,是你自己定义。
因此,上层程序读取此数据后,如何解析,也只有你自己明白而已,只有你自己清楚你写入的每一个字节甚至每一位是啥意思,代表啥含义。

所以,我的理解是,三星只是在nand中多给你配了个特殊的OTP的block,你自己用某种烧写工具烧写数据即可。
而写入的数据,以及读取数据后的解析,也都是你自定义而已。
和三星,没啥关系。

因此,有机会的话,你找个烧写OTP的工具(偶没烧写过,不太熟悉),烧写一些数据进去,
然后写个测试程序,就像正常的读取block一样,把数据读出来,确定和你原先烧写进去的数据是同样的,即可证明我之前的理解是对的了。
不过,由于测试,会浪费了一片nand flash中的OTP而已。
如果证明这套逻辑是这样的,之后,对于,需要写入的数据,以及读出数据如何解析,这套逻辑,你就可以根据自己的应用,完全自定义了。

论坛徽章:
0
发表于 2011-06-27 08:36 |显示全部楼层
本帖最后由 armips 于 2011-06-27 08:37 编辑

回复 7# crifan


    谢crifan! 明白你的意思,OTP的数据的意思是要自己定义的; 只是我用的片子比较老, 从后续新出的三星的 MLC的数据手册来看,
(新出的MLC的读写OTP块的方法在手册中是公开的)
他读取和烧写OTP块的命令和读取一般数据块的命令是不一样的,所以我猜测我的Flash即老版本的SLC的读写OTP块的命令和读写普通块的
命令也可能不一样的,这个只有联系三星 签订保密协议才能获取了。

从linux驱动来看,我用的atmel的dataflash驱动支持读写otp的,而三星的驱动不支持的。
目前就是想要在linux中实现这个就可以省掉一片 atmel的dataflash的成本了,呵呵。

论坛徽章:
0
发表于 2011-06-27 09:15 |显示全部楼层
回复 8# armips


    网上找了下,貌似只找到了micron的datasheet中,提到了其OTP的命令是 A0h+10h:
http://wiki.laptop.org/images/4/48/CL1_NAND_Micron.pdf
micron OTP command.jpg

不知道你说的那个“后续新出的三星的 MLC的数据手册”是哪个命令?手册可以发我一份不?

论坛徽章:
0
发表于 2011-06-27 09:41 |显示全部楼层
本帖最后由 armips 于 2011-06-27 09:55 编辑

回复 9# crifan


    上周看到的,找了一下历史记录,是三星的OneNAND Flash:
OneNAND1G(KFG1G16Q2M-DEB5)
OneNAND2G(KFH2G16Q2M-DEB5)
OneNAND4G(KFW4G16Q2M-DEB5)

地址:
http://www.samsung.com/global/sy ... q2m_54mhz_rev12.pdf
1.JPG
2.JPG
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP