KR100460245B1 - Systems and methods for on-line, real-time data execution - Google Patents

Systems and methods for on-line, real-time data execution Download PDF

Info

Publication number
KR100460245B1
KR100460245B1 KR1019970702900A KR19970702900A KR100460245B1 KR 100460245 B1 KR100460245 B1 KR 100460245B1 KR 1019970702900 A KR1019970702900 A KR 1019970702900A KR 19970702900 A KR19970702900 A KR 19970702900A KR 100460245 B1 KR100460245 B1 KR 100460245B1
Authority
KR
South Korea
Prior art keywords
data
storage device
data storage
replacement
data processing
Prior art date
Application number
KR1019970702900A
Other languages
Korean (ko)
Inventor
유베일 오페크
모쉐 야나이
Original Assignee
이엠씨 코포레이션
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 이엠씨 코포레이션 filed Critical 이엠씨 코포레이션
Priority to KR1019970702900A priority Critical patent/KR100460245B1/en
Application granted granted Critical
Publication of KR100460245B1 publication Critical patent/KR100460245B1/en

Links

Abstract

본 발명의 시스템은 호스트 컴퓨터등의 데이타 처리 장치를 포함한 데이타의 외부원에 사전에 접속된 제1 데이타 기억 시스템, 또는 다수의 호스트 컴퓨터등의 다수의 데이타 처리 장치에 접속될 수 있는 네트

Figure pct00002
을 포함한다. 호스트 컴퓨터 등의 데이타 처리 장치는 데이타 기억 장치로부터 데이타를 판독하기도 하고 또한 데이타 기억 장치에 데이타를 기록하기도 한다. 제1 데이타 기억 장치는 초기에는 현재 데이타 처리 장치에 의해 액세스되어지는 다수의 데이타 소자를 포함한다.The system of the present invention is a first data storage system that is previously connected to an external source of data including a data processing device such as a host computer, or a net that can be connected to a plurality of data processing devices such as a plurality of host computers.
Figure pct00002
It includes. A data processing device such as a host computer reads data from the data storage device and also writes the data to the data storage device. The first data storage device initially includes a number of data elements that are currently accessed by the data processing device.

제1 데이타 기억 장치와 데이타 처리 장치에 접속되어 데이타 처리 장치에 의해 액세스되어지는 데이타 소자를 기억하는 적어도 하나의 제2 데이타 기억 장치가 제공되어 있다. 제2 데이타 기억 장치는 특정 데이타 소자가 제2 데이타 기억장치에 기억되어 있는가를 나타내는 적어도 하나의 표시부를 포함하는 데이타 소자 맵(map)을 포함하는 것이 바람직하다.There is provided at least one second data storage device for storing data elements connected to the first data storage device and the data processing device and accessed by the data processing device. The second data storage device preferably includes a data element map including at least one display unit indicating whether a specific data element is stored in the second data storage device.

Description

온 라인, 실시간의 데이타 이행을 위한 시스템 및 방법Systems and methods for on-line, real-time data transfer

본 발명은 데이타 기억 시스템(data storage system)에 관한 것으로, 보다 상세하게는 기존의 데이타 기억 서브시스템의 온-라인 대체(on-line replacement)를 위한 시스템 및 방법에 관한 것이다.The present invention relates to data storage systems, and more particularly to systems and methods for on-line replacement of existing data storage subsystems.

은행, 항공 회사 및 보험 회사등의 영업점(businesse) 및 조합(organizations) 데이타 처리 센터들은 ,예를들어, 데이타 기억 장치에 기억되어 있는 대량의 데이타를 액세스하여 처리하는 능력에 거의 의존한다. 전형적으로 대형 데이타 기억 시스템의 일부를 형성하는 하나 이상의 데이타 기억 장치에 기억되어 있는 데이타 및 다른 정보를 통상 데이타베이스라 칭한다.Business and organizational data processing centers, such as banks, airlines and insurance companies, for example, rely heavily on the ability to access and process large amounts of data stored in data storage, for example. Typically, data and other information stored in one or more data storage devices that form part of a large data storage system are commonly referred to as a database.

데이타베이스는 항상 거의 "개방"되어 있어 상시 "사용가능"하며, 접속된 데이타 처리 시스템, 중앙 처리 장치(CPU), 또는 호스트 메인프레임 컴퓨터에 의해 액세스된다. 데이타를 액세스할 수 없다면 이러한 영업 및 조합의 경우에는 커다란 재해가 아니면 위기 상황이 되어 통상적으로 영업점 및 조합은 일시적으로 운영을 중단할 수 밖에 없게 될 것이다.The database is almost always "open" and always "usable" and is accessed by a connected data processing system, central processing unit (CPU), or host mainframe computer. Without access to the data, these sales and associations would be in crisis unless they were a catastrophic disaster, and typically the stores and associations would be forced to shut down temporarily.

정상적인 운영 동안, 이들 영업점 및 조합들은 그들의 데이타 기억 장치 및 데이타 기억 시스템을 업그레이딩(upgrade)시켜야 한다. 이러한 업그레이딩에는 종종 기존의 물리적인 시스템에 데이타 기억 용량을 부가시키는 것만이 포함되지만, 가끔씩은 완전히 독립적이며 새로운 데이타 기억 시스템을 부가시키는 업그레이딩도 필요로 된다. 이러한 경우, 기존의 데이타 기억 장치 및 데이타 기억 시스템에 기억되어 있는 기존의 데이타를 테이프 드라이브등의 별도 장치에 백업시켜야 하며, 새로운 시스템을 설치해야 하며, 데이타를 백업 장치에서 새로운 데이타 기억 시스템으로 카피해야 한다. 이러한 활동 작업을 달성하는 데는 전형적으로 적어도 2일이 걸린다. 만인 이러한 전환 작업이 2일 이상이 걸리거나 영업점 및 조합이 운영 불가능한 2일을 견뎌낼 수 없다면, 그들의 데이타 기억 시스템을 업그레이딩할 필요성 및 욕구는 극복할 수 없는 문제에 부딪힐 수 있게 된다.During normal operation, these sales offices and combinations must upgrade their data storage devices and data storage systems. This upgrade often involves only adding data storage capacity to an existing physical system, but sometimes also upgrading to add a new data storage system that is completely independent. In this case, the existing data stored in the existing data storage device and data storage system should be backed up to a separate device such as a tape drive, a new system must be installed, and the data must be copied from the backup device to the new data storage system. do. It takes typically at least two days to accomplish this active task. If these transitions take more than two days or the branches and combinations can't withstand two days of inoperability, the need and desire to upgrade their data storage systems can be insurmountable.

동일한 형의 두 데이타 기억 시스템인 제1 시스템과 제2 시스템을 서로 접속시켜, 이들 데이타 기억 시스템 자신들이 제1 시스템에서 제2시스템으로 호스트 데이타 처리 시스템의 방해를 받지않거나 또는 호스트 데이타 처리 시스템에 간섭을 일으키지 않으면서 데이타를 카피할 수 있는 종래 기술의 데이타 카피 방법 및 시스템이 제안되어 있다. 예를 들어, 본원에 참조가 되는 발명의 명칭이 "REMOTE DATA MIRRORING"인 미국 특허원 제08/052,039호에서는 매사츄세츠주, 흡킹턴 소재의 EMC 코포레이션으로부터 입수가능한 Symmetrix 5500 데이타 기억 시스템으로 구현될 수 있는 원격 데이타 카핑 설비 특징에 대해 기재되어 있다.By connecting two data storage systems of the same type, a first system and a second system, these data storage systems themselves are not disturbed by the host data processing system from the first system to the second system or interfere with the host data processing system. Prior art data copying methods and systems have been proposed which can copy data without causing them. For example, U.S. Patent Application Serial No. 08 / 052,039, entitled "REMOTE DATA MIRRORING", herein incorporated by reference, may be implemented with a Symmetrix 5500 data storage system available from EMC Corporation, Muckington, Massachusetts. Remote data copying facility features that can be described are described.

이러한 데이타 카핑 시스템 및 방법이 가능하더라도, 대부분의 경우에는, 제1 및 제2 데이타 기억 시스템은 동일한 형이 아니거나 또는 호스트에 의해 지원되지 않고 데이타베이스가 개방인 동안 두 데이타 기억 시스템 간에서 이러한 "백그라운드" 데이타 이행이 발생되는 형이다. 또한, 이러한 종래 기술 데이타 기억 시스템에서도, 데이타베이스가 개방인 동안 "백그라운드" 타스크로서 데이타를 이행시키는 것은 데이타가 호스트나 또는 중앙 처리 장치에 의해 액세스될 때 항상 변화하므로 따라서 이전의 시스템이 호스트에 접속된 상태로 되어 있을 경우에는 항상 이전의 데이타 기억 시스템에 기억되어 있던 데이타와 새로운 데이타 기억 시스템으로 카피되어진 데이타와 불일치가 있을 수 있다는 사실을 고려하지 않고 있다. 이러한 경우, 새로운 데이타 기억 시스템은 결코 완전히 "캐치 업(catch up)"할 수 없어 이전의 데이타 기억 시스템과 완전히 동기될 수 있다.Although such data capping systems and methods are possible, in most cases, the first and second data storage systems are not of the same type or are not supported by the host and such "between" two data storage systems while the database is open. Background "data type. In addition, even in this prior art data storage system, transitioning data as a "background" task while the database is open always changes when the data is accessed by the host or the central processing unit, thus allowing the previous system to connect to the host. In this case, it is not considered that there may always be a mismatch between the data stored in the old data storage system and the data copied to the new data storage system. In this case, the new data storage system can never completely "catch up" and can be completely synchronized with the previous data storage system.

따라서, 데이타베이스가 제1 데이타 기억 시스템과 제2 데이타 기억 시스템간에서의 데이타의 이행을 데이타베이스가 개방인 동안, 그리고 실시간이며 호스트 또는 데이타 처리 장치에 완전히 투명한 이행을 행할 수 있는 시스템 및 방법이 요구되어 지고 있다.Thus, there is a system and method that allows the database to perform the transition of data between the first data storage system and the second data storage system while the database is open and in real time and completely transparent to the host or data processing device. It is required.

본 발명의 상기 및 기타 특징 및 장점들은 첨부된 도면을 참조하면서 이하의 상세한 기술로부터 용이하게 이해할 수 있을 것이다.The above and other features and advantages of the present invention will be readily understood from the following detailed description with reference to the accompanying drawings.

도 1은 본 발명에 따라 제1 데이타 기억 시스템과 제2 데이타 기억 시스템 사이에 온-라인이며, 투명한 데이타 이행을 제공하는 시스템 및 방법을 달성할 수 있는 실예의 데이타 처리 및 기억 시스템의 개략도.1 is a schematic diagram of an exemplary data processing and storage system that can achieve systems and methods that are on-line between a first data storage system and a second data storage system and provide transparent data transitions in accordance with the present invention.

도 2는 데이타 소자 맵 또는 테이블의 개략도.2 is a schematic representation of a data element map or table.

도 3은 본 발명의 방법에 따라 제1 데이타 기억 시스템과 제2 데이타 기억 시스템 사이에 온-라인이며, 투명한 데이타 이행을 제공하는 단계들을 개략으로 예시한 흐름도.3 is a flow diagram schematically illustrating the steps of providing on-line, transparent data transition between a first data storage system and a second data storage system in accordance with the method of the present invention.

도 4는 제2 데이타 기억 장치가 호스트 또는 데이타 처리 장치로부터의 데이타 요청을 비지 처리하지 않을 경우 데이타 기억 장치 또는 호스트 시스템의 중재없이 제1 데이타 기억 시스템과 제2 데이타 기억 시스템 간에 데이타 이행을 제공하는 단계들을 예시하는 흐름도.4 provides data transfer between a first data storage system and a second data storage system without intervention of the data storage device or host system when the second data storage device does not busy process data requests from the host or data processing device. Flowchart illustrating the steps.

본 발명은 두 데이타 기억 장치 간에 온 라인이며, 실시간이며, 투명한 데이타 이행을 제공하는 시스템 및 방법을 특징으로 한다.The present invention features systems and methods that provide on-line, real-time, transparent data transition between two data storage devices.

본 발명의 시스템은 호스트 컴퓨터등의 데이타 처리 장치를 포함한 데이타의 외부원에 사전에 접속된 제1 데이타 기억 시스템, 또는 다수의 호스트 컴퓨터등의 다수의 데이타 처리 장치에 접속될 수 있는 네트

Figure pct00001
을 포함한다. 호스트 컴퓨터 등의 데이타 처리 장치는 데이타 기억 장치로부터 데이타를 판독하기도 하고 또한 데이타 기억 장치에 데이타를 기록하기도 한다. 제1 데이타 기억 장치는 초기에는 현재 데이타 처리 장치에 의해 액세스되어지는 다수의 데이타 소자를 포함한다.The system of the present invention is a first data storage system that is previously connected to an external source of data including a data processing device such as a host computer, or a net that can be connected to a plurality of data processing devices such as a plurality of host computers.
Figure pct00001
It includes. A data processing device such as a host computer reads data from the data storage device and also writes the data to the data storage device. The first data storage device initially includes a number of data elements that are currently accessed by the data processing device.

제1 데이타 기억 장치와 데이타 처리 장치에 접속되어 데이타 처리 장치에 의해 액세스되어지는 데이타 소자를 기억하는 적어도 하나의 제2 데이타 기억 장치가 제공되어 있다. 제2 데이타 기억 장치는 특정 데이타 소자가 제2 데이타 기억 장치에 기억되어 있는가를 나타내는 적어도 하나의 표시부를 포함하는 데이타 소자 맵(map)을 포함하는 것이 바람직하다.There is provided at least one second data storage device for storing data elements connected to the first data storage device and the data processing device and accessed by the data processing device. The second data storage device preferably includes a data element map including at least one display unit indicating whether a specific data element is stored in the second data storage device.

일 실시예의 경우, 제2 데이타 기억 시스템은 외부원과 관계없이 제1 데이타 기억 시스템에서 제2 데이타 기억 시스템으로의 데이타의 이행을 독립적으로 행한다. 다른 실시예의 경우, 제2 데이타 기억 시스템은 외부원에 응답하여 제1 데이타 기억 시스템에서 제2 데이타 기억 시스템으로의 데이타의 이행을 행한다.In one embodiment, the second data storage system independently performs the transition of data from the first data storage system to the second data storage system regardless of an external source. In another embodiment, the second data storage system transfers data from the first data storage system to the second data storage system in response to an external source.

또 다른 실시예의 경우, 데이타 처리 장치는 데이타 판독 요청(판독 데이타 동작의 경우), 또는 데이타 기록 코맨드(기록 동작의 경우)를 발생시킨다. 데이타 판독 요청은 제2 데이타 기억 장치에서 수신된다. 판독 동작의 경우, 제2 데이타 기억 장치는 데이타 맵 또는 테이블을 검사하여 데이타가 제2 데이타 기억 장치로 이행되어 기억되었는지를 판단한다. 만일 데이타가 제2 데이타 기억 장치에 기억되어진 것으로 판단되면, 데이타는 요청 장치로 이용될 수 있다.In another embodiment, the data processing apparatus issues a data read request (in the case of a read data operation) or a data write command (in the case of a write operation). The data read request is received at the second data storage device. In the case of a read operation, the second data storage device checks the data map or table to determine whether the data has been transferred to the second data storage device and stored. If it is determined that the data is stored in the second data storage device, the data can be used as the requesting device.

만일 데이타가 제2 데이타 기억 장치에 기억되지 않은 것으로 판단되면, 제2 데이타 기억 장치는 데이타 요청을 판독 데이타 코맨드의 형으로 제1 데이타 기억장치에 대해 발생하고, 데이타를 획득하여 데이타를 요청 장치에 이용가능하도록 만든다. 제1 데이타 기억 장치로부터 수신된 데이타 또한 제2 데이타 기억 장치에 기록되어 데이타 맵이 갱신된다.If it is determined that the data is not stored in the second data storage device, the second data storage device issues a data request to the first data storage device in the form of a read data command, obtains the data and sends the data to the requesting device. Make it available. Data received from the first data storage device is also written to the second data storage device to update the data map.

기록 동작의 경우, 일 실시예에서는 데이타 처리 장치로부터 수신된 데이타가 이전의 즉 제1 데이타 기억 장치로부터 아직 카피 또는 "이행"되지 않은 데이타 기억 시스템 상의 영역(location: 이행에 필요로 되는 데이타 맵에 마크된 데이타 기억 영역)용으로 예정되어 있으며, 데이타가 전체(full) 또는 완전 데이타 소자가 아닌 경우(예를들어, 데이타의 "전 트랙"이 아닌 경우), 기록 동작은 일시 중단되며, 제1 데이타 기억 장치 상의 대응하는 영역으로부터의 "완전" 데이타 소자가 제2 데이타 기억 장치 상의 캐쉬 메모리로 판독 입력되고, 인-캐쉬(in-cache) 플래그 또는 비트는 셋트되며, 이 데이타 기억 영역은 "기록 계류(write pending)"로서 마크 또는 식별되며, 데이타가 제2 데이타 기억 시스템의 캐쉬 메모리에 현재 기억되어 있는 데이타의 "전 트랙"에 기록되는 것을 의미하는 기록 동작이 재개되는 것으로 고려한다. 다른 실시예의 경우, 이전의 데이타는 기록될 새로운 데이타가 완전한 데이타 소자(예를들어, "전 트랙")인 것으로 알려져 있으면 제1의 즉 이전의 데이타 처리 장치로부터 검색될 수 있다.In the case of a write operation, in one embodiment, the data received from the data processing device is stored in a data map that is required for a location on the data storage system that has not yet been copied or "migrated" from the previous data storage device. For the marked data storage area), and if the data is not a full or complete data element (e.g., not a "full track" of data), the write operation is suspended and the first A "complete" data element from the corresponding area on the data storage device is read into the cache memory on the second data storage device, an in-cache flag or bit is set, and this data storage area is "written". Marked or identified as "write pending", the data is written to the "all tracks" of data currently stored in the cache memory of the second data storage system. It is considered to be a write operation, which means that resumes. In other embodiments, the old data can be retrieved from the first, or previous, data processing device if the new data to be written is known to be a complete data element (eg, "previous track").

제2 데이타 기억 장치가 호스트 컴퓨터 등의 접속된 데이타 처리 장치로부터의 데이타 판독 및 기록 요청들을 비지(busy) 처리하지 않으면, 제2 데이타 기억 시스템은 그 데이타 맵 또는 테이블을 검사하여 어느 데이타 소자가 제1 데이타 기억 장치에 상주하며 제2 데이타 기억 장치에는 기억되어 있지 않는가를 판단한다. 다음에 제2 데이타 기억 장치는 하나이상의 제1 데이타 기억 장치에 대해 데이타 소자를 요청하는 판독 요청을 발생하고, 데이타를 수신하고, 이 데이타를 제2 데이타 기억 장치에 기록하고 제2 데이타 기억 장치에 현재 데이타가 기억되어 있는 것을 나타내도록 데이타 맵/테이블을 갱신시킨다.If the second data storage device does not busy processing data read and write requests from a connected data processing device such as a host computer, the second data storage system examines the data map or table so that any data element may be removed. It is determined whether the data resides in the first data storage device and not in the second data storage device. The second data storage device then generates a read request requesting a data element for the one or more first data storage devices, receives the data, writes the data to the second data storage device, and writes the data to the second data storage device. Update the data map / table to indicate that the current data is stored.

이와 같이, 제1 데이타 기억 장치와 제2 데이타 기억 장치 간에서 시간이 걸리는 오프 라인 데이타 이행을 행할 필요가 없고,오히려 데이타 기억 장치가 온 라인이며,호스트 또는 다른 요청 장치에 이용되고 있으며, 접속된 데이타 처리 장치에 완전히 투명하더라도, 데이타 카핑 및 이행을 실시간으로 발생시킬 수 있다.In this way, it is not necessary to perform time-consuming off-line data transition between the first data storage device and the second data storage device, but rather, the data storage device is on-line and used for a host or other requesting device. Even if completely transparent to the data processing device, data capping and transition can occur in real time.

바람직한 실시예에 있어서는, 제2 데이타 기억 장치는 제2 데이타 기억 장치의 데이타 소자 맵 또는 테이블에 데이타를 제공하는 컴퓨터 등의 데이타 기억 시스템 구성 장치를 포함하거나 또는 이러한 장치에 접속되어, 제2 데이타 기억 장치는 제1 데이타 기억 장치와 일반적으로 유사하거나 또는 동일한 방식으로 적어도 부분적으로 구성될 수 있다.In a preferred embodiment, the second data storage device comprises a data storage system configuration device such as a computer that provides data to a data element map or table of the second data storage device, or is connected to such a device, and the second data storage device is connected to the second data storage device. The device may be at least partially configured in a manner generally similar or identical to the first data storage device.

또한, 바람직한 실시예에 있어서는, 제2 및 제1 데이타 기억 장치는 "ESCON" 통신 프로토콜을 사용하는 광 섬유 링크 등의 고속 통신 링크에 의해 접속되는 것으로 고려된다. 바람직한 실시예에 있어서는, 또한 데이타 기억 장치는 디스크 드라이브 등의 다수의 기억 장치를 포함한다. 이러한 경우, 데이타 소자는 하나 이상의 디스크 드라이브 볼륨(volumn), 트랙(track) 또는 레코드(record)를 포함할 수 있다.Further, in the preferred embodiment, the second and first data storage devices are considered to be connected by a high speed communication link such as an optical fiber link using an "ESCON" communication protocol. In a preferred embodiment, the data storage also includes a plurality of storage devices such as a disk drive. In this case, the data element may comprise one or more disk drive volumes, tracks or records.

본 발명은 두 데이타 기억 시스템, 이들 중 어느 하나는 호스트 컴퓨터 등의 데이타 처리 장치에 접속되어 있음, 사이에 온-라인이며, 실시간이며, 투명한 데이타 이행을 제공하는 시스템 및 방법을 특징으로 한다.The present invention features systems and methods that provide two data storage systems, one of which is connected to a data processing device such as a host computer, which is on-line, real time, and transparent.

본 발명을 실행 또는 구현할 수 있는 도 1의 실례 시스템(10)은 중앙 처리장치 또는 다른 유사한 데이타 처리 장치(12)를 포함한다. 데이타 처리 장치(12)는 초기에는 제1 데이타 기억 시스템(14)에 접속된다. 대부분의 경우, 제1 데이타 기억 시스템(14)은 데이타 처리 장치(12)의 요구를 처리할 정도로 충분히 대형이 아니거나, 또는 어떠한 이유로 인해 제2 데이타 기억 시스템(16)의 부가에 의해 완전히 또는 부분적으로 대체되거나 확장되어질 이전 데이타 기억 시스템이다.The example system 10 of FIG. 1, which may implement or implement the present invention, includes a central processing unit or other similar data processing unit 12. The data processing apparatus 12 is initially connected to the first data storage system 14. In most cases, the first data storage system 14 is not large enough to handle the needs of the data processing device 12, or for some reason by the addition of the second data storage system 16 completely or partially. This is the old data storage system to be replaced or expanded.

제1 데이타 기억 시스템(14)은 초기에는 데이타 통신 링크(19)에 의해 데이타 처리 장치(12)에 접속된다. 제2 데이타 기억 시스템(16)은 하나 이상의 데이타 통신로(20a, 및/또는 20b)에 의해 제1 데이타 기억 시스템(14)에 접속된다. 데이타 통신로(20a-20b)의 예로서는 본 기술 분야의 기술자에게는 잘 알려져 있는 IBM "버스 및 태그" 코넥션과, ESCON 데이타 코넥션등의 고속인 광 섬유 코넥션이 있다.The first data storage system 14 is initially connected to the data processing apparatus 12 by a data communication link 19. The second data storage system 16 is connected to the first data storage system 14 by one or more data communication paths 20a and / or 20b. Examples of data communication paths 20a-20b include IBM " bus and tag " connections, which are well known to those skilled in the art, and high speed fiber optic connections, such as ESCON data connections.

제1 데이타 기억 시스템(14) 및 제2 데이타 기억 시스템(16)이 비호환성 데이타 통신 프로토콜 또는 인터페이스를 가지면, 필요에 따라 하나 이상의 데이타 통신로(20a-20b) 상에 프로토콜 변환기(22)를 제공할 수 있으며, 이것은 본 기술 분야에서는 잘 알려져 있는 기술이다.If the first data storage system 14 and the second data storage system 16 have incompatible data communication protocols or interfaces, provide protocol converters 22 on one or more data communication paths 20a-20b as necessary. This is a technique well known in the art.

제2 데이타 기억 시스템(16)은 적어도 제2 데이타 기억 시스템(16) 상에 기억되어 있는 데이타 소자의 데이타 맵 또는 테이블(24)을 포함한다. 데이타 맵 또는 테이블은 제2 데이타 기억 시스템(16)의 설치(셋-업) 또는 구성 동안 설정되고 제2 데이타 기억 시스템(16)의 특정 구성에 종속된다.The second data storage system 16 includes at least a data map or table 24 of data elements stored on the second data storage system 16. The data map or table is set up during installation (set-up) or configuration of the second data storage system 16 and depends on the specific configuration of the second data storage system 16.

바람직하기로는, 데이타 맵 또는 테이블(24)은 또한 제1 데이타 기억 시스템(14)에 기억되어 있는 데이타 소자에 대한 정보를 포함하며, 이러한 데이타 맵 또는 테이블(24)의 사용에 대해서는 이하에서 상세히 설명하기로 한다.Preferably, the data map or table 24 also contains information about data elements stored in the first data storage system 14, the use of which data map or table 24 will be described in detail below. Let's do it.

제2 데이타 기억 시스템(16)은 전형적으로 또는 바람직하게는 컴퓨터 등의 데이타 기억 시스템 구성 장치(26)에 접속되어 사용자는 제2 데이타 기억 시스템(16) 및 데이타 맵 또는 테이블(24)을 사용자의 희망에 따라 구성할 수가 있다. 바람직한 실시예에 있어서는, 제2 데이타 기억 시스템(16)은 논리 장치수, 기억 크기, 기억 시스템 타입(예를들어, 3380/3390) 등에 대해 제1 데이타 기억 시스템(14)의 구성과 적어도 부분적으로 동일하게 구성된다.The second data storage system 16 is typically or preferably connected to a data storage system configuration device 26, such as a computer, so that the user can access the second data storage system 16 and the data map or table 24 of the user. You can configure according to your wishes. In a preferred embodiment, the second data storage system 16 is at least partially configured with the configuration of the first data storage system 14 in terms of the number of logical units, the size of the storage, the type of storage system (e.g., 3380/3390), and the like. Same configuration.

바람직한 실시예에 있어서는, 데이타 기억 시스템 구성 장치(26)에 의해 사용자는 제2 데이타 기억 시스템(16) 상의 데이타 기억 영역 중 적어도 일부가 제1 데이타 기억 시스템(14) 상의 데이타 소자 기억 어드레스에 대응하는 어드레스 또는 데이타 소자 기억 영역을 포함하도록 구성할 수 있다.In a preferred embodiment, the data storage system configuration device 26 allows a user to have at least some of the data storage areas on the second data storage system 16 correspond to data element storage addresses on the first data storage system 14. It can be configured to include an address or data element storage area.

바람직한 실시예에 있어서는, 제2 데이타 기억 시스템(16)은 대다수의 고정 블럭 아카텍쳐 포맷된 디스크 드라이브(17a 내지 17n)를 사용하며 호스트 컴퓨터 또는 다른 데이타 처리 장치(12)에 의해 액세스되어질 대략의 데이타를 기억하는 데 적합한 디스크 드라이브 데이타 기억 시스템이다. 예시된 제2 데이타 기억 시스템(16)은 또한 전형적으로 제2 데이타 기억 시스템(16)과 호스트 또는 다른 데이타 처리 장치(12) 간에서의 데이타 판독 및 기록 요청을 보유 또는 완충하도록 기능하는 메모리(18)를 포함한다. 이러한 데이타 기억 시스템은 본 기술 분야의 기술자들에게는 잘 알려져 있으며, 예를들어, 본 명세서에 참고가 되는 매사츄세츠주 흡킹턴 소재의 EMC 코포레이션으로부터 구입 가능한 Symmetrix 5500 계열 데이타 기억 시스템을 포함한다.In a preferred embodiment, the second data storage system 16 uses a large number of fixed block architecture formatted disk drives 17a through 17n and approximate data to be accessed by the host computer or other data processing device 12. It is a disk drive data storage system that is suitable for storing data. The illustrated second data storage system 16 also typically has a memory 18 that functions to hold or buffer data read and write requests between the second data storage system 16 and the host or other data processing device 12. ). Such data storage systems are well known to those skilled in the art and include, for example, Symmetrix 5500 series data storage systems, available from EMC Corporation, Muckington, Mass., Herein incorporated by reference.

초기에는, 제2 즉 새로운 데이타 기억 시스템(16)은 하나 이상의 데이타 통신로(20a-20b)에 의해 제1 데이타 기억 시스템(14)에 접속된다. 제2 데이타 기억 시스템(16)이 시스템 구성 장치(26)나 다른 유사 또는 등가 장치를 사용하거나, 또는 호스트(12)에 의해 구성된 후에, 제2 데이타 기억 시스템(16)은 데이타 통신로(28)에 의해 호스트 컴퓨터(12) 또는 다른 데이타 처리 장치에 접속된다.Initially, the second or new data storage system 16 is connected to the first data storage system 14 by one or more data communication paths 20a-20b. After the second data storage system 16 uses the system configuration device 26 or other similar or equivalent device, or is configured by the host 12, the second data storage system 16 may return to the data communication path 28. Is connected to the host computer 12 or other data processing apparatus.

바람직하게는, 데이타 통신로(28)는 광 섬유 "ESCON" 통신로 등의 고속의 통신로이지만, 본 발명의 범주 내에서는 임의의 다른 모든 통신로를 포함하는 것으로 고려된다. 제2 데이타 기억 시스템(16)과 호스트 또는 다른 데이타 처리 장치(12) 사이에서 데이타 통신로(28)가 접속되기 직전에 호스트와 제1 데이타 기억 시스템(14)사이에 이미 존재하는 데이타 통신로(18)는 화살표(30)로 도시된 바와 같이 분리 또는 서버(sever)된다.Preferably, the data communication path 28 is a high speed communication path such as an optical fiber "ESCON" communication path, but is considered to include any other communication path within the scope of the present invention. The data communication path already existing between the host and the first data storage system 14 immediately before the data communication path 28 is connected between the second data storage system 16 and the host or other data processing apparatus 12. 18 is separated or severed as shown by arrow 30.

따라서, 제1 데이타 기억 시스템(14) 상의 데이타를 백업하여 제1 데이타 기억 시스템(14)을 제2 데이타 기억 시스템(16)으로 대체시킨 후 새로운 데이타 기억시스템(16), 또는 초기의 "제1" 데이타 기억 시스템에 접속되어 있는 호스트 상으로 모든 데이타를 카피하기 위해서는 호스트 또는 다른 데이타 처리 장치(12)를 수일간 씩이나 오프 라인을 취해야 하는 종래 기술에 비해, 본 발명에서는 단지 호스트 컴퓨터 또는 다른 데이타 처리 장치(12)를 비교적 단기간 동안 오프 라인 또는 서비스 중단시키는 한편(절차는 통상 약 10분 또는 그 미만이 걸림), 제1 데이타 신호 경로(19)는 서버 또는 분리되고 제2,즉 새로운 데이타 기억 시스템(16)과 호스트 컴퓨터 또는 다른 데이타 처리 장치(12)사이에 제2 데이타 신호 경로(28)가 설정된다.Therefore, the data on the first data storage system 14 is backed up to replace the first data storage system 14 with the second data storage system 16, and then the new data storage system 16, or the initial "first". Compared to the prior art in which the host or other data processing apparatus 12 has to be taken offline for several days in order to copy all data onto a host connected to the data storage system, the present invention merely provides a host computer or other data. While the processing device 12 is offline or out of service for a relatively short period of time (the procedure typically takes about 10 minutes or less), the first data signal path 19 is either server or separate and a second, i.e., new, data store. A second data signal path 28 is established between the system 16 and the host computer or other data processing device 12.

따라서, 제2 데이타 기억 시스템(16)이 호스트 또는 다른 데이타 처리 장치(12)에 접속 되어진 후, 호스트 또는 다른 데이타 처리 장치(12)가 "그" 데이타 기억 시스템으로부터 데이타를 판독하거나 "그" 데이타 기억 시스템에 데이타를 기록하는 요청을 발생할 때마다, 제2 데이타 기억 시스템(16)에 의해 요청이 수신된다. 이전에 설정된 데이타 맵 또는 테이블(24)로부터 나온 비트 또는 플래그를 사용하면, 제 2 데이타 기억 시스템(16)은 데이타 맵 또는 테이블(24)을 조사함으로써 (판독 동작의 경우에) 요청된 데이타가 제1 데이타 기억 시스템(14) 또는 제2 데이타 기억 시스템(16)에 기억되는지의 여부를 판단한다.Thus, after the second data storage system 16 is connected to the host or other data processing device 12, the host or other data processing device 12 reads data from the "its" data storage system or "its" data. Each time a request for writing data to the storage system occurs, the request is received by the second data storage system 16. Using a bit or flag from a previously set data map or table 24, the second data storage system 16 examines the data map or table 24 to remove the requested data (in the case of a read operation). It is determined whether the data is stored in the first data storage system 14 or the second data storage system 16.

이러한 계층적인 데이타 맵 또는 테이블(24)에 대해서는 본 발명의 출원인에게 양도되었으며 본 명세서에 참조가 되는 미국 특허 제5,206,939 및 5,381,539호에서 상세히 기재되어 있다.Such hierarchical data maps or tables 24 are described in detail in US Pat. Nos. 5,206,939 and 5,381,539, assigned to the applicant of the present invention and incorporated herein by reference.

데이타가 제2 데이타 기억 시스템(16)에 이미 기억되어 있다면, 제2 데이타 기억 시스템(16)은 본 기술 분야에서 공지되어 있는 바와 같이, 데이타(아마도 캐시 메모리(18)에 일시적으로 기억되어 있는 데이타)를 검색하여 이 데이타를 호스트 또는 다른 데이타 처리 장치(12)에 이용가능하도록 하게 만든다.If the data is already stored in the second data storage system 16, the second data storage system 16 may be temporarily stored in the data (possibly stored in the cache memory 18, as is known in the art). ) To make this data available to the host or other data processing device 12.

요청된 데이타가 제2 데이타 기억 시스템(16)에 기억되어 있지 않으면, 제2 데이타 기억 시스템(16)의 채널 또는 실시간 데이타 처리 프로세스(25)는 제1 데이타 기억 시스템(14)에 고유하거나 또는 공지되어 있는 방식 및 포맷으로 제1 데이타 기억 시스템(14)에 대해 판독 데이타 요청(예를들어, 표준방식의 IBM 판독 코맨드)을 발생시킨다. 채널 또는 실시간 데이타 처리 프로세스(25)는 바람직한 실시예에 있어서는, 호스트 또는 CPU와의 제2 데이타 기억 시스템 인터페이스로부터 하나 이상의 코맨드를 수신하고, 이들 코맨드를 번역하여 제1 데이타 기억 시스템에 의해 동작될 수 있는 하니 이상의 대응하는 코맨드를 발생시키는 일련의 코맨드 또는 명령어를 포함하는 소프트웨어 프로그램이다. 이러한 소프트웨어 "번역기" 타입은 본 기술 분야에서는 공지되어 있다.If the requested data is not stored in the second data storage system 16, the channel or real-time data processing process 25 of the second data storage system 16 is unique or known to the first data storage system 14. A read data request (e.g., an IBM read command in a standard manner) is issued to the first data storage system 14 in a predetermined manner and format. The channel or real-time data processing process 25 may, in a preferred embodiment, receive one or more commands from a second data storage system interface with a host or CPU, translate these commands to be operated by the first data storage system. A software program includes a series of commands or instructions that generate more than one corresponding command. Such software "translator" types are known in the art.

다음에 제1 데이타 기억 시스템(14)은 요청된 데이타를 검색하여 제2 데이타 기억 시스템(16)에 제공한다. 이후에 제2 데이타 기억 시스템(16)은 이 데이타가 데이타를 요청한 호스트 또는 다른 데이타 처리 장치(12)에 이용가능하도록 만든다.The first data storage system 14 then retrieves the requested data and provides it to the second data storage system 16. The second data storage system 16 then makes this data available to the host or other data processing device 12 that requested the data.

제2 데이타 기억 시스템(16)은 현재 데이타의 카피를 갖고 있으므로, 제2 데이타 기억 시스템(16)에 데이타가 기록되어 데이타가 제2 데이타 기억 시스템(16)으로 이행된 것을 나타내도록 적당한 데이타 맵 또는 테이블(24)의 플래그 또는 비트를 갱신시킴으로써, 다음 번에 동일한 데이타 소자가 요청되면 제2 데이타 기억 시스템(16)은 이미 시스템에 데이타를 기억하고 있으므로 제1 데이타 기억 시스템으로부터 데이타를 요청하지 않을 것이다.Since the second data storage system 16 has a copy of the current data, a data map suitable for indicating that data has been written to the second data storage system 16 and that the data has been transferred to the second data storage system 16, or By updating the flags or bits in the table 24, the next time the same data element is requested, the second data storage system 16 will not request data from the first data storage system since it has already stored data in the system. .

또한, 이하에서 상술될 바와 같이, 제2 데이타 기억 시스템(16)은 "백그라운드" 데이타 이행 수순 또는 프로세스(27)를 행할 수 있다. "백그라운드" 데이타 이행 수순 또는 프로세스(27)는 바람직한 실시예에 있어서는, 제2 데이타 기억 시스템(16)이 호스트 또는 다른 데이타 처리 장치(12)로부터의 데이타 입력/출력 요청을 비지 처리하지 않을 때마다, 제2 데이타 기억 시스템(16)의 이행 프로세스(27)가 제1 데이타 기억 시스템(14)의 데이타 맵 또는 테이블(24)의 지정된 플래그 또는 비트를 판독하여 제1 데이타 기억 시스템(14)의 어느 데이타가 카피되어 있지 않은지를 판단하여, 호스트에 완전하게 투명하게 그리고 종종 호스트 또는 다른 데이타 처리 장치(12)에 의해 데이타에 대한 액세스 능력을 완전히 유지하면서 호스트 또는 CPU(12)로부터의 요청에 응답하여 제1 데이타 기억 시스템(14)으로부터의 데이타를 검색할 수 있는 채널 프로세스(25)와 병렬로 제1 데이타 기억 시스템(14)에서 제2 데이타 기억 시스템(16)으로 데이타를 카피 또는 "이행"시키는 데이타 이행을 조정하고, 모니터하여 제어하는 일련의 명령어를 포함한 소프트웨어 프로그램이다.Further, as will be described in detail below, the second data storage system 16 may perform a "background" data transition procedure or process 27. The "background" data transition procedure or process 27, in the preferred embodiment, whenever the second data storage system 16 does not busy processing data input / output requests from the host or other data processing device 12. Then, the transition process 27 of the second data storage system 16 reads the designated flag or bit of the data map or the table 24 of the first data storage system 14 so that any of the first data storage systems 14 can be read. Determining if data is not copied and responding to requests from the host or CPU 12 completely transparent to the host and often maintaining full access to the data by the host or other data processing device 12. In the first data storage system 14, a second data storage system may be used in parallel with the channel process 25 capable of retrieving data from the first data storage system 14. Another storage system 16 in a data copy or "implementation" for adjusting the data transition, and a software program including a sequence of instructions to monitor and control.

일례의 데이타 맵 또는 테이블(24)을 도 2에서 상세히 도시하고 있다. 바람직한 실시예에 있어서는, 데이타 맵 또는 테이블(24)은 계층 방식으로 구성된다. 예를들어, 데이타 기억 시스템이 디스크 드라이브(17a 내지 17n) 등의 다수의 장기간 데이타 기억 장치를 포함하며, 각 디스크 드라이브는 하나 이상의 논리 "볼륨"으로 분할되며 각 볼륨은 다수의 디스크 드라이브 트랙을 포함하는 바람직한 실시예에 있어서는, 데이타 맵 또는 테이블(24)은 우선 디스크 드라이브 등의 각 물리 및/또는 논리 장치 엔트리(50)를 가질 것이다.An example data map or table 24 is shown in detail in FIG. In a preferred embodiment, the data map or table 24 is organized in a hierarchical manner. For example, a data storage system includes a number of long term data storage devices, such as disk drives 17a through 17n, each disk drive being divided into one or more logical "volumes", each volume comprising a number of disk drive tracks. In a preferred embodiment, the data map or table 24 will first have each physical and / or logical device entry 50, such as a disk drive.

장치 엔트리(50)에는 제1 논리 볼륨의 엔트리(52)와, 제1 논리 볼륨의 엔트리(52)를 포함하는 각 장치 트랙의 하나 이상의 엔트리(54a 내지 54c)가 후속된다. 제 1 논리 엔트리(52, 54a 내지 54c)에는 라인(50)으로 엔트리가 표시하는 물리 장치 상에서 구성되는 제2 논리 볼륨의 엔트리 라인(56)이 후속된다.The device entry 50 is followed by an entry 52 of the first logical volume and one or more entries 54a through 54c of each device track including the entry 52 of the first logical volume. The first logical entries 52, 54a-54c are followed by an entry line 56 of a second logical volume constructed on the physical device indicated by the entry in line 50.

"캐쉬 내의 데이타"를 표시하는 플래그 또는 비트(58)를 제외한 데이타 기억시스템 및 데이타 기억 시스템 내의 각 장치에 대한 모든 정보는 데이타 맵 또는 테이블(24) 내에 계층 방식으로 기억되어 있다. 따라서, 제2 데이타 기억 시스템(16)이 특정 데이타 소자에 정보(개별 데이타 레코드, 트랙 또는 볼륨)를 얻는 것을 희망하거나 또는 필요로 할 때마다, 데이타 기억 시스템(16)은 장치 레벨(50)에서 시작하여 데이타 맵 또는 테이블(24)을 조사하여 장치의 임의 트랙 또는 볼륨에 대해 바람직한 기준 또는 특성이 설정되었는지의 여부를 판단한다.All information about the data storage system and each device in the data storage system except for the flag or bit 58 indicating " data in the cache " is stored in a data map or table 24 in a hierarchical manner. Thus, whenever the second data storage system 16 wishes or needs to obtain information (individual data records, tracks or volumes) in a particular data element, the data storage system 16 is at device level 50. Begin by examining the data map or table 24 to determine whether the desired criteria or characteristics have been set for any track or volume of the device.

만일 데이타 맵 또는 테이블(24)에 의해 표시된 데이타 기억 장치의 해당 부분에서 바람직한 특성이 발견된 경우, 장치 엔트리(50), 볼륨 엔트리(52) 및 적당한 트랙 엔트리(54)에, 셋트되어진 "플래그" 나 다른 유사한 표시자 비트 또는 바람직한 특성의 다른 표시가 존재할 것이다.If a desired characteristic is found in that portion of the data storage indicated by the data map or table 24, the " flags " set in the device entry 50, volume entry 52 and the appropriate track entry 54. Or other similar indicator bits or other indications of desirable characteristics.

예를들어, 데이타 맵 또는 테이블(24)의 바람직한 실시예에 있어서는, 특정 데이타 소자가 제2 데이타 기억 시스템(16)의 캐쉬(18)에 현재 기억되어 있어 디스크 드라이브(17a 내지 17n) 등의 장기간 기억 장치에 기억되어야 할 경우에 셋트되어지는 기록 계류 플래그 또는 비트(61)를 포함한다. 예시의 목적으로, 볼륨 1의 트랙 2가 제2 데이타 기억 시스템(16) 내의 캐쉬(18)에 기억된 기록 계류 중이라고 가정을 하면, 기록 계류 플래그 또는 비트(61) 및 (트랙 2에 대한) 라인 엔트리(54b)에서의 인 캐쉬 비트(58)가 셋트되며, 데이타 맵 또는 테이블(24)의 라인(52)에서 볼륨 1의 기록 계류 비트(61)가 셋트되며, 라인(50)에서 장치의 기록 계류 비트(61)가 셋트될 것이다.For example, in a preferred embodiment of the data map or table 24, a particular data element is currently stored in the cache 18 of the second data storage system 16, so that a long period of time such as the disk drives 17a to 17n. And a write pending flag or bit 61 to be set when it is to be stored in the storage device. For purposes of illustration, assuming that track 2 of volume 1 is in the process of recording pending stored in cache 18 in second data storage system 16, write pending flag or bit 61 and line (for track 2) The in cache bit 58 at entry 54b is set, the write pending bit 61 of volume 1 is set at line 52 of the data map or table 24, and the write of the device at line 50. The mooring bit 61 will be set.

따라서, 제2 데이타 기억 시스템(16)이 요청되어진 특정 트랙 또는 레코드가 제2 데이타 기억 시스템(16)으로 기록 계류 중이거나 이행되었는지의 여부와 임의 다른 속성 또는 특성을 판단하기를 원한다면, 제2 데이타 기억 시스템(16)은 우선 데이타 소자가 기억되어 있는 장치 또는 디스크 드라이브(17a 내지 17n)를 판단하여 해당 장치에 대한 적당한 표시자 플래그 비트를 체크한다. 만일 해당 장치에 대한 특정 표시자 비트가 셋트되어 있지 않으면, 제2 데이타 기억 시스템(16)은 하위 레벨의 기억 장치나 해당 장치의 볼륨 또는 트랙 등의 영역이 해당 속성을 갖지 않고 있다는 것을 즉시 알 수 있다. 만일 트랙 또는 볼륨 등의 계층적인 구조의 임의 데이타 기억 소자가 속성을 포함하고 있으면, 해당 장치의 속성 또는 플래그 비트는 셋트될 것이다.Thus, if the second data storage system 16 wants to determine whether any particular attribute or property is different from whether or not the particular track or record for which it has been requested is pending or transitioned to the second data storage system 16, the second data. The storage system 16 first determines the devices or disk drives 17a to 17n in which data elements are stored and checks the appropriate indicator flag bits for the device. If a particular indicator bit for the device is not set, the second data storage system 16 immediately knows that the lower level storage device or area such as the volume or track of the device does not have the attribute. have. If any data storage element in a hierarchical structure such as track or volume contains an attribute, the attribute or flag bit of the device will be set.

동일하게, 논리 볼륨의 일부인 레코드 또는 트랙 등의 특정 데이타 기억 영역이 요청된 속성을 갖고 있으면, 그 볼륨에 대응하는 속성 또는 플래그 비트가 셋트될 것이다. 제2 데이타 기억 시스템(16)은 이로써 검사되어지는 볼륨이나 다른 유사 논리 또는 물리적인 분할보다 낮은 레벨의 임의 데이타 기억 영역이 특정의 속성을 갖는 지를 모든 하위 레벨의 데이타 기억 영역을 탐색 또는 조사하지 않고도 신속하게 판단할수 있다.Equally, if a particular data storage area, such as a record or track, which is part of a logical volume, has the requested attribute, the attribute or flag bit corresponding to that volume will be set. The second data storage system 16 may thereby search or examine all lower level data storage areas to see if any data storage area at a lower level than the volume or other similar logical or physical partition being examined has a particular attribute. You can judge quickly.

"인 캐쉬" 플래그 또는 비트는 데이타 맵 또는 테이블(24)의 각 라인 또는 엔트리(50 내지 56)가 직접 어드레스 가능하므로, 제2 데이타 기억 시스템(16)이 특정의 데이타 소자가 현재 "인 캐쉬"에 있는지를 조회하거나 "참조(look-up)"해야할 경우 특정 데이타 소자에 대한 테이블 엔트리 라인을 직접 어드레스하는 계층 구조에는 예외이다. 그러나, 이 플래그 또는 비트는 본 발명의 범주 내에서는 계층 구조로 관리될 수 있다는 것에 주목할 필요가 있다.The "in cache" flag or bit can be directly addressed by each line or entry 50-56 of the data map or table 24, so that the second data storage system 16 can " cache " The exception is a hierarchy that directly addresses the table entry line for a particular data element when it needs to look up or "look-up". However, it should be noted that this flag or bit may be managed in a hierarchy within the scope of the present invention.

인 캐쉬 비트 또는 플래그(58) 및 기록 계류 플래그 또는 비트(61) 이외에, 본 발명의 한 특징인 데이타 맵 또는 테이블(24)은 바람직한 실시예에 있어서는, 무효 트랙 포맷 또는 비트 등의 다른 플래그 비트(62), 및 특정 장치, 볼륨 또는 트랙 상의 데이타가 이행될 필요가 있는지 또는 제1 데이타 기억 시스템에서 제2 데이타 기억 시스템(16)으로 이행되었는지를 표시하는 일반적으로 플래그 또는 표시자 비트(60)으로 도시된 표시부를 포함한다.In addition to the in-cache bit or flag 58 and the write pending flag or bit 61, a data map or table 24 that is a feature of the present invention may, in a preferred embodiment, include other flag bits (such as an invalid track format or bit). 62) and generally as a flag or indicator bit 60 indicating whether data on a particular device, volume or track needs to be transferred or transitioned from the first data storage system to the second data storage system 16. It includes the display unit shown.

데이타 맵 또는 테이블(24)은 데이타 맵 또는 테이블(24)의 각 소자에 대한 물리 어드레스(64)를 더 포함하며, 이 어드레스는 새로운 즉 제2 데이타 기억 시스템(16)의 디스크 드라이브(17a 내지 17n) 상에서 대응하는 데이타 소자를 발견할 수 있는 개시 데이타 어드레스(64)를 식별한다.The data map or table 24 further includes a physical address 64 for each element of the data map or table 24, which is the disk drive 17a to 17n of the new data storage system 16, i.e. Identify the starting data address 64 on which the corresponding data element can be found.

본 발명에 따른 방법의 동작에 대해서는, 제2 데이타 기억 시스템(16)이 호스트 또는 다른 데이타 처리 장치(12)로부터 데이타 소자 판독 또는 기록 요청을 수신하는 도 3의 단계(100)에서 시작하여 상세히 기술하기로 한다. 이 방법은 다음에 요청 코맨드가 판독 또는 기록 요청인지를 판단한다(단계 101). 코맨드가 판독 코맨드인 경우, 제2 데이타 기억 시스템(16)의 채널 처리 프로세스(25)는 요청된 데이타가 제2 데이타 기억 시스템(16)에 이미 기억되어 있는지를 데이타 맵 또는 테이블(24)을 판독함으로써 판단한다(단계 102).Operation of the method according to the invention is described in detail beginning with step 100 of FIG. 3 in which the second data storage system 16 receives a data element read or write request from a host or other data processing device 12. Let's do it. The method next determines whether the request command is a read or write request (step 101). If the command is a read command, the channel processing process 25 of the second data storage system 16 reads the data map or table 24 to see if the requested data has already been stored in the second data storage system 16. It judges by making it (step 102).

제2 데이타 기억 시스템(16)에 데이타가 기억되어 있으면, 제2 데이타 기억 시스템(16)은 이 데이타를 호스트 또는 다른 요청 데이타 처리 장치(12)에 유용하도록 만들고(단계 104), 단계(100)로 복귀하여 새로운 데이타 판독 또는 기록 요청의 수신을 대기한다.If data is stored in the second data storage system 16, the second data storage system 16 makes this data available to the host or other request data processing apparatus 12 (step 104), and step 100. Return to to wait for receipt of a new data read or write request.

그러나, 단계(102)에서 제2 데이타 기억 시스템(16)이 제2 데이타 기억 시스템(16) 상에 현재 데이타가 기억되어 있지 않은 것으로 판단하면, 제2 데이타 기억 시스템(16)은 제1 데이타 기억 시스템(14)에 대해 데이타를 판독하는 요청을 발생할 것이다(단계 106).However, if the second data storage system 16 determines in step 102 that no current data is stored on the second data storage system 16, the second data storage system 16 stores the first data. A request will be issued to the system 14 to read the data (step 106).

제1 데이타 기억 시스템(14)으로부터 나온 데이타 판독 코맨드 또는 요청은 호스트(12)로부터 발생될 수 있는 판독 데이타 코맨드와 동일한 형태를 취한다. 따라서, 예를들어,호스트(12)가 IBM 또는 IBM 호환성 호스트 또는 데이타 처리 장치인 경우, 제2 데이타 기억 시스템(16)은 제1 데이타 기억 시스템(14)에 대해 IBM 호환 "판독" 코맨드를 발생시킬 것이다. 제2 데이타 기억 시스템(16)의 채널 및 이행 프로세스(25, 27)는 제1 데이타 기억 시스템(14)에 고유한 코맨드의 목록을 보존하여 필요에 따라 코맨드 종류를 호스트(12)에서 발생하여 제2 데이타 기억 시스템(16)에서 이행되는 제1 코맨드 종류에서 제1 데이타 기억 시스템(14)에서 이행되는 제2 코맨드 종류로 쉽사리 변환시킬 수 있다.The data read command or request from the first data storage system 14 takes the same form as the read data command that may be issued from the host 12. Thus, for example, if host 12 is an IBM or IBM compatible host or data processing device, second data storage system 16 generates an IBM compatible “read” command for first data storage system 14. I will. The channel and transition processes 25 and 27 of the second data storage system 16 maintain a list of commands unique to the first data storage system 14 to generate a command type from the host 12 as necessary and generate a command type. It is possible to easily convert from the first command type implemented in the two data storage systems 16 to the second command type implemented in the first data storage systems 14.

