[go: up one dir, main page]

CN203012703U - 一种面向嵌入式系统的Nand Flash块冗余存储控制电路 - Google Patents

一种面向嵌入式系统的Nand Flash块冗余存储控制电路 Download PDF

Info

Publication number
CN203012703U
CN203012703U CN 201220714342 CN201220714342U CN203012703U CN 203012703 U CN203012703 U CN 203012703U CN 201220714342 CN201220714342 CN 201220714342 CN 201220714342 U CN201220714342 U CN 201220714342U CN 203012703 U CN203012703 U CN 203012703U
Authority
CN
China
Prior art keywords
nand flash
pin
chip
memory chip
flash 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.)
Expired - Lifetime
Application number
CN 201220714342
Other languages
English (en)
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.)
709th Research Institute of CSIC
Original Assignee
709th Research Institute of CSIC
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 709th Research Institute of CSIC filed Critical 709th Research Institute of CSIC
Priority to CN 201220714342 priority Critical patent/CN203012703U/zh
Application granted granted Critical
Publication of CN203012703U publication Critical patent/CN203012703U/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本实用新型公开了一种面向嵌入式系统的NandFlash块冗余存储控制电路,包括NandFlash存储芯片(1)、NandFlash存储芯片(2)和控制芯片(3)。本实用新型的优点是:可直接与外部主处理器的NandFlash存储器接口连接,外部主处理器的NandFlash接口驱动程序无需额外开销即可实现嵌入式主处理器的数据冗余存储;采用两个相同的存储芯片构成互为冗余的存储单元实现硬件级冗余存储,有效降低了NandFlash存储芯片的坏块对数据存储的影响。本实用新型可适用于对数据存储可靠性要求较高的嵌入式系统主存储器单元。

Description

