Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
159 words
A self contained, solid state disk drive data storage apparatus for storing and retrieving blocks of user data received from a host computer via an external bus and comprising: a non-volatile memory comprising at least one disk drive for storing data blocks by logical block addresses and having a predetermined data storage capacity of at least 100 megabytes of user data; volatile memory means for storing data blocks by logical block addresses transferred from corresponding logical block addresses of said non-volatile memory and having a predetermined data storage capacity approximately equal to the capacity of the non-volatile memory; a processing means for transferring data between said non-volatile memory means and said volatile memory means via an internal bus structure, and first status means within said volatile memory means for indicating that data stored in said volatile memory means has been modified by said host computer after said data stored in said volatile memory was transferred from said non-volatile memory.
Claim 2
Dependent Claim
159 words
A self contained, solid state disk drive data storage apparatus for storing and retrieving blocks of user data received from a host computer via an external bus and comprising: a non-volatile memory comprising at least one disk drive for storing data blocks by logical block addresses and having a predetermined data storage capacity of at least 100 megabytes of user data; volatile memory means for storing data blocks by logical block addresses transferred from corresponding logical block addresses of said non-volatile memory and having a predetermined data storage capacity approximately equal to the capacity of the non-volatile memory; a processing means for transferring data between said non-volatile memory means and said volatile memory means via an internal bus structure, and first status means within said volatile memory means for indicating that data stored in said volatile memory means has been modified by said host computer after said data stored in said volatile memory was transferred from said non-volatile memory.
Claim 3
Dependent Claim
36 words
The apparatus as in claim 1, wherein said processing means polls said first status means and transfers data, which said first status means indicates has been modified, from said volatile memory means to said non-volatile memory.
Claim 4
Dependent Claim
35 words
The apparatus as in claim 2 comprising a plurality of operative states including a WRITE ENABLE state, and wherein said processing means transfers the modified data while said apparatus is in the WRITE ENABLE state.
Claim 5
Dependent Claim
82 words
The apparatus as in claim 1, comprising second status means within said non-volatile memory for indicating that data blocks stored in said non-volatile memory correspond to data blocks stored in said volatile memory means, said processing means for reading said second status means and for transfering data blocks from said non-volatile memory to said volatile memory means during a RESTORE DATA operative state of said apparatus following removal and restoration of a primary power supply in accordance with said second status means.
Claim 6
Dependent Claim
74 words
The apparatus as in claim 4 further comprising onboard auxiliary power supply means for temporarily powering said apparatus following removal of a primary power supply during a SAVE TABLES and DATA operative state during which the first status means is polled by the processing means and data blocks in the volatile memory means which have been changed by the host computer are written to the non-volatile memory, and the second status means is updated.
Claim 7
Dependent Claim
115 words
The apparatus as in claim 5 wherein said second status means comprises a plurality of tables, wherein a data block status entry to a first one of the tables is written by the processing means before a corresponding data block is written from the volatile memory means to the non-volatile memory, and wherein a data block status second entry is written to a second one of the plurality of the tables by the processing means following completion of writing of the corresponding data block, the processing means for determining correspondence between data block status entries for the corresponding data block before writing it back into the volatile memory means during a RESTORE DATA operative state.
Claim 8
Dependent Claim
48 words
The apparatus of claim 1, wherein the processing means scans the first status means to determine if any of the data blocks in said volatile memory means have been modified by the host computer, and for transferring a copy of the modified data blocks into said non-volatile memory.
Claim 9
Dependent Claim
38 words
The apparatus as in claim 7, wherein said processing means causes transfer of a copy of the modified data blocks from the volatile memory means to the non-volatile memory while said apparatus is in a WRITE ENABLE mode.
Claim 10
Dependent Claim
59 words
The apparatus as in claim 7, wherein said volatile memory means includes an address, at which data is stored, and said indicating means includes a corresponding address, at which data is stored, whereby the data stored in said address of said first status means indicates whether data stored in the corresponding address of said memory means has been modified.
Claim 11
Dependent Claim
34 words
The apparatus as in claim 9, wherein current values of said first status means are saved in a second status means within said non-volatile memory when said apparatus exits a WRITE ENABLE operative mode.
Claim 12
Dependent Claim
20 words
The apparatus as in claim 7, wherein said volatile memory means includes an electronic dynamic random access memory (DRAM) array.
Claim 13
Dependent Claim
248 words
A self-contained, solid state disk data storage apparatus for storing data block received from a host computer comprising: an electromechanical recording and playback device having a multiplicity of logical block addresses, there being a logical block address at which each data block is stored; a dynamic random access memory array having an access time to a data block shorter than an access time of the electromechanical recording and playback device and having a multiplicity of logical block addresses, there being a logical block address at which each data block is stored, logical block addresses of the dynamic random access memory array for a particular data block corresponding to logical block addresses for the particular data block stored within the electromechanical recording and playback device; a memory including a data structure table having a logical block address which corresponds to the logical block addresses of said electromechanical recording and playback device and the dynamic random access memory array for each data block, the table for storing data which indicates that data stored in said dynamic random access memory array has been modified after it was transferred from said electromechanical recording and playback device; and processing means for scanning said data structure table to determine if any of the data blocks in said dynamic random access memory array has been modified by the host computer, and for saving a copy of modified data blocks in said electromechanical recording and playback device while said apparatus is in a WRITE ENABLE mode.
Claim 14
Dependent Claim
248 words
A self-contained, solid state disk data storage apparatus for storing data block received from a host computer comprising: an electromechanical recording and playback device having a multiplicity of logical block addresses, there being a logical block address at which each data block is stored; a dynamic random access memory array having an access time to a data block shorter than an access time of the electromechanical recording and playback device and having a multiplicity of logical block addresses, there being a logical block address at which each data block is stored, logical block addresses of the dynamic random access memory array for a particular data block corresponding to logical block addresses for the particular data block stored within the electromechanical recording and playback device; a memory including a data structure table having a logical block address which corresponds to the logical block addresses of said electromechanical recording and playback device and the dynamic random access memory array for each data block, the table for storing data which indicates that data stored in said dynamic random access memory array has been modified after it was transferred from said electromechanical recording and playback device; and processing means for scanning said data structure table to determine if any of the data blocks in said dynamic random access memory array has been modified by the host computer, and for saving a copy of modified data blocks in said electromechanical recording and playback device while said apparatus is in a WRITE ENABLE mode.
Claim 15
Dependent Claim
23 words
The apparatus as in claim 12, wherein said memory including said data structure table is included in said dynamic random access memory array.
Claim 16
Dependent Claim
32 words
The apparatus as in claim 13, wherein a current copy of said data structure table is saved in said electromechanical recording and playback device when said apparatus exits a WRITE ENABLE mode.
Claim 17
Dependent Claim
33 words
The apparatus as in claim 14, further comprising means for indicating whether the copy of said data structure table is valid when the copy is saved in said electromechanical recording and playback device.
Claim 18
Dependent Claim
45 words
The apparatus as in claim 12, wherein said said data structure table includes data which indicates which modified data blocks in said dynamic random access memory array have been saved in said electromechanical recording and playback device after said apparatus exits a WRITE ENABLE mode.
Claim 19
Dependent Claim
25 words
The apparatus as in claim 12, wherein data saved in the electromechanical recording and playback device further includes a TAG value stored with the data.
Claim 20
Dependent Claim
29 words
The apparatus as in claim 17, wherein said processing means uses said stored TAG value to determine whether data stored in said electromechanical recording and playback device is valid.
Claim 21
Dependent Claim
56 words
The apparatus as in claim 17, wherein said electromechanical recording and playback device stores a TAG field, the value of which changes each time said apparatus exits a WRITE ENABLE mode, and the TAG value stored with the data is equal to the value of the TAG field at the time that the data is saved.
Claim 22
Dependent Claim
112 words
The apparatus as in claim 12 further comprising onboard auxiliary power supply means for temporarily supplying power to the self-contained, solid state disk data storage apparatus when a primary power outage occurs at the host computer supplying power to the data storage apparatus in order to enable the processing means to continue to scan said data structure table to determine if any of the data blocks in said dynamic random access memory array has been modified by the host computer, and to save a copy of said data structure table and any unsaved modified data blocks in said electromechanical recording and playback device, until primary power is restored to the host computer.
Claim 23
Independent Claim
114 words
A method of storing data in a solid state disk data storage apparatus comprising the steps of: transferring data blocks from a disk drive non-volatile memory means to a solid state volatile memory means within the storage apparatus at a first, relatively slow disk drive transfer rate; transferring data blocks between a host computing system and the solid state volatile memory means at a second, relatively fast solid state volatile memory data transfer rate: monitoring the modification of the data blocks in the solid state volatile memory means after the data blocks were transferred to the solid state volatile memory means; and saving any modified data blocks in the disk drive non-volatile memory means.
Claim 24
Independent Claim
114 words
A method of storing data in a solid state disk data storage apparatus comprising the steps of: transferring data blocks from a disk drive non-volatile memory means to a solid state volatile memory means within the storage apparatus at a first, relatively slow disk drive transfer rate; transferring data blocks between a host computing system and the solid state volatile memory means at a second, relatively fast solid state volatile memory data transfer rate: monitoring the modification of the data blocks in the solid state volatile memory means after the data blocks were transferred to the solid state volatile memory means; and saving any modified data blocks in the disk drive non-volatile memory means.
Claim 25
Dependent Claim
39 words
The method as in claim 21 further comprising the step of: storing status data in a data block status indicating means, the stored status data indicating which data blocks in said solid state volatile memory means have been modified.
Claim 26
Dependent Claim
37 words
The method as in claim 22, further comprising the step of: scanning the data block status indicating means, and performing said saving step while the solid state disk data storage apparatus is in a WRITE ENABLE mode.
Claim 27
Dependent Claim
37 words
The method as in claim 22, further comprising the step of: changing the data in the data block status indicating means depending upon whether modified data blocks have been saved in the solid state volatile memory means.
Claim 28
Dependent Claim
26 words
The method as in claim 22, further comprising the step of: saving the data block status indicating means in the disk drive non volatile memory means.
Claim 29
Dependent Claim
30 words
The method as in claim 25, wherein said step of saving the data block status indicating means occurs when the solid state disk storage apparatus exits a WRITE ENABLE mode.
Claim 30
Dependent Claim
52 words
The method as in claim 21, wherein the step of saving any modified data blocks in the disk drive non-volatile memory means further comprises the step of: storing a TAG value along with each saved modified data block, and using the TAG value to determine if the saved data block is valid.