WO2007066720A1 - 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 - Google Patents
不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 Download PDFInfo
- Publication number
- WO2007066720A1 WO2007066720A1 PCT/JP2006/324449 JP2006324449W WO2007066720A1 WO 2007066720 A1 WO2007066720 A1 WO 2007066720A1 JP 2006324449 W JP2006324449 W JP 2006324449W WO 2007066720 A1 WO2007066720 A1 WO 2007066720A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- physical
- block
- temporary
- page
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 55
- 230000015654 memory Effects 0.000 claims abstract description 81
- 238000006243 chemical reaction Methods 0.000 claims abstract description 25
- 239000004065 semiconductor Substances 0.000 claims description 5
- 238000002360 preparation method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 27
- 238000007726 management method Methods 0.000 description 22
- 230000007704 transition Effects 0.000 description 10
- 238000007796 conventional method Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000013523 data management Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 2
- 241000287462 Phalacrocorax carbo Species 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
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 defective device was a digital camera mobile phone.
- management information there are data data for high-speed access, data-managed digital data, and database-type data systems different from conventional systems. These are all for the purpose of reason. This kind of management and the size of the gap will result in an increase in the degree of data loading in the sector.
- the size of the erase position which is the erasing position, increases with the increase of 005 lam. As a result, if the data size of random size in the above report increases, the data size in the rack will increase. Frequent bleeding, and the write capability is reduced.
- Data is stored based on the physical address corresponding to the logical address, and the data is stored in the physical clock as well as the multiple locks. Data information, physical information reports,
- the memory contains data based on the physical address corresponding to the logical address. Is performed and is composed of multiple docks. The hook is in a predetermined position.
- the data is stored in the physical disk. It stores the information of the physical address, the physical disk that stores the data of the size larger than the size, and the temporary disk. It has a logical address for the data to be stored and a temporary test for storing information on the physical address. If the size of the data requested to be written is larger than the size, the requested data is temporarily written.
- a data loading method for a non-memory device that can load data based on a logical address is provided.
- the storage device is populated with data by the physical address corresponding to the logical address, and is composed of multiple locks.
- the write method that includes the data address that is stored, the data that stores the physical address, and the temporary that is the physical disk that stores the size data rather than the size
- write data requested to be written is rejected.
- a method for finding data for a non-memory device that can include data based on a logical address is provided.
- Data is extracted from the storage device by the physical address corresponding to the logical address, and the storage device is composed of multiple books.
- Data that is stored in the physical disk, the data that is stored in the physical disk, the temporary disk that is the physical disk that stores the data that is larger than the size, and the data that is stored in the temporary disk. Includes temporary information that stores information on logical addresses and physical addresses.
- For the read method refer to the temporary data when a data read request is received, and if there is a read data recorded in the temporary data, read the temporary data and read it into the temporary data. If it is not recorded, refer to the data and read the data.
- the storage device is loaded with data and read based on the physical address corresponding to the logical address, and is composed of multiple locks. And the data that is stored in the physical disk, the data that stores the physical information, the physical disk that stores the data that is larger than the size, and the temporary disk that is stored in the temporary disk. It includes a temporary test, which is a management test that stores information on the logical and physical addresses related to data. Created, determined and last written in the temporary
- the above-mentioned table is prepared based on the information.
- a predetermined place such as a lame, and a predetermined place
- write to a recording area that is different from the recording used for normal recording that is, write to a recording area different from the recording area.
- write processing can be performed.
- Show 3B 4 Indicates the date of data
- Figure 3 shows the formation of the memory, which is the state of the memory device.
- the memory is a storage device that allows data to be read from and written to the external device, host 2.
- the mecha- nd has a lamme 3 that is a child of, and a mem- ber that controls the loading and reading of data for lame 3.
- the memory has a memory 4, an erase cell 5, a memory 6, and a temporary cell 7.
- the mental laser 3 can be realized by a semiconductor integrated circuit.
- Lame 3 has a quantity of 28. , Lame 3's are not limited to this. It may also have multiple rams. Tra 4 receives the data from Host 2 and the read command, and the data of Lame 3 is read. Control the squeezing out of the data from the RAM or the RAM3. In the implementation, Lame 3 makes the above information available. , Lame 3 may be 2 lame.
- the data stored in Lame 3 is processed by the system, which is the system.
- the system is the system.
- Tyon The information for dividing into areas called "Tyon" will be sent. This sector stores the information within one tee. Each T text 2 indicates the location of the data contained in the file. The dictant will keep track of the dictates that exist under it.
- the system may be of other types.
- 002 12 is a diagram showing the formation of the part of Lame 3. It consists of multiple racks 3 of rack 3. Cock 3 has a size of 28, and is an erasing position at which data can be erased all at once.
- physics 3 is composed of multiple 3s. In the embodiment, physics 3 consists of 64. 3 is the write position when writing data and has a size of 2. It consists of 4 sectors. 3 cannot be overwritten once the data is written. There are 6 clusters where host 2 is logically data-rich. This value does not match 28 in physics 3 or 2 in physics 3. Therefore, a series of 8ths 3 will form 6 parts.
- the clock (6) is the logically handled data by the trawl 3, assuming that the data from the host 2 is included.
- Check box 3 consists of 8 tracks, and the data from host 2 is written at that position.
- 003 3 is a diagram showing the logical data processing in the mecha section.
- the storage capacity of RAMME 3 in the mecha is 28.
- the actual capacity that can be recognized by host 2 is 25.
- Write from host 2 is assigned to check box 42 which is the 6th place, and it is assigned to 7999 in order from the amount of 25 of the machine.
- Eight pieces make up Group 4, which is the third place in physics, which is the third place in physics.
- the erase table 5 stores information indicating that the data is erased or written in each of the three racks.
- the test 6 replaces the host specified by the host 2 (address) with the host 3 part of the RAM (address).
- the theory 6 stores the doss of physical 3 corresponding to the group 4 in the area of the doss corresponding to the logical group.
- FIG. 3 shows a simple configuration of TE6.
- TE 6 has a logical group as the TE data and a physical address corresponding to the logical address as the TE data. If the corresponding physics 3 does not exist, an invalid value (for example,
- Te 7 is the information about the data written in the temporary storage, for example, the information between the addresses of the data written in the temporary storage.
- the data requested by the host 2 for the write request is stored in the temporary storage in the small data size less than the size.
- a plurality of docks 3 may be collectively treated as a larger management (sook.) With the dock as a data unit.
- the logical groups corresponding to the physical books are treated as logical books, and TE 6 stores the information of the physical books.
- Data 5 includes 4 sector data 5.
- Sector data 5 contains sector data 53, sector 54, and sector data 5 3 CC 54 in sector 54.
- 003 16 is the logical data of mode 6, valid data 62, valid data 63, valid data 2 64, valid data 3 65, and management 6 It has CC (Eco Code on Code) code 66. Dosido 6 is
- the temporary maximum number that can be simultaneously registered as valid data in the temporary 8 is 4. , This large number is not limited to 4, as long as it is greater than the maximum (in 64) in Kook 3.
- Valid data is the data to be read. Even if the valid data is stored in one hour, it does not become a read target.
- the data 64 and valid data 3 65 each store the data (data ⁇ 3) stored as valid temporary data. Pay each.
- Hook 8 has a 3rd to 64th area ().
- data is written in the area from OO to 2.
- Have 6 In the embodiment, the last written pipe 6 report in physics is referenced as valid information.
- 2 of 6 of 3 data, valid data, valid data 2
- Data 3 is referred to.
- the data 62, the valid data 63, and the data 2 64 each store OO 2. This means that the data stored in the material 6 in 8 at one time is OO, 2 is the valid data at one time. Effective data 3
- the clock 8 has an area of 64 minutes from OOO to 3 and the physical data is written.
- the dos (23) is the same as the data already written in the physical dos, so the temporary write Disable.
- the logic (23) is the same as the logic in which valid data exists in the temporary data 8 to be overwritten and the logic in which data in the temporary data memory is generated. It must be the same if there is valid data present in clock 8 and if there is a logical overwrite and temporary data spikes occur.
- Figure 6 shows the data of the temporary text.
- the ad of the physical lock stores the address of physical lock 3, which is used as the temporary lock 8.
- the imbedded physics store the temporary address where the next write will occur.
- the Data Doss ID stores the address that at time 8 stores the sometimes valid data.
- the data-data-id stored in the data-data stores the data-dose stored in the physical address specified by the data-data. It is like the data dos in the data dos, the data dos in the data 2 doss, and the data doss in the data 3 dos.
- the temporary table 7 stores the value as follows.
- Dress 004 7 is created when the memo card is moved (at the time of entry) and is updated accordingly.
- Host 2 reads the value of temporary text 7 at a fixed timing at startup and stores it on Host 2.
- step S2 the temporary 8 is read, and the last written temporary search is performed (S2).
- the physical dot of 2 is searched for as the final imprint.
- step 6 the final step 6 and enable Get temporary information (S 2).
- S3 the logic (dos) is acquired at the acquired valid time (S3 to S5).
- step S35 indicates that the logical pulse step (4) is repeated until the logical pulse is acquired at a valid time.
- a temporary test 7 is created using the obtained information (S6).
- the transistor 4 determines whether or not the size of the write data is a sector (S2). If it is a sector, make a temporary lock 3). This reason will be described later. On the other hand, if it is not a sector, it is judged whether the write data includes the innermost sector (23). This is possible based on the write data pulse. If the cut-in data does not include the most-sector in it, it means that the cut-in data is 2 or 3 sectors in size and is the last data for the cut-in request. On the other hand, if the write data includes the most-sector in, it means that there is write data that continues after that.
- Tra 4 receives a temporary
- the only part that can be seen from the temporary dock is 43). More specifically, refer to temporary test 7 to find the physical address corresponding to the logical address specified by host 2. Then, the data of the obtained physical data is read from the temporary memory 8.
- the data is read from the normal dock based on the read address specified by the host (S45).
- the temporary area is in the state of the physical disk recorded in the data area of 4 as shown in b.
- step S52 Using the chart in step 3, the above-mentioned backup key (step S52 will be explained. In theory, there is no free space.
- the mini clock consists of a write area for data.
- Check 8 is a physical check with no free space. See the physical 8
- Cock 8b is a newly secured erase-only cock.
- the data of physics 0, 3, 23, and 3 in the LOCK 8 is copied to the newly secured PHY 8b, and the PHY 8b has a sufficient write area. Used as a temporary dock.
- the data in temporary dock 8 is erased and becomes the only erased data.
- Step 4 Using the chart of 5 (a), (Step 4) above is explained. It is theoretically possible to create a vacant space by eliminating the oldest valid one registered.
- 0067 b is a diagram illustrating temporary erasing.
- the earliest registered valid temporary 9 in dock 8 is usually picked into dock 85.
- the data of the temporary 9 is transferred to the normal clock 85 together with the data in which the addresses are consecutive. To do.
- the imprint data is packed in 4 (8 sectors), and as shown in 6 (b), it consists of data, data 2, data 3, ..., Data 64, and the size of the data is 28 (256 sectors).
- the 006 data is written in the sectors 1 to 6 and the area of the sector 7.
- Data 2 is written in the area around sector 7.
- Data 3 is written in the areas of sectors 8 to 4 and sector 5.
- Data 4 is written in the area around sector 5.
- data 5, data 6, ..., Data 64 are written in the corresponding sectors.
- 00706 (c) shows the access sequence when the data input shown in 6 (b) is received.
- the read and write locks correspond to the host 2 and others.
- Sector to sector 6 are written at the beginning of data writing. Next, write more data to sector 7 section. In this case, the data of sector 7 is read and the part of sector 7 corresponding to the amount of data is written. In this way, when the data that is sufficient for the sector is written, the sector data is extracted and the write-write is performed so that only the necessary part can be written.
- 007 3 78 is a diagram for explaining the transition of the state in the 8-pack 9 temporarily when data is written as in 6 (a) to (c).
- 007 (a) shows the state of sectors 8 to 6 in the data, that is, the state of temporary 8 and normal 9 after access in 6 (c).
- Sectors ⁇ 6 are classified into sectors ⁇ 3 and sectors 4 ⁇ 6. Since the imprint of sector 3 includes the highest sector in (at step S23 of 8), it is usually imbed of 9 (24). Sectors 4 to 6 do not include the highest sector among them (es in step S23 of 8), so temporary sector 8 is imprinted (3). Record the data part of sectors 4 to 6 in the data 5 of the memory and the physical data in the valid data (data 62). At this time, the data of sector 7 has not been loaded. Also, record the new dose in the data record of the temporary data, and record the new record in the data record of the data record in the data record.
- the status of temporary lock 8 and normal lock 9 is shown. Since the sector 7 is a sector sector (es in step S2 of 8), it is a clock 8 sector (3). To write in sector 7, the data (minute data) of sectors 4 to 7 is read, and the data that was written in sector 7 is newly used as physical data. Record in the space. At this time, change the value of valid data (
- Sectors 8 to 4 are imbedded in data 3, that is, the status of temporary 8 and normal 9 after access in 6 (c). Sectors 8 to 4 are divided into sector 8 to dish writing and sectors 2 to 4. Writing from the sector 8 to the dish usually involves the clock 9 because it includes the highest sector.
- sector 8 to sector 4 is written before writing to the disk. It is necessary to write a total of ⁇ 7.
- Sector 8 to dish counter 9 and sector 2 to 4 are stamped. Sectors 2 to 4 include 8 sectors because they do not include the highest sector. Record the data of sectors 2 to 4 on physical disk 3. Set the value of the data (ID 62) to 3. data
- the new dose of 3 is added to the source of data, and the new source of 3 is added to the source of data.
- 00978 (e) is the biting of sector 5 with respect to data other than data 3, that is,
- Sector 5 is a sector 8 defect, so it is a temporary 8 defect.
- the data in sectors 2 to 5 is read, and the data written in sector 5 to data in sector 5 is newly recorded as temporary data in physical disk 4.
- the valid data (ID 62) is Set to 4 which is the default. Also, record a new value of 4 in the data ID of the temporary data item 7.
- 008 8 (f) shows the state of sector 5 being inserted into data 4, that is, the state of temporary 8 and normal 9 after access at 6 (c).
- Sector 5 is a sector 8 defect, so it is a temporary 8 defect.
- the data read from sectors 2 to 5 and the part of sector 5 written to data 4 is recorded as new temporary data on physical device 5.
- the valid data (ID 62) is set to a new value of 5.
- Sector 5 which is the data after data 3, is written. In this case as well, as is the case when the sector 7 is filled with more data, after the data has been copied to physical 3 so that the continuity of the logical address is maintained. , Data of sectors 5 to 5 are written to new dock 4 (2 (e)).
- sector 5 is imbedded in data 4.
- a new data is transferred to the physical 4 after the data is copied so that the continuity of the logical address is maintained.
- the data of sectors 5 to 5 is written to the clock 5 (2 (f)).
- the first 7 sectors and sector sector accesses cost 3 packs, and in the subsequent 7 sector and sector sector accesses. , Click two. If up to 255 sectors are written, it will be 65 (256 8X2).
- the cost of 65 sectors was consumed in the incorporation of 255 sectors, whereas the method of this embodiment does not consume 3 clicks as described in the access. Therefore, according to the present embodiment, the amount of clock cost is half that of the conventional one, the number of data pins between physical clocks can be reduced, and as a result, write processing can be performed. 0900 3 3 ⁇ Access by Ming Law 2
- the access of the data is performed in units of, i.e., every 7 bits of the sector, every time the data is loaded. The case where the occurrence occurs will be described.
- 0091 22, 23, and 24 are diagrams for explaining the state inside the hour clock 8 and the hour 9 when the impulse imprint is data imprinted as in 2 (c).
- the writing technique to the 0096 conductor position and in particular, the writing must be performed with a predetermined crease (eg).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
不揮発性記憶装置(101)は、複数の物理ブロックから構成され、各物理ブロックが所定の書き込み単位であるページを複数ページ含む不揮発性メモリ(103)と、物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を格納する論物変換テーブル(106)と、ページのサイズより小さいサイズのデータを格納する物理ブロックである一時ブロックと、一時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対応情報を格納する一時テーブル(107)とを備える。
Description
明 細 書
不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 技術分野
[0001] 本発明は、フラッシュメモリ等の不揮発性メモリを用いた記憶装置並びにその書込 み方法及び読み出し方法に関する。
背景技術
[0002] 近年、不揮発性メモリを搭載したメモリカードはデジタルカメラや携帯電話の記憶媒 体としてその巿場を拡大している。そしてメモリカード容量の増加に伴い、データファ ィルゃ静止画等の小容量の記録からより大容量が必要となる動画記録へとその用途 は広がっている。このため、従来、不揮発性メモリを搭載した記録媒体に関し種々の 考案がなされている (例えば、特許文献 1〜4)。
[0003] 大容量のメモリカードは大量のデータを保存でき、種々のデータを格納できることか ら、その管理情報も多様ィ匕している。例えば、管理情報として、ファイルアクセスを高 速ィ匕するためのメタデータ管理ファイルや、データ種別毎に管理した仮想ディレクトリ 構造のファイルや、従来の FATシステムとは異なるデータベース型のファイルシステ ム等がある。これらはいずれも管理の容易化を目的としている。このような多様ィ匕する 管理情報は、いずれもサイズが小さいことから、結果として、セクタ単位のデータ書き 込みの頻度が増加する要因となる。
[0004] 特許文献 1 :特開 2001—154909号公報
特許文献 2:特開平 11― 53248号公報
特許文献 3:特開 2002— 324008号公報
特許文献 4:特開平 5 - 216780号公報
発明の開示
発明が解決しょうとする課題
[0005] フラッシュメモリの大容量ィ匕にともない、消去単位である消去ブロックのサイズが大き くなる。その結果、上記の多様ィ匕した管理情報のようなランダム性のある小サイズの データの書き込みが増加すると、フラッシュメモリ内の物理ブロック単位でのデータの
コピーが頻発し、書き込み性能が低下する。
[0006] また、フラッシュメモリの大容量ィ匕の手法としてメモリセルの多値ィ匕がある。多値メモ リセルは 2値メモリセルに比して制御が複雑であり信頼性の確保が難し 、ことから、 2 値のメモリセルと同様の信頼性を確保するためには、メモリセルへのストレスを低減す る必要がある。そのため、多値メモリセルでは、複数セクタ力もなるページを書き込み 単位とし、そのページに対して複数回の書き込みは認めていないようにする。つまり、 多値メモリセルの場合、ページサイズ未満のデータを書き込む場合であっても、ぺー ジ単位で書き込む必要があり、これは書き込み性能の低下を招く要因となる。
[0007] 本発明は上記課題を解決すべくなされたものであり、その目的とするところは、所定 の書き込み単位 (例えばページ単位)で書き込みを行わなければならな 、フラッシュ メモリ中の複数の領域に、書き込み単位未満のサイズのデータの書き込みを行う際 に、高速な書き込みを可能とする半導体記憶装置を提供することにある。
課題を解決するための手段
[0008] 本発明の第 1の態様において、論理アドレスに基づきデータの書込みが可能な不 揮発性記憶装置を提供する。
不揮発性記憶装置は、
論理アドレスに対応する物理アドレスに基づきデータの書込みが行われ、複数の物 理ブロックから構成され、各物理ブロックが所定の書き込み単位であるページを複数 ページ含む不揮発性メモリと、物理ブロックに格納されるデータの論理アドレスと物理 アドレスの対応情報を格納する論物変換テーブルと、
ページのサイズより小さいサイズのデータを格納する物理ブロックである一時ブロッ クと、
一時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対応情報 を格納する一時テーブルとを備える。
[0009] 本発明の第 2の態様において、論理アドレスに基づきデータの書込みが可能な不 揮発性メモリを含む不揮発性記憶装置の動作制御を行うメモリコントローラを提供す る。
不揮発性メモリは、論理アドレスに対応する物理アドレスに基づきデータの書込み
が行われ、複数の物理ブロックから構成される。各物理ブロックは所定の書き込み単 位であるページを複数ページ含む。
メモリコントローラは、物理ブロックに格納されるデータの論理アドレスと物理アドレス の対応情報を格納する論物変換テーブルと、ページのサイズより小さ!/、サイズのデ ータを格納する物理ブロックである一時ブロックと、一時ブロックに格納されるデータ に関する論理アドレスと、物理アドレスとの対応情報を格納する一時テーブルとを有 する。メモリコントローラは、書き込み要求されたデータのサイズがページのサイズより 小さい場合に、その要求されたデータを一時ブロックに書き込む。
[0010] 本発明の第 3の態様において、論理アドレスに基づきデータの書込みが可能な不 揮発性記憶装置に対するデータ書き込み方法を提供する。
不揮発性記憶装置は、論理アドレスに対応する物理アドレスによりデータの書込み が行われ、複数の物理ブロックから構成され、各物理ブロックは所定の書き込み単位 であるページを複数ページ含む不揮発性メモリと、物理ブロックに格納されるデータ の論理アドレスと物理アドレスの対応情報を格納する論物変換テーブルと、ページの サイズより小さいサイズのデータを格納する物理ブロックである一時ブロックとを含む 本書き込み方法は、外部からデータの書き込み要求を受け、書き込みデータのアド レスに基づいて、書き込みが要求されたデータを前記一時ブロックへ書き込む力否 かの判断を行う。
[0011] 本発明の第 4の態様において、論理アドレスに基づきデータの書込みが可能な不 揮発性記憶装置に対するデータ読み出し方法を提供する。
不揮発性記憶装置は、論理アドレスに対応する物理アドレスによりデータの読み出 しが行われ、複数の物理ブロックから構成され、各物理ブロックは所定の書き込み単 位であるページを複数ページ含む不揮発性メモリと、物理ブロックに格納されるデー タの論理アドレスと物理アドレスの対応情報を格納する論物変換テーブルと、ページ のサイズより小さ 、サイズのデータを格納する物理ブロックである一時ブロックと、一 時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対応情報を格 納する一時テーブルとを含む。
本読み出し方法は、データの読み出し要求を受けたときに、一時テーブルを参照し 、一時テーブル内に読み出しアドレスの登録があるときは、一時ブロックからデータを 読み出し、一時テーブル内に読み出しアドレスの登録がないときは、論物変換テー ブルを参照してデータを読み出す。
[0012] 本発明の第 5の態様において、論理アドレスに基づきデータの書込み、読み出しが 可能な不揮発性記憶装置における管理テーブルの作成方法を提供する。
不揮発性記憶装置は、論理アドレスに対応する物理アドレスに基づ 、てデータの 書込み、読み出しが行われ、複数の物理ブロックから構成され、各物理ブロックは所 定の書き込み単位であるページを複数ページ含む不揮発性メモリと、物理ブロックに 格納されるデータの論理アドレスと物理アドレスの対応情報を格納する論物変換テ 一ブルと、ページのサイズより小さ!/、サイズのデータを格納する物理ブロックである一 時ブロックと、一時ブロックに格納されるデータに関する論理アドレスと物理アドレスと の対応情報を格納する管理テーブルである一時テーブルとを含む。本作成方法は、 一時ブロックにおいて最後に書き込まれたページを決定し、その決定したページの 情報に基づ 、て前記一時テーブルを作成する。
発明の効果
[0013] 本発明によれば、フラッシュメモリ等の所定の消去単位を有し、かつ所定の書き込 み単位 (例えばページ単位)で書き込みを行わなければならな 、フラッシュメモリを有 する不揮発性メモリにお 、て、所定の書き込み単位 (例えばページ単位)より小さ ヽ サイズのデータの書き込みにおいては、通常の書き込み動作で使用する記録領域( 物理ブロック)とは異なる記録領域に書き込みを行うようにする。これにより、データ書 き込みに伴う記録領域間のデータのコピー回数を低減でき、結果として書き込み処 理の高速化を図れる。
図面の簡単な説明
[0014] [図 1]本発明の不揮発性記憶装置の一実施形態であるメモリカードの構成を示す図 [図 2]フラッシュメモリの内部の構成及び物理ブロックの構成を示す図
[図 3A]メモリカードの内部における論理的なデータの管理を示した図
[図 3B]論物変換テーブルの構成例を示す図
[図 4]フラッシュメモリの一時ページのデータフォーマットを示す図
[図 5]—時ブロックにおける一時ページデータの格納例を示す図
[図 6]—時テーブル 107のデータフォーマットを示す図
[図 7]—時テーブル作成処理のフローチャート
[図 8]データ書き込み処理のフローチャート
[図 9]データ無効化処理を説明するための図
[図 10]データ読み出し処理のフローチャート
[図 11]一時ブロック書き込み処理のフローチャート
[図 12] (a)空き領域がない一時ブロックを説明した図、(b)空き一時ページがない一 時ブロックを説明した図
[図 13]—時ブロックコピー処理のフローチャート
[図 14]一時ブロックコピー処理を説明した図
[図 15] (a)一時ページ解消処理のフローチャート、 (b)一時ページの解消を説明する ための図
[図 16]本発明による第 1のアクセス例を説明するための図
[図 17]第 1のアクセス例における、データ書き込み時の一時ブロックにおける状態の 遷移を示した図
[図 18]第 1のアクセス例における、データ書き込み時の一時ブロックにおける状態の 遷移を示した図(図 17のつづき)
[図 19]従来の方法による、データ書き込み時の一時ブロックにおける状態の遷移を 示した図
[図 20]従来の方法による、データ書き込み時の一時ブロックにおける状態の遷移を 示した図(図 19のつづき)
[図 21]本発明による第 2のアクセス例を説明するための図
[図 22]第 2のアクセス例における、データ書き込み時の一時ブロックにおける状態の 遷移を示した図
[図 23]第 1のアクセス例における、データ書き込み時の一時ブロックにおける状態の 遷移を示した図(図 22のつづき)
[図 24]第 1のアクセス例における、データ書き込み時の一時ブロックにおける状態の 遷移を示した図(図 23のつづき)
符号の説明
31 論理ブロック
80 一時ブロック
85 通常ブロック
101 メモリカード
102 ホスト
103 フラッシュメモリ
104 コントローラ
105 消去済みテーブル
106 論物変換テーブル
107 一時テーブル
110 メモリコントローラ
301 論理ページ
発明を実施するための最良の形態
[0016] 以下、添付の図面を参照し、本発明の実施形態について説明する。
[0017] 1. メモリカードの構成
図 1に本発明の不揮発性記憶装置の一実施形態であるメモリカードの構成を示す 。メモリカード 101は外部機器であるホスト 102からデータの読み出し、書込みが可能 な記憶装置である。メモリカード 101は、不揮発性の記憶素子であるフラッシュメモリ 1 03と、フラッシュメモリ 103に対するデータの書込み、読み出しを制御するメモリコント ローラ 110とを備える。メモリコントローラ 110は、コントローラ 104と、消去済みテープ ル 105と、論物変換テーブル 106と、一時テーブル 107とを備える。メモリコントローラ 110及びフラッシュメモリ 103は半導体集積回路で実現可能である。
[0018] フラッシュメモリ 103は 128MBの容量を持つ。但し、フラッシュメモリ 103の容量は これに限定されない。また、複数のフラッシュメモリを備えても良い。コントローラ 104 は、ホスト 102からの書込みと読み出し命令を受けてフラッシュメモリ 103へのデータ
の格納、または、フラッシュメモリ 103からのデータの読み出しを制御する。本実施形 態では、フラッシュメモリ 103は、 1つのセルにおいて 3値以上の情報を格納可能な多 値メモリセルとする。但し、フラッシュメモリ 103は 2値メモリセルであってもよい。
[0019] フラッシュメモリ 103に格納されるデータは、ファイルシステムの 1つである FATファ ィルシステムにより管理される。 FATファイルシステムは、ファイル管理情報(以下「F AT情報」という。)として、マスターブートレコード 'パーティションテーブル、パーティ シヨンブートセクタ、 FATテーブル 1及び FATテーブル 2、並びにルートディレクトリエ ントリを含む。
[0020] マスターブートレコード 'パーティションテーブルは、データ記録領域を複数のパー テイシヨンと呼ばれる領域に分割して管理するための情報を格納する。パーティション ブートセクタは、一つのパーティション内の管理情報を格納する。 FATテーブル 1及 び FATテーブル 2はそれぞれ、ファイルに含まれるデータの格納位置を示す。ルート ディレクトリエントリは、ルートディレクトリ直下に存在するファイル及びディレクトリの情 報を格納する。なお、ファイルシステムは他の種類のものでもよい。
[0021] 図 2はフラッシュメモリ 103の内部の構成を示す図である。フラッシュメモリ 103の記 録領域は複数の物理ブロック 31から構成される。物理ブロック 31は 128kBの大きさ を持ち、データを一括に消去できる消去単位である。
[0022] また、物理ブロック 31は複数の物理ページ 301から構成される。本実施形態では 物理ブロック 31は 64ページからなる。物理ページ 301は、データを書込む際の書込 み単位であり、 2kBの大きさを持つ。 1物理ページは 4セクタ力もなる。物理ページ 30 1は、ー且データが書き込まれると、上書きすることはできない。ホスト 102が論理的 にデータの書込みを行う単位であるクラスタは 16kBである。この値は物理ブロック 31 の容量 128kBとも物理ページ 301の容量 2kBとも一致しない。そのため、連続する 8 ページ分の物理ページ 301により容量 16kBの部分物理ブロックを構成する。部分 物理ブロック(16kB)はホスト 102からのデータの書込みを想定してコントローラ 103 が論理的に扱うデータの単位である。 1つの物理ブロック 31は 8つの部分物理ブロッ クからなり、その部分物理ブロック単位でホスト 102からのデータが書込まれる。
[0023] 図 3Aはメモリカード 101の内部における論理的なデータの管理を示した図である。
メモリカード 101に搭載されているフラッシュメモリ 103の記憶容量は 128MBである。 一般的にフラッシュメモリ 103には初期不良ブロックや、書き換えを繰り返すことにより 不良ブロックが発生することがある。したがって、予めやや少な目の容量をメモリカー ド 101の容量とする。本例では、ホスト 102が認識できる実質的な容量は 125MBと する。ホスト 102から書込みを行う単位である 16kB単位を「論理ブロック」 402とし、メ モリカード 101の 125MBの容量において、 0から順に 7999まで割り当てている。 8個 の論理ブロックで、フラッシュメモリ 103の消去単位である物理ブロック 31と等しい 12 8kB単位の「論理グループ」 401を構成する。
[0024] 図 1において、消去済みテーブル 105はフラッシュメモリ 103内部の物理ブロックに おいてそれぞれデータが消去済である力 または、書込み済みであるかを示す情報 を格納する。論物変換テーブル 106は、ホスト 102が指定するアドレス(以下「論理ァ ドレス」という。)と、フラッシュメモリ 103内部のアドレス(以下「物理アドレス」という。)と の変換を行うテーブルである。
[0025] 論物変換テーブル 106は、論理グループアドレスに対応するアドレスの記録領域に 、その論理グループ 401に対応する物理ブロック 31のアドレスを格納する。論物変換 テーブル 106の簡単な構成を図 3Bに示す。論物変換テーブル 106は論理グループ アドレスをテーブルのアドレスとして論理アドレスに対応する物理アドレスをテーブル のデータとして持つ。対応する物理ブロック 31が存在しない場合には無効値 (例えば 「0x0000」)をデータとして持つ。
[0026] 本実施形態では、ホスト 102から書き込み要求されたデータのサイズがページサイ ズに満たない小さなサイズのデータをフラッシュメモリ 103に書き込む場合に、特定の 物理ブロック 31にデータを書込む。本実施形態では、この特定の物理ブロック 31の ことを「一時ブロック」と呼ぶ。一時テーブル 107は、一時ブロックに書き込まれたデー タに対する種々の情報、例えば、一時ブロックに書き込まれたデータの物理アドレス と論理アドレス間の対応情報を格納するテーブルである。
[0027] 一時ブロックと異なり、データサイズに依存せずにフラッシュメモリ 103における一般 的な書き込み動作が行われる物理ブロック 31を「通常ブロック」と呼ぶ。通常ブロック へのデータの書き込みが行われた場合、物理アドレスと論理アドレス間の対応関係
は論物変換テーブル 106で管理される。
[0028] 本実施形態のメモリカード 101では、ホスト 102から書き込み要求のあったデータの サイズがページサイズに満たな 、小さな単位のデータにっ 、ては一時ブロック内の ページに格納する。
[0029] なお、本実施形態では 1物理ブロックをデータの管理単位として扱うが、複数の物 理ブロック 31をまとめてさらに大きな管理単位(以下「物理スーパーブロック」 t 、う。) として扱ってもよい。この場合、物理スーパーブロックに対応する論理ブロック群を論 理スーパーブロックとして管理し、論物変換テーブル 106は物理スーパーブロックと 論理スーパーブロックの対応情報を格納する。
[0030] 1 - 1.一時ページのフォーマット
図 4にフラッシュメモリ 103の一時ブロックにおける 1ページ(以下「一時ページ」とい う。)のデータフォーマットを示す。一時ページは、 1ページ分のデータ(以下「ページ データ」という。)を格納するデータ領域 50と、そのページデータについての管理情 報を格納する管理領域 60とを有する。データ領域 50は 4つのセクタデータ領域 51を 含む。各セクタデータ領域 51には、セクタデータ 53と、セクタ ID54と、セクタデータ 5 3とセクタ ID54につ!/、ての ECC55とが格納される。
[0031] 管理領域 60は、論理ページアドレスのフィールド 61と、有効データ 0ページのフィ 一ルド 62と、有効データ 1ページのフィールド 63と、有効データ 2ページのフィールド 64と、有効データ 3ページのフィールド 65と、管理領域 60の ECC (Error Correction Code)のフィールド 66とを有する。論理ページアドレスのフィールド 61はそのページ の論理アドレスを格納する。本実施形態では、一時ブロック 80において有効なデー タとして同時に登録可能な一時ページの最大数は 4とする。但し、この最大数は 4に 限られず、 1物理ブロック 31における最大ページ数 (本例では 64)より小さ 、数であ ればよい。有効なデータとは、読み出し対象となるデータをいう。無効なデータは一 時ブロック 80中に格納されていても、読み出しの対象とはならない。有効データ 0ぺ ージのフィールド 62、有効データ 1ページのフィールド 63、有効データ 2ページのフ ィールド 64、有効データ 3ページのフィールド 65のそれぞれは、有効な一時ページ データとして格納される各ページデータ(有効データ 0〜3)の物理ページアドレスを
それぞれ格納する。
[0032] 図 5に、一時ブロック 80における一時ページデータの格納例を示す。一時ブロック 80は 0x00から 0x3Fまでの 64ページ分の領域(ページ)を有する。図 5の例では、 0 xOOから 0x21までの各領域にデータが書き込まれて!/、る。各ページは管理領域 60 を有する。本実施形態では、最後に書き込まれた物理ページ内の管理領域 60の情 報が有効な情報として参照される。つまり、図 5の状態では、 0x21の物理ページ 301 の管理情報 60 (有効データ 0ページ、有効データ 1ページ、有効データ 2ページ及び 有効データ 3ページ)が参照される。有効データ 0ページのフィールド 62、有効デー タ 1ページのフィールド 63及び有効データ 2ページのフィールド 64はそれぞれ「0x0 1」、 「0x0E」及び「0x21」を格納している。これは、一時ブロック 80内の物理ページ アドレス 61が「0x01」、 「0x0E」、 「0x21」であるページに格納されているデータが、 一時ページとして有効なデータであることを示している。なお、有効データ 3ページの フィールド 65が格納する「0xFF」は無効であることを示す。すなわち、図 5の例では、 有効な一時ページは 3ページ分のみ格納されている。図 5において、(* )で示される ページは無効になった一時ページである。
[0033] 図 5を参照しながら、一時ページデータの書き込みに伴う管理情報 60の遷移を説 明する。一時ブロック 80は 0x00から 0x3Fまでの 64ページ分の領域を有し、物理べ ージアドレス 0x00のページからデータが書き込まれる。
[0034] 図 5の例では、最初、一時ブロック 80内の物理ページアドレス 0x00にページデー タが書き込まれる。このとき、論理ページアドレスのフィールド 61に、そのページデー タの論理ページアドレス(図 5では、「0x000123」)力書き込まれる。この時点で、一 時ブロック 80において有効な一時ページデータとして書き込まれているのは、物理ァ ドレス 0x00の領域のみである。したがって、有効データ 0ページのフィールド 62に、 そのページアドレス「0x00」が書き込まる。それ以外の有効データページのフィール ド 63〜65には、無効を示す「0xFF」が書き込まれる。
[0035] 続いて、次の物理ページアドレス「0x01」にページデータが書き込まれる。このとき 、その論理ページアドレス(0x000123)は、物理ページアドレス「0x00」において既 に書き込んだページデータのものと同じであるので、先に書き込んだ一時ページデ
ータを無効化する。
[0036] 無効化処理は、データの書き込みにおいて、一時ブロック 80に有効データが存在 する論理ページを上書きし、かつ一時ブロックへのデータの書き込みが発生する場 合に行なう。
[0037] 有効なセクタデータの書き込みと共に、管理領域を更新することで無効化を行うの で、無効化処理におけるフィールド 61には有効な論理ページアドレスを記録する。
[0038] 無効化は次のように行う。フィールド 62に記録された有効データ 0ページの値を、 新たにページデータを書き込んだ物理ページアドレスである「0x01」で上書きする。 その他の有効データページのフィールド 63〜65には無効を示す「0xFF」を書き込 む。このように有効データ 0ページの値を上書きすることで、以前に有効であった一 時ページを無効にすることができる。以上のように、本実施形態では、最後に書き込 まれたページの管理情報 60が、有効なページを特定するために参照される。
[0039] なお、ここでは上書きする一時ブロック 80に有効データが存在する論理ページと、 一時ブロックへのデータの書き込みが発生する論理ページが同じ (0x000123)例を 示している。一時ブロック 80に有効データが存在する論理ページを上書きし、かつ一 時ブロックへのデータの書き込みが発生する場合であれば餘理ページが同じである 必要はない。
[0040] 1 - 2.一時テープノレのフォーマット
図 6に、一時テーブル 107のデータフォーマットを示す。一時テーブル 107におい て、「一時ブロックの物理アドレス」のフィールドは、一時ブロック 80として使用する物 理ブロック 31の物理アドレスを格納する。「次書き込み物理ページ」のフィールドは、 次に書き込みが行われる一時ページの物理アドレスを格納する。「有効データ 0の物 理ページアドレス」のフィールドは、一時ブロック 80にお!/、て一時ページとして有効な データを格納するページの物理アドレスを格納する。「有効データ 1の物理ページァ ドレス」、「有効データ 2の物理ページアドレス」、及び「有効データ 3の物理ページァ ドレス」の各フィールドも同様である。「有効データ 0の物理ページアドレスにあるデー タの論理ページアドレス」のフィールドは、「有効データ 0の物理ページアドレス」で指 定される物理アドレスに格納されたデータの論理ページアドレスを格納する。「有効
データ 1の物理ページアドレスにあるデータの論理ページアドレス」、「有効データ 2 の物理ページアドレスにあるデータの論理ページアドレス」、及び「有効データ 3の物 理ページアドレスにあるデータの論理ページアドレス」の各フィールドも同様である。
[0041] 例えば、一時ブロックが図 5のような状態のとき、一時テーブル 107の各フィールド は以下のように値を格納する。
[表 1]
[0042] 一時テーブル 107はメモリカード 101の起動時 (電源投入時)等に作成され、その 後、適宜更新される。ホスト 102は起動時等の所定のタイミングで一時テーブル 107 の値を読み出し、ホスト 102の RAM上に格納する。
[0043] 2. メモリカードの動作
2- 1.一時テーブル作成処理
図 7のフローチャートを用いて一時テーブル作成処理を説明する。
最初に、一時ブロック 80を読み出し、最後に書き込まれた一時ページを検索する( S12) 0図 5の例では、最終の書き込みページとして物理ページアドレスが「0x21」の ページが検索される。次に、最終の書き込みページの管理情報 60を参照して、有効
な一時ページの情報を取得する(SI 2)。図 5の例では、物理ページアドレスが「0x2 1」のページの管理情報 60から、有効な一時ページとして「0x01」、 「0x0E」、 「0x21 」を得る。その後、取得した有効な一時ページの全てについて、論理ページ情報 (論 理ページアドレス)を取得する(S13〜S 15)。図 5の例では、論理ページ情報として「 0x000123」、 「0x000456」、 「0x000777」を得る。なお、図 7【こお!ヽて、ステップ S 13、 S15は、有効な一時ページの全てについて論理ページアドレスを取得するまで 、論理ページアドレスの取得ステップ(S 14)を繰り返すことを示している。最後に、取 得した情報を用いて一時テーブル 107を作成する(S 16)。
[0044] 2- 2.データ書き込み
図 8のフローチャートを用いてメモリカード 101におけるデータ書き込み処理を説明 する。以下の処理はメモリカード 101内のコントローラ 104により実行される。
[0045] ホスト 102からデータ書き込み要求(書き込みコマンド)を受けると、コントローラ 104 は、書き込みデータのサイズが 1セクタである力否かを判断する(S21)。 1セクタであ るときは、一時ブロックへの書き込みを行う(S30)。この処理の詳細は後述する。
[0046] 一方、 1セクタでないときは、書き込みデータがページ内の最終セクタを含むか否か を判断する(S23)。この判断は書き込みデータのアドレスに基づいて可能である。書 き込みデータがページ内の最終セクタを含まない場合は、その書き込みデータは、 2 セクタ又は 3セクタのサイズであり、かつ、その書き込み要求に対する最後のデータで あることを意味する。一方、書き込みデータがページ内の最終セクタを含む場合、ま だそれ以後に続行する書き込みデータが存在することを意味する。
[0047] よって、書き込みデータがページ内の最終セクタを含まない場合に、一時ブロック 8 0への書き込みを行う(S30)。ページ内の最終セクタを含む場合、通常ブロックへの 書き込みを行う(S24)。
[0048] その際、書き込みデータのアドレスが既に一時テーブル 107において有効な一時 ページとして登録されている力否かを判断する(S25)。登録がある場合は、その一時 ページに対する仮無効処理を行う(S 26)。仮無効処理としては、例えば、その一時 ページに対して無効化を行う必要があることを示すフラグを設定する。ホスト 102から 書き込みが要求された全てのデータに対して上記処理を繰り返す (S22、 S27)。
[0049] その後、仮無効処理が発生した力否かを判断し (例えばフラグを確認し)、仮無効 処理が発生した場合は、一時ブロック 80内の仮無効処理が発生した一時ページに っ 、て無効化を行う(S29)。仮無効処理 (S26)が発生した場合の無効化(S29)は データの書き込みにおいて、一時ブロックに有効データが存在する論理ページを上 書きし、かつ一時ブロックへのデータの書き込みが発生しない場合に行う。一時ブロ ック 80内の一時ページの無効化は、無効化する有効データページのフィールド 62、 63、 64または 65を「0xFF」にし、論理ページアドレスのフィールド 61を「0xFFFFF Fjにしたデータ(以下「無効化ページデータ」 t 、う。)を次書き込み物理ページに新 たに追加することで行う。無効化ページデータにおいてデータ領域 50には何も書き 込まれない。例えば、図 9は、物理ページアドレス「0x21」のデータを無効化した例を 示す。物理ページアドレス「0x21」のデータを無効化するため、物理ページアドレス「 0x22」において、有効データ 2ページを「0xFF」に設定し、論理ページアドレスのフ ィールド 61を「0xFFFFFF」に設定した無効化ページデータが書き込まれている。
[0050] 図 8のフローチャートにおいて、一時ブロックへの書き込みの判断についてまとめる 。まず、データサイズが 1セクタ一の書き込みは必ず一時ブロックに書き込む。これは 、ホスト 102がメモリーカード 101の書き込み単位未満のデータを更新するときには、 メモリーカード 101への最小の書き込みサイズである書き込み単位でデータの書き込 みを行うために、ホスト 102が連続した論理バイトアドレスに対してデータを書き込む 時には、データサイズが 1セクタ一の書き込みを、同じ論理セクタ一アドレスに対して 複数回行うことになるからである。データサイズが 1セクタ一でなければ最終アドレス に基づいて、一時ブロックへ書き込みを行なうか否力判断する。最終アドレスがぺー ジ内における最終セクタを示さない場合、先頭アドレスにかかわらず一時ブロックに 書き込む。
[0051] 2- 3.データ読み出し
図 10のフローチャートを用いてメモリカード 101からのデータ読み出し処理を説明 する。以下の処理はメモリカード 101内のコントローラ 104により実行される。
[0052] ホスト 102からデータ読み出し要求を受けると、コントローラ 104は一時テーブル 10 7を参照する。そしてホスト 102から指定された論理アドレスに基づき、読み出そうとす
るデータが一時テーブル 107に登録されている力否かを判断する(S42)。つまり、コ ントローラ 104は、読み出そうとするデータが一時ブロック 80に格納されているか否か を判断する。
[0053] 一時テーブル 107に登録があるときは、一時ブロック 80からの読み出しを行う(S43 ) oより具体的には、一時テーブル 107を参照し、ホスト 102により指定された論理アド レスに対応する物理ページアドレスを求める。その後、一時ブロック 80から、求めた 物理ページアドレスのデータを読み出す。
[0054] 一時テーブル 107に登録がないときは、通常ブロックから、ホスト 102により指定さ れた読み出しアドレスに基づ 、て、データを読み出す (S45)。
[0055] 以上の処理を、ホスト 102から指定された範囲の全てのデータを読み出すまで繰り 返す(S41、 S44)。
[0056] 2-4.一時ブロック書き jAみ
図 11のフローチャートを用いて、上記の一時ブロック 80への書き込み処理(図 8の ステップ S30)を説明する。
[0057] 一時ブロック 80への書き込みを行うために、まず、一時ブロック 80に空き領域があ る力否かを判断する(S51)。ここで、空き領域がない状態とは、図 12 (a)に示すよう に、一時ブロック 80の全物理ページにデータが書き込み済みであり、新たにデータ を書き込むための空き領域がな 、状態を!、う。
[0058] 空き領域がな!、場合、一時ブロックコピー処理を行う(S52)。一時ブロックコピー処 理では、空き領域がな!、一時ブロック 80に格納されて!、る有効な物理ページのデー タを新たな物理ブロックにコピーするとともに、この新たな物理ブロックを一時ブロック 80として使用することで空き領域を設ける。この処理の詳細は後述する。
[0059] その後、一時ブロック 80の 4つの一時ページにおいて空き領域があるか否かを判 断する(S53)。ここで、一時ページの空き領域がない状態とは、図 12 (b)に示すよう に、 4つの有効データページのフィールドに記録された物理ページアドレスの一時べ ージ全てが有効であり、かつ、書き込もうとするデータの論理ページアドレス力 4つ の有効な一時ページの論理ページアドレスの 、ずれとも一致しな 、状態を 、う。
[0060] 一時ページに空き領域がないときは、一時ページ解消処理を行う(S54)。一時べ
ージ解消処理では、最も古くに登録された一つの有効な一時ページを解消し、一時 ページの空きを設ける。この処理の詳細は後述する。
[0061] その後、一時テーブル 107を更新した後(S55)、一時ブロック 80において一時べ ージデータを書き込む(S 56)。
[0062] 2-4- 1.一時ブロックコピー
図 13のフローチャートを用いて、上記の一時ブロックコピー処理(図 11のステップ S
52)を説明する。本処理では、空き領域がない一時ブロック 80の有効な物理ページ のデータのみを新しい物理ブロックにコピーし、これにより一時ブロックに空き領域を 設ける。
[0063] 最初に、消去済みテーブル 105を参照して消去済みの物理ブロックを確保する(S 61)。「消去済みの物理ブロック」は、データの未書き込み領域で構成されている。一 時ページに空き領域がな!、一時ブロック 80の有効な物理ページのデータを全て、新 たに確保した物理ブロックにコピーする(S62)。
[0064] 図 14は、一時ブロックコピー処理を説明した図である。一時ブロック 80は空き領域 がない物理ブロックである。一時ブロック 80の最終ページを参照すると、物理ページ 「0x00」、「0x03」、「0x23」、「0x3F」が有効な一時ページであることが認識できる。 物理ブロック 80bは、新たに確保された消去済みの物理ブロックである。一時ブロック 80における物理ページ「0x00」、「0x03」、「0x23」、「0x3F」のデータ力 S、新たに確 保された物理ブロック 80bにコピーされ、物理ブロック 80bは十分な未書き込み領域 を有し、以後、新たな一時ブロックとして使用される。古い一時ブロック 80のデータは 消去されて、消去済みの物理ブロックとなる。
[0065] 2-4- 2.一時ページ解消
図 15 (a)のフローチャートを用いて、上記の一時ページ解消処理(図 11のステップ S54)を説明する。本処理では、有効な一時ページのうち最も古くに登録されたもの を解消することで、空き一時ページを設ける。
[0066] まず、最も古くに登録された有効な一時ページを検索し、そのページデータを読み 出す (S81)。その読み出したページデータを通常ブロックへコピーする(S82)。その 後、ページデータをコピーした一時ページについて一時ページの無効化処理を行う
(S83)。
[0067] 図 15 (b)は一時ページ解消を説明した図である。一時ブロック 80において最も古く に登録された有効な一時ページ 91が通常ブロック 85にコピーされる。このとき、通常 ブロック 85において、論理アドレスの連続性が保持されるように必要に応じて、一時 ページ 91のデータを、それと論理アドレスが連続するデータとともに通常ブロック 85 にコピーする。
[0068] 3.データ書き込み時の具体例
3— 1.本発明の方法によるアクセス例 1
図 16、図 17、図 18を参照し、データ書き込み時の一時ブロック 80における状態の 遷移につ 、て具体例を挙げて説明する。書き込みデータは 4KB (8セクタ)単位でパ ケット化されており、図 16 (b)に示すように、データ 1、データ 2,データ 3、 · · ·、デー タ 64力らなり、トータルのサイズは 128KB (256セクタ)である。
[0069] データ 1は、セクタ 0〜セクタ 6と、セクタ 7の一部の領域とに書き込まれる。データ 2 はセクタ 7の残りの領域に書き込まれる。データ 3は、セクタ 8〜セクタ 14と、セクタ 15 の一部の領域とに書き込まれる。データ 4はセクタ 15の残りの領域に書き込まれる。 以降、同様にして、データ 5、データ 6、 · · ·、データ 64が対応するセクタに書き込ま れる。
[0070] 図 16 (c)は、図 16 (b)に示すデータの書き込みコマンドを受けたときのアクセス手 順を示している。図 16 (c)において、書き込み、読み出しについての 1つのブロックが ホスト 102からの 1つのコマンドに相当する。
[0071] 最初にデータ 1の書き込みにおいてセクタ 0〜セクタ 6が書き込まれる。次に、セクタ 7の一部に、データ 1の残りのデータが書き込む。この場合、セクタ 7のデータが読み 出され、データ 1の残りのデータ部分に対応する、セクタ 7の部分が書き替えられる。 このように、 1セクタに満たないデータが書き込まれる場合は、セクタデータをー且読 み出し、必要な部分のみを書き替えるリードモディファイライトが実施される。
[0072] 次に、セクタ 7の残りの領域にデータ 2を書き込むため、セクタ 7のデータが読み出さ れ、データ 2のデータ部分に対応するセクタ 7の部分が書き替えられる。以下、同様 にして、データ 64まで書き込まれる。
[0073] 図 17及び図 18は、図 16 (a)〜(c)のようにデータが書き込まれる場合の、一時ブロ ック 80及び通常ブロック 90内の状態の遷移を説明した図である。
[0074] 図 17 (a)は、データ 1に対するセクタ 0〜6の書き込み後、すなわち、図 16 (c)にお けるアクセス A後の、一時ブロック 80と通常ブロック 90の状態を示す。セクタ 0〜6の 書き込みは、セクタ 0〜3の書き込みと、セクタ 4〜6の書き込みに分けられる。セクタ 0 〜3の書き込みは、 1ページ内の最終セクタを含むことから(図 8のステップ S23で「N o」)、通常ブロック 90への書き込みとなる(S24)。セクタ 4〜6の書き込みは、 1ぺー ジ内の最終セクタを含まないことから(図 8のステップ S23で「Yes」)、一時ブロック 80 への書き込みとなる(S30)。一時ブロックの物理ページ 0の「データ領域」 50に、デ ータ 1の一部分をセクタ 4〜6を、有効データ 0ページ(フィールド 62)に物理ページァ ドレス「0」を記録する。このとき、セクタ 7へのデータの書き込みは行われていない。ま た、一時テーブル 107の「有効データ 0の物理ページアドレス」のフィールドに新たな ページの物理ページアドレスである「0」を、「有効データ 0の物理ページにあるデータ の論理ページアドレス」のフィールドに新たなページの論理ページアドレスである「1」 を記録する。
[0075] 図 17 (b)は、データ 1の残りのデータに対するセクタ 7の書き込み後、すなわち、図 16 (c)におけるアクセス B後の、一時ブロック 80と通常ブロック 90の状態を示す。セク タ 7の書き込みは、 1セクタの書き込みであることから(図 8のステップ S21で「Yes」)、 一時ブロック 80への書き込みとなる(S30)。セクタ 7の書き込みのために、セクタ 4〜 7のデータ(1ページ分のデータ)を読み出し、セクタ 7をデータ 1の残りのデータに書 き替えたものを、新たに一時ページデータとして物理ページアドレス「1」に記録する。 このとき、有効データ 0ページ(フィールド 62)の値を、新たなページの物理ページァ ドレスである「1」に設定する。また、一時テーブル 107の「有効データ 0の物理ページ アドレス」のフィールドに新たなページの物理ページアドレスである「1」を記録する。
[0076] 図 17 (c)は、データ 2に対するセクタ 7の書き込み後、すなわち、図 16 (c)における アクセス C後の、一時ブロック 80と通常ブロック 90の状態を示す。セクタ 7の書き込み は、 1セクタの書き込みであることから、一時ブロック 80への書き込みとなる。セクタ 7 の書き込みのために、セクタ 4〜7のデータ(1ページ分のデータ)を読み出し、セクタ
7の一部をデータ 2のデータに書き替えたものを、新たに一時ページデータとして物 理ページアドレス「2」に記録する。このとき、有効データ 0論理ページの値を、新たな ページの物理ページアドレスである「2」に設定する。また、一時テーブル 107の「有 効データ 0の物理ページアドレス」のフィールドに新たなページの物理ページアドレス である「2」を記録する。
[0077] 図 17 (d)は、データ 3に対するセクタ 8〜14の書き込み後、すなわち、図 16 (c)に おけるアクセス D後の、一時ブロック 80と通常ブロック 90の状態を示す。セクタ 8〜14 の書き込みは、セクタ 8〜: L 1の書き込みと、セクタ 12〜14の書き込みに分けられる。 セクタ 8〜: L 1の書き込みは、 1ページ内の最終セクタを含むことから、通常ブロック 90 への書き込みとなる。ここで、通常ブロック 90には、既にセクタ 0〜3までのデータが 書き込まれていることから、論理アドレスの連続性を保持するため、セクタ 8〜: L 1の書 き込みの前にセクタ 4〜7のデータも合わせて書き込む必要がある。
[0078] セクタ 8〜: L 1への通常ブロック 90への書き込み後、セクタ 12〜14の書き込みを行う 。セクタ 12〜 14の書き込みは、 1ページ内の最終セクタを含まないことから、一時ブ ロック 80への書き込みとなる。セクタ 12〜14のデータを物理ページアドレス「3」に記 録する。有効データ 0論理ページ (フィールド 62)の値を「3」に設定する。有効データ 0ページ(フィールド 62)の値を「2」から「3」に上書きするのは、セクタ 4〜7の通常ブ ロック 90への書き込みにより、一時ブロック 80においてセクタ 4〜7のデータを無効に する必要があるからである。また、一時テーブル 107の「有効データ 0の物理ページ アドレス」のフィールドに新たなページの物理ページアドレスである「3」を、「有効デー タ 0の物理ページにあるデータの論理ページアドレス」のフィールドに新たなページ の論理ページアドレスである「3」を記録する。
[0079] 図 18 (e)は、データ 3の残りのデータに対するセクタ 15の書き込み後、すなわち、 図 16 (c)におけるアクセス E後の、一時ブロック 80と通常ブロック 90の状態を示す。 セクタ 15の書き込みは、 1セクタの書き込みであることから、一時ブロック 80への書き 込みとなる。セクタ 12〜15のデータを読み出し、セクタ 15をデータ 3の残りのデータ に書き替えたものを、新たに一時ページデータとして物理ページアドレス「4」に記録 する。このとき、有効データ 0ページの値(フィールド 62)を、新たなページの物理べ
ージアドレスである「4」に設定する。また、一時テーブル 107の「有効データ 0の物理 ページアドレス」のフィールドに新たなページの物理ページアドレスである「4」を記録 する。
[0080] 図 18 (f)は、データ 4に対するセクタ 15の書き込み後、すなわち、図 16 (c)におけ るアクセス F後の、一時ブロック 80と通常ブロック 90の状態を示す。セクタ 15の書き 込みは、 1セクタの書き込みであることから、一時ブロック 80への書き込みとなる。セク タ 12〜 15のデータを読み出し、セクタ 15の一部をデータ 4のデータに書き替えたも のを、新たに一時ページデータとして物理ページアドレス「5」に記録する。このとき、 有効データ 0論理ページの値(フィールド 62)を、新たになページの物理ページアド レスである「5」に設定する。また、一時テーブル 107の「有効データ 0の物理ページ アドレス」のフィールドに新たなページの物理ページアドレスである「5」を記録する。
[0081] 上記の例では、セクタ 0〜6の書き込み(アクセス A)、セクタ 7の書き込み(アクセス B )、セクタ 7の書き込み(アクセス C)のように、 7セクタ、 1セクタ及び 1セクタのアクセス で、通常ブロック 90に書き込みを行うことができる。この場合、 8セクタ(セクタ 0〜7) 分のアクセスで、一時ブロック 80につ!/、ては 3ページ分のアクセスが発生する。
[0082] よって、同様のアクセスが 256セクタ分繰り返されると、 96 (256 + 8 X 3)ページ分 の一時ページに対するアクセスが発生する。 96ページは 1つの一時ブロック 80には 収まらないので、一時コピー処理が 1回生じる。結果として、 3ブロック以内の物理ブ ロックを用いて書き込みが行える。
[0083] 3 - 2.従来の方法によるアクセス例
図 19及び図 20を参照し、図 16 (a)、(b)のデータを、従来の書き込み方法により書 き込んだ場合の物理ブロックにおける状態の変化について説明する。
[0084] 図 19 (a)に示すように、物理ブロック(通常ブロック) # 1において、セクタ 0〜3のデ ータがページ 0に、セクタ 4〜6のデータがページ 1にそれぞれ書き込まれる。次に、 データ 1の残りのデータについてセクタ 7が書き込まれる。し力し、セクタ 7の書き込み については、ページ 1に対する上書きができないため、セクタ 4〜7までのデータを新 たに別ページとして書き込む必要がある。そこで、従来の方法では、図 19 (b)に示す ように書き込みが行われる。すなわち、論理アドレスの連続性を保持するため、セクタ
7に連続するセクタ 8からセクタ 255のデータが物理ブロック # 1の未書き込み領域に 書き込まれ、別の物理ブロック # 2においてセクタ 0〜3、セクタ 4〜7のデータが書き 込まれる。このとき、論理アドレスと物理アドレスとは論物変換テーブルにより対応付 けが行われる。
[0085] 次に、データ 2につ 、てセクタ 7が上書きされる場合、前回と同様にして、セクタ 7に 連続するセクタ 8からセクタ 255のデータ力 物理ブロック # 2の未書き込み領域に書 き込まれ、別の物理ブロック # 3においてセクタ 0〜3、セクタ 4〜7のデータが書き込 まれる(図 19 (c)参照)。
[0086] 次に、物理ブロック # 3においてセクタ 8〜14のデータが書き込まれる(図 19 (d)参 照)。その後、データ 3の残りのデータについてのセクタ 15が書き込まれる。この場合 も、データ 1の残りのデータについてのセクタ 7の書き込みの場合と同様に、論理アド レスの連続性が保持されるように、物理ブロック # 3にデータがコピーされた後、新た な物理ブロック # 4に、セクタ 0〜 15のデータが書き込まれる(図 20 (e)参照)。
[0087] さらに、データ 4についてのセクタ 15の書き込みが行われる。この場合も、データ 2 につ 、てのセクタ 7の書き込みの場合と同様に、論理アドレスの連続性が保持される ように、物理ブロック # 4にデータがコピーされた後、新たな物理ブロック # 5に、セク タ 0〜15のデータが書き込まれる(図 20 (f)参照)。
[0088] 以上のように、従来の方法では、 7セクタ、 1セクタ及び 1セクタのアクセスにおいて、 最初の 7セクタ、 1セクタ及び 1セクタのアクセスでは、 3ブロック消費し、以降の 7セク タ、 1セクタ及び 1セクタのアクセスでは、 2ブロック消費する。従って、 255セクタまで 書き込みが行われた場合、 65 (256 ÷ 8 X 2+ 1)ブロック消費する。
[0089] 従来技術によれば、 255セクタの書き込みにおいて、 65ブロック消費したのに対し て、本実施形態の方法では、アクセス例 1で述べたように 3ブロックしか消費しない。よ つて、本実施形態によれば、ブロック消費量は従来の約 20分の 1となり、物理ブロック 間のデータのコピー回数を低減でき、結果として書き込み処理の高速ィ匕が図れる。
[0090] 3 - 3.本発明の方法によるアクセス例 2
以下の例では、図 21 (c)に示すように、パケット単位で、すなわち、 7セクタ、 1セクタ 及び 1セクタのアクセスによるデータの書き込み毎に、ディレクトリエントリへのアクセス
が生じる場合を説明する。
[0091] 図 22、図 23、図 24は、図 21 (c)のようにディレクトリエントリへの書き込みを伴うデ ータ書き込みの場合の、一時ブロック 80及び通常ブロック 90内の状態の変化を説明 した図である。
[0092] 一時ブロック 80及び通常ブロック 90内の状態の変化は図 17及び図 18に示したも のと基本的に同じである。ディレクトリエントリのデータサイズは 1セクタとなるため、デ ィレクトリエントリのデータは、一時ブロック 80へ書き込まれる(図 22 (d)、図 24参照)
[0093] このようにパケット単位でディレクトリエントリを更新することにより、データ書き込み 途中で障害が発生した場合にも、書き込み済みデータに対する管理が全く不能とな るとい不具合を防止でき、ディレクトリエントリを更新したデータまでは管理ができるよ うになる。このようなメリットは例えば携帯端末に望まれる。
[0094] なお、データがディレクトリエントリに対する書き込み力否かの判断は、書き込みデ ータのアドレスに基づいても判断できる。よって、書き込みデータのアドレスを判定し
、そのアドレスがディレクトリエントリに対応するものである場合は、無条件に一時プロ ック 80へデータを書き込むようにしてもよ!/、。
[0095] 4.ま め
以上のように本実施形態によれば、所定の書き込み単位 (ページ単位)で書き込み を行わなければならないフラッシュメモリを有する不揮発性メモリにおいて、所定の書 き込み単位 (ページ単位)より小さ 、サイズのデータの書き込みにお 、ては、通常の 書き込み動作で使用する物理ブロックとは異なる物理ブロック(一時ブロック)に書き 込みを行う。これにより、データ書き込みに伴う物理ブロック間のデータのコピー回数 を低減でき、結果として書き込み処理の高速化を図れる。
産業上の利用可能性
[0096] 本発明は不揮発性半導体装置に対する書き込みの高速化技術に適用でき、特に 、所定の書き込み単位 (例えばページ単位)で書き込みを行わなければならな 、不 揮発性メモリを有する不揮発性半導体装置、不揮発性メモリのコントローラ装置等に 有用である。
Claims
[1] 論理アドレスに基づきデータの書込みが可能な不揮発性記憶装置であって、
前記論理アドレスに対応する物理アドレスに基づきデータの書込みが行われ、複数 の物理ブロックから構成され、前記各物理ブロックは所定の書き込み単位であるぺー ジを複数ページ含む不揮発性メモリと、
前記物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を 格納する論物変換テーブルと、
前記ページのサイズより小さいサイズのデータを格納する物理ブロックである一時 ブロックと、 前記一時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対応 情報を格納する一時テーブルとを備える、
不揮発性記憶装置。
[2] 前記一時ブロックは、 1ページに対して 1回の書き込みのみが可能である、請求項 1 記載の不揮発性記憶装置。
[3] 前記不揮発性メモリは多値メモリセルである、請求項 1あるいは請求項 2に記載の 不揮発性記憶装置。
[4] 複数の物理ブロックを 1つの物理スーパーブロックとして管理し、前記物理スーパー ブロックに対応する論理ブロック群を論理スーパーブロックとして管理し、前記論物変 換テーブルは前記物理スーパーブロックと前記論理スーパーブロックの対応情報を 格納する、請求項 1から請求項 3のいずれか一つに記載の不揮発性記憶装置。
[5] 論理アドレスに基づきデータの書込みが可能な不揮発性メモリを含む不揮発性記 憶装置の動作制御を行うメモリコントローラであって、
a)前記不揮発性メモリは、前記論理アドレスに対応する物理アドレスに基づいてデ ータの書込みが行われ、複数の物理ブロックから構成され、各物理ブロックは所定の 書き込み単位であるページを複数ページ含み、
b)前記メモリコントローラは、
前記物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を 格納する論物変換テーブルと、
前記ページのサイズより小さいサイズのデータを格納する物理ブロックである一時 ブロックと、
前記一時ブロックに格納されるデータに関する論理アドレスと、物理アドレスとの 対応情報を格納する一時テーブルとを有し、
書き込み要求されたデータのサイズが前記ページのサイズより小さ 、場合に、そ の要求されたデータを前記一時ブロックに書き込む、
不揮発性記憶装置のメモリコントローラ。
[6] 前記一時ブロックは、 1ページに対して 1回の書き込みのみが可能である、請求項 5 記載の不揮発性記憶装置のメモリコントローラ。
[7] 前記不揮発性メモリは多値メモリセルである、請求項 5あるいは請求項 6に記載のメ モリコントローラ。
[8] 複数の物理ブロックを 1つの物理スーパーブロックとして管理し、前記物理スーパー ブロックに対応する論理ブロック群を論理スーパーブロックとして管理し、前記論物変 換テーブルは前記物理スーパーブロックと前記論理スーパーブロックの対応情報を 格納する、請求項 5から請求項 7のいずれか一つに記載のメモリコントローラ。
[9] 論理アドレスに基づきデータの書込みが可能な不揮発性記憶装置に対するデータ 書き込み方法であって、
a)前記不揮発性記憶装置は、
前記論理アドレスに対応する物理アドレスによりデータの書込みが行われ、複数 の物理ブロックから構成され、各物理ブロックは所定の書き込み単位であるページを 複数ページ含む不揮発性メモリと、
前記物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を 格納する論物変換テーブルと、
前記ページのサイズより小さいサイズのデータを格納する物理ブロックである一時 ブロックとを含み、
b)前記書き込み方法は、
外部からデータの書き込み要求を受け、
書き込みデータのアドレスに基づいて、書き込みが要求されたデータを前記一時ブ
ロックへ書き込むか否かの判断を行う、
データ書き込み方法。
[10] 前記ページは複数セクタからなり、
外部力も書き込みが要求されたデータのサイズが 1セクタであるとき、または、書き 込みデータの最終セクタが前記ページ内の最終セクタに該当しないときに、前記一 時ブロックへのデータの書き込みを行う、
請求項 9記載のデータ書き込み方法。
[11] 前記一時ブロックに書き込むことができるページの数は、前記物理ブロックを構成 するページの総数よりも少ない、請求項 9あるいは請求項 10に記載のデータ書き込 み方法。
[12] 最大数の有効なページを格納する一時ブロックにおいて、新たなデータを書き込 む場合に、前記有効なページの中の少なくとも 1つのページのデータを、前記一時 ブロック以外の物理ブロックにコピーし、その後、前記一時ブロックに前記新たなデー タを書き込む、請求項 9から請求項 11のいずれか一つに記載のデータ書き込み方 法。
[13] 前記一時ブロックに格納されている有効なページのデータ力 前記一時ブロック以 外の物理ブロックに書き込まれた場合は、前記一時ブロックにおいて、前記書き込ま れたデータに対応する前記有効なページを無効化する、請求項 9から請求項 12の V、ずれか一つに記載のデータ書き込み方法。
[14] 前記一時ブロックにお 、て各ページは、データを格納するデータ領域と、該データ の管理情報を格納する管理領域とを含み、
前記一時ブロックに格納された有効なページの無効化は、前記データ領域に無効 なデータを格納し、前記管理領域に有効な管理情報を含めたページのデータを追 加することにより行う、請求項 9から請求項 13のいずれか一つに記載のデータ書き込 み方法。
[15] 空き領域がな 、一時ブロックに新たなデータを書き込む場合、
消去済みの物理ブロックを取得し、
前記取得した物理ブロックに前記一時ブロックに格納された有効なページのデータ
をコピーし、
前記取得した物理ブロックに前記新たなデータを書き込む、請求項 9から請求項 1 4の 、ずれか一つに記載のデータ書き込み方法。
[16] 論理アドレスに基づきデータの読み出しが可能な不揮発性記憶装置に対するデー タ読み出し方法であって、
a)前記不揮発性記憶装置は、
前記論理アドレスに対応する物理アドレスによりデータの読み出しが行われ、複 数の物理ブロック力 構成され、各物理ブロックは所定の書き込み単位であるページ を複数ページ含む不揮発性メモリと、
前記物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を 格納する論物変換テーブルと、
前記ページのサイズより小さいサイズのデータを格納する物理ブロックである一時 ブロックと、 前記一時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対 応情報を格納する一時テーブルとを含み、
b)前記読み出し方法は、
データの読み出し要求を受けたときに、前記一時テーブルを参照し、
前記一時テーブル内に読み出しアドレスの登録があるときは、前記一時ブロックか らデータを読み出し、
前記一時テーブル内に読み出しアドレスの登録がないときは、前記論物変換テー ブルを参照してデータを読み出す、
不揮発性記憶装置のデータ読み出し方法。
[17] 前記一時ブロックにおいて最後に書き込まれたページの情報に基づいて、一時ブ ロック中の有効なページを判断する、請求項 16記載のデータ読み出し方法。
[18] 論理アドレスに基づきデータの書込み、読み出しが可能な不揮発性記憶装置にお ける管理テーブルの作成方法であって、
a)前記不揮発性記憶装置は、
前記論理アドレスに対応する物理アドレスに基づ!/、てデータの書込み、読み出し
が行われ、複数の物理ブロックから構成され、各物理ブロックは所定の書き込み単位 であるページを複数ページ含む不揮発性メモリと、
前記物理ブロックに格納されるデータの論理アドレスと物理アドレスの対応情報を 格納する論物変換テーブルと、
前記ページのサイズより小さいサイズのデータを格納する物理ブロックである一時 ブロックと、
前記一時ブロックに格納されるデータに関する論理アドレスと物理アドレスとの対 応情報を格納する管理テーブルである一時テーブルとを含み、
b)前記作成方法は、
前記一時ブロックにおいて最後に書き込まれたページを決定し、
その決定したページの情報に基づいて前記一時テーブルを作成する、 管理テーブルの作成方法。
[19] 前記一時ブロックにおいて各ページはデータを格納するデータ領域と、該データの 管理情報を格納する管理領域とを含み、前記管理領域は前記データ領域に格納さ れたデータに対する論理ページの情報を格納する、請求項 18記載の管理テーブル の作成方法。
[20] 前記一時ブロックにおいて各ページはデータを格納するデータ領域と、該データの 管理情報を格納する管理領域とを含み、前記管理領域は有効なページの物理べ一 ジアドレスを格納する、請求項 18あるいは請求項 19に記載の管理テーブルの作成 方法。
[21] 前記一時テーブルは前記半導体記憶装置に対する電源投入時に作成される、請 求項 18力も請求項 20のいずれか一つに記載の管理テーブルの作成方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007549172A JP4633802B2 (ja) | 2005-12-09 | 2006-12-07 | 不揮発性記憶装置及びデータ読み出し方法及び管理テーブル作成方法 |
EP06834204.7A EP1895418B1 (en) | 2005-12-09 | 2006-12-07 | Nonvolatile memory device, method of writing data, and method of reading out data |
CN200680016090.7A CN101176074B (zh) | 2005-12-09 | 2006-12-07 | 非易失性存储器件,写入数据的方法,和读出数据的方法 |
US11/912,700 US8307149B2 (en) | 2005-12-09 | 2006-12-07 | Nonvolatile memory device including a logical-to-physical logig-to-physical address conversion table, a temporary block and a temporary table |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005355907 | 2005-12-09 | ||
JP2005-355907 | 2005-12-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007066720A1 true WO2007066720A1 (ja) | 2007-06-14 |
Family
ID=38122865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/324449 WO2007066720A1 (ja) | 2005-12-09 | 2006-12-07 | 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8307149B2 (ja) |
EP (1) | EP1895418B1 (ja) |
JP (1) | JP4633802B2 (ja) |
CN (1) | CN101176074B (ja) |
WO (1) | WO2007066720A1 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102381036A (zh) * | 2011-08-01 | 2012-03-21 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
JP2013016147A (ja) * | 2011-06-08 | 2013-01-24 | Panasonic Corp | メモリコントローラ及び不揮発性記憶装置 |
JP2013137770A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | Lbaビットマップの使用 |
JP2013214147A (ja) * | 2012-03-30 | 2013-10-17 | Toshiba Corp | ディスクアレイ装置 |
JP2013239099A (ja) * | 2012-05-17 | 2013-11-28 | Sony Corp | 制御装置、記憶装置、記憶制御方法 |
Families Citing this family (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009003783A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
JP2009003784A (ja) * | 2007-06-22 | 2009-01-08 | Toshiba Corp | 不揮発性メモリの制御装置及び制御方法及び記憶装置 |
TWI385519B (zh) * | 2008-04-18 | 2013-02-11 | Phison Electronics Corp | 資料寫入方法及使用此方法的快閃儲存系統與其控制器 |
CN101604291B (zh) * | 2008-06-12 | 2012-07-18 | 联阳半导体股份有限公司 | 增进多级单元非挥发性内存的数据存取可靠度的方法 |
TWI398770B (zh) * | 2008-07-08 | 2013-06-11 | Phison Electronics Corp | 用於快閃記憶體的資料存取方法、儲存系統與控制器 |
US20100161932A1 (en) * | 2008-12-18 | 2010-06-24 | Ori Moshe Stern | Methods for writing data from a source location to a destination location in a memory device |
US8316201B2 (en) * | 2008-12-18 | 2012-11-20 | Sandisk Il Ltd. | Methods for executing a command to write data from a source location to a destination location in a memory device |
CN101788955B (zh) * | 2009-01-23 | 2012-05-02 | 群联电子股份有限公司 | 闪存数据的存取方法及其储存系统与控制器系统 |
JP2010211618A (ja) * | 2009-03-11 | 2010-09-24 | Toshiba Corp | 半導体記憶装置 |
CN101582903B (zh) * | 2009-06-24 | 2012-08-08 | 浙江宇视科技有限公司 | 一种流媒体资源存储方法和设备 |
US8443263B2 (en) | 2009-12-30 | 2013-05-14 | Sandisk Technologies Inc. | Method and controller for performing a copy-back operation |
JP5556189B2 (ja) * | 2010-01-20 | 2014-07-23 | ソニー株式会社 | 記憶装置およびデータの書込み方法 |
KR101678911B1 (ko) * | 2010-03-12 | 2016-11-23 | 삼성전자주식회사 | 데이터 저장 장치 및 그것을 포함하는 컴퓨팅 시스템 |
JP5066209B2 (ja) * | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
US8838878B2 (en) * | 2010-06-01 | 2014-09-16 | Greenliant Llc | Method of writing to a NAND memory block based file system with log based buffering |
US9141559B2 (en) | 2012-01-04 | 2015-09-22 | Intel Corporation | Increasing virtual-memory efficiencies |
EP2801025B1 (en) * | 2012-01-04 | 2018-10-24 | Intel Corporation | Increasing virtual-memory efficiencies |
US8719546B2 (en) | 2012-01-04 | 2014-05-06 | Intel Corporation | Substitute virtualized-memory page tables |
US9026887B2 (en) * | 2012-03-15 | 2015-05-05 | Micron Technology, Inc. | Physical page, logical page, and codeword correspondence |
US8625386B2 (en) * | 2012-03-22 | 2014-01-07 | Seiko Epson Corporation | Non-volatile memory device, circuit board, printing material container and printer |
JP2013232097A (ja) * | 2012-04-27 | 2013-11-14 | Toshiba Corp | 半導体記憶装置 |
US8898548B1 (en) * | 2012-08-24 | 2014-11-25 | Western Digital Technologies, Inc. | Methods, data storage devices and systems having variable size ECC page size |
US9268682B2 (en) | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9507523B1 (en) | 2012-10-12 | 2016-11-29 | Western Digital Technologies, Inc. | Methods, devices and systems for variable size logical page management in a solid state drive |
US9489296B1 (en) | 2012-10-17 | 2016-11-08 | Western Digital Technologies, Inc. | Methods, devices and systems for hardware-based garbage collection in solid state drives |
JP2014186761A (ja) | 2013-03-21 | 2014-10-02 | Toshiba Corp | 半導体記憶装置、コントローラ、及びメモリシステム |
CN103455442B (zh) * | 2013-08-30 | 2016-06-08 | 华为技术有限公司 | 多通道先进先出缓存队列控制器及访问方法 |
TWI501243B (zh) * | 2013-11-12 | 2015-09-21 | Phison Electronics Corp | 資料寫入方法、記憶體儲存裝置、記憶體控制電路單元 |
TWI515737B (zh) | 2013-12-09 | 2016-01-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及其資料抹除方法 |
US9354955B1 (en) | 2014-03-19 | 2016-05-31 | Western Digital Technologies, Inc. | Partial garbage collection for fast error handling and optimized garbage collection for the invisible band |
KR102254392B1 (ko) | 2014-05-12 | 2021-05-25 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 |
CN104023058B (zh) * | 2014-06-03 | 2017-05-17 | 浙江宇视科技有限公司 | 一种存储资源的管理和分配方法和系统 |
TWI563507B (en) * | 2015-07-01 | 2016-12-21 | Phison Electronics Corp | Memory management method, memory control circuit unit and memry storage apparatus |
CN105653373A (zh) * | 2016-02-25 | 2016-06-08 | 腾讯科技(深圳)有限公司 | 资源分配方法及装置 |
KR20180031412A (ko) | 2016-09-20 | 2018-03-28 | 삼성전자주식회사 | 메모리 컨트롤러의 동작 방법과, 이를 포함하는 장치들의 동작 방법들 |
US11615019B2 (en) * | 2018-08-21 | 2023-03-28 | Sony Corporation | Non-volatile storage device, host device, and data storage system to increase data write speed |
KR102585883B1 (ko) * | 2018-09-18 | 2023-10-10 | 에스케이하이닉스 주식회사 | 메모리 시스템의 동작 방법 및 메모리 시스템 |
US11650932B2 (en) | 2020-10-25 | 2023-05-16 | Western Digital Technologies, Inc. | Integrated non-volatile memory assembly with address translation |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP2003508861A (ja) * | 1999-09-03 | 2003-03-04 | レクサー・メディア・インコーポレイテッド | セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成 |
US20050030791A1 (en) * | 2003-08-04 | 2005-02-10 | Phison Electronics Corp. | Method writing data to a large block of a flash memory cell |
JP2005196736A (ja) * | 2003-12-30 | 2005-07-21 | Samsung Electronics Co Ltd | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
JP2005222534A (ja) * | 2004-02-03 | 2005-08-18 | Samsung Electronics Co Ltd | フラッシュメモリのデータ管理装置及び方法 |
JP2006092169A (ja) * | 2004-09-22 | 2006-04-06 | Toshiba Corp | メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2784079B2 (ja) * | 1990-04-11 | 1998-08-06 | アスモ株式会社 | 自動車用シートベルトの自動装着装置 |
JP3171901B2 (ja) | 1992-02-05 | 2001-06-04 | セイコーインスツルメンツ株式会社 | 不揮発性メモリカードの書換え方法 |
KR970008188B1 (ko) * | 1993-04-08 | 1997-05-21 | 가부시끼가이샤 히다찌세이사꾸쇼 | 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치 |
JPH0918551A (ja) | 1995-06-27 | 1997-01-17 | Daini Denden Kk | 通信用端末を異なった呼出音で鳴動可能な通信システム及び異なる呼出音を選択鳴動可能な通信用端末 |
JP3588231B2 (ja) | 1997-08-04 | 2004-11-10 | 東京エレクトロンデバイス株式会社 | データ処理システム及びブロック消去型記憶媒体 |
JP3793868B2 (ja) | 1999-11-25 | 2006-07-05 | カシオ計算機株式会社 | フラッシュメモリ管理装置及び記録媒体 |
US6684289B1 (en) * | 2000-11-22 | 2004-01-27 | Sandisk Corporation | Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory |
JP3621051B2 (ja) | 2001-04-26 | 2005-02-16 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP3692313B2 (ja) * | 2001-06-28 | 2005-09-07 | 松下電器産業株式会社 | 不揮発性メモリの制御方法 |
US7058768B2 (en) * | 2002-04-17 | 2006-06-06 | Microsoft Corporation | Memory isolation through address translation data edit control |
JP4667243B2 (ja) | 2003-08-29 | 2011-04-06 | パナソニック株式会社 | 不揮発性記憶装置及びその書込み方法 |
JP2005085011A (ja) * | 2003-09-09 | 2005-03-31 | Renesas Technology Corp | 不揮発性メモリ制御装置 |
US7139864B2 (en) | 2003-12-30 | 2006-11-21 | Sandisk Corporation | Non-volatile memory and method with block management system |
US8607016B2 (en) | 2004-07-21 | 2013-12-10 | Sandisk Technologies Inc. | FAT analysis for optimized sequential cluster management |
US7412560B2 (en) * | 2004-12-16 | 2008-08-12 | Sandisk Corporation | Non-volatile memory and method with multi-stream updating |
US7386655B2 (en) * | 2004-12-16 | 2008-06-10 | Sandisk Corporation | Non-volatile memory and method with improved indexing for scratch pad and update blocks |
-
2006
- 2006-12-07 WO PCT/JP2006/324449 patent/WO2007066720A1/ja active Application Filing
- 2006-12-07 EP EP06834204.7A patent/EP1895418B1/en active Active
- 2006-12-07 JP JP2007549172A patent/JP4633802B2/ja active Active
- 2006-12-07 CN CN200680016090.7A patent/CN101176074B/zh active Active
- 2006-12-07 US US11/912,700 patent/US8307149B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09185551A (ja) * | 1996-01-08 | 1997-07-15 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP2003508861A (ja) * | 1999-09-03 | 2003-03-04 | レクサー・メディア・インコーポレイテッド | セクタ書き込み操作時間を効果的に減少させるための不揮発性メモリユニット内のブロックの構成 |
US20050030791A1 (en) * | 2003-08-04 | 2005-02-10 | Phison Electronics Corp. | Method writing data to a large block of a flash memory cell |
JP2005196736A (ja) * | 2003-12-30 | 2005-07-21 | Samsung Electronics Co Ltd | フラッシュメモリのアドレスマッピング方法、マッピング情報管理方法及びこれらの方法を用いたフラッシュメモリ |
JP2005222534A (ja) * | 2004-02-03 | 2005-08-18 | Samsung Electronics Co Ltd | フラッシュメモリのデータ管理装置及び方法 |
JP2006092169A (ja) * | 2004-09-22 | 2006-04-06 | Toshiba Corp | メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 |
Non-Patent Citations (1)
Title |
---|
See also references of EP1895418A4 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013016147A (ja) * | 2011-06-08 | 2013-01-24 | Panasonic Corp | メモリコントローラ及び不揮発性記憶装置 |
US8856427B2 (en) | 2011-06-08 | 2014-10-07 | Panasonic Corporation | Memory controller and non-volatile storage device |
CN102381036A (zh) * | 2011-08-01 | 2012-03-21 | 珠海天威技术开发有限公司 | 耗材芯片、耗材容器及耗材芯片的数据写入方法 |
JP2013137770A (ja) * | 2011-12-12 | 2013-07-11 | Apple Inc | Lbaビットマップの使用 |
US9069657B2 (en) | 2011-12-12 | 2015-06-30 | Apple Inc. | LBA bitmap usage |
US9477596B2 (en) | 2011-12-12 | 2016-10-25 | Apple Inc. | LBA bitmap usage |
JP2013214147A (ja) * | 2012-03-30 | 2013-10-17 | Toshiba Corp | ディスクアレイ装置 |
JP2013239099A (ja) * | 2012-05-17 | 2013-11-28 | Sony Corp | 制御装置、記憶装置、記憶制御方法 |
Also Published As
Publication number | Publication date |
---|---|
EP1895418B1 (en) | 2015-04-01 |
JPWO2007066720A1 (ja) | 2009-05-21 |
CN101176074A (zh) | 2008-05-07 |
EP1895418A4 (en) | 2008-08-27 |
US8307149B2 (en) | 2012-11-06 |
US20090049229A1 (en) | 2009-02-19 |
JP4633802B2 (ja) | 2011-02-16 |
CN101176074B (zh) | 2010-12-15 |
EP1895418A1 (en) | 2008-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007066720A1 (ja) | 不揮発性記憶装置並びにデータ書込み方法及びデータ読み出し方法 | |
US8667213B2 (en) | Flash management techniques | |
USRE46404E1 (en) | Flash memory management method | |
US10915475B2 (en) | Methods and apparatus for variable size logical page management based on hot and cold data | |
US8364931B2 (en) | Memory system and mapping methods using a random write page mapping table | |
US8321652B2 (en) | Process and method for logical-to-physical address mapping using a volatile memory device in solid state disks | |
EP2605142B1 (en) | Lba bitmap usage | |
US7702844B2 (en) | Address mapping method and mapping information managing method for flash memory, and flash memory using the same | |
US20150309927A1 (en) | Hybrid Non-Volatile Memory System | |
US20070094440A1 (en) | Enhanced data access in a storage device | |
US20080098195A1 (en) | Memory system including flash memory and mapping table management method | |
US20060129750A1 (en) | Method and apparatus for storing multimedia data in nonvolatile storage device in units of blocks | |
US20140297935A1 (en) | Mount-time reconciliation of data availability | |
US11307979B2 (en) | Data storage device and non-volatile memory control method | |
KR101191650B1 (ko) | 낸드 플래시 메모리에서 데이터의 주소를 사상시키는 장치 및 방법 | |
Lee et al. | RMSS: an efficient recovery management scheme on NAND flash memory based solid state disk | |
US20200272424A1 (en) | Methods and apparatuses for cacheline conscious extendible hashing | |
US6871260B2 (en) | Non-volatile memory based storage system capable of directly overwriting without using redundancy and its writing method | |
CN108255437B (zh) | 数据贮存装置及方法 | |
TWI354892B (en) | Method of immediate data update with flash memory | |
US11748023B2 (en) | Data storage device and non-volatile memory control method | |
Chiao et al. | HybridLog: an Efficient Hybrid-Mapped Flash Translation Layer for Modern NAND Flash Memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680016090.7 Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2007549172 Country of ref document: JP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2006834204 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11912700 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |