CN116246691A - 存储装置、主机装置及包括存储装置和主机装置的计算系统 - Google Patents
存储装置、主机装置及包括存储装置和主机装置的计算系统 Download PDFInfo
- Publication number
- CN116246691A CN116246691A CN202210934666.9A CN202210934666A CN116246691A CN 116246691 A CN116246691 A CN 116246691A CN 202210934666 A CN202210934666 A CN 202210934666A CN 116246691 A CN116246691 A CN 116246691A
- Authority
- CN
- China
- Prior art keywords
- test
- controller
- performance information
- read
- test operation
- 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.)
- Withdrawn
Links
- 238000003860 storage Methods 0.000 title claims abstract description 193
- 238000012360 testing method Methods 0.000 claims abstract description 543
- 239000004065 semiconductor Substances 0.000 claims abstract description 230
- 230000004044 response Effects 0.000 claims abstract description 66
- 238000000034 method Methods 0.000 claims description 46
- 238000010586 diagram Methods 0.000 description 44
- 238000012545 processing Methods 0.000 description 17
- 239000010410 layer Substances 0.000 description 16
- 101100481702 Arabidopsis thaliana TMK1 gene Proteins 0.000 description 11
- 239000000872 buffer Substances 0.000 description 11
- 101000583553 Homo sapiens Phosphoglucomutase-1 Proteins 0.000 description 9
- 102100030999 Phosphoglucomutase-1 Human genes 0.000 description 9
- 238000013507 mapping Methods 0.000 description 7
- 238000012937 correction Methods 0.000 description 6
- 230000007423 decrease Effects 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 230000005684 electric field Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000011056 performance test Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 230000000903 blocking effect Effects 0.000 description 3
- 101150013423 dsl-1 gene Proteins 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000005641 tunneling Effects 0.000 description 3
- 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
- 101001072903 Homo sapiens Phosphoglucomutase-2 Proteins 0.000 description 2
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 2
- 102100036629 Phosphoglucomutase-2 Human genes 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005086 pumping Methods 0.000 description 2
- 101150064834 ssl1 gene Proteins 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
- 238000003491 array Methods 0.000 description 1
- 235000000332 black box Nutrition 0.000 description 1
- 244000085682 black box Species 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000002405 diagnostic procedure Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
-
- 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/0653—Monitoring storage devices or systems
-
- 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
- G06F3/0658—Controller construction arrangements
-
- 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
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/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/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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
Abstract
本申请涉及一种控制器,该控制器响应于从外部装置接收的测试请求而控制半导体存储器装置的操作。控制器包括存储器测试控制器和性能信息存储装置。存储器测试控制器生成与从外部装置接收的测试请求相对应的命令。性能信息存储装置存储半导体存储器装置响应于命令执行的测试操作的结果。
Description
相关申请的交叉引用
本申请要求于2021年12月7日提交的申请号为10-2021-0173990的韩国专利申请的优先权,其全部公开内容通过引用并入本文。
技术领域
本公开涉及一种电子装置,并且更具体地,涉及一种存储装置、主机装置及包括存储装置和主机装置的计算系统。
背景技术
半导体存储器装置可以以串被水平布置在半导体衬底上的二维结构或者串被垂直堆叠在半导体衬底上的三维结构形成。三维半导体存储器装置是为了解决二维半导体存储器装置的集成度限制而设计的存储器装置,并且可包括垂直堆叠在半导体衬底上的多个存储器单元。此外,控制器可根据从主机装置接收的请求来控制半导体存储器装置的操作。
发明内容
本公开的实施例提供了一种能够将半导体存储器装置的性能信息提供到主机装置的存储装置及其操作方法。
根据本公开的实施例,一种控制器包括存储器测试控制器和性能信息存储装置。存储器测试控制器从外部装置接收测试请求,向外部装置传输指示是否可以执行与测试请求相对应的测试操作的响应,并且响应于测试请求生成命令。性能信息存储装置存储由半导体存储器装置响应于命令执行的测试操作的结果。
在本公开的实施例中,存储器测试控制器可根据测试请求来确定待执行测试操作的数据的大小。
在本公开的实施例中,响应于从外部装置接收的性能信息请求,控制器可向外部装置提供性能信息存储装置中存储的结果。
根据本公开的另一实施例,一种操作控制器的方法包括:从外部装置接收测试请求;确定是否可以执行与测试请求相对应的测试操作;向外部装置传输指示是否可以执行测试操作的响应;响应于测试请求而生成命令;将命令传输到半导体存储器装置以控制该半导体存储器装置执行测试操作;并且基于测试操作的结果来更新性能信息且存储更新后的性能信息。
在本公开的实施例中,该方法可进一步包括从外部装置接收性能信息请求,并且响应于该性能信息请求而将所存储的性能信息传输到外部装置。
根据本公开的另一实施例,一种计算系统包括存储装置和主机装置。存储装置存储数据。主机装置生成用于测试存储装置的测试请求,并且将测试请求传输到存储装置。存储装置响应于测试请求而对存储装置中包括的半导体存储器装置执行读取测试操作或写入测试操作,并且存储读取测试操作或写入测试操作的结果作为性能信息。
在本公开的实施例中,性能信息可包括读取测试操作期间的读取速度或写入测试操作期间的写入速度中的至少一个,以及指示读取速度或写入速度是否大于预定阈值的数据。
在本公开的实施例中,主机装置可向存储装置传输性能信息请求。存储装置可响应于性能信息请求而将性能信息传输到主机装置。主机装置可基于性能信息中包括的、指示读取速度或写入速度是否大于预定阈值的数据,来确定存储装置是否正常。
根据本公开的又一实施例,提供了一种控制器的操作方法。该方法包括:响应于第一请求,控制存储器装置以执行测量存储器装置的性能的操作;根据最近最少使用方案累积地存储表示测量的性能的信息条目;并且响应于第二请求,提供累积条目中的一个或多个。
本技术可提供一种能够从半导体存储器装置向主机装置提供性能信息的存储装置。
附图说明
图1是示出根据本公开的实施例的主机装置和包括控制器的存储装置的框图。
图2是示出根据本公开的实施例的图1的半导体存储器装置的框图。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKa的电路图。
图5是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKb的电路图。
图6是示出根据本公开的实施例的图2的存储器单元阵列110中包括的多个存储块BLK1至BLKz之中的存储块BLKc的电路图。
图7是示出根据本公开的实施例的图1的控制器控制半导体存储器装置的测试操作的示图。
图8是示出根据本公开的实施例的图1的控制器控制半导体存储器装置的测试操作的另一示图。
图9是示出根据本公开的实施例的性能信息存储装置中存储的性能信息的示图。
图10是示出根据本公开的实施例的性能信息中包括的条目的配置的示图。
图11A至图11E是示出根据本公开的实施例的性能信息存储装置的更新的示图。
图12是示出根据本公开的实施例的图1的控制器响应于主机装置的请求提供性能信息的操作的示图。
图13是示出根据本公开的实施例的操作控制器的方法的流程图。
图14是示出根据本公开的实施例的控制器响应于主机装置的请求提供性能信息的操作的方法的流程图。
图15是示出根据本公开的另一实施例的主机装置和包括控制器的存储装置的框图。
图16是示出根据本公开的实施例的图15的控制器控制半导体存储器装置的测试操作的示图。
图17是示出根据本公开的实施例的图15的控制器控制半导体存储器装置的测试操作的另一示图。
图18是示出根据本公开的实施例的图15的控制器响应于主机装置的请求提供性能信息的操作的示图。
图19是示出根据本公开的另一实施例的操作控制器的方法的流程图。
图20是示出根据本公开的实施例的控制器响应于主机装置的请求提供性能信息的操作的方法的流程图。
图21是示出根据本公开的实施例的从主机装置传输到存储装置的测试请求的示图。
图22是示出根据本公开的实施例的性能信息中包括的条目的另一配置的示图。
图23是示出根据本公开的实施例的包括图22的条目的性能信息的示图。
图24是示出根据本公开的另一实施例的操作控制器的方法的流程图。
图25是示出包括根据本公开的实施例的半导体存储器装置和控制器的存储装置1000的框图。
图26是示出根据本公开的实施例的图25的存储装置的应用示例2000的框图。
图27是示出根据本公开的实施例的包括参照图26描述的存储装置的计算系统的框图。
具体实施方式
本公开的优点和特征以及实现这些优点和特征的方法将通过实施例进行描述,这些实施例将在下文结合附图进行详细描述。然而,本公开不限于本文描述的实施例,而是可以以其他形式实现。提供本实施例以向本公开所属领域的技术人员详细描述本公开的技术精神,使得本领域的技术人员可容易地实施本公开的技术精神。
图1是示出根据本公开的实施例的主机装置300和包括控制器200的存储装置1000的框图。
参照图1,存储装置1000包括半导体存储器装置100和控制器200。另外,存储装置1000与外部装置通信。在实施例中,外部装置可以是主机装置300。在本说明书中,存储装置1000与主机装置300通信,但是本公开不限于此。也就是说,除了主机装置300之外,外部装置还可包括与存储装置1000通信的其他类型的装置。
控制器200控制半导体存储器装置100的全部操作。此外,控制器200基于从主机装置300接收的操作请求来控制半导体存储器装置100的操作。
半导体存储器装置100在控制器200的控制下操作。半导体存储器装置100包括具有多个存储块的存储器单元阵列110。在实施例中,半导体存储器装置100可以是闪速存储器装置。
控制器200可从主机装置300接收写入请求、读取请求、修整(trim)请求等,并且基于接收到的请求控制半导体存储器装置100。更具体地,控制器200可生成用于控制半导体存储器装置100的操作的命令,并且将命令传输到半导体存储器装置100。
半导体存储器装置100被配置成从控制器200接收命令和地址,并且访问存储器单元阵列中由地址选择的区域。也就是说,半导体存储器装置100对由地址选择的区域执行与命令相对应的操作。
例如,半导体存储器装置100可执行编程操作、读取操作和擦除操作。在编程操作期间,半导体存储器装置100可将数据编程在由地址选择的区域。在读取操作期间,半导体存储器装置100可从由地址选择的区域读取数据。在擦除操作期间,半导体存储器装置100可擦除由地址选择的区域中存储的数据。
主机装置300包括测试请求生成器310。测试请求生成器310可生成用于控制存储装置1000执行内部测试操作的测试请求。所生成的测试请求可被传输到存储装置1000的控制器200。控制器200可基于接收到的测试请求,控制半导体存储器装置100对半导体存储器装置100的存储器单元阵列110执行测试操作。此外,控制器200可存储半导体存储器装置100的测试操作结果。
例如,主机装置300可生成自测试请求。自测试请求是在没有测试设备的情况下控制存储装置1000独立执行测试操作的请求。存储装置1000可响应于从主机装置300接收的自测试请求来执行自测试操作。对存储装置1000的自测试请求可用于以下目的。
a)开始短自测试操作(short self-test),
b)开始扩展自测试操作(extended self-test),
c)开始供应商指定的自测试操作(vendor specific self-test),
d)中止进行中的自测试操作。
可由存储装置1000的控制器200执行自测试操作。自测试操作可以是用于测试控制器200的完整性和功能性的诊断测试序列,并且可包括与命名空间相关的介质测试。自测试操作可被划分成一系列的段,并且每个段可由一组供应商指定的测试配置。“自测试结果数据结构”的段号可用于报告目的,例如,以在测试失败时显示失败。在短自测试操作和扩展自测试操作中,在每个段中执行的测试可以是相同的。
根据NVMe基本规范中所述,如下表1所示,命名空间标识符字段可控制存储装置1000的自测试操作中包括的命名空间。为了将命令与从控制器200传输到半导体存储器装置100的命令区分开,在本说明书中,将在NVMe中描述的术语“命令”替换为“请求”。
表1
作为示例,如下表2所示,自测试请求可使用命令Dword 10字段。在这种情况下,可保留所有其他命令指定字段。
表2
位 | 描述 |
31:04 | 保留。 |
03:00 | 自测试代码(STC):该字段指定由自测试请求执行的操作。 |
更具体地,由表2的位(03:00)指定的STC如下表3所示。
表3
值 | 定义 |
0h | 保留 |
1h | 开始短自测试操作 |
2h | 开始扩展自测试操作 |
3h~Dh | 保留 |
Eh | 供应商指定 |
Fh | 中止自测试操作 |
在实施例中,根据NVMe基本规范中所述,处理根据存储装置1000的操作状态接收的自测试命令的方法在下表4中定义。
表4
存储装置1000可维护与自测试相关的日志页面。例如,存储装置1000可具有与自测试相关的日志页面“06h”的日志标识符,并且可指示下面的内容。
a)进行中的装置的独立自测试任务的状态和相应任务的完成率。
b)最后20个自测试操作结果。
“最新自测试结果数据结构”字段中包括的自测试结果数据结构总是最后完成或中止的自测试操作的结果。下一自测试结果数据结构字段包括最近第二次自测试操作的结果。例如,当少于20个自测试任务被完成或中止时,可能需要将未使用的自测试结果数据结构字段的自测试状态字段设置为Fh,并且忽略相应的自测试结果数据结构中的所有其他字段。例如,自测试日志可如下表5所示进行配置。
表5
表6
值 | 定义 |
0h | 不存在进行中的自测试操作。 |
1h | 短自测试操作进行中。 |
2h | 扩展自测试操作进行中。 |
3h~Dh | 保留 |
Eh | 供应商指定 |
Fh | 保留 |
表7
表8
值 | 定义 |
0h | 该任务完成,没有发生错误。 |
1h | 操作由于自测试请求而被中止。 |
2h | 操作由于控制器级重置而被中止。 |
3h | 因为命名空间被从命名空间清单中移除而中止操作。 |
4h | 操作由于NVM格式请求的处理而中止。 |
5h | 在控制器执行自测试操作时发生致命或未知的测试错误,操作未完成。 |
6h | 操作完成,但出现了失败段,失败段是未知的。 |
7h | 操作完成,但出现了一个或多个失败段,在段号字段中显示失败的第一段。 |
8h | 由于未知原因,任务中止。 |
9h | 由于清理(sanitize)任务,任务中止。 |
Ah~Eh | 保留 |
Fh | 条目未使用(不包括测试结果) |
自测试操作可在后台进行。因此,自测试操作可与一些请求同时处理,并且可能需要中止自测试操作以处理另一请求。
当在自测试操作期间接收到暂时中止自测试操作的请求时,控制器200中止自测试操作,处理和完成与接收到的请求相关的操作,然后恢复自测试操作。在自测试操作期间,存储装置1000的子系统的性能可能劣化。
例如,要求在2分钟内完成短自测试操作。可在自测试日志的当前完成率字段中显示短自测试操作的完成率(参见表5)。
简单自测试操作的中止条件如下。
a)自测试操作需要通过影响执行的控制器的控制器级重置(controller levelreset)来中止。
b)自测试操作需要通过NVM格式命令来中止。
c)开始清理操作时,需要中止自测试操作。
d)当处理自测试代码字段被设置为Fh的自测试请求时,需要中止自测试操作。
e)当指明的命名空间从命名空间清单中移除时,可中止自测试操作。
需要在“控制器识别控制器”数据结构的“扩展自测试时间”字段中显示的时间内完成扩展自测试操作。可在自测试日志的当前完成率字段中显示扩展自测试操作的完成率(参见表5)。
在所有控制器级重置都存在的情况下需要持续进行扩展自测试操作,并且在重置完成或电源恢复后需要重新开始扩展自测试操作。
扩展自测试操作的中止条件如下。
a)扩展自测试操作需要由NVM格式命令中止。
b)当清理操作开始时,需要中止扩展自测试操作。
c)当处理自测试代码字段被设置为Fh的自测试请求时,需要中止扩展自测试操作。
e)当指明的命名空间从命名空间清单中移除时,可中止扩展自测试操作。
从控制器200的角度看,测试操作是用于测量半导体存储器装置100的性能的操作。此外,从主机装置300的角度来看,测试操作是用于测量包括控制器200和半导体存储器装置100的存储装置1000的性能的操作。因此,当控制器200将半导体存储器装置100的测试操作结果传输到主机装置300时,主机装置300可将测试操作结果识别为存储装置1000的性能。
更具体地,控制器200包括存储器测试控制器210和性能信息存储装置230。存储器测试控制器210接收由主机装置300的测试请求生成器310生成的测试请求。存储器测试控制器210基于接收到的测试请求来控制半导体存储器装置100的测试操作。更具体地,存储器测试控制器210可生成用于控制半导体存储器装置100执行测试操作的至少一个命令。由存储器测试控制器210生成的命令被传输到半导体存储器装置100。半导体存储器装置100可响应于接收到的命令执行测试操作。
性能信息存储装置230可存储半导体存储器装置100的测试操作结果作为性能信息。
在本公开的情况下,可在存储装置1000内进行独立的性能测试,并且可存储性能测试的性能结果。例如,存储装置1000可基于来自主机装置300的测试请求来执行性能测试操作。在这种情况下,存储装置1000可基于测试请求中包括的参数来执行特定的测试操作。测试请求中包括的参数可包括测试操作的类型、测试目标的范围等。
存储装置1000可存储包括多个性能测试操作结果的性能信息。性能信息可包括多个性能信息条目。每个性能信息条目对应于每个所执行的测试操作的结果信息。在这种情况下,每个性能信息条目可包括所执行的测试操作的序列号、所执行的测试操作的类型、执行测试操作的目标的范围和测试操作的结果。参照图10描述性能信息条目的详细配置。
在上述方法中,存储装置1000可累积和存储与从主机装置300接收的测试请求相对应的测试操作的结果。也就是说,存储装置1000可存储多个测试操作的结果。此外,存储装置1000可响应于来自主机装置300的请求,将所存储的测试操作的结果传输到主机装置300。在这种情况下,多个测试操作的结果可作为性能信息传输到主机装置300。因此,主机装置300可通过存储装置1000的性能信息来识别存储装置1000的状态,并且执行后续操作。例如,当通过从存储装置1000接收的性能信息确定存储装置的性能劣化时,主机装置300可将此作为通知向用户显示。作为另一示例,当通过从存储装置1000接收的性能信息确定存储装置的性能劣化时,可将存储装置1000中存储的数据的至少一部分备份到另一存储装置。
图2是示出根据本公开的实施例的图1的半导体存储器装置的框图。
参照图2,半导体存储器装置100包括存储器单元阵列110、地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150。
存储器单元阵列110包括多个存储块BLK1至BLKz。多个存储块BLK1至BLKz通过字线WL连接到地址解码器120。多个存储块BLK1至BLKz通过位线BL1至BLm连接到读取和写入电路130。多个存储块BLK1至BLKz中的每一个包括多个存储器单元。在实施例中,多个存储器单元是非易失性存储器单元,并且可由具有垂直沟道结构的非易失性存储器单元配置。存储器单元阵列110可被配置为二维结构的存储器单元阵列。根据实施例,存储器单元阵列110可被配置为三维结构的存储器单元阵列。存储器单元阵列中包括的多个存储器单元中的每一个可存储至少一位数据。在实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储1位数据的单层单元(SLC)。在另一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储2位数据的多层单元(MLC)。在另一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储3位数据的三层单元。在另一实施例中,存储器单元阵列110中包括的多个存储器单元中的每一个可以是存储4位数据的四层单元。根据实施例,存储器单元阵列110可包括多个存储器单元,每个存储器单元存储5位或更多位数据。
地址解码器120、读取和写入电路130、控制逻辑140和电压生成器150可作为驱动存储器单元阵列110的外围电路来操作。地址解码器120通过字线WL连接到存储器单元阵列110。地址解码器120被配置成响应于控制逻辑140的控制而操作。地址解码器120通过半导体存储器装置100内的输入/输出缓冲器(未示出)来接收地址。
地址解码器120被配置成对所接收的地址之中的块地址进行解码。地址解码器120根据经解码的块地址来选择至少一个存储块。另外,在读取操作期间,地址解码器120在读取电压施加操作中将电压生成器150生成的读取电压Vread施加到所选择存储块中的所选择字线,并且将通过电压Vpass施加到剩余的未选择字线。另外,在编程验证操作期间,地址解码器120将电压生成器150生成的验证电压施加到所选择存储块中的所选择字线,并且将通过电压Vpass施加到剩余的未选择字线。
地址解码器120被配置成对所接收的地址的列地址进行解码。地址解码器120将经解码的列地址传输到读取和写入电路130。
半导体存储器装置100的读取操作和编程操作以页面为单位进行。在请求读取操作和编程操作时接收的地址包括块地址、行地址和列地址。地址解码器120根据块地址和行地址选择一个存储块和一个字线。列地址通过地址解码器120进行解码,并且被提供到读取和写入电路130。
地址解码器120可包括块解码器、行解码器、列解码器、地址缓冲器等。
读取和写入电路130包括多个页面缓冲器PB1至PBm。读取和写入电路130可在存储器单元阵列110的读取操作期间作为“读取电路”来操作,并且可在存储器单元阵列110的写入操作期间作为“写入电路”来操作。多个页面缓冲器PB1至PBm通过位线BL1至BLm连接到存储器单元阵列110。在读取操作和编程验证操作期间,为了感测存储器单元的阈值电压,多个页面缓冲器PB1至PBm在向连接到存储器单元的位线连续提供感测电流时感测根据相应存储器单元的编程状态流过感测节点的电流量的变化,并且锁存所感测的变化作为感测数据。读取和写入电路130响应于从控制逻辑140输出的页面缓冲器控制信号而操作。
在读取操作期间,读取和写入电路130感测存储器单元的数据,临时存储读取数据,并且将数据DATA输出到半导体存储器装置100的输入/输出缓冲器(未显示)。在实施例中,除了页面缓冲器(或页面寄存器)之外,读取和写入电路130还可包括列选择电路等。
控制逻辑140连接到地址解码器120、读取和写入电路130以及电压生成器150。控制逻辑140通过半导体存储器装置100的输入/输出缓冲器(未示出)接收命令CMD和控制信号CTRL。控制逻辑140被配置成响应于控制信号CTRL来控制半导体存储器装置100的全部操作。另外,控制逻辑140输出用于调整多个页面缓冲器PB1至PBm的感测节点预充电电位电平的控制信号。控制逻辑140可控制读取和写入电路130以执行存储器单元阵列110的读取操作。
电压生成器150响应控制逻辑140输出的控制信号,在读取操作期间生成读取电压Vread和通过电压Vpass。为了生成具有各种电压电平的多个电压,电压生成器150可包括接收内部电源电压的多个泵浦电容器,并且响应于控制逻辑140的控制,通过选择性地启用多个泵浦电容器来生成多个电压。
地址解码器120、读取和写入电路130和电压生成器150可用作对存储器单元阵列110执行读取操作、写入操作和擦除操作的“外围电路”。外围电路基于控制逻辑140的控制对存储器单元阵列110执行读取操作、写入操作和擦除操作。
图3是示出根据本公开的实施例的图2的存储器单元阵列的示图。
参照图3,存储器单元阵列110包括多个存储块BLK1至BLKz。每个存储块可具有三维结构。每个存储块包括堆叠在衬底上的多个存储器单元。这样的多个存储器单元沿+X方向、+Y方向和+Z方向布置。参照图4和图5更详细地描述每个存储块的结构。
图4是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKa的电路图。
参照图4,存储块BLKa包括多个单元串CS11至CS1m和CS21至CS2m。在实施例中,多个单元串CS11至CS1m和CS21至CS2m中的每一个可形成为“U”形。在存储块BLKa中,m个单元串被布置在行方向上,即,+X方向。在图4中,两个单元串被布置在列方向上,即+Y方向。然而,这是为便于描述,可理解的是,三个或更多个单元串可布置在列方向上。
多个单元串CS11至CS1m和CS21至CS2m中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn、管道晶体管PT以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。在实施例中,可在每个单元串中设置用于提供沟道层的柱。在实施例中,可在每个单元串中设置用于提供沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层中的至少一个的柱。
每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCp之间。
在实施例中,布置在相同行中的单元串的源极选择晶体管连接到在行方向上延伸的源极选择线,并且布置在不同行中的单元串的源极选择晶体管连接到不同的源极选择线。在图4中,第一行的单元串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)至第n存储器单元MCp+1至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。
布置在列方向上的单元串连接到在列方向上延伸的位线。在图4中,第一列的单元串CS11和CS21连接到第一位线BL1。第m列的单元串CS1m和CS2m连接到第m位线BLm。
布置在行方向中的单元串中、联接到相同字线的存储器单元配置一个页面。例如,第一行的单元串CS11至CS1m之中的、连接到第一字线WL1的存储器单元配置一个页面。第二行的单元串CS21至CS2m之中的、连接到第一字线WL1的存储器单元配置另一页面。可通过选择漏极选择线DSL1和DSL2中的一个来选择在一个行方向上布置的单元串。可通过选择字线WL1至WLn中的一个来选择所选择的单元串的一个页面。
在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的偶数编号的单元串可连接到偶数位线,并且布置在行方向上的单元串CS11至CS1m或CS21至CS2m之中的奇数编号的单元串可连接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCp之间的电场。可选地,设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MCp+1至MCn之间的电场。随着设置的虚设存储器单元越多,存储块BLKa的操作的可靠性提高,然而,存储块BLKa的大小增加。随着设置的虚设存储器单元越少,存储块BLKa的大小可减小,然后,存储块BLKa的操作的可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元中的每一个可具有所需的阈值电压。在对存储块BLKa的擦除操作之前或之后,可对所有或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到连接到相应虚设存储器单元的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图5是示出根据本公开的实施例的图3的存储块BLK1至BLKz之中的存储块BLKb的电路图。
参照图5,存储块BLKb包括多个单元串CS11'至CS1m'和CS21'至CS2m'。多个单元串CS11'至CS1m'和CS21'至CS2m'中的每一个沿+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之外,图5的存储块BLKb具有与图4的存储块BLKa的等效电路相似的等效电路。
在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。另外,布置在行方向上的单元串CS11'至CS1m'和CS21'至CS2m'之中的偶数编号的单元串可连接到偶数位线,并且布置在行方向上的单元串CS11'至CS1m'和CS21'至CS2m'之中的奇数编号的单元串可连接到奇数位线。
在实施例中,第一至第n存储器单元MC1至MCn中的至少一个可用作虚设存储器单元。例如,设置至少一个虚设存储器单元以减小源极选择晶体管SST与存储器单元MC1至MCn之间的电场。可选地,设置至少一个虚设存储器单元以减小漏极选择晶体管DST与存储器单元MC1至MCn之间的电场。随着设置的虚设存储器单元越多,存储块BLKb的操作的可靠性提高,然而,存储块BLKb的大小增加。随着设置的虚设存储器单元越少,存储块BLKb的大小可减小,然后,存储块BLKb的操作的可靠性可能降低。
为了有效地控制至少一个虚设存储器单元,虚设存储器单元中的每一个可具有所需的阈值电压。在对存储块BLKb的擦除操作之前或之后,可对所有或部分虚设存储器单元执行编程操作。当在执行编程操作之后执行擦除操作时,通过控制施加到连接到相应虚设存储器单元的虚设字线的电压,虚设存储器单元可具有所需的阈值电压。
图6是示出根据本公开的实施例的图2的存储器单元阵列110中包括的多个存储块BLK1至BLKz之中的存储块BLKc的电路图。
参照图6,存储块BLKc包括多个单元串CS1至CSm。多个单元串CS1至CSm可分别连接到多个位线BL1至BLm。单元串CS1至CSm中的每一个包括至少一个源极选择晶体管SST、第一至第n存储器单元MC1至MCn以及至少一个漏极选择晶体管DST。
选择晶体管SST和DST以及存储器单元MC1至MCn可具有相似的结构。在实施例中,选择晶体管SST和DST以及存储器单元MC1至MCn中的每一个可包括沟道层、隧穿绝缘层、电荷存储层和阻挡绝缘层。每个单元串的源极选择晶体管SST连接在公共源极线CSL和存储器单元MC1至MCn之间。
每个单元串的第一至第n存储器单元MC1至MCn连接在源极选择晶体管SST和漏极选择晶体管DST之间。
每个单元串的漏极选择晶体管DST连接在相应的位线和存储器单元MC1至MCn之间。
连接到相同字线的存储器单元配置一个页面。可通过选择漏极选择线DSL来选择单元串CS1至CSm。可通过选择字线WL1至WLn中的一个来选择所选择的单元串之中的一个页面。
在另一实施例中,可设置偶数位线和奇数位线来代替第一至第m位线BL1至BLm。分别地,单元串CS1至CSm之中偶数编号的单元串可连接到偶数位线,并且奇数编号的单元串可连接到奇数位线。
图7是示出根据本公开的实施例的图1的控制器控制半导体存储器装置的测试操作的示图。参照图7描述控制器控制半导体存储器装置的写入测试操作。
参照图7,首先,主机装置300向存储装置的控制器200传输写入测试请求RQWTS(①)。主机装置300可确定存储装置在必要时执行写入测试操作。在这种情况下,主机装置300的测试请求生成器310可生成写入测试请求RQWTS。写入测试请求RQWTS可包括关于待由存储装置执行的写入测试操作的目标范围的信息。例如,主机装置300可确定对存储装置中包括的1兆字节(MB)的存储区域执行写入测试操作。在这种情况下,写入测试请求RQWTS可包括指示写入测试操作的执行范围为1MB的信息。
控制器200可根据接收到的写入测试请求RQWTS生成编程命令CMDPGM。更具体地,响应于写入测试请求RQWTS,控制器200的存储器测试控制器210可生成与写入测试请求RQWTS中包括的写入测试操作的目标范围相对应的编程命令CMDPGM。也就是说,当写入测试请求RQWTS包括指示写入测试操作的执行范围为1MB的信息时,存储器测试控制器210可生成编程命令CMDPGM,用于对半导体存储器装置100中包括的存储器单元阵列的1MB的存储区域的数据进行编程。
控制器200可将所生成的编程命令CMDPGM传输到半导体存储器装置100(②)。控制器200可将编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。在这种情况下,编程数据DATA可以是从主机装置300接收的用于写入测试操作的数据。主机装置300可将特定的数据与写入测试请求RQWTS一起传输到控制器200。
在另一实施例中,编程数据DATA可以不是从主机传输的数据,而可以是在存储装置1000中生成的数据。因此,控制器200可将任意数据作为编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。在实施例中,与编程命令CMDPGM一起传输到半导体存储器装置100的编程数据DATA可以是由存储器测试控制器210任意生成的虚拟数据。在另一实施例中,与编程命令CMDPGM一起被传输到半导体存储器装置100的编程数据DATA可以是被高速缓存在控制器200中的高速缓存数据。
更具体地,控制器200可包括写入高速缓存或读取高速缓存。写入高速缓存可以是存储与来自主机装置300的写入请求一起被接收的数据的高速缓存。在实施例中,控制器200可将写入高速缓存中存储的数据作为用于写入测试操作的编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。作为示例,控制器200可将写入高速缓存中存储的数据中最近存储的数据作为编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。
读取高速缓存可以是存储响应于来自主机装置300的读取请求而从半导体存储器装置100读取的数据的高速缓存。在实施例中,控制器200可将读取高速缓存中存储的数据作为用于写入测试操作的编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。作为示例,控制器200可将读取高速缓存中存储的数据中最近存储的数据作为编程数据DATA与编程命令CMDPGM一起传输到半导体存储器装置100。
响应于接收到的编程命令CMDPGM,半导体存储器装置100执行编程操作。当半导体存储器装置100的编程操作完成时,控制器200可确定半导体存储器装置100执行编程操作所花费的时间。控制器200可将执行编程操作所花费的时间存储在性能信息存储装置中(③)。在这种情况下,执行特定范围的写入操作所花费的时间可对应于存储装置1000的性能信息。控制器200可将执行编程操作所花费的时间存储在性能信息存储装置230中,作为关于存储装置1000的写入操作的性能信息。
图8是示出根据本公开的实施例的图1的控制器控制半导体存储器装置的测试操作的另一示图。参照图8描述控制器控制半导体存储器装置的读取测试操作。
参照图8,首先,主机装置300向存储装置的控制器200传输读取测试请求RQRTS(①)。主机装置300可确定存储装置在必要时执行读取测试操作。在这种情况下,主机装置300的测试请求生成器310可生成读取测试请求RQRTS。读取测试请求RQRTS可包括与待由存储装置执行的读取测试操作的目标范围有关的信息。例如,主机装置300可确定对存储装置中包括的5MB的存储区域执行读取测试操作。在这种情况下,读取测试请求RQRTS可包括指示读取测试操作的执行范围为5MB的信息。
控制器200可根据接收到的读取测试请求RQRTS生成读取命令CMDRD。更具体地,响应于读取测试请求RQRTS,控制器200的存储器测试控制器210可生成与读取测试请求RQRTS中包括的读取测试操作的目标范围相对应的读取命令CMDRD。也就是说,当读取测试请求RQRTS包括指示读取测试操作的执行范围为5MB的信息时,存储器测试控制器210可生成读取命令CMDRD,用于对半导体存储器装置100中包括的存储器单元阵列的5MB的存储区域的数据进行读取。
控制器200可将所生成的读取命令CMDRD传输到半导体存储器装置100(②)。控制器200可将读取地址与读取命令CMDRD一起传输到半导体存储器装置100。读取地址可以是针对读取测试任意选择的物理地址。也就是说,控制器200可将任意的读取地址与读取命令CMDRD一起传输到半导体存储器装置100。
响应于接收到的读取命令CMDRD,半导体存储器装置100执行读取操作。半导体存储器装置100可将读取的数据DATA传输到控制器200(③)。如上所述,当半导体存储器装置100的读取操作完成时,控制器200可确定半导体存储器装置100执行读取操作所花费的时间。控制器200可将执行读取操作所花费的时间存储在性能信息存储装置中(④)。在这种情况下,执行特定范围的读取操作所花费的时间可对应于存储装置1000的性能信息。控制器200可将执行读取操作所花费的时间存储在性能信息存储装置230中,作为关于存储装置1000的读取操作的性能信息。
图9是示出根据本公开的实施例的性能信息存储装置中存储的性能信息的示图。
参照图9,性能信息存储装置230可存储性能信息235。性能信息存储装置230可被包括在控制器200中,并且可被配置为易失性存储器装置或非易失性存储器装置。
如图9所示,根据实施例的性能信息235可包括多个性能信息条目。一个性能信息条目可包括根据一个测试操作的结果。在图9中,性能信息235包括N个性能信息条目。随着性能信息存储装置230的存储空间增加,N可以变成相对较大的值。随着性能信息存储装置230的存储空间减小,N可以变成相对较小的值。在下文中,参照图10和图11A至图11E更详细地描述性能信息235中包括的性能信息条目。
图10是示出根据本公开的实施例的性能信息中包括的条目的配置的示图。
参照图10,一个性能信息条目可包括四个字段。第一字段可指示测试操作的序列号。第二字段可指示测试操作的类型。例如,写入测试或读取测试对应于测试操作的类型中的一种。第三字段可指示测试目标范围。如在上述示例中,测试目标范围可指对其执行测试操作的目标的数据大小。第四字段可指示测试结果。例如,当测试类型为写入测试时,测试结果可指示对测试目标范围执行写入操作所花费的时间。作为另一示例,当测试类型为读取测试时,测试结果可指示对测试目标范围执行读取操作所花费的时间。
下文中,参照图11A至图11E示出随着测试操作的重复执行而更新性能信息的方法。
图11A至图11E是示出根据本公开的实施例的性能信息存储装置的更新的示图。
参照图11A,示出首先对存储装置1000进行测试操作时更新性能信息存储装置的方法。例如,主机装置300可生成请求对1MB的目标范围执行读取测试的读取测试请求RQRTS。响应于读取测试请求RQRTS,存储装置1000可对任意设置的1MB范围执行读取操作。当读取操作完成时,可测量读取操作所花费的时间T1。存储装置1000的控制器200可生成与第一测试操作相对应的性能信息条目,并且将该性能信息条目存储在性能信息存储装置230中。因此,生成如图11A所示的性能信息235a,并且将所生成的性能信息235a存储在性能信息存储装置230中。此时,性能信息235a可包括一个性能信息条目。
此后,主机装置300可生成请求对1MB的目标范围执行写入测试的写入测试请求RQWTS。响应于写入测试请求RQWTS,存储装置1000可对任意生成的大小为1MB的数据执行写入操作。当数据的写入操作完成时,可测量写入操作所花费的时间T2。存储装置1000的控制器200可生成与第二测试操作相对应的性能信息条目,并且将该性能信息条目存储在性能信息存储装置230中。因此,生成如图11B所示的性能信息235b,并且将所生成的性能信息235b存储在性能信息存储装置230中。此时,性能信息235b可包括两个性能信息条目。
此后,主机装置300可生成请求对5MB的目标范围执行读取测试的读取测试请求RQRTS。响应于读取测试请求RQRTS,存储装置1000可对任意设置的5MB的范围执行读取操作。当读取操作完成时,可测量读取操作所花费的时间T3。存储装置1000的控制器200可生成与第三测试操作相对应的性能信息条目,并且将该性能信息条目存储在性能信息存储装置230中。因此,生成如图11C所示的性能信息235c,并且将所生成的性能信息235c存储在性能信息存储装置230中。此时,性能信息235c可包括三个性能信息条目。
在上述方法中,每当主机装置300向存储装置1000传输测试请求时,存储装置可执行与接收到的测试请求相对应的测试操作,并且更新性能信息存储装置230中的测试操作的性能结果。图11D示出由执行10次测试操作的结果而生成的性能信息235d。
当性能信息存储装置230包括能够存储10个性能信息条目的存储空间时,为了存储第11个性能信息条目,需要删除已存储的10个性能信息条目中的一个。在这种情况下,如图11E所示,可从性能信息235e中排除与最久执行的第一测试操作相关的性能信息条目,并且由第十一测试操作的结果而生成的性能信息条目可被包括在性能信息235e中。在类似的方法中,当执行第十二测试操作时,可从性能信息中排除与第二测试操作相关的性能信息条目,并且由第十二测试操作的结果而生成的性能信息条目可被包括在性能信息中。在这种情况下,性能信息存储装置230中存储的性能信息可包括由最近执行的10次测试操作的结果而生成的性能信息条目。
如上所述,从控制器200的角度来看,测试操作是用于测量半导体存储器装置100的性能的操作。因此,性能信息存储装置230中存储的性能信息可以是指示半导体存储器装置100的操作性能的信息。此外,从主机装置300的角度来看,测试操作是用于测量包括控制器200和半导体存储器装置100的存储装置1000的性能的操作。当性能信息存储装置230中存储的性能信息被传输到主机装置300时,主机装置300可将性能信息识别为指示存储装置1000的性能的信息。
图12是示出根据本公开的实施例的图1的控制器响应于主机装置的请求提供性能信息的操作的示图。
主机装置300可能在特定时间点需要性能信息存储装置230中存储的性能信息。在这种情况下,主机装置300可生成性能信息请求RQPI,并且将所生成的性能信息请求RQPI传输到存储装置1000(①)。
响应于接收到的性能信息请求RQPI,存储装置1000的控制器200可向主机装置300传输性能信息存储装置230中存储的性能信息PI 235(②)。如上所述,主机装置300可将从控制器200接收的性能信息PI识别为指示存储装置1000的性能的信息。
图13是示出根据本公开的实施例的操作控制器的方法的流程图。
参照图13,根据本公开的实施例的操作控制器的方法包括:从主机装置300接收测试请求(S110);生成用于执行与接收到的测试请求相对应的测试操作的命令(S130);将所生成的命令传输到半导体存储器装置(S150);根据半导体存储器装置的测试操作结果来更新性能信息,并且存储更新后的性能信息(S170)。
在操作S110中,控制器200可从主机装置300接收测试请求。测试请求可以是写入测试请求RQWTS或读取测试请求RQRTS。
在操作S130中,控制器200的存储器测试控制器210可生成用于控制半导体存储器装置100执行与接收到的测试请求相对应的测试操作的命令。当在操作S110中接收到的测试请求是写入测试请求RQWTS时,在操作S130中生成的命令可以是编程命令CMDPGM。当在操作S110中接收到的测试请求是读取测试请求RQRTS时,在操作S130中生成的命令可以是读取命令CMDRD。
在操作S150中,控制器200将所生成的命令传输到半导体存储器装置100。因此,半导体存储器装置100可执行与接收到的命令相对应的操作。当半导体存储器装置100的操作完成时,在操作S170中,控制器200基于半导体存储器装置的测试操作的结果来更新性能信息。也就是说,控制器200可生成与接收到的测试请求相对应的性能信息条目。此外,控制器200可更新性能信息以将所生成的性能信息条目包括在性能信息中,并且将更新后的性能信息存储在性能信息存储装置230中。
图14是示出根据本公开的实施例的控制器响应于主机装置的请求提供性能信息的操作的方法的流程图。
参照图14,操作控制器200的方法包括:从主机装置300接收性能信息请求RQPI(S210),并且将性能信息存储装置230中存储的性能信息传输到该主机装置(S230)。
参照图13和图14,根据本公开的实施例的控制器200可控制存储装置1000以根据来自主机装置300的请求执行测试操作,并且将测试结果作为存储装置1000的性能信息进行存储。当存在来自主机装置300的性能信息请求时,控制器200可向主机装置300提供最新的性能信息。
图15是示出根据本公开的另一实施例的主机装置和包括控制器的存储装置的框图。
参照图15,存储装置1000'包括半导体存储器装置100'和控制器200'。此外,存储装置1000'与主机装置300通信。控制器200'控制半导体存储器装置100'的全部操作。此外,控制器200'基于从主机装置300接收的操作请求来控制半导体存储器装置100'的操作。
半导体存储器装置100'在控制器200'的控制下操作。半导体存储器装置100'包括具有多个存储块的存储器单元阵列110'。在实施例中,半导体存储器装置100'可以是闪速存储器装置。半导体存储器装置100'的存储器单元阵列110'可包括性能信息存储区域115'。
控制器200'可从主机装置300接收写入请求、读取请求、修整请求等,并且基于接收到的请求控制半导体存储器装置100'。更具体地,控制器200'可生成用于控制半导体存储器装置100'的操作的命令,并且将命令传输到半导体存储器装置100'。
半导体存储器装置100'被配置成从控制器200'接收命令和地址,并且访问存储器单元阵列中的由地址选择的区域。也就是说,半导体存储器装置100'对由地址选择的区域执行与命令相对应的操作。
主机装置300包括测试请求生成器310。测试请求生成器310可生成用于控制存储装置1000'执行内部测试操作的测试请求。所生成的测试请求可被传输到存储装置1000'的控制器200'。控制器200'可基于接收到的测试请求来控制半导体存储器装置100'对半导体存储器装置100'的存储器单元阵列110'执行测试操作。
控制器200'可控制半导体存储器装置100',以将半导体存储器装置100'的测试操作结果存储在性能信息存储区域115'中。
更具体地,控制器200'包括存储器测试控制器210'。存储器测试控制器210'接收由主机装置300的测试请求生成器310生成的测试请求。存储器测试控制器210'基于接收到的测试请求来控制半导体存储器装置100'的测试操作。更具体地,存储器测试控制器210'可生成用于控制半导体存储器装置100'执行测试操作的至少一个命令。由存储器测试控制器210'生成的命令被传输到半导体存储器装置100'。半导体存储器装置100'可响应于接收到的命令而执行测试操作。
在半导体存储器装置100'的测试操作后,控制器200'可基于半导体存储器装置100'的测试操作结果来更新性能信息。此外,控制器200'可控制半导体存储器装置100'将更新后的性能信息编程到性能存储区域115'中。
参照图1,存储装置1000的控制器200被配置成将性能信息存储在控制器200中包括的性能信息存储装置230中。另一方面,图15所示的控制器200'控制半导体存储器装置100'以将性能信息存储在半导体存储器装置100'的存储器单元阵列110'中包括的性能信息存储区域115'中。
图16是示出根据本公开的实施例的图15的控制器控制半导体存储器装置的测试操作的示图。参照图16描述控制器控制半导体存储器装置的写入测试操作。
参照图16,首先,主机装置300向存储装置的控制器200'传输写入测试请求RQWTS(①)。例如,主机装置300可确定对存储装置中包括的1兆字节(MB)的存储区域执行写入测试操作。在这种情况下,写入测试请求RQWTS可包括指示写入测试操作的执行范围为1MB的信息。
控制器200'可根据接收到的写入测试请求RQWTS生成编程命令CMDPGM1。更具体地,响应于写入测试请求RQWTS,控制器200'的存储器测试控制器210'可生成与写入测试请求RQWTS中包括的写入测试操作的目标范围相对应的编程命令CMDPGM1。也就是说,当写入测试请求RQWTS包括指示写入测试操作的执行范围为1MB的信息时,存储器测试控制器210'可生成编程命令CMDPGM1,用于对半导体存储器装置100'中包括的存储器单元阵列的1MB的存储区域的数据进行编程。
控制器200'可将所生成的编程命令CMDPGM1传输到半导体存储器装置100'(②)。控制器200'可将编程数据DATA与编程命令CMDPGM1一起传输到半导体存储器装置100'。在这种情况下,编程数据DATA可以不是从主机装置300接收的用户数据,但可以是用于存储装置1000'的写入测试的数据。因此,控制器200'可将任意数据与编程命令CMDPGM1一起传输到半导体存储器装置100'。在实施例中,与编程命令CMDPGM1一起被传输到半导体存储器装置100'的编程数据DATA可以是由存储器测试控制器210'任意生成的虚拟数据。在另一实施例中,与编程命令CMDPGM1一起被传输到半导体存储器装置100'的编程数据DATA可以是被高速缓存在控制器200'中的高速缓存数据。
响应于接收到的编程命令CMDPGM1,半导体存储器装置100'执行编程操作。当半导体存储器装置100'的编程操作完成时,控制器200'可确定半导体存储器装置100'执行编程操作所花费的时间。控制器200'可更新性能信息,以使执行编程操作所花费的时间被包括在性能信息存储装置中。控制器200'可控制半导体存储器装置100'以对更新后的性能信息进行编程。为此,控制器200'可将编程命令CMDPGM2与更新后的性能信息数据DATAPI一起传输到半导体存储器装置100'(③)。响应于接收到的编程命令CMDPGM2,半导体存储器装置100'可将更新后的性能信息数据DATAPI编程到性能信息存储区域115'中。
图17是示出根据本公开的实施例的图15的控制器控制半导体存储器装置的测试操作的另一示图。参照图17描述控制器控制半导体存储器装置的读取测试操作。
参照图17,首先,主机装置300向存储装置的控制器200'传输读取测试请求RQRTS(①)。读取测试请求RQRTS可包括与待由存储装置执行的读取测试操作的目标范围相关的信息。例如,主机装置300可确定对存储装置中包括的5MB的存储区域执行读取测试操作。在这种情况下,读取测试请求RQRTS可包括指示读取测试操作的执行范围为5MB的信息。
控制器200'可根据接收到的读取测试请求RQRTS生成读取命令CMDRD。更具体地,响应于读取测试请求RQRTS,控制器200'的存储器测试控制器210'可生成与读取测试请求RQRTS中包括的读取测试操作的目标范围相对应的读取命令CMDRD。也就是说,当读取测试请求RQRTS包括指示读取测试操作的执行范围为5MB的信息时,存储器测试控制器210'可生成读取命令CMDRD,用于对半导体存储器装置100'中包括的存储器单元阵列的5MB的存储区域的数据进行读取。
控制器200'可将所生成的读取命令CMDRD传输到半导体存储器装置100'(②)。控制器200'可将读取地址与读取命令CMDRD一起传输到半导体存储器装置100'。读取地址可以是针对读取测试任意选择的物理地址。也就是说,控制器200'可将任意的读取地址与读取命令CMDRD一起传输到半导体存储器装置100'。
响应于接收到的读取命令CMDRD,半导体存储器装置100'执行读取操作。半导体存储器装置100'可将读取数据DATA传输到控制器200'(③)。如上所述,当半导体存储器装置100'的读取操作完成时,控制器200'可确定半导体存储器装置100'执行读取操作所花费的时间。
控制器200'可更新性能信息,以包括执行读取操作所需的时间。控制器200'可控制半导体存储器装置100'以对包括更新后的性能信息数据DATAPI的数据进行编程。为此,控制器200'可将编程命令CMDPGM与包括更新后的性能信息数据DATAPI的数据一起传输到半导体存储器装置100'(④)。响应于接收到的编程命令CMDPGM,半导体存储器装置100'可将包括更新后的性能信息数据DATAPI的数据编程到性能信息存储区域115'中。
图18是示出根据本公开的实施例的图15的控制器响应于主机装置的请求提供性能信息的操作的示图。
在特定时间,主机装置300可能需要存储装置1000'中存储的性能信息PI。在这种情况下,主机装置300可生成性能信息请求RQPI,并且将所生成的性能信息请求RQPI传输到存储装置1000'(①)。
响应于接收到的性能信息请求RQPI,存储装置1000'的控制器200'可生成读取命令CDMRD,用于读取性能信息存储区域115'中存储的性能信息数据DATAPI。控制器200'可将所生成的读取命令CDMRD传输到半导体存储器装置100'(②)。
响应于接收到的读取命令CDMRD,半导体存储器装置100'读取性能信息存储区域115'中存储的性能信息数据DATAPI。半导体存储器装置100'可将读取的性能信息数据DATAPI传输到控制器200'(③)。
控制器200'可从半导体存储器装置100'接收性能信息数据DATAPI,并且根据接收到的性能信息数据DATAPI生成性能信息PI 235。在这种情况下,性能信息数据DATAPI和性能信息PI 235可以是基本相同的数据。控制器200'可将性能信息PI 235传输到主机装置300(④)。
图19是示出根据本公开的另一实施例的操作控制器的方法的流程图。
参照图19,根据本公开的另一实施例的操作控制器的方法包括:从主机装置300接收测试请求(S310);生成用于执行与接收到的测试请求相对应的测试操作的命令(S330);将所生成的命令传输到半导体存储器装置(S350);根据半导体存储器装置的测试操作结果更新性能信息,并且生成对更新后的性能信息进行编程的命令(S370);并且将所生成的命令和更新后的性能信息传输到半导体存储器装置(S390)。
在操作S310中,控制器200'可从主机装置300接收测试请求。测试请求可以是写入测试请求RQWTS或读取测试请求RQRTS。
在操作S330中,控制器200'的存储器测试控制器210'可生成控制半导体存储器装置100'执行与接收到的测试请求相对应的测试操作的命令。当在操作S310中接收到的测试请求是写入测试请求RQWTS时,在操作S330中生成的命令可以是编程命令CMDPGM。当在操作S310中接收到的测试请求是读取测试请求RQRTS时,在操作S330中生成的命令可以是读取命令CMDRD。
在操作S350中,控制器200'将所生成的命令传输到半导体存储器装置100'。因此,半导体存储器装置100'可执行与接收到的命令相对应的操作。当半导体存储器装置100'的操作完成时,在操作S370中,控制器200'基于半导体存储器装置的测试操作的结果来更新性能信息。也就是说,控制器200'可生成与接收到的测试请求相对应的性能信息条目。控制器200'可更新性能信息,以将所生成的性能信息条目包括到性能信息中,并且可生成用于对更新后的性能信息进行编程的命令。
在操作S390中,控制器200'可将所生成的命令和更新后的性能信息传输到半导体存储器装置100'。半导体存储器装置100'可基于接收到的命令将更新后的性能信息存储在存储器单元阵列110'的性能信息存储区域115'中。
图20是示出根据本公开的实施例的控制器响应于主机装置的请求提供性能信息的操作的方法的流程图。
参照图20,操作控制器200'的方法包括:从主机装置300接收性能信息请求RQPI(S410);生成用于读取性能信息存储区域中存储的数据的命令(S430);将所生成的命令传输到半导体存储器装置(S450);接收由半导体存储器装置读取的数据(S470);并且将接收到的数据作为性能信息传输到主机装置(S490)。
参照图18,在操作S410中,控制器200'可从主机装置300接收性能信息请求RQPI。因此,控制器200'可生成用于读取性能信息数据的读取命令CMDRD(S430)。控制器200'可将所生成的读取命令CMDRD传输到半导体存储器装置100'(S450)。响应于读取命令CMDRD,半导体存储器装置100'可读取性能信息存储区域115'中存储的性能信息数据DATAPI。控制器200'可接收由半导体存储器装置100'读取的性能信息数据DATAPI(S470)。控制器200'可基于接收到的性能信息数据DATAPI生成性能信息PI,并且将所生成的性能信息传输到主机装置300(S490)。
参照图19和图20,根据本公开的另一实施例的控制器200'可控制存储装置1000'以根据来自主机装置300的请求执行测试操作,并且生成测试结果作为存储装置1000'的性能信息。控制器200'可控制半导体存储器装置100'以将所生成的性能信息作为性能信息数据DATAPI存储在存储器单元阵列110'的性能信息存储区域115'中。当存在来自主机装置300的性能信息请求时,控制器200'可控制半导体存储器装置100'以读取被更新为最近状态的性能信息数据DATAPI。控制器200'可基于所读取的性能信息数据DATAPI生成性能信息PI,并且将所生成的性能信息PI提供到主机装置300。
图21是示出根据本公开的实施例的从主机装置传输到存储装置的测试请求的示图。
参照图21,主机装置300可生成包括指示测试类型、测试时间和测试目标范围中的每一个的字段的测试请求。测试请求的第一字段可指示待由存储装置1000执行的测试操作的类型。例如,写入测试或读取测试对应于测试操作的类型中的一种。
第二字段可指示执行目标测试操作的持续时间。例如,主机装置300可能希望指定待由存储装置1000执行的测试操作的持续时间。例如,当测试时间为1秒(sec)时,测试请求的第二字段可利用指示1秒(sec)的数据来填充。在这种情况下,接收相应测试请求的存储装置1000可继续进行1秒的测试操作。在这种方法中,主机装置300可控制由存储装置1000执行的测试操作时间。测试请求的第三字段可指示测试目标范围。如在上述示例中,测试目标范围可指的是对其执行测试操作的目标的数据大小。
图22是示出根据本公开的实施例的性能信息中包括的条目的另一配置的示图。参照图22,示出包括比图10的那些数据字段更多的数据字段的性能信息条目。更具体地,参照图22,一个性能信息条目可包括七个字段。第一字段可指示测试操作的序列号。第二字段可指示测试操作的类型。例如,写入测试或读取测试对应于测试操作的类型中的一种。第三字段可指示测试操作的持续时间。例如,当图21所示的从主机装置300接收的测试请求的第二字段指示的值为1秒(sec)时,存储装置1000可继续进行1秒的相应测试操作。
第四字段可指示测试目标范围。如在上述示例中,测试目标范围可指的是对其执行测试操作的目标的数据大小。第五字段和第六字段可指示测试结果。其中,第五字段可指示在测试操作成功时的特定测量值。例如,当测试类型是写入测试时,测试结果可指示在对测试目标范围的写入操作中测量的写入速度。作为另一示例,当测试类型是读取测试时,测试结果可指示在对测试目标范围的读取操作中测量的读取速度。第六字段可指示测试操作的性能状态。例如,当写入操作失败时,条目的第六字段可被填充指示写入操作失败的数据。作为另一示例,当读取操作成功时,条目的第六字段可被填充指示读取操作成功的数据。因此,测试操作的结果可包括指示测量值的第五字段和指示测试性能状态的第六字段。仅当测试操作成功时,第五字段才可填充有数据。
第七字段是指示作为测试性能结果的测量值是否大于预定阈值的字段。例如,当读取操作的阈值是每秒400Mb,并且写入操作的阈值被设置为每秒150Mb时,第七字段可包括指示每个读取操作或写入操作的结果测量值是否大于每秒400Mb或每秒150Mb的数据。类似于第五字段,仅当测试操作成功并且生成测量值时,第七字段才可填充有数据。从主机装置300的角度来看,当测试性能结果大于预定阈值时,可确定存储装置1000的操作正常。从主机装置300的角度来看,当测试性能结果小于或等于预定阈值时,可确定存储装置1000中发生了问题。
图23是示出根据本公开的实施例的包括图22的条目的性能信息的示图。
参照图23,示出包括指示N次测试操作的结果的N个条目的性能信息。参考第一行,响应于来自主机装置300的测试请求,存储装置1000可对1GB的目标范围执行读取测试10秒。参考第一行的第六字段,相应的读取测试操作可能成功。因此,作为读取测试操作的结果测量的读取速度被填充在第一行的第五字段中。在第一测试操作中,读取速度可被测量为处于每秒500Mb。在上述示例中,因为读取速度的阈值为每秒400Mb,所以指示测试结果的测量值超过阈值的数据可被包括在第一行的第七字段中。为便于讨论,在图23中,指示测试结果的测量值超过阈值的数据由符号“O”显示。
参考第二行,响应于来自主机装置300的测试请求,存储装置1000可对500MB的目标范围执行写入测试1秒。参考第二行的第六字段,相应的读取测试操作可能失败。因此,写入测试操作的测量值未被填充。类似地,指示测量值是否超过阈值的数据也未被填充。
参考第三行,响应于来自主机装置300的测试请求,存储装置1000可对2GB的目标范围执行写入测试10秒。参考第三行的第六字段,相应的写入测试操作可能成功。因此,作为写入测试操作的结果的所测量的写入速度被填充在第三行的第五字段中。在第三测试操作中,写入速度可被测量为处于每秒480Mb。在上述示例中,由于写入速度的阈值为每秒150Mb,因此指示测试结果的测量值超过阈值的数据可被包括在第三行的第七字段中。
参考第四行,响应于来自主机装置300的测试请求,存储装置1000可对1GB的目标范围执行读取测试1秒。参考第四行的第六字段,相应的读取测试操作可能中止。因此,读取测试操作的测量值未被填充。类似地,指示测量值是否超过阈值的数据也未被填充。
在上述方法中,N个测试操作的条目中的每一个可被包括在性能信息中。参考第N行,响应于来自主机装置300的测试请求,存储装置1000可对1GB的目标范围执行读取测试和写入测试10秒。参考第N行的第六字段,相应的读取测试和写入测试操作可能成功。在第N测试操作中,读取速度可被测量为每秒505MB,并且写入速度可被测量为每秒100MB。在上述示例中,读取速度的阈值为每秒400Mb,并且写入速度的阈值为每秒150Mb。也就是说,读取速度超过了阈值,但是写入速度未达到阈值。因此,指示测试结果的测量值未超过阈值的数据可被包括在第N行的第七字段中。为便于讨论,在图23中,指示测试结果的测量值未超过阈值的数据由符号“X”显示。
在实施例中,当从主机装置300接收到性能信息请求RQPI时,存储装置1000可将性能信息中包括的所有条目传输到主机装置300。在这种情况下,性能信息中包括的所有的第一至第N条目可被传输到主机装置300。
在另一实施例中,当从主机装置300接收到性能信息请求RQPI时,存储装置1000可仅将性能信息中包括的条目之中与成功的测试操作相对应的条目传输到主机装置300。也就是说,当测试操作失败或测试操作中止时,存储装置1000可不向主机装置300传输相应的条目。例如,在图23的示例中,性能信息中包括的第一至第N条目之中的第二条目和第四条目可不被传输到主机装置300。
主机装置300可基于接收到的性能信息来识别存储装置1000的当前状态。在实施例中,主机装置300可通过参考接收到的性能信息中包括的条目的第七字段来确定存储装置1000的性能是否发生问题。也就是说,当作为测试的结果,测量值超过阈值时,主机装置300可确定存储装置1000正常操作。当作为测试的结果,测量值未超过阈值时,主机装置300可确定存储装置1000的操作中发生了问题。
图24是示出根据本公开的另一实施例的操作控制器的方法的流程图。参照图24,根据本公开的另一实施例的操作控制器的方法包括:从主机装置300接收测试请求(S510);确定是否可以执行与接收到的请求相对应的测试(S515);当可以执行测试(S515:是)时,向主机装置300传输指示可以执行测试的响应(S520);响应于测试请求,生成用于执行与接收到的测试请求相对应的测试操作的命令(S530);向半导体存储器装置传输所生成的命令以控制半导体存储器装置执行测试操作(S550);确定测试操作是否成功(S560);当测试操作成功(S560:是)时,生成指示半导体存储器装置的测试操作结果的性能信息条目(S570);并且更新性能信息以使所生成的性能信息条目被包括在性能信息中,并且存储更新后的性能信息(S580)。此外,根据本公开的另一实施例的操作控制器的方法可进一步包括:当不可以执行测试(S515:否)时,向主机装置传输指示不可以执行测试的响应(S525)。另外,根据本公开的另一实施例的操作控制器的方法可进一步包括:当测试操作失败(S560:否)时,生成指示半导体存储器装置的测试操作失败的性能信息条目(S575)。
在操作S510中,控制器200可从主机装置300接收测试请求。测试请求可以是写入测试请求RQWTS或读取测试请求RQRTS。响应于测试请求,控制器200确定是否可以对于半导体存储器装置100执行测试(S515)。当可以执行测试(S515:是)时,控制器200进行到操作S520,并且将指示可以执行测试的响应传输到主机装置300。在实施例中,存储器测试控制器210可向主机装置300传输响应。
可能存在因存储装置1000的内部操作性能而无法进行测试操作的情况。另外,当由存储装置1000的控制器200执行的固件不支持测试操作时,不可以进行测试操作。因此,在这种情况下,控制器200确定不可以执行测试(S515:否),并且将指示不可以执行测试的响应传输到主机装置300(S525)。在实施例中,存储器测试控制器210可向主机装置300传输响应。
在操作S530中,控制器200的存储器测试控制器210可生成用于控制半导体存储器装置100以执行与接收到的测试请求相对应的测试操作的命令。当在操作S510中接收到的测试请求是写入测试请求RQWTS时,在操作S530中生成的命令可以是编程命令CMDPGM。当在操作S510中接收到的测试请求是读取测试请求RQRTS时,在操作S530中生成的命令可以是读取命令CMDRD。
在操作S550中,控制器200将所生成的命令传输到半导体存储器装置100。因此,半导体存储器装置100可执行与接收到的命令相对应的操作。控制器200确定操作是否成功。当半导体存储器装置100的操作成功时,控制器200确定测试操作成功(S560:是)。在这种情况下,控制器200生成指示半导体存储器装置的测试操作结果的性能信息条目(S570)。此时,在操作S570中生成的性能信息条目可以是图22中所示的性能信息条目。更具体地,当测试操作成功(S560:是)时,图22的性能信息条目的第六字段填充有指示“测试成功”的值,第五字段填充有根据操作结果的测量值,并且第七字段填充有指示根据操作结果的测量值是否超过阈值的值。
当半导体存储器装置100的操作失败时,控制器200确定测试操作失败(S560:否)。在这种情况下,控制器200生成指示半导体存储器装置的测试操作失败的性能信息条目(S575)。此时,在操作S575中生成的性能信息条目可以是图22中所示的性能信息条目。更具体地,当测试操作失败(S560:否)时,图22的性能信息条目的第六字段填充有指示“测试失败”的值,并且第五字段和第七字段可不填充任何值。
此后,在操作S580中,可更新性能信息,以在性能信息中包括在操作S570或S575中生成的性能信息条目,并且更新后的性能信息可被存储在性能信息存储装置230中。在另一实施例中,更新后的性能信息可被存储在半导体存储器装置100的性能信息存储区域115'中。
图25是示出包括根据本公开的实施例的半导体存储器装置和控制器的存储装置1000的框图。
图25的半导体存储器装置1300可与参照图1和图2描述的半导体存储器装置100类似地配置和操作。在另一实施例中,图25的半导体存储器装置1300可与参照图15描述的半导体存储器装置100'类似地配置和操作。在下文中,省略重复的描述。
控制器1200连接到主机装置Host和半导体存储器装置1300。控制器1200被配置成响应于来自主机装置Host的请求而访问半导体存储器装置1300。例如,控制器1200被配置成控制半导体存储器装置1300的读取操作、编程操作、擦除操作和后台操作。控制器1200被配置成提供半导体存储器装置1300与主机装置Host之间的接口。控制器1200被配置成驱动用于控制半导体存储器装置1300的固件。
控制器1200包括随机存取存储器(RAM)1210、处理单元1220、主机接口1230、存储器接口1240和错误校正块1250。
RAM 1210用作处理单元1220的操作存储器、半导体存储器装置1300和主机装置Host之间的高速缓存存储器以及半导体存储器装置1300和主机装置Host之间的缓冲存储器中的一种。
处理单元1220控制控制器1200的全部操作。处理单元1220被配置成控制半导体存储器装置1300的读取操作、编程操作、擦除操作和后台操作。处理单元1220被配置成驱动用于控制半导体存储器装置1300的固件。处理单元1220可执行闪存转换层(FTL)的功能。处理单元1220可通过FTL将由主机装置提供的逻辑块地址(LBA)转换成物理块地址(PBA)。FTL可接收逻辑块地址(LBA),并且通过使用映射表将LBA转换成PBA。根据映射单元,存在若干种FTL的地址映射方法。代表性的地址映射方法包括页面映射方法、块映射方法和混合映射方法。
主机接口1230包括用于在主机装置Host和控制器1200之间进行数据交换的协议。在实施例中,控制器1200被配置成通过诸如以下的各种通信标准或接口中的至少一种与主机装置Host通信:通用串行总线(USB)协议、多媒体卡(MMC)协议、外围组件互连(PCI)协议、高速PCI(PCI-e或PCIe)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机系统接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、电子集成驱动器(IDE)协议以及私有协议。
存储器接口1240与半导体存储器装置1300接口连接。例如,存储器接口1240包括NAND接口或NOR接口。
错误校正块1250被配置成使用错误校正码(ECC)来检测和校正从半导体存储器装置1300接收的数据的错误。错误校正块1250可通过使用ECC对读取的页面数据校正错误。错误校正块1250可通过使用诸如以下的编码调制来校正错误:低密度奇偶校验(LDPC)码、博斯-查德胡里-霍昆格姆(Bose,Chaudhri,Hocquenghem,BCH)码、turbo码、里德-所罗门(Reed-Solomon)码、卷积码、递归系统码(RSC)、网格编码调制(TCM)、分组编码调制(BCM)和汉明码。
在读取操作期间,错误校正块1250可校正读取的页面数据的错误。当读取的页面数据包括超过可校正的位数量的错误位时,解码可能失败。当页面数据包括等于或小于可校正的位数量的错误位时,解码可成功。解码成功指示读取命令通过。解码失败指示读取命令失败。当解码成功时,控制器1200向主机输出错误被校正的页面数据。
图1的控制器200可被实施为图25所示的控制器1200。在这种情况下,图1的存储器测试控制器210可被实施为由处理单元1220驱动的固件。另外,图1的性能信息存储装置230可被实施为图25的RAM 1210。
在另一实施例中,图15的控制器200'也被可实施为图25所示的控制器1200。在这种情况下,图15的存储器测试控制器210'可被实施为由处理单元1220驱动的固件。
控制器1200和半导体存储器装置1300可被集成到一个半导体装置中。在实施例中,控制器1200和半导体存储器装置1300可被集成到一个半导体装置中以配置存储卡。例如,控制器1200和半导体存储器装置1300可被集成到一个半导体装置中以配置诸如以下的存储卡:PC卡(个人计算机存储卡国际协会(PCMCIA))、紧凑型闪存卡(CF)、智能媒体卡(SM、SMC)、记忆棒、多媒体卡(MMC、RS-MMC、微型MMC)、SD卡(SD、迷你SD、微型SD、SDHC)和通用闪存(UFS)。
控制器1200和半导体存储器装置1300可被集成到一个半导体装置中以配置半导体驱动器(固态驱动器(SSD))。半导体驱动器(SSD)包括被配置成将数据存储在半导体存储器中的存储装置。当存储装置用作半导体驱动器(SSD)时,连接到该存储装置的主机装置Host的操作速度显著提高。
作为示例,存储装置1000被设置为诸如以下的电子装置的各种组件中的一种:计算机、超移动PC(UMPC)、工作站、上网本、个人数字助理(PDA)、便携式计算机、网络平板、无线电话、移动电话、智能电话、电子书、便携式多媒体播放器(PMP)、便携式游戏机、导航系统、黑盒、数码相机、三维电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、能够在无线环境中发送和接收信息的装置、配置家庭网络的各种电子装置中的一种、配置计算机网络的各种电子装置中的一种、配置远程信息处理网络的各种电子装置中的一种、RFID装置或配置计算系统的各种组件中的一种。
在实施例中,半导体存储器装置1300或存储装置可被安装为各种类型的封装。例如,半导体存储器装置1300或存储装置可以以诸如以下的方法来封装和安装:堆叠式封装(PoP)、球栅阵列(BGA)、芯片级封装(CSP)、塑料引线芯片载体(PLCC)、塑料双列直插式封装(PDIP)、窝伏尔组件中的管芯、晶圆形式管芯、板上芯片(COB)、陶瓷双列直插式封装(CERDIP)、塑料公制四方扁平封装(MQFP)、薄型四方扁平封装(TQFP)、小外型集成电路(SOIC)封装、收缩型小外形封装(SSOP)、薄型小外形封装(TSOP)、系统级封装(SIP)、多芯片封装(MCP)、晶圆级制造封装(WFP)或晶圆级处理堆叠封装(WSP)。
图26是示出根据本公开的实施例的图25的存储装置的应用示例2000的框图。
参照图26,存储装置2000包括半导体存储器装置2100和控制器2200。半导体存储器装置2100包括多个半导体存储器芯片。多个半导体存储器芯片被划分成多个组。
在图26中,多个组分别通过第一至第k通道CH1至CHk与控制器2200通信。每个半导体存储器芯片与参照图25描述的半导体存储器装置1300类似地配置和操作。
每个组被配置成通过一个公共通道与控制器2200通信。控制器2200与参照图25描述的控制器1200类似地配置,并且被配置成通过多个通道CH1至CHk来控制半导体存储器装置2100的多个存储器芯片。
在图26中,多个半导体存储器芯片连接到一个通道。然而,将会理解,可修改存储装置2000,使得一个半导体存储器芯片连接到一个通道。
图27是示出根据本公开的实施例的包括参照图26描述的存储装置的计算系统的框图。
参照图27,计算系统3000包括中央处理单元3100、随机存取存储器(RAM)3200、用户接口3300、电源3400、系统总线3500和存储装置2000。
存储装置2000通过系统总线3500电连接到中央处理单元3100、RAM 3200、用户接口3300和电源3400。通过用户接口3300提供的或者由中央处理单元3100处理的数据被存储在存储装置2000中。
在图27中,半导体存储器芯片2100通过控制器2200连接到系统总线3500。然而,半导体存储器芯片2100可被配置成直接连接到系统总线3500。此时,控制器2200的功能由中央处理单元3100和RAM 3200执行。
在图27中,提供了参照图26描述的存储装置2000。然而,存储装置2000可利用参照图25描述的存储装置1000代替。在实施例中,计算系统3000可被配置成包括参照图25和图26描述的存储装置1000和2000两者。
本公开的实施例和附图仅作为具体示例提供,以方便描述本公开的技术内容,并且帮助理解本公开,并且不旨在限制本公开的范围。对于本领域普通技术人员而言,显而易见的是,除了本文公开的实施例和所附权利要求之外,还可实施基于本公开的技术精神的其他修改示例。此外,实施例可被组合以形成另外的实施例。
Claims (20)
1.一种控制器,包括:
存储器测试控制器:
从外部装置接收测试请求,
向所述外部装置传输指示是否执行与所述测试请求相对应的测试操作的响应,并且
响应于所述测试请求生成命令;以及
性能信息存储装置,存储由半导体存储器装置响应于所述命令执行的所述测试操作的结果。
2.根据权利要求1所述的控制器,
其中所述测试请求是读取测试请求,
其中所述测试操作是读取测试操作,
其中当执行与所述读取测试请求相对应的所述读取测试操作时,所述存储器测试控制器向所述外部装置传输指示执行所述读取测试操作的响应,
其中所述命令是读取命令,并且
其中所述存储器测试控制器进一步将所述读取命令传输到所述半导体存储器装置,以控制所述半导体存储器装置执行所述读取测试操作。
3.根据权利要求2所述的控制器,其中所述结果包括所述读取测试操作所花费的时间和所述读取测试操作期间的读取速度中的至少一个。
4.根据权利要求3所述的控制器,其中所述结果进一步包括指示所述读取速度是否超过预定阈值的数据。
5.根据权利要求1所述的控制器,
其中所述测试请求是写入测试请求,
其中所述测试操作是写入测试操作,
其中当执行与所述写入测试请求相对应的所述写入测试操作时,所述存储器测试控制器向所述外部装置传输指示执行所述写入测试操作的响应,
其中所述命令是写入命令,并且
其中所述存储器测试控制器进一步将所述写入命令传输到所述半导体存储器装置,以控制所述半导体存储器装置执行所述写入测试操作。
6.根据权利要求5所述的控制器,其中所述存储器测试控制器进一步生成虚拟数据,并且将所述虚拟数据与所述写入命令一起传输到所述半导体存储器装置。
7.根据权利要求5所述的控制器,其中所述存储器测试控制器进一步将被高速缓存在所述控制器中的数据与所述写入命令一起传输到所述半导体存储器装置。
8.根据权利要求5所述的控制器,其中所述结果包括所述写入测试操作所花费的时间或所述写入测试操作期间的写入速度。
9.根据权利要求8所述的控制器,其中所述结果进一步包括指示所述写入速度是否超过预定阈值的数据。
10.根据权利要求1所述的控制器,其中所述存储器测试控制器进一步基于所述测试请求来确定所述半导体存储器装置中包括的存储区域之中待执行所述测试操作的数据区域的大小。
11.根据权利要求1所述的控制器,其中所述存储器测试控制器进一步响应于从所述外部装置接收的性能信息请求,向所述外部装置提供所述性能信息存储装置中存储的所述结果。
12.一种操作控制器的方法,所述方法包括:
从外部装置接收测试请求;
确定是否执行与所述测试请求相对应的测试操作;
向所述外部装置传输指示是否执行所述测试操作的响应;
响应于所述测试请求生成命令;
将所述命令传输到半导体存储器装置,以控制所述半导体存储器装置执行所述测试操作;
基于所述测试操作的结果来更新性能信息;以及
存储更新后的性能信息。
13.根据权利要求12所述的方法,
其中所述测试请求是读取测试请求,
其中所述测试操作是读取测试操作,并且
其中所述命令是读取命令。
14.根据权利要求13所述的方法,
进一步包括从所述半导体存储器装置接收读取数据作为所述读取测试操作的结果,
其中所述更新包括:当所述读取测试操作成功时,生成性能信息条目并且将所述性能信息条目包括在所述性能信息中,所述性能信息条目包括所述读取测试操作所花费的时间和所述读取测试操作期间的读取速度中的至少一个。
15.根据权利要求12所述的方法,
其中所述测试请求是写入测试请求,
其中所述测试操作是写入测试操作,并且
其中所述命令是与编程数据一起的编程命令。
16.根据权利要求15所述的方法,
其中所述更新包括当所述写入测试操作成功时,生成性能信息条目并且将所述性能信息条目包括在所述性能信息中,所述性能信息条目包括所述写入测试操作所花费的时间或所述写入测试操作期间的写入速度。
17.根据权利要求12所述的方法,进一步包括:
从所述外部装置接收性能信息请求;并且
响应于所述性能信息请求,将所存储的性能信息传输到所述外部装置。
18.一种计算系统,包括:
存储装置,存储数据;以及
主机装置,生成用于测试所述存储装置的测试请求,并且将所述测试请求传输到所述存储装置,
其中所述存储装置进一步响应于所述测试请求,对所述存储装置中包括的半导体存储器装置执行读取测试操作或写入测试操作,并且存储所述读取测试操作或所述写入测试操作的结果作为性能信息。
19.根据权利要求18所述的计算系统,其中所述性能信息包括:
所述读取测试操作期间的读取速度或所述写入测试操作期间的写入速度中的至少一个;以及
指示所述读取速度或所述写入速度是否大于预定阈值的数据。
20.根据权利要求19所述的计算系统,
其中所述主机装置进一步向所述存储装置传输性能信息请求,
其中所述存储装置进一步响应于所述性能信息请求,将所述性能信息传输到所述主机装置,并且
其中所述主机装置进一步基于所述性能信息中包括的、指示所述读取速度或所述写入速度是否大于所述预定阈值的数据来确定所述存储装置是否正常。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2021-0173990 | 2021-12-07 | ||
KR1020210173990A KR20230085632A (ko) | 2021-12-07 | 2021-12-07 | 저장 장치, 호스트 장치 및 이들을 포함하는 컴퓨팅 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116246691A true CN116246691A (zh) | 2023-06-09 |
Family
ID=86607393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210934666.9A Withdrawn CN116246691A (zh) | 2021-12-07 | 2022-08-04 | 存储装置、主机装置及包括存储装置和主机装置的计算系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US12039185B2 (zh) |
KR (1) | KR20230085632A (zh) |
CN (1) | CN116246691A (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10016996C1 (de) | 2000-04-05 | 2002-02-07 | Infineon Technologies Ag | Testanordnung zur Funktionsprüfung eines Halbleiterchips |
KR20150041385A (ko) * | 2013-10-08 | 2015-04-16 | 에스케이하이닉스 주식회사 | 반도체 칩 및 그를 포함하는 반도체 집적회로 |
KR102350644B1 (ko) * | 2018-01-26 | 2022-01-14 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20210008712A (ko) | 2019-07-15 | 2021-01-25 | 삼성전자주식회사 | 테스트 패턴 정보를 저장하는 메모리 모듈, 그것을 포함하는 컴퓨터 시스템 및 그것의 테스트 방법 |
-
2021
- 2021-12-07 KR KR1020210173990A patent/KR20230085632A/ko unknown
-
2022
- 2022-05-20 US US17/749,235 patent/US12039185B2/en active Active
- 2022-08-04 CN CN202210934666.9A patent/CN116246691A/zh not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US12039185B2 (en) | 2024-07-16 |
US20230176766A1 (en) | 2023-06-08 |
KR20230085632A (ko) | 2023-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102634434B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
CN108694977B (zh) | 储存装置及其操作方法 | |
CN109979513B (zh) | 半导体存储器装置及其操作方法 | |
CN109754840B (zh) | 半导体存储器装置及其操作方法 | |
US11531615B2 (en) | Controller and memory system for performing garbage collection operation, and operating method thereof | |
CN109215713B (zh) | 存储器系统和操作半导体存储器装置的方法 | |
KR20190094968A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
KR20190052441A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
CN110838313A (zh) | 半导体存储器装置及其操作方法 | |
CN111381772B (zh) | 半导体存储器装置的控制器及其操作方法 | |
CN112084119A (zh) | 存储装置、主机装置以及操作存储装置和主机装置的方法 | |
US11636017B2 (en) | Controller and method of operating the same | |
US11113203B2 (en) | Controller and method of operating the same | |
CN112346651A (zh) | 用于半导体存储器器件的控制器及其操作方法 | |
CN116246691A (zh) | 存储装置、主机装置及包括存储装置和主机装置的计算系统 | |
CN112017699A (zh) | 包括半导体存储器装置和控制器的存储器系统及操作控制器的方法 | |
US20230385151A1 (en) | Controller and method of operating the same | |
US12027222B2 (en) | Storage device, host device, and method of operating the same | |
CN111933204B (zh) | 半导体存储器装置及其操作方法 | |
US11145338B2 (en) | Semiconductor memory device and method of operating the same | |
CN113012733B (zh) | 半导体存储器装置和控制器 | |
CN110299175B (zh) | 存储器控制器及其操作方法 | |
KR102701551B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
US20220391129A1 (en) | Storage device, host device, and method of operating the same | |
CN114550774A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230609 |