CN102103559A - 一种带有AES和ECC的多通道NANDflash控制器 - Google Patents

一种带有AES和ECC的多通道NANDflash控制器 Download PDF

Info

Publication number
CN102103559A
CN102103559A CN2009102013768A CN200910201376A CN102103559A CN 102103559 A CN102103559 A CN 102103559A CN 2009102013768 A CN2009102013768 A CN 2009102013768A CN 200910201376 A CN200910201376 A CN 200910201376A CN 102103559 A CN102103559 A CN 102103559A
Authority
CN
China
Prior art keywords
nandflash
aes
controller
ecc
unit
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.)
Granted
Application number
CN2009102013768A
Other languages
English (en)
Other versions
CN102103559B (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.)
Shanghai Huahong Integrated Circuit Co Ltd
Original Assignee
Shanghai Huahong Integrated Circuit Co Ltd
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 Shanghai Huahong Integrated Circuit Co Ltd filed Critical Shanghai Huahong Integrated Circuit Co Ltd
Priority to CN200910201376.8A priority Critical patent/CN102103559B/zh
Publication of CN102103559A publication Critical patent/CN102103559A/zh
Application granted granted Critical
Publication of CN102103559B publication Critical patent/CN102103559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明提供一种带有AES和ECC的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器、NANDflash DMA控制器、AES单元、AES输入缓存单元、AES输出缓存单元、ECC编码器、ECC解码器、数据缓存单元和NANDflash接口控制逻辑单元。采用带有AES电路和ECC电路以及片内存储器的实现方式,使得NANDflash控制器具备良好的加密性能,同时能够有效延长NANDflash的使用寿命。

Description

一种带有AES和ECC的多通道NANDflash控制器
技术领域
本发明涉及一种多通道NANDflash控制器,尤其涉及一种带有AES和ECC功能的多通道NANDflash控制器。
背景技术
NANDflash在近几年里得到了突飞猛进的发展,由1位/单元的SLC技术发展到了2位/单元甚至3位/单元的MLC技术,同时NANDflash的生产工艺也不断进步。随着技术的发展,NANDflash容量不断增大,单位容量的成本也大幅降低,NANDflash的应用领域也越来越多。
当前市面上NANDflash存储设备对带宽的要求越来越高,NANDflash控制器一般采用增加通道数量来提高带宽。
处于成本的考虑,当前2位/单元,3位/单元的NANDflash得到了广泛应用,但这类flash的可靠性比较差,往往需要纠错能力的强大的ECC(ErrorCorrect Code,纠错码)电路的协助才能正常使用。
出于保护用户数据的目的,加密解密电路,尤其是支持流加密的AES(Advanced Encryption Standard高级加密标准)电路,开始在NANDflash控制器中使用。
如图1所示,为单通道NANDflash控制器的结构框图。在已有的实现当中ECC电路被放在错误!未找到引用源。处或者错误!未找到引用源。处,AES电路设立在ECC电路之前。但基于多通道NANDflash的应用,Nandflash控制器所需存储器的容量很大,需采用部分内容外置的形式,如图2所示。在此种情形下,则需要提出一种新的解决方案,将AES电路很好地融合到电路的设计中,在保证数据安全性的同时还能保证NANDflash的正常使用。
发明内容
本发明目的提供一种带有AES和ECC的多通道NANDflash控制器,通过采用AES电路和ECC电路,使得NANDflash控制器具备良好的加密性能和纠错能力。本发明所提出的一种带有AES和ECC的多通道NANDflash控制器,包含以下内容:
微控制器,用于控制整个多通道NANDflash控制器中各个单元;
设备控制器,用于用于以特定协议(例如IDE、USB、SATA和PCIE等)和主控端进行数据传输;
设备端DMA(Direct Memory Access)控制器,用于控制设备控制器和存储器之间的数据传输;
存储器,包括片内存储器和片外存储器,用于暂存主控端和NANDflash间传输的数据;
NANDflash DMA控制器,用于控制NANDflash数据缓存区与存储器之间的数据传输;
AES单元,用于对即将写入NANDflash的数据进行流加密,对从NANDflash读出的数据进行流解密;
AES输入缓存单元,用于将NANDflash DMA控制器取回的数据拼成128位送给AES电路;
AES输出缓存单元,用于将AES解密后的128位数据拆分供NANDflashDMA控制器传输;
ECC编码器,用于对即将写入NANDflash的数据进行编码生成校验位;
ECC解码器,用于对从NANDflash读出的数据进行检错和纠错;
数据缓存单元,用于缓存从存储器读出的且来不及写入NANDflash的数据,以及缓存从NANDflash读出且来不及写入存储器的数据;
NANDflash接口控制逻辑单元,用于控制和NANDflash之间的数据传输。
NANDflash DMA控制器以串行方式访问数据缓存单元。NANDflash接口控制逻辑以并行方式访问数据缓存单元。
设备控制器与主控端的接口可以为SATA(Serial Advanced TechnologyAttachment)或USB或PCIE(Pedpherd Component Interconnect express)或PATA(Parallel advanced technology attachment)接口。
ECC编码器可以采用RS(Reed-Solomon)编码或BCH(Bose,Ray-Chaudhuri,Hocquenghem)编码。
NANDflash接口控制逻辑包含一个或多个通道,每个通道由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。多个通道可以并行地从NANDflash读出数据或者并行地向NANDflash写入数据。
写NANDflash时,数据从主控端流向NANDflash。主控端将数据传输到设备控制器,设备端DMA控制器将数据传送到存储器,NANDflash DMA控制器将数据从存储器读出,经AES电路加密,经过ECC编码电路生成校验码后写入数据缓存区。NANDflash接口控制器逻辑单元把数据从数据缓存区读出并写入NANDflash。
读NANDflash时,数据从NANDflash流向主控端。NANDflash接口控制逻辑单元将数据从NANDflash读出并写入数据缓存区,NANDflash DMA控制器将数据从数据缓存区读出,经ECC解码电路差错纠错、AES电路解密后写入存储器,设备控制器DMA将数据从存储器中读出并送到设备控制器,设备控制器将数据送给主控端。
本发明同时采用AES电路和ECC电路,能够对NANDflash控制器传输的数据进行加密和纠错,保证了数据传输的安全性,同时又能够有效地延长NANDflash的使用寿命。
附图说明
图1单通道NANDflash控制器结构框图
图2带片外存储器的多通道NANDflash控制器结构框图
图3带AES和ECC的多通道NANDflash控制器结构框图
图4写操作数据通路示意图
图5读操作数据通路示意图
具体实施方式
以下结合各附图对本发明提供的发明内容进行详细描述:
本发明中的AES单元和ECC单元可被放在图2中②处,或在错误!未找到引用源。处和错误!未找到引用源。处各放一套ECC和AES电路。放在错误!未找到引用源。处是最佳选择,如图3中所示。
微控制器(190)采用嵌入式处理器实现,其上运行固件(firmware)。该固件主要有两部分功能,一是将主控端的数据传输协议转成对NANDflash(200)的操作;二是实现NANDflash(200)的FTL(闪存传输层)。FTL的功能包括地址映射(Address Mapping)、垃圾块回收(GabageCollection)、损耗均衡(Wear-leveling)、坏块管理(Bad Block Management)等。
设备控制器(110)负责按照特定协议接收或传输数据,通常设备控制器中设计有缓存,用于处理主控端(000)和设备端速度不匹配的情况。
设备端DMA控制器(120)负责在设备控制器(110)的缓存和存储器(130或131)之间传输数据。微控制器(190)配置好设备端DMA所需要的数据地址、数据大小等信息后,向设备端DMA控制器(120)发送开始传输的指令。设备端DMA控制器(120)传输完数据之后发送中断通知微控制器(190)。
存储器分为片内存储器(130)和片外存储器(131)。存储器主要用于缓存数据。存储器可用于存放地址映射表,也可作为固件的运行空间。存储器的大小由系统的数据带宽、写重传策略、地址映射策略等因素确定。
NANDflash DMA控制器(140)负责在NANDflash数据缓存单元(170)和存储器(130或者131)之间传输数据。微控制器(190)配置好DMA(140)所需要的数据地址、数据大小等信息后,向NANDflash DMA控制器(140)发送开始传输的指令。在写NANDflash(200)时,NANDflash DMA控制器(140)将数据从存储器(130或者131)读出,先经过AES单元(150)加密,再经过ECC编码器(161)生成校验码后写入数据缓存区(170),其数据通路如图4所示。读NANDflash(200)时,NANDflash DMA控制器(140)将数据从数据缓存单元(170)读出,先经过ECC解码电路(160)查错纠错,再经过AES电路(150)解密后写入存储器。设备端DMA控制器(140)传输完数据之后置中断通知微控制器(190),其数据通路如图5所示。
AES单元(150)负责对写入NANDflash(200)的数据进行加密,对从NANDflash(200)读出的数据进行解密。AES电路一次加密/解密的数据为16字节。为了扩大AES单元(150)的数据带宽,本发明中AES(150)可在一个时钟周期内接收16字节。AES电路的密钥、随机数由微控制器(190)在系统上电或系统复位后加以配置。
AES输入缓存单元(151)负责将数据拼成16字节,在一个时钟周期内一次性送给AES单元。在写NANDflash(200)时,AES输入缓存单元(151)将从存储器(130或者131)取出的数据拼成16字节送给AES单元进行加密。在读NANDflash(200)时,AES输入缓存单元(151)将从数据缓存单元(170)取出的数据拼成16字节送给AES单元进行解密。
AES输出缓存单元(152)负责将AES单元(150)一次送出的16字节数据拆分后依次输出。在写NANDflash(200)时,AES输出缓存单元(152)将AES单元一次送出的16字节数据拆分后依次送到数据缓存单元(170)。在读NANDflash(200)时,AES输出缓存单元(152)将AES单元一次送出的16字节数据拆分后依次送到存储器(130或者131)。
ECC解码器(160)负责对从NANDflash(200)读出的数据进行纠错,若有错且在纠错范围内,则将数据纠错后送给AES输入缓存单元(151);若有错但在纠错范围以外,则置中断通知微控制器(190)。
ECC编码器(161)负责对写入NANDflash(200)的数据进行编码生成校验位。数据和数据的校验位依次写入数据缓存单元(170)。
数据缓存单元(170)用于缓存数据,写NANDflash(200)时,NANDflashDMA控制器(140)串行地将每个通道的数据写入数据缓存单元(170),NANDflash接口控制逻辑单元(180)并行地将各通道的数据从数据缓存单元(170)读出并传送到NANDflash(200)。读NANDflash(200)时,NANDflash接口控制逻辑单元(180)并行地将各通道的数据写入数据缓存单元(170),NANDflash DMA控制器(140)串行地将每个通道的数据从数据缓存单元(170)读出并写入存储器(130或者131)。
NANDflash接口控制逻辑单元(180)负责控制NANDflash(200)的接口时序。NANDflash接口控制逻辑单元(180)包含一个或多个通道,每个通道由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。多个通道可以并行地从NANDflash(200)读出数据或者并行地向NANDflash(200)写入数据。

