CN103871447B - 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 - Google Patents

与非门快闪存储器阵列及芯片及其存取、读取及管理方法 Download PDF

Info

Publication number
CN103871447B
CN103871447B CN201210541563.2A CN201210541563A CN103871447B CN 103871447 B CN103871447 B CN 103871447B CN 201210541563 A CN201210541563 A CN 201210541563A CN 103871447 B CN103871447 B CN 103871447B
Authority
CN
China
Prior art keywords
page
cache
buffer
address
data
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
Application number
CN201210541563.2A
Other languages
English (en)
Other versions
CN103871447A (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.)
Winbond Electronics Corp
Original Assignee
Winbond Electronics Corp
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 Winbond Electronics Corp filed Critical Winbond Electronics Corp
Priority to CN201210541563.2A priority Critical patent/CN103871447B/zh
Publication of CN103871447A publication Critical patent/CN103871447A/zh
Application granted granted Critical
Publication of CN103871447B publication Critical patent/CN103871447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种与非门快闪存储器阵列及芯片及其存取、读取及管理方法,关联于用于损坏区块映射的查询表的创作及使用的特定功能可在存储器装置本身的芯片上实现,也即在相同芯片的额外电路上,或者甚至在存储器装置的指令与控制逻辑内来实现查询表的功能,以降低负担。更进一步地说,在芯片上实现查询表的功能可使得查询表的功能与其他指令与控制逻辑的功能紧密地整合,以使与非门快闪存储器能够利用例如连续页面读取指令及其变化等功能性更强的新指令。

Description

与非门快闪存储器阵列及芯片及其存取、读取及管理方法
技术领域
本发明是有关于数字存储器装置,且特别是有关于芯片上的与非门快闪存储器(NAND flash memory)及其损坏区块管理方法。
背景技术
由于在成本上显著的优势,与非门快闪存储器逐渐地成为市场的主流。此外,与非门快闪存储器可适用于包括传统的与非门接口至精简脚位(low pin count)串行周边接口(Serial Peripheral Interfaces,SPI)等多种不同种类的接口。
与非门快闪存储器架构将存储器阵列组织为多个区块(block),且每一区块具有数个页面(page)。标准的页面长度包括有512字节(bytes)、2048字节以及4096字节。在每一页面中的数个额外的字节(通常为16/64/128字节)可用以储存错误校正码(errorcorrecting code checksum,ECC)检查总和(checksum)以及有时可用以储存文件数据(metadata)。
损坏区块管理通常执行于与非门快闪存储器上。这样的存储器易受损坏区块状态的影响,损坏区块状态包括区块在制造时具有失效的存储胞,以及由于重复使用而使存储包退化所造成的失效的存储胞。损坏区块管理通常是通过在主机端操作***的装置驱动器软件或者独立的专用控制器芯片来执行。当高阶软件存取损坏的逻辑区块时,装置驱动器或控制器会利用损坏区块映射表而将损坏的逻辑区块映射至良好的物理区块,所述的损坏区块映射表一般称的为查询表(look-up table,LUT)。查询表的功能是收集未映射的物理区块地址为损坏区坏的逻辑区块地址(logical block address,LBA)与映射为良好区块的物理区块地址(physical block address,PBA)之间连结的集合。
查询表的使用对于标准的与非门快闪存储器装置的一些常用指令是有效的,例如读取页面的指令。而一些指令则是可通过限制指令在特定的区块内依序读取而在相容于查询表的使用的情况下完成,例如串行读取指令。
然而,一般在软件或硬件中,损坏区块查询表的功能必须使用主控装置或外部控制器来实现,因此可能会使得软件开发及硬件花费上的负担增加。
发明内容
本发明提供了一种与非门快闪存储器阵列及芯片及其存取、读取及管理方法,其可在存储器装置本身的芯片上(on chip)实现损坏区块查询表的功能。
本发明一实施例为一种存取与非门快闪存储器阵列的方法。与非门快闪存储器阵列具有使用者可寻址区域,且与非门快闪存储器阵列实现于芯片上。芯片用以读取、程序化以及抹除部分的与非门快闪存储器阵列。所述的存取与非门快闪存储器阵列的方法包括:辨识用以存取与非门快闪存储器阵列的逻辑区块地址,逻辑区块地址被完整的用于抹除存取,并且逻辑区块地址辅以页面地址部分被用于读取存取以及程序化存取;在具有与非门快闪存储器阵列的芯片上的使用者可寻址区域中获取逻辑区块地址至取代区块的物理区块地址的映射;以及利用取代区块的物理区块地址存取与非门快闪存储器阵列。
本发明另一实施例为一种在与非门快闪存储芯片上进行连续页面读取操作的方法,其中与非门快闪存储芯片具有与非门快闪存储器阵列以及页面缓冲器。页面缓冲器包括数据暂存器以及快取暂存器。所述在与非门快闪存储芯片上进行连续页面读取操作的方法包括:在具有与非门快闪存储器阵列的芯片上维持查询表暂存器,查询表暂存器储存至少一个逻辑损坏区块地址以及对应于所述逻辑损坏区块地址的至少一个物理取代区块地址;从快取暂存器中的多个快取暂存部分无缝且连续地输出数据,数据暂存器被组织为对应于快取暂存器的所述多个快取暂存部分的多个数据暂存部分;建立用以存取与非门快闪存储器阵列的逻辑页面地址,逻辑页面地址包括逻辑区块地址部分;在查询表暂存器的所述逻辑损坏区块地址中搜寻所述逻辑损坏区块地址的其中之一与逻辑区块地址部分之间是否符合;当从所述多个快取暂存部分中的第一快取暂存部分输出数据时,从快取暂存器中的对应部分转移数据至第二快取暂存部分,第二快取暂存部分不同于第一快取暂存部分;在第一快取暂存部分输出数据且转移数据至第二快取暂存部分的步骤后,在第二快取暂存部分上进行错误校正码计算;在第一快取暂存部分输出数据且转移数据至第二快取暂存部分的步骤后,当搜寻的步骤中所述逻辑损坏区块地址与逻辑区块地址部分皆不符合时,利用逻辑页面地址从与非门快闪存储器阵列中将数据页面读入数据暂存器,以及当搜寻的步骤中所述逻辑损坏区块地址的其中之一与逻辑区地址部分符合时,利用所述物理取代区块地址的其中之一将数据页面读入数据暂存器,其中所述物理取代区块地址的所述其中之一对应于符合逻辑区块地址部分的所述逻辑损坏区块地址的所述其中之一;以及当从第二快取暂存部分输出数据时,从数据暂存器的对应部分转移数据至除了第二快取暂存部分的其余所述多个快取暂存部分的其中之一,并且对其余所述多个快取暂存部分的所述其中之一进行该错误校正码计算。
本发明另一实施例为一种在与非门快闪存储芯片上进行页面读取操作的方法,其中与非门快闪存储芯片具有与非门快闪存储器阵列以及页面缓冲器。页面缓冲器包括数据暂存器以及快取暂存器。所述的在与非门快闪存储芯片上进行页面读取操作的方法包括:在具有与非门快闪存储器阵列的芯片上维持查询表暂存器,查询表暂存器储存至少一个逻辑损坏区块地址以及对应于所述逻辑损坏区块地址的至少一个物理取代区块地址;建立用以存取与非门快闪存储器阵列的逻辑页面地址,逻辑页面地址包括逻辑区块地址部分;在查询表暂存器的所述逻辑损坏区块地址中搜寻所述逻辑损坏区块地址的其中之一与逻辑区块地址部分之间是否符合;利用所述物理取代区块地址的其中之一从与非门快闪存储器阵列中将数据页面读入数据暂存器,其中所述物理取代区块地址的所述其中之一对应于符合逻辑区块地址部分的所述逻辑损坏区块地址的所述其中之一;以及在页面缓冲器上进行错误校正码计算。
本发明另一实施例为一种在与非门快闪存储芯片上进行连续页面读取操作的方法,其中与非门快闪存储芯片具有与非门快闪存储器阵列以及页面缓冲器。所述的在与非门快闪存储芯片上进行连续页面读取操作的方法包括:在具有与非门快闪存储器阵列的芯片上维持查询表暂存器,查询表暂存器储存至少一个逻辑损坏区块地址以及对应于所述逻辑损坏区块地址的至少一个物理取代区块地址;建立用以存取与非门快闪存储器阵列的逻辑页面地址,逻辑页面地址包括逻辑区块地址部分;在查询表暂存器的所述逻辑损坏区块地址中搜寻所述逻辑损坏区块地址的其中之一与逻辑区块地址部分之间是否符合;当搜寻的步骤中所述逻辑损坏区块地址与逻辑区块地址部分皆不符合时,利用逻辑页面地址从与非门快闪存储器阵列中将数据页面读入数据暂存器,以及当搜寻的步骤中所述逻辑损坏区块地址的其中之一与逻辑区地址部分符合时,利用所述物理取代区块地址的其中之一将数据页面读入数据暂存器,其中所述物理取代区块地址的所述其中之一对应于符合逻辑区块地址部分的所述逻辑损坏区块地址的所述其中之一;对页面缓冲器中的数据页面进行错误校正码计算;以及当错误校正码计算指示无法校正页面读取错误时,若在搜寻的步骤中所述逻辑损坏区块地址与逻辑区块地址部分皆不符合,利用逻辑页面地址更新连续页面读取损坏区块地址暂存器,以及若在搜寻的步骤中所述逻辑损坏区块地址的其中之一与该逻辑区地址部分符合,利用所述物理取代区块地址的其中之一更新该连续页面读取损坏区块地址暂存器,其中所述物理取代区块地址的所述其中之一对应于符合逻辑区块地址部分的所述逻辑损坏区块地址的所述其中之一。
本发明另一实施例为一种与非门快闪存储芯片,包括与非门快闪存储器阵列、列解码器、页面缓冲器、行解码器、输入/输出控制器、状态暂存器、连续页面读取损坏区块地址暂存器、指令暂存器、地址暂存器、查询表暂存器、控制逻辑电路。列解码器耦接与非门快闪存储器阵列。页面缓冲器耦接与非门快闪存储器阵列。行解码器耦接页面缓冲器。输入/输出控制器耦接行解码器。状态暂存器耦接输入/输出控制器。连续页面读取损坏区块地址暂存器耦接输入/输出控制器。指令暂存器耦接输入/输出控制器。地址暂存器耦接输入/输出控制器。查询表暂存器耦接输入/输出控制器。控制逻辑电路耦接列解码器、行解码器、页面缓冲器、状态暂存器、连续页面读取损坏区块地址暂存器、指令暂存器、地址暂存器以及查询表暂存器。
本发明另一实施例为一种用于与非门快闪存储器阵列的损坏区块管理的方法,与非门快闪存储器阵列实现于芯片上。所述的用于与非门快闪存储器阵列的损坏区块管理的方法包括:在具有与非门快闪存储器阵列的芯片上维持查询表暂存器;于利用第一损坏区块的逻辑区块地址存取与非门快闪存储器阵列的使用者存取期间,侦测第一损坏区块;以及存取芯片上的查询表暂存器以将第一损坏区块的逻辑区块地址至第一取代区块的物理区块地址的映射储存至与非门快闪存储器阵列。
本发明另一实施例为一种存取与非门快闪存储器阵列的方法。与非门快闪存储器阵列实现于芯片上。芯片用以读取、程序化以及抹除部分的与非门快闪存储器阵列。所述的存取与非门快闪存储器阵列的方法包括:辨识用以存取与非门快闪存储器阵列的逻辑区块地址,逻辑区块地址被完整的用于抹除存取,并且逻辑区块地址辅以页面地址部分被用于读取存取以及程序化存取;从具有与非门快闪存储器阵列的芯片上的查询表获取逻辑区块地址至对应的取代区块的物理区块地址的映射,当与非门快闪存储器阵列为在标准读取、程序化以及抹除操作的服务中时,查询表可被使用者所存取,其中查询表用以储存损坏区块的逻辑区块地址至取代区块的物理区块地址的映射;以及利用对应的取代区块的物理区块地址存取与非门快闪存储器阵列。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1为与非门快闪存储器装置的功能方块示意图。
图2为与非门快闪存储器阵列的组织架构及关联于与非门快闪存储器的查询表的示意图。
图3为初始化查询表的一实施方法的步骤流程图。
图4为利用损坏区块映射的页面读取操作的步骤流程图。
图5为利用损坏区块映射的连续页面读取操作的步骤流程图。
图6为利用损坏区块映射的可寻址连续页面读取操作的步骤流程图。
图7为利用损坏区块映射的程序化操作的步骤流程图。
图8为利用损坏区块映射的抹除操作的步骤流程图。
图9为损坏区块管理技术的步骤流程图。
图10为利用损坏区块映射的连续页面读取操作的特定实施方式的步骤流程图。
图11为依照图10与图12的步骤流程的页面缓冲器的操作状态的示意图。
图12为利用损坏区块映射的可寻址连续页面读取操作的特定实施方式的步骤流程图。
其中,附图标记说明如下:
20:与非门极快闪存储器装置
22:输入输出控制
23:状态暂存器
24:CPR地址暂存器
25:指令暂存器
26:地址暂存器
27:查询表暂存器
28:映射逻辑
29:地址计数器
30:控制逻辑
31:CPR损坏区块逻辑
32:CPR损坏区块暂存器
33:高电压产生器
34:列解码器
36:行解码器
38:页面缓冲器
40:与非门快闪阵列
42:使用者可寻址区域
44:冗余区块区域
46:查询表信息区块
120:查询表
130:与非门存储器阵列
200:初始化程序
202~204、302~312、322~350、362~390、410~450、510~550、610~650、710~730、750~790、910~970:步骤
206、314、460、560、660:继续进行处理
300:页面读取操作
320:连续读取操作
360:可寻址连续读取操作
400:接收页面程序化指令
500:接收区块抹除指令
600:损坏区块管理
700:页面读取指令
740:连续页面读取指令
810:数据总线
820:错误校正电路
830:快取暂存器
840:数据暂存器
850:与非门快闪阵列
852、854:页面
900:开始可寻址连续页面读取
CR-0、CR-1:快取暂存部分
DR-0、DR-1:数据暂存部分
ECC-0、ECC-1:错误校正电路区段
LBA:逻辑区块地址
PBA:物理区块地址
CS/、CLK、DI、DO、WP/、HOLD/:控制信号
具体实施方式
在软件或硬件中,使用主控装置或外部控制器来实现损坏区块查询表,可能会使得软件开发及硬件花费上的负担增加。然而,关联于查询表的创作及使用的特定功能可在存储器装置本身的芯片上(on chip)实现,也即在相同芯片的额外电路上,或者甚至在存储器装置的指令与控制逻辑内来实现查询表的功能,以降低负担。更进一步地说,在芯片上实现查询表的功能可使得查询表的功能与其他指令与控制逻辑的功能紧密地整合,以使与非门快闪存储器能够利用例如连续页面读取指令及其变化等功能性更强的新指令。
图1为与非门快闪存储器装置20的功能方块示意图。所述的与非门快闪存储器装置20包括与非门快闪阵列40以及相关的页面缓冲器38。与非门快闪阵列40包括字元线(行(column))以及位元线(列(row)),并且由使用者可寻址区域42、冗余区块区域44以及查询表信息区块46所组成。与非门快闪存储器装置20可包括其他不同的电路以支援存储器程序化、抹除以及读取,例如列解码器34、行解码器36、输入输出控制22、一或多个状态暂存器23、一或多个连续页面读取(continuous page read,CPR)地址暂存器24、指令暂存器25、地址暂存器26、查询表暂存器27、控制逻辑30、CPR损坏区块逻辑31、CPR损坏区块暂存器32以及高电压产生器33。列解码器34可根据使用者控制(或可根据与非门快闪存储器装置20的内部控制)而选择使用者可寻址区域42的行,并且根据与非门快闪存储器装置20的内部控制而选择冗余区块区域44以及查询表信息区块46的行。所述的与非门快闪存储器装置20可以任何所需的形式加以封装,并且可以具有包括传统与非门快闪存储器装置接口等的任何类型的接口,图1的控制逻辑30范例性地以包括多输入输出SPI接口的SPI与QPI协定来实现。关于QPI和SPI接口以及与存储器阵列相关的电路的额外细节可参见2009年7月7日颁与Jigour等人的第7,558,900号美国专利,和2011年1月13日***台湾新竹市华邦电子股份有限公司的公开案W25Q64DW:“SpiFlash1.8V 64M-Bit Serial Flash Memory withDual/Quad SPI&QPI”初步修正案C,以上专利以全文引用方式并入本文。
页面缓冲器38范例性地包括一页面数据暂存器(未绘示)、一页面快取暂存器(未绘示)以及用以从数据暂存器复制数据至快取暂存器的一页面传输门。本发明并不限制数据暂存器与快取暂存器中锁存器的型式,范例性的锁存器可利用背对背(back-to-back)连接的反相器来实现。本发明并不限制传输门的形式;在本实施例中,所述的传输门以CMOS传输门来实现。本发明并不限制数据暂存器与快取暂存器所需的数量,举例来说,可依据传输门的走线连接以及控制数据传输的操作而决定所需的数量。举例来说,数据暂存器与快取暂存器可分别由各自的部分所组成,并且分别利用受控于对应的控制线的传输门群组而交替操作。页面缓冲器38可通过施加相同控制信号至各自的传输门控制线的传统方式来操作数据暂存器与快取暂存器,或者通过施加合适时序的控制信号至传输门控制线的交替操作方式来操作数据暂存器与快取暂存器。在此范例性地以两部分实现一个页面,且一个页面可为2K字节,传输门的半页面(1K)可受控于一条控制线,而传输门的另一半页面(1K)可受控于另一条控制线,从而将数据暂存器与快取暂存器整理为两个半页面部分。由于所述的两部分操作为交替操作,以两部分实现的页面缓冲器38可视为”乒乓”缓冲器(ping pongbuffer)。ECC电路可用以在快取暂存器的内容上进行ECC计算。关于页面缓冲器38、ECC电路以及页面缓冲器38与ECC电路的操作的额外细节可参见2012年5月4日由Gupta等人所申请的第13/464,535号美国专利(“Method and Apparatus for Reading NAND FlashMemory”),以上专利以全文引用方式并入本文。所述的将数据暂存器与快取暂存器整理成多个部分并且在各个部分进行ECC的方式为一范例性的实施方式,其他技术也可根据需求而使用。
虽然与非门快闪存储器装置20为进行包括连续页面读取操作以及在单平面与非门架构的芯片上错误校正等多种读取操作而组成及运作,但所述架构仅为范例,所述架构的相关变化也不脱离本发明的范围。在本实施例中,全文的页面容量以2KB为例,但本发明并不限定所述页面及区块的容量。虽然在此为描述清楚基于单平面架构来说明,但本揭露也同样适用于多平面架构。
图1也绘示用于SPI接口的控制信号CS/、CLK、DI、DO、WP/、HOLD/。标准SPI快闪接口提供控制信号CS/(芯片选择-反向)、CLK(时脉)、DI(串行数据-输入)和DO(串行数据-输出),以及可选择的信号WP/(写入保护-互补)和HOLD/(保持-互补)。虽然标准SPI接口中的1比特串行数据总线提供简单接口,但其读取流通量仍受限。因此为增加读取流通量,多比特SPI接口则进一步支援双重流量(2比特接口)和/或四重流量(4比特接口)。图1也绘示通过选择性地重新定义四个接脚的功能而用于双重流量SPI和四重流量SPI操作的额外数据总线信号,例如I/O(0)、I/O(1)、I/O(2)以及I/O(3)。在四重流量SPI读取操作中,可通过I/O(0)用1比特标准SPI接口给出适当的读取指令,但用于地址和数据输出的后续接口是基于四重流量的接口(例如4比特数据总线)。在四重流量SPI的另一版本中,可通过I/O(0)用1比特标准SPI接口给予读取指令和地址,但用于数据输出的后续接口是基于四重流量的接口(例如4比特数据总线)。在提供地址与读出数据之间可使用任选的虚拟时脉循环。与在标准SPI读取操作中输出1比特数据相比,四重流量SPI读取操作可在一时脉循环中输出4比特数据,且因此四重流量SPI读取操作可提供四倍高的读取流通量。虽然本文使用四重流量SPI读取操作进行解释,但也同样适用于其他操作模式,例如标准SPI、双重流量SPI、四重流量周边接口(Quad Peripheral Interface,QPI)和双倍转移速率(Double Transfer Rate,DTR)读取模式。在QPI协定中,完整的接口(指令、地址和数据输出)是基于4位而完成。在DTR协定中,在下降和上升CLK边缘上提供输出数据,而非如同单倍转移速率(Single TransferRate,STR)读取模式操作中那样仅在下降CLK边缘上提供输出数据。
损坏区块管理
图2为与非门快闪存储器阵列130的组织架构及关联于与非门快闪存储器阵列130的查询表120的示意图。与非门快闪存储器阵列130包含三个区域,使用者可寻址区域、冗余区块区域以及查询表信息区域。查询表120包含从逻辑区块地址至物理区块地址的映射,所述的映射用于损坏区块管理。以图2为例,利用在与非门存储器阵列130的冗余区块区域中的区块来取代于制造处理期间所发现的损坏区块的数量,也即区块56(未绘示)通过冗余区块区域的区块0所取代,区块214(未绘示)通过冗余区块区域的区块1所取代,区块215(未绘示)通过冗余区块区域的区块2所取代,区块642(未绘示)通过冗余区块区域的区块3所取代,以及区块792(未绘示)通过冗余区块区域的区块4所取代。如制造商所提供,因此,存储器具有一个未使用的冗余区块5,并且包含一个完整的可寻址存储器的1024个区块。
虽然在图2中并未绘示,但制造商可能会用掉冗余区块区域中的所有区块来取代损坏区块,并且甚至用掉使用者可寻址区域中的部分区块来取代损坏区块。在此所述的技术即可应用于此一情况。
请再次参照图2,假设当存储器在使用中,区块1失效,其次区块5,然后区块7。失效的区块被映射至与非门快闪存储器阵列130中的良好区块,以使装置能够持续使用。举例而言,损坏区块首先被映射至冗余区块区域中的未使用区块,接着才被映射至使用者可寻址区域中的可使用区块。先映射至冗余区块区域可尽量地延长维持完整的使用者可寻址存储器负载的时间,然而任何所需的映射架构皆可使用于此。如图2所示,损坏区块1首先被映射至冗余区块5,接着损坏区块5被映射至使用者可寻址区域中的区块1023,而损坏区块被映射至使用者可寻址区块中的区块1022时,损坏区块1被映射至冗余区块5。
本发明的查询表120可被建构于查询表暂存器27,并可直接地存取控制逻辑30以及映射逻辑28。查询表暂存器27可利用小且快速的挥发性存储器来实现,例如静态随机存取存储器(SRAM)其容量系基于查询表延迟与可被分配至取代区块的损坏区块数量的折衷考量而设计选择。举例而言,查询表暂存器27可设计为用以储存20个损坏区块的逻辑区块地址与20个相关的取代区块的物理区块地址。查询表暂存器27可在芯片启动(power-up)或重置时填入从与非门快闪存储器阵列130的查询表信息区块所读取的逻辑区块地址与物理区块地址数据。其中,使用者可寻址区域的损坏区块皆会被标记,例如在第一页面的备用区域的具有非FFh数据的第一比特,区块可被读取以确认查询表120中的逻辑区块地址清单的正确性。
虽然查询表暂存器27绘示为单一暂存器,但其可通过任何所需的方式来实现。在一实施例中,查询表暂存器可利用两个单独的部分来实现,其中之一部分为使用者可存取的部分,且该部分可包含关联于使用者可寻址区域的映射信息,但不包含关联于冗余区块区域的映射信息,而其中的另一部分则为可通过与非门快闪存储器而为内部所使用的部分,且该部分可包含关联于冗余区块区域的映射信息。
图3为初始化查询表的一实施方法的步骤流程图,其中图3绘示用以在芯片启动或重置时建构查询表的初始化程序200的一实施例。提供查询表信息区块的地址供内部使用(步骤202)并且用以从查询表信息区块读取查询表信息至查询表暂存器以建立查询表(步骤204)。
将所述的方法应用于图2实施例时,初始序列可能会导致查询表具有逻辑区块地址索引的区块56、区块214、区块215、区块642以及区块792,以及对应于物理区块地址的RBA区块0、RBA区块1、RBA区块2、RBA区块3,以及RBA区块4(表示为由左至右的向下交错排列)。此因为在本实施例中,制造商标示区块56、214、215、642以及792为损坏区块,并且映射所述的损坏区块至冗余区块区域的区块0、1、2、3以及4,并且将所述的映射的信息放置于查询表信息区块46中。
图4、图5以及图6绘示三种范例指令的范例处理方式,分别为页面读取指令、快速连续页面模式指令以及可寻址连续页面模式指令。所述的读取指令的类型可同时(但非必需同时)实现于一特定的与非门快闪存储器装置中。页面读取指令以其页面地址栏位中所指定的地址读取存储器中的一个页面。快速连续页面读取指令可接续于页面读取指令的后,并且从所述的指定的地址开始连续地读取存储器的页面。快速连续页面读取指令并未包含地址栏位。可寻址连续页面读取指令从所述的指定的地址开始连续地读取存储器的页面。
如图4所示,当接收到页面读取指令时,页面读取指令中所指定的页面地址被储存于地址暂存器26(步骤302)。页面读取处理接续地进行取代区块处理,其中取代区块处理涉及在查询表暂存器27中的搜寻,以判断地址暂存器26中的区块地址部分的地址是否符合查询表暂存器27中的任何逻辑区块地址(步骤304)。由于查询表暂存器27可为在芯片上的小且快速的SRAM,因此其可利用控制逻辑30进行本地存取,故所述的搜寻的动作可在不显著影响读取时间的情况下快速地进行。若未发现符合的搜寻结果时(步骤304-否),逻辑区块地址可被用以将页面读入至页面缓冲器38(步骤308)。若发现符合的搜寻结果时(步骤304-是),需取代的损坏区块将被指示出,并且利用取代区块的物理区块地址取代地址暂存器26中的逻辑区块地址以读取所需的页面(步骤S306)。当所需的数据页面被读入页面缓冲器38时(步骤308),在所述的数据上进行错误校正程序,并且适当地在一或多个状态暂存器中设定据以产生的ECC比特(步骤310)。接着,输出所述的页面(步骤312)并且继续进行处理314。
图5为利用损坏区块映射的连续页面读取操作的步骤流程图,其中图5绘示基本的连续页面读取处理320,所述的连续页面读取处理320可相容于损坏区块映射并且包含损坏区块管理。所述的处理于建立适当的初始条件(步骤322)后重复地进行,其中所述的适当的初始条件系根据基本连续页面读取处理320的应用而定。当与非门快闪存储器装置具有合适的初始条件时,连续页面读取处理320实质上可通过如图示所绘示的方式来使用。在此以在连续读取程序320中依循先前操作的方式来产生合适的初始条件,然而合适的初始条件也可通过其他多种不同的方法而产生。所述的先前操作例如为指令的执行,由于除了快速连续页面读取指令的解码外,执行的动作可在不具任何延迟的情况下开始,故在此情况下所述的指令执行的操作可被视为快速连续页面读取(fast continuous page read,FCPR)。举例来说,当图4的页面读取指令终止而不输出页面数据时,其可被用以建立所述的初始条件(步骤312)。此一步骤在地址暂存器中留下了初始地址(所述的处理方法320也可被修改为可容许初始地址以外的地址),而使ECC处理页面缓冲器中的数据以作为初始条件(步骤322)。
接着,进行三个大致同时进行的操作,即以页面缓冲器的第一部分作为输出(步骤330)、在页面缓冲器的第二部分进行ECC计算(步骤332)以及利用合适的查询表程序将下一数据页面读入页面缓冲器(步骤334),所述的查询表程序例如为图4的步骤304与306等用于损坏区块的处理程序。所述的下一数据页面可通过以芯片上的地址计数器29(图1)递增地址暂存器26中的地址来存取,并且接着利用例如为图4所绘示的取代区块处理的方式来进行取代区块处理(参照步骤304与306)。为了避免电路过于复杂,取代区块处理仅需在存取第一页面及每一操作步骤的边界时进行,进而在不损及每一页面存取的情况下进行取代区块处理。虽然于页面读取后的接续的连续读取时,在第一次重复进行的情况下,于页面缓冲器的第二部分上进行ECC计算(步骤332)系为多余的步骤,但其仍不会损及所述的处理方法。若有需要,可将连续读取操作修正为在第一次重复进行连续读取操作的期间绕过(bypass)在页面缓冲器的第二部分上进行ECC计算的步骤(步骤332)。
接着,进行两个大致同时进行的操作,即输出页面缓冲器的第二部分(步骤340)以及在页面缓冲器的第一部分上进行ECC计算(步骤342)。由于完整数据页面已被输出且在状态暂存器23中的ECC比特已被设定,故可进行初步的损坏区块评估(步骤350)。值得注意的是,此时并非必须完成页面的读取,若有需要也可在先前的步骤334的操作中,以完成部分的页面读取的操作来取代原先完成完整的页面读取的操作,并且部分页面的读取可和从页面缓冲器的第二部分输出的动作(步骤340)及在页面缓冲器的第一部分上进行ECC计算的动作(步骤342)为大致同时进行的操作。
接续的连续页面可通过重复执行自步骤330、332及334开始的步骤而被读取并输出。连续读取将持续地被进行直到被任何所需的方式终止,例如通过终止时脉及芯片的选择信号。
初步的损坏区块评估(步骤350)可通过以下的实施方式来进行。所述的评估可通过CPR损坏区块逻辑31、CPR损坏区块暂存器32及状态暂存器23中的ECC比特来进行。在此系以使用两个ECC比特来表示无连续页面读取错误(00)、一或多个可校正的错误(01)、一个无法校正的连续页面读取错误(10)以及大于一个无法校正的连续页面读取错误(11),然而其他的习知表示方式也可适用于此。任何可维持所需的信息的合适类型与容量的暂存器皆可为所述的CPR损坏区块暂存器32,例如可持续追踪无连续页面读取错误(00)、一或多个可校正的错误(01)、一个无法校正的连续页面读取错误(10)以及大于一个无法校正的连续页面读取错误(11)的两比特暂存器。当在页面缓冲器38中的完整数据页面上所进行的ECC计算完成时,错误校正电路(未绘示)会将计算结果写入至状态暂存器23的ECC比特,所述的计算结果可能为无错误(00),可校正的错误(01)或是无法校正的错误(10)。CPR损坏区块逻辑31检查状态暂存器23中的ECC比特,适当地调整CPR损坏区块暂存器32中的数值,并且若是ECC比特指示为一个无法校正的错误(10)时,CPR损坏区块逻辑31将页面地址写入CPR地址暂存器24。CPR损坏区块逻辑31接着依据CPR损坏区块暂存器32的数值而将适当数值写入状态暂存器23的ECC比特,并通过错误校正电路覆盖原先写入状态暂存器23的ECC比特的数值。CPR损坏区块暂存器32可为可由使用者所读取或者不可由使用者所读取。若连续读取操作320在此时被终止,则使用者可读取状态暂存器23以了解是否发生无连续页面读取错误(00)、一个或多个可校正的连续页面读取错误(01)、一个无法校正的连续页面读取错误(10)或者大于一个无法校正的连续页面读取错误(11),并且使用者也可读取CPR地址暂存器24以初步地辨识损坏区块。若是CPR地址暂存器24的容量仅足以保留一个区块地址时,CPR地址暂存器24将覆盖先前的任一区块地址并且包含最后一个初步辨识的损坏区块。若是CPR地址暂存器24的容量足以保留多个区块地址时,CPR地址暂存器24可在不覆盖先前区块地址的情况下加入小于暂存器的容量的新的损坏区块。
相容于损坏区块映射及包含损坏区块管理的可寻址连续页面读取(addressablecontinuous page read,ACPR)处理360如图6所示。图5的连续页面读取处理320可并入所述的ACPR处理360,并且所述的ACPR处理360系于建立适当的初始条件后重复地进行。在可寻址连续页面读取的范例中,所述的初始条件包含指令所提供的初始地址。所述的初始地址被储存于地址暂存器26(步骤362),并且利用适当的查询表程序将数据页面读入页面缓冲器(步骤364),所述的查询表程序例如为图4的步骤304与306等用于损坏区块的处理程序。接着,在页面缓冲器的第一部分上进行ECC计算(步骤366)。此后,处理程序以如图式所示,通过重复执行步骤370、372、374、380、382以及390的方式而持续进行,其中所述的步骤370、372、374、380、382以及390可对应至图5的步骤330、332、334、340、342以及350。
图7绘示为程序化处理的范例。首先,接收页面程序化指令(步骤400)。页面程序化指令包含页面地址栏位,其中欲程序化的页面地址可从页面地址栏位获得并且所述的欲程序化的页面地址可放置于地址暂存器26中。接着,程序化处理通过搜寻查询表暂存器27以判断地址暂存器26中的地址是否符合查询表暂存器27中的任何逻辑区块地址(步骤410)。由于查询表暂存器27可为快速的SRAM,也即控制逻辑30可进行本地存取,故所述的搜寻的操作可在不显著影响程序化时间的情况下快速地进行。若未发现符合的搜寻结果时(步骤410-否),利用逻辑区块地址程序化存储器的页面(步骤430)。若发现符合的搜寻结果时(步骤410-是),损坏区块将被指示出,并且利用取代区块的物理区块地址来取代地址暂存器26中的逻辑区块地址(步骤420),以程序化所需的页面(步骤430)。一旦获得正确的页面地址,实际页面程序化处理(步骤430)及用于检查程序化错误的处理(步骤440)将可通过任何所需的方式来进行。以一个可行的程序化验证操作技术为例,其一般可在状态暂存器中设定通过/失效比特(pass/fail bit)。在检查程序化错误之后,所述的程序化验证操作可依据需求进行损坏区块管理(步骤450)(参照图9)。一旦任何方式的损坏区块管理操作完成后,其余的存储器操作将继续进行处理460。
图8绘示为抹除处理的范例。首先,接收抹除指令(步骤500)。区块抹除指令包含区块地址栏位,其中欲抹除的区块地址可从区块地址栏位获得并且所述的欲抹除的区块地址可放置于地址暂存器26中。接着,区块抹除处理通过搜寻查询表暂存器27以判断地址暂存器26中的地址是否符合查询表暂存器27中的任何逻辑区块地址(步骤510)。由于查询表暂存器27可为快速的SRAM,也即控制逻辑30可进行本地存取,故所述的搜寻的操作可在不显著影响抹除时间的情况下快速地进行。若未发现符合的搜寻结果时(步骤510-否),逻辑区块地址可被用于抹除区块(步骤530)。若发现符合的搜寻结果时(步骤510-是),损坏区块将被指示出,并且利用取代区块的物理区块地址来取代地址暂存器26中的逻辑区块地址(步骤520),以抹除区块(步骤530)。一旦获得正确的区块地址,实际区块抹除处理(步骤530)及用于检查区块抹除错误的处理(步骤540)将通过任何所需的方式来进行。以一个可行的抹除验证操作技术为例,其一般可在状态暂存器中设定通过/失效比特。在检查抹除错误的后,所述的程序化验证操作可依据需求进行损坏区块管理(步骤550)(参照图9)。一旦任何方式的损坏区块管理操作完成后,其余的存储器操作将继续进行处理560。
图9绘示为损坏区块管理的范例,其可利用多种不同的方式来进行,举例来说,所述的用以分配取代区块的处理可通过主机端或控制器而由使用者所控制、通过主机端或控制器反应于损坏区块标记而半自动地控制以及通过与非门快闪存储器装置的控制逻辑而自动地控制。
损坏区块管理以检查损坏区块(步骤610)以及决定是否取代损坏区块(步骤620)开始。对于使用者控制处理或半自动处理的范例而言,检查损坏区块及决定是否取代损坏区块的操作皆系由使用者通过主机端或控制器来完成。对于自动处理的范例而言,检查损坏区块及决定是否取代损坏区块的操作系由与非门快闪存储器装置的控制逻辑来实现。对于读取操作来说,读取操作依据状态暂存器本身的数值读取(对于使用者控制处理及半自动处理的范例而言)或检查(对于自动处理的范例而言)ECC位元。可能的ECC位元读取或检查结果例如包含无错误、已校正的错误、无法校正的错误以及多个无法校正的错误(对于连续页面读取而言)。当进行多个位元的校正时,可能的ECC位元读取或检查结果可更包含已校正的位元个数,或者包含单纯指示被校正的位元的最大个数。反应于ECC位元读取或检查结果的动作例如包含当结果为无错误及已校正的错误,且所述的已校正的错误小于可校正位元的最大个数或一些次要的临界值时,不采取任何动作;当结果为已校正的错误,且已被校正的错误为可校正位元的最大个数或一些次要的临界值时,进行区块取代的操作;以及当重复读取成功而使区块取代的操作随着无法校正的错误而进行时,进行重复读取。对于页面程序化及区块抹除操作而言,其基于状态暂存器中的一或多个通过/失效位元而决定读取(对于使用者控制处理及半自动处理的范例而言)或检查(对于自动处理的范例而言)状态暂存器。反应于状态暂存器的读取或检查结果的动作包含例如当状态暂存器指示为”通过”时,不采取任何动作;当状态暂存器指示为”失效”时,重复程序化或抹除的操作;以及若是状态暂存器指示为”失效”时,以区块取代来进行重复程序化或抹除的操作。
虽然连续页面读取操作的目的系为了在一般情况下输出大量的页面,在单一连续页面读取操作期间中发现数个损坏区块的情况也较少见。因此,连续页面读取CPR地址暂存器24仅需具有单一页面地址的容量,然而其也可根据需求而具有多个页面地址的容量。对于连续页面读取操作而言,检查损坏区块(步骤610)以及决定是否取代该损坏区块(步骤620)的操作系与ECC位元的检查相关。若有需要,连续页面读取操作可利用取代区块来重复。万一初步辨识出额外的损坏区块,则仅重复进行损坏区块管理。
若是损坏区块被取代的状况下(步骤620-是)选择取代区块(步骤630)。对于使用者控制处理的范例而言,使用者发出适当的指令以使损坏区块的逻辑区块地址映射至取代区块的物理区块地址。地址映射指令为一种适当的指令类型,其中地址映射指令为使用者在使用者可寻址区域42中决定取代区块的物理区块地址,并且指定损坏区块的逻辑区块地址与被选择的取代区块的物理区块地址的指令。损坏区块标记指令本身为另一种适当的指令类型。对于半自动处理及自动处理的范例而言,控制逻辑可反应于任何适当的指令而选择取代区块。虽然可使用专用的指令来启动取代区块选择的操作,但取代区块选择的操作也可通过其他指令类型来启动。举例来说,损坏区块标记指令在本领域常被用于作为适于启动取代区块选择的指令。虽然传统损坏区块标记的需求已被查询表信息区块46(图1)所取代,但在旧有的***中保留所述的损坏区块标记指令也不会造成任何损害。然而,所述的损坏区块标记指令可被修正以额外地使损坏区块的逻辑区块地址映射至冗余区块区域44中的可用区块,藉以消除使用者从冗余区块区域44所提供的可用区块中决定取代区块的逻辑区块地址的需求。由于冗余区块区域44及使用者可寻址区域44皆可存取与非门快闪存储器装置的控制逻辑,故取代区块可仅从与非门快闪阵列40的冗余区块区域44中选择,或者可从与非门快闪阵列40的冗余区块区域44与使用者可寻址区域42其中之一来选择。任何所需的技术皆可用以辨识下一个可用的取代区块,举例来说,可利用取代区块地址暂存器(未绘示),其中所述的取代区块地址暂存器包含下一个可用的取代区块的物理区块地址。制造商可于最初时产生下一个可用的取代区块地址并将其储存至查询表信息区块46中,其中查询表信息区块46可于装置启动时在取代区块地址暂存器中被读取及被储存,并且可于装置操作的期间内被更新。可用的取代区块可通过任何可行方式决定,例如在冗余区块区域44中从低地址至高地址,其次在使用者可寻址区域42中从高地址至低地址来决定可用的取代区块。为了取代区块的目的,可保留使用者可寻址区域42中的区块来作为取代区块,或者检查每一区块以确保各个区块在被选择为”可用”之前未被使用。
在损坏区块的逻辑区块地址及取代区块的逻辑区块地址两者皆已知的情况下,可据以更新查询表暂存器27及查询表信息区块46(步骤640)。更新的操作在使用者控制处理的范例中可通过地址映射指令或损坏区块标记指令来启动,在半自动处理的范例中可通过损坏区块标记指令来启动,在自动处理的范例中可通过控制逻辑来启动。为使后续的存储器存取得以准确,查询表暂存器27需要提示更新。为使已更新的查询表不会在电源中断时遗失,查询表暂存器信息区块46也需合理地提示更新。更新的操作可利用任何所需的方式来进行,例如,个别地进行更新的操作,或是先通过更新查询表暂存器27后接着通过将查询表暂存器27的查询表写入至查询表信息区块46的方式来进行更新的操作。
接着将数据从损坏区块转移至取代区块(步骤650)。举例来说,在查询表暂存器27中,对每一取代区块放置两个映射索引,第一个映射索引可作为使用者可寻址区域中损坏区块逻辑区块地址至良好取代区块的路由,而第二个映射索引则可作为逻辑区块地址至对应的良好取代区块至对应的损坏区块的路由。第二个映射索引提供损坏区块的存取,以从损坏区块转移数据至良好取代区块。在使用者控制处理的范例中,所述的传送操作可通过地址映射指令或损坏区块标记指令而启动,在半自动处理的范例中,所述的传送操作可通过损坏区块标记指令而启动,在自动处理的范例中,所述的传送操作可通过控制逻辑而启动。可更进一步地继续进行处理660。在区块传送的操作之后,损坏区块的存取得以被避免。
在从使用者可寻址区域42中选择取代区块的情况下,使用者应注意不要存取用以读取、程序化或抹除的取代区块。在使用者控制处理的范例中,应由控制映射操作的使用者来注意不要存取用以读取、程序化或抹除的取代区块。使用者可通过读取查询表暂存器27以判断特定的存取操作是否为存取取代区块的操作。此外,与非门快闪存储器装置的控制逻辑可自动地判断特定的存取操作是否为存取取代区块的操作。举例来说,与非门快闪存储器装置可在指令执行前,先行搜寻指令中所指定的一或多个地址是否符合查询表暂存器27中的物理区块地址。若是指令中所指定的地址皆不符合查询表暂存器27中的物理区块地址时,则表示指令可被执行。若是指令中所指定的地址符合查询表暂存器27中的物理区块地址时,则表示使用者试图直接存取取代区块,因此指令应不被执行。
利用ECC的连续读取及损坏区块管理
"连续读取"在此表示一种存储器读取操作的类型,所述的连续读取的目的在于其可不需于每一页面重复发送页面读取指令,而可通过页面接续页面(page-by-page)的方式来读取存储器阵列的部份或全部。在图1所绘示的具有SPI接口的与非门快闪存储器20的例子中,与非门快闪存储器装置20可通过控制信号高电平至低电平的转态而启动,接着发出连续页面读取指令。在此实施例中,一个连续页面读取指令的发送可使连续页面可被序列地读取并输出直到处理程序停止。连续页面读取可通过任何所需的方式停止。举例来说,连续页面读取可通过停止时脉的控制信号CLK并接着将控制信号CS/自低电平转态至高电平的方式,以使连续页面读取基于时脉的控制信号CLK而停止。此外,连续页面读取指令可依据其他独立的信号以在读取预设或指定数量的页面后,或者在任何其他所需的方式下停止进行。
用于与非门快闪存储器阵列的页面缓冲器可被建构与操作以在连续页面读取期间消除输出数据的间隙与不连续,所述的在连续页面读取期间消除输出数据的间隙与不连续的技术说明可参见2012年5月4日由Gupta等人所申请的第13/464,535号美国专利(“Method and Apparatus for Reading NAND Flash Memory”),以上专利以全文引用方式并入本文。”可寻址连续页面读取”在此系对应于Gupta等人所申请的专利中的”连续页面读取”,并且”快速连续页面读取”在此对应于Gupta等人所申请的专利中的”修改连续页面读取”。
加入可通过控制逻辑(例如图1的控制逻辑30)来进行本地存取的在芯片上的快速的查询表暂存器(例如图1的查询表暂存器27)的优点在于,当遇到取代区块时,查询表暂存器可在不具有显著的页面读取时间延迟的情况下,从与非门快闪存储器利用损坏区管理启动连续页面读取,因此更有助于避免任何跨页与区块边界的间隙或不连续。
图10绘示适于利用ECC完成连续页面读取操作的页面缓冲器组成及操作的步骤流程图。图11所绘示的不同的连续操作的示意图系关联于图10中所绘示的不同的步骤。图11所绘示的对应于各个操作的持续时间系为范例,本发明并不限定操作的持续时间。
图11绘示数据总线810、与非门快闪阵列850以及页面缓冲器。所述的页面缓冲器在此以包含数据暂存器840的范例性实施方式来实现。数据暂存器840包含以两个部分组成的数据暂存部分DR-0与DR-1。所述的页面缓冲器也包含快取暂存器830,快取暂存器830包含以两个部分组成的快取暂存部分CR-0与CR-1。因此,页面缓冲器中可视为具有包含快取暂存器CR-0及数据暂存器DR-0的第一部分,和包含快取暂存部分CR-1及数据暂存部分DR-1的第二部分。与未经划分的页面缓冲器不同的是,未经划分的页面缓冲器仅需一组控制信号,页面缓冲器的两个部分可能需要两组控制信号。此外,虽然页面缓冲器在此以两部分组成的架构为例来支援连续读取操作,但其相关变化对于使用者而言为透明(transparent)的。程序化操作可在2KB的标准页面容量下完成,并且例如在完成页面读取操作后从快取中读取页面数据的标准读取操作也可在2KB的标准页面容量下完成。这样的内部组成分为两部分的页面缓冲器特别适合用于连续页面读取操作,并且即使所述的页面缓冲器的内部分割以分为两部分方式来实现,页面缓冲器的内部分割对于使用者而言为透明的。
图11也范例性地绘示一错误校正电路820,其可于逻辑上视为具有错误校正电路区段ECC-0与ECC-1。错误校正电路区段ECC-0提供快取暂存部分CR-0的内容的错误校正,并且错误校正电路区段ECC-1提供快取暂存部分CR-1的内容的错误校正。虽然为了说明清楚,两不同的错误校正电路区段ECC-0与ECC-1绘示为分别与快取暂存部分CR-0与CR-1介接,然而也可使用单一ECC区块同时与快取暂存部分CR-0与CR-1介接。
快速连续读取指令并未包含地址栏位,而是依靠包含地址栏位的先前指令,例如页面读取指令。请参照图10与图11,页面读取指令700提供初始页面852的地址,其中初始页面852的地址被读取及储存于数据暂存器840中(步骤710)。举例来说,从页面852转移2K字节的数据至数据暂存器DR-0与DR-1,其中页面852可视为序列的页面-0。其中每次转移1K字节至数据暂存器DR-0与DR-1的操作可为同时或不同时进行。页面读取的操作时间例如为20微秒(μs)。
接着如图10与图11所示,将数据暂存器840中的数据转移至快取暂存器830(步骤720),并且对快取暂存器830中的页面数据进行ECC计算(步骤730)。从数据暂存器840至快取暂存器830的转移时间取决于设计选择,但通常介于约1μs至约3μs。错误校正电路820校正完成所需的时间取决于ECC演算法的选择、内部数据总线、芯片上时序振荡器周期以及其他设计因素。举例来说,由于一些物理设计可同时针对快取暂存器830的各个快取暂存部分CR-0与CR-1使用单一ECC电路区块,并且每一快取暂存部分CR-0与CR-1可例如花费18μs的时间来进行错误校正,故错误校正电路820可在约36μs的时间内完成校正。
页面读取在无时脉输出数据的情况下终止,并且接续着进行连续页面读取指令740。如图10与图11所示,在此可进行大致同时的多个操作。所述大致同时进行的多个操作其中一者为涉及发送快取暂存部分CR-0中的页面-0的数据至数据总线810,以经由数据总线810输出数据的操作(步骤750),其中页面-0的数据已经经过了ECC的计算。虽然数据总线810至输出端口之间的路径并未绘示,但这样的路径对于本领域具有通常知识者为众所周知。
所述大致同时进行的多个操作其中另一者为涉及转移数据暂存部分DR-1中的页面数据的部分至快取暂存部分CR-1,并且对快取暂存部分CR-1的页面数据部分进行ECC计算的操作(步骤760)。从数据暂存部分DR-1至快取暂存部分CR-1的转移时间取决于设计选择,但通常介于约1μs至约3μs。举例来说,错误校正电路区段ECC-1可在约12μs内完成校正。然而,假定发送出快取暂存部分CR-0数据的时间是20μs且数据暂存部分DR-1至快取暂存部分CR-1的转移时间为2μs,则错误校正电路区段ECC-0与ECC-1可经设计以在18μs或更短时间内完成。
所述大致同时进行的多个操作其中再一者为涉及从与非门快闪阵列850将下一顺序的页面数据854(页面-1)的2KB页面读入数据暂存部分DR-0与DR-1的操作(步骤770)。查询表取代区块的处理程序可用于各个存取操作,或者仅用于第一个存取以及跨区块边界。虽然大多数的转移系与步骤760的操作同时进行,但其在数据暂存部分DR-1的数据转移至快取暂存器CR-1的操作之后才开始进行。
虽然图11绘示的各种操作大致为同时进行,但并非所有操作皆需要同时进行,只要根据本文陈述的教示而可避免输出数据的间隙与其他不连续即可。
接着请参照图10与图11,在此可进行大致同时的多个操作。所述大致同时进行的多个操作其中一者涉及发送快取暂存部分CR-1中的页面-0的数据至数据总线810,以经由数据总线810输出数据的操作(步骤780),其中页面-0的数据已经经过了ECC的计算。假定时脉频率为100MHz,可在约20μs中发送出快取暂存部分CR-1的数据(1KB)。
所述大致同时进行的多个操作其中另一者为涉及转移数据暂存部分DR-0中的页面数据的部分至快取暂存部分CR-0,并且对快取暂存部分CR-0的页面数据部分进行ECC计算的操作(步骤790)。此一操作步骤实质上以类似于图11的相关描述来进行。
连续页面读取操作通过回圈回到步骤750而继续进行,并且可通过停止时脉与控制信号CS/来停止。此外,连续页面读取操作也可通过改变连续页读取命令以在读取预定数量的页面的后或以设计者所需的任一其他方式停止。
连续页面读取指令的优点在于,其可致使在页面或区块边界读取整个或所需部分的与非门快闪阵列时不具有间隙或不连续的状况。此一优点通过以交替方式读取数据来实现的,例如交替地从快取暂存部分CR-0与CR-1中读取数据。
图12绘示适于利用ECC完成可寻址连续页面读取操作的页面缓冲器组成及操作的步骤流程图。图12所绘示的不同的连续操作的示意图系关联于图11中所绘示的不同的步骤。
如图12所示,将可寻址连续页面读取指令中指定的初始页面852(页面-0)从与非门快闪阵列850转移至数据暂存器840的数据暂存部分DR-0与DR-1(步骤910)。
接着请同时参照图11与图12所示,将数据暂存器840中的部分的页面数据转移至快取暂存器830,并且对快取暂存部分CR-0中的页面数据部分进行ECC计算(步骤920)。
可寻址连续页面读取操作基本上可如图12中的步骤930、940、950、960以及970一般对应于图10中的步骤750、760、770、780以及790。由于在ECC计算尚未完成之前,数据还没准备好发送至输出,因此步骤910与912的操作可能需要考虑初始延迟。此延迟可能约为40μs。相反地,由于快速连续页面读取可在使用者提供指令、地址以及可选择的虚拟时脉后立即输出数据,因此快速连续页面读取不具有延迟。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明。根据本发明实施例所揭露的内容的变化及修改皆为可能,并且本领域具有通常知识者应可在研究本专利文件后了解实施例中各种元件的置换及均等物。另外,在实施例中所提及的特定数值皆为范例,且可根据需求而改变。在不脱离本发明的精神和范围内,任何的更动与润饰,包括实施例中的各种元件的置换及均等,皆不脱离本发明的范畴,其中本发明的保护范围当视后附的申请专利范围所界定者为准。

