Precise error injection for driver testing
US-2018203713-A1 · Jul 19, 2018 · US
US10747565B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10747565-B2 |
| Application number | US-201715717196-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 27, 2017 |
| Priority date | Apr 18, 2017 |
| Publication date | Aug 18, 2020 |
| Grant date | Aug 18, 2020 |
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.
A computing system can include a server computer and a configurable hardware platform. The server computer can include instances or domains such as a management partition and a user partition. The management partition can be used to perform management services for the user partitions and the configurable hardware platform. The configurable hardware platform is coupled to the server computer, and can include a host logic and a configurable application logic. In an embodiment, the computing system is configured to provide the user partition with physical or virtual access to a first part of the configurable hardware platform through the host logic in the configurable hardware platform. The computing system is also configured to provide the user partition with virtual access to certain portions/resources associated with the configurable hardware platform.
Opening claim text (preview).
What is claimed is: 1. A computing system, comprising: a server computer, comprising a management partition and a user partition; and a configurable hardware platform coupled to the server computer, the configurable hardware platform comprising a field-programmable gate array (FPGA) including a host logic and a configurable application logic, the host logic encapsulating the configurable application logic; wherein the configurable hardware platform comprises a mailbox logic configured to pass messages between the management partition and the user partition; wherein the computing system is configured to provide the user partition with physical or direct access to a first part of the configurable hardware platform through the host logic in the configurable hardware platform; and wherein the computing system is configured to provide the user partition with only virtual access to a second part of the configurable hardware platform through the management partition; wherein providing the user partition with virtual access to the second part of the configurable hardware platform comprises: the user partition sending a request for an action through the mailbox logic to the management partition; the management partition performing the action; and the management partition returning a result of the action through the mailbox logic to the user partition. 2. The computing system of claim 1 , wherein the host logic is configured to provide virtual access to resources in the host logic and configurable application logic. 3. The computing system of claim 1 , wherein the configurable application logic is configured to provide direct or virtual access to resources in the configurable application logic. 4. The computing system of claim 1 , wherein the second part of the configurable hardware platform comprises control and status signals, metrics, or counters. 5. The computing system of claim 1 , wherein the management partition is configured to provide, to the user partition, a virtual counter value based on a counter register in the configurable hardware platform by: upon receiving a user request for counter reset, resetting the virtual counter value and taking a snapshot value of the counter register; and upon receiving a user request for counter value, reporting a virtual counter value that is equal to a difference between a current value of the counter register and the snapshot value. 6. The computing system of claim 5 , wherein the counter register is configured to count occurrences of a pre-determined event. 7. The computing system of claim 5 , wherein the counter register is configured to count an elapsed time. 8. The computing system of claim 1 , wherein the configurable hardware platform is configured to provide to the user partition a virtual DIP-switch function as part of the virtual access to the second part of the configurable hardware platform. 9. The computing system of claim 1 , wherein the configurable hardware platform is configured to provide to the user partition a virtual LED function as part of the virtual access to the second part of the configurable hardware platform. 10. A computing system, comprising: a server computer, comprising a management partition and a user partition; and a configurable hardware platform coupled to the server computer, the configurable hardware platform including a host logic and a configurable application logic, the host logic encapsulating the configurable application logic; wherein the computing system is configured to provide the user partition with physical or virtual access to a first part of the configurable hardware platform through the host logic in the configurable hardware platform; and wherein the computing system is configured to provide the user partition with virtual access to a second part of the configurable hardware platform through the management partition; wherein the management partition is configured to provide, to the user partition, a virtual counter value based on a counter register in the configurable hardware platform by: upon receiving a user request for counter reset, resetting the virtual counter value and taking a snapshot value of the counter register; and upon receiving a user request for counter value, reporting a virtual counter value that is equal to a difference between a current value of the counter register and the snapshot value. 11. The computing system of claim 10 , wherein the counter register is configured to count occurrences of a pre-determined event. 12. The computing system of claim 10 , wherein the counter register is configured to count an elapsed time. 13. The computing system of claim 10 , wherein the configurable application logic is configured to provide direct or virtual access to resources in the configurable application logic. 14. A method, comprising: receiving, from a user partition in a server computer, a first command requesting for resources in a configurable hardware platform coupled to the server computer, the configurable hardware platform comprising a field-programmable gate array (FPGA) including a host logic and a configurable application logic, the server computer further comprising a management partition; providing the user partition with physical or direct access to a first part of the configurable hardware platform through the host logic in the configurable hardware platform; and providing the user partition with only virtual access to a second part of the configurable hardware platform through the management partition; wherein providing the user partition with virtual access to the second part of the configurable hardware platform comprises: the user partition sending a request for an action through a mailbox logic to the management partition, the mailbox logic configured to pass messages between the management partition and the user partition; the management partition performing the action; and the management partition returning a result of the action through the mailbox logic to the user partition. 15. The method of claim 14 , wherein the configurable application logic is configured to provide direct or virtual access to resources in the configurable application logic. 16. The method of claim 14 , wherein the second part of the configurable hardware platform comprises control and status signals, metrics, or counters.
Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title
Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title
involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416) · CPC title
I/O management, e.g. providing access to device drivers or storage · CPC title
for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.