CN101652753B - 用于非易失性存储器的引导部署 - Google Patents

用于非易失性存储器的引导部署 Download PDF

Info

Publication number
CN101652753B
CN101652753B CN2008800047674A CN200880004767A CN101652753B CN 101652753 B CN101652753 B CN 101652753B CN 2008800047674 A CN2008800047674 A CN 2008800047674A CN 200880004767 A CN200880004767 A CN 200880004767A CN 101652753 B CN101652753 B CN 101652753B
Authority
CN
China
Prior art keywords
memory
module
control module
page
lpage
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 - Fee Related
Application number
CN2008800047674A
Other languages
English (en)
Other versions
CN101652753A (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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN101652753A publication Critical patent/CN101652753A/zh
Application granted granted Critical
Publication of CN101652753B publication Critical patent/CN101652753B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/24Accessing extra cells, e.g. dummy cells or redundant cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C2029/5002Characteristic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种存储器控制模块包括格式模块,所述格式模块与包括B个存储器块的存储器阵列通信,每个存储器块包括P个物理页和Q个逻辑页。格式模块在B个存储器块中的每一个中选择X个预定位置以写入引导数据和读回引导信号。B、P、Q和X是大于或等于1的整数。存储器控制模块还包括信号处理模块,所述信号处理模块将所写入的引导数据与读回的引导信号相比较,并基于比较结果确定所写入的引导数据和所读回的引导信号之间的差异。

Description

用于非易失性存储器的引导部署
相关申请的交叉引用
本申请要求2008年2月11日提交的美国发明专利申请No.12/029,134的优先权,该申请要求2007年2月12日提交的美国临时申请No.60/889,441的优先权。上述申请的公开通过引用全文结合于此。
技术领域
本公开涉及存储器,更具体而言涉及非易失性存储器。
背景技术
这里提供的背景技术描述仅用于一般地呈现本公开的上下文。在该背景技术部分中所描述的当前署名的发明人的工作以及不能以其他方式被当作提交时的现有技术的这些描述中的一些方面不能明示或暗示地看作是本公开的现有技术。
现在参考图1、2A和2B,非易失性半导体存储器10可包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM、多态存储器等。非易失性半导体存储器10可包括一个或多个阵列16。阵列16可以布置为B个存储器块18-1、18-2、...和18-B(总地称为块18)。
在图2A中,每个块18包括P个页20-1、20-2、...和20-P(总地称为页20)。在图2B中,每个页20可包括与数据部分24相关联的多个存储器单元,并且可包括与开销数据部分26相关联的其他存储器单元,开销数据部分26例如是纠错码(ECC)数据或其他(O)开销数据。
非易失性半导体存储器10一般与主机设备的存储器控制模块通信。通常,控制模块利用硬连线块大小来寻址存储器。块中的页也具有硬连线物理页大小,并且因此可以称为物理页。数据和开销部分24和26中的存储器单元的数目分别也可以是硬连线的。
仅作为示例,NAND闪存阵列对于总共2吉字节(GB)的存储器可包括16384个块。每个块可包括64页中的128千字节(KB)。每个页可包括2112个字节。在2112个字节中,2048个字节可以与数据部分相关联,而64个字节可以与开销部分相关联。每个存储器单元可以存储一个比特。为了擦除存储在阵列中的数据,存储器控制模块一般需要擦除整块和/或整页。
在图2C中,存储器块18包括物理页50-1、50-2、...和50-P(总地称为页50)。每个页50包括用于数据部分的Y个存储器单元(存储器单元46-1、46-2、...和46-Y)和用于开销部分的Z个存储器单元(存储器单元46-(Y+1)、46-(Y+2)、...和46-(Y+Z)),其中Y和Z对于特定的存储器控制模块来说是固定值。在对第一写数据块的第一写操作期间,存储器控制模块将数据写到页50-1和50-2以及页50-3的一部分。在对第二写数据块的第二写操作期间,数据被写到页50-4和50-5以及页50-6的一部分。页50-3和50-6中的剩余存储器单元不被使用。
现在参考图2D,图示了包括物理页和逻辑页两者的另一存储器块80。存储器控制模块(未示出)可以将物理页50-1至50-6格式化为表现为逻辑页51-1至51-3以用于读/写操作。换句话说,数据根据逻辑页而不是根据物理页被写到存储器块。
发明内容
一种存储器控制模块包括格式模块,所述格式模块与包括B个存储器块的存储器阵列通信,每个存储器块包括P个物理页和Q个逻辑页。格式模块在B个存储器块中的每一个中选择X个预定位置以写入引导数据(pilot data)和读回引导信号。B、P、Q和X是大于或等于1的整数。存储器控制模块还包括信号处理模块,所述信号处理模块将所写入的引导数据与读回的引导信号相比较,并基于比较结果确定所写入的引导数据和所读回的引导信号之间的差异。
在其他特征中,引导数据在存储器阵列的读、写和擦除操作期间被嵌入到用户数据中。格式模块选择性地设置Q个逻辑页中的每一个的开头和结尾之一。格式模块选择性地设置P个物理页中的每一个的开头和结尾之一。存储器控制模块还包括写模块和读模块中的至少一个,所述写模块选择性地将包括引导数据的数据写到存储器阵列,读模块选择性地从存储器阵列读回数据。
在其他特征中,信号处理模块执行以下操作中的至少一种:在后续读/写操作中忽略差异,以及在后续读/写操作中不对发生差异的存储器阵列中的位置进行写/读操作。所述差异至少部分地是由于对存储器阵列的物理扰动和存储器阵列内的缺陷之一引起的。
在其他特征中,存储器控制模块包括设置X个预定位置中的M个的引导位置模块。Q个逻辑页中的每一个包括开头和结尾之一。M个预定位置对于Q个逻辑页中的每一个来说相对于开头和结尾是相同的。M是大于或等于1的整数。引导位置模块将M个预定位置中的至少一个设置在Q个逻辑页中的每一个内的开头、结尾和某一位置。所述位置包括Q个逻辑页中的每一个的中间。引导位置模块在Q个逻辑页中的每一个内按预定模式设置M个预定位置。引导位置模块将M个预定位置中的至少一个设置在开头,并且还将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,存储器控制模块包括设置X个预定位置中的M个的引导位置模块。P个物理页中的每一个包括开头和结尾之一。M个预定位置对于P个物理页中的每一个来说相对于开头和结尾是相同的。M是大于或等于1的整数。引导位置模块将M个预定位置中的至少一个设置在P个物理页中的每一个内的开头、结尾和某一位置。所述位置包括P个物理页中的每一个的中间。引导位置模块在P个物理页中的每一个内按预定模式设置M个预定位置。引导位置模块将M个预定位置中的至少一个设置在开头,并且还将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,一种存储器系统包括存储器控制模块,并且还包括存储器阵列。存储器阵列包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM和多态存储器中的至少一种。格式模块生成存储器阵列的存储器映射。格式模块执行以下操作中的至少一种:将存储器映射调节为存储器阵列中发生差异的指示部分中的至少一个,以及不再继续使用存储器阵列中发生差异的部分。
在其他特征中,一种用于操作存储器控制模块的方法包括在存储器阵列的B个存储器块中的每一个中选择X个预定位置来写入引导数据和读回引导信号。B个存储器块中的每一个包括P个物理页和Q个逻辑页。B、P、Q和X是大于或等于1的整数。该方法还包括将所写入的引导数据与读回的引导信号相比较。该方法还包括基于比较结果确定所写入的引导数据和所读回的引导信号之间的差异。
在其他特征中,该方法包括读、写和擦除嵌入在用户数据中的引导数据。该方法还包括选择性地设置Q个逻辑页中的每一个的开头和结尾之一。该方法还包括选择性地设置P个物理页中的每一个的开头和结尾之一。该方法还包括选择性地将包括引导数据的数据写到存储器阵列和选择性地从存储器阵列读回数据中的至少一种。该方法还包括以下操作中的至少一种:在后续读/写操作中忽略差异,以及在后续读/写操作中不对发生差异的存储器阵列中的位置进行写/读操作。所述差异至少部分地是由于对存储器阵列的物理扰动和存储器阵列内的缺陷之一引起的。
在其他特征中,该方法包括设置X个预定位置中的M个。Q个逻辑页中的每一个包括开头和结尾之一。M个预定位置对于Q个逻辑页中的每一个来说相对于开头和结尾是相同的,其中M是大于或等于1的整数。该方法还包括将M个预定位置中的至少一个设置在Q个逻辑页中的每一个内的开头、结尾和某一位置。所述位置包括Q个逻辑页中的每一个的中间。
在其他特征中,该方法包括在Q个逻辑页中的每一个内按预定模式设置M个预定位置。该方法还包括将M个预定位置中的至少一个设置在开头,并将M个预定位置中的至少另一个设置在紧邻结尾。该方法还包括设置X个预定位置中的M个。P个物理页中的每一个包括开头和结尾之一。M个预定位置对于P个物理页中的每一个来说相对于开头和结尾是相同的,其中M是大于或等于1的整数。
在其他特征中,该方法包括将M个预定位置中的至少一个设置在P个物理页中的每一个内的开头、结尾和某一位置。所述位置包括P个物理页中的每一个的中间。该方法还包括在P个物理页中的每一个内按预定模式设置M个预定位置。该方法还包括将M个预定位置中的至少一个设置在开头,并将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,存储器阵列包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM和多态存储器中的至少一种。该方法还包括生成存储器阵列的存储器映射。该方法还包括以下操作中的至少一种:将存储器映射调节为存储器阵列中发生差异的指示部分中的至少一个,以及不再继续使用存储器阵列中发生差异的部分。
在其他特征中,用于控制存储器的控制装置包括格式装置,所述格式装置用于与用于存储数据的阵列装置通信。阵列装置包括B个存储器块,每个存储器块包括P个物理页和Q个逻辑页。格式装置在B个存储器块中的每一个中选择X个预定位置以写入引导数据和读回引导信号。B、P、Q和X是大于或等于1的整数。控制装置还包括信号处理装置,所述信号处理装置用于将所写入的引导数据与读回的引导信号相比较,并基于比较结果确定所写入的引导数据和所读回的引导信号之间的差异。
在其他特征中,引导数据在阵列装置的读、写和擦除操作期间被嵌入到用户数据中。格式装置选择性地设置Q个逻辑页中的每一个的开头和结尾之一。格式装置选择性地设置P个物理页中的每一个的开头和结尾之一。控制装置还包括写装置和读装置中的至少一个,所述写装置用于选择性地将包括引导数据的数据写到阵列装置,所述读装置用于选择性地从阵列装置读回数据。
在其他特征中,信号处理装置执行以下操作中的至少一种:在后续读/写操作中忽略差异,以及在后续读/写操作中不对发生差异的阵列装置中的位置进行写/读操作。所述差异至少部分地是由于对阵列装置的物理扰动和阵列装置内的缺陷之一引起的。
在其他特征中,控制装置包括设置X个预定位置中的M个的引导位置装置。Q个逻辑页中的每一个包括开头和结尾之一。M个预定位置对于Q个逻辑页中的每一个来说相对于开头和结尾是相同的。M是大于或等于1的整数。引导位置装置将M个预定位置中的至少一个设置在Q个逻辑页中的每一个内的开头、结尾和某一位置。所述位置包括Q个逻辑页中的每一个的中间。引导位置装置在Q个逻辑页中的每一个内按预定模式设置M个预定位置。引导位置装置将M个预定位置中的至少一个设置在开头,并且还将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,控制装置包括设置X个预定位置中的M个的引导位置模块。P个物理页中的每一个包括开头和结尾之一。M个预定位置对于P个物理页中的每一个来说相对于开头和结尾是相同的。M是大于或等于1的整数。引导位置装置将M个预定位置中的至少一个设置在P个物理页中的每一个内的开头、结尾和某一位置。所述位置包括P个物理页中的每一个的中间。引导位置装置在P个物理页中的每一个内按预定模式设置M个预定位置。引导位置装置将M个预定位置中的至少一个设置在开头,并且还将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,一种存储器系统包括控制装置,并且还包括阵列装置。阵列装置包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM和多态存储器中的至少一种。格式装置生成阵列装置的存储器映射。格式装置执行以下操作中的至少一种:将存储器映射调节为阵列装置中发生差异的指示部分中的至少一个,以及不再继续使用阵列装置中发生差异的部分。
在其他特征中,上述系统和方法是由一个或多个处理器所运行的计算机程序实现的。计算机程序可以驻留在计算机可读介质上,计算机可读介质例如但不限于存储器、非易失性数据存储装置、和/或其他合适的有形存储介质。
计算机程序包括在存储器阵列的B个存储器块中的每一个中选择X个预定位置来写入引导数据和读回引导信号。B个存储器块中的每一个包括P个物理页和Q个逻辑页。B、P、Q和X是大于或等于1的整数。计算机程序还包括将所写入的引导数据与读回的引导信号相比较。计算机程序还包括基于比较结果确定所写入的引导数据和所读回的引导信号之间的差异。
在其他特征中,计算机程序包括读、写和擦除嵌入在用户数据中的引导数据。计算机程序还包括选择性地设置Q个逻辑页中的每一个的开头和结尾之一。计算机程序还包括选择性地设置P个物理页中的每一个的开头和结尾之一。计算机程序还包括选择性地将包括引导数据的数据写到存储器阵列和选择性地从存储器阵列读回数据中的至少一种。计算机程序还包括以下操作中的至少一种:在后续读/写操作中忽略差异,以及在后续读/写操作中不对发生差异的存储器阵列中的位置进行写/读操作。所述差异至少部分地是由于对存储器阵列的物理扰动和存储器阵列内的缺陷之一引起的。
在其他特征中,计算机程序包括设置X个预定位置中的M个。Q个逻辑页中的每一个包括开头和结尾之一。M个预定位置对于Q个逻辑页中的每一个来说相对于开头和结尾是相同的,其中M是大于或等于1的整数。计算机程序还包括将M个预定位置中的至少一个设置在Q个逻辑页中的每一个内的开头、结尾和某一位置。所述位置包括Q个逻辑页中的每一个的中间。
在其他特征中,计算机程序包括在Q个逻辑页中的每一个内按预定模式设置M个预定位置。计算机程序还包括将M个预定位置中的至少一个设置在开头,并将M个预定位置中的至少另一个设置在紧邻结尾。计算机程序还包括设置X个预定位置中的M个。P个物理页中的每一个包括开头和结尾之一。M个预定位置对于P个物理页中的每一个来说相对于开头和结尾是相同的,其中M是大于或等于1的整数。
在其他特征中,计算机程序包括将M个预定位置中的至少一个设置在P个物理页中的每一个内的开头、结尾和某一位置。所述位置包括P个物理页中的每一个的中间。计算机程序还包括在P个物理页中的每一个内按预定模式设置M个预定位置。计算机程序还包括将M个预定位置中的至少一个设置在开头,并将M个预定位置中的至少另一个设置在紧邻结尾。
在其他特征中,存储器阵列包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM和多态存储器中的至少一种。计算机程序还包括生成存储器阵列的存储器映射。计算机程序还包括以下操作中的至少一种:将存储器映射调节为存储器阵列中发生差异的指示部分中的至少一个,以及不再继续使用存储器阵列中发生差异的部分。
本公开的应用的其他领域将从下文中提供的具体实施方式中变清楚。应当理解,具体实施方式和特定示例仅是用于说明目的,而并不是要限制本公开的范围。
附图说明
从具体实施方式和附图中将更完全地理解本公开,在附图中:
图1是根据现有技术包括块的存储器的功能框图;
图2A图示了根据现有技术存储器的块内的页;
图2B图示了根据现有技术页内的存储器单元;
图2C图示了根据现有技术布置在存储器块中的存储器单元;
图2D图示了根据现有技术布置在存储器块中的存储器单元;
图3A是根据本公开具有存储器控制模块的存储器系统的功能框图;
图3B图示了包括具有可变密度、页长度和/或开销的页的存储器块;
图3C图示了包括与数据部分和开销部分相关联的存储器单元的页;
图3D是更详细的图3A的存储器系统的示例性功能框图;
图3E图示了示例性引导位置模块;
图4是图示根据本公开的物理存储器空间的视图;
图5是图示根据本公开的物理存储器空间的视图;
图6是图示根据本公开的物理存储器空间的视图;
图7是图示根据本公开的物理存储器空间的视图;
图8是图示根据本公开的物理存储器空间的视图;
图9是图示根据本公开的物理存储器空间的视图;
图10是图示根据本公开的非易失性存储器的操作的流程图;
图11A是硬盘驱动器的功能框图;
图11B是DVD驱动器的功能框图;
图11C是高清晰度电视的功能框图;
图11D是车辆控制系统的功能框图;
图11E是蜂窝电话的功能框图;
图11F是机顶盒的功能框图;
图11G是移动设备的功能框图;以及
图11H是固态存储设备的功能框图。
具体实施方式
下面的描述本质上仅仅是示例性的,并且决不是意图限制本公开、其应用或使用。为了清楚的目的,在附图中将使用相同的标号来标识类似的元件。这里所用的短语A、B和C中的至少一个应当解释为指使用非排他性逻辑“或”的逻辑(A或B或C)。应当理解,一种方法内的步骤可以按不同顺序执行,而不改变本公开的原理。
这里所用的术语模块指专用集成电路(ASIC)、电子电路、运行一个或多个软件或固件程序的处理器(共享、专用或群组)和存储器、组合逻辑电路和/或提供所述功能的其他合适的组件。
引导数据可以存储在存储器中的多个位置内。引导数据可包括预定的数据模式。数据模式受到与存储在存储器中的其他数据类似的扰动。引导信号可以从引导数据中读出。信号处理模块可以基于引导数据来分析引导信号。信号处理模块可以基于分析结果确定包括引导数据的存储器块的扰动的统计参数。例如,诸如噪声之类的扰动可以具有诸如噪声的幅度和长度之类的统计参数。
物理页可以是具有硬连线大小的存储器单元的群组。逻辑页可包括一个或多个物理页内的格式化的开头和结尾点。逻辑页可以用在当要存储在存储器中的数据具有与物理页的长度不同的长度时。在大多数情况下,逻辑页大小和物理页大小是不同的。因而,一个逻辑页可以被分段并保存在不同的物理页中。控制模块可以在物理和/或逻辑页中设置引导数据的位置。
诸如噪声之类的扰动参数由于读/写循环、制造差异和/或操作环境状况而随不同的逻辑和物理页有所不同。控制模块的信号处理模块可以接收引导信号,将引导信号与引导数据相比较,并基于引导信号和引导数据之间的差别确定扰动参数。增大引导数据的位置数目可以增大基于引导信号处理的扰动判决的精确度。另外,所有的逻辑页都应当包括引导数据的位置。因此,本公开包括提供用于引导数据的预定位置。所有的逻辑页和/或所有的物理页可包括相同数目的引导数据的位置。这些位置相对于页的开头和结尾点可以是相同的。
在当前的闪存中,引导单元被放置在与数据存储单元不同的位置中。例如,引导单元可以放置在纠错码(ECC)/开销部分中;或者它们可以放置在用户不可访问的系统区域中。在本公开中,存储器系统使用将引导单元与用户数据一同放置(嵌入)的嵌入式方案。在这种方案中,引导数据和用户数据经历相同的读/写/擦除循环。因此,读回的引导信号提供了对用户数据的噪声和扰动的精确指示。
现在参考图3A-3E,图示了用于非易失性半导体存储器68的存储器系统66。在图3A中,主机设备70包括控制模块72。控制模块72可以改变非易失性半导体存储器68中每页的存储器单元的数目。控制模块72可以改变每页中针对数据部分和针对开销部分分配的存储器单元的数目。控制模块72还可以确定非易失性存储器68内引导数据的位置。
控制模块72的格式模块110可以利用引导数据的位置对存储器68进行格式化。格式模块110可包括在存储器68中设置引导数据的位置的引导位置模块112。引导程序模块116将已知的模式编程为位置,以有利于噪声和扰动参数的快速获取。
格式模块110可以将引导数据的位置设置在物理页和/或逻辑页的开头、中间和/或结尾。格式模块110也可以根据已知模式分发引导数据的位置。物理页可以是预定义的,并被硬连线到非易失性存储器68中。逻辑页可以是一个或多个物理页内的逻辑构造,并且可能不是硬连线的。
非易失性半导体存储器68可包括存储器单元的一个或多个阵列78-1、78-2、...和78-A(总地称为阵列78)。阵列78可以布置在存储器块80-1、80-2、...和80-X(总地称为块80)中。在图3B中,每个块80包括物理页82-1、82-2、...和82-Q(总地称为页82)。
控制模块72可以改变每页的存储器单元的数目、每存储器单元的比特数目和/或分别与数据部分和开销部分相关联的存储器单元的相对数目。格式模块110可以基于由控制模块72确定的页结构来改变引导数据的位置。在图3C中,每个页82包括与数据部分90相关联的存储器单元和与开销部分92相关联的其他存储器单元。
在图3D中,控制模块72与存储器68通信。控制模块72包括包含引导位置模块112的格式模块110、类型确定模块114和/或信号处理模块115。信号处理模块115可以确定存储器单元的扰动的统计参数。控制模块72将引导数据写到这些位置中,并且信号处理模块115读回数据并将读回的数据与引导数据相比较。
扰动特性可能随存储器68的每个物理块而变化。信号处理模块115可以基于预期引导信号和实际引导信号的差别来确定扰动参数。信号处理模块115可包括确定这些参数的算法。
例如,该算法可包括由第一变换矩阵A代表引导数据,并由第二变换矩阵B代表读回的引导数据。信号处理模块115指定矩阵A和B之间的差别作为扰动参数。信号处理模块115还可以使该算法适应后续的读/写操作。例如,定期发生的扰动可被包括在参数中。因此,信号处理模块115可以通过在确定预期和实际引导信号之间的差别之前从读回的引导信号中减去定期发生的扰动,来在后续的读/写操作中对该扰动不加考虑。
格式模块110可以基于引导数据的位置来对存储器68进行格式化。格式化可包括生成存储器映射。因此,当不是引导数据的数据被写到存储器68中时,该数据被存储在除了引导数据的位置以外的位置中。格式模块110还可以基于信号处理算法来调节存储器映射。例如,如果信号处理模块115确定扰动已经损坏了存储器68的一部分,则格式模块68可以对存储器进行映射以不再继续使用该部分。
类型确定模块114可以用于确定已经连接到存储器控制模块72的存储器的类型。类型确定模块114可以使用任何方法,例如但不限于与存储器68通信并接收配置信息。配置信息可以存储在具有标准或预定配置的存储器68的设置部分中。控制模块72可以读取设置部分并配置存储器68的其余部分。
一旦确定了存储器类型,格式模块110就可以接收来自类型确定模块114的存储器配置信息。基于该信息,格式模块110可以针对物理和逻辑页两者确定引导数据的位置的预定布置。格式模块110可以可替换地生成引导数据的位置。格式模块110还可以确定每页的位置或地址的开头和结尾、存储器单元的密度、每页的ECC/O字节的数目,并基于这些信息生成引导数据的位置。
控制模块72包括写模块118和读模块120,这两个模块基于由格式模块110确定的存储器配置向存储器68读写数据。写和读模块118、120向引导数据的位置和存储器68中的其他位置读写数据。
写和读模块118、120可以采用列和行选择模块(未示出)来选择存储器68内的存储器单元。在写操作期间,写模块118选择写目标单元。写目标单元可包括任何数目的存储器单元(例如特定单元、一行单元、一列单元、一块单元、一页单元等)以及与这些单元相关联的引导数据。一旦选择了写目标单元,写模块118就生成写信号。
在读操作期间,读模块120选择读目标单元,读目标单元可包括任何数目的存储器单元,例如特定单元、一行单元、一列单元、一块单元、一页单元等。一旦选择了读目标单元,读模块120就读取读目标单元。
如上所述,引导位置模块112可以在相对于物理页的不同位置中设置引导数据的位置。例如,引导位置模块112可以将引导数据的位置设置在物理页的开头、结尾和/或固定段处(例如,在中间)。引导位置模块112还可以按预定义的模式在整个物理页中设置引导数据的位置(例如,在整个物理页中均匀间隔)。
引导位置模块112也可以在相对于逻辑页的不同位置中设置引导数据的位置。例如,引导位置模块112可以将引导数据的位置设置在逻辑页的开头、结尾和/或固定段处(例如,在中间)。引导位置模块112还可以按预定义的模式在整个逻辑页中设置引导数据的位置(例如,在整个逻辑页中均匀间隔)。
引导数据可以经历类似的读/写循环,并且在存储器68中位于其他数据的附近。引导信号可以用于处理整个逻辑页的扰动,或者处理包括引导数据的逻辑页的任何段的扰动。根据第一和第二实施例图示了两种示例性的位置集。
现在参考图4,该图图示了总地标识为170的根据第一实施例的物理存储器空间。在第一实施例中,引导数据被包含在物理页和逻辑页两者中。逻辑页大小被示为大于物理页大小。逻辑页A开始于物理页1的开头。信号处理模块115可以使用在物理页1和逻辑页A的开头中的引导数据172、174的位置来确定驻留在物理页1中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置176中的引导数据来确定驻留在物理页2中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置178中的引导数据来确定逻辑页B的扰动。
现在参考图5,该图图示了总地标识为180的根据第一实施例的物理存储器空间。逻辑页大小被示为大于物理页大小。逻辑页A开始于物理页1的中间。信号处理模块115可以使用位置182中的引导数据来确定逻辑页C的扰动。信号处理模块115可以使用位置184中的引导数据来确定驻留在物理页1中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置186中的引导数据来确定驻留在物理页2中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置188中的引导数据来确定逻辑页B的扰动。
现在参考图6,该图图示了总地标识为190的根据第一实施例的物理存储器空间。逻辑页大小小于物理页大小。逻辑页A开始于物理页1的开头。信号处理模块115可以使用位置192、194中的引导数据来确定逻辑页A的扰动。信号处理模块115可以使用位置196中的引导数据来确定驻留在物理页1中的逻辑页B的部分数据的扰动。信号处理模块115可以使用位置198中的引导数据来确定驻留在物理页2中的逻辑页B的部分数据的扰动。信号处理模块115可以使用位置200中的引导数据来确定逻辑页C的数据扰动。
现在参考图7,该图图示了总地标识为210的根据第一实施例的物理存储器空间。逻辑页大小小于物理页大小。逻辑页A开始于物理页1的中间。信号处理模块115可以使用位置212中的引导数据来确定逻辑页D的扰动。信号处理模块115可以使用位置214中的引导数据来确定驻留在物理页1中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置216中的引导数据来确定驻留在物理页2中的逻辑页A的部分数据的扰动。信号处理模块115可以使用位置218中的引导数据来确定逻辑页B的扰动。信号处理模块115可以使用位置220中的引导数据来确定逻辑页C的扰动。
现在参考图8-9,该图图示了根据本公开的第二实施例的物理存储器空间。第二实施例可以用在当逻辑页大小被示为大于物理页大小时。根据第二实施例,引导数据位于物理页内的固定位置处,但是,当逻辑页被写时引导数据也被写。换句话说,如果当前逻辑页覆盖了整个物理页,则引导数据的开头和结尾位置都被写。否则,只有引导数据的开头位置被写。引导数据的结尾位置与填充整个物理页的下一逻辑页一同被写。
现在参考图8,该图图示了总地标识为230的根据第二实施例的物理存储器空间。逻辑页大小被示为大于物理页大小。逻辑页A开始于物理页1的开头。信号处理模块115可以使用来自位置232、234的引导数据来确定驻留在物理页1中的逻辑页A的部分数据的扰动。信号处理模块115可以使用来自位置236的引导数据来确定驻留在物理页2中的逻辑页A的部分数据的扰动。信号处理模块115可以使用来自位置238的引导数据来确定逻辑页B的扰动。
现在参考图9,该图图示了总地标识为240的根据第二实施例的物理存储器空间。逻辑页大小可大于物理页大小。逻辑页A开始于物理页1的中间。信号处理模块115可以使用来自位置242的引导数据来确定逻辑页C的扰动。信号处理模块115可以使用来自位置244的引导数据来确定驻留在物理页1中的逻辑页A的部分数据的扰动。信号处理模块115可以使用来自位置246的引导数据来确定驻留在物理页2中的逻辑页A的部分数据的扰动。信号处理模块115可以使用来自位置248的引导数据来确定逻辑页B的扰动。
现在参考图10,示例性流程图300图示了系统的操作。该过程开始于步骤302。在步骤304中,系统确定是否请求了读操作。如果真,则系统进行到步骤306。如果假,则系统返回到步骤304。在步骤306中,系统在作为目标的数据块中定位引导数据的位置。在步骤308中,系统基于来自存储器中的多个位置的引导数据来生成引导信号。在步骤310中,系统基于引导信号确定存储器的扰动参数。在步骤312中,系统基于扰动参数修改信号处理算法。例如,信号处理模块115在确定定期发生的扰动被包括在参数中时可以修改用于后续读/写操作的算法。因此,信号处理模块115可以通过在确定预期和实际引导信号之间的差别之前从读回的引导信号中减去定期发生的扰动,来在后续的读/写操作中对该扰动不加以考虑。在步骤314中,系统利用修改后的信号处理算法从存储器中读取作为目标的数据。系统随后返回到步骤304。
在步骤316中,系统确定是否请求了写操作。如果真,则系统进行到步骤318。在步骤318中,系统在作为目标的数据块中选择引导的位置。在步骤320中,系统生成引导数据。在步骤322中,系统将引导数据嵌入用户数据中。在步骤324中,系统写用户数据以及嵌入的引导数据。
现在参考图11A-11H,示出了结合本公开的教导的各种示例性实现方式。
现在参考图11A,本公开的教导可以实现在硬盘驱动器(HDD)900的非易失性存储器912中。HDD 900包括硬盘组件(HDA)901和HDD印刷电路板(PCB)902。HAD 901可包括磁介质903(例如存储数据的一个或多个盘片)和读/写器件904。读/写器件904可以布置在致动臂905上,并且可以读写磁介质903上的数据。另外,HAD 901包括旋转磁介质903的主轴马达906和致动致动臂905的音圈马达(VCM)907。预放大器器件908在读操作期间放大由读/写器件904生成的信号,并且在写操作期间将信号提供给读/写器件904。
HDD PCB 902包括读/写通道模块(下文中称为“读通道”)909、硬盘控制器(HDC)模块910、缓冲器911、非易失性存储器912、处理器913和主轴/VCM驱动器模块914。读通道909处理从预放大器器件908接收的以及向预放大器器件908发送的数据。HDC模块910控制HAD 901的组件,并且经由I/O接口915与外部设备(未示出)通信。外部设备可包括计算机、多媒体设备、移动计算设备等。I/O接口915可包括有线和/或无线通信链路。
HDC模块910可以接收来自HDA 901、读通道909、缓冲器911、非易失性存储器912、处理器913、主轴/VCM驱动器模块914和/或I/O接口915的数据。处理器913可以处理数据,包括编码、解码、过滤和/或格式化。处理后的数据可以被输出到HDA 901、读通道909、缓冲器911、非易失性存储器912、处理器913、主轴/VCM驱动器模块914和/或I/O接口915。
HDC模块910可以使用缓冲器911和/或非易失性存储器912来存储与HDD 900的控制和操作有关的数据。缓冲器911可包括DRAM、SDRAM等。非易失性存储器912可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。主轴/VCM驱动器模块914控制主轴马达906和VCM 907。HDD PCB 902包括向HDD 900的组件供电的电源916。
现在参考图11b,本公开的教导可以实现在DVD驱动器918或CD驱动器(未示出)的非易失性存储器923中。DVD驱动器918包括DVDPCB 919和DVD组件(DVDA)920。DVD PCB 919包括DVD控制模块921、缓冲器922、非易失性存储器923、处理器924、主轴/FM(馈送马达)驱动器模块925、模拟前端模块926、写策略模块927和DSP模块928。
DVD控制模块921控制DVDA 920的组件,并且经由I/O接口929与外部设备(未示出)通信。外部设备可包括计算机、多媒体设备、移动计算设备等。I/O接口929可包括有线和/或无线通信链路。
DVD控制模块921可以接收来自缓冲器922、非易失性存储器923、处理器924、主轴/FM驱动器模块925、模拟前端模块926、写策略模块927、DSP模块928和/或I/O接口929的数据。处理器924可以处理数据,包括编码、解码、过滤和/或格式化。DSP模块928执行信号处理,例如视频和/或音频编码/解码。处理后的数据可以被输出到缓冲器922、非易失性存储器923、处理器924、主轴/FM驱动器模块925、模拟前端模块926、写策略模块927、DSP模块928和/或I/O接口929。
DVD控制模块921可以使用缓冲器922和/或非易失性存储器923来存储与DVD驱动器918的控制和操作有关的数据。缓冲器922可包括DRAM、SDRAM等。非易失性存储器923可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。DVD PCB 919包括向DVD驱动器918的组件供电的电源930。
DVDA 920可包括预放大器器件931、激光驱动器932和光学器件933,光学器件933可以是光学读/写(ORW)器件或光学只读(OR)器件。主轴马达934旋转光学存储介质935,而馈送马达936相对于光学存储介质935致动光学器件933。
当从光学存储介质935读取数据时,激光驱动器向光学器件933提供读功率。光学器件933检测来自光学存储介质935的数据,并将数据发送到预放大器器件931。模拟前端模块926接收来自预放大器器件931的数据,并执行诸如过滤和A/D转换之类的功能。为了向光学存储介质935执行写入,写策略模块927将功率电平和定时数据发送到激光驱动器932。激光驱动器932控制光学器件933向光学存储介质935写入数据。
现在参考图11C,本公开的教导可以实现在高清晰度电视(HDTV)937的非易失性存储器941中。HDTV 937包括HDTV控制模块938、显示器939、电源940、存储器941、存储设备942、网络接口943和外部接口945。如果网络接口943包括无线局域网接口,则可包括天线(未示出)。
HDTV 937可以接收来自网络接口943和/或外部接口945的输入信号,网络接口943和/或外部接口945可以经由线缆、宽带因特网和/或卫星发送和接收数据。HDTV控制模块938可以处理输入信号(包括编码、解码、过滤和/或格式化),并生成输出信号。输出信号可以被传输到显示器939、存储器941、存储设备942、网络接口943和外部接口945中的一个或多个。
存储器941可包括随机访问存储器(RAM)和/或非易失性存储器。非易失性存储器可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储设备942可包括光学存储驱动器,例如DVD驱动器和/或硬盘驱动器(HDD)。HDTV控制模块938经由网络接口943和/或外部接口945与外部通信。电源940向HDTV 937的组件供电。
现在参考图11D,本公开的教导可以实现在车辆946的非易失性存储器949中。车辆946可包括车辆控制系统947、电源948、存储器949、存储设备950和网络接口952。如果网络接口952包括无线局域网接口,则可包括天线(未示出)。车辆控制系统947可以是传动系控制系统、车体控制系统、娱乐控制系统、防抱死系统(ABS)、导航系统、远动系统、车道偏离系统、自适应巡航控制系统等。
车辆控制系统947可以与一个或多个传感器954通信,并生成一个或多个输出信号956。传感器954可包括温度传感器、加速度传感器、压强传感器、旋转传感器、气流传感器等。输出信号956可以控制引擎工作参数、传动工作参数、悬架参数等。
电源948向车辆946的组件供电。车辆控制系统947可以将数据存储在存储器949和/或存储设备950中。存储器949可包括随机访问存储器(RAM)和/或非易失性存储器。非易失性存储器可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储设备950可包括光学存储驱动器,例如DVD驱动器和/或硬盘驱动器(HDD)。车辆控制系统947可以利用网络接口952与外部通信。
现在参考图11E,本公开的教导可以实现在蜂窝电话958的非易失性存储器964中。蜂窝电话958包括电话控制模块960、电源962、存储器964、存储设备966和蜂窝网络接口967。蜂窝电话958可包括网络接口968、麦克风970、诸如扬声器和/或输出插孔之类的音频输出972、显示屏974和诸如键盘和/或点击设备之类的用户输入设备976。如果网络接口968包括无线局域网接口,则可包括天线(未示出)。
电话控制模块960可以接收来自蜂窝网络接口967、网络接口968、麦克风970和/或用户输入设备976的输入信号。电话控制模块960可以处理输入信号(包括编码、解码、过滤和/或格式化),并生成输出信号。输出信号可以被传输到存储器964、存储设备966、蜂窝网络接口967、网络接口968和音频输出972中的一个或多个。
存储器964可包括随机访问存储器(RAM)和/或非易失性存储器。非易失性存储器可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储设备976可包括光学存储驱动器,例如DVD驱动器和/或硬盘驱动器(HDD)。电源962向蜂窝电话958的组件供电。
现在参考图11F,本公开的教导可以实现在机顶盒978的非易失性存储器中。机顶盒978包括机顶盒控制模块980、显示器981、电源982、存储器983、存储设备984和网络接口985。如果网络接口985包括无线局域网接口,则可包括天线(未示出)。
机顶盒控制模块980可以接收来自网络接口985和外部接口987的输入信号,网络接口985和外部接口987可以经由线缆、宽带因特网和/或卫星发送和接收数据。机顶盒控制模块980可以处理信号(包括编码、解码、过滤和/或格式化),并生成输出信号。输出信号可包括标准和/或高清晰度格式的音频和/或视频信号。输出信号可以被传输到网络接口985和/或显示器981。显示器981可包括电视、投影仪和/或监视器。
电源982向机顶盒978的组件供电。存储器983可包括随机访问存储器(RAM)和/或非易失性存储器。非易失性存储器可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储设备984可包括光学存储驱动器,例如DVD驱动器和/或硬盘驱动器(HDD)。
现在参考图11G,本公开的教导可以实现在移动设备989的非易失性存储器992中。移动设备989可包括移动设备控制模块990、电源991、存储器992、存储设备993、网络接口994和外部接口999。如果网络接口994包括无线局域网接口,则可包括天线(未示出)。
移动设备控制模块990可以接收来自网络接口994和/或外部接口999的输入信号。外部接口999可包括USB、红外和/或以太网。输入信号可包括经压缩的音频和/或视频,并且可以遵从MP3格式。另外,移动设备控制模块990可以接收来自诸如键盘、触摸垫或各个按钮之类的用户输入996的输入。移动设备控制模块990可以处理输入信号(包括编码、解码、过滤和/或格式化),并生成输出信号。
移动设备控制模块990可以向音频输出997输出音频信号,并向显示器998输出视频信号。音频输出997可包括扬声器和/或输出插孔。显示器998可以呈现图形用户界面,图形用户界面可包括菜单、图标等。电源991向移动设备989的组件供电。存储器992可包括随机访问存储器(RAM)和/或非易失性存储器。
非易失性存储器可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储设备993可包括光学存储驱动器,例如DVD驱动器和/或硬盘驱动器(HDD)。移动设备可包括个人数字助理、媒体播放器、膝上型计算机、游戏控制台或其他移动计算设备。
现在参考图11H,本公开的教导可以实现在固态存储设备1066的非易失性存储器中。固态存储设备1066包括存储器控制模块1072和非易失性存储器1068。存储器控制模块1072可以与主机设备1070通信。非易失性存储器1068可包括任何合适类型的半导体或固态存储器,例如闪存(包括NAND和NOR闪存)、相变存储器、磁RAM和多态存储器,在多态存储器中每个存储器单元具有多于两种状态。存储器控制模块1072可以经由写和读路径模块1073、1075与非易失性存储器1068通信,写和读路径模块1073、1075分别对存储器单元的一个或多个阵列1078-1、1078-2、...和1078-X进行写和读操作,每个阵列可以对应于一个或多个存储器芯片。
本领域技术人员现在可以从前述描述中意识到,本公开的宽广教导可以以多种形式实现。因此,尽管该公开包括了特定示例,但是本公开的真实范围不应当受限于此,因为本领域技术人员在研究附图、说明书和权利要求之后将清楚其他修改。

Claims (22)

1.一种存储器控制模块,包括:
格式模块,所述格式模块与包括B个存储器块的存储器阵列通信,每个存储器块包括P个物理页和Q个逻辑页,并且所述格式模块在所述B个存储器块中的每一个中选择X个预定位置以写入引导数据并读回引导信号,其中所述引导数据包括预定的数据模式,其中所述X个预定位置根据预定模式被分布在整个所述P个物理页和所述Q个逻辑页中,其中根据所述预定模式的所述X个预定位置是基于所述P个物理页和所述Q个逻辑页的页结构来选择的,并且其中所述页结构包括每页中存储器单元的总数、每存储器单元的比特数、与每页的数据部分相关联的存储器单元的数目以及与每页的ECC/开销部分相关联的存储器单元的数目,并且其中B、P、Q和X是大于或等于1的整数;以及
信号处理模块,所述信号处理模块将所写入的引导数据与所读回的引导信号相比较,并基于所述比较结果确定所写入的引导数据和所读回的引导信号之间的差异。
2.如权利要求1所述的存储器控制模块,其中所述引导数据在所述存储器阵列的读、写和擦除操作期间被嵌入到用户数据中。
3.如权利要求1所述的存储器控制模块,其中所述格式模块选择性地设置所述Q个逻辑页中的每一个的开头和结尾之一。
4.如权利要求1所述的存储器控制模块,其中所述格式模块选择性地设置所述P个物理页中的每一个的开头和结尾之一。
5.如权利要求1所述的存储器控制模块,还包括写模块和读模块中的至少一个,所述写模块选择性地将包括所述引导数据的数据写到所述存储器阵列,所述读模块选择性地从所述存储器阵列读回所述数据。
6.如权利要求1所述的存储器控制模块,其中所述信号处理模块执行以下操作中的至少一种:在后续读/写操作中忽略所述差异,以及在后续读/写操作中不对发生所述差异的所述存储器阵列中的所述位置进行写/读操作。
7.如权利要求6所述的存储器控制模块,其中所述差异至少部分地是由于对所述存储器阵列的物理扰动和所述存储器阵列内的缺陷之一引起的。
8.如权利要求1所述的存储器控制模块,还包括设置所述X个预定位置中的M个的引导位置模块,其中所述Q个逻辑页中的每一个包括开头和结尾之一,并且所述M个预定位置对于所述Q个逻辑页中的每一个来说相对于所述开头和结尾是相同的,其中M是大于或等于1的整数。
9.如权利要求8所述的存储器控制模块,其中所述引导位置模块将所述M个预定位置中的至少一个设置在所述Q个逻辑页中的每一个内的所述开头、所述结尾和某一位置。
10.如权利要求9所述的存储器控制模块,其中所述位置包括所述Q个逻辑页中的每一个的中间。
11.如权利要求9所述的存储器控制模块,其中所述引导位置模块在所述Q个逻辑页中的每一个内按预定模式设置所述M个预定位置。
12.如权利要求9所述的存储器控制模块,其中所述引导位置模块将所述M个预定位置中的所述至少一个设置在所述开头,并且还将所述M个预定位置中的至少另一个设置在紧邻所述结尾。
13.如权利要求1所述的存储器控制模块,还包括设置所述X个预定位置中的M个的引导位置模块,其中所述P个物理页中的每一个包括开头和结尾之一,并且所述M个预定位置对于所述P个物理页中的每一个来说相对于所述开头和结尾是相同的,其中M是大于或等于1的整数。
14.如权利要求13所述的存储器控制模块,其中所述引导位置模块将所述M个预定位置中的至少一个设置在所述P个物理页中的每一个内的所述开头、所述结尾和某一位置。
15.如权利要求14所述的存储器控制模块,其中所述位置包括所述P个物理页中的每一个的中间。
16.如权利要求14所述的存储器控制模块,其中所述引导位置模块在所述P个物理页中的每一个内按预定模式设置所述M个预定位置。
17.如权利要求14所述的存储器控制模块,其中所述引导位置模块将所述M个预定位置中的所述至少一个设置在所述开头,并且还将所述M个预定位置中的至少另一个设置在紧邻所述结尾。
18.如权利要求1所述的存储器控制模块,其中所述格式模块生成所述存储器阵列的存储器映射。
19.如权利要求18所述的存储器控制模块,其中所述格式模块执行以下操作中的至少一种:将所述存储器映射调节为所述存储器阵列中发生所述差异的指示部分中的至少一个,以及不再继续使用所述存储器阵列中发生所述差异的所述部分。
20.一种包括如权利要求1所述的存储器控制模块并且还包括所述存储器阵列的存储器系统。
21.如权利要求20所述的存储器系统,其中所述存储器阵列包括闪存、静态随机访问存储器(SRAM)、氮化物只读存储器(NROM)、相变存储器、磁RAM和多态存储器中的至少一种。
22.一种存储器控制模块,包括:
格式模块,所述格式模块与包括B个存储器块的存储器阵列通信,每个存储器块包括P个物理页和Q个逻辑页,并且所述格式模块在所述B个存储器块中的每一个中选择X个预定位置以写入引导数据并读回引导信号,其中所述引导数据包括预定的数据模式,并且其中B、P、Q和X是大于或等于1的整数;以及
信号处理模块,所述信号处理模块将所写入的引导数据与所读回的引导信号相比较,并基于所述比较结果确定所写入的引导数据和所读回的引导信号之间的差异,
其中所述引导数据在所述存储器阵列的读、写和擦除操作期间被嵌入到用户数据中。
CN2008800047674A 2007-02-12 2008-02-12 用于非易失性存储器的引导部署 Expired - Fee Related CN101652753B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US88944107P 2007-02-12 2007-02-12
US60/889,441 2007-02-12
US12/029,134 US8316206B2 (en) 2007-02-12 2008-02-11 Pilot placement for non-volatile memory
US12/029,134 2008-02-11
PCT/US2008/001882 WO2008100529A2 (en) 2007-02-12 2008-02-12 Pilot placement for non-volatile memory

Publications (2)

Publication Number Publication Date
CN101652753A CN101652753A (zh) 2010-02-17
CN101652753B true CN101652753B (zh) 2013-06-05

Family

ID=39686854

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800047674A Expired - Fee Related CN101652753B (zh) 2007-02-12 2008-02-12 用于非易失性存储器的引导部署

Country Status (4)

Country Link
US (3) US8316206B2 (zh)
CN (1) CN101652753B (zh)
TW (1) TWI473109B (zh)
WO (1) WO2008100529A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2083541A3 (en) * 2008-01-28 2013-07-10 Core Logic, Inc. Apparatus and method for estimating the channel in orthogonal frequency division multiplexing communication systems
US8180954B2 (en) * 2008-04-15 2012-05-15 SMART Storage Systems, Inc. Flash management using logical page size
US8566505B2 (en) * 2008-04-15 2013-10-22 SMART Storage Systems, Inc. Flash management using sequential techniques
US8028123B2 (en) * 2008-04-15 2011-09-27 SMART Modular Technologies (AZ) , Inc. Circular wear leveling
US20090259806A1 (en) * 2008-04-15 2009-10-15 Adtron, Inc. Flash management using bad page tracking and high defect flash memory
US8185778B2 (en) * 2008-04-15 2012-05-22 SMART Storage Systems, Inc. Flash management using separate metadata storage
US9159422B1 (en) * 2011-04-12 2015-10-13 Sk Hynix Memory Solutions Inc. Cross page management to avoid NAND physical page size limitation
US9268682B2 (en) * 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9653184B2 (en) 2014-06-16 2017-05-16 Sandisk Technologies Llc Non-volatile memory module with physical-to-physical address remapping
US8976609B1 (en) 2014-06-16 2015-03-10 Sandisk Enterprise Ip Llc Low-test memory stack for non-volatile storage
US9613715B2 (en) 2014-06-16 2017-04-04 Sandisk Technologies Llc Low-test memory stack for non-volatile storage
GB201701747D0 (en) * 2017-02-02 2017-03-22 Blancco Tech Group Ip Oy Intelligent verification of cryptographic erase and other firmware erasure processes
CN117270963A (zh) * 2022-06-14 2023-12-22 瑞昱半导体股份有限公司 开机数据读取系统、方法以及处理电路
CN114845100B (zh) * 2022-07-04 2023-04-14 苏州浪潮智能科技有限公司 一种视频压缩系统、方法、设备、介质、芯片及服务器

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180429A (zh) * 1995-04-04 1998-04-29 记忆体公共有限公司 存储器管理
US6564346B1 (en) * 1999-12-07 2003-05-13 Infineon Technologies Richmond, Lp. Advanced bit fail map compression with fail signature analysis
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
CN1696899A (zh) * 2004-05-12 2005-11-16 三星电子株式会社 用于从存储器访问关键数据的系统和方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05225693A (ja) * 1992-02-14 1993-09-03 Sony Corp ディジタル信号処理回路
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6279133B1 (en) * 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
US6487685B1 (en) * 1999-09-30 2002-11-26 Silicon Graphics, Inc. System and method for minimizing error correction code bits in variable sized data formats
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6683817B2 (en) * 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding
US20040153902A1 (en) * 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
US7173852B2 (en) * 2003-10-03 2007-02-06 Sandisk Corporation Corrected data storage and handling methods
US7340668B2 (en) * 2004-06-25 2008-03-04 Micron Technology, Inc. Low power cost-effective ECC memory system and method
JP4408783B2 (ja) 2004-09-29 2010-02-03 Necエレクトロニクス株式会社 復号装置及び復号方法
US7366826B2 (en) * 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7315916B2 (en) * 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7779338B2 (en) * 2005-07-21 2010-08-17 Realtek Semiconductor Corp. Deinterleaver and dual-viterbi decoder architecture
US7469368B2 (en) * 2005-11-29 2008-12-23 Broadcom Corporation Method and system for a non-volatile memory with multiple bits error correction and detection for improving production yield
US20070143561A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for adaptive file data handling in non-volatile memories with a directly mapped file storage system
US20070143567A1 (en) * 2005-12-21 2007-06-21 Gorobets Sergey A Methods for data alignment in non-volatile memories with a directly mapped file storage system
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
US7561482B2 (en) * 2006-09-07 2009-07-14 Sandisk Corporation Defective block isolation in a non-volatile memory system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1180429A (zh) * 1995-04-04 1998-04-29 记忆体公共有限公司 存储器管理
US6564346B1 (en) * 1999-12-07 2003-05-13 Infineon Technologies Richmond, Lp. Advanced bit fail map compression with fail signature analysis
US6694451B2 (en) * 2000-12-07 2004-02-17 Hewlett-Packard Development Company, L.P. Method for redundant suspend to RAM
CN1696899A (zh) * 2004-05-12 2005-11-16 三星电子株式会社 用于从存储器访问关键数据的系统和方法

Also Published As

Publication number Publication date
US8316206B2 (en) 2012-11-20
US8732432B2 (en) 2014-05-20
US9594630B2 (en) 2017-03-14
WO2008100529A3 (en) 2008-11-27
TW200842890A (en) 2008-11-01
CN101652753A (zh) 2010-02-17
US20140325179A1 (en) 2014-10-30
US20130080729A1 (en) 2013-03-28
US20080195822A1 (en) 2008-08-14
TWI473109B (zh) 2015-02-11
WO2008100529A2 (en) 2008-08-21

Similar Documents

Publication Publication Date Title
CN101652753B (zh) 用于非易失性存储器的引导部署
CN101681298B (zh) 存储器控制器
US8874874B2 (en) Method and storage drive for writing portions of blocks of data in respective arrays of memory cells of corresponding integrated circuits
KR101459520B1 (ko) 기입 속도를 향상시킬 수 있는 데이터 저장 장치, 및 이를포함하는 데이터 저장 시스템
US8705302B2 (en) Semiconductor memory devices having self-refresh capability
US20170262173A1 (en) Data storage device and operating method thereof
US20180239557A1 (en) Nonvolatile memory device, data storage device including the same, and operating method of data storage device
US8154902B2 (en) Bit line decoder architecture for NOR-type memory array
KR101861647B1 (ko) 메모리 시스템 및 그 리프레시 제어 방법
CN104575598A (zh) 电阻式存储器件、其操作方法以及具有该电阻式存储器件的系统
US8423819B2 (en) Data storage device, controller, and data access method for a downgrade memory
KR20210025836A (ko) 메모리 컨트롤러, 이를 포함하는 저장 장치 및 메모리 컨트롤러의 동작 방법
KR20190085645A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR101774428B1 (ko) 반도체 메모리 디바이스 및 그 리프레시 방법
KR20200073122A (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
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200428

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200428

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200428

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Michael

Patentee before: MARVELL WORLD TRADE Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130605

Termination date: 20220212