Claims (9)

1.一种在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中该与非门快闪存储芯片具有一与非门快闪存储器阵列以及一页面缓冲器,该页面缓冲器包括一数据暂存器以及一快取暂存器,该方法包括:
在具有该与非门快闪存储器阵列的芯片上维持一查询表暂存器,该查询表暂存器储存至少一逻辑损坏区块地址以及对应于所述逻辑损坏区块地址的至少一物理取代区块地址;
从该快取暂存器中的多个快取暂存部分无缝且连续地输出数据,该数据暂存器被组织为对应于该快取暂存器的该些快取暂存部分的多个数据暂存部分;
建立用以存取该与非门快闪存储器阵列的一逻辑页面地址,该逻辑页面地址包括一逻辑区块地址部分;
在该查询表暂存器的所述逻辑损坏区块地址中搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合;
当从该些快取暂存部分中的一第一快取暂存部分输出数据时,从该快取暂存器中的对应部分转移数据至一第二快取暂存部分,该第二快取暂存部分不同于该第一快取暂存部分;
在该第一快取暂存部分输出数据且转移数据至该第二快取暂存部分的步骤后,在该第二快取暂存部分上进行一错误校正码计算;
在该第一快取暂存部分输出数据且转移数据至该第二快取暂存部分的步骤后,当搜寻的步骤中所述逻辑损坏区块地址与该逻辑区块地址部分皆不符合时,利用该逻辑页面地址从该与非门快闪存储器阵列中将一数据页面读入该数据暂存器,以及当搜寻的步骤中所述逻辑损坏区块地址的其中之一与该逻辑区地址部分符合时,利用所述物理取代区块地址的其中之一将该数据页面读入该数据暂存器,其中所述物理取代区块地址的该其中之一对应于符合该逻辑区块地址部分的所述逻辑损坏区块地址的该其中之一;以及
当从该第二快取暂存部分输出数据时,从该数据暂存器的对应部分转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算。
2.如权利要求1所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中建立该逻辑页面地址的步骤包括以单一页面递增该逻辑页面地址,该方法还包括:
于跨越一页面边界时,重复进行从该些快取暂存部分输出数据的步骤、建立该逻辑页面地址的步骤、转移数据至该第二快取暂存部分的步骤、进行该错误校正码计算的步骤、将该数据页面读入该数据暂存器的步骤以及转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算的步骤。
3.如权利要求2所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中建立该逻辑页面地址的步骤还包括以单一页面递增该逻辑页面地址,该方法还包括:
于跨越一区块边界时,重复进行从该些快取暂存部分输出数据的步骤、建立该逻辑页面地址的步骤、搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合的步骤、转移数据至该第二快取暂存部分的步骤、进行该错误校正码计算的步骤、将该数据页面读入该数据暂存器的步骤以及转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算的步骤。
4.如权利要求1所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中建立该逻辑页面地址的步骤还包括以单一页面递增该逻辑页面地址,该方法还包括:
于跨越一页面边界时,重复进行从该些快取暂存部分输出数据的步骤、建立该逻辑页面地址的步骤、搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合的步骤、转移数据至该第二快取暂存部分的步骤、进行该错误校正码计算的步骤、将该数据页面读入该数据暂存器的步骤以及转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算的步骤。
5.如权利要求4所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中建立该逻辑页面地址的步骤还包括以单一页面递增该逻辑页面地址,该方法还包括:
于跨越一区块边界时,重复进行从该些快取暂存部分输出数据的步骤、建立该逻辑页面地址的步骤、搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合的步骤、转移数据至该第二快取暂存部分的步骤、进行该错误校正码计算的步骤、将该数据页面读入该数据暂存器的步骤以及转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算的步骤。
6.如权利要求1所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中建立该逻辑页面地址的步骤还包括以单一页面递增该逻辑页面地址,该方法还包括:
于跨越一区块边界时,重复进行从该些快取暂存部分输出数据的步骤、建立该逻辑页面地址的步骤、搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合的步骤、转移数据至该第二快取暂存部分的步骤、进行该错误校正码计算的步骤、将该数据页面读入该数据暂存器的步骤以及转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算的步骤。
7.如权利要求1所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中从该些快取暂存部分输出数据的步骤在一初始延迟期间的后开始进行,该初始延迟期间包括从该与非门快闪存储器阵列将该数据页面读入该数据暂存器的时间。
8.如权利要求1所述的在与非门快闪存储芯片上进行连续页面读取操作的方法,其特征在于,其中从该些快取暂存部分输出数据的步骤在不具有一初始延迟期间下进行。
9.一种与非门快闪存储芯片,其特征在于其包括:
一与非门快闪存储器阵列;
一列解码器,耦接该与非门快闪存储器阵列;
一页面缓冲器,耦接该与非门快闪存储器阵列;
一行解码器,耦接该页面缓冲器;
一输入/输出控制器,耦接该行解码器;
一状态暂存器,耦接该输入/输出控制器;
一连续页面读取损坏区块地址暂存器,耦接该输入/输出控制器;
一指令暂存器,耦接该输入/输出控制器;
一地址暂存器,耦接该输入/输出控制器;
一查询表暂存器,耦接该输入/输出控制器;以及
一控制逻辑电路,耦接该列解码器、该行解码器、该页面缓冲器、该状态暂存器、该连续页面读取损坏区块地址暂存器、该指令暂存器、该地址暂存器以及该查询表暂存器,其中该页面缓冲器包括:
一数据暂存器,耦接该与非门快闪存储器阵列;以及
一快取暂存器,耦接该数据暂存器与该行解码器,该快取暂存器被组织为多个快取暂存部分,并且该数据暂存器被组织为对应于该快取暂存器的该些快取暂存部分的多个数据暂存部分,
其中该控制逻辑电路包括多个逻辑元件,该些逻辑元件用以执行以下功能:
维持该查询表暂存器,该查询表暂存器储存至少一逻辑损坏区块地址以及对应于所述逻辑损坏区块地址的至少一物理取代区块地址;
从该快取暂存器中的多个快取暂存部分无缝且连续地输出数据;
建立用以存取该与非门快闪存储器阵列的一逻辑页面地址,该逻辑页面地址包括一逻辑区块地址部分;
在该查询表暂存器的所述逻辑损坏区块地址中搜寻所述逻辑损坏区块地址的其中之一与该逻辑区块地址部分之间是否符合;
当从该些快取暂存部分中的一第一快取暂存部分输出数据时,从该快取暂存器中的对应部分转移数据至一第二快取暂存部分,该第二快取暂存部分不同于该第一快取暂存部分;
在该第一快取暂存部分输出数据且转移数据至该第二快取暂存部分的步骤后,对该第二快取暂存部分进行一错误校正码计算;
在该第一快取暂存部分输出数据且转移数据至该第二快取暂存部分的步骤后,当搜寻的步骤中所述逻辑损坏区块地址与该逻辑区块地址部分皆不符合时,利用该逻辑页面地址从该与非门快闪存储器阵列中将一数据页面读入该数据暂存器,以及当搜寻的步骤中所述逻辑损坏区块地址的其中之一与该逻辑区地址部分符合时,利用所述物理取代区块地址的其中之一将该数据页面读入该数据暂存器,其中所述物理取代区块地址的该其中之一对应于符合该逻辑区块地址部分的所述逻辑损坏区块地址的该其中之一;以及
当从该第二快取暂存部分输出数据时,从该数据暂存器的对应部分转移数据至除了该第二快取暂存部分的其余该些快取暂存部分的其中之一,并且对其余该些快取暂存部分的该其中之一进行该错误校正码计算。
CN201210541563.2A 2012-12-14 2012-12-14 与非门快闪存储器阵列及芯片及其存取、读取及管理方法 Active CN103871447B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210541563.2A CN103871447B (zh) 2012-12-14 2012-12-14 与非门快闪存储器阵列及芯片及其存取、读取及管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210541563.2A CN103871447B (zh) 2012-12-14 2012-12-14 与非门快闪存储器阵列及芯片及其存取、读取及管理方法

Publications (2)

Publication Number Publication Date
CN103871447A CN103871447A (zh) 2014-06-18
CN103871447B true CN103871447B (zh) 2017-03-01

Family

ID=50909901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210541563.2A Active CN103871447B (zh) 2012-12-14 2012-12-14 与非门快闪存储器阵列及芯片及其存取、读取及管理方法

Country Status (1)

Country Link
CN (1) CN103871447B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3640944A1 (en) * 2018-10-17 2020-04-22 Macronix International Co., Ltd. Non-sequential page continuous read

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105590648B (zh) * 2014-10-22 2019-11-01 华邦电子股份有限公司 存储器读取方法以及数字存储器装置
CN105825890B (zh) * 2015-01-09 2019-10-01 华邦电子股份有限公司 存储器编程方法以及存储器装置
US10083135B2 (en) * 2015-08-28 2018-09-25 Macronix International Co., Ltd. Cooperative overlay
US10658046B2 (en) * 2017-05-26 2020-05-19 Macronix International Co., Ltd. Memory device and method for operating the same
US10831596B2 (en) * 2018-01-22 2020-11-10 Micron Technology, Inc. Enhanced error correcting code capability using variable logical to physical associations of a data block
CN110147200A (zh) * 2018-02-13 2019-08-20 矽创电子股份有限公司 闪存的控制器及控制方法
US10977121B2 (en) * 2018-10-17 2021-04-13 Macronix International Co., Ltd. Fast page continuous read
US10957384B1 (en) 2019-09-24 2021-03-23 Macronix International Co., Ltd. Page buffer structure and fast continuous read
US11302366B2 (en) 2020-03-06 2022-04-12 Macronix International Co., Ltd. Method and system for enhanced read performance in low pin count interface
US11249913B2 (en) 2020-03-06 2022-02-15 Macronix International Co., Ltd. Continuous read with multiple read commands
US11797371B2 (en) 2020-08-18 2023-10-24 Changxin Memory Technologies, Inc. Method and device for determining fail bit repair scheme
US11791010B2 (en) 2020-08-18 2023-10-17 Changxin Memory Technologies, Inc. Method and device for fail bit repairing
CN114078562B (zh) * 2020-08-18 2023-08-25 长鑫存储技术有限公司 失效位元的修补方法及装置
US11887685B2 (en) 2020-08-18 2024-01-30 Changxin Memory Technologies, Inc. Fail Bit repair method and device
EP3985675B1 (en) 2020-08-18 2024-01-31 Changxin Memory Technologies, Inc. Method and device for repairing fail bits
US11984179B2 (en) 2021-03-26 2024-05-14 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, and medium
US11881278B2 (en) 2021-03-31 2024-01-23 Changxin Memory Technologies, Inc. Redundant circuit assigning method and device, apparatus and medium
US11791012B2 (en) 2021-03-31 2023-10-17 Changxin Memory Technologies, Inc. Standby circuit dispatch method, apparatus, device and medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1902599A (zh) * 2003-12-30 2007-01-24 桑迪士克股份有限公司 具有大型擦除区块的非易失性存储器***的管理
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
CN101281493A (zh) * 2008-05-26 2008-10-08 中兴通讯股份有限公司 与非闪存器及其管理方法
CN100565477C (zh) * 2007-12-06 2009-12-02 浙江科技学院 一种NAND Flash存储器的动态管理方法
CN102239477A (zh) * 2008-12-08 2011-11-09 茵芬尼特麦默里有限公司 针对阵列缺陷使用高效管理方法的非易失性存储器(nvm)中的连续地址空间
TW201214442A (en) * 2010-09-29 2012-04-01 Sandisk Technologies Inc Techniques for the fast settling of word lines in NAND flash memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
US7519754B2 (en) * 2005-12-28 2009-04-14 Silicon Storage Technology, Inc. Hard disk drive cache memory and playback device
JP5612514B2 (ja) * 2010-03-24 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7171536B2 (en) * 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
CN1902599A (zh) * 2003-12-30 2007-01-24 桑迪士克股份有限公司 具有大型擦除区块的非易失性存储器***的管理
CN100565477C (zh) * 2007-12-06 2009-12-02 浙江科技学院 一种NAND Flash存储器的动态管理方法
CN101281493A (zh) * 2008-05-26 2008-10-08 中兴通讯股份有限公司 与非闪存器及其管理方法
CN102239477A (zh) * 2008-12-08 2011-11-09 茵芬尼特麦默里有限公司 针对阵列缺陷使用高效管理方法的非易失性存储器(nvm)中的连续地址空间
TW201214442A (en) * 2010-09-29 2012-04-01 Sandisk Technologies Inc Techniques for the fast settling of word lines in NAND flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3640944A1 (en) * 2018-10-17 2020-04-22 Macronix International Co., Ltd. Non-sequential page continuous read

