Provided is a method, system, an program for power management of storage units in a storage array. A power profile is accessed for a storage array including a plurality of storage units, wherein each storage unit is enabled to operate in one of a plurality of power consumption modes, and wherein the power profile indicates a power mode specifying a power consumption mode. Data is migrated from at least one storage unit to at least one storage unit designated as an active storage unit consuming power in an active power consumption mode. The power consumption mode of at least one storage unit not designated as active is altered to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode.
|
1. A method, comprising:
accessing a power profile for a storage array including a plurality of storage units, wherein each storage unit is enabled to operate in one of a plurality of power consumption modes, and wherein the power profile indicates a power mode specifying a power consumption mode;
migrating data from at least one storage unit to at least one storage unit designated as an active storage unit consuming power in an active power consumption mode; and
altering the power consumption mode of the at least one storage unit from which the data is migrated to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode.
25. A system, comprising:
a storage array having a plurality of hard disk drives;
a storage controller managing input/Output (I/O) access to the storage array; and
circuitry enabled to:
access a power profile for the storage array indicating a power mode specifying a power consumption mode;
migrate data from at least one hard disk drive to at least one hard disk drive designated as an active hard disk drive consuming power in an active power consumption mode; and
alter the power consumption mode of the at least one hard disk drive from which the data was migrated to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode.
28. An article of manufacture enabled to:
access a power profile for a storage array including a plurality of storage units, wherein each storage unit is enabled to operate in one of a plurality of power consumption modes, and wherein the power profile indicates a power mode specifying a power consumption mode;
migrate data from at least one storage unit to at least one storage unit designated as an active storage unit consuming power in an active power consumption mode; and
alter the power consumption mode of the at least one storage unit from which the data was migrated to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode.
12. A storage controller in communication with a plurality of storage units in a storage array, wherein each storage unit is enabled to operate in one of a plurality of power consumption modes, comprising:
circuitry enabled to:
access a power profile for the storage array indicating a power mode specifying a power consumption mode;
migrate data from at least one storage unit to at least one storage unit designated as an active storage unit consuming power in an active power consumption mode; and
alter the power consumption mode of at least one storage unit from which the data was migrated to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode.
2. The method of
3. The method of
maintaining information on an access frequency for the storage units; and
selecting at least one storage unit from which to migrate data based on the access frequency information for the storage units, wherein data is migrated from the at least one selected storage unit.
4. The method of
5. The method of
selecting one target storage unit to receive the migrated data from one selected source storage unit such that of the eligible target storage units, the selected target storage unit has an access frequency closest to the access frequency of the selected source storage unit from which the data is migrated.
6. The method of
maintaining information on an access frequency for the storage units; and
altering the power consumption mode of at least one storage unit having a relatively lower access frequency than other storage units.
7. The method of
selecting at least one storage unit that does not include data to take offline in response to determining that remaining storage units excluding the at least one selected storage unit satisfy the free space requirement.
8. The method of
9. The method of
lowering the power consumption mode of at least one storage unit that includes only free space.
10. The method of
rendering information to a user indicating a plurality of power profiles, wherein each power profile indicates the specified power consumption mode for storage units not selected as active; and
receiving user selection of one of the power profiles;
periodically accessing the power profile to determine whether to alter the power consumption mode of at least one storage unit.
11. The method of
13. The storage controller of
14. The storage controller of
maintain information on an access frequency for the storage units; and
select at least one storage unit from which to migrate data based on the access frequency information for the storage units, wherein data is migrated from the at least one selected storage unit.
15. The storage controller of
16. The storage controller of
select one target storage unit to receive the migrated data from one selected source storage unit such that of the eligible target storage units, the selected target storage unit has an access frequency closest to the access frequency of the selected source storage unit from which the data is migrated.
17. The storage controller of
maintain information on an access frequency for the storage units; and
alter the power consumption mode of at least one storage unit having a relatively lower access frequency than other storage units.
18. The storage controller of
select at least one storage unit that does not include data to take offline in response to determining that remaining storage units excluding the at least one selected storage unit satisfy the free space requirement.
19. The storage controller of
20. The storage controller of
lowering the power consumption mode of at least one storage unit that includes only free space.
21. The storage controller of
render information to a user indicating a plurality of power profiles, wherein each power profile indicates the specified power consumption mode for storage units not selected as active;
receive user selection of one of the power profiles; and
periodically access the power profile to determine whether to alter the power consumption mode of at least one storage unit.
22. The storage controller of
23. The storage controller of
24. The storage controller of
27. The system of
29. The article of manufacture of
30. The article of manufacture of
maintain information on an access frequency for the storage units; and
select at least one storage unit from which to migrate data based on the access frequency information for the storage units, wherein data is migrated from the at least one selected storage unit.
31. The article of manufacture of
32. The article of manufacture of
select one target storage unit to receive the migrated data from one selected source storage unit such that of the eligible target storage units, the selected target storage unit has an access frequency closest to the access frequency of the selected source storage unit from which the data is migrated.
33. The article of manufacture of
maintain information on an access frequency for the storage units; and
alter the power consumption mode of at least one storage unit having a relatively lower access frequency than other storage units.
34. The article of manufacture of
select at least one storage unit that does not include data to take offline in response to determining that remaining storage units excluding the at least one selected storage unit satisfy the free space requirement.
35. The article of manufacture of
36. The article of manufacture of
lower the power consumption mode of at least one storage unit that includes only free space.
37. The article of manufacture of
render information to a user indicating a plurality of power profiles, wherein each power profile indicates the specified power consumption mode for storage units not selected as active;
receive user selection of one of the power profiles;
periodically access the power profile to determine whether to alter the power consumption mode of at least one storage unit.
38. The article of manufacture of
|
Storage devices, such as hard disk drives, include adaptive power management programs that alter the power consumption mode of the disk drive based on current usage of the drive. The disk drive controller or device driver of the hard disk drive executing in the host operating system may adjust the power usage to an active, standby, idle or sleep mode based on the frequency of user access. Computer systems often include a power management program that the user can configure to specify the power consumption mode, e.g., idle, standby or sleep mode based on the length of time since the last received user input. For instance, the Power Options Properties utility provided with the Microsoft Windows operating system provides such capabilities. (Microsoft and Windows are registered trademarks of Microsoft Corporation). Although placing a disk drive in a lower power consumption mode, such as standby, idle or sleep conserves power, such lower consumption modes increases disk latency. If the disk drive is in a low power consumption mode when receiving an Input/Output (I/O) request, latency is experienced while waiting for the disk drive to power-up all components to execute the I/O request. The lower the power consumption mode, the greater the latency and delays that occur to fully power-up the disk components to execute an I/O request received in such power savings mode.
System administrators managing large storage arrays of interconnected hard disk drives may specify power consumption modes for the hard disk drives in the storage array. Typically, the administrator will balance power conservation and latency goals in determining the power consumption mode for the disk drives in the array.
In the following description, reference is made to the accompanying drawings which form a part hereof and which illustrate several embodiments. It is understood that other embodiments may be utilized and structural and operational changes may be made without departing from the scope of the embodiments.
Each storage unit 4a, 4b, 4c includes a storage medium 16 and a storage unit controller 18. The storage controller 6 communicates I/O requests to the storage unit controller 18, which then manages the execution of the I/O requests against the storage medium 16. The storage medium 16 may comprise a magnetic storage medium or other storage media known in the art. The storage unit 4a, 4b, 4c may comprise non-volatile storage units known in the art, such as hard disk drives, tape drives, etc. The storage controller 6 includes the capability to manage the power consumption at the storage unit 4a, 4b, 4c by issuing power management commands to the storage unit controller 18 to implement for the particular storage unit 4a, 4b, 4c. The storage unit controller 18 is capable of causing the storage units 4a, 4b, 4c to transition to the following power states:
The storage controller 6 communicates with the storage array 8 over an interface 19. In certain embodiments, the interface 19 may comprise a bus interface, such as a Peripheral Component Interconnect (PCI) interface, Small Computer System Interface (SCSI), Serial Attached SCSI (SAS), and other bus interfaces known in the art. PCI is described in the publication “PCI Local Bus Specification”, Rev. 2.3 (March 2002), published by the PCI Special Interest Group; SCSI is described in the publication; SCSI is described in the publication “SCSI Architecture Model—3 (SAM 3)”, published by ANSI, T10, Project 1561-D (March 2004); and SATA is described in the publication “Serial ATA: High Speed Serialized AT Attachment”, Rev. 1.0a (January 2003). Alternatively, the interface 19 may comprise a network connection to connect over a network, such as a Local Area Network (LAN), Wide Area Network (WAN), Storage Area Network (SAN), etc.
The storage unit information 14 includes an entry 20 for each storage unit 4a, 4b, 4c. Each storage unit entry 20 includes
In described embodiments, the storage controller 6 manages the power consumption of the storage units 4a, 4b, 4c.
The storage controller 6 migrates (at block 54) data from at least one storage unit 4a, 4b, 4c to at least one storage unit designated as an active storage unit consuming power in an active power consumption mode. For instance, the storage controller 6 may determine if there is sufficient available space on current storage units such that data may be migrated from other storage units so that the storage units from which data is migrated have all free space and are not actively used for I/O requests. If there is available space in storage units to store the data on other storage units, then the operation at block 54 may be performed, otherwise the operation may not be performed if there is not sufficient available space on some storage units to store the data from other storage units. The power consumption mode of at least one storage unit 4a, 4b, 4c not designated as active is adjusted (at block 56) to the specified power consumption mode indicated in the accessed profile, wherein the specified power consumption mode consumes less power than the active power consumption mode, e.g., idle, standby, sleep or other power consumption modes known in the art. A storage unit 4a, 4b, 4c may be designated as active if it includes data subject to I/O requests and inactive if it does not include data being accessed, such as including only free space. When adjusting the power consumption mode, the power consumption mode 28 (
When the power profile includes a free space requirement, the storage controller 6 selects (at block 58) at least one storage unit that does not include data to take offline in response to determining that remaining storage units excluding the at least one selected storage unit satisfy the free space requirement. In certain embodiments, storage units taken offline are completely powered-off and consume no power. Further, the selected storage units taken offline may have been the storage units from which data was migrated, such that the storage controller 6 migrates data from certain storage units so that those storage units from which the data is migrated may be taken offline, as long as the remaining storage units 4a, 4b, 4c include sufficient space to satisfy the free space requirements indicated in the accessed power profile.
In certain embodiments, the storage unit 4a, 4b, 4c whose power consumption mode is adjusted comprises the at least one storage unit 4a, 4b, 4c from which data is migrated, which may comprise the storage units having only free space, not active data. In further embodiments, the selection of a storage unit from which to migrate the data is based on the access frequency of the storage units, e.g., I/O frequency 30 (
Described embodiments also enable a user to program the storage controller 6 to use a specific power profile to apply to the storage array 8. With respect to
Described embodiments provide capabilities implemented in a storage controller to dynamically manage the power consumption of a plurality of storage units to satisfy certain user specified power consumption goals and satisfy certain storage environment requirements, such as free space and latency requirements. Users may specify a power consumption mode that balances power savings and latency goals by selecting the power consumption mode of storage units not having active data. For instance, if latency is a greater concern, then the storage units not having active data but that remain online to provide sufficient free space may be maintained at a higher power consumption mode, such as active or idle, whereas if reducing power consumption is more important than latency, then the power consumption mode of the storage units not having active data but that remain online may be in idle or sleep mode.
The described embodiments may be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term “article of manufacture” as used herein refers to code or logic implemented in hardware logic (e.g., an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc.) or a computer readable medium, such as magnetic storage medium (e.g., hard disk drives, floppy disks, tape, etc.), optical storage (CD-ROMs, optical disks, etc.), volatile and non-volatile memory devices (e.g., EEPROMs, ROMs, PROMs, RAMs, DRAMs, SRAMs, firmware, programmable logic, etc.). Code in the computer readable medium is accessed and executed by a processor. The code in which preferred embodiments are implemented may further be accessible through a transmission media or from a file server over a network. In such cases, the article of manufacture in which the code is implemented may comprise a transmission media, such as a network transmission line, wireless transmission media, signals propagating through space, radio waves, infrared signals, etc. Thus, the “article of manufacture” may comprise the medium in which the code is embodied. Additionally, the “article of manufacture” may comprise a combination of hardware and software components in which the code is embodied, processed, and executed. Of course, those skilled in the art will recognize that many modifications may be made to this configuration without departing from the scope of the embodiments, and that the article of manufacture may comprise any information bearing medium known in the art.
The described operations may be performed by circuitry, where “circuitry” refers to either hardware or software or a combination thereof. The circuitry for performing the operations of the described embodiments may comprise a hardware device, such as an integrated circuit chip, Programmable Gate Array (PGA), Application Specific Integrated Circuit (ASIC), etc. The circuitry may also comprise a processor component, such as an integrated circuit, and code in a computer readable medium, such as memory, wherein the code is executed by the processor to perform the operations of the described embodiments.
In certain systems, the power management program may be implemented in a storage controller managing access to a plurality of attached storage units, such as disk drives. The storage controller may comprise a RAID controller, JBOD controller, a storage server or any other device known in the art for managing access to a plurality of storage units.
In alternative embodiments, the power management operations may be implemented in code executing in a component external to the storage controller, such as in a device driver for the storage controller or a power management utility executing in a host system that communicates with the storage controller.
The storage array whose power consumption is managed may comprise interconnected hard disk drives. In alternative embodiments, the storage array whose power consumption is managed may comprise a library of tape cartridges, optical disks or other storage units known in the art.
The illustrated operations of
The foregoing description of various embodiments has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Many modifications and variations are possible in light of the above teaching.
Zimmer, Vincent J., Rothman, Michael A., Doran, Mark S.
Patent | Priority | Assignee | Title |
10075527, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
10234927, | Nov 12 2015 | International Business Machines Corporation | Storage system power usage |
10248657, | Jun 30 2009 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
10264074, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
10379598, | Aug 28 2007 | Commvault Systems, Inc. | Power management of data processing resources, such as power adaptive management of data storage operations |
10430302, | Apr 12 2017 | Qualcomm Incorporated | Data retention with data migration |
10547684, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
10891198, | Jul 30 2018 | Commvault Systems, Inc. | Storing data to cloud libraries in cloud native formats |
10999373, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
11074138, | Mar 29 2017 | Commvault Systems, Inc. | Multi-streaming backup operations for mailboxes |
11099944, | Dec 28 2012 | Commvault Systems, Inc. | Storing metadata at a cloud-based data recovery center for disaster recovery testing and recovery of backup data stored remotely from the cloud-based data recovery center |
11108858, | Mar 28 2017 | Commvault Systems, Inc. | Archiving mail servers via a simple mail transfer protocol (SMTP) server |
11221939, | Mar 31 2017 | Commvault Systems, Inc. | Managing data from internet of things devices in a vehicle |
11269734, | Jun 17 2019 | Commvault Systems, Inc. | Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service and/or serverless database management systems |
11294786, | Mar 31 2017 | Commvault Systems, Inc. | Management of internet of things devices |
11308035, | Jun 30 2009 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
11314618, | Mar 31 2017 | Commvault Systems, Inc. | Management of internet of things devices |
11314687, | Sep 24 2020 | Commvault Systems, Inc. | Container data mover for migrating data between distributed data storage systems integrated with application orchestrators |
11321188, | Mar 02 2020 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
11366723, | Apr 30 2019 | Commvault Systems, Inc. | Data storage management system for holistic protection and migration of serverless applications across multi-cloud computing environments |
11422900, | Mar 02 2020 | Commvault Systems, Inc. | Platform-agnostic containerized application data protection |
11442768, | Mar 12 2020 | Commvault Systems, Inc.; Knobbe, Martens, Olson & Bear LLP | Cross-hypervisor live recovery of virtual machines |
11461184, | Jun 17 2019 | Commvault Systems, Inc. | Data storage management system for protecting cloud-based data including on-demand protection, recovery, and migration of databases-as-a-service and/or serverless database management systems |
11467753, | Feb 14 2020 | Commvault Systems, Inc.; Commvault Systems, Inc | On-demand restore of virtual machine data |
11467863, | Jan 30 2019 | Commvault Systems, Inc. | Cross-hypervisor live mount of backed up virtual machine data |
11494273, | Apr 30 2019 | Commvault Systems, Inc. | Holistically protecting serverless applications across one or more cloud computing environments |
11500669, | May 15 2020 | Commvault Systems, Inc. | Live recovery of virtual machines in a public cloud computing environment |
11561866, | Jul 10 2019 | Commvault Systems, Inc. | Preparing containerized applications for backup using a backup services container and a backup services container-orchestration pod |
11604706, | Feb 02 2021 | Commvault Systems, Inc. | Back up and restore related data on different cloud storage tiers |
11704223, | Mar 31 2017 | Commvault Systems, Inc. | Managing data from internet of things (IoT) devices in a vehicle |
11714568, | Feb 14 2020 | Commvault Systems, Inc. | On-demand restore of virtual machine data |
11748143, | May 15 2020 | Commvault Systems, Inc. | Live mount of virtual machines in a public cloud computing environment |
11829256, | Apr 30 2019 | Commvault Systems, Inc. | Data storage management system for holistic protection of cloud-based serverless applications in single cloud and across multi-cloud computing environments |
11853191, | Mar 31 2017 | Commvault Systems, Inc. | Management of internet of things devices |
11907168, | Jun 30 2009 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
11947990, | Jan 30 2019 | Commvault Systems, Inc. | Cross-hypervisor live-mount of backed up virtual machine data |
11956310, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
11989101, | Jun 17 2019 | Commvault Systems, Inc. | Data storage management system for multi-cloud protection, recovery, and migration of databases-as-a-service (DBAAS) and/or serverless database management systems (DBMS) |
12086624, | May 15 2020 | Commvault Systems, Inc. | Live recovery of virtual machines in a public cloud computing environment based on temporary live mount |
12130708, | Jul 10 2020 | Commvault Systems, Inc. | Cloud-based air-gapped data storage management system |
12135618, | Jul 11 2022 | Commvault Systems, Inc. | Protecting configuration data in a clustered container system |
7472300, | Apr 07 2008 | International Business Machines Corporation | Server-managed power saving policies for automated tape libraries and drives |
7865652, | Dec 22 2006 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Power control by a multi-port bridge device |
8041974, | Oct 17 2008 | KINPO ELECTRONICS, INC. | Power management method for input device |
8155766, | Nov 03 2008 | Hitachi, Ltd. | Methods and apparatus to provision power-saving storage system |
8214661, | Jul 21 2006 | International Business Machines Corporation | Using a control policy to implement power saving features |
8239601, | May 11 2007 | GENESYS LOGIC, INC. | Integrated data accessing system having control apparatus for multi-directional data transmission |
8286015, | Jun 03 2009 | Microsoft Technology Licensing, LLC | Storage array power management using lifecycle information |
8312313, | Jan 07 2009 | Canon Kabushiki Kaisha | Information processing apparatus, method for controlling the information processing apparatus, and storage medium |
8417973, | Jul 21 2006 | International Business Machines Corporation | Using a control policy to implement power saving features |
8434078, | Dec 08 2004 | Hitachi, Ltd. | Quick deployment method |
8448004, | Oct 27 2008 | NetApp, Inc | Power savings using dynamic storage cluster membership |
8707076, | Apr 18 2007 | Dell Products L.P. | System and method for power management of storage resources |
8886982, | Oct 27 2008 | NetApp, Inc | Power savings using dynamic storage cluster membership |
8959375, | Apr 18 2007 | Dell Products L.P. | System and method for power management of storage resources |
9001446, | Feb 06 2014 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | System and method for power saving modes in multi-sensor magnetic recording |
9001633, | Feb 06 2013 | Toshiba Samsung Storage Technology Korea Corporation | Method and apparatus for preventing the reading of an optical disc |
9213848, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
9454205, | Nov 12 2015 | International Business Machines Corporation | Monitoring power usage for a storage system that includes a set of storage units and a set of storage sub-units |
9454537, | Jun 30 2009 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
9571579, | Mar 30 2012 | Commvault Systems, Inc. | Information management of data associated with multiple cloud services |
9733691, | Nov 12 2015 | International Business Machines Corporation | Computer program product for managing storage system power usage by adjusting a flash device erasure rate and a data write rate for storage sub-units according to a non-uniform power budget |
9733692, | Nov 12 2015 | International Business Machines Corporation | Managing storage system power usage by adjusting a flash device erasure rate and a data write rate for storage sub-units according to a non-uniform power budget |
9959333, | Mar 30 2012 | Commvault Systems, Inc. | Unified access to personal data |
ER1596, | |||
ER2431, | |||
ER8644, |
Patent | Priority | Assignee | Title |
6549241, | Dec 11 1998 | Hitachi America, Ltd. | Methods and apparatus for processing multimedia broadcasts |
20040186939, | |||
20050177841, | |||
20050198435, | |||
20060007468, | |||
20060123259, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
May 17 2004 | ZIMMER, VINCENT J | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015402 | /0482 | |
May 18 2004 | ROTHMAN, MICHAEL A | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015402 | /0482 | |
May 25 2004 | DORAN, MARK S | Intel Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 015402 | /0482 | |
May 26 2004 | Intel Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 31 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Aug 19 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Oct 21 2019 | REM: Maintenance Fee Reminder Mailed. |
Apr 06 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 04 2011 | 4 years fee payment window open |
Sep 04 2011 | 6 months grace period start (w surcharge) |
Mar 04 2012 | patent expiry (for year 4) |
Mar 04 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 04 2015 | 8 years fee payment window open |
Sep 04 2015 | 6 months grace period start (w surcharge) |
Mar 04 2016 | patent expiry (for year 8) |
Mar 04 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 04 2019 | 12 years fee payment window open |
Sep 04 2019 | 6 months grace period start (w surcharge) |
Mar 04 2020 | patent expiry (for year 12) |
Mar 04 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |