EEPROM与FLASH闪存有什么区别

EEPROM与FLASH闪存有什么区别
EEPROM与FLASH闪存有什么区别

首页| 行业黑名单| 委托交易| 帮助| English

IC非IC电子资讯技术资料电子论坛 IC库存(103815364条)

PDF资料(329万)

IC价格 IC求购 资讯 技术资料

n m l k j i n m l k j n m l k j n m l k j n m l k j n m l k j

电子元器件搜索:请输入搜索关键词!

采购IC?下载Datasheet?上维库,维库电子市场网,中国最大的IC采购和资料下载平台!

技术交流| 电路欣赏| 工控天地| 数字广电| 通信技术| 电源技术| 测控之家| EMC技术| ARM技术| EDA技术| PCB技术| 嵌入式系统

驱动编程| 集成电路| 器件替换| 模拟技术| 新手园地| 单 片 机| DSP技术| MCU技术| IC 设计| IC 产业| CAN-bus/DeviceNe

EEPROM与FLASH闪存到底有什么区别啊?

作者:zdtdl栏目:单片机

EEPROM与

FLASH闪存到底有什么区别啊?

以前只知道程序代码是放在单片机的ROM或者说EEPROM里面的,听说FLASH实质上就

是EEPROM,现在诸如STC89LE58RD+单片机,内部既有32K容量的FLASH程序存贮

器,又有16K+的EEPROM存贮器,那这两个在使用的时候到底有什么区别啊?是不是利

用ISP技术进行编程写入的程序代码就放在FLASH闪存里面?那EEPROM一般岂不是不放

东西了啊?

IAP技术相对于ISP是动态的操作,CPU CORE已经运行,自己从外面读数据,完成写入自

身FLASH。那么这个时候程序代码是不是先放在EEPROM中,那样才保证CPU正常运行

呢?

我已经一团雾水了,救救我把~~~

2楼:>>参与讨论

作者: 后学 于 2005-12-13 8:17:00 发布:

FLASH只能扇区擦除,EEPROM可以字节擦除

数电书里有这部分内容

* - 本贴最后修改时间:2005-12-14 9:11:37 修改者:后学

3楼:>>参与讨论

作者: zdtdl于 2005-12-13 8:52:00 发布:

看了我用过的数电书上没有介绍的

楼上说得不明白啊,存储的时候有什么区别啊?

4楼:>>参与讨论

作者: computer00于 2005-12-13 9:25:00 发布:

FLASH只能块擦除。楼上的笔误吧

5楼:>>参与讨论

作者: tc9148于 2005-12-13 13:11:00 发布:

楼主和我的疑问一样阿???

EEPROM到底在什么时候用阿!

6楼:>>参与讨论

作者: stintair于 2005-12-13 13:46:00 发布:

主要区别在与速度吧.

FLASH叫闪速存储器,是EEPROM的一种.

7楼:>>参与讨论

作者: zdtdl于 2005-12-13 22:53:00 发布:

那其内部ROM的大小是否是两者相加的容量啊

还是不明白擦除、写入程序代码的时候这两部分啥关系啊??

8楼:>>参与讨论

作者: 西安周公 于 2005-12-14 1:22:00 发布:

EEPROM与FLASH闪存主要区别在组成存储单元的电路不同

9楼:>>参与讨论

作者: hotpower于 2005-12-14 2:12:00 发布:

晕到~~~周老前辈也半夜来灌水

10楼:>>参与讨论sz ganji com Google提供的广告

作者: 永远的不知 于 2005-12-14 7:52:00 发布:

LPC900系列是不是支持字节擦除

11楼:>>参与讨论

作者: zdtdl于 2005-12-14 10:55:00 发布:

问到底

那扇区(块)擦除和字节擦除对于应用来说有什么不同的需要注意的地方呢?

应用中无须关心其内部电路结构,我只要知道怎么去用它就行了吧,现在就是对其使用很模糊,不知道自己用了FLASH还是EEPROM,反正都没用到极限值,所以还没出问题,可是心里不安~~

用c51编译以后,有一行信息如下:

Program Size:data=125.6 xdata=89 code=17855

其中程序大小应该是17855bytes吧,即17k大小。data值怎么还有小数点的?xdata表示外部ram用了89bytes吗?

* - 本贴最后修改时间:2005-12-14 11:02:36 修改者:zdtdl

12楼:>>参与讨论

作者: isoar于 2005-12-14 11:07:00 发布:

特点:EEPROM可单字节操作更灵活,FLASH存储量更大些

FLASH:

只能块擦除(叫块擦除更准确吧,原文是BLOCK),举例说明:比如你用的FLASH的BLOCK是512个字节(不同的FLASH大小不同),那么只有擦除过(所有位写“1”)的BLOCK才能重新写入,意思就是只能从“1”写到“0”,如果要从“0”改到“1”必须整块擦除,而且擦除时的速度相对写入和读出要慢很多。FLASH主要用于程序存储。

EEPROM;

可以单字节操作,没有块擦除的要求。相对FLASH更为灵活。当用来保存设备工作状态,等灵活而又独立的信息时最好用EEPROM。

13楼:>>参与讨论

作者: isoar于 2005-12-14 11:10:00 发布:

STC的是FLASH不是EEPROM

原来那个版理讨论过了,后来被STC的人都删除了,因为他们坚持自己的是EEPROM

妈的,简直就是流氓,所以很久没去那个版了

14楼:>>参与讨论

作者: qjy_dali于 2005-12-14 12:33:00 发布:

FLASH以扇区擦除,EEPROM以字节

都是那个什么STC,非要把大家都搞晕

15楼:>>参与讨论

作者: 西安周公 于 2005-12-14 23:48:00 发布:

我着急嘛。。。。。

你比我还迟!——夜猫子!!

16楼:>>参与讨论

作者: 杨工 于 2005-12-15 0:24:00 发布:

位变量

data=125.6说明有位变量,就是你用bit定义的变量

从使用角度看,EEPROM可以1个字节1个字节的写,写的时候没有限制。

FLASH写只能把1写为0,不能把0写为1。要想把0变成1,只能按块擦除,擦除后整块全为0xff。

另外相对的FLASH便宜些,而且扇区大的更便宜。比如AM29F040B,512K bytes。64k/sector。大约8,9元吧。

17楼:>>参与讨论

作者: hotpower于 2005-12-15 0:42:00 发布:

哈哈,还是周老先晕睡了

18楼:>>参与讨论

作者: rener于 2005-12-15 7:57:00 发布:

EEPROM与FLASH

EEPROM指的是“电可擦除可编程只读存储器”,

即Electrically Erasable Programmable Read-Only MEMORY。

它的最大优点是可直接用电信号擦除,也可用电信号写入。EEPROM不能取代RAM的原因是其工艺复杂, 耗费的门电路过多,且重编程时间比较长,同时其有效重编程次数也比较低。

FLASH MEMORY指的是“闪存”,所谓“闪存”,它也是一种非易失性的内存,属于EEPROM的改进产品。它的最大特点是必须按块(Block)擦除(每个区块的大

小不定,不同厂家的产品有不同的规格), 而EEPROM则可以一次只擦除一

个字节(Byte)。目前其另外一大应用领域是用来作为硬盘的替代品,具有抗震、速度快、无噪声、耗电低的优点,但是将其用来取代RAM就显得不合适,

因为RAM需要能够按字节改写,而FLASH ROM做不到。

19楼:>>参与讨论

作者: zdtdl于 2005-12-15 14:10:00 发布:

现在算是明白了

使用的时候FLASH只能用来存储程序代码code,写入程序的时候如果有FLASH一般都是放在FLASH里面吧。然后程序中用到的一些重要表格类数据,可以存储在EEPROM中,而且保存以后断电也不会丢失。FLASH和EEPROM应该按地址分开的吧。

20楼:>>参与讨论

作者: djtwph于 2005-12-19 13:18:00 发布:

各位请指教

各位请指教: 硬盘是ROM类(我想应该是ROM类),还是RAM类.用Word或Excle编文件时的所谓的存盘是存在哪里了?是不是存在硬盘里了?但ROM应该是不可写入的.对吧.请详细解答.THANKS.

21楼:>>参与讨论

作者: ipman于 2005-12-19 15:09:00 发布:

有没有办法让程序自己将一些数据保存到FLASH中?

22楼:>>参与讨论

作者: lizhi0851于 2005-12-19 16:41:00 发布:

硬盘(转贴)

●硬盘的磁头

