WO2009067138A1 - Writing data to different storage devices based on write frequency - Google Patents
Writing data to different storage devices based on write frequency Download PDFInfo
- Publication number
- WO2009067138A1 WO2009067138A1 PCT/US2008/012033 US2008012033W WO2009067138A1 WO 2009067138 A1 WO2009067138 A1 WO 2009067138A1 US 2008012033 W US2008012033 W US 2008012033W WO 2009067138 A1 WO2009067138 A1 WO 2009067138A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- blocks
- memory
- storage device
- storage devices
- threshold
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/564—Miscellaneous aspects
- G11C2211/5641—Multilevel memory having cells with different number of storage levels
Definitions
- the present invention relates to memory, and more particularly to memory having a finite lifetime.
- Memory is one of the most limiting aspects of performance of modern enterprise computing systems.
- One limiting aspect of memory is the fact that many types of memory exhibit a limited lifetime. For example, a lifetime of non- volatile memory such as flash is reduced each time it is erased and re-written. Over time and thousands of erasures and re-writes, such flash memory may become less and less reliable.
- wear leveling allows for blocks within a storage device to be erased and written a roughly equal number of times. This avoids situations where one block is more frequently used, reaches an end of life, and must stop being used. This reduces the storage capacity of the entire device. Although the storage devices may have spare blocks, the spare blocks are exhausted and a memory capacity of device drops such that the storage device may not be used.
- Memory vendors often guarantee a life expectancy of a certain percentage of memory. For example, a flash memory vendor may guarantee that after 100,000 program and erase cycles (i.e. endurance), less than 1% of blocks will be unusable based on exceeding error correction requirements. In this case, the error correction requirements may be set to correct a single bit error per 512 bytes for the flash device. Some recently developed devices have a much lower endurance. These devices require a much larger error correction requirement.
- the lifetimes of memory blocks may vary. Consequently, using wear leveling, where a number of program erase cycles are leveled, a storage device may reach an end of life when only a specified percentage blocks are bad (1% for example). However, most blocks included in the storage device may still be functional.
- a system, method, and computer program product are provided for writing data to different storage devices based on write frequency.
- a frequency in which data is written is identified.
- a plurality of storage devices of different types is selected from to write the data, based on the frequency.
- Figure 1 shows a method for increasing a lifetime of a plurality of blocks of memory, in accordance with one embodiment.
- Figure 2 shows a technique for increasing a lifetime of a plurality of blocks of memory, in accordance with another embodiment.
- Figure 3 shows a method for increasing a lifetime of a plurality of blocks of memory, in accordance with another embodiment.
- Figure 4 shows a method for writing data to different storage devices based on a write frequency, in accordance with one embodiment.
- Figure 5 illustrates an exemplary system in which the various architecture and/or functionality of the various previous embodiments may be implemented.
- Figure 1 shows a method 100 for increasing a lifetime of a plurality of blocks of memory, in accordance with one embodiment. As shown, at least one factor that affects a lifetime of a plurality of blocks of memory is identified. See operation 102. Additionally, the plurality of blocks to write is selected, based on the at least one factor. See operation 104.
- the lifetime of the memory may include any duration during which the memory exhibits any desired degree of usability.
- such lifetime may include, but is certainly not limited to a desired lifetime, an actual lifetime, an estimated lifetime, etc.
- the degree of usability may refer to any usability-related parameter such as a percentage of components (e.g. blocks, cells, etc.) that are still operational, a reliability of the memory or components thereof, and/or any other parameter for that matter.
- the memory may include, but is not limited to, mechanical storage devices (e.g. disk drives, etc.), solid state storage devices (e.g. dynamic random access memory (DRAM), flash memory, etc.), and/or any other storage device.
- the flash memory may include, but is not limited to, single-level cell (SLC) devices, multi-level cell (MLC) devices, NOR flash memory, NAND flash memory, MLC NAND flash memory, SLC NAND flash memory, etc.
- the nonvolatile memory device may include at least one of a single-bit per cell NOR flash memory, a multi-bit per cell NOR flash memory, a single-bit per cell NAND flash memory, and a multi-bit per cell NAND flash memory.
- the factor may include any factor that may affect a lifetime of memory blocks either directly, or indirectly.
- the factors may include, but are not limited to, a number of errors (e.g. detected, corrected, etc.) during a read operation involving at least one of the blocks of memory, a duration between a program operation and read operation involving at least one of the blocks of memory, a number of times at least one of the blocks of memory is erased, a duration required to erase at least one of the blocks of memory, a duration required to program at least one of the blocks of memory, a number of retries required to program at least one of the blocks of memory, a number of intervening reads of a page of at least one of the blocks of memory, a number of intervening reads in a neighboring page, structure and organization of memory, and /or any other factors that meet the above definition.
- a history of use of the blocks of memory may be stored. In this case, the history of
- Figure 2 shows a technique 200 for increasing a lifetime of a plurality of blocks of memory, in accordance with another embodiment.
- the present technique 200 may be implemented in the context of the details of Figure 1.
- the technique 200 may be implemented in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
- an endurance 202 of a plurality of memory blocks 204 may be monitored.
- the bars in Figure 2 represent the number of writes for a particular block 204.
- the endurance 202 refers to the number of write and erase cycles for each memory block 204.
- the endurance 202 corresponds to a usage of the memory blocks 204.
- the number of writes and/or erases may be monitored and logged.
- By monitoring the number of writes of the blocks 204 it may be determined which blocks have been utilized more frequently. In one embodiment, the monitoring may be used to determine whether the number of writes for any of the blocks 204 has exceeded a threshold 206.
- monitoring may allow an equalization of the usage such that when the number of writes for certain blocks reach the threshold 206, other blocks below the threshold 206 may be utilized for writes. For example, an order on which blocks are written and recycled may be changed to minimize any difference in endurance values between blocks.
- At least one factor that affects a lifetime of the plurality of blocks of memory 204 may be identified and/or monitored.
- a plurality of blocks to write may then be selected based on the at least one factor.
- the factor may include a number of corrected errors associated with each of the blocks 204. Such corrected errors may correspond to a reading of the data, for example.
- the factor may be impacted by a plurality of other factors.
- the number of corrected errors may be impacted by how much time has lapsed from a program operation to a read, and by how many reads were executed. Additionally, a number of times a block is erased and programmed may also impact the number of errors corrected.
- the factors may correspond to a period of time of usage of the blocks 204, a frequency of writes, a rate of the operations, a total permitted number of the operations, and a duration of the lifetime, etc.
- a score may be utilized as to determine whether to change the order of which the blocks 204 are written and recycled.
- each block 204 may have a corresponding score function that is based on at least one factor. The score function may be utilized to determine a score for each of the blocks 204.
- This score may be utilized to minimize a difference in values between score functions of the blocks 204.
- the score may be based on one factor that affects a lifetime of the blocks 204.
- the score may be based on a plurality of factors that affect a lifetime of the blocks 204.
- each of the scores may correspond to at least one factor that affects the lifetime of the blocks. It should be noted that, the scores may correspond to any number of factors, as noted above.
- the scores may be indicative of a value corresponding to at least one factor relating to a life expectancy of the blocks.
- the difference in the values may reflect a difference in a lifetime expectancy of the blocks.
- the two blocks may be equalized.
- the equalization may include utilizing (e.g. writing) the block below the threshold 206 while the block that is above the threshold 206 is not utilized. This may occur until a point when the two blocks correspond to equal or near equal values. At that point, the threshold 206 may be increased and either memory block may be utilized.
- all blocks 204 may be below the threshold 206. When a block exceeds the threshold 206, it may be labeled, or otherwise identified as a block above the threshold 206. The blocks 204 under the threshold 206 may then be utilized until they reach or exceed the threshold 206. [0030] This may continue until all blocks 204 below the threshold 206 are exhausted. At this point, a new threshold may be set such that all existing blocks 204 are below the new threshold. This may repeat throughout the lifetime of the blocks 204.
- a count percentage of free space may be utilized during the equalization the variation between the blocks 204, in order to minimize a total amount of blocks 204 that are erased and written.
- various other techniques may be utilized to minimize a total amount blocks that are erased and written in conjunction with equalizing the variation between the blocks (i.e. block reclamation).
- various other equalizing techniques may be utilized to equalize the variation between the blocks 204.
- multiple memory modules may be utilized in a system.
- the memory modules may include memory modules with different lifetimes.
- the total memory lifetime of the system may be up to the sum of the lifetime of the memories, as opposed to being limited to a memory module with the minimum lifetime.
- a lifetime estimator module may serve to receive commands communicated to a controller of a system via a storage bus.
- the lifetime estimator module may compute an estimated lifetime assuming that the commands received through the bus were executed.
- the lifetime estimator may be utilized to monitor the number of writes and/or other factors affecting the lifetime of the memory blocks 204. Strictly as an option, the lifetime estimator module may be utilized to set the threshold 206.
- the threshold 206 may be set using a variety of techniques.
- the threshold 206 may be a pre-determined threshold.
- the threshold 206 may be set dynamically.
- the threshold may correlate directly to a lifetime (e.g. expected, desired, etc.) of a device associated with at least one of the memory blocks 206.
- an intra-storage device redundancy capability may be utilized for reducing cost and improving performance.
- data may be moved between the individual storage devices, based on any factor associated with a lifetime thereof. For instance, a situation may involve a first one of the storage devices including a set of data that is more frequently overwritten with respect to the data of a second one of the storage devices. In such case, after threshold of at least one factor associated with lifetime is exceeded, such data may be moved from the first storage device to the second storage device, and henceforth the first storage device or one or more blocks/modules thereof may be used to store less-frequently written data or retired from further use.
- storage device lifetime may be distributed appropriately to avoid one storage device or a portion of a storage device from failing at a point in time that is vastly premature with respect to other storage devices of the group.
- the present technique may be applied not only among different storage devices, but also portions thereof.
- the lifetime of any memory components may be managed in such a manner.
- Figure 3 shows a method 300 for increasing a lifetime of a plurality of blocks of memory, in accordance with another embodiment.
- the present method 300 may be implemented in the context of the functionality of Figures 1-2. Of course, however, the method 300 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
- a threshold is defined such that all blocks of memory are below the threshold. See operation 302.
- the threshold may correspond to a usage of the blocks. For example, as blocks are used a value of usage associated with the blocks may approach the threshold. In another embodiment, the threshold may correspond to at least one other factor associated with a life expectancy of the set of blocks.
- the threshold may correspond to a number of corrected errors for the blocks.
- a value the number of corrected errors associated with the blocks may approach the threshold.
- the threshold may correspond to any number of factors affecting the lifetime of the blocks.
- an initial threshold is identified which the blocks are below, it is determined whether a block needs to be reclaimed. See operation 304. For example, if factors indicate that a block or group of blocks is above the threshold or have been used disproportionately to other blocks, it may be determined that the block or blocks need to be reclaimed.
- block reclaiming which may be triggered by garbage collection, read disturbs, scrubbing, number of corrected errors, or other event, refers to equalizing a variation between block, based on at least one factor.
- the block reclaiming may include equalizing a variation between the blocks based on a number of errors detected during a read/write, a number of errors corrected during a read/write, a length of time to erase a block, a length of time for a block to program, a number of entries utilized during programming, a number of intervening reads of a page, a number of intervening reads in a neighboring page, a number of erases and program cycles of a block, and/or any other factors.
- blocks in a block set below the threshold are allocated to be written. See operation 306. For example, blocks below a threshold may be utilized in a memory operation as opposed to the block or blocks in a block set which is above the threshold.
- block(s) in a block set below the threshold are allocated to be written, it is then determined whether any blocks exceed the threshold. See operation 308. For example, the blocks in the block set below the threshold may be written until it is determined that a block exceeds the threshold.
- the block may be placed into the set of blocks corresponding to blocks over the threshold. See operation 310. If the block has not exceeded the threshold, the block may remain in the block set below the threshold and may continue to be utilized.
- the new and the initial thresholds may be set based on various criteria.
- the threshold may be set based on an expected usage of the blocks.
- the threshold may be a pre-determined threshold.
- the threshold may be determined based on the memory block usage.
- Figure 4 shows a method 400 for writing data to different storage devices based on a write frequency, in accordance with one embodiment.
- the present method 400 may be implemented in the context of the functionality and architecture of Figures 1-3. Of course, however, the method 400 may be carried out in any desired environment. It should also be noted that the aforementioned definitions may apply during the present description.
- a frequency in which data is written is identified. See operation 402. Additionally, a plurality of storage devices of different types are selected from to write the data, based on the frequency. See operation 404.
- the selection may be based on a threshold. For example, if the frequency in which data is written exceeds a threshold, a certain storage device may be selected to write the data.
- the different types of storage devices may include an SLC and an MLC device, an MLC and MLC with different endurance, SLC and DRAM, MLC and DRAM.
- the different types of storage devices may include any number of devices, including a variety of different types of memory.
- At least two different types of memory may be integrated in one device.
- flash MLC and SLC memory may be combined on one device.
- two different types of flash MLC may be integrated in one device.
- a mix of memory types in one device may be determined programmatically. In one case, a portion of the storage device associated with SLC flash memory may be determined and a portion of the storage device associated with the MLC flash memory may be determined.
- an SLC device may be selected to write the data.
- an MLC device may be selected to write the data.
- a lifetime estimator module may serve to receive commands communicated to a controller of a system via a storage bus.
- the lifetime estimator module may monitor a frequency as well as computing an estimated lifetime assuming that the command(s) received through the bus was executed.
- the frequency may be determined in a variety of ways and is not limited to being identified by the lifetime estimator module.
- the memory mentioned in the foregoing embodiments may include a mechanical storage device (e.g. a disk drive including a SATA disk drive, a SAS disk drive, a fiber channel disk drive, IDE disk drive, ATA disk drive, CE disk drive, USB disk drive, smart card disk drive, MMC disk drive, etc.) and/or a non-mechanical storage device (e.g. semiconductor-based, etc.).
- a mechanical storage device e.g. a disk drive including a SATA disk drive, a SAS disk drive, a fiber channel disk drive, IDE disk drive, ATA disk drive, CE disk drive, USB disk drive, smart card disk drive, MMC disk drive, etc.
- non-mechanical storage device e.g. semiconductor-based, etc.
- Such non-mechanical memory may, for example, include volatile or non-volatile memory.
- the nonvolatile memory device may include flash memory (e.g.
- Figure 5 illustrates an exemplary system 500 in which the various architecture and/or functionality of the various previous embodiments may be implemented.
- the exemplary system 500 may represent the computer set forth in some of the previous embodiments.
- the various apparatuses set forth above may even be a component of the system 500.
- a system 500 including at least one host processor 501 which is connected to a communication bus 502.
- the system 500 also includes a main memory 504. Control logic (software) and data are stored in the main memory 504 which may take the form of random access memory (RAM).
- the system 500 may also include a graphics processor 506 and a display 508, i.e. a computer monitor.
- the system 500 may also include a secondary storage 510.
- the secondary storage 510 includes, for example, a hard disk drive and/or a removable storage drive, representing a floppy disk drive, a magnetic tape drive, a compact disk drive, etc.
- the removable storage drive reads from and/or writes to a removable storage module in a well known manner.
- Computer programs, or computer control logic algorithms may be stored in the main memory 504 and/or the secondary storage 510. Such computer programs, when executed, enable the system 500 to perform various functions. Memory 504, storage 510 and/or any other storage are possible examples of computer-readable media.
- the architecture and/or functionality of the various previous figures may be implemented in the context of the host processor 501, graphics processor 506, secondary storage 510, an integrated circuit (not shown) that is capable of at least a portion of the capabilities of both the host processor 501 and the graphics processor 506, a chipset (i.e. a group of integrated circuits designed to work and be sold as a module for performing related functions, etc.), and/or any other integrated circuit for that matter.
- a chipset i.e. a group of integrated circuits designed to work and be sold as a module for performing related functions, etc.
- the architecture and/or functionality of the various previous figures may be implemented in the context of a general computer system, a circuit board system, a game console system dedicated for entertainment purposes, an application-specific system, and/or any other desired system.
- the system 500 may take the form of a desktop computer, lap-top computer, and/or any other type of logic.
- the system 500 may take the form of various other devices including, but not limited to a personal digital assistant (PDA) device, a mobile phone device, a television, etc.
- PDA personal digital assistant
- system 500 may be coupled to a network [e.g. a telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.] for communication purposes.
- a network e.g. a telecommunications network, local area network (LAN), wireless network, wide area network (WAN) such as the Internet, peer-to-peer network, cable network, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN200880116826.7A CN101874239B (zh) | 2007-11-19 | 2008-10-23 | 基于写入频率将数据写入不同的存储设备 |
| JP2010534014A JP5819610B2 (ja) | 2007-11-19 | 2008-10-23 | 異なる記憶装置にデータを書き込む方法及び装置 |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/942,640 US7849275B2 (en) | 2007-11-19 | 2007-11-19 | System, method and a computer program product for writing data to different storage devices based on write frequency |
| US11/942,640 | 2007-11-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2009067138A1 true WO2009067138A1 (en) | 2009-05-28 |
Family
ID=40643192
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2008/012033 Ceased WO2009067138A1 (en) | 2007-11-19 | 2008-10-23 | Writing data to different storage devices based on write frequency |
Country Status (5)
| Country | Link |
|---|---|
| US (2) | US7849275B2 (https=) |
| JP (1) | JP5819610B2 (https=) |
| CN (1) | CN101874239B (https=) |
| TW (2) | TWI420303B (https=) |
| WO (1) | WO2009067138A1 (https=) |
Cited By (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011022933A (ja) * | 2009-07-17 | 2011-02-03 | Toshiba Corp | メモリ管理装置を含む情報処理装置及びメモリ管理方法 |
| JP2011028793A (ja) * | 2009-07-22 | 2011-02-10 | Toshiba Corp | 半導体記憶装置 |
| JP2011186556A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | 情報処理装置及び方法 |
| JP2011186558A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186562A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186559A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2012038233A (ja) * | 2010-08-11 | 2012-02-23 | Univ Of Tokyo | データ処理装置および制御装置並びにデータ記憶装置 |
| US8230164B2 (en) | 2006-11-24 | 2012-07-24 | Lsi Corporation | Techniques for multi-memory device lifetime management |
| US8230183B2 (en) | 2006-11-24 | 2012-07-24 | Lsi Corporation | Techniques for prolonging a lifetime of memory by controlling operations that affect the lifetime of the memory |
| US8230184B2 (en) | 2007-11-19 | 2012-07-24 | Lsi Corporation | Techniques for writing data to different portions of storage devices based on write frequency |
| US8339881B2 (en) | 2007-11-19 | 2012-12-25 | Lsi Corporation | Techniques for increasing a lifetime of blocks of memory |
| US8402184B2 (en) | 2006-11-24 | 2013-03-19 | Lsi Corporation | Techniques for reducing memory write operations using coalescing memory buffers and difference information |
| US8504783B2 (en) | 2006-12-08 | 2013-08-06 | Lsi Corporation | Techniques for providing data redundancy after reducing memory writes |
| US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
| WO2014066103A1 (en) * | 2012-10-23 | 2014-05-01 | Sandisk Technologies Inc. | Flash memory with data retention partition |
| US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
| US9977611B2 (en) | 2014-12-04 | 2018-05-22 | Kabushiki Kaisha Toshiba | Storage device, method, and computer-readable medium for selecting a write destination of target data to nonvolatile memories having different erase limits based upon a write interval |
Families Citing this family (57)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101498673B1 (ko) * | 2007-08-14 | 2015-03-09 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
| KR101413736B1 (ko) * | 2007-09-13 | 2014-07-02 | 삼성전자주식회사 | 향상된 신뢰성을 갖는 메모리 시스템 및 그것의웨어-레벨링 기법 |
| TWI352354B (en) * | 2007-12-31 | 2011-11-11 | Phison Electronics Corp | Method for preventing read-disturb happened in non |
| TWI373768B (en) * | 2008-02-05 | 2012-10-01 | Phison Electronics Corp | System, controller and method for data storage |
| US8554983B2 (en) | 2008-05-27 | 2013-10-08 | Micron Technology, Inc. | Devices and methods for operating a solid state drive |
| US8060719B2 (en) | 2008-05-28 | 2011-11-15 | Micron Technology, Inc. | Hybrid memory management |
| JP5192352B2 (ja) | 2008-10-30 | 2013-05-08 | 株式会社日立製作所 | 記憶装置及びデータ格納領域管理方法 |
| US20100146187A1 (en) * | 2008-12-05 | 2010-06-10 | Grimsrud Knut S | Endurance management technique |
| KR101015655B1 (ko) * | 2009-05-29 | 2011-02-22 | 주식회사 하이닉스반도체 | 불휘발성 메모리 장치의 구동 방법 |
| US20100325351A1 (en) * | 2009-06-12 | 2010-12-23 | Bennett Jon C R | Memory system having persistent garbage collection |
| JP2011186554A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| WO2011007599A1 (ja) * | 2009-07-17 | 2011-01-20 | 株式会社 東芝 | メモリ管理装置 |
| US8140712B2 (en) * | 2009-07-17 | 2012-03-20 | Sandforce, Inc. | System, method, and computer program product for inserting a gap in information sent from a drive to a host device |
| JP2011186563A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
| US7948798B1 (en) | 2009-07-22 | 2011-05-24 | Marvell International Ltd. | Mixed multi-level cell and single level cell storage device |
| CN102142277A (zh) * | 2010-01-28 | 2011-08-03 | 深圳市江波龙电子有限公司 | 一种存储器及存储器读写控制方法及系统 |
| US8458417B2 (en) * | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
| US8438361B2 (en) * | 2010-03-10 | 2013-05-07 | Seagate Technology Llc | Logical block storage in a storage device |
| CN101794199A (zh) * | 2010-03-26 | 2010-08-04 | 山东高效能服务器和存储研究院 | 基于高速磁盘缓存的计算机磁盘性能加速方法 |
| US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
| US9037778B2 (en) * | 2010-08-20 | 2015-05-19 | Samsung Electronics Co., Ltd. | Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device |
| US11614893B2 (en) * | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
| US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
| US10241908B2 (en) | 2011-04-26 | 2019-03-26 | Seagate Technology Llc | Techniques for dynamically determining allocations and providing variable over-provisioning for non-volatile storage |
| CN102184229B (zh) * | 2011-05-11 | 2013-05-01 | 中国科学院软件研究所 | 一种海量rfid标签信息的内存数据存储方法 |
| WO2012159024A1 (en) * | 2011-05-19 | 2012-11-22 | Oracle International Corporation | Techniques for automatic data placement with compression and columnar storage |
| US20120317337A1 (en) * | 2011-06-09 | 2012-12-13 | Microsoft Corporation | Managing data placement on flash-based storage by use |
| US9417803B2 (en) * | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
| JP5853596B2 (ja) * | 2011-10-31 | 2016-02-09 | 沖電気工業株式会社 | 半導体ディスク寿命監視装置 |
| KR20130060791A (ko) * | 2011-11-30 | 2013-06-10 | 삼성전자주식회사 | 마모도 제어 로직을 포함하는 메모리 시스템, 데이터 저장 장치, 메모리 카드, 그리고 솔리드 스테이트 드라이브 |
| US9329948B2 (en) * | 2012-09-15 | 2016-05-03 | Seagate Technology Llc | Measuring cell damage for wear leveling in a non-volatile memory |
| KR20150049772A (ko) * | 2013-10-31 | 2015-05-08 | 에스케이하이닉스 주식회사 | 데이터 처리 시스템 및 그것의 동작 방법 |
| US9558124B2 (en) | 2013-11-08 | 2017-01-31 | Seagate Technology Llc | Data storage system with passive partitioning in a secondary memory |
| US9229640B2 (en) | 2013-11-15 | 2016-01-05 | Microsoft Technology Licensing, Llc | Inexpensive solid-state storage by throttling write speed in accordance with empirically derived write policy table |
| US9348520B2 (en) | 2014-03-24 | 2016-05-24 | Western Digital Technologies, Inc. | Lifetime extension of non-volatile semiconductor memory for data storage device |
| TWI517165B (zh) * | 2014-03-31 | 2016-01-11 | 群聯電子股份有限公司 | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 |
| US9690696B1 (en) | 2014-05-14 | 2017-06-27 | Western Digital Technologies, Inc. | Lifetime extension of memory for data storage system |
| CN104461754B (zh) * | 2014-12-10 | 2018-06-19 | 福州瑞芯微电子股份有限公司 | 一种监控eMMC的方法和装置 |
| CN106294202A (zh) * | 2015-06-12 | 2017-01-04 | 联想(北京)有限公司 | 一种数据存储方法和装置 |
| CN105117175B (zh) * | 2015-08-18 | 2018-02-02 | 重庆大学 | 一种基于软件编译层的可变电阻式存储器磨损均衡方法 |
| US11294588B1 (en) * | 2015-08-24 | 2022-04-05 | Pure Storage, Inc. | Placing data within a storage device |
| US11625181B1 (en) | 2015-08-24 | 2023-04-11 | Pure Storage, Inc. | Data tiering using snapshots |
| US20170068467A1 (en) * | 2015-09-04 | 2017-03-09 | HGST Netherlands B.V. | Wear management for flash memory devices |
| US10222982B2 (en) * | 2016-02-10 | 2019-03-05 | Ricoh Company, Ltd. | Lifetime management device and lifetime management method |
| KR102523967B1 (ko) * | 2016-03-25 | 2023-04-21 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
| CN106502594A (zh) * | 2016-10-31 | 2017-03-15 | 维沃移动通信有限公司 | 一种数据处理方法及终端 |
| US10289548B1 (en) * | 2017-04-28 | 2019-05-14 | EMC IP Holding Company LLC | Method and system for garbage collection in a storage system which balances wear-leveling and performance |
| US11210166B1 (en) * | 2017-12-22 | 2021-12-28 | Pliops Ltd. | Efficient redundancy management in key-value NAND flash storage |
| US11269747B2 (en) * | 2018-03-08 | 2022-03-08 | Symbol Technologies, Llc | Method, system and apparatus for assessing application impact on memory devices |
| TWI707230B (zh) * | 2018-11-22 | 2020-10-11 | 瑞昱半導體股份有限公司 | 電腦系統、記憶體管理方法與非暫態電腦可讀取媒體 |
| CN111240576A (zh) * | 2018-11-28 | 2020-06-05 | 瑞昱半导体股份有限公司 | 计算机系统、存储器管理方法与非暂态计算机可读介质 |
| US11237955B2 (en) | 2019-10-28 | 2022-02-01 | Samsung Electronics Co., Ltd. | Memory device, method of operating memory device, and computer system including memory device |
| KR20210050635A (ko) | 2019-10-28 | 2021-05-10 | 삼성전자주식회사 | 메모리 장치, 및 이를 포함하는 컴퓨터 시스템 |
| US20210382818A1 (en) * | 2020-06-08 | 2021-12-09 | Western Digital Technologies, Inc. | Solid-State Storage Devices that Reduce Read Time for Read Time-Sensitive Data |
| CN117453789A (zh) * | 2023-11-27 | 2024-01-26 | 中电科大数据研究院有限公司 | 一种自适应的物联网数据管理方法及相关设备 |
| CN119311211A (zh) * | 2024-09-04 | 2025-01-14 | 讯飞智元信息科技有限公司 | 地理要素调用方法、装置、电子设备和存储介质 |
| CN120950004B (zh) * | 2025-10-14 | 2026-01-27 | 苏州元脑智能科技有限公司 | 代码分片的存储方法、电子设备、存储介质及程序产品 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060080359A1 (en) * | 2004-10-13 | 2006-04-13 | Microsoft Corporation | Electronic labeling for offline management of storage devices |
| US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
Family Cites Families (111)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7018A (en) * | 1850-01-15 | File for keeping papers | ||
| US6008A (en) * | 1849-01-09 | Pkoto-litho | ||
| JPH03250499A (ja) * | 1990-02-27 | 1991-11-08 | Nec Corp | データ記憶回路 |
| GB2251324B (en) * | 1990-12-31 | 1995-05-10 | Intel Corp | File structure for a non-volatile semiconductor memory |
| US5768182A (en) | 1991-05-21 | 1998-06-16 | The Regents Of The University Of California | Ferroelectric nonvolatile dynamic random access memory device |
| US6230233B1 (en) * | 1991-09-13 | 2001-05-08 | Sandisk Corporation | Wear leveling techniques for flash EEPROM systems |
| JP2610737B2 (ja) | 1991-12-20 | 1997-05-14 | シャープ株式会社 | 記録再生装置 |
| US5315602A (en) | 1992-08-12 | 1994-05-24 | Digital Equipment Corporation | Optimized stripe detection for redundant arrays of disk drives |
| US5341339A (en) | 1992-10-30 | 1994-08-23 | Intel Corporation | Method for wear leveling in a flash EEPROM memory |
| US5337275A (en) | 1992-10-30 | 1994-08-09 | Intel Corporation | Method for releasing space in flash EEPROM memory array to allow the storage of compressed data |
| US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
| JPH08124393A (ja) * | 1994-10-20 | 1996-05-17 | Fujitsu Ltd | データ消去回数に制限のあるメモリの制御方法及びこの方法を用いた装置 |
| DE19540915A1 (de) | 1994-11-10 | 1996-05-15 | Raymond Engineering | Redundante Anordnung von Festkörper-Speicherbausteinen |
| US5568423A (en) * | 1995-04-14 | 1996-10-22 | Unisys Corporation | Flash memory wear leveling system providing immediate direct access to microprocessor |
| US5805809A (en) * | 1995-04-26 | 1998-09-08 | Shiva Corporation | Installable performance accelerator for maintaining a local cache storing data residing on a server computer |
| US5621687A (en) * | 1995-05-31 | 1997-04-15 | Intel Corporation | Programmable erasure and programming time for a flash memory |
| US5835935A (en) * | 1995-09-13 | 1998-11-10 | Lexar Media, Inc. | Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory |
| US5956473A (en) * | 1996-11-25 | 1999-09-21 | Macronix International Co., Ltd. | Method and system for managing a flash memory mass storage system |
| US5963970A (en) * | 1996-12-20 | 1999-10-05 | Intel Corporation | Method and apparatus for tracking erase cycles utilizing active and inactive wear bar blocks having first and second count fields |
| JP3358795B2 (ja) | 1997-03-27 | 2002-12-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ディスクドライブ装置及びその制御方法 |
| US6000006A (en) * | 1997-08-25 | 1999-12-07 | Bit Microsystems, Inc. | Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage |
| JPH11110297A (ja) * | 1997-10-03 | 1999-04-23 | Hitachi Ltd | メモリ内蔵型1チップコンピュータ |
| JP3898305B2 (ja) * | 1997-10-31 | 2007-03-28 | 富士通株式会社 | 半導体記憶装置、半導体記憶装置の制御装置及び制御方法 |
| US6305014B1 (en) | 1998-06-18 | 2001-10-16 | International Business Machines Corporation | Lifetime-sensitive instruction scheduling mechanism and method |
| EP1027653B1 (de) | 1998-09-04 | 2004-09-15 | Hyperstone AG | Zugriffssteuerung eines speichers beschränkter löschhäufigkeit |
| US6395194B1 (en) * | 1998-12-18 | 2002-05-28 | Intersurface Dynamics Inc. | Chemical mechanical polishing compositions, and process for the CMP removal of iridium thin using same |
| FR2787601A1 (fr) * | 1998-12-22 | 2000-06-23 | Gemplus Card Int | Systeme de memorisation comprenant des moyens de gestion d'une memoire avec anti-usure et procede de gestion anti-usure d'une memoire |
| US6145069A (en) | 1999-01-29 | 2000-11-07 | Interactive Silicon, Inc. | Parallel decompression and compression system and method for improving storage density and access speed for non-volatile memory and embedded memory devices |
| KR100388179B1 (ko) | 1999-02-08 | 2003-06-19 | 가부시끼가이샤 도시바 | 불휘발성 반도체 메모리 |
| US6298415B1 (en) | 1999-02-19 | 2001-10-02 | International Business Machines Corporation | Method and system for minimizing writes and reducing parity updates in a raid system |
| US6195727B1 (en) | 1999-03-31 | 2001-02-27 | International Business Machines Corporation | Coalescing raid commands accessing contiguous data in write-through mode |
| JP2001067881A (ja) * | 1999-08-30 | 2001-03-16 | Toshiba Corp | 連想記憶装置及び記憶媒体 |
| JP2000112818A (ja) * | 1999-09-03 | 2000-04-21 | Matsushita Graphic Communication Systems Inc | フラッシュメモリ制御装置及び方法 |
| US6405295B1 (en) * | 1999-09-07 | 2002-06-11 | Oki Electric Industry, Co., Ltd. | Data storage apparatus for efficient utilization of limited cycle memory material |
| JP3937214B2 (ja) * | 1999-09-17 | 2007-06-27 | 株式会社ルネサステクノロジ | エラー訂正回数を記録する記憶装置 |
| US7130807B1 (en) | 1999-11-22 | 2006-10-31 | Accenture Llp | Technology sharing during demand and supply planning in a network-based supply chain environment |
| US20050160218A1 (en) | 2004-01-20 | 2005-07-21 | Sun-Teck See | Highly integrated mass storage device with an intelligent flash controller |
| US6484228B2 (en) | 2000-04-19 | 2002-11-19 | Motorola, Inc. | Method and apparatus for data compression and decompression for a data processor system |
| JP2001306543A (ja) * | 2000-04-19 | 2001-11-02 | Nec Corp | マイクロコンピュータ及びフラッシュメモリのデータ書換え方法 |
| US6256232B1 (en) | 2000-07-07 | 2001-07-03 | Institute For Information Industry | Data access method capable of reducing the number of erasing to flash memory and data patch and access device using the same |
| JP2002074983A (ja) * | 2000-08-25 | 2002-03-15 | Nec Microsystems Ltd | 半導体集積回路 |
| US7113432B2 (en) * | 2000-09-14 | 2006-09-26 | Sandisk Corporation | Compressed event counting technique and application to a flash memory system |
| KR100388498B1 (ko) | 2000-12-30 | 2003-06-25 | 한국전자통신연구원 | 복수 개의 레이드를 구비한 계층적 레이드 시스템 |
| GB2407896B (en) | 2001-01-31 | 2005-06-22 | Hewlett Packard Co | Storage apparatus |
| US6732221B2 (en) * | 2001-06-01 | 2004-05-04 | M-Systems Flash Disk Pioneers Ltd | Wear leveling of static areas in flash memory |
| TW520514B (en) | 2001-08-02 | 2003-02-11 | Macronix Int Co Ltd | Circuit and method of qualification test for non-volatile memory |
| US6948026B2 (en) * | 2001-08-24 | 2005-09-20 | Micron Technology, Inc. | Erase block management |
| US6717847B2 (en) * | 2001-09-17 | 2004-04-06 | Sandisk Corporation | Selective operation of a multi-state non-volatile memory system in a binary mode |
| US20030058681A1 (en) * | 2001-09-27 | 2003-03-27 | Intel Corporation | Mechanism for efficient wearout counters in destructive readout memory |
| US7000063B2 (en) * | 2001-10-05 | 2006-02-14 | Matrix Semiconductor, Inc. | Write-many memory device and method for limiting a number of writes to the write-many memory device |
| US20030084397A1 (en) | 2001-10-31 | 2003-05-01 | Exanet Co. | Apparatus and method for a distributed raid |
| US6735673B2 (en) | 2002-01-10 | 2004-05-11 | Hewlett-Packard Development Company, L.P. | Apparatus and methods for cache line compression |
| US6640283B2 (en) | 2002-01-16 | 2003-10-28 | Hewlett-Packard Development Company, L.P. | Apparatus for cache compression engine for data compression of on-chip caches to increase effective cache size |
| US6606273B1 (en) | 2002-04-11 | 2003-08-12 | Advanced Micro Devices, Inc. | Methods and systems for flash memory tunnel oxide reliability testing |
| JP2003316664A (ja) | 2002-04-24 | 2003-11-07 | Mitsubishi Electric Corp | 不揮発性半導体記憶装置 |
| US6775751B2 (en) | 2002-08-06 | 2004-08-10 | International Business Machines Corporation | System and method for using a compressed main memory based on degree of compressibility |
| KR100484485B1 (ko) | 2002-10-01 | 2005-04-20 | 한국전자통신연구원 | 비휘발성 메모리에의 데이터 저장 방법 및 장치 |
| US6910106B2 (en) | 2002-10-04 | 2005-06-21 | Microsoft Corporation | Methods and mechanisms for proactive memory management |
| US20040135903A1 (en) | 2002-10-11 | 2004-07-15 | Brooks Lane C. | In-stream lossless compression of digital image sensor data |
| CA2408979A1 (en) | 2002-10-18 | 2004-04-18 | Richard Egon Schauble | Tamper-evident use-indicating odometer and engine-timer |
| US6985992B1 (en) * | 2002-10-28 | 2006-01-10 | Sandisk Corporation | Wear-leveling in non-volatile storage systems |
| US7096313B1 (en) * | 2002-10-28 | 2006-08-22 | Sandisk Corporation | Tracking the least frequently erased blocks in non-volatile memory systems |
| US6831865B2 (en) * | 2002-10-28 | 2004-12-14 | Sandisk Corporation | Maintaining erase counts in non-volatile storage systems |
| US7103732B1 (en) * | 2002-10-28 | 2006-09-05 | Sandisk Corporation | Method and apparatus for managing an erase count block |
| EP1556868B1 (en) * | 2002-10-28 | 2007-09-05 | SanDisk Corporation | Automated wear leveling in non-volatile storage systems |
| US6973531B1 (en) * | 2002-10-28 | 2005-12-06 | Sandisk Corporation | Tracking the most frequently erased blocks in non-volatile memory systems |
| US7035967B2 (en) * | 2002-10-28 | 2006-04-25 | Sandisk Corporation | Maintaining an average erase count in a non-volatile storage system |
| US6925523B2 (en) * | 2003-03-03 | 2005-08-02 | Agilent Technologies, Inc. | Managing monotonically increasing counter values to minimize impact on non-volatile storage |
| WO2004095201A2 (en) * | 2003-04-09 | 2004-11-04 | Intervideo Inc. | Systems and methods for caching multimedia data |
| JP2004310650A (ja) * | 2003-04-10 | 2004-11-04 | Renesas Technology Corp | メモリ装置 |
| US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
| JP4783545B2 (ja) * | 2003-05-21 | 2011-09-28 | パナソニック株式会社 | 部品実装装置 |
| US7213102B2 (en) | 2003-06-26 | 2007-05-01 | International Business Machines Corporation | Apparatus method and system for alternate control of a RAID array |
| US7606929B2 (en) * | 2003-06-30 | 2009-10-20 | Microsoft Corporation | Network load balancing with connection manipulation |
| GB0320494D0 (en) | 2003-09-02 | 2003-10-01 | Ibm | Methods apparatus and controllers for a raid storage system |
| US7143238B2 (en) | 2003-09-30 | 2006-11-28 | Intel Corporation | Mechanism to compress data in a cache |
| US20070067366A1 (en) | 2003-10-08 | 2007-03-22 | Landis John A | Scalable partition memory mapping system |
| US7032087B1 (en) * | 2003-10-28 | 2006-04-18 | Sandisk Corporation | Erase count differential table within a non-volatile memory system |
| US8645622B2 (en) | 2003-11-18 | 2014-02-04 | International Business Machines Corporation | Method to protect data on a disk drive from uncorrectable media errors |
| US8140860B2 (en) | 2003-12-15 | 2012-03-20 | International Business Machines Corporation | Policy-driven file system with integrated RAID functionality |
| US7480760B2 (en) | 2003-12-17 | 2009-01-20 | Wegener Communications, Inc. | Rotational use of memory to minimize write cycles |
| JP4357304B2 (ja) * | 2004-01-09 | 2009-11-04 | 株式会社バッファロー | 外部記憶装置 |
| US7595796B2 (en) | 2004-04-23 | 2009-09-29 | Hewlett-Packard Development Company, L.P. | Optimizing lifetime of a display |
| US7353423B2 (en) | 2004-09-24 | 2008-04-01 | International Business Machines Corporation | System and method for improving the performance of operations requiring parity reads in a storage array system |
| US20060080515A1 (en) | 2004-10-12 | 2006-04-13 | Lefthand Networks, Inc. | Non-Volatile Memory Backup for Network Storage System |
| US20060112113A1 (en) | 2004-11-08 | 2006-05-25 | Jinsheng Gu | Static file system differencing and updating |
| US20060123312A1 (en) | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | Method and system for increasing parallelism of disk accesses when restoring data in a disk array system |
| US7433994B2 (en) | 2004-12-07 | 2008-10-07 | Ocz Technology Group, Inc. | On-device data compression to increase speed and capacity of flash memory-based mass storage devices |
| US7224604B2 (en) | 2005-03-14 | 2007-05-29 | Sandisk Il Ltd. | Method of achieving wear leveling in flash memory using relative grades |
| US7206230B2 (en) | 2005-04-01 | 2007-04-17 | Sandisk Corporation | Use of data latches in cache operations of non-volatile memories |
| US7447078B2 (en) * | 2005-04-01 | 2008-11-04 | Sandisk Corporation | Method for non-volatile memory with background data latch caching during read operations |
| US20070124648A1 (en) | 2005-10-31 | 2007-05-31 | Ajay Dholakia | Data protection method |
| US7797611B2 (en) | 2005-11-14 | 2010-09-14 | International Business Machines Corporation | Creating an error correction coding scheme and reducing data loss |
| US7457178B2 (en) * | 2006-01-12 | 2008-11-25 | Sandisk Corporation | Trimming of analog voltages in flash memory devices |
| US20070208904A1 (en) * | 2006-03-03 | 2007-09-06 | Wu-Han Hsieh | Wear leveling method and apparatus for nonvolatile memory |
| KR100735437B1 (ko) | 2006-03-07 | 2007-07-04 | 삼성전자주식회사 | 이동통신 단말기에서의 레이드 시스템 및 방법 |
| US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
| US7653778B2 (en) | 2006-05-08 | 2010-01-26 | Siliconsystems, Inc. | Systems and methods for measuring the useful life of solid-state storage devices |
| US8412682B2 (en) | 2006-06-29 | 2013-04-02 | Netapp, Inc. | System and method for retrieving and using block fingerprints for data deduplication |
| US7555575B2 (en) | 2006-07-27 | 2009-06-30 | Hitachi, Ltd. | Method and apparatus for migrating data between storage volumes of different data pattern |
| US7561482B2 (en) | 2006-09-07 | 2009-07-14 | Sandisk Corporation | Defective block isolation in a non-volatile memory system |
| JP5171840B2 (ja) | 2006-11-24 | 2013-03-27 | サンドフォース インコーポレイテッド | メモリの寿命を縮める動作を遅延させる方法及びストレージシステム |
| CN101548271B (zh) | 2006-12-08 | 2012-12-05 | 桑德福斯公司 | 多个存储装置中的数据冗余 |
| US20080183963A1 (en) | 2007-01-31 | 2008-07-31 | International Business Machines Corporation | System, Method, And Service For Providing A Generic RAID Engine And Optimizer |
| KR100854032B1 (ko) * | 2007-02-09 | 2008-08-26 | 삼성전자주식회사 | 메모리 시스템 및 그것의 데이터 저장 방법 |
| US20090055682A1 (en) | 2007-07-18 | 2009-02-26 | Panasas Inc. | Data storage systems and methods having block group error correction for repairing unrecoverable read errors |
| US7849275B2 (en) | 2007-11-19 | 2010-12-07 | Sandforce, Inc. | System, method and a computer program product for writing data to different storage devices based on write frequency |
| US7903486B2 (en) | 2007-11-19 | 2011-03-08 | Sandforce, Inc. | System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory |
| US7870105B2 (en) | 2007-11-20 | 2011-01-11 | Hitachi, Ltd. | Methods and apparatus for deduplication in storage system |
| US9183133B2 (en) | 2007-11-28 | 2015-11-10 | Seagate Technology Llc | System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory |
| US20090271659A1 (en) | 2008-04-24 | 2009-10-29 | Ulf Troppens | Raid rebuild using file system and block list |
-
2007
- 2007-11-19 US US11/942,640 patent/US7849275B2/en not_active Expired - Fee Related
-
2008
- 2008-10-23 WO PCT/US2008/012033 patent/WO2009067138A1/en not_active Ceased
- 2008-10-23 JP JP2010534014A patent/JP5819610B2/ja not_active Expired - Fee Related
- 2008-10-23 CN CN200880116826.7A patent/CN101874239B/zh not_active Expired - Fee Related
- 2008-11-18 TW TW097144479A patent/TWI420303B/zh not_active IP Right Cessation
- 2008-11-18 TW TW102115170A patent/TWI505088B/zh not_active IP Right Cessation
-
2010
- 2010-11-30 US US12/956,926 patent/US8230184B2/en not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060080359A1 (en) * | 2004-10-13 | 2006-04-13 | Microsoft Corporation | Electronic labeling for offline management of storage devices |
| US20070180186A1 (en) * | 2006-01-27 | 2007-08-02 | Cornwell Michael J | Non-volatile memory management |
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8230164B2 (en) | 2006-11-24 | 2012-07-24 | Lsi Corporation | Techniques for multi-memory device lifetime management |
| US8402184B2 (en) | 2006-11-24 | 2013-03-19 | Lsi Corporation | Techniques for reducing memory write operations using coalescing memory buffers and difference information |
| US8230183B2 (en) | 2006-11-24 | 2012-07-24 | Lsi Corporation | Techniques for prolonging a lifetime of memory by controlling operations that affect the lifetime of the memory |
| US8504783B2 (en) | 2006-12-08 | 2013-08-06 | Lsi Corporation | Techniques for providing data redundancy after reducing memory writes |
| US8339881B2 (en) | 2007-11-19 | 2012-12-25 | Lsi Corporation | Techniques for increasing a lifetime of blocks of memory |
| US8230184B2 (en) | 2007-11-19 | 2012-07-24 | Lsi Corporation | Techniques for writing data to different portions of storage devices based on write frequency |
| US9280466B2 (en) | 2008-09-09 | 2016-03-08 | Kabushiki Kaisha Toshiba | Information processing device including memory management device managing access from processor to memory and memory management method |
| JP2011022933A (ja) * | 2009-07-17 | 2011-02-03 | Toshiba Corp | メモリ管理装置を含む情報処理装置及びメモリ管理方法 |
| US8516166B2 (en) | 2009-07-20 | 2013-08-20 | Lsi Corporation | System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory |
| JP2011028793A (ja) * | 2009-07-22 | 2011-02-10 | Toshiba Corp | 半導体記憶装置 |
| TWI553638B (zh) * | 2009-07-22 | 2016-10-11 | Toshiba Kk | Semiconductor memory device |
| JP2011186559A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186561A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置 |
| JP2011186555A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186562A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186558A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | メモリ管理装置及び方法 |
| JP2011186556A (ja) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | 情報処理装置及び方法 |
| JP2012038233A (ja) * | 2010-08-11 | 2012-02-23 | Univ Of Tokyo | データ処理装置および制御装置並びにデータ記憶装置 |
| WO2014066103A1 (en) * | 2012-10-23 | 2014-05-01 | Sandisk Technologies Inc. | Flash memory with data retention partition |
| US9218881B2 (en) | 2012-10-23 | 2015-12-22 | Sandisk Technologies Inc. | Flash memory blocks with extended data retention |
| US9977611B2 (en) | 2014-12-04 | 2018-05-22 | Kabushiki Kaisha Toshiba | Storage device, method, and computer-readable medium for selecting a write destination of target data to nonvolatile memories having different erase limits based upon a write interval |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2011503768A (ja) | 2011-01-27 |
| TWI420303B (zh) | 2013-12-21 |
| US8230184B2 (en) | 2012-07-24 |
| CN101874239B (zh) | 2018-01-30 |
| JP5819610B2 (ja) | 2015-11-24 |
| TW200928734A (en) | 2009-07-01 |
| US20090132778A1 (en) | 2009-05-21 |
| US7849275B2 (en) | 2010-12-07 |
| TWI505088B (zh) | 2015-10-21 |
| CN101874239A (zh) | 2010-10-27 |
| US20110276745A1 (en) | 2011-11-10 |
| TW201333696A (zh) | 2013-08-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10579278B2 (en) | Techniques for controlling recycling of blocks of memory | |
| US7849275B2 (en) | System, method and a computer program product for writing data to different storage devices based on write frequency | |
| JP2011503741A5 (https=) | ||
| JP2011503768A5 (https=) | ||
| CN101770428B (zh) | 非易失性存储器操作方法及使用该方法的数据储存系统 | |
| US8332696B2 (en) | Defect management method for storage medium and system thereof | |
| CN104699546A (zh) | 存储器系统 | |
| CN103136118A (zh) | 使用多层存储器的磁盘驱动数据缓存 | |
| JP2018073240A (ja) | 制御回路、半導体記憶装置、及び半導体記憶装置の制御方法 | |
| US20110087828A1 (en) | Method for enhancing performance of accessing a flash memory, and associated memory device and controller thereof | |
| CN103425586B (zh) | 储存单元管理方法、存储器控制器与存储器储存装置 | |
| CN120832086A (zh) | 用于处理生命周期读取干扰的数据存储设备和方法 | |
| CN120319295A (zh) | 用于低功率模式期间的读取干扰减轻的数据存储设备和方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| WWE | Wipo information: entry into national phase |
Ref document number: 200880116826.7 Country of ref document: CN |
|
| DPE2 | Request for preliminary examination filed before expiration of 19th month from priority date (pct application filed from 20040101) | ||
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 08851274 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010534014 Country of ref document: JP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 08851274 Country of ref document: EP Kind code of ref document: A1 |