G06F12/0246

Memory device with configurable performance and defectivity management

A memory device comprises a memory control unit including a processor configured to control operation of the memory array according to a first memory management protocol for memory access operations, the first memory management protocol including boundary conditions for multiple operating conditions comprising program/erase (P/E) cycles, error management operations, drive writes per day (DWPD), and power consumption; monitor operating conditions of the memory array for the P/E cycles, error management operations, DWPD, and power consumption; determine when a boundary condition for one of the multiple operating conditions is met; and in response to determining that a first boundary condition for a first monitored operating condition is met, change one or more operating conditions of the first memory management protocol to establish a second memory management protocol for the memory access operations, the second memory management protocol including a change boundary condition of a second monitored operating condition.

Storage controller and an operation method of the storage controller
11579782 · 2023-02-14 · ·

A storage controller including: a host interface circuit receiving first, second, third and fourth requests corresponding to first, second, third and fourth logical addresses; a memory interface circuit communicating with first nonvolatile memories through a first channel and second nonvolatile memories through a second channel; a first flash translation layer configured to manage the first nonvolatile memories; and a second flash translation layer configured to manage the second nonvolatile memories, the first flash translation layer outputs commands corresponding to the first and fourth requests through the first channel, and the second flash translation layer outputs commands respectively corresponding to the second and third requests through the second channel, and a value of the first logical address is smaller than a value of the second logical address, and a value of the third logical address is smaller than a value of the fourth logical address.

Heuristics for selecting subsegments for entry in and entry out operations in an error cache system with coarse and fine grain segments

A memory device comprises a memory bank comprising a plurality of addressable memory cells, wherein the memory bank is divided into a plurality of segments. Further, the device comprises a cache memory operable for storing a second plurality of data words, wherein each data word of the second plurality of data words is either awaiting write verification associated with the memory bank or is to be re-written into the memory bank. The cache memory is divided into a plurality of primary segments, wherein each primary segment of the cache memory is direct mapped to a corresponding segment of the plurality of segments, wherein each primary segment is sub-divided into a plurality of secondary segments, and wherein each of the plurality of secondary segments comprises at least one counter for tracking a number of entries stored therein.

Method and apparatus and computer program product for preparing logical-to-physical mapping information for host side
11580017 · 2023-02-14 · ·

The invention relates to a method, a non-transitory computer program product, and an apparatus for managing data storage. The method performed by a flash controller includes: obtaining information indicating a subregion to be activated, where the subregion is associated with a logical block address (LBA) range; triggering a garbage collection (GC) process being performed in background to migrate user data of all the or a portion of the LBA range associated with the subregion to continuous physical addresses in a flash device; and updating content of a plurality of entries associated with the subregion according to migration results, where each entry includes information indicating which physical address that user data of a corresponding logical address is physically stored in the flash device.

Adjustable garbage collection suspension interval

A host system can be queried to determine whether new data has been received based on a first time interval. After completion of the first time interval, a determination can be made as to whether the new data has been received and whether a portion of the new data was not stored. In response to the portion of the new data not being stored, the host system can be queried to determine whether subsequent data has been received based on a second time interval where the second time interval is different from first time interval.

Write ordering in SSDs

Disclosed are systems and methods by which a storage device may process and return I/O commands to a host in the order in which the host provided the commands, thereby reducing host overhead, including but not limited to the following: receiving a first I/O command and a second I/O command, the first I/O command and the second I/O command being assigned a sequence tag, issuing the first I/O command and the second I/O command to one or more storage channels based on their respective sequence tags, collecting a command completion notice of the first I/O command or the second I/O command when the first I/O command or the second I/O command has been respectively completed; and issuing a command completion notification to a host based on the sequence tag of the associated completed first I/O command or the second I/O command.

SYSTEMS, METHODS, AND APPARATUS FOR REMOTE DATA TRANSFERS TO MEMORY
20230044165 · 2023-02-09 ·

A method may include receiving, at a target, from a server, a command, information to identify data, and access information to perform a data transfer using a memory access protocol, and performing, based on the command, based on the access information, the data transfer between the target and a client using the memory access protocol. The information to identify the data may include an object key, and the object key and the access information may be encoded, at least partially, in an encoded object key. The method may further include sending, based on the data transfer, from the target to the server, a completion. The method may further include sending, based on the completion, from the server to the client, an indication of success. The method may further include reconstructing the data based on the parity data.

MEMORY SYSTEM
20230043727 · 2023-02-09 ·

A memory system is configured to be connected to a host. The memory system includes a non-volatile first memory, a second memory, and a controller configured to manage cache data stored in the second memory in units of a segment such that each segment includes a plurality of pieces of the cache data. Each of the plurality of pieces of the cache data includes mapping information which correlates a logical address value indicating a location in a logical address space provided by the memory system to the host with a location in the first memory. At least two pieces of the cache data are arranged in one segment without a space therebetween.

FIRMWARE MASSIVE UPDATE METHOD USING FLASH MEMORY AND COMPUTER PROGRAM STORED IN RECORDING MEDIA FOR EXECUTING THE SAME
20230039533 · 2023-02-09 ·

A firmware massive update method using a flash memory includes: a firmware data registration step of receiving, from a manufacturer server, at least one of information of a user device that is a firmware update target, and firmware information and registering the received information as firmware data; a firmware data management step of receiving a request from a firmware update server in which the registered firmware data is stored, and storing and managing the registered firmware data in a specific area of a flash memory included in the user device via a network; and a firmware update execution step of executing a firmware update on the firmware data managed in the specific area of the flash memory included in the user device through the firmware update server.

Methods and systems for stream-processing of biomedical data
11558487 · 2023-01-17 · ·

A method for stream-processing biomedical data includes receiving, by a file system on a computing device, a first request for access to at least a first portion of a file stored on a remotely located storage device. The method includes receiving, by the file system, a second request for access to at least a second portion of the file. The method includes determining, by a pre-fetching component executing on the computing device, whether the first request and the second request are associated with a sequential read operation. The method includes automatically retrieving, by the pre-fetching component, a third portion of the requested file, before receiving a third request for access to least the third portion of the file, based on a determination that the first request and the second request are associated with the sequential read operation.