数据存储技术之nand_flash结构和原理剖析

1. 引言
nand flash被广泛应用于电子系统中作为数据存储。在各种高端电子系统中现场可编程门阵列(fpga)已被广泛应用。fpga灵活的硬件逻辑能实现对nand flash的读写操作。本文中阐述了一种基于nios ii 软核的nand flash的驱动方法。
2. vdnf2t16vp193ee4v25简介
欧比特公司的vdnf2t16vp193ee4v25是一款容量为2tb、位宽为16位的nand flash,其内部由8片基片拓扑而成,其拓扑结构如下:
图1 vd1d8g08vs66ee8t7b拓扑结构
其主要特性如下:
ø 总容量2tb;
ø 位宽:16位;
ø slc;
ø 兼容onfi2.2;
ø 封装:pga193;
ø 电源:+3.3v(vcc)、+1.8v(vccq)。
3. vdnf2t16vp193ee4v25的控制器设计
大容量nand flash控制器设计包括一个ip核设计。其基于nios ii 的avalon总线。avalon总线能兼容大部分存储器接口,ip核将avalon总线时序转接至nand flash,从而对nand flash进行读写操作。
ip逻辑主要有片选信号产生、ale、cle、re、we等控制信号的转接。其中re、we信号可采用avalon总线的re、we信号;cle、ale采用总线地址的低2位进行控制;片选数量较多可依据avalon总线的byteen信号进行译码产生。
图2 控制器功能框图
//写信号
assign nand_wr_n = {avalon_wr_n,avalon_wr_n,avalon_wr_n,avalon_wr_n};
//读信号
assign nand_rd_n = {avalon_rd_n,avalon_rd_n,avalon_rd_n,avalon_rd_n};
//ale信号,采用地址0
assign nand_ale = {avalon_add[0],avalon_add[0]};
//cle信号,采用地址1
assign nand_cle = {avalon_add[1],avalon_add[1]};
//片选信号
assign nand_cs_n[0] = temcs[0]|avalon_byteen_n[0];
assign nand_cs_n[1] = temcs[0]|avalon_byteen_n[1];
……
ip核设计完成后采用qsys进行硬件平台搭建,qsys系统软核对外引出信号有epcs、uart、nand flash接口,在quartus ii建立原理图块进行编译产生硬件信息。
采用nios ii software build tools for eclipse 对qsys进行软件编程可实现对nand flash的驱动。
//nand flash数据寄存器地址定义
#define nandflashdatareg0 (vdnf2t16_v1_0_base)
//nand flash ale寄存器地址定义
#define nandflashaddreg0 (vdnf2t16_v1_0_base+4)
//nand flash cle寄存器地址定义
#define nandflashcmdreg0 (vdnf2t16_v1_0_base+8)
……
以下为读取id及坏块的信息:
******************************************************************
the cs=0 nand_flash's id is right ,the id is=0x2c881a7a9000
***********************************************************************
this cs=0 flash's bank=0 have 5 badblocks:
the num=0 bank lun1's num=90 is badblock.
the num=0 bank lun1's num=91 is badblock.
the num=0 bank lun1's num=1738 is badblock.
the num=0 bank lun2's num=90 is badblock.
the num=0 bank lun2's num=91 is badblock.
the number of bank's valid block is right.
……
4. 结论
本文阐述了一种通过fpga实现对欧比特公司的大容量nand flash芯片vdnf2t16vp193ee4v25的操作方法。设计中采用altera公司fpga芯片,利用自建ip搭建硬件平台实现nand flash的驱动。该设计也可移植到其他fpga上,可以很好地应用在各嵌入式电子系统中。

自动驾驶大事记:苹果无人车出事故、捷豹路虎给车辆装上“眼睛”、Waymo自动驾驶车麻烦不断
如何解决pogo pin测试出现不稳定现象?
标准与电路保护和电磁兼容技术
基因区块链解读
解读TCP Window Full
数据存储技术之nand_flash结构和原理剖析
2022机器人企业创新50强公布:九号机器人登榜前十
全球基本面的逻辑、梳理和展望
HC89F0431A HC89F0421A 带ADC的20引脚8位FLASH微控制器外设功能端口总映射
PCB短路的原因及改善方法
基于振弦采集仪的工程监测技术探索
虹科运输冲击和GPS定位数据记录仪可以迅速确定并记录其位置
安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准
美的空调“双十一”推出四款新品,引领行业加速变革
工位ANDON呼叫拉绳按钮终端介绍
隧道人员定位系统如何做到精准
愚人节! 锤子科技发布十大黑科技,苹果根本想象不到的新功能
华为 nova 2s要搞事情?葫芦里到底卖的什么药
中兴“跌倒”倒逼中国“补芯”
正负反相应用的信号电平转换