Abstract:
In a storage system, a system controller is connected to an embedded storage device for supervising writing and reading operations in the embedded storage device. A data manager based upon a microprocessor is integrated in the embedded storage device and provides a high-level abstraction of the physical organization of the embedded storage device through the definition of an own logic map. The data manager is implemented outside the controller. The controller is formed in a first semiconductor material region, the embedded storage device is formed in a second semiconductor material region distinct from the first semiconductor material region, and the data manager is formed in a third semiconductor material region distinct from the first semiconductor material region.

Description:
PRIORITY CLAIM  
       [0001]     This application claims priority from European patent application No. 04425643.6, filed Aug. 30, 2004, which is incorporated herein by reference.  
       TECHNICAL FIELD  
       [0002]     The present invention relates to an embedded storage device with integrated data-management functions and to a storage system incorporating it.  
       BACKGROUND  
       [0003]     As is known, many consumer electronic devices, such as, for example, cellphones, digital photocameras, readers of audio files in MP3 format, etc., are equipped with storage media operating as normal disk drives and storing the data as files.  
         [0004]     As illustrated in  FIG. 1 , a storage system  1  is basically made up of one or more embedded storage devices  3 , one or more removable storage devices  4 , and a controller  2  for controlling the storage system and operating as an interface and interpreter between the user and the various storage devices.  
         [0005]     The fundamental difference between the embedded storage device  3  and the removable storage device  4  is represented by the fact that, whereas the former is basically constituted by a simple array of addressable memory cells, the latter has a more complex architecture and basically comprises an interface  8 , an internal data manager  9 , and a memory  10 . For both of the storage devices, the memory is generally of a writeable and electrically erasable non-volatile type, in the majority of cases of a flash type. This type of memory, in fact, affords short access times, high storage capacity, low power consumption, and a great versatility of use, combined with contained costs.  
         [0006]     The controller  2  is basically made up of a microprocessor  14  which supervises operation of the controller  2 ; an embedded memory interface  16 ; a removable memory interface  17 ; and a data manager  15 , operatively connected to the embedded memory interface  16 . The controller  2  further comprises a data bus  18 , which is connected to the microprocessor  14 , to the data manager  15 , to the embedded memory interface  16 , and to the removable memory interface  17 , and enables transfer of data and control signals.  
         [0007]     The main task of the data manager  15  is to define a logic map of the embedded storage device  3  and to determine its evolution in time, so as to allow the user to perform the desired functions irrespective of the knowledge of the structure and of the physical characteristics of the embedded storage device  3 . In particular, in embedded flash storage devices, the data manager is known by the name of “Flash Translation Layer” (FTL) and supplies a high-level abstraction of the physical organization of the flash storage device, emulating the typical block structure of a disk drive, i.e., causing the flash storage device to appear from the outside as a vector of contiguous memory blocks. The FTL in particular enables rewriting of memory sectors (as occurs, for example, in hard disks), re-addressing the data towards other memory locations and marking as occupied the previously occupied sectors. When necessary, the FTL then frees part of the memory previously marked as invalid to enable writing of new data.  
         [0008]     The storage system  1  illustrated in  FIG. 1  presents some disadvantages.  
         [0009]     In particular, when a plurality of different embedded storage devices  3  is envisaged, the controller  2  must be provided with more specific embedded-memory interfaces  16 , one for each embedded storage device  3 , or else it must be provided with a single interface compatible with the different types of embedded memory  3 . In the first case, the storage system  1  has the disadvantage of involving high production costs, because of the plurality of embedded-memory interfaces  16 , whereas in the second case the single interface cannot be optimized as to performance for all the embedded storage devices  3 , and moreover there always exists the risk that a new embedded storage device  3  will not be compatible with a pre-existing interface.  
         [0010]     Furthermore, the storage system  1  comprises two data managers  9 ,  15 , one in the removable storage device  4  and one in the controller  2 . This can give rise to different levels of reliability of the data on account of the possible different management of the data in the embedded memory  3  as compared to the data management in the removable memory  4 .  
         [0011]     In addition, the presence of different memory interfaces in the controller  2  involves an additional workload for the microprocessor  14  of the controller  2 , which must manage the accesses to the various storage devices in different ways, according to the type of interface, at the expense of the performance of the storage system  1 .  
         [0012]     Finally, in a storage system of the type illustrated in  FIG. 1 , the controller  2  must necessarily be of a dedicated (or application-specific) type, which inevitably involves high costs.  
         [0013]     There is a need to provide an embedded storage device and a storage system that overcomes the limits and problems highlighted with reference to the prior art.  
       SUMMARY  
       [0014]     A storage system for an electronic device includes an embedded storage device, a controller configured for supervising writing and reading operations in the embedded storage device, and a data manager configured for providing a high-level abstraction of the physical organization of the embedded storage device through the definition of an own logic map. The data manager is external to the controller. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0015]     For a better understanding of the present invention, some preferred embodiments are now described, purely by way of non-limiting example, with reference to the attached drawings, wherein:  
         [0016]      FIG. 1  shows a block diagram of a storage system of a known type;  
         [0017]      FIG. 2  shows a block diagram of a storage system according to a first embodiment of the present invention;  
         [0018]      FIG. 3  shows a schematic perspective view of a circuit embodiment of a part of the storage system of  FIG. 2  according to one embodiment of the present invention;  
         [0019]      FIG. 4  shows a block diagram of a detail of the system of  FIG. 2 ;  
         [0020]      FIG. 5  shows a block diagram of a storage system according to a second embodiment of the present invention;  
         [0021]      FIG. 6  shows a block diagram of a storage system according to a third embodiment of the present invention;  
         [0022]      FIG. 7  shows a block diagram of a storage system according to a fourth embodiment of the present invention;  
         [0023]      FIG. 8  shows a block diagram of a storage system according to a fifth embodiment of the present invention; and  
         [0024]      FIG. 9  shows a block diagram of a storage system with modular memory density according to a further embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0025]     The following discussion is presented to enable a person skilled in the art to make and use the invention. Various modifications to the embodiments will be readily apparent to those skilled in the art, and the generic principles herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features disclosed herein.  
         [0026]      FIG. 2  shows a storage system  20 , according to a first embodiment of the present invention, for an electronic device  27 . The storage system  20  comprises a controller  21 , at least one embedded storage device  23 , and at least one removable memory  24 .  
         [0027]     The embedded storage device  23  is connected to the electronic device  27  in a non-removable way. In particular, the embedded storage device  23  and the controller  21  are provided in a same chip  22 , represented schematically in  FIG. 2  by a dashed rectangle. Inside the chip  22 , the embedded storage device  23  and the controller  21  occupy two physically distinct regions. The chip  22  (see also  FIG. 3 ) can be housed in a package  25 , for example of a ball-grid-array (BGA) type, and then soldered to a printed circuit  26 .  
         [0028]     The removable storage device  24 , for example a memory card, is instead removable from the electronic device  27 , and, in a known way, may be housed in a purposely provided slot  28 . The slot  28  has, inside, appropriate electrical contacts designed to interface with corresponding electrical contacts carried by the removable storage device  24 . Conductive tracks  29  provided on the printed circuit  26  connect the removable storage device  24 , when housed in the slot  28 , to the controller  21 .  
         [0029]     The storage system  20  further comprises connections  30 , designed to connect the controller  21  to other parts (not shown) of the electronic device  27 .  
         [0030]     In greater detail, the controller  21  comprises a microprocessor  31 , which supervises operation of the controller  21 , and a single interface  33 , which communicates with the microprocessor  31  through an internal data bus  32 . It should be emphasized that the controller  21  is not equipped with a data-management function, and a single interface  33  operates for the embedded storage device  23  and the removable storage device  24 .  
         [0031]     According to one embodiment of the invention, the embedded storage device  23  and the removable storage device  24  have a similar architecture, and in particular are both provided with an integrated data-management function.  
         [0032]     In detail, the embedded storage device  23  and the removable storage device  24  comprise an interface  35 , a data manager  36 , and a memory  37 , constituted by an addressable array of memory cells, for example of a NAND flash type (in this case the data manager  36  implements the FTL). In particular ( FIG. 4 ), the data manager  36  comprises a microprocessor  38  provided with an integrated memory  39  (either ROM or RAM), which contains a firmware (or integrated software) programmed so as to obtain management of the data stored in the memory  37 .  
         [0033]     The interface  35 , the data manager  36 , and the memory  37  of the embedded storage device  23  are integrated in the chip  22 ; in particular, they are provided within the region of the chip  22  dedicated to the embedded storage device  23 .  
         [0034]     The storage system  20  further comprises an external data bus  40 , which connects the embedded storage device  23  and the removable storage device  24 , in particular the respective interfaces  35 , to the interface  33  of the controller  21 .  
         [0035]     Positioning the data manager  36  within the embedded storage device  23  allows the controller  21  not to depend upon the physical structure of the embedded storage device  23  and removable storage device  24 . In particular, the controller  21  only needs to know the communication protocol used on the external data bus  40 , and it does not have to know the physical structure of the storage devices. Therefore, the interface  33  within the controller  21  is just one, irrespective of the type and number of storage devices to which the controller  21  can be connected. Basically, the external data bus  40  carries only generic input and output signals and control signals so that the controller  21  could be a generic input/output controller instead of a dedicated (or application-specific) controller.  
         [0036]     The external data bus  40  connected to the interface  33  of the controller  21  and to the interfaces  35  of the embedded and removable storage devices  23 ,  24  can use any protocol of a known type, for example an MMC (MultiMediaCard™) interface protocol, or an SPI (Serial Peripheral Interface) interface protocol or a USB (Universal Serial Bus) interface protocol. In particular, any desired number of storage devices, whether embedded or removable, can be connected to the external data bus  40  according to the protocol used.  
         [0037]     According to a second embodiment of the present invention, illustrated in  FIG. 5 , the controller  21  and the embedded storage device  23  are formed in two distinct chips, illustrated by dashed rectangles designated, respectively, with the reference numbers  41  and  42 . The chips  41  and  42  can be both soldered to the PCB  26  and connected by conductive tracks, or can for example be stacked within a same package, for example a BGA package, using the stacked-chip technique.  
         [0038]     In particular, the division of the controller  21  and of the embedded storage device  23  into two distinct chips enables a greater modularity and flexibility of the storage system  20 , since the storage density may be varied more easily. The disadvantage of a solution of this sort may be represented by the higher production costs.  
         [0039]     FIGS.  6  to  8  show, respectively, a third, a fourth and a fifth embodiment of the present invention, which differ simply as regards the implementation of the embedded storage device  23 .  
         [0040]     In detail, in the third embodiment ( FIG. 6 ) the embedded storage device  23  is formed in two distinct chips  44 ,  45 , one of which, for example the chip  44 , integrates the interface  35 , and the other, in the example the chip  45 , integrates both the data manager  36  and the memory  37 . Advantageously, in order to reduce overall dimensions, the two chips  44 ,  45  can be housed in a same package with the stacked-chip technique.  
         [0041]     According to the fourth embodiment ( FIG. 7 ), the embedded storage device  23  is once again made in two distinct chips  47 ,  48 . Unlike the third embodiment, one of the chips, for example the chip  47 , integrates the interface  35  and the data manager  36 , while the other chip, in the example the chip  48 , integrates the memory  37 .  
         [0042]     According to the fifth embodiment ( FIG. 8 ), the embedded storage device  23  is formed in three distinct chips  50 ,  51 ,  52 , which integrate the interface  35 , the data manager  36 , and the memory  37 , respectively.  
         [0043]     According to a further embodiment of the present invention (see  FIG. 9 ), the storage system  20 , implemented according to any of the embodiments described previously, may further comprise a plurality of additional storage devices  60 , connected to the embedded storage device  23  and to the removable storage device  24  to increase their respective storage density, in a modular way.  
         [0044]     In particular, the additional storage devices  60  are formed by a simple storage element (for example, an addressable array of cells of a NAND flash type) and are not provided with advanced data-management functions. The additional storage devices  60  are connected to the data manager  36  of the embedded storage device  23  and of the removable storage device  24  via a respective connection bus  62 . In this case, the embedded storage device  23  and the removable storage device  24  have a master function, because they have an integrated data-management function, while the additional storage devices  60  have a slave function, since they are managed by the data manager  36  of the respective embedded storage device  23  or removable storage device  24 . The additional memories (slaves)  60  that are provided for expanding the removable memory  24  must be in the same box as the removable memory  24 , in a different chip or in a different package.  
         [0045]     Depending on the embodiment of the storage system  20 , the additional storage devices  60  connected to the embedded storage device  23  can be integrated within the chip  22  (as illustrated in  FIG. 9 ), or each additional storage device  60  may be provided in a distinct chip. In the latter case, each additional storage device  60  may have a distinct package and be connected outside the master storage device, or alternatively, the various chips of the additional storage devices  60  can be stacked on the chip of the master storage device inside a same package.  
         [0046]     Thereby, the storage system  20  is extremely modular and any desired number of additional storage devices  60  can be connected to the embedded and removable storage devices  23 ,  24  so as to expand the corresponding storage density as desired.  
         [0047]     The advantages of the described embodiments of the present invention are evident from the above.  
         [0048]     In particular, the described storage system enables a simplification of the controller of the storage system, which does not perform a data management function, thus can be a controller of a general-purpose type, and hence a low-cost one. Moreover, the controller has a single interface for all the different storage devices comprised in the storage system, which are all connected to the same data bus. In particular, in this way there is no need to replace the controller in the case where new types of storage devices are used.  
         [0049]     The storage system is moreover optimized since each storage device, whether embedded or removable, has a data manager and an interface optimized for the specific use of the storage device.  
         [0050]     Finally, the storage system is extremely modular and enables addition of any desired number of additional storage devices to increase the storage density of the system.  
         [0051]     It is clear that modifications and variations may be made to what has been described and illustrated herein, without thereby departing from the scope of the present invention, as defined in the attached claims.  
         [0052]     In particular, it is evident that the storage system is not tied to the use of a particular type of memory (flash memories of a NOR type, or any other type of electrically writeable and erasable non-volatile memory, could for example be used instead of flash memories of a NAND type) or of a particular production technique.  
         [0053]     Storage systems according to the described embodiments of the present invention in  FIGS. 2-9  can be utilized in a variety of different types of electronic systems, such as cellular phones, digital cameras, MP3 and other types of audio and video players, personal digital assistants (PDAs), and so on.