Enhanced data integrity using parallel volatile and non-volatile transfer buffers
First Claim
1. An apparatus comprising a first volatile memory block, a second volatile memory block coupled to a non-volatile circular buffer, and a controller configured to direct first data to the first volatile memory block for subsequent transfer to a downstream block, and to direct second data to the second volatile memory block for subsequent transfer to the non-volatile circular buffer.
6 Assignments
0 Petitions
Accused Products
Abstract
Method and apparatus for transferring data. The apparatus preferably includes a first volatile memory block, a second volatile memory block coupled to a non-volatile circular buffer, and a controller configured to direct first data to the first volatile memory block for subsequent transfer to a downstream block, such as a data storage array. The controller is further configured to direct second data to the second volatile memory block for subsequent transfer to the non-volatile circular buffer. Preferably, the second volatile memory block forms a portion of a non-volatile random access memory (NVRAM) and the circular buffer is formed from a flash memory device. An intelligence block preferably controls said subsequent transfer of the second data from the second volatile memory block to the circular buffer. The second data are preferably transferred from the circular buffer to the downstream block in conjunction with the transfer of the first data.
74 Citations
20 Claims
- 1. An apparatus comprising a first volatile memory block, a second volatile memory block coupled to a non-volatile circular buffer, and a controller configured to direct first data to the first volatile memory block for subsequent transfer to a downstream block, and to direct second data to the second volatile memory block for subsequent transfer to the non-volatile circular buffer.
-
13. An apparatus comprising:
-
a controller;
a volatile memory block configured to receive a selected data block pending subsequent transfer of said data to a downstream block; and
first means in parallel with the volatile memory block for alternatively storing said data block in a non-volatile circular buffer. - View Dependent Claims (14, 15)
-
-
16. A method comprising:
-
using a controller to direct first data to a first volatile memory block for subsequent transfer to a downstream block; and
using the controller to direct second data to a second volatile memory block for subsequent transfer to a non-volatile circular buffer. - View Dependent Claims (17, 18, 19, 20)
-
Specification