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

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

Info

Publication number
CN101354906B
CN101354906B CN2008100320540A CN200810032054A CN101354906B CN 101354906 B CN101354906 B CN 101354906B CN 2008100320540 A CN2008100320540 A CN 2008100320540A CN 200810032054 A CN200810032054 A CN 200810032054A CN 101354906 B CN101354906 B CN 101354906B
Authority
CN
China
Prior art keywords
program module
logic program
nand flash
flash memory
error correction
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.)
Expired - Fee Related
Application number
CN2008100320540A
Other languages
English (en)
Other versions
CN101354906A (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
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

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闪存控制器。
本发明的技术方案是:该NAND闪存控制器包括寄存器组1、控制模块2、2112字节缓存A3、2112字节缓存B5、DMA通道4以及ECC纠错模块6,其特征在于:寄存器组1连接控制模块2,缓存A3和缓存B5位于控制模块2和DMA通道4之间,并分别与控制模块2和DMA通道4连接,控制模块2还与DMA通道4连接,ECC纠错模块6与控制模块2和DMA通道4连接,具体设计方法为:
①为NAND闪存设计标准的静态随机存储器(SRAM)接口;
②NAND闪存控制器内置寄存器组(1)和控制模块(2);
③NAND闪存控制器具备2个2112字节数据缓存,缓存A(3)和缓存B(5);
④数据缓存和NAND闪存之间加DMA通道(4);
⑤加入ECC纠错模块(6)。
ECC纠错模块6由纠错模块7、状态控制模块8、ECC纠错码生成模块9和NAND FLASH接口10构成,纠错模块7与状态控制模块8和ECC纠错码生成模块9连接,状态控制模块8与ECC纠错码生成模块9和NAND FLASH接口10连接。
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),其特征在于寄存器组(1)连接控制逻辑程序模块(2),缓存A(3)和缓存B(5)位于控制逻辑程序模块(2)和DMA通道(4)之间,并分别与控制逻辑程序模块(2)和DMA通道(4)连接,控制逻辑程序模块(2)还与DMA通道(4)连接,ECC纠错逻辑程序模块(6)与控制逻辑程序模块(2)和DMA通道(4)连接;特征在于:
①为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接口(10)和ECC纠错码生成逻辑程序模块(9)构成,纠错逻辑程序模块(7)与状态控制逻辑程序模块(8)和ECC纠错码生成逻辑程序模块(9)连接,状态控制逻辑程序模块(8)与ECC纠错码生成逻辑程序模块(9)和NANDFLASH接口(10)连接。
CN2008100320540A 2008-08-11 2008-08-11 应用于固态硬盘的闪存控制器 Expired - Fee Related 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 CN101354906A (zh) 2009-01-28
CN101354906B true CN101354906B (zh) 2010-09-15

Family

ID=40307678

Family Applications (1)

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

Country Status (1)

Country Link
CN (1) CN101354906B (zh)

Cited By (1)

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

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101882119B (zh) * 2009-05-08 2014-05-14 上海炬力集成电路设计有限公司 与非型闪存控制器及其数据传输方法
CN101719052B (zh) * 2009-12-22 2012-05-02 成都市华为赛门铁克科技有限公司 一种写数据的方法、装置及系统
CN102279825B (zh) * 2011-04-02 2014-11-12 浪潮电子信息产业股份有限公司 一种固态硬盘控制器的智能dma控制器
CN102693198B (zh) 2012-05-12 2015-03-25 北京忆恒创源科技有限公司 Dma传输方法及系统
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
CN103761988B (zh) * 2013-12-27 2018-01-16 华为技术有限公司 固态硬盘及数据移动方法
CN103995785B (zh) * 2014-05-07 2017-01-11 马鞍山百助网络科技有限公司 信息处理方法和系统
CN109582228B (zh) * 2018-11-15 2022-02-01 深圳忆联信息系统有限公司 基于nand闪存控制器的自动读重试的硬件加速方法及装置
CN109783268A (zh) * 2019-01-21 2019-05-21 深圳忆联信息系统有限公司 Ssd全系统固件检错方法、装置、计算机设备和存储介质
CN110609661A (zh) * 2019-09-27 2019-12-24 乐普智芯(天津)医疗器械有限公司 一种具有读写一体功能的闪存控制器

Cited By (2)

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

Also Published As

Publication number Publication date
CN101354906A (zh) 2009-01-28

Similar Documents

Publication Publication Date Title
CN101354906B (zh) 应用于固态硬盘的闪存控制器
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
US10891236B2 (en) Data storage device and operating method thereof
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
TWI385519B (zh) 資料寫入方法及使用此方法的快閃儲存系統與其控制器
TWI467581B (zh) 複合式儲存裝置及其複合式儲存媒體控制器與定址方法
KR102691851B1 (ko) 불휘발성 메모리 장치, 이를 포함하는 데이터 저장 장치 및 그 동작 방법
US8898375B2 (en) Memory controlling method, memory controller and memory storage apparatus
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
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
CN109952565B (zh) 内存访问技术
US20180089088A1 (en) Apparatus and method for persisting blocks of data and metadata in a non-volatile memory (nvm) cache
US8423838B2 (en) Block management method, memory controller, and memory storage apparatus
TWI574274B (zh) 循環區塊模式下的資料存取方法以及使用該方法的裝置
KR102544162B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN114253461A (zh) 混合通道存储设备
US8209472B2 (en) Data writing method for flash memory and control circuit and storage system using the same
CN103226977B (zh) 基于fpga的快速nand flash控制器及其控制方法
CN102362263A (zh) Ssd控制器与ssd控制器的操作方法
CN114253462A (zh) 提供混合通道存储设备的方法
US12045506B2 (en) Combining operations during reset
WO2020061098A1 (en) Cache operations in a hybrid dual in-line memory module
US9009389B2 (en) Memory management table processing method, memory controller, and memory storage apparatus

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: RUNCORE 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 Runcore 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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100915

CF01 Termination of patent right due to non-payment of annual fee