- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Nand+Flash存储管理在DSP系统中的实现
Nand+Flash存储管理在DSP系统中的实现
Nand Flash作为一种安全、快速的存储体,因其具有体积小、容量大、成本低、掉电数 据不丢失等一系列优点,已逐步取代其它半导体存储元件,成为嵌入式系统中数据存储的主 要载体。尽管Nand Flash的每个单元块相互独立,且每块一般可擦除次数高达10~100万次, 但是随着擦写次数增加,会有一些单元块逐渐变得不稳定或失效从而形成永久性坏块。因此, 要避免频繁地对同一块进行操作,尽量达到擦写次数均衡;同时,由于擦除操作耗时较多, 会对系统的实时性造成影响。为此,本文介绍了一种基于磨损均衡思想的Nand Flash存储管 理方式,并深入讨论了该方式在Ti公司的DSP TMS320F28x中的程序实现。
1 器件介绍
本文中采用的Nand Flash芯片K9F6408U0C是一块拥有8M(8,388,608)×8bit存储空间及 256K(262,144)×8bit辅用存储空间的存储芯片,电源电压为1.8V-3.3V。芯片内部按块和 页的方式来组织的,如图1所示,共分成1024个块,每块包含16个页,每页内有528个字节。 F28x系列DSP是美国TI公司最新推出的C2000平台上的定点DSP芯片。
图1 K9F6408UOC内部结构示意图
F28x系列芯片具有 低成本、低功耗和高效能等特点,特别适用于有大量数据处理的测控场合。
2 Flash的特点及存储管理的作用
由K9F6408U0C的基本结构可以知道,它的基本单位有块、页、字节等。 Nand Flash 芯片具有如下特点:
Flash写:通过写命令将每个字节存储单元中的1变为0;写操作不能把0变为1。
Flash擦除:擦除命令是Flash中存储单元0变为1的唯一途径,一旦对某一块中的某一位 写0,要再改变成1,则必须执行擦除命令。
通常,对于容量较小的Flash块的操作过程是:先把整个块的数据读到RAM中,在RAM中 修改数据内容,再擦除整个块,最后写入修改后的数据。显然,这样频繁复杂的读-擦除- 写操作,对于Flash的使用寿命以及系统性能是很不利的,而且微处理器中通常RAM大小有限。 因此在硬件条件苛刻的嵌入式系统中就迫切需要一种合理的存储管理方式以便有效地均衡 Flash各个存储块的擦写次数,提高Flash的使用寿命,从而提高数据存储的安全性。
3 存储管理系统的设计
3.1建立坏块管理表
Nand Flash由于生产工艺的问题,不可避免的会存在一些坏块,这些坏块在芯片出厂前 都已被标识好。根据Nand Flash数据手册中的介绍,在每一块的第一页与第二页的Spare area 的第六个字节(也就是该页的第517字节)即是出厂时的坏块标识位,如果某块的该两页的 第517字节内容不同时为0xFF,则代表该块为厂家标识坏块。这种坏块的检测必须在对芯 片进行擦除前进行,因为厂家坏块有可能也能够被进行擦除操作,如使用这种块将对数据安 全留下一定的隐患。
Nand Flash在出厂前会保证每块芯片的第一块与第二块是完好的,所以在本文的设计中,采用的方式是将坏块管理表存放在第一块的第一页的前128个字节中,每个字节的一位代表芯片的一块,如该位为1刚表明该块是好的,为0则表示对应块为坏块。坏块管理表的建立是必需的,而且最好是在芯片进行其它擦写操作前进行。
3.2 Flash存储空间管理
在本文设计的Flash空间管理中,Flash的存储块被分为空闲块(Free,即空白没写数据 的好块),有效块(Valid,即存有有效数据的块,不能被擦除),无效块(Invalid,即数 据已无效或是写入错误块,可被擦除),保留块(Reserve,用于替换新产生的坏块),其它的则为坏块,所有存储块的管理均采用单向链表方式进行管理。
在大部分的Flash存储空间管理系统中可能并不存在保留块,在本系统中增加保留块的 作用主要是,当部分存储块因为反复擦写成为新的坏块时,可以用保留块取而代之成为新的空闲块,从而使得留给用户的可用存储块总数在一定时期内是一定的,这样做的优点是可以增强数据的安全性,延长整个Flash的使用周期,缺点是用户可用的存储空间相对减少,不过在Flash芯片技术迅速发展的今天,大容量的Flash芯片价格已经十分低廉,数据安全才是嵌入式系统设计最值得重视的。
在本文的设计中,统一规定Flash每一块的第一页的Spare Area为数据块状态信息标记区,具体规定如表2所示:
根据上表的设计,块擦除次数最大为224 ? 1 =,远大于Flash的最大擦除次数10到100万次;块状态标记字节,0xFF代
您可能关注的文档
最近下载
- 第6课 推动形成全面对外开放新局面.pptx VIP
- 电规总院解析2018中国能源发展情况.PDF
- 2023届高考模拟作文“《山月记》我深怕自己并非美玉”导写及范文.docx VIP
- 冰淇淋本部冷冻饮品生产工艺作业指.pdf VIP
- GB_T 14598.1871-2024 量度继电器和保护装置 第187-1部分:差动保护的功能要求 电动机、发电机和变压器比率制动差动保护和差动速断保护.pdf VIP
- 七年级数学动点题50道.doc VIP
- “多测合一”收费指导标准(示范文本) .pdf VIP
- 煤矿采掘失调原因分析及对策探讨.doc VIP
- jtge20-2011公路工程沥青及沥青混合料试验规程.pdf VIP
- 中国的文人与士大夫文化传统.pptx VIP
原创力文档


文档评论(0)