System and method for polling-based storage command processing

US11586569B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11586569-B2
Application numberUS-202117383604-A
CountryUS
Kind codeB2
Filing dateJul 23, 2021
Priority dateJul 23, 2021
Publication dateFeb 21, 2023
Grant dateFeb 21, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method, computer program product, and computing system for assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores. A second set of interrupts may be assigned for processing by a second set of CPU cores. The first set of interrupts may be processed using the first set of CPU cores. The second set of interrupts may be converted to a set of polling operations, thus defining a set of converted polling operations. The set of converted polling operations may be processed using the second set of CPU cores.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, executed on a computing device, comprising: assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores; assigning a second set of interrupts for processing by a second set of CPU cores; processing the first set of interrupts using the first set of CPU cores; converting the second set of interrupts to a set of polling operations, thus defining a set of converted polling operations; and processing the set of converted polling operations using the second set of CPU cores. 2. The computer-implemented method of claim 1 , wherein converting the second set of interrupts to a set of polling operations includes: preventing the second set of interrupts from being processed as interrupts; and storing each interrupt of the second set of interrupts as a polling operation on one or more buffers. 3. The computer-implemented method of claim 2 , wherein processing the set of converted polling operations using the second set of CPU cores includes polling the set of converted polling operations from the one or more buffers using the second set of CPU cores. 4. The computer-implemented method of claim 1 , wherein the first set of interrupts and the second set of interrupts include one or more interrupts associated with Fibre Channel protocol transport layer. 5. The computer-implemented method of claim 4 , wherein the first set of interrupts include one or more IO command interrupts. 6. The computer-implemented method of claim 5 , further comprising: determining, using the one or more IO command interrupts, whether an IO command interrupt is associated with a read command or a write command; in response to determining that the IO command interrupt is associated with a read command, converting the read command interrupt to a polling operation; and in response to determining that the IO command interrupt is associated with a write command, processing the write command interrupt using the first set of CPU cores. 7. The computer-implemented method of claim 4 , wherein the second set of interrupts include at least one of: one or more backend submission command interrupts; and one or more transaction completion interrupts. 8. A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising: assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores; assigning a second set of interrupts for processing by a second set of CPU cores; processing the first set of interrupts using the first set of CPU cores; converting the second set of interrupts to a set of polling operations, thus defining a set of converted polling operations; and processing the set of converted polling operations using the second set of CPU cores. 9. The computer program product of claim 8 , wherein converting the second set of interrupts to a set of polling operations includes: preventing the second set of interrupts from being processed as interrupts; and storing each interrupt of the second set of interrupts as a polling operation on one or more buffers. 10. The computer program product of claim 9 , wherein processing the set of converted polling operations using the second set of CPU cores includes polling the set of converted polling operations from the one or more buffers using the second set of CPU cores. 11. The computer program product of claim 8 , wherein the first set of interrupts and the second set of interrupts include one or more interrupts associated with Fibre Channel protocol transport layer. 12. The computer program product of claim 11 , wherein the first set of interrupts include one or more IO command interrupts. 13. The computer program product of claim 12 , wherein the operations further comprise: determining, using the one or more IO command interrupts, whether an IO command interrupt is associated with a read command or a write command; in response to determining that the IO command interrupt is associated with a read command, converting the read command interrupt to a polling operation; and in response to determining that the IO command interrupt is associated with a write command, processing the write command interrupt using the first set of CPU cores. 14. The computer program product of claim 11 , wherein the second set of interrupts include at least one of: one or more backend submission command interrupts; and one or more transaction completion interrupts. 15. A computing system comprising: a memory; and a processor configured to assign a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores, wherein the processor is further configured to assign a second set of interrupts for processing by a second set of CPU cores, wherein the processor is further configured to process the first set of interrupts using the first set of CPU cores, wherein the processor is further configured to convert the second set of interrupts to a set of polling operations, thus defining a set of converted polling operations, and wherein the processor is further configured to process the set of converted polling operations using the second set of CPU cores. 16. The computing system of claim 15 , wherein converting the second set of interrupts to a set of polling operations includes: preventing the second set of interrupts from being processed as interrupts; and storing each interrupt of the second set of interrupts as a polling operation on one or more buffers. 17. The computing system of claim 16 , wherein processing the set of converted polling operations using the second set of CPU cores includes polling the set of converted polling operations from the one or more buffers using the second set of CPU cores. 18. The computing system of claim 15 , wherein the first set of interrupts and the second set of interrupts include one or more interrupts associated with Fibre Channel protocol transport layer. 19. The computing system of claim 18 , wherein the first set of interrupts include one or more IO command interrupts. 20. The computing system of claim 18 , wherein the second set of interrupts include at least one of: one or more backend submission command interrupts; and one or more transaction completion interrupts.

Assignees

Inventors

Classifications

  • G06F13/24Primary

    using interrupt (G06F13/32 takes precedence) · CPC title

  • where the program performs an interfacing function, e.g. device driver (G06F13/105 takes precedence; contention policies within device drivers G06F9/4881; scheduling within device drivers G06F9/52) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11586569B2 cover?
A method, computer program product, and computing system for assigning a first set of interrupts for exclusive processing by a first set of central processing units (CPU) cores. A second set of interrupts may be assigned for processing by a second set of CPU cores. The first set of interrupts may be processed using the first set of CPU cores. The second set of interrupts may be converted to a s…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F13/24. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 21 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).