This application claims priority under 35 U.S.C. § 119 to Korean Patent Application No. 10-2021-0083119, filed Jun. 25, 2021, the disclosure of which is hereby incorporated herein by reference.
The inventive concept relates to a storage device and, more particularly, to a controller for performing a secure erase operation within a storage device, a storage device including the same, and a method of operating the storage device.
As a non-volatile memory, flash memory may retain data stored therein even when power thereto is cut off. Storage devices, such as solid state drives (SSDs) and memory cards, including flash memory are widely used. Storage devices are useful for storing or moving a large amount of data. As storage devices are widely used in various fields, the security of data stored in storage devices is increasingly important. In particular, in a computing system using a storage device, even if a user deletes data, information corresponding to the data may physically remain in the storage device. In general, in the case where data is repeatedly erased to thereby safely delete the data, a relatively high frequency of erasure can cause threshold voltage distribution characteristics to deteriorate. In this case, data reliability may be decreased when programming or reading data to or from a memory block.
The inventive concept provides a storage device that can reduce or prevent a decrease in data reliability of a memory block that has deteriorated in response to a repetition of secure erase operations, and a method of operating the storage device.
According to an aspect of the inventive concept, there is provided a storage device including a controller configured to control a non-volatile memory device including a plurality of blocks. The controller may include a secure erase control logic configured to control a secure erase operation on the plurality of blocks in response to a secure erase request from a host, and may set flags corresponding to the plurality of blocks, such that a flag corresponding to a block that has been requested to undergo at least two secure erase operations among the plurality of blocks has a first value. Adaptive control logic is provided, which is configured to perform a control operation such that an operating condition of at least one selected from a write operation and a read operation is changed from a normal write operation or a normal read operation when a flag corresponding to a first block has the first value, the first block is subject to the write or read request (from the host).
According to another aspect of the inventive concept, there is provided an operating method of a storage device controlling a memory operation of a non-volatile memory device including a plurality of blocks. The operating method includes performing a secure erase operation on the plurality of blocks in response to a secure erase request from a host, and setting flags corresponding to the plurality of blocks such that a flag corresponding to a block that has been requested to undergo at least two consecutive secure erase operations among the plurality of blocks has a first value. In addition, a write operation or a read operation is performed on a first block after changing at least one operating condition compared to a normal write or a normal read operation when a flag corresponding to the first block has the first value.
According to a further aspect of the inventive concept, there is provided a method of operating a storage device, which includes controlling a memory operation of a non-volatile memory device having a plurality of memory blocks therein. The operating method includes performing a secure erase operation on the plurality of memory blocks in response to a secure erase request from a host, and counting a number of secure erase operations performed on the plurality of memory blocks. A normal write operation or a write operation having a changed operating condition may then be performed on a first memory block based on a count value of the first block corresponding to a write request from the host, and an erase operation and a program operation may be sequentially performed on the first memory block in response to the write request from the host.
According to another aspect of the inventive concept, a method of operating a nonvolatile memory device includes performing a normal write operation on a first memory block within the nonvolatile memory device, and thereafter performing a secure erase operation on the first memory block by: (i) performing a plurality of consecutive erase operations on the first memory block, and (ii) setting a flag associated with the first memory block, which indicates that the first memory block has undergone the secure erase operation. Thereafter, a modified write operation is performed on the first memory block using at least one modified write operating condition relative to the normal write operation, in response to detecting the set flag associated with the first memory block. The performance of the modified write operation may also include resetting the flag associated with the first memory block, and may be followed by performing a normal write operation on the first memory block. In order to improve program reliability, the at least one modified write operating condition accounts for an over-erase condition within the first memory block, which is caused by the secure erase operation.
Embodiments of the inventive concept will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings in which:
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.
The NVM device 120 may include NVM such as NAND flash memory, vertical NAND flash memory, NOR flash memory, resistive random access memory (RAM), phase-change memory, or magnetoresistive RAM, however, other types of nonvolatile memory may also be used. The controller 110 may perform a control operation in response to a request from the host 11 such that data is written to or read from the NVM device 120. For example, the controller 110 may control data write and read operations of the NVM device 120 or an erase operation, in which data is erased from the NVM device 120.
The NVM device 120 may include a memory cell array. The memory cell array may include a plurality of memory blocks, such as first to z-th blocks BLK1 to BLKz. Each of the memory blocks may include a plurality of word lines and at least one dummy word line, and memory cells connected to each word line may form a single page. User data may be stored in a page corresponding to each of the word lines, whereas legitimate data may not be stored in a page corresponding to the dummy word line.
The controller 110 may perform a control operation on the NVM device 120 based on various units. For example, a memory block may be an erase unit, and a page may be a write unit and a read unit. The controller 110 may provide a command CMD and an address ADD to the NVM device 120 to execute various requests from the host 11.
The storage system 10 may include, for example, a personal computer (PC), a data server, network-attached storage (NAS), an Internet of things (IoT) device, or a portable electronic device. The portable electronic device may include a laptop computer, a mobile phone, a smartphone, a tablet PC, a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, an audio device, a portable multimedia player (PMP), a personal navigation device (PND), an MP3 player, a handheld game console, an e-book, or a wearable device.
According to an example embodiment, the storage device 100 may receive, from the host 11, a secure erase request Req_SE with respect to data. And, in response to the secure erase request Req_SE, the storage device 100 may support a function of securely erasing the data, which is selected by a user, such that the erased data cannot be restored. The storage device 100 may receive the secure erase request Req_SE from the host 11 via various kinds of interfaces. For example, the storage device 100 may receive various requests related to a secure erase based on the value of a secure erase setting (SES) field defined in the NVMe interface.
When receiving the secure erase request Req_SE from the host 11, the storage device 100 may perform a series of processing operations to physically erase the data selected by a user. According to an implementation, the host 11 may include a configuration for selecting data that a user wants to securely erase. For example, a host application capable of generating a request for a secure erase may be installed in the host 11, and a user may run the host application and select data to be securely erased. The series of processing operations of securely erasing data according to embodiments may be defined by various terms. For convenience of description, the series of processing operations may be defined as being included in a secure erase operation in the embodiments below.
According to an example embodiment, the controller 110 may include a secure erase control logic 111 and an adaptive control logic 112. Each of the secure erase control logic 111 and the adaptive control logic 112 may be implemented by hardware, software, or a combination thereof. For example, when each of the secure erase control logic 111 and the adaptive control logic 112 is implemented by software including firmware, the controller 110 may include at least one processor (not shown) executing the software and memory (not shown) storing the software, and each of the secure erase control logic 111 and the adaptive control logic 112 may be loaded to the memory as software. According to an embodiment, the controller 110 may include a flash translation layer (FTL), and at least part of the function of each of the secure erase control logic 111 and the adaptive control logic 112 may be included in the FTL.
In an example embodiment, the concept of the term “adaptive control” may include various control operations related to changing the conditions of write and read operations performed on a memory block that has deteriorated by at least two secure erase operations. In the descriptions of embodiments, the concept including the control operations may be defined as other various terms than the “adaptive control”.
The secure erase control logic 111 may output a secure erase control signal Ctrl_SE and control a series of operations to securely erase data selected by a user. When the secure erase request Req_SE with respect to at least one memory block is received from the host 11, the secure erase control logic 111 may control an erase operation on data stored in the memory block. For example, after performing an erase operation on a memory block, the secure erase control logic 111 may perform a control operation such that a program operation (e.g., one-shot programming) is performed to program the memory cells of the memory block to have a certain threshold voltage distribution.
According to an example embodiment, the adaptive control logic 112 may perform a control operation to adaptively control a memory operation such as a write or read operation. For example, the adaptive control logic 112 may output an adaptive control signal Ctrl_AD, based on a result of determining the secure erase state and/or deterioration degree of a memory block, with respect to which a write or a read has been requested, to differently control the conditions of the write or read operation. The controller 110 may control the secure erase operation and the write or read operation on the NVM device 120 by providing the command CMD, the address ADD, the secure erase control signal Ctrl_SE, and the adaptive control signal Ctrl_AD to the NVM device 120 based on the control results of the secure erase control logic 111 and the adaptive control logic 112.
Usually, each time when the storage device 100 receives the secure erase request Req_SE from the host 11, the storage device 100 may repeatedly perform physical erase operations on a memory block that corresponds to the secure erase request Req_SE. When multiple secure erase operations are repeatedly performed on one memory block, the threshold voltage distribution of the memory cells of the memory block may gradually change (or shift to the left). This change of the threshold voltage distribution may cause a decrease in data reliability when a subsequent write or read operation is thereafter performed on the memory block.
When embodiments are described with respect to a first memory block, information (e.g., a flag (not shown)) indicating whether multiple secure erase operations have been performed on the first memory block may be stored in the storage device 100. The secure erase control logic 111 may determine whether at least two secure erase operations have been consecutively requested or performed with respect to the first memory block and set a flag corresponding to the first memory block to a value of “1” based on a determination result. Whether at least two secure erase operations have been requested may be determined in various ways. For example, when the secure erase request Req_SE is received two consecutive times with respect to the first memory block, it may be determined that at least two secure erase operations have been requested. However, embodiments are not limited thereto. Moreover, even when, after the secure erase request Req_SE is received the first time, the secure erase request Req_SE is received a second time after an intermediate request (e.g., a read request) is received, which does not change the threshold voltage distribution of the first memory block, the flag corresponding to the first memory block may still be set to a value of “1”. The number of secure erase operations, based on which the flag is set to “1”, may be set to 2 or other various values greater than 2.
When a write or read request for the first memory block is received, the secure erase state and/or deterioration degree of the first memory block may first be evaluated/determined, and then the requested write or read operation may be adaptively controlled based on the result of the evaluation/determination.
As described hereinabove, when the threshold voltage distribution of a particular memory block deteriorates in response to the performance of multiple secure erase operations on the particular memory block, the threshold voltage distribution may thereafter be controlled to be shifted to an appropriate position by adaptively adjusting properties of a write operation, and data within the corresponding memory block may be controlled to be read using an optimal read level(s) by adaptively adjusting properties of a read operation. In an example embodiment, to determine about the deterioration of the particular (e.g., first) memory block, the flag corresponding to the particular memory block may be first referenced and evaluated. The deterioration degree of the first memory block may be determined by analyzing the threshold voltage distribution of the memory cells of the first memory block. In an example operation, when the flag corresponding to the first memory block is “1”, the deterioration degree of the first memory block may be determined based on the threshold voltage distribution of the memory cells of the first memory block, and an adaptive write and/or read operation may be performed on the first memory block according to the deterioration degree.
According to the present example embodiment, write and read operations may be adaptively performed based on a result of determining the secure erase state and/or deterioration degree of a memory block, of which the characteristic has deteriorated by consecutive secure erase operations. Accordingly, a threshold voltage distribution may be appropriately positioned through a program operation, and a read operation may be performed using an optimal read level(s). As a result, data reliability may be increased, and the cases where uncorrectable errors occur in response to a data read operation may be reduced. Accordingly, the frequency of operations for data error recovery (e.g., entering recovery code) may also be reduced, such that read latency may also be decreased.
According to the embodiment described above, the secure erase control logic 111 may change a flag, which corresponds to a memory block having a count value of 2 or a set value of at least 2, to a first value (e.g., “1”), and the flag may be stored in the flag storing circuit 113. In contrast, when a memory block has a count value of 1 or less, the flag may be maintained at a second value (e.g., “0”). In other words, whether a secure erase operation has been performed on a memory block at least two times may be determined based on flags, which are respectively stored in the flag storing circuit 113 in correspondence to memory blocks.
The adaptive control logic 112 may include a flag determiner 112_1, a deterioration determiner 112_2, and an adaptive controller 112_3. The flag determiner 112_1 may determine the flag value and output a signal indicating whether a secure erase operation has been performed on a memory block at least two times. The deterioration determiner 112_2 may output a signal, which indicates the deterioration degree (i.e., level of deterioration) of a memory block, based on at least one piece of information. For example, the deterioration determiner 112_2 may determine the deterioration degree of a memory block based on a count value CNT_OC, which is obtained by counting the number of off-cells among the memory cells of at least one page of the memory block based on a certain read level. Referring to the first memory block, the threshold voltage distribution of the first memory block may be shifted to the left according to the deterioration degree of the first memory block, and accordingly, the number of off-cells among the memory cells of at least one page may be compared with a certain reference value, and the deterioration degree of the first memory block may be determined to be relatively high when the number of off-cells is less than the certain reference value.
The adaptive controller 112_3 may receive a determination result and output the adaptive control signal Ctrl_AD. When a write request is received with respect to the first memory block that has undergone a secure erase operation, an erase operation for shifting the threshold voltage distribution of memory cells of the first memory block to an erase state and a program operation for shifting the threshold voltage distribution to a program state corresponding to data to be written may be sequentially performed. When the flag corresponding to the first memory block is 1, the level of at least one selected from a program voltage and an erase voltage may be adjusted according to the deterioration degree of the first memory block, or at least one selected from a program time (or a program loop count) and an erase time (or an erase loop count) may be adjusted. Alternatively, during a data writing process, a write operation may be performed by controlling the flow of a plurality of operations including an erase operation and a program operation on the first memory block.
Assuming that the adaptive write operation is not used, when a read operation is requested with respect to the first memory block to which user data has been written under normal operating conditions, an adaptive read operation may be performed based on the determination result in the above-described embodiment. For example, when data is written to the first memory block of which the characteristics have deteriorated, the threshold voltage distribution characteristics of memory cells of the first memory block may be different compared to when data is written to a memory block of which the characteristics have not deteriorated. In this case, according to an embodiment, an adaptive read operation may be performed such that the data may be read using an optimal read level.
Although
The host interface 210 may communicate with a host via the various interfaces described above. The memory interface 260 may provide physical connection between the controller 200 and an NVM device. A command, an address, data, and the like may be transmitted between the controller 200 and the NVM device via the memory interface 260. Data requested by the host to be written to the NVM device and data read from the NVM device may be temporarily stored in the buffer 250. The ECC circuit 240 may perform ECC encoding and decoding on data to be written and data that has been read and may detect and correct an error in the data. When the secure erase control operation and the adaptive control operation are performed based on software, a secure erase control module 231 and an adaptive control module 232 may, as firmware, include at least one program and may be loaded to the RAM 230 and executed by the processor 220.
The control logic 330 may output various internal control signals for controlling program, read, and erase operations of the memory cell array 310 based on the command CMD, the address ADD, and a control signal, which are received from a controller. For example, the control logic 330 may output a voltage control signal CTRL_vol for controlling the levels of various voltages generated by the voltage generator 320 and provide a row address X-ADD to the row decoder 340 and a column address Y-ADD to the page buffer 350. The voltage generator 320 may generate various voltages used by the NVM device 300. For example, the voltage generator 320 may generate a program voltage Vpgm used for a program operation and an erase voltage Vers used for an erase operation.
According to an example embodiment, the control logic 330 may receive the secure erase control signal Ctrl_SE and the adaptive control signal Ctrl_AD from the controller and may perform a secure erase operation and an adaptive write or read operation on the memory cell array 310 based on the secure erase control signal Ctrl_SE and the adaptive control signal Ctrl_AD. For example, the NVM device 300 may perform a normal write/read operation or a write/read operation under changed operating conditions according to the adaptive control signal Ctrl_AD.
In the region of the substrate SUB between two adjacent common source lines CSL, a plurality of pillars P pass through the insulating layers IL in the vertical direction Z. The plurality of pillars P are arranged in a first horizontal direction X. For example, the pillars P pass through the insulating layers IL to be in contact with the substrate SUB. In detail, a surface layer S of each pillar P may include a silicon material of the first conductivity type and may function as a channel region. An inner layer I of each pillar P may include an insulating material such as silicon oxide or an air gap.
In the region between two adjacent common source lines CSL, a charge storage layer CS is provided along the exposed surfaces of the insulating layers IL, the pillars P, and the substrate SUB. The charge storage layer CS may include a gate insulating layer (or referred to as a “tunneling insulating layer”), a charge trap layer, and a blocking insulating layer. For example, the charge storage layer CS may have an oxide-nitride-oxide (ONO) structure. In the region between two adjacent common source lines CSL, gate electrodes GE, such as a ground selection line GSL, a string selection line SSL, and word lines WL1 to WL8, are provided on an exposed surface of the charge storage layer CS.
Drains or drain contacts DR are respectively provided on the pillars P. For example, the drains or drain contacts DR may include a silicon material doped with impurities of the second conductivity type. Bit lines BL1 to BL3 extend on the drains or drain contacts DR in the first horizontal direction X and are separated from each other by a certain distance in the second horizontal direction Y.
Although not shown in
Referring to
Hereinafter, specific example operations according to embodiments are described.
As shown in (a) of
The numerical values of the read level in
Similarly, in the case where two (2) secure erase operations have been performed on the memory block, the off-cell difference may be at least 100 when a read operation is performed on the memory block using a read level that is 0.5 V lower than the default read level. In the case where three (3) secure erase operations have been performed on the memory block, the off-cell difference may be at least 100 when a read operation is performed on the memory block using a read level that is 0.7 V lower than the default read level. In the case where four secure erase operations have been performed on the memory block, the off-cell difference may be at least 100 when a read operation is performed on the memory block using a read level that is 0.8 V lower than the default read level.
The deterioration degree of the memory cells connected to the dummy word line may be determined based on the read level determined using the method described above. When the deterioration degree of the memory cells connected to the dummy word line is high, it may be determined that the deterioration degree of the memory block including the memory cells is high. Based on a determination result, the adaptive write or read operation may be performed according to the embodiments described above.
Although the numerical values in one case are shown in
The secure erase counter 410 may output a count value CNT[1:z], which indicates the number of secure erase operations performed on each of a plurality of memory blocks (e.g., z blocks), to the adaptive control logic 420 based on a counting operation. For example, the secure erase counter 410 may receive secure erase information Info_SE and a block address ADD_B and count the number of secure erase operations on a memory block corresponding to the block address ADD_B.
The adaptive control logic 420 may output the adaptive control signal Ctrl_AD for the above-described adaptive control operation based on the count value CNT[1:z]. For example, the adaptive control logic 420 may include an erase state determiner 421, a deterioration determiner 422, and an adaptive controller 423. The erase state determiner 421 may determine, based on the count value CNT[1:z], whether adaptive control is used during a subsequent data write or read operation. For example, when the count value CNT[1:z] of a memory block is at least N (where N is an integer of at least 2), the erase state determiner 421 may output a signal indicating that adaptive control is used. The deterioration determiner 422 may output a signal, which determines the deterioration degree of a memory block, based on the count value CNT[1:z]. For example, when the count value CNT[1:z] increases, the deterioration degree of the memory block may be determined to increase.
The adaptive controller 423 may change the conditions of a write or read operation on the memory block by outputting the adaptive control signal Ctrl_AD based on the signals from the erase state determiner 421 and the deterioration determiner 422. In an implementation, the adaptive controller 423 may include a table, which stores information about the conditions of at least one selected from write and read operations, and output the adaptive control signal Ctrl_AD based on the information stored in the table.
According to embodiments, examples of applying adaptive control to write and read operations are described below.
Otherwise, when the flag corresponding to the N-th memory block is 1, the deterioration degree of the N-th memory block may be determined using various methods in operation S34. For example, the deterioration degree of the N-th memory block may be determined based on a result of analyzing the threshold voltage distribution of the N-th memory block. The storage device may read information about reading conditions from a pre-defined table (PDT) that stores various kinds of information about adaptive control and perform a read operation on the page based on the information read from the PDT in operation S35. The read operation may be performed on the page on the basis of different read levels according to deterioration degrees.
According to the embodiments described above, when the flag corresponding to the N-th memory block is 1, each of states P0 to P6 may be determined based on adaptive read level information stored in the PDT. For example, the state P0 of a first threshold voltage distribution on the leftmost side may be determined through a read operation using a read level that is 200 mV higher than a default read level. The state P1 of a second threshold voltage distribution may be determined through a read operation using a read level that is 100 mV higher than the default read level. In the case of the state P6 of a seventh threshold voltage distribution, the shift of the seventh threshold voltage distribution is substantially small, and accordingly, the seventh threshold voltage distribution may be determined through a read operation using the default read level.
Otherwise, when the flag corresponding to the N-th memory block is 1, the deterioration degree of the N-th memory block may be determined using various methods, as described above, in operation S44. The storage device may perform a program operation on the page using write operation-related information stored in a PDT in operation S45. For example, the write operation may include erase and program operations on the N-th memory block, and adaptive control may be applied to at least one selected from the erase operation and the program operation. For example, at least one condition selected from an erase voltage, a program voltage, an erase time (or an erase loop count), and a program time (or a program loop count) may be changed, and the write operation may be performed based on the selected condition according to the deterioration degree.
Referring to
However, when the deterioration of a memory block, for which a write is requested, increases, the level of the erase voltage Vers may be decreased from a default value.
Moreover, as the deterioration of the memory block increases, the level of the program voltage Vpgm may be increased from a default value.
According to the deterioration degree of the N-th memory block, various operations may be sequentially performed in the adaptive writing process. When an erase operation is performed on the N-th memory block in operation S55, the memory cells of the N-th memory block may have a threshold voltage distribution corresponding to an erase state. Thereafter, a program operation (e.g., a dummy program operation) may be performed such that memory cells connected to at least some word lines of the N-th memory block are programmed to a certain threshold voltage distribution in operation S56, or a dummy program operation may be performed on only a certain word line (e.g., a dummy word line) among the word lines of the N-th memory block in operation S56. For example, the dummy program operation on the N-th memory block may include a program operation for shifting the threshold voltage distribution of the memory cells of the N-th memory block to a distribution corresponding to the case where deterioration has not occurred. Alternatively, the dummy program operation on the dummy word line may include a program operation for increasing the threshold voltage level of memory cells connected to the dummy word line to a distribution before deterioration occurs.
After the dummy program operation described above is completed, an erase operation and a data program operation may be sequentially performed to store valid user data in the N-th memory block in operations S57 and S58. According to an example embodiment, the erase operation on the N-th memory block in operation S55 may not be included in the adaptive writing process.
A controller of the storage device may determine whether a background operation on the first to N-th memory blocks is started in operation S61. As the background operation on the first to N-th memory blocks is started, the controller may determine flags respectively corresponding to the first to N-th memory blocks in operation S62 and set a background operation order of the first to N-th memory blocks based on a result of determining the flags. For example, when the flag of the N-th memory block is not 1, the place of the N-th memory block in the background operation order may be moved down in operation S64. Otherwise, when the flag of the N-th memory block is 1, the place of the N-th memory block in the background operation order may be moved up in operation S65.
Pieces of information about moving down and up the background operation order of the first to N-th memory blocks according to the flags of the first to N-th memory blocks may be merged with each other in operation S66, and accordingly, the background operation order of the first to N-th memory blocks may be determined. The background operation may be performed on the first to N-th memory blocks according to the background operation order in operation S67.
While the inventive concept has been particularly shown and described with reference to embodiments thereof, it will be understood that various changes in form and details may be made therein without departing from the spirit and scope of the following claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2021-0083119 | Jun 2021 | KR | national |