IP Library Granted Patent US 8,832,405
Granted Patent B1
US 8,832,405 · App. 13/906,699 · Granted Sep 9, 2014

Method for achieving sequentail I/O performance from a random workload

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,832,405
App. No.
13/906,699
Granted
Sep 9, 2014
Kind
B1
Abstract

Some embodiments of the present invention provide methods, computer media encoding instructions, and systems for receiving write requests directed to non-sequential logical block addresses and writing the write requests to sequential disk block addresses in a storage system. Some embodiments further include overprovisioning a storage system to include an increment of additional storage space such that it is more likely a large enough sequential block of storage will be available to accommodate incoming write requests.

Claims (54)

1. A system, comprising:

at least one video camera that provides a predetermined amount of data for a predetermined time;

a storage system coupled to the at least one video camera that has storage space divided into a plurality of disk block addresses and configured to have free storage space available within an adjustment time after the predetermined time, the storage system being at least equal to the predetermined amount for the predetermined time plus an over-provisioning amount based on the predetermined amount of received data, the predetermined time and the adjustment time; and

a processing system coupled to the storage system and the at least one video camera that receives a plurality of write requests from the at least one video camera.

2. The system according to claim 1 , wherein the processing system comprises:

a processor; and

a computer-readable medium comprising computer-executable instructions that, when executed by the processor, converts first and second received write requests directed to first and second received non-sequential logical block addresses to sequential write requests for use with the storage system.

3. The system according to claim 2 , wherein the computer-executable instructions include instructions that perform at least one of:

receive the first write request directed to the first received logical block address; write the first write request to the first free disk block address;

store an association between the first free disc block address and the first received logical block address;

receive the second write request directed to the second received logical block address;

write the second write request to the second free disc block address; and

store an association between the second free disc block address and the second received logical block address.

4. The system according to claim 1 , wherein the storage system includes sequential first and second free disk block addresses, the first and second free disk block addresses different than the first and second received logical block addresses.

5. The system according to claim 1 , wherein sequential disk block addresses are available to store incoming write requests.

6. The system according to claim 1 , wherein the processing system writes the plurality of write requests to sequential disk block addresses in the storage system.

7. The system according to claim 1 , wherein the write requests from the at least one video camera are directed to non-sequential logical block addresses in the storage system.

8. A method, comprising:

providing, by at least one video camera, a predetermined amount of data for a predetermined time;

dividing, in a storage system coupled to the at least one video camera, storage space into a plurality of disk block addresses, the storage system configured to have free storage space available within an adjustment time after the predetermined time, the storage system being at least equal to the predetermined amount for the predetermined time plus an over-provisioning amount based on the predetermined amount of received data, the predetermined time and the adjustment time; and

receiving, by a processing system coupled to the storage system and the at least one video camera, a plurality of write requests from the at least one video camera.

9. The method according to claim 8 , wherein the processing system comprises:

a processor; and

a non-transitory computer-readable medium comprising computer-executable instructions that, when executed by the processor performs, converting first and second received write requests directed to first and second received non-sequential logical block addresses to sequential write requests for use with the storage system.

10. The method according to claim 9 , wherein the computer-executable instructions include instructions that perform at least one of:

receiving the first write request directed to the first received logical block address;

writing the first write request to the first free disk block address;

storing an association between the first free disc block address and the first received logical block address;

receiving the second write request directed to the second received logical block address;

writing the second write request to the second free disc block address; and

storing an association between the second free disc block address and the second received logical block address.

11. The method according to claim 8 , wherein the storage system includes sequential first and second free disk block addresses, the first and second free disk block addresses different than the first and second received logical block addresses.

12. The method according to claim 8 , wherein sequential disk block addresses are available to store incoming write requests.

13. The method according to claim 8 , wherein the processing system writes the plurality of write requests to sequential disk block addresses in the storage system.

14. The method according to claim 8 , wherein the write requests from the at least one video camera are directed to non-sequential logical block addresses in the storage system.

15. A non-transitory computer readable medium comprising computer-executable instructions that, when executed by the processor performs:

providing, by at least one video camera, a predetermined amount of data for a predetermined time;

dividing, in a storage system coupled to the at least one video camera, storage space into a plurality of disk block addresses, the storage system configured to have free storage space available within an adjustment time after the predetermined time, the storage system being at least equal to the predetermined amount for the predetermined time plus an over-provisioning amount based on the predetermined amount of received data, the predetermined time and the adjustment time; and

receiving, by a processing system coupled to the storage system and the at least one video camera, a plurality of write requests from the at least one video camera.

16. The non-transitory computer readable medium according to claim 15 , wherein the processing system comprises:

a processor; and

a non-transitory computer-readable medium comprising computer-executable instructions that, when executed by the processor performs, converting first and second received write requests directed to first and second received non-sequential logical block addresses to sequential write requests for use with the storage system.

17. The non-transitory computer readable medium according to claim 16 , wherein the computer-executable instructions include instructions that perform at least one of:

receiving the first write request directed to the first received logical block address;

writing the first write request to the first free disk block address;

storing an association between the first free disc block address and the first received logical block address;

receiving the second write request directed to the second received logical block address;

writing the second write request to the second free disc block address; and

storing an association between the second free disc block address and the second received logical block address.

18. The non-transitory computer readable medium according to claim 15 , wherein

the storage system includes sequential first and second free disk block addresses, the first and second free disk block addresses different than the first and second received logical block addresses.

19. The non-transitory computer readable medium according to claim 15 , wherein

sequential disk block addresses are available to store incoming write requests.

20. The non-transitory computer readable medium according to claim 15 , wherein the processing system writes the plurality of write requests to sequential disk block addresses in the storage system.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT 1 ERRONEOUSLY LISTED PATENT ON SCHEDULE A. THE ERRONEOUS PATENT NUMBER US10635539 PREVIOUSLY RECORDED AT REEL: 61365 FRAME: 572. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jul 23, 2024
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 068298/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2022
From: OPEN INVENTION NETWORK LLC
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061365/0571 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2022
From: ROWE, ALAN; SRINIVASAN, CHANDRIKA; NARKHEDE, SAMEER; AU, WING YEE; DALGIC, ISMAIL
To: INTRANSA, INC.
Reel/Frame 059579/0371 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2022
From: INTRANSA, LLC FOR THE BENEFIT OF CREDITORS OF INTRANSA, INC.
To: OPEN INVENTION NETWORK LLC
Reel/Frame 059690/0672 →