IP Library Granted Patent US 9,679,600
Granted Patent B2
US 9,679,600 · App. 14/968,611 · Granted Jun 13, 2017

Mechanical pre-fetching of cold storage media

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,679,600
App. No.
14/968,611
Granted
Jun 13, 2017
Kind
B2
Abstract

Some embodiments include a cold storage system that processes an input/output (I/O) request. The cold storage system can have a buffer rack and one or more archival storage racks. The buffer rack can be closer to an I/O drive of the cold storage system than the archival storage racks. The cold storage system can operate a fetcher robot to pre-fetch a first data storage medium from the archival storage racks to the buffer rack. The cold storage system can operate a buffer robot to move a second data storage medium from a slot in the buffer rack to the I/O drive. The cold storage system can execute, according to the I/O request, an I/O operation on the second data storage medium at the I/O drive.

Claims (32)

1. A method performed by a computing device having a processor and memory, comprising:

receiving an input/output (I/O) request at a cold storage system having a buffer rack and one or more archival storage racks, wherein the buffer rack is closer to an I/O drive of the cold storage system than the archival storage racks;

operating a fetcher robot to pre-fetch a first data storage medium from the archival storage racks to the buffer rack, wherein the fetcher robot is adapted to move between the buffer rack and the archival storage racks;

determining, by the processor, whether the I/O request involves a data size larger than a maximum data capacity of a single data storage medium in the buffer rack;

in an event the I/O request involves a data size larger than the maximum data capacity of a single data storage medium, operating a buffer robot to move a second data storage medium from a holding slot in the buffer rack to the I/O drive, wherein the buffer robot is adapted to move between one or more slots in the buffer rack and the I/O drive; and

executing, according to the I/O request, an I/O operation on the second data storage medium at the I/O drive as part of fulfilling the I/O request.

2. The computer-implemented method of claim 1 , wherein operating the buffer robot occurs concurrently with operating the fetcher robot.

3. The computer-implemented method of claim 1 , wherein the I/O request is a write request; and wherein operating the fetcher robot to pre-fetch includes operating the fetcher robot to pre-fetch, from the archival storage racks to the buffer rack, one or more blank data storage media.

4. The computer-implemented method of claim 1 , wherein the I/O request is a read request; and wherein operating the fetcher robot to pre-fetch includes operating the fetcher robot to pre-fetch, from the archival storage racks to the buffer rack, one or more data storage media containing data requested by the read request.

5. The computer-implemented method of claim 1 , further comprising scheduling to operate the buffer robot to move the second data storage medium from the I/O drive to a return slot in the buffer rack, in response to completing the I/O operation on the second data storage medium.

6. The computer-implemented method of claim 5 , further comprising operating the fetcher robot to move the second data storage medium from the return slot in the buffer rack to the archival storage racks.

7. A cold storage system, comprising:

a buffer rack adapted to physically store data storage media;

an input/output (I/O) drive in or coupled to the buffer rack;

a processor configured to process an I/O request to be fulfilled by the I/O drive, wherein the processor is configured to determine whether the I/O request involves a data size larger than a maximum data capacity of a single data storage medium in the buffer rack and, in an event the I/O request involves a data size larger than the maximum data capacity of a single data storage medium, operate a buffer robot configured to move along the buffer rack, including to and from the I/O drive;

one or more archival storage racks adapted to physically store multiple data storage media; and

a fetcher robot configured to move among at least the buffer rack and the archival storage racks.

8. The cold storage system of claim 7 , wherein the data storage media in the buffer rack and the archival storage racks include optical discs.

9. The cold storage system of claim 7 , wherein the archival storage racks are adapted to store the multiple data storage media in one or more media containers.

10. The cold storage system of claim 7 , wherein the I/O drive is closer to the buffer rack than any of the archival storage racks.

11. The cold storage system of claim 7 , wherein the I/O drive is attached to the center of the buffer rack.

12. The cold storage system of claim 7 , wherein the buffer rack is adapted to store multiple types of data storage media and the I/O drive is adapted to read from or write in the multiple types of data storage media.

13. The cold storage system of claim 7 , wherein the fetcher robot is configured to fetch a blank data storage medium from the archival storage racks to the buffer rack when the I/O request involves a write request and the I/O drive has not yet completed the write request.

14. The cold storage system of claim 7 , wherein the I/O request is a write request; wherein the buffer robot is configured to load, from the buffer rack to the I/O drive, one blank data storage medium after another, to fulfill the write request requiring storage capacity of multiple storage media; and wherein the fetcher robot is configured to pre-fetch a blank data storage medium from the archival storage racks to a slot in the buffer rack while the buffer robot is loading another data storage medium or the I/O drive is accessing another data storage medium.

15. The cold storage system of claim 7 , wherein the I/O request is a read request; wherein the buffer robot is configured to load, from the buffer rack to the I/O drive, one requested data storage medium after another, to fulfill the read request involving multiple storage media; and wherein the fetcher robot is configured to pre-fetch, from the archival storage racks to a slot in the buffer rack, a storage media container containing at least a data storage medium storing data requested by the read request, while the buffer robot is loading another data storage medium or the I/O drive is accessing another data storage medium.

16. The cold storage system of claim 7 , wherein the processor is configured to designate a return slot in the buffer rack whose content is to be returned to the archival storage racks; and wherein the fetcher robot is configured to remove the content in the return slot.

17. The cold storage system of claim 16 , wherein the processor is configured to designate the return slot after a data storage medium is removed, by the buffer robot, from the I/O drive to the return slot.

18. A computer-readable storage memory storing computer-executable instructions, comprising:

instructions for receiving an input/output (I/O) request at a cold storage system having a buffer rack and one or more archival storage racks, wherein the buffer rack is closer to an I/O drive of the cold storage system than the archival storage racks;

instructions for determining whether the I/O request involves a data size larger than a maximum data capacity of a single data storage medium in the buffer rack and, in an event the I/O request involves a data size larger than the maximum data capacity of a single data storage medium, commanding a fetcher robot to pre-fetch a first data storage medium from the archival storage racks to the buffer rack;

instructions for commanding a buffer robot to move a second data storage medium from a slot in the buffer rack to the I/O drive, wherein the slot is in an area in the buffer rack designated to store one or more data storage media associated with a pending I/O operation; and

instructions for executing, according to the I/O request, an I/O operation on the second data storage medium at the I/O drive.

Assignments (2)
CHANGE OF NAME Recorded Jan 27, 2022
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058871/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: ADRIAN, JASON DAVID
To: FACEBOOK, INC.
Reel/Frame 037669/0819 →