Shared reference counters among a plurality of virtual storage devices
AssigneeScale Computing, Inc.
InventorPhilip Andrew White
Life of this patent
Estimating the term…
Abstract
A system, method, and computer program product are provided for implementing shared reference counters among a plurality of virtual storage devices. The method includes the steps of allocating a first portion of a real storage device to store data, wherein the first portion is divided into a plurality of blocks of memory and allocating a second portion of the real storage device to store a plurality of reference counters that correspond to the plurality of blocks of memory. The reference counters may be updated by two or more virtual storage devices hosted in one or more nodes to manage the allocation of the blocks of memory in the real storage device.
Claims17
A method comprising:
- allocating a first portion of a real storage device (RSD) to store data, wherein the first portion is divided into a plurality of blocks of memory;
- allocating a second portion of the RSD to store a plurality of reference counters that correspond to the plurality of blocks of memory;
- mapping a block of memory in the RSD to a corresponding block of memory in a virtual storage device (VSD);
- and
- incrementing a value stored in a reference counter associated with the block of memory in the RSD.
A non-transitory computer-readable storage medium storing instructions that, when executed by a processor, cause the processor to perform steps comprising:
- allocating a first portion of a real storage device (RSD) to store data, wherein the first portion is divided into a plurality of blocks of memory;
- allocating a second portion of the RSD to store a plurality of reference counters that correspond to the plurality of blocks of memory;
- mapping a block of memory in the RSD to a corresponding block of memory in a virtual storage device (VSD);
- and
- incrementing a value stored in a reference counter associated with the block of memory in the RSD.
A system comprising:
- a real storage device (RSD);
- and
- a processor coupled to the RSD and configured to:
- allocate a first portion of the RSD to store data, wherein the first portion is divided into a plurality of blocks of memory;
- allocate a second portion of the RSD to store a plurality of reference counters that correspond to the plurality of blocks of memory;
- map a block of memory in the RSD to a corresponding block of memory in a virtual storage device (VSD);
- and
- increment a value stored in a reference counter associated with the block of memory in the RSD.
Dependencies are inferred from the claim text.