一种面向嵌入式系统的Nand Flash块冗余存储控制电路
技术领域
本实用新型属于数据存储技术领域,尤其是涉及一种面向嵌入式系统的Nand Flash块冗余存储控制电路。
背景技术
随着半导体电子技术和工艺的迅猛发展,凭借存储密度大、功耗低、寿命长、成本低等特点,Nand Flash存储芯片在嵌入式系统的存储领域得到了广泛应用,典型的嵌入式处理器(如Power PC、ARM、DSP等)均支持Nand Flash存储器接口。由于本身存在固有缺陷,Nand Flash存储芯片是一种数据正确性非理想的器件,在Nand Flash存储芯片出厂和使用过程中会产生一定数量的坏块,从而导致存储数据的错误或丢失。因此,为了提高Nand Flash存储单元的可靠性进而保证嵌入式系统的可靠运行,基于Nand Flash的数据冗余存储显得尤为必要。
目前,针对Flash的冗余存储,具体有以下几种方法:
(1)冗余编码。该方法是采用一定编码方式生成冗余编码并将其存入预留的数据冗余空间中,当存储数据出现错误时,利用冗余编码纠正错误。专利200910053399“一种大规模Flash存储阵列的多层次数据冗余方法”即是在页级、Flash芯片级、Flash芯片组级三个层次采用冗余编码的方法对数据进行冗余。此方法增加了软件运算量和数据存储控制的复杂度,并且当出现坏块无法读取数据时,冗余编码失去意义。
(2)建立数据备份区。该方法是在Flash存储单元内部划分数据备份区,当原始数据区出现存储坏块时读取数据备份区的数据。专利200810029685“Flash存储器的二级备份方法”即是采用数据备份的方式进行冗余存储。由于原始数据区与备份区并非对等冗余,因此,此方法在数据存储时增加了存储控制程序的复杂度,并降低了数据存取效率。
(3)硬件级冗余存储。该方法是在硬件上包含两个互为冗余的数据存储区域,当其中一区域的某数据块出现故障时,可从另一区域的相应数据块中恢复数据。专利201120005567“一种数据冗余保护Flash固态盘”即包含两个对等的互为冗余的存储阵列和数据存储控制器以提高固态盘存储数据的可靠性及完整性,但是该专利仅限应用于Flash存储阵列及固态盘的设计,不支持嵌入式处理器的Nand Flash接口,不能直接用于嵌入式系统的主存储器单元设计中。
发明内容
本实用新型的目的是针对现有基于Nand Flash的冗余存储电路的不足,提供一种面向嵌入式系统的Nand Flash块冗余存储控制电路,采用硬件级冗余存储方法实现基于Nand Flash的冗余存储,并采用现场可编程逻辑门阵列FPGA(Field Programmable Gate Array)器件作为控制芯片,实现冗余存储单元的并行操作并提供与嵌入式处理器直接相连接的Nand Flash存储器接口,可适用于对数据存储可靠性要求较高的嵌入式系统主存储器单元。
本实用新型一种面向嵌入式系统的Nand Flash块冗余存储控制电路,包括:Nand Flash存储芯片(1)、Nand Flash存储芯片(2)和控制芯片(3)。Nand Flash存储芯片(1)与Nand Flash存储芯片(2)采用相同的存储芯片构成两个互为冗余的存储单元。控制芯片(3)的IO引脚5至12、IO引脚17、IO引脚21、IO引脚22、IO引脚23、IO引脚24、IO引脚26、IO引脚27分别与Nand Flash存储芯片(1)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚78至85、IO引脚92、IO引脚93、IO引脚94、IO引脚95、IO引脚97、IO引脚98、IO引脚99分别与Nand Flash存储芯片(2)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚114至121、IO引脚126、IO引脚127、IO引脚131、IO引脚132、IO引脚133、IO引脚134分别与外部主处理器的Nand Flash接口引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#相连接。
所述Nand Flash存储芯片(1)和Nand Flash存储芯片(2)采用的是三星公司的K9K8G08U0M。
所述控制芯片(3)采用的FPGA芯片是赛灵思公司XC6SLX4TQG144。控制芯片(3)实现Nand Flash块冗余存储控制功能,将外部主处理器发出的Nand Flash控制命令采用冗余机制处理后对Nand Flash存储芯片(1)及Nand Flash存储芯片(2)进行相应操作。
本实用新型应用上述芯片型号,但不局限于上述型号,凡是可满足相同功能需求的芯片型号均可互相替代。
所述外部主处理器指的是内置Nand Flash控制器且含Nand Flash存储器接口的嵌入式处理器。
本实用新型中采用的Nand Flash块冗余存储控制方法,包括上电坏块自检过程、数据存储过程、数据读取过程和数据擦除过程。
上电坏块自检过程包括以下步骤:
S1 Nand Flash存储芯片(1)和Nand Flash存储芯片(2)为两个互为冗余的存储单元,每片Nand Flash存储芯片包含n个存储块(Block),分别编号0至(n-1);
S2 上电后控制芯片(3)同时对Nand Flash存储芯片(1)及Nand Flash存储芯片(2)进行坏块扫描,并建立坏块信息列表。
数据存储过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据存储命令和数据;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)根据坏块信息列表检测Nand Flash存储芯片(1)及Nand Flash存储芯片(2)的第m个存储块是否为坏块,并且仅将数据写入第m块为正常块的存储芯片中,若两个存储芯片的第m块均为坏块时,则控制芯片(3)向外部主处理器返回写入不成功应答。
数据读取过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据读取命令;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)根据坏块信息列表检测Nand Flash存储芯片(1)及Nand Flash存储芯片(2)的第m个存储块是否为坏块,当Nand Flash存储芯片(1)的第m块为正常块时,读取Nand Flash存储芯片(1)的数据返回至外部主处理器,否则,读取Nand Flash存储芯片(2)的数据,若两个存储芯片的第m块均为坏块时,则读取页寄存器默认值返回至外部主处理器;
S4 当读取数据成功时,根据命令中行列地址判断读取的当前页是否为第m块的含坏块信息页(通常为第1页),若读取的是含坏块信息页的数据则更新第m块的坏块信息。
数据擦除过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据擦除命令;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)同时对Nand Flash存储芯片(1)和Nand Flash存储芯片(2)的第m块执行擦除操作。
本实用新型所产生的有益效果是:本实用新型提供的一种面向嵌入式系统的Nand Flash块冗余存储控制电路可直接与外部主处理器的Nand Flash存储器接口连接,外部主处理器的Nand Flash接口驱动程序无需额外开销即可实现嵌入式主处理器的数据冗余存储;控制芯片采用FPGA芯片,可实现冗余存储单元的数据并行读写及擦除操作,提高了嵌入式系统中Nand Flash冗余存储单元的读写速度;采用硬件级冗余存储的方法,有效降低了Nand Flash存储芯片的坏块对数据存储的影响。
附图说明
图1为本实用新型的结构框图;
图2为本实用新型的电原理图;
图3为控制芯片FPGA内部结构框图;
图4为上电坏块自检过程流程图;
图5为数据存储过程流程图;
图6为数据读取过程流程图;
图7为数据擦除过程流程图。 
具体实施方式
下面结合附图对本实用新型做进一步的详细说明。
附图1是本实用新型的结构框图,描述了各个部件之间的连接关系。本实用新型包括控制芯片(3)、互为冗余存储单元的Nand Flash存储芯片(1)和Nand Flash存储芯片(2)。
控制芯片(3)分别与Nand Flash存储芯片(1)和Nand Flash存储芯片(2)相连接,控制芯片(3)还与外部主处理器的Nand Flash接口相连接。
附图2是本实用新型的电原理图。
附图2显示了Nand Flash存储芯片、控制芯片和其它配置芯片。
Nand Flash存储芯片(1)采用的是三星公司的K9K8G08U0M(U1),Nand Flash存储芯片(2)同样采用的是三星公司的K9K8G08U0M(U2)。
控制芯片(3)采用的FPGA芯片是赛灵思公司的XC6SLX4TQG144(U3)。
控制芯片(3)的IO引脚5至12、IO引脚17、IO引脚21、IO引脚22、IO引脚23、IO引脚24、IO引脚26、IO引脚27分别与Nand Flash存储芯片(1)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚78至85、IO引脚92、IO引脚93、IO引脚94、IO引脚95、IO引脚97、IO引脚98、IO引脚99分别与Nand Flash存储芯片(2)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚114至121、IO引脚126、IO引脚127、IO引脚131、IO引脚132、IO引脚133、IO引脚134分别与外部主处理器的Nand Flash接口引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#相连接。
附图3是控制芯片FPGA内部结构框图。
控制芯片(3)FPGA内部结构框图包括外部主处理器Nand Flash接口控制子模块、命令译码及块地址提取模块、写入Nand Flash子模块、读取Nand Flash子模块、擦除Nand Flash子模块、存储芯片选择子模块、上电坏块自检子模块、坏块信息列表、存储芯片1Nand Flash接口控制子模块、存储芯片2Nand Flash接口控制子模块和数字频率管理器模块。
控制芯片(3)首先通过Nand Flash接口接收来自外部主处理器的指令,通过命令译码选择Nand Flash当前操作子模块,通过块地址提取并结合坏块信息选择当前操作存储芯片,最后通过存储芯片的Nand Flash接口控制子模块对所选Nand Flash存储芯片执行当前操作。
附图4是上电坏块自检过程流程图。上电坏块自检过程包括以下步骤:
S1 Nand Flash存储芯片(1)和Nand Flash存储芯片(2)均为K9K8G08U0M,每片Nand Flash存储芯片包含8192个存储块(Block),分别编号0至8191;
S2 上电后控制芯片(3)同时对Nand Flash存储芯片(1)及Nand Flash存储芯片(2)进行坏块扫描,建立坏块信息列表。
Nand Flash存储芯片的坏块信息判断方法是:判断每一块的第一页的第2048字节的数据是否为FFh,若非FFh则该块为坏块。
坏块信息是Nand Flash存储芯片(1)坏块信息与Nand Flash存储芯片(2)坏块信息逻辑相与的结果,当且仅当两个存储芯片的当前块均为坏块时才判定当前块为坏块。
附图5是数据存储过程流程图。数据存储过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据存储命令和数据;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)根据坏块信息列表检测Nand Flash存储芯片(1)及Nand Flash存储芯片(2)的第m个存储块是否为坏块;
当两个存储芯片的第m块均为正常时,则同时将数据存储至Nand Flash存储芯片(1)和Nand Flash存储芯片(2);当Nand Flash存储芯片(1)的第m块为坏块时,则仅将数据存储至Nand Flash存储芯片(2);当Nand Flash存储芯片(2)的第m块为坏块时,则仅将数据存储至Nand Flash存储芯片(1);当Nand Flash存储芯片(1)及Nand Flash存储芯片(2)的第m块均为坏块时,则向外部主处理器返回写入不成功应答。
附图6是数据读取过程流程图。数据读取过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据读取命令;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)根据坏块信息列表检测Nand Flash存储芯片(1)及Nand Flash存储芯片(2)的第m个存储块是否为坏块,当Nand Flash存储芯片(1)的第m块为正常块时,读取Nand Flash存储芯片(1)的数据返回至外部主处理器,否则,读取Nand Flash存储芯片(2)的数据,若两个存储芯片的第m块均为坏块时,则读取页寄存器默认值返回至外部主处理器;
S4 当读取数据成功时,根据命令中行列地址判断读取的当前页是否为第m块的第1页,若读取的是第1页则根据第2048字节的数据是否为FFh更新第m块的坏块信息。
附图7为数据擦除过程流程图。数据擦除过程包括以下步骤:
S1 控制芯片(3)通过Nand Flash接口接收来自外部主处理器的数据擦除命令;
S2 控制芯片(3)根据命令中的行地址提取当前操作存储块的块地址编号m;
S3 控制芯片(3)同时对Nand Flash存储芯片(1)和Nand Flash存储芯片(2)的第m块执行擦除操作。

Claims (1)

1.一种面向嵌入式系统的Nand Flash块冗余存储控制电路,其特征在于:包括Nand Flash存储芯片(1)、Nand Flash存储芯片(2)和控制芯片(3);Nand Flash存储芯片(1)与Nand Flash存储芯片(2)采用相同的存储芯片构成两个互为冗余的存储单元;控制芯片(3)的IO引脚5至12、IO引脚17、IO引脚21、IO引脚22、IO引脚23、IO引脚24、IO引脚26、IO引脚27分别与Nand Flash存储芯片(1)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚78至85、IO引脚92、IO引脚93、IO引脚94、IO引脚95、IO引脚97、IO引脚98、IO引脚99分别与Nand Flash存储芯片(2)的引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#、WP#相连接,控制芯片(3)的IO引脚114至121、IO引脚126、IO引脚127、IO引脚131、IO引脚132、IO引脚133、IO引脚134分别与外部主处理器的Nand Flash接口引脚I/O0至I/O7、CLE、ALE、RE#、WE#、CE#、R/B#相连接。
CN 201220714342 2012-12-22 2012-12-22 一种面向嵌入式系统的Nand Flash块冗余存储控制电路 Expired - Lifetime CN203012703U (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201220714342 CN203012703U (zh) 2012-12-22 2012-12-22 一种面向嵌入式系统的Nand Flash块冗余存储控制电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201220714342 CN203012703U (zh) 2012-12-22 2012-12-22 一种面向嵌入式系统的Nand Flash块冗余存储控制电路

Publications (1)

Publication Number Publication Date
CN203012703U true CN203012703U (zh) 2013-06-19

Family

ID=48604277

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201220714342 Expired - Lifetime CN203012703U (zh) 2012-12-22 2012-12-22 一种面向嵌入式系统的Nand Flash块冗余存储控制电路

Country Status (1)

Country Link
CN (1) CN203012703U (zh)

Similar Documents

Publication Publication Date Title
US8812784B2 (en) Command executing method, memory controller and memory storage apparatus
CN104102585B (zh) 映射信息记录方法、存储器控制器与存储器储存装置
CN101576853B (zh) 数据存取方法、使用此方法的控制器与存储系统
TWI470431B (zh) 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8902671B2 (en) Memory storage device, memory controller thereof, and method for programming data thereof
CN102122271A (zh) 一种nand闪存控制器及其控制方法
US20100199019A1 (en) Logical memory blocks
US20150161042A1 (en) Memory management method, memory controlling circuit unit, and memory storage device
US20180239557A1 (en) Nonvolatile memory device, data storage device including the same, and operating method of data storage device
US10915259B2 (en) Memory device, memory controller and memory system including them, and method for operating them for matching operation mode of memory interfaces
CN111026325B (zh) 闪存控制器、闪存控制器的控制方法及相关的电子装置
CN103377155B (zh) 存储器储存装置及其存储器控制器与电源控制方法
US20190278704A1 (en) Memory system, operating method thereof and electronic apparatus
CN102890617B (zh) 存储器控制方法、存储器控制器与存储器储存装置
CN104731710B (zh) 存储器管理方法、存储器控制电路单元与存储器储存装置
CN104657083B (zh) 数据写入方法、存储器储存装置、存储器控制电路单元
CN103218308B (zh) 缓冲存储器管理方法、存储器控制器与存储器储存装置
US8738847B2 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN102890653A (zh) 指令执行方法、存储器控制器与存储器储存装置
CN102737716B (zh) 存储器储存装置、存储器控制器与数据写入方法
CN111309518B (zh) 存储器系统和存储器系统的操作方法
CN103677868A (zh) 一种通过芯片内部的mcu配置芯片内置fpga的方法
CN104238956A (zh) 数据写入方法、存储器控制器与存储器存储装置
US8832358B2 (en) Data writing method, memory controller and memory storage apparatus
CN203012703U (zh) 一种面向嵌入式系统的Nand Flash块冗余存储控制电路

Legal Events

Date Code Title Description
C14 Grant of patent or utility model
GR01 Patent grant
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Zhang Qiong

Inventor after: Zhang Shaofeng

Inventor after: Fu Caide

Inventor after: Huang Song

Inventor before: Huang Songzhangqiong

Inventor before: Zhang Shaofeng

Inventor before: Fu Caide

Inventor before: Huang Song

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: HUANGSONG ZHANGQIONG ZHANG SHAOFENG FU CAIDE HUANG SONG TO: ZHANG QIONG ZHANG SHAOFENG FU CAIDE HUANG SONG

CX01 Expiry of patent term

Granted publication date: 20130619

CX01 Expiry of patent term