CN111258793B - 存储器控制器及其操作方法 - Google Patents
存储器控制器及其操作方法 Download PDFInfo
- Publication number
- CN111258793B CN111258793B CN201910863389.5A CN201910863389A CN111258793B CN 111258793 B CN111258793 B CN 111258793B CN 201910863389 A CN201910863389 A CN 201910863389A CN 111258793 B CN111258793 B CN 111258793B
- Authority
- CN
- China
- Prior art keywords
- read
- bit line
- information
- memory
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 397
- 238000000034 method Methods 0.000 title claims abstract description 68
- 238000003860 storage Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 14
- 238000011156 evaluation Methods 0.000 description 93
- 238000010586 diagram Methods 0.000 description 43
- 239000000872 buffer Substances 0.000 description 35
- 238000004891 communication Methods 0.000 description 29
- 239000010410 layer Substances 0.000 description 20
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 238000009826 distribution Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 7
- 238000012937 correction Methods 0.000 description 5
- 230000007423 decrease Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000005684 electric field Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 239000007787 solid Substances 0.000 description 4
- 101150013423 dsl-1 gene Proteins 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 230000003936 working memory Effects 0.000 description 3
- 229920001621 AMOLED Polymers 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 2
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 101150064834 ssl1 gene Proteins 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101000934888 Homo sapiens Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Proteins 0.000 description 1
- 102100025393 Succinate dehydrogenase cytochrome b560 subunit, mitochondrial Human genes 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- 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/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3422—Circuits or methods to evaluate read or write disturbance in nonvolatile memory, without steps to mitigate the problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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
- 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/24—Bit-line control 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Retry When Errors Occur (AREA)
Abstract
本发明提供了一种存储器控制器及其操作方法。该存储器控制器可包括:读取操作控制器,向存储器装置提供读取命令并接收对应于该读取命令的读取数据;读取失败确定器,基于该读取数据来确定读取操作是通过还是失败并且生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;以及读取失败处理器,基于该读取信息来选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,并且控制存储器装置执行所选择的操作。
Description
相关申请的交叉引用
本申请要求于2018年12月3日提交的申请号为10-2018-0153630的韩国专利申请的优先权,该韩国专利申请的全部内容通过引用并入本文。
技术领域
本公开的各个实施例总体涉及一种电子装置,且更特别地,涉及一种存储器控制器和操作存储器控制器的方法。
背景技术
存储装置在诸如计算机、智能手机或智能平板的主机装置的控制下存储数据。根据存储数据的装置,存储装置的示例包括将数据存储在磁盘中的硬盘驱动器(HDD),以及将数据存储在半导体存储器,特别是非易失性存储器中的固态驱动器(SSD)或存储卡。
存储装置可包括存储数据的存储器装置,以及控制数据在存储器装置中的存储的存储器控制器。这种存储器装置可以是易失性存储器或非易失性存储器。非易失性存储器的代表性示例包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、相变随机存取存储器(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)以及铁电RAM(FRAM)。
发明内容
本公开的各个实施例涉及一种处理读取操作失败的存储器控制器及操作存储器控制器的方法。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:读取操作控制器,被配置成当对从存储器装置中包括的多个页面之中选择的页面执行读取操作时,向存储器装置提供读取命令并接收对应于该读取命令的读取数据;读取失败确定器,被配置成基于该读取数据来确定读取操作是通过还是失败,并且生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;以及读取失败处理器,被配置成基于该读取信息来选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,并且控制存储器装置以执行所选择的操作。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:读取操作控制器,被配置成当对从存储器装置中包括的多个页面中选择页面执行读取操作时,向存储器装置提供读取命令并接收对应于该读取命令的读取数据;读取失败确定器,被配置成基于该读取数据来确定读取操作是通过还是失败,并且生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;以及读取失败处理器,被配置成基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,并且控制存储器装置以执行所选择的操作,其中当读取数据中的错误落在可校正范围之外时,读取失败确定器生成读取信息,在该读取信息中指示读取操作失败的信息被包括在读取操作的结果中,其中读取失败处理器包括读取重试表和位线设置表,该读取重试表被配置成包括关于多个读取重试操作的信息,位线设置表被配置成包括关于设置位线的控制时间的操作的信息,其中读取重试表分别包括用于多个读取重试操作的多条读取重试操作信息,其中当读取操作的结果指示读取操作失败时,并且当关于执行读取操作的信息包括指示执行了全部读取重试操作的信息时,读取失败处理器被配置成对所选择页面中的逻辑页面之中的存储最高有效位(MSB)数据的MSB逻辑页面执行读取操作,并且对逻辑页面之中的存储最低有效位(LSB)数据的LSB逻辑页面执行读取操作,其中读取失败处理器被配置成当对MSB逻辑页面的读取操作通过并且对LSB逻辑页面的读取操作失败时,生成位线控制数据以执行设置位线的控制时间的操作,并且其中读取操作控制器基于该位线控制数据来设置位线控制时间,并且此后向存储器装置提供用于执行读取操作的读取命令,并且接收对应于该读取命令的读取数据。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:读取操作控制器,被配置成当对从存储器装置中包括的多个页面中选择的页面执行读取操作时,向存储器装置提供读取命令并接收对应于该读取命令的读取数据;读取失败确定器,被配置成基于该读取数据来确定读取操作是通过还是失败,并且生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;以及读取失败处理器,被配置成基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置对联接到所选择页面的位线的控制时间的操作中的一个,并且控制存储器装置以执行所选择的操作,其中当读取数据中的错误落在可校正范围之外时,读取失败确定器生成读取信息,在该读取信息中,指示读取操作失败的信息被包括在读取操作的结果中,其中读取失败处理器包括读取重试表和位线设置表,该读取重试表被配置成包括关于多个读取重试操作的信息,位线设置表被配置成包括关于设置位线的控制时间的操作的信息,其中读取重试表包括分别用于多个读取重试操作的多条读取重试操作信息,其中当读取操作的结果指示读取操作失败时,并且当关于执行读取操作的信息包括指示执行了全部读取重试操作的信息时,读取失败处理器被配置成对所选择页面中的逻辑页面之中的存储最高有效位(MSB)数据的MSB逻辑页面执行读取操作,并且对逻辑页面之中的存储最低有效位(LSB)数据的LSB逻辑页面执行读取操作,其中读取失败处理器被配置成当对MSB逻辑页面的读取操作通过并且对LSB逻辑页面的读取操作失败时,生成位线控制数据以执行设置位线的控制时间的操作,并且其中该位线控制数据包括关于预充电位线的时间的数据。
本公开的实施例可提供一种存储器控制器。存储器控制器可包括:读取操作控制器,被配置成当对从存储器装置中包括的多个页面中选择的页面执行读取操作时,向存储器装置提供读取命令并接收对应于该读取命令的读取数据;读取失败确定器,被配置成基于该读取数据来确定读取操作是通过还是失败,并且生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;以及读取失败处理器,被配置成基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,并且控制存储器装置以执行所选择的操作,其中当读取数据中的错误落在可校正范围之外时,读取失败确定器生成读取信息,在该读取信息中指示读取操作失败的信息被包括在读取操作的结果中,其中读取失败处理器包括读取重试表和位线设置表,该读取重试表被配置成包括关于多个读取重试操作的信息,位线设置表被配置成包括关于设置位线的控制时间的操作的信息,其中读取重试表包括分别用于多个读取重试操作的多条读取重试操作信息,其中当读取操作的结果指示读取操作失败时,并且当关于执行读取操作的信息包括指示执行了全部读取重试操作的信息时,读取失败处理器被配置成对所选择的页面中的逻辑页面之中存储最高有效位(MSB)数据的MSB逻辑页面执行读取操作,并且对逻辑页面之中存储最低有效位(LSB)数据的LSB逻辑页面执行读取操作,其中读取失败处理器被配置成,当对MSB逻辑页面的读取操作通过并且对LSB逻辑页面的读取操作失败时,生成位线控制数据以执行设置对位线的控制时间的操作,并且其中该位线控制数据包括关于评估位线的时间的数据。
本公开的实施例可提供一种操作存储器控制器的方法。该方法可包括:当对从存储器装置中包括的多个页面之中选择的页面执行读取操作时,向该存储器装置提供读取命令;接收对应于该读取命令的读取数据;基于该读取数据来确定读取操作是通过还是失败;生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;并且基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择的页面的位线的控制时间的操作中的一个。
本公开的实施例可提供一种操作存储器控制器的方法。该方法可包括:当对从存储器装置中包括的多个页面之中选择的页面执行读取操作时,向该存储器装置提供读取命令;接收对应于该读取命令的读取数据;基于该读取数据来确定读取操作是通过还是失败;生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;并且基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,其中生成读取信息包括:当对应于所选择页面的读取数据中包括的错误落在可校正范围之外时,生成被包括在读取操作的结果中的、指示读取操作失败的信息,其中选择包括:当读取操作的结果包括指示读取操作失败的信息时,并且当关于执行读取操作的信息包括指示尚未执行全部读取重试操作的信息时,选择多条读取重试操作信息中的一条,并且控制存储器装置以执行对应于所选择的一条读取重试操作信息的读取重试操作,其中选择包括:当读取操作的结果包括指示读取操作失败的信息时,并且当关于执行读取操作的信息包括指示执行了全部读取重试操作的信息时,对所选择页面中的逻辑页面之中的存储最高有效位(MSB)数据的MSB逻辑页面执行读取操作,并且对逻辑页面之中的存储最低有效位(LSB)数据的LSB逻辑页面执行读取操作,其中选择包括:当对MSB页面的读取操作通过并且对LSB页面的读取操作失败时,生成位线控制数据,该位线控制数据使得存储器装置执行设置位线的控制时间的操作,并且其中生成位线控制数据包括生成关于预充电位线的时间的数据。
本公开的实施例可提供一种操作存储器控制器的方法。该方法可包括:当对从存储器装置中包括的多个页面之中选择的页面执行读取操作时,向该存储器装置提供读取命令;接收对应于该读取命令的读取数据;基于该读取数据来确定读取操作是通过还是失败;生成读取信息,该读取信息包括读取操作的结果和关于执行读取操作的信息;并且基于该读取信息,选择多个读取重试操作之中的待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个,其中生成读取信息包括:当对应于所选择页面的读取数据中包括的错误落在可校正范围之外时,生成被包括在读取操作的结果中的、指示读取操作失败的信息,其中选择包括:当读取操作的结果包括指示读取操作失败的信息时,并且当关于执行读取操作的信息包括指示尚未执行全部读取重试操作的信息时,选择多条读取重试操作信息中的一条,并且控制存储器装置以执行对应于所选择的一条读取重试操作信息的读取重试操作,其中选择包括:当读取操作的结果包括指示读取操作失败的信息时,并且当关于执行读取操作的信息包括指示已执行全部读取重试操作的信息时,对所选择页面中的逻辑页面之中的存储最高有效位(MSB)数据的MSB逻辑页面执行读取操作,并且对逻辑页面之中的存储最低有效位(LSB)数据的LSB逻辑页面执行读取操作,其中选择包括:当对MSB页面的读取操作通过并且对LSB页面的读取操作失败时,生成位线控制数据,该位线控制数据使得存储器装置执行设置位线的控制时间的操作,并且其中生成位线控制数据包括生成关于评估位线的时间的数据。
本公开的实施例可提供一种操作存储器装置的方法。该方法可包括:当对从存储器装置中包括的多个页面之中选择的页面执行读取操作时,确定对所选择页面的读取操作是通过还是失败,并且当该读取操作失败时,选择对所选择页面的读取重试操作和在已设置联接到所选择页面的位线的控制时间之后执行的、对所选择页面的读取操作中的一个。
本公开的实施例可提供一种存储器***。存储器***可包括:存储器装置,包括均联接到位线的最低有效位(LSB)页面和最高有效位(MSB)页面;以及控制器,被配置成控制存储器装置以对LSB和MSB页面执行第一读取操作;当对MSB页面的第一读取操作失败时,控制存储器装置以对MSB页面执行读取重试操作,并且当对LSB页面的第一读取操作失败时,控制存储器装置以通过增加预充电位线的时间和评估位线的时间中的至少一个来对LSB页面执行第二读取操作。
附图说明
图1是示出根据本公开的实施例的存储装置的框图。
图2是示出诸如图1的存储器控制器的示图。
图3是示出诸如图2的读取失败处理器的示图。
图4是示出诸如图1的存储器装置的结构的示图。
图5是示出诸如图4的存储器单元阵列的实施例的示图。
图6是示出图4的存储块BLK1至BLKz中的任意一个存储块BLKa的示例的电路图。
图7是示出图4的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
图8A至图8D是说明多层单元的阈值电压分布的示图。
图9A和图9B是说明读取操作失败的情况的示图。
图10A和图10B是说明硬读取操作失败和软读取操作失败的示图。
图11A至图11D是示出设置位线预充电时间和位线评估时间的方法的示图。
图12是示出当设置位线预充电时间时根据位线预充电时间的位线电压的变化的示图。
图13是示出基于图12的位线电压变化来执行位线评估操作的方法的示图。
图14是示出根据位线评估时间的位线电流变化的示图。
图15是说明诸如图1的存储器装置的引脚配置的示图。
图16是示出存储器控制器改变存储器装置的位线预充电时间或位线评估时间的方法的示图。
图17是示出根据本公开的实施例的存储器控制器的操作的流程图。
图18是示出根据本公开的实施例的存储装置的操作的流程图。
图19是示出根据本公开的实施例的存储装置的操作的流程图。
图20是示出根据本公开的实施例的存储装置的操作的流程图。
图21是示出图1的存储器控制器的实施例的示图。
图22是示出应用根据本公开的实施例的存储装置的存储卡***的框图。
图23是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)***的示例的框图。
图24是示出应用根据本公开的实施例的存储装置的用户***的框图。
具体实施方式
具体的结构和功能描述旨在说明本公开的实施例。然而,这种描述不应被解释为限制本发明。
虽然详细描述了本发明的具体实施例,但本公开的元件和特征可以许多不同的方式来实现以形成其它实施例,这些其它的实施例可以是对任何所公开的实施例的变化或修改。因此,本发明不仅仅限于本文阐述的实施例,而是应当被解释为覆盖落入权利要求范围内的全部的修改方案、等同方案和替代方案。此外,在整个说明书中,对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。
将理解的是,虽然可在本文中使用术语“第一”和/或“第二”来识别各个元件,但是这些元件不应受这些术语的限制。这些术语仅用于将一个元件与另外具有相同或相似名称的另一个元件区分开。例如,在不脱离本公开的教导的情况下,在一个实例中的第一元件在另一实例中可被称为第二元件,反之亦然。
将理解的是,当元件被称为“联接”或“连接”到另一元件时,其可以直接联接或连接到另一元件,或者在其间可存在一个或多个中间元件。相反地,应理解的是,当元件被称为“直接联接”或“直接连接”到另一元件时,不存在中间元件。诸如“在......之间”、“直接在......之间”、“相邻于”或“直接相邻于”的解释元件之间的关系的其它表述应以相同的方式解释。
本文使用的术语仅是为了描述特定实施例的目的,并不旨在限制。在本公开中,除非上下文另有明确说明,否则单数形式也旨在包括复数形式。本申请和所附权利要求书中使用的冠词“一”和“一个”通常应被解释为表示“一个或多个”,除非另有说明或上下文清楚地指明单数形式。将进一步理解的是,当在本说明书中使用时,开放式术语“包括”、“包含”、“具有”等指示存在所陈述的特征、整数、步骤、操作、元件、组件和/或其组合,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元件、组件和/或其组合。
除非另有定义,否则本文使用的包括技术术语和科学术语的全部术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。将进一步理解的是,本文使用的术语应当被解释为具有与其在本说明书和相关技术语境中的含义一致的含义,并且将不以理想化或过于正式的意义来解释,除非本文中明确地这样定义。
将省略对本领域技术人员公知的功能和结构的详细描述,以避免模糊本公开的主题。这旨在使公开的主题更加清晰。
现将参照附图更全面地描述本公开的各个实施例,其中示出了本公开的优选实施例,使得本领域技术人员能够容易地实施本发明。
图1是示出根据本公开的实施例的存储装置的框图。
参照图1,存储装置50可包括存储器装置100和存储器控制器200。
存储装置50可在主机300的控制下存储数据,并且主机300可例如包括移动电话、智能电话、MP3播放器、膝上型计算机、台式计算机、游戏机、电视(TV)、平板PC或车载信息娱乐***。
根据作为与主机300的通信方案的主机接口,存储装置50可被配置成各种类型的存储装置中的任何一种。例如,存储装置50可被实施为例如以下的各种类型的存储装置中的任意一种:固态驱动器(SSD),诸如MMC、嵌入式MMC(eMMC)、缩小尺寸的MMC(RS-MMC)或微型MMC的多媒体卡,诸如SD、迷你SD和微型SD的安全数字卡,通用串行总线(USB)存储装置,通用闪存(UFS)装置,个人计算机存储卡国际协会(PCMCIA)卡型存储装置,***组件互连(PCI)卡型存储装置,高速PCI(PCI-E)卡型存储装置,紧凑式闪存(CF)卡,智能媒体卡和记忆棒。
存储装置50可以诸如以下的各种类型的封装形式中的任意一种制造:堆叠封装(POP)、***级封装(SIP)、片上***(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶圆级制造封装(WFP)以及晶圆级堆叠封装(WSP)。
存储器装置100可存储数据。存储器装置100响应于存储器控制器200的控制来进行操作。存储器装置100可包括存储器单元阵列,该存储器单元阵列包括存储数据的多个存储器单元。存储器单元阵列可包括多个平面。每个平面可包括多个存储块BLK1至BLKz。每个存储块可包括多个存储器单元。单个存储块可包括多个页面。在实施例中,页面可以是将数据存储在存储器装置100中的单位,或者是读取存储器装置100中存储的数据的单位。存储块可以是擦除数据的单位。在实施例中,存储器装置100可采用诸如以下的各种可选形式中的任意一种:双倍数据速率同步动态随机存取存储器(DDR SDRAM)、低功率双倍数据速率***(LPDDR4)SDRAM、图形双倍数据速率(GDDR)SDRAM、低功率DDR(LPDDR)SDRAM、Rambus动态随机存取存储器(RDRAM)、NAND闪速存储器、垂直NAND闪速存储器、NOR闪速存储器装置、电阻式RAM(RRAM)、相变存储器(PRAM)、磁阻RAM(MRAM)、铁电RAM(FRAM)或自旋转移力矩RAM(STT-RAM)。作为示例,在本说明书的上下文中,存储器装置100是NAND闪速存储器。
在实施例中,存储器装置100可被实施为三维(3D)阵列结构。本公开不仅也可应用于其中电荷存储层由导电浮栅(FG)形成的闪速存储器,而且还可应用于其中电荷存储层由绝缘层形成的电荷撷取闪速(CTF)存储器装置。
在实施例中,存储器装置100中包括的存储器单元中的每一个可被实施为存储一个数据位的单层单元(SLC)。可选地,存储器装置100中包括的存储器单元中的每一个可被实施为存储两个数据位的多层单元(MLC)、存储三个数据位的三层单元(TLC)或存储四个数据位的四层单元(QLC)。
存储器装置100可从存储器控制器200接收命令和地址,并且可访问存储器单元阵列中的由地址选择的区域。也就是说,存储器装置100对由地址选择的区域执行对应于命令的操作。例如,存储器装置100可执行写入操作(即,编程操作)、读取操作和擦除操作。在编程操作期间,存储器装置100可将数据编程到由地址选择的区域。在读取操作期间,存储器装置100可从由地址选择的区域读取数据。在擦除操作期间,存储器装置100可擦除在由地址选择的区域中存储的数据。
在实施例中,存储器装置100可包括位线设置器126。为了使存储器装置100执行特定操作,位线设置器126可执行设置位线的操作。详细地,位线设置器126可设置待施加到位线的电压。在实施例中,位线设置器126可设置将电压施加到位线的时间。而且,位线设置器126可设置评估位线的时间。位线设置信息可存储在存储器装置100中的寄存器中。
存储器装置100可在存储器控制器200的控制下,使用设定操作电压来执行编程操作或擦除操作。
存储器控制器200可控制存储装置50的全部操作。
当向存储装置50供电时,存储器控制器200可运行固件。当存储器装置100为闪速存储器装置时,存储器控制器200可运行诸如闪存转换层(FTL)的固件,以控制主机300和存储器装置100之间的通信。
在实施例中,存储器控制器200可从主机300接收数据和逻辑块地址(LBA),并且将逻辑块地址(LBA)转换为物理块地址(PBA),物理块地址(PBA)指示存储器装置100中的待存储数据的存储器单元的地址。进一步地,存储器控制器200可将配置逻辑块地址(LBA)与物理块地址(PBA)之间的映射关系的逻辑-物理地址映射表存储在缓冲存储器中。
存储器控制器200可控制存储器装置100,从而响应于从主机300接收的请求来执行编程操作、读取操作或擦除操作。在编程操作期间,存储器控制器200可向存储器装置100提供编程命令、物理块地址(PBA)和数据。在读取操作期间,存储器控制器200可向存储器装置100提供读取命令和物理块地址(PBA)。在擦除操作期间,存储器控制器200可向存储器装置100提供擦除命令和物理块地址(PBA)。
在实施例中,存储器控制器200可在没有从主机300接收请求的情况下自主地生成编程命令、地址和数据,并且可将所生成的编程命令、地址和数据传输到存储器装置100。例如,存储器控制器200可向存储器装置100提供命令、地址和数据以执行后台操作,诸如用于损耗均衡的编程操作和用于垃圾收集的编程操作。
在实施例中,存储器控制器200可包括读取操作控制器210。读取操作控制器210可控制存储器装置100,使得存储器装置100能够执行读取操作。详细地,读取操作控制器210可向存储器装置100提供读取命令READ_CMD以用于读取操作。作为对存储器装置100的读取操作的结果,可从存储器装置100向读取操作控制器210提供读取数据READ_DATA。从存储器装置100提供的读取数据READ_DATA可被提供到读取失败确定器220。
在实施例中,存储器控制器200可包括读取失败确定器220。读取失败确定器220可确定由存储器装置100执行的读取操作是通过还是失败。读取操作的通过可表示读取操作成功。而且,读取操作的失败可表示读取操作失败。
读取失败确定器220可基于从存储器装置100接收的读取数据READ_DATA来确定读取操作是通过还是失败。也就是说,读取失败确定器220可基于读取数据READ_DATA来确定读取操作是成功(通过)还是失败。读取失败确定器220可向读取失败处理器230提供确定读取操作是通过还是失败的结果。读取失败确定器220可生成读取信息READ_INF,该读取信息READ_INF包括通过/失败结果和关于执行读取操作的信息两者。读取失败确定器220可向读取失败处理器230提供读取信息READ_INF。
在实施例中,存储器控制器200可包括读取失败处理器230。当确定读取操作失败时,读取失败处理器230可设置下一读取操作。下一读取操作可以是读取重试操作。在实施例中,可执行设置位线的控制时间的操作。可设置位线控制时间,并且可基于所设置的控制时间来执行读取操作。
在实施例中,存储器控制器200可控制至少两个存储器装置100。在这种情况下,存储器控制器200可根据交错方案来控制存储器装置100,以提高操作性能。
主机300可使用诸如以下的各种通信方法中的至少一种来与存储装置50通信:通用串行总线(USB)通信方法、串行AT附件(SATA)通信方法、串列SCSI(SAS)通信方法、高速芯片间(HSIC)通信方法、小型计算机***接口(SCSI)通信方法、***组件互连(PCI)通信方法、高速PCI(PCIe)通信方法、高速非易失性存储器(NVMe)通信方法、通用闪存(UFS)通信方法、安全数字(SD)通信方法、多媒体卡(MMC)通信方法、嵌入式MMC(eMMC)通信方法、双列直插式存储器模块(DIMM)通信方法、寄存式DIMM(RDIMM)通信方法以及低负载DIMM(LRDIMM)通信方法。
图2是示出图1的存储器控制器200的示图。
参照图2,存储器控制器200可包括读取操作控制器210、读取失败确定器220和读取失败处理器230。
在实施例中,存储器控制器200可包括读取操作控制器210。读取操作控制器210可执行与从主机300接收的读取请求相对应的读取操作。当对从存储器装置100中包括的多个页面中选择的页面执行读取操作时,读取操作控制器210可向存储器装置100提供读取命令READ_CMD。
读取操作控制器210可接收对应于读取命令的读取数据READ_DATA。当存储器装置100执行读取操作时,可获得读取数据READ_DATA。基于从存储器装置100获得的读取数据READ_DATA,可确定读取操作是通过还是失败。读取操作的通过可表示读取操作成功。而且,读取操作的失败可表示读取操作失败。读取操作控制器210可向读取失败确定器220提供读取数据READ_DATA。
在实施例中,存储器控制器200可包括读取失败确定器220。读取失败确定器220可从读取操作控制器210接收读取数据READ_DATA。读取失败确定器220可基于读取数据READ_DATA来确定读取操作是通过还是失败。也就是说,读取失败确定器220可基于读取数据READ_DATA来确定读取操作是成功还是失败。
读取失败确定器220可生成读取信息READ_INF,该读取信息READ_INF包括通过基于读取数据READ_DATA来确定读取操作通过或失败而获得的读取操作的确定结果,以及关于执行读取操作的信息。读取操作的确定结果(读取操作确定结果)可包括指示读取操作是通过还是失败的信息。关于执行读取操作的信息(读取操作执行信息)可包括关于由于读取操作失败而执行的读取重试操作的数量的信息以及关于执行读取操作的读取电压的信息。
详细地,当对应于所选择页面的读取数据READ_DATA中包括的错误落在可校正范围外时,读取失败确定器220可确定读取操作失败。相反,当对应于所选择页面的读取数据READ_DATA中包括的错误落在可校正范围内时,读取失败确定器220可确定读取操作成功(通过)。
详细地,当对应于所选择页面的读取数据READ_DATA中包括的错误落在可校正范围外时,读取失败确定器220可生成包括关于读取操作失败的信息的读取信息READ_INF。详细地,读取失败确定器220可生成关于读取操作失败的信息被包括在读取操作确定结果中的读取信息READ_INF。
在实施例中,存储器控制器200可包括读取失败处理器230。可从读取失败确定器220向读取失败处理器230提供读取信息READ_INF。读取信息READ_INF可包括读取操作确定结果和读取操作执行信息两者。
读取失败处理器230可基于读取信息READ_INF,选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。可以以与执行失败的读取操作时使用的电压电平不同的电压电平来执行读取重试操作。可在读取操作失败后执行设定次数或预定次数的读取重试操作。
详细地,当选择读取重试操作时,读取失败处理器230可向读取操作控制器210提供读取电压设置信息VREAD_INF,该读取电压设置信息VREAD_INF包括关于读取电压的电平的信息。当选择设置位线控制时间操作时,读取失败处理器230可向存储器装置100提供位线控制数据BLCTRL_DATA。
下面将参照图3更详细地描述读取失败处理器230。
图3是示出图2的读取失败处理器230的示图。
参照图3,读取失败处理器230可包括读取操作决定组件231、读取重试表232和位线设置表233。
当由读取失败确定器220提供的读取信息READ_INF包括关于读取操作失败的信息时,读取操作决定组件231可决定下一读取操作。下一读取操作可以是对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。当读取操作决定组件231选择设置位线的控制时间的操作时,存储器装置100可基于所设置的控制时间来执行读取操作。
读取操作决定组件231可在不考虑先前执行的读取操作的情况下,选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。因此,当先前执行的读取操作失败时,存储器装置100可执行读取重试操作。可选地,当先前执行的读取操作失败时,存储器装置100可设置位线的控制时间,然后可基于所设置的位线控制时间来再次执行读取操作。
读取操作决定组件231可基于先前执行的读取操作,来选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。
详细地,读取操作确定结果可包括关于读取操作失败的信息,并且读取操作执行信息可包括指示以下的信息:基于读取重试表232中包括的多条读取重试操作信息,尚未执行全部读取重试操作。基于多条读取重试操作信息的读取重试操作可以是待在读取操作失败之后立即执行的读取操作。待在读取操作失败之后执行的读取重试操作可具有优先级。读取重试操作的优先级可根据先前读取电压来确定。使用从先前读取电压逐渐减少(或增加)的读取电压来执行读取重试操作。也就是说,读取重试操作的优先级可以是利用逐渐减少(或增加)的读取电压来执行的读取操作的序列。此外,读取重试操作的优先级可以是预定的,并且读取重试操作的优先级可以不因读取重试操作而改变。当相应的读取操作失败时,可根据读取重试操作的优先级来执行读取重试操作。
读取操作确定结果可包括关于读取操作失败的信息,并且读取操作执行信息可包括指示以下的信息:基于读取重试表232中包括的多条读取重试操作信息,尚未执行全部读取重试操作。在这种情况下,读取操作决定组件231可从多条读取重试操作信息之中选择一条读取重试操作信息,并且可执行控制,使得存储器装置100根据所选择的一条读取重试操作信息来执行读取重试操作。存储器装置100可根据读取重试表232中的多条读取重试操作信息,根据读取重试操作的优先级来执行读取重试操作,直到读取重试操作通过或者直到达到了读取重试操作的最大数量,即未成功执行全部读取重试操作。
当对所选择页面的全部读取重试操作都失败时,读取操作决定组件231可执行控制,使得存储器装置100执行设置联接到所选择页面的位线的控制时间的操作。在已执行设置位线控制时间的操作之后,存储器装置100可基于所设置的控制时间来执行读取操作。
当决定对所选择页面执行哪个读取重试操作时,读取操作决定组件231可生成读取重试信息RRT_INF。读取重试信息RRT_INF可包括关于在根据由读取重试表232中包括的多条读取重试操作信息指示的多个读取重试操作的优先级而可用的多个读取重试操作之中的、先前执行的读取重试操作的信息。
读取操作决定组件231可向读取重试表232提供读取重试信息RRT_INF。读取重试表232可包括关于各自的读取重试操作的多条读取重试操作信息。多条读取重试操作信息可包括各自的待用于执行读取重试操作的、不同电平的读取电压。也就是说,读取重试表232可存储用于读取重试操作的多条读取电压信息。读取重试表232可存储根据其优先级而待被执行的读取重试操作的读取电压信息。
读取重试表232可向读取操作控制器210提供读取电压设置信息VREAD_INF,以便执行可用读取重试操作之中的下一读取重试操作。读取电压设置信息VREAD_INF可包括关于下一读取重试操作的读取操作电压的信息。读取操作控制器210可基于读取电压设置信息VREAD_INF来向存储器装置100提供读取命令。
因此,读取失败处理器230可从多条读取重试操作信息之中选择一条读取重试操作信息,以便执行所选择的读取重试操作,并且可生成读取电压设置信息VREAD_INF,以用于决定与所选择的读取重试操作信息相对应的读取电压。读取失败处理器230可将所生成的读取电压设置信息VREAD_INF提供到读取操作控制器210。为了使用读取电压设置信息VREAD_INF中的读取电压来执行读取重试操作,读取操作控制器210可向存储器装置100提供读取命令。
在实施例中,读取操作确定结果可包括关于读取操作失败的信息,并且读取操作执行信息可包括指示以下的信息:根据读取重试表232中的多条读取重试操作信息,已经执行了全部读取重试操作。在这种情况下,读取操作决定组件231可选择设置联接到所选择页面的位线的控制时间的操作。当选择设置位线控制时间的操作时,读取操作决定组件231可生成位线信息BL_INF。位线信息BL_INF可包括关于读取操作失败时的预充电位线的时间(位线预充电时间)和评估位线的时间(位线评估时间)的信息。读取操作决定组件231可向位线设置表233提供位线信息BL_INF。
位线设置表233可存储关于将在下一读取操作期间应用的位线预充电时间和位线评估时间的信息。
除非充分确保位线预充电时间或位线评估时间,否则可能在感测位线的电压或电流期间发生错误。因此,需要充分确保位线预充电时间和位线评估时间。
位线设置表233可存储关于最佳位线预充电时间和最佳位线评估时间的信息,其中最佳位线预充电时间和最佳位线评估时间使得每个存储器单元通过读取操作。对于每个存储器单元,最佳位线预充电时间和最佳位线评估时间可能不同。也就是说,根据每个存储器单元的温度、所执行的编程和擦除操作的数量等,最佳位线预充电时间和最佳位线评估时间可能不同。
因此,位线设置表233可生成位线控制数据BLCTRL_DATA,该位线控制数据BLCTRL_DATA增加位线信息BL_INF中指定的位线预充电时间和/或增加位线信息BL_INF中指定的位线评估时间。位线控制数据BLCTRL_DATA中包括的用于设置位线预充电时间和/或位线评估时间的数据可以是用于设置使得每个存储器单元通过读取操作的最佳时间的数据。
位线设置表233可向存储器装置100提供位线控制数据BLCTRL_DATA。位线控制数据BLCTRL_DATA可响应于设置参数命令而存储在存储器装置100中。
图4是示出图1的存储器装置100的结构的示图。
参照图4,存储器装置100可包括存储器单元阵列110、***电路120和控制逻辑125。
存储器单元阵列110包括多个存储块BLK1至BLKz。存储块BLK1至BLKz通过行线RL联接到地址解码器121,并且通过位线BL1至BLm联接到读取和写入电路123。存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元可以是非易失性存储器单元。
存储器单元阵列110中包括的存储器单元可根据其使用目的而被分组为多个块。与控制存储器装置100所需的各种类型的设置信息相对应的***信息可存储在多个块中。
第一至第z存储块BLK1至BLKz中的每一个包括多个单元串。第一至第m单元串分别联接到第一至第m位线BL1至BLm。第一至第m单元串中的每一个包括漏极选择晶体管、多个串联联接的存储器单元和源极选择晶体管。漏极选择晶体管DST联接到漏极选择线DSL。第一至第n存储器单元分别联接到第一至第n字线WL1至WLn。源极选择晶体管SST联接到源极选择线SSL。漏极选择晶体管DST的漏极联接到相应的位线。第一至第m单元串的漏极选择晶体管分别联接到第一至第m位线BL1至BLm。源极选择晶体管SST的源极联接到共源线CSL。在实施例中,共源线CSL可共同联接到第一至第z存储块BLK1至BLKz。行线RL中包括漏极选择线DSL、第一至第n字线WL1至WLn以及源极选择线SSL。由地址解码器121控制漏极选择线DSL、第一至第n字线WL1至WLn以及源极选择线SSL。由控制逻辑125控制共源线CSL。由读取和写入电路123控制第一至第m位线BL1至BLm。
***电路120可包括地址解码器121、电压生成器122、读取和写入电路123、数据输入/输出电路124以及控制逻辑125。
地址解码器121通过行线RL联接到存储器单元阵列110。地址解码器121可在控制逻辑125的控制下操作。地址解码器121通过控制逻辑125接收地址ADDR。
在实施例中,基于页面来执行存储器装置100的编程操作和读取操作中的每一个。
在编程操作和读取操作期间,由控制逻辑125接收的地址ADDR可包括块地址和行地址。地址解码器121可对接收到的地址ADDR中的块地址进行解码。地址解码器121响应于经解码的块地址来选择存储块BLK1至BLKz中的一个。
地址解码器121可对接收到的地址ADDR中的行地址进行解码。响应于经解码行地址,地址解码器121将从电压生成器122提供的电压施加到行线RL,然后选择所选择存储块的一个字线。
在擦除操作期间,地址ADDR包括块地址。地址解码器121可对块地址进行解码,并响应于经解码的块地址来选择一个存储块。可对一个存储块的全部或部分执行擦除操作。
在部分擦除操作期间,地址ADDR可包括块地址和行地址。地址解码器121响应于经解码的块地址来选择存储块BLK1至BLKz中的一个。
地址解码器121可对接收到的地址ADDR中的行地址进行解码。响应于经解码的行地址,地址解码器121将电压生成器122提供的电压施加到行线RL,然后选择所选择存储块的至少一个字线。
在实施例中,地址解码器121可包括块解码器、字线解码器、地址缓冲器等。
电压生成器122可使用提供到存储器装置100的外部电源电压来生成多个电压。电压生成器122在控制逻辑125的控制下操作。
在实施例中,电压生成器122可通过调节外部电源电压来生成内部电源电压。由电压生成器122生成的内部电源电压被用作存储器装置100的操作电压。
在实施例中,电压生成器122可使用外部电源电压或内部电源电压来生成多个电压。例如,电压生成器122可包括用于接收内部供给电压的多个泵浦电容器,并且可在控制逻辑125的控制下通过选择性地启用多个泵浦电容器来生成多个电压。将所生成的电压施加到由地址解码器121选择的字线。
在编程操作期间,电压生成器122可生成高电压编程脉冲和低于该编程脉冲的通过脉冲。在读取操作期间,电压生成器122可生成读取电压和高于该读取电压的通过电压。在擦除操作期间,电压生成器122可生成擦除电压。
读取和写入电路123包括第一页面缓冲器PB1至第m页面缓冲器PBm。第一至第m页面缓冲器PB1至PBm分别通过第一至第m位线BL1至BLm联接到存储器单元阵列110。第一页面缓冲器PB1至第m页面缓冲器PBm在控制逻辑125的控制下操作。
第一页面缓冲器PB1至第m页面缓冲器PBm与数据输入/输出电路124进行数据通信。在编程操作期间,第一页面缓冲器PB1至第m页面缓冲器PBm通过数据输入/输出电路124和数据线DL而接收待存储的数据DATA。
在编程操作期间,当编程脉冲被施加到每个所选择字线时,第一页面缓冲器PB1至第m页面缓冲器PBm可通过位线BL1至BLm将通过数据输入/输出电路124接收的数据传输到所选择存储器单元。基于所传输的数据对所选择页面中的存储器单元进行编程。联接到施加有编程许可电压(例如,接地电压)的位线的存储器单元可具有增加的阈值电压。联接到施加有编程禁止电压(例如,电源电压)的位线的存储器单元的阈值电压可被保持。在编程验证操作期间,第一至第m页面缓冲器可通过位线BL1至BLm而从所选择存储器单元读取页面数据。
在读取操作期间,读取和写入电路123可通过位线BL从所选择页面中的存储器单元读取数据,并将读取的数据输出到数据输入/输出电路124。在擦除操作期间,读取和写入电路123可使位线BL浮置。
在实施例中,读取和写入电路123可包括列选择电路。
数据输入/输出电路124通过数据线DL联接到第一至第m页面缓冲器PB1至PBm。数据输入/输出电路124响应于控制逻辑125的控制来操作。在编程操作期间,数据输入/输出电路124从外部控制器(未示出)接收待存储的数据DATA。
控制逻辑125联接到地址解码器121、电压生成器122、读取和写入电路123以及数据输入/输出电路124。控制逻辑125可控制存储器装置100的全部操作。控制逻辑125从外部控制器接收命令CMD和地址ADDR。控制逻辑125可响应于命令CMD来控制地址解码器121、电压生成器122、读取和写入电路123以及数据输入/输出电路124。
在实施例中,控制逻辑125可包括位线设置器126。
当读取操作决定组件231选择用于设置联接到所选择页面的位线的控制时间的操作时,位线设置器126可设置将预充电位线的时间(位线预充电时间)和/或将评估位线的时间(位线评估时间)。
在实施例中,存储器装置100可使用设置参数命令,将设置对应于位线控制数据BLCTRL_DATA的位线预充电时间和位线评估时间的数据存储在寄存器中。
位线设置器126可设置当在读取操作失败后执行后续读取操作时的位线预充电时间和/或位线评估时间。位线设置器126可使用寄存器中存储的数据来设置位线预充电时间和/或位线评估时间。
图5是示出图4的存储器单元阵列的实施例的示图。
参照图5,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可具有三维(3D)结构。每个存储块包括堆叠在衬底上的多个存储器单元。这种存储器单元布置在正X(+X)方向、正Y(+Y)方向和正Z(+Z)方向上。下面将参照图6和图7详细地描述每个存储块的结构。
图6是示出图4的存储块BLK1至BLKz中的任意一个存储块BLKa的电路图。
参照图6,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串布置在行方向(即正(+)X方向)上。在图6中,示出两个单元串布置在列方向(即正(+)Y方向)上。然而,该图示是为了清楚,并且将理解的是,三个或更多个单元串可布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可分别具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可为每个单元串设置用于提供沟道层的柱。在实施例中,可为每个单元串设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在共源线CSL与存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管联接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管联接到不同的源极选择线。在图6中,第一行中的单元串CS11至CS1m的源极选择晶体管联接到第一源极选择线SSL1。第二行中的单元串CS21至CS2m的源极选择晶体管联接到第二源极选择线SSL2。
在实施例中,单元串CS11至CS1m和CS21至CS2m的源极选择晶体管可共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn联接在源极选择晶体管SST和漏极选择晶体管DST之间。
第一至第n存储器单元MC1至MCn可被分组到第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn。第一至第p存储器单元MC1至MCp顺序地布置在负(-Z)方向上,并且串联连接在源极选择晶体管SST和管道晶体管PT之间。第p+1存储器单元MCp+1至第n存储器单元MCn顺序地布置在+Z方向上,并且串联连接在管道晶体管PT和漏极选择晶体管DST之间。第一至第p存储器单元MC1至MCp和第p+1至第n存储器单元MCp+1至MCn通过管道晶体管PT而彼此联接。每个单元串的第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的管道晶体管PT的栅极联接到管线PL。
每个单元串的漏极选择晶体管DST连接在对应位线和存储器单元MCp+1至MCn之间。行方向上的单元串联接到在行方向上延伸的漏极选择线。第一行中的单元串CS11至CS1m的漏极选择晶体管联接到第一漏极选择线DSL1。第二行中的单元串CS21至CS2m的漏极选择晶体管联接到第二漏极选择线DSL2。
在列方向上布置的单元串联接到在列方向上延伸的位线。在图6中,第一列中的单元串CS11和CS21联接到第一位线BL1。第m列中的单元串CS1m和CS2m联接到第m位线BLm。
布置在行方向上的单元串中的、联接到相同字线的存储器单元构成单个页面。例如,第一行的单元串CS11至CS1m中的、联接到第一字线WL1的存储器单元构成单个页面。第二行的单元串CS21至CS2m中的、联接到第一字线WL1的存储器单元构成单个另外页面。可通过选择漏极选择线DSL1和DSL2中的任意一个来选择布置在单个行的方向上的单元串。可通过选择字线WL1至WLn中的任意一个来从所选择单元串之中选择单个页面。
在实施例中,可设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。此外,在行方向上布置的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可分别联接到偶数位线,在行方向上布置的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚设存储器单元。例如,设置虚设存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,设置虚设存储器单元以减少漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着设置更多的虚设存储器单元,存储块BLKa的操作可靠性提高,但存储块BLKa的大小增加。随着设置更少的存储器单元时,存储块BLKa的大小减少,但存储块BLKa的操作可靠性可能劣化。
为了有效地控制虚设存储器单元,虚设存储器单元中的每一个可具有需要的阈值电压。在执行存储块BLKa的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在已经执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,因此虚设存储器单元可具有所需的阈值电压。
图7是示出图4的存储块BLK1至BLKz中的任意一个存储块BLKb的示例的电路图。
参照图7,存储块BLKb包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个在正Z(+Z)方向上延伸。单元串CS11'至CS1m'和CS21'至CS2m'中的每一个包括堆叠在存储块BLKb下方的衬底(未示出)上的至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
每个单元串的源极选择晶体管SST连接在共源线CSL和存储器单元MC1至MCn之间。布置在相同行中的单元串的源极选择晶体管联接到相同的源极选择线。布置在第一行中的单元串CS11'至CS1m'的源极选择晶体管联接到第一源极选择线SSL1。布置在第二行中的单元串CS21'至CS2m'的源极选择晶体管联接到第二源极选择线SSL2。在实施例中,单元串CS11'至CS1m'和CS21'至CS2m'的源极选择晶体管可共同联接到单个源极选择线。
每个单元串中的第一至第n存储器单元MC1至MCn串联连接在源极选择晶体管SST和漏极选择晶体管DST之间。第一至第n存储器单元MC1至MCn的栅极分别联接到第一至第n字线WL1至WLn。
每个单元串的漏极选择晶体管DST连接在相应位线和存储器单元MC1至MCn之间。布置在行方向上的单元串的漏极选择晶体管联接到在行方向上延伸的漏极选择线。第一行的单元串CS11'至CS1m'的漏极选择晶体管联接到第一漏极选择线DSL1。第二行的单元串CS21'至CS2m'的漏极选择晶体管联接到第二漏极选择线DSL2。
因此,除从每个单元串中排除管道晶体管PT之外,图7的存储块BLKb具有与图6的存储块BLKa的电路相似或等效的电路。
在实施例中,可设置偶数位线和奇数位线来代替第一位线BL1至第m位线BLm。此外,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的偶数编号的单元串可分别联接到偶数位线,在行方向上布置的单元串CS11'至CS1m'或CS21'至CS2m'之中的奇数编号的单元串可分别联接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的一个或多个可用作虚设存储器单元。例如,设置虚设存储器单元以减少源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,设置虚设存储器单元以减少漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着设置更多的虚设存储器单元,存储块BLKb的操作可靠性提高,但存储块BLKb的大小增加。随着设置更少的虚设存储器单元,存储块BLKb的大小减少,但存储块BLKb的操作的可靠性可能劣化。
为了有效地控制虚设存储器单元,虚设存储器单元中的每一个可具有需要的阈值电压。在执行存储块BLKb的擦除操作之前或之后,可对全部或部分虚设存储器单元执行编程操作。当在已经执行编程操作之后执行擦除操作时,虚设存储器单元的阈值电压控制施加到与各个虚设存储器单元联接的虚设字线的电压,因此虚设存储器单元可具有所需的阈值电压。
图8A至图8D是说明多层单元的阈值电压分布的示图。
参照图8A至图8D,横轴表示存储器单元的阈值电压,纵轴表示存储器单元的数量。
存储器装置可基于页面来执行编程操作。联接到单个字线的多个存储器单元可构成单个物理页面。物理页面可以是编程操作或读取操作的单位。
存储器装置可根据待存储的数据来编程与从多个字线之中选择的字线联接的存储器单元。
如图8A所示,在执行编程操作之前,作为联接到所选择字线的存储器单元的所选择存储器单元可具有对应于擦除状态E的阈值电压分布。
当存储器单元存储1位数据时,存储器单元可被编程为具有对应于擦除状态E和编程状态P中的一个的阈值电压。
擦除状态E可对应于数据“1”,并且编程状态P可对应于数据“0”。然而,这种位指定仅仅是示例。在另一实施例中,擦除状态E可对应于数据“0”,并且编程状态P可对应于数据“1”。
如图8B所示,当编程操作终止时,所选择存储器单元中的每一个可具有对应于擦除状态E和编程状态P中的一个的阈值电压。存储器装置100可通过使用擦除状态E和编程状态P之间的读取电压VR执行读取操作,来读取所选择存储器单元中存储的数据。
当每个存储器单元存储2位数据时,存储器单元可以被重新编程为具有如图8C所示的阈值电压分布。详细地,可将存储器单元编程为具有与擦除状态E、第一编程状态P1、第二编程状态P2和第三编程状态P3中的任意一个相对应的阈值电压。
擦除状态E可对应于数据“11”,第一编程状态P1可对应于“10”,第二编程状态P2可对应于数据“00”,并且第三编程状态P3可对应于数据“01”。然而,这些数据表示仅仅是示例;可使用其它表示。
如图8C所示,当编程操作终止时,所选择存储器单元中的每一个可具有与擦除状态E、第一编程状态P1、第二编程状态P2和第三编程状态P3中的任意一个相对应的阈值电压。存储器装置可通过使用第一读取电压VR1至第三读取电压VR3执行读取操作,来读取所选择存储器单元中存储的数据。
此处,第一读取电压VR1可具有用于区分擦除状态E和第一编程状态P1的值,第二读取电压VR2可具有用于区分第一编程状态P1和第二编程状态P2的值,并且第三读取电压VR3可具有用于区分第二编程状态P2和第三编程状态P3的值。
参照图8D,联接到单个字线的多个存储器单元可构成多个逻辑页面。在多层单元的情况下,多个逻辑页面可包括高位(即,最高有效位:MSB)页面S801和低位(即,最低有效位:LSB)页面S803。MSB页面S801可存储MSB数据,并且LSB页面S803可存储LSB数据。
可对MSB页面S801编程,使得将擦除状态E和第一编程状态P1区别于第二编程状态P2和第三编程状态P3。也就是说,在MSB页面S801中,擦除状态E和第一编程状态P1可对应于数据“1”,并且第二编程状态P2和第三编程状态P3可对应于数据“0”。
可对LSB页面S803编程,使得将擦除状态E区别于第一编程状态P1。而且,可对LSB页面S803编程,使得将第二编程状态P2区别于第三编程状态P3。
为了区分MSB页面S801的编程状态,可使用第二读取电压VR2来执行读取操作。进一步地,为了区分LSB页面S803的编程状态,可使用第一读取电压VR1和第三读取电压VR3来执行读取操作。使用第一读取电压VR1和第三读取电压VR3执行的读取操作的结果可使用异或(XOR)运算来导出。可基于导出结果来将存储器单元的编程状态彼此区分。
图9A和图9B是说明读取操作失败的情况的示图。
参照图9A和图9B,横轴表示存储器单元的阈值电压,纵轴表示存储器单元的数量。存储器单元的阈值电压分布可根据存储器单元的温度以及所执行的编程操作和擦除操作的数量而变化。
图9A示出处于擦除状态E的存储器单元的阈值电压分布变宽的情况。当阈值电压分布变宽时,处于擦除状态E的存储器单元可能被读取为处于编程状态P。详细地,在图9A中,当使用读取电压VR读取所选择页面时,S901中包括的存储器单元可能被读取为处于编程状态P。即使S901中包括的存储器单元处于擦除状态E,它们也可能被读取为处于编程状态P。
当在所选择页面中包括的S901中分布的存储器单元的数量落在可错误校正范围外时,读取操作可能失败。在这种情况下,存储器装置100可通过读取重试操作使用新读取电压来读取所选择页面。新读取电压可以是用于读取擦除状态E和编程状态P的电压。当执行读取重试操作时,读取操作可能通过。
在执行读取重试操作之前或之后,存储器装置100可设置使读取操作能够通过的最佳位线预充电时间和最佳位线评估时间。除非充分确保位线预充电时间和/或位线评估时间,否则可能在感测位线的电压或电流的过程中发生错误。因此,在执行读取重试操作之前或之后,存储器装置100可相对于先前的位线预充电时间和/或先前的位线评估时间来延长位线预充电时间和/或位线评估时间。在设置位线预充电时间和/或位线评估时间之后,所设置的位线预充电时间和/或位线评估时间中的任一个可比先前使用的位线预充电时间和/或位线评估时间更长,存储器装置100可根据新设置的位线预充电时间和/或新设置的位线评估时间来执行读取操作。
图9B示出处于擦除状态E和编程状态P的存储器单元的阈值电压分布变宽的情况。当阈值电压分布变宽时,处于擦除状态E的存储器单元可能被读取为处于编程状态P。而且,处于编程状态P的存储器单元可能被读取为处于擦除状态E。详细地,即使S903中包括的存储器单元中的一些处于擦除状态E,它们也可能被读取为处于编程状态P。进一步地,即使S903中包括的存储器单元的一些处于编程状态P,它们也可能被读取为处于擦除状态E。因此,为了使存储器装置100执行正常的读取操作,可设置最佳读取电压VR。也就是说,可设置用于使S903情况的发生最小化的读取电压VR,其中在S903情况中处于擦除状态E的存储器单元被读取为处于编程状态P以及处于编程状态P的存储器单元被读取为处于擦除状态E。
当重置读取电压VR时,存储器装置100可执行读取重试操作。在已执行读取重试操作之后,可对已发生错误的存储器单元进行错误校正。当已发生错误的存储器单元的数量落在可错误校正的范围外时,读取操作可能再次失败。当读取操作再次失败时,可将包括所选择存储器单元的存储块作为坏块处理。
图10A和图10B是说明读取操作的硬读取失败和软读取失败的示图。
参照图10A和图10B,横轴表示存储器单元的阈值电压,纵轴表示存储器单元的数量。
联接到单个字线的多个存储器单元可构成多个逻辑页面。在多层单元的情况下,多个逻辑页面可包括高位(即,MSB)页面S1001或S1005以及低位(即,LSB)页面S1003或S1007。MSB页面S1001和S1005中的每一个可存储MSB数据,并且LSB页面S1003和S1007中的每一个可存储LSB数据。
为了区分MSB页面S1001或S1005内的存储器单元的编程状态,可使用第二读取电压VR2来执行读取操作。进一步地,为了区分LSB页面S1003或S1007内的存储器单元的编程状态,可使用第一读取电压VR1和第三读取电压VR3来执行读取操作。
图10A示出当执行用于区分MSB页面S1001内的存储器单元的编程状态的读取操作时发生位错误的、分布在S1002中的存储器单元。当使用第二读取电压VR2执行读取操作时,即使MSB页面S1001内的、分布在S1002中的那些存储器单元处于编程状态,分布在S1002中的存储器单元也可能被读取为处于擦除状态E(“1”)。
当所选择页面中包括的、分布在S1002中的存储器单元的数量落在可错误校正范围外时,读取操作可能失败。这种读取操作失败可表示硬读取操作失败。也就是说,当即使MSB页面S1001中的存储器单元处于擦除状态但却被读取为处于编程状态时,或者当即使MSB页面S1001中的存储器单元处于编程状态但被读取为处于擦除状态时,硬读取操作可能失败。
当发生硬读取操作失败时,可根据读取重试表232中的多条读取重试操作信息来执行读取重试操作。通过读取重试操作,读取操作可能通过。进一步地,当在读取操作期间硬读取操作失败时,可不执行设置位线的控制时间的操作。也就是说,可不执行设置位线控制时间操作,并且仅可执行读取重试操作。
图10B示出当执行用于区分LSB页面S1007内的存储器单元的编程状态的读取操作时发生位错误的、分布在S1006中的存储器单元。可在对MSB页面S1005的读取操作成功(通过)之后,执行对LSB页面S1007的读取操作。
进一步地,为了区分LSB页面S1007内的存储器单元的编程状态,可使用第一读取电压VR1和第三读取电压VR3来执行读取操作。当使用第一读取电压VR1和第三读取电压VR3执行读取操作时,即使分布在S1006中的存储器单元处于编程状态,它们也可能被读取为处于擦除状态E(“1”)。
当所选择页面中包括的、分布在S1006中的存储器单元的数量落在可错误校正范围外时,读取操作可能失败。这种读取操作失败可表示软读取操作失败。也就是说,当即使LSB页面S1007中的存储器单元处于擦除状态但却被读取为处于编程状态时,或者当即使LSB页面S1007中的存储器单元处于编程状态但却被读取为处于擦除状态时,软读取操作可能失败。
当在读取操作期间软读取操作失败时,可根据读取重试表232中包括的多条读取重试操作信息来执行读取重试操作,或者可选地,可执行设置位线的控制时间的操作。也就是说,当在读取操作期间发生软读取操作失败时,读取失败处理器230可选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。存储器装置100可执行由读取失败处理器230选择的操作。
图11A至图11D是示出设置位线预充电时间和位线评估时间的方法的示图。
参照图11A至图11D,各个附图示出了当存储器装置100执行读取操作时对位线执行的操作的时间。详细地,在读取操作期间,可执行感测位线的电压或电流的位线预充电操作。进一步地,在已执行位线预充电操作之后,可执行感测位线的电压或电流变化的位线评估操作。最后,可执行将通过位线评估操作的读取操作结果存储在页面缓冲器中的数据锁存操作。
图11A示出执行位线预充电操作、位线评估操作和数据锁存操作的各个时间。详细地,在从t0到t1的间隔期间,可执行位线预充电操作。在从t1到t2的间隔期间,可执行位线评估操作。在从t2到t3的间隔期间,可执行数据锁存操作。
除非充分确保位线预充电时间或位线评估时间,否则可能在感测位线的电压或电流期间发生错误。也就是说,用于区分编程状态和擦除状态的位线电压之间的间隔或者流过位线的电流之间的间隔可能变窄,从而在感测过程中造成错误。因此,需要充分确保位线预充电时间和位线评估时间。下面,将描述设置位线预充电时间和位线评估时间的方法。
图11B示出延长位线预充电时间t0'至t1'的情况。详细地,图11B示出当通过将位线控制时间设置为图11A所示的时间而执行的读取操作失败时设置的位线控制时间。在实施例中,可将位线预充电时间t0'至t1'设置为比图11A所示的位线预充电时间t0至t1更长的时间。在这种情况下,位线评估时间t1'至t2'和数据锁存时间t2'至t3'可与图11A所示的相同。
图11C示出延长位线评估时间t1″至t2″的情况。详细地,图11C示出当通过将位线控制时间设置为图11A所示的时间而执行的读取操作失败时设置的位线控制时间。在实施例中,可将位线评估时间t1″至t2″设置为比图11A所示的位线评估时间t1至t2更长的时间。在这种情况下,位线预充电时间t0″至t1″和数据锁存时间t2″至t3″可与图11A所示的相同。
图11D示出延长位线预充电时间t0”'至t1”'和位线评估时间t1”'至t2”'的情况。详细地,图11D示出当通过将位线控制时间设置为图11A所示的时间而执行的读取操作失败时设置的位线控制时间。在实施例中,可将位线预充电时间t0”'至t1”'和位线评估时间t1”'至t2”'设置为分别比图11A所示的位线预充电时间t0至t1和位线评估时间t1至t2更长的时间。也就是说,图11D示出通过组合图11B和图11C的情况来获得的控制时间。在这种情况下,数据锁存时间t2”'至t3”'可与图11A所示的相同。
图12是示出当设置位线预充电时间时根据位线预充电时间的位线电压变化的示图。
参照图12,横轴表示时间的改变,并且纵轴表示位线电压VBL。图12示出与所选择页面中包括的经擦除存储器单元联接的位线的电压变化。也就是说,位线联接到经擦除存储器单元,因此在位线根据读取操作而被感测之后,位线电压减小。
位线预充电时间可以是时间t_pre1、时间t_pre2和时间t_pre3中的任意一个,时间t_pre1、时间t_pre2和时间t_pre3被示出为连续变长。当预充电位线时,可增加位线电压。位线电压VBL的变化可根据位线预充电时间t_pre1、t_pre2和t_pre3而不同。
用于区分擦除状态和编程状态的参考电压可根据位线预充电时间t_pre1、t_pre2和t_pre3而不同。详细地,参考电压VBL_ref1至VBL_ref3可随着位线预充电时间被延长而增加。也就是说,随着位线预充电时间被延长,用于区分编程状态和擦除状态的电压差异可增加。
随着用于区分编程状态和擦除状态的电压差异变大,即随着差异从Vgap1移动到Vgap3,编程状态和擦除状态可更明确地彼此区分开。因此,随着位线预充电时间被延长,可增加读取操作将通过的可能性。
在实施例中,可将位线预充电第一位线预充电时间t_pre1。在这种情况下,用于区分擦除状态和编程状态的参考电压可以是第一参考电压VBL_ref1。也就是说,当对所选择页面中包括的任意一个存储器单元执行读取操作时,可将联接到该存储器单元的位线预充电第一位线预充电时间t_pre1。当在经过第一位线预充电时间t_pre1之后位线电压变得小于或等于第一参考电压VBL_ref1时,存储器单元可被感测为处于擦除状态。
在实施例中,可将位线预充电第二位线预充电时间t_pre2。在这种情况下,用于区分擦除状态和编程状态的参考电压可以是第二参考电压VBL_ref2。也就是说,当对所选择页面中包括的任意一个存储器单元执行读取操作时,可将联接到该存储器单元的位线预充电第二位线预充电时间t_pre2。当在经过第二位线预充电时间t_pre2之后位线电压变得小于或等于第二参考电压VBL_ref2时,存储器单元可被感测为处于擦除状态。
在实施例中,可将位线预充电第三位线预充电时间t_pre3。在这种情况下,用于区分擦除状态和编程状态的参考电压可以是第三参考电压VBL_ref3。也就是说,当对所选择页面中包括的任意一个存储器单元执行读取操作时,可将联接到该存储器单元的位线预充电第三位线预充电时间t_pre3。当在经过第三位线预充电时间t_pre3之后位线电压变得小于或等于第三参考电压VBL_ref3时,存储器单元可被感测为处于擦除状态。
图13是示出基于图12的位线电压变化来执行位线评估操作的方法的示图。
参照图12和图13,横轴表示时间的变化,并且纵轴表示位线电压VBL。图13示出应用了第一至第三位线预充电时间t_pre1至t_pre3中的任意一个的位线电压VBL变化。详细地,图13是示出在位线预充电操作之后的时域中的位线电压VBL的示图。
在实施例中,为了读取所选择页面中包括的存储器单元,存储器装置100可执行位线评估操作。通过位线评估操作的方法,可确定每个存储器单元处于编程状态或擦除状态。执行位线评估操作的位线评估时间可以是第四或第五位线评估时间t_eval4或t_eval5。
详细地,当位线评估时间是第四位线评估时间t_eval4时,用于区分编程状态和擦除状态的电压差异可以是Vgap4。进一步地,当位线评估时间是第五位线评估时间t_eval5时,用于区分编程状态和擦除状态的电压差异可以是Vgap5。
当位线评估时间是第四位线评估时间t_eval4时,读取操作可能失败。当位线评估时间是第四位线评估时间t_eval4时,用于区分编程状态和擦除状态的电压差异Vgap4可能较小。也就是说,在读取操作期间,读取电压可能不会落入用于区分编程状态和擦除状态的电压差异Vgap4的范围内。因此,在读取操作期间,当对位线评估第四位线评估时间t_eval4时,读取操作可能失败。
当位线评估时间是第五位线评估时间t_eval5时,读取操作可能通过。当位线评估时间是第五位线评估时间t_eval5时,用于区分编程状态和擦除状态的电压差异Vgap5可能较大。也就是说,在读取操作期间,读取电压可落入用于区分编程状态和擦除状态的电压差异Vgap5的范围内。因此,在读取操作期间,当对位线评估第五位线评估时间t_eval5时,读取操作可能通过。
在用于区分编程状态和擦除状态的电压差异中,Vgap5可大于Vgap4。用于区分编程状态和擦除状态的电压差异越大,读取操作将通过的可能性越高。因此,需要确保足够的位线评估时间,使得读取操作能够通过。
图14是示出根据位线评估时间的位线电流变化的示图。
参照图14,横轴表示时间的变化,并且纵轴表示位线电流IBL。详细地,图14是示出联接到所选择页面中包括的存储器单元的位线的电流变化的示图。详细地,当存储器单元处于编程状态(即,经编程单元或编程单元)时,由于电荷量少,所以位线电流IBL可能不会流过位线,或可选地,截止电流可能流过位线。可选地,当存储器单元处于擦除状态时(即,经擦除单元或擦除单元),流经位线的位线电流IBL可能是饱和电流。为了区分存储器单元的状态,可通过将从位线感测的电流与参考电流Itrip进行比较并且通过检查电流的差异来确定存储器单元的状态,其中通过计算截止电流和饱和电流的算术平均值来获得参考电流Itrip。
在实施例中,存储器装置100可执行感测操作第一位线评估时间t_eval1。详细地,存储器装置100可在第一位线评估时间t_eval1内确定流过联接到所选择页面中包括的存储器单元的位线的位线电流IBL是截止电流还是饱和电流。基于位线电流IBL,可确定存储器单元的编程状态或擦除状态。
第一位线评估时间t_eval1可能不足以确定所选择页面中包括的存储器单元的状态。也就是说,将处于编程状态的存储器单元(即,经编程单元)与处于擦除状态的存储器单元(即,经擦除单元)区分开的裕量(margin)可能较小。
在第一位线评估时间t_eval1内执行位线感测的结果可能包括位错误。也就是说,通过在第一位线评估时间t_eval1内执行位线评估操作的方法,可能将处于编程状态的存储器单元确定为处于擦除状态,或者可能将处于擦除状态的存储器单元确定为处于编程状态。因此,为了确保将处于编程状态的存储器单元(即,经编程单元)与处于擦除状态的存储器单元(即,经擦除单元)区分开的裕量,可确保足够的位线评估时间。当确保了足够的位线评估时间时,可执行准确的读取操作。
在实施例中,存储器装置100可执行感测操作第二位线评估时间t_eval2。第二位线评估时间t_eval2可以是足以确定所选择页面中包括的存储器单元的状态的时间。也就是说,将处于编程状态的存储器单元(即,经编程单元)与处于擦除状态的存储器单元(即,经擦除单元)区分开的裕量可能较大。因此,为了确保将处于编程状态的存储器单元(即,经编程单元)与处于擦除状态的存储器单元(即,经擦除单元)区分开的裕量,可确保足够的位线评估时间。当确保了足够的位线评估时间时,可执行准确的读取操作。
图15是说明图1的存储器装置的引脚配置的示图。
参照图15,存储器装置100可通过多个输入/输出线与外部控制器通信。例如,存储器装置100可通过控制信号线与外部控制器通信,该控制信号线包括芯片使能线CE#、写入使能线WE#、读取使能线RE#、地址锁存使能线ALE、命令锁存使能线CLE、写入保护线WP#、就绪/忙碌线RB以及数据输入/输出线DQ。
存储器装置100可通过芯片使能线CE#从外部控制器接收芯片使能信号。存储器装置100可通过写入使能线WE#从外部控制器接收写入使能信号。存储器装置100可通过读取使能线RE#从外部控制器接收读取使能信号。存储器装置100可通过地址锁存使能线ALE从外部控制器接收地址锁存使能信号。存储器装置100可通过命令锁存使能线CLE从外部控制器接收命令锁存使能信号。存储器装置100可通过写入保护线WP#从外部控制器接收写入保护信号。
在实施例中,存储器装置100可通过就绪/忙碌线RB向外部控制器提供表示存储器装置100是处于就绪状态还是忙碌状态的就绪/忙碌信号。
芯片使能信号可以是用于选择存储器装置100的控制信号。当芯片使能信号处于“高”状态且存储器装置100处于“就绪”状态时,存储器装置100可进入低功率待机状态。
写入使能信号可以是用于执行控制使得施加到存储器装置的命令、地址和输入数据被存储在锁存器中的控制信号。
读取使能信号可以是用于使串行数据输出的控制信号。
地址锁存使能信号可以是主机使用的控制信号中的一个,以指示命令、地址和数据中的哪一个对应于输入到输入/输出线DQ的信号类型。
命令锁存使能信号可以是主机使用的控制信号中的一个,以指示命令、地址和数据中的哪一个对应于输入到输入/输出线DQ的信号类型。
例如,当命令锁存使能信号被启用(例如,到逻辑高状态),地址锁存使能信号被停用(例如,到逻辑低状态),并且写入使能信号被启用(例如,到逻辑低状态)并且然后被停用(例如,到逻辑高状态)时,存储器装置100可识别通过输入/输出线DQ输入的信号是命令。
例如,当命令锁存使能信号被停用(例如,到逻辑低状态),地址锁存使能信号被启用(例如,到逻辑高状态),并且写入使能信号被启用(例如,到逻辑低状态)并且然后被停用(例如,到逻辑高状态)时,存储器装置100可识别通过输入/输出线DQ输入的信号是地址。
写入保护信号可以是用于停用由存储器装置100执行的编程操作和擦除操作的控制信号。
就绪/忙碌信号可以是用于识别存储器装置100的状态的信号。也就是说,处于低状态的就绪/忙碌信号表示存储器装置100正在执行至少一个操作。处于高状态的就绪/忙碌信号表示存储器装置100未执行操作。
图16是示出存储器控制器改变存储器装置的位线预充电时间或位线评估时间的方法的示图。
参照图16,存储器控制器200可使用设置参数命令来执行设置位线预充电时间和位线评估时间的操作。
详细地,存储器控制器200可通过输入/输出线DQ向存储器装置100提供设置参数命令、参数地址和参数数据。
设置参数命令可用于执行控制,使得关于位线预充电时间和位线评估时间的信息存储在存储器装置100中包括的多个寄存器之中的特定寄存器中。
参数地址可以是存储设置位线预充电时间和位线评估时间所需的数据的寄存器的地址。
参数数据可用于设置对应于位线控制数据BLCTRL_DATA的位线预充电时间和位线评估时间。位线控制数据BLCTRL_DATA可由读取失败处理器230提供到存储器装置100。
在读取操作期间,存储器装置100可使用存储在参数地址的位线预充电时间和位线评估时间来执行读取操作。
图17是示出根据本公开的实施例的例如存储器控制器200的存储器控制器的操作的流程图。
参照图17,在步骤S1701中,读取操作控制器210可从存储器装置100接收读取数据READ_DATA。读取数据READ_DATA可以是存储器装置100响应于提供到该存储器装置100的读取命令READ_CMD而对所选择页面执行的读取操作的结果。读取操作控制器210可向读取失败确定器220提供读取数据READ_DATA。
在步骤S1703中,读取失败确定器220可基于读取数据READ_DATA来确定读取操作是否通过,即或者是否失败。读取操作的通过可表示读取操作成功。而且,读取操作的失败可表示读取操作失败。详细地,当在所选择页面中的多个存储器单元之中发生位错误的存储器单元的数量落在可错误校正范围外时,读取失败确定器220可确定读取操作失败。当发生位错误的存储器单元的数量落在可错误校正范围内时,读取失败确定器220可确定读取操作通过。
在步骤S1705中,读取失败确定器220可生成读取信息READ_INF,该读取信息包括读取操作的通过/失败结果(读取操作确定结果)和关于执行读取操作的信息(读取操作执行信息)两者。
读取操作确定结果可包括指示读取操作是通过还是失败的信息。读取操作执行信息可包括关于由于读取操作失败而执行的读取重试操作的数量的信息以及关于执行读取操作的读取电压的信息。
详细地,当对应于所选择页面的读取数据READ_DATA中包括的错误落在可校正范围外时,读取失败确定器220可确定读取操作失败。相反,当对应于所选择页面的读取数据READ_DATA中包括的错误落在可校正范围内时,读取失败确定器220可确定读取操作成功(通过)。
读取失败确定器220可向读取失败处理器230提供读取信息READ_INF。
在步骤S1707中,读取失败处理器230可基于读取信息READ_INF来决定在读取操作失败之后待执行的读取操作。
详细地,读取信息READ_INF中包括的读取操作确定结果可包括指示读取操作已失败的信息。当读取信息READ_INF包括指示读取操作已失败的信息时,读取失败处理器230可基于读取信息READ_INF来决定待对所选择页面执行的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的任意一个。
图18是示出根据本公开的实施例的例如存储装置50的存储装置的操作的流程图。
参照图18,在步骤S1801中,读取失败处理器230可基于读取信息READ_INF来决定在读取操作失败之后待执行的读取操作。详细地,可选择读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。
在实施例中,读取失败处理器230可在不考虑先前执行的读取操作的情况下,选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。因此,当先前执行的读取操作失败时,存储器装置100可执行读取重试操作。可选地,当先前执行的读取操作失败时,存储器装置100可设置位线的控制时间,然后可基于所设置的位线控制时间来执行读取操作。
在步骤S1803中,可确定读取失败处理器230是否已选择读取重试操作。当读取失败处理器230已选择读取重试操作时(即,步骤S1803中为“是”),进程进行到步骤S1805。当读取失败处理器230未选择读取重试操作时(即,步骤S1803中为“否”),即当读取失败处理器230已选择设置联接到所选择页面的位线的控制时间的操作时,进程进行到步骤S1809。
在步骤S1805中,读取失败处理器230可基于读取信息READ_INF来生成用于执行读取重试操作的读取电压设置信息VREAD_INF。详细地,当读取失败处理器230中包括的读取操作决定组件231接收到读取信息READ_INF时,读取操作决定组件231可生成读取重试信息RRT_INF。读取重试信息RRT_INF可包括关于读取重试操作之中的先前执行的读取重试操作的信息。读取操作决定组件231可向读取重试表232提供读取重试信息RRT_INF。
读取重试表232可向读取操作控制器210提供读取电压设置信息VREAD_INF,以便执行可用读取重试操作,即不同于先前执行的读取重试操作中的一个读取重试操作。读取电压设置信息VREAD_INF可包括关于执行下一读取重试操作所需的读取操作电压的信息。
在步骤S1807中,可基于读取电压设置信息VREAD_INF来设置用于执行下一读取重试操作的读取电压。所设置的读取电压可不同于在先前执行的读取重试操作中使用的读取电压。
在步骤S1809中,读取失败处理器230可生成位线控制数据BLCTRL_DATA,以便设置联接到所选择页面的位线的控制时间。详细地,当读取失败处理器230中包括的读取操作决定组件231接收到读取信息READ_INF时,读取操作决定组件231可生成位线信息BL_INF。位线信息BL_INF可包括关于当先前执行的读取操作失败时的位线预充电时间和位线评估时间的信息。读取操作决定组件231可向位线设置表233提供位线信息BL_INF。
位线设置表233可存储关于待在下一读取操作期间应用的位线预充电时间和位线评估时间的信息。
位线设置表233可生成位线控制数据BLCTRL_DATA,使得位线预充电时间和/或位线评估时间被设置为分别比位线信息BL_INF中包括的位线预充电时间和/或位线评估时间更长的时间。位线控制数据BLCTRL_DATA中包括的用于设置位线预充电时间和/或位线评估时间的数据可以是用于设置使存储器装置100通过读取操作的最佳时间的数据。
位线设置表233可向存储器装置100提供位线控制数据BLCTRL_DATA。
在步骤S1809中,可基于位线控制数据BLCTRL_DATA来设置位线的控制时间。详细地,存储器装置100可将位线预充电时间和/或位线评估时间分别设置为比先前的位线预充电时间和/或先前的位线评估时间更长的时间。
在步骤S1813中,可执行读取操作。详细地,可在读取操作失败后执行读取重试操作。可选地,在读取操作失败之后,可设置位线预充电时间和/或位线评估时间,然后可再次执行读取操作。
在步骤S1815中,可确定关于在先前执行的读取操作失败之后执行的读取操作的读取信息READ_INF是否包括失败信息。当该读取信息READ_INF包括失败信息时(即,步骤S1815中为“是”),进程返回到步骤S1801。在步骤S1801中,可决定在先前执行的读取操作失败之后待执行的读取操作。
图19是示出根据本公开的实施例的存储装置50的操作的流程图。
参照图19,在步骤S1901中,读取信息READ_INF可包括关于对所选择页面的读取操作失败的信息。详细地,读取信息READ_INF可包括读取操作确定结果和读取操作执行信息两者。读取失败处理器230可基于读取信息READ_INF,选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。
读取操作决定组件231可基于先前执行的读取操作,选择对所选择页面的读取重试操作和设置联接到所选择页面的位线的控制时间的操作中的一个。
在实施例中,读取操作确定结果可包括读取操作失败信息,并且读取操作执行信息可包括指示尚未执行全部可用读取重试操作的信息。可在读取操作失败后立即根据可用或预设的读取重试操作的相对优先级来逐一执行可用或预设的读取重试操作。预设的读取重试操作可具有优先级。在当前读取重试操作失败时,可根据后续读取重试操作的相对优先级来执行后续读取重试操作。
读取重试操作的优先级可根据先前读取电压来确定。使用从先前读取电压逐渐减少(或增加)的读取电压来执行读取重试操作。也就是说,读取重试操作的优先级可以是利用逐渐减少(或增加)的读取电压执行的读取操作的序列。此外,读取重试操作的优先级可以是预定的,并且读取重试操作的优先级可以不因读取重试操作而改变。
在步骤S1903中,可确定是否已执行全部预设的读取重试操作。当已执行全部预设的读取重试操作时(即,步骤S1903中为“是”),进程进行到步骤S1907。当尚未执行全部预设的读取重试操作时(即,步骤S1903中为“否”),进程进行到步骤S1905。
在步骤S1905中,在预设的读取重试操作之中,可执行根据其优先级而尚未被执行的读取重试操作。在已执行读取重试操作之后,进程返回到步骤S1901。
在步骤S1907中,可执行设置位线的控制时间的操作。当即使已执行了全部预设的读取重试操作,读取信息READ_INF仍包括读取操作失败信息时,可执行设置位线控制时间的操作。设置位线控制时间的操作可包括设置位线预充电时间和位线评估时间。可通过设置位线控制时间来充分确保位线预充电时间和/或位线评估时间。
在步骤S1909中,可基于所设置的位线控制时间来执行读取操作。当充分确保了位线预充电时间和/或位线评估时间时,随后待执行的读取操作可能通过。
图20是示出根据本公开的实施例的存储装置的操作的示图。
参照图20,在步骤S2001中,可确定失败信息是否包括软读取失败信息。软读取失败信息可指示软读取操作失败。当失败信息包括软读取失败信息时(即,步骤S2001中为“是”),进程可进行到步骤S2003。当失败信息不包括软读取失败信息时(即,步骤S2001中为“否”),进程可进行到步骤S2005。
在实施例中,联接到单个字线的多个存储器单元可构成多个逻辑页面。在多层单元的情况下,多个逻辑页可包括MSB页面和LSB页面。MSB页面可存储MSB数据,并且LSB页面可存储LSB数据。
可在对MSB页面的读取操作通过之后发生软读取操作失败。例如,在区分LSB页面内的存储器单元的编程状态的读取操作期间,当LSB页面内包括的、发生错误的存储器单元的数量落在可错误校正范围外时,可能发生这种失败。
当软读取操作失败时,可使用新的读取电压来执行读取重试操作,或可选地,可执行设置位线的控制时间的操作。
在步骤S2003中,当失败信息包括软读取失败信息时,根据设置位线的控制时间的操作,可设置位线预充电时间或位线评估时间。在已设置位线预充电时间或位线评估时间之后,可再次执行读取操作。
在步骤S2005中,当失败信息不包括软读取失败信息时,可执行电启动(eBoost)操作。当失败信息不包括软读取失败信息时,失败信息可包括指示硬读取操作失败的硬读取失败信息。在区分MSB页面内的存储器单元的编程状态的读取操作期间,当MSB页面内包括的存储器单元中的错误落在可错误校正范围外时,可能发生硬读取操作失败。当硬读取操作失败时,可执行校正错误的电启动操作。电启动操作可以是错误校正操作,该错误校正操作检测使发生位错误的存储器单元的数量最小化的读取电压并且在执行读取操作之后被执行。
图21是示出图1的存储器控制器的实施例的示图。
存储器控制器1000联接到主机和存储器装置。响应于从主机接收到的请求,存储器控制器1000可访问存储器装置。例如,存储器控制器1000可被配置成控制存储器装置的写入操作、读取操作、擦除操作和后台操作。存储器控制器1000可提供存储器装置与主机之间的接口。存储器控制器1000可运行固件以用于控制存储器装置。
参照图21,存储器控制器1000可包括处理器1010、存储器缓冲器1020、错误检查和校正(ECC)组件1030、主机接口1040、缓冲器控制电路1050、存储器接口1060和总线1070。
总线1070可提供存储器控制器1000的组件之间的通道。
处理器1010可控制存储器控制器1000的全部操作,并且可执行逻辑操作。处理器1010可通过主机接口1040与外部主机通信,并且还通过存储器接口1060与存储器装置通信。进一步地,处理器1010可通过缓冲器控制电路1050与存储器缓冲器1020通信。处理器1010可通过使用存储器缓冲器1020作为工作存储器、高速缓存存储器或缓冲存储器来控制存储装置的操作。
处理器1010可执行闪存转换层(FTL)的功能。处理器1010可通过FTL将由主机提供的逻辑地址(LA)转换成物理地址(PA)。FTL可使用接收LA并且使用映射信息将LA转换成PA。根据映射单元,通过FTL执行的地址映射方法的示例可包括各种方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
处理器1010可将从主机接收的数据随机化。例如,处理器1010可使用随机化种子来随机化从主机接收的数据。可将经随机化的数据作为待存储的数据提供到存储器装置,并且可将经随机化的数据编程在存储器单元阵列中。
在读取操作期间,处理器1010可将从存储器装置接收的数据去随机化(derandomize)。例如,处理器1010可使用去随机化种子将从存储器装置接收的数据去随机化。去随机化数据可被输出到主机。
在实施例中,处理器1010可运行软件或固件以执行随机化和去随机化操作。
存储器缓冲器1020可用作处理器1010的工作存储器、高速缓存存储器或缓冲存储器。存储器缓冲器1020可存储由处理器1010运行的代码和命令。存储器缓冲器1020可存储由处理器1010处理的数据。存储器缓冲器1020可包括静态RAM(SRAM)或动态RAM(DRAM)。
ECC组件1030可基于待通过存储器接口1060而写入到存储器装置的数据来执行包括错误校正码(ECC)编码的错误校正。经ECC编码的数据可通过存储器接口1060而传输到存储器装置。ECC组件1030可基于通过存储器接口1060而从存储器装置接收的数据来执行ECC解码。在示例中,ECC组件1030可作为存储器接口1060的组件而包括在存储器接口1060中。
主机接口1040可在处理器1010的控制下与外部主机通信。主机接口1040可使用诸如以下的各种通信方法中的至少一种来执行通信:通用串行总线(USB)、串行AT附件(SATA)、串列SCSI(SAS)、高速芯片间(HSIC)、小型计算机***接口(SCSI)、***组件互连(PCI)、高速PCI(PCIe)、高速非易失性存储器(NVMe)、通用闪存(UFS)、安全数字(SD)、多媒体卡(MMC)、嵌入式MMC(eMMC)、双列直插式存储器模块(DIMM)、寄存式DIMM(RDIMM)以及负载减少的DIMM(LRDIMM)通信方法。
缓冲器控制电路1050可在处理器1010的控制下控制存储器缓冲器1020。
存储器接口1060可在处理器1010的控制下与存储器装置通信。存储器接口1060可通过通道与存储器装置交换命令、地址和数据。
在实施例中,存储器控制器1000可不包括存储器缓冲器1020和缓冲器控制电路1050。可从存储器控制器1000单独提供这些组件中的任一个或两者,或者可将这些组件中的功能中的一个或两个分布在控制器1000中。
在实施例中,处理器1010可使用代码来控制存储器控制器1000的操作。处理器1010可从存储器控制器1000中设置的非易失性存储器装置(例如,ROM)加载代码。在实施例中,处理器1010可通过存储器接口1060从存储器装置加载代码。
在实施例中,存储器控制器1000的总线1070可被划分成控制总线和数据总线。数据总线可被配置成在存储器控制器1000中传输数据,控制总线可被配置成在存储器控制器1000中传输诸如命令或地址的控制信息。数据总线和控制总线可彼此隔离,并且可既不互相干扰也不互相影响。数据总线可联接到主机接口1040、缓冲器控制电路1050、ECC组件1030和存储器接口1060。控制总线可联接到主机接口1040、处理器1010、缓冲器控制电路1050、存储器缓冲器1020和存储器接口1060。
图22是示出应用根据本公开的实施例的存储装置的存储卡***的框图。
参照图22,存储卡***2000可包括存储器控制器2100、存储器装置2200和连接器2300。
存储器控制器2100联接到存储器装置2200。存储器控制器2100可访问存储器装置2200。例如,存储器控制器2100可控制存储器装置2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可提供存储器装置2200与主机之间的接口。存储器控制器2100可运行固件以用于控制存储器装置2200。存储器装置2200可以与上面参照图1描述的存储器装置100相同的方式来实施。
在实施例中,存储器控制器2100可包括诸如RAM、处理器、主机接口、存储器接口和ECC组件。
存储器控制器2100可通过连接器2300与外部装置通信。存储器控制器2100可基于特定的通信协议与外部装置(例如,主机)通信。在实施例中,存储器控制器2100可通过诸如以下的各种通信协议中的至少一种与外部装置通信:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)协议。在实施例中,连接器2300可由上述各种通信协议中的至少一种来限定。
在实施例中,存储器装置2200可被实施成诸如以下的各种非易失性存储器装置中的任意一种:电可擦除可编程ROM(EEPROM)、NAND闪速存储器、NOR闪速存储器、相变RAM(PRAM)、电阻式RAM(ReRAM)、铁电RAM(FRAM)以及自旋力矩磁性RAM(STT-MRAM)。
存储器控制器2100和存储器装置2200可被集成到单个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会:PCMCIA)、紧凑型闪存卡(CF)、智能媒体卡(SM或SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC或eMMC)、SD卡(SD、迷你SD、微型SD或SDHC)或通用闪存(UFS)。
图23是示出应用根据本公开的实施例的存储装置的固态驱动器(SSD)***的示例的框图。
参照图23,SSD***3000可包括主机3100和SSD 3200。SSD 3200可通过信号连接器3001与主机3100交换信号SIG,并且可通过电源连接器3002接收电力PWR。SSD 3200可包括SSD控制器3210、多个闪速存储器3221至322n、辅助电源3230和缓冲存储器3240。
在实施例中,SSD控制器3210可执行上面参照图1描述的存储器控制器200的功能。
SSD控制器3210可响应于从主机3100接收的信号SIG来控制多个闪速存储器3221至322n。在实施例中,信号SIG可以基于主机3100和SSD 3200的接口。例如,信号SIG可以是由诸如以下的各种接口中的至少一种限定的:通用串行总线(USB)、多媒体卡(MMC)、嵌入式MMC(eMMC)、***组件互连(PCI)、高速PCI(PCI-E)、高级技术附件(ATA)、串行ATA(SATA)、并行ATA(PATA)、小型计算机小型接口(SCSI)、增强型小型磁盘接口(ESDI)、电子集成驱动器(IDE)、火线、通用闪存(UFS)、Wi-Fi、蓝牙以及高速非易失性存储器(NVMe)接口。
辅助电源3230可通过电源连接器3002联接到主机3100。辅助电源3230可被供应有来自主机3100的电力PWR并且可被充电。当来自主机3100的电力的供应无法平稳执行时,辅助电源3230可供应SSD 3200的电力。在实施例中,辅助电源3230可位于SSD 3200的内部或位于SSD3200的外部。例如,辅助电源3230可被设置在主板中,并且可向SSD3200供应辅助电力。
缓冲存储器3240用作SSD 3200的缓冲存储器。例如,缓冲存储器3240可临时存储从主机3100接收的数据或从多个闪速存储器3221至322n接收的数据,或者可临时存储闪速存储器3221至322n的元数据(例如,映射信息)。缓冲存储器3240可包括诸如DRAM、SDRAM、DDR SDRAM、LPDDR SDRAM和GRAM的易失性存储器,或者诸如FRAM、ReRAM、STT-MRAM和PRAM的非易失性存储器。
图24是示出应用根据本公开的实施例的存储装置的用户***的框图。
参照图24,用户***4000可包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。
应用处理器4100可运行包括在用户***4000中的组件、操作***(OS)或用户程序。在实施例中,应用处理器4100可包括用于控制包括在用户***4000中的组件的控制器、接口、图形引擎等。应用处理器4100可被设置为片上***(SoC)。
存储器模块4200可用作用户***4000的主存储器、工作存储器、缓冲存储器或高速缓存存储器。存储器模块4200可包括诸如DRAM、SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3SDRAM、LPDDR SDRAM、LPDDR2 SDRAM和LPDDR3 SDRAM的易失性RAM,或者诸如PRAM、ReRAM、MRAM和FRAM的非易失性RAM。在实施例中,应用处理器4100和存储器模块4200可基于堆叠封装(POP)来封装,然后可被设置为单个半导体封装。
网络模块4300可与外部装置通信。例如,网络模块4300可支持诸如码分多址(CDMA)、全球移动通信***(GSM)、宽带CDMA(WCDMA)、CDMA-2000、时分多址(TDMA)、长期演进(LTE)、WiMAX、WLAN、UWB、蓝牙或Wi-Fi通信的无线通信。在实施例中,网络模块4300可包括在应用处理器4100中。
存储模块4400可存储数据。例如,存储模块4400可存储从应用处理器4100接收的数据。可选地,存储模块4400可将存储在存储模块4400中的数据传输到应用处理器4100。在实施例中,存储模块4400可被实施为诸如以下的非易失性半导体存储器装置:相变RAM(PRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、NAND闪速存储器、NOR闪速存储器或具有三维(3D)结构的NAND闪速存储器。在实施例中,存储模块4400可被设置为可移动存储介质(即,可移动驱动器),诸如用户***4000的存储卡或外部驱动器。
在实施例中,存储模块4400可包括多个非易失性存储器装置,每个非易失性存储器装置可以与上面参照图5至图7描述的存储器装置相同的方式操作。存储模块4400可以与上面参照图1描述的存储装置50相同的方式操作。
用户接口4500可包括将数据或指令输入到应用处理器4100或将数据输出到外部装置的接口。在实施例中,用户接口4500可包括诸如以下的用户输入接口:键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像机、麦克风、陀螺仪传感器、振动传感器和压电装置。用户接口4500可进一步包括诸如以下的用户输出接口:液晶显示器(LCD)、有机发光二极管(OLED)显示装置、有源矩阵OLED(AMOLED)显示装置、LED、扬声器和监控器。
根据本公开的实施例,提供了一种处理读取操作失败的存储器控制器及操作存储器控制器的方法。
虽然已经公开了本公开的各个实施例,但本领域的技术人员将理解的是,在不脱离本公开的范围和实质的情况下,可进行各种修改、添加和替换。因此,本发明的范围由所附权利要求及其等同物来限定,而非由之前的描述来限定。
在以上讨论的实施例中,可选择性地执行或跳过全部步骤。另外,每个实施例中的步骤可不总是按照正常的顺序来顺序地执行,并且相反,可以其它适当的顺序来执行。此外,本文公开的实施例旨在帮助本领域技术人员更清楚地理解本公开,而不是旨在限制本公开的范围。换言之,本公开所属领域的技术人员将能够容易地理解,基于本公开的技术范围,能够进行各种修改。
在描述本公开的实施例时,有时使用特定的术语或词汇。这些词汇应当根据本公开的精神来进行解释,而不限制其主题。应当理解的是,本文描述的基本发明构思的许多变化和修改将仍然落入所附权利要求及其等同物所限定的本公开的精神和范围内。
Claims (20)
1.一种存储器控制器,包括:
读取操作控制器,向存储器装置提供用于对所述存储器装置中包括的页面执行读取操作的读取命令并且从所述存储器装置接收对应于所述读取命令的读取数据;
读取失败确定器,基于所述读取数据来确定所述读取操作是通过还是失败并且生成读取信息,所述读取信息包括所述读取操作的结果和关于执行所述读取操作的信息;以及
读取失败处理器,基于所述读取信息来选择待对所述页面执行的读取重试操作或设置联接到所述页面的位线的控制时间的操作,并且控制所述存储器装置执行所选择的操作。
2.根据权利要求1所述的存储器控制器,其中当所述读取数据中的错误落在可校正范围之外时,所述读取失败确定器生成指示所述读取操作失败的信息包括在所述读取操作的结果中的所述读取信息。
3.根据权利要求2所述的存储器控制器,其中所述读取失败处理器包括读取重试表和位线设置表,所述读取重试表包括关于读取重试操作的信息,所述位线设置表包括关于设置所述位线的控制时间的操作的信息。
4.根据权利要求3所述的存储器控制器,其中所述读取重试表包括分别用于所述读取重试操作的多条读取重试操作信息。
5.根据权利要求4所述的存储器控制器,其中所述读取失败处理器:
当所述读取操作的结果包括指示所述读取操作失败的信息时,并且当关于执行所述读取操作的信息包括指示尚未执行全部所述读取重试操作的信息时,选择所述多条读取重试操作信息中的一条读取重试操作信息并且控制所述存储器装置执行相应的读取重试操作。
6.根据权利要求4所述的存储器控制器,其中所述读取重试表使所述多条读取重试操作信息包括各自的用于所述读取重试操作的、不同电平的读取电压。
7.根据权利要求6所述的存储器控制器,其中所述读取失败处理器从所述多条读取重试操作信息之中选择一条读取重试操作信息以执行相应的读取重试操作,生成用于确定与所选择的一条读取重试操作信息相对应的读取电压的读取电压设置信息,并且将所生成的读取电压设置信息提供到所述读取操作控制器。
8.根据权利要求7所述的存储器控制器,其中所述读取操作控制器向所述存储器装置提供读取命令,使得所述存储器装置执行与所选择的一条读取重试操作信息相对应的读取重试操作,并且接收响应于所述读取命令的读取数据。
9.根据权利要求4所述的存储器控制器,其中所述读取失败处理器:
当所述读取操作的结果指示所述读取操作失败时,并且当关于执行所述读取操作的信息包括指示已执行全部所述读取重试操作的信息时,对所述页面中的逻辑页面之中的存储最高有效位数据,即MSB数据的MSB逻辑页面执行读取操作,并且对所述逻辑页面之中的存储最低有效位数据,即LSB数据的LSB逻辑页面执行读取操作。
10.根据权利要求9所述的存储器控制器,其中当对所述MSB逻辑页面的读取操作通过并且对所述LSB逻辑页面的读取操作失败时,所述读取失败处理器生成位线控制数据以执行设置所述位线的控制时间的操作。
11.一种操作存储器控制器的方法,所述方法包括:
向存储器装置提供用于对所述存储器装置中包括的页面执行读取操作的读取命令;
从所述存储器装置接收对应于所述读取命令的读取数据;
基于所述读取数据,确定所述读取操作是通过还是失败;
生成读取信息,所述读取信息包括所述读取操作的结果和关于执行所述读取操作的信息;并且
基于所述读取信息,选择待对所述页面执行的读取重试操作或设置联接到所述页面的位线的控制时间的操作。
12.根据权利要求11所述的方法,其中生成所述读取信息包括:当对应于所述页面的读取数据中包括的错误落在可校正范围之外时,生成被包括在所述读取操作的结果中的、指示所述读取操作失败的信息。
13.根据权利要求12所述的方法,其中所述选择包括:
当所述读取操作的结果包括指示所述读取操作失败的信息时,并且当关于执行所述读取操作的信息包括指示尚未执行全部读取重试操作的信息时,选择多条读取重试操作信息中的一条读取重试操作信息,并且控制所述存储器装置以执行与所选择的一条读取重试操作信息相对应的读取重试操作。
14.根据权利要求13所述的方法,其中所述多条读取重试操作信息包括各自的用于所述读取重试操作的、不同电平的读取电压。
15.根据权利要求14所述的方法,其中所述选择包括:重复地从所述多条读取重试操作信息之中,一次一条地选择各条读取重试操作信息,直到执行了全部所述读取重试操作。
16.根据权利要求14所述的方法,其中所述选择包括:
选择所述多条读取重试操作信息中的一条读取重试操作信息,并且选择与所选择的一条读取重试操作信息相对应的读取电压;并且
向所述存储器装置提供所述读取命令,以使用所选择的读取电压来执行读取操作。
17.根据权利要求13所述的方法,其中所述选择包括:
当所述读取操作的结果包括指示所述读取操作失败的信息时,并且当关于执行所述读取操作的信息包括指示已执行全部所述读取重试操作的信息时,对所述页面中的逻辑页面之中的存储最高有效位数据,即MSB数据的MSB逻辑页面执行读取操作,并且对所述逻辑页面之中的存储最低有效位数据,即LSB数据的LSB逻辑页面执行读取操作。
18.根据权利要求17所述的方法,其中所述选择包括:当对所述MSB逻辑页面的读取操作通过并且对所述LSB逻辑页面的读取操作失败时,生成位线控制数据,所述位线控制数据使得所述存储器装置执行设置所述位线的控制时间的操作。
19.一种操作存储装置的方法,所述方法包括:
对从存储器装置中包括的多个页面之中选择的页面执行读取操作,
确定所述读取操作是通过还是失败;并且
当所述读取操作失败时,选择对所选择页面的读取重试操作或在已设置联接到所选择页面的位线的控制时间之后执行的、对所选择页面的读取操作。
20.根据权利要求19所述的方法,进一步包括:当所选择的操作失败时,通过选择对所选择页面的所述读取重试操作或在已设置联接到所选择页面的所述位线的控制时间之后待执行的、对所选择页面的读取操作中的一个来执行读取操作。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0153630 | 2018-12-03 | ||
KR1020180153630A KR20200066911A (ko) | 2018-12-03 | 2018-12-03 | 메모리 컨트롤러 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111258793A CN111258793A (zh) | 2020-06-09 |
CN111258793B true CN111258793B (zh) | 2023-10-24 |
Family
ID=70848781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910863389.5A Active CN111258793B (zh) | 2018-12-03 | 2019-09-12 | 存储器控制器及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11037639B2 (zh) |
KR (1) | KR20200066911A (zh) |
CN (1) | CN111258793B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10658066B2 (en) | 2018-09-05 | 2020-05-19 | Micron Technology, Inc. | First-pass continuous read level calibration |
US10629278B2 (en) | 2018-09-05 | 2020-04-21 | Micron Technology, Inc. | First-pass dynamic program targeting (DPT) |
US11119848B2 (en) * | 2019-07-10 | 2021-09-14 | Micron Technology, Inc. | Logic based read sample offset in a memory sub system |
US11467938B2 (en) * | 2020-09-21 | 2022-10-11 | SK Hynix Inc. | Read retry threshold optimization systems and methods conditioned on previous reads |
KR20220079227A (ko) * | 2020-12-04 | 2022-06-13 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
CN112614525B (zh) * | 2020-12-16 | 2023-12-29 | 中国科学院上海微***与信息技术研究所 | 一种提高电阻一致性的低功耗相变存储器写驱动电路 |
US11989127B2 (en) * | 2022-09-15 | 2024-05-21 | Western Digital Technologies, Inc. | Efficient L2P DRAM for high-capacity drives |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和*** |
CN105719701A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 半导体存储器设备及其操作方法 |
CN105913880A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN106251903A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106847338A (zh) * | 2015-12-04 | 2017-06-13 | 三星电子株式会社 | 非易失性存储器装置、存储器***及操作它们的方法 |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101397549B1 (ko) * | 2007-08-16 | 2014-05-26 | 삼성전자주식회사 | 고속 프로그램이 가능한 불휘발성 반도체 메모리 시스템 및그것의 독출 방법 |
KR101736985B1 (ko) | 2011-02-17 | 2017-05-17 | 삼성전자 주식회사 | 불휘발성 메모리 장치 및 그것의 읽기 방법 |
KR101835605B1 (ko) * | 2011-11-24 | 2018-03-08 | 삼성전자 주식회사 | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 |
US8938659B2 (en) * | 2012-05-04 | 2015-01-20 | Lsi Corporation | Low-density parity-check decoder disparity preprocessing |
KR20140045168A (ko) * | 2012-10-08 | 2014-04-16 | 삼성전자주식회사 | 불휘발성 메모리 장치, 메모리 시스템 및 불휘발성 메모리 장치의 동작방법 |
KR102192910B1 (ko) * | 2013-09-10 | 2020-12-18 | 에스케이하이닉스 주식회사 | 반도체 장치, 메모리 시스템 및 이의 동작 방법 |
KR102456104B1 (ko) | 2015-08-24 | 2022-10-19 | 삼성전자주식회사 | 데이터 신뢰성에 따라 동작 조건을 변경하는 저장 장치의 동작 방법 |
KR20170111649A (ko) * | 2016-03-29 | 2017-10-12 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2018
- 2018-12-03 KR KR1020180153630A patent/KR20200066911A/ko not_active Application Discontinuation
-
2019
- 2019-07-22 US US16/518,313 patent/US11037639B2/en active Active
- 2019-09-12 CN CN201910863389.5A patent/CN111258793B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103035294A (zh) * | 2011-09-28 | 2013-04-10 | 三星电子株式会社 | 从非易失性存储器读数据的方法及实施方法的设备和*** |
CN105719701A (zh) * | 2014-12-17 | 2016-06-29 | 爱思开海力士有限公司 | 半导体存储器设备及其操作方法 |
CN105913880A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 存储器控制器及其操作方法 |
CN106251903A (zh) * | 2015-06-05 | 2016-12-21 | 爱思开海力士有限公司 | 存储***及其操作方法 |
CN106847338A (zh) * | 2015-12-04 | 2017-06-13 | 三星电子株式会社 | 非易失性存储器装置、存储器***及操作它们的方法 |
CN107240418A (zh) * | 2016-03-28 | 2017-10-10 | 爱思开海力士有限公司 | 存储器***及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111258793A (zh) | 2020-06-09 |
KR20200066911A (ko) | 2020-06-11 |
US11037639B2 (en) | 2021-06-15 |
US20200176066A1 (en) | 2020-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111258793B (zh) | 存储器控制器及其操作方法 | |
CN110619911B (zh) | 存储装置及存储装置的操作方法 | |
CN110390970B (zh) | 存储器装置及其操作方法 | |
CN111104059B (zh) | 存储器控制器及操作该存储器控制器的方法 | |
CN109388578B (zh) | 存储装置及其操作方法 | |
CN111105832B (zh) | 存储装置和操作存储装置的方法 | |
US11099745B2 (en) | Storage device and operating method thereof | |
CN111177020B (zh) | 存储装置及其操作方法 | |
KR102535110B1 (ko) | 저장 장치 및 그 동작 방법 | |
US20190259457A1 (en) | Storage device and method of operating the same | |
CN111128280B (zh) | 存储装置及其操作方法 | |
CN111105836B (zh) | 存储装置及其操作方法 | |
US10650897B2 (en) | Storage device and method for operating the same | |
CN112002367B (zh) | 存储器装置以及操作该存储器装置的方法 | |
CN111883197B (zh) | 存储装置及其操作方法 | |
CN111445939B (zh) | 存储装置及其操作方法 | |
CN111192617B (zh) | 存储装置及其操作方法 | |
CN110619912B (zh) | 存储装置以及该存储装置的操作方法 | |
CN111341372B (zh) | 存储装置以及操作存储装置的方法 | |
CN112151096B (zh) | 存储器装置及其操作方法 | |
CN111338978B (zh) | 存储装置以及操作存储装置的方法 | |
CN114496045A (zh) | 存储器设备和操作存储器设备的方法 | |
KR20220048377A (ko) | 저장 장치 및 그 동작 방법 | |
CN111190535B (zh) | 存储装置及其操作方法 | |
KR20220150147A (ko) | 메모리 장치 및 그 동작 방법 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240613 Address after: American Texas Patentee after: Mimi IP Co.,Ltd. Country or region after: U.S.A. Address before: Gyeonggi Do, South Korea Patentee before: Sk Hynix Inc. Country or region before: Republic of Korea |