Claims (7)

1.一种带有AES和ECC的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器、NANDflash DMA控制器、ECC编码器、ECC解码器、数据缓存单元和NANDflash接口控制逻辑单元,其特征在于:还包含AES单元、AES输入缓存单元、AES输出缓存单元。
2.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述AES单元设于系统存储器和NANDflash接口控制器逻辑单元之间。
3.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述设备控制器与主控端的接口可以为SATA或USB或PCIE或PATA接口。
4.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述NANDflash接口控制逻辑包含一个或多个通道,每个通道由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。
5.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述NANDflash DMA控制器单元以串行方式访问数据缓存单元。
6.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述NANDflash接口控制器逻辑单元以并行方式访问数据缓存单元。
7.如权利要求1所述的一种带有AES和ECC的多通道NANDflash控制器,其特征在于:所述ECC编码器为RS编码器或BCH编码器。
CN200910201376.8A 2009-12-18 2009-12-18 一种带有AES和ECC的多通道NANDflash控制器 Active CN102103559B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN200910201376.8A CN102103559B (zh) 2009-12-18 2009-12-18 一种带有AES和ECC的多通道NANDflash控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200910201376.8A CN102103559B (zh) 2009-12-18 2009-12-18 一种带有AES和ECC的多通道NANDflash控制器

Publications (2)

Publication Number Publication Date
CN102103559A true CN102103559A (zh) 2011-06-22
CN102103559B CN102103559B (zh) 2014-06-18

Family

ID=44156344

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910201376.8A Active CN102103559B (zh) 2009-12-18 2009-12-18 一种带有AES和ECC的多通道NANDflash控制器

