CN105931670B - 基于Nand Flash存储器阵列的存储控制装置 - Google Patents

基于Nand Flash存储器阵列的存储控制装置 Download PDF

Info

Publication number
CN105931670B
CN105931670B CN201610256532.0A CN201610256532A CN105931670B CN 105931670 B CN105931670 B CN 105931670B CN 201610256532 A CN201610256532 A CN 201610256532A CN 105931670 B CN105931670 B CN 105931670B
Authority
CN
China
Prior art keywords
layer
interface
nand flash
data
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610256532.0A
Other languages
English (en)
Other versions
CN105931670A (zh
Inventor
苏涛
徐杰
张辉
马文锐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201610256532.0A priority Critical patent/CN105931670B/zh
Publication of CN105931670A publication Critical patent/CN105931670A/zh
Application granted granted Critical
Publication of CN105931670B publication Critical patent/CN105931670B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种基于Nand Flash存储器阵列的存储控制装置,包括:Nand Flash存储器阵列、存储控制器、用户应用逻辑层、用户逻辑、基础设施和状态采集单元;Nand Flash存储器阵列获取操作指令;物理层获取操作时序;介质接口层获取解析后的重组数据流;存储器命令层获取分解后的Nand Flash操作数据流和命令接口时序;存储链路层获取符合命令接口时序的数据帧和解码后的命令接口时序;用户逻辑获取寄存器配置命令、时钟和复位信号、工作状态、操作指令数据流;存储器维护和配置单元获取解析后的寄存器配置命令;基础设施获取时钟、复位信号;状态采集单元获取工作状态;用户应用逻辑层获取存储器控制接口所需数据格式和操作格式;状态采集单元获取用户逻辑操作命令。

Description

基于Nand Flash存储器阵列的存储控制装置
技术领域
本发明属于高速数据记录技术领域,特别涉及一种基于Nand Flash固态存储器阵列的存储控制装置,用于将现场可编程门阵列(Field Programable Gate Array,FPGA)作为验证测试平台进行功能验证和性能测试,以IP核方式提供使用。
背景技术
高速数据记录技术是国内、外众多领域的关键技术之一,该高速数据记录技术包括探测、侦查、监视、装备测试和外场调试,工程环境中的原始高速数字信号数据流需要被完整记录,以便后期进行故障诊断、场景复查和数据存档工作,而实际应用环境往往存在大温差、多粉尘或强震荡,因此,强实时、大容量、高密度、高可靠的数字化采集播放设备成为高速数据记录技术的研发热点。
目前市面商用的固态硬盘(Solid State Disk,SSD)就属于该数字化采集播放设备的产品,但是固态硬盘产品容量小、速度低、集成性差,不能满足高速实时信号处理系统的存储和播放需求,并且开发基于半导体固态存储的专用存储设备有较多的技术难点:(一)同时操作多个半导体存储器带来的输入输出同步问题;(二)Flash芯片固有的无效块和在使用过程中增加的坏块将影响数据存储,在不影响读写性能前提下进行坏块管理工作,延长存储设备的使用寿命;(三)Nand结构存储器固有的误码缺陷大大降低了数据可靠性,在高速存储和读取时使用差错控制编码来降低甚至消除误码的影响;(四)为了延长存储设备的无故障时间,对设备上所有存储半导体的负载均衡控制是至关重要并且困难的;(五)在专用设备中,对存储和读取的速度要求显得尤为重要,因此需要通过多项技术来保证高速操作。
发明内容
针对以上现有技术存在的不足,本发明的目的在于提出一种基于Nand Flash存储器阵列的存储控制装置,该种基于Nand Flash存储器阵列的存储控制装置是一种应用于半导体存储阵列的专用、高可靠、高密度、高速度的存储系统控制器。
一种基于Nand Flash存储器阵列的存储控制装置,包括:Nand Flash存储器阵列、存储控制器、用户应用逻辑层、用户逻辑、基础设施和状态采集单元;所述存储控制器包括:物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;所述Nand Flash存储器阵列与所述物理层连接,所述物理层与所述介质接口层连接,所述介质接口层与所述存储器命令层连接,所述存储器命令层与所述存储链路层连接,所述存储链路层与所述用户应用逻辑层连接;所述用户逻辑包含四个端口,分别连接所述用户应用逻辑层、所述存储器维护和配置单元、所述基础设施和所述状态采集单元;
所述Nand Flash存储器阵列分别用于获取存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并将所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令发送至物理层;
所述物理层用于接收所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并获取双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并经过数据边沿同步、延迟调整、时序调整或扇出,得到操作时序,然后发送至Nand Flash存储器阵列中;同时物理层还用于从Nand Flash存储器阵列接收时序数据流,然后依次经过缓存同步、时序调整、延迟调整、时钟重建、数据重采样或数据对齐操作,得到双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,并发送至介质接口层;
所述介质接口层用于接收物理层发送过来的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,以及获取存储命令层发送过来的分解后的Nand Flash操作数据流,并按照双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型依次进行解析操作和重组数据流,得到解析后的重组数据流,然后将所述解析后的重组数据流发送至物理层;同时介质接口层用于接收物理层发送过来的双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并依次进行解析和重构,得到Nand Flash操作数据流,然后将所述Nand Flash操作数据流发送至存储器命令层;
所述存储器命令层用于接收所述Nand Flash操作数据流,并分别从存储链路层获取Nand Flash操作数据流的对应操作指令,以及从存储链路层获取符合命令接口时序的数据帧,然后依次进行解析和分解,得到分解后的Nand Flash操作数据流,再将所述分解后的Nand Flash操作数据流发送至介质接口层;同时存储器命令层接收介质接口层发送过来的分解后的Nand Flash操作数据流,经过打包后得到命令接口时序,并将所述命令接口时序发送至存储链路层;
所述存储链路层用于接收所述命令接口时序,并获取用户应用逻辑层发送过来的操作命令和对应操作数据,并依次经过组织帧格式、添加差错控制编码、数据流量控制后,得到符合命令接口时序的数据帧,然后按照命令接口时序要求将所述符合命令接口时序的数据帧发送至存储器命令层;同时存储链路层对所述命令接口时序依次经过解析帧格式、解码提取后,得到解码后的命令接口时序,并将所述解码后的命令接口时序发送至用户应用逻辑层;
所述用户逻辑分别用于获取寄存器配置命令、用户逻辑工作时所需系统时钟和用户逻辑全局复位信号、操作指令数据流、用户逻辑所需数据格式的操作命令,以及当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态;所述操作指令数据流包含存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令各自对应数据流;
所述存储器维护和配置单元用于获取用户逻辑发送过来的寄存器配置命令,然后解析所述寄存器配置命令,得到解析后的寄存器配置命令,并将解析后的寄存器配置命令分别发送至物理层、介质接口层、存储器命令层和存储链路层;同时存储器维护和配置单元用于分别读取物理层、介质接口层、存储器命令层和存储链路层各自对应工作状态,并发送至用户逻辑;
所述基础设施获取用户逻辑工作时所需系统时钟和用户逻辑全局复位信号,然后对所述用户逻辑工作时所需系统时钟和用户逻辑全局复位信号依次进行锁相环、时钟扇出以及复位同步操作,获得多个工作时钟和与多个工作时钟分别同步的工作复位信号,并将多个工作时钟和与多个工作时钟分别同步的工作复位信号分别发送至物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;同时,将多个工作时钟和与多个工作时钟分别同步的工作复位信号输出至用户逻辑;
所述状态采集单元用于获取当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态,并通过状态接口将当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态发送至用户逻辑;
所述用户应用逻辑层用于获取用户逻辑发送过来的操作指令数据流和用户逻辑所需数据格式的操作命令,并组织成存储器控制接口所需数据格式和操作格式,然后发送至存储链路层;同时所述存储链路层从用户逻辑获取Nand Flash存储器阵列所能识别的操作命令,所述Nand Flash存储器阵列所能识别的操作命令包括存储、读取、功能配置操作、直接存储访问写入、直接存储访问读取、可编程输入输出写入、可编程输入输出读取、批量擦除、简单擦除或初始化操作命令,并对所述Nand Flash存储器阵列所能识别的操作命令依次进行解析和重构,得到用户逻辑所需数据格式的操作命令,再将所述用户逻辑所需数据格式的操作命令发送至用户逻辑。
本发明的有益效果:本发明是一种基于Nand Flash存储器阵列的存储控制装置,能够解决大容量、高密度Nand Flash阵列操作难题,也能够突破Nand Flash原有的写入和读取性能瓶颈,并且能够抑制由于Nand Flash工艺带来的固有误码率,实现Nand Flash固态存储器阵列的高速、灵活、无差错的数据存取和访问控制。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1为本发明的一种基于Nand Flash存储器阵列的存储控制装置示意图;
图2为存储器阵列的片外流水写入技术示意图;
图3为存储器阵列的片内交叉并行写入技术示意图;
图4为零延迟虚拟地址映射技术示意图。
具体实施方式
在本发明描述中,除非另有明确的规定和限制,术语“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或者一体地连接;可以是机械连接,也可以是电连接;可以是直接连接,也可以是通过中间媒介连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述语在本发明中的具体含义。
参照图1,为本发明的一种基于Nand Flash存储器阵列的存储控制装置示意图;所述基于Nand Flash存储器阵列的存储控制装置采用Verilog语言作为描述手段,进而对基于Nand Flash存储器阵列的存储控制装置进行逻辑描述,并采用Xilinx公司的FPGA(XC6VLX240T-1ff1759)作为实物验证平台,对所述基于Nand Flash存储器阵列的存储控制装置进行功能验证和性能测试。
本发明是一种基于Nand Flash存储器阵列的存储控制装置,包括:Nand Flash存储器阵列、存储控制器、用户应用逻辑层、用户逻辑、基础设施和状态采集单元;所述存储控制器包括:物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;所述Nand Flash存储器阵列与所述物理层连接,所述物理层与所述介质接口层连接,所述介质接口层与所述存储器命令层连接,所述存储器命令层与所述存储链路层连接,所述存储链路层与所述用户应用逻辑层连接;所述用户逻辑包含四个端口,分别连接所述用户应用逻辑层、所述存储器维护和配置单元、所述基础设施和所述状态采集单元。
所述Nand Flash存储器阵列分别用于获取存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并将所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令发送至物理层。
所述物理层用于接收所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并通过物理链路接口(Physical Link Interface,PIF)获取介质接口层发送过来的符合Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并经过数据边沿同步、延迟调整、时序调整或扇出,得到符合Nand Flash技术手册定义的操作时序,然后通过半导体存储器访问接口(Nand IO接口)发送至Nand Flash存储器阵列中;同时物理层负责通过半导体存储器访问接口(Nand IO接口)从Nand Flash存储器阵列接收符合Nand Flash技术手册定义的时序数据流,然后依次经过缓存同步、时序调整、延迟调整、时钟重建、数据重采样或数据对齐操作,得到符合Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,并通过PIF接口发送至介质接口层。
所述介质接口层用于通过本地时序接口(Native Timing Interface,NIF)接收物理层发送过来的符合Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,以及存储命令层发送过来的分解后的NandFlash操作数据流,并按照Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型依次进行解析操作和重组数据流,得到解析后的重组数据流,然后将所述解析后的重组数据流通过物理链路接口(Physical Link Interface,PIF)发送至物理层;同时介质接口层用于通过PIF接口接收物理层发送过来的符合NandFlash技术手册定义的双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并依次进行解析和重构,得到Nand Flash操作数据流,然后通过NIF接口将所述Nand Flash操作数据流发送至存储器命令层。
所述存储器命令层用于接收所述Nand Flash操作数据流,并分别通过命令控制接口(Nand Command Interface,CIF)从存储链路层获取Nand Flash操作数据流的对应操作指令,以及通过CIF接口从存储链路层获取符合命令接口时序的数据帧,然后依次进行解析和分解,得到分解后的Nand Flash操作数据流,再通过本地时序接口(Native TimingInterface,NIF)将所述分解后的Nand Flash操作数据流发送至介质接口层;同时存储器命令层通过NIF接口接收介质接口层发送过来的分解后的Nand Flash操作数据流,经过打包后得到命令接口时序,并通过CIF接口发送至存储链路层。
所述存储链路层用于接收所述命令接口时序,并通过存储器控制接口(MemoryController Interface,MIF)接口获取用户应用逻辑层发送过来的操作命令和对应操作数据,并依次经过组织帧格式、添加差错控制编码、数据流量控制后,得到符合命令接口时序的数据帧,然后按照命令控制接口(CIF)时序要求将所述符合命令接口时序的数据帧发送至存储器命令层;同时存储链路层对所述命令接口时序依次经过解析帧格式、解码提取后,得到解码后的命令接口时序,并通过存储器控制接口(MIF)将所述解码后的命令接口时序发送至用户应用逻辑层。
所述用户逻辑分别用于获取寄存器配置命令、用户逻辑工作时所需系统时钟和用户逻辑全局复位信号、操作指令数据流、用户逻辑所需数据格式的操作命令,以及当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态;所述操作指令数据流包含存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令各自对应数据流。
所述存储器维护和配置单元在存储器控制器中属于独立的功能单元,用于通过辅助接口获取用户逻辑发送过来的寄存器配置命令,然后解析所述寄存器配置命令,得到解析后的寄存器配置命令,并将解析后的寄存器配置命令分别发送至物理层、介质接口层、存储器命令层和存储链路层;同时存储器维护和配置单元用于分别读取物理层、介质接口层、存储器命令层和存储链路层各自对应工作状态,并通过辅助接口发送至用户逻辑。
所述基础设施通过系统接口获取用户逻辑工作时所需系统时钟和用户逻辑全局复位信号,然后对所述用户逻辑工作时所需系统时钟和用户逻辑全局复位信号依次进行锁相环、时钟扇出以及复位同步操作,获得多个工作时钟和与多个工作时钟分别同步的工作复位信号,并将多个工作时钟和与多个工作时钟分别同步的工作复位信号分别发送至物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;同时,将多个工作时钟和与多个工作时钟分别同步的工作复位信号输出至用户逻辑。
所述状态采集单元用于获取当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态,并通过状态接口将当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态发送至用户逻辑。
所述用户应用逻辑层是用户逻辑自定义功能的分层,用于通过用户接口获取用户逻辑发送过来的操作指令数据流和用户逻辑所需数据格式的操作命令,并组织成存储器控制接口(MIF)所需数据格式和操作格式,然后通过存储器控制接口(MIF)发送至存储链路层;同时所述存储链路层从用户逻辑获取Nand Flash存储器阵列所能识别的操作命令,所述Nand Flash存储器阵列所能识别的操作命令包括存储、读取、功能配置操作、直接存储访问(Direct Menory Access,DMA)写入、DMA读取、可编程输入输出(Program Input Output,PIO)写入、PIO读取、批量擦除、简单擦除或初始化操作命令,并对所述Nand Flash存储器阵列所能识别的操作命令依次进行解析和重构,得到用户逻辑所需数据格式的操作命令,再通过状态接口将所述用户逻辑所需数据格式的操作命令发送至用户逻辑。
具体地,物理层用于接收所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,其中包括源同步数据的采集、对齐或同步,源同步数据的分配或发送,以及工作时钟分发和控制时序分发;所述源同步数据的对齐或同步分别采用多异步缓存延迟同步技术,不仅保证了多达768个独立数据通道的同步,也保证了源同步数据传输的准确性;物理层的逻辑结构按功能层次划分,分为数据IO模块、控制IO模块、时钟IO模块、读模块和写模块;数据IO模块是Nand Flash存储器阵列的数据保证,并通过数据IO模块进行时钟重构和复位信号同步采集,实现了存储器维护和配置单元的同步读取和同步发送;控制IO模块是Nand Flash存储器阵列的功能保障,其对应阵列结构划分和功能划分分别通过控制IO模块的板级结构保证;时钟IO模块为多达768个存储功能单元提供无偏斜的同步工作时钟,保证了介质接口层、存储器命令层、存储链路层和用户应用逻辑层各自功能的正确实现;读模块为Nand Flash存储器阵列提供了多达768个存储器单元的数据对齐和同步功能,能够保证虚拟Nand Flash存储器阵列的数据读操作同步,其中存储器维护和配置单元对齐采用本发明首创的异步缓存同步技术实现;写模块为阵列虚拟化提供了多达768个存储器单元的数据同步发送。
所述介质接口层用于通过NIF接口接收物理层发送过来的符合Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,以及存储命令层发送过来的分解后的Nand Flash操作数据流,并按照Nand Flash技术手册定义的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型依次进行解析操作和重组数据流,得到解析后的重组数据流。由Nand Flash存储器阵列规范,选用系统同步的单沿异步访问接口和源同步的双沿源时钟同步访问接口两种访问接口模式,该两种访问接口模式分别细分为5种工作速率,分别为10MHz,20Mhz,28Mhz,33Mhz,40Mhz,50Mhz;介质接口层将所述解析后的重组数据流通过物理链路接口(PhysicalInterface,PIF)发送至物理层,进而对Nand Flash存储器阵列的接口访问模式进行初始化和功能测试,并给出工作状态,然后向物理层报告当前用户逻辑的工作模式和工作速率;介质接口层能够屏蔽存储控制器虚拟存储器阵列中关于具体接口访问模式的差异,为物理层提供统一的数据访问接口,在所述统一的数据访问接口中,介质接口层的控制命令通过两次握手保证安全访问,介质接口层接收物理层发送过来的符合Nand Flash技术手册定义的双倍速率同步时序接口模型或单倍速率异步时序接口模型的物理层数据流通过AXI-Stream协议进行传输,保证高效稳定。
(3)所述存储器命令层用于接收所述Nand Flash操作数据流,并分别通过CIF接口从存储链路层获取Nand Flash操作数据流的对应指令,以及通过CIF接口从存储链路层获取符合命令接口时序的数据帧,然后依次进行解析和分解,得到分解后的Nand Flash操作数据流,再通过本地时序接口(NIF)接口将所述分解后的Nand Flash操作数据流发送至介质接口层;同时存储器命令层用于通过NIF接口接收介质接口层发送过来的分解后的NandFlash操作数据流,经过打包后得到命令接口时序,并通过CIF接口发送至存储链路层。
存储控制器既能实现Nand Flash存储器阵列的虚拟化,也能够实现Nand Flash存储器阵列的完整功能操作,并为用户应用逻辑层的应用提供简单的存储器控制接口(MIF),该简单的存储器访问接口由一个具备两次握手机制的控制接口和符合AXI-Stream标准的数据总线构成。
(4)用户应用逻辑层是本发明的最高级层次,涉及应用层直接存储器访问(DMA)控制器和用户访问方式控制,应用存储链路层提供的无差错通用存储访问链路,并表明用户应用逻辑层提供给最终使用本发明的用户一个简单的可裁剪存储器访问接口,包括用户可定制的DMA访问控制器和负载均衡控制器。
(5)存储链路层提供无差错的通用存储访问链路,应用存储器命令层提供的命令控制字服务,存储链路层为用户应用逻辑层提供本发明存储器访问操作级别的数据接口。同时,通过差错控制编码(BCH码)能够对虚拟存储器阵列进行无差错读写;通过零延迟的坏块映射技术对访问地址进行虚拟化和重映射,保证了存储数据的安全性;在DMA方式读取和写入的收采用片外流水和片内交叉并行的方式提高写入和读取速度;图2为存储器阵列的片外流水写入技术示意图,并显示了片外流水技术,Nand Flash阵列分为多个组,上一组完成加载操作后进入自动变成阶段,这时下一组进行加载操作,依次类推,通过多组的不间断的加载操作隐藏了编程操作的延迟;图3为存储器阵列的片内交叉并行写入技术示意图,并显示了片内交叉并行技术,每一组流水中的Nand Flash内部具有两个输入输出缓冲区,在加载的时候,通过连续加载两个缓冲区,再启动双缓冲区编程,这样能够用连续的加载操作隐藏编程操作的延迟。
图4为零延迟虚拟地址映射技术示意图,并显示了坏块映射技术的工作方式,当遇到一个坏块时,操作地址将地址映射到较靠后的备用好块上。在用户接口方面,存储链路层提供了可编程输入输出接口(Programable IO,PIO)和直接内存访问接口(Direct MemoryAccess,DMA)两种操作模式,所述两种操作模式分别包含写入、读取和擦除。
其中,本发明提供5种不同的接口层次进行访问,使得用户能够对Flash阵列进行不同级别的访问控制;所述5种不同的接口层次分别为物理链路接口(Physical LinkInterface,PIF)、本地时序接口(Native Timing Interface,NIF)、命令控制接口(NandCommand Interface,CIF)、存储器控制接口(Memory Controller Interface,MIF)和应用用户接口(Application User Interface,UIF)。
其中,物理链路接口(PIF)提供直接访问Flash整列物理层的通道,本发明的物理层采用源时钟恢复和多异步缓存同步技术保证了最高768个Die数据读写同步;其中Die为晶粒,即以半导体材料制作而成且未经封装的一小块集成电路本体;本发明将768个Die数据进行抽象虚拟化为一个虚拟化存储单元进行操作,物理链路接口用于对所述虚拟化存储单元进行抽象访问;物理链路接口(PIF)时序完全符合Nand Flash存储器阵列的接口访问时序,同时分别支持Nand Flash存储器阵列需要的同步接口模式和异步接口模式,即双沿源同步接口和单沿系统异步接口,物理链路接口(PIF)接口时序符合Nand Flash存储器阵列的接口访问标准。
本地时序接口(NIF)提供了确定访问模式的存储器阵列操作,且本地时序接口内部包含初始化和验证模块,所述初始化和验证模块能够完成Nand Flash存储器阵列中最多768个存储器颗粒模组的初始化和功能验证的初始化和功能验证,本地时序接口(NIF)接口提供了可靠的虚拟阵列访问接口,在本地时序接口内,本发明实现了Nand Flash存储器阵列的物理操作时序,屏蔽了Nand Flash的操作复杂性,为用户提供了高效可靠的两次握手访问接口。
命令控制接口(CIF)提供基于操作的访问功能,用户在使用命令控制接口(CIF)时不需要关心Nand Flash存储器阵列所使用的Flash芯片操作命令,命令控制接口(CIF)提供更为简单可靠的两次握手接口,通过命令控制接口,本发明能够让用户通过操作码对NandFlash存储器阵列进行控制,并由单独的AXI Stream接口进行传输;所述操作码是NandFlash存储器阵列标准定义的28个操作命令构成的27个操作码,每一个操作码对应一个功能序列,该27个操作码各自对应的功能序列通过命令控制接口CIF分别写入,并经过存储器命令层解析后转换为本地接口时序,然后通过本地时序接口(NIF)发送至介质接口层进行下一步处理。
存储器控制接口(MIF)为用户逻辑提供无差错功能级操作,并对命令控制接口(CIF)提供的写、读、擦除和配置操作进行组合,实现了对存储器阵列的写入、读取等功能;同时使用BCH差错控制编码保证无差错存取,采用零延迟坏块映射技术重构阵列存储单元,屏蔽坏块,保证了Nand Flash存储器阵列的可用性;存储器控制接口功能主要包括PIO操作、DMA操作和维护操作,PIO操作和DMA操作分别支持读、写、擦除三种访问类型,也分别实现对Nand Flash存储器阵列内数据的访问和管理,维护操作用于对存储器管理控制器的设置和存储器阵列的状态控制,包括坏块映射关系管理以及使用CIF接口的操作定制功能,MIF接口同样提供两次握手控制接口和AXI Stream数据流接口。
应用用户接口(UIF)是根据应用需求定制设计的高层次接口,即通过存储器控制接口提供的无差错存储功能和阵列管理功能,结合实际应用需求,设计符合当前项目需要的应用用户接口,并提供DMA(Direct Memory Access直接内存访问接口)传输引擎实现连续大批量数据传输;所述应用用户接口(UIF)由控制总线和数据总线组成,所述控制总线采用两次握手机制以保证访问安全性,所述数据总线采用高速的AXI-Stream协议标准。
以上介绍的5个结构层次和5种访问接口是本发明的核心内容,为了配合工作,Nand Flash存储器阵列中包含器件厂商定义的寄存器;物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元分别包含对应的寄存器;本发明还具有一些辅助设施,主要包括(a)存储器维护和配置单元,该存储器维护和配置单元提供维护配置接口,该维护配置接口是一种辅助接口,通过所述维护配置接口访问Nand Flash存储器阵列、物理层、介质接口层、存储器命令层、存储链路层或存储器维护和配置单元中的对应寄存器,并对本发明存储器的内部模块进行状态和功能设定;(b)基础设施,该基础设施提供系统接口,用于获取用户逻辑工作时所需时钟和用户逻辑全局复位信号,为本发明的正常工作提供基础支撑功能;(c)状态采集单元,该状态采集单元提供状态接口,负责输出本发明的错误信息,便于测试或调试本发明的工作状态。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围;这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (1)

1.一种基于Nand Flash存储器阵列的存储控制装置,其特征在于,包括:Nand Flash存储器阵列、存储控制器、用户应用逻辑层、用户逻辑、基础设施和状态采集单元;所述存储控制器包括:物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;所述Nand Flash存储器阵列与所述物理层连接,所述物理层与所述介质接口层连接,所述介质接口层与所述存储器命令层连接,所述存储器命令层与所述存储链路层连接,所述存储链路层与所述用户应用逻辑层连接;所述用户逻辑包含四个端口,分别连接所述用户应用逻辑层、所述存储器维护和配置单元、所述基础设施和所述状态采集单元;
所述Nand Flash存储器阵列分别用于获取存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并将所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令发送至物理层;
所述物理层用于接收所述存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令,并获取双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并经过数据边沿同步、延迟调整、时序调整或扇出,得到操作时序,然后发送至Nand Flash存储器阵列中;同时物理层还用于从Nand Flash存储器阵列接收时序数据流,然后依次经过缓存同步、时序调整、延迟调整、时钟重建、数据重采样或数据对齐操作,得到双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,并发送至介质接口层;
所述介质接口层用于接收物理层发送过来的双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型物理层数据流,以及获取存储命令层发送过来的分解后的Nand Flash操作数据流,并按照双倍速率同步时序接口模型物理层数据流或单倍速率异步时序接口模型依次进行解析操作和重组数据流,得到解析后的重组数据流,然后将所述解析后的重组数据流发送至物理层;同时介质接口层用于接收物理层发送过来的双倍速率同步时序接口模型物理层数据流、单倍速率异步时序接口模型物理层数据流或解析后的重组数据流,并依次进行解析和重构,得到Nand Flash操作数据流,然后将所述Nand Flash操作数据流发送至存储器命令层;
所述存储器命令层用于接收所述Nand Flash操作数据流,并分别从存储链路层获取Nand Flash操作数据流的对应操作指令,以及从存储链路层获取符合命令接口时序的数据帧,然后依次进行解析和分解,得到分解后的Nand Flash操作数据流,再将所述分解后的Nand Flash操作数据流发送至介质接口层;同时存储器命令层接收介质接口层发送过来的分解后的Nand Flash操作数据流,经过打包后得到命令接口时序,并将所述命令接口时序发送至存储链路层;
所述存储链路层用于接收所述命令接口时序,并获取用户应用逻辑层发送过来的操作命令和对应操作数据,并依次经过组织帧格式、添加差错控制编码、数据流量控制后,得到符合命令接口时序的数据帧,然后按照存命令接口时序要求将所述符合命令接口时序的数据帧发送至存储器命令层;同时存储链路层对所述命令接口时序依次经过解析帧格式、解码提取后,得到解码后的命令接口时序,并将所述解码后的命令接口时序发送至用户应用逻辑层;
所述用户逻辑分别用于获取寄存器配置命令、用户逻辑工作时所需系统时钟和用户逻辑全局复位信号、操作指令数据流、用户逻辑所需数据格式的操作命令,以及当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态;所述操作指令数据流包含存储指令、读取指令、擦除指令、初始化指令和功能配置操作指令各自对应数据流;
所述存储器维护和配置单元用于获取用户逻辑发送过来的寄存器配置命令,然后解析所述寄存器配置命令,得到解析后的寄存器配置命令,并将解析后的寄存器配置命令分别发送至物理层、介质接口层、存储器命令层和存储链路层;同时存储器维护和配置单元用于分别读取物理层、介质接口层、存储器命令层和存储链路层各自对应的寄存器配置命令,并发送至用户逻辑;
所述基础设施获取用户逻辑工作时所需系统时钟和用户逻辑全局复位信号,然后对所述用户逻辑工作时所需系统时钟和用户逻辑全局复位信号依次进行锁相环、时钟扇出以及复位同步操作,获得多个工作时钟和与多个工作时钟分别同步的工作复位信号,并将多个工作时钟和与多个工作时钟分别同步的工作复位信号分别发送至物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元;同时,将多个工作时钟和与多个工作时钟分别同步的工作复位信号输出至用户逻辑;
所述状态采集单元用于获取当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态,并通过状态接口将当前时刻物理层、介质接口层、存储器命令层、存储链路层、存储器维护和配置单元、基础设施以及用户应用逻辑层各自工作状态发送至用户逻辑;
所述用户应用逻辑层用于获取用户逻辑发送过来的操作指令数据流和用户逻辑所需数据格式的操作命令,并组织成存储器控制接口所需数据格式和操作格式,然后发送至存储链路层;同时所述存储链路层从用户逻辑获取Nand Flash存储器阵列所能识别的操作命令,所述Nand Flash存储器阵列所能识别的操作命令包括存储、读取、功能配置操作、直接存储访问写入、直接存储访问读取、可编程输入输出写入、可编程输入输出读取、批量擦除、简单擦除或初始化操作命令,并对所述Nand Flash存储器阵列所能识别的操作命令依次进行解析和重构,得到用户逻辑所需数据格式的操作命令,再将所述用户逻辑所需数据格式的操作命令发送至用户逻辑。
CN201610256532.0A 2016-04-22 2016-04-22 基于Nand Flash存储器阵列的存储控制装置 Active CN105931670B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610256532.0A CN105931670B (zh) 2016-04-22 2016-04-22 基于Nand Flash存储器阵列的存储控制装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610256532.0A CN105931670B (zh) 2016-04-22 2016-04-22 基于Nand Flash存储器阵列的存储控制装置

Publications (2)

Publication Number Publication Date
CN105931670A CN105931670A (zh) 2016-09-07
CN105931670B true CN105931670B (zh) 2019-09-03

Family

ID=56838905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610256532.0A Active CN105931670B (zh) 2016-04-22 2016-04-22 基于Nand Flash存储器阵列的存储控制装置

Country Status (1)

Country Link
CN (1) CN105931670B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153480A (zh) * 2016-12-05 2018-06-12 北京京存技术有限公司 一种基于NAND flash的数据处理方法、存储设备
CN107729772B (zh) * 2017-06-14 2020-12-22 北京多思科技工业园股份有限公司 一种处理器
US10628064B2 (en) * 2017-08-17 2020-04-21 Qualcomm Incorporated Parameter override mechanism for memory systems
CN109271108B (zh) * 2018-09-03 2021-11-30 青岛镕铭半导体有限公司 一种存储器控制装置及数据存储设备
CN109614152B (zh) * 2018-12-06 2022-11-04 镕铭微电子(济南)有限公司 硬件加速模块及存储设备
CN111370051B (zh) * 2018-12-25 2022-02-18 北京兆易创新科技股份有限公司 一种非易失存储器验证系统及方法
CN112653587B (zh) * 2019-10-12 2022-10-21 北京奇艺世纪科技有限公司 一种网络连通状态检测方法及装置
CN113448782B (zh) * 2020-03-27 2022-05-13 长鑫存储技术有限公司 存储器的测试方法、存储介质和计算机设备
CN116679887B (zh) * 2023-07-24 2023-10-24 合肥奎芯集成电路设计有限公司 用于NAND Flash的通用控制模块及方法
CN117891759B (zh) * 2024-03-14 2024-07-02 中国海洋大学三亚海洋研究院 一种基于FPGA的高可靠性NAND-Flash控制器及其数据处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163582A (ja) * 2008-01-09 2009-07-23 Sony Corp メモリ制御装置およびメモリシステム
CN202404571U (zh) * 2011-12-08 2012-08-29 成都傅立叶电子科技有限公司 基于nand的高速fmc存储模块
CN102902489A (zh) * 2012-08-17 2013-01-30 杭州华澜微科技有限公司 一种双界面存储控制器及其系统
CN104683228A (zh) * 2015-02-10 2015-06-03 海南宝通实业公司 一种基于fpga的数字交换机媒体网关实现方法
US9251873B1 (en) * 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
KR20160018302A (ko) * 2014-07-31 2016-02-17 삼성전자주식회사 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009163582A (ja) * 2008-01-09 2009-07-23 Sony Corp メモリ制御装置およびメモリシステム
US9251873B1 (en) * 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
CN202404571U (zh) * 2011-12-08 2012-08-29 成都傅立叶电子科技有限公司 基于nand的高速fmc存储模块
CN102902489A (zh) * 2012-08-17 2013-01-30 杭州华澜微科技有限公司 一种双界面存储控制器及其系统
KR20160018302A (ko) * 2014-07-31 2016-02-17 삼성전자주식회사 스토리지 장치, 메모리 카드, 및 스토리지 장치의 통신 방법
CN104683228A (zh) * 2015-02-10 2015-06-03 海南宝通实业公司 一种基于fpga的数字交换机媒体网关实现方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Virtex-6 FPGA Memory Interface Solutions;anonymous;《http://www.xilinx.com/support/documentation/ip_documentation/mig/v3_92/ug406.pdf》;20130320;第66-109页
高速大容量固态存储系统设计与实现;范晓星;《中国优秀硕士学位论文全文数据库 信息科技辑》;20151230;第41-60页

Also Published As

Publication number Publication date
CN105931670A (zh) 2016-09-07

Similar Documents

Publication Publication Date Title
CN105931670B (zh) 基于Nand Flash存储器阵列的存储控制装置
CN106575249A (zh) 针对片上系统(soc)和系统的低功率调试架构
US7954114B2 (en) Firmware socket module for FPGA-based pipeline processing
CN105955899B (zh) 基于全固态半导体存储器阵列的雷达数字信号处理装置
TW201303594A (zh) 快閃記憶體介質控制器及裝置
TW201303587A (zh) 用於在快閃記憶體介質控制器中處理儲存在快閃記憶體記憶體的頁中的中繼資料的方法、裝置及快閃記憶體記憶體系統
CN105814560A (zh) 用于实现高吞吐量键-值存储的存储器设置
CN108351813A (zh) 用于在非易失性存储器快速(NVMe)控制器的不同网络地址上使能个别的NVMe输入/输出(IO)队列的方法和装置
CN115687228B (zh) 一种基于PCIe总线的星载固态存储系统及方法
CN110109872B (zh) 一种遥感卫星异构数据统一存储管理装置
TW201133008A (en) On-die logic analyzer for semiconductor die
US9372947B1 (en) Compacting trace data generated by emulation processors during emulation of a circuit design
US20110107013A1 (en) High Throughput Flash Memory System
CN102214482B (zh) 高速大容量固态电子记录器
CN102946529A (zh) 基于fpga和多核dsp的图像传输及处理系统
CN107918136A (zh) 基于pci‑e总线的卫星导航信号记录和回放装置
CN109375568A (zh) 一种多源数据实时采集装置
CN106528462B (zh) 大容量数据记录器数据回读设备
US20140088911A1 (en) VLSI Circuit Verification
US9710349B2 (en) Storing first computer trace information in memory of second computer
CN115221070A (zh) 基于NVMe盘的片上系统诊断方法
WO2014132670A1 (ja) 再構成する情報を生成する装置および方法
US20040199902A1 (en) Method and apparatus for performing bus tracing with scalable bandwidth in a data processing system having a distributed memory
CN110389275A (zh) 智能电网链路接地故障录波装置及方法
CN112231261A (zh) 一种用于axi总线的id号压缩装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant