Claims
- 1. A method to maintain integrity of data written to a persistent memory system coupled with a computer system that can perform a data write request via a caching system with a buffer to said persistent memory system, the method comprising:
(A) performing a diagnostic analysis to determine if said computer system will support buffering said data in said caching system without loss of integrity; (B) if step (a) is affirmative, configuring said caching system to buffer said data before writing to said persistent memory system; and (C) if step (a) is negative, configuring said caching system to write-through said data to said persistent memory system.
- 2. The method of claim 1, wherein step (B) further includes buffering said data in said caching system, and further includes configuring said caching system to acknowledge said buffering to said computer system.
- 3. The method of claim 1, wherein step (C) further includes configuring said caching system to flush any contents of said buffer and write said contents to said persistent memory system.
- 4. The method of claim 1, wherein step (A) includes performing diagnostic analysis of systems coupled with said computer system including at least one of (a) any persistent memory, (b) ATA hard disk with SMART, (c) hard disk with self-diagnostic system, (d) battery backup, (e) operating system, and (f) ambient internal temperature.
- 5. The method of claim 1, wherein said caching system further includes a multi-level cache hierarchy system.
- 6. The method of claim 1, wherein said caching system includes a multi-level cache hierarchy system comprising:
at least two cache levels including: a highest level sub-caching system to receive said data write request; and a lowest level sub-caching system to write to said persistent memory system including at least said data included in said data write request, wherein a higher level sub-caching system to send a second write request including at least said data included in said data write request to an immediately lower level sub-caching system, and a lower level sub-caching system to receive said second write request from an immediately higher level sub-caching system.
- 7. The method of claim 6, wherein said diagnostic analysis of step (A) includes a determining a range of health, and at least one of said configuring of steps (B) and (C) use said range of health to configure said at least two cache levels.
- 8. A method to maintain integrity of data written to a persistent memory system coupled with a computer system that can perform a data write request via a caching system to said persistent memory system, said computer system able to dynamically reconfigure said caching system and said persistent memory system as a function of a diagnostic analysis, where a successful data write request is signaled to said computer system by an acknowledgment signal, the method comprising the following steps:
(A) said computer system performs said data write request; (B) said caching system receives said data write request, said caching system being state-configurable to include:
a write-through-buffer-noack state in which said data is buffered, without generating a cache acknowledgment signal; and a buffer-ack state in which said data is buffered and said cache acknowledgment signal (C-ACK) is generated to acknowledge buffering of said data; (C) said caching system performing a persistent data write request to store said data; (D) said persistent memory system receiving and storing said data requested at step (C), said persistent memory system being state-configurable to include:
a memory-ack state in which said data is stored and a memory acknowledgment signal (M-ACK) is generated to acknowledge storing of said data, and and a memory-noack state in which said data is stored without generating said memory acknowledgment signal; (E) determining whether said C-ACK or said M-ACK was received by said computer system; (F) if neither a C-ACK or a M-ACK was received, said computer system re-sending said data write request, if one of said C-ACK and said M-ACK was received, proceed to step (G); (G) performing diagnostic analysis to determine if said computer system will support buffering said data in said caching system without loss of integrity; and (H) dynamically configuring said caching system and said memory system based on diagnostic analysis performed at step (G), said configuration including at least one of (a) modifying cache state, and (b) modifying memory system state.
- 9. The method of claim 8, wherein step (B) further includes a write-through-nobuffer-noack state in which said data is passed through without buffering, and without generating said cache acknowledgment signal.
- 10. The method of claim 8, wherein step (H) includes configuring said caching system with said write-through-buffer-noack state if said computer system does not support acknowledging buffering said data in said caching system without loss of integrity, and configuring said caching system with said buffer-ack state if said computer system does will support buffering said data in said caching system without loss of integrity.
- 11. The method of claim 8, wherein step (B) includes providing a caching system that includes a multi-level cache hierarchy system.
- 12. The method of claim 8, wherein said caching system includes a multi-level cache hierarchy system.
- 13. The method of claim 8, wherein said step (G) further includes determining a range of health, wherein step (H) dynamically configuring said caching system and said memory system based on said range of health.
- 14. The method of claim 8, wherein
step (B) includes providing a multi-level cache hierarchy system comprising at least two cache levels including:
a highest level sub-caching system to receive said data write request of step (B); and a lowest level sub-caching system to write to said persistent memory system including at least said data included in said data write request, wherein a higher level sub-caching system to send a second write request including at least said data included in said data write request to an immediately lower level sub-caching system, and a lower level sub-caching system to receive said second write request from an immediately higher level sub-caching system; and and step (C) is carried out by said lowest level sub-caching system.
- 15. The method of claim 14, wherein diagnostic analysis at step (G) includes a range of health, and dynamic configuration of step (H) uses said range of health to configure said at least two cache levels.
- 16. The method of claim 8, wherein diagnostic analysis at step (G) includes at least one of (a) persistent memory, (b) ATA hard disk with SMART, (c) hard disk with self-diagnostic system, (d) battery backup, (e) operating system, and (f) ambient internal temperature.
- 17. A system to maintain integrity of data written to a persistent memory system coupled with a computer system that can perform a data write request via a caching system to said persistent memory system, the system comprising:
a diagnostic system, coupled to said computer system, to perform a diagnostic analysis to determine if said computer system will support buffering said data in said caching system without loss of integrity; a caching system, coupled to said diagnostic system and said computer system, to receive said data write request, to perform a persistent data write request to store said data, said caching system being state-configurable by said diagnostic system to include:
a write-through-buffer-noack state in which said data is buffered, without generating a cache acknowledgment signal; and a buffer-ack state in which said data is buffered and said cache acknowledgment signal (C-ACK) is generated to acknowledge buffering of said data; said persistent memory system, coupled to said diagnostic system and said computer system, to receive and to store said data.
- 18. The system of claim 17, wherein said caching system being state-configurable by said diagnostic system further includes a write-through-nobuffer-noack state in which said data is passed through without buffering, without generating said cache acknowledgment signal.
- 19. The system of claim 17, further including means for sending an acknowledgment to said computer system indicating a successful data write request.
- 20. The system of claim 17, further wherein at least one of said caching systems and said persistent memory system can issue an acknowledgment to said computer system indicating a successful data write request.
- 21. The system of claim 20, wherein said caching system includes a buffer-ack state in which said data of said data write request is buffered and a cache acknowledgment signal (C-ACK) is generated to acknowledge buffering of data; and
said persistent memory system being state-configurable to include a memory-ack state in which said data is stored and a memory acknowledgment signal (M-ACK) is generated to acknowledge storing of said data, and a memory-noack state in which said data is stored.
- 22. The system of claim 17, wherein said caching system is a multi-level cache hierarchy system.
- 23. The system of claim 17, wherein said caching system is a multi-level cache hierarchy system comprising:
at least two cache levels including:
a highest level sub-caching system to receive said data write request; and a lowest level sub-caching system to write to said persistent memory system including at least said data included in said data write request, wherein a higher level sub-caching system to send a second write request including at least said data included in said data write request to an immediately lower level sub-caching system and a lower level sub-caching system to receive said second write request from an immediately higher level sub-caching system.
- 24. The system of claim 23, wherein diagnostic system includes determining a range of health, and said dynamic configuration can utilize said range of health to configure said at least two cache level.
- 25. A dynamic cache control system to maintain integrity of data written to a persistent memory system coupled with a computer system that can perform a write data request via a caching system to said persistent memory means, the system comprising:
means for determining whether health of said computer system will support writing said data to said caching system without loss of integrity; means for caching, coupled to said means for determining and said computer system, for receiving and buffering said write data request, said means for caching able to buffer said data before writing to said persistent memory means; means for configuring, coupled to said means for caching and said computer system, said means for caching based on determination of health.
- 26. The system of claim 25, wherein said diagnosing means includes monitoring of at least one of (a) non-volatile memory, (b) ATA hard disk with SMART, (c) hard disk with self-diagnostic system, (d) battery backup, (e) operating system, and (f) ambient internal temperature.
- 27. The system of claim 25, wherein said caching means further includes a multi-level caching hierarchy means.
- 28. The method of claim 25, wherein said caching means includes a multi-level cache hierarchy means comprising:
at least two cache level means including a highest level sub-caching means to receive said write data request, to buffer, and to send a write request to an immediately lower level sub-caching means, and a lowest level sub-caching means to receive a write request from an immediately higher level sub-caching means, to buffer, and to write to said persistent memory means.
- 29. The method of claim 28, wherein said diagnosing means includes a range of health, and said configuration means can utilize said range of health to configure said at least two cache levels.
Parent Case Info
[0001] RELATION TO CO-PENDING APPLICATION
[0002] This application claims priority to co-pending U.S. Provisional Patent Application No. 60/280,588, entitled, “Virtual Storage Network,” filed Mar. 30, 2001, David C. Lee et al. inventors, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60280588 |
Mar 2001 |
US |