Embodiments relate generally to a storage device and a storage system.
There is a storage system including a nonvolatile memory and having a control function of controlling the nonvolatile memory.
In general, according to one embodiment, a storage includes a nonvolatile memory and a controller configured to control the nonvolatile memory. The storage is supplied with first power from a power supply unit. The controller is configured to change power supplied from the power supply unit from the first power to second power based on a power control command transmitted from a host. The power control command includes a first parameter identifying the storage and a second parameter indicative of the second power.
Various embodiments will be described hereinafter with reference to the accompanying drawings. In the description below, the approximately-same functions and elements are represented by the same reference numbers and their description is provided if necessary. In the specification, some elements are exemplarily expressed by various expressions. These expressions are just an example and do not deny that the above elements are expressed by other expressions.
[1-1. General Structure]
A general structure including a storage system 100 of the first embodiment is described with reference to
As shown in
The storage system 100 comprises SSD0 to SSDn−1 (n is a natural number), which are storage devices 10, and a host 20 which controls the storage devices 10. Solid-state drives (SSDs) are described as an example of the storage devices 10. The storage devices 10 are not limited to SSDs and may be, for example, hard disc drives (HDDs) or other storage devices and memories. The detailed structure of the storage devices 10 and the host 20 will be described later.
The power supply unit 50 converts external power supplied from an external power source VC to the predetermined power Pmax. The converted power Pmax is almost equally divided into power components P0 to Pn−1 to be supplied to the storage devices 10, respectively. In the first embodiment, the total power Pmax supplied to the storage system 100 is predetermined and the value is substantially constant. Therefore, the value of power Pmax supplied from the power supply unit 50 is not greater than the sum total of power components P0 to Pn−1 supplied to SSD0 to SSDn−1, respectively, that is
Pmax≤ΣPi, (I)
where i=0, 1, 2, . . . , n−1.
The external devices 220 access the storage system 100 from the outside 200 of the storage system 100 via the network 210, and performs a predetermined process or makes a predetermined request (for example, data reading, data writing, data erasing, etc.) to the accessed storage system 100. The network 210 is not limited to wired or wireless.
In the above structure, the storage system 100 of the first embodiment changes power components to be distributed to the storage devices 10 and optimizes the power components (P0 to Pn−1→P0″ to Pn−1″) in accordance with a load on the storage devices 10 (SSD0 to SSDn−1). According to such a structure, the storage system 100 of the first embodiment can improve efficiency of the system. The effect and advantage will be described later in detail.
[1-2. Storage System]
The detailed structure of the storage system 100 of the first embodiment is described with reference to
[Storage Device]
Each of SSD0 to SSD0, which are the storage devices 10, comprises a NAND flash memory (hereinafter referred to as a NAND memory) 11, a memory controller 12 and a power conversion unit 13.
The NAND memory 11 is a nonvolatile semiconductor memory which comprises blocks (physical blocks) and stores data in each block. Each block comprises memory cells positioned at intersections of word lines and bit lines. Each memory cell comprises a control gate and a floating gate and stores data in a nonvolatile manner by the presence or absence of electrons injected into the floating gate. The word lines are commonly connected to the control gates of the memory cells. A page exists in each word line. Data reading and writing operations are performed per page. Therefore, a page is a unit of data reading and writing. Data is erased per block. Therefore, a block is a unit of data erasing. The NAND memory 11 of the first embodiment may be multi-level cell (MLC) capable of storing multibit data in a memory cell or single-level cell (SLC) capable of storing one-bit data in a memory cell MC.
The memory controller 12 controls the operation of the whole of the storage device 100 in accordance with a request from the host 20. For example, the memory controller 12 writes write data to a predetermined address of the NAND memory 11 in accordance with a write command which is a request to write data from the host 20. The memory controller 12 of the first embodiment further receives an extended request eCOM transmitted from the host 20 to confirm minimum power required for the operation of each of SSD0 to SSD9. The extended request eCOM is a signal transmitted on purpose to detect various states of the storage device 10 (for example, a state of power consumption of the storage device 10 in this case), and is defined as a signal different from the above-described write command, etc. The extended request eCOM is not limited to a command eCOM and may be any extended predetermined signal (information, request, instruction, etc.).
The memory controller 12 of each of SSD0 to SSD9 transmits a status signal ReS (P0′ to P9′) indicative of the minimum power required for the operation in reply to the received request eCOM. In the present embodiment, for example, the minimum power required for the operation is described in each status signal ReS (P0′ to P9′) by a predetermined parameter, etc. The signal transmitted in reply is not limited to the status signal ReS and may be any extended predetermined signal (information, request, instruction, etc.).
The memory controller 12 of each of SSD0 to SSD9 controls the power conversion unit 13 to operate based on the changed power component (P0″ to P9″) notified by the host 20. The operation will be described later in detail.
The power conversion unit 13 converts the power component (P0 to P9) supplied from the power supply unit 50 under the control of the memory controller 12. The storage device 10 performs a predetermined operation in accordance with the power supplied from the power conversion unit 13.
Of course, the storage devices 10 are not limited to the above-described structure. For example, each memory controller 12 may comprise an address mapping table indicative of a correspondence relationship between logical addresses managed by the host 20 and physical addresses managed by the storage device 10. There is no order as to which of the extended command eCOM and the extended status signal ReS should be transmitted first. That is, the extended predetermined signal may be first transmitted from the storage device 10 to the host 20 and then the extended predetermined signal may be transmitted from the host 20 to the storage device 10.
[Host]
The host 20 controls each storage device 10 in accordance with a request from the external devices 220 which access from the outside via the network 210. The host 20 comprises a data position management unit 21, a power distribution determination unit 23 and a central processing unit (CPU) 22.
The data position management unit 21 manages, for example, position information of write data stored in the storage devices 10 under the control of the CPU 22. The data position management unit 21 comprises a table (first table) T1. Table T1 indicates at least a power/performance characteristic of each of SSD0 to SSD9 as described later.
The power distribution determination unit 23 determines power to be distributed to each of SSD0 to SSD9 under the control of the CPU 22. More specifically, the power distribution determination unit 23 determines power components P0″ to P9″ to be redistributed to SSD0 to SSD9, respectively, based on the corrected characteristics PP0′ to PP9′ of the storage devices 10 transmitted from the CPU 22. The CPU 22 is notified of the determined power components P0″ to P9″.
The CPU 22 controls the data position management unit 21 and the power distribution determination unit 23 and controls the operation of the whole of the host 20.
Of course, the host 20 is not limited to the above-described structure. For example, the host 20 may comprise an interface to communicate with the storage devices 10, etc.
[1-3. Table T1]
Table T1 of the first embodiment is described in detail with reference to
As shown in
For example,
The performance (performance index) may include all operations and functions performed by the NAND memory 11 depending on the supplied power. For example, the performance of the NAND memory 11 may include data writing, data reading, data erasing, garbage collection (compaction), inputs/outputs per second (IPOS), megabytes per second (MB/s), etc. IPOS is the number of times data can be written to the NAND memory 11 per second. MB/s is a communication speed between the host 20 and the NAND memory 11. Power/performance characteristics PP1 to PP9 of the other SSD1 to SSD9 are the same as PP0.
Next, the operation of the storage system 100 of the first embodiment having the above structure is described.
[2-1. Distribution Power Determination Process] A distribution power determination process of the storage system 100 of the first embodiment is described with reference to
First, in step S11, the CPU 22 of the host 20 transmits an extended request (first request) eCOM to confirm the minimum power required for the operation of each of SSD0 to SSD9.
In step S12, the memory controller 12 of each storage device 10 transmits a status signal ReS (P0′ to P9′) indicative of the minimum power required for the operation in reply to the received request eCOM. For example, the memory controller 12 of SSD0 first detects the minimum power component P0′ required for the operation of the NAND memory 11 of SSD0 based on the relationship between the performance and power component P0 supplied to the NAND memory 11, in accordance with the received request eCOM. Next, the memory controller 12 of SSD0 transmits the detected minimum power component P0′ to the host 20 as a status signal ReS (P0′). A first parameter (identification information) to identify SSD0 to SSD9, which are the storage devices 10, is assigned to the status signal ReS. The first parameter is, for example, ID information uniquely assigned to each of SSD0 to SSD9.
In step S13, the CPU 22 of the host 20 corrects the power/performance characteristic of each SSD based on the transmitted status signal ReS (P0′ to P9′). More specifically, for example, the power distribution determination unit 23 of the host 20 increases the initial value of characteristic PP0 from the origin to P0′ based on the status signal ReS (P0′) indicative of the minimum power required for the operation of SSD0, as shown in
In step S14, as shown in
In step S15, the power distribution determination unit 23 of the host 20 calculates allowable power components P0″ to P4″ and P6″ to P9″ to be distributed to SSDs other than SSD5 under a load, i.e., SSD0 to SSD4 and SSD6 to SSD9, based on the corrected power/performance characteristics PP0′ to PP9′. More specifically, as shown in
In step S16, the power distribution determination unit 23 of the host 20 calculates power component P5″ changed to be supplied to SSD5 under a load, from the calculated allowable power components P0″ to P4″ and P6″ to P9″. More specifically, as shown in
In step S17, the host 20 notifies each of SSD0 to SSD9, which are the storage devices 10, of the changed power components P0″ to P9″ (second power) calculated by the host 20 as a power control command. More specifically, at least a first parameter (identification information) to identify SSD0 to SSD9, which are the storage devices 10, and a second parameter (power information) indicative of the changed power components P0″ to P9″ (second power) are described in the power control command. The first parameter is, for example, ID information uniquely assigned to each of SSD0 to SSD9. In this case, the host 20 checks the ID information and transmits the power control command to each of the storage devices 10 corresponding to the ID information assigned to the status signals ReS.
In step S18, SSD0 to SSD9 operate based on the notified changed power components P0″ to P9″. More specifically, the power conversion units 13 of SSD0 to SSD9 convert power components P0 to P9 (first power) supplied from the power supply unit 50 into power components P0″ to P9″ (second power) notified by the memory controllers 12.
As a result, the specified SSD5 operates based on power component P5″ (second power) which is greater than the previous power component P5 (first power). The other SSD0 to SSD4 and SSD6 to SSD9 operate based on power components P0″ to P4″ and P6″ to P9″ (second power) which have been obtained by subtracting the suppressible power from the previous power components P0 to P4 and P6 to P9 (first power) and are less than the previous power components P0 to P4 and P6 to P9 (first power).
As described above, according to the structure and operation of the storage system 100 of the first embodiment, at least the following effect (1) can be achieved.
(1) The efficiency of the system can be improved.
For example, if the host 20 determines that the larger load (larger power) is necessary for a specified SSD5, the host 20 transmits an extended command eCOM to ascertain the status and characteristic (in this case, the minimum power) of each of SSD0 to SSD9 (S11 in
According to the above-described structure and operation, the efficiency of the whole storage system 100 can be improved by intensively injecting allocatable power to SSD5 under a load to improve the processing capacity of SSD5.
For example, before the power is changed, SSD0 to SSD9 operate based on power components P0 to P9 almost evenly distributed under the control of the host 20 as shown in
Therefore, as shown in
As a result, according to the first embodiment, the processing capability of the storage devices 10 can be substantially hierarchical based on the supplied amount of power as shown in
In contrast to the first embodiment, a comparative example has a hierarchical structure constituted by several types of storage devices as shown in
In the hierarchical storage architecture as in the comparative example, however, physical device and interface are different depending on layer. Therefore, it is impossible to increase the speed of a specified storage device. In addition, even if data required to be frequently accessed is stored in the high-speed layer (higher layer), accesses do not necessarily center on only the data stored in the higher layer. As described above, the storage system of the comparative example has a disadvantage that the efficiency of the whole system is hardly improved after forming the hierarchical structure.
Next, the second embodiment is described with reference to
[Structure]
[Storage System]
The detailed structure of the storage system 100 of the second embodiment is described with reference to
In table (second table) T2 of the NAND memory 11, an actual characteristic (PP0′ to PP9′) of the storage device 10 is stored. For example, actual characteristic PP0′ of SSD0 is stored in table T2 of SSD0. Table T2 is updated by the memory controller 12 at arbitrary intervals. The storage location of table T2 is not limited to the NAND memory 11.
The self-performance determination unit 14 determines the performance of the storage device 10 under the control of the memory controller 12 and notifies the memory controller 12 of a result of the determination. For example, when receiving a command eCOM, the self-performance determination unit 14 of SSD0 refers to table T2 and determines the minimum power component P0′ required for the operation of SSD0 based on the actual characteristic PP0′. The self-performance determination unit 14 of SSD0 further notifies the memory controller 12 of the determined power component P0′.
Since the other structure is substantially the same as that of the first embodiment, the detailed description is omitted.
[Operation]
[Distribution Power Determination Process]
A distribution power determination process of the storage system 100 of the second embodiment having the above-described structure is described with reference to
In step S21, the CPU 22 of the host 20 transmits an extended command eCOM to each storage device 10 to detect the minimum power required for the operation of each SSD.
In step S22, in response to the command eCOM, the self-performance determination unit 14 of each storage device 10 refers to table T2 and determines the minimum power component (P0′ to P9′) required for the operation based on the actual characteristic (PP0′ to PP9′) stored in table T2.
In step S23, the self-performance determination unit 14 of each storage device 10 refers to table T2 and calculates performance (S0′ to S9′) expected from the calculated power component (P0′ to P9′) based on the characteristic (PP0′ to PP9′).
In step S24, the memory controller 12 of each storage device 10 transmits the calculated power component (P0′ to P9′) and the expected performance (S0′ to S9′) to the host 20 as a status signal ReS.
In step S25, the power distribution determination unit 23 of the host 20 determines allowable power components P0″ to P4″ and P6″ to P9″ and power component P5″ changed to be supplied to SSD5 under a load, based on the received status signals ReS (P0′ to P9′ and S0′ to S9′).
In step S26, the CPU 22 of the host 20 notifies the storage devices 10 of the determined power components P0″ to P9″.
In step S27, the storage devices 10 operate based on power components P0″ to P9″ notified by the host 20.
Since the other operation is substantially the same as that of the first embodiment, the detailed description is omitted.
[Effect and Advantage]
As described above, according to the structure and operation of the storage system 100 of the second embodiment, at least the same effect as the above-described effect (1) can be achieved. As described in the second embodiment, each storage device 10 may determine its own performance and power consumption.
Next, the third embodiment is described with reference to
[Structure and Operation]
As shown in
More specifically, in steps S14 and S15, the power distribution determination unit 23 of the host 20 calculates power components P0″ to P9″ based on characteristics PP0′ to PP9′. Next, the power distribution determination unit 23 calculates performances S0″ to S9″ expected from the calculated power components P0″ to P9″ based on the characteristics PP0′ to PP9′. The storage devices 10 are notified of the calculated performances S0″ to S9″ together with power components P0″ to P9″.
The host 20 may notify the storage devices 10 of the calculated performances S0″ to S9″ instead of power components P0″ to P9″. The performances S0″ to S9″ may be calculated by the storage devices 10 instead of the host 20.
Since the other structure and operation are substantially the same as those of the first and second embodiments, the detailed description is omitted.
[Effect and Advantage]
As described above, according to the structure and operation of the storage system 100 of the third embodiment, at least the same effect as the above-described effect (1) can be achieved. In addition, according to the third embodiment, the storage devices 10 can be directly controlled based on the required performances S0″ to S9″. Therefore, each required performance can be achieved more directly.
Next, the fourth embodiment is described with reference to
[Structure and Operation]
As shown in
For example, it is assumed that power supply unit 50A also supplies power to a storage system 100B different from storage system 100A. In such a case, when the operation of storage system 100B is stopped, there is a surplus of power Pmax supplied from power supply unit 50A. Therefore, when detecting the surplus power, the CPU 22 of the host 20 transmits a control signal CS50 to power supply unit 50A to increase the maximum value of power Pmax. When receiving the control signal CS50, power supply unit 50A increases the maximum value of power Pmax and supplies storage system 100A with the increased power under the control of the host 20.
Since the other structure and operation are substantially the same as those of the first to third embodiments, the detailed description is omitted.
[Effect and Advantage]
As described above, according to the structure and operation of the storage system 100 of the fourth embodiment, at least the same effect as the above-described effect (1) can be achieved. In addition, according to the fourth embodiment, the maximum value of total power Pmax supplied to storage system 100A can be changed and the value of power Pmax can be increased by the control signal CS50 notified to the power supply unit 50A by the host 20. Therefore, the fourth embodiment has an advantage that the efficiency of the system can be further improved.
The storage system is not limited to the first to fourth embodiments and may be changed as appropriate as described below.
[Structure and Operation]
The power consumption of the storage devices 10 is not necessarily determined by using the power/performance characteristics. For example, as shown in
In addition, the first to third tables T1 to T3 are described as an example, but the form is not limited to a table form. For example, a predetermined formula, function and the like may be used.
The means for distributing power is not limited to supplying a specified storage device with surplus allowable power subtracted from the total power Pmax, and may be changed as necessary. For example, the host 20 may distribute power to the storage devices 10 based on the status of all the storage devices 10 such that a specified process at a specified time is completed first.
The power consumed by the storage devices 10 is changed by not only the performance and the operation status of the storage devices 10 but also, for example, the environment (temperature, etc.) of the storage devices 10. Therefore, a temperature and an amount of heat of the storage devices 10 may also be detected as an index of the performance of the storage devices 10.
[Appearance]
An example of the appearance of the storage system which can be applied to the first to fourth embodiments and the modified example with reference to
As shown in
As shown in
For example, the storage devices 10 can be attached to the host 20 in a data center and a cloud computing system of an enterprise. The storage devices 10 can access an external device 220 such as an external server via the network 210 under the control of the host 20. Therefore, SSD0 to SSD9 may be enterprise SSDs (eSSDs).
For example, the host (host device) 20 comprises connectors (for example, slots) 30 opening upward. The connectors 30 are, for example, Serial Attached SCSI (SAS) connectors, etc. By using the SAS connectors, high-speed communication between the host 20 and each SSD 10 can be performed by a 6-Gbps dual port. The connector 30 is not limited to this and may be, for example, PCI Express (PCIe), NVM Express (NVMe) or the like.
SSD0 to SSD9 are attached to the connectors 30 of the host 20, respectively, and supported side by side while standing in the vertical direction. According to such alignment, SSD0 to SSD9 can be compactly mounted and the host 20 can be downsized. The shape of each of SSD0 to SSD9 is a 2.5-inch small form factor (SFF). By such an SET shape, SSD0 to SSD9 can achieve a shape compatible with an enterprise HDD (eHDD). Therefore, SSD0 to SSD0 can have easy system compatibility with eHDD.
The use of SSD0 to SSD0 is not limited for enterprises. For example, SSD0 to SSD9 can be of course applied as a storage medium of an electronic device for consumer such as a notebook computer and a tablet.
While certain embodiments have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel embodiments described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the embodiments described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fall within the scope and spirit of the inventions.
This application claims the benefit of U.S. Provisional Application No. 62/212,964, filed Sep. 1, 2015, the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
8032768 | Brundridge et al. | Oct 2011 | B2 |
8239701 | Day et al. | Aug 2012 | B2 |
8327166 | Day | Dec 2012 | B2 |
8418042 | Kanno | Apr 2013 | B2 |
8443263 | Selinger et al. | May 2013 | B2 |
8700932 | Belluomini et al. | Apr 2014 | B2 |
8738994 | Cho et al. | May 2014 | B2 |
9372529 | Klein | Jun 2016 | B1 |
20050067902 | Bemat | Mar 2005 | A1 |
20050144486 | Komarla | Jun 2005 | A1 |
20060053338 | Cousins | Mar 2006 | A1 |
20070168605 | Takai et al. | Jul 2007 | A1 |
20080266698 | Shibayama | Oct 2008 | A1 |
20090235042 | Petrocelli | Sep 2009 | A1 |
20090316541 | Takada | Dec 2009 | A1 |
20100057991 | Yoshida | Mar 2010 | A1 |
20100146333 | Yong | Jun 2010 | A1 |
20100332858 | Trantham | Dec 2010 | A1 |
20110191501 | Jang | Aug 2011 | A1 |
20110208911 | Taguchi | Aug 2011 | A1 |
20110258367 | Tanaka et al. | Oct 2011 | A1 |
20110314204 | Ootsuka et al. | Dec 2011 | A1 |
20130124888 | Tanaka | May 2013 | A1 |
20130232310 | Kruus | Sep 2013 | A1 |
20130318371 | Hormuth | Nov 2013 | A1 |
20140013050 | Matsukawa et al. | Jan 2014 | A1 |
20140101379 | Tomlin | Apr 2014 | A1 |
20140218767 | Hamaguchi | Aug 2014 | A1 |
20140379963 | Kazama | Dec 2014 | A1 |
20150309952 | Breakstone | Oct 2015 | A1 |
20150357005 | Shim | Dec 2015 | A1 |
20160041762 | Kanno | Feb 2016 | A1 |
Number | Date | Country |
---|---|---|
2011-28720 | Feb 2011 | JP |
2011-227664 | Nov 2011 | JP |
2013-89138 | May 2013 | JP |
2014-016733 | Jan 2014 | JP |
2014-186418 | Oct 2014 | JP |
Entry |
---|
Taiwanese Office Action dated Feb. 17, 2016 in corresponding Taiwanese application No. 103139433. |
Xiao-Yu Hu et al., “Write Amplification Analysis in Flash-Based Solid State Drives”, SYSTOR '09 Proceedings of SYSTOR 2009: The Israeli Experimental Systems Conference, May 4, 2009, ACM. |
Amber Huffman, “NVM Express 1.1”, Oct. 11, 2012 pp. 1-163, Intel Corporation. |
International Search Report and Written Opinon dated Nov. 2, 2015 in International Application No. PCT/IB2015/056002. |
Non-Final Office Action received in U.S. Appl. No. 14/817,625 dated Oct. 6, 2016. |
Number | Date | Country | |
---|---|---|---|
20170060208 A1 | Mar 2017 | US |
Number | Date | Country | |
---|---|---|---|
62212964 | Sep 2015 | US |