Reordering a descriptor queue while searching the queue of descriptors corresponding to map segments
AssigneeSK hynix Inc.
InventorJoung Young Lee
Life of this patent
Estimating the term…
Abstract
Provided herein may be a memory controller configured to control a memory device. The memory controller may include a map buffer, a descriptor queue, and a descriptor controller. The map buffer may sequentially store map segments of a plurality of map segments stored in the memory device. The descriptor queue may store descriptors corresponding to the respective map segments, based on a plurality of addresses of the map buffer. The descriptor controller may search for a target descriptor among the stored descriptors based on a logical address received from a host, and reorder the stored descriptors while searching for the target descriptor.
Claims19
A memory controller comprising:
- a map buffer configured to store map segments loaded from a memory device;
- a descriptor queue configured to store descriptors corresponding to the map segments, based on a plurality of addresses of the map buffer;
- a write queue configured to store at least one of the descriptors and at least one of the plurality of addresses of the map buffer;
- and
- a descriptor controller configured to search for a target descriptor among the stored descriptors based on a logical address received from a host, and reorder the stored descriptors while searching for the target descriptor,
- wherein the descriptor controller:
- reads a descriptor of a selected address among the plurality of addresses;
- compares the descriptor of the selected address and a pop-up descriptor which is a descriptor of a previous address of the selected address;
- stores the descriptor of the selected address and the previous address of the selected address in the write queue;
- and
- updates the descriptor queue based on the descriptor and the previous address stored in the write queue,
- wherein, as the target descriptor is repeatedly searched for among the stored descriptors based on the logical address received from the host, the stored descriptors in the descriptor queue are sequentially ordered, and
- wherein, when the descriptor of the selected address differs from the target descriptor, the descriptor controller updates the descriptor queue based on descriptor information previously stored in the write queue, depending on a result of comparison between the descriptor of the selected address and the pop-up descriptor.
A method of operating a memory controller, the method comprising:
- sequentially storing map segments loaded from a memory device in a map buffer;
- storing descriptors corresponding to the respective loaded map segments in a descriptor queue, based on a plurality of addresses of the map buffer;
- searching for a target descriptor among the stored descriptors based on a logical address received from a host;
- sequentially reading a descriptor of a selected address among the plurality of addresses of the map buffer;
- comparing a pop-up descriptor which is a descriptor of a previous address of the selected address;
- storing a descriptor which has to be reordered and the previous address of the selected address in a write queue;
- and
- updating the descriptor queue based on the write queue,
- wherein, as searching for the target descriptor among the stored descriptor based on the logical address received from the host is repeatedly performed, the stored descriptors in the descriptor queue are sequentially ordered, and
- wherein, when the descriptor of the selected address differs from the target descriptor, a descriptor controller updates the descriptor queue based on descriptor information previously stored in the write queue, depending on a result of comparison between the descriptor of the selected address and the pop-up descriptor.
A memory system comprising:
- a memory device;
- and
- a controller including a map buffer, a descriptor queue and a write queue suitable for:
- loading a plurality of map segments in the map buffer;
- storing descriptors for the loaded map segments in the descriptor queue;
- storing a descriptor of a selected address among the plurality of addresses and a previous address of the selected address in the write queue;
- searching for a target descriptor for a logical address from a host, among the stored descriptors;
- and
- reordering the stored descriptors in the descriptor queue, based on the descriptor and the previous address stored in the write queue, to arrange the descriptors in a set order,
- wherein, as searching for the target descriptor for the logical address from the host, among the stored descriptors is repeatedly performed, the stored descriptors in the descriptor queue are sequentially ordered, and
- wherein, when the descriptor of the selected address differs from the target descriptor, a descriptor controller updates the descriptor queue based on descriptor information previously stored in the write queue, depending on a result of a comparison between the descriptor of the selected address and the descriptor of the previous address of the selected address.
Dependencies are inferred from the claim text.