KR20170073266A - 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 - Google Patents
시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 Download PDFInfo
- Publication number
- KR20170073266A KR20170073266A KR1020150181966A KR20150181966A KR20170073266A KR 20170073266 A KR20170073266 A KR 20170073266A KR 1020150181966 A KR1020150181966 A KR 1020150181966A KR 20150181966 A KR20150181966 A KR 20150181966A KR 20170073266 A KR20170073266 A KR 20170073266A
- Authority
- KR
- South Korea
- Prior art keywords
- storage device
- host
- phy
- acknowledgment
- state
- 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/061—Improving I/O performance
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
본 발명은 시리얼 인터페이스를 이용하여 호스트와 통신하는 저장 장치에서 전력 소모를 줄이기 위한 저장 장치의 작동 방법에 관한 것으로, 상기 호스트의 M-PHY 송신 모듈로부터 전송된 필러들의 개수를 카운트하고 카운트 값을 생성하는 단계와, 상기 카운트 값과 기준 값을 비교하는 단계와, 상기 비교 결과에 따라 상기 저장 장치의 M-PHY 위상 고정 루프(phase locked loop(PLL)) 회로의 파워를 오프시키는 단계를 포함할 수 있다.
Description
본 발명의 개념에 따른 실시 예는 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법에 관한 것으로, 특히 MIPI(mobile industy processor interface) 표준에 규정된 MIPI M-PHY® 물리 계층과 MIPI UniProSM 링크 계층을 통해 호스트와 통신하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법에 관한 것이다.
MIPI는 모바일 프로세서와 주변 기기들 사이의 하드웨어, 소프트웨어 인터페이스를 위한 표준이다.
MIPI M-PHY®는 데이터 전송 속도에 따라 고속 모드(HS_Mode)와 저속 모드(LS_Mode)를 지원한다. 특히, 고속 모드는 성능면에서 장점이 있으나, 파워 소비가 크다는 단점을 갖는다. 즉, 고속 모드는 실제 데이터를 전송하는 액티브(Active) 상태와 실제 데이터가 아닌 더미 패턴(예컨대, 필러(Filler))를 전송하는 아이들(idle) 상태에서 동일한 파워를 소비한다.
본 발명이 이루고자 하는 기술적 과제는 MIPI M-PHY® 물리 계층과 MIPI UniProSM 링크 계층을 통해 호스트와 통신하는 저장 장치에서 전력 소모를 줄이기 위한 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법을 제공하는 것이다.
본 발명의 실시 예들에 따른 시리얼 인터페이스를 이용하여 호스트와 통신하는 저장 장치의 작동 방법은, 상기 호스트의 PHY 송신 모듈로부터 전송된 더미 패턴들의 개수를 카운트하고 카운트 값을 생성하는 단계와, 상기 카운트 값과 기준 값을 비교하는 단계와, 상기 비교 결과에 따라 상기 저장 장치의 PHY 위상 고정 루프(phase locked loop(PLL)) 회로의 파워를 오프시키는 단계를 포함할 수 있다.
상기 저장 장치의 작동 방법은, 비교결과에 따라 추가적인 더미 패턴들의 전송 중지를 요청하는 딥 스톨 요청을 상기 호스트로 전송하는 단계를 더 포함할 수 있다.
상기 딥 스톨 요청은 UniProSM 버전 1.6 스펙에서 정의되는 MK2 신호를 복수의 횟수로 연속하여 전송할 수 있다.
상기 저장 장치의 작동 방법은 상기 딥 스톨 요청에 대해 상기 호스트로부터 전송된 확인 응답을 수신하는 단계와, 상기 확인 응답에 응답하여, 상기 저장 장치의 PHY 수신 모듈의 파워를 오프시키는 단계를 더 포함할 수 있다.
상기 확인 응답은 UniProSM 버전 1.6 스펙에서 정의되는 MK2 신호가 복수의 횟수로 연속하여 수신될 수 있다.
본 발명의 실시 예들에 따른 시리얼 인터페이스를 통해 서로 통신하는 호스트와 저장 장치를 포함하는 데이터 처리 시스템의 작동 방법은, 상기 호스트가 상기 저장 장치로 더미 패턴들을 전송하는 단계와, 상기 저장 장치가 상기 더미 패턴들의 개수를 카운트하고 카운트 값을 생성하는 단계와, 상기 저장 장치가 상기 카운트 값과 기준 값을 비교하는 단계와, 상기 저장 장치가 상기 비교 결과에 따라 상기 저장 장치의 PHY 위상 고정 루프 회로의 파워를 오프시키는 단계를 포함할 수 있다.
상기 데이터 처리 시스템의 작동 방법은 상기 호스트가 상기 딥 스톨 요청에 응답하여 상기 호스트의 PHY 위상 고정 루프 회로의 파워를 오프시키는 단계를 더 포함할 수 있다.
상기 데이터 처리 시스템의 작동 방법은 상기 호스트가 상기 딥 스톨 요청에 응답하여 확인 응답을 상기 저장 장치로 전송하는 단계와 상기 저장 장치가 상기 확인 응답에 응답하여 상기 저장 장치의 PHY 수신 모듈의 파워를 오프시키는 단계를 더 포함할 수 있다.
상기 데이터 처리 시스템의 작동 방법은 상기 저장 장치가 상기 비교결과에 따라 추가적인 더미 패턴들의 전송 중지를 요청하는 딥 스톨 요청을 상기 호스트로 전송하는 단계를 더 포함할 수 있다.
상기 데이터 처리 시스템의 작동 방법은 상기 저장 장치는 호스트로부터 수신된 명령들 중에서 아직 처리되지 않은 명령들을 저장하는 커맨드 큐를 포함하고, 상기 카운트 값을 생성하기 전에 상기 커멘드 큐가 비어 있는지를 확인하는 단계를 더 포함하는 데이터 처리 시스템의 작동 방법.
본 발명의 실시 예에 따른 저장 장치의 작동 방법에 의하면, MIPI M-PHY의 H고속 모드에서 기존의 성능을 유지하면서 파워를 세이브할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명이 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 PHY 송신 모듈의 작동 상태 변화를 나타내는 상태도이다.
도 3은 도 1에 도시된 PHY 송신 모듈에서 출력되는 신호들의 변화를 나타내는 파형도이다.
도 4는 도 1의 저장 장치의 라이트 작동과 리드 작동 시 BURST 상태에서 DEEP STALL 상태로 천이되는 과정을 설명하기 위한 타이밍도이다.
도 5는 본 발명의 실시 예들에 따른 필러 카운트 방법을 설명하기 위한 타이밍도이다.
도 6a은 BURST 상태가 계속 유지될 때의 전력 소모를 나타내는 타이밍도이다.
도 6b은 BURST 상태에서 DEEP STALL 상태로 천이 될 때의 전력 소모를 나타내는 타이밍도이다.
도 7은 본 발명의 실시 예에 따른 저장 장치의 작동 방법을 나타내는 플로우 차트이다.
도 1은 본 발명이 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 PHY 송신 모듈의 작동 상태 변화를 나타내는 상태도이다.
도 3은 도 1에 도시된 PHY 송신 모듈에서 출력되는 신호들의 변화를 나타내는 파형도이다.
도 4는 도 1의 저장 장치의 라이트 작동과 리드 작동 시 BURST 상태에서 DEEP STALL 상태로 천이되는 과정을 설명하기 위한 타이밍도이다.
도 5는 본 발명의 실시 예들에 따른 필러 카운트 방법을 설명하기 위한 타이밍도이다.
도 6a은 BURST 상태가 계속 유지될 때의 전력 소모를 나타내는 타이밍도이다.
도 6b은 BURST 상태에서 DEEP STALL 상태로 천이 될 때의 전력 소모를 나타내는 타이밍도이다.
도 7은 본 발명의 실시 예에 따른 저장 장치의 작동 방법을 나타내는 플로우 차트이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
본 명세서에서의 모듈(module)이라 함은 본 명세서에서 설명되는 각각의 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정한 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 특정한 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예컨대 프로세서를 의미할 수 있다. 다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
본 명세서는 MIPI alliance에서 규정된 표준을 레퍼런스를 포함한다. 예컨대, 본 명세서는 MIPI M-PHY® 버전 3.0 스펙(specification)과 MIPI UniPro 버전 1.6 스펙를 레퍼런스로 포함한다. 따라서, 본 명세서에 기재된 용어들과 정의들은 상기 스펙에 기재된 정의들과 용어들과 동일한 의미를 갖는다.
도 1은 본 발명이 실시 예들에 따른 데이터 처리 시스템의 블록도를 나타낸다. 도 1을 참조하면, 데이터 처리 시스템(10)은 시리얼 인터페이스를 통해 접속된 호스트(100)와 저장 장치(200)를 포함할 수 있다.
실시 예들에 따라, 데이터 처리 시스템(10)은 PC(personal computer), 워크스테이션(workstation), 데이터 센터, 인터넷 데이터 센터(internet data center(IDC)), DAS(direct attached storage), SAN(storage area network), NAS (network attached storage) 또는 모바일 장치로 구현될 수 있으나, 이에 한정되는 것은 아니다.
상기 모바일 장치는 랩탑 컴퓨터(laptop computer), 이동 전화기, 스마트 폰 (smart phone), 태블릿(tablet) PC, PDA (personal digital assistant), EDA (enterprise digital assistant), 디지털 스틸 카메라(digital still camera), 디지털 비디오 카메라(digital video camera), PMP (portable multimedia player), PND(personal navigation device 또는 portable navigation device), 휴대용 게임 콘솔(handheld game console), 모바일 인터넷 장치(mobile internet device(MID)), 웨어러블 컴퓨터, 사물 인터넷(internet of things(IoT)) 장치, 만물 인터넷 (internet of everything(IoE)) 장치, 드론 (drone), 또는 e-북 (e-book)으로 구현될 수 있다.
실시 예들에 따라, 상기 시리얼 인터페이스는 SATA(serial advanced technology attachment) 인터페이스, SAS(serial attached small computer system interface(SCSI)) 인터페이스, PCIe(peripheral component interconnect express) 인터페이스, NVMe(non-volatile memory Express) 인터페이스, 또는 UFS(universal flash storage) 인터페이스로 구현될 수 있으나 이에 한정되는 것은 아니다.
실시 예들에 따라, 상기 시리얼 인터페이스는 링크 레이어, 피지컬 레이어, 및 피지컬 레이어들 사이에 서로 연결된 와이어들을 포함하는 것을 의미할 수 있다.
호스트(100)는 프로세서(110), 호스트 컨트롤러(120), 링크 계층(link layer(LINK), 130), 및 물리 계층(physical layer(PHY), 140)을 포함할 수 있다. 링크 계층(130)과 물리 계층 (140)은 본 명세서에서 장치 인터페이스로 불릴 수 있다.
프로세서(110)는 멀티-코어 프로세서(multi-core processor)로 구현될 수 있다. 상기 멀티-코어 프로세서는 두 개 또는 그 이상의 독립적인 실질적인 프로세서들('코어들(cores)'이라고 불림)을 갖는 하나의 컴퓨팅 컴포넌트(computing component)이고, 상기 프로세서들 각각은 프로그램 명령들(program instructions)을 읽고 실행할 수 있다.
프로세서(110)는 애플리케이션(111)과 장치 드라이버(112)를 구동할 수 있다.
애플리케이션(111)은 호스트(100)에서 실행되는 다양한 응용 프로그램들일 수 있다. 장치 드라이버(112)는 호스트(100)에 연결되어 사용되는 주변 장치들을 구동하기 위한 것으로, 도 1에서는 저장 장치(200)를 구동할 수 있다. 애플리케이션(111)이나 장치 드라이버(112)는 소프트웨어(software) 또는 펌웨어(firmware) 등을 통해 구현될 수 있다.
호스트 컨트롤러(120)는 호스트(100)의 전반적인 동작을 제어할 수 있다.
예컨대, 호스트 컨트롤러(120)는 장치 드라이버(112)로부터 라이트 요청을 받으면, 버퍼 메모리에 저장된 데이터를 상기 장치 인터페이스를 통해 저장 장치(200)로 전송할 수 있다.
또한, 호스트 컨트롤러(120)는 장치 드라이버(112)로부터 리드 요청을 받으면, 장치 인터페이스를 통해 저장 장치(200)로 리드 명령을 전송하고, 저장 장치(200)로부터 해당 데이터를 수신할 수 있다.
호스트 컨트롤러(120)는 레지스터의 세트를 포함할 수 있으며, 상기 레지스터의 세트는 장치 드라이버(112)로부터 수신된 명령(들)을 저장하는 명령 큐(command queue, 125)로서 사용될 수 있다.
링크 계층(130)은 미리 정해진 규칙(예컨대, 통신 프로토콜)에 따라 신호를 송수신할 수 있다. 예컨대, 링크 계층(130)은 MIPI UniPro 버전 1.6 스펙에서 정해진 통신 프로토콜에 따라 신호를 송수신할 수 있다.
링크 계층(130)은 저장 장치(200)로부터 전송된 실제 데이터가 아닌 더미 패턴(dummy pattern)들을 카운트하는 카운터(135)를 포함할 수 있다. 예컨대, 상기 더미 패턴은 MIPI M-PHY® 버전 3.0 스펙에서 정의된 필러(filler(FLR)일 수 있다.
필러(FLR)는 물리 계층(140)이 버스트(BURST) 상태에 있을 때, 유효 데이터가 전송되지 않는 구간에서 전송되는 심볼(symbol)을 의미할 수 있다. 예컨대, 필러(FLR)는 10비트의 일정한 패턴(예컨대, 0011110010)을 가질 수 있다.
호스트(100)와 저장 장치(200)는 필러(FLR)를 서로 주거나 받을 수 있고, 필러(FLR)를 이용하여 통신 주기를 찾고 데이터를 식별할 수 있다.
링크 계층(130)은, 호스트 컨트롤러(120)의 제어에 따라, 물리 계층(140)의 전원 공급을 관리할 수 있다.. 예컨대, 링크 계층(130)는 PHY 위상 고정 루프(phase locked loop(PLL)) 회로(145)에 공급되는 전원을 차단할 수 있다.
물리 계층(140)은 미리 정해진 규칙(예컨대, 통신 프로토콜)에 따라, 신호를 송수신할 수 있다. 예컨대, 물리 계층(140)은 MIPI M-PHY® 버전 3.0 스펙에서 정해진 통신 프로토콜에 따라 신호를 송수신할 수 있다. 물리 계층(140)은 PHY 송신 모듈(141)과 PHY 수신 모듈(142), 및 PHY PLL 회로(145)를 포함할 수 있다.
PHY 송신 모듈(141)은 제1출력 단자와 제2출력 단자를 통해 저장 장치(200)로 신호를 전송할 수 있다. 제1출력 단자 및 제2출력 단자와 연결된 라인들은 제1링크(LINK1)로 불릴 수 있다.
제1링크(LINK1)는 적어도 세 가지 상태들 중 하나로 제어될 수 있다. 예컨대, 제1링크(LINK1)는 양의 상태(DIF_P), 음의 상태(DIF_N), 및 접지 상태(DIF_Z) 중 하나로 제어될 수 있다.
제1출력 단자에서 출력되는 신호 레벨(예컨대, 전압 레벨)이 제2출력 단자에서 출력되는 신호 레벨보다 높을 때, 제1링크(LINK1)는 양의 상태(DIF_P)일 수 있다.
제1출력 단자에서 출력되는 신호 레벨이 제2출력 단자에서 출력되는 신호 레벨보다 낮을 때, 제1링크(LINK1)는 음의 상태(DIF-N)일 수 있다.
제1출력 단자에서 출력되는 신호 레벨과 제2출력 단자에서 출력되는 신호 레벨이 동일할 때, 제1링크(LINK1)는 접지 상태(DIF-Z)일 수 있다.
PHY 수신 모듈(142)은 제1입력 단자와 제2입력 단자를 통해 저장 장치(200)로부터 신호를 수신할 수 있다. 제1입력 단자 및 제2입력 단자와 관련된 라인들은 제2링크(LINK2)로 불릴 수 있다.
제2링크(LINK2)는 적어도 세 가지 상태들 중 하나로 제어될 수 있다. 예컨대, 제2링크(LINK2)는 양의 상태(DIF_P), 음의 상태(DIF_N), 및 접지 상태(DIF_Z) 중 하나로 제어될 수 있다.
제1입력 단자로 수신된 신호 레벨(예컨대, 전압 레벨)이 제2입력 단자로 수신된 신호 레벨보다 높을 때, 제2링크(LINK2)는 양의 상태(DIF_P)일 수 있다.
제1입력 단자로 수신된 신호 레벨이 제2입력 단자로 수신된 신호 레벨보다 낮을 때, 제2링크(LINK1)는 양의 상태(DIF-N)일 수 있다.
제1입력 단자로 수신된 신호 레벨과 제2입력 단자로 수신된 신호 레벨이 동일할 때, 제2링크(LINK2)는 접지 상태(DIF-Z)일 수 있다.
PHY PLL 회로(145)는 기준 클락에 이용하여 물리 계층(140)의 데이터 전송 속도에 따라 요구되는 클락을 생성할 수 있다. PHY PLL 회로(145)에서 생성된 클락은 PHY 송신 모듈(141)로 제공될 수 있다.
저장 장치(200)는 플래시-기반 스토리지(flash based storage)로 구현될 수 있으나 이에 한정되는 것은 아니다. 예컨대, 저장 장치(200)는 SSD(solid-state drive or solid-state disk), 임베디드 SSD(embedded SSD(eSSD)), 유니버셜 플래시 스토리지(universal flash storage(UFS)), 멀티미디어 카드 (multimedia card(MMC)), 임베디드 MMC(embedded MMC(eMMC)) 또는 매니지드 (managed) NAND로 구현될 수 있으나 이에 한정되는 것은 아니다.
저장 장치(200)는 물리 계층(210), 링크 계층(220), 장치 컨트롤러(230), 및 불휘발성 메모리(240)를 포함할 수 있다. 본 명세서에서 물리 계층(210)과 링크 계층(220)은 호스트 인터페이스로 불릴 수 있다.
물리 계층(210)은 미리 정해진 규칙(예컨대, 통신 프로토콜)에 따라, 신호를 송수신할 수 있다. 예컨대, 물리 계층(140)은 MIPI M-PHY® 버전 3.0 스펙에서 정해진 통신 프로토콜에 따라 신호를 송수신할 수 있다. 물리 계층(210)은 PHY 수신 모듈(211), PHY 송신 모듈(212), 및 PHY PLL 회로(215)를 포함할 수 있다.
PHY 수신 모듈(211)은 제1링크(LINK1)를 통해 PHY 송신 모듈(141)과 연결될 수 있고, 호스트(100)로부터 전송된 신호들을 수신할 수 있다.
PHY 송신 모듈(212)은 제2링크(LINK2)를 통해 PHY 수신 모듈(142)과 연결될 수 있고, 호스트(100)로 신호를 전송할 수 있다.
PHY 수신 모듈(211), PHY 송신 모듈(212), 및 PHY PLL 회로(215)의 작동은 PHY 수신 모듈(142), PHY 송신 모듈(141), 및 PHY PLL 회로(145)의 작동과 동일 또는 유사하므로, 구체적인 설명은 생략한다.
링크 계층(220)은 미리 정해진 규칙(예컨대, 통신 프로토콜)에 따라, 신호를 송수신할 수 있다. 예컨대, 링크 계층(220)은 MIPI UniPro 버전 1.6 스펙에서 정해진 통신 프로토콜에 따라 신호를 송수신할 수 있다.
링크 계층(130)은 호스트(100)로부터 전송된 실제 데이터가 아닌 더미 패턴(dummy pattern)들을 카운트하는 카운터(225)를 포함할 수 있다. 예컨대, 상기 더미 패턴은 MIPI M-PHY® 버전 3.0 스펙에서 정의된 필러(filler(FLR)일 수 있다.링크 계층은(220)는 장치 컨트롤러(230)의 제어에 따라, 물리 계층(210)의 전원 공급을 관리할 수 있다. 예컨대, 링크 계층(220)은 물리 계층(210)의 PLL 회로(145)에 공급되는 전원을 차단할 수 있다.
장치 컨트롤러(230)는 저장 장치(200)의 전반적인 동작을 제어할 수 있다. 예컨대, 장치 컨트롤러(120)는 호스트(100)로부터 라이트 요청을 받으면, 해당 데이터를 불휘발성 메모리(240)에 저장할 수 있다. 또한, 장치 컨트롤러(120)는 호스트로부터 리드 요청을 받으면, 불휘발성 메모리(240)로부터 해당 데이터를 리드하고, 리드된 데이터를 호스트로 전송할 수 있다.
장치 컨트롤러(120)는 레지스터의 세트를 포함할 수 있으며, 상기 레지스터의 세트는 호스트(120)로부터 수신된 명령(들)을 저장하는 명령 큐(command queue, 235)로서 사용될 수 있다.
불휘발성 메모리(240)는 메모리 셀 어레이와 상기 메모리 셀 어레이의 작동을 제어하는 제어 회로를 포함할 수 있다. 상기 메모리 셀 어레이는 2차원 메모리 셀 어레이 또는 3차원 메모리 셀 어레이를 포함할 수 있다. 상기 2차원 메모리 셀 어레이 또는 상기 3차원 메모리 셀 어레이는 복수의 메모리 셀들을 포함하고, 상기 복수의 메모리 셀들 각각은 1-비트의 정보 또는 2-비트 이상의 정보를 저장할 수 있다.
3차원 메모리 셀 어레이는 실리콘 기판 위(on or above)에 배치된 액티브 영역을 갖는 메모리 셀들의 어레이의 하나 또는 그 이상의 물리적인 레벨들 내에서 모노리식하게(monolithically) 형성되고, 상기 메모리 셀들의 작동에 관련된 회로를 포함할 수 있다. 상기 회로는 상기 기판의 내부 또는 위(on or above)에 형성될 수 있다.
모노리식(monolithic) 이라는 용어는 어레이의 각 레벨의 레이어들(layers)이 상기 어레이의 각 하부 레벨(each underlying level)의 레이어들에 직접 증착 (directly deposited )되는 것을 의미한다.
3차원 메모리 셀 어레이는 적어도 하나의 메모리 셀이 다른 메모리 셀의 위에 위치하도록 수직으로 배향되는(vertically oriented) 수직 NAND 스트링을 포함할 수 있다. 상기 적어도 하나의 메모리 셀은 전하 트랩 레이어(charge trap layer)를 포함할 수 있다.
도 2는 도 1에 도시된 PHY 송신 모듈의 작동 상태 변화를 나타내는 상태도이다. 도 1과 도 2를 참조하면, 물리 계층(140과 210)은 데이터 전송 속도에 따라 고속 모드(HS_Mode)와 저속 모드(LS_Mode)를 지원할 수 있다. 특히, 고속 모드에서 PHY 송신 모듈(142와 212)은 UNPOWERED, DISABLED, HIBERN8, STALL, BURST, 및 DEEP STALL의 6개의 작동 상태를 포함할 수 있다.
UNPOWERED 상태는 PHY 송신 모듈(142와 212)에 전원이 공급되지 않은 상태일 수 있다. PHY 송신 모듈(142와 212)에 전원이 공급되고 Tx_Reset 값이 1이 될 때, PHY 송신 모듈(142와 212)은 DISABLED 상태로 천이될 수 있다.
DISABLED 상태는 PHY 송신 모듈(142와 212)에 전원이 공급된 후 리셋 과정에 있는 상태일 수 있다. 즉, DISABLED 상태에서 PHY(142와 212)의 동작과 관련된 설정 값들은 모두 초기화 될 수 있다. 리셋이 완료된 후 Tx_Reset 값이 0이 될 때, PHY 송신 모듈(142와 212)은 HIBERN8 상태로 천이될 수 있다.
HIBERN8 상태는 PHY(140과 210)의 동작과 관련된 현재의 설정 값을 유지한 채 최소 전력을 소모하는 상태일 수 있다. HIBERN8 상태에서 TX_HIBERN8_Control 값이 EXIT가 될 때, PHY 송신 모듈(142와 212)은 STALL 상태로 천이될 수 있다.
STALL 상태는 데이터 전송에 앞서 대기 중인 상태일 수 있다. STALL 상태에서 Tx_Burst 값이 1이 될 때, PHY 송신 모듈(142와 212)은 BURST 상태로 천이될 수 있다.
BURST 상태는 데이터 및/또는 필러(FLR))들을 전송하고 있는 상태일 수 있다. 상기 데이터는 호스트(100)와 저장 장치(200) 사이에서 주거나 받는 각종 명령, 응답, 및 요청과 라이트 데이터 및 리드 데이터를 포함할 수 있다.
필러(FLR)는 어떠한 정보를 담고 있는 데이터가 아닌 일정한 패턴을 갖는 심볼로서, 데이터가 전송되지 않는 아이들 구간에서 전송될 수 있다. 호스트(100)와 저장 장치(200) 사이에서 모든 데이터가 전송된 이후에 PHY 송신 모듈(142와 212)은 DEEP STALL 상태로 천이될 수 있다.
즉, 모든 데이터가 전송된 이후 호스트(100)와 저장 장치(200) 사이에서 필러(FLR)만이 전송될 때, PHY 송신 모듈(142와 212)은 각각 추가적인 필러들의 전송 중지를 요청하는 딥 스톨 요청(DSR)을 전송하고 DEEP STALL 상태로 천이될 수 있다.
딥 스톨 요청(DSR)은 UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수(예컨대, 2회)로 연속하여 전송하는 방식으로 수행될 수 있다.
DEEP STALL 상태는 데이터와 필러(FLR)를 전송하지 않은 채 다음 데이터 전송을 대기하는 상태일 수 있다.
DEEP STALL 상태에서 PHY PLL 회로(145와 215)로 공급되는 전원은 차단될 수 있다. 이에 따라, DEEP STALL 상태에서 호스트(100)와 저장 장치(200)의 소모 전력은 급격히 줄어들 수 있다.
DEEP STALL 상태에서 Tx_Burst 값이 1이 될 때, 송신 모듈(142와 212)은 다시 BURST 상태로 천이될 수 있다.
도 3은 도 1에 도시된 PHY 송신 모듈에서 출력되는 신호들의 변화를 나타내는 파형도이다. 도 1과 도 3을 참조하면, HIBERN8 상태에서 PHY 송신 모듈(212)은 접지 상태(DIF_Z)를 출력할 수 있다.
PHY 송신 모듈(212)은 HIBERN8 상태에서 STALL 상태로 천이됨에 따라 음의 상태(DIF_N)을 출력할 수 있고, 일정 시간 동안 음의 상태(DIP_N)를 유지할 수 있다. PHY 수신 모듈(142)은 음의 상태(DIP_N)를 수신하고 STALL 상태로 진입할 수 있다.
PHY 송신 모듈(212)은 BURST 상태로 진입하고, 데이터 전송을 위한 준비 작동(PRE)과 동기화 작동(SYNC)을 수행할 수 있다. PHY 송신 모듈(212)은 준비 작동(PRE)에서 출력을 양의 상태(DIF_P)로 유지할 수 있다. PHY 수신 모듈(142)은 양의 상태(DIP_N)를 수신하고 BURST 상태로 진입할 수 있다.
이후, PHY 송신 모듈(212)은 PHY 수신 모듈(142)과 동기화를 위해 싱크 데이터 패턴(SYNC_PT)을 출력할 수 있다.
동기화 작동(SYNC)이 완료된 후, PHY 송신 모듈(212)은 데이터 전송 시작을 나타내는 컨트롤 심볼(예컨대, MK0)과 데이터(DATA)를 PHY 수신 모듈(142)로 전송할 수 있다.
모든 데이터가 전송된 후, PHY 송신 모듈(212)은 필러(FLR)들을 PHY 수신 모듈(142)로 전송할 수 있다.
PHY 송신 모듈(212)은 일정 시간 동안 필러(FLR)들을 전송한 후, BURST 상태를 종료하고 DEEP STALL 상태로 진입하기 위한 딥 스톨 요청(DSR)을 PHY 수신 모듈(142)로 전송할 수 있다.
딥 스톨 요청(DSR)은 UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수(예컨대, 2회)로 연속하여 전송하는 방식으로 수행될 수 있다.
DEEP STALL 상태에서 PHY 송신 모듈(212)은 음의 상태(DIP_N)를 PHY 수신 모듈(142)로 출력할 수 있다.
도 4는 도 1의 저장 장치의 라이트 작동과 리드 작동 시 BURST 상태에서 DEEP STALL 상태로 천이되는 과정을 설명하기 위한 타이밍도이고, 도 5는 본 발명의 실시 예들에 따른 필러 카운트 방법을 설명하기 위한 타이밍도이다.
도 1, 도 2, 및 도 4을 참조하면, 호스트 컨트롤러(100)는 장치 드라이버(112)로부터 전달된 제3명령(CMD3)과 제4명령(CMD4)을 PHY 송신 모듈(141)을 통해 저장 장치(200)로 전송할 수 있다. 제3명령(CMD3)은 라이트 명령이고 제4명령(CMD4)은 리드 명령인 것으로 가정한다.
저장 장치(200)의 PHY 수신 모듈(211)은 BURST 상태에서 호스트(100)로부터 제3명령(CMD3)과 제4명령(CMD4)을 수신할 수 있다. 링크 계층(220)은 제3명령(CMD3)과 제4명령(CMD4)이 정상적으로 수신되었음을 지시하는 확인 응답(AFC)를 PHY 송신 모듈(212)을 통해 호스트(100)로 전송할 수 있다.
제3명령(CMD3)과 제4명령(CMD4)은 링크 계층(220)을 통해 장치 컨트롤러(230)로 제공될 수 있다. 장치 컨트롤러(230)는 수신된 명령들을 명령 큐(230)에 저장하고, 각 명령에 해당하는 각 플래그를 로직 0으로부터 로직 1로 변경할 수 있다.
장치 컨트롤러(230)는 제3데이터(DATA3)를 임시 저장하기 위한 버퍼 램을 할당하고, 데이터 전송 준비가 완료되었음을 지시하는 제3준비 응답(RTT3)을 PHY 송신 모듈(212)을 통해 호스트(100)로 전송할 수 있다.
호스트 컨트롤러(120)는 제3준비 응답(RTT3)에 대한 확인 응답(AFC)과 제3데이터(DATA3)를 PHY 송신 모듈(141)을 통해 저장 장치(200)로 전송할 수 있다.
PHY 수신 모듈(211)은 제3준비 응답(RTT3)에 대한 확인 응답(AFC)과 제3데이터(DATA3)를 호스트(100)로부터 수신할 수 있다.
제3데이터(DATA3)는 링크 계층(220)을 통해 버퍼 램에 임시 저장될 수 있다. 장치 컨트롤러(230)는 플래시 변환 계층(flash translation layer)의 어드레스 맵핑 정보를 참조하여 버퍼 램에 저장된 제3데이터(DATA3)를 불휘발성 메모리(240)에 저장할 수 있다.
장치 컨트롤러(230)는 제3명령(CMD3)에 대한 데이터 처리를 완료하고, 제3완료 응답(RES3)을 PHY 송신 모듈(212)을 통해 호스트(100)로 전송할 수 있다.
호스트 컨트롤러(120)는 제3완료 응답(RES3)에 기초하여 제3명령(CMD3)에 대한 데이터 처리가 완료되었음을 장치 드라이버(112)에 알리고, 제3완료 응답(RES3)에 대한 확인 응답(AFC)을 저장 장치(200)로 전송하고, 제3명령(CMD3)에 대한 작동을 종료할 수 있다.
PHY 수신 모듈(211)은 제3완료 응답(RES3)에 대한 확인 응답(AFC)을 호스트(100)로부터 수신할 수 있다.
제3확인 응답(RES)에 대한 확인 응답(AFC)이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 제3명령(CMD3)에 해당하는 플래그를 로직 1로부터 로직 0으로 변경할 수 있다.
장치 컨트롤러(230)는 플래시 변환 계층(flash translation layer)의 어드레스 맵핑 정보를 참조하여 제4명령(CMD4)과 관련된 제4데이터(DATA4)를 불휘발성 메모리(240)로부터 리드할 수 있다.
장치 컨트롤러(230)는 리드된 제4데이터(DATA4)와 제4명령(CMD4)에 대한 데이터 처리의 완료를 지시하는 제4완료 응답(RES4)을 PHY 송신 모듈(212)을 통해 호스트(100)로 전송할 수 있다.
호스트 컨트롤러(120)는 제4완료 응답(RES4)에 기초하여 제4명령(CMD4)에 대한 데이터 처리가 완료되었음을 장치 드라이버(112)에 알리고, 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 저장 장치(200)로 전송하고, 제4명령(CMD4)에 대한 작동을 종료할 수 있다.
PHY 수신 모듈(211)은 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 호스트(100)로부터 수신할 수 있다.
제4확인 응답(RES4)에 대한 확인 응답(AFC)이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 제4명령(CMD4)에 해당하는 플래그를 로직 1로부터 로직 0으로 변경할 수 있다.
제4확인 응답(RES4)에 대한 확인 응답(AFC)이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 호스트로부터 수신된 마지막 명령에 대한 처리가 완료되었는지를 판단할 수 있다.
예컨대, 장치 컨트롤러(230)는 명령 큐(235)에 저장된 각 플래그의 비트 값에 기초하여 호스트(100)로부터 수신된 마지막 명령에 대한 처리가 완료되었는지를 판단할 수 있다. 즉, 각 플래그의 비트 값이 모두 로직 0을 가리킬 때, 장치 컨트롤러(230)는 호스트(100)로부터 수신된 마지막 명령에 대한 처리가 완료된 것으로 판단할 수 있다.
또한, 장치 컨트롤러(230)는 명령 큐(235)를 참조하여 현재 처리해야 할 명령이 남아 있는지를 판단할 수 있다. 즉, 명령 큐(235)가 비어 있을 때, 장치 컨트롤러(230)는 현재 더 이상 처리해야 할 명령이 존재하지 않는 것으로 판단할 수 있다.
PHY 수신 모듈(211)은 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 수신한 후, PHY 송신 모듈(141)로부터 전송되는 필러(FLR)들을 계속적으로 수신할 수 있다.
즉, 제4명령(CMD4)에 대한 데이터 처리가 완료된 후 다음 명령이 있을 때까지 PHY 송신 모듈(141)과 PHY 수신 모듈(211)은 BURST 상태를 유지하면서 서로 필러(FLR)들을 주고 받을 수 있다.
이와 같이 데이터 전송 없이 필러들만 전송되는 아이들(idle) 상태가 일정 시간 동안 유지 될 때, 저장 장치(100)의 링크 계층(220)은 PHY 송신 모듈(212)을 통해 딥 스톨 요청(DSR)을 호스트(100)로 전송하고 BURST 상태를 종료할 수 있다.
도 5를 참조하면, 링크 계층(220)의 카운터(225)는 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 수신한 후 호스트(100)로부터 전송되는 필러(FLR)들의 개수를 카운트하고 카운트 값을 생성할 수 있다.
카운터(225)는 카운트 값과 기준 값(REF)을 비교할 수 있다. 비교 결과 카운트 값이 기준 값과 같거나 기준 값보다 클 때, 카운터(225)는 PHY 송신 모듈(212)을 통해 딥 스톨 요청(DSR)을 호스트(100)로 전송할 수 있다.
예컨대, 기준 값(REF)이 5로 설정되었다고 가정한다. 카운터(225)는 저장 장치(200)의 PHY 수신 모듈(211)을 통해 수신된 필러들(FLR_1~FLR_5)을 카운트할 수 있다. 제5필러(FLR_5)가 카운트될 때, 카운터(225)는 딥 스톨 요청(DSR)을 호스트(100)로 전송할 수 있다.
딥 스톨 요청(DSR)은 UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수(예컨대, 2회)로 연속하여 전송하는 방식으로 수행될 수 있다.
딥 스톨 요청(DSR)을 요청을 전송한 후, 저장 장치(200)의 PHY 송신 모듈(212)은 BURST 상태을 종료하고 DEEP STALL 상태로 진입할 수 있다.
호스트(100)의 링크 계층(130)은 딥 스톨 요청(DSR)에 대한 확인 응답을 PHY 송신 모듈(141)을 통해 저장 장치(200)로 전송할 수 있다. 딥 스톨 요청(DSR)에 대한 확인 응답은 딥 스톨 요청(DSR)과 마찬가지로 UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수(예컨대, 2회)로 연속하여 전송하는 방식으로 수행될 수 있다.
딥 스톨 요청(DSR)에 대한 확인 응답을 전송한 후, 호스트(100)의 PHY 송신 모듈(141)은 BURST 상태을 종료하고 DEEP STALL 상태로 진입할 수 있다.
도 6a은 BURST 상태가 계속 유지될 때의 전력 소모를 나타내는 타이밍도이고, 도 6b은 BURST 상태에서 DEEP STALL 상태로 천이 될 때의 전력 소모를 나타내는 타이밍도이다.
도 5와 도 6a를 참조하면, PHY 송신 모듈(212)이 딥 스톨 요청(DSR)을 PHY 수신 모듈(142)로 전송하지 않고 BURST 상태를 계속하여 유지하는 경우, 호스트(100)의 PHY PLL 회로(145)와 저장 장치(200)의 PHY PLL 회로(215)는 전력을 계속하여 소모하게 된다.
즉, 호스트(100)와 저장 장치(200)는 서로에게 전송할 데이터가 없음에도 불구하고, 실제 데이터가 아닌 필러(FLR)들을 전송하기 위해 불필요한 전력을 소모하게 된다. 특히, 호스트(100)와 저장 장치(200)는 서로에게 전송되는 데이터의 시간 간격이 클수록 전력 낭비는 더욱 심해질 수 있다.
도 5와 도 6b를 참조하면, PHY 송신 모듈(212)이 딥 스톨 요청(DSR)을 PHY 수신 모듈(142)로 전송한 경우, 호스트(100)의 PHY PLL 회로(145)와 저장 장치(200)의 PHY PLL 회로(215) 각각에 공급되는 전원은 차단될 수 있다.
예컨대, 저장 장치(200)의 링크 계층(220)은 딥 스톨 요청(DSR)을 PHY 수신 모듈(142)로 전송한 후, 저장 장치(200)의 PHY PLL 회로(215)의 파워를 오프시킬 수 있다. 또한, 호스트(100)의 링크 계층(220)은 딥 스톨 요청(DSR)에 대한 확인 응답을 PHY 수신 모듈(211)로 전송한 후, 호스트(100)의 PHY PLL 회로(145)의 파워를 오프시킬 수 있다.
따라서, 호스트(100)와 저장 장치(200)는 서로 데이터를 주거나 받지 않는 아이들 상태에서 전력 소모를 최소화 할 수 있다.
도 7은 본 발명의 실시 예에 따른 저장 장치의 작동 방법을 나타내는 플로우 차트이다. 도 1, 도 2, 도 4, 도 5, 및 도 7을 참조하면, 저장 장치(200)는 시리얼 인터페이스를 이용하여 호스트(100)와 데이터를 주거나 받을 수 있다.
장치 컨트롤러(230)는 제1링크(LINK1)를 통해 호스트(100)로부터 명령을 수신할 수 있다(S110).
예컨대, 장치 컨트롤러(230)는 호스트(100)로부터 제3명령(예컨대, 라이트 명령, CMD3)과 제4명령(예컨대, 리드 명령, CMD4)을 수신할 수 있다. 명령들(CMD3과 CMD4)은 물리 계층(210)과 링크 계층(220)을 통해 장치 컨트롤러(230)로 각각 전송될 수 있다.
장치 컨트롤러(230)는 명령들(CMD3과 CMD4)을 명령 큐(235)에 각각 저장할 수 있다. 명령들(CMD3과 CMD4)이 명령 큐(235)에 저장될 때, 장치 컨트롤러(230)는 각 명령에 해당하는 각 플래그를 로직 0으로부터 로직 1로 변경할 수 있다.
장치 컨트롤러(230)는 명령 큐(235)를 참조하여, 명령에 대한 데이터 처리를 완료하고, 완료 응답을 제2링크(LINK2)를 통해 호스트(100)로 전송할 수 있다(S120).
예컨대, 장치 컨트롤러(230)는 제3명령(CMD3)과 관련된 제3데이터(DATA3)를 호스트(100)로부터 수신하고, 제3데이터(DATA3)를 불휘발성 메모리(240)에 라이트하고, 라이트 작동의 완료를 지시하는 제3완료 응답(RES3)을 호스트(100)로 전송할 수 있다.
또한, 장치 컨트롤러(230)는 상기 제4명령(CMD4)에 응답하여 불휘발성 메모리(240)로부터 제4데이터(DATA4)를 리드하고, 리드된 제4데이터(DATA4)와 리드 작동의 완료를 지시하는 제4완료 응답(RES4)을 호스트(100)로 전송할 수 있다.
장치 컨트롤러(230)는 완료 응답에 상응하는 확인 응답을 호스트(100)로부터 수신하고(S130), 수신된 확인 응답이 호스트(100)로부터 수신된 마지막 명령과 관련된 것인지를 판단할 수 있다(S140).
확인 응답에 상응하는 확인 응답이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 명령 큐(235)에 저장된 각 명령을 삭제하고, 각 명령에 해당하는 각 플래그를 로직 1로부터 로직 0으로 변경할 수 있다.
예컨대, 제3확인 응답(RES3)에 상응하는 확인 응답(AFC)이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 제3명령(CMD3)에 해당하는 플래그를 로직 1로부터 로직 0으로 변경할 수 있다. 또한, 제4확인 응답(RES4)에 상응하는 확인 응답(AFC)이 호스트(100)로부터 수신될 때, 장치 컨트롤러(230)는 제4명령(CMD4)에 해당하는 플래그를 로직 1로부터 로직 0으로 변경할 수 있다.
장치 컨트롤러(230)는 명령 큐(235)에 저장된 각 플래그의 비트 값에 기초하여 호스트(100)로부터 수신된 마지막 명령에 대한 처리가 완료되었는지를 판단할 수 있다. 즉, 각 플래그의 비트 값이 모두 로직 0을 가리킬 때, 장치 컨트롤러(230)는 호스트(100)로부터 수신된 마지막 명령에 대한 처리가 완료된 것으로 판단할 수 있다.
실시 예들에 따라, 장치 컨트롤러(230)는 명령 큐(235)를 참조하여 현재 처리해야 할 명령이 남아 있는지를 판단할 수 있다. 즉, 명령 큐(235)가 비어 있을 때, 장치 컨트롤러(230)는 현재 더 이상 처리해야 할 명령이 존재하지 않는 것으로 판단할 수 있다.
장치 컨트롤러(230)는 호스트(100)로부터 수신된 마지막 명령에 대한 처리가 완료된 것으로 판단하거나 현재 더 이상 처리해야 할 명령이 존재하지 않는 것으로 판단한 때, 판단 결과를 링크 계층(220)으로 제공할 수 있다.
저장 장치(100)의 링크 계층(220)은 장치 컨트롤러(230)로부터 제공된 상기 판단 결과에 기초하여, 호스트(100)의 PHY 송신 모듈(141)로부터 저장 장치(200)의 PHY 수신 모듈(211)로 전송된 필러들의 개수를 카운트하고 카운트 값을 생성할 수 있다(S150).
호스트(100)의 PHY 송신 모듈(141)은 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 저장 장치(200)로 전송한 후, 필러(FLR)들을 연속하여 저장 장치(200)로 전송할 수 있다.
필러(FLR)는 호스트(100)의 PHY 송신 모듈(141)에서 생성될 수 있고, 제1링크(LINK1)를 통해 저장 장치(200)의 PHY 수신 모듈(211)로 전송될 수 있다. 또한, 필러(FLR)는 저장 장치(200)의 PHY 송신 모듈(212)에서 생성될 수 있고, 제2링크(LINK2)를 통해 호스트(100)의 PHY 수신 모듈(142)로 전송될 수 있다.
카운터(225)는 호스트(100)로부터 전송된 명령들에 대한 데이터 처리가 모두 완료된 이후 호스트(100)의 PHY 송신 모듈(141)로부터 저장 장치(200)의 PHY 수신 모듈(211)로 전송된 필러들의 개수를 카운트 할 수 있다.
예컨대, 도 4에 도시된 바와 같이, 장치 컨트롤러(230)가 호스트(100)로부터 전송된 마지막 명령, 즉 제4명령(CMD4)과 관련된 제4완료 응답(RES4)에 대한 확인 응답(AFC)을 호스트(100)로부터 수신한 이후, 카운터(225)는 호스트(100)의 PHY 송신 모듈(141)로부터 저장 장치(200)의 PHY 수신 모듈(211)로 전송된 필러들의 개수를 카운트하고 카운트 값을 생성할 수 있다.
링크 계층(220)은 생성된 카운트 값과 기준 값(REF)을 비교할 수 있다(S160). 기준 값(REF)은 호스트(100) 및 저장 장치(200)의 성능이나 유저의 사용 패턴에 따라 서로 다른 값으로 설정될 수 있다.
카운트 값과 기준 값(REF)을 비교한 결과 카운트 값이 기준 값과 같거나 기준 값보다 클 때, 링크 계층(220)은 자동으로 추가적인 필러들의 전송 중지를 요청하는 딥 스톨 요청(DSR)을 호스트(100)로 전송할 수 있다(S170).
즉, 일정 시간 동안 필러들만이 호스트(100)로부터 전송되는 경우, 저장 장치(200)는 더 이상 처리할 명령이 남아 있지 않는 것으로 판단하고, 자동으로 저장 장치(200)의 PHY 송신 모듈(212)을 통해 딥 스톨 요청(DSR)을 호스트(100)로 전송할 수 있다.
딥 스톨 요청(DSR)은 UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수로 연속하여 전송하는 동작일 수 있다.
예컨대, 도 5에 도시된 바와 같이, 기준 값(REF)이 5로 설정되었다고 가정한다. 카운터(225)는 호스트(100)로부터 저장 장치(200)의 PHY 수신 모듈(211)을 통해 수신된 필러들(FLR_1~FLR_5)을 카운트할 수 있다. 제5필러(FLR_5)가 카운트 될 때, 카운터(225)는 딥 스톨 요청(DSR)을 위해 저장 장치(200)의 PHY 송신 모듈(212)을 통해 호스트(100)로 MK2 데이터 패턴을 연속하여 두 번 전송할 수 있다.
저장 장치(200)는 호스트(100)로 딥 스톨 요청(DSP)을 전송한 후, 저장 장치(200)의 PHY PLL(215) 회로 에 대한 전원 공급을 차단할 수 있다. 이에 따라, 저장 장치(200)는 버스트(BERST) 상태에서 딥 스톨(DEEP STALL) 상태로 천이될 수 있고, 저장 장치(200)에서 소모되는 전력은 급격히 줄어들 수 있다.
호스트(100)는 저장 장치(200)로부터 딥 스톨 요청(DSR)을 수신하고, 딥 스톨 요청(DSR)에 대한 확인 응답을 PHY 송신 모듈(141)을 통해 저장 장치(200)로 전송할 수 있다. 예컨대, 호스트(100)는 상기 확인 응답으로써, UniProSM 버전 1.6 스펙에서 정의된 MK2 데이터 패턴을 복수의 횟수로 연속하여 전송할 수 있다.
호스트(100)는 딥 스톨 요청(DSR)에 대한 확인 응답을 저장 장치(200)로 전송한 후, 호스트(100)의 PHY PLL(145) 회로에 대한 전원 공급을 차단할 수 있다.
저장 장치(200)는 딥 스톨 요청(DSR)에 대한 확인 응답을 PHY 수신 모듈(211)를 통해 수신하고, 추가적으로 PHY 수신 모듈(211)에 대한 전원 공급을 차단할 수 있다.
이에 따라, 호스트(100)와 저장 장치(200)는, 서로 간에 유효한 데이터 교환이 없이 필러들만 주고 받는 아이들(idle) 상태에서, 각각 자신의 PHY PLL(145와 215)의 파워를 오프시키고 딥 스톨(DEEP STALL) 상태로 진입할 수 있다. 따라서, 호스트(100)와 저장 장치(200) 양쪽 모두에서 전력 소모를 급격히 줄일 수 있는 효과가 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
10 : 데이터 처리 시스템
100 : 호스트
110 : 프로세서
120 : 호스트 컨트롤러
130, 220 : 링크 계층
140, 210 : 물리 계층
200 : 저장 장치
230 : 장치 컨트롤러
240 : 불휘발성 메모리
100 : 호스트
110 : 프로세서
120 : 호스트 컨트롤러
130, 220 : 링크 계층
140, 210 : 물리 계층
200 : 저장 장치
230 : 장치 컨트롤러
240 : 불휘발성 메모리
Claims (10)
- 시리얼 인터페이스를 이용하여 호스트와 통신하는 저장 장치의 작동 방법에 있어서,
상기 호스트의 PHY 송신 모듈로부터 전송된 더미 패턴들의 개수를 카운트하고 카운트 값을 생성하는 단계;
상기 카운트 값과 기준 값을 비교하는 단계; 및
상기 비교 결과에 따라 상기 저장 장치의 PHY 위상 고정 루프(phase locked loop(PLL)) 회로의 파워를 오프시키는 단계를 포함하는 저장 장치의 작동 방법. - 제1항에 있어서,
상기 비교 결과에 따라 추가적인 더미 패턴들의 전송 중지를 요청하는 딥 스톨 요청을 상기 호스트로 전송하는 단계를 더 포함하는 저장 장치의 작동 방법. - 제2항에 있어서,
상기 딥 스톨 요청은 UniProSM 버전 1.6 스펙(specification)에서 정의되는 MK2 신호를 복수의 횟수로 연속하여 전송하는 저장 장치의 작동 방법. - 제2항에 있어서,
상기 호스트로부터 전송된 상기 딥 스톨 요청에 대한 확인 응답을 수신하는 단계; 및
상기 확인 응답에 응답하여, 상기 저장 장치의 PHY 수신 모듈의 파워를 오프시키는 단계를 더 포함하는 저장 장치의 작동 방법. - 제4항에 있어서,
상기 확인 응답은 UniProSM 버전 1.6 스펙(specification)에서 정의되는 MK2 신호가 복수의 횟수로 연속하여 수신되는 저장 장치의 작동 방법. - 시리얼 인터페이스를 통해 서로 통신하는 호스트와 저장 장치를 포함하는 데이터 처리 시스템의 작동 방법에 있어서,
상기 호스트가, 상기 저장 장치로 더미 패턴들을 전송하는 단계;
상기 저장 장치가, 상기 더미 패턴들의 개수를 카운트하고 카운트 값을 생성하는 단계;
상기 저장 장치가, 상기 카운트 값과 기준 값을 비교하는 단계; 및
상기 저장 장치가, 상기 비교 결과에 따라 상기 저장 장치의 PHY 위상 고정 루프 회로의 파워를 오프시키는 단계를 포함하는 데이터 처리 시스템의 작동 방법. - 제6항에 있어서,
상기 저장 장치가, 상기 비교결과에 따라 추가적인 더미 패턴들의 전송 중지를 요청하는 딥 스톨 요청을 상기 호스트로 전송하는 단계를 더 포함하는 데이터 처리 시스템의 작동 방법. - 제7항에 있어서,
상기 호스트가, 상기 딥 스톨 요청에 응답하여 상기 호스트의 PHY 위상 고정 루프 회로의 파워를 오프시키는 단계를 더 포함하는 데이터 처리 시스템의 작동 방법. - 제7항에 있어서,
상기 호스트가, 상기 딥 스톨 요청에 응답하여 확인 응답을 상기 저장 장치로 전송하는 단계; 및
상기 저장 장치가, 상기 확인 응답에 응답하여 상기 저장 장치의 PHY 수신 모듈의 파워를 오프시키는 단계를 더 포함하는 데이터 처리 시스템의 작동 방법. - 제7항에 있어서,
상기 저장 장치는 호스트로부터 수신된 명령들 중에서 아직 처리되지 않은 명령들을 저장하는 커맨드 큐를 포함하고,
상기 카운트 값을 생성하기 전에 상기 커멘드 큐가 비어 있는지를 확인하는 단계를 더 포함하는 데이터 처리 시스템의 작동 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150181966A KR102482527B1 (ko) | 2015-12-18 | 2015-12-18 | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
US15/375,963 US10216421B2 (en) | 2015-12-18 | 2016-12-12 | Method of operating storage device using serial interface and method of operating data processing system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150181966A KR102482527B1 (ko) | 2015-12-18 | 2015-12-18 | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170073266A true KR20170073266A (ko) | 2017-06-28 |
KR102482527B1 KR102482527B1 (ko) | 2022-12-29 |
Family
ID=59067033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020150181966A KR102482527B1 (ko) | 2015-12-18 | 2015-12-18 | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10216421B2 (ko) |
KR (1) | KR102482527B1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI610292B (zh) * | 2015-11-19 | 2018-01-01 | 瑞鼎科技股份有限公司 | 驅動電路及其運作方法 |
JP2019057121A (ja) * | 2017-09-21 | 2019-04-11 | 東芝メモリ株式会社 | メモリシステム、メモリシステムの制御方法、及びコントローラ回路 |
TWI800327B (zh) * | 2022-03-23 | 2023-04-21 | 慧榮科技股份有限公司 | 資料儲存系統與參數裕度估計方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020039325A (ko) * | 1999-07-26 | 2002-05-25 | 르미욱스 폴 제이 | 금속 합금의 반고체 농축 방법 |
KR20090125735A (ko) * | 2009-11-11 | 2009-12-07 | 주식회사 청하기계 | 오징어 가공기 |
KR20150087668A (ko) * | 2014-01-22 | 2015-07-30 | 삼성전자주식회사 | 저전력을 위해 피지컬 레이어의 웨이크업 신호를 라우트할 수 있는 장치, 이의 동작 방법, 및 상기 장치를 포함하는 데이터 처리 시스템 |
KR20150133085A (ko) * | 2014-05-19 | 2015-11-27 | 삼성전자주식회사 | 직렬 통신 장치 및 그 방법 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
US7010711B2 (en) | 2003-06-25 | 2006-03-07 | Lsi Logic Corporation | Method and apparatus of automatic power management control for native command queuing Serial ATA device |
US7330989B2 (en) | 2003-06-25 | 2008-02-12 | Lsi Logic Corporation | Method and apparatus of automatic power management control for Serial ATA interface utilizing a combination of IOP control and specialized hardware control |
JP4371739B2 (ja) | 2003-09-02 | 2009-11-25 | 株式会社東芝 | シリアルataインタフェースを持つ電子機器及びシリアルataバスのパワーセーブ方法 |
US7478260B2 (en) * | 2003-10-20 | 2009-01-13 | Hewlett-Packard Development Company, L.P. | System and method for setting a clock rate in a memory card |
EP1794681B1 (en) * | 2004-10-01 | 2008-09-17 | Matsushita Electric Industrial Co., Ltd. | Memory card controller, memory card drive device, and computer program |
US20060149977A1 (en) * | 2004-12-31 | 2006-07-06 | Barnes Cooper | Power managing point-to-point AC coupled peripheral device |
US8381219B2 (en) * | 2007-02-02 | 2013-02-19 | International Business Machines Corporation | Monitoring performance on workload scheduling systems |
US7895457B2 (en) * | 2007-08-20 | 2011-02-22 | Supertalent Electronics, Inc. | Memory card with power saving |
CN101897152B (zh) * | 2007-11-12 | 2014-01-15 | 马维尔国际有限公司 | 活动空闲通信*** |
US20090187779A1 (en) * | 2008-01-18 | 2009-07-23 | Mediatek Inc. | Automatic power management method |
US8051314B2 (en) | 2008-06-25 | 2011-11-01 | Intel Corporation | Serial ATA (SATA) power optimization through automatic deeper power state transition |
EP2415214B1 (en) * | 2009-03-31 | 2016-03-23 | Telefonaktiebolaget LM Ericsson (publ) | Energy efficient ethernet network nodes and methods for use in ethernet network nodes |
US8615671B2 (en) | 2009-10-09 | 2013-12-24 | Intel Corporation | Techniques for managing lower power states for data links |
US8621128B2 (en) | 2009-12-04 | 2013-12-31 | St-Ericsson Sa | Methods and systems for reliable link startup |
KR101682956B1 (ko) | 2010-10-14 | 2016-12-07 | 삼성전자주식회사 | 기기 간 통신 시스템에서 페이징된 기기에서의 억세스 오버헤드를 감소하기 위한 방법 및 장치 |
JP2012133687A (ja) * | 2010-12-24 | 2012-07-12 | Toshiba Corp | 消費電力制御方法 |
JP2012150152A (ja) * | 2011-01-17 | 2012-08-09 | Renesas Electronics Corp | データ処理装置及び半導体装置 |
US8959374B2 (en) | 2012-07-31 | 2015-02-17 | Hewlett-Packard Development Company, L.P. | Power management for devices in a data storage fabric |
US9037811B2 (en) * | 2013-03-15 | 2015-05-19 | International Business Machines Corporation | Tagging in memory control unit (MCU) |
KR102094902B1 (ko) | 2013-07-08 | 2020-03-30 | 삼성전자주식회사 | 액티브 상태에서 인터페이스 모드를 전환하는 스토리지 시스템 및 ufs 시스템 |
US9760295B2 (en) * | 2014-09-05 | 2017-09-12 | Toshiba Memory Corporation | Atomic rights in a distributed memory system |
US9571341B1 (en) * | 2014-10-01 | 2017-02-14 | Netspeed Systems | Clock gating for system-on-chip elements |
US9673934B2 (en) * | 2015-09-30 | 2017-06-06 | Mellanox Technologies Tlv Ltd. | Error correction on demand |
-
2015
- 2015-12-18 KR KR1020150181966A patent/KR102482527B1/ko active IP Right Grant
-
2016
- 2016-12-12 US US15/375,963 patent/US10216421B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020039325A (ko) * | 1999-07-26 | 2002-05-25 | 르미욱스 폴 제이 | 금속 합금의 반고체 농축 방법 |
KR20090125735A (ko) * | 2009-11-11 | 2009-12-07 | 주식회사 청하기계 | 오징어 가공기 |
KR20150087668A (ko) * | 2014-01-22 | 2015-07-30 | 삼성전자주식회사 | 저전력을 위해 피지컬 레이어의 웨이크업 신호를 라우트할 수 있는 장치, 이의 동작 방법, 및 상기 장치를 포함하는 데이터 처리 시스템 |
KR20150133085A (ko) * | 2014-05-19 | 2015-11-27 | 삼성전자주식회사 | 직렬 통신 장치 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
US10216421B2 (en) | 2019-02-26 |
US20170177219A1 (en) | 2017-06-22 |
KR102482527B1 (ko) | 2022-12-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7235226B2 (ja) | 記憶デバイスにおけるシステムタイムスタンプを用いたバックグラウンドデータ・リフレッシュ | |
CN108604456B (zh) | 在存储器插槽中支持多个存储器类型 | |
EP2437138A2 (en) | Hardware dynamic cache power management | |
US9881680B2 (en) | Multi-host power controller (MHPC) of a flash-memory-based storage device | |
KR20130070251A (ko) | 브릿지 칩셋 및 그것을 포함하는 데이터 저장 시스템 | |
TWI519962B (zh) | 智慧雙資料率(ddr)記憶體控制器 | |
US9535607B2 (en) | Semiconductor system performing status read for semiconductor device and operating method thereof | |
US9996398B2 (en) | Application processor and system on chip | |
KR20210038313A (ko) | 레이턴시에 중점을 둔 판독 동작과 대역폭에 중점을 둔 판독 동작 사이의 동적 변경 | |
US11360711B2 (en) | Storage device temporarily suspending internal operation to provide short read response time for read request from host | |
CN112185440B (zh) | 存储器接口、数据存储设备及其操作方法 | |
US20150006931A1 (en) | Generic host-based controller latency method and appartus | |
KR20210098717A (ko) | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 | |
KR102100707B1 (ko) | 데이터 저장 장치 | |
KR20220059981A (ko) | 스토리지 장치 및 스토리지 장치의 동작 방법 | |
JP2021043975A (ja) | インターフェース回路並びにメモリ装置及びその動作方法 | |
CN112951298A (zh) | 降低稳定阈值电压(vt)读取干扰降级的***方法 | |
KR102482527B1 (ko) | 시리얼 인터페이스를 사용하는 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법 | |
CN112578895A (zh) | 降低非易失性存储器中的由于待机泄漏电流引起的功耗 | |
US20220147254A1 (en) | Ufs device, method of operating the ufs device, and system including the ufs device | |
JP7343257B2 (ja) | ホストシステム、方法、及び、システム | |
US10579130B2 (en) | Storage device having a serial communication port | |
KR20170141468A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20210109674A1 (en) | Memory command queue management | |
US20240231698A1 (en) | Storage devices and operating methods thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |