• Title/Summary/Keyword: NCQ

Search Result 5, Processing Time 0.021 seconds

Eliminating Request Starvation due to Expectation Discrepancy between NCQ and I/O Scheduler (NCQ와 입출력 스케줄러의 기대 불일치로 인한 입출력 요청의 굶주림 현상 제거)

  • Yu, Young-Jin;Shin, Dong-In;Jung, Im-Young;Yeom, Heon-Young
    • Journal of KIISE:Computing Practices and Letters
    • /
    • v.15 no.5
    • /
    • pp.400-404
    • /
    • 2009
  • Native Command Queueing is a technology to maximize throughput of disk system by reordering requests in its command queue. Recent S-ATA 2 standard specifies a protocol for the purpose of dealing with NCQ feature, making most vendors implementing it in their disk devices. However, the new feature, NCQ, may lead to information gap between OS and disk drive. 05 considers that disk will service I/O requests in the order as OS has dispatched. Unfortunately, it isn't true any more since NCQ would simply ignore the policy of OS and reorder the sequence OS has expected. Let us define the term as expectation-discord. Due to the discord, serious performance anomalies or starvation of requests may occur in I/O subsystem. In this paper, we confirm that the expectation-discord actually brings about starvation of requests. We propose a solution to settle it. Our solution is very simple, effective, cheap(not requiring any hardware modification) and portable across various OS. Experimental results show that our solution can balance throughput and response time very well.

Design of NCQ Scheduler Considering SSD's Characteristics (SSD의 특성을 고려한 NCQ 스케줄러 설계)

  • Cho, Yong-Woon;Kim, Tae-Seok
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.288-289
    • /
    • 2012
  • 이 논문에서는 Solid State Drives(SSD)의 구조적인 특성을 활용한 Native Command Queueing(NCQ) 스케줄링 기법을 제안하려 한다. SSD는 Hard Disk Drives(HDD)와 달리 접근시간이 매우 짧고, 읽기/쓰기 속도가 서로 다르다는 특성이 있다. 그리고 SSD 내부에는 HDD와 마찬가지로 버퍼캐시가 존재한다. 이런 특성들을 활용하여 커맨드가 처리되는데 걸리는 시간을 모델링할 수 있다. 이렇게 모델링한 처리시간을 짧은 순서대로 스케줄링 정책에 적용하여 응답속도를 개선할 수 있다.

A Study of I/O Performance Improvement in SATA Hard Disks (SATA 하드디스크의 I/O 성능 개선에 관한 연구)

  • Arfan, Abdul;Kim, Young-Jin;Kwon, JinBaek
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.11a
    • /
    • pp.123-125
    • /
    • 2011
  • A SATA hard disk has been widely used in recent years and NCQ is one of its crucial features. Despite the development from IDE to SATA disk, there is still much room for improvement for a SATA disk. In addition, until now a hard disk is a black box to us and it is very hard to make research at the level of a disk controller. To enhance the performance of NCQ, we try to do I/O clustering over the requests, which combines multiple sequential requests into a single large one. To evaluate the effect of an I/O clustering mechanism, we created a simple but practical SATA hard disk simulator. Experimental results show that the proposed approach is effective in enhancing the I/O performance of a SATA disk.

Performance Analysis on SSD RAID Device (SSD로 구성된 RAID 장치의 성능 분석)

  • Lee, Sang-Su;Shin, Dong-Kun
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2012.06a
    • /
    • pp.367-369
    • /
    • 2012
  • SSD는 고성능 저전력 스토리지 시스템으로 각광받고 있다. 본 연구에서는 SSD를 사용한 RAID 장치의 성능을 분석하는 연구를 수행하였다. 하드웨어 RAID 5 시스템에서 SSD의 개수, 스트라이프 크기, 리퀘스트 크기, NCQ의 값을 변화시키며 임의 읽기/쓰기 동작의 성능을 분석하였다. 실험 결과를 바탕으로 본 논문에서는 패리티를 기반으로 한 RAID 5 시스템에서 임의 쓰기 성능의 문제점을 보여주고, RAID 5 시스템의 구성에 대한 재고가 필요함을 보인다.

Optimizing Fsync Performance with Dynamic Queue Depth Adaptation

  • Park, Daejun;Kim, Min Ji;Shin, Dongkun
    • JSTS:Journal of Semiconductor Technology and Science
    • /
    • v.15 no.5
    • /
    • pp.570-576
    • /
    • 2015
  • Existing flash storage devices such as universal flash storage and solid state disk support command queuing to improve storage I/O bandwidth. Command queuing allows multiple read/write requests to be pending in a device queue. Because multi-channel and multi-way architecture of flash storage devices can handle multiple requests simultaneously, command queuing is an indispensable technique for utilizing parallel architecture. However, command queuing can be harmful to the latency of fsync system call, which is critical to application responsiveness. We propose a dynamic queue depth adaptation technique, which reduces the queue depth if user application is expected to send fsync calls. Experiments show that the proposed technique reduces the fsync latency by 79% on average compared to the original scheme.