PCIe device
A peripheral component interconnect express (PCIe) device includes a common function performing operations associated with a PCIe interface according to a function type, the common function being programmable to be a function type selected from a plurality function types, an access identification information controller generating first access identification information for allowing an access to the common function, and providing the first access identification information to an assigned system image to which the common function has been assigned, a data packet receiver receiving a data packet including target identification information indicating a target system image from the target system image, and an access allowance determiner determining whether or not to allow the target system image to access the common function based on the first access identification information and the target identification information.
1 . A peripheral component interconnect express (PCIe) device, comprising:
a physical function performing operations associated with a Peripheral Component Interconnect Express (PCIe) interface according to a physical function (PF) type;
a common function performing the operations according to the physical function type or a virtual function (VF) type; and
a function type controller changing a function type of the common function into the virtual function type or the physical function type based on function type setting information,
wherein the function type setting information includes function type mapping information indicating a mapping relationship between the common function and the function type of the common function.
2 . The PCIe device of claim 1 , wherein each of the physical function and the second common function comprises:
a configuration space including registers for configuring each of the physical function and the common function to perform the operations.
3 . The PCIe device of claim 2 , wherein the function type controller changes the function type of the common function by changing values of the registers included in the configuration space of the common function based on the function type setting information.
4 . The PCIe device of claim 2 , wherein the function type controller, based on pointer values indicating capabilities to be enabled among values of the registers, enables capabilities associated with the function type determined for each of the physical function and the common function.
5 . The PCIe device of claim 2 , wherein the function type controller changes the function type of the common function as being one of the physical function type, the virtual function type, and a disable function type in which the operations are disabled.
6 . The PCIe device of claim 5 , wherein the function type controller disables the registers included in the configuration space of the common function when the common function is changed to be the disable function type.
7 . The PCIe device of claim 1 , wherein the common function determined as the physical function type performs the operations based on a base address register (BAR) included in a configuration space of the common function.
8 . The PCIe device of claim 7 , wherein the common function determined as the physical function type performs the operations based on registers corresponding to the operations included in the configuration space of the common function.
9 . The PCIe device of claim 1 , wherein the common function determined as the virtual function type is associated with the physical function, and performs the operations based on a base address register included in a configuration space of the physical function.
10 . The PCIe device of claim 9 , wherein the physical function is a single root I/O virtualization (SR-IOV) capability enabled function, and
wherein the common function is enabled according to a virtual function (VF) enable value included in a SR-IOV capability register of the physical function.
11 . The PCIe device of claim 9 , wherein the common function performs the operations based on registers corresponding to the operations included in the configuration space of the physical function.
12 . The PCIe device of claim 9 , wherein the common function performs a reset operation on the common function in response to at least one of a reset request for the physical function, a reset request for the common function, and a clear operation of the VF enable value of the physical function.
13 . The PCIe device of claim 1 , wherein the operations include at least one of a data processing operation of receiving a command, an error handling operation of detecting an error and reporting the error, and a power management operation of managing power of a function.
14 . The PCIe device of claim 1 , wherein each of the physical function and the common function comprises:
an operation controller controlling each of the physical function and the common function to perform the operations according to the function type determined for each of the physical function and the common function.
15 . The PCIe device of claim 2 , wherein the function type controller, based on pointer values indicating capabilities to be enabled among values of the registers, disables capabilities not associated with the function type determined for each of the physical function and the common function, and performs clock gating on registers of the capabilities disabled among the registers.
16 . The PCIe device of claim 5 , wherein the function type controller performs clock gating on the registers when the common function is changed to be the disable function type.
17 . The PCIe device of claim 7 , wherein the common function performs a reset operation on the common function in response to a reset request for the common function provided.
18 . The PCIe device of claim 1 , wherein the physical function includes a base address register included in a configuration space of the physical function,
wherein the common function determined as the virtual function type is associated with the physical function, and performs the operations based on the base address register included in the configuration space of the physical function.
19 . The PCIe device of claim 1 , wherein the PCIe device receives the function type setting information from the host.
20 . The PCIe device of claim 1 , wherein each of the physical function and the common function corresponds to an independent operation unit for providing physical resources of the PCIe device.
21 . The PCIe device of claim 1 , wherein PCIe device completion information is provided to a host in accordance with the changing of the function type of the common function.