CN102792284A - Memory device wear-leveling techniques - Google Patents

Memory device wear-leveling techniques Download PDF

Info

Publication number
CN102792284A
CN102792284A CN2010800650391A CN201080065039A CN102792284A CN 102792284 A CN102792284 A CN 102792284A CN 2010800650391 A CN2010800650391 A CN 2010800650391A CN 201080065039 A CN201080065039 A CN 201080065039A CN 102792284 A CN102792284 A CN 102792284A
Authority
CN
China
Prior art keywords
memory
address
memory devices
buffer memory
data structure
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.)
Granted
Application number
CN2010800650391A
Other languages
Chinese (zh)
Other versions
CN102792284B (en
Inventor
尼马尔·萨克塞纳
霍华德·蔡
迪米特里·卫士茨基
延·林
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN102792284A publication Critical patent/CN102792284A/en
Application granted granted Critical
Publication of CN102792284B publication Critical patent/CN102792284B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/0607Interleaved addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

The wear-leveling techniques include discovering a persistent state of one or more memory devices, or building and caching persistent state parameters for each logical unit of a given memory device if a persistent state is not discovered for a given memory device. The techniques may also include processing memory access commands utilizing the cached persistent state parameters. When processing memory access commands, the logical block address and length parameter of a logical address of a command may be translated to a plurality of physical addresses for accessing one or more memory devices, each physical address includes a device address, a logical unit address, a block address, and a page address, wherein the block address includes one or more interleaved address bits.

Description

Memory devices loss equalization technology
Background technology
It is erasable that various types of storeies are designed to large tracts of land, is commonly called flash memory (flash memory).Such memory devices can only bear the erase cycles of limited quantity in the mission life scope.The erase cycles quantity that flash memory could bear and continue reliably working can be expressed as the permanance (endurance) of memory devices.As a rule, but at present the given memory cell of flash memory device before can not reliably working erasing times between 10,000 to 100,000.The permanance of memory devices can be depending on the framework in order to the semiconductor technology of making this equipment and this memory devices.
Flash memory is common in the various conditional electronic equipment.After the permanance that exceeds flash memory, flash memory and/or the performance that comprises the electronic equipment of this flash memory possibly affect adversely, even quit work.Thereby, always need improve permanance such as the memory devices of flash memory.
Summary of the invention
The embodiment of present technique is to memory devices loss equalization technology.In one embodiment, the loss equalization method comprises specifying the length of a plurality of logical page (LPAGE)s to translate to a plurality of physical addresss to visit one or more memory devices in LBA and this LBA.Each physical address includes device address, logical block address, block address and page address.
In another embodiment, the loss equalization Memory Controller is found lasting (persistent) state of one or more memory devices.If do not find permanent state for given memory devices, then Memory Controller also can be set up and buffer memory permanent state parameter for each logical block of this given memory devices.
Description of drawings
The embodiment of present technique in following accompanying drawing with example non-limiting mode explain, the similar similar element of numerical reference among the figure, wherein:
Fig. 1 shows the block diagram according to the demonstrative memorizer equipment of an embodiment of present technique.
Fig. 2 shows an embodiment according to present technique, comprises the block diagram of the exemplary electronic equipment of one or more memory devices.
Fig. 3 shows an embodiment according to present technique, is used for logical address is translated to the block diagram of the method for physical address.
Fig. 4 shows an embodiment according to present technique, the process flow diagram of the method for the one or more memory devices of initialization.
Embodiment
To the embodiment of present technique be described in detail now, its exemplary plot is shown in the drawings.Need explanation, when combining these embodiment that present technique is described, be not intended to limit the present invention on these embodiment.Opposite, the invention is intended to cover substitute, change and equivalents, these can be included in by in the defined scope of the present invention of the claims of enclosing.In addition, in the detailed description to present technique subsequently, with listing a large amount of specific details so that making much of present technique to be provided.Yet, need to prove that present technique possibly not have the enforcement of being able under the situation of these specific detail.In the other example, known method, process, assembly and circuit are not specifically described, in order to avoid cause unnecessary obscuring to the present technique each side.
With reference to Fig. 1, shown demonstrative memorizer equipment according to an embodiment of present technique.This demonstrative memorizer equipment 230 can be the piece programmable memory device, for example flash memory device etc.The piece programmable memory device comprises the memory cell that is arranged in array in a large number.Memory cell array is arranged in one or more logical blocks (LUN) 110.Each LUN 110 is made up of the set of (interleaved) physical block 120 that interweaves of memory cell.Each physical block 120 includes a plurality of pages 130 (for example, designation number destination memory location).In a kind of implementation, physical block 120 can comprise 2 an index page (for example, 32 a multiple page).The page 130 of memory cell can comprise an index memory cell (for example, a multiple bit of storage 8) of predefined 2.These pages can be perhaps more from 2 kilobyte to 512 megabyte, and typical sizes is that 4 kilobyte are to 64 kilobyte.Each memory cell is the one or more bits of storage usually.For example, single layer cell (single-level cell, the SLC) data of a bit of storage, and multilevel-cell (multi-level cell MLC) can store the data of two or more bits.
The circuit of such piece programmable storage and memory cell architectures make in the physical block of having wiped 120 of new data write-in block programmable storage 230.As a rule, if data will write in the physical block 120 that has comprised data, then this physical block 120 must be wiped before new data writes.The piece 120 of if block programmable storage 230 is to be write direct by software, and the anomaly number purpose that so skimble-scamble address pattern possibly cause striding more than 230 physical block 120 of storer is wiped.For example, if an address pattern is write by what continue, erasing times will finally exceed the permanance limit of given physical block 120 so.The permanance limit that exceeds piece 120 will reduce the mission life of piece programmable memory device 230.
According to the embodiment of present technique, the logical address that the loss equalization technology produces software is mapped to the physical address of piece programmable memory device.As time goes on this mapping makes that regardless of the software access pattern, all physical blocks in the piece programmable memory device all obtain the erase cycles of number much at one.The loss equalization technology has significantly improved the mission life of piece programmable memory device.In an implementation, for the flash memory device that meets open nand flash memory interface (ONFI) 2.0 standards is used the wear leveling technology.
Referring now to Fig. 2, shown example electronic device according to an embodiment of present technique, it comprises one or more memory devices.This electronic equipment 210 can be computing machine, notebook, cell phone, smart phone, portable music player (for example; The MP3 player), personal digital assistant, net book computing machine, e-book, game console, portable game machine, STB, DVB, navigational system, digital VTR (for example, DVR), server computer and/or like that.
Electronic equipment 210 comprises one or more processing unit 220, system storage 230, Memory Controller 240 and a plurality of programmable memory devices 250, through one or more communication bus 260 communicative couplings.Electronic equipment 210 also can comprise other circuit, for example input-output apparatus 270 or the like.In a kind of implementation, a plurality of programmable memory devices 250 can be flash memory devices.In a kind of implementation, Memory Controller 240 can enable the visit to other memory devices of system storage 230, piece programmable memory device 250 and electronic equipment 210.One or more programmable memory devices 250 can be positioned at the inside or the outside of electronic equipment 210.Memory Controller 240 can be the part of one or more other circuit of electronic equipment 210, perhaps can be separate devices.For example, Memory Controller can be the part of one or more memory devices, one or more processor, one or more other circuit (for example, north bridge chips, GPU) and/or can be discrete nonshared control unit.Memory Controller can adopt one or more modes to realize, for example hardware, firmware and/or computing equipment instructions (for example, software) and processing unit.In another implementation, electronic equipment 210 can comprise a plurality of Memory Controllers, and one in these Memory Controllers is special-purpose piece programmable storage controller 240.
Piece programmable memory device 250 can comprise one or more equipment with different operational factors.For example, memory devices 250 can comprise one or more different memory sizes (for example, the page) that have, and has the equipment of the piece of different numbers, different vacant (spare) piece, different clocking requirements or the like.
Piece programmable storage controller 240 comprises the buffer memory 280 that is used for one or more programmable memory devices of buffer memory 250 permanent state parameters.Piece programmable storage controller 240 can be one or more programmable memory devices 250 buffer memory permanent state parameters, for example be arranged in the bad block data structure bad block data, be arranged in the mapping (enum) data structure mapping (enum) data, be arranged in vacant blocks of data of vacant block data structure or the like.Permanent state parameter buffer memory 280 can be independently, perhaps can be the part of piece programmable storage controller 240.Piece programmable storage controller 240 utilizes the permanent state parameter 280 of institute's buffer memory to handle one or more memory access command; Comprise with LBA with in this LBA and specify the length of an integer logical page (LPAGE) to translate to a plurality of physical addresss to visit one or more memory devices 250, each physical address includes device address, logical block address, block address and page address.In addition, block address comprises one or more interleaving address position.Piece programmable storage controller 240 upgrades the permanent state parameter 280 of institute's buffer memorys and regular log record (journal) permanent state parameter in piece programmable storage 250 subsequently, to improve the loss equalization of piece programmable memory device 250.
Referring now to Fig. 3, according to the method that is used for logical address is translated to physical address of an embodiment of present technique.The address translation method can be implemented by Memory Controller.This method also may be embodied in the manufacturing that comprises the computing equipment instructions; This computing equipment instructions (for example is stored in one or more computing equipment computer-readable recording mediums; Storer), if performed by processing unit, then it comprises execution one or more processes of address translation.This method also may be embodied in the manufacturing that comprises firmware, and this firmware comprises one or more processes of address translation with execution in operation.
Use logical address with visit data to comprise LBA (LBA) and by the integer logical page (LPAGE) of length parameter appointment by software.Physical address comprises device identifier (for example, chip enable), logical block address, block address and page address.The low-order bit of block address comprises one or more interleaving address position.
Amount of physical memory generally includes a plurality of piece programmable memory devices as shown in Figure 2.Accordingly, Address Translator 310 can translate to the physical address of striding a plurality of object block programmable memory devices with the length 320 of LBA (LBA) 315 and a plurality of logical page (LPAGE)s of specifying logical address.In one embodiment, LBA 315 translates to N physical address, and wherein N is not less than the smallest positive integral (N=downwards round (length/page size)) of the length of appointment in the logical address divided by page size.In N physical address each all comprises device field (DFLD) 325, logical block field 330, piece field 335 and page field 340.For in N the physical address each, device field (DFLD) 325 is decoded to be used for of N chip enable of addressable memory equipment.LUN field 330 has been specified the address of given logical block in the addressing physical memory devices.Piece field 335 has been specified in specified LUN given interleaving address.Page field 340 has been specified the address of the page in specified piece.
With the loss equalization compared with techniques of routine, this translation method can be striden a plurality of programmable memory devices flexibly and created different mappings, to obtain higher Performance And Reliability.Except address translation, this method is also supported the initialization of piece programmable device and the discovery of permanent state, the detection of bad physical block and management, and vacant distribution, management and refuse collection, and can avoid the non-sequential of physical page in the piece to programme flexibly.
Referring now to Fig. 4,, shown one or more memory devices have been carried out initialized method according to embodiment of present technique.One or more memory devices are carried out initialized method can be implemented by Memory Controller.Memory Controller can be the part of one or more memory devices, one or more processor and/or one or more other circuit (for example, north bridge chips, GPU), perhaps can be nonshared control unit independently.This method may be embodied in the manufacturing that comprises the computing equipment instructions; This computing equipment instructions (for example is stored in one or more computing equipment computer-readable recording mediums; Storer); If performed by processing unit, then it comprises execution one or more processes of the one or more memory devices of initialization.This method also may be embodied in the manufacturing that comprises firmware, and this firmware comprises one or more processes of the one or more memory devices of initialization with execution in operation.
This method reads the parameter page of a plurality of programmable memory devices since 410 places.The parameter page comprises the parameter of each memory devices; The for example number of the vacant byte of the number of the piece of the number of LUN, each LUN, page size, each page, the ECC byte of being supported (for example, join formula option (strap option)) and/or like that.To each attached memory devices 414-425, the given physical block of each LUN in 430 place's fetch equipments.In a kind of implementation, what read is the piece 0 of each LUN.At 435 places, whether given block type sign checking each LUN confirm the initialization of this piece.
If the given initialization of each LUN will detect and buffer memory initiation parameter.In a kind of implementation, at 440 places, for each each LUN of attached equipment, detect nearest bad block table data structure and buffer memory in addition.At 445 places, for each each LUN of attached equipment, also detect nearest mapping table data structure and buffer memory in addition.At 450 places, for each each LUN of attached equipment, also detect vacant nearest list data structure and buffer memory in addition.To these parameters buffer memory in addition, make given of the store initialization parameter needn't in each parameter update, all write, thereby improved the loss equalization of memory devices.
If given of each LUN does not also have initialization, then LUN is carried out initialization and buffer memory initialization data.In a kind of implementation, detect bad piece at 455 places, and set up and buffer memory bad block table data structure.At 460 places, also foundation and buffer memory are mapped to LBA the mapping table data structure of physical block address.At 465 places, also set up and vacant list data structure of buffer memory.
At 470 places, can handle one or more memory access command.Also can carry out various background tasks at 475 places.Utilize above-mentioned address translation method that memory access command is handled with reference to Fig. 3.Background task possibly comprise refuse collection, upgrades mapping or vacant table, and erase block upgrades erase count, log record mapping, vacant and/or bad block table, or the like.To the log record of mapping table, vacant table and bad block table data structure is that the persistent storage of data is prepared.Utilize above-mentioned address translation method that the data structure is carried out log record with reference to Fig. 3.
According to the embodiment of present technique, the loss equalization technology has advantageously utilized the system memory map list structure to support high capacity (for example, G bytes up to a hundred) and high performance programmable storage, for example ONFI flash memory device.The mapping (enum) data structure also advantageously has flexible semanteme to support a plurality of instances of Memory Controller.This helps to make the firmware scale of implementing this loss equalization technology to minimize.According to this technological embodiment, the index (LBA, length) of virtual address tuple is had programmable hash function, this function is advantageously created variety of option, is used to stride identical or different target memory device and interweaves through the physical address of mapping.
Above-mentioned description to the present technique specific embodiment only is used for example and purpose of description.Be not intended exhaustive or limit the present invention to described definite form, clearly, possibly have multiple change and distortion according to above-mentioned instruction.Selecting and describe these embodiment is for the better principle and the practical application of explanation present technique, thereby makes others skilled in the art can better use present technique and the various embodiment that has carried out various changes for the unique application that is suitable for expecting.Intention defines scope of the present invention by claims of enclosing and equivalent thereof.

Claims (20)

1. store the computing equipment computer-readable recording medium of instruction on one or more its, if moved by one or more processing unit, the method that comprises following content is carried out in then said instruction:
The length of LBA and logical address is translated to a plurality of physical addresss to visit a plurality of memory devices, and wherein each physical address includes device address, logical block address, block address and page address.
2. one or more computing equipment computer-readable recording mediums according to claim 1, wherein, at least two in said a plurality of memory devices is different memory devices.
3. one or more computing equipment computer-readable recording mediums according to claim 1, wherein, said a plurality of memory devices comprise a plurality of flash memory devices.
4. one or more computing equipment computer-readable recording mediums according to claim 1, wherein, said method further comprises:
Read the parameter page of said one or more memory devices;
Read the given physical block of each logical block of each in said one or more memory devices;
Confirm said given initialization whether;
If said given initialization of given logical block then detects and the buffer memory initiation parameter for said given logical block;
If said given no initializtion of given logical block then set up and the buffer memory initiation parameter for said given logical block.
5. one or more computing equipment computer-readable recording mediums according to claim 4, wherein, said method further is included in the initiation parameter of regular log record institute buffer memory in corresponding one or more memory devices.
6. one or more computing equipment computer-readable recording mediums according to claim 4, wherein, detecting also, the buffer memory initiation parameter comprises:
Detect and the nearest bad block table data structure of buffer memory;
Detect and the nearest mapping table data structure of buffer memory; And
Detect and vacant nearest list data structure of buffer memory.
7. one or more computing equipment computer-readable recording mediums according to claim 4, wherein, setting up also, the buffer memory initiation parameter comprises:
Set up and buffer memory bad block table data structure;
Set up and buffer memory mapping table data structure; And
Set up and vacant list data structure of buffer memory.
8. store the computing equipment computer-readable recording medium of instruction on one or more its, if moved by one or more processing unit, the method that comprises following content is carried out in then said instruction:
Find the permanent state of one or more memory devices; And
If do not find permanent state, then set up and buffer memory permanent state parameter for each logical block of given memory devices for given memory devices.
9. one or more computing equipment computer-readable recording mediums according to claim 8, wherein, find that said permanent state comprises:
Read the parameter page of said one or more memory devices;
Read each the given physical block of each logical block of said one or more memory devices;
Detect and the nearest bad block table data structure of buffer memory;
Detect and the nearest mapping table data structure of buffer memory; And
Detect and vacant nearest list data structure of buffer memory.
10. one or more computing equipment computer-readable recording mediums according to claim 9, wherein, setting up also, buffer memory permanent state parameter comprises:
Set up and the said bad block table data structure of buffer memory;
Set up and the said mapping table data structure of buffer memory;
Set up and the said vacant list data structure of buffer memory.
11. one or more computing equipment computer-readable recording mediums according to claim 8; Wherein, Said method comprises that further utilize said permanent state parameter one or more handle one or more memory access command; Comprise the length parameter in LBA and the logical address is translated to a plurality of physical addresss to visit one or more memory devices; Each physical address includes device address, logical block address, block address and page address, and wherein, said block address comprises one or more interleaving address position.
12. one or more computing equipment computer-readable recording mediums according to claim 11, wherein, the said device address of said a plurality of physical addresss is striden a plurality of memory devices and is shone upon.
13. one or more computing equipment computer-readable recording mediums according to claim 12, wherein, at least two in said a plurality of memory devices is different memory devices.
14. one or more computing equipment computer-readable recording mediums according to claim 12, wherein, said a plurality of memory devices comprise a plurality of open nand flash memory interfaces (ONFI) memory devices.
15. one or more computing equipment computer-readable recording mediums according to claim 12, wherein, with one or more log records of said permanent state parameter in the flash memory device of correspondence.
16. an electronic equipment comprises:
Processor;
Communicative couplings is to one or more programmable memory devices of said processor; Wherein, Each piece programmable memory device includes one or more logical blocks, and each logical block includes a plurality of, and each piece includes a plurality of locked memory pages; And
Memory Controller; Comprise hash function able to programme; Translate to a plurality of physical addresss to visit said memory devices in order to the logical address that will comprise LBA and length; Each physical address includes device address, logical block address, block address and page address, in order to stride the physical address that identical or different memory devices interweaves and shone upon.
17. electronic equipment according to claim 16, wherein, said Memory Controller further comprises permanent state parameter buffer memory, and wherein the permanent state parameter of institute's buffer memory is in order to the processing memory visit order.
18. electronic equipment according to claim 17; Wherein, Said Memory Controller is found the permanent state of said one or more programmable memory devices; And if do not find permanent state for given memory devices, would then set up the permanent state parameter for each logical block of given memory devices.
19. electronic equipment according to claim 18, wherein, the permanent state parameter of said Memory Controller regular said given programmable memory device of log record in given programmable memory device.
20. electronic equipment according to claim 19, wherein, said permanent state parameter buffer memory comprises bad block data structure, mapping (enum) data structure and vacant block data structure.
CN201080065039.1A 2009-12-30 2010-11-23 Memory devices loss equalization technology Active CN102792284B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/649,992 US20110161553A1 (en) 2009-12-30 2009-12-30 Memory device wear-leveling techniques
US12/649,992 2009-12-30
PCT/US2010/057831 WO2011090547A2 (en) 2009-12-30 2010-11-23 Memory device wear-leveling techniques

Publications (2)

Publication Number Publication Date
CN102792284A true CN102792284A (en) 2012-11-21
CN102792284B CN102792284B (en) 2016-05-04

Family

ID=44188841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080065039.1A Active CN102792284B (en) 2009-12-30 2010-11-23 Memory devices loss equalization technology

Country Status (5)

Country Link
US (1) US20110161553A1 (en)
CN (1) CN102792284B (en)
DE (1) DE112010005074T5 (en)
GB (1) GB2489355B (en)
WO (1) WO2011090547A2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109800180A (en) * 2017-11-17 2019-05-24 爱思开海力士有限公司 Method and storage system for address of cache
CN110678836A (en) * 2017-04-20 2020-01-10 阿里巴巴集团控股有限公司 Persistent memory for key value storage
CN110781102A (en) * 2019-10-29 2020-02-11 江苏微锐超算科技有限公司 Information storage and reading method of computing equipment and shared virtual medium bearing chip
CN113867650A (en) * 2016-12-23 2021-12-31 北京忆芯科技有限公司 IO command processing method and solid-state storage device

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8688955B2 (en) 2010-08-13 2014-04-01 Micron Technology, Inc. Line termination methods and apparatus
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
US8660608B2 (en) * 2010-11-12 2014-02-25 Apple Inc. Apparatus and methods for recordation of device history across multiple software emulations
US8626991B1 (en) * 2011-06-30 2014-01-07 Emc Corporation Multi-LUN SSD optimization system and method
US20130067289A1 (en) * 2011-09-14 2013-03-14 Ariel Maislos Efficient non-volatile read cache for storage system
KR20130060791A (en) * 2011-11-30 2013-06-10 삼성전자주식회사 Memory system, data storage device, memory card, and ssd including wear level control logic
US9098400B2 (en) * 2012-10-31 2015-08-04 International Business Machines Corporation Dynamic tuning of internal parameters for solid-state disk based on workload access patterns
US9424209B2 (en) 2013-09-19 2016-08-23 Intel Corporation Dynamic heterogeneous hashing functions in ranges of system memory addressing space
US10437785B2 (en) 2016-03-29 2019-10-08 Samsung Electronics Co., Ltd. Method and apparatus for maximized dedupable memory
KR102509913B1 (en) * 2017-01-25 2023-03-14 삼성전자주식회사 Method and apparatus for maximized dedupable memory
KR20180123385A (en) * 2017-05-08 2018-11-16 에스케이하이닉스 주식회사 Memory system and method of wear-leveling for the same

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030167A (en) * 2007-01-17 2007-09-05 忆正存储技术(深圳)有限公司 Flash-memory zone block management
CN101178689A (en) * 2007-12-06 2008-05-14 浙江科技学院 Dynamic state management techniques of NAND flash memory
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
US20090100307A1 (en) * 2004-08-30 2009-04-16 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
CN101419842A (en) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 Loss equalizing method, apparatus and system for hard disc
CN101470663A (en) * 2007-12-29 2009-07-01 安凯(广州)软件技术有限公司 Method for processing address discontinuity in MTD design of NAND flash memory

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4360916A (en) * 1979-12-31 1982-11-23 Ncr Canada Ltd.-Ncr Canada Ltee. Method and apparatus for providing for two bits-error detection and correction
JPH04128946A (en) * 1990-09-20 1992-04-30 Fujitsu Ltd Address conversion method
US5343481A (en) * 1991-01-07 1994-08-30 Kraft Clifford H BCH error-location polynomial decoder
US5734926A (en) * 1992-07-15 1998-03-31 Advanced Hardware Architectures Direct memory access controller in an integrated circuit
US5533035A (en) * 1993-06-16 1996-07-02 Hal Computer Systems, Inc. Error detection and correction method and apparatus
FR2737592B1 (en) * 1995-08-03 1997-10-17 Sgs Thomson Microelectronics HDLC CIRCUIT WITH SHARED INTERNAL BUS
US5787279A (en) * 1995-12-22 1998-07-28 International Business Machines Corporation System and method for conformationally-flexible molecular recognition
US6000006A (en) * 1997-08-25 1999-12-07 Bit Microsystems, Inc. Unified re-map and cache-index table with dual write-counters for wear-leveling of non-volatile flash RAM mass storage
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US7934074B2 (en) * 1999-08-04 2011-04-26 Super Talent Electronics Flash module with plane-interleaved sequential writes to restricted-write flash chips
US7457897B1 (en) * 2004-03-17 2008-11-25 Suoer Talent Electronics, Inc. PCI express-compatible controller and interface for flash memory
US6760743B1 (en) * 2000-01-04 2004-07-06 International Business Machines Corporation Instruction memory system for multi-processor environment and disjoint tasks
US8108590B2 (en) * 2000-01-06 2012-01-31 Super Talent Electronics, Inc. Multi-operation write aggregator using a page buffer and a scratch flash block in each of multiple channels of a large array of flash memory to reduce block wear
US6820142B2 (en) * 2000-12-14 2004-11-16 International Business Machines Corporation Token based DMA
US20020161941A1 (en) * 2001-04-30 2002-10-31 Sony Corporation And Electronics, Inc System and method for efficiently performing a data transfer operation
US7237016B1 (en) * 2001-09-07 2007-06-26 Palau Acquisition Corporation (Delaware) Method and system to manage resource requests utilizing link-list queues within an arbiter associated with an interconnect device
US6772276B2 (en) * 2002-01-04 2004-08-03 Intel Corporation Flash memory command abstraction
US7100103B2 (en) * 2002-01-22 2006-08-29 Broadcom Corporation Efficient method for fast decoding of BCH binary codes
US6985977B2 (en) * 2002-08-30 2006-01-10 National Instruments Corporation System and method for transferring data over a communication medium using double-buffering
US8041878B2 (en) * 2003-03-19 2011-10-18 Samsung Electronics Co., Ltd. Flash file system
US7685254B2 (en) * 2003-06-10 2010-03-23 Pandya Ashish A Runtime adaptable search processor
US7277978B2 (en) * 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7293048B2 (en) * 2003-10-29 2007-11-06 Hewlett-Packard Development Company, L.P. System for preserving logical object integrity within a remote mirror cache
EP1528478A1 (en) * 2003-11-03 2005-05-04 Sun Microsystems, Inc. Generalized addressing scheme for remote direct memory access enabled devices
JP2005202767A (en) * 2004-01-16 2005-07-28 Toshiba Corp Processor system, dma control circuit, dma control method, control method for dma controller, image processing method, and image processing circuit
US8006056B2 (en) * 2004-01-30 2011-08-23 Hewlett-Packard Development Company, L.P. Storage system including capability to move a virtual storage device group without moving data
US20050289253A1 (en) * 2004-06-24 2005-12-29 Edirisooriya Samantha J Apparatus and method for a multi-function direct memory access core
US7392330B2 (en) * 2004-07-02 2008-06-24 Mediatek Usa Inc. Memory access bandwidth allocation and latency control in a digital camera
US7689998B1 (en) * 2004-07-13 2010-03-30 Microsoft Corporation Systems and methods that manage processing resources
KR100621631B1 (en) * 2005-01-11 2006-09-13 삼성전자주식회사 Solid state disk controller apparatus
US20060236039A1 (en) * 2005-04-19 2006-10-19 International Business Machines Corporation Method and apparatus for synchronizing shared data between components in a group
US7441054B2 (en) * 2005-09-26 2008-10-21 Realtek Semiconductor Corp. Method of accessing internal memory of a processor and device thereof
US9213627B2 (en) * 2005-12-21 2015-12-15 Nxp B.V. Non-volatile memory with block erasable locations
JP4863749B2 (en) * 2006-03-29 2012-01-25 株式会社日立製作所 Storage device using flash memory, erase number leveling method thereof, and erase number level program
CN101051464A (en) * 2006-04-06 2007-10-10 株式会社东芝 Registration and varification method and device identified by speaking person
US7761636B2 (en) * 2006-11-22 2010-07-20 Samsung Electronics Co., Ltd. Method and system for providing access arbitration for an integrated circuit in a wireless device
US8151082B2 (en) * 2007-12-06 2012-04-03 Fusion-Io, Inc. Apparatus, system, and method for converting a storage request into an append data storage command
WO2008070191A2 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for a reconfigurable baseboard management controller
US8166212B2 (en) * 2007-06-26 2012-04-24 Xerox Corporation Predictive DMA data transfer
JP5087347B2 (en) * 2007-09-06 2012-12-05 株式会社日立製作所 Semiconductor memory device and method for controlling semiconductor memory device
US7877524B1 (en) * 2007-11-23 2011-01-25 Pmc-Sierra Us, Inc. Logical address direct memory access with multiple concurrent physical ports and internal switching
US8464021B2 (en) * 2008-05-28 2013-06-11 Spansion Llc Address caching stored translation
US8176295B2 (en) * 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8392806B2 (en) * 2009-09-02 2013-03-05 Texas Instruments Incorporated Method, device, and digital circuitry for providing a closed-form solution to a scaled error locator polynomial used in BCH decoding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090100307A1 (en) * 2004-08-30 2009-04-16 Silicon Storage Technology, Inc. Systems and methods for providing nonvolatile memory management in wireless phones
TW200823923A (en) * 2006-11-23 2008-06-01 Genesys Logic Inc Caching method for address translation layer of flash memory
CN101030167A (en) * 2007-01-17 2007-09-05 忆正存储技术(深圳)有限公司 Flash-memory zone block management
CN101178689A (en) * 2007-12-06 2008-05-14 浙江科技学院 Dynamic state management techniques of NAND flash memory
CN101470663A (en) * 2007-12-29 2009-07-01 安凯(广州)软件技术有限公司 Method for processing address discontinuity in MTD design of NAND flash memory
CN101419842A (en) * 2008-11-07 2009-04-29 成都市华为赛门铁克科技有限公司 Loss equalizing method, apparatus and system for hard disc

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113867650A (en) * 2016-12-23 2021-12-31 北京忆芯科技有限公司 IO command processing method and solid-state storage device
CN110678836A (en) * 2017-04-20 2020-01-10 阿里巴巴集团控股有限公司 Persistent memory for key value storage
CN110678836B (en) * 2017-04-20 2024-02-09 阿里巴巴集团控股有限公司 Persistent memory for key value storage
CN109800180A (en) * 2017-11-17 2019-05-24 爱思开海力士有限公司 Method and storage system for address of cache
CN110781102A (en) * 2019-10-29 2020-02-11 江苏微锐超算科技有限公司 Information storage and reading method of computing equipment and shared virtual medium bearing chip

Also Published As

Publication number Publication date
WO2011090547A2 (en) 2011-07-28
GB201211590D0 (en) 2012-08-15
DE112010005074T5 (en) 2012-12-27
GB2489355A (en) 2012-09-26
WO2011090547A3 (en) 2011-10-06
CN102792284B (en) 2016-05-04
US20110161553A1 (en) 2011-06-30
GB2489355B (en) 2017-08-16

Similar Documents

Publication Publication Date Title
CN102792284B (en) Memory devices loss equalization technology
US11119940B2 (en) Sequential-write-based partitions in a logical-to-physical table cache
US10296224B2 (en) Apparatus, system and method for increasing the capacity of a storage device available to store user data
US9520992B2 (en) Logical-to-physical address translation for a removable data storage device
CN107111551B (en) Apparatus, system, and method for caching compressed data context
CN111033477B (en) Logical to physical mapping
US10496334B2 (en) Solid state drive using two-level indirection architecture
US10915475B2 (en) Methods and apparatus for variable size logical page management based on hot and cold data
US20170249219A1 (en) Data storage device and flash memory control method
US8001317B2 (en) Data writing method for non-volatile memory and controller using the same
CN110998550B (en) Memory addressing
US9594675B2 (en) Virtualization of chip enables
US11249897B2 (en) Data storage device and operating method thereof
US9021218B2 (en) Data writing method for writing updated data into rewritable non-volatile memory module, and memory controller, and memory storage apparatus using the same
KR102649131B1 (en) Apparatus and method for checking valid data in block capable of large volume data in memory system
US20200057725A1 (en) Data storage device and operating method thereof
CN106557432B (en) Buffer storage supervisory method, memorizer control circuit unit and storage device
US20170270045A1 (en) Hybrid memory device and operating method thereof
CN113535605A (en) Storage device and operation method thereof
CN115617503A (en) System and method for load balancing in heterogeneous memory systems
US11061598B2 (en) Optimized handling of multiple copies in storage management
US10684953B2 (en) Data storage apparatus capable of varying map cache buffer size
CN113885808A (en) Mapping information recording method, memory control circuit unit and memory device
US9575883B2 (en) Control device, storage device, and storage control method
KR20190091035A (en) Memory system and operating method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Saxena Nirmal

Inventor after: Tsai Howard

Inventor after: Vyshetsky Dimitry

Inventor after: Lin Yunzhong

Inventor before: Saxena Nirmal

Inventor before: Tsai Howard

Inventor before: Vyshetsky Dimitry

Inventor before: Yan *lin

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SAXENA NIRMAL TSAI HOWARD YYSHETSKY DIMITRY LIN YEN TO: SAXENA NIRMAL TSAIHOWARD YYSHETSKY DIMITRY LIN YUNZHONG

C53 Correction of patent of invention or patent application
CB03 Change of inventor or designer information

Inventor after: Saxena Nirmal

Inventor after: Cai Hao

Inventor after: Vyshetsky Dimitry

Inventor after: Lin Yunzhong

Inventor before: Saxena Nirmal

Inventor before: Tsai Howard

Inventor before: Vyshetsky Dimitry

Inventor before: Lin Yunzhong

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: SAXENA NIRMAL TSAI HOWARD YYSHETSKY DIMITRY LIN YUNZHONG TO: SAXENA NIRMALCAI HAO YYSHETSKY DIMITRY LIN YUNZHONG

C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant