CN105468535A - 一种NAND Flash的数据处理方法及装置 - Google Patents
一种NAND Flash的数据处理方法及装置 Download PDFInfo
- Publication number
- CN105468535A CN105468535A CN201511020750.6A CN201511020750A CN105468535A CN 105468535 A CN105468535 A CN 105468535A CN 201511020750 A CN201511020750 A CN 201511020750A CN 105468535 A CN105468535 A CN 105468535A
- Authority
- CN
- China
- Prior art keywords
- memory row
- row group
- register
- control register
- group
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 31
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000002955 isolation Methods 0.000 claims abstract description 40
- 238000000034 method Methods 0.000 claims abstract description 27
- 238000012360 testing method Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明实施例公开了一种NAND?Flash的数据处理方法及装置。所述NAND?Flash的数据处理方法包括:隔离寄存器记录存储列组的好坏状态;若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。本发明实施例的方案简化了在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少了耗时。
Description
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种NANDFlash的数据处理方法及装置。
背景技术
与非型非挥发闪存(NANDFlash)在每次编程之前和读取之后都需要将数据存储到缓存里。NANDFlash中存在坏列替换机制,即当有的列存在缺陷时,需要用冗余列替换,图1为现有技术中NANDFlash存储列示意图,如图1所示,当存储列组A中存在坏列时,将需要存储到组A的数据存储到替换组A’,导致外部访问的逻辑地址和内部的实际物理地址不能完全顺序对应。所以在读取或写入缓存数据时,必须去寻找外部访问的逻辑地址对应的实际物理地址。
但是寻找的过程非常耗时,尤其是在当下接口速度已达到400MB/S,要想在短短的时间内寻找完毕,对电路设计者和工艺的要求很高。
发明内容
本发明提供了一种NANDFlash的数据处理方法及装置,以简化在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少耗时。
第一方面,本发明实施例提供了一种NANDFlash的数据处理方法,所述方法包括:
隔离寄存器记录存储列组的好坏状态;
若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
第二方面,本发明实施例还提供了一种NANDFlash的数据处理装置,所述装置包括存储列组、隔离寄存器和控制寄存器,其中;
每一存储列组对应的隔离寄存器的输出端,与该存储列组对应的控制寄存器的第一控制端连接,每一个控制寄存器的输出端与下一个控制寄存器的输入端连接;
所述隔离寄存器用于记录存储列组的好坏状态,并将所述好坏状态传输到所述控制寄存器;
所述控制寄存器的输入端用于获取控制脉冲,第二控制端用于获取控制寄存器的选通信号,若所述隔离寄存器中记录待处理的目标存储列组为坏组,对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
本发明实施例通过隔离寄存器记录存储列组的好坏状态,在数据处理时,若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作,简化了在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少耗时。
附图说明
图1为现有技术中NANDFlash存储列示意图;
图2是本发明实施例一中的一种NANDFlash的数据处理方法的流程图;
图3是本发明实施例一中的NANDFlash存储列示意图;
图4是本发明实施例二中的一种NANDFlash的数据处理方法的流程图;
图5是本发明实施例三中的一种NANDFlash的数据处理装置的结构图;
图6是本发明实施例三中的控制寄存器的结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图2是本发明实施例一中的一种NANDFlash的数据处理方法的流程图,本实施例可适用于对缓存数据进行处理时NANDFlash存在坏列的情况,该方法可以由NANDFlash的数据处理装置来执行,如图2所示,所述方法具体可以包括如下步骤:
步骤110、隔离寄存器记录存储列组的好坏状态。
具体的,每个存储列组对应一个隔离寄存器,所述隔离寄存器的值在进行存储列测试时写入,用于记录存储列组的好坏状态,其中存储列组可能是好组,也可能是坏组。一个存储列组由多个存储列组成,例如,可以由8个、16个或32个存储列组成,只要存储列组中存在一个存储列为坏的,则该组存储列记录为坏组。
步骤120、若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
具体的,在数据写入过程中,如果目标存储列组为坏组,则控制寄存器将数据总线上的数据写入所述目标存储列组的下一存储列组中;在数据读取过程中,如果目标存储列组为坏组,则控制寄存器控制所述数据总线从所述目标存储列组的下一存储列组读取数据。
图3是本发明实施例一中的NANDFlash存储列示意图,如图3所示,本发明的方案在读写数据时,将存储列重新分配,所有存储列都一视同仁,相比于现有的NANDFlash存储列中部分存储列是正常标准列,部分存储列是冗余列,本实施例简化了存储列的结构。图3中每一个小长方形代表一个存储列组,在写数据时,目标存储列组A对应的控制寄存器的输入端存在写控制脉冲,若目标存储列组A为好组,写控制脉冲正常通过控制寄存器,数据写入目标存储列组A;若目标存储列组A为坏组,写控制脉冲跳过目标存储列组对应的控制寄存器,传输到下一存储列组A'对应的控制寄存器,将目标存储列组A所对应的数据写入到下一存储列组A',无需再到冗余列寻找替换目标存储列组A的替换组,简化了替换过程,加快了写数据的速度。
读数据时与上述写数据过程类似,当目标存储列组为坏组时,直接跳过目标存储列组,读取下一存储列组对应的数据,这样在读数据时,无需再从冗余列中寻找替换组,加快了读数据速度。本实施例的方案使得外部访问的逻辑地址与实际物理地址依次顺序对应,在读写数据时,只需依照存储列组的顺序依次进行即可,加快了读写速度。
本实施例的技术方案,通过隔离寄存器记录存储列组的好坏状态,在数据处理时,若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作,简化了在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少耗时。
实施例二
本实施例以上述实施例为基础,提供了一种NANDFlash的数据处理方法。图4是本发明实施例二中的一种NANDFlash的数据处理方法的流程图,如图4所示,所述方法具体可以包括如下步骤:
步骤210、地址控制模块确定所述目标存储列组的逻辑地址的首地址对应的实际物理地址。
其中,在用户输入读写指令和读写逻辑地址时,地址控制模块查询所述逻辑地址对应的存储列组的实际物理地址,以进行数据的读写。具体的,在第一个数据写入或读出之前,可以给定预设的时间值,用来寻找首地址对应的物理地址,所示预设的时间值可以为300ns等。
步骤220、隔离寄存器记录存储列组的好坏状态。
具体的,隔离寄存器记录存储列组的好坏状态之前,还可以包括:测试模块测试每一个存储列组的好坏状态。NANDFlash中存在测试存储列的测试模块,外部的测试机台向所述测试模块发送测试指令后,测试模块依次测试存储列的好坏状态,并将每一个存储列组的好坏状态存储到隔离寄存器。
步骤230、若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
具体的,在读写数据时,可以根据数据的长度设定时钟节拍的个数,依据时钟节拍从首地址存储列组开始依次由相应的存储列组写入或读出数据,遇到坏组时直接跳过,继续对下一存储列组执行相应的读写操作即可,这样可以控制存储列的总长度,使得可以任意分配存储空间,可用空间变大。
可选的,控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作之后,还包括:存储模块记录写入数据的存储列组的逻辑地址与实际物理地址的对应关系。记录逻辑地址与实际物理地址的对应关系方便下次进行写入操作时分配存储空间,并且在读取数据时,可以很快的找到外部访问的逻辑地址对应的实际物理地址,加快读写速度。
本实施例的技术方案,通过地址控制模块确定所述目标存储列组的逻辑地址的首地址对应的实际物理地址,在数据处理时,若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作,简化了在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少耗时。
实施例三
本实施例提供了一种NANDFlash的数据处理装置,图5是本发明实施例三中的一种NANDFlash的数据处理装置的结构图,如图5所示,所述NANDFlash的数据处理装置包括存储列组310、隔离寄存器320和控制寄存器330,其中;
每一个存储列组310对应的隔离寄存器320的输出端,与该存储列组310对应的控制寄存器330的第一控制端连接,每一个控制寄存器330的输出端与下一个控制寄存器330的输入端连接;
隔离寄存器320用于记录存储列组310的好坏状态,并将所述好坏状态传输到控制寄存器330;
控制寄存器330的输入端用于获取控制脉冲,第二控制端用于获取控制寄存器330的选通信号,若隔离寄存器320中记录待处理的目标存储列组310为坏列,对数据总线和目标存储列组310的下一存储列组310执行数据处理操作。
其中,控制寄存器330具体用于:在数据写入过程中,如果目标存储列组为坏组,将数据总线上的数据写入所述目标存储列组的下一存储列组中;在数据读取过程中,如果目标存储列组为坏组,则控制所述数据总线从所述目标存储列组的下一存储列组读取数据。
具体的,一个存储列组由多个存储列组成,例如,可以由8个、16个或32个存储列组成,只要存储列组中存在一个存储列为坏的,则该组存储列记录为坏组。图5中第一行的每一个小长方形代表一个存储列组,每个存储列组310对应一个隔离寄存器320,一个控制寄存器330可以对应一个或多个存储列组310,图5中仅示出了一个存储列组310对应一个控制寄存器330的情况,如图5所示,每个存储列组310对应的隔离寄存器320的输出端与该存储列组310对应的控制寄存器330的第一控制端连接,当某一个存储列组310为坏组时,控制脉冲跳过该坏组对应控制寄存器330,传输到下一存储列组310对应的控制寄存器330,对下一存储列组310进行相应的数据处理操作。
当一个控制寄存器330对应多个存储列组310时,多个存储列组310对应的多个隔离寄存器320的输出端均与该控制寄存器330的第一控制端连接,此种情况可以通过对控制寄存器330分时复用来分别对该控制寄存器330对应的多个存储列组310读写数据。
图6是本发明实施例三中的控制寄存器的结构图,如图6所示,ISO为控制寄存器330的第一控制端,IS1为第二控制端,IN为输入端,OUT为输出端,CLK为时钟信号输入端,CLKB为时钟的非信号输入端。当控制寄存器330对应的存储列组为目标存储列组时,第二控制端IS1获取到的选通信号的值为1,其输入端IN存在控制脉冲,脉冲的值为1,当目标存储列组为好组时,ISO端输入的值为0,一个时钟周期后,控制脉冲由控制寄存器330输出,数据写入或读出目标存储列组;当目标存储列组为坏组时,ISO端输入的值为1,则控制寄存器的输出端OUT直接置位为1,控制脉冲直接跳过目标存储列组对应的控制寄存器330,一个时钟周期之后,控制脉冲由下一存储列组对应的控制寄存器330输出,数据写入或读出目标存储列组的下一组。
进一步的,所述装置还包括:存储模块,用于记录写入数据的存储列组的逻辑地址与实际物理地址的对应关系。
进一步的,所述装置还包括:地址控制模块,分别与所述存储模块的输出端和控制寄存器的第二控制端连接,用于确定所述目标存储列组的逻辑地址的首地址对应的实际物理地址,并向所述控制寄存器发送控制寄存器的选通信号。
进一步的,所述装置还包括:测试模块,与所述隔离寄存器的输入端连接,用于测试每一个存储列组的好坏状态,并将所述好坏状态传输的所述隔离寄存器。
本实施例的技术方案,通过隔离寄存器记录存储列组的好坏状态,在数据处理时,若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作,简化了在读取或写入缓存数据时寻找外部访问的逻辑地址对应的实际物理地址的过程,减少耗时。
本实施例提供的NANDFlash的数据处理装置,与本发明任意实施例所提供的NANDFlash的数据处理方法属于同一发明构思,可执行本发明任意实施例所提供的NANDFlash的数据处理方法,具备执行NANDFlash的数据处理方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的NANDFlash的数据处理方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种NANDFlash的数据处理方法,其特征在于,包括:
隔离寄存器记录存储列组的好坏状态;
若所述隔离寄存器中记录待处理的目标存储列组为坏组,则控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
2.根据权利要求1所述的方法,其特征在于,控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作,包括:
控制寄存器将数据总线上的数据写入所述目标存储列组的下一存储列组中;或,
控制寄存器控制所述数据总线从所述目标存储列组的下一存储列组读取数据。
3.根据权利要求2所述的方法,其特征在于,控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作之后,还包括:
存储模块记录写入数据的存储列组的逻辑地址与实际物理地址的对应关系。
4.根据权利要求1所述的方法,其特征在于,控制寄存器对数据总线和所述目标存储列组的下一存储列组执行数据处理操作之前,还包括:
地址控制模块确定所述目标存储列组的逻辑地址的首地址对应的实际物理地址。
5.根据权利要求1所述的方法,其特征在于,隔离寄存器记录存储列组的好坏状态之前,还包括:
测试模块测试每一个存储列组的好坏状态。
6.一种NANDFlash的数据处理装置,其特征在于,包括存储列组、隔离寄存器和控制寄存器,其中;
每一个存储列组对应的隔离寄存器的输出端,与该存储列组对应的控制寄存器的第一控制端连接,每一个控制寄存器的输出端与下一个控制寄存器的输入端连接;
所述隔离寄存器用于记录存储列组的好坏状态,并将所述好坏状态传输到所述控制寄存器;
所述控制寄存器的输入端用于获取控制脉冲,第二控制端用于获取控制寄存器的选通信号,若所述隔离寄存器中记录待处理的目标存储列组为坏组,对数据总线和所述目标存储列组的下一存储列组执行数据处理操作。
7.根据权利要求6所述的装置,其特征在于,所述控制寄存器具体用于:
将数据总线上的数据写入所述目标存储列组的下一存储列组中;或,
控制所述数据总线从所述目标存储列组的下一存储列组读取数据。
8.根据权利要求7所述的装置,其特征在于,还包括:
存储模块,用于记录写入数据的存储列组的逻辑地址与实际物理地址的对应关系。
9.根据权利要求8所述的装置,其特征在于,还包括:
地址控制模块,分别与所述存储模块的输出端和控制寄存器的第二控制端连接,用于确定所述目标存储列组的逻辑地址的首地址对应的实际物理地址,并向所述控制寄存器发送控制寄存器的选通信号。
10.根据权利要求6所述的装置,其特征在于,还包括:
测试模块,与所述隔离寄存器的输入端连接,用于测试每一个存储列组的好坏状态,并将所述好坏状态传输的所述隔离寄存器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511020750.6A CN105468535A (zh) | 2015-12-30 | 2015-12-30 | 一种NAND Flash的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511020750.6A CN105468535A (zh) | 2015-12-30 | 2015-12-30 | 一种NAND Flash的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105468535A true CN105468535A (zh) | 2016-04-06 |
Family
ID=55606263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511020750.6A Pending CN105468535A (zh) | 2015-12-30 | 2015-12-30 | 一种NAND Flash的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105468535A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775454A (zh) * | 2016-11-21 | 2017-05-31 | 建荣半导体(深圳)有限公司 | 一种管理坏列地址的方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154543A1 (en) * | 2000-02-17 | 2002-10-24 | Conley Kevin M. | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
CN103279424A (zh) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | 一种Nand Flash的坏列管理装置和方法 |
CN104658612A (zh) * | 2013-11-15 | 2015-05-27 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
-
2015
- 2015-12-30 CN CN201511020750.6A patent/CN105468535A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020154543A1 (en) * | 2000-02-17 | 2002-10-24 | Conley Kevin M. | Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks |
CN103279424A (zh) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | 一种Nand Flash的坏列管理装置和方法 |
CN104658612A (zh) * | 2013-11-15 | 2015-05-27 | 慧荣科技股份有限公司 | 存取快闪存储器中储存单元的方法以及使用该方法的装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775454A (zh) * | 2016-11-21 | 2017-05-31 | 建荣半导体(深圳)有限公司 | 一种管理坏列地址的方法及其装置 |
CN106775454B (zh) * | 2016-11-21 | 2019-07-19 | 建荣半导体(深圳)有限公司 | 一种管理坏列地址的方法及其装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7212457B2 (en) | Method and apparatus for implementing high speed memory | |
US20190088306A1 (en) | Burst length defined page size and related methods | |
JP2740097B2 (ja) | クロック同期型半導体記憶装置およびそのアクセス方法 | |
US8358557B2 (en) | Memory device and method | |
US20080109627A1 (en) | Nonvolatile Memory Device And Method For Accessing Nonvolatile Memory Device | |
US8423701B2 (en) | Flash memory device with a low pin count (LPC) communication interface | |
CN106802870B (zh) | 一种高效的嵌入式系统芯片Nor-Flash控制器及控制方法 | |
US7765442B2 (en) | Memory device testable without using data and dataless test method | |
JP3577119B2 (ja) | 半導体記憶装置 | |
US11625196B2 (en) | Semiconductor memory device and operating method thereof | |
US10714161B2 (en) | Semiconductor device | |
US8793540B2 (en) | Test apparatus and test method | |
CN105468535A (zh) | 一种NAND Flash的数据处理方法及装置 | |
WO2001016954A1 (en) | Pipeline structure of memory for high-fast row-cycle | |
US7969801B2 (en) | Data input circuit and nonvolatile memory device including the same | |
US7821855B2 (en) | Multi-port memory device | |
CN205281481U (zh) | 一种NAND Flash的数据处理装置 | |
US6532523B1 (en) | Apparatus for processing memory access requests | |
CN100365787C (zh) | 支持写缓冲的flash内部单元测试方法 | |
JP2009301612A (ja) | 半導体記憶装置 | |
EP1416494A2 (en) | Semiconductor memory capable of performing high-speed processing | |
US7991945B2 (en) | Semiconductor memory device and semiconductor device | |
US20190347042A1 (en) | Semiconductor device with pseudo flow through scheme for power savings | |
CN114461472B (zh) | 一种基于ate的gpu核心全速功能测试方法 | |
KR101460643B1 (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160406 |