IP Library Granted Patent US 9,582,207
Granted Patent B1
US 9,582,207 · App. 14/588,441 · Granted Feb 28, 2017

Queued parallel processing of block handling for virtual tape control units

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,582,207
App. No.
14/588,441
Granted
Feb 28, 2017
Kind
B1
Abstract

Embodiments are described for a method and system for performing data writes in a virtual tape emulation system. A parallel processing component receives data blocks from a mainframe host and upon receipt provides indication to the mainframe that a current block is received so that the mainframe can proceed to send the next block while the current block is processed. The component initiates parallel processing of the received block in a separate task, and as the operation completes, the data is written to non-tape media in a block-wise manner.

Claims (27)

1. A method comprising:

receiving, in a virtual tape emulation (VTE) device, a data block of a plurality of data blocks from a host mainframe computer, wherein each block of the plurality of data blocks is processed in a dedicated processor of a multi-processor system;

transmitting a receive status of the received data block back to the host upon receipt of the received data block;

initiating a parallel execution thread for the received data block to asynchronously process the received data block through a parallelized operation; and

queuing additional data blocks of the plurality of blocks for the parallel execution thread until a stop condition is reached, and wherein the received data block and each of the additional data blocks is processed through a buffer pool and structure array corresponding to a maximum number of parallel processing blocks.

2. The method of claim 1 wherein the parallelized operation is selected from the group consisting of: compression, encryption, deduplication, data rearrangement, and checksum calculation.

3. The method of claim 2 wherein the stop condition comprises one of: reaching a maximum number of parallel-processing blocks per device, reaching an end-of-chain condition, receiving a different non-write command, and receiving an error packet.

4. The method of claim 1 further comprising writing the processed block and additional data blocks to a storage media in a block-wise manner.

5. The method of claim 1 wherein the maximum number is determined through one of an automated process that incorporates user input, and a fixed setting defined in the VTE.

6. The method of claim 1 wherein the data blocks are generated through a channel command word (CCW) operation.

7. The method of claim 6 further comprising performing a CCW validity check to verify parameters including flags, length, and write mode.

8. The method of claim 1 further comprising writing the data blocks to non-tape storage media coupled to the mainframe, wherein the virtual tape emulation device facilitates the use of tape-based storage commands to process data.

9. The method of claim 2 wherein the deduplication comprises an assisted mainframe deduplication that is configured to rearrange data within the received data block to aggregate data that is capable of being deduplicated separately from data that is not capable of being deduplicated.

10. A system comprising:

a virtual tape emulation (VTE) device receiving a data block of a plurality of data blocks from a host mainframe computer, and transmitting a receive status of the received data block back to the host upon receipt of the received data block; and

a parallel processing component initiating a parallel execution thread for the received data block to asynchronously process the received data block, and queue additional data blocks of the plurality of blocks for the parallel execution thread until a stop condition is reached, wherein the parallel processing component comprises an buffer pool and structure array, and wherein a number of buffers in the buffer pool and number of structures in the structure array dictate how many concurrent operations may be executed by the VTE device.

11. The system of claim 10 wherein the parallel processing component is integrated within the VTE device.

12. The system of claim 10 wherein the buffer pool and structure array are instantiated for the VTE upon startup of the system.

13. The system of claim 10 wherein the VTE is one of a plurality of VTE devices in a system coupling the host mainframe computer to a storage medium.

14. The system of claim 10 wherein the number of buffers in the buffer pool and number of structures in the structure array is determined through one of an automated process that incorporates user input, and a fixed setting defined in the VTE.

15. The system of claim 10 wherein the received data block is processed through at least one parallelized operation selected from the group consisting of: compression, encryption, deduplication, data rearrangement, and checksum calculation.

16. The method of claim 15 wherein the stop condition comprises one of: reaching a maximum number of parallel-processing blocks per device, reaching an end-of-chain condition, receiving a different non-write command, and receiving an error packet.

17. A computer program product comprising a non-transitory computer usable medium having machine readable code embodied therein for:

receiving, in a virtual tape emulation (VTE) device, a data block of a plurality of data blocks from a host mainframe computer, wherein each block of the plurality of data blocks is processed in a dedicated processor of a multi-processor system;

transmitting a receive status of the received data block back to the host upon receipt of the received data block;

initiating a parallel execution thread for the received data block to asynchronously process the block through a parallelized operation; and

queuing additional data blocks of the plurality of blocks for the parallel execution thread until a stop condition is reached, and wherein the received data block and each of the additional data blocks is processed through a buffer pool and structure array corresponding to a maximum number of parallel processing blocks.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 1, 2015
From: MCCLOSKEY, LARRY W
To: EMC CORPORATION
Reel/Frame 034610/0158 →