US20090049234A1 - Solid state memory (ssm), computer system including an ssm, and method of operating an ssm - Google Patents
Solid state memory (ssm), computer system including an ssm, and method of operating an ssm Download PDFInfo
- Publication number
- US20090049234A1 US20090049234A1 US12/015,548 US1554808A US2009049234A1 US 20090049234 A1 US20090049234 A1 US 20090049234A1 US 1554808 A US1554808 A US 1554808A US 2009049234 A1 US2009049234 A1 US 2009049234A1
- Authority
- US
- United States
- Prior art keywords
- memory
- data
- assessment
- memory layer
- solid state
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- 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/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7202—Allocation control and policies
Definitions
- the present invention generally relates to memory systems, and more particularly, the present invention relates to a solid state memory (SSM), a computer system which includes an SSM, and a method of operating an SSM.
- SSM solid state memory
- Examples of the SSM include the main memory of a computer system and the solid state drive (SSD) of a computer system.
- a solid state drive is a data storage device that typically emulates a conventional hard disk drive (HDD), thus easily replacing the HDD in most applications.
- HDD hard disk drive
- an SSD utilizes solid state memory to store data. With no moving parts, an SSD largely eliminates seek time, latency and other electro-mechanical delays and failures associated with a conventional HDD.
- An SSD is commonly composed of either NAND flash (non-volatile) or SDRAM (volatile).
- SSDs based on volatile memory such as SDRAM are characterized by fast data access and are used primarily to accelerate applications that would otherwise be held back by the latency of disk drives.
- the volatile memory of the DRAM-based SSDs typically requires the inclusion of an internal battery and a backup disk system to ensure data persistence. If power is lost, the battery maintains power for sufficient duration of copy data from the SDRAM to the backup disk system. Upon restoration of power, data is copied back from the backup disk to SDRAM, at which time the SSD resumes normal operations.
- non-volatile flash memory to create more rugged and compact alternatives to DRAM-based SSDs.
- flash memory-based SSDs also known as flash drives, do not require batteries, allowing makers to more easily replicate standard hard disk drives.
- non-volatile flash SSDs retain memory during power loss.
- single-level cell (SLC) flash is capable of storing one bit per memory cell
- multi-level cell (MLC) flash is capable of storing two or more bits per memory cell.
- flash SSDs may utilize multi-level cell (MLC) memory banks.
- MLC multi-level cell
- flash SSDs generally suffer from relatively slow random write speeds, and this operational drawback is further exasperated with relatively slow speeds of MLC flash.
- frequently used data e.g., directory and/or log information
- data is stored in a solid state memory which includes first and second memory layers.
- a first assessment is executed to determine whether received data is hot data or cold data.
- Received data which is assessed as hot data during the first assessment is stored in the first memory layer, and received data which is assessed as cold data during the first assessment is stored in the second memory layer.
- a second assessment is executed to determine whether the data stored in the first memory layer is hot data or cold data. Data which is then assessed as cold data during the second assessment is migrated from the first memory layer to the second memory layer.
- a method of storing received data in a solid state memory includes initially storing hot data in a high-speed memory layer and, and then migrating a portion of the data stored in the high-speed memory layer to a low-speed memory layer for storing cold data.
- a solid state memory system includes a first memory layer, a second memory layer, and a memory controller.
- the memory controller is configured to execute a first assessment of whether received data is hot data or cold data, to store received data which is assessed as hot data during the first assessment in the first memory layer, and to store received data which is assessed as cold data during the first assessment in the second memory layer.
- the memory controller is further configured to execute a second assessment of whether the data stored in the first memory layer is hot data or cold data, and to migrate data which is assessed as cold data during the second assessment from the first memory layer to the second memory layer.
- a solid state memory system is configured to operatively connect to a computer operating system and comprises first and second memory layers.
- An operational speed of the first memory layer is greater than an operational speed of the second memory layer, and the first memory area is operationally hidden from the computer operating system when the solid state memory is operatively connected to the computer operating system.
- a computer system includes a processor and a memory.
- the solid state memory includes a high-speed memory layer and a low-speed memory layer, and the high-speed memory area is operationally hidden from the processor.
- FIG. 1 is a block diagram of a solid state drive (SSD) according to an embodiment of the present invention
- FIGS. 2 and 3 are block diagrams for describing a non-volatile storage media in the SSD of FIG. 1 according to an embodiment of the present invention
- FIGS. 4 and 5 are block diagrams for describing alternative ways of coupling a non-volatile storage media to an interface in the SSD of FIG. 1 according to embodiments of the present invention
- FIGS. 6 through 8 are flow charts for use in describing methods of allocating data to regions of a non-volatile storage media in the SSD of FIG. 1 according to embodiments of the present invention
- FIG. 9 is a block diagram of the computer system including an SSD according to an embodiment of the present invention.
- FIGS. 10 and 11 are block diagrams of a main memory according to embodiments of the present invention.
- FIG. 1 illustrates a block diagram of a solid state drive (SSD) 1000 according to an embodiment of the present invention.
- the SSD 1000 of this example includes an SSD controller 1200 and non-volatile storage media 1400 .
- the SSD controller 1200 includes first and second interfaces 1210 and 1230 , a controller 1220 , and a memory 1240 .
- the first interface 1210 functions as a data I/O interface with a host device, such as a host central processing unit (CPU) (not shown).
- a host device such as a host central processing unit (CPU) (not shown).
- Non-limiting examples of the first interface 1210 include Universal Serial Bus (USB) interfaces, Advanced Technology Attachment (ATA) interfaces, Serial ATA (SATA) interfaces, Small Computer System Interface (SCSI) interfaces.
- USB Universal Serial Bus
- ATA Advanced Technology Attachment
- SATA Serial ATA
- SCSI Small Computer System Interface
- the second interface 1230 functions as a data I/O interface with the non-volatile storage media 1400 .
- the second interface 1230 is utilized to transmit/receive various commands, addresses and data to/from the non-volatile storage media 1400 .
- a variety of different structures and configurations of the second interface 1230 are possible, and thus a detailed description thereof is omitted here for brevity.
- the controller 1220 and memory 1240 are operatively connected between the first and second interfaces 1210 and 1230 , and together function to control/manage the flow of data between the host device (not shown) and the non-volatile storage media 1400 .
- the memory 1240 may, for example, be an DRAM type of memory device, and the controller 1220 may, for example, include a central processing unit (CPU), a direct memory access (DMA) controller, and an error correction control (ECC) engine. Examples of controller functionality may be found in commonly assigned U.S. Patent Publication 2006-0152981, which is incorporated herein by reference.
- controller 1220 and memory 1240 to transfer data between the host device (not shown) and SSD memory banks are understood by those skilled in the art, and thus a detailed description thereof is omitted here for brevity. Rather, the operational description presented later herein is primarily focused on inventive aspects relating to various embodiments of the invention.
- the non-volatile storage media 1400 of this example includes a high-speed non-volatile memory (NVM) 1410 and a low-speed non-volatile memory (NVM) 1420 .
- NVM non-volatile memory
- NVM low-speed non-volatile memory
- the high-speed NVM 1410 is capable of operating at a relatively higher speed (e.g., random write speed) when compared to the low-speed NVM 1420 .
- the high-speed NVM 1410 is single-level cell (SLC) flash memory
- the low-speed NVM 1420 is multi-level cell (MLC) flash memory
- the high-speed NVM 1410 may instead be comprised of phase-change random access memory (PRAM), or MLC flash memory in which one bit per cell is utilized.
- the high-speed NVM 1410 and the low-speed NVM 1420 may be comprised of the same type of memory (e.g., SLC or MLC or PRAM), where the operational speed is differentiated by fine-grain mapping in the high-speed NVM 1410 and coarse-grain mapping in the low-speed NVM 1420 .
- the high-speed NVM 1410 is utilized to store frequently accessed (written) data such as meta data
- the low-speed NVM 1420 is utilized to store less frequently accessed (written) data such as media data.
- a write frequency of data in the high-speed NVM 1410 is statistically higher than a write frequency of data in the low-speed NVM 1420 .
- the storage capacity of the low-speed NVM 1420 will typically be much higher than that of the high-speed NVM 1410 .
- the high-speed NVM 1410 is hidden from an external operating system connected to the SSD. This aspect of the embodiment is illustrated in FIGS. 2 and 3 .
- the high-speed NVM 1410 of the example of this embodiment is a hidden region—that is, the high-speed NVM 1410 is cannot be seen (directly addressed) by the external operating system (OS). Rather, the address space shown relative to the OS view is only the low-speed NVM 1420 .
- the address space shown relative to the Flash Translation Layer (FTL) is both the high-speed NVM 1410 and the low-speed NVM 1420 .
- the FTL translates an address provided by the OS into a physical address of the non-volatile storage media 1400 (i.e., a physical address within the high-speed NVM 1410 or the low-speed NVM 1420 ).
- the high-speed NVM 1410 and the low-speed NVM 1420 can be operative connected to the controller 1220 ( FIG. 1 ) via the interface 1230 .
- the high-speed NVM 1410 and the low-speed NVM 1420 communicate via the interface 1230 using common interface channels.
- the high-speed NVM 1410 and the low-speed NVM 1420 communicate via the interface 1230 using separate interface channels.
- the high-speed NVM 1410 and the low-speed NVM 1420 need not be composed of different types of memory. That is, a single type of memory may be operationally segregated into a high-speed layer and a low-speed layer. For example, the grain mapping in the two layers may differ, or the number of bits utilized per cell in the two layers may differ. Further, the high-speed memory layer and the low-speed memory layer may be segregated at the chip level (e.g., contained in different memory chips), or within the same memory chip (e.g., contained in different memory blocks or groups of memory cells of the same memory chip).
- a first assessment is executed to determine whether received data is hot data or cold data.
- hot data is a term of art that refers to data which is frequently written or updated (requiring write access), such a directory information and/or logging information.
- Cold data is all other data, i.e., data which is not frequently written or updated, such as image files, sound files, program code and so on. Cold data may be written once or infrequently, but read frequently. Thus, it is the frequency of write access that separates hot data from cold.
- Received data which is assessed as hot data during the first assessment is stored in the high-speed NVM 1410
- received data which is first assessed as cold data during the first assessment is stored in the low-speed NVM 1420 .
- a second assessment is executed to determine whether the data stored in the high-speed NVM 1410 is hot data or cold data.
- the data stored in the high-speed NVM 1410 reassessed to determine with the data should be reclassified as cold data.
- Data which is then assessed as cold data during the second assessment is migrated from the high-speed NVM 1410 to the low-speed NVM 1420 .
- the size of the high-speed NVM 1410 can be reduced. This can potentially result in cost savings, and increase the overall storage capacity of the SSD (e.g., by allowing for more space for the high-capacity MLC layer).
- the second assessment and migration of data to the low-speed NVM 1420 can be programmed to occur, for example, when the unused capacity of the high-speed NVM 1410 is less than a preset value. Alternately, for example, the second assessment and migration of data to the low-speed NVM 1420 can be programmed to occur at given periodic intervals, or when the SSD is idle. Examples of an idle state may include periods in which no read/write request is received from the host, or when the activation ratio or intensity of read/write requests is less than a threshold.
- FIG. 6 is a flow chart for use in describing the first assessment and storage (write) of data in the SSD according to an embodiment of the present invention.
- a write command, an address and data are received.
- data stored in the low-speed NVM 1420 at step 130 may first be “passed through” the high-speed NVM 1410 .
- the data may first be briefly (temporarily) stored in the high-speed NVM 1410 , and then stored in the low-speed NVM.
- the high-speed NVM 1410 essentially acts as a memory buffer for the low-speed NVM 1420 .
- FIG. 7 is a flow chart for use in describing the first assessment and storage (write) of data in the SSD according to another embodiment of the present invention.
- a write command, an address and data are received.
- steps 310 a through 310 e a determination is made as to whether the received data is to be classified as hot data. If the received data is classified as hot data, and if there is sufficient available space in the high-speed NVM 1410 (step 320 ), the received data is stored in the high-speed NVM 1410 at step 340 . On the other hand, if the received data is not to be classified as hot data, or if there is insufficient available space in the high-speed NVM 1410 , the received data is stored in the low-speed NVM 1420 at step 330 .
- steps 310 a through 310 e of FIG. 7 represent a non-exhaustive list of decision processes which can be used in the classification. These steps can be used in combinations of two or more, or individually, depending on the desired level of accuracy in the first assessment of the received data.
- step 310 a a determination is made as to whether the operating system (OS) has provided information that the data is hot data. If so, the data is classified as hot data, and the process proceeds to step 320 .
- OS operating system
- step 310 b a determination is made as to whether the write count of the logical block address has exceeded a predetermined threshold. If so, the data is classified as hot data, and the process proceeds to step 320 .
- predetermined threshold e.g., less than 32 KB
- step 310 d a determination is made as to whether there is a non-sequential address increment relative to the previously received command. If so, the data is classified as hot data, and the process proceeds to step 320 .
- step 310 e a determination is made as to whether a merge operation is likely to be induced in the low-speed NVM. If so, the data is classified as hot data, and the process proceeds to step 320 .
- step 320 in the case where insufficient space exists in the high-speed NVM (step 320 ), and alternative would be to create available space by migrating already stored cold data of the high-speed NVM to the low-speed NVM, and then storing the new hot data in the high-speed NVM.
- the embodiments thereof are not limited to storing all of the hot and cold data in the high-speed and low-speed NVMs, respectively.
- some of the data initially assessed as cold data may be stored in the high-speed NVM.
- some of the data initially assessed as hot data may be stored in the low-speed NVM.
- FIG. 8 is a flow chart for use in describing an example of the second assessment and migration of data to the low-speed NVM in the SSD according to an embodiment of the present invention.
- step 410 a determination is made as to whether an unused memory capacity of the high-speed NVM is less than a predetermined threshold value.
- this step can be supplemented with (or replaced with) a periodic execution step in which step 410 (or step 420 below) is executed at periodic intervals, and/or with a SSD idle determination step in which step 410 (or step 420 ) is executed at periodic intervals.
- step 420 a determination is made as to whether data stored in the high-speed NVM is hot data, i.e., whether the data may be reclassified as cold data.
- step 430 reclassified cold data which stored in the high-speed NVM is migrated to the low-speed NVM.
- step 420 may be executed. For example, it is possible to examine the write count value of each valid data in the high-speed NVM, and to then reclassify data having low write counts as cold data. Alternately, it is possible to carry out a FIFO-type assessment in which old (first come) valid data is reclassified as cold data.
- the embodiment thereof is not limited to migrating all of the cold data to the low-speed NVM.
- some of the data assessed as cold data may be retained in the high-speed NVM.
- FIG. 9 is a block diagram of a computer system according to an embodiment of the present invention.
- a processor (host) 2100 and main memory 2200 communicate over a data bus 2001 .
- an output device 2500 e.g., display
- an input device 2300 e.g., keyboard
- other I/O devices 2400 e.g., other I/O devices 2400
- solid state drive SSD e.g., solid state drive
- FIG. 10 illustrates an embodiment where the high-speed memory layer and the low speed memory layer constitute the main memory 2200 of the computer system shown in FIG. 9 .
- the high-speed memory layer 1510 includes DRAM cells and may be a hidden region relative to the processor 2100 of FIG. 9 .
- the low-speed memory layer 1520 of FIG. 10 includes flash cells (either SLC or MLC) and may be open relative to the processor 2100 of FIG. 9 .
- FIG. 11 illustrates another example of a main memory 2200 .
- the high-speed memory layer 1610 includes DRAM cells and may be a hidden region relative to the processor 2100 of FIG. 9
- the low-speed memory layer 1620 includes phase-change random access memory (PRAM) cells and may be open relative to the processor 2100 of FIG. 9 .
- PRAM phase-change random access memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Abstract
In one aspect, data is stored in a solid state memory which includes first and second memory layers. A first assessment is executed to determine whether received data is hot data or cold data. Received data which is assessed as hot data during the first assessment is stored in the first memory layer, and received data which is first assessed as cold data during the first assessment is stored in the second memory layer. Further, a second assessment is executed to determine whether the data stored in the first memory layer is hot data or cold data. Data which is then assessed as cold data during the second assessment is migrated from the first memory layer to the second memory layer.
Description
- 1. Field of the Invention
- The present invention generally relates to memory systems, and more particularly, the present invention relates to a solid state memory (SSM), a computer system which includes an SSM, and a method of operating an SSM. Examples of the SSM include the main memory of a computer system and the solid state drive (SSD) of a computer system.
- A claim of priority is made to Korean Patent Application No. 2007-0081832, filed Aug. 8, 2007, the entirety of which is incorporated herein by reference.
- 2. Description of the Related Art
- A solid state drive (SSD) is a data storage device that typically emulates a conventional hard disk drive (HDD), thus easily replacing the HDD in most applications. In contrast to the rotating disk medium of an HDD, an SSD utilizes solid state memory to store data. With no moving parts, an SSD largely eliminates seek time, latency and other electro-mechanical delays and failures associated with a conventional HDD.
- An SSD is commonly composed of either NAND flash (non-volatile) or SDRAM (volatile).
- SSDs based on volatile memory such as SDRAM are characterized by fast data access and are used primarily to accelerate applications that would otherwise be held back by the latency of disk drives. The volatile memory of the DRAM-based SSDs typically requires the inclusion of an internal battery and a backup disk system to ensure data persistence. If power is lost, the battery maintains power for sufficient duration of copy data from the SDRAM to the backup disk system. Upon restoration of power, data is copied back from the backup disk to SDRAM, at which time the SSD resumes normal operations.
- However, most SSD manufacturers use non-volatile flash memory to create more rugged and compact alternatives to DRAM-based SSDs. These flash memory-based SSDs, also known as flash drives, do not require batteries, allowing makers to more easily replicate standard hard disk drives. In addition, non-volatile flash SSDs retain memory during power loss.
- As is well know in the art, single-level cell (SLC) flash is capable of storing one bit per memory cell, while multi-level cell (MLC) flash is capable of storing two or more bits per memory cell. As such, in order to increase capacity, flash SSDs may utilize multi-level cell (MLC) memory banks. However, flash SSDs generally suffer from relatively slow random write speeds, and this operational drawback is further exasperated with relatively slow speeds of MLC flash. As such, it has been suggested to equip SSDs with two types of flash storage media—lower capacity SLC memory banks and higher capacity MLC memory banks. With such a configuration, frequently used data (e.g., directory and/or log information) can be stored in the faster SLC banks, while less frequently used data (e.g., music files, images, etc.) can be stored in the slower MLC banks.
- According to an aspect of the present invention, data is stored in a solid state memory which includes first and second memory layers. A first assessment is executed to determine whether received data is hot data or cold data. Received data which is assessed as hot data during the first assessment is stored in the first memory layer, and received data which is assessed as cold data during the first assessment is stored in the second memory layer. Further, a second assessment is executed to determine whether the data stored in the first memory layer is hot data or cold data. Data which is then assessed as cold data during the second assessment is migrated from the first memory layer to the second memory layer.
- According to another aspect of the present invention, a method of storing received data in a solid state memory includes initially storing hot data in a high-speed memory layer and, and then migrating a portion of the data stored in the high-speed memory layer to a low-speed memory layer for storing cold data.
- According to yet another aspect of the present invention, a solid state memory system includes a first memory layer, a second memory layer, and a memory controller. The memory controller is configured to execute a first assessment of whether received data is hot data or cold data, to store received data which is assessed as hot data during the first assessment in the first memory layer, and to store received data which is assessed as cold data during the first assessment in the second memory layer. The memory controller is further configured to execute a second assessment of whether the data stored in the first memory layer is hot data or cold data, and to migrate data which is assessed as cold data during the second assessment from the first memory layer to the second memory layer.
- According to still another aspect of the present invention, a solid state memory system is configured to operatively connect to a computer operating system and comprises first and second memory layers. An operational speed of the first memory layer is greater than an operational speed of the second memory layer, and the first memory area is operationally hidden from the computer operating system when the solid state memory is operatively connected to the computer operating system.
- According to another aspect of the present invention, a computer system includes a processor and a memory. The solid state memory includes a high-speed memory layer and a low-speed memory layer, and the high-speed memory area is operationally hidden from the processor.
- The above and other aspects and features of the present invention will become readily apparent from the detailed description that follows, with reference to the accompanying drawings, in which:
-
FIG. 1 is a block diagram of a solid state drive (SSD) according to an embodiment of the present invention; -
FIGS. 2 and 3 are block diagrams for describing a non-volatile storage media in the SSD ofFIG. 1 according to an embodiment of the present invention; -
FIGS. 4 and 5 are block diagrams for describing alternative ways of coupling a non-volatile storage media to an interface in the SSD ofFIG. 1 according to embodiments of the present invention; -
FIGS. 6 through 8 are flow charts for use in describing methods of allocating data to regions of a non-volatile storage media in the SSD ofFIG. 1 according to embodiments of the present invention; -
FIG. 9 is a block diagram of the computer system including an SSD according to an embodiment of the present invention; and -
FIGS. 10 and 11 are block diagrams of a main memory according to embodiments of the present invention. - The present invention will now be described by way of preferred, but non-limiting, embodiments of the invention. It is emphasized here that the invention is not limited by the exemplary embodiments described below, and that instead the scope of the invention is delimited by the appended claims.
-
FIG. 1 illustrates a block diagram of a solid state drive (SSD) 1000 according to an embodiment of the present invention. As shown, the SSD 1000 of this example includes anSSD controller 1200 andnon-volatile storage media 1400. - The
SSD controller 1200 includes first andsecond interfaces controller 1220, and amemory 1240. - The
first interface 1210 functions as a data I/O interface with a host device, such as a host central processing unit (CPU) (not shown). Non-limiting examples of thefirst interface 1210 include Universal Serial Bus (USB) interfaces, Advanced Technology Attachment (ATA) interfaces, Serial ATA (SATA) interfaces, Small Computer System Interface (SCSI) interfaces. - The
second interface 1230 functions as a data I/O interface with thenon-volatile storage media 1400. In particular, thesecond interface 1230 is utilized to transmit/receive various commands, addresses and data to/from thenon-volatile storage media 1400. As will be apparent to those skilled in the art, a variety of different structures and configurations of thesecond interface 1230 are possible, and thus a detailed description thereof is omitted here for brevity. - The
controller 1220 andmemory 1240 are operatively connected between the first andsecond interfaces non-volatile storage media 1400. Thememory 1240 may, for example, be an DRAM type of memory device, and thecontroller 1220 may, for example, include a central processing unit (CPU), a direct memory access (DMA) controller, and an error correction control (ECC) engine. Examples of controller functionality may be found in commonly assigned U.S. Patent Publication 2006-0152981, which is incorporated herein by reference. The operations generally executed by controller 1220 (and memory 1240) to transfer data between the host device (not shown) and SSD memory banks are understood by those skilled in the art, and thus a detailed description thereof is omitted here for brevity. Rather, the operational description presented later herein is primarily focused on inventive aspects relating to various embodiments of the invention. - Still referring to
FIG. 1 , thenon-volatile storage media 1400 of this example includes a high-speed non-volatile memory (NVM) 1410 and a low-speed non-volatile memory (NVM) 1420. As the names suggest, the high-speed NVM 1410 is capable of operating at a relatively higher speed (e.g., random write speed) when compared to the low-speed NVM 1420. - In an exemplary embodiment, the high-
speed NVM 1410 is single-level cell (SLC) flash memory, and the low-speed NVM 1420 is multi-level cell (MLC) flash memory. However, the invention is not limited in this respect. For example, the high-speed NVM 1410 may instead be comprised of phase-change random access memory (PRAM), or MLC flash memory in which one bit per cell is utilized. Also, the high-speed NVM 1410 and the low-speed NVM 1420 may be comprised of the same type of memory (e.g., SLC or MLC or PRAM), where the operational speed is differentiated by fine-grain mapping in the high-speed NVM 1410 and coarse-grain mapping in the low-speed NVM 1420. - Generally, the high-
speed NVM 1410 is utilized to store frequently accessed (written) data such as meta data, and the low-speed NVM 1420 is utilized to store less frequently accessed (written) data such as media data. In other words, as will discussed later herein, a write frequency of data in the high-speed NVM 1410 is statistically higher than a write frequency of data in the low-speed NVM 1420. Also, due to the nature of the respective data being stored, the storage capacity of the low-speed NVM 1420 will typically be much higher than that of the high-speed NVM 1410. - In an exemplary embodiment, the high-
speed NVM 1410 is hidden from an external operating system connected to the SSD. This aspect of the embodiment is illustrated inFIGS. 2 and 3 . - Referring collectively to
FIGS. 2 and 3 , the high-speed NVM 1410 of the example of this embodiment is a hidden region—that is, the high-speed NVM 1410 is cannot be seen (directly addressed) by the external operating system (OS). Rather, the address space shown relative to the OS view is only the low-speed NVM 1420. On the other hand, the address space shown relative to the Flash Translation Layer (FTL) is both the high-speed NVM 1410 and the low-speed NVM 1420. The FTL translates an address provided by the OS into a physical address of the non-volatile storage media 1400 (i.e., a physical address within the high-speed NVM 1410 or the low-speed NVM 1420). - Turning to the block diagrams of
FIGS. 4 and 5 , there are a number of different ways in which the high-speed NVM 1410 and the low-speed NVM 1420 can be operative connected to the controller 1220 (FIG. 1 ) via theinterface 1230. In the example ofFIG. 4 , the high-speed NVM 1410 and the low-speed NVM 1420 communicate via theinterface 1230 using common interface channels. In the example ofFIG. 5 , the high-speed NVM 1410 and the low-speed NVM 1420 communicate via theinterface 1230 using separate interface channels. - It is again noted, however, that the high-
speed NVM 1410 and the low-speed NVM 1420 need not be composed of different types of memory. That is, a single type of memory may be operationally segregated into a high-speed layer and a low-speed layer. For example, the grain mapping in the two layers may differ, or the number of bits utilized per cell in the two layers may differ. Further, the high-speed memory layer and the low-speed memory layer may be segregated at the chip level (e.g., contained in different memory chips), or within the same memory chip (e.g., contained in different memory blocks or groups of memory cells of the same memory chip). - An operational description of the SSD according to embodiments of the present invention is presented next.
- According to an embodiment of the present invention in which data is stored in the SSD, a first assessment is executed to determine whether received data is hot data or cold data. As will be understood by those skilled in the art, “hot” data is a term of art that refers to data which is frequently written or updated (requiring write access), such a directory information and/or logging information. “Cold” data is all other data, i.e., data which is not frequently written or updated, such as image files, sound files, program code and so on. Cold data may be written once or infrequently, but read frequently. Thus, it is the frequency of write access that separates hot data from cold.
- Received data which is assessed as hot data during the first assessment is stored in the high-
speed NVM 1410, and received data which is first assessed as cold data during the first assessment is stored in the low-speed NVM 1420. - Then, a second assessment is executed to determine whether the data stored in the high-
speed NVM 1410 is hot data or cold data. In other words, the data stored in the high-speed NVM 1410 reassessed to determine with the data should be reclassified as cold data. Data which is then assessed as cold data during the second assessment is migrated from the high-speed NVM 1410 to the low-speed NVM 1420. - By periodically migrating data which initially determined to be hot data from the high-
speed NVM 1410 to the low-speed NVM 1420, the size of the high-speed NVM 1410 can be reduced. This can potentially result in cost savings, and increase the overall storage capacity of the SSD (e.g., by allowing for more space for the high-capacity MLC layer). - The second assessment and migration of data to the low-
speed NVM 1420 can be programmed to occur, for example, when the unused capacity of the high-speed NVM 1410 is less than a preset value. Alternately, for example, the second assessment and migration of data to the low-speed NVM 1420 can be programmed to occur at given periodic intervals, or when the SSD is idle. Examples of an idle state may include periods in which no read/write request is received from the host, or when the activation ratio or intensity of read/write requests is less than a threshold. -
FIG. 6 is a flow chart for use in describing the first assessment and storage (write) of data in the SSD according to an embodiment of the present invention. - Initially, at
step 100, a write command, an address and data are received. Then, atstep 110, a determination is made as to whether the received data is classified as hot data. If the received data is classified as hot data, the received data is stored in the high-speed NVM 1410 atstep 120. On the other hand, if the received data is not classified as hot data, the received data is stored in the low-speed NVM 1420 atstep 130. - It should be noted that data stored in the low-
speed NVM 1420 atstep 130 may first be “passed through” the high-speed NVM 1410. In other words, the data may first be briefly (temporarily) stored in the high-speed NVM 1410, and then stored in the low-speed NVM. In this case, the high-speed NVM 1410 essentially acts as a memory buffer for the low-speed NVM 1420. -
FIG. 7 is a flow chart for use in describing the first assessment and storage (write) of data in the SSD according to another embodiment of the present invention. - Initially, at
step 300, a write command, an address and data are received. Then, atsteps 310 a through 310 e, a determination is made as to whether the received data is to be classified as hot data. If the received data is classified as hot data, and if there is sufficient available space in the high-speed NVM 1410 (step 320), the received data is stored in the high-speed NVM 1410 atstep 340. On the other hand, if the received data is not to be classified as hot data, or if there is insufficient available space in the high-speed NVM 1410, the received data is stored in the low-speed NVM 1420 atstep 330. - There are a number of different ways in which the received data might be classified as hot data, and steps 310 a through 310 e of
FIG. 7 represent a non-exhaustive list of decision processes which can be used in the classification. These steps can be used in combinations of two or more, or individually, depending on the desired level of accuracy in the first assessment of the received data. - At
step 310 a, a determination is made as to whether the operating system (OS) has provided information that the data is hot data. If so, the data is classified as hot data, and the process proceeds to step 320. - At
step 310 b, a determination is made as to whether the write count of the logical block address has exceeded a predetermined threshold. If so, the data is classified as hot data, and the process proceeds to step 320. - At
step 310 c, a determination is made as to whether the request size of the data is less then predetermined threshold (e.g., less than 32 KB). If so, the data is classified as hot data, and the process proceeds to step 320. - At
step 310 d, a determination is made as to whether there is a non-sequential address increment relative to the previously received command. If so, the data is classified as hot data, and the process proceeds to step 320. - At
step 310 e, a determination is made as to whether a merge operation is likely to be induced in the low-speed NVM. If so, the data is classified as hot data, and the process proceeds to step 320. - Although not shown in
FIG. 7 , in the case where insufficient space exists in the high-speed NVM (step 320), and alternative would be to create available space by migrating already stored cold data of the high-speed NVM to the low-speed NVM, and then storing the new hot data in the high-speed NVM. - Also, with reference to above-described processes of
FIGS. 6 and 7 , it is noted that the embodiments thereof are not limited to storing all of the hot and cold data in the high-speed and low-speed NVMs, respectively. For example, some of the data initially assessed as cold data may be stored in the high-speed NVM. Also, though less preferable, some of the data initially assessed as hot data may be stored in the low-speed NVM. -
FIG. 8 is a flow chart for use in describing an example of the second assessment and migration of data to the low-speed NVM in the SSD according to an embodiment of the present invention. - Initially, at
step 410, a determination is made as to whether an unused memory capacity of the high-speed NVM is less than a predetermined threshold value. As suggested previously, this step can be supplemented with (or replaced with) a periodic execution step in which step 410 (or step 420 below) is executed at periodic intervals, and/or with a SSD idle determination step in which step 410 (or step 420) is executed at periodic intervals. - Next, at
step 420, a determination is made as to whether data stored in the high-speed NVM is hot data, i.e., whether the data may be reclassified as cold data. - Then, at
step 430, reclassified cold data which stored in the high-speed NVM is migrated to the low-speed NVM. - There are a number of different ways in which the determination of
step 420 may be executed. For example, it is possible to examine the write count value of each valid data in the high-speed NVM, and to then reclassify data having low write counts as cold data. Alternately, it is possible to carry out a FIFO-type assessment in which old (first come) valid data is reclassified as cold data. - With reference to above-described process of
FIG. 8 , it is noted that the embodiment thereof is not limited to migrating all of the cold data to the low-speed NVM. For example, some of the data assessed as cold data may be retained in the high-speed NVM. -
FIG. 9 is a block diagram of a computer system according to an embodiment of the present invention. As shown in the figure, a processor (host) 2100 andmain memory 2200 communicate over adata bus 2001. Also connected to thebus 2001 are an output device 2500 (e.g., display), an input device 2300 (e.g., keyboard), other I/O devices 2400, and a solid state drive SSD. The solid state drive is configured according to one or more of the previously described embodiments of the invention. - Embodiments of the present invention have been described primarily in the context of solid state drives (SSDs). However, the invention is not limited to SSD applications. For example,
FIG. 10 illustrates an embodiment where the high-speed memory layer and the low speed memory layer constitute themain memory 2200 of the computer system shown inFIG. 9 . InFIG. 10 , the high-speed memory layer 1510 includes DRAM cells and may be a hidden region relative to theprocessor 2100 ofFIG. 9 . The low-speed memory layer 1520 ofFIG. 10 includes flash cells (either SLC or MLC) and may be open relative to theprocessor 2100 ofFIG. 9 .FIG. 11 illustrates another example of amain memory 2200. As shown, the high-speed memory layer 1610 includes DRAM cells and may be a hidden region relative to theprocessor 2100 ofFIG. 9 , and the low-speed memory layer 1620 includes phase-change random access memory (PRAM) cells and may be open relative to theprocessor 2100 ofFIG. 9 . - The above-disclosed subject matter is to be considered illustrative, and not restrictive, and the appended claims are intended to cover all such modifications, enhancements, and other embodiments, which fall within the true spirit and scope of the present invention. Thus, to the maximum extent allowed by law, the scope of the present invention is to be determined by the broadest permissible interpretation of the following claims and their equivalents, and shall not be restricted or limited by the foregoing detailed description.
Claims (32)
1. A method of storing data in a solid state memory including first and second memory layers, said method comprising:
executing a first assessment of whether received data is hot data or cold data;
storing received data which is assessed as hot data during the first assessment in the first memory layer;
storing received data which is assessed as cold data during the first assessment in the second memory layer;
executing a second assessment of whether the data stored in the first memory layer is hot data or cold data; and
migrating data which is assessed as cold data during the second assessment from the first memory layer to the second memory layer.
2. The method as claimed in claim 1 , wherein an operational speed of the first memory layer is higher than an operational speed of the second memory layer.
3. The method as claimed in claim 2 , wherein the first and second memory layers are comprised of respectively different types of memory cells.
4. The method as claimed in claim 1 , wherein the first memory layer is comprised of single-level flash memory cells and the second memory layer is comprised of multi-level flash memory cells.
5. The method as claimed in claim 1 , wherein the first and second memory layers are comprised of multi-level flash memory cells, and wherein data is stored in a least-significant bit only of the multi-level flash memory cells of the first memory layer.
6. The method as claimed in claim 1 , wherein the first and second memory layers are comprised of a same type of memory cell.
7. The method as claimed in claim 6 , wherein a mapping grain of the first memory layer is finer than a mapping grain of the second memory layer.
8. The method as claimed in claim 7 , wherein the first and second memory layers are comprised of single-level flash memory cells.
9. The method as claimed in claim 7 , wherein the first and second memory layers are comprised of multi-level flash memory cells.
10. The method as claimed in claim 1 , wherein the data which is first assessed as cold data during the first assessment is temporarily stored in the first memory layer prior to being stored in the second memory layer.
11. The method as claimed in claim 1 , wherein the second assessment further includes a determination of whether unused memory capacity of the first memory layer is less than a threshold.
12. The method as claimed in claim 1 , wherein the second assessment is executed a periodic intervals or when the solid state memory enters an idle state.
13. The method as claimed in claim 1 , wherein the first and second memory layers are contained in a solid state drive.
14. The method as claimed in claim 1 , wherein the first and second memory layers are contained in the main memory of a computer system.
15. A method of storing received data in a solid state memory comprising initially storing hot data in a high-speed memory layer and, and then migrating a portion of the data stored in the high-speed memory layer to a low-speed memory layer for storing cold data.
16. The method as claimed in claim 15 , wherein the high-speed and low-speed non-volatile memory layers are comprised of respectively different types of memory cells.
17. The method as claimed in claim 15 , wherein the high-speed and low-speed non-volatile memory layers are comprised of a same type of memory cells.
18. A solid state memory system, comprising:
a first memory layer;
a second memory layer; and
a memory controller configured to execute a first assessment of whether received data is hot data or cold data, to store received data which is assessed as hot data during the first assessment in the first memory layer, and to store received data which is assessed as cold data during the first assessment in the second memory layer,
wherein the memory controller is further configured to execute a second assessment of whether the data stored in the first memory layer is hot data or cold data, and to migrate data which is assessed as cold data during the second assessment from the first memory layer to the second memory layer.
19. The solid state memory as claimed in claim 18 , wherein the memory controller is operatively connected to the first and second memory layers using respectively different data channels.
20. The solid state memory as claimed in claim 18 , wherein the memory controller is operatively connected to the first and second memory layers using common data channels.
21. The solid state memory as claimed in claim 18 , wherein an operational speed of the first memory layer is higher than an operational speed of the second memory layer.
22. The solid state memory as claimed in claim 21 , wherein the first and second memory layers are comprised of respectively different types of memory cells.
23. The solid state memory as claimed in claim 21 , wherein the first and second memory layers are comprised of a same type of memory cells.
24. The solid state memory as claimed in claim 18 , wherein the data which is first assessed as cold data during the first assessment is temporarily stored in the first memory layer prior to being stored in the second memory layer.
25. The solid state memory as claimed in claim 18 , wherein the first and second memory layers are contained in a solid state drive.
26. The solid state memory as claimed in claim 18 , wherein the first and second memory layers are contained in the main memory of a computer system.
27. A solid state memory system which is configured to operatively connect to a computer operating system and which comprises first and second memory layers, wherein an operational speed of the first memory layer is greater than an operational speed of the second memory layer, and wherein the first memory area is operationally hidden from the computer operating system when the solid state memory is operatively connected to the computer operating system.
28. The solid state memory system of claim 27 , wherein the solid state memory further comprises a controller configured to execute a first assessment of whether received data is hot data or cold data, to store received data which is assessed as hot data during the first assessment in the first memory layer, and to store received data which is assessed as cold data during the first assessment in the second memory layer,
wherein the memory controller is further configured to execute a second assessment of whether the data stored in the first memory layer is hot data or cold data, and to migrate data which is assessed as cold data during the second assessment from the first memory layer to the second memory layer.
29. A computer system comprising a processor and a solid state memory, wherein the solid state memory comprises a high-speed memory layer and a low-speed memory layer, and wherein the high-speed memory area is operationally hidden from the processor.
30. The computer system as claimed in claim 29 , wherein the solid state memory further comprises a memory controller configured to execute a first assessment of whether received data is hot data or cold data, to store received data which is assessed as hot data during the first assessment in the high-speed memory layer, and to store received data which is assessed as cold data during the first assessment in the low-speed memory layer,
wherein the memory controller is further configured to execute a second assessment of whether the data stored in the high-speed memory layer is hot data or cold data, and to migrate data which is assessed as cold data during the second assessment from the high-speed memory layer to the low-speed memory layer.
31. The computer system as claimed in claim 29 , wherein the memory is a solid state drive.
32. The computer system as claimed in claim 29 , wherein the memory is a main memory.
Priority Applications (12)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102935199A CN103400598A (en) | 2007-08-14 | 2008-05-27 | Solid state memory, computer system including same, and method of operating same |
JP2008138348A JP2009048613A (en) | 2007-08-14 | 2008-05-27 | Solid state memory, computer system including the same, and its operation method |
DE102008036822A DE102008036822A1 (en) | 2007-08-14 | 2008-08-06 | Method for storing data in a solid state memory, solid state memory system and computer system |
US12/657,029 US8429358B2 (en) | 2007-08-14 | 2010-01-11 | Method and data storage device for processing commands |
US13/027,299 US20110138115A1 (en) | 2007-08-14 | 2011-02-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US13/647,630 US8626996B2 (en) | 2007-08-14 | 2012-10-09 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
JP2013155538A JP2013242908A (en) | 2007-08-14 | 2013-07-26 | Solid state memory, computer system including the same, and operation method of the same |
US14/101,469 US20140101377A1 (en) | 2007-08-14 | 2013-12-10 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/146,870 US20140122783A1 (en) | 2007-08-14 | 2014-01-03 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/445,126 US20140337566A1 (en) | 2007-08-14 | 2014-07-29 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/717,476 US9208079B2 (en) | 2007-08-14 | 2015-05-20 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
US15/130,464 US20160231941A1 (en) | 2007-08-14 | 2016-04-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR2007-0081832 | 2007-08-14 | ||
KR1020070081832A KR101498673B1 (en) | 2007-08-14 | 2007-08-14 | Solid state drive, data storing method thereof, and computing system including the same |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/657,029 Continuation-In-Part US8429358B2 (en) | 2007-08-14 | 2010-01-11 | Method and data storage device for processing commands |
US13/027,299 Division US20110138115A1 (en) | 2007-08-14 | 2011-02-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090049234A1 true US20090049234A1 (en) | 2009-02-19 |
Family
ID=40363885
Family Applications (8)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/015,548 Abandoned US20090049234A1 (en) | 2007-08-14 | 2008-01-17 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US13/027,299 Abandoned US20110138115A1 (en) | 2007-08-14 | 2011-02-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US13/647,630 Active US8626996B2 (en) | 2007-08-14 | 2012-10-09 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
US14/101,469 Abandoned US20140101377A1 (en) | 2007-08-14 | 2013-12-10 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/146,870 Abandoned US20140122783A1 (en) | 2007-08-14 | 2014-01-03 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/445,126 Abandoned US20140337566A1 (en) | 2007-08-14 | 2014-07-29 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/717,476 Active US9208079B2 (en) | 2007-08-14 | 2015-05-20 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
US15/130,464 Abandoned US20160231941A1 (en) | 2007-08-14 | 2016-04-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
Family Applications After (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/027,299 Abandoned US20110138115A1 (en) | 2007-08-14 | 2011-02-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US13/647,630 Active US8626996B2 (en) | 2007-08-14 | 2012-10-09 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
US14/101,469 Abandoned US20140101377A1 (en) | 2007-08-14 | 2013-12-10 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/146,870 Abandoned US20140122783A1 (en) | 2007-08-14 | 2014-01-03 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/445,126 Abandoned US20140337566A1 (en) | 2007-08-14 | 2014-07-29 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
US14/717,476 Active US9208079B2 (en) | 2007-08-14 | 2015-05-20 | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM |
US15/130,464 Abandoned US20160231941A1 (en) | 2007-08-14 | 2016-04-15 | Solid state memory (ssm), computer system including an ssm, and method of operating an ssm |
Country Status (5)
Country | Link |
---|---|
US (8) | US20090049234A1 (en) |
JP (2) | JP2009048613A (en) |
KR (1) | KR101498673B1 (en) |
CN (2) | CN103400598A (en) |
DE (1) | DE102008036822A1 (en) |
Cited By (153)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080148115A1 (en) * | 2006-12-17 | 2008-06-19 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US20080158958A1 (en) * | 2006-12-17 | 2008-07-03 | Anobit Technologies Ltd. | Memory device with reduced reading |
US20080219050A1 (en) * | 2007-01-24 | 2008-09-11 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US20080263262A1 (en) * | 2007-04-22 | 2008-10-23 | Anobit Technologies Ltd. | Command interface for memory devices |
US20080282106A1 (en) * | 2007-05-12 | 2008-11-13 | Anobit Technologies Ltd | Data storage with incremental redundancy |
US20090024905A1 (en) * | 2006-05-12 | 2009-01-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US20090103358A1 (en) * | 2006-05-12 | 2009-04-23 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US20090106485A1 (en) * | 2007-10-19 | 2009-04-23 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US20090138654A1 (en) * | 2006-12-11 | 2009-05-28 | Pantas Sutardja | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US20090158126A1 (en) * | 2007-12-12 | 2009-06-18 | Anobit Technologies Ltd | Efficient interference cancellation in analog memory cell arrays |
US20090168524A1 (en) * | 2007-12-27 | 2009-07-02 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US20090199074A1 (en) * | 2008-02-05 | 2009-08-06 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US20090213653A1 (en) * | 2008-02-21 | 2009-08-27 | Anobit Technologies Ltd | Programming of analog memory cells using a single programming pulse per state transition |
US20090228761A1 (en) * | 2008-03-07 | 2009-09-10 | Anobit Technologies Ltd | Efficient readout from analog memory cells using data compression |
US20090240872A1 (en) * | 2008-03-18 | 2009-09-24 | Anobit Technologies Ltd | Memory device with multiple-accuracy read commands |
US20100017564A1 (en) * | 2008-07-16 | 2010-01-21 | Samsung Electronics Co., Ltd. | Controller, data storage device, and data communication system having variable communication speed |
US20100091535A1 (en) * | 2007-03-12 | 2010-04-15 | Anobit Technologies Ltd | Adaptive estimation of memory cell read thresholds |
US20100115376A1 (en) * | 2006-12-03 | 2010-05-06 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US20100124088A1 (en) * | 2008-11-16 | 2010-05-20 | Anobit Technologies Ltd | Storage at m bits/cell density in n bits/cell analog memory cell devices, m>n |
US20100157675A1 (en) * | 2007-09-19 | 2010-06-24 | Anobit Technologies Ltd | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US20100157641A1 (en) * | 2006-05-12 | 2010-06-24 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US20100165689A1 (en) * | 2008-12-31 | 2010-07-01 | Anobit Technologies Ltd | Rejuvenation of analog memory cells |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
US20100199150A1 (en) * | 2007-10-19 | 2010-08-05 | Anobit Technologies Ltd | Data Storage In Analog Memory Cell Arrays Having Erase Failures |
US20100199033A1 (en) * | 2009-02-02 | 2010-08-05 | Lau Nguyen | Solid-state drive command grouping |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US20100220510A1 (en) * | 2007-11-13 | 2010-09-02 | Anobit Technologies Ltd | Optimized Selection of Memory Chips in Multi-Chips Memory Devices |
US20100250836A1 (en) * | 2009-03-25 | 2010-09-30 | Anobit Technologies Ltd | Use of Host System Resources by Memory Controller |
US7821826B2 (en) | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
US20100293319A1 (en) * | 2009-05-18 | 2010-11-18 | Samsung Electronics Co., Ltd. | Solid state drive device |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US20110010489A1 (en) * | 2009-07-09 | 2011-01-13 | Phison Electronics Corp. | Logical block management method for a flash memory and control circuit storage system using the same |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
WO2011056002A2 (en) * | 2009-11-06 | 2011-05-12 | (주)피스페이스 | Apparatus and method for managing a file in a distributed storage system |
CN102073602A (en) * | 2010-12-14 | 2011-05-25 | 鸿富锦精密工业(深圳)有限公司 | Computer system, connection control device as well as connecting and disconnecting method |
WO2011068699A1 (en) * | 2009-12-04 | 2011-06-09 | Marvell World Trade Ltd. | Virtualization of storage devices |
US20110153931A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Hybrid storage subsystem with mixed placement of file contents |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US20110225347A1 (en) * | 2010-03-10 | 2011-09-15 | Seagate Technology Llc | Logical block storage in a storage device |
US20110225346A1 (en) * | 2010-03-10 | 2011-09-15 | Seagate Technology Llc | Garbage collection in a storage device |
US20110258363A1 (en) * | 2010-04-19 | 2011-10-20 | International Business Machines Corporation | Sub-lun input/output profiling for ssd devices |
US8050086B2 (en) | 2006-05-12 | 2011-11-01 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
US20110314205A1 (en) * | 2009-03-17 | 2011-12-22 | Nec Corporation | Storage system |
EP2417524A1 (en) * | 2009-04-10 | 2012-02-15 | Kaminario Tehnologies Ltd. | A mass-storage system utilizing auxiliary solid-state storage subsystem |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
EP2455865A1 (en) * | 2009-07-17 | 2012-05-23 | Kabushiki Kaisha Toshiba | Memory management device |
US20120166749A1 (en) * | 2009-09-08 | 2012-06-28 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
EP2525293A1 (en) | 2011-05-15 | 2012-11-21 | Apple Inc. | Selecitve data storage in LSB and MSB pages of multi-level flash memory devices |
US20120303870A1 (en) * | 2011-05-26 | 2012-11-29 | Chul-Sung Park | Memory chip, memory system, and method of accessing the memory chip |
US20120311113A1 (en) * | 2010-02-10 | 2012-12-06 | Nec Corporation | Storage device |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US20130073822A1 (en) * | 2011-09-20 | 2013-03-21 | Eran Sandel | Adaptive mapping of logical addresses to memory devices in solid state drives |
US20130073807A1 (en) * | 2008-05-28 | 2013-03-21 | Round Rock Research, Llc | Hybrid memory management |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US8429358B2 (en) | 2007-08-14 | 2013-04-23 | Samsung Electronics Co., Ltd. | Method and data storage device for processing commands |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US8635494B2 (en) * | 2010-04-30 | 2014-01-21 | Taejin Info Tech Co., Ltd. | Backup and restoration for a semiconductor storage device |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US20140129767A1 (en) * | 2011-09-30 | 2014-05-08 | Raj K Ramanujan | Apparatus and method for implementing a multi-level memory hierarchy |
WO2014088749A1 (en) | 2012-12-04 | 2014-06-12 | Apple Inc. | Hinting of deleted data from host to storage device |
WO2014099025A1 (en) * | 2012-12-21 | 2014-06-26 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US8812775B2 (en) | 2011-03-28 | 2014-08-19 | Samsung Electronics Co., Ltd. | System and method for controlling nonvolatile memory |
JP2014522537A (en) * | 2011-06-09 | 2014-09-04 | マイクロソフト コーポレーション | Use to manage data placement on flash-based storage |
US8838916B2 (en) | 2011-09-15 | 2014-09-16 | International Business Machines Corporation | Hybrid data storage management taking into account input/output (I/O) priority |
WO2014149859A1 (en) * | 2013-03-15 | 2014-09-25 | Sandisk Technologies Inc. | Data tag sharing from host to storage systems |
US20140297983A1 (en) * | 2013-03-29 | 2014-10-02 | Fujitsu Limited | Method of arranging data, information processing apparatus, and recording medium |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US20140317351A1 (en) * | 2013-03-15 | 2014-10-23 | Soft Machines, Inc. | Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
WO2014209234A1 (en) * | 2013-06-26 | 2014-12-31 | Agency For Science, Technology And Research | Method and apparatus for hot data region optimized dynamic management |
US20150032979A1 (en) * | 2013-07-26 | 2015-01-29 | International Business Machines Corporation | Self-adjusting phase change memory storage module |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US20150186047A1 (en) * | 2013-12-30 | 2015-07-02 | Teradata Corporation | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US9122607B1 (en) * | 2009-09-18 | 2015-09-01 | Marvell International Ltd. | Hotspot detection and caching for storage devices |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
CN105045523A (en) * | 2014-04-15 | 2015-11-11 | 三星电子株式会社 | Storage controller, storage device, storage system and method of operating the storage controller |
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 |
US9317429B2 (en) | 2011-09-30 | 2016-04-19 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
US9342453B2 (en) | 2011-09-30 | 2016-05-17 | Intel Corporation | Memory channel that supports near memory and far memory access |
US9355109B2 (en) * | 2010-06-11 | 2016-05-31 | The Research Foundation For The State University Of New York | Multi-tier caching |
US9378142B2 (en) | 2011-09-30 | 2016-06-28 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
CN105760114A (en) * | 2016-02-05 | 2016-07-13 | 浪潮(北京)电子信息产业有限公司 | Method, device and system for managing resources of parallel file system |
US9569351B2 (en) | 2010-10-25 | 2017-02-14 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
JP2017054571A (en) * | 2015-09-11 | 2017-03-16 | 株式会社東芝 | Memory system |
US9600407B2 (en) | 2011-09-30 | 2017-03-21 | Intel Corporation | Generation of far memory access signals based on usage statistic tracking |
US20170160964A1 (en) * | 2015-12-08 | 2017-06-08 | Kyocera Document Solutions Inc. | Electronic device and non-transitory computer readable storage medium |
WO2017113213A1 (en) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | Method and device for processing access request, and computer system |
WO2017113211A1 (en) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | Method and device for processing access request, and computer system |
US9710387B2 (en) | 2011-01-27 | 2017-07-18 | Intel Corporation | Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor |
US9715445B2 (en) | 2013-03-14 | 2017-07-25 | Sandisk Technologies Llc | File differentiation based on data block identification |
US20180024923A1 (en) * | 2016-07-19 | 2018-01-25 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US9921842B2 (en) | 2011-01-27 | 2018-03-20 | Intel Corporation | Guest instruction block with near branching and far branching sequence construction to native instruction block |
US9927860B2 (en) | 2012-10-17 | 2018-03-27 | Huawei Technologies Co., Ltd. | Method for reducing power consumption of memory system, and memory controller |
GB2519641B (en) * | 2013-09-18 | 2018-05-02 | Intel Corp | Heterogenous memory access |
US20180129424A1 (en) * | 2016-11-08 | 2018-05-10 | Micron Technology, Inc. | Data relocation in hybrid memory |
US10031671B2 (en) | 2013-12-05 | 2018-07-24 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data |
US10152327B2 (en) | 2013-03-15 | 2018-12-11 | Intel Corporation | Apparatus for gating a load operation based on entries of a prediction table |
US10185567B2 (en) | 2011-01-27 | 2019-01-22 | Intel Corporation | Multilevel conversion table cache for translating guest instructions to native instructions |
US10228950B2 (en) | 2013-03-15 | 2019-03-12 | Intel Corporation | Method and apparatus for guest return address stack emulation supporting speculation |
US10241795B2 (en) | 2011-01-27 | 2019-03-26 | Intel Corporation | Guest to native block address mappings and management of native code storage |
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 |
US20190095650A1 (en) * | 2017-09-28 | 2019-03-28 | Citrix Systems, Inc. | Policy based persistence |
US20190114272A1 (en) * | 2017-10-12 | 2019-04-18 | Western Digital Technologies, Inc. | Methods and apparatus for variable size logical page management based on hot and cold data |
CN110046058A (en) * | 2018-01-11 | 2019-07-23 | 爱思开海力士有限公司 | Storage system |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US10394563B2 (en) | 2011-01-27 | 2019-08-27 | Intel Corporation | Hardware accelerated conversion system using pattern matching |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US10467010B2 (en) | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US10514926B2 (en) | 2013-03-15 | 2019-12-24 | Intel Corporation | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
CN111133410A (en) * | 2017-08-30 | 2020-05-08 | 美光科技公司 | Log data storage for flash memory |
CN111581024A (en) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Method and device for recovering dynamic backup of SSD log and computer equipment |
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
EP3686728A4 (en) * | 2017-10-25 | 2020-11-18 | Huawei Technologies Co., Ltd. | Data writing method and storage device |
CN112083876A (en) * | 2019-06-12 | 2020-12-15 | 三星电子株式会社 | Electronic device and method for utilizing storage space thereof |
TWI724036B (en) * | 2015-12-03 | 2021-04-11 | 南韓商三星電子股份有限公司 | Electronic system with memory management mechanism and method of operation thereof |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
CN113168386A (en) * | 2018-10-25 | 2021-07-23 | 美光科技公司 | Two-level hybrid memory buffer for multiple streams |
US11088707B2 (en) * | 2019-06-29 | 2021-08-10 | Intel Corporation | Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant |
US11515891B2 (en) | 2020-12-22 | 2022-11-29 | Intel Corporation | Application of low-density parity-check codes with codeword segmentation |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
EP4109230A4 (en) * | 2020-03-25 | 2023-08-30 | Huawei Technologies Co., Ltd. | Storage system, file storage and reading method, and terminal device |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
RU2815054C2 (en) * | 2019-06-12 | 2024-03-11 | Самсунг Электроникс Ко., Лтд. | Electronic device and its method for using storage space |
US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
Families Citing this family (110)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080306723A1 (en) * | 2007-06-08 | 2008-12-11 | Luca De Ambroggi | Emulated Combination Memory Device |
CN101441597B (en) * | 2007-11-22 | 2012-09-26 | 威刚科技股份有限公司 | Control method of adjustable mixed density memory storage device and hot data control module thereof |
JP2011022933A (en) * | 2009-07-17 | 2011-02-03 | Toshiba Corp | Information processing apparatus including memory management device, and memory management method |
JP2011186554A (en) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | Memory management device and method |
JP5322978B2 (en) * | 2010-03-04 | 2013-10-23 | 株式会社東芝 | Information processing apparatus and method |
JP2011186559A (en) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | Memory management device |
JP2011186561A (en) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | Memory management device |
JP2011186562A (en) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | Memory management device and method |
JP2011186558A (en) * | 2010-03-04 | 2011-09-22 | Toshiba Corp | Memory management device and method |
US20110047316A1 (en) * | 2009-08-19 | 2011-02-24 | Dell Products L.P. | Solid state memory device power optimization |
WO2011036015A1 (en) * | 2009-09-24 | 2011-03-31 | International Business Machines Corporation | Data storage using bitmaps |
CN102110063B (en) * | 2009-12-28 | 2013-11-06 | 宇瞻科技股份有限公司 | Storage system capable of promoting operation speed |
JP2011154547A (en) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | Memory management device and memory management method |
US8700949B2 (en) | 2010-03-30 | 2014-04-15 | International Business Machines Corporation | Reliability scheme using hybrid SSD/HDD replication with log structured management |
US9015441B2 (en) * | 2010-04-30 | 2015-04-21 | Microsoft Technology Licensing, Llc | Memory usage scanning |
JP5553309B2 (en) * | 2010-08-11 | 2014-07-16 | 国立大学法人 東京大学 | Data processing device |
CN101923514A (en) * | 2010-08-27 | 2010-12-22 | 深圳市江波龙电子有限公司 | Management method and system of flash memory equipment |
US8959057B2 (en) * | 2010-08-30 | 2015-02-17 | Oracle International Corporation | Techniques for automatic data placement with compression and columnar storage |
KR101795629B1 (en) | 2011-02-15 | 2017-11-13 | 삼성전자주식회사 | Method for managing file system in host and devices using the method |
JP2013061847A (en) * | 2011-09-14 | 2013-04-04 | Sony Corp | Information processor and information processing method |
CN103092867B (en) * | 2011-11-03 | 2017-02-01 | 中国移动通信集团甘肃有限公司 | Method and system for managing data, and data analyzing device |
US8977803B2 (en) * | 2011-11-21 | 2015-03-10 | Western Digital Technologies, Inc. | Disk drive data caching using a multi-tiered memory |
EP2798499B1 (en) | 2011-12-27 | 2020-11-18 | Intel Corporation | Methods and apparatus to manage workload memory allocation |
CN105718223B (en) * | 2011-12-27 | 2019-11-12 | 英特尔公司 | The method and apparatus of management work load memory distribution |
CN106469029B (en) * | 2011-12-31 | 2019-07-23 | 华为数字技术(成都)有限公司 | Data hierarchy storage processing method, device and storage equipment |
CN102609360B (en) * | 2012-01-12 | 2015-03-25 | 华为技术有限公司 | Data processing method, data processing device and data processing system |
JP5790532B2 (en) * | 2012-02-13 | 2015-10-07 | セイコーエプソン株式会社 | Electronic device and memory control method |
WO2014021779A1 (en) * | 2012-07-30 | 2014-02-06 | Agency For Science, Technology And Research | Servers and methods for controlling a server |
KR20140033964A (en) * | 2012-09-11 | 2014-03-19 | 삼성전자주식회사 | Device and method for saving data in terminal |
CN102902628B (en) * | 2012-09-18 | 2016-06-01 | 记忆科技(深圳)有限公司 | A kind of cold and hot data automatic separation method, system and flash memory realized based on flash memory |
CN103677654B (en) * | 2012-09-24 | 2018-03-23 | 联想(北京)有限公司 | The method and electronic equipment of a kind of data storage |
CN103839578B (en) * | 2012-11-27 | 2017-02-08 | 广东华晟数据固态存储有限公司 | Method for prolonging data hold time of NAND-based solid-state memory |
US9684593B1 (en) * | 2012-11-30 | 2017-06-20 | EMC IP Holding Company LLC | Techniques using an encryption tier property with application hinting and I/O tagging |
CN103853500A (en) * | 2012-12-07 | 2014-06-11 | 中国移动通信集团河南有限公司 | Method, device and system for distributing mass data |
KR102023351B1 (en) | 2013-03-19 | 2019-11-04 | 삼성전자 주식회사 | Method and apparatus for analyzing data to facilitate allocation in a storage device |
KR101481633B1 (en) * | 2013-07-03 | 2015-01-15 | 아주대학교산학협력단 | Buffer Management Apparatus And Method having three states based on Flash Memory |
KR102133362B1 (en) | 2013-08-14 | 2020-07-15 | 삼성전자주식회사 | Nonvolatile memory device, memory system having the same, and programming method thereof |
CN103744796A (en) * | 2013-09-29 | 2014-04-23 | 记忆科技(深圳)有限公司 | Caching method and system by means of uSSD |
CN103617007B (en) * | 2013-12-04 | 2017-06-23 | 深圳市华云中盛科技有限公司 | Multistage intelligent Realization of Storing and system |
US9323457B2 (en) * | 2013-12-09 | 2016-04-26 | Xilinx, Inc. | Memory arrangement for implementation of high-throughput key-value stores |
CN103713861A (en) * | 2014-01-09 | 2014-04-09 | 浪潮(北京)电子信息产业有限公司 | File processing method and system based on hierarchical division |
WO2015116080A1 (en) | 2014-01-30 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Migrating data between memories |
WO2015116173A2 (en) * | 2014-01-31 | 2015-08-06 | Hewlett-Packard Development Company, L.P. | Unifying memory controller |
KR102218712B1 (en) | 2014-02-11 | 2021-02-22 | 삼성전자주식회사 | Method of mapping address in storage device and method of reading data from storage device |
CN104915298B (en) * | 2014-03-13 | 2019-02-12 | 腾讯科技(北京)有限公司 | Relation chain processing method and processing device |
CN104932830B (en) * | 2014-03-17 | 2019-01-15 | 联想(北京)有限公司 | Information processing method and electronic equipment |
DE102014216130A1 (en) * | 2014-08-13 | 2016-02-18 | Siemens Aktiengesellschaft | Apparatus and method for storing logging data |
CN104391652A (en) * | 2014-10-20 | 2015-03-04 | 北京兆易创新科技股份有限公司 | Wear leveling method and device of hard disk |
KR101691286B1 (en) * | 2014-12-10 | 2017-01-09 | 한양대학교 산학협력단 | Input/output information sarer method, storage apparatus and host apparatus for perfomring the same method |
CN104461397A (en) * | 2014-12-19 | 2015-03-25 | 上海新储集成电路有限公司 | Solid-state drive and read-write method thereof |
KR102295223B1 (en) * | 2015-01-13 | 2021-09-01 | 삼성전자주식회사 | Storage device and user device including speed mode manager |
US9564216B2 (en) | 2015-01-30 | 2017-02-07 | Macronix International Co., Ltd. | Stress trim and modified ISPP procedures for PCM |
CN104793901B (en) * | 2015-04-09 | 2018-01-23 | 北京鲸鲨软件科技有限公司 | A kind of storage device and storage method |
CN104808953B (en) * | 2015-05-07 | 2018-11-27 | 广东欧珀移动通信有限公司 | Control the method, device and mobile terminal of data storage |
CN106354718B (en) * | 2015-07-13 | 2021-05-25 | 中国移动通信集团公司 | File management method and device of user identification module |
KR20170009000A (en) * | 2015-07-15 | 2017-01-25 | 에스케이하이닉스 주식회사 | Memory controller, memory system including the same and operation method of memory controleer |
KR102333220B1 (en) * | 2015-09-24 | 2021-12-01 | 삼성전자주식회사 | Operation method of nonvolatile memory system |
CN105869028A (en) * | 2015-11-11 | 2016-08-17 | 乐卡汽车智能科技(北京)有限公司 | Order rollback processing system and method, and business support system |
US9832277B2 (en) * | 2015-11-13 | 2017-11-28 | Western Digital Technologies, Inc. | Systems and methods for adaptive partitioning in distributed cache memories |
CN107203330B (en) * | 2016-03-17 | 2021-03-23 | 北京忆恒创源科技有限公司 | Read-write data stream oriented flash memory data distribution method |
KR102550343B1 (en) | 2016-07-27 | 2023-07-03 | 삼성전자주식회사 | Solid state drive devices and methods of operating thereof |
CN106503079A (en) * | 2016-10-10 | 2017-03-15 | 语联网(武汉)信息技术有限公司 | A kind of blog management method and system |
CN106406771B (en) * | 2016-10-20 | 2019-10-11 | 福建天泉教育科技有限公司 | Log recording method and logger |
CN107122126B (en) * | 2016-12-22 | 2020-09-08 | 华为技术有限公司 | Data migration method, device and system |
CN108268485B (en) * | 2016-12-30 | 2021-04-30 | 亿阳安全技术有限公司 | Log real-time analysis method and system |
CN106873912B (en) * | 2017-02-16 | 2020-02-07 | 苏州浪潮智能科技有限公司 | Dynamic partition storage method, device and system for TLC chip solid state disk |
US10318175B2 (en) * | 2017-03-07 | 2019-06-11 | Samsung Electronics Co., Ltd. | SSD with heterogeneous NVM types |
US10761750B2 (en) * | 2017-03-09 | 2020-09-01 | Netapp Inc. | Selectively storing data into allocation areas using streams |
CN107368436B (en) * | 2017-06-29 | 2020-08-18 | 西安交通大学 | Flash memory cold and hot data separated storage method combined with address mapping table |
CN107341112A (en) * | 2017-06-29 | 2017-11-10 | 西安交通大学 | A kind of flash data buffer area replacement method based on page access interval |
CN107291633A (en) * | 2017-07-14 | 2017-10-24 | 长沙开雅电子科技有限公司 | A kind of new cluster-based storage write buffer grading management method |
CN107480073A (en) * | 2017-08-20 | 2017-12-15 | 长沙曙通信息科技有限公司 | A kind of storage system hot spot data cache pre-reading implementation method |
CN107562378A (en) * | 2017-08-28 | 2018-01-09 | 记忆科技(深圳)有限公司 | A kind of method for lifting the solid storage device life-span |
CN107748649B (en) * | 2017-09-18 | 2021-03-30 | 北京京东尚科信息技术有限公司 | Method and device for caching data |
CN107621927B (en) * | 2017-09-29 | 2020-08-14 | 南京宏海科技有限公司 | Longitudinal extension method and device based on super-fusion system |
CN107844269B (en) * | 2017-10-17 | 2020-06-02 | 华中科技大学 | Hierarchical hybrid storage system based on consistent hash |
CN107807796B (en) * | 2017-11-17 | 2021-03-05 | 北京联想超融合科技有限公司 | Data layering method, terminal and system based on super-fusion storage system |
CN108108131B (en) * | 2017-12-29 | 2020-09-22 | 深圳忆联信息系统有限公司 | Data processing method and device for SSD (solid State disk) |
KR102535104B1 (en) | 2018-03-19 | 2023-05-23 | 에스케이하이닉스 주식회사 | Storage device and operating method thereof |
CN108519862B (en) * | 2018-03-30 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | Storage method, device and system of block chain system and storage medium |
US10776268B2 (en) * | 2018-04-19 | 2020-09-15 | Western Digital Technologies, Inc. | Priority addresses for storage cache management |
CN108920107B (en) * | 2018-07-13 | 2022-02-01 | 深圳忆联信息系统有限公司 | Method and device for screening cold data, computer equipment and storage medium |
CN108984124B (en) * | 2018-07-13 | 2022-03-25 | 深圳忆联信息系统有限公司 | Method and device for reducing write amplification, computer equipment and storage medium |
CN108920108B (en) * | 2018-07-13 | 2022-02-01 | 深圳忆联信息系统有限公司 | Cold data screening method and device, computer equipment and storage medium |
CN110737391B (en) * | 2018-07-20 | 2023-08-22 | 伊姆西Ip控股有限责任公司 | Method, apparatus and computer program product for managing a storage system |
US11010410B1 (en) * | 2018-10-12 | 2021-05-18 | Facebook, Inc. | Processing data groupings belonging to data grouping containers |
CN109407995B (en) * | 2018-11-05 | 2020-03-27 | 北京三快在线科技有限公司 | Cold and hot data management method and device, electronic equipment and computer readable medium |
US11163473B2 (en) | 2018-11-19 | 2021-11-02 | Micron Technology, Inc. | Systems, devices, techniques, and methods for data migration |
US11256437B2 (en) | 2018-11-19 | 2022-02-22 | Micron Technology, Inc. | Data migration for memory operation |
US11182090B2 (en) | 2018-11-19 | 2021-11-23 | Micron Technology, Inc. | Systems, devices, and methods for data migration |
KR20200078047A (en) * | 2018-12-21 | 2020-07-01 | 에스케이하이닉스 주식회사 | Memory system and operation method thereof |
CN109739646A (en) * | 2018-12-28 | 2019-05-10 | 北京神州绿盟信息安全科技股份有限公司 | A kind of data processing method and device |
CN109799958A (en) * | 2019-01-17 | 2019-05-24 | 湖南大学 | Solid state hard disk and its data processing method |
KR20200092710A (en) * | 2019-01-25 | 2020-08-04 | 주식회사 리얼타임테크 | Hybride index appratus in database management system based heterogeneous storage |
CN110134514B (en) * | 2019-04-18 | 2021-04-13 | 华中科技大学 | Extensible memory object storage system based on heterogeneous memory |
CN110109620B (en) * | 2019-04-25 | 2023-08-04 | 上海淇毓信息科技有限公司 | Hybrid storage method and device and electronic equipment |
US11036434B2 (en) * | 2019-08-22 | 2021-06-15 | Micron Technology, Inc. | Hierarchical memory systems |
CN110531938A (en) * | 2019-09-02 | 2019-12-03 | 广东紫晶信息存储技术股份有限公司 | A kind of cold and hot data migration method and system based on various dimensions |
CN111078144A (en) * | 2019-11-30 | 2020-04-28 | 苏州浪潮智能科技有限公司 | Method, system, terminal and storage medium for improving automatic layering efficiency |
KR20210077230A (en) * | 2019-12-17 | 2021-06-25 | 에스케이하이닉스 주식회사 | Memory system and method for operation in memory system |
CN113010091B (en) * | 2019-12-20 | 2023-06-16 | 华为技术有限公司 | Method for writing data into solid state disk, method and device for recycling garbage |
CN111722804B (en) * | 2020-06-12 | 2022-07-08 | 浪潮电子信息产业股份有限公司 | Method, system and equipment for scheduling nonvolatile memory and readable storage medium |
CN112114748B (en) * | 2020-09-02 | 2022-10-25 | 厦门安胜网络科技有限公司 | Separation method and system for cold and hot data |
CN112214169B (en) * | 2020-09-28 | 2021-08-10 | 深圳大学 | Data storage device and stored data migration method |
KR102619300B1 (en) * | 2020-11-27 | 2023-12-29 | 한양대학교 에리카산학협력단 | Appratus and method for processing of storing data |
CN112650453B (en) * | 2020-12-31 | 2024-05-14 | 北京千方科技股份有限公司 | Method and system for storing and inquiring traffic data |
US11681471B2 (en) * | 2021-04-07 | 2023-06-20 | EMC IP Holding Company LLC | Bypassing of tier-1 storage in a streaming data storage system |
KR20220169772A (en) | 2021-06-21 | 2022-12-28 | 에스케이하이닉스 주식회사 | Storage device and operating method thereof |
US11822699B1 (en) * | 2021-10-21 | 2023-11-21 | Secure Computing, Llc | Preventing surreptitious access to file data by malware |
KR20230059911A (en) * | 2021-10-26 | 2023-05-04 | 삼성전자주식회사 | Storage device and operation method thereof |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5671388A (en) * | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
US5802554A (en) * | 1995-02-28 | 1998-09-01 | Panasonic Technologies Inc. | Method and system for reducing memory access latency by providing fine grain direct access to flash memory concurrent with a block transfer therefrom |
US5966326A (en) * | 1996-09-13 | 1999-10-12 | Samsung Electronics, Co., Ltd. | Nonvolatile semiconductor memory equipped with single bit and multi-bit cells |
US20020051394A1 (en) * | 1993-04-08 | 2002-05-02 | Tsunehiro Tobita | Flash memory control method and apparatus processing system therewith |
US6785767B2 (en) * | 2000-12-26 | 2004-08-31 | Intel Corporation | Hybrid mass storage system and method with two different types of storage medium |
US20060152981A1 (en) * | 2005-01-11 | 2006-07-13 | Ryu Dong-Ryul | Solid state disk controller apparatus |
US20070011421A1 (en) * | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20070061502A1 (en) * | 2005-09-09 | 2007-03-15 | M-Systems Flash Disk Pioneers Ltd. | Flash memory storage system and method |
US7457897B1 (en) * | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
US20090144501A2 (en) * | 2005-07-13 | 2009-06-04 | Samsung Electronics Co., Ltd. | Data storage system with complex memory and method of operating the same |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0628246A (en) * | 1991-06-24 | 1994-02-04 | Nec Corp | Storage device |
JP3507132B2 (en) * | 1994-06-29 | 2004-03-15 | 株式会社日立製作所 | Storage device using flash memory and storage control method thereof |
JP3282525B2 (en) * | 1996-12-20 | 2002-05-13 | 松下電器産業株式会社 | Data management device and network data management system |
US6330572B1 (en) * | 1998-07-15 | 2001-12-11 | Imation Corp. | Hierarchical data storage management |
US8078794B2 (en) * | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US6701421B1 (en) * | 2000-08-17 | 2004-03-02 | International Business Machines Corporation | Application-level memory affinity control |
JP2003022687A (en) | 2001-07-09 | 2003-01-24 | Mitsubishi Electric Corp | Semiconductor memory |
JP2003216460A (en) * | 2002-01-21 | 2003-07-31 | Hitachi Ltd | Hierarchical storage device and its controller |
CA2498154A1 (en) * | 2002-09-16 | 2004-03-25 | Tigi Corporation | Storage system architectures and multiple caching arrangements |
US7010645B2 (en) * | 2002-12-27 | 2006-03-07 | International Business Machines Corporation | System and method for sequentially staging received data to a write cache in advance of storing the received data |
US8788764B2 (en) * | 2003-10-08 | 2014-07-22 | Oracle International Corporation | Access controller for storage devices |
US20050251617A1 (en) * | 2004-05-07 | 2005-11-10 | Sinclair Alan W | Hybrid non-volatile memory system |
US8315973B1 (en) * | 2004-09-28 | 2012-11-20 | Symantec Operating Corporation | Method and apparatus for data moving in multi-device file systems |
KR100704037B1 (en) * | 2005-04-15 | 2007-04-04 | 삼성전자주식회사 | Data storage device with a different kind of non-volatile memories and operating method therefor |
BRPI0520592A2 (en) * | 2005-09-29 | 2009-05-19 | Trek 2000 Int Ltd | portable data storage using slc and mlc flash memory |
SG130988A1 (en) * | 2005-09-29 | 2007-04-26 | Trek 2000 Int Ltd | Portable data storage device incorporating multiple flash memory units |
US7558913B2 (en) * | 2006-06-20 | 2009-07-07 | Microsoft Corporation | Atomic commit of cache transfer with staging area |
US7496711B2 (en) * | 2006-07-13 | 2009-02-24 | International Business Machines Corporation | Multi-level memory architecture with data prioritization |
KR100771521B1 (en) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | Flash memory device having a multi-leveled cell and programming method thereof |
KR100833188B1 (en) * | 2006-11-03 | 2008-05-28 | 삼성전자주식회사 | Non-volatile memory system storing data at single-level cell or multi-level cell based on the feature of data |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
US7730171B2 (en) * | 2007-05-08 | 2010-06-01 | Teradata Us, Inc. | Decoupled logical and physical data storage within a database management system |
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 |
US7975105B1 (en) * | 2007-12-03 | 2011-07-05 | Yingju Sun | Solid state storage devices with changeable capacity |
-
2007
- 2007-08-14 KR KR1020070081832A patent/KR101498673B1/en active IP Right Grant
-
2008
- 2008-01-17 US US12/015,548 patent/US20090049234A1/en not_active Abandoned
- 2008-05-27 JP JP2008138348A patent/JP2009048613A/en active Pending
- 2008-05-27 CN CN2013102935199A patent/CN103400598A/en active Pending
- 2008-05-27 CN CNA2008101085798A patent/CN101369451A/en active Pending
- 2008-08-06 DE DE102008036822A patent/DE102008036822A1/en not_active Withdrawn
-
2011
- 2011-02-15 US US13/027,299 patent/US20110138115A1/en not_active Abandoned
-
2012
- 2012-10-09 US US13/647,630 patent/US8626996B2/en active Active
-
2013
- 2013-07-26 JP JP2013155538A patent/JP2013242908A/en active Pending
- 2013-12-10 US US14/101,469 patent/US20140101377A1/en not_active Abandoned
-
2014
- 2014-01-03 US US14/146,870 patent/US20140122783A1/en not_active Abandoned
- 2014-07-29 US US14/445,126 patent/US20140337566A1/en not_active Abandoned
-
2015
- 2015-05-20 US US14/717,476 patent/US9208079B2/en active Active
-
2016
- 2016-04-15 US US15/130,464 patent/US20160231941A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020051394A1 (en) * | 1993-04-08 | 2002-05-02 | Tsunehiro Tobita | Flash memory control method and apparatus processing system therewith |
US5802554A (en) * | 1995-02-28 | 1998-09-01 | Panasonic Technologies Inc. | Method and system for reducing memory access latency by providing fine grain direct access to flash memory concurrent with a block transfer therefrom |
US5671388A (en) * | 1995-05-03 | 1997-09-23 | Intel Corporation | Method and apparatus for performing write operations in multi-level cell storage device |
US5966326A (en) * | 1996-09-13 | 1999-10-12 | Samsung Electronics, Co., Ltd. | Nonvolatile semiconductor memory equipped with single bit and multi-bit cells |
US6785767B2 (en) * | 2000-12-26 | 2004-08-31 | Intel Corporation | Hybrid mass storage system and method with two different types of storage medium |
US7457897B1 (en) * | 2004-03-17 | 2008-11-25 | Suoer Talent Electronics, Inc. | PCI express-compatible controller and interface for flash memory |
US20060152981A1 (en) * | 2005-01-11 | 2006-07-13 | Ryu Dong-Ryul | Solid state disk controller apparatus |
US20070011421A1 (en) * | 2005-07-07 | 2007-01-11 | Keller Thomas W Jr | Method and system for decreasing power consumption in memory arrays having usage-driven power management |
US20090144501A2 (en) * | 2005-07-13 | 2009-06-04 | Samsung Electronics Co., Ltd. | Data storage system with complex memory and method of operating the same |
US20070061502A1 (en) * | 2005-09-09 | 2007-03-15 | M-Systems Flash Disk Pioneers Ltd. | Flash memory storage system and method |
Cited By (290)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
US8570804B2 (en) | 2006-05-12 | 2013-10-29 | Apple Inc. | Distortion estimation and cancellation in memory devices |
US8050086B2 (en) | 2006-05-12 | 2011-11-01 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
US20100157641A1 (en) * | 2006-05-12 | 2010-06-24 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US7697326B2 (en) | 2006-05-12 | 2010-04-13 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US20090024905A1 (en) * | 2006-05-12 | 2009-01-22 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8599611B2 (en) | 2006-05-12 | 2013-12-03 | Apple Inc. | Distortion estimation and cancellation in memory devices |
US20090103358A1 (en) * | 2006-05-12 | 2009-04-23 | Anobit Technologies Ltd. | Reducing programming error in memory devices |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
US8060806B2 (en) | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
US20110225472A1 (en) * | 2006-10-30 | 2011-09-15 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
USRE46346E1 (en) | 2006-10-30 | 2017-03-21 | Apple Inc. | Reading memory cells using multiple thresholds |
US7821826B2 (en) | 2006-10-30 | 2010-10-26 | Anobit Technologies, Ltd. | Memory cell readout using successive approximation |
US8145984B2 (en) | 2006-10-30 | 2012-03-27 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US7924648B2 (en) | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
US20100115376A1 (en) * | 2006-12-03 | 2010-05-06 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US9727455B2 (en) | 2006-12-11 | 2017-08-08 | Marvell World Trade Ltd. | Method and apparatus for mapping a logical address between memories of a storage drive based on write frequency rankings |
US9153337B2 (en) * | 2006-12-11 | 2015-10-06 | Marvell World Trade Ltd. | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US10067866B2 (en) | 2006-12-11 | 2018-09-04 | Marvell World Trade Ltd. | Method and apparatus for mapping logical addresses between memories of a solid-state disk based on write frequency rankings |
US20090138654A1 (en) * | 2006-12-11 | 2009-05-28 | Pantas Sutardja | Fatigue management system and method for hybrid nonvolatile solid state memory system |
US20080158958A1 (en) * | 2006-12-17 | 2008-07-03 | Anobit Technologies Ltd. | Memory device with reduced reading |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US20080148115A1 (en) * | 2006-12-17 | 2008-06-19 | Anobit Technologies Ltd. | High-speed programming of memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
US7881107B2 (en) | 2007-01-24 | 2011-02-01 | Anobit Technologies Ltd. | Memory device with negative thresholds |
US20100195390A1 (en) * | 2007-01-24 | 2010-08-05 | Anobit Technologies Ltd | Memory device with negative thresholds |
US20080219050A1 (en) * | 2007-01-24 | 2008-09-11 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US8369141B2 (en) | 2007-03-12 | 2013-02-05 | Apple Inc. | Adaptive estimation of memory cell read thresholds |
US20100091535A1 (en) * | 2007-03-12 | 2010-04-15 | Anobit Technologies Ltd | Adaptive estimation of memory cell read thresholds |
US20080263262A1 (en) * | 2007-04-22 | 2008-10-23 | Anobit Technologies Ltd. | Command interface for memory devices |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US20080282106A1 (en) * | 2007-05-12 | 2008-11-13 | Anobit Technologies Ltd | Data storage with incremental redundancy |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8429358B2 (en) | 2007-08-14 | 2013-04-23 | Samsung Electronics Co., Ltd. | Method and data storage device for processing commands |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US20100157675A1 (en) * | 2007-09-19 | 2010-06-24 | Anobit Technologies Ltd | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US7773413B2 (en) | 2007-10-08 | 2010-08-10 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells in the presence of temperature variations |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US20100199150A1 (en) * | 2007-10-19 | 2010-08-05 | Anobit Technologies Ltd | Data Storage In Analog Memory Cell Arrays Having Erase Failures |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US20090106485A1 (en) * | 2007-10-19 | 2009-04-23 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
US20100220510A1 (en) * | 2007-11-13 | 2010-09-02 | Anobit Technologies Ltd | Optimized Selection of Memory Chips in Multi-Chips Memory Devices |
US8270246B2 (en) | 2007-11-13 | 2012-09-18 | Apple Inc. | Optimized selection of memory chips in multi-chips memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US20090158126A1 (en) * | 2007-12-12 | 2009-06-18 | Anobit Technologies Ltd | Efficient interference cancellation in analog memory cell arrays |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US20090168524A1 (en) * | 2007-12-27 | 2009-07-02 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US20090199074A1 (en) * | 2008-02-05 | 2009-08-06 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US20090213653A1 (en) * | 2008-02-21 | 2009-08-27 | Anobit Technologies Ltd | Programming of analog memory cells using a single programming pulse per state transition |
US7864573B2 (en) | 2008-02-24 | 2011-01-04 | Anobit Technologies Ltd. | Programming analog memory cells for reduced variance after retention |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US20090228761A1 (en) * | 2008-03-07 | 2009-09-10 | Anobit Technologies Ltd | Efficient readout from analog memory cells using data compression |
US20090240872A1 (en) * | 2008-03-18 | 2009-09-24 | Anobit Technologies Ltd | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US9390004B2 (en) * | 2008-05-28 | 2016-07-12 | Round Rock Research, Llc | Hybrid memory management |
US20140281177A1 (en) * | 2008-05-28 | 2014-09-18 | Micron Technology, Inc. | Hybrid memory management |
US8751733B2 (en) * | 2008-05-28 | 2014-06-10 | Round Rock Research, Llc | Hybrid memory management |
US20130073807A1 (en) * | 2008-05-28 | 2013-03-21 | Round Rock Research, Llc | Hybrid memory management |
US9372625B2 (en) | 2008-07-16 | 2016-06-21 | Seagate Technology International | Controller, data storage device, and data communication system having variable communication speed |
US20100017564A1 (en) * | 2008-07-16 | 2010-01-21 | Samsung Electronics Co., Ltd. | Controller, data storage device, and data communication system having variable communication speed |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8498151B1 (en) | 2008-08-05 | 2013-07-30 | Apple Inc. | Data storage in analog memory cells using modified pass voltages |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
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 |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US20100124088A1 (en) * | 2008-11-16 | 2010-05-20 | Anobit Technologies Ltd | Storage at m bits/cell density in n bits/cell analog memory cell devices, m>n |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8397131B1 (en) | 2008-12-31 | 2013-03-12 | Apple Inc. | Efficient readout schemes for analog memory cell devices |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US20100165689A1 (en) * | 2008-12-31 | 2010-07-01 | Anobit Technologies Ltd | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US20100199033A1 (en) * | 2009-02-02 | 2010-08-05 | Lau Nguyen | Solid-state drive command grouping |
US9304692B2 (en) * | 2009-02-02 | 2016-04-05 | Marvell World Trade Ltd. | Solid-state drive command grouping |
US20140025873A1 (en) * | 2009-02-02 | 2014-01-23 | Marvell World Trade Ltd. | Solid-state drive command grouping |
US8543756B2 (en) * | 2009-02-02 | 2013-09-24 | Marvell World Trade Ltd. | Solid-state drive command grouping |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8996799B2 (en) * | 2009-03-17 | 2015-03-31 | Nec Corporation | Content storage system with modified cache write policies |
US20110314205A1 (en) * | 2009-03-17 | 2011-12-22 | Nec Corporation | Storage system |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US20100250836A1 (en) * | 2009-03-25 | 2010-09-30 | Anobit Technologies Ltd | Use of Host System Resources by Memory Controller |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
EP2417524A4 (en) * | 2009-04-10 | 2013-03-06 | Kaminario Tehnologies Ltd | A mass-storage system utilizing auxiliary solid-state storage subsystem |
EP2417524A1 (en) * | 2009-04-10 | 2012-02-15 | Kaminario Tehnologies Ltd. | A mass-storage system utilizing auxiliary solid-state storage subsystem |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US20100293319A1 (en) * | 2009-05-18 | 2010-11-18 | Samsung Electronics Co., Ltd. | Solid state drive device |
KR20100124082A (en) * | 2009-05-18 | 2010-11-26 | 삼성전자주식회사 | Solid state drive device |
US8904084B2 (en) * | 2009-05-18 | 2014-12-02 | Samsung Electronics Co., Ltd. | Solid state drive device |
US9052838B2 (en) | 2009-05-18 | 2015-06-09 | Samsung Electronics Co., Ltd. | Solid state drive device |
US9262077B2 (en) | 2009-05-18 | 2016-02-16 | Samsung Electronics Co., Ltd. | Solid state drive device |
KR101600951B1 (en) * | 2009-05-18 | 2016-03-08 | 삼성전자주식회사 | Solid state drive device |
US9098395B2 (en) * | 2009-07-09 | 2015-08-04 | Phison Electronics Corp. | Logical block management method for a flash memory and control circuit storage system using the same |
TWI400707B (en) * | 2009-07-09 | 2013-07-01 | Phison Electronics Corp | Logical block management method for a flash memory and control circuit and storage system using the same |
US20110010489A1 (en) * | 2009-07-09 | 2011-01-13 | Phison Electronics Corp. | Logical block management method for a flash memory and control circuit storage system using the same |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
EP2455865A4 (en) * | 2009-07-17 | 2014-12-10 | Toshiba Kk | Memory management device |
US10776007B2 (en) | 2009-07-17 | 2020-09-15 | Toshiba Memory Corporation | Memory management device predicting an erase count |
EP2455865A1 (en) * | 2009-07-17 | 2012-05-23 | Kabushiki Kaisha Toshiba | Memory management device |
US20120290779A1 (en) * | 2009-09-08 | 2012-11-15 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
US20120166749A1 (en) * | 2009-09-08 | 2012-06-28 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
US9122607B1 (en) * | 2009-09-18 | 2015-09-01 | Marvell International Ltd. | Hotspot detection and caching for storage devices |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
WO2011056002A2 (en) * | 2009-11-06 | 2011-05-12 | (주)피스페이스 | Apparatus and method for managing a file in a distributed storage system |
WO2011056002A3 (en) * | 2009-11-06 | 2011-11-10 | (주)피스페이스 | Apparatus and method for managing a file in a distributed storage system |
US9164895B2 (en) | 2009-12-04 | 2015-10-20 | Marvell World Trade Ltd. | Virtualization of solid state drive and mass storage drive devices with hot and cold application monitoring |
US8769241B2 (en) | 2009-12-04 | 2014-07-01 | Marvell World Trade Ltd. | Virtualization of non-volatile memory and hard disk drive as a single logical drive |
US20110138112A1 (en) * | 2009-12-04 | 2011-06-09 | Hsing-Yi Chiang | Virtualization of Storage Devices |
WO2011068699A1 (en) * | 2009-12-04 | 2011-06-09 | Marvell World Trade Ltd. | Virtualization of storage devices |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
GB2489343B (en) * | 2009-12-22 | 2016-08-31 | Ibm | Hybrid storage subsystem |
US8438334B2 (en) | 2009-12-22 | 2013-05-07 | International Business Machines Corporation | Hybrid storage subsystem with mixed placement of file contents |
US20110153931A1 (en) * | 2009-12-22 | 2011-06-23 | International Business Machines Corporation | Hybrid storage subsystem with mixed placement of file contents |
US8959286B2 (en) | 2009-12-22 | 2015-02-17 | International Business Machines Corporation | Hybrid storage subsystem with mixed placement of file contents |
GB2489343A (en) * | 2009-12-22 | 2012-09-26 | Ibm | Hybrid storage subsystem |
WO2011076565A1 (en) * | 2009-12-22 | 2011-06-30 | International Business Machines Corporation | Hybrid storage subsystem |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US8677203B1 (en) | 2010-01-11 | 2014-03-18 | Apple Inc. | Redundant data storage schemes for multi-die memory systems |
US20120311113A1 (en) * | 2010-02-10 | 2012-12-06 | Nec Corporation | Storage device |
US20110225347A1 (en) * | 2010-03-10 | 2011-09-15 | Seagate Technology Llc | Logical block storage in a storage device |
US20110225346A1 (en) * | 2010-03-10 | 2011-09-15 | 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 |
US8458417B2 (en) | 2010-03-10 | 2013-06-04 | Seagate Technology Llc | Garbage collection in a storage device |
US8713244B2 (en) * | 2010-04-19 | 2014-04-29 | International Business Machines Corporation | Sub-LUN input/output profiling for SSD devices |
US9594523B2 (en) | 2010-04-19 | 2017-03-14 | International Business Machines Corporation | Sub-LUN input/output profiling for SSD devices |
US10031696B2 (en) | 2010-04-19 | 2018-07-24 | International Business Machines Corporation | Sub-lun input/output profiling for SSD devices |
US9858012B2 (en) | 2010-04-19 | 2018-01-02 | International Business Machines Corporation | Sub-LUN input/output profiling for SSD devices |
US20110258363A1 (en) * | 2010-04-19 | 2011-10-20 | International Business Machines Corporation | Sub-lun input/output profiling for ssd devices |
US8700841B2 (en) * | 2010-04-19 | 2014-04-15 | International Business Machines Corporation | Sub-LUN input/output profiling for SSD devices |
US9183134B2 (en) | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US8635494B2 (en) * | 2010-04-30 | 2014-01-21 | Taejin Info Tech Co., Ltd. | Backup and restoration for a semiconductor storage device |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US9355109B2 (en) * | 2010-06-11 | 2016-05-31 | The Research Foundation For The State University Of New York | Multi-tier caching |
US9959279B2 (en) * | 2010-06-11 | 2018-05-01 | The Research Foundation For The State University Of New York | Multi-tier caching |
US20160232169A1 (en) * | 2010-06-11 | 2016-08-11 | The Research Foundation For The State University Of New York | Multi-tier caching |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8645794B1 (en) | 2010-07-31 | 2014-02-04 | Apple Inc. | Data storage in analog memory cells using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US9684590B2 (en) | 2010-10-25 | 2017-06-20 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
US9569351B2 (en) | 2010-10-25 | 2017-02-14 | Seagate Technology Llc | Storing corresponding data units in a common storage unit |
CN102073602A (en) * | 2010-12-14 | 2011-05-25 | 鸿富锦精密工业(深圳)有限公司 | Computer system, connection control device as well as connecting and disconnecting method |
US11467839B2 (en) | 2011-01-27 | 2022-10-11 | Intel Corporation | Unified register file for supporting speculative architectural states |
US10394563B2 (en) | 2011-01-27 | 2019-08-27 | Intel Corporation | Hardware accelerated conversion system using pattern matching |
US10042643B2 (en) | 2011-01-27 | 2018-08-07 | Intel Corporation | Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor |
US9710387B2 (en) | 2011-01-27 | 2017-07-18 | Intel Corporation | Guest instruction to native instruction range based mapping using a conversion look aside buffer of a processor |
US10185567B2 (en) | 2011-01-27 | 2019-01-22 | Intel Corporation | Multilevel conversion table cache for translating guest instructions to native instructions |
US10241795B2 (en) | 2011-01-27 | 2019-03-26 | Intel Corporation | Guest to native block address mappings and management of native code storage |
US9921842B2 (en) | 2011-01-27 | 2018-03-20 | Intel Corporation | Guest instruction block with near branching and far branching sequence construction to native instruction block |
US8812775B2 (en) | 2011-03-28 | 2014-08-19 | Samsung Electronics Co., Ltd. | System and method for controlling nonvolatile memory |
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 |
US8782370B2 (en) | 2011-05-15 | 2014-07-15 | Apple Inc. | Selective data storage in LSB and MSB pages |
US8914600B2 (en) | 2011-05-15 | 2014-12-16 | Apple Inc. | Selective data storage in LSB and MSB pages |
EP2525293A1 (en) | 2011-05-15 | 2012-11-21 | Apple Inc. | Selecitve data storage in LSB and MSB pages of multi-level flash memory devices |
EP3686742A1 (en) | 2011-05-15 | 2020-07-29 | Apple Inc. | Selective data storage in lsb and msb pages |
WO2013005118A1 (en) * | 2011-05-15 | 2013-01-10 | Apple Inc. | Selective data storage in lsb and msb pages |
US20160011781A1 (en) * | 2011-05-26 | 2016-01-14 | Samsung Electronics Co., Ltd. | Memory chip, memory system, and method of accessing the memory chip |
US10067681B2 (en) * | 2011-05-26 | 2018-09-04 | Samsung Electronics Co., Ltd. | Memory chip, memory system, and method of accessing the memory chip |
US9830083B2 (en) * | 2011-05-26 | 2017-11-28 | Samsung Electronics Co., Ltd. | Memory chip, memory system, and method of accessing the memory chip |
US20120303870A1 (en) * | 2011-05-26 | 2012-11-29 | Chul-Sung Park | Memory chip, memory system, and method of accessing the memory chip |
JP2014522537A (en) * | 2011-06-09 | 2014-09-04 | マイクロソフト コーポレーション | Use to manage data placement on flash-based storage |
US8838916B2 (en) | 2011-09-15 | 2014-09-16 | International Business Machines Corporation | Hybrid data storage management taking into account input/output (I/O) priority |
US20130073822A1 (en) * | 2011-09-20 | 2013-03-21 | Eran Sandel | Adaptive mapping of logical addresses to memory devices in solid state drives |
US9417803B2 (en) * | 2011-09-20 | 2016-08-16 | Apple Inc. | Adaptive mapping of logical addresses to memory devices in solid state drives |
US11132298B2 (en) | 2011-09-30 | 2021-09-28 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
US9342453B2 (en) | 2011-09-30 | 2016-05-17 | Intel Corporation | Memory channel that supports near memory and far memory access |
US20140129767A1 (en) * | 2011-09-30 | 2014-05-08 | Raj K Ramanujan | Apparatus and method for implementing a multi-level memory hierarchy |
US9378142B2 (en) | 2011-09-30 | 2016-06-28 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
US9600407B2 (en) | 2011-09-30 | 2017-03-21 | Intel Corporation | Generation of far memory access signals based on usage statistic tracking |
US20170249250A1 (en) * | 2011-09-30 | 2017-08-31 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
US9600416B2 (en) * | 2011-09-30 | 2017-03-21 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
US10102126B2 (en) | 2011-09-30 | 2018-10-16 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
US9619408B2 (en) | 2011-09-30 | 2017-04-11 | Intel Corporation | Memory channel that supports near memory and far memory access |
US10241943B2 (en) | 2011-09-30 | 2019-03-26 | Intel Corporation | Memory channel that supports near memory and far memory access |
US20190220406A1 (en) * | 2011-09-30 | 2019-07-18 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
US10719443B2 (en) * | 2011-09-30 | 2020-07-21 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
US10691626B2 (en) | 2011-09-30 | 2020-06-23 | Intel Corporation | Memory channel that supports near memory and far memory access |
US10241912B2 (en) * | 2011-09-30 | 2019-03-26 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
US10282323B2 (en) | 2011-09-30 | 2019-05-07 | Intel Corporation | Memory channel that supports near memory and far memory access |
US10282322B2 (en) | 2011-09-30 | 2019-05-07 | Intel Corporation | Memory channel that supports near memory and far memory access |
US9317429B2 (en) | 2011-09-30 | 2016-04-19 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
US9927860B2 (en) | 2012-10-17 | 2018-03-27 | Huawei Technologies Co., Ltd. | Method for reducing power consumption of memory system, and memory controller |
US8984251B2 (en) | 2012-12-04 | 2015-03-17 | Apple Inc. | Hinting of deleted data from host to storage device |
KR101623327B1 (en) | 2012-12-04 | 2016-05-20 | 애플 인크. | Hinting of deleted data from host to storage device |
WO2014088749A1 (en) | 2012-12-04 | 2014-06-12 | Apple Inc. | Hinting of deleted data from host to storage device |
EP2929425A1 (en) * | 2012-12-04 | 2015-10-14 | Apple Inc. | Hinting of deleted data from host to storage device |
US11042297B2 (en) | 2012-12-21 | 2021-06-22 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US10296217B2 (en) | 2012-12-21 | 2019-05-21 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US9098402B2 (en) | 2012-12-21 | 2015-08-04 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
WO2014099025A1 (en) * | 2012-12-21 | 2014-06-26 | Intel Corporation | Techniques to configure a solid state drive to operate in a storage mode or a memory mode |
US9715445B2 (en) | 2013-03-14 | 2017-07-25 | Sandisk Technologies Llc | File differentiation based on data block identification |
US10152327B2 (en) | 2013-03-15 | 2018-12-11 | Intel Corporation | Apparatus for gating a load operation based on entries of a prediction table |
US10579386B2 (en) | 2013-03-15 | 2020-03-03 | Intel Corporation | Microprocessor for gating a load operation based on entries of a prediction table |
WO2014149859A1 (en) * | 2013-03-15 | 2014-09-25 | Sandisk Technologies Inc. | Data tag sharing from host to storage systems |
US10514926B2 (en) | 2013-03-15 | 2019-12-24 | Intel Corporation | Method and apparatus to allow early dependency resolution and data forwarding in a microprocessor |
US11294680B2 (en) | 2013-03-15 | 2022-04-05 | Intel Corporation | Determining branch targets for guest branch instructions executed in native address space |
US9606935B2 (en) * | 2013-03-15 | 2017-03-28 | Intel Corporation | Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer |
US20140317351A1 (en) * | 2013-03-15 | 2014-10-23 | Soft Machines, Inc. | Method and apparatus for preventing non-temporal entries from polluting small structures using a transient buffer |
US10198265B2 (en) | 2013-03-15 | 2019-02-05 | Intel Corporation | Microprocessor for gating a load operation based on entries of a prediction table |
US10228950B2 (en) | 2013-03-15 | 2019-03-12 | Intel Corporation | Method and apparatus for guest return address stack emulation supporting speculation |
US10467010B2 (en) | 2013-03-15 | 2019-11-05 | Intel Corporation | Method and apparatus for nearest potential store tagging |
US10810014B2 (en) | 2013-03-15 | 2020-10-20 | Intel Corporation | Method and apparatus for guest return address stack emulation supporting speculation |
US20140297983A1 (en) * | 2013-03-29 | 2014-10-02 | Fujitsu Limited | Method of arranging data, information processing apparatus, and recording medium |
WO2014209234A1 (en) * | 2013-06-26 | 2014-12-31 | Agency For Science, Technology And Research | Method and apparatus for hot data region optimized dynamic management |
US20150032979A1 (en) * | 2013-07-26 | 2015-01-29 | International Business Machines Corporation | Self-adjusting phase change memory storage module |
US9563371B2 (en) * | 2013-07-26 | 2017-02-07 | Globalfoundreis Inc. | Self-adjusting phase change memory storage module |
GB2519641B (en) * | 2013-09-18 | 2018-05-02 | Intel Corp | Heterogenous memory access |
US10031671B2 (en) | 2013-12-05 | 2018-07-24 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for calculating identification threshold to distinguish cold data and hot data |
US20150186045A1 (en) * | 2013-12-30 | 2015-07-02 | Teradata Corporation | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US20150186047A1 (en) * | 2013-12-30 | 2015-07-02 | Teradata Corporation | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US9703505B2 (en) * | 2013-12-30 | 2017-07-11 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US20150186046A1 (en) * | 2013-12-30 | 2015-07-02 | Teradata Corporation | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US9720623B2 (en) * | 2013-12-30 | 2017-08-01 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
US9851923B2 (en) * | 2013-12-30 | 2017-12-26 | Teradata Us, Inc. | Management of data in multi-storage systems that can include non-volatile and volatile storages |
CN105045523A (en) * | 2014-04-15 | 2015-11-11 | 三星电子株式会社 | Storage controller, storage device, storage system and method of operating the storage controller |
JP2015204118A (en) * | 2014-04-15 | 2015-11-16 | 三星電子株式会社Samsung Electronics Co.,Ltd. | Storage controller and storage device |
JP2017054571A (en) * | 2015-09-11 | 2017-03-16 | 株式会社東芝 | Memory system |
TWI724036B (en) * | 2015-12-03 | 2021-04-11 | 南韓商三星電子股份有限公司 | Electronic system with memory management mechanism and method of operation thereof |
US20170160964A1 (en) * | 2015-12-08 | 2017-06-08 | Kyocera Document Solutions Inc. | Electronic device and non-transitory computer readable storage medium |
US10437488B2 (en) * | 2015-12-08 | 2019-10-08 | Kyocera Document Solutions Inc. | Electronic device and non-transitory computer readable storage medium |
US10649897B2 (en) | 2015-12-30 | 2020-05-12 | Huawei Technologies Co., Ltd. | Access request processing method and apparatus, and computer device |
US11030092B2 (en) | 2015-12-30 | 2021-06-08 | Huawei Technologies Co., Ltd. | Access request processing method and apparatus, and computer system |
WO2017113213A1 (en) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | Method and device for processing access request, and computer system |
US11301379B2 (en) | 2015-12-30 | 2022-04-12 | Huawei Technologies Co., Ltd. | Access request processing method and apparatus, and computer device |
WO2017113211A1 (en) * | 2015-12-30 | 2017-07-06 | 华为技术有限公司 | Method and device for processing access request, and computer system |
US10606746B2 (en) | 2015-12-30 | 2020-03-31 | Huawei Technologies Co., Ltd. | Access request processing method and apparatus, and computer system |
CN105760114A (en) * | 2016-02-05 | 2016-07-13 | 浪潮(北京)电子信息产业有限公司 | Method, device and system for managing resources of parallel file system |
US10540098B2 (en) | 2016-07-19 | 2020-01-21 | Sap Se | Workload-aware page management for in-memory databases in hybrid main memory systems |
US10452539B2 (en) | 2016-07-19 | 2019-10-22 | Sap Se | Simulator for enterprise-scale simulations on hybrid main memory systems |
US20180024923A1 (en) * | 2016-07-19 | 2018-01-25 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10387127B2 (en) | 2016-07-19 | 2019-08-20 | Sap Se | Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases |
US10698732B2 (en) * | 2016-07-19 | 2020-06-30 | Sap Se | Page ranking in operating system virtual pages in hybrid memory systems |
US10437798B2 (en) | 2016-07-19 | 2019-10-08 | Sap Se | Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems |
US10783146B2 (en) | 2016-07-19 | 2020-09-22 | Sap Se | Join operations in hybrid main memory systems |
US10474557B2 (en) | 2016-07-19 | 2019-11-12 | Sap Se | Source code profiling for line-level latency and energy consumption estimation |
US11977484B2 (en) | 2016-07-19 | 2024-05-07 | Sap Se | Adapting in-memory database in hybrid memory systems and operating system interface |
EP3539005A4 (en) * | 2016-11-08 | 2020-07-08 | Micron Technology, Inc. | Data relocation in hybrid memory |
KR20190067938A (en) * | 2016-11-08 | 2019-06-17 | 마이크론 테크놀로지, 인크. | Data relocation in hybrid memory |
US20180129424A1 (en) * | 2016-11-08 | 2018-05-10 | Micron Technology, Inc. | Data relocation in hybrid memory |
US10649665B2 (en) * | 2016-11-08 | 2020-05-12 | Micron Technology, Inc. | Data relocation in hybrid memory |
KR102271643B1 (en) * | 2016-11-08 | 2021-07-05 | 마이크론 테크놀로지, 인크. | Data Relocation in Hybrid Memory |
TWI687807B (en) * | 2016-11-08 | 2020-03-11 | 美商美光科技公司 | Data relocation in hybrid memory |
WO2018089085A1 (en) | 2016-11-08 | 2018-05-17 | Micron Technology, Inc. | Data relocation in hybrid memory |
US11010379B2 (en) | 2017-08-15 | 2021-05-18 | Sap Se | Increasing performance of in-memory databases using re-ordered query execution plans |
US11705201B2 (en) | 2017-08-30 | 2023-07-18 | Micron Technology, Inc. | Log data storage for flash memory |
US11100996B2 (en) * | 2017-08-30 | 2021-08-24 | Micron Technology, Inc. | Log data storage for flash memory |
CN111133410A (en) * | 2017-08-30 | 2020-05-08 | 美光科技公司 | Log data storage for flash memory |
US10909271B2 (en) * | 2017-09-28 | 2021-02-02 | Citrix Systems, Inc. | Policy based persistence |
US20190095650A1 (en) * | 2017-09-28 | 2019-03-28 | Citrix Systems, Inc. | Policy based persistence |
US11636228B2 (en) | 2017-09-28 | 2023-04-25 | Citrix Systems, Inc. | Policy based persistence |
US10915475B2 (en) * | 2017-10-12 | 2021-02-09 | Western Digital Technologies, Inc. | Methods and apparatus for variable size logical page management based on hot and cold data |
US20190114272A1 (en) * | 2017-10-12 | 2019-04-18 | Western Digital Technologies, Inc. | Methods and apparatus for variable size logical page management based on hot and cold data |
US11880602B2 (en) | 2017-10-25 | 2024-01-23 | Huawei Technologies Co., Ltd. | Data writing method and storage device |
EP3686728A4 (en) * | 2017-10-25 | 2020-11-18 | Huawei Technologies Co., Ltd. | Data writing method and storage device |
US11237765B2 (en) | 2017-10-25 | 2022-02-01 | Huawei Technologies Co., Ltd. | Data writing method and storage device |
CN110046058A (en) * | 2018-01-11 | 2019-07-23 | 爱思开海力士有限公司 | Storage system |
CN113168386A (en) * | 2018-10-25 | 2021-07-23 | 美光科技公司 | Two-level hybrid memory buffer for multiple streams |
US11188250B2 (en) * | 2018-10-25 | 2021-11-30 | Micron Technology, Inc. | Two-stage hybrid memory buffer for multiple streams |
US11829638B2 (en) | 2018-10-25 | 2023-11-28 | Micron Technology, Inc. | Two-stage hybrid memory buffer for multiple streams |
US11392318B2 (en) | 2019-06-12 | 2022-07-19 | Samsung Electronics Co., Ltd. | Electronic device and method of utilizing storage space thereof |
US11704072B2 (en) | 2019-06-12 | 2023-07-18 | Samsung Electronics Co., Ltd. | Electronic device and method of utilizing storage space thereof |
CN112083876A (en) * | 2019-06-12 | 2020-12-15 | 三星电子株式会社 | Electronic device and method for utilizing storage space thereof |
RU2815054C2 (en) * | 2019-06-12 | 2024-03-11 | Самсунг Электроникс Ко., Лтд. | Electronic device and its method for using storage space |
US11088707B2 (en) * | 2019-06-29 | 2021-08-10 | Intel Corporation | Low density parity check (LDPC) decoder architecture with check node storage (CNS) or bounded circulant |
EP4109230A4 (en) * | 2020-03-25 | 2023-08-30 | Huawei Technologies Co., Ltd. | Storage system, file storage and reading method, and terminal device |
CN111581024A (en) * | 2020-05-06 | 2020-08-25 | 深圳忆联信息系统有限公司 | Method and device for recovering dynamic backup of SSD log and computer equipment |
US11515891B2 (en) | 2020-12-22 | 2022-11-29 | Intel Corporation | Application of low-density parity-check codes with codeword segmentation |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Also Published As
Publication number | Publication date |
---|---|
US20160231941A1 (en) | 2016-08-11 |
US20140337566A1 (en) | 2014-11-13 |
US9208079B2 (en) | 2015-12-08 |
JP2013242908A (en) | 2013-12-05 |
KR101498673B1 (en) | 2015-03-09 |
CN101369451A (en) | 2009-02-18 |
CN103400598A (en) | 2013-11-20 |
US20110138115A1 (en) | 2011-06-09 |
US20130042058A1 (en) | 2013-02-14 |
DE102008036822A1 (en) | 2009-04-02 |
US20150261667A1 (en) | 2015-09-17 |
KR20090017238A (en) | 2009-02-18 |
US20140101377A1 (en) | 2014-04-10 |
US8626996B2 (en) | 2014-01-07 |
JP2009048613A (en) | 2009-03-05 |
US20140122783A1 (en) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9208079B2 (en) | Solid state memory (SSM), computer system including an SSM, and method of operating an SSM | |
US11967370B1 (en) | Lifetime mixed level non-volatile memory system | |
US8429358B2 (en) | Method and data storage device for processing commands | |
KR102610395B1 (en) | Memory system comprising non-volatile memory device | |
US10802733B2 (en) | Methods and apparatus for configuring storage tiers within SSDs | |
JP5728672B2 (en) | Hybrid memory management | |
KR102585883B1 (en) | Operating method of memory system and memory system | |
KR102544162B1 (en) | Data storage device and operating method thereof | |
KR20220103340A (en) | Data storage device and operating method thereof | |
KR102425470B1 (en) | Data storage device and operating method thereof | |
KR102703487B1 (en) | Data storage device and operating method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAMSUNG ELECTRONICS CO., LTD., KOREA, REPUBLIC OF Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:OH, MOON-WOOK;KIM, DO-GEUN;PARK, CHAN-IK;REEL/FRAME:020620/0723 Effective date: 20080229 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |