IP Library Patent Application 15173256
Patent Application
App. No. 15/173,256

DATA PROTECTION IMPLEMENTATION FOR BLOCK STORAGE DEVICES

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
15/173,256
Abstract

A system, method, and computer program product are provided for implementing a data protection algorithm using reference counters. 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; 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; and disabling access to a particular block of memory in the plurality of blocks of memory based on a value stored in a corresponding reference counter. Access to a particular block of memory may be disabled when the value stored in the corresponding reference counter is not equal to a total number of references to the particular block of memory.

Claims (31)

1 . 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; and

disabling access to a particular block of memory in the plurality of blocks of memory based on a value stored in a corresponding reference counter.

2 . The method of claim 1 , wherein access to the particular block of memory is disabled when the value stored in the corresponding reference counter is not equal to a total number of references to the particular block of memory included in a plurality of virtual storage device (VSD) objects.

3 . The method of claim 2 , wherein a reference to the particular block of memory comprises an address that points to the particular block of memory within a mapping table of the VSD object.

4 . The method of claim 2 , wherein a data protection module is configured to determine the total number of references to the particular block of memory by polling each VSD object in a plurality of VSD objects to determine whether each VSD object includes a reference to the particular block of memory in a mapping table of the VSD object.

5 . The method of claim 4 , wherein the plurality of VSD objects may be stored in a memory of a local node as well as memories of one or more remote nodes.

6 . The method of claim 4 , wherein the data protection module comprises a background process associated with a plurality of virtual machines.

7 . The method of claim 1 , wherein disabling access to the particular block of memory comprises setting a flag associated with the particular block of memory.

8 . The method of claim 8 , wherein the flag is a most significant bit of the corresponding reference counter.

9 . The method of claim 8 , wherein a block engine daemon is configured to block memory access operations associated with the particular block of memory when the flag is set.

10 . The method of claim 1 , further comprising resetting the corresponding reference counter and enabling the particular block of memory to be reallocated.

11 . 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; and

disabling access to a particular block of memory in the plurality of blocks of memory based on a value stored in a corresponding reference counter.

12 . The computer-readable storage medium of claim 11 , wherein access to the particular block of memory is disabled when the value stored in the corresponding reference counter is not equal to a total number of references to the particular block of memory included in a plurality of virtual storage device (VSD) objects.

13 . The computer-readable storage medium of claim 12 , wherein a reference to the particular block of memory comprises an address that points to the particular block of memory within a mapping table of the VSD object.

14 . The computer-readable storage medium of claim 12 , wherein a data protection module is configured to determine the total number of references to the particular block of memory by polling each VSD object in a plurality of VSD objects to determine whether each VSD object includes a reference to the particular block of memory in a mapping table of the VSD object.

15 . The computer-readable storage medium of claim 11 , wherein disabling access to the particular block of memory comprises setting a flag associated with the block of memory, and wherein a block engine daemon is configured to block memory access operations associated with the particular block of memory when the flag is set.

16 . The computer-readable storage medium of claim 15 , wherein the flag is a most significant bit of the corresponding reference counter

17 . A system comprising:

a real storage device (RSD); and

a processor coupled to the RSD and configured to:

allocate 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;

allocate a second portion of the RSD to store a plurality of reference counters that correspond to the plurality of blocks of memory; and

disable access to a particular block of memory in the plurality of blocks of memory based on a value stored in a corresponding reference counter.

18 . The system of claim 17 , wherein access to the particular block of memory is disabled when the value stored in the corresponding reference counter is not equal to a total number of references to the particular block of memory included in a plurality of virtual storage device (VSD) objects.

19 . The system of claim 18 , wherein a reference to the particular block of memory comprises an address that points to the particular block of memory within a mapping table of the VSD object.

20 . The system of claim 17 , wherein disabling access to the particular block of memory comprises setting a flag associated with the block of memory, and wherein a block engine daemon is configured to block memory access operations associated with the particular block of memory when the flag is set.

Assignments (14)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: SCALE COMPUTING, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 072864/0595 →
MERGER Recorded Aug 28, 2025
From: SCALE COMPUTING, INC.
To: ACUMERA SCALE, LLC
Reel/Frame 072695/0834 →
CHANGE OF NAME Recorded Aug 28, 2025
From: ACUMERA SCALE, LLC
To: SCALE COMPUTING, LLC
Reel/Frame 072699/0326 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: MS PRIVATE CREDIT ADMINISTRATIVE SERVICES LLC AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 071901/0365 →
RELEASE OF SECURITY INTEREST Recorded Jul 31, 2025
From: BANC OF CALIFORNIA (FORMERLY KNOWN AS PACIFIC WESTERN BANK)
To: SCALE COMPUTING, INC.
Reel/Frame 071898/0667 →
RELEASE OF SECURITY INTEREST Recorded Feb 6, 2023
From: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
To: SCALE COMPUTING, INC.
Reel/Frame 062603/0565 →
SECURITY INTEREST Recorded Feb 3, 2023
From: SCALE COMPUTING, INC.
To: NORTH HAVEN EXPANSION CREDIT II LP
Reel/Frame 062586/0059 →
RELEASE OF SECURITY INTEREST Recorded Dec 11, 2020
From: RUNWAY GROWTH CREDIT FUND INC.
To: SCALE COMPUTING, INC.
Reel/Frame 054619/0802 →
SECURITY INTEREST Recorded Dec 11, 2020
From: SCALE COMPUTING, INC.
To: AVENUE VENTURE OPPORTUNITIES FUND, L.P.
Reel/Frame 054619/0825 →
RELEASE OF SECURITY INTEREST Recorded Dec 10, 2020
From: RUNWAY GROWTH CREDIT FUND INC., AS AGENT
To: SCALE COMPUTING, INC.
Reel/Frame 054611/0589 →
SECURITY INTEREST Recorded Mar 29, 2019
From: SCALE COMPUTING, INC.
To: RUNWAY GROWTH CREDIT FUND INC.
Reel/Frame 048745/0653 →
RELEASE OF SECURITY INTEREST Recorded Mar 29, 2019
From: BET ASSOCIATES III, LLC
To: SCALE COMPUTING, INC.
Reel/Frame 048746/0597 →
SECURITY INTEREST Recorded Jun 27, 2018
From: SCALE COMPUTING, INC.
To: BET ASSOCIATES III, LLC
Reel/Frame 046212/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2016
From: WHITE, PHILIP ANDREW
To: SCALE COMPUTING, INC.
Reel/Frame 038805/0037 →