1.2.16.1.4.1. 读取遵循ONFI的厂商的Nand的Unique ID

如果经过上述判断,此符合ONFI的Nand Flash支持Read Unique ID命令,次此时就可以通过该命令来读取对应的Nand Flash的Unique ID了。

此Read Unique ID的详细解释为:“5.8. Read Unique ID Definition

The Read Unique ID function is used to retrieve the 16 byte unique ID (UID) for the device. The unique ID when combined with the device manufacturer shall be unique.

The UID data may be stored within the Flash array. To allow the host to determine if the UID is without bit errors, the UID is returned with its complement, as shown in Table 47. If the XOR of the UID and its bit-wise complement is all ones, then the UID is valid.”

即用Read Unique ID命令来读取128bit=16字节的Unique ID,但是呢,为了用于防止写入的Unique ID有误,因此在16字节后面又添了个对应的补码,即每位取反的结果,这样前16字节的Unique ID和后16字节的Unique ID的补码,构成了32字节,算作一组,如下图所示:

图 1.11. ONFI中Unique ID的结构

“To accommodate robust retrieval of the UID in the case of bit errors, sixteen copies of the UID and the corresponding complement shall be stored by the target. For example, reading bytes 32-63 returns to the host another copy of the UID and its complement. Read Status Enhanced shall not be used during execution of the Read Unique ID command

Figure 57 defines the Read Unique ID behavior. The host may use any timing mode supported by the target in order to retrieve the UID data.”

而为了进一步防止出错,将上面32字节算一组,重复了16次,将这16个32字节的数据,存在Nand Flash里面,然后用Read Unique ID命令去读取出来,取得其中某个32字节即可,然后判断前16字节和后16字节取反,如果结果所有位都是1,那么结果即为16个0xFF,那么说明Unique ID是正确的。否则说明有误。

Read Unique ID的命令的详细格式如下图所示:

图 1.12. ONFI中Read Unique ID命令的时序图

即先发送0xED命令,再发送0x00地址,然后等待Nand Flash的busy状态结束,就可以读取出来的那16组的32个字节了,然后用上面办法去判断,找到前16字节和后16字节异或得到结果全部16字节都为0xFF,即说明得到了正确的Unique ID。至此,符合ONFI规范的Unique ID,就读取出来了。

linux mtk unique id,1.2.16.1. Nand Flash的Unique ID相关推荐

  1. 裸板 nand flash K9F2G08U0C --- 读取ID

    上一节讲了 设置 nand时序 nand时序设置 存储类芯片操作步骤: 1.初始化        主控芯片对的nand flash 控制器 2.识别            读取id (判断芯片是否正常 ...

  2. nand flash 经典 全面 ------如何编写Linux下Nand Flash驱动

    Crifan Li 摘要 本文先解释了Nand Flash相关的一些名词,再从Flash硬件机制开始,介绍到Nand Flash的常见的物理特性,且深入介绍了Nand Flash的一些高级功能,然后开 ...

  3. Linux如何获取mtd数据,【转载】上接Linux MTD下获取Nand flash各个参数的过程的详细解析【转】...

    (1)Page Size: 如图,页大小,是bit0和bit1组合起来所表示的. extid & 0x3,就是取得bit0和bit1的值,而左移1024位,是因为上面表中的单位是KB=2^10 ...

  4. Linux MTD架构下的nand flash驱动详解

    转载自:http://blog.csdn.net/wang_zheng_kai/article/details/18988521 有了前面的基础(Nandflash详解:https://blog.cs ...

  5. Linux操作系统下 NAND FLASH驱动程序框架

    当我们需要在操作系统上读写普通文件的时候,总是需要一层层往下,最终到达硬件相关操作,当然底层设备大多数都是块设备 NAND FLASH就作为一个最底层的块设备. 而我们写驱动,就是要构建硬件与操作系统 ...

  6. 《Linux驱动:nand flash驱动看这一篇就够了》

    文章目录 一,前言 二,硬件电路 2.1 Nand flash相关 2.2 S3c2440相关 2.3 Nand flash 位反转 三,Nand flash驱动框架 四,S3c2440 Nand F ...

  7. Linux一句话精彩问答--2004/03/16更新(zt)

    Linux一句话精彩问答--2004/03/16更新 ----------------------------网络无关篇-------------------------- 0001 修改主机名(bj ...

  8. 在linux c 以结构体形式写文件 结构体参数如何在函数中传递,Linux安全审计机制模块实现分析(16)-核心文件之三auditsc.c文件描述及具体变量、函数定义...

    原标题:Linux安全审计机制模块实现分析(16)-核心文件之三auditsc.c文件描述及具体变量.函数定义 2.4.3文件三auditsc.c2.4.3.1 文件描述 kernel/auditsc ...

  9. 华为荣耀电脑第三方linux,【第三方Linux版】荣耀MagicBook Pro 16.1英寸全面屏如何?某东入手评测...

    这款[第三方Linux版]荣耀MagicBook Pro 16.1英寸全面屏轻薄笔记本电脑(酷睿i5 8G 512G MX250 IPS)冰河银,看网上评测推荐的,后面网上种草了这款笔记本,用过一段日 ...

最新文章

  1. 前端进阶(二)webpack开发服务器环境配置
  2. 只花5-10分钟评审,还不提供拒稿理由,IJCAI就“枪毙”42%论文,网友:一脸懵逼...
  3. 7.3 rpm工具用法
  4. python随机生成一个地区地址_为特定地区/国家生成随机坐标的轻量级工具?
  5. SAP UI5 view.setModel will trigger binding creation
  6. 调查内存泄漏第1部分–编写泄漏代码
  7. linux 监控命令iostat,Linux性能监控分析命令(三)—iostat命令介绍
  8. Azkaban入门简介
  9. T420i 简单拆机 (只拆两个螺丝清灰)
  10. 用BoundsChecker检测内存泄漏
  11. 网页进行pdf打印_将多个pdf文档合并为一个pdf
  12. office972003_为什么我有Microsoft Office Excel 2003打不开Microsoft Office Excel 97-2003格式?...
  13. Cisco QOS之LLQ
  14. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'WLog' 中的标识列插入显式值。
  15. khadas与树莓派_抛弃电信机顶盒,单板电脑打造家庭多媒体中心
  16. 设计按钮、下拉框、文本框的测试用例要点
  17. 如何利用RTK通过CORS进行测量?
  18. mysql 灾备方案_mysql数据库灾备方案
  19. Mechanize使用手册
  20. python datetime时间差_高考倒计时,聊聊Python的GUI

热门文章

  1. MYSQL建表时数据类型的选择
  2. MapUtils常用方法
  3. Linux 打包和压缩
  4. ubuntu下安装php openssl扩展
  5. 数据库设计 Assignment 02
  6. 视觉错觉模型_极具视觉爆发力的影院设计
  7. GY39传感器C语言代码,详解Arduino GY-30数字光强传感器应用
  8. linux打开文件命令_详解Linux中3个文件查找相关命令
  9. androidstuio实现页面跳转_vue-router 基础:4类路由跳转示例
  10. 怎样获取php页面get的值,PHP循环获取GET和POST值的代码