众所周知,一块硬盘存取数据的工作完全依靠磁头来进行的,换句话说,没有磁头,也就没有实际意义上的硬盘。那么究竟什么是磁头呢?最简单的理解,磁头就是硬盘进行读写的“笔尖”,通过全封闭式的磁阻感应读写,将信息记录在硬盘内部特殊的介质上。硬盘磁头的发展先后经历了“亚铁盐类磁头(Monolithic HEAD)”、“MIG(METAL In GAP)磁头”和“薄膜磁头(Thinfilm HEAD)”、MR磁头(Magneto Resistive HEAD s,即磁阻磁头)等几个阶段。前三种传统的磁头技术都是采取了读写合一的电磁感应式磁头,在设计方面因为同时需要兼顾读/写两种特性,因此也造成了硬盘在设计方面的局限性。第四种磁阻磁头在设计方面引入了全新的分离式磁头结构,写入磁头仍沿用传统的磁感应磁头,而读取磁头则应用了新型的MR磁头,即所谓的感应写、磁阻读,针对读写的不同特性分别进行优化,以达到最好的读/写性能。除上述几种磁头外,技术更为创新的采用多层结构,磁阻效应更好的材料制作的GMR磁头(Giant Magneto Resistive HEAD s)也已经在2000年浮出水面,应用这种技术,可以使目前硬盘的容量在此基础上再提高10倍以上。

●硬盘的盘面

如果我们把上述硬盘磁头比喻成笔的形容成立,那么所谓硬盘的盘面自然就是这“笔”下的纸。如果你曾经有幸打开过自己的硬盘(当然是已经宣布死亡了的报废产品哟,否则后果自负),可以发现硬盘内部是由金属磁盘组成的。有单碟、有双碟,自然也有多碟。它们通过表面的磁性物质结合在一起。与我们平时使用的那些普通软磁盘存储介质的不连续颗粒相比,这种特殊物质的金属磁盘具有更高的记录密度和更强的安全性能。目前市场上主流硬盘的盘片大都是由金属薄膜磁盘构成,这种金属薄膜磁盘较之普通的金属磁盘具有更高的剩磁和高矫顽力,因此也被大多数硬盘厂商所普遍采用。除金属薄膜磁盘以外,目前已经有一些硬盘厂商开始尝试使用玻璃作为磁盘基片。与金属薄膜磁盘相比,用玻璃作为盘片有利于把硬盘盘片做得更平滑,单位磁盘密度也会更高,同时由于玻璃的坚固特性,新一代的玻璃硬磁盘在性能方面也会更加稳定。不过,这也带来了新的问题,最主要的就是一旦用玻璃材质作为盘片,玻璃材质较之金属材质的脆性就会突出地体现出来,要解决这个问题肯定会大大提高成本,因此估计玻璃磁盘就算现在投入小量生产,一两年内也不会在大范围的商业应用中普遍流行。

●硬盘的马达

有了“笔”和“纸”,要让“笔”能够在“纸”上顺利地写字,当然还要有“手”的控制,而这双控制磁头在盘片上高速工作的“手”就应该是硬盘主轴上的马达了。硬盘正因为有了马达才得以带动盘片在真空封闭的环境中高速旋转,马达高速运转时所产生的浮力使磁头飘浮在盘片上方进行工作。硬盘在工作时,通过马达的转动将用户需要存取的资料所在的扇区带到磁头下方,马达的转速越快,用户等待存取记录的时间也就越短。从这个意义上讲,硬盘马达的转速在很大程度上决定了硬盘最终的速度。在当今硬盘不断向着超大容量迈进的同时,硬盘的速度也在不断提高,这当然也就要求硬盘的马达必须能够跟上技术时代飞速发展的步伐。进入2000年,5400RPM(转/分)的硬盘即将成为历史,7200RPM势必成为今年乃至今后一段时间的主流产品。这种速度方面的提升对于硬盘的马达而言,自然也提出了更高的要求。7200RPM、10000RPM甚至15000RPM的硬盘马达肯定不会采用传统意义上的普通滚珠轴承马达,因为随着硬盘转速的不断提高,同时也会带来诸如磨损加剧、温度升高、噪声增大等一系列负面问题。传统的普通滚珠轴承马达无法妥善解决这些问题,于是先前曾广泛应用在精密机械工业上的液态轴承马达(Fluid Dynamic Bearing Motors)被引入到硬盘技术中。与传统的滚珠轴承马达不同,液态轴承马达使用的是黏膜液油轴承,这种特殊的轴承以油膜代替了原先的滚珠,一方面避免了与金属面的直接磨擦,将传统马达所带来的噪声及温度降至最低;另一方面,油膜可以有效地吸收外来的震动,使硬盘的抗震能力由以往的150G提高至1200G;再一个方面,从理论上讲,液态轴承马达无磨损,使用寿命可以达到无限长,虽然我们无法通过这一点就奢想自己的新硬盘能够“万寿无疆”,但最起码可以延长使用寿命倒是真切的事实。

●硬盘的接口类型

硬盘的接口类型主要分为EIDE和SCSI两种。

早期的EIDE接口硬盘采用了PIO Mode 4模式,其传输速率可以达到16.6MB/s,后来由于采用了UltraDMA/33(或称ATA-4)技术,传输速率一下子提高到了33.3MB /s。如今主流的新一代Ultra DMA/66接口硬盘,其接口界面已经获得了INTEL与世界八大主要个人电脑制造商以及全部硬盘制造商的支持,数据传输率比UltraDMA /33翻了一倍,达66MB/s。而更高的Ultra DMA/100和Ultra DMA/166目前也已经在酝酿之中。

SCSI接口硬盘的基本数据传输率是20MB/s(8bit,50线)。在应用了Ultra WIDE标准后,其传输速率可以达到40MB/s;采用Ultra2 WIDE SCSI标准后,其传输速率还可以升至80MB/s(16bit,68线);而采用Ultra 160/m SCSI标准接口后,其传输速度更可以飙升到160MB/s。另外,目前还有一种采用FC-AL光纤通道接口的硬盘,其传输速率可以达到100MB/s的数据传输率。

如果要比较EIDE与SCSI这两种不同接口模式硬盘的优劣,从价格方面分析,EIDE的价格比较便宜,SCSI价格很高。如果从性能方面分析,EIDE接口的硬盘虽然安装容易,但其允许用户连接的设备较少,且CPU占用率较高。而SCSI接口的硬盘在这方面却表现突出:速度更快、允许增加足够的外设(EIDE提供两个通道,每个通道可挂两个EIDE设备,而SCSI却允许用户连接7个SCSI设备)、CPU占用率较低。

通过磁头改变磁片上小磁铁的方向来记录数据

23楼:>>参与讨论

作者: cherrychip于 2005-12-20 10:03:00 发布:

EE贵,FLASH便宜,用途不同

EE做不了很大,主要用于参数数据存储,FLASH特别是NAND可以随便就作到G,而且单位价格便宜,适合做媒体流存储,如音乐数据视频数据和大文件,但FALSH的写入前必须先有块删除动作,EE就不需要更象是写RAM

24楼:>>参与讨论

作者: eastzsp于 2005-12-20 13:26:00 发布:

EEPROM用了很多年,个人见解,

EEPROM,以前出来的工艺制造的EEPROM主要是存放用户设置的参数,速度比较慢,而程序一般写在紫外线可檫除工艺的ROM中,叫EPROM.

随着工艺的进步和微电子技术的发展后来才出来的FLASH,它最大的优点可以做到大容量,而且有EEPROM的特点,因此现在新出来的CPU都可以集成进去很大容量的FLASH,比如前几年用的89C51有4K空间,现在CRYPRESS的C8051F系列可以做到64K甚至更大.因此逐渐淘汰了EPROM和纯粹的EEPROM芯片,而用FLASH代替他们.在用法上FLASH有它自己的特点,比如楼上各位所说的檫除方式等.FALSH工艺的发展以及越来越低成本的优点,以后在设计中还可以应用更加的广泛.比如以前由于空间有限,为了代码的精简工程师们多数使用汇编,而现在FLASH的容量越来越大,因此用C写单片机程序的工程师们越来越多.而厂家也给自己的单片机开发了基于C语言的平台,比如KEIL,ADS等等.这样使开发周期缩短,用容量换时间,也是大势所趋.

总之,随着科技的发展,以后可能还会有更优秀的EEPROM出现.

25楼:>>参与讨论

作者: 农民讲习所 于 2005-12-20 14:45:00 发布:

存在CPU里,要不CPU为什么那么贵啊

:)

26楼:>>参与讨论

作者: 方谭 于 2005-12-20 20:54:00 发布:

学到东西了

27楼:>>参与讨论

作者: MEIBOY于 2005-12-20 22:10:00 发布:

硬盘不是芯片,不能那么简单的分类。

硬盘不是芯片,所以,不能单纯的定义硬盘属于rom或者ram。如果真的要分的话,我觉得属于外存储器,有点像EEPROM。

28楼:>>参与讨论

作者: Bingoes于 2005-12-20 23:50:00 发布:

铁电的ROM又如何

可以不擦除就写入吗?

不需要写入时间等待吗?

可以把它当成RAM来用吗?

价格与普通的FLASH ROM或EEPROM比较贵多少?

拿它来做U盘实际吗?

29楼:>>参与讨论

作者: cherrychip于 2005-12-21 2:10:00 发布:

目前适合作U盘的只用NAND FLASH

其他的都属于参数存储器,不可大用.

* - 本贴最后修改时间:2005-12-21 2:11:27 修改者:cherrychip

30楼:>>参与讨论

作者: lb415a于 2005-12-21 9:32:00 发布:

关于楼上的答复

硬盘不属于只读存储器(ROM),而是外部数据存储器。它可读可写,由于它的数据记录在磁盘上,所以断电后数据不丢。因而又不能说硬盘是随机存储器(RAM)。

31楼:>>参与讨论

作者: cherrychip于 2005-12-21 9:50:00 发布:

准确的说硬盘是先RAM后ROM

PC并没有直接用DMA访问硬盘的盘片,而是通过DMA访问RAM,就是通常所说的硬盘或光驱的那个128K-2M的缓存,之后由硬盘内的CPU再将RAM内的数据写入硬盘,这比较象NAND FLASH的结构动作,所以NAND FLASH更适合作盘.

32楼:>>参与讨论

作者: computer00于 2005-12-21 10:22:00 发布:

楼上最后来的这个推论似乎有点不合适

只要方便存储的,都合适做盘。

33楼:>>参与讨论

作者: sqmonkey于 2005-12-21 11:31:00 发布:

我想请教24cxx的EEPROM与51单片机的通信问题

我想请教24cxx的EEPROM与51单片机的通信问题

我现在想用24cxx做89C51的外部数据存储,能让系统在断电后保存数据,但苦于专业知识不够,因此想请教各位同仁,能否教教我!!

34楼:>>参与讨论

作者: zdtdl于 2005-12-21 13:36:00 发布:

学了不少知识,我的一些体会如下

1.PC中硬盘相当于单片机中的外挂的外部数据存储RAM,容量可以扩展到很大,于是CPU访问它必须通过介质高速缓存或者主内存进行,也就是访问是间接的。

CPU内部肯定也会集成了内部数据存储RAM,可能就是所谓的FLASH.html">FLASH缓存,是CPU直接访问的;而CPU内核的秘密则保存在内部ROM中,不能被用户擦除修改的吧,那些外部ROM如BIOS则是EEPROM可以用来按用户要求被修改。

2.硬盘就像FLASH介质一样,属于EEPROM掉电不丢失数据,却又有着RAM可随机读写的特点。但我想硬盘和普通FLASH的主要区别在于硬盘的介质是金属薄膜磁盘或者玻璃磁盘,具有更高的记录密度和更强的安全性能,而FLASH一般由集成硅芯片组成,一个是大巫,一个是小巫:)

3.关于静态和动态RAM的区别:CPU高速缓存一般是由静态RAM制造的,在通电情况下可以长时间保持电量,无须每隔一段时间重新加电,因此数据传输速度很快,但工艺复杂成本高,因此容量小;主内存通常采用动态RAM,它的制作成本较低,容量可以做得较大,但即使在通电情况下也不能长时间保持电量,需要每隔一段时间就进行一次重新加电过程,否则会因为电量自然放尽而丢失数据,因此数据传输速度受限。

35楼:>>参与讨论

作者: skyhawl于 2005-12-21 14:06:00 发布:

EEPROM和FLASH

FLASH有sector erase,block erase,chip erase。

如果在一个sector中,擦其中一个字节,则整个sector或者block都被擦掉。

EEPROM没有这个问题。

FLASH有byte program和word program。

FLASH单元只能有1变为0。

FLASH的IP内核的操作一般需要命令序列。

FLASH一般面积小,功耗低,而EEPROM则面积较大,功耗大。

FLASH和EEPROM都是非易失性的。写进去东西,掉电也不会丢

36楼:>>参与讨论

作者: computer00于 2005-12-21 14:12:00 发布:

PC机的存储结构跟MCU的大不一样啊

硬盘是外部存储器,是一个外设。

PC将运行的程序和数据都放在内存中,当内存不足时,可借用硬盘将内存中部分暂时不用的

数据复制到硬盘中(在硬盘上的这部分区域就叫做虚拟内存),使用时再从硬盘中读回。

PC的内存就相当于了MCU系统中的程序存储器和数据存储器,而硬盘则是一个外设。

37楼:>>参与讨论

作者: cherrychip于 2005-12-21 18:30:00 发布:

做U盘的存储器要有足够的空间,256K的U盘你要吗?

目前做U盘能卖出去的只有NAND FLASH,谁见过铁蛋存储器作U盘的?不是方便不方便,要说方便SRAM最方便,还快,但成本才是主要的.EEPROM有单片上G的吗?就算有谁买的起?

38楼:>>参与讨论

作者: 不务正业 于 2005-12-21 22:52:00 发布:

回 各位请指教

硬盘应该算是RAM类的,不过也不是完全随机的。硬盘是靠磁性材料的记录信息的,停电数据也不会丢失。WORD文件当然最后是保存在硬盘中了。机器关机前所有重要信息全都保存在硬盘中。不会这个都不知道吧?

39楼:>>参与讨论

作者: 不务正业 于 2005-12-21 23:12:00 发布:

硬盘不是工作在真空环境的吧

硬盘磁头要悬浮在盘片上的,之所以能悬起来是利用了空气动力学原理,高速转动的盘片表面的空气由于受到磨擦力的带动而随盘片转动,把磁头吹离盘片形成悬浮状态,我记得磁头与盘片只有几十微米的距离。如果是真空的,就只能靠磁头悬臂的刚性来保证磁头不接触盘片,这好像很难达到几十微米的距离。

40楼:>>参与讨论

作者: cherrychip于 2005-12-22 17:50:00 发布:

物理存储和文件存储是两个概念

现在的工程师玩高级的东西太多了,对底层是知道的越来越少,开发个东西先问人家要函数库,需要初试化硬件的时候头大晕,其实这都是基本功不扎实的表现,没有硬件基础的软件工程师只能跑龙套,很多高手都是先玩硬件后玩软件的,他们对硬件中那些寄存器的理解是可见的而不是莫名其妙的,高手拿到一个可编程硬件是最先关心他是否开放了足够的状态和功能寄存器,而菜鸟生怕那些寄存器太多.对于一个职业工程师来讲,面对一个存储器芯片只能讨论它是怎么存取数据的而不能张嘴问它是怎么存取文件的,这就好比你去买把电烙铁问人家怎么排电路板一样,电烙铁和电路板看上去是非常有关系的,但都知道这个问题是不能怎么问的.

41楼:>>参与讨论

作者: linwei1234于 2005-12-22 20:20:00 发布:

STC的EEPROM好像是FLASH存数据吧!

42楼:>>参与讨论

作者: martin于 2005-12-23 11:08:00 发布:

EEPROM和FLASH

EPROM,EEPROM,FLASH都是从浮栅管结构发展出来的,但是工艺和特性差别很大,就是FLASH也都有很多种,又有很多工艺和特性的差别。作为工程师,我们要追寻其本质,而不是受某些商家的误导。

在网上找了些资料,希望有助于大家理解这些差异。

https://www.360docs.net/doc/c115693909.html,/pdf/technotes/ft01.pdf

在一些技术描述上,有些FLASH工艺也被称为FLASH EEPROM,但是我们对于平常使用的EEPROM的概念是:可以按字节擦写,擦写寿命能达到百万次的非易失性存储器。所以,关心名称的差异,不如关心其特性。

43楼:>>参与讨论

作者: zdtdl于 2005-12-23 15:01:00 发布:

回到最初的问题吧

大家说了那么多,知识也学到了很多,不过有些偏题了:)

回到最初的问题,目前通用的单片机里面,据身边的工程师介绍说:一般既有FLASH又有EEPROM的单片机,程序和数据都是装在FLASH里面,读取程序和数据也都是从FLASH里面的,这是为了方便了ISP操作。当单片机的程序空间和DATA空间不分开的时候,也可以方便地进行IAP操作了。假如单片机内部除了FLASH,又有独立的EEPROM,进行IAP操作时先把程序从FLASH单元复制到EEPROM单元,然后通过IAP即修改了程序单元又修改了DATA单元。但有些单片机的程序空间和DATA 空间是分开的,就像一些STC单片机一样,假如说内部没有独立的EEPROM的话,就不能通过IAP直接替换程序了,因为IAP前提是MCU已经在运行正常的程序了。但程序空间和DATA空间分开时,可以通过IAP进行DATA单元的操作,那么IAP这个时候就是写些重要数据(如表格或参数之类)的功能了。

这是FLASH和纯粹EEPROM的关联吧。

还有如STC89LE58RD+单片机中所谓的EEPROM只是将DATA FLASH单元当作EEPROM来使用,并不是纯粹的EEPROM。EEPROM和FLASH最根本的区别就是(楼上都提到过)前者可以使0变1或者1变0的字节编程,擦除时将1变0;后者却只能进行把1变为0的字节编程,擦除时将0变1。大概STC省略了先要扇区擦除保证一个字节为空即0FFH的前提,套用把1变0的“字节编程”概念,于是将可用DATA FLASH称为EEPROM了吧。

44楼:>>参与讨论

作者: mochaowu03于 2005-12-23 15:59:00 发布:

FLASH是何物

zdtdl,你好

FLASH是可改写的ROM(装code),EEPROM是断电也不会丢失的RAM(装data & flag)。

45楼:>>参与讨论

作者: cherrychip于 2005-12-25 15:34:00 发布:

FLASH.html">FLASH是动画片,哈哈

比如那个:俺们都是哪个东北银,俺们全都是活雷锋...就是拿FLASH作的.存储器叫NAND FLASH

46楼:>>参与讨论

作者: 啊哈 于 2005-12-25 19:16:00 发布:

look

47楼:>>参与讨论

作者: pengyuchun于 2005-12-26 9:50:00 发布:

re

呵呵,楼上的,你的问题原自你对存储器的种类模糊。

现在所说的硬盘是靠磁头读写的,是属于磁记录的存储器。它读写速度相对较快,但它怕振动。

而EEPROM、FLASH则都是电可擦除和写入的,和硬盘本质不同。

EEPROM每次可以操作一个字节,操作过程一般是先擦除后写入。

FLASH每次要擦除一个扇区,更改扇区中的任意一个已经写为0的位到1时,整个扇区都需要被擦除,然后重新写入。

48楼:>>参与讨论

作者: 盛春雷 于 2005-12-26 19:32:00 发布:

是不是FLASH更容易受干扰啊?

记得有篇文章说,S5X系列的单片机总是程序跑飞,只好又换回C5X系列的单片机了,就觉得,FLASH擦除的快,那受电磁干扰也更大吧?

只是一想,不知对不对:)

49楼:>>参与讨论

作者: zdtdl于 2005-12-27 13:19:00 发布:

楼上有所误解吧

从干扰的途径来看,干扰本身不是直接作用于ROM等程序空间上的,而是通过单片机的管脚也就是MCU的输入输出端口进入的,一旦由于受到例如电磁辐射/脉冲信号/强电等干扰,端口状态出现改变,从而改变了相应寄存器的值,一旦某些状态位同时发生了改变,很容易引起程序跑飞。因此单片机本身防止干扰的措施应该是做在端口电路上,跟ROM或者FLASH等存储介质无关。

50楼:>>参与讨论

作者: computer00于 2005-12-27 13:54:00 发布:

干扰的途径有很多。也不一定就是通过管脚,

内部的逻辑电路,在强干扰下也会出错的。

51楼:>>参与讨论

作者: cherrychip于 2005-12-28 9:33:00 发布:

NAND FLASH 是俺见过的最皮实的芯片

风枪吹上不冷却通电就能工作除了NAND FLASH 很少再有了,当然7805也可以.

52楼:

>>参与讨论

作者: nxren 于 2005-12-29 10:45:00 发布: 晕

硬盘是硬盘,ROM 和RAM 与硬盘不一样,看看物理介质.所谓存盘对计算机来说当然是存在硬盘上.RAM 在计算机上是个中转站的作用,用来把硬盘上或输入的数据在CPU 处理之前暂时进住的作用而已,计算机里的ROM 固化了一些计算机进行基本操作的程序而已,硬盘里的内容才是我们真正用的到数据.比如WINDOWS 就存在硬盘上.

53楼:

>>参与讨论

作者: lzamzyj 于 2005-12-29 14:50:00 发布: 路过 嘿嘿 明白了

参与讨论

昵称:

讨论内容:

字体字号

发布

相关帖子

一个D/A 问题

s3c44bo 集体做板

怎么样设置使keil debug 时,观察的变量时时刷新仿真正常,芯片插入后不能正常工作,会是哪些原因?请高手谈谈51汇编子程序调用嵌套深度有什么限制

免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入

Copyright ? 1998-2006 https://www.360docs.net/doc/c115693909.html, 浙ICP 证030469号

NAND Flash中文版资料

NAND Flash 存储器 和 使用ELNEC编程器烧录NAND Flash 技术应用文档 Summer 翻译整理 深圳市浦洛电子科技有限公司 August 2006

目录 一. 简介 ----------------------------------------------------------------------------------- 1 二. NAND Flash与NOR Flash的区别 -------------------------------------------- 1 三. NAND Flash存储器结构描叙 --------------------------------------------------- 4 四. 备用单元结构描叙 ---------------------------------------------------------------- 6 五. Skip Block method(跳过坏块方式) ------------------------------------------ 8 六. Reserved Block Area method(保留块区域方式)----------------------------- 9 七. Error Checking and Correction(错误检测和纠正)-------------------------- 10 八. 文件系统 ------------------------------------------------------------------------------10 九. 使用ELNEC系列编程器烧录NAND Flash -------------------------------- 10 十. Invalid Block Management drop-down menu -------------------------------- 12 十一. User Area Settings3 -------------------------------------------------------- 13 十二. Solid Area Settings --------------------------------------------------------- 15 十三. Quick Program Check-box ---------------------------------------------- 16 十四. Reserved Block Area Options --------------------------------------------17 十五. Spare Area Usage drop-down menu ------------------------------------18

NOR-FLASH驱动文档(SST39VF1601)

NOR-FLASH驱动文档(SST39VF1601)2012-03-30 00:57:33 NOR-FLASH是最早出现的Flash Memory,目前仍是多数供应商支持的技术架 构.NOR-FLASH在擦除和编程操作较少而直接执行代码的场合,尤其是纯代码存储的应用中广泛使用,但是由于NOR-FLASH只支持块擦除,其擦除和编程速度较慢,而块尺寸又较大,导致擦除和编程操作所花费的时间很长,所以在纯数据存储和文件存储的应用中显得力不从心. NOR-FLASH的特点是: 1. 程序和数据可存放在同一芯片上,FLASH芯片拥有独立的数据总线和地址总线,能快速随 机读取,并且允许系统直接从Flash中读取代码执行,而无需先将代码下载至RAM中再执行; 2. 可以单字节或单字读取,但不能单字节擦除,必须以部分或块为单位或对整片执行擦除操 作,在执行写操作之前,必需先根据需要对部分,块或整片进行擦除,然后才能写入数据。 以SST系列NOR-FLASH芯片为例介绍FLASH的使用方法及驱动. 首先,在驱动的头文件中,要根据芯片的具体情况和项目的要求作如下定义: 1. 定义操作的单位,如 typedef unsigned char BYTE; // BYTE is 8-bit in length typedef unsigned short int WORD; // WORD is 16-bit in length typedef unsigned long int Uint32; // Uint32 is 32-bit in length 在这里地址多是32位的,芯片写操作的最小数据单位为WORD,定义为16位,芯片读操作的最小数据单位是BYTE,定义为8位. 2. 因为芯片分为16位和32位的,所以对芯片的命令操作也分为16位操作和32位操作(命令 操作在介绍具体的读写过程中将详细介绍). #ifdef GE01 /*宏NorFlash_32Bit,若定义了为32位NorFlash,否则为16位NorFlash*/ #define NorFlash_32Bit #endif 3. 根据芯片的情况,定义部分(段)和块的大小. #define SECTOR_SIZE 2048 // Must be 2048 words for 39VF160X #define BLOCK_SIZE 32768 // Must be 32K words for 39VF160X

浅谈NorFlash的原理及其应用

浅谈NorFlash的原理及其应用 NOR Flash NOR Flash是现在市场上两种主要的非易失闪存技术之一。Intel 于1988年首先开发出NOR Flash 技术,彻底改变了原先由EPROM(Erasable Programmable Read-Only-Memory电可编程序只读存储器)和EEPROM(电可擦只读存储器Electrically Erasable Programmable Read - Only Memory)一统天下的局面。紧接着,1989年,东芝公司发表了NAND Flash 结构,强调降低每比特的成本,有更高的性能,并且像磁盘一样可以通过接口轻松升级。NOR Flash 的特点是芯片内执行(XIP ,eXecute In Place),这样应用程序可以直接在Flash闪存内运行,不必再把代码读到系统RAM中。NOR 的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响到它的性能。NAND的结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于Flash的管理需要特殊的系统接口。性能比较 flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash 器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。执行擦除时块尺寸的不同进一步拉大了NOR和NAND之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。 l 、NOR的读速度比NAND稍快一些。 2、NAND的写入速度比NOR快很多。 3 、NAND的4ms擦除速度远比NOR的5s快。 4 、大多数写入操作需要先进行擦除操作。 5 、NAND的擦除单元更小,相应的擦除电路更少。此外,NAND 的实际应用方式要比NOR复杂的多。NOR可以直接使用,并可在上面直接运行代码;而NAND需要I/O接口,因此使用时需要驱动程序。不过当今流行的操作系统对NAND结构的Flash都有支持。此外,Linux内核也提供了对NAND结构的Flash的支持。详解 NOR

总结NAND FLASH控制器的操作

NAND FLASH相对于NOR FLASH而言,其容量大,价格低廉,读写速度都比较快,因而得到广泛应用。NOR FLASH的特点是XIP,可直接执行应用程序, 1~4MB时应用具有很高的成本效益。但是其写入和擦除的速度很低直接影响了其性能。 NAND FLASH不能直接执行程序,用于存储数据。在嵌入式ARM应用中,存储在其中的数据通常是读取到SDROM中执行。因为NAND FLASH主要接口包括 几个I/O口,对其中的数据都是串行访问,无法实现随机访问,故而没有执行程序。 NAND FLASH接口电路是通过NAND FLAH控制器与ARM处理器相接的,许多ARM处理器都提供NAND FLASH控制器,为使用NAND FLASH带来巨大方便。 K9F2G08U0B是三星公司的一款NAND FLASH产品。 K9F2G08U0B包含8个I/O,Vss、Vcc、以及控制端口(CLE、ALE、CE、RE、WE、WP、R/B)。其存储结构分块。 共2K 块 每块大小16 页 每页大小2K + 64BYTE 即容量=块数×页数×每页大小=2K×16×(2K + 64BYTE)=256M BYTE + 8M BYTE NAND FLASH控制器提供了OM[1:0]、NCON、GPG13、GPG14、GPG15共5个信号来选择NAND FLASH启动。 OM[1:0]=0b00时,选择从NAND FLASH启动。 NCON:NAND FLASH类型选择信号。 GPG13:NAND FLASH页容量选择信号。 GPG14:NAND FLASH地址周期选择信号。 GPG15:NAND FLASH接口线宽选择。0:8bit总线宽度;1:16bit总线宽度。 访问NAND FLASH 1)发生命令:读、写、还是擦除 2)发生地址:选择哪一页进行上述操作 3)发生数据:需要检测NAND FLASH内部忙状态 NAND FLASH支持的命令: #define CMD_READ1 0x00 //页读命令周期1 #define CMD_READ2 0x30 //页读命令周期2 #define CMD_READID 0x90 //读ID 命令 #define CMD_WRITE1 0x80 //页写命令周期1 #define CMD_WRITE2 0x10 //页写命令周期2 #define CMD_ERASE1 0x60 //块擦除命令周期1 #define CMD_ERASE2 0xd0 //块擦除命令周期2 #define CMD_STATUS 0x70 //读状态命令 #define CMD_RESET 0xff //复位 #define CMD_RANDOMREAD1 0x05 //随意读命令周期1

STM32使用FSMC控制NAND flash 例程概要

本文原创于观海听涛,原作者版权所有,转载请注明出处。 近几天开发项目需要用到STM32驱动NAND FLASH,但由于开发板例程以及固件库是用于小页(512B,我要用到的FLASH为1G bit的大页(2K,多走了两天弯路。以下笔记将说明如何将默认固件库修改为大页模式以驱动大容量NAND,并作驱动。 本文硬件:控制器:STM32F103ZET6,存储器:HY27UF081G2A 首先说一下NOR与NAND存储器的区别,此类区别网上有很多,在此仅大致说明: 1、Nor读取速度比NAND稍快 2、Nand写入速度比Nor快很多 3、NAND擦除速度(4ms远快于Nor(5s 4、Nor 带有SRAM接口,有足够的地址引脚来寻址,可以很轻松的挂接到CPU 地址和数据总线上,对CPU要求低 5、NAND用八个(或十六个引脚串行读取数据,数据总线地址总线复用,通常需要CPU支持驱动,且较为复杂 6、Nor主要占据1-16M容量市场,并且可以片内执行,适合代码存储 7、NAND占据8-128M及以上市场,通常用来作数据存储 8、NAND便宜一些 9、NAND寿命比Nor长 10、NAND会产生坏块,需要做坏块处理和ECC 更详细区别请继续百度,以上内容部分摘自神舟三号开发板手册

下面是NAND的存储结构: 由此图可看出NAND存储结构为立体式 正如硬盘的盘片被分为磁道,每个磁道又分为若干扇区,一块nand flash也分为若干block,每个block分为如干page。一般而言,block、page之间的关系随着芯片的不同而不同。 需要注意的是,对于flash的读写都是以一个page开始的,但是在读写之前必须进行flash 的擦写,而擦写则是以一个block为单位的。 我们这次使用的HY27UF081G2A其PDF介绍: Memory Cell Array = (2K+64 Bytes x 64 Pages x 1,024 Blocks 由此可见,该NAND每页2K,共64页,1024块。其中:每页中的2K为主容量Data Field, 64bit为额外容量Spare Field。Spare Field用于存贮检验码和其他信息用的,并不能存放实际的数据。由此可算出系统总容量为2K*64*1024=134217728个byte,即1Gbit。NAND闪存颗粒硬件接口: 由此图可见,此颗粒为八位总线,地址数据复用,芯片为SOP48封装。 软件驱动:(此部分写的是伪码,仅用于解释含义,可用代码参见附件 主程序: 1. #define BUFFER_SIZE 0x2000 //此部分定义缓冲区大小,即一次写入的数据 2. #define NAND_HY_MakerID 0xAD //NAND厂商号 3. #define NAND_HY_DeviceID 0xF1 //NAND器件号 4. /*配置与SRAM连接的FSMC BANK2 NAND*/

VSAN存储解决方案

目录 1Virtual SAN描述 (2) 1.1Virtual SAN简介 (2) 1.2功能和优势 (2) 1.2.1主要特性和功能 (2) 1.2.2优势 (4) 1.3体系结构 (5) 1.3.1独立节点可靠阵列(RAIN) (5) 1.3.2仲裁和副本 (6) 1.3.3固态磁盘的作用 (6) 1.4基于存储策略的管理 (6) 1.4.1Virtual SAN功能 (7) 1.4.2仲裁示例 (8) 1.4.3虚拟机存储策略 (8) 2配置清单及说明 (11) 2.1硬件配置需求 (11) 2.3Virtual SAN部署要求 (11) 2.3.1vSphere (12) 2.3.2存储要求 (12) 2.3.3网络要求 (12) 3方案优势总结 (14) 3.1评估 (15) 3.2规划与设计 (15) 3.3实施 (15) 3.4运维 (16)

1.1 Virtual SAN简介 Virtual SAN是极其简单的虚拟化层融合的存储解决方案。为vSphere虚拟化架构提供高性能,可扩展的存储解决方案。这是适合任何虚拟化应用程序,包括关键应用工作负载的企业级存储解决方案。它与vSphere和对整个VMware功能的无缝集成使它成为理想的存储平台的虚拟机。 1.2 功能和优势 1.2.1 主要特性和功能 VMware Virtual SAN体现了VMware软件定义存储愿景,它在全面集成的直连磁盘解决方案中纳入基于策略的控制层、以应用程序为核心的服务以及虚拟数据层。VMware Virtual SAN采用分布式架构,利用SSD实现高性能的读/写缓存,并利用硬盘实现高成本效益的数据长期保存。功能特性包括: 内置在vSphere内核中 Virtual SAN在vSphere内核内部实施, 从而优化数据 I/O 路径以提供最高级别的性能以及最小化对 CPU 的影响,同时提供最佳性能和可扩展性。简单的一键式部署——VMware Virtual SAN易于配置和部署,如下图所示,只需要单击对话框就可完成。 全闪存或混合式体系结构 Virtual SAN 可用于全闪存体系结构中,在这样的体系结构中服务器连接的闪存设备提供缓存和数据持久性容量,以实现始终如一的超高性能级别。或者,Virtual SAN 可用于混合式配置中,在这样的配置中服务器端闪存设备进行池化以提供读 / 写缓存,而服务器连接的HDD提供数据持久性。 以虚拟机为中心的基于策略的管理

NAND FLASH在储存测试中的应用

NAND FLASH在储存测试系统中的应用(3) 2009-11-09 22:35:43 来源:王文杰马游春李锦明 关键字:NAND FLASH 储存测试K9K8G08UOM 2 NAND FLASkI Memory的硬件部分 本设计当中,FLASH的数据输入输出口、控制端口通过调理电路与FPGA的端口相连,图4所示是其硬件连接电路。 从图4中可知,FLASH的数据输入输出端口I/00~7、控制端口/CE、是通过芯片SN54LV245与FPGA相连;FLASH的控制端口cLE、ALE、/WE、/RE通过芯片SN54LV245和芯片74HCl4与ITGA相连。其中F-CLE、F-ALE、F—WE、F-RE、F—CE、F- R/Bur是FPGA的I/O口,是FPGA逻辑的输入输出口。CLE、ALE信号是FLASH存储器命令、地址锁存使能信号,/WE是保证命令、地址、数据能否及时正确的写入FLASH 的信号,/RE信号控制着数据的读取,这些信号的精确度关系着FLASH存储、读数功能的实现。所以,这些信号的好坏直接关系着FLASH的正常工作。经实践的电路调试,这些信号在传输过程中受到了其它因素的干扰,信号明显失真,在电路中加入74HCl4(非门)以后,信号会变得光滑,准确。 芯片SN54LV245是八进制三态总线收发器,DIR=1时,总线传输方向从A→B;DIR=0时,总线传输方向从B→A。/OE是片选信号。/0E,DIR信号是由FPGA内部编程逻辑控制的。 FL,ASH接口中,为了保证/wE、/RE、/CE、R/B控制信号初始状态无效,由硬件电路实现端口值拉高。本设计中不使用写保护功能,所以/WP端口也接上了上拉电阻。 3 结束语 基于闪存技术的固态存储器存储密度大,功耗小,可靠性高,体积小重量轻且成本也在不断降f氐,在航空应用中有良好的应用前景。在设计储存测试系统时选用大容量的NAIXD FLASH存储器大大提高了储存、读取速度,并且设计电路结构简单,易于修改。 (本文转自电子工程世界:http://www.eewo

nandflash用法

6 NAND FLASH CONTORLLER OVERVIEW In recent times, NOR flash memory gets high in price while an SDRAM and a NAND flash memory is comparatively economical , motivating some users to execute the boot code on a NAND flash and execute the main code on an SDRAM. S3C2440A boot code can be executed on an external NAND flash memory. In order to support NAND flash boot loader, the S3C2440A is equipped with an internal SRAM buffer called ‘Steppingstone’. When booting, the first 4K Bytes of the NAND flash memory will be loaded into Steppingstone and the boot code loaded into Steppingstone will be executed. Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC, the NAND flash data validity will be checked. Upon the completion of the copy, the main program will be executed on the SDRAM. comparatively 比较地、相当地 motivating v. 激励;刺激;调动…的积极性(motivate的ing形式) execute vt. 实行;执行;处死 internal n. 内脏;本质adj. 内部的;里面的;体内的;(机构)内部的 Steppingstone n. 踏脚石;进身之阶;达到目的的手段 validity n. [计] 有效性;正确;正确性 content n. 内容,目录;满足;容量adj. 满意的;vt. 使满足 FEATURES 1. Auto boot: The boot code is transferred into 4-kbytes Steppingstone during reset. After the transfer, the boot code will be executed on the Steppingstone. 2. NAND Flash memory I/F: Support 256Words, 512Bytes, 1KWords and 2KBytes Page. 3. Software mode: User can directly access NAND flash memory, for example this feature can be used in read/erase/program NAND flash memory. 4. Interface: 8 / 16-bit NAND flash memory interface bus. 5. Hardware ECC generation, detection and indication (Software correction). 6. SFR I/F: Support Little Endian Mode, Byte/half word/word access to Data and ECC Data register, and Word access to other registers 7. SteppingStone I/F: Support Little/Big Endian, Byte/half word/word access. 8. The Steppingstone 4-KB internal SRAM buffer can be used for another purpose after NAND flash booting. 特性 1。自动引导:在复位时,引导代码写入4-k字节的中转区,在转移后启动 代码将在中转区上执行。 2。NAND闪存接口:支持256字,512字节,1k字和2KB字节页。 3。软件模式:用户可以直接访问NAND闪存,例如这个特性可以用于 读/写/擦除NAND闪存。

NAND Flash原理和使用

目录 1.概述 (2) 2.功能框图 (3) 3.管脚 (3) 4.寻址 (4) 5.总线操作 (5) 6.命令表 (6) 7.PAGE READ,0x00-0x30 (7) 8.RANDOM DATA READ,0x05-0xE0 (7) 9.PAGE READ CACHE MODE START,0x31;PAGE READ CACHE MODE START LAST,0x3F (8) 10.READ ID,0x90 (8) 11.READ STATUS,0x70 (9) 12.编程操作 (9) 13.内部数据搬移 (11) 14.块擦除操作,0x60-0xD0 (12) 15.复位操作,0xFF (13) 16.写保护操作 (13) 17.错误管理 (14)

以Micron公司的MT29F2G08为例介绍NAND Flash原理和使用。 1.概述 MT29F2G08使用一个高度复用的8-bit总线(I/O[7:0])来传输数据、地址、指令。5个命令脚(CLE、ALE、CE#、WE#)实现NAND命令总线接口规程。3个附加的脚用作: 控制硬件写保护(WP#)、监视芯片状态(R/B#),和发起上电自动读特征(PRE-仅3V芯片支持)。注意, PRE功能不支持宽温芯片。 MT29F2G08内部有2048个可擦除的块,每个块分为64个可编程的页,每个页包含2112字节(2048个字节作为数据存储区,64个备用字节一般作为错误管理使用)。 每个2112个字节的页可以在300us内编程,每个块(64x2112=132K)可以在2ms内被擦除。片上控制逻辑自动进行PROGRAM和ERASE操作。 NAND的内部存储阵列是以页为基本单位进行存取的。读的时候,一页数据从内部存储阵列copy到数据寄存器,之后从数据寄存器按字节依次输出。写(编程)的时候,也是以页为基本单位的:起始地址装载到内部地址寄存器之后,数据被依次写入到内部数据寄存器,在页数据写入之后,阵列编程过程启动。 为了增加编程的速度,芯片有一个CACHE寄存器。在CACHE编程模式,数据先写入到CACHE寄存器,然后再写入到数据寄存器,一旦数据copy进数据寄存器后,编程就开始。在数据寄存器被装载及编程开始之后,CACHE寄存器变为空,可以继续装载下一个数据,这样内部的编程和数据的装载并行进行,提高了编程速度。 内部数据搬移命令(INTERNAL DATA MOVE)也使用内部CAHCE寄存器,通常搬移数据需要很长时间,通过使用内部CACHE寄存器和数据寄存器,数据的搬移速度大大增加,且不需要使用外部内存。

STM32使用FSMC控制NAND flash 例程

本文原创于观海听涛,原作者版权所有,转载请注明出处。 近几天开发项目需要用到STM32驱动NAND FLASH,但由于开发板例程以及固件库是用于小页(512B),我要用到的FLASH为1G bit的大页(2K),多走了两天弯路。以下笔记将说明如何将默认固件库修改为大页模式以驱动大容量NAND,并作驱动。 本文硬件:控制器:STM32F103ZET6,存储器:HY27UF081G2A 首先说一下NOR与NAND存储器的区别,此类区别网上有很多,在此仅大致说明: 1、Nor读取速度比NAND稍快 2、Nand写入速度比Nor快很多 3、NAND擦除速度(4ms)远快于Nor(5s) 4、Nor 带有SRAM接口,有足够的地址引脚来寻址,可以很轻松的挂接到CPU地址和数据总线上,对CPU要求低 5、NAND用八个(或十六个)引脚串行读取数据,数据总线地址总线复用,通常需要CPU支持驱动,且较为复杂 6、Nor主要占据1-16M容量市场,并且可以片内执行,适合代码存储 7、NAND占据8-128M及以上市场,通常用来作数据存储 8、NAND便宜一些 9、NAND寿命比Nor长 10、NAND会产生坏块,需要做坏块处理和ECC 更详细区别请继续百度,以上内容部分摘自神舟三号开发板手册 下面是NAND的存储结构: 由此图可看出NAND存储结构为立体式 正如硬盘的盘片被分为磁道,每个磁道又分为若干扇区,一块nand flash也分为若干block,每个block分为如干page。一般而言,block、page之间的关系随着芯片的不同而不同。 需要注意的是,对于flash的读写都是以一个page开始的,但是在读写之前必须进行flash 的擦写,而擦写则是以一个block为单位的。 我们这次使用的HY27UF081G2A其PDF介绍: Memory Cell Array = (2K+64) Bytes x 64 Pages x 1,024 Blocks 由此可见,该NAND每页2K,共64页,1024块。其中:每页中的2K为主容量Data Field,64bit为额外容量Spare Field。Spare Field用于存贮检验码和其他信息用的,并不能存放实际的数据。由此可算出系统总容量为2K*64*1024=134217728个byte,即1Gbit。NAND闪存颗粒硬件接口: 由此图可见,此颗粒为八位总线,地址数据复用,芯片为SOP48封装。 软件驱动:(此部分写的是伪码,仅用于解释含义,可用代码参见附件) 主程序: 1. #define BUFFER_SIZE 0x2000 //此部分定义缓冲区大小,即一次写入的数据 2. #define NAND_HY_MakerID 0xAD //NAND厂商号 3. #define NAND_HY_DeviceID 0xF1 //NAND器件号

大容量NAND Flash在多媒体手机中的应用

大容量NAND Flash 在多媒体手机中的应用 1 引言随着手机市场竞争的日趋激烈,多媒体手机逐渐成为市场的宠儿。 因为有大量的多媒体数据,因此大容量存储是多媒体手机所要解决的首要问题。NOR 和NAND 是现在市场上两种主要的非易失闪存技术。NOR 的特点是芯片 内执行(XIP,eXecuteInPlace),这样应用程序可以直接在flash 闪存内运行, 不必再把代码读到系统RAM 中。NOR 的传输效率很高,在1~4MB 的小容量 时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。NAND 结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的 速度也很快,是大数据量存储的最佳选择。在选择存储方案的时候,设计师必 须综合考虑以下因素:(1)NOR 的读速度比NAND 稍快一些。(2)NAND 的 写入速度比NOR 快很多(3)NAND 的4ms 擦除速度远比NOR 的5s 快。(4)大多数写入操作需要先进行擦除操作。(5)NAND 的擦除单元更小,相应的擦 除电路更少。(6)NAND 闪存中每个块的最大擦写次数是一百万次,而NOR 的擦写次数是十万次。此外,NAND 的使用比NOR 的使用复杂的多。在NOR 器件上运行代码不需要任何的软件支持,在NAND 器件上进行同样操作时,通 常需要驱动程序,也就是内存技术驱动程序(MTD),NAND 和NOR 器件在 进行写入和擦除操作时都需要MTD.使用NOR 器件时所需要的MTD 要相对少 一些,许多厂商都提供用于NOR 器件的更高级软件,这其中包括M-System 的TrueFFS 驱动,该驱动被 WindRiverSystem、Microsoft、QNXSoftwareSystem、Symbian 和Intel 等厂商所采用。2 TC58DDM82A1XBJ5 在多媒体手机中的应用在多媒体手机中,TC58DDM82A1XBJ5 主要用来存储图片、声音文件等数据量较大的文件。 TC58DDM82A1XBJ5 是Toshiba 公司生产的256MbitsNANDEEPROM.工作电压

如何用SmartPRO 6000纠正NAND Flash烧录过程位反转

如何用SmartPRO 6000纠正NAND Flash烧录过程位反转 近日某电子科技有限公司的客户邮件反馈:使用我们的SmartPRO 6000F-Plus烧录MICRON厂家的TSOP48封装的Nand Flash MT29F2G08ABAEA,不良率比较高,甚至达到了10%的烧录不良率,而烧录SAMSUNG厂家的TSOP48封装的K9F1G08U0E这颗芯片就不会有这种状况,由此可以确定烧录器与烧录座本身固件是没有问题的,所以客户怀疑应该是芯片算法有问题,需要我们重新优化下。 烧录器的功能很简单、很专一,那就是把数据完完整整、重复地复制到每一颗芯片上,复制成功了就提示Pass,复制失败了就提示Fail;SmartPRO 6000F-Plus是一台全心专注于高品质、高效率的Flash专用烧录编程器;目前为止,有广泛的、优秀的烧录客户群,软件、硬件和算法都是客户批量生产验证过的,非常成熟。 那问题究竟出在哪里呢,让我们继续看吧! 先友情提醒一下,我们的烧录软件做有一个监控“电子眼”(操作日记),时刻记录着客户对每颗芯片的烧录情况;客户有任何违规操作或者烧录异常现象,我们都可以迅速重返到“案发现场”,找到问题的根源;

我们第一时间让客户把操作日记发过来,从操作日记上看,客户反馈的现象确实存在,日志也帮助我们很快找到了这种异常: 但是这种现象并不是因为烧录器造成,而是芯片本身存在的工艺差异原因导致的;可能有人就会马上反驳,明显地出现如此高的烧录不良率,编程器原厂就没有任何责任,而是一句话就把问题推到芯片原厂?不要着急,继续往下看。 首先,我们普及一下Nand Flash的一个特性:位反转;Nand Flash由于本身硬件的内在特性,会导致(极其)偶尔的出现位反转的现象。所谓的位反转(bit flip),指的是原先Nand Flash中的某个位变化了,即要么从1变成0了,要么从0变成1了。而出现这种怪异的现

Fujitsu 存储双活解决方案

谈谈Fujitsu 存储双活解决方案 前两天,《高端存储知识》的作者西瓜哥发表了一篇文章《原来富士通ETERNUS DX S3系列已经支持双活,但好像没有看到仲裁机制》,文中对ETERNUS DX S3系列StorageCluster(存储高可用)解决方案进行了相关的介绍和应用场景的分析。在这里要感谢西瓜哥对Fujitsu ETERNUS存储双活解决方案关注和技术普及,同时,我们也将对文中的一些理解偏差(姑且这么说吧)进行进一步的解释和阐述。 问题一:Storage Cluster是否有仲裁机制? 要回答这个问题,我们首先来看看Storage cluster解决方案架构图。 这里仅简单说明一下:生产存储和备用存储之间使用FC链路,通过存储自带的远程复制技术实现LUN数据的实时同步复制,同时生产LUN和备份LUN都Mapping给前端业务主机。当生产存储出现故障时,将自动切换到备用存储上,由于生产存储和备用存储Mapping 给前端主机的端口共享相同的一组逻辑WWPN/WWNN,所以对前端主机来说,后台只有一台存储,且切换是透明的,所以前端绝大多数应用是不会中断的。

上图中的工作站Storage Cluster Controller就是存储双活解决方案中的仲裁者,它时刻监控着生产存储、备用存储的健康状态,当生产存储或者备用存储出现问题,它就开始执行Failover策略。这里需要说明的是Storage Cluster Controller并不是一个单独的软件,它只是一个后台服务进程,该服务进程集成在ETERNUSSF Storage Cruiser Agent软件中,需要单独准备一台工作站或者服务器安装ETERNUSSF Storage 管理套件。 那Storage Cluster Controller什么时候干活呢?它如何干活呢?它干些什么事呢?那就进入第二个话题----Storage cluster 故障处理机制。 问题二:Storage Cluster 故障处理机制 在一个SAN环境中基本包含三类组件:主机、交换机、存储。StorageCluster不关心前端的主机和交换机故障,只关注存储故障。也就是说主机链路或者交换机故障,多路径软件负责链路的切换,跟后台存储没有一分钱关系。 现分别介绍存储出现故障时,Storage Cluster Controller怎么来仲裁的? 场景一:生产存储RAID故障

如何用jlink烧写uboot到nand flash

1.通过Nor Flash下载 a. speed 12000 //设置TCK为12M,下载程序时会很快 b. loadbin d:\u-boot.bin 0x30000000 注意:0x30000000是你想要下载u-boot.bin到开发板的内存地址, 内存地址根据不同的开发板设定不同,因为本文中使用的是FL2440, 片上系统是S3C2440,内存挂载的地址区域是 0x30000000~0x33ffffff, 我们只需要把u-boot.bin下载到这片区域即可 然后我们在U-boot命令行模式输入NAND Flash擦除和写入命令即可: c.nand erase 0 40000 // 擦除从0地址开始的大小为0x40000的Nnad Flash扇区,0x40000是待写入的U-boot.bin的大致长度, 长度必须为NAND Flash页大小的整数倍,通常会需要比u-boot.bin实际长度长。 d.nand write 30000000 0 40000 // 把前面下载到0x30000000的 u-boot.bin烧写到Nand去 二、方法二,直接通过JLink 假如你的开发板没有NOR Flash或者是你使用的NOR Flash还未被J-FLASH ARM所支持, 这时上面的方法你就无法使用了,这时候你需要一个初始化内存SDRAM的程序, 这个程序完成的功能也就是配置好SDRAM的寄存器,使它能正常工作, fl2440的内存初始化程序下载地址:“2440init.bin”。你还需要准备一个特殊的u-boot_SDRAM.bin, 它与你要烧写到NAND Flash的u-boot.bin有区别,u-boot_SDRAM.bin编译时需要在include/configs/开发板配置文件.h文件中添加: #define CONFIG_SKIP_LOWLEVEL_INIT 1 //用来支持uboot在内存中直接运行 添加这个宏定义之后,U-boot就跳过了内存初始化的部分,因为此时我们的内存已经先由“2440init.bin“初始化好了,再次初始化会出现内存数据的丢失。 做好上面的准备工作之后,首先将开发板设为从NAND Flash启动,启动 J-Link commander,先假设“u-boot.bin”和“2440init.bin”在电脑的D盘根目录下。 1.loadbin d:\2440init.bin 0 2.setpc 0 3.g 为什么需要把"2440init.bin"复制到0x0地址是因为S3C2440有4K的SRAM,它不需要初始化就可以直接执行程序,从NAND Flash启动时, 这个SRAM的地址会挂载到0x0~0x1000的地址空间, 我们先把"2440init.bin"复制到SRAM中运行, 第 1 页

Nandflash应用

NAND Flash芯片K9F1208在uPSD3234A上的应用 1 NAND FlaSh和NOR Flash 闪存(Flash Memory)由于其具有非易失性、电可擦除性、可重复编程以及高密度、低功耗等特点,被广泛地应用于手机、MP3、数码相机、笔记本电脑等数据存储设备中。NAND Flash和NOR Flash是目前市场上两种主要的非易失闪存芯片。与NOR Flash相比,NAND Flash在容量、功耗、使用寿命等方面的优势使其成为高数据存储密度的理想解决方案。NOR Flash的传输效率很高,但写入和擦除速度较低;而NAND Flash以容量大、写速度快、芯片面积小、单元密度高、擦除速度快、成本低等特点,在非易失性类存储设备中显现出强劲的市场竞争力。 结构:NOR Flash为并行,NAND Flash为串行。 总线:NOR Flash为分离的地址线和数据线,而NANDFlash为复用的。 尺寸:典型的NAND Flash尺寸为NOR Flash尺寸的1/8。 坏块:NAND器件中的坏块是随机分布的,需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。 位交换:NAND Flash中发生的次数要比NOR Flash多,建议使用NAND闪存时,同时使用EDC/ECC算法。 使用方法:NOR Flash是可在芯片内执行(XIP,eXecute In Place),应用程序可以直接在FIash闪存内运行,不必再把代码读到系统RAM中;而NAND Flash则需I/O接口,因此使用时需要写入驱动程序。 通过以上的分析和比较,NAND Flash更适合于大容量数据存储的嵌入式系统。本设计选用Samsung公司生产的NAND Flash存储器芯片K9F1208作为存储介质,并应用在基于uPSD3234A增强型8051单片机的嵌入式系统中。

iMX283移植过程说明

1、USB启动 USB 启动时,i.MX283 第一级启动环境将其自身初始化为一个USB Device 设备,经过USB 通讯连接线缆连接到开发PC机,在开发PC上使用 sb_loader.exe软件将当前目录下的sb文件通过USB传输到 EasyARM-iMX283 的RAM上并且运行。具体步骤如下: 1. 连接串口线及USB通讯线到开发PC机相应接口,设置启动模式为 USB 启动模式,上电。(注意:USB启动模式时,需要禁止掉看门狗,跳冒设定如下图 3-1 USB启动模式)。 2.将eboot_ivt.sb 拷贝到sb_loader.exe 相同目录下,打开使用命令: sb_loader /f eboot_ivt.sb或者使用批处理程序flash_eboot.bat。开发PC出现如下所示命令行信息。

并且在串口终端中出现以下信息: 2、加载U-Boot到Flash 实现NandFlash 的 Eboot烧写,需要用到Eboot对NandFlash的烧写功 能。向NandFlash进行Eboot烧写,可以由如下步骤完成。

1.使用USB启动模式启动Eboot,按住空格键进入 Eboot菜单选项。如下所 示。 2.打开出厂WinCE 工程,配置项目参数,选择其中下载对象 eboot_ivt.msb,然后配置VS2005下载参数。 依次打开VS2005菜单中的“项目”->“EasyARM-iMX283-SRC属性”,如下所示。 在“EasyARM-iMX283-SRC 属性页”中选择“配置属性”下的“General”,在此下面设置“Build Type”为“Release”,在“Target file name for debugger:”中手工填入“eboot_ivt.msb”。 如下所示。

华为存储双活解决方案

华为双活解决方案彩页Huawei Active-Active Solution Brochure

前言Overview 随着企业信息系统的快速发展和业务大集中速度的加快,企业信息中心技术风险也相对集中。一旦生产中心需要升级维护,或发生停电、火灾等灾难时,将导致企业业务处理停顿,甚至客户数据丢失,给企业带来巨大的经济和名誉损失。 作为全球领先的信息与通信解决方案供应商,华为基于对企业容灾需求的深刻理解,通过对容灾领域多年的技术研究,开发出华为存储双活解决方案,对用户数据的和业务连续性的有效保护,完成存储资源的整合和按需分配,还通过可视化的管理极大提高容灾业务运维的便利性。 华为存储双活解决方案将帮助企业应对突发事件和灾难,为企业的业务连续性和数据安全保驾护航。 挑战Challenges 随着信息化技术的发展,企业的容灾建设正面临着诸多挑战: 需要保证数据的安全性和可恢复性,满足7x24小时高可靠运行的业务连续性要求。 各类应用系统环境复杂,文件、数据库、虚拟化平台等均有业务连续性需求。 容灾演练操作步骤复杂,需要太多人工干预,容易发生遗漏和误操作;同时容灾 业务管理复杂,运维成本高,效率低。

SAN/NAS/Dorado 其他华为站点A SAN/NAS/Dorado 其他华为站点B 华为公司基于对容灾建设需求的深入了解,结合华为在容灾领域的多年技术积累和优秀实践,推出了华为存储双活解决方案。它在实现了对数据和业务的多层次容灾保护的同时,解决了不同厂商设备之间容灾的兼容性问题,并通过可视化的容灾管理系统,有效提高了容灾业务的管理效率。 为了更贴近客户的真实场景,华为还与应用厂商进行联合调优,共同输出华为存储、网络、光传输设备与应用结合的经过验证的端到端的最佳实践,覆盖Oracle、VMware、SAP等主流数据库、虚拟化和应用平台。 华为双活解决方案Huawei Active-Active Solution HyperMetro 华为存储双活解决方案 Oracle RAC集群 VMware集群 文件系统集群 SAP应用集群 …… SAN/NAS/Dorado 其他华为IP&FC 站点A SAN/NAS/Dorado 其他 华为IP&FC 站点B

相关文档
最新文档