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