0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

电子设计 来源:互联网 作者:佚名 2017-12-01 10:02 次阅读

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信号进行译码产生。

1505214189170889.png

图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建立原理图块进行编译产生硬件信息

1505214189505237.png

采用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上,可以很好地应用在各嵌入式电子系统中。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Nand flash
    +关注

    关注

    6

    文章

    232

    浏览量

    39494
  • 数据存储技术

    关注

    0

    文章

    6

    浏览量

    6861
收藏 人收藏

    评论

    相关推荐

    NAND Flash非易失存储器简介

    NAND Flash是一种非易失存储器,也就是掉电不丢失类型,现在我们常见的存储设备基本都是NAND F
    发表于 11-10 17:08 1731次阅读
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>非易失<b class='flag-5'>存储</b>器简介

    Flash存储芯片:NOR FlashNAND Flash、UFS和eMMC的比较与解析

      前言   在数字化时代的今天,数据存储和管理变得越来越重要。各种各样的存储技术应运而生,以满足不同的使用场景和需求。其中,Flash
    发表于 04-03 12:05

    NAND_Flash中文版资料

    NAND_Flash中文版资料
    发表于 07-16 18:14

    Nand Flash的物理存储单元的阵列组织结构

    Nand Flash的物理存储单元的阵列组织结构Nand flash的内部组织
    发表于 06-12 10:10

    NAND Flash的储存结构与接口设计

    等优点适用于大量数据存储,因而在业界得到了越来越广泛的应用。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很
    发表于 11-05 09:18

    如何读取nand_flash上的数据

    本文章主要讲解了nand_flash初始化的方法,如何读取nand_flash上的数据
    发表于 02-17 06:54

    NAND_Flash长时间读写后会导致读写失败吗?

    NAND_Flash长时间读写后会导致读写失败么
    发表于 10-16 07:32

    如何存储MQX web page到NAND FLASH

    如何存储MQX web page到NAND FLASH
    发表于 11-26 14:51 0次下载

    NAND_Flash结构与驱动分析

    NAND_Flash结构与驱动分析NAND_Flash结构与驱动分析NAND_Flash结构与驱
    发表于 03-17 14:14 37次下载

    NAND Flash存储结构以及NAND Flash的接口控制设计

    等优点适用于大量数据存储,因而在业界得到了越来越广泛的应用。NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很
    发表于 11-03 16:12 3895次阅读
    <b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b> 的<b class='flag-5'>存储</b><b class='flag-5'>结构</b>以及<b class='flag-5'>NAND</b> <b class='flag-5'>Flash</b>的接口控制设计

    nand_flash的初始化,如何从nand_flash中读取数据

    本文章主要讲解了nand_flash初始化的方法,如何读取nand_flash上的数据
    发表于 12-22 19:04 15次下载
    <b class='flag-5'>nand_flash</b>的初始化,如何从<b class='flag-5'>nand_flash</b>中读取<b class='flag-5'>数据</b>

    NOR FLASHNAND FLASH基本结构和特点介绍

    非易失性存储元件有很多种,如EPROM、EEPROM、NOR FLASHNAND FLASH,前两者已经基本被淘汰了,因此我仅关注后两者
    发表于 06-29 09:06 2029次阅读
    NOR <b class='flag-5'>FLASH</b>和<b class='flag-5'>NAND</b> <b class='flag-5'>FLASH</b>基本<b class='flag-5'>结构</b>和特点介绍

    NAND Flash存储器的基础知识

    随着信息技术的飞速发展,数据存储需求日益增长。作为一种新型的非易失性存储器,NAND Flash
    发表于 09-27 18:26 1657次阅读

    为什么Nor Flash可以实现XIP,而Nand flash就不行呢?

    为什么Nor Flash可以实现XIP,而Nand flash就不行呢? Flash存储器是一种常用的非易失性
    的头像 发表于 10-29 16:32 781次阅读

    什么是NANDFlash 存储器?

    前言 NAND Flash 和 NOR Flash是现在市场上两种主要的闪存技术。Intel于1988年首先开发出 NOR Flash
    的头像 发表于 03-01 17:08 196次阅读
    什么是<b class='flag-5'>NAND</b> 型 <b class='flag-5'>Flash</b> <b class='flag-5'>存储</b>器?