CN102103558A - 一种带有写重传功能的多通道NANDflash控制器 - Google Patents

一种带有写重传功能的多通道NANDflash控制器 Download PDF

Info

Publication number
CN102103558A
CN102103558A CN2009102013753A CN200910201375A CN102103558A CN 102103558 A CN102103558 A CN 102103558A CN 2009102013753 A CN2009102013753 A CN 2009102013753A CN 200910201375 A CN200910201375 A CN 200910201375A CN 102103558 A CN102103558 A CN 102103558A
Authority
CN
China
Prior art keywords
nandflash
write
controller
data
chip 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.)
Granted
Application number
CN2009102013753A
Other languages
English (en)
Other versions
CN102103558B (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 CN2009102013753A priority Critical patent/CN102103558B/zh
Publication of CN102103558A publication Critical patent/CN102103558A/zh
Application granted granted Critical
Publication of CN102103558B publication Critical patent/CN102103558B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供一种带有写重传功能的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器控制逻辑、片内存储器、片外存储器控制逻辑、片外存储器、写重传FIFO、写重传缓存区写入控制逻辑、NANDflash DMA控制器、ECC编码器、ECC解码器、数据缓存区、NANDflash接口控制逻辑。通过采用片外存储器作为写重传缓存区,在写Nandflash失败时能直接从片外存储器取出数据重新写入,从而以很小的硬件设计大大缩短了写Nandflash失败的处理时间。

Description

一种带有写重传功能的多通道NANDflash控制器
技术领域
本发明涉及一种NANDflash控制器,尤其涉及一种带有写重传功能的多通道NANDflash控制器。
背景技术
NANAflash在最近几年里得到了突飞猛进的发展,由1位/单元的SLC技术发展到了2位/单元甚至3位/单元的MLC技术,同时其生产工艺也不断进步。随着技术的发展,NANDflash容量不断增大,单位容量的成本也大幅降低,应用NANDflash的领域也越来越多。
当前的NANDflash存储设备对带宽的要求越来越高,NANDflash控制器一般采用增加通道数量来提高带宽。考虑成本的原因,2位/单元,3位/单元的NANDflash使用较为广泛,但是这种类型的NANDflash的可靠性比较差,主要表现在:读操作时会出现比较多的错误位,写操作时会发生写入失败。对于读操作中的问题,通常通过在电路中集成强大的ECC(ErrorCorrtect Code,纠错码)电路来解决。对于写入失败,则需要通过写重传来解决。
写重传功能具体体现为数据写入NANDflash时,同时写入一个缓存区作为备份。一旦写入失败,数据直接从缓存区读出,重新写入NANDflash。
发明内容:
本发明目的是提供一种带有写重传功能的多通道NANDflash控制器,能够有效地缩短写NANDflash失败时的处理时间,提高flash的写速度,保证多通道NANDflash的应用。
一种带有写重传功能的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器控制逻辑、片内存储器、片外存储器控制逻辑、片外存储器、写重传FIFO、写重传缓存区写入控制逻辑、NANDflash DMA控制器、ECC编码器、ECC解码器、数据缓存区、NANDflash接口控制逻辑。
微控制器,NANDflash的主控制单元,操作和控制整个NANDflash控制器;
设备控制器,用于根据特定协议(例如IDE、USB和SATA等)和主控端进行数据传输;
设备端DMA(Direct Memory Access)控制器,用于控制设备控制器和存储器之间的数据传输;
存储器,包括片内存储器和片外存储器,用于暂存设备端和NANDflash控制器间传输的数据;
片内存储器控制逻辑,用于控制片内存储器的读写操作;
片外存储器控制逻辑,用于控制片外存储器的读写操作;
写重传FIFO,用于写操作时,暂存将要写入位于片外存储器的写重传缓存区的数据;
写重传缓存区写入控制逻辑,用于写操作时,将写入片内存储器的数据同时写入写重传缓存区;
NANDflash DMA控制器,用于控制NANDflash数据缓存区与存储器之间的数据传输;
ECC编码器,用于对即将写入NANDflash的数据进行编码生成校验位;
ECC解码器,用于对从NANDflash读出的数据进行检错和纠错;
数据缓存区,用于缓存从存储器读出但尚未写入NANDflash的数据,以及缓存从NANDflash读出但尚未写入存储器的数据;
NANDflash接口控制逻辑,用于控制和NANDflash之间的数据传输。
设备控制器与主控端的接口采用SATA((Serial Advanced TechnologyAttachment)或USB或PCIE(Pedpherd Component Interconnect express)或PATA(Paral lel advanced technology attachment)接口。
NANDflash接口控制逻辑单元含有多个通道,每个通道由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。多个通道可以并行地从NANDflash阵列读出数据或者并行地向NANDflash阵列写入数据。
写操作时,设备端DMA控制器将数据写入片内存储器,写操作的数据同时被写入写重传FIFO,写重传FIFO变为“非空”。写重传缓存区写入控制逻辑向片外存储器控制逻辑发出写请求,片外存储器控制逻辑接受请求后,写重传缓存区写入控制逻辑从写重传FIFO读出数据,按照事先由微控制器配置好的地址,将数据写入位于片外存储器的写重传缓存区中。NANDflash DMA控制器从片内存储器读出数据经由数据缓存区写入NANDflash阵列。
若发生写入失败,NANDflash DMA控制器则从片外的写重传缓存区读出数据,重新写入NANDflash阵列。数据写入写重传缓存区后,直到写操作成功之后其空间才能被其它数据所用。
附图说明
图1一种带有写重传功能的多通道NANDflash控制器结构框图
图2写重传FIFO的结构
具体实施方式
下面结合说明书附图,对发明内容进行详细的描述:
图1给出了本发明所提出的一种带有写重传功能的多通道NANDflash控制器结构图,图中对该控制器的各组成部分进行了标示。
微控制器(190)采用嵌入式处理器实现,其上运行固件(firmware)。固件主要有两部分功能,一是将主控端(000)的数据传输协议转成对NANDflash阵列(200)的操作;二是实现NANDflash阵列(200)的FTL(FlashTransition Layer闪存传输层)管理,包括:地址映射、垃圾块回收、损耗均衡、坏块管理等。
设备控制器(110)负责按照某种特定协议接收或者传输数据,通常设备控制器中设计有缓存,用于处理主控端(000)和设备端速度不匹配的情形。
设备端DMA控制器(120)负责在设备控制器(110)的缓存和存储器(片内存储器131或者片外存储器141)之间传输数据。微控制器(190)配置好DMA所需要的数据地址、数据大小等信息后,向设备端DMA控制器(120)发送开始传输的指令。设备端DMA控制器(120)传输完数据之后置中断通知微控制器(190)。
片内存储器(131)用于缓存将要写入NANDflash阵列(200)的数据和从NANDflash阵列(200)读出的数据。片内存储器(131)的大小为几个扇区(sector,512字节)。
片外存储器(141)除了可用于缓存将要写入NANDflash阵列(200)的数据和从NANDflash阵列(200)读出的数据外,还可用于存放地址映射表,也可作为固件的运行空间。片外存储器(141)的大小由系统的数据带宽、地址映射策略等因素确定。
片内存储器控制逻辑(130),用于控制对片内存储器的读写操作。
片外存储器控制逻辑(140),用于控制对片外存储器(141)的读写操作。当微控制器(190)和DMA控制器(120或150)同时访问片外存储器(141)时,片外存储器控制逻辑(140)负责进行仲裁,仲裁策略由微控制器(190)进行配置。
写重传FIFO(142)为采用先进先出结构的数据缓存区,其结构如图2中所示,写指针和读指针的初始位置都为0。写重传FIFO的大小由设备端DMA控制器(120)的带宽、片外存储器(141)的带宽等因素确定。
当设备端DMA控制器(120)将数据写入片内存储器(131)时,写重传FIFO(142)中被写入相同的数据,写指针加1,写重传FIFO(142)变为“非空”。当写重传FIFO(142)变为“非空”时,写重传缓存区写入控制逻辑(143)向片外存储器控制逻辑(140)发出写请求。若片外存储器控制逻辑(140)接受写请求,写重传缓存区写入控制逻辑(143)从写重传FIFO(142)中读出数据,按照由微控制器(190)事先配置好的地址将数据写入位于片外存储器(141)中的写重传缓存区,写重传FIFO(142)的读指针加1。
当写重传FIFO(142)变为“满”时,设备端DMA控制器(120)停止向片内存储器(131)写入数据,直至写重传FIFO(142)变为“非满”。
NANDflash DMA控制器(150)负责在NANDflash数据缓存区(170)的和存储器(131或者141)之间传输数据。微控制器(190)配置好DMA(150)所需要的数据地址、数据大小等信息后,向Nandflash DMA控制器(150)发送开始传输的指令。在写NANDflash阵列(200)时,NANDflash DMA控制器(150)将数据从存储器(131或者141)读出,经过ECC编码电路(161)生成校验码后写入数据缓存区(170);读NANDflash阵列(200)时,NANDflash DMA控制器(150)将数据从数据缓存区(170)读出,经过ECC解码电路(160)查错、纠错后写入存储器(131或者141)。设备端DMA控制器(140)传输完数据之后置中断通知微控制器(190)。
ECC解码器(160)负责对从NANDflash阵列(200)读出的数据进行查错,若有错且在纠错范围内,则将数据纠错后送给存储器(131或者141)。若有错但在纠错范围以外,则置中断通知微控制器。
ECC编码器(161)负责对写入NANDflash阵列(200)的数据进行编码生成校验位。数据和数据的校验位依次写入数据缓存区(170)。
数据缓存区(170)用于缓存数据。写NANDflash阵列(200)时,NANDflashDMA控制器(150)串行地将每个通道的数据写入数据缓存区(170),NANDflash接口控制逻辑(180)并行的将各通道的数据从数据缓存区(170)读出并传送到NANDflash阵列(200)。读NANDflash阵列(200)时,NANDflash接口控制逻辑(180)并行地将各通道的数据写入数据缓存区(170),NANDflash DMA控制器(150)串行地将每个通道的数据从数据缓存区(170)读出并写入存储器(131或者141)。
NANDflash接口控制逻辑(180)负责控制NANDflash阵列(200)的接口时序。NANDflash接口控制逻辑(180)含有多个通道,每个通道由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号、一组数据信号组成。多个通道可以并行地从NANDflash阵列(200)读出数据或者并行的向Nandflash阵列(200)写入数据。

Claims (3)

1.一种带有写重传功能的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器控制逻辑单元、片内存储器、NANDflash DMA控制器、ECC编码器、ECC解码器、数据缓存区和NANDflash接口控制逻辑单元,其特征在于:还包含写重传FIFO、写重传缓存区写入控制逻辑单元、片外存储器控制逻辑单元和片外存储器。
2.如权利要求1所述的一种带有写重传功能的多通道NANDflash控制器,其特征在于:所述设备控制器与主控端的接口可以为SATA或USB或PCIE或PATA接口。
3.如权利要求1所述的一种带有写重传功能的多通道NANDflash控制器,其特征在于:所述NANDflash接口控制逻辑单元包含多个通道,多个通道并行地从NANDflash阵列读出数据或向NANDflash阵列写入数据。
CN2009102013753A 2009-12-18 2009-12-18 一种带有写重传功能的多通道NANDflash控制器 Active CN102103558B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102013753A CN102103558B (zh) 2009-12-18 2009-12-18 一种带有写重传功能的多通道NANDflash控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102013753A CN102103558B (zh) 2009-12-18 2009-12-18 一种带有写重传功能的多通道NANDflash控制器

Publications (2)

Publication Number Publication Date
CN102103558A true CN102103558A (zh) 2011-06-22
CN102103558B CN102103558B (zh) 2013-09-18

Family

ID=44156343

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102013753A Active CN102103558B (zh) 2009-12-18 2009-12-18 一种带有写重传功能的多通道NANDflash控制器

Country Status (1)

Country Link
CN (1) CN102103558B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105607871A (zh) * 2015-12-18 2016-05-25 四川和芯微电子股份有限公司 智能u盘的控制方法
CN107408076A (zh) * 2015-04-08 2017-11-28 国立大学法人奈良先端科学技术大学院大学 数据处理装置
CN107710163A (zh) * 2015-05-04 2018-02-16 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN108536623A (zh) * 2018-04-19 2018-09-14 深圳市得微电子有限责任公司 多通道NAND Flash控制器及移动存储设备
CN110287062A (zh) * 2019-06-28 2019-09-27 深圳忆联信息系统有限公司 一种硬件缓存管理数据备份和快速恢复的方法及其系统
CN110633054A (zh) * 2019-09-18 2019-12-31 深圳市硅格半导体有限公司 一种提高sata逻辑写性能的预启动方法及其系统
CN110727530A (zh) * 2019-09-12 2020-01-24 无锡江南计算技术研究所 基于窗口的错误访存请求重传系统及方法
CN112181703A (zh) * 2020-09-28 2021-01-05 中国人民解放军国防科技大学 支持容处理器与内存板间软错误重发机制的cam及应用方法
CN114461545A (zh) * 2021-12-30 2022-05-10 苏州浪潮智能科技有限公司 一种fpga,fifo存储装置及数据缓存方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424648B2 (en) * 2005-03-10 2008-09-09 Matsushita Electric Industrial Co., Ltd. Nonvolatile memory system, nonvolatile memory device, data read method, and data read program
EP2003569B1 (en) * 2006-03-13 2010-06-02 Panasonic Corporation Flash memory controller

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107408076A (zh) * 2015-04-08 2017-11-28 国立大学法人奈良先端科学技术大学院大学 数据处理装置
CN107408076B (zh) * 2015-04-08 2020-12-11 国立大学法人奈良先端科学技术大学院大学 数据处理装置
CN107710163B (zh) * 2015-05-04 2021-06-18 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理的电路、系统和方法
CN107710163A (zh) * 2015-05-04 2018-02-16 德克萨斯仪器股份有限公司 一次写入型存储器码的纠错码管理
CN105607871A (zh) * 2015-12-18 2016-05-25 四川和芯微电子股份有限公司 智能u盘的控制方法
CN108121672A (zh) * 2017-08-08 2018-06-05 鸿秦(北京)科技有限公司 一种基于NandFlash存储器多通道的存储阵列控制方法与装置
CN108536623A (zh) * 2018-04-19 2018-09-14 深圳市得微电子有限责任公司 多通道NAND Flash控制器及移动存储设备
CN110287062A (zh) * 2019-06-28 2019-09-27 深圳忆联信息系统有限公司 一种硬件缓存管理数据备份和快速恢复的方法及其系统
CN110727530A (zh) * 2019-09-12 2020-01-24 无锡江南计算技术研究所 基于窗口的错误访存请求重传系统及方法
CN110633054A (zh) * 2019-09-18 2019-12-31 深圳市硅格半导体有限公司 一种提高sata逻辑写性能的预启动方法及其系统
CN112181703A (zh) * 2020-09-28 2021-01-05 中国人民解放军国防科技大学 支持容处理器与内存板间软错误重发机制的cam及应用方法
CN112181703B (zh) * 2020-09-28 2022-10-28 中国人民解放军国防科技大学 支持容处理器与内存板间软错误重发机制的cam及应用方法
CN114461545A (zh) * 2021-12-30 2022-05-10 苏州浪潮智能科技有限公司 一种fpga,fifo存储装置及数据缓存方法
CN114461545B (zh) * 2021-12-30 2023-11-03 苏州浪潮智能科技有限公司 一种fpga,fifo存储装置及数据缓存方法

Also Published As

Publication number Publication date
CN102103558B (zh) 2013-09-18

Similar Documents

Publication Publication Date Title
CN102103558B (zh) 一种带有写重传功能的多通道NANDflash控制器
TWI451434B (zh) 在記憶體控制器中之資料完整性及方法
JP6855102B2 (ja) 不揮発性メモリ・システムにおけるマルチページ障害の回復
KR20120064462A (ko) 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템
US9812194B1 (en) Decoding method, memory storage device and memory control circuit unit
TWI588833B (zh) 資料程式化方法與記憶體儲存裝置
CN111880749B (zh) 数据读取方法、存储器存储装置及存储器控制电路单元
US9252810B2 (en) Memory system and method of controlling memory system
US20220405168A1 (en) Controller and storage device
TW202338851A (zh) 異常斷電恢復方法、記憶體控制電路單元以及記憶體儲存裝置
KR20220045343A (ko) 데이터 처리 시스템 내 데이터 전송에서 발생한 에러를 정정하는 장치 및 방법
CN111580741B (zh) 数据写入方法、存储器控制电路单元与存储器存储装置
TWI613665B (zh) 資料程式化方法與記憶體儲存裝置
US11216334B1 (en) Data reading method, memory storage device and memory control circuit unit
TWI709850B (zh) 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
TW202207230A (zh) 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置
CN102103559A (zh) 一种带有AES和ECC的多通道NANDflash控制器
US20200042386A1 (en) Error Correction With Scatter-Gather List Data Management
KR20180086815A (ko) 쓰기 버퍼를 이용한 중복-쓰기 동작을 수행하는 메모리장치 및 메모리장치의 읽기 및 쓰기 방법
US10824368B2 (en) Data storing method, memory control circuit unit and memory storage device
TWI582599B (zh) 資料傳輸方法、記憶體控制器、資料傳輸系統
CN102915277A (zh) 提高闪存芯片内部数据拷贝速度的方法、闪存存储系统及其控制器
US10922025B2 (en) Nonvolatile memory bad row management
CN112579329A (zh) 快速处理uecc的方法及其存储设备
CN113434331B (zh) 跨框编码管理方法、存储器存储装置及存储器控制电路

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