×

Asynchronous Linked Data Structure Traversal

  • US 20080263091A1
  • Filed: 06/27/2008
  • Published: 10/23/2008
  • Est. Priority Date: 08/16/2005
  • Status: Active Grant
First Claim
Patent Images

1. A computer program product comprising:

  • a computer memory, the computer memory storing computer readable code, the computer readable code configured to;

    identify a number of nodes to search in the linked data structure;

    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;

    store a parent node effective address in a first effective address field included in a first direct memory access list element;

    set a first notification flag located in a first transfer size field included in the first direct memory access list element;

    invoke a memory flow controller to retrieve parent node data located at the parent node effective address;

    in response to the invoking, retrieve the parent node data by the memory flow controller;

    store, by the memory flow controller, the parent node data in a first storage location;

    receive an asynchronous event interrupt from the memory flow controller;

    stall execution at the memory flow controller in response to detecting that the first notification flag is set;

    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;

    determine whether a node value included in the parent node data matches a search value;

    in response to determining that the node value included in the parent node data does not match the search value, 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, the child node effective address included in the parent node data;

    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;

    re-invoke the memory flow controller to retrieve child node data located at the child node effective address;

    in response to the re-invoking, retrieve the child node data by the memory flow controller;

    store, by the memory flow controller, the child node data in a second storage location; and

    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
    ×
    ×