Method of operating memory device and memory device performing same

By configuring multiple metablocks in the storage device, detecting abnormal states using feature values ​​and degradation indexes and notifying the host device, the problem of reliability degradation of the storage device after processing workloads is solved, and operation stability is improved.

CN119493523AInactive Publication Date: 2025-02-21SAMSUNG ELECTRONICS CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202410431038.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-16
Filing Date
2024-04-11
Publication Date
2025-02-21
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

Existing storage devices have degraded reliability after handling various workloads, resulting in an increased risk of failure and making it difficult to effectively detect and prevent abnormal states.

Method used

By configuring multiple metablocks in the storage device, receiving commands from the host device to detect abnormal states, and generating a response based on the obtained multiple characteristic values ​​and degradation indexes, informing the host device of the abnormal state of the storage device.

Benefits of technology

It improves the operation stability of the storage device, can detect and prevent abnormal states in a timely manner, and prevent the storage device from entering the failure mode.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119493523A_ABST
    Figure CN119493523A_ABST
Patent Text Reader

Abstract

A method of operating a storage device including a plurality of meta-blocks storing a plurality of metadata includes: receiving a first command from a host device; obtaining a plurality of feature values including first to fourth feature values and a deterioration index of each of the plurality of meta-blocks based on the first command; and outputting a first response corresponding to the first command. The first command is used for detecting an abnormal state of the storage device, the first characteristic value is related to a durability characteristic, the second characteristic value is related to a data retention characteristic, the third characteristic value is related to a read disturbance characteristic, and the fourth characteristic value is related to a temperature characteristic; and generate a first response based on at least one of the first feature value or the deterioration index.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Citation of priority application

[0002] This application claims priority to Korean Patent Application No. 10-2023-0106960, filed on August 16, 2023, the contents of which are incorporated herein by reference in their entirety. Technical Field

[0003] Example embodiments relate to a memory device, and more particularly, to a method of operating a memory device and a memory device performing the method. Background Art

[0004] Semiconductor memory devices can be divided into volatile memory devices and non-volatile memory devices depending on whether the stored data is lost when the power is interrupted. Storage devices using non-volatile memory devices as storage media are widely used. A representative example of such a storage device is a solid state drive (SSD).

[0005] As the capacity of storage devices increases and the processing power of hosts increases, various workloads from the hosts are provided to the storage devices. The reliability of the storage devices may be degraded due to these various workloads. Therefore, various methods for predicting the reliability of information of storage devices are being studied in an attempt to minimize or prevent failures in storage devices. Summary of the invention

[0006] At least one example embodiment of the present disclosure provides a method of operating a memory device that may improve operational stability.

[0007] At least one example embodiment of the present disclosure provides a storage device that executes the method.

[0008] According to an example embodiment, a method of operating a storage device including a plurality of metablocks configured to store a plurality of metadata includes: receiving a first command for detecting an abnormal state of the storage device from a host device located outside the storage device. The method includes obtaining a plurality of characteristic values ​​and a degradation index of each metablock in the plurality of metablocks based on the first command, the plurality of characteristic values ​​including a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value. The first characteristic value is related to a durability characteristic, the second characteristic value is related to a data retention characteristic, the third characteristic value is related to a read disturbance characteristic, the fourth characteristic value is related to a temperature characteristic, and the degradation index is calculated from the plurality of characteristic values. The method includes outputting a first response to the host device based on at least one of the first characteristic value or the degradation index. The first response corresponds to the first command and is generated in response to the occurrence of an abnormal state of the storage device.

[0009] According to an example embodiment, a storage device includes a plurality of non-volatile memories and a storage controller. The plurality of non-volatile memories include a plurality of metablocks storing a plurality of metadata. The storage controller receives a first command for detecting an abnormal state of the storage device from a host device located outside the storage device. The storage controller obtains a plurality of characteristic values ​​and a degradation index of each metablock in the plurality of metablocks based on the first command, and the plurality of characteristic values ​​include a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value. The first characteristic value is related to a durability characteristic, the second characteristic value is related to a data retention characteristic, the third characteristic value is related to a read disturbance characteristic, the fourth characteristic value is related to a temperature characteristic, and the degradation index is calculated from the plurality of characteristic values. The storage controller outputs a first response to the host device based on at least one of the first characteristic value and the degradation index. The first response corresponds to the first command and is generated in response to the occurrence of an abnormal state of the storage device.

[0010] According to an example embodiment, a method of operating a storage system including a host device and a storage device including a plurality of metablocks storing a plurality of metadata includes: sending, by the host device, a first command for detecting an abnormal state of the storage device to the storage device. The method includes obtaining, by the storage device, a plurality of characteristic values ​​of each of the plurality of metablocks based on the first command and a degradation index calculated from a first characteristic value to a fourth characteristic value, the plurality of characteristic values ​​including a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value. The first characteristic value is related to an endurance characteristic and is obtained as an erase count (EC) percentile value, the second characteristic value is related to a data retention characteristic and is obtained as a data retention time, the third characteristic value is related to a read disturbance characteristic and is obtained as a number of read operations, the fourth characteristic value is related to a temperature characteristic and is obtained as a write temperature, and the degradation index is calculated from the first characteristic value to the fourth characteristic value. The EC percentile value is obtained by dividing the EC value by the EC limit value, the data retention time is measured from a time point when a write operation is performed, the number of read operations is counted after the write operation is performed, and the write temperature is measured when the write operation is performed. The method includes comparing, by a storage device, a degradation index of each metablock of a plurality of metablocks with an abnormal state standard value. The method includes, in response to a degradation index of a first metablock of the plurality of metablocks being greater than or equal to the abnormal state standard value, sending, by the storage device, a first response corresponding to a first command to a host device. The method includes sending, by the host device, to the storage device a second command for obtaining debug information related to an abnormal state of the first metablock of the plurality of metablocks. The method includes sending, by the storage device, a second response corresponding to the second command and including the debug information to the host device based on the second command.

[0011] In a method of operating a storage device and a storage device according to an example embodiment, various characteristic values ​​and degradation indexes related to the reliability of each of a plurality of metablocks can be used, and an abnormal state of the storage device can be detected. By notifying a host device that an abnormal state has occurred in the storage device, the operational stability of the storage device can be improved. In response to the host device being notified of the abnormal state, a function of blocking a command of the host attempting to access the storage device can be implemented, and the storage device can be prevented from entering a failure mode. Therefore, the operational stability of the storage device can be improved. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Illustrative, non-limiting example embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.

[0013] Figure 1 is a flowchart illustrating a method of operating a storage device according to example embodiments.

[0014] Figure 2 is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments.

[0015] Figure 3 is a block diagram illustrating an example of a memory controller included in a memory device according to example embodiments.

[0016] Figure 4 is a flowchart illustrating an example of obtaining first, second, third, and fourth characteristic values ​​and a degradation index in a method of operating a memory device according to example embodiments.

[0017] Figure 5A , Figure 5B , Figure 6 , Fig. 7A and Figure 7B is a diagram for describing an example of calculating a degradation index in a method of operating a memory device according to example embodiments.

[0018] Figure 8 , Fig. 9 and Fig.10 is a flowchart illustrating an example of outputting a first response in a method of operating a storage device according to example embodiments.

[0019] Fig.11 is a flowchart illustrating a method of operating a storage device according to example embodiments.

[0020] Fig. 12A and Fig. 12B is a diagram for describing a specific operation of outputting a first response in a method of operating a storage device according to example embodiments.

[0021] Fig.13is a flowchart illustrating a method of operating a storage device according to example embodiments.

[0022] Fig.14A and Fig. 14B is a diagram for describing a specific operation of outputting a second response in a method of operating a storage device according to example embodiments.

[0023] Fig.15 is a flowchart illustrating a method of operating a storage device according to example embodiments.

[0024] Fig.16A and Fig. 16B is a diagram for describing a command blocking function in a method of operating a storage device according to example embodiments.

[0025] Fig.17 is a flowchart illustrating an example of a selective command blocking function in a method of operating a storage device according to example embodiments.

[0026] Fig.18 is a diagram for describing a command blocking function in a method of operating a storage device according to example embodiments.

[0027] Fig.19 is a block diagram illustrating a plurality of nonvolatile memories included in a storage device according to example embodiments.

[0028] Fig. 20 is a block diagram illustrating a data center to which a storage system according to example embodiments is applied. DETAILED DESCRIPTION

[0029] Various example embodiments will be described more fully with reference to the accompanying drawings, in which embodiments are shown. However, the present disclosure may be implemented in many different forms and should not be construed as being limited to the embodiments set forth herein. Throughout this application, the same reference numerals refer to the same elements.

[0030] Figure 1 is a flowchart illustrating a method of operating a storage device according to example embodiments.

