KR102270531B1 - Systems and methods for host detection of usb asynchronous notification capability - Google Patents
Systems and methods for host detection of usb asynchronous notification capability Download PDFInfo
- Publication number
- KR102270531B1 KR102270531B1 KR1020217004722A KR20217004722A KR102270531B1 KR 102270531 B1 KR102270531 B1 KR 102270531B1 KR 1020217004722 A KR1020217004722 A KR 1020217004722A KR 20217004722 A KR20217004722 A KR 20217004722A KR 102270531 B1 KR102270531 B1 KR 102270531B1
- Authority
- KR
- South Korea
- Prior art keywords
- storage device
- media
- storage devices
- falsely
- storage
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000001514 detection method Methods 0.000 title description 2
- 230000004044 response Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 20
- 238000012545 processing Methods 0.000 abstract description 11
- 238000012360 testing method Methods 0.000 abstract description 8
- 239000002699 waste material Substances 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000007704 transition Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 230000004931 aggregating effect Effects 0.000 description 2
- 230000008030 elimination Effects 0.000 description 2
- 238000003379 elimination reaction Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- 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/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of 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/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/0674—Disk device
-
- 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
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- 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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
- Power Sources (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
자신들이 이동식 매체를 가지고 있음을 호스트 시스템에 거짓으로 및/또는 부정확하게 보고할 수 있는 레거시 저장 장치들을 검출하는 시스템 및 방법이 개시된다. 이러한 거짓 또는 부정확한 보고는 호스트 시스템으로 하여금 저장 장치가 I/O 처리에 준비가 되어 있는지에 대해 그 저장 장치를 주기적으로 폴링하게 할 수 있다. 이러한 폴링은 불필요할 수 있고 호스트 시스템에 의해 소비되는 전력 낭비를 나타낼 수 있다. 일 실시예에서, 본 시스템은 주기적으로 저장 매체를 폴링하고 데이터베이스를 업데이트하는 프로세스를 구현할 수 있다. 데이터베이스는 저장 장치들이 진실로 이동식 매체를 가지고 있는지 또는 이들이 이동식 매체를 가지고 있음을 거짓으로 보고하는지를 나타내는 저장 장치들의 목록일 수 있다. 또 다른 실시예에서, 본 시스템은 저장 장치가 거짓으로 이동식 매체를 나타내는지를 판정하기 위해 소정의 발견적 테스팅(some heuristically testing)을 적용할 수 있다. 또 다른 실시예에서, 이러한 저장 장치와 관련하여 데이터를 공유하기 위해 원격 측정 서비스가 호스트들의 그룹에 의해 사용될 수 있다.A system and method are disclosed for detecting legacy storage devices that may falsely and/or inaccurately report to a host system that they have removable media. Such false or inaccurate reports can cause the host system to periodically poll the storage device to see if it is ready for I/O processing. Such polling may be unnecessary and may indicate a waste of power consumed by the host system. In one embodiment, the system may implement a process for periodically polling the storage medium and updating the database. The database may be a list of storage devices indicating whether the storage devices truly have removable media or falsely report that they have removable media. In another embodiment, the system may apply some heuristically testing to determine if a storage device falsely represents a removable medium. In another embodiment, a telemetry service may be used by a group of hosts to share data related to such storage devices.
Description
최소 전력 소비는 보다 새로운 컴퓨팅 플랫폼에서 주목을 받는 점점 중요해지는 특징이다. 최초의 범용 직렬 버스(USB) 대용량 저장소- 예를 들어, BOT(Bulk-Only Transport) 및 UASP(USB Attached SCSI Protocol) - 규격의 몇몇 측면은 이러한 경향과 상충되는 경향이 있다. USB 대용량 저장 장치에 연결된 호스트 시스템의 전체적인 전력 소비는 이들 기존 규격의 작은 수정만으로 개선될 수 있다.Minimal power consumption is an increasingly important feature that is gaining attention in newer computing platforms. Some aspects of the first Universal Serial Bus (USB) mass storage - such as Bulk-Only Transport (BOT) and USB Attached SCSI Protocol (UASP) - tend to conflict with this trend. The overall power consumption of a host system connected to a USB mass storage device can be improved with only minor modifications to these existing specifications.
이제, USB 3.0 규격의 일부로서, 버스 활용 및 전력 효율을 개선하기 위한 새로운 기능이 추가되었다. USB 3.0을 통해 연결되는 소정의 장치들은 이제 (비동기식으로) 그 장치의 준비상태를 호스트에 알릴 수 있는 기능을 가질 수 있어, 연결된 각각의 모든 장치를 폴링할 필요는 없다. 또한, BOT 및 UASP 규격의 수정은 이동식 매체를 가진 장치에서의 매체 상태 변화를 검출하는 또 다른 유형의 폴링을 필요없게 하는 경향이 있다.Now, as part of the USB 3.0 specification, new features have been added to improve bus utilization and power efficiency. Certain devices connected via USB 3.0 may now have the ability to (asynchronously) notify the host of the device's readiness, eliminating the need to poll each and every connected device. Also, modifications to the BOT and UASP specifications tend to obviate the need for another type of polling to detect media state changes in devices with removable media.
이하에서는 본 명세서에 기술된 몇몇 측면들의 기본적인 이해를 제공하기 위해 본 발명의 간단한 개요가 제공된다. 본 개요는 청구 대상의 광범위한 개요는 아니다. 청구 대상의 핵심 요소 또는 중요 사항을 확인하거나 본 발명의 범주를 기술하려는 것도 아니다. 본 개요의 단 하나의 목적은 이후에 제시되는 보다 상세한 설명에 대한 서두로서 청구 대상의 몇몇 개념들을 간단한 형식으로 제공하려는 것이다.A brief summary of the invention is provided below in order to provide a basic understanding of some aspects described herein. This summary is not an extensive overview of the claimed subject matter. It is not intended to identify key elements or critical points of the claimed subject matter or to delineate the scope of the invention. Its sole purpose is to present some concepts of the claimed subject matter in a simplified form as a prelude to the more detailed description that is presented later.
자신들이 이동식 매체를 가지고 있음을 호스트 시스템에 거짓으로 및/또는 부정확하게 보고할 수 있는 레거시 저장 장치들을 검출하는 시스템 및 방법이 개시된다. 이러한 거짓 또는 부정확한 보고는 호스트 시스템으로 하여금 저장 장치가 I/O 처리를 위한 준비가 되어 있는지에 대해 그 저장 장치를 주기적으로 폴링하게 할 수 있다. 이러한 폴링은 불필요할 수 있고 호스트 시스템에 의해 소비되는 전력 낭비를 나타낼 수 있다. 일 실시예에서, 본 시스템은 주기적으로 저장 매체를 폴링하고 데이터베이스를 업데이트하는 프로세스를 구현할 수 있다. 데이터베이스는 저장 장치들이 진실로 이동식 매체를 가지고 있는지 또는 이동식 매체를 가지고 있는 것으로 거짓으로 보고하는지를 나타내는 저장 장치들의 목록일 수 있다. 또 다른 실시예에서, 본 시스템은 저장 장치가 거짓으로 이동식 매체를 나타내는지를 판정하기 위해 소정의 발견적 테스팅(some heuristically testing)을 적용할 수 있다. 또 다른 실시예에서, 이러한 저장 장치와 관련하여 데이터를 공유하기 위해 원격 측정 서비스(telemetry service)가 호스트들의 그룹에 의해 사용될 수 있다.A system and method are disclosed for detecting legacy storage devices that may falsely and/or inaccurately report to a host system that they have removable media. Such false or inaccurate reports may cause the host system to periodically poll the storage device to see if the storage device is ready for I/O processing. Such polling may be unnecessary and may indicate a waste of power consumed by the host system. In one embodiment, the system may implement a process for periodically polling the storage medium and updating the database. The database may be a list of storage devices indicating whether the storage devices truly have removable media or falsely report that they have removable media. In another embodiment, the system may apply some heuristically testing to determine if a storage device falsely represents a removable medium. In another embodiment, a telemetry service may be used by a group of hosts to share data related to such storage devices.
일 실시예에서, 저장 장치를 검출하는 방법이 개시되는데, 이 저장 장치는 호스트 시스템에 연결되어, 상기 저장 장치는 연관된 메타데이터를 포함하며, 상기 연관된 메타데이터는 이러한 저장 장치가 이동식 매체를 가지고 있음을 거짓으로 나타낼 수 있고, 상기 방법은 상기 호스트 시스템으로부터 매체 폴링 메시지를 제1 저장 장치로 전송하는 단계- 상기 매체 폴링 메시지는 상기 제1 저장 장치가 준비되어 있는지 여부를 질의함 -와, 상기 제1 저장 장치가 준비되어 있지 않은 것으로 응답하는 경우, 상기 제1 저장 장치가 진실로 이동식 매체를 가지고 있는 것으로 데이터베이스를 업데이트하는 단계를 포함한다. In one embodiment, a method of detecting a storage device is disclosed, wherein the storage device is coupled to a host system, wherein the storage device includes associated metadata, wherein the storage device has a removable medium. , the method includes sending a media polling message from the host system to a first storage device, the media polling message querying whether the first storage device is ready; 1 if the storage device responds that it is not ready, then updating the database that the first storage device does indeed have a removable medium.
또 다른 실시예에서, 호스트 시스템에서 저장 장치를 검출하는 시스템이 개시되는데, 이 저장 장치는 연관된 메타데이터를 더 포함하고, 연관된 메타데이터는 상기 저장 장치가 이동식 저장 매체를 포함하고 있는 것으로 거짓으로 나타낼 수 있고, 상기 시스템은 대용량 저장 드라이버- 상기 대용량 저장 드라이버는 상기 저장 장치에 연결될 수 있고 상기 저장 장치로 메시지를 전송할 수 있고 그로부터 메시지를 수신할 수 있음 -와, 블록 저장 드라이버- 상기 블록 저장 드라이버는 상기 대용량 저장 드라이버에 연결되고 상기 저장 장치로 메시지를 전송하고 그로부터 메시지를 수신할 수 있음 -와, 프로세서- 상기 프로세서는 매체 폴링 메시지를 상기 저장 장치로 전송할 수 있고 진실로 이동식 매체를 가지고 있지 않은 상기 저장 장치로의 추가적인 매체 폴링 메시지를 차단할 수 있음 -를 포함한다.In yet another embodiment, a system for detecting a storage device in a host system is disclosed, the storage device further comprising associated metadata, the associated metadata falsely indicating that the storage device comprises a removable storage medium. wherein the system comprises a mass storage driver, the mass storage driver capable of being coupled to the storage device and capable of sending messages to and receiving messages from the storage device, and a block storage driver, the block storage driver comprising: a processor coupled to the mass storage driver and capable of sending messages to and receiving messages from the storage device, wherein the processor is capable of sending a media poll message to the storage device and is capable of sending messages to the storage device and not having truly removable media. may block additional media polling messages to the device.
본 시스템의 다른 특징 및 측면은 본 출원 내의 도면과 연계하여 이하의 상세한 설명에서 제시된다. Other features and aspects of the system are set forth in the detailed description below in connection with the drawings within this application.
도면을 참조하여 예시적인 실시예들이 설명된다. 본 명세서에서 개시된 실시예 및 도면은 제한적이 아닌 예시적인 것으로 간주되어야 한다.Exemplary embodiments are described with reference to the drawings. The embodiments and drawings disclosed herein are to be regarded as illustrative and not restrictive.
도 1은 전형적인 호스트/허브/주변 장치 구성 환경의 일 실시예를 나타낸다.
도 2는 개정된 BOS 규격 하에서 이루어질 수 있는 처리의 하나의 예시적인 실시예를 나타낸다.
도 3은 본 출원의 원리에 따라 행해진 본 시스템의 하나의 예시적인 실시예를 나타낸다.
도 4는 이동식 매체를 가지고 있거나 가지고 있지 않을 수 있는 레거시 장치들 간을 식별 및/또는 구별하는 프로세스의 하나의 흐름도를 나타낸다.
도 5는 자신들의 이동식 매체 상태를 잘못 보고할 수 있는 장치들을 식별하고 전력 절약을 구현하는데 도움을 주는 프로세스의 또 다른 흐름도를 나타낸다.
도 6은 참가 호스트 시스템으로부터 원격측정 데이터를 수집 및 취합하는 프로세스의 또 다른 흐름도를 나타낸다. 1 illustrates one embodiment of a typical host/hub/peripheral configuration environment.
2 shows one exemplary embodiment of the processing that may occur under the revised BOS specification.
3 shows one exemplary embodiment of the present system made in accordance with the principles of the present application.
4 depicts one flow diagram of a process for identifying and/or discriminating between legacy devices that may or may not have removable media.
5 shows another flow diagram of a process to help implement power savings and identify devices that may misreport their removable media status.
6 shows another flow diagram of a process for collecting and aggregating telemetry data from participating host systems.
본 명세서에서 사용되는 "컴포넌트", "시스템", "인터페이스", "컨트롤러" 등의 용어는 컴퓨터 관련 엔티티, 즉 하드웨어, (예를 들어, 실행) 소프트웨어, 및/또는 펌웨어를 지칭하려 한다. 예를 들어, 이들 용어 중 어떠한 용어도 프로세서에서 실행되는 프로세스, 프로세서, 객체, 실행가능한 것, 프로그램 및/또는 컴퓨터일 수 있다. 예를 들어, 서버에서 실행되는 애플리케이션 및 서버 모두는 컴포넌트 및/또는 컨트롤러일 수 있다. 하나 이상의 컴포넌트/컨트롤러는 프로세스 내에 상주할 수 있고 컴포넌트/컨트롤러는 하나의 컴퓨터 상에 로컬화될 수 있고 및/또는 둘 이상의 컴퓨터 간에 분배될 수 있다.As used herein, the terms “component,” “system,” “interface,” “controller,” and the like, are intended to refer to computer-related entities: hardware, (eg, executable) software, and/or firmware. For example, any of these terms may refer to a process running on a processor, a processor, an object, an executable, a program, and/or a computer. For example, both an application running on a server and a server may be a component and/or a controller. One or more components/controllers may reside within a process and components/controllers may be localized on one computer and/or distributed between two or more computers.
본 발명은 도면을 참조하여 설명되며, 전반에 걸쳐 유사한 요소를 나타내기 위해 유사한 참조 번호가 사용된다. 이하의 설명에서, 설명을 목적으로, 본 발명의 철저한 이해를 제공하기 위해 다수의 특정 세부사항이 설명된다. 그러나, 본 발명은 이러한 특정 세부사항없이도 구현될 수 있음은 자명하다. 다른 예로, 잘 알려져 있는 구조 및 장치는 본 발명의 설명을 용이하게 하기 위해 블록도 형태로 도시되어 있다.BRIEF DESCRIPTION OF THE DRAWINGS The invention is described with reference to the drawings, wherein like reference numerals are used to denote like elements throughout. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing the present invention.
도입부intro
일 실시예에서, 전력은 USB 플래시 드라이브에 대한 매체 상태의 폴링을 제거함으로서 절약될 수 있다. 그러나, 이를 안전하게 행하는 것은 다음과 같은 이유로 불가능할 수 있다. 즉, (1) 대다수의 USB 플래시 드라이브(UFD)는 이동식 매체를 부정확하게 보고하고, (2) 진실로 이동식 매체를 포함하는 장치(예를 들어, USB 플래시 카드 리더 장치)로부터 이들 UFD를 명확하게 구별할 수 있는 방법이 현재 존재하지 않기 때문이다. 이것은 특히 레거시 UFD가 사실은 이러한 이동식 매체를 가지고 있지 않은 경우에도 이들이 이동식 매체를 포함한 것으로 (그러나, 거짓으로) 표현한 경우에 그러하다.In one embodiment, power may be saved by eliminating polling of media status to the USB flash drive. However, doing this safely may be impossible for the following reasons. That is, (1) the majority of USB flash drives (UFDs) report removable media incorrectly, and (2) clearly distinguish these UFDs from devices that do indeed contain removable media (eg, USB flash card reader devices). Because there is currently no way to do it. This is especially true where legacy UFDs are represented (but falsely) as containing removable media even when they do not actually have such removable media.
이제, 보다 새로운 비-레거시 장치는 새로운 비동기식 통지 메카니즘을 구현할 수 있는데, 이 비동기식 통지 메카니즘을 통해 호스트는 어떠한 기능 장애 또는 데이터 손실을 감수하지 않고도 매체 폴링을 명확하게 그리고 안전하게 제거할 수 있다. 그러나, 이것은 현재 사용되고 있는 모든 레거시 장치들에 대해 (현재 및 가까운 장래에도) 해당되지 않는다.Now, newer non-legacy devices can implement a new asynchronous notification mechanism, which allows the host to explicitly and safely eliminate media polling without risking any malfunction or data loss. However, this is not the case (now and in the near future) for all legacy devices currently in use.
이 상황을 이해하기 위해, 도 1은 전형적인 USB 3.0 호스트/허브/주변 장치 구성의 하나의 아키텍처 다이아그램(100)의 하나의 예시적인 실시예이다. 도 1에서 알 수 있는 바와 같이, 새로운 초고속 버스는 종래의 USB 2.0 버스와 함께 동작하는 듀얼 버스 아키텍처의 일부이다. 컨트롤러(102)는 I/O 처리 및/또는 기능을 제공하기 위해 USB 3.0 호스트(104)와 통신할 수 있다. USB 3.0 호스트(104)는 레거시 USB 2.0 호스트(106)에 대한 호환가능 지원을 제공할 뿐만 아니라, 새로운 초고속 호스트 성능(108)도 제공할 수 있다. 컨트롤러(102)는 시스템의 CPU, I/O 컨트롤러, 또는 이러한 컨트롤러 하드웨어 및/또는 소프트웨어 컴포넌트의 조합일 수 있다.To understand this situation, Figure 1 is one exemplary embodiment of one architecture diagram 100 of a typical USB 3.0 host/hub/peripheral configuration. As can be seen in Figure 1, the new high-speed bus is part of a dual-bus architecture that works with the conventional USB 2.0 bus. The controller 102 may communicate with a USB 3.0
호스트는 다수의 포트(예를 들어, 110a,110b)를 포함할 수 있다. 포트는 복수의 허브(112)에 연결될 수 있다. 허브(112)는 레거시 허브(114) 및 새로운(예를 들어, 초고속) 허브(116)를 더 포함할 수 있다. 이어서 이러한 허브는 비-초고속 기능(122) 및 초고속 기능(124)의 집합을 포함할 수 있는 복수의 USB 주변 장치(120)에 연결될 수 있다.A host may include multiple ports (eg, 110a, 110b). The ports may be connected to a plurality of
이러한 주변 장치는 다양한 유형의 레거시 장치, 예를 들어, (이동식 매체를 가지고 있음을 호스트에게 거짓으로 보고할 수 있는) 이동식 매체를 가지지 않는 USB 플래시 드라이버(126), 또는 실제 이동식 매체 컴포넌트(예를 들어, 메모리 카드(130))를 가진 카메라(128)를 포함할 수 있다. These peripherals may be various types of legacy devices, such as
도 2는 개정된 BOT 또는 UASP 규격 하에서 발생할 수 있는 처리에 대한 예시적인 실시예(200)를 나타낸다. USB 대용량 저장 장치(208)는 이동식일 수 있거나 그렇지 않을 수 있는 저장 매체(216), 처리 장치(214) 및 인터페이스 번들(210)을 포함할 수 있다. 인터페이스 번들(210)은 레거시(예를 들어, 기존 BOT 및 UASP 규격의) 인터페이스 IN 엔드 포인트(EP)(210a) 및 OUT EP(210b), 및 상태의 비동기식 통보를 위해 새롭게 도입된 인터럽트 엔드 포인트(INT EP(212))를 더 포함할 수 있다. 2 shows an
예를 들어, 이동식 저장소가 제거되었는지 또는 대체되었는지에 대한 상태의 변경은 통지 프로세스(206a)에서 호스트 시스템에게, 예를 들어 US 대용량 저장 드라이버(206)에게 비동기식으로 알려질 수 있다. 이러한 통지는 비동기식으로 블록 저장 드라이버(204)에, 구체적으로 매체 변경 프로세스(204a)에 더 전달될 수 있다. 끝으로, 이러한 상태의 변경은 상위 레벨 파일 시스템 스택(202)에 보고될 수 있다.For example, a change in state as to whether removable storage has been removed or replaced can be asynchronously notified to the host system in the
앞서 설명한 바와 같이, 레거시 장치들은 새로운 규격에 따라 구현되지 않기 때문에 이들 장치는 이러한 상태의 변경을 비동기식으로 보고하지 않을 것이다. 사실, 레거시 장치는 BOT/UASP 규격에 대해 새롭게 제안된 변경 이전의 장치이거나 이들 변경을 구현하지 않도록 선택된 장치일 수 있다. 또한, 레거시 장치들은 이들이 이동식 매체를 가지고 있지 않은 경우에도 이러한 이동식 매체를 가지고 있는 것으로 거짓으로 보고할 수 있다(따라서, 지속적인 폴링이 요구된다). 잠재적인 전력 절약을 위한 다양한 측면을 보다 잘 이해하기 위해, 다양한 컴포넌트들에 대한 영향을 고려하는 것이 바람직할 수 있다.As previously discussed, legacy devices will not asynchronously report this change of state because they are not implemented according to the new specification. In fact, a legacy device may be a device prior to the newly proposed changes to the BOT/UASP specification, or a device chosen not to implement these changes. Also, legacy devices may falsely report that they have removable media even if they do not (thus requiring constant polling). To better understand the various aspects for potential power savings, it may be desirable to consider the impact on the various components.
허브 및 컨트롤러 고려사항Hub and Controller Considerations
USB 장치 트리의 각 노드에 대한 전력을 관리하는 동안, 특정 노드 그 자체가 중지(suspend)될 수 있기 전에 그 특정 노드의 모든 자식이 중지되어야 한다. 그런 다음, 호스트 컨트롤러에 연결된 장치들의 전체 트리가 중지된 경우, 컨트롤러 그 자신이 중지될 수 있다. 중지된 컨트롤러는 그 자신의 회로를 활성 상태로 유지시키는 것과 연관된 전력을 절약할 수 있을 뿐만 아니라, 컨트롤러가 발생시킬 수 있는 인터럽트의 중단으로 인해 호스트 CPU 전력 소비를 줄일 수 있다.While managing power for each node in the USB device tree, all children of that specific node must be stopped before the specific node itself can be suspended. Then, if the entire tree of devices connected to the host controller is stopped, the controller itself can be stopped. A stopped controller may not only conserve power associated with keeping its own circuitry active, but may also reduce host CPU power consumption due to interruption of interrupts that the controller may generate.
CPU 고려사항CPU Considerations
이동식 매체를 갖는 장치의 현재 매체 상태에 대해 호스트를 최신으로 유지하기 위해, 시스템은 TEST UNIT READY(TUR) 커맨드(예를 들어, 매체 폴링 메시지)를 이용하여 주기적인 폴링을 행할 수 있다. 이것은 이러한 활동으로 인해 CPU가 보다 높은 전력 상태로 유지되게 하는 경향이 있게 하는 타이머 절차 호출의 상황에서의 코드의 주기적인 실행에 대응한다. 전체적인 시스템 전력 소비를 최소화하도록 시도하기 위해, 다음과 같은 사항을 고려하는 것이 바람직할 수 있다.To keep the host up-to-date with the current media status of devices with removable media, the system may perform periodic polling using a TEST UNIT READY (TUR) command (eg, a media poll message). This corresponds to the periodic execution of code in the context of timer procedure calls, which tends to cause the CPU to remain in a higher power state due to this activity. In an attempt to minimize overall system power consumption, it may be desirable to consider the following:
(1) 이동식 매체를 보고하는 장치는 매체 상태의 임의의 변화를 검출하기 위해 TEST UNIT READY 커맨드를 통해 호스트에 의해 연속적으로 폴링된다. 이것은 실제 데이터 I/O의 부재시에도 불필요하게 USB 장치 트리, 호스트 컨트롤러 및 호스트 CPU를 활성 상태로 유지시키기 위한 추가의 전력을 소비하는 경향이 있다.(1) Devices reporting removable media are continuously polled by the host via the TEST UNIT READY command to detect any change in media status. This tends to consume extra power to keep the USB device tree, host controller, and host CPU alive unnecessarily, even in the absence of actual data I/O.
(2) 보다 많은 전력 최적화된 호스트에 연결된 경우, 버스를 통해 전력공급되는 대용량 저장 장치는 이전의 호스트 버전에서보다 긴 시간 동안 중지 상태로 있는 자신을 발견할 수 있다. 중지 상태로 있는 이러한 기간은 장치가 강건한 동작을 유지하는데 요구되는 기간을 초과할 수 있다. 이러한 환경에서, 장치는 가끔의 포트 재개를 요구할 수 있는데, 포트는 장치가 소정 집합의 내부 하우스키핑 태스크를 완료할 수 있도록 하는 시간 동안 활성 상태로 유지된다.(2) When connected to a more power-optimized host, a mass storage device powered over the bus may find itself in a quiescent state for a longer period of time than in previous host versions. This period of inactivity may exceed the period required for the device to maintain robust operation. In such circumstances, the device may require occasional port resumption, where the port remains active for a period of time that allows the device to complete a set set of internal housekeeping tasks.
주변장치/장치 유형Peripheral/Device Type
본 명세서에 개시된 실시예에서, 기술된 메카니즘을 구현함으로써 그 보상으로 얻어지는 이점은 장치의 유형에 따라 달라질 수 있다. 결과에 영향을 미칠 수 있는 두 가지 유형의 이동성, 즉 장치 이동성 및 매체 이동성을 폭넓게 고려하는 것이 유익할 수 있다. 이하의 표 1은 이들 두 가지 속성의 순열을 나타내는 다양한 장치 유형의 예를 보여준다.In the embodiments disclosed herein, the benefits obtained as a reward for implementing the described mechanism may vary depending on the type of device. It may be beneficial to broadly consider the two types of mobility that may affect the outcome: device mobility and media mobility. Table 1 below shows examples of various device types representing permutations of these two properties.
카테고리 1 및 3의 장치는 TEST UNIT READY 폴링의 제거로부터 이득을 명확히 얻는 경향이 있는 반면, 카테고리 2 및 4의 장치는 대체로 포트를 원격으로 기동시키는 기능으로부터 이득을 얻을 수 있다. 또한, 카테고리 1 장치의 사용자는 전력을 보존하기 위해 단순히 장치들의 플러그를 뽑을 수 있는 반면, 카테고리 3 장치의 사용자는 동일한 선택을 할 수 있는 여건이 안될 수도 있다는 것을 고려하는 것이 바람직할 수 있다. 카테고리 3 장치는 이동식 매체 슬롯이 비어있는지 여부와 상관없이 시스템 전력을 소비한다는 것도 이해할 수 있다. 또한, 정규 USB 플래시 드라이브는 카테고리 1 및 2 모두에 속하는 것으로 나타난다는 것도 이해할 수 있다. 이것이 참인 이유는 대부분의 기존 플래시 드라이브가 (이동식 저장 매체의 진정한 탑재부가 아님에도 불구하고) 이동식 매체 비트(RMB)에 대해 비트 값 1(TRUE)을 지정하고 따라서 TEST UNIT READY 폴링을 야기하기 때문이다. 그러나, 몇몇 플래시 드라이브는 (예를 들어, 이동식 매체 비트(RMB)를 0으로 설정(즉, RMB=0)함으로써) 그들의 비-이동식 매체를 정확히 나타내고 (부정확한 값(RMB=1)을 보고하는 장치에 비해) 부착된 호스트 시스템에 대해 보다 많은 전력을 보존하는데 효과적인 도움을 준다.Devices in
일 실시예one embodiment
설명한 바와 같이, USB 플래시 드라이브의 이러한 불필요한 매체 폴링을 안전하게 제거함으로써 얻어지는 이점은 여러가지가 있다.As discussed, there are a number of benefits to be gained by safely removing this unnecessary media polling of a USB flash drive.
(1) 연속적인 폴링은 장치를 활성 상태로 유지시키는 경향이 있으며, 그에 따라 선택적 중지를 하지 못하게 한다. 폴링의 제거는 장치 자체가 유휴 상태에 도달할 수 있게 해주며 따라서 저전력 비활성 상태에 놓이게 할 수 있다.(1) Continuous polling tends to keep the device active, thus preventing selective quiescing. Elimination of polling allows the device itself to reach an idle state and thus put it into a low-power inactive state.
(2) 이것은 장치뿐만 아니라 전체 USB 장치 트리에 영향을 미칠 수 있는데, 그 이유는 USB 호스트 컨트롤러 외에도 모든 중간 허브 장치는 활성 상태로 유지되는 경향이 있기 때문이다.(2) This can affect not only devices, but the entire USB device tree, since all intermediate hub devices besides the USB host controller tend to remain active.
(3) 연속적인 폴링 DPC 타이머는 CPU를 불필요하게 활성 상태로 유지시키는 경향이 있을 수 있다.(3) Continuously polling DPC timers may tend to keep the CPU unnecessarily active.
따라서, 진실로 이동가능한 판독기 장치 대 USB 플래시 드라이브의 정확한 식별을 행함으로써 폴링을 안전하게 제거하는 것이 바람직할 수 있다. 또한, 부정확한 식별은 매체 변경을 놓치게 할 수 있고, 따라서 아마도 저하된 기능 및 데이터 손상을 야기할 수 있다.Thus, it may be desirable to safely eliminate polling by making an accurate identification of a truly removable reader device versus a USB flash drive. Also, incorrect identification may result in missed media changes, thus possibly resulting in degraded functionality and data corruption.
도 3은 (USB 3.0 표준 등에 영향을 미칠 수 있는) 본 시스템(300)의 하나의 예시적인 실시예를 나타낸다. 레거시 USB 대용량 저장 장치(308)는 저장 매체(316), 처리 컴포넌트(314) 및 인터페이스 번들(310)(레거시 인터페이스 IN EP(310a) 및 OUT EP(310b)를 더 포함할 수 있음)을 포함한다.3 shows one exemplary embodiment of the present system 300 (which may affect the USB 3.0 standard, etc.). The legacy USB
이 경우, 레거시 장치가 자신이 이동식 매체를 가지고 있는지 여부에 대해 부정확하게 지정할지라도, 시스템은 (도달하지 않을) 비동기식 통지를 기대하는 USB 대용량 저장 드라이버(306)에 대해 이러한 비동기식 통지를 여전히 이용할 수 있다. 시스템이 저장 장치로부터 비동기식 통지 메시지를 수신하는 경우, 그 시스템은 저장 장치가 레거시 장치가 아닌 것으로 나타내는 경향이 있으며, 시스템은 그에 따라 그 장치를 취급할 수 있는데, 이러한 취급은, 이러한 통지 메시지를 수신하는 경우, 시스템이 저장 장치의 ID 또는 저장 장치와 연관된 다른 메타데이터를 이용하여 그 저장 장치가 진실로 이동식 매체를 가지고 있는 것으로 메타데이터를 업데이트하는 것을 포함할 수 있다. 이러한 데이터 및/또는 데이터베이스는 원격 측정(telemetry)을 통해 또는 그와 다른 방식을 통해 다른 호스트 시스템과 더 공유될 수 있다. In this case, even if the legacy device incorrectly specifies whether it has removable media or not, the system can still use this asynchronous notification for the USB
상태는 매체 변경 프로세스(304a)를 통해 블록 저장 드라이버(304)로 비동기식으로 전달될 수 있다. 끝으로, 이러한 상태는 상위 레벨 파일 시스템 드라이버 스택(302)으로 더 전달될 수 있다. 블록 저장 드라이버(304)는 매체 변경 프로세스를 실행하거나 또는 연결된 저장 장치의 상태를 검출하고 I/O 처리를 위한 그들의 준비 상태 또는 RMB 상태에 대해 질의하기 위한 몇몇 충분한 프로세스를 실행하기 위한 프로세서를 더 포함할 수 있다(또는 충분한 처리 능력에 대한 액세스를 가질 수 있다).The state may be passed asynchronously to the
이러한 전력 절약 비동기식 상태 업데이트를 행하기 위해, 본 시스템에 대한 몇몇 실시예는 이동식 매체의 정확한 지정 및/또는 검출을 개선하기 위한 다양한 기법 및/또는 방법을 이용할 수 있다.To perform such power saving asynchronous state updates, some embodiments of the present system may utilize various techniques and/or methods to improve accurate designation and/or detection of removable media.
단지 하나의 예로서, 제품을 선적하기 전에 데이터를 수집할 수 있다. 먼저, 가능한 많은 공지된(레거시 또는 그와 다른 방식의) USB 플래시 드라이브 대 판독기 장치를 식별할 수 있다. 이들 판독기 및 장치에 관한 메타데이터는 탐색가능 테이블 또는 다른 적절한 데이터베이스에 배치될 수 있다. 이 데이터베이스는 (예를 들어, 초기 테이블로서) 참조될 수 있고 시스템은 정확한 폴링 행위를 적절히 적용할 수 있다. As just one example, data may be collected prior to shipping a product. First, you can identify as many known (legacy or otherwise) USB flash drives versus reader devices as possible. Metadata regarding these readers and devices may be placed in a searchable table or other suitable database. This database can be referenced (eg, as an initial table) and the system can apply the correct polling behavior as appropriate.
그러나, 이러한 초기 테이블/데이터베이스는 완전하지 않을 뿐만 아니라 진보적이지도 않아 제한을 받을 수 있기 때문에, 호스트 시스템이 아래와 같이 그것을 더 정제(refine)하기 위한 소정의 추종(follow on) 휴리스틱 프로시저 및/또는 방법을 사용할 수 있다.However, since this initial table/database may be limited by not being complete as well as not being advanced, some follow on heuristic procedures and/or methods for the host system to further refine it as follows: can be used
(1) 초기화 동안, RMB=1를 보고하는 몇몇 또는 모든 레거시 유닛(LUN)에 TUR 커맨드(또는 장치가 I/O 처리를 할 준비가 되어 있음을 나타내는 몇몇 다른 "준비" 커맨드)를 한번 발행한다. 적어도 하나의 LUN이 NOT READY - MEDIA NOT PRESENT로 TUR에 응답하는 경우, 이것은 진실로 이동식 매체를 가진 플래시 카드 판독기 또는 다른 장치이다. 이 후 시스템 또는 호스트는 그것을 그에 따라 처리할 수 있는데, 이러한 처리는 그 장치에 대한 폴링을 비활성화하고 및/또는 장치가 진실로 이동식 매체를 가지고 있는 것으로 테이블/데이터베이스를 업데이트하는 것을 포함한다.(1) During initialization, issue a TUR command (or some other "ready" command to indicate that the device is ready to do I/O processing) once to some or all legacy units (LUNs) reporting RMB=1 . If at least one LUN responds to TUR with NOT READY - MEDIA NOT PRESENT, then this is truly a flash card reader or other device with removable media. The system or host can then process it accordingly, including disabling polling for that device and/or updating the table/database that the device does indeed have removable media.
(2) 모두가 READY를 보고하는 경우, 정확한 확인을 위해 추가의 증거가 바람직할 수 있다. 원격 측정 보고시, 장치의 하드웨어 ID(제조사 ID(VID) 및 제품 ID(PID)), LUN의 개수 및 각 LUN이 READY 대 NOT READY를 보고한 횟수를 포함하도록 데이터를 업로드, 공유할 수 있다(예를 들어, 다른 호스트와 장치 에러터 데이터베이스를 업데이트할 수 있다)(이것이 바람직한 이유는 RMB=0 장치들 중 몇몇 적은 일부는 가끔 및 간헐적으로 NOT READY를 보고하기 때문이다).(2) If everyone reports READY, additional evidence may be desirable for accurate confirmation. When reporting telemetry, data can be uploaded and shared to include the device's hardware ID (manufacturer ID (VID) and product ID (PID)), number of LUNs, and the number of times each LUN reported READY versus NOT READY ( For example, you can update the device errorer database with other hosts) (this is desirable because some small fractions of RMB=0 devices occasionally and intermittently report NOT READY).
(3) 원격 측정 샘플 데이터를 수집하고 초기 테이블/데이터베이스에 포함되지 않을 수 있는 매우 가능성이 있는 UFD 대 플래시 카드 판독기 장치를 식별한다. 이러한 검토 프로세스는 고려사항으로부터 임의의 곤란 상황 또는 변칙 사항을 제거하는데 도움을 줄 수 있다.(3) Collect telemetry sample data and identify highly probable UFD vs. flash card reader devices that may not be included in the initial table/database. This review process can help remove any anomalies or anomalies from consideration.
(4) 이러한 새로운 정보를 주기적으로 적용하여 테이블/데이터베이스를 업데이트하고 드라이버를 동적으로 업데이트한다.(4) Apply these new information periodically to update tables/databases and dynamically update drivers.
설명한 바와 같이, 비동기식 통지를 구현하는 새로운 USB 대용량 저장 장치는 호스트에 노출된 인터페이스 디스크립터 번들(interface descriptor bundle)에 삽입된 추가의 인터럽트 엔드포인트를 통해 그와 같이 행할 수 있다. 이러한 새로운 비동기식 통지 기능을 알지 못하는 레거시(또는 다운 레벨) 호스트는 추가의 인터럽트 엔드포인트를 단순히 무시할 수 있고 이 새로운 기능의 이점을 이용하지 못할 수 있다.As described, new USB mass storage devices that implement asynchronous notifications can do so via an additional interrupt endpoint inserted into an interface descriptor bundle exposed to the host. Legacy (or down-level) hosts that are not aware of this new asynchronous notification feature may simply ignore the additional interrupt endpoints and may not benefit from this new feature.
그러나, 보다 새로운 호스트 시스템만이 이러한 새로운 비동기식 통지 메카니즘을 인식 및 이용할 수 있다. 이 호스트 시스템은 새로운 인터럽트 엔드포인트를 선택하고 장치가 활성 D0 전력 상태로 유지되는 한 이 엔드포인트에 대해 영속적이고 미해결된 요청을 유지함으로써 그와 같이 행한다. 이 요청은 장치에 의해 임의의 매체 변경 이벤트가 있을 시 장치에 의해 해결된다. 이 후, 호스트는 최근에 해결된 요청을 대체하기 위한 또 다른 인터럽트 엔드포인트 요청을 재발행한다. 장치가 D3 전력 상태로 천이함에 따라, 호스트 시스템은 인터럽트 엔드포인트에 대한 이러한 미해결된 요청을 취소한다. 이어서, 장치에서 로컬로 검출된 매체 변경에 대응하는 장치 가동 시그널링으로 인해 또는 호스트 개시 천이로 인해, 장치가 활성 D0 전력 상태로 재개함에 따라, 호스트는 영속적인 인터럽트 엔드포인트 비동기식 통지 요청을 다시 설정한다.However, only newer host systems can recognize and use this new asynchronous notification mechanism. The host system does so by selecting a new interrupt endpoint and maintaining persistent and outstanding requests to this endpoint as long as the device remains in the active DO power state. This request is resolved by the device upon any media change event by the device. After this, the host reissues another interrupt endpoint request to replace the recently resolved request. As the device transitions to the D3 power state, the host system cancels these outstanding requests to the interrupt endpoint. The host then re-establishes a persistent interrupt endpoint asynchronous notification request as the device resumes to the active DO power state, either due to device wake signaling corresponding to a locally detected media change at the device or due to a host-initiated transition. .
몇몇 처리 실시예some processing examples
도 4는 이동식 매체를 가질 수 있거나 가지지 않을 수 있는 레거시 장치들 간을 식별 및/또는 구별하는데 도움을 주고 또한 전력을 절약하는데 도움을 줄 수 있는 처리의 하나의 흐름도 실시예(400)를 나타낸다.4 illustrates one
402에서, 장치는 허브에 삽입될 수 있고, 이후, 404에서 시스템은 인쿼리(Inquiry) 커맨드(즉, 몇몇 준비 커맨드)를 발행할 수 있다. 장치가 자신은 이동식 매체를 가지고 있지 않는 것으로 보고하는 경우(RMB=0), 414에서 시스템은 전력 절약 경로로 천이할 수 있는데, 이 경우 장치 유휴 타이머는 재설정될 수 있다. 시스템은 장치가 연결해제된다는 보고를 수신할 수 있는데, 이 경우 424에서 장치는 더 이상 고려되지 않고 제거될 수 있다.At 402 , the device may be inserted into the hub, and then, at 404 , the system may issue an Inquiry command (ie, some prepare commands). If the device reports that it does not have removable media (RMB=0), then at 414 the system may transition to a power saving path, in which case the device idle timer may be reset. The system may receive a report that the device is disconnected, in which case at 424 the device is no longer considered and may be removed.
그러나, 시스템으로부터 I/O 요청이 있는 경우, 414에서 장치 유휴 타이머는 요청이 서빙되는 동안 재설정될 수 있다. 이러한 I/O 요청이 없는 경우, 420에서 장치의 유휴 타이머는 만료될 수 있다. 그런 경우, 422에서 전력을 절약하기 위해 장치 포트를 중지시킬 수 있다.However, if there is an I/O request from the system, at 414 the device idle timer may be reset while the request is being served. If there is no such I/O request, the device's idle timer may expire at 420 . In that case, the device port can be stopped at 422 to save power.
그러나, 406에서, 장치가 RMB=1를 보고하는 경우(즉, 장치가 이동식 매체를 가지고 있는 것으로 보고하는 경우), 시스템은 장치가 진실로 이동식 매체를 가지고 있는지 여부를 확인하기 위해 몇몇 휴리스틱 테스팅을 적용할 수 있다. 일 실시예에서, 이러한 휴리스틱 테스팅은 전술한 바와 같이 진행될 수 있다. 휴리스틱에 따르면 장치가 비이동식 매체를 가지는 경우, 프로세스는 414로 천이될 수 있고 그에 따라 진행될 수 있다.However, at 406, if the device reports RMB=1 (i.e., the device reports that it has removable media), the system applies some heuristic testing to determine whether the device truly has removable media. can do. In one embodiment, such heuristic testing may proceed as described above. According to the heuristic, if the device has a non-removable medium, the process may transition to 414 and proceed accordingly.
그와 달리, 시스템은 장치가 (예를 들어, BOT/UASP 규격 확장 또는 이러한 비동기식 통지를 지원할 수 있는 임의의 다른 규격에 따라) 비동기식 매체 통지를 구현하는지 여부에 대해 더 문의할 수 있다. 그러한 경우, 시스템은 414로 천이할 수 있다. 그와 달리, 시스템은 주기적인 TUR 폴링을 구현할 수 있고 장치는 유휴 상태가 되지 않을 수 있다.Alternatively, the system may further inquire as to whether the device implements asynchronous media notification (eg, according to a BOT/UASP specification extension or any other specification capable of supporting such asynchronous notification). In such case, the system may transition to 414 . Alternatively, the system may implement periodic TUR polling and the device may not be idle.
도 5는 전력 절약을 구현하는데(또한 자신들의 이동식 매체 상태를 거짓 보고할 수 있는 장치들에 대한 메타데이터를 업데이트 및 정제하는데) 도움이 될 수 있는 다른 프로세스(예를 들어, 도 4 등)를 보완할 수 있는 또 다른 흐름 실시예(500)이다. 502에서, 장치가 삽입될 수 있다. 504에서 시스템은 특정 장치의 상태를 확인하기 위해 테이블/데이터베이스를 참조할 수 있다. 506에서 장치가 이동식 매체를 가지지 않는 것으로 나열된 경우, 508에서 시스템은 그 장치에 대한 TUR 폴링을 비활성할 수 있다.5 illustrates another process (eg, FIG. 4 , etc.) that may help implement power savings (and also update and refine metadata for devices that may falsely report their removable media status); Another
이와 달리, 데이터베이스 엔트리가 없는 경우, 시스템은 510으로 천이할 수 있고 장치가 연결해제되는지 여부를 검출할 수 있다. 그러한 경우, 시스템은 장치 제거된 상태(518)로 천이할 수 있다. 그와 달리, 시스템은 TUR 폴링에 대한 장치의 응답을 모니터링할 수 있다. 매체가 없다는 것을 나타내는 응답이 있는 경우, 516에서 시스템은 장치에 대한 데이터를 수집할 수 있고 원격 측정을 통해 장치에 대해 보고할 수 있다. 그렇지 않으면, 시스템은 TUR 폴링에 대한 장치의 응답을 계속 모니터링할 수 있고 그에 따라 진행할 수 있다.Alternatively, if there is no database entry, the system may transition to 510 and detect whether the device is disconnected. In such a case, the system may transition to the device removed
도 6은 참가 호스트 시스템으로부터 데이터를 수집 및 취합하는 (예를 들어, 아마도 서버 시스템에서 오프라인으로 실행되는) 프로세스의 또 다른 흐름도 실시예(600)이다. 이것은 자신의 이동식 매체 상태를 잘못 식별할 수 있는 장치들을 적절히 확인하기 위해 테이블/데이터베이스를 업데이트하는데 사용될 수 있다. 이 프로세스는 오프라인으로 또는 다른 방식으로 진행될 수 있다. 602에서, 시스템은 원격 측정 데이터를 검토하여 장치 데이터베이스를 업데이트할 수 있다. 그와 같이 업데이트된 데이터베이스를 통해, 604에서 시스템은 임의의 비이동식 매체가 있는지 여부를 확인할 수 있다. 그러한 경우, 606에서 시스템은 특정 장치의 조작에 대해 모든 업데이트가능 호스트 시스템에 알리기 위한 목적으로 데이터베이스를 업데이트할 수 있다. 보고할 새로운 장치가 있는 경우, 시스템은 이러한 정보를 데이터베이스에 전달할 수 있다. 소정의 시간 이후, 이 데이터베이스는 적절한 업데이트 프로세스(예를 들어, 윈도우 업데이트®컴퓨터 서비스)를 통해 모든 업데이트가능 호스트 시스템과 공유될 수 있다.6 is another
앞서 설명한 것들은 본 발명의 예를 포함한다. 물론, 청구대상을 설명하기 위해 컴포넌트들 또는 방법들의 모든 인지가능한 조합을 설명할 수는 없지만, 당업자라면 본 발명의 다수의 추가의 조합 및 대체 실시예들이 가능함을 알 수 있을 것이다. 따라서, 청구대상은 첨부된 청구항의 사상 및 범주 내에 속하는 이러한 모든 변경, 수정 및 변형을 포함하려 한다.What has been described above includes examples of the invention. Of course, it is not possible to describe every conceivable combination of components or methodologies for the purposes of describing claimed subject matter, but those skilled in the art will recognize that many further combinations and alternative embodiments of the invention are possible. Accordingly, the claimed subject matter is intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims.
특히 전술한 컴포넌트, 장치, 회로, 시스템 등에 의해 수행되는 다양한 기능과 관련하여, 이러한 컴포넌트를 설명하기 위해 사용되는 ("수단"을 비롯하여) 용어는 달리 특별히 나타내지 않는다면, 본 명세서에서 예시되어 있는 청구대상의 측면에서의 기능을 수행하는 (비록 개시되어 있는 구조와 구조적으로 등가이지 않더라도) 개시된 컴포넌트의 특정 기능(예를 들어, 기능적으로는 등가임)을 수행하는 임의의 컴포넌트에 대응하려 한다. 이와 관련하여, 본 발명은 청구대상의 다양한 방법의 액트 및/또는 인벤트를 수행하는 컴퓨터 실행가능 명령어를 갖는 컴퓨터 판독가능 매체 및 시스템을 포함함을 알 수 있을 것이다.In particular with respect to the various functions performed by the aforementioned components, apparatus, circuits, systems, etc., the terminology (including "means") used to describe such components, unless otherwise specifically indicated, refers to the subject matter illustrated herein It is intended to correspond to any component that performs a particular function (eg, functionally equivalent) of the disclosed component (even if it is not structurally equivalent to the disclosed structure) that performs the function in terms of . In this regard, it will be appreciated that the present invention includes computer-readable media and systems having computer-executable instructions for performing the acts and/or inventions of the various methods of the claimed subject matter.
또한, 본 발명의 특정 특징은 몇몇 실시예들 중 하나의 실시예에 대해서만 설명될 수 있지만, 이러한 특징은 임의의 주어진 또는 특정 애플리케이션에 바람직하고 유리할 수 있도록 다른 실시예의 하나 이상의 다른 특징과 결합될 수 있다. 또한, "포함한다(includes)" 및 "포함하는"라는 용어 및 이들의 변형예가 상세한 설명 또는 청구항에 사용되는 경우, 이들 용어는 "포함하는(comprising)"라는 용어와 유사한 포함범위를 가지려 한다.Further, while certain features of the invention may be described with respect to only one of several embodiments, such features may be combined with one or more other features of other embodiments as may be desirable and advantageous for any given or particular application. have. Also, when the terms "includes" and "comprising" and variations thereof are used in the specification or claims, these terms are intended to have a similar scope to the term "comprising". .
Claims (20)
호스트 시스템으로부터 매체 폴링 메시지(media polling message)를 제1 저장 장치로 전송하는 단계 - 상기 매체 폴링 메시지는 상기 제1 저장 장치가 준비되어 있는지 여부에 대해 질의함 - 와,
상기 제1 저장 장치가 준비되어 있지 않은 것으로 응답하는 경우, 상기 제1 저장 장치는 이동식 매체를 가지고 있다는 표시와 함께 데이터베이스를 업데이트하는 단계와,
상기 호스트 시스템으로부터 다른 매체 폴링 메시지를 제2 저장 장치로 전송하는 단계 - 상기 다른 매체 폴링 메시지는 상기 제2 저장 장치가 준비되어 있는지 여부에 대해 질의함 - 와,
상기 제2 저장 장치는 이동식 매체를 가지고 있지 않다는 표시를 수신하는 단계와,
상기 제2 저장 장치는 이동식 매체를 가지고 있지 않다는 표시에 응답하여, 상기 호스트 시스템에 의한 상기 제2 저장 장치에 대한 폴링을 디스에이블링하는 단계를 포함하는,
저장 장치 관리 방법.
A method of managing a storage device, comprising:
sending a media polling message from the host system to a first storage device, the media polling message querying whether the first storage device is ready;
if the first storage device responds that it is not ready, updating the database with an indication that the first storage device has removable media;
sending another media polling message from the host system to a second storage device, the other media polling message querying whether the second storage device is ready;
receiving an indication that the second storage device does not have removable media;
in response to an indication that the second storage device does not have removable media, disabling polling by the host system for the second storage device;
How to manage storage devices.
상기 매체 폴링 메시지에 대한 응답은, 상기 제1 저장 장치가 이동식 저장 매체인지 여부의 표시를 포함하는,
저장 장치 관리 방법.
According to claim 1,
wherein the response to the media poll message includes an indication of whether the first storage device is a removable storage medium;
How to manage storage devices.
제3 저장 장치로부터 비동기식 통지 메시지를 수신하는 단계와,
상기 제3 저장 장치로부터의 상기 비동기식 통지 메시지에 응답하여, 상기 제3 저장 장치는 이동식 매체를 가지고 있다는 표시와 함께 상기 데이터베이스를 업데이트하는 단계를 더 포함하는,
저장 장치 관리 방법.
According to claim 1,
receiving an asynchronous notification message from a third storage device;
in response to the asynchronous notification message from the third storage device, further comprising updating the database with an indication that the third storage device has removable media.
How to manage storage devices.
상기 데이터베이스는. 저장 장치들을 상기 저장 장치들에 대한 미디어의 이동성(removability)에 연관시키는,
저장 장치 관리 방법.
According to claim 1,
said database. associating storage devices with the mobility of media relative to the storage devices;
How to manage storage devices.
제3 저장 장치에 대응하는 엔트리를 상기 데이터베이스에서 탐색하는 단계와,
상기 제3 저장 장치에 대응하는 엔트리의 위치를 찾는 단계와,
상기 데이터베이스에서 상기 제3 저장 장치에 대응하는 엔트리의 위치를 찾는 것에 응답하여, 상기 호스트 시스템에 의한 상기 제3 저장 장치에 대한 폴링을 디스에이블링하는 단계를 더 포함하는,
저장 장치 관리 방법.
5. The method of claim 4,
searching the database for an entry corresponding to a third storage device;
locating an entry corresponding to the third storage device;
in response to locating an entry corresponding to the third storage device in the database, disabling polling by the host system for the third storage device;
How to manage storage devices.
상기 저장 장치들은 적어도 플래시 메모리 드라이브를 포함하는,
저장 장치 관리 방법.
5. The method of claim 4,
wherein the storage devices include at least a flash memory drive;
How to manage storage devices.
매체의 이동성을 거짓으로 나타내는 메타데이터를 제공하는 저장 장치들에 관한 데이터를 제2 호스트 시스템과 공유하는 단계를 더 포함하는,
저장 장치 관리 방법.
According to claim 1,
and sharing with a second host system data pertaining to storage devices that provide metadata falsely indicating the mobility of the medium.
How to manage storage devices.
상기 데이터를 공유하는 단계는, 상기 제2 호스트 시스템에, 하드웨어 ID, 제조사 ID(VID), 제품 ID(PID), 및 레거시 유닛(LUN) 중 적어도 하나를 업로드하는 단계를 포함하는,
저장 장치 관리 방법.
8. The method of claim 7,
The sharing of the data includes uploading to the second host system at least one of a hardware ID, a manufacturer ID (VID), a product ID (PID), and a legacy unit (LUN)
How to manage storage devices.
상기 데이터를 공유하는 단계는, 상기 데이터를 원격 측정 서버에 보고하는 단계를 포함하는,
저장 장치 관리 방법.
8. The method of claim 7,
Sharing the data includes reporting the data to a telemetry server.
How to manage storage devices.
제2 호스트 시스템로부터, 매체의 이동성을 거짓으로 나타내는 메타데이터를 제공하는 저장 장치들에 관한 데이터를 수신하는 단계를 더 포함하는,
저장 장치 관리 방법.
According to claim 1,
further comprising receiving, from a second host system, data relating to the storage devices providing metadata falsely indicative of the mobility of the medium.
How to manage storage devices.
메모리와 프로세서를 포함하되,
상기 메모리와 상기 프로세서는, 상기 컴퓨팅 장치로 하여금 동작들을 수행하게 하는 명령어를 저장 및 실행하도록 각각 구성되고,
상기 동작들은,
상기 컴퓨팅 장치를 적어도 하나의 저장 장치에 인터페이스하는 것과,
상기 적어도 하나의 저장 장치에 매체 폴링 메시지를 전송하는 것과,
상기 적어도 하나의 저장 장치로부터 상기 매체 폴링 메시지에 대한 응답을 수신하는 것 - 상기 응답은 상기 적어도 하나의 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타냄 - 과,
상기 응답이 상기 적어도 하나의 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타내고 있음을 판정하는 것과,
상기 판정에 응답하여, 상기 적어도 하나의 저장 장치에 대한 매체 폴링을 디스에이블링하는 것을 포함하는,
컴퓨팅 장치.
A computing device comprising:
including memory and processor;
The memory and the processor are each configured to store and execute instructions that cause the computing device to perform operations,
The actions are
interface the computing device to at least one storage device;
sending a media polling message to the at least one storage device;
receiving a response to the media poll message from the at least one storage device, the response falsely indicating that the at least one storage device has removable media;
determining that the response falsely indicates that the at least one storage device has removable media;
in response to the determination, disabling media polling for the at least one storage device;
computing device.
상기 동작들은,
상기 판정에 응답하여, 상기 적어도 하나의 저장 장치에 대응하는 엔트리를 데이터베이스에 추가하는 것 - 상기 엔트리는 상기 적어도 하나의 저장 장치가 이동식 매체 표시를 거짓으로 제공한다는 것을 나타냄 - 을 더 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
The actions are
responsive to the determination, further comprising adding to a database an entry corresponding to the at least one storage device, the entry indicating that the at least one storage device falsely provides a removable media indication;
computing device.
상기 응답이 상기 적어도 하나의 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타내고 있음을 판정하는 것은,
매체의 이동성을 거짓으로 나타내는 것으로 알려진 저장 장치들의 데이터베이스를 탐색하는 것을 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
Determining that the response falsely indicates that the at least one storage device has removable media comprises:
comprising searching a database of storage devices known to falsely represent the mobility of the medium;
computing device.
상기 동작들은, 매체의 이동성을 거짓으로 나타내는 것으로 알려진 저장 장치들에 관한 데이터를 다른 컴퓨팅 장치와 공유하는 것을 또한 포함하는,
컴퓨팅 장치.
14. The method of claim 13,
The operations also include sharing with another computing device data pertaining to storage devices that are known to falsely indicate the mobility of the medium.
computing device.
상기 데이터를 공유하는 것은,
상기 데이터를 원격 측정 서버에 보고하는 것을 포함하는,
컴퓨팅 장치.
15. The method of claim 14,
Sharing the data is
reporting the data to a telemetry server;
computing device.
상기 동작들은,
다른 컴퓨팅 장치로부터, 매체의 이동성을 거짓으로 나타내는 것으로 알려진 저장 장치들에 관한 데이터를 수신하는 것을 더 포함하는,
컴퓨팅 장치.
16. The method of claim 15,
The actions are
further comprising receiving, from another computing device, data relating to storage devices known to falsely indicate the mobility of the medium;
computing device.
매체 폴링 메시지를 상기 저장 장치로 전송하는 단계와,
상기 저장 장치로부터 상기 매체 폴링 메시지에 대한 응답을 수신하는 단계 - 상기 응답은 상기 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타냄 - 와,
상기 응답이 상기 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타내고 있음을 판정하는 단계와,
상기 판정에 응답하여, 상기 저장 장치에 대한 매체 폴링을 디스에이블링하는 단계를 포함하는,
저장 장치와 상호작용하는 방법.
A method of interacting with a storage device, comprising:
sending a media polling message to the storage device;
receiving a response to the media poll message from the storage device, the response falsely indicating that the storage device has removable media;
determining that the response falsely indicates that the storage device has removable media;
in response to the determination, disabling media polling for the storage device;
How to interact with the storage device.
상기 판정에 응답하여, 상기 저장 장치에 대응하는 엔트리를 데이터베이스에 추가하는 단계 - 상기 엔트리는 상기 저장 장치가 이동식 매체 표시를 거짓으로 제공한다는 것을 나타냄 - 를 더 포함하는,
저장 장치와 상호작용하는 방법.
18. The method of claim 17,
responsive to the determination, adding to a database an entry corresponding to the storage device, the entry indicating that the storage device falsely provides a removable media indication;
How to interact with the storage device.
상기 응답이 상기 저장 장치가 이동식 매체를 가지고 있다고 거짓으로 나타내고 있음을 판정하는 단계는,
매체의 이동성을 거짓으로 나타내는 것으로 알려진 저장 장치들의 데이터베이스를 탐색하는 단계와,
상기 데이터베이스에서, 상기 저장 장치에 대응하는 엔트리의 위치를 찾는 단계를 포함하는,
저장 장치와 상호작용하는 방법.
18. The method of claim 17,
Determining that the response falsely indicates that the storage device has removable media comprises:
searching a database of storage devices known to falsely represent the mobility of the medium;
locating, in the database, an entry corresponding to the storage device;
How to interact with the storage device.
상기 방법은 제1 컴퓨팅 장치에서 수행되고,
상기 방법은,
다른 컴퓨팅 장치로부터, 매체의 이동성을 거짓으로 나타내는 것으로 알려진 저장 장치들에 관한 데이터를 수신하는 단계와,
상기 수신된 데이터에 기초하여 상기 데이터베이스를 업데이트하는 단계를 더 포함하는,
저장 장치와 상호작용하는 방법.20. The method of claim 19,
The method is performed on a first computing device,
The method is
receiving, from another computing device, data relating to storage devices known to falsely indicate the mobility of the medium;
and updating the database based on the received data.
How to interact with the storage device.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/789,088 | 2013-03-07 | ||
US13/789,088 US9589010B2 (en) | 2013-03-07 | 2013-03-07 | Systems and methods for host detection of USB asynchronous notification capability |
KR1020157024235A KR102219218B1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
PCT/US2014/020060 WO2014137959A1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157024235A Division KR102219218B1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210021136A KR20210021136A (en) | 2021-02-24 |
KR102270531B1 true KR102270531B1 (en) | 2021-06-28 |
Family
ID=50382614
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157024235A KR102219218B1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
KR1020217004722A KR102270531B1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157024235A KR102219218B1 (en) | 2013-03-07 | 2014-03-04 | Systems and methods for host detection of usb asynchronous notification capability |
Country Status (11)
Country | Link |
---|---|
US (2) | US9589010B2 (en) |
EP (1) | EP2965215B1 (en) |
JP (1) | JP6293798B2 (en) |
KR (2) | KR102219218B1 (en) |
CN (1) | CN105264511B (en) |
AU (1) | AU2014226091B2 (en) |
BR (1) | BR112015020052B1 (en) |
CA (1) | CA2898753C (en) |
MX (1) | MX348640B (en) |
RU (1) | RU2667033C2 (en) |
WO (1) | WO2014137959A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9589010B2 (en) * | 2013-03-07 | 2017-03-07 | Microsoft Technology Licensing, Llc | Systems and methods for host detection of USB asynchronous notification capability |
CN106168903A (en) * | 2016-06-30 | 2016-11-30 | 国云科技股份有限公司 | A kind of USB of management and the method being automatically mounted to virtual machine |
US10725939B2 (en) * | 2017-02-13 | 2020-07-28 | Microchip Technology Incorporated | Host-detecting USB hub |
US10705157B2 (en) * | 2017-08-09 | 2020-07-07 | Microsoft Technology Licensing, Llc | Testing system for an electrical cable |
RU2685063C1 (en) * | 2018-10-09 | 2019-04-16 | Акционерное общество "Актив-софт" (АО "Актив-софт") | System for programming and testing usb devices |
RU2694143C1 (en) * | 2018-11-27 | 2019-07-09 | Акционерное общество "Актив-софт" (АО "Актив-софт") | Device for marking and testing usb devices |
RU187402U1 (en) * | 2018-11-27 | 2019-03-05 | Акционерное общество "Актив-софт" (АО "Актив-софт") | MACHINE FOR MARKING AND TESTING USB DEVICES |
CN111431952B (en) * | 2019-01-09 | 2022-06-03 | 阿里巴巴集团控股有限公司 | Message pushing method, device and system, computer storage medium and electronic equipment |
CN111813727B (en) * | 2020-08-21 | 2020-12-08 | 南京沁恒微电子股份有限公司 | Real-time and efficient USB data transmission method |
WO2022126578A1 (en) * | 2020-12-18 | 2022-06-23 | Micron Technology, Inc. | Dynamic interval for memory device to enter low power state |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050061336A1 (en) | 2003-09-24 | 2005-03-24 | Goetz Steven M. | Apparatus and method for serving medical device application content to a remote computing device |
US20060112018A1 (en) | 2004-11-24 | 2006-05-25 | Microsoft Corporation | Synchronizing contents of removable storage devices with a multimedia network |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6532535B1 (en) * | 1998-02-24 | 2003-03-11 | Adaptec, Inc. | Method for managing primary and secondary storage devices in an intelligent backup and restoring system |
US6567921B1 (en) | 1999-01-25 | 2003-05-20 | Agere Systems, Inc. | Asynchronous low power mode bus controller circuit and method of low power mode operation |
US6546437B1 (en) * | 1999-03-18 | 2003-04-08 | Intel Corporation | Communication between a computer and a peripheral with legacy failure control mechanism |
US7707321B2 (en) | 1999-08-04 | 2010-04-27 | Super Talent Electronics, Inc. | Chained DMA for low-power extended USB flash device without polling |
US7819750B2 (en) * | 1999-10-06 | 2010-10-26 | Igt | USB software architecture in a gaming machine |
KR101050248B1 (en) * | 2003-06-30 | 2011-07-19 | 톰슨 라이센싱 | Removable media storage device or playback device for video recording |
US7124248B2 (en) * | 2003-10-20 | 2006-10-17 | Intel Corporation | Current media status determination for a storage device |
US20080071963A1 (en) | 2003-11-22 | 2008-03-20 | Super Talent Electronics Inc. | Express card with extended USB interface |
JP3792230B2 (en) * | 2004-01-23 | 2006-07-05 | 松下電器産業株式会社 | Media drive, computer system, and media drive control method |
US8200862B2 (en) | 2004-03-17 | 2012-06-12 | Super Talent Electronics, Inc. | Low-power USB flash card reader using bulk-pipe streaming with UAS command re-ordering and channel separation |
WO2005119469A2 (en) | 2004-05-28 | 2005-12-15 | Thomson Licensing | Method for managing the plug-in or removal of a memory card into or from a card reader and apparatus for use in said method |
RU2348992C2 (en) * | 2004-07-12 | 2009-03-10 | Кабусики Кайся Тосиба | Storage device and leading device |
US8478860B2 (en) * | 2006-03-14 | 2013-07-02 | Strong Bear L.L.C. | Device detection system for monitoring use of removable media in networked computers |
US20080189554A1 (en) | 2007-02-05 | 2008-08-07 | Asad Ali | Method and system for securing communication between a host computer and a secure portable device |
US8655463B2 (en) | 2007-05-18 | 2014-02-18 | Sandisk Technologies Inc. | Method for avoiding refreshing a database of metadata associated with digital media content |
US7849251B2 (en) * | 2007-12-07 | 2010-12-07 | Intel Corporation | Hardware assisted endpoint idleness detection for USB host controllers |
US8510494B2 (en) | 2009-12-24 | 2013-08-13 | St-Ericsson Sa | USB 3.0 support in mobile platform with USB 2.0 interface |
JP2012008846A (en) * | 2010-06-25 | 2012-01-12 | Yokogawa Electric Corp | Device equipped with storage unit |
US9589010B2 (en) * | 2013-03-07 | 2017-03-07 | Microsoft Technology Licensing, Llc | Systems and methods for host detection of USB asynchronous notification capability |
-
2013
- 2013-03-07 US US13/789,088 patent/US9589010B2/en active Active
-
2014
- 2014-03-04 KR KR1020157024235A patent/KR102219218B1/en active IP Right Grant
- 2014-03-04 JP JP2015561512A patent/JP6293798B2/en active Active
- 2014-03-04 KR KR1020217004722A patent/KR102270531B1/en active IP Right Grant
- 2014-03-04 CN CN201480012666.7A patent/CN105264511B/en active Active
- 2014-03-04 EP EP14712874.8A patent/EP2965215B1/en active Active
- 2014-03-04 AU AU2014226091A patent/AU2014226091B2/en active Active
- 2014-03-04 CA CA2898753A patent/CA2898753C/en active Active
- 2014-03-04 RU RU2015137806A patent/RU2667033C2/en active
- 2014-03-04 BR BR112015020052-4A patent/BR112015020052B1/en active IP Right Grant
- 2014-03-04 WO PCT/US2014/020060 patent/WO2014137959A1/en active Application Filing
- 2014-03-04 MX MX2015011836A patent/MX348640B/en active IP Right Grant
-
2017
- 2017-03-03 US US15/449,784 patent/US10366077B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050061336A1 (en) | 2003-09-24 | 2005-03-24 | Goetz Steven M. | Apparatus and method for serving medical device application content to a remote computing device |
US20060112018A1 (en) | 2004-11-24 | 2006-05-25 | Microsoft Corporation | Synchronizing contents of removable storage devices with a multimedia network |
Also Published As
Publication number | Publication date |
---|---|
US20140258225A1 (en) | 2014-09-11 |
BR112015020052B1 (en) | 2021-12-21 |
CA2898753C (en) | 2021-03-16 |
MX348640B (en) | 2017-06-22 |
US20170177659A1 (en) | 2017-06-22 |
CN105264511B (en) | 2018-03-30 |
BR112015020052A2 (en) | 2017-07-18 |
KR102219218B1 (en) | 2021-02-23 |
JP6293798B2 (en) | 2018-03-14 |
KR20150123827A (en) | 2015-11-04 |
US9589010B2 (en) | 2017-03-07 |
EP2965215B1 (en) | 2017-05-03 |
RU2667033C2 (en) | 2018-09-13 |
WO2014137959A1 (en) | 2014-09-12 |
RU2015137806A (en) | 2017-03-10 |
AU2014226091B2 (en) | 2019-01-17 |
CA2898753A1 (en) | 2014-09-12 |
EP2965215A1 (en) | 2016-01-13 |
RU2015137806A3 (en) | 2018-03-07 |
AU2014226091A1 (en) | 2015-08-06 |
KR20210021136A (en) | 2021-02-24 |
MX2015011836A (en) | 2016-01-08 |
US10366077B2 (en) | 2019-07-30 |
BR112015020052A8 (en) | 2019-11-12 |
CN105264511A (en) | 2016-01-20 |
JP2016510920A (en) | 2016-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102270531B1 (en) | Systems and methods for host detection of usb asynchronous notification capability | |
EP1340135B1 (en) | System and method for monitoring and controlling a power manageable resource | |
US6460143B1 (en) | Apparatus and method for awakening bus circuitry from a low power state | |
TW321739B (en) | dynamic hibernation time in a computer system | |
US20150355651A1 (en) | Thermal watchdog process in host computer management and monitoring | |
US8255928B2 (en) | Automated termination of selected software applications in response system events | |
US20100241889A1 (en) | Power management system and method | |
CN104137077B (en) | Processor system | |
US20120131371A1 (en) | Method for obtaining power states of a computer | |
US9395799B2 (en) | Power management techniques for USB interfaces | |
US20210141438A1 (en) | Systems, apparatus, and methods for transitioning between multiple operating states | |
US20090276647A1 (en) | Storage device power consumption state | |
US7124248B2 (en) | Current media status determination for a storage device | |
CN204044694U (en) | A kind of low cost expanded type GPU blade server | |
US8510583B2 (en) | Asynchronous sleep mode for host controller | |
US7337338B2 (en) | Information handling system capable of operation in reduced power states | |
US20140215247A1 (en) | Power saving operating method for and electronic device | |
US8312126B2 (en) | Managing at least one computer node | |
CN115129516B (en) | PCIe device I2C hanging and dying problem processing method and related components | |
CN108234804B (en) | Printing apparatus and control method thereof | |
CN1355479A (en) | Method for hot switching of peripherals in single IDE interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |