G06F2212/7203

MEMORY SYSTEM AND METHOD FOR CONTROLLING NONVOLATILE MEMORY
20230221886 · 2023-07-13 · ·

According to one embodiment, a memory system stores write data received from a host to a shared write buffer for write destination blocks, acquires first write data for plural pages from the shared write buffer, and writes the first write data to a first write destination block by a first-step write operation. When receiving write data from the host in a state in which an empty region does not exist in the shared write buffer, the memory system discards write data in the shared write buffer in which the first-step write operation has been finished. In a case where the first write data do not exist in the shared write buffer when a second-step write operation of the first write data is to be executed, the memory system transmits a request to acquire the first write data to the host.

MEMORY SYSTEM AND OPERATING METHOD OF MEMORY SYSTEM STORING DOORBELL INFORMATION IN THE BUFFER MEMORY
20230221895 · 2023-07-13 ·

Embodiments of the present disclosure relate to a memory system and an operating method of the memory system. According to embodiments of the present disclosure, a memory system may include a buffer memory for storing tail doorbell information for N submission queues capable of storing a command fetched from the host or head doorbell information for N completion queues capable of storing an execution result of the command fetched from the host.

Storage device and operating method thereof

A storage device includes a nonvolatile memory device that includes a first area, a second area, and a third area, and a controller that receives a write command and first data from a host device, preferentially writes the first data in the first area or the second area rather than the third area when the first data is associated with a turbo write, and writes the first data in the first area, the second area, or the third area when the first data is associated with a normal write. The controller moves second data between the first area, the second area, and the third area based on the policy received from the host device.

Apparatus and method for writing data in a memory

A device for writing data to a memory, the device including: a first write buffer having a first data width that matches a width of write data included in a write request and wherein the first write buffer is configured to store the write data as first data; a second write buffer having a second data width that matches a data width of the memory and is greater than the first data width; and a controller configured to, based on a write address included in the write request and an address of the second data stored in the second write buffer, write the first data stored in the first write buffer to the second write buffer and write the second data stored in the second write buffer to the memory.

Collision reduction through just-in-time resource allocation

Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). In some embodiments, a main memory has memory cells arranged on dies arranged as die sets accessible using parallel channels. A controller is configured to arbitrate resources required by access commands to transfer data to or from the main memory using the parallel channels, to monitor an occurrence rate of collisions between commands requiring an overlapping set of the resources, and to adjust a ratio among different types of commands executed by the controller responsive to the occurrence rate of the collisions. In further embodiments, the controller may divide a full command into multiple partial commands, each of which are executed as the associated system resources become available. In some cases, the ratio is established between read commands and write commands issued to the main memory.

Multi-namespace storage device, electronic system including the storage device, and method of operating the storage device
11698738 · 2023-07-11 · ·

A multi-namespace storage device includes a nonvolatile memory which includes a first memory block and a second memory block different from the first memory block, and a memory controller which receives, from a host, a command for requesting creation of a first namespace including a first logical block number and a second namespace including a second logical page number not included in the first logical block number and receives a physical mapping command for instructing physical mapping of the first namespace. The memory controller performs a first mapping operation by mapping the first logical block number to the first memory block and performs a second mapping operation by mapping the second logical page number to a second memory page included in the second memory block in response to the physical mapping command.

Coalescing read commands by location from a host queue

Method and apparatus for managing data in a storage device, such as a solid-state drive (SSD). A non-volatile memory (NVM) is arranged into multiple garbage collection units (GCUs) each separately erasable and allocatable as a unit. Read circuitry applies read voltages to memory cells in the GCUs to sense a programmed state of the memory cells. Calibration circuitry groups different memory cells from different GCUs into calibration groups that share a selected set of read voltages. A read command queue accumulates pending read commands to transfer data from the NVM to a local read buffer. Read command coalescing circuitry coalesces selected read commands from the queue into a combined command for execution as a single batch command. The combined batch command may include read voltages for use in retrieval of the requested data.

Method, memory controller and storage device to perform garbage collection based on fragmentation ratio of blocks

An operating method of a memory controller configured to control a memory device including memory blocks each for storing a plurality of pages is provided. The operating method includes transferring a program command to the memory device based on a write request from a host, updating a valid page bitmap representing validity of a plurality of pages based on valid page information received from the memory device, calculating a fragmentation ratio representing a segmentation degree between at least one valid page and at least one invalid page of a memory block based on the valid page bitmap, determining source blocks among the memory blocks in ascending order of fragmentation ratios, and performing garbage collection on the source blocks.

Fairshare between multiple SSD submission queues
11698753 · 2023-07-11 · ·

A method performed by a controller of an SSD, the controller coupled to a non-volatile semiconductor memory device and comprising a first command queue (Q1) and a second command queue (Q2). The method comprises selecting from a submission queue at least one command from a host, the command relating to an action to be performed on the memory device. The method comprises determining if a number of in-flight commands received from the host via the submission queue and already present in Q1 exceeds a threshold. The method comprises adding the selected command to Q2 if the threshold is exceeded, otherwise adding the selected command to Q1. The method comprises processing a first command from Q1 and a second command from Q2 to perform a first action and a second action, respectively, on the memory device, the first action being completed in advance of the second action.

METHOD AND APPARATUS FOR PERFORMING ACCESS MANAGEMENT OF MEMORY DEVICE WITH AID OF BUFFER USAGE REDUCTION CONTROL
20230214154 · 2023-07-06 · ·

A method for performing access management of a memory device with aid of buffer usage reduction control and associated apparatus are provided. The method includes: determining whether any host command among a plurality of host commands from a host device is a trim-related read command, wherein the trim-related read command represents a read command indicating that reading from at least one trimmed location is required; in response to the any host command being the trim-related read command, determining an estimated trim-related read operation count regarding a data buffer according to a trimmed range of the at least one trimmed location and a predetermined unit size of accessing the data buffer; writing predetermined trimmed data having the predetermined unit size into the data buffer; and controlling a transmission interface circuit to read the predetermined trimmed data from the data buffer multiple times, for being returned to the host device.