-
公开(公告)号:US10963172B2
公开(公告)日:2021-03-30
申请号:US16059766
申请日:2018-08-09
Applicant: Apple Inc.
Inventor: Nachiappan Chidambaram Nachiappan , David L. Trawick , Yiu Chun Tse , Deniz Balkan , Hengsheng Geng , Shawn Munetoshi Fukami , Jaideep Dastidar , Benjamin K. Dodge , Vinodh R. Cuppu
IPC: G06F3/06 , G06F13/16 , H04W72/04 , H04W28/02 , H04L12/853
Abstract: A system and method for efficiently allocating data storage to agents. A computing system includes an interconnect with intermediate buffers for storing transactions and corresponding payload data during transport between sources and destinations. A data storage limit is set on an amount of data storage corresponding to outstanding transactions for each of the multiple sources based on the initial buffer assignments. A number of outstanding transactions for each of the multiple sources is limited based on a corresponding data storage limit. If the rate of allocation of a given buffer assigned to a first source exceeds a threshold, then a second source is selected with available space exceeding a threshold in an assigned buffer. If it is determined the second source is not assigned to a buffer with a rate of allocation exceeding a threshold, then buffer storage is reassigned from the second source to the first source.
-
公开(公告)号:US20200050379A1
公开(公告)日:2020-02-13
申请号:US16059766
申请日:2018-08-09
Applicant: Apple Inc.
Inventor: Nachiappan Chidambaram Nachiappan , David L. Trawick , Yiu Chun Tse , Deniz Balkan , Hengsheng Geng , Shawn Munetoshi Fukami , Jaideep Dastidar , Benjamin K. Dodge , Vinodh R. Cuppu
IPC: G06F3/06 , G06F13/16 , H04W72/04 , H04L12/853 , H04W28/02
Abstract: A system and method for efficiently allocating data storage to agents. A computing system includes an interconnect with intermediate buffers for storing transactions and corresponding payload data during transport between sources and destinations. A data storage limit is set on an amount of data storage corresponding to outstanding transactions for each of the multiple sources based on the initial buffer assignments. A number of outstanding transactions for each of the multiple sources is limited based on a corresponding data storage limit. If the rate of allocation of a given buffer assigned to a first source exceeds a threshold, then a second source is selected with available space exceeding a threshold in an assigned buffer. If it is determined the second source is not assigned to a buffer with a rate of allocation exceeding a threshold, then buffer storage is reassigned from the second source to the first source.
-
公开(公告)号:US10255218B1
公开(公告)日:2019-04-09
申请号:US16017198
申请日:2018-06-25
Applicant: Apple Inc.
Inventor: Yiu Chun Tse , Deniz Balkan , Vinodh R. Cuppu , Shawn Munetoshi Fukami , Jaideep Dastidar , Hengsheng Geng
Abstract: A system and method for efficiently bridging two communication protocols. In various embodiments, a computing system includes an interconnect for routing traffic among agents and endpoints. The agents use a first communication protocol and the endpoints use a second communication protocol that differs from the first protocol with regard to at least the ordering that is enforced between transactions. A bridge selects transactions of a first type and a second type used in the first protocol for processing based on the first protocol ordering while using acknowledgments used by the second protocol.
-
公开(公告)号:US10965478B2
公开(公告)日:2021-03-30
申请号:US16055478
申请日:2018-08-06
Applicant: Apple Inc.
Inventor: Shawn Munetoshi Fukami , Hengsheng Geng
IPC: H04L12/12 , H04L29/08 , H04L12/46 , H04L12/933
Abstract: A system and method for efficiently disconnecting links in a communication fabric. A computing system includes a fabric for routing traffic among one or more agents and a memory controller for system memory. The fabric includes multiple hierarchical clusters with a split topology where the data links are physically separated from the control links. When the controller in an intermediate cluster or agent determines local resources are idle, the controller sends separate requests for link disconnect on each of the upstream control and data links. When a single acknowledgment of link disconnect is received, the controller does not proceed with any link disconnect. Rather, the controller waits until an acknowledgment of link disconnect is received for each of the upstream control and data links. If local resources remain idle, the controller sends confirmation upstream and performs a link disconnect for each of the upstream control and data links.
-
公开(公告)号:US20200044877A1
公开(公告)日:2020-02-06
申请号:US16055478
申请日:2018-08-06
Applicant: Apple Inc.
Inventor: Shawn Munetoshi Fukami , Hengsheng Geng
Abstract: A system and method for efficiently disconnecting links in a communication fabric. A computing system includes a fabric for routing traffic among one or more agents and a memory controller for system memory. The fabric includes multiple hierarchical clusters with a split topology where the data links are physically separated from the control links. When the controller in an intermediate cluster or agent determines local resources are idle, the controller sends separate requests for link disconnect on each of the upstream control and data links. When a single acknowledgment of link disconnect is received, the controller does not proceed with any link disconnect. Rather, the controller waits until an acknowledgment of link disconnect is received for each of the upstream control and data links. If local resources remain idle, the controller sends confirmation upstream and performs a link disconnect for each of the upstream control and data links.
-
公开(公告)号:US10423558B1
公开(公告)日:2019-09-24
申请号:US16058433
申请日:2018-08-08
Applicant: Apple Inc.
Inventor: Shawn Munetoshi Fukami , Yiu Chun Tse , David L. Trawick , Hengsheng Geng , Jaideep Dastidar , Vinodh R. Cuppu , Deniz Balkan
Abstract: A system and method for efficiently routing data in a communication fabric. A computing system includes a fabric for routing data among one or more agents and a memory controller for system memory. The fabric includes multiple hierarchical clusters with a split topology where the data links are physically separated from the control links. A given cluster receives a write command and associated write data, and stores them in respective buffers. The given cluster marks the write command as a candidate to be issued to the memory controller when it is determined the write data will arrive ahead of the write command at the memory controller after being issued. The given cluster prevents the write command from becoming a candidate to be issued when it is determined the write data may not arrive ahead of the write command at the memory controller.
-
-
-
-
-