Dave's Patent Content Factory
Applications
Terms
Paragraphs
Claims
Docket
Logout
About
New Paragraph
Paragraphs
Search Content
Para #
Notes
Any Field
Search
Clear
Actions
Matter
Content
Para #
Notes
Modified
View
Edit
Delete
2380.2.01
In one embodiment where the storage devices 150 are networked together as a distributed storage device, the storage devices 150 serve as a redundant array of independent drives (“RAID”) managed by one or more distributed storage controllers 152. For example, a request to write a data segment of an object results in the data segment being stripped across the data storage devices 154a-n with a parity stripe, depending upon the RAID level. One benefit of such an arrangement is that such an object management system may continue to be available when a single storage device 150 has a failure, whether of the storage controller 152, the data storage device 154, or other components of storage device 150.
58
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
When redundant networks are used to interconnect the storage devices 150 and requesting devices 155, the object management system may continue to be available in the presence of network failures as long as one of the networks remains operational. A system 101 with a single storage device 150a may also include multiple data storage devices 154a and the storage controller 152a of the storage device 150a may act as a RAID controller and stripe the data segment across the data storage devices 154a of the storage device 150a and may include a parity stripe, depending upon the RAID level.
59
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
In one embodiment, where the one or more storage devices 150a-n are solid-state storage devices 102 with a solid-state storage device controller 202 and solid-state storage 110, the solid-state storage device(s) 102 may be configured in a DIMM configuration, daughter card, micro-module, etc. and reside in a computer 112. The computer 112 may be a server or similar device with the solid-state storage devices 102 networked together and acting as distributed RAID controllers. Beneficially, the storage devices 102 may be connected using PCI-e, PCIe-AS, Infiniband or other high-performance bus, switched bus, networked bus, or network and may provide a very compact, high performance RAID storage system with single or distributed solid-state storage controllers 202 autonomously striping a data segment across solid-state storage 110a-n.
60
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
In one embodiment, the same network used by the requesting device 155 to communicate with storage devices 150 may be used by the peer storage device 150a to communicate with peer storage devices 150b-n to accomplish RAID functionality. In another embodiment, a separate network may be used between the storage devices 150 for the purpose of RAIDing. In another embodiment, the requesting devices 155 may participate in the RAIDing process by sending redundant requests to the storage devices 150. For example, requesting device 155 may send a first object write request to a first storage device 150a and a second object write request with the same data segment to a second storage device 150b to achieve simple mirroring.
61
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
With the ability for object handling within the storage device(s) 102, the storage controller(s) 152 uniquely have the ability to store one data segment or object using one RAID level while another data segment or object is stored using a different RAID level or without RAID striping. These multiple RAID groupings may be associated with multiple partitions within the storage devices 150. RAID 0, RAID 1, RAID5, RAID6 and composite RAID types 10, 50, 60, can be supported simultaneously across a variety of RAID groups comprising data storage devices 154a-n. One skilled in the art will recognize other RAID types and configurations that may also be simultaneously supported.
62
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Also, because the storage controller(s) 152 operate autonomously as RAID controllers, the RAID controllers can perform progressive RAIDing and can transform objects or portions of objects striped across data storage devices 154 with one RAID level to another RAID level without the requesting device 155 being affected, participating or even detecting the change in RAID levels. In the preferred embodiment, progressing the RAID configuration from one level to another level may be accomplished autonomously on an object or even a packet bases and is initiated by a distributed RAID control module operating in one of the storage devices 150 or the storage controllers 152. Typically, RAID progression will be from a higher performance and lower efficiency storage configuration such as RAID1 to a lower performance and higher storage efficiency configuration such as RAID5 where the transformation is dynamically initiated based on the frequency of access. But, one can see that progressing the configuration from RAID5 to RAID1 is also possible. Other processes for initiating RAID progression may be configured or requested from clients or external agents such a storage system management server request. One of skill in the art will recognize other features and benefits of a storage device 102 with a storage controller 152 that autonomously manages objects.
63
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Apparatus for Storage Controller-Managed Objects
64
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
FIG. 2A is a schematic block diagram illustrating one embodiment of an apparatus 200 for object management in a storage device in accordance with the present invention. The apparatus 200 includes a storage controller 152 with an object request receiver module 260, a parsing module 262, a command execution module 264, an object index module 266, an object request queuing module 268, a packetizer 302 with a messages module 270, and an object index reconstruction module 272, which are described below.
65
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
storing a first portion of the ECC block on a page of a first one of the solid-state storage elements and a second portion of the ECC block on a page of a second one of the solid-state storage elements.
215
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
an error-correcting code (ECC) generator configured to generate an ECC block comprising at least a portion of the received data and an error-correcting code capable of correcting an error in the ECC block;
226
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
a write data pipeline configured to receive data to be stored on the solid-state storage device, the write data pipeline communicatively coupled to the two or more solid-state storage elements, the write data pipeline comprising,
225
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 10.A solid-state storage device comprising two or more solid-state storage elements, each partitioned into a plurality of pages, comprising:
224
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 9.The method of claim 1, wherein each solid-state storage element comprises a plurality of erase blocks, the method further comprising generating a plurality of ECC blocks, wherein the ECC blocks divide evenly within the erase blocks.
223
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 8.The method of claim 1, further comprising packetizing the received data into one or more packets, wherein the ECC block comprises at least a portion of at least one of the packets and the ECC block having no fixed relationship between a size of the packets and a size of the ECC block.
222
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 7.The method of claim 1, wherein the error-correcting code length is predetermined based on one of a performance metric, an efficiency metric, and a data integrity metric.
221
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 6.The method of claim 1, wherein a length of the error-correcting code is predetermined to correct a particular number of bit errors in the ECC block and the length of the error-correcting code is predetermined independent of a physical page size of the solid-state storage elements.
220
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 5.The method of claim 1, wherein a length of the error-correcting code is predetermined to correct a particular number of bit errors in the ECC block and the length of the error-correcting code is predetermined independent of a block size of the received data.
219
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 4.The method of claim 1, wherein the first portion of the ECC block comprises a portion of the received data and the second portion of the ECC block comprises the error-correcting code capable of correcting an error in the portion of the received data.
218
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 3.The method of claim 1, wherein storing a first portion further comprises storing the first portion and the second portion on the first and the second solid-state storage elements responsive to a single solid-state storage element programming command.
217
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Claim 2.The method of claim 1, wherein storing the ECC block comprises storing the first portion of the ECC block on a page of the first solid-state storage element and the second portion of the ECC block on a page of the second solid-state storage element.
216
Added by DJM 3 2021
3/16/21, 12:00 AM
<< first
< previous
363
364
365
366
367
368
369
370
371
next >
last >>
Page 367 of 438, showing 20 record(s) out of 8,747 total