An apparatus and method for reordering data at a data destination is
provided. The apparatus and method provides dynamic, adaptive management
of receive buffers in a host channel adapter while recovering on the fly
the order of data sent over a medium that does not preserve order. In an
exemplary embodiment, the method and apparatus provides a method and
apparatus of reordering data of a data transmission received from a source
device. The method and apparatus receives, in a data transfer buffer, a
data packet transmitted over a connection associated with the source
device and determines if the connection requires reordering of data
packets. If the connection requires reordering of data packets, the data
packet is transferred from the data transfer buffer to a reorder buffer
and a reorder state cache is updated to reflect the transfer of the data
packet to the reorder buffer. In response to receipt of a request to
transfer data from the reorder buffer to the host memory, a next data
packet sequence number is fetched from the reorder state cache and a
position in the reorder buffer of the data associated with the next data
packet sequence number entry is identified. The data is at this identified
position is then transferred to the host memory.
Μια συσκευή και μια μέθοδος για τα στοιχεία σε έναν προορισμό στοιχείων παρέχονται. Η συσκευή και η μέθοδος παρέχουν δυναμικό, η προσαρμοστική διαχείριση λαμβάνει τους απομονωτές σε έναν προσαρμοστή καναλιών οικοδεσποτών ανακτώντας στη μύγα τη διαταγή των στοιχείων που στέλνονται πέρα από ένα μέσο που δεν συντηρεί τη διαταγή. Σε μια υποδειγματική ενσωμάτωση, η μέθοδος και η συσκευή παρέχουν μια μέθοδο και μια συσκευή τα στοιχεία μιας μετάδοσης στοιχείων που παραλαμβάνεται από μια συσκευή πηγής. Η μέθοδος και η συσκευή λαμβάνουν, σε έναν απομονωτή μεταφοράς στοιχείων, ένα πακέτο στοιχείων που διαβιβάζεται πέρα από μια σύνδεση που συνδέεται με τη συσκευή πηγής και καθορίζουν εάν η σύνδεση απαιτεί την ξαναπαραγγελία των πακέτων στοιχείων. Εάν η σύνδεση απαιτεί την ξαναπαραγγελία των πακέτων στοιχείων, το πακέτο στοιχείων μεταφέρεται από τον απομονωτή μεταφοράς στοιχείων ξαναπαραγγέλλει τον απομονωτή και ξαναπαραγγείλετε την κρατική κρύπτη ενημερώνεται για να απεικονίσει ότι η μεταφορά του πακέτου στοιχείων ξαναπαραγγέλλει τον απομονωτή. Σε απάντηση στην παραλαβή ενός αιτήματος να μεταφερθούν τα στοιχεία από ξαναπαραγγείλετε τον απομονωτή στη μνήμη οικοδεσποτών, ένας επόμενος αριθμός ακολουθίας πακέτων στοιχείων προσκομίζεται από ξαναπαραγγέλλει την κρατική κρύπτη και μια θέση ξαναπαραγγέλλει τον απομονωτή των στοιχείων που συνδέονται με την επόμενη είσοδο αριθμού ακολουθίας πακέτων στοιχείων προσδιορίζεται. Το στοιχείο είναι σε αυτήν την προσδιορισμένη θέση μεταφέρεται έπειτα στη μνήμη οικοδεσποτών.