KR20060090166A - 누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 - Google Patents
누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 Download PDFInfo
- Publication number
- KR20060090166A KR20060090166A KR1020060001670A KR20060001670A KR20060090166A KR 20060090166 A KR20060090166 A KR 20060090166A KR 1020060001670 A KR1020060001670 A KR 1020060001670A KR 20060001670 A KR20060001670 A KR 20060001670A KR 20060090166 A KR20060090166 A KR 20060090166A
- Authority
- KR
- South Korea
- Prior art keywords
- cache
- storage medium
- data
- write
- way
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3187—Built-in tests
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N33/00—Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
- G01N33/48—Biological material, e.g. blood, urine; Haemocytometers
- G01N33/483—Physical analysis of biological material
- G01N33/487—Physical analysis of biological material of liquid biological material
- G01N33/49—Blood
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/145—Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue
- A61B5/1468—Measuring characteristics of blood in vivo, e.g. gas concentration, pH value; Measuring characteristics of body fluids or tissues, e.g. interstitial fluid, cerebral tissue using chemical or electrochemical methods, e.g. by polarographic means
Landscapes
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Chemical & Material Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Hematology (AREA)
- Biophysics (AREA)
- Pathology (AREA)
- General Engineering & Computer Science (AREA)
- Medical Informatics (AREA)
- Chemical Kinetics & Catalysis (AREA)
- Optics & Photonics (AREA)
- Surgery (AREA)
- Animal Behavior & Ethology (AREA)
- General Chemical & Material Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Ecology (AREA)
- Heart & Thoracic Surgery (AREA)
- Urology & Nephrology (AREA)
- Food Science & Technology (AREA)
- Medicinal Chemistry (AREA)
- Analytical Chemistry (AREA)
- Biochemistry (AREA)
- Immunology (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명은 저장 매체로의 기록 데이터에 대한 요청이 수신되는 방법, 시스템 및 제조물품에 관한 것이다. 저장 매체로 기록되도록 요청되는 데이터는 캐시에 저장된다. 데이터 기록은 저장 매체로 개시된다. 캐시에 저장되는 데이터가 저장 매체에 기록되는 데이터와 동일한지를 주기적으로 판단한다.
Description
참조할 도면에서 동일한 참조번호는 전체 도면에서 대응 부분을 나타낸다.
도 1은 소정 실시예에 따른 컴퓨팅 환경의 블록도를 도시하고 있다.
도 2는 소정 실시예에 따른 컴퓨팅 환경에 포함되는 구성 요소와 데이터 구조를 보여주는 블록도를 도시하고 있다.
도 3은 소정 실시예에 따른 누락된 기록을 복원하는 동작을 도시하고 있다.
도 4는 소정 실시예에 따른 리스트 관리 애플리케이션에서 구현되는 동작을 도시하고 있다.
도 5는 소정 실시예에 따른 종합적 검증 자기 테스트 애플리케이션에서 구현되는 동작을 도시하고 있다.
도 6은 소정 실시예에 따른 판독 요구를 프로세싱하는 동작을 도시하고 있다.
도 7은 소정 실시예가 구현되는 시스템을 도시하고 있다.
도면의 주요 부분에 대한 부호의 설명
102: 디스크 드라이브 104: 연산 장치
106: 캐시 108: 리스트 관리자 애플리케이션
110: 순서화된 리스트 112: CVST 애플리케이션
116: PPST 애플리케이션 118: 디스크(저장 매체)
본 발명은 저장 장치의 누락된 기록의 검출 및 복원을 위한 방법, 시스템 및 제조물품에 관한 것이다.
데이터를 디스크 드라이브에 기록하는 기록 동작은 간헐적으로 또는 지속적으로 실패할 수 있다. 이러한 실패를 검출하기 위해, 어떤 드라이브는 헤더 판독기 및 기록 전치 증폭기 회로를 이용하여 기록 전류가 소정 임계치 이하인지를 검출한다. 검출 회로가 추가되어 더 복잡해짐에 따라 신뢰성 문제를 일으킬 수 있다. 또한, 검출 임계치 설정은 모든 기록 에러의 검출을 보장할 수 없다.
어떤 구현은 액츄에이터를 디스크의 예약된 영역으로 주기적으로 이동시키고, 이어서 각 헤드에 의해 기록된 것을 기록하고 검증함으로써 디스크 드라이브가 누락된 기록 문제점을 갖는지를 검출하려 할 수 있다. 모든 헤드에 대한 기록 기능의 이 검증은 PPST(persistent problem self test)라 불릴 수 있다. 이 메커니즘은 기록 문제점이 지속적인 경우에만, 즉, 기록을 누락하고 있는 드라이브가 악성 헤드를 포함하는 모든 후속 기록을 계속 누락하는 경우에만 누락된 기록을 검출 한다. PPST 검증 메커니즘은 간헐적으로 누락되는 기록을 검출하는 데에는 충분히 효율적이지 못하다. 또한, PPST 검증은 연속적 PPST 기록 기능 검증들 사이의 누락된 기록으로 인해 기록되지 않은 데이터는 복원할 수 없다. 또한, PPST 검증의 주파수가 증가되어 데이터 오손의 양을 최소화하는 경우, 입력/출력(I/O) 성능이 수용될 수 없는 수준까지 내려갈 수 있다.
어떤 구현에서는, PPST 검증은 연속적 PPST 검증들 사이의 기록 모두를 보유함으로써 증가될 수 있다. 잘못된 기록이 검출되면 데이터는 캐시로부터 직접적으로 복원된다. 이 메커니즘은 간헐적으로 누락되는 기록은 보호하지 못하는데, 왜냐면 간헐적으로 누락되는 기록은 헤드의 주기적 체크에 의해 검출될 수 없기 때문이다. 또한, PPST 검증의 오버헤드로 인한 성능 약화를 감소시키기 위해 상당히 중요하며 고비용일 수 있는 전용 캐시가 필요할 수 있다. 기록 모두를 포획하는 데 필요한 캐시는 PPST 검증들 사이의 시간 간격이 증가함에 따라 증가할 수 있다.
간헐적으로 누락된 기록 및 지속적으로 누락된 기록 모두에 대한 보호를 제공하는 어떤 구현은 각 기록 동작에 대한 기록 검증을 수행할 수 있는데, 여기서는 기록이 수행될 때마다 디스크 드라이브는 회전을 완료하고 막 기록된 데이터를 판독하며 이를 기록 버퍼의 데이터와 비교한다. 이는 데이터 손실 없음을 보장하지만, 드라이브의 지연을 증가시키며, 결과적 I/O 성능이 수용될 수 없을 수 있다.
본 발명은 저장 매체로의 기록 데이터에 대한 요청이 수신되는 방법, 시스템 및 제조물품에 관한 것이다. 저장 매체로 기록되도록 요청되는 데이터는 캐시에 저장된다. 데이터 기록은 저장 매체에 대해 개시된다. 캐시에 저장되는 데이터가 저장 매체에 기록되는 데이터와 동일한지를 주기적으로 판단한다.
추가 실시예에서, 저장된 데이터는 캐시에 저장된 데이터가 저장 매체에 기록된 데이터와 동일하다고 판단되면, 캐시로부터 저장된 데이터를 제거한다.
또 다른 실시예에서는, 캐시에 저장된 데이터가 저장 매체에 기록된 데이터와 동일하지 않다고 판단되면, 저장 매체가 기록 보호된다. 저장 매체에 적어도 하나의 누락된 기록을 표시하는 에러가 발생된다.
다른 실시예에서, 저장 매체는 디스크인데, 캐시는 디스크보다 작은 저장 용량을 가지며, 데이터는 디스크보다 더 신뢰할 수 있게 캐시에 기록될 수 있고, 호스트 애플리케이션은 저장 매체가 아닌 캐시로부터 검증되지 않은 데이터를 판독한다.
또 다른 실시예에서, 캐시의 엔트리 수가 임계치를 초과하는지에 관한 판단이 내려지는데, 엔트리는 캐싱된 기록에 대응한다. 엔트리의 기록 어드레스는 결합되어 결합된 기록 어드레스 리스트를 발생시킨다. 결합된 기록 어드레스 리스트는 순서화되는데, 상위 순서의 결합된 기록 어드레스는 하위 순서의 결합된 기록 어드레스보다 먼저 저장 매체로의 기록 에러에 대해 검증된다. 소정 실시예에서, 임계치를 초과하는 것은 캐시가 10% 넘게 찼음을 나타낸다.
다른 실시예에서, 캐시의 엔트리 수가 임계치를 초과하는지에 관한 판단이 내려지는데, 엔트리는 기록 어드레스에 대응한다. 선택된 엔트리에 대응하는 데이 터는 저장 매체에 대한 에러 없이 기록된 것인지에 관한 검증이 이루어진다. 소정 실시예에서, 임계치를 초과하는 것은 캐시가 90% 넘게 찼음을 나타낸다. 다른 실시예에서, 검증하는 단계는 종합적 검증 자기 테스트(comprehensive verification self test)가 인에이블되었는지를 판단하고, 종합적 검증 자기 테스트가 인에이블되지 않은 경우에는 지속적 문제점 자기 테스트(persistent problem self test)가 수행된다.
소정의 추가 실시예에서, 저장 매체로의 기록은 소정 순서로 수행되고, 저장 매체로의 기록의 검증은 이와 다른 순서로 수행된다.
또 다른 실시예에서, 캐시의 저장된 데이터가 저장 매체에 기록된 데이터와 동일하지 않으면, 간헐적 기록 에러가 검출된다. 또한, 소정 실시예에서, 지속적 기록 에러도 검출된다.
다음의 설명에서, 그 일부를 이루며 여러 실시예를 도시하고 있는 첨부된 도면을 참조할 것이다. 다른 실시예를 이용할 수 있으며 구조 및 동작을 변경할 수 있음을 이해할 것이다.
소정 실시예는 디스크 드라이브가 전체 블록 기록을 간헐적 또는 지속적으로 누락하고 기록 에러를 보고하는 데 실패한 경우에 디스크 드라이브로부터 데이터를 복원할 수 있다.
도 1은 소정 실시예에 따른 컴퓨팅 환경(100)의 블록도를 도시하고 있다. 디스크 드라이브(102)와 같은 저장 장치는 호스트 연산 장치와 같은 연산 장치(104)에 접속된다. 디스크 드라이브(102)는 SAN(a storage area network), LAN(a local area network), 인트라넷, 인터넷 등과 같은 네트워크를 통해 연산 장치에 직접 또는 간접적으로 접속될 수 있다.
연산 장치(104)는 클라이언트, 저장 서버, 서버, 개인 컴퓨터, 워크스테이션, 메인프레임, 중거리 컴퓨터, 네트워크 애플라이언스, 팜 탑 컴퓨터, 텔레포니 장치, 블레이드 컴퓨터, 휴대용 컴퓨터 등과 같은 주지의 것들을 포함하는 임의의 적합한 연산 장치일 수 있다. 도 1은 디스크 드라이브(102)와 같은 저장 장치를 도시하고 있으나, 다른 실시예에서는 저장 장치는 주지의 임의의 다른 적합한 장치일 수 있다. 소정 실시예의 예시적 디스크 드라이브(102)는 RAID(Redundant Array of Independent Disk) 어레이에 포함되거나 JBOD(Just a Bunch of Disk)에 포함될 수 있다.
디스크 드라이브(102)는 미검증 기록 데이터(106a)를 저장하는 캐시(106)와, 비중첩 논리 블록 어드레스의 순서화된(ordered) 리스트와 캐시(106)에 저장되는 엔트리에 대응하는 관련 카운트를 관리하는 리스트 관리자 애플리케이션(108)과, 하나 이상의 사전 결정된 조건(114) 세트가 만족되면 실행되는 CVST(a comprehensive verification self test) 애플리케이션(112)과, PPST 애플리케이션(116)을 포함할 수 있다. 디스크 드라이브(102)는 데이터가 기록될 수 있는 하나 이상의 디스크(118)를 포함할 수 있다.
캐시(106)는 임의의 적합한 비휘발성 메모리를 포함할 수 있다. 소정 실시 예에서, 캐시상의 기록은 디스크(118)상의 기록보다 높은 신뢰도로 수행된다. 캐시(106)에 저장되는 미검증 기록 데이터(106a)는 디스크 드라이브(102)를 리셋하는 이벤트에서도 유지된다.
리스트 관리 애플리케이션(108), CVST 애플리케이션(116) 및 PPST 애플리케이션(116)은 소프트웨어, 펌웨어, 하드웨어 또는 그 임의의 조합으로 구현될 수 있다. 순서화된 리스트(110) 및 사전 결정된 조건(114)은 임의의 적합한 데이터 구조로 저장될 수 있다.
소정 실시예에서, 기록 요청이 연산 장치(104)로부터 디스크 드라이브(102)에 수신되면, 기록 요청에 대응하는 데이터가 캐시(106)에 저장된다. 데이터를 디스크(118)에 기록하는 데 어떤 에러가 존재하면, CVST 애플리케이션 및/또는 PPST 애플리케이션(116)은 디스크(118)에 기록되는 데이터를 캐시(106)에 저장되는 데이터와 비교함으로써 에러를 판단할 수 있다.
도 2는 소정 실시예에 따른 컴퓨팅 환경에 포함되는 구성 요소 및 데이터 구조를 보여주는 블록도를 도시하고 있다.
리스트 관리자 애플리케이션(108)은 순서화된 리스트(110)를 관리하는데, 순서화된 리스트(110)는 비중첩 논리 블록 어드레스(LBA) 및 관련 카운트를 갖는 엔트리를 포함할 수 있다. 예를 들어, 순서화된 리스트(110)의 예시적 엔트리는 논리 블록 어드레스= 3이고 카운트= 4인 기록에 대응할 수 있다. 이는 데이터가 4개의 논리 블록 어드레스(3,4,5,6)에 기록된다는 것을 의미한다. 이들 논리 블록 어드레스(3,4,5,6)이 이미 예시적 엔트리에 포함되므로, 논리 블록 어드레스 (3,4,5,6)를 포함하는 순서화된 리스트(110)에 다른 엔트리는 존재하지 않는다. 또한, 리스트 관리자 애플리케이션(108)은 리스트(110)를 순서화하여 디스크 드라이브(102)로부터의 판독 성능을 향상시킨다.
소정의 사전 결정된 조건(114)이 만족될 때, CVST 애플리케이션(112)은 순서화된 리스트(110)의 서브 세트(200)를 선택하고 대응 판독 커맨드(202)를 발신하여 디스크(118)로부터 데이터를 판독할 수 있다. 소정 실시예에서, 선택된 서브 세트(200)는 순서화된 리스트(110)의 엔트리의 상위 5%를 포함할 수 있다. 예를 들어, 서브 세트(200)의 선택된 엔트리가 논리 블록 어드레스= 3이고 카운트= 4에 대응하면, CVST 애플리케이션(112)은 판독 커맨드(202)를 발신하여 디스크(118)로부터 논리 블록 어드레스(3,4,5,6)를 판독한다.
디스크(118)에 저장되는, 실행된 판독 커맨드(202)의 결과인 데이터(204)는 캐시(106)에 저장되는 데이터에 비교된다(참조 번호 206). 비교 결과를 표시하는 상태(208)가 발생되어 리스트 관리자 애플리케이션(108)으로 송신될 수 있다. 예를 들어, 상태(208)가 디스크(118)의 데이터(204)가 캐시(108)의 데이터와 일치한다고 표시하면, 삭제된 엔트리에 대응하는 미검증 기록 데이터(106a)가 디스크(118)에 올바르게 기록된 것으로 검증됨에 따라 리스트 관리자 애플리케이션(108)은 순서화된 리스트(110)의 대응 엔트리를 삭제할 수 있다.
그러므로, 도 2는, 리스트 관리자 애플리케이션(108) 및 CVST 애플리케이션(112)이 디스크(118)에 기록되는 데이터와 캐시(106)에 기록되는 데이터를 비교함으로써 디스크(118)에 기록되는 데이터를 검증하는 소정 실시예를 도시하고 있다.
도 3은 소정 실시예에 따른 디스크 드라이브(102)에서 구현되는 누락된 기록을 복원하는 동작을 도시하고 있다.
블록(300)에서 제어가 시작되는데, 요청이 수신되어 디스크 드라이브(102)의 디스크(118)에 데이터를 기록한다. (블록 302에서) 디스크 드라이브(102)는 기록 요청에 대응하는 데이터를 캐시(106)에 저장하는데, 이 데이터는 디스크(118)에 기록될 것이다. 블록(302)으로부터, 제어는 블록(304 및 308)과 함께 진행한다.
디스크 드라이브(102)는 (블록(304)에서) 캐시(106)가 현저한 수의 엔트리를 갖는지를 판단한다. 소정 실시예에서, 캐시(106)가 전체의 10% 이상이면 현저한 수를 갖는 것으로 고려된다. 그러한 경우에는, 디스크 드라이브(102)는 (블록(306)에서) 리스트 관리자 애플리케이션(108)을 실행하여 캐시 엔트리들을 결합시킨다. 리스트 관리자 애플리케이션(108)은 비중첩 논리 블록 어드레스 및 관련 카운트의 순서화된 리스트(110)를 발생시킬 수 있다. 그 후, 제어는 블록(300)으로 복귀한다. 캐시(106)가 현저한 수의 엔트리를 갖지 않으면, 디스크 드라이브(102)는 기록 요청이 수신되는 블록(300)으로 제어를 복귀시킨다.
디스크 드라이브(102)는 (블록(308)에서) 캐시(106)가 거의 찼는지(full)를 판정한다. 예를 들어, 소정 실시예에서, 캐시(106)가 전체 90% 이상이면 거의 찬 것으로 고려된다. 디스크 드라이브(102)는 (블록(310)에서) CVST 프로세싱이 인에이블되는지를 판단한다. 그러한 경우, 디스크 드라이브(120)는 (블록(312)에서) 순서화된 리스트(110)의 선택된 엔트리상에 CVST 애플리케이션(112)을 실행한다. 소정 실시예에서, 선택된 엔트리는 순서화된 리스트(110)의 최상위 순서를 갖는, 예를 들어, 순서화된 리스트(110)의 엔트리의 상위 5%를 갖는 엔트리일 수 있다. 제어는 새로운 기록 요청이 수신되는 블록(300)으로 복귀한다. 또한, 디스크 드라이브(102)가 캐시(106)가 거의 차지 않았다고 판정하면, 제어는 블록(300)으로 복귀한다.
디스크 드라이브(102)가 (블록(310)에서) CVST 프로세싱이 인에이블되지 않는다고 판정하면, 디스크 드라이브(102)는 (블록(314)에서) PPST 애플리케이션(116)을 즉시 실행하고 제어는 블록(300)으로 복귀한다. PPST 애플리케이션(116)은 지속적으로 누락되는 기록 문제점을 검출할 수 있다. 소정 실시예에서, CVST 프로세싱은 인에이블되지 않는데, 이는 기록 문제점이 지속적인 경우에만 누락된 기록의 검출이 소정 환경에 적합하기 때문이다. CVST 프로세싱이 디스에이블되는 이러한 실시예에서, CVST 프로세싱의 소정 오버헤드는 발생되지 않을 수 있다.
소정 실시예에서, (블록(308)에서) 캐시가 거의 찼는지를 판단하는 단계 및/또는 (블록(304)에서) 캐시가 현저한 수의 엔트리를 갖는지를 판단하는 단계는, 소정 실시예에서 캐시의 가득참 또는 캐시의 엔트리 수를 표시할 수 있는 사전 결정된 임계치와의 비교에 기초하여 구현될 수 있다.
그러므로, 도 3은 캐시가 거의 찼을 때 CVST 애플리케이션(112)이 실행되는 소정 실시예를 도시하고 있다. CVST 애플리케이션(112)은 순서화된 리스트(110)로부터 엔트리를 선택하여 디스크(118)로의 기록을 검증하는데, 순서화된 리스트(110)는 캐시(106)의 엔트리 수가 사전 정의되는 임계치를 초과할 때 리스트 관리자 애플리케이션(108)에 의해 능동적으로 관리될 수 있다.
도 4는 소정 실시예에 따른 리스트 관리자 애플리케이션(108)에서 구현되는 소정 동작을 도시하고 있다.
제어는 블록(400)에서 시작되는데, 여기서 리스트 관리자 애플리케이션(108) 실행이 개시된다. 블록(400)에서, 제어는 블록(402 및 406)과 함께 진행된다.
리스트 관리자 애플리케이션(108)은 (블록(402)에서) 논리 블록 어드레스를 포함하는 기록 어드레스와 인접 또는 중첩하는 캐싱된 기록의 카운트를 결합한다. 그 결과, 리스트 관리자 애플리케이션(108)은 비중첩 논리 블록 어드레스 및 관련 카운트의 리스트(110)를 발생시킨다. 예를 들어, LBA= 3 이고 카운트= 4에 대한 기록 및 LBA= 5이고 카운트= 8에 대한 나중의 기록이 LBA= 3이고 카운트= 10인 단일 어드레스로 결합될 수 있는데 데이터 블록 중 2개가 중첩하기 때문이다. 이는 그 논리 블록 어드레스와 관련 카운트가 단일 판독으로 인접하거나 중첩하는 2개 이상의 기록의 검증을 효율적으로 감소시킨다. 다른 실시예에서는, 2개 이상의 거의 인접하는 기록도 결합될 수 있다. 블록(402)의 결과는 논리 블록 어드레스의 감소된 리스트 및 중첩 없는 카운트이다.
리스트 관리자 애플리케이션(108)은 (블록(404)에서) 순서화된 리스트(110)를 재순서화하여 디스크 드라이브(102)로부터의 후속 판독 성능을 향상시킨다. 예를 들어, 소정 실시예에서, 순서화된 리스트(110)는 관련 카운트 사이즈 및 동일한 트랙에 해당하는 논리 블록 어드레스의 수에 기초하여 논리 블록 어드레스를 위치(rank)시킬 수 있다.
블록(406)에서, 리스트 관리자 애플리케이션(108)은 CVST 애플리케이션으로 부터 상태(208) 통보를 수신한다. 수신된 상태(208) 통보에 기초하여, 리스트 관리자 애플리케이션(108)은 새로운 호스트 기록 논리 블록 어드레스 및 카운트를 순서화된 리스트(110)에 추가할 수 있다. 또한, 리스트 관리자 애플리케이션(108)은 CVST 애플리케이션(112)에 의해 실행된 논리 블록 어드레스의 리스트를 삭제할 수도 있는데, 여기서 캐시에 저장되는 논리 블록 어드레스에 대응하는 데이터는 디스크(118)에 기록된 데이터를 성공적으로 일치하였다.
그러므로, 도 4는 리스트 관리자 애플리케이션(108)이 비중첩 논리 블록 어드레스의 순서화된 리스트 및 관련 카운트를 관리하여 디스크 드라이브(102)로부터의 후속 판독 성능을 향상시키는 소정 실시예를 도시하고 있다.
도 5는 소정 실시예에 따른 CVST 애플리케이션(112)에서 구현되는 동작을 도시하고 있다.
제어는 블록(500)에서 시작하는데, 여기서 CVST 애플리케이션(112)이 개시된다. CVST 애플리케이션(112)은 (블록(502)에서) 사전 결정된 조건(114)이 만족된다. 사전 결정된 조건은 순서화된 리스트(110)로부터 CVST 애플리케이션(112)에 의해 선택될 엔트리의 사이즈를 결정할 수 있다.
CVST 애플리케이션(112)이 (블록(502)에서) 사전 결정된 조건이 만족되었다고 판단하면, CVST 애플리케이션(112)은 (블록(504)에서) 리스트 관리자 애플리케이션(108)에 의해 제공되는 순서화된 리스트(110)의 서브 세트(200)를 판독 커맨드(202)로 변환한다. 그렇지 않으면, CVST 애플리케이션(112)은 사전 결정된 조건이 만족되었는지를 계속 판단한다.
CVST 애플리케이션(112)은 디스크(118)로부터의 실행되는 판독을 캐시(106)의 미검증 기록 데이터(106a)를 나타내는 대응 캐시 엔트리와 비교한다.
블록(508)에서, CVST 애플리케이션(112)은 캐시(108)의 데이터가 디스크(118)에 기록된 데이터와 일치하는지를 판단한다. 일치하는 경우, CVST 애플리케이션(112)은 (블록(510)에서) 캐시(106)로부터의 대응 데이터를 삭제하고, 상태(208) 통보를 리스트 관리자 애플리케이션(108)으로 송신하는데, 리스트 관리자 애플리케이션(108)은 순서화된 리스트(110)의 변경 및 재순서화를 관리한다.
블록(508)에서, CVST 애플리케이션(112)이 캐시(108)의 데이터가 실행되는 판독에 대해 디스크(118)에 기록된 데이터와 일치하지 않는다고 판단하면, CVST 애플리케이션(112)은 (블록(514)에서) 디스크 드라이브(102)를 기록 보호 모드로 설정하고 에러를 보고한다. 디스크 드라이브(102)가 기록 보호 모드일 때, 디스크(118)에는 데이터가 기록되지 않을 것이다. 디스크(118)로의 기록 에러의 경우는 디스크 드라이브(102)가 기록 보호 모드로 놓여진 후에 결정될 수 있다. 올바른 데이터는 캐시(106)에 저장되는 미검증 기록 데이터(106a)로부터 복원될 수 있다.
CVST 애플리케이션(112)에 의해 블록(504)에서 실행되는 판독 커맨드의 수는 복수의 사전 결정된 조건(114)에 의해 결정될 수 있다. 예를 들어, 제 1 예시적 조건에서, 호스트 유휴 시간이 2초이면, CSVT 애플리케이션(112)은 순서화된 리스트(110)의 20%로 실행될 수 있다. 제 2 예시적 조건에서, 순서화된 리스트(110)로부터 선택되는 엔트리의 수는 호스트 워크로드에 기초할 수 있다. 제 3 예시적 조건에서, 순서화된 리스트(110)로부터 선택되는 엔트리의 수는 사용 중인 캐시(106) 의 양에 기초할 수 있다. 예를 들어, 캐시가 전체의 90%이면, CVST 애플리케이션(112)은 순서화된 리스트(110)의 5%를 선택할 수 있다. 퍼센티지 수는 디스크(118)로의 판독 및 기록 성능을 최적화하도록 조절될 수 있다.
그러므로, 도 5는 CVST 애플리케이션(112)이 사전 결정된 조건(114)을 이용하여 디스크(118)로의 기록 동안 간헐적 기록 에러가 발생했는지를 검증하는 소정 실시예를 도시하고 있다.
도 6은 소정 실시예에 따른 디스크 드라이브(102)에서 구현되는 판독 요청을 프로세싱하는 동작을 도시하고 있다.
제어는 블록(600)에서 시작되는데, 여기서 디스크 드라이브(102)는 연산 장치(104)로부터 판독 요청을 수신한다. 디스크 드라이브(102)는 (블록(602)에서) 판독 요청에 대응하는 데이터가 캐시(106)에 존재하는 미검증 기록 데이터(106a)인지를 판단한다. 그러한 경우, 판독 요청은 (블록(604)에서) 캐시(106)로부터 데이터를 복귀시킴으로써 만족된다. 그렇지 않을 경우, 판독 요청은 (블록(606)에서)디스크(118)로부터 데이터를 복귀시킴으로써 만족된다.
그러므로, 도 6은 판독 요청에 대응하는 데이터가 미검증 기록 데이터(106a)인 경우, 외부 호스트로부터의 판독 요청이 캐시(106)로부터 만족되는 소정 실시예를 도시하고 있다. 그 결과, 판독 요청에 응답하여 복귀되는 데이터는 에러가 발생하지 않는다.
소정 실시예는 리스트 관리자 애플리케이션(108) 및 CVST 애플리케이션(112)을 제공하는데, CVST 애플리케이션(112)은, 리스트 관리자 애플리케이션(108)에 의 해 CVST 애플리케이션(112)에 제공되는 순서화된 리스트(110)를 이용함으로써, 캐시(106)의 기록 데이터의 일부를 디스크(118)로부터 판독되는 데이터에 비교한다. 소정 실시예는 캐시(106)에 저장되는 기록의 수를 감소시킴으로써 성능을 향상시킨다. 또한, 소정 실시예는, 기록 캐시(106)가 거의 찼을 때 PPST를 구현하는 PPST 애플리케이션이 CVST 애플리케이션에 의해 교체되는 경우, 간헐적 및 지속적으로 누락되는 기록 모두에 대한 보호도 제공한다.
소정 실시예는 누락되는 기록 체크로서 PPST 애플리케이션(116)을 이용하면서 리스트 관리자 애플리케이션(108) 및 CVST 애플리케이션(112)을 이용하여 검출 단계들 사이의 기록 캐시(106)의 콘텐츠를 감소시킴으로써 지속적으로 누락되는 기록에 대한 완전한 보호를 제공할 수 있다. 이 경우, PPST 애플리케이션(116)은 기록 캐시(106)가 거의 찼을 때 야기되며 기록 캐시 엔트리는 검출된 에러가 없을 때 플러시된다(flushed).
소정 실시예에서, 데이터 복원은 백그라운드 모드에서 또는 실시간으로 실행될 수 있다. 소정 실시예는 인터페이스에 상관 없이 임의의 디스크 드라이브상의 임의의 종류의 누락되는 기록 문제점에 대한 보호를 제공한다. 누락되는 기록은 간헐적 또는 지속적일 수 있으며, 호스트 애플리케이션에 대한 방해의 양이 감소될 수 있다. 디스크 드라이브의 누락되는 기록을 보호하는 소정 실시예는 입력/출력(I/O) 성능에 현저하게 영향을 주지 않을 수 있다.
리스트 관리자 애플리케이션(108)을 포함함으로써, 캐시(106)가 거의 가득 찬 상태에 도달하여 PPST 또는 CVST 검증에 의해 초래될 수 있는 성능 효과를 지연 시키는 주기를 연장한다. 소정 실시예에서, 긴 유휴 사이클 동안, CVST 및 PPST의 조합이 전체 캐시(106)를 플러시할 수 있다. 호스트 워크로드가 낮은 경우, 감소 비율은 호스트로부터의 기록 추가 비율보다 빠를 수 있으며, 이는 또한 전체 캐시의 플러시를 초래할 수 있다. 따라서, 이러한 상황에서 캐시(106)는 절대 가득 찰 수 없으며 후속 PPST 또는 CVST를 실행할 필요가 없을 것이다.
소정 실시예에서, 논리 블록 어드레스 및 관련 카운트를 단순화시키고 순서화된 리스트(110)의 엔트리를 재순서화하며 디스크(118)에 판독 큐(a queue of reads)를 송신함으로써, 검증 프로세스는 디스크(118)로의 모든 기록이 검증되는 경우보다 효율적이다. 소정 실시예는 중첩되는 기록을 단일 판독으로 결합하고 재순서화되는 판독을 큐로서 송신하여, 주어진 시간 동안 판독 수를 최대화하기 위해 상이한 실린더에 대한 탐색을 최적화함으로써, 디스크 드라이브가 판독 성능을 더 향상시키게 한다.
추가적
실시예
세부 사항
전술한 기술은 소프트웨어, 펌웨어, 마이크로-코드, 하드웨어 및/또는 그 임의의 조합을 포함하는 방법, 장치 또는 제조물품로서 구현될 수 있다. 본 명세서에서 사용되는 "제조물품"이라는 용어는 프로그램 인스트럭션, 회로에서 구현되는 코디 및/또는 논리(예: 집적 회로 칩, PGA(Programmable Gate Array), ASIC 등) 및/또는 컴퓨터 판독 가능한 매체(예: 하드디스크 드라이브, 플로피 디스크, 테이프와 같은) 자기 저장 매체), 광 저장 장치(예: CD-ROM, DVD-ROM, 광 디스크 등), 휘 발성 및 비휘발성 메모리 소자(예: EEPROM(Electrically Erasable Programmable Read Only memory), ROM(Read Ony Memory), PROM(Progammable Read Only Memory), RAM(Random Access Memory), DRAM(Dynamic Random Access Memory), SRAM(Static Random Access Memory), 플래시, 펌웨어, 프로그래밍 가능한 논리 등)를 지칭한다. 컴퓨터 판독 가능한 매체의 코드는 프로세서와 같은 기계에 의해 액세스되고 실행될 수 있다. 소정 실시예에서, 실시예가 구성되는 코드는 전송 매체를 통해 또는 네트워크를 통한 파일 서버로부터 액세스될 수도 있다. 그러한 경우에, 코드가 구현되는 제조물품은 네트워크 전송 라인, 무선 전송 매체, 공간, 무선파, 적외선 신호 을 통해 진행하는 신호 등과 같은 전송 매체를 포함할 수 있다. 물론, 실시예의 범위를 벗어나지 않고 많은 수정이 이루어질 수 있으며 제조물품은 이 기술 분야에 알려진 임의의 정보 함유 매체를 포함할 수 있음을 당업자는 인식할 것이다. 예를 들어, 제조물품은 기계에 의해 실행되면 동작을 수행하게 하는 인스트력션을 내부에 저장한 저장 매치를 포함한다.
도 7은 소정 실시예가 구현될 수 있는 시스템(700)의 블록도를 도시하고 있다. 소정 실시예에서, 연산 장치(102) 및 저장 장치(104)는 시스템(700)에 따라 구현될 수 있다. 이 시스템(700)은 소정 실시예에서는 프로세서(704)를 포함할 수 있는 회로(702)를 포함할 수 있다. 또한, 이 시스템(700)은 메모리(706, 예: 휘발성 메모리 소자) 및 스토리지(708)를 포함할 수 있다. 이 시스템(700)의 소정 실시예는 연상 장치(102) 및 저장 장치(104)의 일부 또는 모두에 포함될 수도 그렇지 않을 수도 있다. 스토리지(708)는 비휘발성 메모리 소자(예: EEPROM, PROM, RAM, DRAM, SRAM, 플러시, 펌웨어, 프로그래밍 가능한 논리 등), 자기 디스크 드라이브, 테이프 드라이브 등을 포함할 수 있다. 스토리지(708)는 내부 저장 장치, 부착되는 저장 장치 및/또는 네트워크 액세스 가능한 저장 장치를 포함할 수 있다. 이 시스템(700)은 메모리(706)로 로딩되고 프로세서(704) 또는 회로(702)에 의해 실행될 수 있는 코드(712)를 포함하는 프로그램 논리(710)를 포함할 수 있다. 소정 실시예에서, 코드(712)를 포함하는 프로그램 논리(710)가 스토리지(708)에 저장될 수 있다. 소정의 다른 실시예에서는, 프로그램 논리(710)는 회로(702)에 구현될 수 있다. 그러므로, 도 7은 다른 구성 요소와 분리하여 프로그램 논리(710)를 도시하고 있지만, 프로그램 논리(710)는 메모리(706) 및/또는 회로(702)에 구현될 수 있다.
소정 실시예는 사람 또는 컴퓨터-판독 가능한 코드를 컴퓨터 시스템으로 일체화시키는 자동화 프로세싱에 의한 컴퓨팅 인스트럭션을 배치하는 방법을 유도할 수 있는데, 컴퓨팅 시스템과 결합하는 코드가 전술한 실시예의 동작을 수행할 수 있다.
도 3 내지 6에 도시된 동작들 중 적어도 일부가 동시 및 순차적으로 수행될 수 있다. 다른 실시예에서, 동작의 일부는 상이한 순서로 수행되거나 변형 또는 제거될 수 있다.
또한, 설명을 위해 많은 소프트웨어 및 하드웨어 구성 요소를 별도의 모듈로 설명하였다. 이러한 구성 요소는 보다 적은 수의 구성 요소로 일체화되거나 보다 많은 수의 구성 요소로 분할될 수 있다. 또한, 특정 구성 요소에 의해 수행되는 것으로 설명한 소정 동작은 다른 구성 요소에 의해 수행될 수 있다.
도 1 내지 7에 도시된 데이터 구조 및 구성 요소는 특정 종류의 정보를 갖는 것으로 설명하였다. 다른 실시예에서는, 데이터 구조 및 구성 요소가 상이한 구조를 가질 수 있으며, 도시된 도면들과 비교하여 보다 적거나 많거나 상이한 영역 또는 상이한 기능을 가질 수 있다. 그러므로, 전술한 실시예는 예시를 위한 것이다. 이는 개시된 형태로 실시예를 제한하기 위한 것이 아니다. 전술한 원리에 따라 많은 수정 및 변형이 이루어 질 수 있다.
본 발명에 의하면 간헐적으로 누락된 기록 및 지속적으로 누락된 기록 모두에 대한 보호를 제공한다.
Claims (18)
- 저장 매체에 데이터를 기록하라는 요청을 수신하는 단계와,상기 저장 매체에 기록되도록 요청된 상기 데이터를 캐시(a cache)에 저장하는 단계와,상기 저장 매체로의 상기 데이터 기록을 개시하는 단계와,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일한지를 주기적으로 판단하는 단계를 포함하는방법.
- 제 1 항에 있어서,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하다고 판단되면, 상기 캐시로부터 상기 저장된 데이터를 제거하는 단계를 더 포함하는방법.
- 제 1 항에 있어서,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않다고 판단되면, 상기 저장 매체를 기록 보호(write protection)하는 단계와,상기 저장 매체에 적어도 하나의 기록이 누락되었음(droped)을 표시하는 에러를 발생시키는 단계를 더 포함하는방법.
- 제 1 항에 있어서,상기 저장 매체는 디스크이고,상기 캐시는 상기 디스크보다 적은 저장 용량을 가지며,상기 데이터는 상기 디스크보다 더 신뢰할 수 있게 상기 캐시에 기록될 수 있고,호스트 애플리케이션은 상기 저장 매체로부터가 아니라 상기 캐시로부터 검증되지 않은 데이터(unverified data)를 판독하는방법.
- 제 1 항에 있어서,상기 캐시의 캐싱된(cached) 기록에 대응하는 엔트리(entries) 수가 임계치를 초과하는지를 판단하는 단계와,상기 엔트리의 기록 어드레스들을 결합시켜서 결합된 기록 어드레스 리스트를 발생시키는 단계와,상기 결합된 기록 어드레스 리스트를 순서화하는 단계 - 상위 순서의 결합된 기록 어드레스는 하위 순서의 결합된 기록 어드레스보다 먼저 상기 기록 매체에 대한 기록 에러에 대해 검증됨 - 를 더 포함하는방법.
- 제 5 항에 있어서,상기 임계치를 초과함은 상기 캐시가 10% 넘게 찼음(over ten percent full)을 표시하는방법.
- 제 1 항에 있어서,상기 캐시의 기록 어드레스에 대응하는 엔트리 수가 임계치를 초과하는지를 판단하는 단계와,선택된 엔트리에 대응하는 데이터가 상기 저장 매체에 대한 에러 없이 기록된 것인지를 검증하는 단계를 더 포함하는방법.
- 제 7 항에 있어서,상기 임계치를 초과함은 상기 캐시가 90% 넘게 찼음(ninety percent full)을 표시하는방법.
- 제 7 항에 있어서,상기 검증 단계는 종합적 검증 자기 테스트(comprehensive verification self test)가 인에이블되었다는 판단에 따라 수행되고,상기 종합적 검증 자기 테스트가 인에이블되지 않은 경우에는 지속적 문제점 자기 테스트(persistent problem self test)가 수행되는방법.
- 제 1 항에 있어서,상기 저장 매체로의 기록은 소정 순서로 수행되고,상기 저장 매체로의 상기 기록의 검증은 이와 다른 순서로 수행되는방법.
- 제 1 항에 있어서,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않는 경우에는 간헐적 기록 에러가 검출되는방법.
- 제 11 항에 있어서,지속적 기록 에러도 검출되는방법.
- 메모리와,상기 메모리에 접속되는 저장 매체와,상기 메모리에 접속되는 캐시와,상기 메모리에 접속되는 프로세서를 포함하되,상기 프로세서는 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 수행하도록 동작 가능한시스템.
- 저장 매체와,상기 저장 매체에 접속되는 캐시와,상기 저장 매체에 데이터를 기록하라는 요청을 수신하는 수단과,상기 저장 매체에 기록되도록 요청된 상기 데이터를 상기 캐시에 저장하는 수단과,상기 저장 매체에 대한 상기 데이터의 기록을 개시하는 수단과,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 데이터와 동일한지를 주기적으로 판단하는 수단을 포함하는시스템.
- 제 14 항에 있어서,상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않다고 판단되면, 상기 저장 매체를 기록 보호하는 수단과,상기 저장 매체에 적어도 하나의 기록이 누락되었음(droped)을 표시하는 에러를 발생시키는 수단을 더 포함하는시스템.
- 제 14 항에 있어서,상기 캐시의 캐싱된 기록에 대응하는 엔트리 수가 임계치를 초과하는지를 판단하는 수단과,상기 엔트리의 기록 어드레스를 결합시켜서 결합된 기록 어드레스를 발생시키는 수단과,결합된 기록 어드레스 리스트를 순서화하는 수단 - 상위 순서의 결합된 기록 어드레스는 하위 순서의 결합된 기록 어드레스보다 먼저 상기 기록 매체에 대한 기록 에러에 대해 검증됨 - 을 더 포함하는시스템.
- 컴퓨터 상에서 실행되면 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 수행하는 각각의 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 갖는컴퓨터 판독 가능한 저장 매체.
- 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 포함하는 각각의 동작을 수행할 수 있는제조물품(an article of manufacture).
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/053,226 | 2005-02-07 | ||
US11/053,226 US7360112B2 (en) | 2005-02-07 | 2005-02-07 | Detection and recovery of dropped writes in storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060090166A true KR20060090166A (ko) | 2006-08-10 |
KR100763567B1 KR100763567B1 (ko) | 2007-10-04 |
Family
ID=36781337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060001670A KR100763567B1 (ko) | 2005-02-07 | 2006-01-06 | 누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7360112B2 (ko) |
JP (1) | JP4988214B2 (ko) |
KR (1) | KR100763567B1 (ko) |
CN (1) | CN100485643C (ko) |
TW (1) | TWI365448B (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100955358B1 (ko) * | 2006-12-21 | 2010-04-29 | 후지쯔 가부시끼가이샤 | 라이트 누락 검출 장치, 라이트 누락 검출 방법 및 라이트누락 검출 프로그램을 기록한 기록 매체 |
US11796594B2 (en) | 2020-11-05 | 2023-10-24 | Schneider Electric It Corporation | PWM capture function for event analysis |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421535B2 (en) * | 2004-05-10 | 2008-09-02 | International Business Machines Corporation | Method for demoting tracks from cache |
US7360112B2 (en) * | 2005-02-07 | 2008-04-15 | International Business Machines Corporation | Detection and recovery of dropped writes in storage devices |
GB0507912D0 (en) * | 2005-04-20 | 2005-05-25 | Ibm | Disk drive and method for protecting data writes in a disk drive |
US7523319B2 (en) * | 2005-11-16 | 2009-04-21 | Lenovo (Singapore) Pte. Ltd. | System and method for tracking changed LBAs on disk drive |
US8375177B2 (en) * | 2007-05-01 | 2013-02-12 | International Business Machines Corporation | Apparatus, system, and method for efficiently verifying writes |
US7752489B2 (en) * | 2007-05-10 | 2010-07-06 | International Business Machines Corporation | Data integrity validation in storage systems |
US7793168B2 (en) * | 2007-08-23 | 2010-09-07 | International Business Machines Corporation | Detection and correction of dropped write errors in a data storage system |
US7793167B2 (en) * | 2007-08-23 | 2010-09-07 | International Business Machines Corporation | Detection and correction of dropped write errors in a data storage system |
US7873878B2 (en) * | 2007-09-24 | 2011-01-18 | International Business Machines Corporation | Data integrity validation in storage systems |
US8140909B2 (en) * | 2008-02-22 | 2012-03-20 | International Business Machines Corporation | Efficient method to detect disk write errors |
US7908512B2 (en) * | 2008-03-05 | 2011-03-15 | International Business Machines Corporation | Method and system for cache-based dropped write protection in data storage systems |
JP5245472B2 (ja) * | 2008-03-13 | 2013-07-24 | 富士通株式会社 | 制御方法、ディスクアレイ装置 |
TW201111986A (en) * | 2009-09-29 | 2011-04-01 | Silicon Motion Inc | Memory apparatus and data access method for memories |
US8667326B2 (en) | 2011-05-23 | 2014-03-04 | International Business Machines Corporation | Dual hard disk drive system and method for dropped write detection and recovery |
US9798623B2 (en) * | 2012-05-11 | 2017-10-24 | Seagate Technology Llc | Using cache to manage errors in primary storage |
JP2014071740A (ja) * | 2012-09-28 | 2014-04-21 | Fujitsu Ltd | 情報処理装置、管理方法、及び管理プログラム |
US9280482B2 (en) * | 2012-12-13 | 2016-03-08 | Western Digital Technologies, Inc. | Methods and systems for provisioning a bootable image on to an external drive |
US9141484B2 (en) | 2013-03-15 | 2015-09-22 | Seagate Technology Llc | Transiently maintaining ECC |
GB2514611A (en) | 2013-05-31 | 2014-12-03 | Ibm | Storage integrity validator |
US9639287B1 (en) | 2015-06-29 | 2017-05-02 | Western Digital Technologies, Inc. | Write command reporting |
CN106469119B (zh) * | 2015-08-10 | 2020-07-07 | 北京忆恒创源科技有限公司 | 一种基于nvdimm的数据写缓存方法及其装置 |
CN111007991B (zh) * | 2015-08-13 | 2024-01-26 | 北京忆恒创源科技股份有限公司 | 基于nvdimm分离读写请求的方法及其计算机 |
KR102564774B1 (ko) * | 2018-09-18 | 2023-08-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 혹은 데이터 처리 시스템의 동작을 진단하는 장치 혹은 진단을 통해 신뢰성을 확보하는 방법 |
US11080136B2 (en) | 2020-01-06 | 2021-08-03 | International Business Machines Corporation | Dropped write error detection |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2546410B2 (ja) * | 1990-05-10 | 1996-10-23 | 日本電気株式会社 | 周辺制御装置 |
US5485439A (en) * | 1990-10-30 | 1996-01-16 | Matsushita Electric Industrial Co., Ltd. | Method for recording/reproducing information and apparatus therefor |
US5274799A (en) | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
WO1992015933A1 (en) | 1991-03-05 | 1992-09-17 | Zitel Corporation | Cache memory system and method of operating the cache memory system |
US5379417A (en) | 1991-11-25 | 1995-01-03 | Tandem Computers Incorporated | System and method for ensuring write data integrity in a redundant array data storage system |
US5557770A (en) | 1993-03-24 | 1996-09-17 | International Business Machines Corporation | Disk storage apparatus and method for converting random writes to sequential writes while retaining physical clustering on disk |
US5632012A (en) | 1993-11-24 | 1997-05-20 | Storage Technology Corporation | Disk scrubbing system |
JPH07210327A (ja) * | 1994-01-25 | 1995-08-11 | Hitachi Ltd | ディスク装置用データベリファイ装置 |
US6412045B1 (en) | 1995-05-23 | 2002-06-25 | Lsi Logic Corporation | Method for transferring data from a host computer to a storage media using selectable caching strategies |
JP3020833B2 (ja) * | 1995-06-19 | 2000-03-15 | 株式会社東芝 | チェックポイント取得システム |
FI103440B (fi) * | 1995-11-02 | 1999-06-30 | Nokia Telecommunications Oy | Datan tallennuksen varmentaminen välimuistia käyttävälle nauha-asemall e |
JP2001142650A (ja) * | 1999-11-18 | 2001-05-25 | Nec Corp | アレイディスク制御方法及び装置 |
US6584589B1 (en) * | 2000-02-04 | 2003-06-24 | Hewlett-Packard Development Company, L.P. | Self-testing of magneto-resistive memory arrays |
US6658533B1 (en) | 2000-09-21 | 2003-12-02 | Intel Corporation | Method and apparatus for write cache flush and fill mechanisms |
US6928518B2 (en) * | 2001-11-01 | 2005-08-09 | Sun Microsystems, Inc. | Disk drive employing adaptive flushing of a write cache |
JP4012420B2 (ja) | 2002-03-12 | 2007-11-21 | 株式会社日立製作所 | 磁気ディスク装置及びディスク制御装置 |
JP4371724B2 (ja) * | 2003-07-03 | 2009-11-25 | 株式会社日立製作所 | 記憶システム及び記憶装置システム |
CN1264096C (zh) * | 2003-11-17 | 2006-07-12 | 中兴通讯股份有限公司 | 一种fifo存储器的数据处理方法 |
JP4156499B2 (ja) * | 2003-11-28 | 2008-09-24 | 株式会社日立製作所 | ディスクアレイ装置 |
US20060010173A1 (en) * | 2004-06-30 | 2006-01-12 | Kilday Roger W | Methods and systems for client-side, on-disk caching |
JP2006134064A (ja) * | 2004-11-05 | 2006-05-25 | Hitachi Ltd | 記憶メディアへの書込みエラーを検出する記憶制御装置及び方法 |
US7596738B2 (en) * | 2004-11-17 | 2009-09-29 | Sun Microsystems, Inc. | Method and apparatus for classifying memory errors |
US7971001B2 (en) * | 2004-12-28 | 2011-06-28 | Sap Ag | Least recently used eviction implementation |
US7441081B2 (en) * | 2004-12-29 | 2008-10-21 | Lsi Corporation | Write-back caching for disk drives |
US7360112B2 (en) | 2005-02-07 | 2008-04-15 | International Business Machines Corporation | Detection and recovery of dropped writes in storage devices |
JP4017020B2 (ja) | 2007-07-20 | 2007-12-05 | 株式会社三洋物産 | 遊技機 |
-
2005
- 2005-02-07 US US11/053,226 patent/US7360112B2/en not_active Expired - Fee Related
-
2006
- 2006-01-06 KR KR1020060001670A patent/KR100763567B1/ko not_active IP Right Cessation
- 2006-01-26 JP JP2006017056A patent/JP4988214B2/ja active Active
- 2006-02-06 TW TW095103853A patent/TWI365448B/zh not_active IP Right Cessation
- 2006-02-06 CN CNB2006100045915A patent/CN100485643C/zh active Active
-
2007
- 2007-12-04 US US11/950,321 patent/US8108613B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100955358B1 (ko) * | 2006-12-21 | 2010-04-29 | 후지쯔 가부시끼가이샤 | 라이트 누락 검출 장치, 라이트 누락 검출 방법 및 라이트누락 검출 프로그램을 기록한 기록 매체 |
US11796594B2 (en) | 2020-11-05 | 2023-10-24 | Schneider Electric It Corporation | PWM capture function for event analysis |
Also Published As
Publication number | Publication date |
---|---|
CN100485643C (zh) | 2009-05-06 |
TW200636687A (en) | 2006-10-16 |
CN1818886A (zh) | 2006-08-16 |
JP4988214B2 (ja) | 2012-08-01 |
TWI365448B (en) | 2012-06-01 |
KR100763567B1 (ko) | 2007-10-04 |
JP2006221623A (ja) | 2006-08-24 |
US7360112B2 (en) | 2008-04-15 |
US20080091893A1 (en) | 2008-04-17 |
US8108613B2 (en) | 2012-01-31 |
US20060179381A1 (en) | 2006-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100763567B1 (ko) | 누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 | |
JP5808751B2 (ja) | ハイブリッドストレージを使用したssdの寿命の延長 | |
US9471240B2 (en) | Performing read and write operations with respect to at least one solid state disk and at least one non-solid state disk | |
US8086792B2 (en) | Demoting tracks from cache | |
US8065472B2 (en) | System and method for improving data integrity and memory performance using non-volatile media | |
US6523087B2 (en) | Utilizing parity caching and parity logging while closing the RAID5 write hole | |
US7707460B2 (en) | Method, apparatus and program storage device for protecting data writes in a data storage device | |
US7975169B2 (en) | Memory preserved cache to prevent data loss | |
KR100621446B1 (ko) | 멀티클러스터 스토리지 서브 시스템의 자체 파워 손실 복구 | |
US10860483B2 (en) | Handling metadata corruption to avoid data unavailability | |
US20110208914A1 (en) | Storage system and method of operating thereof | |
US8578089B2 (en) | Storage device cache | |
US7487400B2 (en) | Method for data protection in disk array systems | |
KR20150035560A (ko) | 솔리드 스테이트 드라이브(ssd)에 대한 최적화된 컨텍스트 드롭 | |
JP2007035217A (ja) | ディスク記憶装置のデータ退避処理方法及びディスク記憶システム | |
US9514052B2 (en) | Write-through-and-back-cache | |
CN115793985A (zh) | 一种安全存储方法、装置、设备及存储介质 | |
US8938641B2 (en) | Method and apparatus for synchronizing storage volumes | |
US7171610B2 (en) | Method, system, and article of manufacture for preventing data loss | |
Tsai et al. | A study of soft error consequences in hard disk drives | |
CN108170375B (zh) | 一种分布式存储系统中的超限保护方法和装置 | |
KR20110039416A (ko) | 인터럽트된 기록 복구를 위한 데이터 저장 방법, 장치 및 시스템 | |
US9798473B2 (en) | Storage volume device and method for increasing write speed for data streams while providing data protection | |
JP2018190192A (ja) | ストレージ装置およびストレージ制御プログラム | |
US11081135B2 (en) | Shingled magnetic recording storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
G170 | Re-publication after modification of scope of protection [patent] | ||
FPAY | Annual fee payment |
Payment date: 20120116 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |