US20140101370A1 - Apparatus and method for low power low latency high capacity storage class memory - Google Patents

Apparatus and method for low power low latency high capacity storage class memory Download PDF

Info

Publication number
US20140101370A1
US20140101370A1 US13/647,273 US201213647273A US2014101370A1 US 20140101370 A1 US20140101370 A1 US 20140101370A1 US 201213647273 A US201213647273 A US 201213647273A US 2014101370 A1 US2014101370 A1 US 2014101370A1
Authority
US
United States
Prior art keywords
dram
memory
pcm
nand flash
data
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
US13/647,273
Inventor
Frank R. Chu
Luiz M. Franca-Neto
Timothy K. Tsai
Qingbo Wang
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.)
Western Digital Technologies Inc
Original Assignee
HGST Netherlands BV
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
Application filed by HGST Netherlands BV filed Critical HGST Netherlands BV
Priority to US13/647,273 priority Critical patent/US20140101370A1/en
Assigned to HGST Netherlands B.V. reassignment HGST Netherlands B.V. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: CHU, FRANK R., WANG, QINGBO, FRANCA-NETO, LUIZ M., TSAI, TIMOTHY K.
Priority to GB1317108.7A priority patent/GB2507410B/en
Priority to KR1020130118516A priority patent/KR20140045269A/en
Priority to DE102013016609.8A priority patent/DE102013016609A1/en
Priority to JP2013211145A priority patent/JP5823469B2/en
Publication of US20140101370A1 publication Critical patent/US20140101370A1/en
Priority to KR1020150143016A priority patent/KR101629615B1/en
Assigned to WESTERN DIGITAL TECHNOLOGIES, INC. reassignment WESTERN DIGITAL TECHNOLOGIES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HGST Netherlands B.V.
Priority to US15/716,467 priority patent/US10860477B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0638Combination of memories, e.g. ROM and RAM such as to permit replacement or supplementing of words in one module by words in another module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/205Hybrid memory, e.g. using both volatile and non-volatile memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the present invention relates generally to the data storage field, and more particularly, relates to a method and a storage system for implementing storage class memory with large size, low power and low latency in data accesses.
  • This storage class memory can be attached directly to the memory bus or to peripheral interfaces in computer systems such as peripheral component interconnect (PCI), or PCIe or common storage interfaces such as Serial (ATA) or SATA, or Serial Attached SCSI (SAS).
  • PCI peripheral component interconnect
  • ATA Serial
  • SAS Serial Attached SCSI
  • Non-volatile solid state memory technologies such as NAND Flash
  • SSDs Solid State Drives
  • HDDs hard disk drives
  • SSDs have recently evolved to provide alternative form factor and access through a PCIe interface. In the interest of providing even faster access to stored data, it has been proposed to use direct attachment to the memory bus in a computer system for those solid state storage solutions.
  • DRAM dynamic random access memory
  • SCM Storage Class Memory
  • SCM Storage Class Memory
  • SCM is basically a typical NAND Flash-based solid state storage where some improvements were gained at latency in data access.
  • SCM is mostly a memory solution where non-volatility was added to the realization. In this latter case, capacity of the SCM was compromised or the SCM cost became relatively unattractive.
  • An aspect of the present invention is to provide an apparatus and method for a Storage Class Memory (SCM) that provides low power, high performance, low latency and non-volatility, without sacrificing capacity thus realizing the required attributes for a SCM.
  • SCM Storage Class Memory
  • aspects of the present invention are to provide a method and a storage system for implementing enhanced solid-state storage usage.
  • Other important aspects of the present invention are to provide such method and storage system substantially without negative effect and to overcome some of the disadvantages of prior art arrangements.
  • a method and a storage system are provided for implementing enhanced solid-state storage class memory (eSCM) including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory, for example, Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • eSCM enhanced solid-state storage class memory
  • DRAM direct attached dual in line memory
  • DRAM dynamic random access memory
  • non-volatile memory for example, Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • PCM Phase Change memory
  • ReRAM Resistive RAM
  • STT-RAM Spin-Transfer-Torque RAM
  • NAND flash chips for example, Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • FIG. 1 is a block diagram representation of an enhanced solid-state storage class memory (eSCM) for implementing enhanced solid-state storage performance in accordance with an embodiment of the invention
  • FIG. 2A is a block diagram representation of a computer system including the enhanced solid-state Storage Class Memory of FIG. 1 in accordance with an embodiment of the invention
  • FIG. 2B is a block diagram representation of computer systems, each including the enhanced solid-state Storage Class Memory of FIG. 1 in accordance with an embodiment of the invention where the SCM in the different computer system are capable of exchange data without interference of the host CPU and this embodiment supports cloud applications;
  • FIGS. 3A , and 3 B schematically illustrates example data location based on data set sizes of the enhanced solid-state Storage Class Memory of FIG. 1 and HDD/SSD of FIG. 2 for implementing enhanced solid-state storage usage performance in accordance with an embodiment of the invention
  • FIGS. 4A , 4 B, 4 C are flow charts illustrating example operations of the enhanced solid-state Storage Class Memory of FIG. 1 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention
  • FIG. 5 schematically illustrates another more detailed example enhanced solid-state Storage Class Memory for implementing enhanced solid-state storage performance in accordance with embodiments of the invention.
  • FIGS. 6A , 6 B, 6 C are charts schematically illustrating example operations of the enhanced solid-state Storage Class Memory of FIG. 1 for implementing a process of latency hiding in a Storage Class Memory in accordance with embodiments of the invention.
  • main memory typically includes dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • main memory typically includes dynamic random access memory (DRAM).
  • DRAM is generally expensive and has generally high power dissipation resulting from required memory refreshing.
  • a method and a storage system are provided for implementing an enhanced solid-state Storage Class Memory including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory, such as Phase Change Memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • DIMM direct attached dual in line memory
  • DRAM dynamic random access memory
  • non-volatile memory such as Phase Change Memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • PCM Phase Change Memory
  • ReRAM Resistive RAM
  • STT-RAM Spin-Transfer-Torque RAM
  • NAND flash chips NAND flash chips
  • the apparatus and method for a low power low latency high capacity enhanced Storage Class Memory uses the direct attached dual in line memory (DIMM) card containing a multiplicity of solid state memory technologies and a method to manage storage data with the objective of providing data protection against power disruption, low power operation and low latency in data access.
  • DRAM dynamic random access memory
  • PCM phase-change-memory
  • ReRAM Resistive RAM
  • STT-RAM Spin-Transfer-Torque RAM
  • NAND flash chips for illustration only dynamic random access memory (DRAM), phase-change-memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips provide an example of implementation.
  • DRAM dynamic random access memory
  • PCM phase-change-memory
  • ReRAM Resistive RAM
  • STT-RAM Spin-Transfer-Torque RAM
  • NAND flash chips NAND flash chips
  • the enhanced Storage Class Memory may use other interfaces to the computer system different from the used above in the illustration of an eSCM used in direct attachment to the memory bus.
  • Different solid state memory technologies offer different benefits for the final eSCM solution.
  • the eSCM embodiments of the present invention exploit in a hybrid arrangement those different technologies to improve the final solution.
  • large capacity and low cost are achieved by using NAND Flash.
  • Other solid state memory technologies like Phase Change Memory are added to the hybrid solution to provide low latency access and non-volatility. Very frequently overwriting of data is supported by substantial presence of DRAM in the eSCM.
  • Low latency is achieved by a specific algorithm in the eSCM by distributing data among the different solid state technologies according to data set size committed to the memory. This is a dynamic strategy that takes advantage of statistics of the eSCM data traffic.
  • a method and a storage system are provided for implementing an enhanced solid-state Storage Class Memory including a direct attached dual in line memory (DIMM) card, for example, containing dynamic random access memory (DRAM), Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • DIMM direct attached dual in line memory
  • DRAM dynamic random access memory
  • PCM Phase Change memory
  • ReRAM Resistive RAM
  • STT-RAM Spin-Transfer-Torque RAM
  • NAND flash chips NAND flash chips.
  • Solid-state storage system 100 includes solid-state storage devices contained on a direct attached dual in line memory (DIMM) card 102 .
  • DIMM direct attached dual in line memory
  • eSCM Enhanced solid-state Storage Class Memory
  • Enhanced solid-state Storage Class Memory (eSCM) system 100 includes volatile data storage dynamic random access memory (DRAM) 104 , and non-volatile data storage devices including phase-change-memory (PCM) 105 , Resistive RAM (ReRAM) 106 , Spin-Transfer-Torque RAM (STT-RAM) 107 and NAND flash memory 108 contained on the DIMM card 102 .
  • An eSCM processing unit 110 such as an embedded processing unit, is provided with the DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND flash memory 108 on the DIMM card 102 .
  • the eSCM processing unit or eSCM controller 110 selectively moves data among the DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND flash memory 108 enabling enhanced latency and throughput performance.
  • eSCM system 100 includes control code 112 for implementing smart decision algorithms for data set activity detection and categorization.
  • eSCM system 100 includes memory electrical interface circuits 114 coupled to the eSCM processor unit 110 .
  • System 200 includes a central processor unit (CPU) 202 and a plurality of cache memory L1, 204 , L2, 206 , L3, 208 .
  • System 200 includes a memory controller 212 , and storage 214 , such as, a direct access storage devices (DASD), such as Solid State drive (SSD), or hard disk drive (HDD) including a Shingled Disk Drive (SDD), or a peripheral component interconnect (PCI) computer bus for attaching hardware devices (not shown) in the system 200 .
  • DASD direct access storage devices
  • SSD Solid State drive
  • HDD hard disk drive
  • SDD Shingled Disk Drive
  • PCI peripheral component interconnect
  • CPU 202 is depicted as also connected to the eSCM 100 by an interface 220 , such as a system bus 220 .
  • interface 220 such as a system bus 220 .
  • hierarchy of DRAM 104 is encompassed by the eSCM 100 and management of data movements among the hybrid collection of solid state memory technologies present in the eSCM 100 is driven by specific algorithms housed in the eSCM processor 110 itself, for example, as described below.
  • eSCM 100 has an interface 260 without interference of the host CPU 202 .
  • Those skilled in the art will recognize that the eSCM capability to transfer data between eSCM 100 and storage 214 without the host CPUs intervention.
  • FIG. 2B there is shown an example pair of computer systems 200 of FIG. 2A , each including the enhanced Storage Class Memory 100 of FIG. 1 in accordance with an embodiment of the invention where the eSCM 100 in the different computer systems 200 are capable of exchange data as indicated at an interface 250 without interference of the host CPU 202 .
  • the eSCM capability to transfer data between computer systems without the host CPUs intervention can be extended to many more than two computer systems and be the used to support efficient data movement for a large assembly of computer systems as used in cloud applications.
  • eSCM processor 110 communicates with the memory controller or CPU 202 as a standard main memory DRAM module in the Dual Inline Memory Module (DIMM) socket.
  • the memory bus 220 can be standard DRAM bus with 240 lines or narrower high speed Fully-Buffered DRAM bus. In both cases all signals in the bus are routed to the eSCM processor 110 , which will according to predefined algorithms decide to commit the data to DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , or NAND Flash 108 .
  • control code 112 enables eSCM processor 110 of the eSCM system 100 to use its own intelligent data detection algorithms to determine when data should be committed to DRAM 104 , PCM 105 or NAND Flash 108 .
  • the eSCM processor 110 can coordinate with the host CPU 202 and learn from this CPU 202 specific data requirements that recommend a particular data set to be committed to one of the technologies or memory tier available of DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , or NAND Flash 108 .
  • Memory control code 112 of the eSCM system 100 allows for coordination, detection and categorization of features with host CPU 202 .
  • control code 112 of the invention optionally allows the CPU 202 of the host system 200 to determine the sizes of DRAM 104 for cache or for write buffer, what data set should be immediately committed to PCM 105 or NAND Flash 108 , and what addresses should be fetched directly from PCM 105 or NAND Flash 108 in a read operation, among combination of these features.
  • eSCM system 100 and system 200 are shown in simplified form sufficient for understanding the present invention. It should be understood that principles of the present invention are not limited to the illustrated eSCM system 100 and the illustrated system 200 .
  • the illustrated system 200 is not intended to imply architectural or functional limitations. The present invention can be used with various hardware implementations and systems and various other internal hardware devices in accordance with an embodiment of the invention.
  • the eSCM processor 110 selectively moves data among the DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND flash memory 108 enabling enhanced latency and throughput performance.
  • Using the three technology direct attached DIMM card 102 for example, including DRAM 104 , PCM 105 and NAND Flash 108 of the invention provides enhanced latency and throughput performance as compared to the latency incurred if a large data set were to be only available in storage 214 , such as HDD or SSD.
  • eSCM 100 is a low latency storage, which has main memory class.
  • the cost of the eSCM system 100 is diminished by extensive use of low cost NAND Flash memory 108 .
  • Low power is achieved by both extensively use of non-volatile memory space including PCM 105 and NAND flash memory 108 and selective power down of unused memory chips including DRAM 104 .
  • An extremely large memory space advantageously is defined by PCM 105 and NAND Flash 108 enabling DRAM tier 104 to work more as a write buffer than as a cache for both other tiers.
  • Data in a read operation can be retrieved directly from PCM 105 or NAND Flash 108 , when not available in DRAM 104 .
  • there could be only one copy of the data in the eSCM 100 hence none of the solid state technologies is used as cache.
  • example operations generally designated by the reference character 300 of the eSCM 100 including straddling data sets across different memory technologies.
  • the eSCM 100 is shown together with the storage 214 of system 200 .
  • the example data locations based on data set sizes are illustrated with DRAM 104 , PCM 105 and NAND flash 108 of the of the eSCM 100 .
  • Smaller data sets, as in a first data set indicated by 301 are completely placed in DRAM.
  • Progressive larger data set which are expected to be later read as a single set, are stored completely on other solid state memory technologies or stored across different solid state memory technologies.
  • a second data set indicated by 302 , 304 is respectively stored in the DRAM 104 and PCM 105 . That is, the second data set 302 , 304 has part of its data stored in DRAM 104 and part of its data stored in PCM 105 ; hence this is a data set that straddles along two different solid state memory technologies.
  • a third data set indicated by 306 , 308 , 310 is respectively stored part in the DRAM 104 , part in PCM 105 and part in NAND flash 108 .
  • a forth data set indicated by 312 , 314 is respectively stored part in the PCM 105 and part in NAND flash 108 .
  • example operations generally designated by the reference character 318 of the eSCM 100 including straddling data sets across different memory technologies of the eSCM 100 and the HDD/SSD 214 of system 200 .
  • a fifth data set indicated by 320 , 321 , 322 , 323 is respectively stored part in DRAM 104 , part in PCM 106 , part in NAND flash 108 and part in HDD/SSD 214 .
  • a sixth data set indicated by 324 , 325 , 326 is respectively stored part in PCM 106 , part in NAND flash 108 and part in HDD/SSD 214 .
  • a seventh data set indicated by 327 , 328 is respectively stored part in NAND flash 108 and part in HDD/SSD 214 .
  • a further data set indicated by 329 is stored in the NAND flash 108 and data set indicated by 330 is stored in the HDD/SSD 214 .
  • FIGS. 4A , 4 B, 4 C are flow charts illustrating example operations of the eSCM 100 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention.
  • example operations for example, performed by CPU 110 , start as indicated at a block 400 .
  • eSCM CPU or eSCM controller 110 performs workload recognition and presents only a memory interface to the computer system 200 as indicated at a block 402 , which allows not only complete software compatibility but also complete hardware compatibility with computer systems using only DRAM.
  • existing DIMMs in substantially all existing systems can be swapped out for the new eSCM 100 in accordance with embodiments of the invention.
  • eSCM controller 110 selectively moves data among DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND Flash 108 with data types used to achieve improved latency, and throughput performance characteristics.
  • example operations for example, performed by eSCM controller 110 continue with writing data to the NAND Flash 108 and never are initial writes to PCM 105 , with all writes buffered in DRAM and sent to the NAND Flash as indicated at a block 410 in accordance with embodiments of the invention.
  • This strategy exploits both the lower write process time in NAND Flash as opposed to PCM, and also the possibility of a design decision to further parallelize access to the much larger capacity available in NAND Flash relative to PCM in an embodiment of this invention.
  • data is selectively migrated among DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND Flash 108 according to data set sizes.
  • reads retrieve data from any of the memory technologies including DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND Flash 108 .
  • DRAM 104 DRAM 104
  • PCM 105 PCM 105
  • ReRAM 106 STT-RAM 107
  • NAND Flash 108 NAND Flash 108
  • example operations, for example, performed by eSCM controller 110 include identifying DRAM size to use for data storage and write buffer, a smart decision algorithm is used for data set activity detection and categorization as indicated at a block 420 .
  • data is selectively allocated primarily in non-volatile PCM 105 , and NAND Flash 108 , exploiting non-volatility for low power instead of refreshing large DRAM sets.
  • PCM 105 by array design is geared toward low density, low latency, and smaller sized data sets.
  • NAND Flash 108 by array design is geared toward high density, relatively higher latency, and larger sized data sets. The smaller data sets with high frequency of writes are preferably committed to DRAM 104 itself, from which they can be retrieved with minimal latency.
  • Another important innovation as indicated at a block 424 , depending on data set sizes optionally a given data set is straddled across different solid-state technologies including DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND Flash 108 , and optionally further across HDD/SSD 204 . This allows for hiding latencies of PCM 105 or NAND Flash 108 in some data sets as detailed below.
  • FIG. 5 there is schematically shown another more detailed example solid-state storage system generally designated by the reference character 500 for implementing enhanced solid-state Enhanced Storage Class Memory (eSCM) in accordance with embodiments of the invention.
  • eSCM 500 enhanced solid-state Enhanced Storage Class Memory (eSCM)
  • ReRAM ReRAM
  • STT-RAM STT-RAM
  • NAND Flash is further partitioned in single-level (SLC) and multi-level cell (MLC) technologies.
  • SLC single-level
  • MLC multi-level cell
  • Solid-state Enhanced Storage Class Memory (eSCM) system 500 includes DRAM 104 including DRAM chips 502 , PCM 105 including PCM chips 504 , and NAND Flash 108 including a combination of NAND Flash single-level cell (SLC) chips 506 and NAND Flash multi-level cell (MLC) chips 508 .
  • Solid-state storage system eSCM 500 includes a processor 510 and a plurality of bus buffers 1-N, 512 , together with the DRAM chips 502 , PCM chips 504 , and NAND Flash SLC chips 506 and NAND Flash MLC chips 508 .
  • bandwidth is handled by eSCM processor 510 by buffering and parallelization, using bus buffers 1-N, 512 with the DRAM chips 502 , PCM chips 504 , and NAND Flash SLC chips 506 and NAND Flash MLC chips 508 .
  • FIGS. 6A , 6 B, 6 C charts are shown schematically illustrating example read operations of the eSCM system 100 or solid-state storage system eSCM 500 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention.
  • data is migrated among DRAM 108 , PCM 105 and NAND Flash 104 and DRAM chips 502 , PCM chips 504 , and NAND Flash SLC chips 506 and NAND Flash MLC chips 508 depending on data set sizes.
  • example read operations generally designated by the reference character 600 , for example performed by eSCM controller 110 , with data read flow 602 of small chunks from DRAM 104 and PCM 105 .
  • small requests are sometimes as small as 32 B or 64 B, but average main memory accesses tend to get chunks of 16 KB average.
  • a data set straddling DRAM 104 and PCM 105 technologies is to be read.
  • the SCM responds to the read request by sending first the part of the data requested which resides in DRAM 104 . In parallel, and hidden from the host, the SCM starts fetching the remaining data from PCM 105 .
  • the latency from the PCM 105 technology is hidden or partially hidden by the latency in DRAM 104 access and the time taken to transfer that data from DRAM 104 to the host 202 .
  • the latency of these two technologies and the speed of the bus can be completely hidden and unnoticed by the host 202 .
  • this solution behaves as if all the data set were in DRAM, but the cost of this solution will be proportionally lowered by the relative amount of PCM and DRAM.
  • only the part of the data residing in DRAM needs to be saved to a non-volatile memory in the eSCM.
  • example read operations generally designated by the reference character 610 , for example performed by eSCM controller 110 , with data read flow 612 of medium sized chunks from DRAM 108 , PCM 105 and NAND Flash 104 .
  • the data set is large enough to straddle three different technologies.
  • data from the remaining memory technologies also requested is being fetched.
  • the latency from the PCM 105 and NAND Flash 108 accesses can be completely hidden and unnoticed by the host.
  • example read operations generally designated by the reference character 620 , for example performed by eSCM controller 110 , with data read flow 622 of very long chunks from NAND Flash 108 .
  • data read flow 622 of very long chunks from NAND Flash 108 .
  • any request for more than 320 KB will allow NAND Flash 108 to engage reading.
  • the latency from NAND Flash 108 may itself be of less importance, and the SCM could allocate the entire data set in NAND Flash 108 .
  • a given data set optionally is straddled across different solid-state technologies including DRAM 104 , PCM 105 , ReRAM 106 , STT-RAM 107 , and NAND Flash 108 , and optionally further across HDD/SSD 204 .

Abstract

A method and a storage system are provided for implementing enhanced solid-state storage class memory (eSCM) including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory, for example, Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips. An eSCM processor controls selectively allocating data among the DRAM, and the at least one non-volatile memory primarily based upon a data set size.

Description

    FIELD OF THE INVENTION
  • The present invention relates generally to the data storage field, and more particularly, relates to a method and a storage system for implementing storage class memory with large size, low power and low latency in data accesses. This storage class memory can be attached directly to the memory bus or to peripheral interfaces in computer systems such as peripheral component interconnect (PCI), or PCIe or common storage interfaces such as Serial (ATA) or SATA, or Serial Attached SCSI (SAS).
  • DESCRIPTION OF THE RELATED ART
  • Non-volatile solid state memory technologies, such as NAND Flash, have been used for data storage in computer systems. Solid State Drives (SSDs) used in computer systems can take both the form factors and interfaces of hard disk drives (HDDs). SSDs nevertheless provide for faster data access solution than HDDs. SSDs have recently evolved to provide alternative form factor and access through a PCIe interface. In the interest of providing even faster access to stored data, it has been proposed to use direct attachment to the memory bus in a computer system for those solid state storage solutions.
  • On the memory bus in computer systems, due to the performance requirement in bandwidth and low latency, volatile dynamic random access memory (DRAM) is typically used. Moreover, since data in memory is frequently accessed, non-volatile memory technologies might be exposed to early failure given the relatively low endurance of current non-volatile solid state technology.
  • Recently, given the significant gap in bandwidth and latency between memory and storage in computer systems, a new hierarchy called Storage Class Memory (SCM) has been proposed. A SCM would have attributes of low latency and high bandwidth closer to memory requirements than common storage hierarchy, and SCM would have also the attribute of non-volatility associated with storage technologies.
  • Unfortunately, the Storage Class Memory concept has found only partial realization. In some instances, SCM is basically a typical NAND Flash-based solid state storage where some improvements were gained at latency in data access. In other realization, SCM is mostly a memory solution where non-volatility was added to the realization. In this latter case, capacity of the SCM was compromised or the SCM cost became relatively unattractive.
  • An aspect of the present invention is to provide an apparatus and method for a Storage Class Memory (SCM) that provides low power, high performance, low latency and non-volatility, without sacrificing capacity thus realizing the required attributes for a SCM.
  • SUMMARY OF EMBODIMENTS OF THE INVENTION
  • Aspects of the present invention are to provide a method and a storage system for implementing enhanced solid-state storage usage. Other important aspects of the present invention are to provide such method and storage system substantially without negative effect and to overcome some of the disadvantages of prior art arrangements.
  • In brief, a method and a storage system are provided for implementing enhanced solid-state storage class memory (eSCM) including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory, for example, Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips. An eSCM processor controls selectively moving data among the DRAM, and the at least one non-volatile memory based upon a data set size.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The present invention together with the above and other objects and advantages may best be understood from the following detailed description of the embodiments of the invention illustrated in the drawings, wherein:
  • FIG. 1 is a block diagram representation of an enhanced solid-state storage class memory (eSCM) for implementing enhanced solid-state storage performance in accordance with an embodiment of the invention;
  • FIG. 2A is a block diagram representation of a computer system including the enhanced solid-state Storage Class Memory of FIG. 1 in accordance with an embodiment of the invention;
  • FIG. 2B is a block diagram representation of computer systems, each including the enhanced solid-state Storage Class Memory of FIG. 1 in accordance with an embodiment of the invention where the SCM in the different computer system are capable of exchange data without interference of the host CPU and this embodiment supports cloud applications;
  • FIGS. 3A, and 3B schematically illustrates example data location based on data set sizes of the enhanced solid-state Storage Class Memory of FIG. 1 and HDD/SSD of FIG. 2 for implementing enhanced solid-state storage usage performance in accordance with an embodiment of the invention;
  • FIGS. 4A, 4B, 4C are flow charts illustrating example operations of the enhanced solid-state Storage Class Memory of FIG. 1 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention;
  • FIG. 5 schematically illustrates another more detailed example enhanced solid-state Storage Class Memory for implementing enhanced solid-state storage performance in accordance with embodiments of the invention; and
  • FIGS. 6A, 6B, 6C are charts schematically illustrating example operations of the enhanced solid-state Storage Class Memory of FIG. 1 for implementing a process of latency hiding in a Storage Class Memory in accordance with embodiments of the invention.
  • DETAILED DESCRIPTION OF THE EMBODIMENTS
  • In many computer systems main memory typically includes dynamic random access memory (DRAM). DRAM is generally expensive and has generally high power dissipation resulting from required memory refreshing.
  • A need exists for an effective and efficient method and a storage system for implementing enhanced solid-state storage performance including a low cost, low power and high capacity storage system.
  • In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings, which illustrate example embodiments by which the invention may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the invention.
  • The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
  • In accordance with features of the embodiments of the invention, a method and a storage system are provided for implementing an enhanced solid-state Storage Class Memory including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory, such as Phase Change Memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • The apparatus and method for a low power low latency high capacity enhanced Storage Class Memory disclosed in one embodiment uses the direct attached dual in line memory (DIMM) card containing a multiplicity of solid state memory technologies and a method to manage storage data with the objective of providing data protection against power disruption, low power operation and low latency in data access. In such enhanced storage class memory, for illustration only dynamic random access memory (DRAM), phase-change-memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips provide an example of implementation. The skilled in the art will readily find variations on the example using different memory technologies without departing from the spirit of this invention.
  • In another embodiment, the enhanced Storage Class Memory may use other interfaces to the computer system different from the used above in the illustration of an eSCM used in direct attachment to the memory bus.
  • Different solid state memory technologies offer different benefits for the final eSCM solution. The eSCM embodiments of the present invention exploit in a hybrid arrangement those different technologies to improve the final solution. In one illustrative embodiment, large capacity and low cost are achieved by using NAND Flash. Other solid state memory technologies like Phase Change Memory are added to the hybrid solution to provide low latency access and non-volatility. Very frequently overwriting of data is supported by substantial presence of DRAM in the eSCM.
  • Low power is achieved by the non-volatility attribute of the eSCM disclosed, since relative to a purely DRAM solution there is no need to refresh data in the non-DRAM SCM memory cells.
  • Low latency is achieved by a specific algorithm in the eSCM by distributing data among the different solid state technologies according to data set size committed to the memory. This is a dynamic strategy that takes advantage of statistics of the eSCM data traffic.
  • Those skilled in the art will recognize that this dynamic strategy of the present invention provided by such method and storage system achieves low latency objectives substantially without negative effect and that overcomes some of the disadvantages of prior art arrangements.
  • In accordance with features of the embodiments of the invention, a method and a storage system are provided for implementing an enhanced solid-state Storage Class Memory including a direct attached dual in line memory (DIMM) card, for example, containing dynamic random access memory (DRAM), Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash chips.
  • Having reference now to the drawings, in FIG. 1, there is shown an example solid-state storage system generally designated by the reference character 100 for implementing enhanced solid-state Storage Class Memory in accordance with an embodiment of the invention. Solid-state storage system 100 includes solid-state storage devices contained on a direct attached dual in line memory (DIMM) card 102. Enhanced solid-state Storage Class Memory (eSCM) system 100 enables a low power, low cost, large memory space, for example, a memory space in hundreds of GBs.
  • Enhanced solid-state Storage Class Memory (eSCM) system 100, for example, includes volatile data storage dynamic random access memory (DRAM) 104, and non-volatile data storage devices including phase-change-memory (PCM) 105, Resistive RAM (ReRAM) 106, Spin-Transfer-Torque RAM (STT-RAM) 107 and NAND flash memory 108 contained on the DIMM card 102. An eSCM processing unit 110, such as an embedded processing unit, is provided with the DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND flash memory 108 on the DIMM card 102. The eSCM processing unit or eSCM controller 110 selectively moves data among the DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND flash memory 108 enabling enhanced latency and throughput performance. eSCM system 100 includes control code 112 for implementing smart decision algorithms for data set activity detection and categorization. eSCM system 100 includes memory electrical interface circuits 114 coupled to the eSCM processor unit 110.
  • Referring also to FIG. 2A, there is shown an example processor or computer system including the eSCM system 100 of FIG. 1 in accordance with an embodiment of the invention. System 200 includes a central processor unit (CPU) 202 and a plurality of cache memory L1, 204, L2, 206, L3, 208. System 200 includes a memory controller 212, and storage 214, such as, a direct access storage devices (DASD), such as Solid State drive (SSD), or hard disk drive (HDD) including a Shingled Disk Drive (SDD), or a peripheral component interconnect (PCI) computer bus for attaching hardware devices (not shown) in the system 200. For generality purposes, CPU 202 is depicted as also connected to the eSCM 100 by an interface 220, such as a system bus 220. In system 200, hierarchy of DRAM 104 is encompassed by the eSCM 100 and management of data movements among the hybrid collection of solid state memory technologies present in the eSCM 100 is driven by specific algorithms housed in the eSCM processor 110 itself, for example, as described below. eSCM 100 has an interface 260 without interference of the host CPU 202. Those skilled in the art will recognize that the eSCM capability to transfer data between eSCM 100 and storage 214 without the host CPUs intervention.
  • Referring also to FIG. 2B, there is shown an example pair of computer systems 200 of FIG. 2A, each including the enhanced Storage Class Memory 100 of FIG. 1 in accordance with an embodiment of the invention where the eSCM 100 in the different computer systems 200 are capable of exchange data as indicated at an interface 250 without interference of the host CPU 202. Those skilled in the art will recognize that the eSCM capability to transfer data between computer systems without the host CPUs intervention can be extended to many more than two computer systems and be the used to support efficient data movement for a large assembly of computer systems as used in cloud applications.
  • In accordance with features of the embodiments of the invention, eSCM processor 110 communicates with the memory controller or CPU 202 as a standard main memory DRAM module in the Dual Inline Memory Module (DIMM) socket. The memory bus 220 can be standard DRAM bus with 240 lines or narrower high speed Fully-Buffered DRAM bus. In both cases all signals in the bus are routed to the eSCM processor 110, which will according to predefined algorithms decide to commit the data to DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, or NAND Flash 108.
  • It should be understood that principles of the present invention are not limited to a particular bus arrangement, and many other bus configurations are possible without departing from the spirit of this invention.
  • In accordance with features of the embodiments of the invention, control code 112 enables eSCM processor 110 of the eSCM system 100 to use its own intelligent data detection algorithms to determine when data should be committed to DRAM 104, PCM 105 or NAND Flash 108. Optionally, the eSCM processor 110 can coordinate with the host CPU 202 and learn from this CPU 202 specific data requirements that recommend a particular data set to be committed to one of the technologies or memory tier available of DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, or NAND Flash 108.
  • In accordance with features of the embodiments of the invention, in another innovation, data sets are committed to the different solid state memory technologies according to data set sizes. It is a departure from typical hierarchical memory concepts where data is committed to different memory (or storage) hierarchy according to frequency of reuse and spatial and location proximity correlation. Memory control code 112 of the eSCM system 100 allows for coordination, detection and categorization of features with host CPU 202. For example, control code 112 of the invention optionally allows the CPU 202 of the host system 200 to determine the sizes of DRAM 104 for cache or for write buffer, what data set should be immediately committed to PCM 105 or NAND Flash 108, and what addresses should be fetched directly from PCM 105 or NAND Flash 108 in a read operation, among combination of these features.
  • eSCM system 100 and system 200 are shown in simplified form sufficient for understanding the present invention. It should be understood that principles of the present invention are not limited to the illustrated eSCM system 100 and the illustrated system 200. The illustrated system 200 is not intended to imply architectural or functional limitations. The present invention can be used with various hardware implementations and systems and various other internal hardware devices in accordance with an embodiment of the invention.
  • In accordance with features of the embodiments of the invention, the eSCM processor 110 selectively moves data among the DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND flash memory 108 enabling enhanced latency and throughput performance. Using the three technology direct attached DIMM card 102, for example, including DRAM 104, PCM 105 and NAND Flash 108 of the invention provides enhanced latency and throughput performance as compared to the latency incurred if a large data set were to be only available in storage 214, such as HDD or SSD. eSCM 100 is a low latency storage, which has main memory class.
  • In accordance with features of the embodiments of the invention, the cost of the eSCM system 100 is diminished by extensive use of low cost NAND Flash memory 108. Low power is achieved by both extensively use of non-volatile memory space including PCM 105 and NAND flash memory 108 and selective power down of unused memory chips including DRAM 104. An extremely large memory space advantageously is defined by PCM 105 and NAND Flash 108 enabling DRAM tier 104 to work more as a write buffer than as a cache for both other tiers. Data in a read operation can be retrieved directly from PCM 105 or NAND Flash 108, when not available in DRAM 104. Hence, in an embodiment, there could be only one copy of the data in the eSCM 100; hence none of the solid state technologies is used as cache.
  • Referring to FIG. 3A, in another innovation in this invention, example operations generally designated by the reference character 300 of the eSCM 100, including straddling data sets across different memory technologies. In FIG. 3A, the eSCM 100 is shown together with the storage 214 of system 200. In FIG. 3A, the example data locations based on data set sizes are illustrated with DRAM 104, PCM 105 and NAND flash 108 of the of the eSCM 100. Smaller data sets, as in a first data set indicated by 301, are completely placed in DRAM. Progressive larger data set, which are expected to be later read as a single set, are stored completely on other solid state memory technologies or stored across different solid state memory technologies. A second data set indicated by 302, 304 is respectively stored in the DRAM 104 and PCM 105. That is, the second data set 302,304 has part of its data stored in DRAM 104 and part of its data stored in PCM 105; hence this is a data set that straddles along two different solid state memory technologies. A third data set indicated by 306, 308, 310 is respectively stored part in the DRAM 104, part in PCM 105 and part in NAND flash 108. A forth data set indicated by 312, 314 is respectively stored part in the PCM 105 and part in NAND flash 108.
  • Referring also to FIG. 3B, in another innovation in this invention, example operations generally designated by the reference character 318 of the eSCM 100, including straddling data sets across different memory technologies of the eSCM 100 and the HDD/SSD 214 of system 200. A fifth data set indicated by 320, 321, 322, 323 is respectively stored part in DRAM 104, part in PCM 106, part in NAND flash 108 and part in HDD/SSD 214. A sixth data set indicated by 324, 325, 326 is respectively stored part in PCM 106, part in NAND flash 108 and part in HDD/SSD 214. A seventh data set indicated by 327, 328 is respectively stored part in NAND flash 108 and part in HDD/SSD 214. A further data set indicated by 329 is stored in the NAND flash 108 and data set indicated by 330 is stored in the HDD/SSD 214. It should be understood that this innovation will be used to support another innovation in this invention, where the higher read latency of a given solid state memory technology is partially or completely hidden by the operation of another solid state memory technology with lower read latency.
  • Referring now to FIGS. 4A, 4B, 4C are flow charts illustrating example operations of the eSCM 100 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention.
  • In FIG. 4A, example operations, for example, performed by CPU 110, start as indicated at a block 400. eSCM CPU or eSCM controller 110 performs workload recognition and presents only a memory interface to the computer system 200 as indicated at a block 402, which allows not only complete software compatibility but also complete hardware compatibility with computer systems using only DRAM. Hence, existing DIMMs in substantially all existing systems can be swapped out for the new eSCM 100 in accordance with embodiments of the invention. As indicated at a block 404, eSCM controller 110 selectively moves data among DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND Flash 108 with data types used to achieve improved latency, and throughput performance characteristics.
  • In FIG. 4B, example operations, for example, performed by eSCM controller 110 continue with writing data to the NAND Flash 108 and never are initial writes to PCM 105, with all writes buffered in DRAM and sent to the NAND Flash as indicated at a block 410 in accordance with embodiments of the invention. This strategy exploits both the lower write process time in NAND Flash as opposed to PCM, and also the possibility of a design decision to further parallelize access to the much larger capacity available in NAND Flash relative to PCM in an embodiment of this invention. As indicated at a block 412, data is selectively migrated among DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND Flash 108 according to data set sizes. As indicated at a block 414, reads retrieve data from any of the memory technologies including DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND Flash 108. This is another detail that indicates none of these solid state memory technologies are being used as cache of another in an embodiment of the invention. Nevertheless, those skilled in the art will readily recognize that adding a cache strategy in addition to the strategies described in this invention is straightforward without departing from the spirit of this invention.
  • In FIG. 4C, example operations, for example, performed by eSCM controller 110 include identifying DRAM size to use for data storage and write buffer, a smart decision algorithm is used for data set activity detection and categorization as indicated at a block 420. As indicated at a block 422 data is selectively allocated primarily in non-volatile PCM 105, and NAND Flash 108, exploiting non-volatility for low power instead of refreshing large DRAM sets. PCM 105 by array design is geared toward low density, low latency, and smaller sized data sets. NAND Flash 108 by array design is geared toward high density, relatively higher latency, and larger sized data sets. The smaller data sets with high frequency of writes are preferably committed to DRAM 104 itself, from which they can be retrieved with minimal latency.
  • Another important innovation, as indicated at a block 424, depending on data set sizes optionally a given data set is straddled across different solid-state technologies including DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND Flash 108, and optionally further across HDD/SSD 204. This allows for hiding latencies of PCM 105 or NAND Flash 108 in some data sets as detailed below.
  • Referring now to FIG. 5, there is schematically shown another more detailed example solid-state storage system generally designated by the reference character 500 for implementing enhanced solid-state Enhanced Storage Class Memory (eSCM) in accordance with embodiments of the invention. In the example eSCM 500, ReRAM, and STT-RAM are not shown. In this embodiment, NAND Flash is further partitioned in single-level (SLC) and multi-level cell (MLC) technologies. Thus, Solid-state Enhanced Storage Class Memory (eSCM) system 500 includes DRAM 104 including DRAM chips 502, PCM 105 including PCM chips 504, and NAND Flash 108 including a combination of NAND Flash single-level cell (SLC) chips 506 and NAND Flash multi-level cell (MLC) chips 508. Solid-state storage system eSCM 500 includes a processor 510 and a plurality of bus buffers 1-N, 512, together with the DRAM chips 502, PCM chips 504, and NAND Flash SLC chips 506 and NAND Flash MLC chips 508.
  • In accordance with features of the embodiments of the invention, bandwidth is handled by eSCM processor 510 by buffering and parallelization, using bus buffers 1-N, 512 with the DRAM chips 502, PCM chips 504, and NAND Flash SLC chips 506 and NAND Flash MLC chips 508.
  • Recalling that according to size, data sets can straddle different solid state memory technologies, latency from one solid state memory technology can be hidden or partially hidden by another lower latency solid state technology. Referring now to FIGS. 6A, 6B, 6C charts are shown schematically illustrating example read operations of the eSCM system 100 or solid-state storage system eSCM 500 for implementing enhanced solid-state storage usage performance in accordance with embodiments of the invention. As described above to implement enhanced solid-state storage latency performance, data is migrated among DRAM 108, PCM 105 and NAND Flash 104 and DRAM chips 502, PCM chips 504, and NAND Flash SLC chips 506 and NAND Flash MLC chips 508 depending on data set sizes.
  • In FIG. 6A, example read operations generally designated by the reference character 600, for example performed by eSCM controller 110, with data read flow 602 of small chunks from DRAM 104 and PCM 105. For example, small requests are sometimes as small as 32 B or 64 B, but average main memory accesses tend to get chunks of 16 KB average. In this example, a data set straddling DRAM 104 and PCM 105 technologies is to be read. The SCM responds to the read request by sending first the part of the data requested which resides in DRAM 104. In parallel, and hidden from the host, the SCM starts fetching the remaining data from PCM 105. Hence, the latency from the PCM 105 technology is hidden or partially hidden by the latency in DRAM 104 access and the time taken to transfer that data from DRAM 104 to the host 202. Depending on the size of the partitions of the data set in DRAM 104 and PCM 105, the latency of these two technologies and the speed of the bus, the higher latency from the PCM access can be completely hidden and unnoticed by the host 202. Hence, this solution behaves as if all the data set were in DRAM, but the cost of this solution will be proportionally lowered by the relative amount of PCM and DRAM. Moreover, in an event of a power loss, only the part of the data residing in DRAM needs to be saved to a non-volatile memory in the eSCM.
  • In FIG. 6B, example read operations generally designated by the reference character 610, for example performed by eSCM controller 110, with data read flow 612 of medium sized chunks from DRAM 108, PCM 105 and NAND Flash 104. In this case the data set is large enough to straddle three different technologies. As part of the data is sequentially read and sent to the host from the lowest latency memory technologies, data from the remaining memory technologies also requested is being fetched. Depending on the size of the partitions of the requested data set allocated to each of the memory technologies, the actual latencies of the different solid state memory technologies, and the speed of the bus, the latency from the PCM 105 and NAND Flash 108 accesses can be completely hidden and unnoticed by the host.
  • Those skilled in the art will readily recognize other memory technologies can be used in the eSCM and benefit from the same invention described here. Those skilled in the art will also recognize that the size of the data set partitions in each memory technology the data set straddles is a function of the actual latencies of the solid state memory technologies used and the speed of the bus. In an embodiment, careful design might offer partial or total hidden latencies according to how critical a data set is.
  • In FIG. 6C, example read operations generally designated by the reference character 620, for example performed by eSCM controller 110, with data read flow 622 of very long chunks from NAND Flash 108. For example, any request for more than 320 KB will allow NAND Flash 108 to engage reading. In such a very large size data set, the latency from NAND Flash 108 may itself be of less importance, and the SCM could allocate the entire data set in NAND Flash 108.
  • Those skilled in the art will readily recognize that the strategy of allocating data primarily according to data set size can be used in conjunction with ancillary strategies for the case where a large amount of data of a particular size might not fit the memory space available at a particular solid state memory technology. In such a case, a secondary criteria based on frequency of use of a data set can be used to decide which data set will be placed in total or in part (in case it straddles more than one solid state technology) in the lower latency position in the storage.
  • Those skilled in the art will readily recognize that the strategy of allocating data of the invention includes that a given data set optionally is straddled across different solid-state technologies including DRAM 104, PCM 105, ReRAM 106, STT-RAM 107, and NAND Flash 108, and optionally further across HDD/SSD 204.
  • While the present invention has been described with reference to the details of the embodiments of the invention shown in the drawing, these details are not intended to limit the scope of the invention as claimed in the appended claims.

