KR20200095364A - 마그네틱 스토리지 미디어를 위한 헬스 관리 - Google Patents

마그네틱 스토리지 미디어를 위한 헬스 관리 Download PDF

Info

Publication number
KR20200095364A
KR20200095364A KR1020200004183A KR20200004183A KR20200095364A KR 20200095364 A KR20200095364 A KR 20200095364A KR 1020200004183 A KR1020200004183 A KR 1020200004183A KR 20200004183 A KR20200004183 A KR 20200004183A KR 20200095364 A KR20200095364 A KR 20200095364A
Authority
KR
South Korea
Prior art keywords
storage media
magnetic storage
read
metrics
health
Prior art date
Application number
KR1020200004183A
Other languages
English (en)
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 마벨 아시아 피티이 엘티디.
Publication of KR20200095364A publication Critical patent/KR20200095364A/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/455Arrangements for functional testing of heads; Measuring arrangements for heads
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/62Record carriers characterised by the selection of the material
    • G11B5/64Record carriers characterised by the selection of the material comprising only the magnetic material without bonding agent
    • G11B5/66Record carriers characterised by the selection of the material comprising only the magnetic material without bonding agent the record carriers consisting of several layers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2263Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10305Improvement or modification of read or write signals signal quality assessment
    • G11B20/10472Improvement or modification of read or write signals signal quality assessment derived from statistics of other quality measures, e.g. their mean, variance or skew
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10009Improvement or modification of read or write signals
    • G11B20/10481Improvement or modification of read or write signals optimisation methods
    • G11B20/10518Improvement or modification of read or write signals optimisation methods using neural networks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/012Recording on, or reproducing or erasing from, magnetic disks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B2020/1869Preventing ageing phenomena from causing data loss, e.g. by monitoring the age of record carriers or by recognising wear, and by copying information elsewhere when a record carrier becomes unreliable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)
  • Digital Magnetic Recording (AREA)

Abstract

본 개시내용은 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들을 설명한다. 일부 실시형태들에서, 미디어 헬스 관리자는 판독 채널을 이용해 마그네틱 스토리지 미디어의 구역 내에 상주하는 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 결정한다. 미디어 헬스 관리자는, 구역의 판독 메트릭들에 액세스하고, 그리고 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 구역에 대한 업데이트된 판독 메트릭들을 제공한다. 그 다음에, 뉴럴 네트워크를 이용해 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어가 결정된다. 이렇게 함으로써, 마그네틱 스토리지 미디어의 점진적인 마모가 헬스 스코어를 사용하여 예측될 수 있고, 이것은 고장이 일어나기 전에 마그네틱 스토리지 미디어 디바이스의 교체를 가능하게 하여 디바이스에 저장된 데이터의 신뢰성 혹은 이용가능성을 향상시킨다.

Description

마그네틱 스토리지 미디어를 위한 헬스 관리{HEALTH MANAGEMENT FOR MAGNETIC STORAGE MEDIA}
본 개시내용은 2019년 1월 31일자로 출원된 미국 가특허 출원 일련번호 제62/799,608호에 대한 우선권을 주장하며, 이러한 특허문헌의 개시내용은 그 전체가 참조로 본 명세서에 통합된다.
전자 디바이스(electronic device)들은 현대 사회에 많은 서비스들을 제공한다. 이러한 서비스들은 전자 디바이스로 하여금 엔터테인먼트(entertainment)를 제공할 수 있게 하고, 과학적 연구 및 개발을 보조할 수 있게 하고, 그리고 현대의 편의(convenience)들을 제공할 수 있게 한다. 이러한 서비스들 중 많은 서비스들은 데이터를 생성 혹은 사용하는데, 전자 디바이스는 이러한 데이터를 저장한다. 이러한 데이터는 서적(book)들 혹은 영화(movie)들과 같은 디지털 미디어(digital media), 복합적인 시뮬레이션(simulation)들을 실행하는 알고리즘(algorithm)들, 개인 사용자 데이터(personal user data), 애플리케이션(application)들, 등을 포함할 수 있다. 데이터 스토리지 제한(data storage limit)들을 초과하는 것을 피하기 위해, 전자 디바이스의 데이터 스토리지 용량(data storage capacity)을 증가시켜 데이터의 삭제 혹은 서비스들의 제한 혹은 추가적인 외부 스토리지 디바이스들의 구입을 피하는 것이 이롭다.
많은 전자 디바이스들은 하드-디스크 드라이브(Hard-Disk Drive, HDD)와 같은 디스크(disk)들 상에 데이터를 저장하기 위해 미디어 드라이브(media drive)들을 사용한다. 일반적으로, HDD에 저장된 데이터는, 미디어 디스크가 고속으로 회전함에 따라, 미디어 디스크의 표면에 걸쳐 판독 요소 혹은 기입 요소를 이동시킴으로써 액세스(access)된다. 이처럼, HDD들은 데이터의 스토리지 및 액세스를 용이하게 하기 위해 일제히 협력하여 동작하는 상호연결된 기계적(mechanical), 전기적(electrical), 및 마그네틱(magnetic) 부분들의 복합 시스템이다. 떨어뜨리는 것과 같은 치명적인 사고들 외에, 이러한 기계적, 전기적, 및 마그네틱 부분들은, 이러한 부분들 중 한 부분의 중대한 고장이 데이터 액세스를 막을 때까지, HDD의 동작 수명 동안 점진적으로 마모된다. 얼마만큼의 이러한 마모가 시간 경과에 따라 일어났는지를 알지 못한다면, HDD는 교체 혹은 데이터 백업(data backup) 전에 예기치 않게 고장날 수 있고, 이것은 결과적으로 데이터의 손실을 일으키거나 또는 데이터 스토리지 서비스들의 가동시간(uptime)을 감소시키게 된다.
여기서 제시되는 개요(summary)는 아래의 상세한 설명 및 도면들에서 더 설명되는 주된 내용을 소개하기 위해 제공된다. 이에 따라, 이러한 개요는 본질적인 특징들을 설명하는 것으로 고려돼서는 안 되며, 또한 청구되는 주된 내용의 범위를 한정하는데 사용돼서도 안 된다.
일부 실시형태들에서, 마그네틱 스토리지 미디어(magnetic storage media)의 미디어 헬스 관리자(media health manager)는 방법을 구현하며, 여기서 방법은 마그네틱 스토리지 미디어의 구역(zone) 내에 상주하는 마그네틱 스토리지 미디어의 섹터(sector)를 판독하도록 하는 요청을 수신한다. 방법은, 요청에 근거하여 판독되는 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭(read metric)들을 판독 채널(read channel)을 이용해 결정한다. 방법은, 마그네틱 스토리지 미디어의 구역의 판독 메트릭들에 액세스하고, 그리고 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들을 업데이트(updating)하여 마그네틱 스토리지 미디어의 구역에 대한 업데이트된 판독 메트릭들을 제공한다. 그 다음에, 방법은 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어(health score)를 뉴럴 네트워크(neural network)를 이용해 결정한다.
다른 실시형태들에서, 장치는, 호스트(host)와 데이터를 주고받기 위한 인터페이스(interface); 데이터를 저장하기 위한 마그네틱 스토리지 미디어의 디스크; 마그네틱 스토리지 미디어의 섹터들로부터 데이터를 판독하기 위한 판독 채널; 그리고 미디어 헬스 스코어들을 결정하기 위한 뉴럴 네트워크를 포함한다. 장치는 또한, 데이터가 판독되는 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 판독 채널을 이용해 결정하도록 구성된 미디어 헬스 관리자를 포함한다. 미디어 헬스 관리자는 또한, 마그네틱 스토리지 미디어의 복수의 구역들 중에서, 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정할 수 있다. 마그네틱 스토리지 미디어의 각각의 구역은 마그네틱 스토리지 미디어의 디스크 상의 트랙(track)들의 각각의 서브세트(subset)에 대응할 수 있다. 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 구역의 판독 메트릭들에 액세스하고, 그리고 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 구역에 대한 업데이트된 판독 메트릭들을 제공한다. 그 다음에, 미디어 헬스 관리자는 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 뉴럴 네트워크를 이용해 결정한다.
또 하나의 다른 실시형태들에서는, 시스템-온-칩(System-on-Chip, SoC)이 설명되며, 이러한 SoC는, 마그네틱 스토리지 미디어의 섹터들로부터 판독된 데이터에 대응하는 신호들을 수신하기 위한 전치-증폭기 인터페이스(pre-amplifier interface)를 포함한다. SoC는 또한, 마그네틱 스토리지 미디어의 섹터들로부터 판독된 데이터에 대응하는 신호들을 프로세싱하기 위한 판독 채널 로직(read channel logic); 하드웨어-기반 프로세서; 그리고 미디어 헬스 관리자를 구현하기 위한 프로세서-실행가능 명령들을 저장하는 메모리를 포함한다. 미디어 헬스 관리자는, 데이터가 판독되는 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 판독 채널 로직을 이용해 결정한다. 미디어 헬스 관리자는 또한, 마그네틱 스토리지 미디어의 복수의 구역들 중에서, 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정할 수 있다. 마그네틱 스토리지 미디어의 각각의 구역은 마그네틱 스토리지 미디어의 디스크 상의 트랙들의 각각의 서브세트에 대응할 수 있다. 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 구역의 판독 메트릭들에 액세스하고, 그리고 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 구역에 대한 업데이트된 판독 메트릭들을 제공한다. 그 다음에, 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 뉴럴 네트워크를 이용해 결정한다.
하나 이상의 구현예들의 세부사항들이, 다음의 설명 및 첨부되는 도면들에서 설명된다. 다른 특징들 및 장점들이 이러한 설명 및 도면들로부터 그리고 청구항들로부터 명백할 것이다.
마그네틱 스토리지 미디어를 위한 헬스 관리의 하나 이상의 구현예들의 세부사항들이 아래의 상세한 설명 및 첨부되는 도면들에서 제시된다. 도면들에서, 참조 번호의 맨-좌측 숫자는 해당 참조 번호가 처음 출현한 도면을 식별시킨다. 설명 및 도면들에서 상이한 인스턴스(instance)들에서의 동일한 참조 번호들의 사용은 유사한 요소들을 표시한다.
도 1은 하나 이상의 실시형태들에 따른 마그네틱 스토리지 미디어가 구현된 디바이스들을 갖는 예시적 동작 환경을 나타낸다.
도 2는 도 1에서 보여지는 하드-디스크 드라이브의 예시적 구성을 나타낸다.
도 3은 마그네틱 스토리지 미디어를 위한 헬스 관리의 하나 이상의 실시형태들에 따른 판독 채널 및 전치-증폭기의 예시적 구성들을 나타낸다.
도 4는 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 컴퓨팅하도록 구현될 수 있는 뉴럴 네트워크의 예시적 구성을 나타낸다.
도 5는 마그네틱 스토리지 미디어의 섹터에 대한 고장의 확률을 컴퓨팅하도록 구현될 수 있는 뉴럴 네트워크의 예시적 구성을 나타낸다.
도 6은 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 결정하기 위한 예시적 방법을 도시한다.
도 7은 판독 채널에 의해 제공된 판독 메트릭들의 평균에 근거하여 구역에 대한 헬스 스코어를 결정하기 위한 예시적 방법을 도시한다.
도 8은 하나 이상의 실시형태들에 따른 스토리지 미디어 드라이브 헬스 스코어를 결정하기 위한 예시적 방법을 도시한다.
도 9는 마그네틱 스토리지 미디어의 섹터에 대한 고장의 확률을 결정하기 위한 예시적 방법을 도시한다.
도 10은 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들을 구현하기 위한 예시적 시스템-온-칩(System-on-Chip, SoC) 환경을 나타낸다.
도 11은 스토리지 미디어 제어기가 관련된 스토리지 미디어 드라이브에서 헬스 관리의 실시형태들을 구현하도록 구성된 예시적 스토리지 미디어 제어기를 나타낸다.
하드-디스크 드라이브(Hard-Disk Drive, HDD) 마모 혹은 기대 수명을 추적하기 위한 종래의 기법들은 종종 단지 (드라이브 내에 재배치된 섹터들의 수 또는 동작 시간과 같은) 실제 드라이브 사용의 높은-레벨의 뷰(high-level view)만을 제공한다. 언급된 바와 같이, HDD들은 데이터의 스토리지 및 액세스를 용이하게 하기 위해 일제히 협력하여 동작하는 상호연결된 기계적, 전기적, 및 마그네틱 부분들의 복합 시스템이다. HDD 릴리즈(HDD release)의 각각의 세대에 있어서, 이러한 복합도(complexity) 및 드라이브 컴포넌트 톨로런스(drive component tolerance)들은, 드라이브들의 기입 밀도 및 스토리지 용량이 증가함에 따라, 더욱 중요해졌다. 떨어뜨리는 것과 같은 치명적인 사고들 외에, HDD의 이러한 기계적, 전기적, 및 마그네틱 부분들은, 중요한 부분의 고장이 발생하여 HDD가 수명을 다할 때까지, HDD의 동작 수명 동안 점진적으로 마모된다. HDD의 손실은, 데이터 손실(data loss), 데이터 복구 비용(data recovery costs), 서비스 미가동시간(service downtime)(예를 들어, 클라우드 리소스(cloud resources)), 드라이브 교체 비용(drive replacement costs), 등의 측면에서, 극히 많은 비용을 초래할 수 있다. 종래의 기법들에 의해 제공되는 드라이브 사용의 높은-레벨의 뷰를 이용해, 사용자들 및 다른 스토리지 클라이언트들(예를 들어, 데이터 센터들)은 종종, HDD가 언제 그 기대되는 서비스 수명 동안 고장날지를 정확히 추정할 수 없다. 이에 따라, 많은 HDD들은 드라이브 교체 혹은 데이터 백업이 구현되기 전에 예기치 않게 고장나고, 이것은 결과적으로 그 저장된 데이터의 손실을 일으키거나 또는 데이터 스토리지 서비스들의 이용가능성을 감소시키게 된다.
본 개시내용은 마그네틱 스토리지 미디어를 위한 헬스 관리의 장치들 및 기법들을 설명한다. 종래의 자석 기입 기법들과는 대조적으로, 본 명세서에서 설명되는 장치들 및 기법들은, 미디어 드라이브의 컴포넌트들의 점진적 마모(wear) 혹은 퇴화(degradation)를 직접적으로 혹은 간접적으로 더 정확히 포착할 수 있는, 판독 채널에 의해 제공되는 메트릭들을 사용한다. 일반적으로, 스토리지 미디어 드라이브의 판독 채널은, 데이터가 스토리지 미디어 디스크로부터 판독될 때, 신호들을 프로세싱하고 디코딩한다. 판독 채널에 의한 판독 신호의 신호 프로세싱 및 디코딩은 신호 컨디셔닝(conditioning), 샘플링(sampling), 등화(equalization), 검출(detection), 에러-정정(error-correction), 등을 포함할 수 있다. 이에 따라, 판독 채널은, 스토리지 미디어 드라이브의 전기적, 기계적, 혹은 마그네틱 컴포넌트들의 각각의 상태(condition)들을 반영하는 광범위하게 다양한 메트릭들(예를 들어, 낮은-레벨의 아날로그 및 에러-정정 메트릭들)을 결정할 수 있거나 발생시킬 수 있다.
판독 채널에 의해 제공되는 메트릭들에 근거하여, 미디어 헬스 관리자는 마그네틱 스토리지 미디어의 일부분 혹은 구역에 대한 헬스 스코어를 뉴럴 네트워크를 이용해 결정할 수 있거나 업데이트할 수 있다. 일부 실시형태들에서, 뉴럴 네트워크는 다량의 스토리지 미디어 메트릭들을 몇 개 혹은 수 개의 헬스 스코어들로 분류하도록 미리-훈련되는데, 이것은 마그네틱 스토리지 미디어의 헬스를 결정하거나 스토리지 미디어 드라이브의 헬스를 결정하는데 유용하다. 이렇게 함으로써, 스토리지 미디어 드라이브의 내부 동작들은 헬스가 불량한 마그네틱 스토리지 미디어의 영역들을 피하도록 최적화될 수 있고, 또는 스토리지 미디어 드라이브는 이러한 헬스 예측에 근거하여 교체될 수 있다. 예를 들어, 대부분의 데이터 센터들 혹은 클라우드 서비스 제공자들은 하나 이상의 위치들에 걸쳐 배치될 수 있는 수백만 개의 HDD들을 실행시킨다. 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들에 의해 제공되는 헬스 스코어들을 이용하여, 데이터 센터 통치관리자들은, HDD가 고정나기 전에, 효율적으로 HDD 교체 혹은 액세스 리디렉션(access redirection)(예를 들어, 또 하나의 다른 HDD로의 액세스 리디렉션)을 구현할 수 있다. 이것은 통치관리자들로 하여금 업무상 중요한 데이터(mission critical data)를 보호할 수 있게 함과 아울러 데이터 액세스에 대한 다양한 서비스 레벨 협약(Service Level Agreement, SLA)들을 따르도록 데이터 서버 HDD들의 이용가능성을 지속적으로 더 잘 보장할 수 있게 한다. 다른 경우들에서, 미디어 헬스 관리자는 마그네틱 스토리지 미디어의 하나 이상의 섹터들에 대한 고장 확률(probability of failure)을 결정할 수 있다. 섹터의 판독이 실패할 가능성이 있을 때, 미디어 헬스 관리자는 더 적극적인 에러 정정을 구현할 수 있거나, 또는 서비스 제공자(예를 들어, 클라우드)에게 데이터가 이용가능하지 않을 가능성이 있음을 통지할 수 있고, 이것은 서비스 제공자로 하여금 원하는 데이터를 또 하나의 다른 드라이브로부터 획득할 수 있게 한다. 일부 경우들에서, 이것은 낮은 확률의 섹터로 궁극적으로 판독 실패가 일어날 때까지 기다리기 전에 대안적 위치로부터 원하는 것을 제공함으로써 서비스 제공자가 SLA의 조건들을 충족시킬 수 있게 하는데 효과적일 수 있다.
마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들에서, 미디어 헬스 관리자는 마그네틱 스토리지 미디어의 구역 내에 상주하는 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 판독 채널을 이용해 결정할 수 있다. 미디어 헬스 관리자는, 구역의 판독 메트릭들에 액세스하고, 그리고 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 구역에 대한 업데이트된 판독 메트릭들을 제공한다. 그 다음에, 미디어 헬스 관리자는 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 뉴럴 네트워크를 이용해 결정한다. 이렇게 함으로써, 마그네틱 스토리지 미디어의 점진적 마모가 헬스 스코어를 사용해 예측될 수 있고, 이것은 마그네틱 스토리지 미디어 디바이스를 고장 전에 교체할 수 있게 하여 마그네틱 스토리지 미디어 드바이스에 저장된 데이터의 신뢰성 혹은 이용가능성을 향상시킨다.
다음에 논의되는 것은, 동작 환경, 이러한 동작 환경에서 이용될 수 있는 기법들, 그리고 이러한 동작 환경의 컴포넌트들이 구현될 수 있는 시스템 온 칩(SoC)을 설명한다. 본 개시내용의 맥락에서, 이러한 동작 환경은 오로지 예시적으로 참조되는 것이다.
동작 환경(Operating Environment)
도 1은 데이터 혹은 정보의 다양한 형태들을 저장할 수 있거나 이러한 것들에 액세스할 수 있는, 컴퓨팅 디바이스(102)를 갖는 예시적인 동작 환경(100)을 예시한다. 컴퓨팅 디바이스(102)의 예들은, 랩탑 컴퓨터(laptop computer)(104), 데스크탑 컴퓨터(desktop computer)(106), 및 서버(server)(108)를 포함할 수 있고, 이들 중 임의의 것은 스토리지 네트워크(storage network) 혹은 클라우드 스토리지(cloud storage)의 일부로서 구성될 수 있다. 컴퓨팅 디바이스(102)의 다른 예들(미도시)은, 태블릿 컴퓨터(tablet computer), 셋-탑-박스(set-top-box), 데이터 스토리지 어플라언스(data storage appliance), 웨어러블 스마트-디바이스(wearable smart-device), 텔레비젼(television), 콘텐츠-스트리밍 디바이스(content-streaming device), 고-품질 멀티미디어 인터페이스(High-Definition Multimedia Interface, HDMI) 미디어 스틱(media stick), 스마트 어플라언스(smart appliance), 홈 오토메이션 제어기(home automation controller), 스마트 써모스태트(smart thermostat), 사물-인터넷(Internet-of-Things, IoT) 디바이스, 모바일-인터넷 디바이스(Mobile-Internet Device, MID), 네트워크-부착-스토리지(Network-Attached-Storage, NAS) 드라이브, 집합 스토리지 시스템(aggregate storage system), 게이밍 콘솔(gaming console), 자동차 엔터테인먼트 디바이스(automotive entertainment device), 자동차 컴퓨팅 시스템(automotive computing system), 자동차 제어 모듈(automotive control module)(예를 들어, 엔진(engine) 또는 파워 트레인(power train) 제어 모듈(control module)), 등을 포함할 수 있다.
일반적으로, 컴퓨팅 디바이스(102)는 임의의 적절한 목적을 위해, 예를 들어, 디바이스의 특정 타입의 기능들을 가능하게 하기 위해, 사용자 인터페이스를 제공하기 위해, 네트워크 액세스를 가능하게 하기 위해, 게이밍 애플리케이션(gaming application)들을 구현하기 위해, 미디어를 재생(playback)하기 위해, 네비게이션(navigation)을 제공하기 위해, 콘텐츠를 편집하기 위해, 데이터 스토리지를 제공하기 위해, 또는 기타 등등을 위해 데이터를 제공, 전달 혹은 저장할 수 있다. 대안적으로 혹은 추가적으로, 컴퓨팅 디바이스(102)는 데이터베이스(database)들, 사용자 데이터(user data), 멀티미디어(multimedia), 애플리케이션(application)들, 오퍼레이팅 시스템(operating system)들, 등과 같은 다양한 데이터를 저장할 수 있다. 하나 이상의 컴퓨팅 디바이스들(102)은 클라우드 스토리지(cloud storage), 아카이빙(archiving), 백업(backup), 클라이언트 서비스(client service)들, 레코드 보존(records retention), 등과 같은 원격 데이터 스토리지 혹은 서비스들을 제공하도록 구성될 수 있다.
컴퓨팅 디바이스(102)는 프로세서(110) 및 컴퓨터-판독가능 스토리지 미디어(computer-readable storage media)(CRM)(112)를 포함한다. 프로세서(110)는 컴퓨팅 디바이스(102)의 오퍼레이팅 시스템(operating system) 혹은 다른 프로그램들의 명령들 혹은 커맨드들을 실행하기 위해 싱글-코어(single-core)이거나 멀티-코어(multi-core)(예를 들어, ARM 혹은 x86 프로세서 코어들)인 임의의 적절한 타입 혹은 수의 프로세서들로서 구현될 수 있다. CRM(112)은 메모리 미디어(114) 및 미디어 드라이브(116)를 포함한다. 컴퓨팅 디바이스(102)의 메모리 미디어 혹은 시스템 메모리는 휘발성 메모리 혹은 비휘발성 메모리의 임의의 적절한 타입 또는 조합을 포함할 수 있다. 예를 들어, 컴퓨팅 디바이스(102)의 휘발성 메모리는, 랜덤-액세스 메모리(Random-Access Memory, RAM), 다아나믹 RAM(Dynamic RAM, DRAM), 스태틱 RAM(Static RAM, SRAM) 등의 다양한 타입들을 포함할 수 있다. 비-휘발성 메모리는, 판독-전용 메모리(Read-Only Memory, ROM), 전기적으로 소거가능하고 프로그래밍가능한 ROM(Electronically Erasable Programmable ROM, EEPROM) 또는 플래시 메모리(Flash memory)(예를 들어, NOR 플래시 혹은 NAND 플래시)를 포함할 수 있다. 이러한 메모리들은, 개별적으로 혹은 결합되어, 컴퓨팅 디바이스(102)의 애플리케이션들 및/또는 오퍼레이팅 시스템과 관련된 데이터를 저장할 수 있다.
컴퓨팅 디바이스(102)의 미디어 드라이브(116)는 하나 이상의 미디어 드라이브들을 포함할 수 있고, 또는 컴퓨팅 디바이스(102)가 관련된 데이터 스토리지 시스템의 일부로서 구현될 수 있다. 이러한 예에서, 미디어 드라이브(116)는, 마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들을 참조하여 설명되는 그리고 데이터를 저장할 수 있는, 하드-디스크 드라이브(HDD)를 포함한다. 대안적으로 혹은 추가적으로, 미디어 드라이브(116)는 임의의 적절한 타입의 데이터 스토리지 드라이브 혹은 시스템, 예컨대, 스토리지 디바이스, 스토리지 드라이브, 스토리지 어레이(storage array), 스토리지 볼륨(storage volume), 등으로서 구성될 수 있다. 컴퓨팅 디바이스(102)를 참조하여 설명되고 있지만, 미디어 드라이브(116)는 또한 독립형 디바이스로서 별개로 구현될 수 있고, 또는 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들이 구현되는 (예를 들어, 클라우드-기반 스토리지 혹은 서비스들을 위한) 데이터 센터(data center), 서버 팜(server farm), 혹은 가상화된 스토리지 시스템과 같은 더 큰 스토리지 집합체(storage collective)의 일부로서 별개로 구현될 수 있다.
컴퓨팅 디바이스(102)는 또한 I/O 포트(I/O port)들(120), 그래픽 프로세싱 유닛(Graphics Processing Unit, GPU)(미도시), 및 데이터 인터페이스(data interface)들(122)을 포함할 수 있다. 일반적으로, I/O 포트들(120)은 컴퓨팅 디바이스(102)로 하여금 다른 디바이스들, 주변기기(peripheral)들, 또는 사용자들과 상호작용할 수 있게 한다. 예를 들어, I/O 포트들(120)은 범용 직렬 버스(universal serial bus), 휴먼 인터페이스 디바이스(human interface device)들, 오디오 입력(audio input)들, 오디오 출력(audio output)들, 등을 포함할 수 있거나, 또는 이러한 것들과 결합될 수 있다. GPU는, 오퍼레이팅 시스템, 애플리케이션들, 등의 사용자 인터페이스 요소들과 같은, 컴퓨팅 디바이스(102)에 대한 그래픽-관련 데이터를 프로세싱하고 렌더링(rendering)한다. 일부 경우들에서, GPU는, 그래픽들을 렌더링하기 위해 로컬 메모리(local memory)의 일부에 액세스하고, 또는 컴퓨팅 디바이스(102)의 그래픽들을 렌더링하기 위한 전용 메모리(예를 들어, 비디오 RAM)를 포함한다.
컴퓨팅 디바이스(102)의 데이터 인터페이스들(122)은 하나 이상의 네트워크들 및 이러한 네트워크들에 연결된 다른 디바이스들에 대한 연결성(connectivity)을 제공한다. 데이터 인터페이스들(122)은, 로컬 네트워크(local network), 인트라넷(intranet), 혹은 인터넷(Internet)을 통해 전달되는 데이터를 위한 이더넷 혹은 광섬유 인터페이스들과 같은, 유선 인터페이스들을 포함할 수 있다. 대안적으로 혹은 추가적으로, 데이터 인터페이스들(122)은, 무선 로컬-영역-네트워크(Wireless Local Area Network, WLAN)들, 와이드-영역 무선 네트워크들(wide-area wireless network)(WAN)들(예를 들어, 셀룰러 네트워크들), 그리고/또는 무선 개인-영역 네트워크(Wireless Personal-Area-Network, WPAN)들과 같은, 무선 네트워크들을 통한 통신을 용이하게 하는 무선 인터페이스들을 포함할 수 있다. I/O 포트들(120) 혹은 데이터 인터페이스들(122)을 통해 전달되는 데이터 중 임의의 데이터는, 마그네틱 스토리지 미디어를 위한 헬스 관리의 하나 이상의 실시형태들에 따라, 컴퓨팅 디바이스(102)의 스토리지 시스템에 기입될 수 있거나 컴퓨팅 디바이스(102)의 스토리지 시스템으로부터 판독될 수 있다.
미디어 드라이브(116)로 돌아가서, 컴퓨팅 디바이스(102)는 보여지는 바와 같이 하드-디스크 드라이브(118)를 포함할 수 있고, 그리고/또는 헬스 관리의 실시형태들이 구현될 수 있는 스토리지 미디어의 다른 타입들을 포함할 수 있다. 보여지지는 않지만, 미디어 드라이브(116)의 다른 구성들이 또한 고려되는데, 예컨대, 솔리드-스테이트 드라이브(Solid-State Drive, SSD), 마그네틱 테이프 드라이브(magnetic tape drive), 광학 미디어 드라이브(optical media drive)들, HDD/SSD 하이브리드 드라이브(hybrid drive)들, 그리고 스토리지 미디어(예를 들어, 마그네틱 혹은 광학적 스토리지 미디어)에 데이터를 기입하는 다른 스토리지 시스템들과 같은 것이 고려된다. 대안적으로 혹은 추가적으로, 컴퓨팅 디바이스(102)는 미디어 드라이브들의 어레이를 포함할 수 있고, 또는 건강 관리의 실시형태들이 구현될 수 있는 복수의 미디어 드라이브들을 위한 미디어 드라이브 집합 디바이스 혹은 호스트로서의 역할을 할 수 있다.
이러한 예에서, 디스크 드라이브(118)는 하드-디스크 드라이브(118)의 기능들을 구현하거나 가능하게 하기 위한 헤드-디스크 조립체(Head-Disk Assembly, HDA)(124) 및 드라이브 제어 모듈(drive control module)(126)을 포함한다. 일부 경우들에서, 드라이브 제어 모듈(126)은 반도체 디바이스들, 로직, 혹은 다른 회로를 갖는 인쇄 회로 보드 조립체(Printed Circuit Board Assembly, PCBA)로서 구현된다. HDA(124)는 통합형 스핀들 및 모터(예를 들어, 보이스 코일 모터(Voice Coil Motor, VCM)) 조립체(130) 상에 장착되는 하나 이상의 미디어 디스크들(128)(혹은 플래터(platter)들)을 포함한다. 스핀들 및 모터 조립체(spindle and motor assembly)(130)는 HDA(124)의 헤드 조립체(미도시)와 결합된 판독/기입 헤드(read/write head)들(132) 아래에서(혹은 위에서) 미디어 디스크(128)를 회전시킬 수 있다. 미디어 디스크들(128)은 자기적으로 단단한 물질(예를 들어, 입자 표면 혹은 얇은-필름 표면)을 갖도록 코팅(coating)될 수 있고, 한쪽 면에 혹은 양쪽 면들에 기입이 이루어질 수 있거나 한쪽 면에 혹은 양쪽 면들로부터 판독이 이루어질 수 있다. 판독/기입 헤드들(132)은 HDA(124)의 전치-증폭기/기입기 모듈(pre-amplifier/writer module)(134)(전치-앰프/기입기(pre-amp/writer)(134))과 동작가능하게 결합될 수 있고, 여기서 전치-증폭기/기입기 모듈(134)(전치-앰프/기입기(134))은 전치-증폭기 회로와, 그리고 기입 신호들 혹은 판독 신호들을 각각 증폭시키기 위한 다른 로직을 포함한다. 전치-앰프/기입기(134)는, 마그네틱 미디어(202)에 데이터를 기입하거나 혹은 마그네틱 미디어(202)로부터 데이터를 판독하기에 유용한 헤드 선택, 증폭, 혹은 감지 전류 값들을 수신 혹은 저장할 수 있다.
도 1에서 보여지는 바와 같이, 하드-디스크 드라이브(118)의 예시적 드라이브 제어 모듈(126)은 스토리지 미디어 제어기(136), 서보 제어 유닛(servo control unit)(138), 및 판독/기입 채널(140)(판독 채널(140))을 포함할 수 있다. 스토리지 미디어 제어기(136)는 컴퓨팅 디바이스(102)로 하여금, 오퍼레이팅 시스템, 애플리케이션들, 또는 애플리케이션들 혹은 다른 서비스들에 대한 데이터와 같은, 미디어 드라이브(116)의 마그네틱 스토리지 미디어의 콘텐츠(content)들에 액세스할 수 있게 한다. 스토리지 미디어 제어기는 또한, 미디어 드라이브의 마그네틱 스토리지 미디어에 컴퓨팅 디바이스(102)의 데이터를 기입할 수 있고 미디어 드라이브의 마그네틱 스토리지 미디어로부터 컴퓨팅 디바이스(102)의 데이터를 판독할 수 있다. 일반적으로, 드라이브 제어 모듈(126)은 HDA(124)를 통한 판독/기입 헤드(132) 포지셔닝(positioning) 그리고 스핀들 및 모터 조립체(130)를 통한 회전 속도 제어와 같은 기계적 동작들을 제어하기 위해 서보 제어 유닛(138)에 지시할 수 있거나 혹은 서보 제어 유닛(138)을 사용할 수 있다.
판독/기입 채널(140)은 기입 데이터를 기입 신호들로 변환하는 것 또는 판독 신호들을 판독 데이터로 변환하는 것을 행하기 위한 디지털-대-아날로그(digital-to-analog) 및 아날로그-대-디지털(analog-to-digital) 경로들을 각각 포함할 수 있다. 예를 들어, 판독 채널(140)은 데이터가 미디어 디스크(128)로부터 판독될 때 신호들을 프로세싱 및 디코딩할 수 있다. 판독 신호의 이러한 신호 프로세싱 및 디코딩은 신호 컨디셔닝, 샘플링, 등화, 검출, 에러-정정, 등을 포함할 수 있다. 판독 채널(140)이 어떻게 구현되고 사용되는지는 다양하며, 본 개시내용 전반에 걸쳐 설명된다. 드라이브 제어 모듈(126) 혹은 그 컴포넌트들은, 하드-디스크-드라이브 제어기가 제공되거나 하드-디스크-드라이브 제어기를 구현하는, 하나 이상의 IC 칩(IC chip)들, 시스템-온-칩(System-on-Chip), 시스템-인-패키지(System-in-Package), 또는 마이크로프로세서로서 구현될 수 있다. 드라이브 제어 모듈(126)은 또한, 드라이브 전자장치들(미도시)을 포함할 수 있고, 그리고/또는 호스트-버스 인터페이스, 스토리지 미디어 인터페이스, 스핀들 인터페이스, 혹은 전치-앰프/기입기 인터페이스와 같은 다양한 인터페이스들을 포함할 수 있다.
일부 실시형태들에서, 판독 채널(140)은 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및 미디어 헬스 데이터(146)를 포함하거나 혹은 이들과 관련된다. 미디어 헬스 관리자(142)는 데이터가 판독되는 마그네틱 스토리지 미디어의 섹터에 대한 판독 채널(140)로부터 메트릭들을 획득할 수 있다. 판독 채널(140)에 의해 제공되는 메트릭들에 근거하여, 미디어 헬스 관리자(142)는 마그네틱 스토리지 미디어의 일부 혹은 구역에 대한 헬스 스코어를 예컨대, 뉴럴 네트워크들(144)을 사용함으로써 결정 혹은 업데이트할 수 있다. 이러한 뉴럴 네트워크들(144) 중 하나 이상은 다량의 스토리지 미디어 메트릭들을 몇 개 혹은 수 개의 헬스 스코어들로 분류하도록 미리-훈련될 수 있는데, 이것은 마그네틱 스토리지 미디어의 헬스를 결정하거나 스토리지 미디어 드라이브의 헬스를 결정하는데 유용하다. 미디어 헬스 데이터(146)는 마그네틱 스토리지 미디어의 구역들 혹은 일부분들에 대한 이전에 컴퓨팅된 헬스 스코어들을 포함할 수 있고, 뿐만 아니라 마그네틱 스토리지 미디어의 섹터들 혹은 트랙들에 대한 판독 채널 메트릭들의 평균들을 포함할 수 있다. 일부 경우들에서, 미디어 헬스 관리자(142)는 마그네틱 스토리지 미디어의 일부분들 혹은 구역들에 대한 결정된 헬스 스코어들을 미디어 헬스 데이터(146)에 저장하는데, 이러한 미디어 헬스 데이터(146)는 마그네틱 스토리지 미디어의 구역들 혹은 일부분들에 대한 정보 테이블(information table)의 일부일 수 있다. 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 혹은 미디어 헬스 데이터(146)가 어떻게 구현되고 사용되는지는 다양하며, 본 개시내용 전반에 걸쳐 설명된다.
예를 들어, 도 2를 고려하는데, 도 2는 도면번호 200으로 전반적으로 예시된 (보호용 인클로저(protective enclosure) 없이 보여지는) 하드-디스크 드라이브(118)의 예시적 구성을 제공한다. 도 2에서 보여지는 바와 같이, 하드-디스크 드라이브(118)의 HDA(124)는, 마그네틱 스토리지 미디어(202)의 미디어 디스크들(128)(또는 플래터들)을 지지하고 그리고/또는 동작시키는, 통합형 스핀들 및 모터 조립체(130)를 포함한다. 일반적으로, 미디어 디스크들(128) 각각은 마그네틱 스토리지 미디어(202)의 미리정의된 구역들 혹은 영역들로 분화 혹은 분할될 수 있다. 이러한 예에서, 미디어 디스크(128)의 표면(204)은, 마그네틱 스토리지 미디어(202)의 섹터들(210) 및 트랙들(208)의 각각의 서브세트를 포함하는 세 개의 구역들(206)(예를 들어, 원형 벨트(belt)들/링(ring)들 혹은 쐐기(wedge)들)로 분할되거나 이러한 세 개의 구역들(206)을 포함한다. 미디어 디스크들(128) 혹은 이러한 디스크들의 표면들의 다른 것들이 도 2에서 예시되는 것들과 유사하게 또는 다르게(예를 들어, 구역들의 수에 있어 다르게) 구성될 수 있다. 일부 실시형태들에서, 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 구역들(206) 중 하나 이상의 구역들에 대한 구역 헬스 스코어 카드(zone health score card)들의 형태로 드라이브 헬스의 상태를 유지한다.
동작 동안, 암(arm)(212)이 가동(maneuver)될 수 있고, 따라서 미디어 디스크(128) 상의 마그네틱 스토리지 미디어(202)의 원하는 트랙(208) 혹은 섹터(210) 위에 판독/기입 헤드(132)(또는 복수의 판독/기입 헤드들(132))을 포지셔닝할 수 있다. 다양한 실시형태들에서, 판독/기입 헤드(132)는 결합된 기능들 혹은 개별적 기능들(예컨대, 전용 R/W 기능들)을 갖는 다양한 수의 헤드 요소들을 포함할 수 있다. 예를 들어, 판독/기입 헤드(132)는 하나 이상의 판독기들(판독 헤드들/요소들) 및 하나의 기입기(기입 헤드/요소)를 포함할 수 있다. 다른 경우들에서, 판독/기입 헤드(132)는 전용 기입 헤드(요소) 및 하나 이상의 개별적인 추가적 전용 판독 헤드들(요소들)을 포함할 수 있다. 대안적으로 혹은 추가적으로, 도 2에서는 복수의 암들(212)이 보여지고 있지만, HDA(124) 혹은 스핀들 및 모터 조립체는 단일의 암(212)을 갖도록 구현될 수 있고, 또는 판독/기입 헤드(132)를 포지셔닝하기 위한 다른 적절한 구조들을 갖도록 구현될 수 있다.
HDA(124) 및 드라이브 제어 모듈(126)은 별개의 기판들 상에 개별적으로 구현될 수 있고, 그리고/또는 미디어 드라이브의 별개의 PCBA들로서 구현될 수 있다. HDA(124)와 드라이브 제어 모듈(126) 간에 전달되는 신호들 혹은 데이터는 가요성 인쇄 케이블(flexible printed cable)을 통해 운반될 수 있고, 또는 다른 적절한 연결 구조들을 통해 운반될 수 있는데, 예컨대, 트레이스(trace)들, 커넥터(connector)들, 본드 와이어(bond wire)들, 솔더 볼(solder ball)들, 등을 통해 운반될 수 있다. 하드-디스크 드라이브(118)의 HDA(124)는, 수직 마그네틱 레코딩(Perpendicular Magnetic Recording, PMR), 기와식 마그네틱 레코딩(Shingled Magnetic Recording, SMR), 열-보조 마그네틱 레코딩(Heat-Assisted Magnetic Recording, HAMR), 마이크로웨이브 보조 마그네틱 레코딩(Microwave Assisted Magnetic Recording, MAMR), 등과 같은 임의의 적절한 레코딩 기술을 따라 기입 동작들을 수행하도록 구성될 수 있다.
도 2는 또한, 하나 이상의 실시형태들에 따라 구현되는 마그네틱 스토리지 미디어(202)의 구역들(206)을 갖는 미디어 디스크(128)의 평면도를 도면번호 214에서 예시한다. 이러한 예에서, 플래터(216)의 표면(204)의 트랙들(208) 및 섹터들(210)은, 구역 1(206-1), 구역 2(206-2), 및 구역 3(206-3)을 포함하는, 마그네틱 스토리지 미디어의 세 개의 구역들로 편성 혹은 분할된다. 세 개의 구역들(206)을 갖는 것으로 예시되지만, 미디어 디스크(128)의 플래터(216) 혹은 표면(204)은 임의의 적절한 수의 구역들(206)로 편성될 수 있거나 임의의 적절한 수의 구역들(206)을 포함할 수 있다(예를 들어, 구역 1(206-1) 내지 구역 n(206-n), 여기서 n은 임의의 적절한 수임). 일반적으로, 각각의 구역(206)은 표면(204)의 마그네틱 스토리지 미디어(202)의 섹터들(210) 및 트랙들(208)의 서브세트를 포함하도록 구성될 수 있다. 일부 경우들에서, 구역들(206)은, 각각의 구역이 대략 동일한 수의 섹터들(210)을 포함하도록 구성되거나 혹은 플래터(216)의 대략 동일한 표면적을 포함하도록 구성된다.
마그네틱 스토리지 미디어의 헬스 관리의 다양한 실시형태들에서, 미디어 헬스 관리자(142)는 미디어 디스크(128)의 구역들(206)에 대한 헬스 스코어들을 유지할 수 있다. 일반적으로, 구역 헬스 스코어는, 마그네틱 스토리지 미디어의 섹터(210)로부터 데이터를 판독하기 위해 해당 구역(206)의 섹터(210)가 액세스될 때 판독 채널(140)에 의해 제공된 메트릭들에 근거하여, 업데이트될 수 있다. 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어는, 마그네틱 스토리지 미디어의 구역의 마모 레벨, 퇴화 레벨, 혹은 신뢰성 레벨을 표시할 수 있다. 대안적으로 혹은 추가적으로, 이러한 구역 헬스 스코어들은 또한, 하드-디스크 드라이브(118)에 대한 드라이브 헬스 스코어의 결정을 가능하게 하기 위해서, 하드-디스크 드라이브(118)의 복수의 미디어 디스크들(128)에 대해 컴파일링될 수 있다.
도 3은 마그네틱 스토리지 미디어를 위한 헬스 관리의 하나 이상의 실시형태들에 따라 구현되는 (전반적으로 도면번호 300에서의) 판독 채널 및 전치-증폭기의 예시적 구성들을 나타낸다. 이러한 예에서, 미디어 헬스 관리자(142) 및 아날로그 프런트-엔드(302)는 판독 채널(140)과 동작가능하게 결합된다. 추가적으로, 뉴럴 네트워크들(144) 및 미디어 헬스 데이터(146)가 판독 채널(140)의 미디어 헬스 관리자(142)와 동작가능하게 결합되고, 또는 판독 채널(140)의 미디어 헬스 관리자(142)에 의해 액세스가능하다. 비록 도 3에서는 별개의 컴포넌트들 혹은 회로로서 보여지고 있지만, 판독 채널(140)과 미디어 헬스 관리자(142)는 하나의 컴포넌트로서 통합될 수 있고, 하드-디스크 드라이브(118)의 다른 컴포넌트들 간에 분리될 수 있고, 그리고/또는 전치-앰프(134) 및/또는 판독 채널(140)의 다른 마이크로전자장치들 혹은 회로와 통합될 수 있다.
이러한 예에서, 판독 채널(140) 및 다른 컴포넌트들은 마그네틱 스토리지 미디어(202)(마그네틱 미디어(202))의 섹터들로부터 데이터를 판독하는 상황에서 설명된다. 예를 들어, 호스트 시스템 혹은 컴퓨팅 디바이스(102)는 미디어 디스크(128)의 하나 이상의 섹터들(210)에 저장된 데이터에 대한 판독 커맨드를 발행할 수 있다. 미디어 디스크(128)가 판독 헤드(132) 아래에서 회전함에 따라, 판독 헤드(132)는 마그네틱 미디어(202)에 저장된 데이터의 마그네틱 필드(magnetic field)들(304)을 감지하는데, 이러한 마그네틱 필드들(304)은 판독 헤드(132)에서 아날로그 신호(analog signal)들(306)을 유도(induce)한다. 전치-증폭기(134)(전치-앰프(134))는 판독 헤드(132)로부터 수신된 아날로그 신호들(306)을 증폭하고, 증폭된 신호들(308)을 판독 채널(140)의 아날로그 프런트-엔드(302)에 제공한다.
일반적으로, 아날로그 프런트-엔드(302)는 전치-앰프(134)에 의해 제공된 증폭된 신호들(308)(예를 들어, 되-판독 연속 시간 신호)을 컨디셔닝 및 샘플링한다. 판독 채널(140)은 샘플링된 신호들을 디지털 신호로 변환하고, 디코딩된 데이터(310)를 회수(recover)하는데, 이러한 디코딩된 데이터는 스토리지 미디어 제어기(136)에 제공된다. 판독 채널(140)은, 전치-앰프(134)로부터 수신된 신호들로부터의 데이터(310)의 검출(detection), 등화(equalization), 및/또는 디코딩(decoding)을 위한 등화기 모듈(equalizer module), 검출기 모듈(detector module), 적응화 모듈(adaptation module), 혹은 이득 모듈(gain module)의 임의의 적절한 조합을 포함할 수 있다. 본 예를 결론지으면, 이 경우 스토리지 제어기(136)는, 호스트 시스템 혹은 컴퓨팅 디바이스(102)에 의해 발행된 판독 커맨드를 이행하기 위해 이러한 디코딩된 데이터(310)를 판독 데이터(312)로서 호스트 인터페이스(314)에 전송할 수 있다.
미디어 디스크(128)의 하나 이상의 섹터들(210)에 저장된 데이터에 대한 판독 동작들과 같은 다양한 데이터 액세스 동작들과 관련하여, 미디어 헬스 관리자(142)는 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들을 구현할 수 있다. 일반적으로, 구역 정보 테이블 및/또는 미디어 헬스 데이터는, 마그네틱 스토리지 미디어의 특정 구역과 관련된, 혹은 마그네틱 스토리지 미디어의 특정 구역에 액세스하는데 유용한, 교정된 파라미터들을 포함할 수 있다. 미디어 헬스 관리자(142) 혹은 판독 채널(140)은, 예를 들어, 등급 1(scale 1)(예컨대, 불량(poor)) 내지 등급 5(예컨대, 우수(excellent))로 구역의 헬스를 등급화(grading)함으로써, 구역 헬스 스코어들 혹은 스코어 카드들의 형태로 마그네틱 스토리지 미디어 헬스의 상태를 유지할 수 있다. 구역의 헬스 스코어는 해당 특정 구역으로부터 섹터가 판독되는 때에는 언제든 업데이트될 수 있거나 다시계산될 수 있다. 일부 실시형태에서, 미디어 헬스 관리자는, (예를 들어, 판독 동작 동안) 해당 구역의 주어진 섹터에 대한 판독 채널로부터의 다양한 내부 메트릭들을 획득함으로 헬스 스코어를 발생시키거나 업데이트하며, 그리고 이러한 내부 메트릭들에 근거하여 헬스 스코어를 결정하기 위해 머신 러닝 알고리즘(machine learning algorithm) 또는 뉴럴 네트워크(neural network)를 사용한다. 이러한 내부 메트릭들은, 복구되지 않은 섹터들(unrecovered sectors), 재시도 방법 카운트(retry method count), 에러-정정 코드(error-correcting code)에 의해 정정된 평균 에러들, LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치(statistic)들, 싱크 마크 에러(sync mark error)들, 다양한 루프 에러(loop error)들, 등을 포함할 수 있다.
예를 들어, 하나 이상의 섹터들(210)을 판독하기 위해 특정 구역(206)에 대해 미디어 디스크(128)가 탐색될 때, 미디어 헬스 관리자(142)는 구역 정보 테이블(table of zone information)(미도시)의 일부로서 구현될 수 미디어 헬스 데이터(146)로부터 이전에 컴퓨팅된 구역 메트릭들을 판독할 수 있다. 구역(206)의 섹터들(210)에 대한 현재 메트릭들이 판독되는 경우 그 현재 메트릭들에 근거하여, 미디어 헬스 관리자는 이러한 섹터들(210)에 대한 메트릭들의 장-기간(long-term) 및 단-기간(short-term) 평균들을 모두 업데이트한다. 그 다음에, 미디어 헬스 관리자는 업데이트된 장-기간 및 단-기간 메트릭들에 근거하여 구역(206)에 대한 헬스 스코어를 뉴럴 네트워크를 이용해 결정할 수 있다. 뉴럴 네트워크는 광범위하게 다양한 판독 채널 메트릭들을 몇 개 혹은 수 개의 헬스 컨디션 상태(health condition state)에 맵핑(mapping)시키도록 미리-훈련(pre-train)될 수 있다. 구역(206)에 대한 업데이트된 헬스 스코어 및 업데이트된 메트릭들은, 주어진 구역으로부터 나갈 때, 미디어 헬스 데이터(146) 혹은 구역 정보 테이블에 역으로 기입될 수 있다.
본 개시내용 전반에 걸쳐 설명된 마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들은 미디어 헬스 관리자(142)에 의해 구현될 수 있는데, 여기서 미디어 헬스 관리자(142)는, 판독 채널 혹은 스토리지 시스템 제어기와 관련된 혹은 판독 채널 혹은 스토리지 시스템 제어기에 포함된, 뉴럴 네트워크들(144)(예컨대, 도 4 및 도 5), 또는 임의의 적절한 인공 지능(Artificial Intelligence, AI) 엔진(engine), AI model(AI 모델)들, 혹은 AI 드라이버(AI driver)와 상호작용한다. 스토리지 미디어 드라이브 혹은 시스템의 다양한 메트릭들(예를 들어, 판독 메트릭들, 신호 메트릭들, 혹은 전자-기계 메트릭들)을 프로세싱하는 것과 관련하여, 뉴럴 네트워크들(144) 중 하나 이상은, 미디어 헬스 스코어링(media health scoring), 컴포넌트 마모 추정(component wear estimation), 혹은 드라이브 헬스 예측(predicting drive health)을 위해 하나 이상의 뉴럴 네트워크들에 기반을 둔(예를 들어, 미리-훈련된) 머신-러닝을 이용해 구현될 수 있다. 미디어 헬스 관리자(142)의 임의의 AI 모델, AI 알고리즘, 혹은 뉴럴 네트워크는 하나 이상의 계층(layer)들로 조직화되는 연결된 노드(node)들(예컨대, 뉴런(neuron)들 또는 퍼셉트론(perceptron)들)의 그룹을 포함할 수 있다.
미디어 헬스 관리자(142)와 관련된 뉴럴 네트워크(144)의 인스턴스는 딥 뉴럴 네트워크(deep neural network)를 이용해 구현될 수 있는데, 이러한 딥 뉴럴 네트워크는 입력 계층(input layer)과 출력 계층(output layer)을 포함함과 아울러 이러한 뉴럴 네트워크의 입력 계층과 출력 계층들 사이에 위치하는 하나 이상의 은닉 중간 계층(hidden intermediate layer)들을 포함한다. 딥 뉴럴 네트워크의 각각의 노드는 또한, 이러한 뉴럴 네트워크의 계층들 사이에서 완전 연결 혹은 부분 연결될 수 있다. 뉴럴 네트워크(144)는, 알렉스넷(AlexNet.). 레스넷(ResNet), 구글넷(GoogleNet), 모바일넷(MobileNet), 등 중 하나를 포함하는 컨볼루션 뉴럴 네트워크(Convolutional Neural Network, CNN)와 같은 임의의 딥 뉴럴 네트워크(Deep Neural Network, DNN)일 수 있다. 대안적으로 혹은 추가적으로, 뉴럴 네트워크(144)는 임의의 적절한 순환 뉴럴 네트워크(Recurrent Neural Network, RNN) 및 이것의 임의의 변형물을 포함할 수 있다. 일반적으로, 미디어 헬스 관리자(142)에 의해 구현되는 뉴럴 네트워크 또는 AI 모델은 또한, 임의의 다른 지도 러닝(supervised learning), 비지도 러닝(unsupervised learning), 강화 러닝(reinforcement learning) 알고리즘, 등을 포함할 수 있다.
다양한 실시형태들에서, 뉴럴 네트워크(144)는, 입력 데이터 시퀀스(input data sequence)의 이전 부분(previous portion)으로부터의 정보를 입력 데이터 시퀀스의 후속 부분(subsequent portion)(예를 들어, 판독 채널의 내부 메트릭들)을 위해 유지하기 위한 싸이클(cycle)을 형성하는 그러한 노드들 간의 연결들을 갖는 순환 뉴럴 네트워크로서 구현될 수 있다. 대안적으로, 뉴럴 네트워크(144)는, 입력 데이터 시퀀스들 간의 싸이클을 형성하지 않는 그러한 노드들 간의 연결들을 갖는 피드-포어드 뉴럴 네트워크(feed-forward neural network)로서 구현될 수 있다. 또 하나의 다른 경우들에서, 미디어 헬스 관리자(142)의 뉴럴 네트워크(144)는, 주어진 계층 내의 각각의 뉴런이 인접 계층의 모든 뉴런들과 연결되는 그러한 다층 퍼셉트론들을 갖는 컨볼루션 뉴럴 네트워크(CNN)를 포함할 수 있다. 일부 실시형태들에서, 뉴럴 네트워크(144)는, 마그네틱 스토리지 미디어의 후속 혹은 장래 헬스 경향의 어떤 형태를 예측 혹은 예상하기 위해 이전의 미디어 헬스 스코어링에 적용될 수 있는 컨볼루션 뉴럴 네트워크에 기반을 두고 있다. 대안적으로 혹은 추가적으로, 뉴럴 네트워크(144)는, 다중 선형 회귀 모델들(multiple linear regression models), 단일 선형 회귀 모델(single linear regression model), 로지스틱 회귀 모델들(logistical regression models), 단계적 회귀 모델들(stepwise regression models), 다-변량 적응적 회귀 모델들(multi-variate adaptive regression models), 국소 추정 산포도 모델들(locally estimated scatterplot models), 등과 같은, 다양한 회귀 모델(regression model)들을 포함할 수 있거나 이용할 수 있다.
예를 들어, 도 4를 고려하는데, 도 4에서는 뉴럴 네트워크의 예시적 구성이 도면번호 400으로 전반적으로 예시된다. 이러한 예시적 뉴럴 네트워크(144)는 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어들을 컴퓨팅하기 위한 하나 이상의 실시형태들에 따라 구현된다. 일반적으로, 뉴럴 네트워크(144)는 판독 채널(140)의 내부 메트릭들(402)(판독 메트릭들(402))을 마그네틱 스토리지 미디어의 구역들에 대한 구역 헬스 스코어들(404)에 맵핑 혹은 분류하도록 구성된다.
도 4에서 보여지는 바와 같이, 뉴럴 네트워크(144)의 입력들은 판독 채널(140)의 내부 메트릭들(402)의 임의의 적절한 수를 포함할 수 있다. 일부 실시형태들에서, 뉴럴 네트워크(144)는 나쁨(bad), 주의(caution), 적정(fair), 좋음(good), 및 우수(excellent)의 범위를 갖는 다섯 개의 구역 헬스 스코어들(404) 중 하나에 판독 메트릭들(402)을 맵핑시키도록 미리-훈련된다. 판독 채널(140)은 광범위하게 다양한 내부 메트릭들을 발생시킬 수 있거나 광범위하게 다양한 내부 메트릭들에 액세스할 수 있는데, 이는 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 컴퓨팅하거나 결정할 때 유용할 수 있다. 이러한 예에서, 판독 메트릭들은, 복구되지 않은 섹터 비율(unrecovered sector rate)(406), 평균 재시도 방법 비율(average retry method rate)(408), 오프-트랙 검출(off-track detection)들의 평균(410), 탐색 에러(seek error)들의 평균 수(average number)(412), ECC(Error-Correcting Code; 에러-정정 코드)에 의해 정정된 에러들의 평균 수(414), ECC에서의 평균 신드롬 가중치(average syndrome weight)(416), ECC 반복(ECC iteration)들의 평균 수(418), LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치(statistic)들의 평균(420), 프런트-엔드 루프 신호(front-end loop signal)들의 평균 MSE(Mean Square Error; 평균 제곱 오차)(422), 검출된 미디어 결함(media defect)들의 평균 길이(424), ADC(Analog-to-Digital Converter; 아날로그-대-디지털 변환기) 포화(saturation)의 평균 길이(426), 적응성 파라미터(adaptive parameter)의 평균 델타(average delta)(428), SM(Sync Mark; 싱크 마크) 에러들의 평균(430), 또는 다른 다양한 메트릭들(432)을 포함한다. 이에 따라, 미디어 헬스 관리자(142)에 의해 이용가능한 상세한 내부 메트릭들에 근거하여, 뉴럴 네트워크(144)는, 시간(hours) 혹은 섹터 리-맵핑(sector re-mappings)에 의해 드라이브 수명을 추적하기 위한 종래의 기법들보다 훨씬 더 정확하게 스토리지 미디어 드라이브 마모 혹은 신뢰성을 예측하는 구역 헬스 스코어들을 결정할 수 있다.
도 5는 마그네틱 스토리지 미디어의 섹터에 대한 고장의 확률을 컴퓨팅하기 위해 하나 이상의 실시형태들에 따라 구현되는 뉴럴 네트워크의 예시적 구성을 도면번호 500으로 나타낸다. 일부 실시형태들에서, 섹터 고장의 확률은, 데이터에 대한 큐 관리(queue management)를 최적화하는 것 또는 섹터의 데이터를 디코딩하기 위한 특정 파이프라인(pipeline)을 선택하는 것을 행하는데 유용할 수 있다. 예를 들어, 판독 채널의 프런트-엔드 섹션은, 각각의 섹터를 신호-대-노이즈 비율(signal-to-noise ratio)의 세 개 혹은 다섯 개의 레벨들 중 하나의 레벨로 분류할 수 있고, 이러한 분류는 디코딩 효율을 향상시키기 위해서 각각의 섹터를 디코딩하기 위한 파이프라인을 선택하기 위해 판독 채널의 백-엔드 섹션(back-end section)에 의해 사용될 수 있다. 이러한 예에서, 뉴럴 네트워크(144)는 프런트-엔드 메트릭들(502)에 근거하여 섹터에 대해서 섹터 고장의 확률(504)을 결정하도록 구성된다. 이러한 섹터 고장의 확률(504)을 사용하여, 판독 채널(140)의 백-엔드는, 섹터를 디코딩하려는 초기 시도들이 실패함에 따른, 복수의 파이프라인들을 통한 디폴트 진행(default progression)보다 더 성공할 가능성이 높은 (섹터를 디코딩하기 위한) 파이프라인을 선택할 수 있다. 대안적으로 혹은 추가적으로, 미디어 헬스 관리자는 서비스 제공자(예를 들어, 클라우드)에게 데이터가 낮은 확률의 섹터로부터 이용가능하지 않을 가능성이 높음을 통지할 수 있고, 이것은 서비스 제공자로 하여금, 궁극적으로 판독 동작이 실패할 때까지 기다리는 대신에, 원하는 데이터를 또 하나의 다른 드라이브로부터 획득할 수 있게 한다.
도 5에서 보여지는 바와 같이, 판독 채널(140)의 프런트-엔드는 광범위하게 다양한 내부 메트릭들을 발생시킬 수 있거나 광범위하게 다양한 메트릭들에 액세스할 수 있는데, 이는 섹터 고장의 확률을 컴퓨팅하거나 결정하는 때에 유용할 수 있다. 이러한 예에서, 프런트-엔드 메트릭들은, 발견된 싱크 마크(sync mark found)(506), 싱크 마크 분포(sync mark distribution)(508), 검출된 오프-트랙(off-track detected)(510), 델타 피드 어헤드 유한 임펄스 응답 필터 탭들(delta Feed Ahead Finite Impulse Response (FAFIR) filter taps)(512), 델타 FIR-3T 탭들(delta FIR-3T taps)(514), 베이스라인 누적기(baseline accumulator)(516), 주파수 누적기(frequency accumulator)(518), Vmm 및 제로 비-복귀(Non-Return to Zero, NRZ)로부터의 상호 정보(mutual information)(520), 다양한 임계치들을 갖는 Vmm 카운트(Vmm count)(522), 에러 신호로부터 컴퓨팅된 MSE(524), 검출된 결함 플래그(defect flag)들의 길이(526), 델타 이득 변화(delta gain change)(528), 델타 ASC 변화(delta ASC change)(530), 또는 다른 다양한 메트릭들(532)의 표시를 포함한다. 이에 따라, 판독 채널(140)에 의해 이용가능한 상세한 내부 메트릭들에 근거하여, 뉴럴 네트워크(144)는 최적이 아닌 섹터들의 디코딩을 향상시키기 위해 파이프라인 선택을 변경하거나 최적화하는 데 유용한 섹터 고장의 확률(504)을 예측할 수 있다.
마그네틱 스토리지 미디어를 위한 헬스 관리의 기법들(Techniques of Health Management for Magnetic Storage Media)
다음에 논의되는 것은, 마그네틱 스토리지 미디어 컴포넌트들의 헬스(예를 들어, 마모(wear))를 예측하거나 추적함으로써, 향상된 데이터 신뢰성 혹은 이용가능성(예를 들어, 가동시간(uptime))을 가능하게 할 수 있는, 마그네틱 스토리지 미디어를 위한 헬스 관리의 기법들을 설명한다. 이러한 기법들은 판독 채널(140), 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 혹은 미디어 헬스 데이터(146)와 같은, 본 명세서에서 설명되는 엔티티(entity)들 및 환경들 중 임의의 것을 사용하여 구현될 수 있다. 이러한 기법들은 도 6 내지 도 9에서 예시되는 방법들(600 내지 900)을 포함하고, 이러한 도면들 각각은 하나 이상의 엔티티들에 의해 수행되는 동작들의 세트로서 보여진다.
이러한 방법들은 관련된 도면들에서 보여지는 동작들의 순서들에 반드시 한정되는 것은 아니다. 오히려, 이러한 동작들 중 임의의 동작은 본 명세서에서 설명되는 다양한 실시형태들을 구현하기 위해, 반복, 생략, 대체, 혹은 재-배열될 수 있다. 더욱이, 이러한 방법들은, 동일한 엔티티에 의해 수행되건, 또는 별개의 엔티티들에 의해 수행되건, 또는 이들의 임의의 조합에 의해 수행되건, 전체적으로 혹은 부분적으로, 서로 연계되어 사용될 수 있다. 예를 들어, 본 명세서에서 설명되는 방법들의 실시형태들은, 마그네틱 스토리지 미디어의 구역들, 표면들, 디스크들, 혹은 드라이브들에 대한 각각의 헬스 스코어들과 같은, 마그네틱 스토리지 미디어에 대한 다양한 세분화된 단위(granularity)들의 헬스 스코어들을 구현하기 위해 결합될 수 있다. 다음의 논의 중 일부분들에서, 도 1의 동작 환경, 그리고 도 2 내지 도 5의 엔티티들이 참조될 것이다. 이러한 참조가 본 명세서에서 설명되는 실시형태들을 이러한 동작 환경(100), 엔티티들, 구성들, 또는 구현예들에 한정하는 것으로서 이해돼서는 안 되며, 오히려 다양한 예들 중 하나의 예를 나타내는 것으로서 이해돼야 한다. 대안적으로 혹은 추가적으로, 이러한 방법들의 동작들은 또한, 도 10의 시스템-온-칩 및/또는 도 11의 스토리지 미디어 제어기를 참조하여 설명되는 엔티티들에 의해 구현될 수 있거나 이러한 엔티티들을 이용해 구현될 수 있다.
도 6은 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 결정하기 위한 예시적 방법(600)을 도시하고, 이러한 방법(600)은 판독 채널(140), 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및/또는 미디어 헬스 데이터(146)에 의해 수행되거나 이러한 것들을 이용해 수행되는 동작들을 포함한다.
도면번호 602에서, 마그네틱 스토리지 미디어의 섹터를 판독하도록 하는 요청이 수신된다. 마그네틱 스토리지 미디어의 섹터는 마그네틱 스토리지 미디어의 구역 내에 상주할 수 있다. 일부 경우들에서, 판독 채널은 섹터를 판독하도록 하는 요청(혹은 섹터로부터 데이터를 판독하도록 하는 요청)을 스토리지 미디어 제어기로부터 수신한다. 이러한 요청은, 복수의 각각의 섹터들이 마그네틱 스토리지 미디어의 플랫터 혹은 미디어 디스크의 특정 섹터로부터 판독되는 결과를 초래하는 복수의 요청들 중 하나일 수 있다. 대안적으로 혹은 추가적으로, 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 복수의 구역들 중에서, 해당 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정할 수 있다.
도면번호 604에서, 판독 채널을 이용해 섹터에 대한 판독 메트릭들이 결정된다. 요청에 근거하여 판독되는 섹터에 대한 판독 메트릭들이 결정된다. 일부 경우들에서, 판독 메트릭들은, 복구되지 않은 섹터 비율, 평균 재시도 방법 비율, 오프-트랙 검출들의 평균 수, 탐색 에러들의 평균 수, 에러-정정 코드(ECC)에 의해 정정된 에러들의 평균 수, ECC에서의 평균 신드롬 가중치, ECC 반복들의 평균 수, LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치들의 평균, 프런트-엔드 루프 신호들의 평균 MSE(Mean Square Error; 평균 제곱 오차), 검출된 미디어 결함들의 평균 길이, ADC(Analog-to-Digital Converter; 아날로그-대-디지털 변환기) 포화의 평균 길이, 적응성 파라미터의 평균 델타, 또는 싱크 마크 에러들의 평균과 같은, 판독 채널의 내부 메트릭들을 포함한다.
도면번호 606에서, 마그네틱 스토리지 미디어의 구역의 판독 메트릭들이 액세스된다. 이러한 판독 메트릭들은 구역의 섹터들에 대한 이전에 결정된 혹은 컴퓨팅된 판독 메트릭들을 포함할 수 있다. 일부 경우들에서, 구역의 판독 메트릭들을 획득하기 위해 미디어 헬스 데이터의 보관소(repository) 혹은 구역 정보 테이블이 액세스된다. 일반적으로, 구역의 판독 메트릭들은, 판독되는 섹터에 대한 각각의 판독 메트릭들을 포함할 수 있고, 뿐만 아니라 마그네틱 스토리지 미디어의 구역 내에 상주하는 다른 섹터들에 대한 각각의 판독 메트릭들을 포함할 수 있다. 대안적으로 혹은 추가적으로, 섹터에 대한 판독 메트릭들은 특정 판독 메트릭의 장-기간 평균 및 특정 판독 메트릭의 단-기간 평균을 포함할 수 있다.
도면번호 608에서, 마그네틱 스토리지 미디어의 구역의 판독 메트릭들이, 마그네틱 스토리지 미디어의 섹터에 대해 결정된 판독 메트릭들에 근거하여, 업데이트된다. 구역으로부터 판독된 각각의 섹터에 대한 판독 메트릭들은 해당 섹터에 대해 판독 채널에 의해 제공된 현재의 각각의 판독 메트릭들에 근거하여 업데이트될 수 있다. 일부 경우들에서, 이러한 업데이트는 섹터의 메트릭의 장-기간 및 단-기간 평균들을 모두 업데이트하는 것을 포함할 수 있다.
도면번호 610에서, 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어가 뉴럴 네트워크를 이용해 결정된다. 뉴럴 네트워크는 마그네틱 스토리지 미디어의 구역의 업데이트된 판독 메트릭들에 근거하여 헬스 스코어를 결정한다. 뉴럴 네트워크는, 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 결정하기 위해 적어도 세 개의 헬스 스코어 분류들 중 하나의 헬스 스코어 분류에 판독 채널의 업데이트된 판독 메트릭들을 맵핑시키도록 구성될 수 있거나 미리-훈련될 수 있다. 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어는, 마그네틱 스토리지 미디어의 구역의 마모 레벨, 퇴화 레벨, 혹은 신뢰성 레벨을 표시할 수 있다.
선택에 따라서는 도면번호 612에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어는 저장된다. 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어는 미디어 헬스 데이터의 보관소 혹은 구역 정보 테이블에 기입될 수 있다. 대안적으로 혹은 추가적으로, 구역의 섹터에 대한 업데이트된 판독 메트릭들은 또한 미디어 헬스 데이터의 보관소 혹은 구역 정보 테이블에 역으로 기입될 수 있다.
선택에 따라서는 도면번호 614에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어는 스토리지 미디어 제어기에 전송된다. 일부 경우들에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어를 스토리지 미디어 제어기에 보내는 것은, 스토리지 미디어 제어기로 하여금, 헬스 스코어를 다른 메트릭들과 컴파일링하여 스토리지 미디어 제어기가 관련된 상위-레벨 스토리지 엔티티 혹은 미디어 드라이브에 대한 헬스 스코어를 결정할 수 있게 한다.
도 7은 판독 채널에 의해 제공된 판독 메트릭들의 평균에 근거하여 구역에 대한 헬스 스코어를 결정하기 위한 예시적 방법(700)을 도시하고, 이러한 방법(700)은 판독 채널(140), 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및/또는 미디어 헬스 데이터(146)에 의해 수행되거나 이러한 것들을 이용해 수행되는 동작들을 포함한다.
도면번호 702에서, 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들이 판독 채널을 이용해 결정된다. 마그네틱 스토리지 미디어의 섹터는 마그네틱 스토리지 미디어의 구역 내에 상주할 수 있거나 존재할 수 있다. 일부 경우들에서, 마그네틱 스토리지 미디어의 구역으로부터 판독되고 있는 복수의 섹터들에 대한 각각의 판독 메트릭들이 결정된다. 대안적으로 혹은 추가적으로, 미디어 헬스 관리자는, 마그네틱 스토리지 미디어의 복수의 구역들 중에서, 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정할 수 있다.
도면번호 704에서, 구역의 이전에 결정된 판독 메트릭들이 구역 정보 테이블로부터 판독된다. 일반적으로, 구역의 이전에 결정된 판독 메트릭들은, 판독되는 섹터에 대한 각각의 판독 메트릭들을 포함할 수 있고, 뿐만 아니라 마그네틱 스토리지 미디어의 구역 내에 상주하는 다른 섹터들에 대한 각각의 판독 메트릭들을 포함할 수 있다. 대안적으로 혹은 추가적으로, 섹터에 대한 판독 메트릭들은 특정 판독 메트릭의 장-기간 평균 및 특정 판독 메트릭의 단-기간 평균을 포함할 수 있다.
선택에 따라서는, 도면번호 706에서, 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들의 단-기간 평균이 업데이트된다. 일반적으로, 섹터에 대한 판독 메트릭의 단-기간 평균은 판독 채널에 의해 제공된 현재 판독 메트릭에 근거하여 업데이트된다. 구역으로부터 복수의 섹터들이 판독되는 경우들에서, 판독 메트릭들의 각각의 단-기간 평균들은 구역으로부터 판독되는 복수의 섹터들 각각에 대해 업데이트될 수 있다.
선택에 따라서는, 도면번호 708에서, 섹터에 대해 결정된 판독 메트릭들에 근거하여 구역의 판독 메트릭들의 장-기간 평균이 업데이트된다. 일반적으로, 섹터에 대한 판독 메트릭의 장-기간 평균은 판독 채널에 의해 제공된 현재 판독 메트릭에 근거하여 업데이트된다. 구역으로부터 복수의 섹터들이 판독되는 경우들에서, 판독 메트릭들의 각각의 장-기간 평균들은 구역으로부터 판독되는 복수의 섹터들 각각에 대해 업데이트될 수 있다.
도면번호 710에서, 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어가 뉴럴 네트워크를 이용해 결정된다. 뉴럴 네트워크는 구역의 판독 메트릭들의 업데이트된 단-기간 및/또는 장-기간 평균들에 근거하여 헬스 스코어를 결정한다. 뉴럴 네트워크는, 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어를 결정하기 위해 적어도 세 개의 헬스 스코어 분류들 중 하나의 헬스 스코어 분류에 구역의 판독 메트릭들의 업데이트된 단-기간 및/또는 장-기간 평균들을 맵핑시키도록 구성될 수 있거나 미리-훈련될 수 있다. 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어는, 마그네틱 스토리지 미디어의 구역의 마모 레벨, 퇴화 레벨, 혹은 신뢰성 레벨을 표시할 수 있다.
도면번호 712에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어는 구역 정보 테이블에 저장된다. 대안적으로 혹은 추가적으로, 마그네틱 스토리지 미디어의 구역에 대한 헬스 스코어는 미디어 헬스 데이터의 보관소에 기입될 수 있다. 도면번호 714에서, 구역의 판독 메트릭들의 업데이트된 단-기간 및 장-기간 평균들은 구역 정보 테이블에 저장된다. 일부 경우들에서, 구역의 판독 메트릭들의 업데이트된 단-기간 및 장-기간 평균들은 미디어 헬스 데이터의 보관소에 기입될 수 있다.
선택에 따라서는, 도면번호 716에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어는 스토리지 미디어 제어기에 전송된다. 일부 경우들에서, 마그네틱 스토리지 미디어의 구역의 헬스 스코어를 스토리지 미디어 제어기에 보내는 것은, 스토리지 미디어 제어기로 하여금, 헬스 스코어를 다른 메트릭들(예를 들어, 전자-기계 메트릭들 혹은 신호 메트릭들)과 컴파일링하여 결합된 메트릭들을 사용하여 스토리지 미디어 제어기가 관련된 상위-레벨 스토리지 엔티티 혹은 미디어 드라이브에 대한 헬스 스코어를 결정할 수 있게 한다.
도 8은 하나 이상의 실시형태들에 따른 스토리지 미디어 드라이브 헬스 스코어를 결정하기 위한 예시적 방법(800)을 도시하고, 이러한 방법(800)은 판독 채널(140), 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및/또는 미디어 헬스 데이터(146)에 의해 수행되거나 이러한 것들을 이용해 수행되는 동작들을 포함한다.
도면번호 802에서, 스토리지 미디어 드라이브의 판독 채널로부터 마그네틱 스토리지 미디어의 하나 이상의 구역들에 대한 각각의 헬스 스코어들이 수신된다. 각각의 헬스 스코어들은 구역들이 구현되거나 편성되는 미디어 디스크의 표면 혹은 플래터와 관련된 판독 채널 또는 미디어 헬스 관리자로부터 수신될 수 있다.
도면번호 804에서, 스토리지 미디어 드라이브에 대한 전자-기계 메트릭들은 스토리지 미디어 드라이브의 스핀들 및 보이스 코일 모터 조립체로부터 수신된다. 전자-기계 메트릭들은, 스토리지 미디어 드라이브의 스핀들, 보이스 코일 모터, 혹은 다른 전자-기계 컴포넌트들과 관련된 파라미터들, 교정 정보, 또는 성능 데이터에 관한 임의의 적절한 메트릭들을 포함할 수 있다.
도면번호 806에서, 스토리지 미디어 드라이브에 대한 신호 메트릭들이 스토리지 미디어 드라이브의 전치-증폭기로부터 수신된다. 신호 메트릭들은 전치-증폭기의 다양한 증폭 혹은 이들 설정들을 포함할 수 있다. 일부 경우들에서, 신호 메트릭들은 스토리지 미디어 드라이브의 마그네틱 스토리지 미디어의 복수의 플래터들 혹은 표면들에 대한 각각의 신호 메트릭들을 포함한다.
도면번호 808에서, 구역들의 각각의 헬스 스코어들, 전자-기계 메트릭들, 및 신호 메트릭들에 근거하여 스토리지 미디어 드라이브에 대한 드라이브 헬스 스코어가 결정된다. 일부 경우들에서, 헬스 스코어들, 전자-기계 메트릭들, 또는 신호 메트릭들 중 적어도 두 개는 스토리지 미디어 드라이브에 대한 전체 혹은 최종 헬스 스코어를 결정하는데 사용된다. 스토리지 미디어 드라이브에 대한 헬스 스코어는 스토리지 미디어 드라이브의 마모 레벨, 퇴화 레벨 또는 신뢰성 레벨을 표시할 수 있다.
도 9는 마그네틱 스토리지 미디어의 섹터에 대한 고장의 확률을 결정하기 위한 예시적 방법(900)을 도시하고, 이러한 방법(900)은 아날로그 프런트-엔드(302), 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및/또는 미디어 헬스 데이터(146)에 의해 수행되거나 이러한 것들을 이용해 수행되는 동작들을 포함한다.
도면번호 902에서, 마그네틱 스토리지 미디어의 섹터를 판독하도록 하는 요청이 수신된다. 이러한 요청은 섹터가 상주하는 미디어 디스크와 관련된 스토리지 미디어 제어기로부터 수신될 수 있다. 일부 경우들에서, 스토리지 미디어 제어기는 호스트 시스템 혹은 컴퓨팅 디바이스로부터 수신된 판독 커맨드의 일부로서 복수의 섹터들이 판독되도록 요청한다.
도면번호 904에서, 마그네틱 스토리지 미디어의 섹터에 대한 신호 메트릭들이 판독 채널의 프런트-엔드를 통해 수신된다. 판독 채널(140)의 프런트-엔드는 광범위하게 다양한 내부 메트릭들을 발생시킬 수 있거나 광범위하게 다양한 메트릭들에 액세스할 수 있는데, 이는 섹터 고장의 확률을 컴퓨팅하거나 결정하는 때에 유용할 수 있다. 예를 들어, 프런트-엔드 메트릭들은, 발견된 싱크 마크, 싱크 마크 분포, 검출된 오프-트랙, 델타 FAFIR 필터 탭들, 델타 FIR-3T 탭들, 베이스라인 누적기, 주파수 누적기, Vmm 및 NRZ로부터의 상호 정보, 다양한 임계치들을 갖는 Vmm 카운트, 에러 신호로부터 컴퓨팅된 MSE, 검출된 결함 플래그들의 길이, 델타 이득 변화, 델타 ASC 변화, 또는 다른 다양한 메트릭들의 표시를 포함할 수 있다.
도면번호 906에서, 섹터의 신호 메트릭들에 근거하여 섹터에 대한 고장의 확률이 뉴럴 네트워크를 이용해 결정된다. 뉴럴 네트워크(144)는 프런트-엔드에 의해 제공된 신호 메트릭들에 근거하여 섹터 고장의 확률에 대한 결정을 행하도록 구성될 수 있거나 미리-훈련될 수 있다.
도면번호 908에서, 섹터에 대한 고장의 확률이 판독 채널의 백-엔드에 제공된다. 백-엔드는 백-엔드의 디코딩, 검출, 혹은 에러-정정 동작들을 향상시키기 위해서 섹터에 대한 디코딩 파라미터들을 선택하기 위해 이러한 섹터 고장의 확률을 사용할 수 있다. 일부 경우들에서, 판독 채널의 백-엔드는, 섹터를 디코딩하려는 초기 시도들이 실패함에 따른, 복수의 파이프라인들을 통한 디폴트 진행보다 더 성공할 가능성이 높은 (섹터를 디코딩하기 위한) 파이프라인을 선택할 수 있다.
시스템-온-칩(System-on-Chip)
도 10은 마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들을 구현할 수 있는 예시적인 시스템-온-칩(System-on-Chip, SoC)(1000)을 예시한다. SoC(1000)는 스마트-폰(smart-phone), 넷북(netbook), 태블릿 컴퓨터(tablet computer), 액세스 포인트(access point), 네트워크-부착 스토리지(network-attached storage), 카메라, 스마트 어플라언스(smart appliance), 프린터(printer), 셋-탑 박스(set-top box), 서버(server), 솔리드-스테이트 드라이브(Solid-State Drive, SSD), 마그네틱 테이프 드라이브(magnetic tape drive), 하드 디스크 드라이브(Hard Disk Drive, HDD), 스토리지 드라이브 어레이(storage drive array), 메모리 모듈(memory module), 스토리지 미디어 제어기, 스토리지 미디어 인터페이스, 헤드-디스크 조립체(head-disk assembly), 마그네틱 미디어 전치-증폭기(magnetic media pre-amplifier), 자동차 컴퓨팅 시스템(automotive computing system), 또는 임의의 다른 적절한 타입의 디바이스(예를 들어, 본 명세서에서 설명되는 다른 디바이스들)와 같은, 임의의 적절한 디바이스에서 구현될 수 있다. SoC를 참조하여 설명되고 있지만, 도 10의 엔티티들은 또한, 애플리케이션-특정 집적-회로(Application-Specific Integrated-Circuit, ASIC), 메모리 제어기(memory controller), 판독 채널 컴포넌트(read channel component), 스토리지 제어기(storage controller), 통신 제어기(communication controller), 애플리케이션-특정 표준 제품(Application-Specific Standard Product, ASSP), 디지털 신호 프로세서(Digital Signal Processor, DSP), 프로그래밍가능 SoC(Programmable SoC, PSoC), 시스템-인-패키지(System-in-Package, SiP), 또는 필드-프로그래밍가능 게이트 어레이(Field-Programmable Gate Array, FPGA)와 같은, 집적 회로(integrated circuit)들 혹은 임베디드 시스템(embedded system)들의 다른 타입들로서 구현될 수 있다.
SoC(1000)는 본 명세서에서 설명되는 디바이스들 혹은 컴포넌트들 중 임의의 것과 같은 마그네틱 스토리지 시스템(예를 들어, 하드-디스크 드라이브) 또는 컴퓨팅 디바이스의 기능들을 제공하는데 유용한 전자 회로, 마이크로프로세서, 메모리, 입력-출력(Input-Output, I/O) 제어 로직, 통신 인터페이스들, 펌웨어, 및/또는 소프트웨어와 함께 통합될 수 있다. SoC(1000)는 또한, 컴포넌트들 간의 데이터 통신 또는 라우팅을 위해 SoC의 다양한 컴포넌트들을 결합시키는 통합된 데이터 버스 또는 상호연결 패브릭(interconnect fabric)(미도시)을 포함할 수 있다. SoC(1000)의 통합된 데이터 버스, 상호연결 패브릭, 또는 다른 컴포넌트들은, 외부 포트, 병렬 데이터 인터페이스, 직렬 데이터 인터페이스, 주변 컴포넌트 인터페이스, 또는 임의의 다른 적절한 데이터 인터페이스를 통해 노출 혹은 액세스될 수 있다. 예를 들어, SoC(1000)의 컴포넌트들은 외부 인터페이스 또는 오프-칩 데이터 인터페이스(off-chip data interface)를 통해 외부 스토리지 미디어 또는 마그네틱 판독 회로에 액세스할 수 있거나 이들을 제어할 수 있다.
이러한 예에서, SoC(1000)는, 다양한 컴포넌트들을 갖는 것으로 보여지는데, 여기에는 입력-출력(Input-Output, I/O) 제어 로직(control logic)(1002) 및 하드웨어-기반 프로세서(hardware-based processor)(1004)(프로세서(1004))가 포함되는바, 예를 들어, 마이크로프로세서, 프로세서 코어, 애플리케이션 프로세서, DSP, 등이 포함된다. SoC(1000)는 또한, 메모리(1006)를 포함하는데, 이러한 메모리(1006)는, RAM, SRAM, DRAM, 비-휘발성 메모리, ROM, 1-회 프로그래밍가능(One-Time Programmable, OTP) 메모리, 복수-회 프로그래밍가능(Multiple-Time Programmable, MTP) 메모리, 플래시 메모리(Flash memory) 및/또는 다른 적절한 전자 데이터 스토리지의 임의의 타입 및/또는 조합을 포함할 수 있다. 일부 실시형태들에서, 프로세서(1004) 그리고 메모리(1006)에 저장되는 코드(예를 들어, 펌웨어)는, 마그네틱 스토리지 미디어를 위한 헬스 관리와 관련된 다양한 기능들을 제공하기 위해, 스토리지 미디어 인터페이스의 일부로서 구현되거나 판독/기입 채널 모듈로서 구현된다. 본 개시내용의 맥락에서, 메모리(1006)는 비-일시적 신호(non-transitory signal)를 통해, 데이터, 코드, 명령들, 혹은 다른 정보를 저장하고, 그리고 반송파(carrier wave)들 혹은 일시적 신호(transitory signal)들을 포함하지 않는다. 대안적으로 혹은 추가적으로, SoC(1000)는 마그네틱 메모리 또는 솔리드-스테이트 메모리(solid-state memory)(예를 들어, 플래시 또는 NAND 메모리)와 같은 추가적인 혹은 확장가능한 오프-칩 스토리지 미디어에 액세스하기 위한 데이터 인터페이스(미도시)를 포함할 수 있다.
SoC(1000)는 또한, 펌웨어(1008), 애플리케이션들, 프로그램들, 소프트웨어, 및/또는 오퍼레이팅 시스템을 포함할 수 있고, 이들은 SoC(1000)의 기능들을 구현하기 위해서 프로세서(1004)에 의한 실행을 위해서 메모리(1006) 상에 유지되는 프로세서-실행가능 명령들로서 구현될 수 있다. 이러한 예에서, SoC(1000)는, 하나 이상의 실시형태들에 따라, 마그네틱 스토리지 미디어의 섹터들로부터 판독된 데이터에 대응하는 신호들을 수신하기 위해 전치-증폭기 인터페이스(1010)를 포함한다. SoC(1000)는 또한, 로컬 온-칩(local on-chip)(미도시) 혹은 오프-칩(off-chip) 통신 송수신기의 컴포넌트들을 제어하거나 이러한 컴포넌트들과 통신하기 위해 송수신기 인터페이스와 같은 다른 통신 인터페이스들을 포함할 수 있다. 대안적으로 혹은 추가적으로, 송수신기 인터페이스는 또한, SoC(1000)에 결합된 송수신기들, 물리적 계층 송수신기(physical layer transceiver)(PHY)들, 또는 미디어 액세스 제어기(Media Access Controller, MAC)들을 통해 유선 혹은 무선 통신을 용이하게 하기 위해서 칩-외부로 무선 주파수(Radio Frequency, RF), 중간 주파수(Intermediate Frequency, IF), 또는 기저대역 주파수(Baseband Frequency) 신호들을 전달하기 위해 신호 인터페이스를 포함할 수 있거나 이러한 신호 인터페이스를 구현할 수 있다. 예를 들어, SoC(1000)는 예컨대, 미디어 헬스 관리 특징들을 네트워크 부착 스토리지(Network Attached Storage, NAS) 디바이스에 제공하기 위해 유선 혹은 무선 네트워크를 통한 스토리지를 가능하게 하도록 구성된 송수신기 인터페이스를 포함할 수 있다.
SoC(1000)는 또한, 전치-증폭기 인터페이스(pre-amplifier interface)(1010)를 통해 전치-증폭기로부터 수신된 신호들을 프로세싱하기 위해 아날로그 프런트-엔드(analog front-end)(302) 및 판독 채널 로직(read channel logic)(1012)(예를 들어, 프런트 엔드 섹션(front end section))을 포함한다. 일반적으로, 아날로그 프런트-엔드(302)는 전치-증폭기에 의해 제공된 판독 신호(예를 들어, 되-판독 연속 시간 신호(read-back continuous time signal))를 컨디셔닝 및 샘플링한다. 판독 채널 로직(1012)은 전치-증폭기로부터 수신된 판독 신호들로부터의 데이터의 검출, 등화, 및 디코딩을 위한 등화기 모듈, 검출기 모듈, 적응화 모듈, 혹은 이득 모듈의 임의의 적절한 조합을 포함할 수 있다. 일부 실시형태들에서, SoC(1000)는 미디어 헬스 관리자(142), 뉴럴 네트워크들(144), 및 미디어 헬스 데이터(146)를 포함하는데, 이들은 보여지는 바와 같이 개별적으로 구현될 수 있거나 또는 프로세싱 컴포넌트 혹은 데이터 인터페이스와 결합될 수 있다. 대안적으로 혹은 추가적으로, SoC(1000)는 마그네틱 미디어 디스크 드라이브의 스핀들/모터 조립체 또는 스토리지 미디어 제어기에 대한 인터페이스들을 포함할 수 있다.
본 명세서에서 설명되는 바와 같이, 미디어 헬스 관리자는 판독 채널로부터 판독 메트릭들(예를 들어, 내부 판독 채널 또는 아날로그 프런트-엔드 메트릭들)을 수신할 수 있고, 이러한 메트릭들에 근거하여 그리고/또는 뉴럴 네트워크를 사용하여 마그네틱 스토리지 미디어 구역들의 헬스 스코어들을 결정 혹은 업데이트할 수 있으며, 이에 따라 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들을 구현하게 된다. 이러한 엔티티들 중 임의의 엔티티는, 본 명세서에서 제시되는 다양한 실시형태들을 참조하여 설명되는 바와 같이, 상이한 컴포넌트들로서 구현될 수 있거나 결합된 컴포넌트들로서 구현될 수 있다. 이러한 컴포넌트들 및/또는 엔티티들, 또는 대응하는 기능의 예들은, 도 1의 환경(100)의 각각의 컴포넌트들 혹은 엔티티들을 참조하여 설명되거나, 또는 도 2 내지 도 5에서 예시되는 각각의 구성들을 참조하여 설명된다. 미디어 헬스 관리자(142)는, 마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들 또는 특징들을 구현하기 위해, 메모리(1006)에 의해 유지되는 그리고 프로세서(1004)에 의해 실행되는 프로세서-실행가능 명령들, 그리고/또는 디지털 로직, 회로로서 전체적으로 혹은 부분적으로 구현될 수 있다.
미디어 헬스 관리자(142)는 본 명세서에서 설명된 실시형태들을 구현하기 위해 임의의 적절한 컴포넌트 혹은 회로와 결합되어 구현될 수 있거나 혹은 독립적으로 구현될 수 있다. 예를 들어, 미디어 헬스 관리자(142)는 DSP, 프로세서/스토리지 브리지(processor/storage bridge), I/O 브리지, 그래픽 프로세싱 유닛, 메모리 제어기, 스토리지 제어기, 산술 로직 유닛(Arithmetic Logic Unit, ALU), 등의 일부로서 구현될 수 있다. 미디어 헬스 관리자(142)는 또한 SoC(1000)의 다른 엔티티들이 통합되어 제공될 수 있는데, 예를 들어, 미디어 헬스 관리자(142)는 SoC(1000)의 프로세서(1004), 메모리(1006), 스토리지 미디어 인터페이스, 혹은 펌웨어(1008)와 통합될 수 있다. 대안적으로 혹은 추가적으로, SoC(1000)의 미디어 헬스 관리자(142) 및/또는 다른 컴포넌트들은 하드웨어, 펌웨어, 고정된 로직 회로, 혹은 이들의 임의의 조합으로서 구현될 수 있다.
또 하나의 다른 예로서, 마그네틱 스토리지 미디어를 위한 헬스 관리의 하나 이상의 실시형태들에 따른, 예시적인 스토리지 미디어 제어기(1100)를 예시하는 도 11을 고려한다. 일반적으로, 스토리지 미디어 제어기(1100)는 컴퓨팅 디바이스(102)로 하여금, 오퍼레이팅 시스템, 애플리케이션들, 또는 애플리케이션들 혹은 다른 서비스들에 대한 데이터와 같은, 마그네틱 스토리지 미디어의 콘텐츠들에 액세스할 수 있게 한다. 스토리지 미디어 제어기는 또한, 스토리지 미디어 제어기가 관련된 마그네틱 스토리지 미디어로부터 컴퓨팅 디바이스(102)의 데이터를 판독할 수 있고 아울러 스토리지 미디어 제어기가 관련된 마그네틱 스토리지 미디어에 컴퓨팅 디바이스(102)의 데이터를 기입할 수 있다.
다양한 실시형태들에서, 스토리지 미디어 제어기(1100) 또는 그 컴포넌트들의 임의의 조합은, 스토리지 드라이브 제어기(예를 들어, HDD 제어기 혹은 HDD 칩셋), 스토리지 미디어 제어기, NAS 제어기, 스토리지 미디어 인터페이스, 스토리지 미디어 엔드포인트(storage media endpoint), 스토리지 미디어 타겟(storage media target)으로서 구현될 수 있거나, 또는 마그네틱 스토리지 미디어, 솔리드-스테이트 스토리지 미디어 등에 대한 스토리지 집합 제어기(storage aggregation controller)(예를 들어, 하이브리드 SSD/HDD 스토리지 시스템들)로서 구현될 수 있다. 일부 경우들에서, 스토리지 미디어 제어기(1100)는 도 10 또는 도 1(예를 들어, 스토리지 미디어 제어기(136))을 참조하여 설명된 바와 같은 SoC(1000)의 컴포넌트들과 유사하게 구현되거나, 또는 이러한 컴포넌트들을 이용해 구현된다. 달리 말하면, SoC(1000)의 인스턴스는 마그네틱 스토리지 미디어를 관리하기 위해 스토리지 미디어 제어기(1100)와 같은 스토리지 미디어 제어기(혹은 제어기의 서브-시스템)로서 구성될 수 있다. 이러한 예에서, 스토리지 미디어 제어기(1100)는, 입력-출력(Input-Output, I/O) 제어 로직(1102) 및 (마이크로프로세서, 마이크로제어기, 프로세서 코어, 애플리케이션 프로세서, DSP, 등과 같은) 프로세서(1104)를 포함한다. 스토리지 미디어 제어기는 또한, 호스트 인터페이스(1106)(예를 들어, SATA, PCIe, NVMe, 혹은 패브릭 인터페이스(Fabric interface)) 및 스토리지 미디어 인터페이스(1108)(예를 들어, 마그네틱 미디어 인터페이스 혹은 헤드-디스크 조립체(Head-Disk Assembly, HDA) 인터페이스)를 포함하는데, 이들은 호스트 시스템(혹은 패브릭) 및 스토리지 미디어에 대한 액세스를 각각 가능하게 한다. 이러한 예에서, 스토리지 미디어 인터페이스는, 예를 들어, 미디어 드라이브의 헤드-디스크 조립체 및 판독 채널과의 통신을 가능하게 하기 위해, 스핀들/VCM 인터페이스(1110), 전치-앰프 인터페이스(1112) 및 판독/기입 채널 인터페이스(1114)의 개별적 인스턴스들을 포함한다. 도 11에서 보여지는 바와 같이, 스토리지 미디어 제어기(1100)는 또한, 서보 제어 유닛(servo control unit)(138)을 포함할 수 있다. 일부 경우들에서, 서보 제어 유닛은 스핀들 인터페이스(1110)에 동작가능하게 결합되고, 미디어 드라이브 동작을 위한 스핀들 혹은 보이스 코일 제어를 제공한다.
일부 실시형태들에서, 스토리지 미디어 제어기(1100)는, 스토리지 미디어 인터페이스(1108)에 결합되는 스토리지 미디어(예를 들어, 미디어 디스크들)에 대한 액세스를 관리하거나 가능하게 할 때, 마그네틱 스토리지 미디어를 위한 헬스 관리의 실시형태들을 구현한다. 이러한 예에서, 스토리지 미디어 제어기(1100)는 드라이브 헬스 관리자(1016)를 포함하고, 드라이브 헬스 관리자(1016)는 마그네틱 스토리지 미디어의 복수의 구역들에 대한 미디어 헬스 데이터(146)를 포함할 수 있다. 일부 실시형태들에서, 드라이브 헬스 관리자(1016)는 판독/기입 채널 인터페이스(1114)를 통해 판독/기입 채널로부터 판독 메트릭들 혹은 구역 헬스 스코어들을 수신한다. 복수의 미디어 디스크들 혹은 미디어 디스크 표면들로부터의 판독 메트릭들 혹은 구역 헬스 스코어들을 사용하여, 드라이브 헬스 관리자(1016)는 미디어 드라이브의 마그네틱 스토리지 미디어(예를 들어, 복수의 디스크들)에 대한 헬스 스코어(예를 들어, HDD에 대한 전체 헬스 스코어)를 결정할 수 있거나 업데이트할 수 있다. 따라서, 드라이브 헬스 관리자(1016)는 미디어 드라이브의 마그네틱 스토리지 미디어의 복수의 디스크들 혹은 표면들에 걸쳐 각각의 헬스 스코어들을 모니터링할 수 있고 추적할 수 있다. 대안적으로 혹은 추가적으로, 드라이브 헬스 관리자(1016)는 이러한 디스크들 혹은 표면들의 각각의 헬스 스코어에 근거하여 특정 디스크들 혹은 표면들에 대한 액세스를 관리할 수 있다. 예를 들어, 만약 미디어 드라이브의 하나의 디스크가 불량한 헬스 스코어를 갖는다면, 드라이브 헬스 관리자(1016)는 미디어 드라이브의 데이터 신뢰성 및 이용가능성(예를 들어, 가동 기간)을 향상시키기 위해 미디어 드라이브의 다른 디스크들(예를 들어, 더 좋은 헬스 스코어들을 갖는 디스크들)로 데이터 액세스를 디렉팅(directing)시킬 수 있다. 일부 실시형태들에서, 스토리지 미디어 제어기(1100)의 프로세서(1104) 및 펌웨어 혹은 로직은, 마그네틱 스토리지 미디어를 위한 헬스 관리와 관련된 다양한 데이터 기입 혹은 프로세싱 기능들을 제공하도록 구현된다.
스토리지 미디어 제어기(1100)의 드라이브 헬스 관리자(1016)는 보여지는 바와 같이 별개로 구현될 수 있거나, 또는 프로세서(1104), 판독/기입 채널 인터페이스(1114), 혹은 스토리지 미디어 인터페이스(1108)와 결합될 수 있다. 다양한 실시형태들에 따르면, 드라이브 헬스 관리자(1016)는, 판독/기입 채널 인터페이스(1114)를 통해 판독 채널로부터 구역 헬스 스코어들을 수신할 수 있고, 전치-앰프 인터페이스(1112)를 통해 전치-증폭기로부터 신호 메트릭들을 수신할 수 있고, 또는 스핀들/VCM 인터페이스(1110)로부터 스핀들 및 VCM 조립체로부터의 전자-기계 메트릭들을 수신할 수 있다. 드라이브 헬스 관리자(1016)는 구역 헬스 스코어들, 신호 메트릭들 및/또는 전자-기계 메트릭들을 컴파일링(compiling)할 수 있고, 스토리지 미디어 제어기(1100)가 구현되는 HDD에 대한 전체 미디어 드라이브 헬스 스코어를 컴퓨팅할 수 있다. 이러한 미디어 드라이브 헬스 스코어는, HDD의 내부 컴포넌트들에 관한 마모의 전체 양을 표시할 수 있거나, 혹은 HDD의 신뢰성을 표시할 수 있으며, 이것은 HDD가 고장나기 전에 HDD의 교체를 가능하게 하거나 또 하나의 다른 HDD로의 데이터 마이그레이션(data migration)(또는 데이터 리디렉션(data redirection))을 가능하게 한다. 이러한 컴포넌트들 및/또는 엔티티들, 또는 대응하는 기능의 예들은, 도 1의 환경(100)의 각각의 컴포넌트들 혹은 엔티티들을 참조하여 설명되거나, 또는 도 2 내지 도 5에서 예시된 각각의 구성들을 참조하여 설명된다. 드라이브 헬스 관리자(1016)(혹은 미디어 헬스 관리자(142))는, 마그네틱 스토리지 미디어를 위한 헬스 관리의 다양한 실시형태들 및/또는 특징들을 구현하기 위해, 제어기의 메모리에 의해 유지되는 그리고 프로세서(1104)에 의해 실행되는 프로세서-실행가능 명령들로서 전체적으로 혹은 부분적으로 구현될 수 있다.
비록 구조적 특징들 및/또는 방법적 동작들에 특정된 언어로 주된 내용이 설명되었지만, 첨부되는 청구항들에서 정의되는 주된 내용은 본 명세서에서 설명되는 특정 예들, 특징들, 혹은 동작들(여기에는 이들이 수행되는 순서들이 포함됨)에 반드시 한정되는 것이 아니라는 것을 이해해야 한다.

Claims (20)

  1. 마그네틱 스토리지 미디어(magnetic storage media)의 헬스(health)를 관리하기 위한 방법으로서,
    상기 방법은,
    마그네틱 스토리지 미디어의 구역(zone) 내에 상주하는 마그네틱 스토리지 미디어의 섹터(sector)를 판독하도록 하는 요청을 수신하는 단계와;
    상기 요청에 근거하여 판독되는 상기 마그네틱 스토리지 미디어의 상기 섹터에 대한 판독 메트릭(read metric)들을 판독 채널(read channel)을 이용해 결정하는 단계와;
    마그네틱 스토리지 미디어의 상기 구역의 판독 메트릭들에 액세스(accessing)하는 단계와;
    마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역의 상기 판독 메트릭들을 업데이트(updating)하여 마그네틱 스토리지 미디어의 상기 구역에 대한 업데이트된 판독 메트릭들을 제공하는 단계와; 그리고
    마그네틱 스토리지 미디어의 상기 구역의 상기 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역에 대한 헬스 스코어(health score)를 뉴럴 네트워크(neural network)를 이용해 결정하는 단계를
    포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  2. 제1항에 있어서,
    상기 방법은 또한,
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 구역 정보 테이블(table of zone information)에 저장하는 것, 또는
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 스토리지 미디어 제어기로 전송하는 것을
    포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  3. 제1항에 있어서,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들에 액세스하는 것은, 구역 정보 테이블로부터 상기 판독 메트릭들의 각각의 평균들을 판독하는 것을 포함하고,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들을 업데이트하는 것은, 마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 상기 판독 메트릭들의 상기 각각의 평균들을 업데이트하는 것을 포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  4. 제3항에 있어서,
    상기 판독 메트릭들의 상기 각각의 평균들은, 상기 판독 메트릭들의 각각의 단-기간 평균(short-term average)들 및 상기 판독 메트릭들의 각각의 장-기간 평균(long-term average)들을 포함하고,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들을 업데이트하는 것은, 마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여, 상기 판독 메트릭들의 상기 각각의 단-기간 평균들 및 상기 판독 메트릭들의 상기 각각의 장-기간 평균들을 업데이트하는 것을 포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  5. 제1항에 있어서,
    상기 판독 채널은 스토리지 미디어 드라이브(storage media drive)의 판독 채널이고,
    상기 방법은 또한,
    상기 스토리지 미디어 드라이브의 스핀들 및 보이스 코일 모터 조립체(spindle and voice coil motor assembly)로부터 상기 스토리지 미디어 드라이브에 대한 전자-기계 메트릭(electro-mechanical metric)들을 수신하는 것, 또는
    상기 스토리지 미디어 드라이브의 전치-증폭기(pre-amplifier)로부터 상기 스토리지 미디어 드라이브에 대한 신호 메트릭(signal metric)들을 수신하는 것과, 그리고
    상기 구역의 상기 헬스 스코어, 상기 전자-기계 메트릭들, 혹은 상기 신호 메트릭들 중 적어도 두 개에 근거하여 상기 스토리지 미디어 드라이브에 대한 드라이브 헬스 스코어(drive health score)를 결정하는 것을
    포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  6. 제1항에 있어서,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 헬스 스코어는, 마그네틱 스토리지 미디어의 상기 구역의 마모 레벨(level of wear), 퇴화 레벨(level of degradation), 또는 신뢰성 레벨(level of reliability)을 표시하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  7. 제1항에 있어서,
    마그네틱 스토리지 미디어의 상기 구역은 마그네틱 스토리지 미디어 디스크(magnetic storage media disk)의 플랫터 표면(platter surface) 상의 트랙(track)들의 적어도 세 개의 서브세트(subset)들 중 제 1 서브세트에 대응하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  8. 제1항에 있어서,
    마그네틱 스토리지 미디어의 상기 섹터에 대한 상기 판독 메트릭들은,
    복구되지 않은 섹터 비율(unrecovered sector rate),
    평균 재시도 방법 비율(average retry method rate),
    오프-트랙 검출(off-track detection)들의 평균,
    탐색 에러(seek error)들의 평균 수(average number),
    ECC(Error-Correcting Code; 에러-정정 코드)에 의해 정정된 에러들의 평균 수,
    ECC에서의 평균 신드롬 가중치(average syndrome weight),
    ECC 반복(ECC iteration)들의 평균 수,
    LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치(statistic)들의 평균,
    프런트-엔드 루프 신호(front-end loop signal)들의 평균 MSE(Mean Square Error; 평균 제곱 오차),
    검출된 미디어 결함(media defect)들의 평균 길이,
    ADC(Analog-to-Digital Converter; 아날로그-대-디지털 변환기) 포화(saturation)의 평균 길이,
    적응성 파라미터(adaptive parameter)의 평균 델타(average delta), 또는
    싱크 마크 에러(sync mark error)들의 평균
    중 하나 이상을 포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  9. 제1항에 있어서,
    상기 뉴럴 네트워크는, 마그네틱 스토리지 미디어의 상기 구역에 대한 상기 헬스 스코어를 결정하기 위해 적어도 세 개의 헬스 스코어 분류(health score classification)들 중 하나의 헬스 스코어 분류에 상기 판독 채널의 상기 판독 메트릭들을 맵핑(mapping)시키도록 되어 있는 미리-훈련된 뉴럴 네트워크(pre-trained neural network)를 포함하는 것을 특징으로 하는 마그네틱 스토리지 미디어의 헬스를 관리하기 위한 방법.
  10. 장치로서,
    상기 장치는,
    호스트(host)와 데이터를 주고받기 위한 인터페이스(interface)와;
    상기 데이터를 저장하기 위한 마그네틱 스토리지 미디어의 디스크와;
    상기 마그네틱 스토리지 미디어의 섹터들로부터 상기 데이터를 판독하기 위한 판독 채널과;
    미디어 헬스 스코어들을 결정하기 위한 뉴럴 네트워크와; 그리고
    미디어 헬스 관리자(media health manager)를
    포함하고,
    상기 미디어 헬스 관리자는,
    상기 데이터가 판독되는 상기 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 상기 판독 채널을 이용해 결정하는 것과;
    마그네틱 스토리지 미디어의 복수의 구역들 중에서, 상기 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정하는 것과, 여기서 마그네틱 스토리지 미디어의 각각의 구역은 마그네틱 스토리지 미디어의 상기 디스크 상의 트랙들의 각각의 서브세트에 대응하며;
    마그네틱 스토리지 미디어의 상기 구역의 판독 메트릭들에 액세스하는 것과;
    마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역의 상기 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 상기 구역에 대한 업데이트된 판독 메트릭들을 제공하는 것과; 그리고
    마그네틱 스토리지 미디어의 상기 구역의 상기 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역에 대한 헬스 스코어를 상기 뉴럴 네트워크를 이용해 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 장치.
  11. 제10항에 있어서,
    상기 미디어 헬스 관리자는 또한,
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 구역 정보 테이블에 저장하는 것, 또는
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 상기 장치의 스토리지 미디어 제어기로 전송하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 장치.
  12. 제10항에 있어서,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들에 액세스하기 위해, 상기 미디어 헬스 관리자는 또한, 구역 정보 테이블로부터 상기 판독 메트릭들의 각각의 평균들을 판독하도록 되어 있고, 그리고
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들을 업데이트하기 위해, 상기 미디어 헬스 관리자는 또한, 마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 상기 판독 메트릭들의 상기 각각의 평균들을 업데이트하도록 되어 있는 것을 특징으로 하는 장치.
  13. 제10항에 있어서,
    상기 장치는 또한,
    마그네틱 스토리지 미디어의 상기 디스크와 관련된 스핀들 및 보이스 코일 모터 조립체와; 그리고
    마그네틱 스토리지 미디어의 상기 디스크와 관련된 판독 헤드(read head)에 의해 발생된 판독 신호를 증폭하도록 되어 있는 전치-증폭기를
    포함하고,
    상기 미디어 헬스 관리자는 또한,
    상기 스핀들 및 보이스 코일 모터 조립체로부터 상기 장치의 상기 디스크에 대한 전자-기계 메트릭들을 수신하는 것, 또는
    상기 전치-증폭기로부터 상기 장치의 상기 디스크에 대한 신호 메트릭들을 수신하는 것과, 그리고
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어, 상기 전자-기계 메트릭들, 혹은 상기 신호 메트릭들 중 적어도 두 개에 근거하여 상기 장치에 대한 헬스 스코어를 결정하는 것을
    수행하도록 되어 있는 것을 특징으로 하는 장치.
  14. 제10항에 있어서,
    마그네틱 스토리지 미디어의 상기 섹터에 대한 상기 판독 메트릭들은,
    복구되지 않은 섹터 비율,
    평균 재시도 방법 비율,
    오프-트랙 검출들의 평균,
    탐색 에러들의 평균 수,
    ECC(Error-Correcting Code; 에러-정정 코드)에 의해 정정된 에러들의 평균 수,
    ECC에서의 평균 신드롬 가중치,
    ECC 반복들의 평균 수,
    LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치들의 평균,
    프런트-엔드 루프 신호들의 평균 MSE(Mean Square Error; 평균 제곱 오차),
    검출된 미디어 결함들의 평균 길이,
    ADC(Analog-to-Digital Converter; 아날로그-대-디지털 변환기) 포화의 평균 길이,
    적응성 파라미터의 평균 델타, 또는
    싱크 마크 에러들의 평균
    중 하나 이상을 포함하는 것을 특징으로 하는 장치.
  15. 제10항에 있어서,
    상기 뉴럴 네트워크는, 마그네틱 스토리지 미디어의 상기 구역에 대한 상기 헬스 스코어를 결정하기 위해 적어도 세 개의 헬스 스코어 분류들 중 하나의 헬스 스코어 분류에 상기 판독 채널의 상기 판독 메트릭들을 맵핑시키도록 되어 있는 미리-훈련된 뉴럴 네트워크를 포함하는 것을 특징으로 하는 장치.
  16. 시스템-온-칩(System-on-Chip, SoC)으로서,
    상기 SoC는,
    마그네틱 스토리지 미디어의 섹터들로부터 판독된 데이터에 대응하는 신호들을 수신하기 위한 전치-증폭기 인터페이스와;
    마그네틱 스토리지 미디어의 상기 섹터들로부터 판독된 상기 데이터에 대응하는 상기 신호들을 프로세싱하기 위한 판독 채널 로직(read channel logic)과;
    하드웨어-기반 프로세서와;
    프로세서-실행가능 명령들을 저장하는 메모리를
    포함하고,
    상기 프로세서-실행가능 명령들은, 상기 하드웨어-기반 프로세서에 의한 실행에 응답하여, 미디어 헬스 관리자로 하여금,
    상기 데이터가 판독되는 상기 마그네틱 스토리지 미디어의 섹터에 대한 판독 메트릭들을 상기 판독 채널 로직을 이용해 결정하는 것과;
    마그네틱 스토리지 미디어의 복수의 구역들 중에서, 상기 섹터가 상주하는 마그네틱 스토리지 미디어의 구역을 결정하는 것과, 여기서 마그네틱 스토리지 미디어의 각각의 구역은 마그네틱 스토리지 미디어의 디스크 상의 트랙들의 각각의 서브세트에 대응하며;
    마그네틱 스토리지 미디어의 상기 구역의 판독 메트릭들에 액세스하는 것과;
    마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역의 상기 판독 메트릭들을 업데이트하여 마그네틱 스토리지 미디어의 상기 구역에 대한 업데이트된 판독 메트릭들을 제공하는 것과; 그리고
    마그네틱 스토리지 미디어의 상기 구역의 상기 업데이트된 판독 메트릭들에 근거하여 마그네틱 스토리지 미디어의 상기 구역에 대한 헬스 스코어를 상기 뉴럴 네트워크를 이용해 결정하는 것을
    수행하도록 상기 미디어 헬스 관리자를 구현하는 것을 특징으로 하는 SoC.
  17. 제16항에 있어서,
    상기 미디어 헬스 관리자는 또한,
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 구역 정보 테이블에 저장하는 것, 또는
    마그네틱 스토리지 미디어의 상기 구역의 상기 헬스 스코어를 상기 장치의 스토리지 미디어 제어기로 전송하는 것을
    수행하도록 구현되는 것을 특징으로 하는 SoC.
  18. 제16항에 있어서,
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들에 액세스하기 위해, 상기 미디어 헬스 관리자는 또한, 구역 정보 테이블로부터 상기 판독 메트릭들의 각각의 평균들을 판독하도록 구현되고, 그리고
    마그네틱 스토리지 미디어의 상기 구역에 대한 상기 판독 메트릭들을 업데이트하기 위해, 상기 미디어 헬스 관리자는 또한, 마그네틱 스토리지 미디어의 상기 섹터에 대해 결정된 상기 판독 메트릭들에 근거하여 상기 판독 메트릭들의 상기 각각의 평균들을 업데이트하도록 구현되는 것을 특징으로 하는 SoC.
  19. 제16항에 있어서,
    마그네틱 스토리지 미디어의 상기 섹터에 대한 상기 판독 메트릭들은,
    복구되지 않은 섹터 비율,
    평균 재시도 방법 비율,
    오프-트랙 검출들의 평균,
    탐색 에러들의 평균 수,
    ECC(Error-Correcting Code; 에러-정정 코드)에 의해 정정된 에러들의 평균 수,
    ECC에서의 평균 신드롬 가중치,
    ECC 반복들의 평균 수,
    LLR(Log Likelihood Ratio; 로그 우도 비율) PDF(Probability Density Function; 확률 밀도 함수) 통계치들의 평균,
    프런트-엔드 루프 신호들의 평균 MSE(Mean Square Error; 평균 제곱 오차),
    검출된 미디어 결함들의 평균 길이,
    ADC(Analog-to-Digital Converter; 아날로그-대-디지털 변환기) 포화의 평균 길이,
    적응성 파라미터의 평균 델타, 또는
    싱크 마크 에러들의 평균
    중 하나 이상을 포함하는 것을 특징으로 하는 SoC.
  20. 제16항에 있어서,
    상기 뉴럴 네트워크는, 마그네틱 스토리지 미디어의 상기 구역에 대한 상기 헬스 스코어를 결정하기 위해 적어도 다섯 개의 헬스 스코어 분류들 중 하나의 헬스 스코어 분류에 상기 판독 채널의 상기 판독 메트릭들을 맵핑시키도록 되어 있는 미리-훈련된 뉴럴 네트워크를 포함하는 것을 특징으로 하는 SoC.
