Data Transfer Device For Receiving Data From A Host Device And Method Therefor
20230098946 · 2023-03-30
Inventors
Cpc classification
International classification
Abstract
The present disclosure generally relates to data transfer device for receiving data from a host device and method therefor. The device comprise a plurality of input ports configured to receive input data comprising of a plurality of bytes, an output port configured to provide an output data byte and a plurality of buffer units, each buffer unit coupled to an input port of the plurality of input ports. Each of the plurality of buffer units receives a portion of the input data, wherein an enable bit is associated with the portion of data and each of the buffer devices provides the received portion of data as an output, if the enable bit indicates that the portion of data is not a garbage data.
Claims
1. A data transfer device for receiving data from a host device, comprising: a plurality of input ports configured to receive input data comprising of a plurality of bytes; a plurality of output ports configured to provide output data bytes; and a plurality of buffer units, each buffer unit coupled to an input port of the plurality of input ports and an output port of the plurality of output ports, wherein each of the plurality of buffer units receives a portion of the input data, wherein an enable bit is associated with the portion of data; and each of the plurality of buffer units provides the received portion of data as an output, if the enable bit indicates that the portion of data is not a garbage data, wherein a number of the plurality of buffer units is equal to a number of bytes in the input data.
2. The device as claimed in claim 1, further comprising: an enable buffer unit to store the enable bit in a round robin fashion.
3. The device as claimed in claim 1, further comprising: a discard buffer unit to discard the portion of data if it is a garbage data.
4. The device as claimed in claim 1, wherein each of the plurality of buffer units is a First-in-First-Out (FIFO) device.
5. The device as claimed in claim 1, wherein each of the plurality of buffer units receives the input data in a round robin fashion.
6. (canceled)
7. The device as claimed in claim 1, wherein each of the plurality of buffer units is capable of storing one byte of the input data.
8. A method for receiving data from a host device, comprising: receiving a portion of an input data at each of a plurality of buffer units, wherein the input data comprises of a plurality of bytes, and wherein an enable bit is associated with the portion of data, wherein a number of the plurality of buffer units is equal to a number of bytes in the input data; and providing, by each of the plurality of buffer units, the received portion of data as an output at an output port, if the enable bit indicates that the portion of data is not a garbage data.
9. The method as claimed in claim 8, further comprising: storing the enable bit in a round robin fashion in an enable buffer unit.
10. The method as claimed in claim 8, further comprising: discarding the portion of data if it is a garbage data by a discard buffer unit.
11. The method as claimed in claim 8, wherein each of the plurality of buffer units is a First-in-First-Out (FIFO) device.
12. The method as claimed in claim 8, wherein each of the plurality of buffer units receives the input data in a round robin fashion.
13. (canceled)
14. The method as claimed in claim 8, wherein each of the plurality of buffer units is capable of storing one byte of the input data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] These and other features, aspects, and advantages of the present invention will become better understood when the following detailed description is read with reference to the accompanying drawings in which like characters represent like parts throughout the drawings, wherein:
[0010]
[0011]
[0012]
[0013]
[0014] Further, skilled artisans will appreciate that elements in the drawings are illustrated for simplicity and may not have been necessarily drawn to scale. For example, the flow charts illustrate the method in terms of the most prominent steps involved to help to improve understanding of aspects of the present invention. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments of the present invention so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
DETAILED DESCRIPTION OF FIGURES
[0015] For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiment illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, such alterations and further modifications in the illustrated system, and such further applications of the principles of the invention as illustrated therein being contemplated as would normally occur to one skilled in the art to which the invention relates.
[0016] It will be understood by those skilled in the art that the foregoing general description and the following detailed description are explanatory of the invention and are not intended to be restrictive thereof.
[0017] Reference throughout this specification to “an aspect”, “another aspect” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrase “in an embodiment”, “in another embodiment” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
[0018] The terms “comprises”, “comprising”, or any other variations thereof, are intended to cover a non-exclusive inclusion, such that a process or method that comprises a list of steps does not include only those steps but may include other steps not expressly listed or inherent to such process or method. Similarly, one or more devices or sub-systems or elements or structures or components proceeded by “comprises . . . a” does not, without more constraints, preclude the existence of other devices or other sub-systems or other elements or other structures or other components or additional devices or additional sub-systems or additional elements or additional structures or additional components.
[0019] A data transfer device is used to receive data from a host device and transfer the data to another device. The received data may comprise multiple bytes and a byte enable bit may be associated with each byte. The byte enable bit may indicate if the corresponding byte is garbage data or not. If the byte enable is 0, then it represents that the corresponding byte is garbage data. On the other hand, if the byte enable bit is 1, then the corresponding byte is not garbage. In order to increase storage efficiency, the data transfer device should discard the garbage data. However, if the data transfer device selects the data with byte enable=1, in order to have storage efficiency, then more time is consumed in selecting the correct data. On the other hand, if device stores all the data including garbage, input speed is faster, but storage efficiency is affected.
[0020] In an embodiment, the present disclosure proposes a data transfer device with improved storage efficiency and input speed. In an embodiment, the present disclosure proposes to split the buffer unit of the data transfer device such as First-in-First-out (FIFO) into plurality of buffer units where each buffer unit is able to store 1 byte of data.
[0021]
[0022] In an embodiment, the data transfer device 200 may also comprise of an enable buffer unit 207 which receives and store the enable bit. In an embodiment, the enable buffer unit 207 may be coupled to the output ports and may enable the buffer units to discard the garbage byte data and provide the correct i.e. not garbage data, as an output. In an embodiment, the enable buffer unit 207 may be a FIFO. In a further embodiment, the enable buffer unit 207 may store the enable bit in a round robin fashion.
[0023] In a further embodiment, the data transfer device 200 may also comprise of a discard buffer unit (not shown for brevity). In an embodiment, the discard buffer unit may be coupled to the input ports. The discard buffer unit may discard the portion of data received at the buffer units, if it is a garbage data. This way the garbage data is not stored in the buffer units, which in turn helps in increasing the storage efficiency. buffer units to discard the garbage byte data and provide the correct i.e. not garbage data, as an output. In an embodiment, the discard buffer unit may be a FIFO. In a further embodiment, the discard buffer unit may discard the garbage data in a round robin fashion.
[0024] In an embodiment, as shown in
[0025] In an embodiment, each of the plurality of buffer units receives the input data in a round robin fashion.
[0026] In an embodiment, a number of the plurality of buffer units is equal to a number of bytes in the input data. For example, if the input data is 32 bit i.e. 4 byte, then the data transfer device may comprise of 4 buffer units. Similarly, if the input data is 64 bit i.e. 8 byte, then the data transfer device may comprise of 8 buffer units.
[0027] In an embodiment, the host device is a processor. It should be noted that the host device may be any device capable of connecting with the data transfer device.
[0028]
[0029] This way, the data transfer device as disclosed in the present disclosure provides efficient storage (i.e. not required to store garbage data) with improved performance.
[0030] Although, the embodiments have been defined in respect of device-to-device data transfer, it is possible to transfer the data within a device between different layers using the data transfer device of the present disclosure. For example, the data transfer device may be used in uni-pro device, PCI devices which are layered protocol devices. The disclosed data transfer device may be used to transfer the data between the protocol layers of such devices.
[0031]
[0032] It should be noted that the method 400 performs all the functions of the data transfer device as discussed in respect of
[0033] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skilled in the art to which this invention belongs. The apparatus, methods, and examples provided herein are illustrative only and not intended to be limiting.
[0034] Benefits, other advantages, and solutions to problems have been described above with regard to specific embodiments. However, the benefits, advantages, solutions to problems, and any component(s) that may cause any benefit, advantage, or solution to occur or become more pronounced are not to be construed as a critical, required, or essential feature or component of any or all the claims.
[0035] While specific language has been used to describe the present subject matter, any limitations arising on account thereto, are not intended. As would be apparent to a person in the art, various working modifications may be made to the method in order to implement the inventive concept as taught herein. The drawings and the foregoing description give examples of embodiments. Those skilled in the art will appreciate that one or more of the described elements may well be combined into a single functional element. Alternatively, certain elements may be split into multiple functional elements. Elements from one embodiment may be added to another embodiment.