EP1533689A1

Improved prefetch cache performance for sequential I/O requests in a multipathed storage system

Abstract

In an information processing system comprising a storage equipment which includes a logical unit logically assigned to physical devices and an information processing apparatus which sends data input/output requests to the storage equipment, wherein the data input/output requests are transferred through logical paths serving as communication paths to the logical unit, the information processing apparatus comprises a path selection management section which manages configurations of a plurality of blocks into which the logical unit is divided, an I/O request allocation section which allocates data input/output requests to be transmitted to the storage equipment to the logical paths, and I/O processing units which transmit the data input/output requests through the logical paths, according to the allocation determined by the I/O request allocation section, pursuant to an established protocol, wherein the path selection management section assigns at least one logical path to one block.

EP1533689A1, drawing sheet 1
Sheet 1 of 15

Term

Term ended

Projected expiry passed 18 August 2024, 2.1 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

17 claims: 7 independent, 10 dependent

  1. 1
    An information processing system comprising    a storage equipment which includes a logical unit logically assigned to physical devices and    an information processing apparatus which sends data input/output requests to said storage equipment, wherein    the data input/output requests are transferred through logical paths serving as communication paths to said logical unit, wherein    a cache memory is provided to prefetch and store both data in a location to be accessed by one of said data input/output requests and data in locations following said location within said physical devices,    said information processing apparatus comprising       a path selection management section which manages configurations of a plurality of blocks into which said logical unit is divided,       an I/O request allocation section which allocates data input/output requests to be transmitted to said storage equipment to said logical paths, and       I/O processing units which transmit said data input/output requests through said logical paths, according to the allocation determined by said I/O request allocation section, pursuant to an established protocol, wherein    said path selection management section assigns at least one of said logical paths to one of said blocks.
  2. 6
    An information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices through logical paths serving as communication paths to said logical unit, said information processing apparatus comprising    a path selection management section which manages configurations of a plurality of blocks into which said logical unit is divided,    an I/O request allocation section which allocates data input/output requests to be transmitted to said storage equipment to said logical paths, wherein    I/O processing units which transmit said data input/output requests through said logical paths, according to the allocation determined by said I/O request allocation section, pursuant to an established protocol, wherein said path selection management section assigns at least one of said logical paths to one of said blocks.
  3. 11
    A method for controlling an information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices through logical paths serving as communication paths to said logical unit, in which method setting up is performed for configurations of a plurality of blocks into which said logical unit is divided, said method comprising    creating a path management table, based on information about said logical paths that are recognizable at the start of said information processing apparatus,    creating an LU management table containing information about said logical units by reference to said path management table,    creating a block management table containing information about said blocks by reference to said LU management table,    dividing said logical unit into a plurality of blocks by reference to said block management table, and    assigning at least one of said logical paths to one of said blocks.
  4. 13
    A method for controlling an information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices and divided into a plurality of blocks through logical paths serving as communication paths to said logical unit, said method comprising    selecting, based on one of said data input/output requests, an I/O processing unit assigned to a block where data to be accessed by the data input/output request exists and making the selected I/O processing unit process the data input/output request.
  5. 14
    A method for controlling an information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices and divided into a plurality of blocks through logical paths serving as communication paths to said logical unit, said method comprising    determining whether data to be accessed by one of said data input/output requests is stored on a cache memory, if the data to be accessed by the data input/output request is stored on said cache memory,    selecting an I/O processing unit that processed the last data input/output request and making said cache memory work, if the data to be accessed by the data input/output request is not stored on said cache memory,    selecting an I/O processing unit assigned to a block where the data to be accessed by the data input/output request exists and making the selected I/O processing unit process the data input/output request.
  6. 15
    A computer program to implement functions of an information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices through logical paths serving as communication paths to said logical unit, said computer program comprising    computer program code means for creating a path management table, based on information about said logical paths that are recognizable at the start of said information processing apparatus,    computer program code means for creating an LU management table containing information about said logical units by reference to said path management table,    computer program code means for creating a block management table containing information about said blocks by reference to said LU management table,    computer program code means for dividing said logical unit into a plurality of blocks by reference to said block management table, and    computer program code means for assigning at least one of said logical paths to one of said blocks.
  7. 17
    A computer program to implement functions of an information processing apparatus which sends data input/output requests to a storage equipment which includes a logical unit logically assigned to physical devices through logical paths serving as communication paths to said logical unit, said computer program comprising    computer program code means for managing configurations of a plurality of blocks into which said logical unit is divided,    computer program code means for allocating the data input/output requests to be transmitted to said storage equipment to said logical paths,    computer program code means for transmitting said data input/output requests through said logical paths, according to the allocation determined by said allocation means, pursuant to an established protocol, and    computer program code means for assigning at least one of said logical paths to one of said blocks.