CA2165911A1 - Method for allocating files in a file system integrated with a raid disk sub-system - Google Patents

Method for allocating files in a file system integrated with a raid disk sub-system

Info

Publication number
CA2165911A1
CA2165911A1 CA002165911A CA2165911A CA2165911A1 CA 2165911 A1 CA2165911 A1 CA 2165911A1 CA 002165911 A CA002165911 A CA 002165911A CA 2165911 A CA2165911 A CA 2165911A CA 2165911 A1 CA2165911 A1 CA 2165911A1
Authority
CA
Canada
Prior art keywords
disk
goal
blocks
pointers
raid
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CA002165911A
Other languages
French (fr)
Other versions
CA2165911C (en
Inventor
David Hitz
Michael Malcolm
James Lau
Byron Rakitzis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NetApp Inc
Original Assignee
Network Appliance Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Network Appliance Inc filed Critical Network Appliance Inc
Priority to CA002165911A priority Critical patent/CA2165911C/en
Publication of CA2165911A1 publication Critical patent/CA2165911A1/en
Application granted granted Critical
Publication of CA2165911C publication Critical patent/CA2165911C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The present invention is a method for integrating a file system with a RAID array (1030) that exports precise information about the arrangement of data blocks in the RAID subsystem (1030). The system uses explicit knowledge of the underlying RAID disk layout to schedule disk allocation. The present invention uses separate current-write location (CWL) pointers for each disk (1022) in the disk array (1030) where the pointers simply advance through disks (1022) as writes occur. The algorithm used has two primary goals. The first goal is to keep the CWL pointers as close together as possible, thereby improving RAID (1030) efficiency by writing to multiple blocks in the stripe simultaneously. The second goal is to allocate adjacent locks of a file on the same disk (1022), thereby improving read back performance. The first goal is satisfied by always writing on the disk (1022) with the lowest CWL pointer. For the second goal, another disk (1024) is chosen only when the algorithm starts allocating space for a new file, or when it has allocated N blocks on the same disk (1022) for a single file. The result is that CWL pointers are never more than N blocks apart on different disks (1024), and large files have N consecutive blocks on the same disk (1022).
CA002165911A 1995-12-21 1995-12-21 Method for allocating files in a file system integrated with a raid disk sub-system Expired - Lifetime CA2165911C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CA002165911A CA2165911C (en) 1995-12-21 1995-12-21 Method for allocating files in a file system integrated with a raid disk sub-system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002165911A CA2165911C (en) 1995-12-21 1995-12-21 Method for allocating files in a file system integrated with a raid disk sub-system

Publications (2)

Publication Number Publication Date
CA2165911A1 true CA2165911A1 (en) 1997-06-22
CA2165911C CA2165911C (en) 2005-07-26

Family

ID=4157218

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002165911A Expired - Lifetime CA2165911C (en) 1995-12-21 1995-12-21 Method for allocating files in a file system integrated with a raid disk sub-system

Country Status (1)

Country Link
CA (1) CA2165911C (en)

Also Published As

Publication number Publication date
CA2165911C (en) 2005-07-26

Similar Documents

Publication Publication Date Title
EP1197836A3 (en) A method for allocating files in a file system integrated with a raid disk sub-system
English et al. Loge: A self-organizing disk controller
US5604902A (en) Hole plugging garbage collection for a data storage system
US5454103A (en) Method and apparatus for file storage allocation for secondary storage using large and small file blocks
JP3160106B2 (en) How to sort disk arrays
WO2005043378A3 (en) Dynamic parity distribution technique
KR100324867B1 (en) Method and apparatus for allocation of disk memory space for compressed data records
US5422762A (en) Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables
US5666560A (en) Storage method and hierarchical padding structure for direct access storage device (DASD) data compression
US6076143A (en) Method and apparatus for managing the physical storage locations for blocks of information in a storage system to increase system performance
EP1272931B1 (en) Multi-device storage system with differing fault tolerant methodologies
EP0715249A3 (en) Methods of and system for reserving storage space for data migration in a redundant hierarchic data storage system by dynamically computing maximum storage space for mirror redundancy
US5375233A (en) File system
US20030065617A1 (en) Method of billing for utilization of a data storage array, and an array controller therefor
WO1999021093B1 (en) Improved flash file system
US20090024821A1 (en) Device for storing data and method for dividing space for data storing
EP0725324A3 (en) Methods for avoiding overcommitment of virtual capacity in a redundant hierarchic data storage system
WO2001031431A3 (en) Management of virtual tape volumes using data page atomic units
EP0490485A2 (en) Rotating memory system
CA2165911A1 (en) Method for allocating files in a file system integrated with a raid disk sub-system
Jin et al. Improving partial stripe write performance in RAID level 5
JPH04151745A (en) Integrated magnetic disk volume system
CN102081508A (en) Method and device for partitioning discs into host computer
JP2817777B2 (en) Secondary storage partition change method
JP3084756B2 (en) Disk striping device

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20151221