IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0644089
(2000-08-23)
|
발명자
/ 주소 |
|
출원인 / 주소 |
|
대리인 / 주소 |
Finnegan, Henderson, Farabow, Garrett &
|
인용정보 |
피인용 횟수 :
7 인용 특허 :
130 |
초록
▼
Methods and systems consistent with this invention conserve computer resources in a hierarchical memory system by preventing scratch data from unnecessarily being copied from a lower hierarchy to a higher hierarchy storage space. Such methods and systems invalidate portions of data in the higher hie
Methods and systems consistent with this invention conserve computer resources in a hierarchical memory system by preventing scratch data from unnecessarily being copied from a lower hierarchy to a higher hierarchy storage space. Such methods and systems invalidate portions of data in the higher hierarchy storage space so that the coherence protocol does not copy the data to the lower hierarchy storage space. For example, methods and systems consistent with this invention hierarchically store data in a computer system having a main memory and a cache memory. Such methods and systems designate an area of the cache memory that contains scratch data as invalid, wherein the invalid data occupies less space than a maximum space of the cache memory, and permit a writing over of the invalid data in the cache memory.
대표청구항
▼
1. A method for storing data in a computer system comprising a first storage space for storing data, a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, the method comprising:designating an area of the second storage space t
1. A method for storing data in a computer system comprising a first storage space for storing data, a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, the method comprising:designating an area of the second storage space that contains scratch data, wherein the scratch data is data that has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and permitting a writing over of the scratch data in the second storage space. 2. The method of claim 1, further comprising:copying only non-scratch data from the second storage space to the first storage space. 3. The method of claim 1, further comprising:determining whether data in the second storage space contains the scratch data stored at a memory address; and marking the scratch data in the second storage space as invalid, if the second storage space contains the scratch data. 4. The method of claim 1, wherein the first storage space is a main memory and the second storage space is a cache memory; wherein the scratch data occupies less space then a maximum space in the cache memory; and wherein designating an area of the second storage space comprises designating an area of the cache memory that contains the scratch data as invalid.5. The method of claim 4, wherein the scratch data comprises a line; and wherein permitting the writing over of the scratch data comprises permitting the writing over of the line.6. The method of claim 5, wherein the main memory is a DRAM and the cache memory is an SRAM.7. The method of claim 1, wherein the first storage space is a disk storage space and the second storage space is a memory; and wherein designating an area of the second storage space comprises designating an area of the memory.8. The method of claim 7, wherein the disk storage space and the memory comprise a virtual memory; and wherein designating an area of the second storage space comprises designating an area of the virtual memory that contains scratch data as invalid.9. The method of claim 7, wherein the memory comprises a disk cache; and wherein designating an area of the second storage space comprises designating an area of the disk cache that contains scratch data as invalid.10. The method of claim 7, wherein the memory comprises a cache memory; and wherein designating an area of the second storage space comprises designating an area of the cache memory that contains the scratch data as invalid.11. The method of claim 7, wherein the scratch data comprises a page; and wherein permitting the writing over of the scratch data comprises permitting the writing over of the page.12. The method of claim 1, wherein the first storage space is a first memory and the second storage space is a second memory; and wherein designating an area of the second storage space comprises designating an area of the second memory that contains scratch data as invalid.13. The method of claim 12, wherein the scratch data comprises a page; and wherein permitting the writing over of the scratch data comprises permitting the writing over of the page.14. The method of claim 12, wherein the first memory and the second memory comprise a non-uniform medium access system; and wherein designating an area of the second storage space comprises designating an area of the non-uniform memory access system.15. The method of claim 1, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.16. An apparatus for storing data in a computer system comprising:a first storage space for storing data; a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, and wherein the second storage space is configured to designate an area of the second storage space that contains scratch data, wherein the scratch data is data that has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and permit a writing over of the scratch data in the second storage space. 17. The apparatus of claim 16, wherein the second storage space is further configured to copy only non-scratch data from the second storage space to the first storage space.18. The apparatus of claim 16, wherein the second storage space is further configured todetermine whether data in the second storage space contains the scratch data stored at a memory address; and mark the scratch data in the second storage space as invalid, if the second storage space contains the scratch data. 19. The apparatus of claim 16, wherein the first storage space is a main memory and the second storage space is a cache memory, wherein the scratch data occupies less space then a maximum space in the cache memory.20. The apparatus of claim 19, wherein the scratch data comprises a line.21. The apparatus of claim 19, wherein the main memory is a DRAM and the cache memory is an SRAM.22. The apparatus of claim 16, wherein the first storage space is a disk storage space and the second storage space is a memory.23. The apparatus of claim 22, wherein the disk storage space and the memory comprise a virtual memory.24. The apparatus of claim 23, wherein the scratch data occupies less space than a maximum space of the virtual memory.25. The apparatus of claim 22, wherein the memory comprises a disk cache.26. The apparatus of claim 22, wherein the memory comprises a cache memory.27. The apparatus of claim 22, wherein the scratch data comprises a page.28. The apparatus of claim 16, wherein the first storage space is a first memory and the second storage space is a second memory; and wherein designating an area of the second storage space comprises designating an area of the second memory.29. The apparatus of claim 28, wherein the scratch data comprises a page.30. The apparatus of claim 28, wherein the first memory and the second memory comprise a non-uniform memory access system.31. The apparatus of claim 16, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.32. A computer-readable medium containing instructions for controlling a computer system comprising a first storage space and a second storage space, wherein the first storage space is lower in a hierarchy than the second storage space, to perform a method of operating a processor, the method comprising:designating an area of the second storage space that contains scratch data, wherein the scratch data is data that has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and permitting a writing over of the scratch data in the second storage space. 33. The computer-readable medium of claim 32, wherein the method further comprises:copying only non-scratch data from the second storage space to the first storage space. 34. The computer-readable medium of claim 32, wherein the method further comprises:determining whether data in the second storage space contains the scratch data stored at a memory address; and marking the scratch data in the second storage space as invalid, if the second storage space contains the scratch data. 35. The computer-readable medium of claim 32, wherein the first storage space is a main memory and the second storage space is a cache memory, and wherein the scratch data occupies less space than a maximum space in the cache memory.36. The computer-readable medium of claim 35, wherein the scratch data comprises a line.37. The computer-readable medium of claim 35, wherein the main memory is a DRAM and the cache memory is an SRAM.38. The computer-readable medium of claim 32, wherein the first storage space is a disk storage space and the second storage space is a memory.39. The computer-readable medium of claim 38, wherein the disk storage space and the memory comprise a virtual memory.40. The computer-readable medium of claim 39, wherein the scratch data occupies less space than a maximum space of the virtual memory.41. The computer-readable medium of claim 38, wherein the memory comprises a disk cache.42. The computer-readable medium of claim 38, wherein the memory comprises a cache memory.43. The computer-readable medium of claim 38, wherein the scratch data comprises a page.44. The computer-readable medium of claim 32, wherein the first storage space is a first memory and the second storage space is a second memory.45. The computer-readable medium of claim 44, wherein the scratch data comprises a page.46. The computer-readable medium of claim 44, wherein the first memory and the second memory comprise a non-uniform memory access system.47. The computer-readable medium of claim 32, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.48. A method for storing data in a computer system comprising a first storage space for storing data, a second storage space for storing data, the method comprising:storing data associated with an application in the second storage space; determining whether the second storage space contains scratch data that is no longer useful to the application and has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and marking the scratch data such that the scratch data is not copied to the first storage space during execution of a coherence protocol that ensures data stored in the first storage space is current with respect to the second storage space. 49. The method of claim 48, wherein the first storage space is a main memory and the second storage space is a cache memory; wherein the marked data occupies less space then a maximum space in the cache memory; and wherein determining comprises determining whether the cache memory contains scratch data that is no longer useful to the application.50. The method of claim 49, wherein the scratch data comprises a line; and wherein marking the scratch data comprises marking the line.51. The method of claim 49, wherein the main memory is a DRAM and the cache memory is an SRAM; and wherein determining whether the cache memory contains scratch data comprises determining whether the SRAM contains scratch data that is no longer useful to the application.52. The method of claim 48, wherein the first storage space is a disk storage space and the second storage space is a memory; and wherein determining comprises determining whether the memory contains scratch data that is no longer useful to the application.53. The method of claim 52, wherein the disk storage space and the memory comprise a virtual memory; and wherein determining whether the memory contains the scratch data comprises determining whether the virtual memory contains the scratch data that is no longer useful to the application.54. The method of claim 52, wherein the memory comprises a disk cache; and wherein determining whether the memory contains the scratch data comprises determining whether the disk cache contains the scratch data that is no longer useful to the application.55. The method of claim 52, wherein the memory comprises a cache memory; and wherein determining whether the memory contains the scratch data comprises determining whether the cache memory contains the scratch data that is no longer useful to the application.56. The method of claim 52, wherein the scratch data comprises a page; and wherein marking the scratch data comprises marking the page.57. The method of claim 48, wherein the first storage space is a first memory and the second storage space is a second memory; and wherein determining whether the second storage space contains the scratch data comprises-determining whether the second memory contains the scratch data that is no longer useful to the application.58. The method of claim 57, wherein the scratch data comprises a page; and wherein marking the scratch data comprises marking the page.59. The method of claim 57, wherein the first memory and the second memory comprise a non-uniform medium access system; and wherein determining whether the second memory contains the scratch data comprises determining whether the non-uniform medium access system contains the scratch data that is no longer useful to the application.60. The method of claim 48, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.61. An apparatus for storing data in a computer system comprising:a first storage space for storing data; a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, and wherein the second storage space is configured to store data associated with an application in the second storage space; determine whether the second storage space contains scratch data that is no longer useful to the application and has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and mark the scratch data such that the scratch data is not copied to the first storage space during execution of a coherence protocol that ensures data stored in the first storage space is current with respect to the second storage space. 62. The apparatus of claim 61, wherein the first storage space is a main memory and the second storage space is a cache memory, wherein the marked data occupies less space then a maximum space in the cache memory.63. The apparatus of claim 62, wherein the marked data comprises a line.64. The apparatus of claim 62, wherein the main memory is a DRAM and the cache memory is an SRAM.65. The apparatus of claim 61 wherein the first storage space is a disk storage space and the second storage space is a memory.66. The apparatus of claim 65, wherein the disk storage space and the memory comprise a virtual memory.67. The apparatus of claim 66, wherein the marked data occupies less space than a maximum space of the virtual memory.68. The apparatus of claim 65, wherein the memory comprises a disk cache.69. The apparatus of claim 65, wherein the memory comprises a cache memory.70. The apparatus of claim 65, wherein the marked data comprises a page.71. The apparatus of claim 61, wherein the first storage space is a first memory and the second storage space is a second memory.72. The apparatus of claim 71, wherein the marked data comprises a page.73. The apparatus of claim 71, wherein the first memory and the second memory comprise a non-uniform memory access system.74. The apparatus of claim 61, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.75. A computer-readable medium containing instructions for controlling a computer system comprising a first storage space and a second storage space, wherein the first storage space is lower in a hierarchy than the second storage space, to perform a method of operating a processor, the method comprising:storing data associated with an application in the second storage space; determining whether the second storage space contains scratch data that is no longer useful to the application and has not been and will not be copied to the first storage space, and wherein the area of the second storage space is less then a full area of the second storage space; and marking the scratch data such that the scratch data is not copied to the first storage space during execution of a coherence protocol that ensures data stored in the first storage space is current with respect to the second storage space. 76. The computer-readable medium of claim 75, wherein the first storage space is a main memory and the second storage space is a cache memory, and wherein the scratch data occupies less space than a maximum space in the cache memory.77. The computer-readable medium of claim 76, wherein the marked data comprises a line.78. The computer-readable medium of claim 76, wherein the main memory is a DRAM and the cache memory is an SRAM.79. The computer-readable medium of claim 75, wherein the first storage space is a disk storage space and the second storage space is a memory.80. The computer-readable medium of claim 79, wherein the disk storage space and the memory comprise a virtual memory.81. The computer-readable medium of claim 80, wherein the marked data occupies less space than a maximum space of the virtual memory.82. The computer-readable medium of claim 79, wherein the memory comprises a cache memory.83. The computer-readable medium of claim 79, wherein the memory comprises a cache memory.84. The computer-readable medium of claim 79, wherein the marked data comprises a page.85. The computer-readable medium of claim 75, wherein the first storage space is a first memory and the second storage space is a second memory.86. The computer-readable medium of claim 85, wherein the marked data stored at the memory address comprises a page.87. The computer-readable medium of claim 85, wherein the first memory and the second memory comprise a non-uniform memory access system.88. The computer-readable medium of claim 75, wherein the scratch data is data that is temporarily needed to complete a function and is not an output of the function.89. A method for storing data in a computer system comprising a first storage space for storing data, a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, the method comprising:instructing a marking of scratch data stored at a memory address in the second storage space: designating an area of the second storage space that contains the scratch data as invalid; wherein designating the area comprises determining whether data in the second storage space contains the scratch data stored at the memory address; and marking the scratch data in the second storage space as invalid, if the second storage space contains the scratch data; and permitting a writing over of the invalid data in the second storage space. 90. An apparatus for storing data in a computer system comprising:a first storage space for storing data; a second storage space for storing data, wherein the first storage space is lower in a hierarchy than the second storage space, and wherein the second storage space is configured to instruct a marking of scratch data stored at a memory address in the second storage space; designate an area of the second storage space that contains the scratch data as invalid; wherein designating the area of the second storage space comprises determining whether data in the second storage space contains the scratch data stored at a memory address; and marking the scratch data in the second storage space as invalid, if the second storage space contains the scratch data; and permit a writing over of the invalid data in the second storage space. 91. A computer-readable medium containing instructions for controlling a computer system comprising a first storage space and a second storage space, wherein the first storage space is lower in a hierarchy than the second storage space, to perform a method of operating a processor, the method comprising:instructing a marking of scratch data stored at a memory address in the second storage space; designating an area of the second storage space that contains the scratch data as invalid; wherein designating the area comprises determining whether data in the second storage space contains the scratch data stored at the memory address; and marking the scratch data in the second storage space as invalid, if the second storage space contains the scratch data; and permitting a writing over of the invalid data in the second storage space.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.