KR102136969B1 - 스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치 - Google Patents
스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR102136969B1 KR102136969B1 KR1020207009487A KR20207009487A KR102136969B1 KR 102136969 B1 KR102136969 B1 KR 102136969B1 KR 1020207009487 A KR1020207009487 A KR 1020207009487A KR 20207009487 A KR20207009487 A KR 20207009487A KR 102136969 B1 KR102136969 B1 KR 102136969B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage device
- power
- storage
- power state
- interface
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Power Sources (AREA)
Abstract
스토리지 디바이스의 신뢰성을 증가시키기 위해 스토리지 디바이스 파라미터들을 모니터링하고 이들 파라미터들을 내구성 임계치들과 비교하는 것을 포함하는 컴퓨터들에 대한 스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치.
Description
본 출원은 2018년 1월 24일에 출원된 미국 출원 번호 15/878,735호에 대해 우선권을 주장하고, 이 출원은 그 전체가 참고로 본원에 포함된다.
본 개시내용의 양상들은 호스트 연결 디바이스들의 전력 상태들 및 전력 사용량에 관한 것이다. 더 구체적으로, 본 개시내용의 양상들은 스토리지 디바이스들의 전력 상태들의 선택적인 광고를 위한 방법들에 관한 것이다.
소비자 스토리지 디바이스들, 이를테면 컴퓨터들에 대한 메모리 배열체(memory arrangement)들은 다수의 전력 상태를 가질 수 있다. 이들 전력 상태는 개별적으로 정의되고 전체 전력 사용량을 감소시키기 위해 생성된다. 소정의 사례들에서, 상이한 전력 파라미터들과 이들 전력 상태를 진입 및 종료하기 위해 요구되는 시간 및 에너지 사이에는 트레이드-오프(trade-off)가 있을 수 있다. 디바이스는 상이한 동작 파라미터로 다수의 전력 사용 상태를 광고할 수 있다.
일 예에서, 고성능 소비자 스토리지 디바이스에 의해 사용되는 NVM 익스프레스(Express) 프로토콜은 최대 32 개의 전력 상태를 포함하고, 전력 상태 각각은 호스트-제출 식별 제어기 커맨드(host-submitted Identify Controller command)에 대한 응답의 부분으로서 디바이스에 의해 광고된다. 개별 전력 상태들 각각은, 상태가 활성화인 동안 파라미터들, 이를테면 진입 대기시간, 종료 대기시간 및 목표 전력 소비를 포함한다. 예컨대, 진입 대기시간은 디바이스를 특정 전력 상태로 두는 커맨드의 완료로부터 전력 소비가 목표를 초과하지 않을 때까지 걸리는 시간으로 측정된다. 종료 대기시간은 (호스트 전력 관리 지시 또는 I/O 커맨드로 인해) 디바이스가 특정 전력 상태를 떠날 때부터 디바이스가 다시 동작하고 부가적인 대기시간 없이 입력/출력 커맨드를 성공적으로 완료할 수 있을 때까지의 시간으로 측정된다.
비-휘발성 메모리 소비자 디바이스들은 통상적으로 2 개의 비-동작 전력 상태뿐 아니라 3 개의 동작 상태를 갖는다. 비록 구현이 상이한 전력 상태들을 가질 수 있고 상이한 방식으로 이들 상태들의 번호를 매길 수 있지만, 비-동작 상태들은 본원에서 PS3 및 PS4로 지칭된다.
PS3는 짧은 진입 및 종료 대기시간을 갖는 비-동작 상태로 정의되는 반면, PS4 상태는 더 큰 전력 감소를 위해 대기시간을 희생한다. 예컨대, PS3 상태는 50-100mW의 전력을 소비하면서, 1-마이크로초 범위 내에서 측정된 진입 및 종료 대기시간을 가질 수 있는 반면, PS4 상태는 몇 백 마이크로초 내에서 측정된 진입 및 종료 대기시간을 가질 수 있지만 단지 1-5mW의 전력만을 소비할 수 있다. 둘 모두의 경우에서, 디바이스는 상태 정보를 기록하기 때문에, 전환 기간 동안 훨씬 더 많은 전력을 소비할 것이다.
비-휘발성 메모리 스토리지 디바이스들은 다수의 전력 관리 커맨드 방법을 지원할 수 있다. 예컨대, NVM 익스프레스 프로토콜을 사용하는 디바이스들에서, 호스트는 새로운 상태로의 전환을 개시하기 위해 요청된 전력 상태를 갖는 디바이스에 "세트 피처/전력 관리(Set Features/Power Management)" 커맨드를 전송할 수 있다. 커맨드가 성공적으로 완료된 이후, 디바이스는 "식별 제어기" 데이터 구조에 리턴된 전력 상태 테이블의 진입 대기시간 파라미터에서 광고된 시간 내에 새로운 전력 상태로 전환한다. 호스트 지시 디바이스 개시 방법(자율 전력 상태 전환들)에서, 호스트는 유휴 시간에 기반하여, 디바이스가 전환하여야 하는 전력 상태들의 리스트를 전송한다. 어떠한 커맨드들도 특정 지속기간 동안 호스트로부터 전송되지 않은 것을 디바이스가 검출할 때, 디바이스는 주어진 비-동작 전력 상태로 자동으로 전환될 것이다. 둘 모두의 경우들에서, 디바이스는 입력/출력 커맨드의 수신 직후 마지막 동작 전력 상태로 다시 전환될 것이다. 호스트는 적격의 전력 상태들을 선택하는 것뿐 아니라 이런 전력 상태로의 전환 전에 요구되는 유휴 시간을 특정할 때 진입 및/또는 종료 대기시간을 고려할 수 있다.
각각의 전환은 전력(전환 에너지) 측면에서 소정 비용을 갖는다. 상태 데이터를 디바이스에 기입하는 것은 또한, 각각의 전환이 개방 블록들에 대한 제어 기입들 및 패딩(padding)을 요구할 수 있기 때문에, 내구성에 영향을 줄 수 있다. 최악의 환경에서, 매우 작은 기입들 이후 즉각적인 전력 상태 전환들은 기입 증폭을 크게 증가시킬 수 있다.
호스트에 연결될 수 있는 디바이스들에 대해 전력 상태 전환 비용들을 최소화하기 위한 방법을 제공하는 것이 필요하다.
연결된 디바이스에 대한 전력 상태들의 가장 효율적인 사용을 허용하기 위한 방법 및 장치를 제공하는 더 필요하다.
호스트 디바이스로부터 커맨드들을 검출하고 연결된 디바이스가 전력 비용들뿐 아니라 대기시간 및 동작 커맨드 요청들을 최소화하기에 충분한 자율성을 허용하기 위한 방법 및 장치를 제공하는 것이 여전히 더 필요하다.
본 개시내용의 위에 나열된 특징들이 상세히 이해될 수 있는 방식으로, 아래에 짧게 요약된 본 개시내용의 더 구체적인 설명은 실시예들을 참조하여 이루어질 수 있고, 실시예들 중 일부는 첨부된 도면들에 예시된다. 본 개시내용이 특정한 언급 없이 다른 동등하게 유효한 실시예들을 인정할 수 있기 때문에, 첨부된 도면들이 본 개시내용의 통상적인 실시예들만을 예시하고 그러므로 본 개시내용의 범위를 제한하는 것으로 간주되지 않아야 하는 것이 주목되어야 한다. 따라서, 다음 요약은 본 설명의 일부 양상들만을 제공하고 설명된 실시예들을 단일 개념으로 제한하는 데 사용되지 않아야 한다.
하나의 비-제한적 실시예에서, 데이터를 저장하기 위한 디바이스가 개시되고, 디바이스는, 데이터를 저장 및 검색하도록 구성된 스토리지 배열체, 스토리지 배열체의 동작들을 모니터링하고 동작들을 임계치와 비교하도록 구성된 적어도 하나의 내구성 카운터, 데이터를 호스트로부터 그리고 호스트로 전송하고 수신하도록 구성된 호스트 인터페이스, 플래시 변환 계층, 스토리지 배열체에 데이터를 전송 및 수신하도록 구성된 스토리지 인터페이스, 식별 제어기에 연결된 전력 상태 수정기 구성, 및 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 식별 제어기 및 스토리지 인터페이스에 전력을 공급하도록 구성된 전력 관리기를 포함하고, 식별 제어기는 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 스토리지 인터페이스에 대한 전력 상태들의 테이블을 갖도록 구성되고, 전력 상태 수정기는 전력 상태들의 테이블을 동적으로 업데이트하도록 구성되고, 전력 관리기는 전력 상태들의 테이블을 판독하고 테이블에 따라 전력을 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 식별 제어기 및 스토리지 인터페이스에 전달하도록 구성된다.
다른 비-제한적인 실시예에서, 스토리지 디바이스에 대한 동작 방법이 개시되고, 동작 방법은: 스토리지 디바이스와 함께 유지보수 사이클에 진입하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 정격 값과 비교하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터가 정격 값을 초과하는 때를 결정하는 단계 및 스토리지 디바이스의 최저 전력 상태를 수정하는 단계를 포함한다.
다른 비-제한적인 실시예에서, 배열체가 개시되고, 배열체는 스토리지 디바이스와 함께 유지보수 사이클에 진입하기 위한 수단; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하기 위한 수단; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 정격 값과 비교하기 위한 수단, 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터가 정격 값을 초과하는 때를 결정하기 위한 수단 및 스토리지 디바이스의 최저 전력 상태를 수정하기 위한 수단을 포함한다.
다른 양상들 및 장점들은 다음 설명 및 첨부된 청구항들로부터 명백하게 될 것이다.
본 개시내용의 위에 나열된 특징들이 상세히 이해될 수 있는 방식으로, 위에 짧게 요약된 본 개시내용의 더 구체적인 설명은 실시예들을 참조하여 이루어질 수 있고, 실시예들 중 일부는 첨부된 도면들에 예시된다. 본 개시내용이 다른 동등하게 유효한 실시예들을 인정할 수 있기 때문에, 첨부된 도면들이 본 개시내용의 통상적인 실시예들만을 예시하고 그러므로 본 개시내용의 범위를 제한하는 것으로 간주되지 않아야 하는 것이 주목되어야 한다.
도 1은 본 설명의 일 예시적인 실시예에서, 호스트 및 호스트-연결 디바이스의 도면이다.
도 2는 본 설명의 다른 예시적인 실시예에서 호스트-연결 디바이스의 전력 상태들의 그래프이다.
도 3은 본 설명의 다른 예시적인 실시예에서 유지보수 사이클 동작들에 대한 흐름도이다.
이해를 용이하게 하기 위해, 가능한 경우, 동일한 참조 번호들은 도면들에 공통인 동일한 엘리먼트들을 표시하기 위해 사용되었다. 일 실시예에서 개시된 엘리먼트들이 특정 언급 없이 다른 실시예들에 유리하게 활용될 수 있다는 것이 고려된다.
도 1은 본 설명의 일 예시적인 실시예에서, 호스트 및 호스트-연결 디바이스의 도면이다.
도 2는 본 설명의 다른 예시적인 실시예에서 호스트-연결 디바이스의 전력 상태들의 그래프이다.
도 3은 본 설명의 다른 예시적인 실시예에서 유지보수 사이클 동작들에 대한 흐름도이다.
이해를 용이하게 하기 위해, 가능한 경우, 동일한 참조 번호들은 도면들에 공통인 동일한 엘리먼트들을 표시하기 위해 사용되었다. 일 실시예에서 개시된 엘리먼트들이 특정 언급 없이 다른 실시예들에 유리하게 활용될 수 있다는 것이 고려된다.
아래에서, 본 개시내용의 실시예들이 참조된다. 그러나, 본 개시내용이 특정 설명된 실시예들로 제한되지 않는 것이 이해되어야 한다. 대신, 이하 특징들 및 엘리먼트들의 임의의 조합은, 상이한 실시예들에 관련되든 아니든, 본 개시내용을 구현 및 실시하는 것으로 고려된다. 또한, 본 개시내용의 실시예들이 다른 가능한 해결책들 및/또는 종래 기술에 비해 장점들을 달성할 수 있지만, 특정 장점이 주어진 실시예에 의해 달성되는지 아닌지 여부는 본 개시내용을 제한하지 않는다. 따라서, 이하의 양상들, 특징들, 실시예들 및 장점들은 단지 예시적이고 명시적으로 청구항에 언급되는 경우를 제외하고 첨부된 청구항들의 요소들 또는 제한들로 간주되지 않는다. 마찬가지로, "본 개시내용"에 대한 참조는 본원에 개시된 본 발명의 청구 대상의 일반화로서 해석되지 않으며 명시적으로 청구항에 언급되는 경우를 제외하고 첨부된 청구항들의 요소 또는 제한인 것으로 간주되지 않아야 한다.
일부 실시예들은 이제 도면들을 참조하여 설명될 것이다. 다양한 도면에서 유사한 엘리먼트는 일관성을 위해 유사한 번호로 지칭될 것이다. 아래의 설명에서, 다수의 세부사항은 다양한 실시예 및/또는 특징의 이해를 제공하기 위해 설명된다. 그러나, 일부 실시예들이 이들 세부사항 중 많은 세부사항 없이 실시되고 설명된 실시예들로부터 다수의 변형 또는 수정이 가능하다는 것이 통상의 기술자에게 이해될 것이다. 본원에 사용된 바와 같이, "위" 및 "아래", "상향" 및 "하향", "상부" 및 "하부", "상향으로" 및 "하향으로"라는 용어들, 및 주어진 지점 또는 엘리먼트 위 또는 아래의 상대적 포지션들을 나타내는 다른 유사한 용어들은 소정의 실시예들을 더 명확하게 설명하기 위해 본 설명에서 사용된다.
본 설명의 양상들은, 디바이스들이 최적의 동작 방법으로 수행되도록 컴퓨터들과, 더 구체적으로는 컴퓨터들 또는 컴퓨터 연결 디바이스들을 제어하는 양상들에 적용된다. 설명된 양상들은, 다른 디바이스들, 이를테면 데이터 스토리지 배열체와 상호작용하는 호스트에 관한 것이다. 데이터 스토리지 배열체들은 예컨대 디스크 드라이브들, 하이브리드 디스크 드라이브, NAND 플래시 유닛들 및 다른 유사한 배열체들일 수 있다. 설명된 예시된 실시예들에서, NAND 플래시 유닛들이 설명된다.
설명된 실시예들에서, 데이터 스토리지 배열체는 인터페이스를 통해 호스트 시스템에 연결된다. 예시된 실시예들에서, 호스트 시스템은 개인용 컴퓨터 또는 서버이므로, 개인용 컴퓨터 또는 서버는 데이터 스토리지 배열체로부터 데이터를 송신 및 수신할 수 있다. 데이터 스토리지 배열체의 기능은, 데이터가 사용자 또는 호스트에 의해 필요할 때까지 데이터를 수용 및 저장하는 것이다. 데이터 스토리지 배열체는 수행된 컴퓨터 프로세스들에 의존하여 빠른 속도로 큰 데이터 버스트(burst)들을 수용해야 할 수도 있으므로 인해, 데이터 스토리지 배열체는 다양한 사용 상태들을 제공하는 어레이들로 형성된 다수의 메모리 유닛으로 구성된다. 필요한 경우, 다이들은 메모리 스토리지 기능들을 완료하기 위해 데이터를 어레이들에 기입할 수 있다.
데이터 스토리지 배열체의 소정의 섹션들은, 컴퓨터 프로세스들이 빠른 속도로 수행될 수 있도록 빠른 동작(낮은 대기시간)을 제공하는 메모리 시스템들로 구성될 수 있다. 그런 낮은 대기시간 동작은 단일 층 셀 메모리 구성들에 의해 달성될 수 있다. 대량의 데이터를 저장할 필요가 있는 경우, 다수의 층 셀 메모리 구성, 이를테면 트리플 레벨 셀 메모리 구성들이 또한 존재한다. 특정 어레이들을 갖는 NAND 데이터 스토리지 배열체는 단일 레벨 또는 다중-레벨 셀 배열체들로 구성될 수 있다. 데이터 스토리지 배열체는, 데이터 스토리지 배열체들이 호스트와 연결되고 호스트 및 데이터 스토리지 배열체의 동기화를 허용하는 인터페이스를 가질 수 있다. 인터페이스는 비-제한적인 실시예로서 NVM 익스프레스(NVMe) 호환가능 인터페이스일 수 있다. 메모리 스토리지(memory storage)는 플러그 앤드 플레이(plug and play) 능력을 허용할 구성을 가질 수 있다. NVMe 호환가능 인터페이스를 갖는 것으로 설명되었지만, 메모리 스토리지 디바이스에는 무선 기술에 의한 액세스를 허용하는 구성이 제공될 수 있다. 일 비-제한적인 실시예에서, 802.11ac 기술은 매끄러운 스트리밍을 위한 빠른 성능을 제공하는 데 사용될 수 있다. 무선 기술은, 예컨대 연결을 위해 2.5 GHz 내지 5GHz 주파수들을 사용할 수 있다. 일부 실시예들에서, 스토리지는 사용자들이 무선 연결을 위한 주파수들을 선택하게 할 수 있다.
호스트와의 인터페이싱 없이 데이터 스토리지 배열체에 직접 데이터를 입력하기 위한 부가적인 옵션들을 허용하기 위해 데이터 스토리지 배열체에 보조 연결들이 제공될 수 있다. 그런 데이터의 직접 입력은 데이터를 오프로드하거나 데이터를 복사하기 위해 통합된 보안 디지털 카드의 배치를 통해 제공될 수 있다. 다른 보조 연결들은 부가적인 입력/출력 동작들을 위해 제공될 수 있다. 그런 연결들은 USB 2.0, USB 3.0, 파이어와이어(Firewire) 또는 다른 유선 구성들일 수 있다. 기가비트 이더넷 인터페이스들 및 연결들이 또한 사용될 수 있다. 그러므로, 메모리 배열체의 스로틀링(throttling) 능력들은, NAND 배열체, 보안 디지털 카드 또는 다른 메모리 배열체에 데이터의 기입이 필요한 용량들에서 사용될 수 있다.
내부 소프트웨어는 시스템 상의 데이터의 효율적인 저장 및 판독 능력을 허용하기 위해 데이터 스토리지 배열체 상에 제공될 수 있다. 그런 내부 소프트웨어는, 데이터 스토리지 배열체가 호스트 또는 출력 디바이스에 미디어를 무선으로 스트리밍하기 위해 휴대용 미디어 서버로서 사용될 수 있도록 사용될 수 있다. 그런 출력 디바이스들은 스마트 텔레비전들, 스마트 전화들, 및 스테레오 오디오 시스템들(그러나 이에 제한되지 않음)을 포함할 수 있다. 내부 소프트웨어는 또한, 데이터의 액세스가 데이터 스토리지 배열체와 인터페이스하도록 설계된 클라우드 애플리케이션들에 의해 수행될 수 있도록 제공될 수 있다.
데이터 스토리지 배열체의 내부 소프트웨어는 데이터 스토리지 배열체의 보안을 제공하도록 구성될 수 있다. 데이터 스토리지 배열체 상에 제공된 자료를 보호하는 것은 시스템 상에 포함된 민감한 정보에 대한 인증되지 않은 액세스를 방지한다. 그런 보안은 패스워드 보호, 이를테면 Wi-Fi 패스워드 보호 형태일 수 있다. 일부 실시예들에서, 데이터 스토리지 배열체는 데이터 스토리지 배열체가 하드웨어 잠금을 생성하게 하는 소프트웨어로 구성될 수 있다. 그런 하드웨어 잠금들은 USB 연결을 통한 액세스를 방지할 수 있다.
제어기는 호스트에 의해 요구된 바와 같이 데이터 스토리지 배열체의 동작들을 제어하기 위해 제공된다. 제어기는 또한 효율적인 사용을 허용하기 위해 데이터 스토리지 배열체에 대한 유지보수 활동들을 수행하도록 구성될 수 있다. 제어기에는 제어기가 요구된 다양한 기능들을 수행하게 하도록 데이터 스토리지 배열체의 내부 소프트웨어와 인터페이스하는 코드가 제공될 수 있다. 예컨대, 제어기는 데이터 스토리지 디바이스로의 데이터의 판독 또는 기입을 허용하도록 데이터 스토리지 디바이스의 다이들과 상호작용할 수 있다.
도 1을 참조하면, 배열체(100)가 예시된다. 호스트(102)는 호스트 인터페이스(106)를 통해 스토리지 배열체(116)에 연결된다. 스토리지 배열체(116)는 예컨대 데이터를 전송 및 수신하도록 구성된 솔리드 스테이트 드라이브일 수 있다. 스토리지 배열체(116)는 최소 대기시간 특징을 위해 단일 레벨 셀 구성일 수 있는 NAND 플래시 유닛들로 구성될 수 있다. 다른 실시예들에서, NAND 플래시 유닛들은, 스토리지(116)에 대한 감소된 비용이 요구되거나 더 큰 양의 스토리지(116)가 필요한 경우 다중-레벨 셀 구성들일 수 있다.
호스트(102)로부터 스토리지(116)로 전송된 데이터는 리턴 값들(104)을 식별할 수 있는 제어기를 갖는 호스트 인터페이스(106)에 전달된다. 호스트 인터페이스(106)는 호스트(102)와의 인터페이스 다운스트림의 컴포넌트들 사이의 통신을 허용한다. 일 실시예에서, 엘리먼트들(106 내지 110)은 스토리지 제어기로서 함께 그룹화될 수 있다. 전력 관리기(108)는 또한 호스트 인터페이스(106) 및 NAND 인터페이스(110)뿐 아니라 플래시 변환 계층(FTL)(112)에 연결된다. FTL(112)은 논리 블록 어드레스들을 스토리지의 물리적 위치들로 변환하는 데 사용된다. 파일 시스템 변환은 호스트(102)에서 발생한다. 그러므로, FTL(112)은 스토리지(116)에서의 NAND의 예상된 수명주기들, 에너지 소비 및 NAND의 성능을 감안하도록 프로그래밍될 수 있다.
전력 상태 수정기(114)는 또한, 전력 관리기(108)의 동작을 통해 스토리지(116) 및/또는 다른 컴포넌트들의 전력 상태들을 수정하기 위해 존재한다. 전력 상태 수정기(114)는 식별 제어기 리턴 값들(104)에서 전력 상태 테이블들의 업데이팅을 통해 상이한 시스템들에 전달되는 전력을 수정할 수 있다. 일 비-제한적인 실시예에서, 5 개(5)의 상이한 전력 상태가 선택될 수 있다. 비록 5 개(5)의 상이한 전력 상태로서 설명되었지만, 다른 수의 전력 상태가 사용될 수 있다.
다른 비-제한적인 실시예들에서, 내구성 카운터들(118)은, 스토리지 디바이스의 소정 동작들의 다수의 사이클이 모니터링 및 카운팅되도록 제공될 수 있다. 동작들, 이를테면 다수의 판독 동작, 다수의 기입 동작은 카운팅될 수 있고 아래에서 추가로 설명된다. 정의의 목적들을 위해, 스토리지(116), 내구성 카운터들(118), NAND 인터페이스(110), 전력 관리기(108), FTL(112), 전력 상태 수정기(114), 호스트 인터페이스(106) 및 식별 제어기 리턴 값들(104)은 단일 유닛 내에 하우징될 수 있는 하나의 배열체, 또는 "디바이스"일 수 있다. 디바이스의 다른 배열체들은 설명된 더 적거나 더 많은 컴포넌트를 포함할 수 있다.
내구성 카운터들(118)은 디바이스 내구성을 관리하는 데 사용되는 장치의 일 예이다. 일 비-제한적인 실시예에서, 카운터들(118)은 NAND 스토리지(116)에 대한 프로그램/소거 주파수들을 트래킹할 수 있다. 스토리지(116)는 또한 내구성 카운터들 대신 또는 이에 더하여 통계적 방법들 또는 비트 에러율(BER) 트래킹을 사용할 수 있다. 특정 경우들에서, 디바이스(116)는 특정 블록들 또는 전체 디바이스(116)에 대한 미디어 마모를 트래킹할 수 있다. 미디어 마모가 미리-정의된 임계치를 초과할 때, 디바이스(116)는, 디바이스(116)가 유효 수명을 초과하였고 데이터 손실을 방지하기 위해 교체되어야 하는 것을 호스트(102)에게 통지할 것이다. 스토리지(116)는 또한 전력 온 시간들 및 호스트 기입 데이터를 트래킹할 수 있고, 소정 수의 사용 연도들 및/또는 소정 양의 호스트 기입 데이터를 견디도록 정격화된다. 동작 시간/동작 연도의 수가 제조자 제한을 초과하는 경우들에서, 사용자 또는 시스템 관리기에게 경고가 생성될 수 있다.
설명된 양상들은 또한 동적으로 업데이트되는 전력 상태 테이블을 제공한다. 종래의 애플리케이션들에서, 전력 상태 테이블은 일반적으로 정적 엔트리들의 세트로서 처리된다. 그러나, 전력 상태 테이블이 동적으로 업데이트될 때 중요한 장점들이 존재한다. 소정의 상황들에서, 호스트(102)가 통상적으로 디바이스 초기화 동안만 전력 상태 테이블을 참고하고 다음 리셋까지 새로운 상태들을 주목하지 않더라도, 디바이스는 언제든지 광고된 전력 상태들을 변경할 수 있다. 디바이스는 어느 전력 상태를 사용할지에 대한 호스트 판정들을 조작하기 위해 파라미터들을 변경할 수 있다.
위에 나열된 바와 같이, 5 개(5)의 전력 상태가 비-제한적인 실시예로서 사용될 수 있다. 도 2를 참조하여, 상이한 전력 상태(200)는 상이한 호스트 개시 방식들, 호스트 지시 디바이스 개시 방식들, 디바이스 개시 또는 PCIe 링크 전력 상태들에 따라 사용될 수 있다. 호스트 개시 방법에 대한 비-제한적인 실시예에서, 5 개의 상이한 전력 상태(PS0, PS1, PS2, PS3 및 PS4)가 예시된다. 전력 상태들(PS3 및 PS4)(204)은 비-동작 고속 복구(PS3) 및 비-동작 저속 복구(PS4)에 관련된다. 전력 상태(PS2)는 헤비(heavy) 스로틀링에 관련되고, PS1은 라이트(lite) 스로틀링에 관련되고 PS0는 전체 성능에 관련된다. 설명된 전력 상태들의 최저 전력 정격은 PS4이다. 예시된 실시예에서, 전력은 전체 성능(PS0 내지 PS4) 값(비-동작 저속 복구) 또는 PS3(비-동작 고속 복구)로부터 감소될 수 있다. 전력 스테이지 변화들은 또한 증가 및 감소 전력 상태들 둘 모두에서 PS0(전체 성능) 내지 PS1(라이트 스로틀링) 사이에서 발생할 수 있다. 전력은 또한 PS1(라이트 스로틀링)과 PS2(헤비 스로틀링) 전력 상태들 사이에서 증가 또는 감소될 수 있다.
여전히 도 2를 참조하여, 호스트 지시 및 디바이스 개시 방식들(좌측에서 2 번째)에 대해, 호스트(102)는 열 기반 전력 관리(206)에 기반하여 동작을 지시하는 제어기를 가질 수 있다. 열 기반 전력 관리를 돕기 위해, 열전대들 또는 다른 온도 센서들은 실제 온도 측정을 위해 디바이스 전반에 걸쳐 전략적으로 위치될 수 있거나, 데이터 테이블은 동작들에 기반하여 예상된 열 값들을 위해 사용될 수 있다. 팩터(factor)들, 이를테면 주위 온도, 습도, 동작 길이는 또한 이들 값들 내에서 감안될 수 있다. 호스트 지시 및 디바이스 개시 방식들에 대한 저전력 상태들에 대해, 자율 전력 상태 전환들(autonomous power state transitions)(APST)(208)은 제어를 위해 사용될 수 있다.
일 예시적인 실시예에서, 호스트 드라이버는 최대 진입/종료 대기시간 임계치를 가질 수 있고, 그 임계치 초과에서 특정 전력 상태가 선택되지 않을 것이다. 따라서, 디바이스는, 빈번한 전력 상태 전환들이 디바이스 마모를 가속화하는 경우 이런 임계치를 증가시킬 수 있고, 따라서 부가적인 전력 소비 비용으로 디바이스 수명을 연장시킨다. 다른 비-제한적인 실시예에서, 디바이스는 특정 전력 상태에 대해 광고되는 목표 전력 소비를 변경할 수 있고, 따라서 허용된 전력 예산을 상승시키고 그 상태에서 부가적인 제어 기입들을 수행할 필요를 감소시킨다. 다른 실시예들에서, 드라이버들은 필요에 따라 호스트 지시 또는 디바이스 개시 전력 상태 전환 방법들을 활용할 수 있다. 하나의 전력 상태는, 호스트 지시 전력 관리 동작의 경우, 진입 및 종료 대기시간에 기반하여 선택될 수 있다. 전환 이전 유휴 시간은 호스트(102)에 의해 결정되고 디바이스-측 대기시간들을 고려하지 않는다.
디바이스 개시 전력 관리 동작들에서, 2 개의 전력 상태가 선택될 수 있다. 전환 이전 유휴 시간은 디바이스-광고 종료 대기시간들에 기반하여 특정될 수 있다.
다른 예시적인 실시예에서, 디바이스는, 소정의 임계치에 도달한 이후 호스트(102)로부터 전력 상태를 완전히 숨길 수 있다. 호스트(102)로부터 디바이스의 전력 상태를 숨김으로써, 디바이스는 최적 전력 소비를 희생하여 디바이스의 유효 수명을 연장시킬 수 있다. 이해될 바와 같이, 디바이스는, 디바이스가 진입하도록 프로그래밍된 임의의 전력 상태를 숨길 수 있다.
식별 제어기 리턴 값들(104)은 통상적으로 요구에 따라 호스트(102)에 리턴되는 정적 테이블로서 관리된다. 식별 제어기 리턴 값들(104)에 대한 이런 테이블은 비-휘발성 스토리지(116)에 저장된 값들(통상적으로 디바이스 펌웨어에 의해 관리되는 내부 관리 파일 시스템의 일부로서)로부터 도출될 수 있다. 설명된 양상들에서, 전력 상태 수정기(114)는 이들 값들(104), 구체적으로 전력 상태 테이블을 변경할 수 있다. 이어서, 어느 전력 상태에 진입할지에 대해 테이블에 대해 참조가 이루어질 때, 동적으로 수정된 테이블은 디바이스로 하여금 디바이스에 대한 최상의 이용가능한 전력 상태에 진입하게 한다.
상이한 실시예들에서, 디바이스가 정격보다 더 빠르게 마모되는 지점을 나타내는 다른 임계치가 부가될 수 있다. 새롭게 부가된 임계치에 도달하였을 때, 전력 상태 테이블을 수정하는 형태로 보정 동작이 취해질 수 있다. 예컨대, 디바이스가 정격 시간 또는 호스트 기입 볼륨의 40% 미만에서 자신의 유효 수명의 50%를 초과하는 경우, 전력 상태 테이블은 수정될 수 있다.
도 3을 참조하여, 스토리지 디바이스에 대한 유지보수 사이클을 검토하는 방법(300)에 대한 흐름도가 예시된다. 검토를 위해 고려되는 스토리지 디바이스는 예컨대 호스트 인터페이스(106), 식별 제어기 리턴 값들(104), 전력 상태 수정기(114), 플래시 변환 수정기(114), 전력 관리기(108), NAND 인터페이스, 스토리지(116), 내구성 카운터들(118) 및 설명된 컴포넌트들에 대한 연관된 제어기들의 조합일 수 있다. 302에서, 유지보수 사이클은 디바이스에 의해 진입될 수 있다. 디바이스 내구성 데이터는, 내구성 카운터들(118)로부터의 실제 값들이 획득되는 304에서 획득될 수 있다. 306에서, 304에서 획득된 값들은 디바이스의 컴포넌트들에 대한 정격 값들과 비교된다. 정격 값들은 스토리지(116)에 저장되고 306에서 사용하기 위해 복구될 수 있다. 308에서, 디바이스가 마모 정격 기준들을 초과하는지를 결정하기 위해 질의가 수행된다. 디바이스가 마모 정격 기준들을 초과하지 않으면, 유지보수는 312에서 계속될 수 있다. 디바이스가 308의 마모 정격 기준들을 초과하면, 전력 상태는 310에서 제거 또는 수정되어 미래 반복들에서 마모 정격이 초과되지 않는 것을 보장할 수 있다. 이미 언급된 바와 같이, 임의의 전력 상태는 마모 기준들에 따라 제거될 수 있다.
일 실시예에서, 최저 전력 상태는, 이런 전력 상태에 진입할 때 디바이스가 모든 상태 데이터를 기입하고 개방 블록들을 폐쇄하도록 요구받기 때문에 기입 증폭을 증가시킬 가능성을 갖는다. 디바이스가 너무 빠르게 마모되어, 호스트(102)가 예상된 것보다 더 빠르게 이런 전력 상태로의 진입을 트리거하는 것을 나타낼 때, 디바이스는 광고된 전력 상태들의 리스트로부터 최저 전력 상태를 제거함으로써 보정 동작을 취할 수 있다. 식별 제어기 리턴 값들(104)의 테이블은, 최저 전력 상태가 제거되도록 동적으로 수정될 수 있다. 다른 개시된 실시예들에서, 임계값이 초과되었다는 경고가 사용자에게 제공될 수 있다. 경고는, 예컨대 스토리지 디바이스가 다수의 기입 사이클을 초과하였고 스토리지 디바이스를 변경하는 것을 권장하는 사용자에 대한 시각적 경고일 수 있다.
다른 개시된 실시예에서, 디바이스는 정격 전력을 증가시킴으로써 전력 상태를 수정하고, 따라서 디바이스에 의한 변경된 동작을 허용할 수 있다. 예컨대, 상태 정보를 저장하기 위한 DDR 메모리를 갖는 디바이스들은 ~15mW를 소비하지만 DDR은 자체-리프레시(refresh) 모드에 있고 대부분의 디바이스의 나머지는 전원이 꺼진다. 그런 디바이스는 약 10mW의 전력을 절약하기 위해 DDR을 턴 오프할 수 있지만, 이는 NAND에 상태 정보를 기입하는 것을 요구한다. 미디어 마모 임계치에 도달하면, 디바이스는 전력 상태 테이블을 업데이트하여 목표 전력이 15mW인 것을 광고하고 DDR 동작을 떠나, 기입 오버헤드를 감소시킬 수 있다.
설명된 양상의 다른 실시예에서, 디바이스는 호스트 전력 정책에 영향을 주기 위해 진입 및/또는 종료 대기시간들을 변경할 수 있다. 대기시간들을 연장함으로써, 특정 전력 상태로의 전환 이전에 요구된 유휴 시간 양에 이들 값들을 입력으로서 사용하는 호스트(102)는 전력 상태로의 진입을 지연하거나 이를 완전히 무시할 수 있다.
다른 실시예에서, 디바이스가 전력 상태를 변경할 때, 호스트(102)는, 이들 값들이 식별 제어기 데이터 구조에 기록되기 때문에 전력 상태의 변화를 즉각 인식하지 못하는 데, 이는 디바이스 초기화 이후 참조되지 않는다. 값들을 리프레시하기 위해, 디바이스는 고장 상태 또는 타임아웃을 트리거하여, 호스트(102)가 디바이스를 리셋하고 새로운 값들을 다시-판독하게 할 수 있다.
하나의 비-제한적 실시예에서, 데이터를 저장하기 위한 디바이스가 개시되고, 디바이스는, 데이터를 저장 및 검색하도록 구성된 스토리지 배열체, 스토리지 배열체의 동작들을 모니터링하고 동작들을 임계치와 비교하도록 구성된 적어도 하나의 내구성 카운터, 데이터를 호스트로부터 그리고 호스트로 전송하고 수신하도록 구성된 호스트 인터페이스, 플래시 변환 계층, 식별 제어기, 스토리지 배열체에 데이터를 전송 및 수신하도록 구성된 스토리지 인터페이스, 식별 제어기에 연결된 전력 상태 수정기 구성 및 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 식별 제어기 및 스토리지 인터페이스에 전력을 공급하도록 구성된 전력 관리기를 포함하고, 식별 제어기는 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 스토리지 인터페이스에 대한 전력 상태들의 테이블을 갖도록 구성되고 전력 상태 수정기는 전력 상태들의 테이블을 동적으로 업데이트하도록 구성되고, 전력 관리기는 전력 상태들의 테이블을 판독하고 테이블에 따라 전력을 스토리지 배열체, 호스트 인터페이스, 플래시 변환 계층, 식별 제어기 및 스토리지 인터페이스에 전달하도록 구성된다.
다른 비-제한적인 실시예에서, 스토리지 배열체에 대한 인터페이스가 NAND 인터페이스인 디바이스가 구성될 수 있다.
다른 비-제한적인 실시예에서, 디바이스는 스토리지 배열체의 적어도 하나의 동작을 모니터링하고 동작들을 임계치에 비교하도록 구성된 적어도 하나의 내구성 카운터를 더 포함할 수 있다.
다른 비-제한적인 실시예에서, 적어도 하나의 동작이 기입 동작인 디바이스가 구성될 수 있다.
다른 비-제한적인 실시예에서, 적어도 하나의 동작이 판독 동작인 디바이스가 구성될 수 있다.
다른 비-제한적인 실시예에서, 디바이스는 스토리지 배열체, 전력 관리기, 플래시 변환 계층, 스토리지 인터페이스 및 호스트 인터페이스 중 적어도 하나의 온도를 측정하는 적어도 하나의 온도 센서를 더 포함할 수 있다.
다른 비-제한적인 실시예에서, 호스트 인터페이스가 PCI 익스프레스, USB, 파이어와이어 및 블루투스 인터페이스 중 하나인 디바이스가 구성될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스에 대한 동작 방법이 개시되고, 동작 방법은: 스토리지 디바이스와 함께 유지보수 사이클에 진입하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 정격 값과 비교하는 단계; 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터가 정격 값을 초과하는 때를 결정하는 단계 및 스토리지 디바이스의 최저 전력 상태를 수정하는 단계를 포함한다.
다른 비-제한적인 실시예에서, 방법은, 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터가 정격 값을 초과하지 않을 때 스토리지 디바이스에 대한 유지보수 사이클을 계속하는 단계를 더 포함할 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 적어도 하나의 파라미터가 기입 사이클인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 적어도 하나의 파라미터가 판독 사이클인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 적어도 하나의 파라미터가 온도 제한인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스로부터 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하는 단계가 이루어지는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스가 솔리드 스테이트 드라이브인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 방법은, 정격 값이 초과되었다는 경고를 사용자에게 제공하는 단계를 더 포함할 수 있다.
다른 비-제한적인 실시예에서, 경고가 시각적 경고인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 최저 전력 상태가 자체-유휴 전력 관리 방식에 기반하는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 최저 전력 상태가 비-휘발성 메모리 전력 관리 방식에 기반하는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 최저 전력 상태가 자율 전력 상태 전환들에 기반하는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 비-휘발성 메모리 전력 관리 방식이 호스트 개시 방식인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 자율 전력 상태 전환이 호스트 지시 디바이스 개시 방식인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 자체-유휴 전력 관리 방식이 디바이스 개시 방식인 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 스토리지 디바이스의 최저 전력 상태가 활성 상태 전력 관리에 기반하는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 최저 전력 상태가 PCIe 링크 전력 상태에 의해 정의되는 방법이 수행될 수 있다.
다른 비-제한적인 실시예에서, 배열체가 개시되고, 배열체는 스토리지 디바이스와 함께 유지보수 사이클에 진입하기 위한 수단, 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하기 위한 수단, 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 정격 값과 비교하기 위한 수단, 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터가 정격 값을 초과하는 때를 결정하기 위한 수단 및 스토리지 디바이스의 최저 전력 상태를 수정하기 위한 수단을 포함한다.
다른 예들 제한적인 실시예에서, 배열체는, 정격 값이 초과되었다는 경고를 사용자에게 제공하기 위한 수단을 더 포함할 수 있다.
실시예들이 본원에 설명되었지만, 본 개시내용의 이익을 통상의 기술자들은, 본 출원의 본 발명의 범위에서 벗어나지 않는 다른 실시예들이 예상된다는 것을 인식할 것이다. 따라서, 본 청구항들 또는 임의의 후속하는 관련된 청구항들의 범위는 본원에 설명된 실시예들의 설명에 의해 과도하게 제한되지 않아야 한다.
Claims (23)
- 데이터를 저장하기 위한 디바이스로서,
데이터를 저장 및 검색하도록 구성된 스토리지 배열체(storage arrangement);
상기 스토리지 배열체의 동작들을 모니터링하고 동작들을 임계치와 비교하도록 구성된 적어도 하나의 내구성 카운터;- 상기 동작들은 다수의 기입 동작들, 다수의 판독 동작들, 프로그램 주파수, 소거 주파수, 비트 에러율, 미디어의 마모 레벨 및 다수의 전력 온 시간들(power on hours)로 구성되는 그룹으로부터 선택됨-
데이터를 호스트로부터 그리고 호스트로 전송하고 수신하도록 구성된 호스트 인터페이스;
상기 호스트 인터페이스에 결합된 식별 제어기; - 상기 식별 제어기는 상기 스토리지 배열체, 상기 호스트 인터페이스, 플래시 변환 계층, 스토리지 인터페이스 및 전력 상태 수정기에 대한 전력 상태들의 테이블을 저장하도록 구성되고, 상기 전력 상태 수정기는 상기 식별 제어기에 연결됨 -
플래시 변환 계층;
데이터를 상기 스토리지 배열체로 전송하고 수신하도록 구성된 스토리지 인터페이스; 및
상기 스토리지 배열체, 상기 호스트 인터페이스, 상기 플래시 변환 계층, 상기 식별 제어기 및 상기 스토리지 인터페이스에 전력을 공급하도록 구성된 전력 관리기
를 포함하고,
상기 전력 상태 수정기는 적어도 하나의 내구성 카운터에 기초하여 상기 전력 상태들의 테이블을 동적으로 업데이트하도록 구성되고,
상기 전력 관리기는 전력 상태들의 상기 업데이트된 테이블을 판독하고 상기 디바이스의 유효 수명을 연장하도록 전력 상태의 상기 업데이트된 테이블에 따라 전력을 상기 스토리지 배열체, 상기 호스트 인터페이스, 상기 플래시 변환 계층, 상기 식별 제어기 및 상기 스토리지 인터페이스에 전달하도록 구성되는 디바이스. - 제1항에 있어서, 상기 스토리지 배열체에 대한 인터페이스는 NAND 인터페이스인 디바이스.
- 제1항에 있어서, 상기 동작들은 다수의 기입 동작들 및 다수의 판독 동작들인 디바이스.
- 제1항에 있어서, 상기 동작들은 프로그램 주파수 및 소거 주파수인 디바이스.
- 제1항에 있어서,
상기 스토리지 배열체, 상기 전력 관리기, 상기 플래시 변환 계층, 상기 스토리지 인터페이스 및 상기 호스트 인터페이스 중 적어도 하나의 온도를 측정하는 적어도 하나의 온도 센서를 더 포함하는 디바이스. - 제1항에 있어서, 상기 호스트 인터페이스는 PCI 익스프레스(Express), USB, 파이어와이어(Firewire) 및 블루투스 인터페이스 중 하나인 디바이스.
- 스토리지 디바이스에 대한 동작 방법으로서, 상기 방법은 배열체에 의해 수행되고, 상기 방법은,
상기 스토리지 디바이스와 함께 유지보수 사이클에 진입하는 단계;- 상기 스토리지 디바이스는 복수의 전력 상태를 갖고, 상기 스토리지 디바이스는 호스트 인터페이스에 결합된 식별 제어기를 포함하고, 상기 식별 제어기는 상기 스토리지 디바이스, 상기 호스트 인터페이스, 플래시 변환 계층, 스토리지 인터페이스 및 전력 상태 수정기에 대한 전력 상태들의 테이블을 저장하도록 구성되고, 상기 전력 상태 수정기는 상기 식별 제어기에 연결됨 -
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하는 단계; - 상기 내구성 데이터는 상기 스토리지 디바이스의 동작들을 모니터링하도록 구성된 적어도 하나의 내구성 카운터로부터 수신되고, 상기 적어도 하나의 파라미터는 다수의 기입 동작들, 다수의 판독 동작들, 프로그램 주파수, 소거 주파수, 비트 에러율, 미디어의 마모 레벨 및 다수의 전력 온 시간들(power on hours)로 구성되는 그룹으로부터 선택됨-
상기 전력 상태 수정기를 이용하여 적어도 하나의 내구성 카운터에 기초하여 상기 전력 상태들의 테이블을 동적으로 업데이트하는 단계;
상기 전력 상태 수정기를 이용하여 전력 상태들의 상기 업데이트된 테이블을 판독하는 단계;
상기 디바이스의 유효 수명을 연장하도록 전력 상태의 상기 업데이트된 테이블에 따라 전력을 상기 스토리지 디바이스, 상기 호스트 인터페이스, 상기 플래시 변환 계층, 상기 식별 제어기 및 상기 스토리지 인터페이스에 전달하는 단계;
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터를 정격 값과 비교하는 단계;
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터가 상기 정격 값을 초과하는 때를 결정하는 단계; 및
상기 스토리지 디바이스가 최저 전력 상태에서 동작하는 것을 방지하고 상기 디바이스의 상기 유효 수명을 연장하도록 상기 결정에 기초하여, 상기 스토리지 디바이스의 최저 전력 상태를 제거하는 단계
를 포함하는 방법. - 제7항에 있어서,
상기 비교하는 단계 이후, 상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터가 상기 정격 값을 초과하지 않을 때 상기 스토리지 디바이스에 대한 유지보수 사이클을 계속하는 단계를 더 포함하는 방법. - 제7항에 있어서, 상기 스토리지 디바이스의 적어도 하나의 파라미터는 다수의 기입 동작들인 방법.
- 제7항에 있어서, 상기 스토리지 디바이스의 적어도 하나의 파라미터는 다수의 판독 동작들인 방법.
- 제7항에 있어서, 상기 적어도 하나의 파라미터는 온도 제한인 방법.
- 제7항에 있어서, 상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터는 상기 스토리지 디바이스로부터 검색되는, 방법.
- 제7항에 있어서, 상기 스토리지 디바이스는 솔리드 스테이트 드라이브인 방법.
- 제7항에 있어서,
상기 결정하는 단계 이후, 상기 정격 값이 초과되었다는 경고를 사용자에게 제공하는 단계를 더 포함하는 방법. - 제14항에 있어서, 상기 경고는 시각적 경고인 방법.
- 제7항에 있어서, 상기 스토리지 디바이스의 최저 전력 상태는 자체-유휴(self-idle) 전력 관리 방식에 기반하는 방법.
- 제7항에 있어서, 상기 스토리지 디바이스의 최저 전력 상태는 비-휘발성 메모리 전력 관리 방식에 기반하는 방법.
- 제17항에 있어서, 상기 비-휘발성 메모리 전력 관리 방식은 호스트 개시 방식인 방법.
- 제7항에 있어서, 상기 스토리지 디바이스의 최저 전력 상태는 자율 전력 상태 전환들에 기반하는 방법.
- 제19항에 있어서, 상기 자율 전력 상태 전환은 호스트 지시 디바이스 개시 방식(host directed device initiated scheme)인 방법.
- 배열체로서,
스토리지 디바이스와 함께 유지보수 사이클에 진입하기 위한 수단; - 상기 스토리지 디바이스는 복수의 전력 상태를 갖고, 상기 스토리지 디바이스는 호스트 인터페이스에 결합된 식별 제어기를 포함하고, 상기 식별 제어기는 상기 스토리지 디바이스, 상기 호스트 인터페이스, 플래시 변환 계층, 스토리지 인터페이스 및 전력 상태 수정기에 대한 전력 상태들의 테이블을 저장하도록 구성되고, 상기 전력 상태 수정기는 상기 식별 제어기에 연결됨 -
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 내구성 데이터를 검색하기 위한 수단;- 상기 내구성 데이터는 상기 스토리지 디바이스의 동작들을 모니터링하도록 구성된 적어도 하나의 내구성 카운터로부터 수신되고, 상기 적어도 하나의 파라미터는 다수의 기입 동작들, 다수의 판독 동작들, 프로그램 주파수, 소거 주파수, 비트 에러율, 미디어의 마모 레벨 및 다수의 전력 온 시간들(power on hours)로 구성되는 그룹으로부터 선택됨-
적어도 하나의 내구성 카운터에 기초하여 상기 전력 상태들의 테이블을 동적으로 업데이트하기 위한 수단;
전력 상태들의 상기 업데이트된 테이블을 판독하기 위한 수단;
상기 디바이스의 유효 수명을 연장하도록 전력 상태의 상기 업데이트된 테이블에 따라 전력을 상기 스토리지 디바이스, 상기 호스트 인터페이스, 상기 플래시 변환 계층, 상기 식별 제어기 및 상기 스토리지 인터페이스에 전달하기 위한 수단;
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터를 정격 값과 비교하기 위한 수단;
상기 스토리지 디바이스의 적어도 하나의 파라미터에 대한 상기 내구성 데이터가 상기 정격 값을 초과하는 때를 결정하기 위한 수단; 및
상기 스토리지 디바이스가 최저 전력 상태에서 동작하는 것을 방지하고 상기 디바이스의 상기 유효 수명을 연장하도록 상기 결정에 기초하여, 상기 스토리지 디바이스의 최저 전력 상태를 제거하기 위한 수단
을 포함하는 배열체. - 제21항에 있어서,
상기 정격 값이 초과되었다는 경고를 사용자에게 제공하기 위한 수단을 더 포함하는 배열체. - 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/878,735 | 2018-01-24 | ||
US15/878,735 US10564868B2 (en) | 2018-01-24 | 2018-01-24 | Method and apparatus for selecting power states in storage devices |
PCT/US2018/060752 WO2019147324A1 (en) | 2018-01-24 | 2018-11-13 | Method and apparatus for selecting power states in storage devices |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200038322A KR20200038322A (ko) | 2020-04-10 |
KR102136969B1 true KR102136969B1 (ko) | 2020-07-22 |
Family
ID=67298631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207009487A KR102136969B1 (ko) | 2018-01-24 | 2018-11-13 | 스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10564868B2 (ko) |
KR (1) | KR102136969B1 (ko) |
CN (1) | CN111164567B (ko) |
DE (1) | DE112018004316T5 (ko) |
WO (1) | WO2019147324A1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11709539B2 (en) | 2018-01-24 | 2023-07-25 | Western Digital Technologies, Inc. | Low power state staging |
JP2020046840A (ja) * | 2018-09-18 | 2020-03-26 | キヤノン株式会社 | 画像処理装置、情報処理方法及びプログラム |
KR20200069905A (ko) | 2018-12-07 | 2020-06-17 | 삼성전자주식회사 | 스토리지 시스템 및 스토리지 시스템의 동작 방법 |
US11625084B2 (en) * | 2019-08-15 | 2023-04-11 | Intel Corporation | Method of optimizing device power and efficiency based on host-controlled hints prior to low-power entry for blocks and components on a PCI express device |
TWI710889B (zh) * | 2019-09-12 | 2020-11-21 | 宏碁股份有限公司 | 電腦系統及其電源管理方法 |
US20210397363A1 (en) * | 2020-06-17 | 2021-12-23 | Micron Technology, Inc. | Operational monitoring for memory devices |
US11829612B2 (en) * | 2020-08-20 | 2023-11-28 | Micron Technology, Inc. | Security techniques for low power mode of memory device |
US12086428B2 (en) * | 2021-11-15 | 2024-09-10 | Samsung Electronics Co., Ltd. | Memory controller adjusting power, memory system including same, and operating method for memory system |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101077123B1 (ko) | 2002-11-13 | 2011-10-26 | 쌘디스크 코포레이션 | 메모리 제어기를 포함하는 각종 상이한 표준 카드에사용되는 유니버설 비휘발성 메모리 카드 |
KR101577512B1 (ko) | 2011-02-02 | 2015-12-14 | 마이크론 테크놀로지, 인크 | 메모리 시스템 내 적어도 반 자율적인 모듈 및 방법 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291295B2 (en) | 2005-09-26 | 2012-10-16 | Sandisk Il Ltd. | NAND flash memory controller exporting a NAND interface |
US20100146187A1 (en) * | 2008-12-05 | 2010-06-10 | Grimsrud Knut S | Endurance management technique |
US8966176B2 (en) | 2010-05-27 | 2015-02-24 | Sandisk Il Ltd. | Memory management storage to a host device |
US8826051B2 (en) | 2010-07-26 | 2014-09-02 | Apple Inc. | Dynamic allocation of power budget to a system having non-volatile memory and a processor |
KR101739556B1 (ko) | 2010-11-15 | 2017-05-24 | 삼성전자주식회사 | 데이터 저장 장치, 사용자 장치 및 그것의 주소 맵핑 방법 |
CN104011800B (zh) * | 2011-12-28 | 2017-03-08 | 英特尔公司 | 用于非易失性存储器阵列的存储器单元的循环耐久性延展 |
JP5958445B2 (ja) * | 2013-10-23 | 2016-08-02 | 株式会社デンソー | 車載ネットワークシステム、管理装置 |
US9690510B2 (en) | 2014-04-23 | 2017-06-27 | Taiwan Semiconductor Manufacturing Co., Ltd. | Two-stage read/write 3D architecture for memory devices |
US9575677B2 (en) | 2014-04-29 | 2017-02-21 | Sandisk Technologies Llc | Storage system power management using controlled execution of pending memory commands |
US9916876B2 (en) * | 2014-07-21 | 2018-03-13 | Intel Corporation | Ultra low power architecture to support always on path to memory |
US9459886B2 (en) * | 2014-08-06 | 2016-10-04 | Texas Instruments Incorporated | Autonomous sleep mode |
US10088880B2 (en) * | 2015-08-27 | 2018-10-02 | Intel Corporation | Thermal monitoring of memory resources |
-
2018
- 2018-01-24 US US15/878,735 patent/US10564868B2/en active Active
- 2018-11-13 WO PCT/US2018/060752 patent/WO2019147324A1/en active Application Filing
- 2018-11-13 CN CN201880064424.0A patent/CN111164567B/zh active Active
- 2018-11-13 DE DE112018004316.9T patent/DE112018004316T5/de active Pending
- 2018-11-13 KR KR1020207009487A patent/KR102136969B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101077123B1 (ko) | 2002-11-13 | 2011-10-26 | 쌘디스크 코포레이션 | 메모리 제어기를 포함하는 각종 상이한 표준 카드에사용되는 유니버설 비휘발성 메모리 카드 |
KR101577512B1 (ko) | 2011-02-02 | 2015-12-14 | 마이크론 테크놀로지, 인크 | 메모리 시스템 내 적어도 반 자율적인 모듈 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US10564868B2 (en) | 2020-02-18 |
KR20200038322A (ko) | 2020-04-10 |
US20190227725A1 (en) | 2019-07-25 |
CN111164567B (zh) | 2023-11-28 |
DE112018004316T5 (de) | 2020-05-14 |
WO2019147324A1 (en) | 2019-08-01 |
CN111164567A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102136969B1 (ko) | 스토리지 디바이스들의 전력 상태들을 선택하기 위한 방법 및 장치 | |
US8151020B2 (en) | Storage subsystem with configurable buffer | |
US11709539B2 (en) | Low power state staging | |
KR102546255B1 (ko) | 호스트의 지시 없이 능동적으로 유지보수 동작을 개시하는 스토리지 장치 및 그것을 포함하는 전자 시스템 | |
US8478928B2 (en) | Data storage device and information processing system incorporating data storage device | |
US8554983B2 (en) | Devices and methods for operating a solid state drive | |
US8037233B2 (en) | System, controller, and method for data storage | |
KR101287817B1 (ko) | 메모리 카드의 폐기 회복과 크기 조절 | |
US20160041760A1 (en) | Multi-Level Cell Flash Memory Control Mechanisms | |
KR102351660B1 (ko) | 전력 관리 메커니즘을 갖는 솔리드 스테이트 메모리 시스템 및 그것의 동작 방법 | |
US9348520B2 (en) | Lifetime extension of non-volatile semiconductor memory for data storage device | |
WO2016069194A1 (en) | Method and system for throttling bandwidth based on temperature | |
TWI454916B (zh) | 儲存單元管理方法、記憶體控制器與記憶體儲存裝置 | |
CN105103140A (zh) | 存储系统中的数据硬化 | |
CN101419842A (zh) | 硬盘的损耗均衡方法、装置及系统 | |
US20130246686A1 (en) | Storage system comprising nonvolatile semiconductor storage device, and storage control method | |
US20150234448A1 (en) | Information processing system and storage device | |
JP5594647B2 (ja) | ストレージ装置及びその制御方法 | |
US11513890B1 (en) | Adaptive read scrub | |
US11847032B2 (en) | Solid state drive, electronic device including solid state drive, and method of managing solid state drive | |
WO2018193608A1 (ja) | ストレージシステム、ストレージ装置の制御方法およびストレージ制御装置 | |
US11604592B2 (en) | Data management for efficient low power mode handling in a storage device | |
US11733910B2 (en) | Memory sub-system data loss prediction | |
US11868224B2 (en) | Memory sub-system data retention via refresh | |
US11941270B2 (en) | Data storage device with die-based enhanced thermal management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |