Storage device and storage system including the same
By introducing multiple working modes into the storage device and selectively storing backup data based on leakage current information, the problem of power consumption optimization of storage devices in mobile systems is solved, and efficient power management and fast data recovery in sleep mode is realized.
Patent Information
- Application Number
- CN202411226471.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2024-01-23
- Filing Date
- 2024-09-03
- Publication Date
- 2025-07-25
AI Technical Summary
Existing storage devices are difficult to effectively reduce power consumption in mobile systems, especially in sleep mode, and cannot efficiently manage backup data to optimize power consumption.
By introducing a variety of operating modes in the storage device, the backup data is selectively stored in a volatile memory, a nonvolatile memory or an external device based on leakage current information, and these processes are managed in conjunction with a storage controller to optimize power consumption.
It realizes efficient reduction of power consumption in sleep mode, while ensuring the reliability and rapid recovery of backup data, and preventing deterioration of working performance.
Smart Images

Figure CN120371600A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments generally relate to semiconductor integrated circuits, and more particularly, to a storage device and a storage system including the storage device. Background Art
[0002] Certain types of storage devices include one or more memory devices. Examples of such storage devices include solid state drives (SSDs). These types of storage devices may have various design advantages and / or performance advantages compared to hard disk drives (HDDs). Examples of potential advantages include the absence of moving mechanical parts, higher data access speeds, stability, durability, and / or low power consumption. Recently, various systems (e.g., laptops, cars, airplanes, drones, etc.) have adopted SSDs for data storage.
[0003] Storage devices may be employed in various types of mobile systems. It is important to reduce power consumption in mobile systems, and thus, various techniques are being studied to reduce the power consumption of storage devices and mobile systems including these storage devices. Summary of the Invention
[0004] At least one example embodiment of the present invention provides a storage device capable of efficiently reducing power consumption by differently setting a storage location of backup data according to various operating situations.
[0005] At least one example embodiment of the present invention provides a storage system including the storage device.
[0006] According to an example embodiment, a storage device includes a plurality of non-volatile memories, at least one volatile memory, and a storage controller. The storage controller controls operations of the plurality of non-volatile memories and the at least one volatile memory, and outputs leakage current information of the storage device to an external device. When the storage device enters a sleep mode such that the storage device reduces power consumption, the storage device operates in a selected operating mode among a plurality of operating modes based on the leakage current information. According to the selected operating mode, the storage device stores first backup data and second backup data as backups in the at least one volatile memory, stores the first backup data and the second backup data as backups in the plurality of non-volatile memories, or outputs the second backup data as a backup to the external device. Before entering the sleep mode, the first backup data is stored in the external device, and the second backup data is stored in the storage device.
[0007] According to an exemplary embodiment, a storage system includes: a host device including a host memory; and a first storage device controlled by the host device. The first storage device includes a plurality of first non-volatile memories, at least one first volatile memory, and a first storage controller. The first storage controller controls operations of the plurality of first non-volatile memories and the at least one first volatile memory, and outputs first leakage current information regarding data retention of the first storage device to the host device. When the storage system enters a sleep mode to reduce power consumption of the storage system, the host device selects one of a plurality of operating modes based on the first leakage current information and second leakage current information regarding data retention of the host device. According to the selected operating mode among the plurality of operating modes, the storage system stores both first backup data of the host device and second backup data of the first storage device as backups in one of the host memory, the at least one first volatile memory, and the plurality of first non-volatile memories.
[0008] According to an exemplary embodiment, a storage system includes: a host device including a first volatile memory; and a storage device including a non-volatile memory, a second volatile memory, and a storage controller, the storage controller being connected to the non-volatile memory and the second volatile memory. The host device and the storage device communicate with each other such that the host device and the storage device share leakage current information regarding data retention of the host device and the storage device. When the storage system enters a sleep mode such that the storage system reduces power consumption, the host device selects one of a plurality of operating modes based on the leakage current information. In a first operating mode among the plurality of operating modes, the first volatile memory stores a first backup data of the host device and a second backup data of the storage device as backups, the first volatile memory in the host device operates in a low power mode to retain the first backup data and the second backup data, and the storage device is configured to be powered off. In a second operating mode among the plurality of operating modes, the second volatile memory stores the first backup data and the second backup data as backups, the host device is powered off, and the second volatile memory in the storage device operates in a low power mode to retain the first backup data and the second backup data. In a third operating mode among the plurality of operating modes, the non-volatile memory stores the first backup data and the second backup data as backups, and both the host device and the storage device are powered off. In the third operating mode, when the storage system exits the sleep mode, the host device and the storage device are powered on, the first backup data is sent to the host device and restored in the first volatile memory, the second backup data is sent to the second volatile memory and restored in the second volatile memory, and the sending operation of the first backup data and the sending operation of the second backup data are performed prior to an operation of processing data other than the first backup data and the second backup data.
[0009] In the storage device and the storage system according to the exemplary embodiment, when the storage device and the storage system enter the sleep mode, the backup data can be selectively stored as a backup in one of the host memory of the host device, the volatile memory of the storage device, and the non-volatile memory of the storage device according to the operating mode. The storage location of the backup data can be set differently according to various operating situations, and thus power optimization can be efficiently performed. In addition, when the storage device and the storage system exit the sleep mode, the latest working state immediately before entering the sleep mode can be quickly restored based on a sleep flag, and thus deterioration of working performance can be prevented. Description of the Drawings
[0010] The illustrative, non - limiting example embodiments will be more clearly understood from the following detailed description in conjunction with the drawings.
[0011] Figure 1 is a block diagram illustrating a storage device and a storage system including the storage device according to an example embodiment.
[0012] Figure 2 is a flowchart illustrating a method of driving a storage device according to an example embodiment.
[0013] Figure 3 is a flowchart illustrating an example of setting multiple operating modes in Figure 2 .
[0014] Figure 4A and Figure 4B are diagrams for explaining the operation of Figure 3 .
[0015] Figure 5 is a flowchart illustrating an example of storing backup data when Figure 2 enters the sleep mode.
[0016] Figure 6A and Figure 6B are diagrams for explaining the operation of Figure 5 .
[0017] Figure 7 is a flowchart illustrating an example of restoring backup data when Figure 2 exits the sleep mode.
[0018] Figure 8 is a flowchart illustrating an example of storing backup data when Figure 7 enters the sleep mode.
[0019] Figure 9 is a flowchart illustrating an example of restoring backup data when Figure 2 exits the sleep mode.
[0020] Figure 10A and Figure 10B are diagrams for explaining the operation of Figure 9 .
[0021] Figure 11 is a flowchart illustrating an example of restoring backup data when Figure 2 exits the sleep mode.
[0022] Figure 12 is a flowchart illustrating an example of storing backup data when Figure 11 enters the sleep mode.
[0023] Figure 13is a flowchart showing an example of storing backup data when entering the sleep mode. Figure 2
[0024] Figure 14A , Figure 14B , Figure 15A and Figure 15B are diagrams for explaining the operations of Figure 13 .
[0025] Figure 16 is a flowchart showing an example of restoring backup data when exiting the sleep mode. Figure 2
[0026] Figure 17 are diagrams for explaining the operations of Figure 16 .
[0027] Figure 18 is a flowchart showing an example of storing backup data when entering the sleep mode. Figure 2
[0028] Figure 19A and Figure 19B are diagrams for explaining the operations of Figure 18 .
[0029] Figure 20 is a flowchart showing an example of restoring backup data when exiting the sleep mode. Figure 2
[0030] Figure 21 are diagrams for explaining the operations of Figure 20 .
[0031] Figure 22 is a flowchart showing an example of storing backup data when entering the sleep mode. Figure 2
[0032] Figure 23A and Figure 23B are diagrams for explaining the operations of Figure 22 .
[0033] Figure 24 is a flowchart showing an example of restoring backup data when exiting the sleep mode. Figure 2
[0034] Figure 25 are diagrams for explaining the operations of Figure 24 .
[0035] Figure 26 and Figure 27 is a block diagram showing a storage device according to an example embodiment and a storage system including the storage device.
[0036] Figure 28A , Figure 28B , Figure 28C and Figure 28D are diagrams for explaining the operations of the storage device and the storage system for Figure 27 .
[0037] Figure 29 is a block diagram illustrating an example of a non - volatile memory included in a storage device according to an example embodiment.
[0038] Figure 30 is a block diagram illustrating an example of a storage controller included in a storage device according to an example embodiment.
[0039] Figure 31 is a block diagram illustrating an example of an electronic system including a storage device according to an example embodiment. DETAILED DESCRIPTION
[0040] Various example embodiments will be described more fully with reference to the accompanying drawings, in which embodiments are shown. However, the present invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Like reference numerals refer to like elements throughout the present application. Ordinal numbers such as "first", "second", "third", etc. may be simply used as labels for some elements, steps, etc. to distinguish such elements, steps, etc. from each other. Terms not described using "first", "second", etc. in the specification may still be referred to as "first" or "second" in the claims. Additionally, a term referred to by a specific ordinal number (e.g., "first" in a specific claim) may be described elsewhere by a different ordinal number (e.g., "second" in the specification or another claim).
[0041] It should be understood that the terms "comprising" and / or "including" or "containing" and / or "having" when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and / or groups thereof.
[0042] Figure 1 is a block diagram illustrating a storage device and a storage system including the storage device according to an example embodiment.
[0043] Referring to Figure 1 , the storage system 100 includes a host device 200 and a storage device 300.
[0044] The host device 200 controls the overall operation of the storage system 100. The host device 200 may include a host processor 210 and a host memory 220.
[0045] The host processor 210 may control the operation of the host device 200. For example, the host processor 210 may run an operating system (OS). For example, the operating system may include a file system for file management and a device driver for controlling peripheral devices including the storage device 300 at the operating system level.
[0046] The host memory 220 may store instructions and data that are run and processed by the host processor 210. For example, the host memory 220 may store first backup data BDAT1 of the host device 200 while the host device 200 is operating. The first backup data BDAT1 may be essential data and / or important data for the operation of the host device 200. Although the operation of the host device 200 is stopped or terminated (e.g., the host device 200 is powered off), the first backup data BDAT1 may need to be saved and / or backed up for future operations when the host device 200 is restarted later.
[0047] In some example embodiments, the host memory 220 may include at least one of various volatile memories, such as dynamic random access memory (DRAM). The host memory 220 may be referred to as a volatile memory.
[0048] The storage device 300 is accessed by the host device 200. The storage device 300 may include a storage controller 310, a plurality of non-volatile memories (NVMs) 320a, 320b, and 320c, and at least one volatile memory (VM) 330.
[0049] The storage controller 310 may control the operation of the storage device 300. For example, the storage controller 310 may control the operation of the plurality of non-volatile memories 320a to 320c based on requests (or commands) and data received from the host device 200. The storage controller 310 may be a memory controller in some examples and may be embodied as a semiconductor chip.
[0050] The plurality of non-volatile memories 320a to 320c may be controlled by the storage controller 310 and may store a plurality of data such as metadata and various user data.
[0051] In some example embodiments, each of the plurality of non-volatile memories 320a to 320c may be a NAND flash memory. In other example embodiments, each of the plurality of non-volatile memories 320a to 320c may be a phase change random access memory (PRAM), a resistive random access memory (RRAM), a magnetic random access memory (MRAM), and a ferroelectric random access memory (FRAM). Each of the plurality of non-volatile memories 320a to 320c may be embodied as a semiconductor chip.
[0052] The volatile memory 330 may store commands and data that are run and processed by the storage controller 310, and may temporarily store data stored in or to be stored in the plurality of non-volatile memories 320a to 320c. For example, the volatile memory 330 may store second backup data BDAT2 of the storage device 300 while the storage device 300 is operating. The second backup data BDAT2 is necessary data and / or important data for the operation of the storage device 300, and is saved and / or backed up for future operations when the storage device 300 is stopped (such as being powered off).
[0053] In some example embodiments, for example, the volatile memory 330 may be a static random access memory (SRAM) or a DRAM. The volatile memory 330 may be embodied as a semiconductor chip.
[0054] According to an example embodiment, in order to perform operations related to or associated with a sleep mode to reduce power consumption, the host processor 210 may include a power and backup manager 212, and the storage controller 310 may include a backup manager 312. The sleep mode may be referred to as a sleep mode, a low power mode, etc.
[0055] For example, at the start of operation, the backup manager 312 may provide the power and backup manager 212 with leakage current information of the storage device 300 regarding data retention of the storage device 300 (i.e., the ability to retain stored data for a period of time with or without power supply), and the power and backup manager 212 may set various operating modes in the sleep mode based on the leakage current information of the host device 200 regarding data retention of the host device 200 and the leakage current information of the storage device 300.
[0056] For example, the power and backup manager 212 may control the operation of entering the sleep mode and the operation of exiting the sleep mode. When entering the sleep mode, the power and backup manager 212 may select one of the various operating modes based on the leakage current information and the operating scenario.
[0057] For example, in the sleep mode, the power and backup manager 212 and / or the backup manager 312 may selectively store the first backup data BDAT1 and the second backup data BDAT2 as backups in one of the host memory 220 of the host device 200, the volatile memory 330 of the storage device 300, and the non-volatile memories 320a to 320c of the storage device 300 according to a selected operating mode among a plurality of operating modes. In other words, the storage locations of the backup data BDAT1 and BDAT2 may be set differently according to the operating mode. As referred to herein, "storing as a backup" may include storing the data stored in a component before entering the sleep mode in a separate storage device to retain the data during a period when the component loses the ability to hold the data for a period of time or when power is not supplied to the component. In addition, "outputting as a backup", "receiving as a backup", or "transmitting as a backup" may include moving the data from the component that stored the data before entering the sleep mode to a separate storage device to retain the data during a period when the component loses the ability to hold the data for a period of time or when power is not supplied to the component.
[0058] For example, when exiting the sleep mode, the power and backup manager 212 and / or the backup manager 312 may restore the first backup data BDAT1 and the second backup data BDAT2, and may restore the operating states of the host device 200 and / or the storage device 300.
[0059] Reference will be made to Figures 2 to 25 describe the detailed operations related to the sleep mode.
[0060] In some example embodiments, some or all of the power and backup manager 212 and the backup manager 312 may be implemented in the form of hardware. For example, some or all of the power and backup manager 212 and the backup manager 312 may be included in a computer-based electronic system. In other example embodiments, some or all of the power and backup manager 212 and the backup manager 312 may be implemented in software, for example, in the form of instruction codes or program routines. For example, the instruction codes or program routines may be run by a computer-based electronic system and may be stored in any storage device located inside or outside the computer-based electronic system.
[0061] In some example embodiments, the storage device 300 may be a solid state drive (SSD), a universal flash storage (UFS), a multimedia card (MMC), or an embedded MMC (eMMC). In other example embodiments, the storage device 300 may be implemented as a secure digital (SD) card, a micro SD card, a memory stick, a chip card, a universal serial bus (USB) card, a smart card, a compact flash (CF) card, etc.
[0062] In some example embodiments, the storage device 300 may be connected to the host device 200 through a block-accessible interface including a Serial Advanced Technology Attachment (SATA) bus, a Small Computer System Interface (SCSI) bus, a Non-Volatile Memory Express (NVMe) bus, a Serial Attached SCSI (SAS) bus, a Universal Flash Storage (UFS), and an embedded MultiMediaCard (eMMC), and may be accessed by the host device 200 in units of blocks through the block-accessible interface.
[0063] In some example embodiments, the storage system 100 may be at least one of various mobile systems such as a mobile phone, a smartphone, a tablet, a personal computer (PC), a laptop computer, a personal digital assistant (PDA), a portable multimedia player (PMP), a digital camera, a video camera, a portable game console, a music player, a video player, a navigation device, a wearable device, an Internet of Things (IoT) device, an e-book, a virtual reality (VR) device, an augmented reality (AR) device, a drone, or an automobile. However, the example embodiments are not limited thereto, and the storage system 100 may be at least one of various computing systems such as a personal computer (PC), a server computer, a data center, a workstation, a digital television (TV), or a set-top box.
[0064] Figure 2 is a flowchart illustrating a method of driving a storage device according to an example embodiment.
[0065] Reference Figure 2 , the method of driving a storage device according to an example embodiment is performed by a storage device controlled by a host device. For example, the host device and the storage device may be implemented as described in reference Figure 1 .
[0066] In the method of driving a storage device according to an example embodiment, various operating modes in the sleep mode are set based on the leakage current information of the host device and the storage device (operation S100). For example, S100 may be performed by the power and backup manager 212 and the backup manager 312 in Figure 1 . For example, S100 may not be independently performed by the storage device, but the storage device may perform at least a part of S100.
[0067] When entering the sleep mode, the backup data of the host device and the storage device is stored as a backup according to the operating mode selected from among the various operating modes (operation S200). For example, the storage location of the backup data may be changed according to the selected operating mode. For example, S200 may be performed by the backup manager 312 in Figure 1 .
[0068] When exiting the sleep mode, the backup data is restored according to the selected operating mode (operation S300). For example, S300 may be performed byFigure 1 It is executed by the backup manager 312 in
[0069] Reference will be made to Figure 3 and Figure 4A and Figure 4B Examples of S100 will be described, and reference will be made to Figures 5 to 25 Examples of S200 and S300 according to the working mode will be described.
[0070] In some example embodiments, the operation of Figure 2 can be described as a method of driving a storage system including a host device and a storage device. For example, the storage system can execute all of S100, S200, and S300, and S200 and S300 can be executed by Figure 1 the power and backup manager 212 and the backup manager 312 in
[0071] Figure 3 is a flowchart illustrating an example of setting multiple working modes in Figure 2 Figure 4A and Figure 4B are diagrams for explaining the operation of Figure 3
[0072] Reference is made to Figure 2 and Figure 3 and Figure 4A and Figure 4B , in S100, the storage device 300 can output leakage current information LC_INF regarding data retention (operation S110). For example, the host device 200 can send a leakage current request LC_REQ to the storage device 300. The storage device 300 can output the leakage current information LC_INF in response to the leakage current request LC_REQ, and send the leakage current information LC_INF to the host device 200. For example, S110 can be executed by Figure 1 the backup manager 312 in
[0073] In some example embodiments, the leakage current information LC_INF of the storage device 300 can indicate a specific leakage current amount required to hold the stored data in the volatile memory 330 included in the storage device 300 in the sleep mode. For example, the specific leakage current amount can be related to the minimum leakage current amount required to hold the stored data in the volatile memory 330 included in the storage device 300 in the sleep mode.
[0074] In some example embodiments, the size information SZ_INF for data retention can be output together with the leakage current information LC_INF and sent to the host device 200. For example, the size information SZ_INF can indicate the storage capacity of the volatile memory 330 included in the storage device 300.
[0075] Based on the leakage current information LC_INF of the storage device 300 and the leakage current information of the host device 200, the first operating mode OP1, the second operating mode OP2, and the third operating mode OP3 that are different from each other can be set in the sleep mode (operation S120). That is to say, the multiple operating modes can include the first operating mode OP1, the second operating mode OP2, and the third operating mode OP3. For example, S120 can be executed by Figure 1 the power and backup manager 212 in
[0076] In some example embodiments, similar to the leakage current information LC_INF of the storage device 300, the leakage current information of the host device 200 can indicate the minimum leakage current required to maintain the stored data in the host memory 220 included in the host device 200 in the sleep mode (for example, a leakage current significantly smaller than the leakage current in the normal mode).
[0077] In some example embodiments, S110 and S120 can be executed at the start of the operation of the storage system 100. For example, S110 and S120 can be executed when the storage device 300 is first equipped with the storage system 100 and when the host device 200 and the storage device 300 are first electrically connected.
[0078] In some example embodiments, as Figure 4B illustrated, the first operating mode OP1 can be an operating mode in which the host device 200 only consumes the power required to maintain the stored data therein and the storage device 300 is powered off, the second operating mode OP2 can be an operating mode in which the host device 200 is powered off and the storage device 300 only consumes the power required to maintain the stored data therein, and the third operating mode OP3 can be an operating mode in which both the host device 200 and the storage device 300 are powered off.
[0079] For example, in the first operating mode OP1, the first backup data BDAT1 of the host device 200 and the second backup data BDAT2 of the storage device 300 can both be stored as backups in the host memory 220 of the host device 200. As described above, since the host memory 220 is a volatile memory, the host memory 220 can operate in a low-power mode to maintain the first backup data BDAT1 and the second backup data BDAT2. Additionally, in order to reduce power consumption, other components of the host device 200 except for the host memory 220 (for example, the host processor 210, etc.) can be disabled, and the storage device 300 can be powered off.
[0080] In the second operating mode OP2, the first backup data BDAT1 and the second backup data BDAT2 can be stored as backups in the volatile memory 330 of the storage device 300, and the volatile memory 330 can operate in a low power mode to maintain the first backup data BDAT1 and the second backup data BDAT2. Additionally, in order to reduce power consumption, other components of the storage device 300 other than the volatile memory 330 (e.g., the storage controller 310 and the non-volatile memories 320a to 320c) can be disabled, and the host device 200 can be powered off.
[0081] In the third operating mode OP3, the first backup data BDAT1 and the second backup data BDAT2 can be stored as backups in the non-volatile memories 320a to 320c of the storage device 300. Since the non-volatile memories 320a to 320c do not lose data even when the power supply is stopped, power supply may not be required to maintain the first backup data BDAT1 and the second backup data BDAT2, and thus both the host device 200 and the storage device 300 can be powered off.
[0082] In some example embodiments, the host device 200 can select and / or determine an efficient operating mode in the sleep mode based on the leakage current of the host memory 220 (i.e., the leakage current caused by the host memory 220), the leakage current of the volatile memory 330, and the total leakage current of the storage system 100.
[0083] For example, when the leakage current of the host memory 220 is less than the leakage current of the volatile memory 330, it may be more efficient to drive the host memory 220 to store the first backup data BDAT1 and the second backup data BDAT2 as backups (e.g., power consumption can be reduced). Therefore, in this case, the first operating mode OP1 can be selected in the sleep mode.
[0084] For example, when the leakage current of the volatile memory 330 is less than the leakage current of the host memory 220, it may be more efficient to drive the volatile memory 330 to store the first backup data BDAT1 and the second backup data BDAT2 as backups. Therefore, in this case, the second operating mode OP2 can be selected in the sleep mode.
[0085] For example, when the total leakage current of the storage system 100 is greater than a reference current, it may be necessary to further reduce power consumption, and it may be more efficient to store the first backup data BDAT1 and the second backup data BDAT2 as backups in the non-volatile memories 320a to 320c without driving the host memory 220 and the volatile memory 330. Therefore, in this case, the third operating mode OP3 can be selected in the sleep mode.
[0086] In some example embodiments, the size information SZ_INF may additionally be used to select and / or determine the operating mode in the sleep mode. For example, when the sizes of the first backup data BDAT1 and the second backup data BDAT2 are greater than the storage capacity of the volatile memory 330, the second operating mode OP2 may not be selected.
[0087] In some example embodiments, the information related to the duration of the sleep mode may additionally be used to select and / or determine the operating mode in the sleep mode. For example, when the duration of the sleep mode is relatively short (e.g., shorter than a reference time interval), one of the first operating mode OP1 and the second operating mode OP2 may be selected. For example, when the duration of the sleep mode is relatively long (e.g., longer than the reference time interval), the third operating mode OP3 may be selected.
[0088] Reference will be made to Figures 5 to 12 describe the operations in the first operating mode OP1, reference will be made to Figures 13 to 17 describe the operations in the second operating mode OP2, and reference will be made to Figures 18 to 25 describe the operations in the third operating mode OP3.
[0089] Figure 5 is a flowchart illustrating an example of storing backup data when entering the sleep mode. Figure 2 of Figure 6A and Figure 6B is a diagram for explaining Figure 5 of the operations.
[0090] Reference Figure 2 , Figure 5 , Figure 6A and Figure 6B , in S200, an example of the operations in the first operating mode OP1 is illustrated. For example, an example of storing the first backup data BDAT1 and the second backup data BDAT2 in the host memory 220 of the host device 200.
[0091] For example, the storage device 300 may output the second backup data BDAT2 as a backup when entering the sleep mode and the first operating mode OP1 (operation S211). For example, the host device 200 may send a first entry request EN_OP1 to enter the sleep mode and the first operating mode OP1 to the storage device 300, and the storage device 300 may prepare the second backup data BDAT2. For example, the host device 200 may send a backup data request BD_REQ to the storage device 300, and in response to the backup data request BD_REQ, the storage device 300 may output the second backup data BDAT2 and may send it as a backup to the host device 200. For example, as Figure 6BAs illustrated, the second backup data BDAT2 sent to the host device 200 can be stored in the host memory 220 together with the first backup data BDAT1. For example, S211 can be performed by Figure 1 the backup manager 312 in
[0092] After sending the second backup data BDAT2 to the host device 200, the storage device 300 can be powered off (operation S213). For example, the host device 200 can block or cut off the power supplied to the storage device 300, and the storage device 300 can be in the powered-off state P_OFF. In Figure 6B Figure 6B , the storage device 300 having the powered-off state P_OFF and all of the components 310, 320, and 330 are illustrated by dashed lines.
[0093] In some example embodiments, the host device 200 can have a data retention state D_RT to retain the first backup data BDAT1 and the second backup data BDAT2 while consuming minimal (or relatively low) power. For example, in the host device 200, only the host memory 220 can operate in the low-power mode and the host processor 210 can be disabled. For example, different from the powered-off state P_OFF, the data retention state D_RT or the low-power mode can indicate that power is supplied and the clock signal is turned off. In Figure 6B Figure 6B , the disabled host processor 210 is illustrated by a dashed line, and the host memory 220 operating in the low-power mode and the host device 200 having the data retention state D_RT are illustrated by solid lines.
[0094] In some example embodiments, only a part of the host processor 210 is disabled, and the components for exiting the sleep mode (e.g., Figure 1 the power and backup manager 212 in
[0095] Figure 7 is a flowchart illustrating an example of restoring backup data when exiting the sleep mode in Figure 2 Figure 2 . Figure 8 is a diagram for explaining the operation in Figure 7 Figure 7 .
[0096] Referring to Figure 2 , Figure 7 and Figure 8 , in S300, an example of the operation in the first operating mode OP1 corresponding to Figure 5 Figure 5 is illustrated, for example, an example of restoring the second backup data BDAT2 in the volatile memory 330 of the storage device 300.
[0097] In some example embodiments, the storage device 300 may be powered on to exit the sleep mode and the first operating mode OP1 (operation S311). For example, the host device 200 may supply power to the storage device 300 and send a first exit request EX_OP1 to the storage device 300 to exit the sleep mode and the first operating mode OP1. The first exit request EX_OP1 may be referred to as a wake-up request and / or a wake-up signal.
[0098] After being powered on, the storage device 300 may receive second backup data BDAT2 and restore the second backup data BDAT2 (operation S313). For example, the host device 200 may send the second backup data BDAT2 to the storage device 300, the storage device 300 may receive the second backup data BDAT2, and may restore the received second backup data BDAT2 in the volatile memory 330. For example, S313 may be performed by Figure 1 the backup manager 312 therein.
[0099] Thus, as Figure 1 illustrated, the storage device 300 and the host device 200 may operate in the same state as before entering the sleep mode.
[0100] Figure 9 is a flowchart illustrating an example of storing backup data when entering the sleep mode. Figure 2 and Figure 10A and Figure 10B are diagrams for explaining the Figure 9 operations.
[0101] Referring to Figure 2 , Figure 9 , Figure 10A and Figure 10B , in S200, an example of an operation in the first operating mode OP1 is illustrated, for example, an example of storing the first backup data BDAT1 and the second backup data BDAT2 in the host memory of the host device 200. Figure 9 S211 and S213 in Figure 5 may be substantially the same as S211 and S213 in Figure 5 , Figure 6A and Figure 6B , and descriptions that are repetitive or overlapping with Figure 5 , Figure 6A and Figure 6B will be omitted for the sake of brevity.
[0102] In the first operating mode OP1, after the storage device 300 sends the second backup data BDAT2 to the host device 200 and before being powered off (e.g., after S211 and before S213), the storage device 300 may receive the sleep flag HFLG from the host device 200 and store the sleep flag HFLG (operation S215). The sleep flag HFLG may be a specific indicator (or signal, or register value) indicating that the system or device needs to enter, is entering, or has entered the sleep mode. The sleep flag HFLG may also include additional information about the most recent operating state of the system or device before entering the sleep mode. For example, the sleep flag HFLG (i.e., the operating state information) may correspond to the most recent operating state (e.g., the operating state immediately before entering the sleep mode). For example, in order to maintain the sleep flag HFLG even after the storage device 300 is powered off, the sleep flag HFLG may be stored in the non-volatile memory 320 of the storage device 300, as Figure 10B illustrated. For example, S215 may be performed by Figure 1 the backup manager 312 in
[0103] Figure 11 is a flowchart illustrating an example of restoring backup data when exiting the sleep mode. Figure 2 Figure 12 is a diagram for explaining Figure 11 the operations of
[0104] Referring to Figure 2 , Figure 11 and Figure 12 , in S300, an example of operations in the first operating mode OP1 corresponding to Figure 9 is illustrated, for example, an example of restoring the second backup data BDAT2 in the volatile memory 330 of the storage device 300. Figure 11 S311 and S313 in Figure 7 may be substantially the same as S311 and S313 in Figure 7 and Figure 8 , and for the sake of brevity, descriptions that are repetitive or overlapping with Figure 7 and Figure 8 will be omitted.
[0105] In the first operating mode OP1, after or when the storage device 300 is powered on (e.g., after or during S311), the storage device 300 may check the sleep flag HFLG stored in the non-volatile memory 320 (operation S315). For example, S315 may be performed by Figure 1 the backup manager 312 in
[0106] After the storage device 300 receives the second backup data BDAT2 as a backup and restores the second backup data BDAT2 (e.g., after S313), the storage device 300 may restore the operating state of the storage device based on the sleep flag HFLG such that the operating state of the storage device corresponds to the latest operating state (e.g., the operating state immediately before entering the sleep mode) (operation S317). For example, S317 may be performed by Figure 1 the backup manager 312 in
[0107] Generally, when the storage device is powered on, the storage device may operate according to a boot sequence based on a boot loader and / or boot code. The boot loader and / or boot code may be a set of instructions that run when the operation of the storage device and the storage system including the storage device starts. When the boot code is run, the storage system may be prepared to run an operating system.
[0108] In contrast, different from the above general power-on operation, the operation of powering on the storage device 300 in S311 may be a power-on operation for exiting the sleep mode. When the storage device operates according to the boot sequence during the power-on operation for exiting the sleep mode, the time interval for exiting the sleep mode may increase. Therefore, when the storage device 300 is powered off, the storage device 300 may receive the sleep flag HFLG and store the sleep flag HFLG as in S215. In addition, when the storage device 300 is powered on, the storage device 300 may not operate according to the boot sequence, and may restore the operating state immediately before entering the sleep mode based on the sleep flag HFLG as in S315 and S317, thereby reducing the time interval for exiting the sleep mode.
[0109] Figure 13 is a flowchart illustrating Figure 2 an example of storing backup data when entering the sleep mode. Figure 14A 、 Figure 14B 、 Figure 15A and Figure 15B are diagrams for explaining Figure 13 the operations of
[0110] Referring to Figure 2 、 Figure 13 、 Figure 14A 、 Figure 14B 、 Figure 15A and Figure 15B , in S200, an example of an operation in the second operating mode OP2 is illustrated, for example, an example of storing the first backup data BDAT1 and the second backup data BDAT2 in the volatile memory 330 of the storage device 300.
[0111] In some example embodiments, the storage device 300 may receive first backup data BDAT1 when entering the sleep mode and the second operation mode OP2 (operation S221). For example, the host device 200 may send a second entry request EN_OP2 to enter the sleep mode and the second operation mode OP2 to the storage device 300, the host device 200 may send the first backup data BDAT1 to the storage device 300, and the storage device 300 may receive the first backup data BDAT1. For example, S221 may be performed by Figure 1 the backup manager 312 therein.
[0112] After receiving the first backup data BDAT1, the storage device 300 may store the first backup data BDAT1 and the second backup data BDAT2 in the volatile memory 330 (operation S223). For example, as Figure 14B illustrated, the first backup data BDAT1 sent to the storage device 300 may be stored in the volatile memory 330 together with the second backup data BDAT2. For example, S223 may be performed by Figure 1 the backup manager 312 therein.
[0113] After storing the first backup data BDAT1 and the second backup data BDAT2 in the volatile memory 330, the storage device 300 may perform a data holding operation (operation S225). For example, the storage device 300 may send a ready signal RDY indicating that the first backup data BDAT1 has been successfully stored to the host device 200, and the host device 200 may send a request GO_OP2 to proceed to the second operation mode OP2 to the storage device 300, and the storage device 300 may have a data holding state D_RT to hold the first backup data BDAT1 and the second backup data BDAT2 while consuming minimal power or less power than in the normal mode. For example, in the storage device 300, only the volatile memory 330 may operate in the low power mode, and the storage controller 310 and the non-volatile memory 320 may be disabled. In Figure 14B the figure, the disabled storage controller 310 and non-volatile memory 320 are illustrated by dashed lines, and the volatile memory 330 operating in the low power mode and the storage device 300 having the data holding state D_RT are illustrated by solid lines.
[0114] In some example embodiments, the host device 200 may be powered off. For example, the power supplied to the host device 200 may be blocked or cut off, and the host device 200 may be in a powered-off state P_OFF. In Figure 14B the figure, the host device 200 in the powered-off state P_OFF and all of the components 210 and 220 are illustrated by dashed lines.
[0115] In some example embodiments, only the host memory 220 may be powered off, while some or all of the host processors 210 may not be powered off. For example, components for exiting the sleep mode (e.g., Figure 1 the power and backup manager 212 in
[0116] In some example embodiments, as Figure 15A illustrated, the storage device 300 may include a plurality of volatile memories VMa, VMb, and VMc. In the second operating mode OP2, only some of the plurality of volatile memories VMa, VMb, and VMc may be enabled. For example, the volatile memory VMa may be enabled to store and hold the first backup data BDAT1 and the second backup data BDAT2, and the volatile memories VMb and VMc may be disabled to reduce power consumption. For example, the second backup data BDAT2 may be necessary data and / or important data for the operation of the storage device 300 among the data stored in the volatile memories VMa, VMb, and VMc.
[0117] In some example embodiments, as Figure 15B illustrated, the volatile memory VM of the storage device 300 may include a plurality of regions REGa, REGb, and REGc. In the second operating mode OP2, only some of the plurality of regions REGa, REGb, and REGc may be enabled. For example, the region REGa of the volatile memory VM may be enabled to store and hold the first backup data BDAT1 and the second backup data BDAT2, and the regions REGb and REGc may be disabled to reduce power consumption. For example, the second backup data BDAT2 may be necessary data and / or important data for the operation of the storage device 300 among the data stored in the regions REGa, REGb, and REGc.
[0118] Figure 16 is a flowchart illustrating an example of Figure 2 restoring backup data when exiting the sleep mode. Figure 17 is a diagram for explaining the Figure 16 operation.
[0119] Referring to Figure 2 , Figure 16 and Figure 17 , in S300, an example of the operation in the second operating mode OP2 corresponding to Figure 13 is illustrated, for example, an example of restoring the first backup data BDAT1 in the host memory 220 of the host device 200.
[0120] In some example embodiments, the storage device 300 may exit the sleep mode and the second operation mode OP2 and operate in the normal mode (operation S321). For example, the host device 200 may send a second exit request EX_OP2 to the storage device 300 to exit the sleep mode and the second operation mode OP2. Accordingly, the storage controller 310, the non-volatile memory 320, and the volatile memory 330 included in the storage device 300 may operate in the normal mode.
[0121] After the operation in the normal mode, the storage device 300 may output first backup data BDAT1 (operation S323). For example, the storage device 300 may prepare to send the first backup data BDAT1, may output the first backup data BDAT1, and may send the first backup data BDAT1 to the host device 200. For example, S313 may be performed by Figure 1 the backup manager 312 therein. The first backup data BDAT1 sent to the host device 200 may be restored in the host memory 220.
[0122] Accordingly, as Figure 1 illustrated, the storage device 300 and the host device 200 may operate in the same state as before entering the sleep mode.
[0123] In some example embodiments, as described above with reference to Figure 15A and Figure 15B when the second backup data BDAT2 is stored in the plurality of volatile memories VMa, VMb, and VMc or stored in the plurality of regions REGa, REGb, and REGc, an operation of restoring the second backup data BDAT2 at the original location (e.g., the location immediately before entering the sleep mode) may be additionally performed after S321.
[0124] In some example embodiments, in the second operation mode OP2, the storage device 300 may not be powered off and then powered on, and thus, the storage device 300 may resume the working state immediately before entering the sleep mode without operating according to the boot sequence in S321. Accordingly, in the second operation mode OP2, the sleep flag HFLG and the recovery operation based on the sleep flag HFLG described above with reference to Figures 9 to 12 may be unnecessary.
[0125] Figure 18 is a flowchart illustrating an example of storing backup data when entering the sleep mode. Figure 2 And Figure 19A and Figure 19B are diagrams for explaining the operation of Figure 18 .
[0126] Referring toFigure 2 , Figure 18 , Figure 19A and Figure 19B , in S200, an example of an operation in the third operation mode OP3 is illustrated. For example, an example of storing the first backup data BDAT1 and the second backup data BDAT2 in the non-volatile memory 320 of the storage device 300 is illustrated.
[0127] In some example embodiments, the storage device 300 may receive the first backup data BDAT1 when entering the sleep mode and the third operation mode OP3 (operation S231). For example, the host device 200 may send a third entry request EN_OP3 to enter the sleep mode and the third operation mode OP3 to the storage device 300, the host device 200 may send the first backup data BDAT1 to the storage device 300, and the storage device 300 may receive the first backup data BDAT1. For example, S231 may be similar to Figure 13 S221 in Figure 1 and may be executed by the backup manager 312 in
[0128] After receiving the first backup data BDAT1, the storage device 300 may store the first backup data BDAT1 and the second backup data BDAT2 in the non-volatile memory 320 (operation S233). For example, as Figure 19B illustrated, the first backup data BDAT1 sent to the storage device 300 and the second backup data BDAT2 stored in the volatile memory 330 may be stored together in the non-volatile memory 320. For example, S233 may be executed by the backup manager 312 in Figure 1
[0129] After storing the first backup data BDAT1 and the second backup data BDAT2 in the non-volatile memory 320, the storage device 300 may be powered off (operation S235). For example, the storage device 300 may send a ready signal RDY indicating that the first backup data BDAT1 has been successfully stored to the host device 200, and the host device 200 may send a request GO_OP3 to proceed to the third operation mode OP3 to the storage device 300. Thereafter, the host device 200 may block or cut off the power supplied to the storage device 300, and the storage device 300 may be in a powered-off state P_OFF. For example, S235 may be similar to the combination of S213 in Figure 5 and S225 in Figure 13 . In Figure 19B , the illustration and status of the storage device 300 and components 310, 320, and 330 may be similar to those described above with reference to Figure 6B Figure 6BIllustration and status of the described storage device 300 and components 310, 320, and 330.
[0130] In some example embodiments, the host device 200 may also be powered off. For example, the power supplied to the host device 200 may be blocked or cut off, and the host device 200 may be in the powered-off state P_OFF. In Figure 19B which, the illustration and status of the host device 200 and components 210 and 220 may be similar to those of the host device 200 and components 210 and 220 described above with reference to Figure 14B Illustration and status.
[0131] As described above, even when both the host device 200 and the storage device 300 are powered off, the first backup data BDAT1 and the second backup data BDAT2 stored in the non-volatile memory 320 may be retained without loss.
[0132] Although Figure 19B illustrates that the first backup data BDAT1 and the second backup data BDAT2 are stored in the same non-volatile memory 320, the example embodiments are not limited thereto, and the first backup data BDAT1 and the second backup data BDAT2 may be stored in different non-volatile memories among the plurality of non-volatile memories 320a to 320c included in the storage device 300.
[0133] Figure 20 is a flowchart illustrating an example of restoring backup data when exiting the sleep mode. Figure 2 When exiting the sleep mode. Figure 21 is a diagram for explaining Figure 20 The operation of.
[0134] Referring to Figure 2 , Figure 20 and Figure 21 , in S300, an example of the operation in the third operating mode OP3 corresponding to Figure 18 is illustrated, for example, an example of restoring the first backup data BDAT1 and the second backup data BDAT2 in the host memory 220 of the host device 200 and the volatile memory 330 of the storage device 300, respectively.
[0135] In some example embodiments, the storage device 300 may be powered on to exit the sleep mode and the third operating mode OP3 (operation S331). For example, the host device 200 may supply power to the storage device 300 and may send a third exit request EX_OP3 to the storage device 300 to exit the sleep mode and the third operating mode OP3. For example, S331 may be similar to Figure 7 S311 in
[0136] After being powered on, the storage device 300 may output first backup data BDAT1 (operation S333). For example, the storage device 300 may prepare to send the first backup data BDAT1, may output the first backup data BDAT1, and may send the first backup data BDAT1 to the host device 200. For example, S333 may be similar to Figure 16 S323 in Figure 1 and may be executed by the backup manager 312 in
[0137] . The first backup data BDAT1 sent to the host device 200 may be restored in the host memory 220. Figure 7 Figure 1 In addition, after being powered on, the storage device 300 may restore second backup data BDAT2 (operation S335). For example, the storage device 300 may restore the second backup data BDAT2 of the non-volatile memory 320 in the volatile memory 330. For example, S335 may be similar to S313 in
[0138] and may be executed by the backup manager 312 in Figure 1 .
[0139] Thus, as
[0140] Figure 22 illustrated, the storage device 300 and the host device 200 may operate in the same state as before entering the sleep mode. Figure 2 In some example embodiments, the operations of sending the first backup data BDAT1 to the host device 200, restoring the first backup data BDAT1 in the host memory 220, and restoring the second backup data BDAT2 in the volatile memory 330 may be performed prior to the operation of processing data other than the first backup data and the second backup data, so that the host device 200 and the storage device 300 can quickly restore the working state immediately before entering the sleep mode. Figure 23A and Figure 23B are diagrams for illustrating the operations of Figure 22 .
[0141] Referring to Figure 2 , Figure 22 , Figure 23A and Figure 23B , in S200, an example of an operation in the third working mode OP3 is illustrated, for example, an example of storing the first backup data BDAT1 and the second backup data BDAT2 in the non-volatile memory 320 of the storage device 300.
[0142] Figure 22S231, S233, and S235 in can be respectively associated with Figure 18 S231, S233, and S235 in are substantially the same, and Figure 22 S237 in can be associated with Figure 9 S215 in is substantially the same. For the sake of brevity, descriptions that are repetitive or overlapping with Figure 9 , Figure 10A , Figure 10B , Figure 18 , Figure 19A and Figure 19B will be omitted.
[0143] Figure 24 illustrates Figure 2 a flowchart of an example of restoring backup data when exiting the sleep mode. Figure 25 is a diagram for explaining Figure 24 the operations of.
[0144] Referring to Figure 2 , Figure 24 and Figure 25 , in S300, an example of operations in the third operating mode OP3 corresponding to Figure 22 is illustrated, for example, an example of restoring the first backup data BDAT1 and the second backup data BDAT2 in the host memory 220 of the host device 200 and the volatile memory 330 of the storage device 300, respectively.
[0145] Figure 24 S331, S333, and S335 in can be respectively associated with Figure 20 S331, S333, and S335 in are substantially the same, and Figure 24 S337 and S339 in can be respectively associated with Figure 11 S315 and S317 in are substantially the same. For the sake of brevity, descriptions that are repetitive or overlapping with Figure 11 , Figure 12 , Figure 20 and Figure 21 will be omitted.
[0146] As described above, when the storage device 300 is powered off, the storage device 300 can receive the sleep flag HFLG as in S237 and store the sleep flag HFLG. Additionally, when the storage device 300 is powered on, the storage device 300 can operate without following the boot sequence and can restore the working state immediately before entering the sleep mode based on the sleep flag HFLG as in S337 and S339, thereby reducing the time interval for exiting the sleep mode.
[0147] In a storage device and a storage system according to an exemplary embodiment, when the storage device and the storage system enter the sleep mode, backup data can be selectively stored in one of the host memory 220 of the host device 200, the volatile memory 330 of the storage device 300, and the non-volatile memory 320 of the storage device 300 according to the working state. The storage locations of the first backup data BDAT1 and the second backup data BDAT2 can be set differently according to various working states, and thus power optimization can be efficiently performed. In addition, when the storage device and the storage system exit the sleep mode, the latest working state immediately before entering the sleep mode can be quickly restored based on the sleep flag, and thus deterioration of operation performance can be prevented.
[0148] Figure 26 and Figure 27 is a block diagram illustrating a storage device according to an exemplary embodiment and a storage system including the storage device. For simplicity, descriptions that are repetitive or overlapping with Figure 1 will be omitted.
[0149] Referring to Figure 26 , the storage system 100a may include a host device 200a and a storage device 300.
[0150] Except that the configuration of the host device 200a is changed, the storage system 100a may be substantially the same as the Figure 1 storage system 100 in
[0151] The host device 200a may include a host processor 210a, a host memory 220, and a power management integrated circuit (PMIC) 230. The host processor 210a may include a backup manager 212a.
[0152] The PMIC 230 may control the power supplied to the host device 200a and the storage device 300. The backup manager 212a may control the data backup operation.
[0153] According to an exemplary embodiment, the PMIC 230 and the backup manager 212a may correspond to the Figure 1 power and backup manager 212 in
[0154] and may perform operations related to or associated with the sleep mode. For example, the PMIC 230 may perform operations such as setting various working modes in the sleep mode and controlling entry into and exit from the sleep mode. For example, the backup manager 212a may perform operations of storing / restoring the first backup data BDAT1 and the second backup data BDAT2.
[0155] Referring toFigure 27 , the storage system 100b may include a host device 200, a first storage device (Storage Device 1) 300, and a second storage device (Storage Device 2) 400.
[0156] Except that the storage system 100b further includes a second storage device 400, the storage system 100b may be substantially the same as Figure 1 the storage system 100 described therein.
[0157] The first storage device 300 may include a first storage controller (SCONT1) 310, a plurality of first non-volatile memories (NVM1) 320, and at least one first volatile memory (VM1) 330. The first storage device 300, the first storage controller 310, the plurality of first non-volatile memories 320, and the at least one first volatile memory 330 may be substantially the same as Figure 1 the storage device 300, the storage controller 310, the plurality of non-volatile memories 320a to 320c, and the at least one volatile memory 330 described therein.
[0158] The second storage device 400 may include a second storage controller (SCONT2) 410, a plurality of second non-volatile memories (NVM2) 420, and at least one second volatile memory (VM2) 430. The second storage device 400, the second storage controller 410, the plurality of second non-volatile memories 420, and the at least one second volatile memory 430 may be substantially the same as Figure 1 the storage device 300, the storage controller 310, the plurality of non-volatile memories 320a to 320c, and the at least one volatile memory 330 described therein. When the second storage device 400 is operating, the second volatile memory 430 may store third backup data BDAT3 that is necessary and / or important for the operation of the second storage device 400.
[0159] According to an example embodiment, to perform operations related to or associated with the sleep mode, the host processor 210 may include a power and backup manager 212. Although omitted for ease of illustration, each of the first storage controller 310 and the second storage controller 410 may include a backup manager that is substantially the same as Figure 1 the backup manager 312 described therein.
[0160] The operations of the storage system 100b and the storage devices 300 and 400 in the sleep mode may be substantially the same as those Figures 1 to 25 described above with reference to
[0161] For example, the storage controllers 310 and 410 may provide the host device 200 with the leakage current information of the storage devices 300 and 400, and the host device 200 may set multiple operating modes in the sleep mode based on the leakage current information of the host device 200 and the leakage current information of the storage devices 300 and 400. The host device 200 may control entry into and exit from the sleep mode. When entering the sleep mode, the host device 200 may select one of the multiple operating modes based on the leakage current information and the operating state. In the sleep mode, the first backup data BDAT1 to the third backup data BDAT3 may be stored in the host memory 220 of the host device 200, the volatile memories 330 and 430 of the storage devices 300 and 400, or the non-volatile memories 320 and 420 of the storage devices 300 and 400. When exiting the sleep mode, the first backup data BDAT1 to the third backup data BDAT3 may be restored, and the operating state of the host device 200 and / or the storage devices 300 and 400 may be restored.
[0162] Figure 28A , Figure 28B , Figure 28C and Figure 28D are diagrams for explaining Figure 27 the operations of the storage devices and the storage system in
[0163] Reference Figure 28A , an example of entering the sleep mode and the first operating mode OP1 is illustrated. For example, when the leakage current of the host memory 220 is less than the leakage current of each of the volatile memories 330 and 430, the first operating mode OP1 may be selected to store the first backup data BDAT1 to the third backup data BDAT3 in the host memory 220. For example, similar to that described in the above reference Figure 6B , only the host memory 220 may operate in the low power mode to retain the first backup data BDAT1 to the third backup data BDAT3, and the storage devices 300 and 400 may be powered off.
[0164] Reference Figure 28B and Figure 28C , an example of entering the sleep mode and the second operating mode OP2 is illustrated.
[0165] In some example embodiments, as Figure 28BAs illustrated, one of the storage devices 300 and 400 can be selected in the second operating mode OP2 to store the first backup data BDAT1 to the third backup data BDAT3. For example, when the leakage current of the volatile memory 330 is less than the leakage current of each of the host memory 220 and the volatile memory 430, the second operating mode OP2 can be selected to store the first backup data BDAT1 to the third backup data BDAT3 in the volatile memory 330. For example, similar to the above reference Figure 14B described, only the volatile memory 330 can operate in the low power mode to hold the first backup data BDAT1 to the third backup data BDAT3, while the host device 200 and the storage device 400 can be powered off and the non-volatile memory 320 can be disabled. Although an example of selecting the storage device 300 is illustrated, the exemplary embodiments are not limited thereto, and the storage device 400 can be selected according to the leakage current information.
[0166] In some exemplary embodiments, as Figure 28C illustrated, all of the storage devices 300 and 400 can be selected in the second operating mode OP2 to store the first backup data BDAT1 to the third backup data BDAT3. For example, when the sum of the leakage currents of the volatile memories 330 and 430 is less than the leakage current of the host memory 220, the second operating mode OP2 can be selected to store the first backup data BDAT1 to the third backup data BDAT3 in the volatile memories 330 and 430. For example, when the size of the first backup data BDAT1 to the third backup data BDAT3 is greater than the storage capacity of each of the volatile memories 330 and 430, for example, when it is difficult to store all of the first backup data BDAT1 to the third backup data BDAT3 in one of the volatile memories 330 and 430, the first backup data BDAT1 to the third backup data BDAT3 can be stored in the volatile memories 330 and 430. For example, the first part BDAT1a of the first backup data BDAT1 and the second backup data BDAT2 can be stored in the first volatile memory 330, and the second part BDAT1b of the first backup data BDAT1 and the third backup data BDAT3 can be stored in the second volatile memory 430, but the exemplary embodiments are not limited thereto. For example, similar to the above reference Figure 14B described, only the volatile memories 330 and 430 can operate in the low power mode to hold the first backup data BDAT1 to the third backup data BDAT3, the host device 200 can be powered off, and the non-volatile memories 320 and 420 can be disabled.
[0167] Reference Figure 28D, an example of entering the sleep mode and the third operation mode OP3 is illustrated. For example, when the total leakage current of the storage system 100b is greater than the reference current and it is necessary to further reduce the power consumption, the third operation mode OP3 can be selected to store the first backup data BDAT1 to the third backup data BDAT3 in the non-volatile memory 320. For example, similar to the above reference Figure 19B described, the host device 200 and the storage devices 300 and 400 can all be powered off. Although an example of selecting the storage device 300 is illustrated, the example embodiment is not limited thereto, and the storage device 400 can be selected or all of the storage devices 300 and 400 can be selected.
[0168] According to the example embodiment, it can be implemented similar to Figure 26 the host device 200a in Figure 27 the host device 200. Although reference Figure 27 illustrates an example including two storage devices 300 and 400, the example embodiment is not limited thereto, and the example embodiment can be applied to a storage system including three or more storage devices.
[0169] Figure 2 is a block diagram illustrating an example of the non-volatile memory included in the storage device according to the example embodiment.
[0170] Reference , the non-volatile memory 500 (corresponding to the non-volatile memories 320, 320a, 320b, 320c) can include a storage 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.
[0171] The storage cell array 510 can be connected to the address decoder 520 through a plurality of string selection lines SSL, a plurality of word lines WL, and a plurality of ground selection lines GSL. Additionally, the storage cell array 510 can be connected to the page buffer circuit 530 through a plurality of bit lines BL. The storage cell array 510 can include a plurality of storage cells connected to the plurality of word lines WL and the plurality of bit lines BL. The storage cell array 510 can be divided into a plurality of storage blocks BLK1, BLK2,..., BLKz each including storage cells. Additionally, each of the storage blocks BLK1 to BLKz can be divided into a plurality of pages.
[0172] In some example embodiments, the plurality of memory cells included in the memory cell array 510 may be arranged in a two-dimensional (2D) array structure or a three-dimensional (3D) vertical array structure. The 3D vertical array structure may include vertical cell strings that are vertically oriented such that at least one memory cell is located above another memory cell. At least one memory cell may include a charge trapping layer. The following patent documents, which are hereby incorporated by reference in their entirety, describe configurations for memory cell arrays including 3D vertical array structures in which a three-dimensional memory array is configured as a plurality of levels and 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.
[0173] The control circuit 560 may receive a command CMD and an address ADDR from an external device (e.g., the memory controller 310), and may control an erase cycle, a program cycle, and a read operation of the non-volatile memory 500 based on the command CMD and the address ADDR. Here, the program cycle may include a program operation and a program verify operation, and the erase cycle may include an erase operation and an erase verify operation. Here, the read operation may include a normal read operation and a data recovery read operation.
[0174] For example, the control circuit 560 may generate a control signal CON for controlling the voltage generator 550 and a control signal PBC for controlling the page buffer circuit 530 based on the command CMD, and may generate a row address R_ADDR and a column address C_ADDR based on the address ADDR. The control circuit 560 may provide the row address R_ADDR to the address decoder 520, and may provide the column address C_ADDR to the data input / output circuit 540.
[0175] The address decoder 520 may be connected to the memory cell array 510 through a plurality of string select lines SSL, a plurality of word lines WL, and a plurality of ground select lines GSL.
[0176] For example, during an erase / program / read operation, in response to the row address R_ADDR, the address decoder 520 may determine at least one word line among the plurality of word lines WL as a selected word line, and may determine the remaining portions among the plurality of word lines WL other than the selected word line as non-selected word lines.
[0177] Additionally, during an erase / program / read operation, in response to the row address R_ADDR, the address decoder 520 may determine at least one string select line among the plurality of string select lines SSL as a selected string select line, and may determine the remaining string select lines among the plurality of string select lines SSL as non-selected string select lines.
[0178] In addition, during an erase / program / read operation, in response to a row address R_ADDR, the address decoder 520 may determine at least one ground selection line among a plurality of ground selection lines GSL as a selected ground selection line, and may determine the remaining ground selection lines among the plurality of ground selection lines GSL as non-selected ground selection lines.
[0179] The voltage generator 550 may generate a voltage VS required for the operation of the non-volatile memory 500 based on a power supply voltage PWR and a control signal CON. The voltage VS may be applied to a plurality of string selection lines SSL, a plurality of word lines WL, and a plurality of ground selection lines GSL through the address decoder 520. Additionally, the voltage generator 550 may generate an erase voltage VERS required for an erase operation based on the power supply voltage PWR and the control signal CON.
[0180] For example, during an erase operation, the voltage generator 550 may apply the erase voltage VERS to a common source line and / or a bit line BL of the memory blocks BLK1 to BLKz, and may apply an erase permission voltage (e.g., a ground voltage) to all word lines of a memory block through the address decoder 520. During an erase verification operation, the voltage generator 550 may apply an erase verification voltage to all word lines of a memory block simultaneously through the address decoder 520, or may apply the erase verification voltage to the word lines sequentially one by one.
[0181] For example, during a program operation, the voltage generator 550 may apply a program voltage to a selected word line and may apply a program pass voltage to an unselected word line through the address decoder 520. During a program verification operation, the voltage generator 550 may apply a program verification voltage to a selected word line and may apply a program pass voltage to an unselected word line through the address decoder 520.
[0182] Additionally, during a normal read operation, the voltage generator 550 may apply a read voltage to a selected word line and may apply a read pass voltage to an unselected word line through the address decoder 520. Additionally, during a data recovery read operation, the voltage generator 550 may apply a read voltage to a word line adjacent to a selected word line and may apply a recovery read voltage to the selected word line through the address decoder 520.
[0183] The page buffer circuit 530 may be connected to the memory cell array 510 through a plurality of bit lines BL. The page buffer circuit 530 may include a plurality of page buffers. In some example embodiments, one bit line may be connected to one page buffer. In other example embodiments, two or more bit lines may be connected to one page buffer.
[0184] The page buffer circuit 530 may store write data DAT to be programmed into the memory cell array 510 or read data DAT read from the memory cell array 510. For example, the page buffer circuit 530 may operate as a write driver or a sense amplifier according to the operating mode of the non-volatile memory 500.
[0185] The data input / output circuit 540 may be connected to the page buffer circuit 530 through the data line DL. In response to the column address C_ADDR, the data input / output circuit 540 may provide data DAT to the memory cell array 510 through the page buffer circuit 530, or may provide the data DAT output from the memory cell array 510 to the outside through the page buffer circuit 530.
[0186] Although the non-volatile memory according to the exemplary embodiment has been described based on the NAND flash memory, the non-volatile memory according to the exemplary embodiment may be at least one of various other non-volatile memories such as phase change random access memory (PRAM), resistive random access memory (RRAM), nano floating gate memory (NFGM), polymer random access memory (PoRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), etc.
[0187] is a block diagram illustrating an example of a storage controller included in a storage device according to an exemplary embodiment.
[0188] Reference , the storage controller 600 (corresponding to the storage controller 310 in may include a processor 610, a memory 620, a backup manager 630, a host interface (I / F) 640, an error correction code (ECC) engine 650, a memory interface (I / F) 660, and an advanced encryption standard (AES) engine 670.
[0189] The processor 610 may control the operation of the storage controller 600 in response to a request received from the host device 200 through the host interface 640. For example, the processor 610 may control the operation of the storage device 300 and may control each configuration by adopting firmware to drive the storage device 300.
[0190] The memory 620 may store instructions and data run and processed by the processor 610. For example, the memory 620 may be implemented as a volatile memory such as SRAM, DRAM, etc.
[0191] The backup manager 630 may be associated with the above reference It is substantially the same as the backup manager 312 included in the storage device according to the example embodiment. For example, the backup manager 630 may be included in a flash translation layer (FTL) that performs various functions such as address mapping, wear leveling, and garbage collection.
[0192] The ECC engine 650 for error correction may perform coding modulation using 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., or may perform ECC encoding and ECC decoding using the above - mentioned codes and other error - correction codes.
[0193] The host interface 640 may provide a physical connection between the host device 200 and the storage device 300. For example, the host interface 640 may provide an interface with the storage device 300 in response to the bus format of the host device 200. In some example embodiments, the bus format of the host device 200 may be SCSI or SAS. In other example embodiments, the bus format of the host device 200 may be USB, Peripheral Component Interconnect Express (PCIe), Advanced Technology Attachment (ATA), Parallel ATA (PATA), Serial ATA (SATA), NVMe, Compute Express Link (CXL), etc.
[0194] The memory interface 660 may exchange data with the non - volatile memories 320a to 320c. The memory interface 660 may send data to the non - volatile memories 320a to 320c and may receive data read from the non - volatile memories 320a to 320c. For example, the memory interface 660 may be implemented to conform to a standard protocol such as Toggle or Open NAND Flash Interface (ONFI).
[0195] The AES engine 670 may perform at least one of an encryption operation and a decryption operation on the data input to the storage controller 600 using a symmetric - key algorithm. Although not illustrated in detail, the AES engine 670 may include an encryption module and a decryption module. According to the example embodiment, the encryption module and the decryption module may be implemented as separate modules or as one module.
[0196] is a block diagram illustrating an electronic system including a storage device according to an example embodiment.
[0197] Reference , the electronic system 1000 can be a mobile system including an application processor 1110, a storage device 1170, etc. The electronic system 1000 can also include an image sensor 1140, a display 1150, a radio frequency (RF) chip 1160, a global positioning system (GPS) 1120, a storage device 1170, a microphone (MIC) 1180, a DRAM 1185, and a speaker 1190, and can communicate using ultra-wideband (UWB) 1210, wireless local area network (WLAN) 1220, worldwide interoperability for microwave access (WIMAX) 1230, etc.
[0198] The application processor 1110 can be a controller or a processor that controls the operation of the storage device 1170. For example, the application processor 1110 and the storage device 1170 can respectively correspond to the host device and the storage device included in the storage system according to the example embodiments. The storage location of the backup data can be set differently according to different working scenarios, and thus power optimization can be efficiently performed.
[0199] The application processor 1110 can include a DSI host 1111 that performs serial communication with the display serial interface (DSI) device 1151 of the display 1150, a CSI host 1112 that performs serial communication with the camera serial interface (CSI) device 1141 of the image sensor 1140, a physical layer (PHY) 1113 that performs data communication with the PHY 1161 of the RF chip 1160 based on the Mobile Industry Processor Interface (MIPI) DigRF, and a DigRF master (MASTER) 1114 that controls the data communication of the physical layer 1161. The DigRF slave (SLAVE) 1162 of the RF chip 1160 can be controlled through the DigRF master 1114.
[0200] In some example embodiments, the DSI host 1111 can include a serializer (SER), and the DSI device 1151 can include a deserializer (DES). In some example embodiments, the CSI host 1112 can include a deserializer (DES), and the CSI device 1141 can include a serializer (SER).
[0201] The exemplary embodiments can be applied to various electronic devices and systems including storage devices. For example, the exemplary embodiments can be applied to systems such as personal computers (PCs), server computers, data centers, workstations, mobile phones, smart phones, tablet computers, laptop computers, personal digital assistants (PDAs), portable multimedia players (PMPs), digital cameras, portable game consoles, music players, video cameras, 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, etc.
[0202] The foregoing has described exemplary embodiments and should not be construed as limiting thereof. Although some exemplary embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of the exemplary embodiments. Accordingly, all such modifications are intended to be included within the scope of the exemplary embodiments as defined in the claims. Therefore, it should be understood that the foregoing has described various exemplary embodiments and should not be construed as limited to the specific exemplary embodiments disclosed, and modifications to the disclosed exemplary embodiments as well as other exemplary embodiments are intended to be included within the scope of the appended claims.
Claims
1. A storage device, the storage device comprising: A plurality of non-volatile memories; At least one volatile memory; And A storage controller configured to control the operation of the plurality of non-volatile memories and the at least one volatile memory, and output leakage current information of the storage device to an external device, Wherein, when the storage device enters a sleep mode such that the storage device reduces power consumption, the storage device is configured to operate in a selected operating mode among a plurality of operating modes based on the leakage current information, Wherein, according to the selected operating mode, the storage device is configured to store first backup data and second backup data as backups in the at least one volatile memory, store the first backup data and the second backup data as backups in the plurality of non-volatile memories, or output the second backup data as a backup to the external device, and Wherein, before entering the sleep mode, the first backup data is stored in the external device, and the second backup data is stored in the storage device.
2. The storage device according to claim 1, wherein, The plurality of operating modes include a first operating mode, a second operating mode, and a third operating mode, Wherein, in the first operating mode, the second backup data is sent as a backup to a host device located outside the storage device, and the first backup data and the second backup data are stored as backups in a host memory included in the host device, Wherein, in the second operating mode, the first backup data is received as a backup from the host device, and the first backup data and the second backup data are stored as backups in the at least one volatile memory, and Wherein, in the third operating mode, the first backup data is received as a backup from the host device, and the first backup data and the second backup data are stored as backups in the plurality of non-volatile memories.
3. The storage device according to claim 2, wherein, In the first operating mode, after the storage device sends the second backup data as a backup to the host device, the storage device is configured to be powered off.
4. The storage device according to claim 3, wherein, In the first operating mode, when the storage device exits the sleep mode after being powered off, the storage device is configured to be powered on, and the storage device is configured to receive the second backup data from the host device and restore the second backup data.
5. The storage device according to claim 3, wherein, In the first operating mode, after the storage device sends the second backup data as a backup to the host device and before the storage device is powered off, the storage device is configured to receive a sleep flag from the host device and store the sleep flag, and Wherein, the sleep flag corresponds to the latest operating state of the storage device before being powered off.
6. The storage device according to claim 5, wherein, In the first operating mode, when the storage device exits the sleep mode, the storage device is configured to be powered on, receive the second backup data from the host device, restore the second backup data, and restore the operating state of the storage device based on the sleep flag such that the operating state of the storage device corresponds to the latest operating state.
7. The storage device according to claim 5, wherein, The sleep flag is stored in the plurality of non-volatile memories.
8. The storage device according to claim 2, wherein, In the second operating mode, after the storage device stores the first backup data and the second backup data as backups in the at least one volatile memory, the storage controller and the plurality of non-volatile memories are configured to be disabled, and the at least one volatile memory is configured to operate in a low power mode such that the first backup data and the second backup data are retained in the at least one volatile memory.
9. The storage device according to claim 8, wherein, In the second operating mode, when the storage device exits the sleep mode, the storage controller, the at least one volatile memory, and the plurality of non-volatile memories are configured to operate in a normal mode, and the storage device is configured to send the first backup data to the host device.
10. The storage device according to claim 2, wherein, In the third operating mode, after the storage device stores the first backup data and the second backup data as backups in the plurality of non-volatile memories, the storage device is configured to be powered off.
11. The storage device according to claim 10, wherein, In the third operating mode, when the storage device exits the sleep mode, the storage device is configured to be powered on, send the first backup data to the host device, and restore the second backup data.
12. The storage device according to claim 11, wherein, The operation of sending the first backup data to the host device and the operation of restoring the second backup data are performed prior to the operation of processing data other than the first backup data and the second backup data.
13. The storage device according to claim 10, wherein, In the third operating mode, after the storage device stores the first backup data and the second backup data as backups in the plurality of non-volatile memories and before the storage device is powered off, the storage device is configured to receive the sleep flag from the host device and store the sleep flag, and wherein the sleep flag corresponds to the latest operating state of the storage device before it is powered off.
14. The storage device according to claim 13, wherein, In the third operating mode, when the storage device exits the sleep mode, the storage device is configured to be powered on, send the first backup data to the host device, restore the second backup data, and restore the operating state of the storage device based on the sleep flag such that the operating state of the storage device corresponds to the latest operating state.
15. A storage system, the storage system comprising: A host device, the host device including a host memory; And A first storage device, the first storage device being configured to be controlled by the host device Among them, the first storage device includes a plurality of first non-volatile memories, at least one first volatile memory, and a first storage controller. The first storage controller is configured to control the operations of the plurality of first non-volatile memories and the at least one first volatile memory, and output first leakage current information regarding data retention of the first storage device to the host device. Among them, when the storage system enters a sleep mode such that the storage system reduces power consumption, the host device is configured to select one of multiple operating modes based on the first leakage current information and second leakage current information regarding data retention of the host device. Among them, according to the selected operating mode among the multiple operating modes, the storage system is configured to store both first backup data of the host device and second backup data of the first storage device as backups in one of the host memory, the at least one first volatile memory, and the plurality of first non-volatile memories.
16. The storage system according to claim 15, wherein, The multiple operating modes include a first operating mode, a second operating mode, and a third operating mode. Among them, in the first operating mode, the first backup data and the second backup data are stored as backups in the host memory. The host memory in the host device is configured to operate in a low-power mode to retain the first backup data and the second backup data, and the first storage device is configured to be powered off. Among them, in the second operating mode, the first backup data and the second backup data are stored as backups in the at least one first volatile memory. The host device is configured to be powered off, and the at least one first volatile memory in the first storage device is configured to operate in a low-power mode to retain the first backup data and the second backup data. Among them, in the third operating mode, the first backup data and the second backup data are stored as backups in the plurality of first non-volatile memories, and both the host device and the first storage device are configured to be powered off.
17. The storage system according to claim 16, wherein, The host device is configured to: Select one of the first operating mode and the second operating mode by comparing the amount of first leakage current caused by the host memory with the amount of second leakage current caused by the at least one first volatile memory, or Select the third operating mode by comparing the amount of total leakage current caused by the storage system with the amount of reference current.
18. The storage system according to claim 16, the storage system further includes: A second storage device, the second storage device is configured to be controlled by the host device. Among them, the second storage device includes a plurality of second non-volatile memories, at least one second volatile memory, and a second storage controller. The second storage controller is configured to control the operations of the plurality of second non-volatile memories and the at least one second volatile memory, and output third leakage current information regarding data retention of the second storage device to the host device. Wherein, when the storage system enters the sleep mode, the host device is configured to select one of the multiple operating modes based on the first leakage current information, the second leakage current information, and the third leakage current information.
19. The storage system according to claim 18, wherein, In the second operating mode and the third operating mode, the storage system is configured to select one of the first storage device and the second storage device, such that the storage system stores the first backup data, the second backup data, and the third backup data of the second storage device as backups in the selected one of the first storage device and the second storage device.
20. A storage system, the storage system comprising: A host device, the host device including a first volatile memory; And A storage device, the storage device including a non-volatile memory, a second volatile memory, and a storage controller, the storage controller being connected to the non-volatile memory and the second volatile memory, Wherein, the host device and the storage device are configured to communicate with each other such that the host device and the storage device share leakage current information regarding data retention of the host device and the storage device, Wherein, when the storage system enters the sleep mode such that the storage system reduces power consumption, the host device is configured to select one of the multiple operating modes based on the leakage current information, Wherein, in a first operating mode among the multiple operating modes, the first volatile memory is configured to store the first backup data of the host device and the second backup data of the storage device as backups, the first volatile memory in the host device is configured to operate in a low power mode to retain the first backup data and the second backup data, and the storage device is configured to be powered off, Wherein, in a second operating mode among the multiple operating modes, the second volatile memory is configured to store the first backup data and the second backup data as backups, the host device is configured to be powered off, and the second volatile memory in the storage device is configured to operate in a low power mode to retain the first backup data and the second backup data, Wherein, in a third operating mode among the multiple operating modes, the non-volatile memory is configured to store the first backup data and the second backup data as backups, and both the host device and the storage device are configured to be powered off, and Wherein, in the third operating mode, when the storage system exits the sleep mode, the host device and the storage device are configured to be powered on, the first backup data is sent to the host device and restored in the first volatile memory, the second backup data is sent to the second volatile memory and restored in the second volatile memory, and the operation of sending the first backup data and the operation of sending the second backup data are performed prior to the operation of processing data other than the first backup data and the second backup data.
Citation Information
Patent Citations
Three-Dimensional Semiconductor Memory Devices And Methods Of Fabricating The Same
US20110233648A1
Nonvolatile memory device, operating method thereof and memory system including the same
US8559235B2