Patent application number | Description | Published |
20080281778 | Hardware Accelerator Based Method and Device for String Searching - A method for searching within a data block for a data chunk having a predefined value, the method includes: fetching, by a processor, a data block search instruction; fetching, a data unit that includes multiple data chunks; wherein at least one data chunk within the data unit belongs to the data block; deciding whether to use a mask for data chunk level masking; searching, by a hardware accelerator, for a valid data chunk within the fetched data unit that has the predefined value; wherein the searching comprising applying a mask; wherein a valid data chunk in an non-masked data chunk that belongs to the data block; and determining whether to update the value of the mask and whether to fetch a new data unit that belongs to the data block. | 11-13-2008 |
20080313237 | Method for High Speed Framing and a Device Having Framing Capabilities - A device having framing capabilities, the device includes at least one memory unit adapted to store data and metadata required for framing the stored data; the device is characterized by including a framer that is connected to a framed data unit and to a data fetch unit; wherein the device is adapted to select between a first operation sequence and a second operation sequence; wherein the first operation sequence comprises a data chunk and metadata fetch operation followed by a data chunk frame operation and wherein the second operation sequence comprises a multiple data chunk fetch operation followed by multiple data chunk frame operations; wherein the data fetch unit and the framer are adapted to execute the selected operation sequence. A method for framing data, the method includes storing data and metadata required for framing the stored data at one or more memory devices. The method is characterized by executing an operation sequence out of a first operation sequence and a second operation sequence; wherein the first operation sequence comprises a data chunk and metadata fetch operation followed by a data chunk frame operation and wherein the second operation sequence comprises a multiple data chunk fetch operation followed by multiple data chunk frame operations. | 12-18-2008 |
20080313363 | Method and Device for Exchanging Data Using a Virtual Fifo Data Structure - A method and a device for exchanging data. The method includes: requesting the processor, by the data transfer controller, to initiate a transfer of multiple data chunks from the second memory unit to the Virtual FIFO data structure, in response to a status of the virtual FIFO data structure; sending the data transfer controller, by the processor a request acknowledgment and an indication about a size of a group of data chunks to be transferred to the virtual FIFO data structure; updating the state of the virtual FIFO data structure; transferring, by the second level DMA controller, the group of data chunks from the second memory unit to the virtual FIFO data structure; sending, by the processor a DMA completion acknowledgment indicating that the group of data chunks was written to the virtual FIFO data structure; and transferring, by a first level DMA controller, a data chunk from the virtual FIFO data structure to the hardware FIFO memory unit. | 12-18-2008 |
20090070555 | DEVICE AND METHOD FOR FINDING EXTREME VALUES IN A DATA BLOCK - A method for locating an extreme value data chunk within a data block, the method includes: fetching, by a processor, an instruction; fetching, in response to a content of the instruction, a data unit that comprises multiple data chunks; selectively masking the fetched data chunks in response to a value of a mask; comparing, by a hardware accelerator, between values of valid data chunks to provide a extreme value data chunk; wherein valid data chunks include un-masked data chunks that belong to the data block; updating the value of the mask and jumping to the stage of fetching a new data unit, until the whole data block is fetched. | 03-12-2009 |
20090303872 | METHOD FOR MANAGING UNDER-RUN AND A DEVICE HAVING UNDER-RUN MANAGEMENT CAPABILITIES - A device having under-run management capabilities and to a method for managing under-runs. The method includes providing, to a memory unit, channel information from multiple channels; allocating time slots for communication channel transmissions; the method is characterized by including: sending, during a time slot allocated for a transmission of channel information from an enabled communication channel, to the shift register channel information of an enabled communication channel, serially outputting the received channel information from the shift register towards a communication line while serially replacing the outputted channel information by a predefined content such that the shift register stores a communication channel disable code when an under-run occurs; defining a communication channel as a disabled communication channel once the under-run occurs; and transmitting, during a time slot allocated to a disabled communication channel, idle signals to the communication line. | 12-10-2009 |
20100228894 | DEVICE HAVING DATA SHARING CAPABILITIES AND A METHOD FOR SHARING DATA - A method and device for sharing data. The method include: receiving by a direct memory access controller, a data read instruction; wherein the read data instruction can be a shared data read instruction or a non-shared data read instruction; determining whether to fetch a requested data block from a first memory unit to a second memory unit by applying a direct memory address control operation; wherein the second memory unit is accessible by a processor that generated the shared data read instruction; fetching the requested data block from the first memory unit to the second memory unit by applying a direct memory access control operation, if the read data instruction is a non-shared data instruction or if the read data instruction is a shared data instruction but the requested data is not stored in the second memory unit; and retrieving a requested data block from a second memory unit. | 09-09-2010 |
20120155570 | DEVICE AND METHOD FOR PERFORMING BITWISE MANIPULATIONS - A device and a method for performing bitwise manipulation is provided. Multiple bitwise logic circuits are coupled to an instruction decoder, a register array and a rotator. Each bitwise logic circuit includes input multiplexers connected to an output multiplexer. The instruction decoder is receives a bit manipulation instruction and sends to each corresponding input multiplexer a control signal based on a type of the instruction. Each input multiplexer of each bitwise logic circuit receives a control signal, a constant signal that has a value that is indifferent to the value of the mask, and a mask affected signal that has a value that is responsive to a value of an associated mask bit. Each input multiplexer selects between the constant signal and the mask affected signal based on the control signal, and outputs a selected signal. Each output multiplexer receives selected signals from each of the corresponding input multiplexers, and elects between the selected signal based on a value of an associated manipulated register bit and based on a value an associated control register bit. | 06-21-2012 |
20120185730 | DISTRIBUTED DEBUG SYSTEM - A distributed debug system including processing elements connected to perform a plurality of processing functions on a received data unit, a debug trap unit, a debug trace dump logic unit, and a debug initiator unit is provided. At least two of the processing elements include a debug trap unit that has a first debug enable input and output, and a first debug thread. The first debug thread holds at least a first debug trap circuit having a match signal output connected to the first debug enable output. The first debug trap circuit filters a part of the data unit, compares a filtering result with a debug value, and provides a match signal to the match signal output. The debug trace dump logic unit dumps debug trace data to a buffer associated with the data unit on reception of a match event. The debug initiator unit includes a debug initiator output connected to the first debug enable input of the debug trap unit of one processing element, and a debug initiator input connected to the first debug enable output of the debug trap unit of another processing element. | 07-19-2012 |
20120239902 | AREA EFFICIENT COUNTERS ARRAY SYSTEM AND METHOD FOR UPDATING COUNTERS - A counters array system comprises a memory device having a plurality of addressable memory locations for storing counter-values; a plurality of delta-counter devices. Each delta-counter device is operable to hold a maximum delta-value corresponding to a maximum number of occurrences of an event during a time duration between two counter scans controlled by a scan control unit. Each delta-counter device has an input connected to receive a signal from an event source corresponding to an occurrence of the event, and an output connected to provide a delta-value representing an accumulated number of occurrences of the event to a delta-count update circuit. The delta-count update circuit is connected to the memory device and the counter scan control unit, and being arranged to receive the delta-value and an address of a corresponding counter-value, read the counter-value from the memory device, and provide an updated counter-value incremented by the delta-value to the memory device. | 09-20-2012 |
20130003555 | TOKEN BUCKET MANAGEMENT APPARATUS AND METHOD OF MANAGING A TOKEN BUCKET - A token bucket management apparatus comprises a processing resource having an input for receiving profile data associated with a classified data stream. The processing resource also comprises an arithmetic unit arranged to maintain a bucket status value for a token bucket associated with the classified data stream. The arithmetic unit is a fixed point arithmetic unit that is arranged to maintain the bucket status value in accordance with a fixed point representation of non-integer numbers having a first accuracy. The arithmetic unit calculates a fixed point non-integer increment value in accordance with a fixed point representation of non-integer numbers having a second accuracy. The arithmetic unit is arranged to manipulate the calculated non-integer increment value so as to bring the second accuracy into agreement with the first accuracy, and to increment the bucket status value by the manipulated non-integer increment value. | 01-03-2013 |