Memory device with secure boot updates and self recovery
US-2024406008-A1 · Dec 5, 2024 · US
US2017132000A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2017132000-A1 |
| Application number | US-201415301969-A |
| Country | US |
| Kind code | A1 |
| Filing date | Apr 29, 2014 |
| Priority date | Apr 29, 2014 |
| Publication date | May 11, 2017 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Examples relate to providing hardware assisted software versioning for clustered applications. In one example, virtualized global memory is accessible to application servers that provide a clustered application, where the clustered application includes multiple versions of a common data structure. After one of the application servers stores an element that is compatible with one version of the common data structure, other versions of the common data structure are located in the virtualized global memory. The element is then invalidated in the other versions of the common data structure to prevent access and translated directly in the virtualized global memory to the other versions of the common data structure. At this stage, the element can be validated in the other versions of the common data structure for access.
Opening claim text (preview).
We claim: 1 . A system for providing hardware assisted software versioning for clustered applications, the system comprising: virtualized global memory accessible to a plurality of application servers that provides a clustered application, wherein the clustered application comprises a plurality of versions of a common data structure; and a controller operatively connected to the virtualized global memory, the controller to: after one of the plurality of application servers stores an element that is compatible with one version of the common data structure, locate other versions of the common data structure in the virtualized global memory; invalidate the element in the other versions of the global data structure to prevent access; translate the element directly in the virtualized global memory to the other versions of the common data structure; and validate the element in the other versions of the common data structure for access. 2 . The system of claim 1 , wherein the element is translated in response to a request to access the element from a requesting server of the plurality of application servers. 3 . The system of claim 1 , wherein the controller is a hardware processor that is physically connected to the virtualized global memory. 4 . The system of claim 3 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 5 . The system of claim 3 , wherein the element s translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 6 . The system of claim 1 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the controller is further to: identify the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator. 7 . A method for providing hardware assisted software versioning for clustered applications, the method comprising: receiving a notification that one of a plurality of application servers has stored an element that is compatible with one version of a common data structure, wherein the plurality of application servers provides a clustered application that comprises a plurality of versions of the common data structure; locating other versions of the common data structure in virtualized global memory of the clustered application; invalidating the other versions of the common data structure to prevent access; translating the element directly in the virtualized global memory to the other versions of the common data structure; and validating the element in the other versions of the common data structure for access. 8 . The method of claim 7 , wherein the element is translated in response to a request to access the element from a requesting server of the plurality of application servers. 9 . The method of claim 7 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 10 . The method of claim 7 , wherein the element is translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 11 . The method of claim 7 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the method further comprises: identifying the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator. 12 . A non-transitory machine-readable storage medium encoded with instructions executable by a processor for providing hardware assisted software versioning for clustered applications, the machine-readable storage medium comprising instructions to: receive a notification that an initial server of a plurality of application servers has stored an element that is compatible with one version of a common data structure, wherein the plurality of application servers provides a clustered application that comprises a plurality of versions of the common data structure; locate other versions of the common data structure in virtualized global memory; invalidate the element in the other versions of the global data structure to prevent access; in response to a request to access the element from a requesting server of the plurality of application servers, translate the element directly in the virtualized global memory to the other versions of the common data structure; and validate the element in the other versions of the common data structure for access. 13 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated directly in the virtualized global memory by performing an arithmetic derivation of the element at a memory address in the virtualized global memory. 14 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated in the virtualized global memory by invoking a translation interrupt that triggers a software function to translate the element. 15 . The non-transitory machine-readable storage medium of claim 12 , wherein the element is translated to each version of the other versions of the common data structure in the virtualized global memory by invoking a selected translation, and wherein the machine-readable storage medium further comprises instructions to: identify the selected translation from a plurality of translators based on the one version of the common data structure and a target version of the other versions of the common data structure, wherein the plurality of translators comprises an arithmetic derivation translator and a function translator.
Related publications grouped by family.
Answers are generated from the same data shown on this page.