System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers

Information

  • Patent Grant
  • 11617282
  • Patent Number
    11,617,282
  • Date Filed
    Tuesday, October 1, 2019
    5 years ago
  • Date Issued
    Tuesday, March 28, 2023
    a year ago
Abstract
One embodiment provides a system and method for reshaping the power budget of a cabinet to facilitate an improved deployment density of servers. A battery cabinet comprises: a plurality of sealed batteries; a power outlet; and a power management module coupled to the sealed batteries and the power outlet. The power management module comprises: a power monitoring module configured to monitor a first amount of power consumed by one or more computing devices via a main power supply; a detection module configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold; and a power provision module configured to provide, via the sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold.
Description
BACKGROUND
Field

This disclosure is generally related to the field of data storage. More specifically, this disclosure is related to a system for reshaping the power budget of a cabinet for facilitating an improved deployment density of servers in the cabinet.


Related Art

The proliferation of the Internet and e-commerce continues to create a vast amount of digital content. Furthermore, given the current pace of development of infrastructure technology, deployed equipment (e.g., in data centers) continues to consume an increasing amount of power. For example, a data center cabinet can include multiple computing devices, such as servers, switches, and hard disks like just a bunch of disks (JBODs). Some application scenarios may result in high peak power consumption for a short period of time by the computing devices in the cabinet. The power consumed during such peak periods may not match the power allocated or budgeted to the cabinet. This can result in a power reset or a blow-out, which can significantly affect the reliability of the infrastructure, including the overall reliability of a data center.


SUMMARY

One embodiment provides a system and method for reshaping the power budget of a cabinet to facilitate an improved deployment density of servers. A battery cabinet comprises: a plurality of sealed batteries; a power outlet; and a power management module coupled to the sealed batteries and the power outlet. The power management module comprises: a power monitoring module configured to monitor a first amount of power consumed by one or more computing devices via a main power supply; a detection module configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold; and a power provision module configured to provide, via the sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold.


In some embodiments, the battery cabinet is part of a system comprising the battery cabinet and further comprises a plurality of server cabinets co-located with the battery cabinet, wherein a respective server cabinet includes at least one of the computing devices.


In some embodiments, the battery cabinet further comprises: a plurality of fans; and a modular uninterruptible power supply unit coupled to the power management module and configured to draw power from the sealed batteries and provide the drawn power via the power outlet to the one or more computing devices.


In some embodiments, a respective sealed battery comprises a plurality of parallel battery strings, and a respective battery string comprises: battery cells; a plurality of pairs comprised of the battery cells and corresponding switches, wherein the plurality of pairs is coupled to a ground, and wherein a first battery cell and a corresponding first switch comprise a respective pair in the plurality of pairs; and a voltage regulator module coupled to the plurality of pairs. The first switch is configured to bypass the first battery cell in response to a failure of the first battery cell.


In some embodiments, the battery cells comprise functioning battery cells from retired batteries. A respective retired battery is previously used in one or more of: an industrial context; an electric vehicle; a hybrid vehicle; and a manner which leaves some non-functioning battery cells and at least one functioning battery cell in the respective retired battery.


In some embodiments, the detection module is further configured to determine a predetermined period of low power consumption. In response to the detection module determining the predetermined period of low power consumption, the power provision module is further configured to charge the sealed batteries by pulling power from the main power supply.


In some embodiments, the predetermined period of low power consumption corresponds to a least expensive electricity rate.


In some embodiments, in response to the detection module determining the predetermined period of low power consumption, the power provision module is further configured to charge the sealed batteries by pulling power from the main power supply and from a renewable power supply.


In some embodiments, the renewable power supply includes one or more of: wind power; rainfall power; water-related power; solar energy; and tidal power.


In some embodiments, the renewable power supply is generated from a source which is located within a predetermined distance from the battery cabinet.


One embodiment provides a data center. The data center comprises: a plurality of battery cabinets; a plurality of server cabinets coupled to at least one of the battery cabinets; a processor; and a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method. A respective battery cabinet comprises a plurality of sealed batteries and a power management module which is coupled to the plurality of sealed batteries and a power outlet. A respective server cabinet comprises a plurality of computing devices. The method comprises: monitoring a first amount of power consumed by one or more computing devices via a main power supply; detecting that the first amount of power consumption exceeds a predetermined power consumption threshold; and providing, via the plurality of sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold.





BRIEF DESCRIPTION OF THE FIGURES


FIG. 1 illustrates an exemplary server cabinet, in accordance with the prior art.



FIG. 2A illustrates an exemplary pod or group of computing devices in a data center, including a battery cabinet which provides additional power to co-located server cabinets, in accordance with an embodiment of the present application.



FIG. 2B illustrates an exemplary battery cabinet corresponding to FIG. 2A, in accordance with an embodiment of the present application.



FIG. 2C illustrates an exemplary battery cabinet corresponding to FIG. 2A, in accordance with an embodiment of the present application.



FIG. 3 illustrates an assembly of an exemplary sealed battery, in accordance with an embodiment of the present application.



FIG. 4 illustrates an internal architecture for an exemplary sealed battery, in accordance with an embodiment of the present application.



FIG. 5 illustrates a diagram depicting the charging and discharging of the sealed batteries in a battery cabinet, in accordance with an embodiment of the present application.



FIG. 6 illustrates exemplary low-cost charging from renewable energy sources, in accordance with an embodiment of the present application.



FIG. 7A presents a flowchart illustrating a method for reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers, in accordance with an embodiment of the present application.



FIG. 7B presents a flowchart illustrating a method for reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers, including charging and discharging by the battery cabinet, in accordance with an embodiment of the present application.



FIG. 8 illustrates an exemplary computer system that facilitates reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers and storage device that facilitates data placement, in accordance with an embodiment of the present application.





In the figures, like reference numerals refer to the same figure elements.


DETAILED DESCRIPTION

The following description is presented to enable any person skilled in the art to make and use the embodiments, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present disclosure. Thus, the embodiments described herein are not limited to the embodiments shown, but are to be accorded the widest scope consistent with the principles and features disclosed herein.


Overview


The embodiments described herein facilitate an improved deployment density of servers (e.g., in a data center) by providing a battery cabinet co-located with associated server cabinets (e.g., in a data center pod).


As described above, the equipment deployed in a data center continues to consume an increasing amount of power. A data center cabinet can include multiple computing devices, such as servers, switches, and hard disks. Some application scenarios may result in high peak power consumption for a short period of time by the computing devices in the cabinet. The power consumed during such peak periods may not match the power allocated or budgeted to the cabinet. This can result in a power reset or a blow-out, which can significantly affect the reliability of the infrastructure, including the overall reliability of a data center.


Current approaches to addresses these challenges involve deploying equipment in data center cabinets while seeking to maintain a margin which allows the power budget to tolerate the peak power caused by certain application scenarios. However, as the power consumption of a single server continues to increase, fewer servers can be deployed for service using the current method of maintaining the margin. This can result in a low efficiency of cabinet utilization, as described below in relation to FIG. 1. Furthermore, in current power deployment methods, the average power budget per cabinet may be significantly greater than what is actually needed by a single cabinet. Thus, the over-budgeted power can result in a waste of the power supply, and the low-efficiency cabinet utilization can lead to a high total cost of operation (TCO).


The embodiments described herein address these challenges by providing a battery cabinet co-located with server cabinets in a data center pod. The battery cabinet can both improve the power utilization efficiency and decrease the TCO. The battery cabinet can include sealed batteries, a power outlet, and a power management module, as described below in relation to FIGS. 2B and 2C. The power management module can include a power monitoring module, a detection module, and a power provision module. The power monitoring module is configured to monitor a first amount of power consumed by one or more computing devices via a main power supply. The detection module is configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold. The power provision module is configured to provide, via the sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold.


Thus, by placing the battery cabinet in the same pod as the server cabinets (where a server cabinet can include a plurality of various computing devices), the embodiments described herein provide a system which reshapes the power budget of a respective server cabinet of the pod to enable an improved deployment density of servers.


A “storage server” refers to a computing device which can include multiple storage drives. A distributed storage system can include multiple storage servers. A “storage drive” refers to a device or a drive with a non-volatile memory which can provide persistent storage of data, e.g., a solid state drive (SSD) or a hard disk drive (HDD).


A “battery cabinet” refers to a physical unit which includes: sealed batteries; a power outlet; and a power management module, as described herein.


A “server cabinet” refers to a physical unit which includes one or more computing devices. In some embodiments, a server cabinet can refer to a logical unit associated with one or more computing devices.


A “pod” refers to a group of computing devices (such as network, compute, storage, and application components) that can work together to deliver networking/storage services. A pod can reside in a data center, and can include a battery cabinet and a plurality of server cabinets.


The “power consumed by a server cabinet” refers to the power consumed by one or more computing devices of the server cabinet. Similarly, the “allocated power budget for a server cabinet” refers to the amount of power allocated or budgeted to one or more computing devices of the server cabinet.


Exemplary Server Cabinet in the Prior Art



FIG. 1 illustrates an exemplary server cabinet 100, in accordance with the prior art. As described above, the current deployment of equipment in a data center cabinet (such as server cabinet 100) can result in a low-efficiency cabinet utilization due to attempts to achieve the goal of maintaining a margin which allows the power budget to tolerate the peak power caused by certain application scenarios. However, as the power consumption of a single server continues to increase, fewer servers can be deployed for service using the current method of maintaining the margin. This can result in a low efficiency of cabinet utilization. For example, server cabinet 100 can include: two access switches 102 and 104; servers 112, 114, and 116; and a large amount of empty space 122, which can be used as a wind shield to ensure isolation between a cold aisle and a hot aisle in the data center. That is, wind shield 122 can effectuate the flow of cold air through server cabinet 100 to sufficiently cool down or negate any temperature changes due to the energy consumed by servers 112-116.


Furthermore, server cabinet 100 depicts the low-utilization of the cabinet. As the power consumption of each single server continues to increase, current systems may need to allocate an average power budget per cabinet that is significantly greater than what is actually needed by a single cabinet. This can result in a waste of power supply. Moreover, the system cannot maintain the necessary margin for allowing the allocated power to tolerate peak power and also increase the number of servers in the cabinet. As depicted in server cabinet 100, only three servers may reside in the cabinet. This low utilization can lead to a decreased TCO, especially in light of the increasing amount of network data/traffic in today's data centers and the ability to handle growth by scaling up.


Exemplary Pod or Group of Computing Devices in a Data Center



FIG. 2A illustrates an exemplary pod (or group) 200 of computing devices in a data center, including a battery cabinet which provides additional power to co-located server cabinets, in accordance with an embodiment of the present application. Pod 200 can include: a hot aisle 202; a first row of cabinets, including a battery cabinet 210 and associated server cabinets 212, 214, 216, and 218; a cold aisle 204; a second row of cabinets, including a battery cabinet 220 and associated server cabinets 222, 224, 226, and 228; a hot aisle 206; and a gate 208. Server cabinets 212-218 can be associated with battery cabinet 210, and server cabinets 222-228 can be associated with battery cabinet 220.


The battery cabinet in each row can detect when the power consumed by an associated server cabinet (or group of server cabinets) exceeds the allocated power budget for the server cabinet (or group of server cabinets). The battery cabinet can then supply the necessary power required by the associated server cabinet (or group of server cabinets) until the consumed power no longer exceeds the allocated power budget. For example, battery 210 can detect when the power consumed by associated server cabinet 212 (or any or all of server cabinets 212-218) exceeds a predetermined power consumption threshold (i.e., an amount of power allocated or budgeted to server cabinet 212 (or any or all of cabinets of 212-218). Subsequently, battery cabinet 212 can provide power to associated server cabinet 212 (or any or all of cabinets 212-218) until the power consumed no longer exceeds the predetermined power consumption threshold. Exemplary battery cabinets and their constituent modules for performing these operations are described below in relation to FIGS. 2B and 2C.


Exemplary Battery Cabinets



FIG. 2B illustrates an exemplary battery cabinet 230 corresponding to FIG. 2A, in accordance with an embodiment of the present application. Battery cabinet 230 can correspond to, e.g., battery cabinet 210 or battery cabinet 220 of FIG. 2A. Battery cabinet 230 can include: a plurality of fans 232, 234, 236, 238, 240, and 242; an electrical distribution module 244; a management and monitoring module 246; a modular uninterruptible power supply (UPS) 248; and a plurality of sealed batteries 252, 254, 256, and 258.


Electrical distribution module 244 can be configured to provide power to one or more computing devices of a server cabinet(s). Management and monitoring module 246 can be configured to monitor a first amount of power consumed by the one or more computing devices of the server cabinet(s), and can be further configured to detect when that monitored first amount of power exceeds a predetermined power consumption threshold (i.e., an amount of power budgeted to the server cabinet(s)). Management and monitoring module 246 can also be configured to monitor the status or health condition of sealed batteries 252-258, as each sealed battery can be pluggable for efficient replacement and migration. Modular UPS 248 can be configured to draw power from sealed batteries 252-258 and provide the drawn power to the one or more computing devices of the server cabinet(s). An exemplary assembly for a sealed battery is described below in relation to FIG. 3.



FIG. 2C illustrates an exemplary battery cabinet 260 corresponding to FIG. 2A, in accordance with an embodiment of the present application. Battery cabinet 260 can correspond to, e.g., battery cabinet 210 or battery cabinet 220 of FIG. 2A. Battery cabinet 260 can include: a plurality of fans 262, 264, 266, and 268; a power management module 280; a modular UPS 274; a plurality of sealed batteries 282, 284, 286, and 288; and a power outlet 290.


Power management module 280 can include: a power provision module 282; a power monitoring module 284; and a detection module 286. Power monitoring module 284 can be configured to monitor a first amount of power consumed by one or more computing devices via a main supply (not shown). Detection module 286 can be configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold. Power provision module 282 can be configured to provide, via the sealed batteries, power to power outlet 290 until the first amount of power consumption no longer exceeds the predetermined power consumption threshold. Modular UPS 274 can be coupled to power management module 280 and configured to draw power from sealed batteries 282-288 and provide the drawn power via power outlet 290 to one or more computing devices of the associated server cabinet(s).


Power provision module 282 can correspond to electrical distribution module 244 of FIG. 2B. Power monitoring module 284 and detection module 286 can correspond to management and monitoring module 246 of FIG. 2B. Power outlet 290 can be coupled in a manner which provides power to an associated server cabinet(s), such as server cabinet 212 (or any or all of server cabinets 212-218) of FIG. 2A.


Exemplary Sealed Batteries: Assembly and Battery Strings



FIG. 3 illustrates an assembly of an exemplary sealed battery 390, in accordance with an embodiment of the present application. In the embodiments described herein, the system can use functioning battery cells from retired batteries to assemble sealed battery 390. Retired batteries are batteries previously used in, e.g., an industrial context, an electric vehicle, a hybrid vehicle, and any manner which leaves some non-functioning battery cells and at least one functioning battery cell in the retired battery. In some industries, a battery that no longer satisfies a strict requirement for a specific industry (such as the automobile industry, which can require a high safety margin for batteries used in operating moving vehicles) may be retired and replaced by a new battery. Such as battery can be referred to as a “retired battery.” However, a retired battery may include some non-functioning battery cells and some functioning battery cells. A worker in a facility can open a retired battery, test the battery cells of the retired battery to identify functioning and non-functioning battery cells, sort out the functioning battery cells, and assemble a sealed battery by removing the functioning battery cells from the retired battery and placing the functioning battery cells into the sealed battery.


In assembling sealed battery 390, the functioning battery cells of retired battery 310 and retired battery 350 can be removed from the respective retired batteries and placed into sealed battery 390. In retired batteries 310 and 350, non-functioning battery cells are denoted with a bold “X” (e.g., battery cells 312, 318, 324, etc.) while functioning battery cells do not have any special marking. For example, functioning battery cells 320 and 330 of retired battery 310 can be removed from retired battery 310 and placed into sealed battery 390. Similarly, functioning battery cells 356 and 376 can be removed from retired battery 350 and placed into sealed battery 390.



FIG. 4 illustrates an exemplary internal architecture 400 for a sealed battery (such as sealed battery 390 of FIG. 3), in accordance with an embodiment of the present application. Sealed battery 390 can maintain its capacity through a plurality of parallel battery strings. Each battery string can include a voltage regulator module and pairs of battery cells and corresponding switches. The voltage regulator module is configured to stabilize the output voltage from the battery cells with a controlled vibration. The pairs can be coupled to the ground. In order to prevent accidents which can be caused by the failure of a battery cell, the system can use the switch in each pair of a switch and a battery cell. That is, within a respective pair comprising a first battery cell and a corresponding first switch, the first switch is configured to bypass the first battery cell in response to a failure of the first battery cell. This allows the entire sealed battery to continue providing a consistent power supply with a stable voltage to the associated server cabinet(s) (e.g., the server cabinets in a same pod as the battery cabinet).


In FIG. 4, architecture 400 of sealed battery 390 can include a plurality of battery strings 410, 430, and 450. Battery string 410 can include: a voltage regulator module 411; a pair including a battery cell 412 and a corresponding switch 414; a pair including a battery cell 416 and a corresponding switch 418; a pair including a battery cell 420 and a switch 422; and a ground 424. Similar, battery string 430 can include: a voltage regulator module 431; a pair including a battery cell 432 and a corresponding switch 434; a pair including a battery cell 436 and a corresponding switch 438; a pair including a battery cell 440 and a switch 442; and a ground 444. In addition, battery string 450 can include: a voltage regulator module 451; a pair including a battery cell 452 and a corresponding switch 454; a pair including a battery cell 456 and a corresponding switch 458; a pair including a battery cell 460 and a switch 462; and a ground 464. As an example, switch 418 can be configured to bypass corresponding battery cell 416 in response to a failure of battery cell 416.


Exemplary Charging and Discharging of Sealed Batteries in Battery Cabinet



FIG. 5 illustrates a diagram 500 depicting the charging and discharging of the sealed batteries in a battery cabinet, in accordance with an embodiment of the present application. In diagram 500, the x-axis indicates a time 504 and the y-axis indicates a power 502 (e.g., the power consumed by the computing devices of a particular cabinet(s) at a given time). The amount of power allocated or budgeted to the cabinet is indicated by the horizontal dashed line (cabinet power budget/allocated power 512, also referred to as a “predetermined power consumption threshold”). The amount of power consumed by the cabinet is indicated by the curving line (power consumed by cabinet 514, also referred to as “power consumption”).


In the embodiments described herein, the system can monitor the power consumption, and detect when the power consumption exceeds the predetermined power consumption threshold. The system can then provide, via the sealed batteries, power to the cabinet (via, e.g., power outlet 290 of battery cabinet 260 of FIG. 2C), until the power consumption no longer exceeds the predetermined power consumption threshold. This power provision is indicated in two areas in diagram 500: a discharge 522 (also indicated on the x-axis for time 504 as 522); and a discharge 526 (also indicated on the x-axis for time 504 as 526). This allows the cabinets to continue normal operation during peak power usage times 522 and 526 by using the additional power supplied by the associated battery cabinet.


In addition to providing power or charge to the computing devices of the associated cabinet server(s) during peak power usage times 522 and 526, the system can also determine a period of low power consumption and charge the sealed batteries by pulling power from a main power supply (indicated on the x-axis for time as a charge 524). The period of low power consumption can be predetermined and can correspond to, e.g., a time period with a lowest electricity rate 528, or a time period with an electricity rate which is on the lower range (or a predetermined lower range) of rates charged for using power from the national grid.


Furthermore, in addition to pulling from the main power supply to recharge the sealed batteries, the system can also or alternatively pull power from a renewable power supply, such as: wind power; rainfall power; water-related power; solar energy; and tidal power. One advantage to using renewable energy is the low cost, in comparison to using power from the national grid. However, because the quality of renewable energy is not stable (e.g., wind and tidal power cannot be accurately predicted or consistent), renewable energy may not meet the strict requirements for acceptance of usage on the national grid. For example, wind and tidal power cannot be sent through long distances for a broad range of users. A data center which consumes a large amount of power and is located close to a renewable energy plant (such as a wind or tidal power plant) can provide a practical means to efficiently utilize the renewable energy. Thus, the renewable power supply can be generated from a source which is located within a predetermined distance from the battery cabinet. A close proximity may allow clean energy (such as wind and tide) to provide additional cooling effects for a reduced power usage effectiveness (PUE).


Either the power plant or the data center can be built first. The closely located power plant can supply either or both the main supply and the renewable energy. The system can use a predetermined ratio of these two types of energy to charge the sealed batteries. The ratio can be further based on one or more of: a currently monitored amount of power consumption; a currently available amount of renewable energy; an amount of renewable energy predicted to be produced or stored, based on weather, climate, geological reports, etc.


Renewable Energy Sources



FIG. 6 illustrates exemplary low-cost charging 600 from renewable energy sources, in accordance with an embodiment of the present application. Charging 600 depicts a vcharge low cost 624 and a vcharge normal 622, both of which can provide power to sealed batteries 602, 604, and 606. Vcharge low cost 624 can include several renewable energy sources: a wind/rainfall power 632; a tidal power 634; and a solar power 636. Vcharge normal 622 can be provided via a main power supply, such as from a national grid (not shown). In addition, sealed batteries 602-606 can provide power to computing devices of an associated cabinet(s) via a voltage supply 626.


Thus, by using both vcharge low cost 624 (from the renewable energy sources) and vcharge normal 622 (from a main power supply), the embodiments described herein can save a significant amount in terms of cost, in comparison to using only the electric power rate charged for energy pulled only from the national grid (i.e., vcharge normal 622).


Exemplary Method for Reshaping Power Budget of a Server Cabinet



FIG. 7A presents a flowchart 700 illustrating a method for reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers, in accordance with an embodiment of the present application. During operation, the system (or a human user of the system) assembles a plurality of sealed batteries, wherein a respective sealed battery comprises a plurality of parallel battery strings, and wherein a respective battery string comprises: battery cells; a plurality of pairs comprised of the battery cells and corresponding switches, wherein the plurality of pairs is coupled to a ground, and wherein a first battery cell and a corresponding first switch comprise a respective pair in the plurality of pairs; and a voltage regulator module coupled to the plurality of pairs (operation 702). In the respective sealed battery, the battery cells comprise functioning battery cells from retired batteries, and a respective retired battery is previously used in one or more of: an industrial context; an electric vehicle; a hybrid vehicle; and a manner which leaves some non-functioning battery cells and at least one functioning battery cell in the respective retired battery, as described above in relation to FIG. 3.


In the respective pair comprised of the first battery cell and the corresponding first switch, the system configures the first switch to bypass the first battery cell in response to a failure of the first battery cell (operation 704). The system assembles a battery cabinet, which comprises: the assembled plurality of sealed batteries; a power outlet; a plurality of fans; a power management module coupled to the sealed batteries and the power outlet; and a modular uninterruptible power supply unit configured to draw power from the sealed batteries and provide the drawn power via the power outlet to one or more computing devices (operation 706). The system couples the power management module to the sealed batteries and the power outlet, and also couples the power outlet to the one or more computing devices (not shown).


The system assembles a system comprising the battery cabinet and a plurality of server cabinets co-located with the battery cabinet (operation 708). The battery cabinet can be associated with the computing devices of the co-located server cabinets, e.g., as part of a single data center pod. The computing devices can be located in the plurality of server cabinets.


The system monitors a first amount of power consumed by the one or more computing devices via a main power supply (operation 710). If the system detects that the first amount of power consumption does not exceed a predetermined power budget for the cabinet (decision 712), the operation returns to operation 710. The predetermined power budget is the amount of power allocated to or budgeted to the computing devices of a server cabinet (or group of server cabinets) associated with a battery cabinet. The predetermined power budget can also be referred to as the “predetermined power consumption threshold.” If the system detects that the first amount of power consumption exceeds the predetermined power budget for the cabinet (decision 712), the operation continues at Label A of FIG. 7B.



FIG. 7B presents a flowchart 720 illustrating a method for reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers, including charging and discharging by the battery cabinet, in accordance with an embodiment of the present application. During operation, the system provides, via the plurality of sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold (operation 722). The system determines a predetermined period of low power consumption, wherein the predetermined period of low power consumption corresponds to a least expensive electricity rate (operation 724). The system charges the sealed batteries by pulling power from a main power supply and/or from a renewable power supply, wherein the renewable power supply includes one or more of: wind power; rainfall power; water-related power; solar energy; and tidal power (operation 726). As described above in relation to FIGS. 5 and 6, the renewable power supply can be generated from a source which is located within a (close) predetermined distance from the battery cabinet, associated server cabinet(s), pod, or data center.


In response to detecting a loss of power from the main power supply, the system initiates usage of a global uninterruptible power supply (UPS) unit while starting up a petroleum-based backup generator (operation 728). In response to successfully starting up the backup generator, the system ceases the usage of the global UPS unit and initiates usage of the backup generator to supply the main power to the system (operation 730).


Exemplary Computer System



FIG. 8 illustrates an exemplary computer system 800 that facilitates reshaping the power budget of a server cabinet to facilitate an improved deployment density of servers, in accordance with an embodiment of the present application. Computer system 800 includes a processor 802, a controller 804, a volatile memory 806, and a storage device 808. Volatile memory 806 can include, e.g., random access memory (RAM), that serves as a managed memory, and can be used to store one or more memory pools. Storage device 808 can include persistent storage which can be managed or accessed via processor 802 or controller 804. Furthermore, computer system 800 can be coupled to peripheral input/output (I/O) user devices 810, e.g., a display device 811, a keyboard 812, and a pointing device 814. Storage device 808 can store an operating system 816, a content-processing system 818, and data 832.


Content-processing system 818 can include instructions, which when executed by computer system 800, can cause computer system 800 to perform methods and/or processes described in this disclosure. Specifically, content-processing system 818 can include instructions for receiving and transmitting data packets, including data to be read or written, an input/output (I/O) request (e.g., a read request or a write request), and data associated with an I/O request (communication module 820).


Content-processing system 818 can include instructions for monitoring a first amount of power consumed by one or more computing devices via a main power supply (power monitoring module 822). Content-processing system 818 can include instructions for detecting that the first amount of power consumption exceeds a predetermined power consumption threshold (detection module 824). Content-processing system 818 can include instructions for providing, via a plurality of sealed batteries, power to a power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold (power provision module 826).


Content-processing system 818 can include instructions for, in response to determining a predetermined period of low power consumption (low power management module 830), charging the sealed batteries by pulling power from the main power supply and/or a renewable power supply (power charging module 828).


Data 832 can include any data that is required as input or generated as output by the methods and/or processes described in this disclosure. Specifically, data 832 can store at least: data; a request; a read request; a write request; an input/output (I/O) request; data associated with a read request, a write request, or an I/O request; an amount of power consumed by one or more computing devices; a predetermined power consumption threshold; an allocated power budget for a cabinet(s); an indicator of a pod or group of cabinets, including a battery cabinet and one or more server cabinets with one or more computing devices; an indicator of a power outlet, a fan, or a sealed battery; an indicator of a battery string, a voltage regulator module, and a pair of a battery cell and a corresponding switch; an indicator of a failure of a battery cell; an indicator of whether or not a battery cell from a retired battery is functioning; an indicator of a main power supply or a renewable power supply; a type of renewable power supply; a ratio of main power to renewable power to be used; a time period; an electricity rate; a least expensive electricity rate; an indicator of a period of charging or discharging for a sealed battery; a period of discharge; a peak period; and a period of highest power consumption which exceeds the predetermined power consumption threshold.


The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. The computer-readable storage medium includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer-readable media now known or later developed.


The methods and processes described in the detailed description section can be embodied as code and/or data, which can be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and/or data stored on the computer-readable storage medium, the computer system performs the methods and processes embodied as data structures and code and stored within the computer-readable storage medium.


Furthermore, the methods and processes described above can be included in hardware modules. For example, the hardware modules can include, but are not limited to, application-specific integrated circuit (ASIC) chips, field-programmable gate arrays (FPGAs), and other programmable-logic devices now known or later developed. When the hardware modules are activated, the hardware modules perform the methods and processes included within the hardware modules.


The foregoing embodiments described herein have been presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the embodiments described herein to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the embodiments described herein. The scope of the embodiments described herein is defined by the appended claims.

Claims
  • 1. A battery cabinet, comprising: a plurality of sealed batteries;a power outlet; anda power management module coupled to the sealed batteries and the power outlet, the power management module comprising: a power monitoring module configured to monitor a first amount of power consumed by one or more computing devices via a main power supply;a detection module configured to detect that the first amount of power consumption exceeds a predetermined power consumption threshold; anda power provision module configured to provide, via the sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold,wherein the detection module is further configured to determine a predetermined period of low power consumption, andwherein in response to the detection module determining the predetermined period of low power consumption, the power provision module is further configured to charge the sealed batteries by pulling power from the main power supply and from a renewable power supply based on a predetermined ratio between the main power supply and the renewable power supply.
  • 2. The battery cabinet of claim 1, wherein the battery cabinet is part of a system comprising the battery cabinet and further comprising: a plurality of server cabinets co-located with the battery cabinet, wherein a respective server cabinet includes at least one of the computing devices.
  • 3. The battery cabinet of claim 1, further comprising: a plurality of fans; anda modular uninterruptible power supply unit coupled to the power management module and configured to draw power from the sealed batteries and provide the drawn power via the power outlet to the one or more computing devices.
  • 4. The battery cabinet of claim 1, wherein a respective sealed battery comprises a plurality of parallel battery strings, and wherein a respective battery string comprises: battery cells;a plurality of pairs comprised of the battery cells and corresponding switches, wherein the plurality of pairs is coupled to a ground, and wherein a first battery cell and a corresponding first switch comprise a respective pair in the plurality of pairs; anda voltage regulator module coupled to the plurality of pairs,wherein the first switch is configured to bypass the first battery cell in response to a failure of the first battery cell.
  • 5. The battery cabinet of claim 4, wherein the battery cells comprise functioning battery cells from retired batteries, wherein a respective retired battery is previously used in one or more of: an industrial context;an electric vehicle;a hybrid vehicle; anda manner which leaves some non-functioning battery cells and at least one functioning battery cell in the respective retired battery.
  • 6. The battery cabinet of claim 1, wherein the predetermined period of low power consumption corresponds to a least expensive electricity rate.
  • 7. The battery cabinet of claim 1, wherein the renewable power supply includes one or more of: wind power;rainfall power;water-related power;solar energy; andtidal power.
  • 8. The battery cabinet of claim 1, wherein the renewable power supply is generated from a source which is located within a predetermined distance from the battery cabinet.
  • 9. A computer-implemented method, comprising: monitoring a first amount of power consumed by one or more computing devices via a main power supply;detecting that the first amount of power consumption exceeds a predetermined power consumption threshold;providing, via a plurality of sealed batteries, power to a power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold;determining a predetermined period of low power consumption; andin response to determining the predetermined period of low power consumption, charging the sealed batteries by pulling power from the main power supply and from a renewable power supply based on a predetermined ratio between the main power supply and the renewable power supply,wherein monitoring, detecting, providing, determining, and charging are performed by a power management module of a battery cabinet, wherein the power management module is coupled to the sealed batteries and the power outlet.
  • 10. The method of claim 9, wherein the battery cabinet is part of a system comprising the battery cabinet and further comprising: a plurality of server cabinets co-located with the battery cabinet, wherein a respective server cabinet includes at least one of the computing devices.
  • 11. The method of claim 9, wherein prior to monitoring the first amount of power, the method further comprises: assembling the plurality of sealed batteries, wherein a respective sealed battery comprises a plurality of parallel battery strings;assembling the battery cabinet, which comprises: the assembled plurality of sealed batteries;the power outlet;a plurality of fans;a power management module configured to perform the monitoring, detecting, and providing, wherein the power management module is coupled to the sealed batteries and the power outlet; anda modular uninterruptible power supply unit coupled to the power management module and configured to draw power from the sealed batteries and provide the drawn power via the power outlet to the one or more computing devices;coupling the power management module to the sealed batteries and the power outlet; andcoupling the power outlet to the one or more computing devices.
  • 12. The method of claim 11, wherein a respective battery string comprises: battery cells;a plurality of pairs comprised of the battery cells and corresponding switches, wherein the plurality of pairs is coupled to a ground, and wherein a first battery cell and a corresponding first switch comprise a respective pair in the plurality of pairs; anda voltage regulator module coupled to the plurality of pairs,wherein the first switch is configured to bypass the first battery cell in response to a failure of the first battery cell.
  • 13. The method of claim 12, wherein the battery cells comprise functioning battery cells from retired batteries, wherein a respective retired battery is previously used in one or more of: an industrial context;an electric vehicle;a hybrid vehicle; anda manner which leaves some non-functioning battery cells and at least one functioning battery cell in the respective retired battery.
  • 14. The method of claim 9, wherein the predetermined period of low power consumption corresponds to a least expensive electricity rate.
  • 15. The method of claim 9, wherein the renewable power supply includes one or more of: wind power;rainfall power;water-related power;solar energy; andtidal power.
  • 16. The method of claim 9, wherein the renewable power supply is generated from a source which is located within a predetermined distance from the battery cabinet.
  • 17. A data center, comprising: a plurality of battery cabinets, wherein a respective battery cabinet comprises a plurality of sealed batteries and a power management module which is coupled to the plurality of sealed batteries and a power outlet;a plurality of server cabinets coupled to at least one of the battery cabinets, wherein a respective server cabinet comprises a plurality of computing devices;a processor; anda memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method, the method comprising: monitoring a first amount of power consumed by one or more computing devices via a main power supply;detecting that the first amount of power consumption exceeds a predetermined power consumption threshold;providing, via the plurality of sealed batteries, power to the power outlet until the first amount of power consumption no longer exceeds the predetermined power consumption threshold;determining a predetermined period of low power consumption; andin response to determining the predetermined period of low power consumption, charging the sealed batteries by pulling power from the main power supply and from a renewable power supply based on a predetermined ratio between the main power supply and the renewable power supply.
US Referenced Citations (365)
Number Name Date Kind
3893071 Bossen Jul 1975 A
4562494 Bond Dec 1985 A
4718067 Peters Jan 1988 A
4858040 Hazebrouck Aug 1989 A
5394382 Hu Feb 1995 A
5602693 Brunnett Feb 1997 A
5715471 Otsuka Feb 1998 A
5732093 Huang Mar 1998 A
5802551 Komatsu Sep 1998 A
5930167 Lee Jul 1999 A
6098185 Wilson Aug 2000 A
6148377 Carter Nov 2000 A
6457104 Tremaine Sep 2002 B1
6658478 Singhal Dec 2003 B1
6795894 Neufeld Sep 2004 B1
7351072 Muff Apr 2008 B2
7599139 Bombet Oct 2009 B1
7953899 Hooper May 2011 B1
7958433 Yoon Jun 2011 B1
8024719 Gorton, Jr. Sep 2011 B2
8085569 Kim Dec 2011 B2
8144512 Huang Mar 2012 B2
8166233 Schibilla Apr 2012 B2
8281061 Radke Oct 2012 B2
8527544 Colgrove Sep 2013 B1
8819367 Fallone Aug 2014 B1
8832688 Tang Sep 2014 B2
8868825 Hayes Oct 2014 B1
8904061 O'Brien, III Dec 2014 B1
9015561 Hu Apr 2015 B1
9031296 Kaempfer May 2015 B2
9129628 Fallone Sep 2015 B1
9141176 Chen Sep 2015 B1
9208817 Li Dec 2015 B1
9213627 Van Acht Dec 2015 B2
9213632 Song Dec 2015 B1
9251058 Nellans Feb 2016 B2
9258014 Anderson Feb 2016 B2
9311939 Malina Apr 2016 B1
9336340 Dong May 2016 B1
9436595 Benitez Sep 2016 B1
9495263 Pang Nov 2016 B2
9529670 O'Connor Dec 2016 B2
9569454 Ebsen Feb 2017 B2
9575982 Sankara Subramanian Feb 2017 B1
9607631 Rausch Mar 2017 B2
9671971 Trika Jun 2017 B2
9722632 Anderson Aug 2017 B2
9747202 Shaharabany Aug 2017 B1
9830084 Thakkar Nov 2017 B2
9836232 Vasquez Dec 2017 B1
9852076 Garg Dec 2017 B1
9875053 Frid Jan 2018 B2
9910705 Mak Mar 2018 B1
9912530 Singatwaria Mar 2018 B2
9923562 Vinson Mar 2018 B1
9933973 Luby Apr 2018 B2
9946596 Hashimoto Apr 2018 B2
10199066 Feldman Feb 2019 B1
10229735 Natarajan Mar 2019 B1
10235198 Qiu Mar 2019 B2
10268390 Warfield Apr 2019 B2
10318467 Barzik Jun 2019 B2
10361722 Lee Jul 2019 B2
10417086 Lin Sep 2019 B2
10432017 Morales Oct 2019 B1
10437670 Koltsidas Oct 2019 B1
10459663 Agombar Oct 2019 B2
10459794 Baek Oct 2019 B2
10466907 Gole Nov 2019 B2
10484019 Weinberg Nov 2019 B2
10530391 Galbraith Jan 2020 B2
10635529 Bolkhovitin Apr 2020 B2
10642522 Li May 2020 B2
10649657 Zaidman May 2020 B2
10649969 De May 2020 B2
10678432 Dreier Jun 2020 B1
10756816 Dreier Aug 2020 B1
10831734 Li Nov 2020 B2
10928847 Suresh Feb 2021 B2
10990526 Lam Apr 2021 B1
11016932 Qiu May 2021 B2
11023150 Pletka Jun 2021 B2
11068165 Sharon Jul 2021 B2
11068409 Li Jul 2021 B2
11126561 Li Sep 2021 B2
11138124 Tomic Oct 2021 B2
11243694 Liang Feb 2022 B2
11360863 Varadan Jun 2022 B2
20010003205 Gilbert Jun 2001 A1
20010032324 Slaughter Oct 2001 A1
20010046295 Sako Nov 2001 A1
20020039260 Kilmer Apr 2002 A1
20020095403 Chandrasekaran Jul 2002 A1
20020112085 Berg Aug 2002 A1
20030145274 Hwang Jul 2003 A1
20030217080 White Nov 2003 A1
20040066741 Dinker Apr 2004 A1
20040103238 Avraham May 2004 A1
20040267752 Wong Dec 2004 A1
20050138325 Hofstee Jun 2005 A1
20050144358 Conley Jun 2005 A1
20050149827 Lambert Jul 2005 A1
20050174670 Dunn Aug 2005 A1
20050177672 Rao Aug 2005 A1
20060031709 Hiraiwa Feb 2006 A1
20060101197 Georgis May 2006 A1
20060156009 Shin Jul 2006 A1
20060184813 Bui Aug 2006 A1
20070061502 Lasser Mar 2007 A1
20070204128 Lee Aug 2007 A1
20070250756 Gower Oct 2007 A1
20070266011 Rohrs Nov 2007 A1
20070283081 Lasser Dec 2007 A1
20070283104 Wellwood Dec 2007 A1
20070285980 Shimizu Dec 2007 A1
20080028223 Rhoads Jan 2008 A1
20080065805 Wu Mar 2008 A1
20080082731 Karamcheti Apr 2008 A1
20080104369 Reed May 2008 A1
20080112238 Kim May 2008 A1
20080163033 Yim Jul 2008 A1
20080195829 Wilsey Aug 2008 A1
20080301532 Uchikawa Dec 2008 A1
20090006667 Lin Jan 2009 A1
20090089544 Liu Apr 2009 A1
20090110078 Crinon Apr 2009 A1
20090125788 Wheeler May 2009 A1
20090177944 Kanno Jul 2009 A1
20090183052 Kanno Jul 2009 A1
20090254705 Abali Oct 2009 A1
20090287956 Flynn Nov 2009 A1
20090307426 Galloway Dec 2009 A1
20100217952 Iyer Aug 2010 A1
20100332922 Chang Dec 2010 A1
20110031546 Uenaka Feb 2011 A1
20110055471 Thatcher Mar 2011 A1
20110060722 Li Mar 2011 A1
20110099418 Chen Apr 2011 A1
20110161621 Sinclair Jun 2011 A1
20110161784 Selinger Jun 2011 A1
20110191525 Hsu Aug 2011 A1
20110239083 Kanno Sep 2011 A1
20110252188 Weingarten Oct 2011 A1
20110258514 Lasser Oct 2011 A1
20110289263 McWilliams Nov 2011 A1
20110289280 Koseki Nov 2011 A1
20110296411 Tang Dec 2011 A1
20110299317 Shaeffer Dec 2011 A1
20110302432 Harris Dec 2011 A1
20120017037 Riddle Jan 2012 A1
20120089774 Kelkar Apr 2012 A1
20120096330 Przybylski Apr 2012 A1
20120151253 Horn Jun 2012 A1
20120159099 Lindamood Jun 2012 A1
20120173792 Lassa Jul 2012 A1
20120203958 Jones Aug 2012 A1
20120324312 Moyer Dec 2012 A1
20120331207 Lassa Dec 2012 A1
20130013887 Sugahara Jan 2013 A1
20130016970 Koka Jan 2013 A1
20130018852 Barton Jan 2013 A1
20130024605 Sharon Jan 2013 A1
20130054822 Mordani Feb 2013 A1
20130080391 Raichstein Mar 2013 A1
20130138871 Chiu May 2013 A1
20130179898 Fang Jul 2013 A1
20130191601 Peterson Jul 2013 A1
20130205183 Fillingim Aug 2013 A1
20130227347 Cho Aug 2013 A1
20130238955 D Abreu Sep 2013 A1
20130254622 Kanno Sep 2013 A1
20130329492 Yang Dec 2013 A1
20140006688 Yu Jan 2014 A1
20140019650 Li Jan 2014 A1
20140025638 Hu Jan 2014 A1
20140082273 Segev Mar 2014 A1
20140082412 Matsumura Mar 2014 A1
20140095758 Smith Apr 2014 A1
20140095769 Borkenhagen Apr 2014 A1
20140095827 Wei Apr 2014 A1
20140108891 Strasser Apr 2014 A1
20140164447 Tarafdar Jun 2014 A1
20140164879 Tam Jun 2014 A1
20140195564 Talagala Jul 2014 A1
20140215129 Kuzmin Jul 2014 A1
20140223079 Zhang Aug 2014 A1
20140279927 Constantinescu Sep 2014 A1
20140337457 Nowoczynski Nov 2014 A1
20140379965 Gole Dec 2014 A1
20150006792 Lee Jan 2015 A1
20150039849 Lewis Feb 2015 A1
20150067436 Hu Mar 2015 A1
20150121031 Feng Apr 2015 A1
20150143030 Gorobets May 2015 A1
20150186657 Nakhjiri Jul 2015 A1
20150199234 Choi Jul 2015 A1
20150234845 Moore Aug 2015 A1
20150269964 Fallone Sep 2015 A1
20150286477 Mathur Oct 2015 A1
20150294684 Qjang Oct 2015 A1
20150301964 Brinicombe Oct 2015 A1
20150310916 Leem Oct 2015 A1
20150317095 Voigt Nov 2015 A1
20150341123 Nagarajan Nov 2015 A1
20150347025 Law Dec 2015 A1
20150363271 Haustein Dec 2015 A1
20150363328 Candelaria Dec 2015 A1
20160026575 Samanta Jan 2016 A1
20160041760 Kuang Feb 2016 A1
20160048327 Jayasena Feb 2016 A1
20160048341 Constantinescu Feb 2016 A1
20160054922 Awasthi Feb 2016 A1
20160062885 Ryu Mar 2016 A1
20160077749 Ravimohan Mar 2016 A1
20160077764 Ori Mar 2016 A1
20160077968 Sela Mar 2016 A1
20160078245 Amarendran Mar 2016 A1
20160098350 Tang Apr 2016 A1
20160103631 Ke Apr 2016 A1
20160109916 Li Apr 2016 A1
20160124742 Rangasamy May 2016 A1
20160132237 Jeong May 2016 A1
20160141047 Sehgal May 2016 A1
20160154601 Chen Jun 2016 A1
20160155750 Yasuda Jun 2016 A1
20160162187 Lee Jun 2016 A1
20160179399 Melik-Martirosian Jun 2016 A1
20160203000 Parmar Jul 2016 A1
20160224267 Yang Aug 2016 A1
20160234297 Ambach Aug 2016 A1
20160283140 Kaushik Sep 2016 A1
20160306699 Resch Oct 2016 A1
20160321002 Jung Nov 2016 A1
20160335085 Scalabrino Nov 2016 A1
20160342345 Kankani Nov 2016 A1
20160350385 Poder Dec 2016 A1
20160364146 Kuttner Dec 2016 A1
20160381442 Heanue Dec 2016 A1
20170004037 Park Jan 2017 A1
20170010652 Huang Jan 2017 A1
20170068639 Davis Mar 2017 A1
20170091110 Ash Mar 2017 A1
20170109199 Chen Apr 2017 A1
20170123655 Sinclair May 2017 A1
20170147499 Mohan May 2017 A1
20170161202 Erez Jun 2017 A1
20170177217 Kanno Jun 2017 A1
20170177259 Motwani Jun 2017 A1
20170185316 Nieuwejaar Jun 2017 A1
20170185498 Gao Jun 2017 A1
20170192848 Pamies-Juarez Jul 2017 A1
20170199823 Hayes Jul 2017 A1
20170212680 Waghulde Jul 2017 A1
20170220254 Warfield Aug 2017 A1
20170221519 Matsuo Aug 2017 A1
20170242722 Qiu Aug 2017 A1
20170262217 Pradhan Sep 2017 A1
20170269998 Sunwoo Sep 2017 A1
20170277655 Das Sep 2017 A1
20170279460 Camp Sep 2017 A1
20170322888 Booth Nov 2017 A1
20180024779 Kojima Jan 2018 A1
20180033491 Marelli Feb 2018 A1
20180052797 Barzik Feb 2018 A1
20180059754 Shaikh Mar 2018 A1
20180067847 Oh Mar 2018 A1
20180069658 Benisty Mar 2018 A1
20180074730 Inoue Mar 2018 A1
20180076828 Kanno Mar 2018 A1
20180107591 Smith Apr 2018 A1
20180113631 Zhang Apr 2018 A1
20180165038 Authement Jun 2018 A1
20180165169 Camp Jun 2018 A1
20180165340 Agarwal Jun 2018 A1
20180173620 Cen Jun 2018 A1
20180188970 Liu Jul 2018 A1
20180189175 Ji Jul 2018 A1
20180212951 Goodrum Jul 2018 A1
20180219561 Litsyn Aug 2018 A1
20180226124 Perner Aug 2018 A1
20180232151 Badam Aug 2018 A1
20180260148 Klein Sep 2018 A1
20180293014 Ravimohan Oct 2018 A1
20180300203 Kathpal Oct 2018 A1
20180307620 Zhou Oct 2018 A1
20180321864 Benisty Nov 2018 A1
20180322024 Nagao Nov 2018 A1
20180336921 Ryun Nov 2018 A1
20180356992 Lamberts Dec 2018 A1
20180357126 Dhuse Dec 2018 A1
20180373655 Liu Dec 2018 A1
20180373664 Vijayrao Dec 2018 A1
20190034454 Gangumalla Jan 2019 A1
20190041934 Tan Feb 2019 A1
20190042571 Li Feb 2019 A1
20190050312 Li Feb 2019 A1
20190050327 Li Feb 2019 A1
20190065085 Jean Feb 2019 A1
20190073261 Halbert Mar 2019 A1
20190087089 Yoshida Mar 2019 A1
20190087115 Li Mar 2019 A1
20190087328 Kanno Mar 2019 A1
20190108145 Raghava Apr 2019 A1
20190116127 Pismenny Apr 2019 A1
20190166725 Jing May 2019 A1
20190171532 Abadi Jun 2019 A1
20190172820 Meyers Jun 2019 A1
20190196748 Badam Jun 2019 A1
20190196907 Khan Jun 2019 A1
20190205206 Hornung Jul 2019 A1
20190212949 Pletka Jul 2019 A1
20190220392 Lin Jul 2019 A1
20190227927 Miao Jul 2019 A1
20190272242 Kachare Sep 2019 A1
20190278654 Kaynak Sep 2019 A1
20190278849 Chandramouli Sep 2019 A1
20190317901 Kachare Oct 2019 A1
20190320020 Lee Oct 2019 A1
20190339998 Momchilov Nov 2019 A1
20190361611 Hosogi Nov 2019 A1
20190377632 Oh Dec 2019 A1
20190377821 Pleshachkov Dec 2019 A1
20190391748 Li Dec 2019 A1
20200004456 Williams Jan 2020 A1
20200004674 Williams Jan 2020 A1
20200013458 Schreck Jan 2020 A1
20200042223 Li Feb 2020 A1
20200042387 Shani Feb 2020 A1
20200082006 Rupp Mar 2020 A1
20200084918 Shen Mar 2020 A1
20200089430 Kanno Mar 2020 A1
20200092209 Chen Mar 2020 A1
20200097189 Tao Mar 2020 A1
20200133841 Davis Apr 2020 A1
20200143885 Kim May 2020 A1
20200159425 Flynn May 2020 A1
20200167091 Haridas May 2020 A1
20200210309 Jung Jul 2020 A1
20200218449 Leitao Jul 2020 A1
20200225875 Oh Jul 2020 A1
20200242021 Gholamipour Jul 2020 A1
20200250032 Goyal Aug 2020 A1
20200257598 Yazovitsky Aug 2020 A1
20200322287 Connor Oct 2020 A1
20200326855 Wu Oct 2020 A1
20200328192 Zaman Oct 2020 A1
20200348888 Kim Nov 2020 A1
20200364094 Kahle Nov 2020 A1
20200371955 Goodacre Nov 2020 A1
20200387327 Hsieh Dec 2020 A1
20200401093 Song Dec 2020 A1
20200401334 Saxena Dec 2020 A1
20200409559 Sharon Dec 2020 A1
20200409791 Devriendt Dec 2020 A1
20210010338 Santos Jan 2021 A1
20210064109 Tandon Mar 2021 A1
20210075633 Sen Mar 2021 A1
20210089392 Shirakawa Mar 2021 A1
20210103388 Choi Apr 2021 A1
20210124488 Stoica Apr 2021 A1
20210132999 Haywood May 2021 A1
20210191635 Hu Jun 2021 A1
20210263795 Li Aug 2021 A1
20210286555 Li Sep 2021 A1
Foreign Referenced Citations (1)
Number Date Country
9418634 Aug 1994 WO
Non-Patent Literature Citations (11)
Entry
C. Wu, D. Wu, H. Chou and C. Cheng, “Rethink the Design of Flash Translation Layers in a Component-Based View”, in IEEE Acess, vol. 5, pp. 12895-12912, 2017.
Po-Liang Wu, Yuan-Hao Chang and T. Kuo, “A file-system-aware FTL design for flash-memory storage systems,” 2009, pp. 393-398.
S. Choudhuri and T. Givargis, “Preformance improvement of block based NAND flash translation layer”, 2007 5th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and Systems Synthesis (CODES+ISSS). Saizburg, 2007, pp. 257-262.
A. Zuck, O. Kishon and S. Toledo. “LSDM: Improving the Preformance of Mobile Storage with a Log-Structured Address Remapping Device Driver”, 2014 Eighth International Conference on Next Generation Mobile Apps, Services and Technologies, Oxford, 2014, pp. 221-228.
J. Jung and Y. Won, “nvramdisk: A Transactional Block Device Driver for Non-Volatile RAM”, in IEEE Transactions on Computers, vol. 65, No. 2, pp. 589-600, Feb. 1, 2016.
Te I et al. (Pensieve: a Machine Assisted SSD Layer for Extending the Lifetime: (Year: 2018).
ARM (“Cortex-R5 and Cortex-R5F”, Technical reference Manual, Revision r1p1) (Year:2011).
S. Hong and D. Shin, “NAND Flash-Based Disk Cache Using SLC/MLC Combined Flash Memory,” 2010 International Workshop on Storage Network Architecture and Parallel I/Os, Incline Village, NV, 2010, pp. 21-30.
Arpaci-Dusseau et al. “Operating Systems: Three Easy Pieces”, Originally published 2015; Pertinent: Chapter 44; flash-based SSDs, available at http://pages.cs.wisc.edu/˜remzi/OSTEP/.
Jimenex, X., Novo, D. and P. Ienne, “Pheonix:Reviving MLC Blocks as SLC to Extend NAND Flash Devices Lifetime,” Design, Automation & Text in Europe Conference & Exhibition (Date), 2013.
Yang, T. Wu, H. and W. Sun, “GD-FTL: Improving the Performance and Lifetime of TLC SSD by Downgrading Worn-out Blocks,” IEEE 37th International Performance Computing and Communications Conference (IPCCC), 2018.
Related Publications (1)
Number Date Country
20210100126 A1 Apr 2021 US