发明名称 Prefetch optimization of the communication of data using descriptor lists
摘要 The size and location of an envelope of a data block are included in the posting to a second device of a descriptor list entry for the data block, thus allowing the second device to read the data block without having to first read the descriptor list entry. This envelope may be the same size and location of the data block, or this envelope may be larger than the data block. For example, as the size of the posted register may not be large enough to also store all of the bits required to specify the exact size and position of the data block, a larger data block envelope is defined without specifying the exact low order bits of the size and/or location of the data block envelope.
申请公布号 US8904032(B2) 申请公布日期 2014.12.02
申请号 US200912471702 申请日期 2009.05.26
申请人 Cisco Technology, Inc. 发明人 Galles Michael B.
分类号 G06F15/16;H04L12/879;H04L12/861 主分类号 G06F15/16
代理机构 The Law Office of Kirk D. Williams 代理人 The Law Office of Kirk D. Williams
主权项 1. An apparatus, comprising: a first device including: first memory and one or more first processors configured to store an ordered descriptor list and a plurality of data blocks in said first memory, with the ordered descriptor list including a plurality of ordered descriptor list entries with each of the plurality of ordered descriptor list entries including a size value and a reference value for identifying the location of a corresponding one or more data blocks of the plurality of data blocks; and a second device, communicatively coupled to said first device, with the second device including: a storage device interface configured to retrieve from said first memory one or more particular data blocks of the plurality of data blocks identified in a posted index storage entry which corresponds to a particular ordered descriptor list entry of the ordered descriptor list received from the first device and stored within the storage device interface as the posted index storage entry, wherein said configuration to retrieve said one or more particular data blocks includes reading a data block envelope larger than and encompassing said one or more particular data blocks and then extracting said one or more particular data blocks from the data block envelope; wherein the posted index storage entry includes a pointer to the particular ordered descriptor list entry, a data block envelope size and a data block envelope reference value identifying the size and position of the data block envelope in said first memory; and wherein the second device is configured to read the data block envelope based on the data block envelope size and the data block envelope reference value without reliance on data acquired by reading the particular ordered descriptor list entry, and to read the particular ordered descriptor list entry based on the pointer, and to extract said one or more particular data blocks from the data block envelope based on the size value and the reference value of said read particular ordered descriptor list entry.
地址 San Jose CA US