CN101354906A - 应用于固态硬盘的闪存控制器 - Google Patents

应用于固态硬盘的闪存控制器 Download PDF

Info

Publication number
CN101354906A
CN101354906A CNA2008100320540A CN200810032054A CN101354906A CN 101354906 A CN101354906 A CN 101354906A CN A2008100320540 A CNA2008100320540 A CN A2008100320540A CN 200810032054 A CN200810032054 A CN 200810032054A CN 101354906 A CN101354906 A CN 101354906A
Authority
CN
China
Prior art keywords
nand flash
flash memory
logic
error correction
controller
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
CNA2008100320540A
Other languages
English (en)
Other versions
CN101354906B (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.)
Hunan Runcore Innovation Technology Co., Ltd.
Original Assignee
HUNAN YUANKE INNOVATION TECHNOLOGY 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 HUNAN YUANKE INNOVATION TECHNOLOGY Co Ltd filed Critical HUNAN YUANKE INNOVATION TECHNOLOGY Co Ltd
Priority to CN2008100320540A priority Critical patent/CN101354906B/zh
Publication of CN101354906A publication Critical patent/CN101354906A/zh
Application granted granted Critical
Publication of CN101354906B publication Critical patent/CN101354906B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种应用于固态硬盘的闪存控制器。提供标准的SRAM接口,内置两个2112字节的缓存和DMA,用来实现与NAND闪存的快速数据交换,纠错逻辑ECC能纠正512字节中的3处随机错误。该控制器可为上位机提供方便的接口,实现高速从NAND闪存读数据和向NAND闪存写数据,加入ECC纠错逻辑,确保读取数据和写入信息的正确。

Description

