EP1700220A1 - Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern - Google Patents

Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Info

Publication number
EP1700220A1
EP1700220A1 EP05850471A EP05850471A EP1700220A1 EP 1700220 A1 EP1700220 A1 EP 1700220A1 EP 05850471 A EP05850471 A EP 05850471A EP 05850471 A EP05850471 A EP 05850471A EP 1700220 A1 EP1700220 A1 EP 1700220A1
Authority
EP
European Patent Office
Prior art keywords
memory
real
block number
memory blocks
numbers
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.)
Withdrawn
Application number
EP05850471A
Other languages
German (de)
English (en)
French (fr)
Inventor
Reinhard KÜHNE
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.)
Hyperstone AG
Original Assignee
Hyperstone AG
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 Hyperstone AG filed Critical Hyperstone AG
Publication of EP1700220A1 publication Critical patent/EP1700220A1/de
Withdrawn legal-status Critical Current

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Definitions

  • the invention describes a method for managing memory blocks in a nonvolatile memory system with individually erasable memory blocks which can be addressed with real memory block numbers and which are addressable by an address conversion by means of allocator tables from a logical block number into respectively one of the real memory block numbers.
  • Flash memory is used in many computer systems, especially in removable memory cards for digital cameras and portable computers. Flash memories are organized in blocks of memory with many sectors each. Essential features of these memories are that only a limited number of write and delete operations are possible and that deletion is possible only in memory blocks containing multiple sectors. The write and erase operations take much more time (up to a factor of 50) than reading.
  • the conversion of logical memory addresses into real memory addresses is known in flash memory systems, for example from DE 102 27 256 for the uniform wear of real memory blocks or from DE 103 41 616, to manage defective real memory blocks. The memory systems are getting more and more memory capacity, so the memory block addresses are getting longer and the conversion tables from logical to real memory block addresses are getting bigger and bigger.
  • Small memory block sizes about 4 Kbytes, are favorable in order not to make the loss of unused space in the memory blocks too large for file systems with many small files.
  • larger memory blocks of 32 KB to 256 KB are now formed in order to keep the conversion tables correspondingly smaller. It is important to limit the address pointers in the tables to 16 bits in order to be able to carry out the address conversion quickly and efficiently. It is an object of the invention to efficiently manage storage systems of different sizes with uniform table structures with different real memory block sizes.
  • This object is achieved by assigning the logical block number via a first table to a physical memory block number and assigning the physical memory block number to a real memory block number via a second table, one or more physical memory blocks being addressed with a physical memory block number.
  • the second table allocates one or more physical memory blocks to a physical memory block number, the size of the real memory blocks being determined by the
  • Structuring the memory chips used is given. For example, chips with block sizes of 4 Kbytes or with block sizes of 32 Kbytes, 64 Kbytes, 128 Kbytes or even larger real blocks are used.
  • Size of the real memory blocks is performed.
  • the method can thus be used in many different sized storage systems.
  • the management of defective real memory blocks is performed only by means of the second address translation table, by replacing the numbers of defective memory blocks by the numbers of functional memory blocks in the second table.
  • the numbers of defective memory blocks are then carried in unused areas of the second table.
  • the formation of the physical memory blocks in the first address translation table has the advantage that large memory blocks are formed of multiple real memory blocks to which a memory operation is shared, no matter where the real memory blocks are located in the memory chips. This increases the speed of processing the memory operations. The speed of processing the memory operations is further increased when the real memory blocks reside in different memory chips. Then, the memory operations such as "write” or "erase” are performed in parallel in the memory chips (interleaving). In some types of memory chips, a large number of memory blocks are grouped in so-called banks, which are parallel
  • Memory operations can perform. If the physical memory blocks each only consist of real memory blocks which are located in different banks and in different memory chips, the parallel processing of memory operations on all real memory blocks is carried out and a maximum processing speed is achieved.
  • the address translation tables are kept in management-reserved non-volatile real memory blocks. They are thus available even after a power failure. For fast processing of the memory operations, copies of currently required parts of the address translation tables are additionally cached in an internal fast RAM memory.
  • the numbers of the memory blocks reserved for the management of the memory system are not included in the first address translation table. They can not be addressed from outside via logical sector numbers. A small percentage of memory blocks, about 3%, are reserved for the replacement of memory blocks that have become corrupted. Also, the numbers of these real memory blocks are not included in the first address translation table. They can not be addressed from outside via logical sector numbers.
  • Fig. 1 shows a block diagram of a memory system with 12 memory chips.
  • Fig. 2 shows the structure of the two address conversion tables.
  • Fig. 3 shows two examples of the translation of logical addresses into real addresses.
  • FIG. 1 shows a block diagram for a memory system comprising twelve memory chips CO to CI 1 each having a memory capacity of 128 megabytes.
  • the storage system thus has a size of 1.5 gigabytes.
  • Memory operations such as "read” and “write” can be done with logical sectors of 512 bytes each - A -
  • a physical memory block PB now comprises sixteen real memory blocks of the four chips of a superchip, each consisting of four independent banks with a total of 64 Kbytes.
  • the physical block PB is formed in the superchip SCO with the chips CO to C3 each having one real memory block in each of the four by four banks BA0 to BA3. All physical memory blocks of the physical block PB can thus execute a memory operation in parallel.
  • FIGS. 2A and 2B Two examples of address translations are given in FIGS. 2A and 2B.
  • a memory operation is to be performed on the logical sector LSN numbered 127.
  • the logical sector number is divided into the components sector number in a page PN, tuple index TI and logical block number LBN. Since sixteen blocks each having eight sectors are combined into one physical sector, a physical sector number between 0 and 127 results.
  • the real sector numbers in a page are not necessarily continuous, but may have gaps depending on the size of the page.
  • a page has four real sectors and two pages are combined into a real block. Since consecutive pages are arranged in consecutive banks, gaps in the numbering of the real sectors arise in a real block according to the number of banks and chips. In this
  • Bit6 B6 is considered to be the uppermost bit of the real sector number.
  • the physical sector number PSN becomes 127.
  • the bit B6 is used as the fifth bit of the real sector number RSN.
  • the real sector number RSN becomes 31.
  • the logical sector number 1011769 is split.
  • the physical sector number has the value 125.
  • the bit B6 is used as the fifth bit of the real sector number RSN.
  • the real sector number RSN becomes 25.
  • FIG. 3 shows the structure of the two tables LTP and PTR.
  • the logical block number LBN is translated into the address of a physical block consisting of the super chip number SCN and the physical block number PBN.
  • the superchip number is thus 2 bits wide.
  • a physical block number consists of thirteen bits and can therefore assume values from 0 to 8191. To accommodate 32 management blocks and 256 spare blocks each, the values are only up to 7903 and 7935, respectively.
  • the logical block number LBN in this example is 16 bits wide and can take values between 0 and 24319, corresponding to the sum of the physical blocks of the three super chips SCO to SC2.
  • the pointers from the first table LTP serve as an index in the second table PTR. They each point to a tuple of sixteen real blocks arranged in four by four banks BAO to BA3. A tuple is arranged in four chips of a superchip. This results in a table with 16 columns, in each of which the real block numbers of a bank are specified. Values between 0 and 7903 or 7935 can be specified as long as no substitute blocks have been entered. For example, e.g. in the second line at the last position a replacement block EB registered, which then has a larger block number.
  • the block numbers can only have values modulo the bank number. Through administrative operations, however, the block numbers can be swapped arbitrarily within the banks.
  • the rows of the table PTR that can not be addressed by a physical block number are unused, here each identified by a U.
  • the real memory blocks to be addressed by the two examples from FIG. 2 are indicated by hatching in the table.

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 (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)
EP05850471A 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern Withdrawn EP1700220A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102005001038A DE102005001038B3 (de) 2005-01-07 2005-01-07 Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
PCT/EP2005/056985 WO2006072549A1 (de) 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Publications (1)

Publication Number Publication Date
EP1700220A1 true EP1700220A1 (de) 2006-09-13

Family

ID=36202117

Family Applications (1)

Application Number Title Priority Date Filing Date
EP05850471A Withdrawn EP1700220A1 (de) 2005-01-07 2005-12-20 Verfahren zur umsetzung von logischen in reale blockadressen in flashspeichern

Country Status (9)

Country Link
US (1) US20080201517A1 (zh)
EP (1) EP1700220A1 (zh)
JP (1) JP2008527581A (zh)
KR (1) KR20070092712A (zh)
CN (1) CN101099136A (zh)
CA (1) CA2591957A1 (zh)
DE (1) DE102005001038B3 (zh)
TW (1) TW200636465A (zh)
WO (1) WO2006072549A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009129819A1 (en) * 2008-04-21 2009-10-29 Nokia Corporation Method and device for n times writeable memory devices
US10445229B1 (en) 2013-01-28 2019-10-15 Radian Memory Systems, Inc. Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies
US9652376B2 (en) 2013-01-28 2017-05-16 Radian Memory Systems, Inc. Cooperative flash memory control
US11249652B1 (en) 2013-01-28 2022-02-15 Radian Memory Systems, Inc. Maintenance of nonvolatile memory on host selected namespaces by a common memory controller
CN103336751B (zh) * 2013-07-10 2015-12-30 广西科技大学 寻址功能与存储单元一体化存储控制器
TWI502345B (zh) * 2014-05-12 2015-10-01 Via Tech Inc 快閃記憶體控制晶片以及資料儲存裝置以及快閃記憶體控制方法
US9542118B1 (en) 2014-09-09 2017-01-10 Radian Memory Systems, Inc. Expositive flash memory control
KR102591888B1 (ko) * 2018-03-16 2023-10-24 에스케이하이닉스 주식회사 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 이의 동작 방법
TWI821152B (zh) * 2021-02-23 2023-11-01 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
TWI808384B (zh) * 2021-02-23 2023-07-11 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040454A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for performing multi-page write operations in a non-volatile memory system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404485A (en) * 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US6938144B2 (en) * 2001-03-22 2005-08-30 Matsushita Electric Industrial Co., Ltd. Address conversion unit for memory device
JP2002358795A (ja) * 2001-05-31 2002-12-13 Hitachi Ltd 不揮発性半導体記憶装置および製造方法
JP4248772B2 (ja) * 2001-07-05 2009-04-02 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US6798696B2 (en) * 2001-12-04 2004-09-28 Renesas Technology Corp. Method of controlling the operation of non-volatile semiconductor memory chips
DE10227256C1 (de) * 2002-06-19 2003-12-18 Hyperstone Ag Verfahren zum Adressieren von blockweise löschbaren Speichern
DE10341616A1 (de) * 2003-09-10 2005-05-04 Hyperstone Ag Verwaltung defekter Blöcke in Flash-Speichern
US7200733B2 (en) * 2003-09-11 2007-04-03 Honeywell International Inc. Virtual memory translator for real-time operating systems
US7167970B2 (en) * 2004-05-24 2007-01-23 Sun Microsystems, Inc. Translating loads for accelerating virtualized partition

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004040454A2 (en) * 2002-10-28 2004-05-13 Sandisk Corporation Method and apparatus for performing multi-page write operations in a non-volatile memory system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2006072549A1 *

