IP Library Granted Patent US 6,996,742
Granted Patent B2
US 6,996,742 · App. 09/996,074 · Granted Feb 7, 2006

Method for regenerating and streaming content from a video server using RAID 5 data striping

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 6,996,742
App. No.
09/996,074
Granted
Feb 7, 2006
Kind
B2
Abstract

A method for streaming content striped in RAID 5 format from an array of disk drives to subscribers to minimize disruptive service from a disk drive failure. The method includes accessing content data on an extent-by-extent basis from a plurality of disk drives in an array and streams the content data to the subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives. Upon detection of an actual disk drive failure the method transitions to a stream regeneration mode of operation, which includes reading the content data substantially simultaneously from all extents in a parity group and regenerating a failed portion of the content data from a failed extent in the parity group corresponding to the failed disk drive. The content data in the parity group is streamed to the subscribers, extent-by-extent, immediately following the regenerating of the content data from the failed extent in the parity group.

Claims (63)

1. A method for streaming content striped in RAID 5 format from an array of disk drives to a plurality of subscribers to minimize disruptive service from a disk drive failure, said method comprising:

accessing content data striped in said RAID 5 format, on an extent-by-extent basis, from a plurality of disk drives configured in an array without reading the parity extents;

streaming the content data to the plurality of subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives;

detecting an actual disk drive failure; and

transitioning to a stream regeneration mode of operation comprising:

reading the content contemporaneously from all extents in a parity group associated with a failed disk drive;

regenerating a failed portion of the content data from a failed extent in the parity group corresponding to the failed disk drive; and

streaming the content data in the parity group to the plurality of subscribers, extent-by-extent, immediately following the regenerating of the content data from the failed extent in the parity group.

2. The method of claim 1 , further comprising disallowing content loads upon detecting the actual disk drive failure.

3. The method of claim 1 , further comprising migrating at least one subscriber to a non-failed disk drive array.

4. The method of claim 1 , further comprising migrating content to a non-failed disk drive array.

5. The method of claim 1 , further comprising:

sensing installment of a replacement disk drive; and

rebuilding the content data thereon.

6. The method of claim 5 , further comprising allowing content loads on the replacement disk drive.

7. The method of claim 6 , wherein after said rebuilding step, the method further comprises:

accessing the content data on an extent-by-extent basis from the plurality of disk drives configured in the RAID 5 format; and

streaming the content data to the plurality of subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives.

8. The method of claim 7 , further comprising load-balancing the content data between additional disk drive arrays.

9. The method of claim 7 , further comprising load-balancing the streams to the plurality of subscribers between additional disk drive arrays.

10. The method of claim 1 , wherein the regenerating step further comprises initiating a data regeneration mode of operation comprising writing, as a low priority task, recovered content data to spare extents on non-failed disk drives in the array.

11. The method of claim 10 , wherein once the regenerated content data has been written to the spare extents, initiating a recovery-carousel-serving mode of operation comprising streaming psuedo-sequentially, extent-by-extent, content data of each parity group to the plurality of subscribers, here the regenerated content data in a spare extent of each parity group is streamed out of sequence.

12. The method of claim 11 , further comprising:

sensing installment of a replacement disk drive; and

writing the regenerated content data from the spare extents on the non-failed disk drives of the array to the replacement disk drive.

13. The method of claim 12 , wherein after said writing step, the method further comprises:

accessing content data on an extent-by-extent basis, sequentially, from the plurality of disk drives configured in the RAID 5 format; and

streaming content data to the plurality of subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives.

14. The method of claim 13 , further comprising allowing content loads on the replacement disk drive.

15. The method of claim 14 , further comprising load-balancing the content data between additional disk drive arrays.

16. The method of claim 14 , further comprising load-balancing the streams to the plurality of subscribers between additional disk drive arrays.

17. A method for streaming content striped in RAID 5 format from an array of disk drives to a plurality of subscribers to minimize disruptive service from a disk drive failure, said method comprising:

