A data storage device comprising: a non-volatile semiconductor memory device; and a solid-state drive controller, communicatively coupled to the non-volatile semiconductor memory device, and configured to store data and retrieve data in the non-volatile semiconductor memory device in response to commands received from a host system external to the data storage device, the SSD controller including a function level reset manager communicatively coupled to the host system through a peripheral component interconnect express (PCIe) interface, the FLR manager maintaining a FLR bitmap indicating which functions of a plurality of functions are in a reset state, the SSD controller configured to: receive, by the FLR manager, an FLR request from the host system; update, by the FLR manager in response to receiving an FLR request, the FLR bitmap based on the FLR request; broadcast, by the FLR manager, the FLR request to a command processing pipeline comprising a plurality of FLR check points; determine, by the command processing pipeline, at each of the plurality of FLR check points, using the FLR bitmap, if a command associated with a function of the plurality of functions is in a reset state; and cancel, by the command processing pipeline, the one or more commands associated with the functions of the plurality of functions in the reset state based on the plurality of functions in the reset state as indicated in the FLR bitmap after the one or more commands have entered the command processing pipeline. a non-volatile semiconductor memory device; and a solid-state drive controller, communicatively coupled to the non-volatile semiconductor memory device, and configured to store data and retrieve data in the non-volatile semiconductor memory device in response to commands received from a host system external to the data storage device, the SSD controller including a function level reset manager communicatively coupled to the host system through a peripheral component interconnect express (PCIe) interface, the FLR manager maintaining a FLR bitmap indicating which functions of a plurality of functions are in a reset state, the SSD controller configured to: receive, by the FLR manager, an FLR request from the host system; update, by the FLR manager in response to receiving an FLR request, the FLR bitmap based on the FLR request; broadcast, by the FLR manager, the FLR request to a command processing pipeline comprising a plurality of FLR check points; determine, by the command processing pipeline, at each of the plurality of FLR check points, using the FLR bitmap, if a command associated with a function of the plurality of functions is in a reset state; and cancel, by the command processing pipeline, the one or more commands associated with the functions of the plurality of functions in the reset state based on the plurality of functions in the reset state as indicated in the FLR bitmap after the one or more commands have entered the command processing pipeline. receive, by the FLR manager, an FLR request from the host system; update, by the FLR manager in response to receiving an FLR request, the FLR bitmap based on the FLR request; broadcast, by the FLR manager, the FLR request to a command processing pipeline comprising a plurality of FLR check points; determine, by the command processing pipeline, at each of the plurality of FLR check points, using the FLR bitmap, if a command associated with a function of the plurality of functions is in a reset state; and cancel, by the command processing pipeline, the one or more commands associated with the functions of the plurality of functions in the reset state based on the plurality of functions in the reset state as indicated in the FLR bitmap after the one or more commands have entered the command processing pipeline.