CN102103558A - 一种带有写重传功能的多通道NANDflash控制器 - Google Patents
一种带有写重传功能的多通道NANDflash控制器 Download PDFInfo
- 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
Links
Images
Abstract
本发明提供一种带有写重传功能的多通道NANDflash控制器,包含微控制器、设备控制器、设备端DMA控制器、片内存储器控制逻辑、片内存储器、片外存储器控制逻辑、片外存储器、写重传FIFO、写重传缓存区写入控制逻辑、NANDflash DMA控制器、ECC编码器、ECC解码器、数据缓存区、NANDflash接口控制逻辑。通过采用片外存储器作为写重传缓存区,在写Nandflash失败时能直接从片外存储器取出数据重新写入,从而以很小的硬件设计大大缩短了写Nandflash失败的处理时间。
Description
技术领域
本发明涉及一种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阵列写入数据。
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)
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)
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 |
-
2009
- 2009-12-18 CN CN2009102013753A patent/CN102103558B/zh active Active
Cited By (14)
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 |