KR1020200004183A 2019-01-31 2020-01-13 마그네틱 스토리지 미디어를 위한 헬스 관리 KR20200095364A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962799608P 2019-01-31 2019-01-31
US62/799,608 2019-01-31
US16/737,174 US11450348B2 (en) 2019-01-31 2020-01-08 Health management for magnetic storage media
US16/737,174 2020-01-08

Publications (1)

Publication Number Publication Date
KR20200095364A true KR20200095364A (ko) 2020-08-10

Family

ID=69423067

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200004183A KR20200095364A (ko) 2019-01-31 2020-01-13 마그네틱 스토리지 미디어를 위한 헬스 관리

Country Status (4)

Country Link
US (1) US11450348B2 (ko)
EP (1) EP3690883A1 (ko)
KR (1) KR20200095364A (ko)
CN (1) CN111508532B (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10734016B2 (en) 2018-08-21 2020-08-04 Marvell Asia Pte, Ltd. Pulse-based writing for magnetic storage media
US11061582B2 (en) 2019-02-26 2021-07-13 Marvell Asia Pte, Ltd. Codeword interleaving for magnetic storage media
US10971187B2 (en) 2019-03-11 2021-04-06 Marvell Asia Pte, Ltd. Constant-density writing for magnetic storage media
CN112506420A (zh) * 2019-09-16 2021-03-16 伊姆西Ip控股有限责任公司 在存储系统中管理擦洗操作的方法、设备和产品
CN112051969B (zh) * 2020-08-07 2021-10-08 东北大学 一种基于深度强化学习的分级存储数据自适应迁移方法
CN112214169B (zh) * 2020-09-28 2021-08-10 深圳大学 一种数据存储装置及存储数据的迁移方法
WO2022081255A1 (en) * 2020-10-13 2022-04-21 Arris Enterprises Llc Home network health metrics reporting
US11899558B2 (en) * 2021-01-15 2024-02-13 Netflix, Inc. Systems and methods for optimizing hard drive throughput
CN112817523B (zh) * 2021-01-19 2021-09-07 置富科技(深圳)股份有限公司 存储介质可靠性等级判断方法及系统、存储介质、设备
CN114822664B (zh) * 2022-05-12 2024-06-14 合肥兆芯电子有限公司 基于数据优先级的风险评估方法、存储装置及控制电路
CN114860624B (zh) * 2022-05-23 2023-04-28 深圳市芯存科技有限公司 一种基于Nandflash芯片的数据擦写方法及系统

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4553178A (en) 1983-01-18 1985-11-12 Electronic Processors, Inc. Magnetic recording system with peak shift compensation
JPS60185258A (ja) 1984-03-02 1985-09-20 Nec Corp デイスク装置の情報記録方式
US5420730A (en) 1990-08-17 1995-05-30 Moon; Ronald R. Servo data recovery circuit for disk drive having digital embedded sector servo
JPH0628766A (ja) * 1992-07-09 1994-02-04 Fujitsu Ltd 磁気記憶媒体,磁気書込み/読出し処理装置及びその制御方法
JPH0795056A (ja) 1993-05-10 1995-04-07 Internatl Business Mach Corp <Ibm> 可変周波数基準クロック生成装置
JP2557203B2 (ja) 1993-12-27 1996-11-27 インターナショナル・ビジネス・マシーンズ・コーポレイション ファジィ・パッキング方法及びデータ記憶システム
JPH07211004A (ja) 1994-01-20 1995-08-11 Fujitsu Ltd 磁気ディスク装置および記録媒体
JP3456781B2 (ja) 1995-02-06 2003-10-14 富士通株式会社 磁気記録再生装置の復調回路
JPH08287618A (ja) 1995-04-17 1996-11-01 Matsushita Electric Ind Co Ltd 記録再生装置
KR100212982B1 (ko) 1996-05-22 1999-08-02 윤종용 하드디스크드라이브에 있어 헤드레스 포멧을 위한 콘스턴트 덴시티 기록방법 및 시스템
JPH10188451A (ja) * 1996-12-25 1998-07-21 Toshiba Corp ディスク装置及び同装置におけるデフェクトに基づく故障予測方法
JPH10255402A (ja) 1997-03-10 1998-09-25 Fujitsu Ltd 磁気ディスク装置
US6023386A (en) 1997-10-31 2000-02-08 Cirrus Logic, Inc. Fault tolerant sync mark detector for synchronizing a time varying sequence detector in a sampled amplitude read channel
DE69928372T2 (de) 1998-08-04 2006-08-17 Koninklijke Philips Electronics N.V. Optische platte und abtastgerät dafür
DE19852037A1 (de) 1998-11-11 2000-05-18 Thomson Brandt Gmbh Magnetbandgerät mit Treiberschaltung für Matrixkopf
US6175319B1 (en) 1999-05-20 2001-01-16 Storage Technology Corporation Power-tailored write-current method
US6658201B1 (en) * 1999-06-24 2003-12-02 Sony Electronics, Inc. Data storage device having multiple heads traveling in opposite directions for capacity and throughput optimization
KR100611956B1 (ko) 1999-08-19 2006-08-11 삼성전자주식회사 에러 정정 방법과 장치
US6574754B1 (en) * 2000-02-14 2003-06-03 International Business Machines Corporation Self-monitoring storage device using neural networks
JP2001250292A (ja) * 2000-03-06 2001-09-14 Fujitsu Ltd 記憶装置及び記録媒体
JP3688986B2 (ja) * 2000-09-11 2005-08-31 ヒタチグローバルストレージテクノロジーズネザーランドビーブイ 回転記憶装置およびその制御方法
US6894967B2 (en) 2000-11-21 2005-05-17 Yamaha Corporation Optical disk recorder for writing data with variable density
US6765736B2 (en) 2001-06-29 2004-07-20 Seagate Technology Llc Write-safe condition verification apparatus and method for the write element in a disc drive
US7088534B2 (en) 2003-04-08 2006-08-08 Marvell International Ltd. Disk synchronous write
US7236911B1 (en) 2004-06-16 2007-06-26 Western Digital Technologies, Inc. Using a genetic algorithm to select a subset of quality metrics as input to a disk drive failure prediction algorithm
JP2006031825A (ja) 2004-07-16 2006-02-02 Sony Corp 記録再生制御方法、記録再生制御装置
KR100604892B1 (ko) 2004-08-10 2006-07-28 삼성전자주식회사 재기록 가능한 광디스크의 결함 관리를 위한 결함 검출회로를 구비한 광디스크 재생/기록 시스템 및 그 방법
JP2006285519A (ja) * 2005-03-31 2006-10-19 Hitachi Global Storage Technologies Netherlands Bv データ転送システムの障害診断方法、データ転送システム及びデータ記憶装置
JP2006351134A (ja) * 2005-06-17 2006-12-28 Fujitsu Ltd 磁気ディスク装置及びパトロール診断方法
US7796355B2 (en) 2005-12-01 2010-09-14 Seagate Technology Llc Reverse write current preshoot
JP2007184063A (ja) 2006-01-10 2007-07-19 Renesas Technology Corp 不揮発性半導体記憶装置
JP2010218631A (ja) 2009-03-17 2010-09-30 Toshiba Storage Device Corp 誤り訂正回路及びデータ記憶装置
KR20110048776A (ko) * 2009-11-03 2011-05-12 삼성전자주식회사 기록매체의 디펙 처리 방법과 이를 적용한 데이터 저장 장치 및 저장매체
US8687304B1 (en) 2010-01-18 2014-04-01 Marvell International, Ltd. Sensor-aided patterned magnetic media synchronization systems
US8508878B1 (en) 2010-01-21 2013-08-13 Marvell International Ltd. Write clock phase tracking for magnetic recording device
US8508879B1 (en) 2010-01-21 2013-08-13 Marvell International Ltd. Write clock rephase for magnetic recording device
CN102129397A (zh) * 2010-12-29 2011-07-20 深圳市永达电子股份有限公司 一种自适应磁盘阵列故障预测方法及系统
US8521670B2 (en) * 2011-05-25 2013-08-27 HGST Netherlands B.V. Artificial neural network application for magnetic core width prediction and modeling for magnetic disk drive manufacture
CN104094349B (zh) 2011-12-05 2016-08-24 瓦里安半导体设备公司 写入头、磁性存储装置及在磁性存储装置记录数据的方法
US9059737B2 (en) 2013-01-11 2015-06-16 HGST Netherlands B.V. Disk drive with distributed codeword blocks
US20140244926A1 (en) 2013-02-26 2014-08-28 Lsi Corporation Dedicated Memory Structure for Sector Spreading Interleaving
US8749911B1 (en) 2013-03-11 2014-06-10 Western Digital Technologies, Inc. Disk drive accounting for fractional clock cycle when measuring reader/writer gap
US8861117B2 (en) 2013-03-15 2014-10-14 Seagate Technology Llc Data intersector gaps for data sector format
US8953271B1 (en) * 2013-05-13 2015-02-10 Western Digital Technologies, Inc. Disk drive compensating for repeatable run out selectively per zone
WO2015029163A1 (ja) * 2013-08-28 2015-03-05 パイオニア株式会社 記録再生装置及び方法、並びに記録媒体
US9094046B2 (en) 2013-09-03 2015-07-28 Lsi Corporation Systems and methods for variable sector count spreading and de-spreading
US8792197B1 (en) 2013-09-20 2014-07-29 Lsi Corporation Storage device with driver controller providing pattern-dependent write functionality
US9189309B1 (en) * 2013-09-25 2015-11-17 Emc Corporation System and method for predicting single-disk failures
US8929013B1 (en) 2013-11-08 2015-01-06 Lsi Corporation Storage system with pattern dependent write
US9355677B2 (en) 2014-01-30 2016-05-31 Seagate Technology Llc Preamplifier for adjustable write current
CN104932834A (zh) * 2014-03-21 2015-09-23 西部数据技术公司 使用终极手段区域进行数据存储设备的数据管理
US8953265B1 (en) * 2014-07-24 2015-02-10 Emc Corporation Method and system for monitoring disk reliability with global disk scrubbing
US10235056B2 (en) * 2014-09-26 2019-03-19 Western Digital Technologies, Inc. Storage device health diagnosis
US9281009B1 (en) 2014-12-18 2016-03-08 Western Digital Technologies, Inc. Data storage device employing variable size interleave written track segments
US9530447B2 (en) 2015-02-27 2016-12-27 Seagate Technology Llc Adaptive HAMR power data storage device
US9672853B1 (en) * 2015-06-01 2017-06-06 Marvell International Ltd. Digital data driven position error signal for magnetic recording
CN107179968B (zh) * 2016-03-09 2020-06-26 株式会社东芝 信息存储装置、故障预测装置及故障预测方法
CN107204196A (zh) 2016-03-17 2017-09-26 株式会社东芝 磁盘装置、数据处理装置及数据记录方法
US10268553B2 (en) 2016-08-31 2019-04-23 Seagate Technology Llc Adaptive failure prediction modeling for detection of data storage device failures
US10310749B2 (en) * 2016-09-16 2019-06-04 Netscout Systems Texas, Llc System and method for predicting disk failure
US10649655B2 (en) * 2016-09-30 2020-05-12 Western Digital Technologies, Inc. Data storage system with multimedia assets
US10276198B1 (en) 2017-01-12 2019-04-30 Marvell International Ltd. Method and apparatus for multi-channel servo demodulation
US10068609B1 (en) 2017-02-23 2018-09-04 Marvell International Ltd. Variable frequency write pattern generation
CN107886992A (zh) * 2017-11-06 2018-04-06 郑州云海信息技术有限公司 一种raid健康状态检测方法、系统及相关装置
CN107861829A (zh) * 2017-11-06 2018-03-30 郑州云海信息技术有限公司 一种磁盘故障检测的方法、系统、装置及存储介质
US10115415B1 (en) 2018-03-23 2018-10-30 Headway Technologies, Inc. Magnetic pulse recording scheme in perpendicular magnetic recording
US10734016B2 (en) 2018-08-21 2020-08-04 Marvell Asia Pte, Ltd. Pulse-based writing for magnetic storage media
US10832716B2 (en) 2018-12-19 2020-11-10 Marvell Asia Pte, Ltd. Zone self servo writing with synchronized parallel clocks
US11061582B2 (en) 2019-02-26 2021-07-13 Marvell Asia Pte, Ltd. Codeword interleaving for magnetic storage media
US10971187B2 (en) 2019-03-11 2021-04-06 Marvell Asia Pte, Ltd. Constant-density writing for magnetic storage media

Also Published As

Publication number Publication date
CN111508532B (zh) 2023-11-03
EP3690883A1 (en) 2020-08-05
US20200251143A1 (en) 2020-08-06
US11450348B2 (en) 2022-09-20
CN111508532A (zh) 2020-08-07
TW202046297A (zh) 2020-12-16

Similar Documents

Publication Publication Date Title
US11450348B2 (en) Health management for magnetic storage media
US11061582B2 (en) Codeword interleaving for magnetic storage media
CN113557569B (zh) 用于磁存储介质的恒定密度写入
US9837115B1 (en) Unequal error correction code in multi-track recording
KR20230093198A (ko) 자기 저장 매체를 위한 펄스 기반 기록
US9672853B1 (en) Digital data driven position error signal for magnetic recording
US10275309B2 (en) Multi-layer integrated zone partition system error correction
US20230020009A1 (en) Health Management for Magnetic Storage Media
US10897273B2 (en) System-level error correction coding allocation based on device population data integrity sharing
US10790933B1 (en) Constrained receiver parameter optimization
US11593204B2 (en) Fleet health management device classification framework
US8976476B1 (en) Storage device with read channel circuitry configured to provide continuity protection for subsector stitching
US8731899B2 (en) Adapter assembly for concurrent emulation of a native channel
US20180012627A1 (en) Managing far and near track erasure by dynamic control of a write current parameter of a magnetic disk drive
US10552252B2 (en) Patterned bit in error measurement apparatus and method
US20150116860A1 (en) System and methods for combining multiple offset read-backs
Coughlin et al. Digital storage and memory technology (part 1)
US20080168193A1 (en) Use of unique identifiers for each data format supported by a multi-format data store
JP2014182848A (ja) 情報再生装置および情報再生方法
US10553247B2 (en) Data storage device calibrating data density based on amplitude-inverted or time-inverted read signal
US8730606B1 (en) Read channel error correction using multiple calibrators
US20160358621A1 (en) Self-Servo Write Non-Reference Head Position Measuring
Coughlin et al. Fundamentals of Hard Disk Drives
US10969969B2 (en) Use of recovery behavior for prognosticating and in-situ repair of data storage devices

Legal Events

Date Code Title Description
E902 Notification of reason for refusal