应用于固态硬盘的闪存控制器
技术领域
本发明提出一种应用于固态硬盘的闪存控制器,为上位机提供方便的访问接口,又能高速无误地读取NAND闪存中的数据和将数据存储在NAND闪存中。
背景技术
磁盘作为信息的存储体随着计算机及其相关技术的飞速发展和计算机应用于各种领域,如航空,卫星,工业等方面,从而对磁盘提出了越来越高的要求。因此固态磁盘抗震、宽温、无噪、低耗、可靠存储技术越来越被人们所重视。
固态硬盘以NAND闪存为存储介质,NAND闪存是一种采用与非结构的非易失半导体存储器,在没有电流供应的情况下,能长期地保存信息,读写操作以页为单位,类似于硬盘操作,以块为单位进行擦除,适用于存储大量的信息。NAND闪存磁盘与以磁介质为存储体的机械磁盘相比有以下几个优点:首先读写时不需要像机械磁盘那样需要寻道时间,因而读写的速度比较快;其次由于NAND闪存是一种半导体存储器,使用时不受震动的影响,功耗低,噪声小,能适应的温度范围大,再次,NAND闪存是通过I/O口读取数据,只要将存储的数据擦除,就不可能再恢复,而磁介质的存储器则可以通过磁头读取已擦除的微弱信息进行恢复。但是NAND闪存存在以下特点:
1、NAND闪存地址线和数据线复用,不便于上位机的访问:
2、NAND闪存的某些操作需要几个步骤才能完成,因此也不便于上位机对NAND闪存的操作,
3、NAND闪存在写入数据时可能会发生位反转,如果不作ECC纠错在读取时将无法得到正确的信息。
4、上位机必须等NAND闪存编程完之后才能再次将数据传输到NAND闪存,无法实现高速的读写。
目前以NAND闪存为存储介质的存储体使用的大多数NAND闪存控制器是针对小容量,低速的存储体,本发明提出一种应用于固态硬盘并根据固态硬盘设计需要的大容量的快速存储体的NAND闪存控制器。
发明内容
针对NAND闪存的特点以及固态硬盘在速度方面的要求设计出NAND闪存控制器。
本发明的技术方案是:
1、为NAND闪存设计标准的静态随机存储器(SRAM)接口,使上位机访问控制器就像访问内存那样方便。
2、然而SRAM只有读和写两种主要操作,而NAND Flash除了页编程与读操作之外还有ID读取、重置、块擦除和状态读取等操作,在不改变接口的情况下只能采用与NAND Flash类似的写控制字的方式。NAND闪存控制器内置寄存器组1和控制逻辑2,寄存器组采用存储器映射(Memory Mapped Register)的编址方式,也就是说,寄存器的地址统一编入内存空间,上位机将命令和地址输入到寄存器组1中的指令寄存器和地址寄存器,然后由内置的控制逻辑2根据命令寄存器中的命令和地址寄存器中的地址,实现对应的NAND闪存的操作。控制逻辑有两组地址缓存,这两组地址缓存不能手动切换,控制逻辑可以通过查询状态寄存器确定两组地址缓存的工作状态。控制逻辑必须使用一组空闲的地址寄存器下读或写的指令,主控制器收到指令后接管刚才处理器使用的地址寄存器,将另一组地址寄存器交于控制逻辑控制,控制逻辑再向这个地址寄存器写入操作的地址信息,这样两组地址寄存器分别交替在主控制器和处理器的控制下同时工作。
3、NAND闪存控制器具备2个2112字节(1个NAND闪存页大)数据缓存,缓存A3和缓存B5,这样在同一时间控制逻辑能够同时进行读和写的操作。当用一个数据缓存执行完读或写的指令后,会自动切换使用另一个数据缓存,刚才的数据仍在原数据缓存中保存着。从而提高NAND的数据传输速度。
4、数据缓存和NAND闪存之间加DMA通道4,用来提高NAND控制器的读取和存储数据的速度。
5、加入ECC纠错逻辑6,能纠正512字节中的3位随机错误。ECC纠错逻辑6由纠错逻辑7、状态控制逻辑8、ECC纠错码生成逻辑9和NAND FLASH接口10构成。当向NAND闪存中写数据时,ECC纠错码生成逻辑9产生ECC纠错码并与数据一起通过NAND FLASH接口10写入NAND闪存;读数据时,产生ECC纠错码,通过纠正逻辑6比较产生的ECC纠错码和从NAND闪存读出来的ECC纠错码,状态控制逻辑8将比较结果通知控制逻辑2,控制逻辑2根据比较的结果纠正已读取到数据缓存中的数据。
本发明具有如下优点:
1:为上位机提供方便的接口。
2:实现高速从NAND闪存读数据和向NAND闪存写数据。
3:加入ECC纠错逻辑,确保读取数据和写入信息的正确。
附图说明
图1:NAND闪存控制器框图
图2:ECC纠错逻辑框图
具体实施方式
1、寄存器组,包括指令寄存器、地址寄存器、状态寄存器,用于存储主机CPU发过来的指令,并反馈NAND Flash的状态信息:
2、控制器逻辑,控制器的核心部分,实现对NAND Flash的各类基本操作的逻辑,包括页读、页写、块擦除、随机读、随即写、读ID等功能。并控制DMA和Buffer模块,实现数据的传输。
3、乒乓缓存单元,采用双Buffer,可以同时进行读写操作,并以乒乓的形式实现提高对NAND Flash的数据传输速度。
4、直接存取单元,负责Buffer和NAND Flash之间的数据传输,可以免除CPU的干预。
5、与3配合提供乒乓操作;
6、ECC单元,实现对数据错误的检错和纠错,效率为8bit/512Byte;
7、ECC纠错逻辑,根据ECC校验码,对错误的数据实现纠错;
8、ECC功能逻辑,控制ECC纠错逻辑和ECC校验码生成逻辑;
9、ECC校验码生成逻辑,在读数据和写数据,生成校验码。
10、NAND Flash控制器接口逻辑,用于连接8bit总线宽度的NAND Flash芯片。
在本发明中,NAND闪存控制器由寄存器组,控制逻辑,两个2112字节的缓存,以及DMA和ECC纠错逻辑组成。寄存器组采用存储器映射的编址方式,上位机将命令和地址输入到寄存器组1中的指令寄存器和地址寄存器,然后由内置的控制逻辑2根据命令寄存器中的命令和地址寄存器中的地址,实现对应的NAND闪存的操作。两个2112字节的缓存及其对应的寄存器组中有两组地址寄存器不能手动切换,控制逻辑可以通过查询状态寄存器确定两个2112字节的缓存及其对应的地址寄存器的工作状态。控制逻辑必须使用一组空闲的地址寄存器,上位机收到指令后接管刚才处理器使用的2112字节的缓存及其对应的地址地址寄存器,将另一组2112字节的缓存及其对应的地址寄存器交于控制逻辑控制,控制逻辑再向这个地址寄存器写入操作的地址信息,从2112字节的缓存中读写数据。这样两组2112字节的缓存及其对应的地址寄存器分别交替在上位机和NAND闪存控制器中的控制逻辑的控制下同时工作。内部有DMA通道,提高NAND闪存控制器与NAND闪存之间的数据传输。
NAND闪存控制器中加入ECC纠错逻辑,能纠正512字节中的3位随机错误。当向NAND闪存中写数据时,ECC码生成逻辑9产生ECC纠错码并与数据一起通过NAND闪存接口10写入NAND闪存;读数据时,产生ECC纠错码,通过纠正逻辑7比较产生的ECC纠错码和从NAND闪存读出来的ECC纠错码,控制状态控制逻辑8将比较结果通知控制逻辑2,控制逻辑根据比较的结果纠正已读取到数据缓存中的数据。
实施案例
SATA接口固态硬盘
SATA接口固态硬盘硬件环境由SATA接口协议,MPU,FLASH控制器和FLASH阵列构成,软件环境由地址映射逻辑,坏块管理逻辑,均衡损耗逻辑构成,使SATA接口固态硬盘对上位机表现为无差别于机械硬盘的器件,实现以NAND闪存为存储介质的大容量数据存储。

