NAND Flash 接口对比
好久不写博客了,似乎已经是遥远的过去,希望能够找回过去,回去再看看那些人。
本文介绍NAND FLASH接口,搜集资料整理而来。
1.SDR和DDR
1.1 SDR(Single Data Rate):写数据使用上升沿或下降沿来触发,因为只用上升沿或下降沿,对信号准确性要求较低。1.2 DDR(Double Data Rate):写数据通过MCU来控制DQS信号跳变沿来触发(即上升沿和下降沿均触发),所以对信号的准确性要求较高,可以通过增加同步时钟信号来提高信号的准确性。
2. Sync和Async
2.1 Sync模式:指Flash操作时需要一个时钟源来对所村信号进行同步,提高信号采集的准确性。因为另外一个源时钟信号来进行同步,所以对FLASH的品质要求较高,如果信号不稳定,很容易导致源时钟信号与锁存信息不对应,导致数据曹阳不准确。Sync模式的FLASH一般支持Async,当品质不达标时,便采用Async模式操作。
2.2 Async模式:即不需要时钟信号来进行同步,数据通过WEN/REN来锁存。在未使用DDR的时候,Async模式为了提高效率,所以必须采用某种方式提高信号的准确性。这个时候,采用了差分信号,大幅度提升了信号的准确性,为此采用了DDR模式采样数据。
3. ONFI和Toggle
3.1 ONFI(Open Nand Flash Interface) 是由Micron、Intel、Hynix、Phison、Sony、Spansion于2006年共同创建的一个Nand Flash的接口标准,并于当年发布ONFI 1.0,支持SDR。ONFI 2.0增加了NV-DDR,支持DDR操作,不过是使用同步时钟来控制的。ONFI 3.0增加了NV-DDR2,ONFI 4.0时增加了NV-DDR3。NV-DDR2和NV-DDR4均支持DQS差分信号而不用同步时钟的,并且ONFI接口向前兼容。但接口间的转换只支持如下几种:
- SDR to NV-DDR
- SDR to NV-DDR2
- NV-DDR to SDR
- NV-DDR2 to SDR
3.2 Toggle 是Samsung和Toshiba以DDR为基础指定的Flash接口标准,是为了对抗ONFI标准。Toggle 1.0对DDR1,Toggle 2.0对应DDR2。Toggle接口的Flash一般也支持切换到Legacy接口(即SDR,和ONFI 1.0是相同的),Toggle接口FLASH一般启动时是Legacy Mode,需要设置才能进入Toggle Mode(DDR1/DDR2),同样在Toggle模式下,也可以设置命令序列进入Legacy模式。
4. ONFI和Toggle对比
两种接口大部分都是一样的,不同点如下:
Toggle同步模式下不用clock,写数据用DQS差分信号条边沿触发,读数据用Host发REN差分信号跳变沿发送request,DQS跳变沿输出数据。
ONFI同步模式下有clock,数据、命令、地址都要与clock同步,但是DQS、clock都不是差分信号,所以边沿容易受干扰。ONFI 3.0里面有NV DDR2模式,就和Toggle一样了,不再用clock,用DQS和REN差分信号。
Frequency |
10 MHz |
20 MHz |
28 MHz |
33 MHz |
40 MHz |
50 MHz |
66 MHz |
83 MHz |
100 MHz |
133 MHz |
166 MHz |
200 MHz |
267 MHz |
333 MHz |
400 MHz |
ONFI SDR |
Mode 0 |
Mode 1 |
Mode 2 |
Mode 3 |
Mode 4 |
Mode 5 |
|||||||||
ONFI NV-DDR |
Mode 0 |
Mode 1 |
Mode 2 |
Mode 3 |
Mode 4 |
Mode 5 |
|||||||||
ONFI NV-DDR2 |
Mode 0 |
Mode 1 |
Mode 2 |
Mode 3 |
Mode 4 |
Mode 5 |
Mode 6 |
Mode 7 |
Mode 8 |
Mode 9 |
Mode 10 |
||||
ONFI NV-DDR3 |
Mode 0 |
Mode 1 |
Mode 2 |
Mode 3 |
Mode 4 |
Mode 5 |
Mode 6 |
Mode 7 |
Mode 8 |
Mode 9 |
Mode 10 |
||||
Pre-Toggle |
Support |
Support |
|||||||||||||
Toggle 1/2/3 |
Support |
Support |
Support |
Support |
Support |
Support |
Support |
Support |
Support |
Support |
Support |
ONFI接口和Toggle接口具有以下特性:
- ONFI2.0开始支持NV-DDR模式,其支持的最大频率为66MHz,ONFI2.1将其提升至100
- ONFI3.0开始支持NV-DDR2,最大频率为200MHz,ONFI3.2将其提升至267MHz
- ONFI4.0开始支持NV-DDR3,并同步将其与NV-DDR2的最大频率提升至400MHz
- Pre-Toggle仅支持SDR模式,最大支持至50MHz
- Toggle1/2/3最大支持至400MHz
5. 接口信号定义对比
ONFI接口中不同模式下DQS定义及使用方法不同
ONFI接口中不同模式下RE#定义及使用方法不同
ONFI接口中WE#定义及使用方法不同