一种新型SPI NAND控制器设计∗
2021-07-16蔡声镇
陈 亮,蔡声镇
(1.福州理工学院计算与信息科学学院,福建 福州 350506;2.福建师范大学数学与信息学院,福建 福州 350117)
闪存介质(NAND Flash)因其低延时、高并行、低能耗、体积小等特点受到了广泛关注,基于闪存介质构建的闪存存储系统是当前的研究热点,构建形式多样[1]。存储系统主要由主机、存储设备构成;闪存设备主要由闪存介质、闪存控制器两部分构成。Open-Channel SSDs,Denali 等为新型的闪存控制器架构[2],根据应用需求,将闪存转换层(flash translation layer,FTL)、垃圾回收等功能从存储设备移植到主控端实现,从而提升存储系统整体性能。
SPI NAND Flash 为嵌入式领域的闪存设备,主要用于嵌入式系统的代码存储和数据存储,其主流的存储容量为1 Gbit/2 Gbit/4 Gbit,典型的传输速率为30 Mbit/s,50 Mbit/s,80 Mbit/s 等[3]。图1 所示为传统的SPI NAND 存储系统,闪存介质相关的介质管理,坏块管理,地址映射等功能均放在主控端实现。该架构的优点是简化SPI NAND Flash 内部控制器,不足是存储容量小、传输速率低、不同厂商协议命令复杂繁多不统一。随着物联网技术的迅猛发展和人工智能等复杂计算或边缘计算的引入,嵌入式设备对性能和存储容量的需求呈现大幅增长。如何实现大容量、高速率和简化及统一协议命令,已成为SPI NAND Flash 需要急迫解决的问题。

图1 传统SPI NAND 存储系统
本文借鉴Open-Channel SSDs 的设计思想,提出了一种新型SPI NAND 控制器的设计方法,针对SPI NAND 存储系统架构和控制器软件进行优化设计[4],可实现较大幅度提升上述主流SPI NAND Flash 在存储容量、传输速率和主控命令复杂度等方面的性能指标。
1 系统架构设计
主控端处理器性能和内存资源都优于SPI NAND 控制器,为了高效实现主控端的闪存介质相关功能,在系统架构设计上,需要对SPI 接口和Flash 闪存接口进行硬件加速设计。……
