CN103218177A - 具有数据均衡处理功能的NAND Flash存储系统 - Google Patents
具有数据均衡处理功能的NAND Flash存储系统 Download PDFInfo
- Publication number
- CN103218177A CN103218177A CN2013101396891A CN201310139689A CN103218177A CN 103218177 A CN103218177 A CN 103218177A CN 2013101396891 A CN2013101396891 A CN 2013101396891A CN 201310139689 A CN201310139689 A CN 201310139689A CN 103218177 A CN103218177 A CN 103218177A
- Authority
- CN
- China
- Prior art keywords
- nand flash
- data
- module
- flash storage
- storage chip
- 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
本发明涉及一种具有数据均衡处理功能的NAND Flash存储系统。本发明包括NAND Flash存储芯片和NAND Flash控制器。NAND Flash控制器包括主机接口、FIFO模块、磨损均衡模块、FLASH接口、CPU、ECC编码模块、均衡处理模块、ECC解码模块、解均衡处理模块。均衡处理模块将送入存储芯片的数字信息变换为近似于白噪声的数字序列。解均衡处理模块负责将存储器中的数字信息反变换成原始的数字信息。本发明在数据存储到NAND Flash存储芯片之前,进行数据均衡转换处理,使存到NAND Flash的数据是0和1均衡的数据,这样提高数据存储的可靠性。
Description
技术领域
本发明属于数据存储技术领域,涉及一种具有数据均衡处理功能的NAND Flash存储系统。
背景技术
闪存(Flash)存储器具有非挥发性(掉电后仍可保持数据)、快速读/写、低功耗及易携带等优点,已经作为一种重要的存储媒质应用于数字存储产品中。根据内部构架和实现技术不同,现在的主流FLASH主要有NOR和NAND Flash。NOR的特点是多个存储单元并行,可实现快速随机字节访问,适合用在容量要求小,随机读写快的应用领域。NAND的特点是写入和擦除操作速度快,芯片面积小,特别适用于大容量存储器设计,已经成为一种重要的存储媒质应用于数字存储产品中。
NAND Flash 又可以分为SLC(Single-level cell, 单阶存储单元)和MLC(Multi-level cell, 多阶存储单元)NAND闪存。NAND Flash将数据存储在由浮闸晶体管组成的记忆单元数组内,在SLC设备中,每个单元只存储1比特的信息。而MLC设备则利用多种电荷值的控制让每个单元可以存储2比特及以上的数据,达到较高的数据密度,所以单位成本低,正因为这个优点使得MLC的更适合用于海量存储设备中。但是相对于SLC,MLC单个存储单元存在多个参考电压,各参考电压之间的间隔变小,导致了MLC面临可擦写次数减少,出错率更高等缺点。在这种情况下,提高存储数据的可靠性是应用MLC实现数字存储设备的一大挑战。
为保证Flash中存储数据的可靠性,如随着擦除次数的增加,读写电路的误差以及外界环境引入的噪声会使存储数据产生的差错,存储系统一般通过错误校验与纠错(Error Checking and Correction,ECC)模块来保证数据的可靠性,写入数据时,对存储数据进行编码,读取数据时检测差错并进行纠正,如汉明编码、BCH码、LDPC码等。
NAND Flash数据存储设备一般存储的数据都是文字,图像和视频,这些文件保存在存储器中的数据经常会出现连续的0或者连续的1。根据Flash工作的特点,具有这种特征数据信息在存取时出错率很高。而ECC的检错纠错能力是有限的,当误码率超过ECC模块的纠错能力时,就无法保证数据的读写的可靠性。
发明内容
为了解决上述技术问题,本发明提供了一种具有数据均衡处理功能的NAND Flash存储系统。
本发明解决技术问题所采取的技术方案:
具有数据均衡处理功能的NAND Flash存储系统,包括NAND Flash存储芯片和NAND Flash控制器。所述的NAND Flash控制器包括主机接口、FIFO模块、磨损均衡模块、FLASH接口、CPU、ECC编码模块、均衡处理模块、ECC解码模块、解均衡处理模块。
所述的主机接口负责与主机进行通讯。
所述的FIFO模块从主机接收到的数据进行缓存。
所述的磨损均衡模块负责处理NAND Flash存储芯片中各个存储块的合理使用,使NAND Flash存储系统的使用寿命达到最长。
所述的FLASH接口与NAND Flash存储芯片进行通讯。
所述的CPU 24协调控制整个数据通信过程的完成。
所述的ECC编码模块是在数据写入NAND Flash存储芯片之前,对数据进行编码。
所述的均衡处理模块将送入NAND Flash存储芯片的数字信息变换为近似于白噪声的数字序列,即伪随机序列。
所述的解均衡处理模块负责将NAND Flash存储器中的数字信息反变换成原始的数字信息。
所述的ECC解码模块是在数据从NAND Flash存储芯片读出时,检测差错并进行纠正,保证数据存取的可靠性。
本发明的有益效果:该系统在数据存储到NAND Flash存储芯片之前,进行数据均衡转换处理,使真正存到NAND Flash的数据是0和1均衡的数据,这样就提高了数据存储的可靠性。
附图说明
图1是典型的NAND FLASH存储系统框图;
图2 是典型的NAND FLASH控制器框图;
图3是本发明的一种实施例;
图4是本发明的另一种实施例;
图5是本发明采用的一种均衡处理实现方案;
图6是伪数字随机信号发生器的一种实现方案。
具体实施方式
以下结合附图对本发明作进一步说明。
图1给出了一个典型的NAND FLASH存储系统的结构框图,包括NAND FLASH控制器2和NAND FLASH存储芯片3构成。NAND FLASH控制器是NAND FLASH存储系统的的核心部分,负责主机1和NAND FLASH存储芯片之间的通信。图2给出了典型NAND FLASH控制器2的结构框图,NAND FLASH控制器2包括主机接口21、先入先出缓冲器(FIFO)22、磨损均衡(地址映射)模块23、CPU模块 24、 ECC编码模块25、ECC解码模块26和FLASH接口模块27。其中磨损均衡(Wear-Leveling)就是用来解决NAND闪存芯片中各个块合理使用的技术。其核心问题是研究将NAND闪存的必须的擦除操作均匀的分散在整个存储空间,使NAND闪存系统的使用寿命达到最长。ECC编码模块25是在写入数据时,对存储数据进行编码,ECC解码模块26是读取数据时检测差错并进行纠正,如汉明编码、BCH码、LDPC码等。就可以保证因擦除次数的增加,读写电路的误差以及外界环境引入的噪声导致的存储数据产生的差错,保证数据存取的可靠性。CPU 24协调控制整个数据通信过程的完成。 本发明在典型的NAND FLASH存储控制器中增加了均衡处理模块28和解均衡处理模块29两个模块,该技术实现框图如图3和图4所示。均衡处理模块28可以在ECC编码模块25之后进行,如图3所示,在对存储到NAND Flash芯片的数据进行数据均衡转换处理,使真正存到NAND Flash的数据是具有伪随机特性的0和1均衡数据。反之,NAND Flash上获得的存储数据要经过解均衡处理模块29,然后再送到ECC解码获得真正的数据通过查找地址映射通过主机接口21送往主机1。同理,均衡处理模块28也可以在ECC编码模块25之前进行,如图4所示,在对存储到NAND Flash芯片的数据进行数据均衡转换处理,使数据是具有伪随机特性的0和1均衡数据再编码写入NAND Flash存储芯片。读数据的过程是,NAND Flash上获得的存储数据要先解码处理再解均衡处理模块29,获得真正的数据通过查找地址映射通过主机接口21送往主机1。这两种方式都会使存入NAND Flash存储芯片中的数字信息变换为具有白噪声特性的数字序列,从而消除数字信息模式对NAND Flash存储系统性能的影响。
本发明提出的数据均衡处理可以通过NAND FLASH控制器上设计相应的扰码算法,通过软件模块来实现本发明,也可以设计NAND FLASH控制器电路时,在这个控制器电路中加上扰码电路的设计,实现本发明所产生的效果。
本发明所述的均衡处理,具体是指把要存入NAND Flash存储芯片数字序列通过数学变换,使其具有白噪声特性,这里所述的白噪声特性是指数字序列中0和1出现的个数相差不超过1个,也就是伪随机序列。
本发明所述的解均衡处理,是指把要存入NAND Flash存储芯片数字序列通过相对应数学反变换,恢复成原始数据。
实施例:
图3是本发明的一种技术实现框图。该方法对存储到NAND Flash的数据进行均衡扰码转换处理,通过数学变换使真正存到NAND Flash的数据是具有伪随机特性的0和1均衡数据。反之,NAND Flash上获得的存储数据要经过解扰码的处理,再通过数学反变换得到原始存储数据。对这种技术实现方案,图5给出了均衡扰码的一种具体实现方案,通过伪随机序列发生器281产生一串随机信号,和即将要送入NAND FLASH 存储芯片的数字信息求异或运算282,最终结果送入NAND FLASH 存储芯片中存储。伪随机序列具有近似白噪声特性,原始的数字信息与之求异或运算后也是具有近似白噪声特性的信号,就可以直接送入NAND FLASH 存储芯片,这样就可以最大程度降低因信号模式不同对存储性能的影响。
图6给出了伪随机序列发生器281的一种实现方案,该方案基于本原多项式,利用最长线性反馈移位寄存器来生成伪随机序列,生成的序列被称为M序列,具有近似于白噪声特性。为简单说明原理,如选取一个多项式: ,其生成M序列的电路如图6所示,图中的是D触发器。生成的M序列为:0000101011101100011111001101001。本原多项式的阶数越高,生成的M序列的伪随机数的白噪声特性越好,数据越均衡,但是实现电路越复杂。
本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。
尽管本文较多地使用了均衡处理、解均衡处理、NAND FLASH控制器,FLASH接口模块、CPU等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。
Claims (1)
1. 具有数据均衡处理功能的NAND Flash存储系统,包括NAND Flash存储芯片和NAND Flash控制器,其特征在于:所述的NAND Flash控制器包括主机接口、FIFO模块、磨损均衡模块、FLASH接口、CPU、ECC编码模块、均衡处理模块、ECC解码模块、解均衡处理模块;
所述的主机接口负责与主机进行通讯;
所述的FIFO模块从主机接收到的数据进行缓存;
所述的磨损均衡模块负责处理NAND Flash存储芯片中各个存储块的合理使用,使NAND Flash存储系统的使用寿命达到最长;
所述的FLASH接口与NAND Flash存储芯片进行通讯;
所述的CPU协调控制整个数据通信过程的完成;
所述的ECC编码模块是在数据写入NAND Flash存储芯片之前,对数据进行编码;
所述的均衡处理模块将送入NAND Flash存储芯片的数字信息变换为近似于白噪声的数字序列,即伪随机序列;
所述的解均衡处理模块负责将NAND Flash存储器中的数字信息反变换成原始的数字信息;
所述的ECC解码模块是在数据从NAND Flash存储芯片读出时,检测差错并进行纠正,保证数据存取的可靠性。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101396891A CN103218177A (zh) | 2013-04-19 | 2013-04-19 | 具有数据均衡处理功能的NAND Flash存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101396891A CN103218177A (zh) | 2013-04-19 | 2013-04-19 | 具有数据均衡处理功能的NAND Flash存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103218177A true CN103218177A (zh) | 2013-07-24 |
Family
ID=48816031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101396891A Pending CN103218177A (zh) | 2013-04-19 | 2013-04-19 | 具有数据均衡处理功能的NAND Flash存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103218177A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183428A (zh) * | 2015-08-12 | 2015-12-23 | 中国电子科技集团公司第四十一研究所 | 一种伪随机信号产生方法 |
CN106527997A (zh) * | 2016-11-25 | 2017-03-22 | 西安电子科技大学 | 基于扩序列的nand闪存坏块重复利用方法及装置 |
CN107943609A (zh) * | 2016-10-12 | 2018-04-20 | 三星电子株式会社 | 存储器模块、存储器控制器和系统及其相应操作方法 |
CN109656845A (zh) * | 2018-12-06 | 2019-04-19 | 天津津航计算技术研究所 | 带数据调试功能的ecc存储控制方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815527A (zh) * | 2005-02-03 | 2006-08-09 | 三洋电机株式会社 | 随机数生成电路 |
CN101675479A (zh) * | 2007-05-03 | 2010-03-17 | 爱特梅尔公司 | 损耗均衡 |
CN101740110A (zh) * | 2009-12-17 | 2010-06-16 | 中兴通讯股份有限公司 | 一种Nand Flash擦除均衡的方法及装置 |
CN201654762U (zh) * | 2009-11-30 | 2010-11-24 | 上海第二工业大学 | 一种伪随机码序列发生器 |
CN102119425A (zh) * | 2008-08-12 | 2011-07-06 | 美光科技公司 | 存储器装置及将数据存储于存储器装置上的方法 |
CN102169462A (zh) * | 2011-04-27 | 2011-08-31 | 中国科学院光电技术研究所 | 基于NAND Flash的数据记录方法与记录控制器 |
US20120221775A1 (en) * | 2011-02-28 | 2012-08-30 | Samsung Electronics Co., Ltd. | Non-volatile memory device and read method thereof |
CN102736891A (zh) * | 2011-12-22 | 2012-10-17 | 云南大学 | 一种并行可调节的伪随机序列发生器设计 |
-
2013
- 2013-04-19 CN CN2013101396891A patent/CN103218177A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815527A (zh) * | 2005-02-03 | 2006-08-09 | 三洋电机株式会社 | 随机数生成电路 |
CN101675479A (zh) * | 2007-05-03 | 2010-03-17 | 爱特梅尔公司 | 损耗均衡 |
CN102119425A (zh) * | 2008-08-12 | 2011-07-06 | 美光科技公司 | 存储器装置及将数据存储于存储器装置上的方法 |
CN201654762U (zh) * | 2009-11-30 | 2010-11-24 | 上海第二工业大学 | 一种伪随机码序列发生器 |
CN101740110A (zh) * | 2009-12-17 | 2010-06-16 | 中兴通讯股份有限公司 | 一种Nand Flash擦除均衡的方法及装置 |
US20120221775A1 (en) * | 2011-02-28 | 2012-08-30 | Samsung Electronics Co., Ltd. | Non-volatile memory device and read method thereof |
CN102169462A (zh) * | 2011-04-27 | 2011-08-31 | 中国科学院光电技术研究所 | 基于NAND Flash的数据记录方法与记录控制器 |
CN102736891A (zh) * | 2011-12-22 | 2012-10-17 | 云南大学 | 一种并行可调节的伪随机序列发生器设计 |
Non-Patent Citations (2)
Title |
---|
段颖康: "基于FPGA的伪随机序列发生器设计", 《电子元器件应用》 * |
涂春勇等: "一种更长周期m序列的实现方法", 《电子工程师》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105183428A (zh) * | 2015-08-12 | 2015-12-23 | 中国电子科技集团公司第四十一研究所 | 一种伪随机信号产生方法 |
CN107943609A (zh) * | 2016-10-12 | 2018-04-20 | 三星电子株式会社 | 存储器模块、存储器控制器和系统及其相应操作方法 |
CN107943609B (zh) * | 2016-10-12 | 2021-10-29 | 三星电子株式会社 | 存储器模块、存储器控制器和系统及其相应操作方法 |
CN106527997A (zh) * | 2016-11-25 | 2017-03-22 | 西安电子科技大学 | 基于扩序列的nand闪存坏块重复利用方法及装置 |
CN109656845A (zh) * | 2018-12-06 | 2019-04-19 | 天津津航计算技术研究所 | 带数据调试功能的ecc存储控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101981355B1 (ko) | 메모리 시스템들을 위한 소프트 정보 생성 | |
KR102102828B1 (ko) | 메모리에서 에러 정정 코드(ecc) 연산 | |
US8782329B2 (en) | Method for performing data shaping, and associated memory device and controller thereof | |
US8456919B1 (en) | Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder | |
US8281064B2 (en) | Systems, methods and computer program products for encoding data to be written to a nonvolatile memory based on wear-leveling information | |
US9411679B2 (en) | Code modulation encoder and decoder, memory controller including them, and flash memory system | |
US9136015B2 (en) | Threshold adjustment using data value balancing in analog memory device | |
US8719491B2 (en) | Encoding flash memory data with a randomizer using different seeds for different sectors | |
KR20130087935A (ko) | 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법 | |
KR20100099961A (ko) | 불휘발성 메모리 장치 및 그 동작 방법 | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
Tanakamaru et al. | Highly reliable and low power SSD using asymmetric coding and stripe bitline-pattern elimination programming | |
US9607696B2 (en) | Minimal maximum-level programming | |
US20110239082A1 (en) | Method for enhancing error correction capability of a controller of a memory device without increasing an error correction code engine encoding/decoding bit count, and associated memory device and controller thereof | |
TW201521032A (zh) | 應用於快閃記憶體裝置的錯誤更正碼單元、自我測試方法及相關的控制器 | |
Lee et al. | Interpage-based endurance-enhancing lower state encoding for MLC and TLC flash memory storages | |
CN105023613B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN103365739A (zh) | 一种nand闪存存储设备及其数据恢复方法 | |
US20190026182A1 (en) | Methods and apparatuses for error correction | |
CN102693758A (zh) | 数据读取方法、存储器储存装置及其存储器控制器 | |
US20180276069A1 (en) | Memory controller, memory system, and control method | |
US8161343B2 (en) | Nibble encoding for improved reliability of non-volatile memory | |
CN103218177A (zh) | 具有数据均衡处理功能的NAND Flash存储系统 | |
US20240154624A1 (en) | Flash memory apparatus and storage management method for flash memory | |
KR20130130484A (ko) | 읽기 카운터 로직을 포함하는 플래시 메모리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130724 |