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
US8533406B2
In a preferred embodiment, the sequential storage module 802 starts writing packets to storage write buffers in the storage elements (e.g. SSS 0.0 to SSS M.0 216) of a bank (bank-0214a). When the storage write buffers are full, the solid-state storage controller 104 causes the data in the storage write buffers to be programmed into designated pages within the storage elements 216 of the bank 214a. Then another bank (e.g. bank-1214b) is selected and the sequential storage module 802 starts writing packets to storage write buffers of the storage elements 218 of the bank 214b while the first bank-0214a is programming the designated pages. When the storage write buffers of this bank 214b are full, the contents of the storage write buffers are programmed into another designated page in each storage element 218. This process is efficient because while one bank 214a is programming a page, storage write buffers of another bank 214b can be filling.
223
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
As used herein, a storage division is equivalent in area to an erase block but may or may not be erased. Where erase block is used herein, an erase block may refer to a particular area of a designated size within a storage element (e.g. SSS 0.0 216a) and typically includes a certain quantity of pages. Where “erase block” is used in conjunction with flash memory, it is typically a storage division that is erased prior to being written. Where “erase block” is used with “solid-state storage,” it may or may not be erased. As used herein, an erase block may include one erase block or a group of erase blocks with one erase block in each of a row of storage elements (e.g. SSS 0.0 to SSS M.0 216a-n), which may also be referred to herein as a virtual erase block. When referring to the logical construct associated with the virtual erase block, the erase blocks may be referred to herein as a logical erase block (“LEB”).
225
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
The performance of garbage-collection-based systems may be impacted by the availability of free storage space. Block-based storage protocols, such as SCSI and/or SATA, however, presume that every block is allocated, and that the contents of the blocks need to be preserved. As such, these blocks may not be considered to be free space. As a result, reserve space may be set aside to create free space. However, setting aside the reserve space may reduce the available capacity of the storage device, and the reserved space may not be large enough to allow the garbage-collection system to operate efficiently.
241
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
Most agents that use block storage do not need the contents of every block to be preserved. File systems, for example, are rarely filled to near the capacity of the underlying block storage device(s). If the file system were to supply a hint to the block storage regarding which specific blocks do not hold data that needs to be preserved, the efficiency of the garbage collection on the underlying block storage system could be improved. However, customizing file-systems and other agents to integrate directly with a garbage-collection-based storage system does not get the benefit of using decoupled, commercially hardened, and robust block APIs and protocols.
242
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
An empty-block directive may be added to the block storage APIs and/or protocols. File systems and other clients of the API and/or protocol may be enhanced to issue these directives. For example, when a file is deleted, the file-system can issue an “empty-block” directive for the blocks that contained the data for that file, indicating that the contents of the blocks do not need to be retained (e.g., the blocks can be considered free space). This directive may serve a secondary security purpose by incorporating a flag to indicate that the existing data should be destroyed.
243
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
Alternatively, or in addition, agents may be configured to write all zeros to the blocks whose contents are no longer needed. The underlying block storage system can recognize all-zero blocks and avoid having to actually store the all-zero content. Subsequent reads can return the same all-zero data. The garbage-collection-based storage systems may treat the zeroed blocks as free space.
244
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
File systems may write zeros to unused blocks to indicate that the blocks do not hold data that needs to be preserved and/or for security reasons. Empty-block directives or hints sent by the file system may be used in place of these operations. In some embodiments, a data segment token may be stored in place of the sequence of zeros (or other data pattern) to signify that the blocks are not in use. This may be especially useful in block storage applications. Blocks are always considered valid, their contents needing to be preserved, even if the client (e.g., file system) is not currently using the blocks to store valid data. Many file systems are diligent about zeroing out blocks that are not actually storing valid data. The blocks may be zeroed out for security reasons (e.g., prevent read before write hazards). The compression module described above may be used to reduce the storage requirements of these types of sequences. Alternatively, or in addition, an API may be provided to identify unused blocks (e.g., an API to “throw away the contents of these blocks” or a “clear” command). Subsequent requests to read data of such blocks may return zeros.
245
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
In some embodiments, the storage driver may be configured to recognize zero blocks as they are being written and instead “clear” their contents, effectively compressing the zero blocks. The zero blocks may not be transferred to the storage device, further reducing workload. Identifying blocks that are not all zeros is a relatively low overhead operation.
246
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
Typically, when data is no longer useful it may be erased. In many file systems, an erase command deletes a directory entry in the file system while leaving the data in place in the storage device containing the data. Typically, a data storage device is not involved in this type of erase operation. Another method of erasing data is to write zeros, ones, or some other null data character to the data storage device to actually replace the erased file. However, this is inefficient because valuable bandwidth is used to transmit the data for the overwrite operation. In addition, space in the storage device is taken up by the data used to overwrite invalid data.
247
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
In one embodiment, the token directive generation module 1002 generates both a token directive and a secure erase command in response to a request to overwrite existing data on the storage device 150. The existing data includes data identified on the storage device 150 with the same data segment identifier as the data segment identifier in the token directive. Typically, a request to overwrite data is sent where it is not sufficient to merely mark data as invalid or garbage, delete a pointer to the data, or other typical delete operation, but where the data is required to be overwritten in such a way that that the data is not recoverable. For example, the request to overwrite the data may be required where data is considered sensitive information and must be destroyed for security reasons.
255
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
Claim 1.A method for managing data stored on non-volatile storage media, the method comprising:
293
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
receiving a message, at a storage controller, comprising a logical identifier, the message indicating that a storage client has deleted a block associated with the logical identifier such that data of the logical identifier does not need to be preserved on a non-volatile storage medium, wherein the logical identifier is associated with a physical storage location on the non-volatile storage medium; and
294
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
indicating that contents of the physical storage location do not need to be preserved on the non-volatile storage medium in response to the message.
295
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
US8533406B2
Claim 2.The method of claim 1, wherein indicating comprises deleting an index entry that associates the logical identifier with the physical storage location.
296
Added by DJM 3 2021
3/24/21, 12:00 AM
View
Edit
Delete
2380.2.01
1. Field of the Invention
2
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
This invention relates to data storage devices and more particularly relates to managing data in a solid-state storage device using a data pipeline.
3
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Data storage devices are typically write-in-place in that data accessed at a particular location can be modified and then put back in the same location. A file or object may be divided and placed piecemeal in the data storage device in various locations where no data is stored or where data is marked invalid. While this method works well for devices such as a hard disk drive (“HDD”), using write-in-place for solid-state storage can be inefficient and can cause premature failure.
5
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Using write-in-place for solid-state storage can be inefficient because typically writing data often takes much longer than reading data. For flash memory, which is a type of solid-state storage, changing a bit from a “zero” state (“zero”) to a “one” state (“one”) usually takes longer than changing a bit from a one to a zero. This is the case for typical flash memory that uses capacitors as cells where a zero equates to a discharged capacitor in a cell and a one equates to a charged capacitor in a cell. Typically, charging a capacitor takes longer than discharging a capacitor.
6
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Using write-in-place for solid-state storage can lead to premature failure of the solid-state storage because typically each cell in a solid-state storage device can only be written to a certain number of times before the cell begins to fail. Write-in-place typically does not evenly distribute writing data over the solid-state storage so some regions or addresses are used much more than other areas. This overuse of some areas can lead to premature failure of all or a portion of a solid-state storage device.
7
Added by DJM 3 2021
3/16/21, 12:00 AM
View
Edit
Delete
2380.2.01
Traditional write-in-place and other data handling techniques associated data management techniques associated with write-in-place and other traditional storage prevent solid-state storage from achieving much higher possible performance.
8
Added by DJM 3 2021
3/16/21, 12:00 AM
<< first
< previous
360
361
362
363
364
365
366
367
368
next >
last >>
Page 364 of 438, showing 20 record(s) out of 8,747 total