Storage performance testing to evaluate moving data among arrays
US-10235055-B1 · Mar 19, 2019 · US
US12299294B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12299294-B2 |
| Application number | US-202318345890-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 30, 2023 |
| Priority date | Jun 30, 2023 |
| Publication date | May 13, 2025 |
| Grant date | May 13, 2025 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An object storage system includes mass storage devices that implement general storage for objects stored in the object storage system and additionally includes other storage devices, such as solid-state drives, that provide higher performance storage access. The object storage system implements a common access interface for accessing both accelerated access objects (who are eligible to have cached copies stored on the higher performance storage devices) and non-accelerated access objects stored in the general storage. The cache is fully managed by the service and no changes are required for client applications to receive accelerated access to objects that are classified as accelerated access objects per a customer configurable acceleration policy for the object or for a bucket in which the object is stored.
Opening claim text (preview).
What is claimed is: 1. An object storage system, comprising: mass storage devices configured to store object data and object metadata for objects stored in the object storage system, wherein, for a given object, the object metadata comprises: a version identifier for the given object; and information indicating a storage location at which object data, for the given object having the version identifier, is stored on the mass storage devices; additional storage devices configured to store cached copies of a subset of the objects stored in the object storage system, wherein, for a given cached object, the additional storage devices store: a cached copy of the object data for the given cached object; and a version identifier for the cached copy of the object data for the given cached object; and one or more computing devices configured to: implement an interface for receiving access requests for objects stored in the object storage system, wherein the interface is configured to: receive an access request for an accelerated access object stored in the object storage system and receive an access request for a non-accelerated access object stored in the object storage system; determine, in response to receiving a given access request at the interface, whether an object targeted by the given access request is an accelerated access object or a non-accelerated access object; and in response to determining the object targeted by the given access request is an accelerated access object, attempt to retrieve object data for the targeted object from the additional storage devices; or in response to determining the object targeted by the given access request is a non-accelerated access object, retrieve the object data for the targeted object from the mass storage devices. 2. The object storage system of claim 1 , wherein the additional storage devices comprise solid-state drives (SSDs). 3. The object storage system of claim 1 , wherein the object storage service is configured to automatically populate the additional storage devices with cached copies of objects, wherein to perform said automatically populating the additional storage devices with the cached copies of the objects, the one or more computing devices are further configured to: for an accelerated access object targeted by an access request, in response to a failed attempt to retrieve the accelerated access object from the additional storage devices: retrieve object data for the targeted accelerated access object from the mass storage devices; return the retrieved object data in a response to the access request targeting the accelerated access object; and asynchronously store in the additional storage devices a cached copy of the object data for the targeted accelerated access object and a cached copy of the version identifier corresponding to the cached copy of the object data for the targeted accelerated access object. 4. The object storage system of claim 1 , further comprising: a plurality of availability zones, each comprising: respective ones of the mass storage devices; respective ones of the additional storage devices; and respective ones of the one or more computing devices, wherein the respective ones of the one or more computing devices implement respective access interfaces for the respective ones of the availability zones, wherein: each availability zone comprises a separate cache implemented using the respective set of the additional storage devices of the respective availability zone, and the respective caches of the respective availability zones are separately populated based on access requests received at the respective access interfaces of the respective availability zones. 5. The object storage system of claim 4 , further comprising: a request routing service configured to: receive access requests from clients of the object storage system and select respective ones of the access interfaces of the respective availability zones to route the access request to, wherein the access interfaces are selected based on proximity of a requesting client to a given one of the respective availability zones. 6. The object storage system of claim 5 , wherein the request routing service is further configured to: determine a given one of the availability zones is unavailable to process an access request from a given client proximate to the given availability zone and select a replacement availability zone to process the access request from the given client, wherein subsequent access requests received from the given client are routed to the replacement availability zone, while the given availability zone remains unavailable. 7. One or more non-transitory, computer-readable, storage media storing program instructions that, when executed on or across one or more processors, cause the one or more processors to: implement an interface for receiving access requests for objects stored in an object storage service, wherein the interface is configured to: receive an access request for an accelerated access object stored in the object storage service and receive an access request for a non-accelerated access object stored in the object storage service; determine, in response to receiving a given access request at the interface, whether an object targeted by the given access request is an accelerated access object or a non-accelerated access object; and in response to determining the object targeted by the given access request is a non-accelerated access object: retrieve object data for the targeted object from storage devices of the object storage service, the storage devices having a first access performance level, wherein the storage devices store: a version identifier for the targeted object; and information indicating a storage location at which the object data, for the targeted object having the version identifier, is stored on the storage devices having the first access performance level; or in response to determining the object targeted by the given access request is an accelerated access object: attempt to retrieve the object data for the targeted object from additional storage devices of the object storage service, the additional storage devices having a second access performance level, wherein the additional storage devices store: a cached copy of the object data for the targeted object; and a version identifier for the cached copy of the object data for the targeted object. 8. The one or more non-transitory, computer-readable, storage media of claim 7 , storing additional program instructions that, when executed on or across the one or more processors, cause the one or more processor to implement a request routing service configured to: receive access requests from clients of the object storage service; and select respective ones of a plurality of respective access interfaces of respective availability zones to route the access requests to, wherein the access interfaces are selected based on proximity of a requesting client to a given one of the respective availability zones, and wherein each availability zone comprises a separately populated cache. 9. The one or more non-transitory, computer-readable, storage media of claim 8 , wherein the request routing service is further configured to: determine a given one of the availability zones is unavailable; and select a replacement availability zone to process access requests, wherein subsequent access requests received from a same given client are routed to the same replacement availability zone, while the given availability zone remains unavailable. 10. The one or more non-transitory, computer-readable, storage media of claim 7 , storing additiona
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Replication mechanisms · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Plural cache memories · CPC title
Metadata, control data · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.