打印

ARM对nand的容量大小有限制吗?

[复制链接]
2829|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlass|  楼主 | 2013-5-8 15:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jlass 于 2013-5-8 16:40 编辑

一直有以印象arm对nand的大小是有限制的,可是有点想不通限制在哪里,翻开map表看了看,像是内存或者Nor flash这种有地址线的器件,限制是很明显的,可是nand没有地址线,不应该有这种限制啊,比如U盘就根本没有限制,到底是我以前记错了还是忽略了什么地方。
又想了想下面几种可能性:
1、外部存储空间的限制
说白了就是nand是否和Nor一样要映射到外部存储空间上,比如stm32的fsmc是256M的,连接nand时能超过256M的限制么?
2、nand的页大小的支持问题
随着nand的发展,nand的页大小由(512+16)到2K再到8K,还有MLC和SLC的区别,由于早期的arm不支持大页的nand而造成的限制(照理说应该是驱动的问题,不知道和芯片本身的关系大不大)。
3、作为启动盘时的限制
记得三星的arm启动时需要配置Irom,其中就有对nand的页大小有选择。

谁清楚的请帮忙解惑,谢谢。@airwill @阿南

相关帖子

沙发
阿南| | 2013-5-9 00:25 | 只看该作者
限制在于ARM芯片的NAND Flash控制器上,正如楼主所讲的页大小的问题上,以及SLC及MLC等的区别上,还有就是ECC的位数上。必尽芯片本身的发展要比NAND芯片的发展慢很多,比如很多老的ARM11的ECC都是只支持到16位的,而现在都已经是24和40位了。还有就是操作系统软件上的支持问题,这是BSP包还没实现和测试。

使用特权

评论回复
板凳
jlass|  楼主 | 2013-5-9 08:34 | 只看该作者
本帖最后由 jlass 于 2013-5-9 08:35 编辑
阿南 发表于 2013-5-9 00:25
限制在于ARM芯片的NAND Flash控制器上,正如楼主所讲的页大小的问题上,以及SLC及MLC等的区别上,还有就是E ...

ARM芯片的NAND Flash控制器
这个是硬件结构吗?
比如现在支持SLC的arm,BSP包无论怎么改都支持不了MLC吗?

因为我觉得就算是几根GPIO口线,只要时序调对了,应该也可以读写的吧

使用特权

评论回复
地板
boyie| | 2013-5-9 09:04 | 只看该作者
最底层还是硬件在处理,想想初始化NAND时的设置就行了,包括ECC都是硬件的,要是靠软件效率太低了

使用特权

评论回复
5
jlass|  楼主 | 2013-5-9 09:07 | 只看该作者
boyie 发表于 2013-5-9 09:04
最底层还是硬件在处理,想想初始化NAND时的设置就行了,包括ECC都是硬件的,要是靠软件效率太低了  ...

那我是否可以这么理解,如果要使用硬件的处理机制就有限制,如果我直接用几根GPIO实现(不考虑速度),就没有限制。

使用特权

评论回复
评论
江枫渔火 2013-5-9 13:55 回复TA
赞同此观点! 
6
jlass|  楼主 | 2013-5-9 10:14 | 只看该作者
本帖最后由 jlass 于 2013-5-9 10:18 编辑

Maximum NandFlash size
Question
What is the maximum NandFlash size I can interface?
Answer
Looking at the NandFlash interface, there are no address lines as for static memories.
The NandFlash is read or write using a command sequence using ALE/CLE signals to select a block and a page, then the entire page can be read or written.
As the command is serial, there is no limitation due to address space.
这是atmel的官方回答。
第一个答案已经很明确了,nand的大小不受map表的限制。
第三的答案通过察看datasheet也明确了,作为启动盘使用时明显是有限制的

现在就剩第二个问题了,ECC反正可以不使用,忽略不计,关键是MLC和SLC的结构差别和芯片的硬件有没有必然联系,是否可以通过软件来解决?

使用特权

评论回复
7
阿南| | 2013-5-9 17:12 | 只看该作者
记得以前我们组搞S3C2443,还是6410,因为BSP还不支持MLC,搞了好久很吐雪呀,最终也没有稳定。

使用特权

