Providing, at least in part, at least one indication that at least one portion of data is available for processing

US9608842B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9608842-B2
Application numberUS-201314106253-A
CountryUS
Kind codeB2
Filing dateDec 13, 2013
Priority dateDec 13, 2013
Publication dateMar 28, 2017
Grant dateMar 28, 2017

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.

An embodiment may include circuitry that may provide, at least in part, at least one indication that at least one portion of data is available for processing by at least one data processor. The at least one indication may be provided, at least in part, prior to the entirety of the at least one portion of the data being available for the processing by the at least one data processor. The at least one data processor may begin the processing in response, at least in part, to the at least one indication. Many alternatives, variations, and modifications are possible.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus usable, at least in part, in association with at least one host, the apparatus comprising: circuitry to provide, at least in part, at least one indication that at least one portion of data is available for processing by at least one data processor, the at least one indication to be provided, at least in part, prior to an entirety of the at least one portion of the data being available for the processing by the at least one data processor, the at least one data processor to begin the processing in response, at least in part, to the at least one indication; the circuitry also to provide information in at least one descriptor, the at least one descriptor to be written in at least one memory location, the information to be logically set to indicate, at least in part, whether the at least one descriptor is valid, the at least one descriptor being associated with the at least one portion of the data; wherein, after the at least one descriptor has been processed at least in part, the at least one descriptor is to be modified by resetting the information to indicate, at least in part, that the at least one descriptor is available to be overwritten, at least in part, and after the resetting, the at least one descriptor, as modified, is to overwrite the at least one memory location; and also wherein: determination by the circuitry that the information indicates, at least in part, that the at least one descriptor is no longer valid, is to result, at least in part, in the at least one data processor discontinuing processing of the at least one descriptor and the at least one portion of the data that is associated with the at least one descriptor; and the circuitry is to provide, at least in part, the at least one indication by writing the at least one indication into at least one circular ring data structure entry in a circular ring data structure prior to, at least in part, an initiation, at least in part, by circuitry of writing of the at least one portion of the data, the at least one descriptor, and the information. 2. The apparatus of claim 1 , wherein: the circuitry comprises, at least in part, at least one host processor; at least one circuit board comprises, at least in part, host memory and the at least one host processor; the at least one data processor comprises, at least in part, network interface controller (NIC) circuitry (NICC); at least one circuit card comprises, at least in part, the NICC; the at least one circuit card is to be communicatively coupled, at least in part, to the at least one circuit board; the at least one indication comprises at least one doorbell that is to be written, at least in part, to the host memory; and the at least one doorbell comprises: at least one pointer to the at least one portion of the data; and at least one indicator to indicate, at least in part, at least one size of the at least one portion of the data. 3. The apparatus of claim 1 , wherein: the circuitry is to write, at least in part, the at least one indication to at least one memory mapped input/output (MMIO) space in host memory, the at least one MMIO space being associated, at least in part, with the at least one data processor; the data comprises the at least one portion of the data and at least one other portion of the data; the at least one indication comprises at least one pointer to the at least one portion of the data; the at least one indication is to indicate that both of the at least one portion of the data and the at least one other portion of the data are available for the processing by the at least one data processor; the at least one data processor is to begin the processing of the at least one portion of the data prior to the at least one other portion of the data being actually available for the processing by the at least one data processor; and the circuitry is to make the at least one other portion of the data available, at least in part, for the processing by the at least one data processor contemporaneously, at least in part, with the processing of the at least one portion of the data by the at least one data processor. 4. The apparatus of claim 1 , wherein: the circuitry is to write into at least one subset of host memory: the at least one portion of the data; the at least one descriptor; and the information, the information also being associated, at least in part, with contents of the at least one subset of the host memory, the information indicating, at least in part, whether the at least one portion of the data and the at least one descriptor written in the at least one subset of the host memory are valid; the at least one data processor is to initiate reading of the at least one portion of the data, the at least one descriptor, and the information, such that the reading is to occur contemporaneously, at least in part, with writing by the circuitry into the at least one subset of the host memory of the at least one portion of the data, the at least one descriptor, and the information. 5. The apparatus of claim 4 , wherein: the at least one subset of the host memory comprises: at least one pre-allocated memory ring in host kernel memory to store the at least one descriptor; and at least one host kernel memory buffer to store the at least one portion of the data; the at least one descriptor is written into the at least one pre-allocated memory ring after the at least one portion of the data has been written into the at least one host kernel memory buffer; the at least one indication comprises at least one doorbell that is to be written into at least one doorbell ring associated, at least in part, with the at least one data processor; and the at least one data processor is to examine the information to determine, at least in part, whether the at least one descriptor and the at least one portion of the data are valid. 6. The apparatus of claim 5 , wherein: the information comprises: respective descriptor information to indicate, at least in part, whether the at least one descriptor is valid; respective data portion information to indicate, at least in part, whether the at least one portion of the data is valid; after the at least one data processor has processed the at least one portion of the data and the at least one descriptor, the at least one data processor is to modify the respective data portion information and the respective descriptor information to indicate that the at least one portion of the data and the at least one descriptor are no longer valid and have been made available to the circuitry for reuse. 7. The apparatus of claim 5 , wherein: the circuitry is to copy the at least one portion of the data from at least one application buffer into the at least one host kernel memory buffer; the at least one indication is to indicate, at least in part: at least one location of the at least one portion of the data in the at least one host kernel memory buffer; and a number of portions of the data to be processed by the at least one data processor; and the at least one data processor is to maintain a counter to be used in determining, at least in part, whether the at least one data processor has completely processed all of the number of portions of the data. 8. A method implemented, at least in part, in association with at least one host, the method comprising: providing, at least in part, by circuitry, at least one indication that at least one portion of data is available for processing by at least one data processor, the at least one indication to be provided, at least in part, prior to an entirety of the at least one portion of the data being available for the processing by the at least one data processor, the at least one data processor t

Assignees

Inventors

Classifications

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 US9608842B2 cover?
An embodiment may include circuitry that may provide, at least in part, at least one indication that at least one portion of data is available for processing by at least one data processor. The at least one indication may be provided, at least in part, prior to the entirety of the at least one portion of the data being available for the processing by the at least one data processor. The at leas…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification H04L12/6418. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 28 2017 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).