WO2009096180A1 - メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム - Google Patents
メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム Download PDFInfo
- Publication number
- WO2009096180A1 WO2009096180A1 PCT/JP2009/000334 JP2009000334W WO2009096180A1 WO 2009096180 A1 WO2009096180 A1 WO 2009096180A1 JP 2009000334 W JP2009000334 W JP 2009000334W WO 2009096180 A1 WO2009096180 A1 WO 2009096180A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- partition
- size
- logical
- address
- physical
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Definitions
- the present invention relates to a memory controller for controlling a nonvolatile memory, a nonvolatile storage device having a memory controller, and a nonvolatile storage system having a nonvolatile storage device and an access device.
- semiconductor recording media such as semiconductor recording media, magnetic disks, optical disks, and magneto-optical disks.
- semiconductor recording media are small and light, and in recent years, their capacity, speed, and price have been rapidly increasing, so digital still cameras, mobile phones, portable music players, televisions, DVD recorders, and so on. It can be used with various devices.
- an SD memory card registered trademark
- an SD memory card having a very large capacity such as 8 gigabytes or 16 gigabytes has recently been marketed.
- the storage capacity of the nonvolatile storage device increases in this way, generally, the number of cases where one nonvolatile storage device is used in a plurality of applications increases.
- Patent Document 1 discloses a method for creating, deleting, and resizing a partition in a state where data is stored in a partition constructed in a nonvolatile storage device. JP-A-5-81091
- Such partition fragmentation is performed by converting a logical address (hereinafter referred to as a “logical address”) in a partition currently in use into a physical address (hereinafter referred to as a “physical address”).
- the physical address conversion process (hereinafter referred to as “logical / physical conversion process”) is complicated. This causes a problem that the processing speed of reading and writing, which is the main function of the nonvolatile memory device, is constantly reduced.
- a memory controller of the present invention is a memory controller that accesses a nonvolatile memory in which a logical address space of a storage area is divided, and the partition number that divides the logical address space, and the partition A partition management table that holds the size of the non-volatile memory, a logical-physical conversion table that associates a physical address of the non-volatile memory with a logical address of the non-volatile memory, and a partition change command when receiving a partition change command from the outside.
- the storage area management unit that changes the size of the partition and changes the correspondence between the logical address and the physical address in the logical-physical conversion table according to the amount of change in the size of the partition, and the storage area management unit It is to anda memory interface for accessing the non-volatile memory using the physical address obtained from the object conversion table.
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is to increase the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is larger by the size increase.
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is reduction of the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is smaller by the size reduction.
- a nonvolatile memory device of the present invention includes a nonvolatile memory in which a logical address space of a storage area is divided, and a memory controller that accesses the nonvolatile memory.
- the memory controller includes a partition management table that holds a partition number and a partition size that divides the logical address space, and a logical-physical conversion table that associates a physical address of the nonvolatile memory with a logical address of the nonvolatile memory.
- the partition change command is received from the outside, the size of the partition in the partition management table is changed, and the logical address and physical address in the logical-physical conversion table are changed according to the amount of change in the size of the partition.
- a memory interface that accesses the nonvolatile memory using a physical address acquired from the logical-physical conversion table by the storage area management unit. .
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is to increase the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is larger by the size increase.
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is reduction of the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is smaller by the size reduction.
- a nonvolatile storage system of the present invention is a nonvolatile system including a nonvolatile storage device and an access device that accesses the nonvolatile storage device.
- the nonvolatile memory device includes a nonvolatile memory and a memory controller that accesses the nonvolatile memory.
- the memory controller includes a partition management table that holds a partition number and a partition size that divides the logical address space, and a logical-physical conversion table that associates a physical address of the nonvolatile memory with a logical address of the nonvolatile memory.
- the size of the partition in the partition management table is changed, and the logical address and physical address in the logical-physical conversion table are changed according to the amount of change in the size of the partition.
- a memory interface that accesses the nonvolatile memory using a physical address acquired from the logical-physical conversion table by the storage area management unit.
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is to increase the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is larger by the size increase.
- the storage area management unit updates the partition management table so that the size of the partition becomes a specified size when the change command is reduction of the size of the partition, and the partition whose size is changed
- the logical-physical conversion table may be updated so that the address of the physical block corresponding to the subsequent partition corresponds to the address of the logical block whose address is smaller by the size reduction.
- the present invention since the logical / physical conversion table is updated every time the size of the partition is changed, fragmentation of the partition in the logical / physical conversion table can be prevented. As a result, since complexity of the logical / physical conversion process can be avoided, the present invention can prevent a decrease in processing speed of reading and writing due to repeated resizing of the partition.
- Nonvolatile memory device 110
- Memory controller 111
- Access interface 112
- Logical-physical conversion table 113
- Free physical block management table 114
- Partition management table 115
- Storage area management part 116
- Memory interface 120
- Nonvolatile memory 121
- System data storage area 122
- Data storage area 200 Access apparatus
- FIG. 1 shows a configuration example of the nonvolatile storage system in the present embodiment.
- the nonvolatile storage system in FIG. 1 includes a nonvolatile storage device 100 and an access device 200.
- the nonvolatile storage device 100 includes a memory controller 110 and a nonvolatile memory 120.
- the memory controller 110 includes an access interface 111, a logical / physical conversion table 112, a physical block management table 113, a partition management table 114, a storage area management unit 115, and a memory interface 116.
- the access interface 111 transmits and receives commands and data to and from the access device 200.
- the logical-physical conversion table 112 is a table that holds physical block addresses corresponding to logical block addresses.
- a “logical block” is a block divided into units of 256 kbytes (B) in the logical address space.
- the physical block management table 113 is a table that holds the usage status of each physical block in the nonvolatile memory 120.
- the partition management table 114 is a table that holds the partition number set for the nonvolatile memory 120 and the size of each partition.
- the storage area management unit 115 manages the update of the logical-physical conversion table 112, the physical block management table 113, and the partition management table 114, and uses these tables 112, 113, and 114 to determine a physical block for reading and writing data. To do.
- the memory interface 116 controls reading of data from the nonvolatile memory 120 and writing of data to the nonvolatile memory 120.
- the non-volatile memory 120 is a flash memory, and includes a system data storage area 121 and a data storage area 122.
- the system data storage area 121 stores system data used for managing the nonvolatile memory 120.
- the system data includes the following.
- the data storage area 122 is content such as music data and video data accessed by the access device 200 Data, file system data, and the like are stored.
- content data is managed by a file system such as a FAT file system, the file system data is stored in the data storage area 122.
- the access device 200 transmits a command to the nonvolatile storage device 100 to read / write data.
- the command to be transmitted includes a partition number and a relative logical address (RLA) indicating the position of the logical block within the partition.
- FIG. 2 is a schematic diagram showing the nonvolatile memory 120.
- the nonvolatile memory 120 has a plurality of physical blocks which are data erasing units. Although the size and number of physical blocks vary depending on the type of flash memory, the nonvolatile memory 120 of this embodiment has, for example, 1024 physical blocks PB0000 to PB1023, and one physical block is 256 kbytes.
- the data of (B) is stored.
- FIG. 3 is a schematic diagram for explaining the correspondence relationship between the tables 112, 113, and 114.
- the logical-physical conversion table 112 holds, for example, 1000 logical block addresses from logical blocks LB0000 to LB0999.
- the non-volatile memory 120 has 1024 physical blocks, and among them, there are defective blocks and the like that cannot be written, so the number of logical block addresses to be held is set to be smaller than “1024”.
- the logical-physical conversion table 112 holds a physical block address corresponding to each of the logical blocks LB0000 to LB0005.
- the physical block PB0001 corresponds to the logical block LB0000
- the physical block PB0000 corresponds to the logical block LB0001.
- the logical block LB0006 to LB0999 holds a value indicating “unallocated” of the physical block.
- the value indicating “unallocated” is, for example, the address of a physical block that does not exist, such as PB1024.
- the physical block management table 113 is in a “vacant” state in which each physical block of the nonvolatile memory 120 does not store valid data or a “in use” state in which valid data is stored. Information indicating whether or not. For example, the physical blocks PB0000 to PB0003, PB0005, and PB0007 held in the logical-physical conversion table 112 are “in use”, and the other physical blocks are “free”.
- the partition management table 114 holds a partition number PTn (n: an integer from 0 to 3) that is an identifier of the partition, and the number of logical blocks included in the partition for each partition number.
- the table 114 holds four partitions PT0 to PT3. The number of logical blocks included in each partition is “2” for the partition PT0, “3” for the partition PT1, “0” for the partition PT2, and the partition PT3. Then, it is “1”.
- the storage area management unit 115 detects a logical block designated by the access device 200.
- a method of associating the logical blocks of the table 112 with the partitions of the table 114 will be described with reference to FIG.
- the access device 200 designates a partition PT1 and a relative logical address “0” with a data read / write command.
- the value indicated by the relative logical address is an integer greater than or equal to 0, and the value indicates what number the specified logical block is when the logical block at the beginning of the partition is counted in order as 0th. ing.
- the access device 200 designates the first logical block of the partition PT1.
- the access device 200 cannot specify a partition whose size is “0” when reading and writing data.
- the storage area management unit 115 detects all the sizes of the partitions having numbers smaller than the designated partition PT1 from the partition management table 114.
- the size detected here is only “2” of the partition PT0.
- the storage area management unit 115 adds the relative logical address “0” to the size “2” to obtain a numerical value “2”.
- the storage area management unit 115 detects the second logical block LB0002 counted from the zeroth logical block LB0000 of the table 112. As a result, the logical block designated by the access device 200 with the partition PT1 and the relative logical address “0” becomes the logical block LB0002.
- the top logical block of the partition PT1 is the logical block LB0002.
- the storage area management unit 115 obtains the numerical value “4” in the same manner, and detects the fourth logical block LB0004 counted from the zeroth logical block LB0000 of the table 112.
- This logical block LB0004 is a logical block designated by the access device 200 with the partition PT1 and the relative logical address “2”.
- the upper limit of the relative logical address that can be specified in the partition PT1 is a value “2” that is “1” smaller than the size of the partition PT1.
- the logical block designated by the access device 200 with the partition PT1 and the relative logical address “2” is the logical block at the end of the partition PT1
- the logical block at the end of the partition PT1 is the logical block LB0004.
- the storage area management unit 115 uses the partition management table 114, so that the logical blocks LB0002 to LB0004 correspond to the partition PT1. Similarly, the logical blocks LB0000 and LB0001 correspond to the partition PT0, and the logical block LB0005 corresponds to the partition PT3. As described above, in this embodiment, each time data is read or written, a logical block that is a data read / write target is detected using the partition number and the relative logical address. An example of the operation of the nonvolatile memory system in this embodiment will be described with reference to FIGS. First, initialization processing of the nonvolatile memory device 100 will be described.
- the access device 200 transmits an initialization command when the power is turned on or the nonvolatile storage device 100 is mounted.
- FIG. 4 is an operation flow of the nonvolatile storage device 100 when the access device 200 transmits an initialization command to the nonvolatile storage device 100.
- the storage area management unit 115 clears the internal memory including the tables 112, 113, and 114, confirms the connection of the nonvolatile memory 120, and initializes the hardware. (S101). Thereafter, the storage area management unit 115 acquires address management information and the like stored in the system data storage area 121 of the nonvolatile memory 120 (S102). Subsequently, the storage area management unit 115 creates tables 112, 113, and 114 in the internal memory based on the acquired address management information, and completes the initialization process (S103).
- FIG. 5 shows the tables 112, 113, and 114 when the sizes of all the partitions are “0”. Here, it is assumed that the tables 112, 113, and 114 created by the initialization process are in the state shown in FIG.
- the access device 200 changes the size of the partition to a value larger than “0”.
- the access device 200 transmits a partition size change command for setting the size of the partition PT0 to “2” to the nonvolatile storage device 100.
- the storage area management unit 115 updates the partition management table 114 so that the size of the partition PT0 becomes the value “2”.
- the partition management table 114 is in the state shown in FIG.
- the part updated in FIG. 6 is underlined.
- the tables 112, 113, and 114 other than those in FIG. 6 are similarly underlined to indicate the updated portions.
- the non-volatile storage device 100 receives a change command for setting the size of the partition PT1 to the value “3” from the access device 200, and further sets the size of the partition PT2 to the value “2”.
- a change command for setting the size to the value “1” is received in order.
- the storage area management unit 115 updates the partition management table 114 to the state shown in FIG.
- the storage area management unit 115 uses the designated partition number and the relative logical address RLA as a basis.
- the logical block LB0000 is acquired (S201).
- the storage area management unit 115 refers to the logical-physical conversion table 112 and acquires a physical block corresponding to the logical block LB0000 (S202). In the logical-physical conversion table 112 in FIG. 7, there is no physical block corresponding to the logical block LB0000.
- the nonvolatile storage device 100 acquires an arbitrary free physical block, for example, the physical block PB0001, and erases the acquired physical block PB0001 (S203). Thereafter, data from the access device is written into the erased physical block PB0001 (S204). If the size of the write data received from the access device 200 is smaller than 256 kB, which is the size of the physical block PB0001, the physical block data detected in S202 is copied.
- the storage area management unit 115 updates the logical-physical conversion table 112 so that the physical block PB0001 corresponds to the logical block LB0000 (S205). As a result, the logical-physical conversion table 112 is in the state shown in FIG. Further, the storage area management unit 115 updates the physical block management table 113 as shown in FIG. 9 to set the state of the physical block PB0001 to “in use” (S205). The storage area management unit 115 updates the address management information and the like in the system data storage area 121 based on the update of the tables 112 and 113 in S205 (S206). As a result, even when the power of the nonvolatile storage device 100 is turned on again, the change in S205 becomes effective.
- the storage area management unit 115 acquires the logical block LB0003 as the data write destination by the same process. . Also in this case, since there is no physical block corresponding to the logical block LB0003, the nonvolatile storage device 100 acquires, for example, the physical block PB0005, writes data from the access device, and updates the tables 112 and 113. The updated tables 112 and 113 are in the state shown in FIG. Assume that the access device 200 further writes data, and the tables 112, 113, and 114 are in the state shown in FIG. FIG. 11 shows a state in which physical blocks correspond to all logical blocks in each partition.
- FIG. 12 is a flowchart for explaining the operation when the size of a partition is set to “0”.
- the storage area management unit 115 refers to the tables 112 and 114 and detects physical blocks PB0004 and PB0037 corresponding to the logical block of the partition PT2 (S301).
- the physical block management table 113 is updated so that the states of the physical blocks PB0004 and PB0037 are “free” (S302). By this update, the physical block management table 113 is in the state shown in FIG.
- the storage area management unit 115 moves the physical block address corresponding to the partition after the partition PT2 in the logical-physical conversion table 112.
- the physical block address PB0002 corresponding to the logical block address LB0007 of the partition PT3 is moved so as to correspond to the logical block having the smaller address by the size of two logical blocks having the size of the partition PT2 (S303).
- the physical block address corresponding to the logical block address LB0005 is changed from PB0004 to PB0002.
- the physical block address PB0037 remains in a state corresponding to the logical block address LB0006, the physical block address for the address LB0006 is changed to a value indicating “unallocated”. Also, the physical block address for the logical block address LB0007 is changed to a value indicating “unallocated”. By this change, the logical-physical conversion table 112 becomes a state shown in FIG.
- FIG. 14 is a flowchart showing an operation when the nonvolatile storage device 100 receives a size change command from the access device 200.
- the storage area management unit 115 refers to the partition management table 114, recognizes the size “3” of the partition PT1 as the size before change, and notifies the size before change. Compared with the changed size “4”, it is determined whether or not the partition size is “reduction” (S401). Here, since the post-change size is larger than the pre-change size, the storage area management unit 115 determines that the size of the partition PT1 is “enlarged”.
- the storage area management unit 115 updates the partition management table 114 so that the size of the partition PT1 becomes the value “4” that is the changed size (S402). By this update, the partition management table 114 is in the state shown in FIG. Further, the storage area management unit 115 moves the physical block address corresponding to the partition after the partition PT1 in the logical-physical conversion table 112. Here, the storage area management unit 115 moves the physical block address PB0002 corresponding to the logical block address LB0005 of the partition PT3 so that the address is increased by one logical block that is the size increase of the partition PT1 (S403). .
- the physical block address PB0002 corresponds to the logical block address LB0006.
- the physical block address corresponding to the address LB0005 is updated to a value indicating “unallocated”. By this update, the logical-physical conversion table 112 is in the state shown in FIG.
- the storage area management unit 115 updates the address management information and the like in the system data storage area 121 (S404). As a result, even when the power of the nonvolatile memory device 100 is turned on again, the changes made in S402 to S404 become effective. Thereafter, a case where the access device 200 transmits a size change command for changing the size of the partition PT0 from “2” to “1” will be described with reference to FIGS. 14 and 16.
- the storage area management unit 115 detects the last logical block LB0001 among the logical blocks corresponding to the partition PT0 (S405).
- the storage area management unit 115 proceeds to the first logical block in order from the detected logical block address LB0001, and only one logical block that is the difference between the size before change and the size after change.
- the logical block address is detected (S406).
- S406 the address LB0001 is detected.
- the storage area management unit 115 detects the physical block PB0000 corresponding to the detected logical block LB0001 using the logical-physical conversion table 112 (S407). Thereafter, the storage area management unit 115 updates the detected physical block PB0000 to be “free” (S408). The storage area management unit 115 updates the partition management table 114 so that the size of the partition PT0 becomes the value “1” that is the changed size (S409). By this update, the partition management table 114 is in the state shown in FIG. Further, the storage area management unit 115 moves a physical block corresponding to a partition after the partition PT0 in the logical-physical conversion table 112.
- the physical block address and “unallocated” information corresponding to the logical block addresses LB0002 to LB0005 of the partition PT1, and the physical block address corresponding to the logical block address LB0006 of the partition PT3 are logically reduced by the size of the partition PT0. Only one block moves so as to correspond to a logical block address having a smaller address (S410). Further, the physical block address for the address LB0006 is updated to a value indicating “unallocated”. By this update, the logical-physical conversion table 112 is in the state shown in FIG.
- the storage area management unit 115 updates the address management information and the like in the system data storage area 121 (S404). As a result, even when the power of the nonvolatile memory device 100 is turned on again, the changes made in S405 to S410 become effective.
- the access device 200 transmits a size change command for changing the size of the partition PT2 from “0” to “3” will be described with reference to FIGS. 17 and 18.
- the storage area management unit 115 updates the partition management table 114 so that the size of the partition PT2 becomes “3” (S501).
- the storage area management unit 115 moves the physical block address corresponding to the partition after the partition PT2 in the logical-physical conversion table 112.
- the physical block address PB0002 corresponding to the logical block address LB0005 of the partition PT3 is moved so as to correspond to the logical block address having a larger address by the size of the three logical blocks corresponding to the size increase of the partition PT2 (S502).
- the physical block address PB0002 corresponds to the logical block address LB0008.
- the physical block address for the address LB0005 is updated to a value indicating “unallocated”. By this update, the logical-physical conversion table 112 is in the state shown in FIG.
- the storage area management unit 115 updates the address management information and the like in the system data storage area 121 (S503). As a result, even when the power of the nonvolatile memory device 100 is turned on again, the changes made in S501 and S502 are effective.
- the storage area management unit 115 detects a logical address to be accessed using the partition number and the relative logical address received from the access device 200 (S601). Further, the storage area management unit 115 detects a physical block corresponding to the detected logical block using the logical-physical conversion table 112 (S602). The physical block thus detected is accessed and data is read (S603).
- the storage area management unit 115 determines whether all the data designated from the access device 200 has been read (S604). When all the data has been read, the data reading process is terminated. If read data remains, the process returns to S602 to read data from the next successive logical block.
- S604 the data reading process is terminated. If read data remains, the process returns to S602 to read data from the next successive logical block.
- the logical-physical conversion table 112 is updated by the method described above. Therefore, the logical block corresponding to the partition is fragmented on the logical-physical conversion table 112. Can be prevented.
- the present invention is particularly effective in a semiconductor recording medium using a flash memory whose capacity is increasing.
- a flash memory is used as the nonvolatile memory 120.
- the present invention is not limited to this, and any non-volatile memory that needs to convert and manage a logical address and a physical address may be used similarly. And similar effects can be obtained.
- numerical values such as the size and number of logical blocks, the size and number of physical blocks, and the number of partitions are only examples, and similar effects can be obtained even with different sizes and numbers. Can do.
- the types of commands and arguments received by the nonvolatile storage device 100 are only examples.
- the format for specifying the number of the partition PTn to which data is to be written is used every time data writing processing is performed, but the partition number is specified only when the first data is written to the partition PTn.
- the same effect can be obtained.
- the memory controller 110 includes a file system management unit for managing the file system information created in the partition of the data storage area 122, it is not necessary to specify the relative logical address RLA in the partition. Instead, if there is a file name FN, an in-file offset FO, a size SZ, etc., the file system management unit calculates the relative logical address RLA based on them, and the same effect can be obtained.
- the memory controller 110 is physically for a microcomputer (CPU) and a ROM for storing the program, a work RAM, a logical / physical conversion table 112, a physical block management table 113, and a partition management table 114. RAM, dedicated hardware for accessing the nonvolatile memory 120, and the like.
- the hardware constituting the memory controller 110 may be mounted on the nonvolatile storage device in a form integrated on one chip.
- the present invention can be applied to a large-capacity information recording medium used in electronic devices such as digital AV devices, mobile phone terminals, and personal computers.
- the present invention is suitable for a semiconductor recording medium using a flash memory whose capacity is increasing.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
Description
このとき、アプリケーション毎にデータの格納領域を区分するために、物理的には1つの不揮発性記憶装置の記憶領域を論理空間上で複数に分割し、分割された論理空間上の記憶領域(以下、「パーティション」という)をアプリケーション毎に割当てることができる。特許文献1は、不揮発性記憶装置に構築されたパーティションにデータが格納された状態において、パーティションの作成、削除、サイズ変更を行うための方法を開示している。
上記従来技術では、現在使用中のパーティションに関する情報を格納する第1のテーブルと、パーティション情報のうち現在使用中のパーティションに関する情報を除いた未使用情報を格納する第2のテーブルとを用いて、パーティションの単位を指示するパーティション情報を、管理している。上記従来技術は、パーティションの作成、削除、サイズ変更のいずれかの処理を実施する度に第1のテーブル及び第2のテーブルを更新する。
パーティションの作成、削除、サイズ変更が繰り返し行われると、第1のテーブル及び第2のテーブルに登録されたパーティションが論理空間上で断片化された状態となる。このようなパーティションの断片化は、現在使用中のパーティションにおける論理的なアドレス(以下、「論理アドレス」という)を物理的なアドレス(以下、「物理アドレス」という)に変換するための論理アドレス/物理アドレス変換処理(以下、「論理/物理変換処理」という)を複雑化する。このことは、不揮発性記憶装置の主たる機能である読出し及び書込みの処理速度が定常的に低下するという問題を引き起こす。
(課題を解決するための手段)
この課題を解決するために本発明のメモリコントローラは、記憶領域の論理アドレス空間が分割された不揮発性メモリにアクセスするメモリコントローラであって、前記論理アドレス空間を分割するパーティションの番号、及び前記パーティションのサイズを保持するパーティション管理テーブルと、前記不揮発性メモリの論理アドレスに前記不揮発性メモリの物理アドレスを対応付ける論物変換テーブルと、外部からパーティションの変更コマンドを受信したときに、前記パーティション管理テーブルにおける前記パーティションのサイズを変更するとともに、前記パーティションのサイズの変更量に応じて前記論物変換テーブルにおける論理アドレスと物理アドレスとの対応付けを変更する記憶領域管理部と、前記記憶領域管理部が前記論物変換テーブルから取得した物理アドレスを用いて前記不揮発性メモリにアクセスするメモリインターフェースと、を具備するものである。
ここで前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新するようにしてもよい。
ここで前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新するようにしてもよい。
ここで前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新するようにしてもよい。
(発明の効果)
本発明によれば、パーティションのサイズ変更を行う度に論物変換テーブルを更新するので、論物変換テーブルにおけるパーティションの断片化を防止することができる。その結果として、論理/物理変換処理の複雑化を回避できるため、本発明は、パーティションのサイズ変更を繰り返すことによる、読出し及び書込みの処理速度の低下を防ぐことができる。
110 メモリコントローラ
111 アクセスインターフェース
112 論物変換テーブル
113 空き物理ブロック管理テーブル
114 パーティション管理テーブル
115 記憶領域管理部
116 メモリインターフェース
120 不揮発性メモリ
121 システムデータ格納領域
122 データ格納領域
200 アクセス装置
不揮発性記憶装置100は、メモリコントローラ110、及び不揮発性メモリ120を含んでいる。
メモリコントローラ110は、アクセスインターフェース111、論物変換テーブル112、物理ブロック管理テーブル113、パーティション管理テーブル114、記憶領域管理部115、及びメモリインターフェース116を有する。
アクセスインターフェース111は、アクセス装置200とコマンドやデータを送受信するものである。
物理ブロック管理テーブル113は、不揮発性メモリ120内の各物理ブロックの使用状況を保持するテーブルである。
パーティション管理テーブル114は、不揮発性メモリ120に対して設定するパーティションの番号、及び各パーティションのサイズを保持するテーブルである。
記憶領域管理部115は、論物変換テーブル112、物理ブロック管理テーブル113及びパーティション管理テーブル114の更新を管理するとともに、これらテーブル112、113、及び114を用いて、データを読み書きする物理ブロックを決定するものである。
不揮発性メモリ120はフラッシュメモリであって、システムデータ格納領域121及びデータ格納領域122を含んでいる。システムデータ格納領域121は、不揮発性メモリ120を管理するために用いられるシステムデータを格納するものである。システムデータとして、以下のものがある。
(1)不揮発性メモリ120内の不良ブロックの位置や個数を示すデータ
(2)前述したテーブル112、テーブル113、テーブル114を揮発性メモリ(例えば、RAM)で構成する場合、不揮発性記憶装置100の電源投入後に、これらのテーブルを再構築するために必要となるアドレス管理データ
(3)格納データの誤り訂正符号のデータ
データ格納領域122は、アクセス装置200がアクセスする音楽データや映像データといったコンテンツデータ、及びファイルシステムのデータ等を格納するものである。コンテンツデータがFATファイルシステム等のファイルシステムによって管理される場合には、ファイルシステムのデータはデータ格納領域122に格納される。
図2は、不揮発性メモリ120を示す模式図である。不揮発性メモリ120は、データの消去単位である物理ブロックを複数有している。物理ブロックのサイズや個数はフラッシュメモリの種類によって様々であるが、本実施の形態の不揮発性メモリ120は、例えば、PB0000~PB1023の1024個の物理ブロックを有し、1つの物理ブロックは256kバイト(B)のデータを格納する。
次に、図3を用いて、論物変換テーブル112、物理ブロック管理テーブル113、及びパーティション管理テーブル114の構成を説明する。図3は、テーブル112、113、114の対応関係を説明するための模式図である。
論物変換テーブル112は、論理ブロックLB0000~LB0005のそれぞれに対して、対応する物理ブロックアドレスを保持している。ここでは、例えば、論理ブロックLB0000には物理ブロックPB0001が、論理ブロックLB0001には物理ブロックPB0000が、それぞれ対応している。論理ブロックLB0006~LB0999には対応する物理ブロックが存在しないので、物理ブロックの「未割当て」を意味する値を保持している。「未割当て」を示す値は、例えば、PB1024などの存在しない物理ブロックのアドレスとする。
パーティション管理テーブル114は、パーティションの識別子であるパーティション番号PTn(n:0~3の整数)、及びパーティション番号ごとにパーティションに含まれる論理ブロックの数を保持する。テーブル114は、4つのパーティションPT0~PT3を保持しており、各パーティションに含まれる論理ブロックの数は、パーティションPT0では「2」、パーティションPT1では「3」、パーティションPT2では「0」、パーティションPT3では「1」である。
図3を用いて、テーブル112の論理ブロックとテーブル114のパーティションとを対応させる方法を説明する。
例えば、アクセス装置200が、データの読み書きコマンドで、パーティションPT1及び相対論理アドレス「0」を指定したときを考える。本実施の形態において相対論理アドレスが示す値は0以上の整数であり、その値は、パーティション先頭の論理ブロックを0番目として順に数えたときに、指定する論理ブロックが何番目であるかを示している。ここで、アクセス装置200は、パーティションPT1の先頭の論理ブロックを指定している。なお、アクセス装置200は、データを読み書きするときに、サイズが「0」のパーティションを指定することはできない。
次に、アクセス装置200が、読み出しまたは書き込みコマンドで、パーティションPT1及び相対論理アドレス「2」を指定したときを考える。記憶領域管理部115は、同じ要領で数値「4」を得て、テーブル112の0番目の論理ブロックLB0000から数えて4番目である論理ブロックLB0004を検出する。この論理ブロックLB0004は、アクセス装置200が、パーティションPT1及び相対論理アドレス「2」で指定した論理ブロックである。ここで、パーティションPT1で指定できる相対論理アドレスの上限は、パーティションPT1のサイズより「1」小さい値「2」である。アクセス装置200が、パーティションPT1及び相対論理アドレス「2」で指定した論理ブロックは、パーティションPT1の終端の論理ブロックであり、パーティションPT1の終端の論理ブロックは、論理ブロックLB0004であることがわかる。
以上のように本実施の形態では、データの読み書きの度に、パーティション番号及び相対論理アドレスを用いて、データの読み書き対象となる論理ブロックを検出する。
本実施の形態における不揮発性記憶システムの動作の一例を、図4~図18を用いて説明する。まず、不揮発性記憶装置100の初期化処理について説明する。アクセス装置200は、電源投入時や不揮発性記憶装置100の装着時などに、初期化コマンドを送信する。図4は、アクセス装置200が不揮発性記憶装置100に初期化コマンドを送信したときの、不揮発性記憶装置100の動作フローである。
図5は、全てのパーティションのサイズが「0」であるときのテーブル112、113、及び114を示している。ここで、初期化処理で作成したテーブル112、113、及び114は、図5に示す状態であるとする。
この後同様に、不揮発性記憶装置100が、パーティションPT1のサイズを値「3」に設定する変更コマンドをアクセス装置200から受信し、さらに、パーティションPT2のサイズを値「2」に、パーティションPT3のサイズを値「1」に設定する変更コマンドを順に受信する。これらのコマンドを受信すると、記憶領域管理部115は、パーティション管理テーブル114を図7に示す状態に更新する。
記憶領域管理部115は、論物変換テーブル112を参照して、論理ブロックLB0000に対応する物理ブロックを取得する(S202)。なお、図7の論物変換テーブル112では、論理ブロックLB0000に対応する物理ブロックは存在しない。
不揮発性記憶装置100は、任意の空き物理ブロック、例えば、物理ブロックPB0001を取得して、取得した物理ブロックPB0001を消去する(S203)。この後、消去した物理ブロックPB0001にアクセス装置からのデータを書き込む(S204)。ここで、アクセス装置200から受信した書込みデータのサイズが、物理ブロックPB0001のサイズである256kBよりも小さい場合には、S202で検出した物理ブロックのデータをコピーする。
記憶領域管理部115は、S205でのテーブル112及び113の更新に基づいて、システムデータ格納領域121のアドレス管理情報等を更新する(S206)。これによって、不揮発性記憶装置100の電源を再投入したときにもS205での変更が有効となる。
続いて、アクセス装置200から受信した書込みデータを全て書込んだか否かを判定する(S207)。全てのデータを書込んだ場合には、データ書き込み処理を終了する。書込みデータが残っている場合には、S202に戻って、連続する次の論理ブロックにデータを書き込む。
アクセス装置200がさらにデータを書き込み、テーブル112、113、及び114が、図11に示す状態になったとする。図11は、各パーティションの全ての論理ブロックに物理ブロックが対応した状態を示している。
さらに記憶領域管理部115は、論物変換テーブル112において、パーティションPT2よりも後のパーティションに対応する物理ブロックアドレスを移動する。ここでは、パーティションPT3の論理ブロックアドレスLB0007に対応する物理ブロックアドレスPB0002を、パーティションPT2のサイズである論理ブロック2つ分だけ、アドレスが小さい論理ブロックと対応するように移動する(S303)。その結果、論物変換テーブル112では、論理ブロックアドレスLB0005に対応する物理ブロックアドレスが、PB0004からPB0002に変更される。また、物理ブロックアドレスPB0037が、論理ブロックアドレスLB0006に対応した状態で残っているので、アドレスLB0006に対する物理ブロックアドレスを「未割当て」を示す値に変更する。また、論理ブロックアドレスLB0007に対する物理ブロックアドレスを「未割当て」を示す値に変更する。この変更によって、論物変換テーブル112は、図13に示す状態となる。
これに続いて記憶領域管理部115は、システムデータ格納領域121のアドレス管理情報等の更新を行う(S305)。これによって、不揮発性記憶装置100の電源を再投入したときにもS301からS304で行った変更が有効になる。
図14は、不揮発性記憶装置100がアクセス装置200からのサイズ変更コマンドを受信したときの、動作を示すフローチャートである。アクセス装置200が、パーティションPT1のサイズを「3」から「4」に変更するサイズ変更コマンドを送信した場合を、図14及び図15を用いて説明する。不揮発性記憶装置100がサイズ変更コマンドを受信すると、記憶領域管理部115は、パーティション管理テーブル114を参照して、パーティションPT1のサイズ「3」を変更前サイズとして認識し、この変更前サイズを通知された変更後サイズ「4」と比較して、パーティションサイズの「縮小」であるか否かを判断する(S401)。ここでは、変更後サイズが変更前サイズよりも大きいので、記憶領域管理部115は、パーティションPT1のサイズの「拡大」であると判断する。
さらに記憶領域管理部115は、論物変換テーブル112において、パーティションPT1よりも後のパーティションに対応する物理ブロックアドレスを移動する。ここで記憶領域管理部115は、パーティションPT1のサイズ増加分である論理ブロック1つ分だけアドレスが大きくなるように、パーティションPT3の論理ブロックアドレスLB0005に対応する物理ブロックアドレスPB0002を移動する(S403)。その結果、論物変換テーブル112では、論理ブロックアドレスLB0006に物理ブロックアドレスPB0002が対応する。しかし、アドレスLB0005にもアドレスPB0002が対応した状態となっているため、アドレスLB0005に対する物理ブロックのアドレスを「未割当て」を示す値に更新する。この更新によって、論物変換テーブル112は、図15に示す状態となる。
その後、アクセス装置200が、パーティションPT0のサイズを「2」から「1」に変更するサイズ変更コマンドを送信した場合を、図14及び図16を用いて説明する。不揮発性記憶装置100がサイズ変更コマンドを受信すると、記憶領域管理部115は、パーティションPT0に対応する論理ブロックのうち最後尾の論理ブロックLB0001を検出する(S405)。
その後記憶領域管理部115は、論物変換テーブル112を用いて、検出した論理ブロックアドレスLB0001から順に先頭の論理ブロックに向かって、変更前サイズと変更後サイズの差である論理ブロック1つ分だけ、論理ブロックアドレスを検出する(S406)。ここでは、アドレスLB0001だけを検出する。
記憶領域管理部115は、パーティションPT0のサイズが変更後サイズである値「1」となるように、パーティション管理テーブル114を更新する(S409)。この更新によって、パーティション管理テーブル114は、図16に示す状態となる。
さらに記憶領域管理部115は、論物変換テーブル112において、パーティションPT0よりも後のパーティションに対応する物理ブロックを移動する。ここでは、パーティションPT1の論理ブロックアドレスLB0002~LB0005に対応する物理ブロックアドレス及び「未割当て」情報、ならびにパーティションPT3の論理ブロックアドレスLB0006に対応する物理ブロックアドレスを、パーティションPT0のサイズ減少分である論理ブロック1つ分だけ、アドレスが小さい論理ブロックアドレスと対応するように移動する(S410)。さらにアドレスLB0006に対する物理ブロックアドレスを「未割当て」を示す値に更新する。この更新によって、論物変換テーブル112は、図16に示す状態となる。
次に、アクセス装置200が、パーティションPT2のサイズを「0」から「3」に変更するサイズ変更コマンドを送信した場合を、図17及び図18を用いて説明する。不揮発性記憶装置100がサイズ変更コマンドを受信すると、記憶領域管理部115は、パーティションPT2のサイズが「3」となるように、パーティション管理テーブル114を更新する(S501)。
さらに記憶領域管理部115は、論物変換テーブル112において、パーティションPT2よりも後のパーティションに対応する物理ブロックアドレスを移動する。ここでは、パーティションPT3の論理ブロックアドレスLB0005に対応する物理ブロックアドレスPB0002を、パーティションPT2のサイズ増加分である論理ブロック3つ分だけ、アドレスが大きい論理ブロックアドレスと対応するように移動する(S502)。その結果、論物変換テーブル112では、論理ブロックアドレスLB0008に物理ブロックアドレスPB0002が対応する。しかし、アドレスLB0005にもアドレスPB0002が対応した状態となっているため、アドレスLB0005に対する物理ブロックアドレスを「未割当て」を示す値に更新する。この更新によって、論物変換テーブル112は、図18に示す状態となる。
最後に、アクセス装置200が、不揮発性記憶装置100からデータ読み出す処理について、図19を用いて説明する。データ読み出し処理では、既に説明したように、記憶領域管理部115は、アクセス装置200から受信したパーティション番号及び相対論理アドレスを用いて、アクセスする論理アドレスを検出する(S601)。さらに記憶領域管理部115は、論物変換テーブル112を用いて、検出した論理ブロックに対応する物理ブロックを検出する(S602)。このようにして検出された物理ブロックにアクセスして、データを読み出す(S603)。
以上が、本発明の実施の形態についての説明である。本実施の形態では、パーティションのサイズ変更を行う度に、説明した方法で論物変換テーブル112の更新を行なうので、パーティションに対応する論理ブロックが、論物変換テーブル112上で断片化するのを防止することができる。本発明は、大容量化が進むフラッシュメモリを用いた半導体記録媒体において特に有効である。
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は上記の実施形態に限定されないのはもちろんである。本発明の趣旨を逸脱しない範囲で実施の方法及び手段を変更することができる。以下のような場合も本発明に含まれる。
(2)本実施の形態において、論理ブロックのサイズや個数、物理ブロックのサイズや個数、パーティションの個数などの数値は1例にすぎず、異なるサイズや個数であっても同様の効果を得ることができる。
(3)本実施の形態において、不揮発性記憶装置100が受信するコマンドの種類や引数は1例にすぎない。例えば、本実施の形態ではデータ書込み処理を行う度に、データを書き込む対象となるパーティションPTnの番号を指定する形式を用いたが、該パーティションPTnへ最初のデータを書き込むときにのみパーティション番号を指定しても同様の効果を得ることができる。
(4)本実施の形態におけるメモリコントローラ110は、物理的にはマイコン(CPU)及びそのプログラムを格納するROM、ワーク用RAM、論物変換テーブル112や物理ブロック管理テーブル113やパーティション管理テーブル114用のRAM、不揮発性メモリ120にアクセスするための専用ハードウェア等から構成される。メモリコントローラ110を構成するこれらハードウェアは、1チップに集積された形で不揮発性記憶装置に実装されていてもよい。
Claims (9)
- 記憶領域の論理アドレス空間が分割された不揮発性メモリにアクセスするメモリコントローラであって、
前記論理アドレス空間を分割するパーティションの番号、及び前記パーティションのサイズを保持するパーティション管理テーブルと、
前記不揮発性メモリの論理アドレスに前記不揮発性メモリの物理アドレスを対応付ける論物変換テーブルと、
外部からパーティションの変更コマンドを受信したときに、前記パーティション管理テーブルにおける前記パーティションのサイズを変更するとともに、前記パーティションのサイズの変更量に応じて前記論物変換テーブルにおける論理アドレスと物理アドレスとの対応付けを変更する記憶領域管理部と、
前記記憶領域管理部が前記論物変換テーブルから取得した物理アドレスを用いて前記不揮発性メモリにアクセスするメモリインターフェースと、
を具備するメモリコントローラ。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの拡大であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの拡大分だけアドレスの大きい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項1に記載のメモリコントローラ。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項1に記載のメモリコントローラ。 - 記憶領域の論理アドレス空間が分割された不揮発性メモリと、
前記不揮発性メモリにアクセスするメモリコントローラと、を具備する不揮発性記憶装置であって、
前記メモリコントローラは、
前記論理アドレス空間を分割するパーティションの番号、及び前記パーティションのサイズを保持するパーティション管理テーブルと、
前記不揮発性メモリの論理アドレスに前記不揮発性メモリの物理アドレスを対応付ける論物変換テーブルと、
外部からパーティションの変更コマンドを受信したときに、前記パーティション管理テーブルにおける前記パーティションのサイズを変更するとともに、前記パーティションのサイズの変更量に応じて前記論物変換テーブルにおける論理アドレスと物理アドレスとの対応付けを変更する記憶領域管理部と、
前記記憶領域管理部が前記論物変換テーブルから取得した物理アドレスを用いて前記不揮発性メモリにアクセスするメモリインターフェースと、
を備える不揮発性記憶装置。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの拡大であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの拡大分だけアドレスの大きい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項4に記載の不揮発性記憶装置。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項4に記載の不揮発性記憶装置。 - 不揮発性記憶装置と、前記不揮発性記憶装置にアクセスするアクセス装置と、を具備する不揮発性システムであって、
前記不揮発性記憶装置は、
不揮発性メモリと、
前記不揮発性メモリにアクセスするメモリコントローラと、
を備え、
前記メモリコントローラは、
前記論理アドレス空間を分割するパーティションの番号、及び前記パーティションのサイズを保持するパーティション管理テーブルと、
前記不揮発性メモリの論理アドレスに前記不揮発性メモリの物理アドレスを対応付ける論物変換テーブルと、
外部からパーティションの変更コマンドを受信したときに、前記パーティション管理テーブルにおける前記パーティションのサイズを変更するとともに、前記パーティションのサイズの変更量に応じて前記論物変換テーブルにおける論理アドレスと物理アドレスとの対応付けを変更する記憶領域管理部と、
前記記憶領域管理部が前記論物変換テーブルから取得した物理アドレスを用いて前記不揮発性メモリにアクセスするメモリインターフェースと、
を備える不揮発性記憶システム。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの拡大であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの拡大分だけアドレスの大きい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項7に記載の不揮発性記憶システム。 - 前記記憶領域管理部は、前記変更コマンドがパーティションのサイズの縮小であるときに、前記パーティションのサイズが指定されたサイズとなるように前記パーティション管理テーブルを更新し、サイズが変更されるパーティション以降のパーティションに対応する物理ブロックのアドレスが、サイズの縮小分だけアドレスの小さい論理ブロックのアドレスに対応するように前記論物変換テーブルを更新する、
請求項7に記載の不揮発性記憶システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009521051A JPWO2009096180A1 (ja) | 2008-01-30 | 2009-01-28 | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム |
US12/526,372 US20100318760A1 (en) | 2008-01-30 | 2009-01-28 | Memory controller, nonvolatile storage device, and nonvolatile storage system |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008-018781 | 2008-01-30 | ||
JP2008018781 | 2008-01-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2009096180A1 true WO2009096180A1 (ja) | 2009-08-06 |
Family
ID=40912536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2009/000334 WO2009096180A1 (ja) | 2008-01-30 | 2009-01-28 | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム |
Country Status (3)
Country | Link |
---|---|
US (1) | US20100318760A1 (ja) |
JP (1) | JPWO2009096180A1 (ja) |
WO (1) | WO2009096180A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011145114A3 (en) * | 2010-05-19 | 2012-03-08 | Kamlesh Gandhi | Composition of data objects |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5728982B2 (ja) * | 2010-02-26 | 2015-06-03 | 株式会社Jvcケンウッド | 処理装置および書込方法 |
US20120054734A1 (en) * | 2010-08-31 | 2012-03-01 | Apple Inc. | Device software upgrade using a dynamically sized partition |
US10048865B2 (en) * | 2014-10-24 | 2018-08-14 | Microsoft Technology Licensing, Llc | Disk partition stitching and rebalancing using a partition table |
KR102464801B1 (ko) | 2015-04-14 | 2022-11-07 | 삼성전자주식회사 | 반도체 장치의 동작 방법 및 반도체 시스템 |
US10198461B2 (en) * | 2016-05-06 | 2019-02-05 | Masergy Communications, Inc. | Data storage system |
US10402092B2 (en) * | 2016-06-01 | 2019-09-03 | Western Digital Technologies, Inc. | Resizing namespaces for storage devices |
US10437476B2 (en) | 2017-10-23 | 2019-10-08 | Micron Technology, Inc. | Namespaces allocation in non-volatile memory devices |
US10642488B2 (en) | 2017-10-23 | 2020-05-05 | Micron Technology, Inc. | Namespace size adjustment in non-volatile memory devices |
US10503404B2 (en) | 2017-10-23 | 2019-12-10 | Micron Technology, Inc. | Namespace management in non-volatile memory devices |
US10678703B2 (en) | 2017-11-16 | 2020-06-09 | Micron Technology, Inc. | Namespace mapping structual adjustment in non-volatile memory devices |
US11580034B2 (en) | 2017-11-16 | 2023-02-14 | Micron Technology, Inc. | Namespace encryption in non-volatile memory devices |
US10223254B1 (en) | 2017-11-16 | 2019-03-05 | Micron Technology, Inc. | Namespace change propagation in non-volatile memory devices |
US10915440B2 (en) | 2017-11-16 | 2021-02-09 | Micron Technology, Inc. | Namespace mapping optimization in non-volatile memory devices |
US10871907B2 (en) * | 2018-12-31 | 2020-12-22 | Micron Technology, Inc. | Sequential data optimized sub-regions in storage devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188701A (ja) * | 1999-10-21 | 2001-07-10 | Matsushita Electric Ind Co Ltd | 半導体メモリカードについてのアクセス装置、コンピュータ読取可能な記録媒体、初期化方法、及び半導体メモリカード |
WO2007002866A2 (en) * | 2005-06-29 | 2007-01-04 | Sandisk Corporation | Method and system for managing partitions in a storage device |
JP2008102774A (ja) * | 2006-10-19 | 2008-05-01 | Sony Corp | データ記憶装置及びデータ制御方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6901497B2 (en) * | 2000-10-27 | 2005-05-31 | Sony Computer Entertainment Inc. | Partition creating method and deleting method |
US7130979B2 (en) * | 2002-08-29 | 2006-10-31 | Micron Technology, Inc. | Dynamic volume management |
US20050015546A1 (en) * | 2003-07-15 | 2005-01-20 | Ofir Zohar | Data storage system |
-
2009
- 2009-01-28 WO PCT/JP2009/000334 patent/WO2009096180A1/ja active Application Filing
- 2009-01-28 JP JP2009521051A patent/JPWO2009096180A1/ja not_active Withdrawn
- 2009-01-28 US US12/526,372 patent/US20100318760A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001188701A (ja) * | 1999-10-21 | 2001-07-10 | Matsushita Electric Ind Co Ltd | 半導体メモリカードについてのアクセス装置、コンピュータ読取可能な記録媒体、初期化方法、及び半導体メモリカード |
WO2007002866A2 (en) * | 2005-06-29 | 2007-01-04 | Sandisk Corporation | Method and system for managing partitions in a storage device |
JP2008102774A (ja) * | 2006-10-19 | 2008-05-01 | Sony Corp | データ記憶装置及びデータ制御方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011145114A3 (en) * | 2010-05-19 | 2012-03-08 | Kamlesh Gandhi | Composition of data objects |
CN103124959A (zh) * | 2010-05-19 | 2013-05-29 | 凯姆莱西·甘地 | 数据对象的组合 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2009096180A1 (ja) | 2011-05-26 |
US20100318760A1 (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2009096180A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び、不揮発性記憶システム | |
US8386698B2 (en) | Data accessing method for flash memory and storage system and controller using the same | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
US8291155B2 (en) | Data access method, memory controller and memory storage system | |
US8001317B2 (en) | Data writing method for non-volatile memory and controller using the same | |
US8103820B2 (en) | Wear leveling method and controller using the same | |
JP4004468B2 (ja) | 大きなページをサポートするようにさせるための方法およびシステム | |
KR100816761B1 (ko) | 낸드 플래시 메모리 및 에스램/노어 플래시 메모리를포함하는 메모리 카드 및 그것의 데이터 저장 방법 | |
US8510502B2 (en) | Data writing method, and memory controller and memory storage apparatus using the same | |
WO2011068109A1 (ja) | 記憶装置、およびメモリコントローラ | |
TW201432447A (zh) | 用於非揮發性儲存裝置的再編址記憶體 | |
US9037814B2 (en) | Flash memory management method and flash memory controller and storage system using the same | |
JP2007004234A (ja) | ストレージ装置 | |
JP2011221996A (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
JP2018101411A (ja) | データストレージデバイスおよびその操作方法 | |
WO2006067923A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム及びメモリ制御方法 | |
US8423707B2 (en) | Data access method for flash memory and storage system and controller using the same | |
US8380920B2 (en) | Flash storage device and data access method of flash memory | |
JP4829202B2 (ja) | 記憶装置及びメモリ制御方法 | |
US7647470B2 (en) | Memory device and controlling method for elongating the life of nonvolatile memory | |
TWI601141B (zh) | 快閃記憶體的存取方法及相關的記憶體控制器與電子裝置 | |
JP2007233838A (ja) | メモリシステムの制御方法 | |
JP2012038212A (ja) | ストレージ装置及びその制御方法 | |
CN102314396A (zh) | 区块为基础闪存的字节存取的方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 2009521051 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 12526372 Country of ref document: US |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09705077 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09705077 Country of ref document: EP Kind code of ref document: A1 |