Data storage system, data storing method, and recording medium

Information

  • Patent Application
  • 20070198784
  • Publication Number
    20070198784
  • Date Filed
    January 05, 2007
    17 years ago
  • Date Published
    August 23, 2007
    17 years ago
Abstract
A data storage system has a first storage unit and a second storage unit for storing the same data received from a plurality of higher-level devices. The first storage unit transmits sequence information representative of a sequence for storing the data received from the higher-level devices, to said second storage unit.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a block diagram of a conventional data storage system;



FIG. 2 is a block diagram of another conventional data storage system;



FIG. 3 is a block diagram of a data storage system according to the present invention;



FIG. 4 is a block diagram of a data storage system according to Embodiments 1 through 3 of the present invention;



FIG. 5 is a sequence diagram showing operation of the data storage system according to Embodiment 1 of the present invention;



FIG. 6 is a flowchart of an operation sequence of a temporary storage unit according to Embodiment 1 of the present invention;



FIG. 7A is a diagram showing write commands transmitted by a higher-level device according to Embodiment 1 of the present invention;



FIG. 7B is a diagram showing write commands generated by a data transfer unit according to Embodiment 1 of the present invention;



FIG. 7C is a diagram showing sequence information transmitted by a main storage unit according to Embodiment 1 of the present invention;



FIG. 7D is a diagram showing a state of the temporary storage unit according to Embodiment 1 of the present invention;



FIG. 7E is a diagram showing a state of the temporary storage unit according to Embodiment 1 of the present invention;



FIG. 7F is a diagram showing a state of the temporary storage unit according to Embodiment 1 of the present invention;



FIG. 7G is a diagram showing a state of the temporary storage unit according to Embodiment 1 of the present invention;



FIG. 8 is a sequence diagram showing operation of the data storage system according to Embodiment 2 of the present invention;



FIG. 9A is a diagram showing a data set managed by a temporary storage unit according to Embodiment 3 of the present invention;



FIG. 9B is a diagram showing a sequence undetermined link for the temporary storage unit according to Embodiment 3 of the present invention to connect data sets;



FIG. 9C is a diagram showing a sequence information queue for the temporary storage unit according to Embodiment 3 of the present invention to store sequence information;



FIG. 9D is a diagram showing a sequence determined link for the temporary storage unit according to Embodiment 3 of the present invention to connect data sets;



FIG. 10A is a diagram showing write commands transmitted by a higher-level device according to Embodiment 3 of the present invention;



FIG. 10B is a diagram showing write commands generated by a data transfer unit according to Embodiment 3 of the present invention;



FIG. 10C is a diagram showing sequence information transmitted by a main storage unit according to Embodiment 3 of the present invention;



FIG. 10D is a diagram showing a state of the temporary storage unit according to Embodiment 3 of the present invention;



FIG. 10E is a diagram showing a state of the temporary storage unit according to Embodiment 3 of the present invention;



FIG. 10F is a diagram showing a state of the temporary storage unit according to Embodiment 3 of the present invention;



FIG. 10G is a diagram showing a state of the temporary storage unit according to Embodiment 3 of the present invention;



FIG. 10H is a diagram showing a state of the temporary storage unit according to Embodiment 3 of the present invention;



FIG. 11 is a block diagram of a data storage system according to Embodiments 4 and 5 of the present invention; and



FIG. 12 is a block diagram of a data storage system according to Embodiment 6 of the present invention.


Claims
  • 1. A data storage system comprising: a first storage unit and a second storage unit for storing the same data received from a plurality of higher-level devices,wherein said first storage unit transmits sequence information representative of a sequence for storing the data received from said higher-level devices, to said second storage unit.
  • 2. A data storage system comprising: a first storage unit and a second storage unit for storing the same data received from a plurality of higher-level devices,wherein said first storage unit comprises:a main storage unit for storing the data received from said higher-level devices and transmitting sequence information representative of a sequence for storing the data to-said second storage unit; andwherein said second storage unit comprises:an auxiliary storage unit for storing the data received from said higher-level devices; anda temporary storage unit disposed at a front stage of said auxiliary storage unit, for temporarily storing the data received from said higher-level devices and transferring the temporarily stored data to said auxiliary storage unit according to the sequence based on the sequence information received from said main storage unit.
  • 3. A data storage system according to claim 2, wherein said main storage unit and said temporary storage unit receive a write request from said higher-level devices, keeps an area for storing the data, and transmits a data request to said higher-level devices for thereby receiving data from said higher-level devices.
  • 4. A data storage system according to claim 2, wherein when said main storage unit receives a write request from said higher-level devices, said main storage unit transmits an identifier of said write request and an execution sequence representative of a sequence in which said main storage unit has received said write request, as said sequence information to said second storage unit; and said temporary storage unit also temporarily stores the write request received from said higher-level devices, and transfers a write request and data corresponding to the identifier included in said sequence information to said auxiliary storage unit according to a sequence based on the execution sequence included in said sequence information received from said main storage unit.
  • 5. A data storage system according to claim 2, wherein said temporary storage unit stores an execution sequence included in the sequence information received from said main storage unit, in association with a write request corresponding to an identifier included in said sequence information and the data, and when a preset condition is satisfied, repeats a process of transferring a write request and data to which an execution sequence for performing a next transfer is assigned to said auxiliary storage unit.
  • 6. A data storage system according to claim 2, wherein when said main storage unit receives a write request from said higher-level devices, said main storage unit transmits an identifier of said write request as said sequence information to said second storage unit according to a sequence in which said main storage unit has received said write request; and said temporary storage unit temporarily stores the write request received from said higher-level devices, and transfers a write request and data corresponding to an identifier included in said sequence information to said auxiliary storage unit according to a sequence in which said temporary storage unit has received the sequence information from said main storage unit.
  • 7. A data storage system according to claim 6, wherein said temporary storage unit connects a write request and data corresponding to an identifier included in said sequence information to the trailing end of a predetermined link according to a sequence in which said temporary storage unit has received the sequence information from said main storage unit, stores the write request-and data connected to the trailing end of said predetermined link, and when a preset condition is satisfied, repeats a process of transferring a write request and data connected to the leading end of said predetermined link to said auxiliary storage unit, and a process of separating the transferred write request and data from said predetermined link.
  • 8. A data storage device in a data storage system for storing data transmitted from a plurality of higher-level devices, comprising: means for transmitting sequence information representative of a sequence for storing the data received from said higher-level devices to another data storage device in said data storage system.
  • 9. A data storage device in a data storage system for storing data transmitted from a plurality of higher-level devices, comprising: a main storage unit for storing the data received from said higher-level devices and transmitting sequence information representative of a sequence for storing the data to another data storage device in said data storage system.
  • 10. A data storage device according to claim 9, wherein said main storage unit receives a write request for data from said higher-level devices, keeping an area for storing the data, and sending a data request to said higher-level devices for thereby receiving the data from said higher-level devices.
  • 11. A data storage device according to claim 9, wherein when said main storage unit receives a write request from said higher-level devices, said main storage unit transmits an identifier of said write request and an execution sequence representative of a sequence in which said main storage unit has received said write request, as said sequence information to said other data storage device.
  • 12. A data storage device according to claim 9, wherein when said main storage unit receives a write request from said higher-level devices, said main storage unit transmits an identifier of said write request as said sequence information to said other data storage device according to a sequence in which said main storage unit has received the write request.
  • 13. A data storage device in a data storage system for storing data transmitted from a plurality of higher-level devices, comprising: means for receiving sequence information representative of a sequence for storing the data received from said higher-level devices in another data storage device in said data storage system, from said other data storage device.
  • 14. A data storage device in a data storage system for storing data transmitted from a plurality of higher-level devices, comprising: an auxiliary storage unit for storing the data received from said higher-level devices; anda temporary storage unit disposed at a front stage of said auxiliary storage unit, for temporarily storing the data received from said higher-level devices and transferring the temporarily stored data to said auxiliary storage unit according to a sequence based on sequence information received from another data storage device in the data storage system and representative of a sequence for storing the data received from said higher-level devices in said other data storage device.
  • 15. A data storage device according to claim 14, wherein said temporary storage unit receives a write request from said higher-level devices, keeps an area for storing the data, and transmits a data request to said higher-level devices for thereby receiving data from said higher-level devices.
  • 16. A data storage device according to claim 14, wherein said temporary storage unit also temporarily stores a write request received from said higher-level devices, and, when said temporary storage unit receives an identifier of said write request received from said higher-level devices by said other data storage device and an execution sequence representative of a sequence in which said temporary storage unit has received said write request, as said sequence information from said other data storage device, said temporary storage unit transfers a write request and data corresponding to the identifier included in said sequence information to said auxiliary storage unit according to a sequence based on the execution sequence included in said sequence information.
  • 17. A data storage device according to claim 14, wherein said temporary storage unit stores an execution sequence included in the sequence information received from said other data storage device, in association with a write request corresponding to an identifier included in said sequence information and the data, and when a preset condition is satisfied, repeats a process of transferring a write request and data to which an execution sequence for performing a next transfer is assigned to said auxiliary storage unit.
  • 18. A data storage device according to claim 14, wherein said temporary storage unit also temporarily stores a write request received from said higher-level devices, and, when said temporary storage unit receives an identifier of said write request as said sequence information from said other data storage device according to a sequence in which the write request has been received from said higher-level devices by said other data storage device, said temporary storage unit transfers a write request and data corresponding to the identifier included in said sequence information to said auxiliary storage unit according to a sequence in which said temporary storage unit has received the sequence information from said other data storage device.
  • 19. A data storage device according to claim 18, wherein said temporary storage unit connects a write request and data corresponding to an identifier included in said sequence information to the trailing end of a predetermined link according to a sequence in which said temporary storage unit has received the sequence information from said other data storage device, stores the write request and data connected to the trailing end of said predetermined link, and when a preset condition is satisfied, repeats a process of transferring a write request and data connected to the leading end of said predetermined link to said auxiliary storage unit, and a process of separating the transferred write request and data from said predetermined link.
  • 20. A method of storing the same data transmitted from a plurality of higher-level devices in a first storage unit and a second storage unit, comprising the steps of: generating sequence information representative of a sequence for storing data successively transmitted from said higher-level devices in said first storage unit; andtransmitting said sequence information from said first storage unit to said second storage unit.
  • 21. A method of storing the same data transmitted from a plurality of higher-level devices in a main storage unit and an auxiliary storage unit, comprising the steps of: receiving the data transmitted from said higher-level devices in said main storage unit and a temporary storage unit disposed at a front stage of said auxiliary storage unit;generating sequence information representative of a sequence for storing data successively transmitted from said higher-level devices in said main storage unit, and transmitting said sequence information from said main storage unit to said temporary storage unit; andtemporarily storing the data transmitted from said higher-level devices in said temporary storage unit, and transferring the temporarily stored data from said temporary storage unit to said auxiliary storage unit according to the sequence based on the sequence information received from said main storage unit.
  • 22. A method according to claim 21, wherein said receiving step comprises the steps of, when a write request for data is transmitted from said higher-level devices, keeping an area for storing the data in said main storage unit and said temporary storage unit, and then transmitting a data request from said main storage unit and said temporary storage unit to said higher-level devices for thereby transmitting the data from said higher-level devices.
  • 23. A method according to claim 21, wherein said transmitting step comprises the steps of generating an identifier of a write request received from said higher-level devices and an execution sequence representative of a sequence in which said write request has been received, as said sequence information, and transmitting said sequence information from said main storage unit to said temporary storage unit; and wherein said transferring step comprises the steps of also temporarily storing the write request received from said higher-level devices in said temporary storage unit, and transferring a write request and data corresponding to an identifier included in the sequence information from said temporary storage unit to said auxiliary storage unit according to a sequence based on the execution sequence included in the sequence information received from said main storage unit.
  • 24. A method according to claim 21, wherein said transferring step comprises the step of storing an execution sequence included in the sequence information received from said main storage unit in said temporary storage unit in association with a write request and data corresponding to an identifier included in the sequence information, and when a preset condition is satisfied, repeating a process of transferring a write request and data to which an execution sequence for performing a next transfer is assigned from said temporary storage unit to said auxiliary storage unit.
  • 25. A method according to claim 21, wherein said transmitting step comprises the step of transmitting an identifier of a write request as said sequence information from said main storage unit to said temporary storage unit according to a sequence in which the write request has been received from said higher-level devices; and wherein said transferring step comprises the steps of also temporarily storing the write request received from said higher-level devices in said temporary storage unit, and transferring a write request and data corresponding to an identifier included in the sequence information from said temporary storage unit to said auxiliary storage unit according to a sequence in which the sequence information has been received from said main storage unit.
  • 26. A method according to claim 25, wherein said transferring step comprises the steps of connecting a write request and data corresponding to an identifier included in said sequence information to the trailing end of a predetermined link according to a sequence in which the sequence information has been received from said main storage unit, storing the write request and data connected to the trailing end of said predetermined link in said temporary storage unit, and when a preset condition is satisfied, repeating a process of transferring a write request and data connected to the leading end of said predetermined link from said temporary storage unit to said auxiliary storage unit, and a process of separating the transferred write request and data from said predetermined link.
  • 27. A computer-readable recording medium storing a data storage program to be executed by a computer serving as a data storage system having a first storage unit and a second storage unit for storing the same data received from a plurality of higher-level devices, wherein said data storage program comprising the steps of: generating sequence information representative of a sequence for storing data successively transmitted from said higher-level devices in said first storage unit; andtransmitting said sequence information from said first storage unit to said second storage unit.
  • 28. A computer-readable recording medium storing a data storage program to be executed by a computer serving as a data storage system having a main storage unit and an auxiliary storage unit for storing the same data received from a plurality of higher-level devices, wherein said data storage program comprising the steps of: receiving the data transmitted from said higher-level devices in said main storage unit and a temporary storage unit disposed at a front stage of said auxiliary storage unit;generating sequence information representative of a sequence for storing data successively transmitted from said higher-level devices in said main storage unit, and transmitting said sequence information from said main storage unit to said temporary storage unit; andtemporarily storing the data transmitted from said higher-level devices in said temporary storage unit, and transferring the temporarily stored data from said temporary storage unit to said auxiliary storage unit according to the sequence based on the sequence information received from said main storage unit.
  • 29. A recording medium according to claim 28, wherein said receiving step comprises the steps of, when a write request for data is transmitted from said higher-level devices, keeping an area for storing the data in said main storage unit and said temporary storage unit, and then transmitting a data request from said main storage unit and said temporary storage unit to said higher-level devices for thereby transmitting the data from said higher-level devices.
  • 30. A recording medium according to claim 28, wherein said transmitting step comprises the steps of generating an identifier of a write request received from said higher-level devices and an execution sequence representative of a sequence in which said write request has been received, as said sequence information, and transmitting said sequence information from said main storage unit to said temporary storage unit; and wherein said transferring step comprises the steps of also temporarily storing the write request received from said higher-level devices in said temporary storage unit, and transferring a write request and data corresponding to an identifier included in the sequence information from said temporary storage unit to said auxiliary storage unit according to a sequence based on the execution sequence included in the sequence information received from said main storage unit.
  • 31. A recording medium according to claim 28, wherein said transferring step comprises the step of storing an execution sequence included in the sequence information received from said main storage unit in said temporary storage unit in association with a write request and data corresponding to an identifier included in the sequence information, and when a preset condition is satisfied, repeating a process of transferring a write request and data to which an execution sequence for performing a next transfer is assigned from said temporary storage unit to said auxiliary storage unit.
  • 32. A recording medium according to claim 28, wherein said transmitting step comprises the step of transmitting an identifier of a write request as said sequence information from said main storage unit to said temporary storage unit according to a sequence in which the write request has been received from said higher-level devices; and wherein said transferring step comprises the steps of also temporarily storing the write request received from said higher-level devices in said temporary storage unit, and transferring a write request and data corresponding to an identifier included in the sequence information from said temporary storage unit to said auxiliary storage unit according to a sequence in which the sequence information has been received from said main storage unit.
  • 33. A recording medium according to claim 32, wherein said transferring step comprises the steps of connecting a write request and data corresponding to an identifier included in said sequence information to the trailing end of a predetermined link according to a sequence in which the sequence information has been received from said main storage unit, storing the write request and data connected to the trailing end of said predetermined link in said temporary storage unit, and when a preset condition is satisfied, repeating a process of transferring a write request and data connected to the leading end of said predetermined link from said temporary storage unit to said auxiliary storage unit, and a process of separating the transferred write request and data from said predetermined link.
Priority Claims (1)
Number Date Country Kind
2006-039219 Feb 2006 JP national