KR20060090166A - 누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 - Google Patents

누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 Download PDF

Info

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
Application number
KR1020060001670A
Other languages
English (en)
Other versions
KR100763567B1 (ko
Inventor
윌리암 존 두리카
엠 아민 하지
요셉 스미스 2세 하이드
로날드 제이 벤투리
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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20060090166A publication Critical patent/KR20060090166A/ko
Application granted granted Critical
Publication of KR100763567B1 publication Critical patent/KR100763567B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3187Built-in tests
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N33/00Investigating or analysing materials by specific methods not covered by groups G01N1/00 - G01N31/00
    • G01N33/48Biological material, e.g. blood, urine; Haemocytometers
    • G01N33/483Physical analysis of biological material
    • G01N33/487Physical analysis of biological material of liquid biological material
    • G01N33/49Blood
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/145Measuring 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/1468Measuring 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

누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독 가능한 저장 매체 및 제조물품{DETECTION AND RECOVERY OF DROPPED WRITES IN STORAGE DEVICES}
참조할 도면에서 동일한 참조번호는 전체 도면에서 대응 부분을 나타낸다.
도 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)

  1. 저장 매체에 데이터를 기록하라는 요청을 수신하는 단계와,
    상기 저장 매체에 기록되도록 요청된 상기 데이터를 캐시(a cache)에 저장하는 단계와,
    상기 저장 매체로의 상기 데이터 기록을 개시하는 단계와,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일한지를 주기적으로 판단하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하다고 판단되면, 상기 캐시로부터 상기 저장된 데이터를 제거하는 단계를 더 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않다고 판단되면, 상기 저장 매체를 기록 보호(write protection)하는 단계와,
    상기 저장 매체에 적어도 하나의 기록이 누락되었음(droped)을 표시하는 에러를 발생시키는 단계를 더 포함하는
    방법.
  4. 제 1 항에 있어서,
    상기 저장 매체는 디스크이고,
    상기 캐시는 상기 디스크보다 적은 저장 용량을 가지며,
    상기 데이터는 상기 디스크보다 더 신뢰할 수 있게 상기 캐시에 기록될 수 있고,
    호스트 애플리케이션은 상기 저장 매체로부터가 아니라 상기 캐시로부터 검증되지 않은 데이터(unverified data)를 판독하는
    방법.
  5. 제 1 항에 있어서,
    상기 캐시의 캐싱된(cached) 기록에 대응하는 엔트리(entries) 수가 임계치를 초과하는지를 판단하는 단계와,
    상기 엔트리의 기록 어드레스들을 결합시켜서 결합된 기록 어드레스 리스트를 발생시키는 단계와,
    상기 결합된 기록 어드레스 리스트를 순서화하는 단계 - 상위 순서의 결합된 기록 어드레스는 하위 순서의 결합된 기록 어드레스보다 먼저 상기 기록 매체에 대한 기록 에러에 대해 검증됨 - 를 더 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 임계치를 초과함은 상기 캐시가 10% 넘게 찼음(over ten percent full)을 표시하는
    방법.
  7. 제 1 항에 있어서,
    상기 캐시의 기록 어드레스에 대응하는 엔트리 수가 임계치를 초과하는지를 판단하는 단계와,
    선택된 엔트리에 대응하는 데이터가 상기 저장 매체에 대한 에러 없이 기록된 것인지를 검증하는 단계를 더 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 임계치를 초과함은 상기 캐시가 90% 넘게 찼음(ninety percent full)을 표시하는
    방법.
  9. 제 7 항에 있어서,
    상기 검증 단계는 종합적 검증 자기 테스트(comprehensive verification self test)가 인에이블되었다는 판단에 따라 수행되고,
    상기 종합적 검증 자기 테스트가 인에이블되지 않은 경우에는 지속적 문제점 자기 테스트(persistent problem self test)가 수행되는
    방법.
  10. 제 1 항에 있어서,
    상기 저장 매체로의 기록은 소정 순서로 수행되고,
    상기 저장 매체로의 상기 기록의 검증은 이와 다른 순서로 수행되는
    방법.
  11. 제 1 항에 있어서,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않는 경우에는 간헐적 기록 에러가 검출되는
    방법.
  12. 제 11 항에 있어서,
    지속적 기록 에러도 검출되는
    방법.
  13. 메모리와,
    상기 메모리에 접속되는 저장 매체와,
    상기 메모리에 접속되는 캐시와,
    상기 메모리에 접속되는 프로세서를 포함하되,
    상기 프로세서는 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 수행하도록 동작 가능한
    시스템.
  14. 저장 매체와,
    상기 저장 매체에 접속되는 캐시와,
    상기 저장 매체에 데이터를 기록하라는 요청을 수신하는 수단과,
    상기 저장 매체에 기록되도록 요청된 상기 데이터를 상기 캐시에 저장하는 수단과,
    상기 저장 매체에 대한 상기 데이터의 기록을 개시하는 수단과,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 데이터와 동일한지를 주기적으로 판단하는 수단을 포함하는
    시스템.
  15. 제 14 항에 있어서,
    상기 캐시에 저장된 상기 데이터가 상기 저장 매체에 기록된 상기 데이터와 동일하지 않다고 판단되면, 상기 저장 매체를 기록 보호하는 수단과,
    상기 저장 매체에 적어도 하나의 기록이 누락되었음(droped)을 표시하는 에러를 발생시키는 수단을 더 포함하는
    시스템.
  16. 제 14 항에 있어서,
    상기 캐시의 캐싱된 기록에 대응하는 엔트리 수가 임계치를 초과하는지를 판단하는 수단과,
    상기 엔트리의 기록 어드레스를 결합시켜서 결합된 기록 어드레스를 발생시키는 수단과,
    결합된 기록 어드레스 리스트를 순서화하는 수단 - 상위 순서의 결합된 기록 어드레스는 하위 순서의 결합된 기록 어드레스보다 먼저 상기 기록 매체에 대한 기록 에러에 대해 검증됨 - 을 더 포함하는
    시스템.
  17. 컴퓨터 상에서 실행되면 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 수행하는 각각의 컴퓨터 프로그램 코드 수단을 포함하는 컴퓨터 프로그램을 갖는
    컴퓨터 판독 가능한 저장 매체.
  18. 제 1 항 내지 제 12 항 중 어느 한 항에 기재된 방법의 각각의 단계를 포함하는 각각의 동작을 수행할 수 있는
    제조물품(an article of manufacture).
KR1020060001670A 2005-02-07 2006-01-06 누락된 기록의 검출 및 복원 방법, 시스템, 컴퓨터 판독가능한 저장 매체 및 제조물품 KR100763567B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 株式会社三洋物産 遊技機

Cited By (2)

* Cited by examiner, † Cited by third party
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