Friendly reminder to never forcebly shutdown your PC
I just lost 44 GB of data that I downloaded in the past two hours. My PC started to get laggy and it got stuck so I just shut it down believing that all will be well since the data has already been written to disk..
If 44GB had not been flushed to disk yet then that implies that OP has >44GB of RAM in use as page cache. SSD write caches are only around 2GB while HDD write caches are not more than about 512MB. I don't know how much RAM OP has but this seems unlikely to be the case.
I would bet on one of the following:
the transfer was still in progress when the system was halted
the transfer was not a network download but actually a copy from another locally mounted partition and the OS was still transferring data
the filesystem driver did write that 44GB to inodes but didn't link the inodes into the filesystem yet, in which case the filesystem's fsck tool should be able to recover data blocks that were already written
OP is using a filesystem which does not use either journaling or COW (eg. FAT32) in which case the data which was written but not linked into the filesystem is lost as orphaned inodes.
3 & 4 being the reason I was asking what filesystem OP is using.
Only copy-on-write filesystems are safe here as they don’t overwrite old data.
COW filesystems make no difference in this case since this was not data overwriting an existing file. They still have the same behavior with write caching in the OS and on the drive and still require a tool (eg. btrfs-check) to recover unlinked changes in the event of a crash.
NTFS is not safe.
NTFS is a journaling filesystem and is crash-consistent. That doesn't mean it can do "magic" if the data hasn't hit the disk, but it does mean that it won't corrupt the filesystem or lose data which was already written in the case of a crash.
If you haven't tried it already, you could run chkdsk to see if the filesystem needs repairing. You can do it from the command-line^[1] or also through the drive properties > Tools > Check button.
chkdsk
/f Fixes errors on the disk. The disk must be locked. If chkdsk cannot lock the drive, a message appears
that asks you if you want to check the drive the next time you restart the computer.