Class / Patent application number | Description | Number of patent applications / Date published |
710039000 | Access request queuing | 52 |
20080222321 | METHOD AND SYSTEM FOR TRACKING DEVICE DRIVER REQUESTS - A computer implemented method, an apparatus, and a computer usable program product for tracking device driver requests in a data processing system is provided. A controller receives a request from a device driver. The controller associates a timestamp and at least one pointer to the request, wherein the timestamp indicates a time the request is received by an operating system. The controller then links the request from the device driver in a queue in the operating system, wherein the pointer identifies the location of the request in the queue. | 09-11-2008 |
20090013105 | Request control apparatus and request control method - A request control apparatus and a request control method are configured such that when an A type request that is an overtaking acceptable request allowed to overtake and to be overtaken among the other requests is turned to a retry matter on a pipeline, a request-order control unit performs an information renewal such that the A type request is rearranged to a place immediately preceding a B type request that is an overtaking inhibited request inhibited to overtake or to be overtaken among the other requests, and a request fetching unit fetches requests from ports by using the information renewed by the request-order control unit. Moreover, the request-order control unit is configured to perform request order control per request source. | 01-08-2009 |
20090077276 | DATA TRANSFER DEVICE, INFORMATION PROCESSING SYSTEM, AND COMPUTER-READABLE RECORDING MEDIUM CARRYING DATA TRANSFER PROGRAM - A data transfer device connected to data transfer destination via serial attached SCSI includes a plurality of buses. A queuing unit queues processing requests associated with data transfer. A transferring unit obtains data transferred associated with processing request upon receiving processing request and transfer obtained data to the destination by using one of the buses. A transmitting unit transmits processing request queued in the queuing unit to transfer unit. A detecting unit detects the number of processing requests. A determining unit determines whether the number of processing requests detected by the detecting unit is smaller than the number of buses. If the determining unit determines the number of processing requests is smaller than the number of buses, the transmitting unit divides the processing requests into a plurality of processing requests in accordance with the number of buses and the number of processing requests. | 03-19-2009 |
20090157918 | EFFICIENT PROCESSING OF GROUPS OF HOST ACCESS REQUESTS THAT MAY INCLUDE ZERO LENGTH REQUESTS - This is directed to methods and systems for handling access requests from a device to a host. The device may be a device that is part of the host, such as an HBA, an NIC, etc. The device may include a processor which runs firmware and which may generate various host access requests. The host access requests may be, for example, memory access requests, or DMA requests. The device may include a module for executing the host access requests, such as a data transfer block (DXB). The DXB may process incoming host access requests and return notifications of completion to the processor. For various reasons, the processor may from time to time issue null or zero length requests. Embodiments of the present invention ensure that the notifications of completion for all requests, including the zero length requests, are sent to the processor in the same order as the requests. | 06-18-2009 |
20090216921 | BRIDGE, PROCESSOR UNIT, INFORMATION PROCESSING APPARATUS, AND ACCESS CONTROL METHOD - There is provided a technique of accessing a memory of a processor from a peripheral device, thereby the security is ensured while efficiency is being pursued. An address converter | 08-27-2009 |
20090222599 | APPARATUS, SYSTEM, AND METHOD FOR ENQUEUE PRIORITIZATION - An apparatus, system, and method are disclosed for enqueue prioritization. The apparatus for enqueue prioritization is provided with a plurality of modules configured to functionally execute the necessary steps of anticipating a need to access a computing resource, generating a dummy request, the dummy request configured to hold a place for an actual request in a queue of requests to access the computing resource, and generating an actual request to access the computing resource, wherein the actual request is configured to replace the dummy request in the queue. These modules in the described embodiments include a forecast module, a dummy generator, and a request generator. | 09-03-2009 |
20090222600 | APPARATUS, SYSTEM, AND METHOD FOR ENQUEUE PRIORITIZATION - An apparatus, system, and method are disclosed for enqueue prioritization. The apparatus for enqueue prioritization is provided with a plurality of modules configured to functionally execute the steps of holding one or more queued requests in a queue, sorting the queued requests according to a first priority identifier associated with each of the queued requests, and assigning a second priority identifier to a delayed request in response to a determination that the delayed request has resided in the queue for a predetermined length of time, wherein the second priority identifier indicates a higher priority than the first priority identifier indicates. These modules in the described embodiments include a queue module, a sorting module, and a reassignment module. | 09-03-2009 |
20090248917 | USING PRIORITY TO DETERMINE WHETHER TO QUEUE AN INPUT/OUTPUT (I/O) REQUEST DIRECTED TO STORAGE - Provided are a method, system, and article of manufacture for using priority to determine whether to queue an Input/Output (I/O) request directed to storage. A maximum number of concurrent requests directed to a storage is measured. The measured maximum number of concurrent requests is used to determine a threshold for a specified priority. Subsequent requests of the specified priority directed to the storage are allowed to proceed in response to determining that a current number of concurrent requests for the specified priority does not exceed the determined threshold for the specified priority. Subsequent requests directed to the storage having a priority greater than the specified priority are allowed to proceed. Subsequent requests directed to the storage having the specified priority are queued in a queue in response to determining that the current number of concurrent requests for the specified priority exceeds the overall threshold. | 10-01-2009 |
20090271542 | SYSTEMS, METHODS, AND APPARATUS FOR PIXEL FETCH REQUEST INTERFACE - Presented herein are system(s) and apparatus for a memory access unit for accessing data for a module. The memory access unit comprises an output port for providing access requests for lists of addresses in a memory over a link to a memory controller. | 10-29-2009 |
20090282175 | System and Method for Enabling Multiple Processors to Share Multiple SAS Wide Ports - Embodiments of the present invention provide for an IOC that does not limit each CPU to a particular port. Instead, the IOC may allow each CPU to communicate with all ports. Thus, the IOC can process CPU communications to determine which port to send them to, and send them to the correct port as well as process incoming communications from the ports to determine which CPU to send them to and send these communications to the correct CPU. This may significantly increase the flexibility and efficiency of a storage network. | 11-12-2009 |
20100030931 | Scheduling proportional storage share for storage systems - A system for scheduling proportional sharing of storage shares includes one or more hosts which are IO attached to storage system including a storage coordinator, a buffer, and one or more storage devices which are provided as one or more storage shares. A storage share scheduler of the storage coordinator propagates an IO request to the one or more storage devices when a ranking value tagged to the IO request is higher than and/or equal to that of other IO requests. The storage share scheduler stores an IO request in the buffer when the ranking value of the IO request is lower than that of at least one other IO request. The storage share scheduler schedules the IO request stored in the buffer to be propagated when the ranking value is higher than and/or equal to the ranking value of the other IO requests. | 02-04-2010 |
20100064072 | Dynamically Adjustable Arbitration Scheme - A network arbitration scheme is disclosed that manages device access fairness by selectively and dynamically increasing a requestor queue's likelihood of being serviced. A requestor queue increases its service priority by duplicating a request entry onto a set of priority rings maintained by arbitration hardware in a host bus adapter. Duplication occurs when (1) a requestor's queue fill count (the number of descriptors stored in the queue) exceeds a watermark level or (2) a requestor's queue timer times out. In the case of time-out, the requester in the lower priority ring will duplicate itself in the higher priority ring. Because the arbitration hardware services requesters using a round robin selection scheme, the likelihood of a requestor queue being serviced increases as the number of its duplicate request entries on a priority ring increases. Upon being serviced, the requester is able to perform the requested action. | 03-11-2010 |
20100082854 | Real-Time/Batch Interface Arbiter - One embodiment of an interface request arbitration system comprises a queue for holding individual processing requests from at least one application process and an interface request arbiter which dynamically chooses to pass a request at the head of the queue to either a real-time interface of an external system that handles the request or a batch interface to the external system. | 04-01-2010 |
20100082855 | ASSOCIATING PROCESS PRIORITY WITH I/O QUEUING - Input/output (I/O) requests generated by processes are typically stored in I/O queues. Because the queued I/O requests may not be associated with the processes that generated them, changing a process' priority may not affect the priority of the I/O requests generated by the process. Therefore, after the process' priority has been increased, it may be forced to wait for an I/O handler to service its I/O request, which may be stuck behind an I/O request generated by a lower priority process. Functionality can be implemented to associate the processes' priorities with the I/O requests generated by the processes. Also, reordering the queued I/O requests to reflect changes in the processes' priorities can ensure that the I/O requests from high priority processes are serviced before the I/O requests from low priority processes. This can ensure efficient processing and lower wait times for high priority processes. | 04-01-2010 |
20100115155 | INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING APPARATUS, AND PERIPHERAL - In a system in which an information processing apparatus and a peripheral are connected to each other. Initially, the information processing apparatus transmits, to the peripheral, a request to use a service provided by the peripheral. The peripheral determines whether to grant use permission to the received request, and notifies the information processing apparatus which has transmitted the request of the determination result. The peripheral stores information associated with the information processing apparatus to which use permission is granted in response to the request. The information processing apparatus then receives, from the peripheral, a response to the request. | 05-06-2010 |
20100125687 | SYSTEM HAVING PROCESSOR AND I/O CONTROLLER - A method of controlling an apparatus including a processor and an I/O controller includes storing execution information, receiving a first and a second requests successively, determining whether initiation of each execution of the first and the second requests is to be supervised by either of the processor and the I/O controller in reference to the execution information, transmitting the first request to the processor from the I/O controller, and upon completion of execution of the first request at the processor, transmitting the second request to the processor from the I/O controller when the initiations of executions of the first and second request is supervised by the I/O controller, and transmitting the first and second requests to the processor regardless of completion of execution of the first request by the processor when the initiations of executions of the first and second requests is supervised by the processor. | 05-20-2010 |
20100153593 | TRANSITIONS BETWEEN ORDERED AND AD HOC I/O REQUEST QUEUEING - Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request. | 06-17-2010 |
20100161853 | METHOD, APPARATUS AND SYSTEM FOR TRANSMITTING MULTIPLE INPUT/OUTPUT (I/O) REQUESTS IN AN I/O PROCESSOR (IOP) - A method, apparatus and system for transmitting multiple I/O requests from an input/output processor (IOP) to an I/O device. The IOP is configured with multiple I/O threads, each having a corresponding active I/O, that allow a queuing thread to coordinate the transfer of multiple I/O requests at a time from the output of the device queue to the active I/Os and their I/O threads. The queuing thread and a promotion algorithm are configured to consider the promotion of one or more I/O requests ahead of other I/O requests in the device queue, based on a set of promotion requirements. After processing by the I/O threads, multiple I/O requests are transferred at a time from the multiple active I/Os to the I/O device. Promotion of I/O requests based on the promotion requirements improves processing efficiency by making better use of the multiple I/O thread processing resources. | 06-24-2010 |
20100161854 | METHOD FOR ENABLING SEVERAL VIRTUAL PROCESSING UNITS TO DIRECTLY AND CONCURRENTLY ACCESS A PERIPHERAL UNIT - The present disclosure relates to a method for enabling a virtual processing unit to access a peripheral unit, the virtual processing unit being implemented by a physical processing unit connected to the peripheral unit, the method comprising a step of transmitting to the peripheral unit a request sent by the virtual processing unit to access a service provided by the peripheral unit, the access request comprising at least one parameter and an identifier of the virtual unit, the method comprising steps, executed by the peripheral unit after receiving an access request, of allocating a set of registers to the virtual unit identifier received, storing the parameter received in the register set allocated, and when the peripheral unit is available for processing a request, selecting one of the register sets, and triggering a process in the peripheral unit from the parameters stored in the selected register set. | 06-24-2010 |
20100191876 | Method And System For Optimizing Network Input/Output Performance - A method and system for optimizing network I/O throughput is disclosed. In one embodiment, a method for optimizing an input/output (I/O) throughput for a storage network comprises measuring a service time for a storage device of the storage network in completing an I/O request serviced by a storage driver. The method also comprises determining a status of an I/O performance between the storage driver and the storage device by comparing the service time with an expected service time for the storage device in completing the I/O request, where the expected service time is calculated based on a type of the storage device and a size of the I/O request. The method further comprises adjusting a maximum queue depth associated with the storage device based on the status of the I/O performance. | 07-29-2010 |
20100332696 | Managing I/O Request in Storage System - The invention relates to management of a plurality of I/O requests in a storage system. The host interface module is configured to receive a plurality of I/O request which includes an associated priority; create an I/O request queue for each associated priority; define a threshold value for the queue length for each of the plurality of I/O request queues; and determine if the queue length for one of the plurality of the I/O request queue corresponding to the associated priority is less than the defined threshold value for the queue length for the one of the plurality of the I/O request queues. If the queue length of the one of the plurality of I/O request queues is more than the defined threshold value for the queue then the host interface module is further configured to rejecting the I/O request and sending a queue full message; wherein the threshold value for the queue length is based on the processing rate of the I/O requests in the plurality of the I/O request queues. | 12-30-2010 |
20110010474 | LOW LATENCY REQUEST DISPATCHER - A first-in-first-out (FIFO) queue optimized to reduce latency in dequeuing data items from the FIFO. In one implementation, a FIFO queue additionally includes buffers connected to the output of the FIFO queue and bypass logic. The buffers act as the final stages of the FIFO queue. The bypass logic causes input data items to bypass the FIFO and to go straight to the buffers when the buffers are able to receive data items and the FIFO queue is empty. In a second implementation, arbitration logic is coupled to the queue. The arbitration logic controls a multiplexer to output a predetermined number of data items from a number of final stages of the queue. In this second implementation, the arbitration logic gives higher priority to data items in later stages of the queue. | 01-13-2011 |
20110040903 | METHODS AND APPARATUS FOR AUTOMATED PERFORMANCE LIMITING OF AN I/O CONTROL DEVICE - Methods and apparatus for configurably limiting performance of an I/O controller device in processing of I/O requests. A performance monitor and control module in the I/O controller device monitors performance of the I/O request processing module and limits its processing to assure that maximum performance threshold values are not exceeded. In one embodiment, the performance monitoring may average performance over one or more periods of time and may provide a moving average window to determine the performance of the I/O controller device. The measured performance may determine a variety of performance measures each of which may be compared against one or more corresponding maximum performance threshold values. Requests that cannot be processed during a present period of time are delayed until a subsequent period of time to thereby limit performance of the I/O controller device. | 02-17-2011 |
20110047303 | DATA TRANSFER CONTROL DEVICE AND DATA TRANSFER CONTROL METHOD - A data transfer control device in accordance with an exemplary aspect of the present invention includes a first communication unit that processes data transfer with a peripheral device, and a second communication unit that processes data transfer with a host device, wherein one of the first and second communication units serves as a preferential communication unit whose data transfer should have a high priority, and another of the first and second communication units serves as a non-preferential communication unit, when the data transfer is being performed in the preferential communication unit, the preferential communication unit notifies the non-preferential communication unit that the data transfer is being performed, and when the non-preferential communication unit is being notified that the data transfer is being performed from the preferential communication unit, the non-preferential communication unit puts the data transfer in the non-preferential communication unit on hold. | 02-24-2011 |
20110047304 | METHOD AND APPARATUS FOR REQUESTING DATA, AND METHOD AND APPARATUS FOR OBTAINING DATA - Disclosed herein are methods and apparatuses for requesting and obtaining data, in which time information is generated by use of a first device, and a data request command requesting data output by a second device is generated at a time point indicated by the time information. The generated data request command is transmitted, wherein the data request command includes the time information. | 02-24-2011 |
20110066770 | Managing I/O Request in a Storage System - The present invention relates to managing I/O requests in a storage system. By dynamically changing the scheduling parameters to achieve optimal turn around time for I/O requests pending for processing at a component in the storage system. The scheduling parameters are changed based on a feedback mechanism. The turn around time of the I/O request are calculated as the ratio of I/O request processing rate and the average number of I/O requests in the component. | 03-17-2011 |
20110119413 | QUALITY OF SERVICE MANAGEMENT - A method and system for providing quality of service to a plurality of hosts accessing a common resource is described. According to one embodiment, a plurality of IO requests is received from clients executing as software entities on one of the hosts. An IO request queue for each client is separately managed, and an issue queue is populated based on contents of the IO request queues. When a host issue queue is not full, a new IO request is entered into the host issue queue and is issued to the common resource. A current average latency observed at the host is calculated, and an adjusted window size is calculated at least in part based on the current average latency. The window size of the issue queue is adjusted according to the calculated window size. | 05-19-2011 |
20110196996 | METHODS FOR ACCOUNTING SEEK TIME OF DISK ACCESSES - An input and output (IO) scheduler dispatches a first IO request from a first IO queue during a first dispatch cycle and dispatches a second IO request from a second IO queue during a second dispatch cycle to one or more disks, where the first IO request is the last remaining IO request in the first queue and the second IO request is the first overall IO request in the second queue. The first and second IO requests are selected from multiple IO requests received from one or more clients for accessing the one or more disks. A seek time monitor measures disk seek time (IO queue switch time) incurred between the first IO request and the second IO request, and determines whether the first IO request and the second IO request belong to the same group. The disk seek time is attributed to a group associated with the first IO request and the second IO request, if the first IO request and the second IO request belong to the same group. If not, then this seek time incurred during queue switch is attributed to a common ancestor of two IO queues in the IO hierarchy. | 08-11-2011 |
20110238871 | PERFORMANCE OF A STORAGE SYSTEM - A method for operating a storage system, including storing data redundantly in the system and measuring respective queue lengths of input/output requests to operational elements of the system. The queue lengths are compared to an average queue length to determine respective performances of the operational elements of the storage system. In response to the average queue lengths and a permitted deviation from the average an under-performing operational element among the operational elements is identified. An indication of the under-performing operational element is provided to host interfaces in the storage system. One of the host interfaces receives requests for specified items of the data directed to the under-performing element, and in response to the indication, some of the requests are diverted from the under-performing operational element to one or more other operational elements of the storage system that are configured to provide the specified items of the data. | 09-29-2011 |
20110276729 | TRANSITIONS BETWEEN ORDERED AND AD HOC I/O REQUEST QUEUEING - Disclosed is a computer implemented method and apparatus for queuing I/O requests to a pending queue. The I/O device driver sets a maximum ordered queue length for an I/O device driver coupled to a storage device then receives an I/O request from an application. The I/O device driver determines whether the pending queue is sorted and responds to a determination that the pending queue is sorted, determining if queued I/O requests exceed the maximum ordered queue length. Responding to a determination that the pending queue exceeds the maximum ordered queue length, the I/O device driver adds the I/O request based on a high pointer, and points the high pointer to the I/O request. | 11-10-2011 |
20110320649 | WRITE AGGREGATION USING OPTIONAL I/O REQUESTS - A computer readable storage medium comprising software instructions, which when executed by a processor, perform a method, the method including obtaining a first non-optional Input/Output (I/O) request from an I/O queue, determining that a second non-optional I/O request and an optional I/O request are adjacent to the first non-optional I/O request, generating a new data payload using a first data payload from the first non-optional I/O request, a second data payload for the second non-optional I/O request, and a third data payload corresponding to the optional I/O request, wherein the third data payload is interposed between the first data payload and the second data payload, generating a new non-optional I/O request comprising the new data payload, and issuing the new non-optional I/O request to a storage pool, wherein the new data payload is written to a contiguous storage location in the storage pool. | 12-29-2011 |
20120030384 | STORAGE SUBSYSTEM - The correspondence of the respective ports and the respective microprocessors is dynamically changed based on the load of the respective microprocessors. When an open port MP including a plurality of ports connected to a host computer receives an I/O request from the host computer via a port, it specifies an MPPK to become the transfer destination of the I/O request, and transfers the I/O request to the specified MPPK. Each MP belonging to the MPPK that received the I/O request selects either an exclusive mode where a single MP exclusively performs the processing of the I/O request, or a share mode where two or more MPs share the processing of the I/O request. Each MP selects the exclusive mode or the share mode corresponding to when load information concerning the ports shows a low load or high load condition, respectively, and executes the I/O processing accordingly. | 02-02-2012 |
20120036291 | STREAM PRIORITY - A system, method and apparatus for prioritizing transactions is disclosed. I/O devices may generate transactions with a stream identifier. A transaction classifier may assign a priority to a transaction based upon a stream identifier of the transaction. An arbiter may select a transaction for processing based upon priorities assigned to the transaction. | 02-09-2012 |
20120072624 | NUMA I/O FRAMEWORK - A method for binding input/output (I/O) objects to nodes includes an subsystem receiving a request to use an I/O device from a process, determining a first resource to service the request, generating a first I/O object corresponding to the first resource, wherein the first I/O object is unbound, and sending the first I/O object to a Non-Uniform Memory Access (NUMA) I/O Framework. The method further includes the NUMA I/O Framework selecting a first NUMA node of a plurality of NUMA nodes, to which to bind the first I/O object and binding the first I/O object to the first NUMA node. The method further includes servicing the request by processing, on the first NUMA node, the first resource corresponding to the first I/O object. | 03-22-2012 |
20120079143 | WIRELESS HOST I/O USING VIRTUALIZED I/O CONTROLLERS - Mechanisms provide hosts such as servers and mobile devices with access to virtualized I/O resources including virtual Host Bus Adapters (vHBAs) and virtual Network Interface Cards (vNICs) over a wireless I/O interconnect. Host applications access virtualized I/O resources using virtual device drivers that communicate with virtualized I/O resources on an I/O director using a reliable communication protocol running over a wireless network. I/O data is throttled if necessary based on wireless network considerations. | 03-29-2012 |
20120089753 | SYSTEM AND METHOD FOR COORDINATING CONTROL SETTINGS FOR HARDWARE-AUTOMATED I/O PROCESSORS - A system and method for coordinating control setting with respect to an automated input/output (I/O) processor. A state machine having a transition algorithm can be configured in association with a storage controller in order to permit multiple entities to safely transmit an I/O request to an I/O device. Specific combinations of control bits associated with a fast path engine can be determined by identifying different modes with respect to the behavior of the fast path engine. Each mode can be assigned as a state with respect to the state machine. An I/O path exception and error condition that can cause transitions between the states can be determined and the transitions can be assigned from one state to another state. A generic logic template can then be configured to govern the transitions with respect to the state machine. The logic can be executed when an event occurs in order to trigger multiple state transition and/or modifications with respect to the hardware control bits of the fast path engine. | 04-12-2012 |
20120096196 | COMMUNICATION CONTROL APPARATUS, NETWORK, AND NETWORK SYSTEM - A memory access request is received from a first lower-level device among a plurality of lower-level devices and, when an address of the memory access request is an address in a given range, the memory access request is converted into a setting request from the upper-level device to a second lower-level device among the lower-level devices, the second lower-level device corresponding to the address of the memory access request. | 04-19-2012 |
20120173773 | DYNAMIC COMPRESSION OF AN I/O DATA BLOCK - In one aspect, a method of compressing data includes splitting an I/O into smaller I/Os based on a throughput of I/Os in a queue, a smaller I/O is equal or smaller than a block size. The method also includes storing the smaller I/Os in the queue. The method further includes asynchronously compressing the smaller I/Os. | 07-05-2012 |
20120173774 | STORAGE-SIDE STORAGE REQUEST MANAGEMENT - Techniques are provided for managing, within a storage system, the sequence in which I/O requests are processed by the storage system based, at least in part, on one or more logical characteristics of the I/O requests. The logical characteristics may include, for example, the identity of the user for whom the I/O request was submitted, the service that submitted the I/O request, the database targeted by the I/O request, an indication of a consumer group to which the I/O request maps, the reason why the I/O request was issued, a priority category of the I/O request, etc. Techniques are also provided for automatically establishing a scheduling policy within a storage system, and for dynamically changing the scheduling policy in response to changes in workload. | 07-05-2012 |
20120198105 | METHODS AND SYSTEMS FOR TRACKING DATA ACTIVITY LEVELS - methods and systems for monitoring data activity may include various operations, including, but not limited to: modifying a value of at least one counter in response to one or more input/output requests directed to at least one data storage region during a first time interval; storing a first cumulative value of the counter modified in response to one or more input/output requests directed to at least one data storage region during the first time interval following the expiration of the first time interval; modifying a value of at least one counter in response to one or more requests directed to the at least one data storage region during a second time interval; storing a second cumulative value of the counter modified in response to one or more requests directed to the at least one data storage region during the second time interval following the expiration of the second time interval; and computing at least one activity index for the at least one data storage region from at least the first cumulative value and the second cumulative value. | 08-02-2012 |
20120198106 | Method Of Processing Requests For Hardware And Multi-Core System - In a method of processing requests for hardware in a multi-core system including a first processor core and a second processor core according to example embodiments, the first processor core receives a plurality of hardware input/output requests from a plurality of applications, manages the plurality of hardware input/output requests using a hardware input/output list, and responds to the plurality of hardware input/output requests in a non-blocking manner. The second processor core sequentially processes the plurality of hardware input/output requests included in the hardware input/output list. | 08-02-2012 |
20120278513 | PRIORITY SCHEDULING FOR MULTI-CHANNEL CONTEXT AWARE COMMUNICATION TECHNOLOGY - The present disclosure describes, among other things, a method. The method may include receiving, by a computing device, a first request for a workflow from an external system. The method may include determining, by the computing device, a priority level associated with the workflow. The method may include determining, by the computing device, a queue in a priority stack, wherein the queue is associated with the priority level. The method may include adding, by the computing device, the first request for the workflow to the queue. | 11-01-2012 |
20120311200 | FIBRE CHANNEL INPUT/OUTPUT DATA ROUTING SYSTEM AND METHOD - A computer program product is provided for performing input/output (I/O) processing at a host computer system. The computer program product is configured to perform: generating an address control structure for each of a plurality of consecutive data transfer requests specified by an I/O operation, each address control structure specifying a location in the local channel memory of a corresponding address control word (ACW) that includes an Offset field indicating a relative order of a data transfer request; generating and storing in local channel memory at least one ACW specifying one or more host memory locations for the plurality of consecutive data transfer requests and including an Expected Offset field indicating a relative order of an expected data transfer request; receiving a transfer request from the network interface and comparing the Offset field and the Expected Offset field to determine whether the data transfer request has been received in the correct order. | 12-06-2012 |
20130007313 | NETWORK CONTROL MODEL DRIVER - A method and apparatus of operating a Universal Serial Bus device to determine if a host sending Network Control Model Transfer Blocks (NTBs) is compliant with end of transfer rules for NTBs and to then determine appropriate operations at the device to complete transactions with a non-compliant host. | 01-03-2013 |
20130159566 | System And Method For Accelerating Signal Transmission - A method for accelerating signal transmission in a USB network protocol architecture having a USB server, a processing device and a peripheral device connected to the USB server. The method includes: intercepting request signals sent from the processing device according to the USB network protocol; sending, by the USB server, virtual request signals to the peripheral device so as to cause the peripheral device to generate control signals corresponding to the virtual request signals; receiving, by the USB server, the control signals from the peripheral device, and transmitting, by the USB server, the control signals to the processing device; and matching, by the processing device, the control signals and the intercepted request signals so as to perform operations corresponding to the control signals. Therefore, the present invention eliminates the need to wait for the arrival of request signals before making responses, thereby accelerating the speed of signal transmission. | 06-20-2013 |
20130219088 | CONFIGURABLE PRIORITIZATION OF DATA TRANSMISSION IN A DATA STORAGE TOPOLOGY - Processing input/output requests may include: processing one or more input/output (IO) requests in a first IO queue associated with a first device group; detecting a queuing of one or more IO requests in a second IO queue associated with a second device group; pausing the processing one or more input/output (IO) requests in a first IO queue associated with a first device group upon a detection of a queuing of one or more IO requests in a second IO queue associated with a second device group; processing the one or more IO requests in a second IO queue associated with a second device group; and resuming the processing one or more input/output (IO) requests in a first IO queue associated with a first device group upon a completion of the processing the one or more IO requests in a second IO queue associated with a second device group. | 08-22-2013 |
20130227180 | METHOD FOR INPUT/OUTPUT LOAD BALANCING USING VARIED PERFORMING STORAGE DEVICES - An invention is provided for distributing storage I/O loads across multiple storage devices with different performance characteristics. The method includes examining a current I/O request to determine characteristics of the current I/O request. The characteristics of the current I/O request are then compared to characteristics of other pending I/O request. Then, a storage device is selected from a plurality of storage devices based on the characteristics of the current I/O request and the characteristics of other pending I/O request. Here, the plurality of storage devices includes at least one storage device having higher performance characteristics than another storage device of the plurality of storage devices. Once selected, the selected storage device is utilized with the current I/O request. | 08-29-2013 |
20140019649 | METHODS OF PROVIDING ACCESS TO I/O DEVICES - A method of providing one or more computing devices with access to a plurality of resources. The plurality of resources are provided by at least one physical device. The method comprises, at a first control element receiving a data packet transmitted by one of said one or more computing devices, and determining whether said data packet comprises a command including a first logical identifier identifying one of said resources. If it is determined that said data packet comprises a command including a first logical identifier a second logical identifier is obtained, the second logical identifier being associated with said first logical identifier and identifying said one of said resources. A request including said second logical identifier is transmitted to a second control element, the second control element being arranged to identify a physical device associated with said second logical identifier and to forward said request to the identified physical device. | 01-16-2014 |
20140108680 | QUIESCING INPUT/OUTPUT (I/O) REQUESTS TO SUBSETS OF LOGICAL ADDRESSES IN A STORAGE FOR A REQUESTED OPERATION - Provided are a computer program product, system, and method for quiescing Input/Output (I/O) requests to subsets of logical addresses in a storage for a requested operation. A requested operation is received to a subset of addresses in the storage that requires that Input/Output (I/O) requests to the subset of addresses received following the requested operation be quiesced. The subset of addresses is indicated in quiesce information. I/O requests received following the receiving of the requested operation are quiesced when one address subject to the I/O request is included in the subset of addresses. If there are in-progress I/O requests pending against the subset of addresses when the requested operation was received, then the requested operation is indicated as executable. A quiesced I/O request is executed when no address subject to the quiesced I/O request is included in the subset of addresses indicated in the quiesce information. | 04-17-2014 |
20140115197 | INTER-QUEUE ANTI-STARVATION MECHANISM WITH DYNAMIC DEADLOCK AVOIDANCE IN A RETRY BASED PIPELINE - Methods and apparatus relating to an inter-queue anti-starvation mechanism with dynamic deadlock avoidance in a retry based pipeline are described. In one embodiment, logic may arbitrate between two queues based on various rules. The queues may store data including local or remote requests, data responses, non-data responses, external interrupts, etc. Other embodiments are also disclosed. | 04-24-2014 |
20140129744 | METHOD AND SYSTEM FOR AN IMPROVED I/O REQUEST QUALITY OF SERVICE ACROSS MULTIPLE HOST I/O PORTS - A method and system for an improved input/output (I/O) request quality of service (QoS) across multiple host I/O ports are disclosed. In one example, an I/O request associated with a classification parameter is received. The I/O request is generated by one of a plurality of host servers. Further, a classification value is determined based on the classification parameter by a host tagging agent residing one of the plurality of host servers. Furthermore, the classification value is associated with the I/O request by the host tagging agent. In addition, the I/O request is prioritized based on the classification value by a host port queuing manager and a host QoS controller. Based on the priority, the I/O request is sent to one of a plurality of target devices by the host port queuing manager and the host QoS controller. | 05-08-2014 |
20150026369 | Systems and Methods for Managing USB Data Transfers - System and methods are provided for managing universal-serial-bus (USB) data transfers. An example system includes a non-transitory computer-readable storage medium including a first scheduling queue for sorting endpoints and a host controller. The host controller is configured to: store a plurality of endpoints for data transfers to the storage medium, an endpoint corresponding to a portion of a USB device; sort the plurality of endpoints in a first order; generate a first transmission data unit including multiple original data packets, the original data packets being allocated to the plurality of endpoints based at least in part on the first order; and transfer the first transmission data unit. | 01-22-2015 |