Asynchronously traversing a disjoint linked data structure is presented. A
synergistic processing unit (SPU) includes a handler that works in
conjunction with a memory flow controller (MFC) to traverse a disjoint
linked data structure. The handler compares a search value with a node
value, and provides the MFC with an effective address of the next node to
traverse based upon the comparison. In turn, the MFC retrieves the
corresponding node data from system memory and stores the node data in
the SPU's local storage area. The MFC stalls processing and sends an
asynchronous event interrupt to the SPU which, as a result, instructs the
handler to retrieve and compare the latest node data in the local storage
area with the search value. The traversal continues until the handler
matches the search value with a node value or until the handler
determines a failed search.