评论回复
8
jlass|  楼主 | 2013-5-9 17:27 | 只看该作者
阿南 发表于 2013-5-9 17:12
记得以前我们组搞S3C2443,还是6410,因为BSP还不支持MLC,搞了好久很吐雪呀,最终也没有稳定。 ...

你说最终也没有稳定,也就是说只要软件做的对还是能支持的喽?

我们搞9200的时候也是自己支持的2kpage的nand,最终也没稳定

使用特权

评论回复
9
ymind| | 2013-5-9 20:33 | 只看该作者
1. 本质上由NAND flash的address cycles的个数决定。比如NAND最早只支持3个cycles,现在都是4,5个cycles。
2. ECC模块(hardware ECC)具体实现时,可以独立于NAND controller,与NAND最终容量大小不直接相关。ECC的纠错强度,与NAND的微结构和工艺相关;而纠错粒度,一般考虑Nand的page size,及ECC模块与NAND controller的具体耦合关系。
3. NAND的生命末期管理很重要,理论上适当增加ECC强度,可延长在其生命末期。如果不幸遇到n手NAND......

使用特权

评论回复
10
jlass|  楼主 | 2013-5-10 08:34 | 只看该作者
ymind 发表于 2013-5-9 20:33
1. 本质上由NAND flash的address cycles的个数决定。比如NAND最早只支持3个cycles,现在都是4,5个cycles。 ...

首先,非常感谢你详细的回答。
其实我就想知道一点,比如早期三星的2410芯片,datasheet上显示只支持512page的nand,我是否可以通过修改软件来支持2Kpage的nand甚至4KpageMLC结构的nand。
从你的回答来看
1、估计这就是nand控制器不支持的主要原因了,但是我可以不用nand控制器,而是用普通的外设接口来操作
2、我自己支持nand时一般直接关掉ECC,所以ECC我可以不管
3、这个指的是通过负载均衡来增加nand的寿命么,这个我也不在乎

使用特权

评论回复
11
阿南| | 2013-5-10 10:09 | 只看该作者
可以试试,因为像STM32都不支持NAND的,但很多人已经驱动了NAND。所以楼主可以试试

使用特权

评论回复
12
ymind| | 2013-5-10 11:48 | 只看该作者
jlass 发表于 2013-5-10 08:34
首先,非常感谢你详细的回答。
其实我就想知道一点,比如早期三星的2410芯片,datasheet上显示只支 ...

1. 可以不用s3c24xx的nand controller, 就能操作nand;用其静态memory接口(如STM32的FSMC)+gpio即可。事实上,好多SoC的hw nand controller内部逻辑和外部pin也简单复用之,只是片选不同。问题是,不能支持从NAND启动鸟。
2. 关掉ECC不是好习惯,可能你一般用SLC NAND吧,自己只跑几百次没有遇到bit flip也正常。可用户。。。
3. 生命末期和负载均衡还有差别,不过这里的主题下可忽略。

使用特权

评论回复
13
jlass|  楼主 | 2013-5-10 12:35 | 只看该作者
ymind 发表于 2013-5-10 11:48
1. 可以不用s3c24xx的nand controller, 就能操作nand;用其静态memory接口(如STM32的FSMC)+gpio即可。 ...

清楚了。

使用特权

评论回复
14
lelee007| | 2013-5-10 18:33 | 只看该作者
像LZ猜测的那样,用GPIO模拟nand时序,一样可以把nand里边存的数据读出来

只是这样使用起来比较麻烦,而且速度慢,对于大容量flash,要读的数据比较多的时候,GPIO模拟会比专门的nand controller慢很多

使用特权

评论回复
15
li_thomas| | 2013-5-14 10:27 | 只看该作者
jlass 发表于 2013-5-10 12:35
清楚了。

对nand而言,ECC是必须的,而且随着技术进步以及容量的提高,对ECC的要求会越来越高。你这样disable ECC的做法,完全不可取,产品的使用寿命会有很大问题。
用GPIO来模拟读写,读写速率大大打折扣,而且没有硬件ECC,在实际应用中,你的做法完全不可行。

使用特权

评论回复
16
minghui2009| | 2014-12-22 01:09 | 只看该作者
请问,如何计算ARM处理器支持的最大NAND FLASH 空间??
谢谢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:暗恋失败,分手未遂,入赘无果,破保险套!!!

80

主题

4495

帖子

26

粉丝