Abstract
The data link layer of the PCI Express must have the transmitting buffer that contains the packets to transmit next time. Also it must have the retry buffer that contains the packets which were already transmitted but have not been acknowledged by the corresponding target device. In the separated buffer architecture, the data link layer can not transmit the packets in the transmitting buffer if the reiry buffer space is not enough. In this paper, we propose an efficient buffer architecture which merges the transmitting buffer and the retry buffer to a single buffer. Since the proposed buffer can dynamically assign the size of the transmitting buffer and the retry buffer, it can improve the buffer usage efficiency and the data transfer efficiency. The simulation result shows that the proposed buffer has the higher data transfer efficiency than the separated buffer architecture about 39% when the total buffer size is 8K byte.
PCI 익스프레스 디바이스의 데이터 연결 계층은 전송할 패킷을 저장하고 있는 송신 버퍼와 전송하였지만 아직 타겟 디바이스로부터 승인 받지 못한 패킷을 저장하고 있는 재전송 버퍼를 가지고 있어야 한다. 이렇게 전송 버퍼와 재전송 버퍼를 구분하여 구현할 경우 전송할 패킷이 전송 버퍼에 있다 하더라도 재전송 버퍼에 여유 공간이 없다면 더 이상 패킷을 전송 할 수 없다는 단점이 있다. 본 논문에서는 한 개의 버퍼로 전송 버퍼와 재전송 버퍼를 구현하는 방법을 제안한다. 제안된 버퍼 구조에서는 필요에 따라 버퍼의 공간을 유연하게 사용할 수 있기 때문에 버퍼 사용 및 데이터 전송 효율을 향상시킬 수 있다. 모의 실험 결과 버퍼의 전체 크기가 8K 바이트일 경우 제안된 방법이 버퍼를 분리하여 사용하는 방법에 비해 데이터 전송 효율이 평균 39% 향상되었다.