CN103226528A - 多通道与非型闪存控制器 - Google Patents
多通道与非型闪存控制器 Download PDFInfo
- Publication number
- CN103226528A CN103226528A CN2012100212190A CN201210021219A CN103226528A CN 103226528 A CN103226528 A CN 103226528A CN 2012100212190 A CN2012100212190 A CN 2012100212190A CN 201210021219 A CN201210021219 A CN 201210021219A CN 103226528 A CN103226528 A CN 103226528A
- Authority
- CN
- China
- Prior art keywords
- flash
- storage array
- data
- write
- array module
- 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.)
- Pending
Links
Images
Abstract
本发明公开了一种多通道与非型闪存控制器,包括:一微控制器,一设备端控制器,一设备端DMA控制器,一数据访问仲裁逻辑模块,系统存储器,第一ECC编码器,第二ECC编码器,一ECC解码器,第一与非型闪存DMA写控制逻辑模块,第二与非型闪存DMA写控制逻辑模块,与非型闪存DMA读控制逻辑模块,第一与非型闪存写数据缓存区,第二与非型闪存写数据缓存区,与非型闪存读数据缓存区,与非型闪存接口控制器。当一个与非型闪存DMA写控制逻辑模块和与非型闪存DMA读控制逻辑模块被用来做垃圾块回收时,另一个与非型闪存DMA写控制逻辑模块可用来往与非型闪存存储阵列模块写入数据。本发明能隐藏垃圾块回收所产生的延时,提高系统的整体性能。
Description
技术领域
本发明涉及一种多通道Nandflash(与非型闪存)控制器。
背景技术
与非型闪存在最近几年里得到了突飞猛进的发展,由SLC(1位/单元)技术发展到MLC(多位/单元)技术,同时与非型闪存的生产工艺也不断进步。随着技术的发展,与非型闪存容量不断增大,单位容量的成本也大幅降低,应用与非型闪存的领域也越来越多。
与非型闪存相对于磁存储介质有省电、寻道时间短等优点。随着与非型闪存成本的不断下降,基于与非型闪存的固态硬盘(SSD,Solid-State-Drive)被当作替代现有磁存储介质硬盘的最佳选择。
但是与非型闪存在使用过程中必须先擦除才能重新写入。与非型闪存的这一特性导致与非型闪存必须对使用过程中产生的垃圾块进行回收。当与非型闪存进行垃圾块回收时,用户数据写与非型闪存的操作就会被延时。
发明内容
本发明要解决的技术问题是提供一种多通道与非型闪存控制器,使用户写与非型闪存和与非型闪存的垃圾块回收可以同时进行,提高系统的整体性能。
为解决上述技术问题,本发明的多通道与非型闪存控制器。包括:
一微控制器,是系统主控制单元,用于控制系统中各组成单元;
一设备端控制器,用于以特定协议和主控端进行数据传输;
一设备端DMA(直接存储器访问)控制器,用于控制所述设备端控制器和系统存储器之间的数据传输;
一数据访问仲裁逻辑模块,用于仲裁所述微控制器、设备端DMA控制器和与非型闪存存储阵列模块对系统存储器的访问请求;
一系统存储器,用于暂存与非型闪存存储阵列模块和与非型闪存控制器之间传输的数据,也用于存放当前数据读写所使用的地址映射表;
一第一ECC(纠错码)编码器,用于对通过第一写数据通路写入所述与非型闪存存储阵列模块的数据进行ECC编码;
一第二ECC编码器,用于对通过第二写数据通路写入所述与非型闪存存储阵列模块的数据进行ECC编码;
一ECC解码器,用于对从所述与非型闪存存储阵列模块读出的数据进行查错和纠错;
一第一与非型闪存DMA写控制逻辑模块,将数据从系统存储器搬移到第一Nandflash写数据缓存区;
一第二与非型闪存DMA写控制逻辑模块,将数据从系统存储器搬移到第二与非型闪存写数据缓存区;
一与非型闪存DMA读控制逻辑模块,将数据从与非型闪存读数据缓存区搬移到系统存储器;
一第一与非型闪存写数据缓存区,用于存放从系统存储器中读出还未来得及写入与非型闪存存储阵列模块的数据;
一第二与非型闪存写数据缓存区,用于存放从系统存储器中读出还未来得及写入与非型闪存存储阵列模块的数据;
一与非型闪存读数据缓存区,用于存放从与非型闪存存储阵列模块读出,还未来得及写入系统存储器的数据;
一与非型闪存接口控制器,控制所述与非型闪存控制器与与非型闪存存储阵列模块之间的数据传输。
当一个与非型闪存DMA写控制逻辑模块和与非型闪存DMA读控制逻辑模块被用来做垃圾块回收时,另一个与非型闪存DMA写控制逻辑模块可用来往与非型闪存存储阵列模块写入数据。
所述第一与非型闪存DMA写控制逻辑模块、第二与非型闪存DMA写控制逻辑模块和与非型闪存DMA读控制逻辑模块可以同时传输数据。
所述与非型闪存阵列模块被分为容量相同的两组,写操作在两组与非型闪存存储阵列模块间交替进行。
所述与非型闪存存储阵列模块被分为容量相同的两组,垃圾块回收操作在两组与非型闪存阵列模块间交替进行。
所述与非型闪存接口控制器和与非型闪存存储阵列模块的接口由多个片选信号(CE#)、多个就绪/忙信号(R/B#)、一组控制信号和一组数据信号组成。
本发明通过设立两条独立的写数据通路,使用户写与非型闪存存储阵列模块和与非型闪存存储阵列模块的垃圾块回收可以同时进行,从而隐藏了垃圾块回收所花的时间,提高了系统的整体性能。
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明:
附图是所述多通道与非型闪存控制器一实施例结构框图。
具体实施方式
结合附图所示,在一实施例中,所述多通道与非型闪存控制器,包括:一微控制器,一设备端控制器,用于以特定协议和主控端进行数据传输;一设备端DMA控制器,一数据访问仲裁逻辑模块,系统存储器,第一ECC编码器(即附图中的“第一编码器”),第二ECC编码器(即附图中的“第二编码器”),一ECC解码器(即附图中的“解码器”),第一与非型闪存DMA写控制逻辑模块(即附图中的“第一写控制逻辑模块”),第二与非型闪存DMA写控制逻辑模块(即附图中的“第二写控制逻辑模块”),与非型闪存DMA读控制逻辑模块(即附图中的“读控制逻辑模块”),第一与非型闪存写数据缓存区(即附图中的“第一写数据缓存区”),第二与非型闪存写数据缓存区(即附图中的“第二写数据缓存区”),与非型闪存读数据缓存区(即附图中的“读数据缓存区”),与非型闪存接口控制器(即附图中的“接口控制器0-3”)。与非型闪存接口控制器用于控制与非型闪存控制器与与非型闪存存储阵列模块(即附图中的“存储系统端”)之间的数据传输。所述多通道与非型闪存控制器可隐藏垃圾块回收所产生的延时。
所述特定协议包含IDE(Integrated Drive Electronics,电子集成驱动器)、USB(Universal Serial Bus,通用串行总线)、SATA(Serial Advanced Technology Attachment,串行高级技术附件)和PCI-E(Peripheral Component Interconnect Express外设组件互连高速总线)等。
本发明适用于页地址映射的FTL(Flash transfer layer;与非型闪存传输层)。写入操作时,数据按顺序写入空页中,原来的页标记为垃圾页。当与非型闪存存储阵列模块中的空页耗尽时,开始垃圾块回收,选择垃圾页最多的块,在搬走其中的有效数据后进行擦除。
本发明中的与非型闪存存储阵列模块被分为容量相同的两组。附图中,“A”和“B”分别代表多片与非型闪存存储单元,组成第一组与非型闪存 存储阵列模块,经由第一通道和第二通道分别与与非型闪存接口控制器0和与非型闪存接口控制器1相连接。“C”和“D”分别代表多片与非型闪存存储单元,组成第二组与非型闪存存储阵列模块,经由第三通道和第四通道分别与与非型闪存接口控制器2和与非型闪存接口控制器3相连接。
写入操作时,数据先写入第一组与非型闪存存储阵列模块中,当第一组与非型闪存存储阵列模块的空页耗尽时,第一组与非型闪存存储阵列模块开始垃圾块回收,系统不能再继续向其写入数据,后续的写数据写入第二组与非型闪存存储阵列模块中。当第二组与非型闪存存储阵列模块的空页耗尽时,第二组与非型闪存存储阵列模块开始垃圾块回收,系统不能再继续向其写入数据,若第一组与非型闪存存储阵列模块的垃圾块回收已经完成,后续数据可以写入第一组的与非型闪存存储阵列模块中,若第一组与非型闪存存储阵列模块的垃圾块回收没有完成,后续写操作必须等待其完成。
系统在运行过程中需要记录当前写操作对应的是第一组与非型闪存存储阵列模块还是第二组与非型闪存存储阵列模块。
垃圾块回收所产生延时能否被完全隐藏,在于垃圾块回收所释放出的空页能否超过垃圾块中所含页数量的一半。在垃圾块回收所释放出的空页超过垃圾块中所含页数量的一半时,用户数据可以连续的写入与非型闪存存储阵列模块中。
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。
Claims (9)
1.一种多通道与非型闪存控制器,其特征在于,包括:
一微控制器,用于控制系统中各组成单元;
一设备端控制器,用于以特定协议和主控端进行数据传输;
一设备端直接存储器访问DMA控制器,用于控制所述设备端控制器和系统存储器之间的数据传输;
一数据访问仲裁逻辑模块,用于仲裁所述微控制器、设备端控制器和与非型闪存存储阵列模块对系统存储器的访问请求;
一系统存储器,用于暂存与非型闪存存储阵列模块和所述与非型闪存控制器之间传输的数据,及存放当前数据读写所使用的地址映射表;
一第一纠错码ECC编码器,用于对通过第一写数据通路写入与非型闪存存储阵列模块的数据进行纠错码ECC编码;
一第二纠错码ECC编码器,用于对通过第二写数据通路写入与非型闪存存储阵列模块的数据进行ECC编码;
一纠错码ECC解码器,用于对从与非型闪存存储阵列模块读出的数据进行查错和纠错;
一第一与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块,将数据从系统存储器搬移到第一与非型闪存写数据缓存区;
一第二与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块,将数据从系统存储器搬移到第二与非型闪存写数据缓存区;
一与非型闪存直接存储器访问与非型闪存DMA读控制逻辑模块,将数据从与非型闪存读数据缓存区搬移到系统存储器;
一第一与非型闪存写数据缓存区,用于存放从系统存储器中读出且未写入与非型闪存存储阵列模块的数据;
一第二与非型闪存写数据缓存区,用于存放从系统存储器中读出且未 写入与非型闪存存储阵列模块的数据;
一与非型闪存读数据缓存区,用于存放从与非型闪存存储阵列模块读出,且未写入系统存储器的数据;
一与非型闪存接口控制器,控制所述与非型闪存控制器与所述与非型闪存存储阵列模块之间的数据传输。
2.如权利要求1所述的多通道与非型闪存控制器,其特征在于:当一个与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块和与非型闪存直接存储器访问与非型闪存DMA读控制逻辑模块被用来做垃圾块回收时,另一个与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块可用来往与非型闪存存储阵列模块写入数据。
3.如权利要求1所述的多通道与非型闪存控制器,其特征在于:所述第一与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块、第二与非型闪存直接存储器访问与非型闪存DMA写控制逻辑模块和与非型闪存直接存储器访问与非型闪存DMA读控制逻辑模块能够同时传输数据。
4.如权利要求1所述的多通道与非型闪存控制器,其特征在于:对所述与非型闪存存储阵列模块进行写入操作时,数据按顺序写入与非型闪存存储阵列模块的空页,原来的页标记为垃圾页;当空页耗尽时,开始垃圾块回收,且选择垃圾页最多的块先进行回收,在搬走其中的有效数据后,进行擦除。
5.如权利要求1所述的多通道与非型闪存控制器,其特征在于:所述与非型闪存存储阵列模块被分为容量相同的两组,写操作在两组与非型闪存存储阵列模块间交替进行。
6.如权利要求5所述的多通道与非型闪存控制器,其特征在于:对所 述与非型闪存存储阵列模块进行写入操作时,数据先写入第一组与非型闪存存储阵列模块中,当第一组与非型闪存存储阵列模块的空页耗尽时,第一组与非型闪存存储阵列模块开始垃圾块回收,系统不能再继续向其写入数据,后续的写数据写入第二组与非型闪存存储阵列模块中;
当第二组与非型闪存存储阵列模块的空页耗尽时,第二组与非型闪存存储阵列模块开始垃圾块回收,系统不能再继续向其写入数据,若第一组与非型闪存存储阵列模块的垃圾块回收已经完成,后续数据写入第一组的与非型闪存存储阵列模块中,若第一组与非型闪存存储阵列模块的垃圾块回收没有完成,后续写操作必须等待其完成。
7.如权利要求5或6所述的多通道与非型闪存控制器,其特征在于:系统在运行过程中需要记录当前写操作对应的是第一组与非型闪存存储阵列模块还是第二组与非型闪存存储阵列模块。
8.如权利要求1所述的多通道与非型闪存控制器,其特征在于:所述与非型闪存存储阵列模块被分为容量相同的两组,垃圾块回收操作在两组与非型闪存存储阵列模块间交替进行。
9.如权利要求1所述的多通道与非型闪存控制器,其特征在于:所述与非型闪存接口控制器和与非型闪存存储阵列模块的接口由多个片选信号、多个就绪/忙信号、一组控制信号和一组数据信号组成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100212190A CN103226528A (zh) | 2012-01-31 | 2012-01-31 | 多通道与非型闪存控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012100212190A CN103226528A (zh) | 2012-01-31 | 2012-01-31 | 多通道与非型闪存控制器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103226528A true CN103226528A (zh) | 2013-07-31 |
Family
ID=48836984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100212190A Pending CN103226528A (zh) | 2012-01-31 | 2012-01-31 | 多通道与非型闪存控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226528A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017012507A1 (zh) * | 2015-07-17 | 2017-01-26 | 中兴通讯股份有限公司 | 一种数据恢复方法及装置 |
WO2018113364A1 (zh) * | 2016-12-21 | 2018-06-28 | 华为技术有限公司 | 闪存接口控制器及操作命令处理方法 |
CN108762974A (zh) * | 2018-04-27 | 2018-11-06 | 江苏华存电子科技有限公司 | 一种用于闪存相关主控端控制装置的空页检验系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256843A (zh) * | 2007-01-04 | 2008-09-03 | 三星电子株式会社 | 混合闪存装置、存储系统以及控制误差的方法 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102236625A (zh) * | 2010-04-20 | 2011-11-09 | 上海华虹集成电路有限责任公司 | 一种可同时进行读写操作的多通道NANDflash控制器 |
CN102272745A (zh) * | 2009-01-08 | 2011-12-07 | 美光科技公司 | 存储器系统控制器 |
-
2012
- 2012-01-31 CN CN2012100212190A patent/CN103226528A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101256843A (zh) * | 2007-01-04 | 2008-09-03 | 三星电子株式会社 | 混合闪存装置、存储系统以及控制误差的方法 |
CN102272745A (zh) * | 2009-01-08 | 2011-12-07 | 美光科技公司 | 存储器系统控制器 |
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102122267A (zh) * | 2010-01-07 | 2011-07-13 | 上海华虹集成电路有限责任公司 | 一种可同时进行数据传输及FTL管理的多通道NANDflash控制器 |
CN102236625A (zh) * | 2010-04-20 | 2011-11-09 | 上海华虹集成电路有限责任公司 | 一种可同时进行读写操作的多通道NANDflash控制器 |
Non-Patent Citations (1)
Title |
---|
YOON JAE SEONG等: "Hydra:A Block-Mapped Parallel Flash Memory Solid-State Disk Architecture", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017012507A1 (zh) * | 2015-07-17 | 2017-01-26 | 中兴通讯股份有限公司 | 一种数据恢复方法及装置 |
WO2018113364A1 (zh) * | 2016-12-21 | 2018-06-28 | 华为技术有限公司 | 闪存接口控制器及操作命令处理方法 |
CN108228493A (zh) * | 2016-12-21 | 2018-06-29 | 深圳市海思半导体有限公司 | 闪存接口控制器及操作命令处理方法 |
CN108228493B (zh) * | 2016-12-21 | 2019-11-26 | 深圳市海思半导体有限公司 | 闪存接口控制器及操作命令处理方法 |
US10705986B2 (en) | 2016-12-21 | 2020-07-07 | Huawei Technologies Co. Ltd. | Flash interface controller and operation command processing method |
CN108762974A (zh) * | 2018-04-27 | 2018-11-06 | 江苏华存电子科技有限公司 | 一种用于闪存相关主控端控制装置的空页检验系统 |
WO2019205453A1 (zh) * | 2018-04-27 | 2019-10-31 | 江苏华存电子科技有限公司 | 一种用于闪存相关主控端控制装置的空页检验系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541678B (zh) | 多通道与非型快闪并行存储控制器 | |
JP5759623B2 (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
US8949492B2 (en) | Apparatus including buffer allocation management and related methods | |
US9747029B2 (en) | Apparatus including memory management control circuitry and related methods for allocation of a write block cluster | |
CN101273413B (zh) | 使用单层单元和多层单元闪速存储器的便携式数据存储 | |
EP2715729B1 (en) | Apparatus including memory system controllers and related methods | |
CN101699406B (zh) | 数据储存系统与方法 | |
KR101560469B1 (ko) | 메모리 시스템 컨트롤러들을 포함하는 장치 및 관련 방법들 | |
CN1934529A (zh) | 海量存储加速器 | |
CN103902465A (zh) | 一种固态硬盘垃圾回收的方法、系统和固态硬盘控制器 | |
TWI495998B (zh) | 資料管理方法、記憶體控制器與記憶體儲存裝置 | |
CN103597461A (zh) | 非易失性半导体存储系统 | |
CN102981783A (zh) | 一种基于Nand Flash的Cache加速方法 | |
CN103226528A (zh) | 多通道与非型闪存控制器 | |
CN102279825B (zh) | 一种固态硬盘控制器的智能dma控制器 | |
CN102915207A (zh) | 固态储存装置及其数据储存方法 | |
CN102236625A (zh) | 一种可同时进行读写操作的多通道NANDflash控制器 | |
CN102591823A (zh) | 一种具有指令队列功能的Nandflash控制器 | |
CN105955669A (zh) | 一种提升固态硬盘写性能的方法 | |
CN102592676A (zh) | 一种可回收使用的Nandflash存储系统 | |
CN102654855A (zh) | 一种对Nandflash指令执行进行编程的Nandflash控制器 | |
CN103226530A (zh) | 与非型闪存Nandflash控制器 | |
CN102156619B (zh) | 闪存储存装置、闪存控制器及闪存的数据写入方法 | |
CN106326142A (zh) | 缓冲存储器存取方法、存储器控制器与存储器存储装置 | |
CN104298468B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130731 |