A knock detection and control system for a direct injection engine provided with DI fuel injectors, the system comprising: a single knock sensor configured to generate a knock signal indicative of a vibration of the engine, which may be caused by abnormal combustion; and a controller configured to: receive the knock signal, determine, with respect to a crank angle of the engine, two distinct monitoring windows (204,208) for low speed pre-ignition (LSPI) knock and spark knock, respectively, based on (i) the actual spark timing and (ii) an appropriate mass fraction burn location, wherein the two distinct monitoring windows (204, 208) are separated by a controller reset window; monitor the knock signal using the two distinct monitoring windows (204,208), detect (320,332) one of LSPI knock and spark knock based on the monitoring, and control the engine to mitigate the detected LSPI knock or spark knock, wherein the controller is configured to mitigate the detected LSPI knock by controlling the DI fuel injectors of the engine, characterised in that said controller reset window is calibrated such that it is long enough for a worst-case reset of the controller to load parameters for the spark knock window, and that the controller is configured to reset signal amplifications and detection thresholds during the controller reset window, each distinct monitoring window (204, 208) having distinct signal amplifications and detection thresholds associated therewith. a single knock sensor configured to generate a knock signal indicative of a vibration of the engine, which may be caused by abnormal combustion; and a controller configured to: receive the knock signal, determine, with respect to a crank angle of the engine, two distinct monitoring windows (204,208) for low speed pre-ignition (LSPI) knock and spark knock, respectively, based on (i) the actual spark timing and (ii) an appropriate mass fraction burn location, wherein the two distinct monitoring windows (204, 208) are separated by a controller reset window; monitor the knock signal using the two distinct monitoring windows (204,208), detect (320,332) one of LSPI knock and spark knock based on the monitoring, and control the engine to mitigate the detected LSPI knock or spark knock, wherein the controller is configured to mitigate the detected LSPI knock by controlling the DI fuel injectors of the engine, characterised in that said controller reset window is calibrated such that it is long enough for a worst-case reset of the controller to load parameters for the spark knock window, and that the controller is configured to reset signal amplifications and detection thresholds during the controller reset window, each distinct monitoring window (204, 208) having distinct signal amplifications and detection thresholds associated therewith. receive the knock signal, determine, with respect to a crank angle of the engine, two distinct monitoring windows (204,208) for low speed pre-ignition (LSPI) knock and spark knock, respectively, based on (i) the actual spark timing and (ii) an appropriate mass fraction burn location, wherein the two distinct monitoring windows (204, 208) are separated by a controller reset window; monitor the knock signal using the two distinct monitoring windows (204,208), detect (320,332) one of LSPI knock and spark knock based on the monitoring, and control the engine to mitigate the detected LSPI knock or spark knock, wherein the controller is configured to mitigate the detected LSPI knock by controlling the DI fuel injectors of the engine, characterised in that said controller reset window is calibrated such that it is long enough for a worst-case reset of the controller to load parameters for the spark knock window, and that the controller is configured to reset signal amplifications and detection thresholds during the controller reset window, each distinct monitoring window (204, 208) having distinct signal amplifications and detection thresholds associated therewith.