A computer implemented method of efficiently transferring data between a host computer and a peripheral component removably coupled to said host computer, said method comprising the steps of:
- a) receiving a request, from said peripheral component removably coupled to said host computer, to transfer data from said peripheral component to memory of said host computer, said data requiring a first block of said memory in said host computer wherein said first block of said memory has a first size;
- b) allocating a second block of said memory in said host computer to receive said data from said peripheral component, said second block of said memory comprising an integer unit of said memory, said integer unit of said memory having a second size which is greater than said first size;
- c) receiving said data from said peripheral component in said second block of said memory;
- and
- d) filling unused memory space present in said second block of said memory, due to the difference in size between said first size and said second size, with extraneous data.