Method and apparatus for virtual load regions in storage system controllers
First Claim
1. A method for managing storage controller code, comprising:
- storing a first version of storage controller code in a first region of storage controller memory associated with a first storage controller;
storing a second version of storage controller code in a second region of said storage controller memory associated with said first storage controller;
maintaining region management information in storage controller memory including said first and second regions;
designating in said region management information said first region of storage controller memory as containing a primary version of storage controller code;
determining that said first region of storage controller memory contains said version of storage controller code designated as the primary version;
in response to said determining that said first region of storage controller memory contains said version of storage controller code designated as said primary version, executing said first version of storage controller code to control at least aspects of operation of said first storage controller, wherein at said time of executing said first version of storage controller code said second version of storage controller code is stored in said second region of said storage controller memory associated with said first storage controller.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses for facilitating the management of multiple controller code versions for implementing operational aspects of storage system controllers are provided. In particular, multiple versions of storage controller code are loaded into the physical memory of a storage controller. The logical region in which a particular controller code version is loaded may be designated in metadata as a primary, secondary or other region. The controller code that is associated with a logical version designated as the primary region is selected by the storage controller for execution upon a storage controller reboot. Accordingly, time consuming copy operations are not required in order to switch between different versions of storage controller code.
24 Citations
20 Claims
-
1. A method for managing storage controller code, comprising:
-
storing a first version of storage controller code in a first region of storage controller memory associated with a first storage controller;
storing a second version of storage controller code in a second region of said storage controller memory associated with said first storage controller;
maintaining region management information in storage controller memory including said first and second regions;
designating in said region management information said first region of storage controller memory as containing a primary version of storage controller code;
determining that said first region of storage controller memory contains said version of storage controller code designated as the primary version;
in response to said determining that said first region of storage controller memory contains said version of storage controller code designated as said primary version, executing said first version of storage controller code to control at least aspects of operation of said first storage controller, wherein at said time of executing said first version of storage controller code said second version of storage controller code is stored in said second region of said storage controller memory associated with said first storage controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data storage system controller, comprising:
-
memory, including;
a first version of storage controller code loaded into a first region of said memory;
a second version of storage controller code loaded into a second region of said memory, wherein said first version of storage controller code is different than said second version of storage controller code;
region management information;
a processor, wherein said processor executes a one of said first and second versions of storage controller code from a corresponding one of said first and second regions in memory in response to a designation maintained in said region management information of said one of said first and second regions of said memory as containing a primary version of said storage controller code. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A data storage system, comprising:
-
means for controlling data input/output operations, including;
means for storing instructions for execution, including at least a first region containing a first set of execution instructions and a second region containing a second set of execution instructions, wherein said first set of execution instructions are different than said second set of execution instructions;
means for storing management information, wherein one of said first and second sets of execution instructions are designated as a primary set of execution instructions;
means for executing instructions, wherein one of said first and second sets of execution instructions designated as said primary set of execution instructions is executed from a corresponding one of said first and second regions. - View Dependent Claims (18, 19, 20)
-
Specification