IP Library › Granted Patent US 8,601,358
Granted Patent B2
US 8,601,358 · App. 12/617,284 · Granted Dec 3, 2013

Buffer transfer check on variable length data

Inventors: Charles W. Thiesfeld (Lakeville, MN); Sami Iren (Mars, PA)
Assignee: Seagate Technology LLC
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,601,358
App. No.
12/617,284
Granted
Dec 3, 2013
Kind
B2
Abstract

The disclosure is related to systems and methods for checking the integrity of a data transfer to or from a buffer or other data storage medium. Check values can be added to a data object in a data object based file system. From the check values, a device receiving the data object may determine an integrity or validity of the received data object based on the check values. In a particular embodiment, a hash value may be determined based on the check values. The hash value may be stored in the metadata of the transferred data object. The receiving device may re-calculate the hash value from the check values and compare it to the stored hash value to determine an integrity of the received data object.

Claims (40)

1. A device comprising:

a processor;

a file system, executable by the processor, adapted to:

assign a first pointer to a first data object and a second pointer to a second data object, the first pointer having an associated first hash value and the second pointer having an associated second hash value; and

assign a third pointer to the first pointer and the second pointer, the third pointer having an associated third hash value that is based on the first and second hash values;

determine a validity of the first data object and the second data object by:

calculating a fourth hash value based on the first hash value and the second hash value; and

comparing the fourth hash value to the third hash value to determine the validity of the first data object and the second data object.

2. The device of claim 1 , wherein the processor is within an object based data storage device that comprises an interface configured to receive the first data object and the second data object from a host.

3. The device of claim 1 , wherein the processor is further configured to transfer the first data object and the second data object to the host, via the interface, when the first data object and the second data object are determined to be valid.

4. A device comprising:

a processor;

a hierarchical file system, executable by the processor, configured to:

store a data object, having a plurality of data segments with corresponding data transfer check values, at a first level in the hierarchy; and

store at least one hash value that is calculated from the data transfer check values at a second level in the hierarchy.

5. The device of claim 4 , wherein the first level is a lower level in the hierarchy than the second level.

6. The device of claim 5 , wherein the file system is further configured to store at least one hash value, which is related to the at least one hash value stored at the second level in the hierarchy, at a third level in the hierarchy.

7. The device of claim 6 , wherein the file system is further configured to store at least one hash value, which is related to the at least one hash value at a third level in the hierarchy, at a fourth level in the hierarchy.

8. The device of claim 4 , wherein the plurality of data segments comprises a last data segment that has a different number of bytes than the other ones of the plurality of data segments.

9. The device of claim 8 , wherein each of the plurality of data segments other than the last data segment has a specific number of bytes and wherein the last data segment has less than the specific number of bytes.

10. The device of claim 8 , wherein the file system is further configured to link the first level, the second level, the third level and the fourth level by a plurality of pointers.

11. The device of claim 8 , wherein the processor is further configured to:

combine individual ones of the data transfer check values; and

compare the combined data transfer check values to the at least on hash value stored at the second level in the hierarchy to determine validity of the data object.

12. The device of claim 8 , wherein the processor is further configured to:

combine individual ones of the plurality of check values and a seed value; and

compare the combined check values and the seed value to the at least on hash value stored at the second level in the hierarchy to determine validity of the data object.

13. The device of claim 12 , wherein the seed value is a creation time of the object.

14. The device of claim 11 , wherein the processor is within an object based data storage device that comprises an interface configured to receive the first data object from a host.

15. The device of claim 14 , wherein the processor is further configured to transfer the data object to the host, via the interface, when the data object is determined to be valid.

16. A method comprising:

storing a data object, having a plurality of data segments with corresponding data transfer check values, at a first level in a hierarchical file system in a memory; and

storing at least on hash value that is related to the data transfer check values at a second level in the hierarchical file system;

combining individual ones of the plurality of check values and a seed value; and

comparing the combined check values and the seed value to the at least one hash value stored at the second level in the hierarchy to determine validity of the data object.

17. The method of claim 16 , further comprising storing at least one hash value, which is related to the at least one hash value stored at the second level in the hierarchy, at a third level in the hierarchy.

18. The method of claim 17 , further comprising storing at least one hash value, which is related to the at least one hash value at a third level in the hierarchy, at a fourth level in the hierarchy.

19. The method of claim 16 , wherein the plurality of data segments comprises a last data segment that has a different number of bytes than the other ones of the plurality of data segments.

20. The method of claim 19 , wherein each of the plurality of data segments other than the last data segment has a specific number of bytes and wherein the last data segment has less than the specific number of bytes.

21. The device of claim 18 , further comprising linking the first level, the second level, the third level and the fourth level by a plurality of pointers.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Jul 23, 2025
From: THE BANK OF NOVA SCOTIA
To: SEAGATE TECHNOLOGY PUBLIC LIMITED COMPANY; SEAGATE TECHNOLOGY; SEAGATE TECHNOLOGY HDD HOLDINGS; I365 INC.; SEAGATE TECHNOLOGY LLC; SEAGATE TECHNOLOGY INTERNATIONAL; SEAGATE HDD CAYMAN; SEAGATE TECHNOLOGY (US) HOLDINGS, INC.
Reel/Frame 072193/0001 →
SECURITY AGREEMENT Recorded Mar 24, 2011
From: SEAGATE TECHNOLOGY LLC
To: THE BANK OF NOVA SCOTIA, AS ADMINISTRATIVE AGENT
Reel/Frame 026010/0350 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 12, 2009
From: THIESFELD, CHARLES W.; IREN, SAMI
To: SEAGATE TECHNOLOGY LLC
Reel/Frame 023508/0861 →
Continuity (1)
Related Publication 20110113313A1 · May 12, 2011