物联网:关于Nand flash读写范围的问题

简介: 物联网:关于Nand flash读写范围的问题

物联网:Nand flash读写范围的问题

很多时候对nand的操作都是通过主控的nand控制器直接完成,或者更多时候是通过MTD标准操作接口完成读写擦的过程,然而有些细节问题有必要在这里讨论一下,我分为以下几点进行说明:

screenshot

screenshot

1、擦除过程:擦除过程是将0变成1的过程,即充电的过程(比如SLC中,当低于某个电压值表示0,高于这个电压值则表示1;而对于MLC来说可以有多个阈值,所以可以保存更多bit)。擦除过程是按块进行的,但启始地址是页地址,不过擦除过程在内部是有边界对齐的,也就是说当擦除启始地址不是块对齐时,只能擦除本块,而不能垮越到第二个块继续擦除,也就是无论我们给的地址是否页对齐,本块都将擦除,不会有任何保留。

需要注意的是:块擦除时每一页的oob区也同时被擦除掉了,所以一般擦除前先读取块的第一页的两个字节看是否为0xff(512Byte页大小nand的坏块信息放在第6个字节中,ECC占用0、1、2、3、6、7字节;2k页大小的nand有24位ECC放在oob区的40-63字节处),不是的话就不要擦除,0xff表示正常,其它值表示错误,否则将会擦掉所有坏块信息,尤其是出厂时写入的。

2、写入过程:写入过程就是将1变成0的过程,即,放电降压的过程,理论上在写之前一定要先擦除,但实际上只要之前的值为1,不用擦也可以写入(举个例子,比如某一存储单元存放的值为7,那么可以写入比7小的值,比如6,然而反过来则不行,即,未擦之前是不能将6改写成7的)。写入过程可以是任意地址,如果不满一页(开头、中间、结尾都可以任意写入),剩下没有写入的存储单元不会因为未写而变成1,而是保持之前的状态不变(因为只有擦除才会变成1)。写入过程在内部也是有边界对齐的,也就是说写入起始地址不是页对齐时,只能从当前字节写到本页结尾,而不能垮越到第二个页继续写,即使写入长度够长,也不能一次写入垮越两页。

3、读取过程:读取过程只是通过解码电路将存储阵列中的电压信号变换成数字信号,并输出到nand的页缓冲器中,然后依次按一个或多个字节顺序读出的过程。读取过程在nand内部也是有边界对齐的,也就是读取起始地址不是页对齐时,只能从当前字节开始读到本页结尾,而不能垮越到第二页继续读取,即使读取长度够长,也不能一次垮越两页读取。

4、读写过程:前面的读写过程中的页大小问题,假如:page=2048Byte,oob=64Byte,那么,理论上要读写oob时,需要给出大于2048的列地址,但实际上在读取前面的2048字节数据区时,如果在不重新下达命令并给出列地址的情况下而继续向后读写数据,是可以直接读写oob区的,除非是要单独对oob区进行操作。其实对于oob区来说,nand并没有做过多特殊处理,就是多出来的数据区而已,只是大家约定在这里可以存放一些校验和坏块信息等,如果不存放这些信息,那么oob就是普通数据区。

5、操作地址:对一个1GByte的nand,可以用30位二进制来表示地址,即A0-A29,当我们希望读取某一个地址中的数据时,那么应该怎样给出这个地址呢,比如我要访问0x9000000这个地址开始的数据,那么这个地址又是否包含oob区域呢(实际上并不包含)。

首先对于nand操作本身来说就没有比页更小的单位(但是可以按字节读写),所以我们给出的地址其实是要进行地址分解的,分解为行地址(页偏移)和列地址(页内偏移),比如K9K8G08U0B(page=2048Byte)就从A11开始分,A0-A10为列址,A11-A29为行地址,那么oob怎么访问呢,

举个例子:

假如我们要访问的地址是2050,那么现在开始分解,首先将2050右移11位,即除以2048进行页对齐处理,其实就是将A0-A10作为列址,A11-A29作为行地址,分别放到两个变量中结果就是row=1,col=2,那么最后读写的数据到底是什么呢(如果包含oob区域,那读写的数据肯定是oob区的数据),实际上就是跳过第一页(跳过包括oob区域)到第二页中读写2这个地址的数据。

到这里我们应该清楚了,不管用户给出什么样的地址,这个地址偏移都是针对数据区域而不会包含oob区的,如果非要读取oob区,那么在分解地址的时候,可以将列地址加上2047(col=col+2047),否则读写的就只是数据区(如果读完数据区继续向后读写的话也可以读写到oob区,因为系统会自动累加列地址)。

以上信息只是在s5pv210作为主控,操作K9K8G08U0B得出的结论,不同主控和nand型号可能会略有不同。

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
24天前
|
存储 安全 物联网
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
政府在推动物联网技术标准和规范的统一方面可以发挥哪些作用?
92 50
|
24天前
|
安全 物联网 物联网安全
制定统一的物联网技术标准和规范的难点有哪些?
制定统一的物联网技术标准和规范的难点有哪些?
33 2
|
22天前
|
供应链 物联网 区块链
探索未来技术潮流:区块链、物联网、虚拟现实的融合与创新
【10月更文挑战第41天】随着科技的不断进步,新技术如区块链、物联网、虚拟现实等正在逐步渗透到我们的日常生活中。本文将深入探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,共同推动社会的进步。我们将通过具体的代码示例,展示这些技术在实际应用中的潜力和价值。无论你是科技爱好者,还是对未来充满好奇的探索者,这篇文章都将为你打开一扇通往未来的窗口。
98 56
|
6天前
|
存储 安全 物联网
未来已来:区块链技术在物联网与虚拟现实中的应用
随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐渐改变我们的生活和工作方式。本文将探讨这些技术的发展趋势和应用场景,以及它们如何相互融合,为我们带来更便捷、安全和沉浸式的体验。
|
2天前
|
供应链 监控 数据可视化
物联网技术在物流与供应链管理中的应用与挑战
本文探讨了物联网技术在物流与供应链管理中的应用,通过实时追踪、信息共享、智能化决策等手段,大幅提升了管理效率和智能化水平。特别介绍了板栗看板作为专业可视化工具,在数据监控、分析及协同作业中的重要作用。未来,随着技术的进一步发展,物流与供应链管理将更加智能高效,但也面临数据安全、标准化等挑战。
|
11天前
|
供应链 物联网 区块链
未来技术的脉动:探索区块链、物联网与虚拟现实的融合趋势
本文深入探讨了区块链技术、物联网(IoT)和虚拟现实(VR)这三个领域的最新发展趋势,以及它们在现代科技生态中的交互作用。通过分析这些技术的独特优势和面临的挑战,我们揭示了它们如何共同塑造未来的技术景观,特别是在数据安全、智能设备管理和沉浸式体验方面。文章还讨论了这些技术融合后可能带来的社会和文化影响,以及它们如何推动创新和促进经济增长。
29 3
|
24天前
|
存储 数据采集 物联网
物联网技术在物流领域的应用会遇到哪些挑战?
物联网技术在物流领域的应用会遇到哪些挑战?
55 7
|
19天前
|
存储 传感器 物联网
探索未来:区块链、物联网与虚拟现实技术的融合趋势及应用场景
随着技术的快速发展,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在逐步渗透到我们的生活中。本文将探讨这三种技术的发展趋势,并分析它们如何相互融合,共同塑造未来的应用场景。我们将通过具体示例,展示这些技术如何在金融、医疗、教育等领域创造新的可能性,并讨论它们对日常生活的影响。
|
25天前
|
存储 传感器 物联网
未来已来:区块链、物联网与虚拟现实技术融合的新篇章
【10月更文挑战第38天】本文旨在探索新兴技术区块链、物联网(IoT)和虚拟现实(VR)在未来社会的应用前景。通过分析这些技术的发展趋势,我们将揭示它们如何相互交织,共同塑造一个更智能、更互联的世界。文章将不包含传统意义上的摘要内容,而是直接深入主题,展开讨论。
|
26天前
|
供应链 监控 搜索推荐
物联网技术在物流领域的应用会带来哪些影响?
物联网技术在物流领域的应用会带来哪些影响?
74 2

热门文章

最新文章

相关产品

  • 物联网平台