[0031] refer to Figure 1 The method according to the example embodiment is performed by a storage device including a plurality of meta-blocks storing a plurality of metadata. Figure 2 Describes the structure of a storage device.

[0032] A first command is received from a host device located outside the storage device (operation S100). The first command may be a command for detecting an abnormal state of the storage device. In some example embodiments, the first command may be an asynchronous event request (AER) command based on a non-volatile memory express (NVMe) protocol, but is not limited thereto. For example, the abnormal state of the storage device may indicate a state in which the reliability of the storage device is relatively low. For example, the abnormal state may include a state in which the storage device is defective or a state before a failure occurs on the storage device. For example, the abnormal state may be defined by each manufacturer of the storage device according to a separate standard.

[0033] Based on the first command, a first characteristic value, a second characteristic value, a third characteristic value, a fourth characteristic value, and a degradation index are obtained for each metablock in the plurality of metablocks (operation S200). The first characteristic value may be related to the durability characteristic, the second characteristic value may be related to the data retention characteristic, the third characteristic value may be related to the read disturbance characteristic, the fourth characteristic value may be related to the temperature characteristic, and the degradation index may be calculated based on the first to fourth characteristic values. For example, the first to fourth characteristic values ​​and the degradation index may be related to the reliability of each metablock in the plurality of metablocks. Referring to Figure 5A , Figure 5B , Figure 6 , Fig. 7A and Figure 7B Calculating the degradation index is described in detail. For example, the first to fourth eigenvalues ​​and the degradation index may be stored in a storage device. For example, the first to fourth eigenvalues ​​and the degradation index may be stored as telemetry information.

[0034] Outputting a first response corresponding to the first command (operation S300). The first response may be generated based on at least one of the first characteristic value and the degradation index, and may be output to the host device. The first response may indicate a situation where an abnormal state of the storage device occurs. Figure 8 , Fig. 9 , Fig.10 and Fig.11 A scheme for outputting a first response based on at least one of a first characteristic value and a degradation index is described. In some example embodiments, the first response may be an AER response, but is not limited thereto.

[0035] In some example embodiments, operation S100 is performed once, and then operation S200 and a portion of operation S300 may be performed periodically. In other example embodiments, operation S100 may be performed periodically, and operation S200 and a portion of operation S300 may be performed periodically based on a periodically received first command.

[0036] Figure 2is a block diagram illustrating a storage device and a storage system including the storage device according to example embodiments.

[0037] refer to Figure 2 , the storage system 100 includes a host device 200 and a storage device 300 .

[0038] The host device 200 can control the overall operation of the storage system 100. For example, although not shown in detail, the host device 200 may include a host processor and a host memory. For example, the host processor can control the operation of the host device 200 and can run an operating system (OS). For example, the host memory can store instructions and data executed and processed by the host processor. For example, the OS executed by the host processor may include a file system for file management and a device driver for controlling peripheral devices including the storage device 300 at the OS level.

[0039] The storage device 300 may be accessed by the host device 200. The storage device 300 may include a storage controller 310, a plurality of non-volatile memories (NVMs) 320, and a buffer memory 330.

[0040] The memory controller 310 may control the operation of the memory device 300. For example, the memory controller 310 may control the operation of the plurality of nonvolatile memories 320 based on commands and data received from the host device 200. For example, the memory controller 310 may receive and execute a command CMD from the host device 200, and transmit a response RS corresponding to the command CMD to the host device 200.

[0041] The storage controller 310 may execute the above reference Figure 1 The method of operating a storage device according to the exemplary embodiment described herein. For example, the storage controller 310 may receive a first command (eg, Fig. 12A and Fig. 12B The storage controller 310 may detect an abnormal state of the storage device 300 by using CMD1 in the first command. For example, the storage controller 310 may obtain, based on the first command, first to fourth characteristic values ​​and a degradation index of each metablock in the plurality of metablocks included in the plurality of nonvolatile memories 320. For example, the storage controller 310 may determine whether an abnormal state has occurred in the storage device 300 based on at least one of the first characteristic value and the degradation index. For example, when an abnormal state occurs in the storage device 300, the storage controller 310 may output a first response (e.g., a first command) corresponding to the first command to the host device 200. Fig. 12A and Fig. 12B RS1 in the example). The storage controller 310 may execute the following steps according to the reference Fig.13 and Fig.15 A method of operating a storage device according to an example embodiment is described.

[0042] The storage controller 310 may include an abnormal state module 311 for executing the method of operating a storage device according to an example embodiment. Figure 3 As described, the abnormal state module 311 may include an index obtaining module for obtaining the first to fourth characteristic values ​​and the degradation index, and an abnormal state determining module for determining whether an abnormal state has occurred in the storage device 300 .

[0043] The plurality of nonvolatile memories 320 may store a plurality of data. For example, the plurality of data may include a plurality of metadata and a plurality of user data. For example, the plurality of nonvolatile memories 320 may include a plurality of meta blocks MB storing a plurality of metadata and a plurality of user blocks UB storing a plurality of user data.

[0044] The plurality of meta blocks MB may indicate a physical area within the plurality of nonvolatile memories 320 storing the plurality of metadata. The plurality of metadata and the plurality of meta blocks MB may exist in various types depending on the purpose. For example, the plurality of metadata may include various data for managing the operation of the storage device 300, such as firmware (FW) related data, security protocol and data model (SPDM) related data, etc. For example, the plurality of meta blocks MB may include a FW block storing FW related data, a SPDM block storing SPDM related data, etc.

[0045] The plurality of user blocks UB may indicate physical areas within the plurality of nonvolatile memories 320 storing a plurality of user data. For example, the plurality of user data may include various data stored by a user, such as document data, image data, and the like.

[0046] In some example embodiments, each of the plurality of nonvolatile memories 320 may include a NAND flash memory. In other example embodiments, each of the plurality of nonvolatile memories 320 may include one of an electrically erasable programmable read-only memory (EEPROM), a phase change random access memory (PRAM), a resistive random access memory (RRAM), a nano floating gate memory (NFGM), a polymer random access memory (PoRAM), a magnetic random access memory (MRAM), a ferroelectric random access memory (FRAM), and the like.

[0047] The buffer memory 330 may store instructions and / or data executed and / or processed by the memory controller 310, and may temporarily store data stored in or to be stored in the plurality of non-volatile memories 320. For example, the buffer memory 330 may include at least one of various volatile memories, such as a dynamic random access memory (DRAM), a static random access memory (SRAM), and the like.

[0048] In some example embodiments, the storage device 300 may be a solid state drive (SSD). In other example embodiments, the storage device 300 may be one of a universal flash storage (UFS), a multimedia card (MMC), an embedded multimedia card (eMMC), a secure digital (SD) card, a micro SD card, a memory stick, a chip card, a universal serial bus (USB) card, a smart card, a compact flash (CF) card, etc.

[0049] In some example embodiments, the storage device 300 may be connected to the host device 200 through a block accessible interface, which may include, for example, UFS, eMMC, a serial advanced technology attachment (SATA) bus, a non-volatile memory express (NVMe) bus, a serial attached SCSI (SAS) bus, etc. The storage device 300 may provide a block accessible interface to the host device 200 using an access size block accessible address space corresponding to the plurality of non-volatile memories 320 to allow access to data stored in the plurality of non-volatile memories 320 in units of memory blocks.

[0050] In some example embodiments, the storage system 100 may be any mobile system, such as a mobile phone, a smart phone, a tablet computer, a laptop computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a digital camera, a portable game console, a music player, a camcorder, a video player, a navigation device, a wearable device, an Internet of Things (IoT) device, an Internet of Everything (IoE) device, an e-book reader, a virtual reality (VR) device, an augmented reality (AR) device, a robotic device, etc. In other example embodiments, the storage system 100 may be any computing system, such as a personal computer (PC), a server computer, a workstation, a digital television, a set-top box, a navigation system, etc.

[0051] Figure 3 is a block diagram illustrating an example of a memory controller included in a memory device according to example embodiments.

[0052] refer to Figure 3 The storage controller 400 includes a host interface 410, a processor 420, a memory 430, an error correction code (ECC) module 440, a memory interface 450, an index acquisition module 460, an abnormal state determination module 465, a debugging information generation module 470, a feature configuration setting module 475 and a host command blocking module 480.

[0053] Processor 420 may respond to a request from a host (eg, Figure 2 The processor 420 may control the operation of the storage controller 400 by using commands received from the host device 200 in the storage device. In some example embodiments, the processor 420 may control the operation of the storage controller 400 by using a method for operating a storage device (e.g., Figure 2 The firmware of the storage device 300) in the storage device 300 is used to control the corresponding components.

[0054] The memory 430 may store instructions and data executed and processed by the processor 420. For example, the memory 430 may be implemented with a volatile memory device having a relatively small capacity and a high speed, such as a static random access memory (SRAM), a cache memory, and the like.

[0055] The index obtaining module 460, the abnormal state determining module 465, the debugging information generating module 470, the setting characteristic configuration module 475 and the host command blocking module 480 may be included in Figure 2 In the abnormal state module 311.

[0056] Reference Fig. 12B , Fig. 14B and Fig. 16B The detailed operations of the index obtaining module 460, the abnormal state determining module 465, the debugging information generating module 470, the setting feature configuration module 475 and the host command preventing module 480 are described.

[0057] In some example embodiments, at least a portion of the index obtaining module 460, the abnormal state determining module 465, the debugging information generating module 470, the setting feature configuration module 475, and the host command blocking module 480 may be implemented as hardware. For example, at least a portion of the index obtaining module 460, the abnormal state determining module 465, the debugging information generating module 470, the setting feature configuration module 475, and the host command blocking module 480 may be included in the processor 420, or may be included in a computer-based electronic circuit or logic.

[0058] In other example embodiments, at least a portion of the index obtaining module 460, the abnormal state determination module 465, the debugging information generation module 470, the setting feature configuration module 475, and the host command blocking module 480 may be implemented as instruction codes or program routines (e.g., software programs) and may be stored in a memory. For example, the processor 420 may load instructions of the index obtaining module 460, the abnormal state determination module 465, the debugging information generation module 470, the setting feature configuration module 475, and the host command blocking module 480 into the memory 430.

[0059] The ECC block 440 for error correction may perform coding modulation using Bose-Chaudhuri-Hocquenghem (BCH) code, low-density parity-check (LDPC) code, turbo code, Reed-Solomon code, convolutional code, recursive systematic code (RSC), trellis coded modulation (TCM), block coded modulation (BCM), etc., or may perform ECC encoding and ECC decoding using the above codes or other error correction codes.

[0060] The host interface 410 may provide a physical connection between the host device 200 and the storage device 300. The host interface 410 may provide an interface corresponding to a bus format of the host for communication between the host device 200 and the storage device 300. In some example embodiments, the bus format of the host device 200 may be a small computer system interface (SCSI) or a serial attached SCSI (SAS) interface. In other example embodiments, the bus format of the host device 200 may be a USB, a peripheral component interconnect (PCI) Express (PCIe), an advanced technology attachment (ATA), a parallel ATA (PATA), a serial ATA (SATA), a non-volatile memory (NVM) Express (NVMe), and the like.

[0061] The memory interface 450 can communicate with a non-volatile memory (eg, Figure 2 The memory interface 450 may transmit data to the nonvolatile memory 320 or may receive data read from the nonvolatile memory 320. In some example embodiments, the memory interface 450 may be connected to the nonvolatile memory 320 via one channel. In other example embodiments, the memory interface 450 may be connected to the nonvolatile memory 320 via two or more channels.

[0062] Figure 4 is a flowchart illustrating an example of obtaining first, second, third, and fourth characteristic values ​​and a degradation index in a method of operating a memory device according to example embodiments.

[0063] refer to Figure 4 , operations S210, S220, S230, S240, and S250 may be Figure 1 For example, operations S210, S220, S230, S240, and S250 may be performed by Figure 3 The index acquisition module 460 is executed.

[0064] The first characteristic value may be obtained as an erase count (EC) percentile value of each meta-block in the plurality of meta-blocks (operation S210). The EC percentile value may be obtained by dividing the EC value by the EC limit value. For example, the EC value may indicate the number of erase operations (or the number of program / erase (P / E) cycles) that have been performed for each meta-block in the plurality of meta-blocks from a manufacturing time point to a current time point. For example, the EC limit value may indicate the maximum number of erase operations that may be performed on each meta-block in the plurality of meta-blocks. For example, a plurality of meta-blocks may have the same EC limit value. For example, the EC limit value may vary depending on the generation of the NAND and / or the type of memory cells included in each block.

[0065] For example, the first characteristic value may be obtained in %. For example, when the EC value and the EC limit value of the first metablock among the plurality of metablocks are 100 times and 1000 times, respectively, the first characteristic value of the first metablock may be obtained by (100 / 1000)*100=10(%). For example, when program / erase operations are repeated, the characteristics of the block may deteriorate, and therefore, the larger the first characteristic value, the lower the reliability of the block may be.

[0066] The second characteristic value may be obtained as a data retention time of each metablock in the plurality of metablocks (operation S220). For example, the data retention time may be measured from a time point when a write operation is performed to a current time point. For example, when n (n is a positive real number) hours have passed since a write operation was performed on a first metablock in the plurality of metablocks, the second characteristic value of the first metablock may be obtained as n.

[0067] The third characteristic value may be obtained as the number of read operations for each metablock in the plurality of metablocks (operation S230). For example, the number of read operations may be counted after a write operation is performed. For example, when a read operation is performed m (m is a positive integer) times after a write operation is performed on a first metablock in the plurality of metablocks, the third characteristic value of the first metablock may be obtained as m.

[0068] The fourth characteristic value may be obtained as a write temperature of each metablock in the plurality of metablocks (operation S240). For example, the write temperature may be measured when a write operation is performed. For example, when the temperature at a time point when a write operation is performed on a first metablock in the plurality of metablocks is k (k is an arbitrary real number)° C., the fourth characteristic value of the first metablock may be obtained as k.

[0069] A degradation index of each of the plurality of metablocks may be calculated based on the EC percentile value, the data retention time, the number of read operations, and the write temperature of each of the plurality of metablocks (operation S250). For example, the degradation index may represent a composite reliability index that indicates a reliability level of each of the plurality of metablocks by comprehensively considering the durability characteristics, the data retention characteristics, the read disturbance characteristics, and / or the temperature characteristics of the plurality of metablocks. For example, the degradation index may represent an index for determining an abnormal state of the storage device 300. For example, as will be referred to in Figure 5A , Figure 5B , Figure 6 , Fig. 7A and Figure 7B As described, the degradation index may be calculated in various ways, and calculating the degradation index is not limited thereto.

[0070] Figure 5A , Figure 5B , Figure 6 , Fig. 7A and Figure 7B is a diagram for describing an example of calculating a degradation index in a method of operating a memory device according to example embodiments.

[0071] refer to Figure 5A , the degradation index DI of each meta-block among the multiple meta-blocks MB1, MB2, MB3, MB4 and MB5 can be calculated based on the first eigenvalue CV1, the second eigenvalue CV2, the third eigenvalue CV3 and the fourth eigenvalue CV4 of each meta-block among the multiple meta-blocks MB1, MB2, MB3, MB4 and MB5.

[0072] For example, the degradation index DI may be calculated as the sum of a first value, a second value, a third value, and a fourth value. The first value may be obtained by multiplying the first eigenvalue CV1 by a first weight α, the second value may be obtained by multiplying the second eigenvalue CV2 by a second weight β, the third value may be obtained by multiplying the third eigenvalue CV3 by a third weight γ, and the fourth value may be obtained by multiplying the fourth eigenvalue CV4 by a fourth weight δ.

[0073] For example, the first eigenvalue CV1, the second eigenvalue CV2, the third eigenvalue CV3, and the fourth eigenvalue CV4 of the metablock MB1 may be 10(%), 200(hr.), 100K(times), and 20(°C), respectively. The first value of the metablock MB1 may be obtained by multiplying the first eigenvalue CV1 by a first weight α (e.g., 10*2=20), the second value of the metablock MB1 may be obtained by multiplying the second eigenvalue CV2 by a second weight β (e.g., 200*0.5=100), the third value of the metablock MB1 may be obtained by multiplying the third eigenvalue CV3 by a third weight γ (e.g., 100K*0.001=100). And the fourth value of the metablock MB1 may be obtained by multiplying the fourth eigenvalue CV4 by a fourth weight δ (20*3=60). As a result, the degradation index DI of the metablock MB1 may be calculated as 280 (=20+100+100+60).

[0074] If you will refer to Figure 8 As described, it can be determined whether an abnormal state has occurred by comparing the degradation index DI with the abnormal state standard value STDV of each meta-block in the plurality of meta-blocks MB1, MB2, MB3, MB4, and MB5. For example, when the abnormal state standard value STDV is set to 400, a state in which the degradation index DI is greater than or equal to 400 can be determined as an abnormal state.

[0075] For example, since the degradation index DI of metablock MB1 is 280 which is less than 400, it can be determined that no abnormal state has occurred in metablock MB1. For example, since the degradation index DI of metablock MB5 is 470 which is greater than 400, it can be determined that an abnormal state has occurred in metablock MB5.

[0076] refer to Figure 5B In some example embodiments, for each of the plurality of metablocks MB1, MB2, and MB5, the first to fourth weights α, β, γ, and δ may be set differently. Figure 5B The first to fourth weights α, β, γ and δ of the meta-block MB1 in Figure 5A The first to fourth weights α, β, γ and δ of the meta-block MB1 in are the same. Figure 5B The first to fourth weights α, β, γ, and δ of the meta-blocks MB2 and MB5 in Figure 5A The first to fourth weights α, β, γ, and δ of the meta-blocks MB2 and MB5 in φ are set differently.

[0077] Since the first to fourth weights α, β, γ, and δ are set differently for the metablocks MB1, MB2, and MB5, Figure 5A The degradation index DI can be calculated differently compared to the example of Figure 5ACompared to the example of , the determination of whether an abnormal state has occurred may vary.

[0078] For example, in the case of metablock MB2, Figure 5A In the example of , when the first characteristic values ​​CV1, CV2, CV3, and CV4 are 0.5, 100, 10K, and 60, respectively, the degradation index DI can be calculated as 241, and it can be determined that no abnormal state occurs. Figure 5B In the example of Figure 5A ), but the degradation index DI can be calculated as 411.5, and it can be determined that an abnormal state has occurred.

[0079] For example, assuming that the metablock MB2 is more affected by the operating temperature during the write operation of the storage device 300, and the metablock MB2 is prone to enter the failure mode due to the operating temperature, the fourth weight δ of the metablock MB2 may be set to a higher value than the other metablocks MB1 and MB5, and thus the degradation index DI of the metablock MB2 may be calculated as a higher value than the other metablocks MB1 and MB5. In this case, there may be a higher chance that the metablock MB2 is determined to be in an abnormal state, and thus the metablock MB2 may be effectively prevented from entering the failure mode.

[0080] refer to Figure 6 , operations S210, S220, S230, S240, S260, and S270 may be Figure 1 Operations S210, S220, S230, and S240 are similar to Figure 4 Operations S210, S220, S230 and S240 in FIG. 1 are substantially the same and will be omitted. Figure 4 The descriptions of those operations are repeated.

[0081] The first level, the second level, the third level, and the fourth level may be calculated based on the first to fourth eigenvalues ​​of each of the plurality of metablocks (operation S260). For each of the plurality of metablocks, a degradation index may be calculated based on the first to fourth levels. For example, the degradation index may be calculated using the first to fourth levels classified by a predetermined standard instead of directly using the first to fourth eigenvalues. In this case, the degradation index may be obtained in a form similar to the first to fourth levels.

[0082] refer to Fig. 7A, first to fourth levels CVL1, CVL2, CVL3, and CVL4 as one of level A, level B, level C, and level D may be calculated for each of a plurality of metablocks MB1, MB2, MB3, MB4, and MB5 based on the first to fourth eigenvalues ​​CV1, CV2, CV3, and CV4. Hereinafter, it may be defined that level A is the lowest level, level B is a level higher than level A, level C is a level higher than level B, and level D is the highest level. The higher the level, the lower the reliability of the block may be. For example, the degradation index DI may be calculated based on the highest level among the first to fourth levels CVL1, CVL2, CVL3, and CVL4.

[0083] For example, the first level CVL1 may be calculated as one of A, B, C, and D. For example, if the first eigenvalue CV1 is 0 to 20, the first level CVL1 may be calculated as level A, if the first eigenvalue CV1 is 20 to 40, the first level CVL1 may be calculated as level B, if the first eigenvalue CV1 is 40 to 80, the first level CVL1 may be calculated as level C, and if the first eigenvalue CV1 is 80 to 100, the first level CVL1 may be calculated as level D. Similarly, the second to fourth levels CVL2, CVL3, and CVL4 may also be calculated based on the second to fourth eigenvalues ​​CV2, CV3, and CV4, respectively.

[0084] For example, the first eigenvalue CV1, the second eigenvalue CV2, the third eigenvalue CV3, and the fourth eigenvalue CV4 of the metablock MB1 may be 10(%), 200(hr.), 100K(times), 60(°C), respectively. For example, based on the above standard, the first level CVL1 of the metablock MB1 may be calculated as level A, the second level CVL2 of the metablock MB1 may be calculated as level C, the third level CVL3 of the metablock MB1 may be calculated as level C, and the fourth level CVL4 of the metablock MB1 may be calculated as level C. For example, the degradation index DI of the metablock MB1 may be calculated as level C, which is the highest level among the first level CVL1 (e.g., A), the second level CVL2 (e.g., C), the third level CVL3 (e.g., C), and the fourth level CVL4 (e.g., C) of the metablock MB1.

[0085] If you will refer to Figure 8 As described, whether an abnormal state has occurred can be determined by comparing the degradation index DI with the abnormal state standard value STDV of each of the plurality of metablocks MB1, MB2, MB3, MB4, and MB5. For example, when the abnormal state standard value STDV is set to level D, a state in which the degradation index DI is the same as or higher than level D can be determined as an abnormal state.

[0086] For example, since the degradation index DI of the metablock MB1 is level C which is lower than level D, it can be determined that no abnormal state has occurred in the metablock MB1. For example, since the degradation index DI of the metablock MB5 is level D which is the same level as the abnormal state standard value STDV, it can be determined that an abnormal state has occurred in the metablock MB5.

[0087] refer to Figure 7B In some example embodiments, the first to fourth levels CVL1, CVL2, CVL3, and CVL4 may be calculated based on different level distinction criteria for each of the plurality of metablocks MB1, MB2, and MB5. In other words, for each of the plurality of metablocks MB1, MB2, and MB5, a scheme for calculating the first to fourth levels CVL1, CVL2, CVL3, and CVL4 as one of level A, level B, level C, and level D based on the first to fourth eigenvalues ​​CV1, CV2, CV3, and CV4 may be differently set.

[0088] For example, the level distinction standard of the meta-block MB1 can be set to Fig. 7A The level distinction criteria of the meta-block MB1 in the same manner as in the example above, while the level distinction criteria of the meta-blocks MB2 and MB5 can be the same as those of Fig. 7A The level distinction criteria of meta-blocks MB2 and MB5 are set differently.

[0089] For example, in the case of metablock MB2, Fig. 7A In the example of , the fourth level CVL4 can be calculated as level C based on the fourth characteristic value CV4 (60), the degradation index DI can be calculated as level C, and it can be determined that no abnormal state has occurred. Figure 7B In the example of , the fourth level CVL4 can be calculated as level D based on the fourth characteristic value CV4 (60), the degradation index DI can be calculated as level D, and it can be determined that an abnormal state has occurred.

[0090] For example, assuming that the metablock MB2 is more affected by the operating temperature during the write operation of the storage device 300, and the metablock MB2 is prone to enter the failure mode due to the operating temperature, the range of the fourth characteristic value CV4 of the level D classified as the metablock MB2 can be set to be wider than the range of the other metablocks MB1 and MB5. For example, the range of the fourth characteristic value CV4 of the fourth level CVL4 of the level D classified as the metablock MB2 can be set to 50°C or higher, and the range of the fourth characteristic value CV4 of the fourth level CVL4 of the level D classified as the other metablocks MB1 and MB5 can be set to 70°C or higher. In this case, even if the metablock MB2 and the other metablocks MB1 and MB5 have the same operating temperature (for example, 60°C), only the fourth level CVL4 of the metablock MB2 can be classified as the level D. Therefore, it can be determined that the abnormal state has occurred only in the metablock MB2, and the metablock MB2 can be effectively prevented from entering the failure mode.

[0091] Figure 8 , Fig. 9 and Fig.10 is a flowchart illustrating an example of outputting a first response in a method of operating a storage device according to example embodiments.

[0092] refer to Figure 8 , operations S310a, S320a, and S330a may be Figure 1 An example of operation S300 in FIG. Figure 8 A case where it is determined whether an abnormal state has occurred using the degradation index may be shown.

[0093] For each meta-block in the plurality of meta-blocks, the above reference Figure 4 The degradation index obtained as described up to FIG. 7 is compared with the abnormal state standard value (operation S310a). For example, the abnormal state standard value may be arbitrarily set by a manufacturer or the like.

[0094] As a result of operation S310a, if the degradation index is greater than or equal to the abnormal state standard value (operation S310a: yes), a first response may be generated (operation S320a) and may be output to the host device 200 (operation S330a). Therefore, if at least one metablock among the plurality of metablocks is determined to be in an abnormal state, a first response may be generated and may be output.

[0095] As a result of operation S310a, if the degradation index is less than the abnormal state standard value (operation S310a: No), operation S200 may be performed again. That is, the first to fourth characteristic values ​​and the degradation index may be obtained again.

[0096] refer to Fig. 9, operations S310b, S320b, and S330b may be Figure 1 An example of operation S300 in FIG. Fig. 9 A case where it is determined whether an abnormal state has occurred using the first feature value may be shown.

[0097] For each meta-block in the plurality of meta-blocks, the first feature value may be compared with a first average feature value of the plurality of user blocks (operation S310b). Figure 1 As described above, the first characteristic value may indicate an EC percentile value obtained by dividing the EC value by the EC limit value. For example, the first average characteristic value may indicate an average value of the first characteristic value of each user block in the plurality of user blocks.

[0098] As a result of operation S310b, if the first characteristic value of the first metablock among the plurality of metablocks is greater than or equal to the first average characteristic value (operation S310b: yes), a first response may be generated (operation S320b), and the first response may be output to the host device 200 (operation S330b). Therefore, if at least one of the plurality of metablocks is determined to be in an abnormal state, a first response may be generated and output.

[0099] As a result of operation S310b, if the first eigenvalue of the first metablock is less than the first average eigenvalue (operation S310b: No), operation S200 may be performed again. That is, the first to fourth eigenvalues ​​and the degradation index may be obtained again.

[0100] refer to Fig.10 , operations S310c, S320c and S330c may be Figure 1 An example of operation S300 in FIG. Fig.10 A case where it is determined whether an abnormal state has occurred using the first feature value may be shown.

[0101] For each of the plurality of metablocks, the increase in the first feature value of the first metablock of the plurality of metablocks during the reference time interval may be compared with the reference change amount (operation S310c). In this case, a rapid increase in the first feature value within a short time interval may be detected.

[0102] As a result of operation S310c, if the increase amount of the first characteristic value of the first metablock during the reference time interval is greater than or equal to the reference change amount (operation S310c: yes), a first response may be generated (operation S320c) and may be output to the host device 200 (operation S330c). Therefore, if at least one of the plurality of metablocks is determined to be in an abnormal state, a first response may be generated and output.

[0103] As a result of operation S310c, if the increase amount of the first eigenvalue of the first metablock during the reference time interval is less than the reference change amount (operation S310c: No), operation S200 may be performed again. That is, the first to fourth eigenvalues ​​and the degradation index may be obtained again.

[0104] Fig.11 is a flowchart illustrating a method of operating a storage device according to an example embodiment. Figure 1 Description of duplicate description.

[0105] refer to Fig.11 Operations S310d, S320d, S330d, and S340d may be examples of operation S300. Operations S100 and S200 may be examples of operation S310d, S320d, S330d, and S340d. Figure 1 The operations S100 and S200 in FIG. 1 are substantially the same. Fig.11 It can be shown that operations S200 and S310d are performed periodically.

[0106] It may be determined whether an abnormal state has occurred (operation S310d). For example, operation S310d may include Figure 8 , Fig. 9 and Fig.10 At least one of operations S310a, S310b and S310c.

[0107] As a result of operation S310d, if it is determined that the abnormal state occurs (operation S310d: Yes), a first response may be generated (operation S320d) and may be output (operation S330d).

[0108] As a result of operation S310d, if it is determined that the abnormal state has not occurred (operation S310d: No), it is checked whether the reference time has passed (operation S340d), and operation S200 is performed again only when the reference time has passed (operation S340d: Yes). If the reference time has not passed (operation S340d: No), the process may wait until the reference time has passed. Therefore, operation S200 may be periodically performed at each reference time.

[0109] Fig. 12A and Fig. 12B is a diagram for describing a specific operation of outputting a first response in a method of operating a storage device according to example embodiments.

[0110] refer to Fig. 12A , signal exchange between the storage device 300 and the host device 200 corresponding to operations S100, S200, and S300 may be shown.

[0111] The host device 200 may transmit a first command CMD1 to the storage device 300. For example, the first command CMD1 may include an AER command.

[0112] The host device 200 may send various workloads WKLD to the storage device 300. The storage device 300 may perform various operations based on the various workloads WKLD received after receiving the first command CMD1. For example, the various workloads WKLD may include host write / read operations, firmware download / activation, power-on reset, and power state change, etc.

[0113] The storage device 300 may perform a first operation OP1. The first operation OP1 may be an operation for obtaining first to fourth eigenvalues ​​and a degradation index for each of a plurality of metablocks and for determining whether an abnormal state has occurred. For example, when the storage device 300 performs various operations based on various workloads WKLD, the reliability of the plurality of metablocks may be changed (e.g., degraded) by causing stress in the plurality of metablocks. For example, the first operation OP1 may be performed periodically and may include an operation for storing the first to fourth eigenvalues ​​and the degradation index as telemetry information.

[0114] When the storage device 300 determines that an abnormal state has occurred based on at least one of the first characteristic value and the degradation index, the storage device 300 may send a first response RS1 corresponding to the first command CMD1 to the host device 200. For example, the first response RS1 may include an AER response. For example, the first response RS1 may be generated by comparing the degradation index with the abnormal state standard value, or by comparing the first characteristic value with the first average characteristic value or the reference variation.

[0115] refer to Fig. 12B The storage controller 400 may include a host interface 410 , an index obtaining module 460 , and an abnormal state determining module 465 .

[0116] The host interface 410 may receive a first command CMD1 from the host device and may transmit the first command CMD1 to the index obtaining module 460 .

[0117] The index obtaining module 460 may obtain the first to fourth characteristic values ​​CV and the degradation index DI based on the first command CMD1 , and transmit the first to fourth characteristic values ​​CV and the degradation index DI to the abnormal state determining module 465 .

[0118] The abnormal state determination module 465 may determine whether an abnormal state has occurred based on the first characteristic value among the first to fourth characteristic values ​​CV and the degradation index DI, and output a first response RS1 to the host device via the host interface 410 .

[0119] Fig.13 is a flowchart illustrating a method of operating a storage device according to an example embodiment. Fig. 12A and Fig. 12B Those repeated descriptions.

[0120] refer to Fig.13 , the method of operating a memory device according to example embodiments may further include operations S400 and S500 after outputting the first response.

[0121] A second command for obtaining debugging information about an abnormal state of the storage device may be received from the host device (operation S400). The second command may be generated based on the first response. Therefore, when an abnormal state occurs in the storage device, the second command may be output from the host device.

[0122] A second response including debugging information of an abnormal state of the storage device and corresponding to the second command may be output (operation S500). For example, the debugging information may include a type, a quantity, a degradation index, a first characteristic value, and a first average characteristic value of a plurality of user blocks of a first metablock. The first metablock may be a metablock in which an abnormal state occurs among the plurality of metablocks.

[0123] Fig.14A and Fig. 14B FIG. 1 is a diagram for describing a specific operation of outputting a second response in a method of operating a storage device according to an example embodiment. Fig. 12A and Fig. 12B Those repeated descriptions.

[0124] refer to Fig.14A , signal exchange between the storage device 300 and the host device 200 corresponding to operations S400 and S500 may be shown.

[0125] The host device 200 may transmit the second command CMD2 to the storage device 300. For example, unlike the first command CMD1, the second command CMD2 may not include an AER command.

[0126] The storage device 300 may perform a second operation OP2 of generating debugging information. The debugging information may include a type, a quantity, a degradation index, a first characteristic value, and a first average characteristic value of a plurality of user blocks of the first metablock.

[0127] The storage device 300 may transmit a second response RS2 to the host device 200. The second response RS2 may include debug information and may correspond to the second command CMD2.

[0128] refer to Fig. 14B, the storage controller 400 may include a host interface 410 and a debug information generation module 470. For example, the host interface 410 may receive a second command CMD2 from a host device, and may send the second command CMD2 to the debug information generation module 470.

[0129] The debugging information generation module 470 may generate debugging information DBI based on the second command CMD2. The debugging information may include the type, quantity, degradation index, first characteristic value, and first average characteristic value of the first meta-block and the plurality of user blocks. For example, the debugging information generation module 470 may receive the type, quantity, degradation index, first characteristic value, and first average characteristic value of the first meta-block and the plurality of user blocks from the abnormal state determination module 465. The debugging information generation module 470 may output a second response RS2 including the debugging information DBI to the host device via the host interface 410.

[0130] Fig.15 is a flowchart illustrating a method of operating a storage device according to an example embodiment. Figure 1 and Fig.13 Description of duplicate description.

[0131] refer to Fig.15 , the method of operating a storage device according to example embodiments may further include operations S600 and S700 after outputting the second response. Hereinafter, host command blocking and command blocking function are used as substantially the same meaning.

[0132] A third command for requesting a command blocking function of a storage device may be received from the host device (operation S600). For example, the third command may be generated based on the second response. For example, the third command may be implemented as a command requesting a change in the configuration of the storage device. For example, the storage device may be set to a command blocking mode different from the normal mode based on the third command. Although not shown in detail, in some example embodiments, the command blocking mode may be stopped when a specific time period has passed after the command blocking mode is set. For example, if a specific time period has passed, the host device 200 may be implemented as sending a command requesting the configuration of the storage device to be changed to the normal mode.

[0133] The storage device may perform blocking on commands received from the host device after receiving the third command (operation S700). For example, blocking may be performed on all of the plurality of metablocks. In some example embodiments, blocking may be performed on all commands of the host device. In other example embodiments, blocking may be selectively performed on commands that access a plurality of non-volatile memories among commands of the host device. Fig.17 Describes the specific actions that the selective host command blocks.

[0134] Fig.16A and Fig. 16B is a diagram for describing a command blocking function in a method of operating a storage device according to an example embodiment. Fig.14A and Fig. 14B Those repeated descriptions.

[0135] refer to Fig.16A , signal exchange between the storage device 300 and the host device 200 corresponding to operations S600 and S700 may be shown. The host device 200 may send a third command CMD3 to the storage device 300. For example, unlike the first command CMD1, the third command CMD3 may not include an AER command.

[0136] The storage device 300 may perform a third operation OP3 after receiving the third command CMD3. For example, the third operation OP3 may be an operation of changing a configuration to block a fourth command CMD4 received from the host device after a time point of receiving the third command.

[0137] refer to Fig. 16B The storage controller 400 may include a host interface 410, a set feature configuration module 475, and a host command blocking module 480. For example, the host interface 410 may receive a third command CMD3 from a host device and may send the third command CMD3 to the set feature configuration module 475.

[0138] Based on the third command CMD3, the feature setting configuration module 475 may configure the host command blocking module 480 to block commands from the host device after a time point when the third command is received.

[0139] When the host interface 410 receives a command from a host device, the host command blocking module 480 may block the command from being sent to the processor 420 .

[0140] Fig.17 is a flowchart illustrating an example of a selective command blocking function in a method of operating a storage device according to example embodiments.

[0141] refer to Fig.17 , it can be determined whether the command of the host device is a command to access or not access multiple non-volatile memories (operation S710). The command to access multiple non-volatile memories can be an example of a command that can apply stress to the NAND. The command not to access multiple non-volatile memories may include a management command to read information on the storage device.

[0142] If the command of the host device is a command to access the plurality of nonvolatile memories (operation S710: Yes), the execution of the command may be stopped (operation S720), and if the command of the host device is a command not to access the plurality of nonvolatile memories (operation S710: No), the command may be executed (operation S730). In this case, commands not related to the degradation of the plurality of metablocks, including management commands, may be executed, thereby preventing the operation of the storage device from being temporarily completely stopped.

[0143] Fig.18 is a diagram for describing a command blocking function in a method of operating a storage device according to an example embodiment. Fig.16A Description of duplicate description.

[0144] refer to Fig.18 , the signal exchange between the storage device 300 and the host device 200 corresponding to operations S710, S720, and S730 may be shown. If the fourth command CMD4 is a command to access multiple non-volatile memory devices, the fourth command CMD4 may be blocked (or execution may be stopped). If the fifth command CMD5 is unrelated to the command to access multiple non-volatile memory devices, the fifth command CMD5 may be executed. For example, the fourth command CMD4 may indicate a command that may apply stress to the NAND. For example, the fifth command CMD5 may include a management command to read information on the storage device.

[0145] Fig.19 is a block diagram illustrating a plurality of nonvolatile memories included in a storage device according to example embodiments.

[0146] refer to Fig.19 , the nonvolatile memory device 500 may include a memory cell array 510 , an address decoder 520 , a page buffer circuit 530 , a data input / output (I / O) circuit 540 , a voltage generator 550 , and a control circuit 560 .

[0147] The memory cell array 510 is connected to the address decoder 520 via a plurality of string selection lines SSL, a plurality of word lines WL, and a plurality of ground selection lines GSL. The memory cell array 510 is also connected to the page buffer circuit 530 via a plurality of bit lines BL. The memory cell array 510 may include a plurality of memory cells (e.g., a plurality of nonvolatile memory cells) connected to a plurality of word lines WL and a plurality of bit lines BL. The memory cell array 510 may be split into a plurality of memory blocks BLK1, BLK2, ..., BLKz, each memory block including memory cells. In addition, each of the plurality of memory blocks BLK1 to BLKz may be split into a plurality of pages. A plurality of meta blocks and a plurality of user blocks may be included in the plurality of memory blocks BLK1 to BLKz.

[0148] The control circuit 560 receives a signal from the outside (e.g., Figure 2 The storage controller in the nonvolatile memory device 500 receives the command CMD and the address ADDR, and controls the erasing process, programming process and / or reading operation of the nonvolatile memory device 500 based on the command CMD and the address ADDR. The erasing process may include performing a series of erasing cycles, and the programming process may include performing a series of programming cycles. Each programming cycle may include a programming execution operation and a programming verification operation. Each erasing cycle may include an erasing execution operation and an erasing verification operation. The reading operation may include a normal reading operation and a data recovery reading operation.

[0149] The address decoder 520 may be connected to the memory cell array 510 via a plurality of string selection lines SSL, a plurality of word lines WL, and a plurality of ground selection lines GSL. For example, in a data erase / program / read operation, the address decoder 520 may determine at least one of the plurality of word lines WL as a selected word line based on a row address R_ADDR, may determine at least one of the plurality of string selection lines SSL as a selected string selection line, and may determine at least one of the plurality of ground selection lines GSL as a selected ground selection line.

[0150] The voltage generator 550 may generate a voltage VS required for the operation of the nonvolatile memory device 500 based on the power PWR and the control signal CON. The voltage VS may be applied to a plurality of string selection lines SSL, a plurality of word lines WL, and a plurality of ground selection lines GSL via the address decoder 520. For example, the voltage VS may include a program voltage VPGM and a program verification voltage VPV required for a program loop, etc. In addition, the voltage generator 550 may generate an erase voltage VERS required for a data erase operation based on the power PWR and the control signal CON. The erase voltage VERS may be applied to the memory cell array 510 directly or via the bit line BL.

[0151] For example, during a program execution operation, the voltage generator 550 may apply a program voltage VPGM to a selected word line, and may apply a program pass voltage to unselected word lines via the address decoder 520. In addition, during a program verification operation, the voltage generator 550 may apply a program verification voltage VPV to a selected word line, and may apply a verification pass voltage to unselected word lines via the address decoder 520.

[0152] The page buffer circuit 530 may be connected to the memory cell array 510 via a plurality of bit lines BL. The page buffer circuit 530 may include a plurality of page buffers. The page buffer circuit 530 may store data DAT to be programmed into the memory cell array 510 or may read data DAT sensed from the memory cell array 510. In other words, the page buffer circuit 530 may operate as a write driver or a sense amplifier according to an operation mode of the nonvolatile memory device 500.

[0153] The data I / O circuit 540 may be connected to the page buffer circuit 530 via a data line DL. The data I / O circuit 540 may transmit data DAT from outside the nonvolatile memory device 500 (eg, from the page buffer circuit 530) based on the column address C_ADDR. Figure 2 The data DAT may be provided to the memory cell array 510 via the page buffer circuit 530, or the data DAT may be provided from the memory cell array 510 to the outside of the nonvolatile memory device 500 (e.g., to the memory controller in the nonvolatile memory device 500). Figure 2 storage controller in the .

[0154] Fig. 20 is a block diagram illustrating a data center to which a storage system according to example embodiments is applied.

[0155] refer to Fig. 20 , the data center 3000 may be a facility that collects various data and provides services, and may be referred to as a data storage center. The data center 3000 may be a system for search engine and database operations, and may be a computing system used in a government agency or an enterprise such as a bank. The data center 3000 may include application servers 3100 to 3100n and storage servers 3200 to 3200m. The number of application servers 3100 to 3100n and storage servers 3200 to 3200m may vary according to example embodiments, and may be different from each other.

[0156] The application server 3100 or the storage server 3200 may include at least one processor 3110 and 3210 and memories 3120 and 3220. To describe the storage server 3200 as an example, the processor 3210 may control the overall operation of the storage server 3200, may access the memory 3220, and may execute instructions and / or data loaded in the memory 3220. The memory 3220 may be a double data rate synchronous DRAM (DDR SDRAM), a high bandwidth memory (HBM), a hybrid memory cube (HMC), a dual in-line memory module (DIMM), an Optane DIMM, or a non-volatile DIMM (NVMDIMM). In some example embodiments, the number of processors 3210 and memories 3220 included in the storage server 3200 may vary. In some example embodiments, the processor 3210 and the memory 3220 may provide a processor-memory pair. In some example embodiments, the number of processors 3210 and memories 3220 may be different from each other. The processor 3210 may include a single-core processor or a multi-core processor. The above description of the storage server 3200 may also be similarly applied to the application server 3100. In some example embodiments, the application server 3100 may not include the storage device 3150. The storage server 3200 may include at least one storage device 3250. The storage device 3250 may correspond to Figure 2 The storage device 300 in.

[0157] The application servers 3100 to 3100n and the storage servers 3200 to 3200m can communicate with each other through the network 3300. The network 3300 can be implemented using Fibre Channel (FC) or Ethernet. FC is a medium for relatively high-speed data transmission, and an optical switch that provides high performance / high availability can be used. Depending on the access method of the network 3300, the storage servers 3200 to 3200m can be provided as file storage, block storage, or object storage.

[0158] In some example embodiments, network 3300 may be a storage-specific network, such as a storage area network (SAN). For example, the SAN may be an FC-SAN implemented using an FC network according to FCP (FC Protocol). For example, the SAN may be an IP-SAN implemented using a TCP / IP network according to an iSCSI (SCSI over TCP / IP or Internet SCSI) protocol. For example, network 3300 may be a general-purpose network such as a TCP / IP network. For example, network 3300 may be implemented according to protocols such as FC over Ethernet (FCoE), network attached storage (NAS), NVMe over fabric (NVMe-oF).

[0159] Hereinafter, the application server 3100 and the storage server 3200 will be mainly described. The description of the application server 3100 may also be applied to other application servers 3100n, and the description of the storage server 3200 may also be applied to other storage servers 3200m.

[0160] The application server 3100 may store data requested by a user or client to be stored in one of the storage servers 3200 to 3200m through the network 3300. The application server 3100 may obtain data requested by a user or client to be read from one of the storage servers 3200 to 3200m through the network 3300. For example, the application server 3100 may be implemented as a web server or a database management system (DBMS).

[0161] The application server 3100 may access a memory 3120n or a storage device 3150n included in another application server 3100n through the network 3300, or access a memory 3220 to 3220m or a storage device 3250 to 3250m included in the storage servers 3200 to 3200m through the network 3300. Therefore, the application server 3100 may perform various operations on the data stored in the application servers 3100 to 3100n and / or the storage servers 3200 to 3200m. For example, the application server 3100 may execute a command to move or copy data between the application servers 3100 to 3100n and / or the storage servers 3200 to 3200m. Data may be moved from storage devices 3250 to 3250m of storage servers 3200 to 3200m, through memory 3220 to 3220m of storage servers 3200 to 3200m, or directly to memory 3120 to 3120n of application servers 3100 to 3100n. Data moving over network 3300 may be encrypted for security or privacy purposes.

[0162] To describe the storage server 3200 as an example, the interface 3254 may provide a physical connection between the processor 3210 and the controller 3251, and a physical connection between the network interface connector (NIC) 3240 and the controller 3251. The controller 3251 may correspond to Figure 3 The storage controller 400 in FIG. 1 and the interface 3254 may correspond to Figure 3Host interface 410 in. For example, interface 3254 can be implemented in a direct attached storage (DAS) method of directly connecting storage device 3250 with a dedicated cable. For example, interface 3254 can be implemented using various interface methods, such as Advanced Technology Attachment (ATA), Serial ATA SATA, External SATA (e-SATA), Small Computer Small Interface (SCSI), Serial Attached SCSI (SAS), Peripheral Component Interconnect (PCI), PCI express (PCIe), NVM express (NVMe), Compute Express Link (CXL), IEEE 1394, Universal Serial Bus (USB), Secure Digital (SD) Card, Multimedia Card (MMC), Embedded Multimedia Card (eMMC), UFS, Embedded UFS (eUFS) or Compact Flash (CF) Card interface, etc.

[0163] The storage server 3200 may further include a switch 3230 and a NIC 3240. The switch 3230 may selectively connect the processor 3210 and the storage device 3250, or selectively connect the NIC 3240 and the storage device 3250 under the control of the processor 3210. Similarly, the application server 3100 may further include a switch 3130 and a NIC 3140.

[0164] In some example embodiments, the NIC 3240 may include a network interface card, a network adapter, etc. The NIC 3240 may be connected to the network 3300 through a wired interface, a wireless interface, a Bluetooth interface, an optical interface, etc. The NIC 3240 may include an internal memory, a DSP, a host bus interface, and may be connected to the processor 3210 and / or the switch 3230, etc. through the host bus interface. The host bus interface may also be implemented as one of the examples of the above-mentioned interface 3254. In some example embodiments, the NIC 3240 may be integrated with at least one of the processor 3210, the switch 3230, and the storage device 3250.

[0165] In the storage servers 3200 to 3200m or the application servers 3100 to 3100n, the processor may send a command to the storage devices 3150 to 3150n and 3250 to 3250m or the memories 3120 to 3120n and 3220 to 3220m to program or read data. The data may be error-corrected data through an error correction code (ECC) engine. The data may be processed with a data bus inversion (DBI) or a data mask (DM) and may include cyclic redundancy code (CRC) information. The data may be encrypted for security or privacy purposes.

[0166] In response to a read command received from a processor, storage devices 3150 to 3150m and 3250 to 3250m may send control signals and command / address signals to NAND flash memory devices 3252 to 3252m. When data is read from NAND flash memory devices 3252 to 3252m, a read enable (RE) signal may be input as a data output control signal and may be used to output data to a DQ bus. A data strobe signal DQS may be generated using the RE signal. Command and address signals may be latched in a page buffer according to a rising edge or a falling edge of a write enable (WE) signal.

[0167] The controller 3251 may control the overall operation of the storage device 3250. The controller 3251 may write data to the NAND flash memory 3252 in response to a write command, and may read data from the NAND flash memory 3252 in response to a read command. For example, the write and / or read command may be provided by the processor 3210 in the storage server 3200, the processor 3210m in another storage server 3200m, or the processors 3110 and 3110n in the application servers 3100 and 3100n. The DRAM 3253 may temporarily store (buffer) data to be written to the NAND flash memory 3252 or data to be read from the NAND flash memory 3252. In addition, the DRAM 3253 may store metadata, which is user data or data generated by the controller 3251 to manage the NAND flash memory 3252.

[0168] The storage devices 3250 through 3250 m may be storage devices according to example embodiments, and may perform methods of operating storage devices according to example embodiments.

[0169] Example embodiments may be applied to various electronic devices and systems, including storage devices. For example, example embodiments may be more effectively applied to electronic systems such as personal computers, server computers, cloud computers, data centers, workstations, laptop computers, cellular phones, smart phones, MP3 players, personal digital assistants (PDAs), portable multimedia players (PMPs), digital TVs, digital cameras, portable game consoles, navigation devices, wearable devices, Internet of Things (IoT) devices, Internet of Everything (IoE) devices, e-books, virtual reality (VR) devices, augmented reality (AR) devices, drones, automotive systems, etc.

[0170] The foregoing is an illustration of example embodiments and should not be construed as limiting thereof. Although some example embodiments have been described, those skilled in the art will readily appreciate that many modifications may be made in the example embodiments without substantially departing from the novel teachings and advantages of the example embodiments. Therefore, all such modifications are intended to be included within the scope of the example embodiments defined in the claims. Therefore, it should be understood that the foregoing is an illustration of various example embodiments and should not be construed as being limited to the specific example embodiments disclosed, and modifications to the disclosed example embodiments as well as other example embodiments are intended to be included within the scope of the appended claims.

[0171] The term "module" is used in the description of one or more example embodiments. A module implements one or more functions via a device such as a processor or other processing device or other hardware, which may include or operate in association with a memory storing operating instructions. A module may operate independently and / or in combination with software and / or firmware. As also used herein, a module may contain one or more sub-modules, each of which may be one or more modules.

[0172] One or more of the elements disclosed above may include or be implemented in one or more processing circuits, such as hardware including logic circuits; hardware / software combinations, such as processors that execute software; or combinations thereof. For example, the processing circuits may more specifically include, but are not limited to, a central processing unit (CPU), an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FGPA), a system on a chip (SoC), a programmable logic unit, a microprocessor, an application specific integrated circuit (ASIC), etc.

[0173] The example embodiments have been described above by means of method steps illustrating the performance of specified functions and their relationships. For ease of description, the boundaries and order of these functional building blocks and method steps have been defined herein. Alternative boundaries and orders may be defined, as long as the specified functions and relationships are properly performed. Therefore, any such alternative boundaries or orders are within the scope and spirit of the claims.

[0174] As used herein, expressions such as “at least one of…” when preceding a list of elements modify the entire list of elements rather than the individual elements of the list. Thus, for example, “at least one of A, B, or C” and “at least one of A, B, and C” both mean A, B, C, or any combination of two or more of A, B, and C.

Claims

1. A method of operating a storage device comprising a plurality of metablocks configured to store a plurality of metadata, the method comprising: receiving a first command for detecting an abnormal state of the storage device from a host device located outside the storage device; Based on the first command, a plurality of characteristic values ​​and a degradation index of each metablock in the plurality of metablocks are obtained, the plurality of characteristic values ​​comprising a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value, the first characteristic value being related to an endurance characteristic, the second characteristic value being related to a data retention characteristic, the third characteristic value being related to a read disturbance characteristic, and the fourth characteristic value being related to a temperature characteristic, the degradation index being calculated based on the plurality of characteristic values; as well as A first response is output to the host device based on at least one of the first characteristic value or the degradation index, the first response corresponding to the first command and generated in response to detecting an abnormal state of the storage device.

2. The method according to claim 1, wherein: Obtaining the plurality of characteristic values ​​and the degradation index comprises: obtaining an erase count EC percentile value of each metablock of the plurality of metablocks as a first characteristic value, the EC percentile value being obtained by dividing the EC value by the EC limit value; obtaining a data retention time of each metablock of the plurality of metablocks as a second characteristic value, the data retention time being measured from a time point when a write operation is performed; obtaining a number of read operations of each metablock in the plurality of metablocks as a third characteristic value, the number of read operations being counted after a write operation is performed; obtaining a write temperature of each of the plurality of metablocks as a fourth characteristic value, the write temperature being measured when a write operation is performed; and The degradation index of each of the plurality of metablocks is calculated based on the EC percentile value of each of the plurality of metablocks, the data retention time, the number of read operations, and the write temperature.

3. The method according to claim 2, wherein: Obtaining the first characteristic value includes multiplying the EC percentile value by a first weight, obtaining the second characteristic value includes multiplying the data retention time by a second weight, obtaining the third characteristic value includes multiplying the number of read operations by a third weight, obtaining the fourth characteristic value includes multiplying the write temperature by a fourth weight, and wherein the degradation index is calculated as the sum of the first characteristic value, the second characteristic value, the third characteristic value, and the fourth characteristic value.

4. The method according to claim 3, wherein: The first to fourth weights are differently set for each of the plurality of metablocks.

5. The method according to claim 2, wherein: Obtaining the plurality of characteristic values ​​and the degradation index further includes: calculating a first level, a second level, a third level, and a fourth level for each metablock of the plurality of metablocks, the first level indicating a level of the first eigenvalue, the second level indicating a level of the second eigenvalue, the third level indicating a level of the third eigenvalue, and the fourth level indicating a level of the fourth eigenvalue, The degradation index is calculated based on the highest level among the first to fourth levels.

6. The method according to claim 5, wherein: Each of the plurality of metablocks has a different level differentiation criterion, and calculations of the first to fourth levels are based on the level differentiation criterion.

7. The method according to claim 1, wherein: The output first response includes: comparing a degradation index of each metablock of the plurality of metablocks with an abnormal state standard value; and When a degradation index of a first metablock among the plurality of metablocks is greater than or equal to an abnormal state standard value, a first response is generated.

8. The method according to claim 1, in, The storage device further comprises a plurality of user blocks configured to store a plurality of user data, Wherein, outputting the first response includes: comparing a first characteristic value of each metablock of the plurality of metablocks with a first average characteristic value associated with a durability characteristic of the plurality of user blocks; and In response to determining that a first eigenvalue of a first metablock of the plurality of metablocks is greater than or equal to a first average eigenvalue, a first response is generated.

9. The method according to claim 1, wherein: The output first response includes: In response to determining that a first characteristic value of a first metablock of the plurality of metablocks increased by more than a reference change amount during a reference time interval, a first response is generated.

10. The method according to claim 1, further comprising: receiving, from the host device, a second command for obtaining debug information related to an abnormal state of a first metablock of the plurality of metablocks; as well as A second response is output to the host device based on the second command, the second response corresponding to the second command and including debug information.

11. The method according to claim 10, wherein: The debugging information includes at least one of a metablock type, a number of metablocks, a degradation index, or a first characteristic value of the first metablock.

12. The method according to claim 10, further comprising: receiving, from the host device, a third command for requesting a command blocking function of the storage device; as well as In response to the storage device receiving the third command, a plurality of commands received from the host device are blocked based on the third command.

13. The method according to claim 12, in, The storage device includes a plurality of non-volatile memories, Wherein, blocking the plurality of commands comprises: In response to receiving a fourth command associated with accessing the plurality of non-volatile memories, stopping execution of the fourth command; and In response to receiving a fifth command that is not related to accessing the plurality of non-volatile memories, the fifth command is executed.

14. The method according to claim 1, in, The first command includes an asynchronous event request AER command, and Among them, the first response includes an AER response.

15. The method according to claim 1, wherein: Obtaining the plurality of characteristic values ​​and the degradation index is performed periodically.

16. The method according to claim 1, wherein: The plurality of characteristic values ​​and the degradation index are stored as telemetry information.

17. The method according to claim 1, wherein: The storage device is a solid state drive (SSD).

18. A storage device comprising: a plurality of non-volatile memories including a plurality of metablocks configured to store a plurality of metadata; as well as Storage controller, configured as: receiving a first command for detecting an abnormal state of the storage device from a host device located outside the storage device, In response to receiving the first command, obtaining a plurality of characteristic values ​​and a degradation index of each metablock of the plurality of metablocks, the plurality of characteristic values ​​comprising a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value, and outputting a first response to a host device based on at least one of the first characteristic value or the degradation index, wherein The first characteristic value is related to the durability characteristic, The second eigenvalue is related to the data retention characteristic, The third characteristic value is related to the read disturbance characteristic, The fourth eigenvalue is related to the temperature characteristic, The degradation index is calculated based on the plurality of characteristic values, and The first response corresponds to the first command and is generated in response to detecting an abnormal state of the storage device.

19. The storage device according to claim 18, wherein: The storage controller comprises: an index obtaining module configured to calculate and store the plurality of characteristic values ​​and the degradation index; and an abnormal state determination module configured to compare the degradation index of each metablock of the plurality of metablocks with an abnormal state standard value, and configured to generate a first response in response to the degradation index of a first metablock of the plurality of metablocks being greater than or equal to the abnormal state standard value, Wherein, for each metablock among the multiple metablocks, the index acquisition module is also configured to obtain an erase count EC percentile value of each metablock among the multiple metablocks as a first characteristic value, configured to obtain a data retention time of each metablock among the multiple metablocks as a second characteristic value, configured to obtain a number of read operations of each metablock among the multiple metablocks as a third characteristic value, configured to obtain a write temperature of each metablock among the multiple metablocks as a fourth characteristic value, and configured to calculate the degradation index of each metablock among the multiple metablocks based on the EC percentile value of each metablock among the multiple metablocks, the data retention time, the number of read operations and the write temperature, wherein the EC percentile value is obtained by dividing the EC value by the EC limit value, the data retention time is measured from a time point when a write operation is performed, the number of read operations is counted after the write operation is performed, and the write temperature is measured when the write operation is performed.

20. A method of operating a storage system comprising a host device and a storage device, the storage device comprising a plurality of metablocks configured to store a plurality of metadata, the method comprising: The host device sends a first command for detecting an abnormal state of the storage device to the storage device; The storage device obtains, based on the first command, a plurality of characteristic values ​​including a first characteristic value, a second characteristic value, a third characteristic value, and a fourth characteristic value of each metablock of the plurality of metablocks, and a degradation index calculated from the plurality of characteristic values, wherein the first characteristic value is related to an endurance characteristic and is obtained as an erase count EC percentile value, the second characteristic value is related to a data retention characteristic and is obtained as a data retention time, the third characteristic value is related to a read disturbance characteristic and is obtained as the number of read operations, the fourth characteristic value is related to a temperature characteristic and is obtained as a write temperature, the degradation index is calculated based on the first characteristic value to the fourth characteristic value, the EC percentile value is obtained by dividing the EC value by the EC limit value, the data retention time is measured from a time point when a write operation is performed, the number of read operations is counted after the write operation is performed, and the write temperature is measured when the write operation is performed; comparing, by the storage device, a degradation index of each metablock of the plurality of metablocks with an abnormal state standard value; In response to a degradation index of a first metablock among the plurality of metablocks being greater than or equal to an abnormal state standard value, a first response corresponding to the first command is sent by the storage device to the host device. sending, by the host device to the storage device, a second command for obtaining debug information related to an abnormal state of a first metablock among the plurality of metablocks; and A second response corresponding to the second command and including debugging information is sent by the storage device to the host device based on the second command.

Citation Information

Patent Citations

  • Magnetic sensor using metal and silicon junction structure

    KR1020230106960A