No it does not map all the time. It depends on the interval of checkpoint happening. You can test this with the code below.
To explain what I said in my comment you can test with this code.
Use the code from here to load 300 rows.
Create a new table.
USE TestChkPoint
GO
CREATE TABLE dbo.TestTableSize
(
MyKeyField VARCHAR(10) NOT NULL,
MyDate1 DATETIME NOT NULL,
MyDate2 DATETIME NOT NULL,
MyDate3 DATETIME NOT NULL,
MyDate4 DATETIME NOT NULL,
MyDate5 DATETIME NOT NULL
)
GO
You will see different CheckpointLSN between diff and log1 backup if you perform below action.
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--insert new data
CHECKPOINT
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'
You will see same checkpointLSN in you diff and log1 backup if you perform this actions. Notice I commented out manual checkpoint.
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--insert new data
--CHECKPOINT
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'
Now if you set TARGET_RECOVERY_TIME to 1 second and perform below steps without manual checkpoint you will see different checkpointLSN between diff and log backup.
ALTER DATABASE TestChkPoint SET TARGET_RECOVERY_TIME = 1 SECONDS;
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.Full.bak'
--insert new data
BACKUP DATABASE TestChkPoint TO DISK= 'C:\TestChkPoint.diff.bak' WITH DIFFERENTIAL
--no manual checkpoint
--insert new data change 300 to 30000
BACKUP LOG TestChkPoint TO DISK= 'C:\TestChkPoint.log1.bak'