697 */ |
697 */ |
698 class TVolumeIOParamInfo |
698 class TVolumeIOParamInfo |
699 { |
699 { |
700 public: |
700 public: |
701 /** |
701 /** |
702 The size of a block in bytes. |
702 The size of a media block in bytes. This is a physical property of a media and returned by the corresponding media driver. |
703 |
703 This value is usually at least 512 bytes and always a power of 2. For some media types the meaning of this value is |
704 Reads and writes that are aligned on block boundaries are up to twice as fast as when |
704 "the min. size of the aligned data buffer which write onto the media doesn't lead to read-modify-write operation." |
705 mis-aligned. |
705 Therefore, reads and writes that are aligned on block boundaries and with lenght of a multiple block size can be much faster. |
706 |
706 Read and write operations on certain underlying media is done in blocks. A write operation that modifies only part of a block is less efficient, |
707 Read and write operations on certain underlying media is done in blocks. |
707 in general, than one that modifies an entire block. Data throughput degrades linearly for reads and writes in smaller sized units. |
708 A write operation that modifies only part of a block is less efficient, in general, than |
|
709 one that modifies an entire block. Data throughput degrades linearly for reads and writes in smaller |
|
710 sized units. |
|
711 */ |
708 */ |
712 TInt iBlockSize; |
709 TInt iBlockSize; |
713 /** |
710 |
714 The size in bytes of a single disk cluster. |
711 /** |
715 |
712 The size in bytes of a single file system cluster. This is a logical property of the file system. |
716 Read and write operations that are aligned on cluster boundaries are more efficient. |
713 The file system organises and allocates the data on the disk in clusters where each cluster usually consists of one or more blocks. |
717 |
714 Cluster is a minimal unit that the file system allocates on the volume. Thus, a file of 1 byte length occupies 1 cluster. |
718 The file system organises and allocates the file data on the disk in clusters where each cluster is |
715 |
719 one or more blocks. Files that are not zero length occupy at least one cluster of the disk, |
716 Read and write operations that are aligned on cluster boundaries are more efficient from the file system point of view. |
720 so large numbers of very small files use up more disk space than expected. |
717 In some circumstances cluster size can be less than a block size, but it is very inefficient. |
|
718 |
|
719 This value is reported by a file system. The value less than 0 indicates a error. |
721 */ |
720 */ |
722 TInt iClusterSize; |
721 TInt iClusterSize; |
|
722 |
|
723 |
723 /** |
724 /** |
724 The recommended buffer size for optimised reading performance. |
725 The recommended buffer size for optimised reading performance. |
725 |
726 |
726 The given buffer size is based on sensible benchmark testing results produced by the mobile device vendor. |
727 The given buffer size is based on sensible benchmark testing results produced by the mobile device vendor. |
727 The buffer size is then added to the estart.txt file |
728 The buffer size is then added to the estart.txt file |
752 TInt iRecWriteBufSize; |
753 TInt iRecWriteBufSize; |
753 |
754 |
754 |
755 |
755 /** |
756 /** |
756 The maximum file size that is supported by the file system mounted on this volume. |
757 The maximum file size that is supported by the file system mounted on this volume. |
757 Not all file system may provide this parameter; The value KMaxTUint64 (0xffffffffffffffff) means that this particular file system hasn't |
758 Not all file system may report this parameter; The value KMaxTUint64 (0xffffffffffffffff) means that this particular file system hasn't |
758 provided this information. |
759 provided this information. |
759 */ |
760 */ |
760 TUint64 iMaxSupportedFileSize; |
761 TUint64 iMaxSupportedFileSize; |
761 |
762 |
762 private: |
763 private: |