Method and system for supporting dedupe, compression, logical volume crypto-erasure, and physical volume crypto-erasure on a storage array
US-2024361936-A1 · Oct 31, 2024 · US
US12437097B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12437097-B2 |
| Application number | US-202318399997-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 29, 2023 |
| Priority date | Dec 29, 2023 |
| Publication date | Oct 7, 2025 |
| Grant date | Oct 7, 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.
Access control data stored in the storage servers of a distributed data storage system is modified according to received access control commands and accessed to process host I/O requests without requiring the use of locks. Processing of certain access control commands includes allocating a new volume descriptor to store the updated access control data for a corresponding storage volume, and remapping the storage volume to the new volume descriptor with a single write operation. Each volume descriptor stores both reservation type and reservation holder data for the corresponding storage volume within a single memory register, allowing host I/O request processing logic to read both reservation type and reservation holder using a single read operation, and access control command processing logic to modify both reservation type and reservation holder using a single write operation. A registrants bitmap in the volume descriptor represents hosts registered for the corresponding storage volume.
Opening claim text (preview).
What is claimed is: 1. A method comprising: storing access control data in each storage server of a distributed data storage system, wherein the access control data in each storage server comprises i) multiple volume descriptors, each one of which stores access control data for a respective one of multiple storage volumes served by the distributed data storage system, and ii) an index array that maps storage volumes to respective volume descriptors; and in response to a preempt reservation command being received by the distributed data storage system, performing the following steps in each one of the storage servers to update the access control data stored therein: allocating a new volume descriptor, setting reservation type, reservation holder, and registered hosts data in the new volume descriptor according to indications in the received preempt reservation command, and performing a single write operation on the index array that updates the index array to map a target storage volume indicated in the received preempt reservation command to the new volume descriptor. 2. The method of claim 1 , wherein each volume descriptor stores both reservation type and reservation holder data for the respective storage volume within a single memory register. 3. The method of claim 2 , wherein performing access control on each host I/O (Input/Output) command received by the distributed data storage system includes: translating a volume identifier of a target storage volume indicated by the host I/O command into a location of the volume descriptor for the target storage volume using the index array; reading both reservation type and reservation holder data for the target storage volume together from the volume descriptor for the target storage volume only once, using a single read operation; and processing the host I/O command if permitted by the reservation type and reservation holder data. 4. The method of claim 3 , further comprising, in response to an unregister command being received by the distributed data storage system, performing the following steps in each one of the storage servers to update the access control data stored therein: translating a volume identifier of a target storage volume indicated by the unregister command into a location of the volume descriptor for the target storage volume using the index array; in response to determining from the volume descriptor for the target storage volume that the host that issued the unregister command currently holds the reservation for the target storage volume, setting the reservation type for the target storage volume to indicate that the target storage volume is not reserved; synchronizing execution with all other execution threads in the storage server; and clearing a bit corresponding to the host that issued the unregister command in a registrants bitmap within the volume descriptor for the target storage volume. 5. The method of claim 4 , further comprising, in response to an acquire reservation command being received by the distributed data storage system, performing the following steps in each one of the storage servers to update the access control data stored therein: translating a volume identifier of a target storage volume indicated by the acquire reservation command into a location of the volume descriptor for the target storage volume using the index array; and performing a single write operation to the volume descriptor for the target storage volume that sets the reservation type to a reservation type indicated by the acquire reservation command and the reservation holder information to indicate the host that issued the acquire reservation command. 6. A distributed data storage system including multiple storage servers, each storage server comprising: processing circuitry and a memory; and wherein the memory has program code stored thereon, wherein the program code, when executed by the processing circuitry, causes the processing circuitry to: store access control data in the memory, wherein the access control data comprises i) multiple volume descriptors, each one of which stores access control data for a respective one of multiple storage volumes served by the distributed data storage system, and ii) an index array that maps storage volumes to respective volume descriptors; and in response to a preempt reservation command being received by the distributed data storage system, causing the processing circuitry to update the access control data stored in the memory by causing the processing circuitry to: allocate a new volume descriptor, set reservation type, reservation holder, and registered hosts data in the new volume descriptor according to indications in the received preempt reservation command, and perform a single write operation on the index array that updates the index array to map a target storage volume indicated in the received preempt reservation command to the new volume descriptor. 7. The distributed data storage system of claim 6 , wherein each volume descriptor stores both reservation type and reservation holder data for the respective storage volume within a single memory register. 8. The distributed data storage system of claim 7 , each storage server further comprising program code which, when executed by the processing circuitry, causes the processing circuitry to perform access control on each host I/O (Input/Output) command received by the distributed data storage system at least in part by causing the processing circuitry to: translate a volume identifier of a target storage volume indicated by the host I/O command into a location of the volume descriptor for the target storage volume using the index array; read both reservation type and reservation holder data for the target storage volume together from the volume descriptor for the target storage volume only once, using a single read operation; and process the host I/O command if permitted by the reservation type and reservation holder data. 9. The distributed data storage system of claim 8 , each storage server further comprising program code which, when executed by the processing circuitry in response to an unregister command being received by the distributed data storage system, updates the access control data stored in the memory of the storage server by causing the processing circuitry to: translate a volume identifier of a target storage volume indicated by the unregister command into a location of the volume descriptor for the target storage volume using the index array; in response to a determination based on the volume descriptor for the target storage volume that the host that issued the unregister command currently holds the reservation for the target storage volume, setting the reservation type for the target storage volume to indicate that the target storage volume is not reserved; synchronize execution with all other execution threads in the storage server; and clear a bit corresponding to the host that issued the unregister command in a registrants bitmap within the volume descriptor for the target storage volume. 10. The distributed data storage system of claim 9 , each storage server further comprising program code which, when executed by the processing circuitry in response to an acquire registration command being received by the distributed data storage system, updates the access control data stored in the memory of the storage server by causing the processing circuitry to: translate a volume identifier of a target storage volume indicated by the acquire reservation command into a location of the volume descriptor for the target storage volume using the index array; and perform a single write operation to the volume descriptor for t
to a system of files or objects, e.g. local or distributed file system or database · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.