File system with per-extent checksums

US10102218B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10102218-B2
Application numberUS-201414501922-A
CountryUS
Kind codeB2
Filing dateSep 30, 2014
Priority dateSep 30, 2014
Publication dateOct 16, 2018
Grant dateOct 16, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A file system allows a different checksum algorithm to be used for different extents of a file system object independently of other extents of the file system object. The checksum algorithm can be a selectable attribute of an extent or range of extents of a file system object, such that some extents of a file system object can use a first checksum algorithm, while other extents of the file system object can use a second checksum algorithm. An extent of the file system object also may have no associated checksum algorithm. The file system stores, for each extent of a file system object, data indicating a checksum for the extent and an indication of any checksum algorithm used for the extent.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer including a file system and configured to manage storage of and access to a plurality of file system objects of the file system on one or more storage devices, the computer comprising: a computer storage medium storing a data structure, for each file system object, comprising, for each extent of a plurality of extents of the respective file system object, an indication of a checksum algorithm applied to the extent selected from among a plurality of different checksum algorithms and a checksum value for the extent, allowing a first range of extents of a file system object to have a checksum algorithm different from a second range of extents in the file system object; a processing system comprising a memory with computer program code for the file system stored in the memory that, when executed by the processing system, configures the processing system to provide an interface through which file system operations of accessing a file system object and changing a checksum algorithm can be invoked, the file system: in response to receiving an invocation of the operation to change a checksum algorithm applied to a selected extent of a selected file system object to a selected new checksum algorithm: receive data indicating the selected file system object, the selected extent and the selected new checksum algorithm from among the plurality of different checksum algorithms, compute a checksum value for data read from storage for the selected extent using the selected new checksum algorithm, and store, in the computer storage medium in the data structure for the selected extent, an indication of the selected new checksum algorithm and the computed checksum value for the selected extent, such that the selected extent has a different checksum algorithm than another extent in the file system object; and in response to receiving, from an application, an invocation of the operation to access a selected file system object, for each extent of the file system object to be accessed; access an indication of the checksum algorithm applied to the extent from the data structure for the extent stored in the computer storage medium, apply the checksum algorithm, indicated in the data structure for the extent, to the data for the extent to compute a checksum value for the extent. 2. The computer of claim 1 , wherein the file system, in response to a write operation to an extent of a file system object, identifies a checksum algorithm to apply to the extent, computes a checksum value for the extent using the identified checksum algorithm, and stores, in the computer storage medium and in association with the extent, an indication of the identified checksum algorithm and the computed checksum value for the extent. 3. The computer of claim 1 , wherein the file system, in response to a read operation for an extent of a file system object, identifies from the data stored in the computer storage medium a checksum algorithm applied to the extent, computes a checksum value for data read from storage for the extent using the checksum algorithm, and compares the computed checksum value to a checksum value stored in the computer storage medium for the extent. 4. The computer of claim 1 , wherein the indication of the checksum algorithm stored in the computer storage medium is a checksum indicator stored in an entry for the extent in an extent table for the file system object. 5. The computer of claim 4 , wherein the checksum value for an extent is stored in the computer storage medium in the entry for the extent in the extent table for the file system object. 6. The computer of claim 1 , wherein the indication of the checksum algorithm stored in the computer storage medium is a checksum indicator for an extent accessed indirectly through an entry for the extent in the extent table for the file system object. 7. The computer of claim 6 , wherein the checksum value for an extent is accessed indirectly through the entry for the extent in the extent table for the file system object. 8. The computer of claim 1 , wherein the indication of the checksum algorithm stored in the computer storage medium is a checksum indicator for an extent stored in association with data indicating a storage location of stored data for the extent. 9. The computer of claim 1 , wherein the checksum value for an extent of a file system object is stored in association with data indicating a storage location of stored data for the extent. 10. The computer of claim 1 , wherein a file system object includes a first extent including metadata for the file system object, and a second extent including data stored by the file system object, wherein the checksum algorithm for the first extent is different from the checksum algorithm for the second extent. 11. A computer-implemented process performed by a file system of a computer configured to manage storage of and access to a plurality of file system objects of the file system on one or more storage devices, the file system having an interface through which file system operations of accessing a file system object and changing a checksum algorithm can be invoked, the process comprising: storing, in a computer storage medium, a data structure, for each file system object, comprising, for each extent of a plurality of extents for the respective file system object, an indication of a checksum algorithm applied to the extent selected from among a plurality of different checksum algorithms, and a checksum value for the extent, allowing a first range of extents of the file system object to have a checksum algorithm different from a second range of extents of the file system object; in response to receiving an invocation of the operation to change a checksum algorithm applied to a selected extent of a selected file system object to a new selected checksum algorithm: receiving data indicating the selected file system object, the selected extent, and the selected new checksum algorithm from among the plurality of different checksum algorithms, computing a checksum value for data read from storage for the selected extent using the selected new checksum algorithm, and storing, in the computer storage medium in the data structure for the selected extent, an indication of the selected new checksum algorithm and the computed checksum value for the selected extent, such that the selected extent has a different checksum algorithm than another extent in the file system object; and in response to receiving, from an application, an invocation of the operation to access an extent of a selected file system object: accessing an indication of the checksum algorithm applied to the extent from the data structure for the extent stored on the computer storage medium, and applying the checksum algorithm, indicated in the data structure for the extent, to data for the extent to compute a checksum value for the extent. 12. The computer-implemented process of claim 11 , wherein, in response to the request including a write operation to an extent of a file system object: identifying a checksum algorithm to apply to the extent, computing a checksum value for the extent using the checksum algorithm, and storing, in the computer storage medium and in association with the extent, an indication of the checksum algorithm and the checksum value computed for the extent. 13. The computer-implemented process of claim 11 , wherein, in response to the request including a read operation for an extent of a file system object: identifying a checksum algorithm applied to the extent and a stored checksum value for the extent from the data stored in the computer storage medium, com

Assignees

Inventors

Classifications

  • using management policies (point-in-time backing up or restoration of persistent data G06F11/1446; file migration policies for HSM systems G06F16/185) · CPC title

  • G06F16/183Primary

    Provision of network file services by network file servers, e.g. by using NFS, CIFS (network file access protocols H04L67/1097) · CPC title

  • to protect a block of data words, e.g. CRC or checksum (G06F11/1076 takes precedence; security arrangements for protecting computers or computer systems against unauthorized activity G06F21/00) · CPC title

  • Physics · mapped topic

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10102218B2 cover?
A file system allows a different checksum algorithm to be used for different extents of a file system object independently of other extents of the file system object. The checksum algorithm can be a selectable attribute of an extent or range of extents of a file system object, such that some extents of a file system object can use a first checksum algorithm, while other extents of the file syst…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/183. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 16 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).