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 PDF

Info

Publication number
US20090049234A1
US20090049234A1 US12015548 US1554808A US20090049234A1 US 20090049234 A1 US20090049234 A1 US 20090049234A1 US 12015548 US12015548 US 12015548 US 1554808 A US1554808 A US 1554808A US 20090049234 A1 US20090049234 A1 US 20090049234A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
data
memory
speed
layer
nvm
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
Application number
US12015548
Inventor
Moon-wook OH
Do-Geun Kim
Chan-ik Park
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0602Dedicated interfaces to storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0658Controller construction arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0628Dedicated interfaces to storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F3/0601Dedicated interfaces to storage systems
    • G06F3/0668Dedicated interfaces to storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers
    • G06F2003/0697Digital input from or digital output to record carriers, e.g. RAID, emulated record carriers, networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies

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

    BACKGROUND OF THE INVENTION
  • [0001]
    1. Field of the Invention
  • [0002]
    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.
  • [0003]
    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.
  • [0004]
    2. Description of the Related Art
  • [0005]
    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.
  • [0006]
    An SSD is commonly composed of either NAND flash (non-volatile) or SDRAM (volatile).
  • [0007]
    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.
  • [0008]
    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.
  • [0009]
    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.
  • SUMMARY OF THE INVENTION
  • [0010]
    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.
  • [0011]
    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.
  • [0012]
    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.
  • [0013]
    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.
  • [0014]
    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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • [0015]
    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:
  • [0016]
    FIG. 1 is a block diagram of a solid state drive (SSD) according to an embodiment of the present invention;
  • [0017]
    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;
  • [0018]
    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;
  • [0019]
    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;
  • [0020]
    FIG. 9 is a block diagram of the computer system including an SSD according to an embodiment of the present invention; and
  • [0021]
    FIGS. 10 and 11 are block diagrams of a main memory according to embodiments of the present invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
  • [0022]
    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.
  • [0023]
    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 an SSD controller 1200 and non-volatile storage media 1400.
  • [0024]
    The SSD controller 1200 includes first and second interfaces 1210 and 1230, a controller 1220, and a memory 1240.
  • [0025]
    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 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.
  • [0026]
    The second interface 1230 functions as a data I/O interface with the non-volatile storage media 1400. In particular, the second interface 1230 is utilized to transmit/receive various commands, addresses and data to/from the non-volatile storage media 1400. As will be apparent to those skilled in the art, 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.
  • [0027]
    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. 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.
  • [0028]
    Still referring to FIG. 1, 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. 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.
  • [0029]
    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.
  • [0030]
    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.
  • [0031]
    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 in FIGS. 2 and 3.
  • [0032]
    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).
  • [0033]
    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 the interface 1230. In the example of FIG. 4, the high-speed NVM 1410 and the low-speed NVM 1420 communicate via the interface 1230 using common interface channels. In the example of FIG. 5, the high-speed NVM 1410 and the low-speed NVM 1420 communicate via the interface 1230 using separate interface channels.
  • [0034]
    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).
  • [0035]
    An operational description of the SSD according to embodiments of the present invention is presented next.
  • [0036]
    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.
  • [0037]
    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.
  • [0038]
    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.
  • [0039]
    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).
  • [0040]
    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.
  • [0041]
    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.
  • [0042]
    Initially, at step 100, a write command, an address and data are received. Then, at step 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 at step 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 at step 130.
  • [0043]
    It should be noted that data stored in the low-speed NVM 1420 at step 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.
  • [0044]
    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.
  • [0045]
    Initially, at step 300, a write command, an address and data are received. Then, at 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.
  • [0046]
    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.
  • [0047]
    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.
  • [0048]
    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.
  • [0049]
    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.
  • [0050]
    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.
  • [0051]
    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.
  • [0052]
    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.
  • [0053]
    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.
  • [0054]
    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.
  • [0055]
    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.
  • [0056]
    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.
  • [0057]
    Then, at step 430, reclassified cold data which stored in the high-speed NVM is migrated to the low-speed NVM.
  • [0058]
    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.
  • [0059]
    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.
  • [0060]
    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 and main memory 2200 communicate over a data bus 2001. Also connected to the bus 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.
  • [0061]
    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 the main memory 2200 of the computer system shown in FIG. 9. In FIG. 10, 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. As shown, the high-speed memory layer 1610 includes DRAM cells and may be a hidden region relative to the processor 2100 of FIG. 9, and 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.
  • [0062]
    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. 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. 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. 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. 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. 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. 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. 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. 8. The method as claimed in claim 7, wherein the first and second memory layers are comprised of single-level flash memory cells.
  9. 9. The method as claimed in claim 7, wherein the first and second memory layers are comprised of multi-level flash memory cells.
  10. 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. 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. 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. 13. The method as claimed in claim 1, wherein the first and second memory layers are contained in a solid state drive.
  14. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 31. The computer system as claimed in claim 29, wherein the memory is a solid state drive.
  32. 32. The computer system as claimed in claim 29, wherein the memory is a main memory.
US12015548 2007-08-14 2008-01-17 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm Abandoned US20090049234A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR2007-0081832 2007-08-14
KR20070081832A KR101498673B1 (en) 2007-08-14 2007-08-14 Solid state drive, and its data storage and computing systems that contain it

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
CN 201310293519 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
DE200810036822 DE102008036822A1 (en) 2007-08-14 2008-08-06 A method for storing data in a solid-state memory, solid state storage system and computer system
US12657029 US8429358B2 (en) 2007-08-14 2010-01-11 Method and data storage device for processing commands
US13027299 US20110138115A1 (en) 2007-08-14 2011-02-15 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US13647630 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
US14101469 US20140101377A1 (en) 2007-08-14 2013-12-10 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14146870 US20140122783A1 (en) 2007-08-14 2014-01-03 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14445126 US20140337566A1 (en) 2007-08-14 2014-07-29 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14717476 US9208079B2 (en) 2007-08-14 2015-05-20 Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US15130464 US20160231941A1 (en) 2007-08-14 2016-04-15 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12657029 Continuation-In-Part US8429358B2 (en) 2007-08-14 2010-01-11 Method and data storage device for processing commands
US13027299 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 true US20090049234A1 (en) 2009-02-19

Family

ID=40363885

Family Applications (8)

Application Number Title Priority Date Filing Date
US12015548 Abandoned US20090049234A1 (en) 2007-08-14 2008-01-17 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US13027299 Abandoned US20110138115A1 (en) 2007-08-14 2011-02-15 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US13647630 Active US8626996B2 (en) 2007-08-14 2012-10-09 Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US14101469 Abandoned US20140101377A1 (en) 2007-08-14 2013-12-10 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14146870 Abandoned US20140122783A1 (en) 2007-08-14 2014-01-03 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14445126 Abandoned US20140337566A1 (en) 2007-08-14 2014-07-29 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14717476 Active US9208079B2 (en) 2007-08-14 2015-05-20 Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US15130464 Pending 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
US13027299 Abandoned US20110138115A1 (en) 2007-08-14 2011-02-15 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US13647630 Active US8626996B2 (en) 2007-08-14 2012-10-09 Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US14101469 Abandoned US20140101377A1 (en) 2007-08-14 2013-12-10 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14146870 Abandoned US20140122783A1 (en) 2007-08-14 2014-01-03 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14445126 Abandoned US20140337566A1 (en) 2007-08-14 2014-07-29 Solid state memory (ssm), computer system including an ssm, and method of operating an ssm
US14717476 Active US9208079B2 (en) 2007-08-14 2015-05-20 Solid state memory (SSM), computer system including an SSM, and method of operating an SSM
US15130464 Pending 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 (114)

* Cited by examiner, † Cited by third party
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
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
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
US20110138112A1 (en) * 2009-12-04 2011-06-09 Hsing-Yi Chiang 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
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US20110225346A1 (en) * 2010-03-10 2011-09-15 Seagate Technology Llc Garbage collection in a storage device
US20110225347A1 (en) * 2010-03-10 2011-09-15 Seagate Technology Llc Logical block storage 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
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
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
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
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
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 マイクロソフト コーポレーション Managing data arrangement in the flash-based storage devices Using
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
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
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
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
US9600407B2 (en) 2011-09-30 2017-03-21 Intel Corporation Generation of far memory access signals based on usage statistic tracking
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
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

Families Citing this family (46)

* Cited by examiner, † Cited by third party
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 威刚科技股份有限公司 Adjustable mixing density memory device and control method thereof
JP2011022933A (en) * 2009-07-17 2011-02-03 Toshiba Corp Information processing apparatus including memory management device, and memory management method
US20110047316A1 (en) * 2009-08-19 2011-02-24 Dell Products L.P. Solid state memory device power optimization
US8862848B2 (en) * 2009-09-24 2014-10-14 International Business Machines Corporation Data storage using bitmaps
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
JP2011186562A (en) * 2010-03-04 2011-09-22 Toshiba Corp Memory management device 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
JP2011186558A (en) * 2010-03-04 2011-09-22 Toshiba Corp Memory management device and method
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 equipment
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
CN103092867B (en) * 2011-11-03 2017-02-01 中国移动通信集团甘肃有限公司 A data management method and system, the data analysis means
US8977803B2 (en) * 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
CN105718223A (en) * 2011-12-27 2016-06-29 英特尔公司 Method and device for managing distribution of workload memories
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 devices, 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 记忆科技(深圳)有限公司 Based on the data flash to achieve automatic hot and cold separation method, system and flash
CN103677654B (en) * 2012-09-24 2018-03-23 联想(北京)有限公司 A method of storing data and the electronic device
CN103839578B (en) * 2012-11-27 2017-02-08 广东华晟数据固态存储有限公司 A method for maintaining time data based on solid-state memory increases nand
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
KR20140114618A (en) 2013-03-19 2014-09-29 삼성전자주식회사 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
KR20150020431A (en) 2013-08-14 2015-02-26 삼성전자주식회사 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 深圳市华云中盛科技有限公司 Multi-level intelligent storage method and system
CN103631538B (en) * 2013-12-05 2017-04-05 华为技术有限公司 Data identifying cold threshold value calculation method, apparatus and system for
CN103713861A (en) * 2014-01-09 2014-04-09 浪潮(北京)电子信息产业有限公司 File processing method and system based on hierarchical division
WO2015116173A3 (en) * 2014-01-31 2015-12-17 Hewlett-Packard Development Company, L.P. Unifying memory controller
KR20150094310A (en) 2014-02-11 2015-08-19 삼성전자주식회사 Method of mapping address in storage device and method of reading data from storage device
CN104932830A (en) * 2014-03-17 2015-09-23 联想(北京)有限公司 Information processing method and electronic device
DE102014216130A1 (en) * 2014-08-13 2016-02-18 Siemens Aktiengesellschaft Device 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
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 storage apparatus and a storage method
CN104808953A (en) * 2015-05-07 2015-07-29 广东欧珀移动通信有限公司 Device and method for controlling data storage and mobile terminal
KR20170009000A (en) * 2015-07-15 2017-01-25 에스케이하이닉스 주식회사 Memory controller, memory system including the same and operation method of memory controleer

Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 and a storage control method thereof using a flash memory
JP3282525B2 (en) * 1996-12-20 2002-05-13 松下電器産業株式会社 Data management system and network data management system
WO2000004483A3 (en) * 1998-07-15 2000-06-29 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
US6948042B2 (en) 2002-01-21 2005-09-20 Hitachi, Ltd. Hierarchical storage apparatus and control apparatus thereof
WO2004025476A1 (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
WO2007037757A1 (en) * 2005-09-29 2007-04-05 Trek 2000 International Ltd Portable data storage using slc and mlc flash memory
KR101017358B1 (en) * 2006-01-18 2011-02-28 트렉 2000 인터네셔널 엘티디. 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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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 (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8156403B2 (en) 2006-05-12 2012-04-10 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
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
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
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US20100157641A1 (en) * 2006-05-12 2010-06-24 Anobit Technologies Ltd. Memory device with adaptive capacity
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
USRE46346E1 (en) 2006-10-30 2017-03-21 Apple Inc. Reading memory cells using multiple thresholds
US8145984B2 (en) 2006-10-30 2012-03-27 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
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
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US20100115376A1 (en) * 2006-12-03 2010-05-06 Anobit Technologies Ltd. Automatic defect management in memory devices
US20090138654A1 (en) * 2006-12-11 2009-05-28 Pantas Sutardja Fatigue management system and method for hybrid nonvolatile solid state memory system
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
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
US20080219050A1 (en) * 2007-01-24 2008-09-11 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US20100195390A1 (en) * 2007-01-24 2010-08-05 Anobit Technologies Ltd Memory device with negative thresholds
US7881107B2 (en) 2007-01-24 2011-02-01 Anobit Technologies Ltd. Memory device with negative thresholds
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
US20100157675A1 (en) * 2007-09-19 2010-06-24 Anobit Technologies Ltd Programming orders for reducing distortion in arrays of multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 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
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US20090106485A1 (en) * 2007-10-19 2009-04-23 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US20100199150A1 (en) * 2007-10-19 2010-08-05 Anobit Technologies Ltd Data Storage In Analog Memory Cell Arrays Having Erase Failures
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
US20090213653A1 (en) * 2008-02-21 2009-08-27 Anobit Technologies Ltd Programming of analog memory cells using a single programming pulse per state transition
US7924587B2 (en) 2008-02-21 2011-04-12 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
US20090228761A1 (en) * 2008-03-07 2009-09-10 Anobit Technologies Ltd Efficient readout from analog memory cells using data compression
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
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
US20090240872A1 (en) * 2008-03-18 2009-09-24 Anobit Technologies Ltd Memory device with multiple-accuracy read commands
US8751733B2 (en) * 2008-05-28 2014-06-10 Round Rock Research, Llc Hybrid memory management
US20140281177A1 (en) * 2008-05-28 2014-09-18 Micron Technology, Inc. Hybrid memory management
US20130073807A1 (en) * 2008-05-28 2013-03-21 Round Rock Research, Llc Hybrid memory management
US9390004B2 (en) * 2008-05-28 2016-07-12 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
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
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
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8397131B1 (en) 2008-12-31 2013-03-12 Apple Inc. Efficient readout schemes for analog memory cell devices
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
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
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20100250836A1 (en) * 2009-03-25 2010-09-30 Anobit Technologies Ltd Use of Host System Resources by Memory Controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
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
US9262077B2 (en) 2009-05-18 2016-02-16 Samsung Electronics Co., Ltd. Solid state drive device
US9052838B2 (en) 2009-05-18 2015-06-09 Samsung Electronics Co., Ltd. Solid state drive device
KR101600951B1 (en) * 2009-05-18 2016-03-08 삼성전자주식회사 Solid state drive device
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
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
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
EP2455865A1 (en) * 2009-07-17 2012-05-23 Kabushiki Kaisha Toshiba Memory management device
EP2455865A4 (en) * 2009-07-17 2014-12-10 Toshiba Kk 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
US20120290779A1 (en) * 2009-09-08 2012-11-15 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
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
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
WO2011068699A1 (en) * 2009-12-04 2011-06-09 Marvell World Trade Ltd. Virtualization of storage devices
US20110138112A1 (en) * 2009-12-04 2011-06-09 Hsing-Yi Chiang Virtualization of Storage Devices
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8438334B2 (en) 2009-12-22 2013-05-07 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
US8959286B2 (en) 2009-12-22 2015-02-17 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
WO2011076565A1 (en) * 2009-12-22 2011-06-30 International Business Machines Corporation Hybrid storage subsystem
GB2489343B (en) * 2009-12-22 2016-08-31 Ibm Hybrid storage subsystem
US20110153931A1 (en) * 2009-12-22 2011-06-23 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US20120311113A1 (en) * 2010-02-10 2012-12-06 Nec Corporation Storage device
US8458417B2 (en) 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device
US8438361B2 (en) 2010-03-10 2013-05-07 Seagate Technology Llc Logical block storage in a storage device
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
US9858012B2 (en) 2010-04-19 2018-01-02 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
US20110258363A1 (en) * 2010-04-19 2011-10-20 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
US8713244B2 (en) * 2010-04-19 2014-04-29 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
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
US9355109B2 (en) * 2010-06-11 2016-05-31 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
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
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
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
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
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
WO2013005118A1 (en) * 2011-05-15 2013-01-10 Apple Inc. Selective data storage in lsb and msb pages
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
US20120303870A1 (en) * 2011-05-26 2012-11-29 Chul-Sung Park 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
US20160011781A1 (en) * 2011-05-26 2016-01-14 Samsung Electronics Co., Ltd. Memory chip, memory system, and method of accessing the memory chip
JP2014522537A (en) * 2011-06-09 2014-09-04 マイクロソフト コーポレーション Managing data arrangement in the flash-based storage devices Using
US8838916B2 (en) 2011-09-15 2014-09-16 International Business Machines Corporation Hybrid data storage management taking into account input/output (I/O) priority
US9417803B2 (en) * 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US20130073822A1 (en) * 2011-09-20 2013-03-21 Eran Sandel Adaptive mapping of logical addresses to memory devices in solid state drives
US9342453B2 (en) 2011-09-30 2016-05-17 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
US9378142B2 (en) 2011-09-30 2016-06-28 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
US20140129767A1 (en) * 2011-09-30 2014-05-08 Raj K Ramanujan 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
US9619408B2 (en) 2011-09-30 2017-04-11 Intel Corporation Memory channel that supports near memory and far memory access
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
US9927860B2 (en) 2012-10-17 2018-03-27 Huawei Technologies Co., Ltd. Method for reducing power consumption of memory system, and memory controller
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
US8984251B2 (en) 2012-12-04 2015-03-17 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
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
US9715445B2 (en) 2013-03-14 2017-07-25 Sandisk Technologies Llc File differentiation based on data block identification
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
WO2014149859A1 (en) * 2013-03-15 2014-09-25 Sandisk Technologies Inc. Data tag sharing from host to storage systems
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
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
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
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
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
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
CN105760114A (en) * 2016-02-05 2016-07-13 浪潮(北京)电子信息产业有限公司 Method, device and system for managing resources of parallel file system

Also Published As

Publication number Publication date Type
US9208079B2 (en) 2015-12-08 grant
US8626996B2 (en) 2014-01-07 grant
US20160231941A1 (en) 2016-08-11 application
US20130042058A1 (en) 2013-02-14 application
JP2009048613A (en) 2009-03-05 application
CN101369451A (en) 2009-02-18 application
US20140337566A1 (en) 2014-11-13 application
KR20090017238A (en) 2009-02-18 application
JP2013242908A (en) 2013-12-05 application
DE102008036822A1 (en) 2009-04-02 application
KR101498673B1 (en) 2015-03-09 grant
US20140122783A1 (en) 2014-05-01 application
US20140101377A1 (en) 2014-04-10 application
US20110138115A1 (en) 2011-06-09 application
US20150261667A1 (en) 2015-09-17 application
CN103400598A (en) 2013-11-20 application

Similar Documents

Publication Publication Date Title
US20090089484A1 (en) Data protection method for power failure and controller using the same
US20050204091A1 (en) Non-volatile memory with synchronous DRAM interface
US20110072199A1 (en) Startup reconstruction of logical-to-physical address translation data for solid state disks
US20090172255A1 (en) Wear leveling method and controller using the same
EP0978040B1 (en) Memory device
US20090300277A1 (en) Devices and methods for operating a solid state drive
US20090327590A1 (en) Enhanced mlc solid state device
US20080235432A1 (en) Memory system having hybrid density memory and methods for wear-leveling management and file distribution management thereof
US20120311237A1 (en) Storage device, storage system and method of virtualizing a storage device
US20120110249A1 (en) Memory system, data storage device, user device and data management method thereof
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
US20130145085A1 (en) Virtual Memory Device (VMD) Application/Driver with Dual-Level Interception for Data-Type Splitting, Meta-Page Grouping, and Diversion of Temp Files to Ramdisks for Enhanced Flash Endurance
US20120047320A1 (en) Method and apparatus to interface semiconductor storage device and host to provide performance throttling of semiconductor storage device
US20100088459A1 (en) Improved Hybrid Drive
US20070028035A1 (en) Storage device, computer system, and storage system
US20100017556A1 (en) Non-volatile memory storage system with two-stage controller architecture
US20120059978A1 (en) Storage array controller for flash-based storage devices
US20080098159A1 (en) Memory system including flash memory and merge method thereof
US20090259800A1 (en) Flash management using sequential techniques
US20110264884A1 (en) Data storage device and method of operating the same
US20110099326A1 (en) Flash memory system and defragmentation method
US8028123B2 (en) Circular wear leveling
US20100042773A1 (en) Flash memory storage system and data writing method thereof
US20100023675A1 (en) Wear leveling method, and storage system and controller using the same
US20080195833A1 (en) Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit

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