本次座谈将介绍NAND FLASH的应用注意事项,以及如何设计应用以适应这些限制。我们列举了一些范例以加深相关概念的理解。通过本次座谈,软件研发工程师可以评估现有的设计是否符合NAND的使用要求,进而达到提高系统可靠性的目的。
黄越伟
FAE
问:这个有什么发展前境?
答:你是指Nand flash有什么发展前景么?
问:处理的速度是多少
答:写入时间200us,擦除时间2ms
问:有没有工业级或汽车级的产品?
答:Spansion的SLC nand 有工业级和汽车级的产品。
问:请问:这个闪存主要是用于PC还是移动设备?谢谢
答:嵌入式设备
问:请问:今天介绍的闪存主要用于嵌入式系统,那它与单片机、人机界面结合可以吗,在这些设备里使用有什么特别要求吗?谢谢
答:存储器是通用设备,不只使用在嵌入式系统中,在很多领域只要需要存储器的地方都可以使用,Spansion产品有工业级和汽车级,可满足绝大多数要求。
问:介绍的延长NANDflash使用寿命的方法比较独特。请问:这个功能的实现是利用软件实现还是利用硬件里类似切换开关的形式来完成?谢谢
答:扇区擦写均衡算法现在已经是普遍采用的,应该算不上独特。它一般是用软件(在文件系统里)实现,当然,也可以用硬件控制器实现,EMMC就是这样做的
问:NORFLASH与NANDFLASH的区别是什么呢
答:最大的区别是NAND有坏块,需要ECC支持。 至于更具体的区别,可能没有办法在此一一赘述,请谅解
问:扩展区可以给用户使用么?
答:可以的,Spare area跟main area本质上没有什么不同,也可以用来存放用户数据。
问:这可存储芯片的存储量及功耗,通信速度?
答:有各种不同的型号,具体请上我们的官网下载数据手册。
问:BLOCK0一样也是会受读影响的吧?虽然保证了1000次擦写,但是如果有足够多次启动,不是可能也会发生扰动,造成BOOTLOADER出错吗?而且BOOTLOADER的PART1无法ECC的话,还是会无法启动啊?
答:boot区域的数据一般很少更新,1000次基本足够。至于读造成的影响,通常一个产品在其生命周期内也不太可能有超过一百万次启动的情形。现在很多主芯片会对part1做hardware ECC 校验
问:以前只听说SSD的控制芯片上有这种均衡算法,那么在一般的U盘或SD卡上,是否有类似UBI的均衡算法呢?还是必须由上层的应用来保证?比如一个8G的U盘,存了4个G,删掉重写,它使用的块是另外4G优先,还是像硬盘一样从头重新使用呢?
答:SD卡的均衡算法怎么设计由其内部的控制器设计决定,这部分的设计一般有专利保护,外界能了解到的信息不多。我认为应该也是全局均衡的。
问:刚刚致电了Kingston官方的技术支持,他们说SD和U盘芯片没有均衡算法,都是由操作系统来保证的,所以看来使用SD卡的应用,需要自己在上层写带均衡功能的应用程序了。
答:我觉得还是有的,因为如果没有均衡,并且卡快写满的时候,这个时候再往里面反复写数据就很危险了, 因为SD卡一般用MLC,擦写次数很低的。
问:目前NANDFLASH最大擦写次数到底能达到什么水平?不是理论值,是实际情况?
答:看工艺而定,SLC的一般是能达到100K次的。MLC的要差,5000次左右。
问:你好,能共享下PPT吗?谢谢,今天很有收获
答:我们每个座谈都有一个回放的页面,包括presentation和问答, 后续您可以继续访问此网站了解相关内容。谢谢。
问:演讲中6410的启动上是前4kb,数据手册也是,实际应用中都是前四页中每页前2K由irom移动到iram,共8k,我用的mlc的做过实验。请问这点有误吗?
答:更正一下:8K应该没问题,如果是SLC 2Kpage, 一共搬4个页。数据手册上这个地方前后写得有出入
问:SLC与MLC有哪些区别?
答:请参看演示的第五页,那个表总结了SLC和MLC的使用上的区别
问:请问贵公司有四线制SPIFlash吗?有哪些型号?
答:Spansion FL1K,FLS 系列SPI flash都可以工作在四线模式。
问:请问现在的FLASH在功耗上有降低吗?
答:目前的最大的工作电流在30mA, 待机电流在10uA。
问:为保证FLASH可靠性,除ECC,还有哪些比较好的算法?
答:还有就是要采用扇区擦写均衡算法,特别是全局的,静态类型的算法
问:FLASH数据的可靠性有什么提升
答:如果遵循NAND FLASH的使用限制,可以延长FLASH 使用寿命,同时可以使里面的数据保持更久。这样FLASH数据的可靠性就得到提升
问:这个用于嵌入式设备有什么实例吗
答:SLC NAND目前一般用在PON/DSL/TV/STB/GPS等场合,配合的系统一般是LINUX或者WINCE
问:哪些因素会影响闪存内容丢失或者损坏?
答:要先看数据是大面积丢失还是只是bit翻转,如果是固定位置的丢失,要检查一下CPU上下电是否有作用于flash的波形出来,对于Nand flash,是允许位翻转的,确定ECC算法有用上。如果数据丢失可以比较容易的复现,要检查一下芯片是否损坏了。多数情况下,误操作或者CPU发出的杂波导致闪存内容丢失比较多见。
问:请问下,我们在买一些嵌入式开发板的时候,老再说FLASH是MLC还有SLC这两个究竟有多大区别啊?
答:MLC和SLC的结构有所差异,SLC的稳固性要好于MLC,而容量上MLC可以做的比SLC大。
问:可以增加多长时间的寿命?
答:请问您指的是采用扇区擦写均衡算法后的情形吗?一般一个块能承受10万次擦写,假设一天擦写总数是1万次,如果不采用均衡,这个块可能10天后就坏了。如果在1000个块上作均衡,相当于每个块每天擦写10次,寿命能延长到10000天