Country Status (1)

Country Link
CN (1) CN102103559B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461966A (zh) * 2014-12-19 2015-03-25 深圳市国微电子有限公司 一种基于Nand Flash芯片的数据缓存传输方法及其控制器
CN106648954A (zh) * 2015-11-02 2017-05-10 爱思开海力士有限公司 包括片上错误校正码电路的存储器件和系统
CN106873905A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据存储的方法、装置及固态硬盘
CN110727401A (zh) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 一种访存系统

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019215991A1 (de) * 2019-10-17 2021-04-22 Continental Automotive Gmbh Verfahren und vorrichtung zur manipulationssicheren speicherung von daten in nand-flash speicher

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140809A (zh) * 2007-09-07 2008-03-12 炬力集成电路设计有限公司 支持流水线纠错码和可配置操作的flash控制器及其控制方法
CN101162449B (zh) * 2007-10-08 2010-06-02 福州瑞芯微电子有限公司 Nand flash控制器及其与nand flash芯片的数据交互方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461966A (zh) * 2014-12-19 2015-03-25 深圳市国微电子有限公司 一种基于Nand Flash芯片的数据缓存传输方法及其控制器
CN106648954A (zh) * 2015-11-02 2017-05-10 爱思开海力士有限公司 包括片上错误校正码电路的存储器件和系统
CN106648954B (zh) * 2015-11-02 2021-04-27 爱思开海力士有限公司 包括片上错误校正码电路的存储器件和系统
CN106873905A (zh) * 2016-12-30 2017-06-20 北京联想核芯科技有限公司 数据存储的方法、装置及固态硬盘
CN106873905B (zh) * 2016-12-30 2019-11-12 深圳忆联信息系统有限公司 数据存储的方法、装置及固态硬盘
CN110727401A (zh) * 2019-09-09 2020-01-24 无锡江南计算技术研究所 一种访存系统
CN110727401B (zh) * 2019-09-09 2021-03-02 无锡江南计算技术研究所 一种访存系统

Also Published As

Publication number Publication date
CN102103559B (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
US20240184655A1 (en) Remedial action indication
CN102317919B (zh) 在存储器控制器中的数据完整性及方法
KR101441228B1 (ko) 고체-상태 드라이브의 성능 및/또는 신뢰성을 개선하는 방법 및 시스템
US8806299B2 (en) Method and apparatus for compressing data sectors in storage drive
US9495244B2 (en) Dynamic per-decoder control of log likelihood ratio and decoding parameters
CN101950586B (zh) 存储控制器及控制数据读取的方法
KR101686980B1 (ko) 비휘발성 메모리 내의 데이터 저장 방법
US8726140B2 (en) Dummy data padding and error code correcting memory controller, data processing method thereof, and memory system including the same
KR102217966B1 (ko) 스토리지 드라이브의 비휘발성 반도체 메모리에 그리고 상기 비휘발성 반도체 메모리로부터 데이터를 전달하기 위해 디스크립터들을 생성하는 장치 및 방법
CN102103558B (zh) 一种带有写重传功能的多通道NANDflash控制器
CN102103559B (zh) 一种带有AES和ECC的多通道NANDflash控制器
CN103052948B (zh) 用于非易失性半导体存储器的接口管理控制系统和方法
KR20220021186A (ko) 데이터 처리 시스템 내 데이터를 공유하는 장치 및 방법
US9252810B2 (en) Memory system and method of controlling memory system
US20210089388A1 (en) System, Apparatus And Method For Providing Protection Against Silent Data Corruption In A Link
WO2014144043A1 (en) Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US9135168B2 (en) Apparatus and method for generating descriptors to reaccess a non-volatile semiconductor memory of a storage drive due to an error
US20200202017A1 (en) Secure communication for log reporting in memory sub-systems
KR20090014828A (ko) 에러 정정 코드를 암호화하는 플래시 메모리 시스템 및플래시 메모리 시스템의 암호화 방법
TWI733375B (zh) 資料轉移方法與記憶體儲存裝置
KR20070087676A (ko) 흐름 내에 데이터 암호화/복호화 및 오류 정정 기능을 가진메모리 시스템
Sun et al. A new approach for data protection in case of the physical device being stolen-Using hybrid storage

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant