CN113764018B - 存储器系统以及存储器控制器 - Google Patents
存储器系统以及存储器控制器 Download PDFInfo
- Publication number
- CN113764018B CN113764018B CN202110093276.9A CN202110093276A CN113764018B CN 113764018 B CN113764018 B CN 113764018B CN 202110093276 A CN202110093276 A CN 202110093276A CN 113764018 B CN113764018 B CN 113764018B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- management information
- controller
- data latch
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 413
- 238000000034 method Methods 0.000 claims abstract description 116
- 230000008569 process Effects 0.000 claims abstract description 98
- 238000003860 storage Methods 0.000 claims description 134
- 238000012545 processing Methods 0.000 claims description 50
- 238000007726 management method Methods 0.000 description 289
- 238000010586 diagram Methods 0.000 description 105
- 230000008859 change Effects 0.000 description 35
- 238000012937 correction Methods 0.000 description 31
- 238000012546 transfer Methods 0.000 description 22
- 239000004065 semiconductor Substances 0.000 description 14
- 230000009471 action Effects 0.000 description 13
- 239000000725 suspension Substances 0.000 description 11
- 101100366707 Arabidopsis thaliana SSL11 gene Proteins 0.000 description 7
- 230000000087 stabilizing effect Effects 0.000 description 7
- 102100027397 Cilia- and flagella-associated protein 100 Human genes 0.000 description 6
- 102100031193 Cilia- and flagella-associated protein 73 Human genes 0.000 description 6
- 101000725206 Homo sapiens Cilia- and flagella-associated protein 100 Proteins 0.000 description 6
- 101000776612 Homo sapiens Cilia- and flagella-associated protein 73 Proteins 0.000 description 6
- 101001012669 Homo sapiens Melanoma inhibitory activity protein 2 Proteins 0.000 description 6
- 239000004020 conductor Substances 0.000 description 6
- 238000009792 diffusion process Methods 0.000 description 6
- 239000012535 impurity Substances 0.000 description 6
- 239000002184 metal Substances 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 101100366710 Arabidopsis thaliana SSL12 gene Proteins 0.000 description 5
- 101100366562 Panax ginseng SS12 gene Proteins 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 101100481703 Arabidopsis thaliana TMK2 gene Proteins 0.000 description 2
- 102100026339 F-box-like/WD repeat-containing protein TBL1X Human genes 0.000 description 2
- 101000835691 Homo sapiens F-box-like/WD repeat-containing protein TBL1X Proteins 0.000 description 2
- 101000835690 Homo sapiens F-box-like/WD repeat-containing protein TBL1Y Proteins 0.000 description 2
- 101000800590 Homo sapiens Transducin beta-like protein 2 Proteins 0.000 description 2
- 101000837456 Homo sapiens Transducin beta-like protein 3 Proteins 0.000 description 2
- 101100366563 Panax ginseng SS13 gene Proteins 0.000 description 2
- 102100033248 Transducin beta-like protein 2 Human genes 0.000 description 2
- 102100028683 Transducin beta-like protein 3 Human genes 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 101100325756 Arabidopsis thaliana BAM5 gene Proteins 0.000 description 1
- 101100382340 Arabidopsis thaliana CAM2 gene Proteins 0.000 description 1
- 101100118004 Arabidopsis thaliana EBP1 gene Proteins 0.000 description 1
- 101100366711 Arabidopsis thaliana SSL13 gene Proteins 0.000 description 1
- 101100494530 Brassica oleracea var. botrytis CAL-A gene Proteins 0.000 description 1
- 101100165913 Brassica oleracea var. italica CAL gene Proteins 0.000 description 1
- 101150118283 CAL1 gene Proteins 0.000 description 1
- 101150052583 CALM1 gene Proteins 0.000 description 1
- 102100025580 Calmodulin-1 Human genes 0.000 description 1
- 102100025579 Calmodulin-2 Human genes 0.000 description 1
- 102100021849 Calretinin Human genes 0.000 description 1
- 102100031584 Cell division cycle-associated 7-like protein Human genes 0.000 description 1
- 101100459256 Cyprinus carpio myca gene Proteins 0.000 description 1
- 102100025026 E3 ubiquitin-protein ligase TRIM68 Human genes 0.000 description 1
- 101001077352 Homo sapiens Calcium/calmodulin-dependent protein kinase type II subunit beta Proteins 0.000 description 1
- 101000898072 Homo sapiens Calretinin Proteins 0.000 description 1
- 101000777638 Homo sapiens Cell division cycle-associated 7-like protein Proteins 0.000 description 1
- 101001088744 Homo sapiens Probable inactive ribonuclease-like protein 13 Proteins 0.000 description 1
- 101100370400 Homo sapiens TRIM68 gene Proteins 0.000 description 1
- 101100366561 Panax ginseng SS11 gene Proteins 0.000 description 1
- 102100033989 Probable inactive ribonuclease-like protein 13 Human genes 0.000 description 1
- 101150046378 RAM1 gene Proteins 0.000 description 1
- 101100476489 Rattus norvegicus Slc20a2 gene Proteins 0.000 description 1
- 101150056203 SGS3 gene Proteins 0.000 description 1
- 101100029577 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CDC43 gene Proteins 0.000 description 1
- 101100439683 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CHS3 gene Proteins 0.000 description 1
- 101100247281 Schizosaccharomyces pombe (strain 972 / ATCC 24843) ral2 gene Proteins 0.000 description 1
- 101100309600 Schizosaccharomyces pombe (strain 972 / ATCC 24843) scd2 gene Proteins 0.000 description 1
- 101000879465 Solanum tuberosum Sucrose synthase Proteins 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 101150014174 calm gene Proteins 0.000 description 1
- 101150091339 cam-1 gene Proteins 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000011347 resin Substances 0.000 description 1
- 229920005989 resin Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5671—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/7202—Allocation control and policies
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5642—Multilevel memory with buffers, latches, registers at input or output
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B43/00—EEPROM devices comprising charge-trapping gate insulators
- H10B43/20—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels
- H10B43/23—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels
- H10B43/27—EEPROM devices comprising charge-trapping gate insulators characterised by three-dimensional arrangements, e.g. with cells on different height levels with source and drain on different levels, e.g. with sloping channels the channels comprising vertical portions, e.g. U-shaped channels
-
- H—ELECTRICITY
- H10—SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
- H10B—ELECTRONIC MEMORY DEVICES
- H10B69/00—Erasable-and-programmable ROM [EPROM] devices not provided for in groups H10B41/00 - H10B63/00, e.g. ultraviolet erasable-and-programmable ROM [UVEPROM] devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
- Use Of Switch Circuits For Exchanges And Methods Of Control Of Multiplex Exchanges (AREA)
- Semiconductor Memories (AREA)
- Non-Volatile Memory (AREA)
Abstract
实施方式提供即使在不充分具有存储管理信息的RAM区域的存储器控制器中也能够以较小的等待时间读出管理信息的存储器系统以及存储器控制器。实施方式的存储器系统具有:非易失性的存储单元阵列(110);控制器(200),控制数据的读出及写入;数据锁存器群(XDL),被使用于在控制器(200)与存储单元阵列(110)之间输入输出数据;以及数据锁存器群(ADL),在由控制器(200)从存储单元阵列(110)读出数据时维持被保存的数据,控制器(200)在从存储单元阵列(110)的数据的读出处理的执行时或执行之前,将在数据的读出中使用的管理信息(MI)存储于数据锁存器群(ADL)。
Description
相关申请
本申请享受以日本专利申请2020-96428号(申请日:2020年6月2日)为基础申请的优先权。本申请通过参考该基础申请而包括基础申请的全部内容。
技术领域
本发明的实施方式涉及存储器系统以及存储器控制器。
背景技术
在非易失性存储器中,在数据的读出等时使用的管理信息被存储于非易失性存储器的一部分存储区域中,并被复制到存储器控制器所管理的RAM区域而被使用。由于管理信息被存储于RAM区域中,所以存储器控制器能够高速地读出并使用管理信息。
如果管理信息的数据大小变大,则需要大的数据大小的RAM区域,但有时无法在存储器控制器中设置足够大小的RAM区域。
发明内容
实施方式提供即使在不充分具有存储管理信息的RAM区域的存储器控制器中也能够以较小的等待时间读出管理信息的存储器系统以及存储器控制器。
实施方式的存储器系统具有:非易失性的存储器,具有存储区域;控制器,控制以所述页为单位的所述数据的读出及写入;第一数据锁存器群,被使用于在所述控制器与所述存储器之间输入输出所述数据;以及第二数据锁存器群,在由所述控制器从所述存储器读出所述数据时维持所保存的数据,所述控制器在从所述存储器读出所述数据的读出处理的执行时或执行之前,将在所述数据的读出中使用的管理信息存储于所述第二数据锁存器群。
附图说明
图1是用于说明第一实施方式的存储器系统的结构的框图。
图2是用于说明第一实施方式的存储单元阵列的结构的电路图。
图3是第一实施方式的1个块的一部分区域的剖视图。
图4是第一实施方式的列解码器和串单元的电路图。
图5是关于第一实施方式的各存储单元晶体管的可取得的数据、阈值电压分布及在读出时使用的电压进行标识的图表。
图6是表示第一实施方式的数据的写入时的指令序列的图。
图7是用于说明第一实施方式的伴随在数据的写入时的指令序列的执行的、5个数据锁存器中的数据的存储状况的变化的图。
图8是用于说明第一实施方式的伴随在数据的写入时的指令序列的执行的、5个数据锁存器中的数据的存储状况的变化的图。
图9是表示第一实施方式的数据的读出时的基本的指令序列的图。
图10是用于说明第一实施方式的伴随着指令序列的执行的、5个数据锁存器中的数据的存储状况的变化的图。
图11是表示第一实施方式的作为移位表信息的1个表的下位页用的移位表的例子的图。
图12是表示第一实施方式的移位表信息的中位页的移位表的例子的图。
图13是表示第一实施方式的移位表信息的上位页的移位表的例子的图。
图14是表示第一实施方式的存在来自主机的读出请求时的、控制器与NAND型闪存器的数据的读出的处理的流程的例子的流程图。
图15是表示第一实施方式的暂停读取时的指令序列的图。
图16是用于说明第一实施方式的、暂停读取时的5个数据锁存器中的数据的存储状态的变化的图。
图17是用于说明第一实施方式的、管理信息被存储于数据锁存器群为止的管理信息的存储状态的变化的图。
图18是用于说明第一实施方式的、管理信息被存储于数据锁存器群为止的管理信息的存储状态的变化的图。
图19是用于说明第一实施方式的、管理信息被存储于数据锁存器群为止的管理信息的存储状态的变化的图。
图20是表示第一实施方式的第一存储过程的指令序列的图。
图21是表示第一实施方式的第二存储过程以及第三存储过程的指令序列的图。
图22是表示第一实施方式的第四存储过程的指令序列的图。
图23是用于说明第一实施方式的、从数据锁存器群读出作为管理信息的移位信息的情况的图。
图24是表示第一实施方式的数据的读出过程的指令序列的图。
图25是用于说明第一实施方式的从存储单元阵列读出数据的情况的图。
图26是表示第一实施方式的控制器与NAND型闪存器的数据的读出的处理的流程的例子的流程图。
图27是表示第一实施方式的将更新后的移位信息写入管理信息存储区域的处理的流程的例子的流程图。
图28是用于说明第一实施方式的图26的数据的读出处理、和图27的更新后的管理信息向非易失性存储器的写入处理中的、存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
图29是用于说明第一实施方式的图26的数据的读出处理、和图27的更新后的管理信息向非易失性存储器的写入处理中的、存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
图30是表示第一实施方式的、图28的SS42中的、用于数据锁存器群中的指定的列地址的数据的更新处理的指令序列的图。
图31是表示第一实施方式的图29的SS44中的、用于向存储单元阵列写入管理信息的指令序列的图。
图32是表示第一实施方式的对暂停读取时的控制器的输入输出信号的变化进行表示的指令序列的图。
图33是用于说明第一实施方式的伴随着指令序列的执行的、多个数据锁存器群中的数据的存储状况的变化的图。
图34是表示第二实施方式的电源断开时等的管理信息存储区域MIA和多个数据锁存器群的数据存储状态的图。
图35表示第二实施方式的稳定状态下的存储单元阵列和多个数据锁存器群中的管理信息的存储状态。
图36是用于说明第二实施方式的在读出管理信息并向数据锁存器群存储的情况下的数据的转送的图。
图37是表示第二实施方式的将以SLC模式读出的管理信息从数据锁存器群XDL向数据锁存器群ADL到CDL的任一个复制,使多个数据锁存器群稳定状态化的方法的图。
图38是表示第二实施方式的将数据锁存器群ADL、BDL及CDL中存储的管理信息向数据锁存器群XDL转送,使多个数据锁存器群稳定状态化的其他方法的图。
图39是表示第二实施方式的管理信息经由数据锁存器群SDL向数据锁存器群ADL、BDL及CDL中的任一个转送的情况的图。
图40是表示第二实施方式的使多个数据锁存器群稳定状态化的指令序列的图。
图41是用于说明第二实施方式的管理信息被存储于多个数据锁存器群为止的管理信息的存储状态的变化的图。
图42是表示第二实施方式的、使多个数据锁存器群稳定状态化的另一指令序列的图。
图43是用于说明第二实施方式的管理信息被存储于多个数据锁存器群为止的管理信息的存储状态的变化的图。
图44是表示第二实施方式的用于从稳定状态读出管理信息的指令序列的图。
图45是用于说明第二实施方式的管理信息的读出处理中的存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
图46是表示第二实施方式的稳定状态下的管理信息MI的更新处理的指令序列的图。
图47是用于说明第二实施方式的管理信息的更新处理中的存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
图48是用于说明第二实施方式的更新数据向存储单元阵列的写入中的数据的存储状况的变化的图。
图49是用于说明第二实施方式的进行数据的读出时所使用的管理信息MI即移位信息的选择的图。
图50是表示第二实施方式的进行数据的读出时的6个数据锁存器群的状态的图。
图51是表示第二实施方式的控制器与NAND型闪存器的数据的读出的处理的流程的例子的流程图。
图52是表示第二实施方式的巡检(petrol)处理的流程的例子的流程图。
图53是表示第二实施方式的巡检处理中的针对对象地址的读出时的规定的处理的流程的例子的流程图。
图54是表示第二实施方式的、空闲(idle)状态下的管理信息存储区域和多个数据锁存器群的数据的存储状态的图。
图55是用于说明第二实施方式的执行巡检处理时的5个数据锁存器群中的数据的存储状况的变化的图。
图56是用于说明第二实施方式的执行巡检处理时的5个数据锁存器群中的数据的存储状况的变化的图。
图57是表示第二实施方式的与块BLK0~BLK999的数据相关的管理信息存储区域和多个数据锁存器群的数据的存储状态的图。
图58是用于说明第二实施方式的对将更新数据存储于RAM的中途的状态进行表示的存储器系统的结构的框图。
图59是用于说明第二实施方式的对将更新数据向RAM存储结束后将更新数据向数据锁存器群转送的状态进行表示的存储器系统的构成的框图。
图60是表示第三实施方式的2个NAND型闪存器的2个管理信息的存储状态的图。
图61是表示第三实施方式的2个NAND型闪存器的2个管理信息的存储状态的图。
图62是表示第三实施方式的2个NAND型闪存器的2个管理信息的存储状态的图。
图63是表示第三实施方式的数据的读出过程的指令序列的图。
图64是用于说明第四实施方式的存储器系统的结构的组装图。
图65是表示第四实施方式的第一芯片进行的第二芯片的数据的读出的处理的流程的例子的流程图。
具体实施方式
以下,参照附图对实施方式进行说明。
(第一实施方式)
对第一实施方式的存储器系统进行说明。以下,以具备NAND型闪存器作为半导体存储装置的存储器系统为例进行说明。
1.结构
[存储器系统的整体结构]
首先,使用图1对本实施方式的存储器系统的大致整体结构进行说明。
图1是用于说明本实施方式的存储器系统的结构的框图。如图所示,存储器系统1具备NAND型闪存器100和存储器控制器(以下,也简称为控制器)200。NAND型闪存器100和控制器200例如是在1块基板上形成的半导体装置,该半导体装置作为例子被使用于SD卡那样的存储卡、SSD(固态驱动器)等。
作为非易失性存储器的NAND型闪存器100具备多个存储单元,非易失性地存储数据。控制器200通过NAND总线与NAND型闪存器100连接,通过主机总线与主机设备300连接。而且,控制器200是对NAND型闪存器100进行控制,并且响应于从主机设备300接收到的请求而存取NAND型闪存器100的存储器控制器。主机设备300例如是数字照相机或个人计算机等,主机总线例如是遵循SD接口的总线。NAND总线是进行遵循NAND接口的信号的收发的总线。
经由NAND接口(I/F)电路250,在NAND型闪存器100与控制器200之间收发各种信号。芯片使能信号CEn、指令锁存使能信号CLE、地址锁存使能信号ALE、写入使能信号WEn、及读取使能信号REn从控制器200向NAND型闪存器100供给。就绪/忙碌信号RBn从NAND型闪存器100向控制器200供给。输入输出信号I/O在控制器200到NAND型闪存器100间被收发。
芯片使能信号CEn是用于使NAND型闪存器100成为能的信号,以低(low)电平为有效(assert)。指令锁存使能信号CLE及地址锁存使能信号ALE是将输入输出信号I/O分别为指令及地址的情况通知至NAND型闪存器100的信号。写使能信号WEn是以low电平为有效、将输入输出信号I/O向NAND型闪存器100写入的情况通知至NAND型闪存器100的信号。读取使能信号REn也是以低电平有效、用于使来自NAND型闪存器100的读出数据向输入输出信号I/O输出的信号。就绪/忙碌信号RBn是表示NAND型闪存器100是就绪状态(能够接收来自控制器200的命令的状态)还是忙碌状态(无法接收来自控制器200的命令的状态)的信号,low电平表示忙碌状态。输入输出信号I/O例如是8比特的信号。而且,输入输出信号I/O是在NAND型闪存器100与控制器200之间被收发的数据的实体,是指令、地址、写入数据及读出数据等。
[控制器的结构]
接着,对控制器200的结构的详细情况进行说明。如图1所示,控制器200是具备主机接口(I/F)电路210、作为内置存储器的随机存取存储器(以下称为RAM)220、具有中央处理装置(CPU)的处理器230、缓冲存储器240、NAND接口电路250、以及ECC(Error Checkingand Correcting)电路260的电路。
主机接口电路210经由主机总线与主机设备300连接,将从主机设备300接收到的请求及数据分别转送至处理器230及缓冲存储器240。此外,响应于来自处理器230的指令,将缓冲存储器240中的数据向主机设备300转送。
RAM220例如是DRAM或SRAM等半导体存储器,被用作处理器230的工作区域。而且,RAM220保存用于管理NAND型闪存器100的固件、管理信息MI。管理信息MI是后述的查找表(LUT)、移位表信息(TBL)等。移位表信息TBL包含移位信息。移位信息是用于在控制器200执行数据的读出处理时使数据的读出电平移位的信息。
处理器230控制控制器200整体的动作。例如,处理器230在从主机设备300接收到数据请求时,响应于此,对NAND接口电路250发出读出指令。在接收到来自主机设备300的数据写入请求及数据擦除请求时也是,处理器230对NAND接口电路250同样地发出与接收到的请求对应的指令。另外,处理器230执行耗损均衡(ware levelling)等用于管理NAND型闪存器100的各种处理。
缓冲存储器240暂时保存写入数据、读出数据。
NAND接口电路250经由NAND总线与NAND型闪存器100连接,负责与NAND型闪存器100的通信。而且,NAND接口电路250基于从处理器230接收到的指令,向NAND型闪存器100发送包含指令、数据等的各种信号,并且从NAND型闪存器100接收各种信号及数据。
NAND接口电路250基于从处理器230接收到的指令,将芯片使能信号CEn、指令锁存使能信号CLE、地址锁存使能信号ALE、写入使能信号WEn、及读取使能信号REn向NAND型闪存器100输出。另外,在数据的写入时,NAND接口电路250将由处理器230发出的写入指令以及缓冲存储器240内的写入数据作为输入输出信号I/O向NAND型闪存器100转送。进而,在数据的读出时,NAND接口电路250将由处理器230发出的读出指令作为输入输出信号I/O向NAND型闪存器100转送,进而将从NAND型闪存器100读出的数据作为输入输出信号I/O接收,并将其向缓冲存储器240转送。
ECC电路260进行与存储于NAND型闪存器100的数据有关的错误检测及错误订正处理。即,ECC电路260在数据的写入时生成错误订正码,并将其赋予至写入数据,在数据的读出时,一边进行错误订正一边对数据进行解码。
[NAND型闪存器的构成]
接着,对NAND型闪存器100的构成进行说明。如图1所示,NAND型闪存器100具备存储单元阵列110、行解码器120、驱动器电路130、列解码器140、地址寄存器150、指令寄存器160及序列发生器170。
存储单元阵列110具备多个块BLK,该多个块BLK包含与行以及列对应的多个非易失性的存储单元。在图1中,作为一例图示了4个块BLK0~BLK3。而且,存储单元阵列110非易失性地存储从控制器200提供的数据。
行解码器120基于地址寄存器150内的块地址BA来选择块BLK0~BLK3中的任一个,进而选择所选择的块BLK中的字线WL。
驱动器电路130基于地址寄存器150内的页地址PA,经由行解码器120对所选择的块BLK供给电压。
列解码器140包括多个数据锁存电路及多个读出放大器。各读出放大器在数据的读出时,读出从存储单元阵列110读出的数据,进行必要的运算。然后,列解码器140经由后述的数据锁存电路XDL向控制器200输出该数据DAT。列解码器140在数据的写入时,在数据锁存电路XDL中接受从控制器200接收到的写入数据DAT之后,执行对存储单元阵列110的写入动作。
地址寄存器150保存从控制器200接收到的地址ADD。该地址ADD包括前述的块地址BA和页地址PA。指令寄存器160保存从控制器200接收到的指令CMD。
序列发生器170基于保存于指令寄存器160的指令CMD,控制NAND型闪存器100整体的动作。
接着,使用图2对上述块BLK的构成进行说明。图2是用于说明本实施方式的存储单元阵列的结构的电路图。如图所示,1个块BLK包含例如4个串单元SU(SU0~SU3)。另外,各个串单元SU包含多个NAND串6。
NAND串6各自包含例如8个存储单元晶体管MT(MT0~MT7)及2个选择晶体管ST1、ST2。各存储单元晶体管MT具备控制栅极和电荷蓄积层,非易失性地保存数据。而且,多个(例如8个)存储单元晶体管MT串联连接在选择晶体管ST1的源极与选择晶体管ST2的漏极之间。
串单元SU0~SU3各自中的选择晶体管ST1的栅极分别连接于选择栅极线SGD0~SGD3。与此相对,串单元SU0~SU3各自中的选择晶体管ST2的栅极例如共通连接于选择栅极线SGS。当然,串单元SU0~SU3各自中的选择晶体管ST2的栅极也可以按每个串单元连接于不同的选择栅极线SGS0~SGS3。另外,处于同一块BLK内的存储单元晶体管MT0~MT7的控制栅极分别共通连接于字线WL0~WL7。
另外,在存储单元阵列110内处于同一列的多个NAND串6的选择晶体管ST1的漏极共通连接于位线BL(BL0~BL(K-1),其中K为2以上的自然数)。即,位线BL在多个块BLK间将多个NAND串6共通地连接。而且,多个选择晶体管ST2的源极共通连接于源极线SL。
即,各串单元SU包含多个连接于互不相同的多个位线BL且连接于同一选择栅极线SGD的多个NAND串6。另外,各块BLK包含多个使各字线WL为共通的多个串单元SU。而且,存储单元阵列110是各位线BL被共通连接的多个块BLK的集合体。
图3是1个块BLK的一部分区域的剖视图。如图所示,在p型阱区域10上形成有多个NAND串6。即,在p型阱区域10上,依次层叠有作为选择栅极线SGS发挥功能的例如4层布线层11、作为字线WL0~WL7发挥功能的8层布线层12、以及作为选择栅极线SGD发挥功能的例如4层布线层13。在所层叠的布线层间形成有未图示的绝缘膜。
而且,形成有多个贯通这些布线层13、12、11并到达p型阱区域10的柱状的导电体14。在各导电体14的侧面,依次形成有栅极绝缘膜15、电荷蓄积层(绝缘膜或导电膜)16及块绝缘膜17,通过它们形成有多个存储单元晶体管MT、以及选择晶体管ST1及ST2。各导电体14作为NAND串6的电流路径发挥功能,成为供各晶体管的沟道形成的区域。而且,各导电体14的上端与作为位线BL发挥功能的金属布线层18连接。
在p型阱区域10的表面区域内形成有n+型杂质扩散层19。在n+型杂质扩散层19上形成接触插件20,接触插件20与作为源极线SL发挥功能的金属布线层21连接。进而,在p型阱区域10的表面区域内形成有p+型杂质扩散层22。在p+型杂质扩散层22上形成有接触插件23,接触插件23与作为阱布线CPWELL发挥功能的金属布线层24连接。阱布线CPWELL是用于经由p型阱区域10对导电体14施加电位的布线。
以上的结构在图3所记载的纸面的进深方向上排列有多个,通过在进深方向上排列的多个NAND串6的集合而形成串单元SU。
在本例中,1个存储单元晶体管MT例如能够保存3比特数据。即,NAND型闪存器100是所谓的TLC(Triple LevelCell)方式的半导体存储装置。将该3比特数据从下位比特分别称为下位(Lower)比特、中位(Middle)比特以及上位(Upper)比特。而且,将一个串单元中的同一字线WL上所连接的多个存储单元晶体管MT所保存的下位比特的集合称为下位页,将中位比特的集合称为中位页,将上位比特的集合称为上位页。一个串中的一个字线上所连接的多个存储单元晶体管MT构成保存下位比特、中位比特及上位比特的一个页单元。即,对各页单元分配3页。因此,在为具有4个串单元SU且各串单元SU包含8条字线WL的块BLK的情况下,各块BLK具有96页的量的容量。或者换言之,“页”也能够定义为由一个串单元中的同一字线WL上所连接的多个存储单元晶体管MT形成的存储空间的一部分。以页单元为单位进行数据的写入,对每个该页进行数据的读出(将该读出方法称为page-by-page reading)。
另外,数据的擦除能够以块BLK单位或者比块BLK小的单位进行。关于擦除方法,例如记载于“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE”这一在2011年9月18日申请的美国专利申请13/235,389号中。另外,记载于“NON-VOLATILE SEMICONDUCTOR STORAGEDEVICE”这一在2010年1月27日申请的美国专利申请12/694,690号中。进而,记载于“NONVOLATILE SEMICONDUCTOR MEMORY DEVICE AND DATA ERASE METHOD THEREOF”这一在2012年5月30日申请的美国专利申请13/483,610号中。这些专利申请的整体通过参照而引用在本申请说明书中。
进而,关于存储单元阵列110的结构,也可以是其他结构。即,关于存储单元阵列110的结构,例如记载于“THREE DIMENSIONAL STACKED NONVOLATILE SEMICONDUCTORMEMORY”这一在2009年3月19日申请的美国专利申请12/407,403号。另外,记载于“THREEDIMENSIONAL STACKED NONVOLATILE SEMICONDUCTOR MEMORY”这一在2009年3月18日申请的美国专利申请12/406,524号中、“NON-VOLATILE SEMICONDUCTOR STORAGE DEVICE ANDMETHOD OF MANUFACTURING THE SAME”这一在2009年3月25日申请的美国专利申请12/679,991号中、以及“SEMICONDUCTOR MEMORY AND METHOD FOR MANUFACTURING THE SAME”这一在2009年3月23日申请的美国专利申请12/532,030号中。这些专利申请的整体通过参照而引用在本申请说明书中。
如后所述,在存储单元阵列110的一部分的存储区域(后述的管理信息存储区域MIA)中存储后述的管理信息MI。
(列解码器的结构)
接着,使用图4对列解码器140的结构进行说明。图4是第一实施方式的列解码器140和串单元SU0的电路图。
如图所示,列解码器140分别具备针对每个位线BL而设置的多个读出单元SAU(SAU0~SAU(K-1))。
多个读出单元SAU分别具备读出放大器SA、运算部OP、以及4个数据锁存电路(以下,也简称为数据锁存器)ADL、BDL、CDL以及XDL。各读出放大器SA还包含数据锁存器SDL。
各读出放大器SA读出已被读出到对应的位线BL的数据,并且根据写入数据,对位线BL施加电压。即,读出放大器SA是直接控制位线BL的模块。而且,在读出放大器SA中,在读出时,例如被序列发生器170提供选通信号STB。读出放大器SA在其内部包含节点SEN以及数据锁存器SDL(图4中未图示)。节点SEN的电位根据与选择字线WL连接的存储单元晶体管MT成为导通状态还是成为截止状态而变动。并且,根据选通信号STB为有效的定时的节点SEN的电位,确定存储单元晶体管MT是导通还是截止,其结果作为“0”或“1”数据被保存于内部的数据锁存器(数据锁存器SDL)中。而且,在内部的数据锁存器SDL中保存的数据进而被复制到数据锁存器ADL、BDL、CDL及XDL的任一个。
数据锁存器ADL、BDL、及CDL暂时保存写入数据。即,数据锁存器ADL、BDL、CDL被使用于控制器200向NAND型闪存器100写入数据。运算部OP对在读出放大器SA、以及数据锁存器ADL、BDL、CDL、以及XDL中保存的数据进行非(NOT)运算、逻辑和(OR)运算、逻辑积(AND)运算、异或(XOR)运算、同或(XNOR)运算等各种逻辑运算。例如,运算部OP通过对从读出放大器SA内部的多个数据锁存器SDL复制到的数据进行运算,生成页数据。
这些读出放大器SA、数据锁存器ADL、BDL、CDL、以及运算部OP,以能够相互收发数据的方式通过总线连接。而且,该总线还与数据锁存器XDL连接。
列解码器140中的数据的输入输出,经由多个数据锁存器XDL进行。即,从控制器200接收到的数据经由多个数据锁存器XDL转送至多个数据锁存器ADL、BDL、及CDL、或多个读出放大器SA。另外,多个数据锁存器ADL、BDL、及CDL、或多个读出放大器SA的数据经由多个数据锁存器XDL向控制器200发送。而且,多个数据锁存器XDL作为NAND型闪存器100的高速缓冲存储器发挥功能。因此,即使多个数据锁存器ADL、BDL、以及CDL在使用中,如果多个数据锁存器XDL空闲,则NAND型闪存器100能够成为就绪状态。
数据的读出及写入以页为单位进行。列解码器140具有分别存储1页量的数据的多个数据锁存器ADL、BDL、CDL、XDL、SDL。
以下,如图4所示,将存储1页量的数据的多个数据锁存器XDL称为数据锁存器群XDL,将存储1页量的数据的多个数据锁存器ADL称为数据锁存器群ADL,将存储1页量的数据的多个数据锁存器BDL称为数据锁存器群BDL,将存储1页量的数据的多个数据锁存器CDL称为数据锁存器群CDL,将存储1页量的数据的多个数据锁存器SDL称为数据锁存器群SDL。即,列解码器140具有分别存储1页量的数据的数据锁存器群XDL、数据锁存器群ADL、数据锁存器群BDL、数据锁存器群CDL及数据锁存器群SDL。
因此,数据锁存器群XDL构成被使用于在控制器200与NAND型闪存器100之间进行数据的输入输出的多个数据锁存电路。另外,各数据锁存器群ADL、BDL、CDL在由控制器200向NAND型闪存器100写入数据时被使用,在数据的读出时不被使用。在各数据锁存器群ADL、BDL、CDL中,在控制器200从NAND型闪存器100读出数据时,维持所保存的数据。
[存储单元晶体管的保存数据和阈值电压]
使用图5对存储单元晶体管MT的保存数据、阈值电压及各数据的读出电平(即读出电压)进行说明。图5是关于各存储单元晶体管MT可取的数据、阈值电压分布及读出时使用的电压进行表示的图表。
如上所述,存储单元晶体管MT能够根据阈值电压取8个状态。将该8个状态从阈值电压低的状态起依次称为“Er”状态、“A”状态、“B”状态、“C”状态、…“G”状态。
“Er”状态的存储单元晶体管MT的阈值电压小于电压VA,相当于数据的擦除状态。“A”状态的存储单元晶体管MT的阈值电压为电压VA以上且小于电压VB(>VA)。“B”状态的存储单元晶体管MT的阈值电压为电压VB以上且小于电压VC(>VB)。“C”状态的存储单元晶体管MT的阈值电压为电压VC以上且小于电压VD(>VC)。“D”状态的存储单元晶体管MT的阈值电压为电压VD以上且小于电压VE(>VD)。“E”状态的存储单元晶体管MT的阈值电压为电压VE以上且小于电压VF(>VE)。“F”状态的存储单元晶体管MT的阈值电压为电压VF以上且小于电压VG(>VF)。“G”状态的存储单元晶体管MT的阈值电压为电压VG以上且小于电压VREAD。在这样分布的8个状态中,“G”状态是阈值电压最高的状态。另外,电压VREAD是在读出动作时向非选择字线WL施加的电压,是与保存数据无关地使存储单元晶体管MT导通的电压。电压VA~VG也总称为电压VCGRV。
另外,上述阈值电压分布通过将由上述下位比特、中位比特以及上位比特构成的3比特(3页)数据来实现。即,上述“Er”状态到“G”状态、与下位比特、中位比特以及上位比特之间的关系如下。
“Er”状态:“111”(按照“上位/中位/下位”的顺序标记)
“A”状态:“110”
“B”状态:“100”
“C”状态:“000”
“D”状态:“010”
“E”状态:“011”
“F”状态:“001”
“G”状态:“101”
这样,在阈值电压分布中相邻的2个状态所对应的数据间,3比特中仅1比特发生变化。
因此,在读出下位比特时,使用与下位比特的值(“0”或者“1”)发生变化的边界相当的电压即可,使用这样的与边界相当的电压在中位比特以及上位比特中也是同样的。
即,如图5所示,下位页读出使用区分“Er”状态和“A”状态的电压VA、以及区分“D”状态和“E”状态的电压VE作为读出电平。将使用电压VA及VE的读出动作分别称为读出动作AR及ER。
读出动作AR判定存储单元晶体管MT的阈值电压是否小于电压VA。即,通过读出动作AR,确定擦除状态的存储单元晶体管MT。读出动作ER判定存储单元晶体管MT的阈值电压是否小于电压VE。
中位页读出使用区分“A”状态和“B”状态的电压VB、区分“C”状态和“D”状态的电压VD、以及“E”状态和“F”状态之间的电压VF作为读出电平。将使用电压VB、VD以及VF的读出动作分别称为读出动作BR、DR以及FR。
读出动作BR判定存储单元晶体管MT的阈值电压是否小于电压VB。读出动作DR判定存储单元晶体管MT的阈值电压是否小于电压VD。读出动作FR判定存储单元晶体管MT的阈值电压是否小于电压VF。
而且,上位页读出使用区分“B”状态和“C”状态的电压VC、以及区分“F”状态和“G”状态的电压VG作为读出电平。将使用电压VC及VG的读出动作分别称为读出动作CR及GR。
读出动作CR判定存储单元晶体管MT的阈值电压是否小于电压VC。读出动作GR判定存储单元晶体管MT的阈值电压是否小于电压VG。即,通过读出动作GR,确定“G”状态的存储单元晶体管MT。
[管理信息]
在存储器系统1中,使用管理信息MI。管理信息MI是后述的移位表信息TBL、历史数据HD、查找表LUT等。管理信息MI被存储于NAND型闪存器100中。管理信息MI在电源接通时从NAND型闪存器100被复制到控制器200的RAM220中而使用。如后所述,管理信息MI的一部分(在本实施方式中为移位信息)被存储于NAND型闪存器100中的至少1个数据锁存器群中。
另外,管理信息MI以每个存储单元晶体管MT写入1比特的数据的写入模式(以下,称为SLC模式)被写入到存储单元阵列110的规定的存储区域(以下,称为管理信息存储区域)MIA。如上所述,在本实施方式中,从主机写入的用户数据为每个存储单元晶体管MT3比特的数据,但管理信息MI是每个存储单元晶体管MT为1比特的数据,以SLC模式被写入到存储单元阵列110的管理信息存储区域MIA。
如上所述,NAND型闪存器100具有作为非易失性存储器的存储单元阵列110。存储单元阵列110具有多个物理块,多个物理块分别具有能够以页为单位进行存取的存储区域。
并且,控制器200对存储单元阵列110的多个物理块进行以页为单位的数据的读出控制,进行以页单元为单位的数据的写入控制。
2.动作
接着,对存储器系统的写入动作及读出动作进行说明。
如上所述,控制器200根据来自主机设备300的请求,按照规定的序列向NAND型闪存器100输出各种信号及数据,由此进行从NAND型闪存器100的数据的读出及向NAND型闪存器100的数据的写入。
[数据写入时的动作]
图6是表示数据的写入时的指令序列的图。图7以及图8是用于说明伴随数据的写入时的指令序列的执行的、5个数据锁存器群中的数据的存储状况的变化的图。图7及图8按每个数据锁存器群示出了与被写入的数据数K对应的数据的存储状况。因此,图7及图8的各带状的框的横宽表示与数据数K对应的长度。K对应于对NAND型闪存器100的数据的一次读出动作及一次写入动作中的数据量。在后述的图10等中,各带状的框的横宽也表示与数据数K对应的长度。
在此,数据的写入是,在下位比特、中位比特以及上位比特的3页量的数据被写入到数据锁存器群ADL、BDL以及CDL之后,通过序列发生器170执行用于向存储单元阵列110写入数据的编程动作。
各指令通过8比特的输入输出信号I/O,从控制器200向NAND型闪存器100供给。编程动作按每个页单元进行。在此,按照下位比特、中位比特、上位比特的顺序,从控制器200向NAND型闪存器100输出用于写入的指令序列的指令等。在各指令序列中,控制器200在最初的2个指令周期中输出2个指令,在5个地址周期中输出5个地址,在之后的多个周期中输出多个数据,在之后的1个周期中输出1个指令。控制器200按照图6的指令序列SQ1、SQ2、SQ3的顺序向NAND型闪存器100输出指令、地址及数据。
如指令序列SQ1所示,控制器200首先将进行向下位比特的写入预约的指令“c11”输出至输入输出信号I/O。在指令“c11”被输出至输入输出信号I/O时,如图7的LS1所示,在各数据锁存器群中没有存储任何数据。在图7中,斜线表示没有存储任何数据的状态,或者数据不定的状态。
接着指令“c11”,控制器200将指令“c21”输出至输入输出信号I/O。通过指令“c21”,数据锁存器群XDL的全部的数据锁存器XDL被复位。在此,复位是指数据锁存器群XDL的各数据锁存器XDL的值成为“1”。通过指令“c21”,如图7的LS2所示,数据锁存器群XDL的数据被复位。如图7中空白所示,全部的数据锁存器XDL的数据成为“1”的状态。
接着指令“c21”,控制器200将5个地址输出至输入输出信号I/O。最初的2个地址“CAL1”以及“CAL2”为列地址,剩余的3个地址“RAL1”、“RAL2”以及“RAL3”为行地址。
接着5个地址,控制器200将多个数据“DL0”、“DL1”、…、“DL(K-1)”输出至输入输出信号I/O。如上所述,K表示数据数。输入输出信号I/O的各数据被存储于与所指定的地址对应的列解码器140的读出单元SAU的数据锁存器XDL。
图7的LS3用细小的斜线表示多个数据“DL0”到“DL(K-1)”的数据向数据锁存器群XDL的中途的存储状态。图7的LS4表示多个数据“DL0”到“DL(K-1)”的全部数据被存储于数据锁存器群XDL的状态。
接着多个数据,控制器200将指令“c22”输出至输入输出信号I/O。指令“c22”是使数据锁存器群XDL的数据复制到其他数据锁存器群的指令。
通过指令“c11”和指令“c22”的组合,数据锁存器群XDL的数据被复制到数据锁存器群ADL。序列发生器170基于指令“c11”和“c22”,进行将数据锁存器群XDL的数据复制到数据锁存器群ADL的处理。
在图6的指令序列SQ1中,长白色箭头的定时表示从数据锁存器群XDL向数据锁存器群ADL的数据复制的开始定时,短箭头的定时表示从数据锁存器群XDL向数据锁存器群ADL的数据复制的完成定时。在从数据锁存器群XDL向数据锁存器群ADL的数据复制的期间,就绪/忙碌信号RBn成为low。图7的LS5表示数据锁存器群XDL的全部数据被复制到数据锁存器群ADL的状态。
由此,在图6中下位比特的写入预约指令序列SQ1结束,接着,执行中位比特的写入预约指令序列SQ2。
在指令序列SQ2中,与指令序列SQ1同样地,接着2个指令“c12”和指令“c21”,将5个地址输出至输入输出信号I/O。接着5个地址,指令“c22”被输出至输入输出信号I/O。
通过指令“c12”和指令“c22”的组合,数据锁存器群XDL的数据被复制到数据锁存器群BDL。序列发生器170基于指令“c12”和“c22”,进行将数据锁存器群XDL的数据向数据锁存器群BDL复制转送的处理。
在图6的指令序列SQ2中,长白色箭头的定时表示从数据锁存器群XDL向数据锁存器群BDL的数据复制转送的开始定时,短箭头的定时表示从数据锁存器群XDL向数据锁存器群BDL的数据复制转送的完成定时。在从数据锁存器群XDL向数据锁存器群BDL的数据复制的期间,就绪/忙碌信号RBn成为low。
在指令序列SQ2之后,执行用于执行上位比特的写入预约和下位/中位/上位比特的写入的指令序列SQ3。
在指令序列SQ3中,与指令序列SQ1同样地,接着2个指令“c13”和指令“c21”,将5个地址输出至输入输出信号I/O。接着5个地址,指令“c23”被输出至输入输出信号I/O。指令“c23”是使数据锁存器群XDL的数据向其他数据锁存器群复制、之后执行写入动作的指令。
通过指令“c13”和指令“c23”的组合,数据锁存器群XDL的数据被复制到数据锁存器群CDL。序列发生器170基于指令“c13”和“c23”,进行将数据锁存器群XDL的数据向数据锁存器群CDL复制转送的处理。
在图6的指令序列SQ3中,长白色箭头的定时表示从数据锁存器群XDL向数据锁存器群CDL的数据复制转送的开始定时,短箭头ts的定时表示从数据锁存器群XDL向数据锁存器群CDL的数据复制转送的完成定时。在从数据锁存器群XDL向数据锁存器群CDL的数据复制的期间,就绪/忙碌信号RBn成为low。
另外,在图6中,指令“c12”及“c13”分别是进行向中位比特及上位比特的写入预约的指令。地址“CAM1”和“CAM2”是中位的列地址,地址“CAU1”和“CAU2”是高位的列地址。地址“RAM1”、“RAM2”以及“RAM3”是中位比特的行地址,地址“RAU1”、“RAU2”以及“RAU3”是上位比特的行地址。数据“DM0”、“DM1”、…、“DM(K-1)”是中位比特的数据,数据“DU0”、“DU1”、…、“DU(K-1)”是上位比特的数据。
图7的LS6表示通过指令序列SQ2中的指令c21使全部的数据锁存器XDL复位的状态。图8的LS7用细小的竖线表示多个数据“DM0”到“DM(K-1)”的数据向数据锁存器群XDL的中途的存储状态。图8的LS8表示多个数据“DM0”到“DM(K-1)”的全部数据被存储于对应的数据锁存器群XDL的状态。
当指令序列SQ2中的指令“c22”被输出时,数据锁存器群XDL的数据被复制到数据锁存器群BDL。序列发生器170基于指令“c12”和“c22”,进行将数据锁存器群XDL的数据复制到数据锁存器群BDL的处理。
在指令序列SQ3中,接着数据的写入预约的指令“c13”及数据锁存器群XDL的复位的指令“c21”,若数据“DU0”、“DU1”、…、“DU(K-1)”的输出结束,则指令“c23”被输出至NAND型闪存器100。
当指令序列SQ3中的指令“c23”被输出时,数据锁存器群XDL的数据被复制转送到数据锁存器群CDL。序列发生器170基于指令“c13”和“c23”,进行将数据锁存器群XDL的数据向数据锁存器群CDL复制转送的处理后,开始以页单元为单位的数据的写入、即编程动作。序列发生器170在进行全部的数据锁存XDL的复位之后,开始编程动作。即,之后,实施使用了3个数据锁存器ADL/BDL/CDL的3页量的数据的向存储单元阵列110的写入处理。
图8的LS9表示在编程动作即将开始之前的数据锁存器群ADL、BDL、CDL中存储有写入数据的状态。在图8的LS9中,通过细小的横线表示多个数据“DU0”到“DU(K-1)”的全部数据存储于对应的数据锁存器群CDL中的状态。
图8的LS10表示在编程动作后,各数据锁存器群成为“1”的状态。在图6中,编程动作在定时ts开始,在定时te结束。
从数据锁存器群XDL向数据锁存器群CDL的数据复制的开始、到编程动作的结束为止,就绪/忙碌信号RBn为low。
[数据读出时的动作]
首先,对基于预先设定的阈值电压的数据读出(以下,也称为正常读取)时的基本动作进行说明。
1)正常读取的基本动作
图9是表示数据的读出时的基本的指令序列的图。图10是用于说明伴随着指令序列的执行的5个数据锁存器中的数据的存储状况的变化的图。
如指令序列SQ4所示,控制器200将进行下位比特、中位比特及上位比特中的任一个的读出预约的指令“c11”、“c12”或“c13”输出至输入输出信号I/O。
在图9中示出了,接着指令“c13”,控制器200将指令“c31”输出至输入输出信号I/O。控制器200接着指令“c31”,将5个地址输出至输入输出信号I/O。
接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。指令“c32”是指示数据的读出的执行的指令。因此,序列发生器170执行向所指定的地址的数据的读出。各数据的读出结果首先被存储于各读出放大器SA中。
在指令“c32”被输出至输入输出信号I/O时,如图10的LS11所示,在各数据锁存器群中没有存储任何数据。之后,序列发生器170读出数据,如图10的LS12中以细小的斜线表示的那样,在数据锁存群SDL中存储数据。
NAND型闪存器100在接收指令“c32”后执行读出动作,因此就绪/忙碌信号RBn成为low(用白色的长箭头表示)。
在全部的数据被存储于数据锁存器群SDL之后,全部的数据被复制到数据锁存器群XDL。当全部数据被复制到数据锁存器群XDL时,就绪/忙碌信号RBn为高(high)(用白色短箭头表示)。图10的LS13表示数据锁存器群SDL的数据被复制到数据锁存器群XDL的状态。
之后,控制器200从NAND型闪存器100的数据锁存器群XDL读出数据。
如上所述,控制器200能够从NAND型闪存器100读出数据。
2)移位读取的基本动作
在数据的读出时,存储单元晶体管MT的阈值电压因各种原因而变动,存在如果是上述的基于与预先设定的阈值电压对应的读出电平进行的数据读出即正常读取则无法正确读出数据的情况。在这样的情况下,控制器200变更读出电平来进行数据的读出动作。即,将从与正常读取中的阈值电压(例如,上述电压VB)对应的读出电平起移位了某值(以下,也称为移位量)后的电压(例如电压VBs)设定为读出电平,控制器200进行数据的读出动作。以下,将这样的读出动作称为移位读取。
因此,在控制器200的RAM220中,作为移位表信息TBL存储有用于决定移位量的多个(在此为3个)移位表。各移位表是管理信息MI的一部分。管理信息MI被存储于NAND型闪存器100的存储单元阵列110的管理信息存储区域MIA中,在存储器系统1的电源被导通时,通常被转送至RAM220,并被处理器230参照而使用。
图11是表示作为移位表信息TBL的1个表的、下位页用的移位表TBL1的例子的图。图12是表示移位表信息TBL中的中位页的移位表TBL2的例子的图。图13是表示移位表信息TBL中的上位页的移位表TBL3的例子的图。在各移位表中设定有与多个索引编号对应的多个移位量。
进而,控制器200例如基于对每个块BLK的移位量进行指定的数据(以下,称为历史数据),决定移位量。历史数据HD例如是表数据,包含每个块BLK的索引编号。控制器200在进行某个块BLK的数据的读出时,从历史数据HD读出针对对象块BLK设定的索引编号,参照移位表信息TBL,使用与该读出的索引编号对应的移位量数据,进行针对该块BLK的移位读取。
历史数据HD既可以是块BLK单位,也可以是各块BLK内的下位/中位/上位比特单位,还可以是各块BLK内的字线WL单位。处理器230能够从读出对象地址中确定读出对象块BLK等。
例如,处理器230从历史数据HD读出对所确定的块BLK设定的索引编号。处理器230参照对应的移位表TBL,得到与读出的索引编号对应的移位量数据,将该移位量数据与预先设定的读出电平相加,计算读出电平(读出电压)。其结果,处理器230能够使用计算出的读出电平,读出来自该块BLK的数据。
在此,如图11至图13所示,移位表信息TBL包含针对每个页而设定的3个移位表。在图11的下位页用的移位表TBL1中,设定有读出动作AR和ER时的多个(在此为5个)电平的移位量。在图12的中位页用的移位表TBL2中,设定有读出动作BR、DR以及FR时的多个(在此为5个)电平的移位量。在图13的上位页用的移位表TBL3中,设定有读出动作CR和GR时的多个(在此为5个)电平的移位量。
各移位表具有多个索引编号,具有每个索引编号的移位量。在此,随着索引编号增加,各读出动作中的移位量也增加。
如上所述,移位量例如被设定为以块单位设置的移位表信息TBL,移位表信息TBL的各移位表从管理信息存储区域MIA被转送到RAM220。
当通过使用了与对应于预先设定的各状态的阈值电压对应的读出电平的数据的读出(正常读出)无法进行数据的读出时,进行移位读取。因此,在无法通过正常读取进行数据的读出时,在重新读出中进行移位读取,在能够进行数据的读出时,将历史数据HD的索引编号更新。作为结果,在历史数据HD中存储有用于确定上次(最新)的数据读出时的移位量数据的索引编号,在通过正常读取而能够进行数据的读出时,历史数据HD中的索引编号例如被设定为“0”。
图14是表示存在来自主机的读出请求时的、控制器200与NAND型闪存器100的数据的读出的处理的流程的例子的流程图。图14表示每个页的数据的读出处理。控制器200根据来自主机设备300的数据的读出请求,使用RAM220中的查找表LUT(图1),确定读出对象地址(即物理地址)(步骤(以下,简称为S)1)。
来自主机设备300的读出请求通过逻辑地址来指定读出数据的地址。控制器200将逻辑地址与NAND型闪存器100的物理地址的对应关系信息作为表信息保存于查找表LUT。在S1中,控制器200在接收到读出请求时,参照该查找表LUT,确定与读出请求中包含的逻辑地址对应的物理地址。
当确定物理地址时,控制器200参照上述的历史数据HD来计算读出电平(S2)。历史数据HD以往被存储于RAM220中,但在本实施方式中,被存储于在数据的读出时未被使用的数据锁存器群中。如上所述,历史数据HD存储上次读出时的移位量的索引编号。在移位读取时,对正常读取时使用的与预先设定的各状态对应的读出电压加上该记录的索引编号的移位量的电压,该相加后的电压值作为读出电平被算出。
此外,当电源被断开时,查找表LUT、移位表信息TBL以及历史数据HD被存储即更新到NAND型闪存器100的存储单元阵列110的管理信息存储区域MIA,之后,当电源被接通时,从NAND型闪存器100被读出并被存储于RAM220或数据锁存器群。
控制器200基于所确定的物理地址和在S2中计算出的读出电平,向NAND型闪存器100发出读出指令(S3)。
NAND型闪存器100若接收到来自控制器200的读出指令,则基于读出指令进行数据的读出(S4)。当在历史数据HD中没有存储上次读出时的索引编号时(即索引编号为0时),执行正常读取。当在历史数据HD中存储有上次读出时的索引编号时,执行使用了与索引编号对应的移位量的移位读取。
读出的结果由控制器200取得。控制器200判定是否能够进行数据的读出,即即使有错误是否也能够通过ECC电路260进行错误订正(S5)。
在能够进行数据的读出时(S5:是),控制器200向主机设备300返回读出的数据(即订正处理后的数据(S6)。
在无法进行数据的读出时(即无法进行错误订正时)(S5:否),控制器200执行重新读出处理(S7)。在重新读出处理中,一边使各移位表的索引编号递增而变更移位量一边进行重新读出。此外,也可以代替变更了移位量的重新读出,通过Vth追踪来判定读出电压并进行重新读出。Vth追踪是基于在使读出电压变化时成为导通的存储单元数(导通单元数)的变化,决定能够正确地读出数据的读出电压(所谓的波谷位置电压)的处理。
在重新读出处理(S7)中进行移位读取,在重新读出处理(S7)之后判定错误订正是否成功(S8)。在错误订正未成功、即无法进行数据的读出时(S8:否),控制器200向主机设备300返回表示无法读出这一情况的读取状态错误(S10)。
在重新读出处理(S7)中进行移位读取且错误订正成功,即能够进行数据的读出时,控制器200更新历史数据HD(S9),将所读出的数据(即订正处理后的数据)返回至主机设备300(S6)。
如上所述,一边使用历史数据HD和移位表信息TBL,一边从NAND型闪存器100读出数据。
3)暂停读取时的基本操作
在编程动作的中途,从主机设备300接受读出请求时,控制器200使NAND型闪存器100的编程动作暂时中断(以下,也称为“暂停”),执行读出动作,在执行读出动作后,控制器200具有使编程动作再次开始(以下,也称为“恢复”)的功能。
NAND型闪存器100在编程动作中,接受到读出指令时,暂时暂停这样的编程动作,执行数据的读出,之后进行编程动作的恢复。这样的动作是用于加快针对读出请求的响应的动作,称为暂停读取。
控制器200包含保存使编程动作暂停时的暂停信息的规定的寄存器(未图示)。控制器200基于该寄存器所保存的暂停信息,恢复编程动作。
图15是表示暂停读取时的指令序列的图。
在NAND型闪存器100的编程动作中,若从主机设备300接收读出请求,则如指令序列SQ5所示,控制器200的处理器230向NAND型闪存器100输出使编程动作中断的指令“c41”,将暂停信息存储于规定的寄存器(未图示)。在中断编程动作后,控制器200使序列发生器170执行读出动作。
具体而言,在输出指令“c41”之后,将图9所示的指令及地址从控制器200供给至NAND型闪存器100,所读出的数据从NAND型闪存器100供给至控制器200。当数据的读出结束时,控制器200输出恢复编程动作的指令“c42”,序列发生器170根据指令“c42”重新开始编程动作。
图16是用于说明暂停读取时的5个数据锁存器中的数据的存储状态的变化的图。图16的LS21表示编程动作中的各数据锁存器的状态,在数据锁存器群ADL、BDL及CDL中存储写入数据,在数据锁存器群SDL中存储验证用数据。图16的LS22表示编程动作中断而读出动作即将开始之前的各数据锁存器的状态。
在读出动作中,如图9及图10所示,使用数据锁存器群SDL、XDL。图16的LS23示出了:序列发生器170读出全部数据后,以细小的点图案所示那样存储于数据锁存器群SDL的状态。LS24表示数据锁存器群SDL的数据被复制到数据锁存器群XDL的状态。因此,控制器200能够从数据锁存器群XDL读出数据。
在暂停读取时,3个数据锁存器群ADL、BDL及CDL的数据不变更,因此在编程动作恢复时,序列发生器170可直接使用数据锁存器群ADL、BDL及CDL的数据,重新开始编程动作。在重新开始编程动作时,数据锁存器群SDL、ADL、BDL、CDL及XDL的状态成为与LS21相同的状态。
4)管理信息的存储区域和稳定状态
控制器200使用管理信息MI,执行对NAND型闪存器100的数据的写入动作及数据的读出动作。管理信息MI是例如在对NAND型闪存器100进行读出动作时等由控制器200使用的信息,例如是查找表LUT、移位表信息TBL、历史数据HD等数据。
一般而言,管理信息MI在存储器系统1的电源从断开变为接通时,从NAND型闪存器100的存储单元阵列110中的管理信息存储区域MIA被读出,并被复制到控制器200的RAM220,由处理器230使用。但是,在无法在控制器200中设置大数据大小的RAM220的情况下,如果块数增加等、管理信息MI的数据尺寸变大,则发生在RAM220中无法存储全部管理信息MI的情况。
另外,存储管理信息MI的RAM220在跟踪处理、巡检处理等中也被使用于暂时存储很多数据,因此在RAM220中也需要足够的空闲区域。通过跟踪处理、巡检处理等更新后的移位信息也被存储于存储单元阵列110中的管理信息存储区域MIA中。
进而,即使存储单元晶体管MT中存储的数据的比特数增加,管理信息MI的数据大小也变大。
但是,NAND型闪存器100根据用途而有在一次写入数据之后数据的读出为大部分的情况。例如,在数据中心等中使用NAND型闪存器100时,在一次写入数据之后,数据的读出的发生频度比数据的写入的发生频度多。
因此,在本实施方式中,通过将管理信息MI的一部分存储于在数据的读出时不被使用的数据锁存器群,即使无法在控制器200中设置大尺寸的RAM220,控制器200也能够以较小的等待时间读出管理信息MI。即,控制器200在从NAND型闪存器100的数据的读出处理的执行时或执行之前,将在数据的读出中使用的管理信息MI存储于由多个数据锁存电路构成的数据锁存器群的1个。
另外,在本实施方式中,在数据的读出时不被使用的数据锁存器群中存储的管理信息MI的一部分的数据量,是收敛于1页中的数据量,存储于数据锁存器群ADL。
以下,将管理信息MI的一部分存储于数据锁存器群ADL的状态称为数据锁存器群的稳定状态。
另外,在以下的例子中,对在移位读取时使用的历史数据HD作为管理信息MI的一部分而被存储于数据锁存器群ADL的情况进行说明。即,在图4中双点划线所示的数据锁存器群ADL中存储有历史数据HD。
当历史数据HD被存储于数据锁存器群ADL时,在此,对针对每个块BLK而使用的移位量数据进行表示的索引编号,作为移位信息被存储于数据锁存器群ADL中。
因此,在控制器200中,生成对应表CT,并存储于RAM220,该对应表CT中存储有与读出对象地址的块BLK对应的数据锁存器群ADL的列地址。处理器230通过参照该对应表CT,能够从数据锁存器群ADL取得与读出数据的块BLK对应的移位信息(在此为索引编号)并执行移位读取。
在本实施方式中,均为管理信息的查找表LUT以及移位表信息TBL在图1中如虚线所示那样存储于RAM220,但在进行数据的读出时,控制器200从数据锁存器群ADL中读出历史数据HD中的对象地址的索引编号。控制器200能够参照移位表信息TBL,使用根据读出的索引编号决定的移位量数据进行移位读取。
另外,作为管理信息MI的历史数据HD被存储于数据锁存器群ADL时,也可以一并被存储于数据锁存器群XDL。
对将管理信息MI从存储器单元阵列110中的管理信息存储区域MIA向数据锁存器群ADL中存储的步骤进行说明。
首先,对管理信息MI被转送到数据锁存器群ADL而设定的稳定状态和其稳定状态化的处理的顺序进行说明。稳定状态化的处理在根据来自主机设备300的请求而由控制器200执行数据的读出处理之前进行。图17至图19是用于说明管理信息MI被存储于数据锁存器群ADL为止的管理信息MI的存储状态的变化的图。图17至图19示出了存储单元阵列110和5个数据锁存器中的管理信息MI的存储状态。
对管理信息MI的第一存储过程进行说明。图17的SS1表示在初始状态(或数据写入后或数据擦除后),管理信息MI被存储于存储单元阵列110的管理信息存储区域MIA中。处理器230针对来自主机设备300的数据的读出请求,执行从管理信息存储区域MIA以SLC模式读出管理信息MI,将管理信息MI(在此为历史数据HD)如SS2中虚线所示地存储于数据锁存器群SDL,进而复制到数据锁存器群XDL。然后,如SS3中虚线所示,处理器230将该管理信息MI从数据锁存器群XDL复制到数据锁存器群ADL。SS3表示稳定状态,但管理信息MI也存储于数据锁存器群XDL。
如以上那样,控制器200在执行与来自外部的主机设备300的请求对应的读出处理之前,从规定的存储区域、即管理信息存储区域MIA读出管理信息MI,并存储于数据锁存器群ADL。
接下来,对管理信息MI的第二存储过程进行说明。从与图17的SS1相同的图18的SS11的状态起,如图18中虚线所示,处理器230针对来自主机设备300的数据的读出请求,执行从管理信息存储区域MIA以SLC模式读出管理信息MI,由此将管理信息MI如在SS12中虚线所示那样存储于数据锁存器群SDL。然后,如在SS12中虚线所示,处理器230将管理信息MI从数据锁存器群SDL复制到数据锁存器群ADL。SS12表示管理信息MI的第二稳定状态。
对管理信息MI的第三存储过程进行说明。从图18的SS12的状态起,如SS13所示,处理器230将管理信息MI从数据锁存器群ADL复制到数据锁存器群XDL。SS13表示管理信息MI的第三稳定状态。
对管理信息MI的第四存储过程进行说明。从与图17的SS1相同的图19的SS21的状态起,从如图19中虚线所示,处理器230针对来自主机设备300的数据的读出请求,执行从管理信息存储区域MIA以SLC模式读出管理信息MI,由此将管理信息MI如在SS22中虚线所示那样存储于数据锁存器群SDL。之后,如SS22中虚线所示,处理器230将管理信息MI从数据锁存器群SDL复制到2个数据锁存器群ADL和XDL这两方。SS22表示管理信息MI的第四稳定状态,但管理信息MI也存储于数据锁存器群XDL。
图20是表示第一存储过程的指令序列SQ11的图。处理器230在成为初始状态时(或数据的写入后或数据的擦除后),输出用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”。接着指令“c51”,处理器230将指令“c31”输出至输入输出信号I/O。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。
指令“c32”是指示执行数据的读出的指令,因此序列发生器170执行向所指定的地址的数据的读出。数据的读出结果首先被存储于多个读出放大器SA中之后,被复制到数据锁存器群XDL。
处理器230将使数据锁存器群XDL的数据复制到数据锁存器群ADL的指令“c52”输出至输入输出信号I/O。其结果,管理信息MI在图17的SS3所示的稳定状态下被存储于多个读出单元SAU中。
图21是表示第二存储过程以及第三存储过程的指令序列SQ12的图。处理器230在成为初始状态时(或数据的写入后或数据的擦除后),输出用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”。接着指令“c51”,处理器230将指令“c53”和“c31”输出至输入输出信号I/O。指令“c53”是指示将被读出并被存储于数据锁存器群SDL的管理信息MI向数据锁存器群ADL复制而不是向数据锁存器群XDL复制的指令。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。
指令“c32”是执行从所指定的地址的数据的读出的指令,因此序列发生器170执行所指定的地址的数据的读出,将所读出的数据存储于数据锁存器群ADL。
如以上那样,管理信息MI以图18的SS12所示的稳定状态被存储于多个读出单元SAU。
进而,之后,如图21中虚线所示,处理器230将使多个读出放大器SA的数据锁存器群ADL的数据复制到数据锁存器群XDL的指令“c54”输出至输入输出信号I/O,由此能够以图18的SS13所示的稳定状态将管理信息MI存储于多个读出单元SAU。
图22是表示第四存储过程的指令序列SQ13的图。处理器230在成为初始状态时(或数据的写入后或数据的擦除后),输出用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”。接着指令“c51”,处理器230将指令“c55”和“c31”输出至输入输出信号I/O。指令“c55”是指示被读出并被存储于数据锁存器群SDL的管理信息MI向数据锁存器群XDL及数据锁存器群ADL的复制的指令。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。
指令“c32”执行从所指定的地址的数据的读出的指令,因此序列发生器170执行向所指定的地址的数据的读出,将所读出的数据存储于数据锁存群ADL和XDL。
如上所述,管理信息MI在图19的SS22所示的稳定状态下被存储于多个读出单元SAU中。
接着,对上述的稳定状态下的数据的读出动作进行说明。在数据的读出动作中,首先,进行管理信息MI中包含的移位量数据的读出处理。
5)移位量数据的读出和设定
图23是用于说明从数据锁存器群XDL读出作为管理信息MI的移位信息(在此为索引编号)的情况的图。图24是表示数据的读出过程的指令序列SQ14的图。按照指令序列,进行从数据锁存器群ADL的索引编号的读出,使用与所读出的索引编号对应的移位量,进行数据的读出。在此,说明在稳定状态下,如SS31所示那样在数据锁存器群XDL也预先存储有作为管理信息MI的移位信息的情况。
处理器230输出作为寄存器读取指令的指令“c56”。接着指令“c56”,控制器200将5个地址输出至输入输出信号I/O。在此,仅指定列地址,因此忽略3个行地址。接着地址,控制器200将指令“c57”输出至输入/输出信号I/O。
序列发生器170执行所指定的列地址的数据锁存群XDL的数据的读出,输出所读出的数据“info0”。数据“info0”是与关于读取数据的移位量数据相对应的索引编号。因此,如图23的SS32所示,控制器200能够从数据锁存器群XDL取得索引编号。
处理器230使用所取得的数据“info0”进行数据的读出。处理器230能够参照移位表信息TBL,基于所取得的数据“info0”来取得移位量数据。如上所述,控制器200在执行读出处理之前,从数据锁存器群ADL向数据锁存器群XDL预先复制管理信息MI。然后,从数据锁存器群XDL取得移位量数据。
如图24所示,处理器230将用于对NAND型闪存器100设定于以后执行的读出中使用的移位量的移位量设定指令“c41”输出至输入输出信号I/O,并且接着移位量设定指令“c41”,将移位量数据输出至输入输出信号I/O。在图24中,输出下位页用的移位量数据“Shift A”和“Shift E”和“00”。第三个数据被忽略。如果是中位页用的移位量数据,则输出3个移位量数据,如果是上位页用的移位量数据,则输出2个移位量数据和“00”。其结果,移位量数据被设定于NAND型闪存器100中。
图25是用于说明从存储单元阵列110读出数据的情况的图。
如图24所示,控制器200将进行与读出数据对应的下位比特、中位比特及上位比特中的某一个的读出预约的指令“c11”、“c12”或“c13”输出至输入输出信号I/O。在图24中,接着指令“c11”,控制器200将指令“c31”输出至输入输出信号I/O,接着指令“c31”,将5个地址输出至输入输出信号I/O。
当控制器200将指令“c32”输出至输入输出信号I/O时,序列发生器170执行使用所设定的移位量的移位读取。数据的读出结果,首先被存储于数据锁存器群SDL后,如图25的SS33所示那样存储于数据锁存器群XDL。其结果,控制器200能够从数据锁存器群XDL取得用户数据。在图24中,长白色箭头的定时表示就绪/忙碌信号RBn为low,短箭头的定时表示就绪/忙碌信号RBn为high。
之后,控制器200如单点划线所示,将指令“c54”输出至输入输出信号I/O,如图25的SS34所示,数据锁存器群ADL的全部数据被复制到数据锁存器群XDL。
6)读出处理的整体流程
接着,对本实施方式的存储器系统1中的数据的读出处理的流程进行说明。
图26是表示控制器200与NAND型闪存器100的数据的读出的处理的流程的例子的流程图。在图26中,对与图14相同的处理标注相同的步骤编号并简化说明。图26表示每个页的数据的读出处理。控制器200当接收到来自主机设备300的读出请求时,使用RAM220中的查找表LUT,确定读出对象地址(即物理地址(S1)。
当确定了物理地址时,控制器200参照上述的对应表CT,输出使登记有历史数据HD中的对象地址的移位信息即历史值(在此为索引编号)的列地址的数据锁存器群XDL的数据输出的指令(S11)。根据该指令,NAND型闪存器100执行向控制器200返回所指定的列地址的数据锁存器群XDL的数据(即索引编号)的处理(S12)。S11和S12的处理如图24所示。
控制器200基于所确定的物理地址和与所取得的索引编号对应的移位量数据,将读出指令输出至NAND型闪存器100(S3)。
NAND型闪存器100若接收到来自控制器200的读出指令,则基于读出指令执行数据的读出(S4)。当在历史数据HD中没有存储上次读出时的索引编号时,即索引编号为0时,执行正常读取。当在历史数据HD中存储有上次读出时的索引编号时,执行使用了与该索引编号对应的移位量的移位读取。
由于数据的读出以页为单位进行,所以数据的读出的结果,如图25的SS33所示,1页量的数据被存储于数据锁存器群XDL。
读出的结果由控制器200取得。控制器200判定是否能够进行数据的读出,即即使有错误是否也能够通过ECC电路260进行错误订正(S5)。
在能够进行数据的读出时(S5:是),控制器200将所读出的数据返回至主机设备300(S6)。
另外,通过数据的读出,数据锁存器群XDL的管理信息MI被擦除,因此在能够进行数据的读出时(S5:是),控制器200进而为了成为稳定状态,如图26中虚线所示,将使数据锁存器群ADL的数据复制到数据锁存器群XDL的指令输出至输入输出信号I/O(S13)。其结果,如图25的SS34所示,序列发生器170将数据锁存器群ADL的数据复制到数据锁存器群XDL(S14)。
在无法进行数据的读出时(S5:否),控制器200执行上述那样的重新读出处理(S7)。
在S7中,上述的重新读出处理是一边进行移位读取等一边进行的,控制器200判定错误订正是否成功,即判定是否能够进行数据的读出(S8)。在错误订正成功、即能够进行数据的读出时(S8:是),控制器200将错误订正处理后的数据返回至主机设备300(S6)。
进而,在错误订正成功、即能够进行数据的读出时(S8:是),控制器200为了使数据锁存器群ADL、XDL成为稳定状态,如图26中虚线所示,将使数据锁存器群ADL的数据复制到数据锁存器群XDL的指令“c54”输出至输入输出信号I/O(S15)。其结果,序列发生器170将数据锁存器群ADL的数据复制到数据锁存器群XDL(S16)。
进而,在S15之后,控制器200输出用于将与能够重新读出时的移位量数据对应的索引编号改写更新到与对象地址对应的列地址的指令(S17)。其结果,序列发生器170以能够重新读出时的移位量数据的索引编号更新数据锁存器群XDL中的所指定的列地址的数据(S18)。
进而,在S17之后,控制器200输出将数据锁存器群XDL的数据复制到数据锁存器群ADL的指令(S19)。其结果,序列发生器170将数据锁存群XDL的数据复制到数据锁存器群ADL(S20)。
如上所述,在S5和S8中错误校正成功的情况下(S5、S8:是),控制器200能够将错误校正后的用户数据返回至主机设备300(S6)。
另外,控制器200在S8中错误订正成功的情况下(S8:是),进行数据锁存器群ADL的更新,除了使数据锁存器群ADL及XDL成为稳定状态以外,还执行将更新后的移位信息(在此为移位量数据的索引编号)写入至存储单元阵列110的管理信息存储区域MIA的处理。
即,控制器200在通过重新读出处理更新了管理信息MI的情况下,将更新后的管理信息MI存储于NAND型闪存器100。图27是表示将更新后的移位信息向管理信息存储区域MIA写入的处理的流程的例子的流程图。
控制器200判定是否需要向存储单元阵列110的管理信息存储区域MIA写入更新后的移位信息,换言之在S8中判定错误订正是否成功(S21)。控制器200在不需要向存储单元阵列110的管理信息存储区域MIA写入更新后的移位信息时(S21:否),不做任何处理。
在需要向存储单元阵列110的管理信息存储区域MIA写入更新后的移位信息时(S21:是),控制器200以SLC模式将更新后的移位信息(在此为与移位量数据对应的索引编号)写入存储单元阵列110的管理信息存储区域MIA(S22)。即,更新后的移位信息被存储于作为非易失性存储器的存储单元阵列110中。
因此,控制器200在S5中完成了错误订正时,不将更新后的移位信息向作为非易失性存储器的存储单元阵列110写入,但在S8中完成了错误订正时,将更新后的移位信息向作为非易失性存储器的存储单元阵列110写入。
返回到图26,如果错误校正未成功,即无法进行数据的读出(S8:否),则控制器200向主机设备300返回表示无法读出这一情况的读取状态错误(S10)。
图28和图29是用于说明图26的数据的读出处理和图27的更新后的管理信息向非易失性存储器的写入处理中的存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
图28的SS41表示通过图26的S14以及S16,数据锁存器群ADL的数据被复制到数据锁存器群XDL的状态。
图28的SS42表示通过图26的S18,数据锁存器群XDL中的所指定的列地址的数据以能够重新读出时的移位量数据的索引编号被更新后的状态。
图29的SS43表示通过图26的S20,数据锁存器群XDL的数据被复制到数据锁存器群ADL的状态。
图29的SS44表示通过图27的S21,更新后的移位量数据的索引编号被存储于作为非易失性存储器的存储单元阵列110中的其他地址中的状态。
图30是表示图28的SS42中的数据锁存器群XDL中的所指定的列地址的数据的更新处理所用的指令序列的图。
指令“c61”是用于对数据锁存器群XDL中的想要更新的列地址进行指定并进行数据更新的指令。接着指令“c61”,通过2个列地址指定列地址。由于仅仅是将数据写入所指定的列地址的多个数据锁存器XDL,因此忽略行地址。之后的数据“info”是更新数据。数据“info”被输出,在白色箭头所示的定时结束处理。通过指令“c52”,如图29的S43所示,数据锁存器群XDL的数据被复制到数据锁存器群ADL。
图31是表示图29的SS44中的向存储单元阵列110写入管理信息MI所用的指令序列的图。
指定SLC模式的指令“c51”是指定写入模式是SLC的指令。接着在指令“c61”,指定列地址和行地址。指令“c61”是将与数据锁存器群XDL中的所指定的列地址对应的数据的指令。当输出指令“c23”时,序列发生器170将数据锁存群XDL的数据写入由地址所指定的管理信息存储区域MIA。其结果,如图29的S44所示,更新后的移位信息被存储于存储单元阵列110中。
如上所述,进行移位量数据的更新。
接着,说明本实施方式中的暂停读取时的动作。
图32是表示对暂停读取时的控制器200的输入输出信号I/O的变化进行表示的指令序列的图。图33是用于说明伴随着指令序列的执行的、多个数据锁存器群中的数据的存储状况的变化的图。
如指令序列SQ17所示,在进行暂停读取时,控制器200输出规定的指令“c41”,使编程即数据的写入暂停。在图33中,LS31表示在编程中的多个数据锁存器群中,在数据锁存器群ADL、BDL及CDL中存储有用于写入的数据,在数据锁存器群SDL中存储有验证电压数据。LS32表示暂停时的编程中的多个数据锁存器群的状态。在LS32中,在数据锁存器群SDL及XDL中未存储有效的数据。即,到此为止进行了编程即数据的写入,因此管理信息MI未被存储于任何数据锁存器群。因此,当执行暂停读取时,需要取得数据的读出所用的管理信息MI。在图32中,长白色箭头的定时表示就绪/忙碌信号RBn为低(low),短箭头的定时表示就绪/忙碌信号RBn为高(high)。
因此,控制器200接着输出用于以SLC模式执行管理信息MI的读出的指令“c51”以及“c31”。接着指令,控制器200将5个地址和接着地址的指令“c32”输出至输入输出信号I/O。通过指令“c32”,管理信息MI在被存储于数据锁存器群SDL之后,被存储于数据锁存器群XDL。
图33的LS33表示以SLC模式读出的管理信息MI被存储于数据锁存器群SDL的状态,LS34表示管理信息MI被存储于数据锁存器群XDL的状态。
进而,通过指令“c32”,执行数据锁存器群XDL中的所指定的列地址的数据的读出。序列发生器170执行所指定的列地址的数据的读出,输出所读出的数据“info0”。
处理器230使用所取得的数据“info0”进行数据的读出。图33的LS35表示在管理信息MI中所指定的列地址的移位量数据的索引编号从对应的数据锁存器群XDL被读出的状态。
处理器230将设定移位量的移位量设定指令“c41”输出至输入输出信号I/O,并且接着移位量设定指令“c41”,将基于索引编号而选择的移位量数据输出至输入输出信号I/O。
之后,处理器230将进行下位比特、中位比特及上位比特中的任一个的读出预约的指令“c11”、“c12”或“c13”及“c31”输出至输入输出信号I/O,然后输出地址及指令“c32”。其结果,处理器230能够进行数据的读出。图33的LS36表示处理器230执行数据的读出时的状态。
在暂停读取的最后,处理器230输出编程恢复指令“c42”。
因此,在暂停读取时也是,能够从存储单元阵列110的管理信息存储区域MIA中读出作为管理信息MI的移位信息,执行移位读取。
此外,在暂停读取时,在有基于重新读出的移位信息的变更时,进行该有变更的移位信息(在此为索引编号)向管理信息存储区域MIA的写入。
如上所述,将管理信息MI的一部分存储于在读出时不使用的数据锁存器群ADL中,所以即使在控制器200的RAM的容量有限制的情况下管理信息MI增加,也能够高速地利用管理信息。
如上所述,若存储单元晶体管MT的存储容量增加,则例如若能够存储于1个存储单元晶体管MT的比特数从3比特增加至4比特,则移位量数据也增加,发生无法存储于控制器200的RAM220的情况。
根据NAND型闪存器100,有时在暂时写入数据之后,数据的读出是大部分。在数据的读出时或读出前,在数据的写入中使用的数据锁存器群ADL、BDL等不被使用。
在这样的情况下,根据上述的实施方式,即使作为管理信息MI的移位信息的历史数据HD的数据量增加,通过将历史数据HD存储于数据锁存器群ADL,也可以不使用控制器200的RAM220。
此外,在上述的实施方式中,作为管理信息的移位量数据的历史数据HD存储于数据锁存器群ADL,但也可以存储于其他的数据锁存器例如数据锁存器群BDL或CDL。
另外,在上述的实施方式中,作为存储于数据锁存器群ADL等中的管理信息MI,举出了移位读取时所使用的移位信息为例,但也可以将移位信息以外的管理信息MI存储于数据锁存器群ADL等。
如上所述,根据上述实施方式,能够提供即使在不充分具有存储管理信息的RAM区域的存储器控制器中也能够以较小的等待时间读出管理信息的存储器系统以及存储器控制器。
另外,由于将管理信息的一部分存储于在数据的读出时不被使用的数据锁存器群中,所以只要来自主机设备300的读出请求持续,存储器控制器200就能够以较小的等待时间读出管理信息MI。
(第二实施方式)
在第一实施方式中,移位信息等管理信息MI能够存储于NAND型闪存器100的1个数据锁存器群ADL即1页的量内,但在第二实施方式中,在必要的管理信息MI超过1页的量的情况下,也使用数据锁存器群ADL以外的数据锁存器群BDL等,将管理信息MI存储于2个以上的数据锁存器群。
第二实施方式的存储器系统的结构与第一实施方式的存储器系统的结构相同,因此在第二实施方式的存储器系统中,对与第一实施方式的存储器系统的结构相同的结构要素使用相同的标号并省略说明,仅对与第一实施方式的存储器系统的结构不同的结构进行说明。
图34是表示本实施方式的电源断开时等的管理信息存储区域MIA和多个数据锁存器群的数据存储状态的图。
图34表示电源断开时、数据的写入(编程)后、或数据的擦除后的管理信息存储区域MIA和多个数据锁存器群的数据存储状态。在数据锁存器群ADL、BDL、CDL的每一个中存储有对应的物理块的管理信息。
具体而言,在此,存储单元阵列110具有3000个块BLK。作为块0~999的管理信息MI的数据的移位信息被存储于管理信息存储区域MIA的第一存储区域MIA0中。块1000~1999的数据的移位信息被存储于管理信息存储区域MIA的第二存储区域MIA1中。块2000~2999的数据的移位信息被存储于管理信息存储区域MIA的第三存储区域MIA2中。
另外,在本实施方式中,在各读出单元SAU具备数据锁存器ADL、BDL、CDL及XDL。
图35表示本实施方式的稳定状态下的存储单元阵列110和多个数据锁存器群中的管理信息MI的存储状态。
在电源接通时、数据的写入(编程)后、或数据的擦除后,控制器200将第一实施方式中说明的各种指令向NAND型闪存器100输出,由此使多个数据锁存器群成为存储有管理信息MI的一部分的稳定状态。
在稳定状态下,存储于第一存储区域MIA0的管理信息MI被复制到数据锁存器群ADL,存储于第二存储区域MIA1的管理信息MI被复制到数据锁存器群BDL,存储于第三存储区域MIA2的管理信息MI被复制到数据锁存器群CDL。
通过使多个数据锁存器群成为稳定状态,能够应对数据的读出。
并且,在判明了读出数据的对象地址时,从存储与该对象地址有关的块BLK的管理信息MI的复制件的数据锁存器群,将管理信息MI复制到数据锁存器群XDL。
例如,在接收到块BLK0~999内的数据的读出请求时,控制器200能够将数据锁存器群ADL的存储区域的数据存储于数据锁存器群XDL,使用与由数据锁存器群XDL中的对象地址指定的块BLK有关的移位信息,进行数据的读出。
对使多个数据锁存器群成为稳定状态的处理进行简单说明。
图36是用于说明读出管理信息MI并向数据锁存器群XDL存储的情况下的数据的转送的图。如SS41所示,管理信息存储区域MIA的管理信息MI以SLC模式被读出,经由数据锁存器群SDL而被存储于数据锁存器群XDL。
图37是表示将以SLC模式读出的管理信息MI从数据锁存器群XDL向数据锁存器群ADL至CDL的任一个复制,并使多个数据锁存器群稳定状态化的方法的图。SS42表示以SLC模式被读出的管理信息MI从数据锁存器群XDL向数据锁存器群ADL复制的情况。即,管理信息MI从SS41的状态变为SS42的状态。S43表示以SLC模式被读出的管理信息MI从数据锁存器群XDL向数据锁存器群BDL复制的情况。即,管理信息MI从SS41的状态变为SS43的状态。S44表示以SLC模式读出的管理信息MI从数据锁存器群XDL向数据锁存器群CDL复制的情况。即,管理信息MI从SS41的状态变为SS44的状态。
图38是表示将数据锁存器群ADL、BDL及CDL中存储的管理信息MI向数据锁存器群XDL复制、并使多个数据锁存器群稳定状态化的其他方法的图。SS45表示管理信息MI从数据锁存器群ADL向数据锁存器群XDL复制的情况。SS46表示管理信息MI从数据锁存器群BDL向数据锁存器群XDL复制的情况。SS47表示管理信息MI从数据锁存器群CDL向数据锁存器群XDL复制的情况。
在图37中,管理信息MI被存储于数据锁存器群XDL后向数据锁存器群ADL、BDL及CDL中的任一个复制,但管理信息MI也可以经由数据锁存器群SDL直接向数据锁存器群ADL、BDL及CDL中的任一个复制。
图39是表示管理信息MI经由数据锁存器群SDL而向数据锁存器群ADL、BDL及CDL中的任一个转送的情况的图。SS48表示管理信息MI从数据锁存器群SDL直接向数据锁存器群ADL复制的情况。SS49表示管理信息MI从数据锁存器群SDL直接向数据锁存器群BDL复制的情况。SS50表示管理信息MI从数据锁存器群SDL直接向数据锁存器群CDL复制的情况。
另外,也可以从图39所示的数据锁存器群ADL、BDL及CDL中的任一个向数据锁存器群XDL复制,并如图38所示,将管理信息MI存储于数据锁存器群XDL。
图40是表示本实施方式的使多个数据锁存器群稳定状态化的指令序列SQ18的图。图41是用于说明管理信息MI被存储于多个数据锁存器群为止的管理信息MI的存储状态的变化的图。
如图40所示,处理器230输出用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”。接着指令“c51”,处理器230将指令“c53”和指令“c31”输出至输入输出信号I/O。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info0”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。通过以上,如图41的SS51所示,第一存储区域MIA0的管理信息MI被转送至数据锁存器群ADL。
之后,为了将第二存储区域MIA1的管理信息MI转送至数据锁存器群BDL,处理器230将用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”和接着指令“c51”的指令“c71”和指令“c31”输出至输入输出信号I/O。指令“c71”是将管理信息MI的转送目的地指定为数据锁存器群BDL而不是数据锁存器群XDL的指令。通过在指令“c71”之前输出指令“c51”,由此管理信息MI的转送目的地成为数据锁存器群BDL。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info1”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。通过以上,如图41的SS52所示,第二存储区域MIA1的管理信息MI被转送至数据锁存器群BDL。
之后,将用于将第三存储区域MIA2的管理信息MI转送至数据锁存器群CDL的指令和数据输出至输入输出信号I/O。处理器230将用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”和接着指令“c51”的指令“c72”和指令“c31”输出至输入输出信号I/O。指令“c72”是将管理信息MI的转送目的地设为数据锁存器群CDL而不是数据锁存器群XDL的指令。通过在指令“c72”之前输出指令“c51”,由此管理信息MI的转送目的地成为数据锁存器群CDL。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info1”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。通过以上,如图41的SS53所示,第三存储区域MIA2的管理信息MI被转送至数据锁存器群CDL。
图42是表示本实施方式的使多个数据锁存器群稳定状态化的另一指令序列SQ19的图。图43是用于说明管理信息MI被存储于多个数据锁存器群为止的管理信息MI的存储状态的变化的图。
如图42所示,处理器230输出用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”。接着指令“c51”,处理器230将指令“c53”和指令“c31”输出至输入输出信号I/O。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info0”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。通过以上,如图43的SS54所示,第一存储区域MIA0的管理信息MI经由数据锁存器群SDL而被转送至数据锁存器群ADL。
另外,在图43中,数据锁存器群ADL的数据被复制到数据锁存器群XDL。因此,在向数据锁存器群ADL转送信息MI之后,将使数据锁存器群ADL的数据复制到数据锁存器群XDL的指令“c54”输出至输入输出信号I/O。
之后,为了将第二存储区域MIA1的管理信息MI转送至数据锁存器群BDL,处理器230将用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”和接着指令“c51”的指令“c71”和指令“c31”输出至输入输出信号I/O。接着指令“c31”,控制器200将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info1”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。通过以上,如图43的SS55所示,第二存储区域MIA1的管理信息MI被转送至数据锁存器群BDL。
之后,用于将第三存储区域MIA2的管理信息MI转送至数据锁存器群CDL的指令和数据被输出至输入输出信号I/O。处理器230将用于执行以SLC模式从管理信息存储区域MIA读出管理信息MI的指令“c51”和接着指令“c51”的指令“c72”和指令“c31”输出至输入输出信号I/O。0接着指令“c31”,控制器20将5个地址输出至输入输出信号I/O。5个地址中的3个行地址表示数据“info2”的地址。接着5个地址,控制器200将指令“c32”输出至输入输出信号I/O。如上所述,如图43的SS56所示,第三存储区域MIA2的管理信息MI被转送至数据锁存器群CDL。
接下来,对从多个数据锁存器群的稳定状态取得用于读取数据的管理信息的序列。在此,作为例子,对所选择的块BLK属于块1000~块BLK1999、针对该被选择的块BLK读出管理信息MI的情况进行说明。
图44是表示用于从稳定状态读出管理信息MI的指令序列的图。图45是用于说明管理信息MI的读出处理中的存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。
如图44所示,在指令序列SQ20中,首先,输出将数据锁存器群BDL的数据向数据锁存器群XDL复制的指令“c73”,如图45的SS57至SS58所示,从数据锁存器群BDL向数据锁存器群XDL复制数据。
之后,控制器200输出指令“c56”和5个地址,将指令“c57”输出至输入输出信号I/O。序列发生器170执行所指定的列地址的数据锁存群XDL的数据的读出,如图45的SS59所示,能够输出所读出的数据“info”。
然后,控制器200使用读出的数据(移位信息)执行数据的读出序列,从而能够进行数据的读出。
接着,对管理信息MI的更新以及管理信息MI向存储单元阵列110的写入处理进行说明。
图46是表示稳定状态下的管理信息MI的更新处理的指令序列的图。图47是用于说明管理信息MI的更新处理中的存储单元阵列和5个数据锁存器群中的数据的存储状况的变化的图。在此,对数据锁存器群BDL的管理信息MI的更新进行说明。
在更新处理的指令序列SQ21中,最初输出指令“c73”,如图47的SS61至SS62所示,从数据锁存器群BDL向数据锁存器群XDL复制数据。
之后,控制器200将对数据锁存器群XDL中的所指定的列地址的数据进行更新的指令“c61”和5个地址输出至输入输出信号I/O时,如图47的SS63所示,数据锁存器群XDL的数据的一部分被更新。
控制器200在图46所示的指令序列SQ21之后执行图31所示的指令,由此将更新数据存储于存储单元阵列110。
图48是用于说明更新数据向存储单元阵列110的写入中的数据的存储状况的变化的图。如图48所示,存储单元阵列和5个数据锁存器群中的数据从SS64变化为SS65的状态。
接着,在将3页量的管理信息MI存储于数据锁存器群ADL、BDL、CDL的情况下,对数据的读出动作进行说明。
若判明来自主机设备300的读出请求相对于哪个块BLK,则控制器200将与读出请求有关的块BLK的管理信息MI转送至数据锁存器群XDL,从数据锁存器群XDL取得管理信息MI后,使用所取得的管理信息MI输出读出指令。
图49是用于说明在进行数据的读出时使用的管理信息MI即移位信息的选择的图。图50是表示进行数据的读出时的5个数据锁存器群的状态的图。
在稳定状态下,由于读出数据的移位量数据不存在于数据锁存器群XDL,所以接收到来自主机设备300的读出请求以后,从存储有与读出数据有关的管理信息MI(例如移位信息)的数据锁存器群,向数据锁存器群XDL的存储区域复制管理信息MI。
例如,在判定为进行块BLK0~999中的块BLKn的第m个字线WLm的数据的读出之后,控制器200将存储有与块BLK0~999中的块BLKn对应的管理信息MI的数据锁存器群ADL的数据复制到数据锁存器群XDL,读出与数据锁存器群XDL的数据区域中的块BLKn的字线WLm对应的移位信息。使用所读出的移位信息,控制器200能够进行数据的读出。
如图50所示,在进行数据的读出时,数据锁存器群XDL被使用于读出数据的存储。块BLKn的字线WLm的用户数据在被转送至数据锁存器群SDL之后,被复制到数据锁存器群XDL的数据区域,控制器200能够从数据锁存器群XDL的数据区域读出数据。
另外,管理信息MI向数据锁存器群XDL的转送也可以不是在接受到来自主机设备300的读出请求之后进行,而是事先将管理信息MI从数据锁存器群ADL、BDL、CDL中的任一个置于数据锁存器群XDL。
在该情况下,将数据锁存器群ADL、BDL、CDL这3个中的1个数据复制到数据锁存器群XDL,因此,以3分之1的概率,读出数据的移位信息存在于数据锁存器群XDL。
图51是表示控制器200与NAND型闪存器100的数据的读出的处理的流程的例子的流程图。在图51中,与图14以及图26相同的处理标注相同的步骤编号并简化说明。
控制器200在确定了与来自主机设备300的读出请求有关的对象地址之后(S1),确定登记有对象地址的历史值即移位信息的数据锁存器群,并输出将该确定的数据锁存器群的数据向数据锁存器群XDL复制的指令(S21)。
如果与关于读出指令的对象地址有关的历史值已经被存储于数据锁存器群XDL,则跳过该处理。但是,在与关于读出指令的对象地址有关的历史值未被存储于数据锁存器群XDL时,执行S21的处理。执行S21的结果,在NAND型闪存器100内,从登记有对象地址的历史值即移位信息的多个数据锁存器群,将数据复制到数据锁存器群XDL(S22)。
在执行S21之后或者跳过S21之后,控制器200输出使登记有历史数据HD中的对象地址的移位信息即历史值(在此为索引编号)的列地址的数据锁存器群XDL的数据输出的指令(S11)。根据该指令,NAND型闪存器100执行向控制器200返回所指定的列地址的数据锁存器群XDL的数据(即索引编号)的处理(S12)。
控制器200基于所确定的物理地址和与所取得的索引编号对应的移位量数据,将读出指令输出至NAND型闪存器100(S3)。NAND型闪存器100若接收到来自控制器200的读出指令,则基于读出指令执行数据的读出(S4)。
读出的结果由控制器200取得。控制器200判定是否能够进行数据的读出,即即使有错误是否也能够通过ECC电路260进行错误订正(S5)。
在能够进行数据的读出时(S5:是),控制器200将所读出的数据返回至主机设备300(S6)。
在无法进行数据的读出时(S5:否),控制器200执行上述的重新读出处理(S7)。
在S7中,上述的重新读出处理是一边进行移位读取等一边进行的,控制器200判定错误订正是否成功,即是否能够进行数据的读出(S8)。在错误订正成功、即能够进行数据的读出时(S8:是),控制器200将错误订正处理后的数据返回至主机设备300(S6)。
进而,在重新读出处理(S7)之后,在错误订正成功、即能够进行数据的读出时(S8:是),控制器200将使登记有对象地址的历史值即移位信息的数据锁存器群的数据复制到数据锁存器群XDL的指令输出至输入输出信号I/O(S25)。其结果,序列发生器170将登记有对象地址的历史值即移位信息的数据锁存器群的数据复制到数据锁存器群XDL(S26)。
进而,在S25之后,控制器200输出用于将与能够重新读出时的移位量数据对应的索引编号改写更新为与对象地址对应的列地址的指令(S17)。其结果,序列发生器170将数据锁存器群XDL中的指定的列地址的数据以能够重新读出时的移位量数据的索引编号来更新(S18)。
进而,在S17之后,控制器200输出将更新后的数据锁存器群XDL的数据复制到登记有对象地址的历史值即移位信息的数据锁存器群的指令(S27)。其结果,序列发生器170从数据锁存器群XDL复制登记有对象地址的历史值即移位量的数据锁存器群的数据(S28)。
[巡检处理]
另外,在NAND型闪存器100中,为了应对随着时间经过而存储的数据的劣化,执行读出所存储的数据并对所读出的数据的存储状态进行检查即验证的巡检处理。作为巡检处理的结果,进行读出电平的更新、即移位信息的更新。即,控制器200在对存储单元阵列110执行了验证数据的存储状态的巡检处理时,将作为巡检处理的结果而被更新的管理信息、在此为移位信息存储于存储单元阵列110。
图52是表示巡检处理的流程的例子的流程图。巡检处理以规定的周期在规定的条件下执行。在此,巡检处理按照块BLK的规定的每个对象区域(以下,称为巡检对象区域)执行。控制器200选择巡检处理的对象的块BLK,选择该块BLK内的巡检对象区域,执行巡检处理。
控制器200首先设定巡检处理的对象块BLKi的巡检对象区域的索引j(S31)。
控制器200设定索引j的巡检对象区域的对象地址addr(S32),执行对象地址addr的读出时的规定的处理(S33)。反复进行S32和S33,以在S33中对对象块BLK内的全部对象块执行规定的处理。
当向在S31中设定的巡检对象区域的读出处理结束时,使块i的巡检对象区域的索引j递增1。
控制器200针对各块BLK内的多个巡检对象区域,以规定的定时执行各一个巡检处理。
图53是表示巡检处理中的针对对象地址的读出时的规定的处理的流程的例子的流程图。
控制器200以与块i的擦除次数对应的表的索引编号的移位量读出对象地址的数据,即进行移位读取(S35)。
控制器200判定基于ECC的错误校正是否成功(S36)。在错误订正成功时(S36:是),处理不做任何处理。在错误订正未成功时(S36:否),判定上述表的索引编号是否小于最后的编号(S37)。
在上述表的索引编号小于最后的编号时(S37:是),控制器200使该页的索引编号递增(S38),处理返回到S35,并重复S35和S36的处理。
在上述表的索引编号不小于最后的编号时(S37:否),控制器200执行跟踪处理等其他处理(S39)。
图54至图57是用于说明进行巡检处理时的存储单元阵列110及多个数据锁存器群的状态的变化的图。
图54是表示空闲状态下的管理信息存储区域MIA和多个数据锁存器群的数据的存储状态的图。在空闲状态下,写入和读出都不进行。
图55以及图56是用于说明执行巡检处理时的5个数据锁存器群中的数据的存储状况的变化的图。
为了对块BLK0~BLK999的数据执行巡检处理,控制器200将数据锁存器群ADL的存储区域的数据复制到数据锁存器群XDL的存储区域。然后,如图55的SS61所示,使用数据锁存器群XDL的移位信息,执行数据的存储状态的检查即验证。如图55的SS62所示,由于进行数据的读出,所以数据锁存器群XDL的存储区域的数据被使用于读出。
控制器200在检查结束时,根据检查结果,判断为需要移位信息的更新情况下,如图55的SS63所示,将数据锁存器群ADL的数据复制到数据锁存器群XDL。
控制器200变更数据锁存器群XDL中的移位信息(例如索引编号)。图56的SS64表示数据锁存器群XDL中的一部分的数据被改写的状态。如图56的SS65所示,控制器200将数据锁存器群XDL中的数据复制到数据锁存器群ADL。
通过重复上述的处理,当对块BLK0~BLK999的数据执行巡检处理时,如SS66所示,数据锁存器群XDL中的数据被复制到数据锁存器群ADL。
图57是表示与块BLK0~BLK999的数据有关的管理信息存储区域MIA和多个数据锁存器群的数据的存储状态的图。从SS66的状态起,控制器200进行管理信息MI向存储单元阵列110的管理信息存储区域MIA的写入。图57表示例如对块BLK0~BLK999的数据的4分之1进行了移位信息的更新后的状态。
另外,在上述的例子中,更新数据被存储于数据锁存器群XDL之后,被复制到数据锁存器群ADL,但也可以将更新数据暂时存储于RAM220,并从RAM220向数据锁存器群ADL转送。
图58是用于说明对将更新数据存储于RAM220的中途的状态进行表示的存储器系统的结构的框图。图59是用于说明对将更新数据向RAM220存储完毕并将更新数据转送至数据锁存器群ADL的状态进行表示的存储器系统的结构的框图。
如图58所示,更新数据被存储于RAM220中的一部分区域中。如图59所示,存储于RAM220中的更新数据从控制器200被转送至NAND型闪存器100的数据锁存器群ADL。
如上所述,根据本实施方式,也能够得到与第一实施方式同样的效果,并且能够提供能够以较小的等待时间读出更多的管理信息MI的存储器系统以及存储器控制器。
特别是,在将更新数据暂时存储于RAM220之后转送至数据锁存器群ADL的情况下,即使在中途发生编程动作,也能够不使RAM220的数据退避至存储单元阵列110,而在编程动作结束后,重新开始向数据锁存器群ADL的更新数据的转送。
(第三实施方式)
在第一及第二实施方式中,存储器系统具有1个NAND型闪存器100,但在第三实施方式中,存储器系统具有2个NAND型闪存器100,且在各NAND型闪存器100的多个数据锁存器群中,2个存储单元阵列110中的2个管理信息MI被存储。
第三实施方式的存储器系统的结构与第一实施方式的存储器系统的结构相同,因此在第三实施方式的存储器系统中,对与第一实施方式的存储器系统的结构相同的结构要素使用相同的标号并省略说明,仅对与第一实施方式的存储器系统的结构不同的结构进行说明。
图60~图62是用于说明2个NAND型闪存器100的2个管理信息MI的存储状态的变化的图。将2个NAND型闪存器100中的一个作为芯片C0,将另一个作为芯片C1。即,各芯片C0、C1具有多个物理块,多个物理块分别具有作为非易失性存储器的存储单元阵列110,该存储单元阵列具有能够以页为单位进行存取的存储区域。本实施方式的存储器系统1A包含1个控制器200和2个芯片C0、C1。控制器200对芯片C0及C1各存储器控制以页为单位的数据的读出及写入。控制器200可以形成于2个芯片C0、C1中的任意一个基板上,也可以形成于其他芯片上。
图60是表示2个NAND型闪存器100的2个管理信息MI的存储状态的图。图61是表示芯片C0是编程中时的2个NAND型闪存器100的2个管理信息MI的存储状态的图。各芯片C0、C1具有多个数据锁存器群SDL、ADL、BDL、CDL、XDL。
在芯片C0的存储单元阵列110的管理信息存储区域MIAC0中,存储有芯片C0和芯片C1这两者的管理信息MI。同样地,在芯片C1的存储单元阵列110的管理信息存储区域MIAC1中也存储有芯片C0和芯片C1这两者的管理信息MI。
如图60的SS71所示,在芯片C0中,芯片C0的管理信息MI被存储于数据锁存器群ADL和数据锁存器群BDL的一半中,芯片C1的管理信息MI被存储于数据锁存器群BDL的一半和数据锁存器群CDL中。
同样地,如图60的SS72所示,在芯片C1中也是,芯片C0的管理信息MI被存储于数据锁存器群ADL和数据锁存器群BDL的一半中,芯片C1的管理信息MI被存储于数据锁存器群BDL的一半和数据锁存器群CDL中。
即,控制器200在从芯片C0及C1的各存储单元阵列110的数据的读出处理的执行时或执行之前,执行将在数据的读出中使用的管理信息MI(例如,历史数据HD)存储于芯片C0及C1这两者的数据锁存器群ADL、BDL、CDL的稳定状态化处理。
在这样的结构中,当在一个芯片C0中进行了数据的写入时即执行了编程时,控制器200有时会接受到针对该芯片C0的、数据的读出请求。
在这样的情况下,如图61的SS73所示,芯片C0的数据锁存器群ADL、BDL、CDL被使用于数据的写入,但如SS74所示,芯片C1的数据锁存器群ADL、BDL、CDL的数据不被使用于数据的写入,而是保持存储了芯片C0和芯片C1的管理信息MI不变的状态。
因此,在对芯片C0执行了数据的写入时,在执行针对芯片C0的数据的读出时,如图62的SS76所示,能够基于与读出地址对应的列地址,将在芯片C1的数据锁存器群ADL和BDL的一部分中存储的管理信息MI、在此为移位信息复制到数据锁存器群XDL,并从数据锁存器群XDL读出。在图62的SS76中,由于在数据锁存器群ADL中存储有与读出地址对应的移位信息,所以数据锁存器群ADL的数据被复制到数据锁存器群XDL。
即,控制器200在针对芯片C0存储单元阵列110执行数据的写入处理的中途执行从芯片C0存储单元阵列110的数据的读出处理时,从芯片C1的数据锁存群ADL、BDL读出管理信息MI,使用该读出的管理信息MI执行芯片C0的数据的读出处理。
因此,通过2个芯片将相互的管理信息MI相互存储于多个数据锁存器群中,控制器200在如图32所示的暂停读取处理时,不执行用于从存储单元阵列110中的管理信息存储区域MIA读出管理信息MI的指令序列,就能够从另一个芯片的多个数据锁存器群取得管理信息MI在此为移位信息,使用该移位信息进行数据的读出。即,由于在芯片间分散存储管理信息,所以在写入的暂停中,不需要进行SLC模式的管理信息MI的读出。
图63是表示数据的读出过程的指令序列SQ31的图。在对芯片C0进行编程动作而在芯片C0的数据锁存器群中没有存储管理信息MI的情况下,控制器200将选择芯片C1的指令“c74”输出至输入输出信号I/O,选择芯片C1。在读出数据用的移位信息位于芯片C1的数据锁存器群ADL时,进行如下处理:将指令“c54”输出至输入输出信号I/O,并将数据锁存器群ADL的全部数据复制到数据锁存器群XDL。
之后,将作为寄存器读取指令的指令“c56”输出至输入输出信号I/O,对芯片C1的数据锁存器群XDL中的所指定的列地址的开头进行指定,读出移位信息。
在将该读出的移位信息输出至NAND型闪存器100之后,输出数据的读出指令,进行数据的读出。
如上所述,根据本实施方式,能够得到与第一实施方式相同的效果。进而,在本实施方式的情况下,在针对某个芯片的编程动作中,在存在对该芯片的读出请求时,不需要从该芯片的存储单元阵列110中的管理信息存储区域MIA读出管理信息MI,因此能够使等待时间减小从管理信息存储区域MIA读出管理信息MI的时间量。
(第四实施方式)
本实施方式中,控制器芯片与存储器芯片被贴合,涉及层叠芯片而构成的存储器系统。
第四实施方式的存储器系统的结构包含与第一实施方式的存储器系统的结构相同的结构要素,因此在第四实施方式的存储器系统中,对与第一实施方式的存储器系统的结构相同的结构要素使用相同的标号并省略说明,仅对与第一实施方式的存储器系统的结构不同的结构进行说明。
在1块基板上形成NAND型闪存器100的电路和控制器200的电路的情况下,控制器200的电路基于存储单元阵列110的制造工艺来制造,因此有时无法增大RAM220的区域的尺寸。
因此,在本实施方式中,将搭载有控制器200的芯片和搭载有存储单元阵列110的芯片设为相互不同的芯片。
图64是用于说明本实施方式的存储器系统1B的结构的组装图。另外,在此,搭载有存储单元阵列110的芯片以1块层叠于搭载有控制器200的芯片,但也可以将多块搭载有存储单元阵列110的芯片层叠于搭载有控制器200的芯片。
存储器系统1B构成为具有搭载有控制器等的第一芯片400和搭载有存储单元阵列110等的第二芯片401,第一芯片400和第二芯片401被贴合而构成。
第一芯片400是搭载有包含处理器230、RAM420、各种接口电路等的控制器200、以及多个读出单元SAU的芯片,这些电路作为通过CMOS形成工艺制造出的半导体集成电路而形成于第一芯片400上。即,第一芯片400与第二芯片401贴合,具有:控制器200,控制针对多个物理块以页为单位进行数据的读出及写入;以及RAM420。如后所述,RAM420具有在从第二芯片401的存储单元阵列110的数据的读出处理的执行时或执行之前,能够存储在数据的读出中使用的管理信息MI(例如,历史数据HD)的RAM区域。
另一方面,第二芯片401是搭载有作为NAND型闪存器的内核部分的存储单元阵列110的芯片,通过用于制造存储单元阵列110的工艺来制造。即,第二芯片401具有多个物理块,多个物理块分别是具有能够以页为单位存取的存储区域的、具有非易失性的存储单元阵列110的半导体芯片。具有存储单元阵列110的第二芯片401搭载并贴合于第一芯片400上。
如图64所示,在第一芯片400中,具有形成有控制器200等各种电路的周边电路区域(PERI)、形成有多个读出单元SAU及运算电路YLOG的SA/YLOG区域、以及形成有RAM220的RAM区域。而且,在第一芯片400形成有用于与第二芯片401电连接的多个焊盘。多个焊盘包括多个位线BL用的焊盘PD1、多个字线WL用的焊盘PD2、控制信号等用的焊盘PD3。
第二芯片401具有形成有存储单元阵列110的单元阵列区域(Cell)。而且,在第二芯片401也形成有用于与第一芯片400电连接的多个焊盘。多个焊盘包括多个位线BL用的焊盘PD1a、多个字线WL用的焊盘PD2a、控制信号等用的焊盘PD3a。第一芯片400的多个焊盘和第二芯片401的多个焊盘例如通过球凸点电连接。
以第一芯片400的多个焊盘和第二芯片401的多个焊盘经由球凸点而连接的方式贴合2片芯片,由此制造存储器系统1A。进而,贴合的2片芯片搭载在另一基板上并进行引线接合,并由树脂封装。
以往,控制器200也形成于与NAND型闪存器100相同的基板上,因此用于RAM220的RAM区域无法取得较宽,但根据本实施方式的结构,能够在与第二芯片401不同的第一芯片400中扩大用于RAM220的RAM区域,因此即使管理信息MI的数据量增多,也能够存储于RAM220中。
由于存储于RAM220中的管理信息MI通过巡检处理等来更新,因此管理信息MI以规定的周期或在规定的定时执行向存储单元阵列110的管理信息存储区域MIA存储的处理。
图65是表示由第一芯片400进行的第二芯片401的数据的读出的处理的流程的例子的流程图。在图65中,与图14、图26以及图36相同的处理标注相同的步骤编号并简化说明。
第一芯片400的控制器200在确定了与来自主机设备300的读出请求有关的对象地址之后(S1),输出从登记了对象地址的移位信息的CMOS芯片的第一芯片400输出对象地址的管理信息MI(例如移位信息)的指示指令(S41)。即,从登记有对象地址的历史值即移位信息的RAM220输出用于读出读出对象地址的移位信息数据的指令。RAM220将所指定的地址的管理信息(移位信息)输出至控制器200(S32)。
之后,进行数据的读出,在重新读出后(S7),在错误订正成功时(S8:是),输出第一芯片400上的管理信息MI的更新指令(S43)。在第一芯片400内的RAM220中,由指令指定的地址的管理信息(移位信息)被更新(S44)。
如上所述,根据本第四实施方式,由于将搭载有控制器200的芯片与搭载有存储单元阵列110的芯片分开,因此能够取得较大的RAM区域,因此能够确存储储足够量的管理信息MI的存储区域。
以上,对本发明的几个实施方式进行了说明,但这些实施方式是作为例子进行提示的,并不意图限定发明的范围。这些新的实施方式能够以其他各种方式实施,在不脱离发明的主旨的范围内,能够进行各种省略、置换、变更。这些实施方式及其变形包含在发明的范围及主旨中,并且包含在权利要求书所记载的发明及其等同的范围内。
附图标记说明
1、1A…存储器系统、6…串、10…p型阱区、11、12、13…布线层、14…导电体、15…栅极绝缘膜、17…块绝缘膜、18…金属布线层、19…n+型杂质扩散层、20…接触插件、21…金属布线层、22…p+型杂质扩散层、23…接触插件、24…金属布线层、100…NAND型闪存器、110…存储单元阵列、120…行解码器、130…驱动器电路、140…列解码器、150…地址寄存器、160…指令寄存器、170…序列发生器、200…存储器控制器、210…主机接口电路、230…处理器、240…缓冲存储器、250…NAND接口电路、260…ECC电路、300…主机设备、400、401…芯片。
Claims (16)
1.一种存储器系统,具有:
非易失性的存储器,具有存储区域;
控制器,控制数据的读取及写入;
第一数据锁存器群,被使用于在所述控制器与所述存储器之间输入输出所述数据;以及,
第二数据锁存器群,在通过所述控制器从所述存储器读出所述数据时,维持被保存的数据,
所述第二数据锁存器群在通过所述控制器向所述存储器写入所述数据时被使用,
所述控制器,在从所述存储器读出所述数据的读出处理的执行时或执行之前,将用于所述数据的读出的管理信息存储于所述第二数据锁存器群。
2.根据权利要求1所述的存储器系统,其中,
所述控制器,在所述读出处理的执行之前,预先将所述管理信息从所述第二数据锁存器群复制到所述第一数据锁存器群。
3.根据权利要求1所述的存储器系统,其中,
所述管理信息被存储于所述存储器的规定的存储区域中,
所述控制器,在执行与来自外部的请求对应的所述读出处理之前,从所述规定的存储区域读出所述管理信息,并将所述管理信息存储于所述第二数据锁存器群。
4.根据权利要求1所述的存储器系统,其中,
所述控制器,在所述管理信息已被更新的情况下,将更新后的所述管理信息存储于所述存储器。
5.根据权利要求1所述的存储器系统,其中,
有多个所述第二数据锁存器群。
6.根据权利要求5所述的存储器系统,其中,
所述存储器具有多个物理块,
所述多个第二数据锁存器群的各第二数据锁存器群存储对应的物理块的所述管理信息。
7.根据权利要求6所述的存储器系统,其中,
所述多个物理块中的每一个物理块具有能够以页为单位存取的存储区域。
8.根据权利要求1所述的存储器系统,其中,
所述管理信息是用于在所述控制器执行所述读出处理时使所述数据的读出电平移位的移位信息。
9.根据权利要求8所述的存储器系统,其中,
所述控制器,在针对所述存储器执行了对所述数据的存储状态进行验证的巡检处理时,将作为所述巡检处理的结果而被更新的所述移位信息存储于所述存储器。
10.一种存储器系统,具有:
具有存储区域的非易失性的第一存储器;
具有存储区域的非易失性的第二存储器;
控制器,针对所述第一存储器以及所述第二存储器控制数据的读出及写入;
第一数据锁存器群,被使用于在所述控制器与所述第一存储器之间输入输出所述数据;
第二数据锁存器群,被使用于在所述控制器与所述第二存储器之间输入输出所述数据;
第三数据锁存器群,在通过所述控制器从所述第一存储器读出所述数据时,维持被保存的数据;以及
第四数据锁存器群,在通过所述控制器从所述第二存储器读出所述数据时,维持被保存的数据,
所述控制器,在从所述第一存储器及所述第二存储器读出所述数据的读出处理的执行时或执行之前,将用于所述数据的读出的管理信息存储于所述第三数据锁存器群及所述第四数据锁存器群,
在所述读出处理的执行之前,预先将所述管理信息从所述第三数据锁存器群复制到所述第一数据锁存器群,
在所述读出处理的执行之前,预先将所述管理信息从所述第四数据锁存器群复制到所述第二数据锁存器群。
11.根据权利要求10所述的存储器系统,其中,
所述控制器,在对所述第一存储器执行写入处理的中途执行从所述第一存储器读出所述数据的读出处理时,从所述第四数据锁存器群读出所述管理信息,并使用所述管理信息执行所述数据的读出处理。
12.一种存储器控制器,控制针对非易失性的存储器的数据的读出及写入,该非易失性的存储器具有存储区域、被使用于数据的输入输出的第一数据锁存器群、以及在读出所述数据时将保存数据予以维持的第二数据锁存器群,
所述存储器控制器,在从所述存储器读出所述数据的读出处理的执行时或执行之前,将用于所述数据的读出的管理信息存储于所述第二数据锁存器群,
在所述读出处理的执行之前,预先将所述管理信息从所述第二数据锁存器群复制到所述第一数据锁存器群。
13.根据权利要求12所述的存储器控制器,其中,
所述管理信息被存储于所述存储器的规定的存储区域中,
在执行与来自外部的请求对应的所述读出处理之前,从所述规定的存储区域读出所述管理信息,并将所述管理信息存储于所述第二数据锁存器群中。
14.根据权利要求12所述的存储器控制器,其中,
在所述管理信息已被更新的情况下,将更新后的所述管理信息存储于所述存储器。
15.一种存储器控制器,具有:
非易失性的第一存储器,具有第一存储区域;
非易失性的第二存储器,具有第二存储区域;
第一数据锁存器群,被使用于在其与所述第一存储器之间输入输出数据;
第二数据锁存器群,被使用于在其与所述第二存储器之间输入输出所述数据;
第三数据锁存器群,在从所述第一存储器读出所述数据时,维持第一保存数据;以及
第四数据锁存器群,在从所述第二存储器读出所述数据时,维持第二保存数据,
所述存储器控制器,
控制针对所述第一存储器及所述第二存储器的所述数据的读出及写入,
在从所述第一存储器及所述第二存储器读出所述数据的读出处理的执行时或执行之前,将用于所述数据的读出的管理信息存储于所述第三数据锁存器群及所述第四数据锁存器群
在向所述第一存储器写入所述数据时使用所述第三数据锁存器群,
在向所述第二存储器写入所述数据时使用所述第四数据锁存器群。
16.根据权利要求15所述的存储器控制器,其中,
在对所述第一存储器执行写入处理的中途执行从所述第一存储器读出所述数据的读出处理时,从所述第四数据锁存器群读出所述管理信息,并使用所述管理信息执行所述数据的读出处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020096428A JP2021190150A (ja) | 2020-06-02 | 2020-06-02 | メモリシステム及びメモリコントローラ |
JP2020-096428 | 2020-06-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113764018A CN113764018A (zh) | 2021-12-07 |
CN113764018B true CN113764018B (zh) | 2024-07-09 |
Family
ID=78705224
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110093276.9A Active CN113764018B (zh) | 2020-06-02 | 2021-01-25 | 存储器系统以及存储器控制器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11545223B2 (zh) |
JP (1) | JP2021190150A (zh) |
CN (1) | CN113764018B (zh) |
TW (2) | TWI770734B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021190150A (ja) * | 2020-06-02 | 2021-12-13 | キオクシア株式会社 | メモリシステム及びメモリコントローラ |
JP2022139171A (ja) * | 2021-03-11 | 2022-09-26 | キオクシア株式会社 | メモリシステム |
TWI807542B (zh) * | 2021-12-17 | 2023-07-01 | 華邦電子股份有限公司 | 記憶體系統 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411987A (zh) * | 2010-09-20 | 2012-04-11 | 三星电子株式会社 | 存储器件及其自交织方法 |
JP2014167842A (ja) * | 2013-02-28 | 2014-09-11 | Toshiba Corp | 半導体記憶装置及びそのコントローラ |
CN108108311A (zh) * | 2013-12-12 | 2018-06-01 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716180B2 (en) * | 2005-12-29 | 2010-05-11 | Amazon Technologies, Inc. | Distributed storage system with web services client interface |
TWI367490B (en) * | 2006-09-08 | 2012-07-01 | Sandisk Corp | Method of pseudo random and command driven bit compensation for the cycling effects in flash memory and apparatus therefor |
JP2008123330A (ja) * | 2006-11-14 | 2008-05-29 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP5142692B2 (ja) | 2007-12-11 | 2013-02-13 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP2009238874A (ja) | 2008-03-26 | 2009-10-15 | Toshiba Corp | 半導体メモリ及びその製造方法 |
JP2009266944A (ja) | 2008-04-23 | 2009-11-12 | Toshiba Corp | 三次元積層不揮発性半導体メモリ |
JP5283960B2 (ja) | 2008-04-23 | 2013-09-04 | 株式会社東芝 | 三次元積層不揮発性半導体メモリ |
JP2010199235A (ja) | 2009-02-24 | 2010-09-09 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2012069205A (ja) | 2010-09-22 | 2012-04-05 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2012252740A (ja) | 2011-06-02 | 2012-12-20 | Toshiba Corp | 不揮発性半導体記憶装置 |
US8406053B1 (en) | 2011-09-21 | 2013-03-26 | Sandisk Technologies Inc. | On chip dynamic read for non-volatile storage |
US8630118B2 (en) * | 2011-11-09 | 2014-01-14 | Sandisk Technologies Inc. | Defective word line detection |
KR101878455B1 (ko) * | 2011-11-18 | 2018-07-16 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법 및 구동 방법 |
KR20130057086A (ko) * | 2011-11-23 | 2013-05-31 | 삼성전자주식회사 | 비휘발성 메모리 장치의 프로그램 방법 |
US8902657B2 (en) * | 2012-09-07 | 2014-12-02 | Kabushiki Kaisha Toshiba | Semiconductor memory device and controller |
JP2014102867A (ja) * | 2012-11-20 | 2014-06-05 | Toshiba Corp | 半導体記憶装置及びその制御方法 |
KR102175039B1 (ko) * | 2013-06-25 | 2020-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 기입 방법 |
KR102050812B1 (ko) * | 2013-08-22 | 2019-12-02 | 르네사스 일렉트로닉스 가부시키가이샤 | 트윈 셀의 기억 데이터를 마스크해서 출력하는 반도체 장치 |
CN105283919B (zh) * | 2014-03-31 | 2020-08-28 | 瑞萨电子株式会社 | 半导体装置 |
KR102182804B1 (ko) * | 2014-07-29 | 2020-11-25 | 삼성전자주식회사 | 메모리 장치의 독출 방법 |
JP6674361B2 (ja) * | 2016-09-29 | 2020-04-01 | キオクシア株式会社 | メモリシステム |
JP2019053806A (ja) | 2017-09-15 | 2019-04-04 | 東芝メモリ株式会社 | メモリシステム、及びメモリシステムの制御方法 |
US10445088B2 (en) * | 2018-01-11 | 2019-10-15 | Macronix International Co., Ltd. | System boot code clone |
JP2019164865A (ja) | 2018-03-20 | 2019-09-26 | 東芝メモリ株式会社 | メモリシステム |
JP2020144668A (ja) * | 2019-03-07 | 2020-09-10 | キオクシア株式会社 | メモリシステム |
JP2021190150A (ja) * | 2020-06-02 | 2021-12-13 | キオクシア株式会社 | メモリシステム及びメモリコントローラ |
-
2020
- 2020-06-02 JP JP2020096428A patent/JP2021190150A/ja active Pending
- 2020-12-10 US US17/117,937 patent/US11545223B2/en active Active
- 2020-12-22 TW TW109145481A patent/TWI770734B/zh active
- 2020-12-22 TW TW111120837A patent/TWI841977B/zh active
-
2021
- 2021-01-25 CN CN202110093276.9A patent/CN113764018B/zh active Active
-
2022
- 2022-11-07 US US18/053,271 patent/US11869601B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102411987A (zh) * | 2010-09-20 | 2012-04-11 | 三星电子株式会社 | 存储器件及其自交织方法 |
JP2014167842A (ja) * | 2013-02-28 | 2014-09-11 | Toshiba Corp | 半導体記憶装置及びそのコントローラ |
CN108108311A (zh) * | 2013-12-12 | 2018-06-01 | 株式会社日立制作所 | 存储装置及存储装置的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230088099A1 (en) | 2023-03-23 |
TWI770734B (zh) | 2022-07-11 |
US11869601B2 (en) | 2024-01-09 |
CN113764018A (zh) | 2021-12-07 |
TW202147118A (zh) | 2021-12-16 |
TWI841977B (zh) | 2024-05-11 |
JP2021190150A (ja) | 2021-12-13 |
US11545223B2 (en) | 2023-01-03 |
TW202236095A (zh) | 2022-09-16 |
US20210375372A1 (en) | 2021-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216337B2 (en) | Memory system | |
CN113764018B (zh) | 存储器系统以及存储器控制器 | |
US10573394B2 (en) | Memory system | |
US10803959B2 (en) | Memory system including the semiconductor memory and a controller | |
JP5142685B2 (ja) | メモリシステム | |
US20060050314A1 (en) | Memory system which copies successive pages, and data copy method therefor | |
US11514986B2 (en) | Memory system and semiconductor memory device | |
TWI388982B (zh) | 包含具有電荷累積層及控制閘極之記憶胞的半導體記憶裝置及記憶系統 | |
JP2004086991A (ja) | 不揮発性記憶装置 | |
US11231874B2 (en) | Memory system and storage system | |
US10978165B2 (en) | Memory system and non-volatile semiconductor memory | |
JP2019053806A (ja) | メモリシステム、及びメモリシステムの制御方法 | |
CN111863075A (zh) | 半导体存储装置及存储器系统 | |
JP5204069B2 (ja) | 不揮発性半導体記憶装置 | |
TWI709132B (zh) | 記憶體系統 | |
US11645001B2 (en) | Memory system and controlling method of memory system | |
JP2019160379A (ja) | 半導体記憶装置及びメモリシステム | |
TWI738440B (zh) | 記憶體系統 | |
US20240289057A1 (en) | Memory system | |
JP2011243116A (ja) | メモリシステム及びそのデータ転送方法 | |
US20240201903A1 (en) | Semiconductor integrated circuit, semiconductor storage device, and memory system | |
JP2024043938A (ja) | メモリシステム | |
CN116798490A (zh) | 存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |