IP Library Granted Patent US 8,745,320
Granted Patent B2
US 8,745,320 · App. 13/464,714 · Granted Jun 3, 2014

Ensuring write operation consistency using multiple storage devices

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,745,320
App. No.
13/464,714
Granted
Jun 3, 2014
Kind
B2
Abstract

Relatively small capacity solid-state storage devices (SSD) are combined with larger capacity magnetic disk storage devices for storing storage block write data to ensure data consistency. Write operations are stored in a sequential write buffer in an SSD to guarantee the storage of write data and then copied from the sequential write buffer to the destination address in a magnetic disk storage device. The sequential write buffer store write data in locations corresponding to the order of receipt of write operations. Write data from the sequential write buffer is transferred to the magnetic disk storage device in the same order and a checkpoint index is frequently updated to indicate the completion of some transfers. During system initialization, the most recent value of the checkpoint index is retrieved and used as a starting location for transferring write data from the sequential write buffer to the magnetic disk storage device.

Claims (37)

1. A method of storing data to a data storage device, the method comprising:

receiving a write operation including write data and a destination address;

storing a page in a sequential write buffer included in a first non-volatile storage device guaranteeing data consistency and durability, wherein the page includes the destination address and the write data; and

upon completing the storage of the page in the sequential write buffer, transferring at least the write data from the page to a second non-volatile storage device that does not guarantee data consistency and/or durability.

2. The method of claim 1 , wherein the first non-volatile storage device includes a solid-state storage device that guarantees data consistency.

3. The method of claim 1 , wherein the second non-volatile storage device includes a magnetic disk storage device.

4. The method of claim 1 , wherein the second non-volatile storage device has a data capacity larger than the first non-volatile storage device.

5. The method of claim 1 , wherein at least the write data is stored in the destination address in the second non-volatile storage device.

6. The method of claim 5 , wherein the page is stored in the sequential write buffer in a storage location indicative of the order of the write operation relative to previously received write operations.

7. The method of claim 1 , comprising:

determining if a checkpoint has been reached; and

in response to the determination that the checkpoint has been reached, updating a checkpoint index value.

8. The method of claim 7 , wherein the checkpoint index value is stored in the first non-volatile storage device.

9. The method of claim 7 , wherein determining if the checkpoint has been reached comprises determining if a predefined quantity of data has been transferred to the second non-volatile storage device since a previous checkpoint.

10. The method of claim 7 , wherein determining if the checkpoint has been reached comprises determining if a predefined quantity of pages has been transferred to the second non-volatile storage device since a previous checkpoint.

11. The method of claim 7 , wherein determining if the checkpoint has been reached comprises determining if a predefined quantity of time has passed since a previous checkpoint.

12. A method of storing data to a data storage device, the method comprising:

accessing a previously stored checkpoint index value;

setting a write transfer index to the previously stored checkpoint index value;

selecting a page at a location in a sequential write buffer associated with the write transfer index, wherein the sequential write buffer is included in a first non-volatile storage device guaranteeing data consistency;

determining if the selected page has previously been transferred to a second non-volatile storage device that does not guarantee data consistency; and

in response to the determination that the selected page may not have been transferred to the second non-volatile storage device, transferring at least the write data from the selected page to the second non-volatile storage device.

13. The method of claim 12 , comprising:

following the transfer of at least the write data from the selected page, setting the write transfer index to a second location in the sequential write buffer; and

repeating the steps of selecting, determining, and transferring with the write transfer index set to the second location.

14. The method of claim 12 , wherein the location of the selected page in the sequential write buffer is indicative of a relative order of receipt of a corresponding write operation with respect to other write operations.

15. The method of claim 12 , wherein the selected page includes a destination address and transferring at least the write data from the selected page comprises storing the write data at the destination address in the second non-volatile storage device.

16. The method of claim 12 , wherein determining if the selected page has previously been transferred to the second non-volatile storage device comprises:

comparing an attribute of the selected page with an attribute of a previous page in the sequential write buffer.

17. The method of claim 12 , wherein in response to the determination that the selected page has been previously transferred to the second non-volatile storage device, waiting for the receipt of a write operation.

18. The method of claim 12 , wherein the first non-volatile storage device includes a solid-state storage device that guarantees data consistency.

19. The method of claim 12 , wherein the second non-volatile storage device includes a magnetic disk storage device.

20. The method of claim 12 , wherein the second non-volatile storage device has a data capacity larger than the first non-volatile storage device.

21. The method of claim 13 , comprising:

determining if a checkpoint has been reached; and

in response to the determination that the checkpoint has been reached, updating the previously stored checkpoint index value with a value based on the location of the selected page in the sequential write buffer.

22. The method of claim 21 , wherein the checkpoint index value is stored in the first non-volatile storage device.

Assignments (19)
RELEASE OF SECURITY INTEREST Recorded Aug 11, 2023
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC; RIVERBED HOLDINGS, INC.
Reel/Frame 064673/0739 →
CHANGE OF NAME Recorded Feb 18, 2022
From: RIVERBED TECHNOLOGY, INC.
To: RIVERBED TECHNOLOGY LLC
Reel/Frame 059232/0551 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0169 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0108 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Dec 27, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 058593/0046 →
SECURITY INTEREST Recorded Dec 10, 2021
From: RIVERBED TECHNOLOGY LLC (FORMERLY RIVERBED TECHNOLOGY, INC.); ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS U.S. COLLATERAL AGENT
Reel/Frame 058486/0216 →
PATENT SECURITY AGREEMENT Recorded Oct 27, 2021
From: RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 057943/0386 →
PATENT SECURITY AGREEMENT SUPPLEMENT - FIRST LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057810/0502 →
PATENT SECURITY AGREEMENT SUPPLEMENT - SECOND LIEN Recorded Oct 14, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 057810/0559 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORED AT REEL 056397, FRAME 0750 Recorded Oct 13, 2021
From: MACQUARIE CAPITAL FUNDING LLC
To: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
Reel/Frame 057983/0356 →
SECURITY INTEREST Recorded May 26, 2021
From: RIVERBED HOLDINGS, INC.; RIVERBED TECHNOLOGY, INC.; ATERNITY LLC
To: MACQUARIE CAPITAL FUNDING LLC
Reel/Frame 056397/0750 →
PATENT SECURITY AGREEMENT Recorded Mar 5, 2021
From: RIVERBED TECHNOLOGY, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 055514/0249 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CONVEYING PARTY NAME PREVIOUSLY RECORDED ON REEL 035521 FRAME 0069. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST IN PATENTS. Recorded Jun 2, 2015
From: JPMORGAN CHASE BANK, N.A.
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035807/0680 →
SECURITY INTEREST Recorded May 1, 2015
From: RIVERBED TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 035561/0363 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Apr 28, 2015
From: BARCLAYS BANK PLC
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 035521/0069 →
PATENT SECURITY AGREEMENT Recorded Dec 27, 2013
From: RIVERBED TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 032421/0162 →
RELEASE OF PATENT SECURITY INTEREST Recorded Dec 26, 2013
From: MORGAN STANLEY & CO. LLC, AS COLLATERAL AGENT
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 032113/0425 →
SECURITY AGREEMENT Recorded Dec 20, 2012
From: RIVERBED TECHNOLOGY, INC.; OPNET TECHNOLOGIES, INC.
To: MORGAN STANLEY & CO. LLC
Reel/Frame 029646/0060 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 13, 2012
From: GUPTA, NITIN; VIJAYASANKAR, KIRON; BERRY, JOSHUA
To: RIVERBED TECHNOLOGY, INC.
Reel/Frame 028544/0946 →