CN105718383B - 存储***及其操作方法 - Google Patents
存储***及其操作方法 Download PDFInfo
- Publication number
- CN105718383B CN105718383B CN201510498512.XA CN201510498512A CN105718383B CN 105718383 B CN105718383 B CN 105718383B CN 201510498512 A CN201510498512 A CN 201510498512A CN 105718383 B CN105718383 B CN 105718383B
- Authority
- CN
- China
- Prior art keywords
- sequential
- page
- memory
- address
- stored
- 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
Images
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
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- 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/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- 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/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
一种存储***,包括:多个存储芯片,每个存储芯片包括存储区和页缓冲器;地址表,适用于储存用于映射物理地址和逻辑地址的映射信息;目标表,适用于储存顺序物理地址和顺序逻辑地址;选择输出块,适用于基于顺序物理地址来根据预设次序而以页为单位选择存储区为现选页,以及将与现选页相对应的现选存储芯片的页缓冲器中所储存的数据输出;以及预期读取块,适用于:将现选页缓冲器中所储存的数据输出的同时,将期选页中所储存的数据读取以储存在与期选页相对应的期选存储芯片的页缓冲器中,所述期选页是即将根据预设次序而次于现选页以被选择的页。
Description
相关申请的交叉引用
本申请要求于2014年12月19日提交的申请号为10-2014-0184826的韩国专利申请的优先权,其公开内容通过引用整体合并于此。
技术领域
本发明的各种实施例涉及一种半导体设计技术,更特别地,涉及一种包括非易失性存储器件的存储***。
背景技术
数据储存***中包括的半导体存储器件一般分为易失性存储器件和非易失性存储器件。
易失性存储器件可以高速地执行写入操作和读取操作,但在没有电源时其储存的数据丢失。另一方面,即使没有电源,在非易失性存储器件中仍保留储存的数据。然而,写入和读取速度比较低。因此,为了保留储存的数据而不管是否有恒定的电源,使用非易失性存储器件。只读存储器(ROM)、掩蔽型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁随机存取存储器(MRAM)、电阻式随机存取存储器(RRAM)以及铁电随机存取存储器(FRAM)是非易失性存储器件的例子。此外,闪速存储器可以分类为NOR(或非)型和NAND(与非)型。
闪速存储器在可以自由地执行编程和擦除操作方面具有随机存取存储器的优点,同时在即使没有电源时仍可以保留储存的数据方面具有只读存储器的优点。闪速存储器被广泛地用作诸如数字相机、个人数字助手(PDA)和MP3播放器的便携式电子装置的储存媒介。
因此,在数据储存***中的数据可靠性被认为是重要的问题。
发明内容
本发明的各种实施例针对在顺序读取操作中提供可靠的预期读取操作的存储***。
在一个实施例中,存储***可以包括:多个存储芯片,每个包括存储区和页缓冲器;地址表,适用于储存用于映射物理地址和逻辑地址的映射信息,所述物理地址用于以物理页为单位来识别多个相应的存储芯片的存储区,所述逻辑地址用于以逻辑页为单位来识别多个相应的存储芯片的存储区;目标表,适用于储存通过地址表而从顺序逻辑地址转换来的顺序物理地址;选择输出块,适用于基于顺序物理地址来根据预设次序而以页为单位选择存储芯片的存储区作为现选(under selection)页,以及将存储芯片之中的与现选页相对应的现选存储芯片的页缓冲器中所储存的数据输出;以及预期读取块,适用于:在现选存储芯片的页缓冲器中所储存的数据被输出的同时,读取在期选(selection-expected)页中所储存的数据以储存在存储芯片之中的与期选页相对应的期选芯片的页缓冲器中,所述期选页是即将在选择输出块中将根据预设次序而次于现选页以被选择的页。
当在相应的存储芯片中执行数据输入操作、擦除操作或错误恢复操作时,地址表可以更新映射信息。
可以从地址表中所储存的逻辑地址中搜索顺序逻辑地址,而目标表将映射到搜索的逻辑地址的物理地址储存为顺序物理地址。
目标表可以基于以预设次序施加的顺序逻辑地址来以预设次序储存顺序物理地址。
在选择输出块中使用从根据预设次序而先输入的顺序逻辑地址搜索并转换来的顺序物理地址的同时,可以在地址表中搜索根据预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
每当执行选择操作时,选择输出块可以使用目标表中所储存的顺序物理地址来以预设次序逐个选择存储芯片之中的任意一个存储芯片的一页作为一个现选页,以及当选择操作被连续执行第一循环次数时存储芯片被分别选择一次,以及选择输出块可以对应于预设次序而将所述选择操作连续执行预设次数,以及当预设次数大于第一循环次数时,根据预设次序而相应的存储芯片被重复选择至少一次。
每当执行选择操作时,选择输出块使用至少两个储存在目标表中的顺序物理地址来以预设次序使来自存储芯片之中的至少两个存储芯片中的每个存储芯片的至少两个页成组以及选择成组的页为现选页,以及当选择操作被连续执行第二循环次数、以及选择输出块对应于预设次序而将所述选择操作连续执行预设次数时,存储芯片被分别选择一次,而当预设次数大于第二循环次数时,可以根据预设次序而相应的存储芯片被重复选中至少一次。
当通过使用根据预设次序而与第一次序相对应的顺序物理地址来选择现选页时,选择输出块可以读取现选页中所储存的数据以储存在现选存储芯片的页缓冲器中,以及可以将现选存储芯片的页缓冲器中所储存的数据输出。
预期读取块可以包括:预期地址选择单元,适用于在根据预设次序而储存的顺序物理地址之中选择与次于选择输出块中正在使用的顺序物理地址的次序相对应的顺序物理地址为预期物理地址;以及读取操作单元,适用于读取由预期物理地址指定的期选页中所储存的数据以储存在期选存储芯片的页缓冲器中。
预期地址选择单元可以将预期物理地址的值与根据预设次序而储存在目标表中的顺序物理地址之中的与选择输出块中正在使用的顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较,而确定是否出现重叠。
当确定预期物理地址和顺序物理地址的值是重叠的时,读取操作单元可以将期选存储芯片的页缓冲器中所储存的数据保留而不读取由预期物理地址指定的期选页中所储存的数据。
当在地址表中更新映射信息时,不管预期地址选择单元的确定结果是什么,读取操作单元都可以将在由预期物理地址指定的期选页中所储存的数据读取以储存在期选存储芯片的页缓冲器中。
在一个实施例中,用于操作包括多个存储芯片以及地址表的存储***的方法,每个存储芯片具有存储区和页缓冲器,所述地址表储存用于映射物理地址和逻辑地址的映射信息,所述物理地址和逻辑地址用于以物理页为单位和以逻辑页为单位来识别多个相应的存储芯片的存储区,所述方法包括:将通过地址表而被映射作为顺序物理地址的顺序物理地址储存在目标表中;基于顺序物理地址来根据预设次序而以页为单位选择存储芯片的存储区为现选页;将在存储芯片之中的与现选页相对应的现选存储芯片的页缓冲器中所储存的数据输出;以及在数据的输出期间,读取期选页中所储存的数据以储存在存储芯片之中的与期选页相对应的期选存储芯片的页缓冲器中,其中所述期选页是即将在存储区的选择中根据预设次序而次于现选页以被选择的页。
当在相应的存储芯片中执行数据输入操作、擦除操作或错误恢复操作时,地址表可以更新映射信息。
储存顺序物理地址可以包括:根据预设次序而在地址表中所储存的逻辑地址之中的搜索顺序逻辑地址;以及根据预设次序而将映射到搜索的逻辑地址的物理地址储存作为顺序物理地址。
在存储区的选择中使用从根据预设次序而先输入的顺序逻辑地址搜索并转换来的顺序物理地址的同时,可以在地址表中搜索根据预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
当通过使用根据预设次序而与第一次序相对应的顺序物理地址来选中现选页时,在数据的输出中,可以读取现选页中所储存的数据并储存在现选存储芯片的页缓冲器中,以及输出在现选存储芯片的页缓冲器中所储存的数据。
读取数据可以包括:从根据预设次序而储存在目标表中的顺序物理地址之中选择根据次于在存储芯片的存储区的选择中正在使用的顺序物理地址的次序的顺序物理地址作为预期物理地址;以及预期地读取由预期物理地址指定的期选页中所储存的数据以储存在期选存储芯片的页缓冲器中。
在顺序物理地址的选择中,可以将预期物理地址的值与根据预设次序而储存在目标表中的顺序物理地址之中的与在存储芯片的存储区的选择中正在使用的顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较以确定是否出现重叠。
预期地读取可以包括:当确定预期物理地址和顺序物理地址的值重叠时,将期选存储芯片的页缓冲器中所储存的数据保留而不读取由预期物理地址指定的期选页中所储存的数据;当确定预期物理地址和顺序物理地址的值不重叠时,读取由预期物理地址指定的期选页中所储存的数据以储存在选择预期存储芯片的页缓冲器中;以及当在地址表中更新映射信息时,不管确定结果是什么,都将由预期物理地址指定的期选页中所储存的数据读取以储存在期选存储芯片的页缓冲器中。
附图说明
图1是图示包括存储***的数据处理***的框图。
图2是图1所示的存储***中的存储器件的细节图。
图3是包括图2中所示的存储块的存储器件的细节图。
图4是用于描述存储***的顺序读取操作的图。
图5是图示根据一个实施例的存储***的框图。
图6A和6B是用来描述图5中所示的存储***的顺序读取操作的图。
具体实施方式
下面将参照附图对各种实施例进行更详细的描述。然而,本公开可以以各种形式实现,而不应解释为局限于此处列出的实施例。确切地说,提供这些实施例以使得本公开彻底且完整,且完整地将本公开的范围传递给本领域的技术人员。贯穿公开中,贯穿本公开的各种附图及实施例中,相同的附图标记表示相同的部分。
还需要注意的是,在本说明书中,“连接/耦接”不仅指一个部件直接耦接到另一个部件,还指一个部件通过中间部件间接地耦接到另一个部件。此外,只要不是特别提及,则单数形式包括复数形式。
图1是图示包括存储***的数据处理***100的框图。
参见图1,数据处理***100可以包括主机102和存储***110。
例如,主机102包括诸如移动电话、MP3播放器和手提电脑的便携式电子设备或者诸如台式电脑、游戏机、TV和投影仪的电子设备。
存储***110响应于来自主机102的请求而操作,特别地,储存要由主机102访问的数据。换言之,存储***110可以用作主机102的主存储器或辅助存储器。存储***110可以根据主机接口与主机102电耦接的协议来作为各种储存设备中的任意一种而实现。例如,存储***110可以作为诸如固态驱动(SSD)、MMC形式的多媒体卡、嵌入式MMC(eMMC)、小尺寸MMC(RS-MMC)和微型MMC、SD形式的安全数字卡、迷你SD和微型SD、通用串行总线(USB)储存设备、通用闪速储存(UFS)设备、紧凑型闪速存储(CF)卡、智能媒体卡、记忆棒等各种储存设备中的任意一种而实现。
形成存储***110的储存器件可以作为诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器件或诸如只读存储器(ROM)、掩蔽型ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁型RAM(MRAM)和电阻式RAM(RRAM)的非易失性存储器件而实现。
存储***110包括存储器件150和控制器130。存储器件150储存要由主机102访问的数据,而控制器130控制存储器件150储存数据。
可以将控制器130和存储器件150集成到一个半导体器件中。例如,可以将控制器130和存储器件150集成到一个半导体器件中以形成SSD。当存储***110被用作SSD时,可以显著提高与存储***110电耦接的主机102的操作速度。
可以将控制器130和存储器件150集成到一个半导体器件中以形成存储卡。例如,控制器130和存储器件150可以集成到一个半导体器件中以形成诸如个人计算机存储卡国际协会(PCMCIA)卡、紧凑式闪速存储(CF)卡、SM和SMC形式的智能媒体卡、记忆棒、MMC形式的多媒体卡、RS-MMC和微型MMC、SD形式的安全数字卡、迷你SD、微型SD和SDHC以及通用闪速存储(UFS)设备的存储卡。
此外,存储***110可以形成计算机、超移动PC(UMPC)、工作站、上网本、个人数字助手(PDA)、便携式计算机、网络板、平板计算机、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航设备、黑匣子、数字相机、数字多媒体广播(DMB)播放器、三维电视、智能电视、数字录音机、数字音频播放器、数字图像记录仪、数字图像播放器、数字录像机、数字视频播放器、用于数据中心的储存器、能够在无线环境下传送及接收信息的设备、用于计算机网络的各种电子设备中的一种、用于远程信息处理网络的各种电子设备中的一种、RFID设备或用于计算***的各种组件中的一种。
即使当电源阻断时,存储器件150仍可以保留其中所储存的数据、储存通过写入操作而由主机102提供的数据以及通过读取操作来将储存的数据提供给主机102。存储器件150可以包括多个存储块152、154和156。存储块152、154和156中的每个包括多个页。每个页包括多个存储单元,多个字线电耦接到所述多个存储单元。存储器件150可以是非易失性存储器件,例如闪速存储器。所述闪速存储器可以具有三维层叠结构。
存储***110的控制器130响应于来自主机102的请求来控制存储器件150。例如,控制器130可以将从存储器件150读取的数据提供给主机102,以及将由主机102提供的数据储存在存储器件150中。出于此目的,控制器130控制存储器件150的操作,诸如读取、写入、编程以及擦除操作。
详细地,控制器130可以包括主机接口(I/F)单元132、处理器134、错误校正码(ECC)单元138、电源管理单元(PMU)140、NAND(与非)闪速存储控制器(NFC)142以及存储器144。控制器130还包括协议单元(未图示)。
主机接口单元132处理主机102的命令和数据,以及可以通过各种接口协议诸如通用串行总线(USB)、多媒体卡(MMC)、***部件互连-快速(PCI-E)、串行SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、小型计算机***接口(SCSI)、增强型小型盘接口(ESDI)以及集成驱动电路(IDE)中的至少一种来与主机102通信。
在读取存储器件150中所储存的数据时,ECC单元138检测并校正从存储器件150中读取的数据中包含的错误。也即,在执行用于从存储器件150读取的数据的错误校正解码之后,ECC单元138可以确定错误校正解码是否已经成功、根据确定结果输出指示信号以及通过使用在ECC编码过程中产生的奇偶校验位来校正读出数据的错误位。如果出现错误位的数目等于或大于可校正错误位的阈值,则ECC单元138不能校正错误位,并可以输出表示不能够校正错误位的错误校正失败信号。
ECC单元138可以通过低密度奇偶校验检查(LDPC)码、Bose-Chaudhuri-Hocquenghem(BCH)码、turbo码、Reed-Solomon码、卷积码、递归***码(RSC)、网格编码调制(TCM)或分组编码调制(BCM)来执行错误校正。ECC单元138可以包括用于错误校正的所有电路、***或器件。
当存储器件150是闪速存储器(例如,NAND(与非)闪速存储器)时,作为控制器130和存储器件150之间的存储接口的NFC 142允许控制器130响应于来自主机102的请求以控制存储器件150、产生用于存储器件150的控制信号以及根据处理器134的控制来处理数据。
作为存储***110和控制器130的工作存储器的存储器144储存用于驱动存储***110和控制器130的数据。具体地,其时控制器130响应于来自主机102的请求来控制存储器件150。例如,其时控制器130将从存储器件150读取的数据提供给主机102,并将由主机102提供的数据储存在存储器件150中,而出于此目的,当控制器130控制存储器件150的诸如读取、写入、编程以及擦除操作的操作时,存储器144储存以允许此种操作在控制器130和存储器件150之间执行所需要的数据。
存储器144可以由诸如静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)的易失性存储器形成。如上所述,存储器144储存以执行主机102和存储器件150之间的数据读取和写入操作所需的数据以及执行数据读取和写入操作所用的数据。对于数据的此种储存,存储器144可以包括编程存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。
处理器134控制存储***110的常规操作,以及响应于来自主机102的写入请求或读取请求来控制对存储器件150的写入操作或读取操作。处理器134驱动称作闪存转换层(FTL)的固件以控制存储***110的常规操作。处理器134可以由微处理器或中央处理单元(CPU)形成。
协议单元储存并管理用于控制器130响应于来自主机102的请求以控制存储器件150的协议。PMU 140提供并管理用于控制器130的电源。
图2是图1中所示的存储器件150的细节图。
参见图2,存储器件150包括多个存储块,例如第零块(BLOCK0)210、第一块(BLOCK1)220、第二块(BLOCK2)230以及第N-1块(BLOCKN-1)240。块210、220、230和240的每个包括多个页,例如2M个页(2MPAGES)。虽然出于方便的目的描述了每个存储块可以包括2M个页,但要注意,每个存储块可以包括M个页。每个页包括多个存储单元,多个字线电耦接到所述多个存储单元。
存储块210、220、230和240中的每个储存通过写入操作而由主机设备102提供的数据,以及通过读取操作来将储存的数据提供给主机102。
图3是包括图2中所示的存储块的存储器件300的细节图。图3示出存储器件300的存储单元阵列电路。
参见图3,在存储***110中,存储器件300的存储块330可以包括分别电耦接到位线BL0到BLm-1的多个单元串340。每个列的单元串340可以包括至少一个漏极选择晶体管DST和至少一个源极选择晶体管SST。在选择晶体管DST和SST之间可以串联地电耦接多个存储单元晶体管MC0到MCn-1。各存储单元MC0到MCn-1可以包括多电平单元(MLC),每个多电平单元储存多位的数据信息。串340可以分别电耦接到对应的位线BL0到BLm-1。
作为参考,可以在存储单元MC0到MCn-1中的每个中储存单位数据,或者可以储存两位或更多位的多位数据。储存单位数据的单电平单元(SLC)型非易失性存储器件根据阈值电压分布而具有擦除状态和编程状态。储存多位数据的多电平单元(MLC)型非易失性存储器件根据阈值电压分布而具有擦除状态和编程状态。在图3中,“DSL”表示漏极选择线,“SSL”表示源极选择线,而“CSL”表示公共源线。
虽然图3示出由NAND(与非)闪速存储单元形成的存储块330作为例子,但需要注意的是存储器件300的存储块330可以由NOR(或非)闪速存储器、包括组合的至少两种存储单元的杂合闪速存储器或包括内置于存储芯片中的控制器的One-NAND闪速存储器形成。半导体器件的操作特性不仅可以应用到其中电荷储存层由导电浮栅组成的闪速存储器件,还可以应用到其中电荷储存层由介电层组成的电荷撷取闪速存储器(CTF)。
存储器件300的电压供应块310可以提供根据操作模式要供应给相应的字线的字线电压(例如编程电压、读取电压和通过电压)以及提供要供应给块体(例如,形成存储单元的阱区)的电压。可以通过控制电路(未示出)的控制而执行电压供应块310的电压产生操作。电压供应块310可以产生多个可变读取电压以产生多个读取数据,在控制电路的控制下选择存储单元阵列的存储块(或扇区)中的一个,选择选中的存储块的字线中的一个,以及将字线电压提供给选中的字线和未选中的字线。
存储器件300的读取/写入电路320由控制电路控制,且可以根据操作模式而作为感测放大器或写入驱动器来操作。例如,在验证/正常读取操作中,读取/写入电路320可以作为用于从存储单元阵列读取数据的感测放大器来操作。同样,在编程操作中,读取/写入电路320可以作为写入驱动器而操作,所述写入驱动器根据要储存在存储单元阵列中的数据来驱动位线。在编程操作中读取/写入电路320可以从缓冲器(未示出)接收要写入到存储单元阵列中的数据,以及可以根据输入的数据来驱动位线。出于此目的,读取/写入电路320可以包括分别对应于列(或位线)或列对(或位线对)的多个页缓冲器(PB)322、324和326,以及在页缓冲器322、324和326中的每个中可以包括多个锁存器(未示出)。
图4是用于描述存储***的顺序读取操作的图。
总体而言,当由主机请求顺序读取操作时,存储***基于物理地址来执行预期读取操作。
详细地,顺序读取操作是控制存储***以将数据页连续地输出预设次数的操作。
参见图4,当根据顺序读取操作要连续执行12次读取操作时,根据一个顺序读取命令来执行12个读取操作以顺序地输出数据,而并非通过各读取操作的独立控制来输出数据。
如此的顺序读取操作使得能够实现预期读取操作,因而相比于单独地控制各读取操作,可以快速地输出数据。
由于在顺序读取操作中要执行读取操作预设次数,故可以执行预期读取操作。在预期读取操作中,有高可能性被读取的数据(即,预期要在随后的读取操作中输出的数据)被预先读取并储存在页缓冲器中,然后以数据输出时序输出储存的数据而不延迟。
由于在预定条件下顺序读取操作具有连续地顺序读取数据的高可能性,故如果恰当地满足预定条件时,预期可以是可能的。相反地,因为每当执行读取操作时用于期望数据的预定条件可以完全改变,故即使执行预期读取操作,常规读取操作也可能是无效的。
同时,一般以如此方式执行预期读取操作,其中,预先读取基于“物理地址”而与当前读取的数据相邻的数据。这是因为在顺序读取操作中,在连续的读取操作期间很有可能从物理相邻页读取数据。此外,等待用于将从外部应用的逻辑地址转换成物理地址的时间而然后读取与转换的物理地址相对应的数据的操作不是“预期读取操作”而是“常规读取操作”。
当在存储***中包括4个存储芯片Chip1、Chip2、Chip3和Chip4以及在顺序读取操作中输入12个顺序逻辑地址LA1到LA12时,执行在其中响应于与顺序逻辑地址LA1到LA12中的在前的4个逻辑地址相对应的4个物理地址PA1到PA4而分别从4个存储芯片Chip1、Chip2、Chip3和Chip4输出第一数据1、2、3和4的操作。
在从相应的4个存储芯片Chip1、Chip2、Chip3和Chip4输出第一数据1、2、3和4的操作完全执行之后,在用于将用于选择要输出的第二数据5、6、7和8的逻辑地址LA5到LA8转换成物理地址PA5到PA8的时间期间执行预期读取操作。在预期读取操作中,从与已经指定第一数据1、2、3和4的物理地址PA1到PA4相邻的物理地址PA5到PA8来读取第二数据5、6、7和8并储存在4个存储芯片Chip1、Chip2、Chip3和Chip4的对应的页缓冲器中。
如果第一数据1、2、3和4以及第二数据5、6、7和8实际上具有相邻的物理地址,则预期读取已经成功。相应地,在不执行额外的读取操作而仅核查从用于选择第二数据5、6、7和8的逻辑地址LA5到LA8转换来的物理地址PA5到PA8是否与在预期读取中使用的物理地址PA5到PA8相同之后,可以将储存在4个存储芯片Chip1、Chip2、Chip3和Chip4的对应的页缓冲器中的数据原样输出。
接下来,在用于将用于选择次于(following)第二数据5、6、7和8而要输出的第三数据9、10、11和12的逻辑地址转换成物理地址PA25、PA26、PA11和PA12的时间期间执行预期读取操作。在预期读取操作中,从与已经指定第二数据5、6、7和8的物理地址PA5到PA8相邻的物理地址PA9到PA12来读取第三数据9、10、11和12并储存在4个存储芯片Chip1、Chip2、Chip3和Chip4的相应的页缓冲器中。
另一方面,如果第二数据5、6、7和8与第三数据OLD9、OLD10、11和12的物理地址实际上不相邻,则预期读取已经失败。相应地,将通过使用仅核查从用于选择第三数据OLD9、OLD10、11和12的逻辑地址LA9到LA12转换来的物理地址PA25、PA26、PA11和PA12是否与在预期读取中使用的物理地址PA9到PA12相同的结果来通过预期读取而读取并储存在4个存储芯片Chip1、Chip2、Chip3和Chip4的对应的页缓冲器中的数据被忽略,以及在使用完全转换的物理地址PA25、PA26、PA11和PA12而执行的读取操作之后,由此读取的第三数据NEW9、NEW10、11和12被输出。
如上所述,当在存储***中预期读取操作已经成功时,由于“用于将逻辑地址转换成物理地址的时间”和“用于读取数据以储存在页缓冲器中的时间”可以相互重叠,故提供了改善的效率。然而,当预期读取操作已经失败时,由于通过预期读取而预先读取的数据被忽略,导致已被执行的不必要的读取操作。
在存储***中,根据预期读取操作已经成功还是失败可以显著地改变数据读取操作的性能。因此,输入/输出数据应当被储存为具有连续的物理地址以增加预期读取操作成功的可能性。
不管怎样,越多的数据输入/输出和数据擦除频繁地出现在存储***中,则越多的数据的物理地址成碎片。因此,使得输入/输出数据具有连续的物理地址是困难的。
作为参考,做出上面的描述是假定以对应于4个页的数据为单位来执行预期读取操作的。然而,需要注意的是,可以以比与4个页相对应的数据的单位更小或更大的数据为单位来执行预期读取操作。
图5是图示根据一个实施例的存储***的框图。图5示出用于执行顺序读取操作的存储***的配置,所述配置是基于图1中所示的存储***的配置。
参见图5,存储***可以包括多个存储芯片10、20、30和40、地址表500、目标表530、选择输出块510以及预期读取块520。在各存储芯片10、20、30和40中,包括存储区12、22、32和42以及页缓冲器14、24、34和44。同样,在地址表500中,包括用于储存逻辑地址的空间501以及用于储存物理地址的空间502。而且,在目标表530中,包括用于储存顺序逻辑地址TLA<1:12>的空间531和用于储存顺序物理地址TPA<1:8,25,26,11,12>的空间532。再者,在预期读取块520中,包括预期地址选择单元522和读取操作单元524。
图示了包括在存储芯片10、20、30和40中的4个存储芯片,即第一存储芯片10、第二存储芯片20、第三存储芯片30和第四存储芯片40。相应地,在第一存储芯片10中包括第一存储区12和第一页缓冲器14。在第二存储芯片20中包括第二存储区22和第二页缓冲器24。在第三存储芯片30中包括第三存储区32和第三页缓冲器34。在第四存储芯片40中包括第四存储区42和第四页缓冲器44。当然,与图示不同,在存储芯片10、20、30和40中可以包括数目大于4的存储芯片,以及在存储芯片10、20、30和40中可以包括数目小于4的存储芯片。
第一到第四存储芯片10、20、30和40中的每个可以具有与上面参照图2和图3描述的存储器件相同的配置。
地址表500储存用于以物理页为单位来识别存储芯片10、20、30和40的相应的存储区12、22、32和42的物理地址与用于以逻辑页为单位来识别存储芯片10、20、30和40的相应的存储区12、22、32和42的逻辑地址之间的映射信息。
作为在存储***外部使用的地址的逻辑地址是逻辑上连续的地址。也即,由于逻辑地址是由使用存储***的用户分配的地址,故一旦分配了其值就固定了。
相反地,可以根据存储***的操作而不连续地分配用于在存储***中直接指定存储芯片10、20、30和40的相应的存储区12、22、32和42的物理地址。换言之,由于诸如根据在包括在存储***中的存储芯片10、20、30和40中的每个中执行的数据输入操作、擦除操作或错误恢复操作而特定页转换为无效状态的原因,可以改变物理地址的值。
当其中物理地址的值因逻辑地址和物理地址的如此特性而发生改变的操作被执行时,由于物理地址的值的改变,储存在地址表500中的映射信息可以变成错误信息。
因此,当由于其中物理地址的值发生改变的操作而物理地址改变时,例如,当由于在包括在存储***中的存储芯片10、20、30和40中的每个中执行数据输入操作、擦除操作或错误恢复操作而物理地址改变时,地址表500实时更新并储存改变的物理地址和逻辑地址LA之间的映射关系。
作为参考,在图1中所示的存储器144中可以包括地址表500,可以由处理器134来执行诸如更新储存于此的映射信息的操作。
在目标表530中,储存通过地址表500而从顺序逻辑地址TLA<1:12>转换来的顺序物理地址TPA<1:8,25,26,11,12>。也就是,目标表530在地址表500的逻辑地址之中的搜索顺序逻辑地址TLA<1:12>,以及将映射到搜索的逻辑地址的物理地址储存为顺序物理地址TPA<1:8,25,26,11,12>。
作为从外部连同顺序命令SQ_CMD一起输入的地址的顺序逻辑地址TLA<1:12>是当在存储***中连续地执行读取操作预定次数时在相应的读取操作中使用的逻辑地址。例如,当在存储***中响应于顺序命令SQ_CMD而要连续执行12次读取操作时,12个逻辑地址的值存在于顺序逻辑地址TLA<1:12>中,且分别在12次读取操作中使用。
由于顺序逻辑地址TLA<1:12>具有其中存储***中已经正在使用的逻辑地址按预设数被分组的概念,故顺序逻辑地址TLA<1:12>的各值是地址表500中所储存的逻辑地址之中的已经存在的值。因此,通过在地址表500中搜索相应的顺序逻辑地址TLA<1:12>的值,根据地址表500的映射信息可以知道顺序物理地址的值。
目标表530仅单独地提取并储存顺序逻辑地址TLA<1:12>以及映射到其的顺序物理地址TPA<1:8,25,26,11,12>的值。
由于存储在地址表500中的逻辑地址的量是巨大的,故需要大量的时间以执行从地址表500中所储存的逻辑地址之中的搜索顺序逻辑地址TLA<1:12>的操作,因而使用目标表530。即,如果每当使用映射到顺序逻辑地址TLA<1:12>的顺序物理地址TPA<1:8,25,26,11,12>时在地址表500中执行搜索,则将是低效率的。
而且,由于预设数目的逻辑地址实际上包括在顺序逻辑地址TLA<1:12>中,故应当预先定以要以何种次序来使用预设数目的逻辑地址。因此,储存在目标表530中的顺序逻辑地址TLA<1:12>是以预设次序储存的,相应地,顺序物理地址TPA<1:8,25,26,11,12>也是以预设次序储存的。
用于在地址表500中搜索映射到顺序逻辑地址TLA<1:12>的顺序物理地址TPA<1:8,25,26,11,12>的操作时段可以与用于通过使用顺序物理地址TPA<1:8,25,26,11,12>来执行顺序读取操作的时段重叠。换言之,在地址表500中搜索顺序逻辑地址TLA<1:12>之中的根据预设次序而先输入的顺序逻辑地址TLA<1:12>并将其转换成顺序物理地址TPA<1:8,25,26,11,12>以及在选择输出块510中使用转换的顺序物理地址TPA<1:8,25,26,11,12>的同时,可以在地址表500中搜索顺序逻辑地址TLA<1:12>之中的根据预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址TPA<1:8,25,26,11,12>。
例如,可以以下面的次序来将顺序物理地址TPA<1:8,25,26,11,12>储存在目标表530中。
首先,一输入顺序逻辑地址TLA<1:12>之中的先输入的第一到第四顺序逻辑地址TLA<1:4>,就在地址表500中搜索所述第一到第四顺序逻辑地址TLA<1:4>,并将其作为第一到第四顺序物理地址TPA<1:4>储存在目标表530中。
此后,在选择输出块510使用第一到第四顺序物理地址TPA<1:4>的操作时段期间,在地址表500中搜索顺序逻辑地址TLA<1:12>之中的后输入的第五到第八顺序逻辑地址TLA<5:8>,并将其作为第五到第八顺序物理地址TPA<5:8>储存在目标表530中。
然后,在选择输出块510使用第五到第八顺序物理地址TPA<5:8>的操作时段期间,在地址表500中搜索顺序逻辑地址TLA<1:12>之中的后来输入的第九到第十二顺序逻辑地址TLA<9:12>,并将其作为第二十五和第二十六、第十一以及第十二顺序物理地址TPA<25,26,11,12>储存在目标表530中。
作为参考,在产生目标表530时,可以根据设计者的选择来确定要按何值来划分、在地址表500中搜索以及在目标表530中储存根据预设次序而输入的顺序物理地址TPA<1:8,25,26,11,12>。即,虽然可以按照如上作为例子描述的值4来划分、在地址表500中搜索顺序物理地址TPA<1:8,25,26,11,12>以及将其储存在目标表530中,但需要注意的是,可以按小于4或大于4的值来划分、在地址表500中搜索顺序物理地址TPA<1:8,25,26,11,12>以及将其储存在目标表530中。
虽然惯例是如上所述,预设次序是顺序逻辑地址TLA<1:12>施加到存储***的次序,但可以通过根据需求而规定的条件来定义预设次序。
目标表530可以被包括在图1中所示的存储器144中。
选择输出块510响应于顺序物理地址TPA<1:8,25,26,11,12>而按预设次序以页为单位来选择存储芯片10、20、30和40的存储区12、22、32和42作为现选页{a,b,c,d,e,f,g,h,y,z,k,l},以及将存储芯片10、20、30和40之中的与现选页{a,b,c,d,e,f,g,h,y,z,k,l}相对应的现选存储芯片的页缓冲器14、24、34和44中所储存的数据DATA1{out}、DATA2{out}、DATA3{out}和DATA4{out}输出到外部。
例如,当假定由顺序物理地址TPA<1:8,25,26,11,12>之中的第七顺序物理地址TPA<7>所指定的页是包括在第三存储芯片30的第三存储区32中的页“g”时,选择输出块510响应于第七顺序物理地址TPA<7>而选择页“g”作为现选页{g},以及将用于将与包括页“g”作为现选页{g}的第三存储区32相对应的第三存储芯片30的第三页缓冲器34中所储存的数据DATA3{out}输出到外部的第七选择控制信号TPAI{g}传送到第三存储芯片30的第三页缓冲器34。由于第七选择控制信号TPAI{g}对应于页“g”,故在第七选择控制信号TPAI{g}中可以包括第七顺序物理地址TPA<7>的信息。
对于另一个例子,当假定由顺序物理地址TPA<1:8,25,26,11,12>之中的第一顺序物理地址TPA<1>所指定的页是包括在第一存储芯片10的第一存储区12中的页“a”时,选择输出块510响应于第一顺序物理地址TPA<1>而选择页“a”作为现选页{a},以及将用于将与包括页“a”作为现选页{a}的第一存储区12相对应的第一存储芯片10的第一页缓冲器14中所储存的数据DATA1{out}输出到外部的第一选择控制信号TPAI{g}传送到第一存储芯片10的第一页缓冲器14。由于第一选择控制信号TPAI{a}对应于页“a”,故在第一选择控制信号TPAI{a}中可以包括第一顺序物理地址TPA<1>的信息。
同时,选择输出块510可以以如下描述的两种方法来操作。
第一方法是如下操作:每当执行一次选择操作时,使用储存在目标表530中的顺序物理地址TPA<1:8,25,26,11,12>来按预设次序逐个从存储芯片10、20、30和40之中的任意一个存储芯片中选择一个页作为现选页{a,b,c,d,e,f,g,h,y,z,k,l}中的一个。
假定当根据第一方法来连续执行第一循环次数的选择操作时存储芯片10、20、30和40被分别选择一次,在根据预设次序来连续执行预设次数的选择操作时,当预设次数大于第一循环次数时,根据预设次序而相应的存储芯片10、20、30和40可以被重复选择至少一次。当然,在根据预设次序来连续执行预设次数的选择操作时,当预设次数小于第一循环次数时,根据预设次序而存储芯片10、20、30和40的一部分可以被选择而另一部分不能被选择。
第二方法是如下操作:每当执行一次选择操作时,使用储存在目标表530中的至少两个顺序物理地址TPA<1:8,25,26,11,12>来按预设次序使来自存储芯片10、20、30和40之中的至少两个存储芯片10与20、10与30、10与40、20与30、20与40或30与40中的每个存储芯片中的至少两个页成组、以及选择成组的页作为现选页{a,b,c,d,e,f,g,h,y,z,k,l}。
假定当根据第二方法连续执行第二循环次数的选择操作时,存储芯片10、20、30和40被分别选择一次,在根据预设次序连续地执行预设次数的选择操作时,当预设次数大于第二循环次数时,根据预设次序而相应的存储芯片10、20、30和40可以被重复选择至少一次。当然,在根据预设次序连续执行预设次数的选择操作时,当预设次数小于第二循环次数时,根据预设次序而存储芯片10、20、30和40的一部分可以被选择而另一部分不能被选择。
遵照设计者的选择,可以根据存储***中数据的输出是以一页为单位还是以至少两页为单位而实施的来确定第一选择操作和第二选择操作。
在上面的描述中,选择输出块510响应于顺序物理地址TPA<1:8,25,26,11,12>来仅执行确定是否要从存储芯片10、20、30和40的相应的页缓冲器14、24、34和44输出数据DATA1{out}、DATA2{out}、DATA3{out}、DATA4{out}的操作。就这一点而言,由于存储芯片10、20、30和40的特性,应当在从页缓冲器14、24、34和44中输出数据DATA1{out}、DATA2{out}、DATA3{out}和DATA4{out}之前读取存储区12、22、32和42中的数据DATA1{rd}、DATA2{rd}、DATA3{rd}和DATA4{rd}并将其储存在页缓冲器14、24、34和44中。基于这个事实,当如下面所描述的预期读取块520连同选择输出块510一起操作时,可以正常执行顺序读取操作。
在通过选择输出块510将储存在现选存储芯片10、20、30和40的页缓冲器14、24、34和44中的数据DATA1{out}、DATA2{out}、DATA3{out}、DATA4{out}输出到外部的同时,预期读取块520将即将在选择输出块510中根据预设次序而次于现选页{a,b,c,d,e,f,g,h,y,z,k,l}以被选中的期选页{b,c,d,e,f,g,h,y,z,k,l}中所储存的数据DATA1{rd}、DATA2{rd}、DATA3{rd}和DATA4{rd}读取到存储芯片10、20、30和40之中的与期选页{b,c,d,e,f,g,h,y,z,k,l}相对应的期选存储芯片的页缓冲器14、24、34和44中。
例如,在选择输出块510选择页“g”作为现选页{g}以及在第三存储芯片30的第三页缓冲器中所储存的数据DATA3{out}被输出的同时,预期读取块520根据顺序物理地址TPA<1:8,25,26,11,12>的预设次序而将即将次于页“g”被选中的页“h”设为期选页{h},以及将第八读取控制信号TPAP{h}传送到第四存储区42,以确保其中包括页“h”作为期选页{h}的第四存储芯片40的第四存储区42的页“h”中所储存的数据DATA4{rd}可以被读取并储存在第四页缓冲器44中。由于第八读取控制信号TPAP{h}对应于页“h”,故在第八读取控制信号TPAP{h}中可以包括第八顺序物理地址TPA<8>的信息。
对于另一个例子,在选择输出块510选择页“a”作为现选页{a}以及在第一存储芯片10的第一页缓冲器14中所储存的数据DATA1{out}被输出的同时,预期读取块520根据顺序物理地址TPA<1:8,25,26,11,12>的预设次序而将即将次于页“a”被选中的页“b”设为期选页{b},以及将第二读取控制信号TPAP{b}传送到第二存储区22,以确保可以将其中包括页“b”作为期选页{b}的第二存储芯片20的第二存储区22的页“b”中所储存的数据DATA2{rd}读取并储存在第二页缓冲器24中。由于第二读取控制信号TPAP{b}对应于页“b”,故在第二读取控制信号TPAP{b}中可以包括第二顺序物理地址TPA<2>的信息。
在选择输出块510从存储芯片10、20、30和40的页缓冲器14、24、34和44中输出与现选页{a,b,c,d,e,f,g,h,y,z,k,l}相对应的数据DATA1{out}、DATA2{out}、DATA3{out}、DATA4{out}的同时,预期读取块520将与即将次于现选页{a,b,c,d,e,f,g,h,y,z,k,l}而被选中的期选页{b,c,d,e,f,g,h,y,z,k,l}相对应的数据DATA1{rd}、DATA2{rd}、DATA3{rd}、DATA4{rd}读取到存储芯片10、20、30和40的页缓冲器14、24、34和44中。
当由顺序物理地址TPA<1:8,25,26,11,12>之中的与根据选择输出块510中设定的次序的第一次序相对应的第一顺序物理地址TPA<1>指定的页“a”被选择作为现选页{a}时,因为在选择操作之前选择输出块510从未操作,故预期读取块520从不操作,相应地,其不处于现选页{a}的数据DATA1{rd}被读取并储存在第一页缓冲器14中的状态。
因此,当由顺序物理地址TPA<1:8,25,26,11,12>之中的与根据选择输出块510中设定的次序的第一次序相对应的第一顺序物理地址TPA<1>指定的页“a”被选择作为现选页{a}时,选择输出块510将储存在作为现选页{a}的页“a”中的数据DATA1{rd}读取到第一页缓冲器14中,然后输出第一页缓冲器14中的数据DATA1{out}。出于该目的,第一输出控制信号TPAI{a}不仅施加到第一页缓冲器14,还施加到第一存储芯片10的第一存储区12。
预期地址选择单元522将根据次于根据预设次序而储存在目标表530中的顺序物理地址TPA<1:8,25,26,11,12>之中的在选择输出块510中正在使用的顺序物理地址TPA<1:8,25,26,11,12>的次序的顺序物理地址TPA<2:8,25,26,11,12>选择作为预期物理地址TPA<2:8,25,26,11,12>。
例如,当选择输出块510通过使用第七顺序物理地址TPA<7>而选择现选页{g}时,预期地址选择单元522基于与现选页{g}相对应的第七选择控制信号TPAI{g}中包括的第七顺序物理地址TPA<7>的信号以及关于预设次序的信息而选择第八顺序物理地址TPA<8>作为预期物理地址TPA<8>。
此外,当选择输出块510通过使用第一顺序物理地址TPA<1>而选择现选页{a}时,预期地址选择单元522基于在与现选页{a}相对应的第一选择控制信号TPAI{a}中包括的第一顺序物理地址TPA<1>的信息以及关于预设次序的信息而选择第二顺序物理地址TPA<2>作为预期物理地址TPA<2>。
读取操作单元524将由预期物理地址TPA<2:8,25,26,11,12>所指定的期选页{b,c,d,e,f,g,h,y,z,k,l}中所储存的数据DATA1{rd}、DATA2{rd}、DATA3{rd}和DATA4{rd}读取到期选存储芯片10、20、30和40的页缓冲器14、24、34和44中。
例如,当预期地址选择单元522选择第八顺序物理地址TPA<8>作为预期物理地址TPA<8>时,读取操作单元524选择由第八顺序物理地址TPA<8>指定的页“h”作为期选页{h},以及将第八读取控制信号TPAP{h}传送到第四存储区42,以确保可以将其中包括页“h”作为期选页{h}的第四存储芯片40的第四存储区42中的页“h”中所储存的数据DATA4{rd}读取并储存在第四页缓冲器44中。
此外,当预期地址选择单元522选择第二顺序物理地址TPA<2>作为预期物理地址TPA<2>时,读取操作单元524选择由第二顺序物理地址TPA<2>所指定的页“b”作为期选页{b},以及将第二读取控制信号TPAP{b}传送到第二存储区22,以确保可以将其中包括页“b”作为期选页{b}的第二存储芯片20的第二存储区22中的页“b”中所储存的数据DATA2{rd}读取并储存在第二页缓冲器24中。
在选择预期物理地址TPA<2:8,25,26,11,12>之后以及将其传送到读取操作单元524之前,预期地址选择单元522执行确定预期物理地址TPA<2:8,25,26,11,12>是否处于“重叠状态”的操作。出于此目的,预期地址选择单元522将根据预设次序而储存在目标表530中的顺序物理地址TPA<1:8,25,26,11,12>之中的与在选择输出块510中正在使用的顺序物理地址TPA<1:8,25,26,11,12>之前的次序相对应的所有顺序物理地址TPA<1:8,25,26,11>的值(即由页“a,b,c,d,e,f,g,h,y,z,k”指定的值)与预期物理地址TPA<2:8,25,26,11,12>的值(即指定页“b,c,d,e,f,g,h,y,z,k,l”的值)相比较,由此确定重叠。例如,当选择输出块510正在使用第七顺序物理地址TPA<7>时,在选择第八顺序物理地址TPA<8>作为预期物理地址TPA<8>之后,预期地址选择单元522将预期物理地址TPA<8>的值(即指定页“h”的值)与第一到第七顺序物理地址TPA<1:7>的值相比较,由此确定“重叠状态”。
当由预期地址选择单元522确定了预期物理地址TPA<2:8,25,26,11,12>(即指定页“b,c,d,e,f,g,h,y,z,k,l”的值)是处于“重叠状态”时,读取操作单元524不读取由预期物理地址TPA<2:8,25,26,11,12>所指定的期选页{b,c,d,e,f,g,h,y,z,k,l}中所储存的数据,以及将期选存储芯片10、20、30和40的页缓冲器14、24、34和44中已经储存的数据原样保留。换言之,在与由预期地址选择单元522确定为“重叠状态”的预期物理地址TPA<2:8,25,26,11,12>相对应的期选页{b,c,d,e,f,g,h,y,z,k,l}中,由于其已经被预先读取到期选存储芯片10、20、30和40的页缓冲器14、24、34和44中,故没有必要再次执行读取操作。因此,在与由预期地址选择单元522确定为“重叠状态”的预期物理地址TPA<2:8,25,26,11,12>相对应的期选页{b,c,d,e,f,g,h,y,z,k,l}中,读取操作单元524不将读取控制信号TPAI{b,c,d,e,f,g,h,y,z,k,l}传送到存储芯片10、20、30和40的存储区12、22、32和42。为了通知读取操作单元524预期物理地址TPA<2:8,25,26,11,12>的值(即指定页“b,c,d,e,f,g,h,y,z,k,l”的值)是否被确定为“重叠状态”,预期地址选择单元522额外传送重叠确定信号OVERLAP到读取操作单元524。
因为图示了所有的顺序物理地址TPA<1:8,25,26,11,12>具有不同的值(即指定页“a,b,c,d,e,f,g,h,y,z,k,l”的值),故当执行顺序读取操作时,对于所有预期物理地址TPA<2:8,25,26,11,12>而不出现“重叠状态”这一确定。
然而,例如,当假定不同于图5图示的情形的情形(其中顺序物理地址TPA<1:8,25,26,11,12>具有指定页“a,b,c,d,a,b,c,d,e,f,g,h”的值)时,预期物理地址TPA<7>是指定页“c”的值且与为第三顺序物理地址TPA<3>的值的指定页“c”的值相同。在这种情况下,将预期物理地址TPA<7>确定为“重叠状态”。如果将预期物理地址TPA<7>确定为“重叠状态”,则读取操作单元524不将第七读取控制信号TPAP{c}传送到与预期物理地址TPA<7>相对应的第三存储芯片30的第三存储区32。相应地,在第三存储芯片30的第三页缓冲器34中,之前已经响应于第三读取控制信号TPAP{c}而被读取的数据DATA3{rd}可以原样保留。
同时,即便在执行顺序读取操作时,仍可以执行改变地址表500的物理地址的值的更新操作。
例如,即便将顺序命令SQ_CMD设置为通过顺序读取操作连续执行12次读取操作的效果,由于在执行4次读取操作之后将要执行第五读取操作时突然输入或擦除其他数据的操作而仍可以执行改变地址表500的物理地址的值的更新操作。在这种情况下,由于是正当执行顺序读取操作时,故可以更新关于与4个读取操作相对应的顺序物理地址TPA<1:4>(其在顺序读取操作的开始时间被确定并且通过已经在读取操作中被使用而被输出)的信息。因此,即便要在执行第五到第十二读取操作的时段中使用的顺序物理地址TPA<5:8,25,26,11,12>与在更新之前执行的4次读取操作中已经使用的顺序物理地址TPA<1:4>指定相同的页,在相应的操作中储存在对应页中的值仍可以是不同的。
因此,当执行改变地址表500的物理地址的值的更新操作时,不论由预期地址选择单元522确定的“重叠状态”的结果是什么,读取操作单元都将由预期物理地址TPA<2:8,25,26,11,12>指定的期选页{b,c,d,e,f,g,h,y,z,k,l}中所储存的数据读取到期选存储芯片10、20、30和40的页缓冲器14、24、34和44中。
例如,当假定在更新之前执行的4次读取操作中使用的顺序物理地址TPA<1:4>具有用于指定页“a,b,c,d”的值、而在更新之后执行的8次读取操作中使用的顺序物理地址TPA<5:8,25,26,11,12>具有用于指定页“a,b,c,d,a,b,c,d”的值时,在更新之前使用的第一到第四顺序物理地址TPA<1:4>与在更新之后使用的第五到第八顺序物理地址TPA<5:8>具有相同的值。同样,与在更新之后使用的第五到第八顺序物理地址TPA<5:8>相似,在更新之后使用的第二十五、第二十六、第十一和第十二顺序物理地址TPA<25,26,11,12>也可以具有相同的值。
当读取操作单元524接收由预期地址选择单元522确定的“重叠状态”的结果时,在更新之前的4次读取操作中通过使用第一到第四顺序物理地址TPA<1:4>而从页“a,b,c,d”读取并储存在页缓冲器14、24、34和44中的数据DATA1{rd}、DATA2{rd}、DATA3{rd}、DATA4{rd}在更新之后执行的第五到第十二读取操作中被原样保留,引起不正确操作。
因此,根据实施例的读取操作单元524确认出在地址表500中已经出现更新,而相应地,选择性地接收预期地址选择单元522的“重叠状态”确定结果。即,用在更新之后执行的第五到第八读取操作中通过使用第五到第八顺序物理地址TPA<5:8>而从页“a,b,c,d”读取并储存在页缓冲器14、24、34和44中的数据DATA1{rd}、DATA2{rd}、DATA3{rd}、DATA4{rd}取代在更新之前的4次读取操作中通过使用顺序物理地址TPA<1:4>而从页“a,b,c,d”读取并储存在页缓冲器14、24、34和44中的数据DATA1{rd}、DATA2{rd}、DATA3{rd}、DATA4{rd}。再者,在更新之后执行的第五到第八读取操作中通过使用第五到第八顺序物理地址TPA<5:8>而从页“a,b,c,d”读取并储存在页缓冲器14、24、34和44中的数据DATA1{rd}、DATA2{rd}、DATA3{rd}、DATA4{rd}在更新之后执行类似的第九到第十二读取操作中被原样保留。
作为参考,可以使用将指示储存在地址表500中的物理地址更新了的指定信号传送给读取操作单元524的方法作为用于通知读取操作单元524储存在地址表500中的物理地址更新了的方法。当在执行顺序读取操作的同时执行可以在其中更新地址表500的物理地址的操作(例如数据输入操作或擦除操作)时,可以使用使读取操作单元524无条件忽略预期地址选择单元522的确定操作的方法。
在图1中所示的NFC 142或处理器134中可以包括选择输出块510和预期读取块520。
图6A和图6B是辅助解释根据实施例的存储***的顺序读取操作的图。
参见图6A和图6B,当从主机请求顺序读取操作时,存储***产生目标表530以及基于逻辑地址来执行预期读取操作。
详细地,参见图6A,如果在顺序读取操作中输入12个顺序逻辑地址TLA<1:12>,则在地址表500中搜索其值、对12个顺序物理地址TPA<1:8,25,26,11,12>进行转换以及将转换的顺序物理地址TPA<1:8,25,26,11,12>储存在目标表530中。
在地址表500中根据其预设输入次序而以预设值为单位来搜索12个顺序逻辑地址TLA<1:12>,以及根据预设次序而将12个顺序物理地址TPA<1:8,25,26,11,12>储存在目标表530中。
例如,在地址表500中首先搜索以第一次序输入的第一和第二顺序逻辑地址TLA<1:2>并将其作为第一和第二顺序物理地址TPA<1:2>储存在目标表530中。在执行其中通过使用第一和第二顺序物理地址TPA<1:2>而将储存在对应页“a”和“b”中的数据1和2输出到外部的操作的同时,第三和第四顺序逻辑地址TLA<3,4>被输入、在地址表500中被搜索以及作为第三和第四顺序物理地址TPA<3,4>而被储存在目标表530中。另一方面,在执行其中通过使用第三和第四顺序物理地址TPA<3,4>而将储存在对应页“c”和“d”中的数据3和4输出到外部的操作的同时,第五和第六顺序逻辑地址TLA<5,6>被输入、在地址表500中被搜索以及作为第五和第六顺序物理地址TPA<5,6>而被储存在目标表530中。可以根据预设次序而将12个顺序逻辑地址TLA<1:12>转换为12个顺序物理地址TPA<1:8,25,26,11,12>,以及可以将转换的顺序物理地址TPA<1:8,25,26,11,12>储存在目标表530中。
下面将描述在其中通过使用储存在目标表530中的顺序物理地址TPA<1:8,25,26,11,12>而从存储芯片10、20、30和40输出数据的操作。
首先,由第一顺序物理地址TPA<1>指定的第一存储芯片10的页“a”中所储存的数据1被读取并储存在第一页缓冲器14中,以及当读取完成时被立即输出到外部。
在执行其中从由第一顺序物理地址TPA<1>指定的第一存储芯片10输出数据1的操作的同时,读取由第二顺序物理地址TPA<2>指定的第二存储芯片20的页“b”中所储存的数据2并将其储存在第二页缓冲器24中,以及在完成从第一存储芯片10的第一页缓冲器14输出数据1之后实施从第二存储芯片20的第二页缓冲器24输出数据2。
在执行其中从由第二顺序物理地址TPA<2>指定的第二存储芯片20输出数据2的操作的同时,读取由第三顺序物理地址TPA<3>指定的第三存储芯片30的页“c”中所储存的数据3并将其储存在第三页缓冲器34中,以及在完成从第二存储芯片20的第二页缓冲器24输出数据2之后,实施从第三存储芯片30的第三页缓冲器34输出数据3。
在执行其中从由第三顺序物理地址TPA<3>指定的第三存储芯片30输出数据3的操作的同时,读取由第四顺序物理地址TPA<4>指定的第四存储芯片40的页“d”中所储存的数据4读取并将其储存在第四页缓冲器44中,以及在完成从第三存储芯片30的第三页缓冲器34输出数据3之后,实施从第四存储芯片40的第四页缓冲器44输出数据4。
在执行其中从由第四顺序物理地址TPA<4>指定的第四存储芯片40输出数据4的操作的同时,将由第五顺序物理地址TPA<5>指定的第一存储芯片10的页“e”中所储存的数据5读取并储存在第一页缓冲器14中。此时,将之前已经被读取并储存在第一页缓冲器14中的数据擦除。在完成从第四存储芯片40的第四页缓冲器44输出数据4之后,实施从第一存储芯片10的第一页缓冲器14输出数据5。
如上所述,第一到第四存储芯片10、20、30和40对应于第一到第五顺序物理地址TPA<1:5>而以方案“从在前的存储芯片的页缓冲器输出数据的同时数据被读取并储存在接下来的存储芯片的页缓冲器中”来交替地以及循环地操作;以相同的方式,第一到第四存储芯片10、20、30和40对应于剩余的第六到第八、第二十五、第二十六、第十一和第十二顺序物理地址TPA<6:8,25,26,11,12>而以方案“从在前的存储芯片的页缓冲器输出数据的同时数据被读取并储存在接下来的存储芯片的页缓冲器中”来交替地以及循环地操作。
上述顺序读取操作的特征在于:由于是基于目标表530来使用映射到顺序逻辑地址TLA<1:12>的顺序物理地址TPA<1:8,25,26,11,12>,故即便与第二十五和第二十六顺序物理地址TPA<25,26>相对应的页“y”和“z”是处于其不物理相邻于与剩余的顺序物理地址TPA<1:8,11,12>相对应的页a,b,c,d,e,f,g,h,k和l的状态,只要预期读取操作不失败则连续读取数据是可能的。
在上述的顺序读取操作中,因为以如此方式例示12个顺序物理地址TPA<1:8,25,26,11,12>以指定完全不同的页a,b,c,d,e,f,g,h,y,z,k和l,故还没有对在执行预期读取的过程中确定是否出现“重叠状态”的操作进行描述。
详细地,参见图6B,如果在顺序读取操作中输入8个顺序逻辑地址TLA<1:8>,则在地址表500中搜索其值、对8个顺序物理地址TPA<1:4,1,2,7,8>进行转换以及将转换的顺序物理地址TPA<1:4,1,2,7,8>储存在目标表530中。
由于在上面参照图6A详细地描述了在其中可以将8个顺序物理地址TPA<1:4,1,2,7,8>储存在目标表530中的过程,此处将省略对其的详细描述。
下面将描述在其中通过使用储存在目标表530中的顺序物理地址TPA<1:4,1,2,7,8>而从存储芯片10、20、30和40输出数据的操作。
首先,将由映射到第一顺序逻辑地址TLA<1>的第一顺序物理地址TPA<1>指定的第一存储芯片10的页“a”中所储存的数据1读取并储存在第一页缓冲器14中,以及当读取完成时立即输出到外部。
在执行其中从由映射到第一顺序逻辑地址TLA<1>的第一顺序物理地址TPA<1>指定的第一存储芯片输出数据1的操作的同时,将由映射到第二顺序逻辑地址TLA<2>的第二顺序物理地址TPA<2>指定的第二存储芯片20的页“b”中所储存的数据2读取并储存在第二页缓冲器24中。由于第二顺序物理地址TPA<2>与第一顺序物理地址TPA<1>不同,故确定还未出现“重叠状态”,而将页“b”的数据2正常读取并储存在第二页缓冲器24中。在完成从第一存储芯片10的第一页缓冲器14输出数据1之后,实施从第二存储芯片20的第二页缓冲器24输出数据2。
在执行在其中从由映射到第二顺序逻辑地址TLA<2>的第二顺序物理地址TPA<2>指定的第二存储芯片20输出数据2的操作的同时,将由映射到第三顺序逻辑地址TLA<3>的第三顺序物理地址TPA<3>指定的第三存储芯片30的页“c”中所储存的数据3读取并储存在第三页缓冲器34中。由于第三顺序物理地址TPA<3>与第一和第二顺序物理地址TPA<1:2>不同,故确定还未出现“重叠状态”,而将页“c”的数据3正常读取并储存在第三页缓冲器34中。在完成从第二存储芯片20的第二页缓冲器24输出数据2之后,执行从第三存储芯片30的第三页缓冲器34输出数据3。
在执行在其中从由映射到第三顺序逻辑地址TLA<3>的第三顺序物理地址TPA<3>指定的第三存储芯片30输出数据3的操作的同时,将由映射到第四顺序逻辑地址TLA<4>的第四顺序物理地址TPA<4>指定的第四存储芯片40的页“d”中所储存的数据4读取并储存在第四页缓冲器44中。由于第四顺序物理地址TPA<4>与第一到第三顺序物理地址TPA<1:3>不同,故确定还未出现“重叠状态”,而将页“d”的数据4正常读取并储存在第四页缓冲器44中。在完成从第三存储芯片30的第三页缓冲器34输出数据3之后,执行从第四存储芯片40的第四页缓冲器44输出数据4。
在执行在其中从由映射到第四顺序逻辑地址TLA<4>的第四顺序物理地址TPA<4>指定的第四存储芯片40输出数据4的操作的同时,应当将由映射到第五顺序逻辑地址TLA<5>的第一顺序物理地址TPA<1>指定的第一存储芯片10的页“a”中所储存的数据1读取并储存在第一页缓冲器14中。然而,映射到第五顺序逻辑地址TLA<5>的第一顺序物理地址TPA<1>与之前映射到第一顺序逻辑地址TLA<1>的第一顺序物理地址TPA<1>相同。因此,确定已经出现“重叠状态”,而不将第一存储芯片10的页“a”中所储存的数据1读取并储存在第一页缓冲器14中,而将第一页缓冲器14中之前储存的数据1原样保留。在完成从第四存储芯片40的第四页缓冲器44输出数据4之后,实施从第一存储芯片10的第一页缓冲器14输出数据1。
在执行在其中从由映射到第五顺序逻辑地址TLA<5>的第一顺序物理地址TPA<1>指定的第一存储芯片10输出数据1的操作的同时,应当将由映射到第六顺序逻辑地址TLA<6>的第二顺序物理地址TPA<2>指定的第二存储芯片20的页“b”中所储存的数据2读取并储存在第二页缓冲器24中。然而,映射到第六顺序逻辑地址TLA<6>的第二顺序物理地址TPA<2>与之前映射到第二顺序逻辑地址TLA<2>的第二顺序物理地址TPA<2>相同。因此,确定已经出现“重叠状态”,而不将第二存储芯片20的页“b”中所储存的数据2读取并储存在第二页缓冲器24中,而将第二页缓冲器24中之前储存的数据2原样保留。在完成从第一存储芯片10的第一页缓冲器14输出数据1之后,实施从第二存储芯片20的第二页缓冲器24输出数据2。
在执行在其中从由映射到第六顺序逻辑地址TLA<6>的第二顺序物理地址TPA<2>指定的第二存储芯片20输出数据2的操作的同时,将由映射到第七顺序逻辑地址TLA<7>的第七顺序物理地址TPA<7>指定的第三存储芯片30的页“g”中所储存的数据7读取并储存在第三页缓冲器34中。由于第七顺序物理地址TPA<7>与第一到第四顺序物理地址TPA<1:4>不同,故确定还未出现“重叠状态”,而将第三页缓冲器34中之前储存的数据3擦除,而将页“g”的数据7正常读取并储存在第三页缓冲器34中。在完成从第二存储芯片20的第二页缓冲器24输出数据2之后,实施从第三存储芯片30的第三页缓冲器34输出数据7。
在执行在其中从由映射到第七顺序逻辑地址TLA<7>的第七顺序物理地址TPA<7>指定的第三存储芯片30输出数据7的操作的同时,将由映射到第八顺序逻辑地址TLA<8>的第八顺序物理地址TPA<8>指定的第四存储芯片40的页“h”中所储存的数据8读取并储存在第四页缓冲器44中。由于第八顺序物理地址TPA<8>与第一到第四顺序物理地址TPA<1:4>不同,故确定还未出现“重叠状态”,而将第四页缓冲器44中之前储存的数据4擦除,而将页“h”的数据8正常读取并储存在第四页缓冲器44中。在完成从第三存储芯片30的第三页缓冲器34输出数据7之后,实施从第四存储芯片40的第四页缓冲器44输出数据8。
如上所述,第一到第四存储芯片10、20、30和40对应于8个顺序物理地址TPA<1:4,1,2,7,8>而以方案“从在前的存储芯片的页缓冲器输出数据的同时数据被读取并储存在接下来的存储芯片的页缓冲器中,而通过确定要被读取并储存在页缓冲器中的数据是否与之前的数据读取操作的数据重叠来确定是否继续读取操作”来交替地以及循环地操作。
作为参考,执行上面参照图6B描述的确定是否已经出现“重叠状态”的操作理所当然地在图6A中所示的例子中。然而,为了方便,在图6A和图6B中使用不同的例子。
在上面的描述中,以如此方式示例顺序读取操作:在一个读取操作中读取一个单位页。然而,这只是例子,需要注意的是,实际上可以以如此方式执行顺序读取操作:根据设计者的选择而在一个读取操作中同时读取两个单位页或多个单位页。
从上面的描述可以明显看出,根据实施例,在顺序读取操作中,在读取目前数据的操作时段期间,预先计算接下来的数据的物理地址以及将其读取并储存在页缓冲器中,由此可以提供可靠的读取操作。结果,可以改善读取操作的性能,以及可以阻止读取干扰。
尽管已经出于说明性的目的而描述了各种实施例,但对于本领域技术人员明显的是,可以在不脱离所附权利要求书中所界定的本发明的主旨和范围的情况下做出各种改变和变型。
通过以上实施例可以看出,本申请提供了以下的技术方案。
技术方案1.一种存储***,包括:
多个存储芯片,每个包括存储区和页缓冲器;
地址表,适用于储存用于映射物理地址和逻辑地址的映射信息,所述物理地址用于以物理页为单位来识别多个相应的存储芯片的所述存储区,所述逻辑地址用于以逻辑页为单位来识别多个相应的存储芯片的所述存储区;
目标表,适用于储存通过所述地址表而从顺序逻辑地址转换来的顺序物理地址;
选择输出块,适用于:基于所述顺序物理地址来根据预设次序而以页为单位将所述存储芯片的所述存储区选择作为现选页,以及输出所述存储芯片之中的与所述现选页相对应的现选存储芯片的页缓冲器中所储存的数据;以及
预期读取块,适用于:在所述现选存储芯片的所述页缓冲器中所储存的数据被输出的同时,读取期选页中所储存的数据以储存在所述存储芯片之中的与所述期选页相对应的期选存储芯片的页缓冲器中,所述期选页是即将在选择输出块中根据所述预设次序而次于所述现选页以被选择的页。
技术方案2.根据技术方案1所述的存储***,其中,当在相应的存储芯片中数据输入操作、擦除操作或错误恢复操作被执行时,所述地址表更新所述映射信息。
技术方案3.根据技术方案2所述的存储***,其中,从储存在所述地址表中的所述逻辑地址中搜索所述顺序逻辑地址,而所述目标表将映射到搜索的逻辑地址的物理地址储存为所述顺序物理地址。
技术方案4.根据技术方案3所述的存储***,其中,所述目标表基于以所述预设次序施加的所述顺序逻辑地址来以所述预设次序储存所述顺序物理地址。
技术方案5.根据技术方案4所述的存储***,其中,在所述选择输出块中使用从根据所述预设次序而先输入的顺序逻辑地址搜索并转换来顺序物理地址的同时,在所述地址表中搜索根据所述预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
技术方案6.根据技术方案5所述的存储***,
其中,每当执行选择操作时,所述选择输出块使用储存在所述目标表中的所述顺序物理地址来以所述预设次序逐个选择所述存储芯片之中的任意一个存储芯片中的一页作为现选页之一,以及当选择操作被连续执行第一循环次数时,所述存储芯片被分别选择一次,以及
其中,所述选择输出块对应于所述预设次序而将所述选择操作连续执行预设次数,以及当所述预设次数大于所述第一循环次数时,根据所述预设次序而相应的存储芯片被重复选择至少一次。
技术方案7.根据技术方案5所述的存储***,
其中,每当执行选择操作时,所述选择输出块使用储存在所述目标表中的所述顺序物理地址中的至少两个顺序物理地址来以所述预设次序使来自所述存储芯片之中的至少两个存储芯片中的每个存储芯片的至少两个页成组以及选择成组的页为所述现选页,以及当选择操作被连续执行第二循环次数时,所述存储芯片被分别选择一次,以及
其中,所述选择输出块对应于所述预设次序而将所述选择操作连续执行预设次数,以及当所述预设次数大于所述第二循环次数时,根据所述预设次序而相应的存储芯片被重复选择至少一次。
技术方案8.根据技术方案5所述的存储***,其中,当通过使用与根据所述预设次序的第一次序相对应的顺序物理地址来选择现选页时,所述选择输出块读取在所述现选页中所储存的数据以储存在所述现选存储芯片的所述页缓冲器中,以及将所述现选存储芯片的所述页缓冲器中所储存的数据输出。
技术方案9.根据技术方案5所述的存储***,其中,所述预期读取块包括:
预期地址选择单元,适用于:从根据所述预设次序而储存的所述顺序物理地址之中选择根据次于在所述选择输出块中正在使用的顺序物理地址的次序的顺序物理地址作为预期物理地址;以及
读取操作单元,适用于读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
技术方案10.根据技术方案9所述的存储***,其中,所述预期地址选择单元将所述预期物理地址的值与根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中的与在所述选择输出块中正在使用的所述顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较,而确定是否出现重叠。
技术方案11.根据技术方案10所述的存储***,其中,当所述预期物理地址的值与所述顺序物理地址的值被确定为重叠时,所述读取操作单元将所述期选存储芯片的所述页缓冲器中所储存的数据保留,而不读取在由所述预期物理地址指定的所述期选页中所储存的数据。
技术方案12.根据技术方案11所述的存储***,其中,当在所述地址表中所述映射信息被更新时,不管所述预期地址选择单元的确定结果是什么,所述读取操作单元都读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
技术方案13.一种用于操作存储***的方法,所述存储***包括:多个存储芯片,每个存储芯片具有存储区和页缓冲器;以及地址表,储存用于映射物理地址和逻辑地址的映射信息,所述物理地址和逻辑地址用于以物理页为单位和以逻辑页为单位来识别多个相应的存储芯片的所述存储区,所述方法包括:
将通过所述地址表而被映射作为顺序物理地址的顺序物理地址储存在目标表中;
基于所述顺序物理地址来根据预设次序而以页为单位选择所述存储芯片的所述存储区作为现选页;
将所述存储芯片之中的与所述现选页相对应的现选存储芯片的页缓冲器中所储存的数据输出;以及
在输出数据期间,读取期选页中所储存的数据以储存在所述存储芯片之中的与所述期选页相对应的期选存储芯片的页缓冲器中,其中所述期选页是即将在储存区的选择中根据所述预设次序而次于所述现选页以被选择的页。
技术方案14.根据技术方案13所述的方法,其中,当在相应的存储芯片中数据输入操作、擦除操作或错误恢复操作被执行时,所述地址表更新所述映射信息。
技术方案15.根据技术方案14所述的方法,其中,储存所述顺序物理地址包括:
在所述地址表中所储存的所述逻辑地址之中根据所述预设次序来搜索所述顺序逻辑地址;以及
根据预设次序而将映射到搜索的逻辑地址的物理地址储存作为所述顺序物理地址。
技术方案16.根据技术方案15所述的方法,其中,在所述存储区的选择中使用从根据所述预设次序而先输入的顺序逻辑地址搜索并转换来的顺序物理地址时,在地址表中搜索根据所述预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
技术方案17.根据技术方案16所述的方法,其中,当通过使用与根据所述预设次序的第一次序相对应的顺序物理地址来选择现选页时,在数据的输出中,在所述现选页中所储存的数据被读取并储存在所述现选存储芯片的所述页缓冲器中,以及所述现选存储芯片的所述页缓冲器中所储存的数据被输出。
技术方案18.根据技术方案16所述的方法,其中,数据的读取包括:
从根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中选择根据次于在存储芯片的存储区的选择中正在使用的顺序物理地址的次序的顺序物理地址作为预期物理地址;以及
预期地读取在由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
技术方案19.根据技术方案18所述的方法,其中,在所述顺序物理地址的选择中,将所述预期物理地址的值与根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中的与在存储芯片的存储区的选择中正在使用的所述顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较,以确定是否出现重叠。
技术方案20.根据技术方案19所述的方法,其中,预期地读取包括:
当所述预期物理地址和所述顺序物理地址的值被确定为重叠时,将所述期选存储芯片的所述页缓冲器中所储存的数据保留,而不读取由所述预期物理地址指定的所述期选页中所储存的数据;
当所述预期物理地址和所述顺序物理地址的值被确定为不重叠时,读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中;以及
当在所述地址表中映射表被更新时,不管确定结果是什么,都读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
Claims (20)
1.一种存储***,包括:
多个存储芯片,每个包括存储区和页缓冲器;
地址表,适用于储存用于映射物理地址和逻辑地址的映射信息,所述物理地址用于以物理页为单位来识别多个相应的存储芯片的所述存储区,所述逻辑地址用于以逻辑页为单位来识别多个相应的存储芯片的所述存储区;
目标表,适用于储存通过所述地址表而从顺序逻辑地址转换来的顺序物理地址;
选择输出块,适用于:基于所述顺序物理地址来根据预设次序而以页为单位将所述存储芯片的所述存储区选择作为现选页,以及输出所述存储芯片之中的与所述现选页相对应的现选存储芯片的页缓冲器中所储存的数据;以及
预期读取块,适用于:在所述现选存储芯片的所述页缓冲器中所储存的数据被输出的同时,读取期选页中所储存的数据以储存在所述存储芯片之中的与所述期选页相对应的期选存储芯片的页缓冲器中,所述期选页是即将在选择输出块中根据所述预设次序而次于所述现选页以被选择的页,
其中,被包括在所述目标表中的所述顺序逻辑地址包括以所述预设次序限定的预设数目的逻辑地址。
2.根据权利要求1所述的存储***,其中,当在相应的存储芯片中数据输入操作、擦除操作或错误恢复操作被执行时,所述地址表更新所述映射信息。
3.根据权利要求2所述的存储***,其中,从储存在所述地址表中的所述逻辑地址中搜索所述顺序逻辑地址,而所述目标表将映射到搜索的逻辑地址的物理地址储存为所述顺序物理地址。
4.根据权利要求3所述的存储***,其中,所述目标表基于以所述预设次序施加的所述顺序逻辑地址来以所述预设次序储存所述顺序物理地址。
5.根据权利要求4所述的存储***,其中,在所述选择输出块中使用从根据所述预设次序而先输入的顺序逻辑地址搜索并转换来顺序物理地址的同时,在所述地址表中搜索根据所述预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
6.根据权利要求5所述的存储***,
其中,每当执行选择操作时,所述选择输出块使用储存在所述目标表中的所述顺序物理地址来以所述预设次序逐个选择所述存储芯片之中的任意一个存储芯片中的一页作为现选页之一,以及当选择操作被连续执行第一循环次数时,所述存储芯片被分别选择一次,以及
其中,所述选择输出块对应于所述预设次序而将所述选择操作连续执行预设次数,以及当所述预设次数大于所述第一循环次数时,根据所述预设次序而相应的存储芯片被重复选择至少一次。
7.根据权利要求5所述的存储***,
其中,每当执行选择操作时,所述选择输出块使用储存在所述目标表中的所述顺序物理地址中的至少两个顺序物理地址来以所述预设次序使来自所述存储芯片之中的至少两个存储芯片中的每个存储芯片的至少两个页成组以及选择成组的页为所述现选页,以及当选择操作被连续执行第二循环次数时,所述存储芯片被分别选择一次,以及
其中,所述选择输出块对应于所述预设次序而将所述选择操作连续执行预设次数,以及当所述预设次数大于所述第二循环次数时,根据所述预设次序而相应的存储芯片被重复选择至少一次。
8.根据权利要求5所述的存储***,其中,当通过使用与根据所述预设次序的第一次序相对应的顺序物理地址来选择现选页时,所述选择输出块读取在所述现选页中所储存的数据以储存在所述现选存储芯片的所述页缓冲器中,以及将所述现选存储芯片的所述页缓冲器中所储存的数据输出。
9.根据权利要求5所述的存储***,其中,所述预期读取块包括:
预期地址选择单元,适用于:从根据所述预设次序而储存的所述顺序物理地址之中选择根据次于在所述选择输出块中正在使用的顺序物理地址的次序的顺序物理地址作为预期物理地址;以及
读取操作单元,适用于读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
10.根据权利要求9所述的存储***,其中,所述预期地址选择单元将所述预期物理地址的值与根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中的与在所述选择输出块中正在使用的所述顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较,而确定是否出现重叠。
11.根据权利要求10所述的存储***,其中,当所述预期物理地址的值与所述顺序物理地址的值被确定为重叠时,所述读取操作单元将所述期选存储芯片的所述页缓冲器中所储存的数据保留,而不读取在由所述预期物理地址指定的所述期选页中所储存的数据。
12.根据权利要求11所述的存储***,其中,当在所述地址表中所述映射信息被更新时,不管所述预期地址选择单元的确定结果是什么,所述读取操作单元都读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
13.一种用于操作存储***的方法,所述存储***包括:多个存储芯片,每个存储芯片具有存储区和页缓冲器;以及地址表,储存用于映射物理地址和逻辑地址的映射信息,所述物理地址和逻辑地址用于以物理页为单位和以逻辑页为单位来识别多个相应的存储芯片的所述存储区,所述方法包括:
将通过所述地址表而被映射作为顺序逻辑地址的顺序物理地址储存在目标表中;
基于所述顺序物理地址来根据预设次序而以页为单位选择所述存储芯片的所述存储区作为现选页;
将所述存储芯片之中的与所述现选页相对应的现选存储芯片的页缓冲器中所储存的数据输出;以及
在输出数据期间,读取期选页中所储存的数据以储存在所述存储芯片之中的与所述期选页相对应的期选存储芯片的页缓冲器中,其中所述期选页是即将在储存区的选择中根据所述预设次序而次于所述现选页以被选择的页,
其中,被包括在所述目标表中的所述顺序逻辑地址包括以预设次序限定的预设数目的逻辑地址。
14.根据权利要求13所述的方法,其中,当在相应的存储芯片中数据输入操作、擦除操作或错误恢复操作被执行时,所述地址表更新所述映射信息。
15.根据权利要求14所述的方法,其中,储存所述顺序物理地址包括:
在所述地址表中所储存的所述逻辑地址之中根据所述预设次序来搜索所述顺序逻辑地址;以及
根据预设次序而将映射到搜索的逻辑地址的物理地址储存作为所述顺序物理地址。
16.根据权利要求15所述的方法,其中,在所述存储区的选择中使用从根据所述预设次序而先输入的顺序逻辑地址搜索并转换来的顺序物理地址时,在地址表中搜索根据所述预设次序而后输入的顺序逻辑地址并将其转换成顺序物理地址。
17.根据权利要求16所述的方法,其中,当通过使用与根据所述预设次序的第一次序相对应的顺序物理地址来选择现选页时,在数据的输出中,在所述现选页中所储存的数据被读取并储存在所述现选存储芯片的所述页缓冲器中,以及所述现选存储芯片的所述页缓冲器中所储存的数据被输出。
18.根据权利要求16所述的方法,其中,数据的读取包括:
从根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中选择根据次于在存储芯片的存储区的选择中正在使用的顺序物理地址的次序的顺序物理地址作为预期物理地址;以及
预期地读取在由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
19.根据权利要求18所述的方法,其中,在所述顺序物理地址的选择中,将所述预期物理地址的值与根据所述预设次序而储存在所述目标表中的所述顺序物理地址之中的与在存储芯片的存储区的选择中正在使用的所述顺序物理地址之前的次序相对应的所有顺序物理地址的值相比较,以确定是否出现重叠。
20.根据权利要求19所述的方法,其中,预期地读取包括:
当所述预期物理地址和所述顺序物理地址的值被确定为重叠时,将所述期选存储芯片的所述页缓冲器中所储存的数据保留,而不读取由所述预期物理地址指定的所述期选页中所储存的数据;
当所述预期物理地址和所述顺序物理地址的值被确定为不重叠时,读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中;以及
当在所述地址表中映射表被更新时,不管确定结果是什么,都读取由所述预期物理地址指定的所述期选页中所储存的数据以储存在所述期选存储芯片的所述页缓冲器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2014-0184826 | 2014-12-19 | ||
KR1020140184826A KR20160075174A (ko) | 2014-12-19 | 2014-12-19 | 메모리 시스템 및 그 동작방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105718383A CN105718383A (zh) | 2016-06-29 |
CN105718383B true CN105718383B (zh) | 2020-10-13 |
Family
ID=56129568
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510498512.XA Active CN105718383B (zh) | 2014-12-19 | 2015-08-13 | 存储***及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9477612B2 (zh) |
KR (1) | KR20160075174A (zh) |
CN (1) | CN105718383B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017045388A (ja) * | 2015-08-28 | 2017-03-02 | 株式会社東芝 | メモリシステム |
US10802911B2 (en) * | 2017-08-16 | 2020-10-13 | Western Digital Technologies, Inc. | Non-volatile storage with wear-adjusted failure prediction |
US20210232343A1 (en) * | 2017-10-27 | 2021-07-29 | SK Hynix Inc. | Memory controller, memory system, and operating method thereof |
KR102482035B1 (ko) | 2017-11-30 | 2022-12-28 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러, 메모리 시스템 및 그 동작 방법 |
KR20190070092A (ko) * | 2017-12-12 | 2019-06-20 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11631465B2 (en) * | 2018-07-03 | 2023-04-18 | Samsung Electronics Co., Ltd. | Non-volatile memory device |
US11442631B2 (en) * | 2019-12-26 | 2022-09-13 | Micron Technology, Inc. | Memory operations with consideration for wear leveling |
US11314446B2 (en) * | 2020-06-25 | 2022-04-26 | Micron Technology, Inc. | Accelerated read translation path in memory sub-system |
KR102157570B1 (ko) * | 2020-07-01 | 2020-09-18 | 주식회사 파두 | 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스 |
KR20220028888A (ko) * | 2020-08-31 | 2022-03-08 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
KR20220067776A (ko) * | 2020-11-18 | 2022-05-25 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1707449A (zh) * | 2004-04-20 | 2005-12-14 | 国际商业机器公司 | 根据存储器占用动态调整预读值的***和方法 |
CN101188833A (zh) * | 2006-11-22 | 2008-05-28 | 三星电子株式会社 | 用于便携式终端中的高效率存储器利用的装置和方法 |
CN101493794A (zh) * | 2009-01-19 | 2009-07-29 | 成都市华为赛门铁克科技有限公司 | 一种闪存数据处理方法及装置 |
CN103150258A (zh) * | 2013-03-20 | 2013-06-12 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态存储***的写入、读取及垃圾收集方法 |
CN103839584A (zh) * | 2012-11-20 | 2014-06-04 | 爱思开海力士有限公司 | 半导体存储器件、包括其的存储***及其制造方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004318940A (ja) * | 2003-04-14 | 2004-11-11 | Renesas Technology Corp | 記憶装置 |
KR20100130007A (ko) | 2009-06-02 | 2010-12-10 | 삼성전자주식회사 | 데이터 저장 장치 |
JP5010723B2 (ja) * | 2010-09-22 | 2012-08-29 | 株式会社東芝 | 半導体記憶制御装置 |
JP2012133416A (ja) * | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
US9514057B2 (en) * | 2013-12-04 | 2016-12-06 | Sandisk Technologies Llc | Storage module and method for managing logical-to-physical address mapping |
-
2014
- 2014-12-19 KR KR1020140184826A patent/KR20160075174A/ko not_active Application Discontinuation
-
2015
- 2015-05-21 US US14/718,908 patent/US9477612B2/en active Active
- 2015-08-13 CN CN201510498512.XA patent/CN105718383B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1707449A (zh) * | 2004-04-20 | 2005-12-14 | 国际商业机器公司 | 根据存储器占用动态调整预读值的***和方法 |
CN101188833A (zh) * | 2006-11-22 | 2008-05-28 | 三星电子株式会社 | 用于便携式终端中的高效率存储器利用的装置和方法 |
CN101493794A (zh) * | 2009-01-19 | 2009-07-29 | 成都市华为赛门铁克科技有限公司 | 一种闪存数据处理方法及装置 |
CN103839584A (zh) * | 2012-11-20 | 2014-06-04 | 爱思开海力士有限公司 | 半导体存储器件、包括其的存储***及其制造方法 |
CN103150258A (zh) * | 2013-03-20 | 2013-06-12 | 中国科学院苏州纳米技术与纳米仿生研究所 | 一种固态存储***的写入、读取及垃圾收集方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160179697A1 (en) | 2016-06-23 |
US9477612B2 (en) | 2016-10-25 |
CN105718383A (zh) | 2016-06-29 |
KR20160075174A (ko) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105718383B (zh) | 存储***及其操作方法 | |
CN109616148B (zh) | 具有解码器的存储器***、其操作方法和解码器 | |
CN107346213B (zh) | 存储器***及其操作方法 | |
CN107491396B (zh) | 存储器***及其操作方法 | |
US10997017B2 (en) | Neighbor assisted correction error recovery for memory system and method thereof | |
CN107450845B (zh) | 存储器***及其操作方法 | |
US11450400B2 (en) | Controller and operating method thereof | |
CN109428606B (zh) | 具有ldpc解码器的存储器***及其操作方法 | |
KR102617411B1 (ko) | 메모리 시스템 및 메모리 시스템의 동작방법 | |
CN107346214B (zh) | 存储器***及其操作方法 | |
CN110322920B (zh) | 控制器及控制器的操作方法 | |
CN108694970B (zh) | 控制器及其操作方法 | |
US11481155B2 (en) | Controller and operating method thereof | |
CN111048140A (zh) | 错误校正电路、存储器控制器及存储器*** | |
CN111324300B (zh) | 控制器以及控制器的操作方法 | |
CN111540393B (zh) | 用于基于字线分组的读取操作的存储器***和方法 | |
CN110968521B (zh) | 存储器***及其操作方法 | |
CN110890123B (zh) | 数据处理***及其操作方法 | |
CN112988054A (zh) | 存储器***及其操作方法 | |
CN113223589A (zh) | 存储器***及其操作方法 | |
US11538547B2 (en) | Systems and methods for read error recovery | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN112687323A (zh) | 具有用于解码的错误减少方案的存储器***及其操作方法 | |
CN114968856B (zh) | 存储器***及其操作方法 | |
CN112216328B (zh) | 具有低复杂度解码的存储器***及其操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |