TDMS 파일 I/O 작업을 하는 동안, LabVIEW가 TDMS 파일에 작성한 데이터는 버퍼가 다 찰 때까지 또는 사용자가 파일을 닫을 때까지 버퍼에 있게 됩니다. 버퍼링은 OS 파일 시스템의 채널 레이어나 TDMS 디스크 캐시에서 발생할 수 있습니다.

다음 그림은 표준 TDMS VI에서 TDMS 파일에 발생하는 버퍼링을 보여줍니다.

노트 고급 TDMS VI와 함수의 경우, OS 파일 시스템에서만 버퍼가 발생합니다. 버퍼링 비활성화? 입력이 참인 경우, 어떤 레이어에서도 버퍼링이 발생하지 않습니다.

버퍼링이 발생하는 레이어는 [TDMS 프로퍼티 설정] 함수를 사용하여 설정한 프로퍼티에 따라 달라질 수 있습니다. 예를 들어, NI_MinimumBufferSize 프로퍼티는 채널 레이어에서 버퍼링할 데이터 샘플의 개수를 결정합니다. TDMS 함수의 버퍼링 비활성화? 입력은 LabVIEW가 OS에 발생하는 시스템 버퍼링을 비활성화할지 여부를 결정합니다. 버퍼링 비활성화? 입력이 참이면, LabVIEW의 시스템 버퍼링이 비활성화되고 TDMS 디스크 캐시에서 버퍼링이 발생합니다. NI_DiskCacheSize 프로퍼티는 데이터에 할당할 TDMS 디스크 캐시에서 캐시 크기를 결정합니다. 이 프로퍼티는 버퍼링 비활성화? 입력이 참인 경우에만 유효합니다.

모든 버퍼를 TDMS 파일에 직접 쓰려면, [TDMS 비우기] 함수를 사용하십시오.

노트 NI_MinimumBufferSize 프로퍼티 및 NI_DiskCacheSize 프로퍼티는 고급 TDMS VI 및 함수에는 적용되지 않습니다.

버퍼링을 비활성화해야 하는 경우

다음 상황에서 버퍼링을 비활성화시켜 데이터 전송의 속도를 높일 수 있습니다:

  • 크기가 큰 샘플을 읽거나 작성하려는 경우.
  • 서로 다른 샘플에서 많은 양의 데이터를 읽어나 작성하려는 경우.
  • RAID(Redundant Array of Independent Disks)를 사용하여 프로세스 속도를 높이려는 경우. RAID는 단일 디스크처럼 동작하는 여러 하드 디스크의 모음으로, OS가 동시에 사용할 수 있어서 데이터를 읽고 쓰는데 소요되는 시간이 적습니다. 버퍼링이 활성화된 상태에서 RAID를 사용하면, OS가 실제로 디스크에 데이터를 쓰는데 소요되는 시간보다도 LabVIEW가 OS에 데이터를 복사하는데 시간이 더 많이 필요할 수도 있습니다.

관련 정보

데이터 버퍼링하기

파일 버퍼링

표준 및 고급 TDMS 함수