이어서, 제2 데이타 기억 시스템(16)은 제1 데이타 기억 시스템(14)으로부터 요청된 데이타를 수신하여(단계 108), 데이타 맵 또는 테이블(24)을 갱신시키면서 제 2 데이타 기억 시스템(16)의 캐쉬 메모리(18)에 데이타를 기록한다(단계 110). 다음에 제2 데이타 기억 시스템(16)은 호스트 또는 데이타 처리 장치(12)에 데이타가 판독할 준비가 되었다는 것을 나타내는 표시를 제공한다(단계 112). 이어서, 제2 데이타 기억 시스템(16)은 캐쉬 메모리(18)로부터의 데이타를 제2 데이타 기억 시스템(16) 상의 디스크 드라이브 등의 보다 영구적인 기억 영역에 기록시키고(단계 114), 이후에 데이타 맵 또는 테이블(24)의 하나 이상의 비트 또는 플래그에 대해 최종 갱신을 행한다(단계 116).Subsequently, the second data storage system 16 receives the requested data from the first data storage system 14 (step 108) and updates the data map or table 24 of the second data storage system 16. Data is written to the cache memory 18 (step 110). The second data storage system 16 then provides an indication to the host or data processing device 12 indicating that the data is ready for reading (step 112). The second data storage system 16 then writes the data from the cache memory 18 to a more permanent storage area, such as a disk drive on the second data storage system 16 (step 114), after which the data map Or a final update is made to one or more bits or flags of the table 24 (step 116).

따라서, 요청된 데이타가 아직 제2 데이타 기억 시스템(16)에 기억되어 있지 않은 경우, 호스트(12)로부터 나온 "판독 요청"에 의해 제2 데이타 기억 시스템(16)은 제1 데이타 기억 시스템(14)으로부터 나온 데이타를 제2 데이타 기억 시스템(16)으로 이행시키게 된다.Therefore, if the requested data is not yet stored in the second data storage system 16, the second data storage system 16 causes the first data storage system 14 to be read by the " read request " ) Is transferred to the second data storage system 16.

호스트 또는 다른 데이타 처리 장치(12)가 요청 또는 코맨드를 발생하면(단계 120), 제2 데이타 기억 시스템(16)의 채널 프로세스(25)는 기록될 데이타가 제1 데이타 기억 시스템(14)으로부터 제2 데이타 기억 시스템(16)으로 이전에 이행되었는지를 판단한다(단계 122). 단계(122)에서 데이타가 이미 이행되었으면, 제2 데이타 기억 시스템(16)은 데이타를 캐쉬 메모리에 기록시켜 데이타 맵 또는 테이블(24) 내의 임의 필요한 플래그 또는 비트를 갱신시킨다(단계 110). 프로세싱은 상술된 바와 같이 속행된다.When the host or other data processing device 12 issues a request or command (step 120), the channel process 25 of the second data storage system 16 causes the data to be written to be removed from the first data storage system 14; It is determined whether 2 data storage system 16 has been previously transferred (step 122). If the data has already been transferred in step 122, the second data storage system 16 writes the data to the cache memory to update any necessary flags or bits in the data map or table 24 (step 110). Processing continues as described above.

그러나, 단계(122)에서 데이타가 이미 이행되지 않았으면, 본 발명의 방법은 호스트에 의해 발생된 코맨드 또는 요청의 종류(예를들어, IBM 호스트 코맨드)에 따라 기록 요청이 전체 또는 완전 데이타 "트랙" 등의 전체 또는 완전 데이타 소자 기억 영역용인지를 판단한다(단계 124). 만일 기록 요청이 전체 트랙 또는 다른 유사한 종류의 데이타 블럭 또는 내용을 위한 것이면, 제2 데이타 기억 시스템은 "이전의" 모든 데이타가 현재 코맨드로 대체되어 상술된 바와 같이 단계(110)로 프로세스가 진행되기 때문에 제1 데이타 기억 시스템(14)으로부터 데이타를 이행시키는 것에 대해 걱정할 필요가 없다.However, if the data has not already been fulfilled in step 122, then the method of the present invention provides a complete or complete data " tracking " write request depending on the type of command or request issued by the host (e.g., IBM host command). Is determined for the entire or complete data element storage area (step 124). If the write request is for an entire track or other similar type of data block or content, the second data storage system proceeds to step 110 where all of the " previous " data has been replaced with the current command to proceed to step 110 as described above. Therefore, there is no need to worry about transferring data from the first data storage system 14.

그러나, 단계(124)에서 기록 요청이 트랙 등과 같이 전체 또는 완전 데이타 블럭 또는 제한인 아닌 경우에는 기록 요청의 처리를 일시적으로 중단하고(단계 126), 제1 데이타 기억 시스템(14)에 대해 전체 또는 완전 "트랙"에 대한 "판독" 코맨드를 발생시켜 소정량의 데이타 (예를들어, 전 데이타 트랙)를 판독하고(단계 128), 제2 데이타 기억 시스템(16)의 캐쉬 메모리(18)에 전체 데이타 "트랙"을 카피한다. 다음에 기록될 새로운 데이타가 캐쉬 메모리(18)의 적당한 기억 영역에 기록되고(실제 "기록" 코맨드 발생), 데이타 맵 또는 테이블(24)은 (예를들어, 캐쉬 메모리(18)에 데이타가 기억되는 것[데이타 인 캐쉬 비트 셋트]을 나타내고, 기록이 이 데이타에 대해 계류중인지[기록 계류 비트 셋트]를 나타내고, 데이타 소자가 이행되었는지[데이타가 이행 비트를 리셋트시킬 필요가 있음]를 나타내도록 갱신되고 호스트 또는 다른 데이타 처리 장치(12)는 기록 코맨드가 완료된 것을 통지한다.However, in step 124, if the write request is not a full or complete data block or restriction, such as a track or the like, the processing of the write request is temporarily stopped (step 126), and the whole or the first data storage system 14 is stopped. Generate a "read" command for a complete "track" to read a predetermined amount of data (e.g., all data tracks) (step 128) and write it to the cache memory 18 of the second data storage system 16 in its entirety. Copy the data "track". The new data to be written next is written to the appropriate storage area of the cache memory 18 (the actual "write" command is generated), and the data map or table 24 (e.g., the data is stored in the cache memory 18). To indicate [data in cache bit set], to indicate whether the write is pending for this data [write pending bit set], and to indicate whether the data element has been transitioned (data needs to reset the transition bit). The host or other data processing apparatus 12 is updated and notifies that the recording command is completed.

나중에, 기록 계류 중인 것으로 플래그되어진 캐쉬 메모리(18)내의 데이타가 디스크 드라이브 등의 보다 영구적인 기억 영역으로 카피되고 기록 계류 비트는 리셋트된다.Later, data in the cache memory 18 flagged as being pending write is copied to a more permanent storage area such as a disk drive and the write pending bit is reset.

전형적으로, 데이타 기록 요청은 소정의 데이타 기억 소자 또는 물리/논리 제한(디스크 드라이브 트랙 등)에 기억된 전 데이타 소자의 일부만을 갱신시키도록 행해진다. 그러나, 본 발명은 또한 호스트 또는 다른 데이타 처리 장치(12)가 데이타 구조(포맷) 및 실제 데이타 내용이 갱신되어진 것을 나타내는 표시를 제공하는 때와 같은 일부 경우에는, 제1 데이타 기억 시스템(14)으로부터 이전의 데이타를 판독하는 것을 모든 데이타 및 데이타 포맷 또는 구조가 새로운 기록 요청에 의해 갱신되어지기 때문에 제거시킬 수 있다. 이러한 데이타 및 포맷 기록 코맨드는 그러나 그리 흔하지는 않아, 바람직한 실시예에 있어서는, 각 기록 요청에 의해 기록 요청이 제1 데이타 기억 시스템(14)으로부터 판독되는 것으로 고려하고 있다.Typically, a data write request is made to update only a portion of all data elements stored in a given data storage element or physical / logical limit (such as a disk drive track). However, the present invention is also intended in some cases, such as when the host or other data processing device 12 provides an indication that the data structure (format) and the actual data content has been updated from the first data storage system 14. Reading old data can be eliminated because all data and data formats or structures are updated by a new write request. Such data and format write commands are not very common, however, in the preferred embodiment, it is considered that a write request is read from the first data storage system 14 by each write request.

본 발명의 방법에 의하면 또한 제2 즉 새로운 데이타 기억 시스템(16)은 호스트(12)와 제2 데이타 기억 시스템(16) 간에서의 "채널"을 서비스하는 채널 프로세스에 의한 데이타 전송 또는 이행과는 관계없이 또는 이와 병렬로 제1 데이타 기억 시스템(14)과 제2 데이타 기억 시스템(16) 간에 투명 또는 "백그라운드" 데이타 이행을 제공할 수 있다. 제2 즉 새로운 기억 시스템(16)을 제공하는 목적은 일반적으로 호스트 또는 다른 데이타 처리 장치(12)에 증강된 능력을 제공하기 위한 것이므로, 데이타를 가능한 신속하게 제1 데이타 기억 시스템(14)에서 제2 데이타 기억 시스템(16)으로 이행시키는 것이 바람직하다.According to the method of the present invention, the second or new data storage system 16 also differs from the data transfer or transition by a channel process serving a "channel" between the host 12 and the second data storage system 16. Regardless or in parallel, it is possible to provide transparent or "background" data transitions between the first data storage system 14 and the second data storage system 16. Since the purpose of providing a second, or new, storage system 16 is generally to provide enhanced capabilities to the host or other data processing device 12, the data can be removed from the first data storage system 14 as quickly as possible. It is preferable to shift to the two data storage system 16.

따라서, 본 발명에 따른 제2 데이타 기억 시스템(16)의 중앙 처리 장치에서 실행되어지는 일련의 소프트웨어 명령어(본 기술 분야에 공지되어 있는 바와 같은 하드웨어 및 소프트웨어, 예를들어, EMC Symmetrix 계열 5500 데이타 기억 시스템을 참조바람)인 본 발명의 방법인 백그라운드 이행 또는 카피 "타스크" 또는 "프로세스"의 경우, 본 발명의 방법은 우선 제2 데이타 기억 시스템(16)이 호스트 또는 다른 데이타 처리 장치(12)로부터의 판독 또는 기록 데이타 요청을 완전하게 비지 서비스하는지를 판단한다(도 4의 단계 200). 만일 제2 데이타 기억 시스템(16)이 호스트 또는 다른 데이타 처리 장치(12)로 또한 호스트 또는 다른 데이타 처리 장치(12)로부터의 이러한 요청을 완전히 비지 처리하거나 또는 제2 데이타 기억 시스템(16)에서 다른 데이타 입력/출력 (I/O) 동작을 완전히 비지 처리한다면, 다른 프로세싱은 발생하지 않고 대신에 이행 프로세스(27)는 제2 데이타 기억 시스템(16)의 운영 체제로부터 "비지 아님" 즉 "이용가능" 표시를 대기한다.Thus, a series of software instructions (hardware and software as known in the art, for example EMC Symmetrix series 5500 data storage, which are executed in the central processing unit of the second data storage system 16 according to the invention). In the case of a background transition or copy "task" or "process", which is a method of the present invention (see system), the method of the present invention firstly ensures that the second data storage system 16 is provided from a host or other data processing apparatus 12. It is determined whether the read or write data request of the service is completely busy (step 200 of FIG. 4). If the second data storage system 16 completely busys such a request to the host or other data processing device 12 and also from the host or other data processing device 12 or otherwise in the second data storage system 16. If the data input / output (I / O) operation is completely busy, no other processing takes place and instead the transition process 27 is "not busy" or "available" from the operating system of the second data storage system 16. Wait for the display.

일단 제2 데이타 기억 시스템(16)이 내부 입력/출력 (I/O) 요청 또는 호스트 또는 다른 데이타 처리 장치(12)로부터의 요청을 비지 처리하지 않으면, 제2 데이타 기억 시스템(16)은 데이타 맵 또는 테이블(24)을 판독하여(단계 202), 어느 데이타 소자가 제1 데이타 기억 시스템(14)에서 제2 데이타 기억 시스템(16)으로 아직 카피되지 않았는지를 판단한다(단계 204).Once the second data storage system 16 does not busy process an internal input / output (I / O) request or a request from the host or other data processing device 12, the second data storage system 16 may not be able to process the data map. Alternatively, the table 24 is read (step 202) to determine which data element has not yet been copied from the first data storage system 14 to the second data storage system 16 (step 204).

상술된 바와 같이, 제2 데이타 기억 시스템(16)의 초기 구성 동안은, 제2 데이타 기억 시스템(16)이 "온 라인"으로 되기 전에, 사용자 또는 시스템 엔지니어는 개인용 컴퓨터 또는 다른 입력 장치 등의 시스템 구성 장치(26)를 사용하여 제2 데이타 기억 시스템(16)에서 데이타 기억 영역(17a 내지 17n)의 적어도 일부를 구성함으로써 제1 즉 이전의 데이타 기억 시스템(14)의 데이타 기억 시스템 구성을 정확하게 이뮬레이트할 수 있다(즉, 동일한 메모리 어드레스를 갖는다). 일반적으로, 새로운 제2 데이타 기억 시스템(16)은 제1 즉 "이전의" 데이타 기억 시스템(14)보다 큰 기억 용량을 가지므로 추가의 기억 영역을 사용할 수 있게 된다. 그러므로, 제1 데이타 기억 시스템(14)은 소정수의 드라이브 또는 볼륨을 포함하며, 각 드라이브 또는 볼륨은 소정수의 트랙 또는 레코드를 가지며, 제2 데이타 기억 시스템은 이러한 구성을 모사하도록 구성될 것이다.As described above, during the initial configuration of the second data storage system 16, before the second data storage system 16 goes "on-line", the user or system engineer may have a system such as a personal computer or other input device. By constructing at least part of the data storage areas 17a to 17n in the second data storage system 16 using the configuration device 26, the data storage system configuration of the first, i.e., the previous data storage system 14 is accurately emulated. Rate (ie, have the same memory address). In general, the new second data storage system 16 has a larger storage capacity than the first, " old " data storage system 14, so that additional storage areas can be used. Therefore, the first data storage system 14 includes a predetermined number of drives or volumes, each drive or volume having a predetermined number of tracks or records, and the second data storage system will be configured to simulate this configuration.

일단 제2 데이타 기억 시스템(16)이 적어도 하나의 데이타 소자(트랙 등)가 이전 즉 제1 데이타 기억 시스템(14)으로부터 카피되지 않은 것으로 판단하면, 제2 데이타 기억 시스템(16)은 그 데이타 소자에 대한 요청을 제1 데이타 기억 시스템(14)에 대해 발생시킨다(단계 206). 일단 수신되면, 제2 데이타 기억 시스템(16)은 제2 데이타 기억 시스템(16) 상에 (전형적으로 캐쉬 메모리(18)에) 데이타를 기억시키고(단계 208), 제2 데이타 기억 시스템(16)의 데이타 맵 또는 테이블(24)을 갱신기키고(단계 210), 단계(200)로 복귀하여 호스트 또는 다른 데이타 처리 장치(12)로부터의 계류중인 데이타 판독 또는 기록 요청이 있는지를 판단한다.Once the second data storage system 16 determines that at least one data element (track, etc.) has not been copied before, i.e., the first data storage system 14, then the second data storage system 16 determines that data element. A request is made to the first data storage system 14 (step 206). Once received, the second data storage system 16 stores the data (typically in the cache memory 18) on the second data storage system 16 (step 208) and the second data storage system 16 Update the data map or table 24 (step 210) and return to step 200 to determine if there are pending data read or write requests from the host or other data processing device 12.

일 실시예에 있어서, 본 발명은 데이타를 제1 데이타 기억 시스템(14)으로부터 제2 데이타 기억 시스템(16)으로 "프리페치"시키는 것이 바람직한 것으로 고려한다. 예를들어, 이행 또는 카피 프로세스(27)는 제1 데이타 기억 시스템(14)에 고유한 코맨드를 사용하여 제1 데이타 기억 시스템(14)에 대해 프리페치 또는 "순차" 데이타 액세스 요청 또는 코맨드를 발생시킴으로써 제1 데이타 기억 시스템(14)은 제2 데이타 기억 시스템(16)의 캐쉬 메모리(18)의 소정수의 데이타 소자를 연속으로 페치 또는 프리페치시킬 수 있다. 이러한 프리페칭은 데이타 기억 시스템 간에서 통과해야할 "판독" 코맨드의 수를 상당히 감소시킴으로써 제1 데이타 기억 시스템(14)과 제2 데이타 기억 시스템(16) 간에서의 데이타 전송의 속도를 상당히 증가시킬 수 있다.In one embodiment, the present invention contemplates that it is desirable to "prefetch" data from the first data storage system 14 to the second data storage system 16. For example, the transition or copy process 27 generates a prefetch or "sequential" data access request or command for the first data storage system 14 using a command specific to the first data storage system 14. In this way, the first data storage system 14 can continuously fetch or prefetch a predetermined number of data elements of the cache memory 18 of the second data storage system 16. This prefetching can significantly increase the speed of data transfer between the first data storage system 14 and the second data storage system 16 by significantly reducing the number of "read" commands that must pass between the data storage systems. have.

다른 실시예의 경우, 이행 프로세스(27)는 호스트(12)로부터의 판독 요청이 이러한 판독 요청의 시퀀스 중 일부인 것으로 판단할 수 있다. 이러한 경우, 채널 프로세스(25)는 호스트(12)에 의해 요청되어진 데이타의 현재 어드레스를 취해 이것을 소정수로 증가시킬 수 있다. 예를들어, 호스트(12)가 현재 어드레스 '411'로부터 데이타를 요청하고 있다면, 채널 프로세스(25)는 어드레스 '411'의 데이타에 대한 판독 요청을 제1 데이타 기억 시스템(14)에 대해 발생시킬 것이다. 일반적으로 동시에, 채널 프로세스는 이행 프로세스(27)의 표시부를 통과하여 어드레스 '413'에서 부터 데이타를 프리페칭 또는 이행하기 시작한다. 따라서, 이행 프로세스(27)를 사용하여 제2 데이타 기억 시스템(16)은 제1 데이타 기억 시스템(14)으로부터 채널 프로세스(25)의 '어헤드(ahead)' 및 실제 데이타 요청을 확실하게 얻는다. 채널 프로세스(25)는 어드레스 '411 및 412'의 데이타에 대한 호스트로부터의 요청을 처리할 것이다. 후속 요청은 제2 데이타 기억 시스템(16)의 캐쉬에 이미 존재하여 제2 데이타 기억 시스템(16)에 의해 신속하게 처리될 것이다.For other embodiments, the fulfillment process 27 may determine that the read request from the host 12 is part of this sequence of read requests. In this case, channel process 25 may take the current address of the data requested by host 12 and increment it to a predetermined number. For example, if host 12 is currently requesting data from address '411', channel process 25 may issue a read request for data at address '411' to first data storage system 14. will be. Generally at the same time, the channel process passes through the display of the transition process 27 and starts prefetching or transitioning data from address '413'. Thus, using the transition process 27, the second data storage system 16 reliably obtains the 'ahead' and actual data request of the channel process 25 from the first data storage system 14. Channel process 25 will process requests from the host for data at addresses '411 and 412'. Subsequent requests will already be present in the cache of the second data storage system 16 and will be quickly processed by the second data storage system 16.

따라서, 본 발명은 기존의 새로운 즉 제2 데이타 기억 시스템(16)을 호스트 또는 다른 데이타 처리 장치에 제1 데이타 기억 시스템에 기억된 데이타를 액세스하는 데 사실상의 시간 손실 없이 접속시킬 수 있는 특정 데이타 기억 시스템 및 방법을 제공한다. 본 발명의 시스템 및 방법은 호스트 또는 다른 접속된 데이타 처리 장치로의 실 시간 및 온 라인 이용성을 유지하면서 현재 및 과거의 데이타에 대한 액세스를 행할 수 있다. 백그라운드 동작의 경우, 데이타는 제1 즉 이전의 데이타 기억 장치에서 새로운 기억 장치로 이행된다. 비록 본 발명은 소프트웨어로 구현되는 것이 바람직하지만, 본 기술 분야의 기술자들에게는 본 발명은 이것에만 제한되지 않고 본 발명의 범주 내에서는 하드웨어와 소프트웨어의 여러 조합의 하드웨어로 구현될 수 있다.Accordingly, the present invention provides a specific data storage that can connect an existing new, i.e. second data storage system 16 to a host or other data processing device without substantial time loss in accessing data stored in the first data storage system. Provides a system and method. The systems and methods of the present invention can provide access to current and historical data while maintaining real-time and online availability to a host or other connected data processing device. In the case of a background operation, data is transferred from the first, i.e., old, data storage device to the new storage device. Although the present invention is preferably implemented in software, to those skilled in the art, the present invention is not limited to this and can be implemented in hardware of various combinations of hardware and software within the scope of the present invention.

본 기술 분야의 숙련자들은 본 발명의 사상 및 다음의 특허청구 범위 내에서는 여러가지의 변형 및 수정 실시예가 가능하다는 것은 주지의 사실이다.It is well known to those skilled in the art that various modifications and variations can be made within the spirit and scope of the following claims.

Claims (20)

제1 데이터 기억 장치로부터 제2 데이터 기억 장치로의 온-라인의 투명한 데이터 이동(data migration)을 제공하기 위한 시스템에 있어서,A system for providing on-line transparent data migration from a first data storage device to a second data storage device, the system comprising: 다수의 지정된 어드레스의 기억 위치에 다수의 데이터 소자를 포함하는 데이터를 보유하는 제1 데이터 기억 장치(14)와,A first data storage device 14 which holds data including a plurality of data elements at storage positions of a plurality of designated addresses, 상기 제1 데이터 기억 장치에, 상기 지정된 어드레스의 기억 위치들 중 특정한 기억 위치들을 식별하는 판독 및 기록 데이터 전송 명령들을 내리기 위한 데이터 처리 장치(12)와,A data processing device (12) for issuing read and write data transfer commands to said first data storage device for identifying particular ones of said storage locations of said specified address; 다수의 지정된 어드레스의 기억 위치에 다수의 데이터 소자를 보유하기 위한 제2 데이터 기억 장치(16)Second data storage device 16 for holding a plurality of data elements in storage positions of a plurality of specified addresses 를 포함하되,Including, 데이터 소자들은 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터 기억 장치(16)로 이동되며,Data elements are moved from the first data storage device 14 to the second data storage device 16, 상기 제2 데이터 기억 장치(16)는 상기 데이터 처리 장치(12)와 상기 제1 데이터 기억 장치(14) 사이에 접속되어, 상기 데이터 처리 장치(12)의 동작과 독립적으로 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터 기억 장치(16)로 온-라인의 투명한 데이터 이동을 가능하게 하고, 상기 데이터 처리 장치(12)로부터 상기 제2 데이터 기록 장치(16)에 의해 수신된 판독 또는 기록 명령에 응답하며, 상기 응답은 상기 명령에서 식별되는 지정된 어드레스의 기억 위치의 선정된 데이터 소자가 이미 이동되어 상기 제2 데이터 기억 장치(16)에 저장되어 있는지를 확인하고 만약 그렇지 않을 경우에는 상기 제1 데이터 기억 장치(14)의 지정된 어드레스의 기억 위치의 데이터 소자를 상기 제2 데이터 기억 장치(16)의 대응하는 지정된 어드레스의 기억 위치로 이동시키고 상기 제2 데이터 기억 장치(16)가 각 데이터 소자의 이동을 기록하게 함으로써 이루어지는 것을 특징으로 하는 시스템.The second data storage device 16 is connected between the data processing device 12 and the first data storage device 14 so that the first data storage device is independent of the operation of the data processing device 12. Read or write received by the second data recording device 16 from the data processing device 12 to enable on-line transparent data movement from (14) to the second data storage device 16; In response to the command, the response confirms whether the predetermined data element at the storage location of the specified address identified in the command has already been moved and stored in the second data storage device 16, and if not 1 move the data element at the storage position of the specified address of the data storage device 14 to the storage position of the corresponding designated address of the second data storage device 16 Group a second data storage device (16) is made by the system, characterized in that to record the movement of each data element. 제1항에 있어서, 상기 제2 데이터 기억 장치(16)는 각 데이터 소자의 이동을 기록하기 위한 데이터 소자 맵(24)을 포함하는 것을 특징으로 하는 시스템.2. The system according to claim 1, wherein said second data storage device (16) comprises a data element map (24) for recording the movement of each data element. 제2항에 있어서, 상기 제2 데이터 기억 장치(16)는 상기 데이터 처리장치(12)로부터 수신된 선정된 데이터 소자에 대한 판독 명령에 응답하고, 상기 선정된 데이터 소자가 상기 제2 데이터 기억 장치(16)에 기억되어 있지 않다는 상기 데이터 소자 맵(24)에서의 지시에 응답하여, 상기 제1 데이터 기억 장치(14)의 상기 선정된 데이터 소자가 상기 제2 데이터 기억 장치(16)로 이동되도록 하며, 상기 데이터 소자 맵(24)에서의 상기 이동 기록을 갱신하도록 하는 것을 특징으로 하는 시스템.The data storage device of claim 2, wherein the second data storage device 16 responds to a read command for a selected data element received from the data processing device 12, and wherein the selected data element is configured as the second data storage device. In response to an instruction in the data element map 24 not being stored in (16), the selected data element of the first data storage device 14 is moved to the second data storage device 16. And update the movement record in the data element map (24). 제3항에 있어서,상기 제2데이터 기억 장치(6)는 다수의 선정된 데이터 소자를 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터 기억 장치(16)로 전송하도록 동작하는 것을 특징으로 하는 시스템.4. The method of claim 3, wherein the second data storage device 6 operates to transfer a plurality of predetermined data elements from the first data storage device 14 to the second data storage device 16. System. 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 제2 데이터 기억 장치(16)는 상기 데이터 처리 장치(12)로부터 수신된 상기 데이터 기록 명령이 데이터 소자에 대한 상기 지정된 어드레스의 기억 위치의 일부분에 저장되어야 할 데이터를 위한 것이라는 지시에 응답하여, 상기 제1 데이터 기억 장치(14)의 지정된 어드레스의 기억 위치의 데이터 소자를 상기 제2 데이터 기억 장치(16)의 상기 지정된 어드레스의 기억 위치로 데이터 이동되도록 하며, 그 후 상기 제2 데이터 기억장치(16)의 상기 지정된 어드레스의 기억 위치로 상기 데이터를 전송하는 것을 특징으로 하는 시스템.5. The second data storage device (16) according to any one of claims 2 to 4, wherein the second data storage device (16) is configured such that the data write command received from the data processing device (12) of the storage position of the designated address for the data element is reduced. In response to an indication that the data is to be stored in a part, the data element at the storage location of the designated address of the first data storage device 14 is moved to the storage location of the specified address of the second data storage device 16. Allow data to be moved, and then transfer the data to a storage location of the designated address of the second data storage device (16). 제2항 내지 제4항 중 어느 한 항에 있어서, 상기 제2 데이터 기억 장치(16)는 상기 데이터 처리 장치(12)로부터 수신된 상기 데이터 기록 명령이 상기 지정된 어드레스의 기억 위치에 저장되어야 할 선정된 데이터 소자를 위한 것이라는 지시에 응답하여, 상기 수신된 데이터 소자를 상기 제2 데이터 기억 장치(16)로 기록하고, 상기 데이터 소자 맵(24)의 상기 이동 기록을 갱신하는 것을 특징으로 하는 시스템.5. The second data storage device (16) according to any one of claims 2 to 4, wherein the second data storage device (16) selects that the data write command received from the data processing device (12) should be stored in a storage location of the designated address. In response to an indication that the data element is for a data element, writing the received data element to the second data storage device (16) and updating the movement record of the data element map (24). 제1항 내지 제4항 중 어느 한 항에 있어서, 기존의(pre-existing) 데이터 통신 경로(19)를 통하여 상기 데이터 처리 장치(12)에 접속된 현재의(existing) 제1 데이터 기억 장치(14)를 교체용 제2 데이터 기억 장치(16)로 온-라인 교체하기 위한 시스템을 포함하며, 상기 기존의 경로(19)는 상기 교체용 기억장치(16)와 상기 데이터 처리 장치(12) 사이의 제1 교체용 데이터 통신 경로(28) 및 상기 현재의 기억 장치(14)와 상기 교체용 기억 장치(16) 사이의 제2 교체용 데이터 통신 경로(20)에 의해 교체되며, 상기 교체용 기억 장치(16)는 제1 모드(도 4)에서는 상기 데이터 처리 장치에 의한 데이터 처리와 병행하여 독립적으로, 제2 모드(도 3)에서는 상기 제1 경로(28)를 통하여 상기 데이터 처리 장치에 의해 내려진 명령들에 응답하여, 상기 제2 경로(20)를 통하여 상기 현재의 기억 장치로부터 상기 교체용 기억 장치로 아직 이동되지 않은 데이터 소자들을 액세스하도록, 데이터 소자들을 상기 제2 경로(20)를 통하여 상기 현재의 기억 장치(14)로부터 상기 교체용 기억 장치(16)로 이동하도록 동작하는 것을 특징으로 하는 시스템.An existing first data storage device (1) according to any one of claims 1 to 4, connected to said data processing device (12) via a pre-existing data communication path (19). A system for on-line replacing 14 with a second data storage device 16 for replacement, wherein the existing path 19 is between the replacement memory device 16 and the data processing device 12. The first replacement data communication path 28 and the second replacement data communication path 20 between the current storage device 14 and the replacement storage device 16, and the replacement memory. The device 16 is independently operated by the data processing device via the first path 28 in the first mode (FIG. 4) in parallel with the data processing by the data processing device, and in the second mode (FIG. 3). In response to commands issued, the current memory via the second path 20 From the current storage device 14 to the replacement storage device 16 through the second path 20 to access data elements that have not yet been moved from the device to the replacement storage device. The system of operation. 제7항에 있어서, 상기 제1(도 4) 및 제2(도 3) 모드 이동들은 상기 제2 경로(20)를 통하여, 상기 데이터 처리 장치(12)에 의해 액세스되어야 할 모든 데이터 소자들이 상기 교체용 기억 장치(16)로 이동될 때까지 수행되며, 그 후 상기 데이터 처리 장치로부터의 모든 명령들이 상기 교체용 기억 장치에서 처리되는 것을 특징으로 하는 시스템.The method of claim 7, wherein the first (FIG. 4) and second (FIG. 3) mode movements are performed through the second path 20 such that all data elements to be accessed by the data processing device 12 are controlled. System until it is moved to a replacement storage device (16), after which all instructions from the data processing device are processed in the replacement storage device. 제8항에 있어서, 상기 현재의 기억 장치(14)는 연속적으로 어드레스가 지정되어 데이터 블록을 정의하는 위치들에 데이터 소자들을 저장하고, 상기 제 1 및 제2 모드 이동들 각각은 데이터 블록을 상기 현재의 기억 장치(14)로부터 상기 교체용 기억 장치(16)로 전송하며, 상기 교체용 기억 장치(16)는 데이터 소자 맵(24)을 포함하고, 상기 데이터 소자 맵(24)은 상기 현재의 기억 장치(14)의 모든 데이터 블록들이 데이터 이동을 필요로 한다고 지시하도록 초기화되고 각 데이터 블록 이동에 응답하여 갱신되어 상기 데이터 처리 장치(12)에 의해 액세스되어야 할 모든 데이터 소자들이 상기 교체용 기억 장치(16)로 이동되었을 때 상기 데이터 이동을 종료하도록 하는 것을 특징으로 하는 시스템.10. The device of claim 8, wherein the current storage device 14 stores data elements at locations that are continuously addressed to define a data block, and wherein each of the first and second mode movements represents the data block. Transfer from the current storage device 14 to the replacement storage device 16, wherein the replacement storage device 16 includes a data element map 24, the data element map 24 being the current All of the data elements to be initialized to indicate that all data blocks of the memory device 14 require data movement and updated in response to each data block movement to be accessed by the data processing apparatus 12 are replaced. And to end the data movement when moved to (16). 제9항에 있어서, 상기 제1 및 제2 모드 이동들은 제어 파라미터들에 응답하여 복사 서브루틴(copy subroutine; 도 4 및 3)의 동작을 제어하여 데이터 블록들을 상기 현재의 기억 장치(14)로부터 상기 교체용 기억 장치(16)로 전송하도록 함으로써 이루어지는데, 상기 제1 모드 이동은 상기 제어 파라미터들의 제1 값들을 정하기 위한 백그라운드 모드 제어(background mode control)를 포함하며, 상기 제2 모드 이동은 상기 현재의 기억 장치(14)에만 위치하는 데이터 블록들을 액세스하기 위해 상기 데이터 처리 장치(12)에 의해 내려진 명령들에 응답하여 상기 제어 파라미터들에 대한 제2 값들을 정하기 위한 포그라운드 모드 제어(foreground mode control)를 포함하는 것을 특징으로 하는 시스템.10. The method of claim 9, wherein the first and second mode movements control the operation of a copy subroutine (FIGS. 4 and 3) in response to control parameters to thereby remove data blocks from the current storage device (14). By transferring to the replacement storage device 16, wherein the first mode shift comprises a background mode control for determining first values of the control parameters, wherein the second mode shift comprises: Foreground mode control for setting second values for the control parameters in response to instructions issued by the data processing device 12 to access data blocks located only in the current storage device 14. system). 적어도 하나의 데이터 기억 장치에 판독 및 기록 데이터 전송 명령을 내리기 위한 데이터 처리 장치에 연결된 제1 및 제2 데이터 기억 장치 간에서 온-라인의 투명한 데이터 이동을 제공하기 위한 방법 - 여기서, 제1 데이터 기억 장치(14)는 상기 데이터 처리 장치(12)에 의해 액세스되는 다수의 지정된 어드레스의 기억 위치에 다수의 데이터 소자를 보유하고, 상기 방법은 상기 제2 데이터 기억장치(16)를 상기 제1 데이터 기억 장치(14)에 연결하는 단계와, 상기 제1 데이터 기억 장치의 지정된 어드레스의 기억 위치들로부터 상기 제2 데이터 기억 장치의 지정된 어드레스의 기억 위치들로 데이터 소자들을 이동하는 단계를 포함함 - 에 있어서,A method for providing on-line transparent data movement between first and second data storage devices coupled to a data processing device for issuing read and write data transfer commands to at least one data storage device, wherein the first data storage. The device 14 holds a plurality of data elements in storage locations of a plurality of designated addresses accessed by the data processing device 12, and the method stores the second data storage device 16 in the first data storage. Connecting to the device 14 and moving data elements from storage locations of a specified address of the first data storage device to storage locations of a specified address of the second data storage device. , 상기 제1 데이터 기억 장치(14)는 기존의 데이터 통신 경로(19)를 통하여 상기 데이터 처리 장치(12)에 연결된 현재의 데이터 기억 장치이고, 상기 제2 데이터 기억 장치(16)는 상기 제1 데이터 기억 장치(14)를 위한 교체용이며, 상기 방법은The first data storage device 14 is a current data storage device connected to the data processing device 12 via an existing data communication path 19, and the second data storage device 16 is the first data. Replacement for the storage device 14, the method being 상기 기존의 경로(19)에 대한 교체용으로서의, 상기 데이터 처리 장치(12)와 상기 교체용 제2 데이터 기억 장치(16) 사이의 제1 데이터 통신 경로(28)와 상기 현재의 제1 및 교체용 제2 데이터 기억 장치들 사이의 제2 데이터 통신 경로(20)로, 상기 현재의 제1 및 교체용 제2 데이터 기억 장치들을 연결하는 단계와,First data communication path 28 and the current first and replacement between the data processing device 12 and the replacement second data storage device 16 as a replacement for the existing path 19. Connecting the current first and replacement second data storage devices with a second data communication path 20 between the second data storage devices for use; 제1 모드(도 4)에서, 상기 데이터 처리 장치(12)의 동작과 독립적으로, 상기 현재의 제1 데이터 기억 장치(14)의 지정된 어드레스의 기억 위치들로부터 상기 교체용 제2 데이터 기억 장치(16)의 지정된 어드레스의 기억 위치들로 상기 제2 경로(20)를 통하여 데이터 소자들을 이동하는 단계와,In the first mode (Fig. 4), independent of the operation of the data processing apparatus 12, the replacement second data storage device (from the storage positions at the designated address of the current first data storage device 14) ( Moving data elements through the second path 20 to storage locations at designated addresses in 16; 제2 모드(도 3)에서, 상기 제1 경로(28)를 통한 상기 데이터 처리 장치(12)로부터의 판독 또는 기록 명령에 응답하여, 상기 명령에서 식별되는 지정된 어드레스의 기억 위치에서의 데이터 소자가 상기 교체용 제2 데이터 기억 장치(16)로 이미 이동되었는지를 결정하고, 만약 이동되지 않았을 경우에는, 상기 현재의 제2 데이터 기억 장치(14)의 상기 지정된 어드레스의 기억 위치의 상기 데이터 소자를 상기 교체용 제2 데이터 기억 장치(16)의 대응하는 지정된 어드레스의 기억 위치로 상기 제2 경로(20)를 통하여 이동시키고, 각 데이터 소자의 이동을 기록하는 단계를 포함하는 것을 특징으로 하는 방법.In the second mode (FIG. 3), in response to a read or write command from the data processing apparatus 12 via the first path 28, the data element at the storage location of the specified address identified in the command is It is determined whether it has already been moved to the replacement second data storage device 16, and if it has not been moved, the data element at the storage position of the designated address of the current second data storage device 14 is recalled. Moving through said second path (20) to a storage location of a corresponding designated address of a second data storage device (16) for replacement, and recording movement of each data element. 제11항에 있어서, 상기 제1경로(28)에 의해 상기 제2 데이터 기억 장치(16)를 상기 데이터 처리 장치(12)로 연결하기 전에, 상기 제1 데이터 기억 장치(14)와 상기 데이터 처리 장치(12) 사이의 상기 기존의 경로(19)를 끊는 단계를 수행하는 단계를 포함하는 것을 특징으로 하는 방법.12. The data processing apparatus as claimed in claim 11, wherein the first data storage device (14) and the data processing are performed before the first data path (28) connects the second data storage device (16) to the data processing device (12). Performing a step of breaking said existing path (19) between devices (12). 제11항에 있어서, 상기 제2 데이터 기억 장치(16)는 적어도 상기 명령에서 식별되는 선정된 어드레스의 기억 위치를 가지는 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있는지에 대한 지시를 제공하는 데이터 소자 맵(24)을 포함하며, 상기 방법은12. The data storage device as claimed in claim 11, wherein the second data storage device (16) provides an indication as to whether a data element having a storage position of at least a predetermined address identified in the command is stored in the second data storage device (16). Providing a data element map 24, the method comprising 상기 데이터 처리 장치(12)로부터 상기 제1 경로(28)를 통하여 상기 제2 데이터 기억 장치(16)에 의해, 상기 제1 데이터 기억 장치(14)의 선정된 어드레스의 기억 위치에 저장되어 있는 적어도 하나의 데이터 소자에 관한 데이터 소자 판독 또는 기록 요구를 포함하는 데이터 전송 명령을 수신하는 단계와,At least stored in the storage position of the predetermined address of the first data storage device 14 by the second data storage device 16 from the data processing device 12 via the first path 28. Receiving a data transfer command comprising a data element read or write request for one data element; 상기 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치에 저장되어 있는지를 결정하기 위해, 상기 제2 데이터 기억 장치(16)에 의해 상기 데이터 소자 맵(24)을 탐색하는 단계와,Searching the data element map 24 by the second data storage device 16 to determine whether the at least one data element is stored in the second data storage device; 상기 탐색 단계에 응답하여, 상기 제2 데이터 기억 장치가 상기 적어도 하나의 데이터 소자를 상기 제1 데이터 기억 장치로부터 상기 제2 데이터 기억 장치로 상기 제2 경로(20)를 통하여 이동시키고, 상기 데이터 소자 맵(24)을 갱신함으로써 상기 적어도 하나의 데이터 소자의 이동을 기록하는 단계를In response to the searching step, the second data storage device moves the at least one data element from the first data storage device through the second path 20 to the second data storage device. Recording the movement of the at least one data element by updating map 24 더 포함하는 것을 특징으로 하는 방법.It further comprises a method. 제13항에 있어서,The method of claim 13, 상기 제2 데이터 기억 장치(16)에 의해, 상기 데이터 전송 명령이 데이터 판독 요구인지를 결정하는 단계와,Determining, by the second data storage device 16, whether the data transfer command is a data read request; 상기 요구된 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있는지를 결정하는 단계와,Determining whether the requested at least one data element is stored in the second data storage device 16; 만약 상기 요구된 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있다면, 상기 요구된 적어도 하나의 데이터 소자를 상기 데이터 처리 장치(12)로 상기 제1 경로(28)를 통하여 제공하는 단계와,If the requested at least one data element is stored in the second data storage device 16, the requested at least one data element is passed through the first path 28 to the data processing device 12. To provide, 만약 상기 요구된 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있지 않다면, 상기 적어도 하나의 데이터 소자가 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터 기억 장치(16)의 지정된 어드레스의 기억 위치로 상기 제2 경로(20)를 통하여 이동되도록 하는 단계와, 상기 제2 데이터 기억 장치(16)가 상기 요구된 적어도 하나의 데이터 소자를 상기 데이터 처리장치(12)로 상기 제1 경로(28)를 통하여 제공하는 단계를 수행하는 단계If the requested at least one data element is not stored in the second data storage device 16, the at least one data element is transferred from the first data storage device 14 to the second data storage device 16. Moving through the second path 20 to a storage location of a designated address of the c), and wherein the second data storage device 16 transfers the requested at least one data element to the data processing device 12. Performing the step of providing through the first path 28 를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a. 제13항에 있어서,The method of claim 13, 상기 제2 데이터 기억 장치(16)에 의해, 상기 데이터 전송 명령이 데이터 기록 요구인지를 결정하는 단계와,Determining, by the second data storage device 16, whether the data transfer command is a data write request; 기록되어야 할 상기 적어도 하나의 데이터 소자가 상기 제1 또는 제2 데이터 기억 장치에 현재 저장되어 있는지를 결정하는 단계와,Determining whether the at least one data element to be written is currently stored in the first or second data storage device; 만약 상기 요구된 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있다면, 상기 적어도 하나의 데이터 소자를 상기 데이터 처리 장치(12)로 상기 제1 경로(28)를 통하여 기록하는 단계와,If the requested at least one data element is stored in the second data storage device 16, the at least one data element is written to the data processing device 12 via the first path 28. Steps, 만약 기록되어야 할 상기 적어도 하나의 데이터 소자가 상기 제2 데이터 기억 장치(16)에 저장되어 있지 않다면, 상기 데이터 처리 장치(12)에 의해 기록되도록 요구된 상기 적어도 하나의 데이터 소자에 대하여 상기 제1 데이터 기억 장치(14)로부터 데이터 소자를 이동하는 단계와, 상기 제2 데이터 기억 장치(16)가 기록되어야 할 상기 적어도 하나의 데이터 소자를 상기 제2 데이터 기억 장치로 기록하는 단계를 수행하는 단계If the at least one data element to be written is not stored in the second data storage device 16, the first data element for the at least one data element required to be written by the data processing device 12. Moving a data element from the data storage device 14 and recording the at least one data element to be recorded by the second data storage device 16 into the second data storage device. 를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a. 제13항에 있어서,The method of claim 13, 상기 제2 데이터 기억 장치(16)가 적어도 상기 데이터 처리 장치(12)로부터의 데이터 소자 판독 또는 기록 요구들에 응답하느라 완전한 비지(busy) 상태는 아닌지를 결정하는 단계와,Determining whether the second data storage device 16 is in a completely busy state in response to at least data element read or write requests from the data processing device 12; 상기 데이터 소자 맵(24)으로부터, 상기 제1 데이터 기억 장치(14)에 저장되어 있는 어떤 데이터 소자들이 상기 제2 데이터 기억 장치(16)로 이동되지 않았는지를 결정하는 단계와,Determining, from the data element map 24, which data elements stored in the first data storage device 14 have not been moved to the second data storage device 16; 상기 제2 데이터 기억 장치(16)로 이동되지 않았으며, 상기 제2 데이터 기억장치(16)에 의해 요구되는 상기 데이터 소자들을 상기 제1 데이터 기억 장치(14)로부터 이동하는 단계와,Moving the data elements required by the second data storage device 16 from the first data storage device 14 without being moved to the second data storage device 16; 상기 이동된 데이터 소자들이 상기 제2 데이터 기억 장치(16)에 저장되어 있는지를 나타내도록 상기 데이터 소자 맵(24)을 갱신하는 단계Updating the data element map 24 to indicate whether the moved data elements are stored in the second data storage device 16. 를 더 포함하는 것을 특징으로 하는 방법.Method further comprising a. 제11항 내지 제16항 중 어느 한 항에 있어서, 상기 데이터 처리 장치(12)에 의한 액세스를 위해 요구되는 모든 데이터 소자들이 상기 제2 데이터 기억장치(16)로 이동될 때까지, 상기 제2 경로(20)를 통하여 상기 제1(도 4) 및 제2(도 3) 모드 이동들을 수행하는 단계를 포함하며, 상기 단계 수행 이후 상기 데이터 처리 장치로부터의 모든 명령들이 상기 제2 데이터 기억 장치에서 처리되는 것을 특징으로 하는 방법.17. The method according to any one of claims 11 to 16, until all data elements required for access by the data processing device 12 are moved to the second data storage device 16. Performing the first (FIG. 4) and second (FIG. 3) mode movements through the path 20, wherein all instructions from the data processing device are executed in the second data storage device after performing the step. Treated. 제17항에 있어서, 상기 제1 데이터 기억 장치(14)는 데이터 블록을 정의하는, 연속적으로 어드레스가 지정되는 위치들에 데이터 소자들을 저장하고, 상기 제1 및 제2 모드 이동들 각각은 데이터 블록을 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터 기억 장치(16)로 전송하며, 상기 제2 데이터 기억 장치(16)는 데이터 소자 맵(24)을 포함하며, 상기 데이터 소자 맵(24)은 상기 제1 데이터 기억 장치(14)의 모든 데이터 블록들이 데이터 이동을 필요로 한다고 지시하도록 초기화되고 각 데이터 블록 이동에 응답하여 갱신되어 상기 데이터 처리 장치(12)에 의한 액세스를 위해 요구되는 모든 데이터 소자들이 상기 제2 데이터 기억장치(16)로 이동되었을 때 데이터 이동을 종료하도록 하는 것을 특징으로 하는 방법.18. The device of claim 17, wherein the first data storage device 14 stores data elements at successively addressed locations that define a data block, each of the first and second mode movements being a data block. Is transmitted from the first data storage device 14 to the second data storage device 16, wherein the second data storage device 16 includes a data element map 24, and the data element map 24. ) Is initialized to indicate that all data blocks of the first data storage device 14 require data movement and are updated in response to each data block movement to provide all required data for access by the data processing device 12. And end data movement when data elements are moved to said second data storage (16). 제18항에 있어서, 상기 제1 및 제2 모드 이동들은 제어 파라미터들에 응답하여 데이터 블록들을 상기 제1 데이터 기억 장치(14)로부터 상기 제2 데이터기억 장치(16)로 전송하도록 복사 서브루틴(도 4 및 3)의 동작을 제어함으로써 이루어지는데, 상기 제1 모드 이동은 상기 제어 파라미터들의 제1 값들을 정하기 위한 백그라운드 모드 제어를 포함하며, 상기 제2 모드 이동은 상기 제1 기억 장치(14)에만 위치하는 데이터 블록들을 액세스하기 위해 상기 데이터 처리 장치(12)에 의해 내려진 명령들에 응답하여 상기 제어 파라미터들에 대한 제2 값들을 정하기 위한 포그라운드 모드 제어를 포함하는 것을 특징으로 하는 방법.19. The method according to claim 18, wherein the first and second mode movements are adapted to transfer data blocks from the first data storage device 14 to the second data storage device 16 in response to control parameters. 4 and 3, wherein the first mode shift includes a background mode control for determining first values of the control parameters, and the second mode shift includes the first storage device 14; And foreground mode control for setting second values for the control parameters in response to instructions issued by the data processing device (12) to access data blocks located only in the data processing method. 제1항 내지 제4항 중 어느 한 항에서 청구된 시스템 또는 제15항 및 제16항 중 어느 한 항에서 청구된 방법에서 제2 데이터 기억 장치로서 사용하기 위한 교체용 데이터 기억 장치에 있어서,17. A replacement data storage device for use as a second data storage device in the system claimed in any one of claims 1 to 4 or the method claimed in any one of claims 15 and 16. 상기 교체용 데이터 기억 장치(16)는 현재의 제1 데이터 저장 장치(14)와 상기 데이터 처리 장치(12) 사이의 기존의 데이터 통신 경로(19) 대신에, 상기 현재의 제1 데이터 기억 장치(14)와 상기 데이터 처리 장치(12) 사이에 연결 가능하고, 상기 기존의 경로(19) 대신에 연결될 경우, 상기 현재의 데이터 기억 장치로서 동작하여 상기 데이터 처리 장치(12)로부터 데이터 전송 요구들을 수신하도록 구성 가능하며,The replacement data storage device 16 replaces the existing first data storage path 14 between the current first data storage device 14 and the data processing device 12, instead of the existing data communication path 19. 14 can be connected between the data processing apparatus 12 and the data processing apparatus 12, when connected in place of the existing path 19, and acts as the current data storage apparatus to receive data transfer requests from the data processing apparatus 12. Configurable to 상기 교체용 데이터 기억 장치(16)는 (a) 제1 모드(도 4)에서 상기 데이터 처리 장치의 동작들과 병행하여 독립적으로, 그리고 (b) 제2 모드(도 3)에서 상기 교체용 기억 장치(16)에는 저장되어 있지 않고 상기 현재의 기억 장치(14)에는 저장되어 있는 데이터에 대한 상기 데이터 처리 장치로부터의 데이터 전송 명령에 응답하여 이렇듯 선택적으로, 상기 현재의 데이터 기억 장치로부터 상기 교체용 데이터 기억 장치로, 데이터의 실시간 이동을 가능케 하도록 동작하는 수단과, 상기 데이터가 상기 교체용 기억 장치로 이동되었음을 기록하는 수단을 포함하는 것을 특징으로 하는 장치.The replacement data storage device 16 is (a) independently in parallel with the operations of the data processing device in the first mode (FIG. 4), and (b) the replacement memory in the second mode (FIG. 3). In this way, in response to a data transfer command from the data processing device for the data not stored in the device 16 but stored in the current storage device 14, the replacement for the replacement from the current data storage device is performed. A data storage device comprising means for enabling real-time movement of data and means for recording that data has been moved to said replacement storage device.
KR1019970702900A 1995-09-01 1996-08-29 Systems and methods for on-line, real-time data execution KR100460245B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970702900A KR100460245B1 (en) 1995-09-01 1996-08-29 Systems and methods for on-line, real-time data execution

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/522903 1995-09-01
KR1019970702900A KR100460245B1 (en) 1995-09-01 1996-08-29 Systems and methods for on-line, real-time data execution

