发明名称 IMPLEMENTING ADVANCED CACHING
摘要 Embodiments are disclosed for implementing a priority queue in a storage device, e.g., a solid state drive. At least some of the embodiments can use an in-memory set of blocks to store items until the block is full, and commit the full block to the storage device. Upon storing a full block, a block having a lowest priority can be deleted. An index storing correspondences between items and blocks can be used to update priorities and indicated deleted items. By using the in-memory blocks and index, operations transmitted to the storage device can be reduced.
申请公布号 US2015378914(A1) 申请公布日期 2015.12.31
申请号 US201414316395 申请日期 2014.06.26
申请人 FACEBOOK, INC. 发明人 Lloyd Wyatt Andrew;Tang Linpeng;Huang Qi
分类号 G06F12/08;G06F12/12 主分类号 G06F12/08
代理机构 代理人
主权项 1. A method for implementing a priority queue in a storage device, comprising: dividing the storage device into multiple blocks; identifying, as active blocks, a subset of the multiple blocks, each active block associated with a priority; creating multiple in-memory blocks, each created in-memory block corresponding to one of the active blocks and having the priority of the corresponding active block; receiving an item to be stored in the storage device and a priority for the received item; adding, to an index, an entry corresponding to the received item, the entry including the priority for the received item and an identification of a block at which the received item is to be stored; storing the received item in an in-memory block having a priority closest to the received item; and in an event the in-memory block is full, writing contents of the full in-memory block to the storage device.
地址 Menlo Park CA US