CN105677246B - 一种nand闪存的数据读取方法、装置及nand闪存 - Google Patents
一种nand闪存的数据读取方法、装置及nand闪存 Download PDFInfo
- Publication number
- CN105677246B CN105677246B CN201511032236.4A CN201511032236A CN105677246B CN 105677246 B CN105677246 B CN 105677246B CN 201511032236 A CN201511032236 A CN 201511032236A CN 105677246 B CN105677246 B CN 105677246B
- Authority
- CN
- China
- Prior art keywords
- column address
- target access
- column
- access
- register
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本发明实施例公开了一种NAND闪存的数据读取方法、装置及NAND闪存,所述方法包括:从访问请求中确定目标访问列地址;将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记。本发明实施例通过采用上述技术方案,可以加快NAND闪存的数据读取速度,减少用户的等待时间,提高用户体验。
Description
技术领域
本发明涉及集成电路技术领域,尤其涉及一种NAND闪存的数据读取方法、装置及NAND闪存。
背景技术
NAND FLASH(NAND闪存)是一种非易失闪存,可以在给定的芯片尺寸内提供较高的容量。NAND FLASH以页为基本单元进行存储,以块为基本单元进行擦除,具有很快的写入和擦除速度,是一种比硬盘驱动器更好的存储设备。
随着NAND FLASH市场的发展,人们对NAND FLASH存储器的容量和读写速度的要求也越来越高。为了满足人们的需求,一方面需要通过增大每页中的字节(Byte)数和页地址的宽度来增大NAND FLASH的页容量;另一方面需要扩展NAND FLASH的接口速度,将其从单倍数据速率(Single Data Rate,SDR)扩展到双倍数据速率(Double Data Rate,DDR)甚至是DDR2、DDR3,从而增大数据的吞吐率。在存储器中,不可避免的存在位线短路、开路等缺陷,所以必须使用冗余列替换有缺陷的位线(如图1所示),因此,在读取数据的过程中,需要通过指向正确的冗余列地址来控制地址的跳转,从而完成冗余列替换信息的读取。
随着NAND FLASH页容量的增大,其冗余列资源也越来越多。不论是NAND FLSH冗余列资源的增多,还是NAND FLASH接口数据吞吐率的变大,都对NAND FLASH的冗余列资源读取速度提出了新的要求,当NAND FLASH接收到一个新的数据读取指令时,通常只有几个纳秒的时间来找出数据。但是,现有技术中的冗余列资源读取方法需要将读取的地址同所有冗余列地址一一进行比较,在高速的情况下,现有技术所采用的数据读取方法耗费时间较长,无法在一个访问地址到来时快速挑选出替换资源位置。
发明内容
有鉴于此,本发明实施例提供一种NAND闪存数据读取方法、装置及NAND闪存,以解决现有技术中数据读取速度慢,耗费时间长的问题。
第一方面,本发明实施例提供了一种NAND闪存的数据读取方法,包括:
从访问请求中确定目标访问列地址;
将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;
如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记。
进一步的,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在所述冗余存储介质中递增或递减分配冗余列。
进一步的,将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,还包括:如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
进一步的,将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较包括:将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
进一步的,从访问列请求中确定目标访问列地址包括:获取用户的访问请求并根据所述访问请求确定目标访问列地址;将所述目标访问列地址存储在访问地址寄存器中;从所述访问地址寄存器中调用所述目标访问列地址。
第二方面,本发明实施例提供了一种NAND闪存的数据获取装置,包括:
访问地址确定模块,用于从访问请求中确定目标访问列地址;
第一地址比较模块,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;
第一数据访问模块,用于如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记。
进一步的,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在所述冗余存储介质中递增或递减分配冗余列。
进一步的,该装置还包括:第二地址比较模块,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;第二数据访问模块,用于如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
进一步的,所述第二地址比较模块具体用于:将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
进一步的,所述访问地址确定模块,包括:访问地址确定单元,用于获取用户的访问请求并根据所述访问请求确定目标访问列地址;访问地址存储单元,用于将所述目标访问列地址存储在访问地址寄存器中;访问地址调用单元,用于从所述访问地址寄存器中调用所述目标访问列地址。
第三方面,本发明实施例还提供了一种NAND闪存,包括至少一个存储阵列,与所述存储阵列中的冗余列一一对应设置的列地址寄存器、移位寄存器和使能三态门,以及本发明任意实施例所述的NAND闪存数据读取装置。
本发明实施例提供的NAND闪存的数据读取方案,按照坏列顺序递增或递减向冗余列中写入数据,接收到用户的访问请求时,判断NAND闪存中是否存在处于等待状态的列地址寄存器,若存在则将目标访问列地址与处于等待状态的列地址寄存器中存储的地址进行比较,判断目标访问列是否为坏列,若目标访问列为坏列,则根据该处于等待状态的列地址寄存器中的冗余列地址进行数据访问,并将该处于等待状态的列地址寄存器的下一列地址寄存器设为等待状态,否则,若目标访问列为正常列,则按照目标访问列地址进行数据访问;若NAND闪存中不存在处于等待状态的列地址寄存器,则将目标访问列地址与各列地址寄存器中的坏列同时进行比较,判断目标访问列是否为坏列,若目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并将该列地址寄存器的下一个列地址寄存器设为等待状态,否则,按照目标访问列地址进行数据访问。本发明实施例通过采用上述技术方案,可以加快NAND闪存的数据读取速度,避免NAND闪存由于数据查找慢而不能适用于将接口扩展到DDR甚至DDR2、DDR3的情况,减少用户的等待时间,提高用户体验。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为进行数据访问时NAND闪存中坏列与冗余列的对应关系示意图;
图2为本发明实施例一提供的一种NAND闪存的数据读取方法的流程示意图;
图3为本发明实施例二提供的一种NAND闪存的数据读取方法的流程示意图;
图4为本发明实施例三提供的一种NAND闪存的数据读取装置的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
本发明实施例一提供一种NAND闪存的数据读取方法,该方法可以由NAND闪存的数据读取装置执行,其中该装置可由软件和/或硬件实现,一般可集成在NAND闪存中。图2是本发明实施例一的NAND闪存的数据读取方法的流程示意图。如图2所示,所述方法包括:
S110、从访问请求中确定目标访问列地址。
在此,用户的访问请求可以是对图片、文字的访问请求,也可以是对音频、视频等的访问请求,此处不作限定。优选的,可以在NAND闪存中设置访问地址寄存器,该访问地址寄存器用于存储用户的目标访问列地址。其中,寄存器是一种具有有限存储容量的高速存储部件,通常由触发器组成,可用来暂存数据、指令和地址等内容。
进一步的,从访问列请求中确定目标访问列地址包括:获取用户的访问请求并根据所述访问请求确定目标访问列地址;将所述目标访问列地址存储在访问地址寄存器中;从所述访问地址寄存器中调用所述目标访问列地址。
示例性的,根据用户的访问请求确定目标访问列地址的过程可以为:根据用户的访问请求确定用户访问的数据,确定该数据存储位置的列地址作为目标访问列地址。NAND闪存读取数据时可以一边由访问列地址寄存器存储目标访问列地址,一边从访问列地址寄存器中获取目标访问列地址进行数据的读取;也可以将用户的所用目标访问列地址存储到访问列地址寄存器中之后再进行数据读取的过程。
S120、将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较。
本实施例中,列地址寄存器与NAND闪存中的冗余列一一对应设置,当冗余列被用于替换NAND闪存存储阵列中出现的坏列时,会将该冗余列替换的坏列的地址存储在与该冗余列对应的列地址寄存器中。读取数据时,若目标访问列地址为坏列,则需要找到与该坏列对应的冗余列,然后从其冗余列中读取数据以完成对目标访问列的访问过程。
示例性的,可以在各列地址寄存器中设置至少一个比较器,用于比较目标访问列地址与该列地址寄存器中的坏列地址是否相等。在将目标访问列地址与列地址寄存器中的坏列地址进行比较时可以按照从高位到低位、从前向后的顺序进行比较,即首先将目标访问列地址与列地址寄存器中的坏列地址的最高位进行比较,若二者的最高位不相等,则将二者标记为不匹配,不再进行后续位的比较;若二者最高位相等,则比较目标访问列地址与列地址寄存器中的坏列地址的次高位,若二者次高位不相等,则将二者标记为不匹配,不再进行后续位的比较;若二者的次高位仍然相等,则比较二者次高位的后一位,以此类推,直至二者所有位的内容都完成比较,若经过比较,目标访问列地址与坏列地址所有位都相等,则将目标访问列地址与该坏列地址标记为匹配。
例如,假设目标访问列地址为10100110,标记为等待状态的列地址寄存器中的坏列地址为10100100,则在进行比较时,可以首先比较目标访问列地址的最高位与坏列地址的最高位,比较发现二者的最高位相等(均为1),则继续比较二者的次高位,以此类推,直至比较到目标访问列地址和坏列地址的倒数第二位,当比较二者的倒数第二位时,发现目标访问列地址的倒数第二位为1,寄存器中的坏列地址的倒数第二位为0,二者不相等,则将目标访问列地址与该坏列地址标记为不匹配,不再比较目标访问列地址与坏列地址的最低位;假设目标访问列地址为10100110,标记为等待状态的列地址寄存器中的坏列地址为10100110,则将二者从最高位(目标访问列地址的最高位为1,坏列地址的最高位为1)开始逐位进行比较,一直比较到二者的最低位(目标访问列地址的最低位为0,坏列地址的最低位为0)发现目标访问列地址和坏列地址的所有位的内容都相等,则将目标访问列地址与该坏列地址标记为匹配。
优选的,可以根据目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址的比较结果判断目标访问列是否为坏列,若比较结果为匹配,即目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址相等,则判定目标访问列为坏列;否则,若比较结果为不匹配,则判定目标访问列为正常列。
S130、如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记。
示例性的,根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问可以为:确定该处于等待状态的列地址寄存器对应的冗余列,读取该冗余列中存储的数据以完成对目标访问列进行数据访问的过程。
进一步的,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在所述冗余存储介质中递增或递减分配冗余列。
即,在替换NAND闪存存储阵列中的坏列时,应严格按照以下替换方式中的一种进行坏列的替换:(1)坏列地址递增且冗余列地址递增。即在替换时,首先将NAND闪存中的坏列按照列地址从低到高的顺序进行排列,然后按照冗余列地址递增的顺序从前向后替换NAND闪存中的坏列。替换完成后,若NAND闪存存储阵列中任一坏列a的地址低于另一坏列b的地址,那么与坏列a对应的冗余列m的地址也低于与坏列b对应的冗余列n的地址。(2)坏列地址递增且冗余列地址递减。即在替换时,首先将NAND闪存中的坏列按照列地址从低到高的顺序进行排列,然后按照冗余列地址递减的顺序从前向后替换NAND闪存中的坏列。替换完成后,若NAND闪存存储阵列中任一坏列a的地址低于另一坏列b的地址,那么与坏列a对应的冗余列m的地址高于与坏列b对应的冗余列n的地址。(3)坏列地址递减且冗余列地址递增。即在替换时,首先将NAND闪存中的坏列按照列地址从高到低的顺序进行排列,然后按照冗余列地址递增的顺序从前向后替换NAND闪存中的坏列。替换完成后,若NAND闪存存储阵列中任一坏列a的地址高于另一坏列b的地址,那么与坏列a对应的冗余列m的地址低于与坏列b对应的冗余列n的地址。(4)坏列地址递减且冗余列地址递减。即在替换时,首先将NAND闪存中的坏列按照列地址从高到低的顺序进行排列,然后按照冗余列地址递减的顺序从前向后替换NAND闪存中的坏列。替换完成后,若NAND闪存存储阵列中任一坏列a的地址高于另一坏列b的地址,那么与坏列a对应的冗余列m的地址高于与坏列b对应的冗余列n的地址。
优选的,可以在NAND闪存中设置移位寄存器和使能三态门,所述移位寄存器和所述使能三态门均与列地址寄存器一一对应设置,即NAND闪存中的冗余列、列地址寄存器、移位寄存器和使能三态门均一一对应设置,当目标访问列为坏列时,则读取与处于等待状态的列地址寄存器对应的冗余列中存储的数据,将与当前处于等待状态的列地址寄存器对应的移位寄存器置1并关闭与当前处于等待状态的列地址寄存器对应的使能三态门的使能状态以取消当前处于等待状态的列地址寄存器的等待状态标记;然后将当前等待状态的列地址寄存器的下一个列地址寄存器的使能三态门设置为使能状态,从而将该下一个列地址寄存器设置为等待状态。
在此,需要补充的是,如果目标访问列为正常列,则可以根据目标访问列地址找到NAND闪存存储阵列中列地址与目标访问列地址相等的存储列,然后读取该存储列中存储的内容即可完成对该目标访问列的数据访问过程。
本发明实施例一提供的NAND闪存的数据读取方法,当坏列地址递增或递减时,严格按照冗余列地址递增/递减顺序替换NAND闪存中的坏列;根据用户的访问请求确定目标访问列地址,将目标访问列地址与NAND闪存中标记为等待状态的列地址寄存器中的坏列地址进行比较,若目标访问列地址与NAND闪存中标记为等待状态的列地址寄存器中的坏列地址相等,则目标访问列为坏列,根据等待状态的列地址寄存器对应的冗余列地址进行数据访问并将该等待状态的列地址寄存器的下一个列地址寄存器标记为等待状态;否则目标访问列为正常列,根据目标访问列地址进行数据访问。本发明实施例通过采用上述技术方案,进行数据读取时只需将目标访问列地址与处于等待状态的列地址寄存器中的坏列地址进行比较即可判定目标访问列是否为坏列,可以加快NAND闪存数据读取的速度,避免NAND闪存由于数据查找慢而不能适用于将接口扩展到DDR甚至DDR2、DDR3的情况,减少用户的等待时间,提高用户体验。
实施例二
图3为本发明实施例二提供的一种NAND闪存的数据读取方法的流程示意图,本实施例以上述实施例为基础进行优化,进一步的,将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,还包括:如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
相应的,如图3所示,本实施例的方法包括如下步骤:
S210、从访问请求中确定目标访问列地址
S220、判断NAND闪存存储阵列中是否存在标记为等待状态的列地址寄存器,若不存在,则执行步骤S230;若存在,则执行步骤S270。
优选的,可以根据NAND闪存中与列地址寄存器一一对应的使能三态门的状态以及NAND闪存中与列地址寄存器一一对应的移位寄存器的置位来判断NAND闪存中是否存在标记为等待状态的列地址寄存器,若NAND闪存中存在处于使能状态的使能三态门,且该处于使能状态的使能三态门对应的移位寄存器置0,则判定该NAND闪存中存在处于等待状态的列地址寄存器,且与该处于使能状态的使能三态门对应的列地址寄存器即为NAND闪存中处于等待状态的列地址寄存器;否则,则判定该NAND闪存中不存在处于等待状态的列地址寄存器。
S230、将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较,判断所述目标访问列是否为坏列,如果目标访问列为坏列,则执行步骤S240,否则执行步骤S250。
在将目标访问列地址与各列地址寄存器中的坏列地址进行比较时可以将与各列地址寄存器对应的使能三态门逐一处于使能状态并将处于使能状态的使能三态门对应的列地址寄存器中的比较器打开,比较完成后,关闭该使能三态门以及该比较器,并将另一未进行比较的列地址寄存器的使能三态门使能以及将该列地址寄存器的比较器打开,以此类推,从而使目标访问列地址与各列地址寄存器中的坏列地址逐一进行比较直至与所有坏列地址比较完成或发现地址相等的坏列地址;比较时也可以将各列地址寄存器的比较器同时打开,并将与各列地址寄存器对应的使能三态门同时使能,从而使目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。考虑到比较时所耗费的时间,优选的,将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较包括:将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
S240、根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待,执行步骤S260。
优选的,将下一个列地址寄存器的状态标记为等待时,可以关闭与当前列地址寄存器对应的使能三态门的使能状态,将与当前列地址寄存器对应的移位寄存器置1,并使与当前列地址寄存器的下一个列地址寄存器对应的使能三态门使能,从而取消当前处于等待状态的列地址寄存器的等待标记并将下一个列地址寄存器设置为等待状态。
S250、根据所述目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待,执行步骤S260。
优选的,确定目标访问列的下一个列地址寄存器时,可以首先根据目标访问列地址与各列地址寄存器中的坏列地址比较的结果确定目标访问列地址所分布的地址段,然后按照冗余列替换顺序确定该目标访问列的下一个列地址寄存器。示例性的,若目标访问列地址为10110100,而经过比较发现,与该目标访问列地址最接近且地址比目标访问列地址大的坏列地址为10111010,与该目标访问列地址最接近且地址比目标访问列地址小的坏列地址为10101100,则该目标访问列地址101100100所分布的地址段为10101100-10111010,如果该NAND闪存的冗余列替换顺序与坏列排列顺序相同(即,坏列按照地址从低到高排序,且冗余列按照冗余列地址从低到高替换坏列;或者,坏列按照地址从高到低排序,且冗余列按照冗余列地址从高到低替换坏列),那么,该目标访问列的下一个列地址寄存器为与存储坏列地址10111010的列地址寄存器;反之,如果该NAND闪存的冗余列替换顺序与坏列排列顺序相反,那么,该目标访问列的下一个列地址寄存器为存储坏列地址10101100的列地址寄存器。
S260、获取下一目标访问列地址,执行步骤S270。
S270、将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较,判断所述目标访问列是否为坏列,如果目标访问列为坏列,则执行步骤S280,否则执行步骤S290。
S280、根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记,执行步骤S260。
S290、根据所述目标访问列地址进行数据访问,执行步骤S260。
本发明实施例二提供的NAND闪存的数据读取方法,获取目标访问列地址,判断NAND闪存中是否存在标记为等待状态的列地址寄存器,若NAND闪存中不存在处于等待状态的列地址寄存器,则将目标访问列地址同时与各列地址寄存器中的坏列地址进行比较,判断该目标访问列是否为坏列,若目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并将该列地址寄存器对应的下一列地址寄存器设为等待状态,否则,根据目标访问列地址进行数据访问,并确定目标访问列所分布的地址段,将该目标访问列的下一列地址寄存器设为等待状态;若NAND闪存中存在处于等待状态的列地址寄存器,则将目标访问列地址与处于等待状态的列地址寄存器中的坏列地址进行比较,判断该目标访问列是否为坏列,若目标访问列为坏列,则根据处于等待状态的列地址寄存器对应的冗余列进行数据访问,并将当前处于等待状态的下一列地址寄存器设为等待状态,否则,根据目标访问列地址进行数据访问。本发明实施例通过采用上述技术方案,只需首次进行数据读取时将目标访问列地址与各列地址寄存器中的坏列地址进行比较判断目标访问列是否为坏列,之后只需将目标访问列地址与处于等待状态的列地址寄存器中的坏列地址进行比较即可判定目标访问列是否为坏列,可以加快NAND闪存数据读取的速度,避免NAND闪存由于数据查找慢而不能适用于将接口扩展到DDR甚至DDR2、DDR3的情况,减少用户的等待时间,提高用户体验。
实施例三
图4为本发明实施例四提供的一种NAND闪存的数据读取装置的结构示意图,该装置可由软件和/或硬件实现,一般集成在NAND闪存中,可通过执行本发明任意实施例提供的NAND闪存的数据读取方法来实现NAND闪存的数据读取。如图4所示,该装置包括:
访问地址确定模块310,用于从访问请求中确定目标访问列地址;
第一地址比较模块320,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;
第一数据访问模块330,用于如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记。
进一步的,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在所述冗余存储介质中递增或递减分配冗余列。
进一步的,该装置还包括:第二地址比较模块,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;第二数据访问模块,用于如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
进一步的,将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较具体为:将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
进一步的,所述访问地址确定模块,包括:访问地址确定单元,用于获取用户的访问请求并根据所述访问请求确定目标访问列地址;访问地址存储单元,用于将所述目标访问列地址存储在访问地址寄存器中;访问地址调用单元,用于从所述访问地址寄存器中调用所述目标访问列地址。
本发明实施例三提供的NAND闪存的数据读取装置,首先通过访问地址确定模块从用户的访问请求中确定目标访问列地址,然后判断NAND闪存中是否存在标记为等待状态的列地址寄存器,若NAND闪存中不存在处于等待状态的列地址寄存器,则通过第二地址比较模块将目标访问列地址同时与各列地址寄存器中的坏列进行比较,判断该目标访问列是否为坏列,若目标访问列为坏列,则通过第二数据访问模块根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并将该列地址寄存器对应的下一列地址寄存器设为等待状态,否则,通过第二数据访问模块根据目标访问列地址进行数据访问,并确定目标访问列所分布的地址段,将该目标访问列的下一列地址寄存器设为等待状态;若NAND闪存中存在处于等待状态的列地址寄存器,则通过第一地址比较模块将目标访问列地址与处于等待状态的列地址寄存器中的坏列地址进行比较,判断该目标访问列是否为坏列,若目标访问列为坏列,则通过第一数据访问模块根据处于等待状态的列地址寄存器对应的冗余列进行数据访问,并将当前处于等待状态的下一列地址寄存器设为等待状态,否则,根据目标访问列地址进行数据访问。本发明实施例通过采用上述技术方案,只需首次进行数据读取时通过第二地址比较模块将目标访问列地址与各列地址寄存器中的坏列地址进行比较判断目标访问列是否为坏列,之后只需通过第一地址比较模块将目标访问列地址与处于等待状态的列地址寄存器中的坏列地址进行比较即可判定目标访问列是否为坏列,可以加快NAND闪存数据读取的速度,避免NAND闪存由于数据查找慢而不能适用于将接口扩展到DDR甚至DDR2、DDR3的情况,减少用户的等待时间,提高用户体验。
实施例四
本发明实施例四提供一种NAND闪存,该NAND闪存包括至少一个存储阵列,与所述存储阵列中的冗余列一一对应设置的列地址寄存器、移位寄存器和使能三态门,以及本发明任意实施例所述的NAND闪存数据读取装置。
本发明实施例四提供的NAND闪存可执行本发明任意实施例所提供的NAND闪存的数据读取方法,具备与执行NAND闪存数据读取方法相对应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的NAND闪存的数据读取方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (9)
1.一种NAND闪存的数据读取方法,其特征在于,包括:
从访问请求中确定目标访问列地址;
将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;
如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记,其中,所述列地址寄存器与NAND闪存中的冗余列一一对应设置,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在冗余存储介质中递增或递减分配冗余列。
2.根据权利要求1所述的方法,其特征在于,将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,还包括:
如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;
如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
3.根据权利要求2所述的方法,其特征在于,将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较包括:
将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
4.根据权利要求1所述的方法,其特征在于,从访问列请求中确定目标访问列地址包括:
获取用户的访问请求并根据所述访问请求确定目标访问列地址;
将所述目标访问列地址存储在访问地址寄存器中;
从所述访问地址寄存器中调用所述目标访问列地址。
5.一种NAND闪存的数据获取装置,其特征在于,包括:
访问地址确定模块,用于从访问请求中确定目标访问列地址;
第一地址比较模块,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较;
第一数据访问模块,用于如果目标访问列为坏列,则根据所述等待状态的列地址寄存器对应的冗余列地址进行数据访问,并按照冗余列替换顺序,确定当前等待状态的列地址寄存器的下一个列地址寄存器,且将状态标记为等待,同时取消所述当前等待状态的列地址寄存器的等待状态标记,其中,所述列地址寄存器与NAND闪存中的冗余列一一对应设置,冗余列替换顺序为:按照坏列在正常存储介质中的地址顺序,在冗余存储介质中递增或递减分配冗余列。
6.根据权利要求5所述的装置,其特征在于,还包括:
第二地址比较模块,用于将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址进行比较;
第二数据访问模块,用于如果目标访问列为坏列,则根据比较结果确定的列地址寄存器对应的冗余列进行数据访问,并按照冗余列替换顺序,确定当前列地址寄存器的下一个列地址寄存器,且将状态标记为等待;如果目标访问列为正常列,则根据目标访问列地址进行数据访问,并按照冗余列替换顺序,确定目标访问列的下一个列地址寄存器,且将状态标记为等待。
7.根据权利要求6所述的装置,其特征在于,所述第二地址比较模块具体用于:
将所述目标访问列地址与标记为等待状态的列地址寄存器中的坏列地址进行比较之前,如果不存在标记为等待状态的列地址寄存器,则将所述目标访问列地址与各列地址寄存器中的坏列地址同时进行比较。
8.根据权利要求5所述的装置,其特征在于,所述访问地址确定模块,包括:
访问地址确定单元,用于获取用户的访问请求并根据所述访问请求确定目标访问列地址;
访问地址存储单元,用于将所述目标访问列地址存储在访问地址寄存器中;
访问地址调用单元,用于从所述访问地址寄存器中调用所述目标访问列地址。
9.一种NAND闪存,其特征在于,包括至少一个存储阵列,与所述存储阵列中的冗余列一一对应设置的列地址寄存器、移位寄存器和使能三态门,以及如权利要求5-8任一项所述的NAND闪存数据读取装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032236.4A CN105677246B (zh) | 2015-12-31 | 2015-12-31 | 一种nand闪存的数据读取方法、装置及nand闪存 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511032236.4A CN105677246B (zh) | 2015-12-31 | 2015-12-31 | 一种nand闪存的数据读取方法、装置及nand闪存 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105677246A CN105677246A (zh) | 2016-06-15 |
CN105677246B true CN105677246B (zh) | 2019-05-17 |
Family
ID=56189942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511032236.4A Active CN105677246B (zh) | 2015-12-31 | 2015-12-31 | 一种nand闪存的数据读取方法、装置及nand闪存 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105677246B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108536389A (zh) * | 2017-03-06 | 2018-09-14 | 北京兆易创新科技股份有限公司 | 基于nand闪存的列替换方法、装置和nand存储设备 |
CN112068781B (zh) * | 2020-09-10 | 2024-03-22 | 深圳芯邦科技股份有限公司 | 一种存储器的数据读写方法及相关设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224605B1 (en) * | 2006-03-24 | 2007-05-29 | Sandisk Corporation | Non-volatile memory with redundancy data buffered in data latches for defective locations |
CN103279424A (zh) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | 一种Nand Flash的坏列管理装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8427874B2 (en) * | 2010-04-30 | 2013-04-23 | SanDisk Technologies, Inc. | Non-volatile memory and method with even/odd combined block decoding |
-
2015
- 2015-12-31 CN CN201511032236.4A patent/CN105677246B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7224605B1 (en) * | 2006-03-24 | 2007-05-29 | Sandisk Corporation | Non-volatile memory with redundancy data buffered in data latches for defective locations |
CN103279424A (zh) * | 2013-05-15 | 2013-09-04 | 建荣集成电路科技(珠海)有限公司 | 一种Nand Flash的坏列管理装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105677246A (zh) | 2016-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3637421B1 (en) | Storage device and operating method of storage device | |
US11955204B2 (en) | Apparatuses and methods for concurrently accessing different memory planes of a memory | |
US11550709B2 (en) | Memory device and wear leveling method for the same | |
US8144515B2 (en) | Interleaved flash storage system and method | |
CN109101434B (zh) | 存储装置、存储系统及所述存储装置的操作方法 | |
US7336531B2 (en) | Multiple level cell memory device with single bit per cell, re-mappable memory block | |
KR100878479B1 (ko) | 데이터 정보에 따라 프로그램 방식을 결정하는 메모리시스템 | |
US9846643B2 (en) | Methods for maintaining a storage mapping table and apparatuses using the same | |
US20080046639A1 (en) | Memory system with nonvolatile semiconductor memory | |
CN108701081A (zh) | 用于同时存取非易失性存储器的多个分区的设备和方法 | |
KR102076434B1 (ko) | 기록 카운트에 기초하여 기록 파라미터를 조정하기 위한 장치 및 방법 | |
US20080109627A1 (en) | Nonvolatile Memory Device And Method For Accessing Nonvolatile Memory Device | |
CN101641679A (zh) | 用于系统管理的多级单元选择的多程序 | |
US20110072195A1 (en) | Method for managing a memory device having multiple channels and multiple ways, and associated memory device and controller thereof | |
CN108628757A (zh) | 非易失性存储器设备和包括其的存储系统 | |
CN110008053A (zh) | 存储设备、非易失性存储设备以及存储设备的操作方法 | |
CN112771492A (zh) | 支持非确定性命令的存储器子系统 | |
US8243519B2 (en) | Writing method of a nonvolatile memory device | |
CN109656483A (zh) | 一种固态盘静态磨损均衡方法及装置 | |
CN105677246B (zh) | 一种nand闪存的数据读取方法、装置及nand闪存 | |
US20170154681A1 (en) | Memory control method and apparatus | |
US9852068B2 (en) | Method and apparatus for flash memory storage mapping table maintenance via DRAM transfer | |
US20110078362A1 (en) | Operating an emulated electrically erasable (eee) memory | |
US20160140034A1 (en) | Devices and methods for linked list array hardware implementation | |
CN105975406B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: Room 101, Floor 1-5, Building 8, Yard 9, Fenghao East Road, Haidian District, Beijing 100094 Patentee after: Zhaoyi Innovation Technology Group Co.,Ltd. Address before: 100083 12 Floors, Block A, Tiangong Building, Science and Technology University, 30 College Road, Haidian District, Beijing Patentee before: GIGADEVICE SEMICONDUCTOR(BEIJING) Inc. |