当前位置:首页 > 工业控制 > 电子设计自动化
[导读]引言 CCM3118是苏州国芯公司一款32位高性能、低功耗SoC芯片,以32位C*CORE C310处理器为核心,并有3个串口,2个智能卡接口,1个PS/2接口,1个LCDC控制器,多达72个通用输入输出引脚(GPIO)等丰富资源,在税控收款机

引言

CCM3118是苏州国芯公司一款32位高性能、低功耗SoC芯片,以32位C*CORE C310处理器为核心,并有3个串口,2个智能卡接口,1个PS/2接口,1个LCDC控制器,多达72个通用输入输出引脚(GPIO)等丰富资源,在税控收款机、POS机等领域广泛应用。税控收款机所管理的商品、发票、销售记录等数据量非常大,并且国家税控机标准中对数据的保存时间、可靠性有明确要求,故需要一种大容量、单位比特价格低、读写性能好、能够长时间可靠保存数据的非易失存储器。

NOR和NAND是现在市场上两种主要的非易失闪存技术。NOR FLASH较早为业界采用,但由于其成本较高及写入速度较慢的先天弱势,使其仅能在注重执行速度或小量数据储存的地方使用。NAND FLASH结构强调降低每比特的成本,更高的性能,并且象磁盘一样可以通过接口轻松升级,是高密度数据存储的理想解决方案。

  1 NAND FLASH芯片

1.1 芯片介绍

NAND FLASH是采用NAND结构技术的非易失存储器,内存有8位和16位两种组织形式,本文所讨论的FLASH都是8位的。FLASH的I/O接口可用于控制命令和地址的输入,也可用于数据的输入和输出。FLASH主要以页为单位进行读写(也能够以字节为单位进行读写),以块为单位进行擦除。FLASH页的大小和块的大小不同类型块结构而不同,块结构有两种:小块(图一)和大块(图二),小块FLASH包含32个页,每页512+16字节;大块FLASH包含64页,每页2048+16字节。

小块类型FLASH

点击看原图


(图一,小块类型FLASH)

大块类型FLASH

点击看原图


(图二,大块类型FLASH)

大块和小块FLASH都有与页大小相同大小的页寄存器,用于数据缓存。当读数据时,先从FLASH内存单元把数据读到页寄存器,外部通过访问FLASH I/O端口获得页寄存器中数据(地址自动累加);当写数据时,外部通过FLASH I/O端口输入的数据首先缓存在页寄存器,写命令发出后才写入到内存单元中。

FLASH典型的读操作时间为50ns/字,写操作时间为200us/页,擦除操作时间为2ms/块,块擦写次数超过100K,数据保存时间超过10年。

1.2 固有特性

NAND FLASH自身有一些特性,导致其不能象普通磁盘那样进行操作。主要特性如下:

a) 出厂时可能存在坏块,并且使用过程中也会有坏块出现。

b) 按页写,按块擦除。

c) 写操作只能在空或已擦除的单元内进行。

d) 块的擦写寿命有次数限制。

e) 块擦除时间与页读写时间相比十分长。

需要通过软件的支持来消除这些特性导致的不足,使得能象操作普通磁盘一样进行FLASH操作。 2 CCM3118操作NAND FLASH工作原理

CCM3118提供多达72个通用输入输出引脚,扩展与FLASH的接口非常简单、方便,CCM3118与K9F5608 NAND FLASH的接口电路图如图三所示:

K9F5608与CCM3118接口电路图
&nb

sp; (图三,K9F5608与CCM3118接口电路图)

通过软件把CCM3118相关引脚设置为GPIO功能,并设置其方向。按照FLASH读、写、擦除操作时序要求操作这些I/O引脚。图四、图五、图六分别是K9F5608系列小块FLASH的读、写、擦除操作时命令、地址、数据部分的序列:


读操作序列

点击看原图

(图四,读操作序列)

写操作序列

点击看原图

(图五,写操作序列)

擦除操作序列

点击看原图

(图六,擦除操作序列)

在操作序列中,通过对R/B信号的判断可以知道操作是否结束。对于写和擦除操作,在写命令(0x10H)和擦除命令(0xD0H)发出之后才进行真正的操作,操作结束后,可以通过发命令(0x70H)查询操作是否成功。3 闪存固件程序设计

闪存固件程序的需求来源于FLASH本身的物理机制(用I/O接口传送控制命令、地址和数据信息),和其固有特性导致的不足。所以在考虑软件设计的时候,应该区别基本的读/写/擦操作和高一级的用于磁盘仿真和闪存管理的算法。FLASH基本的读/写/擦操作,通常称作为内存技术驱动程序(MTD-- Memory Technology Devices);高一级的磁盘仿真和闪存管理,通常称作为闪存转换层(FTL-- Flash TranslationLayer)。FTL层的管理程序调用MTD接口进行数据的存取,闪存固件程序的架构如图七所示。

闪存固件程序架构

  (图七,闪存固件程序架构)

3.1 MTD层

不同厂商、不同FLASH结构导致闪存的控制命令有所差异,不同容量导致地址字节数不同。例如三星K9F5608系列读数据方式是:控制命令0x00H,3个字节的地址,读信号,但K9F1G08系列读数据方式是:控制命令0x00H,5个字节的地址,控制命令0x30H,读信号。

在MTD层需要针对这些差异,实现相应的驱动。而且MTD层应该封装这些差异向FTL层提供统一的接口,使得FTL层能够访问任意物理地址的数据,而不关心控制命令序列和地址字节数。值得注意的是虽然最上层的应用都是以扇区(在FLASH里称为页)为单位读写数据,但FTL层的管理程序需要对FLASH的冗余数据区(SPARE AREA)进行数据操作(一般FTL层的管理程序所用的数据存放在冗余数据区),所以MTD层也需要提供字节地址而不仅仅是页地址的访问能力。

3.2 FTL层

FTL层的管理程序主要目的是消除FLASH固有特性带来的不足,让上层应用程序以类似于磁盘的方式对FLASH进行操作。

3.2.1 初始化

在FLASH出厂时已经对坏块做了标记,所以闪存芯片在被第一次访问时需要根据厂方定义的坏块识别方法识别出所有坏块,建立坏块表,避免以后对这些坏块进行操作。

3.2.2 Block Management

除了在出厂时由厂方标记坏块外,在FLASH写或擦除后也能够通过读取FLASH状态来识别出刚操作的块是否坏,如果是坏块则需要在坏块表里标记出来。

由于坏块的存在导致不能按照物理地址连续的存取数据,并且为了使上层应用不关心FLASH物理地址是否连续,需要提供一种机制把上层传来的地址(逻辑地址)转为FLASH相应的物理地址。在读数据时,根据逻辑地址找到对应的物理地址;在写数据时,根据Wear-Leveling算法得到物理地址后,更新逻辑地址与物理地址的对应关系。
3.2.3 Wear-Leveling

由于FLASH块的擦写有次数限制,所以不能对同一个块进行频繁的写或擦除操作,也就是尽量让每一个块有均等的擦写机会。Wear-Leveling算法有两个层次:

1. 新的数据写到最少被使用的空闲块。

2. 长期不变的数据被拷贝到另外的块中,它原先占用的块被频繁更新的数据使用。

3.2.4 Block Replacement

当往FLASH某一页写数据后,通过读取FLASH状态可以知道操作是否成功,如果失败则当前块要被标记为坏块,由于当前页写失败并不影响同一块中其它页的数据,所以需要把这些数据拷贝到新的块中。

由于FLASH具有按页写,按块擦除的特性,在对FLASH某块中一页更新而又要擦除该块时,也需要通过块替换把其它页拷贝到一个新块中。

3.2.5 Garbage Collection

由于FLASH写操作只能在空或已擦除的单元内进行,并且相对于读写操作,擦除操作的时间十分长。所以在更新数据时并不是把数据所在的块擦除后在写入数据,而是找一个新的空闲块写入数据,把先前的块标记为舍弃,在系统空闲的时候擦除那些标记为舍弃的块。

3.2.6 FTL接口

向上一层提供一个连续的、没有坏块的、以扇区为单位访问的地址空间及存取接口。

4 结论

NAND FLASH这种高密度、存取性能高、单片容量不断增加的存储器可满足税控收款机对大批量数据存储的需求;CCM3118丰富的GPIO资源可以非常简单的实现对FLASH操作,达到大容量数据存储扩展的目的;针对FLASH固有特性的程序设计能有效的消除NAND FLAH自身的缺陷,满足税控收款机对数据存取高可靠性的要求。

参考文献

1 Samsung Electronics Datasheet. Samsung—K9F5608(16)q(u)0b
2 Samsung Electronics Datasheet. Samsung—K9F2G08X0M
3 苏州国芯科技有限公司CCM3118 Data sheet.



来源:零八我的爱0次

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

西班牙塞维利亚,2024年3月12日 — Teledyne Technologies旗下公司、全球成像解决方案创新者Teledyne e2v宣布扩展其Flash™ CMOS图像传感器系列,推出Flash 2K LSA,该...

关键字: 图像传感器 Flash 摄像机

在这篇文章中,小编将为大家带来JTAG接口与Flash的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: JTAG Flash

近日,第11届EEVIA年度中国硬科技媒体论坛暨产业链研创趋势展望研讨会在深圳召开,兆易创新Flash事业部产品市场经理张静在会上发布了主题为“持续开拓,兆易新一代存储产品助力行业创新”的演讲。

关键字: 兆易创新 Flash 闪存

随着信息技术的快速发展,存储器的需求日益增长。Flash存储器作为一种非易失性存储器,具有重要的应用价值和广泛的应用领域。本文将详细介绍Flash存储器的基本原理、工作方式和作用,帮助读者更好地了解这一重要的存储器技术。

关键字: Flash 汽车 电子设备

随着信息时代的到来,数据存储成为了一项基本需求。Flash存储器成为了一种常见的存储设备,用于存储各种类型的数据,如文档、图片、视频等。本文将详细介绍如何使用Flash存储器以及如何写入数据,帮助读者了解Flash存储器...

关键字: Flash 存储器 数据

随着科技的不断发展,Flash存储器已经成为存储设备中最常用的一种类型。它具有非易失性、高密度、低功耗和快速读写等特点,广泛应用于各种领域,如移动设备、嵌入式系统和存储芯片等。本文将介绍Flash存储器的编程设计以及一些...

关键字: 存储器 Flash 嵌入式

(全球TMT2023年7月28日讯)2023年7月28日,江波龙上海总部项目封顶仪式在中国(上海)自由贸易试验区临港新片区举行。江波龙上海总部位于临港新片区滴水湖科创总部湾核心区,项目于2021年启动建设,占地面积约1...

关键字: 存储芯片 数据中心 芯片设计 Flash

近日小鹏汽车获得大众集团7亿美元投资的消息,引发极大关注。不可否认,在当下汽车智能化、电气化的发展阶段,中国在技术和市场上都走在了世界前列。虽然今年上半年整车市场销售情况不佳,但汽车仍是具有超高增长前景的赛道,成为芯片厂...

关键字: winbond ddr nand adas

昨天下午,中国市场监管总局附加限制性条件批准了美国半导体公司迈凌(MaxLinear)对全球最大 NAND Flash 控制芯片供应商慧荣科技(SMI)的收购。

关键字: 迈凌 慧荣 芯片 NAND Flash

Flash存储器,也称为闪存存储器,是一种非易失性存储器(Non-Volatile Memory,NVM),用于在设备断电后仍然能够保持存储的数据。它的名称来源于一种称为“闪存技术”的特殊电子存储技术。Flash存储器的...

关键字: Flash 存储器 电荷贮存器
关闭
关闭