T 0174/11 (Flash memory controller/SONY) of 9.7.2015

European Case Law Identifier: ECLI:EP:BA:2015:T017411.20150709
Date of decision: 09 July 2015
Case number: T 0174/11
Application number: 99111815.9
IPC class: G06F 12/02
Language of proceedings: EN
Distribution: D
Download and more information:
Decision text in EN (PDF, 308 KB)
Documentation of the appeal procedure can be found in the Register
Bibliographic information is available in: EN
Versions: Unpublished
Title of application: Data storage, data processing system and method
Applicant name: Sony Corporation
Opponent name: -
Board: 3.5.01
Headnote: -
Relevant legal provisions:
European Patent Convention 1973 Art 83
Keywords: Sufficiency of disclosure - (no)
Catchwords:

-

Cited decisions:
-
Citing decisions:
-

Summary of Facts and Submissions

I. This is an appeal against the decision of the Examining Division to refuse the application EP 99111815.9.

II. The Examining Division rejected the main request for lack of novelty (Article 54 EPC) over the document D1 (DE 196 15 948 A1). The invention as claimed in the first to fourth auxiliary requests was considered to be insufficiently disclosed (Article 83 EPC), in particular in respect of the feature "generating [...] a table".

III. In the statement setting out the grounds of appeal, the appellant requested that the decision of the Examining Division be set aside and that a patent be granted on the basis of the main or one of the four auxiliary requests underlying the appealed decision. The appellant also made an auxiliary request for oral proceedings.

IV. In a communication pursuant to Rule 100(2) EPC, the Board set out its provisional view that claim 1 according to the main request lacked novelty over the disclosure of D1 and that the first to fourth auxiliary requests could not be allowed due to a lack of disclosure. The Board did not see any disclosure as to how the information requisite for generating the tables could be found.

V. On 28 January 2015, in reply to the Board's communication, the appellant provided further arguments in favour of novelty and sufficiency of disclosure, and submitted amended main and first and second auxiliary requests. The previous requests were renumbered as third to seventh auxiliary requests. The request for oral proceedings was maintained.

VI. The Board held oral proceedings. The appellant's final set of requests was that the decision under appeal be set aside and that a patent be granted on the basis of the main request or, in the alternative, on the basis of one of the first and second auxiliary requests, all filed with the letter dated 28 January 2015, or of a third auxiliary request filed during the oral proceedings.

VII. Claim 1 of the main request reads as follows:

"A memory card (20) for connection to an external data processing system (10), comprising:

a storage means (21) whose storage area is divided into a plurality of segments, each of which is divided into a plurality of blocks each having a physical address peculiar thereto; and

a control means (25) for writing or reading data to or from said storage means device based on a command from said external data processing system,

characterized in that

said control means is configured and adapted for generating, in an internal memory thereof, a table in segments, the table in segments being indicative of a correspondence between the physical addresses of the blocks constituting a respective segment of said storage means and the logical addresses of the data stored or to be stored in said blocks constituting said respective segment,

said respective segment being a segment of said storage means to/from which said data is to be written/read."

VIII. The first auxiliary request adds the following, at the end of claim 1:

"and wherein said control means is configured and adapted for generating said table each time a read

and/or write command form said external data processing system is performed".

IX. The second auxiliary request, as compared to the main request, adds the following feature at the end of claim 1:

"and wherein, if the table has been generated for any other segment in the internal memory, the control means (25) will rewrite the existent table to a one for the segment to which the data is to be written".

X. Claim 1 of the third auxiliary request reads:

"A data processing method for reading data from a storage means (21) whose storage area is divided into a plurality of segments, each of which is divided into a plurality of physical blocks each having a physical address peculiar thereto; the method comprising the steps of:

calculating a logical address from a sector number to locate a segment from which data is to be read;

generating, in an internal memory of a controller, a table showing a correspondence between the physical addresses of physical blocks composing the segment in which the data is stored and the logical addresses of the logical blocks stored in the physical blocks;

referring to the table generated to seek a physical block in which a logical block to which the data to be read belongs is stored;

locating and accessing the place in the physical block from which data to be read is stored, and reading the data."

XI. Claim 2 of the third auxiliary request defines the corresponding method for writing data:

"A data processing method for writing data to a storage means (21) whose storage area is divided into a plurality of segments, each of which is divided into a plurality of physical blocks each having a physical address peculiar thereto; the method comprising the steps of:

calculating a logical address from a sector number to locate a segment to which data is to be written;

generating, in an internal memory of a controller, a table showing a correspondence between the physical addresses of physical blocks composing the segment to which the data is to be written and the logical addresses of the logical blocks stored in the physical blocks;

referring to the table generated to seek an unused one of the logical blocks composing the segment;

writing data to the unused physical block;

rewriting the table to change the statement of the logical address corresponding to the physical block in which the data has been written from "unused" to the logical address of the logical block to which the data having been written belongs."

XII. The appellant's arguments are reproduced in the reasons.

Reasons for the Decision

1. The invention

1.1 The invention concerns a flash memory card. A problem with flash memories is that they wear out after a finite number, say 10 000, of program/erase cycles (published application, paragraph [0004]). To avoid some blocks of the flash memory wearing out more quickly than others, which affects the lifetime of the whole memory, data should be distributed evenly across the medium. This is called "wear leveling".

1.2 In the prior art, wear leveling is done by a memory controller using a table indicating the correspondence between physical addresses of physical blocks of the flash memory and logical addresses of logical data blocks, as set out in the published application, paragraphs [0005] to [0009]. The logical blocks are the storage partitions, each corresponding to a data erasure unit, as seen from the data processing system accessing the flash memory. The physical blocks are the physical partitions of the flash memory. When data corresponding to a logical block are to be read from the flash memory, the controller refers to the table to locate the physical address of the physical block in which the data are stored. When data are to be written to a logical block, the controller refers to the table to find an unused physical block to which the data can be written. However, as the storage capacity of flash memories increases, larger tables need to be held in the controller's internal memory, which increases the cost of the memory card.

1.3 The invention seeks to reduce the size of the internal memory by providing a smaller table corresponding to a segment of the flash memory (figure 4) currently being accessed. This table indicates the correspondence between the physical blocks composing the segment and the logical blocks stored in those physical blocks (figure 6). It is the teaching of the application ([0049], [0060]) that information for segments other than the current segment is not maintained in the internal memory.

2. Main request, sufficiency of disclosure (Article 83 EPC 1973)

2.1 In claim 1, the control means is configured for "generating" the table in the internal memory. The question is whether the application discloses how this is done, such that the skilled person could carry it out.

2.2 The Board sees a fundamental problem in storing only one segment table in memory at a time. When, for example, segment 1 is accessed, its correspondence table is generated in the controller's internal memory, and overwrites any other correspondence table that was previously stored there.

If, subsequently, data should be read from segment 2, the correspondence table for segment 2 must be generated. The information that should go into the table is not available in the internal memory of the memory controller, but must somehow be found. Otherwise the correct data will not be read.

2.3 The appellant argued that the skilled person would have recognised that the segment tables must be stored in the flash memory itself, because there was no other place to store them. It was, furthermore, clear that the tables had to be stored in non-volatile storage on the memory card; otherwise the information would not be retained when the card was not powered.

Referring to paragraph [0076], which reads that the table is generated "in segments of the flash memory 21", the appellant argued that the tables for the segments were stored in the respective segments of the flash memory. Thus, the controller would generate the table for a particular segment by loading it from that segment of the flash memory.

2.4 The Board is not persuaded by the appellant's arguments. Nowhere is it written in the application that the table is stored in the flash memory and copied into the controller's internal memory. Instead, the application uses the word "generating" which implies, as the Examining Division pointed out, that the table is created on the fly. It is, moreover, not clear that the expression "in segments of the flash memory" in paragraph [0076] refers to a storage location, because in other paragraphs, it seems to have a different meaning. For example, in paragraph [0073], the table is generated "in segments of the internal memory". Since the internal memory is not subdivided in segments, it appears that "in segments" refers to the structure of the table (it is in segments) rather than to the location of its storage.

2.5 There is a further obstacle to the appellant's interpretation. If the tables were stored in the segments of the flash memory, it is not clear how the memory controller would locate them. If the controller needs the table for segment 2 it must first locate that table within segment 2. It can only do that using the table for segment 2, which is precisely what it does not, at this point, have. The application does not disclose how this dilemma could be solved, or, indeed, hint that it exists.

2.6 The appellant, however, argued that this would not pose a problem to the skilled person. One straightforward possibility would be to store the tables at fixed addresses. Using the predetermined correspondence between the segments and the logical blocks stored in the physical blocks composing the segments ([0048], [0059]), the controller would be able to locate the correct segment, and, thereby the predetermined block or blocks containing the table for that segment.

2.7 In the Board's view, storing the tables in fixed locations of the flash memory is not disclosed anywhere in the application. In fact, it goes against the overall teaching of the application, which is that data should not be written to fixed locations. If the tables were stored in fixed locations of the flash memory, those locations would wear out quickly, because the tables are updated every time data is written to the respective segment.

2.8 The Board considers the disclosure of the invention to be insufficient, because it is neither clear, nor complete. The gaps in the disclosure concern the core of the invention, namely how to generate a smaller table, when needed, in the controller's internal memory. To fill those gaps, the skilled person would have to resolve several contradictory requirements. On the one hand, the table should be made smaller; on the other hand, the information needs to be stored somewhere. And the wear leveling, which is the very reason for having a conversion table, has to be part of the solution. In the Board's view, this is not a routine task for the skilled person. The Board concludes that the application does not meet the requirement of Article 83 EPC 1973.

3. First to third auxiliary requests

3.1 Since all requests involve the generation of a segment table, the auxiliary requests cannot be allowed due to lack of disclosure (Article 83 EPC 1973).

Order

For these reasons it is decided that:

The appeal is dismissed.

Quick Navigation