×

Asynchronous linked data structure traversal

  • US 7,984,075 B2
  • Filed: 06/27/2008
  • Issued: 07/19/2011
  • Est. Priority Date: 08/16/2005
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product comprising:

  • a computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising;

    computer readable program code configured to identify a number of nodes to search in a linked data structure;

    computer readable program code configured to reserve a plurality of direct memory access list elements corresponding to the identified number of nodes in which to search, wherein each direct memory access list element includes a transfer size field and an effective address field;

    computer readable program code configured to store a parent node effective address in a first effective address field included in a first direct memory access list element;

    computer readable program code configured to set a first notification flag located in a first transfer size field included in the first direct memory access list element;

    computer readable program code configured to invoke a memory flow controller to retrieve parent node data located at the parent node effective address;

    computer readable program code configured to retrieve the parent node data by the memory flow controller in response to the invoking;

    computer readable program code configured to store, by the memory flow controller, the parent node data in a first storage location;

    computer readable program code configured to receive an asynchronous event interrupt from the memory flow controller;

    computer readable program code configured to stall execution at the memory flow controller in response to detecting that the first notification flag is set;

    computer readable program code configured to retrieve the parent node data corresponding to the parent node effective address from the first storage location in response to receiving the asynchronous event interrupt, the parent node data included in the linked data structure;

    computer readable program code configured to determine whether a node value included in the parent node data matches a search value;

    computer readable program code configured to store a child node effective address that corresponds to a second memory location in a second effective address field included in a second direct memory access list element included in the plurality of direct memory access list elements in response to determining that the node value included in the parent node data does not match the search value, the child node effective address included in the parent node data;

    computer readable program code configured to set a second notification flag that corresponds to the child node effective address, the second notification flag located in a second transfer size field included in the second direct memory access list element;

    computer readable program code configured to re-invoke the memory flow controller to retrieve child node data located at the child node effective address;

    computer readable program code configured to retrieve the child node data by the memory flow controller in response to the re-invoking;

    computer readable program code configured to store, by the memory flow controller, the child node data in a second storage location; and

    computer readable program code configured to stall execution at the memory flow controller in response to detecting that the second notification flag is set.

View all claims
  • 3 Assignments
Timeline View
Assignment View
    ×
    ×