Method of operating memory system for dynamic power control and memory system performing method
By dynamically adjusting the power state of the storage device based on the operation status signal and event priority, the problem of system performance degradation caused by increased power consumption of the storage device is solved, achieving both improved operation performance and reduced power consumption.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-27
- Publication Date
- 2026-04-07
AI Technical Summary
As the number of storage devices in a single system increases, the power consumption of these devices also increases. Traditional power control methods may lead to a decrease in the overall system's I/O performance and make it difficult to reduce power consumption while improving operational performance.
By dynamically adjusting the power state of storage devices, the power state of storage devices is adaptively changed according to the operation status signals and event priorities to meet the system power budget, avoiding the simultaneous change of the power state of all devices.
While improving the operational performance of the storage system, it effectively reduces system power consumption and avoids a decline in I/O performance.
Smart Images

Figure CN121807219A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Example embodiments relate generally to semiconductor integrated circuits, and more particularly to a method of operating a storage system for dynamic power control and a storage system performing the same. BACKGROUND
[0002] Certain types of data storage devices include one or more semiconductor memory devices. Examples of such data storage devices include solid state drives (SSDs). These types of data storage devices can have various design and / or performance advantages over hard disk drives (HDDs). Examples of potential advantages include the absence of moving mechanical components, higher data access speeds, stability, durability, and / or low power consumption. In recent years, various systems such as laptop computers, automobiles, airplanes, drones, etc. have adopted SSDs for data storage.
[0003] A storage device including a storage controller, a volatile memory, and a non-volatile memory is generally operated by receiving externally supplied power. As the number of storage devices included in a single system increases, the power consumed by the storage devices in the entire system can increase. Various studies have been made to reduce the power consumption of storage devices. SUMMARY
[0004] At least one example embodiment of the present disclosure provides a method of operating a storage system capable of dynamically controlling and / or adjusting power consumption of the storage system according to an operating state of a storage device.
[0005] At least one example embodiment of the present disclosure provides a storage system performing a method of operating a storage system.
[0006] According to an example embodiment, in a method of operating a storage system including a plurality of storage devices, a first power state in which power consumptions of the plurality of storage devices are each less than a reference power consumption is entered by the plurality of storage devices. A plurality of operating state signals representing operating states of the plurality of storage devices is output by the plurality of storage devices. When a power consumption increase event occurs on at least one storage device of the plurality of storage devices, and when at least one operating state signal of the plurality of operating state signals changes, a power state setting signal is received by the at least one storage device of the plurality of storage devices. Based on the power state setting signal, the first power state of the at least one storage device of the plurality of storage devices is changed such that the power consumptions of the at least one storage device of the plurality of storage devices are each greater than or equal to the reference power consumption.
[0007] According to an example embodiment, a storage system includes a plurality of storage devices and a host device that controls operations of the plurality of storage devices. The plurality of storage devices enters a first power state in which respective power consumptions of the plurality of storage devices are less than a reference power consumption. The plurality of storage devices outputs a plurality of operation state signals that represent operation states of the plurality of storage devices. When a power consumption increase event occurs on at least one storage device of the plurality of storage devices, and when at least one operation state signal of the plurality of operation state signals changes, the at least one storage device of the plurality of storage devices receives a power state setting signal. Based on the power state setting signal, the first power state of the at least one storage device of the plurality of storage devices is changed such that the respective power consumption of the at least one storage device of the plurality of storage devices is greater than or equal to the reference power consumption.
[0008] According to an example embodiment, in a method of operating a storage system including a host device and a plurality of storage devices, the plurality of storage devices enters a first power state in which respective power consumptions of the plurality of storage devices are less than a reference power consumption. The plurality of storage devices sends a plurality of operation state signals to the host device. The operation states of the plurality of storage devices are monitored by the host device based on the plurality of operation state signals. When a power consumption increase event occurs on a first storage device of the plurality of storage devices, and when a first operation state signal of the plurality of operation state signals changes, a first power state setting signal having a first value is sent by the host device to the first storage device based on a power budget of the storage system. Based on the first power state setting signal having the first value, the first storage device enters a second power state in which a first power consumption of the first storage device is greater than or equal to the reference power consumption. When the power consumption increase event of the first storage device is completed, and when the first operation state signal changes again, the first power state setting signal having a second value is sent by the host device to the first storage device. The second value is different from the first value. Based on the first power state setting signal having the second value, the first storage device enters the first power state again. The power consumption increase event includes a plurality of internal events that are internally performed in the plurality of storage devices, and a plurality of external events that are performed as operations including outputting respective signals from the plurality of storage devices to an external device.
[0009] In a storage system and a method of operating the storage system according to example embodiments, when a plurality of storage devices enter a low power state and respective power consumptions of the plurality of storage devices are limited, an operating state of each storage device can be monitored, and when a particular event occurs on a particular storage device, a power state of the particular storage device can be dynamically and / or adaptively changed to perform the particular event. For example, the power state of each storage device can be selectively changed based on a priority of the event, a power budget of the storage system, and the like. In addition, each storage device can not include an auxiliary power device, and can receive auxiliary power from an auxiliary power device located outside of each storage device, and can immediately change the power state of each storage device in an SPO case. Accordingly, power consumption of the storage system can be reduced while improving or enhancing operating performance of the storage system. BRIEF DESCRIPTION OF DRAWINGS
[0010] Exemplary, non-limiting example embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
[0011] FIG. 1 is a flowchart illustrating a method of operating a storage system according to an example embodiment.
[0012] FIG. 2 is a block diagram illustrating a storage system according to an example embodiment.
[0013] FIG. 3 is a diagram illustrating an example of a power state of a storage device included in a storage system according to an example embodiment.
[0014] FIG. 4 is a block diagram illustrating an example of a storage device included in a storage system according to an example embodiment.
[0015] FIG. 5 is a block diagram illustrating an example of a storage controller included in the storage device of FIG. 4 .
[0016] FIG. 6 is a block diagram illustrating an example of a non-volatile memory included in the storage device of FIG. 4 .
[0017] FIG. 7 is a flowchart illustrating an example of outputting a plurality of operation state signals, an example of receiving a power state setting signal, and an example of changing a first power state in FIG. 1 .
[0018] FIG. 8 is a flowchart illustrating an example of operations of FIG. 7 .
[0019] FIG. 9A , FIG. 9B, FIG. 9C , FIG. 9D and FIG. 9E It is used to describe FIG. 8 The diagram shows the operation.
[0020] FIG. 10 It is shown FIG. 7 A flowchart illustrating an example of the operation.
[0021] FIG. 11A and FIG. 11B It is used to describe FIG. 10 The diagram shows the operation.
[0022] FIG. 12 This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... FIG. 1 A flowchart illustrating an example of the first power state.
[0023] FIG. 13A and FIG. 13B It is used to describe in FIG. 12 A diagram illustrating an example of re-entering the first power state.
[0024] FIG. 14 This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... FIG. 1 A flowchart illustrating an example of the first power state.
[0025] FIG. 15 It is shown FIG. 14 A flowchart illustrating an example of the operation.
[0026] FIG. 16A and FIG. 16B It is used to describe FIG. 15 The diagram shows the operation.
[0027] FIG. 10 This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... FIG. 11A A flowchart illustrating an example of the first power state.
[0028] FIG. 11B , FIG. 1 , FIG. 15 , FIG. 16A , FIG. 16B , FIG. 10 , FIG. 11B , FIG. 16A , FIG. 13A , FIG. 13B , FIG. 10 and FIG. 17 It is used to describe FIG. 1 The diagram shows the operation.
[0029] FIG. 18AThis illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... FIG. 18B A flowchart illustrating an example of the first power state.
[0030] FIG. 18C It is shown FIG. 18D A flowchart illustrating an example of the operation.
[0031] FIG. 18E , FIG. 18F , FIG. 18G , FIG. 18H , FIG. 18I and FIG. 18J It is used to describe FIG. 18K The diagram shows the operation.
[0032] FIG. 18L It is shown FIG. 17 A flowchart illustrating an example of the operation.
[0033] FIG. 1 This is a block diagram illustrating a storage system according to an example embodiment.
[0034] FIG. 17 , FIG. 7 and FIG. 7 It is used to describe FIG. 14 The diagram shows the operation.
[0035] FIG. 7 This is a flowchart illustrating a method for operating a storage system according to an example embodiment.
[0036] FIG. 12 This is a block diagram illustrating a data center including a storage system according to an example embodiment. Detailed Implementation
[0037] Various exemplary embodiments will be described more fully with reference to the accompanying drawings, which illustrate embodiments. However, this disclosure may be implemented in many different forms and should not be construed as limited to the embodiments set forth herein. Throughout this application, the same reference numerals denote the same elements.
[0038] FIG. 14 This is a flowchart illustrating a method for operating a storage system according to an example embodiment.
[0039] refer to FIG. 18A The method for operating the storage system according to the example embodiment is performed by the storage system including multiple storage devices. The storage system may also include a host device for controlling the operation of the multiple storage devices. Reference will be made to... FIG. 18B Describe an example of a storage system.
[0040] In the method of operating a storage system according to an example embodiment, a plurality of storage devices enter a first power state (operation S100). The first power state (or condition) indicates a power state in which the power consumption of each storage device is less than a reference power consumption, and may be referred to as a low power state. In other words, at the start of operation, the plurality of storage devices can operate with relatively low power consumption.
[0041] Multiple storage devices output multiple operation status signals (operation S200). Each operation status signal represents the operation status of one of the multiple storage devices. For example, one operation status signal can be output from one storage device. For example, each operation status signal can have one of a plurality of distinct values, and the operation status of each storage device can be checked or determined based on the value of each operation status signal.
[0042] In some example embodiments, such as referring to FIG. 18C As described, multiple operation status signals can be sent to the host device, and the host device can monitor the operation status of multiple storage devices based on the multiple operation status signals.
[0043] When a power consumption increase event occurs on at least one of a plurality of storage devices and at least one of a plurality of operation status signals changes, at least one of the plurality of storage devices receives a power state setting signal (operation S300). Based on the power state setting signal, a first power state of at least one of the plurality of storage devices is changed such that the power consumption of at least one of the plurality of storage devices is greater than or equal to a reference power consumption (operation S400). For example, one storage device may receive a power state setting signal. For example, each power state setting signal may have one of a plurality of values that are different from each other, and the power state of each storage device may be controlled or adjusted based on the value of each power state setting signal. For example, the power states of the plurality of storage devices may be changed independently and / or individually. For example, each storage device may execute a power consumption increase event based on the changed power state.
[0044] In some example embodiments, such as referring to FIG. 18D As described, the power status setting signal can be generated by the host device and can be sent from the host device to each storage device.
[0045] In some example embodiments, such as referring to FIG. 18EAs described, the power consumption increase event can include multiple internal events executed internally in multiple storage devices. For example, the multiple internal events can include internal data replication operations performed in each storage device. In this example, the power state of each storage device can be adjusted based on at least one of the priority of the multiple internal events and the power budget of the storage system, such that the power state of each storage device is adapted to or suitable for each internal event.
[0046] In another example embodiment, as referenced FIG. 18F The described increased power consumption event may include multiple external events performed, including operations that output signals from multiple storage devices to external devices. For example, the multiple external events may include a rebuild operation to replace each storage device in the event of a failure and / or malfunction in each storage device, a sudden power outage (SPO) situation where the storage system suddenly loses power while it is running, etc. In this example, the power state of each storage device may be adjusted based on the power budget of the storage system so that the power state of each storage device is suitable for or appropriate for each external event.
[0047] In yet another example embodiment, the power consumption increase event may include both multiple internal events and multiple external events.
[0048] Various solutions have been proposed to reduce the power consumption of storage devices in storage systems. For example, throttling schemes have been applied to reduce the performance and power consumption of storage devices, depending on the specific circumstances and / or environment. However, in traditional storage systems, the power states of all storage devices are controlled and / or changed simultaneously, which may lead to a reduction in input / output (I / O) performance between the host device and the storage device, and may also reduce the internal I / O performance of the storage device.
[0049] In the method for operating a storage system according to the example embodiment, when multiple storage devices enter a low-power state and the power consumption of the multiple storage devices is limited, the operating state of each storage device can be monitored, and when a specific event occurs on a specific storage device, the power state of the specific storage device can be dynamically and / or adaptively changed to execute the specific event. For example, the power state of each storage device can be selectively changed based on the priority of the event, the power budget of the storage system, etc. Therefore, the power consumption of the storage system can be reduced while improving or enhancing the operating performance of the storage system.
[0050] FIG. 18G This is a block diagram illustrating a storage system according to an example embodiment.
[0051] refer to FIG. 18H The storage system 10 includes a host device 100 and multiple storage devices 200.
[0052] The host device 100 controls the overall operation of the storage system 10. The host device 100 may include a host processor 110 and a host memory 120.
[0053] The host processor 110 can control the operation of the host device 100. For example, the host processor 110 can run an operating system (OS), system software, etc. For example, the operating system may include a file system for file management and device drivers for controlling peripheral devices, including operating system-level storage devices 200. The host memory 120 can store instructions and / or data executed and / or processed by the host processor 110. For example, the host memory 120 may include dynamic random access memory (DRAM).
[0054] Multiple storage devices 200 are accessed by host device 100. The multiple storage devices 200 may include a first storage device 210, a second storage device 220, ..., an Nth storage device 230, where N is a positive integer greater than or equal to 2.
[0055] Multiple storage devices 200 can output multiple operation status signals OS_CHK1, OS_CHK2, ..., OS_CHKN representing the operation status of the multiple storage devices 200, and can send the multiple operation status signals OS_CHK1, OS_CHK2, ..., OS_CHKN to the host device 100. The multiple storage devices 200 can receive multiple power status setting signals PS_SET1, PS_SET2, ..., PS_SETN from the host device 100 for controlling the power status of the multiple storage devices 200. For example, the first storage device 210 can output a first operation status signal OS_CHK1 and can receive a first power status setting signal PS_SET1.
[0056] Reference FIG. 18I Examples describing each storage device.
[0057] FIG. 18J This is a diagram illustrating an example of the power state of a storage device included in a storage system according to an example embodiment.
[0058] refer to FIG. 18K Each storage device can operate in one of multiple power states: PS0, PS1, PS2, PS3, and PS4.
[0059] For example, when each storage device has a power state PS0, each storage device can operate at a first power consumption P0, which is the maximum power consumption, and can operate at a first performance, which is the highest performance. When each storage device has a power state PS1, each storage device can operate at a second power consumption P1, which is less than the first power consumption P0, and can operate at a second performance, which is lower than the first performance. When each storage device has a power state PS2, each storage device can operate at a third power consumption P2, which is less than the second power consumption P1, and can operate at a third performance, which is lower than the second performance. When each storage device has a power state PS3, each storage device can operate at a fourth power consumption P3, which is less than the third power consumption P2, and can operate at a fourth performance, which is lower than the third performance. When each storage device has a power state PS4, each storage device can operate at a fifth power consumption P4, which is the minimum power consumption and less than the fourth power consumption P3, and each storage device can operate at a fifth performance, which is the lowest performance and lower than the fourth performance.
[0060] although FIG. 18L Five power states, PS0, PS1, PS2, PS3, and PS4, are shown as examples, but the example embodiment is not limited thereto, and the number of power states for each storage device can be determined in various ways according to the example embodiment.
[0061] FIG. 18A This is a block diagram illustrating an example of a storage device included in a storage system according to an example embodiment.
[0062] refer to FIG. 18B Storage device 300 may include a storage controller 310, multiple non-volatile memories 320a, 320b, and 320c, and a buffer memory 330. For example, storage device 300 may be... FIG. 18C One of the multiple storage devices 200 in the system.
[0063] Storage controller 310 can control the operation of storage device 300. For example, storage controller 310 can be based on a slave device (e.g., ...). FIG. 18A The host device 100 receives requests (e.g., write requests and / or read requests) to control the operation of the storage device 300 (e.g., write operations and / or read operations), and can control the data exchange between the host device and the storage device 300 (e.g., the transfer of write data and / or read data).
[0064] Multiple non-volatile memories 320a, 320b, and 320c can be controlled by the memory controller 310 and can store multiple data. For example, the multiple non-volatile memories 320a, 320b, and 320c can store metadata, various user data, etc.
[0065] In some example embodiments, each of the plurality of non-volatile memories 320a, 320b, and 320c may include NAND flash memory. In other example embodiments, each of the plurality of non-volatile memories 320a, 320b, and 320c may include one of electrically erasable programmable read-only memory (EEPROM), phase-change random access memory (PRAM), resistive random access memory (RRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), etc.
[0066] The buffer memory 330 can store instructions and / or data executed and / or processed by the memory controller 310, and can temporarily store data already stored or to be stored in multiple non-volatile memories 320a, 320b and 320c. For example, the buffer memory 330 may include at least one of various volatile memories, such as static random access memory (SRAM), DRAM, etc.
[0067] In order to perform the reference FIG. 18D The method of operating a storage system according to an example embodiment described herein may include a power state manager 312 in the storage controller 310.
[0068] The power state manager 312 can control the storage device 300 to enter a first power state in which the power consumption of the storage device 300 is less than the reference power consumption. It can output an operation state signal indicating the operation state of the storage device 300. It can receive a power state setting signal when a power consumption increase event occurs on the storage device 300 and when the operation state signal changes. It can also change the first power state of the storage device 300 based on the power state setting signal, so that the power consumption of the storage device 300 is greater than or equal to the reference power consumption.
[0069] In some example embodiments, storage device 300 may be a solid-state drive (SSD). In other example embodiments, storage device 300 may be universal flash memory (UFS), a multimedia card (MMC), or an embedded multimedia card (eMMC). In some embodiments, storage device 300 may be one of a secure digital card (SD), a microSD card, a memory stick, a chip card, a universal serial bus (USB) card, a smart card, a compact flash memory (CF) card, etc.
[0070] In some example embodiments, storage device 300 can be connected to a host device via a block-accessible interface, which may include, for example, UFS, eMMC, Non-Volatile Memory Fast (NVMe) bus, Serial Advanced Technology Attachment (SATA) bus, Small Computer Small Interface (SCSI) bus, Serial Attached SCSI (SAS) bus, etc. Storage device 300 can use a block-accessible address space corresponding to the access size of the plurality of non-volatile memories 320a, 320b, and 320c to provide a block-accessible interface to the host device, allowing cells of the storage block to access data stored in the plurality of non-volatile memories 320a, 320b, and 320c.
[0071] In some example embodiments, a storage system including storage device 300 (e.g., FIG. 18E The storage system 10) can be any computing system, such as a personal computer (PC), server computer, data center, workstation, digital television, set-top box, navigation system, etc. In some example embodiments, the storage system including storage device 300 can be any mobile system, such as mobile phone, smartphone, tablet computer, laptop computer, personal digital assistant (PDA), portable multimedia player (PMP), digital camera, portable game console, music player, camcorder, video player, navigation device, wearable device, Internet of Things (IoT) device, Internet of Everything (IoE) device, e-book reader, virtual reality (VR) device, augmented reality (AR) device, robotic device, drone, automobile, etc.
[0072] FIG. 18C It is shown FIG. 18F A block diagram of an example of a storage controller included in a storage device.
[0073] refer to FIG. 18G The storage controller 400 may include a processor 410, a memory 420, a power state manager 430, a host interface 440, an error correction code (ECC) engine 450, a memory interface 460, and an advanced encryption standard (AES) engine 470.
[0074] Processor 410 can respond to a host device (e.g., via host interface 440) FIG. 18H The host device 100 receives a request and controls the operation of the storage controller 400. For example, the processor 410 can control the storage device (e.g., FIG. 18I The operation of one of the multiple storage devices 200 in the system can be controlled by using firmware for operating the storage device.
[0075] Memory 420 can store instructions and data that are executed and processed by processor 410. For example, memory 420 can be implemented using volatile memory such as DRAM, SRAM, cache memory, etc.
[0076] The power state manager 430 can be used to perform methods for operating the storage system according to an example embodiment, and can be used with... FIG. 18G The power state manager 312 is basically the same.
[0077] The ECC Engine 450 for error correction can use Bose-Chaudhuri-Hocquenghem (BCH) codes, low-density parity-check (LDPC) codes, turbo codes, Reed-Solomon codes, convolutional codes, recursive systematic codes (RSC), trellis-coded modulation (TCM), block-coded modulation (BCM), etc., to perform coding and modulation, or it can use the above codes or other error correction codes to perform ECC encoding and ECC decoding.
[0078] Host interface 440 provides a physical connection between the host device and the storage device. Host interface 440 provides an interface corresponding to the host device's bus format for communication between the host device and the storage device. In some example embodiments, the host device's bus format may be a Small Computer System Interface (SCSI) or a Serial Attached SCSI (SAS) interface. In other example embodiments, the host device's bus format may be USB, Peripheral Component Interconnect (PCI) Fast (PCIe), Advanced Technology Attachment (ATA), Parallel ATA (PATA), Serial ATA (SATA), Non-Volatile Memory (NVM) Fast (NVMe), Compute Fast Link (CXL), etc.
[0079] Memory interface 460 can interface with non-volatile memory (e.g., FIG. 18J The memory interface 460 exchanges data with one of the multiple non-volatile memories 320a, 320b, and 320c. The memory interface 460 can transfer data to or receive data read from the non-volatile memory. In some example embodiments, the memory interface 460 may be connected to the non-volatile memory via a single channel. In other example embodiments, the memory interface 460 may be connected to the non-volatile memory via two or more channels. For example, the memory interface 460 may be configured to conform to standard protocols such as Toggle or Open NAND Flash Interface (ONFI).
[0080] The AES engine 470 can perform at least one of encryption and decryption operations on data input to the storage controller 400 using a symmetric key algorithm. Although not described in detail, the AES engine 470 may include an encryption module and a decryption module. For example, the encryption and decryption modules may be implemented as separate modules. For instance, a module capable of performing encryption and decryption operations may be implemented within the AES engine 470.
[0081] The storage controller 400 can operate based on a flash translation layer (FTL). The FTL can perform various functions, such as address mapping operations, wear leveling operations, and garbage collection operations. Address mapping operations can be operations that translate logical addresses received from a host device into physical addresses used to actually store data in non-volatile memory. Wear leveling operations can be techniques that prevent excessive degradation of specific blocks by allowing blocks of non-volatile memory to be used evenly. As an example, wear leveling operations can be implemented using firmware techniques that balance the erase counts of physical blocks. Garbage collection operations can be techniques that ensure available capacity in non-volatile memory by erasing existing blocks after copying valid data from existing blocks to new blocks.
[0082] FIG. 18K It is shown FIG. 18L A block diagram of an example of non-volatile memory included in a storage device.
[0083] refer to FIG. 19 The non-volatile memory 500 includes 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.
[0084] The memory cell array 510 is connected to the address decoder 520 via multiple serial select lines (SSL), multiple word lines (WL), and multiple ground select lines (GSL). The memory cell array 510 is further connected to the page buffer circuit 530 via multiple bit lines (BL). The memory cell array 510 may include multiple memory cells (e.g., multiple non-volatile memory cells) connected to the multiple word lines (WL) and multiple bit lines (BL). The memory cell array 510 may be divided into multiple memory blocks BLK1, BLK2, ..., BLKz, each memory block comprising memory cells. Furthermore, each of the multiple memory blocks BLK1 to BLKz may be divided into multiple pages.
[0085] In some example embodiments, the plurality of memory cells included in the memory cell array 510 may be arranged as a two-dimensional (2D) array structure or a three-dimensional (3D) vertical array structure. A 3D vertical array structure may include a vertically oriented string of cells such that at least one memory cell is situated above another memory cell. At least one memory cell may include a charge trapping layer. The following patent documents, incorporated herein by reference in their entirety, describe suitable configurations for memory cell arrays including 3D vertical array structures, wherein the three-dimensional memory array is configured as multiple levels, wherein word lines and / or bit lines are shared between levels: U.S. Patent Nos. 7,679,133, 8,553,466, 8,654,587, 8,559,235 and U.S. Patent Publication No. 2011 / 0233648.
[0086] The control circuit 560 is controlled from the outside (e.g., from...). FIG. 1 The storage controller 310 receives commands CMD and addresses ADDR, and controls erase, program, and read operations of the non-volatile memory 500 based on the commands CMD and addresses ADDR. Erasing operations may include a sequence of erase cycles, and programming operations may include a sequence of programming cycles. Each programming cycle may include a programming operation and a programming verification operation. Each erase cycle may include an erase operation and an erase verification operation. Read operations may include normal read operations and data recovery read operations.
[0087] For example, control circuit 560 can generate control signal CON for controlling voltage generator 550, and can generate control signal PBC for controlling page buffer circuit 530 based on command CMD, and can generate row address R_ADDR and column address C_ADDR based on address ADDR. Control circuit 560 can provide row address R_ADDR to address decoder 520, and can provide column address C_ADDR to data I / O circuit 540.
[0088] Address decoder 520 can be connected to memory cell array 510 via multiple string select lines (SSL), multiple word lines (WL), and multiple ground select lines (GSL). For example, during data erase / write / read operations, address decoder 520 can determine at least one of the multiple word lines (WL) as the selected word line, at least one of the multiple string select lines (SSL) as the selected string select line, and at least one of the multiple ground select lines (GSL) as the selected ground select line based on the row address R_ADDR.
[0089] Voltage generator 550 can generate a voltage VS for the operation of non-volatile memory 500 based on power PWR and control signal CON. Voltage VS can be applied to multiple serial select lines SSL, multiple word lines WL, and multiple ground select lines GSL via address decoder 520. Additionally, voltage generator 550 can generate an erase voltage VERS that may be needed for data erase operations based on power PWR and control signal CON. Eraser voltage VERS can be applied directly or via bit line BL to memory cell array 510.
[0090] Page buffer circuit 530 can be connected to memory cell array 510 via multiple bit lines BL. Page buffer circuit 530 may include multiple page buffers. Page buffer circuit 530 can store data DAT to be programmed into memory cell array 510 or can read data DAT sensed from memory cell array 510. In other words, depending on the operating mode of non-volatile memory 500, page buffer circuit 530 can be used as a write driver or a sense amplifier.
[0091] Data I / O circuit 540 can be connected to page buffer circuit 530 via data line DL. Data I / O circuit 540 can provide data DAT from outside non-volatile memory 500 to memory cell array 510 via page buffer circuit 530, or it can provide data DAT from memory cell array 510 to outside non-volatile memory 500 based on column address C_ADDR.
[0092] FIG. 1 This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... FIG. 19 A flowchart illustrating an example of the first power state.
[0093] refer to FIG. 20 and FIG. 19 In operation S200, when each storage device is operating in the first power state, it is possible to check or determine whether a specific internal event among multiple internal events has occurred (or has occurred) on each storage device (operation S210).
[0094] In some example embodiments, multiple internal events may include internal data replication operations performed in each storage device. For example, an internal data replication operation may represent the operation of copying data from a source region (or zone) to a destination region in each storage device. For example, an internal data replication operation may include, depending on its purpose, periodic reclamation operations to prevent uncorrectable ECC (UECC), compression operations to merge data, wear leveling operations to prevent excessive degradation of specific blocks, bad block management operations to manage bad blocks, etc.
[0095] When no specific internal event occurs (Operation S210: No), each storage device can wait while maintaining a first power state (Operation S220). When a specific internal event occurs (Operation S210: Yes), each storage device may need to change its power state to execute the specific internal event. Therefore, each storage device can change its own operation status signal to notify of the occurrence of the specific internal event (Operation S230), and can output the changed operation status signal.
[0096] In some example embodiments, each operation status signal can be generated and output periodically, and the value of each operation status signal can be changed when a specific internal event occurs. In other example embodiments, each operation status signal can be generated and output only when a specific internal event occurs, and the value of each operation status signal can be changed only when a specific internal event occurs.
[0097] In operation S300, each storage device can receive each power state setting signal based on the priority of a specific internal event (operation S310). For example, the power state to be changed for each storage device can be determined based on the priority of a specific internal event among multiple internal events.
[0098] In some example embodiments, the priorities of multiple internal events can be predetermined. For example, as described above, when the multiple internal events include periodic recycling operations, compression operations, wear leveling operations, and bad block management operations, the periodic recycling operation may have a first priority as the highest priority, the compression operation may have a second priority lower than the first priority, the wear leveling operation may have a third priority lower than the second priority, and the bad block management operation may have a fourth priority as the lowest priority.
[0099] In operation S400, each storage device can exit the first power state and can enter a power state different from the first power state based on a power state setting signal (operation S410). For example, each storage device can perform specific internal events while operating in a power state different from the first power state.
[0100] In some example embodiments, in FIG. 21A Among the multiple power states PS0, PS1, PS2, PS3, and PS4, the first power state can be power state PS4, in which each storage device operates at minimum power consumption. A power state different from the first power state can be one of the remaining power states PS0, PS1, PS2, and PS3, in which each storage device operates at a power consumption greater than the minimum power consumption. In this example, the reference power consumption can be greater than the fifth power consumption P4 and less than or equal to the fourth power consumption P3. However, the example embodiment is not limited to this.
[0101] In some example embodiments, periodic recycling operations, compression operations, wear leveling operations, and bad block management operations can be performed separately in... FIG. 21B It is executed under power states PS0, PS1, PS2, and PS3. However, the example embodiment is not limited thereto.
[0102] In the following text, the first power state will be used as a basis for... FIG. 21C The example embodiment is described using an example of power state PS4. However, the example embodiment is not limited thereto, and the first power state can be any power state other than power state PS0, in which each storage device operates at maximum power consumption, and a power state different from the first power state can be any power state in which each storage device operates at a power consumption greater than that of the first power state.
[0103] FIG. 21D It is shown FIG. 21E A flowchart illustrating an example of the operation. FIG. 21F , FIG. 20 , FIG. 1 , FIG. 20 and FIG. 21A It is used to describe FIG. 21B The diagram shows the operation.
[0104] refer to FIG. 21C , FIG. 21D , FIG. 21E , FIG. 21F , FIG. 21A , FIG. 21B and FIG. 21B An example is shown, consisting of a host device HD and four storage devices SD1, SD2, SD3 and SD4 controlled by the host device HD.
[0105] In operation S100, such as FIG. 21C As shown, all storage devices SD1, SD2, SD3 and SD4 can enter the first power state PS4, in which each storage device operates with minimum power consumption.
[0106] In operating S200, such as FIG. 21D As shown, when a first internal event for internal data replication occurs on the first storage device SD1 (operation S211: Yes), the first storage device SD1 can change and output a first operation status signal OS_CHK1a with an operation status value EVRC (operation S231), and the host device HD can receive the first operation status signal OS_CHK1a with the operation status value EVRC. For example, the first internal event can be a periodic recycling operation with relatively high priority, and the operation status value EVRC can represent a periodic recycling operation.
[0107] Although not shown in detail, when no first internal event occurs on the first storage device SD1 (operation S211: No), the first storage device SD1 can wait while maintaining the first power state PS4 (operation S221).
[0108] In operating S300, such as FIG. 21E As shown, the host device HD can generate and output a first power state setting signal PS_SET1a with a power state value PVRC based on the first operation state signal OS_CHK1a with an operation state value EVRC, and the first storage device SD1 can receive the first power state setting signal PS_SET1a with a power state value PVRC (operation S311). For example, the power state value PVRC can represent the power state required for periodic recycling operations.
[0109] In operating S400, such as FIG. 21F As shown, the first storage device SD1 can enter a second power state PS0 based on a first power state setting signal PS_SET1a with a power state value PVRC. In this second power state PS0, the first storage device SD1 operates with a higher power consumption than the first power state PS4 (operation S411). For example, when the first internal event is a periodic recycling operation, the periodic recycling operation may have a relatively high priority and may require relatively high power consumption, and therefore the power state of the first storage device SD1 can be changed to power state PS0 for relatively high power consumption.
[0110] Subsequently, in operating the S400, such as FIG. 22 and FIG. 19 As shown, the first storage device SD1 can execute a first internal event in a second power state PSO. For example, the first storage device SD1 may include a first storage region SR11 and a second storage region SR12, and data D1 in the first storage region SR11, which is the source region, can be copied to the second storage region SR12, which is the destination region. For example, the first storage region SR11 and the second storage region SR12 may be included in non-volatile memory within the first storage device SD1. For example, data D1 in the first storage region SR11 may be erased after the copy operation.
[0111] FIG. 23 It is shown FIG. 24A A flowchart illustrating an example of the operation. FIG. 24B and FIG. 24C It is used to describe FIG. 22 The diagram illustrates the operation. For simplicity, the symbols and symbols are omitted. FIG. 1 , FIG. 22 , FIG. 23 , FIG. 2, FIG. 24A and FIG. 24B The description is repetitive or overlapping.
[0112] refer to FIG. 24C , FIG. 24A , FIG. 24B and FIG. 24C This shows that when the reference FIG. 4 , FIGS. 7-18L , FIGS. 19-24C , FIG. 25 , FIG. 1 and FIG. 25 An example is described where a first internal event occurs on a first storage device SD1, and a second internal event occurs on a second storage device SD2 before the execution of the first internal event is completed.
[0113] In operating S200, such as FIG. 1 As shown, when a second internal event, different from the first internal event and concerning internal data replication, occurs on a second storage device SD2 (different from the first storage device SD1) (Operation S213: Yes), the second storage device SD2 can change and output a second operation status signal OS_CHK2a with an operation status value EVCP that is different from the operation status value EVRC (Operation S233), and the host device HD can receive the second operation status signal OS_CHK2a with the operation status value EVCP. For example, the second internal event can be a compression operation with a lower priority than the periodic recycling operation that is the first internal event, and the operation status value EVCP can represent the compression operation.
[0114] Although not shown in detail, when no second internal event occurs on the second storage device SD2 (operation S213: No), the second storage device SD2 can wait while maintaining the first power state PS4 (operation S223).
[0115] In operating S300, such as FIG. 1 As shown, the host device HD can generate and output a second power state setting signal PS_SET2a with a power state value PVCP that is different from the power state value PVRC, based on the second operation state signal OS_CHK2a with the operation state value EVCP, and the second storage device SD2 can receive the second power state setting signal PS_SET2a with the power state value PVCP (operation S313). For example, the power state value PVCP can represent the power state required for compression operation.
[0116] In operating S400, such as FIG. 26As shown, the second storage device SD2 can enter a third power state PS1, different from the second power state PS0, based on a second power state setting signal PS_SET2a with a power state value PVCP. In this third power state PS1, the second storage device SD2 operates with a higher power consumption than the first power state PS4. For example, when the second internal event is a compression operation, the compression operation has a lower priority than the periodic recycling operation, and the compression operation may require relatively less power consumption. Therefore, the power state of the second storage device SD2 can be changed to power state PS1, which has a lower power consumption than power state PS0.
[0117] As described above, the power states of the first storage device SD1 and the second storage device SD2 can be controlled differently depending on the priorities of the first and second internal events. For example, when the priority of the first internal event is higher than that of the second internal event, the power consumption of the first storage device SD1 with the second power state PS0 can be greater than the power consumption of the second storage device SD2 with the third power state PS1. In other words, dynamic power control can be implemented based on the priority of the internal events.
[0118] Although not shown in detail, please refer to FIG. 26 and As described, the second storage device SD2 can execute a second internal event in the third power state PS1.
[0119] Although an example is shown where a second internal event occurs after the first internal event and before the first internal event completes, the example embodiment is not limited thereto. For example, the second internal event may occur after the first internal event completes, or the first and second internal events may occur substantially simultaneously or concurrently.
[0120] This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... A flowchart illustrating an example of the first power state. For brevity, the parameters will be omitted. The description is repetitive or overlapping.
[0121] refer to and Operations S210, S220, S230, S310, and S410 can be referenced. The operations described are basically the same.
[0122] In operation S400, after each storage device enters a power state different from the first power state and executes a specific internal event, each storage device can exit the power state different from the first power state based on the completion of the specific internal event, and can re-enter the first power state (operation S420). For example, each operation state signal can be changed again, each power state setting signal can be received again, and each storage device can re-enter the first power state based on the power state setting signal.
[0123] In some example embodiments, when each operation status signal is generated and output periodically, each operation status signal can be changed again when a specific internal event completes and the next generation and output cycle (or the next update cycle) for each operation status signal arrives. In other example embodiments, when each operation status signal is generated and output only when a specific internal event occurs, each operation status signal can be changed immediately when the specific internal event completes.
[0124] and It is used to describe in A diagram illustrating an example of re-entering the first power state.
[0125] refer to and This shows that when in reference , , , , and An example of operations performed after a first internal event occurs on the first storage device SD1.
[0126] like As shown, when the first internal event is completed, the first storage device SD1 can change and output a first operation status signal OS_CHK1b with an operation status value EVNM, and the host device HD can receive the first operation status signal OS_CHK1b with the operation status value EVNM. For example, the operation status value EVNM can represent a normal state where no internal event is executed.
[0127] like As shown, the host device HD can generate and output a first power state setting signal PS_SET1b with a power state value PVNM based on the first operating state signal OS_CHK1b with an operating state value EVNM, and the first storage device SD1 can receive the first power state setting signal PS_SET1b with a power state value PVNM, and can re-enter the first power state PS4 based on the first power state setting signal PS_SET1b with a power state value PVNM. For example, the power state value PVNM can represent the normal state and / or the first power state PS4.
[0128] As described above, according to the example embodiment, the operation of the first storage device SD1 re-entering the first power state PS4 can be performed immediately after the completion of the first internal event, or the operation of the first storage device SD1 re-entering the first power state PS4 can be performed when the first internal event is completed and the next update cycle of the first operation state signal OS_CHK1b arrives.
[0129] Although not shown in detail, as referenced , and The description describes how a second internal event occurs on the second storage device SD2, and after the completion of the second internal event, the second storage device SD2 can be similar to the reference. and The PS4 is described as re-entering the first power state.
[0130] This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... A flowchart illustrating an example of the first power state. For brevity, the parameters will be omitted. The description is repetitive or overlapping.
[0131] refer to and Operations S210, S220, and S230 can be referenced. The operations described are essentially the same.
[0132] In operation S300, each storage device may selectively receive each power state setting signal based on the priority of a specific internal event and the power budget of the storage system (operation S330). For example, when the total power consumption of the storage system is expected to exceed the power budget when the power state of each storage device changes, each storage device may not receive each power state setting signal, or may delay or postpone the reception of each power state setting signal, even if a specific internal event occurs.
[0133] In operation S400, when each power state setting signal is received, each storage device can exit the first power state and can enter a power state different from the first power state based on each power state setting signal (operation S430).
[0134] It is shown A flowchart illustrating an example of the operation. and It is used to describe The diagram illustrates the operation. For simplicity, the symbols and symbols are omitted. , and The description is repetitive or overlapping.
[0135] refer to , , and Operations S213, S223, and S233 can be referenced. The operations described are basically the same.
[0136] In operating the S300, the power budget of the storage system can be compared with that of the current system. The total power consumption of multiple storage devices SD1, SD2, SD3 and SD4 is compared when the second storage device SD2 enters the third power state PS1 (operation S331).
[0137] When the expected total power consumption exceeds the power budget (operation S331: Yes), it can be determined that if the second storage device SD2 enters the third power state PS1, it will cause problems in the operation of the entire storage system; and therefore the second storage device SD2 can maintain the first power state PS4 without changing the power state (operation S431). For example, the operation of the second internal event can be delayed or postponed.
[0138] In some example embodiments, when the expected total power consumption exceeds the power budget, the host device HD may not generate or output a second power state setting signal, such as... As shown. In this example, since the second storage device SD2 does not receive the second power state setting signal, the second storage device SD2 can maintain the first power state PS4 without changing the power state.
[0139] In other example embodiments, when the expected total power consumption exceeds the power budget, the host device HD can generate and output a second power state setting signal PS_SET2b with a power state value PVNM representing a normal state and / or a first power state PS4. In this example, the second storage device SD2 can maintain the first power state PS4 based on the second power state setting signal PS_SET2b with the power state value PVNM, without changing the power state.
[0140] In some example embodiments, after operation S431, when the first storage device SD1 re-enters the first power state PS4, as referenced and As described, for example, when it is expected that the total power consumption of PS1 will not exceed the power budget even if the second storage device SD2 enters the third power state, the execution of the second internal event that is delayed or postponed can be performed.
[0141] When the expected total power consumption does not exceed the power budget (operation S331: No), operations S333 and S433 can be executed. For example, operations S333 and S433 can be respectively related to reference... The operations described in S313 and S413 are essentially the same.
[0142] This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... A flowchart illustrating an example of the first power state. , , , , , , , , , , and It is used to describe The diagram shows the operation.
[0143] refer to and In operation S200, when multiple storage devices are operating in the first power state, multiple internal events may occur on some or all of the storage devices (operation S250). Some or all of the storage devices may change some or all of the multiple operation status signals used to notify the occurrence of the multiple internal events (operation S260), and may output the changed operation status signals. For example, operations S250 and S260 can be similar to... Operations S210, S220, and S230 in the process.
[0144] In operation S300, some or all of the multiple storage devices can receive some or all of the multiple power state setting signals based on the priority of multiple internal events and the power budget of the storage system (operation S350). For example, operation S350 can be similar to... Operation S310 and / or Operation S330 in the middle.
[0145] In operation S400, some or all of the multiple storage devices can enter a power state different from the first power state based on some or all of the power state setting signals among multiple power state setting signals (operation S450). For example, operation S450 can be similar to Operation S410 in the middle Operation S420 and / or Operation S430 in the middle.
[0146] refer to , , , , , , , , , , and The following example illustrates this: In this example, multiple internal events occur on the first storage device SD1, the second storage device SD2, and the third storage device SD3, and the power state of only one storage device changes at a time depending on the power budget.
[0147] like As shown, when multiple first internal events occur on the first storage device SD1, the first storage device SD1 can output a first operation status signal OS_CHK1c with operation status values EVRC10 and EVCP20. For example, the multiple first internal events may include ten periodic recycling operations and twenty compression operations.
[0148] Similarly, when multiple second internal events occur on the second storage device SD2, the second storage device SD2 can output a second operation status signal OS_CHK2c with operation status values EVCP2 and EVWL10. When multiple third internal events occur on the third storage device SD3, the third storage device SD3 can output a third operation status signal OS_CHK3c with operation status values EVRC5 and EVWL2. For example, the multiple second internal events may include two compression operations and ten wear leveling operations, and the multiple third internal events may include five periodic recycling operations and two wear leveling operations.
[0149] In this example, periodic recycling operations, compaction operations, and wear leveling operations can be performed in the order of predetermined priority as described above. Furthermore, for the same operation, a larger number of operations can be performed first. For example, although both the first storage device SD1 and the third storage device SD3 perform periodic recycling operations, the number of periodic recycling operations on the first storage device SD1 (e.g., ten) can be greater than the number of periodic recycling operations on the third storage device SD3 (e.g., five). Therefore, the periodic recycling operations on the first storage device SD1 can be performed first.
[0150] Therefore, ten periodic reclamation operations on the first storage device SD1 can be scheduled to be performed first. For example, as As shown, the first storage device SD1 can receive a first power state setting signal PS_SET1c with a power state value PVRC, can enter a second power state PS0 based on the first power state setting signal PS_SET1c, and can execute ten periodic recycling operations among multiple first internal events. When the ten periodic recycling operations are completed, the first storage device SD1 can re-enter the first power state PS4.
[0151] After that, as As shown, the first storage device SD1 can update and output a first operation status signal OS_CHK1c' with an operation status value EVCP20. For example, since ten periodic recycling operations have been completed, the multiple first internal events can include only twenty compaction operations. The second operation status signal OS_CHK2c and the third operation status signal OS_CHK3c can be referenced. The descriptions are basically the same.
[0152] Therefore, it can be scheduled to perform five periodic reclamation operations on the third storage device SD3 first. For example, as As shown, the third storage device SD3 can receive a third power state setting signal PS_SET3c with a power state value PVRC, can enter the second power state PS0 based on the third power state setting signal PS_SET3c, and can perform five periodic recycling operations. When the five periodic recycling operations are completed, the third storage device SD3 can re-enter the first power state PS4.
[0153] After that, as As shown, the third storage device SD3 can update and output a third operation status signal OS_CHK3c' with an operation status value EVWL2. For example, since five periodic recycling operations have been completed, multiple third internal events can consist of only two wear leveling operations. The first operation status signal OS_CHK1c' and the second operation status signal OS_CHK2c can be compared with a reference... The descriptions are basically the same.
[0154] Therefore, twenty compression operations can be scheduled to be performed first on the first storage device SD1. For example, as As shown, the first storage device SD1 can receive a first power state setting signal PS_SET1c' with a power state value PVCP, and can enter a third power state PS3 based on the first power state setting signal PS_SET1c', and can perform twenty compression operations. When the twenty compression operations are completed, the first storage device SD1 can re-enter the first power state PS4.
[0155] After that, as As shown, since all the first internal operations of the first storage device SD1 have been completed, the first storage device SD1 may not output the first operation status signal.
[0156] Therefore, the two compression operations on the second storage device SD2 can be scheduled to be executed first. For example, as As shown, the second storage device SD2 can receive a second power state setting signal PS_SET2c with a power state value PVCP, and can enter a third power state PS3 based on the second power state setting signal PS_SET2c, and can perform two compression operations. When the two compression operations are completed, the second storage device SD2 can re-enter the first power state PS4.
[0157] After that, as As shown, the second storage device SD2 can update and output a second operation status signal OS_CHK2c' with an operation status value EVWL10. For example, since two compression operations have been completed, the multiple second internal events can include only ten loss leveling operations. The third operation status signal OS_CHK3c' can be related to the reference... The descriptions are basically the same.
[0158] Therefore, it can be scheduled to perform ten wear leveling operations on the second storage device SD2 first. For example, as As shown, the second storage device SD2 can receive a second power state setting signal PS_SET2c' with a power state value PVWL, and can enter the fourth power state PS2 based on the second power state setting signal PS_SET2c', and can perform ten loss equalization operations. When the ten loss equalization operations are completed, the second storage device SD2 can re-enter the first power state PS4.
[0159] After that, as As shown, since all the second internal operations of the second storage device SD2 have been completed, the second storage device SD2 may not output a second operation status signal.
[0160] Finally, it can be scheduled to perform two wear leveling operations on the third storage device SD3. For example, as As shown, the third storage device SD3 can receive a third power state setting signal PS_SET3c' with a power state value PVWL, can enter a fourth power state PS2 based on the third power state setting signal PS_SET3c', and can perform two loss equalization operations. When the two loss equalization operations are completed, the third storage device SD3 can enter a first power state PS4.
[0161] As described above, based on the priority of internal events and power budget, ten periodic recycling operations of the first storage device SD1 can be executed first, followed by five periodic recycling operations of the third storage device SD3, then twenty compression operations of the first storage device SD1, then two compression operations of the second storage device SD2, then ten wear leveling operations of the second storage device SD2, and finally two wear leveling operations of the third storage device SD3.
[0162] This illustrates an example of outputting multiple operating status signals, an example of receiving a power status setting signal, and changing... A flowchart illustrating an example of the first power state.
[0163] refer to and In operation S200, when each storage device is operating in the first power state, it is possible to check or determine whether a specific external event among multiple external events has occurred (or has occurred) on each storage device (operation S270).
[0164] In some example embodiments, multiple external events may include operations that output signals from multiple storage devices to external devices. For example, multiple external events may include a rebuild operation to replace each storage device in the event of a failure and / or malfunction in each storage device, an SPO situation where the storage system suddenly loses power while it is operating, etc.
[0165] When no specific external event occurs (Operation S270: No), each storage device may wait while maintaining a first power state (Operation S280). When a specific external event occurs (Operation S270: Yes), each storage device may selectively change and output each operation status signal (Operation S290).
[0166] In operation S300, each storage device can selectively receive each power state setting signal (operation S370). In operation S400, each storage device can exit the first power state and enter a power state different from the first power state (operation S470).
[0167] In some example embodiments, each storage device can enter a power state different from the first power state based on each operating state signal and each power state setting signal. In other example embodiments, each storage device can immediately enter a power state different from the first power state without each operating state signal and each power state setting signal.
[0168] It is shown A flowchart illustrating an example of the operation. , , , , and It is used to describe The diagram shows the operation.
[0169] refer to , , , , , , and An example is shown, consisting of a host device HD and four storage devices SD1, SD2, SD3 and SD4 controlled by the host device HD.
[0170] In operating S200, such as As shown, when a first external event requiring replacement of the first storage device SD1 occurs (operation S271: Yes), the first storage device SD1 can change and output a first operation status signal OS_CHK1d with an operation status value EVRB (operation S291), and the host device HD can receive the first operation signal OS_CHK1d with the operation status value EVRB. For example, the first external event can be a rebuild operation, and the operation status value EVRB can represent a rebuild operation.
[0171] In operating S300, such as As shown, the host device HD can generate and output a first power state setting signal PS_SET1d and a second power state setting signal PS_SET2d with a power state value PVRB based on a first operating state signal OS_CHK1d with an operating state value EVRB. The first storage device SD1 and the second storage device SD2 can respectively receive the first power state setting signal PS_SET1d and the second power state setting signal PS_SET2d with power state values PVRB (operation S371). For example, a rebuild operation may require a backup storage device for temporary storage of data stored in the target storage device to be replaced; therefore, power state setting signals can be provided to both the target storage device and the backup storage device. For example, a backup storage device for a specific storage device can be predetermined during the manufacturing process of the storage system. For example, the power state value PVRB can represent the power state required for the rebuild operation and can be determined to not exceed the power budget.
[0172] In operating S400, such as As shown, the first storage device SD1 and the second storage device SD2 can enter the second power state PS1 based on the first power state setting signal PS_SET1d and the second power state setting signal PS_SET2d with power state values PVRB. Under the second power state PS1, the first storage device SD1 and the second storage device SD2 operate at a power consumption greater than that of the first power state PS4 within the power budget (operation S471).
[0173] Subsequently, in operating the S400, such as , , and As shown, a replacement operation can be performed on a first storage device SD1 using a second storage device SD2. For example, all data DAT1 stored in the first storage device SD1 can be copied to the second storage device SD2. The first storage device SD1 can be replaced with a normal storage device SDA without faults and / or defects, and the data DAT1 stored in the second storage device SD2 can be copied to the replaced storage device SDA. For example, after the copy operation, the data DAT1 on the second storage device SD2 can be erased.
[0174] It is shown A flowchart illustrating an example of the operation. This is a block diagram illustrating a storage system according to an example embodiment. , and It is used to describe The diagram shows the operation.
[0175] refer to and When a second external event occurs, causing a sudden power outage in the storage system (Operation S273: Yes), all storage devices can enter a second power state, in which the power consumption of the multiple storage devices is greater than or equal to the reference power consumption (Operation S473). For example, the second external event could represent a SPO condition. For example, all the multiple storage devices can immediately enter the second power state without changing or outputting operation status signals and without receiving power state setting signals. When no second external event occurs (Operation S273: No), the multiple storage devices can wait while maintaining the first power state PS4 (Operation S283).
[0176] refer to Storage system 12 can be with The storage system 10 is basically the same, except that the storage system 12 also includes an auxiliary power supply device 150.
[0177] The auxiliary power supply unit 150 may be located outside or on the outside of the multiple storage devices 200, and may supply auxiliary power (APWR) to the multiple storage devices 200. In this example, the multiple storage devices 200 may not include the auxiliary power supply unit.
[0178] In the event of a SPO (Special Power Outage) condition, each storage device can operate based on auxiliary power or auxiliary power voltage supplied from the auxiliary power supply unit, and a reset and / or refresh operation can be performed on each storage device to ensure normal termination of operation of each storage device before the auxiliary power supply is interrupted. The auxiliary power supply unit may be referred to as a power-loss protection (PLP) device. The storage system 12 may not include device-level PLP devices, but may include system-level PLP devices.
[0179] refer to , and An example is shown, consisting of a host device HD, an auxiliary power device AUX, and four storage devices SD1, SD2, SD3, and SD4 controlled by the host device HD and the auxiliary power device AUX.
[0180] like As shown, when a second external event occurs, all storage devices SD1, SD2, SD3, and SD4 can immediately enter a second power state PS0 based on the auxiliary power APWR provided from the auxiliary power supply device AUX. For example, the power state can be changed so that storage devices SD1, SD2, SD3, and SD4 operate at maximum power consumption.
[0181] After that, as and As shown, refresh operations can be performed on all storage devices SD1, SD2, SD3, and SD4. For example, see reference... As described, storage devices SD1, SD2, SD3 and SD4 may each include buffer memories BUF1, BUF2, BUF3 and BUF4 and non-volatile memories NVM1, NVM2, NVM3 and NVM4, and data BD1, BD2, BD3 and BD4 stored in buffer memories BUF1, BUF2, BUF3 and BUF4 may be copied to non-volatile memories NVM1, NVM2, NVM3 and NVM4, respectively.
[0182] Although reference Describe the operations associated with or related to the internal events, and refer to... This describes operations that are associated with or related to external events, but the example embodiments are not limited thereto, and power consumption can be reduced while improving operational performance relative to a variety of other events.
[0183] This is a flowchart illustrating a method for operating a storage system according to an example embodiment. For the sake of brevity, the following will be omitted: The description is repetitive or overlapping.
[0184] refer to In the method for operating the storage system according to the example embodiment, operation S100 can be compared with reference to... The operations described are basically the same.
[0185] Multiple storage devices send multiple operation status signals to the host device (operation S200a), and the host device monitors the operation status of the multiple storage devices based on the multiple operation status signals (operation S200b). Operations S200a and S200b can be combined with... The operation S200 is essentially the same. For example, when each operation status signal is generated and output periodically, the host device can perform monitoring operations periodically. For example, when each operation status signal is generated and output only when a specific event occurs, the host device can perform monitoring operations only when the specific event occurs.
[0186] When a power consumption increase event occurs on at least one of the multiple storage devices and at least one of the multiple operation status signals changes, the host device sends a power status setting signal to at least one of the multiple storage devices (operation S300a). Based on the power status setting signal, the first power state of at least one of the multiple storage devices is changed such that the power consumption of at least one of the multiple storage devices is greater than or equal to a reference power consumption (operation S400).
[0187] For example, when a power consumption increase event occurs on the first storage device and the first operating state signal changes, the host device can send a first power state setting signal with a first value to the first storage device based on the power budget of the storage system. The first storage device can then enter a second power state based on the first power state setting signal with the first value, in which the power consumption of the first storage device is greater than or equal to a reference power consumption, and the first storage device can execute the power consumption increase event. When the power consumption increase event on the first storage device completes and the first operating state signal changes again, the host device can send a first power state setting signal with a second value different from the first value to the first storage device, and the first storage device can re-enter the first power state based on the first power state setting signal with the second value.
[0188] This is a block diagram illustrating a data center including a storage system according to an example embodiment.
[0189] refer to Data center 3000 can be a facility that collects various types of data and provides various services, and can be referred to as a data storage center. Data center 3000 can be a system for operating search engines and databases, and can be a computing system used by companies such as banks or government agencies. Data center 3000 can include application servers 3100 to 3100n and storage servers 3200 to 3200m. According to an example embodiment, the number of application servers 3100 to 3100n and the number of storage servers 3200 to 3200m can be selected differently, and the number of application servers 3100 to 3100n and the number of storage servers 3200 to 3200m can be different from each other.
[0190] Application server 3100 may include at least one processor 3110 and at least one memory 3120, and storage server 3200 may include at least one processor 3210 and at least one memory 3220. The operation of storage server 3200 will be described using it as an example. Processor 3210 may control the overall operation of storage server 3200 and may access memory 3220 to execute instructions and / or data loaded in memory 3220. Memory 3220 may include at least one of Double Data Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM), High Bandwidth Memory (HBM), Hybrid Memory Cube (HMC), Dual In-line Memory Module (DIMM), Optane DIMM, Non-volatile DIMM (NVDIMM), etc. According to example embodiments, the number of processors 3210 and the number of memories 3220 included in storage server 3200 may be selected differently. In some example embodiments, processors 3210 and memories 3220 may provide processor-memory pairs. In some example embodiments, the number of processors 3210 and the number of memories 3220 may differ from each other. Processor 3210 may include a single-core processor or a multi-core processor. The above description of storage server 3200 can be similarly applied to application server 3100. Application server 3100 may include at least one storage device 3150, and storage server 3200 may include at least one storage device 3250. In some example embodiments, application server 3100 may not include storage device 3150. The number of storage devices 3250 included in storage server 3200 may be selected differently depending on the example embodiments.
[0191] Application servers 3100 to 3100n and storage servers 3200 to 3200m can communicate with each other via network 3300. Network 3300 can be implemented using Fibre Channel (FC), Ethernet, or other media. FC can be a medium for relatively high-speed data transmission and can use optical switches that provide high performance and / or high availability. Storage servers 3200 to 3200m can be provided as file storage devices, block storage devices, or object storage devices depending on the access scheme of network 3300.
[0192] In some example embodiments, network 3300 may be a storage-only network or a network dedicated to storage devices, such as a storage area network (SAN). For example, the SAN may be an FC-SAN implemented using an FC network and according to the FC protocol (FCP). As another example, the SAN may be an IP-SAN that uses a Transmission Control Protocol / Internet Protocol (TCP / IP) network and is implemented according to the iSCSI (SCSI over TCP / IP or Internet SCSI) protocol. In other example embodiments, network 3300 may be a general-purpose or normal network, such as a TCP / IP network. For example, network 3300 may be implemented according to at least one of protocols such as FC over Ethernet (FCoE), Network Attached Storage (NAS), and Structure-Based Non-Volatile Memory Fast (NVMe) (NVMe-oF).
[0193] In the following description, example embodiments will be based on application server 3100 and storage server 3200. The description of application server 3100 can be applied to other application servers 3100n, and the description of storage server 3200 can be applied to other storage servers 3200m.
[0194] Application server 3100 can store data requested by users or clients to one of storage servers 3200 to 3200m via network 3300. Furthermore, application server 3100 can retrieve data requested by users or clients from one of storage servers 3200 to 3200m via network 3300. For example, application server 3100 can be implemented as a web server or a database management system (DBMS).
[0195] Application server 3100 can access the memory 3120n or storage device 3150n included in other application servers 3100n via network 3300, and / or can access the memory 3220 to 3220m or storage device 3250 to 3250m included in storage servers 3200 to 3200m via network 3300. Therefore, application server 3100 can perform various operations on data stored in application servers 3100 to 3100n and / or storage servers 3200 to 3200m. For example, application server 3100 can run commands for moving or copying data between application servers 3100 to 3100n and / or storage servers 3200 to 3200m. Data can be transferred directly or via storage devices 3250 to 3250m of storage servers 3200 to 3200m to storage devices 3220 to 3220m of application servers 3100 to 3100n. For example, data transmitted over network 3300 may be encrypted data for security or privacy purposes.
[0196] In storage server 3200, interface (I / F) 3254 can provide physical connectivity between processor 3210 and controller (CTRL) 3251 and / or network interface card (NIC) 3240 and controller 3251. For example, interface 3254 can be implemented based on a Direct Attached Storage (DAS) scheme in which storage device 3250 is directly connected to a dedicated cable. For example, interface 3254 can be implemented based on at least one of various interface schemes, such as Advanced Technology Attachment (ATA), Serial ATA (SATA), External SATA (e-SATA), Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), Peripheral Component Interconnect (PCI), PCI Express (PCIe), NVMe, Compute Fast Link (CXL), IEEE 1394, Universal Serial Bus (USB), Secure Digital (SD) card interface, Multimedia Card (MMC) interface, Embedded MMC (eMMC) interface, Universal Flash Storage (UFS) interface, Embedded UFS (eUFS) interface, Compact Flash (CF) card interface, etc.
[0197] Storage server 3200 may also include switch 3230 and NIC 3240. Under the control of processor 3210, switch 3230 can selectively connect processor 3210 to storage device 3250, or selectively connect NIC 3240 to storage device 3250. Similarly, application server 3100 may also include switch 3130 and NIC 3140.
[0198] In some example embodiments, NIC 3240 may include a network interface card, network adapter, etc. NIC 3240 can connect to network 3300 via a wired interface, wireless interface, Bluetooth interface, optical interface, etc. NIC 3240 may also include internal memory, digital signal processor (DSP), host bus interface, etc., and can connect to processor 3210 and / or switch 3230 via the host bus interface. The host bus interface can be implemented as one of the above examples of interface 3254. In some example embodiments, NIC 3240 can be integrated with at least one of processor 3210, switch 3230, and storage device 3250.
[0199] In storage servers 3200 to 3200m and / or application servers 3100 to 3100n, the processor can send commands to storage devices 3150 to 3150n and 3250 to 3250m or memories 3120 to 3120n and 3220 to 3220m to program or read data. For example, the data can be data corrected by an error-correcting code (ECC) engine. For example, the data can be processed by data bus inversion (DBI) or data masking (DM) and can include cyclic redundancy check (CRC) information. For example, the data can be encrypted data for security or privacy purposes.
[0200] Storage devices 3150 to 3150m and 3250 to 3250m can send control signals and command / address signals to NAND flash memory devices 3252 to 3252m in response to a read command received from the processor. When reading data from NAND flash memory devices 3252 to 3252m, the read enable (RE) signal can be input as a data output control signal and can be used to output data to the DQ bus. The RE signal can be used to generate a data strobe signal (DQS). Command and address signals can be latched in the page buffer based on the rising or falling edge of the write enable (WE) signal.
[0201] Controller 3251 can control the overall operation of storage device 3250. In some example embodiments, controller 3251 may include static random access memory (SRAM). Controller 3251 can write data to NAND flash memory device 3252 in response to a write command, or can read data from NAND flash memory device 3252 in response to a read command. For example, write and / or read commands can be provided from processor 3210 in storage server 3200, processor 3210m in other storage servers 3200m, or processors 3110 to 3110n in application servers 3100 to 3100n. DRAM 3253 can temporarily store (e.g., can buffer) data to be written to or read from NAND flash memory device 3252. In addition, DRAM 3253 can store metadata. Metadata can be generated by controller 3251 to manage user data or data of NAND flash memory device 3252.
[0202] According to the example embodiment, each of the storage devices 3250 to 3250m can be included in the storage system and can be operated based on the method of operating the storage system according to the example embodiment.
[0203] The example embodiments can be applied to a wide variety of electronic devices and systems, including storage devices and storage systems. These example embodiments can be applied to systems such as personal computers (PCs), server computers, data centers, workstations, mobile phones, smartphones, tablet computers, laptop computers, personal digital assistants (PDAs), portable multimedia players (PMPs), digital cameras, portable game consoles, music players, camcorders, video players, navigation devices, wearable devices, Internet of Things (IoT) devices, Internet of Everything (IoE) devices, e-book readers, virtual reality (VR) devices, augmented reality (AR) devices, robotic devices, drones, automobiles, and the like.
[0204] The foregoing describes exemplary embodiments and should not be construed as limiting them. Although some exemplary embodiments have been described, those skilled in the art will readily understand that numerous modifications are possible to the exemplary embodiments without substantially departing from the novel teachings and advantageous effects of the exemplary embodiments. Therefore, all such modifications are intended to be included within the scope of the exemplary embodiments as defined in the claims. Accordingly, it should be understood that the foregoing is illustrative of various exemplary embodiments and should not be construed as limiting to the specific exemplary embodiments disclosed, and modifications to the disclosed and other exemplary embodiments are intended to be included within the scope of the appended claims.
Claims
1. A method of operating a storage system, the storage system comprising a plurality of storage devices, the method comprising: The plurality of storage devices enter a first power state, wherein, in the first power state, the power consumption of each of the plurality of storage devices is less than a reference power consumption; The plurality of storage devices output a plurality of operation status signals representing the operation status of the plurality of storage devices; When a power consumption increase event occurs on at least one of the plurality of storage devices, and when at least one of the plurality of operation status signals changes, a power status setting signal is received by at least one of the plurality of storage devices; and Based on the power state setting signal, the first power state of at least one of the plurality of storage devices is changed such that the power consumption of each of the plurality of storage devices is greater than or equal to the reference power consumption.
2. The method according to claim 1, wherein, The increased power consumption event includes multiple internal events that are executed internally within the plurality of storage devices.
3. The method according to claim 2, wherein, Receiving the power status setting signal includes: When a first internal event for internal data replication occurs on the first storage device among a plurality of internal events, and when the first operation status signal among the plurality of operation status signals changes, the first storage device receives a first power status setting signal.
4. The method according to claim 3, wherein, Changing the first power state includes: Based on the first power state setting signal, the first storage device enters a second power state, wherein in the second power state, the power consumption of the first storage device is greater than or equal to the reference power consumption.
5. The method according to claim 4, wherein, Receiving the power status setting signal further includes: When a second internal event for internal data replication occurs on a second storage device, which is different from the first storage device, among the plurality of internal events, and when a second operation status signal among the plurality of operation status signals changes, the second storage device receives a second power status setting signal, wherein the second internal event is different from the first internal event.
6. The method according to claim 5, wherein, Changing the first power state further includes: Based on the second power state setting signal, the second storage device enters a third power state, wherein in the third power state, the power consumption of the second storage device is greater than or equal to the reference power consumption, and the third power state is different from the second power state.
7. The method according to claim 6, wherein, When the priority of the first internal event is higher than the priority of the second internal event, the power consumption of the first storage device in the second power state is greater than the power consumption of the second storage device in the third power state.
8. The method according to claim 5, further comprising: The power budget of the storage system is compared with the total power consumption of the plurality of storage devices, and When the total power consumption is expected to exceed the power budget, the second storage device maintains the first power state.
9. The method according to claim 4, wherein, When the first internal event of the first storage device is completed, the first operation state signal is changed again, the first power state setting signal is received again, and the first storage device re-enters the first power state.
10. The method according to claim 2, wherein, Receiving the power status setting signal includes: When multiple first internal events and second internal events for internal data replication occur on the first and second storage devices among the multiple storage devices, and when the first and second operation status signals among the multiple operation status signals change, the first and second storage devices selectively receive the first power status setting signal and the second power status setting signal based on the priority of the multiple first internal events and the power budget of the storage system.
11. The method according to claim 1, wherein, The increased power consumption event includes multiple external events that are executed, and the multiple external events include operations that output corresponding signals from the multiple storage devices to external devices.
12. The method according to claim 11, wherein, Receiving the power status setting signal includes: When a first external event occurs requiring replacement of the first storage device among the plurality of storage devices, and when the first operation status signal among the plurality of operation status signals changes, the first storage device and the second storage device among the plurality of storage devices respectively receive a first power status setting signal and a second power status setting signal.
13. The method according to claim 12, wherein, Changing the first power state includes: Based on the first power state setting signal and the second power state setting signal, the first storage device and the second storage device enter a second power state. In the second power state, the power consumption of the first storage device and the power consumption of the second storage device are greater than or equal to the reference power consumption.
14. The method according to claim 13, wherein, The first data stored in the first storage device is copied to the second storage device, the first storage device is replaced by a third storage device, and the first data stored in the second storage device is copied to the third storage device.
15. The method according to claim 11, wherein, Changing the first power state includes: When a second external event occurs that causes a power outage in the storage system, all of the plurality of storage devices enter a second power state, wherein the power consumption of the plurality of storage devices is greater than or equal to the reference power consumption.
16. The method according to claim 15, wherein, All of the plurality of storage devices enter the second power state without needing to receive the power state setting signal.
17. The method according to claim 15, in, The storage system also includes auxiliary power supply devices external to the plurality of storage devices. The plurality of storage devices do not include the auxiliary power supply device, and In this process, all of the plurality of storage devices enter the second power state based on the auxiliary power provided by the auxiliary power supply device.
18. A storage system, the storage system comprising: Multiple storage devices; as well as A host device configured to control the operation of the plurality of storage devices. The plurality of storage devices are configured to enter a first power state, in which the power consumption of each of the plurality of storage devices is less than a reference power consumption. The plurality of storage devices are configured to output a plurality of operation status signals representing the operation status of the plurality of storage devices. Specifically, when a power consumption increase event occurs on at least one of the plurality of storage devices, and when at least one of the plurality of operation status signals changes, at least one of the plurality of storage devices is configured to receive a power status setting signal, and Specifically, based on the power state setting signal, the first power state of at least one of the plurality of storage devices is changed, such that the power consumption of each of the plurality of storage devices is greater than or equal to the reference power consumption.
19. The storage system of claim 18, further comprising: An auxiliary power supply device, configured to provide auxiliary power to the plurality of storage devices; and When an external event of power failure occurs in the storage system, all of the plurality of storage devices are configured to enter a second power state based on the auxiliary power. In the second power state, the power consumption of the plurality of storage devices is greater than or equal to the reference power consumption.
20. A method of operating a storage system, the storage system comprising a host device and a plurality of storage devices, the method comprising: The plurality of storage devices enter a first power state, wherein, in the first power state, the power consumption of each of the plurality of storage devices is less than a reference power consumption; The plurality of storage devices send a plurality of operation status signals to the host device; The host device monitors the operating status of the multiple storage devices based on the multiple operating status signals; When a power consumption increase event occurs on the first storage device among the plurality of storage devices, and when the first operation status signal among the plurality of operation status signals changes, the host device sends a first power status setting signal with a first value to the first storage device based on the power budget of the storage system. Based on the first power state setting signal having the first value, the first storage device enters a second power state, wherein, in the second power state, the first power consumption of the first storage device is greater than or equal to the reference power consumption; When the power consumption increase event of the first storage device is completed, and when the first operation status signal changes again, the host device sends a first power status setting signal with a second value to the first storage device, wherein the second value is different from the first value; and Based on the first power state setting signal having the second value, the first storage device re-enters the first power state. The power consumption increase event includes multiple internal events executed internally in the plurality of storage devices and multiple external events executed, the multiple external events including the operation of outputting corresponding signals from the plurality of storage devices to external devices.
Citation Information
Patent Citations
Three-Dimensional Semiconductor Memory Devices And Methods Of Fabricating The Same
US20110233648A1
Vertical-type non-volatile memory devices
US7679133B2
Non-volatile memory device, erasing method thereof, and memory system including the same
US8553466B2
Nonvolatile memory device, operating method thereof and memory system including the same
US8559235B2
Nonvolatile memory devices, channel boosting methods thereof, programming methods thereof, and memory systems including the same
US8654587B2