why are file copies slower when going from partition to partion even on same disk?

Jul 10, 2007
12,041
3
0
any file copy from one location to another on the same volume is instantaneous.

however, copy that file to another partition on the SAME physical disk, and it takes a lot longer.

why is that? what is slowing it down?
OS is windows, FS is NTFS, if it matters.
 

Voo

Golden Member
Feb 27, 2009
1,684
0
76
Ok that answer involves a bit guessing because I surely won't go looking for a NTFS documentation, but the reason seems clear enough:

Every partition on your disk is described by some start/end sectors. So any file on a particular partition really has to be in that range. As a consequence when you copy a file from one partition to another the data really has to be copied around.

On the other hand if you leave it in the same partition the only thing that happens is that NTFS updates its internal data structure accordingly - so no data is copied around and you only write some short string.
 

chusteczka

Diamond Member
Apr 12, 2006
3,399
3
71
In addition to the data being copied from one physical partition of the hard drive to another physical partition of the hard drive, the read/write head must physically move one partition to the next.

  1. The read/write head travels to the first partition and copies an amount of data, let's say a sector.
  2. The read/write head then travels to the proper place in the second partition to write the data.
  3. The read/write head must then travel back to where it left off in the first partition to read the next sector of data.
 

Emulex

Diamond Member
Jan 28, 2001
9,759
1
71
you sure you aren't describing a move? move on the same partition is just a ntfs table change - copy-on-write will slow down same or foreign partition unless you got some magic dedupe/compression file system.
 

lsv

Golden Member
Dec 18, 2009
1,610
0
71
On the other hand if you leave it in the same partition the only thing that happens is that NTFS updates its internal data structure accordingly - so no data is copied around and you only write some short string.

NTFS copies the data to a new location no matter what.
 

Bill Brasky

Diamond Member
May 18, 2006
4,324
1
0
^^ I don't think that's the case in Windows 7. I read the opposite when it first came out; that the data tables are simply updated and the files themselves don't replicate unless being moved to another partition.
 

Voo

Golden Member
Feb 27, 2009
1,684
0
76
NTFS copies the data to a new location no matter what.
Ups, yep right - I somehow confused it with a move in which case you'd see exactly the described behavior. Presumably the OP confused the two terms as well? Otherwise strange behavior

Bill Brasky said:
^^ I don't think that's the case in Windows 7. I read the opposite when it first came out; that the data tables are simply updated and the files themselves don't replicate unless being moved to another partition.
No, NTFS doesn't implement copy on write.
 

mv2devnull

Golden Member
Apr 13, 2010
1,531
161
106
Perhaps related source of confusion is that a mouse drag within same filesystem defaults to move and drag between filesystems defaults to copy.
 
Jul 10, 2007
12,041
3
0
you sure you aren't describing a move? move on the same partition is just a ntfs table change - copy-on-write will slow down same or foreign partition unless you got some magic dedupe/compression file system.

doesn't matter, copy or move.
the "intra-partition" transaction is always significantly faster.
 

MobiusPizza

Platinum Member
Apr 23, 2004
2,001
0
0
I am not 100% sure, but my guess is that

Within the same volume, windows just have to send a ATA command to the HDD
copy logical sector 100-200 to 1000- 1200, then the disk controller will handle the rest without the need of using the SATA/IDE interface.

Across partitions, logical sector addresses doesn't stretch across the disk, like physical sector addresses do. The later of which windows doesn't know (mapping between physical addressing and logical addressing is handled by the HDD controller). You end up copying file to and from the same SATA/IDE interface through the northbridge
 

lsv

Golden Member
Dec 18, 2009
1,610
0
71
doesn't matter, copy or move.
the "intra-partition" transaction is always significantly faster.

Copying data from drive A to drive A (any partition anywhere on it) will take the same amount of time when using the NTFS file system... and most file systems. You have to read the data and write it in chunks; read data, write data, read data, etc.

Copying data will be much faster over 2 separate drives because one drive will only read and the other will only write. Increasing speeds significantly.
 

exdeath

Lifer
Jan 29, 2004
13,679
10
81
Same cluster size and partition alignment?

Also don't forget the overhead of having to update two independent file tables and cluster with the same head.

Also be sure that you are copying and not moving. If you are moving on the same volume it will be instantaneous as it only updates the file system pointers and no data is physically manipulated. Moving to another partition would have to actually transfer data.

Copying should be the same since its still one head moving back and fourth on the same physical disk either way, barring anything weird like diff cluster sizes and fragmentation differences. Smaller files will actually be choked by $MFT random access rate which is horrendous for 60 year old magnetic spinny garbage.
 
Last edited:

Victor43

Junior Member
Aug 30, 2011
15
0
0
I am not 100% sure, but my guess is that

Within the same volume, windows just have to send a ATA command to the HDD
copy logical sector 100-200 to 1000- 1200, then the disk controller will handle the rest without the need of using the SATA/IDE interface.

Across partitions, logical sector addresses doesn't stretch across the disk, like physical sector addresses do. The later of which windows doesn't know (mapping between physical addressing and logical addressing is handled by the HDD controller). You end up copying file to and from the same SATA/IDE interface through the northbridge

I know this orginal post is a little old but I thought I would add my 2 cents. I believe its the Southbridge that handles all IDE/SATA data transfers and not the Northbridge. The Northbridge is actually for data that travels to and from the CPU and Memory and AGP.