CN102176325B - 一种用于固态硬盘的闪存控制器 - Google Patents
一种用于固态硬盘的闪存控制器 Download PDFInfo
- Publication number
- CN102176325B CN102176325B CN201110046661.4A CN201110046661A CN102176325B CN 102176325 B CN102176325 B CN 102176325B CN 201110046661 A CN201110046661 A CN 201110046661A CN 102176325 B CN102176325 B CN 102176325B
- Authority
- CN
- China
- Prior art keywords
- flash memory
- controller
- nand flash
- data
- data buffer
- 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.)
- Active
Links
- 238000012937 correction Methods 0.000 claims abstract description 42
- 239000000872 buffer Substances 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 22
- 238000007689 inspection Methods 0.000 claims abstract description 8
- 239000007787 solid Substances 0.000 claims description 20
- 238000012795 verification Methods 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 abstract description 3
- 238000004377 microelectronic Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 5
- 238000000034 method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
本发明公开了一种用于固态硬盘的闪存控制器,属于一种微电子技术领域,其结构包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。本发明具有纠错能力且能支持不同厂商。
Description
技术领域
本发明涉及一种微电子技术领域,具体地说是一种用于固态硬盘的闪存控制器。
背景技术
随着NAND闪存的广泛应用,固态硬盘(英文:solid state disk,缩写SSD)也逐渐为大家所熟悉,与传统的机械硬盘相比,固态硬盘有启动快,读写数据速度快,不怕碰撞震动,无噪声,功耗低等优点。但其也存在很多不足,比如成本高,擦除次数有限等,所以为了提高SSD的寿命,我们会在SSD中增加一个逻辑地址到物理地址的映射表,同时采用磨损均衡的策略。因为SLC(SingleLevel Cell单层单元)结构的NAND闪存成本相对较高,所以MLC(Multi-LevelCell多层单元)结构的闪存得到了更广泛的应用,但是MLC结构的闪存存储数据信息的时候容易出现错误,所以就要求NAND闪存控制器要有能对一定的错误数据纠正的能力,而目前BCH(Bose、Ray-Chaudhuri与Hocquenghem的缩写)算法在纠正多位数据错误上有着其自己的优势。BCH码是用于校正多个随机错误模式的多级、循环、错误校正、变长数字编码。
另外NAND闪存的擦除时间和写入时间相对读操作来说要慢很多,所以很多NAND闪存厂商提供了一些可以提高NAND闪存速度的命令,比如two-plane的命令,再有就是不同厂商的NAND闪存的指令和时序会有所不同,需要闪存控制器能够支持不同厂商的NAND闪存。
具有纠错能力且能支持不同厂商的闪存控制器是目前迫切需要的。
发明内容
本发明的技术任务是提供一种具有纠错能力且能支持不同厂商的一种用于固态硬盘的闪存控制器。
本发明的技术任务是按以下方式实现的,包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。
数据缓冲区为4个4K字节的数据缓冲区。
ECC硬件纠错逻辑可以支持1K数据中8/12/16/24bit可配置的BCH硬件纠错。
本发明的一种用于固态硬盘的闪存控制器通过NAND闪存接口连接至NAND闪存芯片。
SRAM控制器是用来对4个数据缓冲区操作用的,4个4K字节的数据缓冲区可以接收来自SATA控制器的数据,同时也是对NAND闪存操作时的数据缓冲区。ECC硬件纠错逻辑主要是针对MLC结构的NAND闪存在存储数据的时候容易发生错误而设计的,他支持1K字节中8/12/16/24比特的纠错,我们可以在闪存控制器相应的寄存器控制器中进行配置。本发明与SATA或者其他控制器之间的高速数据传输是在DMA控制器的调度下通过AHB总线来实现的,所以本发明的内部接口是AHB接口。子通道控制器主要是负责对4个4K字节的数据缓冲区的调度。
另外在我们可以在本发明的配置和状态寄存器中配置其支持对NAND闪存芯片的two-plane操作,调整发送给NAND闪存芯片的微指令,根据不同的NAND闪存芯片调整相应的时序信息等。
带外数据(OOB)处理模块和校验模块(CRC),是为了硬件加速固态硬盘映射表的重建而设计的。其中每一个NAND闪存物理页中带外数据处理模块中存放着其对应的映射信息和功能信息,我们需要的就是其映射信息用来建立固态硬盘的映射表,从而达到提高固态硬盘寿命的要求,正常情况下我们要把NAND闪存芯片中每个物理页中的信息读出来,然后根据带外数据处理模块中的信息建立映射表,但是集成带外数据处理模块处理模块后我们就可以直接读出里面的映射信息,为了防止带外数据处理模块的信息错误,我们加入了校验模块,如果校验模块校验出错,我们再把整个物理页读出来,通过ECC硬件纠错逻辑把数据错误位纠正过来,如果校验模块通过,我们则可以省掉一个物理页数据传输的时间和ECC硬件纠错逻辑校验的时间,从而大大缩短了固态硬盘重建映射表的时间。
本发明的一种用于固态硬盘的闪存控制器读写操作的流程,具体的过程如下:
首先在本发明复位后对其配置和状态寄存器进行配置,配置完后判断此时是否有4K字节的数据缓冲区空闲,如果没有,继续等待,直到4个数据缓冲区有一个空闲,这时拿到这个数据缓冲区,然后判断此时NAND闪存芯片是否空闲,如果忙碌(读状态寄存器),则继续等待,如果空闲,则进入对NAND闪存的操作模式。
如果是写操作,则由DMA控制通过AHB总线将4K字节数据写入到4K自己数据缓冲区,然后带外数据处理模块根据配置把相应的带外数据填写好,然后按顺序送入命令,送入地址,送入数据,然后就是NAND闪存自己的写操作时间,读NAND闪存的配置和状态寄存器,知道其操作结束。
如果是读操作,则按顺序送入命令,送入地址,等待NAND闪存将闪存阵列中的数据读到页数据缓冲区后再读到闪存控制器的4K字节数据缓冲区,同时闪存控制器对缓冲区中的数据做ECC硬件纠错逻辑解码校验,如果没有错误,则将缓冲区的数据通过AHB总线送出,如果有错,则开启ECC硬件纠错逻辑纠错,如果在可以纠错的范围内,则将纠正后的数据通过AHB总线送出,否则进入错误处理程序。
SRAM,是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。主要用于二级高速缓存。利用晶体管来存储数据。一般用小容量的SRAM作为更高速CPU和较低速DRAM之间的缓存(cache)。
本发明的一种用于固态硬盘的闪存控制器具有以下优点:
1、本发明支持DMA,可以实现高速的数据传输;采用4个4K字节的数据缓冲区,可以同时对4个不同bank的NAND闪存进行操作,提高了读取NAND闪存数据的带宽;
2、集成ECC硬件纠错逻辑,可以支持1K数据中8/12/16/24bit可配置的BCH硬件纠错;
3、集成带外数据(OOB)处理模块以及校验模块(CRC),可以硬件加速固态硬盘映射表的重建;
4、支持对NAND闪存芯片的two-plane操作,可以配置闪存控制器的寄存器调整发送给NAND闪存芯片的微指令,也可以根据不同的NAND闪存芯片调整相应的时序信息;能有效提高固态硬盘的性能;因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种用于固态硬盘的闪存控制器的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种用于固态硬盘的闪存控制器作以下详细地说明。
实施例:
本发明的一种用于固态硬盘的闪存控制器,其结构包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口。
数据缓冲区为4个4K字节的数据缓冲区。
ECC硬件纠错逻辑可以支持1K数据中8/12/16/24bit可配置的BCH硬件纠错。
本发明的一种用于固态硬盘的闪存控制器读写操作的流程,具体的过程如下:
首先在本发明复位后对其配置和状态寄存器进行配置,配置完后判断此时是否有4K字节的数据缓冲区空闲,如果没有,继续等待,直到4个数据缓冲区有一个空闲,这时拿到这个数据缓冲区,然后判断此时NAND闪存芯片是否空闲,如果忙碌(读状态寄存器),则继续等待,如果空闲,则进入对NAND闪存的操作模式。
如果是写操作,则由DMA控制通过AHB总线将4K字节数据写入到4K自己数据缓冲区,然后带外数据处理模块根据配置把相应的带外数据填写好,然后按顺序送入命令,送入地址,送入数据,然后就是NAND闪存自己的写操作时间,读NAND闪存的配置和状态寄存器,知道其操作结束。
如果是读操作,则按顺序送入命令,送入地址,等待NAND闪存将闪存阵列中的数据读到页数据缓冲区后再读到闪存控制器的4K字节数据缓冲区,同时闪存控制器对缓冲区中的数据做BCH解码校验,如果没有错误,则将缓冲区的数据通过AHB总线送出,如果有错,则开启ECC硬件纠错逻辑纠错,如果在可以纠错的范围内,则将纠正后的数据通过AHB总线送出,否则进入错误处理程序。
本发明的一种用于固态硬盘的闪存控制器通过NAND闪存接口连接至NAND闪存芯片。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (2)
1.一种用于固态硬盘的闪存控制器,其特征在于包括SRAM控制器、数据缓冲区、寄存器控制器、配置和状态寄存器、子通道控制器、ECC硬件纠错逻辑、检验模块、带外数据处理模块、NAND闪存接口,SRAM控制器连接控制数据缓冲区;SRAM控制器连接ECC硬件纠错逻辑,ECC硬件纠错逻辑连接NAND闪存接口;寄存器控制器连接控制配置和状态寄存器,配置和状态寄存器连接子通道控制器,配置和状态寄存器连接NAND闪存接口;检验模块连接带外数据处理模块,带外数据处理模块连接NAND闪存接口;数据缓冲区为4个4K字节的数据缓冲区;
一种用于固态硬盘的闪存控制器通过NAND闪存接口连接至NAND闪存芯片;
SRAM控制器是用来对4个数据缓冲区操作用的;
4个4K字节的数据缓冲区可以接收来自NAND闪存芯片的SATA控制器的数据,是对NAND闪存芯片操作时的数据缓冲区;
ECC硬件纠错逻辑用于对数据缓冲区中的数据做解码校验,纠正数据错误;
子通道控制器负责对4个4K字节的数据缓冲区的调度;
配置和状态寄存器中配置其支持对NAND闪存芯片的two-plane操作,调整发送给NAND闪存芯片的微指令,根据不同的NAND闪存芯片调整相应的时序信息;
带外数据处理模块用于存放NAND闪存芯片的每一个NAND闪存物理页中对应的映射信息和功能信息;
校验模块用于校验带外数据处理模块的信息错误。
2.根据权利要求1所述的一种用于固态硬盘的闪存控制器,其特征在于ECC硬件纠错逻辑可以支持1K数据中8/12/16/24bit可配置的BCH硬件纠错。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110046661.4A CN102176325B (zh) | 2011-02-28 | 2011-02-28 | 一种用于固态硬盘的闪存控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110046661.4A CN102176325B (zh) | 2011-02-28 | 2011-02-28 | 一种用于固态硬盘的闪存控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102176325A CN102176325A (zh) | 2011-09-07 |
CN102176325B true CN102176325B (zh) | 2015-04-01 |
Family
ID=44519487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110046661.4A Active CN102176325B (zh) | 2011-02-28 | 2011-02-28 | 一种用于固态硬盘的闪存控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102176325B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9098491B2 (en) * | 2012-11-23 | 2015-08-04 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and system for performing data transfer with a flash storage medium |
CN103353855A (zh) * | 2013-07-27 | 2013-10-16 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存存储设备及其带外数据读取方法 |
CN105389239A (zh) * | 2015-12-10 | 2016-03-09 | 浪潮电子信息产业股份有限公司 | 天梭k1系统路由模块寄存器信息自动校验方法 |
CN106648785B (zh) * | 2016-12-28 | 2020-10-23 | 苏州浪潮智能科技有限公司 | 一种固态硬盘微码的设计方法及系统 |
CN109032832A (zh) * | 2017-06-12 | 2018-12-18 | 中兴通讯股份有限公司 | 带外oob布局方法及装置 |
CN108073364A (zh) * | 2018-01-12 | 2018-05-25 | 江苏华存电子科技有限公司 | 一种数据数组保护和修复闪存内数据方法 |
CN110543283A (zh) * | 2019-09-05 | 2019-12-06 | 北京兆易创新科技股份有限公司 | 一种nand快闪器件 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906B (zh) * | 2008-08-11 | 2010-09-15 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383476B2 (en) * | 2003-02-11 | 2008-06-03 | Sandisk 3D Llc | System architecture and method for three-dimensional memory |
-
2011
- 2011-02-28 CN CN201110046661.4A patent/CN102176325B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354906B (zh) * | 2008-08-11 | 2010-09-15 | 湖南源科创新科技股份有限公司 | 应用于固态硬盘的闪存控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN102176325A (zh) | 2011-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102176325B (zh) | 一种用于固态硬盘的闪存控制器 | |
US9977712B2 (en) | Memory device with different parity regions | |
US10733093B2 (en) | Memory system, data processing system including the same and operating method of the same | |
US7984329B2 (en) | System and method for providing DRAM device-level repair via address remappings external to the device | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
US8898375B2 (en) | Memory controlling method, memory controller and memory storage apparatus | |
US20200019327A1 (en) | Memory system and operating method thereof | |
US10446254B1 (en) | Method for maximizing power efficiency in memory interface block | |
CN108572798B (zh) | 针对快速数据传输执行监听操作的存储装置及其方法 | |
US11204833B1 (en) | NVM endurance group controller using shared resource architecture | |
US11474747B2 (en) | Data processing system and operating method thereof | |
CN102890645B (zh) | 存储器储存装置、存储器控制器与数据写入方法 | |
US20190310911A1 (en) | Technologies for providing ecc pre-provisioning and handling for cross-point memory and compute operations | |
KR102135702B1 (ko) | 불휘발성 메모리 장치를 포함하는 데이터 저장 장치 및 그것의 동작 방법 | |
US10684953B2 (en) | Data storage apparatus capable of varying map cache buffer size | |
CN108345514B (zh) | 存储器件、存储系统及其操作方法 | |
US11782638B2 (en) | Storage device with improved read latency and operating method thereof | |
US20190236020A1 (en) | Memory system and operating method thereof | |
CN202134002U (zh) | 一种多通道ssd控制器 | |
US11614896B2 (en) | UFS out of order hint generation | |
CN101539785B (zh) | 集成闪存存储单元的主板 | |
US11379154B2 (en) | Storage device and operating method thereof | |
US11838033B1 (en) | Partial speed changes to improve in-order transfer | |
KR20190052490A (ko) | 반도체 메모리 모듈, 반도체 메모리 시스템, 그리고 반도체 메모리 모듈을 액세스하는 액세스 방법 | |
US20240078026A1 (en) | Adaptive tuning of memory device clock rates based on dynamic parameters |
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 |