Claims (2)

1、应用于固态硬盘的闪存控制器,包括寄存器组(1)、控制逻辑(2)、2112字节缓存A(3)、2112字节缓存B(5)、DMA(4)以及ECC纠错逻辑(6),其特征在于具体方法为:
①为NAND闪存设计标准的静态随机存储器(SRAM)接口;
②NAND闪存控制器内置寄存器组(1)和控制逻辑(2);
③NAND闪存控制器具备2个2112字节数据缓存,缓存A(3)和缓存B(5);
④数据缓存和NAND闪存之间加DMA通道(4);
⑤加入ECC纠错逻辑(6)。
2、根据权利要求1所述的应用于固态硬盘的闪存控制器,其特征在于ECC纠错逻辑(6)由纠错逻辑(7)、状态控制逻辑(8)、NAND FLASH接口(9)和ECC纠错码生成逻辑(10)构成。
CN2008100320540A 2008-08-11 2008-08-11 应用于固态硬盘的闪存控制器 Active CN101354906B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008100320540A CN101354906B (zh) 2008-08-11 2008-08-11 应用于固态硬盘的闪存控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100320540A CN101354906B (zh) 2008-08-11 2008-08-11 应用于固态硬盘的闪存控制器

Publications (2)

Publication Number Publication Date
CN101354906A true CN101354906A (zh) 2009-01-28
CN101354906B CN101354906B (zh) 2010-09-15

Family

ID=40307678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100320540A Active CN101354906B (zh) 2008-08-11 2008-08-11 应用于固态硬盘的闪存控制器

Country Status (1)

Country Link
CN (1) CN101354906B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010127636A1 (zh) * 2009-05-08 2010-11-11 炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
CN102279825A (zh) * 2011-04-02 2011-12-14 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器
CN101719052B (zh) * 2009-12-22 2012-05-02 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置及系统
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
WO2013170730A1 (zh) * 2012-05-12 2013-11-21 北京忆恒创源科技有限公司 Dma传输方法及系统
CN103761988A (zh) * 2013-12-27 2014-04-30 华为技术有限公司 固态硬盘及数据移动方法
CN103995785A (zh) * 2014-05-07 2014-08-20 四川九成信息技术有限公司 信息处理方法和系统
CN109582228A (zh) * 2018-11-15 2019-04-05 深圳忆联信息系统有限公司 基于nand闪存控制器的自动读重试的硬件加速方法及装置
CN109783268A (zh) * 2019-01-21 2019-05-21 深圳忆联信息系统有限公司 Ssd全系统固件检错方法、装置、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102176325B (zh) * 2011-02-28 2015-04-01 浪潮电子信息产业股份有限公司 一种用于固态硬盘的闪存控制器

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882119B (zh) * 2009-05-08 2014-05-14 上海炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
WO2010127636A1 (zh) * 2009-05-08 2010-11-11 炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
US8806136B2 (en) 2009-05-08 2014-08-12 Shanghai Actions Semiconductor Co., Ltd. Nandflash controller and data transmission method with Nandflash controller
CN101719052B (zh) * 2009-12-22 2012-05-02 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置及系统
CN102279825A (zh) * 2011-04-02 2011-12-14 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器
CN102279825B (zh) * 2011-04-02 2014-11-12 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器
US9734085B2 (en) 2012-05-12 2017-08-15 Memblaze Technology (Beijing) Co., Ltd. DMA transmission method and system thereof
WO2013170730A1 (zh) * 2012-05-12 2013-11-21 北京忆恒创源科技有限公司 Dma传输方法及系统
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
CN103761988A (zh) * 2013-12-27 2014-04-30 华为技术有限公司 固态硬盘及数据移动方法
WO2015096494A1 (zh) * 2013-12-27 2015-07-02 华为技术有限公司 固态硬盘及数据移动方法
CN103761988B (zh) * 2013-12-27 2018-01-16 华为技术有限公司 固态硬盘及数据移动方法
US10114578B2 (en) 2013-12-27 2018-10-30 Huawei Technologies Co., Ltd. Solid state disk and data moving method
CN103995785A (zh) * 2014-05-07 2014-08-20 四川九成信息技术有限公司 信息处理方法和系统
CN103995785B (zh) * 2014-05-07 2017-01-11 马鞍山百助网络科技有限公司 信息处理方法和系统
CN109582228A (zh) * 2018-11-15 2019-04-05 深圳忆联信息系统有限公司 基于nand闪存控制器的自动读重试的硬件加速方法及装置
CN109582228B (zh) * 2018-11-15 2022-02-01 深圳忆联信息系统有限公司 基于nand闪存控制器的自动读重试的硬件加速方法及装置
CN109783268A (zh) * 2019-01-21 2019-05-21 深圳忆联信息系统有限公司 Ssd全系统固件检错方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN101354906B (zh) 2010-09-15

Similar Documents

Publication Publication Date Title
CN101354906B (zh) 应用于固态硬盘的闪存控制器
CN108804023B (zh) 数据存储装置及其操作方法
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
US8386699B2 (en) Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
US8417869B2 (en) Hybrid storage apparatus and hybrid storage medium controller and addressing method thereof
US9176865B2 (en) Data writing method, memory controller, and memory storage device
US9037814B2 (en) Flash memory management method and flash memory controller and storage system using the same
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
TW201437807A (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
US9442834B2 (en) Data management method, memory controller and memory storage device
US8423838B2 (en) Block management method, memory controller, and memory storage apparatus
CN112199038A (zh) 基于i/o吞吐量确定缓冲器使用的存储器系统及其操作方法
TWI574274B (zh) 循環區塊模式下的資料存取方法以及使用該方法的裝置
US9378130B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
KR102544162B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
KR20200114212A (ko) 데이터 저장 장치 및 그것의 동작 방법
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
US10754768B2 (en) Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
US20190278703A1 (en) Memory system, operating method thereof and electronic device
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
CN104425039A (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
EE01 Entry into force of recordation of patent licensing contract

Assignee: Hunan Yuanke High-Tech Co., Ltd.

Assignor: Hunan Runcore Innovation Technology Co., Ltd.

Contract record no.: 2011430000016

Denomination of invention: Flash memory controller for solid hard disk

Granted publication date: 20100915

License type: Exclusive License

Open date: 20090128

Record date: 20110318

C56 Change in the name or address of the patentee

Owner name: HUNAN RUNCORE INNOVATION TECHNOLOGY CO., LTD.

Free format text: FORMER NAME: HUNAN YUANKE INNOVATION TECHNOLOGY CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: Yuelu District City, Hunan province 410205 Changsha Lugu Road No. 662, room 307

Patentee after: Hunan Runcore Innovation Technology Co., Ltd.

Address before: Yuelu District City, Hunan province 410205 Changsha Lugu Road No. 662, room 307

Patentee before: Hunan Yuanke Innovation Technology Co., Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Flash memory controller for solid hard disk

Effective date of registration: 20140723

Granted publication date: 20100915

Pledgee: Qianhai Shenzhen Fuhai factoring Co., Ltd.

Pledgor: Hunan Runcore Innovation Technology Co., Ltd.

Registration number: 2014440000012

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20160115

Granted publication date: 20100915

Pledgee: Qianhai Shenzhen Fuhai factoring Co., Ltd.

Pledgor: Hunan Runcore Innovation Technology Co., Ltd.

Registration number: 2014440000012

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model