位置:51电子网 » 技术资料 » 通信网络

NAND Flash K9T1G08U0M在网络存储中的应用

发布时间:2008/5/29 0:00:00 访问次数:489

1 引言

  随着嵌入式系统广泛应用,嵌入式系统中的数据存储和数据管理则成为设计人员考虑的重点。在许多现场不可达数据采集应用中采用分布式数据存储,必然带来数据管理的不便,因此,集中管理数据成为一种思路。利用成熟的网络传输技术集中分布式嵌入式系统数据,采用c/s模式管理数据。对于大容量数据存储,选择介质存储是需要重点考虑的问题。目前大多采用ide硬盘或scsi硬盘存储,但都存在抗震和抗电磁干扰能力差、使用温度范围窄,无法长期在恶劣的环境中长期工作。电子式flash存储器具有速度快、容量大、成本低、体积小等优点,尤其能够在恶劣的环境下正常工作。随着nand flash容量不断增大,选择nand flash作为嵌入式数据存储已成为一种趋势。

  本文以三星公司的k9t1g08u0m为例,设计了基于大容量nand flash的网络存储系统,该系统具有速度快、安全可靠、易扩展、抗震和抗干扰能力强、使用温度范围宽等特点,可方便的用于安全监控、生产数据记录、航行数据记录等方面,具有广阔的应用前景。

2 nand flash k9t1g08u0m

  k9t1g08u0m是一块1 056 mbit的nandflash存储器,262 144行(page)×528列,其存储结构如图1所示,其中512列至527列间是备用区。一个528字节的数据寄存器附在存储单元阵列用于页读取和页写入操作中i/o缓存和存储区之间数据传输,存储阵列由构成nand架构的16个单元组成,16单元的每一单元都存放在不同的页中,一个块包含32页2个nand架构。一个nand架构包含16个单元,一个块中总共有8 448个nand架构。写入和读取操作都是基于页的,但擦除操作是基于块的,存储阵列包含8 192个独立可擦除的16 kb块。这表明k9t1g08u0m中位擦除操作是禁止的。

  k9t1g08u0m有8个复用i/o地址,减少了引脚数目并允许保持原系统板设计而使系统存储密度升级。命令、地址、数据都是在we和ce控制下通过i/o写入。数据在we上升沿锁存,命令和地址则是通过命令锁存允许(cle)和地址锁存允许(ale)区分,128 mb物理空间需求27位地址,因此需要4个字节地址周期:1个列周期,3个行周期。页读取和页写入都是在输入命令后紧跟着4个相同的地址周期。块擦除仅需要3个行周期。

3 nand flash编程特点

  flash主要有3种操作。flash写操作可使存储单元由1变为0,存储单元为0后,不能再通过写操作置为1;flash读操作不改变存储单元;flash擦除操作可使存储单元由0变为1,但不能只对某个单元进行擦除操作。flash的擦除包括块擦除和芯片擦除。块擦除是把某一擦除块的内容都变为1,而芯片擦除是把整个flash的内容都变为1。通常一个flash存储器可分为若干个擦除块。flash存储时,是以擦除块为单位。当在一个块中存储时,一旦对某一块中的某一位写0后,若再要改变成1,则必须先对整个块进行擦除,然后才能修改。这点也是flash最为麻烦的。通常,容量小的块操作过程:先将整个块存储到ram中,在ram中对其修改,再擦除整个块,最后写入修改值。显然,这样频繁复杂的操作将影响flash的使用寿命和系统性能,而且系统无大容量ram空间资源。

4 存储策略及实现

4.1 存储策略

  在嵌入式网络存储应用中,首先考虑使用文件系统。文件系统必须保证数据完整性,也就是保证写入磁盘的数据与随后读取内容的一致性。目前在nandflash中使用的较多是日志文件,但日志文件系统为保障文件安全增加了额外的系统开销一每次更新磁盘节点,大多数“日志”操作是写同步,这就需要更多的磁盘i/o操作,而且日志文件系统更易产生碎片。

  为了尽可能减少文件存储造成碎片空间的浪费,考虑到文件内容实际是一种二进制数据流,且对于有限的网络节点,并不需要频繁地建立、删除文件。设计人员只对近期的数据情况比较关心。因此系统可采用循环存储,即为每个文件指定存储空间。当存储空间即将耗尽的时候,最新的数据覆盖早先数据。这样可有效的避免产生额外flash碎片。同时在磁盘可利用空间小于一定阈值时,可通过网络报警提醒用户处理flash中的历史数据或采取相关措施。

  由于nand flash具有一定的使用寿命,对于某一扇区的频繁读写将会严重影响flash的使用寿命。因此可将flash按流文件大小分块,通过循环存储避免flash某些存储区域频繁的读写操作。当存储空间不足时,最新写入的数据覆盖早先的数据,这样既避免产生存储空间碎片也有效地延长flash的使用寿命。

4.2 数据安全性考虑

4.2.1 无效块的管理

  由于nand flash的工艺不能保证nand的存储阵列在其生命周期中具有可靠的性能,因此,在nand的生产及使用过程中会产生无效块。无效块的特性:当编程/擦除时,不能将某些位置高,以免造成页写入和块擦除操作错误,反映到状态寄存器相应位上,因此必须对无效块加以标识。

  无效块总

1 引言

  随着嵌入式系统广泛应用,嵌入式系统中的数据存储和数据管理则成为设计人员考虑的重点。在许多现场不可达数据采集应用中采用分布式数据存储,必然带来数据管理的不便,因此,集中管理数据成为一种思路。利用成熟的网络传输技术集中分布式嵌入式系统数据,采用c/s模式管理数据。对于大容量数据存储,选择介质存储是需要重点考虑的问题。目前大多采用ide硬盘或scsi硬盘存储,但都存在抗震和抗电磁干扰能力差、使用温度范围窄,无法长期在恶劣的环境中长期工作。电子式flash存储器具有速度快、容量大、成本低、体积小等优点,尤其能够在恶劣的环境下正常工作。随着nand flash容量不断增大,选择nand flash作为嵌入式数据存储已成为一种趋势。

  本文以三星公司的k9t1g08u0m为例,设计了基于大容量nand flash的网络存储系统,该系统具有速度快、安全可靠、易扩展、抗震和抗干扰能力强、使用温度范围宽等特点,可方便的用于安全监控、生产数据记录、航行数据记录等方面,具有广阔的应用前景。

2 nand flash k9t1g08u0m

  k9t1g08u0m是一块1 056 mbit的nandflash存储器,262 144行(page)×528列,其存储结构如图1所示,其中512列至527列间是备用区。一个528字节的数据寄存器附在存储单元阵列用于页读取和页写入操作中i/o缓存和存储区之间数据传输,存储阵列由构成nand架构的16个单元组成,16单元的每一单元都存放在不同的页中,一个块包含32页2个nand架构。一个nand架构包含16个单元,一个块中总共有8 448个nand架构。写入和读取操作都是基于页的,但擦除操作是基于块的,存储阵列包含8 192个独立可擦除的16 kb块。这表明k9t1g08u0m中位擦除操作是禁止的。

  k9t1g08u0m有8个复用i/o地址,减少了引脚数目并允许保持原系统板设计而使系统存储密度升级。命令、地址、数据都是在we和ce控制下通过i/o写入。数据在we上升沿锁存,命令和地址则是通过命令锁存允许(cle)和地址锁存允许(ale)区分,128 mb物理空间需求27位地址,因此需要4个字节地址周期:1个列周期,3个行周期。页读取和页写入都是在输入命令后紧跟着4个相同的地址周期。块擦除仅需要3个行周期。

3 nand flash编程特点

  flash主要有3种操作。flash写操作可使存储单元由1变为0,存储单元为0后,不能再通过写操作置为1;flash读操作不改变存储单元;flash擦除操作可使存储单元由0变为1,但不能只对某个单元进行擦除操作。flash的擦除包括块擦除和芯片擦除。块擦除是把某一擦除块的内容都变为1,而芯片擦除是把整个flash的内容都变为1。通常一个flash存储器可分为若干个擦除块。flash存储时,是以擦除块为单位。当在一个块中存储时,一旦对某一块中的某一位写0后,若再要改变成1,则必须先对整个块进行擦除,然后才能修改。这点也是flash最为麻烦的。通常,容量小的块操作过程:先将整个块存储到ram中,在ram中对其修改,再擦除整个块,最后写入修改值。显然,这样频繁复杂的操作将影响flash的使用寿命和系统性能,而且系统无大容量ram空间资源。

4 存储策略及实现

4.1 存储策略

  在嵌入式网络存储应用中,首先考虑使用文件系统。文件系统必须保证数据完整性,也就是保证写入磁盘的数据与随后读取内容的一致性。目前在nandflash中使用的较多是日志文件,但日志文件系统为保障文件安全增加了额外的系统开销一每次更新磁盘节点,大多数“日志”操作是写同步,这就需要更多的磁盘i/o操作,而且日志文件系统更易产生碎片。

  为了尽可能减少文件存储造成碎片空间的浪费,考虑到文件内容实际是一种二进制数据流,且对于有限的网络节点,并不需要频繁地建立、删除文件。设计人员只对近期的数据情况比较关心。因此系统可采用循环存储,即为每个文件指定存储空间。当存储空间即将耗尽的时候,最新的数据覆盖早先数据。这样可有效的避免产生额外flash碎片。同时在磁盘可利用空间小于一定阈值时,可通过网络报警提醒用户处理flash中的历史数据或采取相关措施。

  由于nand flash具有一定的使用寿命,对于某一扇区的频繁读写将会严重影响flash的使用寿命。因此可将flash按流文件大小分块,通过循环存储避免flash某些存储区域频繁的读写操作。当存储空间不足时,最新写入的数据覆盖早先的数据,这样既避免产生存储空间碎片也有效地延长flash的使用寿命。

4.2 数据安全性考虑

4.2.1 无效块的管理

  由于nand flash的工艺不能保证nand的存储阵列在其生命周期中具有可靠的性能,因此,在nand的生产及使用过程中会产生无效块。无效块的特性:当编程/擦除时,不能将某些位置高,以免造成页写入和块擦除操作错误,反映到状态寄存器相应位上,因此必须对无效块加以标识。

  无效块总

相关IC型号

热门点击

 

推荐技术资料

耳机的焊接
    整机电路简单,用洞洞板搭线比较方便。EM8621实际采... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!