IP Library Granted Patent US 8,924,664
Granted Patent B2
US 8,924,664 · App. 13/713,069 · Granted Dec 30, 2014

Logical object deletion

Inventor: Israel Gold (Haifa, IL)
Assignee: Infinidat Ltd.
G06F3/06G06F17/30117
View Patent ↗
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 8,924,664
App. No.
13/713,069
Granted
Dec 30, 2014
Kind
B2
Abstract

The presently disclosed subject matter includes a method and system for enabling the deletion of logical objects characterized by an object identifier (OID). Upon restart following a system interruption, one or more logical objects are identified, each object being addressed by an interrupted delete request. For each identified logical object performing a deletion, the deletion including: reading one or more physical blocks stored in a physical storage space, wherein the one or more physical blocks were linked to the identified logical object before the system interruption, each of the physical blocks includes an OID stored therein indicating a logical object currently linked to the respective physical block; obtaining OIDs stored respectively in the one or more physical blocks; and freeing those physical blocks from among the one or more physical blocks, which store an OID identical to the respective OID of the identified logical object.

Claims (54)

1. A method of deleting a logical object, the method comprising:

upon a restart following a system interruption of a storage system, identifying a delete pending logical object, being addressed by an interrupted delete request, which has been interrupted as a result of the system interruption; wherein the delete pending logical object is identified by the interrupted delete request using an associated object identifier;

performing a deletion, wherein the deletion comprising:

reading one or more physical data blocks stored in a physical storage space and linked to the delete pending logical object, wherein each of the one or more physical data blocks comprises a stored object identifier;

obtaining stored object identifiers comprised in the one or more physical data blocks;

freeing first physical data blocks from among the one or more physical data blocks, if the first physical data blocks comprise first stored object identifiers that are identical to the associated object identifier; and

avoiding freeing second physical data blocks from among the one or more physical data blocks, if the second physical data blocks comprise second stored object identifiers that are different from the associated object identifier.

2. The method according to claim 1 further comprising:

receiving a write request in respect of a given logical object;

allocating one or more free physical data blocks for writing data received in said write request;

adding to data to be written in each of the one or more free physical data blocks, a respective object identifier of said given logical object; and

writing the data to each of said one or more free physical data blocks together with the respective object identifier.

3. The method according to claim 1 comprising:

in response to one or more delete requests, addressed to one or more logical objects, storing data indicative of said one or more logical objects, in a persistent memory.

4. The method according to claim 3 comprises storing said data indicative of said one or more logical objects as a queue of delete pending objects.

5. The method according to claim 3 comprises storing said data indicative of said one or more logical objects in a designated data structure; wherein said data includes at least an object identifier and an object state for each object of the one or more logical objects; wherein the object state indicating whether the object is pending for deletion or is being deleted.

6. The method according to claim 4 wherein said identifying of the delete pending logical object, comprises identifying the delete pending logical object in said queue of delete pending objects.

7. The method according to claim 5 wherein the identifying comprises searching in the designated data structure for a logical object associated with an object state indicating that the logical object is being deleted.

8. The method according to claim 1 wherein said object identifier is an inode number.

9. The method according to claim 1 wherein the one or more physical data blocks comprises all data and metadata blocks of said delete pending logical object and wherein the one or more physical data blocks are represented by a block map;

said deletion further comprising:

traversing said block map in order to identify the one or more physical data blocks.

10. An object management system coupled to a physical storage space; the physical storage space constituted of a plurality of physical data blocks stored in one or more storage devices; the object management system enabling to represent data stored in the physical storage space as one or more logical objects; the object management system comprising at least one processor and configured to:

upon a restart following a system interruption of the object management system, identify a delete pending logical object, being addressed by an interrupted delete request, which has been interrupted as a result of the system interruption; wherein the delete pending logical object is identified by the interrupted delete request using an associated object identifier;

perform a deletion, including:

read one or more physical data blocks stored in the physical storage space and linked to the delete pending logical object,

wherein each of the one or more physical data blocks comprises a stored object identifier;

obtain stored object identifiers comprised in the one or more physical data blocks;

free first physical data blocks from among the one or more physical data blocks, if the first physical data blocks comprise first stored object identifiers that are identical to the associated object identifier; and

avoid freeing second physical data blocks from among the one or more physical data blocks, if the second physical data blocks comprise second stored object identifiers that are different from the associated object identifier.

11. The object management system according to claim 10 , wherein the delete pending logical object is part of including a file system.

12. The object management system according to claim 10 , wherein said object management system is configured to:

receive a write request in respect of a given logical object; allocate one or more free physical data blocks for writing data received in said write request; add to data to be written in each of the one or more free physical data blocks a respective object identifier of said given logical object; and write the data to each of said one or more free physical data blocks together with the respective object identifier.

13. The object management system according to claim 10 is operatively coupled to a persistent memory and further configured to:

store data indicative of one or more logical objects, in said persistent memory, in response to one or more delete requests, addressed to said one or more logical objects.

14. The object management system according to claim 13 to store in said persistent memory the data indicative of the one or more logical objects as a queue of delete pending objects.

15. The object management system according to claim 13 is configured to store in said persistent memory the data indicative of the one or more logical objects in a designated data structure; wherein said data structure includes at least an object identifier and an object state for each object of the one or more logical objects; the object state indicating whether the object is pending for deletion or is being deleted.

16. The object management system according to claim 10 being integrated as part of a storage system.

17. A storage system comprising an object management system and a physical storage space; the physical storage space constituted of a plurality of physical data blocks stored in one or more storage devices; the object management system enabling to represent data stored in the physical storage space as one or more logical objects; the object management system comprising at least one processor and configured to:

upon a restart following a system interruption of the object management system, identify a delete pending logical object, being addressed by an interrupted delete request, which has been interrupted as a result of the system interruption; wherein the delete pending logical object is identified by the interrupted delete request using an associated object identifier;

perform a deletion, including:

read one or more physical data blocks stored in the physical storage space and linked to the delete pending logical object,

wherein each of the one or more physical data blocks comprises a stored object identifier;

obtain stored object identifiers comprised in the one or more physical data blocks;

free first physical data blocks from among the one or more physical data blocks, if the first physical data blocks comprise first stored object identifiers that are identical to the respective associated object identifier; and

avoid freeing second physical data blocks from among the one or more physical data blocks, if the second physical data blocks comprise second stored object identifiers that are different from the associated object identifier.

18. A non-transitory program storage device readable by machine, tangibly embodying a program of instructions that when executed by the machine cause the machine to perform method steps:

upon a restart following a system interruption of a storage system, identifying a delete pending logical object, being addressed by an interrupted delete request, which has been interrupted as a result of the system interruption; wherein the delete pending logical object is identified by the interrupted delete request using an associated object identifier;

performing a deletion, the deletion comprising:

reading one or more physical data blocks stored in a physical storage space and linked to the delete pending logical object,

wherein each of the one or more physical data blocks comprises a stored object identifier;

obtaining stored object identifiers comprised in the one or more physical data blocks;

freeing first physical data blocks from among the one or more physical data blocks, if the first physical data blocks comprise first stored object identifiers that are identical to the associated object identifier; and

avoiding freeing second physical data blocks from among the one or more physical data blocks, if the second physical data blocks comprise second stored object identifiers that are different from the associated object identifier.

Assignments (10)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0597 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
LIEN Recorded Jul 18, 2016
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 039361/0161 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 21, 2013
From: GOLD, ISRAEL
To: INFINIDAT LTD.
Reel/Frame 029662/0145 →
Continuity (1)
Related Publication 20140173226A1 · Jun 19, 2014