IP Library Granted Patent US 9,223,706
Granted Patent B2
US 9,223,706 · App. 13/933,296 · Granted Dec 29, 2015

System, method and a non-transitory computer readable medium for a pre-fetch operation

Inventor: Shlomi Penner (Shoham, IL)
Assignee: INFINIDAT LTD.
G06F12/0862
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 9,223,706
App. No.
13/933,296
Granted
Dec 29, 2015
Kind
B2
Abstract

A method for pre-fetching information units, the method may include: (I) Receiving, by a storage system, write requests for writing information units to the storage system. Each write request includes a first identifier and a second identifier. The first identifier identifies a logical address. A combination of the first and second identifiers identifies an accessing entity that initiated the write request. (II) Receiving a read request for reading at least one information unit from the storage system, the read request is initiated by a certain accessing entity. (III) Determining whether to perform a pre-fetch of at least one additional information unit in response to at least one write request that was initiated by the certain accessing entity. If is determined to perform the pre-fetch then fetching the at least one additional information unit.

Claims (28)

1. A method for pre-fetching information units, the method comprises:

receiving, by a storage system, write requests for writing information units to the storage system; wherein the write requests are initiated by multiple accessing entities;

wherein each write request comprises a first identifier and a second identifier;

wherein the first identifier identifies a logical address within a logical address space supported by the storage system and wherein a combination of the first and second identifiers identifies an accessing entity that initiated the write request;

receiving a read request for reading at least one information unit from the storage system, the read request is initiated by a certain accessing entity of the multiple accessing entities;

determining whether to perform a pre-fetch of at least one additional information unit in response to at least one write request that was initiated by the certain accessing entity, wherein the at least one write request forms a write request pattern initiated by the certain accessing entity; wherein the determining comprises comparing between (a) the write request pattern initiated by the certain accessing entity and (b) a read request pattern that comprises the read request initiated by the certain accessing entity; and

if it is determined to perform the pre-fetch then fetching the at least one additional information unit.

2. The method according to claim 1 , wherein the multiple accessing entities reside in a virtual environment hosted by the host computer.

3. The method according to claim 1 , wherein the write requests are initiated by multiple accessing entities of a group of host computers; wherein each host computer of the group of host computers hosts a virtual environment; wherein each first identifier of each write request further identifies a host computer of the group that hosts an accessing entity that initiated the write request.

4. The method according to claim 1 , wherein the determining comprises estimating whether the read request pattern at least partially matches the write request pattern initiated by the certain accessing entity.

5. The method according to claim 1 , wherein the multiple accessing entities comprise multiple guest operating systems and wherein the logical address space identified by the first identifier is a logical volume.

6. The method according to claim 1 , wherein the multiple accessing entities comprise a plurality of applications and wherein the logical address space identified by the first identifier is a logical volume.

7. The method according to claim 1 , wherein the second identifier is included in a small computer system interface (SCSI) compliant command.

8. The method according to claim 1 , comprising assigning, by the storage system, different values of the second identifier to different accessing entities of the multiple accessing entities.

9. The method according to claim 1 , comprising receiving, by the storage system, a mapping between different values of the second identifier and different accessing entities of the multiple accessing entities.

10. The method according to claim 1 , wherein the storage system comprises a cache memory and a group of disk drives; and wherein the pre-fetching comprises fetching the at least one additional information unit from at least one disk drive of the group to the cache memory.

11. A non-transitory computer readable medium that stores instructions for:

receiving write requests for writing information units to a storage system; wherein the write requests are initiated by multiple accessing entities; wherein each write request comprises a first identifier and a second identifier; wherein the first identifier identifies a logical address within a logical address space supported by the storage system and wherein a combination of the first and second identifiers identifies an accessing entity that initiated the write request;

receiving a read request for reading at least one information unit from the storage system, the read request is initiated by a certain accessing entity of the multiple accessing entities;

determining whether to perform a pre-fetch of at least one additional information unit in response to at least one write request that was initiated by the certain accessing entity, wherein the at least one write request forms a write request pattern initiated by the certain accessing entity; wherein the determining comprises comparing between (a) the write request pattern initiated by the certain accessing entity and (b) a read request pattern that comprises the read request initiated by the certain accessing entity; and

if is determined to perform the pre-fetch then fetching the at least one additional information unit.

12. The non-transitory computer readable medium according to claim 11 wherein the multiple accessing entities reside in a virtual environment hosted by the host computer.

13. The non-transitory computer readable medium according to claim 11 wherein the write requests are initiated by multiple accessing entities of a group of host computers; wherein each host computer of the group of host computers hosts a virtual environment; wherein each first identifier of each write request further identifies a host computer of the group that hosts an accessing entity that initiated the write request.

14. The non-transitory computer readable medium according to claim 11 that stores instructions for estimating whether the read request pattern at least partially matches the write request pattern initiated by the certain accessing entity.

15. The non-transitory computer readable medium according to claim 11 that stores instructions for assigning different values of the second identifier to different accessing entities of the multiple accessing entities.

16. The non-transitory computer readable medium according to claim 11 that stores instructions for receiving a mapping between different values of the second identifier and different accessing entities of the multiple accessing entities.

17. The non-transitory computer readable medium according to claim 11 that stores instructions for fetching the at least one additional information unit from at least one disk drive of a storage system of the group to a cache memory of the storage system.

18. A storage system that comprises: a storage system controller that is arranged to receive write requests for writing information units to a storage system; wherein the write requests are initiated by multiple accessing entities of a host computer; wherein each write request comprises a first identifier and a second identifier; wherein the first identifier identifies a logical address within a logical address space supported by the storage system and wherein a combination of the first and second identifiers identifies an accessing entity that initiated the write request; receive a read request for reading at least one information unit from the storage system, the read request is initiated by a certain accessing entity of the multiple accessing entities; determine whether to perform a pre-fetch of at least one additional information unit in response to at least one write request that was initiated by the certain accessing entity, wherein the at least one write request forms a write request pattern initiated by the certain accessing entity; wherein the storage system controller that is arranged to determine by comparing between (a) the write request pattern initiated by the certain accessing entity and (b) a read request pattern that comprises the read request initiated by the certain accessing entity; and if is determined to perform the pre-fetch then fetching the at least one additional information unit.

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 Sep 29, 2013
From: PENNER, SHLOMI
To: INFINIDAT ISRAEL LTD.
Reel/Frame 031304/0184 →
Continuity (1)
Related Publication 20150012712A1 · Jan 8, 2015