CN102103559A - 一种带有AES和ECC的多通道NANDflash控制器 - Google Patents
一种带有AES和ECC的多通道NANDflash控制器 Download PDFInfo
- 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
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
技术领域
本发明涉及一种多通道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编码器。
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)
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)
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)
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芯片的数据交互方法 |
-
2009
- 2009-12-18 CN CN200910201376.8A patent/CN102103559B/zh active Active
Cited By (7)
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 |