KR102134694B1 - 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 - Google Patents
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 Download PDFInfo
- Publication number
- KR102134694B1 KR102134694B1 KR1020120014990A KR20120014990A KR102134694B1 KR 102134694 B1 KR102134694 B1 KR 102134694B1 KR 1020120014990 A KR1020120014990 A KR 1020120014990A KR 20120014990 A KR20120014990 A KR 20120014990A KR 102134694 B1 KR102134694 B1 KR 102134694B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage
- data
- area
- size
- areas
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B20/1217—Formatting, e.g. arrangement of data block or words on the record carriers on discs
- G11B20/1258—Formatting, e.g. arrangement of data block or words on the record carriers on discs where blocks are arranged within multiple radial zones, e.g. Zone Bit Recording or Constant Density Recording discs, MCAV discs, MCLV discs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/12—Formatting, e.g. arrangement of data block or words on the record carriers
- G11B2020/1264—Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
- G11B2020/1265—Control data, system data or management information, i.e. data used to access or process user data
- G11B2020/1277—Control data, system data or management information, i.e. data used to access or process user data for managing gaps between two recordings, e.g. control data in linking areas, run-in or run-out fields, guard or buffer zones
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2508—Magnetic discs
- G11B2220/2516—Hard disks
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Recording Or Reproducing By Magnetic Means (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
호스트 디바이스에 의해 특정되는 데이터 영역 사이징에 기초하여 격리 영역(isolation region)의 저장 로케이션을 결정하기 위한 방법 또는 시스템이 제공된다. 일 구현예에서, 격리 영역은 저장 디바이스의 더 많은 데이터 영역의 격리를 위해 요구되는 저장 로케이션들의 세트를 포함한다.
Description
설명된 내용은 호스트 디바이스에 의하여 특정되는 데이터 영역 사이징(sizing)에 기초하여 격리 영역(isolation region)의 저장 로케이션(storage location)을 결정하기 위한 방법 또는 시스템과 관련된다. 일 구현에서, 격리 영역은 저장 디바이스의 더 많은 데이터 영역의 격리를 위해 요구되는 저장 로케이션들의 세트를 포함한다.
본 명세서에 설명되는 다양한 구현들의 추가적 이해가 도면들을 참조하여 실현될 수 있으며, 도면들은 명세서의 나머지 부분에서 설명된다. 도면들에서, 유사한 참조 번호들은 다수의 도면들에 걸쳐 유사한 컴포넌트들을 지칭하기 위하여 사용된다. 몇몇 예시들에서, 참조 번호는 다수의 유사한 컴포넌트들 중 하나를 나타내기 위하여 소문자로 구성되는 연관된 서브-라벨을 가질 수 있다. 서브-라벨의 특정 없이 참조 번호에 대한 참조가 이루어질 때, 참조는 모든 그러한 다수의 유사한 컴포넌트들을 지칭하도록 의도된다.
도 1은 호스트 디바이스와 통신하는 저장 디바이스의 예시적인 블록도를 예시한다.
도 2는 데이터 영역 및 동적 격리 영역들을 갖는 저장 영역을 구비한 자기 디스크의 예시적 섹션을 예시한다.
도 3은 데이터 영역 및 동적 격리 영역들을 갖는 저장 영역을 구비한 자기 디스크의 대안적인 예시적 섹션을 예시한다.
도 4는 격리 영역의 논리 블록 어드레스를 결정하기 위한 예시적 동작들을 예시한다.
도 5는 격리 영역의 논리 블록 어드레스를 결정하기 위한 대안적인 예시적 동작들을 예시한다.
도 2는 데이터 영역 및 동적 격리 영역들을 갖는 저장 영역을 구비한 자기 디스크의 예시적 섹션을 예시한다.
도 3은 데이터 영역 및 동적 격리 영역들을 갖는 저장 영역을 구비한 자기 디스크의 대안적인 예시적 섹션을 예시한다.
도 4는 격리 영역의 논리 블록 어드레스를 결정하기 위한 예시적 동작들을 예시한다.
도 5는 격리 영역의 논리 블록 어드레스를 결정하기 위한 대안적인 예시적 동작들을 예시한다.
다음의 설명에서, 설명을 위해, 본 명세서에서 설명되는 다양한 구현들의 포괄적인 이해를 제공하도록, 다수의 특정 세부사항들이 제시된다. 다양한 특징들이 특정한 구현들에 속하는 한편, 일 구현에 대하여 설명된 특징들이 다른 구현들과도 또한 통합될 수 있다는 것이 인식되어야 한다. 그러나, 마찬가지로, 임의의 설명된 구현의 단일 특징 또는 특징들이 본질적인 것으로 고려되지 않아야 하며, 이는, 다른 구현들이 그러한 특징들을 생략할 수 있기 때문이다.
자기 매체 저장 드라이브들은, 각각의 저장 드라이브 내의 하나 이상의 자화된 매체 상의 극성화된 셀(polarized cell)들에서 데이터를 저장한다. 자기 디스크 드라이브는 자기 매체 저장 드라이브의 일 구현이며, 자기 매체 저장 드라이브에서, 자기 매체는 디스크이고, 극성화된 셀들은 동심으로, 일반적으로 원형 트랙들로 디스크 상에 배열된다. 동작 시에, 디스크들 중 하나 이상이 저장 드라이브 내에서 일정한 높은 속도로 회전하면서, 액추에이터 어셈블리를 사용하여, 디스크(들) 상의 트랙들로 정보가 기록되고, 디스크(들) 상의 트랙들로부터 정보가 판독된다. 디스크들에 인접하게 위치된 베어링 샤프트 어셈블리에 관한 시크(seek) 동작 동안에, 액추에이터 어셈블리가 회전한다.
액추에이터 어셈블리는, 디스크들을 향해 연장하는 하나 이상의 복수의 액추에이터 암(arm)들을 포함한다. 판독 폴(pole) 및 기록 폴을 갖는 헤드가 액추에이터 암들의 각각의 말단부에 탑재된다. 기록 폴은 대응하는 디스크 상의 셀들의 자기 극성을 변화시키도록 적응된 자기 필드를 생성하며(즉, 기록 폴은 디스크에 데이터를 기록한다), 판독 폴은 대응하는 디스크 상의 셀들의 자기 극성을 검출한다(즉, 판독 폴은 디스크로부터 데이터를 판독한다).
비-싱글드(non-shingled) 자기 매체에서, 자화된 매체 상의 셀들의 각각은, 기록 폴로 하여금, 임의의 주위의 셀들에서 데이터를 오버라이트(overwrite)하지 않으면서 셀들에 데이터를 기록하게 허용하도록, 기록 폴의 크기에 비하여 충분히 큰 크기로 이루어진다. 결과적으로, 데이터는 자기 매체 상의 임의의 곳의 이용가능한 셀들에 랜덤으로 기록될 수 있다. 그러나, 자기 매체에 대하여 데이터 저장 밀도에 대한 요건들이 증가함에 따라, 셀 사이즈가 감소한다. 자화된 매체 상의 셀들의 극성을 시프트(shift)시키기 위해, 더 큰 기록 폴에 의해 제공되는 강한 기록 필드 변화도(gradient)가 종종 요구되기 때문에, 기록 폴의 크기의 상응하는(commensurate) 감소는 어렵다. 결과적으로, 비교적 더 큰 기록 폴을 사용하여, 자화된 매체 상의 더 작은 셀들에 데이터를 기록하는 것은 인접한 셀들의 극성에 영향을 미칠 수 있다(즉, 인접한 셀들을 오버라이트할 수 있다). 기록 동작 동안에, 인접한 셀들이 오버라이트되는 것을 방지하면서, 더 작은 셀들을 이용하도록 자기 매체를 적응시키기 위한 하나의 기술이 싱글드 자기 레코딩(shingled magnetic recording; SMR)이다.
싱글드 자기 레코딩은 기록 폴에 의해 생성된 크고 강한 기록 필드를 이용한다. 싱글드 자기 레코딩의 하나의 제약은, 자기 매체에 데이터가 기록되는 경우에, 데이터가 순차적으로 증가하거나 또는 감소하는 반경 트랙들에서 기록된다는 것이다. 강한 기록 필드는, 현재 기록되는 트랙을 이전에 기록된 트랙과 오버랩시켜서, 이전의 기록 트랙의 비교적 작은 스트립이 영향을 받지 않게 하고, 또한, 현재 기록되는 트랙을 하나 이상의 아직 미기록된(not-yet written) 트랙들과 오버랩시킨다. 이전에 기록된 트랙 상의 기록된 데이터의 나머지 스트립은, 단지 실현 가능한 기록 크기의 일부(fraction)이지만, 판독 폴을 사용하여 판독되기에 충분히 큰 전술한 셀들을 포함한다. 결과적으로, 싱글드 자기 레코딩이 전통적인 랜덤 액세스 판독 동작들을 여전히 허용하지만, 단일-트랙 기록이 하나 이상의 아직 미기록된(또는 아직 기록되지 않은) 트랙들을 변형/오버라이트하기 때문에, 기록들이 더 이상 랜덤하게 행해질 수 없다. 결과적으로, 싱글드 데이터 내의 임의의 데이터 셀을 변화시키기 위해, 선택된 순차적인 기록 순서로 전제 싱글드 데이터가 재기록된다.
자기 디스크 구현에서 랜덤 기록 기능의 결여를 보상하면서 싱글드(shingled) 자기 레코딩에 의해 가능하게 된 증가된 셀 밀도를 달성하기 위해, 하나 이상의 격리 영역들이 싱글드 데이터를 갖는 디스크 상에 위치될 수 있다. 가드 트랙들, 가드 대역들 등으로도 지칭되는 격리 영역들은 다수의 데이터 트랙들을 포함하는 싱글드 데이터의 개별 대역들을 정의하는, 레코딩을 위해 이용가능하지 않은 싱글드 데이터 내의 영역들이다. 전형적으로, 각각의 격리 영역은 격리 영역들에 걸친 임의의 오버라이팅을 방지할 정도로 충분히 넓다. 결과적으로, 싱글된 데이터의 하나의 대역은 대역 내의 하나 이상의 셀들이 변경될 때 재기록된다. 더욱 빽빽하게 이격된 격리 영역들은 가드 트랙들 사이에 더 작은 대역을 생성해서, 대역을 재기록하기 위한 시간을 감소시킨다. 그러나 더 많은 격리 영역들이 사용됨에 따라, 유효 디스크 데이터 저장 밀도가 감소하는데 그 이유는 자기 매체 상에 다르게 사용가능한 공간이 격리 영역들에 의해 점유되기 때문이다. 현재 개시된 기술은 호스트 디바이스에 의해 특정된 데이터 영역 공간에 기초하여 저장 디바이스에 대한 격리 영역들의 결정을 가능하게 한다. SMR 기술은 저장 디바이스의 다른 타입들, 예를 들어, 메모리 카드, 범용 서비스 버스(USB) 플래시 디바이스, 솔리드 스테이트 디바이스 등에서 또한 사용된다.
전형적으로, SMR 시스템들에서, 저장 영역, 예를 들어, 디스크 표면은 데이터 영역들 및 격리 영역들로서 구성된다. SMR의 일 구현에서, 저장 디바이스는 영역 경계들을 선택하고 하나 이상의 규칙들은 데이터 영역들과 관련된다. 이러한 하나의 규칙은 예를 들어, 데이터 영역 내의 모든 기록들이 순차적으로 증가하는 어드레스들에 제한된다는 것이다. 대안적인 규칙은, 데이터 영역이 재기록되기 전에, 데이터 영역에 속하는 모든 어드레스들에 대해 발행될 트림(Trim) 명령을 요구하는 것이다. 이러한 구현들에서, 저장 디바이스와 통신하는 호스트는 규칙 준수 및 데이터 무결성을 책임진다. 데이터 무결성을 만족시키기 위해, 호스트는 규칙들이 무엇이고 데이터 영역 경계들이 어디에 위치하는지를 알 필요가 있다. 일 구현에서, 저장 디바이스는 영역 경계들 및 저장 디바이스와 통신하는 호스트에 대한 데이터 영역들에 관련된 다른 규칙들을 특정한다. 그러나 데이터 영역 경계들의 이러한 특정은 호스트 디바이스에 대해 적절한 해결책이 아닐 수 있다. 예를 들어, 호스트는 저장 용량의 1 GB을 갖는 저장 디바이스의 각각의 데이터 영역을 선호할 수 있다. 이러한 호스트가 0.9 GB의 데이터 영역을 갖는 저장 디바이스에 연결되면, 이러한 경우, 호스트는 1 GB 요건을 충족시키기 위해 두 개의 0.9 GB 데이터 영역들을 필요로 해서 1 GB의 정보를 위해 1.8 GB의 저장 공간을 사용하기 때문에, 호스트는 저장 디바이스를 충분히 활용하지 못할 수 있다. 본 명세서에 설명된 구현들은, 저장 디바이스들에 의해 특정된 대로 호스트가 데이터 영역 공간 및 그와 관련된 규칙들에 의해 제한되지 않도록 저장 디바이스의 데이터 영역들을 특정하기 위해 호스트 디바이스를 제공한다.
도1은 호스트 디바이스와 통신하는 저장 디바이스의 예시적인 블록도(100)를 도시한다. 일 구현에서, 저장 디바이스(105)는 디스크 드라이브, 메모리 카드, 범용 서비스 버스(SUB) 플래시 디바이스 및 솔리드 스테이트 디바이스 중 하나이다. 호스트 디바이스(110)는 컴퓨터, 서버, 네트워크 스위치 등 중 하나이다. 호스트 디바이스는 휘발성 메모리, 비휘발성 메모리, 비일시적 메모리, 프로세서, 하나 이상의 입력 및 출력 단자들, 하나 이상의 통신 단말들 등을 포함할 수 있다. 일 구현에서, 저장 디바이스(105)에는, 휘발성 메모리, 비휘발성 메모리, 비일시적 메모리, 프로세서, 하나 이상의 입력 및 출력 단자들, 하나 이상의 통신 단말들 등이 제공된다. 일 구현에서, 다수의 동작들을 포함하는 하나 이상의 컴퓨터 프로세스가, 프로세서를 이용하여 동작들이 프로세싱되도록 저장 제어기 및 호스트(110)의 휘발성 또는 비휘발성 메모리에 저장될 수 있다.
도 1에 개시된 구현에서, 저장 디바이스(105)는 데이터를 저장하기 위해 싱글드(shingled) 자기 레코딩(SMR) 기술을 이용하도록 적응된다. 호스트(110)는, 데이터가 저장 디바이스(105)에 빈번하게 기록되고 상기 저장 디바이스(105)로부터 데이터가 빈번하게 판독되는 단기간 데이터 저장을 위한 저장 디바이스(105)를 이용할 수 있다. 대안적으로, 호스트(110)는 장기간 데이터 저장을 위해, 예컨대 데이터의 아카이벌(archival)을 위해, 저장 디바이스(105)를 이용할 수 있다. 호스트(110)의 데이터 저장 필요성들의 유형에 따라, 호스트(110)는 상이한 데이터 영역 간격 및 데이터 영역 경계 한정들을 선호할 것이다.
도면번호 115에 의해 나타낸 바와 같이, 호스트(110)는 저장 공간에 대한 요청을 전송함으로써 저장 디바이스(105)를 이용하여 저장 세션을 초기화할 수 있다. 구체적으로, 호스트(110)는 저장 디바이스(105)가 갖는, 저장을 위해 현재 이용가능한 공간의 양에 관하여 저장 디바이스(105)에 요청할 수 있다. 일 구현에서, 호스트(110)는, 저장 디바이스(105) 상에서 이용가능한 연속적인 저장 공간의 양을 식별하도록 저장 디바이스에 요청할 수 있다.
호스트(110)로부터의 요청(115)에 응답하여, 저장 디바이스(105)는, 도면번호 120에 의해 나타낸 바와 같이, 저장을 위해 이용가능한 공간의 양을 통신함으로써 응답한다. 일 구현에서, 저장 디바이스(105)는 저장 디바이스(105) 상에서 이용가능한 하나 이상의 연속적인 저장 공간들에 관한 정보를 통신한다. 예를 들면, 저장 디바이스(105)가 디스크들의 데크(deck)를 포함하고, 디스크들의 데크의 하나 이상에서 연속적인 공간의 양이 상이한 경우, 저장 디바이스(105)는 연속적인 공간들의 각각의 블록에 관한 정보를 호스트(110)에 통신할 수 있다. 대안적으로, 저장 디바이스(105)는 이용가능한 공간의 연속적인 블록의 최대 크기에 관하여 호스트(110)에 알릴 수 있다. 또다른 대안적인 구현에서, 저장 디바이스(105)는 또한, 이용가능한 저장 공간에 관련된 하나 이상의 규칙들에 관한 정보를 전송할 수 있다. 따라서, 예를 들면, 일 구현에서, 저장 디바이스는 데이터 영역들의 2개의 개별 블록들 사이의 격리를 위해 얼마나 많은 공간이 요구되는지에 관한 정보를 통신한다. 대안적으로, 저장 디바이스(105)는 또한, 데이터 영역을 재기록하기 이전에 트림 명령 발행을 위한 요구조건 등과 같은, 하나 이상의 규칙들에 관한 정보를 호스트(110)에 통신할 수 있다.
일 예에서, 저장 디바이스(105)는 이용가능한 데이터 영역의 최대 블록이 10 GB임을 통신할 수 있다. 대안적으로, 일 구현에서, 저장 디바이스(105)는 50 GB의 전체 저장 용량을 갖는 이용되지 않은 디스크 드라이브 시스템일 수 있고, 이 경우 50 GB의 전체 이용가능 용량에 관한 정보는 호스트(110)에 통신된다. 이러한 경우, 저장 디바이스(105)는 또한, 50 GB의 전체 저장 용량이 하나 이상의 데이터 영역들로 분할되는 경우에, 각각의 데이터 영역이 적어도 0.1 GB의 격리 영역에 의해 다음 데이터 영역으로부터 분리된다는 것 등을 호스트(110)에 통신한다. 일 구현에서, 격리 영역에 관한 정보는 다양한 데이터 영역들 각각에 대해 상이하다. 따라서, 예를 들면, 연속적 데이터 영역이 디스크 드라이브의 외부 직경(diameter)를 향하여 위치되는 경우, 이러한 연속적 데이터 영역으로부터 생성될 2개 이상의 데이터 영역들 사이에 요구되는 격리 영역은 보다 클 수 있다. 대안적으로, 연속적 공간 영역이 디스크 드라이브의 내부 직경을 향하여 위치되는 경우, 이러한 연속적 데이터 영역으로부터 생성될 2개 이상의 데이터 영역들 사이에 요구되는 격리 영역은 보다 작을 수 있다.
후속하여, 도면번호 125에 의해 나타낸 바와 같이, 호스트(110)는 특정 기록 동작을 위해, 자신이 요구하는 데이터 영역들에 관한 정보를 통신한다. 따라서, 예를 들면, 호스트(110)는 5 GB의 연속적인 공간이 필요하다는 것을 저장 디바이스(105)에 통신할 수 있다. 일 구현에서, 호스트(110)는 자신의 현재 요구조건들에 기초하여 데이터 영역들 및 격리 영역들의 크기를 결정할 수 있다. 예를 들면, 호스트(110)는 데이터가 기록되는 경우 아카이벌 목적들을 위해 저장 공간을 필요로 할 수 있고, 이는 긴 시간 기간 동안 데이터를 재기록 또는 업데이트할 필요가 없고, 현재 이용가능한 전체 연속적인 데이터 영역에 기록을 위해 이용가능한 충분한 데이터를 갖는다. 이러한 경우, 호스트(110)는 전체 연속적인 데이터 공간이 하나의 데이터 영역으로서 식별될 것임을 저장 디바이스(105)에 통지한다. 이러한 경우, 호스트(110)는 또한, 모든 이용가능한 저장 공간이 하나의 블록으로서 기록되고 재기록될 것이기 때문에, 임의의 격리 영역을 제공할 필요가 없다는 것을 저장 디바이스(105)에 통지한다.
대안적인 구현으로, 호스트(110)는 5개의 5-GB 데이터 영역들을 필요로 할 수 있다. 이러한 경우, 호스트(110)는 5GB 크기의 데이터 영역들을 구성하고 이러한 각각의 데이터 영역들의 끝에 격리 영역들을 제공하도록 저장 디바이스(105)에 통지한다. 대안적인 구현으로, 호스트(110)는 또한 데이터 영역이 시작될 논리 블록 어드레스(LBA: logical block address)들 및 데이터 영역이 끝날 LBA를 저장 디바이스(105)에 통지할 수도 있다. 대안으로, LBA에 관한 정보가 저장 디바이스(105)에 의해 결정되어 호스트(110)에 통신된다. 대안으로, 호스트(110)는 데이터 영역이 시작될 LBA 및 데이터 영역이 끝날 LBA를 결정하고 그 정보가 액세스 규칙들에 따르게 사용할 수 있다. 이 경우, 호스트는 자신의 데이터 영역 경계 선택을 저장 디바이스(105)에 통지하지 않는다.
데이터 영역 요청(125)에 응답하여, 저장 디바이스(105)는 도면번호 130으로 나타낸 바와 같이, 확인(confirmation)을 호스트(110)에 전송한다. 저장 디바이스(105)는 요청된 데이터 영역들이 이용 가능하다는 확인을 호스트(110)에 전송할 수 있다. 호스트(110)가 데이터 영역들의 LBA들을 특정하지 않고 데이터 영역들을 요청하는 하나의 구현에서, 저장 디바이스(105)로부터 호스트(110)로 전송되는 확인은 또한 데이터 영역들의 LBA들에 관한 정보를 포함한다. 저장 디바이스(105)가 호스트(110)에 의해 요청된 데이터 영역들 및 격리 영역들을 제공할 수 없는 어떤 상황들에서, 확인은 데이터 영역들이 이용 가능하지 않은 이유들과 함께 이러한 정보를 포함할 수 있다. 이러한 경우, 호스트(110)는 데이터 영역들에 대한 대안적 요청 및 격리 요청들로 다시 저장 디바이스(105)에 통신할 수 있다.
도 2는 호스트 디바이스에 의해 특정된 영역 사이징을 기초로 결정된 데이터 영역들을 갖는 디스크 드라이브(200)의 예시적인 선택을 나타낸다. 구체적으로, 도 2는 호스트(110)와 같은 호스트 디바이스에 의해 사용될 수 있는 디스크 드라이브(200) 상의 저장 공간(205)의 도면을 나타낸다. 하나의 구현에서, 저장 공간(205)은 디스크 드라이브(200) 상에서 현재 이용가능한 저장 공간을 나타낸다. 단순화 목적으로, 디스크 드라이브(200) 상의 트랙들 중 1/4만 도 2에 도시된다는 점에 유의한다. 더욱이, 저장 공간(205)은 디스크 드라이브(200)의 내부 직경 쪽으로 계속 이어진다. 대안적인 구현으로, 저장 공간(205)은 디스크 드라이브(200)에 포함된 디스크들의 데크의 다음 디스크로 계속할 수 있다.
호스트 디바이스로부터의 요청에 응답하여, 디스크 드라이브(200)는 디스크 드라이브(200)상의 현재 이용가능한 가장 큰 연속 블록이 1000GB의 총 저장 용량에서, 저장 공간(205)에 의해 표시된 것임을 호스트 디바이스에 통지한다. 디스크 드라이브(200)는 또한 이용가능한 저장 공간의 시작 LBA가 210임을 호스트 디바이스에 통지한다. 하나의 구현에서, 호스트 디바이스는 각각 10GB의 데이터 영역들을 요청한다. 이러한 경우, 호스트 디바이스는 저장 공간(205)이 각각 10GB 크기의 다수의 데이터 영역들로 분할되어야 함을 디스크 드라이브(200)에 통지한다. 하나의 구현에서, 데이터 영역은 순차적 기록의 구역으로서 정의된다. 다른 구현에서, 격리될 때, 다른 데이터 영역들과 상호작용하지 않는 어드레스들의 스팬(span)으로서 데이터 영역 사이징을 결정할 수 있다. 다른 구현에서, 데이터 영역은 해당 영역의 임의의 부분에 대해 재기록이 요청되는 경우에, 그 영역의 시작에서 재기록 동작이 시작되어야 할 구역으로서 정의될 수 있다. 데이터 영역들의 대안적인 정의들 또한 사용될 수 있다.
호스트 디바이스로부터의 요청에 응답하여, 디스크 드라이브(200)는 저장 공간(205)을 각각 10 GB의 동일한 데이터 영역들로 분할할 수 있다. 또한, 각각의 데이터 영역은 격리 영역에 의해 분리된다. 따라서, 도 2에 예시되는 구현에서, 저장 로케이션(210)에서 시작하는 제 1 데이터 영역(215)이 생성된다. 제 1 데이터 영역(215)은 격리 영역(220)에 의한 제 2 데이터 영역(225)에 의해 분리된다. 도 2에 예시되는 구현에서, 호스트 디바이스는 데이터 영역들의 크기에 대하여 디스크 드라이브(200)에 통지하고, 디스크 드라이브(200)는 데이터 영역들(215, 225)이 어디에서 시작하고 종료할 것인지를 결정한다. 그러나, 대안적인 구현에서, 호스트 디바이스는 데이터 영역들이 어디서 시작하고 종료할 것인지를 LBA의 디스크 드라이브에 통지할 수 있다. 이 경우, 저장 디바이스는 충분한 격리 영역을 공급하기 위해 데이터 영역들 사이에 충분한 저장 공간을 예비한다. 대안적으로, 호스트 디바이스는 디스크 드라이브(200)에 의해 확보될 다양한 격리 영역들의 시작 및 종료 LBA들에 대하여 저장 디바이스에 명령할 수 있다. 이 경우, 디스크 드라이브(200)는 영역들에 대한 액세스 규칙들을 시행할 수 있다. 대안적으로, 호스트 디바이스는 영역들의 경계들을 선택하고, 데이터 영역들에 대한 규칙들을 따르며, 격리 영역들에 액세스하지 않을 수 있다. 이 경우, 호스트는 디스크 드라이브(200)에 자신의 영역 경계 선택들을 통지하지 않는다.
일 구현에서, 호스트는 그것이 다양한 데이터 영역들을 필요로 한다고 결정할 수 있는데, 2개 이상의 이러한 영역들은 상이한 크기이다. 이러한 경우, 호스트 디바이스는 단지 다양한 데이터 영역들의 시작 및 종료 LBA를 디스크 드라이브에 통신(communicate)할 수 있다. 도 3은 디스크 드라이브가 LBA(310)에서 시작하는 305에 의해 표현되는 이용가능한 저장 공간을 갖는 이러한 구현을 예시한다. 이러한 구현에서, 호스트 디바이스는 제 1 데이터 영역(315)이 LBA(310)에서 시작할 것이며 LBA(320)에서 종료할 것을 디스크 드라이브(300)에 명령할 수 있다. 제 1 격리 영역(325)은 저장 로케이션(320)에서 시작하고 저장 로케이션(330)에서 종료하도록 세팅된다. 제 1 데이터 영역(315)과 상이한 크기를 갖는 제 2 데이터 영역(335)은 LBA(330)에서 시작한다. 도 3에 예시되는 구현에서, 격리 영역(325)이 저장 로케이션(320)에서 시작하고 저장 로케이션(330)에서 종료하도록 세팅되지만 ― LBA(320) 및 LBA(330) 모두는 디스크 드라이브(300) 상의 동일한 주변 로케이션에 있는 것으로 예시됨 ― , 대안적인 구현에서는, LBA들(320) 및 LBA(330)가 디스크 드라이브(300) 상의 임의의 다른 주변 로케이션에 위치될 수 있다.
상기 설명되는 구현들에서, 격리 영역들은 LBA를 소비하는 것으로 가정되는 반면, 대안적인 구현에서는, 격리 영역들은 LBA들을 소비하지 않는다. 따라서, 이러한 대안적인 구현에서, 데이터 영역들의 LBA는 하나의 데이터 영역으로부터 다음의 데이터 영역으로 순차적으로 이어진다. 예를 들어, 제 1 데이터 영역의 종료 LBA가 X인 경우, 제 1 데이터 영역 및 제 2 데이터 영역을 분리하는 격리 영역 이후 시작하는 제 2 데이터 영역의 시작 LBA은 X+1일 것이다.
도 3에 도시되는 데이터 영역 사양은 호스트 디바이스 유연성을 제공하여 다양한 데이터 영역들을 특정하고, 그 결과 디스크 드라이브(300)에 이용가능한 총 저장 공간이 호스트 디바이스의 이점을 위해 이용된다. 이러한 유연한 데이터 영역들을 달성하기 위해서, 디스크 드라이브(300)는 2개의 연속적인 데이터 영역들 사이에 요구되는 격리 영역들의 크기 및 총 이용가능한 저장 공간의 시작 어드레스를 호스트 디바이스에 통지할 필요가 있다. 이 정보에 기초하여, 호스트 디바이스는 데이터 영역들 사이의 경계들의 LBA를 결정한다. 이러한 구현에서, 디스크 드라이브(300)는 격리 영역 사이장의 요건을 인지하는 호스트 디바이스가 인접한 저장 영역 공간들 간의 공간이 충분하다는 것을 보장할 기록 명령들을 자동으로 제공하기 때문에, 저장 영역 경계들이 어디에 있는지에 대하여 통지받지 않을 수 있다. 다시 말하면, 이러한 구현에서, 호스트 디바이스는 각각의 영역 경계에서 얼마나 많은 어드레스가능한 공간이 손실되는지를 인지한다. 이러한 경우, 디스크 드라이브(300)의 관점으로부터, 어드레스가능한 공간의 양은 변하지 않는다.
이제, 도 4를 참조하면, 저장 디바이스에 대한 데이터 영역들 및/또는 격리 영역들의 로케이션을 결정하기 위한 예시적인 동작들을 예시한다. 구체적으로, 도 4는 호스트 디바이스에 의해 특정되는 데이터 영역 경계들에 기초하여 저장 디바이스에 대한 데이터 영역들을 결정하는 방법을 예시한다. 요청 동작(402)은 저장 디바이스 상의 이용가능한 저장 공간에 관한 요청을 호스트 디바이스로부터 저장 디바이스로 전송한다. 일 구현에서, 요청 동작은 또한 격리 영역들이 요구되는지, 그리고 만약 요구되는 경우, 격리 영역들의 최소 크기가 어떻게 되는지를 식별하도록 저장 디바이스에 요청한다. 또 다른 구현에서, 호스트 디바이스는 저장 공간 정보에 대한 요청을 저장 디바이스에 전송하도록 요구되지 않을 수 있다. 이러한 구현에서, 저장 디바이스는 시스템 초기화 동안 저장 디바이스에 접속된 임의의 호스트 디바이스에 이러한 정보를 자동으로 제공할 수 있다.
요청 동작(402)에 응답하여, 전송 동작(404)은 저장 디바이스 상에서 이용가능한 저장 공간에 관한 정보를 호스트 디바이스에 전송한다. 또한, 다른 구현에서, 전송 동작(404)은 또한 격리 영역들의 요구되는 최소 크기, 저장 공간에 관련된 다른 규칙들 등에 관한 정보를 호스트 디바이스에 전송한다. 예를 들어, 저장 디바이스는 얼마나 많은 전체 공간이 이용가능한지, 이용가능한 저장 공간의 시작 LBA가 어디인지에 관한 정보를 통신한다. 일 구현에서, 저장 디바이스는 또한 데이터 무결성을 유지하기 위해 저장 공간의 인접한 데이터 영역들 사이에서 요구되는 격리의 크기에 관한 정보를 통신한다.
전송 동작(404)으로부터 수신된 정보에 기초하여, 결정 동작(406)은 저장 디바이스 상에서 이용가능한 저장 공간이 호스트 디바이스의 요구들에 매칭하는 프로파일이 존재하는지를 결정한다. 예를 들어, 결정 동작은 이용가능한 전체 저장 공간이 호스트 디바이스의 저장 요구들에 대해 충분한지 여부를 결정할 수 있다. 다른 구현에서, 결정 동작은 격리 영역들 대 전체 저장 공간의 비율이, 호스트 디바이스가 저장 공간을 이용하는데 효율적인지를 결정한다. 예를 들어, 2개의 데이터 영역들 사이에서 저장 디바이스에 의해 요구되는 격리 영역의 크기가 너무 큰 경우 그리고 호스트 디바이스가 상당히 다수의 데이터 영역들(각 영역은 비교적 작은 크기를 가짐)을 원하는 경우, 결정 동작은 그 특정 저장 디바이스로부터의 저장 공간을 이용하지 않도록 결정할 수 있다. 이러한 경우에, 고려되는 동작은 호스트 디바이스의 저장 요구들에 대한 대안적인 옵션들을 평가한다.
결정 동작(406)이 저장 디바이스가 충분하고 적절한 공간을 제공한다는 것을 결정하면, 전송 동작(410)은 데이터 영역들의 LBA에 대한 요청을 전송한다. 일 구현에서, 전송 동작은 데이터 영역들을 생성하기 위해 데이터 영역의 LBA에 대한 요청을 저장 디바이스에 전송한다. 일 구현에서, 전송 동작(410)은 호스트로부터 저장 디바이스로 데이터 영역들의 LBA들을 전송한다. 대안적인 구현에서, 전송 동작(410)은 격리 영역들의 LBA들을 저장 디바이스에 전송한다.
결과적으로, 수신 동작(412)은 데이터 영역들에 관한 정보 및/또는 격리 영역들에 관한 정보를 수신한다. 일 구현에서, 수신 동작은 요청된 데이터 영역들에 관한 정보 및/또는 요청된 격리 영역들에 관한 정보를 호스트 디바이스로부터 수신한다. 일 구현에서, 저장 디바이스가 데이터 영역들의 LBA들 또는 격리 영역들의 LBA들에 관한 정보를 수신할 필요가 없음을 유의하라. 그러한 구현에서, 호스트 디바이스는 고려중인 격리 영역 크기에 대한 요건들을 이용하여 하나 이상의 기록 동작들을 계획할 수도 있다. 일 구현에서, 확인 동작(414)은 요청된 데이터 영역들 및 요청된 격리 영역들이 사용할 준비가 되었다는 확인을 전송한다. 확인 동작(414)은 데이터 영역들 및/또는 격리 영역들을 요청하는 호스트 디바이스에 그러한 확인을 전송할 수도 있다. 그러나, 확인 동작이 네거티브하게 확인을 전송하면, 호스트 디바이스는 대안적인 요청을 전송할 수도 있거나, 대안적인 저장 옵션들을 고려할 수도 있다.
도 5는 저장 디바이스에 대한 격리 영역들의 논리 블록 어드레스를 결정하기 위한 대안적인 예시적 동작들을 도시한다. 도 5에 도시된 하나 이상의 동작들이 도 4에 도시된 다양한 동작들과 유사함을 유의하라. 특히, 요청 동작(502), 전송 동작(504), 결정 동작(506), 및 고려 동작(508)의 각각은 요청 동작(402), 전송 동작(404), 결정 동작(406), 및 고려 동작(408)과 유사한 방식으로 각각 동작한다.
전송 동작(510)은 다양한 격리 영역들이 어디에서 시작하고 종료하는지에 대한 요청을 전송한다. 특히, 전송 동작은 하나 이상의 격리 영역들의 시작 로케이션들의 LBA 및 하나 이상의 격리 영역들의 종료 로케이션들의 LBA들을 전송할 수 있다. 일구현에 있어서, 전송 동작(510)은 격리 영역들의 LBA들에 대한 정보를 호스트 디바이스로부터 저장 디바이스로 전송할 수 있다. 후속해서, 수신 동작(512)은 하나 이상의 격리 영역들의 시작 로케이션들의 LBA들 및 하나 이상의 격리 영역들의 종료 로케이션들의 LBA들을 수신할 수 있다. 만약 저장 디바이스가 격리 영역들의 시작 및 종료 로케이션들에 대해 특정된 LBA들이 적합하다고 결정한다면, 확인 동작(514)이 확인을 전송한다. 일구현에 있어서, 이러한 확인은 저장 디바이스로부터, 격리 영역들을 요청하는 호스트 디바이스로 전송된다.
여기서 설명된 구현들은 하나 이상의 컴퓨터 시스템들에서 논리 단계들로서 구현될 수 있다. 여기서 설명된 다양한 구현들의 논리 동작들은, (1) 하나 이상의 컴퓨터 시스템들에서 실행하는 프로세서-구현 단계들의 시퀀스로서 그리고, (2) 하나 이상의 컴퓨터 시스템들 내의 상호접속된 기계 또는 회로 모듈들로서 구현된다. 그 구현은 컴퓨터 시스템의 성능 요건들에 따른 선택 사항이다. 따라서, 여기서 설명된 구현들의 실시예들을 구성하는 논리 동작들은 동작들, 단계들, 오브젝트들, 또는 모듈들로서 다양하게 지칭된다. 게다가, 논리 동작들은, 명확하게 달리 청구되지 않거나 특정 순서가 청구항의 언어에 의해 본래부터 요구되지 않는 한, 임의의 순서에 따라 수행될 수 있다는 것을 이해해야 한다.
명확성을 위해서, 여기서 설명된 구현들의 루틴 기능들 모두가 도시되고 설명되지는 않았다. 임의의 이러한 실질적인 구현의 개발에 있어서는 애플리케이션(및 비즈니스)-관련 제약들을 따르는 것과 같이, 개발자들의 특정 목적들을 달성하기 위해 수많은 구현-특정 결정들이 이루어지고, 이러한 특정 목적들은 구현마다 그리고 개발자마다 다를 것이라는 점이 인식될 것이다.
위의 상세한 설명, 예들, 및 데이터는 예시적인 구현들의 구조 및 사용에 대한 완전한 설명을 제공한다. 본 발명의 사상 및 범주로부터 벗어나지 않고 많은 대안적인 구현들이 이루어질 수 있기 때문에, 본 발명은 첨부된 이후의 청구항들에 존재한다. 게다가, 상이한 구현들의 구조적인 특징들은 열거된 청구항들로부터 벗어나지 않고 또 다른 구현에서 결합될 수 있다.
Claims (20)
- 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법으로서,
상기 저장 디바이스로부터 호스트 디바이스에 최소 격리 영역 크기를 통신하는 단계 ― 상기 최소 격리 영역 크기는 상기 저장 디바이스상에서 격리될 2개의 데이터 영역들에 대해 요구되는 최소 공간을 표현함 ―;
상기 호스트 디바이스로부터, 격리 영역에 의해 경계지어 지는 데이터 영역의 크기를 수신하는 단계 ― 상기 데이터 영역의 크기는 상기 호스트 디바이스의 데이터 저장 필요성들의 유형에 기초하여 결정됨 ―; 및
상기 데이터 영역의 크기에 기초하여 상기 격리 영역의 저장 로케이션(storage location)을 결정하는 단계
를 포함하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 격리 영역은 상기 저장 디바이스의 하나 이상의 데이터 영역들의 격리를 위해 요구되는 저장 로케이션들의 세트를 포함하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 영역의 크기는 상기 호스트 디바이스에 의해 요구되는 순차적 기록 영역(sequential write area)인,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 데이터 영역의 크기는, 격리될 때 다른 데이터 영역들과 상호작용하지 않는 어드레스들의 스팬(span)인,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 격리 영역은, 상기 격리 영역에 인접한 데이터 영역들 중 하나의 영역에 대해서는 기록을 허용하면서 상기 격리 영역에 인접한 데이터 영역의 다른 영역에 있는 데이터에 악영향을 미치지 않는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법으로서,
호스트 디바이스로부터, 격리 영역에 의해 경계지어 지는 데이터 영역의 크기를 수신하는 단계 ― 상기 데이터 영역의 크기는 상기 호스트 디바이스의 데이터 저장 필요성들의 유형에 기초하여 결정됨 ―; 및
상기 데이터 영역의 크기에 기초하여 상기 격리 영역의 저장 로케이션을 결정하는 단계
를 포함하고,
상기 결정하는 단계는 상기 호스트 디바이스에 의해 특정된 상기 데이터 영역의 끝부분(end)에 기초하여 상기 격리 영역의 논리 블록 어드레스를 결정하는 단계를 포함하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 삭제
- 제 1 항에 있어서,
상기 최소 격리 영역 크기는, 기록 동작에 의해 영향을 받는 상기 저장 디바이스 상의 이웃하는 트랙들의 수 및 상기 이웃하는 트랙들의 수의 최소 크기를 표현하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 최소 격리 영역 크기는 (1) 디스크 드라이브; (2) 상기 디스크 드라이브의 특정된 영역; 및 (3) 상기 디스크 드라이브의 특정된 로케이션 중 적어도 하나에 대한 최소 격리 영역 크기를 표현하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 결정하는 동작은 데이터를 레코딩하기 위해 싱글드(shingled) 자기 레코딩을 이용하는 저장 디바이스에 의해 수행되는 ,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 제 1 항에 있어서,
상기 저장 디바이스는 디스크 드라이브인,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법으로서,
호스트 디바이스로부터, 격리 영역에 의해 경계지어 지는 데이터 영역의 크기를 수신하는 단계 ― 상기 데이터 영역의 크기는 상기 호스트 디바이스의 데이터 저장 필요성들의 유형에 기초하여 결정됨 ―; 및
상기 데이터 영역의 크기에 기초하여 상기 격리 영역의 저장 로케이션을 결정하는 단계
를 포함하고,
상기 호스트 디바이스는 상기 데이터 영역의 시작 LBA 및 종료 LBA를 특정함으로써 상기 데이터 영역의 크기를 특정하는,
저장 디바이스 상의 저장 영역들을 관리하기 위한 방법. - 컴퓨터 시스템상에서, 컴퓨터 프로세스를 실행하기 위한 컴퓨터-실행가능 명령들을 인코딩하는 하나 이상의 컴퓨터-판독가능 저장 매체로서,
상기 컴퓨터 프로세스는:
저장 디바이스로부터 호스트 디바이스에 최소 격리 영역 크기를 통신하는 것 ― 상기 최소 격리 영역 크기는 상기 저장 디바이스 상에서 격리될 2개의 데이터 영역들에 대해 요구되는 최소 공간을 표현함 ―;
상기 호스트 디바이스로부터, 격리 영역에 의해 경계지어 지는 데이터 영역의 크기를 수신하는 것 ― 상기 데이터 영역의 크기는 상기 호스트 디바이스의 데이터 저장 필요성들의 유형에 기초하여 결정됨 ―; 및
상기 데이터 영역의 크기에 기초하여 상기 격리 영역의 저장 로케이션을 결정하는 것을 포함하는,
하나 이상의 컴퓨터-판독가능 저장 매체. - 제 13 항에 있어서,
상기 데이터 영역의 크기는 상기 호스트 디바이스에 의해 요구되는 순차적 기록 영역인,
하나 이상의 컴퓨터-판독가능 저장 매체. - 삭제
- 제 13 항에 있어서,
상기 최소 격리 영역 크기는 기록 동작에 의해 영향을 받는 상기 저장 디바이스의 이웃하는 트랙들의 수 및 상기 이웃하는 트랙들의 수의 최소 크기를 표현하는,
하나 이상의 컴퓨터-판독가능 저장 매체. - 제 13 항에 있어서,
상기 저장 디바이스는 데이터를 레코딩하기 위해 싱글드 자기 레코딩을 이용하는,
하나 이상의 컴퓨터-판독가능 저장 매체. - 저장 매체 상의 저장 공간 영역들을 관리하기 위한 저장 제어기 모듈로서,
상기 저장 제어기 모듈은,
상기 저장 매체 상에서 이용가능한 저장 공간에 대한 정보를 호스트 디바이스로 통신하고,
상기 저장 매체에 대해 요구되는 하나 이상의 격리 영역들의 크기에 관한 정보를 상기 호스트 디바이스로 통신하고, 그리고
상기 호스트 디바이스로부터, 데이터 영역의 크기에 기초하여 격리 영역의 저장 로케이션에 관한 명령들을 수신하도록 ― 상기 데이터 영역은 상기 격리 영역에 의해 경계지어지고, 상기 데이터 영역의 크기는 상기 호스트 디바이스의 데이터 저장 필요성들의 유형에 기초하여 결정됨 ―
구성되고,
상기 저장 제어기 모듈은 저장 디바이스로부터 상기 호스트 디바이스에 최소 격리 영역 크기를 통신하도록 추가로 구성되고, 상기 최소 격리 영역 크기는 상기 저장 디바이스 상에서 격리될 2개의 데이터 영역들에 대해 요구되는 최소 공간을 표현하는,
저장 매체 상의 저장 공간 영역들을 관리하기 위한 저장 제어기 모듈. - 삭제
- 제 18 항에 있어서,
상기 저장 매체는 데이터를 레코딩하기 위해 싱글드 자기 레코딩을 이용하는,
저장 매체 상의 저장 공간 영역들을 관리하기 위한 저장 제어기 모듈.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/026,535 US8977834B2 (en) | 2011-02-14 | 2011-02-14 | Dynamic storage regions |
US13/026,535 | 2011-02-14 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190014530A Division KR20190018656A (ko) | 2011-02-14 | 2019-02-07 | 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120093104A KR20120093104A (ko) | 2012-08-22 |
KR102134694B1 true KR102134694B1 (ko) | 2020-07-16 |
Family
ID=46637804
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120014990A KR102134694B1 (ko) | 2011-02-14 | 2012-02-14 | 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 |
KR1020190014530A KR20190018656A (ko) | 2011-02-14 | 2019-02-07 | 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190014530A KR20190018656A (ko) | 2011-02-14 | 2019-02-07 | 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8977834B2 (ko) |
JP (1) | JP5992178B2 (ko) |
KR (2) | KR102134694B1 (ko) |
CN (1) | CN102789367B (ko) |
Families Citing this family (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8832409B2 (en) * | 2011-03-09 | 2014-09-09 | Seagate Technology Llc | Dynamic guarding of a storage media |
US9563681B1 (en) | 2012-08-08 | 2017-02-07 | Amazon Technologies, Inc. | Archival data flow management |
US9213709B2 (en) | 2012-08-08 | 2015-12-15 | Amazon Technologies, Inc. | Archival data identification |
US9251097B1 (en) | 2011-03-22 | 2016-02-02 | Amazon Technologies, Inc. | Redundant key management |
US9767098B2 (en) | 2012-08-08 | 2017-09-19 | Amazon Technologies, Inc. | Archival data storage system |
US9354683B2 (en) | 2012-08-08 | 2016-05-31 | Amazon Technologies, Inc. | Data storage power management |
US9652487B1 (en) | 2012-08-08 | 2017-05-16 | Amazon Technologies, Inc. | Programmable checksum calculations on data storage devices |
US9092441B1 (en) | 2012-08-08 | 2015-07-28 | Amazon Technologies, Inc. | Archival data organization and management |
US9904788B2 (en) | 2012-08-08 | 2018-02-27 | Amazon Technologies, Inc. | Redundant key management |
US8805793B2 (en) | 2012-08-08 | 2014-08-12 | Amazon Technologies, Inc. | Data storage integrity validation |
US9830111B1 (en) | 2012-08-08 | 2017-11-28 | Amazon Technologies, Inc. | Data storage space management |
US8959067B1 (en) | 2012-08-08 | 2015-02-17 | Amazon Technologies, Inc. | Data storage inventory indexing |
US10120579B1 (en) | 2012-08-08 | 2018-11-06 | Amazon Technologies, Inc. | Data storage management for sequentially written media |
US9250811B1 (en) * | 2012-08-08 | 2016-02-02 | Amazon Technologies, Inc. | Data write caching for sequentially written media |
US9225675B2 (en) | 2012-08-08 | 2015-12-29 | Amazon Technologies, Inc. | Data storage application programming interface |
US9779035B1 (en) | 2012-08-08 | 2017-10-03 | Amazon Technologies, Inc. | Log-based data storage on sequentially written media |
US9720627B2 (en) * | 2013-01-17 | 2017-08-01 | Western Digital Technologies, Inc. | Data management for a data storage device |
US10558581B1 (en) | 2013-02-19 | 2020-02-11 | Amazon Technologies, Inc. | Systems and techniques for data recovery in a keymapless data storage system |
US8941943B1 (en) | 2013-12-09 | 2015-01-27 | HGST Netherlands B.V. | Dynamic variable capacity hard disk drive |
US8867153B1 (en) | 2013-12-09 | 2014-10-21 | HGST Netherlands B.V. | Method and apparatus for dynamic track squeeze in a hard drive |
US8922925B1 (en) | 2013-12-09 | 2014-12-30 | HGST Netherlands B.V. | Actively written guard bands in a cold storage or mixed mode drive |
US9489145B2 (en) | 2013-12-09 | 2016-11-08 | HGST Netherlands B.V. | Disk drive including I-regions having configurable final logical block addresses |
US20150301930A1 (en) * | 2014-04-18 | 2015-10-22 | HGST Netherlands B.V. | File storage via physical block addresses |
US11531495B2 (en) * | 2014-04-21 | 2022-12-20 | David Lane Smith | Distributed storage system for long term data storage |
US8941936B1 (en) * | 2014-06-27 | 2015-01-27 | International Business Machines Corporation | Hybrid surface format hard disk drive |
CN104899157A (zh) * | 2015-05-28 | 2015-09-09 | 北京北信源软件股份有限公司 | 一种内存溢出检测方法和系统 |
US11386060B1 (en) | 2015-09-23 | 2022-07-12 | Amazon Technologies, Inc. | Techniques for verifiably processing data in distributed computing systems |
CN105824579B (zh) * | 2016-03-17 | 2019-01-11 | 中国科学院计算技术研究所 | 一种捎带读写减小瓦记录写放大开销的方法 |
CN107729751A (zh) * | 2016-08-12 | 2018-02-23 | 阿里巴巴集团控股有限公司 | 数据检测方法及装置 |
US11422726B1 (en) * | 2018-05-01 | 2022-08-23 | Amazon Technologies, Inc. | Efficient storage device data move operation based on priority of garbage collection command |
US12086450B1 (en) | 2018-09-26 | 2024-09-10 | Amazon Technologies, Inc. | Synchronous get copy for asynchronous storage |
CN114237489B (zh) * | 2020-09-09 | 2024-04-05 | 浙江宇视科技有限公司 | 将逻辑资源写入smr盘的方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020071198A1 (en) * | 2000-09-27 | 2002-06-13 | Xiong Liu | Method to achieve higher track density by allowing only one-sided track encroachment |
JP2002216426A (ja) * | 2001-01-15 | 2002-08-02 | Nec Corp | 情報記録システム |
JP2009140552A (ja) * | 2007-12-05 | 2009-06-25 | Sony Corp | 光ディスク装置及び光情報記録方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04249227A (ja) * | 1991-02-05 | 1992-09-04 | Canon Inc | 光学装置 |
JPH05159201A (ja) * | 1991-12-04 | 1993-06-25 | Tdk Corp | 磁気ディスク記録再生装置並びにその磁気ヘッド装置及び磁気ディスク |
EP0586189B1 (en) * | 1992-09-03 | 2000-06-28 | Sony Corporation | Data recording apparatus and methods |
JP2002237142A (ja) * | 2001-02-09 | 2002-08-23 | Matsushita Electric Ind Co Ltd | 磁気記憶媒体、そのトラックピッチ制御方法、その媒体のための磁気記録装置 |
US7729092B1 (en) | 2002-11-07 | 2010-06-01 | Seagate Technology Llc | Shielded pole writer under reader |
JP2006031847A (ja) * | 2004-07-16 | 2006-02-02 | Toshiba Corp | 磁気ディスク媒体及び磁気ディスク装置 |
CN1910692B (zh) * | 2004-09-17 | 2010-12-08 | 日本先锋公司 | 信息记录装置和方法以及信息重放装置和方法 |
JP2006155728A (ja) * | 2004-11-29 | 2006-06-15 | Hitachi Global Storage Technologies Netherlands Bv | 磁気ディスクにデータセクタをフォーマットする方法および磁気ディスク装置 |
US7133241B2 (en) * | 2005-04-11 | 2006-11-07 | Hitachi Global Storage Technologies Netherlands B.V. | Method and apparatus for optimizing record quality with varying track and linear density by allowing overlapping data tracks |
US7688544B1 (en) | 2005-05-23 | 2010-03-30 | Seagate Technology Llc | Magnetic heads disk drives and methods with floating pole tip or shunted pole tip for reduced pole tip erasure |
JP2007048335A (ja) | 2005-08-05 | 2007-02-22 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置 |
JP2007073138A (ja) * | 2005-09-07 | 2007-03-22 | Hitachi Global Storage Technologies Netherlands Bv | ディスク装置 |
US8756399B2 (en) * | 2006-01-25 | 2014-06-17 | Seagate Technology Llc | Mutable association of a set of logical block addresses to a band of physical storage blocks |
CN101382919A (zh) * | 2007-09-05 | 2009-03-11 | 北京明朝万达科技有限公司 | 一种基于身份的存储数据隔离方法 |
KR101654774B1 (ko) * | 2010-02-08 | 2016-09-06 | 시게이트 테크놀로지 엘엘씨 | 데이터 저장 장치와 저장 매체 액세스 방법 및 그에 대한 저장 매체 |
US8352685B2 (en) * | 2010-08-20 | 2013-01-08 | Apple Inc. | Combining write buffer with dynamically adjustable flush metrics |
US8854751B2 (en) * | 2011-01-06 | 2014-10-07 | Seagate Technology Llc | Reducing errors resulting from width variability of storage media write tracks |
-
2011
- 2011-02-14 US US13/026,535 patent/US8977834B2/en active Active
-
2012
- 2012-02-14 CN CN201210103119.2A patent/CN102789367B/zh not_active Expired - Fee Related
- 2012-02-14 KR KR1020120014990A patent/KR102134694B1/ko active IP Right Grant
- 2012-02-14 JP JP2012029557A patent/JP5992178B2/ja not_active Expired - Fee Related
-
2019
- 2019-02-07 KR KR1020190014530A patent/KR20190018656A/ko not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020071198A1 (en) * | 2000-09-27 | 2002-06-13 | Xiong Liu | Method to achieve higher track density by allowing only one-sided track encroachment |
JP2002216426A (ja) * | 2001-01-15 | 2002-08-02 | Nec Corp | 情報記録システム |
JP2009140552A (ja) * | 2007-12-05 | 2009-06-25 | Sony Corp | 光ディスク装置及び光情報記録方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102789367A (zh) | 2012-11-21 |
JP5992178B2 (ja) | 2016-09-14 |
CN102789367B (zh) | 2017-06-09 |
US20120210092A1 (en) | 2012-08-16 |
US8977834B2 (en) | 2015-03-10 |
KR20120093104A (ko) | 2012-08-22 |
JP2012212498A (ja) | 2012-11-01 |
KR20190018656A (ko) | 2019-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102134694B1 (ko) | 저장 디바이스 상의 저장 영역들을 관리하기 위한 방법, 컴퓨터-판독가능 저장 매체 및 저장 제어기 모듈 | |
US10346078B2 (en) | Method of writing a file to a plurality of media and a storage system thereof | |
US7461202B2 (en) | Method and apparatus using hard disk drive for enhanced non-volatile caching | |
US7529971B2 (en) | Composite memory device, data wiring method and program | |
JP5888717B2 (ja) | ハイブリッドハードディスクドライブ制御方法、メモリ装置及びハイブリッドハードディスクドライブ | |
US7987328B2 (en) | Data archive system | |
JP6391061B2 (ja) | テープ上へのファイル書き込み方法 | |
US8205030B2 (en) | Composite type recording apparatus, data writing method and data writing program | |
US9875030B2 (en) | Media write operation | |
US7676140B2 (en) | Recording apparatus | |
US9153290B1 (en) | Intra-zone wear leveling for heat-assisted magnetic recording—shingled magnetic recording (HAMR-SMR) type storage devices | |
JP2012234609A (ja) | データ格納方法及びハイブリッドデータストレージ機器 | |
US20160011792A1 (en) | Media control device and control method | |
US9658964B2 (en) | Tiered data storage system | |
JP2008146760A (ja) | データ書込みパフォーマンスが改善されたテープ記録装置、及びそのデータ書込み制御方法 | |
US9367258B2 (en) | Systems and methods for managing storage space in hybrid data storage systems | |
JP2010055139A (ja) | メモリコントローラ、不揮発性記憶装置、アクセス装置、不揮発性記憶システム | |
WO2020168516A1 (en) | Method and system for facilitating fast atomic write operations in shingled magnetic recording hard disk drives | |
EP2306462B1 (en) | Semiconductor memory device and its early-warning system and method | |
KR20100030990A (ko) | 특정 조건을 갖는 파일을 정해진 위치에 저장할 수 있는 하이브리드 하드디스크 드라이브, 이에 적합한 제어 방법 및 이에 적합한 기록 매체 | |
KR20030061948A (ko) | 정보 저장 장치 및 그를 이용한 파일 관리 방법 | |
TW201905697A (zh) | 行車記錄器之儲存裝置的控制方法與儲存裝置控制系統 | |
KR20080112863A (ko) | 플래시 메모리 쓰기 방법 및 플래시 메모리 장치 드라이버 | |
JP2010055702A (ja) | ハードディスク装置 | |
JP2002150697A (ja) | 磁気ディスク制御方式及びそれを用いた磁気ディスク装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AMND | Amendment | ||
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
X091 | Application refused [patent] | ||
AMND | Amendment | ||
J201 | Request for trial against refusal decision | ||
J301 | Trial decision |
Free format text: TRIAL NUMBER: 2019101000423; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20190207 Effective date: 20191230 |
|
S901 | Examination by remand of revocation | ||
E902 | Notification of reason for refusal | ||
S601 | Decision to reject again after remand of revocation | ||
AMND | Amendment | ||
GRNO | Decision to grant (after opposition) | ||
X701 | Decision to grant (after re-examination) |