accessing content data striped in said RAID 5 , on an extent-by-extent basis, from a plurality of disk drives configured in an array without reading the parity extents;

streaming the content data to the plurality of subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives;

predicting a disk drive failure;

writing content data from a the disk drive predicted to fail to spare extents on non-failed disk drives in the array;

detecting at least one of an actual failure and removal of the disk drive predicted to fail; and

transitioning, in response to the detecting step, a recovery-carousel-serving mode of operation comprising:

streaming psuedo-sequentially, extent-by-extent, content data of each parity group to the plurality of subscribers, where the regenerated content data in a spare extent of each parity group is streamed out of sequence.

wherein in an instance where the disk drive predicted to fail fails prior to said writing step, said method further comprises

transitioning to a stream regeneration mode of operation comprising:

reading the content data contemporaneously from all extents in a parity group;

regenerating a failed portion of the content data from a failed extent in the parity group corresponding to the failed disk drive; and

streaming the content data in the parity group to the plurality of subscribers, extent-by-extent, immediately following the regenerating of the content data from the failed extent in the parity group.

18. The method of claim 17 , wherein the detecting step further comprises monitoring disk drive performance data selected from the group consisting of a sufficiently high frequency of failed read attempts, a control signal produced by a disk failing, a thermal profile, a disk drive manufacturer detection software signal, and disk access times exceeding a predetermined threshold value.

19. The method of claim 17 , further comprising migrating at least one subscriber to a non-failed disk drive array.

20. The method of claim 17 , further comprising migrating content to a non-failed disk drive array.

21. The method of claim 17 , further comprising disallowing content loads upon detecting the actual failure of the disk drive predicted to fail.

22. The method of claim 17 , further comprising:

sensing installment of a replacement disk drive; and

writing the regenerated content data from the spare extents on the non-failed disk drives of the array to the replacement disk drive.

23. The method of claim 22 , wherein after said writing step, the method further comprises:

accessing content data on an extent-by-extent basis, sequentially, from the plurality of disk drives configured in the RAID 5 format; and

streaming content data to the plurality of subscribers on an extent-by-extent basis, sequentially, from the plurality of disk drives.

24. The method of claim 22 , further comprising allowing content loads on the replacement disk drive.

25. The method of claim 23 , further comprising load-balancing the content data between additional disk drive arrays.

26. The method of claim 23 , further comprising load-balancing the streams to the plurality of subscribers between additional disk drive arrays.

27. The method of claim 1 , further comprising, forming said disk drives into a plurality of parity groups, each parity group comprising contiguous data extents and a single parity extent striped across said disk drives, wherein said data extents and parity extent of said parity groups are spatially distributed across the disk drives of said array.

28. The method of claim 27 , wherein each parity group further comprises a spare extent being spatially distributed across said disk drives of said array.

29. The method of claim 28 , further comprising:

striping said data extents contiguously across a first portion of said disk drive of said array;

forming said single parity extent in a disk drive adjacent to said data extents; and

providing said spare extent in a disk drive of said array adjacent to said parity extent.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 24, 2008
From: SEDNA PATENT SERVICES, LLC (F/K/A TVGATEWAY, LLC)
To: COMCAST IP HOLDINGS I, LLC
Reel/Frame 021570/0353 →
CHANGE OF NAME Recorded Sep 20, 2004
From: TVGATEWAY, LLC
To: SEDNA PATENT SERVICES, LLC
Reel/Frame 015177/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2004
From: DIVA SYSTEMS CORPORATION BY HOWARD B. GROBSTEIN, CHAPTER 11 TRUSTEE
To: TVGATEWAY, LLC
Reel/Frame 014567/0512 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2002
From: LERMAN, JESSE S.; CHIN, DANNY; DANDREA, ROBERT G.
To: DIVA SYSTEMS CORPORATION
Reel/Frame 012553/0110 →