Patent ID: 12254938

DETAILED DESCRIPTION

With reference to those figures, apparatuses and methods involving a non-volatile memory device or component and a host device for such a memory device will be disclosed herein.

According to embodiments of the present disclosure, an independent memory device or component100is realized with a technology specifically dedicated to the manufacturing of flash memory devices. This new memory component100is associated and linked to a SoC structure110partially overlapping such a structure while the corresponding semiconductor area of the SoC structure has been used for other logic circuits and for providing support for the overlapping structurally independent memory portion.

It is herein disclosed a non-volatile memory structure100that can improve the access time. In any case, the System-on-Chip110and the associated memory device are realized on a respective die obtained by a different lithography process.

As shown inFIG.1, according to the present disclosure, the memory component100is structured as a stand-alone device realized in a single die with a technology specifically dedicated to the manufacturing of flash memory devices. The memory component100is an independent structure but it is strictly associated to the host device or to the SoC structure. More particularly, the memory device100is associated and linked to the SoC structure110partially overlapping such a structure while the corresponding semiconductor area of the SoC structure has been used for other logic circuits and for providing support for the partially overlapping structurally independent memory device100for instance through a plurality of pillars130or other similar alternative connections such as ball on grid or with a technology similar to Flip-Chip.

In order to mount the chip to external circuitry (e.g., a circuit board or another chip or wafer), the chip is flipped over so that its top side faces down, and aligned pads-to-pads so that its pads are aligned with matching pads on the external circuit. Then the solder is reflowed to complete the interconnections.

The final configuration will be a face-to-face interconnection SoC/Flash Array with the sense amplifiers will be connected to the SoC in a Direct Memory Access configuration.

At the end, the memory device is manufactured according to the user's needs in a range of values that may vary according to the available technology, for instance from at least 128 Mbit to 512 Mbit or even more without any limitation for the applicant's rights. More specifically, the proposed external architecture allows to overpass the limit of the current eFlash (i.e. embedded flash technology) allowing the integration of bigger memory, as it can be 512 Mbit and/or 1 Gbit and/or more depending on the memory technology and technology node.

In one embodiment of the present disclosure, the memory component100for the SoC structure110includes at least a memory portion and a logic circuit portion for interacting with the memory portion and with the SoC structure110. A logic circuit140is integrated in the SoC structure110to cooperate with the logic circuit portion of the memory component100.

More generally, the memory component100has a minor size if compared with the larger size of the SoC structure110, the term “partially overlapping” meaning that the memory component100covers only partially or not completely the area of the SoC structure110. However, even a memory component100of a larger size may be supported and interconnected with the pads of the SoC structure keeping the position and dislocation of the its interconnection or interconnecting pads.

In one embodiment of the present disclosure, the arrangement of the pads of the memory component100has been realized on a surface of the memory component100. More specifically, the pads are arranged over the array so that, when the memory component100is reversed, its pads are faced to corresponding pads of the SoC structure110. The semiconductor area120that in known System-on-Chip devices was occupied by the embedded non-volatile memory portion is dedicated to the housing of the interconnecting pads corresponding to the pads of the memory component100.

As an alternative, if a face-to-face coupling is adopted, a stack of memory components of the same size could be overlapped realizing a stack structure, wherein each independent component is addressed by the logic circuitry of the SoC structure110though a corresponding identification address.

The semiconductor area120previously occupied in known solution by an embedded memory portion is now used to implement additional functionalities and to prepare the semiconductor device for a Logic Over Pads technology. The expression “Logic Over Pads” means providing logic circuitry overlapping some connection pads located internally to a first or base layer represented by a complete semiconductor product, i.e. the SoC structure110. In the case of expanding the memory in the SoC, the technology will provide pads over memory either in the SoC silicon and in the Flash Array.

The memory component100thus represents an upper layer coupled and interconnected to the base SoC structure110but has a greater capacity and can cover a larger semiconductor area than the semiconductor area120.

Moreover, for a better functioning of the SoC structure110, even the logic circuit portion140ofFIG.1(which in the known SoC device included a Modify Finite State Machine or a RISC controller) has been removed from the SoC and reorganized in association with the memory component100. Therefore, for supporting the write and erase phases performed on the larger memory component100, a Modify Finite State Machine or RISC140has migrated into the memory component100.

The separation and optimization of the logic circuit portion further allows to enhance the functionality of the whole SoC structure110, thus obtaining an independent semiconductor memory component100coupled to the SoC structure110.

This independent semiconductor memory component100therefore includes at least the memory portion (preferably a non-volatile memory portion) and the associated modify finite state machine140, both incorporated into a semiconductor product that is coupled to the SoC structure110. In this case, the logic embedded in the SoC is the read logic: fetch of the data, correction of the data, elaboration and execution.

As will appear in the following of the present disclosure, a DMA capability is provided to the memory component100with an interface logic JTAG TAP using modified JTAG cells as well as a flexible TDI, secure access, address buffers and other features for handling the communication with the SoC structure110.

Now, with more specific reference to the example ofFIG.2, the main structure of the memory component200according to an embodiment of the present disclosure will be disclosed, wherein the reference200ofFIG.2corresponds to the reference100ofFIG.1.

The memory component200includes at least: an I/O circuit205, a micro-sequencer203, an array of memory cells290, voltage and/or current reference generators210, a charge pump architecture202, address decoders208, sense amplifiers209and corresponding latches, a service logic to connect all the parts of the memory, and a command user interface204, for instance a CUI block.

The array of memory cells290includes non-volatile Flash memory cells.

In one embodiment of the present disclosure, the memory component200implements a Direct Memory Access type of memory to replace the embedded memory array of known SoC devices.

Moreover, the proposed idea provides for the implementation of the memory component200in a “Known Good Die” (KGD) form factor or bare die, that allows connecting the sense amplifier outputs, except for a latch structure in the middle, directly with a controller of the SoC structure.

Strategies for obtaining the KGD form factor have been based on taking advantage of the existing infrastructure for test and burn-in of traditionally packaged components. This minimizes the amount of hardware, tooling, or insertions that add cost to the bare die products.

FIG.3shows in more detailed the internal structure of the memory component100or200. In such aFIG.3, the memory device is indicated with the number300corresponding to the reference number200ofFIG.2and the memory array290is indicated with the number320.

A JTAG interface350is adopted for the test of the memory component300, allowing the re-use of the testing tooling. Therefore, the memory component300also comprises a JTAG logic350. This JTAG interface350will be disclosed later in more details with reference toFIG.8.

In more details, the memory array includes at least a JTAG interface350receiving as inputs standard JTAG signals: TMS, TCK, TDI as well as data from a memory page. According to embodiments of the present disclosure, an extended TDI is used as flexible TDI. The flexibility is due to the fact that the number of parallel bits working as TDI are depending from the selected registers, i.e. K (four, in the example) lines for the instruction register, M lines for the address register, N lines for the data register, etc. while TDI comes from the JTAG protocol that uses TDI as name on the signal used to fill the registers.

This JTAG interface350produce as output data, addresses and control signals that are transferred to a memory address decoder340and also to the internal flash controller310to perform modify, testing, verification operations.

The activity of the decoder340is allowed by charge pumps330structured to keep secret the voltages and timings to manage the array. The decoding phase drives the data lines while the charge pumps provide the high voltage routed by the address decoder in the selected data lines.

This decoder340addresses the selected memory block. The address decoder is connected to the array to select the proper data lines, i.e. row and column for each super page. the read, modify and any other operations are using the address decoder to properly address bytes in the memory array.

The interconnections also include the JTAG interface350and control pins for testing and other purposes. The core of the SoC device110can have access to the JTAG interface350by using some internal pads370. Such pads are high speed and have the capability to support the maximum frequency. More specifically, high speed pads370are used in the fast read path versus the SoC110, while a low speed path380is dedicated to the testing phase. The JTAG cells are part of the fast path, but the JTAG interface is using the slower path.

According to the present disclosure, the memory component1is equipped with a controller310of the flash array320(hereinafter referred to as Flash array controller). The flash array controller310has an architecture that allows using some flash array resources with the SoC controller without compromising the secrecy of certain information stored therein (for example, algorithms, flash array voltages, currents, and more in general process information) and guarantees eventual customer return management. This is allowed by the adoption of a special structure wherein the user can write his own firmware in a first area and can interact with the controller internal firmware in a second different area.

Therefore, the memory component100and the host or SoC110have been coupled with an interface using a very high parallelism. This feature can be used also to improve the performance, for instance to load the Instruction Register and the (generic) Data Registers.

The need of having a very low initial latency and high throughput is driving the generation of the following scheme for the addressing per sub-array.

As will be later disclosed in more details, each memory block is connected to corresponding amplifiers and the sense amplifiers of the read interface360are connected to the SoC device110using modified JTAG cells. The communication channel between the flash array blocks and the SoC device110is represented by a control and status bus.

The output of the read interface360is represented by an extended page including the combined string of data cells+address cells+ECC cells that will be disclosed later with reference toFIG.5. The write operation also drives the three components (data cells+address cells+ECC cells) of the extended page; the ECC and the address cells serves as a safety mechanism to ensure the low probability to make mistakes.

The total amount of Bits would involve in the example disclosed herewith N+M+R Bits, for instance one-hundred-sixty-eight pads per channel in the implementation disclosed herewith.

The memory component300uses the interconnection pads and the logic circuit portion to allow the interconnection with the SoC structure110.

The final configuration will be a face-to-face interconnection SoC/Flash Array, wherein the sense amplifiers of the memory component300will be connected to the SoC in a Direct Memory Access configuration. The interconnections also include the JTAG interface and control pins for testing and other purposes.

In this manner it is possible to keep relatively low the number of pads required for the interconnections.

According to the present disclosure, the memory component300is equipped with a controller310of the flash array320(hereinafter referred to as Flash array controller), said flash array controller310having an architecture that allows sharing some flash array resources with the SoC controller without compromising the secrecy of certain information stored therein (for example, algorithms, flash array voltages, currents, and more in general process information) and guarantees eventual customer return management.

The memory array320of the memory component300is built as a collection of subarrays390. The scan chains can be connected to form a unique shift register to proper test the interconnections.

This architecture is that it is very scalable, wherein expanding and/or reducing the density of the final device translates only in mirroring a sub-array and providing the corresponding interconnections in a very scalable manner. The memory can be expanded also increasing the memory size per sub array, without enlarging the number of channels for the SoC.

The Direct Memory Access allows to reduce the final latency that the SoC can experience when reading the data.

Coming now to a closer look to the internal structure of the memory component100or200or300it should be noted that the architecture of the memory array320is built as a collection of sub arrays390.

Each sub array390is independently addressable inside the memory device300. Each sub-array390contains multiple memory blocks460(depicted in more detail inFIG.4).

In this manner, having smaller sectors if compared to known solutions the access time is significantly reduced and the whole throughput of the memory component is improved. The reduction of the initial latency time is at block level because the row and column lines, the read path associated latency and the external communication have been optimized. The initial latency is the time needed to have the first valid data after the issuing of the address.

In the embodiments disclosed herewith the memory array320is structured with a number of sub-arrays390corresponding to the number of cores of the associated SoC110and, therefore to the number of corresponding communication channels. For instance, at least four memory sub arrays390one for each communication channel with a corresponding core of the SoC110are provided.

The host device or the System-on-Chip110normally includes more than one core and each core is coupled to a corresponding bus or channel for receiving and transferring data to the memory component100,200or300. We will make a generic reference to a number of K buses for N data Bits.

Therefore, in the present implementation each sub-array390has access to a corresponding channel to communicate with a corresponding core of the System-on-Chip110. The outcome of the memory blocks is driven directly to the SoC without using high power output buffers and optimizing the path.

This architecture is very scalable, wherein expanding and/or reducing the density of the final device translates only in mirroring a sub-array and generating the connection or increasing the number of blocks of each subarray, that is the available density per core.

In embodiments of the present disclosure each independently addressable location of the blocks of each memory sub array390addresses an extended page450(depicted in more detail inFIG.4) that will be also defined hereinafter with the term super page intending a double extended page.

As non-limiting example, this extended page450comprises a string including a first group of at least N Bits, for instance one-hundred-twenty-eight (128) Bit for the I/O data exchange with the SoC device110plus at least a second group of M Bits, for instance twenty-four (24) address Bit and a final or third group of at least R Bits, for instance sixteen (16) ECC Bit. The M address Bit (in the example the twenty-four address Bits) are sufficient to address up to 2GigaBit of available memory space.

As shown inFIG.4, each block460of each memory sub array390is structured with a row435containing at least 16 double words of N Bits (i.e. 128bits) each, plus the M address Bits and the R ECC syndrome spare Bits per page forming a memory page of N+M+R 168 Bits. This architecture is similar to a DRAM like scheme for preparing multiple addresses at the same time. For instance, each double words including N+M+R Bits may include 168 Bits plus 168 Bits to form the super page previously mentioned.

A skilled in this art may appreciate that a larger or a smaller memory device can be structured with an increased number of memory sub arrays390thus expanding or reducing the density of the final memory device100. A larger memory device is obtained for instance by mirroring a sub array390and providing the corresponding interconnections in a very scalable manner.

The combined string of data cells+address cells+ECC cells forming the extended or super page450, shown schematically inFIG.4, allows implementing the safety coverage of the bus according to the standard requirements of the rule ISO26262, because the ECC covers the whole bus communication (data cells+address cells), while the presence of the address cells provides the confidence that the data is coming exactly from the addressed location of the controller, i.e. if ADD==ADD0.

The R ECC cells allows the host controller to understand if corruption is happening in the data plus address content.

The implementation of this mechanisms ensures the optimization of the read operation of the memory.

According to the present disclosure, the outputs of the sense amplifiers SA prepare a double extended page at a time, i.e. a super-page450comprising a number of Bits given by the double combination of the above-mentioned three groups of data bits, address bits and ECC bits, according to the size of the memory array.

In the specific but non-limiting example disclosed herewith each extended page450includes at least 168 Bit obtained by the combination of the above three groups of N+M+R=128+24+16 data, address and ECC Bit and each super-page is formed by a couple of extended pages, i.e. a group of 168×2 Bits.

Just to give a non-limiting numeric example, each row of a memory block460includes sixteen extended pages. Therefore, the resulting row includes 2688 Bit coming out from the combination of sixteen extended pages independently addressable and each including 168 Bit or, said differently, the combination of eight super-pages.

In embodiments of the present disclosure the output of a generic sub-array390is configured to combine the following sequence: N data cells plus M address cells plus R ECC cells. In this non-limiting example the total amount of Bits would involve168pads per channel, as shown in the exampleFIG.5.

The combined string of data cells+address cells+ECC cells allows implementing the safety coverage of the bus according to the standard requirements, because the ECC covers the whole bus communication (data cells+address cells), while the presence of the address cells provide the confidence that the data is coming exactly from the addressed location of the controller.

The sense amplifiers SA of each sub array390are connected with a scan-chain of modified JTAG cells700, connecting together all the output of one sub-array390, as shown inFIGS.6and7.

The present disclosure relates to a memory device with an improved sensing structure and including:a memory array comprising a plurality of sub-arrays of memory cells and structured in memory blocks;sense amplifiers coupled to the memory cells;modified JTAG cells coupled in parallel to the outputs of the sense amplifiers and serially interconnected in a scan-chain structure thus integrating a JTAG structure and the sense amplifiers.

The scan-chain structures associated to each sub array are interconnected to form a unique chain as a boundary scan register. Moreover, boundary scan register is a testing structure to test interconnections of the sense amplifiers.

FIG.6shows a schematic view of a memory portion wherein the subarray390architecture is structured to serve at least a channel of the SoC structure110to which the memory component100,200or300is associated.

In thisFIG.7it is shown an example wherein the modified JTAG cells700associated to a sub array390can be interconnected to form a unique scan-chain1000for quickly checking the integrity of the pad interconnections.

Thanks to the memory architecture of the present disclosure it is possible to pass from a parallel mode for retrieving data and addresses from the memory sub arrays390to a serial mode for checking the interconnections between the memory component100and the associated SoC device110. Moreover, the SoC110is entitled to read once ‘1’ and once ‘0’ to perform tests and can also analyze the memory outcome, scanning out the data using the scan-chain.

It should be further noted that each subarray390includes address registers connected to data buffer registers, similarly to an architecture used in a DRAM memory device, i.e. DDRX type in 3DXP or as LPDDRx.

In the following paragraphs of the present disclosure it will be apparent that the outputs of the sense amplifiers SA per sub array390are latched by an internal circuit, so to allow to the sense amplifiers to execute a further internal read operation to prepare the second nibble or group of 168 Bits. This second nibble is transferred to the output of the flash array320, using an additional enabling signal (i.e. an internal clock signal or an ADV signal; ADV=Address Data Valid. in our case the signal is load_data[1:0], depending on the addressed flip flop) that transfers the content read at sense amplifier level to the host device or SoC device110.

In other words, the internal sense amplifiers prepare two extended pages450and while the first page is ready to be shifted (or also shifted out), internally it is performed a reading phase of the second page associated with the same address. This allows to prepare from five to eight double word (in the present example), that are typical in the RTOS application. In any case, the disclosed structure can be expanded to allow multi-page read while shifting out the already read page.

The sense amplifiers SA are connected directly to a modified JTAG cells700, that will be later disclosed in greater details, so to integrate a JTAG structure and the sense amplifiers in a single circuit portion. This allows reducing as much as possible the delay in propagating the output of the memory array to the SoC110.

Just to report a numeric example based on the embodiment disclosed herewith, we may remark that each address in the address buffers is linked to a data buffer, containing for instance N data Bits (i.e. 128 Bits). However, the SoC can need up to 2*N Bits (i.e. 256 Bits, without the address Bits and the ECC) at a time, so the data buffers will be duplicated so to be able to shift, assuming to use the address 0 of the sub array 0:First pass of the first group of N Bits: Data 0_0_H [127:0]+ADD+ECCSecond pass of the second group of N Bits: Data 0_0_L [127:0]+ADD+ECC

The above indications are for a are standard read used for instance for safety purpose and data integrity/correction.

In one embodiment the address buffers are realized making use of modified JTAG cells620as we will see hereinafter.

In one embodiment of the present disclosure each sub array390is independently addressable inside the memory device100.

The JTAG Cell620is connected in the following manner shown inFIGS.6and7:PIN: output of a sense amplifierPOUT: to the SoC correspondent Data I/OSIN: is the serial IN input connected to the SOUT of the previous sense amplifierSOUT: is the serial output connected to the SIN of the next sense amplifiers

A scan chain600made by the interconnected JTAG cells620, using the serial input and output, has some advantages:be able to test the successful interconnection between the SoC and the Direct Memory Access (DMA) Memory;be able to implement digital test of the sense amplifiers, because the cell620can work as program load to store the data inside the array;be able to work as second level of latches.

We will see later in the present disclosure that when the first group of data Bits (an extended page) are ready to be transferred to the parallel output POUT of the sense amplifier, there is an internal latch coupled to the sense amplifier that can trigger the read data of the subsequent section (a second extended page) of the remaining data Bits.

Still making reference to the examples of theFIGS.6and7we may consider the interconnections of each JTAG Cell620: PIN is coupled to the output of a sense amplifier; POUT is coupled to the corresponding Data I/O of the host device110(i.e. the System-on-Chip); SIN is the serial IN input connected to the SOUT of the previous sense amplifier while SOUT is the serial output connected to the SIN of the next sense amplifier.

For instance, the schematic example ofFIG.7shows a schematic and generic memory cell MC which is located at the intersection of a row of memory cells and a column of memory cells in a matrix of cells of a generic sub-array, so that the cell can be addressed accordingly. The real implementation can contain additional circuits from the cell to the output of the SA but they are not shown not being relevant for the purpose of the present disclosure.

A sense amplifier SA is coupled to the column of memory cells as part of the read circuitry that is used when a data is read from the memory array. Generally speaking a memory word including the above-mentioned extended page450is read at a time and in the present example we will make reference to a memory page including data+address+ECC Bits.

As is well known, the role of the sense amplifier SA is that of sensing the low power signals from the array row. The low voltage values representing the logic data Bit (1 or 0, depending on conventions) stored in the memory cell MC are amplified to a recognizable logic level so the data can be properly interpreted by logic circuit portions outside the memory.

In the example disclosed herewith the output of each sense amplifier SA is coupled to the modified JTAG cell620so to integrate a JTAG structure and the sense amplifier.

In the non-limiting example disclosed herewith an output amplifier OA is interposed between the sense amplifier SA and the JTAG cell700.

Thanks to the memory architecture of the present disclosure it is possible to pass from a parallel mode for retrieving data and addresses from the memory sub arrays390to a serial mode for checking the interconnections between the memory component210and the associated host device. Moreover, the SoC is entitled read once ‘1’ and once ‘0’ to perform tests and can also analyze the memory outcome, scanning out the data using the scan-chain

The transition from the parallel to the serial mode is managed by the JTAG interface350. However, the implementation of these dual mode operations is allowed by the specific structure of a modified JTAG cell620disclosed hereinafter.

FIG.8shows a schematic view of the memory device300ofFIG.3but illustrating in more details aspects of the data exchange. In more details, a JTAG interface800corresponding to the interface350ofFIG.3is indicated as receiving inputs standard JTAG signals: TMS, TCK, TDI as well as data from a memory page of N Bits received on K buses. These data and the TDI signal may be considered a flexible TDI. The flexibility is due to the fact that the number of parallel bits working as TDI are depending from the selected registers, i.e. four lines for the instruction register, eight lines for the address register, 128 lines for the data register, etc. while TDI comes from the JTAG protocol that uses TDI as name on the signal used to fill the registers.

This control and JTAG interface800produces as output data, addresses and control signals that are transferred to a memory address decoder820and also to the internal flash controller to perform modify operations.

The activity of the decoder is allowed by charge pumps840structured to keep secret the voltages and timings to manage the array.

This decoder820is coupled to a read interface860that is in communication with the host or SoC device110through a control and status bus.

The output of the read interface860is represented by the extended page including the combined string of data cells+address cells+ECC cells.

The total amount of Bits would involve in the example disclosed herewith one-hundred-sixty-eight pads per channel in the implementation disclosed herewith.

Making now more specific refence to the schematic example ofFIG.9it is shown a JTAG cell900modified according to the present disclosure and corresponding to the modified JTAG cell620previously disclosed with reference toFIGS.6and7.

The JTAG cell900has a first parallel input PIN terminal and a first serial input SIN terminal receiving corresponding signals Pin and Sin. Moreover, the JTAG cell900has a first parallel output terminal POUT and a first serial output terminal SOUT. The scan-chain600allows outputting the whole 168 Bits×2, because the first group is read directly from the output while the second group is prepared in the back.

As shown inFIG.10the JTAG cell900may be considered a box with two input terminals PIN and SIN and two output terminals POUT and SOUT. The input terminal PIN is a parallel input while the input terminal SIN is a serial input. Similarly, the output terminal POUT is a parallel output while the output terminal SOUT is a serial output.

Thanks to the serial input and output a testing process may be performed to check that no fault connection is present between the memory component100and the associated System-on-chip110. Thanks to the parallel input and output the same JTAG cell is used as data buffer for the completing the reading phase through the sense amplifiers SA.

The JTAG cell900comprises a boundary scan basic cell980including a couple of latches901and902and a couple of multiplexer951and952. A first input multiplexer951and a second output multiplexer952.

The boundary scan basic cell980is indicated by the dotted line box in Figure and is a two inputs cell, with a serial input corresponding to SIN and parallel input corresponding to PIN, and two outputs cell with a serial output corresponding to SOUT and a parallel output corresponding to POUT.

The first multiplexer951receives on a first input “0” a parallel input signal Pin from the first parallel input terminal PIN and on a second input “1” a serial input signal Sin from the first serial input terminal SIN.

This first multiplexer951is driven by a control signal ShiftIR (referred to the instruction register signal) and has an output MO1. The cell900has two parallel outputs, i.e. MO1and MO2. When the JTAG clock arrives, the serial output is driven out from the SOUT. SOUT is connected to the JTAG latch close to the multiplexer that receives a selector signal: Mode Controller (serial/parallel). Basically, the output of the latch connected to the input ‘1’ of this multiplexer MO2is also the SOUT.

The first multiplexer output MO1is connected to a first input of the first latch901that receives on a second input terminal a clock signal ClockDR.

The first latch901is connected in chain to the second latch902with a first output of the first latch901connected to a first input of the second latch902.

It is important to note that the output of the first latch901is also the serial output SOUT of the whole JTAG cell900.

A second input terminal of the second latch902received a signal UpdateDR.

The second latch902has an output connected to an input of the second multiplexer952, in particular to its second input.

This second multiplexer952is controlled by a Mode Control signal that allows to switch the whole JTAG cell900from a serial to a parallel mode and viceversa.

In one embodiment of the present disclosure the JTAG cell900further includes another couple of latches921and922provided between the parallel input Pin and the second multiplexer952. These extra latches921and922are the latching of the direct read, i.e. first group of data Bits, and the shadow one, i.e. second group of 128 data Bits (without considering the address Bits and the ECC, i.e. in total 168 Bits). In other words, the JTAG cell900includes the boundary scan cell980and at least the further latches921and922.

We will refer hereinafter to these further latches as a third latch921and a fourth latch922. In other embodiments a longer chain of latches may be used.

More particularly, the third latch921and the fourth latch922are connected in a small pipeline configuration with the third latch921receiving on a first input the parallel input signal Pin from the first parallel input terminal PIN and receiving on a second input a signal Data_Load[0] corresponding to the AVD signal previously mentioned and to a first data load.

The fourth latch922receives on a first input the output of the third latch921and receives on a second input a signal Data_Load[1] (always the AVD signal) corresponding to a subsequent data load.

The output of the fourth latch922is connected to the first input “0” of the second multiplexer952that produces on its output terminal MO2the output signal for the parallel output terminal POUT.

If compared to a conventional JTAG cell the JTAG cell900of the present disclosure may be considered a modified JTAG cell because of the presence of the two extra latches, the third and fourth latches921and922, beside the presence of the boundary scan cell980.

Now, we have to imagine that a JTAG cell900is coupled to the output of each sense amplifier SA of the memory sub-array390. As usual, the memory array provides for a sense amplifier for each column of memory cells, as shown inFIG.7.

In the embodiment of the present disclosure all the JTAG cells900coupled to the sense amplifiers of a memory sub-array are to be considered a data buffer including a data page, including in this example at least one-hundred-and-twenty-eight (128) Bits (always without the address Bits and the ECC Bits) for the reading of a combined memory page at a time from the four sub arrays390.

However, as previously reported, the communication channel between the memory component and the SoC structure may need up to 256 Bits at a time (i.e. two combined extended memory pages=a super page) but in the present disclosure other 2×16 plus 2×24 further Bits are needed. The JTAG cell900has been modified just to duplicate the internal latches to be able to shift the first or higher portion of the 168 Bits of the data to be read with the second or lower portion of the data to be read. Obviously, in this contest “higher” means the data portion that is loaded before while “lower” means the data portion that is loaded after.

A skilled in this art will understand that the number of internal latches of the modified JTAG cell900can be augmented in case of need to improve the number of Bits to be transferred to the SoC structure through the communication channel. For example, the above structure may be expanded accordingly to the size of the page required by the particular implementation of the memory controller.

Just to explain the manner in which data are transferred in the data buffer we have to imagine that when a data is loaded in the one of the two latches921or922, the other latch is in a stand-by state but ready to receive the subsequent data portion.

Therefore, the first section including 168 Bit (including the address Bits and the ECC Bits) is transferred to the SoC structure for a first data elaboration while the reading phase is not stopped since the other portion of 168 Bits are prepared to be loaded into the latches at the subsequent clock signal.

In this example, each data buffers contains 168 modified JTAG cells900and the common Data_Load[1:0] are signals generated to allow to capture the whole 168 Bits×2, that is to say: eight double words DWs according to the proposed implementation (four sub arrays for each double word).

The signal generation is internally controlled when the read operation is performed in a specific data buffer and the signals are controlled by the SoC structure to allow performing read phase using a 168 Bits parallelism.

The main benefit of this memory architecture is that each buffer can contain the whole double words DWs thus leaving free the sense amplifier to read in another memory location.

The presence of the modified JTAG cell900is particular important as output of the sense amplifiers since allows:a. Using the boundary scan as method to check the interconnection between the SoC110and the Flash Array component100,200or300;b. Implement the Direct Memory Access connecting directly the sense amplifier with the controller;c. It allows to leave the sense amplifier to prepare the second 128 Bit wide page plus the address plus the ECC and written close to the page.

According to some embodiments, it is possible to adopt a boundary-scan test architecture including modified JTAG cells900thus obtaining a new and peculiar boundary-scan test architecture like the one shown in the schematic view ofFIG.10. Therefore, for this test only one output driven is needed and this is obtained using the signal TCK and the data stored in the cells. The scan chain test requires the SoC110to test the output of the scan chain.

As it is known in this specific technical field, boundary scan is a family of test methodologies aiming at resolving many test problems: from chip level to system level, from logic cores to interconnects between cores, and from digital circuits to analog or mixed-mode circuits.

The boundary-scan test architecture1000provides a means to test interconnections between the integrated circuits100and110on a board without using physical test probes. It adds a boundary-scan cell900, like the one shown inFIG.10, including a multiplexer and latches and associated to each pin or pad on the device.

In other words, each primary input signal and primary output signal of a complex semiconductor device like the memory component100or the host device110is supplemented with a multi-purpose memory element called a boundary-scan cell that, altogether, form a serial shift register1050around the boundary of the device.

Originally, those boundary-scan cells have been introduced as a means of applying tests to individual semiconductor devices. The use of boundary-scan cells to test the presence, orientation, and bonding of devices in place on a circuit board was the original motivation for inclusion in a semiconductor device.

According to the present disclosure the boundary-scan cells900are also used to test the interconnections between integrated circuits that work together such as the System-on-Chip110with the associated memory component100,200or300, as is the case of the present disclosure.

The collection of boundary-scan cells is configured into a parallel-in or parallel-out shift register and the boundary-scan path is independent of the function of the hosting device. The required digital logic is contained inside the boundary-scan register. Obviously, an external JTAG FSM interacts with the cells, i.e. shiftDR, shiftIR, UpdateDR, etc. are driven by the JTAG logic350.

To summarize very briefly the functioning of a boundary-scan cell it may be said that each cell900is structured for capturing data on its parallel input PI; updating data onto its parallel output PO; serially scanning data from its serial output SO to its neighbor's serial input SI. Moreover, each cell behaves transparently, in the sense that PI passes to PO.

FIG.10shows a schematic view of a standard structure architecture using boundary-scan cells configured according to the IEEE standard No. 1149.1. However, according to the present disclosure, the boundary-scan cells used in the architecture1000are the modified JTAG cells900previously disclosed with reference toFIG.9.

A JTAG interface is a special interface added to a chip. According to present embodiments, two, four, or five pins are added allowing to expand the JTAG according to the need of the present implementation.

The connector pins are: TDI (Test Data In); TDO (Test Data Out); TCK (Test Clock); TMS (Test Mode Select) and an optional TRST (Test Reset).

The TRST pin is an optional active-low reset to the test logic, usually asynchronous, but sometimes synchronous, depending on the chip. If the pin is not available, the test logic can be reset by switching to the reset state synchronously, using TCK and TMS. Note that resetting test logic doesn't necessarily imply resetting anything else. There are generally some processor-specific JTAG operations which can reset all or part of the chip being debugged.

Since only one data line is available, the protocol is serial. The clock input is at the TCK pin. One bit of data is transferred in from TDI, and out to TDO at each TCK rising clock edge. Different instructions can be loaded. Instructions for typical ICs might read the chip ID, sample input pins, drive (or float) output pins, manipulate chip functions, or bypass (pipe TDI to TDO to logically shorten chains of multiple chips).

As with any clocked signal, data presented to TDI must be valid for some chip-specific Setup time before and Hold time after the relevant (here, rising) clock edge. TDO data is valid for some chip-specific time after the falling edge of TCK.

FIG.8shows a set of four dedicated test pins—Test Data In (TDI), Test Mode Select (TMS), Test Clock (TCK), Test Data Out (TDO)—and one optional test pin Test Reset (TRST).

These pins are collectively referred as a Test Access Port (TAP). However, the architecture1000includes a finite-state machine, named TAP controller1070, with receives as inputs three signals: TCK, TMS, and TRST. The TAP controller1070is a 16-state final state machine FSM that controls each step of the operations of boundary scan architecture1000. Each instruction to be carried out by the boundary scan architecture1000is stored in the Instruction Register1020.

FIG.10shows a plurality of boundary-scan cells900on the device primary input and primary output pins. The cells900are connected internally to form a serial boundary-scan register1050. In other words, the modified JTAG cells900are used as building blocks of the boundary scan architecture1000.

Data can also be shifted around the boundary-scan shift register1050in serial mode, starting from a dedicated device input pin called “Test Data In” (TDI) and terminating at a dedicated device output pin called “Test Data Out” (TDO) at the output of a multiplexer1060.

The test clock, TCK, is TCK is selectively sent to each register depending on the TAP state and to the register selection; the fed of the TCK signal is performed via a dedicated device input pin and the mode of operation is controlled by a dedicated “Test Mode Select” (TMS) serial control signal.

The Instruction Register (IR)1020includes n-bit (with n≥2) and is implemented for holding each current instruction but can be expanded to handle the flexible TDI.

In line with the IEEE 1149 standard the architecture is completed by a 1-bit bypass register1040(Bypass); an optional 32-bit Identification Register1030(Ident), capable of being loaded with a permanent device identification code.

At any time, only one register can be connected from TDI to TDO (e.g., IR, Bypass, Boundary-scan, Ident, or even some appropriate register internal to the core logic). The selected register is identified by the decoded output of the IR. Certain instructions are mandatory, such as Extest (boundary-scan register selected), whereas others are optional, such as the Idcode instruction (Ident register selected).

A parallel load operation is called a “capture” operation and the data are captured in the selected register cells by the instruction. The capture causes signal values on device input pins to be loaded into input cells and signal values passing from the core logic to device output pins to be loaded into output cells.

A parallel unload operation is called an “update” operation to freeze the register content. Basically, it latches the content in the executable shadow register, inside the BS cell. This update allows to make available the shift register for future data/instruction coming in. Moreover, a PAUSE instruction permits to hold the data in the register even if it is not completed.

Depending on the nature of the input scan cells, signal values already present in the input scan cells will be passed into the core logic.

Now, in one embodiment of the present disclosure the boundary-scan architecture1000is completed with a further or more than one additional register1080that is specifically provided to manage the memory component100. This additional register1080is also definable by the user. This expansion is allowed by the IEEE 1532 standard.

The composition of the registers incorporated into the boundary-scan architecture1000of the present disclosure is omitted to limit the present disclosure with undue information.

As previously disclosed, and to summarize the principle of the present disclosure, in some embodiments of the present disclosure the output of a generic sub-array390is formed combining the following sequence: data cells plus address cells plus ECC cells. In this non-limiting example the total amount of Bits would involve168pads per channel, as shown for instance inFIG.5.

The combined string of data cells+address cells+ECC cells allows implementing the safety coverage of the bus according to the standard requirements, because the ECC covers the whole bus communication (data cells+address cells), while the presence of the address cells provide the confidence that the data is coming exactly from the addressed location of the controller.

The sense amplifiers SA of each sub array390are connected with the scan-chain of the modified JTAG cells900, connecting together all the output of one sub-array390. Moreover, the modified JTAG cells900associated to a sub array390can be interconnected to form a unique chain for quickly checking the integrity of the pads interconnections.

Thanks to the memory architecture of the present disclosure it is possible to pass from a parallel mode for retrieving data and addresses from the memory sub arrays390to a serial mode for checking the interconnections between the memory component1and the associated SoC device110. Moreover, the SoC is entitled to read once ‘1’ and once ‘0’ to perform tests and can also analyze the memory outcome, scanning out the data using the scan-chain.

The error correction is left, as operation, to the SoC110; the additional bits are provided to the controller to store any possible ECC syndrome associated with the page. The ECC cells allows the SoC controller to understand if corruption is happening in the data plus address content.

To write and erase the memory cells of the Array320it is provided a dedicated logic circuit portion including a simplified Reduced Instruction Set Computer (RISC) controller or a Modify Finite State Machine or that is the logic circuit for handling the programming and erasing algorithms.

Moreover, a JTAG interface350is adopted as regular user interface to modify the array and provide the read addresses to the memory blocks. The JTAG interface350is used also for the test of the memory component100, allowing the re-use of the testing tooling. Therefore, the memory component100(or200or300) also comprises a JTAG logic.

The Direct Memory Access allows to reduce the final latency that the SoC can experience when reading the data. Moreover, the final latency is also reduced by the block form factor, the sense amplifiers distribution between blocks, the selection of the comparison threshold in the sense amplifiers and the optimized path.

Although specific examples have been illustrated and described herein, those of ordinary skill in the art will appreciate that an arrangement calculated to achieve the same results can be substituted for the specific embodiments shown. This disclosure is intended to cover adaptations or variations of one or more embodiments of the present disclosure. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. The scope of one or more examples of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.