Also Published As

Publication number Publication date
TW200636465A (en) 2006-10-16
KR20070092712A (ko) 2007-09-13
DE102005001038B3 (de) 2006-05-04
US20080201517A1 (en) 2008-08-21
WO2006072549A1 (de) 2006-07-13
JP2008527581A (ja) 2008-07-24
CA2591957A1 (en) 2006-07-13
CN101099136A (zh) 2008-01-02

Similar Documents

Publication Publication Date Title
DE102005001038B3 (de) Verfahren zur Umsetzung von logischen in reale Blockadressen in Flashspeichern
DE60316171T2 (de) Automatischer abnutzungsausgleich in einem nicht-flüchtigen speichersystem
DE69034191T2 (de) EEPROM-System mit aus mehreren Chips bestehender Blocklöschung
DE60019903T2 (de) Speichersystem
DE60319563T2 (de) Verwaltung der anzahl von löschungen in einem nicht-fluchtigem speicher
DE60319407T2 (de) Verfolgen der am häufigsten gelöschten blöcke eines nichtflüchtigen speichersystems
DE60030876T2 (de) Bereichsverwaltung eines nichtflüchtigen Speichers mit hoher Kapazität
DE19782041B4 (de) Verfahren zum Durchführen eines kontinuierlichen Überschreibens einer Datei in einem nicht-flüchtigen Speicher
DE69414556T2 (de) Schnell loeschbare datei
DE112010003887B4 (de) Datenverwaltung in Halbleiter-Speichereinheiten
DE102009034651A1 (de) Prozess und Verfahren zur Abbildung von logischen Adressen auf physische Adressen in Festkörperplatten
DE60122155T2 (de) Flashspeicherarchitektur zur implementierung von gleichzeitigen programmierbaren flashspeicherbanken mit host-kompatibilität
DE60217883T2 (de) Verfahren zum schreiben von daten in einen nicht-flüchtigen speicher
DE112020000139T5 (de) Nicht sequentiell in zonen aufgeteilte namensräume
EP2401680B1 (de) Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen
DE102006005877A1 (de) Adresszuordnungstabelle und Verfahren zum Erzeugen einer Adresszuordnungstabelle
DE102009048179A1 (de) Prozess und Verfahren für eine Löschstrategie in Festkörperplatten
EP2215636B1 (de) VERFAHREN ZUR GLEICHMÄßIGEN NUTZUNG MEHRERER FLASHSPEICHERCHIPS
EP1665053A1 (de) Verwaltung gel schter bl cke in flash-speichern
DE112022000468T5 (de) Unterschiedliche schreibpriorisierung in zns-vorrichtungen
DE112010005870B4 (de) Verfahren zur Freigabe nicht länger benötigter Speicherbereiche auf nichtflüchtigen Speichermedien
DE10227255B4 (de) Verfahren zur Wiederherstellung von Verwaltungsdatensätzen eines blockweise löschbaren Speichers
DE10349595B3 (de) Verfahren zum Schreiben von Speichersektoren in einem blockweise löschbaren Speicher
WO2009143885A1 (de) Verfahren zum adressieren von seitenorientierten nichtflüchtigen speichern
EP1665287B1 (de) Verwaltung defekter bl cke in flash-speichern

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20060630

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK YU

17Q First examination report despatched

Effective date: 20061013

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20090519