Search Patents
-
Patent number: 10078582Abstract: A method, according to one embodiment, includes assigning data having a first heat to a first data stream, assigning data having a second heat to a second data stream, and writing the data streams in parallel to page-stripes having a same index across a series of planes of memory. Other systems, methods, and computer program products are described in additional embodiments.Type: GrantFiled: December 10, 2014Date of Patent: September 18, 2018Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic
-
Patent number: 10013169Abstract: Deduplication of data on a set of non-volatile memory by performing the following operations: receiving a first dataset; determining whether the first dataset is already present in data written to a first set of non-volatile memory; and on condition that the first dataset is determined to have already been present in the data written to the first set of non-volatile memory, providing a linking mechanism to associate the received first dataset with the already present data written to the first set of non-volatile memory.Type: GrantFiled: December 19, 2014Date of Patent: July 3, 2018Assignee: International Business Machines CorporationInventors: Timothy J. Fisher, Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Sasa Tomic
-
Patent number: 10884914Abstract: A technique for garbage collection in a storage system includes generating regrouping metadata for one or more pages of at least two logical erase blocks (LEB). The regrouping metadata indicates an associated stream for each of the pages. Multiple of the LEBs that include valid pages associated with a first stream are selected, based on the regrouping metadata, for regrouping. The valid pages associated with the first stream from the selected LEBs are regrouped into a new LEB.Type: GrantFiled: February 19, 2016Date of Patent: January 5, 2021Assignee: International Business Machines CorporationInventors: Razik S. Ahmed, Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Jason Ma, Matthew R. Orr, Roman A. Pletka, Lincoln T. Simmons, Sasa Tomic
-
Patent number: 11016693Abstract: In at least one embodiment, a controller of a non-volatile memory having a plurality of blocks of physical memory estimates a current value of a block health metric of the particular block based on a previous value of the block health metric and a reference block wear curve. The controller assigns the particular block a health grade based on the estimated current value of the block health metric and performs data placement in the block in accordance with the assigned health grade. The controller may calibrate a set of read threshold voltages of the particular block prior to estimating the current value of the block health metric.Type: GrantFiled: June 21, 2018Date of Patent: May 25, 2021Assignee: International Business Machines CorporationInventors: Roman A. Pletka, Sasa Tomic, Nikolaos Papandreou, Nikolas Ioannou, Aaron D. Fry, Timothy Fisher
-
Patent number: 9779021Abstract: A system according to one embodiment includes non-volatile memory, and a non-volatile memory controller having a cache. An architecture of the cache supports separation of data streams, and the cache architecture supports parallel writes to different non-volatile memory channels. Additionally, the cache architecture supports pipelining of the parallel writes to different non-volatile memory planes. Furthermore, the non-volatile memory controller is configured to perform a direct memory lookup in the cache based on a physical block address. Other systems, methods, and computer program products are described in additional embodiments.Type: GrantFiled: December 19, 2014Date of Patent: October 3, 2017Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic, Andrew D. Walls
-
Patent number: 10235283Abstract: A technique for supporting in-place updates in a data storage system includes in response to garbage collection for a logical block address (LBA) being indicated, determining whether an in-place update to the LBA is pending. In response to one or more in-place updates to the LBA being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is initiated following completion of the one or more in-place updates to the LBA. In response to the one or more in-place updates to the LBA not being pending prior to the garbage collection for the LBA being indicated, the garbage collection for the LBA is completed prior to any subsequent in-place update to the LBA that occurs subsequent to initiation and prior to completion of the garbage collection for the LBA.Type: GrantFiled: March 14, 2017Date of Patent: March 19, 2019Assignee: International Business Machines CorporationInventors: Zah Barzik, Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit
-
Patent number: 10733114Abstract: Performance of a data cache is controlled; the cache implements a garbage collection process for maintaining free storage blocks in a data store of the cache and an eviction policy for selecting data to be evicted from the cache. A cache performance control method defines a performance target for operation of the cache and, in operation of the cache, monitors performance of the cache in relation to the performance target. The garbage collection process is selectively performed in a relocation mode and an eviction mode so as to promote compliance with the performance target. In the relocation mode, data contained in a set of storage blocks selected for garbage collection is relocated in the data store. In the eviction mode, a set of storage blocks for garbage collection is selected in dependence on the eviction policy and data contained in each selected storage block is evicted from the cache.Type: GrantFiled: August 28, 2018Date of Patent: August 4, 2020Assignee: International Business Machines CorporationInventors: Antonios Kornilios Kourtis, Nikolas Ioannou, Ioannis Koltsidas
-
Patent number: 11188261Abstract: Aspects of the present invention disclose a method, computer program product, and system for controlling operation of an array of non-volatile memory cells comprising cells which are selectively configurable for single-bit and multibit storage. The method includes a memory controller selectively configuring the array for operation in a hybrid mode, in which the array comprises both cells configured for single-bit storage and cells configured for multibit storage, and a multibit mode in which all cells in the array are configured for multibit storage. The method further includes the memory controller dynamically switching between the hybrid and multibit mode configurations of the array corresponding to array capacity-usage traversing a defined threshold level associated with enhance endurance of the array.Type: GrantFiled: November 18, 2019Date of Patent: November 30, 2021Assignee: International Business Machines CorporationInventors: Nikolaos Papandreou, Roman Alexander Pletka, Radu Ioan Stoica, Nikolas Ioannou, Sasa Tomic, Charalampos Pozidis
-
Patent number: 9632927Abstract: In one embodiment, a method includes maintaining a first open logical erase block for user writes, maintaining a second open logical erase block for relocate writes, wherein the first and second open logical erase blocks are different logical erase blocks, receiving a first data stream having the user writes, transferring the first data stream to the first open logical erase block, receiving a second data stream having the relocate writes, and transferring the second data stream to the second open logical erase block. Other systems, methods, and computer program products are described in additional embodiments.Type: GrantFiled: September 25, 2014Date of Patent: April 25, 2017Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic
-
Patent number: 11138124Abstract: A computer-implemented method, according to one embodiment, includes: determining whether a number of blocks included in a RTU queue associated with a first block pool is in a first predetermined range. In response to determining that the number of blocks included in the RTU queue is not in the first predetermined range, a determination is made as to whether a current I/O workload is in a second predetermined range. In response to determining that the current I/O workload is in the second predetermined range, for each block in the first block pool having a desired amount of metadata associated with the pages in the given block: a subset of pages in the given block are selected and data is relocated therefrom to a block in the second block pool.Type: GrantFiled: October 30, 2019Date of Patent: October 5, 2021Assignee: International Business Machines CorporationInventors: Sasa Tomic, Radu Ioan Stoica, Nikolaos Papandreou, Nikolas Ioannou, Roman Alexander Pletka, Aaron Daniel Fry, Timothy Fisher
-
Patent number: 11176036Abstract: An apparatus, according to one embodiment, includes non-volatile memory configured to store data, and a controller and logic integrated with and/or executable by the controller, the logic being configured to: determine, by the controller, that at least one block of the non-volatile memory and/or portion of a block of the non-volatile memory meets a retirement condition, re-evaluate, by the controller, the at least one block and/or the portion of a block to determine whether to retire the at least one block and/or the portion of a block, indicate, by the controller, that the at least one block and/or the portion of a block remains usable when a result of the re-evaluation is not to retire the block, and indicate, by the controller, that the at least one block and/or the portion of a block is retired when the result of the re-evaluation is to retire the block.Type: GrantFiled: March 19, 2019Date of Patent: November 16, 2021Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman A. Pletka, Sasa Tomic
-
Patent number: 9417809Abstract: A data storage system includes a controller that controls a non-volatile memory array including a plurality of blocks each including a plurality of physical pages. The controller implements multiple pattern-based page retirement classes, where each of a plurality of the pattern-based page retirement classes is defined by a respective one of a plurality of different patterns of page indices of physical pages within the plurality of blocks that are to be considered retired from use. For each block among the plurality of blocks, the controller updates an indication of a page retirement class to which the block belongs in response to detection of a retirement-causing error in a data page stored in a physical page of the block. The controller forms block stripes for storing data from the plurality of blocks based on at least the page retirement classes of the blocks.Type: GrantFiled: December 7, 2015Date of Patent: August 16, 2016Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Nikolas Ioannou, Roman A. Pletka, Sasa Tomic
-
Patent number: 11334492Abstract: A computer-implemented method, according to one embodiment, is for calibrating read voltages for a block of memory. The computer-implemented method includes: determining a calibration read mode of the block, and using the calibration read mode to determine whether pages in the block should be read using full page read operations. In response to determining that the pages in the block should not be read using full page read operations, a current value of a partial page read indicator for the block is determined. The block is further calibrated by reading only a portion of each page in the block, where the current value of the partial page read indicator determines which portion of each respective page in the block is read. Moreover, the current value of the partial page read indicator is incremented.Type: GrantFiled: October 24, 2019Date of Patent: May 17, 2022Assignee: International Business Machines CorporationInventors: Nikolaos Papandreou, Charalampos Pozidis, Roman Alexander Pletka, Sasa Tomic, Nikolas Ioannou, Radu Ioan Stoica
-
Patent number: 10459839Abstract: A controller of a non-volatile memory tracks identifiers of logical erase blocks (LEBs) for which programming has closed. A first subset of the closed LEBs tracks LEBs that are ineligible for selection for garbage collection, and a second subset of the closed LEBs tracks LEBs that are eligible for selection for garbage collection. The controller continuously migrates closed LEBs from the first subset to the second subset over time. In response to closing a particular LEB, the controller places an identifier of the particular LEB into one of the first and second subsets selected based on a first amount of dummy data programmed into the closed LEBs tracked in the first subset. Thereafter, in response to selection of the particular LEB for garbage collection, the controller performs garbage collection on the particular LEB.Type: GrantFiled: May 2, 2018Date of Patent: October 29, 2019Assignee: International Business Machines CorporationInventors: Roman A. Pletka, Nikolaos Papandreou, Sasa Tomic, Nikolas Ioannou
-
Patent number: 11157379Abstract: A computer-implemented method, according to one embodiment, is for wear leveling blocks of memory. The computer-implemented method includes: determining the health of blocks of memory which are configured in multi-bit-per-cell mode. The blocks configured in multi-bit-per-cell mode are in a second pool, while blocks that are configured in single-level cell (SLC) mode are in a first pool. Moreover, the computer-implemented method is performed in some approaches with a proviso that the health of a block of memory is not determined while the block is configured in SLC mode. Moreover, health values are assigned to the blocks of memory in the second pool based on the health of the respective block. Each of the health values is further correlated with a respective data temperature.Type: GrantFiled: October 30, 2019Date of Patent: October 26, 2021Assignee: International Business Machines CorporationInventors: Roman Alexander Pletka, Aaron Daniel Fry, Sasa Tomic, Nikolaos Papandreou, Nikolas Ioannou, Radu Ioan Stoica, Timothy Fisher
-
Patent number: 10365859Abstract: In at least one embodiment, a controller of a non-volatile memory array iteratively performs a merged background management process independently of any host system's demand requests targeting the memory array. During an iteration of the merged background management process, the controller performs a read sweep by reading data from each of a plurality of page groups within the memory array and recording page group error statistics regarding errors detected by the reading for each page group, where each page group is formed of a respective set of one or more physical pages of storage in the memory array. During the iteration of the merged background management process, the controller employs the page group error statistics recorded during the read sweep in another background management function.Type: GrantFiled: October 21, 2014Date of Patent: July 30, 2019Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Roman A. Pletka, Lincoln T. Simmons, Sasa Tomic
-
Patent number: 9858289Abstract: A storage controller for managing a solid-state memory is suggested. The solid-state memory includes a plurality of physical addresses.Type: GrantFiled: November 5, 2015Date of Patent: January 2, 2018Assignee: International Business Machines CorporationInventor: Nikolas Ioannou
-
Patent number: 10162533Abstract: A computer-implemented method, according to one embodiment, includes: maintaining, by a processor, a first open logical erase block for user writes; maintaining, by the processor, a second open logical erase block for relocate writes; receiving, by the processor, a first data stream having the user writes; transferring, by the processor, the first data stream to the first open logical erase block; receiving, by the processor, a second data stream having the relocate writes; and transferring, by the processor, the second data stream to the second open logical erase block. Moreover, the first and second open logical erase blocks are different logical erase blocks. Other systems, methods, and computer program products are described in additional embodiments.Type: GrantFiled: March 14, 2017Date of Patent: December 25, 2018Assignee: International Business Machines CorporationInventors: Charles J. Camp, Timothy J. Fisher, Aaron D. Fry, Nikolas Ioannou, Ioannis Koltsidas, Roman Pletka, Sasa Tomic
-
Patent number: 10956049Abstract: A non-volatile memory includes a plurality of physical blocks of storage each including a respective plurality of cells, where each of the plurality of cells is individually capable of storing multiple bits of data. A controller assigns physical blocks among the plurality of physical blocks to a first pool containing physical blocks operating in a first (e.g., QLC) mode for storing a greater number of bits per cell and assigns other physical blocks among the plurality of physical blocks to a second pool containing physical blocks operating in a second (e.g., SLC) mode for storing a lesser number of bits per cell. The controller transfers physical blocks between the first pool and the second pool based on at least bit error rates measured for the transferred physical blocks.Type: GrantFiled: June 12, 2019Date of Patent: March 23, 2021Assignee: International Business Machines CorporationInventors: Sasa Tomic, Roman Alexander Pletka, Nikolas Ioannou, Nikolaos Papandreou, Aaron D. Fry, Timothy Fisher, Radu Ioan Stoica
-
Patent number: 10108346Abstract: Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.Type: GrantFiled: November 7, 2017Date of Patent: October 23, 2018Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Nikolas Ioannou, Ioannis Koltsidas, Amit Margalit, Rivka M. Matosevich