Patent ID: 7185331

Claim:
A method for nondisruptive code loading of a hardware controller, comprising: a) saving a set of fixed instructions and a first runtime executable code in a runtime area of memory partitioned into a set of disjoint blocks beginning at fixed memory locations, said set including: (i) a fixed-data block; (ii) a copier block comprising a fixed copier section and a copier expansion section, said fixed copier section and said copier expansion section being mutually disjoint; and (iii) a runtime code block; b) storing a trusted system state within the fixed-data block; c) storing a first copier code having an instruction in the fixed-copier section within the copier block; d) executing the first runtime executable code; e) staging a second runtime executable code into a shadow area; f) suspending operation of the first runtime executable code; g) initiating execution of the first copier code, said execution causing a second copier code, stored within the shadow area, to be copied into the copier block without altering those instructions within the fixed copier section; h) copying the second runtime executable code from the shadow area into locations in the runtime area not containing the fixed instructions and not containing the trusted system state; and i) resuming operation with the second runtime executable code in the runtime area.