Claims (32)

What is claimed is:
1. A method for implementing enhanced solid-state storage performance comprising:
providing a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory; and
selectively allocating data among the DRAM, and the at least one non-volatile memory based upon a data set size.
2. The method as recited in claim 1 wherein selectively allocating data among the DRAM, and the at least one non-volatile memory based upon a data set size includes selectively partitioning data among the DRAM, and the at least one non-volatile memory.
3. The method as recited in claim 1 includes performing a read operation where part of the requested data is read from DRAM with simultaneously fetching parts of requested data from the at least one non-volatile memory.
4. The method as recited in claim 1 wherein providing the DRAM and the at least one non-volatile memory includes providing Phase Change memory (PCM) and NAND flash memory.
5. The method as recited in claim 4 includes providing an eSCM processor on said DIMM card with said DRAM, said PCM, and said NAND flash memory, and
using said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance.
6. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes selectively migrating data among said DRAM, said PCM, and said NAND flash memory based upon data set sizes.
7. The method as recited in claim 6 further includes selectively migrating data among said DRAM, said PCM, and said NAND flash memory based upon frequency of use.
8. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes writing first to said NAND flash memory and selectively moving data to at least one of said PCM, and said DRAM.
9. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes buffering data being written to said DRAM, before committing to said NAND flash memory; and selectively maintaining said data committed in said NAND flash memory or selectively moving data committed to said NAND flash memory to at least one of said DRAM and said PCM.
10. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes presenting a memory interface to a second computer system, said second computer system including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory.
11. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes reading data from any of said DRAM, said PCM, and said NAND flash memory.
12. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes selectively allocating data primarily in said non-volatile memory including said PCM, and said NAND flash memory.
13. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes using said PCM primarily for storing relatively middle sized data sets.
14. The method as recited in claim 5 wherein selectively moving data among said DRAM, said PCM, and said NAND flash memory for enabling enhanced latency and throughput performance includes using said NAND flash memory primarily for storing relatively large data sets.
15. An apparatus for implementing enhanced solid-state storage performance comprising:
a direct attached dual in line memory (DIMM) card, said DIMM card containing dynamic random access memory (DRAM), and at least one non-volatile memory; Phase Change memory (PCM) and NAND flash memory;
an eSCM processor coupled to said DRAM, and said at least one non-volatile memory on said DIMM card, and
said eSCM processor, selectively allocating data among the DRAM, and the at least one non-volatile memory based upon a data set size.
16. The apparatus as recited in claim 15 includes control code stored on a computer readable medium, and wherein said eSCM processor uses said control code for implementing enhanced solid-state storage performance.
17. The apparatus as recited in claim 15 wherein said wherein said at least one non-volatile memory includes at least one of a Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash memory.
18. The apparatus as recited in claim 15 wherein said at least one non-volatile memory includes Phase Change memory (PCM) and NAND flash memory.
19. The apparatus as recited in claim 18 includes said eSCM processor, using an intelligent data size detection algorithm for selectively moving data among said DRAM, said PCM, and said NAND flash memory.
20. The apparatus as recited in claim 19 wherein said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory includes said eSCM processor writing to said NAND flash memory and selectively moving data to said PCM.
21. The apparatus as recited in claim 19 wherein said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory includes said eSCM processor selectively migrating data among said DRAM, said PCM, and said NAND flash memory according to data set sizes.
22. The apparatus as recited in claim 19 wherein said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory includes said eSCM processor selectively allocating data primarily in non-volatile memory including said PCM, and said NAND flash memory.
23. The apparatus as recited in claim 19 wherein said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory includes said eSCM processor using said PCM primarily for storing relatively medium sized data sets.
24. The apparatus as recited in claim 19 wherein said eSCM processor, selectively moving data among said DRAM, said PCM, and said NAND flash memory includes said eSCM processor using said NAND flash memory primarily for storing high density large data sets.
25. The apparatus as recited in claim 15 includes a memory interface to a second computer system, said second computer system including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory coupled to said memory interface.
26. An enhanced solid-state storage class memory (eSCM) system comprising:
a dynamic random access memory (DRAM),
at least one non-volatile memory;
a processor coupled to said DRAM, and said at least one non-volatile memory; said processor allocating data among the DRAM, and the at least one non-volatile memory based upon a data set size.
27. The eSCM system as recited in claim 26 wherein said at least one non-volatile memory includes Phase Change memory (PCM) and NAND flash memory.
28. The eSCM system as recited in claim 27 includes a direct attached dual in line memory (DIMM) card, said DIMM card containing said dynamic random access memory (DRAM), Phase Change memory (PCM) and NAND flash memory.
29. The eSCM system as recited in claim 26 includes a memory interface to a second computer system, said second computer system including a direct attached dual in line memory (DIMM) card containing dynamic random access memory (DRAM), and at least one non-volatile memory coupled to said memory interface.
30. The eSCM system as recited in claim 26 includes a memory interface to another storage system including at least one of a Solid State drive (SSD), and a hard disk drive (HDD).
31. The eSCM system as recited in claim 26 wherein said at least one non-volatile memory includes at least one of a Phase Change memory (PCM), Resistive RAM (ReRAM), Spin-Transfer-Torque RAM (STT-RAM), and NAND flash memory.
32. The eSCM system as recited in claim 26 includes a memory interface to a second storage system including at least one of a Solid State drive (SSD), and a hard disk drive (HDD) and further includes said processor selectively migrating data among said DRAM, said PCM, said ReRAM, said STT-RAM and said NAND flash memory; and said second storage system.
US13/647,273 2012-10-08 2012-10-08 Apparatus and method for low power low latency high capacity storage class memory Abandoned US20140101370A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US13/647,273 US20140101370A1 (en) 2012-10-08 2012-10-08 Apparatus and method for low power low latency high capacity storage class memory
GB1317108.7A GB2507410B (en) 2012-10-08 2013-09-26 Apparatus and Method for Low Power Low Latency High Capacity Storage Class Memory
KR1020130118516A KR20140045269A (en) 2012-10-08 2013-10-04 Apparatus and method for low power low latency high capacity storage class memory
DE102013016609.8A DE102013016609A1 (en) 2012-10-08 2013-10-07 Apparatus and method for a low energy, low latency and high capacity storage class memory
JP2013211145A JP5823469B2 (en) 2012-10-08 2013-10-08 Apparatus and method for low power, low latency, large capacity storage class memory
KR1020150143016A KR101629615B1 (en) 2012-10-08 2015-10-13 Apparatus and method for low power low latency high capacity storage class memory
US15/716,467 US10860477B2 (en) 2012-10-08 2017-09-26 Apparatus and method for low power low latency high capacity storage class memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/647,273 US20140101370A1 (en) 2012-10-08 2012-10-08 Apparatus and method for low power low latency high capacity storage class memory

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/716,467 Continuation US10860477B2 (en) 2012-10-08 2017-09-26 Apparatus and method for low power low latency high capacity storage class memory

Publications (1)

Publication Number Publication Date
US20140101370A1 true US20140101370A1 (en) 2014-04-10

Family

ID=49553463

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/647,273 Abandoned US20140101370A1 (en) 2012-10-08 2012-10-08 Apparatus and method for low power low latency high capacity storage class memory
US15/716,467 Active US10860477B2 (en) 2012-10-08 2017-09-26 Apparatus and method for low power low latency high capacity storage class memory

Family Applications After (1)

Application Number Title Priority Date Filing Date
US15/716,467 Active US10860477B2 (en) 2012-10-08 2017-09-26 Apparatus and method for low power low latency high capacity storage class memory

Country Status (5)

Country Link
US (2) US20140101370A1 (en)
JP (1) JP5823469B2 (en)
KR (2) KR20140045269A (en)
DE (1) DE102013016609A1 (en)
GB (1) GB2507410B (en)

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115235A1 (en) * 2012-10-18 2014-04-24 Hitachi, Ltd. Cache control apparatus and cache control method
US20140201408A1 (en) * 2013-01-17 2014-07-17 Xockets IP, LLC Offload processor modules for connection to system memory, and corresponding methods and systems
US20140211406A1 (en) * 2013-01-30 2014-07-31 Hon Hai Precision Industry Co., Ltd. Storage device and motherboard for supporting the storage device
CN104636452A (en) * 2015-01-28 2015-05-20 江苏大学 Unified file system managing method oriented to SCM
US20150279464A1 (en) * 2014-03-27 2015-10-01 Stephan A. Herhut Managed runtime extensions to reduce power consumption in devices with hybrid memory
JP2016509325A (en) * 2013-03-14 2016-03-24 マイクロン テクノロジー, インク. Memory system and method including training, data reconstruction and / or shadowing
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
US9431457B1 (en) 2015-08-25 2016-08-30 HGST Netherlands B.V. Implementing deposition growth method for magnetic memory
TWI549137B (en) * 2014-09-18 2016-09-11 宏碁股份有限公司 Memory chip, data reading method thereof, and data storage system
US9443905B1 (en) 2015-08-25 2016-09-13 HGST Netherlands B.V. Implementing 3D scalable magnetic memory with interlayer dielectric stack and pillar holes having programmable area
US9444036B1 (en) 2015-08-25 2016-09-13 HGST Netherlands B.V. Implementing segregated media based magnetic memory
US9520444B1 (en) 2015-08-25 2016-12-13 Western Digital Technologies, Inc. Implementing magnetic memory pillar design
US9535844B1 (en) 2014-06-30 2017-01-03 EMC IP Holding Company LLC Prioritization for cache systems
US20170131908A1 (en) * 2015-11-09 2017-05-11 Google Inc. Memory Devices and Methods
US9672148B1 (en) 2014-05-28 2017-06-06 EMC IP Holding Company LLC Methods and apparatus for direct cache-line access to attached storage with cache
US9696934B2 (en) 2015-02-12 2017-07-04 Western Digital Technologies, Inc. Hybrid solid state drive (SSD) using PCM or other high performance solid-state memory
US9780143B2 (en) 2015-08-25 2017-10-03 Western Digital Technologies, Inc. Implementing magnetic memory integration with CMOS driving circuits
US9934830B2 (en) 2015-11-18 2018-04-03 Samsung Electronics Co., Ltd. Multi-communication device in a memory system
US9965017B2 (en) 2016-04-12 2018-05-08 International Business Machines Corporation System and method for conserving energy in non-volatile dual inline memory modules
US10042786B2 (en) 2015-03-10 2018-08-07 Toshiba Memory Corporation Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source
US10073644B2 (en) 2016-03-21 2018-09-11 Toshiba Memory Corporation Electronic apparatus including memory modules that can operate in either memory mode or storage mode
US10108542B2 (en) 2016-01-04 2018-10-23 Avalanche Technology, Inc. Serial link storage interface (SLSI) hybrid block storage
US10157656B2 (en) 2015-08-25 2018-12-18 Western Digital Technologies, Inc. Implementing enhanced magnetic memory cell
US10235054B1 (en) * 2014-12-09 2019-03-19 EMC IP Holding Company LLC System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner
US10296461B2 (en) * 2015-08-06 2019-05-21 Toshiba Memory Corporation Storage device and data saving method
US10324854B2 (en) 2015-03-23 2019-06-18 Fujitsu Limited Information processing apparatus and control method for dynamic cache management
US10452269B2 (en) 2015-03-16 2019-10-22 Samsung Electronics Co., Ltd. Data storage devices having scale-out devices to map and control groups of non-volatile memory devices
CN110502459A (en) * 2018-05-17 2019-11-26 爱思开海力士有限公司 Semiconductor system and its operating method including the memory devices of data can be handled
US10884655B2 (en) 2018-10-24 2021-01-05 Samsung Electronics Co., Ltd. Storage modules, methods of operating a storage module, and methods of operating a host controlling a storage module
US10929309B2 (en) 2017-12-19 2021-02-23 Western Digital Technologies, Inc. Direct host access to storage device memory space
US11017126B2 (en) 2017-12-19 2021-05-25 Western Digital Technologies, Inc. Apparatus and method of detecting potential security violations of direct access non-volatile memory device
US11150962B2 (en) * 2019-07-17 2021-10-19 Memverge, Inc. Applying an allocation policy to capture memory calls using a memory allocation capture library
US11474941B2 (en) 2020-03-09 2022-10-18 International Business Machines Corporation Using multi-tiered cache to satisfy input/output requests
US20230148253A1 (en) * 2021-11-08 2023-05-11 Ambiq Micro, Inc. Flexible and low power cache memory architecture
US11650742B2 (en) 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored
US11720283B2 (en) 2017-12-19 2023-08-08 Western Digital Technologies, Inc. Coherent access to persistent memory region range
EP4031982A4 (en) * 2019-09-17 2023-10-18 Micron Technology, Inc. Flexible provisioning of multi-tier memory
US11868268B2 (en) 2019-09-17 2024-01-09 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US11934319B2 (en) 2019-09-17 2024-03-19 Micron Technology, Inc. Memory system for binding data to a memory namespace

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140101370A1 (en) 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory
US10025747B2 (en) * 2015-05-07 2018-07-17 Samsung Electronics Co., Ltd. I/O channel scrambling/ECC disassociated communication protocol
KR102473197B1 (en) * 2015-06-08 2022-12-02 삼성전자주식회사 Nonvolatile memory module, storage device, and electronic device transmitting read data in transmission unit
US10866897B2 (en) * 2016-09-26 2020-12-15 Samsung Electronics Co., Ltd. Byte-addressable flash-based memory module with prefetch mode that is adjusted based on feedback from prefetch accuracy that is calculated by comparing first decoded address and second decoded address, where the first decoded address is sent to memory controller, and the second decoded address is sent to prefetch buffer
KR102549346B1 (en) 2018-07-24 2023-06-28 삼성전자주식회사 Solid state drive and a method for metadata access
KR102546229B1 (en) 2018-10-05 2023-06-22 삼성전자주식회사 Storage device using buffer memory in read reclaim operation
US10831379B2 (en) * 2018-10-30 2020-11-10 Western Digital Technologies, Inc. Method for enhancing SSD endurance by utilizing host DRAM
KR20200077805A (en) 2018-12-21 2020-07-01 주식회사 태진인포텍 Controller for low power storage system
CN109960471B (en) * 2019-03-29 2022-06-03 深圳大学 Data storage method, device, equipment and storage medium
JP7457342B2 (en) * 2019-04-16 2024-03-28 株式会社ポトスセミコンダクタ Data Storage Devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237133B2 (en) * 2003-06-30 2007-06-26 Sony Corporation Power supply control circuit for memories, method thereof and apparatus equipped with memories
US20080126716A1 (en) * 2006-11-02 2008-05-29 Daniels Scott L Methods and Arrangements for Hybrid Data Storage
US8397013B1 (en) * 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US20130275682A1 (en) * 2011-09-30 2013-10-17 Raj K. Ramanujan Apparatus and method for implementing a multi-level memory hierarchy over common memory channels

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956743A (en) * 1997-08-25 1999-09-21 Bit Microsystems, Inc. Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations
US6336174B1 (en) * 1999-08-09 2002-01-01 Maxtor Corporation Hardware assisted memory backup system and method
US7716411B2 (en) * 2006-06-07 2010-05-11 Microsoft Corporation Hybrid memory device with single interface
WO2008018258A1 (en) * 2006-08-09 2008-02-14 Hitachi Ulsi Systems Co., Ltd. Storage device
US7802034B2 (en) * 2006-12-31 2010-09-21 Sandisk Corporation Method for performing full transfer automation in a USB controller
JP4109313B2 (en) 2007-08-27 2008-07-02 オリンパス株式会社 Medical capsule device
TWI425523B (en) * 2008-03-25 2014-02-01 Asmedia Technology Inc Hybrid flash memory storage device and method of controlling the same
US20090254705A1 (en) 2008-04-07 2009-10-08 International Business Machines Corporation Bus attached compressed random access memory
CN102473140B (en) * 2009-07-17 2015-05-13 株式会社东芝 Memory management device
JP2011186563A (en) * 2010-03-04 2011-09-22 Toshiba Corp Device and method for managing memory
US20110035540A1 (en) 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US20110167197A1 (en) * 2010-01-05 2011-07-07 Mark Leinwander Nonvolatile Storage with Disparate Memory Types
KR101713051B1 (en) * 2010-11-29 2017-03-07 삼성전자주식회사 Hybrid Memory System and Management Method there-of
JP2011258229A (en) * 2011-08-22 2011-12-22 Toshiba Corp Memory system
CN104246719A (en) * 2012-05-01 2014-12-24 惠普发展公司,有限责任合伙企业 Prearranging data to commit to non-volatile memory
US20140101370A1 (en) 2012-10-08 2014-04-10 HGST Netherlands B.V. Apparatus and method for low power low latency high capacity storage class memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237133B2 (en) * 2003-06-30 2007-06-26 Sony Corporation Power supply control circuit for memories, method thereof and apparatus equipped with memories
US8397013B1 (en) * 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US20080126716A1 (en) * 2006-11-02 2008-05-29 Daniels Scott L Methods and Arrangements for Hybrid Data Storage
US20130275682A1 (en) * 2011-09-30 2013-10-17 Raj K. Ramanujan Apparatus and method for implementing a multi-level memory hierarchy over common memory channels

Cited By (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140115235A1 (en) * 2012-10-18 2014-04-24 Hitachi, Ltd. Cache control apparatus and cache control method
US9128847B2 (en) * 2012-10-18 2015-09-08 Hitachi, Ltd. Cache control apparatus and cache control method
US20140201408A1 (en) * 2013-01-17 2014-07-17 Xockets IP, LLC Offload processor modules for connection to system memory, and corresponding methods and systems
US20140211406A1 (en) * 2013-01-30 2014-07-31 Hon Hai Precision Industry Co., Ltd. Storage device and motherboard for supporting the storage device
US11487433B2 (en) 2013-03-14 2022-11-01 Micron Technology, Inc. Memory systems and methods including training, data organizing, and/or shadowing
US10664171B2 (en) 2013-03-14 2020-05-26 Micron Technology, Inc. Memory systems and methods including training, data organizing, and/or shadowing
JP2016509325A (en) * 2013-03-14 2016-03-24 マイクロン テクノロジー, インク. Memory system and method including training, data reconstruction and / or shadowing
US9645919B2 (en) 2013-03-14 2017-05-09 Micron Technology, Inc. Memory systems and methods including training, data organizing, and/or shadowing
US9507714B2 (en) * 2014-03-27 2016-11-29 Intel Corporation Managed runtime extensions to reduce power consumption in devices with hybrid memory
US20150279464A1 (en) * 2014-03-27 2015-10-01 Stephan A. Herhut Managed runtime extensions to reduce power consumption in devices with hybrid memory
US9672148B1 (en) 2014-05-28 2017-06-06 EMC IP Holding Company LLC Methods and apparatus for direct cache-line access to attached storage with cache
US10049046B1 (en) 2014-05-28 2018-08-14 EMC IP Holding Company LLC Methods and apparatus for memory tier page cache with zero file
US9535844B1 (en) 2014-06-30 2017-01-03 EMC IP Holding Company LLC Prioritization for cache systems
TWI549137B (en) * 2014-09-18 2016-09-11 宏碁股份有限公司 Memory chip, data reading method thereof, and data storage system
US10235054B1 (en) * 2014-12-09 2019-03-19 EMC IP Holding Company LLC System and method utilizing a cache free list and first and second page caches managed as a single cache in an exclusive manner
US20160188414A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Fault tolerant automatic dual in-line memory module refresh
CN107003919A (en) * 2014-12-24 2017-08-01 英特尔公司 Fault-tolerant automatic dual-inline memory module refreshes
CN104636452A (en) * 2015-01-28 2015-05-20 江苏大学 Unified file system managing method oriented to SCM
US9696934B2 (en) 2015-02-12 2017-07-04 Western Digital Technologies, Inc. Hybrid solid state drive (SSD) using PCM or other high performance solid-state memory
US11868285B2 (en) 2015-03-10 2024-01-09 Kioxia Corporation Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source
US10929315B2 (en) 2015-03-10 2021-02-23 Toshiba Memory Corporation Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source
US11537536B2 (en) 2015-03-10 2022-12-27 Kioxia Corporation Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source
US10042786B2 (en) 2015-03-10 2018-08-07 Toshiba Memory Corporation Memory controller configured to transmit interrupt signal if volatile memory has no data corresponding to address requested from source
US11287978B2 (en) 2015-03-16 2022-03-29 Samsung Electronics Co., Ltd. Data storage devices, having scale-out devices to map and control groups on non-volatile memory devices
US10452269B2 (en) 2015-03-16 2019-10-22 Samsung Electronics Co., Ltd. Data storage devices having scale-out devices to map and control groups of non-volatile memory devices
US10324854B2 (en) 2015-03-23 2019-06-18 Fujitsu Limited Information processing apparatus and control method for dynamic cache management
US10296461B2 (en) * 2015-08-06 2019-05-21 Toshiba Memory Corporation Storage device and data saving method
US10157656B2 (en) 2015-08-25 2018-12-18 Western Digital Technologies, Inc. Implementing enhanced magnetic memory cell
US9444036B1 (en) 2015-08-25 2016-09-13 HGST Netherlands B.V. Implementing segregated media based magnetic memory
US9520444B1 (en) 2015-08-25 2016-12-13 Western Digital Technologies, Inc. Implementing magnetic memory pillar design
US9431457B1 (en) 2015-08-25 2016-08-30 HGST Netherlands B.V. Implementing deposition growth method for magnetic memory
US9673387B2 (en) 2015-08-25 2017-06-06 Western Digital Technologies, Inc. Implementing magnetic memory pillar design
US9899595B2 (en) 2015-08-25 2018-02-20 Western Digital Technologies, Inc. Implementing deposition growth method for magnetic memory
US9443905B1 (en) 2015-08-25 2016-09-13 HGST Netherlands B.V. Implementing 3D scalable magnetic memory with interlayer dielectric stack and pillar holes having programmable area
US10361365B2 (en) 2015-08-25 2019-07-23 Western Digital Technologies, Inc. Implementing deposition growth method for magnetic memory
US9780143B2 (en) 2015-08-25 2017-10-03 Western Digital Technologies, Inc. Implementing magnetic memory integration with CMOS driving circuits
US9880778B2 (en) * 2015-11-09 2018-01-30 Google Inc. Memory devices and methods
US20170131908A1 (en) * 2015-11-09 2017-05-11 Google Inc. Memory Devices and Methods
US9934830B2 (en) 2015-11-18 2018-04-03 Samsung Electronics Co., Ltd. Multi-communication device in a memory system
US10108542B2 (en) 2016-01-04 2018-10-23 Avalanche Technology, Inc. Serial link storage interface (SLSI) hybrid block storage
US10073644B2 (en) 2016-03-21 2018-09-11 Toshiba Memory Corporation Electronic apparatus including memory modules that can operate in either memory mode or storage mode
US9965017B2 (en) 2016-04-12 2018-05-08 International Business Machines Corporation System and method for conserving energy in non-volatile dual inline memory modules
US10929309B2 (en) 2017-12-19 2021-02-23 Western Digital Technologies, Inc. Direct host access to storage device memory space
US11017126B2 (en) 2017-12-19 2021-05-25 Western Digital Technologies, Inc. Apparatus and method of detecting potential security violations of direct access non-volatile memory device
US11681634B2 (en) 2017-12-19 2023-06-20 Western Digital Technologies, Inc. Direct host access to storage device memory space
US11354454B2 (en) 2017-12-19 2022-06-07 Western Digital Technologies, Inc. Apparatus and method of detecting potential security violations of direct access non-volatile memory device
US11720283B2 (en) 2017-12-19 2023-08-08 Western Digital Technologies, Inc. Coherent access to persistent memory region range
US11016704B2 (en) * 2018-05-17 2021-05-25 SK Hynix Inc. Semiconductor system including various memory devices capable of processing data
KR102631380B1 (en) 2018-05-17 2024-02-01 에스케이하이닉스 주식회사 Semiconductor system including various memory deivces capable of processing data
KR20190131686A (en) * 2018-05-17 2019-11-27 에스케이하이닉스 주식회사 Semiconductor system including various memory deivces capable of processing data
CN110502459A (en) * 2018-05-17 2019-11-26 爱思开海力士有限公司 Semiconductor system and its operating method including the memory devices of data can be handled
US10884655B2 (en) 2018-10-24 2021-01-05 Samsung Electronics Co., Ltd. Storage modules, methods of operating a storage module, and methods of operating a host controlling a storage module
US11150962B2 (en) * 2019-07-17 2021-10-19 Memverge, Inc. Applying an allocation policy to capture memory calls using a memory allocation capture library
US11593186B2 (en) 2019-07-17 2023-02-28 Memverge, Inc. Multi-level caching to deploy local volatile memory, local persistent memory, and remote persistent memory
US11392428B2 (en) 2019-07-17 2022-07-19 Memverge, Inc. Fork handling in application operations mapped to direct access persistent memory
US11650742B2 (en) 2019-09-17 2023-05-16 Micron Technology, Inc. Accessing stored metadata to identify memory devices in which data is stored
EP4031982A4 (en) * 2019-09-17 2023-10-18 Micron Technology, Inc. Flexible provisioning of multi-tier memory
US11868268B2 (en) 2019-09-17 2024-01-09 Micron Technology, Inc. Mapping non-typed memory access to typed memory access
US11934319B2 (en) 2019-09-17 2024-03-19 Micron Technology, Inc. Memory system for binding data to a memory namespace
US11797448B2 (en) 2020-03-09 2023-10-24 International Business Machines Corporation Using multi-tiered cache to satisfy input/output requests
US11474941B2 (en) 2020-03-09 2022-10-18 International Business Machines Corporation Using multi-tiered cache to satisfy input/output requests
US20230148253A1 (en) * 2021-11-08 2023-05-11 Ambiq Micro, Inc. Flexible and low power cache memory architecture

Also Published As

Publication number Publication date
KR101629615B1 (en) 2016-06-13
KR20140045269A (en) 2014-04-16
KR20150120919A (en) 2015-10-28
US20180018259A1 (en) 2018-01-18
DE102013016609A1 (en) 2014-04-10
JP5823469B2 (en) 2015-11-25
JP2014078231A (en) 2014-05-01
US10860477B2 (en) 2020-12-08
GB201317108D0 (en) 2013-11-06
GB2507410A (en) 2014-04-30
GB2507410B (en) 2015-07-29

Similar Documents

Publication Publication Date Title
US10860477B2 (en) Apparatus and method for low power low latency high capacity storage class memory
US11068170B2 (en) Multi-tier scheme for logical storage management
US11029853B2 (en) Dynamic segment allocation for write requests by a storage system
CN107346290B (en) Replaying partition logical to physical data address translation tables using parallelized log lists
Park et al. A high performance controller for NAND flash-based solid state disk (NSSD)
US9842059B2 (en) Wear leveling in storage devices
CN105786400B (en) heterogeneous hybrid memory component, system and storage method
JP2013242908A (en) Solid state memory, computer system including the same, and operation method of the same
US9323657B1 (en) Memory system and method for improving read latency of a high-priority partition
US11755491B2 (en) Mapping supporting non-sequential writes at sequentially-written memory devices
US9582192B2 (en) Geometry aware block reclamation
CN104246719A (en) Prearranging data to commit to non-volatile memory
CN113924545A (en) Predictive data transfer based on availability of media units in a memory subsystem
US20170262222A1 (en) Memory system data management
US20220019533A1 (en) Managing processing of memory commands in a memory subsystem with a high latency backing store
US20210373809A1 (en) Write Data-Transfer Scheduling in ZNS Drive
JP5953245B2 (en) Information processing system
US11487449B2 (en) Data storage device and method for enabling higher lane utilization in run time via device hints on workload patterns
WO2018067745A1 (en) Parallel segment writer
KR20160026023A (en) Solid state disk

Legal Events

Date Code Title Description
AS Assignment

Owner name: HGST NETHERLANDS B.V., NETHERLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHU, FRANK R.;FRANCA-NETO, LUIZ M.;TSAI, TIMOTHY K.;AND OTHERS;SIGNING DATES FROM 20121004 TO 20121008;REEL/FRAME:029092/0543

AS Assignment

Owner name: WESTERN DIGITAL TECHNOLOGIES, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HGST NETHERLANDS B.V.;REEL/FRAME:040826/0327

Effective date: 20160831

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION