发明名称 Data caching in a network communications processor architecture
摘要 Described embodiments provide for storing data in a local cache of one of a plurality of processing modules of a network processor. A control processing module determines presence of data stored in its local cache while concurrently sending a request to read the data from a shared memory and from one or more local caches corresponding to other of the plurality of processing modules. Each of the plurality of processing modules responds whether the data is located in one or more corresponding local caches. The control processing module determines, based on the responses, presence of the data in the local caches corresponding to the other processing modules. If the data is present in one of the local caches corresponding to one of the other processing modules, the control processing module reads the data from the local cache containing the data and cancels the read request to the shared memory.
申请公布号 US9218290(B2) 申请公布日期 2015.12.22
申请号 US201113192187 申请日期 2011.07.27
申请人 Intel Corporation 发明人 Sonnier David P.;Brown David A.;Peet, Jr. Charles Edward
分类号 G06F12/00;G06F12/08 主分类号 G06F12/00
代理机构 Nicholson De Vos Webster & Elliott LLP 代理人 Nicholson De Vos Webster & Elliott LLP
主权项 1. A method of storing data in a local cache of a control processing module of a network processor having a plurality of processing modules and at least one shared memory, the method comprising: determining, by the control processing module, presence of data stored in a local cache of the control processing module, the data for an operation of the control processing module, while concurrently sending (i) a speculative read request to the at least one shared memory to read the data from the at least one shared memory, and (ii) a second read request to one or more of the plurality of processing modules of the network processor; determining, by a memory controller of the at least one shared memory, a physical address of the data in the at least one shared memory in response to the speculative read request; responding to the second read request, by each of the one of more of the plurality of processing modules, whether the data is located in one or more local caches of the one or more of the plurality of processing modules; determining, by the control processing module based on the responses of the one or more of the plurality of processing modules, presence of the data in one or more local caches of the one or more of the plurality of processing modules; and if the control processing module determines that the data is not present in the local cache processing module, but that the data is present in one of the local caches of the one or more of the plurality of processing modules: reading, by the control processing module, the data from one of the local caches of the one or more of the plurality of processing modules containing the data; andcanceling, by the control processing module, the speculative read request to the at least one shared memory;wherein if the control processing module determines the data is not present in one of the local caches of the other control processing modules: sending a control signal to the at least one shared memory to indicate to proceed with the speculative read request; andreading the data from the at least one shared memory; wherein the speculative read request is sent to the at least one shared memory of the network processor over a read interface of the network processor, the speculative read request comprising a read request that includes a speculative read indicator which indicates that the read request is a speculative read request; wherein the speculative read request is canceled by the control processing module sending a control signal over a dedicated speculative read interface of the network processor, which is separate from the read interface of the network processor.
地址 Santa Clara CA US