Publications (1)

Publication Number Publication Date
KR100460245B1 true KR100460245B1 (en) 2005-04-06

Family

ID=43665008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970702900A KR100460245B1 (en) 1995-09-01 1996-08-29 Systems and methods for on-line, real-time data execution

Country Status (1)

Country Link
KR (1) KR100460245B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324420A (en) * 1992-05-22 1993-12-07 Kobe Steel Ltd Conversion device for data base
JPH07201132A (en) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp Duplex disk device and head position changing method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324420A (en) * 1992-05-22 1993-12-07 Kobe Steel Ltd Conversion device for data base
JPH07201132A (en) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp Duplex disk device and head position changing method

Similar Documents

Publication Publication Date Title
US5680640A (en) System for migrating data by selecting a first or second transfer means based on the status of a data element map initialized to a predetermined state
US8782357B2 (en) Reversing a communication path between storage devices
US6625704B2 (en) Data backup method and system using snapshot and virtual tape
US7587564B2 (en) System, method and computer program product for managing data versions
US6862632B1 (en) Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US6587933B2 (en) Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device
US7213116B2 (en) Method and apparatus for mirroring objects between storage systems
US6253295B1 (en) System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes
US5497483A (en) Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
US20060047926A1 (en) Managing multiple snapshot copies of data
US6944726B2 (en) Distributed background track processing
US6148369A (en) Method and apparatus for providing logical devices spanning several physical volumes
EP1636690B1 (en) Managing a relationship between one target volume and one source volume
US7133989B2 (en) Point in time copy between data storage systems
US6810447B2 (en) Hierarchical approach to identifying changing device characteristics
US7254672B1 (en) Translation device driver for translating between disk device driver and tape device driver commands
JP2005215940A (en) Storage system, server apparatus, and preceding copy data preparation method
KR100460245B1 (en) Systems and methods for on-line, real-time data execution
JP2545436B2 (en) Distributed database commitment processor
US6594726B1 (en) Digital data storage subsystem including arrangement for efficiently controlling fast write storage operation
US6266739B1 (en) Method and apparatus for ultra high-speed formatting of a disk drive volume
WO1991008537A1 (en) Data record copy apparatus for a virtual memory system
WO1991008536A1 (en) Data record move apparatus for a virtual memory system
EP1507207B1 (en) Hierarchical approach to identifying changing device characteristics
JPH10269123A (en) Data backup method

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20071122

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee