Computing devices have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as personal computers, servers, hand-held devices, distributed computer systems, calculators, audio devices, video equipment, and telephone systems, have facilitated increased productivity and reduced costs in analyzing and communicating data in most areas of business, science, education and entertainment.
Computing device-readable memory is usually an important component of a number of computing devices. Computing device-readable memories typically store information utilized by a system in performance of a number of different tasks. Other components of a system typically request access to memory in order to retrieve (e.g., “read”) information from and store (e.g., “write”) information in the memory. Different types of memories (e.g., mass storage, main memory, removable memory and the like) and/or memory “spaces” (e.g., virtual, physical) can be utilized to support information storage.
Different types of computing device-readable memory can potentially offer different features, such as storage capacity and access speed. Traditionally, memories that have relatively large storage capacity have relatively slow access speeds. Memories that have relatively fast access speeds, in contrast, typically have relatively small storage capacities. For example, primary memories (e.g., main memory) are relatively fast compared to secondary memories (e.g., mass storage memory) but typically store less information. In view of the tradeoffs a number of systems transfer chunks of information between relatively fast small memories and relatively slow bulk memories to attempt to optimize speed and capacity. As a result, the system may virtualize the physical memory to give each application the view that they have a large contiguous memory. The memory management unit (MMU) manages the mappings that virtualize the memory space.
Another technique for optimizing performance in computing devices is to utilize virtual and physical address spaces. Virtual address space allows applications to utilize as much memory as needed without regard to the true size of physical memory or the memory utilization of other applications. The application retrieves and stores instructions and data utilizing virtual addresses, and the memory system retrieves and stores instruction and data in physical memory using physical addresses to access the true physical memory. Accordingly, translation between the virtual memory space addressing and physical memory space addressing is performed by the computing system. As a result, applications and data may be moved within memory and between different types of memory without having to recode applications.
Although the above techniques are currently utilized, the continued advancement of computing devices results in a continuous need for ever increasing memory system performance. Therefore, there is a continuing need for memory management techniques that provide additional optimization.
Embodiments of the present invention are directed toward memory access techniques that include support for a plurality of page sizes. In one embodiment, a computing device includes a processor, memory and a memory management unit. The memory includes a first portion of an address translation data structure, such as one or more page directories and a plurality of page tables. The memory management unit includes a cache containing a second portion of the address translation data structure. The second portion of the address translation data structure includes a page size table and a set-associative translation lookaside buffer. The memory management unit is adapted to determine a set index for accessing the translation lookaside buffer utilizing a given entry in the page size table.
In another embodiment, a method of accessing memory includes receiving a memory access request. A set index is determined from a page size table utilizing a virtual address of the memory access request. A set-associative translation lookaside buffer is accessed utilizing the set index to determine the mapping of the virtual address to a physical address.
In yet another embodiment, a memory management method begins with receipt of a memory access request. A page size table lookup is performed to determine a page size of the memory access request. A set index is calculated utilizing the page size. The set index is utilized to retrieve a given set of entries in a translation lookaside buffer. It is determining if the given set of entries contains an entry that is a match for the virtual address. If the given entry is a match for the virtual address, the physical address is contained in the data portion of the given entry. The physical address may then be utilized to access a computing device-readable medium. In addition, the method may also include translating the virtual address to a physical address utilizing a page directory and a given page table if the given set of entries does not contain a match for the virtual address. The mapping resulting from the translation may be cached as a particular translation lookaside buffer entry and the page size may be cached in a corresponding page size table entry.
Embodiments of the present invention are illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it is understood that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Referring to
The computing device-readable media 115, 120, 125 may be characterized as primary memory and secondary memory. Generally, the secondary memory, such as a magnetic and/or optical storage, provides for non-volatile storage of computer-readable instructions and data for use by the computing device 100. For instance, the disk drive 120 may store the operating system (OS) 155 and applications and data 160. The primary memory, such as the system memory 115 and/or graphics memory 125, provides for volatile storage of computer-readable instructions and data for use by the computing device 100. For instance, the system memory 115 may temporarily store a portion of the operating system 155′ and a portion of one or more applications and associated data 160′ that are currently used by the CPU 110, GPU 150 and the like.
The computing device-readable media 115, 120, 125, I/O devices 120, 130, 135, 140, 145, and GPU 150 may be communicatively coupled to the processor 110 by a chip set 165 and one or more busses. The chipset 165 acts as a simple input/output hub for communicating data and instructions between the processor 110 and the computing device-readable media 115, 120, 125, I/O devices 120, 130, 135, 140, 145, and GPU 150. In one implementation, the chipset 165 includes a northbridge 170 and southbridge 175. The northbridge 170 provides for communication with the processor 110 and interaction with the system memory 115. The southbridge 175 provides for input/output functions.
The graphic processing unit 150 may include a memory management unit (MMU) 180 for managing the transfer of data and instructions. However, in other embodiments the MMU 180 may be an independent circuit, a part of the chip set 165, a part of the primary or secondary memory, and/or other element in the computing device. One management function of the MMU 180 includes support for multiple page sizes. In particular, multiple page sizes may be allowed by the MMU 180 in the GPU 150 in order to maintain compatibility with the CPU 110.
The MMU 180 translates virtual addresses to physical addresses using an address translation data structure. Referring to
Upon receiving a virtual address, the TLB data structure 240 is accessed to determine if a mapping between the virtual address 210 and the physical address 220 has been cached. Referring now to
The set index is determined as a function of a parameter in the memory access request. In one embodiment the set index is a function of the page size. The pages in the page table, pointed to by a given page directory, have the same size. Thus, a PTE pointed to by a given PDE maps a fixed page size. Therefore the page size becomes a property of the PDE. Utilizing the page size to index set-associative TLB reduces the performance penalty caused by cache inefficiencies such as cache collisions.
Upon receipt of a virtual address 210, the page size is looked-up in the page size table 310. More specifically, the tag 300 portion of each entry in the page size index 310 may contain a page directory index portion of a particular virtual address. Referring now to
Referring again to
If a tag 330 portion of an entry in the page size index 310 matches the page directory index portion of the virtual address 210 then a page size cache hit is incurred. The data portion 340, of the given entry, that contains the page size is utilized to generate a set index 350. In one implementation the page size is encoded utilizing one or two bits. Furthermore, in order to reduce the tags portion of the cache, the allowed page size within large blocks of the address space may be restricted so that the tags are shorter and fewer entries in the page size table are needed.
The given set 360 in the translation lookaside buffer 320 is looked-up utilizing the set index 350. In one implementation, all of the TLB entries in the given set 360 are retrieved. The page directory index is compared against the tag portion of each TLB entry. If a match between the virtual address 210 and a given TLB entry in the given set 360 is determined, the data portion of the given TLB entry contains the physical address 220. Referring again to
If a valid mapping is not cached in the TLB data structure 240, the page table data structure is walked to translate the virtual address 210 to a physical address 220. The page directory index in the virtual address 210 is used to index the page directory 250 to obtain the address of an appropriate page table 270. The page table index in the virtual address 210 is used to index the appropriate page table specified in the given PDE to obtain the physical address 220 of the page containing the data. The byte index in the virtual address 210 is then used to index the physical page to access the actual data. The resulting mapping is then typically cached in the TLB data structure 240 for use in translating subsequent memory access requests. In addition, a bit in the virtual address 210 that indicates the page size is cached as a data portion of a particular page size entry and the page directory index portion of the virtual address is cached as the corresponding tag portion of the particular page size entry.
Referring now to
At 520, a set index is calculated utilizing a page size encoded in the given entry in the page size table matching the page directory entry portion of the virtual address. The set index is utilized to lookup a given set of TLB entries in a translation lookaside buffer, at 525. At 530, it is determined if the given set contains a TLB entry having a tag matching the virtual address. If a particular given TLB entry in the set is a match for the virtual address, the given physical address is received from the given TLB entry, at 535. A computing device-readable medium may then be accessed at the given physical address, at 540.
If there is no TLB entry in the set that is a match for the virtual address, the address of a given page table is determined, utilizing the page directory index portion of the virtual address, from a page table of an address translation data structure, at 545. At 550, the given physical address is determined, utilizing a page table index portion of the virtual address, from the given page table. The computing device-readable medium may then be accessed at the given physical address, at 555. In addition, the mapping of the virtual address to the physical address, determined from the processes at 545 and 550, may be cached as a particular TLB entry in the translation lookaside buffer, at 560. At 565, the page size encoded in the virtual address may be cached in the page size table of the translation lookaside buffer data structure.
The page size cache advantageously solves the problem of supporting multiple page sizes while utilizing a set associated translation lookaside buffer. The page size table caches the page size information in front of the main TLB cache so efficient TLB set indexes can be generated. The page size may be cached in the page size table utilizing one or two bits. In addition, the tags portion of the page size table may be reduced by restricting the allowed page size within large blocks in the address space so that the tags are shorter and fewer entries in the cache are needed.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3815101 | Boss et al. | Jun 1974 | A |
3950729 | Fletcher et al. | Apr 1976 | A |
4654790 | Woffinden | Mar 1987 | A |
4797814 | Brenza | Jan 1989 | A |
4812981 | Chan et al. | Mar 1989 | A |
5123094 | MacDougall | Jun 1992 | A |
5179669 | Peters | Jan 1993 | A |
5245702 | McIntyre et al. | Sep 1993 | A |
5278962 | Masuda et al. | Jan 1994 | A |
5414824 | Grochowski | May 1995 | A |
5446854 | Khalidi et al. | Aug 1995 | A |
5526504 | Hsu et al. | Jun 1996 | A |
5649102 | Yamauchi et al. | Jul 1997 | A |
5649184 | Hayashi et al. | Jul 1997 | A |
5696925 | Koh | Dec 1997 | A |
5949785 | Beasley | Sep 1999 | A |
5963984 | Garibay, Jr. et al. | Oct 1999 | A |
5999189 | Kajiya et al. | Dec 1999 | A |
6012132 | Yamada et al. | Jan 2000 | A |
6297832 | Mizuyabu et al. | Oct 2001 | B1 |
6298390 | Matena et al. | Oct 2001 | B1 |
6362826 | Doyle et al. | Mar 2002 | B1 |
6457115 | McGrath | Sep 2002 | B1 |
6470428 | Milway et al. | Oct 2002 | B1 |
6499090 | Hill et al. | Dec 2002 | B1 |
6549997 | Kalyanasundharam | Apr 2003 | B2 |
6636223 | Morein | Oct 2003 | B1 |
6658538 | Arimilli et al. | Dec 2003 | B2 |
6742104 | Chauvel et al. | May 2004 | B2 |
6813699 | Belgard | Nov 2004 | B1 |
6823433 | Barnes et al. | Nov 2004 | B1 |
6839813 | Chauvel | Jan 2005 | B2 |
6859208 | White | Feb 2005 | B1 |
6877077 | McGee et al. | Apr 2005 | B2 |
6883079 | Priborsky | Apr 2005 | B1 |
7007075 | Coffey | Feb 2006 | B1 |
7082508 | Khan et al. | Jul 2006 | B2 |
7107411 | Burton et al. | Sep 2006 | B2 |
7107441 | Zimmer et al. | Sep 2006 | B2 |
7120715 | Chauvel et al. | Oct 2006 | B2 |
7159095 | Dale et al. | Jan 2007 | B2 |
7194597 | Willis et al. | Mar 2007 | B2 |
7234038 | Durrant | Jun 2007 | B1 |
7275246 | Yates, Jr. et al. | Sep 2007 | B1 |
7401358 | Christie et al. | Jul 2008 | B1 |
7447869 | Kruger et al. | Nov 2008 | B2 |
7519781 | Wilt | Apr 2009 | B1 |
7545382 | Montrym et al. | Jun 2009 | B1 |
7730489 | Duvur et al. | Jun 2010 | B1 |
20020004823 | Anderson et al. | Jan 2002 | A1 |
20020013889 | Schuster et al. | Jan 2002 | A1 |
20020169938 | Scott et al. | Nov 2002 | A1 |
20020172199 | Scott et al. | Nov 2002 | A1 |
20030014609 | Kissell | Jan 2003 | A1 |
20030167420 | Parsons | Sep 2003 | A1 |
20030196066 | Mathews | Oct 2003 | A1 |
20030236771 | Becker | Dec 2003 | A1 |
20040025161 | Chauvel et al. | Feb 2004 | A1 |
20040054833 | Seal et al. | Mar 2004 | A1 |
20040078778 | Leymann et al. | Apr 2004 | A1 |
20040153350 | Kim et al. | Aug 2004 | A1 |
20040193831 | Moyer | Sep 2004 | A1 |
20040215918 | Jacobs et al. | Oct 2004 | A1 |
20040268071 | Khan et al. | Dec 2004 | A1 |
20050050013 | Ferlitsch | Mar 2005 | A1 |
20050097280 | Hofstee et al. | May 2005 | A1 |
20050268067 | Lee et al. | Dec 2005 | A1 |
20060004984 | Morris et al. | Jan 2006 | A1 |
20060069879 | Inoue et al. | Mar 2006 | A1 |
20060069899 | Schoinas et al. | Mar 2006 | A1 |
20060187945 | Andersen | Aug 2006 | A1 |
20060195683 | Kissell | Aug 2006 | A1 |
20060230223 | Kruger et al. | Oct 2006 | A1 |
20060259732 | Traut et al. | Nov 2006 | A1 |
20060259825 | Cruickshank et al. | Nov 2006 | A1 |
20060282645 | Tsien | Dec 2006 | A1 |
20060288174 | Nace et al. | Dec 2006 | A1 |
20070067505 | Kaniyur et al. | Mar 2007 | A1 |
20070073996 | Kruger et al. | Mar 2007 | A1 |
20070106874 | Pan et al. | May 2007 | A1 |
20070126756 | Glasco et al. | Jun 2007 | A1 |
20070157001 | Ritzau | Jul 2007 | A1 |
20070168634 | Morishita et al. | Jul 2007 | A1 |
20070168643 | Hummel et al. | Jul 2007 | A1 |
20080263284 | da Silva et al. | Oct 2008 | A1 |
Number | Date | Country |
---|---|---|
02288927 | Nov 1990 | JP |
0305466 | Jan 1991 | JP |
03054660 | Mar 1991 | JP |
04182858 | Jun 1992 | JP |
Entry |
---|
Harper et al., (Rapid recovery from transient Faults in the fault tolerant processor with fault-tolerant shared memory) 1990, IEEE, p. 350-359. |
PCMAG (Definition of: Page fault) PCMag, 1. |
Wikipedia, (Page Fault definition), Wikipedia, Mar. 9, 2009, pp. 1-4. |
Wikipedia, (CPU Cache definition), Wikipedia, Jan. 26, 2010, pp. 1-16. |
Osronline, (The Basics: So what is a Page fault?), http://www.osronline.com/article.cfm?article=222, May 5, 2003, p. 1-2. |
Chaudhuri, “The impact of NACKs in shared memory scientific applications”, Feb. 2004, IEEE, IEEE Transactions on Parallel and distributed systems vol. 15, No. 2, p. 134-150. |
Laibinis, “Formal Development of Reactive Fault Tolerant Systems”, Sep. 9, 2005, Springer, Second International Workshop, RISE 2005, p. 234-249. |
Wikipedia, Memory Address, Oct. 29, 2010, pp. 1-4, www.wikipedia.com. |
Wikipedia, Physical Address, Apr. 17, 2010, pp. 1-2, www.wikipedia.com. |
Guelfi et al., (Rapid Integration of Software Engineering Techniques) 2005, Second International Workshop, 9 pages. |
Glasco et al.; Notice of Allowance Dated Mar. 17, 2011; U.S. Appl. No. 11/592,076; filed Nov. 1, 2006. |
Glasco et al.; Notice of Allowance Dated Jun. 29, 2011; U.S. Appl. No. 11/592,076; filed Nov. 1, 2006. |
Glasco et al.; Notice of Allowance Dated Oct. 14, 2011; U.S. Appl. No. 11/592,076; filed Nov. 1, 2006. |
Glasco et al.; Notice of Allowance Dated Jan. 27, 2012; U.S. Appl. No. 11/592,076; filed Nov. 1, 2006. |
Glasco et al.; Notice of Allowance Dated May 10, 2012; U.S. Appl. No. 11/592,076; filed Nov. 1, 2006. |
Glasco et al.; Office Action Dated Feb. 1, 2011; U.S. Appl. No. 12/650,068; filed Dec. 30, 2009. |
Glasco et al.; Office Action Dated Aug. 9, 2011; U.S. Appl. No. 12/650,068; filed Dec. 30, 2009. |
Glasco et al.; Office Action Dated Nov. 16, 2011; U.S. Appl. No. 12/650,068; filed Dec. 30, 2009. |
Glasco et al.; Notice of Allowance Dated May 1, 2012; U.S. Appl. No. 12/650,068; filed Dec. 30, 2009. |
Glasco et al.; Notice of Allowance Dated Jul. 6, 2012; U.S. Appl. No. 12/650,068; filed Dec. 30, 2009. |
Notice of Allowance Dated Jul. 21, 2011; U.S. Appl. No. 11/523,830. |
Notice of Allowance Dated Oct. 26, 2011; U.S. Appl. No. 11/523,830. |
Notice of Allowance Dated Feb. 2, 2012; U.S. Appl. No. 11/523,830. |
Notice of Allowance Dated May 10, 2012; U.S. Appl. No. 11/523,830. |
Notice of Allowance Dated Aug. 25, 2011; U.S. Appl. No. 11/586,756. |
Notice of Allowance Dated Jan. 13, 2012; U.S. Appl. No. 11/586,756. |
Notice of Allowance Dated May 15, 2012; U.S. Appl. No. 11/586,756. |
Final Office Action Dated May 4, 2010; U.S. Appl. No. 11/591,857. |
Notice of Allowance Dated Jul. 21, 2011; U.S. Appl. No. 11/591,857. |
Notice of Allowance Dated Oct. 28, 2011; U.S. Appl. No. 11/591,857. |
Notice of Allowance Dated Feb. 10, 2012; U.S. Appl. No. 11/591,857. |
Notice of Allowance Dated May 25, 2012; U.S. Appl. No. 11/591,857. |
Notice of Allowance Dated Sep. 18, 2012; U.S. Appl. No. 11/591,857. |
Final Office Action Dated Jul. 5, 2011; U.S. Appl. No. 11/592,106. |
Final Office Action Dated Dec. 2, 2011; U.S. Appl. No. 11/592,106. |
Final Office Action Dated May 10, 2012; U.S. Appl. No. 111592,106. |
Notice of Allowance Dated Feb. 3, 2011; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated May 23, 2011; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Aug. 23, 2011; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Oct. 28, 2011; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Feb. 24, 2012; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Jun. 1, 2012; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Sep. 12, 2012; U.S. Appl. No. 11/523,926. |
Notice of Allowance Dated Jun. 9, 2011; U.S. Appl. No. 11/523,950. |
Notice of Allowance Dated Aug. 30, 2011; U.S. Appl. No. 11/523,950. |
Notice of Allowance Dated Nov. 14, 2011; U.S. Appl. No. 11/523,950. |
Notice of Allowance Dated Feb. 16, 2011; U.S. Appl. No. 11/586,826. |
Notice of Allowance Dated Jul. 26, 2011; U.S. Appl. No. 11/586,826. |
Notice of Allowance Dated Dec. 27, 2011; U.S. Appl. No. 11/586,826. |
Notice of Allowance Dated Jul. 5, 2012; U.S. Appl. No. 11/586,826. |
Notice of Allowance Dated Apr. 19, 2011; U.S. Appl. No. 11/592,819. |
Notice of Allowance Dated Sep. 7, 2011; U.S. Appl. No. 11/592,819. |
Notice of Allowance Dated Dec. 8, 2011; U.S. Appl. No. 11/586,825. |
Notice of Allowance Dated Dec. 9, 2011; U.S. Appl. No. 11/592,819. |
Notice of Allowance Dated Jun. 7, 2012; U.S. Appl. No. 11/592,819. |
Notice of Allowance Dated Oct. 5, 2012; U.S. Appl. No. 11/592,819. |
Office Action Dated Sep. 14, 2012; U.S. Appl. No. 11/591,629. |
Final Office Action Dated Apr. 12, 2011; U.S. Appl. No. 11/592,780. |
Office Action Dated Nov. 1, 2011; U.S. Appl. No. 11/592,780. |
Final Office Action Dated May 7, 2012; U.S. Appl. No. 11/592,780. |
Notice of Allowance Dated Jun. 17, 2011; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Sep. 26, 2011; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Jan. 5, 2012; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Apr. 12, 2012; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Jun. 7, 2012; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Sep. 17, 2012; U.S. Appl. No. 11/591,856. |
Notice of Allowance Dated Jun. 16, 2011; U.S. Appl. No. 11/586,825. |
Notice of Allowance Dated Aug. 9, 2011; U.S. Appl. No. 11/586,825. |
Notice of Allowance Dated Jul. 6, 2012; U.S. Appl. No. 11/586,825. |
Notice of Allowance Dated Oct. 12, 2012; U.S. Appl. No. 11/586,825. |
Office Action Dated May 6, 2011; U.S. Appl. No. 11/591,685. |
Final Office Action Dated Nov. 16, 2011; U.S. Appl. No. 11/591,685. |
Notice of Allowance Dated Feb. 22, 2012; U.S. Appl. No. 11/591,685. |
Notice of Allowance Dated May 30, 2012; U.S. Appl. No. 11/591,685. |
Notice of Allowance Dated Sep. 26, 2012; U.S. Appl. No. 11/591,685. |
Notice of Allowance Dated Aug. 29, 2012; U.S. Appl. No. 11/523,830. |
Notice of Allowance Dated Nov. 20, 2012; U.S. Appl. No. 11/588,177. |
Notice of Allowance Dated Mar. 21, 2012; U.S. Appl. No. 11/586,825. |
Glasco et al., Notice of Allowance Dated Jul. 21, 2011; U.S. Appl. No. 11/523,830. |
Glasco et al., Notice of Allowance Dated Oct. 26, 2011; U.S. Appl. No. 11/523,830. |
Glasco et al., Notice of Allowance Dated Feb. 2, 2012; U.S. Appl. No. 11/523,830. |
Glasco et al., Notice of Allowance Dated May 10, 2012; U.S. Appl. No. 11/523,830. |
Glasco et al., Notice of Allowance Dated Aug. 25, 2011; U.S. Appl. No. 11/586,756. |
Glasco et al., Notice of Allowance Dated Jan. 13, 2012; U.S. Appl. No. 11/586,756. |
Glasco et al., Notice of Allowance Dated May 15, 2012; U.S. Appl. No. 11/586,756. |
Glasco et al., Final Office Action Dated May 4, 2010; U.S. Appl. No. 11/591,857. |
Glasco et al., Notice of Allowance Dated Jul. 21, 2011; U.S. Appl. No. 11/591,857. |
Glasco et al., Notice of Allowance Dated Oct. 28, 2011; U.S. Appl. No. 11/591,857. |
Glasco et al., Notice of Allowance Dated Feb. 10, 2012; U.S. Appl. No. 11/591,857. |
Glasco et al., Notice of Allowance Dated May 25, 2012: U.S. Appl. No. 11/591,857. |
Glasco et al., Notice of Allowance Dated Sep. 18, 2012: U.S. Appl. No. 11/591,857. |
Glasco et al., Final Office Action Dated Jul. 5, 2011; U.S. Appl. No. 11/592,106. |
Glasco et al., Final Office Action Dated Dec. 2, 2011; U.S. Appl. No. 11/592,106. |
Glasco et al., Final Office Action Dated May 10, 2012; U.S. Appl. No. 11/592,106. |
Glasco et al., Notice of Allowance Dated Feb. 3, 2011; U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated May 23, 2011; U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Aug. 23, 2011; U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Oct. 28, 2011; U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Feb. 24, 2012: U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Jun. 1, 2012: U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Sep. 12, 2012: U.S. Appl. No. 11/523,926. |
Glasco et al., Notice of Allowance Dated Jun. 9, 2011; U.S. Appl. No. 11/523,950. |
Glasco et al., Notice of Allowance Dated Aug. 30, 2011; U.S. Appl. No. 11/523,950. |
Glasco et al., Notice of Allowance Dated Nov. 14, 2011; U.S. Appl. No. 11/523,950. |
Lingfeng Yaun, Notice of Allowance Dated Feb. 16, 2011; U.S. Appl. No. 11/586,826. |
Lingfeng Yaun, Notice of Allowance Dated Jul. 26, 2011; U.S. Appl. No. 11/586,826. |
Lingfeng Yaun, Notice of Allowance Dated Dec. 27, 2011; U.S. Appl. No. 11/586,826. |
Lingfeng Yaun, Notice of Allowance Dated Jul. 5, 2012; U.S. Appl. No. 11/586,826. |
Van Dyke et al., Notice of Allowance Dated Apr. 19, 2011; U.S. Appl. No. 11/592,819. |
Van Dyke et al., Notice of Allowance Dated Sep. 7, 2011; U.S. Appl. No. 11/592,819. |
Glasco et al., Notice of Allowance Dated Dec. 8, 2011; U.S. Appl. No. 11/586,825. |
Van Dyke et al., Notice of Allowance Dated Dec. 9, 2011; U.S. Appl. No. 11/592,819. |
Van Dyke et al., Notice of Allowance Dated Jun. 7, 2012; U.S. Appl. No. 11/592,819. |
Van Dyke et al., Notice of Allowance Dated Oct. 5, 2012; U.S. Appl. No. 11/592,819. |
Glasco et al., Office Action Dated Sep. 14, 2012; U.S. Appl. No. 11/591,629. |
Glasco et al., Final Office Action Dated Apr. 12, 2011; U.S. Appl. No. 11/592,780. |
Glasco et al., Office Action Dated Nov. 1, 2011; U.S. Appl. No. 11/592,780. |
Glasco et al., Final Office Action Dated May 7, 2012; U.S. Appl. No. 11/592,780. |
Lingfeng Yaun, Notice of Allowance Dated Jun. 17, 2011; U.S. Appl. No. 11/591,856. |
Lingfeng Yaun, Notice of Allowance Dated Sep. 26, 2011; U.S. Appl. No. 11/591,856. |
Lingfeng Yaun, Notice of Allowance Dated Jan. 5, 2012; U.S. Appl. No. 11/591,856. |
Lingfeng Yaun, Notice of Allowance Dated Apr. 12, 2012; U.S. Appl. No. 11/591,856. |
Lingfeng Yaun, Notice of Allowance Dated Jun. 7, 2012; U.S. Appl. No. 11/591,856. |
Lingfeng Yaun, Notice of Allowance Dated Sep. 17, 2012; U.S. Appl. No. 11/591,856. |
Glasco et al., Notice of Allowance Dated Jun. 16, 2011; U.S. Appl. No. 11/586,825. |
Glasco et al., Notice of Allowance Dated Aug. 9, 2011; U.S. Appl. No. 11/586,825. |
Harper et al., (Rapid recovery from transient Faults in the fault tolerant processor with fault-tolerant shared memory) 1990, IEEE, pp. 350-359. |
Ooi, (Fault Tolerant Architecture in a cache memory control LSI), 1992, IEEE, 507-514. |
Oracle, (Oracle 8i Parallel server), 1999, Oracle, Release 2 (8.1.6) 1-216. |
PCMAG (Definition of: Page fault) www.Pcmag.com, 1 Page; Mar. 2009. |
Shalan. (Dynamic Memory Management for embedded real-time multiprocessor system on a chip), 2000, ACM. 180-186. |
Shalan. (Dynamic Memory Management for embedded real-time multiprocessor system on a chip), 2003, Georgia Inst. of Tech. 1-118. |
Glasco et al., Notice of Allowance Dated Jul. 6, 2012; U.S. Appl. No. 11/586,825. |
Glasco et al., Notice of Allowance Dated Oct. 12, 2012: U.S. Appl. No. 11/586,825. |
Glasco et al., Office Action Dated May 6, 2011; U.S. Appl. No. 11/591,685. |
Glasco et al., Final Office Action Dated Nov. 16, 2011; U.S. Appl. No. 11/591,685. |
Glasco et al., Notice of Allowance Dated Feb. 22, 2012: U.S. Appl. No. 11/591,685. |
Glasco et al., Notice of Allowance Dated May 30, 2012: U.S. Appl. No. 11/591,685. |
Glasco et al., Notice of Allowance Dated Sep. 26, 2012: U.S. Appl. No. 11/591,685. |
Glasco et al., Notice of Allowance Dated Aug. 29, 2012: U.S. Appl. No. 11/523,830. |
Glasco et al., Notice of Allowance Dated Nov. 20, 2012: U.S. Appl. No. 11/588,177. |
Glasco et al., Notice of Allowance Dated Mar. 21, 2012: U.S. Appl. No. 11/586,825. |
Glasco, et al; Office Action Dated Apr. 27, 2009; U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al; Office Action Dated Nov. 20, 2009; U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al; Office Action Dated May 11, 2010; U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al; Final Office Action Dated Oct. 27, 2010; U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al; Notice of Allowance Dated Jan. 14, 2013; U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al; Election/Restriction Dated Apr. 28, 2009; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Office Action Dated Aug. 19, 2009; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Notice of Allowance Dated Jan. 29, 2010; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Notice of Allowance Dated May 4, 2010; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Notice of Allowance Dated Aug. 13, 2010; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Notice of Allowance Dated Nov. 26, 2010; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Notice of Allowance Dated Aug. 16, 2012; U.S. Appl. No. 11/592,076; All Pages. |
Glasco, et al; Election/Restriction Dated Aug. 10, 2010; U.S. Appl. No. 12/650,068; All Pages. |
Glasco, et al; Notice of Allowance Dated Sep. 17, 2012; U.S. Appl. No. 12/650,068; All Pages. |
Glasco, et al; Notice of Allowance Dated Jan. 28, 2013; U.S. Appl. No. 12/650,068; All Pages. |
Glasco, et al; Office Action Dated Sep. 15, 2008; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Office Action Dated May 28, 2009; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Final Office Action Dated Mar. 16, 2010; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Notice of Allowance Dated Jun. 28, 2010; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Notice of Allowance Dated Sep. 2, 2010; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Notice of Allowance Dated Jan. 20, 2011; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Notice of Allowance Dated May 5, 2011; U.S. Appl. No. 11/523,830; All Pages. |
Glasco, et al; Office Action Dated Nov. 18, 2008; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Final Office Action Dated Jun. 4, 2009; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Office Action Dated Jan. 20, 2010; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Final Office Action Dated Aug. 3, 2010; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Notice of Allowance Dated Dec. 27, 2010; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Notice of Allowance Dated May 12, 2011; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Notice of Allowance Dated Feb. 20, 2013; U.S. Appl. No. 11/586,756; All Pages. |
Glasco, et al; Election/Restriction Dated Apr. 27, 2009; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Office Action Dated Aug. 19, 2009; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Office Action Dated Dec. 7, 2010; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Notice of Allowance Dated Mar. 18, 2011; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Notice of Allowance Dated Dec. 31, 2012; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Notice of Allowance Dated Feb. 1, 2013; U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al; Office Action Dated Apr. 1, 2009; U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al; Final Office Action Dated Nov. 23, 2009; U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al; Final Office Action Dated Jun. 25, 2010; U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al; Office Action Dated Dec. 16, 2010; U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al; Office Action Dated Jan. 3, 2013; U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al; Office Action Dated Sep. 15. 2008; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Final Office Action Dated Apr. 10, 2009; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Office Action Dated Oct. 1, 2009; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Notice of Allowance Dated Mar. 29, 2010; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Notice of Allowance Dated Jul. 9, 2010; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Notice of Allowance Dated Oct. 27, 2010; U.S. Appl. No. 11/523,926; All Pages. |
Glasco, et al; Office Action Dated Oct. 29, 2008; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Apr. 24, 2009; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Sep. 3, 2009; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Dec. 24, 2009; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Jul. 21, 2010; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Nov. 3, 2009; U.S. Appl. No. 11/523,950; All Pages. |
Glasco, et al; Notice of Allowance Dated Apr. 2, 2013; U.S. Appl. No. 11/523,950; All Pages. |
Lingfeng Yuan; Office Action Dated Dec. 16, 2008; U.S. Appl. No. 11/586,826; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Jun. 22, 2009; U.S. Appl. No. 11/586,826; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Dec. 14, 2009; U.S. Appl. No. 11/586,826; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Feb. 7, 2013; U.S. Appl. No. 11/586,826; All Pages. |
Van Dyke, et al.; Office Action Dated Feb. 17, 2009; U.S. Appl. No. 11/592,819; All Pages. |
Van Dyke, et al.; Notice of Allowance Dated Oct. 16, 2009; U.S. Appl. No. 11/592,819; All Pages. |
Van Dyke, et al.; Office Action Dated Mar. 17, 2010; U.S. Appl. No. 11/592,819; All Pages. |
Van Dyke, et al.; Notice of Allowance Dated Nov. 23, 2010; U.S. Appl. No. 11/592,819; All Pages. |
Van Dyke, et al.; Notice of Allowance Dated Jan. 24, 2013; U.S. Appl. No. 11/592,819; All Pages. |
Glasco, et al.; Office Action Dated Feb. 20, 2009; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Final Office Action Dated Nov. 9, 2009; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Office Action Dated May 27, 2010; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Office Action Dated Nov. 3, 2010; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Final Office Action Dated Jun. 8, 2011; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Notice of Allowance Dated Mar. 7, 2013; U.S. Appl. No. 11/591,629; All Pages. |
Glasco, et al.; Office Action Dated Apr. 2, 2009; U.S. Appl. No. 11/592,780; All Pages. |
Glasco, et al.; Final Office Action Dated Nov. 24, 2009; U.S. Appl. No. 11/592,780; All Pages. |
Glasco, et al.; Office Action Dated Apr. 28, 2010; U.S. Appl. No. 11/592,780; All Pages. |
Glasco, et al.; Office Action Dated Oct. 13, 2010; U.S. Appl. No. 11/592,780; All Pages. |
Lingfeng Yuan; Office Action Dated May 11, 2009; U.S. Appl. No. 11/591,856; All Pages. |
Lingfeng Yuan; Final Office Action Dated Dec. 8, 2009; 11/591,856; All Pages. |
Lingfeng Yuan; Office Action Dated Apr. 27, 2010; U.S. Appl. No. 11/591,856; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Nov. 12, 2010; 11/591,856; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Mar. 09, 2011; U.S. Appl. No. 11/591,856; All Pages. |
Lingfeng Yuan; Notice of Allowance Dated Jan. 17, 2013; U.S. Appl. No. 11/591,856; All Pages. |
Glasco, et al.; Office Action Dated Mar. 18, 2009; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al.; Final Office Action Dated Oct. 14, 2009; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al.; Office Action Dated Feb. 22, 2010; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al.; Notice of Allowance Dated Aug. 16, 2010; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al.; Notice of Allowance Dated Nov. 26, 2010; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al.; Notice of Allowance Dated Mar. 4, 2011; U.S. Appl. No. 11/586,825; All Pages. |
Glasco, et al. Notice of Allowance dated May 8, 2013, U.S. Appl. No. 11/591,685; All Pages. |
Glasco, et al. Notice of Allowance dated May 10, 2013, U.S. Appl. No. 12/650,068; Publication No. 2010-0106921A1; Publication Date: Apr. 29, 2010; All Pages. |
Glasco, et al. Notice of Allowance dated May 23, 2013, U.S. Appl. No. 11/591,857; All Pages. |
Glasco, et al. Final Office Action dated Jun. 6, 2013, U.S. Appl. No. 11/592,106; All Pages. |
Glasco, et al. Notice of Allowance dated May 16, 2013, U.S. Appl. No. 11/523,950; All Pages. |
Van Dyke, et al. Notice of Allowance dated May 8, 2013, U.S. Appl. No. 11/592,819; All Pages. |
Yuan, et al. Notice of Allowance dated Apr. 30, 2013, U.S. Appl. No. 11/591,856; All Pages. |
Notice of Allowance dated Aug. 1, 2013; U.S. Appl. No. 11/591,685; Inventor: Glasco, D.; Application Filed Nov. 1, 2006. |
Notice of Allowance dated Jul. 18, 2013; U.S. Appl. No. 11/586,756; Inventor: Glasco, D.; Application Filed Oct. 24, 2006. |
Office Action dated Oct. 3, 2013; U.S. Appl. No. 11/592,106; Inventor: Glasco, D.; Application Filed Nov. 1, 2006. |
Notice of Allowance dated Aug. 26, 2013; U.S. Appl. No. 11/586,826; Inventor: Yuan, L; Application Filed Nov. 24, 2006. |
Notice of Allowance dated Aug. 1, 2013; U.S. Appl. No. 11/592,819; Inventor: Van Dyke, J.; Application Filed Nov. 1, 2006. |
Notice of Allowance dated Jul. 30, 2013; U.S. Appl. No. 11/591,629; Inventor: Glasco, D.; Application Filed Nov. 1, 2006. |
Office Action dated Sep. 10, 2013; U.S. Appl. No. 11/592,780; Inventor: Glasco, D.; Application Filed Nov. 3, 2006. |
Notice of Allowance Dated Jul. 29, 2013; U.S. Appl. No. 12/650,068. |