IP Library Granted Patent US 8,650,357
Granted Patent B2
US 8,650,357 · App. 13/237,136 · Granted Feb 11, 2014

Preventing read while writing occurrences

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,650,357
App. No.
13/237,136
Granted
Feb 11, 2014
Kind
B2
Abstract

Example apparatus and methods concern controlling a computer to prevent read while writing occurrences in direct output. One example method includes identifying a non-conformance between a block of data intended to be output using direct output and a desired direct output block. Conventionally, the non-conformance would cause the computer to perform a read operation to provide additional data suitable for conforming the block of data to the desired direct output block. Once the method has identified the non-conformance, the method may prevent the computer from performing the read operation. The method may also control the computer to perform an additional output operation to make the block of data appear to conform to the desired direct output block. The additional output operation will be performed without performing a read operation. In one embodiment, the method is performed in the kernel of an operating system running on the computer.

Claims (42)

1. A method for controlling a computer to prevent read while writing occurrences, comprising:

identifying a non-conformance between a block of data and a desired direct output block, where the block of data is intended to be output using direct output to a data storage device, and where the non-conformance will cause the computer to perform a read operation to provide additional data suitable for conforming the block of data to the desired direct output block, and

upon identifying the non-conformance:

preventing the computer from performing the read operation, and

controlling the computer to perform at least two direct output operations including a direct output of the block of data and an additional output operation to make the block of data appear to conform to the desired direct output block.

2. The method of claim 1 , where the non-conformance comprises the block of data being smaller than the size of the desired direct output block.

3. The method of claim 2 , where the read operation that is prevented is a read operation configured to conform the size of the block of data to the size of the desired direct output block.

4. The method of claim 1 , where the non-conformance comprises the block of data having a gap that is not desired in the desired direct output block.

5. The method of claim 4 , where the read operation that is prevented is a read operation configured to conform the block of data to the desired direct output block by filling the gap.

6. The method of claim 1 , where controlling the computer to perform the additional output operation is performed by one of, an operating system supporting the computer, and an operating system kernel supporting the computer.

7. The method of claim 1 , where the additional output operation includes writing zeroes around the direct output of the block of data.

8. The method of claim 1 , where controlling the computer to perform the additional output operation is performed by one of, a file system supporting the computer, and direct output hardware associated with the computer.

9. The method of claim 1 , where the additional output operation is limited to a newly allocated boundary portion of the data block that does not contain existing data to be preserved.

10. The method of claim 1 , where the block of data is associated with a video file that has exhibited non-contextual input/output.

11. The method of claim 1 , where the data storage device is configured to operate as a member of a storage area network.

12. The method of claim 1 , where the data storage device is configured to operate as a member of a shared disk file system.

13. An apparatus, comprising:

a processor;

a memory;

a set of logics; and

an interface configured to connect the processor, the memory, and the set of logics,

the set of logics comprising:

a detection logic configured to detect an impending read during write occurrence by comparing a data block to be output using direct output to a desired direct output block;

a blocking logic configured to control the apparatus to not experience the impending read during write occurrence; and

a fill logic configured to control the apparatus to perform an additional output to make the data block appear to conform to the desired direct output block.

14. The apparatus of claim 13 , where one or more of the detection logic, the blocking logic, and the fill logic reside in a file system configured to interact with the apparatus.

15. The apparatus of claim 13 , where one or more of the detection logic, the blocking logic, and the fill logic reside in one of, an operating system configured to interact with the apparatus, and an operating system kernel configured to interact with the apparatus.

16. The apparatus of claim 13 , where the additional output includes writing zeroes around user supplied data in the direct output block.

17. The apparatus of claim 13 , where one or more of the detection logic, the blocking logic, and the fill logic reside in direct output hardware configured to interact with the apparatus.

18. The apparatus of claim 13 , where the detection logic is configured to detect the impending read during write occurrence by comparing the amount of data in the data block to the size of the desired direct output block.

19. The apparatus of claim 13 , where the detection logic is configured to detect the impending read during write occurrence by comparing the continuity of data in the data block to a continuity associated with the desired direct output block.

20. A system, comprising:

means for identifying a direct output data operation that will produce a read operation during the direct output data operation; and

means for preventing the read operation during the direct output data operation by performing an additional output operation associated with the direct output data operation.

21. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause an operating system kernel to perform a method, the method comprising:

accessing a block of data associated with a video file that has exhibited non-contextual access while being served by a computer participating in a shared network file system operating in a storage area network; and

upon determining that the block of data intended to be output to a data storage device using direct output will cause the computer to perform a read operation to provide additional data suitable for conforming the block of data to a direct output protocol:

preventing the computer from performing the read operation, and

controlling the computer to perform an additional output operation to make the block of data appear to conform to the desired direct output protocol,

where the data storage device is configured to operate as a member of a shared disk file system operating in a storage area network,

where the block of data will cause the computer to perform the read operation because of the block of data is smaller than a block size desired by the direct output protocol, and

where controlling the computer to perform the additional output operation is performed in the kernel of an operating system running on the computer.

Assignments (13)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
RELEASE OF SECURITY INTEREST Recorded Oct 25, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 040474/0079 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
SECURITY AGREEMENT Recorded Mar 31, 2012
From: QUANTUM CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 027967/0914 →