This application is related in some aspects to commonly owned and co-pending 12/275,521, entitled “Charge Transfer for Digital Circuits,” filed Nov. 21, 2008, the entire contents of which are herein incorporated by reference. This application is also related in some aspects to commonly owned and co-pending 12/275,508, entitled “Mounted Cache Memory in a Multi-Core Processor (MCP),” filed Nov. 21, 2008, the entire contents of which are herein incorporated by reference. This application is also related in some aspects to commonly owned and co-pending 12/275,552, entitled “Cache Memory Sharing in a Multi-Core Processor (MCP),” filed Nov. 21, 2008, the entire contents of which are herein incorporated by reference. This application is also related in some aspects to commonly owned and co-pending 12/276,069, entitled “Pseudo Cache Memory in a Multi-Core Processor (MCP),” filed Nov. 21, 2008, the entire contents of which are herein incorporated by reference.
The preset invention generally relates to multi-core processors (MCP). Specifically, the present invention relates to the bypassing of low yield or dead cache memory units in a MCP.
Multi-Core Processor (MCP) with hierarchical architecture is a trend for state-of-the-art digital system. Typically, MCPs are implemented with aggressively scaled nanometer CMOS technologies to have high device density and multi-core design. On the other hand, yield failure is caused by the process variability and defects in nanometer CMOS manufacturing. With the hierarchical architecture, a partial failure causes extensive damage to the components in the tree hierarchy and architecture. Therefore, system design and operation methods to salvage operational component blocks are essential to improve product yield as well as to increase the reliability.
This invention describes an apparatus, computer architecture, memory structure, memory control, and cache memory operation method for multi-core processor. A logic core bypasses immediate cache memory units with low yield or deadly performance. The core mounts (multiple) cache unit(s) that might already be in use by other logic cores. Selected cache memory units serve multiple logic cores with the same contents. The shared cache memory unit(s) serves all the mounting cores with cache search, hit, miss, and write back functions. The method recovers a logic core whose cache memory block is not operational by sharing cache memory blocks which might already engage other logic cores. The method is used to improve reliability and performance of the remaining system.
A first aspect of the present invention provides a bypass memory system, comprising: a first memory unit mounted on a bus; a first cache manager coupled to the first memory unit; and a second memory unit mounted on the bus, the first cache manager being operable to: receive a request, bypass the first memory unit with the request, and send the request to the second memory unit.
A second aspect of the present invention provides a cache memory bypass system, comprising: a first cache memory unit mounted on a bus; a first cache manager coupled to an input and an output of the first cache memory unit; a first set of sub-cache memory units coupled to the first cache manager; a second cache memory unit mounted on the bus; a second cache manager coupled to an input and an output of the second cache memory unit; and a second set of sub-cache memory units coupled to the second cache manager, the first cache manager and the second cache manager each being operable to: receive a request, bypass a cache memory unit to which it is coupled, and send the request to different cache memory unit.
A third aspect of the present invention provides a memory bypass method, comprising: receiving a first request on a cache manager, the first cache manager being coupled to a first memory unit, the first memory unit being coupled to a bus; and bypassing the first memory unit by sending the first request from the first cache manager to a second cache manager, the second cache manager being coupled to a second memory unit, the second memory unit being coupled to the bus.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
It should be understood that the drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
For convenience, the Detailed Description of the Invention has the following sections:
I. General Description
II. Illustrative Example
As indicated above, this disclosure describes an apparatus, computer architecture, memory structure, memory control, and cache memory operation method for multi-core processor. Specifically, under the present invention an available on-chip memory is coupled to another logic core or memory (e.g., cache) unit using a set of cache managers. Specifically, each cache manager is coupled to the input and output of a cache memory unit. This allows the assigned memory to become an extension of the same level cache, next level cache memory, or memory buffer. This also allows recovers a memory block whose logic core is not operational, and is used to improve cache memory performance of the system. It should be understood in advance the teachings herein are typically applied to a Multi-Core Processor (MCP), although this need not be the case. In addition, it should be understood although this disclosure discusses memory units as being (virtual) cache or sub-cache memory units, this is only one example of the way in which in the teachings recited herein could be implemented. As such, it should be understood that these teachings could be implemented in conjunction with any type of memory now known or later developed.
Multi-Core Processor (MCP) with hierarchical architecture is a trend for state-of-the-art digital system. And they are implemented with aggressively scaled nanometer CMOS technologies to have high device density and multi-core design. On the other hand, yield failure is caused by the process variability and defects in nanometer CMOS manufacturing. With the hierarchical architecture, a partial failure causes extensive damage to the components in the tree hierarchy and architecture. The invention is to improve the yield and the reliability of the MCP. This design includes architecture, memory structure, memory control, and cache memory operation method.
State-of-the-art digital systems employ multi-core processor architecture as shown below. They are arranged hierarchically for efficient operation and computation management and design scalability. Since they assume that all the components in the hierarchy are sound, one slight failure would cause catastrophic failure to the components in the tree architecture. The invention addressed a case especially when a memory block is intact, while logic components are damaged in the course of manufacturing, aging, and other reasons. In conventional design, all the components in the hierarchy and tree are abandoned, and it results in very expensive losses in MCP products. The invention proposes to ignore, separate, and bypass the immediate non-operational memory block belongs to a logic core, and to mount additional & available memory to the operational logic core. A cache manager wraps each cache memory at the same level for the operation—bypass, mount, and share. By revitalizing the logic core, the MCP computational power is restored partially. Among other things, the method improves chip performance and resilience to manufacturing defects.
Referring now to
Cache managers 18A-N foster communication among the components of
In step 5, if cache memory unit 16N the memory address, it will generate a L3 cache memory request (usually external memory on board) that is sent to a third cache memory unit (not shown) with bus 14. The L3 and remote cache search results are written back to cache memory unit 16A based on the return order and priority.
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.
Number | Name | Date | Kind |
---|---|---|---|
4357656 | Saltz | Nov 1982 | A |
5721883 | Katsuo et al. | Feb 1998 | A |
5821769 | Douseki | Oct 1998 | A |
5838047 | Yamanchi et al. | Nov 1998 | A |
6000007 | Leung et al. | Dec 1999 | A |
6038644 | Irie et al. | Mar 2000 | A |
6138208 | Dhong et al. | Oct 2000 | A |
6215898 | Woodfill et al. | Apr 2001 | B1 |
6289438 | Takayanagi | Sep 2001 | B1 |
6404239 | Kawahara et al. | Jun 2002 | B1 |
6404902 | Takano et al. | Jun 2002 | B1 |
6456737 | Woodfill et al. | Sep 2002 | B1 |
6535433 | Ooishi | Mar 2003 | B2 |
6567622 | Phillips | May 2003 | B2 |
6651145 | Jamil et al. | Nov 2003 | B1 |
6661931 | Kawada | Dec 2003 | B1 |
6744931 | Komiya et al. | Jun 2004 | B2 |
6829378 | DiFilippo et al. | Dec 2004 | B2 |
6922783 | Knee et al. | Jul 2005 | B2 |
7028196 | Soltis, Jr. et al. | Apr 2006 | B2 |
7039818 | Deng et al. | May 2006 | B2 |
7080267 | Gary et al. | Jul 2006 | B2 |
7095882 | Akahori | Aug 2006 | B2 |
7102777 | Haraguchi | Sep 2006 | B2 |
7142725 | Haraguchi | Sep 2006 | B2 |
7168070 | Archambault et al. | Jan 2007 | B2 |
7240160 | Hetherington et al. | Jul 2007 | B1 |
7260677 | Vartti et al. | Aug 2007 | B1 |
7418368 | Kim et al. | Aug 2008 | B2 |
7436205 | Tada | Oct 2008 | B2 |
7521762 | Nidaka | Apr 2009 | B2 |
7531944 | Itoh | May 2009 | B2 |
7685354 | Hetherington et al. | Mar 2010 | B1 |
7804329 | Cho et al. | Sep 2010 | B2 |
8082397 | Ezra | Dec 2011 | B1 |
8806129 | Duvalsaint et al. | Aug 2014 | B2 |
9122617 | Mercado et al. | Sep 2015 | B2 |
20020129208 | Barroso et al. | Sep 2002 | A1 |
20030080782 | Bailey et al. | May 2003 | A1 |
20030114205 | Yamashita | Jun 2003 | A1 |
20040059875 | Garg et al. | Mar 2004 | A1 |
20040210795 | Anderson | Oct 2004 | A1 |
20050034002 | Flautner | Feb 2005 | A1 |
20050083338 | Yun et al. | Apr 2005 | A1 |
20050144223 | Yang et al. | Jun 2005 | A1 |
20050263678 | Arakawa | Dec 2005 | A1 |
20050268039 | Archambault et al. | Dec 2005 | A1 |
20050289365 | Bhandarkar | Dec 2005 | A1 |
20060013473 | Woodfill et al. | Jan 2006 | A1 |
20060015772 | Ang et al. | Jan 2006 | A1 |
20060022742 | Parris et al. | Mar 2006 | A1 |
20060250514 | Inoue et al. | Nov 2006 | A1 |
20060268357 | Vook et al. | Nov 2006 | A1 |
20070159642 | Choi | Jul 2007 | A1 |
20070159842 | Choi | Jul 2007 | A1 |
20080015772 | Sanma et al. | Jan 2008 | A1 |
20080084775 | Hoberman et al. | Apr 2008 | A1 |
20080122479 | Hideto | May 2008 | A1 |
20100127730 | Duvalsaint et al. | May 2010 | A1 |
20100131712 | Duvalsaint et al. | May 2010 | A1 |
20100131713 | Duvalsaint et al. | May 2010 | A1 |
20100131716 | Duvalsaint et al. | May 2010 | A1 |
20100131717 | Duvalsaint et al. | May 2010 | A1 |
Number | Date | Country |
---|---|---|
1427340 | Jul 2003 | CN |
1474969 | Feb 2004 | CN |
1871587 | Nov 2006 | CN |
1662389 | May 2006 | EP |
1863177 | Dec 2007 | EP |
9525306 | Sep 1995 | WO |
9525306 | Sep 1995 | WO |
Entry |
---|
Sohi, G.S.; , “Cache memory organization to enhance the yield of high performance VLSI processors,” Computers, IEEE Transactions on , vol. 38, No. 4, pp. 484-492, Apr. 1989. |
Manu Thapar, Bruce Delagi, and Michael J. Flynn. 1991. Scalable Cache Coherence for Shared Memory Multiprocessors. In Proceedings of the First International ACPC Conference on Parallel Computation, Hans P. Zima (Ed.). Springer-Verlag, London, UK, UK, 1-12. |
Prosecution History for U.S. Appl. No. 12/275,508. |
Prosecution History for U.S. Appl. No. 12/275,552. |
Prosecution History for U.S. Appl. No. 12/276,069. |
Prosecution History for U.S. Appl. No. 12/275,521. |
Information Materials for IDS dated Jun. 22, 2011. |
Information Materials for IDS. |
Bibliographic Data for CN1474969(A) with English Abstract. |
Bibliographic Data for CN1871587(A) with English Abstract. |
Bibliographic Data for CN1427340(A) with English Abstract. |
U.S. Appl. No. 12/276,069, Office Action, dated Mar. 21, 2013, 31 pages. |
U.S. Appl. No. 12/276,069, Office Action, dated Mar. 26, 2014, 13 pages. |
U.S. Appl. No. 12/276,069, Office Action, dated Nov. 28, 2012, 17 pages. |
Ulrich Drepper, Memory Part 2: CPU Cache, 2007, http://lwn.net/Articles/252125/. |
U.S. Appl. No. 12/275,508, Office Action, dated May 23, 2013, 21 pages. |
U.S. Appl. No. 12/275,508, Notice of Allowance, dated Mar. 28, 2014, 41 pages. |
U.S. Appl. No. 12/275,552, Office Action, dated Mar. 25, 2014, 44 pages. |
U.S. Appl. No. 12/275,552, Office Action, dated Sep. 10, 2012, 64 pages. |
U.S. Appl. No. 12/275,552, Office Action, dated Jun. 26, 2014, 16 pages. |
U.S. Appl. No. 12/275,552, Office Action, dated May 23, 2013, 16 pages. |
U.S. Appl. No. 12/275,508, Office Action, dated Sep. 7, 2012, 21 pages. |
U.S. Appl. No. 12/275,508, Office Action, dated Mar. 29, 2011, 25 pages. |
U.S. Appl. No. 12/275,508, Final Office Action, dated Jun. 10, 2011, 17 pages. |
U.S. Appl. No. 12/276,069, Office Action, dated Mar. 14, 2011, 23 pages. |
U.S. Appl. No. 12/275,552, Office Action, dated Mar. 10, 2011, 22 pages. |
U.S. Appl. No. 12/275,552, Final Office Action, dated Jun. 7, 2011, 15 pages. |
U.S. Appl. No. 12/275,552, Examiner's Answer, dated Oct. 24, 2014, 14 pages. |
U.S. Appl. No. 12/275,521, Notice of Allowance, dated May 21, 2010, 12 pages. |
U.S. Appl. No. 12/276,069, Office Action, dated Sep. 11, 2014, 19 pages. |
U.S. Appl. No. 12/276,069, Final Office Action, dated Jan. 14, 2015, 14 pages. |
U.S. Appl. No. 12/276,069, Notice of Allowance, dated Apr. 29, 2015, 12 pages. |
Mercado, Ramon, U.S. Appl. No. 12/275,552, Office Action, dated Dec. 9, 2016, 22 pgs. |
Ramon A. Mercado, USPTO Notice of Allowance and Fee(s) Due, U.S. Appl. No. 12/275,552, dated Jul. 11, 2017, 61 pages. |
Levacq, D. et al., Backgate Bias Accelerator for 10ns-order Sleep-to-Active Modes Transition time, IEEE Asian Solid-State Circuits Conference, Nov. 2007, pp. 296-299. |
Kim, K. et al., “Back-Gate Controlled Wide Tunable Range Diode Voltage in Asymmetrical Double-Gate Devices”, IEEE International SOI Conference Proceedings, Oct. 2006, pp. 151-152. |
Makino, H. et al., “An Auto-Backgate-Controlled MT-CMOS Circuit”, 1998 Symposium on VLSI Circuits Digest of Technical Papers, Jun. 1998, pp. 42-43. |
Notice of Allowance dated May 21, 2010 for U.S. Appl. No. 12/275,521, filed Nov. 21, 2008. |
Mercado, Ramon, U.S. Appl. No. 12/275,552, Final Office Action, dated May 31, 2017, 13 pgs. |
Number | Date | Country | |
---|---|---|---|
20100131717 A1 | May 2010 | US |