Vinícius G. Linden, Cassiano Campes, L. R. Prade, Bruna F. Flesch, Rodrigo M. Figueiredo
{"title":"AN NVME FPGA-BASED SMART SWITCH ARCHITECTURE WITH ONLINE RECONFIGURATION","authors":"Vinícius G. Linden, Cassiano Campes, L. R. Prade, Bruna F. Flesch, Rodrigo M. Figueiredo","doi":"10.33965/icwi2020_202012l009","DOIUrl":null,"url":null,"abstract":"Solid State Drives (SSDs) are replacing the traditional Hard Disk Drives (HDD) in data servers due to its very fast speeds. Furthermore, many researches have proposed improvements in different aspects of its functionality, mainly in hardware and firmware. This transition has released the previous SSDs bandwidth limitations. Cheaper and denser SSDs have facilitated their adoption to replace HDDs. With the introduction of the Non-Volatile Memory Express (NVMe), the performance enhancement revealed a new trend: the bottleneck is now at the main processor, and no longer at the storage. A PCIe switch is employed for any given computer system that uses more than one SSD at a time, but not without its limitations. NVMe commands contain essential information inside each field, which might be needed to define the destination SSD. In other words: a PCIe packet is not an NVMe command. This paper proposes an NVMe switch architecture to be applied in bridging and switching of SSD devices used in databases and web servers. With this approach, the flexible architecture is able to decide how the data is going to be stored based on specific NVMe command fields. The architecture main purpose is to provide a solution for decision criteria based on the contents of one or more NVMe fields. Therefore, an external device or even the host is able to reconfigure switching criteria at run-time. This fact increases control over SSDs. The proposed architecture is flexible and expandable in terms of functionality. Xilinx Vivado Simulator 2019 was used to design and validate the architecture in VHDL.","PeriodicalId":254527,"journal":{"name":"Proceedings of the 19th International Conference on WWW/Internet","volume":"5 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-11-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 19th International Conference on WWW/Internet","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.33965/icwi2020_202012l009","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Solid State Drives (SSDs) are replacing the traditional Hard Disk Drives (HDD) in data servers due to its very fast speeds. Furthermore, many researches have proposed improvements in different aspects of its functionality, mainly in hardware and firmware. This transition has released the previous SSDs bandwidth limitations. Cheaper and denser SSDs have facilitated their adoption to replace HDDs. With the introduction of the Non-Volatile Memory Express (NVMe), the performance enhancement revealed a new trend: the bottleneck is now at the main processor, and no longer at the storage. A PCIe switch is employed for any given computer system that uses more than one SSD at a time, but not without its limitations. NVMe commands contain essential information inside each field, which might be needed to define the destination SSD. In other words: a PCIe packet is not an NVMe command. This paper proposes an NVMe switch architecture to be applied in bridging and switching of SSD devices used in databases and web servers. With this approach, the flexible architecture is able to decide how the data is going to be stored based on specific NVMe command fields. The architecture main purpose is to provide a solution for decision criteria based on the contents of one or more NVMe fields. Therefore, an external device or even the host is able to reconfigure switching criteria at run-time. This fact increases control over SSDs. The proposed architecture is flexible and expandable in terms of functionality. Xilinx Vivado Simulator 2019 was used to design and validate the architecture in VHDL.