Also Published As

Publication number Publication date
CN103871447A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
CN103871447B (zh) 与非门快闪存储器阵列及芯片及其存取、读取及管理方法
JP5984989B2 (ja) オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法
CN101772810B (zh) 用于并行存储器阵列的块寻址
US8386698B2 (en) Data accessing method for flash memory and storage system and controller using the same
JP4524309B2 (ja) フラッシュメモリ用のメモリコントローラ
CN110045913A (zh) 垃圾收集的方法、记忆装置及其控制器和电子装置
TWI506430B (zh) 映射資訊記錄方法、記憶體控制器與記憶體儲存裝置
US9146854B2 (en) Restoring storage devices based on flash memories and related circuit, system, and method
US9009399B2 (en) Flash memory storage system and controller and data writing method thereof
US20100042774A1 (en) Block management method for flash memory, and storage system and controller using the same
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
EP2034414A1 (en) Semiconductor storage device and method of controlling semiconductor storage device
CN108733510A (zh) 数据储存装置及映射表重建方法
US20100146239A1 (en) Continuous address space in non-volatile-memories (nvm) using efficient embedded management of array deficiencies
US20100057979A1 (en) Data transmission method for flash memory and flash memory storage system and controller using the same
US8667234B2 (en) Data writing method, memory controller, and memory storage apparatus
US20100241789A1 (en) Data storage method for flash memory and data storage system using the same
WO2006009322A2 (en) Memory card, nonvolatile semiconductor memory, and method of controlling semiconductor memory
US8074128B2 (en) Block management and replacement method, flash memory storage system and controller using the same
TW201928988A (zh) 資料儲存裝置與記憶體裝置之資料處理方法
TWI501249B (zh) 晶片上之反及閘快閃記憶體及其損壞區塊管理方法
US8943264B2 (en) Data storing method, and memory controller and memory storage apparatus using the same
JP2006011533A (ja) メモリカード、半導体装置、及び半導体メモリの制御方法
US20130067141A1 (en) Data writing method, and memory controller and memory storage apparatus using the same
CN105825890B (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