发明名称 Method and controller for identifying a unit in a solid state memory device for writing data to
摘要 In a method for identifying a unit in a solid state memory device for writing data to a tier structure is maintained the tier structure comprising at least two tiers for assigning units available for writing data to. In response to receiving a request for writing data it is determined if a unit for writing data to is available in a first tier of the at least two tiers. In response to determining that a unit is available for writing data to in the first tier this unit is identified for writing data to, and in response to determining that no unit is available for writing the data to in the first tier it is determined if a unit is available for writing data to in a second tier of the at least two tiers subject to a priority of the write request.
申请公布号 US8954652(B2) 申请公布日期 2015.02.10
申请号 US201213493255 申请日期 2012.06.11
申请人 International Business Machines Corporation 发明人 Haas Robert;Pletka Roman
分类号 G06F12/02;G06F3/06 主分类号 G06F12/02
代理机构 代理人 Tang Jeff;Chang, LLC Michael J.
主权项 1. A computer program product for identifying a unit in a solid state memory device for writing data to wherein host write requests and block reclaiming write requests compete concurrently for new write locations on the solid state memory device, the computer program product comprising a computer readable medium having computer readable program code embodied therewith, the computer readable program code comprising computer readable program code configured to perform the steps of: maintaining a hierarchical tier structure comprising at least two tiers having blocks with units available for writing data to; in response to receiving a write request which is either a host write request or a block reclaiming write request, and in accordance with the host write requests and the block reclaiming write requests competing concurrently for the new write locations on the solid state memory device, determining if a unit for writing data to is available in a first tier of the at least two tiers; in response to determining that a unit is available for writing data to in the first tier, identifying this unit for writing the data to regardless of a priority of the write request; in response to determining that no unit is available for writing data to in the first tier, determining if a unit is available for writing data to in a second tier of the at least two tiers subject to a the priority of the write request such that the second tier is used only for serving the block reclaiming write requests; in response to writing data to a unit in a given one of the blocks in a given one of the tiers, removing the given block from the given tier when all units in the given block are occupied with data such that the blocks in the at least two tiers have units available for writing data to; and obtaining a free block to replace the given block which has been removed; wherein the units assigned to a common tier are arranged in one of the blocks such that each of the tiers comprises only a single block, the computer readable program code further configured to perform the steps of: maintaining a block in a tier as long as the block contains at least one unit available for writing data to, otherwise transferring the block to a pool of occupied blocks; wherein in response to transferring a block from a given one of the tiers to the pool of occupied blocks, determining if a free block is available from one or more of a free block pool and a block reclaiming process; if a free block is available, transferring a block assigned to a tier next lower than the given tier from which the block is transferred to the pool of occupied blocks to the given tier; transferring blocks from a lower to a next higher tier for all remaining lower tiers; and assigning the free block to a lowest tier of the tier structure.
地址 Armonk NY US